tempest.games 0.0.13 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,35 +1,63 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var Il=Object.create;var{getPrototypeOf:El,defineProperty:ea,getOwnPropertyNames:Vl}=Object;var Ul=Object.prototype.hasOwnProperty;var Yl=(n,i,o)=>{o=n!=null?Il(El(n)):{};const e=i||!n||!n.__esModule?ea(o,"default",{value:n,enumerable:!0}):o;for(let a of Vl(n))if(!Ul.call(e,a))ea(e,a,{get:()=>n[a],enumerable:!0});return e};var h=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var Ha=h((UF,te)=>{function _l(n){var i=n.split(",");for(var o=0,e=0;o<i.length;o++){var a=ql(i[o].trim(),o);if(a)i[e++]=a}return i.length=e,i}function ql(n,i){var o=Pl.exec(n);if(!o)return null;var e=o[1],a=1;if(o[2]){var t=o[2].split(";");for(var s=0;s<t.length;s++){var c=t[s].trim().split("=");if(c[0]==="q"){a=parseFloat(c[1]);break}}}return{charset:e,q:a,i}}function nr(n,i,o){var e={o:-1,q:0,s:0};for(var a=0;a<i.length;a++){var t=ir(n,i[a],o);if(t&&(e.s-t.s||e.q-t.q||e.o-t.o)<0)e=t}return e}function ir(n,i,o){var e=0;if(i.charset.toLowerCase()===n.toLowerCase())e|=1;else if(i.charset!=="*")return null;return{i:o,o:i.i,q:i.q,s:e}}function Qa(n,i){var o=_l(n===void 0?"*":n||"");if(!i)return o.filter(Za).sort(Ga).map(or);var e=i.map(function a(t,s){return nr(t,o,s)});return e.filter(Za).sort(Ga).map(function a(t){return i[e.indexOf(t)]})}function Ga(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function or(n){return n.charset}function Za(n){return n.q>0}te.exports=Qa;te.exports.preferredCharsets=Qa;var Pl=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var _a=h((YF,se)=>{function ar(n){var i=n.split(","),o=!1,e=1;for(var a=0,t=0;a<i.length;a++){var s=tr(i[a].trim(),a);if(s)i[t++]=s,o=o||La("identity",s),e=Math.min(e,s.q||1)}if(!o)i[t++]={encoding:"identity",q:e,i:a};return i.length=t,i}function tr(n,i){var o=er.exec(n);if(!o)return null;var e=o[1],a=1;if(o[2]){var t=o[2].split(";");for(var s=0;s<t.length;s++){var c=t[s].trim().split("=");if(c[0]==="q"){a=parseFloat(c[1]);break}}}return{encoding:e,q:a,i}}function sr(n,i,o){var e={o:-1,q:0,s:0};for(var a=0;a<i.length;a++){var t=La(n,i[a],o);if(t&&(e.s-t.s||e.q-t.q||e.o-t.o)<0)e=t}return e}function La(n,i,o){var e=0;if(i.encoding.toLowerCase()===n.toLowerCase())e|=1;else if(i.encoding!=="*")return null;return{i:o,o:i.i,q:i.q,s:e}}function Pa(n,i){var o=ar(n||"");if(!i)return o.filter(Da).sort(Na).map(cr);var e=i.map(function a(t,s){return sr(t,o,s)});return e.filter(Da).sort(Na).map(function a(t){return i[e.indexOf(t)]})}function Na(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function cr(n){return n.encoding}function Da(n){return n.q>0}se.exports=Pa;se.exports.preferredEncodings=Pa;var er=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var et=h((BF,ce)=>{function rr(n){var i=n.split(",");for(var o=0,e=0;o<i.length;o++){var a=it(i[o].trim(),o);if(a)i[e++]=a}return i.length=e,i}function it(n,i){var o=lr.exec(n);if(!o)return null;var e=o[1],a=o[2],t=e;if(a)t+="-"+a;var s=1;if(o[3]){var c=o[3].split(";");for(var l=0;l<c.length;l++){var r=c[l].split("=");if(r[0]==="q")s=parseFloat(r[1])}}return{prefix:e,suffix:a,q:s,i,full:t}}function pr(n,i,o){var e={o:-1,q:0,s:0};for(var a=0;a<i.length;a++){var t=mr(n,i[a],o);if(t&&(e.s-t.s||e.q-t.q||e.o-t.o)<0)e=t}return e}function mr(n,i,o){var e=it(n);if(!e)return null;var a=0;if(i.full.toLowerCase()===e.full.toLowerCase())a|=4;else if(i.prefix.toLowerCase()===e.full.toLowerCase())a|=2;else if(i.full.toLowerCase()===e.prefix.toLowerCase())a|=1;else if(i.full!=="*")return null;return{i:o,o:i.i,q:i.q,s:a}}function ot(n,i){var o=rr(n===void 0?"*":n||"");if(!i)return o.filter(nt).sort(qa).map(ur);var e=i.map(function a(t,s){return pr(t,o,s)});return e.filter(nt).sort(qa).map(function a(t){return i[e.indexOf(t)]})}function qa(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function ur(n){return n.full}function nt(n){return n.q>0}ce.exports=ot;ce.exports.preferredLanguages=ot;var lr=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/});var rt=h((XF,le)=>{function dr(n){var i=Tr(n);for(var o=0,e=0;o<i.length;o++){var a=st(i[o].trim(),o);if(a)i[e++]=a}return i.length=e,i}function st(n,i){var o=xr.exec(n);if(!o)return null;var e=Object.create(null),a=1,t=o[2],s=o[1];if(o[3]){var c=Sr(o[3]).map(br);for(var l=0;l<c.length;l++){var r=c[l],p=r[0].toLowerCase(),m=r[1],T=m&&m[0]==='"'&&m[m.length-1]==='"'?m.substr(1,m.length-2):m;if(p==="q"){a=parseFloat(T);break}e[p]=T}}return{type:s,subtype:t,params:e,q:a,i}}function fr(n,i,o){var e={o:-1,q:0,s:0};for(var a=0;a<i.length;a++){var t=yr(n,i[a],o);if(t&&(e.s-t.s||e.q-t.q||e.o-t.o)<0)e=t}return e}function yr(n,i,o){var e=st(n),a=0;if(!e)return null;if(i.type.toLowerCase()==e.type.toLowerCase())a|=4;else if(i.type!="*")return null;if(i.subtype.toLowerCase()==e.subtype.toLowerCase())a|=2;else if(i.subtype!="*")return null;var t=Object.keys(i.params);if(t.length>0)if(t.every(function(s){return i.params[s]=="*"||(i.params[s]||"").toLowerCase()==(e.params[s]||"").toLowerCase()}))a|=1;else return null;return{i:o,o:i.i,q:i.q,s:a}}function ct(n,i){var o=dr(n===void 0?"*/*":n||"");if(!i)return o.filter(tt).sort(at).map(vr);var e=i.map(function a(t,s){return fr(t,o,s)});return e.filter(tt).sort(at).map(function a(t){return i[e.indexOf(t)]})}function at(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function vr(n){return n.type+"/"+n.subtype}function tt(n){return n.q>0}function lt(n){var i=0,o=0;while((o=n.indexOf('"',o))!==-1)i++,o++;return i}function br(n){var i=n.indexOf("="),o,e;if(i===-1)o=n;else o=n.substr(0,i),e=n.substr(i+1);return[o,e]}function Tr(n){var i=n.split(",");for(var o=1,e=0;o<i.length;o++)if(lt(i[e])%2==0)i[++e]=i[o];else i[e]+=","+i[o];return i.length=e+1,i}function Sr(n){var i=n.split(";");for(var o=1,e=0;o<i.length;o++)if(lt(i[e])%2==0)i[++e]=i[o];else i[e]+=";"+i[o];i.length=e+1;for(var o=0;o<i.length;o++)i[o]=i[o].trim();return i}le.exports=ct;le.exports.preferredMediaTypes=ct;var xr=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/});var pt=h((GF,re)=>{function Y(n){if(!(this instanceof Y))return new Y(n);this.request=n}/*!
3
+ var H4=Object.create;var{getPrototypeOf:E4,defineProperty:vv,getOwnPropertyNames:Q4}=Object;var U4=Object.prototype.hasOwnProperty;var wv=(n,i,o)=>{o=n!=null?H4(E4(n)):{};const c=i||!n||!n.__esModule?vv(o,"default",{value:n,enumerable:!0}):o;for(let p of Q4(n))if(!U4.call(c,p))vv(c,p,{get:()=>n[p],enumerable:!0});return c};var I=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var tS=I((Bj,Cl)=>{function q4(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=P4(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function P4(n,i){var o=Z4.exec(n);if(!o)return null;var c=o[1],p=1;if(o[2]){var a=o[2].split(";");for(var x=0;x<a.length;x++){var m=a[x].trim().split("=");if(m[0]==="q"){p=parseFloat(m[1]);break}}}return{charset:c,q:p,i}}function e4(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=g4(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function g4(n,i,o){var c=0;if(i.charset.toLowerCase()===n.toLowerCase())c|=1;else if(i.charset!=="*")return null;return{i:o,o:i.i,q:i.q,s:c}}function IS(n,i){var o=q4(n===void 0?"*":n||"");if(!i)return o.filter(DS).sort(hS).map(d4);var c=i.map(function p(a,x){return e4(a,o,x)});return c.filter(DS).sort(hS).map(function p(a){return i[c.indexOf(a)]})}function hS(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function d4(n){return n.charset}function DS(n){return n.q>0}Cl.exports=IS;Cl.exports.preferredCharsets=IS;var Z4=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var qS=I((yj,kl)=>{function i8(n){var i=n.split(","),o=!1,c=1;for(var p=0,a=0;p<i.length;p++){var x=o8(i[p].trim(),p);if(x)i[a++]=x,o=o||rS("identity",x),c=Math.min(c,x.q||1)}if(!o)i[a++]={encoding:"identity",q:c,i:p};return i.length=a,i}function o8(n,i){var o=n8.exec(n);if(!o)return null;var c=o[1],p=1;if(o[2]){var a=o[2].split(";");for(var x=0;x<a.length;x++){var m=a[x].trim().split("=");if(m[0]==="q"){p=parseFloat(m[1]);break}}}return{encoding:c,q:p,i}}function c8(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=rS(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function rS(n,i,o){var c=0;if(i.encoding.toLowerCase()===n.toLowerCase())c|=1;else if(i.encoding!=="*")return null;return{i:o,o:i.i,q:i.q,s:c}}function ZS(n,i){var o=i8(n||"");if(!i)return o.filter(kS).sort(CS).map(p8);var c=i.map(function p(a,x){return c8(a,o,x)});return c.filter(kS).sort(CS).map(function p(a){return i[c.indexOf(a)]})}function CS(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function p8(n){return n.encoding}function kS(n){return n.q>0}kl.exports=ZS;kl.exports.preferredEncodings=ZS;var n8=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var n1=I((hj,rl)=>{function x8(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=gS(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function gS(n,i){var o=a8.exec(n);if(!o)return null;var c=o[1],p=o[2],a=c;if(p)a+="-"+p;var x=1;if(o[3]){var m=o[3].split(";");for(var l=0;l<m.length;l++){var f=m[l].split("=");if(f[0]==="q")x=parseFloat(f[1])}}return{prefix:c,suffix:p,q:x,i,full:a}}function m8(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=l8(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function l8(n,i,o){var c=gS(n);if(!c)return null;var p=0;if(i.full.toLowerCase()===c.full.toLowerCase())p|=4;else if(i.prefix.toLowerCase()===c.full.toLowerCase())p|=2;else if(i.full.toLowerCase()===c.prefix.toLowerCase())p|=1;else if(i.full!=="*")return null;return{i:o,o:i.i,q:i.q,s:p}}function dS(n,i){var o=x8(n===void 0?"*":n||"");if(!i)return o.filter(eS).sort(PS).map(f8);var c=i.map(function p(a,x){return m8(a,o,x)});return c.filter(eS).sort(PS).map(function p(a){return i[c.indexOf(a)]})}function PS(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function f8(n){return n.full}function eS(n){return n.q>0}rl.exports=dS;rl.exports.preferredLanguages=dS;var a8=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/});var x1=I((Dj,Zl)=>{function v8(n){var i=F8(n);for(var o=0,c=0;o<i.length;o++){var p=c1(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function c1(n,i){var o=$8.exec(n);if(!o)return null;var c=Object.create(null),p=1,a=o[2],x=o[1];if(o[3]){var m=T8(o[3]).map(A8);for(var l=0;l<m.length;l++){var f=m[l],$=f[0].toLowerCase(),v=f[1],S=v&&v[0]==='"'&&v[v.length-1]==='"'?v.substr(1,v.length-2):v;if($==="q"){p=parseFloat(S);break}c[$]=S}}return{type:x,subtype:a,params:c,q:p,i}}function w8(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=S8(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function S8(n,i,o){var c=c1(n),p=0;if(!c)return null;if(i.type.toLowerCase()==c.type.toLowerCase())p|=4;else if(i.type!="*")return null;if(i.subtype.toLowerCase()==c.subtype.toLowerCase())p|=2;else if(i.subtype!="*")return null;var a=Object.keys(i.params);if(a.length>0)if(a.every(function(x){return i.params[x]=="*"||(i.params[x]||"").toLowerCase()==(c.params[x]||"").toLowerCase()}))p|=1;else return null;return{i:o,o:i.i,q:i.q,s:p}}function p1(n,i){var o=v8(n===void 0?"*/*":n||"");if(!i)return o.filter(o1).sort(i1).map(J8);var c=i.map(function p(a,x){return w8(a,o,x)});return c.filter(o1).sort(i1).map(function p(a){return i[c.indexOf(a)]})}function i1(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function J8(n){return n.type+"/"+n.subtype}function o1(n){return n.q>0}function a1(n){var i=0,o=0;while((o=n.indexOf('"',o))!==-1)i++,o++;return i}function A8(n){var i=n.indexOf("="),o,c;if(i===-1)o=n;else o=n.substr(0,i),c=n.substr(i+1);return[o,c]}function F8(n){var i=n.split(",");for(var o=1,c=0;o<i.length;o++)if(a1(i[c])%2==0)i[++c]=i[o];else i[c]+=","+i[o];return i.length=c+1,i}function T8(n){var i=n.split(";");for(var o=1,c=0;o<i.length;o++)if(a1(i[c])%2==0)i[++c]=i[o];else i[c]+=";"+i[o];i.length=c+1;for(var o=0;o<i.length;o++)i[o]=i[o].trim();return i}Zl.exports=p1;Zl.exports.preferredMediaTypes=p1;var $8=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/});var m1=I((Ij,ql)=>{function Gn(n){if(!(this instanceof Gn))return new Gn(n);this.request=n}/*!
4
4
  * negotiator
5
5
  * Copyright(c) 2012 Federico Romero
6
6
  * Copyright(c) 2012-2014 Isaac Z. Schlueter
7
7
  * Copyright(c) 2015 Douglas Christopher Wilson
8
8
  * MIT Licensed
9
- */var wr=Ha(),gr=_a(),Fr=et(),hr=rt();re.exports=Y;re.exports.Negotiator=Y;Y.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};Y.prototype.charsets=function n(i){return wr(this.request.headers["accept-charset"],i)};Y.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};Y.prototype.encodings=function n(i){return gr(this.request.headers["accept-encoding"],i)};Y.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};Y.prototype.languages=function n(i){return Fr(this.request.headers["accept-language"],i)};Y.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};Y.prototype.mediaTypes=function n(i){return hr(this.request.headers.accept,i)};Y.prototype.preferredCharset=Y.prototype.charset;Y.prototype.preferredCharsets=Y.prototype.charsets;Y.prototype.preferredEncoding=Y.prototype.encoding;Y.prototype.preferredEncodings=Y.prototype.encodings;Y.prototype.preferredLanguage=Y.prototype.language;Y.prototype.preferredLanguages=Y.prototype.languages;Y.prototype.preferredMediaType=Y.prototype.mediaType;Y.prototype.preferredMediaTypes=Y.prototype.mediaTypes});var mt=h((ZF,Ar)=>{Ar.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 xt=h((QF,ut)=>{/*!
9
+ */var M8=tS(),R8=qS(),K8=n1(),W8=x1();ql.exports=Gn;ql.exports.Negotiator=Gn;Gn.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};Gn.prototype.charsets=function n(i){return M8(this.request.headers["accept-charset"],i)};Gn.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};Gn.prototype.encodings=function n(i){return R8(this.request.headers["accept-encoding"],i)};Gn.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};Gn.prototype.languages=function n(i){return K8(this.request.headers["accept-language"],i)};Gn.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};Gn.prototype.mediaTypes=function n(i){return W8(this.request.headers.accept,i)};Gn.prototype.preferredCharset=Gn.prototype.charset;Gn.prototype.preferredCharsets=Gn.prototype.charsets;Gn.prototype.preferredEncoding=Gn.prototype.encoding;Gn.prototype.preferredEncodings=Gn.prototype.encodings;Gn.prototype.preferredLanguage=Gn.prototype.language;Gn.prototype.preferredLanguages=Gn.prototype.languages;Gn.prototype.preferredMediaType=Gn.prototype.mediaType;Gn.prototype.preferredMediaTypes=Gn.prototype.mediaTypes});var l1=I((tj,X8)=>{X8.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 $1=I((Cj,f1)=>{/*!
10
10
  * mime-db
11
11
  * Copyright(c) 2014 Jonathan Ong
12
12
  * Copyright(c) 2015-2022 Douglas Christopher Wilson
13
13
  * MIT Licensed
14
- */ut.exports=mt()});var bt=h((kr)=>{function ft(n){if(!n||typeof n!=="string")return!1;var i=dt.exec(n),o=i&&co[i[1].toLowerCase()];if(o&&o.charset)return o.charset;if(i&&Rr.test(i[1]))return"UTF-8";return!1}function Mr(n){if(!n||typeof n!=="string")return!1;var i=n.indexOf("/")===-1?kr.lookup(n):n;if(!i)return!1;if(i.indexOf("charset")===-1){var o=kr.charset(i);if(o)i+="; charset="+o.toLowerCase()}return i}function Jr(n){if(!n||typeof n!=="string")return!1;var i=dt.exec(n),o=i&&kr.extensions[i[1].toLowerCase()];if(!o||!o.length)return!1;return o[0]}function $r(n){if(!n||typeof n!=="string")return!1;var i=Kr("x."+n).toLowerCase().substr(1);if(!i)return!1;return kr.types[i]||!1}function jr(n,i){var o=["nginx","apache",void 0,"iana"];Object.keys(co).forEach(function e(a){var t=co[a],s=t.extensions;if(!s||!s.length)return;n[a]=s;for(var c=0;c<s.length;c++){var l=s[c];if(i[l]){var r=o.indexOf(co[i[l]].source),p=o.indexOf(t.source);if(i[l]!=="application/octet-stream"&&(r>p||r===p&&i[l].substr(0,12)==="application/"))continue}i[l]=a}})}/*!
14
+ */f1.exports=l1()});var A1=I((E8)=>{function w1(n){if(!n||typeof n!=="string")return!1;var i=v1.exec(n),o=i&&Lx[i[1].toLowerCase()];if(o&&o.charset)return o.charset;if(i&&G8.test(i[1]))return"UTF-8";return!1}function Y8(n){if(!n||typeof n!=="string")return!1;var i=n.indexOf("/")===-1?E8.lookup(n):n;if(!i)return!1;if(i.indexOf("charset")===-1){var o=E8.charset(i);if(o)i+="; charset="+o.toLowerCase()}return i}function u8(n){if(!n||typeof n!=="string")return!1;var i=v1.exec(n),o=i&&E8.extensions[i[1].toLowerCase()];if(!o||!o.length)return!1;return o[0]}function O8(n){if(!n||typeof n!=="string")return!1;var i=z8("x."+n).toLowerCase().substr(1);if(!i)return!1;return E8.types[i]||!1}function H8(n,i){var o=["nginx","apache",void 0,"iana"];Object.keys(Lx).forEach(function c(p){var a=Lx[p],x=a.extensions;if(!x||!x.length)return;n[p]=x;for(var m=0;m<x.length;m++){var l=x[m];if(i[l]){var f=o.indexOf(Lx[i[l]].source),$=o.indexOf(a.source);if(i[l]!=="application/octet-stream"&&(f>$||f===$&&i[l].substr(0,12)==="application/"))continue}i[l]=p}})}/*!
15
15
  * mime-types
16
16
  * Copyright(c) 2014 Jonathan Ong
17
17
  * Copyright(c) 2015 Douglas Christopher Wilson
18
18
  * MIT Licensed
19
- */var co=xt(),Kr=import.meta.require("path").extname,dt=/^\s*([^;\s]*)(?:;|\s|$)/,Rr=/^text\//i;kr.charset=ft;kr.charsets={lookup:ft};kr.contentType=Mr;kr.extension=Jr;kr.extensions=Object.create(null);kr.lookup=$r;kr.types=Object.create(null);jr(kr.extensions,kr.types)});var lo=h((NF,Tt)=>{function mn(n){if(!(this instanceof mn))return new mn(n);this.headers=n.headers,this.negotiator=new Wr(n)}function Er(n){return n.indexOf("/")===-1?Ir.lookup(n):n}function Vr(n){return typeof n==="string"}/*!
19
+ */var Lx=$1(),z8=import.meta.require("path").extname,v1=/^\s*([^;\s]*)(?:;|\s|$)/,G8=/^text\//i;E8.charset=w1;E8.charsets={lookup:w1};E8.contentType=Y8;E8.extension=u8;E8.extensions=Object.create(null);E8.lookup=O8;E8.types=Object.create(null);H8(E8.extensions,E8.types)});var Bx=I((rj,F1)=>{function yi(n){if(!(this instanceof yi))return new yi(n);this.headers=n.headers,this.negotiator=new b8(n)}function s8(n){return n.indexOf("/")===-1?_8.lookup(n):n}function j8(n){return typeof n==="string"}/*!
20
20
  * accepts
21
21
  * Copyright(c) 2014 Jonathan Ong
22
22
  * Copyright(c) 2015 Douglas Christopher Wilson
23
23
  * MIT Licensed
24
- */var Wr=pt(),Ir=bt();Tt.exports=mn;mn.prototype.type=mn.prototype.types=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return i[0];var e=i.map(Er),a=this.negotiator.mediaTypes(e.filter(Vr)),t=a[0];return t?i[e.indexOf(t)]:!1};mn.prototype.encoding=mn.prototype.encodings=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.encodings();return this.negotiator.encodings(i)[0]||!1};mn.prototype.charset=mn.prototype.charsets=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.charsets();return this.negotiator.charsets(i)[0]||!1};mn.prototype.lang=mn.prototype.langs=mn.prototype.language=mn.prototype.languages=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.languages();return this.negotiator.languages(i)[0]||!1}});var xe=h((St,wt)=>{/*!
24
+ */var b8=m1(),_8=A1();F1.exports=yi;yi.prototype.type=yi.prototype.types=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return i[0];var c=i.map(s8),p=this.negotiator.mediaTypes(c.filter(j8)),a=p[0];return a?i[c.indexOf(a)]:!1};yi.prototype.encoding=yi.prototype.encodings=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.encodings();return this.negotiator.encodings(i)[0]||!1};yi.prototype.charset=yi.prototype.charsets=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.charsets();return this.negotiator.charsets(i)[0]||!1};yi.prototype.lang=yi.prototype.langs=yi.prototype.language=yi.prototype.languages=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.languages();return this.negotiator.languages(i)[0]||!1}});var dl=I((T1,M1)=>{/*!
25
25
  * base64id v0.1.0
26
- */var Ei=import.meta.require("crypto"),ue=function(){};ue.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Ei.randomBytes(n);var e=parseInt(i/n),a=parseInt(e*0.85);if(!a)return Ei.randomBytes(n);if(this.bytesBufferIndex==null)this.bytesBufferIndex=-1;if(this.bytesBufferIndex==e)this.bytesBuffer=null,this.bytesBufferIndex=-1;if(this.bytesBufferIndex==-1||this.bytesBufferIndex>a){if(!this.isGeneratingBytes)this.isGeneratingBytes=!0,Ei.randomBytes(i,function(s,c){o.bytesBuffer=c,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Ei.randomBytes(n)}var t=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,t};ue.prototype.generateId=function(){var n=Buffer.alloc(15);if(!n.writeInt32BE)return Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString();if(this.sequenceNumber=this.sequenceNumber+1|0,n.writeInt32BE(this.sequenceNumber,11),Ei.randomBytes)this.getRandomBytes(12).copy(n);else[0,4,8].forEach(function(i){n.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)});return n.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")};St=wt.exports=new ue});var ro=h((Ft)=>{Object.defineProperty(Ft,"__esModule",{value:!0});Ft.ERROR_PACKET=Ft.PACKET_TYPES_REVERSE=Ft.PACKET_TYPES=void 0;var Rn=Object.create(null);Ft.PACKET_TYPES=Rn;Rn.open="0";Rn.close="1";Rn.ping="2";Rn.pong="3";Rn.message="4";Rn.upgrade="5";Rn.noop="6";var gt=Object.create(null);Ft.PACKET_TYPES_REVERSE=gt;Object.keys(Rn).forEach((n)=>{gt[Rn[n]]=n});var Ur={type:"error",data:"parser error"};Ft.ERROR_PACKET=Ur});var Rt=h((Kt)=>{function Zr(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(At(n.data,!1));Kt.encodePacket(n,!0,(o)=>{if(!de)de=new TextEncoder;i(de.encode(o))})}Object.defineProperty(Kt,"__esModule",{value:!0});Kt.encodePacket=void 0;Kt.encodePacketToBinary=Zr;var Xr=ro(),Gr=({type:n,data:i},o,e)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return e(o?i:"b"+At(i,!0).toString("base64"));return e(Xr.PACKET_TYPES[n]+(i||""))};Kt.encodePacket=Gr;var At=(n,i)=>{if(Buffer.isBuffer(n)||n instanceof Uint8Array&&!i)return n;else if(n instanceof ArrayBuffer)return Buffer.from(n);else return Buffer.from(n.buffer,n.byteOffset,n.byteLength)},de});var jt=h((Jt)=>{Object.defineProperty(Jt,"__esModule",{value:!0});Jt.decodePacket=void 0;var po=ro(),Hr=(n,i)=>{if(typeof n!=="string")return{type:"message",data:Mt(n,i)};const o=n.charAt(0);if(o==="b"){const e=Buffer.from(n.substring(1),"base64");return{type:"message",data:Mt(e,i)}}if(!po.PACKET_TYPES_REVERSE[o])return po.ERROR_PACKET;return n.length>1?{type:po.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:po.PACKET_TYPES_REVERSE[o]}};Jt.decodePacket=Hr;var Mt=(n,i)=>{switch(i){case"arraybuffer":if(n instanceof ArrayBuffer)return n;else if(Buffer.isBuffer(n))return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);else return n.buffer;case"nodebuffer":default:if(Buffer.isBuffer(n))return n;else return Buffer.from(n)}}});var Vi=h((xo)=>{function Lr(){return new TransformStream({transform(n,i){ve.encodePacketToBinary(n,(o)=>{const e=o.length;let a;if(e<126)a=new Uint8Array(1),new DataView(a.buffer).setUint8(0,e);else if(e<65536){a=new Uint8Array(3);const t=new DataView(a.buffer);t.setUint8(0,126),t.setUint16(1,e)}else{a=new Uint8Array(9);const t=new DataView(a.buffer);t.setUint8(0,127),t.setBigUint64(1,BigInt(e))}if(n.data&&typeof n.data!=="string")a[0]|=128;i.enqueue(a),i.enqueue(o)})}})}function mo(n){return n.reduce((i,o)=>i+o.length,0)}function uo(n,i){if(n[0].length===i)return n.shift();const o=new Uint8Array(i);let e=0;for(let a=0;a<i;a++)if(o[a]=n[0][e++],e===n[0].length)n.shift(),e=0;if(n.length&&e<n[0].length)n[0]=n[0].slice(e);return o}function Pr(n,i){if(!ye)ye=new TextDecoder;const o=[];let e=0,a=-1,t=!1;return new TransformStream({transform(s,c){o.push(s);while(!0){if(e===0){if(mo(o)<1)break;const l=uo(o,1);if(t=(l[0]&128)===128,a=l[0]&127,a<126)e=3;else if(a===126)e=1;else e=2}else if(e===1){if(mo(o)<2)break;const l=uo(o,2);a=new DataView(l.buffer,l.byteOffset,l.length).getUint16(0),e=3}else if(e===2){if(mo(o)<8)break;const l=uo(o,8),r=new DataView(l.buffer,l.byteOffset,l.length),p=r.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(kt.ERROR_PACKET);break}a=p*Math.pow(2,32)+r.getUint32(4),e=3}else{if(mo(o)<a)break;const l=uo(o,a);c.enqueue(be.decodePacket(t?l:ye.decode(l),i)),e=0}if(a===0||a>n){c.enqueue(kt.ERROR_PACKET);break}}}})}Object.defineProperty(xo,"__esModule",{value:!0});xo.decodePayload=xo.decodePacket=xo.encodePayload=xo.encodePacket=xo.protocol=void 0;xo.createPacketEncoderStream=Lr;xo.createPacketDecoderStream=Pr;var ve=Rt();Object.defineProperty(xo,"encodePacket",{enumerable:!0,get:function(){return ve.encodePacket}});var be=jt();Object.defineProperty(xo,"decodePacket",{enumerable:!0,get:function(){return be.decodePacket}});var kt=ro(),Ot=String.fromCharCode(30),Nr=(n,i)=>{const o=n.length,e=new Array(o);let a=0;n.forEach((t,s)=>{ve.encodePacket(t,!1,(c)=>{if(e[s]=c,++a===o)i(e.join(Ot))})})};xo.encodePayload=Nr;var Dr=(n,i)=>{const o=n.split(Ot),e=[];for(let a=0;a<o.length;a++){const t=be.decodePacket(o[a],i);if(e.push(t),t.type==="error")break}return e};xo.decodePayload=Dr;var ye;xo.protocol=4});var Et=h((ih,It)=>{function Ct(n){var i=[],o=0,e=n.length,a,t;while(o<e)if(a=n.charCodeAt(o++),a>=55296&&a<=56319&&o<e)if(t=n.charCodeAt(o++),(t&64512)==56320)i.push(((a&1023)<<10)+(t&1023)+65536);else i.push(a),o--;else i.push(a);return i}function op(n){var i=n.length,o=-1,e,a="";while(++o<i){if(e=n[o],e>65535)e-=65536,a+=Yn(e>>>10&1023|55296),e=56320|e&1023;a+=Yn(e)}return a}function Wt(n,i){if(n>=55296&&n<=57343){if(i)throw Error("Lone surrogate U+"+n.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function Te(n,i){return Yn(n>>i&63|128)}function ep(n,i){if((n&4294967168)==0)return Yn(n);var o="";if((n&4294965248)==0)o=Yn(n>>6&31|192);else if((n&4294901760)==0){if(!Wt(n,i))n=65533;o=Yn(n>>12&15|224),o+=Te(n,6)}else if((n&4292870144)==0)o=Yn(n>>18&7|240),o+=Te(n,12),o+=Te(n,6);return o+=Yn(n&63|128),o}function ap(n,i){i=i||{};var o=i.strict!==!1,e=Ct(n),a=e.length,t=-1,s,c="";while(++t<a)s=e[t],c+=ep(s,o);return c}function li(){if(Bn>=yo)throw Error("Invalid byte index");var n=fo[Bn]&255;if(Bn++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function tp(n){var i,o,e,a,t;if(Bn>yo)throw Error("Invalid byte index");if(Bn==yo)return!1;if(i=fo[Bn]&255,Bn++,(i&128)==0)return i;if((i&224)==192)if(o=li(),t=(i&31)<<6|o,t>=128)return t;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=li(),e=li(),t=(i&15)<<12|o<<6|e,t>=2048)return Wt(t,n)?t:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=li(),e=li(),a=li(),t=(i&7)<<18|o<<12|e<<6|a,t>=65536&&t<=1114111)return t}throw Error("Invalid UTF-8 detected")}function sp(n,i){i=i||{};var o=i.strict!==!1;fo=Ct(n),yo=fo.length,Bn=0;var e=[],a;while((a=tp(o))!==!1)e.push(a);return op(e)}/*! https://mths.be/utf8js v2.1.2 by @mathias */var Yn=String.fromCharCode,fo,yo,Bn;It.exports={version:"2.1.2",encode:ap,decode:sp}});var Ht=h((Qt)=>{function Se(n,i,o,e){if(typeof i==="function")e=i,i=null;if(typeof o==="function")e=o,o=null;if(Buffer.isBuffer(n.data))return Vt(n,i,e);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return Vt({type:n.type,data:ge(n.data)},i,e);var a=Qt.packets[n.type];if(n.data!==void 0)a+=o?Ut.encode(String(n.data),{strict:!1}):String(n.data);return e(""+a)}function Vt(n,i,o){if(!i)return Yt(n,o);var e=n.data,a=Buffer.allocUnsafe(1);return a[0]=Qt.packets[n.type],o(Buffer.concat([a,e]))}function Yt(n,i){var o=Buffer.isBuffer(n.data)?n.data:ge(n.data),e="b"+Qt.packets[n.type];return e+=o.toString("base64"),i(e)}function we(n,i,o){if(n===void 0)return gn;var e;if(typeof n==="string"){if(e=n.charAt(0),e==="b")return Bt(n.slice(1),i);if(o){if(n=rp(n),n===!1)return gn}if(Number(e)!=e||!ri[e])return gn;if(n.length>1)return{type:ri[e],data:n.slice(1)};else return{type:ri[e]}}if(i==="arraybuffer"){var a=new Uint8Array(n);return e=a[0],{type:ri[e],data:a.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=ge(n);return e=n[0],{type:ri[e],data:n.slice(1)}}function rp(n){try{n=Ut.decode(n,{strict:!1})}catch(i){return!1}return n}function Bt(n,i){var o=ri[n.charAt(0)],e=Buffer.from(n.slice(1),"base64");if(i==="arraybuffer"){var a=new Uint8Array(e.length);for(var t=0;t<a.length;t++)a[t]=e[t];e=a.buffer}return{type:o,data:e}}function pp(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&cp(n))return Gt(n,o);if(!n.length)return o("0:");function e(a,t){Se(a,i,!1,function(s){t(null,mp(s))})}Xt(n,e,function(a,t){return o(t.join(""))})}function mp(n){return n.length+":"+n}function Xt(n,i,o){const e=new Array(n.length);let a=0;for(let t=0;t<n.length;t++)i(n[t],(s,c)=>{if(e[t]=c,++a===n.length)o(null,e)})}function up(n,i,o){if(typeof n!=="string")return Zt(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(gn,0,1);var e="",a,t,s;for(var c=0,l=n.length;c<l;c++){var r=n.charAt(c);if(r!==":"){e+=r;continue}if(e===""||e!=(a=Number(e)))return o(gn,0,1);if(t=n.slice(c+1,c+1+a),e!=t.length)return o(gn,0,1);if(t.length){if(s=we(t,i,!1),gn.type===s.type&&gn.data===s.data)return o(gn,0,1);var p=o(s,c+a,l);if(p===!1)return}c+=a,e=""}if(e!=="")return o(gn,0,1)}function xp(n){var i="";for(var o=0,e=n.length;o<e;o++)i+=String.fromCharCode(n[o]);return i}function dp(n){var i=Buffer.allocUnsafe(n.length);for(var o=0,e=n.length;o<e;o++)i.writeUInt8(n.charCodeAt(o),o);return i}function ge(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function Gt(n,i){if(!n.length)return i(lp);Xt(n,fp,function(o,e){return i(Buffer.concat(e))})}function fp(n,i){function o(e){var a=""+e.length,t;if(typeof e==="string"){t=Buffer.allocUnsafe(a.length+2),t[0]=0;for(var s=0;s<a.length;s++)t[s+1]=parseInt(a[s],10);return t[t.length-1]=255,i(null,Buffer.concat([t,dp(e)]))}t=Buffer.allocUnsafe(a.length+2),t[0]=1;for(var s=0;s<a.length;s++)t[s+1]=parseInt(a[s],10);t[t.length-1]=255,i(null,Buffer.concat([t,e]))}Se(n,!0,!0,o)}function Zt(n,i,o){if(typeof i==="function")o=i,i=null;var e=n,a=[],t;while(e.length>0){var s="",c=e[0]===0;for(t=1;;t++){if(e[t]===255)break;if(s.length>310)return o(gn,0,1);s+=""+e[t]}e=e.slice(s.length+1);var l=parseInt(s,10),r=e.slice(1,l+1);if(c)r=xp(r);a.push(r),e=e.slice(l+1)}var p=a.length;for(t=0;t<p;t++){var m=a[t];o(we(m,i,!0),t,p)}}Object.defineProperty(Qt,"__esModule",{value:!0});Qt.packets=Qt.protocol=void 0;Qt.encodePacket=Se;Qt.encodeBase64Packet=Yt;Qt.decodePacket=we;Qt.decodeBase64Packet=Bt;Qt.encodePayload=pp;Qt.decodePayload=up;Qt.encodePayloadAsBinary=Gt;Qt.decodePayloadAsBinary=Zt;var Ut=Et();Qt.protocol=3;var cp=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};Qt.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var ri=Object.keys(Qt.packets),gn={type:"error",data:"parser error"},lp=Buffer.concat([])});var Dt=h((eh,Nt)=>{function Rp(n){if(n=String(n),n.length>100)return;var i=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(!i)return;var o=parseFloat(i[1]),e=(i[2]||"ms").toLowerCase();switch(e){case"years":case"year":case"yrs":case"yr":case"y":return o*Kp;case"weeks":case"week":case"w":return o*Ap;case"days":case"day":case"d":return o*Dn;case"hours":case"hour":case"hrs":case"hr":case"h":return o*xi;case"minutes":case"minute":case"mins":case"min":case"m":return o*ui;case"seconds":case"second":case"secs":case"sec":case"s":return o*mi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function Mp(n){var i=Math.abs(n);if(i>=Dn)return Math.round(n/Dn)+"d";if(i>=xi)return Math.round(n/xi)+"h";if(i>=ui)return Math.round(n/ui)+"m";if(i>=mi)return Math.round(n/mi)+"s";return n+"ms"}function Jp(n){var i=Math.abs(n);if(i>=Dn)return vo(n,i,Dn,"day");if(i>=xi)return vo(n,i,xi,"hour");if(i>=ui)return vo(n,i,ui,"minute");if(i>=mi)return vo(n,i,mi,"second");return n+" ms"}function vo(n,i,o,e){var a=i>=o*1.5;return Math.round(n/o)+" "+e+(a?"s":"")}var mi=1000,ui=mi*60,xi=ui*60,Dn=xi*24,Ap=Dn*7,Kp=Dn*365.25;Nt.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return Rp(n);else if(o==="number"&&isFinite(n))return i.long?Jp(n):Mp(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))}});var Fe=h((ah,Lt)=>{function $p(n){o.debug=o,o.default=o,o.coerce=l,o.disable=t,o.enable=a,o.enabled=s,o.humanize=Dt(),o.destroy=r,Object.keys(n).forEach((p)=>{o[p]=n[p]}),o.names=[],o.skips=[],o.formatters={};function i(p){let m=0;for(let T=0;T<p.length;T++)m=(m<<5)-m+p.charCodeAt(T),m|=0;return o.colors[Math.abs(m)%o.colors.length]}o.selectColor=i;function o(p){let m,T=null,R,y;function v(...u){if(!v.enabled)return;const b=v,S=Number(new Date),K=S-(m||S);if(b.diff=K,b.prev=m,b.curr=S,m=S,u[0]=o.coerce(u[0]),typeof u[0]!=="string")u.unshift("%O");let W=0;u[0]=u[0].replace(/%([a-zA-Z%])/g,(d,A)=>{if(d==="%%")return"%";W++;const w=o.formatters[A];if(typeof w==="function"){const g=u[W];d=w.call(b,g),u.splice(W,1),W--}return d}),o.formatArgs.call(b,u),(b.log||o.log).apply(b,u)}if(v.namespace=p,v.useColors=o.useColors(),v.color=o.selectColor(p),v.extend=e,v.destroy=o.destroy,Object.defineProperty(v,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(T!==null)return T;if(R!==o.namespaces)R=o.namespaces,y=o.enabled(p);return y},set:(u)=>{T=u}}),typeof o.init==="function")o.init(v);return v}function e(p,m){const T=o(this.namespace+(typeof m==="undefined"?":":m)+p);return T.log=this.log,T}function a(p){o.save(p),o.namespaces=p,o.names=[],o.skips=[];let m;const T=(typeof p==="string"?p:"").split(/[\s,]+/),R=T.length;for(m=0;m<R;m++){if(!T[m])continue;if(p=T[m].replace(/\*/g,".*?"),p[0]==="-")o.skips.push(new RegExp("^"+p.slice(1)+"$"));else o.names.push(new RegExp("^"+p+"$"))}}function t(){const p=[...o.names.map(c),...o.skips.map(c).map((m)=>"-"+m)].join(",");return o.enable(""),p}function s(p){if(p[p.length-1]==="*")return!0;let m,T;for(m=0,T=o.skips.length;m<T;m++)if(o.skips[m].test(p))return!1;for(m=0,T=o.names.length;m<T;m++)if(o.names[m].test(p))return!0;return!1}function c(p){return p.toString().substring(2,p.toString().length-2).replace(/\.\*\?$/,"*")}function l(p){if(p instanceof Error)return p.stack||p.message;return p}function r(){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 o.enable(o.load()),o}Lt.exports=$p});var _t=h((Pt,To)=>{function jp(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let n;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(n=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(n[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function kp(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+To.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;n.splice(1,0,i,"color: inherit");let o=0,e=0;n[0].replace(/%[a-zA-Z%]/g,(a)=>{if(a==="%%")return;if(o++,a==="%c")e=o}),n.splice(e,0,i)}function Op(n){try{if(n)Pt.storage.setItem("debug",n);else Pt.storage.removeItem("debug")}catch(i){}}function zp(){let n;try{n=Pt.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function Cp(){try{return localStorage}catch(n){}}Pt.formatArgs=kp;Pt.save=Op;Pt.load=zp;Pt.useColors=jp;Pt.storage=Cp();Pt.destroy=(()=>{let n=!1;return()=>{if(!n)n=!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`.")}})();Pt.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"];Pt.log=console.debug||console.log||(()=>{});To.exports=Fe()(Pt);var{formatters:Wp}=To.exports;Wp.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var ns=h((sh,qt)=>{qt.exports=(n,i)=>{i=i||process.argv;const o=n.startsWith("-")?"":n.length===1?"-":"--",e=i.indexOf(o+n),a=i.indexOf("--");return e!==-1&&(a===-1?!0:e<a)}});var os=h((ch,is)=>{function Zp(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function Qp(n){if(di===!1)return 0;if(Fn("color=16m")||Fn("color=full")||Fn("color=truecolor"))return 3;if(Fn("color=256"))return 2;if(n&&!n.isTTY&&di!==!0)return 0;const i=di?1:0;if(process.platform==="win32"){const o=Gp.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(o[0])>=10&&Number(o[2])>=10586)return Number(o[2])>=14931?3:2;return 1}if("CI"in nn){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in nn))||nn.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in nn)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(nn.TEAMCITY_VERSION)?1:0;if(nn.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in nn){const o=parseInt((nn.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(nn.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(nn.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(nn.TERM))return 1;if("COLORTERM"in nn)return 1;if(nn.TERM==="dumb")return i;return i}function he(n){const i=Qp(n);return Zp(i)}var Gp=import.meta.require("os"),Fn=ns(),nn=process.env,di;if(Fn("no-color")||Fn("no-colors")||Fn("color=false"))di=!1;else if(Fn("color")||Fn("colors")||Fn("color=true")||Fn("color=always"))di=!0;if("FORCE_COLOR"in nn)di=nn.FORCE_COLOR.length===0||parseInt(nn.FORCE_COLOR,10)!==0;is.exports={supportsColor:he,stdout:he(process.stdout),stderr:he(process.stderr)}});var ss=h((as,wo)=>{function Np(){return"colors"in as.inspectOpts?Boolean(as.inspectOpts.colors):Hp.isatty(process.stderr.fd)}function Dp(n){const{namespace:i,useColors:o}=this;if(o){const e=this.color,a="\x1B[3"+(e<8?e:"8;5;"+e),t=` ${a};1m${i} \x1B[0m`;n[0]=t+n[0].split("\n").join("\n"+t),n.push(a+"m+"+wo.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=Lp()+i+" "+n[0]}function Lp(){if(as.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function Pp(...n){return process.stderr.write(So.formatWithOptions(as.inspectOpts,...n)+"\n")}function _p(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function qp(){return process.env.DEBUG}function nm(n){n.inspectOpts={};const i=Object.keys(as.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=as.inspectOpts[i[o]]}var Hp=import.meta.require("tty"),So=import.meta.require("util");as.init=nm;as.log=Pp;as.formatArgs=Dp;as.save=_p;as.load=qp;as.useColors=Np;as.destroy=So.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");as.colors=[6,2,3,4,5,1];try{const n=os();if(n&&(n.stderr||n).level>=2)as.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(n){}as.inspectOpts=Object.keys(process.env).filter((n)=>{return/^debug_/i.test(n)}).reduce((n,i)=>{const o=i.substring(6).toLowerCase().replace(/_([a-z])/g,(a,t)=>{return t.toUpperCase()});let e=process.env[i];if(/^(yes|on|true|enabled)$/i.test(e))e=!0;else if(/^(no|off|false|disabled)$/i.test(e))e=!1;else if(e==="null")e=null;else e=Number(e);return n[o]=e,n},{});wo.exports=Fe()(as);var{formatters:es}=wo.exports;es.o=function(n){return this.inspectOpts.colors=this.useColors,So.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};es.O=function(n){return this.inspectOpts.colors=this.useColors,So.inspect(n,this.inspectOpts)}});var q=h((rh,Ae)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)Ae.exports=_t();else Ae.exports=ss()});var Pn=h((rs)=>{function um(){}Object.defineProperty(rs,"__esModule",{value:!0});rs.Transport=void 0;var lm=import.meta.require("events"),rm=Vi(),pm=Ht(),mm=q(),cs=mm.default("engine:transport");class ls extends lm.EventEmitter{get readyState(){return this._readyState}set readyState(n){cs("readyState updated from %s to %s (%s)",this._readyState,n,this.name),this._readyState=n}constructor(n){super();this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=n._query.EIO==="4"?4:3,this.parser=this.protocol===4?rm:pm,this.supportsBinary=!(n._query&&n._query.b64)}discard(){this.discarded=!0}onRequest(n){}close(n){if(this.readyState==="closed"||this.readyState==="closing")return;this.readyState="closing",this.doClose(n||um)}onError(n,i){if(this.listeners("error").length){const o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else cs("ignored transport error %s (%s)",n,i)}onPacket(n){this.emit("packet",n)}onData(n){this.onPacket(this.parser.decodePacket(n))}onClose(){this.readyState="closed",this.emit("close")}}rs.Transport=ls});var Ke=h((xs)=>{Object.defineProperty(xs,"__esModule",{value:!0});xs.Polling=void 0;var xm=Pn(),ms=import.meta.require("zlib"),dm=lo(),fm=q(),un=fm.default("engine:polling"),ym={gzip:ms.createGzip,deflate:ms.createDeflate};class us extends xm.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.method==="GET")this.onPollRequest(n,i);else if(n.method==="POST")this.onDataRequest(n,i);else i.writeHead(500),i.end()}onPollRequest(n,i){if(this.req){un("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}un("setting request"),this.req=n,this.res=i;const o=()=>{this.onError("poll connection closed prematurely")},e=()=>{n.removeListener("close",o),this.req=this.res=null};if(n.cleanup=e,n.on("close",o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)un("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeHead(400),i.end();return}const o=n.headers["content-type"]==="application/octet-stream";if(o&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let e=o?Buffer.concat([]):"";const a=()=>{n.removeListener("data",s),n.removeListener("end",c),n.removeListener("close",t),this.dataReq=this.dataRes=e=null},t=()=>{a(),this.onError("data request connection closed prematurely")},s=(l)=>{let r;if(o)e=Buffer.concat([e,l]),r=e.length;else e+=l,r=Buffer.byteLength(e);if(r>this.maxHttpBufferSize)i.writeHead(413).end(),a()},c=()=>{this.onData(e);const l={"Content-Type":"text/html","Content-Length":"2"};i.writeHead(200,this.headers(n,l)),i.end("ok"),a()};if(n.on("close",t),!o)n.setEncoding("utf8");n.on("data",s),n.on("end",c)}onData(n){un('received "%s"',n);const i=(o)=>{if(o.type==="close")return un("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)un("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const e=n.some((a)=>{return a.options&&a.options.compress});this.write(o,{compress:e})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){un('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const e=typeof n==="string",t={"Content-Type":e?"text/plain; charset=UTF-8":"application/octet-stream"},s=(r)=>{t["Content-Length"]=typeof r==="string"?Buffer.byteLength(r):r.length,this.res.writeHead(200,this.headers(this.req,t)),this.res.end(r),o()};if(!this.httpCompression||!i.compress){s(n);return}if((e?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){s(n);return}const l=dm(this.req).encodings(["gzip","deflate"]);if(!l){s(n);return}this.compress(n,l,(r,p)=>{if(r){this.res.writeHead(500),this.res.end(),o(r);return}t["Content-Encoding"]=l,s(p)})}compress(n,i,o){un("compressing");const e=[];let a=0;ym[i](this.httpCompression).on("error",o).on("data",function(t){e.push(t),a+=t.length}).on("end",function(){o(null,Buffer.concat(e,a))}).end(n)}doClose(n){un("closing");let i;if(this.dataReq)un("aborting ongoing data request"),this.dataReq.destroy();const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)un("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)un("transport discarded - closing right away"),o();else un("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i={}){const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}xs.Polling=us});var bs=h((ys)=>{Object.defineProperty(ys,"__esModule",{value:!0});ys.JSONP=void 0;var vm=Ke(),bm=import.meta.require("querystring"),Tm=/\\\\n/g,Sm=/(\\)?\\n/g;class fs extends vm.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=bm.parse(n).d,typeof n==="string")n=n.replace(Sm,function(i,o){return o?i:"\n"}),super.onData(n.replace(Tm,"\\n"))}doWrite(n,i,o){const e=JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");n=this.head+e+this.foot,super.doWrite(n,i,o)}}ys.JSONP=fs});var Fs=h((ws)=>{Object.defineProperty(ws,"__esModule",{value:!0});ws.WebSocket=void 0;var wm=Pn(),gm=q(),Ts=gm.default("engine:ws");class Ss extends wm.Transport{constructor(n){super(n);this._doSend=(i)=>{this.socket.send(i,this._onSent)},this._doSendLast=(i)=>{this.socket.send(i,this._onSentLast)},this._onSent=(i)=>{if(i)this.onError("write error",i.stack)},this._onSentLast=(i)=>{if(i)this.onError("write error",i.stack);else this.emit("drain"),this.writable=!0,this.emit("ready")},this.socket=n.websocket,this.socket.on("message",(i,o)=>{const e=o?i:i.toString();Ts('received "%s"',e),super.onData(e)}),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(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],e=i+1===n.length;if(this._canSendPreEncodedFrame(o))this.socket._sender.sendFrame(o.options.wsPreEncodedFrame,e?this._onSentLast:this._onSent);else this.parser.encodePacket(o,this.supportsBinary,e?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(n){var i,o,e;return!this.perMessageDeflate&&typeof((o=(i=this.socket)===null||i===void 0?void 0:i._sender)===null||o===void 0?void 0:o.sendFrame)==="function"&&((e=n.options)===null||e===void 0?void 0:e.wsPreEncodedFrame)!==void 0}doClose(n){Ts("closing"),this.socket.close(),n&&n()}}ws.WebSocket=Ss});var Re=h((As)=>{Object.defineProperty(As,"__esModule",{value:!0});As.WebTransport=void 0;var Fm=Pn(),hm=q(),Am=Vi(),fi=hm.default("engine:webtransport");class hs extends Fm.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;const e=Am.createPacketEncoderStream();e.readable.pipeTo(i.writable).catch(()=>{fi("the stream was closed")}),this.writer=e.writable.getWriter(),(async()=>{try{while(!0){const{value:a,done:t}=await o.read();if(t){fi("session is closed");break}fi("received chunk: %o",a),this.onPacket(a)}}catch(a){fi("error while reading: %s",a.message)}})(),n.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(n){this.writable=!1;try{for(let i=0;i<n.length;i++){const o=n[i];await this.writer.write(o)}}catch(i){fi("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){fi("closing WebTransport session"),this.session.close(),n&&n()}}As.WebTransport=hs});var Me=h((Ms)=>{function Rs(n){if(typeof n._query.j==="string")return new Rm.JSONP(n);else return new Km.Polling(n)}Object.defineProperty(Ms,"__esModule",{value:!0});var Km=Ke(),Rm=bs(),Mm=Fs(),Jm=Re();Ms.default={polling:Rs,websocket:Mm.WebSocket,webtransport:Jm.WebTransport};Rs.upgradesTo=["websocket","webtransport"]});var Je=h(($s)=>{Object.defineProperty($s,"__esModule",{value:!0});$s.Socket=void 0;var jm=import.meta.require("events"),km=q(),jn=import.meta.require("timers"),N=km.default("engine:socket");class Js extends jm.EventEmitter{get readyState(){return this._readyState}set readyState(n){N("readyState updated from %s to %s",this._readyState,n),this._readyState=n}constructor(n,i,o,e,a){super();if(this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=n,this.server=i,this.request=e,this.protocol=a,e)if(e.websocket&&e.websocket._socket)this.remoteAddress=e.websocket._socket.remoteAddress;else this.remoteAddress=e.connection.remoteAddress;this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(o),this.onOpen()}onOpen(){if(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);if(this.emit("open"),this.protocol===3)this.resetPingTimeout();else this.schedulePing()}onPacket(n){if(this.readyState!=="open")return N("packet received with closed socket");switch(N(`received packet ${n.type}`),this.emit("packet",n),n.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}N("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}N("got pong"),jn.clearTimeout(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",n.data),this.emit("message",n.data);break}}onError(n){N("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=jn.setTimeout(()=>{N("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){jn.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=jn.setTimeout(()=>{if(this.readyState==="closed")return;this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(n){const i=this.onError.bind(this),o=()=>this.flush(),e=this.onPacket.bind(this),a=this.onDrain.bind(this),t=this.onClose.bind(this,"transport close");this.transport=n,this.transport.once("error",i),this.transport.on("ready",o),this.transport.on("packet",e),this.transport.on("drain",a),this.transport.once("close",t),this.cleanupFn.push(function(){n.removeListener("error",i),n.removeListener("ready",o),n.removeListener("packet",e),n.removeListener("drain",a),n.removeListener("close",t)})}onDrain(){if(this.sentCallbackFn.length>0){N("executing batch send callback");const n=this.sentCallbackFn.shift();if(n)for(let i=0;i<n.length;i++)n[i](this.transport)}}_maybeUpgrade(n){N('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;const i=jn.setTimeout(()=>{if(N("client did not complete upgrade - closing transport"),t(),n.readyState==="open")n.close()},this.server.opts.upgradeTimeout);let o;const e=(r)=>{if(r.type==="ping"&&r.data==="probe")N("got probe ping packet, sending pong"),n.send([{type:"pong",data:"probe"}]),this.emit("upgrading",n),clearInterval(o),o=setInterval(a,100);else if(r.type==="upgrade"&&this.readyState!=="closed"){if(N("got upgrade packet - upgrading"),t(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(n),this.emit("upgrade",n),this.flush(),this.readyState==="closing")n.close(()=>{this.onClose("forced close")})}else t(),n.close()},a=()=>{if(this.transport.name==="polling"&&this.transport.writable)N("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}])},t=()=>{this.upgrading=!1,clearInterval(o),jn.clearTimeout(i),n.removeListener("packet",e),n.removeListener("close",c),n.removeListener("error",s),this.removeListener("close",l)},s=(r)=>{N("client did not complete upgrade - %s",r),t(),n.close(),n=null},c=()=>{s("transport closed")},l=()=>{s("socket closed")};n.on("packet",e),n.once("close",c),n.once("error",s),this.once("close",l)}clearTransport(){let n;const i=this.cleanupFn.length;for(let o=0;o<i;o++)n=this.cleanupFn.shift(),n();this.transport.on("error",function(){N("error triggered by discarded transport")}),this.transport.close(),jn.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",jn.clearTimeout(this.pingIntervalTimer),jn.clearTimeout(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",n,i)}send(n,i,o){return this.sendPacket("message",n,i,o),this}write(n,i,o){return this.sendPacket("message",n,i,o),this}sendPacket(n,i,o={},e){if(typeof o==="function")e=o,o={};if(this.readyState!=="closing"&&this.readyState!=="closed"){N('sending packet "%s" (%s)',n,i),o.compress=o.compress!==!1;const a={type:n,options:o};if(i)a.data=i;if(this.emit("packetCreate",a),this.writeBuffer.push(a),typeof e==="function")this.packetsFn.push(e);this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){N("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);const n=this.writeBuffer;if(this.writeBuffer=[],this.packetsFn.length)this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[];else this.sentCallbackFn.push(null);this.transport.send(n),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){const n=[],i=this.server.upgrades(this.transport.name);for(let o=0;o<i.length;++o){const e=i[o];if(this.server.opts.transports.indexOf(e)!==-1)n.push(e)}return n}close(n){if(n&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(n);if(this.readyState!=="open")return;if(this.readyState="closing",this.writeBuffer.length){N("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{N("all packets have been sent, closing the transport"),this.closeTransport(n)});return}N("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(N("closing the transport (discard? %s)",!!n),n)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}}$s.Socket=Js});var ks=h((Em)=>{function Cm(n,i){if(typeof n!=="string")throw new TypeError("argument str must be a string");var o={},e=i||{},a=n.split(";"),t=e.decode||Om;for(var s=0;s<a.length;s++){var c=a[s],l=c.indexOf("=");if(l<0)continue;var r=c.substring(0,l).trim();if(o[r]==null){var p=c.substring(l+1,c.length).trim();if(p[0]==='"')p=p.slice(1,-1);o[r]=Im(p,t)}}return o}function Wm(n,i,o){var e=o||{},a=e.encode||zm;if(typeof a!=="function")throw new TypeError("option encode is invalid");if(!go.test(n))throw new TypeError("argument name is invalid");var t=a(i);if(t&&!go.test(t))throw new TypeError("argument val is invalid");var s=n+"="+t;if(e.maxAge!=null){var c=e.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(c)}if(e.domain){if(!go.test(e.domain))throw new TypeError("option domain is invalid");s+="; Domain="+e.domain}if(e.path){if(!go.test(e.path))throw new TypeError("option path is invalid");s+="; Path="+e.path}if(e.expires){if(typeof e.expires.toUTCString!=="function")throw new TypeError("option expires is invalid");s+="; Expires="+e.expires.toUTCString()}if(e.httpOnly)s+="; HttpOnly";if(e.secure)s+="; Secure";if(e.sameSite){var l=typeof e.sameSite==="string"?e.sameSite.toLowerCase():e.sameSite;switch(l){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s}function Im(n,i){try{return i(n)}catch(o){return n}}/*!
26
+ */var Ma=import.meta.require("crypto"),gl=function(){};gl.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Ma.randomBytes(n);var c=parseInt(i/n),p=parseInt(c*0.85);if(!p)return Ma.randomBytes(n);if(this.bytesBufferIndex==null)this.bytesBufferIndex=-1;if(this.bytesBufferIndex==c)this.bytesBuffer=null,this.bytesBufferIndex=-1;if(this.bytesBufferIndex==-1||this.bytesBufferIndex>p){if(!this.isGeneratingBytes)this.isGeneratingBytes=!0,Ma.randomBytes(i,function(x,m){o.bytesBuffer=m,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Ma.randomBytes(n)}var a=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};gl.prototype.generateId=function(){var n=Buffer.alloc(15);if(!n.writeInt32BE)return Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString();if(this.sequenceNumber=this.sequenceNumber+1|0,n.writeInt32BE(this.sequenceNumber,11),Ma.randomBytes)this.getRandomBytes(12).copy(n);else[0,4,8].forEach(function(i){n.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)});return n.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")};T1=M1.exports=new gl});var yx=I((K1)=>{Object.defineProperty(K1,"__esModule",{value:!0});K1.ERROR_PACKET=K1.PACKET_TYPES_REVERSE=K1.PACKET_TYPES=void 0;var Oo=Object.create(null);K1.PACKET_TYPES=Oo;Oo.open="0";Oo.close="1";Oo.ping="2";Oo.pong="3";Oo.message="4";Oo.upgrade="5";Oo.noop="6";var R1=Object.create(null);K1.PACKET_TYPES_REVERSE=R1;Object.keys(Oo).forEach((n)=>{R1[Oo[n]]=n});var N8={type:"error",data:"parser error"};K1.ERROR_PACKET=N8});var G1=I((z1)=>{function D8(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(X1(n.data,!1));z1.encodePacket(n,!0,(o)=>{if(!nf)nf=new TextEncoder;i(nf.encode(o))})}Object.defineProperty(z1,"__esModule",{value:!0});z1.encodePacket=void 0;z1.encodePacketToBinary=D8;var y8=yx(),h8=({type:n,data:i},o,c)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return c(o?i:"b"+X1(i,!0).toString("base64"));return c(y8.PACKET_TYPES[n]+(i||""))};z1.encodePacket=h8;var X1=(n,i)=>{if(Buffer.isBuffer(n)||n instanceof Uint8Array&&!i)return n;else if(n instanceof ArrayBuffer)return Buffer.from(n);else return Buffer.from(n.buffer,n.byteOffset,n.byteLength)},nf});var H1=I((u1)=>{Object.defineProperty(u1,"__esModule",{value:!0});u1.decodePacket=void 0;var hx=yx(),t8=(n,i)=>{if(typeof n!=="string")return{type:"message",data:Y1(n,i)};const o=n.charAt(0);if(o==="b"){const c=Buffer.from(n.substring(1),"base64");return{type:"message",data:Y1(c,i)}}if(!hx.PACKET_TYPES_REVERSE[o])return hx.ERROR_PACKET;return n.length>1?{type:hx.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:hx.PACKET_TYPES_REVERSE[o]}};u1.decodePacket=t8;var Y1=(n,i)=>{switch(i){case"arraybuffer":if(n instanceof ArrayBuffer)return n;else if(Buffer.isBuffer(n))return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);else return n.buffer;case"nodebuffer":default:if(Buffer.isBuffer(n))return n;else return Buffer.from(n)}}});var Ra=I((tx)=>{function r8(){return new TransformStream({transform(n,i){pf.encodePacketToBinary(n,(o)=>{const c=o.length;let p;if(c<126)p=new Uint8Array(1),new DataView(p.buffer).setUint8(0,c);else if(c<65536){p=new Uint8Array(3);const a=new DataView(p.buffer);a.setUint8(0,126),a.setUint16(1,c)}else{p=new Uint8Array(9);const a=new DataView(p.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(c))}if(n.data&&typeof n.data!=="string")p[0]|=128;i.enqueue(p),i.enqueue(o)})}})}function Dx(n){return n.reduce((i,o)=>i+o.length,0)}function Ix(n,i){if(n[0].length===i)return n.shift();const o=new Uint8Array(i);let c=0;for(let p=0;p<i;p++)if(o[p]=n[0][c++],c===n[0].length)n.shift(),c=0;if(n.length&&c<n[0].length)n[0]=n[0].slice(c);return o}function Z8(n,i){if(!cf)cf=new TextDecoder;const o=[];let c=0,p=-1,a=!1;return new TransformStream({transform(x,m){o.push(x);while(!0){if(c===0){if(Dx(o)<1)break;const l=Ix(o,1);if(a=(l[0]&128)===128,p=l[0]&127,p<126)c=3;else if(p===126)c=1;else c=2}else if(c===1){if(Dx(o)<2)break;const l=Ix(o,2);p=new DataView(l.buffer,l.byteOffset,l.length).getUint16(0),c=3}else if(c===2){if(Dx(o)<8)break;const l=Ix(o,8),f=new DataView(l.buffer,l.byteOffset,l.length),$=f.getUint32(0);if($>Math.pow(2,21)-1){m.enqueue(E1.ERROR_PACKET);break}p=$*Math.pow(2,32)+f.getUint32(4),c=3}else{if(Dx(o)<p)break;const l=Ix(o,p);m.enqueue(af.decodePacket(a?l:cf.decode(l),i)),c=0}if(p===0||p>n){m.enqueue(E1.ERROR_PACKET);break}}}})}Object.defineProperty(tx,"__esModule",{value:!0});tx.decodePayload=tx.decodePacket=tx.encodePayload=tx.encodePacket=tx.protocol=void 0;tx.createPacketEncoderStream=r8;tx.createPacketDecoderStream=Z8;var pf=G1();Object.defineProperty(tx,"encodePacket",{enumerable:!0,get:function(){return pf.encodePacket}});var af=H1();Object.defineProperty(tx,"decodePacket",{enumerable:!0,get:function(){return af.decodePacket}});var E1=yx(),Q1=String.fromCharCode(30),C8=(n,i)=>{const o=n.length,c=new Array(o);let p=0;n.forEach((a,x)=>{pf.encodePacket(a,!1,(m)=>{if(c[x]=m,++p===o)i(c.join(Q1))})})};tx.encodePayload=C8;var k8=(n,i)=>{const o=n.split(Q1),c=[];for(let p=0;p<o.length;p++){const a=af.decodePacket(o[p],i);if(c.push(a),a.type==="error")break}return c};tx.decodePayload=k8;var cf;tx.protocol=4});var s1=I((nN,_1)=>{function V1(n){var i=[],o=0,c=n.length,p,a;while(o<c)if(p=n.charCodeAt(o++),p>=55296&&p<=56319&&o<c)if(a=n.charCodeAt(o++),(a&64512)==56320)i.push(((p&1023)<<10)+(a&1023)+65536);else i.push(p),o--;else i.push(p);return i}function d8(n){var i=n.length,o=-1,c,p="";while(++o<i){if(c=n[o],c>65535)c-=65536,p+=cc(c>>>10&1023|55296),c=56320|c&1023;p+=cc(c)}return p}function b1(n,i){if(n>=55296&&n<=57343){if(i)throw Error("Lone surrogate U+"+n.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function xf(n,i){return cc(n>>i&63|128)}function nK(n,i){if((n&4294967168)==0)return cc(n);var o="";if((n&4294965248)==0)o=cc(n>>6&31|192);else if((n&4294901760)==0){if(!b1(n,i))n=65533;o=cc(n>>12&15|224),o+=xf(n,6)}else if((n&4292870144)==0)o=cc(n>>18&7|240),o+=xf(n,12),o+=xf(n,6);return o+=cc(n&63|128),o}function iK(n,i){i=i||{};var o=i.strict!==!1,c=V1(n),p=c.length,a=-1,x,m="";while(++a<p)x=c[a],m+=nK(x,o);return m}function cp(){if(pc>=kx)throw Error("Invalid byte index");var n=Cx[pc]&255;if(pc++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function oK(n){var i,o,c,p,a;if(pc>kx)throw Error("Invalid byte index");if(pc==kx)return!1;if(i=Cx[pc]&255,pc++,(i&128)==0)return i;if((i&224)==192)if(o=cp(),a=(i&31)<<6|o,a>=128)return a;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=cp(),c=cp(),a=(i&15)<<12|o<<6|c,a>=2048)return b1(a,n)?a:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=cp(),c=cp(),p=cp(),a=(i&7)<<18|o<<12|c<<6|p,a>=65536&&a<=1114111)return a}throw Error("Invalid UTF-8 detected")}function cK(n,i){i=i||{};var o=i.strict!==!1;Cx=V1(n),kx=Cx.length,pc=0;var c=[],p;while((p=oK(o))!==!1)c.push(p);return d8(c)}/*! https://mths.be/utf8js v2.1.2 by @mathias */var cc=String.fromCharCode,Cx,kx,pc;_1.exports={version:"2.1.2",encode:iK,decode:cK}});var t1=I((I1)=>{function mf(n,i,o,c){if(typeof i==="function")c=i,i=null;if(typeof o==="function")c=o,o=null;if(Buffer.isBuffer(n.data))return j1(n,i,c);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return j1({type:n.type,data:ff(n.data)},i,c);var p=I1.packets[n.type];if(n.data!==void 0)p+=o?N1.encode(String(n.data),{strict:!1}):String(n.data);return c(""+p)}function j1(n,i,o){if(!i)return L1(n,o);var c=n.data,p=Buffer.allocUnsafe(1);return p[0]=I1.packets[n.type],o(Buffer.concat([p,c]))}function L1(n,i){var o=Buffer.isBuffer(n.data)?n.data:ff(n.data),c="b"+I1.packets[n.type];return c+=o.toString("base64"),i(c)}function lf(n,i,o){if(n===void 0)return wo;var c;if(typeof n==="string"){if(c=n.charAt(0),c==="b")return B1(n.slice(1),i);if(o){if(n=xK(n),n===!1)return wo}if(Number(c)!=c||!pp[c])return wo;if(n.length>1)return{type:pp[c],data:n.slice(1)};else return{type:pp[c]}}if(i==="arraybuffer"){var p=new Uint8Array(n);return c=p[0],{type:pp[c],data:p.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=ff(n);return c=n[0],{type:pp[c],data:n.slice(1)}}function xK(n){try{n=N1.decode(n,{strict:!1})}catch(i){return!1}return n}function B1(n,i){var o=pp[n.charAt(0)],c=Buffer.from(n.slice(1),"base64");if(i==="arraybuffer"){var p=new Uint8Array(c.length);for(var a=0;a<p.length;a++)p[a]=c[a];c=p.buffer}return{type:o,data:c}}function mK(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&pK(n))return h1(n,o);if(!n.length)return o("0:");function c(p,a){mf(p,i,!1,function(x){a(null,lK(x))})}y1(n,c,function(p,a){return o(a.join(""))})}function lK(n){return n.length+":"+n}function y1(n,i,o){const c=new Array(n.length);let p=0;for(let a=0;a<n.length;a++)i(n[a],(x,m)=>{if(c[a]=m,++p===n.length)o(null,c)})}function fK(n,i,o){if(typeof n!=="string")return D1(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(wo,0,1);var c="",p,a,x;for(var m=0,l=n.length;m<l;m++){var f=n.charAt(m);if(f!==":"){c+=f;continue}if(c===""||c!=(p=Number(c)))return o(wo,0,1);if(a=n.slice(m+1,m+1+p),c!=a.length)return o(wo,0,1);if(a.length){if(x=lf(a,i,!1),wo.type===x.type&&wo.data===x.data)return o(wo,0,1);var $=o(x,m+p,l);if($===!1)return}m+=p,c=""}if(c!=="")return o(wo,0,1)}function $K(n){var i="";for(var o=0,c=n.length;o<c;o++)i+=String.fromCharCode(n[o]);return i}function vK(n){var i=Buffer.allocUnsafe(n.length);for(var o=0,c=n.length;o<c;o++)i.writeUInt8(n.charCodeAt(o),o);return i}function ff(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function h1(n,i){if(!n.length)return i(aK);y1(n,wK,function(o,c){return i(Buffer.concat(c))})}function wK(n,i){function o(c){var p=""+c.length,a;if(typeof c==="string"){a=Buffer.allocUnsafe(p.length+2),a[0]=0;for(var x=0;x<p.length;x++)a[x+1]=parseInt(p[x],10);return a[a.length-1]=255,i(null,Buffer.concat([a,vK(c)]))}a=Buffer.allocUnsafe(p.length+2),a[0]=1;for(var x=0;x<p.length;x++)a[x+1]=parseInt(p[x],10);a[a.length-1]=255,i(null,Buffer.concat([a,c]))}mf(n,!0,!0,o)}function D1(n,i,o){if(typeof i==="function")o=i,i=null;var c=n,p=[],a;while(c.length>0){var x="",m=c[0]===0;for(a=1;;a++){if(c[a]===255)break;if(x.length>310)return o(wo,0,1);x+=""+c[a]}c=c.slice(x.length+1);var l=parseInt(x,10),f=c.slice(1,l+1);if(m)f=$K(f);p.push(f),c=c.slice(l+1)}var $=p.length;for(a=0;a<$;a++){var v=p[a];o(lf(v,i,!0),a,$)}}Object.defineProperty(I1,"__esModule",{value:!0});I1.packets=I1.protocol=void 0;I1.encodePacket=mf;I1.encodeBase64Packet=L1;I1.decodePacket=lf;I1.decodeBase64Packet=B1;I1.encodePayload=mK;I1.decodePayload=fK;I1.encodePayloadAsBinary=h1;I1.decodePayloadAsBinary=D1;var N1=s1();I1.protocol=3;var pK=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};I1.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var pp=Object.keys(I1.packets),wo={type:"error",data:"parser error"},aK=Buffer.concat([])});var k1=I((oN,C1)=>{function GK(n){if(n=String(n),n.length>100)return;var i=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(!i)return;var o=parseFloat(i[1]),c=(i[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return o*zK;case"weeks":case"week":case"w":return o*XK;case"days":case"day":case"d":return o*Gc;case"hours":case"hour":case"hrs":case"hr":case"h":return o*lp;case"minutes":case"minute":case"mins":case"min":case"m":return o*mp;case"seconds":case"second":case"secs":case"sec":case"s":return o*xp;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function YK(n){var i=Math.abs(n);if(i>=Gc)return Math.round(n/Gc)+"d";if(i>=lp)return Math.round(n/lp)+"h";if(i>=mp)return Math.round(n/mp)+"m";if(i>=xp)return Math.round(n/xp)+"s";return n+"ms"}function uK(n){var i=Math.abs(n);if(i>=Gc)return rx(n,i,Gc,"day");if(i>=lp)return rx(n,i,lp,"hour");if(i>=mp)return rx(n,i,mp,"minute");if(i>=xp)return rx(n,i,xp,"second");return n+" ms"}function rx(n,i,o,c){var p=i>=o*1.5;return Math.round(n/o)+" "+c+(p?"s":"")}var xp=1000,mp=xp*60,lp=mp*60,Gc=lp*24,XK=Gc*7,zK=Gc*365.25;C1.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return GK(n);else if(o==="number"&&isFinite(n))return i.long?uK(n):YK(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))}});var $f=I((cN,r1)=>{function OK(n){o.debug=o,o.default=o,o.coerce=l,o.disable=a,o.enable=p,o.enabled=x,o.humanize=k1(),o.destroy=f,Object.keys(n).forEach(($)=>{o[$]=n[$]}),o.names=[],o.skips=[],o.formatters={};function i($){let v=0;for(let S=0;S<$.length;S++)v=(v<<5)-v+$.charCodeAt(S),v|=0;return o.colors[Math.abs(v)%o.colors.length]}o.selectColor=i;function o($){let v,S=null,T,R;function F(...X){if(!F.enabled)return;const z=F,Y=Number(new Date),E=Y-(v||Y);if(z.diff=E,z.prev=v,z.curr=Y,v=Y,X[0]=o.coerce(X[0]),typeof X[0]!=="string")X.unshift("%O");let s=0;X[0]=X[0].replace(/%([a-zA-Z%])/g,(M,O)=>{if(M==="%%")return"%";s++;const U=o.formatters[O];if(typeof U==="function"){const V=X[s];M=U.call(z,V),X.splice(s,1),s--}return M}),o.formatArgs.call(z,X),(z.log||o.log).apply(z,X)}if(F.namespace=$,F.useColors=o.useColors(),F.color=o.selectColor($),F.extend=c,F.destroy=o.destroy,Object.defineProperty(F,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(S!==null)return S;if(T!==o.namespaces)T=o.namespaces,R=o.enabled($);return R},set:(X)=>{S=X}}),typeof o.init==="function")o.init(F);return F}function c($,v){const S=o(this.namespace+(typeof v==="undefined"?":":v)+$);return S.log=this.log,S}function p($){o.save($),o.namespaces=$,o.names=[],o.skips=[];let v;const S=(typeof $==="string"?$:"").split(/[\s,]+/),T=S.length;for(v=0;v<T;v++){if(!S[v])continue;if($=S[v].replace(/\*/g,".*?"),$[0]==="-")o.skips.push(new RegExp("^"+$.slice(1)+"$"));else o.names.push(new RegExp("^"+$+"$"))}}function a(){const $=[...o.names.map(m),...o.skips.map(m).map((v)=>"-"+v)].join(",");return o.enable(""),$}function x($){if($[$.length-1]==="*")return!0;let v,S;for(v=0,S=o.skips.length;v<S;v++)if(o.skips[v].test($))return!1;for(v=0,S=o.names.length;v<S;v++)if(o.names[v].test($))return!0;return!1}function m($){return $.toString().substring(2,$.toString().length-2).replace(/\.\*\?$/,"*")}function l($){if($ instanceof Error)return $.stack||$.message;return $}function f(){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 o.enable(o.load()),o}r1.exports=OK});var q1=I((Z1,qx)=>{function HK(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let n;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(n=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(n[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function EK(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+qx.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;n.splice(1,0,i,"color: inherit");let o=0,c=0;n[0].replace(/%[a-zA-Z%]/g,(p)=>{if(p==="%%")return;if(o++,p==="%c")c=o}),n.splice(c,0,i)}function QK(n){try{if(n)Z1.storage.setItem("debug",n);else Z1.storage.removeItem("debug")}catch(i){}}function UK(){let n;try{n=Z1.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function VK(){try{return localStorage}catch(n){}}Z1.formatArgs=EK;Z1.save=QK;Z1.load=UK;Z1.useColors=HK;Z1.storage=VK();Z1.destroy=(()=>{let n=!1;return()=>{if(!n)n=!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`.")}})();Z1.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"];Z1.log=console.debug||console.log||(()=>{});qx.exports=$f()(Z1);var{formatters:bK}=qx.exports;bK.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var e1=I((aN,P1)=>{P1.exports=(n,i)=>{i=i||process.argv;const o=n.startsWith("-")?"":n.length===1?"-":"--",c=i.indexOf(o+n),p=i.indexOf("--");return c!==-1&&(p===-1?!0:c<p)}});var d1=I((xN,g1)=>{function DK(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function IK(n){if(fp===!1)return 0;if(So("color=16m")||So("color=full")||So("color=truecolor"))return 3;if(So("color=256"))return 2;if(n&&!n.isTTY&&fp!==!0)return 0;const i=fp?1:0;if(process.platform==="win32"){const o=hK.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(o[0])>=10&&Number(o[2])>=10586)return Number(o[2])>=14931?3:2;return 1}if("CI"in Ai){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in Ai))||Ai.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in Ai)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ai.TEAMCITY_VERSION)?1:0;if(Ai.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ai){const o=parseInt((Ai.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ai.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Ai.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ai.TERM))return 1;if("COLORTERM"in Ai)return 1;if(Ai.TERM==="dumb")return i;return i}function vf(n){const i=IK(n);return DK(i)}var hK=import.meta.require("os"),So=e1(),Ai=process.env,fp;if(So("no-color")||So("no-colors")||So("color=false"))fp=!1;else if(So("color")||So("colors")||So("color=true")||So("color=always"))fp=!0;if("FORCE_COLOR"in Ai)fp=Ai.FORCE_COLOR.length===0||parseInt(Ai.FORCE_COLOR,10)!==0;g1.exports={supportsColor:vf,stdout:vf(process.stdout),stderr:vf(process.stderr)}});var cJ=I((iJ,ex)=>{function CK(){return"colors"in iJ.inspectOpts?Boolean(iJ.inspectOpts.colors):tK.isatty(process.stderr.fd)}function kK(n){const{namespace:i,useColors:o}=this;if(o){const c=this.color,p="\x1B[3"+(c<8?c:"8;5;"+c),a=` ${p};1m${i} \x1B[0m`;n[0]=a+n[0].split("\n").join("\n"+a),n.push(p+"m+"+ex.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=rK()+i+" "+n[0]}function rK(){if(iJ.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function ZK(...n){return process.stderr.write(Px.formatWithOptions(iJ.inspectOpts,...n)+"\n")}function qK(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function PK(){return process.env.DEBUG}function eK(n){n.inspectOpts={};const i=Object.keys(iJ.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=iJ.inspectOpts[i[o]]}var tK=import.meta.require("tty"),Px=import.meta.require("util");iJ.init=eK;iJ.log=ZK;iJ.formatArgs=kK;iJ.save=qK;iJ.load=PK;iJ.useColors=CK;iJ.destroy=Px.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");iJ.colors=[6,2,3,4,5,1];try{const n=d1();if(n&&(n.stderr||n).level>=2)iJ.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(n){}iJ.inspectOpts=Object.keys(process.env).filter((n)=>{return/^debug_/i.test(n)}).reduce((n,i)=>{const o=i.substring(6).toLowerCase().replace(/_([a-z])/g,(p,a)=>{return a.toUpperCase()});let c=process.env[i];if(/^(yes|on|true|enabled)$/i.test(c))c=!0;else if(/^(no|off|false|disabled)$/i.test(c))c=!1;else if(c==="null")c=null;else c=Number(c);return n[o]=c,n},{});ex.exports=$f()(iJ);var{formatters:nJ}=ex.exports;nJ.o=function(n){return this.inspectOpts.colors=this.useColors,Px.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};nJ.O=function(n){return this.inspectOpts.colors=this.useColors,Px.inspect(n,this.inspectOpts)}});var ai=I((lN,wf)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)wf.exports=q1();else wf.exports=cJ()});var uc=I((xJ)=>{function f6(){}Object.defineProperty(xJ,"__esModule",{value:!0});xJ.Transport=void 0;var a6=import.meta.require("events"),x6=Ra(),m6=t1(),l6=ai(),pJ=l6.default("engine:transport");class aJ extends a6.EventEmitter{get readyState(){return this._readyState}set readyState(n){pJ("readyState updated from %s to %s (%s)",this._readyState,n,this.name),this._readyState=n}constructor(n){super();this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=n._query.EIO==="4"?4:3,this.parser=this.protocol===4?x6:m6,this.supportsBinary=!(n._query&&n._query.b64)}discard(){this.discarded=!0}onRequest(n){}close(n){if(this.readyState==="closed"||this.readyState==="closing")return;this.readyState="closing",this.doClose(n||f6)}onError(n,i){if(this.listeners("error").length){const o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else pJ("ignored transport error %s (%s)",n,i)}onPacket(n){this.emit("packet",n)}onData(n){this.onPacket(this.parser.decodePacket(n))}onClose(){this.readyState="closed",this.emit("close")}}xJ.Transport=aJ});var Sf=I(($J)=>{Object.defineProperty($J,"__esModule",{value:!0});$J.Polling=void 0;var $6=uc(),lJ=import.meta.require("zlib"),v6=Bx(),w6=ai(),hi=w6.default("engine:polling"),S6={gzip:lJ.createGzip,deflate:lJ.createDeflate};class fJ extends $6.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.method==="GET")this.onPollRequest(n,i);else if(n.method==="POST")this.onDataRequest(n,i);else i.writeHead(500),i.end()}onPollRequest(n,i){if(this.req){hi("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}hi("setting request"),this.req=n,this.res=i;const o=()=>{this.onError("poll connection closed prematurely")},c=()=>{n.removeListener("close",o),this.req=this.res=null};if(n.cleanup=c,n.on("close",o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)hi("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeHead(400),i.end();return}const o=n.headers["content-type"]==="application/octet-stream";if(o&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let c=o?Buffer.concat([]):"";const p=()=>{n.removeListener("data",x),n.removeListener("end",m),n.removeListener("close",a),this.dataReq=this.dataRes=c=null},a=()=>{p(),this.onError("data request connection closed prematurely")},x=(l)=>{let f;if(o)c=Buffer.concat([c,l]),f=c.length;else c+=l,f=Buffer.byteLength(c);if(f>this.maxHttpBufferSize)i.writeHead(413).end(),p()},m=()=>{this.onData(c);const l={"Content-Type":"text/html","Content-Length":"2"};i.writeHead(200,this.headers(n,l)),i.end("ok"),p()};if(n.on("close",a),!o)n.setEncoding("utf8");n.on("data",x),n.on("end",m)}onData(n){hi('received "%s"',n);const i=(o)=>{if(o.type==="close")return hi("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)hi("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const c=n.some((p)=>{return p.options&&p.options.compress});this.write(o,{compress:c})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){hi('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const c=typeof n==="string",a={"Content-Type":c?"text/plain; charset=UTF-8":"application/octet-stream"},x=(f)=>{a["Content-Length"]=typeof f==="string"?Buffer.byteLength(f):f.length,this.res.writeHead(200,this.headers(this.req,a)),this.res.end(f),o()};if(!this.httpCompression||!i.compress){x(n);return}if((c?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){x(n);return}const l=v6(this.req).encodings(["gzip","deflate"]);if(!l){x(n);return}this.compress(n,l,(f,$)=>{if(f){this.res.writeHead(500),this.res.end(),o(f);return}a["Content-Encoding"]=l,x($)})}compress(n,i,o){hi("compressing");const c=[];let p=0;S6[i](this.httpCompression).on("error",o).on("data",function(a){c.push(a),p+=a.length}).on("end",function(){o(null,Buffer.concat(c,p))}).end(n)}doClose(n){hi("closing");let i;if(this.dataReq)hi("aborting ongoing data request"),this.dataReq.destroy();const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)hi("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)hi("transport discarded - closing right away"),o();else hi("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i={}){const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}$J.Polling=fJ});var AJ=I((SJ)=>{Object.defineProperty(SJ,"__esModule",{value:!0});SJ.JSONP=void 0;var J6=Sf(),A6=import.meta.require("querystring"),F6=/\\\\n/g,T6=/(\\)?\\n/g;class wJ extends J6.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=A6.parse(n).d,typeof n==="string")n=n.replace(T6,function(i,o){return o?i:"\n"}),super.onData(n.replace(F6,"\\n"))}doWrite(n,i,o){const c=JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");n=this.head+c+this.foot,super.doWrite(n,i,o)}}SJ.JSONP=wJ});var KJ=I((MJ)=>{Object.defineProperty(MJ,"__esModule",{value:!0});MJ.WebSocket=void 0;var M6=uc(),R6=ai(),FJ=R6.default("engine:ws");class TJ extends M6.Transport{constructor(n){super(n);this._doSend=(i)=>{this.socket.send(i,this._onSent)},this._doSendLast=(i)=>{this.socket.send(i,this._onSentLast)},this._onSent=(i)=>{if(i)this.onError("write error",i.stack)},this._onSentLast=(i)=>{if(i)this.onError("write error",i.stack);else this.emit("drain"),this.writable=!0,this.emit("ready")},this.socket=n.websocket,this.socket.on("message",(i,o)=>{const c=o?i:i.toString();FJ('received "%s"',c),super.onData(c)}),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(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],c=i+1===n.length;if(this._canSendPreEncodedFrame(o))this.socket._sender.sendFrame(o.options.wsPreEncodedFrame,c?this._onSentLast:this._onSent);else this.parser.encodePacket(o,this.supportsBinary,c?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(n){var i,o,c;return!this.perMessageDeflate&&typeof((o=(i=this.socket)===null||i===void 0?void 0:i._sender)===null||o===void 0?void 0:o.sendFrame)==="function"&&((c=n.options)===null||c===void 0?void 0:c.wsPreEncodedFrame)!==void 0}doClose(n){FJ("closing"),this.socket.close(),n&&n()}}MJ.WebSocket=TJ});var Jf=I((XJ)=>{Object.defineProperty(XJ,"__esModule",{value:!0});XJ.WebTransport=void 0;var K6=uc(),W6=ai(),X6=Ra(),$p=W6.default("engine:webtransport");class WJ extends K6.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;const c=X6.createPacketEncoderStream();c.readable.pipeTo(i.writable).catch(()=>{$p("the stream was closed")}),this.writer=c.writable.getWriter(),(async()=>{try{while(!0){const{value:p,done:a}=await o.read();if(a){$p("session is closed");break}$p("received chunk: %o",p),this.onPacket(p)}}catch(p){$p("error while reading: %s",p.message)}})(),n.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(n){this.writable=!1;try{for(let i=0;i<n.length;i++){const o=n[i];await this.writer.write(o)}}catch(i){$p("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){$p("closing WebTransport session"),this.session.close(),n&&n()}}XJ.WebTransport=WJ});var Af=I((YJ)=>{function GJ(n){if(typeof n._query.j==="string")return new G6.JSONP(n);else return new z6.Polling(n)}Object.defineProperty(YJ,"__esModule",{value:!0});var z6=Sf(),G6=AJ(),Y6=KJ(),u6=Jf();YJ.default={polling:GJ,websocket:Y6.WebSocket,webtransport:u6.WebTransport};GJ.upgradesTo=["websocket","webtransport"]});var Ff=I((OJ)=>{Object.defineProperty(OJ,"__esModule",{value:!0});OJ.Socket=void 0;var H6=import.meta.require("events"),E6=ai(),No=import.meta.require("timers"),Zn=E6.default("engine:socket");class uJ extends H6.EventEmitter{get readyState(){return this._readyState}set readyState(n){Zn("readyState updated from %s to %s",this._readyState,n),this._readyState=n}constructor(n,i,o,c,p){super();if(this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=n,this.server=i,this.request=c,this.protocol=p,c)if(c.websocket&&c.websocket._socket)this.remoteAddress=c.websocket._socket.remoteAddress;else this.remoteAddress=c.connection.remoteAddress;this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(o),this.onOpen()}onOpen(){if(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);if(this.emit("open"),this.protocol===3)this.resetPingTimeout();else this.schedulePing()}onPacket(n){if(this.readyState!=="open")return Zn("packet received with closed socket");switch(Zn(`received packet ${n.type}`),this.emit("packet",n),n.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}Zn("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}Zn("got pong"),No.clearTimeout(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",n.data),this.emit("message",n.data);break}}onError(n){Zn("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=No.setTimeout(()=>{Zn("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){No.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=No.setTimeout(()=>{if(this.readyState==="closed")return;this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(n){const i=this.onError.bind(this),o=()=>this.flush(),c=this.onPacket.bind(this),p=this.onDrain.bind(this),a=this.onClose.bind(this,"transport close");this.transport=n,this.transport.once("error",i),this.transport.on("ready",o),this.transport.on("packet",c),this.transport.on("drain",p),this.transport.once("close",a),this.cleanupFn.push(function(){n.removeListener("error",i),n.removeListener("ready",o),n.removeListener("packet",c),n.removeListener("drain",p),n.removeListener("close",a)})}onDrain(){if(this.sentCallbackFn.length>0){Zn("executing batch send callback");const n=this.sentCallbackFn.shift();if(n)for(let i=0;i<n.length;i++)n[i](this.transport)}}_maybeUpgrade(n){Zn('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;const i=No.setTimeout(()=>{if(Zn("client did not complete upgrade - closing transport"),a(),n.readyState==="open")n.close()},this.server.opts.upgradeTimeout);let o;const c=(f)=>{if(f.type==="ping"&&f.data==="probe")Zn("got probe ping packet, sending pong"),n.send([{type:"pong",data:"probe"}]),this.emit("upgrading",n),clearInterval(o),o=setInterval(p,100);else if(f.type==="upgrade"&&this.readyState!=="closed"){if(Zn("got upgrade packet - upgrading"),a(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(n),this.emit("upgrade",n),this.flush(),this.readyState==="closing")n.close(()=>{this.onClose("forced close")})}else a(),n.close()},p=()=>{if(this.transport.name==="polling"&&this.transport.writable)Zn("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}])},a=()=>{this.upgrading=!1,clearInterval(o),No.clearTimeout(i),n.removeListener("packet",c),n.removeListener("close",m),n.removeListener("error",x),this.removeListener("close",l)},x=(f)=>{Zn("client did not complete upgrade - %s",f),a(),n.close(),n=null},m=()=>{x("transport closed")},l=()=>{x("socket closed")};n.on("packet",c),n.once("close",m),n.once("error",x),this.once("close",l)}clearTransport(){let n;const i=this.cleanupFn.length;for(let o=0;o<i;o++)n=this.cleanupFn.shift(),n();this.transport.on("error",function(){Zn("error triggered by discarded transport")}),this.transport.close(),No.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",No.clearTimeout(this.pingIntervalTimer),No.clearTimeout(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",n,i)}send(n,i,o){return this.sendPacket("message",n,i,o),this}write(n,i,o){return this.sendPacket("message",n,i,o),this}sendPacket(n,i,o={},c){if(typeof o==="function")c=o,o={};if(this.readyState!=="closing"&&this.readyState!=="closed"){Zn('sending packet "%s" (%s)',n,i),o.compress=o.compress!==!1;const p={type:n,options:o};if(i)p.data=i;if(this.emit("packetCreate",p),this.writeBuffer.push(p),typeof c==="function")this.packetsFn.push(c);this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){Zn("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);const n=this.writeBuffer;if(this.writeBuffer=[],this.packetsFn.length)this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[];else this.sentCallbackFn.push(null);this.transport.send(n),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){const n=[],i=this.server.upgrades(this.transport.name);for(let o=0;o<i.length;++o){const c=i[o];if(this.server.opts.transports.indexOf(c)!==-1)n.push(c)}return n}close(n){if(n&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(n);if(this.readyState!=="open")return;if(this.readyState="closing",this.writeBuffer.length){Zn("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{Zn("all packets have been sent, closing the transport"),this.closeTransport(n)});return}Zn("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(Zn("closing the transport (discard? %s)",!!n),n)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}}OJ.Socket=uJ});var EJ=I((s6)=>{function V6(n,i){if(typeof n!=="string")throw new TypeError("argument str must be a string");var o={},c=i||{},p=n.split(";"),a=c.decode||Q6;for(var x=0;x<p.length;x++){var m=p[x],l=m.indexOf("=");if(l<0)continue;var f=m.substring(0,l).trim();if(o[f]==null){var $=m.substring(l+1,m.length).trim();if($[0]==='"')$=$.slice(1,-1);o[f]=_6($,a)}}return o}function b6(n,i,o){var c=o||{},p=c.encode||U6;if(typeof p!=="function")throw new TypeError("option encode is invalid");if(!gx.test(n))throw new TypeError("argument name is invalid");var a=p(i);if(a&&!gx.test(a))throw new TypeError("argument val is invalid");var x=n+"="+a;if(c.maxAge!=null){var m=c.maxAge-0;if(isNaN(m)||!isFinite(m))throw new TypeError("option maxAge is invalid");x+="; Max-Age="+Math.floor(m)}if(c.domain){if(!gx.test(c.domain))throw new TypeError("option domain is invalid");x+="; Domain="+c.domain}if(c.path){if(!gx.test(c.path))throw new TypeError("option path is invalid");x+="; Path="+c.path}if(c.expires){if(typeof c.expires.toUTCString!=="function")throw new TypeError("option expires is invalid");x+="; Expires="+c.expires.toUTCString()}if(c.httpOnly)x+="; HttpOnly";if(c.secure)x+="; Secure";if(c.sameSite){var l=typeof c.sameSite==="string"?c.sameSite.toLowerCase():c.sameSite;switch(l){case!0:x+="; SameSite=Strict";break;case"lax":x+="; SameSite=Lax";break;case"strict":x+="; SameSite=Strict";break;case"none":x+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return x}function _6(n,i){try{return i(n)}catch(o){return n}}/*!
27
27
  * cookie
28
28
  * Copyright(c) 2012-2014 Roman Shtylman
29
29
  * Copyright(c) 2015 Douglas Christopher Wilson
30
30
  * MIT Licensed
31
- */Em.parse=Cm;Em.serialize=Wm;var Om=decodeURIComponent,zm=encodeURIComponent,go=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/});var Cs=h((bh,zs)=>{function Xm(n){if(n===null||n===void 0)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function Gm(){try{if(!Object.assign)return!1;var n=new String("abc");if(n[5]="de",Object.getOwnPropertyNames(n)[0]==="5")return!1;var i={};for(var o=0;o<10;o++)i["_"+String.fromCharCode(o)]=o;var e=Object.getOwnPropertyNames(i).map(function(t){return i[t]});if(e.join("")!=="0123456789")return!1;var a={};if("abcdefghijklmnopqrst".split("").forEach(function(t){a[t]=t}),Object.keys(Object.assign({},a)).join("")!=="abcdefghijklmnopqrst")return!1;return!0}catch(t){return!1}}var Os=Object.getOwnPropertySymbols,Ym=Object.prototype.hasOwnProperty,Bm=Object.prototype.propertyIsEnumerable;zs.exports=Gm()?Object.assign:function(n,i){var o,e=Xm(n),a;for(var t=1;t<arguments.length;t++){o=Object(arguments[t]);for(var s in o)if(Ym.call(o,s))e[s]=o[s];if(Os){a=Os(o);for(var c=0;c<a.length;c++)if(Bm.call(o,a[c]))e[a[c]]=o[a[c]]}}return e}});var Es=h((Th,$e)=>{function Is(n,i){if(typeof n!=="string")throw new TypeError("header argument is required");if(!i)throw new TypeError("field argument is required");var o=!Array.isArray(i)?Ws(String(i)):i;for(var e=0;e<o.length;e++)if(!Zm.test(o[e]))throw new TypeError("field argument contains an invalid header name");if(n==="*")return n;var a=n,t=Ws(n.toLowerCase());if(o.indexOf("*")!==-1||t.indexOf("*")!==-1)return"*";for(var s=0;s<o.length;s++){var c=o[s].toLowerCase();if(t.indexOf(c)===-1)t.push(c),a=a?a+", "+o[s]:o[s]}return a}function Ws(n){var i=0,o=[],e=0;for(var a=0,t=n.length;a<t;a++)switch(n.charCodeAt(a)){case 32:if(e===i)e=i=a+1;break;case 44:o.push(n.substring(e,i)),e=i=a+1;break;default:i=a+1;break}return o.push(n.substring(e,i)),o}function Qm(n,i){if(!n||!n.getHeader||!n.setHeader)throw new TypeError("res argument is required");var o=n.getHeader("Vary")||"",e=Array.isArray(o)?o.join(", "):String(o);if(o=Is(e,i))n.setHeader("Vary",o)}/*!
31
+ */s6.parse=V6;s6.serialize=b6;var Q6=decodeURIComponent,U6=encodeURIComponent,gx=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/});var VJ=I((TN,UJ)=>{function y6(n){if(n===null||n===void 0)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function h6(){try{if(!Object.assign)return!1;var n=new String("abc");if(n[5]="de",Object.getOwnPropertyNames(n)[0]==="5")return!1;var i={};for(var o=0;o<10;o++)i["_"+String.fromCharCode(o)]=o;var c=Object.getOwnPropertyNames(i).map(function(a){return i[a]});if(c.join("")!=="0123456789")return!1;var p={};if("abcdefghijklmnopqrst".split("").forEach(function(a){p[a]=a}),Object.keys(Object.assign({},p)).join("")!=="abcdefghijklmnopqrst")return!1;return!0}catch(a){return!1}}var QJ=Object.getOwnPropertySymbols,L6=Object.prototype.hasOwnProperty,B6=Object.prototype.propertyIsEnumerable;UJ.exports=h6()?Object.assign:function(n,i){var o,c=y6(n),p;for(var a=1;a<arguments.length;a++){o=Object(arguments[a]);for(var x in o)if(L6.call(o,x))c[x]=o[x];if(QJ){p=QJ(o);for(var m=0;m<p.length;m++)if(B6.call(o,p[m]))c[p[m]]=o[p[m]]}}return c}});var sJ=I((MN,Tf)=>{function _J(n,i){if(typeof n!=="string")throw new TypeError("header argument is required");if(!i)throw new TypeError("field argument is required");var o=!Array.isArray(i)?bJ(String(i)):i;for(var c=0;c<o.length;c++)if(!D6.test(o[c]))throw new TypeError("field argument contains an invalid header name");if(n==="*")return n;var p=n,a=bJ(n.toLowerCase());if(o.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var x=0;x<o.length;x++){var m=o[x].toLowerCase();if(a.indexOf(m)===-1)a.push(m),p=p?p+", "+o[x]:o[x]}return p}function bJ(n){var i=0,o=[],c=0;for(var p=0,a=n.length;p<a;p++)switch(n.charCodeAt(p)){case 32:if(c===i)c=i=p+1;break;case 44:o.push(n.substring(c,i)),c=i=p+1;break;default:i=p+1;break}return o.push(n.substring(c,i)),o}function I6(n,i){if(!n||!n.getHeader||!n.setHeader)throw new TypeError("res argument is required");var o=n.getHeader("Vary")||"",c=Array.isArray(o)?o.join(", "):String(o);if(o=_J(c,i))n.setHeader("Vary",o)}/*!
32
32
  * vary
33
33
  * Copyright(c) 2014-2017 Douglas Christopher Wilson
34
34
  * MIT Licensed
35
- */$e.exports=Qm;$e.exports.append=Is;var Zm=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var je=h((Sh,Vs)=>{(function(){var n=Cs(),i=Es(),o={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function e(y){return typeof y==="string"||y instanceof String}function a(y,v){if(Array.isArray(v)){for(var u=0;u<v.length;++u)if(a(y,v[u]))return!0;return!1}else if(e(v))return y===v;else if(v instanceof RegExp)return v.test(y);else return!!v}function t(y,v){var u=v.headers.origin,b=[],S;if(!y.origin||y.origin==="*")b.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(e(y.origin))b.push([{key:"Access-Control-Allow-Origin",value:y.origin}]),b.push([{key:"Vary",value:"Origin"}]);else S=a(u,y.origin),b.push([{key:"Access-Control-Allow-Origin",value:S?u:!1}]),b.push([{key:"Vary",value:"Origin"}]);return b}function s(y){var v=y.methods;if(v.join)v=y.methods.join(",");return{key:"Access-Control-Allow-Methods",value:v}}function c(y){if(y.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function l(y,v){var u=y.allowedHeaders||y.headers,b=[];if(!u)u=v.headers["access-control-request-headers"],b.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(u.join)u=u.join(",");if(u&&u.length)b.push([{key:"Access-Control-Allow-Headers",value:u}]);return b}function r(y){var v=y.exposedHeaders;if(!v)return null;else if(v.join)v=v.join(",");if(v&&v.length)return{key:"Access-Control-Expose-Headers",value:v};return null}function p(y){var v=(typeof y.maxAge==="number"||y.maxAge)&&y.maxAge.toString();if(v&&v.length)return{key:"Access-Control-Max-Age",value:v};return null}function m(y,v){for(var u=0,b=y.length;u<b;u++){var S=y[u];if(S){if(Array.isArray(S))m(S,v);else if(S.key==="Vary"&&S.value)i(v,S.value);else if(S.value)v.setHeader(S.key,S.value)}}}function T(y,v,u,b){var S=[],K=v.method&&v.method.toUpperCase&&v.method.toUpperCase();if(K==="OPTIONS")if(S.push(t(y,v)),S.push(c(y,v)),S.push(s(y,v)),S.push(l(y,v)),S.push(p(y,v)),S.push(r(y,v)),m(S,u),y.preflightContinue)b();else u.statusCode=y.optionsSuccessStatus,u.setHeader("Content-Length","0"),u.end();else S.push(t(y,v)),S.push(c(y,v)),S.push(r(y,v)),m(S,u),b()}function R(y){var v=null;if(typeof y==="function")v=y;else v=function(u,b){b(null,y)};return function u(b,S,K){v(b,function(W,x){if(W)K(W);else{var d=n({},o,x),A=null;if(d.origin&&typeof d.origin==="function")A=d.origin;else if(d.origin)A=function(w,g){g(null,d.origin)};if(A)A(b.headers.origin,function(w,g){if(w||!g)K(w);else d.origin=g,T(d,b,S,K)});else K()}})}}Vs.exports=R})()});var ke=h((Qs)=>{function nu(n){try{const i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}function Xs(n,i,o){const e=i===B.errors.FORBIDDEN?403:400,a=o&&o.message?o.message:B.errorMessages[i];n.writeHead(e,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:a}))}function Gs(n,i,o={}){if(n.on("error",()=>{C("ignoring error from closed connection")}),n.writable){const e=o.message||B.errorMessages[i],a=Buffer.byteLength(e);n.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+a+"\r\n\r\n"+e)}n.destroy()}function iu(n){if(n+="",n.length<1)return!1;if(!Ui[n.charCodeAt(0)])return C('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Ui[n.charCodeAt(1)])return C('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Ui[n.charCodeAt(2)])return C('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Ui[n.charCodeAt(3)])return C('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Ui[n.charCodeAt(i)])return C('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}Object.defineProperty(Qs,"__esModule",{value:!0});Qs.Server=Qs.BaseServer=void 0;var Hm=import.meta.require("querystring"),Nm=import.meta.require("url"),Us=xe(),Fo=Me(),Dm=import.meta.require("events"),Ys=Je(),Lm=q(),Pm=ks(),_m=import.meta.require("ws"),Bs=Re(),qm=Vi(),C=Lm.default("engine"),yi=Symbol("responseHeaders");class Yi extends Dm.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:_m.Server,pingTimeout:20000,pingInterval:25000,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},n),n.cookie)this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:n.cookie.path!==!1,sameSite:"lax"},n.cookie);if(this.opts.cors)this.use(je()(this.opts.cors));if(n.perMessageDeflate)this.opts.perMessageDeflate=Object.assign({threshold:1024},n.perMessageDeflate);this.init()}_computePath(n){let i=(n.path||"/engine.io").replace(/\/$/,"");if(n.addTrailingSlash!==!1)i+="/";return i}upgrades(n){if(!this.opts.allowUpgrades)return[];return Fo.default[n].upgradesTo||[]}verify(n,i,o){const e=n._query.transport;if(!~this.opts.transports.indexOf(e)||e==="webtransport")return C('unknown transport "%s"',e),o(B.errors.UNKNOWN_TRANSPORT,{transport:e});if(iu(n.headers.origin)){const s=n.headers.origin;return n.headers.origin=null,C("origin header invalid"),o(B.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:s})}const t=n._query.sid;if(t){if(!this.clients.hasOwnProperty(t))return C('unknown sid "%s"',t),o(B.errors.UNKNOWN_SID,{sid:t});const s=this.clients[t].transport.name;if(!i&&s!==e)return C("bad request: unexpected transport without upgrade"),o(B.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:e,previousTransport:s})}else{if(n.method!=="GET")return o(B.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(e==="websocket"&&!i)return C("invalid transport upgrade"),o(B.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(s,c)=>{if(!c)return o(B.errors.FORBIDDEN,{message:s});o()})}o()}use(n){this.middlewares.push(n)}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return C("no middleware to apply, skipping"),o();const e=(a)=>{C("applying middleware n\xB0%d",a+1),this.middlewares[a](n,i,(t)=>{if(t)return o(t);if(a+1<this.middlewares.length)e(a+1);else o()})};e(0)}close(){C("closing all open clients");for(let n in this.clients)if(this.clients.hasOwnProperty(n))this.clients[n].close(!0);return this.cleanup(),this}generateId(n){return Us.generateId()}async handshake(n,i,o){const e=i._query.EIO==="4"?4:3;if(e===3&&!this.opts.allowEIO3){C("unsupported protocol version"),this.emit("connection_error",{req:i,code:B.errors.UNSUPPORTED_PROTOCOL_VERSION,message:B.errorMessages[B.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:e}}),o(B.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let a;try{a=await this.generateId(i)}catch(c){C("error while generating an id"),this.emit("connection_error",{req:i,code:B.errors.BAD_REQUEST,message:B.errorMessages[B.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:c}}),o(B.errors.BAD_REQUEST);return}C('handshaking client "%s"',a);try{var t=this.createTransport(n,i);if(n==="polling")t.maxHttpBufferSize=this.opts.maxHttpBufferSize,t.httpCompression=this.opts.httpCompression;else if(n==="websocket")t.perMessageDeflate=this.opts.perMessageDeflate}catch(c){C('error handshaking to transport "%s"',n),this.emit("connection_error",{req:i,code:B.errors.BAD_REQUEST,message:B.errorMessages[B.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:c}}),o(B.errors.BAD_REQUEST);return}const s=new Ys.Socket(a,this,t,i,e);return t.on("headers",(c,l)=>{if(!l._query.sid){if(this.opts.cookie)c["Set-Cookie"]=[Pm.serialize(this.opts.cookie.name,a,this.opts.cookie)];this.emit("initial_headers",c,l)}this.emit("headers",c,l)}),t.onRequest(i),this.clients[a]=s,this.clientsCount++,s.once("close",()=>{delete this.clients[a],this.clientsCount--}),this.emit("connection",s),t}async onWebTransportSession(n){const i=setTimeout(()=>{C("the client failed to establish a bidirectional stream in the given period"),n.close()},this.opts.upgradeTimeout),e=await n.incomingBidirectionalStreams.getReader().read();if(e.done){C("session is closed");return}const a=e.value,t=qm.createPacketDecoderStream(this.opts.maxHttpBufferSize,"nodebuffer"),s=a.readable.pipeThrough(t).getReader(),{value:c,done:l}=await s.read();if(l){C("stream is closed");return}if(clearTimeout(i),c.type!=="open")return C("invalid WebTransport handshake"),n.close();if(c.data===void 0){const m=new Bs.WebTransport(n,a,s),T=Us.generateId();C('handshaking client "%s" (WebTransport)',T);const R=new Ys.Socket(T,this,m,null,4);this.clients[T]=R,this.clientsCount++,R.once("close",()=>{delete this.clients[T],this.clientsCount--}),this.emit("connection",R);return}const r=nu(c.data);if(!r)return C("invalid WebTransport handshake"),n.close();const p=this.clients[r];if(!p)C("upgrade attempt for closed client"),n.close();else if(p.upgrading)C("transport has already been trying to upgrade"),n.close();else if(p.upgraded)C("transport had already been upgraded"),n.close();else{C("upgrading existing transport");const m=new Bs.WebTransport(n,a,s);p._maybeUpgrade(m)}}}Qs.BaseServer=Yi;Yi.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};Yi.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class Zs{constructor(n,i){this.req=n,this.socket=i,n[yi]={}}setHeader(n,i){this.req[yi][n]=i}getHeader(n){return this.req[yi][n]}removeHeader(n){delete this.req[yi][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class B extends Yi{init(){if(!~this.opts.transports.indexOf("websocket"))return;if(this.ws)this.ws.close();if(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",(n,i)=>{const o=i[yi]||{};if(delete i[yi],!i._query.sid)this.emit("initial_headers",o,i);this.emit("headers",o,i),C("writing headers: %j",o),Object.keys(o).forEach((a)=>{n.push(`${a}: ${o[a]}`)})})}cleanup(){if(this.ws)C("closing webSocketServer"),this.ws.close()}prepare(n){if(!n._query)n._query=~n.url.indexOf("?")?Hm.parse(Nm.parse(n.url).query):{}}createTransport(n,i){return new Fo.default[n](i)}handleRequest(n,i){C('handling "%s" http request "%s"',n.method,n.url),this.prepare(n),n.res=i;const o=(e,a)=>{if(e!==void 0){this.emit("connection_error",{req:n,code:e,message:B.errorMessages[e],context:a}),Xs(i,e,a);return}if(n._query.sid)C("setting new request for existing client"),this.clients[n._query.sid].transport.onRequest(n);else{const t=(s,c)=>Xs(i,s,c);this.handshake(n._query.transport,n,t)}};this._applyMiddlewares(n,i,(e)=>{if(e)o(B.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);const e=new Zs(n,i),a=(t,s)=>{if(t!==void 0){this.emit("connection_error",{req:n,code:t,message:B.errorMessages[t],context:s}),Gs(i,t,s);return}const c=Buffer.from(o);o=null,e.writeHead(),this.ws.handleUpgrade(n,i,c,(l)=>{this.onWebSocket(n,i,l)})};this._applyMiddlewares(n,e,(t)=>{if(t)a(B.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,a)})}onWebSocket(n,i,o){if(o.on("error",a),Fo.default[n._query.transport]!==void 0&&!Fo.default[n._query.transport].prototype.handlesUpgrades){C("transport doesnt handle upgraded requests"),o.close();return}const e=n._query.sid;if(n.websocket=o,e){const t=this.clients[e];if(!t)C("upgrade attempt for closed client"),o.close();else if(t.upgrading)C("transport has already been trying to upgrade"),o.close();else if(t.upgraded)C("transport had already been upgraded"),o.close();else{C("upgrading existing transport"),o.removeListener("error",a);const s=this.createTransport(n._query.transport,n);s.perMessageDeflate=this.opts.perMessageDeflate,t._maybeUpgrade(s)}}else{const t=(s,c)=>Gs(i,s,c);this.handshake(n._query.transport,n,t)}function a(){C("websocket error before upgrade")}}attach(n,i={}){const o=this._computePath(i),e=i.destroyUpgradeTimeout||1000;function a(s){return o===s.url.slice(0,o.length)}const t=n.listeners("request").slice(0);if(n.removeAllListeners("request"),n.on("close",this.close.bind(this)),n.on("listening",this.init.bind(this)),n.on("request",(s,c)=>{if(a(s))C('intercepting request for path "%s"',o),this.handleRequest(s,c);else{let l=0;const r=t.length;for(;l<r;l++)t[l].call(n,s,c)}}),~this.opts.transports.indexOf("websocket"))n.on("upgrade",(s,c,l)=>{if(a(s))this.handleUpgrade(s,c,l);else if(i.destroyUpgrade!==!1)setTimeout(function(){if(c.writable&&c.bytesWritten<=0)return c.on("error",(r)=>{C("error while destroying upgrade: %s",r.message)}),c.end()},e)})}}Qs.Server=B;var Ui=[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]});var _s=h((Ls)=>{Object.defineProperty(Ls,"__esModule",{value:!0});Ls.Polling=void 0;var eu=Pn(),Ns=import.meta.require("zlib"),au=lo(),tu=q(),vn=tu.default("engine:polling"),su={gzip:Ns.createGzip,deflate:Ns.createDeflate};class Ds extends eu.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.getMethod()==="get")this.onPollRequest(n,i);else if(n.getMethod()==="post")this.onDataRequest(n,i);else i.writeStatus("500 Internal Server Error"),i.end()}onPollRequest(n,i){if(this.req){vn("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}vn("setting request"),this.req=n,this.res=i;const o=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},e=()=>{this.req=this.res=null};if(n.cleanup=e,i.onAborted(o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)vn("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}const o=Number(n.headers["content-length"]);if(!o){this.onError("content-length header required"),i.writeStatus("411 Length Required").end();return}if(o>this.maxHttpBufferSize){this.onError("payload too large"),i.writeStatus("413 Payload Too Large").end();return}if(n.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let a,t=0;const s={"Content-Type":"text/html"};this.headers(n,s);for(let l in s)i.writeHeader(l,String(s[l]));const c=(l)=>{this.onData(l.toString()),this.onDataRequestCleanup(),i.cork(()=>{i.end("ok")})};i.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),i.onData((l,r)=>{const p=t+l.byteLength;if(p>o){this.onError("content-length mismatch"),i.close();return}if(!a){if(r){c(Buffer.from(l));return}a=Buffer.allocUnsafe(o)}if(Buffer.from(l).copy(a,t),r){if(p!=o){this.onError("content-length mismatch"),i.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}c(a);return}t=p})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(n){vn('received "%s"',n);const i=(o)=>{if(o.type==="close")return vn("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)vn("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const e=n.some((a)=>{return a.options&&a.options.compress});this.write(o,{compress:e})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){vn('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const e=typeof n==="string",t={"Content-Type":e?"text/plain; charset=UTF-8":"application/octet-stream"},s=(r)=>{this.headers(this.req,t),this.res.cork(()=>{Object.keys(t).forEach((p)=>{this.res.writeHeader(p,String(t[p]))}),this.res.end(r)}),o()};if(!this.httpCompression||!i.compress){s(n);return}if((e?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){s(n);return}const l=au(this.req).encodings(["gzip","deflate"]);if(!l){s(n);return}this.compress(n,l,(r,p)=>{if(r){this.res.writeStatus("500 Internal Server Error"),this.res.end(),o(r);return}t["Content-Encoding"]=l,s(p)})}compress(n,i,o){vn("compressing");const e=[];let a=0;su[i](this.httpCompression).on("error",o).on("data",function(t){e.push(t),a+=t.length}).on("end",function(){o(null,Buffer.concat(e,a))}).end(n)}doClose(n){vn("closing");let i;const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)vn("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)vn("transport discarded - closing right away"),o();else vn("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i){i=i||{};const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}Ls.Polling=Ds});var ec=h((ic)=>{Object.defineProperty(ic,"__esModule",{value:!0});ic.WebSocket=void 0;var cu=Pn(),lu=q(),qs=lu.default("engine:ws");class nc extends cu.Transport{constructor(n){super(n);this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],e=i+1===n.length,a=(t)=>{const s=typeof t!=="string",c=this.perMessageDeflate&&Buffer.byteLength(t)>this.perMessageDeflate.threshold;if(qs('writing "%s"',t),this.socket.send(t,s,c),e)this.emit("drain"),this.writable=!0,this.emit("ready")};if(o.options&&typeof o.options.wsPreEncoded==="string")a(o.options.wsPreEncoded);else this.parser.encodePacket(o,this.supportsBinary,a)}}doClose(n){qs("closing"),n&&n(),this.socket.end()}}ic.WebSocket=nc});var tc=h((ac)=>{Object.defineProperty(ac,"__esModule",{value:!0});var ru=_s(),pu=ec();ac.default={polling:ru.Polling,websocket:pu.WebSocket}});var pc=h((lc)=>{Object.defineProperty(lc,"__esModule",{value:!0});lc.uServer=void 0;var uu=q(),_n=ke(),xu=tc(),Xn=uu.default("engine:uws");class sc extends _n.BaseServer{init(){}cleanup(){}prepare(n,i){n.method=n.getMethod().toUpperCase(),n.url=n.getUrl();const o=new URLSearchParams(n.getQuery());n._query=Object.fromEntries(o.entries()),n.headers={},n.forEach((e,a)=>{n.headers[e]=a}),n.connection={remoteAddress:Buffer.from(i.getRemoteAddressAsText()).toString()},i.onAborted(()=>{Xn("response has been aborted")})}createTransport(n,i){return new xu.default[n](i)}attach(n,i={}){const o=this._computePath(i);n.any(o,this.handleRequest.bind(this)).ws(o,{compression:i.compression,idleTimeout:i.idleTimeout,maxBackpressure:i.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:(e)=>{const a=e.getUserData().transport;a.socket=e,a.writable=!0,a.emit("ready")},message:(e,a,t)=>{e.getUserData().transport.onData(t?a:Buffer.from(a).toString())},close:(e,a,t)=>{e.getUserData().transport.onClose(a,t)}})}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return o();n.res=new cc(i),super._applyMiddlewares(n,n.res,(e)=>{n.res.writeHead(),o(e)})}handleRequest(n,i){Xn('handling "%s" http request "%s"',i.getMethod(),i.getUrl()),this.prepare(i,n),i.res=n;const o=(e,a)=>{if(e!==void 0){this.emit("connection_error",{req:i,code:e,message:_n.Server.errorMessages[e],context:a}),this.abortRequest(i.res,e,a);return}if(i._query.sid)Xn("setting new request for existing client"),this.clients[i._query.sid].transport.onRequest(i);else{const t=(s,c)=>this.abortRequest(n,s,c);this.handshake(i._query.transport,i,t)}};this._applyMiddlewares(i,n,(e)=>{if(e)o(_n.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){Xn("on upgrade"),this.prepare(i,n),i.res=n;const e=async(a,t)=>{if(a!==void 0){this.emit("connection_error",{req:i,code:a,message:_n.Server.errorMessages[a],context:t}),this.abortRequest(n,a,t);return}const s=i._query.sid;let c;if(s){const l=this.clients[s];if(!l)return Xn("upgrade attempt for closed client"),n.close();else if(l.upgrading)return Xn("transport has already been trying to upgrade"),n.close();else if(l.upgraded)return Xn("transport had already been upgraded"),n.close();else Xn("upgrading existing transport"),c=this.createTransport(i._query.transport,i),l._maybeUpgrade(c)}else if(c=await this.handshake(i._query.transport,i,(l,r)=>this.abortRequest(n,l,r)),!c)return;i.res.writeStatus("101 Switching Protocols"),n.upgrade({transport:c},i.getHeader("sec-websocket-key"),i.getHeader("sec-websocket-protocol"),i.getHeader("sec-websocket-extensions"),o)};this._applyMiddlewares(i,n,(a)=>{if(a)e(_n.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,e)})}abortRequest(n,i,o){const e=i===_n.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",a=o&&o.message?o.message:_n.Server.errorMessages[i];n.writeStatus(e),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:a}))}}lc.uServer=sc;class cc{constructor(n){this.res=n,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(n){if(!n)return;this.writeStatus(n===200?"200 OK":"204 No Content")}writeHead(n){this.statusCode=n}setHeader(n,i){if(Array.isArray(i))i.forEach((o)=>{this.writeHeader(n,o)});else this.writeHeader(n,i)}removeHeader(){}getHeader(){}writeStatus(n){if(this.isAborted)return;return this.res.writeStatus(n),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(n,i){if(this.isAborted)return;if(n==="Content-Length")return;if(this.statusWritten)this.res.writeHeader(n,i);else this.headers.push([n,i])}writeBufferedHeaders(){this.headers.forEach(([n,i])=>{this.res.writeHeader(n,i)})}end(n){if(this.isAborted)return;this.res.cork(()=>{if(!this.statusWritten)this.writeBufferedHeaders();this.res.end(n)})}onData(n){if(this.isAborted)return;this.res.onData(n)}onAborted(n){if(this.isAborted)return;this.res.onAborted(()=>{this.isAborted=!0,n()})}cork(n){if(this.isAborted)return;this.res.cork(n)}}});var fc=h((vi)=>{function Tu(n,i,o){if(typeof i==="function")o=i,i={};const e=du.createServer(function(t,s){s.writeHead(501),s.end("Not Implemented")}),a=xc(e,i);return a.httpServer=e,e.listen(n,o),a}function xc(n,i){const o=new mc.Server(i);return o.attach(n,i),o}Object.defineProperty(vi,"__esModule",{value:!0});vi.protocol=vi.Transport=vi.Socket=vi.uServer=vi.parser=vi.transports=vi.Server=void 0;vi.listen=Tu;vi.attach=xc;var du=import.meta.require("http"),mc=ke();Object.defineProperty(vi,"Server",{enumerable:!0,get:function(){return mc.Server}});var fu=Me();vi.transports=fu.default;var uc=Vi();vi.parser=uc;var yu=pc();Object.defineProperty(vi,"uServer",{enumerable:!0,get:function(){return yu.uServer}});var vu=Je();Object.defineProperty(vi,"Socket",{enumerable:!0,get:function(){return vu.Socket}});var bu=Pn();Object.defineProperty(vi,"Transport",{enumerable:!0,get:function(){return bu.Transport}});vi.protocol=uc.protocol});var yc=h((Au)=>{function sn(n){if(n)return hu(n)}function hu(n){for(var i in sn.prototype)n[i]=sn.prototype[i];return n}Au.Emitter=sn;sn.prototype.on=sn.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};sn.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};sn.prototype.off=sn.prototype.removeListener=sn.prototype.removeAllListeners=sn.prototype.removeEventListener=function(n,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o=this._callbacks["$"+n];if(!o)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;var e;for(var a=0;a<o.length;a++)if(e=o[a],e===i||e.fn===i){o.splice(a,1);break}if(o.length===0)delete this._callbacks["$"+n];return this};sn.prototype.emit=function(n){this._callbacks=this._callbacks||{};var i=new Array(arguments.length-1),o=this._callbacks["$"+n];for(var e=1;e<arguments.length;e++)i[e-1]=arguments[e];if(o){o=o.slice(0);for(var e=0,a=o.length;e<a;++e)o[e].apply(this,i)}return this};sn.prototype.emitReserved=sn.prototype.emit;sn.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};sn.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var Oe=h((Tc)=>{function bc(n){return Ru&&(n instanceof ArrayBuffer||Mu(n))||Ju&&n instanceof Blob||$u&&n instanceof File}function ho(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,e=n.length;o<e;o++)if(ho(n[o]))return!0;return!1}if(bc(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return ho(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&ho(n[o]))return!0;return!1}Object.defineProperty(Tc,"__esModule",{value:!0});Tc.hasBinary=Tc.isBinary=void 0;var Ru=typeof ArrayBuffer==="function",Mu=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},vc=Object.prototype.toString,Ju=typeof Blob==="function"||typeof Blob!=="undefined"&&vc.call(Blob)==="[object BlobConstructor]",$u=typeof File==="function"||typeof File!=="undefined"&&vc.call(File)==="[object FileConstructor]";Tc.isBinary=bc;Tc.hasBinary=ho});var Fc=h((wc)=>{function Ou(n){const i=[],o=n.data,e=n;return e.data=ze(o,i),e.attachments=i.length,{packet:e,buffers:i}}function ze(n,i){if(!n)return n;if(ku.isBinary(n)){const o={_placeholder:!0,num:i.length};return i.push(n),o}else if(Array.isArray(n)){const o=new Array(n.length);for(let e=0;e<n.length;e++)o[e]=ze(n[e],i);return o}else if(typeof n==="object"&&!(n instanceof Date)){const o={};for(let e in n)if(Object.prototype.hasOwnProperty.call(n,e))o[e]=ze(n[e],i);return o}return n}function zu(n,i){return n.data=Ce(n.data,i),delete n.attachments,n}function Ce(n,i){if(!n)return n;if(n&&n._placeholder===!0)if(typeof n.num==="number"&&n.num>=0&&n.num<i.length)return i[n.num];else throw new Error("illegal attachments");else if(Array.isArray(n))for(let o=0;o<n.length;o++)n[o]=Ce(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=Ce(n[o],i)}return n}Object.defineProperty(wc,"__esModule",{value:!0});wc.reconstructPacket=wc.deconstructPacket=void 0;var ku=Oe();wc.deconstructPacket=Ou;wc.reconstructPacket=zu});var Bi=h(($c)=>{function hc(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty($c,"__esModule",{value:!0});$c.Decoder=$c.Encoder=$c.PacketType=$c.protocol=void 0;var Wu=yc(),Kc=Fc(),Rc=Oe(),Iu=q(),We=Iu.default("socket.io-parser"),Eu=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];$c.protocol=5;var Q;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(Q=$c.PacketType||($c.PacketType={}));class Mc{constructor(n){this.replacer=n}encode(n){if(We("encoding packet %j",n),n.type===Q.EVENT||n.type===Q.ACK){if(Rc.hasBinary(n))return this.encodeAsBinary({type:n.type===Q.EVENT?Q.BINARY_EVENT:Q.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===Q.BINARY_EVENT||n.type===Q.BINARY_ACK)i+=n.attachments+"-";if(n.nsp&&n.nsp!=="/")i+=n.nsp+",";if(n.id!=null)i+=n.id;if(n.data!=null)i+=JSON.stringify(n.data,this.replacer);return We("encoded %j as %s",n,i),i}encodeAsBinary(n){const i=Kc.deconstructPacket(n),o=this.encodeAsString(i.packet),e=i.buffers;return e.unshift(o),e}}$c.Encoder=Mc;class Ie extends Wu.Emitter{constructor(n){super();this.reviver=n}add(n){let i;if(typeof n==="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");i=this.decodeString(n);const o=i.type===Q.BINARY_EVENT;if(o||i.type===Q.BINARY_ACK){if(i.type=o?Q.EVENT:Q.ACK,this.reconstructor=new Jc(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(Rc.isBinary(n)||n.base64){if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");else if(i=this.reconstructor.takeBinaryData(n),i)this.reconstructor=null,super.emitReserved("decoded",i)}else throw new Error("Unknown type: "+n)}decodeString(n){let i=0;const o={type:Number(n.charAt(0))};if(Q[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===Q.BINARY_EVENT||o.type===Q.BINARY_ACK){const a=i+1;while(n.charAt(++i)!=="-"&&i!=n.length);const t=n.substring(a,i);if(t!=Number(t)||n.charAt(i)!=="-")throw new Error("Illegal attachments");o.attachments=Number(t)}if(n.charAt(i+1)==="/"){const a=i+1;while(++i){if(n.charAt(i)===",")break;if(i===n.length)break}o.nsp=n.substring(a,i)}else o.nsp="/";const e=n.charAt(i+1);if(e!==""&&Number(e)==e){const a=i+1;while(++i){const t=n.charAt(i);if(t==null||Number(t)!=t){--i;break}if(i===n.length)break}o.id=Number(n.substring(a,i+1))}if(n.charAt(++i)){const a=this.tryParse(n.substr(i));if(Ie.isPayloadValid(o.type,a))o.data=a;else throw new Error("invalid payload")}return We("decoded %s as %j",n,o),o}tryParse(n){try{return JSON.parse(n,this.reviver)}catch(i){return!1}}static isPayloadValid(n,i){switch(n){case Q.CONNECT:return hc(i);case Q.DISCONNECT:return i===void 0;case Q.CONNECT_ERROR:return typeof i==="string"||hc(i);case Q.EVENT:case Q.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&Eu.indexOf(i[0])===-1);case Q.ACK:case Q.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}$c.Decoder=Ie;class Jc{constructor(n){this.packet=n,this.buffers=[],this.reconPack=n}takeBinaryData(n){if(this.buffers.push(n),this.buffers.length===this.reconPack.attachments){const i=Kc.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var Cc=h((Oc)=>{Object.defineProperty(Oc,"__esModule",{value:!0});Oc.Client=void 0;var Ao=Bi(),Yu=q(),Bu=import.meta.require("url"),hn=Yu("socket.io:client");class kc{constructor(n,i){this.sockets=new Map,this.nsps=new Map,this.server=n,this.conn=i,this.encoder=n.encoder,this.decoder=new n._parser.Decoder,this.id=i.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(()=>{if(this.nsps.size===0)hn("no namespace joined yet, close the client"),this.close();else hn("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return hn("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else hn("creation of namespace %s was denied",n),this._packet({type:Ao.PacketType.CONNECT_ERROR,nsp:n,data:{message:"Invalid namespace"}})})}doConnect(n,i){const o=this.server.of(n);o._add(this,i,(e)=>{if(this.sockets.set(e.id,e),this.nsps.set(o.name,e),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0})}_disconnect(){for(let n of this.sockets.values())n.disconnect();this.sockets.clear(),this.close()}_remove(n){if(this.sockets.has(n.id)){const i=this.sockets.get(n.id).nsp.name;this.sockets.delete(n.id),this.nsps.delete(i)}else hn("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")hn("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){hn("ignoring packet write %j",n);return}const o=i.preEncoded?n:this.encoder.encode(n);this.writeToEngine(o,i)}writeToEngine(n,i){if(i.volatile&&!this.conn.transport.writable){hn("volatile packet is discarded since the transport is not currently writable");return}const o=Array.isArray(n)?n:[n];for(let e of o)this.conn.write(e,i)}ondata(n){try{this.decoder.add(n)}catch(i){hn("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){const a=Bu.parse(n.nsp,!0);i=a.pathname,o=a.query}else i=n.nsp,o=n.data;const e=this.nsps.get(i);if(!e&&n.type===Ao.PacketType.CONNECT)this.connect(i,o);else if(e&&n.type!==Ao.PacketType.CONNECT&&n.type!==Ao.PacketType.CONNECT_ERROR)process.nextTick(function(){e._onpacket(n)});else hn("invalid state (packet type: %s)",n.type),this.close()}onerror(n){for(let i of this.sockets.values())i._onerror(n);this.conn.close()}onclose(n,i){hn("client close with reason %s",n),this.destroy();for(let o of this.sockets.values())o._onclose(n,i);this.sockets.clear(),this.decoder.destroy()}destroy(){if(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}}Oc.Client=kc});var Ko=h((Ic)=>{Object.defineProperty(Ic,"__esModule",{value:!0});Ic.StrictEventEmitter=void 0;var Xu=import.meta.require("events");class Wc extends Xu.EventEmitter{on(n,i){return super.on(n,i)}once(n,i){return super.once(n,i)}emit(n,...i){return super.emit(n,...i)}emitReserved(n,...i){return super.emit(n,...i)}emitUntyped(n,...i){return super.emit(n,...i)}listeners(n){return super.listeners(n)}}Ic.StrictEventEmitter=Wc});var Ee=h((Vc)=>{Object.defineProperty(Vc,"__esModule",{value:!0});Vc.RESERVED_EVENTS=void 0;Vc.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Ue=h((Yc)=>{Object.defineProperty(Yc,"__esModule",{value:!0});Yc.RemoteSocket=Yc.BroadcastOperator=void 0;var Gu=Ee(),Zu=Bi();class kn{constructor(n,i=new Set,o=new Set,e={}){this.adapter=n,this.rooms=i,this.exceptRooms=o,this.flags=e}to(n){const i=new Set(this.rooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new kn(this.adapter,i,this.exceptRooms,this.flags)}in(n){return this.to(n)}except(n){const i=new Set(this.exceptRooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new kn(this.adapter,this.rooms,i,this.flags)}compress(n){const i=Object.assign({},this.flags,{compress:n});return new kn(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){const n=Object.assign({},this.flags,{volatile:!0});return new kn(this.adapter,this.rooms,this.exceptRooms,n)}get local(){const n=Object.assign({},this.flags,{local:!0});return new kn(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){const i=Object.assign({},this.flags,{timeout:n});return new kn(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(Gu.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],e={type:Zu.PacketType.EVENT,data:o};if(typeof o[o.length-1]!=="function")return this.adapter.broadcast(e,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;const t=o.pop();let s=!1,c=[];const l=setTimeout(()=>{s=!0,t.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:c])},this.flags.timeout);let r=-1,p=0,m=0;const T=()=>{if(!s&&r===p&&c.length===m)clearTimeout(l),t.apply(this,[null,this.flags.expectSingleResponse?c[0]:c])};return this.adapter.broadcastWithAck(e,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(R)=>{m+=R,p++,T()},(R)=>{c.push(R),T()}),this.adapter.serverCount().then((R)=>{r=R,T()}),!0}emitWithAck(n,...i){return new Promise((o,e)=>{i.push((a,t)=>{if(a)return a.responses=t,e(a);else return o(t)}),this.emit(n,...i)})}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((n)=>{return n.map((i)=>{if(i.server)return i;else return new Ve(this.adapter,i)})})}socketsJoin(n){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}socketsLeave(n){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}disconnectSockets(n=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},n)}}Yc.BroadcastOperator=kn;class Ve{constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new kn(n,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(n){return this.operator.timeout(n)}emit(n,...i){return this.operator.emit(n,...i)}join(n){return this.operator.socketsJoin(n)}leave(n){return this.operator.socketsLeave(n)}disconnect(n=!1){return this.operator.disconnectSockets(n),this}}Yc.RemoteSocket=Ve});var Ye=h((bi)=>{function Gc(){}var Zc=bi&&bi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(bi,"__esModule",{value:!0});bi.Socket=void 0;var bn=Bi(),Hu=Zc(q()),Nu=Ko(),Xc=Zc(xe()),Du=Ue(),Lu=Ee(),on=Hu.default("socket.io:socket"),Pu=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);class Qc extends Nu.StrictEventEmitter{constructor(n,i,o,e){super();if(this.nsp=n,this.client=i,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=n.server,this.adapter=this.nsp.adapter,e)this.id=e.sid,this.pid=e.pid,e.rooms.forEach((a)=>this.join(a)),this.data=e.data,e.missedPackets.forEach((a)=>{this.packet({type:bn.PacketType.EVENT,data:a})}),this.recovered=!0;else{if(i.conn.protocol===3)this.id=n.name!=="/"?n.name+"#"+i.id:i.id;else this.id=Xc.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=Xc.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",Gc)}buildHandshake(n){var i,o,e,a;return{headers:((i=this.request)===null||i===void 0?void 0:i.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!((o=this.request)===null||o===void 0?void 0:o.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(e=this.request)===null||e===void 0?void 0:e.url,query:((a=this.request)===null||a===void 0?void 0:a._query)||{},auth:n}}emit(n,...i){if(Lu.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],e={type:bn.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){const t=this.nsp._ids++;on("emitting packet with ack id %d",t),this.registerAckCallback(t,o.pop()),e.id=t}const a=Object.assign({},this.flags);if(this.flags={},this.nsp.server.opts.connectionStateRecovery)this.adapter.broadcast(e,{rooms:new Set([this.id]),except:new Set,flags:a});else this.notifyOutgoingListeners(e),this.packet(e,a);return!0}emitWithAck(n,...i){const o=this.flags.timeout!==void 0;return new Promise((e,a)=>{i.push((t,s)=>{if(o)return t?a(t):e(s);else return e(t)}),this.emit(n,...i)})}registerAckCallback(n,i){const o=this.flags.timeout;if(o===void 0){this.acks.set(n,i);return}const e=setTimeout(()=>{on("event with ack id %d has timed out after %d ms",n,o),this.acks.delete(n),i.call(this,new Error("operation has timed out"))},o);this.acks.set(n,(...a)=>{clearTimeout(e),i.apply(this,[null,...a])})}to(n){return this.newBroadcastOperator().to(n)}in(n){return this.newBroadcastOperator().in(n)}except(n){return this.newBroadcastOperator().except(n)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}packet(n,i={}){n.nsp=this.nsp.name,i.compress=i.compress!==!1,this.client._packet(n,i)}join(n){return on("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return on("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(on("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:bn.PacketType.CONNECT});else this.packet({type:bn.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(on("got packet %j",n),n.type){case bn.PacketType.EVENT:this.onevent(n);break;case bn.PacketType.BINARY_EVENT:this.onevent(n);break;case bn.PacketType.ACK:this.onack(n);break;case bn.PacketType.BINARY_ACK:this.onack(n);break;case bn.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){const i=n.data||[];if(on("emitting event %j",i),n.id!=null)on("attaching ack callback to event"),i.push(this.ack(n.id));if(this._anyListeners&&this._anyListeners.length){const o=this._anyListeners.slice();for(let e of o)e.apply(this,i)}this.dispatch(i)}ack(n){const i=this;let o=!1;return function(){if(o)return;const e=Array.prototype.slice.call(arguments);on("sending ack %j",e),i.packet({id:n,type:bn.PacketType.ACK,data:e}),o=!0}}onack(n){const i=this.acks.get(n.id);if(typeof i=="function")on("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else on("bad ack %s",n.id)}ondisconnect(){on("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(on("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&Pu.has(n))on("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",n,i);return}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=Gc}_error(n){this.packet({type:bn.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:bn.PacketType.DISCONNECT}),this._onclose("server namespace disconnect");return this}compress(n){return this.flags.compress=n,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(n){return this.flags.timeout=n,this}dispatch(n){on("dispatching an event %j",n),this.run(n,(i)=>{process.nextTick(()=>{if(i)return this._onerror(i);if(this.connected)super.emitUntyped.apply(this,n);else on("ignore packet received after disconnection")})})}use(n){return this.fns.push(n),this}run(n,i){if(!this.fns.length)return i();const o=this.fns.slice(0);function e(a){o[a](n,(t)=>{if(t)return i(t);if(!o[a+1])return i();e(a+1)})}e(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(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(n),this}prependAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(n),this}offAny(n){if(!this._anyListeners)return this;if(n){const i=this._anyListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(n),this}prependAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(n),this}offAnyOutgoing(n){if(!this._anyOutgoingListeners)return this;if(n){const i=this._anyOutgoingListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(n){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const i=this._anyOutgoingListeners.slice();for(let o of i)o.apply(this,n.data)}}newBroadcastOperator(){const n=Object.assign({},this.flags);return this.flags={},new Du.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}bi.Socket=Qc});var Be=h((On)=>{var _u=On&&On.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(On,"__esModule",{value:!0});On.Namespace=On.RESERVED_EVENTS=void 0;var Hc=Ye(),qu=Ko(),nx=_u(q()),xn=Ue(),Xi=nx.default("socket.io:namespace");On.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class Nc extends qu.StrictEventEmitter{constructor(n,i){super();this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=n,this.name=i,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(n){return this._fns.push(n),this}run(n,i){if(!this._fns.length)return i();const o=this._fns.slice(0);function e(a){o[a](n,(t)=>{if(t)return i(t);if(!o[a+1])return i();e(a+1)})}e(0)}to(n){return new xn.BroadcastOperator(this.adapter).to(n)}in(n){return new xn.BroadcastOperator(this.adapter).in(n)}except(n){return new xn.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var e;Xi("adding socket to nsp %s",this.name);const a=await this._createSocket(n,i);if(this._preConnectSockets.set(a.id,a),((e=this.server.opts.connectionStateRecovery)===null||e===void 0?void 0:e.skipMiddlewares)&&a.recovered&&n.conn.readyState==="open")return this._doConnect(a,o);this.run(a,(t)=>{process.nextTick(()=>{if(n.conn.readyState!=="open"){Xi("next called after client was closed - ignoring socket"),a._cleanup();return}if(t)if(Xi("middleware error, sending CONNECT_ERROR packet to the client"),a._cleanup(),n.conn.protocol===3)return a._error(t.data||t.message);else return a._error({message:t.message,data:t.data});this._doConnect(a,o)})})}async _createSocket(n,i){const{pid:o,offset:e}=i;if(this.server.opts.connectionStateRecovery&&typeof o==="string"&&typeof e==="string"){let a;try{a=await this.adapter.restoreSession(o,e)}catch(t){Xi("error while restoring session: %s",t)}if(a)return Xi("connection state recovered for sid %s",a.sid),new Hc.Socket(this,n,i,a)}return new Hc.Socket(this,n,i)}_doConnect(n,i){if(this._preConnectSockets.delete(n.id),this.sockets.set(n.id,n),n._onconnect(),i)i(n);this.emitReserved("connect",n),this.emitReserved("connection",n)}_remove(n){this.sockets.delete(n.id)||this._preConnectSockets.delete(n.id)}emit(n,...i){return new xn.BroadcastOperator(this.adapter).emit(n,...i)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}serverSideEmit(n,...i){if(On.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);return i.unshift(n),this.adapter.serverSideEmit(i),!0}serverSideEmitWithAck(n,...i){return new Promise((o,e)=>{i.push((a,t)=>{if(a)return a.responses=t,e(a);else return o(t)}),this.serverSideEmit(n,...i)})}_onServerSideEmit(n){super.emitUntyped.apply(this,n)}allSockets(){return new xn.BroadcastOperator(this.adapter).allSockets()}compress(n){return new xn.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new xn.BroadcastOperator(this.adapter).volatile}get local(){return new xn.BroadcastOperator(this.adapter).local}timeout(n){return new xn.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new xn.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new xn.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new xn.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new xn.BroadcastOperator(this.adapter).disconnectSockets(n)}}On.Namespace=Nc});var il=h((qc)=>{function Xe(n){let i="";do i=Pc[n%Ro]+i,n=Math.floor(n/Ro);while(n>0);return i}function ix(n){let i=0;for(Gn=0;Gn<n.length;Gn++)i=i*Ro+_c[n.charAt(Gn)];return i}function ox(){const n=Xe(+new Date);if(n!==Lc)return Dc=0,Lc=n;return n+"."+Xe(Dc++)}Object.defineProperty(qc,"__esModule",{value:!0});qc.yeast=qc.decode=qc.encode=void 0;var Pc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Ro=64,_c={},Dc=0,Gn=0,Lc;qc.encode=Xe;qc.decode=ix;qc.yeast=ox;for(;Gn<Ro;Gn++)_c[Pc[Gn]]=Gn});var Qe=h((el)=>{function lx(n,i){const o=i.rooms.size===0||n.some((a)=>i.rooms.has(a)),e=n.every((a)=>!i.except.has(a));return o&&e}var Ge;Object.defineProperty(el,"__esModule",{value:!0});el.SessionAwareAdapter=el.Adapter=void 0;var tx=import.meta.require("events"),sx=il(),Mo=import.meta.require("ws"),cx=typeof((Ge=Mo===null||Mo===void 0?void 0:Mo.Sender)===null||Ge===void 0?void 0:Ge.frame)==="function";class Ze extends tx.EventEmitter{constructor(n){super();this.nsp=n,this.rooms=new Map,this.sids=new Map,this.encoder=n.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(n,i){if(!this.sids.has(n))this.sids.set(n,new Set);for(let o of i){if(this.sids.get(n).add(o),!this.rooms.has(o))this.rooms.set(o,new Set),this.emit("create-room",o);if(!this.rooms.get(o).has(n))this.rooms.get(o).add(n),this.emit("join-room",o,n)}}del(n,i){if(this.sids.has(n))this.sids.get(n).delete(i);this._del(i,n)}_del(n,i){const o=this.rooms.get(n);if(o!=null){if(o.delete(i))this.emit("leave-room",n,i);if(o.size===0&&this.rooms.delete(n))this.emit("delete-room",n)}}delAll(n){if(!this.sids.has(n))return;for(let i of this.sids.get(n))this._del(i,n);this.sids.delete(n)}broadcast(n,i){const o=i.flags||{},e={preEncoded:!0,volatile:o.volatile,compress:o.compress};n.nsp=this.nsp.name;const a=this._encode(n,e);this.apply(i,(t)=>{if(typeof t.notifyOutgoingListeners==="function")t.notifyOutgoingListeners(n);t.client.writeToEngine(a,e)})}broadcastWithAck(n,i,o,e){const a=i.flags||{},t={preEncoded:!0,volatile:a.volatile,compress:a.compress};n.nsp=this.nsp.name,n.id=this.nsp._ids++;const s=this._encode(n,t);let c=0;this.apply(i,(l)=>{if(c++,l.acks.set(n.id,e),typeof l.notifyOutgoingListeners==="function")l.notifyOutgoingListeners(n);l.client.writeToEngine(s,t)}),o(c)}_encode(n,i){const o=this.encoder.encode(n);if(cx&&o.length===1&&typeof o[0]==="string"){const e=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=Mo.Sender.frame(e,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return o}sockets(n){const i=new Set;return this.apply({rooms:n},(o)=>{i.add(o.id)}),Promise.resolve(i)}socketRooms(n){return this.sids.get(n)}fetchSockets(n){const i=[];return this.apply(n,(o)=>{i.push(o)}),Promise.resolve(i)}addSockets(n,i){this.apply(n,(o)=>{o.join(i)})}delSockets(n,i){this.apply(n,(o)=>{i.forEach((e)=>o.leave(e))})}disconnectSockets(n,i){this.apply(n,(o)=>{o.disconnect(i)})}apply(n,i){const o=n.rooms,e=this.computeExceptSids(n.except);if(o.size){const a=new Set;for(let t of o){if(!this.rooms.has(t))continue;for(let s of this.rooms.get(t)){if(a.has(s)||e.has(s))continue;const c=this.nsp.sockets.get(s);if(c)i(c),a.add(s)}}}else for(let[a]of this.sids){if(e.has(a))continue;const t=this.nsp.sockets.get(a);if(t)i(t)}}computeExceptSids(n){const i=new Set;if(n&&n.size>0){for(let o of n)if(this.rooms.has(o))this.rooms.get(o).forEach((e)=>i.add(e))}return i}serverSideEmit(n){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(n){}restoreSession(n,i){return null}}el.Adapter=Ze;class ol extends Ze{constructor(n){super(n);this.nsp=n,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=n.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{const o=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((e,a)=>{if(e.disconnectedAt<o)this.sessions.delete(a)});for(let e=this.packets.length-1;e>=0;e--)if(this.packets[e].emittedAt<o){this.packets.splice(0,e+1);break}},60000).unref()}persistSession(n){n.disconnectedAt=Date.now(),this.sessions.set(n.pid,n)}restoreSession(n,i){const o=this.sessions.get(n);if(!o)return null;if(o.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(n),null;const a=this.packets.findIndex((s)=>s.id===i);if(a===-1)return null;const t=[];for(let s=a+1;s<this.packets.length;s++){const c=this.packets[s];if(lx(o.rooms,c.opts))t.push(c.data)}return Promise.resolve(Object.assign(Object.assign({},o),{missedPackets:t}))}broadcast(n,i){var o;const e=n.type===2,a=n.id===void 0,t=((o=i.flags)===null||o===void 0?void 0:o.volatile)===void 0;if(e&&a&&t){const s=sx.yeast();n.data.push(s),this.packets.push({id:s,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}el.SessionAwareAdapter=ol});var sl=h((An)=>{function Si(){return xx.randomBytes(8).toString("hex")}function qn(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function Ti(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}var px=An&&An.__rest||function(n,i){var o={};for(var e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&i.indexOf(e)<0)o[e]=n[e];if(n!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var a=0,e=Object.getOwnPropertySymbols(n);a<e.length;a++)if(i.indexOf(e[a])<0&&Object.prototype.propertyIsEnumerable.call(n,e[a]))o[e[a]]=n[e[a]]}return o};Object.defineProperty(An,"__esModule",{value:!0});An.ClusterAdapterWithHeartbeat=An.ClusterAdapter=An.MessageType=void 0;var mx=Qe(),ux=q(),xx=import.meta.require("crypto"),D=ux.debug("socket.io-adapter"),dx="emitter",Jo=5000,j;(function(n){n[n.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",n[n.HEARTBEAT=2]="HEARTBEAT",n[n.BROADCAST=3]="BROADCAST",n[n.SOCKETS_JOIN=4]="SOCKETS_JOIN",n[n.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",n[n.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",n[n.FETCH_SOCKETS=7]="FETCH_SOCKETS",n[n.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",n[n.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",n[n.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",n[n.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",n[n.BROADCAST_ACK=12]="BROADCAST_ACK",n[n.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(j=An.MessageType||(An.MessageType={}));class He extends mx.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=Si()}onMessage(n,i){if(n.uid===this.uid)return D("[%s] ignore message from self",this.uid);switch(D("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case j.BROADCAST:{if(n.data.requestId!==void 0)super.broadcastWithAck(n.data.packet,Ti(n.data.opts),(e)=>{D("[%s] waiting for %d client acknowledgements",this.uid,e),this.publishResponse(n.uid,{type:j.BROADCAST_CLIENT_COUNT,data:{requestId:n.data.requestId,clientCount:e}})},(e)=>{D("[%s] received acknowledgement with value %j",this.uid,e),this.publishResponse(n.uid,{type:j.BROADCAST_ACK,data:{requestId:n.data.requestId,packet:e}})});else{const e=n.data.packet,a=Ti(n.data.opts);this.addOffsetIfNecessary(e,a,i),super.broadcast(e,a)}break}case j.SOCKETS_JOIN:super.addSockets(Ti(n.data.opts),n.data.rooms);break;case j.SOCKETS_LEAVE:super.delSockets(Ti(n.data.opts),n.data.rooms);break;case j.DISCONNECT_SOCKETS:super.disconnectSockets(Ti(n.data.opts),n.data.close);break;case j.FETCH_SOCKETS:{D("[%s] calling fetchSockets with opts %j",this.uid,n.data.opts),super.fetchSockets(Ti(n.data.opts)).then((o)=>{this.publishResponse(n.uid,{type:j.FETCH_SOCKETS_RESPONSE,data:{requestId:n.data.requestId,sockets:o.map((e)=>{const a=e.handshake,{sessionStore:t}=a,s=px(a,["sessionStore"]);return{id:e.id,handshake:s,rooms:[...e.rooms],data:e.data}})}})});break}case j.SERVER_SIDE_EMIT:{const o=n.data.packet;if(n.data.requestId===void 0){this.nsp._onServerSideEmit(o);return}let a=!1;const t=(s)=>{if(a)return;a=!0,D("[%s] calling acknowledgement with %j",this.uid,s),this.publishResponse(n.uid,{type:j.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:n.data.requestId,packet:s}})};this.nsp._onServerSideEmit([...o,t]);break}case j.BROADCAST_CLIENT_COUNT:case j.BROADCAST_ACK:case j.FETCH_SOCKETS_RESPONSE:case j.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(n);break;default:D("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;const e=n.data.requestId;switch(D("[%s] received response %s to request %s",this.uid,n.type,e),n.type){case j.BROADCAST_CLIENT_COUNT:{(i=this.ackRequests.get(e))===null||i===void 0||i.clientCountCallback(n.data.clientCount);break}case j.BROADCAST_ACK:{(o=this.ackRequests.get(e))===null||o===void 0||o.ack(n.data.packet);break}case j.FETCH_SOCKETS_RESPONSE:{const a=this.requests.get(e);if(!a)return;if(a.current++,n.data.sockets.forEach((t)=>a.responses.push(t)),a.current===a.expected)clearTimeout(a.timeout),a.resolve(a.responses),this.requests.delete(e);break}case j.SERVER_SIDE_EMIT_RESPONSE:{const a=this.requests.get(e);if(!a)return;if(a.current++,a.responses.push(n.data.packet),a.current===a.expected)clearTimeout(a.timeout),a.resolve(null,a.responses),this.requests.delete(e);break}default:D("[%s] unknown response type: %s",this.uid,n.type)}}async broadcast(n,i){var o;if(!((o=i.flags)===null||o===void 0?void 0:o.local))try{const a=await this.publishAndReturnOffset({type:j.BROADCAST,data:{packet:n,opts:qn(i)}});this.addOffsetIfNecessary(n,i,a)}catch(a){return D("[%s] error while broadcasting message: %s",this.uid,a.message)}super.broadcast(n,i)}addOffsetIfNecessary(n,i,o){var e;if(!this.nsp.server.opts.connectionStateRecovery)return;const a=n.type===2,t=n.id===void 0,s=((e=i.flags)===null||e===void 0?void 0:e.volatile)===void 0;if(a&&t&&s)n.data.push(o)}broadcastWithAck(n,i,o,e){var a;if(!((a=i===null||i===void 0?void 0:i.flags)===null||a===void 0?void 0:a.local)){const s=Si();this.ackRequests.set(s,{clientCountCallback:o,ack:e}),this.publish({type:j.BROADCAST,data:{packet:n,requestId:s,opts:qn(i)}}),setTimeout(()=>{this.ackRequests.delete(s)},i.flags.timeout)}super.broadcastWithAck(n,i,o,e)}async addSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:j.SOCKETS_JOIN,data:{opts:qn(n),rooms:i}})}catch(a){D("[%s] error while publishing message: %s",this.uid,a.message)}super.addSockets(n,i)}async delSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:j.SOCKETS_LEAVE,data:{opts:qn(n),rooms:i}})}catch(a){D("[%s] error while publishing message: %s",this.uid,a.message)}super.delSockets(n,i)}async disconnectSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:j.DISCONNECT_SOCKETS,data:{opts:qn(n),close:i}})}catch(a){D("[%s] error while publishing message: %s",this.uid,a.message)}super.disconnectSockets(n,i)}async fetchSockets(n){var i;const[o,e]=await Promise.all([super.fetchSockets(n),this.serverCount()]),a=e-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||a<=0)return o;const t=Si();return new Promise((s,c)=>{const l=setTimeout(()=>{const p=this.requests.get(t);if(p)c(new Error(`timeout reached: only ${p.current} responses received out of ${p.expected}`)),this.requests.delete(t)},n.flags.timeout||Jo),r={type:j.FETCH_SOCKETS,resolve:s,timeout:l,current:0,expected:a,responses:o};this.requests.set(t,r),this.publish({type:j.FETCH_SOCKETS,data:{opts:qn(n),requestId:t}})})}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:j.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),e=await this.serverCount()-1;if(D('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,e),e<=0)return o(null,[]);const a=Si(),t=setTimeout(()=>{const c=this.requests.get(a);if(c)o(new Error(`timeout reached: only ${c.current} responses received out of ${c.expected}`),c.responses),this.requests.delete(a)},Jo),s={type:j.SERVER_SIDE_EMIT,resolve:o,timeout:t,current:0,expected:e,responses:[]};this.requests.set(a,s),this.publish({type:j.SERVER_SIDE_EMIT,data:{requestId:a,packet:n}})}publish(n){this.publishAndReturnOffset(n).catch((i)=>{D("[%s] error while publishing message: %s",this.uid,i)})}publishAndReturnOffset(n){return n.uid=this.uid,n.nsp=this.nsp.name,this.doPublish(n)}publishResponse(n,i){i.uid=this.uid,i.nsp=this.nsp.name,this.doPublishResponse(n,i).catch((o)=>{D("[%s] error while publishing response: %s",this.uid,o)})}}An.ClusterAdapter=He;class tl extends He{constructor(n,i){super(n);this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5000,heartbeatTimeout:1e4},i),this.cleanupTimer=setInterval(()=>{const o=Date.now();this.nodesMap.forEach((e,a)=>{if(o-e>this._opts.heartbeatTimeout)D("[%s] node %s seems down",this.uid,a),this.removeNode(a)})},1000)}init(){this.publish({type:j.INITIAL_HEARTBEAT})}scheduleHeartbeat(){if(this.heartbeatTimer)this.heartbeatTimer.refresh();else this.heartbeatTimer=setTimeout(()=>{this.publish({type:j.HEARTBEAT})},this._opts.heartbeatInterval)}close(){if(this.publish({type:j.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer)clearInterval(this.cleanupTimer)}onMessage(n,i){if(n.uid===this.uid)return D("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==dx)this.nodesMap.set(n.uid,Date.now());switch(D("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case j.INITIAL_HEARTBEAT:this.publish({type:j.HEARTBEAT});break;case j.HEARTBEAT:break;case j.ADAPTER_CLOSE:this.removeNode(n.uid);break;default:super.onMessage(n,i)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(n){return this.scheduleHeartbeat(),super.publish(n)}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:j.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),e=this.nodesMap.size;if(D('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,e),e<=0)return o(null,[]);const a=Si(),t=setTimeout(()=>{const c=this.customRequests.get(a);if(c)o(new Error(`timeout reached: missing ${c.missingUids.size} responses`),c.responses),this.customRequests.delete(a)},Jo),s={type:j.SERVER_SIDE_EMIT,resolve:o,timeout:t,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(a,s),this.publish({type:j.SERVER_SIDE_EMIT,data:{requestId:a,packet:n}})}async fetchSockets(n){var i;const[o,e]=await Promise.all([super.fetchSockets({rooms:n.rooms,except:n.except,flags:{local:!0}}),this.serverCount()]),a=e-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||a<=0)return o;const t=Si();return new Promise((s,c)=>{const l=setTimeout(()=>{const p=this.customRequests.get(t);if(p)c(new Error(`timeout reached: missing ${p.missingUids.size} responses`)),this.customRequests.delete(t)},n.flags.timeout||Jo),r={type:j.FETCH_SOCKETS,resolve:s,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:o};this.customRequests.set(t,r),this.publish({type:j.FETCH_SOCKETS,data:{opts:qn(n),requestId:t}})})}onResponse(n){const i=n.data.requestId;switch(D("[%s] received response %s to request %s",this.uid,n.type,i),n.type){case j.FETCH_SOCKETS_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(n.data.sockets.forEach((e)=>o.responses.push(e)),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(o.responses),this.customRequests.delete(i);break}case j.SERVER_SIDE_EMIT_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(o.responses.push(n.data.packet),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(null,o.responses),this.customRequests.delete(i);break}default:super.onResponse(n)}}removeNode(n){this.customRequests.forEach((i,o)=>{if(i.missingUids.delete(n),i.missingUids.size===0){if(clearTimeout(i.timeout),i.type===j.FETCH_SOCKETS)i.resolve(i.responses);else if(i.type===j.SERVER_SIDE_EMIT)i.resolve(null,i.responses);this.customRequests.delete(o)}}),this.nodesMap.delete(n)}}An.ClusterAdapterWithHeartbeat=tl});var $o=h((ni)=>{Object.defineProperty(ni,"__esModule",{value:!0});ni.MessageType=ni.ClusterAdapterWithHeartbeat=ni.ClusterAdapter=ni.SessionAwareAdapter=ni.Adapter=void 0;var cl=Qe();Object.defineProperty(ni,"Adapter",{enumerable:!0,get:function(){return cl.Adapter}});Object.defineProperty(ni,"SessionAwareAdapter",{enumerable:!0,get:function(){return cl.SessionAwareAdapter}});var Ne=sl();Object.defineProperty(ni,"ClusterAdapter",{enumerable:!0,get:function(){return Ne.ClusterAdapter}});Object.defineProperty(ni,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return Ne.ClusterAdapterWithHeartbeat}});Object.defineProperty(ni,"MessageType",{enumerable:!0,get:function(){return Ne.MessageType}})});var ml=h((wi)=>{var yx=wi&&wi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(wi,"__esModule",{value:!0});wi.ParentNamespace=void 0;var ll=Be(),vx=$o(),bx=yx(q()),rl=bx.default("socket.io:parent-namespace");class jo extends ll.Namespace{constructor(n){super(n,"/_"+jo.count++);this.children=new Set}_initAdapter(){this.adapter=new pl(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){rl("creating child namespace %s",n);const i=new ll.Namespace(this.server,n);if(this._fns.forEach((o)=>i.use(o)),this.listeners("connect").forEach((o)=>i.on("connect",o)),this.listeners("connection").forEach((o)=>i.on("connection",o)),this.children.add(i),this.server._opts.cleanupEmptyChildNamespaces){const o=i._remove;i._remove=(e)=>{if(o.call(i,e),i.sockets.size===0)rl("closing child namespace %s",n),i.adapter.close(),this.server._nsps.delete(i.name),this.children.delete(i)}}return this.server._nsps.set(n,i),this.server.sockets.emitReserved("new_namespace",i),i}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}}wi.ParentNamespace=jo;jo.count=0;class pl extends vx.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var vl=h((oi)=>{function wx(n){ii.Adapter.prototype.addAll=function(i,o){const e=!this.sids.has(i);dl.call(this,i,o);const a=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(!a)return;if(a.conn.transport.name==="websocket"){xl(this.nsp.name,a,e,o);return}if(e)a.conn.on("upgrade",()=>{const t=this.sids.get(i);if(t)xl(this.nsp.name,a,e,t)})},ii.Adapter.prototype.del=function(i,o){fl.call(this,i,o);const e=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(e&&e.conn.transport.name==="websocket"){const a=e.conn.id,t=e.conn.transport.socket,s=`${this.nsp.name}${De}${o}`;ko("unsubscribe connection %s from topic %s",a,s),t.unsubscribe(s)}},ii.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){yl.call(this,i,o);return}const a=o.flags||{},t={preEncoded:!0,volatile:a.volatile,compress:a.compress};i.nsp=this.nsp.name;const s=this.encoder.encode(i),c=o.rooms.size===0?this.nsp.name:`${this.nsp.name}${De}${o.rooms.keys().next().value}`;ko("fast publish to %s",c),s.forEach((l)=>{const r=typeof l!=="string";n.publish(c,r?l:"4"+l,r)}),this.apply(o,(l)=>{if(l.conn.transport.name!=="websocket")l.client.writeToEngine(s,t)})}}function xl(n,i,o,e){const a=i.conn.id,t=i.conn.transport.socket;if(o)ko("subscribe connection %s to topic %s",a,n),t.subscribe(n);e.forEach((s)=>{const c=`${n}${De}${s}`;ko("subscribe connection %s to topic %s",a,c),t.subscribe(c)})}function gx(){ii.Adapter.prototype.addAll=dl,ii.Adapter.prototype.del=fl,ii.Adapter.prototype.broadcast=yl}function hx(n,i){const{size:o}=ul.statSync(i),e=ul.createReadStream(i),a=()=>!e.destroyed&&e.destroy(),t=(c)=>{throw a(),c},s=(c)=>{const l=Fx(c);n.cork(()=>{const r=n.getWriteOffset(),[p,m]=n.tryEnd(l,o);if(!m&&!p)e.pause(),n.onWritable((T)=>{const[R,y]=n.tryEnd(l.slice(T-r),o);if(!y&&R)e.resume();return R})})};n.onAborted(a),e.on("data",s).on("error",t).on("end",a)}var Tx=oi&&oi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(oi,"__esModule",{value:!0});oi.patchAdapter=wx;oi.restoreAdapter=gx;oi.serveFile=hx;var ii=$o(),ul=import.meta.require("fs"),Sx=Tx(q()),ko=Sx.default("socket.io:adapter-uws"),De="\x1F",{addAll:dl,del:fl,broadcast:yl}=ii.Adapter.prototype,Fx=(n)=>{const{buffer:i,byteOffset:o,byteLength:e}=n;return i.slice(o,o+e)}});var bl=h((Ph,Ax)=>{Ax.exports={name:"socket.io",version:"4.8.0",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"},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 --require ts-node/register --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.3.2","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 Rl=h((en,Gi)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",Kx=en&&en.__createBinding||(Object.create?function(n,i,o,e){if(e===void 0)e=o;var a=Object.getOwnPropertyDescriptor(i,o);if(!a||("get"in a?!i.__esModule:a.writable||a.configurable))a={enumerable:!0,get:function(){return i[o]}};Object.defineProperty(n,e,a)}:function(n,i,o,e){if(e===void 0)e=o;n[e]=i[o]}),Rx=en&&en.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),Mx=en&&en.__importStar||function(n){if(n&&n.__esModule)return n;var i={};if(n!=null){for(var o in n)if(o!=="default"&&Object.prototype.hasOwnProperty.call(n,o))Kx(i,n,o)}return Rx(i,n),i},Al=en&&en.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(en,"__esModule",{value:!0});en.Namespace=en.Socket=en.Server=void 0;var Jx=import.meta.require("http"),$x=import.meta.require("fs"),Le=import.meta.require("zlib"),jx=lo(),Oo=import.meta.require("stream"),Tl=import.meta.require("path"),Sl=fc(),kx=Cc(),wl=import.meta.require("events"),_e=Be();Object.defineProperty(en,"Namespace",{enumerable:!0,get:function(){return _e.Namespace}});var Ox=ml(),gl=$o(),zx=Mx(Bi()),Cx=Al(q()),Kl=Ye();Object.defineProperty(en,"Socket",{enumerable:!0,get:function(){return Kl.Socket}});var Wx=Ko(),Pe=vl(),Ix=Al(je()),ln=Cx.default("socket.io:server"),Fl=bl().version,hl=/\.map/;class gi extends Wx.StrictEventEmitter{constructor(n,i={}){super();if(this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof n==="object"&&n instanceof Object&&!n.listen)i=n,n=void 0;if(this.path(i.path||"/socket.io"),this.connectTimeout(i.connectTimeout||45000),this.serveClient(i.serveClient!==!1),this._parser=i.parser||zx,this.encoder=new this._parser.Encoder,this.opts=i,i.connectionStateRecovery)i.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120000,skipMiddlewares:!0},i.connectionStateRecovery),this.adapter(i.adapter||gl.SessionAwareAdapter);else this.adapter(i.adapter||gl.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=Ix.default(this.opts.cors)}get _opts(){return this.opts}serveClient(n){if(!arguments.length)return this._serveClient;return this._serveClient=n,this}_checkNamespace(n,i,o){if(this.parentNsps.size===0)return o(!1);const e=this.parentNsps.keys(),a=()=>{const t=e.next();if(t.done)return o(!1);t.value(n,i,(s,c)=>{if(s||!c)return a();if(this._nsps.has(n))return ln("dynamic namespace %s already exists",n),o(this._nsps.get(n));const l=this.parentNsps.get(t.value).createChild(n);ln("dynamic namespace %s was created",n),o(l)})};a()}path(n){if(!arguments.length)return this._path;this._path=n.replace(/\/$/,"");const i=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+i+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(n){if(n===void 0)return this._connectTimeout;return this._connectTimeout=n,this}adapter(n){if(!arguments.length)return this._adapter;this._adapter=n;for(let i of this._nsps.values())i._initAdapter();return this}listen(n,i={}){return this.attach(n,i)}attach(n,i={}){if(typeof n=="function")throw new Error("You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.");if(Number(n)==n)n=Number(n);if(typeof n=="number"){ln("creating http server and binding to %d",n);const o=n;n=Jx.createServer((e,a)=>{a.writeHead(404),a.end()}),n.listen(o)}return Object.assign(i,this.opts),i.path=i.path||this._path,this.initEngine(n,i),this}attachApp(n,i={}){Object.assign(i,this.opts),i.path=i.path||this._path,ln("creating uWebSockets.js-based engine with opts %j",i);const o=new Sl.uServer(i);if(o.attach(n,i),this.bind(o),this._serveClient)n.get(`${this._path}/*`,(e,a)=>{if(!this.clientPathRegex.test(a.getUrl())){a.setYield(!0);return}const t=a.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),s=hl.test(t),c=s?"map":"source",l='"'+Fl+'"',r="W/"+l,p=a.getHeader("if-none-match");if(p){if(l===p||r===p){ln("serve client %s 304",c),e.writeStatus("304 Not Modified"),e.end();return}}ln("serve client %s",c),e.writeHeader("cache-control","public, max-age=0"),e.writeHeader("content-type","application/"+(s?"json":"javascript")+"; charset=utf-8"),e.writeHeader("etag",l);const m=Tl.join(__dirname,"../client-dist/",t);Pe.serveFile(e,m)});Pe.patchAdapter(n)}initEngine(n,i){if(ln("creating engine.io instance with opts %j",i),this.eio=Sl.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){ln("attaching client serving req handler");const i=n.listeners("request").slice(0);n.removeAllListeners("request"),n.on("request",(o,e)=>{if(this.clientPathRegex.test(o.url))if(this._corsMiddleware)this._corsMiddleware(o,e,()=>{this.serve(o,e)});else this.serve(o,e);else for(let a=0;a<i.length;a++)i[a].call(n,o,e)})}serve(n,i){const o=n.url.replace(this._path,"").replace(/\?.*$/,""),e=hl.test(o),a=e?"map":"source",t='"'+Fl+'"',s="W/"+t,c=n.headers["if-none-match"];if(c){if(t===c||s===c){ln("serve client %s 304",a),i.writeHead(304),i.end();return}}ln("serve client %s",a),i.setHeader("Cache-Control","public, max-age=0"),i.setHeader("Content-Type","application/"+(e?"json":"javascript")+"; charset=utf-8"),i.setHeader("ETag",t),gi.sendFile(o,n,i)}static sendFile(n,i,o){const e=$x.createReadStream(Tl.join(__dirname,"../client-dist/",n)),a=jx(i).encodings(["br","gzip","deflate"]),t=(s)=>{if(s)o.end()};switch(a){case"br":o.writeHead(200,{"content-encoding":"br"}),Oo.pipeline(e,Le.createBrotliCompress(),o,t);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),Oo.pipeline(e,Le.createGzip(),o,t);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),Oo.pipeline(e,Le.createDeflate(),o,t);break;default:o.writeHead(200),Oo.pipeline(e,o,t)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){ln("incoming connection with id %s",n.id);const i=new kx.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){const e=new Ox.ParentNamespace(this);if(ln("initializing parent namespace %s",e.name),typeof n==="function")this.parentNsps.set(n,e);else this.parentNsps.set((a,t,s)=>s(null,n.test(a)),e),this.parentNamespacesFromRegExp.set(n,e);if(i)e.on("connect",i);return e}if(String(n)[0]!=="/")n="/"+n;let o=this._nsps.get(n);if(!o){for(let[e,a]of this.parentNamespacesFromRegExp)if(e.test(n))return ln("attaching namespace %s to parent namespace %s",n,e),a.createChild(n);if(ln("initializing namespace %s",n),o=new _e.Namespace(this,n),this._nsps.set(n,o),n!=="/")this.sockets.emitReserved("new_namespace",o)}if(i)o.on("connect",i);return o}async close(n){if(await Promise.allSettled([...this._nsps.values()].map(async(i)=>{i.sockets.forEach((o)=>{o._onclose("server shutting down")}),await i.adapter.close()})),this.engine.close(),Pe.restoreAdapter(),this.httpServer)this.httpServer.close(n);else n&&n()}use(n){return this.sockets.use(n),this}to(n){return this.sockets.to(n)}in(n){return this.sockets.in(n)}except(n){return this.sockets.except(n)}send(...n){return this.sockets.emit("message",...n),this}write(...n){return this.sockets.emit("message",...n),this}serverSideEmit(n,...i){return this.sockets.serverSideEmit(n,...i)}serverSideEmitWithAck(n,...i){return this.sockets.serverSideEmitWithAck(n,...i)}allSockets(){return this.sockets.allSockets()}compress(n){return this.sockets.compress(n)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(n){return this.sockets.timeout(n)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(n){return this.sockets.socketsJoin(n)}socketsLeave(n){return this.sockets.socketsLeave(n)}disconnectSockets(n=!1){return this.sockets.disconnectSockets(n)}}en.Server=gi;var Ex=Object.keys(wl.EventEmitter.prototype).filter(function(n){return typeof wl.EventEmitter.prototype[n]==="function"});Ex.forEach(function(n){gi.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});Gi.exports=(n,i)=>new gi(n,i);Gi.exports.Server=gi;Gi.exports.Namespace=_e.Namespace;Gi.exports.Socket=Kl.Socket});import*as zl from"http";function ei(n=Math.random){return n().toString(36).slice(2)}class Ai extends Promise{fate;resolve;reject;done=!1;constructor(n){let i,o;super((e,a)=>{i=e,o=a});this.resolve=i,this.reject=o,this.use(n instanceof Promise?n:new Promise(n))}pass(n,i){if(n===this.fate)this.resolve(i),this.done=!0}fail(n,i){if(n===this.fate)this.reject(i),this.done=!0}use(n){if(n instanceof Promise){const i=n;this.fate=i,i.then((o)=>{this.pass(i,o)},(o)=>{this.fail(i,o)})}else this.resolve(n),this.fate=void 0}}var aa=(n,i,o=J.STORE)=>{return Ki(o,{key:`${n.key}:JSON`,get:({get:e})=>i.toJson(e(n)),set:({set:e},a)=>{e(n,i.fromJson(a))}})};function f(n){while(n.child!==null)n=n.child;return n}function ta(n){while(n.parent!==null)n=n.parent;return n}class z{Subscriber;subscribers=new Map;subscribe(n,i){return this.subscribers.set(n,i),()=>{this.unsubscribe(n)}}unsubscribe(n){this.subscribers.delete(n)}next(n){const i=this.subscribers.values();for(let o of i)o(n)}}class Co extends z{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function zn(n,i,o){const e={key:i.key,type:"atom_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","atom_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R=i.default,y={key:m,default:R instanceof Function?R(l):R};if(i.effects)y.effects=i.effects(l);const v=Cn(T,y,p);return t.next({type:"state_creation",token:v}),v},e,{subject:t,install:(l)=>zn(l,i),internalRoles:o});return n.families.set(i.key,c),n.defaults.set(i.key,i.default),e}function sa(n,i){if("mutable"in i)return Ri(n,i);return zn(n,i)}function Wn(n,i,o){const e={key:i.key,type:"readonly_selector_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","readonly_selector_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R=Mi(T,{key:m,get:i.get(l)},p);return t.next({type:"state_creation",token:R}),R},e,{internalRoles:o,subject:t,install:(l)=>Wn(l,i),default:(l)=>{return i.get(l)({get:(...p)=>E(n,...p),find:(p,m)=>I(n,p,m),seek:(p,m)=>G(n,p,m),json:(p)=>L(n,p)})}});return n.families.set(i.key,c),e}function Wo(n,i){if("set"in i)return Ji(n,i);return Wn(n,i)}function ai(n,i){const o=k(i),e=`${n.key}(${o})`,a=Bl[n.type],t={key:e,type:a};if(a==="molecule")Object.assign(t,{key:i,family:n});else Object.assign(t,{family:{key:n.key,subKey:o}});return Object.assign(t,{counterfeit:!0}),t}var Bl={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function dn(n){const i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}class pn{a;b;cardinality;relations=new Map;contents=new Map;isContent;makeContentKey=(n,i)=>`${n}:${i}`;warn;getRelatedKeys(n){return this.relations.get(n)}addRelation(n,i){let o=this.relations.get(n),e=this.relations.get(i);if(o)o.add(i);else o=new Set([i]),this.relations.set(n,o);if(e)e.add(n);else e=new Set([n]),this.relations.set(i,e)}deleteRelation(n,i){const o=this.relations.get(n);if(o){if(o.delete(i),o.size===0)this.relations.delete(n);const e=this.relations.get(i);if(e){if(e.delete(n),e.size===0)this.relations.delete(i)}}}replaceRelationsUnsafely(n,i){this.relations.set(n,new Set(i));for(let o of i){const e=new Set([n]);this.relations.set(o,e)}}replaceRelationsSafely(n,i){const o=this.relations.get(n);if(o)for(let e of o){const a=this.relations.get(e);if(a){if(a.size===1)this.relations.delete(e);else a.delete(n);this.contents.delete(this.makeContentKey(n,e))}}this.relations.set(n,new Set(i));for(let e of i){let a=this.relations.get(e);if(a)a.add(n);else a=new Set([n]),this.relations.set(e,a)}}getContentInternal(n){return this.contents.get(n)}setContent(n,i){this.contents.set(n,i)}deleteContent(n){this.contents.delete(n)}constructor(n,i){if(this.a=n.between[0],this.b=n.between[1],this.cardinality=n.cardinality,!i?.externalStore)this.relations=new Map(n.relations?.map(([o,e])=>[o,new Set(e)])),this.contents=new Map(n.contents);if(this.isContent=i?.isContent??null,i?.makeContentKey)this.makeContentKey=i.makeContentKey;if(i?.externalStore){const o=i.externalStore;if(this.has=(e,a)=>o.has(e,a),this.addRelation=(e,a)=>{o.addRelation(e,a)},this.deleteRelation=(e,a)=>{o.deleteRelation(e,a)},this.replaceRelationsSafely=(e,a)=>{o.replaceRelationsSafely(e,a)},this.replaceRelationsUnsafely=(e,a)=>{o.replaceRelationsUnsafely(e,a)},this.getRelatedKeys=(e)=>o.getRelatedKeys(e),o.getContent)this.getContentInternal=(e)=>{return o.getContent(e)},this.setContent=(e,a)=>{o.setContent(e,a)},this.deleteContent=(e)=>{o.deleteContent(e)};for(let[e,a]of n.relations??[])for(let t of a)this.addRelation(e,t);for(let[e,a]of n.contents??[])this.setContent(e,a)}if(i?.warn)this.warn=i.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([n,i])=>[n,[...i]]),contents:[...this.contents.entries()]}}set(n,...i){const o=typeof i[0]==="string"?i[0]:n[this.b],e=i[1]??typeof i[0]==="string"?void 0:i[0];switch(n=typeof n==="string"?n:n[this.a],this.cardinality){case"1:1":{const a=this.getRelatedKey(n);if(a&&a!==o)this.delete(a,n)}case"1:n":{const a=this.getRelatedKey(o);if(a&&a!==n)this.delete(a,o)}}if(e){const a=this.makeContentKey(n,o);this.setContent(a,e)}return this.addRelation(n,o),this}delete(n,i){i=typeof i==="string"?i:n[this.b];const o=typeof n==="string"?n:n[this.a];if(o===void 0&&typeof i==="string"){const e=this.getRelatedKeys(i);if(e)for(let a of e)this.delete(a,i)}if(typeof o==="string"&&i===void 0){const e=this.getRelatedKeys(o);if(e)for(let a of e)this.delete(o,a)}if(typeof o==="string"&&typeof i==="string"){this.deleteRelation(o,i);const e=this.makeContentKey(o,i);this.deleteContent(e)}return this}getRelatedKey(n){const i=this.getRelatedKeys(n);if(i){if(i.size>1)this.warn?.(`${i.size} related keys were found for key "${n}": (${[...i].map((o)=>`"${o}"`).join(", ")}). Only one related key was expected.`);for(let o of i)return o}}replaceRelations(n,i,o){const e=!Array.isArray(i),a=e?Object.keys(i):i;if(o?.reckless)this.replaceRelationsUnsafely(n,a);else this.replaceRelationsSafely(n,a);if(e)for(let t of a){const s=this.makeContentKey(n,t),c=i[t];this.setContent(s,c)}return this}getContent(n,i){const o=this.makeContentKey(n,i);return this.getContentInternal(o)}getRelationEntries(n){const i=n[this.a],o=n[this.b];if(i!==void 0&&o===void 0){const e=this.getRelatedKeys(i);if(e)return[...e].map((a)=>{return[a,this.getContent(i,a)??null]})}if(i===void 0&&o!==void 0){const e=this.getRelatedKeys(o);if(e)return[...e].map((a)=>{return[a,this.getContent(a,o)??null]})}return[]}has(n,i){if(i)return this.getRelatedKeys(n)?.has(i)??!1;return this.relations.has(n)}}function H(n){return"epoch"in n.transactionMeta}function V(n){return"phase"in n.transactionMeta}var ca=(n)=>{const i=f(n);if(!V(i)){n.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}n.logger.info("\uD83E\uDE82","transaction",i.transactionMeta.update.key,"Aborting transaction"),i.parent.child=null};function Sn(n){return n.type.split("_").map(Xl).join(" ")}var Xl=(n)=>n[0].toUpperCase()+n.slice(1);class cn extends Error{constructor(...n){const i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${Sn(i)} ${k(i.key)} not found in store "${o.config.name}".`);else{const e=n[1];super(`${Sn(i)} "${i.key}" member ${k(e)} not found in store "${o.config.name}".`)}}}function In(n,i,o){return(...e)=>{const a=M(n,o);if(a)return a.run(e,i);throw new cn(n,o)}}var Zi=(n)=>(i)=>n instanceof Function?n(i):n;var En=(n,i)=>{if(i.valueMap.has(n.key))return i.logger.info("\uD83D\uDCD6",n.type,n.key,"reading cached value"),la(n,i);if(n.type==="selector"||n.type==="readonly_selector")return i.logger.info("\uD83E\uDDEE",n.type,n.key,"computing value"),n.get();const o=n.default instanceof Function?n.default():n.default;return i.logger.info("\uD83D\uDC81","atom",n.key,"could not find cached value; using default",o),n.default instanceof Function?n.default():n.default};var ra=(n,i)=>{if(n.operation.open){const o=performance.now();return n.logger.info("\u2757",i.type,i.key,`deferring setState at T-${o} until setState for "${n.operation.token.key}" is done`),o}n.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:i},n.logger.info("\u2B55",i.type,i.key,`operation start in store "${n.config.name}"${!V(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},pa=(n)=>{if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)},ma=(n,i)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",i,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(i)},ti=(n,i)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",i,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(i)};var ua=(n,i,o)=>{switch(n.type){case"mutable_atom":o.logger.info("\uD83D\uDCE2",n.type,n.key,"is now (",i.newValue,") subscribers:",n.subject.subscribers);break;default:o.logger.info("\uD83D\uDCE2",n.type,n.key,"went (",i.oldValue,"->",i.newValue,") subscribers:",n.subject.subscribers)}n.subject.next(i)};var Io=(n,i)=>{const o=f(i),e=o.selectorAtoms.getRelatedKeys(n.key);if(o.logger.info("\uD83E\uDDF9",n.type,n.key,e?`evicting ${e.size} states downstream:`:"no downstream states",e??"to evict"),e){if(o.operation.open)o.logger.info("\uD83E\uDDF9",n.type,n.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let a of e){if(ma(o,a))continue;xa(a,o),ti(o,a)}}};function Gl(n,i){if(fa(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var da=(n,i,o)=>{const{key:e}=n,a=f(o);if(!V(a)||a.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",e,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!Gl(e,i))return;const s={type:"atom_update",key:e,...i};if(n.family)s.family=n.family;a.transactionMeta.update.updates.push(s),o.logger.info("\uD83D\uDCC1","atom",e,"stowed (",i.oldValue,"->",i.newValue,")")};var ya=(n,i,o)=>{const e=En(n,o);let a=e;if(n.type==="mutable_atom"&&V(o)){const{parent:s}=o;a=$i(n,s,o)}if(a=Zi(i)(a),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",a),a=fn(n.key,a,n.subject,o),va(n.key,o))ba(n.key,o);ti(o,n.key),Io(n,o);const t={oldValue:e,newValue:a};if(H(o))ua(n,t,o);else if(o.parent){if(o.on.transactionApplying.state===null)da(n,t,o);else if(n.key.startsWith("*")){const s=n.key.slice(1),c=o.atoms.get(s);let l=o.valueMap.get(s);if(c.type==="mutable_atom"&&V(o)){const{parent:p}=o;l=$i(c,p,o)}if(l.do(t.newValue)===null)Io(c,o)}}};var Qi=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":ya(n,i,o);break;case"selector":n.set(i);break}};function Hi(n,i){if(i.family){const o=n.families.get(i.family.key);if(o)return o}}function U(n,...i){let o,e,a,t;if(i.length===2){if(o=i[0],t=i[1],e=Hi(n,o)??null,e)a=o.family?P(o.family.subKey):null,o=I(n,e,a)}else e=i[0],a=i[1],t=i[2],o=I(n,e,a);if("counterfeit"in o){const l=n.disposalTraces.buffer.find((r)=>r?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be set because it was not found in the store "${n.config.name}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found.");return}const s=ra(n,o);if(s){const l=n.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${s}`,()=>{l(),n.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${s}`),U(n,o,t)});return}const c=M(o,n);Qi(c,t,n),pa(n)}function Ni(n,i,o){const{key:e,newValue:a,oldValue:t}=i,s=n==="newValue"?a:t,c={key:e,type:"atom"};if(i.family)Object.assign(c,{family:i.family});U(o,c,s)}function Ta(n,i){const o=new z,e={type:"molecule_family",key:i.key,dependsOn:i.dependsOn??"all"},a={...e,subject:o,new:i.new};return n.moleculeFamilies.set(i.key,a),e}function wn(n,i,o){const e=Mn(o,i,n.key);n.tokens.set(e.key,e);const a=V(o)&&o.transactionMeta.phase==="building",t=o.moleculeInProgress===n.key;if(!a&&!t)n.subject.next({type:"state_creation",token:e});return e}class _ extends Set{mode="record";subject=new z;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof _)this.parent=n,this.cacheUpdateNumber=n.cacheUpdateNumber;if(i)this.cacheLimit=i,this.cache=new Array(i),this.subscribe("auto cache",(o)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=o})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(n){const i=new _(n.members,n.cacheLimit);return i.cache=n.cache,i.cacheIdx=n.cacheIdx,i.cacheUpdateNumber=n.cacheUpdateNumber,i}add(n){const i=super.add(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${k(n)}`);return i}clear(){const n=this.mode==="record"?[...this]:null;if(super.clear(),n)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(n)}`)}delete(n){const i=super.delete(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${k(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new _(this);const i=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(n(this.child)){for(let e of this.transactionUpdates)this.doStep(e);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(o){throw console.error("Failed to apply transaction to SetRTX:",o),o}finally{i(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(n,i){return this.subject.subscribe(n,i)}subscribe(n,i){return this.subject.subscribe(n,(o)=>{i(`${this.cacheUpdateNumber}=${o}`)})}emit(n){this.subject.next(n)}doStep(n){const i=n.indexOf(":"),o=n.substring(0,i),e=n.substring(i+1);switch(o){case"add":this.add(JSON.parse(e));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(e));break;case"tx":for(let a of e.split(";"))this.doStep(a)}}getUpdateNumber(n){const i=n.indexOf("=");return Number(n.substring(0,i))}do(n){const i=n.indexOf("="),o=Number(n.substring(0,i)),e=o-this.cacheUpdateNumber;if(e>0){if(e===1){this.mode="playback";const t=n.substring(i+1);return this.doStep(t),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(e)<this.cacheLimit){const t=this.cacheIdx+e;if(this.cache[t]===n)return null;this.mode="playback";let c=!1;while(!c){this.cacheIdx%=this.cacheLimit;const r=this.cache[this.cacheIdx];if(this.cacheIdx--,!r)return"OUT_OF_RANGE";this.undo(r),c=this.cacheIdx===t-1}const l=n.substring(i+1);return this.doStep(l),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(n){const i=n.indexOf(":"),o=n.substring(0,i),e=n.substring(i+1);switch(o){case"add":this.delete(JSON.parse(e));break;case"del":this.add(JSON.parse(e));break;case"clear":{const a=JSON.parse(e);for(let t of a)this.add(t);break}case"tx":{const a=e.split(";");for(let t=a.length-1;t>=0;t--)this.undoStep(a[t])}}}undo(n){const i=n.indexOf("=");if(Number(n.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";const e=n.substring(i+1);return this.undoStep(e),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function Z(n){return n[0].toUpperCase()+n.slice(1)}function Di(n,i,o=J.STORE){return Eo(o).set(n.key,new Uo(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Eo(n){if("joins"in n&&n.joins instanceof Map)return n.joins;const i=new Map;return n.joins=i,i}function ji(n,i){const o=Eo(i);let e=o.get(n.key);if(e===void 0){if(e=Eo(J.STORE).get(n.key)?.in(i),e===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o.set(n.key,e)}return e}function si(n,i,o){const e=ji(n,o);let a;switch(n.cardinality){case"1:1":{const t=`${n.a}KeyOf${Z(n.b)}`,s=`${n.b}KeyOf${Z(n.a)}`;a={get[t](){const l=e.states[t];return e.retrieve(l,i)},get[s](){const l=e.states[s];return e.retrieve(l,i)}};const c=`${n.a}EntryOf${Z(n.b)}`;if(c in e.states){const l=`${n.b}EntryOf${Z(n.a)}`;Object.assign(a,{get[c](){const r=e.states[c];return e.retrieve(r,i)},get[l](){const r=e.states[l];return e.retrieve(r,i)}})}break}case"1:n":{const t=`${n.a}KeyOf${Z(n.b)}`,s=`${n.b}KeysOf${Z(n.a)}`;a={get[t](){const l=e.states[t];return e.retrieve(l,i)},get[s](){const l=e.states[s];return e.retrieve(l,i)}};const c=`${n.a}EntryOf${Z(n.b)}`;if(c in e.states){const l=`${n.b}EntriesOf${Z(n.a)}`;Object.assign(a,{get[c](){const r=e.states[c];return e.retrieve(r,i)},get[l](){const r=e.states[l];return e.retrieve(r,i)}})}break}case"n:n":{const t=`${n.a}KeysOf${Z(n.b)}`,s=`${n.b}KeysOf${Z(n.a)}`;a={get[t](){const l=e.states[t];return e.retrieve(l,i)},get[s](){const l=e.states[s];return e.retrieve(l,i)}};const c=`${n.a}EntriesOf${Z(n.b)}`;if(c in e.states){const l=`${n.b}EntriesOf${Z(n.a)}`;Object.assign(a,{get[c](){const r=e.states[c];return e.retrieve(r,i)},get[l](){const r=e.states[l];return e.retrieve(r,i)}})}}}return a}function Sa(n,i){return si(n,i,J.STORE)}function Zn(n,i,o){const e=ji(n,o),a=f(o);if(V(a)){const{toolkit:t}=a.transactionMeta;e.transact(t,({relations:s})=>{i(s)})}else i(e.relations)}function Zl(n,i){return ji(n,i).core.findRelatedKeysState}function wa(n){return Zl(n,J.STORE)}class Uo{options;defaultContent;toolkit;retrieve;molecules=new Map;relations;states;core;transact(n,i){const o=this.toolkit;this.toolkit=n,i(this),this.toolkit=o}store;alternates;[Symbol.dispose](){this.alternates.delete(this.store.config.name)}in(n){const i=n.config.name,o=this.alternates.get(i);if(o)return o;const e=new Uo(this.options,this.defaultContent,n);return this.alternates.set(i,e),e.alternates=this.alternates,e}constructor(n,i,o=J.STORE){this.store=o,this.options=n,this.defaultContent=i,this.alternates=new Map,this.alternates.set(o.config.name,this),this.store.miscResources.set(`join:${n.key}`,this),this.retrieve=(x,d)=>{const A=this.toolkit.seek(x,d);if(A)return A;const w=this.molecules.get(k(d));if(w){const g=M(x,o);return wn(w,g,o)}if(o.config.lifespan==="immortal")throw new cn(x,d,o);return Mn(o,x,d)},this.toolkit={get:(...x)=>E(o,...x),set:(...x)=>{U(o,...x)},find:this.retrieve,seek:(...x)=>G(o,...x),json:(x)=>L(o,x),dispose:(...x)=>{an(o,...x)}};const e=n.between[0],a=n.between[1],t=Ri(o,{key:`${n.key}/relatedKeys`,default:()=>new _,mutable:!0,fromJson:(x)=>_.fromJSON(x),toJson:(x)=>x.toJSON()},["join","relations"]);this.core={findRelatedKeysState:t};const s=({get:x},d)=>x(this.retrieve(t,d)),c=(x,d,A)=>{const{set:w}=x,g=this.retrieve(t,d),F=this.retrieve(t,A);w(g,($)=>$.add(A)),w(F,($)=>$.add(d))},l=(x,d,A)=>{const{set:w}=x,g=this.retrieve(t,d),F=this.retrieve(t,A);let $,O;w(g,(X)=>{if(X.delete(A),X.size===0)$=`"${d}"`;return X}),w(F,(X)=>{if(X.delete(d),X.size===0)O=`"${A}"`;return X})},r=(x,d,A)=>{const{get:w,set:g}=x,F=this.retrieve(t,d),$=w(F);for(let O of $){if(A.includes(O))continue;const Tn=this.retrieve(t,O);g(Tn,(Kn)=>{return Kn.delete(d),Kn})}g(F,(O)=>{return O.transaction((X)=>{X.clear();for(let Tn of A){const Kn=s(x,Tn),ia=Kn.has(d);if(this.relations.cardinality==="1:n"){const oa=[];for(let Fi of Kn){if(Fi===d)continue;const hi=s(x,Fi);if(hi.delete(Tn),hi.size===0)oa.push(Fi)}if(!ia&&Kn.size>0)Kn.clear();for(let Fi of oa){const hi=[Tn,Fi].sort(),Wl=`"${hi[0]}:${hi[1]}"`;this.molecules.delete(Wl)}}if(!ia)Kn.add(d);X.add(Tn)}return!0}),O})},p=(x,d,A)=>{const{set:w}=x,g=this.retrieve(t,d);w(g,(F)=>{return F.transaction(($)=>{for(let O of A)$.add(O);return!0}),F});for(let F of A){const $=this.retrieve(t,F);w($,(O)=>{return O.add(d),O})}return!0},m=(x,d,A)=>{const w=s(x,d);return A?w.has(A):w.size>0},T={getRelatedKeys:(x)=>s(this.toolkit,x),addRelation:(x,d)=>{c(this.toolkit,x,d)},deleteRelation:(x,d)=>{l(this.toolkit,x,d)},replaceRelationsSafely:(x,d)=>{r(this.toolkit,x,d)},replaceRelationsUnsafely:(x,d)=>{p(this.toolkit,x,d)},has:(x,d)=>m(this.toolkit,x,d)};let R,y,v;if(i){y=zn(o,{key:`${n.key}/content`,default:i},["join","content"]);const x={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};v=Ta(o,{key:`${n.key}/content-molecules`,new:class F{O;constructor($,O){this.key=O}}});const d=({get:F},$)=>F(this.retrieve(y,$)),A=({set:F},$,O)=>{F(this.retrieve(y,$),O)},w=(F,$)=>{const O=o.molecules.get(`"${$}"`);if(O)this.toolkit.dispose(O),this.molecules.delete(`"${$}"`)};R=Object.assign(T,{getContent:(F)=>{return d(this.toolkit,F)},setContent:(F,$)=>{A(this.toolkit,F,$)},deleteContent:(F)=>{w(this.toolkit,F)}})}else R=T;const u=new pn(n,{externalStore:R,makeContentKey:(...x)=>{const d=x.sort(),A=`${d[0]}:${d[1]}`,[w,g]=d.map((F)=>this.molecules.get(k(F)));if(o.config.lifespan==="immortal"&&w&&g){const F=f(o),$=Jn(F,[w,g],v,A);this.molecules.set(`"${A}"`,M($,F))}return A}}),b=()=>Wn(o,{key:`${n.key}/singleRelatedKey`,get:(x)=>({get:d})=>{const A=this.retrieve(t,x),w=d(A);for(let g of w)return g;return null}},["join","keys"]),S=()=>{return Wn(o,{key:`${n.key}/multipleRelatedKeys`,get:(x)=>({get:d})=>{const A=Vo(t,o),w=this.retrieve(A,x);return d(w).members}},["join","keys"])},K=()=>Wn(o,{key:`${n.key}/singleRelatedEntry`,get:(x)=>({get:d})=>{const A=this.retrieve(t,x),w=d(A);for(let g of w){const F=u.makeContentKey(x,g),$=this.retrieve(y,F),O=d($);return[g,O]}return null}},["join","entries"]),W=()=>Wn(o,{key:`${n.key}/multipleRelatedEntries`,get:(x)=>({get:d})=>{const A=Vo(t,o),w=this.retrieve(A,x);return d(w).members.map((F)=>{const $=u.makeContentKey(x,F),O=this.retrieve(y,$),X=d(O);return[F,X]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const x=b(),d=`${e}KeyOf${Z(a)}`,A=`${a}KeyOf${Z(e)}`,w={[d]:x,[A]:x};let g;if(i){const F=K(),$=`${e}EntryOf${Z(a)}`,O=`${a}EntryOf${Z(e)}`,X={[$]:F,[O]:F};g=Object.assign(w,X)}else g=w;this.relations=u,this.states=g;break}case"1:n":{const x=b(),d=S(),A=`${e}KeyOf${Z(a)}`,w=`${a}KeysOf${Z(e)}`,g={[A]:x,[w]:d};let F;if(i){const $=K(),O=W(),X=`${e}EntryOf${Z(a)}`,Tn=`${a}EntriesOf${Z(e)}`,Kn={[X]:$,[Tn]:O};F=Object.assign(g,Kn)}else F=g;this.relations=u,this.states=F;break}default:{const x=S(),d=`${e}KeysOf${Z(a)}`,A=`${a}KeysOf${Z(e)}`,w={[d]:x,[A]:x};let g;if(i){const F=W(),$=`${e}EntriesOf${Z(a)}`,O=`${a}EntriesOf${Z(e)}`,X={[$]:F,[O]:F};g=Object.assign(w,X)}else g=w;this.relations=u,this.states=g}}}}function Li(n){return{store:n}}function E(n,...i){let o,e,a;if(i.length===1){if(o=i[0],o.type!=="molecule"){if(e=Hi(n,o)??null,e)a=o.family?P(o.family.subKey):null,o=I(n,e,a)}}else{e=i[0],a=i[1];let t;if(e.type==="molecule_family")t=G(n,e,a)??ai(e,a);else t=I(n,e,a);o=t}if("counterfeit"in o&&"family"in o){e=o.type==="molecule"?M(o.family,n):n.families.get(o.family.key);const t=o.type==="molecule"?o.key:o.family.subKey,s=n.disposalTraces.buffer.find((c)=>c?.key===o.key);switch(n.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${n.config.name}".`,s?`This state was previously disposed:\n${s.trace}`:"No previous disposal trace was found."),e.type){case"atom_family":case"mutable_atom_family":return n.defaults.get(e.key);case"selector_family":case"readonly_selector_family":{if(n.defaults.has(e.key))return n.defaults.get(o.family.key);const c=M(e,n).default(t);return n.defaults.set(e.key,c),c}case"molecule_family":throw new cn(e,t,n)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return En(M(o,n),n);case"molecule":return M(o,n).instance}}class Pi{i;type="molecule";stringKey;family;subject=new z;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(n,i,o){this.key=i;if(this.stringKey=k(i),o)this.family=o;if(n)if(Array.isArray(n))for(let e of n)this.above.set(e.stringKey,e);else this.above.set(n.stringKey,n)}}function ga(n){return n[0].toUpperCase()+n.slice(1)}function Jn(n,i,o,e,...a){const t=ta(n),s=f(n),c=k(e);s.moleculeInProgress=c;const l=Array.isArray(i)?i:[i],r=l.map((u)=>{if(u instanceof Pi)return u;const b=k(u.key),S=n.molecules.get(b);if(!S)throw new Error(`Molecule ${b} not found in store "${n.config.name}"`);return S}),p=new Pi(r,e,o);s.molecules.set(c,p);for(let u of r)u.below.set(p.stringKey,p);const m={get:(...u)=>E(f(t),...u),set:(...u)=>{U(f(t),...u)},seek:(u,b)=>G(f(t),u,b),json:(u)=>L(f(t),u),run:(u,b=ei())=>In(u,b,f(n)),make:(u,b,S,...K)=>Jn(f(t),u,b,S,...K),dispose:(u)=>{an(f(t),u)},env:()=>Li(f(t)),bond:(u,b)=>{if(u.type==="join"){const{as:S}=b,K=ji(u,t);K.molecules.set(c,p),p.joins.set(u.key,K);const W=T.subject.subscribe(`join:${u.key}-${c}`,(F)=>{if(F.type==="molecule_disposal"&&k(F.token.key)===c)W(),K.molecules.delete(c)});if(S===null)return;const x=u.a===S?u.b:u.a,d=Sa(u,e),A=d[`${x}KeysOf${ga(S)}`],w=d[`${x}EntriesOf${ga(S)}`];let g={relatedKeys:A};if(w)g=Object.assign(g,{relatedEntries:w});return g}return wn(p,M(u,t),f(t))},claim:(u,b)=>{const{exclusive:S}=b,K=f(n).molecules.get(k(u.key));if(K)if(S){for(let W of K.above.values())W.below.delete(K.stringKey);K.above.clear(),K.above.set(p.stringKey,p),p.below.set(K.stringKey,K)}else K.above.set(p.stringKey,p),p.below.set(K.stringKey,K)},spawn:(u,b,...S)=>Jn(f(n),[p],M(u,n),b,...S)},T=M(o,n),R=T.new;p.instance=new R(m,e,...a);const y={type:"molecule",key:e,family:o},v={type:"molecule_creation",token:y,family:o,context:l,params:a};if(H(s))T.subject.next(v);else if(V(s)&&s.on.transactionApplying.state===null)s.transactionMeta.update.updates.push(v);return s.moleculeInProgress=null,y}function Yo(n,i,o){switch(i){case"newValue":{Fa(n,o);break}case"oldValue":{an(o,n.token);break}}}function Bo(n,i,o){switch(i){case"newValue":{an(o,n.token);break}case"oldValue":{Fa(n,o),o.valueMap.set(n.token.key,n.value);break}}}function Fa(n,i){const{family:o}=n.token;if(o){const e=i.families.get(o.key);if(e)I(i,e,P(o.subKey))}}function Xo(n,i,o){switch(i){case"newValue":Jn(o,n.context,n.family,n.token.key,...n.params);break;case"oldValue":an(o,n.token);break}}function Go(n,i,o){switch(i){case"newValue":an(o,n.token);break;case"oldValue":{const e=Jn(o,n.context,n.family,n.token.key);for(let[a,t]of n.values){const s=`${a}(${k(e.key)})`,c=M(e,o),l=c.tokens.has(s),r=o.families.get(a);if(r&&!l)wn(c,r,o);o.valueMap.set(s,t)}}break}}function _i(n,i,o){const e=n==="newValue"?i.updates:[...i.updates].reverse();for(let a of e)switch(a.type){case"atom_update":case"selector_update":Ni(n,a,o);break;case"state_creation":Yo(a,n,o);break;case"state_disposal":Bo(a,n,o);break;case"molecule_creation":Xo(a,n,o);break;case"molecule_disposal":Go(a,n,o);break;case"transaction_update":_i(n,a,o);break}}function ha(n,i,o){if(H(o)&&n)o.transactionMeta.epoch.set(n,i)}function Aa(n,i,o){if(!H(o))return;const a=o.transactionMeta.actionContinuities.getRelatedKey(n);if(a!==void 0)o.transactionMeta.epoch.set(a,i)}var Ka=(n,i)=>{const o=f(i),{parent:e}=o;if(e===null||!V(o)||o.transactionMeta?.phase!=="building"){i.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}o.transactionMeta.phase="applying",o.transactionMeta.update.output=n,e.child=null,e.on.transactionApplying.next(o.transactionMeta);const{updates:a}=o.transactionMeta.update;if(i.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${a.length} updates:`,a),_i("newValue",o.transactionMeta.update,e),H(e))Aa(o.transactionMeta.update.key,o.transactionMeta.update.epoch,e),M({key:o.transactionMeta.update.key,type:"transaction"},i)?.subject.next(o.transactionMeta.update),i.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(V(e))e.transactionMeta.update.updates.push(o.transactionMeta.update);e.on.transactionApplying.next(null)};function Ra(n,i,o){if(!H(o))return;const{epoch:a,actionContinuities:t}=o.transactionMeta;if(t.set(n,i),!a.has(n))a.set(n,-1)}class yn extends Map{n;deleted=new Set;constructor(n){super();this.source=n}get(n){if(super.has(n))return super.get(n);if(!this.deleted.has(n)&&this.source.has(n))return this.source.get(n);return}set(n,i){return this.deleted.delete(n),super.set(n,i)}hasOwn(n){return super.has(n)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){return this.deleted.add(n),super.delete(n)}}var Ma=(n,i,o,e)=>{const a=f(o),t={parent:a,child:null,on:a.on,loggers:a.loggers,logger:a.logger,config:a.config,atoms:new yn(a.atoms),atomsThatAreDefault:new Set(a.atomsThatAreDefault),families:new yn(a.families),operation:{open:!1},readonlySelectors:new yn(a.readonlySelectors),timelines:new yn(a.timelines),timelineTopics:new pn(a.timelineTopics.toJSON()),trackers:new Map,transactions:new yn(a.transactions),selectorAtoms:new pn(a.selectorAtoms.toJSON()),selectorGraph:new pn(a.selectorGraph.toJSON(),{makeContentKey:(...r)=>r.sort().join(":")}),selectors:new yn(a.selectors),valueMap:new yn(a.valueMap),defaults:a.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new yn(a.molecules),moleculeFamilies:new yn(a.moleculeFamilies),moleculeInProgress:a.moleculeInProgress,miscResources:new yn(a.miscResources)},s=Ja(n,o),c={phase:"building",update:{type:"transaction_update",key:n,id:e,epoch:s===void 0?Number.NaN:s+1,updates:[],params:i,output:void 0},toolkit:{get:(...r)=>E(l,...r),set:(...r)=>{U(l,...r)},run:(r,p=ei())=>In(r,p,l),find:(r,p)=>I(l,r,p),seek:(r,p)=>G(l,r,p),json:(r)=>L(l,r),make:(r,p,m,...T)=>Jn(l,r,p,m,...T),dispose:(...r)=>{an(l,...r)},env:()=>Li(l)}},l=Object.assign(t,{transactionMeta:c});return a.child=l,o.logger.info("\uD83D\uDEEB","transaction",n,"Building transaction with params:",i),l};function Zo(n,i){const o={key:n.key,type:"transaction",run:(t,s)=>{const c=Ma(n.key,t,i,s);try{const l=f(i),{toolkit:r}=c.transactionMeta,p=n.do(r,...t);return Ka(p,l),p}catch(l){throw ca(e),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",l),l}},install:(t)=>Zo(n,t),subject:new z},e=f(i);e.transactions.set(o.key,o);const a=dn(o);return i.on.transactionCreation.next(a),a}function Ja(n,i){const o=H(i),e=o?i.transactionMeta.actionContinuities.getRelatedKey(n):void 0;return o&&e!==void 0?i.transactionMeta.epoch.get(e):void 0}class qi{_buffer;_index=0;constructor(n){let i;if(typeof n==="number")i=n;else i=n.length;this._buffer=Array.from({length:i})}get buffer(){return this._buffer}get index(){return this._index}add(n){this._buffer[this._index]=n,this._index=(this._index+1)%this._buffer.length}copy(){const n=new qi([...this._buffer]);return n._index=this._index,n}}class $a{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new pn({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new pn({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new pn({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new pn({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new qi(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new z,atomDisposal:new z,selectorCreation:new z,selectorDisposal:new z,timelineCreation:new z,transactionCreation:new z,transactionApplying:new Co(null),operationClose:new z,moleculeCreationStart:new z,moleculeCreationDone:new z,moleculeDisposal:new z};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new ki("warn",(n,i,o)=>!o.includes("\uD83D\uDD0D"))];logger={error:(...n)=>{for(let i of this.loggers)i.error(...n)},info:(...n)=>{for(let i of this.loggers)i.info(...n)},warn:(...n)=>{for(let i of this.loggers)i.warn(...n)}};constructor(n,i=null){if(this.config={...i?.config,...n},i!==null){if(this.valueMap=new Map(i?.valueMap),this.operation={...i?.operation},H(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new pn(i?.transactionMeta.actionContinuities.toJSON())};for(let[,e]of i.families){if(e.internalRoles?.includes("mutable")||e.internalRoles?.includes("join"))continue;e.install(this)}const o=new Set;for(let[,e]of i.atoms){if(o.has(e.key))continue;if(e.install(this),e.type==="mutable_atom"){const a=L(i,e),t=$n(e);o.add(a.key),o.add(t.key)}}for(let[,e]of i.readonlySelectors)e.install(this);for(let[,e]of i.selectors){if(o.has(e.key))continue;e.install(this)}for(let[,e]of i.transactions)e.install(this);for(let[,e]of i.timelines)e.install(this)}}}var J={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new $a({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function M(n,i){let o,e=i;while(e!==null){switch(n.type){case"atom":case"mutable_atom":o=e.atoms.get(n.key);break;case"selector":o=e.selectors.get(n.key);break;case"readonly_selector":o=e.readonlySelectors.get(n.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=e.families.get(n.key);break;case"timeline":o=e.timelines.get(n.key);break;case"transaction":o=e.transactions.get(n.key);break;case"molecule":o=e.molecules.get(k(n.key));break;case"molecule_family":o=e.moleculeFamilies.get(n.key);break}if(o)return o;e=e.child}throw new cn(n,i)}function no(n,i){let o;o=M(n,i);const{family:e}=n;for(let s of o.joins.values())s.relations.delete(o.key),s.molecules.delete(o.stringKey);const a=[];for(let s of o.above.values())a.push(dn(s));const t=[];for(let s of o.tokens.values()){const c=s.family;t.push([c.key,i.valueMap.get(s.key)])}if(e){const s=M(e,i),c={type:"molecule_disposal",token:n,family:e,context:a,values:t};if(n.family)c.family=n.family;for(let r of o.tokens.values())an(i,r);for(let r of o.below.values())if(r.family?.dependsOn==="all")no(r,i);else if(r.above.delete(o.stringKey),r.above.size===0)no(r,i);if(o.below.clear(),V(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.updates.push(c);else s.subject.next(c);i.molecules.delete(o.stringKey)}for(let s of o.above.values())s.below.delete(o.stringKey)}function Mn(n,i,o){const e=n.families.get(i.key);if(e===void 0)throw new cn(i,n);const a=e(o),t=f(n);if(a.family&&t.moleculeInProgress===null){if(H(t))switch(a.type){case"atom":case"mutable_atom":n.on.atomCreation.next(a);break;case"selector":case"readonly_selector":n.on.selectorCreation.next(a);break}else if(V(t)&&t.on.transactionApplying.state===null)t.transactionMeta.update.updates.push({type:"state_creation",token:a})}return a}function G(n,i,o){const e=k(o),a=`${i.key}(${e})`,t=f(n);let s;switch(i.type){case"atom_family":case"mutable_atom_family":s=t.atoms.get(a);break;case"selector_family":s=t.selectors.get(a);break;case"readonly_selector_family":s=t.readonlySelectors.get(a);break;case"molecule_family":s=t.molecules.get(k(o))}if(s)return dn(s);return s}function I(n,i,o){let e=G(n,i,o);if(e)return e;const a=n.molecules.get(k(o));if(a)return wn(a,i,n);if(n.config.lifespan==="immortal"){const t=ai(i,o);return n.logger.error("\u274C",t.type,t.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),t}return e=Mn(n,i,o),e}function an(n,...i){let o,e;if(i.length===1)o=i[0],e=o.key;else{const t=i[0],s=i[1];o=t.type==="molecule_family"?G(n,t,s)??ai(t,s):I(n,t,s)}try{M(o,n)}catch(t){const s=n.disposalTraces.buffer.find((c)=>c?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${n.config.name}".`,s?`\n This state was most recently disposed\n${s.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":Qo(o,n);break;case"selector":case"readonly_selector":ja(o,n);break;case"molecule":no(o,n);break}const{stack:a}=new Error;if(a){const t=a?.split("\n")?.slice(3)?.join("\n");n.disposalTraces.add({key:o.key,trace:t})}}var io=(n,i)=>f(i).atoms.has(n),Ql=(n,i)=>f(i).selectors.has(n),Hl=(n,i)=>f(i).readonlySelectors.has(n),ka=(n,i)=>io(n,i)||Ql(n,i)||Hl(n,i);var oo=(n,i)=>{return f(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([e,{source:a}])=>a!==n).map(([e,{source:a}])=>a).filter((e)=>ka(e,i))};var Ho=(n,i,o)=>{const e=[],a=oo(n,o);while(a.length>0){const t=a.shift();if(i.has(t))continue;if(i.add(t),!io(t,o))a.push(...oo(t,o));else if(!e.includes(t))e.push(t)}return e},Oa=(n,i)=>{const o=n.key,e=oo(o,i),a=new Set;return e.flatMap((t)=>io(t,i)?t:Ho(t,a,i))};var za=(n,i,o,e)=>{const a=f(e);if(i.type==="atom"||i.type==="mutable_atom")a.selectorAtoms.set({selectorKey:n,atomKey:i.key}),e.logger.info("\uD83D\uDD0D","selector",n,`discovers root atom "${i.key}"`);else{const t=Ho(i.key,o,e);e.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${t.map((s)=>`"${s}"`).join(", ")} ]`);for(let s of t)a.selectorAtoms=a.selectorAtoms.set({selectorKey:n,atomKey:s})}o.add(i.key)};var eo=(n,i,o)=>({get:(...e)=>{const a=f(o);let t;if(e.length===2){const[l,r]=e;switch(l.type){case"molecule_family":return E(o,l,r);default:if(o.config.lifespan==="ephemeral")t=I(o,l,r);else{const p=G(o,l,r);if(p)t=p;else throw new cn(l,r,o)}}}else[t]=e;if(t.type==="molecule")return E(o,t);const s=M(t,o),c=En(s,o);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${t.key}" =`,c,")"),a.selectorGraph.set({upstreamSelectorKey:t.key,downstreamSelectorKey:n},{source:t.key}),za(n,t,i,o),c},set:(...e)=>{let a,t;if(e.length===2)a=e[0],t=e[1];else{const l=e[0],r=e[1];t=e[2];const p=o.config.lifespan==="ephemeral"?I(o,l,r):G(o,l,r);if(!p)throw new cn(l,r,o);a=p}const s=f(o),c=M(a,s);Qi(c,t,s)},find:(e,a)=>I(o,e,a),seek:(e,a)=>G(o,e,a),json:(e)=>L(o,e)});var Mi=(n,i,o)=>{const e=f(n),a=new z,t=new Set,{get:s,find:c,seek:l,json:r}=eo(i.key,t,e),p=()=>{const y=i.get({get:s,find:c,seek:l,json:r});return fn(i.key,y,a,f(n)),t.clear(),y},m={...i,subject:a,install:(y)=>Mi(y,i,o),get:p,type:"readonly_selector",...o&&{family:o}};e.readonlySelectors.set(i.key,m);const T=p();n.logger.info("\u2728",m.type,m.key,"=",T);const R={key:i.key,type:"readonly_selector"};if(o)R.family=o;return R};var Oi=(n,i,o)=>{const e=f(n),a=new z,t=new Set,s=eo(i.key,t,e),{find:c,get:l,seek:r,json:p}=s,m={find:c,get:l,seek:r,json:p},T=(b=i.get,S=f(n))=>{const K=b(m);return fn(i.key,K,a,S),t.clear(),K},y={...i,subject:a,install:(b)=>Oi(b,i,o),get:T,set:(b)=>{const S=f(n),K=T(i.get,S),W=Zi(b)(K);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",K,"->",W,")"),fn(i.key,W,a,S),ti(S,i.key),H(S))a.next({newValue:W,oldValue:K});i.set(s,W)},type:"selector",...o&&{family:o}};e.selectors.set(i.key,y);const v=T();n.logger.info("\u2728",y.type,y.key,"=",v);const u={key:i.key,type:"selector"};if(o)u.family=o;return u};function Ki(n,i){if("set"in i){const a=Oi(n,i,void 0);return n.on.selectorCreation.next(a),a}const e=Mi(n,i,void 0);return n.on.selectorCreation.next(e),e}function ja(n,i){const o=f(i),{key:e}=n,a=M(n,o);if(!a.family)i.logger.error("\u274C","selector",e,"Standalone selectors cannot be disposed.");else{const t=o.molecules.get(a.family.subKey);if(t)t.tokens.delete(e);switch(n.type){case"selector":o.selectors.delete(e),M({key:a.family.key,type:"selector_family"},i).subject.next({type:"state_disposal",token:n});break;case"readonly_selector":o.readonlySelectors.delete(e),M({key:a.family.key,type:"readonly_selector_family"},i).subject.next({type:"state_disposal",token:n});break}if(o.valueMap.delete(e),o.selectorAtoms.delete(e),o.selectorGraph.delete(e),i.logger.info("\uD83D\uDD25",n.type,e,"deleted"),V(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function Ji(n,i,o){const e={key:i.key,type:"selector_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","selector_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R=Oi(T,{key:m,get:i.get(l),set:i.set(l)},p);return t.next({type:"state_creation",token:R}),R},e,{internalRoles:o,subject:t,install:(l)=>Ji(l,i),default:(l)=>{return i.get(l)({get:(...p)=>E(n,...p),find:(p,m)=>I(n,p,m),seek:(p,m)=>G(n,p,m),json:(p)=>L(n,p)})}});return n.families.set(i.key,c),e}function Ca(n,i,o=J.STORE){const e=Ji(o,{key:`${n.key}:JSON`,get:(t)=>({seek:s,get:c})=>{const l=s(n,t);if(l)return i.toJson(c(l));const r=k(t),p=o.molecules.get(r);if(p){const T=wn(p,n,o);return i.toJson(c(T))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${r}"`);const m=Mn(o,n,t);return i.toJson(c(m))},set:(t)=>({seek:s,set:c},l)=>{const r=s(n,t);if(r)c(r,i.fromJson(l));else{const p=k(t),m=o.molecules.get(p);if(m){const T=wn(m,n,o);c(T,i.fromJson(l))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${p}"`);c(Mn(o,n,t),i.fromJson(l))}}}},["mutable","json"]);return M(n,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(t)=>{if(t.token.family)G(o,e,P(t.token.family.subKey))}),e}var P=(n)=>JSON.parse(n),k=(n)=>JSON.stringify(n),jT=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var Wa=(n,i)=>{const o=f(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var Lo=(n,i)=>{const o=f(i);return Oa(n,i).map((a)=>{const t=o.atoms.get(a);if(t===void 0)throw new Error(`Atom "${a}", a dependency of selector "${n.key}", not found in store "${i.config.name}".`);return t.subject.subscribe(`${n.type}:${n.key}`,(s)=>{i.logger.info("\uD83D\uDCE2",n.type,n.key,"root",a,"went",s.oldValue,"->",s.newValue);const c=Wa(n,o),l=En(n,o);i.logger.info("\u2728",n.type,n.key,"went",c,"->",l),n.subject.next({newValue:l,oldValue:c})})})};function tn(n,i,o,e){function a(m){if(e.operation.open){const T=e.on.operationClose.subscribe(`state subscription ${o}`,()=>{T(),i(m)})}else i(m)}const t=M(n,e);e.logger.info("\uD83D\uDC40",t.type,t.key,`Adding subscription "${o}"`);const s=t.type==="selector"||t.type==="readonly_selector";let c=null,l=a;if(s)c=Lo(t,e),l=(m)=>{if(c)c.length=0,c.push(...Lo(t,e));a(m)};const r=t.subject.subscribe(o,l);return()=>{if(e.logger.info("\uD83D\uDE48",t.type,t.key,`Removing subscription "${o}"`),r(),c)for(let m of c)m()}}var No=(n,i,o,e)=>{const a=M(n,e);e.logger.info("\uD83D\uDC40","timeline",n.key,`Adding subscription "${o}"`);const t=a.subject.subscribe(o,i);return()=>{e.logger.info("\uD83D\uDE48","timeline",n.key,`Removing subscription "${o}" from timeline`),t()}};var Do=(n,i,o,e)=>{const a=M(n,e);e.logger.info("\uD83D\uDC40","transaction",n.key,`Adding subscription "${o}"`);const t=a.subject.subscribe(o,i);return()=>{e.logger.info("\uD83D\uDE48","transaction",n.key,`Removing subscription "${o}"`),t()}};class Vn{Update;initializeState(n,i){const o=`*${n.key}`;i.atoms.delete(o),i.valueMap.delete(o);const e=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,a=Cn(i,{key:o,default:null},e);if(i.parent?.valueMap.has(o)){const t=i.parent.valueMap.get(o);i.valueMap.set(o,t)}return a}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){const e=`tracker:${o.config.name}:${V(o)?o.transactionMeta.update.key:"main"}:${n.key}`,a=E(o,n);this.unsubscribeFromInnerValue=a.subscribe(e,(t)=>{U(o,i,t)}),this.unsubscribeFromState=tn(n,(t)=>{if(t.newValue!==t.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=t.newValue.subscribe(e,(s)=>{U(o,i,s)})},e,o)}updateCore(n,i,o){const e=`tracker:${o.config.name}:${V(o)?o.transactionMeta.update.key:"main"}:${n.key}`;tn(i,({newValue:a,oldValue:t})=>{const s=o.timelineTopics.getRelatedKey(i.key);if(s){if(o.timelines.get(s)?.timeTraveling){const r=No({key:s,type:"timeline"},(p)=>{r(),U(o,n,(m)=>{if(p==="redo"&&a)m.do(a);else if(p==="undo"&&t)m.undo(t);return m})},e,o);return}}const c=o.on.operationClose.subscribe(e,()=>{c();const l=E(o,n),r=a===null?-1:l.getUpdateNumber(a),p=r-l.cacheUpdateNumber;if(a&&p===1)U(o,n,(m)=>(m.do(a),m));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${l.cacheUpdateNumber+1}, but got ${r}`)})},e,o)}mutableState;latestUpdateState;dispose;constructor(n,i){this.mutableState=n;const o=f(i);this.latestUpdateState=this.initializeState(n,o),this.observeCore(n,this.latestUpdateState,o),this.updateCore(n,this.latestUpdateState,o),o.trackers.set(n.key,this),this.dispose=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(n.key)}}}function zi(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const e=f(n),a=e.atoms.get(i.key);if(a&&a.type==="mutable_atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),dn(a);const t=new z,s={...i,type:"mutable_atom",install:(r)=>{return r.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${r.config.name}"`),zi(r,i,o)},subject:t};if(o)s.family=o;const c=i.default();e.atoms.set(s.key,s),ao(i.key,n),fn(i.key,c,t,e);const l=dn(s);if(i.effects){let r=0;const p=[];for(let m of i.effects){const T=m({setSelf:(R)=>{U(n,l,R)},onSet:(R)=>tn(l,R,`effect[${r}]`,n)});if(T)p.push(T);++r}s.cleanup=()=>{for(let m of p)m()}}if(new Vn(l,n),!o)aa(l,i,n);return l}class Po{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){const o=zn(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=M(o,i),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(e)=>{if(e.token.family){const a=P(e.token.family.subKey);G(i,this.latestUpdateAtoms,a),new Vn(e.token,i)}}),this.latestUpdateAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(e)=>{if(e.token.family){const a=P(e.token.family.subKey),t=G(i,this.mutableAtoms,a);if(t)new Vn(t,i)}})}}function Ri(n,i,o){const e={key:i.key,type:"mutable_atom_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","mutable_atom_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R={key:m,default:()=>i.default(l),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)R.effects=i.effects(l);const y=zi(T,R,p);return t.next({type:"state_creation",token:y}),y},e,{subject:t,install:(l)=>Ri(l,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,c),Ca(c,i,n),new Po(c,n),e}var Vo=(n,i)=>{const o=f(i),e=`${n.key}:JSON`;return o.families.get(e)};var L=(n,i)=>{if(i.family){const e=f(n),t={key:`${i.family.key}:JSON`,type:"selector_family"},s=M(t,e),c=JSON.parse(i.family.subKey);return I(n,s,c)}return{type:"selector",key:`${i.key}:JSON`}};var $n=(n)=>{const o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function fa(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function $i(n,i,o){const e=i.valueMap.get(n.key),a=o.valueMap.get(n.key);if(e===a){if(e===void 0)return typeof n.default==="function"?n.default():n.default;i.logger.info("\uD83D\uDCC3","atom",n.key,"copying");const t=n.toJson(e),s=n.fromJson(t);return o.valueMap.set(n.key,s),new Vn(n,i),s}return a}function fn(n,i,o,e){const a=e.valueMap.get(n);if(a instanceof Ai)a.use(i);if(i instanceof Promise){const t=new Ai(i);return e.valueMap.set(n,t),t.then((s)=>{fn(n,s,o,e),o.next({newValue:s,oldValue:t})}).catch((s)=>{e.logger.error("\uD83D\uDCA5","state",n,"rejected:",s)}),t}return e.valueMap.set(n,i),i}var la=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&V(i)){const{parent:e}=i;o=$i(n,e,i)}return o},xa=(n,i)=>{const o=i.valueMap.get(n);if(o instanceof Ai){const e=o,a=i.selectors.get(n)??i.readonlySelectors.get(n);if(a)e.use(a.get());return}if(i.operation.open)i.operation.prev.set(n,o);i.valueMap.delete(n),i.logger.info("\uD83D\uDDD1","state",n,"evicted")};var va=(n,i)=>{return f(i).atomsThatAreDefault.has(n)},ao=(n,i)=>{const o=f(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},ba=(n,i)=>{const o=f(i);o.atomsThatAreDefault=new Set(f(i).atomsThatAreDefault),o.atomsThatAreDefault.delete(n)};function Cn(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const e=f(n),a=e.atoms.get(i.key);if(a&&a.type==="atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),dn(a);const t=new z,s={...i,type:"atom",install:(r)=>{return r.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${r.config.name}"`),Cn(r,i,o)},subject:t};if(o)s.family=o;let c=i.default;if(i.default instanceof Function)c=i.default();e.atoms.set(s.key,s),ao(i.key,n),fn(i.key,c,t,e);const l=dn(s);if(i.effects){let r=0;const p=[];for(let m of i.effects){const T=m({setSelf:(R)=>{U(n,l,R)},onSet:(R)=>tn(l,R,`effect[${r}]`,n)});if(T)p.push(T);++r}s.cleanup=()=>{for(let m of p)m()}}return l}function Ia(n,i){if("mutable"in i){const a=zi(n,i,void 0);return n.on.atomCreation.next(a),a}const e=Cn(n,i,void 0);return n.on.atomCreation.next(e),e}function Qo(n,i){const o=f(i),{key:e}=n,a=M(n,o);if(!a.family)i.logger.error("\u274C","atom",e,"Standalone atoms cannot be disposed.");else{a.cleanup?.();const t=i.valueMap.get(a.key);M({key:a.family.key,type:"atom_family"},i).subject.next({type:"state_disposal",token:n,value:t});const c=o.molecules.get(a.family.subKey);if(c)c.tokens.delete(e);if(o.atoms.delete(e),o.valueMap.delete(e),o.selectorAtoms.delete(e),o.atomsThatAreDefault.delete(e),o.timelineTopics.delete(e),n.type==="mutable_atom"){const l=$n(n);Qo(l,i),i.trackers.delete(e)}if(i.logger.info("\uD83D\uDD25","atom",e,"deleted"),V(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.atomDisposal.next(n)}}function Un(n){return Ia(J.STORE,n)}function Qn(n){return sa(J.STORE,n)}var _o=(n)=>(i,o,e,a,...t)=>{console[n](`${i} ${o} "${e}" ${a}`,...t)},Nl={error:_o("error"),info:_o("info"),warn:_o("warn")};class ki{n;i;o;constructor(n,i,o=Nl){this.logLevel=n;this.filter=i;this.logger=o}error=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!==null)this.logger.error(...n)};info=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel==="info")this.logger.info(...n)};warn=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...n)}}function to(n){return Wo(J.STORE,n)}function Hn(n){return Zo(n,J.STORE)}class ci{n;listeners;globalListeners;handleEvent(n,...i){for(let e of this.globalListeners)e(n,...i);const o=this.listeners.get(n);if(o)for(let e of o)e(...i)}id="no_id_retrieved";constructor(n){this.emit=n;this.listeners=new Map,this.globalListeners=new Set}on(n,i){const o=this.listeners.get(n);if(o)o.add(i);else this.listeners.set(n,new Set([i]));return this}onAny(n){return this.globalListeners.add(n),this}off(n,i){const o=this.listeners.get(n);if(o)if(i)o.delete(i);else this.listeners.delete(n);return this}offAny(n){return this.globalListeners.delete(n),this}}class Ci extends ci{n;i;o;incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";handleLog(n){if(Array.isArray(n)){const[i,...o]=n;switch(i){case"i":this.logger.info(this.id,this.key,...o);break;case"w":this.logger.warn(this.id,this.key,...o);break;case"e":this.logger.error(this.id,this.key,...o);break}}}constructor(n,i,o=console){super((e,...a)=>{const t=JSON.stringify([e,...a])+"\x03",s=(c)=>{if(c.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",s)};return this.process.stdin.once("error",s),this.process.stdin.write(t),this});this.process=n;this.key=i;this.logger=o;if(this.process=n,this.process.stdout.on("data",(e)=>{const a=e.toString();if(a==="\u2728")return;this.unprocessedEvents.push(...a.split("\x03"));const t=this.unprocessedEvents.shift();this.incompleteData+=t??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let s=P(this.incompleteData);this.handleEvent(...s);while(this.unprocessedEvents.length>0){const c=this.unprocessedEvents.shift();if(c){if(this.unprocessedEvents.length===0)this.incompleteData=c;s=P(c),this.handleEvent(...s)}}this.incompleteData=""}catch(s){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(s)}}),this.process.stderr.on("data",(e)=>{const a=e.toString();this.unprocessedLogs.push(...a.split("\x03"));const t=this.unprocessedLogs.shift();this.incompleteLog+=t??"";try{let s=P(this.incompleteLog);this.handleLog(s);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)s=P(this.incompleteLog),this.handleLog(s)}catch(s){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(s),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class Ea extends ci{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new z,this.out=new z,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class qo extends ci{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(k(n.map((i)=>i instanceof _?`{ ${i.toJSON().members.join(" | ")} }`:i))+"\x03")}logger={info:(...n)=>{this.log("i",...n)},warn:(...n)=>{this.log("w",...n)},error:(...n)=>{this.log("e",...n)}};constructor(){super((n,...i)=>{const o=JSON.stringify([n,...i]);return this.process.stdout.write(o+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(n)=>{const i=n.toString();this.unprocessedEvents.push(...i.split("\x03"));const o=this.unprocessedEvents.shift();this.incompleteData+=o??"";try{const e=P(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",e),this.handleEvent(...e);while(this.unprocessedEvents.length>0){const a=this.unprocessedEvents.shift();if(a){if(this.unprocessedEvents.length===0)this.incompleteData=a;const t=P(a);this.handleEvent(...t)}}this.incompleteData=""}catch(e){if(e instanceof Error)this.logger.error("\u2757",e.message,e.cause,e.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(n)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${n}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(n)=>{this.logger.info("\uD83D\uDC64","user",n,"joined");const i=new Ea(`user:${n}`);this.relays.set(n,i),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let o of this.relayServices){const e=o(i);if(e)i.disposalFunctions.push(e)}this.on(`user:${n}`,(...o)=>{i.in.next(o)}),i.out.subscribe("socket",(o)=>{this.emit(...o)})}),this.on("user-leaves",(n)=>{const i=this.relays.get(n);if(this.off(`relay:${n}`),i)i.dispose(),this.relays.delete(n)}),process.stdout.write("\u2728")}relay(n){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(n)}}function Ua(n){const{key:i,config:o}=n,e=so.create(i,o),{actions:a}=e;for(let t of a)Ra(i,t.key,J.STORE);return ha(i,-1,J.STORE),e}class Va extends Map{set(n,i){if(this.has(n))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:n,value:i}),this;return super.set(n,i)}clear(){throw new Error("Cannot clear an InvariantMap")}}class so{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new Va;static create(n,i){const o=new so(n),{type:e,globals:a,actions:t,perspectives:s}=i(o),c={type:e,key:n,globals:a,actions:t,perspectives:s};return so.existing.set(n,c),c}add(...n){switch(n[0].type){case"atom":case"mutable_atom":this.globals.push(...n);break;case"transaction":this.actions.push(...n);break;case"atom_family":{const[o,e]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:e})}break}return this}}var Cg=Un({key:"usersInRoomIndex",mutable:!0,default:()=>new _,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),ne=Un({key:"roomIndex",default:()=>new _,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),Dl={enteredAtEpoch:0},Wi=Di({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},Dl),Wg=to({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=wa(Wi);return[i(o,n)]}});import{spawn as Ll}from"child_process";var ie=Qn({key:"roomArguments",default:["echo",["Hello World!"]]}),Ya=to({key:"room",get:(n)=>async({get:i,find:o})=>{const e=o(ie,n),a=i(e),[t,s]=a,c=await new Promise((l)=>{const r=Ll(t,s,{env:process.env}),p=(m)=>{if(m.toString()==="\u2728")r.stdout.off("data",p),l(r)};r.stdout.on("data",p)});return new Ci(c,n)}});var Lg=Hn({key:"createRoom",do:({get:n,set:i,find:o},e,a,t)=>{const s=t?[a,t]:[a],c=o(ie,e);i(c,s),i(ne,(p)=>p.add(e));const l=o(Ya,e);return n(l)}}),Pg=Hn({key:"joinRoom",do:(n,i,o,e)=>{const a={enteredAtEpoch:e};return Zn(Wi,(t)=>{t.set({room:i,user:o},a)},n.env().store),a}}),_g=Hn({key:"leaveRoom",do:(n,i,o)=>{Zn(Wi,(e)=>{e.delete({room:i,user:o})},n.env().store)}}),qg=Hn({key:"destroyRoom",do:(n,i)=>{Zn(Wi,(o)=>{o.delete({room:i})},n.env().store),n.set(ne,(o)=>(o.delete(i),o))}});function oe(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{const e=oe(n,o.updates);return{...o,updates:e}}default:return o}}).filter((o)=>{switch(o.type){case"atom_update":case"selector_update":return n.includes(o.key);case"state_creation":return n.includes(o.token.key);case"molecule_creation":return!0;case"transaction_update":return!0}})}var oF=Qn({key:"transactionRedactor",default:{occlude:(n)=>n}}),Ba=Qn({key:"unacknowledgedUpdates",default:()=>[]});var Ii=Qn({key:"sockets",default:null}),ee=Un({key:"socketsIndex",mutable:!0,default:()=>new _,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),ae=Un({key:"usersIndex",mutable:!0,default:()=>new _,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),Nn=Di({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function Xa({socket:n,store:i=J.STORE}){return function o(e){let a=n;const t=e.key,s=si(Nn,a.id,i).userKeyOfSocket,c=E(i,s);if(!c)return i.logger.error("\u274C","continuity",t,`Tried to create a synchronizer for a socket (${a.id}) that is not connected to a user.`),()=>{};const l=si(Nn,c,i).socketKeyOfUser;tn(l,({newValue:b})=>{if(i.logger.info("\uD83D\uDC4B","continuity",t,`seeing ${c} on new socket ${b}`),b===null){i.logger.warn("\u274C","continuity",t,`User (${c}) is not connected to a socket, waiting for them to reappear.`);return}const S=I(i,Ii,b);a=E(i,S);for(let W of p)a?.emit(`tx-new:${t}`,W)},`sync-continuity:${t}:${c}`,i);const r=I(i,Ba,c),p=E(i,r),m=[],R=(()=>{const b=[];for(let S of e.perspectives){const{viewAtoms:K}=S,W=I(i,K,c),x=tn(W,({oldValue:d,newValue:A})=>{const w=d.map((O)=>O.key),g=A.map((O)=>O.key),F=d.filter((O)=>!g.includes(O.key)),$=A.filter((O)=>!w.includes(O.key)).flatMap((O)=>{const X=O.type==="mutable_atom"?L(i,O):O,Tn=E(i,X);return[X,Tn]});if(i.logger.info("\uD83D\uDC41","atom",S.resourceAtoms.key,`${c} has a new perspective`,{oldKeys:w,newKeys:g,revealed:$,concealed:F}),$.length>0)a?.emit(`reveal:${t}`,$);if(F.length>0)a?.emit(`conceal:${t}`,F)},`sync-continuity:${t}:${c}:perspective:${S.resourceAtoms.key}`,i);b.push(x)}return()=>{for(let S of b)S()}})(),y=()=>{const b=[];for(let K of e.globals){const W=K.type==="mutable_atom"?L(i,K):K,x=E(i,W);b.push(W,x)}for(let K of e.perspectives){const{viewAtoms:W,resourceAtoms:x}=K,d=I(i,W,c),A=E(i,d);i.logger.info("\uD83D\uDC41","atom",x.key,`${c} can see`,{viewAtoms:W,resourceAtoms:x,userView:A});for(let w of A){const g=w.type==="mutable_atom"?L(i,w):w,F=E(i,g);b.push(g,F)}}const S=H(i)?i.transactionMeta.epoch.get(t)??null:null;a?.emit(`continuity-init:${t}`,S,b);for(let K of e.actions){const W=Do(K,(x)=>{try{const d=e.globals.map((g)=>{if(g.type==="atom")return g.key;return $n(g).key}).concat(e.perspectives.flatMap((g)=>{const{viewAtoms:F}=g,$=I(i,F,c);return E(i,$).map((X)=>{return X.type==="mutable_atom"?"*"+X.key:X.key})})),A=oe(d,x.updates),w={...x,updates:A};U(i,r,(g)=>{if(w)g.push(w),g.sort((F,$)=>F.epoch-$.epoch);return g}),a?.emit(`tx-new:${t}`,w)}catch(d){if(d instanceof Error)i.logger.error("\u274C","continuity",t,`failed to send update from transaction ${K.key} to ${c}`,d.message)}},`sync-continuity:${t}:${c}`,i);m.push(W)}};a.off(`get:${t}`,y),a.on(`get:${t}`,y);const v=(b)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",t,"received",b);const{key:S,id:K}=b,W=`tx-run:${S}:${K}`,x=`${W}:start`,d=`${W}:end`;performance.mark(x);try{In({type:"transaction",key:S},K,i)(...b.params)}catch($){if($ instanceof Error)i.logger.error("\u274C","continuity",t,`failed to run transaction ${S} with update ${K}`,$.message)}performance.mark(d);const A=performance.measure(W,x,d);i?.logger.info("\uD83D\uDE80","transaction",S,K,A.duration);const w=`valuesOfCardsView("${c}")`,g=i.selectorAtoms.getRelatedKeys(w),F=i.valueMap.get(w);i.logger.info("\uD83D\uDC41","continuity",t,`seeing ${c} card values`,{valuesOfCardsViewKey:w,rootsOfCardValueView:g,myCardValueView:F})};a.off(`tx-run:${t}`,v),a.on(`tx-run:${t}`,v);const u=(b)=>{if(i.logger.info("\uD83D\uDC4D","continuity",t,`${c} acknowledged epoch ${b}`),p[0]?.epoch===b)U(i,r,(K)=>{return K.shift(),K})};return a?.on(`ack:${t}`,u),()=>{for(let b of m)b();a?.off(`ack:${t}`,u),R(),a?.off(`get:${t}`,y),a?.off(`tx-run:${t}`,v)}}}var Ml=Yl(Rl(),1),{Server:Jl,Namespace:_h,Socket:qh}=Ml.default;import{spawn as Ux}from"child_process";import{resolve as Yx}from"path";var{MODE:zo,FRONTEND_PORT:nA,BACKEND_PORT:iA}=process.env;function $l(n,i){const o=zo==="development"?"ts":"js",e=i.endsWith(".bun")?"bun":"node",t=[Yx(import.meta.dir,`${i}.${o}`)];if(e==="node"&&o==="ts")t.push("--experimental-strip-types");const s=Ux(e,t);return new Ci(s,i,n.logger)}var jl=Un({key:"count",default:0}),Bx=Hn({key:"incrementTX",do:({set:n})=>{n(jl,(i)=>i+1)}}),kl=Ua({key:"countContinuity",config:(n)=>n.add(jl).add(Bx)});async function na(){rn.logger.info("\uD83E\uDDF9 dispatching SIGINT to workers"),Ol.process.kill("SIGINT"),await new Promise((n)=>Ol.process.once("exit",n)),rn.logger.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}var rn=new qo;J.STORE.loggers[0]=new ki("warn",void 0,rn.logger);var Ol=$l(rn,"backend.worker.game.bun"),Cl=zl.createServer((n,i)=>i.end("Hello World!")),qe=Cl.listen(4444).address(),Xx=typeof qe==="string"?null:qe===null?null:qe.port;if(Xx===null)throw new Error("Could not determine port for test server");new Jl(Cl,{cors:{origin:zo==="development"?"http://localhost:3333":"https://tempest.games",methods:["GET","POST"]}}).use((n,i)=>{const{token:o,username:e}=n.handshake.auth;if(o==="test"&&n.id){const a=I(J.STORE,Ii,n.id);U(J.STORE,a,n),Zn(Nn,(t)=>{t.set(n.id,e)},J.STORE),U(J.STORE,ae,(t)=>t.add(e)),U(J.STORE,ee,(t)=>t.add(n.id)),rn.logger.info(`${e} connected on ${n.id}`),i()}else rn.logger.info(`${e} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{const o=Xa({socket:n,store:J.STORE})(kl);n.on("disconnect",()=>{const e=si(Nn,n.id,J.STORE).userKeyOfSocket,a=E(J.STORE,e);if(Zn(Nn,(t)=>{t.delete(n.id)},J.STORE),a)U(J.STORE,ae,(t)=>(t.delete(a),t));U(J.STORE,ee,(t)=>(t.delete(n.id),t)),an(J.STORE,Ii,n.id),rn.logger.info(`${n.id} disconnected`),o()})});rn.emit("alive");rn.on("updatesReady",()=>{rn.emit("readyToUpdate")});process.on("SIGINT",async()=>{rn.logger.info("\u2757 received SIGINT; exiting gracefully"),await na()});process.on("SIGTERM",async()=>{rn.logger.info("\u2757 received SIGTERM; exiting gracefully"),await na()});process.on("exit",async()=>{rn.logger.info("\u2757 received exit; exiting gracefully"),await na()});rn.logger.info("\uD83D\uDEEB backend server ready");
35
+ */Tf.exports=I6;Tf.exports.append=_J;var D6=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var Mf=I((RN,jJ)=>{(function(){var n=VJ(),i=sJ(),o={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function c(R){return typeof R==="string"||R instanceof String}function p(R,F){if(Array.isArray(F)){for(var X=0;X<F.length;++X)if(p(R,F[X]))return!0;return!1}else if(c(F))return R===F;else if(F instanceof RegExp)return F.test(R);else return!!F}function a(R,F){var X=F.headers.origin,z=[],Y;if(!R.origin||R.origin==="*")z.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(c(R.origin))z.push([{key:"Access-Control-Allow-Origin",value:R.origin}]),z.push([{key:"Vary",value:"Origin"}]);else Y=p(X,R.origin),z.push([{key:"Access-Control-Allow-Origin",value:Y?X:!1}]),z.push([{key:"Vary",value:"Origin"}]);return z}function x(R){var F=R.methods;if(F.join)F=R.methods.join(",");return{key:"Access-Control-Allow-Methods",value:F}}function m(R){if(R.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function l(R,F){var X=R.allowedHeaders||R.headers,z=[];if(!X)X=F.headers["access-control-request-headers"],z.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(X.join)X=X.join(",");if(X&&X.length)z.push([{key:"Access-Control-Allow-Headers",value:X}]);return z}function f(R){var F=R.exposedHeaders;if(!F)return null;else if(F.join)F=F.join(",");if(F&&F.length)return{key:"Access-Control-Expose-Headers",value:F};return null}function $(R){var F=(typeof R.maxAge==="number"||R.maxAge)&&R.maxAge.toString();if(F&&F.length)return{key:"Access-Control-Max-Age",value:F};return null}function v(R,F){for(var X=0,z=R.length;X<z;X++){var Y=R[X];if(Y){if(Array.isArray(Y))v(Y,F);else if(Y.key==="Vary"&&Y.value)i(F,Y.value);else if(Y.value)F.setHeader(Y.key,Y.value)}}}function S(R,F,X,z){var Y=[],E=F.method&&F.method.toUpperCase&&F.method.toUpperCase();if(E==="OPTIONS")if(Y.push(a(R,F)),Y.push(m(R,F)),Y.push(x(R,F)),Y.push(l(R,F)),Y.push($(R,F)),Y.push(f(R,F)),v(Y,X),R.preflightContinue)z();else X.statusCode=R.optionsSuccessStatus,X.setHeader("Content-Length","0"),X.end();else Y.push(a(R,F)),Y.push(m(R,F)),Y.push(f(R,F)),v(Y,X),z()}function T(R){var F=null;if(typeof R==="function")F=R;else F=function(X,z){z(null,R)};return function X(z,Y,E){F(z,function(s,G){if(s)E(s);else{var M=n({},o,G),O=null;if(M.origin&&typeof M.origin==="function")O=M.origin;else if(M.origin)O=function(U,V){V(null,M.origin)};if(O)O(z.headers.origin,function(U,V){if(U||!V)E(U);else M.origin=V,S(M,z,Y,E)});else E()}})}}jJ.exports=T})()});var Rf=I((IJ)=>{function e6(n){try{const i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}function yJ(n,i,o){const c=i===Yn.errors.FORBIDDEN?403:400,p=o&&o.message?o.message:Yn.errorMessages[i];n.writeHead(c,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:p}))}function hJ(n,i,o={}){if(n.on("error",()=>{vn("ignoring error from closed connection")}),n.writable){const c=o.message||Yn.errorMessages[i],p=Buffer.byteLength(c);n.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+p+"\r\n\r\n"+c)}n.destroy()}function g6(n){if(n+="",n.length<1)return!1;if(!Ka[n.charCodeAt(0)])return vn('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Ka[n.charCodeAt(1)])return vn('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Ka[n.charCodeAt(2)])return vn('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Ka[n.charCodeAt(3)])return vn('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Ka[n.charCodeAt(i)])return vn('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}Object.defineProperty(IJ,"__esModule",{value:!0});IJ.Server=IJ.BaseServer=void 0;var t6=import.meta.require("querystring"),C6=import.meta.require("url"),NJ=dl(),dx=Af(),k6=import.meta.require("events"),LJ=Ff(),r6=ai(),Z6=EJ(),q6=import.meta.require("ws"),BJ=Jf(),P6=Ra(),vn=r6.default("engine"),vp=Symbol("responseHeaders");class Wa extends k6.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:q6.Server,pingTimeout:20000,pingInterval:25000,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},n),n.cookie)this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:n.cookie.path!==!1,sameSite:"lax"},n.cookie);if(this.opts.cors)this.use(Mf()(this.opts.cors));if(n.perMessageDeflate)this.opts.perMessageDeflate=Object.assign({threshold:1024},n.perMessageDeflate);this.init()}_computePath(n){let i=(n.path||"/engine.io").replace(/\/$/,"");if(n.addTrailingSlash!==!1)i+="/";return i}upgrades(n){if(!this.opts.allowUpgrades)return[];return dx.default[n].upgradesTo||[]}verify(n,i,o){const c=n._query.transport;if(!~this.opts.transports.indexOf(c)||c==="webtransport")return vn('unknown transport "%s"',c),o(Yn.errors.UNKNOWN_TRANSPORT,{transport:c});if(g6(n.headers.origin)){const x=n.headers.origin;return n.headers.origin=null,vn("origin header invalid"),o(Yn.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:x})}const a=n._query.sid;if(a){if(!this.clients.hasOwnProperty(a))return vn('unknown sid "%s"',a),o(Yn.errors.UNKNOWN_SID,{sid:a});const x=this.clients[a].transport.name;if(!i&&x!==c)return vn("bad request: unexpected transport without upgrade"),o(Yn.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:c,previousTransport:x})}else{if(n.method!=="GET")return o(Yn.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(c==="websocket"&&!i)return vn("invalid transport upgrade"),o(Yn.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(x,m)=>{if(!m)return o(Yn.errors.FORBIDDEN,{message:x});o()})}o()}use(n){this.middlewares.push(n)}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return vn("no middleware to apply, skipping"),o();const c=(p)=>{vn("applying middleware n\xB0%d",p+1),this.middlewares[p](n,i,(a)=>{if(a)return o(a);if(p+1<this.middlewares.length)c(p+1);else o()})};c(0)}close(){vn("closing all open clients");for(let n in this.clients)if(this.clients.hasOwnProperty(n))this.clients[n].close(!0);return this.cleanup(),this}generateId(n){return NJ.generateId()}async handshake(n,i,o){const c=i._query.EIO==="4"?4:3;if(c===3&&!this.opts.allowEIO3){vn("unsupported protocol version"),this.emit("connection_error",{req:i,code:Yn.errors.UNSUPPORTED_PROTOCOL_VERSION,message:Yn.errorMessages[Yn.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:c}}),o(Yn.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let p;try{p=await this.generateId(i)}catch(m){vn("error while generating an id"),this.emit("connection_error",{req:i,code:Yn.errors.BAD_REQUEST,message:Yn.errorMessages[Yn.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:m}}),o(Yn.errors.BAD_REQUEST);return}vn('handshaking client "%s"',p);try{var a=this.createTransport(n,i);if(n==="polling")a.maxHttpBufferSize=this.opts.maxHttpBufferSize,a.httpCompression=this.opts.httpCompression;else if(n==="websocket")a.perMessageDeflate=this.opts.perMessageDeflate}catch(m){vn('error handshaking to transport "%s"',n),this.emit("connection_error",{req:i,code:Yn.errors.BAD_REQUEST,message:Yn.errorMessages[Yn.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:m}}),o(Yn.errors.BAD_REQUEST);return}const x=new LJ.Socket(p,this,a,i,c);return a.on("headers",(m,l)=>{if(!l._query.sid){if(this.opts.cookie)m["Set-Cookie"]=[Z6.serialize(this.opts.cookie.name,p,this.opts.cookie)];this.emit("initial_headers",m,l)}this.emit("headers",m,l)}),a.onRequest(i),this.clients[p]=x,this.clientsCount++,x.once("close",()=>{delete this.clients[p],this.clientsCount--}),this.emit("connection",x),a}async onWebTransportSession(n){const i=setTimeout(()=>{vn("the client failed to establish a bidirectional stream in the given period"),n.close()},this.opts.upgradeTimeout),c=await n.incomingBidirectionalStreams.getReader().read();if(c.done){vn("session is closed");return}const p=c.value,a=P6.createPacketDecoderStream(this.opts.maxHttpBufferSize,"nodebuffer"),x=p.readable.pipeThrough(a).getReader(),{value:m,done:l}=await x.read();if(l){vn("stream is closed");return}if(clearTimeout(i),m.type!=="open")return vn("invalid WebTransport handshake"),n.close();if(m.data===void 0){const v=new BJ.WebTransport(n,p,x),S=NJ.generateId();vn('handshaking client "%s" (WebTransport)',S);const T=new LJ.Socket(S,this,v,null,4);this.clients[S]=T,this.clientsCount++,T.once("close",()=>{delete this.clients[S],this.clientsCount--}),this.emit("connection",T);return}const f=e6(m.data);if(!f)return vn("invalid WebTransport handshake"),n.close();const $=this.clients[f];if(!$)vn("upgrade attempt for closed client"),n.close();else if($.upgrading)vn("transport has already been trying to upgrade"),n.close();else if($.upgraded)vn("transport had already been upgraded"),n.close();else{vn("upgrading existing transport");const v=new BJ.WebTransport(n,p,x);$._maybeUpgrade(v)}}}IJ.BaseServer=Wa;Wa.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};Wa.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class DJ{constructor(n,i){this.req=n,this.socket=i,n[vp]={}}setHeader(n,i){this.req[vp][n]=i}getHeader(n){return this.req[vp][n]}removeHeader(n){delete this.req[vp][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class Yn extends Wa{init(){if(!~this.opts.transports.indexOf("websocket"))return;if(this.ws)this.ws.close();if(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",(n,i)=>{const o=i[vp]||{};if(delete i[vp],!i._query.sid)this.emit("initial_headers",o,i);this.emit("headers",o,i),vn("writing headers: %j",o),Object.keys(o).forEach((p)=>{n.push(`${p}: ${o[p]}`)})})}cleanup(){if(this.ws)vn("closing webSocketServer"),this.ws.close()}prepare(n){if(!n._query)n._query=~n.url.indexOf("?")?t6.parse(C6.parse(n.url).query):{}}createTransport(n,i){return new dx.default[n](i)}handleRequest(n,i){vn('handling "%s" http request "%s"',n.method,n.url),this.prepare(n),n.res=i;const o=(c,p)=>{if(c!==void 0){this.emit("connection_error",{req:n,code:c,message:Yn.errorMessages[c],context:p}),yJ(i,c,p);return}if(n._query.sid)vn("setting new request for existing client"),this.clients[n._query.sid].transport.onRequest(n);else{const a=(x,m)=>yJ(i,x,m);this.handshake(n._query.transport,n,a)}};this._applyMiddlewares(n,i,(c)=>{if(c)o(Yn.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);const c=new DJ(n,i),p=(a,x)=>{if(a!==void 0){this.emit("connection_error",{req:n,code:a,message:Yn.errorMessages[a],context:x}),hJ(i,a,x);return}const m=Buffer.from(o);o=null,c.writeHead(),this.ws.handleUpgrade(n,i,m,(l)=>{this.onWebSocket(n,i,l)})};this._applyMiddlewares(n,c,(a)=>{if(a)p(Yn.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,p)})}onWebSocket(n,i,o){if(o.on("error",p),dx.default[n._query.transport]!==void 0&&!dx.default[n._query.transport].prototype.handlesUpgrades){vn("transport doesnt handle upgraded requests"),o.close();return}const c=n._query.sid;if(n.websocket=o,c){const a=this.clients[c];if(!a)vn("upgrade attempt for closed client"),o.close();else if(a.upgrading)vn("transport has already been trying to upgrade"),o.close();else if(a.upgraded)vn("transport had already been upgraded"),o.close();else{vn("upgrading existing transport"),o.removeListener("error",p);const x=this.createTransport(n._query.transport,n);x.perMessageDeflate=this.opts.perMessageDeflate,a._maybeUpgrade(x)}}else{const a=(x,m)=>hJ(i,x,m);this.handshake(n._query.transport,n,a)}function p(){vn("websocket error before upgrade")}}attach(n,i={}){const o=this._computePath(i),c=i.destroyUpgradeTimeout||1000;function p(x){return o===x.url.slice(0,o.length)}const a=n.listeners("request").slice(0);if(n.removeAllListeners("request"),n.on("close",this.close.bind(this)),n.on("listening",this.init.bind(this)),n.on("request",(x,m)=>{if(p(x))vn('intercepting request for path "%s"',o),this.handleRequest(x,m);else{let l=0;const f=a.length;for(;l<f;l++)a[l].call(n,x,m)}}),~this.opts.transports.indexOf("websocket"))n.on("upgrade",(x,m,l)=>{if(p(x))this.handleUpgrade(x,m,l);else if(i.destroyUpgrade!==!1)setTimeout(function(){if(m.writable&&m.bytesWritten<=0)return m.on("error",(f)=>{vn("error while destroying upgrade: %s",f.message)}),m.end()},c)})}}IJ.Server=Yn;var Ka=[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]});var qJ=I((rJ)=>{Object.defineProperty(rJ,"__esModule",{value:!0});rJ.Polling=void 0;var nW=uc(),CJ=import.meta.require("zlib"),iW=Bx(),oW=ai(),ei=oW.default("engine:polling"),cW={gzip:CJ.createGzip,deflate:CJ.createDeflate};class kJ extends nW.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.getMethod()==="get")this.onPollRequest(n,i);else if(n.getMethod()==="post")this.onDataRequest(n,i);else i.writeStatus("500 Internal Server Error"),i.end()}onPollRequest(n,i){if(this.req){ei("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}ei("setting request"),this.req=n,this.res=i;const o=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},c=()=>{this.req=this.res=null};if(n.cleanup=c,i.onAborted(o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)ei("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}const o=Number(n.headers["content-length"]);if(!o){this.onError("content-length header required"),i.writeStatus("411 Length Required").end();return}if(o>this.maxHttpBufferSize){this.onError("payload too large"),i.writeStatus("413 Payload Too Large").end();return}if(n.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let p,a=0;const x={"Content-Type":"text/html"};this.headers(n,x);for(let l in x)i.writeHeader(l,String(x[l]));const m=(l)=>{this.onData(l.toString()),this.onDataRequestCleanup(),i.cork(()=>{i.end("ok")})};i.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),i.onData((l,f)=>{const $=a+l.byteLength;if($>o){this.onError("content-length mismatch"),i.close();return}if(!p){if(f){m(Buffer.from(l));return}p=Buffer.allocUnsafe(o)}if(Buffer.from(l).copy(p,a),f){if($!=o){this.onError("content-length mismatch"),i.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}m(p);return}a=$})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(n){ei('received "%s"',n);const i=(o)=>{if(o.type==="close")return ei("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)ei("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const c=n.some((p)=>{return p.options&&p.options.compress});this.write(o,{compress:c})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){ei('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const c=typeof n==="string",a={"Content-Type":c?"text/plain; charset=UTF-8":"application/octet-stream"},x=(f)=>{this.headers(this.req,a),this.res.cork(()=>{Object.keys(a).forEach(($)=>{this.res.writeHeader($,String(a[$]))}),this.res.end(f)}),o()};if(!this.httpCompression||!i.compress){x(n);return}if((c?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){x(n);return}const l=iW(this.req).encodings(["gzip","deflate"]);if(!l){x(n);return}this.compress(n,l,(f,$)=>{if(f){this.res.writeStatus("500 Internal Server Error"),this.res.end(),o(f);return}a["Content-Encoding"]=l,x($)})}compress(n,i,o){ei("compressing");const c=[];let p=0;cW[i](this.httpCompression).on("error",o).on("data",function(a){c.push(a),p+=a.length}).on("end",function(){o(null,Buffer.concat(c,p))}).end(n)}doClose(n){ei("closing");let i;const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)ei("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)ei("transport discarded - closing right away"),o();else ei("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i){i=i||{};const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}rJ.Polling=kJ});var nA=I((gJ)=>{Object.defineProperty(gJ,"__esModule",{value:!0});gJ.WebSocket=void 0;var pW=uc(),aW=ai(),PJ=aW.default("engine:ws");class eJ extends pW.Transport{constructor(n){super(n);this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],c=i+1===n.length,p=(a)=>{const x=typeof a!=="string",m=this.perMessageDeflate&&Buffer.byteLength(a)>this.perMessageDeflate.threshold;if(PJ('writing "%s"',a),this.socket.send(a,x,m),c)this.emit("drain"),this.writable=!0,this.emit("ready")};if(o.options&&typeof o.options.wsPreEncoded==="string")p(o.options.wsPreEncoded);else this.parser.encodePacket(o,this.supportsBinary,p)}}doClose(n){PJ("closing"),n&&n(),this.socket.end()}}gJ.WebSocket=eJ});var oA=I((iA)=>{Object.defineProperty(iA,"__esModule",{value:!0});var xW=qJ(),mW=nA();iA.default={polling:xW.Polling,websocket:mW.WebSocket}});var mA=I((aA)=>{Object.defineProperty(aA,"__esModule",{value:!0});aA.uServer=void 0;var fW=ai(),Oc=Rf(),$W=oA(),ac=fW.default("engine:uws");class cA extends Oc.BaseServer{init(){}cleanup(){}prepare(n,i){n.method=n.getMethod().toUpperCase(),n.url=n.getUrl();const o=new URLSearchParams(n.getQuery());n._query=Object.fromEntries(o.entries()),n.headers={},n.forEach((c,p)=>{n.headers[c]=p}),n.connection={remoteAddress:Buffer.from(i.getRemoteAddressAsText()).toString()},i.onAborted(()=>{ac("response has been aborted")})}createTransport(n,i){return new $W.default[n](i)}attach(n,i={}){const o=this._computePath(i);n.any(o,this.handleRequest.bind(this)).ws(o,{compression:i.compression,idleTimeout:i.idleTimeout,maxBackpressure:i.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:(c)=>{const p=c.getUserData().transport;p.socket=c,p.writable=!0,p.emit("ready")},message:(c,p,a)=>{c.getUserData().transport.onData(a?p:Buffer.from(p).toString())},close:(c,p,a)=>{c.getUserData().transport.onClose(p,a)}})}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return o();n.res=new pA(i),super._applyMiddlewares(n,n.res,(c)=>{n.res.writeHead(),o(c)})}handleRequest(n,i){ac('handling "%s" http request "%s"',i.getMethod(),i.getUrl()),this.prepare(i,n),i.res=n;const o=(c,p)=>{if(c!==void 0){this.emit("connection_error",{req:i,code:c,message:Oc.Server.errorMessages[c],context:p}),this.abortRequest(i.res,c,p);return}if(i._query.sid)ac("setting new request for existing client"),this.clients[i._query.sid].transport.onRequest(i);else{const a=(x,m)=>this.abortRequest(n,x,m);this.handshake(i._query.transport,i,a)}};this._applyMiddlewares(i,n,(c)=>{if(c)o(Oc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){ac("on upgrade"),this.prepare(i,n),i.res=n;const c=async(p,a)=>{if(p!==void 0){this.emit("connection_error",{req:i,code:p,message:Oc.Server.errorMessages[p],context:a}),this.abortRequest(n,p,a);return}const x=i._query.sid;let m;if(x){const l=this.clients[x];if(!l)return ac("upgrade attempt for closed client"),n.close();else if(l.upgrading)return ac("transport has already been trying to upgrade"),n.close();else if(l.upgraded)return ac("transport had already been upgraded"),n.close();else ac("upgrading existing transport"),m=this.createTransport(i._query.transport,i),l._maybeUpgrade(m)}else if(m=await this.handshake(i._query.transport,i,(l,f)=>this.abortRequest(n,l,f)),!m)return;i.res.writeStatus("101 Switching Protocols"),n.upgrade({transport:m},i.getHeader("sec-websocket-key"),i.getHeader("sec-websocket-protocol"),i.getHeader("sec-websocket-extensions"),o)};this._applyMiddlewares(i,n,(p)=>{if(p)c(Oc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,c)})}abortRequest(n,i,o){const c=i===Oc.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",p=o&&o.message?o.message:Oc.Server.errorMessages[i];n.writeStatus(c),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:p}))}}aA.uServer=cA;class pA{constructor(n){this.res=n,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(n){if(!n)return;this.writeStatus(n===200?"200 OK":"204 No Content")}writeHead(n){this.statusCode=n}setHeader(n,i){if(Array.isArray(i))i.forEach((o)=>{this.writeHeader(n,o)});else this.writeHeader(n,i)}removeHeader(){}getHeader(){}writeStatus(n){if(this.isAborted)return;return this.res.writeStatus(n),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(n,i){if(this.isAborted)return;if(n==="Content-Length")return;if(this.statusWritten)this.res.writeHeader(n,i);else this.headers.push([n,i])}writeBufferedHeaders(){this.headers.forEach(([n,i])=>{this.res.writeHeader(n,i)})}end(n){if(this.isAborted)return;this.res.cork(()=>{if(!this.statusWritten)this.writeBufferedHeaders();this.res.end(n)})}onData(n){if(this.isAborted)return;this.res.onData(n)}onAborted(n){if(this.isAborted)return;this.res.onAborted(()=>{this.isAborted=!0,n()})}cork(n){if(this.isAborted)return;this.res.cork(n)}}});var wA=I((wp)=>{function FW(n,i,o){if(typeof i==="function")o=i,i={};const c=vW.createServer(function(a,x){x.writeHead(501),x.end("Not Implemented")}),p=$A(c,i);return p.httpServer=c,c.listen(n,o),p}function $A(n,i){const o=new lA.Server(i);return o.attach(n,i),o}Object.defineProperty(wp,"__esModule",{value:!0});wp.protocol=wp.Transport=wp.Socket=wp.uServer=wp.parser=wp.transports=wp.Server=void 0;wp.listen=FW;wp.attach=$A;var vW=import.meta.require("http"),lA=Rf();Object.defineProperty(wp,"Server",{enumerable:!0,get:function(){return lA.Server}});var wW=Af();wp.transports=wW.default;var fA=Ra();wp.parser=fA;var SW=mA();Object.defineProperty(wp,"uServer",{enumerable:!0,get:function(){return SW.uServer}});var JW=Ff();Object.defineProperty(wp,"Socket",{enumerable:!0,get:function(){return JW.Socket}});var AW=uc();Object.defineProperty(wp,"Transport",{enumerable:!0,get:function(){return AW.Transport}});wp.protocol=fA.protocol});var SA=I((XW)=>{function ui(n){if(n)return WW(n)}function WW(n){for(var i in ui.prototype)n[i]=ui.prototype[i];return n}XW.Emitter=ui;ui.prototype.on=ui.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};ui.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};ui.prototype.off=ui.prototype.removeListener=ui.prototype.removeAllListeners=ui.prototype.removeEventListener=function(n,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o=this._callbacks["$"+n];if(!o)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;var c;for(var p=0;p<o.length;p++)if(c=o[p],c===i||c.fn===i){o.splice(p,1);break}if(o.length===0)delete this._callbacks["$"+n];return this};ui.prototype.emit=function(n){this._callbacks=this._callbacks||{};var i=new Array(arguments.length-1),o=this._callbacks["$"+n];for(var c=1;c<arguments.length;c++)i[c-1]=arguments[c];if(o){o=o.slice(0);for(var c=0,p=o.length;c<p;++c)o[c].apply(this,i)}return this};ui.prototype.emitReserved=ui.prototype.emit;ui.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};ui.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var Kf=I((FA)=>{function AA(n){return GW&&(n instanceof ArrayBuffer||YW(n))||uW&&n instanceof Blob||OW&&n instanceof File}function nm(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,c=n.length;o<c;o++)if(nm(n[o]))return!0;return!1}if(AA(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return nm(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&nm(n[o]))return!0;return!1}Object.defineProperty(FA,"__esModule",{value:!0});FA.hasBinary=FA.isBinary=void 0;var GW=typeof ArrayBuffer==="function",YW=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},JA=Object.prototype.toString,uW=typeof Blob==="function"||typeof Blob!=="undefined"&&JA.call(Blob)==="[object BlobConstructor]",OW=typeof File==="function"||typeof File!=="undefined"&&JA.call(File)==="[object FileConstructor]";FA.isBinary=AA;FA.hasBinary=nm});var KA=I((MA)=>{function QW(n){const i=[],o=n.data,c=n;return c.data=Wf(o,i),c.attachments=i.length,{packet:c,buffers:i}}function Wf(n,i){if(!n)return n;if(EW.isBinary(n)){const o={_placeholder:!0,num:i.length};return i.push(n),o}else if(Array.isArray(n)){const o=new Array(n.length);for(let c=0;c<n.length;c++)o[c]=Wf(n[c],i);return o}else if(typeof n==="object"&&!(n instanceof Date)){const o={};for(let c in n)if(Object.prototype.hasOwnProperty.call(n,c))o[c]=Wf(n[c],i);return o}return n}function UW(n,i){return n.data=Xf(n.data,i),delete n.attachments,n}function Xf(n,i){if(!n)return n;if(n&&n._placeholder===!0)if(typeof n.num==="number"&&n.num>=0&&n.num<i.length)return i[n.num];else throw new Error("illegal attachments");else if(Array.isArray(n))for(let o=0;o<n.length;o++)n[o]=Xf(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=Xf(n[o],i)}return n}Object.defineProperty(MA,"__esModule",{value:!0});MA.reconstructPacket=MA.deconstructPacket=void 0;var EW=Kf();MA.deconstructPacket=QW;MA.reconstructPacket=UW});var Xa=I((OA)=>{function WA(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty(OA,"__esModule",{value:!0});OA.Decoder=OA.Encoder=OA.PacketType=OA.protocol=void 0;var bW=SA(),zA=KA(),GA=Kf(),_W=ai(),zf=_W.default("socket.io-parser"),sW=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];OA.protocol=5;var Cn;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(Cn=OA.PacketType||(OA.PacketType={}));class YA{constructor(n){this.replacer=n}encode(n){if(zf("encoding packet %j",n),n.type===Cn.EVENT||n.type===Cn.ACK){if(GA.hasBinary(n))return this.encodeAsBinary({type:n.type===Cn.EVENT?Cn.BINARY_EVENT:Cn.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===Cn.BINARY_EVENT||n.type===Cn.BINARY_ACK)i+=n.attachments+"-";if(n.nsp&&n.nsp!=="/")i+=n.nsp+",";if(n.id!=null)i+=n.id;if(n.data!=null)i+=JSON.stringify(n.data,this.replacer);return zf("encoded %j as %s",n,i),i}encodeAsBinary(n){const i=zA.deconstructPacket(n),o=this.encodeAsString(i.packet),c=i.buffers;return c.unshift(o),c}}OA.Encoder=YA;class Gf extends bW.Emitter{constructor(n){super();this.reviver=n}add(n){let i;if(typeof n==="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");i=this.decodeString(n);const o=i.type===Cn.BINARY_EVENT;if(o||i.type===Cn.BINARY_ACK){if(i.type=o?Cn.EVENT:Cn.ACK,this.reconstructor=new uA(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(GA.isBinary(n)||n.base64){if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");else if(i=this.reconstructor.takeBinaryData(n),i)this.reconstructor=null,super.emitReserved("decoded",i)}else throw new Error("Unknown type: "+n)}decodeString(n){let i=0;const o={type:Number(n.charAt(0))};if(Cn[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===Cn.BINARY_EVENT||o.type===Cn.BINARY_ACK){const p=i+1;while(n.charAt(++i)!=="-"&&i!=n.length);const a=n.substring(p,i);if(a!=Number(a)||n.charAt(i)!=="-")throw new Error("Illegal attachments");o.attachments=Number(a)}if(n.charAt(i+1)==="/"){const p=i+1;while(++i){if(n.charAt(i)===",")break;if(i===n.length)break}o.nsp=n.substring(p,i)}else o.nsp="/";const c=n.charAt(i+1);if(c!==""&&Number(c)==c){const p=i+1;while(++i){const a=n.charAt(i);if(a==null||Number(a)!=a){--i;break}if(i===n.length)break}o.id=Number(n.substring(p,i+1))}if(n.charAt(++i)){const p=this.tryParse(n.substr(i));if(Gf.isPayloadValid(o.type,p))o.data=p;else throw new Error("invalid payload")}return zf("decoded %s as %j",n,o),o}tryParse(n){try{return JSON.parse(n,this.reviver)}catch(i){return!1}}static isPayloadValid(n,i){switch(n){case Cn.CONNECT:return WA(i);case Cn.DISCONNECT:return i===void 0;case Cn.CONNECT_ERROR:return typeof i==="string"||WA(i);case Cn.EVENT:case Cn.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&sW.indexOf(i[0])===-1);case Cn.ACK:case Cn.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}OA.Decoder=Gf;class uA{constructor(n){this.packet=n,this.buffers=[],this.reconPack=n}takeBinaryData(n){if(this.buffers.push(n),this.buffers.length===this.reconPack.attachments){const i=zA.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var VA=I((QA)=>{Object.defineProperty(QA,"__esModule",{value:!0});QA.Client=void 0;var im=Xa(),LW=ai(),BW=import.meta.require("url"),Jo=LW("socket.io:client");class EA{constructor(n,i){this.sockets=new Map,this.nsps=new Map,this.server=n,this.conn=i,this.encoder=n.encoder,this.decoder=new n._parser.Decoder,this.id=i.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(()=>{if(this.nsps.size===0)Jo("no namespace joined yet, close the client"),this.close();else Jo("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return Jo("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else Jo("creation of namespace %s was denied",n),this._packet({type:im.PacketType.CONNECT_ERROR,nsp:n,data:{message:"Invalid namespace"}})})}doConnect(n,i){const o=this.server.of(n);o._add(this,i,(c)=>{if(this.sockets.set(c.id,c),this.nsps.set(o.name,c),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0})}_disconnect(){for(let n of this.sockets.values())n.disconnect();this.sockets.clear(),this.close()}_remove(n){if(this.sockets.has(n.id)){const i=this.sockets.get(n.id).nsp.name;this.sockets.delete(n.id),this.nsps.delete(i)}else Jo("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")Jo("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){Jo("ignoring packet write %j",n);return}const o=i.preEncoded?n:this.encoder.encode(n);this.writeToEngine(o,i)}writeToEngine(n,i){if(i.volatile&&!this.conn.transport.writable){Jo("volatile packet is discarded since the transport is not currently writable");return}const o=Array.isArray(n)?n:[n];for(let c of o)this.conn.write(c,i)}ondata(n){try{this.decoder.add(n)}catch(i){Jo("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){const p=BW.parse(n.nsp,!0);i=p.pathname,o=p.query}else i=n.nsp,o=n.data;const c=this.nsps.get(i);if(!c&&n.type===im.PacketType.CONNECT)this.connect(i,o);else if(c&&n.type!==im.PacketType.CONNECT&&n.type!==im.PacketType.CONNECT_ERROR)process.nextTick(function(){c._onpacket(n)});else Jo("invalid state (packet type: %s)",n.type),this.close()}onerror(n){for(let i of this.sockets.values())i._onerror(n);this.conn.close()}onclose(n,i){Jo("client close with reason %s",n),this.destroy();for(let o of this.sockets.values())o._onclose(n,i);this.sockets.clear(),this.decoder.destroy()}destroy(){if(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}}QA.Client=EA});var om=I((_A)=>{Object.defineProperty(_A,"__esModule",{value:!0});_A.StrictEventEmitter=void 0;var yW=import.meta.require("events");class bA extends yW.EventEmitter{on(n,i){return super.on(n,i)}once(n,i){return super.once(n,i)}emit(n,...i){return super.emit(n,...i)}emitReserved(n,...i){return super.emit(n,...i)}emitUntyped(n,...i){return super.emit(n,...i)}listeners(n){return super.listeners(n)}}_A.StrictEventEmitter=bA});var Yf=I((jA)=>{Object.defineProperty(jA,"__esModule",{value:!0});jA.RESERVED_EVENTS=void 0;jA.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Of=I((LA)=>{Object.defineProperty(LA,"__esModule",{value:!0});LA.RemoteSocket=LA.BroadcastOperator=void 0;var hW=Yf(),DW=Xa();class Lo{constructor(n,i=new Set,o=new Set,c={}){this.adapter=n,this.rooms=i,this.exceptRooms=o,this.flags=c}to(n){const i=new Set(this.rooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new Lo(this.adapter,i,this.exceptRooms,this.flags)}in(n){return this.to(n)}except(n){const i=new Set(this.exceptRooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new Lo(this.adapter,this.rooms,i,this.flags)}compress(n){const i=Object.assign({},this.flags,{compress:n});return new Lo(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){const n=Object.assign({},this.flags,{volatile:!0});return new Lo(this.adapter,this.rooms,this.exceptRooms,n)}get local(){const n=Object.assign({},this.flags,{local:!0});return new Lo(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){const i=Object.assign({},this.flags,{timeout:n});return new Lo(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(hW.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],c={type:DW.PacketType.EVENT,data:o};if(typeof o[o.length-1]!=="function")return this.adapter.broadcast(c,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;const a=o.pop();let x=!1,m=[];const l=setTimeout(()=>{x=!0,a.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:m])},this.flags.timeout);let f=-1,$=0,v=0;const S=()=>{if(!x&&f===$&&m.length===v)clearTimeout(l),a.apply(this,[null,this.flags.expectSingleResponse?m[0]:m])};return this.adapter.broadcastWithAck(c,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(T)=>{v+=T,$++,S()},(T)=>{m.push(T),S()}),this.adapter.serverCount().then((T)=>{f=T,S()}),!0}emitWithAck(n,...i){return new Promise((o,c)=>{i.push((p,a)=>{if(p)return p.responses=a,c(p);else return o(a)}),this.emit(n,...i)})}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((n)=>{return n.map((i)=>{if(i.server)return i;else return new uf(this.adapter,i)})})}socketsJoin(n){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}socketsLeave(n){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}disconnectSockets(n=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},n)}}LA.BroadcastOperator=Lo;class uf{constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new Lo(n,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(n){return this.operator.timeout(n)}emit(n,...i){return this.operator.emit(n,...i)}join(n){return this.operator.socketsJoin(n)}leave(n){return this.operator.socketsLeave(n)}disconnect(n=!1){return this.operator.disconnectSockets(n),this}}LA.RemoteSocket=uf});var Hf=I((Sp)=>{function hA(){}var DA=Sp&&Sp.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Sp,"__esModule",{value:!0});Sp.Socket=void 0;var gi=Xa(),tW=DA(ai()),CW=om(),yA=DA(dl()),kW=Of(),rW=Yf(),Fi=tW.default("socket.io:socket"),ZW=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);class IA extends CW.StrictEventEmitter{constructor(n,i,o,c){super();if(this.nsp=n,this.client=i,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=n.server,this.adapter=this.nsp.adapter,c)this.id=c.sid,this.pid=c.pid,c.rooms.forEach((p)=>this.join(p)),this.data=c.data,c.missedPackets.forEach((p)=>{this.packet({type:gi.PacketType.EVENT,data:p})}),this.recovered=!0;else{if(i.conn.protocol===3)this.id=n.name!=="/"?n.name+"#"+i.id:i.id;else this.id=yA.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=yA.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",hA)}buildHandshake(n){var i,o,c,p;return{headers:((i=this.request)===null||i===void 0?void 0:i.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!((o=this.request)===null||o===void 0?void 0:o.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(c=this.request)===null||c===void 0?void 0:c.url,query:((p=this.request)===null||p===void 0?void 0:p._query)||{},auth:n}}emit(n,...i){if(rW.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],c={type:gi.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){const a=this.nsp._ids++;Fi("emitting packet with ack id %d",a),this.registerAckCallback(a,o.pop()),c.id=a}const p=Object.assign({},this.flags);if(this.flags={},this.nsp.server.opts.connectionStateRecovery)this.adapter.broadcast(c,{rooms:new Set([this.id]),except:new Set,flags:p});else this.notifyOutgoingListeners(c),this.packet(c,p);return!0}emitWithAck(n,...i){const o=this.flags.timeout!==void 0;return new Promise((c,p)=>{i.push((a,x)=>{if(o)return a?p(a):c(x);else return c(a)}),this.emit(n,...i)})}registerAckCallback(n,i){const o=this.flags.timeout;if(o===void 0){this.acks.set(n,i);return}const c=setTimeout(()=>{Fi("event with ack id %d has timed out after %d ms",n,o),this.acks.delete(n),i.call(this,new Error("operation has timed out"))},o);this.acks.set(n,(...p)=>{clearTimeout(c),i.apply(this,[null,...p])})}to(n){return this.newBroadcastOperator().to(n)}in(n){return this.newBroadcastOperator().in(n)}except(n){return this.newBroadcastOperator().except(n)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}packet(n,i={}){n.nsp=this.nsp.name,i.compress=i.compress!==!1,this.client._packet(n,i)}join(n){return Fi("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return Fi("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(Fi("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:gi.PacketType.CONNECT});else this.packet({type:gi.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(Fi("got packet %j",n),n.type){case gi.PacketType.EVENT:this.onevent(n);break;case gi.PacketType.BINARY_EVENT:this.onevent(n);break;case gi.PacketType.ACK:this.onack(n);break;case gi.PacketType.BINARY_ACK:this.onack(n);break;case gi.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){const i=n.data||[];if(Fi("emitting event %j",i),n.id!=null)Fi("attaching ack callback to event"),i.push(this.ack(n.id));if(this._anyListeners&&this._anyListeners.length){const o=this._anyListeners.slice();for(let c of o)c.apply(this,i)}this.dispatch(i)}ack(n){const i=this;let o=!1;return function(){if(o)return;const c=Array.prototype.slice.call(arguments);Fi("sending ack %j",c),i.packet({id:n,type:gi.PacketType.ACK,data:c}),o=!0}}onack(n){const i=this.acks.get(n.id);if(typeof i=="function")Fi("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else Fi("bad ack %s",n.id)}ondisconnect(){Fi("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(Fi("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&ZW.has(n))Fi("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",n,i);return}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=hA}_error(n){this.packet({type:gi.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:gi.PacketType.DISCONNECT}),this._onclose("server namespace disconnect");return this}compress(n){return this.flags.compress=n,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(n){return this.flags.timeout=n,this}dispatch(n){Fi("dispatching an event %j",n),this.run(n,(i)=>{process.nextTick(()=>{if(i)return this._onerror(i);if(this.connected)super.emitUntyped.apply(this,n);else Fi("ignore packet received after disconnection")})})}use(n){return this.fns.push(n),this}run(n,i){if(!this.fns.length)return i();const o=this.fns.slice(0);function c(p){o[p](n,(a)=>{if(a)return i(a);if(!o[p+1])return i();c(p+1)})}c(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(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(n),this}prependAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(n),this}offAny(n){if(!this._anyListeners)return this;if(n){const i=this._anyListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(n),this}prependAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(n),this}offAnyOutgoing(n){if(!this._anyOutgoingListeners)return this;if(n){const i=this._anyOutgoingListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(n){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const i=this._anyOutgoingListeners.slice();for(let o of i)o.apply(this,n.data)}}newBroadcastOperator(){const n=Object.assign({},this.flags);return this.flags={},new kW.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}Sp.Socket=IA});var Ef=I((Bo)=>{var qW=Bo&&Bo.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Bo,"__esModule",{value:!0});Bo.Namespace=Bo.RESERVED_EVENTS=void 0;var tA=Hf(),PW=om(),eW=qW(ai()),Di=Of(),za=eW.default("socket.io:namespace");Bo.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class CA extends PW.StrictEventEmitter{constructor(n,i){super();this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=n,this.name=i,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(n){return this._fns.push(n),this}run(n,i){if(!this._fns.length)return i();const o=this._fns.slice(0);function c(p){o[p](n,(a)=>{if(a)return i(a);if(!o[p+1])return i();c(p+1)})}c(0)}to(n){return new Di.BroadcastOperator(this.adapter).to(n)}in(n){return new Di.BroadcastOperator(this.adapter).in(n)}except(n){return new Di.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var c;za("adding socket to nsp %s",this.name);const p=await this._createSocket(n,i);if(this._preConnectSockets.set(p.id,p),((c=this.server.opts.connectionStateRecovery)===null||c===void 0?void 0:c.skipMiddlewares)&&p.recovered&&n.conn.readyState==="open")return this._doConnect(p,o);this.run(p,(a)=>{process.nextTick(()=>{if(n.conn.readyState!=="open"){za("next called after client was closed - ignoring socket"),p._cleanup();return}if(a)if(za("middleware error, sending CONNECT_ERROR packet to the client"),p._cleanup(),n.conn.protocol===3)return p._error(a.data||a.message);else return p._error({message:a.message,data:a.data});this._doConnect(p,o)})})}async _createSocket(n,i){const{pid:o,offset:c}=i;if(this.server.opts.connectionStateRecovery&&typeof o==="string"&&typeof c==="string"){let p;try{p=await this.adapter.restoreSession(o,c)}catch(a){za("error while restoring session: %s",a)}if(p)return za("connection state recovered for sid %s",p.sid),new tA.Socket(this,n,i,p)}return new tA.Socket(this,n,i)}_doConnect(n,i){if(this._preConnectSockets.delete(n.id),this.sockets.set(n.id,n),n._onconnect(),i)i(n);this.emitReserved("connect",n),this.emitReserved("connection",n)}_remove(n){this.sockets.delete(n.id)||this._preConnectSockets.delete(n.id)}emit(n,...i){return new Di.BroadcastOperator(this.adapter).emit(n,...i)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}serverSideEmit(n,...i){if(Bo.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);return i.unshift(n),this.adapter.serverSideEmit(i),!0}serverSideEmitWithAck(n,...i){return new Promise((o,c)=>{i.push((p,a)=>{if(p)return p.responses=a,c(p);else return o(a)}),this.serverSideEmit(n,...i)})}_onServerSideEmit(n){super.emitUntyped.apply(this,n)}allSockets(){return new Di.BroadcastOperator(this.adapter).allSockets()}compress(n){return new Di.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new Di.BroadcastOperator(this.adapter).volatile}get local(){return new Di.BroadcastOperator(this.adapter).local}timeout(n){return new Di.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new Di.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new Di.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new Di.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new Di.BroadcastOperator(this.adapter).disconnectSockets(n)}}Bo.Namespace=CA});var gA=I((PA)=>{function Qf(n){let i="";do i=ZA[n%cm]+i,n=Math.floor(n/cm);while(n>0);return i}function gW(n){let i=0;for(xc=0;xc<n.length;xc++)i=i*cm+qA[n.charAt(xc)];return i}function dW(){const n=Qf(+new Date);if(n!==rA)return kA=0,rA=n;return n+"."+Qf(kA++)}Object.defineProperty(PA,"__esModule",{value:!0});PA.yeast=PA.decode=PA.encode=void 0;var ZA="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),cm=64,qA={},kA=0,xc=0,rA;PA.encode=Qf;PA.decode=gW;PA.yeast=dW;for(;xc<cm;xc++)qA[ZA[xc]]=xc});var bf=I((nF)=>{function a7(n,i){const o=i.rooms.size===0||n.some((p)=>i.rooms.has(p)),c=n.every((p)=>!i.except.has(p));return o&&c}var Uf;Object.defineProperty(nF,"__esModule",{value:!0});nF.SessionAwareAdapter=nF.Adapter=void 0;var o7=import.meta.require("events"),c7=gA(),pm=import.meta.require("ws"),p7=typeof((Uf=pm===null||pm===void 0?void 0:pm.Sender)===null||Uf===void 0?void 0:Uf.frame)==="function";class Vf extends o7.EventEmitter{constructor(n){super();this.nsp=n,this.rooms=new Map,this.sids=new Map,this.encoder=n.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(n,i){if(!this.sids.has(n))this.sids.set(n,new Set);for(let o of i){if(this.sids.get(n).add(o),!this.rooms.has(o))this.rooms.set(o,new Set),this.emit("create-room",o);if(!this.rooms.get(o).has(n))this.rooms.get(o).add(n),this.emit("join-room",o,n)}}del(n,i){if(this.sids.has(n))this.sids.get(n).delete(i);this._del(i,n)}_del(n,i){const o=this.rooms.get(n);if(o!=null){if(o.delete(i))this.emit("leave-room",n,i);if(o.size===0&&this.rooms.delete(n))this.emit("delete-room",n)}}delAll(n){if(!this.sids.has(n))return;for(let i of this.sids.get(n))this._del(i,n);this.sids.delete(n)}broadcast(n,i){const o=i.flags||{},c={preEncoded:!0,volatile:o.volatile,compress:o.compress};n.nsp=this.nsp.name;const p=this._encode(n,c);this.apply(i,(a)=>{if(typeof a.notifyOutgoingListeners==="function")a.notifyOutgoingListeners(n);a.client.writeToEngine(p,c)})}broadcastWithAck(n,i,o,c){const p=i.flags||{},a={preEncoded:!0,volatile:p.volatile,compress:p.compress};n.nsp=this.nsp.name,n.id=this.nsp._ids++;const x=this._encode(n,a);let m=0;this.apply(i,(l)=>{if(m++,l.acks.set(n.id,c),typeof l.notifyOutgoingListeners==="function")l.notifyOutgoingListeners(n);l.client.writeToEngine(x,a)}),o(m)}_encode(n,i){const o=this.encoder.encode(n);if(p7&&o.length===1&&typeof o[0]==="string"){const c=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=pm.Sender.frame(c,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return o}sockets(n){const i=new Set;return this.apply({rooms:n},(o)=>{i.add(o.id)}),Promise.resolve(i)}socketRooms(n){return this.sids.get(n)}fetchSockets(n){const i=[];return this.apply(n,(o)=>{i.push(o)}),Promise.resolve(i)}addSockets(n,i){this.apply(n,(o)=>{o.join(i)})}delSockets(n,i){this.apply(n,(o)=>{i.forEach((c)=>o.leave(c))})}disconnectSockets(n,i){this.apply(n,(o)=>{o.disconnect(i)})}apply(n,i){const o=n.rooms,c=this.computeExceptSids(n.except);if(o.size){const p=new Set;for(let a of o){if(!this.rooms.has(a))continue;for(let x of this.rooms.get(a)){if(p.has(x)||c.has(x))continue;const m=this.nsp.sockets.get(x);if(m)i(m),p.add(x)}}}else for(let[p]of this.sids){if(c.has(p))continue;const a=this.nsp.sockets.get(p);if(a)i(a)}}computeExceptSids(n){const i=new Set;if(n&&n.size>0){for(let o of n)if(this.rooms.has(o))this.rooms.get(o).forEach((c)=>i.add(c))}return i}serverSideEmit(n){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(n){}restoreSession(n,i){return null}}nF.Adapter=Vf;class dA extends Vf{constructor(n){super(n);this.nsp=n,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=n.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{const o=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((c,p)=>{if(c.disconnectedAt<o)this.sessions.delete(p)});for(let c=this.packets.length-1;c>=0;c--)if(this.packets[c].emittedAt<o){this.packets.splice(0,c+1);break}},60000).unref()}persistSession(n){n.disconnectedAt=Date.now(),this.sessions.set(n.pid,n)}restoreSession(n,i){const o=this.sessions.get(n);if(!o)return null;if(o.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(n),null;const p=this.packets.findIndex((x)=>x.id===i);if(p===-1)return null;const a=[];for(let x=p+1;x<this.packets.length;x++){const m=this.packets[x];if(a7(o.rooms,m.opts))a.push(m.data)}return Promise.resolve(Object.assign(Object.assign({},o),{missedPackets:a}))}broadcast(n,i){var o;const c=n.type===2,p=n.id===void 0,a=((o=i.flags)===null||o===void 0?void 0:o.volatile)===void 0;if(c&&p&&a){const x=c7.yeast();n.data.push(x),this.packets.push({id:x,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}nF.SessionAwareAdapter=dA});var cF=I((Ao)=>{function Ap(){return $7.randomBytes(8).toString("hex")}function Hc(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function Jp(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}var m7=Ao&&Ao.__rest||function(n,i){var o={};for(var c in n)if(Object.prototype.hasOwnProperty.call(n,c)&&i.indexOf(c)<0)o[c]=n[c];if(n!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var p=0,c=Object.getOwnPropertySymbols(n);p<c.length;p++)if(i.indexOf(c[p])<0&&Object.prototype.propertyIsEnumerable.call(n,c[p]))o[c[p]]=n[c[p]]}return o};Object.defineProperty(Ao,"__esModule",{value:!0});Ao.ClusterAdapterWithHeartbeat=Ao.ClusterAdapter=Ao.MessageType=void 0;var l7=bf(),f7=ai(),$7=import.meta.require("crypto"),qn=f7.debug("socket.io-adapter"),v7="emitter",am=5000,cn;(function(n){n[n.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",n[n.HEARTBEAT=2]="HEARTBEAT",n[n.BROADCAST=3]="BROADCAST",n[n.SOCKETS_JOIN=4]="SOCKETS_JOIN",n[n.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",n[n.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",n[n.FETCH_SOCKETS=7]="FETCH_SOCKETS",n[n.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",n[n.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",n[n.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",n[n.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",n[n.BROADCAST_ACK=12]="BROADCAST_ACK",n[n.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(cn=Ao.MessageType||(Ao.MessageType={}));class _f extends l7.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=Ap()}onMessage(n,i){if(n.uid===this.uid)return qn("[%s] ignore message from self",this.uid);switch(qn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case cn.BROADCAST:{if(n.data.requestId!==void 0)super.broadcastWithAck(n.data.packet,Jp(n.data.opts),(c)=>{qn("[%s] waiting for %d client acknowledgements",this.uid,c),this.publishResponse(n.uid,{type:cn.BROADCAST_CLIENT_COUNT,data:{requestId:n.data.requestId,clientCount:c}})},(c)=>{qn("[%s] received acknowledgement with value %j",this.uid,c),this.publishResponse(n.uid,{type:cn.BROADCAST_ACK,data:{requestId:n.data.requestId,packet:c}})});else{const c=n.data.packet,p=Jp(n.data.opts);this.addOffsetIfNecessary(c,p,i),super.broadcast(c,p)}break}case cn.SOCKETS_JOIN:super.addSockets(Jp(n.data.opts),n.data.rooms);break;case cn.SOCKETS_LEAVE:super.delSockets(Jp(n.data.opts),n.data.rooms);break;case cn.DISCONNECT_SOCKETS:super.disconnectSockets(Jp(n.data.opts),n.data.close);break;case cn.FETCH_SOCKETS:{qn("[%s] calling fetchSockets with opts %j",this.uid,n.data.opts),super.fetchSockets(Jp(n.data.opts)).then((o)=>{this.publishResponse(n.uid,{type:cn.FETCH_SOCKETS_RESPONSE,data:{requestId:n.data.requestId,sockets:o.map((c)=>{const p=c.handshake,{sessionStore:a}=p,x=m7(p,["sessionStore"]);return{id:c.id,handshake:x,rooms:[...c.rooms],data:c.data}})}})});break}case cn.SERVER_SIDE_EMIT:{const o=n.data.packet;if(n.data.requestId===void 0){this.nsp._onServerSideEmit(o);return}let p=!1;const a=(x)=>{if(p)return;p=!0,qn("[%s] calling acknowledgement with %j",this.uid,x),this.publishResponse(n.uid,{type:cn.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:n.data.requestId,packet:x}})};this.nsp._onServerSideEmit([...o,a]);break}case cn.BROADCAST_CLIENT_COUNT:case cn.BROADCAST_ACK:case cn.FETCH_SOCKETS_RESPONSE:case cn.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(n);break;default:qn("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;const c=n.data.requestId;switch(qn("[%s] received response %s to request %s",this.uid,n.type,c),n.type){case cn.BROADCAST_CLIENT_COUNT:{(i=this.ackRequests.get(c))===null||i===void 0||i.clientCountCallback(n.data.clientCount);break}case cn.BROADCAST_ACK:{(o=this.ackRequests.get(c))===null||o===void 0||o.ack(n.data.packet);break}case cn.FETCH_SOCKETS_RESPONSE:{const p=this.requests.get(c);if(!p)return;if(p.current++,n.data.sockets.forEach((a)=>p.responses.push(a)),p.current===p.expected)clearTimeout(p.timeout),p.resolve(p.responses),this.requests.delete(c);break}case cn.SERVER_SIDE_EMIT_RESPONSE:{const p=this.requests.get(c);if(!p)return;if(p.current++,p.responses.push(n.data.packet),p.current===p.expected)clearTimeout(p.timeout),p.resolve(null,p.responses),this.requests.delete(c);break}default:qn("[%s] unknown response type: %s",this.uid,n.type)}}async broadcast(n,i){var o;if(!((o=i.flags)===null||o===void 0?void 0:o.local))try{const p=await this.publishAndReturnOffset({type:cn.BROADCAST,data:{packet:n,opts:Hc(i)}});this.addOffsetIfNecessary(n,i,p)}catch(p){return qn("[%s] error while broadcasting message: %s",this.uid,p.message)}super.broadcast(n,i)}addOffsetIfNecessary(n,i,o){var c;if(!this.nsp.server.opts.connectionStateRecovery)return;const p=n.type===2,a=n.id===void 0,x=((c=i.flags)===null||c===void 0?void 0:c.volatile)===void 0;if(p&&a&&x)n.data.push(o)}broadcastWithAck(n,i,o,c){var p;if(!((p=i===null||i===void 0?void 0:i.flags)===null||p===void 0?void 0:p.local)){const x=Ap();this.ackRequests.set(x,{clientCountCallback:o,ack:c}),this.publish({type:cn.BROADCAST,data:{packet:n,requestId:x,opts:Hc(i)}}),setTimeout(()=>{this.ackRequests.delete(x)},i.flags.timeout)}super.broadcastWithAck(n,i,o,c)}async addSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.SOCKETS_JOIN,data:{opts:Hc(n),rooms:i}})}catch(p){qn("[%s] error while publishing message: %s",this.uid,p.message)}super.addSockets(n,i)}async delSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.SOCKETS_LEAVE,data:{opts:Hc(n),rooms:i}})}catch(p){qn("[%s] error while publishing message: %s",this.uid,p.message)}super.delSockets(n,i)}async disconnectSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.DISCONNECT_SOCKETS,data:{opts:Hc(n),close:i}})}catch(p){qn("[%s] error while publishing message: %s",this.uid,p.message)}super.disconnectSockets(n,i)}async fetchSockets(n){var i;const[o,c]=await Promise.all([super.fetchSockets(n),this.serverCount()]),p=c-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||p<=0)return o;const a=Ap();return new Promise((x,m)=>{const l=setTimeout(()=>{const $=this.requests.get(a);if($)m(new Error(`timeout reached: only ${$.current} responses received out of ${$.expected}`)),this.requests.delete(a)},n.flags.timeout||am),f={type:cn.FETCH_SOCKETS,resolve:x,timeout:l,current:0,expected:p,responses:o};this.requests.set(a,f),this.publish({type:cn.FETCH_SOCKETS,data:{opts:Hc(n),requestId:a}})})}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:cn.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),c=await this.serverCount()-1;if(qn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,c),c<=0)return o(null,[]);const p=Ap(),a=setTimeout(()=>{const m=this.requests.get(p);if(m)o(new Error(`timeout reached: only ${m.current} responses received out of ${m.expected}`),m.responses),this.requests.delete(p)},am),x={type:cn.SERVER_SIDE_EMIT,resolve:o,timeout:a,current:0,expected:c,responses:[]};this.requests.set(p,x),this.publish({type:cn.SERVER_SIDE_EMIT,data:{requestId:p,packet:n}})}publish(n){this.publishAndReturnOffset(n).catch((i)=>{qn("[%s] error while publishing message: %s",this.uid,i)})}publishAndReturnOffset(n){return n.uid=this.uid,n.nsp=this.nsp.name,this.doPublish(n)}publishResponse(n,i){i.uid=this.uid,i.nsp=this.nsp.name,this.doPublishResponse(n,i).catch((o)=>{qn("[%s] error while publishing response: %s",this.uid,o)})}}Ao.ClusterAdapter=_f;class oF extends _f{constructor(n,i){super(n);this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5000,heartbeatTimeout:1e4},i),this.cleanupTimer=setInterval(()=>{const o=Date.now();this.nodesMap.forEach((c,p)=>{if(o-c>this._opts.heartbeatTimeout)qn("[%s] node %s seems down",this.uid,p),this.removeNode(p)})},1000)}init(){this.publish({type:cn.INITIAL_HEARTBEAT})}scheduleHeartbeat(){if(this.heartbeatTimer)this.heartbeatTimer.refresh();else this.heartbeatTimer=setTimeout(()=>{this.publish({type:cn.HEARTBEAT})},this._opts.heartbeatInterval)}close(){if(this.publish({type:cn.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer)clearInterval(this.cleanupTimer)}onMessage(n,i){if(n.uid===this.uid)return qn("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==v7)this.nodesMap.set(n.uid,Date.now());switch(qn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case cn.INITIAL_HEARTBEAT:this.publish({type:cn.HEARTBEAT});break;case cn.HEARTBEAT:break;case cn.ADAPTER_CLOSE:this.removeNode(n.uid);break;default:super.onMessage(n,i)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(n){return this.scheduleHeartbeat(),super.publish(n)}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:cn.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),c=this.nodesMap.size;if(qn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,c),c<=0)return o(null,[]);const p=Ap(),a=setTimeout(()=>{const m=this.customRequests.get(p);if(m)o(new Error(`timeout reached: missing ${m.missingUids.size} responses`),m.responses),this.customRequests.delete(p)},am),x={type:cn.SERVER_SIDE_EMIT,resolve:o,timeout:a,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(p,x),this.publish({type:cn.SERVER_SIDE_EMIT,data:{requestId:p,packet:n}})}async fetchSockets(n){var i;const[o,c]=await Promise.all([super.fetchSockets({rooms:n.rooms,except:n.except,flags:{local:!0}}),this.serverCount()]),p=c-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||p<=0)return o;const a=Ap();return new Promise((x,m)=>{const l=setTimeout(()=>{const $=this.customRequests.get(a);if($)m(new Error(`timeout reached: missing ${$.missingUids.size} responses`)),this.customRequests.delete(a)},n.flags.timeout||am),f={type:cn.FETCH_SOCKETS,resolve:x,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:o};this.customRequests.set(a,f),this.publish({type:cn.FETCH_SOCKETS,data:{opts:Hc(n),requestId:a}})})}onResponse(n){const i=n.data.requestId;switch(qn("[%s] received response %s to request %s",this.uid,n.type,i),n.type){case cn.FETCH_SOCKETS_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(n.data.sockets.forEach((c)=>o.responses.push(c)),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(o.responses),this.customRequests.delete(i);break}case cn.SERVER_SIDE_EMIT_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(o.responses.push(n.data.packet),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(null,o.responses),this.customRequests.delete(i);break}default:super.onResponse(n)}}removeNode(n){this.customRequests.forEach((i,o)=>{if(i.missingUids.delete(n),i.missingUids.size===0){if(clearTimeout(i.timeout),i.type===cn.FETCH_SOCKETS)i.resolve(i.responses);else if(i.type===cn.SERVER_SIDE_EMIT)i.resolve(null,i.responses);this.customRequests.delete(o)}}),this.nodesMap.delete(n)}}Ao.ClusterAdapterWithHeartbeat=oF});var xm=I((Ec)=>{Object.defineProperty(Ec,"__esModule",{value:!0});Ec.MessageType=Ec.ClusterAdapterWithHeartbeat=Ec.ClusterAdapter=Ec.SessionAwareAdapter=Ec.Adapter=void 0;var pF=bf();Object.defineProperty(Ec,"Adapter",{enumerable:!0,get:function(){return pF.Adapter}});Object.defineProperty(Ec,"SessionAwareAdapter",{enumerable:!0,get:function(){return pF.SessionAwareAdapter}});var sf=cF();Object.defineProperty(Ec,"ClusterAdapter",{enumerable:!0,get:function(){return sf.ClusterAdapter}});Object.defineProperty(Ec,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return sf.ClusterAdapterWithHeartbeat}});Object.defineProperty(Ec,"MessageType",{enumerable:!0,get:function(){return sf.MessageType}})});var lF=I((Fp)=>{var S7=Fp&&Fp.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Fp,"__esModule",{value:!0});Fp.ParentNamespace=void 0;var aF=Ef(),J7=xm(),A7=S7(ai()),xF=A7.default("socket.io:parent-namespace");class mm extends aF.Namespace{constructor(n){super(n,"/_"+mm.count++);this.children=new Set}_initAdapter(){this.adapter=new mF(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){xF("creating child namespace %s",n);const i=new aF.Namespace(this.server,n);if(this._fns.forEach((o)=>i.use(o)),this.listeners("connect").forEach((o)=>i.on("connect",o)),this.listeners("connection").forEach((o)=>i.on("connection",o)),this.children.add(i),this.server._opts.cleanupEmptyChildNamespaces){const o=i._remove;i._remove=(c)=>{if(o.call(i,c),i.sockets.size===0)xF("closing child namespace %s",n),i.adapter.close(),this.server._nsps.delete(i.name),this.children.delete(i)}}return this.server._nsps.set(n,i),this.server.sockets.emitReserved("new_namespace",i),i}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}}Fp.ParentNamespace=mm;mm.count=0;class mF extends J7.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var JF=I((Uc)=>{function M7(n){Qc.Adapter.prototype.addAll=function(i,o){const c=!this.sids.has(i);vF.call(this,i,o);const p=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(!p)return;if(p.conn.transport.name==="websocket"){$F(this.nsp.name,p,c,o);return}if(c)p.conn.on("upgrade",()=>{const a=this.sids.get(i);if(a)$F(this.nsp.name,p,c,a)})},Qc.Adapter.prototype.del=function(i,o){wF.call(this,i,o);const c=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(c&&c.conn.transport.name==="websocket"){const p=c.conn.id,a=c.conn.transport.socket,x=`${this.nsp.name}${jf}${o}`;lm("unsubscribe connection %s from topic %s",p,x),a.unsubscribe(x)}},Qc.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){SF.call(this,i,o);return}const p=o.flags||{},a={preEncoded:!0,volatile:p.volatile,compress:p.compress};i.nsp=this.nsp.name;const x=this.encoder.encode(i),m=o.rooms.size===0?this.nsp.name:`${this.nsp.name}${jf}${o.rooms.keys().next().value}`;lm("fast publish to %s",m),x.forEach((l)=>{const f=typeof l!=="string";n.publish(m,f?l:"4"+l,f)}),this.apply(o,(l)=>{if(l.conn.transport.name!=="websocket")l.client.writeToEngine(x,a)})}}function $F(n,i,o,c){const p=i.conn.id,a=i.conn.transport.socket;if(o)lm("subscribe connection %s to topic %s",p,n),a.subscribe(n);c.forEach((x)=>{const m=`${n}${jf}${x}`;lm("subscribe connection %s to topic %s",p,m),a.subscribe(m)})}function R7(){Qc.Adapter.prototype.addAll=vF,Qc.Adapter.prototype.del=wF,Qc.Adapter.prototype.broadcast=SF}function W7(n,i){const{size:o}=fF.statSync(i),c=fF.createReadStream(i),p=()=>!c.destroyed&&c.destroy(),a=(m)=>{throw p(),m},x=(m)=>{const l=K7(m);n.cork(()=>{const f=n.getWriteOffset(),[$,v]=n.tryEnd(l,o);if(!v&&!$)c.pause(),n.onWritable((S)=>{const[T,R]=n.tryEnd(l.slice(S-f),o);if(!R&&T)c.resume();return T})})};n.onAborted(p),c.on("data",x).on("error",a).on("end",p)}var F7=Uc&&Uc.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Uc,"__esModule",{value:!0});Uc.patchAdapter=M7;Uc.restoreAdapter=R7;Uc.serveFile=W7;var Qc=xm(),fF=import.meta.require("fs"),T7=F7(ai()),lm=T7.default("socket.io:adapter-uws"),jf="\x1F",{addAll:vF,del:wF,broadcast:SF}=Qc.Adapter.prototype,K7=(n)=>{const{buffer:i,byteOffset:o,byteLength:c}=n;return i.slice(o,o+c)}});var AF=I((PN,X7)=>{X7.exports={name:"socket.io",version:"4.8.0",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"},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 --require ts-node/register --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.3.2","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 GF=I((Ti,Ga)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",z7=Ti&&Ti.__createBinding||(Object.create?function(n,i,o,c){if(c===void 0)c=o;var p=Object.getOwnPropertyDescriptor(i,o);if(!p||("get"in p?!i.__esModule:p.writable||p.configurable))p={enumerable:!0,get:function(){return i[o]}};Object.defineProperty(n,c,p)}:function(n,i,o,c){if(c===void 0)c=o;n[c]=i[o]}),G7=Ti&&Ti.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),Y7=Ti&&Ti.__importStar||function(n){if(n&&n.__esModule)return n;var i={};if(n!=null){for(var o in n)if(o!=="default"&&Object.prototype.hasOwnProperty.call(n,o))z7(i,n,o)}return G7(i,n),i},XF=Ti&&Ti.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Ti,"__esModule",{value:!0});Ti.Namespace=Ti.Socket=Ti.Server=void 0;var u7=import.meta.require("http"),O7=import.meta.require("fs"),Nf=import.meta.require("zlib"),H7=Bx(),fm=import.meta.require("stream"),FF=import.meta.require("path"),TF=wA(),E7=VA(),MF=import.meta.require("events"),Bf=Ef();Object.defineProperty(Ti,"Namespace",{enumerable:!0,get:function(){return Bf.Namespace}});var Q7=lF(),RF=xm(),U7=Y7(Xa()),V7=XF(ai()),zF=Hf();Object.defineProperty(Ti,"Socket",{enumerable:!0,get:function(){return zF.Socket}});var b7=om(),Lf=JF(),_7=XF(Mf()),_i=V7.default("socket.io:server"),KF=AF().version,WF=/\.map/;class Tp extends b7.StrictEventEmitter{constructor(n,i={}){super();if(this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof n==="object"&&n instanceof Object&&!n.listen)i=n,n=void 0;if(this.path(i.path||"/socket.io"),this.connectTimeout(i.connectTimeout||45000),this.serveClient(i.serveClient!==!1),this._parser=i.parser||U7,this.encoder=new this._parser.Encoder,this.opts=i,i.connectionStateRecovery)i.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120000,skipMiddlewares:!0},i.connectionStateRecovery),this.adapter(i.adapter||RF.SessionAwareAdapter);else this.adapter(i.adapter||RF.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=_7.default(this.opts.cors)}get _opts(){return this.opts}serveClient(n){if(!arguments.length)return this._serveClient;return this._serveClient=n,this}_checkNamespace(n,i,o){if(this.parentNsps.size===0)return o(!1);const c=this.parentNsps.keys(),p=()=>{const a=c.next();if(a.done)return o(!1);a.value(n,i,(x,m)=>{if(x||!m)return p();if(this._nsps.has(n))return _i("dynamic namespace %s already exists",n),o(this._nsps.get(n));const l=this.parentNsps.get(a.value).createChild(n);_i("dynamic namespace %s was created",n),o(l)})};p()}path(n){if(!arguments.length)return this._path;this._path=n.replace(/\/$/,"");const i=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+i+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(n){if(n===void 0)return this._connectTimeout;return this._connectTimeout=n,this}adapter(n){if(!arguments.length)return this._adapter;this._adapter=n;for(let i of this._nsps.values())i._initAdapter();return this}listen(n,i={}){return this.attach(n,i)}attach(n,i={}){if(typeof n=="function")throw new Error("You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.");if(Number(n)==n)n=Number(n);if(typeof n=="number"){_i("creating http server and binding to %d",n);const o=n;n=u7.createServer((c,p)=>{p.writeHead(404),p.end()}),n.listen(o)}return Object.assign(i,this.opts),i.path=i.path||this._path,this.initEngine(n,i),this}attachApp(n,i={}){Object.assign(i,this.opts),i.path=i.path||this._path,_i("creating uWebSockets.js-based engine with opts %j",i);const o=new TF.uServer(i);if(o.attach(n,i),this.bind(o),this._serveClient)n.get(`${this._path}/*`,(c,p)=>{if(!this.clientPathRegex.test(p.getUrl())){p.setYield(!0);return}const a=p.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),x=WF.test(a),m=x?"map":"source",l='"'+KF+'"',f="W/"+l,$=p.getHeader("if-none-match");if($){if(l===$||f===$){_i("serve client %s 304",m),c.writeStatus("304 Not Modified"),c.end();return}}_i("serve client %s",m),c.writeHeader("cache-control","public, max-age=0"),c.writeHeader("content-type","application/"+(x?"json":"javascript")+"; charset=utf-8"),c.writeHeader("etag",l);const v=FF.join(__dirname,"../client-dist/",a);Lf.serveFile(c,v)});Lf.patchAdapter(n)}initEngine(n,i){if(_i("creating engine.io instance with opts %j",i),this.eio=TF.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){_i("attaching client serving req handler");const i=n.listeners("request").slice(0);n.removeAllListeners("request"),n.on("request",(o,c)=>{if(this.clientPathRegex.test(o.url))if(this._corsMiddleware)this._corsMiddleware(o,c,()=>{this.serve(o,c)});else this.serve(o,c);else for(let p=0;p<i.length;p++)i[p].call(n,o,c)})}serve(n,i){const o=n.url.replace(this._path,"").replace(/\?.*$/,""),c=WF.test(o),p=c?"map":"source",a='"'+KF+'"',x="W/"+a,m=n.headers["if-none-match"];if(m){if(a===m||x===m){_i("serve client %s 304",p),i.writeHead(304),i.end();return}}_i("serve client %s",p),i.setHeader("Cache-Control","public, max-age=0"),i.setHeader("Content-Type","application/"+(c?"json":"javascript")+"; charset=utf-8"),i.setHeader("ETag",a),Tp.sendFile(o,n,i)}static sendFile(n,i,o){const c=O7.createReadStream(FF.join(__dirname,"../client-dist/",n)),p=H7(i).encodings(["br","gzip","deflate"]),a=(x)=>{if(x)o.end()};switch(p){case"br":o.writeHead(200,{"content-encoding":"br"}),fm.pipeline(c,Nf.createBrotliCompress(),o,a);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),fm.pipeline(c,Nf.createGzip(),o,a);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),fm.pipeline(c,Nf.createDeflate(),o,a);break;default:o.writeHead(200),fm.pipeline(c,o,a)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){_i("incoming connection with id %s",n.id);const i=new E7.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){const c=new Q7.ParentNamespace(this);if(_i("initializing parent namespace %s",c.name),typeof n==="function")this.parentNsps.set(n,c);else this.parentNsps.set((p,a,x)=>x(null,n.test(p)),c),this.parentNamespacesFromRegExp.set(n,c);if(i)c.on("connect",i);return c}if(String(n)[0]!=="/")n="/"+n;let o=this._nsps.get(n);if(!o){for(let[c,p]of this.parentNamespacesFromRegExp)if(c.test(n))return _i("attaching namespace %s to parent namespace %s",n,c),p.createChild(n);if(_i("initializing namespace %s",n),o=new Bf.Namespace(this,n),this._nsps.set(n,o),n!=="/")this.sockets.emitReserved("new_namespace",o)}if(i)o.on("connect",i);return o}async close(n){if(await Promise.allSettled([...this._nsps.values()].map(async(i)=>{i.sockets.forEach((o)=>{o._onclose("server shutting down")}),await i.adapter.close()})),this.engine.close(),Lf.restoreAdapter(),this.httpServer)this.httpServer.close(n);else n&&n()}use(n){return this.sockets.use(n),this}to(n){return this.sockets.to(n)}in(n){return this.sockets.in(n)}except(n){return this.sockets.except(n)}send(...n){return this.sockets.emit("message",...n),this}write(...n){return this.sockets.emit("message",...n),this}serverSideEmit(n,...i){return this.sockets.serverSideEmit(n,...i)}serverSideEmitWithAck(n,...i){return this.sockets.serverSideEmitWithAck(n,...i)}allSockets(){return this.sockets.allSockets()}compress(n){return this.sockets.compress(n)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(n){return this.sockets.timeout(n)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(n){return this.sockets.socketsJoin(n)}socketsLeave(n){return this.sockets.socketsLeave(n)}disconnectSockets(n=!1){return this.sockets.disconnectSockets(n)}}Ti.Server=Tp;var s7=Object.keys(MF.EventEmitter.prototype).filter(function(n){return typeof MF.EventEmitter.prototype[n]==="function"});s7.forEach(function(n){Tp.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});Ga.exports=(n,i)=>new Tp(n,i);Ga.exports.Server=Tp;Ga.exports.Namespace=Bf.Namespace;Ga.exports.Socket=zF.Socket});var XM=I((WM)=>{function D3(n){if(!Wm[n])Wm[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"});return Wm[n]}function t3(n,i){const o=n.format(i).replace(/\u200E/g,""),c=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(o),[,p,a,x,m,l,f,$]=c;return[x,p,a,m,l,f,$]}function C3(n,i){const o=n.formatToParts(i),c=[];for(let p=0;p<o.length;p++){const{type:a,value:x}=o[p],m=I3[a];if(a==="era")c[m]=x;else if(!pn(m))c[m]=parseInt(x,10)}return c}function k3(n,i={}){const o=JSON.stringify([n,i]);let c=hF[o];if(!c)c=new Intl.ListFormat(n,i),hF[o]=c;return c}function n$(n,i={}){const o=JSON.stringify([n,i]);let c=df[o];if(!c)c=new Intl.DateTimeFormat(n,i),df[o]=c;return c}function r3(n,i={}){const o=JSON.stringify([n,i]);let c=i$[o];if(!c)c=new Intl.NumberFormat(n,i),i$[o]=c;return c}function Z3(n,i={}){const{base:o,...c}=i,p=JSON.stringify([n,c]);let a=o$[p];if(!a)a=new Intl.RelativeTimeFormat(n,i),o$[p]=a;return a}function q3(){if(La)return La;else return La=new Intl.DateTimeFormat().resolvedOptions().locale,La}function P3(n){let i=DF[n];if(!i){const o=new Intl.Locale(n);i="getWeekInfo"in o?o.getWeekInfo():o.weekInfo,DF[n]=i}return i}function e3(n){const i=n.indexOf("-x-");if(i!==-1)n=n.substring(0,i);const o=n.indexOf("-u-");if(o===-1)return[n];else{let c,p;try{c=n$(n).resolvedOptions(),p=n}catch(m){const l=n.substring(0,o);c=n$(l).resolvedOptions(),p=l}const{numberingSystem:a,calendar:x}=c;return[p,a,x]}}function g3(n,i,o){if(o||i){if(!n.includes("-u-"))n+="-u";if(o)n+=`-ca-${o}`;if(i)n+=`-nu-${i}`;return n}else return n}function d3(n){const i=[];for(let o=1;o<=12;o++){const c=mn.utc(2009,o,1);i.push(n(c))}return i}function nX(n){const i=[];for(let o=1;o<=7;o++){const c=mn.utc(2016,11,13+o);i.push(n(c))}return i}function Fm(n,i,o,c){const p=n.listingMode();if(p==="error")return null;else if(p==="en")return o(i);else return c(i)}function iX(n){if(n.numberingSystem&&n.numberingSystem!=="latn")return!1;else return n.numberingSystem==="latn"||!n.locale||n.locale.startsWith("en")||new Intl.DateTimeFormat(n.intl).resolvedOptions().numberingSystem==="latn"}function Jc(n,i){if(pn(n)||n===null)return i;else if(n instanceof hc)return n;else if(aX(n)){const o=n.toLowerCase();if(o==="default")return i;else if(o==="local"||o==="system")return ha.instance;else if(o==="utc"||o==="gmt")return Ki.utcInstance;else return Ki.parseSpecifier(o)||Qo.create(n)}else if(yc(n))return Ki.instance(n);else if(typeof n==="object"&&"offset"in n&&typeof n.offset==="function")return n;else return new x$(n)}function oo(n,i){return new io("unit out of range",`you specified ${i} (of type ${typeof i}) as a ${n}, which is invalid`)}function m$(n,i,o){const c=new Date(Date.UTC(n,i-1,o));if(n<100&&n>=0)c.setUTCFullYear(c.getUTCFullYear()-1900);const p=c.getUTCDay();return p===0?7:p}function tT(n,i,o){return o+(Da(n)?IT:DT)[i-1]}function CT(n,i){const o=Da(n)?IT:DT,c=o.findIndex((a)=>a<i),p=i-o[c];return{month:c+1,day:p}}function l$(n,i){return(n-i+7)%7+1}function Gm(n,i=4,o=1){const{year:c,month:p,day:a}=n,x=tT(c,p,a),m=l$(m$(c,p,a),o);let l=Math.floor((x-m+14-i)/7),f;if(l<1)f=c-1,l=ya(f,i,o);else if(l>ya(c,i,o))f=c+1,l=1;else f=c;return{weekYear:f,weekNumber:l,weekday:m,...Qm(n)}}function eF(n,i=4,o=1){const{weekYear:c,weekNumber:p,weekday:a}=n,x=l$(m$(c,1,i),o),m=Np(c);let l=p*7+a-x-7+i,f;if(l<1)f=c-1,l+=Np(f);else if(l>m)f=c+1,l-=Np(c);else f=c;const{month:$,day:v}=CT(f,l);return{year:f,month:$,day:v,...Qm(n)}}function rf(n){const{year:i,month:o,day:c}=n,p=tT(i,o,c);return{year:i,ordinal:p,...Qm(n)}}function gF(n){const{year:i,ordinal:o}=n,{month:c,day:p}=CT(i,o);return{year:i,month:c,day:p,...Qm(n)}}function dF(n,i){if(!pn(n.localWeekday)||!pn(n.localWeekNumber)||!pn(n.localWeekYear)){if(!pn(n.weekday)||!pn(n.weekNumber)||!pn(n.weekYear))throw new Lc("Cannot mix locale-based week fields with ISO-based week fields");if(!pn(n.localWeekday))n.weekday=n.localWeekday;if(!pn(n.localWeekNumber))n.weekNumber=n.localWeekNumber;if(!pn(n.localWeekYear))n.weekYear=n.localWeekYear;return delete n.localWeekday,delete n.localWeekNumber,delete n.localWeekYear,{minDaysInFirstWeek:i.getMinDaysInFirstWeek(),startOfWeek:i.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function cX(n,i=4,o=1){const c=Om(n.weekYear),p=co(n.weekNumber,1,ya(n.weekYear,i,o)),a=co(n.weekday,1,7);if(!c)return oo("weekYear",n.weekYear);else if(!p)return oo("week",n.weekNumber);else if(!a)return oo("weekday",n.weekday);else return!1}function pX(n){const i=Om(n.year),o=co(n.ordinal,1,Np(n.year));if(!i)return oo("year",n.year);else if(!o)return oo("ordinal",n.ordinal);else return!1}function kT(n){const i=Om(n.year),o=co(n.month,1,12),c=co(n.day,1,Ym(n.year,n.month));if(!i)return oo("year",n.year);else if(!o)return oo("month",n.month);else if(!c)return oo("day",n.day);else return!1}function rT(n){const{hour:i,minute:o,second:c,millisecond:p}=n,a=co(i,0,23)||i===24&&o===0&&c===0&&p===0,x=co(o,0,59),m=co(c,0,59),l=co(p,0,999);if(!a)return oo("hour",i);else if(!x)return oo("minute",o);else if(!m)return oo("second",c);else if(!l)return oo("millisecond",p);else return!1}function pn(n){return typeof n==="undefined"}function yc(n){return typeof n==="number"}function Om(n){return typeof n==="number"&&n%1===0}function aX(n){return typeof n==="string"}function xX(n){return Object.prototype.toString.call(n)==="[object Date]"}function ZT(){try{return typeof Intl!=="undefined"&&!!Intl.RelativeTimeFormat}catch(n){return!1}}function qT(){try{return typeof Intl!=="undefined"&&!!Intl.Locale&&(("weekInfo"in Intl.Locale.prototype)||("getWeekInfo"in Intl.Locale.prototype))}catch(n){return!1}}function mX(n){return Array.isArray(n)?n:[n]}function nT(n,i,o){if(n.length===0)return;return n.reduce((c,p)=>{const a=[i(p),p];if(!c)return a;else if(o(c[0],a[0])===c[0])return c;else return a},null)[1]}function lX(n,i){return i.reduce((o,c)=>{return o[c]=n[c],o},{})}function Bp(n,i){return Object.prototype.hasOwnProperty.call(n,i)}function c$(n){if(n==null)return null;else if(typeof n!=="object")throw new Hi("Week settings must be an object");else{if(!co(n.firstDay,1,7)||!co(n.minimalDays,1,7)||!Array.isArray(n.weekend)||n.weekend.some((i)=>!co(i,1,7)))throw new Hi("Invalid week settings");return{firstDay:n.firstDay,minimalDays:n.minimalDays,weekend:Array.from(n.weekend)}}}function co(n,i,o){return Om(n)&&n>=i&&n<=o}function fX(n,i){return n-i*Math.floor(n/i)}function gn(n,i=2){const o=n<0;let c;if(o)c="-"+(""+-n).padStart(i,"0");else c=(""+n).padStart(i,"0");return c}function Sc(n){if(pn(n)||n===null||n==="")return;else return parseInt(n,10)}function jc(n){if(pn(n)||n===null||n==="")return;else return parseFloat(n)}function f$(n){if(pn(n)||n===null||n==="")return;else{const i=parseFloat("0."+n)*1000;return Math.floor(i)}}function $$(n,i,o=!1){const c=10**i;return(o?Math.trunc:Math.round)(n*c)/c}function Da(n){return n%4===0&&(n%100!==0||n%400===0)}function Np(n){return Da(n)?366:365}function Ym(n,i){const o=fX(i-1,12)+1,c=n+(i-o)/12;if(o===2)return Da(c)?29:28;else return[31,null,31,30,31,30,31,31,30,31,30,31][o-1]}function Hm(n){let i=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);if(n.year<100&&n.year>=0)i=new Date(i),i.setUTCFullYear(n.year,n.month-1,n.day);return+i}function iT(n,i,o){return-l$(m$(n,1,i),o)+i-1}function ya(n,i=4,o=1){const c=iT(n,i,o),p=iT(n+1,i,o);return(Np(n)-c+p)/7}function p$(n){if(n>99)return n;else return n>In.twoDigitCutoffYear?1900+n:2000+n}function PT(n,i,o,c=null){const p=new Date(n),a={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};if(c)a.timeZone=c;const x={timeZoneName:i,...a},m=new Intl.DateTimeFormat(o,x).formatToParts(p).find((l)=>l.type.toLowerCase()==="timezonename");return m?m.value:null}function Em(n,i){let o=parseInt(n,10);if(Number.isNaN(o))o=0;const c=parseInt(i,10)||0,p=o<0||Object.is(o,-0)?-c:c;return o*60+p}function eT(n){const i=Number(n);if(typeof n==="boolean"||n===""||Number.isNaN(i))throw new Hi(`Invalid unit value ${n}`);return i}function um(n,i){const o={};for(let c in n)if(Bp(n,c)){const p=n[c];if(p===void 0||p===null)continue;o[i(c)]=eT(p)}return o}function Ba(n,i){const o=Math.trunc(Math.abs(n/60)),c=Math.trunc(Math.abs(n%60)),p=n>=0?"+":"-";switch(i){case"short":return`${p}${gn(o,2)}:${gn(c,2)}`;case"narrow":return`${p}${o}${c>0?`:${c}`:""}`;case"techie":return`${p}${gn(o,2)}${gn(c,2)}`;default:throw new RangeError(`Value format ${i} is out of range for property format`)}}function Qm(n){return lX(n,["hour","minute","second","millisecond"])}function dT(n){switch(n){case"narrow":return[...vX];case"short":return[...gT];case"long":return[...$X];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}function oM(n){switch(n){case"narrow":return[...wX];case"short":return[...iM];case"long":return[...nM];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}function pM(n){switch(n){case"narrow":return[...AX];case"short":return[...JX];case"long":return[...SX];default:return null}}function FX(n){return cM[n.hour<12?0:1]}function TX(n,i){return oM(i)[n.weekday-1]}function MX(n,i){return dT(i)[n.month-1]}function RX(n,i){return pM(i)[n.year<0?0:1]}function KX(n,i,o="always",c=!1){const p={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},a=["hours","minutes","seconds"].indexOf(n)===-1;if(o==="auto"&&a){const v=n==="days";switch(i){case 1:return v?"tomorrow":`next ${p[n][0]}`;case-1:return v?"yesterday":`last ${p[n][0]}`;case 0:return v?"today":`this ${p[n][0]}`}}const x=Object.is(i,-0)||i<0,m=Math.abs(i),l=m===1,f=p[n],$=c?l?f[1]:f[2]||f[1]:l?p[n][0]:n;return x?`${m} ${$} ago`:`in ${m} ${$}`}function oT(n,i){let o="";for(let c of n)if(c.literal)o+=c.val;else o+=i(c.val);return o}function yp(...n){const i=n.reduce((o,c)=>o+c.source,"");return RegExp(`^${i}\$`)}function hp(...n){return(i)=>n.reduce(([o,c,p],a)=>{const[x,m,l]=a(i,p);return[{...o,...x},m||c,l]},[{},null,1]).slice(0,2)}function Dp(n,...i){if(n==null)return[null,null];for(let[o,c]of i){const p=o.exec(n);if(p)return c(p)}return[null,null]}function xM(...n){return(i,o)=>{const c={};let p;for(p=0;p<n.length;p++)c[n[p]]=Sc(i[o+p]);return[c,null,o+p]}}function Lp(n,i,o){const c=n[i];return pn(c)?o:Sc(c)}function QX(n,i){return[{year:Lp(n,i),month:Lp(n,i+1,1),day:Lp(n,i+2,1)},null,i+3]}function Ip(n,i){return[{hours:Lp(n,i,0),minutes:Lp(n,i+1,0),seconds:Lp(n,i+2,0),milliseconds:f$(n[i+3])},null,i+4]}function Ia(n,i){const o=!n[i]&&!n[i+1],c=Em(n[i+1],n[i+2]),p=o?null:Ki.instance(c);return[{},p,i+3]}function ta(n,i){const o=n[i]?Qo.create(n[i]):null;return[{},o,i+1]}function bX(n){const[i,o,c,p,a,x,m,l,f]=n,$=i[0]==="-",v=l&&l[0]==="-",S=(T,R=!1)=>T!==void 0&&(R||T&&$)?-T:T;return[{years:S(jc(o)),months:S(jc(c)),weeks:S(jc(p)),days:S(jc(a)),hours:S(jc(x)),minutes:S(jc(m)),seconds:S(jc(l),l==="-0"),milliseconds:S(f$(f),v)}]}function S$(n,i,o,c,p,a,x){const m={year:i.length===2?p$(Sc(i)):Sc(i),month:gT.indexOf(o)+1,day:Sc(c),hour:Sc(p),minute:Sc(a)};if(x)m.second=Sc(x);if(n)m.weekday=n.length>3?nM.indexOf(n)+1:iM.indexOf(n)+1;return m}function jX(n){const[,i,o,c,p,a,x,m,l,f,$,v]=n,S=S$(i,p,c,o,a,x,m);let T;if(l)T=_X[l];else if(f)T=0;else T=Em($,v);return[S,new Ki(T)]}function NX(n){return n.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}function cT(n){const[,i,o,c,p,a,x,m]=n;return[S$(i,p,c,o,a,x,m),Ki.utcInstance]}function hX(n){const[,i,o,c,p,a,x,m]=n;return[S$(i,m,o,c,p,a,x),Ki.utcInstance]}function qX(n){return Dp(n,[DX,$M],[IX,kX],[tX,rX],[CX,ZX])}function PX(n){return Dp(NX(n),[sX,jX])}function eX(n){return Dp(n,[LX,cT],[BX,cT],[yX,hX])}function gX(n){return Dp(n,[VX,bX])}function n5(n){return Dp(n,[UX,dX])}function p5(n){return Dp(n,[i5,$M],[o5,c5])}function wc(n,i,o=!1){const c={values:o?i.values:{...n.values,...i.values||{}},loc:n.loc.clone(i.loc),conversionAccuracy:i.conversionAccuracy||n.conversionAccuracy,matrix:i.matrix||n.matrix};return new Mn(c)}function wM(n,i){var o;let c=(o=i.milliseconds)!=null?o:0;for(let p of m5.slice(1))if(i[p])c+=i[p]*n[p].milliseconds;return c}function aT(n,i){const o=wM(n,i)<0?-1:1;Bc.reduceRight((c,p)=>{if(!pn(i[p])){if(c){const a=i[c]*o,x=n[p][c],m=Math.floor(a/x);i[p]+=m*o,i[c]-=m*x*o}return p}else return c},null),Bc.reduce((c,p)=>{if(!pn(i[p])){if(c){const a=i[c]%1;i[c]-=a,i[p]+=a*n[c][p]}return p}else return c},null)}function l5(n){const i={};for(let[o,c]of Object.entries(n))if(c!==0)i[o]=c;return i}function f5(n,i){if(!n||!n.isValid)return Dn.invalid("missing or invalid start");else if(!i||!i.isValid)return Dn.invalid("missing or invalid end");else if(i<n)return Dn.invalid("end before start",`The end of an interval must be after its start, but you had start=${n.toISO()} and end=${i.toISO()}`);else return null}function xT(n,i){const o=(p)=>p.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),c=o(i)-o(n);return Math.floor(Mn.fromMillis(c).as("days"))}function $5(n,i,o){const c=[["years",(l,f)=>f.year-l.year],["quarters",(l,f)=>f.quarter-l.quarter+(f.year-l.year)*4],["months",(l,f)=>f.month-l.month+(f.year-l.year)*12],["weeks",(l,f)=>{const $=xT(l,f);return($-$%7)/7}],["days",xT]],p={},a=n;let x,m;for(let[l,f]of c)if(o.indexOf(l)>=0)if(x=l,p[l]=f(n,i),m=a.plus(p),m>i){if(p[l]--,n=a.plus(p),n>i)m=n,p[l]--,n=a.plus(p)}else n=m;return[n,p,m,x]}function v5(n,i,o,c){let[p,a,x,m]=$5(n,i,o);const l=i-p,f=o.filter((v)=>["hours","minutes","seconds","milliseconds"].indexOf(v)>=0);if(f.length===0){if(x<i)x=p.plus({[m]:1});if(x!==p)a[m]=(a[m]||0)+l/(x-p)}const $=Mn.fromObject(a,c);if(f.length>0)return Mn.fromMillis(l,c).shiftTo(...f).plus($);else return $}function S5(n){let i=parseInt(n,10);if(isNaN(i)){i="";for(let o=0;o<n.length;o++){const c=n.charCodeAt(o);if(n[o].search(J$.hanidec)!==-1)i+=w5.indexOf(n[o]);else for(let p in mT){const[a,x]=mT[p];if(c>=a&&c<=x)i+=c-a}}return parseInt(i,10)}else return i}function Ko({numberingSystem:n},i=""){return new RegExp(`${J$[n||"latn"]}${i}`)}function Wn(n,i=(o)=>o){return{regex:n,deser:([o])=>i(S5(o))}}function F5(n){return n.replace(/\./g,"\\.?").replace(JM,SM)}function lT(n){return n.replace(/\./g,"").replace(JM," ").toLowerCase()}function Wo(n,i){if(n===null)return null;else return{regex:RegExp(n.map(F5).join("|")),deser:([o])=>n.findIndex((c)=>lT(o)===lT(c))+i}}function fT(n,i){return{regex:n,deser:([,o,c])=>Em(o,c),groups:i}}function Tm(n){return{regex:n,deser:([i])=>i}}function T5(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function M5(n,i){const o=Ko(i),c=Ko(i,"{2}"),p=Ko(i,"{3}"),a=Ko(i,"{4}"),x=Ko(i,"{6}"),m=Ko(i,"{1,2}"),l=Ko(i,"{1,3}"),f=Ko(i,"{1,6}"),$=Ko(i,"{1,9}"),v=Ko(i,"{2,4}"),S=Ko(i,"{4,6}"),T=(X)=>({regex:RegExp(T5(X.val)),deser:([z])=>z,literal:!0}),F=((X)=>{if(n.literal)return T(X);switch(X.val){case"G":return Wo(i.eras("short"),0);case"GG":return Wo(i.eras("long"),0);case"y":return Wn(f);case"yy":return Wn(v,p$);case"yyyy":return Wn(a);case"yyyyy":return Wn(S);case"yyyyyy":return Wn(x);case"M":return Wn(m);case"MM":return Wn(c);case"MMM":return Wo(i.months("short",!0),1);case"MMMM":return Wo(i.months("long",!0),1);case"L":return Wn(m);case"LL":return Wn(c);case"LLL":return Wo(i.months("short",!1),1);case"LLLL":return Wo(i.months("long",!1),1);case"d":return Wn(m);case"dd":return Wn(c);case"o":return Wn(l);case"ooo":return Wn(p);case"HH":return Wn(c);case"H":return Wn(m);case"hh":return Wn(c);case"h":return Wn(m);case"mm":return Wn(c);case"m":return Wn(m);case"q":return Wn(m);case"qq":return Wn(c);case"s":return Wn(m);case"ss":return Wn(c);case"S":return Wn(l);case"SSS":return Wn(p);case"u":return Tm($);case"uu":return Tm(m);case"uuu":return Wn(o);case"a":return Wo(i.meridiems(),0);case"kkkk":return Wn(a);case"kk":return Wn(v,p$);case"W":return Wn(m);case"WW":return Wn(c);case"E":case"c":return Wn(o);case"EEE":return Wo(i.weekdays("short",!1),1);case"EEEE":return Wo(i.weekdays("long",!1),1);case"ccc":return Wo(i.weekdays("short",!0),1);case"cccc":return Wo(i.weekdays("long",!0),1);case"Z":case"ZZ":return fT(new RegExp(`([+-]${m.source})(?::(${c.source}))?`),2);case"ZZZ":return fT(new RegExp(`([+-]${m.source})(${c.source})?`),2);case"z":return Tm(/[a-z_+-/]{1,256}?/i);case" ":return Tm(/[^\S\n\r]/);default:return T(X)}})(n)||{invalidReason:J5};return F.token=n,F}function K5(n,i,o){const{type:c,value:p}=n;if(c==="literal"){const l=/^\s+$/.test(p);return{literal:!l,val:l?" ":p}}const a=i[c];let x=c;if(c==="hour")if(i.hour12!=null)x=i.hour12?"hour12":"hour24";else if(i.hourCycle!=null)if(i.hourCycle==="h11"||i.hourCycle==="h12")x="hour12";else x="hour24";else x=o.hour12?"hour12":"hour24";let m=R5[x];if(typeof m==="object")m=m[a];if(m)return{literal:!1,val:m};return}function W5(n){return[`^${n.map((o)=>o.regex).reduce((o,c)=>`${o}(${c.source})`,"")}\$`,n]}function X5(n,i,o){const c=n.match(i);if(c){const p={};let a=1;for(let x in o)if(Bp(o,x)){const m=o[x],l=m.groups?m.groups+1:1;if(!m.literal&&m.token)p[m.token.val[0]]=m.deser(c.slice(a,a+l));a+=l}return[c,p]}else return[c,{}]}function z5(n){const i=(a)=>{switch(a){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}};let o=null,c;if(!pn(n.z))o=Qo.create(n.z);if(!pn(n.Z)){if(!o)o=new Ki(n.Z);c=n.Z}if(!pn(n.q))n.M=(n.q-1)*3+1;if(!pn(n.h)){if(n.h<12&&n.a===1)n.h+=12;else if(n.h===12&&n.a===0)n.h=0}if(n.G===0&&n.y)n.y=-n.y;if(!pn(n.u))n.S=f$(n.u);return[Object.keys(n).reduce((a,x)=>{const m=i(x);if(m)a[m]=n[x];return a},{}),o,c]}function G5(){if(!Zf)Zf=mn.fromMillis(1555555555555);return Zf}function Y5(n,i){if(n.literal)return n;const o=Ri.macroTokenToFormatOpts(n.val),c=TM(o,i);if(c==null||c.includes(void 0))return n;return c}function AM(n,i){return Array.prototype.concat(...n.map((o)=>Y5(o,i)))}function FM(n,i,o){const c=AM(Ri.parseFormat(o),n),p=c.map((x)=>M5(x,n)),a=p.find((x)=>x.invalidReason);if(a)return{input:i,tokens:c,invalidReason:a.invalidReason};else{const[x,m]=W5(p),l=RegExp(x,"i"),[f,$]=X5(i,l,m),[v,S,T]=$?z5($):[null,null,void 0];if(Bp($,"a")&&Bp($,"H"))throw new Lc("Can't include meridiem when specifying 24-hour format");return{input:i,tokens:c,regex:l,rawMatches:f,matches:$,result:v,zone:S,specificOffset:T}}}function u5(n,i,o){const{result:c,zone:p,specificOffset:a,invalidReason:x}=FM(n,i,o);return[c,p,a,x]}function TM(n,i){if(!n)return null;const c=Ri.create(i,n).dtFormatter(G5()),p=c.formatToParts(),a=c.resolvedOptions();return p.map((x)=>K5(x,n,a))}function Mm(n){return new io("unsupported zone",`the zone "${n.name}" is not supported`)}function Pf(n){if(n.weekData===null)n.weekData=Gm(n.c);return n.weekData}function ef(n){if(n.localWeekData===null)n.localWeekData=Gm(n.c,n.loc.getMinDaysInFirstWeek(),n.loc.getStartOfWeek());return n.localWeekData}function Nc(n,i){const o={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new mn({...o,...i,old:o})}function MM(n,i,o){let c=n-i*60*1000;const p=o.offset(c);if(i===p)return[c,i];c-=(p-i)*60*1000;const a=o.offset(c);if(p===a)return[c,p];return[n-Math.min(p,a)*60*1000,Math.max(p,a)]}function Rm(n,i){n+=i*60*1000;const o=new Date(n);return{year:o.getUTCFullYear(),month:o.getUTCMonth()+1,day:o.getUTCDate(),hour:o.getUTCHours(),minute:o.getUTCMinutes(),second:o.getUTCSeconds(),millisecond:o.getUTCMilliseconds()}}function Xm(n,i,o){return MM(Hm(n),i,o)}function vT(n,i){const o=n.o,c=n.c.year+Math.trunc(i.years),p=n.c.month+Math.trunc(i.months)+Math.trunc(i.quarters)*3,a={...n.c,year:c,month:p,day:Math.min(n.c.day,Ym(c,p))+Math.trunc(i.days)+Math.trunc(i.weeks)*7},x=Mn.fromObject({years:i.years-Math.trunc(i.years),quarters:i.quarters-Math.trunc(i.quarters),months:i.months-Math.trunc(i.months),weeks:i.weeks-Math.trunc(i.weeks),days:i.days-Math.trunc(i.days),hours:i.hours,minutes:i.minutes,seconds:i.seconds,milliseconds:i.milliseconds}).as("milliseconds"),m=Hm(a);let[l,f]=MM(m,o,n.zone);if(x!==0)l+=x,f=n.zone.offset(l);return{ts:l,o:f}}function ja(n,i,o,c,p,a){const{setZone:x,zone:m}=o;if(n&&Object.keys(n).length!==0||i){const l=i||m,f=mn.fromObject(n,{...o,zone:l,specificOffset:a});return x?f:f.setZone(m)}else return mn.invalid(new io("unparsable",`the input "${p}" can't be parsed as ${c}`))}function Km(n,i,o=!0){return n.isValid?Ri.create(On.create("en-US"),{allowZ:o,forceSimple:!0}).formatDateTimeFromString(n,i):null}function gf(n,i){const o=n.c.year>9999||n.c.year<0;let c="";if(o&&n.c.year>=0)c+="+";if(c+=gn(n.c.year,o?6:4),i)c+="-",c+=gn(n.c.month),c+="-",c+=gn(n.c.day);else c+=gn(n.c.month),c+=gn(n.c.day);return c}function wT(n,i,o,c,p,a){let x=gn(n.c.hour);if(i){if(x+=":",x+=gn(n.c.minute),n.c.millisecond!==0||n.c.second!==0||!o)x+=":"}else x+=gn(n.c.minute);if(n.c.millisecond!==0||n.c.second!==0||!o){if(x+=gn(n.c.second),n.c.millisecond!==0||!c)x+=".",x+=gn(n.c.millisecond,3)}if(p)if(n.isOffsetFixed&&n.offset===0&&!a)x+="Z";else if(n.o<0)x+="-",x+=gn(Math.trunc(-n.o/60)),x+=":",x+=gn(Math.trunc(-n.o%60));else x+="+",x+=gn(Math.trunc(n.o/60)),x+=":",x+=gn(Math.trunc(n.o%60));if(a)x+="["+n.zone.ianaName+"]";return x}function U5(n){const i={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[n.toLowerCase()];if(!i)throw new a$(n);return i}function ST(n){switch(n.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return U5(n)}}function JT(n,i){const o=Jc(i.zone,In.defaultZone),c=On.fromObject(i),p=In.now();let a,x;if(!pn(n.year)){for(let f of KM)if(pn(n[f]))n[f]=RM[f];const m=kT(n)||rT(n);if(m)return mn.invalid(m);const l=o.offset(p);[a,x]=Xm(n,l,o)}else a=p;return new mn({ts:a,zone:o,loc:c,o:x})}function AT(n,i,o){const c=pn(o.round)?!0:o.round,p=(x,m)=>{return x=$$(x,c||o.calendary?0:2,!0),i.loc.clone(o).relFormatter(o).format(x,m)},a=(x)=>{if(o.calendary)if(!i.hasSame(n,x))return i.startOf(x).diff(n.startOf(x),x).get(x);else return 0;else return i.diff(n,x).get(x)};if(o.unit)return p(a(o.unit),o.unit);for(let x of o.units){const m=a(x);if(Math.abs(m)>=1)return p(m,x)}return p(n>i?-0:0,o.units[o.units.length-1])}function FT(n){let i={},o;if(n.length>0&&typeof n[n.length-1]==="object")i=n[n.length-1],o=Array.from(n).slice(0,n.length-1);else o=Array.from(n);return[i,o]}function Na(n){if(mn.isDateTime(n))return n;else if(n&&n.valueOf&&yc(n.valueOf()))return mn.fromJSDate(n);else if(n&&typeof n==="object")return mn.fromObject(n);else throw new Hi(`Unknown datetime argument: ${n}, of type ${typeof n}`)}Object.defineProperty(WM,"__esModule",{value:!0});class Ac extends Error{}class TT extends Ac{constructor(n){super(`Invalid DateTime: ${n.toMessage()}`)}}class MT extends Ac{constructor(n){super(`Invalid Interval: ${n.toMessage()}`)}}class RT extends Ac{constructor(n){super(`Invalid Duration: ${n.toMessage()}`)}}class Lc extends Ac{}class a$ extends Ac{constructor(n){super(`Invalid unit ${n}`)}}class Hi extends Ac{}class Do extends Ac{constructor(){super("Zone is an abstract class")}}var L="numeric",Xo="short",ti="long",zm={year:L,month:L,day:L},KT={year:L,month:Xo,day:L},y3={year:L,month:Xo,day:L,weekday:Xo},WT={year:L,month:ti,day:L},XT={year:L,month:ti,day:L,weekday:ti},zT={hour:L,minute:L},GT={hour:L,minute:L,second:L},YT={hour:L,minute:L,second:L,timeZoneName:Xo},uT={hour:L,minute:L,second:L,timeZoneName:ti},OT={hour:L,minute:L,hourCycle:"h23"},HT={hour:L,minute:L,second:L,hourCycle:"h23"},ET={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:Xo},QT={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:ti},UT={year:L,month:L,day:L,hour:L,minute:L},VT={year:L,month:L,day:L,hour:L,minute:L,second:L},bT={year:L,month:Xo,day:L,hour:L,minute:L},_T={year:L,month:Xo,day:L,hour:L,minute:L,second:L},h3={year:L,month:Xo,day:L,weekday:Xo,hour:L,minute:L},sT={year:L,month:ti,day:L,hour:L,minute:L,timeZoneName:Xo},jT={year:L,month:ti,day:L,hour:L,minute:L,second:L,timeZoneName:Xo},NT={year:L,month:ti,day:L,weekday:ti,hour:L,minute:L,timeZoneName:ti},LT={year:L,month:ti,day:L,weekday:ti,hour:L,minute:L,second:L,timeZoneName:ti};class hc{get type(){throw new Do}get name(){throw new Do}get ianaName(){return this.name}get isUniversal(){throw new Do}offsetName(n,i){throw new Do}formatOffset(n,i){throw new Do}offset(n){throw new Do}equals(n){throw new Do}get isValid(){throw new Do}}var Cf=null;class ha extends hc{static get instance(){if(Cf===null)Cf=new ha;return Cf}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return PT(n,i,o)}formatOffset(n,i){return Ba(this.offset(n),i)}offset(n){return-new Date(n).getTimezoneOffset()}equals(n){return n.type==="system"}get isValid(){return!0}}var Wm={},I3={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6},Am={};class Qo extends hc{static create(n){if(!Am[n])Am[n]=new Qo(n);return Am[n]}static resetCache(){Am={},Wm={}}static isValidSpecifier(n){return this.isValidZone(n)}static isValidZone(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}).format(),!0}catch(i){return!1}}constructor(n){super();this.zoneName=n,this.valid=Qo.isValidZone(n)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return PT(n,i,o,this.name)}formatOffset(n,i){return Ba(this.offset(n),i)}offset(n){const i=new Date(n);if(isNaN(i))return NaN;const o=D3(this.name);let[c,p,a,x,m,l,f]=o.formatToParts?C3(o,i):t3(o,i);if(x==="BC")c=-Math.abs(c)+1;const v=Hm({year:c,month:p,day:a,hour:m===24?0:m,minute:l,second:f,millisecond:0});let S=+i;const T=S%1000;return S-=T>=0?T:1000+T,(v-S)/60000}equals(n){return n.type==="iana"&&n.name===this.name}get isValid(){return this.valid}}var hF={},df={},i$={},o$={},La=null,DF={};class BT{constructor(n,i,o){this.padTo=o.padTo||0,this.floor=o.floor||!1;const{padTo:c,floor:p,...a}=o;if(!i||Object.keys(a).length>0){const x={useGrouping:!1,...o};if(o.padTo>0)x.minimumIntegerDigits=o.padTo;this.inf=r3(n,x)}}format(n){if(this.inf){const i=this.floor?Math.floor(n):n;return this.inf.format(i)}else{const i=this.floor?Math.floor(n):$$(n,3);return gn(i,this.padTo)}}}class yT{constructor(n,i,o){this.opts=o,this.originalZone=void 0;let c=void 0;if(this.opts.timeZone)this.dt=n;else if(n.zone.type==="fixed"){const a=-1*(n.offset/60),x=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;if(n.offset!==0&&Qo.create(x).valid)c=x,this.dt=n;else c="UTC",this.dt=n.offset===0?n:n.setZone("UTC").plus({minutes:n.offset}),this.originalZone=n.zone}else if(n.zone.type==="system")this.dt=n;else if(n.zone.type==="iana")this.dt=n,c=n.zone.name;else c="UTC",this.dt=n.setZone("UTC").plus({minutes:n.offset}),this.originalZone=n.zone;const p={...this.opts};p.timeZone=p.timeZone||c,this.dtf=n$(i,p)}format(){if(this.originalZone)return this.formatToParts().map(({value:n})=>n).join("");return this.dtf.format(this.dt.toJSDate())}formatToParts(){const n=this.dtf.formatToParts(this.dt.toJSDate());if(this.originalZone)return n.map((i)=>{if(i.type==="timeZoneName"){const o=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...i,value:o}}else return i});return n}resolvedOptions(){return this.dtf.resolvedOptions()}}class hT{constructor(n,i,o){if(this.opts={style:"long",...o},!i&&ZT())this.rtf=Z3(n,o)}format(n,i){if(this.rtf)return this.rtf.format(n,i);else return KX(i,n,this.opts.numeric,this.opts.style!=="long")}formatToParts(n,i){if(this.rtf)return this.rtf.formatToParts(n,i);else return[]}}var oX={firstDay:1,minimalDays:4,weekend:[6,7]};class On{static fromOpts(n){return On.create(n.locale,n.numberingSystem,n.outputCalendar,n.weekSettings,n.defaultToEN)}static create(n,i,o,c,p=!1){const a=n||In.defaultLocale,x=a||(p?"en-US":q3()),m=i||In.defaultNumberingSystem,l=o||In.defaultOutputCalendar,f=c$(c)||In.defaultWeekSettings;return new On(x,m,l,f,a)}static resetCache(){La=null,df={},i$={},o$={}}static fromObject({locale:n,numberingSystem:i,outputCalendar:o,weekSettings:c}={}){return On.create(n,i,o,c)}constructor(n,i,o,c,p){const[a,x,m]=e3(n);this.locale=a,this.numberingSystem=i||x||null,this.outputCalendar=o||m||null,this.weekSettings=c,this.intl=g3(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=p,this.fastNumbersCached=null}get fastNumbers(){if(this.fastNumbersCached==null)this.fastNumbersCached=iX(this);return this.fastNumbersCached}listingMode(){const n=this.isEnglish(),i=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return n&&i?"en":"intl"}clone(n){if(!n||Object.getOwnPropertyNames(n).length===0)return this;else return On.create(n.locale||this.specifiedLocale,n.numberingSystem||this.numberingSystem,n.outputCalendar||this.outputCalendar,c$(n.weekSettings)||this.weekSettings,n.defaultToEN||!1)}redefaultToEN(n={}){return this.clone({...n,defaultToEN:!0})}redefaultToSystem(n={}){return this.clone({...n,defaultToEN:!1})}months(n,i=!1){return Fm(this,n,dT,()=>{const o=i?{month:n,day:"numeric"}:{month:n},c=i?"format":"standalone";if(!this.monthsCache[c][n])this.monthsCache[c][n]=d3((p)=>this.extract(p,o,"month"));return this.monthsCache[c][n]})}weekdays(n,i=!1){return Fm(this,n,oM,()=>{const o=i?{weekday:n,year:"numeric",month:"long",day:"numeric"}:{weekday:n},c=i?"format":"standalone";if(!this.weekdaysCache[c][n])this.weekdaysCache[c][n]=nX((p)=>this.extract(p,o,"weekday"));return this.weekdaysCache[c][n]})}meridiems(){return Fm(this,void 0,()=>cM,()=>{if(!this.meridiemCache){const n={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[mn.utc(2016,11,13,9),mn.utc(2016,11,13,19)].map((i)=>this.extract(i,n,"dayperiod"))}return this.meridiemCache})}eras(n){return Fm(this,n,pM,()=>{const i={era:n};if(!this.eraCache[n])this.eraCache[n]=[mn.utc(-40,1,1),mn.utc(2017,1,1)].map((o)=>this.extract(o,i,"era"));return this.eraCache[n]})}extract(n,i,o){const c=this.dtFormatter(n,i),p=c.formatToParts(),a=p.find((x)=>x.type.toLowerCase()===o);return a?a.value:null}numberFormatter(n={}){return new BT(this.intl,n.forceSimple||this.fastNumbers,n)}dtFormatter(n,i={}){return new yT(n,this.intl,i)}relFormatter(n={}){return new hT(this.intl,this.isEnglish(),n)}listFormatter(n={}){return k3(this.intl,n)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){if(this.weekSettings)return this.weekSettings;else if(!qT())return oX;else return P3(this.locale)}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(n){return this.locale===n.locale&&this.numberingSystem===n.numberingSystem&&this.outputCalendar===n.outputCalendar}}var kf=null;class Ki extends hc{static get utcInstance(){if(kf===null)kf=new Ki(0);return kf}static instance(n){return n===0?Ki.utcInstance:new Ki(n)}static parseSpecifier(n){if(n){const i=n.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(i)return new Ki(Em(i[1],i[2]))}return null}constructor(n){super();this.fixed=n}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Ba(this.fixed,"narrow")}`}get ianaName(){if(this.fixed===0)return"Etc/UTC";else return`Etc/GMT${Ba(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(n,i){return Ba(this.fixed,i)}get isUniversal(){return!0}offset(){return this.fixed}equals(n){return n.type==="fixed"&&n.fixed===this.fixed}get isValid(){return!0}}class x$ extends hc{constructor(n){super();this.zoneName=n}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}var IF=()=>Date.now(),tF="system",CF=null,kF=null,rF=null,ZF=60,qF,PF=null;class In{static get now(){return IF}static set now(n){IF=n}static set defaultZone(n){tF=n}static get defaultZone(){return Jc(tF,ha.instance)}static get defaultLocale(){return CF}static set defaultLocale(n){CF=n}static get defaultNumberingSystem(){return kF}static set defaultNumberingSystem(n){kF=n}static get defaultOutputCalendar(){return rF}static set defaultOutputCalendar(n){rF=n}static get defaultWeekSettings(){return PF}static set defaultWeekSettings(n){PF=c$(n)}static get twoDigitCutoffYear(){return ZF}static set twoDigitCutoffYear(n){ZF=n%100}static get throwOnInvalid(){return qF}static set throwOnInvalid(n){qF=n}static resetCaches(){On.resetCache(),Qo.resetCache()}}class io{constructor(n,i){this.reason=n,this.explanation=i}toMessage(){if(this.explanation)return`${this.reason}: ${this.explanation}`;else return this.reason}}var DT=[0,31,59,90,120,151,181,212,243,273,304,334],IT=[0,31,60,91,121,152,182,213,244,274,305,335],$X=["January","February","March","April","May","June","July","August","September","October","November","December"],gT=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],vX=["J","F","M","A","M","J","J","A","S","O","N","D"],nM=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],iM=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],wX=["M","T","W","T","F","S","S"],cM=["AM","PM"],SX=["Before Christ","Anno Domini"],JX=["BC","AD"],AX=["B","A"],WX={D:zm,DD:KT,DDD:WT,DDDD:XT,t:zT,tt:GT,ttt:YT,tttt:uT,T:OT,TT:HT,TTT:ET,TTTT:QT,f:UT,ff:bT,fff:sT,ffff:NT,F:VT,FF:_T,FFF:jT,FFFF:LT};class Ri{static create(n,i={}){return new Ri(n,i)}static parseFormat(n){let i=null,o="",c=!1;const p=[];for(let a=0;a<n.length;a++){const x=n.charAt(a);if(x==="'"){if(o.length>0)p.push({literal:c||/^\s+$/.test(o),val:o});i=null,o="",c=!c}else if(c)o+=x;else if(x===i)o+=x;else{if(o.length>0)p.push({literal:/^\s+$/.test(o),val:o});o=x,i=x}}if(o.length>0)p.push({literal:c||/^\s+$/.test(o),val:o});return p}static macroTokenToFormatOpts(n){return WX[n]}constructor(n,i){this.opts=i,this.loc=n,this.systemLoc=null}formatWithSystemDefault(n,i){if(this.systemLoc===null)this.systemLoc=this.loc.redefaultToSystem();return this.systemLoc.dtFormatter(n,{...this.opts,...i}).format()}dtFormatter(n,i={}){return this.loc.dtFormatter(n,{...this.opts,...i})}formatDateTime(n,i){return this.dtFormatter(n,i).format()}formatDateTimeParts(n,i){return this.dtFormatter(n,i).formatToParts()}formatInterval(n,i){return this.dtFormatter(n.start,i).dtf.formatRange(n.start.toJSDate(),n.end.toJSDate())}resolvedOptions(n,i){return this.dtFormatter(n,i).resolvedOptions()}num(n,i=0){if(this.opts.forceSimple)return gn(n,i);const o={...this.opts};if(i>0)o.padTo=i;return this.loc.numberFormatter(o).format(n)}formatDateTimeFromString(n,i){const o=this.loc.listingMode()==="en",c=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",p=(S,T)=>this.loc.extract(n,S,T),a=(S)=>{if(n.isOffsetFixed&&n.offset===0&&S.allowZ)return"Z";return n.isValid?n.zone.formatOffset(n.ts,S.format):""},x=()=>o?FX(n):p({hour:"numeric",hourCycle:"h12"},"dayperiod"),m=(S,T)=>o?MX(n,S):p(T?{month:S}:{month:S,day:"numeric"},"month"),l=(S,T)=>o?TX(n,S):p(T?{weekday:S}:{weekday:S,month:"long",day:"numeric"},"weekday"),f=(S)=>{const T=Ri.macroTokenToFormatOpts(S);if(T)return this.formatWithSystemDefault(n,T);else return S},$=(S)=>o?RX(n,S):p({era:S},"era"),v=(S)=>{switch(S){case"S":return this.num(n.millisecond);case"u":case"SSS":return this.num(n.millisecond,3);case"s":return this.num(n.second);case"ss":return this.num(n.second,2);case"uu":return this.num(Math.floor(n.millisecond/10),2);case"uuu":return this.num(Math.floor(n.millisecond/100));case"m":return this.num(n.minute);case"mm":return this.num(n.minute,2);case"h":return this.num(n.hour%12===0?12:n.hour%12);case"hh":return this.num(n.hour%12===0?12:n.hour%12,2);case"H":return this.num(n.hour);case"HH":return this.num(n.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return n.zone.offsetName(n.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return n.zone.offsetName(n.ts,{format:"long",locale:this.loc.locale});case"z":return n.zoneName;case"a":return x();case"d":return c?p({day:"numeric"},"day"):this.num(n.day);case"dd":return c?p({day:"2-digit"},"day"):this.num(n.day,2);case"c":return this.num(n.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(n.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return c?p({month:"numeric",day:"numeric"},"month"):this.num(n.month);case"LL":return c?p({month:"2-digit",day:"numeric"},"month"):this.num(n.month,2);case"LLL":return m("short",!0);case"LLLL":return m("long",!0);case"LLLLL":return m("narrow",!0);case"M":return c?p({month:"numeric"},"month"):this.num(n.month);case"MM":return c?p({month:"2-digit"},"month"):this.num(n.month,2);case"MMM":return m("short",!1);case"MMMM":return m("long",!1);case"MMMMM":return m("narrow",!1);case"y":return c?p({year:"numeric"},"year"):this.num(n.year);case"yy":return c?p({year:"2-digit"},"year"):this.num(n.year.toString().slice(-2),2);case"yyyy":return c?p({year:"numeric"},"year"):this.num(n.year,4);case"yyyyyy":return c?p({year:"numeric"},"year"):this.num(n.year,6);case"G":return $("short");case"GG":return $("long");case"GGGGG":return $("narrow");case"kk":return this.num(n.weekYear.toString().slice(-2),2);case"kkkk":return this.num(n.weekYear,4);case"W":return this.num(n.weekNumber);case"WW":return this.num(n.weekNumber,2);case"n":return this.num(n.localWeekNumber);case"nn":return this.num(n.localWeekNumber,2);case"ii":return this.num(n.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(n.localWeekYear,4);case"o":return this.num(n.ordinal);case"ooo":return this.num(n.ordinal,3);case"q":return this.num(n.quarter);case"qq":return this.num(n.quarter,2);case"X":return this.num(Math.floor(n.ts/1000));case"x":return this.num(n.ts);default:return f(S)}};return oT(Ri.parseFormat(i),v)}formatDurationFromString(n,i){const o=(m)=>{switch(m[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},c=(m)=>(l)=>{const f=o(l);if(f)return this.num(m.get(f),l.length);else return l},p=Ri.parseFormat(i),a=p.reduce((m,{literal:l,val:f})=>l?m:m.concat(f),[]),x=n.shiftTo(...a.map(o).filter((m)=>m));return oT(p,c(x))}}var aM=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,mM=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,XX=`(?:${mM.source}?(?:\\[(${aM.source})\\])?)?`,v$=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,lM=RegExp(`${v$.source}${XX}`),w$=RegExp(`(?:T${lM.source})?`),zX=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,GX=/(\d{4})-?W(\d\d)(?:-?(\d))?/,YX=/(\d{4})-?(\d{3})/,uX=xM("weekYear","weekNumber","weekDay"),OX=xM("year","ordinal"),HX=/(\d{4})-(\d\d)-(\d\d)/,fM=RegExp(`${v$.source} ?(?:${mM.source}|(${aM.source}))?`),EX=RegExp(`(?: ${fM.source})?`),UX=RegExp(`^T?${v$.source}\$`),VX=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/,_X={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480},sX=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/,LX=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,BX=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,yX=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/,DX=yp(zX,w$),IX=yp(GX,w$),tX=yp(YX,w$),CX=yp(lM),$M=hp(QX,Ip,Ia,ta),kX=hp(uX,Ip,Ia,ta),rX=hp(OX,Ip,Ia,ta),ZX=hp(Ip,Ia,ta),dX=hp(Ip),i5=yp(HX,EX),o5=yp(fM),c5=hp(Ip,Ia,ta),pT="Invalid Duration",vM={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:604800000},days:{hours:24,minutes:1440,seconds:86400,milliseconds:86400000},hours:{minutes:60,seconds:3600,milliseconds:3600000},minutes:{seconds:60,milliseconds:60000},seconds:{milliseconds:1000}},a5={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536000,milliseconds:31536000000},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:7862400000},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592000,milliseconds:2592000000},...vM},no=365.2425,_p=30.436875,x5={years:{quarters:4,months:12,weeks:no/7,days:no,hours:no*24,minutes:no*24*60,seconds:no*24*60*60,milliseconds:no*24*60*60*1000},quarters:{months:3,weeks:no/28,days:no/4,hours:no*24/4,minutes:no*24*60/4,seconds:no*24*60*60/4,milliseconds:no*24*60*60*1000/4},months:{weeks:_p/7,days:_p,hours:_p*24,minutes:_p*24*60,seconds:_p*24*60*60,milliseconds:_p*24*60*60*1000},...vM},Bc=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],m5=Bc.slice(0).reverse();class Mn{constructor(n){const i=n.conversionAccuracy==="longterm"||!1;let o=i?x5:a5;if(n.matrix)o=n.matrix;this.values=n.values,this.loc=n.loc||On.create(),this.conversionAccuracy=i?"longterm":"casual",this.invalid=n.invalid||null,this.matrix=o,this.isLuxonDuration=!0}static fromMillis(n,i){return Mn.fromObject({milliseconds:n},i)}static fromObject(n,i={}){if(n==null||typeof n!=="object")throw new Hi(`Duration.fromObject: argument expected to be an object, got ${n===null?"null":typeof n}`);return new Mn({values:um(n,Mn.normalizeUnit),loc:On.fromObject(i),conversionAccuracy:i.conversionAccuracy,matrix:i.matrix})}static fromDurationLike(n){if(yc(n))return Mn.fromMillis(n);else if(Mn.isDuration(n))return n;else if(typeof n==="object")return Mn.fromObject(n);else throw new Hi(`Unknown duration argument ${n} of type ${typeof n}`)}static fromISO(n,i){const[o]=gX(n);if(o)return Mn.fromObject(o,i);else return Mn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static fromISOTime(n,i){const[o]=n5(n);if(o)return Mn.fromObject(o,i);else return Mn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static invalid(n,i=null){if(!n)throw new Hi("need to specify a reason the Duration is invalid");const o=n instanceof io?n:new io(n,i);if(In.throwOnInvalid)throw new RT(o);else return new Mn({invalid:o})}static normalizeUnit(n){const i={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[n?n.toLowerCase():n];if(!i)throw new a$(n);return i}static isDuration(n){return n&&n.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(n,i={}){const o={...i,floor:i.round!==!1&&i.floor!==!1};return this.isValid?Ri.create(this.loc,o).formatDurationFromString(this,n):pT}toHuman(n={}){if(!this.isValid)return pT;const i=Bc.map((o)=>{const c=this.values[o];if(pn(c))return null;return this.loc.numberFormatter({style:"unit",unitDisplay:"long",...n,unit:o.slice(0,-1)}).format(c)}).filter((o)=>o);return this.loc.listFormatter({type:"conjunction",style:n.listStyle||"narrow",...n}).format(i)}toObject(){if(!this.isValid)return{};return{...this.values}}toISO(){if(!this.isValid)return null;let n="P";if(this.years!==0)n+=this.years+"Y";if(this.months!==0||this.quarters!==0)n+=this.months+this.quarters*3+"M";if(this.weeks!==0)n+=this.weeks+"W";if(this.days!==0)n+=this.days+"D";if(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)n+="T";if(this.hours!==0)n+=this.hours+"H";if(this.minutes!==0)n+=this.minutes+"M";if(this.seconds!==0||this.milliseconds!==0)n+=$$(this.seconds+this.milliseconds/1000,3)+"S";if(n==="P")n+="T0S";return n}toISOTime(n={}){if(!this.isValid)return null;const i=this.toMillis();if(i<0||i>=86400000)return null;return n={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...n,includeOffset:!1},mn.fromMillis(i,{zone:"UTC"}).toISOTime(n)}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Duration { values: ${JSON.stringify(this.values)} }`;else return`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){if(!this.isValid)return NaN;return wM(this.matrix,this.values)}valueOf(){return this.toMillis()}plus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n),o={};for(let c of Bc)if(Bp(i.values,c)||Bp(this.values,c))o[c]=i.get(c)+this.get(c);return wc(this,{values:o},!0)}minus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n);return this.plus(i.negate())}mapUnits(n){if(!this.isValid)return this;const i={};for(let o of Object.keys(this.values))i[o]=eT(n(this.values[o],o));return wc(this,{values:i},!0)}get(n){return this[Mn.normalizeUnit(n)]}set(n){if(!this.isValid)return this;const i={...this.values,...um(n,Mn.normalizeUnit)};return wc(this,{values:i})}reconfigure({locale:n,numberingSystem:i,conversionAccuracy:o,matrix:c}={}){const a={loc:this.loc.clone({locale:n,numberingSystem:i}),matrix:c,conversionAccuracy:o};return wc(this,a)}as(n){return this.isValid?this.shiftTo(n).get(n):NaN}normalize(){if(!this.isValid)return this;const n=this.toObject();return aT(this.matrix,n),wc(this,{values:n},!0)}rescale(){if(!this.isValid)return this;const n=l5(this.normalize().shiftToAll().toObject());return wc(this,{values:n},!0)}shiftTo(...n){if(!this.isValid)return this;if(n.length===0)return this;n=n.map((a)=>Mn.normalizeUnit(a));const i={},o={},c=this.toObject();let p;for(let a of Bc)if(n.indexOf(a)>=0){p=a;let x=0;for(let l in o)x+=this.matrix[l][a]*o[l],o[l]=0;if(yc(c[a]))x+=c[a];const m=Math.trunc(x);i[a]=m,o[a]=(x*1000-m*1000)/1000}else if(yc(c[a]))o[a]=c[a];for(let a in o)if(o[a]!==0)i[p]+=a===p?o[a]:o[a]/this.matrix[p][a];return aT(this.matrix,i),wc(this,{values:i},!0)}shiftToAll(){if(!this.isValid)return this;return this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds")}negate(){if(!this.isValid)return this;const n={};for(let i of Object.keys(this.values))n[i]=this.values[i]===0?0:-this.values[i];return wc(this,{values:n},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(n){if(!this.isValid||!n.isValid)return!1;if(!this.loc.equals(n.loc))return!1;function i(o,c){if(o===void 0||o===0)return c===void 0||c===0;return o===c}for(let o of Bc)if(!i(this.values[o],n.values[o]))return!1;return!0}}var sp="Invalid Interval";class Dn{constructor(n){this.s=n.start,this.e=n.end,this.invalid=n.invalid||null,this.isLuxonInterval=!0}static invalid(n,i=null){if(!n)throw new Hi("need to specify a reason the Interval is invalid");const o=n instanceof io?n:new io(n,i);if(In.throwOnInvalid)throw new MT(o);else return new Dn({invalid:o})}static fromDateTimes(n,i){const o=Na(n),c=Na(i),p=f5(o,c);if(p==null)return new Dn({start:o,end:c});else return p}static after(n,i){const o=Mn.fromDurationLike(i),c=Na(n);return Dn.fromDateTimes(c,c.plus(o))}static before(n,i){const o=Mn.fromDurationLike(i),c=Na(n);return Dn.fromDateTimes(c.minus(o),c)}static fromISO(n,i){const[o,c]=(n||"").split("/",2);if(o&&c){let p,a;try{p=mn.fromISO(o,i),a=p.isValid}catch(l){a=!1}let x,m;try{x=mn.fromISO(c,i),m=x.isValid}catch(l){m=!1}if(a&&m)return Dn.fromDateTimes(p,x);if(a){const l=Mn.fromISO(c,i);if(l.isValid)return Dn.after(p,l)}else if(m){const l=Mn.fromISO(o,i);if(l.isValid)return Dn.before(x,l)}}return Dn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static isInterval(n){return n&&n.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(n="milliseconds"){return this.isValid?this.toDuration(...[n]).get(n):NaN}count(n="milliseconds",i){if(!this.isValid)return NaN;const o=this.start.startOf(n,i);let c;if(i!=null&&i.useLocaleWeeks)c=this.end.reconfigure({locale:o.locale});else c=this.end;return c=c.startOf(n,i),Math.floor(c.diff(o,n).get(n))+(c.valueOf()!==this.end.valueOf())}hasSame(n){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,n):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(n){if(!this.isValid)return!1;return this.s>n}isBefore(n){if(!this.isValid)return!1;return this.e<=n}contains(n){if(!this.isValid)return!1;return this.s<=n&&this.e>n}set({start:n,end:i}={}){if(!this.isValid)return this;return Dn.fromDateTimes(n||this.s,i||this.e)}splitAt(...n){if(!this.isValid)return[];const i=n.map(Na).filter((a)=>this.contains(a)).sort((a,x)=>a.toMillis()-x.toMillis()),o=[];let{s:c}=this,p=0;while(c<this.e){const a=i[p]||this.e,x=+a>+this.e?this.e:a;o.push(Dn.fromDateTimes(c,x)),c=x,p+=1}return o}splitBy(n){const i=Mn.fromDurationLike(n);if(!this.isValid||!i.isValid||i.as("milliseconds")===0)return[];let{s:o}=this,c=1,p;const a=[];while(o<this.e){const x=this.start.plus(i.mapUnits((m)=>m*c));p=+x>+this.e?this.e:x,a.push(Dn.fromDateTimes(o,p)),o=p,c+=1}return a}divideEqually(n){if(!this.isValid)return[];return this.splitBy(this.length()/n).slice(0,n)}overlaps(n){return this.e>n.s&&this.s<n.e}abutsStart(n){if(!this.isValid)return!1;return+this.e===+n.s}abutsEnd(n){if(!this.isValid)return!1;return+n.e===+this.s}engulfs(n){if(!this.isValid)return!1;return this.s<=n.s&&this.e>=n.e}equals(n){if(!this.isValid||!n.isValid)return!1;return this.s.equals(n.s)&&this.e.equals(n.e)}intersection(n){if(!this.isValid)return this;const i=this.s>n.s?this.s:n.s,o=this.e<n.e?this.e:n.e;if(i>=o)return null;else return Dn.fromDateTimes(i,o)}union(n){if(!this.isValid)return this;const i=this.s<n.s?this.s:n.s,o=this.e>n.e?this.e:n.e;return Dn.fromDateTimes(i,o)}static merge(n){const[i,o]=n.sort((c,p)=>c.s-p.s).reduce(([c,p],a)=>{if(!p)return[c,a];else if(p.overlaps(a)||p.abutsStart(a))return[c,p.union(a)];else return[c.concat([p]),a]},[[],null]);if(o)i.push(o);return i}static xor(n){let i=null,o=0;const c=[],p=n.map((m)=>[{time:m.s,type:"s"},{time:m.e,type:"e"}]),a=Array.prototype.concat(...p),x=a.sort((m,l)=>m.time-l.time);for(let m of x)if(o+=m.type==="s"?1:-1,o===1)i=m.time;else{if(i&&+i!==+m.time)c.push(Dn.fromDateTimes(i,m.time));i=null}return Dn.merge(c)}difference(...n){return Dn.xor([this].concat(n)).map((i)=>this.intersection(i)).filter((i)=>i&&!i.isEmpty())}toString(){if(!this.isValid)return sp;return`[${this.s.toISO()} \u2013 ${this.e.toISO()})`}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;else return`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(n=zm,i={}){return this.isValid?Ri.create(this.s.loc.clone(i),n).formatInterval(this):sp}toISO(n){if(!this.isValid)return sp;return`${this.s.toISO(n)}/${this.e.toISO(n)}`}toISODate(){if(!this.isValid)return sp;return`${this.s.toISODate()}/${this.e.toISODate()}`}toISOTime(n){if(!this.isValid)return sp;return`${this.s.toISOTime(n)}/${this.e.toISOTime(n)}`}toFormat(n,{separator:i=" \u2013 "}={}){if(!this.isValid)return sp;return`${this.s.toFormat(n)}${i}${this.e.toFormat(n)}`}toDuration(n,i){if(!this.isValid)return Mn.invalid(this.invalidReason);return this.e.diff(this.s,n,i)}mapEndpoints(n){return Dn.fromDateTimes(n(this.s),n(this.e))}}class jp{static hasDST(n=In.defaultZone){const i=mn.now().setZone(n).set({month:12});return!n.isUniversal&&i.offset!==i.set({month:6}).offset}static isValidIANAZone(n){return Qo.isValidZone(n)}static normalizeZone(n){return Jc(n,In.defaultZone)}static getStartOfWeek({locale:n=null,locObj:i=null}={}){return(i||On.create(n)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:n=null,locObj:i=null}={}){return(i||On.create(n)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:n=null,locObj:i=null}={}){return(i||On.create(n)).getWeekendDays().slice()}static months(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||On.create(i,o,p)).months(n)}static monthsFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||On.create(i,o,p)).months(n,!0)}static weekdays(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||On.create(i,o,null)).weekdays(n)}static weekdaysFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||On.create(i,o,null)).weekdays(n,!0)}static meridiems({locale:n=null}={}){return On.create(n).meridiems()}static eras(n="short",{locale:i=null}={}){return On.create(i,null,"gregory").eras(n)}static features(){return{relative:ZT(),localeWeek:qT()}}}var J$={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},mT={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},w5=J$.hanidec.replace(/[\[|\]]/g,"").split(""),J5="missing Intl.DateTimeFormat.formatToParts support",A5=String.fromCharCode(160),SM=`[ ${A5}]`,JM=new RegExp(SM,"g"),R5={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}},Zf=null,qf="Invalid DateTime",$T=8640000000000000,RM={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},O5={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},H5={ordinal:1,hour:0,minute:0,second:0,millisecond:0},KM=["year","month","day","hour","minute","second","millisecond"],E5=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Q5=["year","ordinal","hour","minute","second","millisecond"];class mn{constructor(n){const i=n.zone||In.defaultZone;let o=n.invalid||(Number.isNaN(n.ts)?new io("invalid input"):null)||(!i.isValid?Mm(i):null);this.ts=pn(n.ts)?In.now():n.ts;let c=null,p=null;if(!o)if(n.old&&n.old.ts===this.ts&&n.old.zone.equals(i))[c,p]=[n.old.c,n.old.o];else{const x=i.offset(this.ts);c=Rm(this.ts,x),o=Number.isNaN(c.year)?new io("invalid input"):null,c=o?null:c,p=o?null:x}this._zone=i,this.loc=n.loc||On.create(),this.invalid=o,this.weekData=null,this.localWeekData=null,this.c=c,this.o=p,this.isLuxonDateTime=!0}static now(){return new mn({})}static local(){const[n,i]=FT(arguments),[o,c,p,a,x,m,l]=i;return JT({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static utc(){const[n,i]=FT(arguments),[o,c,p,a,x,m,l]=i;return n.zone=Ki.utcInstance,JT({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static fromJSDate(n,i={}){const o=xX(n)?n.valueOf():NaN;if(Number.isNaN(o))return mn.invalid("invalid input");const c=Jc(i.zone,In.defaultZone);if(!c.isValid)return mn.invalid(Mm(c));return new mn({ts:o,zone:c,loc:On.fromObject(i)})}static fromMillis(n,i={}){if(!yc(n))throw new Hi(`fromMillis requires a numerical input, but received a ${typeof n} with value ${n}`);else if(n<-$T||n>$T)return mn.invalid("Timestamp out of range");else return new mn({ts:n,zone:Jc(i.zone,In.defaultZone),loc:On.fromObject(i)})}static fromSeconds(n,i={}){if(!yc(n))throw new Hi("fromSeconds requires a numerical input");else return new mn({ts:n*1000,zone:Jc(i.zone,In.defaultZone),loc:On.fromObject(i)})}static fromObject(n,i={}){n=n||{};const o=Jc(i.zone,In.defaultZone);if(!o.isValid)return mn.invalid(Mm(o));const c=On.fromObject(i),p=um(n,ST),{minDaysInFirstWeek:a,startOfWeek:x}=dF(p,c),m=In.now(),l=!pn(i.specificOffset)?i.specificOffset:o.offset(m),f=!pn(p.ordinal),$=!pn(p.year),v=!pn(p.month)||!pn(p.day),S=$||v,T=p.weekYear||p.weekNumber;if((S||f)&&T)throw new Lc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(v&&f)throw new Lc("Can't mix ordinal dates with month/day");const R=T||p.weekday&&!S;let F,X,z=Rm(m,l);if(R)F=E5,X=O5,z=Gm(z,a,x);else if(f)F=Q5,X=H5,z=rf(z);else F=KM,X=RM;let Y=!1;for(let V of F){const K=p[V];if(!pn(K))Y=!0;else if(Y)p[V]=X[V];else p[V]=z[V]}const E=R?cX(p,a,x):f?pX(p):kT(p),s=E||rT(p);if(s)return mn.invalid(s);const G=R?eF(p,a,x):f?gF(p):p,[M,O]=Xm(G,l,o),U=new mn({ts:M,zone:o,o:O,loc:c});if(p.weekday&&S&&n.weekday!==U.weekday)return mn.invalid("mismatched weekday",`you can't specify both a weekday of ${p.weekday} and a date of ${U.toISO()}`);return U}static fromISO(n,i={}){const[o,c]=qX(n);return ja(o,c,i,"ISO 8601",n)}static fromRFC2822(n,i={}){const[o,c]=PX(n);return ja(o,c,i,"RFC 2822",n)}static fromHTTP(n,i={}){const[o,c]=eX(n);return ja(o,c,i,"HTTP",i)}static fromFormat(n,i,o={}){if(pn(n)||pn(i))throw new Hi("fromFormat requires an input string and a format");const{locale:c=null,numberingSystem:p=null}=o,a=On.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0}),[x,m,l,f]=u5(a,n,i);if(f)return mn.invalid(f);else return ja(x,m,o,`format ${i}`,n,l)}static fromString(n,i,o={}){return mn.fromFormat(n,i,o)}static fromSQL(n,i={}){const[o,c]=p5(n);return ja(o,c,i,"SQL",n)}static invalid(n,i=null){if(!n)throw new Hi("need to specify a reason the DateTime is invalid");const o=n instanceof io?n:new io(n,i);if(In.throwOnInvalid)throw new TT(o);else return new mn({invalid:o})}static isDateTime(n){return n&&n.isLuxonDateTime||!1}static parseFormatForOpts(n,i={}){const o=TM(n,On.fromObject(i));return!o?null:o.map((c)=>c?c.val:null).join("")}static expandFormat(n,i={}){return AM(Ri.parseFormat(n),On.fromObject(i)).map((c)=>c.val).join("")}get(n){return this[n]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Pf(this).weekYear:NaN}get weekNumber(){return this.isValid?Pf(this).weekNumber:NaN}get weekday(){return this.isValid?Pf(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?ef(this).weekday:NaN}get localWeekNumber(){return this.isValid?ef(this).weekNumber:NaN}get localWeekYear(){return this.isValid?ef(this).weekYear:NaN}get ordinal(){return this.isValid?rf(this.c).ordinal:NaN}get monthShort(){return this.isValid?jp.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?jp.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?jp.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?jp.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"short",locale:this.locale});else return null}get offsetNameLong(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"long",locale:this.locale});else return null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){if(this.isOffsetFixed)return!1;else return this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const n=86400000,i=60000,o=Hm(this.c),c=this.zone.offset(o-n),p=this.zone.offset(o+n),a=this.zone.offset(o-c*i),x=this.zone.offset(o-p*i);if(a===x)return[this];const m=o-a*i,l=o-x*i,f=Rm(m,a),$=Rm(l,x);if(f.hour===$.hour&&f.minute===$.minute&&f.second===$.second&&f.millisecond===$.millisecond)return[Nc(this,{ts:m}),Nc(this,{ts:l})];return[this]}get isInLeapYear(){return Da(this.year)}get daysInMonth(){return Ym(this.year,this.month)}get daysInYear(){return this.isValid?Np(this.year):NaN}get weeksInWeekYear(){return this.isValid?ya(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?ya(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(n={}){const{locale:i,numberingSystem:o,calendar:c}=Ri.create(this.loc.clone(n),n).resolvedOptions(this);return{locale:i,numberingSystem:o,outputCalendar:c}}toUTC(n=0,i={}){return this.setZone(Ki.instance(n),i)}toLocal(){return this.setZone(In.defaultZone)}setZone(n,{keepLocalTime:i=!1,keepCalendarTime:o=!1}={}){if(n=Jc(n,In.defaultZone),n.equals(this.zone))return this;else if(!n.isValid)return mn.invalid(Mm(n));else{let c=this.ts;if(i||o){const p=n.offset(this.ts),a=this.toObject();[c]=Xm(a,p,n)}return Nc(this,{ts:c,zone:n})}}reconfigure({locale:n,numberingSystem:i,outputCalendar:o}={}){const c=this.loc.clone({locale:n,numberingSystem:i,outputCalendar:o});return Nc(this,{loc:c})}setLocale(n){return this.reconfigure({locale:n})}set(n){if(!this.isValid)return this;const i=um(n,ST),{minDaysInFirstWeek:o,startOfWeek:c}=dF(i,this.loc),p=!pn(i.weekYear)||!pn(i.weekNumber)||!pn(i.weekday),a=!pn(i.ordinal),x=!pn(i.year),m=!pn(i.month)||!pn(i.day),l=x||m,f=i.weekYear||i.weekNumber;if((l||a)&&f)throw new Lc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(m&&a)throw new Lc("Can't mix ordinal dates with month/day");let $;if(p)$=eF({...Gm(this.c,o,c),...i},o,c);else if(!pn(i.ordinal))$=gF({...rf(this.c),...i});else if($={...this.toObject(),...i},pn(i.day))$.day=Math.min(Ym($.year,$.month),$.day);const[v,S]=Xm($,this.o,this.zone);return Nc(this,{ts:v,o:S})}plus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n);return Nc(this,vT(this,i))}minus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n).negate();return Nc(this,vT(this,i))}startOf(n,{useLocaleWeeks:i=!1}={}){if(!this.isValid)return this;const o={},c=Mn.normalizeUnit(n);switch(c){case"years":o.month=1;case"quarters":case"months":o.day=1;case"weeks":case"days":o.hour=0;case"hours":o.minute=0;case"minutes":o.second=0;case"seconds":o.millisecond=0;break}if(c==="weeks")if(i){const p=this.loc.getStartOfWeek(),{weekday:a}=this;if(a<p)o.weekNumber=this.weekNumber-1;o.weekday=p}else o.weekday=1;if(c==="quarters"){const p=Math.ceil(this.month/3);o.month=(p-1)*3+1}return this.set(o)}endOf(n,i){return this.isValid?this.plus({[n]:1}).startOf(n,i).minus(1):this}toFormat(n,i={}){return this.isValid?Ri.create(this.loc.redefaultToEN(i)).formatDateTimeFromString(this,n):qf}toLocaleString(n=zm,i={}){return this.isValid?Ri.create(this.loc.clone(i),n).formatDateTime(this):qf}toLocaleParts(n={}){return this.isValid?Ri.create(this.loc.clone(n),n).formatDateTimeParts(this):[]}toISO({format:n="extended",suppressSeconds:i=!1,suppressMilliseconds:o=!1,includeOffset:c=!0,extendedZone:p=!1}={}){if(!this.isValid)return null;const a=n==="extended";let x=gf(this,a);return x+="T",x+=wT(this,a,i,o,c,p),x}toISODate({format:n="extended"}={}){if(!this.isValid)return null;return gf(this,n==="extended")}toISOWeekDate(){return Km(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:n=!1,suppressSeconds:i=!1,includeOffset:o=!0,includePrefix:c=!1,extendedZone:p=!1,format:a="extended"}={}){if(!this.isValid)return null;return(c?"T":"")+wT(this,a==="extended",i,n,o,p)}toRFC2822(){return Km(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Km(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){if(!this.isValid)return null;return gf(this,!0)}toSQLTime({includeOffset:n=!0,includeZone:i=!1,includeOffsetSpace:o=!0}={}){let c="HH:mm:ss.SSS";if(i||n){if(o)c+=" ";if(i)c+="z";else if(n)c+="ZZ"}return Km(this,c,!0)}toSQL(n={}){if(!this.isValid)return null;return`${this.toSQLDate()} ${this.toSQLTime(n)}`}toString(){return this.isValid?this.toISO():qf}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;else return`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1000:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1000):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(n={}){if(!this.isValid)return{};const i={...this.c};if(n.includeConfig)i.outputCalendar=this.outputCalendar,i.numberingSystem=this.loc.numberingSystem,i.locale=this.loc.locale;return i}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(n,i="milliseconds",o={}){if(!this.isValid||!n.isValid)return Mn.invalid("created by diffing an invalid DateTime");const c={locale:this.locale,numberingSystem:this.numberingSystem,...o},p=mX(i).map(Mn.normalizeUnit),a=n.valueOf()>this.valueOf(),x=a?this:n,m=a?n:this,l=v5(x,m,p,c);return a?l.negate():l}diffNow(n="milliseconds",i={}){return this.diff(mn.now(),n,i)}until(n){return this.isValid?Dn.fromDateTimes(this,n):this}hasSame(n,i,o){if(!this.isValid)return!1;const c=n.valueOf(),p=this.setZone(n.zone,{keepLocalTime:!0});return p.startOf(i,o)<=c&&c<=p.endOf(i,o)}equals(n){return this.isValid&&n.isValid&&this.valueOf()===n.valueOf()&&this.zone.equals(n.zone)&&this.loc.equals(n.loc)}toRelative(n={}){if(!this.isValid)return null;const i=n.base||mn.fromObject({},{zone:this.zone}),o=n.padding?this<i?-n.padding:n.padding:0;let c=["years","months","days","hours","minutes","seconds"],p=n.unit;if(Array.isArray(n.unit))c=n.unit,p=void 0;return AT(i,this.plus(o),{...n,numeric:"always",units:c,unit:p})}toRelativeCalendar(n={}){if(!this.isValid)return null;return AT(n.base||mn.fromObject({},{zone:this.zone}),this,{...n,numeric:"auto",units:["years","months","days"],calendary:!0})}static min(...n){if(!n.every(mn.isDateTime))throw new Hi("min requires all arguments be DateTimes");return nT(n,(i)=>i.valueOf(),Math.min)}static max(...n){if(!n.every(mn.isDateTime))throw new Hi("max requires all arguments be DateTimes");return nT(n,(i)=>i.valueOf(),Math.max)}static fromFormatExplain(n,i,o={}){const{locale:c=null,numberingSystem:p=null}=o,a=On.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0});return FM(a,n,i)}static fromStringExplain(n,i,o={}){return mn.fromFormatExplain(n,i,o)}static get DATE_SHORT(){return zm}static get DATE_MED(){return KT}static get DATE_MED_WITH_WEEKDAY(){return y3}static get DATE_FULL(){return WT}static get DATE_HUGE(){return XT}static get TIME_SIMPLE(){return zT}static get TIME_WITH_SECONDS(){return GT}static get TIME_WITH_SHORT_OFFSET(){return YT}static get TIME_WITH_LONG_OFFSET(){return uT}static get TIME_24_SIMPLE(){return OT}static get TIME_24_WITH_SECONDS(){return HT}static get TIME_24_WITH_SHORT_OFFSET(){return ET}static get TIME_24_WITH_LONG_OFFSET(){return QT}static get DATETIME_SHORT(){return UT}static get DATETIME_SHORT_WITH_SECONDS(){return VT}static get DATETIME_MED(){return bT}static get DATETIME_MED_WITH_SECONDS(){return _T}static get DATETIME_MED_WITH_WEEKDAY(){return h3}static get DATETIME_FULL(){return sT}static get DATETIME_FULL_WITH_SECONDS(){return jT}static get DATETIME_HUGE(){return NT}static get DATETIME_HUGE_WITH_SECONDS(){return LT}}var V5="3.4.4";WM.DateTime=mn;WM.Duration=Mn;WM.FixedOffsetZone=Ki;WM.IANAZone=Qo;WM.Info=jp;WM.Interval=Dn;WM.InvalidZone=x$;WM.Settings=In;WM.SystemZone=ha;WM.VERSION=V5;WM.Zone=hc});var OM=I((zM)=>{Object.defineProperty(zM,"__esModule",{value:!0});zM.RE_RANGE=zM.RE_WILDCARDS=zM.PRESETS=zM.TIME_UNITS_LEN=zM.TIME_UNITS=zM.TIME_UNITS_MAP=zM.ALIASES=zM.PARSE_DEFAULTS=zM.MONTH_CONSTRAINTS=zM.CONSTRAINTS=void 0;zM.CONSTRAINTS=Object.freeze({second:[0,59],minute:[0,59],hour:[0,23],dayOfMonth:[1,31],month:[1,12],dayOfWeek:[0,7]});zM.MONTH_CONSTRAINTS=Object.freeze({1:31,2:29,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31});zM.PARSE_DEFAULTS=Object.freeze({second:"0",minute:"*",hour:"*",dayOfMonth:"*",month:"*",dayOfWeek:"*"});zM.ALIASES=Object.freeze({jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12,sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6});zM.TIME_UNITS_MAP=Object.freeze({SECOND:"second",MINUTE:"minute",HOUR:"hour",DAY_OF_MONTH:"dayOfMonth",MONTH:"month",DAY_OF_WEEK:"dayOfWeek"});zM.TIME_UNITS=Object.freeze(Object.values(zM.TIME_UNITS_MAP));zM.TIME_UNITS_LEN=zM.TIME_UNITS.length;zM.PRESETS=Object.freeze({"@yearly":"0 0 0 1 1 *","@monthly":"0 0 0 1 * *","@weekly":"0 0 0 * * 0","@daily":"0 0 0 * * *","@hourly":"0 0 * * * *","@minutely":"0 * * * * *","@secondly":"* * * * * *","@weekdays":"0 0 0 * * 1-5","@weekends":"0 0 0 * * 0,6"});zM.RE_WILDCARDS=/\*/g;zM.RE_RANGE=/^(\d+)(?:-(\d+))?(?:\/(\d+))?$/g});var F$=I((EM)=>{Object.defineProperty(EM,"__esModule",{value:!0});EM.ExclusiveParametersError=EM.CronError=void 0;class A$ extends Error{}EM.CronError=A$;class HM extends A${constructor(n,i){super(`You can't specify both ${n} and ${i}`)}}EM.ExclusiveParametersError=HM});var bM=I((UM)=>{Object.defineProperty(UM,"__esModule",{value:!0});UM.getRecordKeys=void 0;var g5=(n)=>{return Object.keys(n)};UM.getRecordKeys=g5});var Um=I((jM)=>{Object.defineProperty(jM,"__esModule",{value:!0});jM.CronTime=void 0;var Uo=XM(),xi=OM(),Wi=F$(),_M=bM();class sM{constructor(n,i,o){if(this.realDate=!1,this.second={},this.minute={},this.hour={},this.dayOfMonth={},this.month={},this.dayOfWeek={},i!=null&&o!=null)throw new Wi.ExclusiveParametersError("timeZone","utcOffset");if(i){if(!Uo.DateTime.fromObject({},{zone:i}).isValid)throw new Wi.CronError("Invalid timezone.");this.timeZone=i}if(o!=null)this.utcOffset=o;if(n instanceof Date||n instanceof Uo.DateTime)this.source=n instanceof Date?Uo.DateTime.fromJSDate(n):n,this.realDate=!0;else this.source=n,this._parse(this.source),this._verifyParse()}_getWeekDay(n){return n.weekday===7?0:n.weekday}_verifyParse(){const n=_M.getRecordKeys(this.month),i=_M.getRecordKeys(this.dayOfMonth);let o=!1,c=null;for(let p of n){const a=xi.MONTH_CONSTRAINTS[p];for(let x of i)if(x<=a)o=!0;if(!o)c=p,console.warn(`Month '${p}' is limited to '${a}' days.`)}if(!o&&c!==null){const p=xi.MONTH_CONSTRAINTS[c];for(let a of i)if(a>p){delete this.dayOfMonth[a];const x=a%p;this.dayOfMonth[x]=!0}}}sendAt(n){let i=this.realDate&&this.source instanceof Uo.DateTime?this.source:Uo.DateTime.local();if(this.timeZone)i=i.setZone(this.timeZone);if(this.utcOffset!==void 0){const o=this.utcOffset<0?"-":"+",c=Math.trunc(this.utcOffset/60),p=String(Math.abs(c)).padStart(2,"0"),a=Math.abs(this.utcOffset-c*60),x=String(a).padStart(2,"0"),m=`UTC${o}${p}:${x}`;if(i=i.setZone(m),!i.isValid)throw new Wi.CronError("ERROR: You specified an invalid UTC offset.")}if(this.realDate){if(Uo.DateTime.local()>i)throw new Wi.CronError("WARNING: Date in past. Will never be fired.");return i}if(n===void 0||isNaN(n)||n<0)return this.getNextDateFrom(i);else{const o=[];for(;n>0;n--)i=this.getNextDateFrom(i),o.push(i);return o}}getTimeout(){return Math.max(-1,this.sendAt().toMillis()-Uo.DateTime.local().toMillis())}toString(){return this.toJSON().join(" ")}toJSON(){return xi.TIME_UNITS.map((n)=>{return this._wcOrAll(n)})}getNextDateFrom(n,i){var o;if(n instanceof Date)n=Uo.DateTime.fromJSDate(n);let c=n;const p=n.toMillis();if(i)c=c.setZone(i);if(!this.realDate){if(c.millisecond>0)c=c.set({millisecond:0,second:c.second+1})}if(!c.isValid)throw new Wi.CronError("ERROR: You specified an invalid date.");const a=Uo.DateTime.now().plus({years:8});while(!0){const x=c.toMillis()-n.toMillis();if(c>a)throw new Wi.CronError(`Something went wrong. No execution date was found in the next 8 years.
36
+ Please provide the following string if you would like to help debug:
37
+ Time Zone: ${(o=i===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:'""'} - Cron String: ${this.source.toString()} - UTC offset: ${c.offset} - current Date: ${Uo.DateTime.local().toString()}`);if(!(c.month in this.month)&&Object.keys(this.month).length!==12){if(c=c.plus({months:1}),c=c.set({day:1,hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){const[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(c.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31&&!((this._getWeekDay(c)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7)){if(c=c.plus({days:1}),c=c.set({hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){const[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(this._getWeekDay(c)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7&&!((c.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31)){if(c=c.plus({days:1}),c=c.set({hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){const[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(c.hour in this.hour)&&Object.keys(this.hour).length!==24){const m=c.hour===23&&x>86400000?0:c.hour+1,l=c.minute;if(c=c.set({hour:m}),c=c.set({minute:0,second:0}),this._forwardDSTJump(m,l,c)){const[f,$]=this._findPreviousDSTJump(c);if(c=$,f)break}continue}if(!(c.minute in this.minute)&&Object.keys(this.minute).length!==60){const m=c.minute===59&&x>3600000?0:c.minute+1,l=c.hour+(m===60?1:0);if(c=c.set({minute:m}),c=c.set({second:0}),this._forwardDSTJump(l,m,c)){const[f,$]=this._findPreviousDSTJump(c);if(c=$,f)break}continue}if(!(c.second in this.second)&&Object.keys(this.second).length!==60){const m=c.second===59&&x>60000?0:c.second+1,l=c.minute+(m===60?1:0),f=c.hour+(l===60?1:0);if(c=c.set({second:m}),this._forwardDSTJump(f,l,c)){const[$,v]=this._findPreviousDSTJump(c);if(c=v,$)break}continue}if(c.toMillis()===p){const m=c.second+1,l=c.minute+(m===60?1:0),f=c.hour+(l===60?1:0);if(c=c.set({second:m}),this._forwardDSTJump(f,l,c)){const[$,v]=this._findPreviousDSTJump(c);if(c=v,$)break}continue}break}return c}_findPreviousDSTJump(n){var i;let o,c,p,a,x=n;const m=1440;let l=0;do{if(++l>m)throw new Wi.CronError(`ERROR: This DST checking related function assumes the input DateTime (${(i=n.toISO())!==null&&i!==void 0?i:n.toMillis()}) is within 24 hours of a DST jump.`);if(o=x.minute-1,c=x.hour,o<0)o+=60,c=(c+24-1)%24;x=x.minus({minute:1}),p=x.minute,a=x.hour}while(o===p&&c===a);const f=x.plus({minute:1}).set({second:0,millisecond:0}),$=f.minus({second:1});if(n.month+1 in this.month&&n.day in this.dayOfMonth&&this._getWeekDay(n)in this.dayOfWeek)return[this._checkTimeInSkippedRange($,f),f];return[!1,f]}_checkTimeInSkippedRange(n,i){const o=(n.minute+1)%60,c=(n.hour+(o===0?1:0))%24,p=i.hour-c+1,a=o===0&&i.minute===0;if(p===2&&a)return c in this.hour;else if(p===1)return c in this.hour&&this._checkTimeInSkippedRangeSingleHour(o,i.minute);else return this._checkTimeInSkippedRangeMultiHour(c,o,i.hour,i.minute)}_checkTimeInSkippedRangeSingleHour(n,i){for(let o=n;o<i;++o)if(o in this.minute)return!0;return i in this.minute&&0 in this.second}_checkTimeInSkippedRangeMultiHour(n,i,o,c){if(n>=o)throw new Wi.CronError(`ERROR: This DST checking related function assumes the forward jump starting hour (${n}) is less than the end hour (${o})`);const p=Array.from({length:60-i},(l,f)=>i+f),a=Array.from({length:c},(l,f)=>f),x=Array.from({length:60},(l,f)=>f),m=(l)=>{if(l===n)return p;else if(l===o)return a;else return x};for(let l=n;l<=o;++l){if(!(l in this.hour))continue;const f=m(l);for(let $ of f)if($ in this.minute)return!0}return o in this.hour&&c in this.minute&&0 in this.second}_forwardDSTJump(n,i,o){const{hour:c,minute:p}=o,a=n%24<c,x=i%60<p;return a||x}_wcOrAll(n){if(this._hasAll(n))return"*";const i=[];for(let o in this[n])i.push(o);return i.join(",")}_hasAll(n){const i=xi.CONSTRAINTS[n],o=i[0],c=n===xi.TIME_UNITS_MAP.DAY_OF_WEEK?i[1]-1:i[1];for(let p=o,a=c;p<a;p++)if(!(p in this[n]))return!1;return!0}_parse(n){var i;if(n=n.toLowerCase(),Object.keys(xi.PRESETS).includes(n))n=xi.PRESETS[n];n=n.replace(/[a-z]{1,3}/gi,(p)=>{if(Object.keys(xi.ALIASES).includes(p))return xi.ALIASES[p].toString();throw new Wi.CronError(`Unknown alias: ${p}`)});const o=n.trim().split(/\s+/);if(o.length<xi.TIME_UNITS_LEN-1)throw new Wi.CronError("Too few fields");if(o.length>xi.TIME_UNITS_LEN)throw new Wi.CronError("Too many fields");const c=o.length;for(let p of xi.TIME_UNITS){const a=xi.TIME_UNITS.indexOf(p),x=(i=o[a-(xi.TIME_UNITS_LEN-c)])!==null&&i!==void 0?i:xi.PARSE_DEFAULTS[p];this._parseField(x,p)}}_parseField(n,i){const o=this[i];let c;const p=xi.CONSTRAINTS[i],a=p[0],x=p[1];n.split(",").forEach((f)=>{const $=f.indexOf("*");if($!==-1&&$!==0)throw new Wi.CronError(`Field (${f}) has an invalid wildcard expression`)}),n=n.replace(xi.RE_WILDCARDS,`${a}-${x}`);const l=n.split(",");for(let f of l){const $=[...f.matchAll(xi.RE_RANGE)][0];if(($===null||$===void 0?void 0:$[1])!==void 0){const[,v,S,T]=$;let R=parseInt(v,10),F=S!==void 0?parseInt(S,10):void 0;const X=T!==void 0,z=parseInt(T!==null&&T!==void 0?T:"1",10);if(z===0)throw new Wi.CronError(`Field (${i}) has a step of zero`);if(F!==void 0&&R>F)throw new Wi.CronError(`Field (${i}) has an invalid range`);if(R<a||F!==void 0&&F>x||F===void 0&&R>x)throw new Wi.CronError(`Field value (${n}) is out of range`);if(R=Math.min(Math.max(a,~~Math.abs(R)),x),F!==void 0)F=Math.min(x,~~Math.abs(F));else F=X?x:R;c=R;do o[c]=!0,c+=z;while(c<=F);if(i==="dayOfWeek"){if(!o[0]&&!!o[7])o[0]=o[7];delete o[7]}}else throw new Wi.CronError(`Field (${i}) cannot be parsed`)}}}jM.CronTime=sM});var hM=I((BM)=>{Object.defineProperty(BM,"__esModule",{value:!0});BM.CronJob=void 0;var LM=import.meta.require("child_process"),T$=F$(),Vm=Um();class Ca{constructor(n,i,o,c,p,a,x,m,l){if(this.running=!1,this.unrefTimeout=!1,this.lastExecution=null,this.runOnce=!1,this._callbacks=[],this.context=a!==null&&a!==void 0?a:this,p!=null&&m!=null)throw new T$.ExclusiveParametersError("timeZone","utcOffset");if(p!=null)this.cronTime=new Vm.CronTime(n,p,null);else if(m!=null)this.cronTime=new Vm.CronTime(n,null,m);else this.cronTime=new Vm.CronTime(n,p,m);if(l!=null)this.unrefTimeout=l;if(o!=null)this.onComplete=this._fnWrap(o);if(this.cronTime.realDate)this.runOnce=!0;if(this.addCallback(this._fnWrap(i)),x)this.lastExecution=new Date,this.fireOnTick();if(c)this.start()}static from(n){if(n.timeZone!=null&&n.utcOffset!=null)throw new T$.ExclusiveParametersError("timeZone","utcOffset");if(n.timeZone!=null)return new Ca(n.cronTime,n.onTick,n.onComplete,n.start,n.timeZone,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout);else if(n.utcOffset!=null)return new Ca(n.cronTime,n.onTick,n.onComplete,n.start,null,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout);else return new Ca(n.cronTime,n.onTick,n.onComplete,n.start,n.timeZone,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout)}_fnWrap(n){var i,o;switch(typeof n){case"function":return n;case"string":{const[c,...p]=n.split(" ");return LM.spawn.bind(void 0,c!==null&&c!==void 0?c:n,p,{})}case"object":return LM.spawn.bind(void 0,n.command,(i=n.args)!==null&&i!==void 0?i:[],(o=n.options)!==null&&o!==void 0?o:{})}}addCallback(n){if(typeof n==="function")this._callbacks.push(n)}setTime(n){if(!(n instanceof Vm.CronTime))throw new T$.CronError("time must be an instance of CronTime.");const i=this.running;if(this.stop(),this.cronTime=n,n.realDate)this.runOnce=!0;if(i)this.start()}nextDate(){return this.cronTime.sendAt()}fireOnTick(){for(let n of this._callbacks)n.call(this.context,this.onComplete)}nextDates(n){return this.cronTime.sendAt(n!==null&&n!==void 0?n:0)}start(){if(this.running)return;const n=2147483647;let i=this.cronTime.getTimeout(),o=0,c;const p=(x)=>{if(c=Date.now(),this._timeout=setTimeout(a,x),this.unrefTimeout&&typeof this._timeout.unref==="function")this._timeout.unref()},a=()=>{const x=c+i-Date.now();if(x>0){let m=this.cronTime.getTimeout();if(m>x)m=x;o+=m}if(o){if(o>n)o-=n,i=n;else i=o,o=0;p(i)}else{if(this.lastExecution=new Date,this.running=!1,!this.runOnce)this.start();this.fireOnTick()}};if(i>=0){if(this.running=!0,i>n)o=i-n,i=n;p(i)}else this.stop()}lastDate(){return this.lastExecution}stop(){if(this._timeout)clearTimeout(this._timeout);if(this.running=!1,typeof this.onComplete==="function")this.onComplete.call(this.context)}}BM.CronJob=Ca});var tM=I((bm)=>{Object.defineProperty(bm,"__esModule",{value:!0});bm.timeout=bm.sendAt=bm.CronTime=bm.CronJob=void 0;var DM=Um(),d5=hM();Object.defineProperty(bm,"CronJob",{enumerable:!0,get:function(){return d5.CronJob}});var nz=Um();Object.defineProperty(bm,"CronTime",{enumerable:!0,get:function(){return nz.CronTime}});var iz=(n)=>new DM.CronTime(n).sendAt();bm.sendAt=iz;var oz=(n)=>new DM.CronTime(n).getTimeout();bm.timeout=oz});import{createHash as VR}from"crypto";import*as _R from"http";function Pc(n=Math.random){return n().toString(36).slice(2)}class ep extends Promise{fate;resolve;reject;done=!1;constructor(n){let i,o;super((c,p)=>{i=c,o=p});this.resolve=i,this.reject=o,this.use(n instanceof Promise?n:new Promise(n))}pass(n,i){if(n===this.fate)this.resolve(i),this.done=!0}fail(n,i){if(n===this.fate)this.reject(i),this.done=!0}use(n){if(n instanceof Promise){const i=n;this.fate=i,i.then((o)=>{this.pass(i,o)},(o)=>{this.fail(i,o)})}else this.resolve(n),this.fate=void 0}}function Sv(n){return Object.entries(n)}var Jv=(n,i,o=on.STORE)=>{return gp(o,{key:`${n.key}:JSON`,get:({get:c})=>i.toJson(c(n)),set:({set:c},p)=>{c(n,i.fromJson(p))}})};function b(n){while(n.child!==null)n=n.child;return n}function Av(n){while(n.parent!==null)n=n.parent;return n}class an{Subscriber;subscribers=new Map;subscribe(n,i){return this.subscribers.set(n,i),()=>{this.unsubscribe(n)}}unsubscribe(n){this.subscribers.delete(n)}next(n){const i=this.subscribers.values();for(let o of i)o(n)}}class nl extends an{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function Co(n,i,o){const c={key:i.key,type:"atom_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","atom_family",i.key,`Overwriting an existing ${mo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),T=i.default,R={key:v,default:T instanceof Function?T(l):T};if(i.effects)R.effects=i.effects(l);const F=ko(S,R,$);return a.next({type:"state_creation",token:F}),F},c,{subject:a,install:(l)=>Co(l,i),internalRoles:o});return n.families.set(i.key,m),n.defaults.set(i.key,i.default),c}function Fv(n,i){if("mutable"in i)return dp(n,i);return Co(n,i)}function ro(n,i,o){const c={key:i.key,type:"readonly_selector_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","readonly_selector_family",i.key,`Overwriting an existing ${mo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),T=na(S,{key:v,get:i.get(l)},$);return a.next({type:"state_creation",token:T}),T},c,{internalRoles:o,subject:a,install:(l)=>ro(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>Fn(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>en(n,$)})}});return n.families.set(i.key,m),c}function il(n,i){if("set"in i)return ia(n,i);return ro(n,i)}function ec(n,i){const o=e(i),c=`${n.key}(${o})`,p=V4[n.type],a={key:c,type:p};if(p==="molecule")Object.assign(a,{key:i,family:n});else Object.assign(a,{family:{key:n.key,subKey:o}});return Object.assign(a,{counterfeit:!0}),a}var V4={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function ki(n){const i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}function Zo(n){return Tv(on.STORE,n)}function Mc(n){return Fv(on.STORE,n)}var ol=(n)=>(i,o,c,p,...a)=>{console[n](`${i} ${o} "${c}" ${p}`,...a)},b4={error:ol("error"),info:ol("info"),warn:ol("warn")};class oa{n;i;o;constructor(n,i,o=b4){this.logLevel=n;this.filter=i;this.logger=o}error=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!==null)this.logger.error(...n)};info=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel==="info")this.logger.info(...n)};warn=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...n)}}function px(n){return il(on.STORE,n)}function Rc(n){return cl(n,on.STORE)}class Ni{a;b;cardinality;relations=new Map;contents=new Map;isContent;makeContentKey=(n,i)=>`${n}:${i}`;warn;getRelatedKeys(n){return this.relations.get(n)}addRelation(n,i){let o=this.relations.get(n),c=this.relations.get(i);if(o)o.add(i);else o=new Set([i]),this.relations.set(n,o);if(c)c.add(n);else c=new Set([n]),this.relations.set(i,c)}deleteRelation(n,i){const o=this.relations.get(n);if(o){if(o.delete(i),o.size===0)this.relations.delete(n);const c=this.relations.get(i);if(c){if(c.delete(n),c.size===0)this.relations.delete(i)}}}replaceRelationsUnsafely(n,i){this.relations.set(n,new Set(i));for(let o of i){const c=new Set([n]);this.relations.set(o,c)}}replaceRelationsSafely(n,i){const o=this.relations.get(n);if(o)for(let c of o){const p=this.relations.get(c);if(p){if(p.size===1)this.relations.delete(c);else p.delete(n);this.contents.delete(this.makeContentKey(n,c))}}this.relations.set(n,new Set(i));for(let c of i){let p=this.relations.get(c);if(p)p.add(n);else p=new Set([n]),this.relations.set(c,p)}}getContentInternal(n){return this.contents.get(n)}setContent(n,i){this.contents.set(n,i)}deleteContent(n){this.contents.delete(n)}constructor(n,i){if(this.a=n.between[0],this.b=n.between[1],this.cardinality=n.cardinality,!i?.externalStore)this.relations=new Map(n.relations?.map(([o,c])=>[o,new Set(c)])),this.contents=new Map(n.contents);if(this.isContent=i?.isContent??null,i?.makeContentKey)this.makeContentKey=i.makeContentKey;if(i?.externalStore){const o=i.externalStore;if(this.has=(c,p)=>o.has(c,p),this.addRelation=(c,p)=>{o.addRelation(c,p)},this.deleteRelation=(c,p)=>{o.deleteRelation(c,p)},this.replaceRelationsSafely=(c,p)=>{o.replaceRelationsSafely(c,p)},this.replaceRelationsUnsafely=(c,p)=>{o.replaceRelationsUnsafely(c,p)},this.getRelatedKeys=(c)=>o.getRelatedKeys(c),o.getContent)this.getContentInternal=(c)=>{return o.getContent(c)},this.setContent=(c,p)=>{o.setContent(c,p)},this.deleteContent=(c)=>{o.deleteContent(c)};for(let[c,p]of n.relations??[])for(let a of p)this.addRelation(c,a);for(let[c,p]of n.contents??[])this.setContent(c,p)}if(i?.warn)this.warn=i.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([n,i])=>[n,[...i]]),contents:[...this.contents.entries()]}}set(n,...i){const o=typeof i[0]==="string"?i[0]:n[this.b],c=i[1]??typeof i[0]==="string"?void 0:i[0];switch(n=typeof n==="string"?n:n[this.a],this.cardinality){case"1:1":{const p=this.getRelatedKey(n);if(p&&p!==o)this.delete(p,n)}case"1:n":{const p=this.getRelatedKey(o);if(p&&p!==n)this.delete(p,o)}}if(c){const p=this.makeContentKey(n,o);this.setContent(p,c)}return this.addRelation(n,o),this}delete(n,i){i=typeof i==="string"?i:n[this.b];const o=typeof n==="string"?n:n[this.a];if(o===void 0&&typeof i==="string"){const c=this.getRelatedKeys(i);if(c)for(let p of c)this.delete(p,i)}if(typeof o==="string"&&i===void 0){const c=this.getRelatedKeys(o);if(c)for(let p of c)this.delete(o,p)}if(typeof o==="string"&&typeof i==="string"){this.deleteRelation(o,i);const c=this.makeContentKey(o,i);this.deleteContent(c)}return this}getRelatedKey(n){const i=this.getRelatedKeys(n);if(i){if(i.size>1)this.warn?.(`${i.size} related keys were found for key "${n}": (${[...i].map((o)=>`"${o}"`).join(", ")}). Only one related key was expected.`);for(let o of i)return o}}replaceRelations(n,i,o){const c=!Array.isArray(i),p=c?Object.keys(i):i;if(o?.reckless)this.replaceRelationsUnsafely(n,p);else this.replaceRelationsSafely(n,p);if(c)for(let a of p){const x=this.makeContentKey(n,a),m=i[a];this.setContent(x,m)}return this}getContent(n,i){const o=this.makeContentKey(n,i);return this.getContentInternal(o)}getRelationEntries(n){const i=n[this.a],o=n[this.b];if(i!==void 0&&o===void 0){const c=this.getRelatedKeys(i);if(c)return[...c].map((p)=>{return[p,this.getContent(i,p)??null]})}if(i===void 0&&o!==void 0){const c=this.getRelatedKeys(o);if(c)return[...c].map((p)=>{return[p,this.getContent(p,o)??null]})}return[]}has(n,i){if(i)return this.getRelatedKeys(n)?.has(i)??!1;return this.relations.has(n)}}function kn(n){return"epoch"in n.transactionMeta}function An(n){return"phase"in n.transactionMeta}var Mv=(n)=>{const i=b(n);if(!An(i)){n.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}n.logger.info("\uD83E\uDE82","transaction",i.transactionMeta.update.key,"Aborting transaction"),i.parent.child=null};function mo(n){return n.type.split("_").map(_4).join(" ")}var _4=(n)=>n[0].toUpperCase()+n.slice(1);class Ui extends Error{constructor(...n){const i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${mo(i)} ${e(i.key)} not found in store "${o.config.name}".`);else{const c=n[1];super(`${mo(i)} "${i.key}" member ${e(c)} not found in store "${o.config.name}".`)}}}function qo(n,i,o){return(...c)=>{const p=d(n,o);if(p)return p.run(c,i);throw new Ui(n,o)}}var ax=(n)=>(i)=>n instanceof Function?n(i):n;var Po=(n,i)=>{if(i.valueMap.has(n.key))return i.logger.info("\uD83D\uDCD6",n.type,n.key,"reading cached value"),Rv(n,i);if(n.type==="selector"||n.type==="readonly_selector")return i.logger.info("\uD83E\uDDEE",n.type,n.key,"computing value"),n.get();const o=n.default instanceof Function?n.default():n.default;return i.logger.info("\uD83D\uDC81","atom",n.key,"could not find cached value; using default",o),n.default instanceof Function?n.default():n.default};var Kv=(n,i)=>{if(n.operation.open){const o=performance.now();return n.logger.info("\u2757",i.type,i.key,`deferring setState at T-${o} until setState for "${n.operation.token.key}" is done`),o}n.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:i},n.logger.info("\u2B55",i.type,i.key,`operation start in store "${n.config.name}"${!An(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},Wv=(n)=>{if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)},Xv=(n,i)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",i,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(i)},gc=(n,i)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",i,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(i)};var zv=(n,i,o)=>{switch(n.type){case"mutable_atom":o.logger.info("\uD83D\uDCE2",n.type,n.key,"is now (",i.newValue,") subscribers:",n.subject.subscribers);break;default:o.logger.info("\uD83D\uDCE2",n.type,n.key,"went (",i.oldValue,"->",i.newValue,") subscribers:",n.subject.subscribers)}n.subject.next(i)};var pl=(n,i)=>{const o=b(i),c=o.selectorAtoms.getRelatedKeys(n.key);if(o.logger.info("\uD83E\uDDF9",n.type,n.key,c?`evicting ${c.size} states downstream:`:"no downstream states",c??"to evict"),c){if(o.operation.open)o.logger.info("\uD83E\uDDF9",n.type,n.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let p of c){if(Xv(o,p))continue;Gv(p,o),gc(o,p)}}};function s4(n,i){if(uv(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var Yv=(n,i,o)=>{const{key:c}=n,p=b(o);if(!An(p)||p.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",c,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!s4(c,i))return;const x={type:"atom_update",key:c,...i};if(n.family)x.family=n.family;p.transactionMeta.update.updates.push(x),o.logger.info("\uD83D\uDCC1","atom",c,"stowed (",i.oldValue,"->",i.newValue,")")};var Ov=(n,i,o)=>{const c=Po(n,o);let p=c;if(n.type==="mutable_atom"&&An(o)){const{parent:x}=o;p=ca(n,x,o)}if(p=ax(i)(p),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",p),p=ri(n.key,p,n.subject,o),Hv(n.key,o))Ev(n.key,o);gc(o,n.key),pl(n,o);const a={oldValue:c,newValue:p};if(kn(o))zv(n,a,o);else if(o.parent){if(o.on.transactionApplying.state===null)Yv(n,a,o);else if(n.key.startsWith("*")){const x=n.key.slice(1),m=o.atoms.get(x);let l=o.valueMap.get(x);if(m.type==="mutable_atom"&&An(o)){const{parent:$}=o;l=ca(m,$,o)}if(l.do(a.newValue)===null)pl(m,o)}}};var xx=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":Ov(n,i,o);break;case"selector":n.set(i);break}};function mx(n,i){if(i.family){const o=n.families.get(i.family.key);if(o)return o}}function zn(n,...i){let o,c,p,a;if(i.length===2){if(o=i[0],a=i[1],c=mx(n,o)??null,c)p=o.family?rn(o.family.subKey):null,o=Fn(n,c,p)}else c=i[0],p=i[1],a=i[2],o=Fn(n,c,p);if("counterfeit"in o){const l=n.disposalTraces.buffer.find((f)=>f?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be set because it was not found in the store "${n.config.name}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found.");return}const x=Kv(n,o);if(x){const l=n.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${x}`,()=>{l(),n.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${x}`),zn(n,o,a)});return}const m=d(o,n);xx(m,a,n),Wv(n)}function lx(n,i,o){const{key:c,newValue:p,oldValue:a}=i,x=n==="newValue"?p:a,m={key:c,type:"atom"};if(i.family)Object.assign(m,{family:i.family});zn(o,m,x)}function al(n,i,o){const c=e(o);try{const p=[];let a;if(i==="root")p.push(n.molecules.get('"root"')),a="all";else if(i[0][0]===Qv){a="any";const $=e(i),v=n.molecules.get($);if(!v)throw new Error(`Molecule ${$} not found in store "${n.config.name}"`);p.push(v)}else if(o[0][0]===Qv){a="all";for(let v of i){const S=e(v),T=n.molecules.get(S);if(!T)throw new Error(`Molecule ${S} not found in store "${n.config.name}"`);p.push(T)}}else{a="any";const v=e(i),S=n.molecules.get(v);if(!S)throw new Error(`Molecule ${v} not found in store "${n.config.name}"`);p.push(S)}const x=new dc(p,o);x._dependsOn=a,n.molecules.set(c,x);for(let $ of p)$.below.set(x.stringKey,x);const m={type:"molecule_creation",subType:"modern",key:x.key,provenance:i},l=b(n);if(An(l)&&l.transactionMeta.phase==="building")l.transactionMeta.update.updates.push(m);else l.on.moleculeCreationStart.next(m)}catch(p){if(p instanceof Error)n.logger.error("\u274C","molecule",c,"allocation failed:",p.message)}return o}function pa(n,i){const o=e(i),c=n.molecules.get(o);if(!c)throw new Error(`Molecule ${o} not found in store "${n.config.name}"`);for(let f of c.joins.values())f.relations.delete(c.key),f.molecules.delete(c.stringKey);let p;if(c.above.size===1)p=c.above.values().next().value.key;else p=[...c.above.values()].map(({key:f})=>f);const a=[];for(let f of c.tokens.values()){const $=f.family;a.push([$.key,n.valueMap.get(f.key)])}for(let f of c.tokens.values())li(n,f);for(let f of c.below.values())if(f.dependsOn==="all")pa(n,f.key);else if(f.above.delete(c.stringKey),f.above.size===0)pa(n,f.key);c.below.clear();const x={type:"molecule_disposal",subType:"modern",key:c.key,values:a,provenance:p},m=b(n);if(An(m)&&m.transactionMeta.phase==="building")m.transactionMeta.update.updates.push(x);else m.on.moleculeDisposal.next(x);m.molecules.delete(c.stringKey);for(let f of c.above.values())f.below.delete(c.stringKey)}var Z9=Symbol("provenance"),Qv="T$";function Uv(n,i){const o=new an,c={type:"molecule_family",key:i.key,dependsOn:i.dependsOn??"all"},p={...c,subject:o,new:i.new};return n.moleculeFamilies.set(i.key,p),c}function lo(n,i,o){const c=bo(o,i,n.key);n.tokens.set(c.key,c);const p=An(o)&&o.transactionMeta.phase==="building",a=o.moleculeInProgress===n.key;if(!p&&!a)n.subject.next({type:"state_creation",token:c});return c}function fx(n){return{store:n}}function Kn(n,...i){let o,c,p;if(i.length===1){if(o=i[0],o.type!=="molecule"){if(c=mx(n,o)??null,c)p=o.family?rn(o.family.subKey):null,o=Fn(n,c,p)}}else{c=i[0],p=i[1];let a;if(c.type==="molecule_family")a=Nn(n,c,p)??ec(c,p);else a=Fn(n,c,p);o=a}if("counterfeit"in o&&"family"in o){c=o.type==="molecule"?d(o.family,n):n.families.get(o.family.key);const a=o.type==="molecule"?o.key:o.family.subKey,x=n.disposalTraces.buffer.find((m)=>m?.key===o.key);switch(n.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${n.config.name}".`,x?`This state was previously disposed:\n${x.trace}`:"No previous disposal trace was found."),c.type){case"atom_family":case"mutable_atom_family":return n.defaults.get(c.key);case"selector_family":case"readonly_selector_family":{if(n.defaults.has(c.key))return n.defaults.get(o.family.key);const m=d(c,n).default(a);return n.defaults.set(c.key,m),m}case"molecule_family":throw new Ui(c,a,n)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return Po(d(o,n),n);case"molecule":return d(o,n).instance}}class dc{i;type="molecule";stringKey;family;_dependsOn;get dependsOn(){if(this.family)return this.family.dependsOn;return this._dependsOn}subject=new an;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(n,i,o){this.key=i;if(this.stringKey=e(i),o)this.family=o,this._dependsOn=o.dependsOn;if(n)for(let c of n)this.above.set(c.stringKey,c)}}function Vv(n){return n[0].toUpperCase()+n.slice(1)}function _o(n,i,o,c,...p){const a=Av(n),x=b(n),m=e(c);x.moleculeInProgress=m;const l=Array.isArray(i)?i:[i],f=l.map((X)=>{if(X instanceof dc)return X;const z=e(X.key),Y=n.molecules.get(z);if(!Y)throw new Error(`Molecule ${z} not found in store "${n.config.name}"`);return Y}),$=new dc(f,c,o);x.molecules.set(m,$);for(let X of f)X.below.set($.stringKey,$);const v={get:(...X)=>Kn(b(a),...X),set:(...X)=>{zn(b(a),...X)},seek:(X,z)=>Nn(b(a),X,z),json:(X)=>en(b(a),X),run:(X,z=Pc())=>qo(X,z,b(n)),make:(X,z,Y,...E)=>_o(b(a),X,z,Y,...E),dispose:(X)=>{li(b(a),X)},env:()=>fx(b(a)),bond:(X,z)=>{if(X.type==="join"){const{as:Y}=z,E=aa(X,a);E.molecules.set(m,$),$.joins.set(X.key,E);const s=S.subject.subscribe(`join:${X.key}-${m}`,(K)=>{if(K.type==="molecule_disposal"){if(e(K.token.key)===m)s(),E.molecules.delete(m)}});if(Y===null)return;const G=X.a===Y?X.b:X.a,M=bv(X,c),O=M[`${G}KeysOf${Vv(Y)}`],U=M[`${G}EntriesOf${Vv(Y)}`];let V={relatedKeys:O};if(U)V=Object.assign(V,{relatedEntries:U});return V}return lo($,d(X,a),b(a))},claim:(X,z)=>{const{exclusive:Y}=z,E=b(n).molecules.get(e(X.key));if(E)if(Y){for(let s of E.above.values())s.below.delete(E.stringKey);E.above.clear(),E.above.set($.stringKey,$),$.below.set(E.stringKey,E)}else E.above.set($.stringKey,$),$.below.set(E.stringKey,E)},spawn:(X,z,...Y)=>_o(b(n),[$],d(X,n),z,...Y)},S=d(o,n),T=S.new;$.instance=new T(v,c,...p);const R={type:"molecule",key:c,family:o},F={type:"molecule_creation",subType:"classic",token:R,family:o,context:l,params:p};if(kn(x))S.subject.next(F);else if(An(x)&&x.on.transactionApplying.state===null)x.transactionMeta.update.updates.push(F);return x.moleculeInProgress=null,R}function xl(n,i,o){switch(i){case"newValue":{_v(n,o);break}case"oldValue":{li(o,n.token);break}}}function ml(n,i,o){switch(i){case"newValue":{li(o,n.token);break}case"oldValue":{_v(n,o),o.valueMap.set(n.token.key,n.value);break}}}function _v(n,i){const{family:o}=n.token;if(o){const c=i.families.get(o.key);if(c)Fn(i,c,rn(o.subKey))}}function ll(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":_o(o,n.context,n.family,n.token.key,...n.params);break;case"modern":al(o,n.provenance,n.key);break}break;case"oldValue":switch(n.subType){case"classic":li(o,n.token);break;case"modern":pa(o,n.key);break}break}}function fl(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":li(o,n.token);break;case"modern":pa(o,n.key);break}break;case"oldValue":switch(n.subType){case"classic":{const c=_o(o,n.context,n.family,n.token.key);for(let[p,a]of n.values){const x=`${p}(${e(c.key)})`,m=d(c,o),l=m.tokens.has(x),f=o.families.get(p);if(f&&!l)lo(m,f,o);o.valueMap.set(x,a)}}break;case"modern":{al(o,n.provenance,n.key);for(let[c,p]of n.values){const a=o.families.get(c);if(a){Fn(o,a,n.key);const x=`${c}(${e(n.key)})`;o.valueMap.set(x,p)}}}}break}}function $x(n,i,o){const c=n==="newValue"?i.updates:[...i.updates].reverse();for(let p of c)switch(p.type){case"atom_update":case"selector_update":lx(n,p,o);break;case"state_creation":xl(p,n,o);break;case"state_disposal":ml(p,n,o);break;case"molecule_creation":ll(p,n,o);break;case"molecule_disposal":fl(p,n,o);break;case"transaction_update":$x(n,p,o);break}}function sv(n,i,o){if(kn(o)&&n)o.transactionMeta.epoch.set(n,i)}function jv(n,i,o){if(!kn(o))return;const p=o.transactionMeta.actionContinuities.getRelatedKey(n);if(p!==void 0)o.transactionMeta.epoch.set(p,i)}var Nv=(n,i)=>{const o=b(i),{parent:c}=o;if(c===null||!An(o)||o.transactionMeta?.phase!=="building"){i.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}o.transactionMeta.phase="applying",o.transactionMeta.update.output=n,c.child=null,c.on.transactionApplying.next(o.transactionMeta);const{updates:p}=o.transactionMeta.update;if(i.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${p.length} updates:`,p),$x("newValue",o.transactionMeta.update,c),kn(c))jv(o.transactionMeta.update.key,o.transactionMeta.update.epoch,c),d({key:o.transactionMeta.update.key,type:"transaction"},i)?.subject.next(o.transactionMeta.update),i.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(An(c))c.transactionMeta.update.updates.push(o.transactionMeta.update);c.on.transactionApplying.next(null)};function Lv(n,i,o){if(!kn(o))return;const{epoch:p,actionContinuities:a}=o.transactionMeta;if(a.set(n,i),!p.has(n))p.set(n,-1)}class Zi extends Map{n;deleted=new Set;constructor(n){super();this.source=n}get(n){if(super.has(n))return super.get(n);if(!this.deleted.has(n)&&this.source.has(n))return this.source.get(n);return}set(n,i){return this.deleted.delete(n),super.set(n,i)}hasOwn(n){return super.has(n)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){return this.deleted.add(n),super.delete(n)}}var Bv=(n,i,o,c)=>{const p=b(o),a={parent:p,child:null,on:p.on,loggers:p.loggers,logger:p.logger,config:p.config,atoms:new Zi(p.atoms),atomsThatAreDefault:new Set(p.atomsThatAreDefault),families:new Zi(p.families),operation:{open:!1},readonlySelectors:new Zi(p.readonlySelectors),timelines:new Zi(p.timelines),timelineTopics:new Ni(p.timelineTopics.toJSON()),trackers:new Map,transactions:new Zi(p.transactions),selectorAtoms:new Ni(p.selectorAtoms.toJSON()),selectorGraph:new Ni(p.selectorGraph.toJSON(),{makeContentKey:(...f)=>f.sort().join(":")}),selectors:new Zi(p.selectors),valueMap:new Zi(p.valueMap),defaults:p.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new Zi(p.molecules),moleculeFamilies:new Zi(p.moleculeFamilies),moleculeInProgress:p.moleculeInProgress,miscResources:new Zi(p.miscResources)},x=yv(n,o),m={phase:"building",update:{type:"transaction_update",key:n,id:c,epoch:x===void 0?Number.NaN:x+1,updates:[],params:i,output:void 0},toolkit:{get:(...f)=>Kn(l,...f),set:(...f)=>{zn(l,...f)},run:(f,$=Pc())=>qo(f,$,l),find:(f,$)=>Fn(l,f,$),seek:(f,$)=>Nn(l,f,$),json:(f)=>en(l,f),make:(f,$,v,...S)=>_o(l,f,$,v,...S),dispose:(...f)=>{li(l,...f)},env:()=>fx(l)}},l=Object.assign(a,{transactionMeta:m});return p.child=l,o.logger.info("\uD83D\uDEEB","transaction",n,"Building transaction with params:",i),l};function cl(n,i){const o={key:n.key,type:"transaction",run:(a,x)=>{const m=Bv(n.key,a,i,x);try{const l=b(i),{toolkit:f}=m.transactionMeta,$=n.do(f,...a);return Nv($,l),$}catch(l){throw Mv(c),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",l),l}},install:(a)=>cl(n,a),subject:new an},c=b(i);c.transactions.set(o.key,o);const p=ki(o);return i.on.transactionCreation.next(p),p}function yv(n,i){const o=kn(i),c=o?i.transactionMeta.actionContinuities.getRelatedKey(n):void 0;return o&&c!==void 0?i.transactionMeta.epoch.get(c):void 0}class vx{_buffer;_index=0;constructor(n){let i;if(typeof n==="number")i=n;else i=n.length;this._buffer=Array.from({length:i})}get buffer(){return this._buffer}get index(){return this._index}add(n){this._buffer[this._index]=n,this._index=(this._index+1)%this._buffer.length}copy(){const n=new vx([...this._buffer]);return n._index=this._index,n}}class hv{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new Ni({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new Ni({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new Ni({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new Ni({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new vx(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new an,atomDisposal:new an,selectorCreation:new an,selectorDisposal:new an,timelineCreation:new an,transactionCreation:new an,transactionApplying:new nl(null),operationClose:new an,moleculeCreationStart:new an,moleculeCreationDone:new an,moleculeDisposal:new an};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new oa("warn",(n,i,o)=>!o.includes("\uD83D\uDD0D"))];logger={error:(...n)=>{for(let i of this.loggers)i.error(...n)},info:(...n)=>{for(let i of this.loggers)i.info(...n)},warn:(...n)=>{for(let i of this.loggers)i.warn(...n)}};constructor(n,i=null){if(this.config={...i?.config,...n},i!==null){if(this.valueMap=new Map(i?.valueMap),this.operation={...i?.operation},kn(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new Ni(i?.transactionMeta.actionContinuities.toJSON())};for(let[,c]of i.families){if(c.internalRoles?.includes("mutable")||c.internalRoles?.includes("join"))continue;c.install(this)}const o=new Set;for(let[,c]of i.atoms){if(o.has(c.key))continue;if(c.install(this),c.type==="mutable_atom"){const p=en(i,c),a=so(c);o.add(p.key),o.add(a.key)}}for(let[,c]of i.readonlySelectors)c.install(this);for(let[,c]of i.selectors){if(o.has(c.key))continue;c.install(this)}for(let[,c]of i.transactions)c.install(this);for(let[,c]of i.timelines)c.install(this)}}}var on={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new hv({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function d(n,i){let o,c=i;while(c!==null){switch(n.type){case"atom":case"mutable_atom":o=c.atoms.get(n.key);break;case"selector":o=c.selectors.get(n.key);break;case"readonly_selector":o=c.readonlySelectors.get(n.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=c.families.get(n.key);break;case"timeline":o=c.timelines.get(n.key);break;case"transaction":o=c.transactions.get(n.key);break;case"molecule":o=c.molecules.get(e(n.key));break;case"molecule_family":o=c.moleculeFamilies.get(n.key);break}if(o)return o;c=c.child}throw new Ui(n,i)}function wx(n,i){let o;o=d(n,i);const{family:c}=n;for(let x of o.joins.values())x.relations.delete(o.key),x.molecules.delete(o.stringKey);const p=[];for(let x of o.above.values())p.push(ki(x));const a=[];for(let x of o.tokens.values()){const m=x.family;a.push([m.key,i.valueMap.get(x.key)])}if(c){const x=d(c,i),m={type:"molecule_disposal",subType:"classic",token:n,family:c,context:p,values:a};if(n.family)m.family=n.family;for(let f of o.tokens.values())li(i,f);for(let f of o.below.values())if(f.dependsOn==="all")wx(f,i);else if(f.above.delete(o.stringKey),f.above.size===0)wx(f,i);if(o.below.clear(),An(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.updates.push(m);else x.subject.next(m);i.molecules.delete(o.stringKey)}for(let x of o.above.values())x.below.delete(o.stringKey)}function bo(n,i,o){const c=n.families.get(i.key);if(c===void 0)throw new Ui(i,n);const p=c(o),a=b(n);if(p.family&&a.moleculeInProgress===null){if(kn(a))switch(p.type){case"atom":case"mutable_atom":n.on.atomCreation.next(p);break;case"selector":case"readonly_selector":n.on.selectorCreation.next(p);break}else if(An(a)&&a.on.transactionApplying.state===null)a.transactionMeta.update.updates.push({type:"state_creation",token:p})}return p}function Nn(n,i,o){const c=e(o),p=`${i.key}(${c})`,a=b(n);let x;switch(i.type){case"atom_family":case"mutable_atom_family":x=a.atoms.get(p);break;case"selector_family":x=a.selectors.get(p);break;case"readonly_selector_family":x=a.readonlySelectors.get(p);break;case"molecule_family":x=a.molecules.get(e(o))}if(x)return ki(x);return x}function Fn(n,i,o){let c=Nn(n,i,o);if(c)return c;const p=n.molecules.get(e(o));if(p)return lo(p,i,n);if(n.config.lifespan==="immortal"){const a=ec(i,o);return n.logger.error("\u274C",a.type,a.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),a}return c=bo(n,i,o),c}function li(n,...i){let o,c;if(i.length===1)o=i[0],c=o.key;else{const a=i[0],x=i[1];o=a.type==="molecule_family"?Nn(n,a,x)??ec(a,x):Fn(n,a,x)}try{d(o,n)}catch(a){const x=n.disposalTraces.buffer.find((m)=>m?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${n.config.name}".`,x?`\n This state was most recently disposed\n${x.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":$l(o,n);break;case"selector":case"readonly_selector":Dv(o,n);break;case"molecule":wx(o,n);break}const{stack:p}=new Error;if(p){const a=p?.split("\n")?.slice(3)?.join("\n");n.disposalTraces.add({key:o.key,trace:a})}}var Sx=(n,i)=>b(i).atoms.has(n),j4=(n,i)=>b(i).selectors.has(n),N4=(n,i)=>b(i).readonlySelectors.has(n),Iv=(n,i)=>Sx(n,i)||j4(n,i)||N4(n,i);var Jx=(n,i)=>{return b(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([c,{source:p}])=>p!==n).map(([c,{source:p}])=>p).filter((c)=>Iv(c,i))};var vl=(n,i,o)=>{const c=[],p=Jx(n,o);while(p.length>0){const a=p.shift();if(i.has(a))continue;if(i.add(a),!Sx(a,o))p.push(...Jx(a,o));else if(!c.includes(a))c.push(a)}return c},tv=(n,i)=>{const o=n.key,c=Jx(o,i),p=new Set;return c.flatMap((a)=>Sx(a,i)?a:vl(a,p,i))};var Cv=(n,i,o,c)=>{const p=b(c);if(i.type==="atom"||i.type==="mutable_atom")p.selectorAtoms.set({selectorKey:n,atomKey:i.key}),c.logger.info("\uD83D\uDD0D","selector",n,`discovers root atom "${i.key}"`);else{const a=vl(i.key,o,c);c.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${a.map((x)=>`"${x}"`).join(", ")} ]`);for(let x of a)p.selectorAtoms=p.selectorAtoms.set({selectorKey:n,atomKey:x})}o.add(i.key)};var Ax=(n,i,o)=>({get:(...c)=>{const p=b(o);let a;if(c.length===2){const[l,f]=c;switch(l.type){case"molecule_family":return Kn(o,l,f);default:if(o.config.lifespan==="ephemeral")a=Fn(o,l,f);else{const $=Nn(o,l,f);if($)a=$;else throw new Ui(l,f,o)}}}else[a]=c;if(a.type==="molecule")return Kn(o,a);const x=d(a,o),m=Po(x,o);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${a.key}" =`,m,")"),p.selectorGraph.set({upstreamSelectorKey:a.key,downstreamSelectorKey:n},{source:a.key}),Cv(n,a,i,o),m},set:(...c)=>{let p,a;if(c.length===2)p=c[0],a=c[1];else{const l=c[0],f=c[1];a=c[2];const $=o.config.lifespan==="ephemeral"?Fn(o,l,f):Nn(o,l,f);if(!$)throw new Ui(l,f,o);p=$}const x=b(o),m=d(p,x);xx(m,a,x)},find:(c,p)=>Fn(o,c,p),seek:(c,p)=>Nn(o,c,p),json:(c)=>en(o,c)});var na=(n,i,o)=>{const c=b(n),p=new an,a=new Set,{get:x,find:m,seek:l,json:f}=Ax(i.key,a,c),$=()=>{const R=i.get({get:x,find:m,seek:l,json:f});return ri(i.key,R,p,b(n)),a.clear(),R},v={...i,subject:p,install:(R)=>na(R,i,o),get:$,type:"readonly_selector",...o&&{family:o}};c.readonlySelectors.set(i.key,v);const S=$();n.logger.info("\u2728",v.type,v.key,"=",S);const T={key:i.key,type:"readonly_selector"};if(o)T.family=o;return T};var xa=(n,i,o)=>{const c=b(n),p=new an,a=new Set,x=Ax(i.key,a,c),{find:m,get:l,seek:f,json:$}=x,v={find:m,get:l,seek:f,json:$},S=(z=i.get,Y=b(n))=>{const E=z(v);return ri(i.key,E,p,Y),a.clear(),E},R={...i,subject:p,install:(z)=>xa(z,i,o),get:S,set:(z)=>{const Y=b(n),E=S(i.get,Y),s=ax(z)(E);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",E,"->",s,")"),ri(i.key,s,p,Y),gc(Y,i.key),kn(Y))p.next({newValue:s,oldValue:E});i.set(x,s)},type:"selector",...o&&{family:o}};c.selectors.set(i.key,R);const F=S();n.logger.info("\u2728",R.type,R.key,"=",F);const X={key:i.key,type:"selector"};if(o)X.family=o;return X};function gp(n,i){if("set"in i){const p=xa(n,i,void 0);return n.on.selectorCreation.next(p),p}const c=na(n,i,void 0);return n.on.selectorCreation.next(c),c}function Dv(n,i){const o=b(i),{key:c}=n,p=d(n,o);if(!p.family)i.logger.error("\u274C","selector",c,"Standalone selectors cannot be disposed.");else{const a=o.molecules.get(p.family.subKey);if(a)a.tokens.delete(c);switch(n.type){case"selector":o.selectors.delete(c),d({key:p.family.key,type:"selector_family"},i).subject.next({type:"state_disposal",token:n});break;case"readonly_selector":o.readonlySelectors.delete(c),d({key:p.family.key,type:"readonly_selector_family"},i).subject.next({type:"state_disposal",token:n});break}if(o.valueMap.delete(c),o.selectorAtoms.delete(c),o.selectorGraph.delete(c),i.logger.info("\uD83D\uDD25",n.type,c,"deleted"),An(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function ia(n,i,o){const c={key:i.key,type:"selector_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","selector_family",i.key,`Overwriting an existing ${mo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),T=xa(S,{key:v,get:i.get(l),set:i.set(l)},$);return a.next({type:"state_creation",token:T}),T},c,{internalRoles:o,subject:a,install:(l)=>ia(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>Fn(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>en(n,$)})}});return n.families.set(i.key,m),c}function kv(n,i,o=on.STORE){const c=ia(o,{key:`${n.key}:JSON`,get:(a)=>({seek:x,get:m})=>{const l=x(n,a);if(l)return i.toJson(m(l));const f=e(a),$=o.molecules.get(f);if($){const S=lo($,n,o);return i.toJson(m(S))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${f}"`);const v=bo(o,n,a);return i.toJson(m(v))},set:(a)=>({seek:x,set:m},l)=>{const f=x(n,a);if(f)m(f,i.fromJson(l));else{const $=e(a),v=o.molecules.get($);if(v){const S=lo(v,n,o);m(S,i.fromJson(l))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${$}"`);m(bo(o,n,a),i.fromJson(l))}}}},["mutable","json"]);return d(n,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(a)=>{if(a.token.family)Nn(o,c,rn(a.token.family.subKey))}),c}var rn=(n)=>JSON.parse(n),e=(n)=>JSON.stringify(n),BO=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var rv=(n,i)=>{const o=b(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var Jl=(n,i)=>{const o=b(i);return tv(n,i).map((p)=>{const a=o.atoms.get(p);if(a===void 0)throw new Error(`Atom "${p}", a dependency of selector "${n.key}", not found in store "${i.config.name}".`);return a.subject.subscribe(`${n.type}:${n.key}`,(x)=>{i.logger.info("\uD83D\uDCE2",n.type,n.key,"root",p,"went",x.oldValue,"->",x.newValue);const m=rv(n,o),l=Po(n,o);i.logger.info("\u2728",n.type,n.key,"went",m,"->",l),n.subject.next({newValue:l,oldValue:m})})})};function Gi(n,i,o,c){function p(v){if(c.operation.open){const S=c.on.operationClose.subscribe(`state subscription ${o}`,()=>{S(),i(v)})}else i(v)}const a=d(n,c);c.logger.info("\uD83D\uDC40",a.type,a.key,`Adding subscription "${o}"`);const x=a.type==="selector"||a.type==="readonly_selector";let m=null,l=p;if(x)m=Jl(a,c),l=(v)=>{if(m)m.length=0,m.push(...Jl(a,c));p(v)};const f=a.subject.subscribe(o,l);return()=>{if(c.logger.info("\uD83D\uDE48",a.type,a.key,`Removing subscription "${o}"`),f(),m)for(let v of m)v()}}var wl=(n,i,o,c)=>{const p=d(n,c);c.logger.info("\uD83D\uDC40","timeline",n.key,`Adding subscription "${o}"`);const a=p.subject.subscribe(o,i);return()=>{c.logger.info("\uD83D\uDE48","timeline",n.key,`Removing subscription "${o}" from timeline`),a()}};var Sl=(n,i,o,c)=>{const p=d(n,c);c.logger.info("\uD83D\uDC40","transaction",n.key,`Adding subscription "${o}"`);const a=p.subject.subscribe(o,i);return()=>{c.logger.info("\uD83D\uDE48","transaction",n.key,`Removing subscription "${o}"`),a()}};class eo{Update;initializeState(n,i){const o=`*${n.key}`;i.atoms.delete(o),i.valueMap.delete(o);const c=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,p=ko(i,{key:o,default:null},c);if(i.parent?.valueMap.has(o)){const a=i.parent.valueMap.get(o);i.valueMap.set(o,a)}return p}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){const c=`tracker:${o.config.name}:${An(o)?o.transactionMeta.update.key:"main"}:${n.key}`,p=Kn(o,n);this.unsubscribeFromInnerValue=p.subscribe(c,(a)=>{zn(o,i,a)}),this.unsubscribeFromState=Gi(n,(a)=>{if(a.newValue!==a.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=a.newValue.subscribe(c,(x)=>{zn(o,i,x)})},c,o)}updateCore(n,i,o){const c=`tracker:${o.config.name}:${An(o)?o.transactionMeta.update.key:"main"}:${n.key}`;Gi(i,({newValue:p,oldValue:a})=>{const x=o.timelineTopics.getRelatedKey(i.key);if(x){if(o.timelines.get(x)?.timeTraveling){const f=wl({key:x,type:"timeline"},($)=>{f(),zn(o,n,(v)=>{if($==="redo"&&p)v.do(p);else if($==="undo"&&a)v.undo(a);return v})},c,o);return}}const m=o.on.operationClose.subscribe(c,()=>{m();const l=Kn(o,n),f=p===null?-1:l.getUpdateNumber(p),$=f-l.cacheUpdateNumber;if(p&&$===1)zn(o,n,(v)=>(v.do(p),v));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${l.cacheUpdateNumber+1}, but got ${f}`)})},c,o)}mutableState;latestUpdateState;dispose;constructor(n,i){this.mutableState=n;const o=b(i);this.latestUpdateState=this.initializeState(n,o),this.observeCore(n,this.latestUpdateState,o),this.updateCore(n,this.latestUpdateState,o),o.trackers.set(n.key,this),this.dispose=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(n.key)}}}function ma(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const c=b(n),p=c.atoms.get(i.key);if(p&&p.type==="mutable_atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),ki(p);const a=new an,x={...i,type:"mutable_atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${f.config.name}"`),ma(f,i,o)},subject:a};if(o)x.family=o;const m=i.default();c.atoms.set(x.key,x),Fx(i.key,n),ri(i.key,m,a,c);const l=ki(x);if(i.effects){let f=0;const $=[];for(let v of i.effects){const S=v({setSelf:(T)=>{zn(n,l,T)},onSet:(T)=>Gi(l,T,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}if(new eo(l,n),!o)Jv(l,i,n);return l}class Al{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){const o=Co(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=d(o,i),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(c)=>{if(c.token.family){const p=rn(c.token.family.subKey);Nn(i,this.latestUpdateAtoms,p),new eo(c.token,i)}}),this.latestUpdateAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(c)=>{if(c.token.family){const p=rn(c.token.family.subKey),a=Nn(i,this.mutableAtoms,p);if(a)new eo(a,i)}})}}function dp(n,i,o){const c={key:i.key,type:"mutable_atom_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","mutable_atom_family",i.key,`Overwriting an existing ${mo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),T={key:v,default:()=>i.default(l),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)T.effects=i.effects(l);const R=ma(S,T,$);return a.next({type:"state_creation",token:R}),R},c,{subject:a,install:(l)=>dp(l,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,m),kv(m,i,n),new Al(m,n),c}var Fl=(n,i)=>{const o=b(i),c=`${n.key}:JSON`;return o.families.get(c)};var en=(n,i)=>{if(i.family){const c=b(n),a={key:`${i.family.key}:JSON`,type:"selector_family"},x=d(a,c),m=JSON.parse(i.family.subKey);return Fn(n,x,m)}return{type:"selector",key:`${i.key}:JSON`}};var so=(n)=>{const o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function uv(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function ca(n,i,o){const c=i.valueMap.get(n.key),p=o.valueMap.get(n.key);if(c===p){if(c===void 0)return typeof n.default==="function"?n.default():n.default;i.logger.info("\uD83D\uDCC3","atom",n.key,"copying");const a=n.toJson(c),x=n.fromJson(a);return o.valueMap.set(n.key,x),new eo(n,i),x}return p}function ri(n,i,o,c){const p=c.valueMap.get(n);if(p instanceof ep)p.use(i);if(i instanceof Promise){const a=new ep(i);return c.valueMap.set(n,a),a.then((x)=>{ri(n,x,o,c),o.next({newValue:x,oldValue:a})}).catch((x)=>{c.logger.error("\uD83D\uDCA5","state",n,"rejected:",x)}),a}return c.valueMap.set(n,i),i}var Rv=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&An(i)){const{parent:c}=i;o=ca(n,c,i)}return o},Gv=(n,i)=>{const o=i.valueMap.get(n);if(o instanceof ep){const c=o,p=i.selectors.get(n)??i.readonlySelectors.get(n);if(p)c.use(p.get());return}if(i.operation.open)i.operation.prev.set(n,o);i.valueMap.delete(n),i.logger.info("\uD83D\uDDD1","state",n,"evicted")};var Hv=(n,i)=>{return b(i).atomsThatAreDefault.has(n)},Fx=(n,i)=>{const o=b(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},Ev=(n,i)=>{const o=b(i);o.atomsThatAreDefault=new Set(b(i).atomsThatAreDefault),o.atomsThatAreDefault.delete(n)};function ko(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const c=b(n),p=c.atoms.get(i.key);if(p&&p.type==="atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),ki(p);const a=new an,x={...i,type:"atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${f.config.name}"`),ko(f,i,o)},subject:a};if(o)x.family=o;let m=i.default;if(i.default instanceof Function)m=i.default();c.atoms.set(x.key,x),Fx(i.key,n),ri(i.key,m,a,c);const l=ki(x);if(i.effects){let f=0;const $=[];for(let v of i.effects){const S=v({setSelf:(T)=>{zn(n,l,T)},onSet:(T)=>Gi(l,T,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}return l}function Tv(n,i){if("mutable"in i){const p=ma(n,i,void 0);return n.on.atomCreation.next(p),p}const c=ko(n,i,void 0);return n.on.atomCreation.next(c),c}function $l(n,i){const o=b(i),{key:c}=n,p=d(n,o);if(!p.family)i.logger.error("\u274C","atom",c,"Standalone atoms cannot be disposed.");else{p.cleanup?.();const a=i.valueMap.get(p.key);d({key:p.family.key,type:"atom_family"},i).subject.next({type:"state_disposal",token:n,value:a});const m=o.molecules.get(p.family.subKey);if(m)m.tokens.delete(c);if(o.atoms.delete(c),o.valueMap.delete(c),o.selectorAtoms.delete(c),o.atomsThatAreDefault.delete(c),i.timelineTopics.delete(c),n.type==="mutable_atom"){const l=so(n);$l(l,i),i.trackers.delete(c)}if(i.logger.info("\uD83D\uDD25","atom",c,"deleted"),An(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.atomDisposal.next(n)}}class oi extends Set{mode="record";subject=new an;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof oi)this.parent=n,this.cacheUpdateNumber=n.cacheUpdateNumber;if(i)this.cacheLimit=i,this.cache=new Array(i),this.subscribe("auto cache",(o)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=o})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(n){const i=new oi(n.members,n.cacheLimit);return i.cache=n.cache,i.cacheIdx=n.cacheIdx,i.cacheUpdateNumber=n.cacheUpdateNumber,i}add(n){const i=super.add(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${e(n)}`);return i}clear(){const n=this.mode==="record"?[...this]:null;if(super.clear(),n)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(n)}`)}delete(n){const i=super.delete(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${e(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new oi(this);const i=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(n(this.child)){for(let c of this.transactionUpdates)this.doStep(c);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(o){throw console.error("Failed to apply transaction to SetRTX:",o),o}finally{i(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(n,i){return this.subject.subscribe(n,i)}subscribe(n,i){return this.subject.subscribe(n,(o)=>{i(`${this.cacheUpdateNumber}=${o}`)})}emit(n){this.subject.next(n)}doStep(n){const i=n.indexOf(":"),o=n.substring(0,i),c=n.substring(i+1);switch(o){case"add":this.add(JSON.parse(c));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(c));break;case"tx":for(let p of c.split(";"))this.doStep(p)}}getUpdateNumber(n){const i=n.indexOf("=");return Number(n.substring(0,i))}do(n){const i=n.indexOf("="),o=Number(n.substring(0,i)),c=o-this.cacheUpdateNumber;if(c>0){if(c===1){this.mode="playback";const a=n.substring(i+1);return this.doStep(a),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(c)<this.cacheLimit){const a=this.cacheIdx+c;if(this.cache[a]===n)return null;this.mode="playback";let m=!1;while(!m){this.cacheIdx%=this.cacheLimit;const f=this.cache[this.cacheIdx];if(this.cacheIdx--,!f)return"OUT_OF_RANGE";this.undo(f),m=this.cacheIdx===a-1}const l=n.substring(i+1);return this.doStep(l),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(n){const i=n.indexOf(":"),o=n.substring(0,i),c=n.substring(i+1);switch(o){case"add":this.delete(JSON.parse(c));break;case"del":this.add(JSON.parse(c));break;case"clear":{const p=JSON.parse(c);for(let a of p)this.add(a);break}case"tx":{const p=c.split(";");for(let a=p.length-1;a>=0;a--)this.undoStep(p[a])}}}undo(n){const i=n.indexOf("=");if(Number(n.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";const c=n.substring(i+1);return this.undoStep(c),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function Ln(n){return n[0].toUpperCase()+n.slice(1)}function Tx(n,i,o=on.STORE){return Tl(o).set(n.key,new Ml(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Tl(n){if("joins"in n&&n.joins instanceof Map)return n.joins;const i=new Map;return n.joins=i,i}function aa(n,i){const o=Tl(i);let c=o.get(n.key);if(c===void 0){if(c=Tl(on.STORE).get(n.key)?.in(i),c===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o.set(n.key,c)}return c}function np(n,i,o){const c=aa(n,o);let p;switch(n.cardinality){case"1:1":{const a=`${n.a}KeyOf${Ln(n.b)}`,x=`${n.b}KeyOf${Ln(n.a)}`;p={get[a](){const l=c.states[a];return c.retrieve(l,i)},get[x](){const l=c.states[x];return c.retrieve(l,i)}};const m=`${n.a}EntryOf${Ln(n.b)}`;if(m in c.states){const l=`${n.b}EntryOf${Ln(n.a)}`;Object.assign(p,{get[m](){const f=c.states[m];return c.retrieve(f,i)},get[l](){const f=c.states[l];return c.retrieve(f,i)}})}break}case"1:n":{const a=`${n.a}KeyOf${Ln(n.b)}`,x=`${n.b}KeysOf${Ln(n.a)}`;p={get[a](){const l=c.states[a];return c.retrieve(l,i)},get[x](){const l=c.states[x];return c.retrieve(l,i)}};const m=`${n.a}EntryOf${Ln(n.b)}`;if(m in c.states){const l=`${n.b}EntriesOf${Ln(n.a)}`;Object.assign(p,{get[m](){const f=c.states[m];return c.retrieve(f,i)},get[l](){const f=c.states[l];return c.retrieve(f,i)}})}break}case"n:n":{const a=`${n.a}KeysOf${Ln(n.b)}`,x=`${n.b}KeysOf${Ln(n.a)}`;p={get[a](){const l=c.states[a];return c.retrieve(l,i)},get[x](){const l=c.states[x];return c.retrieve(l,i)}};const m=`${n.a}EntriesOf${Ln(n.b)}`;if(m in c.states){const l=`${n.b}EntriesOf${Ln(n.a)}`;Object.assign(p,{get[m](){const f=c.states[m];return c.retrieve(f,i)},get[l](){const f=c.states[l];return c.retrieve(f,i)}})}}}return p}function bv(n,i){return np(n,i,on.STORE)}function Kc(n,i,o){const c=aa(n,o),p=b(o);if(An(p)){const{toolkit:a}=p.transactionMeta;c.transact(a,({relations:x})=>{i(x)})}else i(c.relations)}function L4(n,i){return aa(n,i).core.findRelatedKeysState}function Zv(n){return L4(n,on.STORE)}class Ml{options;defaultContent;toolkit;retrieve;molecules=new Map;relations;states;core;transact(n,i){const o=this.toolkit;this.toolkit=n,i(this),this.toolkit=o}store;alternates;[Symbol.dispose](){this.alternates.delete(this.store.config.name)}in(n){const i=n.config.name,o=this.alternates.get(i);if(o)return o;const c=new Ml(this.options,this.defaultContent,n);return this.alternates.set(i,c),c.alternates=this.alternates,c}constructor(n,i,o=on.STORE){this.store=o,this.options=n,this.defaultContent=i,this.alternates=new Map,this.alternates.set(o.config.name,this),this.store.miscResources.set(`join:${n.key}`,this),this.retrieve=(G,M)=>{const O=this.toolkit.seek(G,M);if(O)return O;const U=this.molecules.get(e(M));if(U){const V=d(G,o);return lo(U,V,o)}if(o.config.lifespan==="immortal")throw new Ui(G,M,o);return bo(o,G,M)},this.toolkit={get:(...G)=>Kn(o,...G),set:(...G)=>{zn(o,...G)},find:this.retrieve,seek:(...G)=>Nn(o,...G),json:(G)=>en(o,G),dispose:(...G)=>{li(o,...G)}};const c=n.between[0],p=n.between[1],a=dp(o,{key:`${n.key}/relatedKeys`,default:()=>new oi,mutable:!0,fromJson:(G)=>oi.fromJSON(G),toJson:(G)=>G.toJSON()},["join","relations"]);this.core={findRelatedKeysState:a};const x=({get:G},M)=>G(this.retrieve(a,M)),m=(G,M,O)=>{const{set:U}=G,V=this.retrieve(a,M),K=this.retrieve(a,O);U(V,(B)=>B.add(O)),U(K,(B)=>B.add(M))},l=(G,M,O)=>{const{set:U}=G,V=this.retrieve(a,M),K=this.retrieve(a,O);let B,_;U(V,(P)=>{if(P.delete(O),P.size===0)B=`"${M}"`;return P}),U(K,(P)=>{if(P.delete(M),P.size===0)_=`"${O}"`;return P})},f=(G,M,O)=>{const{get:U,set:V}=G,K=this.retrieve(a,M),B=U(K);for(let _ of B){if(O.includes(_))continue;const ln=this.retrieve(a,_);V(ln,($n)=>{return $n.delete(M),$n})}V(K,(_)=>{return _.transaction((P)=>{P.clear();for(let ln of O){const $n=x(G,ln),Qn=$n.has(M);if(this.relations.cardinality==="1:n"){const ji=[];for(let H of $n){if(H===M)continue;const k=x(G,H);if(k.delete(ln),k.size===0)ji.push(H)}if(!Qn&&$n.size>0)$n.clear();for(let H of ji){const k=[ln,H].sort(),Sn=`"${k[0]}:${k[1]}"`;this.molecules.delete(Sn)}}if(!Qn)$n.add(M);P.add(ln)}return!0}),_})},$=(G,M,O)=>{const{set:U}=G,V=this.retrieve(a,M);U(V,(K)=>{return K.transaction((B)=>{for(let _ of O)B.add(_);return!0}),K});for(let K of O){const B=this.retrieve(a,K);U(B,(_)=>{return _.add(M),_})}return!0},v=(G,M,O)=>{const U=x(G,M);return O?U.has(O):U.size>0},S={getRelatedKeys:(G)=>x(this.toolkit,G),addRelation:(G,M)=>{m(this.toolkit,G,M)},deleteRelation:(G,M)=>{l(this.toolkit,G,M)},replaceRelationsSafely:(G,M)=>{f(this.toolkit,G,M)},replaceRelationsUnsafely:(G,M)=>{$(this.toolkit,G,M)},has:(G,M)=>v(this.toolkit,G,M)};let T,R,F;if(i){R=Co(o,{key:`${n.key}/content`,default:i},["join","content"]);const G={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};F=Uv(o,{key:`${n.key}/content-molecules`,new:class K{_;constructor(B,_){this.key=_}}});const M=({get:K},B)=>K(this.retrieve(R,B)),O=({set:K},B,_)=>{K(this.retrieve(R,B),_)},U=(K,B)=>{const _=o.molecules.get(`"${B}"`);if(_)this.toolkit.dispose(_),this.molecules.delete(`"${B}"`)};T=Object.assign(S,{getContent:(K)=>{return M(this.toolkit,K)},setContent:(K,B)=>{O(this.toolkit,K,B)},deleteContent:(K)=>{U(this.toolkit,K)}})}else T=S;const X=new Ni(n,{externalStore:T,makeContentKey:(...G)=>{const M=G.sort(),O=`${M[0]}:${M[1]}`,[U,V]=M.map((K)=>this.molecules.get(e(K)));if(o.config.lifespan==="immortal"&&U&&V){const K=b(o),B=_o(K,[U,V],F,O);this.molecules.set(`"${O}"`,d(B,K))}return O}}),z=()=>ro(o,{key:`${n.key}/singleRelatedKey`,get:(G)=>({get:M})=>{const O=this.retrieve(a,G),U=M(O);for(let V of U)return V;return null}},["join","keys"]),Y=()=>{return ro(o,{key:`${n.key}/multipleRelatedKeys`,get:(G)=>({get:M})=>{const O=Fl(a,o),U=this.retrieve(O,G);return M(U).members}},["join","keys"])},E=()=>ro(o,{key:`${n.key}/singleRelatedEntry`,get:(G)=>({get:M})=>{const O=this.retrieve(a,G),U=M(O);for(let V of U){const K=X.makeContentKey(G,V),B=this.retrieve(R,K),_=M(B);return[V,_]}return null}},["join","entries"]),s=()=>ro(o,{key:`${n.key}/multipleRelatedEntries`,get:(G)=>({get:M})=>{const O=Fl(a,o),U=this.retrieve(O,G);return M(U).members.map((K)=>{const B=X.makeContentKey(G,K),_=this.retrieve(R,B),P=M(_);return[K,P]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const G=z(),M=`${c}KeyOf${Ln(p)}`,O=`${p}KeyOf${Ln(c)}`,U={[M]:G,[O]:G};let V;if(i){const K=E(),B=`${c}EntryOf${Ln(p)}`,_=`${p}EntryOf${Ln(c)}`,P={[B]:K,[_]:K};V=Object.assign(U,P)}else V=U;this.relations=X,this.states=V;break}case"1:n":{const G=z(),M=Y(),O=`${c}KeyOf${Ln(p)}`,U=`${p}KeysOf${Ln(c)}`,V={[O]:G,[U]:M};let K;if(i){const B=E(),_=s(),P=`${c}EntryOf${Ln(p)}`,ln=`${p}EntriesOf${Ln(c)}`,$n={[P]:B,[ln]:_};K=Object.assign(V,$n)}else K=V;this.relations=X,this.states=K;break}default:{const G=Y(),M=`${c}KeysOf${Ln(p)}`,O=`${p}KeysOf${Ln(c)}`,U={[M]:G,[O]:G};let V;if(i){const K=s(),B=`${c}EntriesOf${Ln(p)}`,_=`${p}EntriesOf${Ln(c)}`,P={[B]:K,[_]:K};V=Object.assign(U,P)}else V=U;this.relations=X,this.states=V}}}}class ip{n;listeners;globalListeners;handleEvent(n,...i){for(let c of this.globalListeners)c(n,...i);const o=this.listeners.get(n);if(o)for(let c of o)c(...i)}id="no_id_retrieved";constructor(n){this.emit=n;this.listeners=new Map,this.globalListeners=new Set}on(n,i){const o=this.listeners.get(n);if(o)o.add(i);else this.listeners.set(n,new Set([i]));return this}onAny(n){return this.globalListeners.add(n),this}off(n,i){const o=this.listeners.get(n);if(o)if(i)o.delete(i);else this.listeners.delete(n);return this}offAny(n){return this.globalListeners.delete(n),this}}class la extends ip{n;i;o;incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";handleLog(n){if(Array.isArray(n)){const[i,...o]=n;switch(i){case"i":this.logger.info(this.id,this.key,...o);break;case"w":this.logger.warn(this.id,this.key,...o);break;case"e":this.logger.error(this.id,this.key,...o);break}}}constructor(n,i,o=console){super((c,...p)=>{const a=JSON.stringify([c,...p])+"\x03",x=(m)=>{if(m.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",x)};return this.process.stdin.once("error",x),this.process.stdin.write(a),this});this.process=n;this.key=i;this.logger=o;if(this.process=n,this.process.stdout.on("data",(c)=>{const p=c.toString();if(p==="\u2728")return;this.unprocessedEvents.push(...p.split("\x03"));const a=this.unprocessedEvents.shift();this.incompleteData+=a??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let x=rn(this.incompleteData);this.handleEvent(...x);while(this.unprocessedEvents.length>0){const m=this.unprocessedEvents.shift();if(m){if(this.unprocessedEvents.length===0)this.incompleteData=m;x=rn(m),this.handleEvent(...x)}}this.incompleteData=""}catch(x){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(x)}}),this.process.stderr.on("data",(c)=>{const p=c.toString();this.unprocessedLogs.push(...p.split("\x03"));const a=this.unprocessedLogs.shift();this.incompleteLog+=a??"";try{let x=rn(this.incompleteLog);this.handleLog(x);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)x=rn(this.incompleteLog),this.handleLog(x)}catch(x){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(x),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class qv extends ip{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new an,this.out=new an,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class Rl extends ip{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(e(n.map((i)=>i instanceof oi?`{ ${i.toJSON().members.join(" | ")} }`:i))+"\x03")}logger={info:(...n)=>{this.log("i",...n)},warn:(...n)=>{this.log("w",...n)},error:(...n)=>{this.log("e",...n)}};constructor(){super((n,...i)=>{const o=JSON.stringify([n,...i]);return this.process.stdout.write(o+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(n)=>{const i=n.toString();this.unprocessedEvents.push(...i.split("\x03"));const o=this.unprocessedEvents.shift();this.incompleteData+=o??"";try{const c=rn(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",c),this.handleEvent(...c);while(this.unprocessedEvents.length>0){const p=this.unprocessedEvents.shift();if(p){if(this.unprocessedEvents.length===0)this.incompleteData=p;const a=rn(p);this.handleEvent(...a)}}this.incompleteData=""}catch(c){if(c instanceof Error)this.logger.error("\u2757",c.message,c.cause,c.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(n)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${n}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(n)=>{this.logger.info("\uD83D\uDC64","user",n,"joined");const i=new qv(`user:${n}`);this.relays.set(n,i),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let o of this.relayServices){const c=o(i);if(c)i.disposalFunctions.push(c)}this.on(`user:${n}`,(...o)=>{i.in.next(o)}),i.out.subscribe("socket",(o)=>{this.emit(...o)})}),this.on("user-leaves",(n)=>{const i=this.relays.get(n);if(this.off(`relay:${n}`),i)i.dispose(),this.relays.delete(n)}),process.stdout.write("\u2728")}relay(n){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(n)}}function ev(n){const{key:i,config:o}=n,c=Mx.create(i,o),{actions:p}=c;for(let a of p)Lv(i,a.key,on.STORE);return sv(i,-1,on.STORE),c}class Pv extends Map{set(n,i){if(this.has(n))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:n,value:i}),this;return super.set(n,i)}clear(){throw new Error("Cannot clear an InvariantMap")}}class Mx{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new Pv;static create(n,i){const o=new Mx(n),{type:c,globals:p,actions:a,perspectives:x}=i(o),m={type:c,key:n,globals:p,actions:a,perspectives:x};return Mx.existing.set(n,m),m}add(...n){switch(n[0].type){case"atom":case"mutable_atom":this.globals.push(...n);break;case"transaction":this.actions.push(...n);break;case"atom_family":{const[o,c]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:c})}break}return this}}var cU=Zo({key:"usersInRoomIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Kl=Zo({key:"roomIndex",default:()=>new oi,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),B4={enteredAtEpoch:0},fa=Tx({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},B4),pU=px({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=Zv(fa);return[i(o,n)]}});import{spawn as y4}from"child_process";var Wl=Mc({key:"roomArguments",default:["echo",["Hello World!"]]}),gv=px({key:"room",get:(n)=>async({get:i,find:o})=>{const c=o(Wl,n),p=i(c),[a,x]=p,m=await new Promise((l)=>{const f=y4(a,x,{env:process.env}),$=(v)=>{if(v.toString()==="\u2728")f.stdout.off("data",$),l(f)};f.stdout.on("data",$)});return new la(m,n)}});var MU=Rc({key:"createRoom",do:({get:n,set:i,find:o},c,p,a)=>{const x=a?[p,a]:[p],m=o(Wl,c);i(m,x),i(Kl,($)=>$.add(c));const l=o(gv,c);return n(l)}}),RU=Rc({key:"joinRoom",do:(n,i,o,c)=>{const p={enteredAtEpoch:c};return Kc(fa,(a)=>{a.set({room:i,user:o},p)},n.env().store),p}}),KU=Rc({key:"leaveRoom",do:(n,i,o)=>{Kc(fa,(c)=>{c.delete({room:i,user:o})},n.env().store)}}),WU=Rc({key:"destroyRoom",do:(n,i)=>{Kc(fa,(o)=>{o.delete({room:i})},n.env().store),n.set(Kl,(o)=>(o.delete(i),o))}});function Xl(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{const c=Xl(n,o.updates);return{...o,updates:c}}default:return o}}).filter((o)=>{switch(o.type){case"atom_update":case"selector_update":return n.includes(o.key);case"state_creation":return n.includes(o.token.key);case"molecule_creation":return!0;case"transaction_update":return!0}})}var GU=Mc({key:"transactionRedactor",default:{occlude:(n)=>n}}),dv=Mc({key:"unacknowledgedUpdates",default:()=>[]});var $a=Mc({key:"sockets",default:null}),zl=Zo({key:"socketsIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Gl=Zo({key:"usersIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Wc=Tx({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function n0({socket:n,store:i=on.STORE}){return function o(c){let p=n;const a=c.key,x=np(Wc,p.id,i).userKeyOfSocket,m=Kn(i,x);if(!m)return i.logger.error("\u274C","continuity",a,`Tried to create a synchronizer for a socket (${p.id}) that is not connected to a user.`),()=>{};const l=np(Wc,m,i).socketKeyOfUser;Gi(l,({newValue:z})=>{if(i.logger.info("\uD83D\uDC4B","continuity",a,`seeing ${m} on new socket ${z}`),z===null){i.logger.warn("\u274C","continuity",a,`User (${m}) is not connected to a socket, waiting for them to reappear.`);return}const Y=Fn(i,$a,z);p=Kn(i,Y);for(let s of $)p?.emit(`tx-new:${a}`,s)},`sync-continuity:${a}:${m}`,i);const f=Fn(i,dv,m),$=Kn(i,f),v=[],T=(()=>{const z=[];for(let Y of c.perspectives){const{viewAtoms:E}=Y,s=Fn(i,E,m),G=Gi(s,({oldValue:M,newValue:O})=>{const U=M.map((_)=>_.key),V=O.map((_)=>_.key),K=M.filter((_)=>!V.includes(_.key)),B=O.filter((_)=>!U.includes(_.key)).flatMap((_)=>{const P=_.type==="mutable_atom"?en(i,_):_,ln=Kn(i,P);return[P,ln]});if(i.logger.info("\uD83D\uDC41","atom",Y.resourceAtoms.key,`${m} has a new perspective`,{oldKeys:U,newKeys:V,revealed:B,concealed:K}),B.length>0)p?.emit(`reveal:${a}`,B);if(K.length>0)p?.emit(`conceal:${a}`,K)},`sync-continuity:${a}:${m}:perspective:${Y.resourceAtoms.key}`,i);z.push(G)}return()=>{for(let Y of z)Y()}})(),R=()=>{const z=[];for(let E of c.globals){const s=E.type==="mutable_atom"?en(i,E):E,G=Kn(i,s);z.push(s,G)}for(let E of c.perspectives){const{viewAtoms:s,resourceAtoms:G}=E,M=Fn(i,s,m),O=Kn(i,M);i.logger.info("\uD83D\uDC41","atom",G.key,`${m} can see`,{viewAtoms:s,resourceAtoms:G,userView:O});for(let U of O){const V=U.type==="mutable_atom"?en(i,U):U,K=Kn(i,V);z.push(V,K)}}const Y=kn(i)?i.transactionMeta.epoch.get(a)??null:null;p?.emit(`continuity-init:${a}`,Y,z);for(let E of c.actions){const s=Sl(E,(G)=>{try{const M=c.globals.map((V)=>{if(V.type==="atom")return V.key;return so(V).key}).concat(c.perspectives.flatMap((V)=>{const{viewAtoms:K}=V,B=Fn(i,K,m);return Kn(i,B).map((P)=>{return P.type==="mutable_atom"?"*"+P.key:P.key})})),O=Xl(M,G.updates),U={...G,updates:O};zn(i,f,(V)=>{if(U)V.push(U),V.sort((K,B)=>K.epoch-B.epoch);return V}),p?.emit(`tx-new:${a}`,U)}catch(M){if(M instanceof Error)i.logger.error("\u274C","continuity",a,`failed to send update from transaction ${E.key} to ${m}`,M.message)}},`sync-continuity:${a}:${m}`,i);v.push(s)}};p.off(`get:${a}`,R),p.on(`get:${a}`,R);const F=(z)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",a,"received",z);const{key:Y,id:E}=z,s=`tx-run:${Y}:${E}`,G=`${s}:start`,M=`${s}:end`;performance.mark(G);try{qo({type:"transaction",key:Y},E,i)(...z.params)}catch(B){if(B instanceof Error)i.logger.error("\u274C","continuity",a,`failed to run transaction ${Y} with update ${E}`,B.message)}performance.mark(M);const O=performance.measure(s,G,M);i?.logger.info("\uD83D\uDE80","transaction",Y,E,O.duration);const U=`valuesOfCardsView("${m}")`,V=i.selectorAtoms.getRelatedKeys(U),K=i.valueMap.get(U);i.logger.info("\uD83D\uDC41","continuity",a,`seeing ${m} card values`,{valuesOfCardsViewKey:U,rootsOfCardValueView:V,myCardValueView:K})};p.off(`tx-run:${a}`,F),p.on(`tx-run:${a}`,F);const X=(z)=>{if(i.logger.info("\uD83D\uDC4D","continuity",a,`${m} acknowledged epoch ${z}`),$[0]?.epoch===z)zn(i,f,(E)=>{return E.shift(),E})};return p?.on(`ack:${a}`,X),()=>{for(let z of v)z();p?.off(`ack:${a}`,X),T(),p?.off(`get:${a}`,R),p?.off(`tx-run:${a}`,F)}}}function u(n,i){if(!n||typeof n!=="object")return!1;if(n instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,J))throw new Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let o=n.constructor;if(o)while(o){if(J in o&&o[J]===i[J])return!0;o=Object.getPrototypeOf(o)}return!1}var J=Symbol.for("drizzle:entityKind"),lV=Symbol.for("drizzle:hasOwnEntityKind");class bn{constructor(n,i){this.table=n,this.config=i,this.name=i.name,this.keyAsName=i.keyAsName,this.notNull=i.notNull,this.default=i.default,this.defaultFn=i.defaultFn,this.onUpdateFn=i.onUpdateFn,this.hasDefault=i.hasDefault,this.primary=i.primaryKey,this.isUnique=i.isUnique,this.uniqueName=i.uniqueName,this.uniqueType=i.uniqueType,this.dataType=i.dataType,this.columnType=i.columnType,this.generated=i.generated,this.generatedIdentity=i.generatedIdentity}static[J]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(n){return n}mapToDriverValue(n){return n}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class Yl{static[J]="ColumnBuilder";config;constructor(n,i,o){this.config={name:n,keyAsName:n==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:i,columnType:o,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(n){return this.config.default=n,this.config.hasDefault=!0,this}$defaultFn(n){return this.config.defaultFn=n,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(n){return this.config.onUpdateFn=n,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(n){if(this.config.name!=="")return;this.config.name=n}}var fo=Symbol.for("drizzle:Name");class ul{static[J]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(n,i){if(this.reference=()=>{const{name:o,columns:c,foreignColumns:p}=n();return{name:o,columns:c,foreignTable:p[0].table,foreignColumns:p}},i)this._onUpdate=i.onUpdate,this._onDelete=i.onDelete}onUpdate(n){return this._onUpdate=n===void 0?"no action":n,this}onDelete(n){return this._onDelete=n===void 0?"no action":n,this}build(n){return new i0(n,this)}}class i0{constructor(n,i){this.table=n,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static[J]="PgForeignKey";reference;onUpdate;onDelete;getName(){const{name:n,columns:i,foreignColumns:o}=this.reference(),c=i.map((x)=>x.name),p=o.map((x)=>x.name),a=[this.table[fo],...c,o[0].table[fo],...p];return n??`${a.join("_")}_fk`}}function Rx(n,...i){return n(...i)}function o0(n,i){return`${n[fo]}_${i.join("_")}_unique`}function c0(n,i,o){for(let c=i;c<n.length;c++){const p=n[c];if(p==="\\"){c++;continue}if(p==='"')return[n.slice(i,c).replace(/\\/g,""),c+1];if(o)continue;if(p===","||p==="}")return[n.slice(i,c).replace(/\\/g,""),c]}return[n.slice(i).replace(/\\/g,""),n.length]}function p0(n,i=0){const o=[];let c=i,p=!1;while(c<n.length){const a=n[c];if(a===","){if(p||c===i)o.push("");p=!0,c++;continue}if(p=!1,a==="\\"){c+=2;continue}if(a==='"'){const[l,f]=c0(n,c+1,!0);o.push(l),c=f;continue}if(a==="}")return[o,c+1];if(a==="{"){const[l,f]=p0(n,c+1);o.push(l),c=f;continue}const[x,m]=c0(n,c,!1);o.push(x),c=m}return[o,c]}function a0(n){const[i]=p0(n,1);return i}function Ol(n){return`{${n.map((i)=>{if(Array.isArray(i))return Ol(i);if(typeof i==="string")return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;return`${i}`}).join(",")}}`}class t extends Yl{foreignKeyConfigs=[];static[J]="PgColumnBuilder";array(n){return new m0(this.config.name,this,n)}references(n,i={}){return this.foreignKeyConfigs.push({ref:n,actions:i}),this}unique(n,i){return this.config.isUnique=!0,this.config.uniqueName=n,this.config.uniqueType=i?.nulls,this}generatedAlwaysAs(n){return this.config.generated={as:n,type:"always",mode:"stored"},this}buildForeignKeys(n,i){return this.foreignKeyConfigs.map(({ref:o,actions:c})=>{return Rx((p,a)=>{const x=new ul(()=>{const m=p();return{columns:[n],foreignColumns:[m]}});if(a.onUpdate)x.onUpdate(a.onUpdate);if(a.onDelete)x.onDelete(a.onDelete);return x.build(i)},o,c)})}buildExtraConfigColumn(n){return new x0(n,this.config)}}class j extends bn{constructor(n,i){if(!i.uniqueName)i.uniqueName=o0(n,[i.name]);super(n,i);this.table=n}static[J]="PgColumn"}class x0 extends j{static[J]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(n){return this.indexConfig.opClass=n,this}}class va{static[J]="IndexedColumn";constructor(n,i,o,c){this.name=n,this.keyAsName=i,this.type=o,this.indexConfig=c}name;keyAsName;type;indexConfig}class m0 extends t{static[J]="PgArrayBuilder";constructor(n,i,o){super(n,"array","PgArray");this.config.baseBuilder=i,this.config.size=o}build(n){const i=this.config.baseBuilder.build(n);return new Hl(n,this.config,i)}}class Hl extends j{constructor(n,i,o,c){super(n,i);this.baseColumn=o,this.range=c,this.size=i.size}size;static[J]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(n){if(typeof n==="string")n=a0(n);return n.map((i)=>this.baseColumn.mapFromDriverValue(i))}mapToDriverValue(n,i=!1){const o=n.map((c)=>c===null?null:u(this.baseColumn,Hl)?this.baseColumn.mapToDriverValue(c,!0):this.baseColumn.mapToDriverValue(c));if(i)return o;return Ol(o)}}function l0(n){return!!n&&typeof n==="function"&&El in n&&n[El]===!0}function Kx(n,i){return h4(n,i,void 0)}function h4(n,i,o){const c=Object.assign((p)=>new f0(p??"",c),{enumName:n,enumValues:i,schema:o,[El]:!0});return c}var El=Symbol.for("drizzle:isPgEnum");class f0 extends t{static[J]="PgEnumColumnBuilder";constructor(n,i){super(n,"string","PgEnumColumn");this.config.enum=i}build(n){return new $0(n,this.config)}}class $0 extends j{static[J]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(n,i){super(n,i);this.enum=i.enum}getSQLType(){return this.enum.enumName}}class fi{static[J]="Subquery";constructor(n,i,o,c=!1){this._={brand:"Subquery",sql:n,selectedFields:i,alias:o,isWith:c}}}class wa extends fi{static[J]="WithSubquery"}var v0="0.34.1";var Ql,Ul,En={startActiveSpan(n,i){if(!Ql)return i();if(!Ul)Ul=Ql.trace.getTracer("drizzle-orm",v0);return Rx((o,c)=>c.startActiveSpan(n,(p)=>{try{return i(p)}catch(a){throw p.setStatus({code:o.SpanStatusCode.ERROR,message:a instanceof Error?a.message:"Unknown error"}),a}finally{p.end()}}),Ql,Ul)}};var yn=Symbol.for("drizzle:ViewBaseConfig");function qi(n){return n[fo]}function Xc(n){return`${n[Wx]??"public"}.${n[fo]}`}var Wx=Symbol.for("drizzle:Schema"),w0=Symbol.for("drizzle:Columns"),S0=Symbol.for("drizzle:ExtraConfigColumns"),Vl=Symbol.for("drizzle:OriginalName"),bl=Symbol.for("drizzle:BaseName"),J0=Symbol.for("drizzle:IsAlias"),A0=Symbol.for("drizzle:ExtraConfigBuilder"),D4=Symbol.for("drizzle:IsDrizzleTable");class h{static[J]="Table";static Symbol={Name:fo,Schema:Wx,OriginalName:Vl,Columns:w0,ExtraConfigColumns:S0,BaseName:bl,IsAlias:J0,ExtraConfigBuilder:A0};[fo];[Vl];[Wx];[w0];[S0];[bl];[J0]=!1;[D4]=!0;[A0]=void 0;constructor(n,i,o){this[fo]=this[Vl]=n,this[Wx]=i,this[bl]=o}}function _l(n){return n!==null&&n!==void 0&&typeof n.getSQL==="function"}function I4(n){const i={sql:"",params:[]};for(let o of n)if(i.sql+=o.sql,i.params.push(...o.params),o.typings?.length){if(!i.typings)i.typings=[];i.typings.push(...o.typings)}return i}function F0(n){return typeof n==="object"&&n!==null&&"mapToDriverValue"in n&&typeof n.mapToDriverValue==="function"}function A(n,...i){const o=[];if(i.length>0||n.length>0&&n[0]!=="")o.push(new ci(n[0]));for(let[c,p]of i.entries())o.push(p,new ci(n[c+1]));return new C(o)}function sl(n,i){return n.map((o)=>{if(u(o,go)){if(!(o.name in i))throw new Error(`No value for placeholder "${o.name}" was provided`);return i[o.name]}if(u(o,Li)&&u(o.value,go)){if(!(o.value.name in i))throw new Error(`No value for placeholder "${o.value.name}" was provided`);return o.encoder.mapToDriverValue(i[o.value.name])}return o})}class ci{static[J]="StringChunk";value;constructor(n){this.value=Array.isArray(n)?n:[n]}getSQL(){return new C([this])}}class C{constructor(n){this.queryChunks=n}static[J]="SQL";decoder=T0;shouldInlineParams=!1;append(n){return this.queryChunks.push(...n.queryChunks),this}toQuery(n){return En.startActiveSpan("drizzle.buildSQL",(i)=>{const o=this.buildQueryFromSourceParams(this.queryChunks,n);return i?.setAttributes({"drizzle.query.text":o.sql,"drizzle.query.params":JSON.stringify(o.params)}),o})}buildQueryFromSourceParams(n,i){const o=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:c,escapeName:p,escapeParam:a,prepareTyping:x,inlineParams:m,paramStartIndex:l}=o;return I4(n.map((f)=>{if(u(f,ci))return{sql:f.value.join(""),params:[]};if(u(f,Xx))return{sql:p(f.value),params:[]};if(f===void 0)return{sql:"",params:[]};if(Array.isArray(f)){const $=[new ci("(")];for(let[v,S]of f.entries())if($.push(S),v<f.length-1)$.push(new ci(", "));return $.push(new ci(")")),this.buildQueryFromSourceParams($,o)}if(u(f,C))return this.buildQueryFromSourceParams(f.queryChunks,{...o,inlineParams:m||f.shouldInlineParams});if(u(f,h)){const $=f[h.Symbol.Schema],v=f[h.Symbol.Name];return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,bn)){const $=c.getColumnCasing(f);if(i.invokeSource==="indexes")return{sql:p($),params:[]};return{sql:p(f.table[h.Symbol.Name])+"."+p($),params:[]}}if(u(f,Vi)){const $=f[yn].schema,v=f[yn].name;return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,Li)){if(u(f.value,go))return{sql:a(l.value++,f),params:[f],typings:["none"]};const $=f.value===null?null:f.encoder.mapToDriverValue(f.value);if(u($,C))return this.buildQueryFromSourceParams([$],o);if(m)return{sql:this.mapInlineParam($,o),params:[]};let v=["none"];if(x)v=[x(f.encoder)];return{sql:a(l.value++,$),params:[$],typings:v}}if(u(f,go))return{sql:a(l.value++,f),params:[f],typings:["none"]};if(u(f,C.Aliased)&&f.fieldAlias!==void 0)return{sql:p(f.fieldAlias),params:[]};if(u(f,fi)){if(f._.isWith)return{sql:p(f._.alias),params:[]};return this.buildQueryFromSourceParams([new ci("("),f._.sql,new ci(") "),new Xx(f._.alias)],o)}if(l0(f)){if(f.schema)return{sql:p(f.schema)+"."+p(f.enumName),params:[]};return{sql:p(f.enumName),params:[]}}if(_l(f)){if(f.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([f.getSQL()],o);return this.buildQueryFromSourceParams([new ci("("),f.getSQL(),new ci(")")],o)}if(m)return{sql:this.mapInlineParam(f,o),params:[]};return{sql:a(l.value++,f),params:[f],typings:["none"]}}))}mapInlineParam(n,{escapeString:i}){if(n===null)return"null";if(typeof n==="number"||typeof n==="boolean")return n.toString();if(typeof n==="string")return i(n);if(typeof n==="object"){const o=n.toString();if(o==="[object Object]")return i(JSON.stringify(n));return i(o)}throw new Error("Unexpected param value: "+n)}getSQL(){return this}as(n){if(n===void 0)return this;return new C.Aliased(this,n)}mapWith(n){return this.decoder=typeof n==="function"?{mapFromDriverValue:n}:n,this}inlineParams(){return this.shouldInlineParams=!0,this}if(n){return n?this:void 0}}class Xx{constructor(n){this.value=n}static[J]="Name";brand;getSQL(){return new C([this])}}var T0={mapFromDriverValue:(n)=>n},M0={mapToDriverValue:(n)=>n},PV={...T0,...M0};class Li{constructor(n,i=M0){this.value=n,this.encoder=i}static[J]="Param";brand;getSQL(){return new C([this])}}((n)=>{function i(){return new C([])}n.empty=i;function o(l){return new C(l)}n.fromList=o;function c(l){return new C([new ci(l)])}n.raw=c;function p(l,f){const $=[];for(let[v,S]of l.entries()){if(v>0&&f!==void 0)$.push(f);$.push(S)}return new C($)}n.join=p;function a(l){return new Xx(l)}n.identifier=a;function x(l){return new go(l)}n.placeholder=x;function m(l,f){return new Li(l,f)}n.param=m})(A||(A={}));((n)=>{class i{constructor(o,c){this.sql=o,this.fieldAlias=c}static[J]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new i(this.sql,this.fieldAlias)}}n.Aliased=i})(C||(C={}));class go{constructor(n){this.name=n}static[J]="Placeholder";getSQL(){return new C([this])}}class Vi{static[J]="View";[yn];constructor({name:n,schema:i,selectedFields:o,query:c}){this[yn]={name:n,originalName:n,schema:i,selectedFields:o,query:c,isExisting:!c,isAlias:!1}}getSQL(){return new C([this])}}bn.prototype.getSQL=function(){return new C([this])};h.prototype.getSQL=function(){return new C([this])};fi.prototype.getSQL=function(){return new C([this])};function zx(n,i){return new Proxy(n,new Sa(i,!1))}function Yo(n,i){return new Proxy(n,new op(new Proxy(n.table,new Sa(i,!1))))}function jl(n,i){return new C.Aliased(Ja(n.sql,i),n.fieldAlias)}function Ja(n,i){return A.join(n.queryChunks.map((o)=>{if(u(o,bn))return Yo(o,i);if(u(o,C))return Ja(o,i);if(u(o,C.Aliased))return jl(o,i);return o}))}class op{constructor(n){this.table=n}static[J]="ColumnAliasProxyHandler";get(n,i){if(i==="table")return this.table;return n[i]}}class Sa{constructor(n,i){this.alias=n,this.replaceOriginalName=i}static[J]="TableAliasProxyHandler";get(n,i){if(i===h.Symbol.IsAlias)return!0;if(i===h.Symbol.Name)return this.alias;if(this.replaceOriginalName&&i===h.Symbol.OriginalName)return this.alias;if(i===yn)return{...n[yn],name:this.alias,isAlias:!0};if(i===h.Symbol.Columns){const c=n[h.Symbol.Columns];if(!c)return c;const p={};return Object.keys(c).map((a)=>{p[a]=new Proxy(c[a],new op(new Proxy(n,this)))}),p}const o=n[i];if(u(o,bn))return new Proxy(o,new op(new Proxy(n,this)));return o}}class Gx extends Error{static[J]="DrizzleError";constructor({message:n,cause:i}){super(n);this.name="DrizzleError",this.cause=i}}class Nl extends Gx{static[J]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function bi(n,i){if(F0(i)&&!_l(n)&&!u(n,Li)&&!u(n,go)&&!u(n,bn)&&!u(n,h)&&!u(n,Vi))return new Li(n,i);return n}function zc(...n){const i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new C(i);return new C([new ci("("),A.join(i,new ci(" and ")),new ci(")")])}function K0(...n){const i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new C(i);return new C([new ci("("),A.join(i,new ci(" or ")),new ci(")")])}function W0(n){return A`not ${n}`}function Y0(n,i){if(Array.isArray(i)){if(i.length===0)return A`false`;return A`${n} in ${i.map((o)=>bi(o,n))}`}return A`${n} in ${bi(i,n)}`}function u0(n,i){if(Array.isArray(i)){if(i.length===0)return A`true`;return A`${n} not in ${i.map((o)=>bi(o,n))}`}return A`${n} not in ${bi(i,n)}`}function O0(n){return A`${n} is null`}function H0(n){return A`${n} is not null`}function E0(n){return A`exists ${n}`}function Q0(n){return A`not exists ${n}`}function U0(n,i,o){return A`${n} between ${bi(i,n)} and ${bi(o,n)}`}function V0(n,i,o){return A`${n} not between ${bi(i,n)} and ${bi(o,n)}`}function b0(n,i){return A`${n} like ${i}`}function _0(n,i){return A`${n} not like ${i}`}function s0(n,i){return A`${n} ilike ${i}`}function j0(n,i){return A`${n} not ilike ${i}`}var uo=(n,i)=>{return A`${n} = ${bi(i,n)}`},R0=(n,i)=>{return A`${n} <> ${bi(i,n)}`},Yx=(n,i)=>{return A`${n} > ${bi(i,n)}`},X0=(n,i)=>{return A`${n} >= ${bi(i,n)}`},z0=(n,i)=>{return A`${n} < ${bi(i,n)}`},G0=(n,i)=>{return A`${n} <= ${bi(i,n)}`};function N0(n){return A`${n} asc`}function L0(n){return A`${n} desc`}class B0{static[J]="ConsoleLogWriter";write(n){console.log(n)}}class Ll{static[J]="DefaultLogger";writer;constructor(n){this.writer=n?.writer??new B0}logQuery(n,i){const o=i.map((p)=>{try{return JSON.stringify(p)}catch{return String(p)}}),c=o.length?` -- params: [${o.join(", ")}]`:"";this.writer.write(`Query: ${n}${c}`)}}class Bl{static[J]="NoopLogger";logQuery(){}}class Yi{static[J]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(n){return this.then(void 0,n)}finally(n){return this.then((i)=>{return n?.(),i},(i)=>{throw n?.(),i})}then(n,i){return this.execute().then(n,i)}}function y0(n,i,o){const c={},p=n.reduce((a,{path:x,field:m},l)=>{let f;if(u(m,bn))f=m;else if(u(m,C))f=m.decoder;else f=m.sql.decoder;let $=a;for(let[v,S]of x.entries())if(v<x.length-1){if(!(S in $))$[S]={};$=$[S]}else{const T=i[l],R=$[S]=T===null?null:f.mapFromDriverValue(T);if(o&&u(m,bn)&&x.length===2){const F=x[0];if(!(F in c))c[F]=R===null?qi(m.table):!1;else if(typeof c[F]==="string"&&c[F]!==qi(m.table))c[F]=!1}}return a},{});if(o&&Object.keys(c).length>0){for(let[a,x]of Object.entries(c))if(typeof x==="string"&&!o[x])p[a]=null}return p}function Pi(n,i){return Object.entries(n).reduce((o,[c,p])=>{if(typeof c!=="string")return o;const a=i?[...i,c]:[c];if(u(p,bn)||u(p,C)||u(p,C.Aliased))o.push({path:a,field:p});else if(u(p,h))o.push(...Pi(p[h.Symbol.Columns],a));else o.push(...Pi(p,a));return o},[])}function yl(n,i){const o=Object.keys(n),c=Object.keys(i);if(o.length!==c.length)return!1;for(let[p,a]of o.entries())if(a!==c[p])return!1;return!0}function ux(n,i){const o=Object.entries(i).filter(([,c])=>c!==void 0).map(([c,p])=>{if(u(p,C))return[c,p];else return[c,new Li(p,n[h.Symbol.Columns][c])]});if(o.length===0)throw new Error("No values to set");return Object.fromEntries(o)}function h0(n,i){for(let o of i)for(let c of Object.getOwnPropertyNames(o.prototype)){if(c==="constructor")continue;Object.defineProperty(n.prototype,c,Object.getOwnPropertyDescriptor(o.prototype,c)||Object.create(null))}}function D0(n){return n[h.Symbol.Columns]}function hl(n){return u(n,fi)?n._.alias:u(n,Vi)?n[yn].name:u(n,C)?void 0:n[h.Symbol.IsAlias]?n[h.Symbol.Name]:n[h.Symbol.BaseName]}function Jn(n,i){return{name:typeof n==="string"&&n.length>0?n:"",config:typeof n==="object"?n:i}}class nc extends t{static[J]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(n){if(n){const{name:i,...o}=n;this.config.generatedIdentity={type:"always",sequenceName:i,sequenceOptions:o}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(n){if(n){const{name:i,...o}=n;this.config.generatedIdentity={type:"byDefault",sequenceName:i,sequenceOptions:o}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}function r0(n,i){const{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new I0(o);return new C0(o)}class I0 extends nc{static[J]="PgBigInt53Builder";constructor(n){super(n,"number","PgBigInt53")}build(n){return new t0(n,this.config)}}class t0 extends j{static[J]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class C0 extends nc{static[J]="PgBigInt64Builder";constructor(n){super(n,"bigint","PgBigInt64")}build(n){return new k0(n,this.config)}}class k0 extends j{static[J]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(n){return BigInt(n)}}function g0(n,i){const{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new Z0(o);return new P0(o)}class Z0 extends t{static[J]="PgBigSerial53Builder";constructor(n){super(n,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new q0(n,this.config)}}class q0 extends j{static[J]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class P0 extends t{static[J]="PgBigSerial64Builder";constructor(n){super(n,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(n){return new e0(n,this.config)}}class e0 extends j{static[J]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(n){return BigInt(n)}}function Aa(n){return new d0(n??"")}class d0 extends t{static[J]="PgBooleanBuilder";constructor(n){super(n,"boolean","PgBoolean")}build(n){return new nw(n,this.config)}}class nw extends j{static[J]="PgBoolean";getSQLType(){return"boolean"}}function cw(n,i={}){const{name:o,config:c}=Jn(n,i);return new iw(o,c)}class iw extends t{static[J]="PgCharBuilder";constructor(n,i){super(n,"string","PgChar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new ow(n,this.config)}}class ow extends j{static[J]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function xw(n){return new pw(n??"")}class pw extends t{static[J]="PgCidrBuilder";constructor(n){super(n,"string","PgCidr")}build(n){return new aw(n,this.config)}}class aw extends j{static[J]="PgCidr";getSQLType(){return"cidr"}}function fw(n){return(i,o)=>{const{name:c,config:p}=Jn(i,o);return new mw(c,p,n)}}class mw extends t{static[J]="PgCustomColumnBuilder";constructor(n,i,o){super(n,"custom","PgCustomColumn");this.config.fieldConfig=i,this.config.customTypeParams=o}build(n){return new lw(n,this.config)}}class lw extends j{static[J]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(n,i){super(n,i);this.sqlName=i.customTypeParams.dataType(i.fieldConfig),this.mapTo=i.customTypeParams.toDriver,this.mapFrom=i.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(n){return typeof this.mapFrom==="function"?this.mapFrom(n):n}mapToDriverValue(n){return typeof this.mapTo==="function"?this.mapTo(n):n}}class jo extends t{static[J]="PgDateColumnBaseBuilder";defaultNow(){return this.default(A`now()`)}}function ww(n,i){const{name:o,config:c}=Jn(n,i);if(c?.mode==="date")return new $w(o);return new vw(o)}class $w extends jo{static[J]="PgDateBuilder";constructor(n){super(n,"date","PgDate")}build(n){return new Ox(n,this.config)}}class Ox extends j{static[J]="PgDate";getSQLType(){return"date"}mapFromDriverValue(n){return new Date(n)}mapToDriverValue(n){return n.toISOString()}}class vw extends jo{static[J]="PgDateStringBuilder";constructor(n){super(n,"string","PgDateString")}build(n){return new Hx(n,this.config)}}class Hx extends j{static[J]="PgDateString";getSQLType(){return"date"}}function Aw(n){return new Sw(n??"")}class Sw extends t{static[J]="PgDoublePrecisionBuilder";constructor(n){super(n,"number","PgDoublePrecision")}build(n){return new Jw(n,this.config)}}class Jw extends j{static[J]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseFloat(n);return n}}function Mw(n){return new Fw(n??"")}class Fw extends t{static[J]="PgInetBuilder";constructor(n){super(n,"string","PgInet")}build(n){return new Tw(n,this.config)}}class Tw extends j{static[J]="PgInet";getSQLType(){return"inet"}}function Ex(n){return new Rw(n??"")}class Rw extends nc{static[J]="PgIntegerBuilder";constructor(n){super(n,"number","PgInteger")}build(n){return new Kw(n,this.config)}}class Kw extends j{static[J]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseInt(n);return n}}function zw(n,i={}){const{name:o,config:c}=Jn(n,i);return new Ww(o,c)}class Ww extends t{static[J]="PgIntervalBuilder";constructor(n,i){super(n,"string","PgInterval");this.config.intervalConfig=i}build(n){return new Xw(n,this.config)}}class Xw extends j{static[J]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){const n=this.fields?` ${this.fields}`:"",i=this.precision?`(${this.precision})`:"";return`interval${n}${i}`}}function Yw(n){return new Gw(n??"")}class Gw extends t{static[J]="PgJsonBuilder";constructor(n){super(n,"json","PgJson")}build(n){return new Qx(n,this.config)}}class Qx extends j{static[J]="PgJson";constructor(n,i){super(n,i)}getSQLType(){return"json"}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){if(typeof n==="string")try{return JSON.parse(n)}catch{return n}return n}}function Ow(n){return new uw(n??"")}class uw extends t{static[J]="PgJsonbBuilder";constructor(n){super(n,"json","PgJsonb")}build(n){return new Ux(n,this.config)}}class Ux extends j{static[J]="PgJsonb";constructor(n,i){super(n,i)}getSQLType(){return"jsonb"}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){if(typeof n==="string")try{return JSON.parse(n)}catch{return n}return n}}function Vw(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new Hw(o);return new Qw(o)}class Hw extends t{static[J]="PgLineBuilder";constructor(n){super(n,"array","PgLine")}build(n){return new Ew(n,this.config)}}class Ew extends j{static[J]="PgLine";getSQLType(){return"line"}mapFromDriverValue(n){const[i,o,c]=n.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(o),Number.parseFloat(c)]}mapToDriverValue(n){return`{${n[0]},${n[1]},${n[2]}}`}}class Qw extends t{static[J]="PgLineABCBuilder";constructor(n){super(n,"json","PgLineABC")}build(n){return new Uw(n,this.config)}}class Uw extends j{static[J]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(n){const[i,o,c]=n.slice(1,-1).split(",");return{a:Number.parseFloat(i),b:Number.parseFloat(o),c:Number.parseFloat(c)}}mapToDriverValue(n){return`{${n.a},${n.b},${n.c}}`}}function sw(n){return new bw(n??"")}class bw extends t{static[J]="PgMacaddrBuilder";constructor(n){super(n,"string","PgMacaddr")}build(n){return new _w(n,this.config)}}class _w extends j{static[J]="PgMacaddr";getSQLType(){return"macaddr"}}function Lw(n){return new jw(n??"")}class jw extends t{static[J]="PgMacaddr8Builder";constructor(n){super(n,"string","PgMacaddr8")}build(n){return new Nw(n,this.config)}}class Nw extends j{static[J]="PgMacaddr8";getSQLType(){return"macaddr8"}}function yw(n,i){const{name:o,config:c}=Jn(n,i);return new Bw(o,c?.precision,c?.scale)}class Bw extends t{static[J]="PgNumericBuilder";constructor(n,i,o){super(n,"string","PgNumeric");this.config.precision=i,this.config.scale=o}build(n){return new Vx(n,this.config)}}class Vx extends j{static[J]="PgNumeric";precision;scale;constructor(n,i){super(n,i);this.precision=i.precision,this.scale=i.scale}getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}function Cw(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new hw(o);return new Iw(o)}class hw extends t{static[J]="PgPointTupleBuilder";constructor(n){super(n,"array","PgPointTuple")}build(n){return new Dw(n,this.config)}}class Dw extends j{static[J]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(n){if(typeof n==="string"){const[i,o]=n.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(o)]}return[n.x,n.y]}mapToDriverValue(n){return`(${n[0]},${n[1]})`}}class Iw extends t{static[J]="PgPointObjectBuilder";constructor(n){super(n,"json","PgPointObject")}build(n){return new tw(n,this.config)}}class tw extends j{static[J]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(n){if(typeof n==="string"){const[i,o]=n.slice(1,-1).split(",");return{x:Number.parseFloat(i),y:Number.parseFloat(o)}}return n}mapToDriverValue(n){return`(${n.x},${n.y})`}}function t4(n){const i=[];for(let o=0;o<n.length;o+=2)i.push(Number.parseInt(n.slice(o,o+2),16));return new Uint8Array(i)}function kw(n,i){const o=new ArrayBuffer(8),c=new DataView(o);for(let p=0;p<8;p++)c.setUint8(p,n[i+p]);return c.getFloat64(0,!0)}function Dl(n){const i=t4(n);let o=0;const c=i[o];o+=1;const p=new DataView(i.buffer),a=p.getUint32(o,c===1);o+=4;let x;if(a&536870912)x=p.getUint32(o,c===1),o+=4;if((a&65535)===1){const m=kw(i,o);o+=8;const l=kw(i,o);return o+=8,[m,l]}throw new Error("Unsupported geometry type")}function ew(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new rw(o);return new qw(o)}class rw extends t{static[J]="PgGeometryBuilder";constructor(n){super(n,"array","PgGeometry")}build(n){return new Zw(n,this.config)}}class Zw extends j{static[J]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){return Dl(n)}mapToDriverValue(n){return`point(${n[0]} ${n[1]})`}}class qw extends t{static[J]="PgGeometryObjectBuilder";constructor(n){super(n,"json","PgGeometryObject")}build(n){return new Pw(n,this.config)}}class Pw extends j{static[J]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){const i=Dl(n);return{x:i[0],y:i[1]}}mapToDriverValue(n){return`point(${n.x} ${n.y})`}}function nS(n){return new gw(n??"")}class gw extends t{static[J]="PgRealBuilder";constructor(n,i){super(n,"number","PgReal");this.config.length=i}build(n){return new dw(n,this.config)}}class dw extends j{static[J]="PgReal";constructor(n,i){super(n,i)}getSQLType(){return"real"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number.parseFloat(n);return n}}function cS(n){return new iS(n??"")}class iS extends t{static[J]="PgSerialBuilder";constructor(n){super(n,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new oS(n,this.config)}}class oS extends j{static[J]="PgSerial";getSQLType(){return"serial"}}function xS(n){return new pS(n??"")}class pS extends nc{static[J]="PgSmallIntBuilder";constructor(n){super(n,"number","PgSmallInt")}build(n){return new aS(n,this.config)}}class aS extends j{static[J]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number(n);return n}}function fS(n){return new mS(n??"")}class mS extends t{static[J]="PgSmallSerialBuilder";constructor(n){super(n,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new lS(n,this.config)}}class lS extends j{static[J]="PgSmallSerial";getSQLType(){return"smallserial"}}function wS(n,i={}){const{name:o,config:c}=Jn(n,i);return new $S(o,c)}class $S extends t{static[J]="PgTextBuilder";constructor(n,i){super(n,"string","PgText");this.config.enumValues=i.enum}build(n){return new vS(n,this.config)}}class vS extends j{static[J]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function JS(n,i={}){const{name:o,config:c}=Jn(n,i);return new SS(o,c.withTimezone??!1,c.precision)}class SS extends jo{constructor(n,i,o){super(n,"string","PgTime");this.withTimezone=i,this.precision=o,this.config.withTimezone=i,this.config.precision=o}static[J]="PgTimeBuilder";build(n){return new bx(n,this.config)}}class bx extends j{static[J]="PgTime";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function $o(n,i={}){const{name:o,config:c}=Jn(n,i);if(c?.mode==="string")return new FS(o,c.withTimezone??!1,c.precision);return new AS(o,c?.withTimezone??!1,c?.precision)}class AS extends jo{static[J]="PgTimestampBuilder";constructor(n,i,o){super(n,"date","PgTimestamp");this.config.withTimezone=i,this.config.precision=o}build(n){return new _x(n,this.config)}}class _x extends j{static[J]="PgTimestamp";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(n)=>{return new Date(this.withTimezone?n:n+"+0000")};mapToDriverValue=(n)=>{return n.toISOString()}}class FS extends jo{static[J]="PgTimestampStringBuilder";constructor(n,i,o){super(n,"string","PgTimestampString");this.config.withTimezone=i,this.config.precision=o}build(n){return new sx(n,this.config)}}class sx extends j{static[J]="PgTimestampString";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function Bi(n){return new TS(n??"")}class TS extends t{static[J]="PgUUIDBuilder";constructor(n){super(n,"string","PgUUID")}defaultRandom(){return this.default(A`gen_random_uuid()`)}build(n){return new jx(n,this.config)}}class jx extends j{static[J]="PgUUID";getSQLType(){return"uuid"}}function $i(n,i={}){const{name:o,config:c}=Jn(n,i);return new MS(o,c)}class MS extends t{static[J]="PgVarcharBuilder";constructor(n,i){super(n,"string","PgVarchar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new RS(n,this.config)}}class RS extends j{static[J]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function XS(n,i){const{name:o,config:c}=Jn(n,i);return new KS(o,c)}class KS extends t{static[J]="PgBinaryVectorBuilder";constructor(n,i){super(n,"string","PgBinaryVector");this.config.dimensions=i.dimensions}build(n){return new WS(n,this.config)}}class WS extends j{static[J]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function YS(n,i){const{name:o,config:c}=Jn(n,i);return new zS(o,c)}class zS extends t{static[J]="PgHalfVectorBuilder";constructor(n,i){super(n,"array","PgHalfVector");this.config.dimensions=i.dimensions}build(n){return new GS(n,this.config)}}class GS extends j{static[J]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){return n.slice(1,-1).split(",").map((i)=>Number.parseFloat(i))}}function HS(n,i){const{name:o,config:c}=Jn(n,i);return new uS(o,c)}class uS extends t{static[J]="PgSparseVectorBuilder";constructor(n,i){super(n,"string","PgSparseVector");this.config.dimensions=i.dimensions}build(n){return new OS(n,this.config)}}class OS extends j{static[J]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function US(n,i){const{name:o,config:c}=Jn(n,i);return new ES(o,c)}class ES extends t{static[J]="PgVectorBuilder";constructor(n,i){super(n,"array","PgVector");this.config.dimensions=i.dimensions}build(n){return new QS(n,this.config)}}class QS extends j{static[J]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){return n.slice(1,-1).split(",").map((i)=>Number.parseFloat(i))}}function VS(){return{bigint:r0,bigserial:g0,boolean:Aa,char:cw,cidr:xw,customType:fw,date:ww,doublePrecision:Aw,inet:Mw,integer:Ex,interval:zw,json:Yw,jsonb:Ow,line:Vw,macaddr:sw,macaddr8:Lw,numeric:yw,point:Cw,geometry:ew,real:nS,serial:cS,smallint:xS,smallserial:fS,text:wS,time:JS,timestamp:$o,uuid:Bi,varchar:$i,bit:XS,halfvec:YS,sparsevec:HS,vector:US}}function C4(n,i,o,c,p=n){const a=new vo(n,c,p),x=typeof i==="function"?i(VS()):i,m=Object.fromEntries(Object.entries(x).map(([$,v])=>{const S=v;S.setName($);const T=S.build(a);return a[Il].push(...S.buildForeignKeys(T,a)),[$,T]})),l=Object.fromEntries(Object.entries(x).map(([$,v])=>{const S=v;S.setName($);const T=S.buildExtraConfigColumn(a);return[$,T]})),f=Object.assign(a,m);if(f[h.Symbol.Columns]=m,f[h.Symbol.ExtraConfigColumns]=l,o)f[vo.Symbol.ExtraConfigBuilder]=o;return f}var Il=Symbol.for("drizzle:PgInlineForeignKeys");class vo extends h{static[J]="PgTable";static Symbol=Object.assign({},h.Symbol,{InlineForeignKeys:Il});[Il]=[];[h.Symbol.ExtraConfigBuilder]=void 0}var ic=(n,i,o)=>{return C4(n,i,o,void 0)};function bS(...n){if(n[0].columns)return new Fa(n[0].columns,n[0].name);return new Fa(n)}class Fa{static[J]="PgPrimaryKeyBuilder";columns;name;constructor(n,i){this.columns=n,this.name=i}build(n){return new _S(n,this.columns,this.name)}}class _S{constructor(n,i,o){this.table=n,this.columns=i,this.name=o}static[J]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[vo.Symbol.Name]}_${this.columns.map((n)=>n.name).join("_")}_pk`}}function jS(){return{and:zc,between:U0,eq:uo,exists:E0,gt:Yx,gte:X0,ilike:s0,inArray:Y0,isNull:O0,isNotNull:H0,like:b0,lt:z0,lte:G0,ne:R0,not:W0,notBetween:V0,notExists:Q0,notLike:_0,notIlike:j0,notInArray:u0,or:K0,sql:A}}function NS(){return{sql:A,asc:N0,desc:L0}}function LS(n,i){if(Object.keys(n).length===1&&"default"in n&&!u(n.default,h))n=n.default;const o={},c={},p={};for(let[a,x]of Object.entries(n))if(u(x,h)){const m=Xc(x),l=c[m];o[m]=a,p[a]={tsName:a,dbName:x[h.Symbol.Name],schema:x[h.Symbol.Schema],columns:x[h.Symbol.Columns],relations:l?.relations??{},primaryKey:l?.primaryKey??[]};for(let $ of Object.values(x[h.Symbol.Columns]))if($.primary)p[a].primaryKey.push($);const f=x[h.Symbol.ExtraConfigBuilder]?.(x[h.Symbol.ExtraConfigColumns]);if(f){for(let $ of Object.values(f))if(u($,Fa))p[a].primaryKey.push(...$.columns)}}else if(u(x,sS)){const m=Xc(x.table),l=o[m],f=x.config(i(x.table));let $;for(let[v,S]of Object.entries(f))if(l){const T=p[l];if(T.relations[v]=S,$)T.primaryKey.push(...$)}else{if(!(m in c))c[m]={relations:{},primaryKey:$};c[m].relations[v]=S}}return{tables:p,tableNamesMap:o}}function k4(n){return function i(o,c){return new oc(n,o,c,c?.fields.reduce((p,a)=>p&&a.notNull,!0)??!1)}}function r4(n){return function i(o,c){return new Ta(n,o,c)}}function BS(n,i,o){if(u(o,oc)&&o.config)return{fields:o.config.fields,references:o.config.references};const c=i[Xc(o.referencedTable)];if(!c)throw new Error(`Table "${o.referencedTable[h.Symbol.Name]}" not found in schema`);const p=n[c];if(!p)throw new Error(`Table "${c}" not found in schema`);const a=o.sourceTable,x=i[Xc(a)];if(!x)throw new Error(`Table "${a[h.Symbol.Name]}" not found in schema`);const m=[];for(let l of Object.values(p.relations))if(o.relationName&&o!==l&&l.relationName===o.relationName||!o.relationName&&l.referencedTable===o.sourceTable)m.push(l);if(m.length>1)throw o.relationName?new Error(`There are multiple relations with name "${o.relationName}" in table "${c}"`):new Error(`There are multiple relations between "${c}" and "${o.sourceTable[h.Symbol.Name]}". Please specify relation name`);if(m[0]&&u(m[0],oc)&&m[0].config)return{fields:m[0].config.references,references:m[0].config.fields};throw new Error(`There is not enough information to infer relation "${x}.${o.fieldName}"`)}function yS(n){return{one:k4(n),many:r4(n)}}function Nx(n,i,o,c,p=(a)=>a){const a={};for(let[x,m]of c.entries())if(m.isJson){const l=i.relations[m.tsKey],f=o[x],$=typeof f==="string"?JSON.parse(f):f;a[m.tsKey]=u(l,oc)?$&&Nx(n,n[m.relationTableTsKey],$,m.selection,p):$.map((v)=>Nx(n,n[m.relationTableTsKey],v,m.selection,p))}else{const l=p(o[x]),f=m.field;let $;if(u(f,bn))$=f;else if(u(f,C))$=f.decoder;else $=f.sql.decoder;a[m.tsKey]=l===null?null:$.mapFromDriverValue(l)}return a}class tl{constructor(n,i,o){this.sourceTable=n,this.referencedTable=i,this.relationName=o,this.referencedTableName=i[h.Symbol.Name]}static[J]="Relation";referencedTableName;fieldName}class sS{constructor(n,i){this.table=n,this.config=i}static[J]="Relations"}class oc extends tl{constructor(n,i,o,c){super(n,i,o?.relationName);this.config=o,this.isNullable=c}static[J]="One";withFieldName(n){const i=new oc(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=n,i}}class Ta extends tl{constructor(n,i,o){super(n,i,o?.relationName);this.config=o}static[J]="Many";withFieldName(n){const i=new Ta(this.sourceTable,this.referencedTable,this.config);return i.fieldName=n,i}}var YF=wv(GF(),1),{Server:uF,Namespace:eN,Socket:gN}=YF.default;function L7(n){EF=n}function $m(){return EF}function y(n,i){const o=$m(),c=vm({issueData:i,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,o,o===Wp?void 0:Wp].filter((p)=>!!p)});n.common.issues.push(c)}function wm(n,i,o,c){if(o==="a"&&!c)throw new TypeError("Private accessor was defined without a getter");if(typeof i==="function"?n!==i||!c:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?c:o==="a"?c.call(n):c?c.value:i.get(n)}function QF(n,i,o,c,p){if(c==="m")throw new TypeError("Private method is not writable");if(c==="a"&&!p)throw new TypeError("Private accessor was defined without a setter");if(typeof i==="function"?n!==i||!p:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return c==="a"?p.call(n,o):p?p.value=o:i.set(n,o),o}function xn(n){if(!n)return{};const{errorMap:i,invalid_type_error:o,required_error:c,description:p}=n;if(i&&(o||c))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(i)return{errorMap:i,description:p};return{errorMap:(x,m)=>{var l,f;const{message:$}=n;if(x.code==="invalid_enum_value")return{message:$!==null&&$!==void 0?$:m.defaultError};if(typeof m.data==="undefined")return{message:(l=$!==null&&$!==void 0?$:c)!==null&&l!==void 0?l:m.defaultError};if(x.code!=="invalid_type")return{message:m.defaultError};return{message:(f=$!==null&&$!==void 0?$:o)!==null&&f!==void 0?f:m.defaultError}},description:p}}function VF(n){let i="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";if(n.precision)i=`${i}\\.\\d{${n.precision}}`;else if(n.precision==null)i=`${i}(\\.\\d+)?`;return i}function g7(n){return new RegExp(`^${VF(n)}\$`)}function bF(n){let i=`${UF}T${VF(n)}`;const o=[];if(o.push(n.local?"Z?":"Z"),n.offset)o.push("([+-]\\d{2}:?\\d{2})");return i=`${i}(${o.join("|")})`,new RegExp(`^${i}\$`)}function d7(n,i){if((i==="v4"||!i)&&Z7.test(n))return!0;if((i==="v6"||!i)&&q7.test(n))return!0;return!1}function n3(n,i){const o=(n.toString().split(".")[1]||"").length,c=(i.toString().split(".")[1]||"").length,p=o>c?o:c,a=parseInt(n.toFixed(p).replace(".","")),x=parseInt(i.toFixed(p).replace(".",""));return a%x/Math.pow(10,p)}function Mp(n){if(n instanceof hn){const i={};for(let o in n.shape){const c=n.shape[o];i[o]=Mo.create(Mp(c))}return new hn({...n._def,shape:()=>i})}else if(n instanceof To)return new To({...n._def,type:Mp(n.element)});else if(n instanceof Mo)return Mo.create(Mp(n.unwrap()));else if(n instanceof ho)return ho.create(Mp(n.unwrap()));else if(n instanceof Eo)return Eo.create(n.items.map((i)=>Mp(i)));else return n}function tf(n,i){const o=mc(n),c=mc(i);if(n===i)return{valid:!0,data:n};else if(o===D.object&&c===D.object){const p=Tn.objectKeys(i),a=Tn.objectKeys(n).filter((m)=>p.indexOf(m)!==-1),x={...n,...i};for(let m of a){const l=tf(n[m],i[m]);if(!l.valid)return{valid:!1};x[m]=l.data}return{valid:!0,data:x}}else if(o===D.array&&c===D.array){if(n.length!==i.length)return{valid:!1};const p=[];for(let a=0;a<n.length;a++){const x=n[a],m=i[a],l=tf(x,m);if(!l.valid)return{valid:!1};p.push(l.data)}return{valid:!0,data:p}}else if(o===D.date&&c===D.date&&+n===+i)return{valid:!0,data:n};else return{valid:!1}}function _F(n,i){return new vc({values:n,typeName:g.ZodEnum,...xn(i)})}function sF(n,i={},o){if(n)return bc.create().superRefine((c,p)=>{var a,x;if(!n(c)){const m=typeof i==="function"?i(c):typeof i==="string"?{message:i}:i,l=(x=(a=m.fatal)!==null&&a!==void 0?a:o)!==null&&x!==void 0?x:!0,f=typeof m==="string"?{message:m}:m;p.addIssue({code:"custom",...f,fatal:l})}});return bc.create()}var Tn;(function(n){n.assertEqual=(p)=>p;function i(p){}n.assertIs=i;function o(p){throw new Error}n.assertNever=o,n.arrayToEnum=(p)=>{const a={};for(let x of p)a[x]=x;return a},n.getValidEnumValues=(p)=>{const a=n.objectKeys(p).filter((m)=>typeof p[p[m]]!=="number"),x={};for(let m of a)x[m]=p[m];return n.objectValues(x)},n.objectValues=(p)=>{return n.objectKeys(p).map(function(a){return p[a]})},n.objectKeys=typeof Object.keys==="function"?(p)=>Object.keys(p):(p)=>{const a=[];for(let x in p)if(Object.prototype.hasOwnProperty.call(p,x))a.push(x);return a},n.find=(p,a)=>{for(let x of p)if(a(x))return x;return},n.isInteger=typeof Number.isInteger==="function"?(p)=>Number.isInteger(p):(p)=>typeof p==="number"&&isFinite(p)&&Math.floor(p)===p;function c(p,a=" | "){return p.map((x)=>typeof x==="string"?`'${x}'`:x).join(a)}n.joinValues=c,n.jsonStringifyReplacer=(p,a)=>{if(typeof a==="bigint")return a.toString();return a}})(Tn||(Tn={}));var hf;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(hf||(hf={}));var D=Tn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),mc=(n)=>{switch(typeof n){case"undefined":return D.undefined;case"string":return D.string;case"number":return isNaN(n)?D.nan:D.number;case"boolean":return D.boolean;case"function":return D.function;case"bigint":return D.bigint;case"symbol":return D.symbol;case"object":if(Array.isArray(n))return D.array;if(n===null)return D.null;if(n.then&&typeof n.then==="function"&&n.catch&&typeof n.catch==="function")return D.promise;if(typeof Map!=="undefined"&&n instanceof Map)return D.map;if(typeof Set!=="undefined"&&n instanceof Set)return D.set;if(typeof Date!=="undefined"&&n instanceof Date)return D.date;return D.object;default:return D.unknown}},Q=Tn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),N7=(n)=>{return JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:")};class Ii extends Error{constructor(n){super();this.issues=[],this.addIssue=(o)=>{this.issues=[...this.issues,o]},this.addIssues=(o=[])=>{this.issues=[...this.issues,...o]};const i=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,i);else this.__proto__=i;this.name="ZodError",this.issues=n}get errors(){return this.issues}format(n){const i=n||function(p){return p.message},o={_errors:[]},c=(p)=>{for(let a of p.issues)if(a.code==="invalid_union")a.unionErrors.map(c);else if(a.code==="invalid_return_type")c(a.returnTypeError);else if(a.code==="invalid_arguments")c(a.argumentsError);else if(a.path.length===0)o._errors.push(i(a));else{let x=o,m=0;while(m<a.path.length){const l=a.path[m];if(m!==a.path.length-1)x[l]=x[l]||{_errors:[]};else x[l]=x[l]||{_errors:[]},x[l]._errors.push(i(a));x=x[l],m++}}};return c(this),o}static assert(n){if(!(n instanceof Ii))throw new Error(`Not a ZodError: ${n}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Tn.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(n=(i)=>i.message){const i={},o=[];for(let c of this.issues)if(c.path.length>0)i[c.path[0]]=i[c.path[0]]||[],i[c.path[0]].push(n(c));else o.push(n(c));return{formErrors:o,fieldErrors:i}}get formErrors(){return this.flatten()}}Ii.create=(n)=>{return new Ii(n)};var Wp=(n,i)=>{let o;switch(n.code){case Q.invalid_type:if(n.received===D.undefined)o="Required";else o=`Expected ${n.expected}, received ${n.received}`;break;case Q.invalid_literal:o=`Invalid literal value, expected ${JSON.stringify(n.expected,Tn.jsonStringifyReplacer)}`;break;case Q.unrecognized_keys:o=`Unrecognized key(s) in object: ${Tn.joinValues(n.keys,", ")}`;break;case Q.invalid_union:o="Invalid input";break;case Q.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${Tn.joinValues(n.options)}`;break;case Q.invalid_enum_value:o=`Invalid enum value. Expected ${Tn.joinValues(n.options)}, received '${n.received}'`;break;case Q.invalid_arguments:o="Invalid function arguments";break;case Q.invalid_return_type:o="Invalid function return type";break;case Q.invalid_date:o="Invalid date";break;case Q.invalid_string:if(typeof n.validation==="object")if("includes"in n.validation){if(o=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position==="number")o=`${o} at one or more positions greater than or equal to ${n.validation.position}`}else if("startsWith"in n.validation)o=`Invalid input: must start with "${n.validation.startsWith}"`;else if("endsWith"in n.validation)o=`Invalid input: must end with "${n.validation.endsWith}"`;else Tn.assertNever(n.validation);else if(n.validation!=="regex")o=`Invalid ${n.validation}`;else o="Invalid";break;case Q.too_small:if(n.type==="array")o=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`;else if(n.type==="string")o=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`;else if(n.type==="number")o=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`;else if(n.type==="date")o=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`;else o="Invalid input";break;case Q.too_big:if(n.type==="array")o=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`;else if(n.type==="string")o=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`;else if(n.type==="number")o=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`;else if(n.type==="bigint")o=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`;else if(n.type==="date")o=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`;else o="Invalid input";break;case Q.custom:o="Invalid input";break;case Q.invalid_intersection_types:o="Intersection results could not be merged";break;case Q.not_multiple_of:o=`Number must be a multiple of ${n.multipleOf}`;break;case Q.not_finite:o="Number must be finite";break;default:o=i.defaultError,Tn.assertNever(n)}return{message:o}},EF=Wp,vm=(n)=>{const{data:i,path:o,errorMaps:c,issueData:p}=n,a=[...o,...p.path||[]],x={...p,path:a};if(p.message!==void 0)return{...p,path:a,message:p.message};let m="";const l=c.filter((f)=>!!f).slice().reverse();for(let f of l)m=f(x,{data:i,defaultError:m}).message;return{...p,path:a,message:m}},B7=[];class Mi{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(n,i){const o=[];for(let c of i){if(c.status==="aborted")return nn;if(c.status==="dirty")n.dirty();o.push(c.value)}return{status:n.value,value:o}}static async mergeObjectAsync(n,i){const o=[];for(let c of i){const p=await c.key,a=await c.value;o.push({key:p,value:a})}return Mi.mergeObjectSync(n,o)}static mergeObjectSync(n,i){const o={};for(let c of i){const{key:p,value:a}=c;if(p.status==="aborted")return nn;if(a.status==="aborted")return nn;if(p.status==="dirty")n.dirty();if(a.status==="dirty")n.dirty();if(p.value!=="__proto__"&&(typeof a.value!=="undefined"||c.alwaysSet))o[p.value]=a.value}return{status:n.value,value:o}}}var nn=Object.freeze({status:"aborted"}),Rp=(n)=>({status:"dirty",value:n}),Oi=(n)=>({status:"valid",value:n}),Df=(n)=>n.status==="aborted",If=(n)=>n.status==="dirty",Oa=(n)=>n.status==="valid",Ha=(n)=>typeof Promise!=="undefined"&&n instanceof Promise;var r;(function(n){n.errToObj=(i)=>typeof i==="string"?{message:i}:i||{},n.toString=(i)=>typeof i==="string"?i:i===null||i===void 0?void 0:i.message})(r||(r={}));var Ya,ua;class Ro{constructor(n,i,o,c){this._cachedPath=[],this.parent=n,this.data=i,this._path=o,this._key=c}get path(){if(!this._cachedPath.length)if(this._key instanceof Array)this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var OF=(n,i)=>{if(Oa(i))return{success:!0,data:i.value};else{if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const o=new Ii(n.common.issues);return this._error=o,this._error}}}};class fn{constructor(n){this.spa=this.safeParseAsync,this._def=n,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(n){return mc(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:mc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new Mi,ctx:{common:n.parent.common,data:n.data,parsedType:mc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){const i=this._parse(n);if(Ha(i))throw new Error("Synchronous parse encountered promise.");return i}_parseAsync(n){const i=this._parse(n);return Promise.resolve(i)}parse(n,i){const o=this.safeParse(n,i);if(o.success)return o.data;throw o.error}safeParse(n,i){var o;const c={common:{issues:[],async:(o=i===null||i===void 0?void 0:i.async)!==null&&o!==void 0?o:!1,contextualErrorMap:i===null||i===void 0?void 0:i.errorMap},path:(i===null||i===void 0?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:mc(n)},p=this._parseSync({data:n,path:c.path,parent:c});return OF(c,p)}async parseAsync(n,i){const o=await this.safeParseAsync(n,i);if(o.success)return o.data;throw o.error}async safeParseAsync(n,i){const o={common:{issues:[],contextualErrorMap:i===null||i===void 0?void 0:i.errorMap,async:!0},path:(i===null||i===void 0?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:mc(n)},c=this._parse({data:n,path:o.path,parent:o}),p=await(Ha(c)?c:Promise.resolve(c));return OF(o,p)}refine(n,i){const o=(c)=>{if(typeof i==="string"||typeof i==="undefined")return{message:i};else if(typeof i==="function")return i(c);else return i};return this._refinement((c,p)=>{const a=n(c),x=()=>p.addIssue({code:Q.custom,...o(c)});if(typeof Promise!=="undefined"&&a instanceof Promise)return a.then((m)=>{if(!m)return x(),!1;else return!0});if(!a)return x(),!1;else return!0})}refinement(n,i){return this._refinement((o,c)=>{if(!n(o))return c.addIssue(typeof i==="function"?i(o,c):i),!1;else return!0})}_refinement(n){return new di({schema:this,typeName:g.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}optional(){return Mo.create(this,this._def)}nullable(){return ho.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return To.create(this,this._def)}promise(){return sc.create(this,this._def)}or(n){return Yp.create([this,n],this._def)}and(n){return up.create(this,n,this._def)}transform(n){return new di({...xn(this._def),schema:this,typeName:g.ZodEffects,effect:{type:"transform",transform:n}})}default(n){const i=typeof n==="function"?n:()=>n;return new Qp({...xn(this._def),innerType:this,defaultValue:i,typeName:g.ZodDefault})}brand(){return new Jm({typeName:g.ZodBranded,type:this,...xn(this._def)})}catch(n){const i=typeof n==="function"?n:()=>n;return new Up({...xn(this._def),innerType:this,catchValue:i,typeName:g.ZodCatch})}describe(n){return new this.constructor({...this._def,description:n})}pipe(n){return _a.create(this,n)}readonly(){return Vp.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var y7=/^c[^\s-]{8,}$/i,h7=/^[0-9a-z]+$/,D7=/^[0-9A-HJKMNP-TV-Z]{26}$/,I7=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,t7=/^[a-z0-9_-]{21}$/i,C7=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,k7=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,r7="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",yf,Z7=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,q7=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,P7=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,UF="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",e7=new RegExp(`^${UF}\$`);class Fo extends fn{_parse(n){if(this._def.coerce)n.data=String(n.data);if(this._getType(n)!==D.string){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.string,received:p.parsedType}),nn}const o=new Mi;let c=void 0;for(let p of this._def.checks)if(p.kind==="min"){if(n.data.length<p.value)c=this._getOrReturnCtx(n,c),y(c,{code:Q.too_small,minimum:p.value,type:"string",inclusive:!0,exact:!1,message:p.message}),o.dirty()}else if(p.kind==="max"){if(n.data.length>p.value)c=this._getOrReturnCtx(n,c),y(c,{code:Q.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!1,message:p.message}),o.dirty()}else if(p.kind==="length"){const a=n.data.length>p.value,x=n.data.length<p.value;if(a||x){if(c=this._getOrReturnCtx(n,c),a)y(c,{code:Q.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});else if(x)y(c,{code:Q.too_small,minimum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});o.dirty()}}else if(p.kind==="email"){if(!k7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"email",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="emoji"){if(!yf)yf=new RegExp(r7,"u");if(!yf.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"emoji",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="uuid"){if(!I7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"uuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="nanoid"){if(!t7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"nanoid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid"){if(!y7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"cuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid2"){if(!h7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"cuid2",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ulid"){if(!D7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"ulid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="url")try{new URL(n.data)}catch(a){c=this._getOrReturnCtx(n,c),y(c,{validation:"url",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="regex"){if(p.regex.lastIndex=0,!p.regex.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"regex",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="trim")n.data=n.data.trim();else if(p.kind==="includes"){if(!n.data.includes(p.value,p.position))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:{includes:p.value,position:p.position},message:p.message}),o.dirty()}else if(p.kind==="toLowerCase")n.data=n.data.toLowerCase();else if(p.kind==="toUpperCase")n.data=n.data.toUpperCase();else if(p.kind==="startsWith"){if(!n.data.startsWith(p.value))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:{startsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="endsWith"){if(!n.data.endsWith(p.value))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:{endsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="datetime"){if(!bF(p).test(n.data))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:"datetime",message:p.message}),o.dirty()}else if(p.kind==="date"){if(!e7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:"date",message:p.message}),o.dirty()}else if(p.kind==="time"){if(!g7(p).test(n.data))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:"time",message:p.message}),o.dirty()}else if(p.kind==="duration"){if(!C7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"duration",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ip"){if(!d7(n.data,p.version))c=this._getOrReturnCtx(n,c),y(c,{validation:"ip",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="base64"){if(!P7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"base64",code:Q.invalid_string,message:p.message}),o.dirty()}else Tn.assertNever(p);return{status:o.value,value:n.data}}_regex(n,i,o){return this.refinement((c)=>n.test(c),{validation:i,code:Q.invalid_string,...r.errToObj(o)})}_addCheck(n){return new Fo({...this._def,checks:[...this._def.checks,n]})}email(n){return this._addCheck({kind:"email",...r.errToObj(n)})}url(n){return this._addCheck({kind:"url",...r.errToObj(n)})}emoji(n){return this._addCheck({kind:"emoji",...r.errToObj(n)})}uuid(n){return this._addCheck({kind:"uuid",...r.errToObj(n)})}nanoid(n){return this._addCheck({kind:"nanoid",...r.errToObj(n)})}cuid(n){return this._addCheck({kind:"cuid",...r.errToObj(n)})}cuid2(n){return this._addCheck({kind:"cuid2",...r.errToObj(n)})}ulid(n){return this._addCheck({kind:"ulid",...r.errToObj(n)})}base64(n){return this._addCheck({kind:"base64",...r.errToObj(n)})}ip(n){return this._addCheck({kind:"ip",...r.errToObj(n)})}datetime(n){var i,o;if(typeof n==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:n});return this._addCheck({kind:"datetime",precision:typeof(n===null||n===void 0?void 0:n.precision)==="undefined"?null:n===null||n===void 0?void 0:n.precision,offset:(i=n===null||n===void 0?void 0:n.offset)!==null&&i!==void 0?i:!1,local:(o=n===null||n===void 0?void 0:n.local)!==null&&o!==void 0?o:!1,...r.errToObj(n===null||n===void 0?void 0:n.message)})}date(n){return this._addCheck({kind:"date",message:n})}time(n){if(typeof n==="string")return this._addCheck({kind:"time",precision:null,message:n});return this._addCheck({kind:"time",precision:typeof(n===null||n===void 0?void 0:n.precision)==="undefined"?null:n===null||n===void 0?void 0:n.precision,...r.errToObj(n===null||n===void 0?void 0:n.message)})}duration(n){return this._addCheck({kind:"duration",...r.errToObj(n)})}regex(n,i){return this._addCheck({kind:"regex",regex:n,...r.errToObj(i)})}includes(n,i){return this._addCheck({kind:"includes",value:n,position:i===null||i===void 0?void 0:i.position,...r.errToObj(i===null||i===void 0?void 0:i.message)})}startsWith(n,i){return this._addCheck({kind:"startsWith",value:n,...r.errToObj(i)})}endsWith(n,i){return this._addCheck({kind:"endsWith",value:n,...r.errToObj(i)})}min(n,i){return this._addCheck({kind:"min",value:n,...r.errToObj(i)})}max(n,i){return this._addCheck({kind:"max",value:n,...r.errToObj(i)})}length(n,i){return this._addCheck({kind:"length",value:n,...r.errToObj(i)})}nonempty(n){return this.min(1,r.errToObj(n))}trim(){return new Fo({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Fo({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Fo({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((n)=>n.kind==="datetime")}get isDate(){return!!this._def.checks.find((n)=>n.kind==="date")}get isTime(){return!!this._def.checks.find((n)=>n.kind==="time")}get isDuration(){return!!this._def.checks.find((n)=>n.kind==="duration")}get isEmail(){return!!this._def.checks.find((n)=>n.kind==="email")}get isURL(){return!!this._def.checks.find((n)=>n.kind==="url")}get isEmoji(){return!!this._def.checks.find((n)=>n.kind==="emoji")}get isUUID(){return!!this._def.checks.find((n)=>n.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((n)=>n.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((n)=>n.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((n)=>n.kind==="cuid2")}get isULID(){return!!this._def.checks.find((n)=>n.kind==="ulid")}get isIP(){return!!this._def.checks.find((n)=>n.kind==="ip")}get isBase64(){return!!this._def.checks.find((n)=>n.kind==="base64")}get minLength(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxLength(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}}Fo.create=(n)=>{var i;return new Fo({checks:[],typeName:g.ZodString,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...xn(n)})};class fc extends fn{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(n){if(this._def.coerce)n.data=Number(n.data);if(this._getType(n)!==D.number){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.number,received:p.parsedType}),nn}let o=void 0;const c=new Mi;for(let p of this._def.checks)if(p.kind==="int"){if(!Tn.isInteger(n.data))o=this._getOrReturnCtx(n,o),y(o,{code:Q.invalid_type,expected:"integer",received:"float",message:p.message}),c.dirty()}else if(p.kind==="min"){if(p.inclusive?n.data<p.value:n.data<=p.value)o=this._getOrReturnCtx(n,o),y(o,{code:Q.too_small,minimum:p.value,type:"number",inclusive:p.inclusive,exact:!1,message:p.message}),c.dirty()}else if(p.kind==="max"){if(p.inclusive?n.data>p.value:n.data>=p.value)o=this._getOrReturnCtx(n,o),y(o,{code:Q.too_big,maximum:p.value,type:"number",inclusive:p.inclusive,exact:!1,message:p.message}),c.dirty()}else if(p.kind==="multipleOf"){if(n3(n.data,p.value)!==0)o=this._getOrReturnCtx(n,o),y(o,{code:Q.not_multiple_of,multipleOf:p.value,message:p.message}),c.dirty()}else if(p.kind==="finite"){if(!Number.isFinite(n.data))o=this._getOrReturnCtx(n,o),y(o,{code:Q.not_finite,message:p.message}),c.dirty()}else Tn.assertNever(p);return{status:c.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,r.toString(i))}gt(n,i){return this.setLimit("min",n,!1,r.toString(i))}lte(n,i){return this.setLimit("max",n,!0,r.toString(i))}lt(n,i){return this.setLimit("max",n,!1,r.toString(i))}setLimit(n,i,o,c){return new fc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new fc({...this._def,checks:[...this._def.checks,n]})}int(n){return this._addCheck({kind:"int",message:r.toString(n)})}positive(n){return this._addCheck({kind:"min",value:0,inclusive:!1,message:r.toString(n)})}negative(n){return this._addCheck({kind:"max",value:0,inclusive:!1,message:r.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:0,inclusive:!0,message:r.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:0,inclusive:!0,message:r.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:r.toString(i)})}finite(n){return this._addCheck({kind:"finite",message:r.toString(n)})}safe(n){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:r.toString(n)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:r.toString(n)})}get minValue(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxValue(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}get isInt(){return!!this._def.checks.find((n)=>n.kind==="int"||n.kind==="multipleOf"&&Tn.isInteger(n.value))}get isFinite(){let n=null,i=null;for(let o of this._def.checks)if(o.kind==="finite"||o.kind==="int"||o.kind==="multipleOf")return!0;else if(o.kind==="min"){if(i===null||o.value>i)i=o.value}else if(o.kind==="max"){if(n===null||o.value<n)n=o.value}return Number.isFinite(i)&&Number.isFinite(n)}}fc.create=(n)=>{return new fc({checks:[],typeName:g.ZodNumber,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...xn(n)})};class $c extends fn{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(n){if(this._def.coerce)n.data=BigInt(n.data);if(this._getType(n)!==D.bigint){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.bigint,received:p.parsedType}),nn}let o=void 0;const c=new Mi;for(let p of this._def.checks)if(p.kind==="min"){if(p.inclusive?n.data<p.value:n.data<=p.value)o=this._getOrReturnCtx(n,o),y(o,{code:Q.too_small,type:"bigint",minimum:p.value,inclusive:p.inclusive,message:p.message}),c.dirty()}else if(p.kind==="max"){if(p.inclusive?n.data>p.value:n.data>=p.value)o=this._getOrReturnCtx(n,o),y(o,{code:Q.too_big,type:"bigint",maximum:p.value,inclusive:p.inclusive,message:p.message}),c.dirty()}else if(p.kind==="multipleOf"){if(n.data%p.value!==BigInt(0))o=this._getOrReturnCtx(n,o),y(o,{code:Q.not_multiple_of,multipleOf:p.value,message:p.message}),c.dirty()}else Tn.assertNever(p);return{status:c.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,r.toString(i))}gt(n,i){return this.setLimit("min",n,!1,r.toString(i))}lte(n,i){return this.setLimit("max",n,!0,r.toString(i))}lt(n,i){return this.setLimit("max",n,!1,r.toString(i))}setLimit(n,i,o,c){return new $c({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new $c({...this._def,checks:[...this._def.checks,n]})}positive(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:r.toString(n)})}negative(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:r.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:r.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:r.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:r.toString(i)})}get minValue(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxValue(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}}$c.create=(n)=>{var i;return new $c({checks:[],typeName:g.ZodBigInt,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...xn(n)})};class Xp extends fn{_parse(n){if(this._def.coerce)n.data=Boolean(n.data);if(this._getType(n)!==D.boolean){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.boolean,received:o.parsedType}),nn}return Oi(n.data)}}Xp.create=(n)=>{return new Xp({typeName:g.ZodBoolean,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...xn(n)})};class Vc extends fn{_parse(n){if(this._def.coerce)n.data=new Date(n.data);if(this._getType(n)!==D.date){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.date,received:p.parsedType}),nn}if(isNaN(n.data.getTime())){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_date}),nn}const o=new Mi;let c=void 0;for(let p of this._def.checks)if(p.kind==="min"){if(n.data.getTime()<p.value)c=this._getOrReturnCtx(n,c),y(c,{code:Q.too_small,message:p.message,inclusive:!0,exact:!1,minimum:p.value,type:"date"}),o.dirty()}else if(p.kind==="max"){if(n.data.getTime()>p.value)c=this._getOrReturnCtx(n,c),y(c,{code:Q.too_big,message:p.message,inclusive:!0,exact:!1,maximum:p.value,type:"date"}),o.dirty()}else Tn.assertNever(p);return{status:o.value,value:new Date(n.data.getTime())}}_addCheck(n){return new Vc({...this._def,checks:[...this._def.checks,n]})}min(n,i){return this._addCheck({kind:"min",value:n.getTime(),message:r.toString(i)})}max(n,i){return this._addCheck({kind:"max",value:n.getTime(),message:r.toString(i)})}get minDate(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n!=null?new Date(n):null}get maxDate(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n!=null?new Date(n):null}}Vc.create=(n)=>{return new Vc({checks:[],coerce:(n===null||n===void 0?void 0:n.coerce)||!1,typeName:g.ZodDate,...xn(n)})};class Ea extends fn{_parse(n){if(this._getType(n)!==D.symbol){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.symbol,received:o.parsedType}),nn}return Oi(n.data)}}Ea.create=(n)=>{return new Ea({typeName:g.ZodSymbol,...xn(n)})};class zp extends fn{_parse(n){if(this._getType(n)!==D.undefined){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.undefined,received:o.parsedType}),nn}return Oi(n.data)}}zp.create=(n)=>{return new zp({typeName:g.ZodUndefined,...xn(n)})};class Gp extends fn{_parse(n){if(this._getType(n)!==D.null){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.null,received:o.parsedType}),nn}return Oi(n.data)}}Gp.create=(n)=>{return new Gp({typeName:g.ZodNull,...xn(n)})};class bc extends fn{constructor(){super(...arguments);this._any=!0}_parse(n){return Oi(n.data)}}bc.create=(n)=>{return new bc({typeName:g.ZodAny,...xn(n)})};class lc extends fn{constructor(){super(...arguments);this._unknown=!0}_parse(n){return Oi(n.data)}}lc.create=(n)=>{return new lc({typeName:g.ZodUnknown,...xn(n)})};class Ho extends fn{_parse(n){const i=this._getOrReturnCtx(n);return y(i,{code:Q.invalid_type,expected:D.never,received:i.parsedType}),nn}}Ho.create=(n)=>{return new Ho({typeName:g.ZodNever,...xn(n)})};class Qa extends fn{_parse(n){if(this._getType(n)!==D.undefined){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.void,received:o.parsedType}),nn}return Oi(n.data)}}Qa.create=(n)=>{return new Qa({typeName:g.ZodVoid,...xn(n)})};class To extends fn{_parse(n){const{ctx:i,status:o}=this._processInputParams(n),c=this._def;if(i.parsedType!==D.array)return y(i,{code:Q.invalid_type,expected:D.array,received:i.parsedType}),nn;if(c.exactLength!==null){const a=i.data.length>c.exactLength.value,x=i.data.length<c.exactLength.value;if(a||x)y(i,{code:a?Q.too_big:Q.too_small,minimum:x?c.exactLength.value:void 0,maximum:a?c.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:c.exactLength.message}),o.dirty()}if(c.minLength!==null){if(i.data.length<c.minLength.value)y(i,{code:Q.too_small,minimum:c.minLength.value,type:"array",inclusive:!0,exact:!1,message:c.minLength.message}),o.dirty()}if(c.maxLength!==null){if(i.data.length>c.maxLength.value)y(i,{code:Q.too_big,maximum:c.maxLength.value,type:"array",inclusive:!0,exact:!1,message:c.maxLength.message}),o.dirty()}if(i.common.async)return Promise.all([...i.data].map((a,x)=>{return c.type._parseAsync(new Ro(i,a,i.path,x))})).then((a)=>{return Mi.mergeArray(o,a)});const p=[...i.data].map((a,x)=>{return c.type._parseSync(new Ro(i,a,i.path,x))});return Mi.mergeArray(o,p)}get element(){return this._def.type}min(n,i){return new To({...this._def,minLength:{value:n,message:r.toString(i)}})}max(n,i){return new To({...this._def,maxLength:{value:n,message:r.toString(i)}})}length(n,i){return new To({...this._def,exactLength:{value:n,message:r.toString(i)}})}nonempty(n){return this.min(1,n)}}To.create=(n,i)=>{return new To({type:n,minLength:null,maxLength:null,exactLength:null,typeName:g.ZodArray,...xn(i)})};class hn extends fn{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const n=this._def.shape(),i=Tn.objectKeys(n);return this._cached={shape:n,keys:i}}_parse(n){if(this._getType(n)!==D.object){const l=this._getOrReturnCtx(n);return y(l,{code:Q.invalid_type,expected:D.object,received:l.parsedType}),nn}const{status:o,ctx:c}=this._processInputParams(n),{shape:p,keys:a}=this._getCached(),x=[];if(!(this._def.catchall instanceof Ho&&this._def.unknownKeys==="strip")){for(let l in c.data)if(!a.includes(l))x.push(l)}const m=[];for(let l of a){const f=p[l],$=c.data[l];m.push({key:{status:"valid",value:l},value:f._parse(new Ro(c,$,c.path,l)),alwaysSet:l in c.data})}if(this._def.catchall instanceof Ho){const l=this._def.unknownKeys;if(l==="passthrough")for(let f of x)m.push({key:{status:"valid",value:f},value:{status:"valid",value:c.data[f]}});else if(l==="strict"){if(x.length>0)y(c,{code:Q.unrecognized_keys,keys:x}),o.dirty()}else if(l==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(let f of x){const $=c.data[f];m.push({key:{status:"valid",value:f},value:l._parse(new Ro(c,$,c.path,f)),alwaysSet:f in c.data})}}if(c.common.async)return Promise.resolve().then(async()=>{const l=[];for(let f of m){const $=await f.key,v=await f.value;l.push({key:$,value:v,alwaysSet:f.alwaysSet})}return l}).then((l)=>{return Mi.mergeObjectSync(o,l)});else return Mi.mergeObjectSync(o,m)}get shape(){return this._def.shape()}strict(n){return r.errToObj,new hn({...this._def,unknownKeys:"strict",...n!==void 0?{errorMap:(i,o)=>{var c,p,a,x;const m=(a=(p=(c=this._def).errorMap)===null||p===void 0?void 0:p.call(c,i,o).message)!==null&&a!==void 0?a:o.defaultError;if(i.code==="unrecognized_keys")return{message:(x=r.errToObj(n).message)!==null&&x!==void 0?x:m};return{message:m}}}:{}})}strip(){return new hn({...this._def,unknownKeys:"strip"})}passthrough(){return new hn({...this._def,unknownKeys:"passthrough"})}extend(n){return new hn({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new hn({unknownKeys:n._def.unknownKeys,catchall:n._def.catchall,shape:()=>({...this._def.shape(),...n._def.shape()}),typeName:g.ZodObject})}setKey(n,i){return this.augment({[n]:i})}catchall(n){return new hn({...this._def,catchall:n})}pick(n){const i={};return Tn.objectKeys(n).forEach((o)=>{if(n[o]&&this.shape[o])i[o]=this.shape[o]}),new hn({...this._def,shape:()=>i})}omit(n){const i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(!n[o])i[o]=this.shape[o]}),new hn({...this._def,shape:()=>i})}deepPartial(){return Mp(this)}partial(n){const i={};return Tn.objectKeys(this.shape).forEach((o)=>{const c=this.shape[o];if(n&&!n[o])i[o]=c;else i[o]=c.optional()}),new hn({...this._def,shape:()=>i})}required(n){const i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(n&&!n[o])i[o]=this.shape[o];else{let p=this.shape[o];while(p instanceof Mo)p=p._def.innerType;i[o]=p}}),new hn({...this._def,shape:()=>i})}keyof(){return _F(Tn.objectKeys(this.shape))}}hn.create=(n,i)=>{return new hn({shape:()=>n,unknownKeys:"strip",catchall:Ho.create(),typeName:g.ZodObject,...xn(i)})};hn.strictCreate=(n,i)=>{return new hn({shape:()=>n,unknownKeys:"strict",catchall:Ho.create(),typeName:g.ZodObject,...xn(i)})};hn.lazycreate=(n,i)=>{return new hn({shape:n,unknownKeys:"strip",catchall:Ho.create(),typeName:g.ZodObject,...xn(i)})};class Yp extends fn{_parse(n){const{ctx:i}=this._processInputParams(n),o=this._def.options;function c(p){for(let x of p)if(x.result.status==="valid")return x.result;for(let x of p)if(x.result.status==="dirty")return i.common.issues.push(...x.ctx.common.issues),x.result;const a=p.map((x)=>new Ii(x.ctx.common.issues));return y(i,{code:Q.invalid_union,unionErrors:a}),nn}if(i.common.async)return Promise.all(o.map(async(p)=>{const a={...i,common:{...i.common,issues:[]},parent:null};return{result:await p._parseAsync({data:i.data,path:i.path,parent:a}),ctx:a}})).then(c);else{let p=void 0;const a=[];for(let m of o){const l={...i,common:{...i.common,issues:[]},parent:null},f=m._parseSync({data:i.data,path:i.path,parent:l});if(f.status==="valid")return f;else if(f.status==="dirty"&&!p)p={result:f,ctx:l};if(l.common.issues.length)a.push(l.common.issues)}if(p)return i.common.issues.push(...p.ctx.common.issues),p.result;const x=a.map((m)=>new Ii(m));return y(i,{code:Q.invalid_union,unionErrors:x}),nn}}get options(){return this._def.options}}Yp.create=(n,i)=>{return new Yp({options:n,typeName:g.ZodUnion,...xn(i)})};var yo=(n)=>{if(n instanceof Op)return yo(n.schema);else if(n instanceof di)return yo(n.innerType());else if(n instanceof Hp)return[n.value];else if(n instanceof vc)return n.options;else if(n instanceof Ep)return Tn.objectValues(n.enum);else if(n instanceof Qp)return yo(n._def.innerType);else if(n instanceof zp)return[void 0];else if(n instanceof Gp)return[null];else if(n instanceof Mo)return[void 0,...yo(n.unwrap())];else if(n instanceof ho)return[null,...yo(n.unwrap())];else if(n instanceof Jm)return yo(n.unwrap());else if(n instanceof Vp)return yo(n.unwrap());else if(n instanceof Up)return yo(n._def.innerType);else return[]};class Sm extends fn{_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==D.object)return y(i,{code:Q.invalid_type,expected:D.object,received:i.parsedType}),nn;const o=this.discriminator,c=i.data[o],p=this.optionsMap.get(c);if(!p)return y(i,{code:Q.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[o]}),nn;if(i.common.async)return p._parseAsync({data:i.data,path:i.path,parent:i});else return p._parseSync({data:i.data,path:i.path,parent:i})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(n,i,o){const c=new Map;for(let p of i){const a=yo(p.shape[n]);if(!a.length)throw new Error(`A discriminator value for key \`${n}\` could not be extracted from all schema options`);for(let x of a){if(c.has(x))throw new Error(`Discriminator property ${String(n)} has duplicate value ${String(x)}`);c.set(x,p)}}return new Sm({typeName:g.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:c,...xn(o)})}}class up extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n),c=(p,a)=>{if(Df(p)||Df(a))return nn;const x=tf(p.value,a.value);if(!x.valid)return y(o,{code:Q.invalid_intersection_types}),nn;if(If(p)||If(a))i.dirty();return{status:i.value,value:x.data}};if(o.common.async)return Promise.all([this._def.left._parseAsync({data:o.data,path:o.path,parent:o}),this._def.right._parseAsync({data:o.data,path:o.path,parent:o})]).then(([p,a])=>c(p,a));else return c(this._def.left._parseSync({data:o.data,path:o.path,parent:o}),this._def.right._parseSync({data:o.data,path:o.path,parent:o}))}}up.create=(n,i,o)=>{return new up({left:n,right:i,typeName:g.ZodIntersection,...xn(o)})};class Eo extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==D.array)return y(o,{code:Q.invalid_type,expected:D.array,received:o.parsedType}),nn;if(o.data.length<this._def.items.length)return y(o,{code:Q.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),nn;if(!this._def.rest&&o.data.length>this._def.items.length)y(o,{code:Q.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i.dirty();const p=[...o.data].map((a,x)=>{const m=this._def.items[x]||this._def.rest;if(!m)return null;return m._parse(new Ro(o,a,o.path,x))}).filter((a)=>!!a);if(o.common.async)return Promise.all(p).then((a)=>{return Mi.mergeArray(i,a)});else return Mi.mergeArray(i,p)}get items(){return this._def.items}rest(n){return new Eo({...this._def,rest:n})}}Eo.create=(n,i)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Eo({items:n,typeName:g.ZodTuple,rest:null,...xn(i)})};class Ua extends fn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==D.object)return y(o,{code:Q.invalid_type,expected:D.object,received:o.parsedType}),nn;const c=[],p=this._def.keyType,a=this._def.valueType;for(let x in o.data)c.push({key:p._parse(new Ro(o,x,o.path,x)),value:a._parse(new Ro(o,o.data[x],o.path,x)),alwaysSet:x in o.data});if(o.common.async)return Mi.mergeObjectAsync(i,c);else return Mi.mergeObjectSync(i,c)}get element(){return this._def.valueType}static create(n,i,o){if(i instanceof fn)return new Ua({keyType:n,valueType:i,typeName:g.ZodRecord,...xn(o)});return new Ua({keyType:Fo.create(),valueType:n,typeName:g.ZodRecord,...xn(i)})}}class Va extends fn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==D.map)return y(o,{code:Q.invalid_type,expected:D.map,received:o.parsedType}),nn;const c=this._def.keyType,p=this._def.valueType,a=[...o.data.entries()].map(([x,m],l)=>{return{key:c._parse(new Ro(o,x,o.path,[l,"key"])),value:p._parse(new Ro(o,m,o.path,[l,"value"]))}});if(o.common.async){const x=new Map;return Promise.resolve().then(async()=>{for(let m of a){const l=await m.key,f=await m.value;if(l.status==="aborted"||f.status==="aborted")return nn;if(l.status==="dirty"||f.status==="dirty")i.dirty();x.set(l.value,f.value)}return{status:i.value,value:x}})}else{const x=new Map;for(let m of a){const{key:l,value:f}=m;if(l.status==="aborted"||f.status==="aborted")return nn;if(l.status==="dirty"||f.status==="dirty")i.dirty();x.set(l.value,f.value)}return{status:i.value,value:x}}}}Va.create=(n,i,o)=>{return new Va({valueType:i,keyType:n,typeName:g.ZodMap,...xn(o)})};class _c extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==D.set)return y(o,{code:Q.invalid_type,expected:D.set,received:o.parsedType}),nn;const c=this._def;if(c.minSize!==null){if(o.data.size<c.minSize.value)y(o,{code:Q.too_small,minimum:c.minSize.value,type:"set",inclusive:!0,exact:!1,message:c.minSize.message}),i.dirty()}if(c.maxSize!==null){if(o.data.size>c.maxSize.value)y(o,{code:Q.too_big,maximum:c.maxSize.value,type:"set",inclusive:!0,exact:!1,message:c.maxSize.message}),i.dirty()}const p=this._def.valueType;function a(m){const l=new Set;for(let f of m){if(f.status==="aborted")return nn;if(f.status==="dirty")i.dirty();l.add(f.value)}return{status:i.value,value:l}}const x=[...o.data.values()].map((m,l)=>p._parse(new Ro(o,m,o.path,l)));if(o.common.async)return Promise.all(x).then((m)=>a(m));else return a(x)}min(n,i){return new _c({...this._def,minSize:{value:n,message:r.toString(i)}})}max(n,i){return new _c({...this._def,maxSize:{value:n,message:r.toString(i)}})}size(n,i){return this.min(n,i).max(n,i)}nonempty(n){return this.min(1,n)}}_c.create=(n,i)=>{return new _c({valueType:n,minSize:null,maxSize:null,typeName:g.ZodSet,...xn(i)})};class Kp extends fn{constructor(){super(...arguments);this.validate=this.implement}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==D.function)return y(i,{code:Q.invalid_type,expected:D.function,received:i.parsedType}),nn;function o(x,m){return vm({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,$m(),Wp].filter((l)=>!!l),issueData:{code:Q.invalid_arguments,argumentsError:m}})}function c(x,m){return vm({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,$m(),Wp].filter((l)=>!!l),issueData:{code:Q.invalid_return_type,returnTypeError:m}})}const p={errorMap:i.common.contextualErrorMap},a=i.data;if(this._def.returns instanceof sc){const x=this;return Oi(async function(...m){const l=new Ii([]),f=await x._def.args.parseAsync(m,p).catch((S)=>{throw l.addIssue(o(m,S)),l}),$=await Reflect.apply(a,this,f);return await x._def.returns._def.type.parseAsync($,p).catch((S)=>{throw l.addIssue(c($,S)),l})})}else{const x=this;return Oi(function(...m){const l=x._def.args.safeParse(m,p);if(!l.success)throw new Ii([o(m,l.error)]);const f=Reflect.apply(a,this,l.data),$=x._def.returns.safeParse(f,p);if(!$.success)throw new Ii([c(f,$.error)]);return $.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...n){return new Kp({...this._def,args:Eo.create(n).rest(lc.create())})}returns(n){return new Kp({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,o){return new Kp({args:n?n:Eo.create([]).rest(lc.create()),returns:i||lc.create(),typeName:g.ZodFunction,...xn(o)})}}class Op extends fn{get schema(){return this._def.getter()}_parse(n){const{ctx:i}=this._processInputParams(n);return this._def.getter()._parse({data:i.data,path:i.path,parent:i})}}Op.create=(n,i)=>{return new Op({getter:n,typeName:g.ZodLazy,...xn(i)})};class Hp extends fn{_parse(n){if(n.data!==this._def.value){const i=this._getOrReturnCtx(n);return y(i,{received:i.data,code:Q.invalid_literal,expected:this._def.value}),nn}return{status:"valid",value:n.data}}get value(){return this._def.value}}Hp.create=(n,i)=>{return new Hp({value:n,typeName:g.ZodLiteral,...xn(i)})};class vc extends fn{constructor(){super(...arguments);Ya.set(this,void 0)}_parse(n){if(typeof n.data!=="string"){const i=this._getOrReturnCtx(n),o=this._def.values;return y(i,{expected:Tn.joinValues(o),received:i.parsedType,code:Q.invalid_type}),nn}if(!wm(this,Ya,"f"))QF(this,Ya,new Set(this._def.values),"f");if(!wm(this,Ya,"f").has(n.data)){const i=this._getOrReturnCtx(n),o=this._def.values;return y(i,{received:i.data,code:Q.invalid_enum_value,options:o}),nn}return Oi(n.data)}get options(){return this._def.values}get enum(){const n={};for(let i of this._def.values)n[i]=i;return n}get Values(){const n={};for(let i of this._def.values)n[i]=i;return n}get Enum(){const n={};for(let i of this._def.values)n[i]=i;return n}extract(n,i=this._def){return vc.create(n,{...this._def,...i})}exclude(n,i=this._def){return vc.create(this.options.filter((o)=>!n.includes(o)),{...this._def,...i})}}Ya=new WeakMap;vc.create=_F;class Ep extends fn{constructor(){super(...arguments);ua.set(this,void 0)}_parse(n){const i=Tn.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(n);if(o.parsedType!==D.string&&o.parsedType!==D.number){const c=Tn.objectValues(i);return y(o,{expected:Tn.joinValues(c),received:o.parsedType,code:Q.invalid_type}),nn}if(!wm(this,ua,"f"))QF(this,ua,new Set(Tn.getValidEnumValues(this._def.values)),"f");if(!wm(this,ua,"f").has(n.data)){const c=Tn.objectValues(i);return y(o,{received:o.data,code:Q.invalid_enum_value,options:c}),nn}return Oi(n.data)}get enum(){return this._def.values}}ua=new WeakMap;Ep.create=(n,i)=>{return new Ep({values:n,typeName:g.ZodNativeEnum,...xn(i)})};class sc extends fn{unwrap(){return this._def.type}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==D.promise&&i.common.async===!1)return y(i,{code:Q.invalid_type,expected:D.promise,received:i.parsedType}),nn;const o=i.parsedType===D.promise?i.data:Promise.resolve(i.data);return Oi(o.then((c)=>{return this._def.type.parseAsync(c,{path:i.path,errorMap:i.common.contextualErrorMap})}))}}sc.create=(n,i)=>{return new sc({type:n,typeName:g.ZodPromise,...xn(i)})};class di extends fn{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===g.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(n){const{status:i,ctx:o}=this._processInputParams(n),c=this._def.effect||null,p={addIssue:(a)=>{if(y(o,a),a.fatal)i.abort();else i.dirty()},get path(){return o.path}};if(p.addIssue=p.addIssue.bind(p),c.type==="preprocess"){const a=c.transform(o.data,p);if(o.common.async)return Promise.resolve(a).then(async(x)=>{if(i.value==="aborted")return nn;const m=await this._def.schema._parseAsync({data:x,path:o.path,parent:o});if(m.status==="aborted")return nn;if(m.status==="dirty")return Rp(m.value);if(i.value==="dirty")return Rp(m.value);return m});else{if(i.value==="aborted")return nn;const x=this._def.schema._parseSync({data:a,path:o.path,parent:o});if(x.status==="aborted")return nn;if(x.status==="dirty")return Rp(x.value);if(i.value==="dirty")return Rp(x.value);return x}}if(c.type==="refinement"){const a=(x)=>{const m=c.refinement(x,p);if(o.common.async)return Promise.resolve(m);if(m instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return x};if(o.common.async===!1){const x=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(x.status==="aborted")return nn;if(x.status==="dirty")i.dirty();return a(x.value),{status:i.value,value:x.value}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((x)=>{if(x.status==="aborted")return nn;if(x.status==="dirty")i.dirty();return a(x.value).then(()=>{return{status:i.value,value:x.value}})})}if(c.type==="transform")if(o.common.async===!1){const a=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!Oa(a))return a;const x=c.transform(a.value,p);if(x instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:i.value,value:x}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((a)=>{if(!Oa(a))return a;return Promise.resolve(c.transform(a.value,p)).then((x)=>({status:i.value,value:x}))});Tn.assertNever(c)}}di.create=(n,i,o)=>{return new di({schema:n,typeName:g.ZodEffects,effect:i,...xn(o)})};di.createWithPreprocess=(n,i,o)=>{return new di({schema:i,effect:{type:"preprocess",transform:n},typeName:g.ZodEffects,...xn(o)})};class Mo extends fn{_parse(n){if(this._getType(n)===D.undefined)return Oi(void 0);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}Mo.create=(n,i)=>{return new Mo({innerType:n,typeName:g.ZodOptional,...xn(i)})};class ho extends fn{_parse(n){if(this._getType(n)===D.null)return Oi(null);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}ho.create=(n,i)=>{return new ho({innerType:n,typeName:g.ZodNullable,...xn(i)})};class Qp extends fn{_parse(n){const{ctx:i}=this._processInputParams(n);let o=i.data;if(i.parsedType===D.undefined)o=this._def.defaultValue();return this._def.innerType._parse({data:o,path:i.path,parent:i})}removeDefault(){return this._def.innerType}}Qp.create=(n,i)=>{return new Qp({innerType:n,typeName:g.ZodDefault,defaultValue:typeof i.default==="function"?i.default:()=>i.default,...xn(i)})};class Up extends fn{_parse(n){const{ctx:i}=this._processInputParams(n),o={...i,common:{...i.common,issues:[]}},c=this._def.innerType._parse({data:o.data,path:o.path,parent:{...o}});if(Ha(c))return c.then((p)=>{return{status:"valid",value:p.status==="valid"?p.value:this._def.catchValue({get error(){return new Ii(o.common.issues)},input:o.data})}});else return{status:"valid",value:c.status==="valid"?c.value:this._def.catchValue({get error(){return new Ii(o.common.issues)},input:o.data})}}removeCatch(){return this._def.innerType}}Up.create=(n,i)=>{return new Up({innerType:n,typeName:g.ZodCatch,catchValue:typeof i.catch==="function"?i.catch:()=>i.catch,...xn(i)})};class ba extends fn{_parse(n){if(this._getType(n)!==D.nan){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.nan,received:o.parsedType}),nn}return{status:"valid",value:n.data}}}ba.create=(n)=>{return new ba({typeName:g.ZodNaN,...xn(n)})};var i3=Symbol("zod_brand");class Jm extends fn{_parse(n){const{ctx:i}=this._processInputParams(n),o=i.data;return this._def.type._parse({data:o,path:i.path,parent:i})}unwrap(){return this._def.type}}class _a extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.common.async)return(async()=>{const p=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});if(p.status==="aborted")return nn;if(p.status==="dirty")return i.dirty(),Rp(p.value);else return this._def.out._parseAsync({data:p.value,path:o.path,parent:o})})();else{const c=this._def.in._parseSync({data:o.data,path:o.path,parent:o});if(c.status==="aborted")return nn;if(c.status==="dirty")return i.dirty(),{status:"dirty",value:c.value};else return this._def.out._parseSync({data:c.value,path:o.path,parent:o})}}static create(n,i){return new _a({in:n,out:i,typeName:g.ZodPipeline})}}class Vp extends fn{_parse(n){const i=this._def.innerType._parse(n),o=(c)=>{if(Oa(c))c.value=Object.freeze(c.value);return c};return Ha(i)?i.then((c)=>o(c)):o(i)}unwrap(){return this._def.innerType}}Vp.create=(n,i)=>{return new Vp({innerType:n,typeName:g.ZodReadonly,...xn(i)})};var o3={object:hn.lazycreate},g;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(g||(g={}));var c3=(n,i={message:`Input not instance of ${n.name}`})=>sF((o)=>o instanceof n,i),jF=Fo.create,NF=fc.create,p3=ba.create,a3=$c.create,LF=Xp.create,x3=Vc.create,m3=Ea.create,l3=zp.create,f3=Gp.create,$3=bc.create,v3=lc.create,w3=Ho.create,S3=Qa.create,J3=To.create,sa=hn.create,A3=hn.strictCreate,F3=Yp.create,T3=Sm.create,M3=up.create,R3=Eo.create,K3=Ua.create,W3=Va.create,X3=_c.create,z3=Kp.create,G3=Op.create,Y3=Hp.create,u3=vc.create,O3=Ep.create,H3=sc.create,HF=di.create,E3=Mo.create,Q3=ho.create,U3=di.createWithPreprocess,V3=_a.create,b3=()=>jF().optional(),_3=()=>NF().optional(),s3=()=>LF().optional(),j3={string:(n)=>Fo.create({...n,coerce:!0}),number:(n)=>fc.create({...n,coerce:!0}),boolean:(n)=>Xp.create({...n,coerce:!0}),bigint:(n)=>$c.create({...n,coerce:!0}),date:(n)=>Vc.create({...n,coerce:!0})},N3=nn,_n=Object.freeze({__proto__:null,defaultErrorMap:Wp,setErrorMap:L7,getErrorMap:$m,makeIssue:vm,EMPTY_PATH:B7,addIssueToContext:y,ParseStatus:Mi,INVALID:nn,DIRTY:Rp,OK:Oi,isAborted:Df,isDirty:If,isValid:Oa,isAsync:Ha,get util(){return Tn},get objectUtil(){return hf},ZodParsedType:D,getParsedType:mc,ZodType:fn,datetimeRegex:bF,ZodString:Fo,ZodNumber:fc,ZodBigInt:$c,ZodBoolean:Xp,ZodDate:Vc,ZodSymbol:Ea,ZodUndefined:zp,ZodNull:Gp,ZodAny:bc,ZodUnknown:lc,ZodNever:Ho,ZodVoid:Qa,ZodArray:To,ZodObject:hn,ZodUnion:Yp,ZodDiscriminatedUnion:Sm,ZodIntersection:up,ZodTuple:Eo,ZodRecord:Ua,ZodMap:Va,ZodSet:_c,ZodFunction:Kp,ZodLazy:Op,ZodLiteral:Hp,ZodEnum:vc,ZodNativeEnum:Ep,ZodPromise:sc,ZodEffects:di,ZodTransformer:di,ZodOptional:Mo,ZodNullable:ho,ZodDefault:Qp,ZodCatch:Up,ZodNaN:ba,BRAND:i3,ZodBranded:Jm,ZodPipeline:_a,ZodReadonly:Vp,custom:sF,Schema:fn,ZodSchema:fn,late:o3,get ZodFirstPartyTypeKind(){return g},coerce:j3,any:$3,array:J3,bigint:a3,boolean:LF,date:x3,discriminatedUnion:T3,effect:HF,enum:u3,function:z3,instanceof:c3,intersection:M3,lazy:G3,literal:Y3,map:W3,nan:p3,nativeEnum:O3,never:w3,null:f3,nullable:Q3,number:NF,object:sa,oboolean:s3,onumber:_3,optional:E3,ostring:b3,pipeline:V3,preprocess:U3,promise:H3,record:K3,set:X3,strictObject:A3,string:jF,symbol:m3,transformer:HF,tuple:R3,undefined:l3,union:F3,unknown:v3,void:S3,NEVER:N3,ZodIssueCode:Q,quotelessJson:N7,ZodError:Ii});function BF(n){const i=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[M,O]of Object.entries(i))if(O==="")delete i[M]}if(!!n.skipValidation)return i;const p=typeof n.client==="object"?n.client:{},a=typeof n.server==="object"?n.server:{},x=typeof n.shared==="object"?n.shared:{},m=sa(p),l=sa(a),f=sa(x),$=n.isServer??(typeof window==="undefined"||("Deno"in window)),v=m.merge(f),S=l.merge(f).merge(m),T=$?S.safeParse(i):v.safeParse(i),R=n.onValidationError??((M)=>{throw console.error("\u274C Invalid environment variables:",M.flatten().fieldErrors),new Error("Invalid environment variables")}),F=n.onInvalidAccess??((M)=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(T.success===!1)return R(T.error);const X=(M)=>{if(!n.clientPrefix)return!0;return!M.startsWith(n.clientPrefix)&&!(M in f.shape)},z=(M)=>{return $||!X(M)},Y=(M)=>{return M==="__esModule"||M==="$$typeof"},E=(n.extends??[]).reduce((M,O)=>{return Object.assign(M,O)},{}),s=Object.assign(T.data,E);return new Proxy(s,{get(M,O){if(typeof O!=="string")return;if(Y(O))return;if(!z(O))return F(O);return Reflect.get(M,O)}})}var pi=BF({isServer:typeof window==="undefined",server:{POSTGRES_USER:_n.string(),POSTGRES_PASSWORD:_n.string(),POSTGRES_DATABASE:_n.string(),POSTGRES_HOST:_n.string(),POSTGRES_PORT:_n.string().transform((n)=>Number.parseInt(n,10)),BACKEND_PORT:_n.string().transform((n)=>Number.parseInt(n,10)),RUN_WORKERS_FROM_SOURCE:_n.union([_n.literal("true"),_n.literal("false")]).optional().transform((n)=>n==="true"),FRONTEND_PORT:_n.string().transform((n)=>Number.parseInt(n,10)),FRONTEND_ORIGINS:_n.string().transform((n)=>rn(n)).pipe(_n.array(_n.string()))},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:_n.string()},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var bp=new Rl,un=pi.VITE_BACKEND_ORIGIN.includes("localhost")?console:bp.logger;on.STORE.loggers[0]=new oa("warn",void 0,un);import{spawn as L3}from"child_process";import{resolve as B3}from"path";function yF(n,i,o=n.logger){const c=pi.RUN_WORKERS_FROM_SOURCE?"ts":"js",p=i.endsWith(".bun")?"bun":"node",x=[B3(import.meta.dir,`${i}.${c}`)];if(p==="node"&&c==="ts")x.push("--experimental-strip-types");const m=L3(p,x);return new la(m,i,o)}var CM=wv(tM(),1);var pz=604800000,_m=(()=>{let{__userSessionMap:n}=globalThis;if(!n){n=globalThis.__userSessionMap=new Map;const i=new CM.CronJob("00 00 03 * * *",()=>{for(let[o,c]of n.entries()){const p=Date.now();for(let[a,x]of c.entries())if(p-x>pz)c.delete(a);if(c.size===0)n.delete(o)}});i.start(),process.on("exit",()=>{i.stop(),un.info("\uD83D\uDEEC autoExpiry stopped")})}return n})();import ez from"path";class sm extends Yi{constructor(n,i,o,c){super();this.session=i,this.dialect=o,this.config={table:n,withList:c}}static[J]="PgDelete";config;where(n){return this.config.where=n,this}returning(n=this.config.table[h.Symbol.Columns]){return this.config.returning=Pi(n),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})};$dynamic(){return this}}class jm{constructor(n,i,o,c){this.table=n,this.session=i,this.dialect=o,this.withList=c}static[J]="PgInsertBuilder";values(n){if(n=Array.isArray(n)?n:[n],n.length===0)throw new Error("values() must be called with at least one value");const i=n.map((o)=>{const c={},p=this.table[h.Symbol.Columns];for(let a of Object.keys(o)){const x=o[a];c[a]=u(x,C)?x:new Li(x,p[a])}return c});return new kM(this.table,i,this.session,this.dialect,this.withList)}}class kM extends Yi{constructor(n,i,o,c,p){super();this.session=o,this.dialect=c,this.config={table:n,values:i,withList:p}}static[J]="PgInsert";config;returning(n=this.config.table[h.Symbol.Columns]){return this.config.returning=Pi(n),this}onConflictDoNothing(n={}){if(n.target===void 0)this.config.onConflict=A`do nothing`;else{let i="";i=Array.isArray(n.target)?n.target.map((c)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(c))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(n.target));const o=n.where?A` where ${n.where}`:void 0;this.config.onConflict=A`(${A.raw(i)})${o} do nothing`}return this}onConflictDoUpdate(n){if(n.where&&(n.targetWhere||n.setWhere))throw new Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');const i=n.where?A` where ${n.where}`:void 0,o=n.targetWhere?A` where ${n.targetWhere}`:void 0,c=n.setWhere?A` where ${n.setWhere}`:void 0,p=this.dialect.buildUpdateSet(this.config.table,ux(this.config.table,n.set));let a="";return a=Array.isArray(n.target)?n.target.map((x)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(x))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(n.target)),this.config.onConflict=A`(${A.raw(a)})${o} do update set ${p}${i}${c}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})};$dynamic(){return this}}function az(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((o)=>o.toLowerCase()).join("_")}function xz(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((o,c,p)=>{const a=p===0?c.toLowerCase():`${c[0].toUpperCase()}${c.slice(1)}`;return o+a},"")}function mz(n){return n}class M${static[J]="CasingCache";cache={};cachedTables={};convert;constructor(n){this.convert=n==="snake_case"?az:n==="camelCase"?xz:mz}getColumnCasing(n){if(!n.keyAsName)return n.name;const i=n.table[h.Symbol.Schema]??"public",o=n.table[h.Symbol.OriginalName],c=`${i}.${o}.${n.name}`;if(!this.cache[c])this.cacheTable(n.table);return this.cache[c]}cacheTable(n){const i=n[h.Symbol.Schema]??"public",o=n[h.Symbol.OriginalName],c=`${i}.${o}`;if(!this.cachedTables[c]){for(let p of Object.values(n[h.Symbol.Columns])){const a=`${c}.${p.name}`;this.cache[a]=this.convert(p.name)}this.cachedTables[c]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class ka extends Vi{static[J]="PgViewBase"}class Dc{static[J]="PgDialect";casing;constructor(n){this.casing=new M$(n?.casing)}async migrate(n,i,o){const c=typeof o==="string"?"__drizzle_migrations":o.migrationsTable??"__drizzle_migrations",p=typeof o==="string"?"drizzle":o.migrationsSchema??"drizzle",a=A`
38
+ CREATE TABLE IF NOT EXISTS ${A.identifier(p)}.${A.identifier(c)} (
39
+ id SERIAL PRIMARY KEY,
40
+ hash text NOT NULL,
41
+ created_at bigint
42
+ )
43
+ `;await i.execute(A`CREATE SCHEMA IF NOT EXISTS ${A.identifier(p)}`),await i.execute(a);const m=(await i.all(A`select id, hash, created_at from ${A.identifier(p)}.${A.identifier(c)} order by created_at desc limit 1`))[0];await i.transaction(async(l)=>{for await(let f of n)if(!m||Number(m.created_at)<f.folderMillis){for(let $ of f.sql)await l.execute(A.raw($));await l.execute(A`insert into ${A.identifier(p)}.${A.identifier(c)} ("hash", "created_at") values(${f.hash}, ${f.folderMillis})`)}})}escapeName(n){return`"${n}"`}escapeParam(n){return`\$${n+1}`}escapeString(n){return`'${n.replace(/'/g,"''")}'`}buildWithCTE(n){if(!n?.length)return;const i=[A`with `];for(let[o,c]of n.entries())if(i.push(A`${A.identifier(c._.alias)} as (${c._.sql})`),o<n.length-1)i.push(A`, `);return i.push(A` `),A.join(i)}buildDeleteQuery({table:n,where:i,returning:o,withList:c}){const p=this.buildWithCTE(c),a=o?A` returning ${this.buildSelection(o,{isSingleTable:!0})}`:void 0,x=i?A` where ${i}`:void 0;return A`${p}delete from ${n}${x}${a}`}buildUpdateSet(n,i){const o=n[h.Symbol.Columns],c=Object.keys(o).filter((a)=>i[a]!==void 0||o[a]?.onUpdateFn!==void 0),p=c.length;return A.join(c.flatMap((a,x)=>{const m=o[a],l=i[a]??A.param(m.onUpdateFn(),m),f=A`${A.identifier(this.casing.getColumnCasing(m))} = ${l}`;if(x<p-1)return[f,A.raw(", ")];return[f]}))}buildUpdateQuery({table:n,set:i,where:o,returning:c,withList:p}){const a=this.buildWithCTE(p),x=this.buildUpdateSet(n,i),m=c?A` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,l=o?A` where ${o}`:void 0;return A`${a}update ${n} set ${x}${l}${m}`}buildSelection(n,{isSingleTable:i=!1}={}){const o=n.length,c=n.flatMap(({field:p},a)=>{const x=[];if(u(p,C.Aliased)&&p.isSelectionField)x.push(A.identifier(p.fieldAlias));else if(u(p,C.Aliased)||u(p,C)){const m=u(p,C.Aliased)?p.sql:p;if(i)x.push(new C(m.queryChunks.map((l)=>{if(u(l,j))return A.identifier(this.casing.getColumnCasing(l));return l})));else x.push(m);if(u(p,C.Aliased))x.push(A` as ${A.identifier(p.fieldAlias)}`)}else if(u(p,bn))if(i)x.push(A.identifier(this.casing.getColumnCasing(p)));else x.push(p);if(a<o-1)x.push(A`, `);return x});return A.join(c)}buildSelectQuery({withList:n,fields:i,fieldsFlat:o,where:c,having:p,table:a,joins:x,orderBy:m,groupBy:l,limit:f,offset:$,lockingClause:v,distinct:S,setOperators:T}){const R=o??Pi(i);for(let ln of R)if(u(ln.field,bn)&&qi(ln.field.table)!==(u(a,fi)?a._.alias:u(a,ka)?a[yn].name:u(a,C)?void 0:qi(a))&&!(($n)=>x?.some(({alias:Qn})=>Qn===($n[h.Symbol.IsAlias]?qi($n):$n[h.Symbol.BaseName])))(ln.field.table)){const $n=qi(ln.field.table);throw new Error(`Your "${ln.path.join("->")}" field references a column "${$n}"."${ln.field.name}", but the table "${$n}" is not part of the query! Did you forget to join it?`)}const F=!x||x.length===0,X=this.buildWithCTE(n);let z;if(S)z=S===!0?A` distinct`:A` distinct on (${A.join(S.on,A`, `)})`;const Y=this.buildSelection(R,{isSingleTable:F}),E=(()=>{if(u(a,h)&&a[h.Symbol.OriginalName]!==a[h.Symbol.Name]){let ln=A`${A.identifier(a[h.Symbol.OriginalName])}`;if(a[h.Symbol.Schema])ln=A`${A.identifier(a[h.Symbol.Schema])}.${ln}`;return A`${ln} ${A.identifier(a[h.Symbol.Name])}`}return a})(),s=[];if(x)for(let[ln,$n]of x.entries()){if(ln===0)s.push(A` `);const Qn=$n.table,ji=$n.lateral?A` lateral`:void 0;if(u(Qn,vo)){const H=Qn[vo.Symbol.Name],k=Qn[vo.Symbol.Schema],Sn=Qn[vo.Symbol.OriginalName],Xn=H===Sn?void 0:$n.alias;s.push(A`${A.raw($n.joinType)} join${ji} ${k?A`${A.identifier(k)}.`:void 0}${A.identifier(Sn)}${Xn&&A` ${A.identifier(Xn)}`} on ${$n.on}`)}else if(u(Qn,Vi)){const H=Qn[yn].name,k=Qn[yn].schema,Sn=Qn[yn].originalName,Xn=H===Sn?void 0:$n.alias;s.push(A`${A.raw($n.joinType)} join${ji} ${k?A`${A.identifier(k)}.`:void 0}${A.identifier(Sn)}${Xn&&A` ${A.identifier(Xn)}`} on ${$n.on}`)}else s.push(A`${A.raw($n.joinType)} join${ji} ${Qn} on ${$n.on}`);if(ln<x.length-1)s.push(A` `)}const G=A.join(s),M=c?A` where ${c}`:void 0,O=p?A` having ${p}`:void 0;let U;if(m&&m.length>0)U=A` order by ${A.join(m,A`, `)}`;let V;if(l&&l.length>0)V=A` group by ${A.join(l,A`, `)}`;const K=typeof f==="object"||typeof f==="number"&&f>=0?A` limit ${f}`:void 0,B=$?A` offset ${$}`:void 0,_=A.empty();if(v){const ln=A` for ${A.raw(v.strength)}`;if(v.config.of)ln.append(A` of ${A.join(Array.isArray(v.config.of)?v.config.of:[v.config.of],A`, `)}`);if(v.config.noWait)ln.append(A` no wait`);else if(v.config.skipLocked)ln.append(A` skip locked`);_.append(ln)}const P=A`${X}select${z} ${Y} from ${E}${G}${M}${V}${O}${U}${K}${B}${_}`;if(T.length>0)return this.buildSetOperations(P,T);return P}buildSetOperations(n,i){const[o,...c]=i;if(!o)throw new Error("Cannot pass undefined values to any set operator");if(c.length===0)return this.buildSetOperationQuery({leftSelect:n,setOperator:o});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:n,setOperator:o}),c)}buildSetOperationQuery({leftSelect:n,setOperator:{type:i,isAll:o,rightSelect:c,limit:p,orderBy:a,offset:x}}){const m=A`(${n.getSQL()}) `,l=A`(${c.getSQL()})`;let f;if(a&&a.length>0){const T=[];for(let R of a)if(u(R,j))T.push(A.identifier(R.name));else if(u(R,C)){for(let F=0;F<R.queryChunks.length;F++){const X=R.queryChunks[F];if(u(X,j))R.queryChunks[F]=A.identifier(X.name)}T.push(A`${R}`)}else T.push(A`${R}`);f=A` order by ${A.join(T,A`, `)} `}const $=typeof p==="object"||typeof p==="number"&&p>=0?A` limit ${p}`:void 0,v=A.raw(`${i} ${o?"all ":""}`),S=x?A` offset ${x}`:void 0;return A`${m}${v}${l}${f}${$}${S}`}buildInsertQuery({table:n,values:i,onConflict:o,returning:c,withList:p}){const a=[],x=n[h.Symbol.Columns],m=Object.entries(x).filter(([T,R])=>!R.shouldDisableInsert()),l=m.map(([,T])=>A.identifier(this.casing.getColumnCasing(T)));for(let[T,R]of i.entries()){const F=[];for(let[X,z]of m){const Y=R[X];if(Y===void 0||u(Y,Li)&&Y.value===void 0)if(z.defaultFn!==void 0){const E=z.defaultFn(),s=u(E,C)?E:A.param(E,z);F.push(s)}else if(!z.default&&z.onUpdateFn!==void 0){const E=z.onUpdateFn(),s=u(E,C)?E:A.param(E,z);F.push(s)}else F.push(A`default`);else F.push(Y)}if(a.push(F),T<i.length-1)a.push(A`, `)}const f=this.buildWithCTE(p),$=A.join(a),v=c?A` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,S=o?A` on conflict ${o}`:void 0;return A`${f}insert into ${n} ${l} values ${$}${S}${v}`}buildRefreshMaterializedViewQuery({view:n,concurrently:i,withNoData:o}){const c=i?A` concurrently`:void 0,p=o?A` with no data`:void 0;return A`refresh materialized view${c} ${n}${p}`}prepareTyping(n){if(u(n,Ux)||u(n,Qx))return"json";else if(u(n,Vx))return"decimal";else if(u(n,bx))return"time";else if(u(n,_x)||u(n,sx))return"timestamp";else if(u(n,Ox)||u(n,Hx))return"date";else if(u(n,jx))return"uuid";else return"none"}sqlToQuery(n,i){return n.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:n,schema:i,tableNamesMap:o,table:c,tableConfig:p,queryConfig:a,tableAlias:x,nestedQueryRelation:m,joinOn:l}){let f=[],$,v,S=[],T;const R=[];if(a===!0)f=Object.entries(p.columns).map(([z,Y])=>({dbKey:Y.name,tsKey:z,field:Yo(Y,x),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{const X=Object.fromEntries(Object.entries(p.columns).map(([M,O])=>[M,Yo(O,x)]));if(a.where){const M=typeof a.where==="function"?a.where(X,jS()):a.where;T=M&&Ja(M,x)}const z=[];let Y=[];if(a.columns){let M=!1;for(let[O,U]of Object.entries(a.columns)){if(U===void 0)continue;if(O in p.columns){if(!M&&U===!0)M=!0;Y.push(O)}}if(Y.length>0)Y=M?Y.filter((O)=>a.columns?.[O]===!0):Object.keys(p.columns).filter((O)=>!Y.includes(O))}else Y=Object.keys(p.columns);for(let M of Y){const O=p.columns[M];z.push({tsKey:M,value:O})}let E=[];if(a.with)E=Object.entries(a.with).filter((M)=>!!M[1]).map(([M,O])=>({tsKey:M,queryConfig:O,relation:p.relations[M]}));let s;if(a.extras){s=typeof a.extras==="function"?a.extras(X,{sql:A}):a.extras;for(let[M,O]of Object.entries(s))z.push({tsKey:M,value:jl(O,x)})}for(let{tsKey:M,value:O}of z)f.push({dbKey:u(O,C.Aliased)?O.fieldAlias:p.columns[M].name,tsKey:M,field:u(O,bn)?Yo(O,x):O,relationTableTsKey:void 0,isJson:!1,selection:[]});let G=typeof a.orderBy==="function"?a.orderBy(X,NS()):a.orderBy??[];if(!Array.isArray(G))G=[G];S=G.map((M)=>{if(u(M,bn))return Yo(M,x);return Ja(M,x)}),$=a.limit,v=a.offset;for(let{tsKey:M,queryConfig:O,relation:U}of E){const V=BS(i,o,U),K=Xc(U.referencedTable),B=o[K],_=`${x}_${M}`,P=zc(...V.fields.map((Qn,ji)=>uo(Yo(V.references[ji],_),Yo(Qn,x)))),ln=this.buildRelationalQueryWithoutPK({fullSchema:n,schema:i,tableNamesMap:o,table:n[B],tableConfig:i[B],queryConfig:u(U,oc)?O===!0?{limit:1}:{...O,limit:1}:O,tableAlias:_,joinOn:P,nestedQueryRelation:U}),$n=A`${A.identifier(_)}.${A.identifier("data")}`.as(M);R.push({on:A`true`,table:new fi(ln.sql,{},_),alias:_,joinType:"left",lateral:!0}),f.push({dbKey:M,tsKey:M,field:$n,relationTableTsKey:B,isJson:!0,selection:ln.selection})}}if(f.length===0)throw new Gx({message:`No fields selected for table "${p.tsName}" ("${x}")`});let F;if(T=zc(l,T),m){let X=A`json_build_array(${A.join(f.map(({field:E,tsKey:s,isJson:G})=>G?A`${A.identifier(`${x}_${s}`)}.${A.identifier("data")}`:u(E,C.Aliased)?E.sql:E),A`, `)})`;if(u(m,Ta))X=A`coalesce(json_agg(${X}${S.length>0?A` order by ${A.join(S,A`, `)}`:void 0}), '[]'::json)`;const z=[{dbKey:"data",tsKey:"data",field:X.as("data"),isJson:!0,relationTableTsKey:p.tsName,selection:f}];if($!==void 0||v!==void 0||S.length>0)F=this.buildSelectQuery({table:zx(c,x),fields:{},fieldsFlat:[{path:[],field:A.raw("*")}],where:T,limit:$,offset:v,orderBy:S,setOperators:[]}),T=void 0,$=void 0,v=void 0,S=[];else F=zx(c,x);F=this.buildSelectQuery({table:u(F,vo)?F:new fi(F,{},x),fields:{},fieldsFlat:z.map(({field:E})=>({path:[],field:u(E,bn)?Yo(E,x):E})),joins:R,where:T,limit:$,offset:v,orderBy:S,setOperators:[]})}else F=this.buildSelectQuery({table:zx(c,x),fields:{},fieldsFlat:f.map(({field:X})=>({path:[],field:u(X,bn)?Yo(X,x):X})),joins:R,where:T,limit:$,offset:v,orderBy:S,setOperators:[]});return{tableTsKey:p.tsName,sql:F,selection:f}}}class si{static[J]="SelectionProxyHandler";config;constructor(n){this.config={...n}}get(n,i){if(i==="_")return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(i===yn)return{...n[yn],selectedFields:new Proxy(n[yn].selectedFields,this)};if(typeof i==="symbol")return n[i];const c=(u(n,fi)?n._.selectedFields:u(n,Vi)?n[yn].selectedFields:n)[i];if(u(c,C.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!c.isSelectionField)return c.sql;const p=c.clone();return p.isSelectionField=!0,p}if(u(c,C)){if(this.config.sqlBehavior==="sql")return c;throw new Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(u(c,bn)){if(this.config.alias)return new Proxy(c,new op(new Proxy(c.table,new Sa(this.config.alias,this.config.replaceOriginalName??!1))));return c}if(typeof c!=="object"||c===null)return c;return new Proxy(c,new si(this.config))}}class R${static[J]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}function tp(n,i){return(o,c,...p)=>{const a=[c,...p].map((x)=>({type:n,isAll:i,rightSelect:x}));for(let x of a)if(!yl(o.getSelectedFields(),x.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return o.addSetOperators(a)}}class Ei{static[J]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(n){if(this.fields=n.fields,this.session=n.session,this.dialect=n.dialect,n.withList)this.withList=n.withList;this.distinct=n.distinct}from(n){const i=!!this.fields;let o;if(this.fields)o=this.fields;else if(u(n,fi))o=Object.fromEntries(Object.keys(n._.selectedFields).map((c)=>[c,n[c]]));else if(u(n,ka))o=n[yn].selectedFields;else if(u(n,C))o={};else o=D0(n);return new K$({table:n,fields:o,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class rM extends R${static[J]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;constructor({table:n,fields:i,isPartialSelect:o,session:c,dialect:p,withList:a,distinct:x}){super();this.config={withList:a,table:n,fields:{...i},distinct:x,setOperators:[]},this.isPartialSelect=o,this.session=c,this.dialect=p,this._={selectedFields:i},this.tableName=hl(n),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(n){return(i,o)=>{const c=this.tableName,p=hl(i);if(typeof p==="string"&&this.config.joins?.some((a)=>a.alias===p))throw new Error(`Alias "${p}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof c==="string")this.config.fields={[c]:this.config.fields};if(typeof p==="string"&&!u(i,C)){const a=u(i,fi)?i._.selectedFields:u(i,Vi)?i[yn].selectedFields:i[h.Symbol.Columns];this.config.fields[p]=a}}if(typeof o==="function")o=o(new Proxy(this.config.fields,new si({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:o,table:i,joinType:n,alias:p}),typeof p==="string")switch(n){case"left":{this.joinsNotNullableMap[p]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[p]=!0;break}case"inner":{this.joinsNotNullableMap[p]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[p]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");createSetOperator(n,i){return(o)=>{const c=typeof o==="function"?o(lz()):o;if(!yl(this.getSelectedFields(),c.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:n,isAll:i,rightSelect:c}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(n){return this.config.setOperators.push(...n),this}where(n){if(typeof n==="function")n=n(new Proxy(this.config.fields,new si({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=n,this}having(n){if(typeof n==="function")n=n(new Proxy(this.config.fields,new si({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=n,this}groupBy(...n){if(typeof n[0]==="function"){const i=n[0](new Proxy(this.config.fields,new si({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=n;return this}orderBy(...n){if(typeof n[0]==="function"){const i=n[0](new Proxy(this.config.fields,new si({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),o=Array.isArray(i)?i:[i];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=o;else this.config.orderBy=o}else{const i=n;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=i;else this.config.orderBy=i}return this}limit(n){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=n;else this.config.limit=n;return this}offset(n){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=n;else this.config.offset=n;return this}for(n,i={}){return this.config.lockingClause={strength:n,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(n){return new Proxy(new fi(this.getSQL(),this.config.fields,n),new si({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new si({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class K$ extends rM{static[J]="PgSelect";_prepare(n){const{session:i,config:o,dialect:c,joinsNotNullableMap:p}=this;if(!i)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");return En.startActiveSpan("drizzle.prepareQuery",()=>{const a=Pi(o.fields),x=i.prepareQuery(c.sqlToQuery(this.getSQL()),a,n,!0);return x.joinsNotNullableMap=p,x})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})}}h0(K$,[Yi]);var lz=()=>({union:fz,unionAll:$z,intersect:vz,intersectAll:wz,except:Sz,exceptAll:Jz}),fz=tp("union",!1),$z=tp("union",!0),vz=tp("intersect",!1),wz=tp("intersect",!0),Sz=tp("except",!1),Jz=tp("except",!0);class W${static[J]="PgQueryBuilder";dialect;dialectConfig;constructor(n){this.dialect=u(n,Dc)?n:void 0,this.dialectConfig=u(n,Dc)?void 0:n}$with(n){const i=this;return{as(o){if(typeof o==="function")o=o(i);return new Proxy(new wa(o.getSQL(),o.getSelectedFields(),n,!0),new si({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}}with(...n){const i=this;function o(a){return new Ei({fields:a??void 0,session:void 0,dialect:i.getDialect(),withList:n})}function c(a){return new Ei({fields:a??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})}function p(a,x){return new Ei({fields:x??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:a}})}return{select:o,selectDistinct:c,selectDistinctOn:p}}select(n){return new Ei({fields:n??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(n){return new Ei({fields:n??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(n,i){return new Ei({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:n}})}getDialect(){if(!this.dialect)this.dialect=new Dc(this.dialectConfig);return this.dialect}}class X$ extends Yi{constructor(n,i,o){super();this.session=i,this.dialect=o,this.config={view:n}}static[J]="PgRefreshMaterializedView";config;concurrently(){if(this.config.withNoData!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})}}class Nm{constructor(n,i,o,c){this.table=n,this.session=i,this.dialect=o,this.withList=c}static[J]="PgUpdateBuilder";set(n){return new ZM(this.table,ux(this.table,n),this.session,this.dialect,this.withList)}}class ZM extends Yi{constructor(n,i,o,c,p){super();this.session=o,this.dialect=c,this.config={set:i,table:n,withList:p}}static[J]="PgUpdate";config;where(n){return this.config.where=n,this}returning(n=this.config.table[h.Symbol.Columns]){return this.config.returning=Pi(n),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)}prepare(n){return this._prepare(n)}execute=(n)=>{return this._prepare().execute(n)};$dynamic(){return this}}class ra extends C{constructor(n){super(ra.buildEmbeddedCount(n.source,n.filters).queryChunks);this.params=n,this.mapWith(Number),this.session=n.session,this.sql=ra.buildCount(n.source,n.filters)}sql;static[J]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(n,i){return A`(select count(*) from ${n}${A.raw(" where ").if(i)}${i})`}static buildCount(n,i){return A`select count(*) as count from ${n}${A.raw(" where ").if(i)}${i};`}then(n,i){return Promise.resolve(this.session.count(this.sql)).then(n,i)}catch(n){return this.then(void 0,n)}finally(n){return this.then((i)=>{return n?.(),i},(i)=>{throw n?.(),i})}}class G${constructor(n,i,o,c,p,a,x){this.fullSchema=n,this.schema=i,this.tableNamesMap=o,this.table=c,this.tableConfig=p,this.dialect=a,this.session=x}static[J]="PgRelationalQueryBuilder";findMany(n){return new z$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?n:{},"many")}findFirst(n){return new z$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?{...n,limit:1}:{limit:1},"first")}}class z$ extends Yi{constructor(n,i,o,c,p,a,x,m,l){super();this.fullSchema=n,this.schema=i,this.tableNamesMap=o,this.table=c,this.tableConfig=p,this.dialect=a,this.session=x,this.config=m,this.mode=l}static[J]="PgRelationalQuery";_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{const{query:i,builtQuery:o}=this._toSQL();return this.session.prepareQuery(o,void 0,n,!0,(c,p)=>{const a=c.map((x)=>Nx(this.schema,this.tableConfig,x,i.selection,p));if(this.mode==="first")return a[0];return a})})}prepare(n){return this._prepare(n)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){const n=this._getQuery(),i=this.dialect.sqlToQuery(n.sql);return{query:n,builtQuery:i}}toSQL(){return this._toSQL().builtQuery}execute(){return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute()})}}class Y$ extends Yi{constructor(n,i,o,c){super();this.execute=n,this.sql=i,this.query=o,this.mapBatchResult=c}static[J]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(n,i){return i?this.mapBatchResult(n):n}_prepare(){return this}isResponseInArrayMode(){return!1}}class Za{constructor(n,i,o){if(this.dialect=n,this.session=i,this._=o?{schema:o.schema,fullSchema:o.fullSchema,tableNamesMap:o.tableNamesMap,session:i}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:i},this.query={},this._.schema)for(let[c,p]of Object.entries(this._.schema))this.query[c]=new G$(o.fullSchema,this._.schema,this._.tableNamesMap,o.fullSchema[c],p,n,i)}static[J]="PgDatabase";query;$with(n){const i=this;return{as(o){if(typeof o==="function")o=o(new W$(i.dialect));return new Proxy(new wa(o.getSQL(),o.getSelectedFields(),n,!0),new si({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}}$count(n,i){return new ra({source:n,filters:i,session:this.session})}with(...n){const i=this;function o(l){return new Ei({fields:l??void 0,session:i.session,dialect:i.dialect,withList:n})}function c(l){return new Ei({fields:l??void 0,session:i.session,dialect:i.dialect,withList:n,distinct:!0})}function p(l,f){return new Ei({fields:f??void 0,session:i.session,dialect:i.dialect,withList:n,distinct:{on:l}})}function a(l){return new Nm(l,i.session,i.dialect,n)}function x(l){return new jm(l,i.session,i.dialect,n)}function m(l){return new sm(l,i.session,i.dialect,n)}return{select:o,selectDistinct:c,selectDistinctOn:p,update:a,insert:x,delete:m}}select(n){return new Ei({fields:n??void 0,session:this.session,dialect:this.dialect})}selectDistinct(n){return new Ei({fields:n??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(n,i){return new Ei({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:n}})}update(n){return new Nm(n,this.session,this.dialect)}insert(n){return new jm(n,this.session,this.dialect)}delete(n){return new sm(n,this.session,this.dialect)}refreshMaterializedView(n){return new X$(n,this.session,this.dialect)}execute(n){const i=typeof n==="string"?A.raw(n):n.getSQL(),o=this.dialect.sqlToQuery(i),c=this.session.prepareQuery(o,void 0,void 0,!1);return new Y$(()=>c.execute(),i,o,(p)=>c.mapResult(p,!0))}transaction(n,i){return this.session.transaction(n,i)}}function u$(n){return new qM(!0,n)}class qM{constructor(n,i){this.unique=n,this.name=i}static[J]="PgIndexBuilderOn";on(...n){return new Lm(n.map((i)=>{if(u(i,C))return i;i=i;const o=new va(i.name,!!i.keyAsName,i.columnType,i.indexConfig);return i.indexConfig=JSON.parse(JSON.stringify(i.defaultConfig)),o}),this.unique,!1,this.name)}onOnly(...n){return new Lm(n.map((i)=>{if(u(i,C))return i;i=i;const o=new va(i.name,!!i.keyAsName,i.columnType,i.indexConfig);return i.indexConfig=i.defaultConfig,o}),this.unique,!0,this.name)}using(n,...i){return new Lm(i.map((o)=>{if(u(o,C))return o;o=o;const c=new va(o.name,!!o.keyAsName,o.columnType,o.indexConfig);return o.indexConfig=JSON.parse(JSON.stringify(o.defaultConfig)),c}),this.unique,!0,this.name,n)}}class Lm{static[J]="PgIndexBuilder";config;constructor(n,i,o,c,p="btree"){this.config={name:c,columns:n,unique:i,only:o,method:p}}concurrently(){return this.config.concurrently=!0,this}with(n){return this.config.with=n,this}where(n){return this.config.where=n,this}build(n){return new PM(this.config,n)}}class PM{static[J]="PgIndex";config;constructor(n,i){this.config={...n,table:i}}}class O${constructor(n){this.query=n}getQuery(){return this.query}mapResult(n,i){return n}static[J]="PgPreparedQuery";joinsNotNullableMap}class H${constructor(n){this.dialect=n}static[J]="PgSession";execute(n){return En.startActiveSpan("drizzle.operation",()=>{return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.prepareQuery(this.dialect.sqlToQuery(n),void 0,void 0,!1)}).execute()})}all(n){return this.prepareQuery(this.dialect.sqlToQuery(n),void 0,void 0,!1).all()}async count(n){const i=await this.execute(n);return Number(i[0].count)}}class E$ extends Za{constructor(n,i,o,c=0){super(n,i,o);this.schema=o,this.nestedIndex=c}static[J]="PgTransaction";rollback(){throw new Nl}getTransactionConfigSQL(n){const i=[];if(n.isolationLevel)i.push(`isolation level ${n.isolationLevel}`);if(n.accessMode)i.push(n.accessMode);if(typeof n.deferrable==="boolean")i.push(n.deferrable?"deferrable":"not deferrable");return A.raw(i.join(" "))}setTransaction(n){return this.session.execute(A`set transaction ${this.getTransactionConfigSQL(n)}`)}}class eM extends O${constructor(n,i,o,c,p,a,x){super({sql:i,params:o});this.client=n,this.queryString=i,this.params=o,this.logger=c,this.fields=p,this._isResponseInArrayMode=a,this.customResultMapper=x}static[J]="PostgresJsPreparedQuery";async execute(n={}){return En.startActiveSpan("drizzle.execute",async(i)=>{const o=sl(this.params,n);i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.logger.logQuery(this.queryString,o);const{fields:c,queryString:p,client:a,joinsNotNullableMap:x,customResultMapper:m}=this;if(!c&&!m)return En.startActiveSpan("drizzle.driver.execute",()=>{return a.unsafe(p,o)});const l=await En.startActiveSpan("drizzle.driver.execute",()=>{return i?.setAttributes({"drizzle.query.text":p,"drizzle.query.params":JSON.stringify(o)}),a.unsafe(p,o).values()});return En.startActiveSpan("drizzle.mapResponse",()=>{return m?m(l):l.map((f)=>y0(c,f,x))})})}all(n={}){return En.startActiveSpan("drizzle.execute",async(i)=>{const o=sl(this.params,n);return i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.logger.logQuery(this.queryString,o),En.startActiveSpan("drizzle.driver.execute",()=>{return i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.client.unsafe(this.queryString,o)})})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class qa extends H${constructor(n,i,o,c={}){super(i);this.client=n,this.schema=o,this.options=c,this.logger=c.logger??new Bl}static[J]="PostgresJsSession";logger;prepareQuery(n,i,o,c,p){return new eM(this.client,n.sql,n.params,this.logger,i,c,p)}query(n,i){return this.logger.logQuery(n,i),this.client.unsafe(n,i).values()}queryObjects(n,i){return this.client.unsafe(n,i)}transaction(n,i){return this.client.begin(async(o)=>{const c=new qa(o,this.dialect,this.schema,this.options),p=new Q$(this.dialect,c,this.schema);if(i)await p.setTransaction(i);return n(p)})}}class Q$ extends E${constructor(n,i,o,c=0){super(n,i,o,c);this.session=i}static[J]="PostgresJsTransaction";transaction(n){return this.session.client.savepoint((i)=>{const o=new qa(i,this.dialect,this.schema,this.session.options),c=new Q$(this.dialect,o,this.schema);return n(c)})}}function dM(n,i={}){const o=(l)=>l;for(let l of["1184","1082","1083","1114"])n.options.parsers[l]=o,n.options.serializers[l]=o;n.options.serializers["114"]=o,n.options.serializers["3802"]=o;const c=new Dc({casing:i.casing});let p;if(i.logger===!0)p=new Ll;else if(i.logger!==!1)p=i.logger;let a;if(i.schema){const l=LS(i.schema,yS);a={fullSchema:i.schema,schema:l.tables,tableNamesMap:l.tableNamesMap}}const x=new qa(n,c,a,{logger:p}),m=new gM(c,x,a);return m.$client=n,m}class gM extends Za{static[J]="PostgresJsDatabase"}import Lz from"os";import Bz from"fs";function Az(n){if(Bm.has(n))return Bm.get(n);const i=Error.stackTraceLimit;return Error.stackTraceLimit=4,Bm.set(n,new Error),Error.stackTraceLimit=i,Bm.get(n)}var Bm=new Map,U$=new Map,V$=Symbol("OriginError"),Cp={};class po extends Promise{constructor(n,i,o,c,p={}){let a,x;super((m,l)=>{a=m,x=l});this.tagged=Array.isArray(n.raw),this.strings=n,this.args=i,this.handler=o,this.canceller=c,this.options=p,this.state=null,this.statement=null,this.resolve=(m)=>(this.active=!1,a(m)),this.reject=(m)=>(this.active=!1,x(m)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[V$]=this.handler.debug?new Error:this.tagged&&Az(this.strings)}get origin(){return(this.handler.debug?this[V$].stack:this.tagged&&U$.has(this.strings)?U$.get(this.strings):U$.set(this.strings,this[V$].stack).get(this.strings))||""}static get[Symbol.species](){return Promise}cancel(){return this.canceller&&(this.canceller(this),this.canceller=null)}simple(){return this.options.simple=!0,this.options.prepare=!1,this}async readable(){return this.simple(),this.streaming=!0,this}async writable(){return this.simple(),this.streaming=!0,this}cursor(n=1,i){if(this.options.simple=!1,typeof n==="function")i=n,n=1;if(this.cursorRows=n,typeof i==="function")return this.cursorFn=i,this;let o;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};o&&o();const c=new Promise((p,a)=>{this.cursorFn=(x)=>{return p({value:x,done:!1}),new Promise((m)=>o=m)},this.resolve=()=>(this.active=!1,p({done:!0})),this.reject=(x)=>(this.active=!1,a(x))});return this.execute(),c},return(){return o&&o(Cp),{done:!0}}})}}describe(){return this.options.simple=!1,this.onlyDescribe=this.options.prepare=!0,this}stream(){throw new Error(".stream has been renamed to .forEach")}forEach(n){return this.forEachFn=n,this.handle(),this}raw(){return this.isRaw=!0,this}values(){return this.isRaw="values",this}async handle(){!this.executed&&(this.executed=!0)&&await 1&&this.handler(this)}execute(){return this.handle(),this}then(){return this.handle(),super.then.apply(this,arguments)}catch(){return this.handle(),super.catch.apply(this,arguments)}finally(){return this.handle(),super.finally.apply(this,arguments)}}function nR(n,i,o){const{host:c,port:p}=o||i,a=Object.assign(new Error("write "+n+" "+(i.path||c+":"+p)),{code:n,errno:n,address:i.path||c},i.path?{}:{port:p});return Error.captureStackTrace(a,nR),a}function iR(n){const i=new kp(n);return Error.captureStackTrace(i,iR),i}function oR(n,i){const o=Object.assign(new Error(n+": "+i),{code:n});return Error.captureStackTrace(o,oR),o}function cR(n){const i=Object.assign(new Error(n+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:n});return Error.captureStackTrace(i,cR),i}class kp extends Error{constructor(n){super(n.message);this.name=this.constructor.name,Object.assign(this,n)}}var dn={connection:nR,postgres:iR,generic:oR,notSupported:cR};function tm(n,i,o,c){let p=n instanceof Vo?n.value:n;if(p===void 0){if(n instanceof Vo?n.value=c.transform.undefined:p=n=c.transform.undefined,p===void 0)throw dn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+o.push(n instanceof Vo?(i.push(n.value),n.array?n.array[n.type||hm(n.value)]||n.type||mR(n.value):n.type):(i.push(n),hm(n)))}function j$(n,i,o,c,p,a){for(let x=1;x<n.strings.length;x++)i+=N$(i,o,c,p,a)+n.strings[x],o=n.args[x];return i}function N$(n,i,o,c,p){return i instanceof Im?i.build(n,o,c,p):i instanceof po?s$(i,o,c,p):i instanceof da?i.value:i&&i[0]instanceof po?i.reduce((a,x)=>a+" "+s$(x,o,c,p),""):tm(i,o,c,p)}function s$(n,i,o,c){return n.fragment=!0,j$(n,n.strings[0],n.args[0],i,o,c)}function xR(n,i,o,c,p){return n.map((a)=>"("+c.map((x)=>N$("values",a[x],i,o,p)).join(",")+")").join(",")}function pR(n,i,o,c,p){const a=Array.isArray(n[0]),x=i.length?i.flat():Object.keys(a?n[0]:n);return xR(a?n:[n],o,c,x,p)}function ym(n,i,o,c,p){if(typeof n==="string"&&(n=[n].concat(i)),Array.isArray(n))return L$(n,p);let a;return(i.length?i.flat():Object.keys(n)).map((m)=>{return a=n[m],(a instanceof po?s$(a,o,c,p):a instanceof da?a.value:tm(a,o,c,p))+" as "+Cm(p.transform.column.to?p.transform.column.to(m):m)}).join(",")}function b$(){throw dn.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}function mR(n){if(Array.isArray(n))return mR(n[0]);return typeof n==="string"?1009:0}function fR(n){return Object.keys(n).reduce((i,o)=>{if(n[o].from&&[].concat(n[o].from).forEach((c)=>i.parsers[c]=n[o].parse),n[o].serialize)i.serializers[n[o].to]=n[o].serialize,n[o].from&&[].concat(n[o].from).forEach((c)=>i.serializers[c]=n[o].serialize);return i},{parsers:{},serializers:{}})}function L$(n,{transform:{column:i}}){return n.map((o)=>Cm(i.to?i.to(o):o)).join(",")}function Xz(n){return n.replace(Kz,"\\\\").replace(Wz,'\\"')}function wR(n,i,o,c){const p=[],a=c===1020?";":",";for(;n.i<i.length;n.i++){if(n.char=i[n.i],n.quoted)if(n.char==="\\")n.str+=i[++n.i];else if(n.char==='"')p.push(o?o(n.str):n.str),n.str="",n.quoted=i[n.i+1]==='"',n.last=n.i+2;else n.str+=n.char;else if(n.char==='"')n.quoted=!0;else if(n.char==="{")n.last=++n.i,p.push(wR(n,i,o,c));else if(n.char==="}"){n.quoted=!1,n.last<n.i&&p.push(o?o(i.slice(n.last,n.i)):i.slice(n.last,n.i)),n.last=n.i+1;break}else if(n.char===a&&n.p!=="}"&&n.p!=='"')p.push(o?o(i.slice(n.last,n.i)):i.slice(n.last,n.i)),n.last=n.i+1;n.p=n.char}return n.last<n.i&&p.push(o?o(i.slice(n.last,n.i+1)):i.slice(n.last,n.i+1)),p}function B$(n){return function i(o,c){return typeof o==="object"&&o!==null&&(c.type===114||c.type===3802)?Array.isArray(o)?o.map((p)=>i(p,c)):Object.entries(o).reduce((p,[a,x])=>Object.assign(p,{[n(a)]:i(x,c)}),{}):o}}var Fz={string:{to:25,from:null,serialize:(n)=>""+n},number:{to:0,from:[21,23,26,700,701],serialize:(n)=>""+n,parse:(n)=>+n},json:{to:114,from:[114,3802],serialize:(n)=>JSON.stringify(n),parse:(n)=>JSON.parse(n)},boolean:{to:16,from:16,serialize:(n)=>n===!0?"t":"f",parse:(n)=>n==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(n)=>(n instanceof Date?n:new Date(n)).toISOString(),parse:(n)=>new Date(n)},bytea:{to:17,from:17,serialize:(n)=>"\\x"+Buffer.from(n).toString("hex"),parse:(n)=>Buffer.from(n.slice(2),"hex")}};class Dm{then(){b$()}catch(){b$()}finally(){b$()}}class da extends Dm{constructor(n){super();this.value=Cm(n)}}class Vo extends Dm{constructor(n,i,o){super();this.value=n,this.type=i,this.array=o}}class Im extends Dm{constructor(n,i){super();this.first=n,this.rest=i}build(n,i,o,c){const p=Tz.map(([a,x])=>({fn:x,i:n.search(a)})).sort((a,x)=>a.i-x.i).pop();return p.i===-1?L$(this.first,c):p.fn(this.first,this.rest,i,o,c)}}var aR=fR(Fz),Tz=Object.entries({values:pR,in:(...n)=>{const i=pR(...n);return i==="()"?"(null)":i},select:ym,as:ym,returning:ym,"\\(":ym,update(n,i,o,c,p){return(i.length?i.flat():Object.keys(n)).map((a)=>Cm(p.transform.column.to?p.transform.column.to(a):a)+"="+N$("values",n[a],o,c,p))},insert(n,i,o,c,p){const a=i.length?i.flat():Object.keys(Array.isArray(n)?n[0]:n);return"("+L$(a,p)+")values"+xR(Array.isArray(n)?n:[n],o,c,a,p)}}).map(([n,i])=>[new RegExp("((?:^|[\\s(])"+n+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),i]),Mz=aR.serializers,Rz=aR.parsers;var lR=function(n){const i=fR(n||{});return{serializers:Object.assign({},Mz,i.serializers),parsers:Object.assign({},Rz,i.parsers)}},Cm=function n(i){return'"'+i.replace(/"/g,'""').replace(/\./g,'"."')+'"'},hm=function n(i){return i instanceof Vo?i.type:i instanceof Date?1184:i instanceof Uint8Array?17:i===!0||i===!1?16:typeof i==="bigint"?20:Array.isArray(i)?n(i[0]):0},Kz=/\\/g,Wz=/"/g,$R=function n(i,o,c,p){if(Array.isArray(i)===!1)return i;if(!i.length)return"{}";const a=i[0],x=p===1020?";":",";if(Array.isArray(a)&&!a.type)return"{"+i.map((m)=>n(m,o,c,p)).join(x)+"}";return"{"+i.map((m)=>{if(m===void 0){if(m=c.transform.undefined,m===void 0)throw dn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return m===null?"null":'"'+Xz(o?o(m.type?m.value:m):""+m)+'"'}).join(x)+"}"},_$={i:0,char:null,str:"",quoted:!1,last:0},vR=function n(i,o,c){return _$.i=_$.last=0,wR(_$,i,o,c)},Ic=(n)=>{let i=n[0];for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},tc=(n)=>{let i=n[0].toUpperCase();for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},Cc=(n)=>n.replace(/_/g,"-"),Pa=(n)=>n.replace(/([A-Z])/g,"_$1").toLowerCase(),ea=(n)=>(n.slice(0,1)+n.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),ga=(n)=>n.replace(/-/g,"_");Ic.column={from:Ic};Ic.value={from:B$(Ic)};Pa.column={to:Pa};var y$={...Ic};y$.column.to=Pa;tc.column={from:tc};tc.value={from:B$(tc)};ea.column={to:ea};var h$={...tc};h$.column.to=ea;Cc.column={from:Cc};Cc.value={from:B$(Cc)};ga.column={to:ga};var D$={...Cc};D$.column.to=ga;import SR from"net";import uz from"tls";import nx from"crypto";import I$ from"stream";import{performance as JR}from"perf_hooks";class kc extends Array{constructor(){super();Object.defineProperties(this,{count:{value:null,writable:!0},state:{value:null,writable:!0},command:{value:null,writable:!0},columns:{value:null,writable:!0},statement:{value:null,writable:!0}})}static get[Symbol.species](){return Array}}function zz(n=[]){let i=n.slice(),o=0;return{get length(){return i.length-o},remove:(c)=>{const p=i.indexOf(c);return p===-1?null:(i.splice(p,1),c)},push:(c)=>(i.push(c),c),shift:()=>{const c=i[o++];if(o===i.length)o=0,i=[];else i[o-1]=void 0;return c}}}var Ci=zz;function km(n){if(Xi.length-Hn.i<n){const i=Xi,o=i.length;Xi=Buffer.allocUnsafe(o+(o>>1)+n),i.copy(Xi)}}function Yz(){return Hn.i=0,Hn}var Xi=Buffer.allocUnsafe(256),Gz="BCcDdEFfHPpQSX".split("").reduce((n,i)=>{const o=i.charCodeAt(0);return n[i]=()=>{return Xi[0]=o,Hn.i=5,Hn},n},{}),Hn=Object.assign(Yz,Gz,{N:String.fromCharCode(0),i:0,inc(n){return Hn.i+=n,Hn},str(n){const i=Buffer.byteLength(n);return km(i),Hn.i+=Xi.write(n,Hn.i,i,"utf8"),Hn},i16(n){return km(2),Xi.writeUInt16BE(n,Hn.i),Hn.i+=2,Hn},i32(n,i){if(i||i===0)return Xi.writeUInt32BE(n,i),Hn;return km(4),Xi.writeUInt32BE(n,Hn.i),Hn.i+=4,Hn},z(n){return km(n),Xi.fill(0,Hn.i,Hn.i+n),Hn.i+=n,Hn},raw(n){return Xi=Buffer.concat([Xi.subarray(0,Hn.i),n]),Hn.i=Xi.length,Hn},end(n=1){Xi.writeUInt32BE(Hn.i-n,n);const i=Xi.subarray(0,Hn.i);return Hn.i=0,Xi=Buffer.allocUnsafe(256),i}}),Z=Hn;function TR(n,i={},{onopen:o=rp,onend:c=rp,onclose:p=rp}={}){const{ssl:a,max:x,user:m,host:l,port:f,database:$,parsers:v,transform:S,onnotice:T,onnotify:R,onparameter:F,max_pipeline:X,keep_alive:z,backoff:Y,target_session_attrs:E}=n,s=Ci(),G=Oz++,M={pid:null,secret:null},O=C$(gm,n.idle_timeout),U=C$(gm,n.max_lifetime),V=C$(hR,n.connect_timeout);let K=null,B,_=new kc,P=Buffer.alloc(0),ln=n.fetch_types,$n={},Qn={},ji=Math.random().toString(36).slice(2),H=1,k=0,Sn=0,Xn=0,ni=0,wn=0,Un=0,Pn=0,Bn=null,sn=null,vi=!1,Vn=null,ao=null,wi=null,Io=null,ii=null,jn=null,xo=null,zo=null,N=null,Zp=null;const Si={queue:i.closed,idleTimer:O,connect(w){wi=w||!0,xv()},terminate:Pp,execute:qp,cancel:NR,end:gm,count:0,id:G};return i.closed&&i.closed.push(Si),Si;async function jR(){let w;try{w=n.socket?await Promise.resolve(n.socket(n)):new SR.Socket}catch(W){qc(W);return}return w.on("error",qc),w.on("close",mv),w.on("drain",pv),w}async function NR({pid:w,secret:W},q,Rn){try{B=Z().i32(16).i32(80877102).i32(w).i32(W).end(16),await av(),K.once("error",Rn),K.once("close",q)}catch(tn){Rn(tn)}}function qp(w){if(vi)return cx(w,dn.connection("CONNECTION_DESTROYED",n));if(w.cancelled)return;try{return w.state=M,N?s.push(w):(N=w,N.active=!0),yR(w),mi(LR(w))&&!w.describeFirst&&!w.cursorFn&&s.length<X&&(!w.options.onexecute||w.options.onexecute(Si))}catch(W){return s.length===0&&mi(Fc),Go(W),!0}}function LR(w){if(w.parameters.length>=65534)throw dn.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return w.options.simple?Z().Q().str(w.statement.string+Z.N).end():w.describeFirst?Buffer.concat([iv(w),AR]):w.prepare?w.prepared?ox(w):Buffer.concat([iv(w),ox(w)]):BR(w)}function iv(w){return Buffer.concat([fv(w.statement.string,w.parameters,w.statement.types,w.statement.name),Y4("S",w.statement.name)])}function ox(w){return Buffer.concat([G4(w.parameters,w.statement.types,w.statement.name,w.cursorName),w.cursorFn?$v("",w.cursorRows):Ez])}function BR(w){return Buffer.concat([fv(w.statement.string,w.parameters,w.statement.types),Qz,ox(w)])}function yR(w){const W=[],q=[],Rn=j$(w,w.strings[0],w.args[0],W,q,n);!w.tagged&&w.args.forEach((tn)=>tm(tn,W,q,n)),w.prepare=n.prepare&&("prepare"in w.options?w.options.prepare:!0),w.string=Rn,w.signature=w.prepare&&q+Rn,w.onlyDescribe&&delete Qn[w.signature],w.parameters=w.parameters||W,w.prepared=w.prepare&&w.signature in Qn,w.describeFirst=w.onlyDescribe||W.length&&!w.prepared,w.statement=w.prepared?Qn[w.signature]:{string:Rn,types:q,name:w.prepare?ji+H++:""},typeof n.debug==="function"&&n.debug(G,Rn,W,q)}function mi(w,W){if(jn=jn?Buffer.concat([jn,w]):Buffer.from(w),W||jn.length>=1024)return ov(W);return sn===null&&(sn=setImmediate(ov)),!0}function ov(w){const W=K.write(jn,w);return sn!==null&&clearImmediate(sn),jn=sn=null,W}function hR(){Go(dn.connection("CONNECT_TIMEOUT",n,K)),K.destroy()}async function cv(){if(mi(Hz),!await new Promise((W)=>K.once("data",(q)=>W(q[0]===83)))&&a==="prefer")return Zc();K.removeAllListeners(),K=uz.connect({socket:K,servername:SR.isIP(K.host)?void 0:K.host,...a==="require"||a==="allow"||a==="prefer"?{rejectUnauthorized:!1}:a==="verify-full"?{}:typeof a==="object"?a:{}}),K.on("secureConnect",Zc),K.on("error",qc),K.on("close",mv),K.on("drain",pv)}function pv(){!N&&o(Si)}function em(w){if(Vn){if(Vn.push(w),Sn-=w.length,Sn>=0)return}P=Vn?Buffer.concat(Vn,wn-Sn):P.length===0?w:Buffer.concat([P,w],P.length+w.length);while(P.length>4){if(wn=P.readUInt32BE(1),wn>=P.length){Sn=wn-P.length,Vn=[P];break}try{DR(P.subarray(0,wn+1))}catch(W){N&&(N.cursorFn||N.describeFirst)&&mi(Fc),Go(W)}P=P.subarray(wn+1),Sn=0,Vn=null}}async function av(){if(vi=!1,$n={},K||(K=await jR()),!K)return;if(V.start(),n.socket)return a?cv():Zc();if(K.on("connect",a?cv:Zc),n.path)return K.connect(n.path);K.ssl=a,K.connect(f[Xn],l[Xn]),K.host=l[Xn],K.port=f[Xn],Xn=(Xn+1)%f.length}function xv(){setTimeout(av,k?k+Un-JR.now():0)}function Zc(){try{Qn={},ln=n.fetch_types,ji=Math.random().toString(36).slice(2),H=1,U.start(),K.on("data",em),z&&K.setKeepAlive&&K.setKeepAlive(!0,1000*z);const w=O4();mi(w)}catch(w){qc(w)}}function qc(w){if(Si.queue===i.connecting&&n.host[ni+1])return;Go(w);while(s.length)cx(s.shift(),w)}function Go(w){ii&&(ii.destroy(w),ii=null),N&&cx(N,w),wi&&(cx(wi,w),wi=null)}function cx(w,W){Object.defineProperties(W,{stack:{value:W.stack+w.origin.replace(/.*\n/,"\n"),enumerable:n.debug},query:{value:w.string,enumerable:n.debug},parameters:{value:w.parameters,enumerable:n.debug},args:{value:w.args,enumerable:n.debug},types:{value:w.statement&&w.statement.types,enumerable:n.debug}}),w.reject(W)}function gm(){return Io||(!Si.reserved&&c(Si),!Si.reserved&&!wi&&!N&&s.length===0?(Pp(),new Promise((w)=>K&&K.readyState!=="closed"?K.once("close",w):w())):Io=new Promise((w)=>xo=w))}function Pp(){if(vi=!0,ii||N||wi||s.length)qc(dn.connection("CONNECTION_DESTROYED",n));if(clearImmediate(sn),K)K.removeListener("data",em),K.removeListener("connect",Zc),K.readyState==="open"&&K.end(Z().X().end());xo&&(xo(),Io=xo=null)}async function mv(w){if(P=Buffer.alloc(0),Sn=0,Vn=null,clearImmediate(sn),K.removeListener("data",em),K.removeListener("connect",Zc),O.cancel(),U.cancel(),V.cancel(),K.removeAllListeners(),K=null,wi)return xv();!w&&(N||s.length)&&qc(dn.connection("CONNECTION_CLOSED",n,K)),k=JR.now(),w&&n.shared.retries++,Un=(typeof Y==="function"?Y(n.shared.retries):Y)*1000,p(Si,dn.connection("CONNECTION_CLOSED",n,K))}function DR(w,W=w[0]){(W===68?IR:W===100?F4:W===65?$4:W===83?tR:W===90?CR:W===67?kR:W===50?lv:W===49?rR:W===116?ZR:W===84?qR:W===82?PR:W===110?o4:W===75?c4:W===69?l4:W===115?v4:W===51?w4:W===71?S4:W===78?M4:W===72?J4:W===99?T4:W===73?R4:W===86?K4:W===118?W4:W===87?A4:X4)(w)}function IR(w){let W=7,q,Rn,tn;const Ji=N.isRaw?new Array(N.statement.columns.length):{};for(let zi=0;zi<N.statement.columns.length;zi++)Rn=N.statement.columns[zi],q=w.readInt32BE(W),W+=4,tn=q===-1?null:N.isRaw===!0?w.subarray(W,W+=q):Rn.parser===void 0?w.toString("utf8",W,W+=q):Rn.parser.array===!0?Rn.parser(w.toString("utf8",W+1,W+=q)):Rn.parser(w.toString("utf8",W,W+=q)),N.isRaw?Ji[zi]=N.isRaw===!0?tn:S.value.from?S.value.from(tn,Rn):tn:Ji[Rn.name]=S.value.from?S.value.from(tn,Rn):tn;N.forEachFn?N.forEachFn(S.row.from?S.row.from(Ji):Ji,_):_[Pn++]=S.row.from?S.row.from(Ji):Ji}function tR(w){const[W,q]=w.toString("utf8",5,w.length-1).split(Z.N);if($n[W]=q,n.parameters[W]!==q)n.parameters[W]=q,F&&F(W,q)}function CR(w){if(N&&N.options.simple&&N.resolve(ao||_),N=ao=null,_=new kc,V.cancel(),wi){if(E){if(!$n.in_hot_standby||!$n.default_transaction_read_only)return m4();else if(x4(E,$n))return Pp()}if(ln)return wi===!0&&(wi=null),p4();wi!==!0&&qp(wi),n.shared.retries=ni=0,wi=null;return}while(s.length&&(N=s.shift())&&(N.active=!0,N.cancelled))TR(n).cancel(N.state,N.cancelled.resolve,N.cancelled.reject);if(N)return;Si.reserved?!Si.reserved.release&&w[5]===73?Io?Pp():(Si.reserved=null,o(Si)):Si.reserved():Io?Pp():o(Si)}function kR(w){Pn=0;for(let W=w.length-1;W>0;W--){if(w[W]===32&&w[W+1]<58&&_.count===null)_.count=+w.toString("utf8",W+1,w.length-1);if(w[W-1]>=65){_.command=w.toString("utf8",5,W),_.state=M;break}}if(Zp&&(Zp(),Zp=null),_.command==="BEGIN"&&x!==1&&!Si.reserved)return Go(dn.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(N.options.simple)return lv();if(N.cursorFn)_.count&&N.cursorFn(_),mi(Fc);N.resolve(_)}function rR(){N.parsing=!1}function lv(){!_.statement&&(_.statement=N.statement),_.columns=N.statement.columns}function ZR(w){const W=w.readUInt16BE(5);for(let q=0;q<W;++q)!N.statement.types[q]&&(N.statement.types[q]=w.readUInt32BE(7+q*4));N.prepare&&(Qn[N.signature]=N.statement),N.describeFirst&&!N.onlyDescribe&&(mi(ox(N)),N.describeFirst=!1)}function qR(w){if(_.command)ao=ao||[_],ao.push(_=new kc),_.count=null,N.statement.columns=null;const W=w.readUInt16BE(5);let q=7,Rn;N.statement.columns=Array(W);for(let tn=0;tn<W;++tn){Rn=q;while(w[q++]!==0);const Ji=w.readUInt32BE(q),zi=w.readUInt16BE(q+4),to=w.readUInt32BE(q+6);N.statement.columns[tn]={name:S.column.from?S.column.from(w.toString("utf8",Rn,q-1)):w.toString("utf8",Rn,q-1),parser:v[to],table:Ji,number:zi,type:to},q+=18}if(_.statement=N.statement,N.onlyDescribe)return N.resolve(N.statement),mi(Fc)}async function PR(w,W=w.readUInt32BE(5)){(W===3?eR:W===5?gR:W===10?dR:W===11?n4:W===12?i4:W!==0?z4:rp)(w,W)}async function eR(){const w=await dm();mi(Z().p().str(w).z(1).end())}async function gR(w){const W="md5"+await FR(Buffer.concat([Buffer.from(await FR(await dm()+m)),w.subarray(9)]));mi(Z().p().str(W).z(1).end())}async function dR(){zo=(await nx.randomBytes(18)).toString("base64"),Z().p().str("SCRAM-SHA-256"+Z.N);const w=Z.i;mi(Z.inc(4).str("n,,n=*,r="+zo).i32(Z.i-w-4,w).end())}async function n4(w){const W=w.toString("utf8",9).split(",").reduce((zi,to)=>(zi[to[0]]=to.slice(2),zi),{}),q=await nx.pbkdf2Sync(await dm(),Buffer.from(W.s,"base64"),parseInt(W.i),32,"sha256"),Rn=await rm(q,"Client Key"),tn="n=*,r="+zo+",r="+W.r+",s="+W.s+",i="+W.i+",c=biws,r="+W.r;Bn=(await rm(await rm(q,"Server Key"),tn)).toString("base64");const Ji="c=biws,r="+W.r+",p="+_z(Rn,Buffer.from(await rm(await bz(Rn),tn))).toString("base64");mi(Z().p().str(Ji).end())}function i4(w){if(w.toString("utf8",9).split(Z.N,1)[0].slice(2)===Bn)return;Go(dn.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),K.destroy()}function dm(){return Promise.resolve(typeof n.pass==="function"?n.pass():n.pass)}function o4(){if(_.statement=N.statement,_.statement.columns=[],N.onlyDescribe)return N.resolve(N.statement),mi(Fc)}function c4(w){M.pid=w.readUInt32BE(5),M.secret=w.readUInt32BE(9)}async function p4(){ln=!1,(await new po([`
44
+ select b.oid, b.typarray
45
+ from pg_catalog.pg_type a
46
+ left join pg_catalog.pg_type b on b.oid = a.typelem
47
+ where a.typcategory = 'A'
48
+ group by b.oid, b.typarray
49
+ order by b.oid
50
+ `],[],qp)).forEach(({oid:W,typarray:q})=>a4(W,q))}function a4(w,W){if(!!n.parsers[W]&&!!n.serializers[W])return;const q=n.parsers[w];n.shared.typeArrayMap[w]=W,n.parsers[W]=(Rn)=>vR(Rn,q,W),n.parsers[W].array=!0,n.serializers[W]=(Rn)=>$R(Rn,n.serializers[w],n,W)}function x4(w,W){return w==="read-write"&&W.default_transaction_read_only==="on"||w==="read-only"&&W.default_transaction_read_only==="off"||w==="primary"&&W.in_hot_standby==="on"||w==="standby"&&W.in_hot_standby==="off"||w==="prefer-standby"&&W.in_hot_standby==="off"&&n.host[ni]}function m4(){const w=new po([`
51
+ show transaction_read_only;
52
+ select pg_catalog.pg_is_in_recovery()
53
+ `],[],qp,null,{simple:!0});w.resolve=([[W],[q]])=>{$n.default_transaction_read_only=W.transaction_read_only,$n.in_hot_standby=q.pg_is_in_recovery?"on":"off"},w.execute()}function l4(w){N&&(N.cursorFn||N.describeFirst)&&mi(Fc);const W=dn.postgres(t$(w));N&&N.retried?Go(N.retried):N&&N.prepared&&Uz.has(W.routine)?f4(N,W):Go(W)}function f4(w,W){delete Qn[w.signature],w.retried=W,qp(w)}function $4(w){if(!R)return;let W=9;while(w[W++]!==0);R(w.toString("utf8",9,W-1),w.toString("utf8",W,w.length-1))}async function v4(){try{const w=await Promise.resolve(N.cursorFn(_));Pn=0,w===Cp?mi(u4(N.portal)):(_=new kc,mi($v("",N.cursorRows)))}catch(w){mi(Fc),N.reject(w)}}function w4(){_.count&&N.cursorFn(_),N.resolve(_)}function S4(){ii=new I$.Writable({autoDestroy:!0,write(w,W,q){K.write(Z().d().raw(w).end(),q)},destroy(w,W){W(w),K.write(Z().f().str(w+Z.N).end()),ii=null},final(w){K.write(Z().c().end()),Zp=w}}),N.resolve(ii)}function J4(){ii=new I$.Readable({read(){K.resume()}}),N.resolve(ii)}function A4(){ii=new I$.Duplex({autoDestroy:!0,read(){K.resume()},write(w,W,q){K.write(Z().d().raw(w).end(),q)},destroy(w,W){W(w),K.write(Z().f().str(w+Z.N).end()),ii=null},final(w){K.write(Z().c().end()),Zp=w}}),N.resolve(ii)}function F4(w){ii&&(ii.push(w.subarray(5))||K.pause())}function T4(){ii&&ii.push(null),ii=null}function M4(w){T?T(t$(w)):console.log(t$(w))}function R4(){}function K4(){Go(dn.notSupported("FunctionCallResponse"))}function W4(){Go(dn.notSupported("NegotiateProtocolVersion"))}function X4(w){console.error("Postgres.js : Unknown Message:",w[0])}function z4(w,W){console.error("Postgres.js : Unknown Auth:",W)}function G4(w,W,q="",Rn=""){let tn,Ji;return Z().B().str(Rn+Z.N).str(q+Z.N).i16(0).i16(w.length),w.forEach((zi,to)=>{if(zi===null)return Z.i32(4294967295);Ji=W[to],w[to]=zi=Ji in n.serializers?n.serializers[Ji](zi):""+zi,tn=Z.i,Z.inc(4).str(zi).i32(Z.i-tn-4,tn)}),Z.i16(0),Z.end()}function fv(w,W,q,Rn=""){return Z().P().str(Rn+Z.N).str(w+Z.N).i16(W.length),W.forEach((tn,Ji)=>Z.i32(q[Ji]||0)),Z.end()}function Y4(w,W=""){return Z().D().str(w).str(W+Z.N).end()}function $v(w="",W=0){return Buffer.concat([Z().E().str(w+Z.N).i32(W).end(),AR])}function u4(w=""){return Buffer.concat([Z().C().str("P").str(w+Z.N).end(),Z().S().end()])}function O4(){return B||Z().inc(4).i16(3).z(2).str(Object.entries(Object.assign({user:m,database:$,client_encoding:"UTF8"},n.connection)).filter(([,w])=>w).map(([w,W])=>w+Z.N+W).join(Z.N)).z(2).end(0)}}function t$(n){const i={};let o=5;for(let c=5;c<n.length-1;c++)if(n[c]===0)i[Vz[n[o]]]=n.toString("utf8",o+1,c),o=c+1;return i}function FR(n){return nx.createHash("md5").update(n).digest("hex")}function rm(n,i){return nx.createHmac("sha256",n).update(i).digest()}function bz(n){return nx.createHash("sha256").update(n).digest()}function _z(n,i){const o=Math.max(n.length,i.length),c=Buffer.allocUnsafe(o);for(let p=0;p<o;p++)c[p]=n[p]^i[p];return c}function C$(n,i){if(i=typeof i==="function"?i():i,!i)return{cancel:rp,start:rp};let o;return{cancel(){o&&(clearTimeout(o),o=null)},start(){o&&clearTimeout(o),o=setTimeout(c,i*1000,arguments)}};function c(p){n.apply(null,p),o=null}}var k$=TR,Oz=1,Fc=Z().S().end(),AR=Z().H().end(),Hz=Z().i32(8).i32(80877103).end(8),Ez=Buffer.concat([Z().E().str(Z.N).i32(0).end(),Fc]),Qz=Z().D().str("S").str(Z.N).end(),rp=()=>{},Uz=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),Vz={83:"severity_local",86:"severity",67:"code",77:"message",68:"detail",72:"hint",80:"position",112:"internal_position",113:"internal_query",87:"where",115:"schema_name",116:"table_name",99:"column_name",100:"data type_name",110:"constraint_name",70:"file",76:"line",82:"routine"};function sz(n){return new Date(Date.UTC(2000,0,1)+Number(n/BigInt(1000)))}function jz(n,i,o,c,p){const a=(x,[m,l])=>(x[m.charCodeAt(0)]=l,x);Object.entries({R:(x)=>{let m=1;const l=i[x.readUInt32BE(m)]={schema:x.toString("utf8",m+=4,m=x.indexOf(0,m))||"pg_catalog",table:x.toString("utf8",m+1,m=x.indexOf(0,m+1)),columns:Array(x.readUInt16BE(m+=2)),keys:[]};m+=2;let f=0,$;while(m<x.length)$=l.columns[f++]={key:x[m++],name:p.column.from?p.column.from(x.toString("utf8",m,m=x.indexOf(0,m))):x.toString("utf8",m,m=x.indexOf(0,m)),type:x.readUInt32BE(m+=1),parser:o[x.readUInt32BE(m)],atttypmod:x.readUInt32BE(m+=4)},$.key&&l.keys.push($),m+=4},Y:()=>{},O:()=>{},B:(x)=>{i.date=sz(x.readBigInt64BE(9)),i.lsn=x.subarray(1,9)},I:(x)=>{let m=1;const l=i[x.readUInt32BE(m)],{row:f}=Zm(x,l.columns,m+=7,p);c(f,{command:"insert",relation:l})},D:(x)=>{let m=1;const l=i[x.readUInt32BE(m)];m+=4;const f=x[m]===75;c(f||x[m]===79?Zm(x,l.columns,m+=3,p).row:null,{command:"delete",relation:l,key:f})},U:(x)=>{let m=1;const l=i[x.readUInt32BE(m)];m+=4;const f=x[m]===75,$=f||x[m]===79?Zm(x,l.columns,m+=3,p):null;$&&(m=$.i);const{row:v}=Zm(x,l.columns,m+3,p);c(v,{command:"update",relation:l,key:f,old:$&&$.row})},T:()=>{},C:()=>{}}).reduce(a,{})[n[0]](n)}function Zm(n,i,o,c){let p,a,x;const m=c.raw?new Array(i.length):{};for(let l=0;l<i.length;l++)p=n[o++],a=i[l],x=p===110?null:p===117?void 0:a.parser===void 0?n.toString("utf8",o+4,o+=4+n.readUInt32BE(o)):a.parser.array===!0?a.parser(n.toString("utf8",o+5,o+=4+n.readUInt32BE(o))):a.parser(n.toString("utf8",o+4,o+=4+n.readUInt32BE(o))),c.raw?m[l]=c.raw===!0?x:c.value.from?c.value.from(x,a):x:m[a.name]=c.value.from?c.value.from(x,a):x;return{i:o,row:c.row.from?c.row.from(m):m}}function Nz(n){const i=n.match(/^(\*|insert|update|delete)?:?([^.]+?\.?[^=]+)?=?(.+)?/i)||[];if(!i)throw new Error("Malformed subscribe pattern: "+n);const[,o,c,p]=i;return(o||"*")+(c?":"+(c.indexOf(".")===-1?"public."+c:c):"")+(p?"="+p:"")}var MR=()=>{};function r$(n,i){const o=new Map,c="postgresjs_"+Math.random().toString(36).slice(2),p={};let a,x,m=!1;const l=v.sql=n({...i,transform:{column:{},value:{},row:{}},max:1,fetch_types:!1,idle_timeout:null,max_lifetime:null,connection:{...i.connection,replication:"database"},onclose:async function(){if(m)return;x=null,p.pid=p.secret=void 0,S(await T(l,c,i.publications)),o.forEach((F)=>F.forEach(({onsubscribe:X})=>X()))},no_subscribe:!0}),f=l.end,$=l.close;return l.end=async()=>{return m=!0,x&&await new Promise((F)=>(x.once("close",F),x.end())),f()},l.close=async()=>{return x&&await new Promise((F)=>(x.once("close",F),x.end())),$()},v;async function v(F,X,z=MR,Y=MR){if(F=Nz(F),!a)a=T(l,c,i.publications);const E={fn:X,onsubscribe:z},s=o.has(F)?o.get(F).add(E):o.set(F,new Set([E])).get(F),G=()=>{s.delete(E),s.size===0&&o.delete(F)};return a.then((M)=>{return S(M),z(),x&&x.on("error",Y),{unsubscribe:G,state:p,sql:l}})}function S(F){x=F.stream,p.pid=F.state.pid,p.secret=F.state.secret}async function T(F,X,z){if(!z)throw new Error("Missing publication names");const Y=await F.unsafe(`CREATE_REPLICATION_SLOT ${X} TEMPORARY LOGICAL pgoutput NOEXPORT_SNAPSHOT`),[E]=Y,s=await F.unsafe(`START_REPLICATION SLOT ${X} LOGICAL ${E.consistent_point} (proto_version '1', publication_names '${z}')`).writable(),G={lsn:Buffer.concat(E.consistent_point.split("/").map((K)=>Buffer.from(("00000000"+K).slice(-8),"hex")))};return s.on("data",O),s.on("error",M),s.on("close",F.close),{stream:s,state:Y.state};function M(K){console.error("Unexpected error during logical streaming - reconnecting",K)}function O(K){if(K[0]===119)jz(K.subarray(25),G,F.options.parsers,U,i.transform);else if(K[0]===107&&K[17])G.lsn=K.subarray(1,9),V()}function U(K,B){const _=B.relation.schema+"."+B.relation.table;R("*",K,B),R("*:"+_,K,B),B.relation.keys.length&&R("*:"+_+"="+B.relation.keys.map((P)=>K[P.name]),K,B),R(B.command,K,B),R(B.command+":"+_,K,B),B.relation.keys.length&&R(B.command+":"+_+"="+B.relation.keys.map((P)=>K[P.name]),K,B)}function V(){const K=Buffer.alloc(34);K[0]="r".charCodeAt(0),K.fill(G.lsn,1),K.writeBigInt64BE(BigInt(Date.now()-Date.UTC(2000,0,1))*BigInt(1000),25),s.write(K)}}function R(F,X,z){o.has(F)&&o.get(F).forEach(({fn:Y})=>Y(X,z,F))}}import RR from"stream";function Z$(n,i,o=393216){return new Promise(async(c,p)=>{await n.begin(async(a)=>{let x;!i&&([{oid:i}]=await a`select lo_creat(-1) as oid`);const[{fd:m}]=await a`select lo_open(${i}, ${o}) as fd`,l={writable:$,readable:f,close:()=>a`select lo_close(${m})`.then(x),tell:()=>a`select lo_tell64(${m})`,read:(v)=>a`select loread(${m}, ${v}) as data`,write:(v)=>a`select lowrite(${m}, ${v})`,truncate:(v)=>a`select lo_truncate64(${m}, ${v})`,seek:(v,S=0)=>a`select lo_lseek64(${m}, ${v}, ${S})`,size:()=>a`
54
+ select
55
+ lo_lseek64(${m}, location, 0) as position,
56
+ seek.size
57
+ from (
58
+ select
59
+ lo_lseek64($1, 0, 2) as size,
60
+ tell.location
61
+ from (select lo_tell64($1) as location) tell
62
+ ) seek
63
+ `};return c(l),new Promise(async(v)=>x=v);async function f({highWaterMark:v=16384,start:S=0,end:T=1/0}={}){let R=T-S;return S&&await l.seek(S),new RR.Readable({highWaterMark:v,async read(F){const X=F>R?F-R:F;R-=F;const[{data:z}]=await l.read(X);if(this.push(z),z.length<F)this.push(null)}})}async function $({highWaterMark:v=16384,start:S=0}={}){return S&&await l.seek(S),new RR.Writable({highWaterMark:v,write(T,R,F){l.write(T).then(()=>F(),F)}})}}).catch(p)})}function qm(n,i){const o=yz(n,i),c=o.no_subscribe||r$(qm,{...o});let p=!1;const a=Ci(),x=Ci(),m=Ci(),l=Ci(),f=Ci(),$=Ci(),v=Ci(),S=Ci(),T={connecting:x,reserved:m,closed:l,ended:f,open:$,busy:v,full:S},R=[...Array(o.max)].map(()=>k$(o,T,{onopen:Qn,onend:$n,onclose:ji})),F=X(U);return Object.assign(F,{get parameters(){return o.parameters},largeObject:Z$.bind(null,F),subscribe:c,CLOSE:Cp,END:Cp,PostgresError:kp,options:o,reserve:E,listen:z,begin:s,close:_,end:B}),F;function X(H){return H.debug=o.debug,Object.entries(o.types).reduce((wn,[Un,Pn])=>{return wn[Un]=(Bn)=>new Vo(Bn,Pn.to),wn},k),Object.assign(Sn,{types:k,typed:k,unsafe:Xn,notify:Y,array:O,json:M,file:ni}),Sn;function k(wn,Un){return new Vo(wn,Un)}function Sn(wn,...Un){return wn&&Array.isArray(wn.raw)?new po(wn,Un,H,K):typeof wn==="string"&&!Un.length?new da(o.transform.column.to?o.transform.column.to(wn):wn):new Im(wn,Un)}function Xn(wn,Un=[],Pn={}){return arguments.length===2&&!Array.isArray(Un)&&(Pn=Un,Un=[]),new po([wn],Un,H,K,{prepare:!1,...Pn,simple:"simple"in Pn?Pn.simple:Un.length===0})}function ni(wn,Un=[],Pn={}){return arguments.length===2&&!Array.isArray(Un)&&(Pn=Un,Un=[]),new po([],Un,(sn)=>{Bz.readFile(wn,"utf8",(vi,Vn)=>{if(vi)return sn.reject(vi);sn.strings=[Vn],H(sn)})},K,{...Pn,simple:"simple"in Pn?Pn.simple:Un.length===0})}}async function z(H,k,Sn){const Xn={fn:k,onlisten:Sn},ni=z.sql||(z.sql=qm({...o,max:1,idle_timeout:null,max_lifetime:null,fetch_types:!1,onclose(){Object.entries(z.channels).forEach(([sn,{listeners:vi}])=>{delete z.channels[sn],Promise.all(vi.map((Vn)=>z(sn,Vn.fn,Vn.onlisten).catch(()=>{})))})},onnotify(sn,vi){sn in z.channels&&z.channels[sn].listeners.forEach((Vn)=>Vn.fn(vi))}})),wn=z.channels||(z.channels={});if(H in wn){wn[H].listeners.push(Xn);const sn=await wn[H].result;return Xn.onlisten&&Xn.onlisten(),{state:sn.state,unlisten:Bn}}wn[H]={result:ni`listen ${ni.unsafe('"'+H.replace(/"/g,'""')+'"')}`,listeners:[Xn]};const Pn=await wn[H].result;return Xn.onlisten&&Xn.onlisten(),{state:Pn.state,unlisten:Bn};async function Bn(){if(H in wn===!1)return;if(wn[H].listeners=wn[H].listeners.filter((sn)=>sn!==Xn),wn[H].listeners.length)return;return delete wn[H],ni`unlisten ${ni.unsafe('"'+H.replace(/"/g,'""')+'"')}`}}async function Y(H,k){return await F`select pg_notify(${H}, ${""+k})`}async function E(){const H=Ci(),k=$.length?$.shift():await new Promise((ni)=>{a.push({reserve:ni}),l.length&&ln(l.shift())});G(k,m),k.reserved=()=>H.length?k.execute(H.shift()):G(k,m),k.reserved.release=!0;const Sn=X(Xn);return Sn.release=()=>{k.reserved=null,Qn(k)},Sn;function Xn(ni){k.queue===S?H.push(ni):k.execute(ni)||G(k,S)}}async function s(H,k){!k&&(k=H,H="");const Sn=Ci();let Xn=0,ni,wn=null;try{return await F.unsafe("begin "+H.replace(/[^a-z ]/ig,""),[],{onexecute:Pn}).execute(),await Promise.race([Un(ni,k),new Promise((Bn,sn)=>ni.onclose=sn)])}catch(Bn){throw Bn}async function Un(Bn,sn,vi){const Vn=X(ii);Vn.savepoint=Io,Vn.prepare=(jn)=>wn=jn.replace(/[^a-z0-9$-_. ]/gi);let ao,wi;vi&&await Vn`savepoint ${Vn(vi)}`;try{if(wi=await new Promise((jn,xo)=>{const zo=sn(Vn);Promise.resolve(Array.isArray(zo)?Promise.all(zo):zo).then(jn,xo)}),ao)throw ao}catch(jn){throw await(vi?Vn`rollback to ${Vn(vi)}`:Vn`rollback`),jn instanceof kp&&jn.code==="25P02"&&ao||jn}if(!vi)wn?await Vn`prepare transaction '${Vn.unsafe(wn)}'`:await Vn`commit`;return wi;function Io(jn,xo){if(jn&&Array.isArray(jn.raw))return Io((zo)=>zo.apply(zo,arguments));return arguments.length===1&&(xo=jn,jn=null),Un(Bn,xo,"s"+Xn+++(jn?"_"+jn:""))}function ii(jn){jn.catch((xo)=>ao||(ao=xo)),Bn.queue===S?Sn.push(jn):Bn.execute(jn)||G(Bn,S)}}function Pn(Bn){ni=Bn,G(Bn,m),Bn.reserved=()=>Sn.length?Bn.execute(Sn.shift()):G(Bn,m)}}function G(H,k){return H.queue.remove(H),k.push(H),H.queue=k,k===$?H.idleTimer.start():H.idleTimer.cancel(),H}function M(H){return new Vo(H,3802)}function O(H,k){if(!Array.isArray(H))return O(Array.from(arguments));return new Vo(H,k||(H.length?hm(H)||25:0),o.shared.typeArrayMap)}function U(H){if(p)return H.reject(dn.connection("CONNECTION_ENDED",o,o));if($.length)return V($.shift(),H);if(l.length)return ln(l.shift(),H);v.length?V(v.shift(),H):a.push(H)}function V(H,k){return H.execute(k)?G(H,v):G(H,S)}function K(H){return new Promise((k,Sn)=>{H.state?H.active?k$(o).cancel(H.state,k,Sn):H.cancelled={resolve:k,reject:Sn}:(a.remove(H),H.cancelled=!0,H.reject(dn.generic("57014","canceling statement due to user request")),k())})}async function B({timeout:H=null}={}){if(p)return p;await 1;let k;return p=Promise.race([new Promise((Sn)=>H!==null&&(k=setTimeout(P,H*1000,Sn))),Promise.all(R.map((Sn)=>Sn.end()).concat(z.sql?z.sql.end({timeout:0}):[],c.sql?c.sql.end({timeout:0}):[]))]).then(()=>clearTimeout(k))}async function _(){await Promise.all(R.map((H)=>H.end()))}async function P(H){await Promise.all(R.map((k)=>k.terminate()));while(a.length)a.shift().reject(dn.connection("CONNECTION_DESTROYED",o));H()}function ln(H,k){return G(H,x),H.connect(k),H}function $n(H){G(H,f)}function Qn(H){if(a.length===0)return G(H,$);let k=Math.ceil(a.length/(x.length+1)),Sn=!0;while(Sn&&a.length&&k-- >0){const Xn=a.shift();if(Xn.reserve)return Xn.reserve(H);Sn=H.execute(Xn)}Sn?G(H,v):G(H,S)}function ji(H,k){G(H,l),H.reserved=null,H.onclose&&(H.onclose(k),H.onclose=null),o.onclose&&o.onclose(H.id),a.length&&ln(H,a.shift())}}function yz(n,i){if(n&&n.shared)return n;const o=process.env,c=(!n||typeof n==="string"?i:n)||{},{url:p,multihost:a}=Cz(n),x=[...p.searchParams].reduce((S,[T,R])=>(S[T]=R,S),{}),m=c.hostname||c.host||a||p.hostname||o.PGHOST||"localhost",l=c.port||p.port||o.PGPORT||5432,f=c.user||c.username||p.username||o.PGUSERNAME||o.PGUSER||kz();c.no_prepare&&(c.prepare=!1),x.sslmode&&(x.ssl=x.sslmode,delete x.sslmode),"timeout"in c&&(console.log("The timeout option is deprecated, use idle_timeout instead"),c.idle_timeout=c.timeout),x.sslrootcert==="system"&&(x.ssl="verify-full");const $=["idle_timeout","connect_timeout","max_lifetime","max_pipeline","backoff","keep_alive"],v={max:10,ssl:!1,idle_timeout:null,connect_timeout:30,max_lifetime:Iz,max_pipeline:100,backoff:Dz,keep_alive:60,prepare:!0,debug:!1,fetch_types:!0,publications:"alltables",target_session_attrs:null};return{host:Array.isArray(m)?m:m.split(",").map((S)=>S.split(":")[0]),port:Array.isArray(l)?l:m.split(",").map((S)=>parseInt(S.split(":")[1]||l)),path:c.path||m.indexOf("/")>-1&&m+"/.s.PGSQL."+l,database:c.database||c.db||(p.pathname||"").slice(1)||o.PGDATABASE||f,user:f,pass:c.pass||c.password||p.password||o.PGPASSWORD||"",...Object.entries(v).reduce((S,[T,R])=>{const F=T in c?c[T]:(T in x)?x[T]==="disable"||x[T]==="false"?!1:x[T]:o["PG"+T.toUpperCase()]||R;return S[T]=typeof F==="string"&&$.includes(T)?+F:F,S},{}),connection:{application_name:"postgres.js",...c.connection,...Object.entries(x).reduce((S,[T,R])=>((T in v)||(S[T]=R),S),{})},types:c.types||{},target_session_attrs:hz(c,p,o),onnotice:c.onnotice,onnotify:c.onnotify,onclose:c.onclose,onparameter:c.onparameter,socket:c.socket,transform:tz(c.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...lR(c.types)}}function hz(n,i,o){const c=n.target_session_attrs||i.searchParams.get("target_session_attrs")||o.PGTARGETSESSIONATTRS;if(!c||["read-write","read-only","primary","standby","prefer-standby"].includes(c))return c;throw new Error("target_session_attrs "+c+" is not supported")}function Dz(n){return(0.5+Math.random()/2)*Math.min(3**n/100,20)}function Iz(){return 60*(30+Math.random()*30)}function tz(n){return{undefined:n.undefined,column:{from:typeof n.column==="function"?n.column:n.column&&n.column.from,to:n.column&&n.column.to},value:{from:typeof n.value==="function"?n.value:n.value&&n.value.from,to:n.value&&n.value.to},row:{from:typeof n.row==="function"?n.row:n.row&&n.row.from,to:n.row&&n.row.to}}}function Cz(n){if(!n||typeof n!=="string")return{url:{searchParams:new Map}};let i=n;i=i.slice(i.indexOf("://")+3).split(/[?/]/)[0],i=decodeURIComponent(i.slice(i.indexOf("@")+1));const o=new URL(n.replace(i,i.split(",")[0]));return{url:{username:decodeURIComponent(o.username),password:decodeURIComponent(o.password),host:o.host,hostname:o.hostname,port:o.port,pathname:o.pathname,searchParams:o.searchParams},multihost:i.indexOf(",")>-1&&i}}function kz(){try{return Lz.userInfo().username}catch(n){return process.env.USERNAME||process.env.USER||process.env.LOGNAME}}Object.assign(qm,{PostgresError:kp,toPascal:tc,pascal:h$,toCamel:Ic,camel:y$,toKebab:Cc,kebab:D$,fromPascal:ea,fromCamel:Pa,fromKebab:ga,BigInt:{to:20,from:[20],parse:(n)=>BigInt(n),serialize:(n)=>n.toString()}});var KR=qm;var rz=Kx("role",["admin","user"]),Qi=ic("users",{id:Bi().primaryKey().defaultRandom(),username:$i({length:16}).notNull(),email:$i({length:254}).notNull(),hash:$i({length:64}).notNull(),salt:$i({length:36}).notNull(),createdAt:$o({withTimezone:!0}).notNull().defaultNow(),createdIp:$i({length:45}).notNull(),isActive:Aa().notNull().default(!1),verifiedAt:$o({withTimezone:!0}),userRole:rz().default("user")},(n)=>({usersUsernameUnique:u$().on(n.username),usersEmailUnique:u$().on(n.email)}));var Zz=["username","email","hash","userRole"],qz=Kx("trackedUserColumnName",Zz),Th=ic("userChanges",{id:Bi().primaryKey().defaultRandom(),userId:Bi().notNull().references(()=>Qi.id),changedAt:$o({withTimezone:!0}).notNull().defaultNow(),changedIp:$i({length:45}).notNull(),changedColumn:qz().notNull(),oldValue:$i({length:255}),newValue:$i({length:255})}),q$=ic("games",{id:Bi("id").primaryKey().defaultRandom()}),WR=ic("players",{userId:Bi().notNull().references(()=>Qi.id),gameId:Bi().notNull().references(()=>q$.id),score:Ex().notNull()},(n)=>({pk:bS({columns:[n.userId,n.gameId]})})),Tc=ic("loginHistory",{id:Bi().primaryKey().defaultRandom(),userId:Bi().references(()=>Qi.id),loginTime:$o({withTimezone:!0}).notNull().defaultNow(),ipAddress:$i({length:45}).notNull(),userAgent:$i({length:1024}),successful:Aa().notNull().default(!1)}),Pz=Kx("twoFactorMethod",["email","phone"]),Mh=ic("passwordResetAttempts",{id:Bi().primaryKey().defaultRandom(),userId:Bi().notNull().references(()=>Qi.id),requestedIp:$i({length:45}).notNull(),requestedAt:$o({withTimezone:!0}).notNull().defaultNow(),succeededIp:$i({length:45}),succeededAt:$o({withTimezone:!0}),verificationMethod:Pz().notNull()}),ix=ic("banishedIps",{ip:$i({length:45}).primaryKey(),reason:$i({length:2048}).notNull(),banishedAt:$o({withTimezone:!0}).notNull().defaultNow(),banishedUntil:$o({withTimezone:!0})});var __dirname="/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";class P${options;sql;drizzle;observers=new Map;async setupTriggersAndNotifications(){await this.sql.file(ez.resolve(__dirname,"notify_update.sql"));const n=[qi(Qi),qi(q$),qi(WR)];await this.sql`SELECT create_notify_triggers(${this.sql.array(n)})`,await this.sql.listen("table_update",(i)=>{const o=i.split(","),c=o[0],p=o[1],a=`${c}("${p}")`;if(this.observers.has(a))this.observers.get(a).next(a)})}constructor(n={host:pi.POSTGRES_HOST,port:pi.POSTGRES_PORT,user:pi.POSTGRES_USER,password:pi.POSTGRES_PASSWORD,database:pi.POSTGRES_DATABASE}){this.options=n,this.sql=KR(n),this.drizzle=dM(this.sql)}observe(n,i){if(!this.observers.has(n))this.observers.set(n,new an);this.observers.get(n).subscribe("SINGLETON",i)}}import{createHash as gz}from"crypto";function e$(n){const i=gz("sha256").update(n).digest("hex");return`${i.substring(0,8)}-${i.substring(8,12)}-${i.substring(12,16)}-${i.substring(16,20)}-${i.substring(20,32)}`}var XR=["123","321","abc","admin","adobe","alexander","amanda","andrea","andrew","angel","apple","asdf","ashley","baby","banana","baseball","batman","bear","biteme","blazer","blonde","boston","buster","butterfly","cameron","charlie","cheese","chelsea","chicken","chocolate","chris","compaq","computer","cookie","corvette","cowboys","dakota","dallas","daniel","david","diamond","dolphin","donald","dragon","eagle","flower","football","frank","freedom","friend","gateway","george","ginger","god","golf","hannah","hardcore","harley","heather","hello","hello","hottie","hunter","internet","jasmine","jennifer","jessica","jesus","johnny","jordan","joshua","justin","justme","killer","knight","lakers","letmein","liverpool","login","london","love","lucky","mackenzie","maggie","master","matrix","matthew","maverick","melissa","mercedes","michael","michelle","mickey","miller","money","monkey","morgan","mother","muffin","mustang","natasha","nathan","nicole","ninja","orange","orange","pass","password","patrick","peanut","pepper","phoenix","photoshop","pokemon","princess","purple","qazwsx","qwerty","rainbow","ranger","root","samantha","samsung","scooter","secret","shadow","simpson","smile","soccer","sparkle","starwars","summer","sunflower","sunshine","superman","taylor","temp","test","thomas","tigers","tigger","tinkerbell","trust","turtle","victoria","welcome","whatever","william","winter","yellow","zaq12wsx","zxcvbn"];function oG(n){let i="";for(let o of n)if(o in GR)i+=GR[o];else i+=o;return i}function cG(n){const i=n.toLocaleLowerCase(),o=oG(i);for(let c of XR){if(o.includes(c))return!0;if(i.includes(c))return!0}return!1}function pG(n){const i=new Set(n).size;return n.length*Math.log2(i)}function aG(n){let i=0;const o=100;if(cG(n))i-=o;return i+=pG(n)*0.5,Math.max(i,0)}var dz=3,nG=15,iG=/^[a-zA-Z0-9_-]+$/,YR=_n.string().min(dz).max(nG).regex(iG),zR=20,GR={"0":"o","1":"l","3":"e","4":"a","5":"s","7":"t","@":"a",$:"s","!":"i"},uR=_n.string().refine((n)=>{return aG(n)>=zR},{message:`Password does not meet the minimum complexity of ${zR}.`}).brand("password"),OR=_n.object({username:YR,password:uR}).strict(),xG=_n.string().email().brand("email"),HR=_n.object({username:YR,password:uR,email:xG}).strict();var Pm={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},g$=Sv(Pm).map(([n])=>_n.literal(Number(n))),mG=_n.union([g$[0],g$[1],...g$]),ER=_n.tuple([mG,_n.string()]);var QR=Zo({key:"count",default:0}),lG=Rc({key:"incrementTX",do:({set:n})=>{n(QR,(i)=>i+1)}}),UR=ev({key:"countContinuity",config:(n)=>n.add(QR).add(lG)});async function nv(){un.info("\uD83E\uDDF9 dispatching SIGINT to workers"),bR.process.kill("SIGINT"),await new Promise((n)=>bR.process.once("exit",n)),un.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}var bR=yF(bp,"backend.worker.game.bun",un),rc=new P$,sR=_R.createServer((n,i)=>{let o;n.on("data",(c)=>(o??=[]).push(c)).on("end",async()=>{const c=n.headers.authorization;try{if(typeof n.url==="undefined")throw[400,"No URL"];const p=n.socket.remoteAddress;if(!p)throw[400,"No IP address"];const a=new Date,x=new URL(n.url,pi.VITE_BACKEND_ORIGIN);un.info(a,p,n.method,x.pathname);const[m]=await rc.drizzle.select({banishedUntil:ix.banishedUntil}).from(ix).where(uo(ix.ip,p)).limit(1),l=m?.banishedUntil===null,f=m?.banishedUntil&&m.banishedUntil>a;if(l||f){un.info(`\uD83D\uDE45 request from banned ip ${p}`);return}switch(n.method){case"POST":if(!o)throw[400,"No data received"];switch(x.pathname){case`/signup-${e$("signup")}`:{const $=Buffer.concat(o).toString(),v=JSON.parse($);un.info("signup json",v);const S=HR.safeParse(v);if(!S.success){un.warn("signup parsed",S.error.issues);return}const{username:T,password:R,email:F}=S.data,[X]=await rc.drizzle.select().from(Qi).where(uo(Qi.email,F)).limit(1);if(X)throw[400,"User already exists"];const z=crypto.randomUUID(),Y=VR("sha256").update(R+z).digest("hex");await rc.drizzle.insert(Qi).values({username:T,email:F,hash:Y,salt:z,createdIp:p}),i.writeHead(201,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(Pm[201])}break;case`/login-${e$("login")}`:{let $=!1,v=null;try{const S=new Date(+a-600000);un.info("\uD83D\uDD11 ten minutes ago",{tenMinutesAgo:S,now:a});const T=await rc.drizzle.select({userId:Tc.userId,successful:Tc.successful}).from(Tc).where(zc(uo(Tc.ipAddress,p),uo(Tc.successful,!1),Yx(Tc.loginTime,S))).limit(10);un.info(`\uD83D\uDD11 ${T.length}/10 recent failed logins from ${p}`);const R=10-T.length;if(R<1)throw un.info(`\uD83D\uDD11 too many recent failed logins from ${p}`),await rc.drizzle.insert(ix).values({ip:p,reason:"Too many recent login attempts.",banishedAt:a,banishedUntil:new Date(+a+86400000)}),[429,"Too many recent login attempts."];const F=Buffer.concat(o).toString(),X=JSON.parse(F),z=OR.safeParse(X);if(!z.success)throw un.warn("login parsed",z.error.issues),[400,`${R} attempts remaining.`];const{username:Y,password:E}=z.data,[s]=await rc.drizzle.select({id:Qi.id,hash:Qi.hash,salt:Qi.salt}).from(Qi).where(uo(Qi.username,Y)).limit(1);if(un.info("\uD83D\uDD11 login attempt as user",Y),!s)throw un.info(`\uD83D\uDD11 user ${Y} does not exist`),[400,`${R} attempts remaining.`];const{hash:G,salt:M}=s;if(v=s.id,VR("sha256").update(E+M).digest("hex")===G){const U=crypto.randomUUID();let V=_m.get(Y);if(!V)V=new Map,_m.set(Y,V);V.set(U,Number(a)),$=!0,un.info("\uD83D\uDD11 login successful as",Y),i.writeHead(200,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(`${Y} ${U}`)}}finally{await rc.drizzle.insert(Tc).values({userId:v,successful:$,ipAddress:p,userAgent:n.headers["user-agent"]??"Withheld"}),un.info(`\uD83D\uDD11 recorded login attempt from ${p}`)}}}}}catch(p){const a=ER.safeParse(p);if(a.success){const[x,m]=a.data,f=`${Pm[x]}. ${m}`;un.info(`\u274C ${x}: ${f}`),i.writeHead(x,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(f)}else un.error(p),i.writeHead(500,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end("Internal Server Error")}})}),d$=sR.listen(pi.BACKEND_PORT).address(),fG=typeof d$==="string"?null:d$===null?null:d$.port;if(fG===null)throw new Error("Could not determine port for test server");new uF(sR,{cors:{origin:pi.FRONTEND_ORIGINS,methods:["GET","POST"]}}).use((n,i)=>{const{username:o,sessionKey:c}=n.handshake.auth;if(!(o&&c)){i(new Error("No auth header provided"));return}if(_m.get(o)?.has(c)){const a=Fn(on.STORE,$a,n.id);zn(on.STORE,a,n),Kc(Wc,(x)=>{x.set(n.id,o)},on.STORE),zn(on.STORE,Gl,(x)=>x.add(o)),zn(on.STORE,zl,(x)=>x.add(n.id)),un.info(`${o} connected on ${n.id}`),i()}else un.info(`${o} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{const o=n0({socket:n,store:on.STORE})(UR);n.on("disconnect",()=>{const c=np(Wc,n.id,on.STORE).userKeyOfSocket,p=Kn(on.STORE,c);if(Kc(Wc,(a)=>{a.delete(n.id)},on.STORE),p)zn(on.STORE,Gl,(a)=>(a.delete(p),a));zn(on.STORE,zl,(a)=>(a.delete(n.id),a)),li(on.STORE,$a,n.id),un.info(`${n.id} disconnected`),o()})});bp.emit("alive");bp.on("updatesReady",()=>{bp.emit("readyToUpdate")});process.on("SIGINT",async()=>{un.info("\u2757 received SIGINT; exiting gracefully"),await nv()});process.on("SIGTERM",async()=>{un.info("\u2757 received SIGTERM; exiting gracefully"),await nv()});process.on("exit",async()=>{un.info("\u2757 received exit; exiting gracefully"),await nv()});un.info(`\uD83D\uDEEB backend server ready on port ${pi.BACKEND_PORT}`);