tempest.games 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,35 +1,63 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var Jm=Object.create;var{getPrototypeOf:$m,defineProperty:Ac,getOwnPropertyNames:Km}=Object;var jm=Object.prototype.hasOwnProperty;var Jc=(n,i,o)=>{o=n!=null?Jm($m(n)):{};const a=i||!n||!n.__esModule?Ac(o,"default",{value:n,enumerable:!0}):o;for(let e of Km(n))if(!jm.call(a,e))Ac(a,e,{get:()=>n[e],enumerable:!0});return a};var $=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var Sl=$((n$,Te)=>{function Bm(n){var i=n.split(",");for(var o=0,a=0;o<i.length;o++){var e=Cm(i[o].trim(),o);if(e)i[a++]=e}return i.length=a,i}function Cm(n,i){var o=Hm.exec(n);if(!o)return null;var a=o[1],e=1;if(o[2]){var c=o[2].split(";");for(var l=0;l<c.length;l++){var t=c[l].trim().split("=");if(t[0]==="q"){e=parseFloat(t[1]);break}}}return{charset:a,q:e,i}}function Vm(n,i,o){var a={o:-1,q:0,s:0};for(var e=0;e<i.length;e++){var c=Em(n,i[e],o);if(c&&(a.s-c.s||a.q-c.q||a.o-c.o)<0)a=c}return a}function Em(n,i,o){var a=0;if(i.charset.toLowerCase()===n.toLowerCase())a|=1;else if(i.charset!=="*")return null;return{i:o,o:i.i,q:i.q,s:a}}function bl(n,i){var o=Bm(n===void 0?"*":n||"");if(!i)return o.filter(vl).sort(fl).map(Um);var a=i.map(function e(c,l){return Vm(c,o,l)});return a.filter(vl).sort(fl).map(function e(c){return i[a.indexOf(c)]})}function fl(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function Um(n){return n.charset}function vl(n){return n.q>0}Te.exports=bl;Te.exports.preferredCharsets=bl;var Hm=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var Fl=$((i$,we)=>{function Lm(n){var i=n.split(","),o=!1,a=1;for(var e=0,c=0;e<i.length;e++){var l=Nm(i[e].trim(),e);if(l)i[c++]=l,o=o||wl("identity",l),a=Math.min(a,l.q||1)}if(!o)i[c++]={encoding:"identity",q:a,i:e};return i.length=c,i}function Nm(n,i){var o=km.exec(n);if(!o)return null;var a=o[1],e=1;if(o[2]){var c=o[2].split(";");for(var l=0;l<c.length;l++){var t=c[l].trim().split("=");if(t[0]==="q"){e=parseFloat(t[1]);break}}}return{encoding:a,q:e,i}}function Im(n,i,o){var a={o:-1,q:0,s:0};for(var e=0;e<i.length;e++){var c=wl(n,i[e],o);if(c&&(a.s-c.s||a.q-c.q||a.o-c.o)<0)a=c}return a}function wl(n,i,o){var a=0;if(i.encoding.toLowerCase()===n.toLowerCase())a|=1;else if(i.encoding!=="*")return null;return{i:o,o:i.i,q:i.q,s:a}}function dl(n,i){var o=Lm(n||"");if(!i)return o.filter(Tl).sort(yl).map(Dm);var a=i.map(function e(c,l){return Im(c,o,l)});return a.filter(Tl).sort(yl).map(function e(c){return i[a.indexOf(c)]})}function yl(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function Dm(n){return n.encoding}function Tl(n){return n.q>0}we.exports=dl;we.exports.preferredEncodings=dl;var km=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var $l=$((o$,de)=>{function qm(n){var i=n.split(",");for(var o=0,a=0;o<i.length;o++){var e=Al(i[o].trim(),o);if(e)i[a++]=e}return i.length=a,i}function Al(n,i){var o=_m.exec(n);if(!o)return null;var a=o[1],e=o[2],c=a;if(e)c+="-"+e;var l=1;if(o[3]){var t=o[3].split(";");for(var s=0;s<t.length;s++){var p=t[s].split("=");if(p[0]==="q")l=parseFloat(p[1])}}return{prefix:a,suffix:e,q:l,i,full:c}}function Pm(n,i,o){var a={o:-1,q:0,s:0};for(var e=0;e<i.length;e++){var c=Zm(n,i[e],o);if(c&&(a.s-c.s||a.q-c.q||a.o-c.o)<0)a=c}return a}function Zm(n,i,o){var a=Al(n);if(!a)return null;var e=0;if(i.full.toLowerCase()===a.full.toLowerCase())e|=4;else if(i.prefix.toLowerCase()===a.full.toLowerCase())e|=2;else if(i.full.toLowerCase()===a.prefix.toLowerCase())e|=1;else if(i.full!=="*")return null;return{i:o,o:i.i,q:i.q,s:e}}function Jl(n,i){var o=qm(n===void 0?"*":n||"");if(!i)return o.filter(Rl).sort(Ml).map(nr);var a=i.map(function e(c,l){return Pm(c,o,l)});return a.filter(Rl).sort(Ml).map(function e(c){return i[a.indexOf(c)]})}function Ml(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function nr(n){return n.full}function Rl(n){return n.q>0}de.exports=Jl;de.exports.preferredLanguages=Jl;var _m=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/});var Ol=$((a$,Fe)=>{function or(n){var i=tr(n);for(var o=0,a=0;o<i.length;o++){var e=Wl(i[o].trim(),o);if(e)i[a++]=e}return i.length=a,i}function Wl(n,i){var o=ir.exec(n);if(!o)return null;var a=Object.create(null),e=1,c=o[2],l=o[1];if(o[3]){var t=sr(o[3]).map(lr);for(var s=0;s<t.length;s++){var p=t[s],m=p[0].toLowerCase(),r=p[1],S=r&&r[0]==='"'&&r[r.length-1]==='"'?r.substr(1,r.length-2):r;if(m==="q"){e=parseFloat(S);break}a[m]=S}}return{type:l,subtype:c,params:a,q:e,i}}function ar(n,i,o){var a={o:-1,q:0,s:0};for(var e=0;e<i.length;e++){var c=er(n,i[e],o);if(c&&(a.s-c.s||a.q-c.q||a.o-c.o)<0)a=c}return a}function er(n,i,o){var a=Wl(n),e=0;if(!a)return null;if(i.type.toLowerCase()==a.type.toLowerCase())e|=4;else if(i.type!="*")return null;if(i.subtype.toLowerCase()==a.subtype.toLowerCase())e|=2;else if(i.subtype!="*")return null;var c=Object.keys(i.params);if(c.length>0)if(c.every(function(l){return i.params[l]=="*"||(i.params[l]||"").toLowerCase()==(a.params[l]||"").toLowerCase()}))e|=1;else return null;return{i:o,o:i.i,q:i.q,s:e}}function zl(n,i){var o=or(n===void 0?"*/*":n||"");if(!i)return o.filter(jl).sort(Kl).map(cr);var a=i.map(function e(c,l){return ar(c,o,l)});return a.filter(jl).sort(Kl).map(function e(c){return i[a.indexOf(c)]})}function Kl(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.type+"/"+n.subtype}function jl(n){return n.q>0}function gl(n){var i=0,o=0;while((o=n.indexOf('"',o))!==-1)i++,o++;return i}function lr(n){var i=n.indexOf("="),o,a;if(i===-1)o=n;else o=n.substr(0,i),a=n.substr(i+1);return[o,a]}function tr(n){var i=n.split(",");for(var o=1,a=0;o<i.length;o++)if(gl(i[a])%2==0)i[++a]=i[o];else i[a]+=","+i[o];return i.length=a+1,i}function sr(n){var i=n.split(";");for(var o=1,a=0;o<i.length;o++)if(gl(i[a])%2==0)i[++a]=i[o];else i[a]+=";"+i[o];i.length=a+1;for(var o=0;o<i.length;o++)i[o]=i[o].trim();return i}Fe.exports=zl;Fe.exports.preferredMediaTypes=zl;var ir=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/});var hl=$((e$,Me)=>{function _(n){if(!(this instanceof _))return new _(n);this.request=n}/*!
3
+ var s4=Object.create;var{getPrototypeOf:j4,defineProperty:pl,getOwnPropertyNames:N4}=Object;var L4=Object.prototype.hasOwnProperty;var al=(n,i,o)=>{o=n!=null?s4(j4(n)):{};const c=i||!n||!n.__esModule?pl(o,"default",{value:n,enumerable:!0}):o;for(let p of N4(n))if(!L4.call(c,p))pl(c,p,{get:()=>n[p],enumerable:!0});return c};var I=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var y4=(n,i)=>{for(var o in i)pl(n,o,{get:i[o],enumerable:!0,configurable:!0,set:(c)=>i[o]=()=>c})};var Iw=I((hw)=>{function e4(n){if(!ux[n])ux[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 ux[n]}function d4(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 n8(n,i){const o=n.formatToParts(i),c=[];for(let p=0;p<o.length;p++){const{type:a,value:x}=o[p],m=g4[a];if(a==="era")c[m]=x;else if(!pn(m))c[m]=parseInt(x,10)}return c}function i8(n,i={}){const o=JSON.stringify([n,i]);let c=l0[o];if(!c)c=new Intl.ListFormat(n,i),l0[o]=c;return c}function Bl(n,i={}){const o=JSON.stringify([n,i]);let c=yl[o];if(!c)c=new Intl.DateTimeFormat(n,i),yl[o]=c;return c}function o8(n,i={}){const o=JSON.stringify([n,i]);let c=Dl[o];if(!c)c=new Intl.NumberFormat(n,i),Dl[o]=c;return c}function c8(n,i={}){const{base:o,...c}=i,p=JSON.stringify([n,c]);let a=hl[p];if(!a)a=new Intl.RelativeTimeFormat(n,i),hl[p]=a;return a}function p8(){if(Fa)return Fa;else return Fa=new Intl.DateTimeFormat().resolvedOptions().locale,Fa}function a8(n){let i=f0[n];if(!i){const o=new Intl.Locale(n);i="getWeekInfo"in o?o.getWeekInfo():o.weekInfo,f0[n]=i}return i}function x8(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=Bl(n).resolvedOptions(),p=n}catch(m){const l=n.substring(0,o);c=Bl(l).resolvedOptions(),p=l}const{numberingSystem:a,calendar:x}=c;return[p,a,x]}}function m8(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 l8(n){const i=[];for(let o=1;o<=12;o++){const c=xn.utc(2009,o,1);i.push(n(c))}return i}function f8(n){const i=[];for(let o=1;o<=7;o++){const c=xn.utc(2016,11,13+o);i.push(n(c))}return i}function Wx(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 $8(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 ic(n,i){if(pn(n)||n===null)return i;else if(n instanceof uc)return n;else if(J8(n)){const o=n.toLowerCase();if(o==="default")return i;else if(o==="local"||o==="system")return Ma.instance;else if(o==="utc"||o==="gmt")return Ai.utcInstance;else return Ai.parseSpecifier(o)||Yo.create(n)}else if(Yc(n))return Ai.instance(n);else if(typeof n==="object"&&"offset"in n&&typeof n.offset==="function")return n;else return new kl(n)}function Pi(n,i){return new qi("unit out of range",`you specified ${i} (of type ${typeof i}) as a ${n}, which is invalid`)}function rl(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 vw(n,i,o){return o+(Ra(n)?$w:fw)[i-1]}function ww(n,i){const o=Ra(n)?$w:fw,c=o.findIndex((a)=>a<i),p=i-o[c];return{month:c+1,day:p}}function Zl(n,i){return(n-i+7)%7+1}function Ex(n,i=4,o=1){const{year:c,month:p,day:a}=n,x=vw(c,p,a),m=Zl(rl(c,p,a),o);let l=Math.floor((x-m+14-i)/7),f;if(l<1)f=c-1,l=Ta(f,i,o);else if(l>Ta(c,i,o))f=c+1,l=1;else f=c;return{weekYear:f,weekNumber:l,weekday:m,...sx(n)}}function M0(n,i=4,o=1){const{weekYear:c,weekNumber:p,weekday:a}=n,x=Zl(rl(c,1,i),o),m=ap(c);let l=p*7+a-x-7+i,f;if(l<1)f=c-1,l+=ap(f);else if(l>m)f=c+1,l-=ap(c);else f=c;const{month:$,day:v}=ww(f,l);return{year:f,month:$,day:v,...sx(n)}}function bl(n){const{year:i,month:o,day:c}=n,p=vw(i,o,c);return{year:i,ordinal:p,...sx(n)}}function R0(n){const{year:i,ordinal:o}=n,{month:c,day:p}=ww(i,o);return{year:i,month:c,day:p,...sx(n)}}function K0(n,i){if(!pn(n.localWeekday)||!pn(n.localWeekNumber)||!pn(n.localWeekYear)){if(!pn(n.weekday)||!pn(n.weekNumber)||!pn(n.weekYear))throw new Gc("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 w8(n,i=4,o=1){const c=Vx(n.weekYear),p=ei(n.weekNumber,1,Ta(n.weekYear,i,o)),a=ei(n.weekday,1,7);if(!c)return Pi("weekYear",n.weekYear);else if(!p)return Pi("week",n.weekNumber);else if(!a)return Pi("weekday",n.weekday);else return!1}function S8(n){const i=Vx(n.year),o=ei(n.ordinal,1,ap(n.year));if(!i)return Pi("year",n.year);else if(!o)return Pi("ordinal",n.ordinal);else return!1}function Sw(n){const i=Vx(n.year),o=ei(n.month,1,12),c=ei(n.day,1,Qx(n.year,n.month));if(!i)return Pi("year",n.year);else if(!o)return Pi("month",n.month);else if(!c)return Pi("day",n.day);else return!1}function Jw(n){const{hour:i,minute:o,second:c,millisecond:p}=n,a=ei(i,0,23)||i===24&&o===0&&c===0&&p===0,x=ei(o,0,59),m=ei(c,0,59),l=ei(p,0,999);if(!a)return Pi("hour",i);else if(!x)return Pi("minute",o);else if(!m)return Pi("second",c);else if(!l)return Pi("millisecond",p);else return!1}function pn(n){return typeof n==="undefined"}function Yc(n){return typeof n==="number"}function Vx(n){return typeof n==="number"&&n%1===0}function J8(n){return typeof n==="string"}function F8(n){return Object.prototype.toString.call(n)==="[object Date]"}function Fw(){try{return typeof Intl!=="undefined"&&!!Intl.RelativeTimeFormat}catch(n){return!1}}function Aw(){try{return typeof Intl!=="undefined"&&!!Intl.Locale&&(("weekInfo"in Intl.Locale.prototype)||("getWeekInfo"in Intl.Locale.prototype))}catch(n){return!1}}function A8(n){return Array.isArray(n)?n:[n]}function W0(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 T8(n,i){return i.reduce((o,c)=>{return o[c]=n[c],o},{})}function mp(n,i){return Object.prototype.hasOwnProperty.call(n,i)}function Il(n){if(n==null)return null;else if(typeof n!=="object")throw new Yi("Week settings must be an object");else{if(!ei(n.firstDay,1,7)||!ei(n.minimalDays,1,7)||!Array.isArray(n.weekend)||n.weekend.some((i)=>!ei(i,1,7)))throw new Yi("Invalid week settings");return{firstDay:n.firstDay,minimalDays:n.minimalDays,weekend:Array.from(n.weekend)}}}function ei(n,i,o){return Vx(n)&&n>=i&&n<=o}function M8(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 nc(n){if(pn(n)||n===null||n==="")return;else return parseInt(n,10)}function Wc(n){if(pn(n)||n===null||n==="")return;else return parseFloat(n)}function ql(n){if(pn(n)||n===null||n==="")return;else{const i=parseFloat("0."+n)*1000;return Math.floor(i)}}function Pl(n,i,o=!1){const c=10**i;return(o?Math.trunc:Math.round)(n*c)/c}function Ra(n){return n%4===0&&(n%100!==0||n%400===0)}function ap(n){return Ra(n)?366:365}function Qx(n,i){const o=M8(i-1,12)+1,c=n+(i-o)/12;if(o===2)return Ra(c)?29:28;else return[31,null,31,30,31,30,31,31,30,31,30,31][o-1]}function bx(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 X0(n,i,o){return-Zl(rl(n,1,i),o)+i-1}function Ta(n,i=4,o=1){const c=X0(n,i,o),p=X0(n+1,i,o);return(ap(n)-c+p)/7}function Cl(n){if(n>99)return n;else return n>Dn.twoDigitCutoffYear?1900+n:2000+n}function Tw(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 _x(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 Mw(n){const i=Number(n);if(typeof n==="boolean"||n===""||Number.isNaN(i))throw new Yi(`Invalid unit value ${n}`);return i}function Ux(n,i){const o={};for(let c in n)if(mp(n,c)){const p=n[c];if(p===void 0||p===null)continue;o[i(c)]=Mw(p)}return o}function Aa(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 sx(n){return T8(n,["hour","minute","second","millisecond"])}function Kw(n){switch(n){case"narrow":return[...K8];case"short":return[...Rw];case"long":return[...R8];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 Gw(n){switch(n){case"narrow":return[...W8];case"short":return[...Xw];case"long":return[...Ww];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}function Yw(n){switch(n){case"narrow":return[...z8];case"short":return[...G8];case"long":return[...X8];default:return null}}function Y8(n){return zw[n.hour<12?0:1]}function u8(n,i){return Gw(i)[n.weekday-1]}function O8(n,i){return Kw(i)[n.month-1]}function H8(n,i){return Yw(i)[n.year<0?0:1]}function E8(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 G0(n,i){let o="";for(let c of n)if(c.literal)o+=c.val;else o+=i(c.val);return o}function lp(...n){const i=n.reduce((o,c)=>o+c.source,"");return RegExp(`^${i}\$`)}function fp(...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 $p(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 Ow(...n){return(i,o)=>{const c={};let p;for(p=0;p<n.length;p++)c[n[p]]=nc(i[o+p]);return[c,null,o+p]}}function xp(n,i,o){const c=n[i];return pn(c)?o:nc(c)}function y8(n,i){return[{year:xp(n,i),month:xp(n,i+1,1),day:xp(n,i+2,1)},null,i+3]}function vp(n,i){return[{hours:xp(n,i,0),minutes:xp(n,i+1,0),seconds:xp(n,i+2,0),milliseconds:ql(n[i+3])},null,i+4]}function Ka(n,i){const o=!n[i]&&!n[i+1],c=_x(n[i+1],n[i+2]),p=o?null:Ai.instance(c);return[{},p,i+3]}function Wa(n,i){const o=n[i]?Yo.create(n[i]):null;return[{},o,i+1]}function h8(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(Wc(o)),months:S(Wc(c)),weeks:S(Wc(p)),days:S(Wc(a)),hours:S(Wc(x)),minutes:S(Wc(m)),seconds:S(Wc(l),l==="-0"),milliseconds:S(ql(f),v)}]}function dl(n,i,o,c,p,a,x){const m={year:i.length===2?Cl(nc(i)):nc(i),month:Rw.indexOf(o)+1,day:nc(c),hour:nc(p),minute:nc(a)};if(x)m.second=nc(x);if(n)m.weekday=n.length>3?Ww.indexOf(n)+1:Xw.indexOf(n)+1;return m}function t8(n){const[,i,o,c,p,a,x,m,l,f,$,v]=n,S=dl(i,p,c,o,a,x,m);let T;if(l)T=I8[l];else if(f)T=0;else T=_x($,v);return[S,new Ai(T)]}function k8(n){return n.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}function z0(n){const[,i,o,c,p,a,x,m]=n;return[dl(i,p,c,o,a,x,m),Ai.utcInstance]}function P8(n){const[,i,o,c,p,a,x,m]=n;return[dl(i,m,o,c,p,a,x),Ai.utcInstance]}function pK(n){return $p(n,[e8,Uw],[g8,iK],[d8,oK],[nK,cK])}function aK(n){return $p(k8(n),[C8,t8])}function xK(n){return $p(n,[r8,z0],[Z8,z0],[q8,P8])}function mK(n){return $p(n,[D8,h8])}function fK(n){return $p(n,[B8,lK])}function SK(n){return $p(n,[$K,Uw],[vK,wK])}function go(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 Tn(c)}function bw(n,i){var o;let c=(o=i.milliseconds)!=null?o:0;for(let p of AK.slice(1))if(i[p])c+=i[p]*n[p].milliseconds;return c}function u0(n,i){const o=bw(n,i)<0?-1:1;zc.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),zc.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 TK(n){const i={};for(let[o,c]of Object.entries(n))if(c!==0)i[o]=c;return i}function MK(n,i){if(!n||!n.isValid)return Bn.invalid("missing or invalid start");else if(!i||!i.isValid)return Bn.invalid("missing or invalid end");else if(i<n)return Bn.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 O0(n,i){const o=(p)=>p.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),c=o(i)-o(n);return Math.floor(Tn.fromMillis(c).as("days"))}function RK(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 $=O0(l,f);return($-$%7)/7}],["days",O0]],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 KK(n,i,o,c){let[p,a,x,m]=RK(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 $=Tn.fromObject(a,c);if(f.length>0)return Tn.fromMillis(l,c).shiftTo(...f).plus($);else return $}function XK(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(nf.hanidec)!==-1)i+=WK.indexOf(n[o]);else for(let p in H0){const[a,x]=H0[p];if(c>=a&&c<=x)i+=c-a}}return parseInt(i,10)}else return i}function lo({numberingSystem:n},i=""){return new RegExp(`${nf[n||"latn"]}${i}`)}function Wn(n,i=(o)=>o){return{regex:n,deser:([o])=>i(XK(o))}}function YK(n){return n.replace(/\./g,"\\.?").replace(sw,_w)}function E0(n){return n.replace(/\./g,"").replace(sw," ").toLowerCase()}function fo(n,i){if(n===null)return null;else return{regex:RegExp(n.map(YK).join("|")),deser:([o])=>n.findIndex((c)=>E0(o)===E0(c))+i}}function Q0(n,i){return{regex:n,deser:([,o,c])=>_x(o,c),groups:i}}function Xx(n){return{regex:n,deser:([i])=>i}}function uK(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function OK(n,i){const o=lo(i),c=lo(i,"{2}"),p=lo(i,"{3}"),a=lo(i,"{4}"),x=lo(i,"{6}"),m=lo(i,"{1,2}"),l=lo(i,"{1,3}"),f=lo(i,"{1,6}"),$=lo(i,"{1,9}"),v=lo(i,"{2,4}"),S=lo(i,"{4,6}"),T=(X)=>({regex:RegExp(uK(X.val)),deser:([G])=>G,literal:!0}),A=((X)=>{if(n.literal)return T(X);switch(X.val){case"G":return fo(i.eras("short"),0);case"GG":return fo(i.eras("long"),0);case"y":return Wn(f);case"yy":return Wn(v,Cl);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 fo(i.months("short",!0),1);case"MMMM":return fo(i.months("long",!0),1);case"L":return Wn(m);case"LL":return Wn(c);case"LLL":return fo(i.months("short",!1),1);case"LLLL":return fo(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 Xx($);case"uu":return Xx(m);case"uuu":return Wn(o);case"a":return fo(i.meridiems(),0);case"kkkk":return Wn(a);case"kk":return Wn(v,Cl);case"W":return Wn(m);case"WW":return Wn(c);case"E":case"c":return Wn(o);case"EEE":return fo(i.weekdays("short",!1),1);case"EEEE":return fo(i.weekdays("long",!1),1);case"ccc":return fo(i.weekdays("short",!0),1);case"cccc":return fo(i.weekdays("long",!0),1);case"Z":case"ZZ":return Q0(new RegExp(`([+-]${m.source})(?::(${c.source}))?`),2);case"ZZZ":return Q0(new RegExp(`([+-]${m.source})(${c.source})?`),2);case"z":return Xx(/[a-z_+-/]{1,256}?/i);case" ":return Xx(/[^\S\n\r]/);default:return T(X)}})(n)||{invalidReason:GK};return A.token=n,A}function EK(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=HK[x];if(typeof m==="object")m=m[a];if(m)return{literal:!1,val:m};return}function QK(n){return[`^${n.map((o)=>o.regex).reduce((o,c)=>`${o}(${c.source})`,"")}\$`,n]}function UK(n,i,o){const c=n.match(i);if(c){const p={};let a=1;for(let x in o)if(mp(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 VK(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=Yo.create(n.z);if(!pn(n.Z)){if(!o)o=new Ai(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=ql(n.u);return[Object.keys(n).reduce((a,x)=>{const m=i(x);if(m)a[m]=n[x];return a},{}),o,c]}function bK(){if(!_l)_l=xn.fromMillis(1555555555555);return _l}function _K(n,i){if(n.literal)return n;const o=Fi.macroTokenToFormatOpts(n.val),c=Lw(o,i);if(c==null||c.includes(void 0))return n;return c}function jw(n,i){return Array.prototype.concat(...n.map((o)=>_K(o,i)))}function Nw(n,i,o){const c=jw(Fi.parseFormat(o),n),p=c.map((x)=>OK(x,n)),a=p.find((x)=>x.invalidReason);if(a)return{input:i,tokens:c,invalidReason:a.invalidReason};else{const[x,m]=QK(p),l=RegExp(x,"i"),[f,$]=UK(i,l,m),[v,S,T]=$?VK($):[null,null,void 0];if(mp($,"a")&&mp($,"H"))throw new Gc("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 sK(n,i,o){const{result:c,zone:p,specificOffset:a,invalidReason:x}=Nw(n,i,o);return[c,p,a,x]}function Lw(n,i){if(!n)return null;const c=Fi.create(i,n).dtFormatter(bK()),p=c.formatToParts(),a=c.resolvedOptions();return p.map((x)=>EK(x,n,a))}function Gx(n){return new qi("unsupported zone",`the zone "${n.name}" is not supported`)}function jl(n){if(n.weekData===null)n.weekData=Ex(n.c);return n.weekData}function Nl(n){if(n.localWeekData===null)n.localWeekData=Ex(n.c,n.loc.getMinDaysInFirstWeek(),n.loc.getStartOfWeek());return n.localWeekData}function Xc(n,i){const o={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new xn({...o,...i,old:o})}function yw(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 zx(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 Ox(n,i,o){return yw(bx(n),i,o)}function V0(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,Qx(c,p))+Math.trunc(i.days)+Math.trunc(i.weeks)*7},x=Tn.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=bx(a);let[l,f]=yw(m,o,n.zone);if(x!==0)l+=x,f=n.zone.offset(l);return{ts:l,o:f}}function Sa(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=xn.fromObject(n,{...o,zone:l,specificOffset:a});return x?f:f.setZone(m)}else return xn.invalid(new qi("unparsable",`the input "${p}" can't be parsed as ${c}`))}function Yx(n,i,o=!0){return n.isValid?Fi.create(Yn.create("en-US"),{allowZ:o,forceSimple:!0}).formatDateTimeFromString(n,i):null}function Ll(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 b0(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 BK(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 tl(n);return i}function _0(n){switch(n.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return BK(n)}}function s0(n,i){const o=ic(i.zone,Dn.defaultZone),c=Yn.fromObject(i),p=Dn.now();let a,x;if(!pn(n.year)){for(let f of Dw)if(pn(n[f]))n[f]=Bw[f];const m=Sw(n)||Jw(n);if(m)return xn.invalid(m);const l=o.offset(p);[a,x]=Ox(n,l,o)}else a=p;return new xn({ts:a,zone:o,loc:c,o:x})}function j0(n,i,o){const c=pn(o.round)?!0:o.round,p=(x,m)=>{return x=Pl(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 N0(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 Ja(n){if(xn.isDateTime(n))return n;else if(n&&n.valueOf&&Yc(n.valueOf()))return xn.fromJSDate(n);else if(n&&typeof n==="object")return xn.fromObject(n);else throw new Yi(`Unknown datetime argument: ${n}, of type ${typeof n}`)}Object.defineProperty(hw,"__esModule",{value:!0});class oc extends Error{}class L0 extends oc{constructor(n){super(`Invalid DateTime: ${n.toMessage()}`)}}class y0 extends oc{constructor(n){super(`Invalid Interval: ${n.toMessage()}`)}}class B0 extends oc{constructor(n){super(`Invalid Duration: ${n.toMessage()}`)}}class Gc extends oc{}class tl extends oc{constructor(n){super(`Invalid unit ${n}`)}}class Yi extends oc{}class jo extends oc{constructor(){super("Zone is an abstract class")}}var L="numeric",$o="short",Ni="long",Hx={year:L,month:L,day:L},D0={year:L,month:$o,day:L},q4={year:L,month:$o,day:L,weekday:$o},h0={year:L,month:Ni,day:L},I0={year:L,month:Ni,day:L,weekday:Ni},C0={hour:L,minute:L},t0={hour:L,minute:L,second:L},k0={hour:L,minute:L,second:L,timeZoneName:$o},r0={hour:L,minute:L,second:L,timeZoneName:Ni},Z0={hour:L,minute:L,hourCycle:"h23"},q0={hour:L,minute:L,second:L,hourCycle:"h23"},P0={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:$o},e0={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:Ni},g0={year:L,month:L,day:L,hour:L,minute:L},d0={year:L,month:L,day:L,hour:L,minute:L,second:L},nw={year:L,month:$o,day:L,hour:L,minute:L},iw={year:L,month:$o,day:L,hour:L,minute:L,second:L},P4={year:L,month:$o,day:L,weekday:$o,hour:L,minute:L},ow={year:L,month:Ni,day:L,hour:L,minute:L,timeZoneName:$o},cw={year:L,month:Ni,day:L,hour:L,minute:L,second:L,timeZoneName:$o},pw={year:L,month:Ni,day:L,weekday:Ni,hour:L,minute:L,timeZoneName:Ni},aw={year:L,month:Ni,day:L,weekday:Ni,hour:L,minute:L,second:L,timeZoneName:Ni};class uc{get type(){throw new jo}get name(){throw new jo}get ianaName(){return this.name}get isUniversal(){throw new jo}offsetName(n,i){throw new jo}formatOffset(n,i){throw new jo}offset(n){throw new jo}equals(n){throw new jo}get isValid(){throw new jo}}var Ul=null;class Ma extends uc{static get instance(){if(Ul===null)Ul=new Ma;return Ul}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return Tw(n,i,o)}formatOffset(n,i){return Aa(this.offset(n),i)}offset(n){return-new Date(n).getTimezoneOffset()}equals(n){return n.type==="system"}get isValid(){return!0}}var ux={},g4={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6},Kx={};class Yo extends uc{static create(n){if(!Kx[n])Kx[n]=new Yo(n);return Kx[n]}static resetCache(){Kx={},ux={}}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=Yo.isValidZone(n)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return Tw(n,i,o,this.name)}formatOffset(n,i){return Aa(this.offset(n),i)}offset(n){const i=new Date(n);if(isNaN(i))return NaN;const o=e4(this.name);let[c,p,a,x,m,l,f]=o.formatToParts?n8(o,i):d4(o,i);if(x==="BC")c=-Math.abs(c)+1;const v=bx({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 l0={},yl={},Dl={},hl={},Fa=null,f0={};class xw{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=o8(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):Pl(n,3);return gn(i,this.padTo)}}}class mw{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&&Yo.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=Bl(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 lw{constructor(n,i,o){if(this.opts={style:"long",...o},!i&&Fw())this.rtf=c8(n,o)}format(n,i){if(this.rtf)return this.rtf.format(n,i);else return E8(i,n,this.opts.numeric,this.opts.style!=="long")}formatToParts(n,i){if(this.rtf)return this.rtf.formatToParts(n,i);else return[]}}var v8={firstDay:1,minimalDays:4,weekend:[6,7]};class Yn{static fromOpts(n){return Yn.create(n.locale,n.numberingSystem,n.outputCalendar,n.weekSettings,n.defaultToEN)}static create(n,i,o,c,p=!1){const a=n||Dn.defaultLocale,x=a||(p?"en-US":p8()),m=i||Dn.defaultNumberingSystem,l=o||Dn.defaultOutputCalendar,f=Il(c)||Dn.defaultWeekSettings;return new Yn(x,m,l,f,a)}static resetCache(){Fa=null,yl={},Dl={},hl={}}static fromObject({locale:n,numberingSystem:i,outputCalendar:o,weekSettings:c}={}){return Yn.create(n,i,o,c)}constructor(n,i,o,c,p){const[a,x,m]=x8(n);this.locale=a,this.numberingSystem=i||x||null,this.outputCalendar=o||m||null,this.weekSettings=c,this.intl=m8(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=$8(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 Yn.create(n.locale||this.specifiedLocale,n.numberingSystem||this.numberingSystem,n.outputCalendar||this.outputCalendar,Il(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 Wx(this,n,Kw,()=>{const o=i?{month:n,day:"numeric"}:{month:n},c=i?"format":"standalone";if(!this.monthsCache[c][n])this.monthsCache[c][n]=l8((p)=>this.extract(p,o,"month"));return this.monthsCache[c][n]})}weekdays(n,i=!1){return Wx(this,n,Gw,()=>{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]=f8((p)=>this.extract(p,o,"weekday"));return this.weekdaysCache[c][n]})}meridiems(){return Wx(this,void 0,()=>zw,()=>{if(!this.meridiemCache){const n={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[xn.utc(2016,11,13,9),xn.utc(2016,11,13,19)].map((i)=>this.extract(i,n,"dayperiod"))}return this.meridiemCache})}eras(n){return Wx(this,n,Yw,()=>{const i={era:n};if(!this.eraCache[n])this.eraCache[n]=[xn.utc(-40,1,1),xn.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 xw(this.intl,n.forceSimple||this.fastNumbers,n)}dtFormatter(n,i={}){return new mw(n,this.intl,i)}relFormatter(n={}){return new lw(this.intl,this.isEnglish(),n)}listFormatter(n={}){return i8(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(!Aw())return v8;else return a8(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 Vl=null;class Ai extends uc{static get utcInstance(){if(Vl===null)Vl=new Ai(0);return Vl}static instance(n){return n===0?Ai.utcInstance:new Ai(n)}static parseSpecifier(n){if(n){const i=n.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(i)return new Ai(_x(i[1],i[2]))}return null}constructor(n){super();this.fixed=n}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Aa(this.fixed,"narrow")}`}get ianaName(){if(this.fixed===0)return"Etc/UTC";else return`Etc/GMT${Aa(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(n,i){return Aa(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 kl extends uc{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 $0=()=>Date.now(),v0="system",w0=null,S0=null,J0=null,F0=60,A0,T0=null;class Dn{static get now(){return $0}static set now(n){$0=n}static set defaultZone(n){v0=n}static get defaultZone(){return ic(v0,Ma.instance)}static get defaultLocale(){return w0}static set defaultLocale(n){w0=n}static get defaultNumberingSystem(){return S0}static set defaultNumberingSystem(n){S0=n}static get defaultOutputCalendar(){return J0}static set defaultOutputCalendar(n){J0=n}static get defaultWeekSettings(){return T0}static set defaultWeekSettings(n){T0=Il(n)}static get twoDigitCutoffYear(){return F0}static set twoDigitCutoffYear(n){F0=n%100}static get throwOnInvalid(){return A0}static set throwOnInvalid(n){A0=n}static resetCaches(){Yn.resetCache(),Yo.resetCache()}}class qi{constructor(n,i){this.reason=n,this.explanation=i}toMessage(){if(this.explanation)return`${this.reason}: ${this.explanation}`;else return this.reason}}var fw=[0,31,59,90,120,151,181,212,243,273,304,334],$w=[0,31,60,91,121,152,182,213,244,274,305,335],R8=["January","February","March","April","May","June","July","August","September","October","November","December"],Rw=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],K8=["J","F","M","A","M","J","J","A","S","O","N","D"],Ww=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Xw=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],W8=["M","T","W","T","F","S","S"],zw=["AM","PM"],X8=["Before Christ","Anno Domini"],G8=["BC","AD"],z8=["B","A"],Q8={D:Hx,DD:D0,DDD:h0,DDDD:I0,t:C0,tt:t0,ttt:k0,tttt:r0,T:Z0,TT:q0,TTT:P0,TTTT:e0,f:g0,ff:nw,fff:ow,ffff:pw,F:d0,FF:iw,FFF:cw,FFFF:aw};class Fi{static create(n,i={}){return new Fi(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 Q8[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?Y8(n):p({hour:"numeric",hourCycle:"h12"},"dayperiod"),m=(S,T)=>o?O8(n,S):p(T?{month:S}:{month:S,day:"numeric"},"month"),l=(S,T)=>o?u8(n,S):p(T?{weekday:S}:{weekday:S,month:"long",day:"numeric"},"weekday"),f=(S)=>{const T=Fi.macroTokenToFormatOpts(S);if(T)return this.formatWithSystemDefault(n,T);else return S},$=(S)=>o?H8(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 G0(Fi.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=Fi.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 G0(p,c(x))}}var uw=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,Hw=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,U8=`(?:${Hw.source}?(?:\\[(${uw.source})\\])?)?`,el=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Ew=RegExp(`${el.source}${U8}`),gl=RegExp(`(?:T${Ew.source})?`),V8=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,b8=/(\d{4})-?W(\d\d)(?:-?(\d))?/,_8=/(\d{4})-?(\d{3})/,s8=Ow("weekYear","weekNumber","weekDay"),j8=Ow("year","ordinal"),N8=/(\d{4})-(\d\d)-(\d\d)/,Qw=RegExp(`${el.source} ?(?:${Hw.source}|(${uw.source}))?`),L8=RegExp(`(?: ${Qw.source})?`),B8=RegExp(`^T?${el.source}\$`),D8=/^-?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)?)?)$/,I8={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480},C8=/^(?:(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)))$/,r8=/^(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$/,Z8=/^(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$/,q8=/^(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})$/,e8=lp(V8,gl),g8=lp(b8,gl),d8=lp(_8,gl),nK=lp(Ew),Uw=fp(y8,vp,Ka,Wa),iK=fp(s8,vp,Ka,Wa),oK=fp(j8,vp,Ka,Wa),cK=fp(vp,Ka,Wa),lK=fp(vp),$K=lp(N8,L8),vK=lp(Qw),wK=fp(vp,Ka,Wa),Y0="Invalid Duration",Vw={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}},JK={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},...Vw},Zi=365.2425,op=30.436875,FK={years:{quarters:4,months:12,weeks:Zi/7,days:Zi,hours:Zi*24,minutes:Zi*24*60,seconds:Zi*24*60*60,milliseconds:Zi*24*60*60*1000},quarters:{months:3,weeks:Zi/28,days:Zi/4,hours:Zi*24/4,minutes:Zi*24*60/4,seconds:Zi*24*60*60/4,milliseconds:Zi*24*60*60*1000/4},months:{weeks:op/7,days:op,hours:op*24,minutes:op*24*60,seconds:op*24*60*60,milliseconds:op*24*60*60*1000},...Vw},zc=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],AK=zc.slice(0).reverse();class Tn{constructor(n){const i=n.conversionAccuracy==="longterm"||!1;let o=i?FK:JK;if(n.matrix)o=n.matrix;this.values=n.values,this.loc=n.loc||Yn.create(),this.conversionAccuracy=i?"longterm":"casual",this.invalid=n.invalid||null,this.matrix=o,this.isLuxonDuration=!0}static fromMillis(n,i){return Tn.fromObject({milliseconds:n},i)}static fromObject(n,i={}){if(n==null||typeof n!=="object")throw new Yi(`Duration.fromObject: argument expected to be an object, got ${n===null?"null":typeof n}`);return new Tn({values:Ux(n,Tn.normalizeUnit),loc:Yn.fromObject(i),conversionAccuracy:i.conversionAccuracy,matrix:i.matrix})}static fromDurationLike(n){if(Yc(n))return Tn.fromMillis(n);else if(Tn.isDuration(n))return n;else if(typeof n==="object")return Tn.fromObject(n);else throw new Yi(`Unknown duration argument ${n} of type ${typeof n}`)}static fromISO(n,i){const[o]=mK(n);if(o)return Tn.fromObject(o,i);else return Tn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static fromISOTime(n,i){const[o]=fK(n);if(o)return Tn.fromObject(o,i);else return Tn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static invalid(n,i=null){if(!n)throw new Yi("need to specify a reason the Duration is invalid");const o=n instanceof qi?n:new qi(n,i);if(Dn.throwOnInvalid)throw new B0(o);else return new Tn({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 tl(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?Fi.create(this.loc,o).formatDurationFromString(this,n):Y0}toHuman(n={}){if(!this.isValid)return Y0;const i=zc.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+=Pl(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},xn.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 bw(this.matrix,this.values)}valueOf(){return this.toMillis()}plus(n){if(!this.isValid)return this;const i=Tn.fromDurationLike(n),o={};for(let c of zc)if(mp(i.values,c)||mp(this.values,c))o[c]=i.get(c)+this.get(c);return go(this,{values:o},!0)}minus(n){if(!this.isValid)return this;const i=Tn.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]=Mw(n(this.values[o],o));return go(this,{values:i},!0)}get(n){return this[Tn.normalizeUnit(n)]}set(n){if(!this.isValid)return this;const i={...this.values,...Ux(n,Tn.normalizeUnit)};return go(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 go(this,a)}as(n){return this.isValid?this.shiftTo(n).get(n):NaN}normalize(){if(!this.isValid)return this;const n=this.toObject();return u0(this.matrix,n),go(this,{values:n},!0)}rescale(){if(!this.isValid)return this;const n=TK(this.normalize().shiftToAll().toObject());return go(this,{values:n},!0)}shiftTo(...n){if(!this.isValid)return this;if(n.length===0)return this;n=n.map((a)=>Tn.normalizeUnit(a));const i={},o={},c=this.toObject();let p;for(let a of zc)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 u0(this.matrix,i),go(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 go(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 zc)if(!i(this.values[o],n.values[o]))return!1;return!0}}var cp="Invalid Interval";class Bn{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 Yi("need to specify a reason the Interval is invalid");const o=n instanceof qi?n:new qi(n,i);if(Dn.throwOnInvalid)throw new y0(o);else return new Bn({invalid:o})}static fromDateTimes(n,i){const o=Ja(n),c=Ja(i),p=MK(o,c);if(p==null)return new Bn({start:o,end:c});else return p}static after(n,i){const o=Tn.fromDurationLike(i),c=Ja(n);return Bn.fromDateTimes(c,c.plus(o))}static before(n,i){const o=Tn.fromDurationLike(i),c=Ja(n);return Bn.fromDateTimes(c.minus(o),c)}static fromISO(n,i){const[o,c]=(n||"").split("/",2);if(o&&c){let p,a;try{p=xn.fromISO(o,i),a=p.isValid}catch(l){a=!1}let x,m;try{x=xn.fromISO(c,i),m=x.isValid}catch(l){m=!1}if(a&&m)return Bn.fromDateTimes(p,x);if(a){const l=Tn.fromISO(c,i);if(l.isValid)return Bn.after(p,l)}else if(m){const l=Tn.fromISO(o,i);if(l.isValid)return Bn.before(x,l)}}return Bn.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 Bn.fromDateTimes(n||this.s,i||this.e)}splitAt(...n){if(!this.isValid)return[];const i=n.map(Ja).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(Bn.fromDateTimes(c,x)),c=x,p+=1}return o}splitBy(n){const i=Tn.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(Bn.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 Bn.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 Bn.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(Bn.fromDateTimes(i,m.time));i=null}return Bn.merge(c)}difference(...n){return Bn.xor([this].concat(n)).map((i)=>this.intersection(i)).filter((i)=>i&&!i.isEmpty())}toString(){if(!this.isValid)return cp;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=Hx,i={}){return this.isValid?Fi.create(this.s.loc.clone(i),n).formatInterval(this):cp}toISO(n){if(!this.isValid)return cp;return`${this.s.toISO(n)}/${this.e.toISO(n)}`}toISODate(){if(!this.isValid)return cp;return`${this.s.toISODate()}/${this.e.toISODate()}`}toISOTime(n){if(!this.isValid)return cp;return`${this.s.toISOTime(n)}/${this.e.toISOTime(n)}`}toFormat(n,{separator:i=" \u2013 "}={}){if(!this.isValid)return cp;return`${this.s.toFormat(n)}${i}${this.e.toFormat(n)}`}toDuration(n,i){if(!this.isValid)return Tn.invalid(this.invalidReason);return this.e.diff(this.s,n,i)}mapEndpoints(n){return Bn.fromDateTimes(n(this.s),n(this.e))}}class pp{static hasDST(n=Dn.defaultZone){const i=xn.now().setZone(n).set({month:12});return!n.isUniversal&&i.offset!==i.set({month:6}).offset}static isValidIANAZone(n){return Yo.isValidZone(n)}static normalizeZone(n){return ic(n,Dn.defaultZone)}static getStartOfWeek({locale:n=null,locObj:i=null}={}){return(i||Yn.create(n)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:n=null,locObj:i=null}={}){return(i||Yn.create(n)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:n=null,locObj:i=null}={}){return(i||Yn.create(n)).getWeekendDays().slice()}static months(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||Yn.create(i,o,p)).months(n)}static monthsFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||Yn.create(i,o,p)).months(n,!0)}static weekdays(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||Yn.create(i,o,null)).weekdays(n)}static weekdaysFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||Yn.create(i,o,null)).weekdays(n,!0)}static meridiems({locale:n=null}={}){return Yn.create(n).meridiems()}static eras(n="short",{locale:i=null}={}){return Yn.create(i,null,"gregory").eras(n)}static features(){return{relative:Fw(),localeWeek:Aw()}}}var nf={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"},H0={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]},WK=nf.hanidec.replace(/[\[|\]]/g,"").split(""),GK="missing Intl.DateTimeFormat.formatToParts support",zK=String.fromCharCode(160),_w=`[ ${zK}]`,sw=new RegExp(_w,"g"),HK={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"}},_l=null,sl="Invalid DateTime",U0=8640000000000000,Bw={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},jK={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},NK={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Dw=["year","month","day","hour","minute","second","millisecond"],LK=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],yK=["year","ordinal","hour","minute","second","millisecond"];class xn{constructor(n){const i=n.zone||Dn.defaultZone;let o=n.invalid||(Number.isNaN(n.ts)?new qi("invalid input"):null)||(!i.isValid?Gx(i):null);this.ts=pn(n.ts)?Dn.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=zx(this.ts,x),o=Number.isNaN(c.year)?new qi("invalid input"):null,c=o?null:c,p=o?null:x}this._zone=i,this.loc=n.loc||Yn.create(),this.invalid=o,this.weekData=null,this.localWeekData=null,this.c=c,this.o=p,this.isLuxonDateTime=!0}static now(){return new xn({})}static local(){const[n,i]=N0(arguments),[o,c,p,a,x,m,l]=i;return s0({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static utc(){const[n,i]=N0(arguments),[o,c,p,a,x,m,l]=i;return n.zone=Ai.utcInstance,s0({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static fromJSDate(n,i={}){const o=F8(n)?n.valueOf():NaN;if(Number.isNaN(o))return xn.invalid("invalid input");const c=ic(i.zone,Dn.defaultZone);if(!c.isValid)return xn.invalid(Gx(c));return new xn({ts:o,zone:c,loc:Yn.fromObject(i)})}static fromMillis(n,i={}){if(!Yc(n))throw new Yi(`fromMillis requires a numerical input, but received a ${typeof n} with value ${n}`);else if(n<-U0||n>U0)return xn.invalid("Timestamp out of range");else return new xn({ts:n,zone:ic(i.zone,Dn.defaultZone),loc:Yn.fromObject(i)})}static fromSeconds(n,i={}){if(!Yc(n))throw new Yi("fromSeconds requires a numerical input");else return new xn({ts:n*1000,zone:ic(i.zone,Dn.defaultZone),loc:Yn.fromObject(i)})}static fromObject(n,i={}){n=n||{};const o=ic(i.zone,Dn.defaultZone);if(!o.isValid)return xn.invalid(Gx(o));const c=Yn.fromObject(i),p=Ux(n,_0),{minDaysInFirstWeek:a,startOfWeek:x}=K0(p,c),m=Dn.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 Gc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(v&&f)throw new Gc("Can't mix ordinal dates with month/day");const R=T||p.weekday&&!S;let A,X,G=zx(m,l);if(R)A=LK,X=jK,G=Ex(G,a,x);else if(f)A=yK,X=NK,G=bl(G);else A=Dw,X=Bw;let Y=!1;for(let V of A){const K=p[V];if(!pn(K))Y=!0;else if(Y)p[V]=X[V];else p[V]=G[V]}const E=R?w8(p,a,x):f?S8(p):Sw(p),s=E||Jw(p);if(s)return xn.invalid(s);const z=R?M0(p,a,x):f?R0(p):p,[M,O]=Ox(z,l,o),U=new xn({ts:M,zone:o,o:O,loc:c});if(p.weekday&&S&&n.weekday!==U.weekday)return xn.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]=pK(n);return Sa(o,c,i,"ISO 8601",n)}static fromRFC2822(n,i={}){const[o,c]=aK(n);return Sa(o,c,i,"RFC 2822",n)}static fromHTTP(n,i={}){const[o,c]=xK(n);return Sa(o,c,i,"HTTP",i)}static fromFormat(n,i,o={}){if(pn(n)||pn(i))throw new Yi("fromFormat requires an input string and a format");const{locale:c=null,numberingSystem:p=null}=o,a=Yn.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0}),[x,m,l,f]=sK(a,n,i);if(f)return xn.invalid(f);else return Sa(x,m,o,`format ${i}`,n,l)}static fromString(n,i,o={}){return xn.fromFormat(n,i,o)}static fromSQL(n,i={}){const[o,c]=SK(n);return Sa(o,c,i,"SQL",n)}static invalid(n,i=null){if(!n)throw new Yi("need to specify a reason the DateTime is invalid");const o=n instanceof qi?n:new qi(n,i);if(Dn.throwOnInvalid)throw new L0(o);else return new xn({invalid:o})}static isDateTime(n){return n&&n.isLuxonDateTime||!1}static parseFormatForOpts(n,i={}){const o=Lw(n,Yn.fromObject(i));return!o?null:o.map((c)=>c?c.val:null).join("")}static expandFormat(n,i={}){return jw(Fi.parseFormat(n),Yn.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?jl(this).weekYear:NaN}get weekNumber(){return this.isValid?jl(this).weekNumber:NaN}get weekday(){return this.isValid?jl(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Nl(this).weekday:NaN}get localWeekNumber(){return this.isValid?Nl(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Nl(this).weekYear:NaN}get ordinal(){return this.isValid?bl(this.c).ordinal:NaN}get monthShort(){return this.isValid?pp.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?pp.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?pp.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?pp.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=bx(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=zx(m,a),$=zx(l,x);if(f.hour===$.hour&&f.minute===$.minute&&f.second===$.second&&f.millisecond===$.millisecond)return[Xc(this,{ts:m}),Xc(this,{ts:l})];return[this]}get isInLeapYear(){return Ra(this.year)}get daysInMonth(){return Qx(this.year,this.month)}get daysInYear(){return this.isValid?ap(this.year):NaN}get weeksInWeekYear(){return this.isValid?Ta(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?Ta(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(n={}){const{locale:i,numberingSystem:o,calendar:c}=Fi.create(this.loc.clone(n),n).resolvedOptions(this);return{locale:i,numberingSystem:o,outputCalendar:c}}toUTC(n=0,i={}){return this.setZone(Ai.instance(n),i)}toLocal(){return this.setZone(Dn.defaultZone)}setZone(n,{keepLocalTime:i=!1,keepCalendarTime:o=!1}={}){if(n=ic(n,Dn.defaultZone),n.equals(this.zone))return this;else if(!n.isValid)return xn.invalid(Gx(n));else{let c=this.ts;if(i||o){const p=n.offset(this.ts),a=this.toObject();[c]=Ox(a,p,n)}return Xc(this,{ts:c,zone:n})}}reconfigure({locale:n,numberingSystem:i,outputCalendar:o}={}){const c=this.loc.clone({locale:n,numberingSystem:i,outputCalendar:o});return Xc(this,{loc:c})}setLocale(n){return this.reconfigure({locale:n})}set(n){if(!this.isValid)return this;const i=Ux(n,_0),{minDaysInFirstWeek:o,startOfWeek:c}=K0(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 Gc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(m&&a)throw new Gc("Can't mix ordinal dates with month/day");let $;if(p)$=M0({...Ex(this.c,o,c),...i},o,c);else if(!pn(i.ordinal))$=R0({...bl(this.c),...i});else if($={...this.toObject(),...i},pn(i.day))$.day=Math.min(Qx($.year,$.month),$.day);const[v,S]=Ox($,this.o,this.zone);return Xc(this,{ts:v,o:S})}plus(n){if(!this.isValid)return this;const i=Tn.fromDurationLike(n);return Xc(this,V0(this,i))}minus(n){if(!this.isValid)return this;const i=Tn.fromDurationLike(n).negate();return Xc(this,V0(this,i))}startOf(n,{useLocaleWeeks:i=!1}={}){if(!this.isValid)return this;const o={},c=Tn.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?Fi.create(this.loc.redefaultToEN(i)).formatDateTimeFromString(this,n):sl}toLocaleString(n=Hx,i={}){return this.isValid?Fi.create(this.loc.clone(i),n).formatDateTime(this):sl}toLocaleParts(n={}){return this.isValid?Fi.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=Ll(this,a);return x+="T",x+=b0(this,a,i,o,c,p),x}toISODate({format:n="extended"}={}){if(!this.isValid)return null;return Ll(this,n==="extended")}toISOWeekDate(){return Yx(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":"")+b0(this,a==="extended",i,n,o,p)}toRFC2822(){return Yx(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Yx(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){if(!this.isValid)return null;return Ll(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 Yx(this,c,!0)}toSQL(n={}){if(!this.isValid)return null;return`${this.toSQLDate()} ${this.toSQLTime(n)}`}toString(){return this.isValid?this.toISO():sl}[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 Tn.invalid("created by diffing an invalid DateTime");const c={locale:this.locale,numberingSystem:this.numberingSystem,...o},p=A8(i).map(Tn.normalizeUnit),a=n.valueOf()>this.valueOf(),x=a?this:n,m=a?n:this,l=KK(x,m,p,c);return a?l.negate():l}diffNow(n="milliseconds",i={}){return this.diff(xn.now(),n,i)}until(n){return this.isValid?Bn.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||xn.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 j0(i,this.plus(o),{...n,numeric:"always",units:c,unit:p})}toRelativeCalendar(n={}){if(!this.isValid)return null;return j0(n.base||xn.fromObject({},{zone:this.zone}),this,{...n,numeric:"auto",units:["years","months","days"],calendary:!0})}static min(...n){if(!n.every(xn.isDateTime))throw new Yi("min requires all arguments be DateTimes");return W0(n,(i)=>i.valueOf(),Math.min)}static max(...n){if(!n.every(xn.isDateTime))throw new Yi("max requires all arguments be DateTimes");return W0(n,(i)=>i.valueOf(),Math.max)}static fromFormatExplain(n,i,o={}){const{locale:c=null,numberingSystem:p=null}=o,a=Yn.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0});return Nw(a,n,i)}static fromStringExplain(n,i,o={}){return xn.fromFormatExplain(n,i,o)}static get DATE_SHORT(){return Hx}static get DATE_MED(){return D0}static get DATE_MED_WITH_WEEKDAY(){return q4}static get DATE_FULL(){return h0}static get DATE_HUGE(){return I0}static get TIME_SIMPLE(){return C0}static get TIME_WITH_SECONDS(){return t0}static get TIME_WITH_SHORT_OFFSET(){return k0}static get TIME_WITH_LONG_OFFSET(){return r0}static get TIME_24_SIMPLE(){return Z0}static get TIME_24_WITH_SECONDS(){return q0}static get TIME_24_WITH_SHORT_OFFSET(){return P0}static get TIME_24_WITH_LONG_OFFSET(){return e0}static get DATETIME_SHORT(){return g0}static get DATETIME_SHORT_WITH_SECONDS(){return d0}static get DATETIME_MED(){return nw}static get DATETIME_MED_WITH_SECONDS(){return iw}static get DATETIME_MED_WITH_WEEKDAY(){return P4}static get DATETIME_FULL(){return ow}static get DATETIME_FULL_WITH_SECONDS(){return cw}static get DATETIME_HUGE(){return pw}static get DATETIME_HUGE_WITH_SECONDS(){return aw}}var DK="3.4.4";hw.DateTime=xn;hw.Duration=Tn;hw.FixedOffsetZone=Ai;hw.IANAZone=Yo;hw.Info=pp;hw.Interval=Bn;hw.InvalidZone=kl;hw.Settings=Dn;hw.SystemZone=Ma;hw.VERSION=DK;hw.Zone=uc});var Zw=I((Cw)=>{Object.defineProperty(Cw,"__esModule",{value:!0});Cw.RE_RANGE=Cw.RE_WILDCARDS=Cw.PRESETS=Cw.TIME_UNITS_LEN=Cw.TIME_UNITS=Cw.TIME_UNITS_MAP=Cw.ALIASES=Cw.PARSE_DEFAULTS=Cw.MONTH_CONSTRAINTS=Cw.CONSTRAINTS=void 0;Cw.CONSTRAINTS=Object.freeze({second:[0,59],minute:[0,59],hour:[0,23],dayOfMonth:[1,31],month:[1,12],dayOfWeek:[0,7]});Cw.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});Cw.PARSE_DEFAULTS=Object.freeze({second:"0",minute:"*",hour:"*",dayOfMonth:"*",month:"*",dayOfWeek:"*"});Cw.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});Cw.TIME_UNITS_MAP=Object.freeze({SECOND:"second",MINUTE:"minute",HOUR:"hour",DAY_OF_MONTH:"dayOfMonth",MONTH:"month",DAY_OF_WEEK:"dayOfWeek"});Cw.TIME_UNITS=Object.freeze(Object.values(Cw.TIME_UNITS_MAP));Cw.TIME_UNITS_LEN=Cw.TIME_UNITS.length;Cw.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"});Cw.RE_WILDCARDS=/\*/g;Cw.RE_RANGE=/^(\d+)(?:-(\d+))?(?:\/(\d+))?$/g});var cf=I((Pw)=>{Object.defineProperty(Pw,"__esModule",{value:!0});Pw.ExclusiveParametersError=Pw.CronError=void 0;class of extends Error{}Pw.CronError=of;class qw extends of{constructor(n,i){super(`You can't specify both ${n} and ${i}`)}}Pw.ExclusiveParametersError=qw});var nS=I((gw)=>{Object.defineProperty(gw,"__esModule",{value:!0});gw.getRecordKeys=void 0;var m6=(n)=>{return Object.keys(n)};gw.getRecordKeys=m6});var jx=I((cS)=>{Object.defineProperty(cS,"__esModule",{value:!0});cS.CronTime=void 0;var uo=Iw(),ai=Zw(),Ti=cf(),iS=nS();class oS{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 Ti.ExclusiveParametersError("timeZone","utcOffset");if(i){if(!uo.DateTime.fromObject({},{zone:i}).isValid)throw new Ti.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=iS.getRecordKeys(this.month),i=iS.getRecordKeys(this.dayOfMonth);let o=!1,c=null;for(let p of n){const a=ai.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=ai.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 Ti.CronError("ERROR: You specified an invalid UTC offset.")}if(this.realDate){if(uo.DateTime.local()>i)throw new Ti.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 ai.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 Ti.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 Ti.CronError(`Something went wrong. No execution date was found in the next 8 years.
4
+ Please provide the following string if you would like to help debug:
5
+ 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 Ti.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 Ti.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=ai.CONSTRAINTS[n],o=i[0],c=n===ai.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(ai.PRESETS).includes(n))n=ai.PRESETS[n];n=n.replace(/[a-z]{1,3}/gi,(p)=>{if(Object.keys(ai.ALIASES).includes(p))return ai.ALIASES[p].toString();throw new Ti.CronError(`Unknown alias: ${p}`)});const o=n.trim().split(/\s+/);if(o.length<ai.TIME_UNITS_LEN-1)throw new Ti.CronError("Too few fields");if(o.length>ai.TIME_UNITS_LEN)throw new Ti.CronError("Too many fields");const c=o.length;for(let p of ai.TIME_UNITS){const a=ai.TIME_UNITS.indexOf(p),x=(i=o[a-(ai.TIME_UNITS_LEN-c)])!==null&&i!==void 0?i:ai.PARSE_DEFAULTS[p];this._parseField(x,p)}}_parseField(n,i){const o=this[i];let c;const p=ai.CONSTRAINTS[i],a=p[0],x=p[1];n.split(",").forEach((f)=>{const $=f.indexOf("*");if($!==-1&&$!==0)throw new Ti.CronError(`Field (${f}) has an invalid wildcard expression`)}),n=n.replace(ai.RE_WILDCARDS,`${a}-${x}`);const l=n.split(",");for(let f of l){const $=[...f.matchAll(ai.RE_RANGE)][0];if(($===null||$===void 0?void 0:$[1])!==void 0){const[,v,S,T]=$;let R=parseInt(v,10),A=S!==void 0?parseInt(S,10):void 0;const X=T!==void 0,G=parseInt(T!==null&&T!==void 0?T:"1",10);if(G===0)throw new Ti.CronError(`Field (${i}) has a step of zero`);if(A!==void 0&&R>A)throw new Ti.CronError(`Field (${i}) has an invalid range`);if(R<a||A!==void 0&&A>x||A===void 0&&R>x)throw new Ti.CronError(`Field value (${n}) is out of range`);if(R=Math.min(Math.max(a,~~Math.abs(R)),x),A!==void 0)A=Math.min(x,~~Math.abs(A));else A=X?x:R;c=R;do o[c]=!0,c+=G;while(c<=A);if(i==="dayOfWeek"){if(!o[0]&&!!o[7])o[0]=o[7];delete o[7]}}else throw new Ti.CronError(`Field (${i}) cannot be parsed`)}}}cS.CronTime=oS});var lS=I((xS)=>{Object.defineProperty(xS,"__esModule",{value:!0});xS.CronJob=void 0;var aS=import.meta.require("child_process"),pf=cf(),Nx=jx();class Xa{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 pf.ExclusiveParametersError("timeZone","utcOffset");if(p!=null)this.cronTime=new Nx.CronTime(n,p,null);else if(m!=null)this.cronTime=new Nx.CronTime(n,null,m);else this.cronTime=new Nx.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 pf.ExclusiveParametersError("timeZone","utcOffset");if(n.timeZone!=null)return new Xa(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 Xa(n.cronTime,n.onTick,n.onComplete,n.start,null,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout);else return new Xa(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 aS.spawn.bind(void 0,c!==null&&c!==void 0?c:n,p,{})}case"object":return aS.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 Nx.CronTime))throw new pf.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)}}xS.CronJob=Xa});var af=I((Lx)=>{Object.defineProperty(Lx,"__esModule",{value:!0});Lx.timeout=Lx.sendAt=Lx.CronTime=Lx.CronJob=void 0;var fS=jx(),l6=lS();Object.defineProperty(Lx,"CronJob",{enumerable:!0,get:function(){return l6.CronJob}});var f6=jx();Object.defineProperty(Lx,"CronTime",{enumerable:!0,get:function(){return f6.CronTime}});var $6=(n)=>new fS.CronTime(n).sendAt();Lx.sendAt=$6;var v6=(n)=>new fS.CronTime(n).getTimeout();Lx.timeout=v6});var nF=I((iN,uf)=>{function W6(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=X6(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function X6(n,i){var o=K6.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 G6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=z6(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function z6(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 dJ(n,i){var o=W6(n===void 0?"*":n||"");if(!i)return o.filter(gJ).sort(eJ).map(Y6);var c=i.map(function p(a,x){return G6(a,o,x)});return c.filter(gJ).sort(eJ).map(function p(a){return i[c.indexOf(a)]})}function eJ(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function Y6(n){return n.charset}function gJ(n){return n.q>0}uf.exports=dJ;uf.exports.preferredCharsets=dJ;var K6=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var aF=I((oN,Of)=>{function O6(n){var i=n.split(","),o=!1,c=1;for(var p=0,a=0;p<i.length;p++){var x=H6(i[p].trim(),p);if(x)i[a++]=x,o=o||cF("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 H6(n,i){var o=u6.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 E6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=cF(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function cF(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 pF(n,i){var o=O6(n||"");if(!i)return o.filter(oF).sort(iF).map(Q6);var c=i.map(function p(a,x){return E6(a,o,x)});return c.filter(oF).sort(iF).map(function p(a){return i[c.indexOf(a)]})}function iF(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function Q6(n){return n.encoding}function oF(n){return n.q>0}Of.exports=pF;Of.exports.preferredEncodings=pF;var u6=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var $F=I((cN,Hf)=>{function V6(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=lF(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function lF(n,i){var o=U6.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 b6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=_6(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function _6(n,i,o){var c=lF(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 fF(n,i){var o=V6(n===void 0?"*":n||"");if(!i)return o.filter(mF).sort(xF).map(s6);var c=i.map(function p(a,x){return b6(a,o,x)});return c.filter(mF).sort(xF).map(function p(a){return i[c.indexOf(a)]})}function xF(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function s6(n){return n.full}function mF(n){return n.q>0}Hf.exports=fF;Hf.exports.preferredLanguages=fF;var U6=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/});var AF=I((pN,Ef)=>{function N6(n){var i=h6(n);for(var o=0,c=0;o<i.length;o++){var p=SF(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function SF(n,i){var o=j6.exec(n);if(!o)return null;var c=Object.create(null),p=1,a=o[2],x=o[1];if(o[3]){var m=I6(o[3]).map(D6);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 L6(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=y6(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function y6(n,i,o){var c=SF(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 JF(n,i){var o=N6(n===void 0?"*/*":n||"");if(!i)return o.filter(wF).sort(vF).map(B6);var c=i.map(function p(a,x){return L6(a,o,x)});return c.filter(wF).sort(vF).map(function p(a){return i[c.indexOf(a)]})}function vF(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function B6(n){return n.type+"/"+n.subtype}function wF(n){return n.q>0}function FF(n){var i=0,o=0;while((o=n.indexOf('"',o))!==-1)i++,o++;return i}function D6(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 h6(n){var i=n.split(",");for(var o=1,c=0;o<i.length;o++)if(FF(i[c])%2==0)i[++c]=i[o];else i[c]+=","+i[o];return i.length=c+1,i}function I6(n){var i=n.split(";");for(var o=1,c=0;o<i.length;o++)if(FF(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}Ef.exports=JF;Ef.exports.preferredMediaTypes=JF;var j6=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/});var TF=I((aN,Qf)=>{function un(n){if(!(this instanceof un))return new un(n);this.request=n}/*!
4
6
  * negotiator
5
7
  * Copyright(c) 2012 Federico Romero
6
8
  * Copyright(c) 2012-2014 Isaac Z. Schlueter
7
9
  * Copyright(c) 2015 Douglas Christopher Wilson
8
10
  * MIT Licensed
9
- */var pr=Sl(),mr=Fl(),rr=$l(),ur=Ol();Me.exports=_;Me.exports.Negotiator=_;_.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};_.prototype.charsets=function n(i){return pr(this.request.headers["accept-charset"],i)};_.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};_.prototype.encodings=function n(i){return mr(this.request.headers["accept-encoding"],i)};_.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};_.prototype.languages=function n(i){return rr(this.request.headers["accept-language"],i)};_.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};_.prototype.mediaTypes=function n(i){return ur(this.request.headers.accept,i)};_.prototype.preferredCharset=_.prototype.charset;_.prototype.preferredCharsets=_.prototype.charsets;_.prototype.preferredEncoding=_.prototype.encoding;_.prototype.preferredEncodings=_.prototype.encodings;_.prototype.preferredLanguage=_.prototype.language;_.prototype.preferredLanguages=_.prototype.languages;_.prototype.preferredMediaType=_.prototype.mediaType;_.prototype.preferredMediaTypes=_.prototype.mediaTypes});var Xl=$((c$,xr)=>{xr.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 Gl=$((l$,Yl)=>{/*!
11
+ */var C6=nF(),t6=aF(),k6=$F(),r6=AF();Qf.exports=un;Qf.exports.Negotiator=un;un.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};un.prototype.charsets=function n(i){return C6(this.request.headers["accept-charset"],i)};un.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};un.prototype.encodings=function n(i){return t6(this.request.headers["accept-encoding"],i)};un.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};un.prototype.languages=function n(i){return k6(this.request.headers["accept-language"],i)};un.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};un.prototype.mediaTypes=function n(i){return r6(this.request.headers.accept,i)};un.prototype.preferredCharset=un.prototype.charset;un.prototype.preferredCharsets=un.prototype.charsets;un.prototype.preferredEncoding=un.prototype.encoding;un.prototype.preferredEncodings=un.prototype.encodings;un.prototype.preferredLanguage=un.prototype.language;un.prototype.preferredLanguages=un.prototype.languages;un.prototype.preferredMediaType=un.prototype.mediaType;un.prototype.preferredMediaTypes=un.prototype.mediaTypes});var MF=I((xN,Z6)=>{Z6.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 KF=I((mN,RF)=>{/*!
10
12
  * mime-db
11
13
  * Copyright(c) 2014 Jonathan Ong
12
14
  * Copyright(c) 2015-2022 Douglas Christopher Wilson
13
15
  * MIT Licensed
14
- */Yl.exports=Xl()});var Vl=$((wr)=>{function Hl(n){if(!n||typeof n!=="string")return!1;var i=Ql.exec(n),o=i&&va[i[1].toLowerCase()];if(o&&o.charset)return o.charset;if(i&&vr.test(i[1]))return"UTF-8";return!1}function br(n){if(!n||typeof n!=="string")return!1;var i=n.indexOf("/")===-1?wr.lookup(n):n;if(!i)return!1;if(i.indexOf("charset")===-1){var o=wr.charset(i);if(o)i+="; charset="+o.toLowerCase()}return i}function Sr(n){if(!n||typeof n!=="string")return!1;var i=Ql.exec(n),o=i&&wr.extensions[i[1].toLowerCase()];if(!o||!o.length)return!1;return o[0]}function yr(n){if(!n||typeof n!=="string")return!1;var i=fr("x."+n).toLowerCase().substr(1);if(!i)return!1;return wr.types[i]||!1}function Tr(n,i){var o=["nginx","apache",void 0,"iana"];Object.keys(va).forEach(function a(e){var c=va[e],l=c.extensions;if(!l||!l.length)return;n[e]=l;for(var t=0;t<l.length;t++){var s=l[t];if(i[s]){var p=o.indexOf(va[i[s]].source),m=o.indexOf(c.source);if(i[s]!=="application/octet-stream"&&(p>m||p===m&&i[s].substr(0,12)==="application/"))continue}i[s]=e}})}/*!
16
+ */RF.exports=MF()});var YF=I((iW)=>{function XF(n){if(!n||typeof n!=="string")return!1;var i=WF.exec(n),o=i&&pm[i[1].toLowerCase()];if(o&&o.charset)return o.charset;if(i&&P6.test(i[1]))return"UTF-8";return!1}function e6(n){if(!n||typeof n!=="string")return!1;var i=n.indexOf("/")===-1?iW.lookup(n):n;if(!i)return!1;if(i.indexOf("charset")===-1){var o=iW.charset(i);if(o)i+="; charset="+o.toLowerCase()}return i}function g6(n){if(!n||typeof n!=="string")return!1;var i=WF.exec(n),o=i&&iW.extensions[i[1].toLowerCase()];if(!o||!o.length)return!1;return o[0]}function d6(n){if(!n||typeof n!=="string")return!1;var i=q6("x."+n).toLowerCase().substr(1);if(!i)return!1;return iW.types[i]||!1}function nW(n,i){var o=["nginx","apache",void 0,"iana"];Object.keys(pm).forEach(function c(p){var a=pm[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(pm[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
17
  * mime-types
16
18
  * Copyright(c) 2014 Jonathan Ong
17
19
  * Copyright(c) 2015 Douglas Christopher Wilson
18
20
  * MIT Licensed
19
- */var va=Gl(),fr=import.meta.require("path").extname,Ql=/^\s*([^;\s]*)(?:;|\s|$)/,vr=/^text\//i;wr.charset=Hl;wr.charsets={lookup:Hl};wr.contentType=br;wr.extension=Sr;wr.extensions=Object.create(null);wr.lookup=yr;wr.types=Object.create(null);Tr(wr.extensions,wr.types)});var ba=$((s$,El)=>{function An(n){if(!(this instanceof An))return new An(n);this.headers=n.headers,this.negotiator=new Rr(n)}function Jr(n){return n.indexOf("/")===-1?Ar.lookup(n):n}function $r(n){return typeof n==="string"}/*!
21
+ */var pm=KF(),q6=import.meta.require("path").extname,WF=/^\s*([^;\s]*)(?:;|\s|$)/,P6=/^text\//i;iW.charset=XF;iW.charsets={lookup:XF};iW.contentType=e6;iW.extension=g6;iW.extensions=Object.create(null);iW.lookup=d6;iW.types=Object.create(null);nW(iW.extensions,iW.types)});var am=I((fN,uF)=>{function Bi(n){if(!(this instanceof Bi))return new Bi(n);this.headers=n.headers,this.negotiator=new aW(n)}function mW(n){return n.indexOf("/")===-1?xW.lookup(n):n}function lW(n){return typeof n==="string"}/*!
20
22
  * accepts
21
23
  * Copyright(c) 2014 Jonathan Ong
22
24
  * Copyright(c) 2015 Douglas Christopher Wilson
23
25
  * MIT Licensed
24
- */var Rr=hl(),Ar=Vl();El.exports=An;An.prototype.type=An.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 a=i.map(Jr),e=this.negotiator.mediaTypes(a.filter($r)),c=e[0];return c?i[a.indexOf(c)]:!1};An.prototype.encoding=An.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};An.prototype.charset=An.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};An.prototype.lang=An.prototype.langs=An.prototype.language=An.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 $e=$((Ul,kl)=>{/*!
26
+ */var aW=TF(),xW=YF();uF.exports=Bi;Bi.prototype.type=Bi.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(mW),p=this.negotiator.mediaTypes(c.filter(lW)),a=p[0];return a?i[c.indexOf(a)]:!1};Bi.prototype.encoding=Bi.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};Bi.prototype.charset=Bi.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};Bi.prototype.lang=Bi.prototype.langs=Bi.prototype.language=Bi.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 _f=I((OF,HF)=>{/*!
25
27
  * base64id v0.1.0
26
- */var Yo=import.meta.require("crypto"),Je=function(){};Je.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Yo.randomBytes(n);var a=parseInt(i/n),e=parseInt(a*0.85);if(!e)return Yo.randomBytes(n);if(this.bytesBufferIndex==null)this.bytesBufferIndex=-1;if(this.bytesBufferIndex==a)this.bytesBuffer=null,this.bytesBufferIndex=-1;if(this.bytesBufferIndex==-1||this.bytesBufferIndex>e){if(!this.isGeneratingBytes)this.isGeneratingBytes=!0,Yo.randomBytes(i,function(l,t){o.bytesBuffer=t,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Yo.randomBytes(n)}var c=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,c};Je.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),Yo.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,"-")};Ul=kl.exports=new Je});var Sa=$((Nl)=>{Object.defineProperty(Nl,"__esModule",{value:!0});Nl.ERROR_PACKET=Nl.PACKET_TYPES_REVERSE=Nl.PACKET_TYPES=void 0;var Nn=Object.create(null);Nl.PACKET_TYPES=Nn;Nn.open="0";Nn.close="1";Nn.ping="2";Nn.pong="3";Nn.message="4";Nn.upgrade="5";Nn.noop="6";var Ll=Object.create(null);Nl.PACKET_TYPES_REVERSE=Ll;Object.keys(Nn).forEach((n)=>{Ll[Nn[n]]=n});var Kr={type:"error",data:"parser error"};Nl.ERROR_PACKET=Kr});var ql=$((_l)=>{function Or(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(Dl(n.data,!1));_l.encodePacket(n,!0,(o)=>{if(!Ke)Ke=new TextEncoder;i(Ke.encode(o))})}Object.defineProperty(_l,"__esModule",{value:!0});_l.encodePacket=void 0;_l.encodePacketToBinary=Or;var zr=Sa(),gr=({type:n,data:i},o,a)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return a(o?i:"b"+Dl(i,!0).toString("base64"));return a(zr.PACKET_TYPES[n]+(i||""))};_l.encodePacket=gr;var Dl=(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)},Ke});var it=$((Zl)=>{Object.defineProperty(Zl,"__esModule",{value:!0});Zl.decodePacket=void 0;var ya=Sa(),Xr=(n,i)=>{if(typeof n!=="string")return{type:"message",data:Pl(n,i)};const o=n.charAt(0);if(o==="b"){const a=Buffer.from(n.substring(1),"base64");return{type:"message",data:Pl(a,i)}}if(!ya.PACKET_TYPES_REVERSE[o])return ya.ERROR_PACKET;return n.length>1?{type:ya.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:ya.PACKET_TYPES_REVERSE[o]}};Zl.decodePacket=Xr;var Pl=(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 Go=$((da)=>{function Qr(){return new TransformStream({transform(n,i){ze.encodePacketToBinary(n,(o)=>{const a=o.length;let e;if(a<126)e=new Uint8Array(1),new DataView(e.buffer).setUint8(0,a);else if(a<65536){e=new Uint8Array(3);const c=new DataView(e.buffer);c.setUint8(0,126),c.setUint16(1,a)}else{e=new Uint8Array(9);const c=new DataView(e.buffer);c.setUint8(0,127),c.setBigUint64(1,BigInt(a))}if(n.data&&typeof n.data!=="string")e[0]|=128;i.enqueue(e),i.enqueue(o)})}})}function Ta(n){return n.reduce((i,o)=>i+o.length,0)}function wa(n,i){if(n[0].length===i)return n.shift();const o=new Uint8Array(i);let a=0;for(let e=0;e<i;e++)if(o[e]=n[0][a++],a===n[0].length)n.shift(),a=0;if(n.length&&a<n[0].length)n[0]=n[0].slice(a);return o}function Hr(n,i){if(!We)We=new TextDecoder;const o=[];let a=0,e=-1,c=!1;return new TransformStream({transform(l,t){o.push(l);while(!0){if(a===0){if(Ta(o)<1)break;const s=wa(o,1);if(c=(s[0]&128)===128,e=s[0]&127,e<126)a=3;else if(e===126)a=1;else a=2}else if(a===1){if(Ta(o)<2)break;const s=wa(o,2);e=new DataView(s.buffer,s.byteOffset,s.length).getUint16(0),a=3}else if(a===2){if(Ta(o)<8)break;const s=wa(o,8),p=new DataView(s.buffer,s.byteOffset,s.length),m=p.getUint32(0);if(m>Math.pow(2,21)-1){t.enqueue(ot.ERROR_PACKET);break}e=m*Math.pow(2,32)+p.getUint32(4),a=3}else{if(Ta(o)<e)break;const s=wa(o,e);t.enqueue(ge.decodePacket(c?s:We.decode(s),i)),a=0}if(e===0||e>n){t.enqueue(ot.ERROR_PACKET);break}}}})}Object.defineProperty(da,"__esModule",{value:!0});da.decodePayload=da.decodePacket=da.encodePayload=da.encodePacket=da.protocol=void 0;da.createPacketEncoderStream=Qr;da.createPacketDecoderStream=Hr;var ze=ql();Object.defineProperty(da,"encodePacket",{enumerable:!0,get:function(){return ze.encodePacket}});var ge=it();Object.defineProperty(da,"decodePacket",{enumerable:!0,get:function(){return ge.decodePacket}});var ot=Sa(),at=String.fromCharCode(30),Yr=(n,i)=>{const o=n.length,a=new Array(o);let e=0;n.forEach((c,l)=>{ze.encodePacket(c,!1,(t)=>{if(a[l]=t,++e===o)i(a.join(at))})})};da.encodePayload=Yr;var Gr=(n,i)=>{const o=n.split(at),a=[];for(let e=0;e<o.length;e++){const c=ge.decodePacket(o[e],i);if(a.push(c),c.type==="error")break}return a};da.decodePayload=Gr;var We;da.protocol=4});var st=$((v$,tt)=>{function ct(n){var i=[],o=0,a=n.length,e,c;while(o<a)if(e=n.charCodeAt(o++),e>=55296&&e<=56319&&o<a)if(c=n.charCodeAt(o++),(c&64512)==56320)i.push(((e&1023)<<10)+(c&1023)+65536);else i.push(e),o--;else i.push(e);return i}function Ur(n){var i=n.length,o=-1,a,e="";while(++o<i){if(a=n[o],a>65535)a-=65536,e+=ui(a>>>10&1023|55296),a=56320|a&1023;e+=ui(a)}return e}function lt(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 Oe(n,i){return ui(n>>i&63|128)}function kr(n,i){if((n&4294967168)==0)return ui(n);var o="";if((n&4294965248)==0)o=ui(n>>6&31|192);else if((n&4294901760)==0){if(!lt(n,i))n=65533;o=ui(n>>12&15|224),o+=Oe(n,6)}else if((n&4292870144)==0)o=ui(n>>18&7|240),o+=Oe(n,12),o+=Oe(n,6);return o+=ui(n&63|128),o}function Lr(n,i){i=i||{};var o=i.strict!==!1,a=ct(n),e=a.length,c=-1,l,t="";while(++c<e)l=a[c],t+=kr(l,o);return t}function Ei(){if(xi>=Ma)throw Error("Invalid byte index");var n=Fa[xi]&255;if(xi++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function Nr(n){var i,o,a,e,c;if(xi>Ma)throw Error("Invalid byte index");if(xi==Ma)return!1;if(i=Fa[xi]&255,xi++,(i&128)==0)return i;if((i&224)==192)if(o=Ei(),c=(i&31)<<6|o,c>=128)return c;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=Ei(),a=Ei(),c=(i&15)<<12|o<<6|a,c>=2048)return lt(c,n)?c:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=Ei(),a=Ei(),e=Ei(),c=(i&7)<<18|o<<12|a<<6|e,c>=65536&&c<=1114111)return c}throw Error("Invalid UTF-8 detected")}function Ir(n,i){i=i||{};var o=i.strict!==!1;Fa=ct(n),Ma=Fa.length,xi=0;var a=[],e;while((e=Nr(o))!==!1)a.push(e);return Ur(a)}/*! https://mths.be/utf8js v2.1.2 by @mathias */var ui=String.fromCharCode,Fa,Ma,xi;tt.exports={version:"2.1.2",encode:Lr,decode:Ir}});var St=$((bt)=>{function he(n,i,o,a){if(typeof i==="function")a=i,i=null;if(typeof o==="function")a=o,o=null;if(Buffer.isBuffer(n.data))return pt(n,i,a);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return pt({type:n.type,data:Ye(n.data)},i,a);var e=bt.packets[n.type];if(n.data!==void 0)e+=o?mt.encode(String(n.data),{strict:!1}):String(n.data);return a(""+e)}function pt(n,i,o){if(!i)return rt(n,o);var a=n.data,e=Buffer.allocUnsafe(1);return e[0]=bt.packets[n.type],o(Buffer.concat([e,a]))}function rt(n,i){var o=Buffer.isBuffer(n.data)?n.data:Ye(n.data),a="b"+bt.packets[n.type];return a+=o.toString("base64"),i(a)}function Xe(n,i,o){if(n===void 0)return Qn;var a;if(typeof n==="string"){if(a=n.charAt(0),a==="b")return ut(n.slice(1),i);if(o){if(n=qr(n),n===!1)return Qn}if(Number(a)!=a||!Ui[a])return Qn;if(n.length>1)return{type:Ui[a],data:n.slice(1)};else return{type:Ui[a]}}if(i==="arraybuffer"){var e=new Uint8Array(n);return a=e[0],{type:Ui[a],data:e.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=Ye(n);return a=n[0],{type:Ui[a],data:n.slice(1)}}function qr(n){try{n=mt.decode(n,{strict:!1})}catch(i){return!1}return n}function ut(n,i){var o=Ui[n.charAt(0)],a=Buffer.from(n.slice(1),"base64");if(i==="arraybuffer"){var e=new Uint8Array(a.length);for(var c=0;c<e.length;c++)e[c]=a[c];a=e.buffer}return{type:o,data:a}}function Pr(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&Dr(n))return ft(n,o);if(!n.length)return o("0:");function a(e,c){he(e,i,!1,function(l){c(null,Zr(l))})}xt(n,a,function(e,c){return o(c.join(""))})}function Zr(n){return n.length+":"+n}function xt(n,i,o){const a=new Array(n.length);let e=0;for(let c=0;c<n.length;c++)i(n[c],(l,t)=>{if(a[c]=t,++e===n.length)o(null,a)})}function nu(n,i,o){if(typeof n!=="string")return vt(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(Qn,0,1);var a="",e,c,l;for(var t=0,s=n.length;t<s;t++){var p=n.charAt(t);if(p!==":"){a+=p;continue}if(a===""||a!=(e=Number(a)))return o(Qn,0,1);if(c=n.slice(t+1,t+1+e),a!=c.length)return o(Qn,0,1);if(c.length){if(l=Xe(c,i,!1),Qn.type===l.type&&Qn.data===l.data)return o(Qn,0,1);var m=o(l,t+e,s);if(m===!1)return}t+=e,a=""}if(a!=="")return o(Qn,0,1)}function iu(n){var i="";for(var o=0,a=n.length;o<a;o++)i+=String.fromCharCode(n[o]);return i}function ou(n){var i=Buffer.allocUnsafe(n.length);for(var o=0,a=n.length;o<a;o++)i.writeUInt8(n.charCodeAt(o),o);return i}function Ye(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function ft(n,i){if(!n.length)return i(_r);xt(n,au,function(o,a){return i(Buffer.concat(a))})}function au(n,i){function o(a){var e=""+a.length,c;if(typeof a==="string"){c=Buffer.allocUnsafe(e.length+2),c[0]=0;for(var l=0;l<e.length;l++)c[l+1]=parseInt(e[l],10);return c[c.length-1]=255,i(null,Buffer.concat([c,ou(a)]))}c=Buffer.allocUnsafe(e.length+2),c[0]=1;for(var l=0;l<e.length;l++)c[l+1]=parseInt(e[l],10);c[c.length-1]=255,i(null,Buffer.concat([c,a]))}he(n,!0,!0,o)}function vt(n,i,o){if(typeof i==="function")o=i,i=null;var a=n,e=[],c;while(a.length>0){var l="",t=a[0]===0;for(c=1;;c++){if(a[c]===255)break;if(l.length>310)return o(Qn,0,1);l+=""+a[c]}a=a.slice(l.length+1);var s=parseInt(l,10),p=a.slice(1,s+1);if(t)p=iu(p);e.push(p),a=a.slice(s+1)}var m=e.length;for(c=0;c<m;c++){var r=e[c];o(Xe(r,i,!0),c,m)}}Object.defineProperty(bt,"__esModule",{value:!0});bt.packets=bt.protocol=void 0;bt.encodePacket=he;bt.encodeBase64Packet=rt;bt.decodePacket=Xe;bt.decodeBase64Packet=ut;bt.encodePayload=Pr;bt.decodePayload=nu;bt.encodePayloadAsBinary=ft;bt.decodePayloadAsBinary=vt;var mt=st();bt.protocol=3;var Dr=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};bt.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var Ui=Object.keys(bt.packets),Qn={type:"error",data:"parser error"},_r=Buffer.concat([])});var Tt=$((S$,yt)=>{function vu(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]),a=(i[2]||"ms").toLowerCase();switch(a){case"years":case"year":case"yrs":case"yr":case"y":return o*fu;case"weeks":case"week":case"w":return o*xu;case"days":case"day":case"d":return o*Ai;case"hours":case"hour":case"hrs":case"hr":case"h":return o*Ii;case"minutes":case"minute":case"mins":case"min":case"m":return o*Ni;case"seconds":case"second":case"secs":case"sec":case"s":return o*Li;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function bu(n){var i=Math.abs(n);if(i>=Ai)return Math.round(n/Ai)+"d";if(i>=Ii)return Math.round(n/Ii)+"h";if(i>=Ni)return Math.round(n/Ni)+"m";if(i>=Li)return Math.round(n/Li)+"s";return n+"ms"}function Su(n){var i=Math.abs(n);if(i>=Ai)return Ra(n,i,Ai,"day");if(i>=Ii)return Ra(n,i,Ii,"hour");if(i>=Ni)return Ra(n,i,Ni,"minute");if(i>=Li)return Ra(n,i,Li,"second");return n+" ms"}function Ra(n,i,o,a){var e=i>=o*1.5;return Math.round(n/o)+" "+a+(e?"s":"")}var Li=1000,Ni=Li*60,Ii=Ni*60,Ai=Ii*24,xu=Ai*7,fu=Ai*365.25;yt.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return vu(n);else if(o==="number"&&isFinite(n))return i.long?Su(n):bu(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))}});var Ge=$((y$,wt)=>{function yu(n){o.debug=o,o.default=o,o.coerce=s,o.disable=c,o.enable=e,o.enabled=l,o.humanize=Tt(),o.destroy=p,Object.keys(n).forEach((m)=>{o[m]=n[m]}),o.names=[],o.skips=[],o.formatters={};function i(m){let r=0;for(let S=0;S<m.length;S++)r=(r<<5)-r+m.charCodeAt(S),r|=0;return o.colors[Math.abs(r)%o.colors.length]}o.selectColor=i;function o(m){let r,S=null,K,y;function T(...f){if(!T.enabled)return;const w=T,d=Number(new Date),W=d-(r||d);if(w.diff=W,w.prev=r,w.curr=d,r=d,f[0]=o.coerce(f[0]),typeof f[0]!=="string")f.unshift("%O");let U=0;f[0]=f[0].replace(/%([a-zA-Z%])/g,(u,R)=>{if(u==="%%")return"%";U++;const A=o.formatters[R];if(typeof A==="function"){const J=f[U];u=A.call(w,J),f.splice(U,1),U--}return u}),o.formatArgs.call(w,f),(w.log||o.log).apply(w,f)}if(T.namespace=m,T.useColors=o.useColors(),T.color=o.selectColor(m),T.extend=a,T.destroy=o.destroy,Object.defineProperty(T,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(S!==null)return S;if(K!==o.namespaces)K=o.namespaces,y=o.enabled(m);return y},set:(f)=>{S=f}}),typeof o.init==="function")o.init(T);return T}function a(m,r){const S=o(this.namespace+(typeof r==="undefined"?":":r)+m);return S.log=this.log,S}function e(m){o.save(m),o.namespaces=m,o.names=[],o.skips=[];let r;const S=(typeof m==="string"?m:"").split(/[\s,]+/),K=S.length;for(r=0;r<K;r++){if(!S[r])continue;if(m=S[r].replace(/\*/g,".*?"),m[0]==="-")o.skips.push(new RegExp("^"+m.slice(1)+"$"));else o.names.push(new RegExp("^"+m+"$"))}}function c(){const m=[...o.names.map(t),...o.skips.map(t).map((r)=>"-"+r)].join(",");return o.enable(""),m}function l(m){if(m[m.length-1]==="*")return!0;let r,S;for(r=0,S=o.skips.length;r<S;r++)if(o.skips[r].test(m))return!1;for(r=0,S=o.names.length;r<S;r++)if(o.names[r].test(m))return!0;return!1}function t(m){return m.toString().substring(2,m.toString().length-2).replace(/\.\*\?$/,"*")}function s(m){if(m instanceof Error)return m.stack||m.message;return m}function p(){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}wt.exports=yu});var Ft=$((dt,Ja)=>{function Tu(){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 wu(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+Ja.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;n.splice(1,0,i,"color: inherit");let o=0,a=0;n[0].replace(/%[a-zA-Z%]/g,(e)=>{if(e==="%%")return;if(o++,e==="%c")a=o}),n.splice(a,0,i)}function du(n){try{if(n)dt.storage.setItem("debug",n);else dt.storage.removeItem("debug")}catch(i){}}function Fu(){let n;try{n=dt.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function Mu(){try{return localStorage}catch(n){}}dt.formatArgs=wu;dt.save=du;dt.load=Fu;dt.useColors=Tu;dt.storage=Mu();dt.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`.")}})();dt.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"];dt.log=console.debug||console.log||(()=>{});Ja.exports=Ge()(dt);var{formatters:Ru}=Ja.exports;Ru.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var Rt=$((w$,Mt)=>{Mt.exports=(n,i)=>{i=i||process.argv;const o=n.startsWith("-")?"":n.length===1?"-":"--",a=i.indexOf(o+n),e=i.indexOf("--");return a!==-1&&(e===-1?!0:a<e)}});var Jt=$((d$,At)=>{function Ou(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function hu(n){if(Di===!1)return 0;if(Hn("color=16m")||Hn("color=full")||Hn("color=truecolor"))return 3;if(Hn("color=256"))return 2;if(n&&!n.isTTY&&Di!==!0)return 0;const i=Di?1:0;if(process.platform==="win32"){const o=gu.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 xn){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in xn))||xn.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in xn)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(xn.TEAMCITY_VERSION)?1:0;if(xn.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in xn){const o=parseInt((xn.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(xn.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(xn.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(xn.TERM))return 1;if("COLORTERM"in xn)return 1;if(xn.TERM==="dumb")return i;return i}function Qe(n){const i=hu(n);return Ou(i)}var gu=import.meta.require("os"),Hn=Rt(),xn=process.env,Di;if(Hn("no-color")||Hn("no-colors")||Hn("color=false"))Di=!1;else if(Hn("color")||Hn("colors")||Hn("color=true")||Hn("color=always"))Di=!0;if("FORCE_COLOR"in xn)Di=xn.FORCE_COLOR.length===0||parseInt(xn.FORCE_COLOR,10)!==0;At.exports={supportsColor:Qe,stdout:Qe(process.stdout),stderr:Qe(process.stderr)}});var Wt=$((Kt,Ka)=>{function Yu(){return"colors"in Kt.inspectOpts?Boolean(Kt.inspectOpts.colors):Xu.isatty(process.stderr.fd)}function Gu(n){const{namespace:i,useColors:o}=this;if(o){const a=this.color,e="\x1B[3"+(a<8?a:"8;5;"+a),c=` ${e};1m${i} \x1B[0m`;n[0]=c+n[0].split("\n").join("\n"+c),n.push(e+"m+"+Ka.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=Qu()+i+" "+n[0]}function Qu(){if(Kt.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function Hu(...n){return process.stderr.write($a.formatWithOptions(Kt.inspectOpts,...n)+"\n")}function Bu(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function Cu(){return process.env.DEBUG}function Vu(n){n.inspectOpts={};const i=Object.keys(Kt.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=Kt.inspectOpts[i[o]]}var Xu=import.meta.require("tty"),$a=import.meta.require("util");Kt.init=Vu;Kt.log=Hu;Kt.formatArgs=Gu;Kt.save=Bu;Kt.load=Cu;Kt.useColors=Yu;Kt.destroy=$a.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Kt.colors=[6,2,3,4,5,1];try{const n=Jt();if(n&&(n.stderr||n).level>=2)Kt.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){}Kt.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,(e,c)=>{return c.toUpperCase()});let a=process.env[i];if(/^(yes|on|true|enabled)$/i.test(a))a=!0;else if(/^(no|off|false|disabled)$/i.test(a))a=!1;else if(a==="null")a=null;else a=Number(a);return n[o]=a,n},{});Ka.exports=Ge()(Kt);var{formatters:$t}=Ka.exports;$t.o=function(n){return this.inspectOpts.colors=this.useColors,$a.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};$t.O=function(n){return this.inspectOpts.colors=this.useColors,$a.inspect(n,this.inspectOpts)}});var rn=$((M$,He)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)He.exports=Ft();else He.exports=Wt()});var $i=$((Ot)=>{function nx(){}Object.defineProperty(Ot,"__esModule",{value:!0});Ot.Transport=void 0;var _u=import.meta.require("events"),qu=Go(),Pu=St(),Zu=rn(),zt=Zu.default("engine:transport");class gt extends _u.EventEmitter{get readyState(){return this._readyState}set readyState(n){zt("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?qu:Pu,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||nx)}onError(n,i){if(this.listeners("error").length){const o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else zt("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")}}Ot.Transport=gt});var Be=$((Gt)=>{Object.defineProperty(Gt,"__esModule",{value:!0});Gt.Polling=void 0;var ix=$i(),Xt=import.meta.require("zlib"),ox=ba(),ax=rn(),Jn=ax.default("engine:polling"),ex={gzip:Xt.createGzip,deflate:Xt.createDeflate};class Yt extends ix.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){Jn("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}Jn("setting request"),this.req=n,this.res=i;const o=()=>{this.onError("poll connection closed prematurely")},a=()=>{n.removeListener("close",o),this.req=this.res=null};if(n.cleanup=a,n.on("close",o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)Jn("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 a=o?Buffer.concat([]):"";const e=()=>{n.removeListener("data",l),n.removeListener("end",t),n.removeListener("close",c),this.dataReq=this.dataRes=a=null},c=()=>{e(),this.onError("data request connection closed prematurely")},l=(s)=>{let p;if(o)a=Buffer.concat([a,s]),p=a.length;else a+=s,p=Buffer.byteLength(a);if(p>this.maxHttpBufferSize)i.writeHead(413).end(),e()},t=()=>{this.onData(a);const s={"Content-Type":"text/html","Content-Length":"2"};i.writeHead(200,this.headers(n,s)),i.end("ok"),e()};if(n.on("close",c),!o)n.setEncoding("utf8");n.on("data",l),n.on("end",t)}onData(n){Jn('received "%s"',n);const i=(o)=>{if(o.type==="close")return Jn("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)Jn("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const a=n.some((e)=>{return e.options&&e.options.compress});this.write(o,{compress:a})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){Jn('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const a=typeof n==="string",c={"Content-Type":a?"text/plain; charset=UTF-8":"application/octet-stream"},l=(p)=>{c["Content-Length"]=typeof p==="string"?Buffer.byteLength(p):p.length,this.res.writeHead(200,this.headers(this.req,c)),this.res.end(p),o()};if(!this.httpCompression||!i.compress){l(n);return}if((a?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){l(n);return}const s=ox(this.req).encodings(["gzip","deflate"]);if(!s){l(n);return}this.compress(n,s,(p,m)=>{if(p){this.res.writeHead(500),this.res.end(),o(p);return}c["Content-Encoding"]=s,l(m)})}compress(n,i,o){Jn("compressing");const a=[];let e=0;ex[i](this.httpCompression).on("error",o).on("data",function(c){a.push(c),e+=c.length}).on("end",function(){o(null,Buffer.concat(a,e))}).end(n)}doClose(n){Jn("closing");let i;if(this.dataReq)Jn("aborting ongoing data request"),this.dataReq.destroy();const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)Jn("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)Jn("transport discarded - closing right away"),o();else Jn("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}}Gt.Polling=Yt});var Vt=$((Bt)=>{Object.defineProperty(Bt,"__esModule",{value:!0});Bt.JSONP=void 0;var cx=Be(),lx=import.meta.require("querystring"),tx=/\\\\n/g,sx=/(\\)?\\n/g;class Ht extends cx.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=lx.parse(n).d,typeof n==="string")n=n.replace(sx,function(i,o){return o?i:"\n"}),super.onData(n.replace(tx,"\\n"))}doWrite(n,i,o){const a=JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");n=this.head+a+this.foot,super.doWrite(n,i,o)}}Bt.JSONP=Ht});var Nt=$((kt)=>{Object.defineProperty(kt,"__esModule",{value:!0});kt.WebSocket=void 0;var px=$i(),mx=rn(),Et=mx.default("engine:ws");class Ut extends px.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 a=o?i:i.toString();Et('received "%s"',a),super.onData(a)}),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],a=i+1===n.length;if(this._canSendPreEncodedFrame(o))this.socket._sender.sendFrame(o.options.wsPreEncodedFrame,a?this._onSentLast:this._onSent);else this.parser.encodePacket(o,this.supportsBinary,a?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(n){var i,o,a;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"&&((a=n.options)===null||a===void 0?void 0:a.wsPreEncodedFrame)!==void 0}doClose(n){Et("closing"),this.socket.close(),n&&n()}}kt.WebSocket=Ut});var Ce=$((Dt)=>{Object.defineProperty(Dt,"__esModule",{value:!0});Dt.WebTransport=void 0;var rx=$i(),ux=rn(),xx=Go(),_i=ux.default("engine:webtransport");class It extends rx.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;const a=xx.createPacketEncoderStream();a.readable.pipeTo(i.writable).catch(()=>{_i("the stream was closed")}),this.writer=a.writable.getWriter(),(async()=>{try{while(!0){const{value:e,done:c}=await o.read();if(c){_i("session is closed");break}_i("received chunk: %o",e),this.onPacket(e)}}catch(e){_i("error while reading: %s",e.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){_i("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){_i("closing WebTransport session"),this.session.close(),n&&n()}}Dt.WebTransport=It});var Ve=$((Pt)=>{function qt(n){if(typeof n._query.j==="string")return new vx.JSONP(n);else return new fx.Polling(n)}Object.defineProperty(Pt,"__esModule",{value:!0});var fx=Be(),vx=Vt(),bx=Nt(),Sx=Ce();Pt.default={polling:qt,websocket:bx.WebSocket,webtransport:Sx.WebTransport};qt.upgradesTo=["websocket","webtransport"]});var Ee=$((ns)=>{Object.defineProperty(ns,"__esModule",{value:!0});ns.Socket=void 0;var Tx=import.meta.require("events"),wx=rn(),Zn=import.meta.require("timers"),ln=wx.default("engine:socket");class Zt extends Tx.EventEmitter{get readyState(){return this._readyState}set readyState(n){ln("readyState updated from %s to %s",this._readyState,n),this._readyState=n}constructor(n,i,o,a,e){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=a,this.protocol=e,a)if(a.websocket&&a.websocket._socket)this.remoteAddress=a.websocket._socket.remoteAddress;else this.remoteAddress=a.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 ln("packet received with closed socket");switch(ln(`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}ln("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}ln("got pong"),Zn.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){ln("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=Zn.setTimeout(()=>{ln("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){Zn.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=Zn.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(),a=this.onPacket.bind(this),e=this.onDrain.bind(this),c=this.onClose.bind(this,"transport close");this.transport=n,this.transport.once("error",i),this.transport.on("ready",o),this.transport.on("packet",a),this.transport.on("drain",e),this.transport.once("close",c),this.cleanupFn.push(function(){n.removeListener("error",i),n.removeListener("ready",o),n.removeListener("packet",a),n.removeListener("drain",e),n.removeListener("close",c)})}onDrain(){if(this.sentCallbackFn.length>0){ln("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){ln('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;const i=Zn.setTimeout(()=>{if(ln("client did not complete upgrade - closing transport"),c(),n.readyState==="open")n.close()},this.server.opts.upgradeTimeout);let o;const a=(p)=>{if(p.type==="ping"&&p.data==="probe")ln("got probe ping packet, sending pong"),n.send([{type:"pong",data:"probe"}]),this.emit("upgrading",n),clearInterval(o),o=setInterval(e,100);else if(p.type==="upgrade"&&this.readyState!=="closed"){if(ln("got upgrade packet - upgrading"),c(),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 c(),n.close()},e=()=>{if(this.transport.name==="polling"&&this.transport.writable)ln("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}])},c=()=>{this.upgrading=!1,clearInterval(o),Zn.clearTimeout(i),n.removeListener("packet",a),n.removeListener("close",t),n.removeListener("error",l),this.removeListener("close",s)},l=(p)=>{ln("client did not complete upgrade - %s",p),c(),n.close(),n=null},t=()=>{l("transport closed")},s=()=>{l("socket closed")};n.on("packet",a),n.once("close",t),n.once("error",l),this.once("close",s)}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(){ln("error triggered by discarded transport")}),this.transport.close(),Zn.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",Zn.clearTimeout(this.pingIntervalTimer),Zn.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={},a){if(typeof o==="function")a=o,o={};if(this.readyState!=="closing"&&this.readyState!=="closed"){ln('sending packet "%s" (%s)',n,i),o.compress=o.compress!==!1;const e={type:n,options:o};if(i)e.data=i;if(this.emit("packetCreate",e),this.writeBuffer.push(e),typeof a==="function")this.packetsFn.push(a);this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){ln("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 a=i[o];if(this.server.opts.transports.indexOf(a)!==-1)n.push(a)}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){ln("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{ln("all packets have been sent, closing the transport"),this.closeTransport(n)});return}ln("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(ln("closing the transport (discard? %s)",!!n),n)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}}ns.Socket=Zt});var os=$((Jx)=>{function Mx(n,i){if(typeof n!=="string")throw new TypeError("argument str must be a string");var o={},a=i||{},e=n.split(";"),c=a.decode||dx;for(var l=0;l<e.length;l++){var t=e[l],s=t.indexOf("=");if(s<0)continue;var p=t.substring(0,s).trim();if(o[p]==null){var m=t.substring(s+1,t.length).trim();if(m[0]==='"')m=m.slice(1,-1);o[p]=Ax(m,c)}}return o}function Rx(n,i,o){var a=o||{},e=a.encode||Fx;if(typeof e!=="function")throw new TypeError("option encode is invalid");if(!ja.test(n))throw new TypeError("argument name is invalid");var c=e(i);if(c&&!ja.test(c))throw new TypeError("argument val is invalid");var l=n+"="+c;if(a.maxAge!=null){var t=a.maxAge-0;if(isNaN(t)||!isFinite(t))throw new TypeError("option maxAge is invalid");l+="; Max-Age="+Math.floor(t)}if(a.domain){if(!ja.test(a.domain))throw new TypeError("option domain is invalid");l+="; Domain="+a.domain}if(a.path){if(!ja.test(a.path))throw new TypeError("option path is invalid");l+="; Path="+a.path}if(a.expires){if(typeof a.expires.toUTCString!=="function")throw new TypeError("option expires is invalid");l+="; Expires="+a.expires.toUTCString()}if(a.httpOnly)l+="; HttpOnly";if(a.secure)l+="; Secure";if(a.sameSite){var s=typeof a.sameSite==="string"?a.sameSite.toLowerCase():a.sameSite;switch(s){case!0:l+="; SameSite=Strict";break;case"lax":l+="; SameSite=Lax";break;case"strict":l+="; SameSite=Strict";break;case"none":l+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return l}function Ax(n,i){try{return i(n)}catch(o){return n}}/*!
28
+ */var Qa=import.meta.require("crypto"),bf=function(){};bf.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Qa.randomBytes(n);var c=parseInt(i/n),p=parseInt(c*0.85);if(!p)return Qa.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,Qa.randomBytes(i,function(x,m){o.bytesBuffer=m,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Qa.randomBytes(n)}var a=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};bf.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),Qa.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,"-")};OF=HF.exports=new bf});var xm=I((QF)=>{Object.defineProperty(QF,"__esModule",{value:!0});QF.ERROR_PACKET=QF.PACKET_TYPES_REVERSE=QF.PACKET_TYPES=void 0;var Eo=Object.create(null);QF.PACKET_TYPES=Eo;Eo.open="0";Eo.close="1";Eo.ping="2";Eo.pong="3";Eo.message="4";Eo.upgrade="5";Eo.noop="6";var EF=Object.create(null);QF.PACKET_TYPES_REVERSE=EF;Object.keys(Eo).forEach((n)=>{EF[Eo[n]]=n});var fW={type:"error",data:"parser error"};QF.ERROR_PACKET=fW});var _F=I((bF)=>{function JW(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(VF(n.data,!1));bF.encodePacket(n,!0,(o)=>{if(!sf)sf=new TextEncoder;i(sf.encode(o))})}Object.defineProperty(bF,"__esModule",{value:!0});bF.encodePacket=void 0;bF.encodePacketToBinary=JW;var wW=xm(),SW=({type:n,data:i},o,c)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return c(o?i:"b"+VF(i,!0).toString("base64"));return c(wW.PACKET_TYPES[n]+(i||""))};bF.encodePacket=SW;var VF=(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)},sf});var LF=I((jF)=>{Object.defineProperty(jF,"__esModule",{value:!0});jF.decodePacket=void 0;var mm=xm(),AW=(n,i)=>{if(typeof n!=="string")return{type:"message",data:sF(n,i)};const o=n.charAt(0);if(o==="b"){const c=Buffer.from(n.substring(1),"base64");return{type:"message",data:sF(c,i)}}if(!mm.PACKET_TYPES_REVERSE[o])return mm.ERROR_PACKET;return n.length>1?{type:mm.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:mm.PACKET_TYPES_REVERSE[o]}};jF.decodePacket=AW;var sF=(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 Ua=I(($m)=>{function RW(){return new TransformStream({transform(n,i){Lf.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 lm(n){return n.reduce((i,o)=>i+o.length,0)}function fm(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 KW(n,i){if(!Nf)Nf=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(lm(o)<1)break;const l=fm(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(lm(o)<2)break;const l=fm(o,2);p=new DataView(l.buffer,l.byteOffset,l.length).getUint16(0),c=3}else if(c===2){if(lm(o)<8)break;const l=fm(o,8),f=new DataView(l.buffer,l.byteOffset,l.length),$=f.getUint32(0);if($>Math.pow(2,21)-1){m.enqueue(yF.ERROR_PACKET);break}p=$*Math.pow(2,32)+f.getUint32(4),c=3}else{if(lm(o)<p)break;const l=fm(o,p);m.enqueue(yf.decodePacket(a?l:Nf.decode(l),i)),c=0}if(p===0||p>n){m.enqueue(yF.ERROR_PACKET);break}}}})}Object.defineProperty($m,"__esModule",{value:!0});$m.decodePayload=$m.decodePacket=$m.encodePayload=$m.encodePacket=$m.protocol=void 0;$m.createPacketEncoderStream=RW;$m.createPacketDecoderStream=KW;var Lf=_F();Object.defineProperty($m,"encodePacket",{enumerable:!0,get:function(){return Lf.encodePacket}});var yf=LF();Object.defineProperty($m,"decodePacket",{enumerable:!0,get:function(){return yf.decodePacket}});var yF=xm(),BF=String.fromCharCode(30),TW=(n,i)=>{const o=n.length,c=new Array(o);let p=0;n.forEach((a,x)=>{Lf.encodePacket(a,!1,(m)=>{if(c[x]=m,++p===o)i(c.join(BF))})})};$m.encodePayload=TW;var MW=(n,i)=>{const o=n.split(BF),c=[];for(let p=0;p<o.length;p++){const a=yf.decodePacket(o[p],i);if(c.push(a),a.type==="error")break}return c};$m.decodePayload=MW;var Nf;$m.protocol=4});var tF=I((AN,CF)=>{function hF(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 YW(n){var i=n.length,o=-1,c,p="";while(++o<i){if(c=n[o],c>65535)c-=65536,p+=mc(c>>>10&1023|55296),c=56320|c&1023;p+=mc(c)}return p}function IF(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 Bf(n,i){return mc(n>>i&63|128)}function uW(n,i){if((n&4294967168)==0)return mc(n);var o="";if((n&4294965248)==0)o=mc(n>>6&31|192);else if((n&4294901760)==0){if(!IF(n,i))n=65533;o=mc(n>>12&15|224),o+=Bf(n,6)}else if((n&4292870144)==0)o=mc(n>>18&7|240),o+=Bf(n,12),o+=Bf(n,6);return o+=mc(n&63|128),o}function OW(n,i){i=i||{};var o=i.strict!==!1,c=hF(n),p=c.length,a=-1,x,m="";while(++a<p)x=c[a],m+=uW(x,o);return m}function Sp(){if(lc>=wm)throw Error("Invalid byte index");var n=vm[lc]&255;if(lc++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function HW(n){var i,o,c,p,a;if(lc>wm)throw Error("Invalid byte index");if(lc==wm)return!1;if(i=vm[lc]&255,lc++,(i&128)==0)return i;if((i&224)==192)if(o=Sp(),a=(i&31)<<6|o,a>=128)return a;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=Sp(),c=Sp(),a=(i&15)<<12|o<<6|c,a>=2048)return IF(a,n)?a:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=Sp(),c=Sp(),p=Sp(),a=(i&7)<<18|o<<12|c<<6|p,a>=65536&&a<=1114111)return a}throw Error("Invalid UTF-8 detected")}function EW(n,i){i=i||{};var o=i.strict!==!1;vm=hF(n),wm=vm.length,lc=0;var c=[],p;while((p=HW(o))!==!1)c.push(p);return YW(c)}/*! https://mths.be/utf8js v2.1.2 by @mathias */var mc=String.fromCharCode,vm,wm,lc;CF.exports={version:"2.1.2",encode:OW,decode:EW}});var nA=I((dF)=>{function Df(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 kF(n,i,c);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return kF({type:n.type,data:If(n.data)},i,c);var p=dF.packets[n.type];if(n.data!==void 0)p+=o?rF.encode(String(n.data),{strict:!1}):String(n.data);return c(""+p)}function kF(n,i,o){if(!i)return ZF(n,o);var c=n.data,p=Buffer.allocUnsafe(1);return p[0]=dF.packets[n.type],o(Buffer.concat([p,c]))}function ZF(n,i){var o=Buffer.isBuffer(n.data)?n.data:If(n.data),c="b"+dF.packets[n.type];return c+=o.toString("base64"),i(c)}function hf(n,i,o){if(n===void 0)return Jo;var c;if(typeof n==="string"){if(c=n.charAt(0),c==="b")return qF(n.slice(1),i);if(o){if(n=VW(n),n===!1)return Jo}if(Number(c)!=c||!Jp[c])return Jo;if(n.length>1)return{type:Jp[c],data:n.slice(1)};else return{type:Jp[c]}}if(i==="arraybuffer"){var p=new Uint8Array(n);return c=p[0],{type:Jp[c],data:p.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=If(n);return c=n[0],{type:Jp[c],data:n.slice(1)}}function VW(n){try{n=rF.decode(n,{strict:!1})}catch(i){return!1}return n}function qF(n,i){var o=Jp[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 bW(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&QW(n))return eF(n,o);if(!n.length)return o("0:");function c(p,a){Df(p,i,!1,function(x){a(null,_W(x))})}PF(n,c,function(p,a){return o(a.join(""))})}function _W(n){return n.length+":"+n}function PF(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 sW(n,i,o){if(typeof n!=="string")return gF(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(Jo,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(Jo,0,1);if(a=n.slice(m+1,m+1+p),c!=a.length)return o(Jo,0,1);if(a.length){if(x=hf(a,i,!1),Jo.type===x.type&&Jo.data===x.data)return o(Jo,0,1);var $=o(x,m+p,l);if($===!1)return}m+=p,c=""}if(c!=="")return o(Jo,0,1)}function jW(n){var i="";for(var o=0,c=n.length;o<c;o++)i+=String.fromCharCode(n[o]);return i}function NW(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 If(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function eF(n,i){if(!n.length)return i(UW);PF(n,LW,function(o,c){return i(Buffer.concat(c))})}function LW(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,NW(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]))}Df(n,!0,!0,o)}function gF(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(Jo,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=jW(f);p.push(f),c=c.slice(l+1)}var $=p.length;for(a=0;a<$;a++){var v=p[a];o(hf(v,i,!0),a,$)}}Object.defineProperty(dF,"__esModule",{value:!0});dF.packets=dF.protocol=void 0;dF.encodePacket=Df;dF.encodeBase64Packet=ZF;dF.decodePacket=hf;dF.decodeBase64Packet=qF;dF.encodePayload=bW;dF.decodePayload=sW;dF.encodePayloadAsBinary=eF;dF.decodePayloadAsBinary=gF;var rF=tF();dF.protocol=3;var QW=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};dF.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var Jp=Object.keys(dF.packets),Jo={type:"error",data:"parser error"},UW=Buffer.concat([])});var oA=I((MN,iA)=>{function PW(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*qW;case"weeks":case"week":case"w":return o*ZW;case"days":case"day":case"d":return o*Ec;case"hours":case"hour":case"hrs":case"hr":case"h":return o*Mp;case"minutes":case"minute":case"mins":case"min":case"m":return o*Tp;case"seconds":case"second":case"secs":case"sec":case"s":return o*Ap;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function eW(n){var i=Math.abs(n);if(i>=Ec)return Math.round(n/Ec)+"d";if(i>=Mp)return Math.round(n/Mp)+"h";if(i>=Tp)return Math.round(n/Tp)+"m";if(i>=Ap)return Math.round(n/Ap)+"s";return n+"ms"}function gW(n){var i=Math.abs(n);if(i>=Ec)return Sm(n,i,Ec,"day");if(i>=Mp)return Sm(n,i,Mp,"hour");if(i>=Tp)return Sm(n,i,Tp,"minute");if(i>=Ap)return Sm(n,i,Ap,"second");return n+" ms"}function Sm(n,i,o,c){var p=i>=o*1.5;return Math.round(n/o)+" "+c+(p?"s":"")}var Ap=1000,Tp=Ap*60,Mp=Tp*60,Ec=Mp*24,ZW=Ec*7,qW=Ec*365.25;iA.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return PW(n);else if(o==="number"&&isFinite(n))return i.long?gW(n):eW(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))}});var Cf=I((RN,cA)=>{function dW(n){o.debug=o,o.default=o,o.coerce=l,o.disable=a,o.enable=p,o.enabled=x,o.humanize=oA(),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 A(...X){if(!A.enabled)return;const G=A,Y=Number(new Date),E=Y-(v||Y);if(G.diff=E,G.prev=v,G.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(G,V),X.splice(s,1),s--}return M}),o.formatArgs.call(G,X),(G.log||o.log).apply(G,X)}if(A.namespace=$,A.useColors=o.useColors(),A.color=o.selectColor($),A.extend=c,A.destroy=o.destroy,Object.defineProperty(A,"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(A);return A}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}cA.exports=dW});var aA=I((pA,Fm)=>{function n7(){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 i7(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+Fm.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 o7(n){try{if(n)pA.storage.setItem("debug",n);else pA.storage.removeItem("debug")}catch(i){}}function c7(){let n;try{n=pA.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function p7(){try{return localStorage}catch(n){}}pA.formatArgs=i7;pA.save=o7;pA.load=c7;pA.useColors=n7;pA.storage=p7();pA.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`.")}})();pA.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"];pA.log=console.debug||console.log||(()=>{});Fm.exports=Cf()(pA);var{formatters:a7}=Fm.exports;a7.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var mA=I((WN,xA)=>{xA.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 fA=I((XN,lA)=>{function J7(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function F7(n){if(Rp===!1)return 0;if(Fo("color=16m")||Fo("color=full")||Fo("color=truecolor"))return 3;if(Fo("color=256"))return 2;if(n&&!n.isTTY&&Rp!==!0)return 0;const i=Rp?1:0;if(process.platform==="win32"){const o=S7.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 Mi){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in Mi))||Mi.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in Mi)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Mi.TEAMCITY_VERSION)?1:0;if(Mi.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Mi){const o=parseInt((Mi.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Mi.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Mi.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Mi.TERM))return 1;if("COLORTERM"in Mi)return 1;if(Mi.TERM==="dumb")return i;return i}function tf(n){const i=F7(n);return J7(i)}var S7=import.meta.require("os"),Fo=mA(),Mi=process.env,Rp;if(Fo("no-color")||Fo("no-colors")||Fo("color=false"))Rp=!1;else if(Fo("color")||Fo("colors")||Fo("color=true")||Fo("color=always"))Rp=!0;if("FORCE_COLOR"in Mi)Rp=Mi.FORCE_COLOR.length===0||parseInt(Mi.FORCE_COLOR,10)!==0;lA.exports={supportsColor:tf,stdout:tf(process.stdout),stderr:tf(process.stderr)}});var SA=I((vA,Tm)=>{function T7(){return"colors"in vA.inspectOpts?Boolean(vA.inspectOpts.colors):A7.isatty(process.stderr.fd)}function M7(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+"+Tm.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=R7()+i+" "+n[0]}function R7(){if(vA.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function K7(...n){return process.stderr.write(Am.formatWithOptions(vA.inspectOpts,...n)+"\n")}function W7(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function X7(){return process.env.DEBUG}function G7(n){n.inspectOpts={};const i=Object.keys(vA.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=vA.inspectOpts[i[o]]}var A7=import.meta.require("tty"),Am=import.meta.require("util");vA.init=G7;vA.log=K7;vA.formatArgs=M7;vA.save=W7;vA.load=X7;vA.useColors=T7;vA.destroy=Am.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");vA.colors=[6,2,3,4,5,1];try{const n=fA();if(n&&(n.stderr||n).level>=2)vA.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){}vA.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},{});Tm.exports=Cf()(vA);var{formatters:$A}=Tm.exports;$A.o=function(n){return this.inspectOpts.colors=this.useColors,Am.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};$A.O=function(n){return this.inspectOpts.colors=this.useColors,Am.inspect(n,this.inspectOpts)}});var xi=I((zN,kf)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)kf.exports=aA();else kf.exports=SA()});var Uc=I((AA)=>{function s7(){}Object.defineProperty(AA,"__esModule",{value:!0});AA.Transport=void 0;var U7=import.meta.require("events"),V7=Ua(),b7=nA(),_7=xi(),JA=_7.default("engine:transport");class FA extends U7.EventEmitter{get readyState(){return this._readyState}set readyState(n){JA("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?V7:b7,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||s7)}onError(n,i){if(this.listeners("error").length){const o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else JA("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")}}AA.Transport=FA});var rf=I((KA)=>{Object.defineProperty(KA,"__esModule",{value:!0});KA.Polling=void 0;var j7=Uc(),MA=import.meta.require("zlib"),N7=am(),L7=xi(),Di=L7.default("engine:polling"),y7={gzip:MA.createGzip,deflate:MA.createDeflate};class RA extends j7.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){Di("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}Di("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)Di("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){Di('received "%s"',n);const i=(o)=>{if(o.type==="close")return Di("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)Di("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){Di('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=N7(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){Di("compressing");const c=[];let p=0;y7[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){Di("closing");let i;if(this.dataReq)Di("aborting ongoing data request"),this.dataReq.destroy();const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)Di("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)Di("transport discarded - closing right away"),o();else Di("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}}KA.Polling=RA});var YA=I((GA)=>{Object.defineProperty(GA,"__esModule",{value:!0});GA.JSONP=void 0;var B7=rf(),D7=import.meta.require("querystring"),h7=/\\\\n/g,I7=/(\\)?\\n/g;class XA extends B7.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=D7.parse(n).d,typeof n==="string")n=n.replace(I7,function(i,o){return o?i:"\n"}),super.onData(n.replace(h7,"\\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)}}GA.JSONP=XA});var QA=I((HA)=>{Object.defineProperty(HA,"__esModule",{value:!0});HA.WebSocket=void 0;var C7=Uc(),t7=xi(),uA=t7.default("engine:ws");class OA extends C7.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();uA('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){uA("closing"),this.socket.close(),n&&n()}}HA.WebSocket=OA});var Zf=I((VA)=>{Object.defineProperty(VA,"__esModule",{value:!0});VA.WebTransport=void 0;var k7=Uc(),r7=xi(),Z7=Ua(),Kp=r7.default("engine:webtransport");class UA extends k7.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;const c=Z7.createPacketEncoderStream();c.readable.pipeTo(i.writable).catch(()=>{Kp("the stream was closed")}),this.writer=c.writable.getWriter(),(async()=>{try{while(!0){const{value:p,done:a}=await o.read();if(a){Kp("session is closed");break}Kp("received chunk: %o",p),this.onPacket(p)}}catch(p){Kp("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){Kp("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){Kp("closing WebTransport session"),this.session.close(),n&&n()}}VA.WebTransport=UA});var qf=I((sA)=>{function _A(n){if(typeof n._query.j==="string")return new P7.JSONP(n);else return new q7.Polling(n)}Object.defineProperty(sA,"__esModule",{value:!0});var q7=rf(),P7=YA(),e7=QA(),g7=Zf();sA.default={polling:_A,websocket:e7.WebSocket,webtransport:g7.WebTransport};_A.upgradesTo=["websocket","webtransport"]});var Pf=I((NA)=>{Object.defineProperty(NA,"__esModule",{value:!0});NA.Socket=void 0;var n3=import.meta.require("events"),i3=xi(),Lo=import.meta.require("timers"),Zn=i3.default("engine:socket");class jA extends n3.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"),Lo.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=Lo.setTimeout(()=>{Zn("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){Lo.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=Lo.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=Lo.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),Lo.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(),Lo.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",Lo.clearTimeout(this.pingIntervalTimer),Lo.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"))}}NA.Socket=jA});var yA=I((m3)=>{function p3(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||o3;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]=x3($,a)}}return o}function a3(n,i,o){var c=o||{},p=c.encode||c3;if(typeof p!=="function")throw new TypeError("option encode is invalid");if(!Mm.test(n))throw new TypeError("argument name is invalid");var a=p(i);if(a&&!Mm.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(!Mm.test(c.domain))throw new TypeError("option domain is invalid");x+="; Domain="+c.domain}if(c.path){if(!Mm.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 x3(n,i){try{return i(n)}catch(o){return n}}/*!
27
29
  * cookie
28
30
  * Copyright(c) 2012-2014 Roman Shtylman
29
31
  * Copyright(c) 2015 Douglas Christopher Wilson
30
32
  * MIT Licensed
31
- */Jx.parse=Mx;Jx.serialize=Rx;var dx=decodeURIComponent,Fx=encodeURIComponent,ja=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/});var cs=$((g$,es)=>{function zx(n){if(n===null||n===void 0)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function gx(){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 a=Object.getOwnPropertyNames(i).map(function(c){return i[c]});if(a.join("")!=="0123456789")return!1;var e={};if("abcdefghijklmnopqrst".split("").forEach(function(c){e[c]=c}),Object.keys(Object.assign({},e)).join("")!=="abcdefghijklmnopqrst")return!1;return!0}catch(c){return!1}}var as=Object.getOwnPropertySymbols,jx=Object.prototype.hasOwnProperty,Wx=Object.prototype.propertyIsEnumerable;es.exports=gx()?Object.assign:function(n,i){var o,a=zx(n),e;for(var c=1;c<arguments.length;c++){o=Object(arguments[c]);for(var l in o)if(jx.call(o,l))a[l]=o[l];if(as){e=as(o);for(var t=0;t<e.length;t++)if(Wx.call(o,e[t]))a[e[t]]=o[e[t]]}}return a}});var ss=$((O$,Ue)=>{function ts(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)?ls(String(i)):i;for(var a=0;a<o.length;a++)if(!Ox.test(o[a]))throw new TypeError("field argument contains an invalid header name");if(n==="*")return n;var e=n,c=ls(n.toLowerCase());if(o.indexOf("*")!==-1||c.indexOf("*")!==-1)return"*";for(var l=0;l<o.length;l++){var t=o[l].toLowerCase();if(c.indexOf(t)===-1)c.push(t),e=e?e+", "+o[l]:o[l]}return e}function ls(n){var i=0,o=[],a=0;for(var e=0,c=n.length;e<c;e++)switch(n.charCodeAt(e)){case 32:if(a===i)a=i=e+1;break;case 44:o.push(n.substring(a,i)),a=i=e+1;break;default:i=e+1;break}return o.push(n.substring(a,i)),o}function hx(n,i){if(!n||!n.getHeader||!n.setHeader)throw new TypeError("res argument is required");var o=n.getHeader("Vary")||"",a=Array.isArray(o)?o.join(", "):String(o);if(o=ts(a,i))n.setHeader("Vary",o)}/*!
33
+ */m3.parse=p3;m3.serialize=a3;var o3=decodeURIComponent,c3=encodeURIComponent,Mm=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/});var hA=I((bN,DA)=>{function w3(n){if(n===null||n===void 0)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function S3(){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 BA=Object.getOwnPropertySymbols,$3=Object.prototype.hasOwnProperty,v3=Object.prototype.propertyIsEnumerable;DA.exports=S3()?Object.assign:function(n,i){var o,c=w3(n),p;for(var a=1;a<arguments.length;a++){o=Object(arguments[a]);for(var x in o)if($3.call(o,x))c[x]=o[x];if(BA){p=BA(o);for(var m=0;m<p.length;m++)if(v3.call(o,p[m]))c[p[m]]=o[p[m]]}}return c}});var tA=I((_N,ef)=>{function CA(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)?IA(String(i)):i;for(var c=0;c<o.length;c++)if(!J3.test(o[c]))throw new TypeError("field argument contains an invalid header name");if(n==="*")return n;var p=n,a=IA(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 IA(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 F3(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=CA(c,i))n.setHeader("Vary",o)}/*!
32
34
  * vary
33
35
  * Copyright(c) 2014-2017 Douglas Christopher Wilson
34
36
  * MIT Licensed
35
- */Ue.exports=hx;Ue.exports.append=ts;var Ox=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var ke=$((h$,ps)=>{(function(){var n=cs(),i=ss(),o={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function a(y){return typeof y==="string"||y instanceof String}function e(y,T){if(Array.isArray(T)){for(var f=0;f<T.length;++f)if(e(y,T[f]))return!0;return!1}else if(a(T))return y===T;else if(T instanceof RegExp)return T.test(y);else return!!T}function c(y,T){var f=T.headers.origin,w=[],d;if(!y.origin||y.origin==="*")w.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(a(y.origin))w.push([{key:"Access-Control-Allow-Origin",value:y.origin}]),w.push([{key:"Vary",value:"Origin"}]);else d=e(f,y.origin),w.push([{key:"Access-Control-Allow-Origin",value:d?f:!1}]),w.push([{key:"Vary",value:"Origin"}]);return w}function l(y){var T=y.methods;if(T.join)T=y.methods.join(",");return{key:"Access-Control-Allow-Methods",value:T}}function t(y){if(y.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function s(y,T){var f=y.allowedHeaders||y.headers,w=[];if(!f)f=T.headers["access-control-request-headers"],w.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(f.join)f=f.join(",");if(f&&f.length)w.push([{key:"Access-Control-Allow-Headers",value:f}]);return w}function p(y){var T=y.exposedHeaders;if(!T)return null;else if(T.join)T=T.join(",");if(T&&T.length)return{key:"Access-Control-Expose-Headers",value:T};return null}function m(y){var T=(typeof y.maxAge==="number"||y.maxAge)&&y.maxAge.toString();if(T&&T.length)return{key:"Access-Control-Max-Age",value:T};return null}function r(y,T){for(var f=0,w=y.length;f<w;f++){var d=y[f];if(d){if(Array.isArray(d))r(d,T);else if(d.key==="Vary"&&d.value)i(T,d.value);else if(d.value)T.setHeader(d.key,d.value)}}}function S(y,T,f,w){var d=[],W=T.method&&T.method.toUpperCase&&T.method.toUpperCase();if(W==="OPTIONS")if(d.push(c(y,T)),d.push(t(y,T)),d.push(l(y,T)),d.push(s(y,T)),d.push(m(y,T)),d.push(p(y,T)),r(d,f),y.preflightContinue)w();else f.statusCode=y.optionsSuccessStatus,f.setHeader("Content-Length","0"),f.end();else d.push(c(y,T)),d.push(t(y,T)),d.push(p(y,T)),r(d,f),w()}function K(y){var T=null;if(typeof y==="function")T=y;else T=function(f,w){w(null,y)};return function f(w,d,W){T(w,function(U,b){if(U)W(U);else{var u=n({},o,b),R=null;if(u.origin&&typeof u.origin==="function")R=u.origin;else if(u.origin)R=function(A,J){J(null,u.origin)};if(R)R(w.headers.origin,function(A,J){if(A||!J)W(A);else u.origin=J,S(u,w,d,W)});else W()}})}}ps.exports=K})()});var Le=$((bs)=>{function Vx(n){try{const i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}function xs(n,i,o){const a=i===q.errors.FORBIDDEN?403:400,e=o&&o.message?o.message:q.errorMessages[i];n.writeHead(a,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:e}))}function fs(n,i,o={}){if(n.on("error",()=>{E("ignoring error from closed connection")}),n.writable){const a=o.message||q.errorMessages[i],e=Buffer.byteLength(a);n.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+e+"\r\n\r\n"+a)}n.destroy()}function Ex(n){if(n+="",n.length<1)return!1;if(!Qo[n.charCodeAt(0)])return E('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Qo[n.charCodeAt(1)])return E('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Qo[n.charCodeAt(2)])return E('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Qo[n.charCodeAt(3)])return E('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Qo[n.charCodeAt(i)])return E('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}Object.defineProperty(bs,"__esModule",{value:!0});bs.Server=bs.BaseServer=void 0;var Xx=import.meta.require("querystring"),Yx=import.meta.require("url"),ms=$e(),Wa=Ve(),Gx=import.meta.require("events"),rs=Ee(),Qx=rn(),Hx=os(),Bx=import.meta.require("ws"),us=Ce(),Cx=Go(),E=Qx.default("engine"),qi=Symbol("responseHeaders");class Ho extends Gx.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:Bx.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(ke()(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 Wa.default[n].upgradesTo||[]}verify(n,i,o){const a=n._query.transport;if(!~this.opts.transports.indexOf(a)||a==="webtransport")return E('unknown transport "%s"',a),o(q.errors.UNKNOWN_TRANSPORT,{transport:a});if(Ex(n.headers.origin)){const l=n.headers.origin;return n.headers.origin=null,E("origin header invalid"),o(q.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:l})}const c=n._query.sid;if(c){if(!this.clients.hasOwnProperty(c))return E('unknown sid "%s"',c),o(q.errors.UNKNOWN_SID,{sid:c});const l=this.clients[c].transport.name;if(!i&&l!==a)return E("bad request: unexpected transport without upgrade"),o(q.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:a,previousTransport:l})}else{if(n.method!=="GET")return o(q.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(a==="websocket"&&!i)return E("invalid transport upgrade"),o(q.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(l,t)=>{if(!t)return o(q.errors.FORBIDDEN,{message:l});o()})}o()}use(n){this.middlewares.push(n)}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return E("no middleware to apply, skipping"),o();const a=(e)=>{E("applying middleware n\xB0%d",e+1),this.middlewares[e](n,i,(c)=>{if(c)return o(c);if(e+1<this.middlewares.length)a(e+1);else o()})};a(0)}close(){E("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 ms.generateId()}async handshake(n,i,o){const a=i._query.EIO==="4"?4:3;if(a===3&&!this.opts.allowEIO3){E("unsupported protocol version"),this.emit("connection_error",{req:i,code:q.errors.UNSUPPORTED_PROTOCOL_VERSION,message:q.errorMessages[q.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:a}}),o(q.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let e;try{e=await this.generateId(i)}catch(t){E("error while generating an id"),this.emit("connection_error",{req:i,code:q.errors.BAD_REQUEST,message:q.errorMessages[q.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:t}}),o(q.errors.BAD_REQUEST);return}E('handshaking client "%s"',e);try{var c=this.createTransport(n,i);if(n==="polling")c.maxHttpBufferSize=this.opts.maxHttpBufferSize,c.httpCompression=this.opts.httpCompression;else if(n==="websocket")c.perMessageDeflate=this.opts.perMessageDeflate}catch(t){E('error handshaking to transport "%s"',n),this.emit("connection_error",{req:i,code:q.errors.BAD_REQUEST,message:q.errorMessages[q.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:t}}),o(q.errors.BAD_REQUEST);return}const l=new rs.Socket(e,this,c,i,a);return c.on("headers",(t,s)=>{if(!s._query.sid){if(this.opts.cookie)t["Set-Cookie"]=[Hx.serialize(this.opts.cookie.name,e,this.opts.cookie)];this.emit("initial_headers",t,s)}this.emit("headers",t,s)}),c.onRequest(i),this.clients[e]=l,this.clientsCount++,l.once("close",()=>{delete this.clients[e],this.clientsCount--}),this.emit("connection",l),c}async onWebTransportSession(n){const i=setTimeout(()=>{E("the client failed to establish a bidirectional stream in the given period"),n.close()},this.opts.upgradeTimeout),a=await n.incomingBidirectionalStreams.getReader().read();if(a.done){E("session is closed");return}const e=a.value,c=Cx.createPacketDecoderStream(this.opts.maxHttpBufferSize,"nodebuffer"),l=e.readable.pipeThrough(c).getReader(),{value:t,done:s}=await l.read();if(s){E("stream is closed");return}if(clearTimeout(i),t.type!=="open")return E("invalid WebTransport handshake"),n.close();if(t.data===void 0){const r=new us.WebTransport(n,e,l),S=ms.generateId();E('handshaking client "%s" (WebTransport)',S);const K=new rs.Socket(S,this,r,null,4);this.clients[S]=K,this.clientsCount++,K.once("close",()=>{delete this.clients[S],this.clientsCount--}),this.emit("connection",K);return}const p=Vx(t.data);if(!p)return E("invalid WebTransport handshake"),n.close();const m=this.clients[p];if(!m)E("upgrade attempt for closed client"),n.close();else if(m.upgrading)E("transport has already been trying to upgrade"),n.close();else if(m.upgraded)E("transport had already been upgraded"),n.close();else{E("upgrading existing transport");const r=new us.WebTransport(n,e,l);m._maybeUpgrade(r)}}}bs.BaseServer=Ho;Ho.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};Ho.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class vs{constructor(n,i){this.req=n,this.socket=i,n[qi]={}}setHeader(n,i){this.req[qi][n]=i}getHeader(n){return this.req[qi][n]}removeHeader(n){delete this.req[qi][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class q extends Ho{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[qi]||{};if(delete i[qi],!i._query.sid)this.emit("initial_headers",o,i);this.emit("headers",o,i),E("writing headers: %j",o),Object.keys(o).forEach((e)=>{n.push(`${e}: ${o[e]}`)})})}cleanup(){if(this.ws)E("closing webSocketServer"),this.ws.close()}prepare(n){if(!n._query)n._query=~n.url.indexOf("?")?Xx.parse(Yx.parse(n.url).query):{}}createTransport(n,i){return new Wa.default[n](i)}handleRequest(n,i){E('handling "%s" http request "%s"',n.method,n.url),this.prepare(n),n.res=i;const o=(a,e)=>{if(a!==void 0){this.emit("connection_error",{req:n,code:a,message:q.errorMessages[a],context:e}),xs(i,a,e);return}if(n._query.sid)E("setting new request for existing client"),this.clients[n._query.sid].transport.onRequest(n);else{const c=(l,t)=>xs(i,l,t);this.handshake(n._query.transport,n,c)}};this._applyMiddlewares(n,i,(a)=>{if(a)o(q.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);const a=new vs(n,i),e=(c,l)=>{if(c!==void 0){this.emit("connection_error",{req:n,code:c,message:q.errorMessages[c],context:l}),fs(i,c,l);return}const t=Buffer.from(o);o=null,a.writeHead(),this.ws.handleUpgrade(n,i,t,(s)=>{this.onWebSocket(n,i,s)})};this._applyMiddlewares(n,a,(c)=>{if(c)e(q.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,e)})}onWebSocket(n,i,o){if(o.on("error",e),Wa.default[n._query.transport]!==void 0&&!Wa.default[n._query.transport].prototype.handlesUpgrades){E("transport doesnt handle upgraded requests"),o.close();return}const a=n._query.sid;if(n.websocket=o,a){const c=this.clients[a];if(!c)E("upgrade attempt for closed client"),o.close();else if(c.upgrading)E("transport has already been trying to upgrade"),o.close();else if(c.upgraded)E("transport had already been upgraded"),o.close();else{E("upgrading existing transport"),o.removeListener("error",e);const l=this.createTransport(n._query.transport,n);l.perMessageDeflate=this.opts.perMessageDeflate,c._maybeUpgrade(l)}}else{const c=(l,t)=>fs(i,l,t);this.handshake(n._query.transport,n,c)}function e(){E("websocket error before upgrade")}}attach(n,i={}){const o=this._computePath(i),a=i.destroyUpgradeTimeout||1000;function e(l){return o===l.url.slice(0,o.length)}const c=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",(l,t)=>{if(e(l))E('intercepting request for path "%s"',o),this.handleRequest(l,t);else{let s=0;const p=c.length;for(;s<p;s++)c[s].call(n,l,t)}}),~this.opts.transports.indexOf("websocket"))n.on("upgrade",(l,t,s)=>{if(e(l))this.handleUpgrade(l,t,s);else if(i.destroyUpgrade!==!1)setTimeout(function(){if(t.writable&&t.bytesWritten<=0)return t.on("error",(p)=>{E("error while destroying upgrade: %s",p.message)}),t.end()},a)})}}bs.Server=q;var Qo=[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 Fs=$((ws)=>{Object.defineProperty(ws,"__esModule",{value:!0});ws.Polling=void 0;var kx=$i(),ys=import.meta.require("zlib"),Lx=ba(),Nx=rn(),gn=Nx.default("engine:polling"),Ix={gzip:ys.createGzip,deflate:ys.createDeflate};class Ts extends kx.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){gn("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}gn("setting request"),this.req=n,this.res=i;const o=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},a=()=>{this.req=this.res=null};if(n.cleanup=a,i.onAborted(o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)gn("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 e,c=0;const l={"Content-Type":"text/html"};this.headers(n,l);for(let s in l)i.writeHeader(s,String(l[s]));const t=(s)=>{this.onData(s.toString()),this.onDataRequestCleanup(),i.cork(()=>{i.end("ok")})};i.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),i.onData((s,p)=>{const m=c+s.byteLength;if(m>o){this.onError("content-length mismatch"),i.close();return}if(!e){if(p){t(Buffer.from(s));return}e=Buffer.allocUnsafe(o)}if(Buffer.from(s).copy(e,c),p){if(m!=o){this.onError("content-length mismatch"),i.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}t(e);return}c=m})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(n){gn('received "%s"',n);const i=(o)=>{if(o.type==="close")return gn("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)gn("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const a=n.some((e)=>{return e.options&&e.options.compress});this.write(o,{compress:a})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){gn('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const a=typeof n==="string",c={"Content-Type":a?"text/plain; charset=UTF-8":"application/octet-stream"},l=(p)=>{this.headers(this.req,c),this.res.cork(()=>{Object.keys(c).forEach((m)=>{this.res.writeHeader(m,String(c[m]))}),this.res.end(p)}),o()};if(!this.httpCompression||!i.compress){l(n);return}if((a?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){l(n);return}const s=Lx(this.req).encodings(["gzip","deflate"]);if(!s){l(n);return}this.compress(n,s,(p,m)=>{if(p){this.res.writeStatus("500 Internal Server Error"),this.res.end(),o(p);return}c["Content-Encoding"]=s,l(m)})}compress(n,i,o){gn("compressing");const a=[];let e=0;Ix[i](this.httpCompression).on("error",o).on("data",function(c){a.push(c),e+=c.length}).on("end",function(){o(null,Buffer.concat(a,e))}).end(n)}doClose(n){gn("closing");let i;const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)gn("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)gn("transport discarded - closing right away"),o();else gn("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}}ws.Polling=Ts});var $s=$((As)=>{Object.defineProperty(As,"__esModule",{value:!0});As.WebSocket=void 0;var Dx=$i(),_x=rn(),Ms=_x.default("engine:ws");class Rs extends Dx.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],a=i+1===n.length,e=(c)=>{const l=typeof c!=="string",t=this.perMessageDeflate&&Buffer.byteLength(c)>this.perMessageDeflate.threshold;if(Ms('writing "%s"',c),this.socket.send(c,l,t),a)this.emit("drain"),this.writable=!0,this.emit("ready")};if(o.options&&typeof o.options.wsPreEncoded==="string")e(o.options.wsPreEncoded);else this.parser.encodePacket(o,this.supportsBinary,e)}}doClose(n){Ms("closing"),n&&n(),this.socket.end()}}As.WebSocket=Rs});var js=$((Ks)=>{Object.defineProperty(Ks,"__esModule",{value:!0});var qx=Fs(),Px=$s();Ks.default={polling:qx.Polling,websocket:Px.WebSocket}});var hs=$((gs)=>{Object.defineProperty(gs,"__esModule",{value:!0});gs.uServer=void 0;var nf=rn(),Ki=Le(),of=js(),fi=nf.default("engine:uws");class Ws extends Ki.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((a,e)=>{n.headers[a]=e}),n.connection={remoteAddress:Buffer.from(i.getRemoteAddressAsText()).toString()},i.onAborted(()=>{fi("response has been aborted")})}createTransport(n,i){return new of.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:(a)=>{const e=a.getUserData().transport;e.socket=a,e.writable=!0,e.emit("ready")},message:(a,e,c)=>{a.getUserData().transport.onData(c?e:Buffer.from(e).toString())},close:(a,e,c)=>{a.getUserData().transport.onClose(e,c)}})}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return o();n.res=new zs(i),super._applyMiddlewares(n,n.res,(a)=>{n.res.writeHead(),o(a)})}handleRequest(n,i){fi('handling "%s" http request "%s"',i.getMethod(),i.getUrl()),this.prepare(i,n),i.res=n;const o=(a,e)=>{if(a!==void 0){this.emit("connection_error",{req:i,code:a,message:Ki.Server.errorMessages[a],context:e}),this.abortRequest(i.res,a,e);return}if(i._query.sid)fi("setting new request for existing client"),this.clients[i._query.sid].transport.onRequest(i);else{const c=(l,t)=>this.abortRequest(n,l,t);this.handshake(i._query.transport,i,c)}};this._applyMiddlewares(i,n,(a)=>{if(a)o(Ki.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){fi("on upgrade"),this.prepare(i,n),i.res=n;const a=async(e,c)=>{if(e!==void 0){this.emit("connection_error",{req:i,code:e,message:Ki.Server.errorMessages[e],context:c}),this.abortRequest(n,e,c);return}const l=i._query.sid;let t;if(l){const s=this.clients[l];if(!s)return fi("upgrade attempt for closed client"),n.close();else if(s.upgrading)return fi("transport has already been trying to upgrade"),n.close();else if(s.upgraded)return fi("transport had already been upgraded"),n.close();else fi("upgrading existing transport"),t=this.createTransport(i._query.transport,i),s._maybeUpgrade(t)}else if(t=await this.handshake(i._query.transport,i,(s,p)=>this.abortRequest(n,s,p)),!t)return;i.res.writeStatus("101 Switching Protocols"),n.upgrade({transport:t},i.getHeader("sec-websocket-key"),i.getHeader("sec-websocket-protocol"),i.getHeader("sec-websocket-extensions"),o)};this._applyMiddlewares(i,n,(e)=>{if(e)a(Ki.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,a)})}abortRequest(n,i,o){const a=i===Ki.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",e=o&&o.message?o.message:Ki.Server.errorMessages[i];n.writeStatus(a),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:e}))}}gs.uServer=Ws;class zs{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 Hs=$((Pi)=>{function sf(n,i,o){if(typeof i==="function")o=i,i={};const a=af.createServer(function(c,l){l.writeHead(501),l.end("Not Implemented")}),e=Gs(a,i);return e.httpServer=a,a.listen(n,o),e}function Gs(n,i){const o=new Xs.Server(i);return o.attach(n,i),o}Object.defineProperty(Pi,"__esModule",{value:!0});Pi.protocol=Pi.Transport=Pi.Socket=Pi.uServer=Pi.parser=Pi.transports=Pi.Server=void 0;Pi.listen=sf;Pi.attach=Gs;var af=import.meta.require("http"),Xs=Le();Object.defineProperty(Pi,"Server",{enumerable:!0,get:function(){return Xs.Server}});var ef=Ve();Pi.transports=ef.default;var Ys=Go();Pi.parser=Ys;var cf=hs();Object.defineProperty(Pi,"uServer",{enumerable:!0,get:function(){return cf.uServer}});var lf=Ee();Object.defineProperty(Pi,"Socket",{enumerable:!0,get:function(){return lf.Socket}});var tf=$i();Object.defineProperty(Pi,"Transport",{enumerable:!0,get:function(){return tf.Transport}});Pi.protocol=Ys.protocol});var Bs=$((ff)=>{function yn(n){if(n)return xf(n)}function xf(n){for(var i in yn.prototype)n[i]=yn.prototype[i];return n}ff.Emitter=yn;yn.prototype.on=yn.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};yn.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};yn.prototype.off=yn.prototype.removeListener=yn.prototype.removeAllListeners=yn.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 a;for(var e=0;e<o.length;e++)if(a=o[e],a===i||a.fn===i){o.splice(e,1);break}if(o.length===0)delete this._callbacks["$"+n];return this};yn.prototype.emit=function(n){this._callbacks=this._callbacks||{};var i=new Array(arguments.length-1),o=this._callbacks["$"+n];for(var a=1;a<arguments.length;a++)i[a-1]=arguments[a];if(o){o=o.slice(0);for(var a=0,e=o.length;a<e;++a)o[a].apply(this,i)}return this};yn.prototype.emitReserved=yn.prototype.emit;yn.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};yn.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var Ne=$((Es)=>{function Vs(n){return bf&&(n instanceof ArrayBuffer||Sf(n))||yf&&n instanceof Blob||Tf&&n instanceof File}function za(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,a=n.length;o<a;o++)if(za(n[o]))return!0;return!1}if(Vs(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return za(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&za(n[o]))return!0;return!1}Object.defineProperty(Es,"__esModule",{value:!0});Es.hasBinary=Es.isBinary=void 0;var bf=typeof ArrayBuffer==="function",Sf=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},Cs=Object.prototype.toString,yf=typeof Blob==="function"||typeof Blob!=="undefined"&&Cs.call(Blob)==="[object BlobConstructor]",Tf=typeof File==="function"||typeof File!=="undefined"&&Cs.call(File)==="[object FileConstructor]";Es.isBinary=Vs;Es.hasBinary=za});var Ns=$((ks)=>{function Ff(n){const i=[],o=n.data,a=n;return a.data=Ie(o,i),a.attachments=i.length,{packet:a,buffers:i}}function Ie(n,i){if(!n)return n;if(df.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 a=0;a<n.length;a++)o[a]=Ie(n[a],i);return o}else if(typeof n==="object"&&!(n instanceof Date)){const o={};for(let a in n)if(Object.prototype.hasOwnProperty.call(n,a))o[a]=Ie(n[a],i);return o}return n}function Mf(n,i){return n.data=De(n.data,i),delete n.attachments,n}function De(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]=De(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=De(n[o],i)}return n}Object.defineProperty(ks,"__esModule",{value:!0});ks.reconstructPacket=ks.deconstructPacket=void 0;var df=Ne();ks.deconstructPacket=Ff;ks.reconstructPacket=Mf});var Bo=$((np)=>{function Is(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty(np,"__esModule",{value:!0});np.Decoder=np.Encoder=np.PacketType=np.protocol=void 0;var Af=Bs(),_s=Ns(),qs=Ne(),Jf=rn(),_e=Jf.default("socket.io-parser"),$f=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];np.protocol=5;var an;(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"})(an=np.PacketType||(np.PacketType={}));class Ps{constructor(n){this.replacer=n}encode(n){if(_e("encoding packet %j",n),n.type===an.EVENT||n.type===an.ACK){if(qs.hasBinary(n))return this.encodeAsBinary({type:n.type===an.EVENT?an.BINARY_EVENT:an.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===an.BINARY_EVENT||n.type===an.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 _e("encoded %j as %s",n,i),i}encodeAsBinary(n){const i=_s.deconstructPacket(n),o=this.encodeAsString(i.packet),a=i.buffers;return a.unshift(o),a}}np.Encoder=Ps;class qe extends Af.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===an.BINARY_EVENT;if(o||i.type===an.BINARY_ACK){if(i.type=o?an.EVENT:an.ACK,this.reconstructor=new Zs(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(qs.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(an[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===an.BINARY_EVENT||o.type===an.BINARY_ACK){const e=i+1;while(n.charAt(++i)!=="-"&&i!=n.length);const c=n.substring(e,i);if(c!=Number(c)||n.charAt(i)!=="-")throw new Error("Illegal attachments");o.attachments=Number(c)}if(n.charAt(i+1)==="/"){const e=i+1;while(++i){if(n.charAt(i)===",")break;if(i===n.length)break}o.nsp=n.substring(e,i)}else o.nsp="/";const a=n.charAt(i+1);if(a!==""&&Number(a)==a){const e=i+1;while(++i){const c=n.charAt(i);if(c==null||Number(c)!=c){--i;break}if(i===n.length)break}o.id=Number(n.substring(e,i+1))}if(n.charAt(++i)){const e=this.tryParse(n.substr(i));if(qe.isPayloadValid(o.type,e))o.data=e;else throw new Error("invalid payload")}return _e("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 an.CONNECT:return Is(i);case an.DISCONNECT:return i===void 0;case an.CONNECT_ERROR:return typeof i==="string"||Is(i);case an.EVENT:case an.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&$f.indexOf(i[0])===-1);case an.ACK:case an.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}np.Decoder=qe;class Zs{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=_s.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var cp=$((ap)=>{Object.defineProperty(ap,"__esModule",{value:!0});ap.Client=void 0;var ga=Bo(),Wf=rn(),zf=import.meta.require("url"),Bn=Wf("socket.io:client");class op{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)Bn("no namespace joined yet, close the client"),this.close();else Bn("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return Bn("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else Bn("creation of namespace %s was denied",n),this._packet({type:ga.PacketType.CONNECT_ERROR,nsp:n,data:{message:"Invalid namespace"}})})}doConnect(n,i){const o=this.server.of(n);o._add(this,i,(a)=>{if(this.sockets.set(a.id,a),this.nsps.set(o.name,a),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 Bn("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")Bn("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){Bn("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){Bn("volatile packet is discarded since the transport is not currently writable");return}const o=Array.isArray(n)?n:[n];for(let a of o)this.conn.write(a,i)}ondata(n){try{this.decoder.add(n)}catch(i){Bn("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){const e=zf.parse(n.nsp,!0);i=e.pathname,o=e.query}else i=n.nsp,o=n.data;const a=this.nsps.get(i);if(!a&&n.type===ga.PacketType.CONNECT)this.connect(i,o);else if(a&&n.type!==ga.PacketType.CONNECT&&n.type!==ga.PacketType.CONNECT_ERROR)process.nextTick(function(){a._onpacket(n)});else Bn("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){Bn("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}}ap.Client=op});var Oa=$((tp)=>{Object.defineProperty(tp,"__esModule",{value:!0});tp.StrictEventEmitter=void 0;var gf=import.meta.require("events");class lp extends gf.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)}}tp.StrictEventEmitter=lp});var Pe=$((pp)=>{Object.defineProperty(pp,"__esModule",{value:!0});pp.RESERVED_EVENTS=void 0;pp.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var nc=$((rp)=>{Object.defineProperty(rp,"__esModule",{value:!0});rp.RemoteSocket=rp.BroadcastOperator=void 0;var Of=Pe(),hf=Bo();class ni{constructor(n,i=new Set,o=new Set,a={}){this.adapter=n,this.rooms=i,this.exceptRooms=o,this.flags=a}to(n){const i=new Set(this.rooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new ni(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 ni(this.adapter,this.rooms,i,this.flags)}compress(n){const i=Object.assign({},this.flags,{compress:n});return new ni(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){const n=Object.assign({},this.flags,{volatile:!0});return new ni(this.adapter,this.rooms,this.exceptRooms,n)}get local(){const n=Object.assign({},this.flags,{local:!0});return new ni(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){const i=Object.assign({},this.flags,{timeout:n});return new ni(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(Of.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],a={type:hf.PacketType.EVENT,data:o};if(typeof o[o.length-1]!=="function")return this.adapter.broadcast(a,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;const c=o.pop();let l=!1,t=[];const s=setTimeout(()=>{l=!0,c.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:t])},this.flags.timeout);let p=-1,m=0,r=0;const S=()=>{if(!l&&p===m&&t.length===r)clearTimeout(s),c.apply(this,[null,this.flags.expectSingleResponse?t[0]:t])};return this.adapter.broadcastWithAck(a,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(K)=>{r+=K,m++,S()},(K)=>{t.push(K),S()}),this.adapter.serverCount().then((K)=>{p=K,S()}),!0}emitWithAck(n,...i){return new Promise((o,a)=>{i.push((e,c)=>{if(e)return e.responses=c,a(e);else return o(c)}),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 Ze(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)}}rp.BroadcastOperator=ni;class Ze{constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new ni(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}}rp.RemoteSocket=Ze});var ic=$((Zi)=>{function fp(){}var vp=Zi&&Zi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Zi,"__esModule",{value:!0});Zi.Socket=void 0;var On=Bo(),Yf=vp(rn()),Gf=Oa(),xp=vp($e()),Qf=nc(),Hf=Pe(),fn=Yf.default("socket.io:socket"),Bf=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);class bp extends Gf.StrictEventEmitter{constructor(n,i,o,a){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,a)this.id=a.sid,this.pid=a.pid,a.rooms.forEach((e)=>this.join(e)),this.data=a.data,a.missedPackets.forEach((e)=>{this.packet({type:On.PacketType.EVENT,data:e})}),this.recovered=!0;else{if(i.conn.protocol===3)this.id=n.name!=="/"?n.name+"#"+i.id:i.id;else this.id=xp.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=xp.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",fp)}buildHandshake(n){var i,o,a,e;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:(a=this.request)===null||a===void 0?void 0:a.url,query:((e=this.request)===null||e===void 0?void 0:e._query)||{},auth:n}}emit(n,...i){if(Hf.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],a={type:On.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){const c=this.nsp._ids++;fn("emitting packet with ack id %d",c),this.registerAckCallback(c,o.pop()),a.id=c}const e=Object.assign({},this.flags);if(this.flags={},this.nsp.server.opts.connectionStateRecovery)this.adapter.broadcast(a,{rooms:new Set([this.id]),except:new Set,flags:e});else this.notifyOutgoingListeners(a),this.packet(a,e);return!0}emitWithAck(n,...i){const o=this.flags.timeout!==void 0;return new Promise((a,e)=>{i.push((c,l)=>{if(o)return c?e(c):a(l);else return a(c)}),this.emit(n,...i)})}registerAckCallback(n,i){const o=this.flags.timeout;if(o===void 0){this.acks.set(n,i);return}const a=setTimeout(()=>{fn("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,(...e)=>{clearTimeout(a),i.apply(this,[null,...e])})}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 fn("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return fn("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(fn("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:On.PacketType.CONNECT});else this.packet({type:On.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(fn("got packet %j",n),n.type){case On.PacketType.EVENT:this.onevent(n);break;case On.PacketType.BINARY_EVENT:this.onevent(n);break;case On.PacketType.ACK:this.onack(n);break;case On.PacketType.BINARY_ACK:this.onack(n);break;case On.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){const i=n.data||[];if(fn("emitting event %j",i),n.id!=null)fn("attaching ack callback to event"),i.push(this.ack(n.id));if(this._anyListeners&&this._anyListeners.length){const o=this._anyListeners.slice();for(let a of o)a.apply(this,i)}this.dispatch(i)}ack(n){const i=this;let o=!1;return function(){if(o)return;const a=Array.prototype.slice.call(arguments);fn("sending ack %j",a),i.packet({id:n,type:On.PacketType.ACK,data:a}),o=!0}}onack(n){const i=this.acks.get(n.id);if(typeof i=="function")fn("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else fn("bad ack %s",n.id)}ondisconnect(){fn("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(fn("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&Bf.has(n))fn("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=fp}_error(n){this.packet({type:On.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:On.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){fn("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 fn("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 a(e){o[e](n,(c)=>{if(c)return i(c);if(!o[e+1])return i();a(e+1)})}a(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 Qf.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}Zi.Socket=bp});var oc=$((ii)=>{var Cf=ii&&ii.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(ii,"__esModule",{value:!0});ii.Namespace=ii.RESERVED_EVENTS=void 0;var Sp=ic(),Vf=Oa(),Ef=Cf(rn()),$n=nc(),Co=Ef.default("socket.io:namespace");ii.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class yp extends Vf.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 a(e){o[e](n,(c)=>{if(c)return i(c);if(!o[e+1])return i();a(e+1)})}a(0)}to(n){return new $n.BroadcastOperator(this.adapter).to(n)}in(n){return new $n.BroadcastOperator(this.adapter).in(n)}except(n){return new $n.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var a;Co("adding socket to nsp %s",this.name);const e=await this._createSocket(n,i);if(this._preConnectSockets.set(e.id,e),((a=this.server.opts.connectionStateRecovery)===null||a===void 0?void 0:a.skipMiddlewares)&&e.recovered&&n.conn.readyState==="open")return this._doConnect(e,o);this.run(e,(c)=>{process.nextTick(()=>{if(n.conn.readyState!=="open"){Co("next called after client was closed - ignoring socket"),e._cleanup();return}if(c)if(Co("middleware error, sending CONNECT_ERROR packet to the client"),e._cleanup(),n.conn.protocol===3)return e._error(c.data||c.message);else return e._error({message:c.message,data:c.data});this._doConnect(e,o)})})}async _createSocket(n,i){const{pid:o,offset:a}=i;if(this.server.opts.connectionStateRecovery&&typeof o==="string"&&typeof a==="string"){let e;try{e=await this.adapter.restoreSession(o,a)}catch(c){Co("error while restoring session: %s",c)}if(e)return Co("connection state recovered for sid %s",e.sid),new Sp.Socket(this,n,i,e)}return new Sp.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 $n.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(ii.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,a)=>{i.push((e,c)=>{if(e)return e.responses=c,a(e);else return o(c)}),this.serverSideEmit(n,...i)})}_onServerSideEmit(n){super.emitUntyped.apply(this,n)}allSockets(){return new $n.BroadcastOperator(this.adapter).allSockets()}compress(n){return new $n.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new $n.BroadcastOperator(this.adapter).volatile}get local(){return new $n.BroadcastOperator(this.adapter).local}timeout(n){return new $n.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new $n.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new $n.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new $n.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new $n.BroadcastOperator(this.adapter).disconnectSockets(n)}}ii.Namespace=yp});var Ap=$((Mp)=>{function ac(n){let i="";do i=dp[n%ha]+i,n=Math.floor(n/ha);while(n>0);return i}function Uf(n){let i=0;for(vi=0;vi<n.length;vi++)i=i*ha+Fp[n.charAt(vi)];return i}function kf(){const n=ac(+new Date);if(n!==wp)return Tp=0,wp=n;return n+"."+ac(Tp++)}Object.defineProperty(Mp,"__esModule",{value:!0});Mp.yeast=Mp.decode=Mp.encode=void 0;var dp="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),ha=64,Fp={},Tp=0,vi=0,wp;Mp.encode=ac;Mp.decode=Uf;Mp.yeast=kf;for(;vi<ha;vi++)Fp[dp[vi]]=vi});var lc=$(($p)=>{function qf(n,i){const o=i.rooms.size===0||n.some((e)=>i.rooms.has(e)),a=n.every((e)=>!i.except.has(e));return o&&a}var ec;Object.defineProperty($p,"__esModule",{value:!0});$p.SessionAwareAdapter=$p.Adapter=void 0;var If=import.meta.require("events"),Df=Ap(),Xa=import.meta.require("ws"),_f=typeof((ec=Xa===null||Xa===void 0?void 0:Xa.Sender)===null||ec===void 0?void 0:ec.frame)==="function";class cc extends If.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||{},a={preEncoded:!0,volatile:o.volatile,compress:o.compress};n.nsp=this.nsp.name;const e=this._encode(n,a);this.apply(i,(c)=>{if(typeof c.notifyOutgoingListeners==="function")c.notifyOutgoingListeners(n);c.client.writeToEngine(e,a)})}broadcastWithAck(n,i,o,a){const e=i.flags||{},c={preEncoded:!0,volatile:e.volatile,compress:e.compress};n.nsp=this.nsp.name,n.id=this.nsp._ids++;const l=this._encode(n,c);let t=0;this.apply(i,(s)=>{if(t++,s.acks.set(n.id,a),typeof s.notifyOutgoingListeners==="function")s.notifyOutgoingListeners(n);s.client.writeToEngine(l,c)}),o(t)}_encode(n,i){const o=this.encoder.encode(n);if(_f&&o.length===1&&typeof o[0]==="string"){const a=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=Xa.Sender.frame(a,{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((a)=>o.leave(a))})}disconnectSockets(n,i){this.apply(n,(o)=>{o.disconnect(i)})}apply(n,i){const o=n.rooms,a=this.computeExceptSids(n.except);if(o.size){const e=new Set;for(let c of o){if(!this.rooms.has(c))continue;for(let l of this.rooms.get(c)){if(e.has(l)||a.has(l))continue;const t=this.nsp.sockets.get(l);if(t)i(t),e.add(l)}}}else for(let[e]of this.sids){if(a.has(e))continue;const c=this.nsp.sockets.get(e);if(c)i(c)}}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((a)=>i.add(a))}return i}serverSideEmit(n){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(n){}restoreSession(n,i){return null}}$p.Adapter=cc;class Jp extends cc{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((a,e)=>{if(a.disconnectedAt<o)this.sessions.delete(e)});for(let a=this.packets.length-1;a>=0;a--)if(this.packets[a].emittedAt<o){this.packets.splice(0,a+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 e=this.packets.findIndex((l)=>l.id===i);if(e===-1)return null;const c=[];for(let l=e+1;l<this.packets.length;l++){const t=this.packets[l];if(qf(o.rooms,t.opts))c.push(t.data)}return Promise.resolve(Object.assign(Object.assign({},o),{missedPackets:c}))}broadcast(n,i){var o;const a=n.type===2,e=n.id===void 0,c=((o=i.flags)===null||o===void 0?void 0:o.volatile)===void 0;if(a&&e&&c){const l=Df.yeast();n.data.push(l),this.packets.push({id:l,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}$p.SessionAwareAdapter=Jp});var Wp=$((Cn)=>{function io(){return ov.randomBytes(8).toString("hex")}function ji(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function no(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}var Zf=Cn&&Cn.__rest||function(n,i){var o={};for(var a in n)if(Object.prototype.hasOwnProperty.call(n,a)&&i.indexOf(a)<0)o[a]=n[a];if(n!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var e=0,a=Object.getOwnPropertySymbols(n);e<a.length;e++)if(i.indexOf(a[e])<0&&Object.prototype.propertyIsEnumerable.call(n,a[e]))o[a[e]]=n[a[e]]}return o};Object.defineProperty(Cn,"__esModule",{value:!0});Cn.ClusterAdapterWithHeartbeat=Cn.ClusterAdapter=Cn.MessageType=void 0;var nv=lc(),iv=rn(),ov=import.meta.require("crypto"),tn=iv.debug("socket.io-adapter"),av="emitter",Ya=5000,Q;(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"})(Q=Cn.MessageType||(Cn.MessageType={}));class tc extends nv.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=io()}onMessage(n,i){if(n.uid===this.uid)return tn("[%s] ignore message from self",this.uid);switch(tn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case Q.BROADCAST:{if(n.data.requestId!==void 0)super.broadcastWithAck(n.data.packet,no(n.data.opts),(a)=>{tn("[%s] waiting for %d client acknowledgements",this.uid,a),this.publishResponse(n.uid,{type:Q.BROADCAST_CLIENT_COUNT,data:{requestId:n.data.requestId,clientCount:a}})},(a)=>{tn("[%s] received acknowledgement with value %j",this.uid,a),this.publishResponse(n.uid,{type:Q.BROADCAST_ACK,data:{requestId:n.data.requestId,packet:a}})});else{const a=n.data.packet,e=no(n.data.opts);this.addOffsetIfNecessary(a,e,i),super.broadcast(a,e)}break}case Q.SOCKETS_JOIN:super.addSockets(no(n.data.opts),n.data.rooms);break;case Q.SOCKETS_LEAVE:super.delSockets(no(n.data.opts),n.data.rooms);break;case Q.DISCONNECT_SOCKETS:super.disconnectSockets(no(n.data.opts),n.data.close);break;case Q.FETCH_SOCKETS:{tn("[%s] calling fetchSockets with opts %j",this.uid,n.data.opts),super.fetchSockets(no(n.data.opts)).then((o)=>{this.publishResponse(n.uid,{type:Q.FETCH_SOCKETS_RESPONSE,data:{requestId:n.data.requestId,sockets:o.map((a)=>{const e=a.handshake,{sessionStore:c}=e,l=Zf(e,["sessionStore"]);return{id:a.id,handshake:l,rooms:[...a.rooms],data:a.data}})}})});break}case Q.SERVER_SIDE_EMIT:{const o=n.data.packet;if(n.data.requestId===void 0){this.nsp._onServerSideEmit(o);return}let e=!1;const c=(l)=>{if(e)return;e=!0,tn("[%s] calling acknowledgement with %j",this.uid,l),this.publishResponse(n.uid,{type:Q.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:n.data.requestId,packet:l}})};this.nsp._onServerSideEmit([...o,c]);break}case Q.BROADCAST_CLIENT_COUNT:case Q.BROADCAST_ACK:case Q.FETCH_SOCKETS_RESPONSE:case Q.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(n);break;default:tn("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;const a=n.data.requestId;switch(tn("[%s] received response %s to request %s",this.uid,n.type,a),n.type){case Q.BROADCAST_CLIENT_COUNT:{(i=this.ackRequests.get(a))===null||i===void 0||i.clientCountCallback(n.data.clientCount);break}case Q.BROADCAST_ACK:{(o=this.ackRequests.get(a))===null||o===void 0||o.ack(n.data.packet);break}case Q.FETCH_SOCKETS_RESPONSE:{const e=this.requests.get(a);if(!e)return;if(e.current++,n.data.sockets.forEach((c)=>e.responses.push(c)),e.current===e.expected)clearTimeout(e.timeout),e.resolve(e.responses),this.requests.delete(a);break}case Q.SERVER_SIDE_EMIT_RESPONSE:{const e=this.requests.get(a);if(!e)return;if(e.current++,e.responses.push(n.data.packet),e.current===e.expected)clearTimeout(e.timeout),e.resolve(null,e.responses),this.requests.delete(a);break}default:tn("[%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 e=await this.publishAndReturnOffset({type:Q.BROADCAST,data:{packet:n,opts:ji(i)}});this.addOffsetIfNecessary(n,i,e)}catch(e){return tn("[%s] error while broadcasting message: %s",this.uid,e.message)}super.broadcast(n,i)}addOffsetIfNecessary(n,i,o){var a;if(!this.nsp.server.opts.connectionStateRecovery)return;const e=n.type===2,c=n.id===void 0,l=((a=i.flags)===null||a===void 0?void 0:a.volatile)===void 0;if(e&&c&&l)n.data.push(o)}broadcastWithAck(n,i,o,a){var e;if(!((e=i===null||i===void 0?void 0:i.flags)===null||e===void 0?void 0:e.local)){const l=io();this.ackRequests.set(l,{clientCountCallback:o,ack:a}),this.publish({type:Q.BROADCAST,data:{packet:n,requestId:l,opts:ji(i)}}),setTimeout(()=>{this.ackRequests.delete(l)},i.flags.timeout)}super.broadcastWithAck(n,i,o,a)}async addSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:Q.SOCKETS_JOIN,data:{opts:ji(n),rooms:i}})}catch(e){tn("[%s] error while publishing message: %s",this.uid,e.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:Q.SOCKETS_LEAVE,data:{opts:ji(n),rooms:i}})}catch(e){tn("[%s] error while publishing message: %s",this.uid,e.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:Q.DISCONNECT_SOCKETS,data:{opts:ji(n),close:i}})}catch(e){tn("[%s] error while publishing message: %s",this.uid,e.message)}super.disconnectSockets(n,i)}async fetchSockets(n){var i;const[o,a]=await Promise.all([super.fetchSockets(n),this.serverCount()]),e=a-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||e<=0)return o;const c=io();return new Promise((l,t)=>{const s=setTimeout(()=>{const m=this.requests.get(c);if(m)t(new Error(`timeout reached: only ${m.current} responses received out of ${m.expected}`)),this.requests.delete(c)},n.flags.timeout||Ya),p={type:Q.FETCH_SOCKETS,resolve:l,timeout:s,current:0,expected:e,responses:o};this.requests.set(c,p),this.publish({type:Q.FETCH_SOCKETS,data:{opts:ji(n),requestId:c}})})}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:Q.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),a=await this.serverCount()-1;if(tn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,a),a<=0)return o(null,[]);const e=io(),c=setTimeout(()=>{const t=this.requests.get(e);if(t)o(new Error(`timeout reached: only ${t.current} responses received out of ${t.expected}`),t.responses),this.requests.delete(e)},Ya),l={type:Q.SERVER_SIDE_EMIT,resolve:o,timeout:c,current:0,expected:a,responses:[]};this.requests.set(e,l),this.publish({type:Q.SERVER_SIDE_EMIT,data:{requestId:e,packet:n}})}publish(n){this.publishAndReturnOffset(n).catch((i)=>{tn("[%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)=>{tn("[%s] error while publishing response: %s",this.uid,o)})}}Cn.ClusterAdapter=tc;class jp extends tc{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((a,e)=>{if(o-a>this._opts.heartbeatTimeout)tn("[%s] node %s seems down",this.uid,e),this.removeNode(e)})},1000)}init(){this.publish({type:Q.INITIAL_HEARTBEAT})}scheduleHeartbeat(){if(this.heartbeatTimer)this.heartbeatTimer.refresh();else this.heartbeatTimer=setTimeout(()=>{this.publish({type:Q.HEARTBEAT})},this._opts.heartbeatInterval)}close(){if(this.publish({type:Q.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer)clearInterval(this.cleanupTimer)}onMessage(n,i){if(n.uid===this.uid)return tn("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==av)this.nodesMap.set(n.uid,Date.now());switch(tn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case Q.INITIAL_HEARTBEAT:this.publish({type:Q.HEARTBEAT});break;case Q.HEARTBEAT:break;case Q.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:Q.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),a=this.nodesMap.size;if(tn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,a),a<=0)return o(null,[]);const e=io(),c=setTimeout(()=>{const t=this.customRequests.get(e);if(t)o(new Error(`timeout reached: missing ${t.missingUids.size} responses`),t.responses),this.customRequests.delete(e)},Ya),l={type:Q.SERVER_SIDE_EMIT,resolve:o,timeout:c,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(e,l),this.publish({type:Q.SERVER_SIDE_EMIT,data:{requestId:e,packet:n}})}async fetchSockets(n){var i;const[o,a]=await Promise.all([super.fetchSockets({rooms:n.rooms,except:n.except,flags:{local:!0}}),this.serverCount()]),e=a-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||e<=0)return o;const c=io();return new Promise((l,t)=>{const s=setTimeout(()=>{const m=this.customRequests.get(c);if(m)t(new Error(`timeout reached: missing ${m.missingUids.size} responses`)),this.customRequests.delete(c)},n.flags.timeout||Ya),p={type:Q.FETCH_SOCKETS,resolve:l,timeout:s,missingUids:new Set([...this.nodesMap.keys()]),responses:o};this.customRequests.set(c,p),this.publish({type:Q.FETCH_SOCKETS,data:{opts:ji(n),requestId:c}})})}onResponse(n){const i=n.data.requestId;switch(tn("[%s] received response %s to request %s",this.uid,n.type,i),n.type){case Q.FETCH_SOCKETS_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(n.data.sockets.forEach((a)=>o.responses.push(a)),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(o.responses),this.customRequests.delete(i);break}case Q.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===Q.FETCH_SOCKETS)i.resolve(i.responses);else if(i.type===Q.SERVER_SIDE_EMIT)i.resolve(null,i.responses);this.customRequests.delete(o)}}),this.nodesMap.delete(n)}}Cn.ClusterAdapterWithHeartbeat=jp});var Ga=$((Wi)=>{Object.defineProperty(Wi,"__esModule",{value:!0});Wi.MessageType=Wi.ClusterAdapterWithHeartbeat=Wi.ClusterAdapter=Wi.SessionAwareAdapter=Wi.Adapter=void 0;var zp=lc();Object.defineProperty(Wi,"Adapter",{enumerable:!0,get:function(){return zp.Adapter}});Object.defineProperty(Wi,"SessionAwareAdapter",{enumerable:!0,get:function(){return zp.SessionAwareAdapter}});var sc=Wp();Object.defineProperty(Wi,"ClusterAdapter",{enumerable:!0,get:function(){return sc.ClusterAdapter}});Object.defineProperty(Wi,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return sc.ClusterAdapterWithHeartbeat}});Object.defineProperty(Wi,"MessageType",{enumerable:!0,get:function(){return sc.MessageType}})});var Xp=$((oo)=>{var cv=oo&&oo.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(oo,"__esModule",{value:!0});oo.ParentNamespace=void 0;var gp=oc(),lv=Ga(),tv=cv(rn()),Op=tv.default("socket.io:parent-namespace");class Qa extends gp.Namespace{constructor(n){super(n,"/_"+Qa.count++);this.children=new Set}_initAdapter(){this.adapter=new hp(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){Op("creating child namespace %s",n);const i=new gp.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=(a)=>{if(o.call(i,a),i.sockets.size===0)Op("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")}}oo.ParentNamespace=Qa;Qa.count=0;class hp extends lv.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var Cp=$((gi)=>{function mv(n){zi.Adapter.prototype.addAll=function(i,o){const a=!this.sids.has(i);Qp.call(this,i,o);const e=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(!e)return;if(e.conn.transport.name==="websocket"){Gp(this.nsp.name,e,a,o);return}if(a)e.conn.on("upgrade",()=>{const c=this.sids.get(i);if(c)Gp(this.nsp.name,e,a,c)})},zi.Adapter.prototype.del=function(i,o){Hp.call(this,i,o);const a=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(a&&a.conn.transport.name==="websocket"){const e=a.conn.id,c=a.conn.transport.socket,l=`${this.nsp.name}${pc}${o}`;Ha("unsubscribe connection %s from topic %s",e,l),c.unsubscribe(l)}},zi.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){Bp.call(this,i,o);return}const e=o.flags||{},c={preEncoded:!0,volatile:e.volatile,compress:e.compress};i.nsp=this.nsp.name;const l=this.encoder.encode(i),t=o.rooms.size===0?this.nsp.name:`${this.nsp.name}${pc}${o.rooms.keys().next().value}`;Ha("fast publish to %s",t),l.forEach((s)=>{const p=typeof s!=="string";n.publish(t,p?s:"4"+s,p)}),this.apply(o,(s)=>{if(s.conn.transport.name!=="websocket")s.client.writeToEngine(l,c)})}}function Gp(n,i,o,a){const e=i.conn.id,c=i.conn.transport.socket;if(o)Ha("subscribe connection %s to topic %s",e,n),c.subscribe(n);a.forEach((l)=>{const t=`${n}${pc}${l}`;Ha("subscribe connection %s to topic %s",e,t),c.subscribe(t)})}function rv(){zi.Adapter.prototype.addAll=Qp,zi.Adapter.prototype.del=Hp,zi.Adapter.prototype.broadcast=Bp}function xv(n,i){const{size:o}=Yp.statSync(i),a=Yp.createReadStream(i),e=()=>!a.destroyed&&a.destroy(),c=(t)=>{throw e(),t},l=(t)=>{const s=uv(t);n.cork(()=>{const p=n.getWriteOffset(),[m,r]=n.tryEnd(s,o);if(!r&&!m)a.pause(),n.onWritable((S)=>{const[K,y]=n.tryEnd(s.slice(S-p),o);if(!y&&K)a.resume();return K})})};n.onAborted(e),a.on("data",l).on("error",c).on("end",e)}var sv=gi&&gi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(gi,"__esModule",{value:!0});gi.patchAdapter=mv;gi.restoreAdapter=rv;gi.serveFile=xv;var zi=Ga(),Yp=import.meta.require("fs"),pv=sv(rn()),Ha=pv.default("socket.io:adapter-uws"),pc="\x1F",{addAll:Qp,del:Hp,broadcast:Bp}=zi.Adapter.prototype,uv=(n)=>{const{buffer:i,byteOffset:o,byteLength:a}=n;return i.slice(o,o+a)}});var Vp=$((rK,fv)=>{fv.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 qp=$((vn,Vo)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",vv=vn&&vn.__createBinding||(Object.create?function(n,i,o,a){if(a===void 0)a=o;var e=Object.getOwnPropertyDescriptor(i,o);if(!e||("get"in e?!i.__esModule:e.writable||e.configurable))e={enumerable:!0,get:function(){return i[o]}};Object.defineProperty(n,a,e)}:function(n,i,o,a){if(a===void 0)a=o;n[a]=i[o]}),bv=vn&&vn.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),Sv=vn&&vn.__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))vv(i,n,o)}return bv(i,n),i},Dp=vn&&vn.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(vn,"__esModule",{value:!0});vn.Namespace=vn.Socket=vn.Server=void 0;var yv=import.meta.require("http"),Tv=import.meta.require("fs"),mc=import.meta.require("zlib"),wv=ba(),Ba=import.meta.require("stream"),Ep=import.meta.require("path"),Up=Hs(),dv=cp(),kp=import.meta.require("events"),uc=oc();Object.defineProperty(vn,"Namespace",{enumerable:!0,get:function(){return uc.Namespace}});var Fv=Xp(),Lp=Ga(),Mv=Sv(Bo()),Rv=Dp(rn()),_p=ic();Object.defineProperty(vn,"Socket",{enumerable:!0,get:function(){return _p.Socket}});var Av=Oa(),rc=Cp(),Jv=Dp(ke()),Fn=Rv.default("socket.io:server"),Np=Vp().version,Ip=/\.map/;class ao extends Av.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||Mv,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||Lp.SessionAwareAdapter);else this.adapter(i.adapter||Lp.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=Jv.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 a=this.parentNsps.keys(),e=()=>{const c=a.next();if(c.done)return o(!1);c.value(n,i,(l,t)=>{if(l||!t)return e();if(this._nsps.has(n))return Fn("dynamic namespace %s already exists",n),o(this._nsps.get(n));const s=this.parentNsps.get(c.value).createChild(n);Fn("dynamic namespace %s was created",n),o(s)})};e()}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"){Fn("creating http server and binding to %d",n);const o=n;n=yv.createServer((a,e)=>{e.writeHead(404),e.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,Fn("creating uWebSockets.js-based engine with opts %j",i);const o=new Up.uServer(i);if(o.attach(n,i),this.bind(o),this._serveClient)n.get(`${this._path}/*`,(a,e)=>{if(!this.clientPathRegex.test(e.getUrl())){e.setYield(!0);return}const c=e.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),l=Ip.test(c),t=l?"map":"source",s='"'+Np+'"',p="W/"+s,m=e.getHeader("if-none-match");if(m){if(s===m||p===m){Fn("serve client %s 304",t),a.writeStatus("304 Not Modified"),a.end();return}}Fn("serve client %s",t),a.writeHeader("cache-control","public, max-age=0"),a.writeHeader("content-type","application/"+(l?"json":"javascript")+"; charset=utf-8"),a.writeHeader("etag",s);const r=Ep.join(__dirname,"../client-dist/",c);rc.serveFile(a,r)});rc.patchAdapter(n)}initEngine(n,i){if(Fn("creating engine.io instance with opts %j",i),this.eio=Up.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){Fn("attaching client serving req handler");const i=n.listeners("request").slice(0);n.removeAllListeners("request"),n.on("request",(o,a)=>{if(this.clientPathRegex.test(o.url))if(this._corsMiddleware)this._corsMiddleware(o,a,()=>{this.serve(o,a)});else this.serve(o,a);else for(let e=0;e<i.length;e++)i[e].call(n,o,a)})}serve(n,i){const o=n.url.replace(this._path,"").replace(/\?.*$/,""),a=Ip.test(o),e=a?"map":"source",c='"'+Np+'"',l="W/"+c,t=n.headers["if-none-match"];if(t){if(c===t||l===t){Fn("serve client %s 304",e),i.writeHead(304),i.end();return}}Fn("serve client %s",e),i.setHeader("Cache-Control","public, max-age=0"),i.setHeader("Content-Type","application/"+(a?"json":"javascript")+"; charset=utf-8"),i.setHeader("ETag",c),ao.sendFile(o,n,i)}static sendFile(n,i,o){const a=Tv.createReadStream(Ep.join(__dirname,"../client-dist/",n)),e=wv(i).encodings(["br","gzip","deflate"]),c=(l)=>{if(l)o.end()};switch(e){case"br":o.writeHead(200,{"content-encoding":"br"}),Ba.pipeline(a,mc.createBrotliCompress(),o,c);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),Ba.pipeline(a,mc.createGzip(),o,c);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),Ba.pipeline(a,mc.createDeflate(),o,c);break;default:o.writeHead(200),Ba.pipeline(a,o,c)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){Fn("incoming connection with id %s",n.id);const i=new dv.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){const a=new Fv.ParentNamespace(this);if(Fn("initializing parent namespace %s",a.name),typeof n==="function")this.parentNsps.set(n,a);else this.parentNsps.set((e,c,l)=>l(null,n.test(e)),a),this.parentNamespacesFromRegExp.set(n,a);if(i)a.on("connect",i);return a}if(String(n)[0]!=="/")n="/"+n;let o=this._nsps.get(n);if(!o){for(let[a,e]of this.parentNamespacesFromRegExp)if(a.test(n))return Fn("attaching namespace %s to parent namespace %s",n,a),e.createChild(n);if(Fn("initializing namespace %s",n),o=new uc.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(),rc.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)}}vn.Server=ao;var $v=Object.keys(kp.EventEmitter.prototype).filter(function(n){return typeof kp.EventEmitter.prototype[n]==="function"});$v.forEach(function(n){ao.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});Vo.exports=(n,i)=>new ao(n,i);Vo.exports.Server=ao;Vo.exports.Namespace=uc.Namespace;Vo.exports.Socket=_p.Socket});var xm=$((SK,Wb)=>{Wb.exports={name:"dotenv",version:"16.4.5",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec","test:coverage":"tap --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Sm=$((yK,ei)=>{function Xb(n){const i={};let o=n.toString();o=o.replace(/\r\n?/mg,"\n");let a;while((a=hb.exec(o))!=null){const e=a[1];let c=a[2]||"";c=c.trim();const l=c[0];if(c=c.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),l==='"')c=c.replace(/\\n/g,"\n"),c=c.replace(/\\r/g,"\r");i[e]=c}return i}function Yb(n){const i=bm(n),o=mn.configDotenv({path:i});if(!o.parsed){const l=new Error(`MISSING_DATA: Cannot parse ${i} for an unknown reason`);throw l.code="MISSING_DATA",l}const a=vm(n).split(","),e=a.length;let c;for(let l=0;l<e;l++)try{const t=a[l].trim(),s=Hb(o,t);c=mn.decrypt(s.ciphertext,s.key);break}catch(t){if(l+1>=e)throw t}return mn.parse(c)}function Gb(n){console.log(`[dotenv@${wc}][INFO] ${n}`)}function Qb(n){console.log(`[dotenv@${wc}][WARN] ${n}`)}function La(n){console.log(`[dotenv@${wc}][DEBUG] ${n}`)}function vm(n){if(n&&n.DOTENV_KEY&&n.DOTENV_KEY.length>0)return n.DOTENV_KEY;if(process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0)return process.env.DOTENV_KEY;return""}function Hb(n,i){let o;try{o=new URL(i)}catch(t){if(t.code==="ERR_INVALID_URL"){const s=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw s.code="INVALID_DOTENV_KEY",s}throw t}const a=o.password;if(!a){const t=new Error("INVALID_DOTENV_KEY: Missing key part");throw t.code="INVALID_DOTENV_KEY",t}const e=o.searchParams.get("environment");if(!e){const t=new Error("INVALID_DOTENV_KEY: Missing environment part");throw t.code="INVALID_DOTENV_KEY",t}const c=`DOTENV_VAULT_${e.toUpperCase()}`,l=n.parsed[c];if(!l){const t=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${c} in your .env.vault file.`);throw t.code="NOT_FOUND_DOTENV_ENVIRONMENT",t}return{ciphertext:l,key:a}}function bm(n){let i=null;if(n&&n.path&&n.path.length>0)if(Array.isArray(n.path)){for(let o of n.path)if(yc.existsSync(o))i=o.endsWith(".vault")?o:`${o}.vault`}else i=n.path.endsWith(".vault")?n.path:`${n.path}.vault`;else i=Tc.resolve(process.cwd(),".env.vault");if(yc.existsSync(i))return i;return null}function fm(n){return n[0]==="~"?Tc.join(zb.homedir(),n.slice(1)):n}function Bb(n){Gb("Loading env from encrypted .env.vault");const i=mn._parseVault(n);let o=process.env;if(n&&n.processEnv!=null)o=n.processEnv;return mn.populate(o,i,n),{parsed:i}}function Cb(n){const i=Tc.resolve(process.cwd(),".env");let o="utf8";const a=Boolean(n&&n.debug);if(n&&n.encoding)o=n.encoding;else if(a)La("No encoding is specified. UTF-8 is used by default");let e=[i];if(n&&n.path)if(!Array.isArray(n.path))e=[fm(n.path)];else{e=[];for(let s of n.path)e.push(fm(s))}let c;const l={};for(let s of e)try{const p=mn.parse(yc.readFileSync(s,{encoding:o}));mn.populate(l,p,n)}catch(p){if(a)La(`Failed to load ${s} ${p.message}`);c=p}let t=process.env;if(n&&n.processEnv!=null)t=n.processEnv;if(mn.populate(t,l,n),c)return{parsed:l,error:c};else return{parsed:l}}function Vb(n){if(vm(n).length===0)return mn.configDotenv(n);const i=bm(n);if(!i)return Qb(`You set DOTENV_KEY but you are missing a .env.vault file at ${i}. Did you forget to build it?`),mn.configDotenv(n);return mn._configVault(n)}function Eb(n,i){const o=Buffer.from(i.slice(-64),"hex");let a=Buffer.from(n,"base64");const e=a.subarray(0,12),c=a.subarray(-16);a=a.subarray(12,-16);try{const l=gb.createDecipheriv("aes-256-gcm",o,e);return l.setAuthTag(c),`${l.update(a)}${l.final()}`}catch(l){const t=l instanceof RangeError,s=l.message==="Invalid key length",p=l.message==="Unsupported state or unable to authenticate data";if(t||s){const m=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw m.code="INVALID_DOTENV_KEY",m}else if(p){const m=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw m.code="DECRYPTION_FAILED",m}else throw l}}function Ub(n,i,o={}){const a=Boolean(o&&o.debug),e=Boolean(o&&o.override);if(typeof i!=="object"){const c=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw c.code="OBJECT_REQUIRED",c}for(let c of Object.keys(i))if(Object.prototype.hasOwnProperty.call(n,c)){if(e===!0)n[c]=i[c];if(a)if(e===!0)La(`"${c}" is already defined and WAS overwritten`);else La(`"${c}" is already defined and was NOT overwritten`)}else n[c]=i[c]}var yc=import.meta.require("fs"),Tc=import.meta.require("path"),zb=import.meta.require("os"),gb=import.meta.require("crypto"),Ob=xm(),wc=Ob.version,hb=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg,mn={configDotenv:Cb,_configVault:Bb,_parseVault:Yb,config:Vb,decrypt:Eb,parse:Xb,populate:Ub};yK.configDotenv=mn.configDotenv;yK._configVault=mn._configVault;yK._parseVault=mn._parseVault;yK.config=mn.config;yK.decrypt=mn.decrypt;yK.parse=mn.parse;yK.populate=mn.populate;ei.exports=mn});import*as Mm from"http";function Gi(n=Math.random){return n().toString(36).slice(2)}class Fo extends Promise{fate;resolve;reject;done=!1;constructor(n){let i,o;super((a,e)=>{i=a,o=e});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 $c=(n,i,o=Y.STORE)=>{return Mo(o,{key:`${n.key}:JSON`,get:({get:a})=>i.toJson(a(n)),set:({set:a},e)=>{a(n,i.fromJson(e))}})};function v(n){while(n.child!==null)n=n.child;return n}function Kc(n){while(n.parent!==null)n=n.parent;return n}class C{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 Ia extends C{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function ci(n,i,o){const a={key:i.key,type:"atom_family"},e=n.families.get(i.key);if(e)n.logger.error("\u2757","atom_family",i.key,`Overwriting an existing ${Yn(e)} "${e.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const c=new C,t=Object.assign((s)=>{const p=g(s),m={key:i.key,subKey:p},r=`${i.key}(${p})`,S=v(n),K=i.default,y={key:r,default:K instanceof Function?K(s):K};if(i.effects)y.effects=i.effects(s);const T=li(S,y,m);return c.next({type:"state_creation",token:T}),T},a,{subject:c,install:(s)=>ci(s,i),internalRoles:o});return n.families.set(i.key,t),n.defaults.set(i.key,i.default),a}function jc(n,i){if("mutable"in i)return Ro(n,i);return ci(n,i)}function ti(n,i,o){const a={key:i.key,type:"readonly_selector_family"},e=n.families.get(i.key);if(e)n.logger.error("\u2757","readonly_selector_family",i.key,`Overwriting an existing ${Yn(e)} "${e.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const c=new C,t=Object.assign((s)=>{const p=g(s),m={key:i.key,subKey:p},r=`${i.key}(${p})`,S=v(n),K=Ao(S,{key:r,get:i.get(s)},m);return c.next({type:"state_creation",token:K}),K},a,{internalRoles:o,subject:c,install:(s)=>ti(s,i),default:(s)=>{return i.get(s)({get:(...m)=>I(n,...m),find:(m,r)=>L(n,m,r),seek:(m,r)=>Z(n,m,r),json:(m)=>sn(n,m)})}});return n.families.set(i.key,t),a}function Da(n,i){if("set"in i)return Jo(n,i);return ti(n,i)}function Qi(n,i){const o=g(i),a=`${n.key}(${o})`,e=Wm[n.type],c={key:a,type:e};if(e==="molecule")Object.assign(c,{key:i,family:n});else Object.assign(c,{family:{key:n.key,subKey:o}});return Object.assign(c,{counterfeit:!0}),c}var Wm={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function jn(n){const i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}class Rn{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),a=this.relations.get(i);if(o)o.add(i);else o=new Set([i]),this.relations.set(n,o);if(a)a.add(n);else a=new Set([n]),this.relations.set(i,a)}deleteRelation(n,i){const o=this.relations.get(n);if(o){if(o.delete(i),o.size===0)this.relations.delete(n);const a=this.relations.get(i);if(a){if(a.delete(n),a.size===0)this.relations.delete(i)}}}replaceRelationsUnsafely(n,i){this.relations.set(n,new Set(i));for(let o of i){const a=new Set([n]);this.relations.set(o,a)}}replaceRelationsSafely(n,i){const o=this.relations.get(n);if(o)for(let a of o){const e=this.relations.get(a);if(e){if(e.size===1)this.relations.delete(a);else e.delete(n);this.contents.delete(this.makeContentKey(n,a))}}this.relations.set(n,new Set(i));for(let a of i){let e=this.relations.get(a);if(e)e.add(n);else e=new Set([n]),this.relations.set(a,e)}}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,a])=>[o,new Set(a)])),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=(a,e)=>o.has(a,e),this.addRelation=(a,e)=>{o.addRelation(a,e)},this.deleteRelation=(a,e)=>{o.deleteRelation(a,e)},this.replaceRelationsSafely=(a,e)=>{o.replaceRelationsSafely(a,e)},this.replaceRelationsUnsafely=(a,e)=>{o.replaceRelationsUnsafely(a,e)},this.getRelatedKeys=(a)=>o.getRelatedKeys(a),o.getContent)this.getContentInternal=(a)=>{return o.getContent(a)},this.setContent=(a,e)=>{o.setContent(a,e)},this.deleteContent=(a)=>{o.deleteContent(a)};for(let[a,e]of n.relations??[])for(let c of e)this.addRelation(a,c);for(let[a,e]of n.contents??[])this.setContent(a,e)}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],a=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 e=this.getRelatedKey(n);if(e&&e!==o)this.delete(e,n)}case"1:n":{const e=this.getRelatedKey(o);if(e&&e!==n)this.delete(e,o)}}if(a){const e=this.makeContentKey(n,o);this.setContent(e,a)}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 a=this.getRelatedKeys(i);if(a)for(let e of a)this.delete(e,i)}if(typeof o==="string"&&i===void 0){const a=this.getRelatedKeys(o);if(a)for(let e of a)this.delete(o,e)}if(typeof o==="string"&&typeof i==="string"){this.deleteRelation(o,i);const a=this.makeContentKey(o,i);this.deleteContent(a)}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 a=!Array.isArray(i),e=a?Object.keys(i):i;if(o?.reckless)this.replaceRelationsUnsafely(n,e);else this.replaceRelationsSafely(n,e);if(a)for(let c of e){const l=this.makeContentKey(n,c),t=i[c];this.setContent(l,t)}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 a=this.getRelatedKeys(i);if(a)return[...a].map((e)=>{return[e,this.getContent(i,e)??null]})}if(i===void 0&&o!==void 0){const a=this.getRelatedKeys(o);if(a)return[...a].map((e)=>{return[e,this.getContent(e,o)??null]})}return[]}has(n,i){if(i)return this.getRelatedKeys(n)?.has(i)??!1;return this.relations.has(n)}}function en(n){return"epoch"in n.transactionMeta}function k(n){return"phase"in n.transactionMeta}var Wc=(n)=>{const i=v(n);if(!k(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 Yn(n){return n.type.split("_").map(zm).join(" ")}var zm=(n)=>n[0].toUpperCase()+n.slice(1);class dn extends Error{constructor(...n){const i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${Yn(i)} ${g(i.key)} not found in store "${o.config.name}".`);else{const a=n[1];super(`${Yn(i)} "${i.key}" member ${g(a)} not found in store "${o.config.name}".`)}}}function si(n,i,o){return(...a)=>{const e=h(n,o);if(e)return e.run(a,i);throw new dn(n,o)}}var na=(n)=>(i)=>n instanceof Function?n(i):n;var pi=(n,i)=>{if(i.valueMap.has(n.key))return i.logger.info("\uD83D\uDCD6",n.type,n.key,"reading cached value"),zc(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 gc=(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}"${!k(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},Oc=(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)},hc=(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)},Hi=(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 Xc=(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 _a=(n,i)=>{const o=v(i),a=o.selectorAtoms.getRelatedKeys(n.key);if(o.logger.info("\uD83E\uDDF9",n.type,n.key,a?`evicting ${a.size} states downstream:`:"no downstream states",a??"to evict"),a){if(o.operation.open)o.logger.info("\uD83E\uDDF9",n.type,n.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let e of a){if(hc(o,e))continue;Yc(e,o),Hi(o,e)}}};function gm(n,i){if(Qc(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var Gc=(n,i,o)=>{const{key:a}=n,e=v(o);if(!k(e)||e.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",a,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!gm(a,i))return;const l={type:"atom_update",key:a,...i};if(n.family)l.family=n.family;e.transactionMeta.update.updates.push(l),o.logger.info("\uD83D\uDCC1","atom",a,"stowed (",i.oldValue,"->",i.newValue,")")};var Hc=(n,i,o)=>{const a=pi(n,o);let e=a;if(n.type==="mutable_atom"&&k(o)){const{parent:l}=o;e=$o(n,l,o)}if(e=na(i)(e),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",e),e=Wn(n.key,e,n.subject,o),Bc(n.key,o))Cc(n.key,o);Hi(o,n.key),_a(n,o);const c={oldValue:a,newValue:e};if(en(o))Xc(n,c,o);else if(o.parent){if(o.on.transactionApplying.state===null)Gc(n,c,o);else if(n.key.startsWith("*")){const l=n.key.slice(1),t=o.atoms.get(l);let s=o.valueMap.get(l);if(t.type==="mutable_atom"&&k(o)){const{parent:m}=o;s=$o(t,m,o)}if(s.do(c.newValue)===null)_a(t,o)}}};var ia=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":Hc(n,i,o);break;case"selector":n.set(i);break}};function oa(n,i){if(i.family){const o=n.families.get(i.family.key);if(o)return o}}function D(n,...i){let o,a,e,c;if(i.length===2){if(o=i[0],c=i[1],a=oa(n,o)??null,a)e=o.family?cn(o.family.subKey):null,o=L(n,a,e)}else a=i[0],e=i[1],c=i[2],o=L(n,a,e);if("counterfeit"in o){const s=n.disposalTraces.buffer.find((p)=>p?.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}".`,s?`This state was previously disposed:\n${s.trace}`:"No previous disposal trace was found.");return}const l=gc(n,o);if(l){const s=n.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${l}`,()=>{s(),n.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${l}`),D(n,o,c)});return}const t=h(o,n);ia(t,c,n),Oc(n)}function aa(n,i,o){const{key:a,newValue:e,oldValue:c}=i,l=n==="newValue"?e:c,t={key:a,type:"atom"};if(i.family)Object.assign(t,{family:i.family});D(o,t,l)}function qa(n,i,o){const a=g(o);try{const e=[];let c;if(i==="root")e.push(n.molecules.get('"root"')),c="all";else if(i[0][0]===Vc){c="any";const m=g(i),r=n.molecules.get(m);if(!r)throw new Error(`Molecule ${m} not found in store "${n.config.name}"`);e.push(r)}else if(o[0][0]===Vc){c="all";for(let r of i){const S=g(r),K=n.molecules.get(S);if(!K)throw new Error(`Molecule ${S} not found in store "${n.config.name}"`);e.push(K)}}else{c="any";const r=g(i),S=n.molecules.get(r);if(!S)throw new Error(`Molecule ${r} not found in store "${n.config.name}"`);e.push(S)}const l=new Bi(e,o);l._dependsOn=c,n.molecules.set(a,l);for(let m of e)m.below.set(l.stringKey,l);const t={type:"molecule_creation",subType:"modern",key:l.key,provenance:i},s=v(n);if(k(s)&&s.transactionMeta.phase==="building")s.transactionMeta.update.updates.push(t);else s.on.moleculeCreationStart.next(t)}catch(e){if(e instanceof Error)n.logger.error("\u274C","molecule",a,"allocation failed:",e.message)}return o}function Ko(n,i){const o=g(i),a=n.molecules.get(o);if(!a)throw new Error(`Molecule ${o} not found in store "${n.config.name}"`);for(let p of a.joins.values())p.relations.delete(a.key),p.molecules.delete(a.stringKey);let e;if(a.above.size===1)e=a.above.values().next().value.key;else e=[...a.above.values()].map(({key:p})=>p);const c=[];for(let p of a.tokens.values()){const m=p.family;c.push([m.key,n.valueMap.get(p.key)])}for(let p of a.tokens.values())un(n,p);for(let p of a.below.values())if(p.dependsOn==="all")Ko(n,p.key);else if(p.above.delete(a.stringKey),p.above.size===0)Ko(n,p.key);a.below.clear();const l={type:"molecule_disposal",subType:"modern",key:a.key,values:c,provenance:e},t=v(n);if(k(t)&&t.transactionMeta.phase==="building")t.transactionMeta.update.updates.push(l);else t.on.moleculeDisposal.next(l);t.molecules.delete(a.stringKey);for(let p of a.above.values())p.below.delete(a.stringKey)}var Oy=Symbol("provenance"),Vc="T$";function Ec(n,i){const o=new C,a={type:"molecule_family",key:i.key,dependsOn:i.dependsOn??"all"},e={...a,subject:o,new:i.new};return n.moleculeFamilies.set(i.key,e),a}function Gn(n,i,o){const a=_n(o,i,n.key);n.tokens.set(a.key,a);const e=k(o)&&o.transactionMeta.phase==="building",c=o.moleculeInProgress===n.key;if(!e&&!c)n.subject.next({type:"state_creation",token:a});return a}class pn extends Set{mode="record";subject=new C;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof pn)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 pn(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:${g(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:${g(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new pn(this);const i=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(n(this.child)){for(let a of this.transactionUpdates)this.doStep(a);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),a=n.substring(i+1);switch(o){case"add":this.add(JSON.parse(a));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(a));break;case"tx":for(let e of a.split(";"))this.doStep(e)}}getUpdateNumber(n){const i=n.indexOf("=");return Number(n.substring(0,i))}do(n){const i=n.indexOf("="),o=Number(n.substring(0,i)),a=o-this.cacheUpdateNumber;if(a>0){if(a===1){this.mode="playback";const c=n.substring(i+1);return this.doStep(c),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(a)<this.cacheLimit){const c=this.cacheIdx+a;if(this.cache[c]===n)return null;this.mode="playback";let t=!1;while(!t){this.cacheIdx%=this.cacheLimit;const p=this.cache[this.cacheIdx];if(this.cacheIdx--,!p)return"OUT_OF_RANGE";this.undo(p),t=this.cacheIdx===c-1}const s=n.substring(i+1);return this.doStep(s),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(n){const i=n.indexOf(":"),o=n.substring(0,i),a=n.substring(i+1);switch(o){case"add":this.delete(JSON.parse(a));break;case"del":this.add(JSON.parse(a));break;case"clear":{const e=JSON.parse(a);for(let c of e)this.add(c);break}case"tx":{const e=a.split(";");for(let c=e.length-1;c>=0;c--)this.undoStep(e[c])}}}undo(n){const i=n.indexOf("=");if(Number(n.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";const a=n.substring(i+1);return this.undoStep(a),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function nn(n){return n[0].toUpperCase()+n.slice(1)}function ea(n,i,o=Y.STORE){return Pa(o).set(n.key,new ne(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Pa(n){if("joins"in n&&n.joins instanceof Map)return n.joins;const i=new Map;return n.joins=i,i}function jo(n,i){const o=Pa(i);let a=o.get(n.key);if(a===void 0){if(a=Pa(Y.STORE).get(n.key)?.in(i),a===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o.set(n.key,a)}return a}function Ci(n,i,o){const a=jo(n,o);let e;switch(n.cardinality){case"1:1":{const c=`${n.a}KeyOf${nn(n.b)}`,l=`${n.b}KeyOf${nn(n.a)}`;e={get[c](){const s=a.states[c];return a.retrieve(s,i)},get[l](){const s=a.states[l];return a.retrieve(s,i)}};const t=`${n.a}EntryOf${nn(n.b)}`;if(t in a.states){const s=`${n.b}EntryOf${nn(n.a)}`;Object.assign(e,{get[t](){const p=a.states[t];return a.retrieve(p,i)},get[s](){const p=a.states[s];return a.retrieve(p,i)}})}break}case"1:n":{const c=`${n.a}KeyOf${nn(n.b)}`,l=`${n.b}KeysOf${nn(n.a)}`;e={get[c](){const s=a.states[c];return a.retrieve(s,i)},get[l](){const s=a.states[l];return a.retrieve(s,i)}};const t=`${n.a}EntryOf${nn(n.b)}`;if(t in a.states){const s=`${n.b}EntriesOf${nn(n.a)}`;Object.assign(e,{get[t](){const p=a.states[t];return a.retrieve(p,i)},get[s](){const p=a.states[s];return a.retrieve(p,i)}})}break}case"n:n":{const c=`${n.a}KeysOf${nn(n.b)}`,l=`${n.b}KeysOf${nn(n.a)}`;e={get[c](){const s=a.states[c];return a.retrieve(s,i)},get[l](){const s=a.states[l];return a.retrieve(s,i)}};const t=`${n.a}EntriesOf${nn(n.b)}`;if(t in a.states){const s=`${n.b}EntriesOf${nn(n.a)}`;Object.assign(e,{get[t](){const p=a.states[t];return a.retrieve(p,i)},get[s](){const p=a.states[s];return a.retrieve(p,i)}})}}}return e}function Uc(n,i){return Ci(n,i,Y.STORE)}function di(n,i,o){const a=jo(n,o),e=v(o);if(k(e)){const{toolkit:c}=e.transactionMeta;a.transact(c,({relations:l})=>{i(l)})}else i(a.relations)}function Om(n,i){return jo(n,i).core.findRelatedKeysState}function kc(n){return Om(n,Y.STORE)}class ne{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 a=new ne(this.options,this.defaultContent,n);return this.alternates.set(i,a),a.alternates=this.alternates,a}constructor(n,i,o=Y.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=(b,u)=>{const R=this.toolkit.seek(b,u);if(R)return R;const A=this.molecules.get(g(u));if(A){const J=h(b,o);return Gn(A,J,o)}if(o.config.lifespan==="immortal")throw new dn(b,u,o);return _n(o,b,u)},this.toolkit={get:(...b)=>I(o,...b),set:(...b)=>{D(o,...b)},find:this.retrieve,seek:(...b)=>Z(o,...b),json:(b)=>sn(o,b),dispose:(...b)=>{un(o,...b)}};const a=n.between[0],e=n.between[1],c=Ro(o,{key:`${n.key}/relatedKeys`,default:()=>new pn,mutable:!0,fromJson:(b)=>pn.fromJSON(b),toJson:(b)=>b.toJSON()},["join","relations"]);this.core={findRelatedKeysState:c};const l=({get:b},u)=>b(this.retrieve(c,u)),t=(b,u,R)=>{const{set:A}=b,J=this.retrieve(c,u),j=this.retrieve(c,R);A(J,(G)=>G.add(R)),A(j,(G)=>G.add(u))},s=(b,u,R)=>{const{set:A}=b,J=this.retrieve(c,u),j=this.retrieve(c,R);let G,B;A(J,(P)=>{if(P.delete(R),P.size===0)G=`"${u}"`;return P}),A(j,(P)=>{if(P.delete(u),P.size===0)B=`"${R}"`;return P})},p=(b,u,R)=>{const{get:A,set:J}=b,j=this.retrieve(c,u),G=A(j);for(let B of G){if(R.includes(B))continue;const Xn=this.retrieve(c,B);J(Xn,(Ln)=>{return Ln.delete(u),Ln})}J(j,(B)=>{return B.transaction((P)=>{P.clear();for(let Xn of R){const Ln=l(b,Xn),Mc=Ln.has(u);if(this.relations.cardinality==="1:n"){const Rc=[];for(let To of Ln){if(To===u)continue;const wo=l(b,To);if(wo.delete(Xn),wo.size===0)Rc.push(To)}if(!Mc&&Ln.size>0)Ln.clear();for(let To of Rc){const wo=[Xn,To].sort(),Am=`"${wo[0]}:${wo[1]}"`;this.molecules.delete(Am)}}if(!Mc)Ln.add(u);P.add(Xn)}return!0}),B})},m=(b,u,R)=>{const{set:A}=b,J=this.retrieve(c,u);A(J,(j)=>{return j.transaction((G)=>{for(let B of R)G.add(B);return!0}),j});for(let j of R){const G=this.retrieve(c,j);A(G,(B)=>{return B.add(u),B})}return!0},r=(b,u,R)=>{const A=l(b,u);return R?A.has(R):A.size>0},S={getRelatedKeys:(b)=>l(this.toolkit,b),addRelation:(b,u)=>{t(this.toolkit,b,u)},deleteRelation:(b,u)=>{s(this.toolkit,b,u)},replaceRelationsSafely:(b,u)=>{p(this.toolkit,b,u)},replaceRelationsUnsafely:(b,u)=>{m(this.toolkit,b,u)},has:(b,u)=>r(this.toolkit,b,u)};let K,y,T;if(i){y=ci(o,{key:`${n.key}/content`,default:i},["join","content"]);const b={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};T=Ec(o,{key:`${n.key}/content-molecules`,new:class j{B;constructor(G,B){this.key=B}}});const u=({get:j},G)=>j(this.retrieve(y,G)),R=({set:j},G,B)=>{j(this.retrieve(y,G),B)},A=(j,G)=>{const B=o.molecules.get(`"${G}"`);if(B)this.toolkit.dispose(B),this.molecules.delete(`"${G}"`)};K=Object.assign(S,{getContent:(j)=>{return u(this.toolkit,j)},setContent:(j,G)=>{R(this.toolkit,j,G)},deleteContent:(j)=>{A(this.toolkit,j)}})}else K=S;const f=new Rn(n,{externalStore:K,makeContentKey:(...b)=>{const u=b.sort(),R=`${u[0]}:${u[1]}`,[A,J]=u.map((j)=>this.molecules.get(g(j)));if(o.config.lifespan==="immortal"&&A&&J){const j=v(o),G=qn(j,[A,J],T,R);this.molecules.set(`"${R}"`,h(G,j))}return R}}),w=()=>ti(o,{key:`${n.key}/singleRelatedKey`,get:(b)=>({get:u})=>{const R=this.retrieve(c,b),A=u(R);for(let J of A)return J;return null}},["join","keys"]),d=()=>{return ti(o,{key:`${n.key}/multipleRelatedKeys`,get:(b)=>({get:u})=>{const R=Za(c,o),A=this.retrieve(R,b);return u(A).members}},["join","keys"])},W=()=>ti(o,{key:`${n.key}/singleRelatedEntry`,get:(b)=>({get:u})=>{const R=this.retrieve(c,b),A=u(R);for(let J of A){const j=f.makeContentKey(b,J),G=this.retrieve(y,j),B=u(G);return[J,B]}return null}},["join","entries"]),U=()=>ti(o,{key:`${n.key}/multipleRelatedEntries`,get:(b)=>({get:u})=>{const R=Za(c,o),A=this.retrieve(R,b);return u(A).members.map((j)=>{const G=f.makeContentKey(b,j),B=this.retrieve(y,G),P=u(B);return[j,P]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const b=w(),u=`${a}KeyOf${nn(e)}`,R=`${e}KeyOf${nn(a)}`,A={[u]:b,[R]:b};let J;if(i){const j=W(),G=`${a}EntryOf${nn(e)}`,B=`${e}EntryOf${nn(a)}`,P={[G]:j,[B]:j};J=Object.assign(A,P)}else J=A;this.relations=f,this.states=J;break}case"1:n":{const b=w(),u=d(),R=`${a}KeyOf${nn(e)}`,A=`${e}KeysOf${nn(a)}`,J={[R]:b,[A]:u};let j;if(i){const G=W(),B=U(),P=`${a}EntryOf${nn(e)}`,Xn=`${e}EntriesOf${nn(a)}`,Ln={[P]:G,[Xn]:B};j=Object.assign(J,Ln)}else j=J;this.relations=f,this.states=j;break}default:{const b=d(),u=`${a}KeysOf${nn(e)}`,R=`${e}KeysOf${nn(a)}`,A={[u]:b,[R]:b};let J;if(i){const j=U(),G=`${a}EntriesOf${nn(e)}`,B=`${e}EntriesOf${nn(a)}`,P={[G]:j,[B]:j};J=Object.assign(A,P)}else J=A;this.relations=f,this.states=J}}}}function ca(n){return{store:n}}function I(n,...i){let o,a,e;if(i.length===1){if(o=i[0],o.type!=="molecule"){if(a=oa(n,o)??null,a)e=o.family?cn(o.family.subKey):null,o=L(n,a,e)}}else{a=i[0],e=i[1];let c;if(a.type==="molecule_family")c=Z(n,a,e)??Qi(a,e);else c=L(n,a,e);o=c}if("counterfeit"in o&&"family"in o){a=o.type==="molecule"?h(o.family,n):n.families.get(o.family.key);const c=o.type==="molecule"?o.key:o.family.subKey,l=n.disposalTraces.buffer.find((t)=>t?.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}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found."),a.type){case"atom_family":case"mutable_atom_family":return n.defaults.get(a.key);case"selector_family":case"readonly_selector_family":{if(n.defaults.has(a.key))return n.defaults.get(o.family.key);const t=h(a,n).default(c);return n.defaults.set(a.key,t),t}case"molecule_family":throw new dn(a,c,n)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return pi(h(o,n),n);case"molecule":return h(o,n).instance}}class Bi{i;type="molecule";stringKey;family;_dependsOn;get dependsOn(){if(this.family)return this.family.dependsOn;return this._dependsOn}subject=new C;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(n,i,o){this.key=i;if(this.stringKey=g(i),o)this.family=o,this._dependsOn=o.dependsOn;if(n)for(let a of n)this.above.set(a.stringKey,a)}}function Lc(n){return n[0].toUpperCase()+n.slice(1)}function qn(n,i,o,a,...e){const c=Kc(n),l=v(n),t=g(a);l.moleculeInProgress=t;const s=Array.isArray(i)?i:[i],p=s.map((f)=>{if(f instanceof Bi)return f;const w=g(f.key),d=n.molecules.get(w);if(!d)throw new Error(`Molecule ${w} not found in store "${n.config.name}"`);return d}),m=new Bi(p,a,o);l.molecules.set(t,m);for(let f of p)f.below.set(m.stringKey,m);const r={get:(...f)=>I(v(c),...f),set:(...f)=>{D(v(c),...f)},seek:(f,w)=>Z(v(c),f,w),json:(f)=>sn(v(c),f),run:(f,w=Gi())=>si(f,w,v(n)),make:(f,w,d,...W)=>qn(v(c),f,w,d,...W),dispose:(f)=>{un(v(c),f)},env:()=>ca(v(c)),bond:(f,w)=>{if(f.type==="join"){const{as:d}=w,W=jo(f,c);W.molecules.set(t,m),m.joins.set(f.key,W);const U=S.subject.subscribe(`join:${f.key}-${t}`,(j)=>{if(j.type==="molecule_disposal"){if(g(j.token.key)===t)U(),W.molecules.delete(t)}});if(d===null)return;const b=f.a===d?f.b:f.a,u=Uc(f,a),R=u[`${b}KeysOf${Lc(d)}`],A=u[`${b}EntriesOf${Lc(d)}`];let J={relatedKeys:R};if(A)J=Object.assign(J,{relatedEntries:A});return J}return Gn(m,h(f,c),v(c))},claim:(f,w)=>{const{exclusive:d}=w,W=v(n).molecules.get(g(f.key));if(W)if(d){for(let U of W.above.values())U.below.delete(W.stringKey);W.above.clear(),W.above.set(m.stringKey,m),m.below.set(W.stringKey,W)}else W.above.set(m.stringKey,m),m.below.set(W.stringKey,W)},spawn:(f,w,...d)=>qn(v(n),[m],h(f,n),w,...d)},S=h(o,n),K=S.new;m.instance=new K(r,a,...e);const y={type:"molecule",key:a,family:o},T={type:"molecule_creation",subType:"classic",token:y,family:o,context:s,params:e};if(en(l))S.subject.next(T);else if(k(l)&&l.on.transactionApplying.state===null)l.transactionMeta.update.updates.push(T);return l.moleculeInProgress=null,y}function ie(n,i,o){switch(i){case"newValue":{Nc(n,o);break}case"oldValue":{un(o,n.token);break}}}function oe(n,i,o){switch(i){case"newValue":{un(o,n.token);break}case"oldValue":{Nc(n,o),o.valueMap.set(n.token.key,n.value);break}}}function Nc(n,i){const{family:o}=n.token;if(o){const a=i.families.get(o.key);if(a)L(i,a,cn(o.subKey))}}function ae(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":qn(o,n.context,n.family,n.token.key,...n.params);break;case"modern":qa(o,n.provenance,n.key);break}break;case"oldValue":switch(n.subType){case"classic":un(o,n.token);break;case"modern":Ko(o,n.key);break}break}}function ee(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":un(o,n.token);break;case"modern":Ko(o,n.key);break}break;case"oldValue":switch(n.subType){case"classic":{const a=qn(o,n.context,n.family,n.token.key);for(let[e,c]of n.values){const l=`${e}(${g(a.key)})`,t=h(a,o),s=t.tokens.has(l),p=o.families.get(e);if(p&&!s)Gn(t,p,o);o.valueMap.set(l,c)}}break;case"modern":{qa(o,n.provenance,n.key);for(let[a,e]of n.values){const c=o.families.get(a);if(c){L(o,c,n.key);const l=`${a}(${g(n.key)})`;o.valueMap.set(l,e)}}}}break}}function la(n,i,o){const a=n==="newValue"?i.updates:[...i.updates].reverse();for(let e of a)switch(e.type){case"atom_update":case"selector_update":aa(n,e,o);break;case"state_creation":ie(e,n,o);break;case"state_disposal":oe(e,n,o);break;case"molecule_creation":ae(e,n,o);break;case"molecule_disposal":ee(e,n,o);break;case"transaction_update":la(n,e,o);break}}function Ic(n,i,o){if(en(o)&&n)o.transactionMeta.epoch.set(n,i)}function Dc(n,i,o){if(!en(o))return;const e=o.transactionMeta.actionContinuities.getRelatedKey(n);if(e!==void 0)o.transactionMeta.epoch.set(e,i)}var _c=(n,i)=>{const o=v(i),{parent:a}=o;if(a===null||!k(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,a.child=null,a.on.transactionApplying.next(o.transactionMeta);const{updates:e}=o.transactionMeta.update;if(i.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${e.length} updates:`,e),la("newValue",o.transactionMeta.update,a),en(a))Dc(o.transactionMeta.update.key,o.transactionMeta.update.epoch,a),h({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(k(a))a.transactionMeta.update.updates.push(o.transactionMeta.update);a.on.transactionApplying.next(null)};function qc(n,i,o){if(!en(o))return;const{epoch:e,actionContinuities:c}=o.transactionMeta;if(c.set(n,i),!e.has(n))e.set(n,-1)}class zn 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 Pc=(n,i,o,a)=>{const e=v(o),c={parent:e,child:null,on:e.on,loggers:e.loggers,logger:e.logger,config:e.config,atoms:new zn(e.atoms),atomsThatAreDefault:new Set(e.atomsThatAreDefault),families:new zn(e.families),operation:{open:!1},readonlySelectors:new zn(e.readonlySelectors),timelines:new zn(e.timelines),timelineTopics:new Rn(e.timelineTopics.toJSON()),trackers:new Map,transactions:new zn(e.transactions),selectorAtoms:new Rn(e.selectorAtoms.toJSON()),selectorGraph:new Rn(e.selectorGraph.toJSON(),{makeContentKey:(...p)=>p.sort().join(":")}),selectors:new zn(e.selectors),valueMap:new zn(e.valueMap),defaults:e.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new zn(e.molecules),moleculeFamilies:new zn(e.moleculeFamilies),moleculeInProgress:e.moleculeInProgress,miscResources:new zn(e.miscResources)},l=Zc(n,o),t={phase:"building",update:{type:"transaction_update",key:n,id:a,epoch:l===void 0?Number.NaN:l+1,updates:[],params:i,output:void 0},toolkit:{get:(...p)=>I(s,...p),set:(...p)=>{D(s,...p)},run:(p,m=Gi())=>si(p,m,s),find:(p,m)=>L(s,p,m),seek:(p,m)=>Z(s,p,m),json:(p)=>sn(s,p),make:(p,m,r,...S)=>qn(s,p,m,r,...S),dispose:(...p)=>{un(s,...p)},env:()=>ca(s)}},s=Object.assign(c,{transactionMeta:t});return e.child=s,o.logger.info("\uD83D\uDEEB","transaction",n,"Building transaction with params:",i),s};function ce(n,i){const o={key:n.key,type:"transaction",run:(c,l)=>{const t=Pc(n.key,c,i,l);try{const s=v(i),{toolkit:p}=t.transactionMeta,m=n.do(p,...c);return _c(m,s),m}catch(s){throw Wc(a),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",s),s}},install:(c)=>ce(n,c),subject:new C},a=v(i);a.transactions.set(o.key,o);const e=jn(o);return i.on.transactionCreation.next(e),e}function Zc(n,i){const o=en(i),a=o?i.transactionMeta.actionContinuities.getRelatedKey(n):void 0;return o&&a!==void 0?i.transactionMeta.epoch.get(a):void 0}class ta{_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 ta([...this._buffer]);return n._index=this._index,n}}class nl{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new Rn({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new Rn({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 Rn({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new Rn({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new ta(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new C,atomDisposal:new C,selectorCreation:new C,selectorDisposal:new C,timelineCreation:new C,transactionCreation:new C,transactionApplying:new Ia(null),operationClose:new C,moleculeCreationStart:new C,moleculeCreationDone:new C,moleculeDisposal:new C};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new Wo("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},en(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new Rn(i?.transactionMeta.actionContinuities.toJSON())};for(let[,a]of i.families){if(a.internalRoles?.includes("mutable")||a.internalRoles?.includes("join"))continue;a.install(this)}const o=new Set;for(let[,a]of i.atoms){if(o.has(a.key))continue;if(a.install(this),a.type==="mutable_atom"){const e=sn(i,a),c=Pn(a);o.add(e.key),o.add(c.key)}}for(let[,a]of i.readonlySelectors)a.install(this);for(let[,a]of i.selectors){if(o.has(a.key))continue;a.install(this)}for(let[,a]of i.transactions)a.install(this);for(let[,a]of i.timelines)a.install(this)}}}var Y={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new nl({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function h(n,i){let o,a=i;while(a!==null){switch(n.type){case"atom":case"mutable_atom":o=a.atoms.get(n.key);break;case"selector":o=a.selectors.get(n.key);break;case"readonly_selector":o=a.readonlySelectors.get(n.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=a.families.get(n.key);break;case"timeline":o=a.timelines.get(n.key);break;case"transaction":o=a.transactions.get(n.key);break;case"molecule":o=a.molecules.get(g(n.key));break;case"molecule_family":o=a.moleculeFamilies.get(n.key);break}if(o)return o;a=a.child}throw new dn(n,i)}function sa(n,i){let o;o=h(n,i);const{family:a}=n;for(let l of o.joins.values())l.relations.delete(o.key),l.molecules.delete(o.stringKey);const e=[];for(let l of o.above.values())e.push(jn(l));const c=[];for(let l of o.tokens.values()){const t=l.family;c.push([t.key,i.valueMap.get(l.key)])}if(a){const l=h(a,i),t={type:"molecule_disposal",subType:"classic",token:n,family:a,context:e,values:c};if(n.family)t.family=n.family;for(let p of o.tokens.values())un(i,p);for(let p of o.below.values())if(p.dependsOn==="all")sa(p,i);else if(p.above.delete(o.stringKey),p.above.size===0)sa(p,i);if(o.below.clear(),k(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.updates.push(t);else l.subject.next(t);i.molecules.delete(o.stringKey)}for(let l of o.above.values())l.below.delete(o.stringKey)}function _n(n,i,o){const a=n.families.get(i.key);if(a===void 0)throw new dn(i,n);const e=a(o),c=v(n);if(e.family&&c.moleculeInProgress===null){if(en(c))switch(e.type){case"atom":case"mutable_atom":n.on.atomCreation.next(e);break;case"selector":case"readonly_selector":n.on.selectorCreation.next(e);break}else if(k(c)&&c.on.transactionApplying.state===null)c.transactionMeta.update.updates.push({type:"state_creation",token:e})}return e}function Z(n,i,o){const a=g(o),e=`${i.key}(${a})`,c=v(n);let l;switch(i.type){case"atom_family":case"mutable_atom_family":l=c.atoms.get(e);break;case"selector_family":l=c.selectors.get(e);break;case"readonly_selector_family":l=c.readonlySelectors.get(e);break;case"molecule_family":l=c.molecules.get(g(o))}if(l)return jn(l);return l}function L(n,i,o){let a=Z(n,i,o);if(a)return a;const e=n.molecules.get(g(o));if(e)return Gn(e,i,n);if(n.config.lifespan==="immortal"){const c=Qi(i,o);return n.logger.error("\u274C",c.type,c.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),c}return a=_n(n,i,o),a}function un(n,...i){let o,a;if(i.length===1)o=i[0],a=o.key;else{const c=i[0],l=i[1];o=c.type==="molecule_family"?Z(n,c,l)??Qi(c,l):L(n,c,l)}try{h(o,n)}catch(c){const l=n.disposalTraces.buffer.find((t)=>t?.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}".`,l?`\n This state was most recently disposed\n${l.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":le(o,n);break;case"selector":case"readonly_selector":il(o,n);break;case"molecule":sa(o,n);break}const{stack:e}=new Error;if(e){const c=e?.split("\n")?.slice(3)?.join("\n");n.disposalTraces.add({key:o.key,trace:c})}}var pa=(n,i)=>v(i).atoms.has(n),hm=(n,i)=>v(i).selectors.has(n),Xm=(n,i)=>v(i).readonlySelectors.has(n),ol=(n,i)=>pa(n,i)||hm(n,i)||Xm(n,i);var ma=(n,i)=>{return v(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([a,{source:e}])=>e!==n).map(([a,{source:e}])=>e).filter((a)=>ol(a,i))};var te=(n,i,o)=>{const a=[],e=ma(n,o);while(e.length>0){const c=e.shift();if(i.has(c))continue;if(i.add(c),!pa(c,o))e.push(...ma(c,o));else if(!a.includes(c))a.push(c)}return a},al=(n,i)=>{const o=n.key,a=ma(o,i),e=new Set;return a.flatMap((c)=>pa(c,i)?c:te(c,e,i))};var el=(n,i,o,a)=>{const e=v(a);if(i.type==="atom"||i.type==="mutable_atom")e.selectorAtoms.set({selectorKey:n,atomKey:i.key}),a.logger.info("\uD83D\uDD0D","selector",n,`discovers root atom "${i.key}"`);else{const c=te(i.key,o,a);a.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${c.map((l)=>`"${l}"`).join(", ")} ]`);for(let l of c)e.selectorAtoms=e.selectorAtoms.set({selectorKey:n,atomKey:l})}o.add(i.key)};var ra=(n,i,o)=>({get:(...a)=>{const e=v(o);let c;if(a.length===2){const[s,p]=a;switch(s.type){case"molecule_family":return I(o,s,p);default:if(o.config.lifespan==="ephemeral")c=L(o,s,p);else{const m=Z(o,s,p);if(m)c=m;else throw new dn(s,p,o)}}}else[c]=a;if(c.type==="molecule")return I(o,c);const l=h(c,o),t=pi(l,o);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${c.key}" =`,t,")"),e.selectorGraph.set({upstreamSelectorKey:c.key,downstreamSelectorKey:n},{source:c.key}),el(n,c,i,o),t},set:(...a)=>{let e,c;if(a.length===2)e=a[0],c=a[1];else{const s=a[0],p=a[1];c=a[2];const m=o.config.lifespan==="ephemeral"?L(o,s,p):Z(o,s,p);if(!m)throw new dn(s,p,o);e=m}const l=v(o),t=h(e,l);ia(t,c,l)},find:(a,e)=>L(o,a,e),seek:(a,e)=>Z(o,a,e),json:(a)=>sn(o,a)});var Ao=(n,i,o)=>{const a=v(n),e=new C,c=new Set,{get:l,find:t,seek:s,json:p}=ra(i.key,c,a),m=()=>{const y=i.get({get:l,find:t,seek:s,json:p});return Wn(i.key,y,e,v(n)),c.clear(),y},r={...i,subject:e,install:(y)=>Ao(y,i,o),get:m,type:"readonly_selector",...o&&{family:o}};a.readonlySelectors.set(i.key,r);const S=m();n.logger.info("\u2728",r.type,r.key,"=",S);const K={key:i.key,type:"readonly_selector"};if(o)K.family=o;return K};var zo=(n,i,o)=>{const a=v(n),e=new C,c=new Set,l=ra(i.key,c,a),{find:t,get:s,seek:p,json:m}=l,r={find:t,get:s,seek:p,json:m},S=(w=i.get,d=v(n))=>{const W=w(r);return Wn(i.key,W,e,d),c.clear(),W},y={...i,subject:e,install:(w)=>zo(w,i,o),get:S,set:(w)=>{const d=v(n),W=S(i.get,d),U=na(w)(W);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",W,"->",U,")"),Wn(i.key,U,e,d),Hi(d,i.key),en(d))e.next({newValue:U,oldValue:W});i.set(l,U)},type:"selector",...o&&{family:o}};a.selectors.set(i.key,y);const T=S();n.logger.info("\u2728",y.type,y.key,"=",T);const f={key:i.key,type:"selector"};if(o)f.family=o;return f};function Mo(n,i){if("set"in i){const e=zo(n,i,void 0);return n.on.selectorCreation.next(e),e}const a=Ao(n,i,void 0);return n.on.selectorCreation.next(a),a}function il(n,i){const o=v(i),{key:a}=n,e=h(n,o);if(!e.family)i.logger.error("\u274C","selector",a,"Standalone selectors cannot be disposed.");else{const c=o.molecules.get(e.family.subKey);if(c)c.tokens.delete(a);switch(n.type){case"selector":o.selectors.delete(a),h({key:e.family.key,type:"selector_family"},i).subject.next({type:"state_disposal",token:n});break;case"readonly_selector":o.readonlySelectors.delete(a),h({key:e.family.key,type:"readonly_selector_family"},i).subject.next({type:"state_disposal",token:n});break}if(o.valueMap.delete(a),o.selectorAtoms.delete(a),o.selectorGraph.delete(a),i.logger.info("\uD83D\uDD25",n.type,a,"deleted"),k(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function Jo(n,i,o){const a={key:i.key,type:"selector_family"},e=n.families.get(i.key);if(e)n.logger.error("\u2757","selector_family",i.key,`Overwriting an existing ${Yn(e)} "${e.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const c=new C,t=Object.assign((s)=>{const p=g(s),m={key:i.key,subKey:p},r=`${i.key}(${p})`,S=v(n),K=zo(S,{key:r,get:i.get(s),set:i.set(s)},m);return c.next({type:"state_creation",token:K}),K},a,{internalRoles:o,subject:c,install:(s)=>Jo(s,i),default:(s)=>{return i.get(s)({get:(...m)=>I(n,...m),find:(m,r)=>L(n,m,r),seek:(m,r)=>Z(n,m,r),json:(m)=>sn(n,m)})}});return n.families.set(i.key,t),a}function cl(n,i,o=Y.STORE){const a=Jo(o,{key:`${n.key}:JSON`,get:(c)=>({seek:l,get:t})=>{const s=l(n,c);if(s)return i.toJson(t(s));const p=g(c),m=o.molecules.get(p);if(m){const S=Gn(m,n,o);return i.toJson(t(S))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${p}"`);const r=_n(o,n,c);return i.toJson(t(r))},set:(c)=>({seek:l,set:t},s)=>{const p=l(n,c);if(p)t(p,i.fromJson(s));else{const m=g(c),r=o.molecules.get(m);if(r){const S=Gn(r,n,o);t(S,i.fromJson(s))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${m}"`);t(_n(o,n,c),i.fromJson(s))}}}},["mutable","json"]);return h(n,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(c)=>{if(c.token.family)Z(o,a,cn(c.token.family.subKey))}),a}var cn=(n)=>JSON.parse(n),g=(n)=>JSON.stringify(n),LF=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var ll=(n,i)=>{const o=v(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var me=(n,i)=>{const o=v(i);return al(n,i).map((e)=>{const c=o.atoms.get(e);if(c===void 0)throw new Error(`Atom "${e}", a dependency of selector "${n.key}", not found in store "${i.config.name}".`);return c.subject.subscribe(`${n.type}:${n.key}`,(l)=>{i.logger.info("\uD83D\uDCE2",n.type,n.key,"root",e,"went",l.oldValue,"->",l.newValue);const t=ll(n,o),s=pi(n,o);i.logger.info("\u2728",n.type,n.key,"went",t,"->",s),n.subject.next({newValue:s,oldValue:t})})})};function Sn(n,i,o,a){function e(r){if(a.operation.open){const S=a.on.operationClose.subscribe(`state subscription ${o}`,()=>{S(),i(r)})}else i(r)}const c=h(n,a);a.logger.info("\uD83D\uDC40",c.type,c.key,`Adding subscription "${o}"`);const l=c.type==="selector"||c.type==="readonly_selector";let t=null,s=e;if(l)t=me(c,a),s=(r)=>{if(t)t.length=0,t.push(...me(c,a));e(r)};const p=c.subject.subscribe(o,s);return()=>{if(a.logger.info("\uD83D\uDE48",c.type,c.key,`Removing subscription "${o}"`),p(),t)for(let r of t)r()}}var se=(n,i,o,a)=>{const e=h(n,a);a.logger.info("\uD83D\uDC40","timeline",n.key,`Adding subscription "${o}"`);const c=e.subject.subscribe(o,i);return()=>{a.logger.info("\uD83D\uDE48","timeline",n.key,`Removing subscription "${o}" from timeline`),c()}};var pe=(n,i,o,a)=>{const e=h(n,a);a.logger.info("\uD83D\uDC40","transaction",n.key,`Adding subscription "${o}"`);const c=e.subject.subscribe(o,i);return()=>{a.logger.info("\uD83D\uDE48","transaction",n.key,`Removing subscription "${o}"`),c()}};class mi{Update;initializeState(n,i){const o=`*${n.key}`;i.atoms.delete(o),i.valueMap.delete(o);const a=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,e=li(i,{key:o,default:null},a);if(i.parent?.valueMap.has(o)){const c=i.parent.valueMap.get(o);i.valueMap.set(o,c)}return e}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){const a=`tracker:${o.config.name}:${k(o)?o.transactionMeta.update.key:"main"}:${n.key}`,e=I(o,n);this.unsubscribeFromInnerValue=e.subscribe(a,(c)=>{D(o,i,c)}),this.unsubscribeFromState=Sn(n,(c)=>{if(c.newValue!==c.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=c.newValue.subscribe(a,(l)=>{D(o,i,l)})},a,o)}updateCore(n,i,o){const a=`tracker:${o.config.name}:${k(o)?o.transactionMeta.update.key:"main"}:${n.key}`;Sn(i,({newValue:e,oldValue:c})=>{const l=o.timelineTopics.getRelatedKey(i.key);if(l){if(o.timelines.get(l)?.timeTraveling){const p=se({key:l,type:"timeline"},(m)=>{p(),D(o,n,(r)=>{if(m==="redo"&&e)r.do(e);else if(m==="undo"&&c)r.undo(c);return r})},a,o);return}}const t=o.on.operationClose.subscribe(a,()=>{t();const s=I(o,n),p=e===null?-1:s.getUpdateNumber(e),m=p-s.cacheUpdateNumber;if(e&&m===1)D(o,n,(r)=>(r.do(e),r));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${s.cacheUpdateNumber+1}, but got ${p}`)})},a,o)}mutableState;latestUpdateState;dispose;constructor(n,i){this.mutableState=n;const o=v(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 go(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const a=v(n),e=a.atoms.get(i.key);if(e&&e.type==="mutable_atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),jn(e);const c=new C,l={...i,type:"mutable_atom",install:(p)=>{return p.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${p.config.name}"`),go(p,i,o)},subject:c};if(o)l.family=o;const t=i.default();a.atoms.set(l.key,l),ua(i.key,n),Wn(i.key,t,c,a);const s=jn(l);if(i.effects){let p=0;const m=[];for(let r of i.effects){const S=r({setSelf:(K)=>{D(n,s,K)},onSet:(K)=>Sn(s,K,`effect[${p}]`,n)});if(S)m.push(S);++p}l.cleanup=()=>{for(let r of m)r()}}if(new mi(s,n),!o)$c(s,i,n);return s}class re{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){const o=ci(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=h(o,i),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(a)=>{if(a.token.family){const e=cn(a.token.family.subKey);Z(i,this.latestUpdateAtoms,e),new mi(a.token,i)}}),this.latestUpdateAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(a)=>{if(a.token.family){const e=cn(a.token.family.subKey),c=Z(i,this.mutableAtoms,e);if(c)new mi(c,i)}})}}function Ro(n,i,o){const a={key:i.key,type:"mutable_atom_family"},e=n.families.get(i.key);if(e)n.logger.error("\u2757","mutable_atom_family",i.key,`Overwriting an existing ${Yn(e)} "${e.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const c=new C,t=Object.assign((s)=>{const p=g(s),m={key:i.key,subKey:p},r=`${i.key}(${p})`,S=v(n),K={key:r,default:()=>i.default(s),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)K.effects=i.effects(s);const y=go(S,K,m);return c.next({type:"state_creation",token:y}),y},a,{subject:c,install:(s)=>Ro(s,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,t),cl(t,i,n),new re(t,n),a}var Za=(n,i)=>{const o=v(i),a=`${n.key}:JSON`;return o.families.get(a)};var sn=(n,i)=>{if(i.family){const a=v(n),c={key:`${i.family.key}:JSON`,type:"selector_family"},l=h(c,a),t=JSON.parse(i.family.subKey);return L(n,l,t)}return{type:"selector",key:`${i.key}:JSON`}};var Pn=(n)=>{const o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function Qc(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function $o(n,i,o){const a=i.valueMap.get(n.key),e=o.valueMap.get(n.key);if(a===e){if(a===void 0)return typeof n.default==="function"?n.default():n.default;i.logger.info("\uD83D\uDCC3","atom",n.key,"copying");const c=n.toJson(a),l=n.fromJson(c);return o.valueMap.set(n.key,l),new mi(n,i),l}return e}function Wn(n,i,o,a){const e=a.valueMap.get(n);if(e instanceof Fo)e.use(i);if(i instanceof Promise){const c=new Fo(i);return a.valueMap.set(n,c),c.then((l)=>{Wn(n,l,o,a),o.next({newValue:l,oldValue:c})}).catch((l)=>{a.logger.error("\uD83D\uDCA5","state",n,"rejected:",l)}),c}return a.valueMap.set(n,i),i}var zc=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&k(i)){const{parent:a}=i;o=$o(n,a,i)}return o},Yc=(n,i)=>{const o=i.valueMap.get(n);if(o instanceof Fo){const a=o,e=i.selectors.get(n)??i.readonlySelectors.get(n);if(e)a.use(e.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 Bc=(n,i)=>{return v(i).atomsThatAreDefault.has(n)},ua=(n,i)=>{const o=v(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},Cc=(n,i)=>{const o=v(i);o.atomsThatAreDefault=new Set(v(i).atomsThatAreDefault),o.atomsThatAreDefault.delete(n)};function li(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const a=v(n),e=a.atoms.get(i.key);if(e&&e.type==="atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),jn(e);const c=new C,l={...i,type:"atom",install:(p)=>{return p.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${p.config.name}"`),li(p,i,o)},subject:c};if(o)l.family=o;let t=i.default;if(i.default instanceof Function)t=i.default();a.atoms.set(l.key,l),ua(i.key,n),Wn(i.key,t,c,a);const s=jn(l);if(i.effects){let p=0;const m=[];for(let r of i.effects){const S=r({setSelf:(K)=>{D(n,s,K)},onSet:(K)=>Sn(s,K,`effect[${p}]`,n)});if(S)m.push(S);++p}l.cleanup=()=>{for(let r of m)r()}}return s}function tl(n,i){if("mutable"in i){const e=go(n,i,void 0);return n.on.atomCreation.next(e),e}const a=li(n,i,void 0);return n.on.atomCreation.next(a),a}function le(n,i){const o=v(i),{key:a}=n,e=h(n,o);if(!e.family)i.logger.error("\u274C","atom",a,"Standalone atoms cannot be disposed.");else{e.cleanup?.();const c=i.valueMap.get(e.key);h({key:e.family.key,type:"atom_family"},i).subject.next({type:"state_disposal",token:n,value:c});const t=o.molecules.get(e.family.subKey);if(t)t.tokens.delete(a);if(o.atoms.delete(a),o.valueMap.delete(a),o.selectorAtoms.delete(a),o.atomsThatAreDefault.delete(a),i.timelineTopics.delete(a),n.type==="mutable_atom"){const s=Pn(n);le(s,i),i.trackers.delete(a)}if(i.logger.info("\uD83D\uDD25","atom",a,"deleted"),k(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.atomDisposal.next(n)}}function ri(n){return tl(Y.STORE,n)}function Fi(n){return jc(Y.STORE,n)}var ue=(n)=>(i,o,a,e,...c)=>{console[n](`${i} ${o} "${a}" ${e}`,...c)},Ym={error:ue("error"),info:ue("info"),warn:ue("warn")};class Wo{n;i;o;constructor(n,i,o=Ym){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 xa(n){return Da(Y.STORE,n)}function Mi(n){return ce(n,Y.STORE)}class Vi{n;listeners;globalListeners;handleEvent(n,...i){for(let a of this.globalListeners)a(n,...i);const o=this.listeners.get(n);if(o)for(let a of o)a(...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 Oo extends Vi{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((a,...e)=>{const c=JSON.stringify([a,...e])+"\x03",l=(t)=>{if(t.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",l)};return this.process.stdin.once("error",l),this.process.stdin.write(c),this});this.process=n;this.key=i;this.logger=o;if(this.process=n,this.process.stdout.on("data",(a)=>{const e=a.toString();if(e==="\u2728")return;this.unprocessedEvents.push(...e.split("\x03"));const c=this.unprocessedEvents.shift();this.incompleteData+=c??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let l=cn(this.incompleteData);this.handleEvent(...l);while(this.unprocessedEvents.length>0){const t=this.unprocessedEvents.shift();if(t){if(this.unprocessedEvents.length===0)this.incompleteData=t;l=cn(t),this.handleEvent(...l)}}this.incompleteData=""}catch(l){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(l)}}),this.process.stderr.on("data",(a)=>{const e=a.toString();this.unprocessedLogs.push(...e.split("\x03"));const c=this.unprocessedLogs.shift();this.incompleteLog+=c??"";try{let l=cn(this.incompleteLog);this.handleLog(l);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)l=cn(this.incompleteLog),this.handleLog(l)}catch(l){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(l),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class sl extends Vi{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new C,this.out=new C,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class xe extends Vi{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(g(n.map((i)=>i instanceof pn?`{ ${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 a=cn(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",a),this.handleEvent(...a);while(this.unprocessedEvents.length>0){const e=this.unprocessedEvents.shift();if(e){if(this.unprocessedEvents.length===0)this.incompleteData=e;const c=cn(e);this.handleEvent(...c)}}this.incompleteData=""}catch(a){if(a instanceof Error)this.logger.error("\u2757",a.message,a.cause,a.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 sl(`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 a=o(i);if(a)i.disposalFunctions.push(a)}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 ml(n){const{key:i,config:o}=n,a=fa.create(i,o),{actions:e}=a;for(let c of e)qc(i,c.key,Y.STORE);return Ic(i,-1,Y.STORE),a}class pl 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 fa{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new pl;static create(n,i){const o=new fa(n),{type:a,globals:e,actions:c,perspectives:l}=i(o),t={type:a,key:n,globals:e,actions:c,perspectives:l};return fa.existing.set(n,t),t}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,a]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:a})}break}return this}}var DA=ri({key:"usersInRoomIndex",mutable:!0,default:()=>new pn,toJson:(n)=>n.toJSON(),fromJson:(n)=>pn.fromJSON(n)}),fe=ri({key:"roomIndex",default:()=>new pn,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>pn.fromJSON(n)}),Gm={enteredAtEpoch:0},ho=ea({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},Gm),_A=xa({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=kc(ho);return[i(o,n)]}});import{spawn as Qm}from"child_process";var ve=Fi({key:"roomArguments",default:["echo",["Hello World!"]]}),rl=xa({key:"room",get:(n)=>async({get:i,find:o})=>{const a=o(ve,n),e=i(a),[c,l]=e,t=await new Promise((s)=>{const p=Qm(c,l,{env:process.env}),m=(r)=>{if(r.toString()==="\u2728")p.stdout.off("data",m),s(p)};p.stdout.on("data",m)});return new Oo(t,n)}});var mJ=Mi({key:"createRoom",do:({get:n,set:i,find:o},a,e,c)=>{const l=c?[e,c]:[e],t=o(ve,a);i(t,l),i(fe,(m)=>m.add(a));const s=o(rl,a);return n(s)}}),rJ=Mi({key:"joinRoom",do:(n,i,o,a)=>{const e={enteredAtEpoch:a};return di(ho,(c)=>{c.set({room:i,user:o},e)},n.env().store),e}}),uJ=Mi({key:"leaveRoom",do:(n,i,o)=>{di(ho,(a)=>{a.delete({room:i,user:o})},n.env().store)}}),xJ=Mi({key:"destroyRoom",do:(n,i)=>{di(ho,(o)=>{o.delete({room:i})},n.env().store),n.set(fe,(o)=>(o.delete(i),o))}});function be(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{const a=be(n,o.updates);return{...o,updates:a}}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 bJ=Fi({key:"transactionRedactor",default:{occlude:(n)=>n}}),ul=Fi({key:"unacknowledgedUpdates",default:()=>[]});var Xo=Fi({key:"sockets",default:null}),Se=ri({key:"socketsIndex",mutable:!0,default:()=>new pn,toJson:(n)=>n.toJSON(),fromJson:(n)=>pn.fromJSON(n)}),ye=ri({key:"usersIndex",mutable:!0,default:()=>new pn,toJson:(n)=>n.toJSON(),fromJson:(n)=>pn.fromJSON(n)}),Ri=ea({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function xl({socket:n,store:i=Y.STORE}){return function o(a){let e=n;const c=a.key,l=Ci(Ri,e.id,i).userKeyOfSocket,t=I(i,l);if(!t)return i.logger.error("\u274C","continuity",c,`Tried to create a synchronizer for a socket (${e.id}) that is not connected to a user.`),()=>{};const s=Ci(Ri,t,i).socketKeyOfUser;Sn(s,({newValue:w})=>{if(i.logger.info("\uD83D\uDC4B","continuity",c,`seeing ${t} on new socket ${w}`),w===null){i.logger.warn("\u274C","continuity",c,`User (${t}) is not connected to a socket, waiting for them to reappear.`);return}const d=L(i,Xo,w);e=I(i,d);for(let U of m)e?.emit(`tx-new:${c}`,U)},`sync-continuity:${c}:${t}`,i);const p=L(i,ul,t),m=I(i,p),r=[],K=(()=>{const w=[];for(let d of a.perspectives){const{viewAtoms:W}=d,U=L(i,W,t),b=Sn(U,({oldValue:u,newValue:R})=>{const A=u.map((B)=>B.key),J=R.map((B)=>B.key),j=u.filter((B)=>!J.includes(B.key)),G=R.filter((B)=>!A.includes(B.key)).flatMap((B)=>{const P=B.type==="mutable_atom"?sn(i,B):B,Xn=I(i,P);return[P,Xn]});if(i.logger.info("\uD83D\uDC41","atom",d.resourceAtoms.key,`${t} has a new perspective`,{oldKeys:A,newKeys:J,revealed:G,concealed:j}),G.length>0)e?.emit(`reveal:${c}`,G);if(j.length>0)e?.emit(`conceal:${c}`,j)},`sync-continuity:${c}:${t}:perspective:${d.resourceAtoms.key}`,i);w.push(b)}return()=>{for(let d of w)d()}})(),y=()=>{const w=[];for(let W of a.globals){const U=W.type==="mutable_atom"?sn(i,W):W,b=I(i,U);w.push(U,b)}for(let W of a.perspectives){const{viewAtoms:U,resourceAtoms:b}=W,u=L(i,U,t),R=I(i,u);i.logger.info("\uD83D\uDC41","atom",b.key,`${t} can see`,{viewAtoms:U,resourceAtoms:b,userView:R});for(let A of R){const J=A.type==="mutable_atom"?sn(i,A):A,j=I(i,J);w.push(J,j)}}const d=en(i)?i.transactionMeta.epoch.get(c)??null:null;e?.emit(`continuity-init:${c}`,d,w);for(let W of a.actions){const U=pe(W,(b)=>{try{const u=a.globals.map((J)=>{if(J.type==="atom")return J.key;return Pn(J).key}).concat(a.perspectives.flatMap((J)=>{const{viewAtoms:j}=J,G=L(i,j,t);return I(i,G).map((P)=>{return P.type==="mutable_atom"?"*"+P.key:P.key})})),R=be(u,b.updates),A={...b,updates:R};D(i,p,(J)=>{if(A)J.push(A),J.sort((j,G)=>j.epoch-G.epoch);return J}),e?.emit(`tx-new:${c}`,A)}catch(u){if(u instanceof Error)i.logger.error("\u274C","continuity",c,`failed to send update from transaction ${W.key} to ${t}`,u.message)}},`sync-continuity:${c}:${t}`,i);r.push(U)}};e.off(`get:${c}`,y),e.on(`get:${c}`,y);const T=(w)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",c,"received",w);const{key:d,id:W}=w,U=`tx-run:${d}:${W}`,b=`${U}:start`,u=`${U}:end`;performance.mark(b);try{si({type:"transaction",key:d},W,i)(...w.params)}catch(G){if(G instanceof Error)i.logger.error("\u274C","continuity",c,`failed to run transaction ${d} with update ${W}`,G.message)}performance.mark(u);const R=performance.measure(U,b,u);i?.logger.info("\uD83D\uDE80","transaction",d,W,R.duration);const A=`valuesOfCardsView("${t}")`,J=i.selectorAtoms.getRelatedKeys(A),j=i.valueMap.get(A);i.logger.info("\uD83D\uDC41","continuity",c,`seeing ${t} card values`,{valuesOfCardsViewKey:A,rootsOfCardValueView:J,myCardValueView:j})};e.off(`tx-run:${c}`,T),e.on(`tx-run:${c}`,T);const f=(w)=>{if(i.logger.info("\uD83D\uDC4D","continuity",c,`${t} acknowledged epoch ${w}`),m[0]?.epoch===w)D(i,p,(W)=>{return W.shift(),W})};return e?.on(`ack:${c}`,f),()=>{for(let w of r)w();e?.off(`ack:${c}`,f),K(),e?.off(`get:${c}`,y),e?.off(`tx-run:${c}`,T)}}}var Pp=Jc(qp(),1),{Server:Zp,Namespace:uK,Socket:xK}=Pp.default;import{spawn as Pb}from"child_process";import{resolve as Zb}from"path";function Wv(n){om=n}function Ca(){return om}function F(n,i){const o=Ca(),a=Va({issueData:i,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,o,o===to?void 0:to].filter((e)=>!!e)});n.common.issues.push(a)}function Ea(n,i,o,a){if(o==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof i==="function"?n!==i||!a:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?a:o==="a"?a.call(n):a?a.value:i.get(n)}function am(n,i,o,a,e){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!e)throw new TypeError("Private accessor was defined without a setter");if(typeof i==="function"?n!==i||!e:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?e.call(n,o):e?e.value=o:i.set(n,o),o}function H(n){if(!n)return{};const{errorMap:i,invalid_type_error:o,required_error:a,description:e}=n;if(i&&(o||a))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(i)return{errorMap:i,description:e};return{errorMap:(l,t)=>{var s,p;const{message:m}=n;if(l.code==="invalid_enum_value")return{message:m!==null&&m!==void 0?m:t.defaultError};if(typeof t.data==="undefined")return{message:(s=m!==null&&m!==void 0?m:a)!==null&&s!==void 0?s:t.defaultError};if(l.code!=="invalid_type")return{message:t.defaultError};return{message:(p=m!==null&&m!==void 0?m:o)!==null&&p!==void 0?p:t.defaultError}},description:e}}function cm(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 Uv(n){return new RegExp(`^${cm(n)}\$`)}function lm(n){let i=`${em}T${cm(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 kv(n,i){if((i==="v4"||!i)&&Bv.test(n))return!0;if((i==="v6"||!i)&&Cv.test(n))return!0;return!1}function Lv(n,i){const o=(n.toString().split(".")[1]||"").length,a=(i.toString().split(".")[1]||"").length,e=o>a?o:a,c=parseInt(n.toFixed(e).replace(".","")),l=parseInt(i.toFixed(e).replace(".",""));return c%l/Math.pow(10,e)}function eo(n){if(n instanceof on){const i={};for(let o in n.shape){const a=n.shape[o];i[o]=Un.create(eo(a))}return new on({...n._def,shape:()=>i})}else if(n instanceof En)return new En({...n._def,type:eo(n.element)});else if(n instanceof Un)return Un.create(eo(n.unwrap()));else if(n instanceof ai)return ai.create(eo(n.unwrap()));else if(n instanceof Dn)return Dn.create(n.items.map((i)=>eo(i)));else return n}function Sc(n,i){const o=bi(n),a=bi(i);if(n===i)return{valid:!0,data:n};else if(o===M.object&&a===M.object){const e=N.objectKeys(i),c=N.objectKeys(n).filter((t)=>e.indexOf(t)!==-1),l={...n,...i};for(let t of c){const s=Sc(n[t],i[t]);if(!s.valid)return{valid:!1};l[t]=s.data}return{valid:!0,data:l}}else if(o===M.array&&a===M.array){if(n.length!==i.length)return{valid:!1};const e=[];for(let c=0;c<n.length;c++){const l=n[c],t=i[c],s=Sc(l,t);if(!s.valid)return{valid:!1};e.push(s.data)}return{valid:!0,data:e}}else if(o===M.date&&a===M.date&&+n===+i)return{valid:!0,data:n};else return{valid:!1}}function tm(n,i){return new wi({values:n,typeName:O.ZodEnum,...H(i)})}function sm(n,i={},o){if(n)return hi.create().superRefine((a,e)=>{var c,l;if(!n(a)){const t=typeof i==="function"?i(a):typeof i==="string"?{message:i}:i,s=(l=(c=t.fatal)!==null&&c!==void 0?c:o)!==null&&l!==void 0?l:!0,p=typeof t==="string"?{message:t}:t;e.addIssue({code:"custom",...p,fatal:s})}});return hi.create()}var N;(function(n){n.assertEqual=(e)=>e;function i(e){}n.assertIs=i;function o(e){throw new Error}n.assertNever=o,n.arrayToEnum=(e)=>{const c={};for(let l of e)c[l]=l;return c},n.getValidEnumValues=(e)=>{const c=n.objectKeys(e).filter((t)=>typeof e[e[t]]!=="number"),l={};for(let t of c)l[t]=e[t];return n.objectValues(l)},n.objectValues=(e)=>{return n.objectKeys(e).map(function(c){return e[c]})},n.objectKeys=typeof Object.keys==="function"?(e)=>Object.keys(e):(e)=>{const c=[];for(let l in e)if(Object.prototype.hasOwnProperty.call(e,l))c.push(l);return c},n.find=(e,c)=>{for(let l of e)if(c(l))return l;return},n.isInteger=typeof Number.isInteger==="function"?(e)=>Number.isInteger(e):(e)=>typeof e==="number"&&isFinite(e)&&Math.floor(e)===e;function a(e,c=" | "){return e.map((l)=>typeof l==="string"?`'${l}'`:l).join(c)}n.joinValues=a,n.jsonStringifyReplacer=(e,c)=>{if(typeof c==="bigint")return c.toString();return c}})(N||(N={}));var fc;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(fc||(fc={}));var M=N.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),bi=(n)=>{switch(typeof n){case"undefined":return M.undefined;case"string":return M.string;case"number":return isNaN(n)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":if(Array.isArray(n))return M.array;if(n===null)return M.null;if(n.then&&typeof n.then==="function"&&n.catch&&typeof n.catch==="function")return M.promise;if(typeof Map!=="undefined"&&n instanceof Map)return M.map;if(typeof Set!=="undefined"&&n instanceof Set)return M.set;if(typeof Date!=="undefined"&&n instanceof Date)return M.date;return M.object;default:return M.unknown}},x=N.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"]),jv=(n)=>{return JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:")};class Kn 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(e){return e.message},o={_errors:[]},a=(e)=>{for(let c of e.issues)if(c.code==="invalid_union")c.unionErrors.map(a);else if(c.code==="invalid_return_type")a(c.returnTypeError);else if(c.code==="invalid_arguments")a(c.argumentsError);else if(c.path.length===0)o._errors.push(i(c));else{let l=o,t=0;while(t<c.path.length){const s=c.path[t];if(t!==c.path.length-1)l[s]=l[s]||{_errors:[]};else l[s]=l[s]||{_errors:[]},l[s]._errors.push(i(c));l=l[s],t++}}};return a(this),o}static assert(n){if(!(n instanceof Kn))throw new Error(`Not a ZodError: ${n}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,N.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(n=(i)=>i.message){const i={},o=[];for(let a of this.issues)if(a.path.length>0)i[a.path[0]]=i[a.path[0]]||[],i[a.path[0]].push(n(a));else o.push(n(a));return{formErrors:o,fieldErrors:i}}get formErrors(){return this.flatten()}}Kn.create=(n)=>{return new Kn(n)};var to=(n,i)=>{let o;switch(n.code){case x.invalid_type:if(n.received===M.undefined)o="Required";else o=`Expected ${n.expected}, received ${n.received}`;break;case x.invalid_literal:o=`Invalid literal value, expected ${JSON.stringify(n.expected,N.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:o=`Unrecognized key(s) in object: ${N.joinValues(n.keys,", ")}`;break;case x.invalid_union:o="Invalid input";break;case x.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${N.joinValues(n.options)}`;break;case x.invalid_enum_value:o=`Invalid enum value. Expected ${N.joinValues(n.options)}, received '${n.received}'`;break;case x.invalid_arguments:o="Invalid function arguments";break;case x.invalid_return_type:o="Invalid function return type";break;case x.invalid_date:o="Invalid date";break;case x.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 N.assertNever(n.validation);else if(n.validation!=="regex")o=`Invalid ${n.validation}`;else o="Invalid";break;case x.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 x.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 x.custom:o="Invalid input";break;case x.invalid_intersection_types:o="Intersection results could not be merged";break;case x.not_multiple_of:o=`Number must be a multiple of ${n.multipleOf}`;break;case x.not_finite:o="Number must be finite";break;default:o=i.defaultError,N.assertNever(n)}return{message:o}},om=to,Va=(n)=>{const{data:i,path:o,errorMaps:a,issueData:e}=n,c=[...o,...e.path||[]],l={...e,path:c};if(e.message!==void 0)return{...e,path:c,message:e.message};let t="";const s=a.filter((p)=>!!p).slice().reverse();for(let p of s)t=p(l,{data:i,defaultError:t}).message;return{...e,path:c,message:t}},zv=[];class bn{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 a of i){if(a.status==="aborted")return X;if(a.status==="dirty")n.dirty();o.push(a.value)}return{status:n.value,value:o}}static async mergeObjectAsync(n,i){const o=[];for(let a of i){const e=await a.key,c=await a.value;o.push({key:e,value:c})}return bn.mergeObjectSync(n,o)}static mergeObjectSync(n,i){const o={};for(let a of i){const{key:e,value:c}=a;if(e.status==="aborted")return X;if(c.status==="aborted")return X;if(e.status==="dirty")n.dirty();if(c.status==="dirty")n.dirty();if(e.value!=="__proto__"&&(typeof c.value!=="undefined"||a.alwaysSet))o[e.value]=c.value}return{status:n.value,value:o}}}var X=Object.freeze({status:"aborted"}),co=(n)=>({status:"dirty",value:n}),Tn=(n)=>({status:"valid",value:n}),vc=(n)=>n.status==="aborted",bc=(n)=>n.status==="dirty",ko=(n)=>n.status==="valid",Lo=(n)=>typeof Promise!=="undefined"&&n instanceof Promise;var z;(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})(z||(z={}));var Eo,Uo;class kn{constructor(n,i,o,a){this._cachedPath=[],this.parent=n,this.data=i,this._path=o,this._key=a}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 nm=(n,i)=>{if(ko(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 Kn(n.common.issues);return this._error=o,this._error}}}};class V{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 bi(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:bi(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new bn,ctx:{common:n.parent.common,data:n.data,parsedType:bi(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){const i=this._parse(n);if(Lo(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 a={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:bi(n)},e=this._parseSync({data:n,path:a.path,parent:a});return nm(a,e)}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:bi(n)},a=this._parse({data:n,path:o.path,parent:o}),e=await(Lo(a)?a:Promise.resolve(a));return nm(o,e)}refine(n,i){const o=(a)=>{if(typeof i==="string"||typeof i==="undefined")return{message:i};else if(typeof i==="function")return i(a);else return i};return this._refinement((a,e)=>{const c=n(a),l=()=>e.addIssue({code:x.custom,...o(a)});if(typeof Promise!=="undefined"&&c instanceof Promise)return c.then((t)=>{if(!t)return l(),!1;else return!0});if(!c)return l(),!1;else return!0})}refinement(n,i){return this._refinement((o,a)=>{if(!n(o))return a.addIssue(typeof i==="function"?i(o,a):i),!1;else return!0})}_refinement(n){return new hn({schema:this,typeName:O.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}optional(){return Un.create(this,this._def)}nullable(){return ai.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return En.create(this,this._def)}promise(){return Yi.create(this,this._def)}or(n){return ro.create([this,n],this._def)}and(n){return uo.create(this,n,this._def)}transform(n){return new hn({...H(this._def),schema:this,typeName:O.ZodEffects,effect:{type:"transform",transform:n}})}default(n){const i=typeof n==="function"?n:()=>n;return new bo({...H(this._def),innerType:this,defaultValue:i,typeName:O.ZodDefault})}brand(){return new ka({typeName:O.ZodBranded,type:this,...H(this._def)})}catch(n){const i=typeof n==="function"?n:()=>n;return new So({...H(this._def),innerType:this,catchValue:i,typeName:O.ZodCatch})}describe(n){return new this.constructor({...this._def,description:n})}pipe(n){return Po.create(this,n)}readonly(){return yo.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var gv=/^c[^\s-]{8,}$/i,Ov=/^[0-9a-z]+$/,hv=/^[0-9A-HJKMNP-TV-Z]{26}$/,Xv=/^[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,Yv=/^[a-z0-9_-]{21}$/i,Gv=/^[-+]?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)?)??$/,Qv=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Hv="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",xc,Bv=/^(?:(?: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])$/,Cv=/^(([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})))$/,Vv=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,em="((\\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])))",Ev=new RegExp(`^${em}\$`);class Vn extends V{_parse(n){if(this._def.coerce)n.data=String(n.data);if(this._getType(n)!==M.string){const e=this._getOrReturnCtx(n);return F(e,{code:x.invalid_type,expected:M.string,received:e.parsedType}),X}const o=new bn;let a=void 0;for(let e of this._def.checks)if(e.kind==="min"){if(n.data.length<e.value)a=this._getOrReturnCtx(n,a),F(a,{code:x.too_small,minimum:e.value,type:"string",inclusive:!0,exact:!1,message:e.message}),o.dirty()}else if(e.kind==="max"){if(n.data.length>e.value)a=this._getOrReturnCtx(n,a),F(a,{code:x.too_big,maximum:e.value,type:"string",inclusive:!0,exact:!1,message:e.message}),o.dirty()}else if(e.kind==="length"){const c=n.data.length>e.value,l=n.data.length<e.value;if(c||l){if(a=this._getOrReturnCtx(n,a),c)F(a,{code:x.too_big,maximum:e.value,type:"string",inclusive:!0,exact:!0,message:e.message});else if(l)F(a,{code:x.too_small,minimum:e.value,type:"string",inclusive:!0,exact:!0,message:e.message});o.dirty()}}else if(e.kind==="email"){if(!Qv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"email",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="emoji"){if(!xc)xc=new RegExp(Hv,"u");if(!xc.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"emoji",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="uuid"){if(!Xv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"uuid",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="nanoid"){if(!Yv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"nanoid",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="cuid"){if(!gv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"cuid",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="cuid2"){if(!Ov.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"cuid2",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="ulid"){if(!hv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"ulid",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="url")try{new URL(n.data)}catch(c){a=this._getOrReturnCtx(n,a),F(a,{validation:"url",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="regex"){if(e.regex.lastIndex=0,!e.regex.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"regex",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="trim")n.data=n.data.trim();else if(e.kind==="includes"){if(!n.data.includes(e.value,e.position))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:{includes:e.value,position:e.position},message:e.message}),o.dirty()}else if(e.kind==="toLowerCase")n.data=n.data.toLowerCase();else if(e.kind==="toUpperCase")n.data=n.data.toUpperCase();else if(e.kind==="startsWith"){if(!n.data.startsWith(e.value))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:{startsWith:e.value},message:e.message}),o.dirty()}else if(e.kind==="endsWith"){if(!n.data.endsWith(e.value))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:{endsWith:e.value},message:e.message}),o.dirty()}else if(e.kind==="datetime"){if(!lm(e).test(n.data))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:"datetime",message:e.message}),o.dirty()}else if(e.kind==="date"){if(!Ev.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:"date",message:e.message}),o.dirty()}else if(e.kind==="time"){if(!Uv(e).test(n.data))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:"time",message:e.message}),o.dirty()}else if(e.kind==="duration"){if(!Gv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"duration",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="ip"){if(!kv(n.data,e.version))a=this._getOrReturnCtx(n,a),F(a,{validation:"ip",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="base64"){if(!Vv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"base64",code:x.invalid_string,message:e.message}),o.dirty()}else N.assertNever(e);return{status:o.value,value:n.data}}_regex(n,i,o){return this.refinement((a)=>n.test(a),{validation:i,code:x.invalid_string,...z.errToObj(o)})}_addCheck(n){return new Vn({...this._def,checks:[...this._def.checks,n]})}email(n){return this._addCheck({kind:"email",...z.errToObj(n)})}url(n){return this._addCheck({kind:"url",...z.errToObj(n)})}emoji(n){return this._addCheck({kind:"emoji",...z.errToObj(n)})}uuid(n){return this._addCheck({kind:"uuid",...z.errToObj(n)})}nanoid(n){return this._addCheck({kind:"nanoid",...z.errToObj(n)})}cuid(n){return this._addCheck({kind:"cuid",...z.errToObj(n)})}cuid2(n){return this._addCheck({kind:"cuid2",...z.errToObj(n)})}ulid(n){return this._addCheck({kind:"ulid",...z.errToObj(n)})}base64(n){return this._addCheck({kind:"base64",...z.errToObj(n)})}ip(n){return this._addCheck({kind:"ip",...z.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,...z.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,...z.errToObj(n===null||n===void 0?void 0:n.message)})}duration(n){return this._addCheck({kind:"duration",...z.errToObj(n)})}regex(n,i){return this._addCheck({kind:"regex",regex:n,...z.errToObj(i)})}includes(n,i){return this._addCheck({kind:"includes",value:n,position:i===null||i===void 0?void 0:i.position,...z.errToObj(i===null||i===void 0?void 0:i.message)})}startsWith(n,i){return this._addCheck({kind:"startsWith",value:n,...z.errToObj(i)})}endsWith(n,i){return this._addCheck({kind:"endsWith",value:n,...z.errToObj(i)})}min(n,i){return this._addCheck({kind:"min",value:n,...z.errToObj(i)})}max(n,i){return this._addCheck({kind:"max",value:n,...z.errToObj(i)})}length(n,i){return this._addCheck({kind:"length",value:n,...z.errToObj(i)})}nonempty(n){return this.min(1,z.errToObj(n))}trim(){return new Vn({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Vn({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Vn({...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}}Vn.create=(n)=>{var i;return new Vn({checks:[],typeName:O.ZodString,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...H(n)})};class yi extends V{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)!==M.number){const e=this._getOrReturnCtx(n);return F(e,{code:x.invalid_type,expected:M.number,received:e.parsedType}),X}let o=void 0;const a=new bn;for(let e of this._def.checks)if(e.kind==="int"){if(!N.isInteger(n.data))o=this._getOrReturnCtx(n,o),F(o,{code:x.invalid_type,expected:"integer",received:"float",message:e.message}),a.dirty()}else if(e.kind==="min"){if(e.inclusive?n.data<e.value:n.data<=e.value)o=this._getOrReturnCtx(n,o),F(o,{code:x.too_small,minimum:e.value,type:"number",inclusive:e.inclusive,exact:!1,message:e.message}),a.dirty()}else if(e.kind==="max"){if(e.inclusive?n.data>e.value:n.data>=e.value)o=this._getOrReturnCtx(n,o),F(o,{code:x.too_big,maximum:e.value,type:"number",inclusive:e.inclusive,exact:!1,message:e.message}),a.dirty()}else if(e.kind==="multipleOf"){if(Lv(n.data,e.value)!==0)o=this._getOrReturnCtx(n,o),F(o,{code:x.not_multiple_of,multipleOf:e.value,message:e.message}),a.dirty()}else if(e.kind==="finite"){if(!Number.isFinite(n.data))o=this._getOrReturnCtx(n,o),F(o,{code:x.not_finite,message:e.message}),a.dirty()}else N.assertNever(e);return{status:a.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,z.toString(i))}gt(n,i){return this.setLimit("min",n,!1,z.toString(i))}lte(n,i){return this.setLimit("max",n,!0,z.toString(i))}lt(n,i){return this.setLimit("max",n,!1,z.toString(i))}setLimit(n,i,o,a){return new yi({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:z.toString(a)}]})}_addCheck(n){return new yi({...this._def,checks:[...this._def.checks,n]})}int(n){return this._addCheck({kind:"int",message:z.toString(n)})}positive(n){return this._addCheck({kind:"min",value:0,inclusive:!1,message:z.toString(n)})}negative(n){return this._addCheck({kind:"max",value:0,inclusive:!1,message:z.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:0,inclusive:!0,message:z.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:0,inclusive:!0,message:z.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:z.toString(i)})}finite(n){return this._addCheck({kind:"finite",message:z.toString(n)})}safe(n){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:z.toString(n)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:z.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"&&N.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)}}yi.create=(n)=>{return new yi({checks:[],typeName:O.ZodNumber,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...H(n)})};class Ti extends V{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)!==M.bigint){const e=this._getOrReturnCtx(n);return F(e,{code:x.invalid_type,expected:M.bigint,received:e.parsedType}),X}let o=void 0;const a=new bn;for(let e of this._def.checks)if(e.kind==="min"){if(e.inclusive?n.data<e.value:n.data<=e.value)o=this._getOrReturnCtx(n,o),F(o,{code:x.too_small,type:"bigint",minimum:e.value,inclusive:e.inclusive,message:e.message}),a.dirty()}else if(e.kind==="max"){if(e.inclusive?n.data>e.value:n.data>=e.value)o=this._getOrReturnCtx(n,o),F(o,{code:x.too_big,type:"bigint",maximum:e.value,inclusive:e.inclusive,message:e.message}),a.dirty()}else if(e.kind==="multipleOf"){if(n.data%e.value!==BigInt(0))o=this._getOrReturnCtx(n,o),F(o,{code:x.not_multiple_of,multipleOf:e.value,message:e.message}),a.dirty()}else N.assertNever(e);return{status:a.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,z.toString(i))}gt(n,i){return this.setLimit("min",n,!1,z.toString(i))}lte(n,i){return this.setLimit("max",n,!0,z.toString(i))}lt(n,i){return this.setLimit("max",n,!1,z.toString(i))}setLimit(n,i,o,a){return new Ti({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:z.toString(a)}]})}_addCheck(n){return new Ti({...this._def,checks:[...this._def.checks,n]})}positive(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:z.toString(n)})}negative(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:z.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:z.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:z.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:z.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}}Ti.create=(n)=>{var i;return new Ti({checks:[],typeName:O.ZodBigInt,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...H(n)})};class so extends V{_parse(n){if(this._def.coerce)n.data=Boolean(n.data);if(this._getType(n)!==M.boolean){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.boolean,received:o.parsedType}),X}return Tn(n.data)}}so.create=(n)=>{return new so({typeName:O.ZodBoolean,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...H(n)})};class Oi extends V{_parse(n){if(this._def.coerce)n.data=new Date(n.data);if(this._getType(n)!==M.date){const e=this._getOrReturnCtx(n);return F(e,{code:x.invalid_type,expected:M.date,received:e.parsedType}),X}if(isNaN(n.data.getTime())){const e=this._getOrReturnCtx(n);return F(e,{code:x.invalid_date}),X}const o=new bn;let a=void 0;for(let e of this._def.checks)if(e.kind==="min"){if(n.data.getTime()<e.value)a=this._getOrReturnCtx(n,a),F(a,{code:x.too_small,message:e.message,inclusive:!0,exact:!1,minimum:e.value,type:"date"}),o.dirty()}else if(e.kind==="max"){if(n.data.getTime()>e.value)a=this._getOrReturnCtx(n,a),F(a,{code:x.too_big,message:e.message,inclusive:!0,exact:!1,maximum:e.value,type:"date"}),o.dirty()}else N.assertNever(e);return{status:o.value,value:new Date(n.data.getTime())}}_addCheck(n){return new Oi({...this._def,checks:[...this._def.checks,n]})}min(n,i){return this._addCheck({kind:"min",value:n.getTime(),message:z.toString(i)})}max(n,i){return this._addCheck({kind:"max",value:n.getTime(),message:z.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}}Oi.create=(n)=>{return new Oi({checks:[],coerce:(n===null||n===void 0?void 0:n.coerce)||!1,typeName:O.ZodDate,...H(n)})};class No extends V{_parse(n){if(this._getType(n)!==M.symbol){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.symbol,received:o.parsedType}),X}return Tn(n.data)}}No.create=(n)=>{return new No({typeName:O.ZodSymbol,...H(n)})};class po extends V{_parse(n){if(this._getType(n)!==M.undefined){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.undefined,received:o.parsedType}),X}return Tn(n.data)}}po.create=(n)=>{return new po({typeName:O.ZodUndefined,...H(n)})};class mo extends V{_parse(n){if(this._getType(n)!==M.null){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.null,received:o.parsedType}),X}return Tn(n.data)}}mo.create=(n)=>{return new mo({typeName:O.ZodNull,...H(n)})};class hi extends V{constructor(){super(...arguments);this._any=!0}_parse(n){return Tn(n.data)}}hi.create=(n)=>{return new hi({typeName:O.ZodAny,...H(n)})};class Si extends V{constructor(){super(...arguments);this._unknown=!0}_parse(n){return Tn(n.data)}}Si.create=(n)=>{return new Si({typeName:O.ZodUnknown,...H(n)})};class In extends V{_parse(n){const i=this._getOrReturnCtx(n);return F(i,{code:x.invalid_type,expected:M.never,received:i.parsedType}),X}}In.create=(n)=>{return new In({typeName:O.ZodNever,...H(n)})};class Io extends V{_parse(n){if(this._getType(n)!==M.undefined){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.void,received:o.parsedType}),X}return Tn(n.data)}}Io.create=(n)=>{return new Io({typeName:O.ZodVoid,...H(n)})};class En extends V{_parse(n){const{ctx:i,status:o}=this._processInputParams(n),a=this._def;if(i.parsedType!==M.array)return F(i,{code:x.invalid_type,expected:M.array,received:i.parsedType}),X;if(a.exactLength!==null){const c=i.data.length>a.exactLength.value,l=i.data.length<a.exactLength.value;if(c||l)F(i,{code:c?x.too_big:x.too_small,minimum:l?a.exactLength.value:void 0,maximum:c?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),o.dirty()}if(a.minLength!==null){if(i.data.length<a.minLength.value)F(i,{code:x.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),o.dirty()}if(a.maxLength!==null){if(i.data.length>a.maxLength.value)F(i,{code:x.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),o.dirty()}if(i.common.async)return Promise.all([...i.data].map((c,l)=>{return a.type._parseAsync(new kn(i,c,i.path,l))})).then((c)=>{return bn.mergeArray(o,c)});const e=[...i.data].map((c,l)=>{return a.type._parseSync(new kn(i,c,i.path,l))});return bn.mergeArray(o,e)}get element(){return this._def.type}min(n,i){return new En({...this._def,minLength:{value:n,message:z.toString(i)}})}max(n,i){return new En({...this._def,maxLength:{value:n,message:z.toString(i)}})}length(n,i){return new En({...this._def,exactLength:{value:n,message:z.toString(i)}})}nonempty(n){return this.min(1,n)}}En.create=(n,i)=>{return new En({type:n,minLength:null,maxLength:null,exactLength:null,typeName:O.ZodArray,...H(i)})};class on extends V{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=N.objectKeys(n);return this._cached={shape:n,keys:i}}_parse(n){if(this._getType(n)!==M.object){const s=this._getOrReturnCtx(n);return F(s,{code:x.invalid_type,expected:M.object,received:s.parsedType}),X}const{status:o,ctx:a}=this._processInputParams(n),{shape:e,keys:c}=this._getCached(),l=[];if(!(this._def.catchall instanceof In&&this._def.unknownKeys==="strip")){for(let s in a.data)if(!c.includes(s))l.push(s)}const t=[];for(let s of c){const p=e[s],m=a.data[s];t.push({key:{status:"valid",value:s},value:p._parse(new kn(a,m,a.path,s)),alwaysSet:s in a.data})}if(this._def.catchall instanceof In){const s=this._def.unknownKeys;if(s==="passthrough")for(let p of l)t.push({key:{status:"valid",value:p},value:{status:"valid",value:a.data[p]}});else if(s==="strict"){if(l.length>0)F(a,{code:x.unrecognized_keys,keys:l}),o.dirty()}else if(s==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const s=this._def.catchall;for(let p of l){const m=a.data[p];t.push({key:{status:"valid",value:p},value:s._parse(new kn(a,m,a.path,p)),alwaysSet:p in a.data})}}if(a.common.async)return Promise.resolve().then(async()=>{const s=[];for(let p of t){const m=await p.key,r=await p.value;s.push({key:m,value:r,alwaysSet:p.alwaysSet})}return s}).then((s)=>{return bn.mergeObjectSync(o,s)});else return bn.mergeObjectSync(o,t)}get shape(){return this._def.shape()}strict(n){return z.errToObj,new on({...this._def,unknownKeys:"strict",...n!==void 0?{errorMap:(i,o)=>{var a,e,c,l;const t=(c=(e=(a=this._def).errorMap)===null||e===void 0?void 0:e.call(a,i,o).message)!==null&&c!==void 0?c:o.defaultError;if(i.code==="unrecognized_keys")return{message:(l=z.errToObj(n).message)!==null&&l!==void 0?l:t};return{message:t}}}:{}})}strip(){return new on({...this._def,unknownKeys:"strip"})}passthrough(){return new on({...this._def,unknownKeys:"passthrough"})}extend(n){return new on({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new on({unknownKeys:n._def.unknownKeys,catchall:n._def.catchall,shape:()=>({...this._def.shape(),...n._def.shape()}),typeName:O.ZodObject})}setKey(n,i){return this.augment({[n]:i})}catchall(n){return new on({...this._def,catchall:n})}pick(n){const i={};return N.objectKeys(n).forEach((o)=>{if(n[o]&&this.shape[o])i[o]=this.shape[o]}),new on({...this._def,shape:()=>i})}omit(n){const i={};return N.objectKeys(this.shape).forEach((o)=>{if(!n[o])i[o]=this.shape[o]}),new on({...this._def,shape:()=>i})}deepPartial(){return eo(this)}partial(n){const i={};return N.objectKeys(this.shape).forEach((o)=>{const a=this.shape[o];if(n&&!n[o])i[o]=a;else i[o]=a.optional()}),new on({...this._def,shape:()=>i})}required(n){const i={};return N.objectKeys(this.shape).forEach((o)=>{if(n&&!n[o])i[o]=this.shape[o];else{let e=this.shape[o];while(e instanceof Un)e=e._def.innerType;i[o]=e}}),new on({...this._def,shape:()=>i})}keyof(){return tm(N.objectKeys(this.shape))}}on.create=(n,i)=>{return new on({shape:()=>n,unknownKeys:"strip",catchall:In.create(),typeName:O.ZodObject,...H(i)})};on.strictCreate=(n,i)=>{return new on({shape:()=>n,unknownKeys:"strict",catchall:In.create(),typeName:O.ZodObject,...H(i)})};on.lazycreate=(n,i)=>{return new on({shape:n,unknownKeys:"strip",catchall:In.create(),typeName:O.ZodObject,...H(i)})};class ro extends V{_parse(n){const{ctx:i}=this._processInputParams(n),o=this._def.options;function a(e){for(let l of e)if(l.result.status==="valid")return l.result;for(let l of e)if(l.result.status==="dirty")return i.common.issues.push(...l.ctx.common.issues),l.result;const c=e.map((l)=>new Kn(l.ctx.common.issues));return F(i,{code:x.invalid_union,unionErrors:c}),X}if(i.common.async)return Promise.all(o.map(async(e)=>{const c={...i,common:{...i.common,issues:[]},parent:null};return{result:await e._parseAsync({data:i.data,path:i.path,parent:c}),ctx:c}})).then(a);else{let e=void 0;const c=[];for(let t of o){const s={...i,common:{...i.common,issues:[]},parent:null},p=t._parseSync({data:i.data,path:i.path,parent:s});if(p.status==="valid")return p;else if(p.status==="dirty"&&!e)e={result:p,ctx:s};if(s.common.issues.length)c.push(s.common.issues)}if(e)return i.common.issues.push(...e.ctx.common.issues),e.result;const l=c.map((t)=>new Kn(t));return F(i,{code:x.invalid_union,unionErrors:l}),X}}get options(){return this._def.options}}ro.create=(n,i)=>{return new ro({options:n,typeName:O.ZodUnion,...H(i)})};var oi=(n)=>{if(n instanceof xo)return oi(n.schema);else if(n instanceof hn)return oi(n.innerType());else if(n instanceof fo)return[n.value];else if(n instanceof wi)return n.options;else if(n instanceof vo)return N.objectValues(n.enum);else if(n instanceof bo)return oi(n._def.innerType);else if(n instanceof po)return[void 0];else if(n instanceof mo)return[null];else if(n instanceof Un)return[void 0,...oi(n.unwrap())];else if(n instanceof ai)return[null,...oi(n.unwrap())];else if(n instanceof ka)return oi(n.unwrap());else if(n instanceof yo)return oi(n.unwrap());else if(n instanceof So)return oi(n._def.innerType);else return[]};class Ua extends V{_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==M.object)return F(i,{code:x.invalid_type,expected:M.object,received:i.parsedType}),X;const o=this.discriminator,a=i.data[o],e=this.optionsMap.get(a);if(!e)return F(i,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[o]}),X;if(i.common.async)return e._parseAsync({data:i.data,path:i.path,parent:i});else return e._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 a=new Map;for(let e of i){const c=oi(e.shape[n]);if(!c.length)throw new Error(`A discriminator value for key \`${n}\` could not be extracted from all schema options`);for(let l of c){if(a.has(l))throw new Error(`Discriminator property ${String(n)} has duplicate value ${String(l)}`);a.set(l,e)}}return new Ua({typeName:O.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:a,...H(o)})}}class uo extends V{_parse(n){const{status:i,ctx:o}=this._processInputParams(n),a=(e,c)=>{if(vc(e)||vc(c))return X;const l=Sc(e.value,c.value);if(!l.valid)return F(o,{code:x.invalid_intersection_types}),X;if(bc(e)||bc(c))i.dirty();return{status:i.value,value:l.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(([e,c])=>a(e,c));else return a(this._def.left._parseSync({data:o.data,path:o.path,parent:o}),this._def.right._parseSync({data:o.data,path:o.path,parent:o}))}}uo.create=(n,i,o)=>{return new uo({left:n,right:i,typeName:O.ZodIntersection,...H(o)})};class Dn extends V{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==M.array)return F(o,{code:x.invalid_type,expected:M.array,received:o.parsedType}),X;if(o.data.length<this._def.items.length)return F(o,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X;if(!this._def.rest&&o.data.length>this._def.items.length)F(o,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i.dirty();const e=[...o.data].map((c,l)=>{const t=this._def.items[l]||this._def.rest;if(!t)return null;return t._parse(new kn(o,c,o.path,l))}).filter((c)=>!!c);if(o.common.async)return Promise.all(e).then((c)=>{return bn.mergeArray(i,c)});else return bn.mergeArray(i,e)}get items(){return this._def.items}rest(n){return new Dn({...this._def,rest:n})}}Dn.create=(n,i)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Dn({items:n,typeName:O.ZodTuple,rest:null,...H(i)})};class Do extends V{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!==M.object)return F(o,{code:x.invalid_type,expected:M.object,received:o.parsedType}),X;const a=[],e=this._def.keyType,c=this._def.valueType;for(let l in o.data)a.push({key:e._parse(new kn(o,l,o.path,l)),value:c._parse(new kn(o,o.data[l],o.path,l)),alwaysSet:l in o.data});if(o.common.async)return bn.mergeObjectAsync(i,a);else return bn.mergeObjectSync(i,a)}get element(){return this._def.valueType}static create(n,i,o){if(i instanceof V)return new Do({keyType:n,valueType:i,typeName:O.ZodRecord,...H(o)});return new Do({keyType:Vn.create(),valueType:n,typeName:O.ZodRecord,...H(i)})}}class _o extends V{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!==M.map)return F(o,{code:x.invalid_type,expected:M.map,received:o.parsedType}),X;const a=this._def.keyType,e=this._def.valueType,c=[...o.data.entries()].map(([l,t],s)=>{return{key:a._parse(new kn(o,l,o.path,[s,"key"])),value:e._parse(new kn(o,t,o.path,[s,"value"]))}});if(o.common.async){const l=new Map;return Promise.resolve().then(async()=>{for(let t of c){const s=await t.key,p=await t.value;if(s.status==="aborted"||p.status==="aborted")return X;if(s.status==="dirty"||p.status==="dirty")i.dirty();l.set(s.value,p.value)}return{status:i.value,value:l}})}else{const l=new Map;for(let t of c){const{key:s,value:p}=t;if(s.status==="aborted"||p.status==="aborted")return X;if(s.status==="dirty"||p.status==="dirty")i.dirty();l.set(s.value,p.value)}return{status:i.value,value:l}}}}_o.create=(n,i,o)=>{return new _o({valueType:i,keyType:n,typeName:O.ZodMap,...H(o)})};class Xi extends V{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==M.set)return F(o,{code:x.invalid_type,expected:M.set,received:o.parsedType}),X;const a=this._def;if(a.minSize!==null){if(o.data.size<a.minSize.value)F(o,{code:x.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),i.dirty()}if(a.maxSize!==null){if(o.data.size>a.maxSize.value)F(o,{code:x.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),i.dirty()}const e=this._def.valueType;function c(t){const s=new Set;for(let p of t){if(p.status==="aborted")return X;if(p.status==="dirty")i.dirty();s.add(p.value)}return{status:i.value,value:s}}const l=[...o.data.values()].map((t,s)=>e._parse(new kn(o,t,o.path,s)));if(o.common.async)return Promise.all(l).then((t)=>c(t));else return c(l)}min(n,i){return new Xi({...this._def,minSize:{value:n,message:z.toString(i)}})}max(n,i){return new Xi({...this._def,maxSize:{value:n,message:z.toString(i)}})}size(n,i){return this.min(n,i).max(n,i)}nonempty(n){return this.min(1,n)}}Xi.create=(n,i)=>{return new Xi({valueType:n,minSize:null,maxSize:null,typeName:O.ZodSet,...H(i)})};class lo extends V{constructor(){super(...arguments);this.validate=this.implement}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==M.function)return F(i,{code:x.invalid_type,expected:M.function,received:i.parsedType}),X;function o(l,t){return Va({data:l,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,Ca(),to].filter((s)=>!!s),issueData:{code:x.invalid_arguments,argumentsError:t}})}function a(l,t){return Va({data:l,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,Ca(),to].filter((s)=>!!s),issueData:{code:x.invalid_return_type,returnTypeError:t}})}const e={errorMap:i.common.contextualErrorMap},c=i.data;if(this._def.returns instanceof Yi){const l=this;return Tn(async function(...t){const s=new Kn([]),p=await l._def.args.parseAsync(t,e).catch((S)=>{throw s.addIssue(o(t,S)),s}),m=await Reflect.apply(c,this,p);return await l._def.returns._def.type.parseAsync(m,e).catch((S)=>{throw s.addIssue(a(m,S)),s})})}else{const l=this;return Tn(function(...t){const s=l._def.args.safeParse(t,e);if(!s.success)throw new Kn([o(t,s.error)]);const p=Reflect.apply(c,this,s.data),m=l._def.returns.safeParse(p,e);if(!m.success)throw new Kn([a(p,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...n){return new lo({...this._def,args:Dn.create(n).rest(Si.create())})}returns(n){return new lo({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,o){return new lo({args:n?n:Dn.create([]).rest(Si.create()),returns:i||Si.create(),typeName:O.ZodFunction,...H(o)})}}class xo extends V{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})}}xo.create=(n,i)=>{return new xo({getter:n,typeName:O.ZodLazy,...H(i)})};class fo extends V{_parse(n){if(n.data!==this._def.value){const i=this._getOrReturnCtx(n);return F(i,{received:i.data,code:x.invalid_literal,expected:this._def.value}),X}return{status:"valid",value:n.data}}get value(){return this._def.value}}fo.create=(n,i)=>{return new fo({value:n,typeName:O.ZodLiteral,...H(i)})};class wi extends V{constructor(){super(...arguments);Eo.set(this,void 0)}_parse(n){if(typeof n.data!=="string"){const i=this._getOrReturnCtx(n),o=this._def.values;return F(i,{expected:N.joinValues(o),received:i.parsedType,code:x.invalid_type}),X}if(!Ea(this,Eo,"f"))am(this,Eo,new Set(this._def.values),"f");if(!Ea(this,Eo,"f").has(n.data)){const i=this._getOrReturnCtx(n),o=this._def.values;return F(i,{received:i.data,code:x.invalid_enum_value,options:o}),X}return Tn(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 wi.create(n,{...this._def,...i})}exclude(n,i=this._def){return wi.create(this.options.filter((o)=>!n.includes(o)),{...this._def,...i})}}Eo=new WeakMap;wi.create=tm;class vo extends V{constructor(){super(...arguments);Uo.set(this,void 0)}_parse(n){const i=N.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(n);if(o.parsedType!==M.string&&o.parsedType!==M.number){const a=N.objectValues(i);return F(o,{expected:N.joinValues(a),received:o.parsedType,code:x.invalid_type}),X}if(!Ea(this,Uo,"f"))am(this,Uo,new Set(N.getValidEnumValues(this._def.values)),"f");if(!Ea(this,Uo,"f").has(n.data)){const a=N.objectValues(i);return F(o,{received:o.data,code:x.invalid_enum_value,options:a}),X}return Tn(n.data)}get enum(){return this._def.values}}Uo=new WeakMap;vo.create=(n,i)=>{return new vo({values:n,typeName:O.ZodNativeEnum,...H(i)})};class Yi extends V{unwrap(){return this._def.type}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==M.promise&&i.common.async===!1)return F(i,{code:x.invalid_type,expected:M.promise,received:i.parsedType}),X;const o=i.parsedType===M.promise?i.data:Promise.resolve(i.data);return Tn(o.then((a)=>{return this._def.type.parseAsync(a,{path:i.path,errorMap:i.common.contextualErrorMap})}))}}Yi.create=(n,i)=>{return new Yi({type:n,typeName:O.ZodPromise,...H(i)})};class hn extends V{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===O.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(n){const{status:i,ctx:o}=this._processInputParams(n),a=this._def.effect||null,e={addIssue:(c)=>{if(F(o,c),c.fatal)i.abort();else i.dirty()},get path(){return o.path}};if(e.addIssue=e.addIssue.bind(e),a.type==="preprocess"){const c=a.transform(o.data,e);if(o.common.async)return Promise.resolve(c).then(async(l)=>{if(i.value==="aborted")return X;const t=await this._def.schema._parseAsync({data:l,path:o.path,parent:o});if(t.status==="aborted")return X;if(t.status==="dirty")return co(t.value);if(i.value==="dirty")return co(t.value);return t});else{if(i.value==="aborted")return X;const l=this._def.schema._parseSync({data:c,path:o.path,parent:o});if(l.status==="aborted")return X;if(l.status==="dirty")return co(l.value);if(i.value==="dirty")return co(l.value);return l}}if(a.type==="refinement"){const c=(l)=>{const t=a.refinement(l,e);if(o.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(o.common.async===!1){const l=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(l.status==="aborted")return X;if(l.status==="dirty")i.dirty();return c(l.value),{status:i.value,value:l.value}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((l)=>{if(l.status==="aborted")return X;if(l.status==="dirty")i.dirty();return c(l.value).then(()=>{return{status:i.value,value:l.value}})})}if(a.type==="transform")if(o.common.async===!1){const c=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!ko(c))return c;const l=a.transform(c.value,e);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:i.value,value:l}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((c)=>{if(!ko(c))return c;return Promise.resolve(a.transform(c.value,e)).then((l)=>({status:i.value,value:l}))});N.assertNever(a)}}hn.create=(n,i,o)=>{return new hn({schema:n,typeName:O.ZodEffects,effect:i,...H(o)})};hn.createWithPreprocess=(n,i,o)=>{return new hn({schema:i,effect:{type:"preprocess",transform:n},typeName:O.ZodEffects,...H(o)})};class Un extends V{_parse(n){if(this._getType(n)===M.undefined)return Tn(void 0);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}Un.create=(n,i)=>{return new Un({innerType:n,typeName:O.ZodOptional,...H(i)})};class ai extends V{_parse(n){if(this._getType(n)===M.null)return Tn(null);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}ai.create=(n,i)=>{return new ai({innerType:n,typeName:O.ZodNullable,...H(i)})};class bo extends V{_parse(n){const{ctx:i}=this._processInputParams(n);let o=i.data;if(i.parsedType===M.undefined)o=this._def.defaultValue();return this._def.innerType._parse({data:o,path:i.path,parent:i})}removeDefault(){return this._def.innerType}}bo.create=(n,i)=>{return new bo({innerType:n,typeName:O.ZodDefault,defaultValue:typeof i.default==="function"?i.default:()=>i.default,...H(i)})};class So extends V{_parse(n){const{ctx:i}=this._processInputParams(n),o={...i,common:{...i.common,issues:[]}},a=this._def.innerType._parse({data:o.data,path:o.path,parent:{...o}});if(Lo(a))return a.then((e)=>{return{status:"valid",value:e.status==="valid"?e.value:this._def.catchValue({get error(){return new Kn(o.common.issues)},input:o.data})}});else return{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Kn(o.common.issues)},input:o.data})}}removeCatch(){return this._def.innerType}}So.create=(n,i)=>{return new So({innerType:n,typeName:O.ZodCatch,catchValue:typeof i.catch==="function"?i.catch:()=>i.catch,...H(i)})};class qo extends V{_parse(n){if(this._getType(n)!==M.nan){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.nan,received:o.parsedType}),X}return{status:"valid",value:n.data}}}qo.create=(n)=>{return new qo({typeName:O.ZodNaN,...H(n)})};var Nv=Symbol("zod_brand");class ka extends V{_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 Po extends V{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.common.async)return(async()=>{const e=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});if(e.status==="aborted")return X;if(e.status==="dirty")return i.dirty(),co(e.value);else return this._def.out._parseAsync({data:e.value,path:o.path,parent:o})})();else{const a=this._def.in._parseSync({data:o.data,path:o.path,parent:o});if(a.status==="aborted")return X;if(a.status==="dirty")return i.dirty(),{status:"dirty",value:a.value};else return this._def.out._parseSync({data:a.value,path:o.path,parent:o})}}static create(n,i){return new Po({in:n,out:i,typeName:O.ZodPipeline})}}class yo extends V{_parse(n){const i=this._def.innerType._parse(n),o=(a)=>{if(ko(a))a.value=Object.freeze(a.value);return a};return Lo(i)?i.then((a)=>o(a)):o(i)}unwrap(){return this._def.innerType}}yo.create=(n,i)=>{return new yo({innerType:n,typeName:O.ZodReadonly,...H(i)})};var Iv={object:on.lazycreate},O;(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"})(O||(O={}));var Dv=(n,i={message:`Input not instance of ${n.name}`})=>sm((o)=>o instanceof n,i),pm=Vn.create,mm=yi.create,_v=qo.create,qv=Ti.create,rm=so.create,Pv=Oi.create,Zv=No.create,nb=po.create,ib=mo.create,ob=hi.create,ab=Si.create,eb=In.create,cb=Io.create,lb=En.create,Zo=on.create,tb=on.strictCreate,sb=ro.create,pb=Ua.create,mb=uo.create,rb=Dn.create,ub=Do.create,xb=_o.create,fb=Xi.create,vb=lo.create,bb=xo.create,Sb=fo.create,yb=wi.create,Tb=vo.create,wb=Yi.create,im=hn.create,db=Un.create,Fb=ai.create,Mb=hn.createWithPreprocess,Rb=Po.create,Ab=()=>pm().optional(),Jb=()=>mm().optional(),$b=()=>rm().optional(),Kb={string:(n)=>Vn.create({...n,coerce:!0}),number:(n)=>yi.create({...n,coerce:!0}),boolean:(n)=>so.create({...n,coerce:!0}),bigint:(n)=>Ti.create({...n,coerce:!0}),date:(n)=>Oi.create({...n,coerce:!0})},jb=X,wn=Object.freeze({__proto__:null,defaultErrorMap:to,setErrorMap:Wv,getErrorMap:Ca,makeIssue:Va,EMPTY_PATH:zv,addIssueToContext:F,ParseStatus:bn,INVALID:X,DIRTY:co,OK:Tn,isAborted:vc,isDirty:bc,isValid:ko,isAsync:Lo,get util(){return N},get objectUtil(){return fc},ZodParsedType:M,getParsedType:bi,ZodType:V,datetimeRegex:lm,ZodString:Vn,ZodNumber:yi,ZodBigInt:Ti,ZodBoolean:so,ZodDate:Oi,ZodSymbol:No,ZodUndefined:po,ZodNull:mo,ZodAny:hi,ZodUnknown:Si,ZodNever:In,ZodVoid:Io,ZodArray:En,ZodObject:on,ZodUnion:ro,ZodDiscriminatedUnion:Ua,ZodIntersection:uo,ZodTuple:Dn,ZodRecord:Do,ZodMap:_o,ZodSet:Xi,ZodFunction:lo,ZodLazy:xo,ZodLiteral:fo,ZodEnum:wi,ZodNativeEnum:vo,ZodPromise:Yi,ZodEffects:hn,ZodTransformer:hn,ZodOptional:Un,ZodNullable:ai,ZodDefault:bo,ZodCatch:So,ZodNaN:qo,BRAND:Nv,ZodBranded:ka,ZodPipeline:Po,ZodReadonly:yo,custom:sm,Schema:V,ZodSchema:V,late:Iv,get ZodFirstPartyTypeKind(){return O},coerce:Kb,any:ob,array:lb,bigint:qv,boolean:rm,date:Pv,discriminatedUnion:pb,effect:im,enum:yb,function:vb,instanceof:Dv,intersection:mb,lazy:bb,literal:Sb,map:xb,nan:_v,nativeEnum:Tb,never:eb,null:ib,nullable:Fb,number:mm,object:Zo,oboolean:$b,onumber:Jb,optional:db,ostring:Ab,pipeline:Rb,preprocess:Mb,promise:wb,record:ub,set:fb,strictObject:tb,string:pm,symbol:Zv,transformer:im,tuple:rb,undefined:nb,union:sb,unknown:ab,void:cb,NEVER:jb,ZodIssueCode:x,quotelessJson:jv,ZodError:Kn});function um(n){const i=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[u,R]of Object.entries(i))if(R==="")delete i[u]}if(!!n.skipValidation)return i;const e=typeof n.client==="object"?n.client:{},c=typeof n.server==="object"?n.server:{},l=typeof n.shared==="object"?n.shared:{},t=Zo(e),s=Zo(c),p=Zo(l),m=n.isServer??(typeof window==="undefined"||("Deno"in window)),r=t.merge(p),S=s.merge(p).merge(t),K=m?S.safeParse(i):r.safeParse(i),y=n.onValidationError??((u)=>{throw console.error("\u274C Invalid environment variables:",u.flatten().fieldErrors),new Error("Invalid environment variables")}),T=n.onInvalidAccess??((u)=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(K.success===!1)return y(K.error);const f=(u)=>{if(!n.clientPrefix)return!0;return!u.startsWith(n.clientPrefix)&&!(u in p.shape)},w=(u)=>{return m||!f(u)},d=(u)=>{return u==="__esModule"||u==="$$typeof"},W=(n.extends??[]).reduce((u,R)=>{return Object.assign(u,R)},{}),U=Object.assign(K.data,W);return new Proxy(U,{get(u,R){if(typeof R!=="string")return;if(d(R))return;if(!w(R))return T(R);return Reflect.get(u,R)}})}var ym=Jc(Sm(),1);ym.default.config();var Na=um({isServer:typeof window==="undefined",server:{POSTGRES_USER:wn.string(),POSTGRES_PASSWORD:wn.string(),POSTGRES_DATABASE:wn.string(),POSTGRES_HOST:wn.string(),POSTGRES_PORT:wn.string().transform((n)=>Number.parseInt(n,10)),BACKEND_PORT:wn.string().transform((n)=>Number.parseInt(n,10)),RUN_WORKERS_FROM_SOURCE:wn.union([wn.literal("true"),wn.literal("false")]).optional().transform((n)=>n==="true"),FRONTEND_PORT:wn.string().transform((n)=>Number.parseInt(n,10)),FRONTEND_ORIGINS:wn.string().transform((n)=>cn(n)).pipe(wn.array(wn.string()))},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:wn.string()},runtimeEnv:process.env,emptyStringAsUndefined:!0});function Tm(n,i){const o=Na.RUN_WORKERS_FROM_SOURCE?"ts":"js",a=i.endsWith(".bun")?"bun":"node",c=[Zb(import.meta.dir,`${i}.${o}`)];if(a==="node"&&o==="ts")c.push("--experimental-strip-types");const l=Pb(a,c);return new Oo(l,i,n.logger)}var wm=ri({key:"count",default:0}),nS=Mi({key:"incrementTX",do:({set:n})=>{n(wm,(i)=>i+1)}}),dm=ml({key:"countContinuity",config:(n)=>n.add(wm).add(nS)});async function Fc(){Mn.logger.info("\uD83E\uDDF9 dispatching SIGINT to workers"),Fm.process.kill("SIGINT"),await new Promise((n)=>Fm.process.once("exit",n)),Mn.logger.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}var Mn=new xe;Y.STORE.loggers[0]=new Wo("warn",void 0,Mn.logger);var Fm=Tm(Mn,"backend.worker.game.bun"),Rm=Mm.createServer((n,i)=>i.end("Hello World!")),dc=Rm.listen(4444).address(),iS=typeof dc==="string"?null:dc===null?null:dc.port;if(iS===null)throw new Error("Could not determine port for test server");new Zp(Rm,{cors:{origin:Na.FRONTEND_ORIGINS,methods:["GET","POST"]}}).use((n,i)=>{const{token:o,username:a}=n.handshake.auth;if(o==="test"&&n.id){const e=L(Y.STORE,Xo,n.id);D(Y.STORE,e,n),di(Ri,(c)=>{c.set(n.id,a)},Y.STORE),D(Y.STORE,ye,(c)=>c.add(a)),D(Y.STORE,Se,(c)=>c.add(n.id)),Mn.logger.info(`${a} connected on ${n.id}`),i()}else Mn.logger.info(`${a} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{const o=xl({socket:n,store:Y.STORE})(dm);n.on("disconnect",()=>{const a=Ci(Ri,n.id,Y.STORE).userKeyOfSocket,e=I(Y.STORE,a);if(di(Ri,(c)=>{c.delete(n.id)},Y.STORE),e)D(Y.STORE,ye,(c)=>(c.delete(e),c));D(Y.STORE,Se,(c)=>(c.delete(n.id),c)),un(Y.STORE,Xo,n.id),Mn.logger.info(`${n.id} disconnected`),o()})});Mn.emit("alive");Mn.on("updatesReady",()=>{Mn.emit("readyToUpdate")});process.on("SIGINT",async()=>{Mn.logger.info("\u2757 received SIGINT; exiting gracefully"),await Fc()});process.on("SIGTERM",async()=>{Mn.logger.info("\u2757 received SIGTERM; exiting gracefully"),await Fc()});process.on("exit",async()=>{Mn.logger.info("\u2757 received exit; exiting gracefully"),await Fc()});Mn.logger.info("\uD83D\uDEEB backend server ready");
37
+ */ef.exports=F3;ef.exports.append=CA;var J3=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var gf=I((sN,kA)=>{(function(){var n=hA(),i=tA(),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,A){if(Array.isArray(A)){for(var X=0;X<A.length;++X)if(p(R,A[X]))return!0;return!1}else if(c(A))return R===A;else if(A instanceof RegExp)return A.test(R);else return!!A}function a(R,A){var X=A.headers.origin,G=[],Y;if(!R.origin||R.origin==="*")G.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(c(R.origin))G.push([{key:"Access-Control-Allow-Origin",value:R.origin}]),G.push([{key:"Vary",value:"Origin"}]);else Y=p(X,R.origin),G.push([{key:"Access-Control-Allow-Origin",value:Y?X:!1}]),G.push([{key:"Vary",value:"Origin"}]);return G}function x(R){var A=R.methods;if(A.join)A=R.methods.join(",");return{key:"Access-Control-Allow-Methods",value:A}}function m(R){if(R.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function l(R,A){var X=R.allowedHeaders||R.headers,G=[];if(!X)X=A.headers["access-control-request-headers"],G.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(X.join)X=X.join(",");if(X&&X.length)G.push([{key:"Access-Control-Allow-Headers",value:X}]);return G}function f(R){var A=R.exposedHeaders;if(!A)return null;else if(A.join)A=A.join(",");if(A&&A.length)return{key:"Access-Control-Expose-Headers",value:A};return null}function $(R){var A=(typeof R.maxAge==="number"||R.maxAge)&&R.maxAge.toString();if(A&&A.length)return{key:"Access-Control-Max-Age",value:A};return null}function v(R,A){for(var X=0,G=R.length;X<G;X++){var Y=R[X];if(Y){if(Array.isArray(Y))v(Y,A);else if(Y.key==="Vary"&&Y.value)i(A,Y.value);else if(Y.value)A.setHeader(Y.key,Y.value)}}}function S(R,A,X,G){var Y=[],E=A.method&&A.method.toUpperCase&&A.method.toUpperCase();if(E==="OPTIONS")if(Y.push(a(R,A)),Y.push(m(R,A)),Y.push(x(R,A)),Y.push(l(R,A)),Y.push($(R,A)),Y.push(f(R,A)),v(Y,X),R.preflightContinue)G();else X.statusCode=R.optionsSuccessStatus,X.setHeader("Content-Length","0"),X.end();else Y.push(a(R,A)),Y.push(m(R,A)),Y.push(f(R,A)),v(Y,X),G()}function T(R){var A=null;if(typeof R==="function")A=R;else A=function(X,G){G(null,R)};return function X(G,Y,E){A(G,function(s,z){if(s)E(s);else{var M=n({},o,z),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(G.headers.origin,function(U,V){if(U||!V)E(U);else M.origin=V,S(M,G,Y,E)});else E()}})}}kA.exports=T})()});var df=I((dA)=>{function G3(n){try{const i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}function PA(n,i,o){const c=i===On.errors.FORBIDDEN?403:400,p=o&&o.message?o.message:On.errorMessages[i];n.writeHead(c,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:p}))}function eA(n,i,o={}){if(n.on("error",()=>{vn("ignoring error from closed connection")}),n.writable){const c=o.message||On.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 z3(n){if(n+="",n.length<1)return!1;if(!Va[n.charCodeAt(0)])return vn('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Va[n.charCodeAt(1)])return vn('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Va[n.charCodeAt(2)])return vn('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Va[n.charCodeAt(3)])return vn('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Va[n.charCodeAt(i)])return vn('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}Object.defineProperty(dA,"__esModule",{value:!0});dA.Server=dA.BaseServer=void 0;var A3=import.meta.require("querystring"),T3=import.meta.require("url"),rA=_f(),Rm=qf(),M3=import.meta.require("events"),ZA=Pf(),R3=xi(),K3=yA(),W3=import.meta.require("ws"),qA=Zf(),X3=Ua(),vn=R3.default("engine"),Wp=Symbol("responseHeaders");class ba extends M3.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:W3.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(gf()(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 Rm.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(On.errors.UNKNOWN_TRANSPORT,{transport:c});if(z3(n.headers.origin)){const x=n.headers.origin;return n.headers.origin=null,vn("origin header invalid"),o(On.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(On.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(On.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:c,previousTransport:x})}else{if(n.method!=="GET")return o(On.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(c==="websocket"&&!i)return vn("invalid transport upgrade"),o(On.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(x,m)=>{if(!m)return o(On.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 rA.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:On.errors.UNSUPPORTED_PROTOCOL_VERSION,message:On.errorMessages[On.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:c}}),o(On.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:On.errors.BAD_REQUEST,message:On.errorMessages[On.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:m}}),o(On.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:On.errors.BAD_REQUEST,message:On.errorMessages[On.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:m}}),o(On.errors.BAD_REQUEST);return}const x=new ZA.Socket(p,this,a,i,c);return a.on("headers",(m,l)=>{if(!l._query.sid){if(this.opts.cookie)m["Set-Cookie"]=[K3.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=X3.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 qA.WebTransport(n,p,x),S=rA.generateId();vn('handshaking client "%s" (WebTransport)',S);const T=new ZA.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=G3(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 qA.WebTransport(n,p,x);$._maybeUpgrade(v)}}}dA.BaseServer=ba;ba.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};ba.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class gA{constructor(n,i){this.req=n,this.socket=i,n[Wp]={}}setHeader(n,i){this.req[Wp][n]=i}getHeader(n){return this.req[Wp][n]}removeHeader(n){delete this.req[Wp][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class On extends ba{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[Wp]||{};if(delete i[Wp],!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("?")?A3.parse(T3.parse(n.url).query):{}}createTransport(n,i){return new Rm.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:On.errorMessages[c],context:p}),PA(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)=>PA(i,x,m);this.handshake(n._query.transport,n,a)}};this._applyMiddlewares(n,i,(c)=>{if(c)o(On.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);const c=new gA(n,i),p=(a,x)=>{if(a!==void 0){this.emit("connection_error",{req:n,code:a,message:On.errorMessages[a],context:x}),eA(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(On.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,p)})}onWebSocket(n,i,o){if(o.on("error",p),Rm.default[n._query.transport]!==void 0&&!Rm.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)=>eA(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)})}}dA.Server=On;var Va=[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 aT=I((cT)=>{Object.defineProperty(cT,"__esModule",{value:!0});cT.Polling=void 0;var u3=Uc(),iT=import.meta.require("zlib"),O3=am(),H3=xi(),no=H3.default("engine:polling"),E3={gzip:iT.createGzip,deflate:iT.createDeflate};class oT extends u3.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){no("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}no("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)no("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){no('received "%s"',n);const i=(o)=>{if(o.type==="close")return no("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)no("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){no('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=O3(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){no("compressing");const c=[];let p=0;E3[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){no("closing");let i;const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)no("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)no("transport discarded - closing right away"),o();else no("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}}cT.Polling=oT});var $T=I((lT)=>{Object.defineProperty(lT,"__esModule",{value:!0});lT.WebSocket=void 0;var Q3=Uc(),U3=xi(),xT=U3.default("engine:ws");class mT extends Q3.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(xT('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){xT("closing"),n&&n(),this.socket.end()}}lT.WebSocket=mT});var wT=I((vT)=>{Object.defineProperty(vT,"__esModule",{value:!0});var V3=aT(),b3=$T();vT.default={polling:V3.Polling,websocket:b3.WebSocket}});var TT=I((FT)=>{Object.defineProperty(FT,"__esModule",{value:!0});FT.uServer=void 0;var s3=xi(),Vc=df(),j3=wT(),fc=s3.default("engine:uws");class ST extends Vc.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(()=>{fc("response has been aborted")})}createTransport(n,i){return new j3.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 JT(i),super._applyMiddlewares(n,n.res,(c)=>{n.res.writeHead(),o(c)})}handleRequest(n,i){fc('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:Vc.Server.errorMessages[c],context:p}),this.abortRequest(i.res,c,p);return}if(i._query.sid)fc("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(Vc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){fc("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:Vc.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 fc("upgrade attempt for closed client"),n.close();else if(l.upgrading)return fc("transport has already been trying to upgrade"),n.close();else if(l.upgraded)return fc("transport had already been upgraded"),n.close();else fc("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(Vc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,c)})}abortRequest(n,i,o){const c=i===Vc.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",p=o&&o.message?o.message:Vc.Server.errorMessages[i];n.writeStatus(c),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:p}))}}FT.uServer=ST;class JT{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 XT=I((Xp)=>{function h3(n,i,o){if(typeof i==="function")o=i,i={};const c=N3.createServer(function(a,x){x.writeHead(501),x.end("Not Implemented")}),p=KT(c,i);return p.httpServer=c,c.listen(n,o),p}function KT(n,i){const o=new MT.Server(i);return o.attach(n,i),o}Object.defineProperty(Xp,"__esModule",{value:!0});Xp.protocol=Xp.Transport=Xp.Socket=Xp.uServer=Xp.parser=Xp.transports=Xp.Server=void 0;Xp.listen=h3;Xp.attach=KT;var N3=import.meta.require("http"),MT=df();Object.defineProperty(Xp,"Server",{enumerable:!0,get:function(){return MT.Server}});var L3=qf();Xp.transports=L3.default;var RT=Ua();Xp.parser=RT;var y3=TT();Object.defineProperty(Xp,"uServer",{enumerable:!0,get:function(){return y3.uServer}});var B3=Pf();Object.defineProperty(Xp,"Socket",{enumerable:!0,get:function(){return B3.Socket}});var D3=Uc();Object.defineProperty(Xp,"Transport",{enumerable:!0,get:function(){return D3.Transport}});Xp.protocol=RT.protocol});var GT=I((Z3)=>{function Oi(n){if(n)return r3(n)}function r3(n){for(var i in Oi.prototype)n[i]=Oi.prototype[i];return n}Z3.Emitter=Oi;Oi.prototype.on=Oi.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};Oi.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};Oi.prototype.off=Oi.prototype.removeListener=Oi.prototype.removeAllListeners=Oi.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};Oi.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};Oi.prototype.emitReserved=Oi.prototype.emit;Oi.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};Oi.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var n$=I((uT)=>{function YT(n){return P3&&(n instanceof ArrayBuffer||e3(n))||g3&&n instanceof Blob||d3&&n instanceof File}function Km(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,c=n.length;o<c;o++)if(Km(n[o]))return!0;return!1}if(YT(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return Km(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&Km(n[o]))return!0;return!1}Object.defineProperty(uT,"__esModule",{value:!0});uT.hasBinary=uT.isBinary=void 0;var P3=typeof ArrayBuffer==="function",e3=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},zT=Object.prototype.toString,g3=typeof Blob==="function"||typeof Blob!=="undefined"&&zT.call(Blob)==="[object BlobConstructor]",d3=typeof File==="function"||typeof File!=="undefined"&&zT.call(File)==="[object FileConstructor]";uT.isBinary=YT;uT.hasBinary=Km});var QT=I((HT)=>{function oX(n){const i=[],o=n.data,c=n;return c.data=i$(o,i),c.attachments=i.length,{packet:c,buffers:i}}function i$(n,i){if(!n)return n;if(iX.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]=i$(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]=i$(n[c],i);return o}return n}function cX(n,i){return n.data=o$(n.data,i),delete n.attachments,n}function o$(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]=o$(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=o$(n[o],i)}return n}Object.defineProperty(HT,"__esModule",{value:!0});HT.reconstructPacket=HT.deconstructPacket=void 0;var iX=n$();HT.deconstructPacket=oX;HT.reconstructPacket=cX});var _a=I((NT)=>{function UT(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty(NT,"__esModule",{value:!0});NT.Decoder=NT.Encoder=NT.PacketType=NT.protocol=void 0;var aX=GT(),bT=QT(),_T=n$(),xX=xi(),c$=xX.default("socket.io-parser"),mX=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];NT.protocol=5;var tn;(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"})(tn=NT.PacketType||(NT.PacketType={}));class sT{constructor(n){this.replacer=n}encode(n){if(c$("encoding packet %j",n),n.type===tn.EVENT||n.type===tn.ACK){if(_T.hasBinary(n))return this.encodeAsBinary({type:n.type===tn.EVENT?tn.BINARY_EVENT:tn.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===tn.BINARY_EVENT||n.type===tn.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 c$("encoded %j as %s",n,i),i}encodeAsBinary(n){const i=bT.deconstructPacket(n),o=this.encodeAsString(i.packet),c=i.buffers;return c.unshift(o),c}}NT.Encoder=sT;class p$ extends aX.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===tn.BINARY_EVENT;if(o||i.type===tn.BINARY_ACK){if(i.type=o?tn.EVENT:tn.ACK,this.reconstructor=new jT(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(_T.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(tn[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===tn.BINARY_EVENT||o.type===tn.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(p$.isPayloadValid(o.type,p))o.data=p;else throw new Error("invalid payload")}return c$("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 tn.CONNECT:return UT(i);case tn.DISCONNECT:return i===void 0;case tn.CONNECT_ERROR:return typeof i==="string"||UT(i);case tn.EVENT:case tn.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&mX.indexOf(i[0])===-1);case tn.ACK:case tn.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}NT.Decoder=p$;class jT{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=bT.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var hT=I((BT)=>{Object.defineProperty(BT,"__esModule",{value:!0});BT.Client=void 0;var Wm=_a(),$X=xi(),vX=import.meta.require("url"),Ao=$X("socket.io:client");class yT{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)Ao("no namespace joined yet, close the client"),this.close();else Ao("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return Ao("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else Ao("creation of namespace %s was denied",n),this._packet({type:Wm.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 Ao("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")Ao("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){Ao("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){Ao("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){Ao("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){const p=vX.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===Wm.PacketType.CONNECT)this.connect(i,o);else if(c&&n.type!==Wm.PacketType.CONNECT&&n.type!==Wm.PacketType.CONNECT_ERROR)process.nextTick(function(){c._onpacket(n)});else Ao("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){Ao("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}}BT.Client=yT});var Xm=I((CT)=>{Object.defineProperty(CT,"__esModule",{value:!0});CT.StrictEventEmitter=void 0;var wX=import.meta.require("events");class IT extends wX.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)}}CT.StrictEventEmitter=IT});var a$=I((kT)=>{Object.defineProperty(kT,"__esModule",{value:!0});kT.RESERVED_EVENTS=void 0;kT.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var m$=I((ZT)=>{Object.defineProperty(ZT,"__esModule",{value:!0});ZT.RemoteSocket=ZT.BroadcastOperator=void 0;var SX=a$(),JX=_a();class yo{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 yo(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 yo(this.adapter,this.rooms,i,this.flags)}compress(n){const i=Object.assign({},this.flags,{compress:n});return new yo(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){const n=Object.assign({},this.flags,{volatile:!0});return new yo(this.adapter,this.rooms,this.exceptRooms,n)}get local(){const n=Object.assign({},this.flags,{local:!0});return new yo(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){const i=Object.assign({},this.flags,{timeout:n});return new yo(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(SX.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],c={type:JX.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 x$(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)}}ZT.BroadcastOperator=yo;class x${constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new yo(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}}ZT.RemoteSocket=x$});var l$=I((Gp)=>{function eT(){}var gT=Gp&&Gp.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Gp,"__esModule",{value:!0});Gp.Socket=void 0;var io=_a(),AX=gT(xi()),TX=Xm(),PT=gT(_f()),MX=m$(),RX=a$(),Ri=AX.default("socket.io:socket"),KX=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);class dT extends TX.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:io.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=PT.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=PT.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",eT)}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(RX.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],c={type:io.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){const a=this.nsp._ids++;Ri("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(()=>{Ri("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 Ri("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return Ri("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(Ri("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:io.PacketType.CONNECT});else this.packet({type:io.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(Ri("got packet %j",n),n.type){case io.PacketType.EVENT:this.onevent(n);break;case io.PacketType.BINARY_EVENT:this.onevent(n);break;case io.PacketType.ACK:this.onack(n);break;case io.PacketType.BINARY_ACK:this.onack(n);break;case io.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){const i=n.data||[];if(Ri("emitting event %j",i),n.id!=null)Ri("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);Ri("sending ack %j",c),i.packet({id:n,type:io.PacketType.ACK,data:c}),o=!0}}onack(n){const i=this.acks.get(n.id);if(typeof i=="function")Ri("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else Ri("bad ack %s",n.id)}ondisconnect(){Ri("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(Ri("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&KX.has(n))Ri("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=eT}_error(n){this.packet({type:io.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:io.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){Ri("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 Ri("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 MX.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}Gp.Socket=dT});var f$=I((Bo)=>{var WX=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 nM=l$(),XX=Xm(),GX=WX(xi()),hi=m$(),sa=GX.default("socket.io:namespace");Bo.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class iM extends XX.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 hi.BroadcastOperator(this.adapter).to(n)}in(n){return new hi.BroadcastOperator(this.adapter).in(n)}except(n){return new hi.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var c;sa("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"){sa("next called after client was closed - ignoring socket"),p._cleanup();return}if(a)if(sa("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){sa("error while restoring session: %s",a)}if(p)return sa("connection state recovered for sid %s",p.sid),new nM.Socket(this,n,i,p)}return new nM.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 hi.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 hi.BroadcastOperator(this.adapter).allSockets()}compress(n){return new hi.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new hi.BroadcastOperator(this.adapter).volatile}get local(){return new hi.BroadcastOperator(this.adapter).local}timeout(n){return new hi.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new hi.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new hi.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new hi.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new hi.BroadcastOperator(this.adapter).disconnectSockets(n)}}Bo.Namespace=iM});var lM=I((xM)=>{function $$(n){let i="";do i=pM[n%Gm]+i,n=Math.floor(n/Gm);while(n>0);return i}function zX(n){let i=0;for($c=0;$c<n.length;$c++)i=i*Gm+aM[n.charAt($c)];return i}function YX(){const n=$$(+new Date);if(n!==cM)return oM=0,cM=n;return n+"."+$$(oM++)}Object.defineProperty(xM,"__esModule",{value:!0});xM.yeast=xM.decode=xM.encode=void 0;var pM="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Gm=64,aM={},oM=0,$c=0,cM;xM.encode=$$;xM.decode=zX;xM.yeast=YX;for(;$c<Gm;$c++)aM[pM[$c]]=$c});var S$=I(($M)=>{function UX(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 v$;Object.defineProperty($M,"__esModule",{value:!0});$M.SessionAwareAdapter=$M.Adapter=void 0;var HX=import.meta.require("events"),EX=lM(),zm=import.meta.require("ws"),QX=typeof((v$=zm===null||zm===void 0?void 0:zm.Sender)===null||v$===void 0?void 0:v$.frame)==="function";class w$ extends HX.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(QX&&o.length===1&&typeof o[0]==="string"){const c=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=zm.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}}$M.Adapter=w$;class fM extends w${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(UX(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=EX.yeast();n.data.push(x),this.packets.push({id:x,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}$M.SessionAwareAdapter=fM});var SM=I((To)=>{function Yp(){return jX.randomBytes(8).toString("hex")}function bc(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function zp(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}var bX=To&&To.__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(To,"__esModule",{value:!0});To.ClusterAdapterWithHeartbeat=To.ClusterAdapter=To.MessageType=void 0;var _X=S$(),sX=xi(),jX=import.meta.require("crypto"),qn=sX.debug("socket.io-adapter"),NX="emitter",Ym=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=To.MessageType||(To.MessageType={}));class J$ extends _X.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=Yp()}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,zp(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=zp(n.data.opts);this.addOffsetIfNecessary(c,p,i),super.broadcast(c,p)}break}case cn.SOCKETS_JOIN:super.addSockets(zp(n.data.opts),n.data.rooms);break;case cn.SOCKETS_LEAVE:super.delSockets(zp(n.data.opts),n.data.rooms);break;case cn.DISCONNECT_SOCKETS:super.disconnectSockets(zp(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(zp(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=bX(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:bc(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=Yp();this.ackRequests.set(x,{clientCountCallback:o,ack:c}),this.publish({type:cn.BROADCAST,data:{packet:n,requestId:x,opts:bc(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:bc(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:bc(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:bc(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=Yp();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||Ym),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:bc(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=Yp(),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)},Ym),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)})}}To.ClusterAdapter=J$;class wM extends J${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!==NX)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=Yp(),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)},Ym),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=Yp();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||Ym),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:bc(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)}}To.ClusterAdapterWithHeartbeat=wM});var um=I((_c)=>{Object.defineProperty(_c,"__esModule",{value:!0});_c.MessageType=_c.ClusterAdapterWithHeartbeat=_c.ClusterAdapter=_c.SessionAwareAdapter=_c.Adapter=void 0;var JM=S$();Object.defineProperty(_c,"Adapter",{enumerable:!0,get:function(){return JM.Adapter}});Object.defineProperty(_c,"SessionAwareAdapter",{enumerable:!0,get:function(){return JM.SessionAwareAdapter}});var F$=SM();Object.defineProperty(_c,"ClusterAdapter",{enumerable:!0,get:function(){return F$.ClusterAdapter}});Object.defineProperty(_c,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return F$.ClusterAdapterWithHeartbeat}});Object.defineProperty(_c,"MessageType",{enumerable:!0,get:function(){return F$.MessageType}})});var MM=I((up)=>{var yX=up&&up.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(up,"__esModule",{value:!0});up.ParentNamespace=void 0;var FM=f$(),BX=um(),DX=yX(xi()),AM=DX.default("socket.io:parent-namespace");class Om extends FM.Namespace{constructor(n){super(n,"/_"+Om.count++);this.children=new Set}_initAdapter(){this.adapter=new TM(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){AM("creating child namespace %s",n);const i=new FM.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)AM("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")}}up.ParentNamespace=Om;Om.count=0;class TM extends BX.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var zM=I((jc)=>{function CX(n){sc.Adapter.prototype.addAll=function(i,o){const c=!this.sids.has(i);WM.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"){KM(this.nsp.name,p,c,o);return}if(c)p.conn.on("upgrade",()=>{const a=this.sids.get(i);if(a)KM(this.nsp.name,p,c,a)})},sc.Adapter.prototype.del=function(i,o){XM.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}${A$}${o}`;Hm("unsubscribe connection %s from topic %s",p,x),a.unsubscribe(x)}},sc.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){GM.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}${A$}${o.rooms.keys().next().value}`;Hm("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 KM(n,i,o,c){const p=i.conn.id,a=i.conn.transport.socket;if(o)Hm("subscribe connection %s to topic %s",p,n),a.subscribe(n);c.forEach((x)=>{const m=`${n}${A$}${x}`;Hm("subscribe connection %s to topic %s",p,m),a.subscribe(m)})}function tX(){sc.Adapter.prototype.addAll=WM,sc.Adapter.prototype.del=XM,sc.Adapter.prototype.broadcast=GM}function rX(n,i){const{size:o}=RM.statSync(i),c=RM.createReadStream(i),p=()=>!c.destroyed&&c.destroy(),a=(m)=>{throw p(),m},x=(m)=>{const l=kX(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 hX=jc&&jc.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(jc,"__esModule",{value:!0});jc.patchAdapter=CX;jc.restoreAdapter=tX;jc.serveFile=rX;var sc=um(),RM=import.meta.require("fs"),IX=hX(xi()),Hm=IX.default("socket.io:adapter-uws"),A$="\x1F",{addAll:WM,del:XM,broadcast:GM}=sc.Adapter.prototype,kX=(n)=>{const{buffer:i,byteOffset:o,byteLength:c}=n;return i.slice(o,o+c)}});var YM=I((wL,ZX)=>{ZX.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 _M=I((Ki,ja)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",qX=Ki&&Ki.__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]}),PX=Ki&&Ki.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),eX=Ki&&Ki.__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))qX(i,n,o)}return PX(i,n),i},VM=Ki&&Ki.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Ki,"__esModule",{value:!0});Ki.Namespace=Ki.Socket=Ki.Server=void 0;var gX=import.meta.require("http"),dX=import.meta.require("fs"),T$=import.meta.require("zlib"),n5=am(),Em=import.meta.require("stream"),uM=import.meta.require("path"),OM=XT(),i5=hT(),HM=import.meta.require("events"),R$=f$();Object.defineProperty(Ki,"Namespace",{enumerable:!0,get:function(){return R$.Namespace}});var o5=MM(),EM=um(),c5=eX(_a()),p5=VM(xi()),bM=l$();Object.defineProperty(Ki,"Socket",{enumerable:!0,get:function(){return bM.Socket}});var a5=Xm(),M$=zM(),x5=VM(gf()),bi=p5.default("socket.io:server"),QM=YM().version,UM=/\.map/;class Op extends a5.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||c5,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||EM.SessionAwareAdapter);else this.adapter(i.adapter||EM.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=x5.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 bi("dynamic namespace %s already exists",n),o(this._nsps.get(n));const l=this.parentNsps.get(a.value).createChild(n);bi("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"){bi("creating http server and binding to %d",n);const o=n;n=gX.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,bi("creating uWebSockets.js-based engine with opts %j",i);const o=new OM.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=UM.test(a),m=x?"map":"source",l='"'+QM+'"',f="W/"+l,$=p.getHeader("if-none-match");if($){if(l===$||f===$){bi("serve client %s 304",m),c.writeStatus("304 Not Modified"),c.end();return}}bi("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=uM.join(__dirname,"../client-dist/",a);M$.serveFile(c,v)});M$.patchAdapter(n)}initEngine(n,i){if(bi("creating engine.io instance with opts %j",i),this.eio=OM.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){bi("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=UM.test(o),p=c?"map":"source",a='"'+QM+'"',x="W/"+a,m=n.headers["if-none-match"];if(m){if(a===m||x===m){bi("serve client %s 304",p),i.writeHead(304),i.end();return}}bi("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),Op.sendFile(o,n,i)}static sendFile(n,i,o){const c=dX.createReadStream(uM.join(__dirname,"../client-dist/",n)),p=n5(i).encodings(["br","gzip","deflate"]),a=(x)=>{if(x)o.end()};switch(p){case"br":o.writeHead(200,{"content-encoding":"br"}),Em.pipeline(c,T$.createBrotliCompress(),o,a);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),Em.pipeline(c,T$.createGzip(),o,a);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),Em.pipeline(c,T$.createDeflate(),o,a);break;default:o.writeHead(200),Em.pipeline(c,o,a)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){bi("incoming connection with id %s",n.id);const i=new i5.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){const c=new o5.ParentNamespace(this);if(bi("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 bi("attaching namespace %s to parent namespace %s",n,c),p.createChild(n);if(bi("initializing namespace %s",n),o=new R$.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(),M$.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)}}Ki.Server=Op;var m5=Object.keys(HM.EventEmitter.prototype).filter(function(n){return typeof HM.EventEmitter.prototype[n]==="function"});m5.forEach(function(n){Op.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});ja.exports=(n,i)=>new Op(n,i);ja.exports.Server=Op;ja.exports.Namespace=R$.Namespace;ja.exports.Socket=bM.Socket});import{createHash as LR}from"crypto";import*as BR from"http";function Pc(n=Math.random){return n().toString(36).slice(2)}class dp 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 Kv(n){return Object.entries(n)}var Wv=(n,i,o=on.STORE)=>{return na(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 Xv(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 xl extends an{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function to(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 ${xo(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 A=ko(S,R,$);return a.next({type:"state_creation",token:A}),A},c,{subject:a,install:(l)=>to(l,i),internalRoles:o});return n.families.set(i.key,m),n.defaults.set(i.key,i.default),c}function Gv(n,i){if("mutable"in i)return ia(n,i);return to(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 ${xo(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=oa(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)=>An(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>en(n,$)})}});return n.families.set(i.key,m),c}function ml(n,i){if("set"in i)return ca(n,i);return ro(n,i)}function ec(n,i){const o=e(i),c=`${n.key}(${o})`,p=B4[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 B4={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function ti(n){const i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}function Zo(n){return zv(on.STORE,n)}function Tc(n){return Gv(on.STORE,n)}var ll=(n)=>(i,o,c,p,...a)=>{console[n](`${i} ${o} "${c}" ${p}`,...a)},D4={error:ll("error"),info:ll("info"),warn:ll("warn")};class pa{n;i;o;constructor(n,i,o=D4){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 ax(n){return ml(on.STORE,n)}function Mc(n){return fl(n,on.STORE)}class ji{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 Fn(n){return"phase"in n.transactionMeta}var Yv=(n)=>{const i=b(n);if(!Fn(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 xo(n){return n.type.split("_").map(h4).join(" ")}var h4=(n)=>n[0].toUpperCase()+n.slice(1);class Qi extends Error{constructor(...n){const i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${xo(i)} ${e(i.key)} not found in store "${o.config.name}".`);else{const c=n[1];super(`${xo(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 Qi(n,o)}}var xx=(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"),uv(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 Ov=(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}"${!Fn(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},Hv=(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)},Ev=(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 Qv=(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 $l=(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(Ev(o,p))continue;Uv(p,o),gc(o,p)}}};function I4(n,i){if(bv(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var Vv=(n,i,o)=>{const{key:c}=n,p=b(o);if(!Fn(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(!I4(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 _v=(n,i,o)=>{const c=Po(n,o);let p=c;if(n.type==="mutable_atom"&&Fn(o)){const{parent:x}=o;p=aa(n,x,o)}if(p=xx(i)(p),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",p),p=ki(n.key,p,n.subject,o),sv(n.key,o))jv(n.key,o);gc(o,n.key),$l(n,o);const a={oldValue:c,newValue:p};if(kn(o))Qv(n,a,o);else if(o.parent){if(o.on.transactionApplying.state===null)Vv(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"&&Fn(o)){const{parent:$}=o;l=aa(m,$,o)}if(l.do(a.newValue)===null)$l(m,o)}}};var mx=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":_v(n,i,o);break;case"selector":n.set(i);break}};function lx(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=lx(n,o)??null,c)p=o.family?rn(o.family.subKey):null,o=An(n,c,p)}else c=i[0],p=i[1],a=i[2],o=An(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=Ov(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);mx(m,a,n),Hv(n)}function fx(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 vl(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]===Nv){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]===Nv){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(Fn(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 xa(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")xa(n,f.key);else if(f.above.delete(c.stringKey),f.above.size===0)xa(n,f.key);c.below.clear();const x={type:"molecule_disposal",subType:"modern",key:c.key,values:a,provenance:p},m=b(n);if(Fn(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 iY=Symbol("provenance"),Nv="T$";function Lv(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 mo(n,i,o){const c=bo(o,i,n.key);n.tokens.set(c.key,c);const p=Fn(o)&&o.transactionMeta.phase==="building",a=o.moleculeInProgress===n.key;if(!p&&!a)n.subject.next({type:"state_creation",token:c});return c}function $x(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=lx(n,o)??null,c)p=o.family?rn(o.family.subKey):null,o=An(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=An(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 Qi(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 yv(n){return n[0].toUpperCase()+n.slice(1)}function _o(n,i,o,c,...p){const a=Xv(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 G=e(X.key),Y=n.molecules.get(G);if(!Y)throw new Error(`Molecule ${G} 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,G)=>Nn(b(a),X,G),json:(X)=>en(b(a),X),run:(X,G=Pc())=>qo(X,G,b(n)),make:(X,G,Y,...E)=>_o(b(a),X,G,Y,...E),dispose:(X)=>{li(b(a),X)},env:()=>$x(b(a)),bond:(X,G)=>{if(X.type==="join"){const{as:Y}=G,E=ma(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 z=X.a===Y?X.b:X.a,M=Bv(X,c),O=M[`${z}KeysOf${yv(Y)}`],U=M[`${z}EntriesOf${yv(Y)}`];let V={relatedKeys:O};if(U)V=Object.assign(V,{relatedEntries:U});return V}return mo($,d(X,a),b(a))},claim:(X,G)=>{const{exclusive:Y}=G,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,G,...Y)=>_o(b(n),[$],d(X,n),G,...Y)},S=d(o,n),T=S.new;$.instance=new T(v,c,...p);const R={type:"molecule",key:c,family:o},A={type:"molecule_creation",subType:"classic",token:R,family:o,context:l,params:p};if(kn(x))S.subject.next(A);else if(Fn(x)&&x.on.transactionApplying.state===null)x.transactionMeta.update.updates.push(A);return x.moleculeInProgress=null,R}function wl(n,i,o){switch(i){case"newValue":{Dv(n,o);break}case"oldValue":{li(o,n.token);break}}}function Sl(n,i,o){switch(i){case"newValue":{li(o,n.token);break}case"oldValue":{Dv(n,o),o.valueMap.set(n.token.key,n.value);break}}}function Dv(n,i){const{family:o}=n.token;if(o){const c=i.families.get(o.key);if(c)An(i,c,rn(o.subKey))}}function Jl(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":vl(o,n.provenance,n.key);break}break;case"oldValue":switch(n.subType){case"classic":li(o,n.token);break;case"modern":xa(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":xa(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)mo(m,f,o);o.valueMap.set(x,a)}}break;case"modern":{vl(o,n.provenance,n.key);for(let[c,p]of n.values){const a=o.families.get(c);if(a){An(o,a,n.key);const x=`${c}(${e(n.key)})`;o.valueMap.set(x,p)}}}}break}}function vx(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":fx(n,p,o);break;case"state_creation":wl(p,n,o);break;case"state_disposal":Sl(p,n,o);break;case"molecule_creation":Jl(p,n,o);break;case"molecule_disposal":Fl(p,n,o);break;case"transaction_update":vx(n,p,o);break}}function hv(n,i,o){if(kn(o)&&n)o.transactionMeta.epoch.set(n,i)}function Iv(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 Cv=(n,i)=>{const o=b(i),{parent:c}=o;if(c===null||!Fn(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),vx("newValue",o.transactionMeta.update,c),kn(c))Iv(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(Fn(c))c.transactionMeta.update.updates.push(o.transactionMeta.update);c.on.transactionApplying.next(null)};function tv(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 ri 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 kv=(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 ri(p.atoms),atomsThatAreDefault:new Set(p.atomsThatAreDefault),families:new ri(p.families),operation:{open:!1},readonlySelectors:new ri(p.readonlySelectors),timelines:new ri(p.timelines),timelineTopics:new ji(p.timelineTopics.toJSON()),trackers:new Map,transactions:new ri(p.transactions),selectorAtoms:new ji(p.selectorAtoms.toJSON()),selectorGraph:new ji(p.selectorGraph.toJSON(),{makeContentKey:(...f)=>f.sort().join(":")}),selectors:new ri(p.selectors),valueMap:new ri(p.valueMap),defaults:p.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new ri(p.molecules),moleculeFamilies:new ri(p.moleculeFamilies),moleculeInProgress:p.moleculeInProgress,miscResources:new ri(p.miscResources)},x=rv(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,$)=>An(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:()=>$x(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 fl(n,i){const o={key:n.key,type:"transaction",run:(a,x)=>{const m=kv(n.key,a,i,x);try{const l=b(i),{toolkit:f}=m.transactionMeta,$=n.do(f,...a);return Cv($,l),$}catch(l){throw Yv(c),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",l),l}},install:(a)=>fl(n,a),subject:new an},c=b(i);c.transactions.set(o.key,o);const p=ti(o);return i.on.transactionCreation.next(p),p}function rv(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 wx{_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 wx([...this._buffer]);return n._index=this._index,n}}class Zv{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new ji({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new ji({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 ji({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new ji({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new wx(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 xl(null),operationClose:new an,moleculeCreationStart:new an,moleculeCreationDone:new an,moleculeDisposal:new an};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new pa("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 ji(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 Zv({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 Qi(n,i)}function Sx(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(ti(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")Sx(f,i);else if(f.above.delete(o.stringKey),f.above.size===0)Sx(f,i);if(o.below.clear(),Fn(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 Qi(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(Fn(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 ti(x);return x}function An(n,i,o){let c=Nn(n,i,o);if(c)return c;const p=n.molecules.get(e(o));if(p)return mo(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):An(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":Al(o,n);break;case"selector":case"readonly_selector":qv(o,n);break;case"molecule":Sx(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 Jx=(n,i)=>b(i).atoms.has(n),C4=(n,i)=>b(i).selectors.has(n),t4=(n,i)=>b(i).readonlySelectors.has(n),Pv=(n,i)=>Jx(n,i)||C4(n,i)||t4(n,i);var Fx=(n,i)=>{return b(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([c,{source:p}])=>p!==n).map(([c,{source:p}])=>p).filter((c)=>Pv(c,i))};var Tl=(n,i,o)=>{const c=[],p=Fx(n,o);while(p.length>0){const a=p.shift();if(i.has(a))continue;if(i.add(a),!Jx(a,o))p.push(...Fx(a,o));else if(!c.includes(a))c.push(a)}return c},ev=(n,i)=>{const o=n.key,c=Fx(o,i),p=new Set;return c.flatMap((a)=>Jx(a,i)?a:Tl(a,p,i))};var gv=(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=Tl(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=An(o,l,f);else{const $=Nn(o,l,f);if($)a=$;else throw new Qi(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}),gv(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"?An(o,l,f):Nn(o,l,f);if(!$)throw new Qi(l,f,o);p=$}const x=b(o),m=d(p,x);mx(m,a,x)},find:(c,p)=>An(o,c,p),seek:(c,p)=>Nn(o,c,p),json:(c)=>en(o,c)});var oa=(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 ki(i.key,R,p,b(n)),a.clear(),R},v={...i,subject:p,install:(R)=>oa(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 la=(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=(G=i.get,Y=b(n))=>{const E=G(v);return ki(i.key,E,p,Y),a.clear(),E},R={...i,subject:p,install:(G)=>la(G,i,o),get:S,set:(G)=>{const Y=b(n),E=S(i.get,Y),s=xx(G)(E);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",E,"->",s,")"),ki(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 A=S();n.logger.info("\u2728",R.type,R.key,"=",A);const X={key:i.key,type:"selector"};if(o)X.family=o;return X};function na(n,i){if("set"in i){const p=la(n,i,void 0);return n.on.selectorCreation.next(p),p}const c=oa(n,i,void 0);return n.on.selectorCreation.next(c),c}function qv(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"),Fn(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function ca(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 ${xo(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=la(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)=>ca(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>An(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>en(n,$)})}});return n.families.set(i.key,m),c}function dv(n,i,o=on.STORE){const c=ca(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=mo($,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=mo(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),kO=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var n0=(n,i)=>{const o=b(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var Kl=(n,i)=>{const o=b(i);return ev(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=n0(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 zi(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=Kl(a,c),l=(v)=>{if(m)m.length=0,m.push(...Kl(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 Ml=(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 Rl=(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}:${Fn(o)?o.transactionMeta.update.key:"main"}:${n.key}`,p=Kn(o,n);this.unsubscribeFromInnerValue=p.subscribe(c,(a)=>{zn(o,i,a)}),this.unsubscribeFromState=zi(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}:${Fn(o)?o.transactionMeta.update.key:"main"}:${n.key}`;zi(i,({newValue:p,oldValue:a})=>{const x=o.timelineTopics.getRelatedKey(i.key);if(x){if(o.timelines.get(x)?.timeTraveling){const f=Ml({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 fa(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."),ti(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}"`),fa(f,i,o)},subject:a};if(o)x.family=o;const m=i.default();c.atoms.set(x.key,x),Tx(i.key,n),ki(i.key,m,a,c);const l=ti(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)=>zi(l,T,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}if(new eo(l,n),!o)Wv(l,i,n);return l}class Wl{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){const o=to(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 ia(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 ${xo(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=fa(S,T,$);return a.next({type:"state_creation",token:R}),R},c,{subject:a,install:(l)=>ia(l,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,m),dv(m,i,n),new Wl(m,n),c}var Xl=(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 An(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 bv(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function aa(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 ki(n,i,o,c){const p=c.valueMap.get(n);if(p instanceof dp)p.use(i);if(i instanceof Promise){const a=new dp(i);return c.valueMap.set(n,a),a.then((x)=>{ki(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 uv=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&Fn(i)){const{parent:c}=i;o=aa(n,c,i)}return o},Uv=(n,i)=>{const o=i.valueMap.get(n);if(o instanceof dp){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 sv=(n,i)=>{return b(i).atomsThatAreDefault.has(n)},Tx=(n,i)=>{const o=b(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},jv=(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."),ti(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),Tx(i.key,n),ki(i.key,m,a,c);const l=ti(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)=>zi(l,T,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}return l}function zv(n,i){if("mutable"in i){const p=fa(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 Al(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);Al(l,i),i.trackers.delete(c)}if(i.logger.info("\uD83D\uDD25","atom",c,"deleted"),Fn(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 Mx(n,i,o=on.STORE){return Gl(o).set(n.key,new zl(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Gl(n){if("joins"in n&&n.joins instanceof Map)return n.joins;const i=new Map;return n.joins=i,i}function ma(n,i){const o=Gl(i);let c=o.get(n.key);if(c===void 0){if(c=Gl(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=ma(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 Rc(n,i,o){const c=ma(n,o),p=b(o);if(Fn(p)){const{toolkit:a}=p.transactionMeta;c.transact(a,({relations:x})=>{i(x)})}else i(c.relations)}function k4(n,i){return ma(n,i).core.findRelatedKeysState}function i0(n){return k4(n,on.STORE)}class zl{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 zl(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=(z,M)=>{const O=this.toolkit.seek(z,M);if(O)return O;const U=this.molecules.get(e(M));if(U){const V=d(z,o);return mo(U,V,o)}if(o.config.lifespan==="immortal")throw new Qi(z,M,o);return bo(o,z,M)},this.toolkit={get:(...z)=>Kn(o,...z),set:(...z)=>{zn(o,...z)},find:this.retrieve,seek:(...z)=>Nn(o,...z),json:(z)=>en(o,z),dispose:(...z)=>{li(o,...z)}};const c=n.between[0],p=n.between[1],a=ia(o,{key:`${n.key}/relatedKeys`,default:()=>new oi,mutable:!0,fromJson:(z)=>oi.fromJSON(z),toJson:(z)=>z.toJSON()},["join","relations"]);this.core={findRelatedKeysState:a};const x=({get:z},M)=>z(this.retrieve(a,M)),m=(z,M,O)=>{const{set:U}=z,V=this.retrieve(a,M),K=this.retrieve(a,O);U(V,(y)=>y.add(O)),U(K,(y)=>y.add(M))},l=(z,M,O)=>{const{set:U}=z,V=this.retrieve(a,M),K=this.retrieve(a,O);let y,_;U(V,(P)=>{if(P.delete(O),P.size===0)y=`"${M}"`;return P}),U(K,(P)=>{if(P.delete(M),P.size===0)_=`"${O}"`;return P})},f=(z,M,O)=>{const{get:U,set:V}=z,K=this.retrieve(a,M),y=U(K);for(let _ of y){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(z,ln),Un=$n.has(M);if(this.relations.cardinality==="1:n"){const si=[];for(let H of $n){if(H===M)continue;const k=x(z,H);if(k.delete(ln),k.size===0)si.push(H)}if(!Un&&$n.size>0)$n.clear();for(let H of si){const k=[ln,H].sort(),Sn=`"${k[0]}:${k[1]}"`;this.molecules.delete(Sn)}}if(!Un)$n.add(M);P.add(ln)}return!0}),_})},$=(z,M,O)=>{const{set:U}=z,V=this.retrieve(a,M);U(V,(K)=>{return K.transaction((y)=>{for(let _ of O)y.add(_);return!0}),K});for(let K of O){const y=this.retrieve(a,K);U(y,(_)=>{return _.add(M),_})}return!0},v=(z,M,O)=>{const U=x(z,M);return O?U.has(O):U.size>0},S={getRelatedKeys:(z)=>x(this.toolkit,z),addRelation:(z,M)=>{m(this.toolkit,z,M)},deleteRelation:(z,M)=>{l(this.toolkit,z,M)},replaceRelationsSafely:(z,M)=>{f(this.toolkit,z,M)},replaceRelationsUnsafely:(z,M)=>{$(this.toolkit,z,M)},has:(z,M)=>v(this.toolkit,z,M)};let T,R,A;if(i){R=to(o,{key:`${n.key}/content`,default:i},["join","content"]);const z={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};A=Lv(o,{key:`${n.key}/content-molecules`,new:class K{_;constructor(y,_){this.key=_}}});const M=({get:K},y)=>K(this.retrieve(R,y)),O=({set:K},y,_)=>{K(this.retrieve(R,y),_)},U=(K,y)=>{const _=o.molecules.get(`"${y}"`);if(_)this.toolkit.dispose(_),this.molecules.delete(`"${y}"`)};T=Object.assign(S,{getContent:(K)=>{return M(this.toolkit,K)},setContent:(K,y)=>{O(this.toolkit,K,y)},deleteContent:(K)=>{U(this.toolkit,K)}})}else T=S;const X=new ji(n,{externalStore:T,makeContentKey:(...z)=>{const M=z.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),y=_o(K,[U,V],A,O);this.molecules.set(`"${O}"`,d(y,K))}return O}}),G=()=>ro(o,{key:`${n.key}/singleRelatedKey`,get:(z)=>({get:M})=>{const O=this.retrieve(a,z),U=M(O);for(let V of U)return V;return null}},["join","keys"]),Y=()=>{return ro(o,{key:`${n.key}/multipleRelatedKeys`,get:(z)=>({get:M})=>{const O=Xl(a,o),U=this.retrieve(O,z);return M(U).members}},["join","keys"])},E=()=>ro(o,{key:`${n.key}/singleRelatedEntry`,get:(z)=>({get:M})=>{const O=this.retrieve(a,z),U=M(O);for(let V of U){const K=X.makeContentKey(z,V),y=this.retrieve(R,K),_=M(y);return[V,_]}return null}},["join","entries"]),s=()=>ro(o,{key:`${n.key}/multipleRelatedEntries`,get:(z)=>({get:M})=>{const O=Xl(a,o),U=this.retrieve(O,z);return M(U).members.map((K)=>{const y=X.makeContentKey(z,K),_=this.retrieve(R,y),P=M(_);return[K,P]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const z=G(),M=`${c}KeyOf${Ln(p)}`,O=`${p}KeyOf${Ln(c)}`,U={[M]:z,[O]:z};let V;if(i){const K=E(),y=`${c}EntryOf${Ln(p)}`,_=`${p}EntryOf${Ln(c)}`,P={[y]:K,[_]:K};V=Object.assign(U,P)}else V=U;this.relations=X,this.states=V;break}case"1:n":{const z=G(),M=Y(),O=`${c}KeyOf${Ln(p)}`,U=`${p}KeysOf${Ln(c)}`,V={[O]:z,[U]:M};let K;if(i){const y=E(),_=s(),P=`${c}EntryOf${Ln(p)}`,ln=`${p}EntriesOf${Ln(c)}`,$n={[P]:y,[ln]:_};K=Object.assign(V,$n)}else K=V;this.relations=X,this.states=K;break}default:{const z=Y(),M=`${c}KeysOf${Ln(p)}`,O=`${p}KeysOf${Ln(c)}`,U={[M]:z,[O]:z};let V;if(i){const K=s(),y=`${c}EntriesOf${Ln(p)}`,_=`${p}EntriesOf${Ln(c)}`,P={[y]: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 $a 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 o0 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 Yl 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 o0(`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 p0(n){const{key:i,config:o}=n,c=Rx.create(i,o),{actions:p}=c;for(let a of p)tv(i,a.key,on.STORE);return hv(i,-1,on.STORE),c}class c0 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 Rx{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new c0;static create(n,i){const o=new Rx(n),{type:c,globals:p,actions:a,perspectives:x}=i(o),m={type:c,key:n,globals:p,actions:a,perspectives:x};return Rx.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 $U=Zo({key:"usersInRoomIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),ul=Zo({key:"roomIndex",default:()=>new oi,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),r4={enteredAtEpoch:0},va=Mx({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},r4),vU=ax({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=i0(va);return[i(o,n)]}});import{spawn as Z4}from"child_process";var Ol=Tc({key:"roomArguments",default:["echo",["Hello World!"]]}),a0=ax({key:"room",get:(n)=>async({get:i,find:o})=>{const c=o(Ol,n),p=i(c),[a,x]=p,m=await new Promise((l)=>{const f=Z4(a,x,{env:process.env}),$=(v)=>{if(v.toString()==="\u2728")f.stdout.off("data",$),l(f)};f.stdout.on("data",$)});return new $a(m,n)}});var YU=Mc({key:"createRoom",do:({get:n,set:i,find:o},c,p,a)=>{const x=a?[p,a]:[p],m=o(Ol,c);i(m,x),i(ul,($)=>$.add(c));const l=o(a0,c);return n(l)}}),uU=Mc({key:"joinRoom",do:(n,i,o,c)=>{const p={enteredAtEpoch:c};return Rc(va,(a)=>{a.set({room:i,user:o},p)},n.env().store),p}}),OU=Mc({key:"leaveRoom",do:(n,i,o)=>{Rc(va,(c)=>{c.delete({room:i,user:o})},n.env().store)}}),HU=Mc({key:"destroyRoom",do:(n,i)=>{Rc(va,(o)=>{o.delete({room:i})},n.env().store),n.set(ul,(o)=>(o.delete(i),o))}});function Hl(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{const c=Hl(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 UU=Tc({key:"transactionRedactor",default:{occlude:(n)=>n}}),x0=Tc({key:"unacknowledgedUpdates",default:()=>[]});var wa=Tc({key:"sockets",default:null}),El=Zo({key:"socketsIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Ql=Zo({key:"usersIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Kc=Mx({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function m0({socket:n,store:i=on.STORE}){return function o(c){let p=n;const a=c.key,x=np(Kc,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(Kc,m,i).socketKeyOfUser;zi(l,({newValue:G})=>{if(i.logger.info("\uD83D\uDC4B","continuity",a,`seeing ${m} on new socket ${G}`),G===null){i.logger.warn("\u274C","continuity",a,`User (${m}) is not connected to a socket, waiting for them to reappear.`);return}const Y=An(i,wa,G);p=Kn(i,Y);for(let s of $)p?.emit(`tx-new:${a}`,s)},`sync-continuity:${a}:${m}`,i);const f=An(i,x0,m),$=Kn(i,f),v=[],T=(()=>{const G=[];for(let Y of c.perspectives){const{viewAtoms:E}=Y,s=An(i,E,m),z=zi(s,({oldValue:M,newValue:O})=>{const U=M.map((_)=>_.key),V=O.map((_)=>_.key),K=M.filter((_)=>!V.includes(_.key)),y=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:y,concealed:K}),y.length>0)p?.emit(`reveal:${a}`,y);if(K.length>0)p?.emit(`conceal:${a}`,K)},`sync-continuity:${a}:${m}:perspective:${Y.resourceAtoms.key}`,i);G.push(z)}return()=>{for(let Y of G)Y()}})(),R=()=>{const G=[];for(let E of c.globals){const s=E.type==="mutable_atom"?en(i,E):E,z=Kn(i,s);G.push(s,z)}for(let E of c.perspectives){const{viewAtoms:s,resourceAtoms:z}=E,M=An(i,s,m),O=Kn(i,M);i.logger.info("\uD83D\uDC41","atom",z.key,`${m} can see`,{viewAtoms:s,resourceAtoms:z,userView:O});for(let U of O){const V=U.type==="mutable_atom"?en(i,U):U,K=Kn(i,V);G.push(V,K)}}const Y=kn(i)?i.transactionMeta.epoch.get(a)??null:null;p?.emit(`continuity-init:${a}`,Y,G);for(let E of c.actions){const s=Rl(E,(z)=>{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,y=An(i,K,m);return Kn(i,y).map((P)=>{return P.type==="mutable_atom"?"*"+P.key:P.key})})),O=Hl(M,z.updates),U={...z,updates:O};zn(i,f,(V)=>{if(U)V.push(U),V.sort((K,y)=>K.epoch-y.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 A=(G)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",a,"received",G);const{key:Y,id:E}=G,s=`tx-run:${Y}:${E}`,z=`${s}:start`,M=`${s}:end`;performance.mark(z);try{qo({type:"transaction",key:Y},E,i)(...G.params)}catch(y){if(y instanceof Error)i.logger.error("\u274C","continuity",a,`failed to run transaction ${Y} with update ${E}`,y.message)}performance.mark(M);const O=performance.measure(s,z,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}`,A),p.on(`tx-run:${a}`,A);const X=(G)=>{if(i.logger.info("\uD83D\uDC4D","continuity",a,`${m} acknowledged epoch ${G}`),$[0]?.epoch===G)zn(i,f,(E)=>{return E.shift(),E})};return p?.on(`ack:${a}`,X),()=>{for(let G of v)G();p?.off(`ack:${a}`,X),T(),p?.off(`get:${a}`,R),p?.off(`tx-run:${a}`,A)}}}var DR=al(af(),1);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=Object.getPrototypeOf(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"),zV=Symbol.for("drizzle:hasOwnEntityKind");class _n{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 xf{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 vo=Symbol.for("drizzle:Name");class mf{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 vS(n,this)}}class vS{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[vo],...c,o[0].table[vo],...p];return n??`${a.join("_")}_fk`}}function yx(n,...i){return n(...i)}function wS(n,i){return`${n[vo]}_${i.join("_")}_unique`}function SS(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 JS(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]=SS(n,c+1,!0);o.push(l),c=f;continue}if(a==="}")return[o,c+1];if(a==="{"){const[l,f]=JS(n,c+1);o.push(l),c=f;continue}const[x,m]=SS(n,c,!1);o.push(x),c=m}return[o,c]}function FS(n){const[i]=JS(n,1);return i}function lf(n){return`{${n.map((i)=>{if(Array.isArray(i))return lf(i);if(typeof i==="string")return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;return`${i}`}).join(",")}}`}class C extends xf{foreignKeyConfigs=[];static[J]="PgColumnBuilder";array(n){return new TS(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 yx((p,a)=>{const x=new mf(()=>{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 AS(n,this.config)}}class j extends _n{constructor(n,i){if(!i.uniqueName)i.uniqueName=wS(n,[i.name]);super(n,i);this.table=n}static[J]="PgColumn"}class AS 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 Ga{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 TS extends C{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 ff(n,this.config,i)}}class ff 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=FS(n);return n.map((i)=>this.baseColumn.mapFromDriverValue(i))}mapToDriverValue(n,i=!1){const o=n.map((c)=>c===null?null:u(this.baseColumn,ff)?this.baseColumn.mapToDriverValue(c,!0):this.baseColumn.mapToDriverValue(c));if(i)return o;return lf(o)}}function MS(n){return!!n&&typeof n==="function"&&$f in n&&n[$f]===!0}function Bx(n,i){return S6(n,i,void 0)}function S6(n,i,o){const c=Object.assign((p)=>new RS(p??"",c),{enumName:n,enumValues:i,schema:o,[$f]:!0});return c}var $f=Symbol.for("drizzle:isPgEnum");class RS extends C{static[J]="PgEnumColumnBuilder";constructor(n,i){super(n,"string","PgEnumColumn");this.config.enum=i}build(n){return new KS(n,this.config)}}class KS 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 za extends fi{static[J]="WithSubquery"}var WS="0.35.1";var vf,wf,En={startActiveSpan(n,i){if(!vf)return i();if(!wf)wf=vf.trace.getTracer("drizzle-orm",WS);return yx((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()}}),vf,wf)}};var hn=Symbol.for("drizzle:ViewBaseConfig");function gi(n){return n[vo]}function Oc(n){return`${n[Dx]??"public"}.${n[vo]}`}var Dx=Symbol.for("drizzle:Schema"),XS=Symbol.for("drizzle:Columns"),GS=Symbol.for("drizzle:ExtraConfigColumns"),Sf=Symbol.for("drizzle:OriginalName"),Jf=Symbol.for("drizzle:BaseName"),zS=Symbol.for("drizzle:IsAlias"),YS=Symbol.for("drizzle:ExtraConfigBuilder"),J6=Symbol.for("drizzle:IsDrizzleTable");class D{static[J]="Table";static Symbol={Name:vo,Schema:Dx,OriginalName:Sf,Columns:XS,ExtraConfigColumns:GS,BaseName:Jf,IsAlias:zS,ExtraConfigBuilder:YS};[vo];[Sf];[Dx];[XS];[GS];[Jf];[zS]=!1;[J6]=!0;[YS]=void 0;constructor(n,i,o){this[vo]=this[Sf]=n,this[Dx]=i,this[Jf]=o}}function Ff(n){return n!==null&&n!==void 0&&typeof n.getSQL==="function"}function F6(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 uS(n){return typeof n==="object"&&n!==null&&"mapToDriverValue"in n&&typeof n.mapToDriverValue==="function"}function F(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 t(o)}function Af(n,i){return n.map((o)=>{if(u(o,cc)){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,cc)){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 t([this])}}class t{constructor(n){this.queryChunks=n}static[J]="SQL";decoder=OS;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 F6(n.map((f)=>{if(u(f,ci))return{sql:f.value.join(""),params:[]};if(u(f,hx))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,t))return this.buildQueryFromSourceParams(f.queryChunks,{...o,inlineParams:m||f.shouldInlineParams});if(u(f,D)){const $=f[D.Symbol.Schema],v=f[D.Symbol.Name];return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,_n)){const $=c.getColumnCasing(f);if(i.invokeSource==="indexes")return{sql:p($),params:[]};return{sql:p(f.table[D.Symbol.Name])+"."+p($),params:[]}}if(u(f,Ui)){const $=f[hn].schema,v=f[hn].name;return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,Li)){if(u(f.value,cc))return{sql:a(l.value++,f),params:[f],typings:["none"]};const $=f.value===null?null:f.encoder.mapToDriverValue(f.value);if(u($,t))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,cc))return{sql:a(l.value++,f),params:[f],typings:["none"]};if(u(f,t.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 hx(f._.alias)],o)}if(MS(f)){if(f.schema)return{sql:p(f.schema)+"."+p(f.enumName),params:[]};return{sql:p(f.enumName),params:[]}}if(Ff(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 t.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 hx{constructor(n){this.value=n}static[J]="Name";brand;getSQL(){return new t([this])}}var OS={mapFromDriverValue:(n)=>n},HS={mapToDriverValue:(n)=>n},wb={...OS,...HS};class Li{constructor(n,i=HS){this.value=n,this.encoder=i}static[J]="Param";brand;getSQL(){return new t([this])}}((n)=>{function i(){return new t([])}n.empty=i;function o(l){return new t(l)}n.fromList=o;function c(l){return new t([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 t($)}n.join=p;function a(l){return new hx(l)}n.identifier=a;function x(l){return new cc(l)}n.placeholder=x;function m(l,f){return new Li(l,f)}n.param=m})(F||(F={}));((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})(t||(t={}));class cc{constructor(n){this.name=n}static[J]="Placeholder";getSQL(){return new t([this])}}class Ui{static[J]="View";[hn];constructor({name:n,schema:i,selectedFields:o,query:c}){this[hn]={name:n,originalName:n,schema:i,selectedFields:o,query:c,isExisting:!c,isAlias:!1}}getSQL(){return new t([this])}}_n.prototype.getSQL=function(){return new t([this])};D.prototype.getSQL=function(){return new t([this])};fi.prototype.getSQL=function(){return new t([this])};function Ix(n,i){return new Proxy(n,new Ya(i,!1))}function Oo(n,i){return new Proxy(n,new wp(new Proxy(n.table,new Ya(i,!1))))}function Tf(n,i){return new t.Aliased(ua(n.sql,i),n.fieldAlias)}function ua(n,i){return F.join(n.queryChunks.map((o)=>{if(u(o,_n))return Oo(o,i);if(u(o,t))return ua(o,i);if(u(o,t.Aliased))return Tf(o,i);return o}))}class wp{constructor(n){this.table=n}static[J]="ColumnAliasProxyHandler";get(n,i){if(i==="table")return this.table;return n[i]}}class Ya{constructor(n,i){this.alias=n,this.replaceOriginalName=i}static[J]="TableAliasProxyHandler";get(n,i){if(i===D.Symbol.IsAlias)return!0;if(i===D.Symbol.Name)return this.alias;if(this.replaceOriginalName&&i===D.Symbol.OriginalName)return this.alias;if(i===hn)return{...n[hn],name:this.alias,isAlias:!0};if(i===D.Symbol.Columns){const c=n[D.Symbol.Columns];if(!c)return c;const p={};return Object.keys(c).map((a)=>{p[a]=new Proxy(c[a],new wp(new Proxy(n,this)))}),p}const o=n[i];if(u(o,_n))return new Proxy(o,new wp(new Proxy(n,this)));return o}}class Cx extends Error{static[J]="DrizzleError";constructor({message:n,cause:i}){super(n);this.name="DrizzleError",this.cause=i}}class Mf extends Cx{static[J]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function Vi(n,i){if(uS(i)&&!Ff(n)&&!u(n,Li)&&!u(n,cc)&&!u(n,_n)&&!u(n,D)&&!u(n,Ui))return new Li(n,i);return n}function Hc(...n){const i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new t(i);return new t([new ci("("),F.join(i,new ci(" and ")),new ci(")")])}function QS(...n){const i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new t(i);return new t([new ci("("),F.join(i,new ci(" or ")),new ci(")")])}function US(n){return F`not ${n}`}function sS(n,i){if(Array.isArray(i)){if(i.length===0)return F`false`;return F`${n} in ${i.map((o)=>Vi(o,n))}`}return F`${n} in ${Vi(i,n)}`}function jS(n,i){if(Array.isArray(i)){if(i.length===0)return F`true`;return F`${n} not in ${i.map((o)=>Vi(o,n))}`}return F`${n} not in ${Vi(i,n)}`}function NS(n){return F`${n} is null`}function LS(n){return F`${n} is not null`}function yS(n){return F`exists ${n}`}function BS(n){return F`not exists ${n}`}function DS(n,i,o){return F`${n} between ${Vi(i,n)} and ${Vi(o,n)}`}function hS(n,i,o){return F`${n} not between ${Vi(i,n)} and ${Vi(o,n)}`}function IS(n,i){return F`${n} like ${i}`}function CS(n,i){return F`${n} not like ${i}`}function tS(n,i){return F`${n} ilike ${i}`}function kS(n,i){return F`${n} not ilike ${i}`}var Ho=(n,i)=>{return F`${n} = ${Vi(i,n)}`},ES=(n,i)=>{return F`${n} <> ${Vi(i,n)}`},tx=(n,i)=>{return F`${n} > ${Vi(i,n)}`},VS=(n,i)=>{return F`${n} >= ${Vi(i,n)}`},bS=(n,i)=>{return F`${n} < ${Vi(i,n)}`},_S=(n,i)=>{return F`${n} <= ${Vi(i,n)}`};function rS(n){return F`${n} asc`}function ZS(n){return F`${n} desc`}class qS{static[J]="ConsoleLogWriter";write(n){console.log(n)}}class Rf{static[J]="DefaultLogger";writer;constructor(n){this.writer=n?.writer??new qS}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 Kf{static[J]="NoopLogger";logQuery(){}}class ui{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 PS(n,i,o){const c={},p=n.reduce((a,{path:x,field:m},l)=>{let f;if(u(m,_n))f=m;else if(u(m,t))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,_n)&&x.length===2){const A=x[0];if(!(A in c))c[A]=R===null?gi(m.table):!1;else if(typeof c[A]==="string"&&c[A]!==gi(m.table))c[A]=!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 di(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,_n)||u(p,t)||u(p,t.Aliased))o.push({path:a,field:p});else if(u(p,D))o.push(...di(p[D.Symbol.Columns],a));else o.push(...di(p,a));return o},[])}function Wf(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 kx(n,i){const o=Object.entries(i).filter(([,c])=>c!==void 0).map(([c,p])=>{if(u(p,t))return[c,p];else return[c,new Li(p,n[D.Symbol.Columns][c])]});if(o.length===0)throw new Error("No values to set");return Object.fromEntries(o)}function eS(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 gS(n){return n[D.Symbol.Columns]}function Xf(n){return u(n,fi)?n._.alias:u(n,Ui)?n[hn].name:u(n,t)?void 0:n[D.Symbol.IsAlias]?n[D.Symbol.Name]:n[D.Symbol.BaseName]}function Jn(n,i){return{name:typeof n==="string"&&n.length>0?n:"",config:typeof n==="object"?n:i}}class pc extends C{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 c1(n,i){const{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new dS(o);return new i1(o)}class dS extends pc{static[J]="PgBigInt53Builder";constructor(n){super(n,"number","PgBigInt53")}build(n){return new n1(n,this.config)}}class n1 extends j{static[J]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class i1 extends pc{static[J]="PgBigInt64Builder";constructor(n){super(n,"bigint","PgBigInt64")}build(n){return new o1(n,this.config)}}class o1 extends j{static[J]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(n){return BigInt(n)}}function l1(n,i){const{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new p1(o);return new x1(o)}class p1 extends C{static[J]="PgBigSerial53Builder";constructor(n){super(n,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new a1(n,this.config)}}class a1 extends j{static[J]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class x1 extends C{static[J]="PgBigSerial64Builder";constructor(n){super(n,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(n){return new m1(n,this.config)}}class m1 extends j{static[J]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(n){return BigInt(n)}}function Oa(n){return new f1(n??"")}class f1 extends C{static[J]="PgBooleanBuilder";constructor(n){super(n,"boolean","PgBoolean")}build(n){return new $1(n,this.config)}}class $1 extends j{static[J]="PgBoolean";getSQLType(){return"boolean"}}function S1(n,i={}){const{name:o,config:c}=Jn(n,i);return new v1(o,c)}class v1 extends C{static[J]="PgCharBuilder";constructor(n,i){super(n,"string","PgChar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new w1(n,this.config)}}class w1 extends j{static[J]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function A1(n){return new J1(n??"")}class J1 extends C{static[J]="PgCidrBuilder";constructor(n){super(n,"string","PgCidr")}build(n){return new F1(n,this.config)}}class F1 extends j{static[J]="PgCidr";getSQLType(){return"cidr"}}function R1(n){return(i,o)=>{const{name:c,config:p}=Jn(i,o);return new T1(c,p,n)}}class T1 extends C{static[J]="PgCustomColumnBuilder";constructor(n,i,o){super(n,"custom","PgCustomColumn");this.config.fieldConfig=i,this.config.customTypeParams=o}build(n){return new M1(n,this.config)}}class M1 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 No extends C{static[J]="PgDateColumnBaseBuilder";defaultNow(){return this.default(F`now()`)}}function X1(n,i){const{name:o,config:c}=Jn(n,i);if(c?.mode==="date")return new K1(o);return new W1(o)}class K1 extends No{static[J]="PgDateBuilder";constructor(n){super(n,"date","PgDate")}build(n){return new rx(n,this.config)}}class rx extends j{static[J]="PgDate";getSQLType(){return"date"}mapFromDriverValue(n){return new Date(n)}mapToDriverValue(n){return n.toISOString()}}class W1 extends No{static[J]="PgDateStringBuilder";constructor(n){super(n,"string","PgDateString")}build(n){return new Zx(n,this.config)}}class Zx extends j{static[J]="PgDateString";getSQLType(){return"date"}}function Y1(n){return new G1(n??"")}class G1 extends C{static[J]="PgDoublePrecisionBuilder";constructor(n){super(n,"number","PgDoublePrecision")}build(n){return new z1(n,this.config)}}class z1 extends j{static[J]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseFloat(n);return n}}function H1(n){return new u1(n??"")}class u1 extends C{static[J]="PgInetBuilder";constructor(n){super(n,"string","PgInet")}build(n){return new O1(n,this.config)}}class O1 extends j{static[J]="PgInet";getSQLType(){return"inet"}}function qx(n){return new E1(n??"")}class E1 extends pc{static[J]="PgIntegerBuilder";constructor(n){super(n,"number","PgInteger")}build(n){return new Q1(n,this.config)}}class Q1 extends j{static[J]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseInt(n);return n}}function b1(n,i={}){const{name:o,config:c}=Jn(n,i);return new U1(o,c)}class U1 extends C{static[J]="PgIntervalBuilder";constructor(n,i){super(n,"string","PgInterval");this.config.intervalConfig=i}build(n){return new V1(n,this.config)}}class V1 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 s1(n){return new _1(n??"")}class _1 extends C{static[J]="PgJsonBuilder";constructor(n){super(n,"json","PgJson")}build(n){return new Px(n,this.config)}}class Px 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 N1(n){return new j1(n??"")}class j1 extends C{static[J]="PgJsonbBuilder";constructor(n){super(n,"json","PgJsonb")}build(n){return new ex(n,this.config)}}class ex 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 h1(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new L1(o);return new B1(o)}class L1 extends C{static[J]="PgLineBuilder";constructor(n){super(n,"array","PgLine")}build(n){return new y1(n,this.config)}}class y1 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 B1 extends C{static[J]="PgLineABCBuilder";constructor(n){super(n,"json","PgLineABC")}build(n){return new D1(n,this.config)}}class D1 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 t1(n){return new I1(n??"")}class I1 extends C{static[J]="PgMacaddrBuilder";constructor(n){super(n,"string","PgMacaddr")}build(n){return new C1(n,this.config)}}class C1 extends j{static[J]="PgMacaddr";getSQLType(){return"macaddr"}}function Z1(n){return new k1(n??"")}class k1 extends C{static[J]="PgMacaddr8Builder";constructor(n){super(n,"string","PgMacaddr8")}build(n){return new r1(n,this.config)}}class r1 extends j{static[J]="PgMacaddr8";getSQLType(){return"macaddr8"}}function P1(n,i){const{name:o,config:c}=Jn(n,i);return new q1(o,c?.precision,c?.scale)}class q1 extends C{static[J]="PgNumericBuilder";constructor(n,i,o){super(n,"string","PgNumeric");this.config.precision=i,this.config.scale=o}build(n){return new gx(n,this.config)}}class gx 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 iJ(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new e1(o);return new d1(o)}class e1 extends C{static[J]="PgPointTupleBuilder";constructor(n){super(n,"array","PgPointTuple")}build(n){return new g1(n,this.config)}}class g1 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 d1 extends C{static[J]="PgPointObjectBuilder";constructor(n){super(n,"json","PgPointObject")}build(n){return new nJ(n,this.config)}}class nJ 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 A6(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 oJ(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 Gf(n){const i=A6(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=oJ(i,o);o+=8;const l=oJ(i,o);return o+=8,[m,l]}throw new Error("Unsupported geometry type")}function mJ(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new cJ(o);return new aJ(o)}class cJ extends C{static[J]="PgGeometryBuilder";constructor(n){super(n,"array","PgGeometry")}build(n){return new pJ(n,this.config)}}class pJ extends j{static[J]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){return Gf(n)}mapToDriverValue(n){return`point(${n[0]} ${n[1]})`}}class aJ extends C{static[J]="PgGeometryObjectBuilder";constructor(n){super(n,"json","PgGeometryObject")}build(n){return new xJ(n,this.config)}}class xJ extends j{static[J]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){const i=Gf(n);return{x:i[0],y:i[1]}}mapToDriverValue(n){return`point(${n.x} ${n.y})`}}function $J(n){return new lJ(n??"")}class lJ extends C{static[J]="PgRealBuilder";constructor(n,i){super(n,"number","PgReal");this.config.length=i}build(n){return new fJ(n,this.config)}}class fJ 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 SJ(n){return new vJ(n??"")}class vJ extends C{static[J]="PgSerialBuilder";constructor(n){super(n,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new wJ(n,this.config)}}class wJ extends j{static[J]="PgSerial";getSQLType(){return"serial"}}function AJ(n){return new JJ(n??"")}class JJ extends pc{static[J]="PgSmallIntBuilder";constructor(n){super(n,"number","PgSmallInt")}build(n){return new FJ(n,this.config)}}class FJ extends j{static[J]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number(n);return n}}function RJ(n){return new TJ(n??"")}class TJ extends C{static[J]="PgSmallSerialBuilder";constructor(n){super(n,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new MJ(n,this.config)}}class MJ extends j{static[J]="PgSmallSerial";getSQLType(){return"smallserial"}}function XJ(n,i={}){const{name:o,config:c}=Jn(n,i);return new KJ(o,c)}class KJ extends C{static[J]="PgTextBuilder";constructor(n,i){super(n,"string","PgText");this.config.enumValues=i.enum}build(n){return new WJ(n,this.config)}}class WJ extends j{static[J]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function zJ(n,i={}){const{name:o,config:c}=Jn(n,i);return new GJ(o,c.withTimezone??!1,c.precision)}class GJ extends No{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 dx(n,this.config)}}class dx 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 wo(n,i={}){const{name:o,config:c}=Jn(n,i);if(c?.mode==="string")return new uJ(o,c.withTimezone??!1,c.precision);return new YJ(o,c?.withTimezone??!1,c?.precision)}class YJ extends No{static[J]="PgTimestampBuilder";constructor(n,i,o){super(n,"date","PgTimestamp");this.config.withTimezone=i,this.config.precision=o}build(n){return new nm(n,this.config)}}class nm 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 uJ extends No{static[J]="PgTimestampStringBuilder";constructor(n,i,o){super(n,"string","PgTimestampString");this.config.withTimezone=i,this.config.precision=o}build(n){return new im(n,this.config)}}class im 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 yi(n){return new OJ(n??"")}class OJ extends C{static[J]="PgUUIDBuilder";constructor(n){super(n,"string","PgUUID")}defaultRandom(){return this.default(F`gen_random_uuid()`)}build(n){return new om(n,this.config)}}class om extends j{static[J]="PgUUID";getSQLType(){return"uuid"}}function $i(n,i={}){const{name:o,config:c}=Jn(n,i);return new HJ(o,c)}class HJ extends C{static[J]="PgVarcharBuilder";constructor(n,i){super(n,"string","PgVarchar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new EJ(n,this.config)}}class EJ extends j{static[J]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function VJ(n,i){const{name:o,config:c}=Jn(n,i);return new QJ(o,c)}class QJ extends C{static[J]="PgBinaryVectorBuilder";constructor(n,i){super(n,"string","PgBinaryVector");this.config.dimensions=i.dimensions}build(n){return new UJ(n,this.config)}}class UJ extends j{static[J]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function sJ(n,i){const{name:o,config:c}=Jn(n,i);return new bJ(o,c)}class bJ extends C{static[J]="PgHalfVectorBuilder";constructor(n,i){super(n,"array","PgHalfVector");this.config.dimensions=i.dimensions}build(n){return new _J(n,this.config)}}class _J 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 LJ(n,i){const{name:o,config:c}=Jn(n,i);return new jJ(o,c)}class jJ extends C{static[J]="PgSparseVectorBuilder";constructor(n,i){super(n,"string","PgSparseVector");this.config.dimensions=i.dimensions}build(n){return new NJ(n,this.config)}}class NJ extends j{static[J]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function DJ(n,i){const{name:o,config:c}=Jn(n,i);return new yJ(o,c)}class yJ extends C{static[J]="PgVectorBuilder";constructor(n,i){super(n,"array","PgVector");this.config.dimensions=i.dimensions}build(n){return new BJ(n,this.config)}}class BJ 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 hJ(){return{bigint:c1,bigserial:l1,boolean:Oa,char:S1,cidr:A1,customType:R1,date:X1,doublePrecision:Y1,inet:H1,integer:qx,interval:b1,json:s1,jsonb:N1,line:h1,macaddr:t1,macaddr8:Z1,numeric:P1,point:iJ,geometry:mJ,real:$J,serial:SJ,smallint:AJ,smallserial:RJ,text:XJ,time:zJ,timestamp:wo,uuid:yi,varchar:$i,bit:VJ,halfvec:sJ,sparsevec:LJ,vector:DJ}}function T6(n,i,o,c,p=n){const a=new So(n,c,p),x=typeof i==="function"?i(hJ()):i,m=Object.fromEntries(Object.entries(x).map(([$,v])=>{const S=v;S.setName($);const T=S.build(a);return a[zf].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[D.Symbol.Columns]=m,f[D.Symbol.ExtraConfigColumns]=l,o)f[So.Symbol.ExtraConfigBuilder]=o;return f}var zf=Symbol.for("drizzle:PgInlineForeignKeys");class So extends D{static[J]="PgTable";static Symbol=Object.assign({},D.Symbol,{InlineForeignKeys:zf});[zf]=[];[D.Symbol.ExtraConfigBuilder]=void 0}var ac=(n,i,o)=>{return T6(n,i,o,void 0)};function IJ(...n){if(n[0].columns)return new Ha(n[0].columns,n[0].name);return new Ha(n)}class Ha{static[J]="PgPrimaryKeyBuilder";columns;name;constructor(n,i){this.columns=n,this.name=i}build(n){return new CJ(n,this.columns,this.name)}}class CJ{constructor(n,i,o){this.table=n,this.columns=i,this.name=o}static[J]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[So.Symbol.Name]}_${this.columns.map((n)=>n.name).join("_")}_pk`}}function kJ(){return{and:Hc,between:DS,eq:Ho,exists:yS,gt:tx,gte:VS,ilike:tS,inArray:sS,isNull:NS,isNotNull:LS,like:IS,lt:bS,lte:_S,ne:ES,not:US,notBetween:hS,notExists:BS,notLike:CS,notIlike:kS,notInArray:jS,or:QS,sql:F}}function rJ(){return{sql:F,asc:rS,desc:ZS}}function ZJ(n,i){if(Object.keys(n).length===1&&"default"in n&&!u(n.default,D))n=n.default;const o={},c={},p={};for(let[a,x]of Object.entries(n))if(u(x,D)){const m=Oc(x),l=c[m];o[m]=a,p[a]={tsName:a,dbName:x[D.Symbol.Name],schema:x[D.Symbol.Schema],columns:x[D.Symbol.Columns],relations:l?.relations??{},primaryKey:l?.primaryKey??[]};for(let $ of Object.values(x[D.Symbol.Columns]))if($.primary)p[a].primaryKey.push($);const f=x[D.Symbol.ExtraConfigBuilder]?.(x[D.Symbol.ExtraConfigColumns]);if(f){for(let $ of Object.values(f))if(u($,Ha))p[a].primaryKey.push(...$.columns)}}else if(u(x,tJ)){const m=Oc(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 M6(n){return function i(o,c){return new xc(n,o,c,c?.fields.reduce((p,a)=>p&&a.notNull,!0)??!1)}}function R6(n){return function i(o,c){return new Ea(n,o,c)}}function qJ(n,i,o){if(u(o,xc)&&o.config)return{fields:o.config.fields,references:o.config.references};const c=i[Oc(o.referencedTable)];if(!c)throw new Error(`Table "${o.referencedTable[D.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[Oc(a)];if(!x)throw new Error(`Table "${a[D.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[D.Symbol.Name]}". Please specify relation name`);if(m[0]&&u(m[0],xc)&&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 PJ(n){return{one:M6(n),many:R6(n)}}function cm(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,xc)?$&&cm(n,n[m.relationTableTsKey],$,m.selection,p):$.map((v)=>cm(n,n[m.relationTableTsKey],v,m.selection,p))}else{const l=p(o[x]),f=m.field;let $;if(u(f,_n))$=f;else if(u(f,t))$=f.decoder;else $=f.sql.decoder;a[m.tsKey]=l===null?null:$.mapFromDriverValue(l)}return a}class Yf{constructor(n,i,o){this.sourceTable=n,this.referencedTable=i,this.relationName=o,this.referencedTableName=i[D.Symbol.Name]}static[J]="Relation";referencedTableName;fieldName}class tJ{constructor(n,i){this.table=n,this.config=i}static[J]="Relations"}class xc extends Yf{constructor(n,i,o,c){super(n,i,o?.relationName);this.config=o,this.isNullable=c}static[J]="One";withFieldName(n){const i=new xc(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=n,i}}class Ea extends Yf{constructor(n,i,o){super(n,i,o?.relationName);this.config=o}static[J]="Many";withFieldName(n){const i=new Ea(this.sourceTable,this.referencedTable,this.config);return i.fieldName=n,i}}var sM=al(_M(),1),{Server:jM,Namespace:SL,Socket:JL}=sM.default;function $5(n){yM=n}function Qm(){return yM}function B(n,i){const o=Qm(),c=Um({issueData:i,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,o,o===Up?void 0:Up].filter((p)=>!!p)});n.common.issues.push(c)}function Vm(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 BM(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 mn(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 hM(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 z5(n){return new RegExp(`^${hM(n)}\$`)}function IM(n){let i=`${DM}T${hM(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 Y5(n,i){if((i==="v4"||!i)&&K5.test(n))return!0;if((i==="v6"||!i)&&W5.test(n))return!0;return!1}function u5(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 Hp(n){if(n instanceof In){const i={};for(let o in n.shape){const c=n.shape[o];i[o]=Ko.create(Hp(c))}return new In({...n._def,shape:()=>i})}else if(n instanceof Ro)return new Ro({...n._def,type:Hp(n.element)});else if(n instanceof Ko)return Ko.create(Hp(n.unwrap()));else if(n instanceof ho)return ho.create(Hp(n.unwrap()));else if(n instanceof Uo)return Uo.create(n.items.map((i)=>Hp(i)));else return n}function z$(n,i){const o=vc(n),c=vc(i);if(n===i)return{valid:!0,data:n};else if(o===h.object&&c===h.object){const p=Mn.objectKeys(i),a=Mn.objectKeys(n).filter((m)=>p.indexOf(m)!==-1),x={...n,...i};for(let m of a){const l=z$(n[m],i[m]);if(!l.valid)return{valid:!1};x[m]=l.data}return{valid:!0,data:x}}else if(o===h.array&&c===h.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=z$(x,m);if(!l.valid)return{valid:!1};p.push(l.data)}return{valid:!0,data:p}}else if(o===h.date&&c===h.date&&+n===+i)return{valid:!0,data:n};else return{valid:!1}}function CM(n,i){return new Fc({values:n,typeName:g.ZodEnum,...mn(i)})}function tM(n,i={},o){if(n)return Lc.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 Lc.create()}var Mn;(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}})(Mn||(Mn={}));var W$;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(W$||(W$={}));var h=Mn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vc=(n)=>{switch(typeof n){case"undefined":return h.undefined;case"string":return h.string;case"number":return isNaN(n)?h.nan:h.number;case"boolean":return h.boolean;case"function":return h.function;case"bigint":return h.bigint;case"symbol":return h.symbol;case"object":if(Array.isArray(n))return h.array;if(n===null)return h.null;if(n.then&&typeof n.then==="function"&&n.catch&&typeof n.catch==="function")return h.promise;if(typeof Map!=="undefined"&&n instanceof Map)return h.map;if(typeof Set!=="undefined"&&n instanceof Set)return h.set;if(typeof Date!=="undefined"&&n instanceof Date)return h.date;return h.object;default:return h.unknown}},Q=Mn.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"]),f5=(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,Mn.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 Up=(n,i)=>{let o;switch(n.code){case Q.invalid_type:if(n.received===h.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,Mn.jsonStringifyReplacer)}`;break;case Q.unrecognized_keys:o=`Unrecognized key(s) in object: ${Mn.joinValues(n.keys,", ")}`;break;case Q.invalid_union:o="Invalid input";break;case Q.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${Mn.joinValues(n.options)}`;break;case Q.invalid_enum_value:o=`Invalid enum value. Expected ${Mn.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 Mn.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,Mn.assertNever(n)}return{message:o}},yM=Up,Um=(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}},v5=[];class Wi{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 Wi.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"}),Ep=(n)=>({status:"dirty",value:n}),Hi=(n)=>({status:"valid",value:n}),X$=(n)=>n.status==="aborted",G$=(n)=>n.status==="dirty",ya=(n)=>n.status==="valid",Ba=(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 Na,La;class Wo{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 NM=(n,i)=>{if(ya(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 vc(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:vc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new Wi,ctx:{common:n.parent.common,data:n.data,parsedType:vc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){const i=this._parse(n);if(Ba(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:vc(n)},p=this._parseSync({data:n,path:c.path,parent:c});return NM(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:vc(n)},c=this._parse({data:n,path:o.path,parent:o}),p=await(Ba(c)?c:Promise.resolve(c));return NM(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 oo({schema:this,typeName:g.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}optional(){return Ko.create(this,this._def)}nullable(){return ho.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ro.create(this,this._def)}promise(){return Bc.create(this,this._def)}or(n){return sp.create([this,n],this._def)}and(n){return jp.create(this,n,this._def)}transform(n){return new oo({...mn(this._def),schema:this,typeName:g.ZodEffects,effect:{type:"transform",transform:n}})}default(n){const i=typeof n==="function"?n:()=>n;return new Bp({...mn(this._def),innerType:this,defaultValue:i,typeName:g.ZodDefault})}brand(){return new _m({typeName:g.ZodBranded,type:this,...mn(this._def)})}catch(n){const i=typeof n==="function"?n:()=>n;return new Dp({...mn(this._def),innerType:this,catchValue:i,typeName:g.ZodCatch})}describe(n){return new this.constructor({...this._def,description:n})}pipe(n){return ka.create(this,n)}readonly(){return hp.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var w5=/^c[^\s-]{8,}$/i,S5=/^[0-9a-z]+$/,J5=/^[0-9A-HJKMNP-TV-Z]{26}$/,F5=/^[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,A5=/^[a-z0-9_-]{21}$/i,T5=/^[-+]?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)?)??$/,M5=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,R5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",K$,K5=/^(?:(?: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])$/,W5=/^(([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})))$/,X5=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,DM="((\\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])))",G5=new RegExp(`^${DM}\$`);class Mo extends fn{_parse(n){if(this._def.coerce)n.data=String(n.data);if(this._getType(n)!==h.string){const p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.string,received:p.parsedType}),nn}const o=new Wi;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),B(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),B(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)B(c,{code:Q.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});else if(x)B(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(!M5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"email",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="emoji"){if(!K$)K$=new RegExp(R5,"u");if(!K$.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"emoji",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="uuid"){if(!F5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"uuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="nanoid"){if(!A5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"nanoid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid"){if(!w5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"cuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid2"){if(!S5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"cuid2",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ulid"){if(!J5.test(n.data))c=this._getOrReturnCtx(n,c),B(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),B(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),B(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),B(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),B(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),B(c,{code:Q.invalid_string,validation:{endsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="datetime"){if(!IM(p).test(n.data))c=this._getOrReturnCtx(n,c),B(c,{code:Q.invalid_string,validation:"datetime",message:p.message}),o.dirty()}else if(p.kind==="date"){if(!G5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{code:Q.invalid_string,validation:"date",message:p.message}),o.dirty()}else if(p.kind==="time"){if(!z5(p).test(n.data))c=this._getOrReturnCtx(n,c),B(c,{code:Q.invalid_string,validation:"time",message:p.message}),o.dirty()}else if(p.kind==="duration"){if(!T5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"duration",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ip"){if(!Y5(n.data,p.version))c=this._getOrReturnCtx(n,c),B(c,{validation:"ip",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="base64"){if(!X5.test(n.data))c=this._getOrReturnCtx(n,c),B(c,{validation:"base64",code:Q.invalid_string,message:p.message}),o.dirty()}else Mn.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 Mo({...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 Mo({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Mo({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Mo({...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}}Mo.create=(n)=>{var i;return new Mo({checks:[],typeName:g.ZodString,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...mn(n)})};class Sc 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)!==h.number){const p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.number,received:p.parsedType}),nn}let o=void 0;const c=new Wi;for(let p of this._def.checks)if(p.kind==="int"){if(!Mn.isInteger(n.data))o=this._getOrReturnCtx(n,o),B(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),B(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),B(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(u5(n.data,p.value)!==0)o=this._getOrReturnCtx(n,o),B(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),B(o,{code:Q.not_finite,message:p.message}),c.dirty()}else Mn.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 Sc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new Sc({...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"&&Mn.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)}}Sc.create=(n)=>{return new Sc({checks:[],typeName:g.ZodNumber,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...mn(n)})};class Jc 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)!==h.bigint){const p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.bigint,received:p.parsedType}),nn}let o=void 0;const c=new Wi;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),B(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),B(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),B(o,{code:Q.not_multiple_of,multipleOf:p.value,message:p.message}),c.dirty()}else Mn.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 Jc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new Jc({...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}}Jc.create=(n)=>{var i;return new Jc({checks:[],typeName:g.ZodBigInt,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...mn(n)})};class Vp extends fn{_parse(n){if(this._def.coerce)n.data=Boolean(n.data);if(this._getType(n)!==h.boolean){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.boolean,received:o.parsedType}),nn}return Hi(n.data)}}Vp.create=(n)=>{return new Vp({typeName:g.ZodBoolean,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...mn(n)})};class Nc extends fn{_parse(n){if(this._def.coerce)n.data=new Date(n.data);if(this._getType(n)!==h.date){const p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_type,expected:h.date,received:p.parsedType}),nn}if(isNaN(n.data.getTime())){const p=this._getOrReturnCtx(n);return B(p,{code:Q.invalid_date}),nn}const o=new Wi;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),B(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),B(c,{code:Q.too_big,message:p.message,inclusive:!0,exact:!1,maximum:p.value,type:"date"}),o.dirty()}else Mn.assertNever(p);return{status:o.value,value:new Date(n.data.getTime())}}_addCheck(n){return new Nc({...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}}Nc.create=(n)=>{return new Nc({checks:[],coerce:(n===null||n===void 0?void 0:n.coerce)||!1,typeName:g.ZodDate,...mn(n)})};class Da extends fn{_parse(n){if(this._getType(n)!==h.symbol){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.symbol,received:o.parsedType}),nn}return Hi(n.data)}}Da.create=(n)=>{return new Da({typeName:g.ZodSymbol,...mn(n)})};class bp extends fn{_parse(n){if(this._getType(n)!==h.undefined){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.undefined,received:o.parsedType}),nn}return Hi(n.data)}}bp.create=(n)=>{return new bp({typeName:g.ZodUndefined,...mn(n)})};class _p extends fn{_parse(n){if(this._getType(n)!==h.null){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.null,received:o.parsedType}),nn}return Hi(n.data)}}_p.create=(n)=>{return new _p({typeName:g.ZodNull,...mn(n)})};class Lc extends fn{constructor(){super(...arguments);this._any=!0}_parse(n){return Hi(n.data)}}Lc.create=(n)=>{return new Lc({typeName:g.ZodAny,...mn(n)})};class wc extends fn{constructor(){super(...arguments);this._unknown=!0}_parse(n){return Hi(n.data)}}wc.create=(n)=>{return new wc({typeName:g.ZodUnknown,...mn(n)})};class Qo extends fn{_parse(n){const i=this._getOrReturnCtx(n);return B(i,{code:Q.invalid_type,expected:h.never,received:i.parsedType}),nn}}Qo.create=(n)=>{return new Qo({typeName:g.ZodNever,...mn(n)})};class ha extends fn{_parse(n){if(this._getType(n)!==h.undefined){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.void,received:o.parsedType}),nn}return Hi(n.data)}}ha.create=(n)=>{return new ha({typeName:g.ZodVoid,...mn(n)})};class Ro extends fn{_parse(n){const{ctx:i,status:o}=this._processInputParams(n),c=this._def;if(i.parsedType!==h.array)return B(i,{code:Q.invalid_type,expected:h.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)B(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)B(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)B(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 Wo(i,a,i.path,x))})).then((a)=>{return Wi.mergeArray(o,a)});const p=[...i.data].map((a,x)=>{return c.type._parseSync(new Wo(i,a,i.path,x))});return Wi.mergeArray(o,p)}get element(){return this._def.type}min(n,i){return new Ro({...this._def,minLength:{value:n,message:r.toString(i)}})}max(n,i){return new Ro({...this._def,maxLength:{value:n,message:r.toString(i)}})}length(n,i){return new Ro({...this._def,exactLength:{value:n,message:r.toString(i)}})}nonempty(n){return this.min(1,n)}}Ro.create=(n,i)=>{return new Ro({type:n,minLength:null,maxLength:null,exactLength:null,typeName:g.ZodArray,...mn(i)})};class In 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=Mn.objectKeys(n);return this._cached={shape:n,keys:i}}_parse(n){if(this._getType(n)!==h.object){const l=this._getOrReturnCtx(n);return B(l,{code:Q.invalid_type,expected:h.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 Qo&&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 Wo(c,$,c.path,l)),alwaysSet:l in c.data})}if(this._def.catchall instanceof Qo){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)B(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 Wo(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 Wi.mergeObjectSync(o,l)});else return Wi.mergeObjectSync(o,m)}get shape(){return this._def.shape()}strict(n){return r.errToObj,new In({...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 In({...this._def,unknownKeys:"strip"})}passthrough(){return new In({...this._def,unknownKeys:"passthrough"})}extend(n){return new In({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new In({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 In({...this._def,catchall:n})}pick(n){const i={};return Mn.objectKeys(n).forEach((o)=>{if(n[o]&&this.shape[o])i[o]=this.shape[o]}),new In({...this._def,shape:()=>i})}omit(n){const i={};return Mn.objectKeys(this.shape).forEach((o)=>{if(!n[o])i[o]=this.shape[o]}),new In({...this._def,shape:()=>i})}deepPartial(){return Hp(this)}partial(n){const i={};return Mn.objectKeys(this.shape).forEach((o)=>{const c=this.shape[o];if(n&&!n[o])i[o]=c;else i[o]=c.optional()}),new In({...this._def,shape:()=>i})}required(n){const i={};return Mn.objectKeys(this.shape).forEach((o)=>{if(n&&!n[o])i[o]=this.shape[o];else{let p=this.shape[o];while(p instanceof Ko)p=p._def.innerType;i[o]=p}}),new In({...this._def,shape:()=>i})}keyof(){return CM(Mn.objectKeys(this.shape))}}In.create=(n,i)=>{return new In({shape:()=>n,unknownKeys:"strip",catchall:Qo.create(),typeName:g.ZodObject,...mn(i)})};In.strictCreate=(n,i)=>{return new In({shape:()=>n,unknownKeys:"strict",catchall:Qo.create(),typeName:g.ZodObject,...mn(i)})};In.lazycreate=(n,i)=>{return new In({shape:n,unknownKeys:"strip",catchall:Qo.create(),typeName:g.ZodObject,...mn(i)})};class sp 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 B(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 B(i,{code:Q.invalid_union,unionErrors:x}),nn}}get options(){return this._def.options}}sp.create=(n,i)=>{return new sp({options:n,typeName:g.ZodUnion,...mn(i)})};var Do=(n)=>{if(n instanceof Np)return Do(n.schema);else if(n instanceof oo)return Do(n.innerType());else if(n instanceof Lp)return[n.value];else if(n instanceof Fc)return n.options;else if(n instanceof yp)return Mn.objectValues(n.enum);else if(n instanceof Bp)return Do(n._def.innerType);else if(n instanceof bp)return[void 0];else if(n instanceof _p)return[null];else if(n instanceof Ko)return[void 0,...Do(n.unwrap())];else if(n instanceof ho)return[null,...Do(n.unwrap())];else if(n instanceof _m)return Do(n.unwrap());else if(n instanceof hp)return Do(n.unwrap());else if(n instanceof Dp)return Do(n._def.innerType);else return[]};class bm extends fn{_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.object)return B(i,{code:Q.invalid_type,expected:h.object,received:i.parsedType}),nn;const o=this.discriminator,c=i.data[o],p=this.optionsMap.get(c);if(!p)return B(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=Do(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 bm({typeName:g.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:c,...mn(o)})}}class jp extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n),c=(p,a)=>{if(X$(p)||X$(a))return nn;const x=z$(p.value,a.value);if(!x.valid)return B(o,{code:Q.invalid_intersection_types}),nn;if(G$(p)||G$(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}))}}jp.create=(n,i,o)=>{return new jp({left:n,right:i,typeName:g.ZodIntersection,...mn(o)})};class Uo extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.array)return B(o,{code:Q.invalid_type,expected:h.array,received:o.parsedType}),nn;if(o.data.length<this._def.items.length)return B(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)B(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 Wo(o,a,o.path,x))}).filter((a)=>!!a);if(o.common.async)return Promise.all(p).then((a)=>{return Wi.mergeArray(i,a)});else return Wi.mergeArray(i,p)}get items(){return this._def.items}rest(n){return new Uo({...this._def,rest:n})}}Uo.create=(n,i)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Uo({items:n,typeName:g.ZodTuple,rest:null,...mn(i)})};class Ia 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!==h.object)return B(o,{code:Q.invalid_type,expected:h.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 Wo(o,x,o.path,x)),value:a._parse(new Wo(o,o.data[x],o.path,x)),alwaysSet:x in o.data});if(o.common.async)return Wi.mergeObjectAsync(i,c);else return Wi.mergeObjectSync(i,c)}get element(){return this._def.valueType}static create(n,i,o){if(i instanceof fn)return new Ia({keyType:n,valueType:i,typeName:g.ZodRecord,...mn(o)});return new Ia({keyType:Mo.create(),valueType:n,typeName:g.ZodRecord,...mn(i)})}}class Ca 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!==h.map)return B(o,{code:Q.invalid_type,expected:h.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 Wo(o,x,o.path,[l,"key"])),value:p._parse(new Wo(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}}}}Ca.create=(n,i,o)=>{return new Ca({valueType:i,keyType:n,typeName:g.ZodMap,...mn(o)})};class yc extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.set)return B(o,{code:Q.invalid_type,expected:h.set,received:o.parsedType}),nn;const c=this._def;if(c.minSize!==null){if(o.data.size<c.minSize.value)B(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)B(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 Wo(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 yc({...this._def,minSize:{value:n,message:r.toString(i)}})}max(n,i){return new yc({...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)}}yc.create=(n,i)=>{return new yc({valueType:n,minSize:null,maxSize:null,typeName:g.ZodSet,...mn(i)})};class Qp extends fn{constructor(){super(...arguments);this.validate=this.implement}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.function)return B(i,{code:Q.invalid_type,expected:h.function,received:i.parsedType}),nn;function o(x,m){return Um({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,Qm(),Up].filter((l)=>!!l),issueData:{code:Q.invalid_arguments,argumentsError:m}})}function c(x,m){return Um({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,Qm(),Up].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 Bc){const x=this;return Hi(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 Hi(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 Qp({...this._def,args:Uo.create(n).rest(wc.create())})}returns(n){return new Qp({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,o){return new Qp({args:n?n:Uo.create([]).rest(wc.create()),returns:i||wc.create(),typeName:g.ZodFunction,...mn(o)})}}class Np 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})}}Np.create=(n,i)=>{return new Np({getter:n,typeName:g.ZodLazy,...mn(i)})};class Lp extends fn{_parse(n){if(n.data!==this._def.value){const i=this._getOrReturnCtx(n);return B(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}}Lp.create=(n,i)=>{return new Lp({value:n,typeName:g.ZodLiteral,...mn(i)})};class Fc extends fn{constructor(){super(...arguments);Na.set(this,void 0)}_parse(n){if(typeof n.data!=="string"){const i=this._getOrReturnCtx(n),o=this._def.values;return B(i,{expected:Mn.joinValues(o),received:i.parsedType,code:Q.invalid_type}),nn}if(!Vm(this,Na,"f"))BM(this,Na,new Set(this._def.values),"f");if(!Vm(this,Na,"f").has(n.data)){const i=this._getOrReturnCtx(n),o=this._def.values;return B(i,{received:i.data,code:Q.invalid_enum_value,options:o}),nn}return Hi(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 Fc.create(n,{...this._def,...i})}exclude(n,i=this._def){return Fc.create(this.options.filter((o)=>!n.includes(o)),{...this._def,...i})}}Na=new WeakMap;Fc.create=CM;class yp extends fn{constructor(){super(...arguments);La.set(this,void 0)}_parse(n){const i=Mn.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(n);if(o.parsedType!==h.string&&o.parsedType!==h.number){const c=Mn.objectValues(i);return B(o,{expected:Mn.joinValues(c),received:o.parsedType,code:Q.invalid_type}),nn}if(!Vm(this,La,"f"))BM(this,La,new Set(Mn.getValidEnumValues(this._def.values)),"f");if(!Vm(this,La,"f").has(n.data)){const c=Mn.objectValues(i);return B(o,{received:o.data,code:Q.invalid_enum_value,options:c}),nn}return Hi(n.data)}get enum(){return this._def.values}}La=new WeakMap;yp.create=(n,i)=>{return new yp({values:n,typeName:g.ZodNativeEnum,...mn(i)})};class Bc extends fn{unwrap(){return this._def.type}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.promise&&i.common.async===!1)return B(i,{code:Q.invalid_type,expected:h.promise,received:i.parsedType}),nn;const o=i.parsedType===h.promise?i.data:Promise.resolve(i.data);return Hi(o.then((c)=>{return this._def.type.parseAsync(c,{path:i.path,errorMap:i.common.contextualErrorMap})}))}}Bc.create=(n,i)=>{return new Bc({type:n,typeName:g.ZodPromise,...mn(i)})};class oo 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(B(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 Ep(m.value);if(i.value==="dirty")return Ep(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 Ep(x.value);if(i.value==="dirty")return Ep(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(!ya(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(!ya(a))return a;return Promise.resolve(c.transform(a.value,p)).then((x)=>({status:i.value,value:x}))});Mn.assertNever(c)}}oo.create=(n,i,o)=>{return new oo({schema:n,typeName:g.ZodEffects,effect:i,...mn(o)})};oo.createWithPreprocess=(n,i,o)=>{return new oo({schema:i,effect:{type:"preprocess",transform:n},typeName:g.ZodEffects,...mn(o)})};class Ko extends fn{_parse(n){if(this._getType(n)===h.undefined)return Hi(void 0);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}Ko.create=(n,i)=>{return new Ko({innerType:n,typeName:g.ZodOptional,...mn(i)})};class ho extends fn{_parse(n){if(this._getType(n)===h.null)return Hi(null);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}ho.create=(n,i)=>{return new ho({innerType:n,typeName:g.ZodNullable,...mn(i)})};class Bp extends fn{_parse(n){const{ctx:i}=this._processInputParams(n);let o=i.data;if(i.parsedType===h.undefined)o=this._def.defaultValue();return this._def.innerType._parse({data:o,path:i.path,parent:i})}removeDefault(){return this._def.innerType}}Bp.create=(n,i)=>{return new Bp({innerType:n,typeName:g.ZodDefault,defaultValue:typeof i.default==="function"?i.default:()=>i.default,...mn(i)})};class Dp 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(Ba(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}}Dp.create=(n,i)=>{return new Dp({innerType:n,typeName:g.ZodCatch,catchValue:typeof i.catch==="function"?i.catch:()=>i.catch,...mn(i)})};class ta extends fn{_parse(n){if(this._getType(n)!==h.nan){const o=this._getOrReturnCtx(n);return B(o,{code:Q.invalid_type,expected:h.nan,received:o.parsedType}),nn}return{status:"valid",value:n.data}}}ta.create=(n)=>{return new ta({typeName:g.ZodNaN,...mn(n)})};var O5=Symbol("zod_brand");class _m 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 ka 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(),Ep(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 ka({in:n,out:i,typeName:g.ZodPipeline})}}class hp extends fn{_parse(n){const i=this._def.innerType._parse(n),o=(c)=>{if(ya(c))c.value=Object.freeze(c.value);return c};return Ba(i)?i.then((c)=>o(c)):o(i)}unwrap(){return this._def.innerType}}hp.create=(n,i)=>{return new hp({innerType:n,typeName:g.ZodReadonly,...mn(i)})};var H5={object:In.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 E5=(n,i={message:`Input not instance of ${n.name}`})=>tM((o)=>o instanceof n,i),kM=Mo.create,rM=Sc.create,Q5=ta.create,U5=Jc.create,ZM=Vp.create,V5=Nc.create,b5=Da.create,_5=bp.create,s5=_p.create,j5=Lc.create,N5=wc.create,L5=Qo.create,y5=ha.create,B5=Ro.create,ra=In.create,D5=In.strictCreate,h5=sp.create,I5=bm.create,C5=jp.create,t5=Uo.create,k5=Ia.create,r5=Ca.create,Z5=yc.create,q5=Qp.create,P5=Np.create,e5=Lp.create,g5=Fc.create,d5=yp.create,nG=Bc.create,LM=oo.create,iG=Ko.create,oG=ho.create,cG=oo.createWithPreprocess,pG=ka.create,aG=()=>kM().optional(),xG=()=>rM().optional(),mG=()=>ZM().optional(),lG={string:(n)=>Mo.create({...n,coerce:!0}),number:(n)=>Sc.create({...n,coerce:!0}),boolean:(n)=>Vp.create({...n,coerce:!0}),bigint:(n)=>Jc.create({...n,coerce:!0}),date:(n)=>Nc.create({...n,coerce:!0})},fG=nn,Qn=Object.freeze({__proto__:null,defaultErrorMap:Up,setErrorMap:$5,getErrorMap:Qm,makeIssue:Um,EMPTY_PATH:v5,addIssueToContext:B,ParseStatus:Wi,INVALID:nn,DIRTY:Ep,OK:Hi,isAborted:X$,isDirty:G$,isValid:ya,isAsync:Ba,get util(){return Mn},get objectUtil(){return W$},ZodParsedType:h,getParsedType:vc,ZodType:fn,datetimeRegex:IM,ZodString:Mo,ZodNumber:Sc,ZodBigInt:Jc,ZodBoolean:Vp,ZodDate:Nc,ZodSymbol:Da,ZodUndefined:bp,ZodNull:_p,ZodAny:Lc,ZodUnknown:wc,ZodNever:Qo,ZodVoid:ha,ZodArray:Ro,ZodObject:In,ZodUnion:sp,ZodDiscriminatedUnion:bm,ZodIntersection:jp,ZodTuple:Uo,ZodRecord:Ia,ZodMap:Ca,ZodSet:yc,ZodFunction:Qp,ZodLazy:Np,ZodLiteral:Lp,ZodEnum:Fc,ZodNativeEnum:yp,ZodPromise:Bc,ZodEffects:oo,ZodTransformer:oo,ZodOptional:Ko,ZodNullable:ho,ZodDefault:Bp,ZodCatch:Dp,ZodNaN:ta,BRAND:O5,ZodBranded:_m,ZodPipeline:ka,ZodReadonly:hp,custom:tM,Schema:fn,ZodSchema:fn,late:H5,get ZodFirstPartyTypeKind(){return g},coerce:lG,any:j5,array:B5,bigint:U5,boolean:ZM,date:V5,discriminatedUnion:I5,effect:LM,enum:g5,function:q5,instanceof:E5,intersection:C5,lazy:P5,literal:e5,map:r5,nan:Q5,nativeEnum:d5,never:L5,null:s5,nullable:oG,number:rM,object:ra,oboolean:mG,onumber:xG,optional:iG,ostring:aG,pipeline:pG,preprocess:cG,promise:nG,record:k5,set:Z5,strictObject:D5,string:kM,symbol:b5,transformer:LM,tuple:t5,undefined:_5,union:h5,unknown:N5,void:y5,NEVER:fG,ZodIssueCode:Q,quotelessJson:f5,ZodError:Ii});function qM(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=ra(p),l=ra(a),f=ra(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")}),A=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)},G=(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(!G(O))return A(O);return Reflect.get(M,O)}})}var pi=qM({isServer:typeof window==="undefined",server:{POSTGRES_USER:Qn.string(),POSTGRES_PASSWORD:Qn.string(),POSTGRES_DATABASE:Qn.string(),POSTGRES_HOST:Qn.string(),POSTGRES_PORT:Qn.string().transform((n)=>Number.parseInt(n,10)),BACKEND_PORT:Qn.string().transform((n)=>Number.parseInt(n,10)),RUN_WORKERS_FROM_SOURCE:Qn.union([Qn.literal("true"),Qn.literal("false")]).optional().transform((n)=>n==="true"),FRONTEND_PORT:Qn.string().transform((n)=>Number.parseInt(n,10)),FRONTEND_ORIGINS:Qn.string().transform((n)=>rn(n)).pipe(Qn.array(Qn.string())),OPENAI_API_KEY:Qn.string().optional()},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:Qn.string()},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var Dc=new Yl,Xn=pi.VITE_BACKEND_ORIGIN.includes("localhost")?console:Dc.logger;on.STORE.loggers[0]=new pa("warn",void 0,Xn);import{spawn as $G}from"child_process";import{resolve as vG}from"path";function Y$(n,i,o=n.logger){const c=pi.RUN_WORKERS_FROM_SOURCE?"ts":"js",p=i.endsWith(".bun")?"bun":"node",x=[vG(import.meta.dir,`${i}.${c}`)];if(p==="node"&&c==="ts")x.push("--experimental-strip-types");const m=$G(p,x);return new $a(m,i,o)}var PM=al(af(),1);var wG=604800000,sm=(()=>{let{__userSessionMap:n}=globalThis;if(!n){n=globalThis.__userSessionMap=new Map;const i=new PM.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>wG)c.delete(a);if(c.size===0)n.delete(o)}});i.start(),process.on("exit",()=>{i.stop(),Xn.info("\uD83D\uDEEC autoExpiry stopped")})}return n})();import pz from"path";import jG from"os";import NG from"fs";function SG(n){if(jm.has(n))return jm.get(n);const i=Error.stackTraceLimit;return Error.stackTraceLimit=4,jm.set(n,new Error),Error.stackTraceLimit=i,jm.get(n)}var jm=new Map,u$=new Map,O$=Symbol("OriginError"),Ip={};class co 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[O$]=this.handler.debug?new Error:this.tagged&&SG(this.strings)}get origin(){return(this.handler.debug?this[O$].stack:this.tagged&&u$.has(this.strings)?u$.get(this.strings):u$.set(this.strings,this[O$].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(Ip),{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 eM(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,eM),a}function gM(n){const i=new Cp(n);return Error.captureStackTrace(i,gM),i}function dM(n,i){const o=Object.assign(new Error(n+": "+i),{code:n});return Error.captureStackTrace(o,dM),o}function nR(n){const i=Object.assign(new Error(n+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:n});return Error.captureStackTrace(i,nR),i}class Cp extends Error{constructor(n){super(n.message);this.name=this.constructor.name,Object.assign(this,n)}}var dn={connection:eM,postgres:gM,generic:dM,notSupported:nR};function Dm(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||Lm(n.value)]||n.type||pR(n.value):n.type):(i.push(n),Lm(n)))}function U$(n,i,o,c,p,a){for(let x=1;x<n.strings.length;x++)i+=V$(i,o,c,p,a)+n.strings[x],o=n.args[x];return i}function V$(n,i,o,c,p){return i instanceof Bm?i.build(n,o,c,p):i instanceof co?Q$(i,o,c,p):i instanceof ea?i.value:i&&i[0]instanceof co?i.reduce((a,x)=>a+" "+Q$(x,o,c,p),""):Dm(i,o,c,p)}function Q$(n,i,o,c){return n.fragment=!0,U$(n,n.strings[0],n.args[0],i,o,c)}function cR(n,i,o,c,p){return n.map((a)=>"("+c.map((x)=>V$("values",a[x],i,o,p)).join(",")+")").join(",")}function iR(n,i,o,c,p){const a=Array.isArray(n[0]),x=i.length?i.flat():Object.keys(a?n[0]:n);return cR(a?n:[n],o,c,x,p)}function Nm(n,i,o,c,p){if(typeof n==="string"&&(n=[n].concat(i)),Array.isArray(n))return b$(n,p);let a;return(i.length?i.flat():Object.keys(n)).map((m)=>{return a=n[m],(a instanceof co?Q$(a,o,c,p):a instanceof ea?a.value:Dm(a,o,c,p))+" as "+hm(p.transform.column.to?p.transform.column.to(m):m)}).join(",")}function H$(){throw dn.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}function pR(n){if(Array.isArray(n))return pR(n[0]);return typeof n==="string"?1009:0}function xR(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 b$(n,{transform:{column:i}}){return n.map((o)=>hm(i.to?i.to(o):o)).join(",")}function KG(n){return n.replace(MG,"\\\\").replace(RG,'\\"')}function fR(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(fR(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 _$(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 JG={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 ym{then(){H$()}catch(){H$()}finally(){H$()}}class ea extends ym{constructor(n){super();this.value=hm(n)}}class Vo extends ym{constructor(n,i,o){super();this.value=n,this.type=i,this.array=o}}class Bm extends ym{constructor(n,i){super();this.first=n,this.rest=i}build(n,i,o,c){const p=FG.map(([a,x])=>({fn:x,i:n.search(a)})).sort((a,x)=>a.i-x.i).pop();return p.i===-1?b$(this.first,c):p.fn(this.first,this.rest,i,o,c)}}var oR=xR(JG),FG=Object.entries({values:iR,in:(...n)=>{const i=iR(...n);return i==="()"?"(null)":i},select:Nm,as:Nm,returning:Nm,"\\(":Nm,update(n,i,o,c,p){return(i.length?i.flat():Object.keys(n)).map((a)=>hm(p.transform.column.to?p.transform.column.to(a):a)+"="+V$("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"("+b$(a,p)+")values"+cR(Array.isArray(n)?n:[n],o,c,a,p)}}).map(([n,i])=>[new RegExp("((?:^|[\\s(])"+n+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),i]),AG=oR.serializers,TG=oR.parsers;var aR=function(n){const i=xR(n||{});return{serializers:Object.assign({},AG,i.serializers),parsers:Object.assign({},TG,i.parsers)}},hm=function n(i){return'"'+i.replace(/"/g,'""').replace(/\./g,'"."')+'"'},Lm=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},MG=/\\/g,RG=/"/g,mR=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":'"'+KG(o?o(m.type?m.value:m):""+m)+'"'}).join(x)+"}"},E$={i:0,char:null,str:"",quoted:!1,last:0},lR=function n(i,o,c){return E$.i=E$.last=0,fR(E$,i,o,c)},hc=(n)=>{let i=n[0];for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},Ic=(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,"-"),Za=(n)=>n.replace(/([A-Z])/g,"_$1").toLowerCase(),qa=(n)=>(n.slice(0,1)+n.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),Pa=(n)=>n.replace(/-/g,"_");hc.column={from:hc};hc.value={from:_$(hc)};Za.column={to:Za};var s$={...hc};s$.column.to=Za;Ic.column={from:Ic};Ic.value={from:_$(Ic)};qa.column={to:qa};var j$={...Ic};j$.column.to=qa;Cc.column={from:Cc};Cc.value={from:_$(Cc)};Pa.column={to:Pa};var N$={...Cc};N$.column.to=Pa;import $R from"net";import zG from"tls";import ga from"crypto";import L$ from"stream";import{performance as vR}from"perf_hooks";class tc 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 WG(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=WG;function Im(n){if(Xi.length-Hn.i<n){const i=Xi,o=i.length;Xi=Buffer.allocUnsafe(o+(o>>1)+n),i.copy(Xi)}}function GG(){return Hn.i=0,Hn}var Xi=Buffer.allocUnsafe(256),XG="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(GG,XG,{N:String.fromCharCode(0),i:0,inc(n){return Hn.i+=n,Hn},str(n){const i=Buffer.byteLength(n);return Im(i),Hn.i+=Xi.write(n,Hn.i,i,"utf8"),Hn},i16(n){return Im(2),Xi.writeUInt16BE(n,Hn.i),Hn.i+=2,Hn},i32(n,i){if(i||i===0)return Xi.writeUInt32BE(n,i),Hn;return Im(4),Xi.writeUInt32BE(n,Hn.i),Hn.i+=4,Hn},z(n){return Im(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 JR(n,i={},{onopen:o=tp,onend:c=tp,onclose:p=tp}={}){const{ssl:a,max:x,user:m,host:l,port:f,database:$,parsers:v,transform:S,onnotice:T,onnotify:R,onparameter:A,max_pipeline:X,keep_alive:G,backoff:Y,target_session_attrs:E}=n,s=Ci(),z=YG++,M={pid:null,secret:null},O=B$(ol,n.idle_timeout),U=B$(ol,n.max_lifetime),V=B$(ZR,n.connect_timeout);let K=null,y,_=new tc,P=Buffer.alloc(0),ln=n.fetch_types,$n={},Un={},si=Math.random().toString(36).slice(2),H=1,k=0,Sn=0,Gn=0,ni=0,wn=0,Vn=0,Pn=0,yn=null,sn=null,vi=!1,bn=null,po=null,wi=null,Io=null,ii=null,jn=null,ao=null,Go=null,N=null,Pp=null;const Si={queue:i.closed,idleTimer:O,connect(w){wi=w||!0,Fv()},terminate:gp,execute:ep,cancel:CR,end:ol,count:0,id:z};return i.closed&&i.closed.push(Si),Si;async function IR(){let w;try{w=n.socket?await Promise.resolve(n.socket(n)):new $R.Socket}catch(W){qc(W);return}return w.on("error",qc),w.on("close",Av),w.on("drain",Sv),w}async function CR({pid:w,secret:W},q,Rn){try{y=Z().i32(16).i32(80877102).i32(w).i32(W).end(16),await Jv(),K.once("error",Rn),K.once("close",q)}catch(Cn){Rn(Cn)}}function ep(w){if(vi)return px(w,dn.connection("CONNECTION_DESTROYED",n));if(w.cancelled)return;try{return w.state=M,N?s.push(w):(N=w,N.active=!0),rR(w),mi(tR(w))&&!w.describeFirst&&!w.cursorFn&&s.length<X&&(!w.options.onexecute||w.options.onexecute(Si))}catch(W){return s.length===0&&mi(Ac),zo(W),!0}}function tR(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([$v(w),wR]):w.prepare?w.prepared?cx(w):Buffer.concat([$v(w),cx(w)]):kR(w)}function $v(w){return Buffer.concat([Mv(w.statement.string,w.parameters,w.statement.types,w.statement.name),V4("S",w.statement.name)])}function cx(w){return Buffer.concat([U4(w.parameters,w.statement.types,w.statement.name,w.cursorName),w.cursorFn?Rv("",w.cursorRows):OG])}function kR(w){return Buffer.concat([Mv(w.statement.string,w.parameters,w.statement.types),HG,cx(w)])}function rR(w){const W=[],q=[],Rn=U$(w,w.strings[0],w.args[0],W,q,n);!w.tagged&&w.args.forEach((Cn)=>Dm(Cn,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 Un[w.signature],w.parameters=w.parameters||W,w.prepared=w.prepare&&w.signature in Un,w.describeFirst=w.onlyDescribe||W.length&&!w.prepared,w.statement=w.prepared?Un[w.signature]:{string:Rn,types:q,name:w.prepare?si+H++:""},typeof n.debug==="function"&&n.debug(z,Rn,W,q)}function mi(w,W){if(jn=jn?Buffer.concat([jn,w]):Buffer.from(w),W||jn.length>=1024)return vv(W);return sn===null&&(sn=setImmediate(vv)),!0}function vv(w){const W=K.write(jn,w);return sn!==null&&clearImmediate(sn),jn=sn=null,W}function ZR(){zo(dn.connection("CONNECT_TIMEOUT",n,K)),K.destroy()}async function wv(){if(mi(uG),!await new Promise((W)=>K.once("data",(q)=>W(q[0]===83)))&&a==="prefer")return Zc();K.removeAllListeners(),K=zG.connect({socket:K,servername:$R.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",Av),K.on("drain",Sv)}function Sv(){!N&&o(Si)}function il(w){if(bn){if(bn.push(w),Sn-=w.length,Sn>=0)return}P=bn?Buffer.concat(bn,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,bn=[P];break}try{qR(P.subarray(0,wn+1))}catch(W){N&&(N.cursorFn||N.describeFirst)&&mi(Ac),zo(W)}P=P.subarray(wn+1),Sn=0,bn=null}}async function Jv(){if(vi=!1,$n={},K||(K=await IR()),!K)return;if(V.start(),n.socket)return a?wv():Zc();if(K.on("connect",a?wv:Zc),n.path)return K.connect(n.path);K.ssl=a,K.connect(f[Gn],l[Gn]),K.host=l[Gn],K.port=f[Gn],Gn=(Gn+1)%f.length}function Fv(){setTimeout(Jv,k?k+Vn-vR.now():0)}function Zc(){try{Un={},ln=n.fetch_types,si=Math.random().toString(36).slice(2),H=1,U.start(),K.on("data",il),G&&K.setKeepAlive&&K.setKeepAlive(!0,1000*G);const w=_4();mi(w)}catch(w){qc(w)}}function qc(w){if(Si.queue===i.connecting&&n.host[ni+1])return;zo(w);while(s.length)px(s.shift(),w)}function zo(w){ii&&(ii.destroy(w),ii=null),N&&px(N,w),wi&&(px(wi,w),wi=null)}function px(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 ol(){return Io||(!Si.reserved&&c(Si),!Si.reserved&&!wi&&!N&&s.length===0?(gp(),new Promise((w)=>K&&K.readyState!=="closed"?K.once("close",w):w())):Io=new Promise((w)=>ao=w))}function gp(){if(vi=!0,ii||N||wi||s.length)qc(dn.connection("CONNECTION_DESTROYED",n));if(clearImmediate(sn),K)K.removeListener("data",il),K.removeListener("connect",Zc),K.readyState==="open"&&K.end(Z().X().end());ao&&(ao(),Io=ao=null)}async function Av(w){if(P=Buffer.alloc(0),Sn=0,bn=null,clearImmediate(sn),K.removeListener("data",il),K.removeListener("connect",Zc),O.cancel(),U.cancel(),V.cancel(),K.removeAllListeners(),K=null,wi)return Fv();!w&&(N||s.length)&&qc(dn.connection("CONNECTION_CLOSED",n,K)),k=vR.now(),w&&n.shared.retries++,Vn=(typeof Y==="function"?Y(n.shared.retries):Y)*1000,p(Si,dn.connection("CONNECTION_CLOSED",n,K))}function qR(w,W=w[0]){(W===68?PR:W===100?G4:W===65?T4:W===83?eR:W===90?gR:W===67?dR:W===50?Tv:W===49?n4:W===116?i4:W===84?o4:W===82?c4:W===110?f4:W===75?$4:W===69?F4:W===115?M4:W===51?R4:W===71?K4:W===78?Y4:W===72?W4:W===99?z4:W===73?u4:W===86?O4:W===118?H4:W===87?X4:E4)(w)}function PR(w){let W=7,q,Rn,Cn;const Ji=N.isRaw?new Array(N.statement.columns.length):{};for(let Gi=0;Gi<N.statement.columns.length;Gi++)Rn=N.statement.columns[Gi],q=w.readInt32BE(W),W+=4,Cn=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[Gi]=N.isRaw===!0?Cn:S.value.from?S.value.from(Cn,Rn):Cn:Ji[Rn.name]=S.value.from?S.value.from(Cn,Rn):Cn;N.forEachFn?N.forEachFn(S.row.from?S.row.from(Ji):Ji,_):_[Pn++]=S.row.from?S.row.from(Ji):Ji}function eR(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,A&&A(W,q)}function gR(w){if(N&&N.options.simple&&N.resolve(po||_),N=po=null,_=new tc,V.cancel(),wi){if(E){if(!$n.in_hot_standby||!$n.default_transaction_read_only)return J4();else if(S4(E,$n))return gp()}if(ln)return wi===!0&&(wi=null),v4();wi!==!0&&ep(wi),n.shared.retries=ni=0,wi=null;return}while(s.length&&(N=s.shift())&&(N.active=!0,N.cancelled))JR(n).cancel(N.state,N.cancelled.resolve,N.cancelled.reject);if(N)return;Si.reserved?!Si.reserved.release&&w[5]===73?Io?gp():(Si.reserved=null,o(Si)):Si.reserved():Io?gp():o(Si)}function dR(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(Pp&&(Pp(),Pp=null),_.command==="BEGIN"&&x!==1&&!Si.reserved)return zo(dn.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(N.options.simple)return Tv();if(N.cursorFn)_.count&&N.cursorFn(_),mi(Ac);N.resolve(_)}function n4(){N.parsing=!1}function Tv(){!_.statement&&(_.statement=N.statement),_.columns=N.statement.columns}function i4(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&&(Un[N.signature]=N.statement),N.describeFirst&&!N.onlyDescribe&&(mi(cx(N)),N.describeFirst=!1)}function o4(w){if(_.command)po=po||[_],po.push(_=new tc),_.count=null,N.statement.columns=null;const W=w.readUInt16BE(5);let q=7,Rn;N.statement.columns=Array(W);for(let Cn=0;Cn<W;++Cn){Rn=q;while(w[q++]!==0);const Ji=w.readUInt32BE(q),Gi=w.readUInt16BE(q+4),Co=w.readUInt32BE(q+6);N.statement.columns[Cn]={name:S.column.from?S.column.from(w.toString("utf8",Rn,q-1)):w.toString("utf8",Rn,q-1),parser:v[Co],table:Ji,number:Gi,type:Co},q+=18}if(_.statement=N.statement,N.onlyDescribe)return N.resolve(N.statement),mi(Ac)}async function c4(w,W=w.readUInt32BE(5)){(W===3?p4:W===5?a4:W===10?x4:W===11?m4:W===12?l4:W!==0?Q4:tp)(w,W)}async function p4(){const w=await cl();mi(Z().p().str(w).z(1).end())}async function a4(w){const W="md5"+await SR(Buffer.concat([Buffer.from(await SR(await cl()+m)),w.subarray(9)]));mi(Z().p().str(W).z(1).end())}async function x4(){Go=(await ga.randomBytes(18)).toString("base64"),Z().p().str("SCRAM-SHA-256"+Z.N);const w=Z.i;mi(Z.inc(4).str("n,,n=*,r="+Go).i32(Z.i-w-4,w).end())}async function m4(w){const W=w.toString("utf8",9).split(",").reduce((Gi,Co)=>(Gi[Co[0]]=Co.slice(2),Gi),{}),q=await ga.pbkdf2Sync(await cl(),Buffer.from(W.s,"base64"),parseInt(W.i),32,"sha256"),Rn=await Cm(q,"Client Key"),Cn="n=*,r="+Go+",r="+W.r+",s="+W.s+",i="+W.i+",c=biws,r="+W.r;yn=(await Cm(await Cm(q,"Server Key"),Cn)).toString("base64");const Ji="c=biws,r="+W.r+",p="+VG(Rn,Buffer.from(await Cm(await UG(Rn),Cn))).toString("base64");mi(Z().p().str(Ji).end())}function l4(w){if(w.toString("utf8",9).split(Z.N,1)[0].slice(2)===yn)return;zo(dn.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),K.destroy()}function cl(){return Promise.resolve(typeof n.pass==="function"?n.pass():n.pass)}function f4(){if(_.statement=N.statement,_.statement.columns=[],N.onlyDescribe)return N.resolve(N.statement),mi(Ac)}function $4(w){M.pid=w.readUInt32BE(5),M.secret=w.readUInt32BE(9)}async function v4(){ln=!1,(await new co([`
38
+ select b.oid, b.typarray
39
+ from pg_catalog.pg_type a
40
+ left join pg_catalog.pg_type b on b.oid = a.typelem
41
+ where a.typcategory = 'A'
42
+ group by b.oid, b.typarray
43
+ order by b.oid
44
+ `],[],ep)).forEach(({oid:W,typarray:q})=>w4(W,q))}function w4(w,W){if(!!n.parsers[W]&&!!n.serializers[W])return;const q=n.parsers[w];n.shared.typeArrayMap[w]=W,n.parsers[W]=(Rn)=>lR(Rn,q,W),n.parsers[W].array=!0,n.serializers[W]=(Rn)=>mR(Rn,n.serializers[w],n,W)}function S4(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 J4(){const w=new co([`
45
+ show transaction_read_only;
46
+ select pg_catalog.pg_is_in_recovery()
47
+ `],[],ep,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 F4(w){N&&(N.cursorFn||N.describeFirst)&&mi(Ac);const W=dn.postgres(y$(w));N&&N.retried?zo(N.retried):N&&N.prepared&&EG.has(W.routine)?A4(N,W):zo(W)}function A4(w,W){delete Un[w.signature],w.retried=W,ep(w)}function T4(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 M4(){try{const w=await Promise.resolve(N.cursorFn(_));Pn=0,w===Ip?mi(b4(N.portal)):(_=new tc,mi(Rv("",N.cursorRows)))}catch(w){mi(Ac),N.reject(w)}}function R4(){_.count&&N.cursorFn(_),N.resolve(_)}function K4(){ii=new L$.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()),Pp=w}}),N.resolve(ii)}function W4(){ii=new L$.Readable({read(){K.resume()}}),N.resolve(ii)}function X4(){ii=new L$.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()),Pp=w}}),N.resolve(ii)}function G4(w){ii&&(ii.push(w.subarray(5))||K.pause())}function z4(){ii&&ii.push(null),ii=null}function Y4(w){T?T(y$(w)):console.log(y$(w))}function u4(){}function O4(){zo(dn.notSupported("FunctionCallResponse"))}function H4(){zo(dn.notSupported("NegotiateProtocolVersion"))}function E4(w){console.error("Postgres.js : Unknown Message:",w[0])}function Q4(w,W){console.error("Postgres.js : Unknown Auth:",W)}function U4(w,W,q="",Rn=""){let Cn,Ji;return Z().B().str(Rn+Z.N).str(q+Z.N).i16(0).i16(w.length),w.forEach((Gi,Co)=>{if(Gi===null)return Z.i32(4294967295);Ji=W[Co],w[Co]=Gi=Ji in n.serializers?n.serializers[Ji](Gi):""+Gi,Cn=Z.i,Z.inc(4).str(Gi).i32(Z.i-Cn-4,Cn)}),Z.i16(0),Z.end()}function Mv(w,W,q,Rn=""){return Z().P().str(Rn+Z.N).str(w+Z.N).i16(W.length),W.forEach((Cn,Ji)=>Z.i32(q[Ji]||0)),Z.end()}function V4(w,W=""){return Z().D().str(w).str(W+Z.N).end()}function Rv(w="",W=0){return Buffer.concat([Z().E().str(w+Z.N).i32(W).end(),wR])}function b4(w=""){return Buffer.concat([Z().C().str("P").str(w+Z.N).end(),Z().S().end()])}function _4(){return y||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 y$(n){const i={};let o=5;for(let c=5;c<n.length-1;c++)if(n[c]===0)i[QG[n[o]]]=n.toString("utf8",o+1,c),o=c+1;return i}function SR(n){return ga.createHash("md5").update(n).digest("hex")}function Cm(n,i){return ga.createHmac("sha256",n).update(i).digest()}function UG(n){return ga.createHash("sha256").update(n).digest()}function VG(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 B$(n,i){if(i=typeof i==="function"?i():i,!i)return{cancel:tp,start:tp};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 D$=JR,YG=1,Ac=Z().S().end(),wR=Z().H().end(),uG=Z().i32(8).i32(80877103).end(8),OG=Buffer.concat([Z().E().str(Z.N).i32(0).end(),Ac]),HG=Z().D().str("S").str(Z.N).end(),tp=()=>{},EG=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),QG={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 bG(n){return new Date(Date.UTC(2000,0,1)+Number(n/BigInt(1000)))}function _G(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=bG(x.readBigInt64BE(9)),i.lsn=x.subarray(1,9)},I:(x)=>{let m=1;const l=i[x.readUInt32BE(m)],{row:f}=tm(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?tm(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?tm(x,l.columns,m+=3,p):null;$&&(m=$.i);const{row:v}=tm(x,l.columns,m+3,p);c(v,{command:"update",relation:l,key:f,old:$&&$.row})},T:()=>{},C:()=>{}}).reduce(a,{})[n[0]](n)}function tm(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 sG(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 FR=()=>{};function h$(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((A)=>A.forEach(({onsubscribe:X})=>X()))},no_subscribe:!0}),f=l.end,$=l.close;return l.end=async()=>{return m=!0,x&&await new Promise((A)=>(x.once("close",A),x.end())),f()},l.close=async()=>{return x&&await new Promise((A)=>(x.once("close",A),x.end())),$()},v;async function v(A,X,G=FR,Y=FR){if(A=sG(A),!a)a=T(l,c,i.publications);const E={fn:X,onsubscribe:G},s=o.has(A)?o.get(A).add(E):o.set(A,new Set([E])).get(A),z=()=>{s.delete(E),s.size===0&&o.delete(A)};return a.then((M)=>{return S(M),G(),x&&x.on("error",Y),{unsubscribe:z,state:p,sql:l}})}function S(A){x=A.stream,p.pid=A.state.pid,p.secret=A.state.secret}async function T(A,X,G){if(!G)throw new Error("Missing publication names");const Y=await A.unsafe(`CREATE_REPLICATION_SLOT ${X} TEMPORARY LOGICAL pgoutput NOEXPORT_SNAPSHOT`),[E]=Y,s=await A.unsafe(`START_REPLICATION SLOT ${X} LOGICAL ${E.consistent_point} (proto_version '1', publication_names '${G}')`).writable(),z={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",A.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)_G(K.subarray(25),z,A.options.parsers,U,i.transform);else if(K[0]===107&&K[17])z.lsn=K.subarray(1,9),V()}function U(K,y){const _=y.relation.schema+"."+y.relation.table;R("*",K,y),R("*:"+_,K,y),y.relation.keys.length&&R("*:"+_+"="+y.relation.keys.map((P)=>K[P.name]),K,y),R(y.command,K,y),R(y.command+":"+_,K,y),y.relation.keys.length&&R(y.command+":"+_+"="+y.relation.keys.map((P)=>K[P.name]),K,y)}function V(){const K=Buffer.alloc(34);K[0]="r".charCodeAt(0),K.fill(z.lsn,1),K.writeBigInt64BE(BigInt(Date.now()-Date.UTC(2000,0,1))*BigInt(1000),25),s.write(K)}}function R(A,X,G){o.has(A)&&o.get(A).forEach(({fn:Y})=>Y(X,G,A))}}import AR from"stream";function I$(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`
48
+ select
49
+ lo_lseek64(${m}, location, 0) as position,
50
+ seek.size
51
+ from (
52
+ select
53
+ lo_lseek64($1, 0, 2) as size,
54
+ tell.location
55
+ from (select lo_tell64($1) as location) tell
56
+ ) seek
57
+ `};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 AR.Readable({highWaterMark:v,async read(A){const X=A>R?A-R:A;R-=A;const[{data:G}]=await l.read(X);if(this.push(G),G.length<A)this.push(null)}})}async function $({highWaterMark:v=16384,start:S=0}={}){return S&&await l.seek(S),new AR.Writable({highWaterMark:v,write(T,R,A){l.write(T).then(()=>A(),A)}})}}).catch(p)})}function km(n,i){const o=LG(n,i),c=o.no_subscribe||h$(km,{...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(()=>D$(o,T,{onopen:Un,onend:$n,onclose:si})),A=X(U);return Object.assign(A,{get parameters(){return o.parameters},largeObject:I$.bind(null,A),subscribe:c,CLOSE:Ip,END:Ip,PostgresError:Cp,options:o,reserve:E,listen:G,begin:s,close:_,end:y}),A;function X(H){return H.debug=o.debug,Object.entries(o.types).reduce((wn,[Vn,Pn])=>{return wn[Vn]=(yn)=>new Vo(yn,Pn.to),wn},k),Object.assign(Sn,{types:k,typed:k,unsafe:Gn,notify:Y,array:O,json:M,file:ni}),Sn;function k(wn,Vn){return new Vo(wn,Vn)}function Sn(wn,...Vn){return wn&&Array.isArray(wn.raw)?new co(wn,Vn,H,K):typeof wn==="string"&&!Vn.length?new ea(o.transform.column.to?o.transform.column.to(wn):wn):new Bm(wn,Vn)}function Gn(wn,Vn=[],Pn={}){return arguments.length===2&&!Array.isArray(Vn)&&(Pn=Vn,Vn=[]),new co([wn],Vn,H,K,{prepare:!1,...Pn,simple:"simple"in Pn?Pn.simple:Vn.length===0})}function ni(wn,Vn=[],Pn={}){return arguments.length===2&&!Array.isArray(Vn)&&(Pn=Vn,Vn=[]),new co([],Vn,(sn)=>{NG.readFile(wn,"utf8",(vi,bn)=>{if(vi)return sn.reject(vi);sn.strings=[bn],H(sn)})},K,{...Pn,simple:"simple"in Pn?Pn.simple:Vn.length===0})}}async function G(H,k,Sn){const Gn={fn:k,onlisten:Sn},ni=G.sql||(G.sql=km({...o,max:1,idle_timeout:null,max_lifetime:null,fetch_types:!1,onclose(){Object.entries(G.channels).forEach(([sn,{listeners:vi}])=>{delete G.channels[sn],Promise.all(vi.map((bn)=>G(sn,bn.fn,bn.onlisten).catch(()=>{})))})},onnotify(sn,vi){sn in G.channels&&G.channels[sn].listeners.forEach((bn)=>bn.fn(vi))}})),wn=G.channels||(G.channels={});if(H in wn){wn[H].listeners.push(Gn);const sn=await wn[H].result;return Gn.onlisten&&Gn.onlisten(),{state:sn.state,unlisten:yn}}wn[H]={result:ni`listen ${ni.unsafe('"'+H.replace(/"/g,'""')+'"')}`,listeners:[Gn]};const Pn=await wn[H].result;return Gn.onlisten&&Gn.onlisten(),{state:Pn.state,unlisten:yn};async function yn(){if(H in wn===!1)return;if(wn[H].listeners=wn[H].listeners.filter((sn)=>sn!==Gn),wn[H].listeners.length)return;return delete wn[H],ni`unlisten ${ni.unsafe('"'+H.replace(/"/g,'""')+'"')}`}}async function Y(H,k){return await A`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())});z(k,m),k.reserved=()=>H.length?k.execute(H.shift()):z(k,m),k.reserved.release=!0;const Sn=X(Gn);return Sn.release=()=>{k.reserved=null,Un(k)},Sn;function Gn(ni){k.queue===S?H.push(ni):k.execute(ni)||z(k,S)}}async function s(H,k){!k&&(k=H,H="");const Sn=Ci();let Gn=0,ni,wn=null;try{return await A.unsafe("begin "+H.replace(/[^a-z ]/ig,""),[],{onexecute:Pn}).execute(),await Promise.race([Vn(ni,k),new Promise((yn,sn)=>ni.onclose=sn)])}catch(yn){throw yn}async function Vn(yn,sn,vi){const bn=X(ii);bn.savepoint=Io,bn.prepare=(jn)=>wn=jn.replace(/[^a-z0-9$-_. ]/gi);let po,wi;vi&&await bn`savepoint ${bn(vi)}`;try{if(wi=await new Promise((jn,ao)=>{const Go=sn(bn);Promise.resolve(Array.isArray(Go)?Promise.all(Go):Go).then(jn,ao)}),po)throw po}catch(jn){throw await(vi?bn`rollback to ${bn(vi)}`:bn`rollback`),jn instanceof Cp&&jn.code==="25P02"&&po||jn}if(!vi)wn?await bn`prepare transaction '${bn.unsafe(wn)}'`:await bn`commit`;return wi;function Io(jn,ao){if(jn&&Array.isArray(jn.raw))return Io((Go)=>Go.apply(Go,arguments));return arguments.length===1&&(ao=jn,jn=null),Vn(yn,ao,"s"+Gn+++(jn?"_"+jn:""))}function ii(jn){jn.catch((ao)=>po||(po=ao)),yn.queue===S?Sn.push(jn):yn.execute(jn)||z(yn,S)}}function Pn(yn){ni=yn,z(yn,m),yn.reserved=()=>Sn.length?yn.execute(Sn.shift()):z(yn,m)}}function z(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?Lm(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)?z(H,v):z(H,S)}function K(H){return new Promise((k,Sn)=>{H.state?H.active?D$(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 y({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(G.sql?G.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 z(H,x),H.connect(k),H}function $n(H){z(H,f)}function Un(H){if(a.length===0)return z(H,$);let k=Math.ceil(a.length/(x.length+1)),Sn=!0;while(Sn&&a.length&&k-- >0){const Gn=a.shift();if(Gn.reserve)return Gn.reserve(H);Sn=H.execute(Gn)}Sn?z(H,v):z(H,S)}function si(H,k){z(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 LG(n,i){if(n&&n.shared)return n;const o=process.env,c=(!n||typeof n==="string"?i:n)||{},{url:p,multihost:a}=IG(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||CG();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:DG,max_pipeline:100,backoff:BG,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 A=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 A==="string"&&$.includes(T)?+A:A,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:yG(c,p,o),onnotice:c.onnotice,onnotify:c.onnotify,onclose:c.onclose,onparameter:c.onparameter,socket:c.socket,transform:hG(c.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...aR(c.types)}}function yG(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 BG(n){return(0.5+Math.random()/2)*Math.min(3**n/100,20)}function DG(){return 60*(30+Math.random()*30)}function hG(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 IG(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 CG(){try{return jG.userInfo().username}catch(n){return process.env.USERNAME||process.env.USER||process.env.LOGNAME}}Object.assign(km,{PostgresError:Cp,toPascal:Ic,pascal:j$,toCamel:hc,camel:s$,toKebab:Cc,kebab:N$,fromPascal:qa,fromCamel:Za,fromKebab:Pa,BigInt:{to:20,from:[20],parse:(n)=>BigInt(n),serialize:(n)=>n.toString()}});var kp=km;class rm extends ui{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[D.Symbol.Columns]){return this.config.returning=di(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 Zm{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[D.Symbol.Columns];for(let a of Object.keys(o)){const x=o[a];c[a]=u(x,t)?x:new Li(x,p[a])}return c});return new TR(this.table,i,this.session,this.dialect,this.withList)}}class TR extends ui{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[D.Symbol.Columns]){return this.config.returning=di(n),this}onConflictDoNothing(n={}){if(n.target===void 0)this.config.onConflict=F`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?F` where ${n.where}`:void 0;this.config.onConflict=F`(${F.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?F` where ${n.where}`:void 0,o=n.targetWhere?F` where ${n.targetWhere}`:void 0,c=n.setWhere?F` where ${n.setWhere}`:void 0,p=this.dialect.buildUpdateSet(this.config.table,kx(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=F`(${F.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 tG(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((o)=>o.toLowerCase()).join("_")}function kG(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 rG(n){return n}class C${static[J]="CasingCache";cache={};cachedTables={};convert;constructor(n){this.convert=n==="snake_case"?tG:n==="camelCase"?kG:rG}getColumnCasing(n){if(!n.keyAsName)return n.name;const i=n.table[D.Symbol.Schema]??"public",o=n.table[D.Symbol.OriginalName],c=`${i}.${o}.${n.name}`;if(!this.cache[c])this.cacheTable(n.table);return this.cache[c]}cacheTable(n){const i=n[D.Symbol.Schema]??"public",o=n[D.Symbol.OriginalName],c=`${i}.${o}`;if(!this.cachedTables[c]){for(let p of Object.values(n[D.Symbol.Columns])){const a=`${c}.${p.name}`;this.cache[a]=this.convert(p.name)}this.cachedTables[c]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class da extends Ui{static[J]="PgViewBase"}class kc{static[J]="PgDialect";casing;constructor(n){this.casing=new C$(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=F`
58
+ CREATE TABLE IF NOT EXISTS ${F.identifier(p)}.${F.identifier(c)} (
59
+ id SERIAL PRIMARY KEY,
60
+ hash text NOT NULL,
61
+ created_at bigint
62
+ )
63
+ `;await i.execute(F`CREATE SCHEMA IF NOT EXISTS ${F.identifier(p)}`),await i.execute(a);const m=(await i.all(F`select id, hash, created_at from ${F.identifier(p)}.${F.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(F.raw($));await l.execute(F`insert into ${F.identifier(p)}.${F.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=[F`with `];for(let[o,c]of n.entries())if(i.push(F`${F.identifier(c._.alias)} as (${c._.sql})`),o<n.length-1)i.push(F`, `);return i.push(F` `),F.join(i)}buildDeleteQuery({table:n,where:i,returning:o,withList:c}){const p=this.buildWithCTE(c),a=o?F` returning ${this.buildSelection(o,{isSingleTable:!0})}`:void 0,x=i?F` where ${i}`:void 0;return F`${p}delete from ${n}${x}${a}`}buildUpdateSet(n,i){const o=n[D.Symbol.Columns],c=Object.keys(o).filter((a)=>i[a]!==void 0||o[a]?.onUpdateFn!==void 0),p=c.length;return F.join(c.flatMap((a,x)=>{const m=o[a],l=i[a]??F.param(m.onUpdateFn(),m),f=F`${F.identifier(this.casing.getColumnCasing(m))} = ${l}`;if(x<p-1)return[f,F.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?F` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,l=o?F` where ${o}`:void 0;return F`${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,t.Aliased)&&p.isSelectionField)x.push(F.identifier(p.fieldAlias));else if(u(p,t.Aliased)||u(p,t)){const m=u(p,t.Aliased)?p.sql:p;if(i)x.push(new t(m.queryChunks.map((l)=>{if(u(l,j))return F.identifier(this.casing.getColumnCasing(l));return l})));else x.push(m);if(u(p,t.Aliased))x.push(F` as ${F.identifier(p.fieldAlias)}`)}else if(u(p,_n))if(i)x.push(F.identifier(this.casing.getColumnCasing(p)));else x.push(p);if(a<o-1)x.push(F`, `);return x});return F.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??di(i);for(let ln of R)if(u(ln.field,_n)&&gi(ln.field.table)!==(u(a,fi)?a._.alias:u(a,da)?a[hn].name:u(a,t)?void 0:gi(a))&&!(($n)=>x?.some(({alias:Un})=>Un===($n[D.Symbol.IsAlias]?gi($n):$n[D.Symbol.BaseName])))(ln.field.table)){const $n=gi(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 A=!x||x.length===0,X=this.buildWithCTE(n);let G;if(S)G=S===!0?F` distinct`:F` distinct on (${F.join(S.on,F`, `)})`;const Y=this.buildSelection(R,{isSingleTable:A}),E=(()=>{if(u(a,D)&&a[D.Symbol.OriginalName]!==a[D.Symbol.Name]){let ln=F`${F.identifier(a[D.Symbol.OriginalName])}`;if(a[D.Symbol.Schema])ln=F`${F.identifier(a[D.Symbol.Schema])}.${ln}`;return F`${ln} ${F.identifier(a[D.Symbol.Name])}`}return a})(),s=[];if(x)for(let[ln,$n]of x.entries()){if(ln===0)s.push(F` `);const Un=$n.table,si=$n.lateral?F` lateral`:void 0;if(u(Un,So)){const H=Un[So.Symbol.Name],k=Un[So.Symbol.Schema],Sn=Un[So.Symbol.OriginalName],Gn=H===Sn?void 0:$n.alias;s.push(F`${F.raw($n.joinType)} join${si} ${k?F`${F.identifier(k)}.`:void 0}${F.identifier(Sn)}${Gn&&F` ${F.identifier(Gn)}`} on ${$n.on}`)}else if(u(Un,Ui)){const H=Un[hn].name,k=Un[hn].schema,Sn=Un[hn].originalName,Gn=H===Sn?void 0:$n.alias;s.push(F`${F.raw($n.joinType)} join${si} ${k?F`${F.identifier(k)}.`:void 0}${F.identifier(Sn)}${Gn&&F` ${F.identifier(Gn)}`} on ${$n.on}`)}else s.push(F`${F.raw($n.joinType)} join${si} ${Un} on ${$n.on}`);if(ln<x.length-1)s.push(F` `)}const z=F.join(s),M=c?F` where ${c}`:void 0,O=p?F` having ${p}`:void 0;let U;if(m&&m.length>0)U=F` order by ${F.join(m,F`, `)}`;let V;if(l&&l.length>0)V=F` group by ${F.join(l,F`, `)}`;const K=typeof f==="object"||typeof f==="number"&&f>=0?F` limit ${f}`:void 0,y=$?F` offset ${$}`:void 0,_=F.empty();if(v){const ln=F` for ${F.raw(v.strength)}`;if(v.config.of)ln.append(F` of ${F.join(Array.isArray(v.config.of)?v.config.of:[v.config.of],F`, `)}`);if(v.config.noWait)ln.append(F` no wait`);else if(v.config.skipLocked)ln.append(F` skip locked`);_.append(ln)}const P=F`${X}select${G} ${Y} from ${E}${z}${M}${V}${O}${U}${K}${y}${_}`;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=F`(${n.getSQL()}) `,l=F`(${c.getSQL()})`;let f;if(a&&a.length>0){const T=[];for(let R of a)if(u(R,j))T.push(F.identifier(R.name));else if(u(R,t)){for(let A=0;A<R.queryChunks.length;A++){const X=R.queryChunks[A];if(u(X,j))R.queryChunks[A]=F.identifier(X.name)}T.push(F`${R}`)}else T.push(F`${R}`);f=F` order by ${F.join(T,F`, `)} `}const $=typeof p==="object"||typeof p==="number"&&p>=0?F` limit ${p}`:void 0,v=F.raw(`${i} ${o?"all ":""}`),S=x?F` offset ${x}`:void 0;return F`${m}${v}${l}${f}${$}${S}`}buildInsertQuery({table:n,values:i,onConflict:o,returning:c,withList:p}){const a=[],x=n[D.Symbol.Columns],m=Object.entries(x).filter(([T,R])=>!R.shouldDisableInsert()),l=m.map(([,T])=>F.identifier(this.casing.getColumnCasing(T)));for(let[T,R]of i.entries()){const A=[];for(let[X,G]of m){const Y=R[X];if(Y===void 0||u(Y,Li)&&Y.value===void 0)if(G.defaultFn!==void 0){const E=G.defaultFn(),s=u(E,t)?E:F.param(E,G);A.push(s)}else if(!G.default&&G.onUpdateFn!==void 0){const E=G.onUpdateFn(),s=u(E,t)?E:F.param(E,G);A.push(s)}else A.push(F`default`);else A.push(Y)}if(a.push(A),T<i.length-1)a.push(F`, `)}const f=this.buildWithCTE(p),$=F.join(a),v=c?F` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,S=o?F` on conflict ${o}`:void 0;return F`${f}insert into ${n} ${l} values ${$}${S}${v}`}buildRefreshMaterializedViewQuery({view:n,concurrently:i,withNoData:o}){const c=i?F` concurrently`:void 0,p=o?F` with no data`:void 0;return F`refresh materialized view${c} ${n}${p}`}prepareTyping(n){if(u(n,ex)||u(n,Px))return"json";else if(u(n,gx))return"decimal";else if(u(n,dx))return"time";else if(u(n,nm)||u(n,im))return"timestamp";else if(u(n,rx)||u(n,Zx))return"date";else if(u(n,om))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(([G,Y])=>({dbKey:Y.name,tsKey:G,field:Oo(Y,x),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{const X=Object.fromEntries(Object.entries(p.columns).map(([M,O])=>[M,Oo(O,x)]));if(a.where){const M=typeof a.where==="function"?a.where(X,kJ()):a.where;T=M&&ua(M,x)}const G=[];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];G.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:F}):a.extras;for(let[M,O]of Object.entries(s))G.push({tsKey:M,value:Tf(O,x)})}for(let{tsKey:M,value:O}of G)f.push({dbKey:u(O,t.Aliased)?O.fieldAlias:p.columns[M].name,tsKey:M,field:u(O,_n)?Oo(O,x):O,relationTableTsKey:void 0,isJson:!1,selection:[]});let z=typeof a.orderBy==="function"?a.orderBy(X,rJ()):a.orderBy??[];if(!Array.isArray(z))z=[z];S=z.map((M)=>{if(u(M,_n))return Oo(M,x);return ua(M,x)}),$=a.limit,v=a.offset;for(let{tsKey:M,queryConfig:O,relation:U}of E){const V=qJ(i,o,U),K=Oc(U.referencedTable),y=o[K],_=`${x}_${M}`,P=Hc(...V.fields.map((Un,si)=>Ho(Oo(V.references[si],_),Oo(Un,x)))),ln=this.buildRelationalQueryWithoutPK({fullSchema:n,schema:i,tableNamesMap:o,table:n[y],tableConfig:i[y],queryConfig:u(U,xc)?O===!0?{limit:1}:{...O,limit:1}:O,tableAlias:_,joinOn:P,nestedQueryRelation:U}),$n=F`${F.identifier(_)}.${F.identifier("data")}`.as(M);R.push({on:F`true`,table:new fi(ln.sql,{},_),alias:_,joinType:"left",lateral:!0}),f.push({dbKey:M,tsKey:M,field:$n,relationTableTsKey:y,isJson:!0,selection:ln.selection})}}if(f.length===0)throw new Cx({message:`No fields selected for table "${p.tsName}" ("${x}")`});let A;if(T=Hc(l,T),m){let X=F`json_build_array(${F.join(f.map(({field:E,tsKey:s,isJson:z})=>z?F`${F.identifier(`${x}_${s}`)}.${F.identifier("data")}`:u(E,t.Aliased)?E.sql:E),F`, `)})`;if(u(m,Ea))X=F`coalesce(json_agg(${X}${S.length>0?F` order by ${F.join(S,F`, `)}`:void 0}), '[]'::json)`;const G=[{dbKey:"data",tsKey:"data",field:X.as("data"),isJson:!0,relationTableTsKey:p.tsName,selection:f}];if($!==void 0||v!==void 0||S.length>0)A=this.buildSelectQuery({table:Ix(c,x),fields:{},fieldsFlat:[{path:[],field:F.raw("*")}],where:T,limit:$,offset:v,orderBy:S,setOperators:[]}),T=void 0,$=void 0,v=void 0,S=[];else A=Ix(c,x);A=this.buildSelectQuery({table:u(A,So)?A:new fi(A,{},x),fields:{},fieldsFlat:G.map(({field:E})=>({path:[],field:u(E,_n)?Oo(E,x):E})),joins:R,where:T,limit:$,offset:v,orderBy:S,setOperators:[]})}else A=this.buildSelectQuery({table:Ix(c,x),fields:{},fieldsFlat:f.map(({field:X})=>({path:[],field:u(X,_n)?Oo(X,x):X})),joins:R,where:T,limit:$,offset:v,orderBy:S,setOperators:[]});return{tableTsKey:p.tsName,sql:A,selection:f}}}class _i{static[J]="SelectionProxyHandler";config;constructor(n){this.config={...n}}get(n,i){if(i==="_")return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(i===hn)return{...n[hn],selectedFields:new Proxy(n[hn].selectedFields,this)};if(typeof i==="symbol")return n[i];const c=(u(n,fi)?n._.selectedFields:u(n,Ui)?n[hn].selectedFields:n)[i];if(u(c,t.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!c.isSelectionField)return c.sql;const p=c.clone();return p.isSelectionField=!0,p}if(u(c,t)){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,_n)){if(this.config.alias)return new Proxy(c,new wp(new Proxy(c.table,new Ya(this.config.alias,this.config.replaceOriginalName??!1))));return c}if(typeof c!=="object"||c===null)return c;return new Proxy(c,new _i(this.config))}}class t${static[J]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}function rp(n,i){return(o,c,...p)=>{const a=[c,...p].map((x)=>({type:n,isAll:i,rightSelect:x}));for(let x of a)if(!Wf(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,da))o=n[hn].selectedFields;else if(u(n,t))o={};else o=gS(n);return new k$({table:n,fields:o,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class MR extends t${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=Xf(n),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(n){return(i,o)=>{const c=this.tableName,p=Xf(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,t)){const a=u(i,fi)?i._.selectedFields:u(i,Ui)?i[hn].selectedFields:i[D.Symbol.Columns];this.config.fields[p]=a}}if(typeof o==="function")o=o(new Proxy(this.config.fields,new _i({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(ZG()):o;if(!Wf(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 _i({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=n,this}having(n){if(typeof n==="function")n=n(new Proxy(this.config.fields,new _i({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 _i({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 _i({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 _i({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new _i({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class k$ extends MR{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=di(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)})}}eS(k$,[ui]);var ZG=()=>({union:qG,unionAll:PG,intersect:eG,intersectAll:gG,except:dG,exceptAll:nz}),qG=rp("union",!1),PG=rp("union",!0),eG=rp("intersect",!1),gG=rp("intersect",!0),dG=rp("except",!1),nz=rp("except",!0);class r${static[J]="PgQueryBuilder";dialect;dialectConfig;constructor(n){this.dialect=u(n,kc)?n:void 0,this.dialectConfig=u(n,kc)?void 0:n}$with(n){const i=this;return{as(o){if(typeof o==="function")o=o(i);return new Proxy(new za(o.getSQL(),o.getSelectedFields(),n,!0),new _i({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 kc(this.dialectConfig);return this.dialect}}class Z$ extends ui{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 qm{constructor(n,i,o,c){this.table=n,this.session=i,this.dialect=o,this.withList=c}static[J]="PgUpdateBuilder";set(n){return new RR(this.table,kx(this.table,n),this.session,this.dialect,this.withList)}}class RR extends ui{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[D.Symbol.Columns]){return this.config.returning=di(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 nx extends t{constructor(n){super(nx.buildEmbeddedCount(n.source,n.filters).queryChunks);this.params=n,this.mapWith(Number),this.session=n.session,this.sql=nx.buildCount(n.source,n.filters)}sql;static[J]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(n,i){return F`(select count(*) from ${n}${F.raw(" where ").if(i)}${i})`}static buildCount(n,i){return F`select count(*) as count from ${n}${F.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 P${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 q$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?n:{},"many")}findFirst(n){return new q$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?{...n,limit:1}:{limit:1},"first")}}class q$ extends ui{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)=>cm(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 e$ extends ui{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 ix{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 P$(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 r$(i.dialect));return new Proxy(new za(o.getSQL(),o.getSelectedFields(),n,!0),new _i({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}}$count(n,i){return new nx({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 qm(l,i.session,i.dialect,n)}function x(l){return new Zm(l,i.session,i.dialect,n)}function m(l){return new rm(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 qm(n,this.session,this.dialect)}insert(n){return new Zm(n,this.session,this.dialect)}delete(n){return new rm(n,this.session,this.dialect)}refreshMaterializedView(n){return new Z$(n,this.session,this.dialect)}execute(n){const i=typeof n==="string"?F.raw(n):n.getSQL(),o=this.dialect.sqlToQuery(i),c=this.session.prepareQuery(o,void 0,void 0,!1);return new e$(()=>c.execute(),i,o,(p)=>c.mapResult(p,!0))}transaction(n,i){return this.session.transaction(n,i)}}function g$(n){return new KR(!0,n)}class KR{constructor(n,i){this.unique=n,this.name=i}static[J]="PgIndexBuilderOn";on(...n){return new Pm(n.map((i)=>{if(u(i,t))return i;i=i;const o=new Ga(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 Pm(n.map((i)=>{if(u(i,t))return i;i=i;const o=new Ga(i.name,!!i.keyAsName,i.columnType,i.indexConfig);return i.indexConfig=i.defaultConfig,o}),this.unique,!0,this.name)}using(n,...i){return new Pm(i.map((o)=>{if(u(o,t))return o;o=o;const c=new Ga(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 Pm{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 WR(this.config,n)}}class WR{static[J]="PgIndex";config;constructor(n,i){this.config={...n,table:i}}}class d${constructor(n){this.query=n}getQuery(){return this.query}mapResult(n,i){return n}static[J]="PgPreparedQuery";joinsNotNullableMap}class nv{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 iv extends ix{constructor(n,i,o,c=0){super(n,i,o);this.schema=o,this.nestedIndex=c}static[J]="PgTransaction";rollback(){throw new Mf}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 F.raw(i.join(" "))}setTransaction(n){return this.session.execute(F`set transaction ${this.getTransactionConfigSQL(n)}`)}}class XR extends d${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=Af(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)=>PS(c,f,x))})})}all(n={}){return En.startActiveSpan("drizzle.execute",async(i)=>{const o=Af(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 ox extends nv{constructor(n,i,o,c={}){super(i);this.client=n,this.schema=o,this.options=c,this.logger=c.logger??new Kf}static[J]="PostgresJsSession";logger;prepareQuery(n,i,o,c,p){return new XR(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 ox(o,this.dialect,this.schema,this.options),p=new ov(this.dialect,c,this.schema);if(i)await p.setTransaction(i);return n(p)})}}class ov extends iv{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 ox(i,this.dialect,this.schema,this.session.options),c=new ov(this.dialect,o,this.schema);return n(c)})}}function Zp(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 kc({casing:i.casing});let p;if(i.logger===!0)p=new Rf;else if(i.logger!==!1)p=i.logger;let a;if(i.schema){const l=ZJ(i.schema,PJ);a={fullSchema:i.schema,schema:l.tables,tableNamesMap:l.tableNamesMap}}const x=new ox(n,c,a,{logger:p}),m=new GR(c,x,a);return m.$client=n,m}function em(...n){if(typeof n[0]==="function")return Zp(n[0],n[1]);if(typeof n[0]==="object"){const{connection:o,client:c,...p}=n[0];if(c)return Zp(c,p);if(typeof o==="object"&&o.url!==void 0){const{url:x,...m}=o,l=kp(x,m);return Zp(l,p)}const a=kp(o);return Zp(a,p)}const i=kp(n[0]);return Zp(i,n[1])}class GR extends ix{static[J]="PostgresJsDatabase"}((n)=>{function i(o){return Zp({},o)}n.mock=i})(em||(em={}));var pv={};y4(pv,{users:()=>Xo,userChanges:()=>oz,untrackedUserColumnNames:()=>iz,twoFactorMethod:()=>OR,trackedUserColumnName:()=>uR,trackableUserColumnNames:()=>YR,role:()=>zR,players:()=>cv,passwordResetAttempts:()=>cz,loginHistory:()=>qp,games:()=>gm,banishedIps:()=>dm});var zR=Bx("role",["admin","user"]),Xo=ac("users",{id:yi().primaryKey().defaultRandom(),username:$i({length:16}).notNull(),email:$i({length:254}).notNull(),hash:$i({length:64}).notNull(),salt:$i({length:36}).notNull(),createdAt:wo({withTimezone:!0}).notNull().defaultNow(),createdIp:$i({length:45}).notNull(),isActive:Oa().notNull().default(!1),verifiedAt:wo({withTimezone:!0}),userRole:zR().default("user")},(n)=>({usersUsernameUnique:g$().on(n.username),usersEmailUnique:g$().on(n.email)})),iz=["id","createdAt","createdIp","isActive","salt","verifiedAt"],YR=["username","email","hash","userRole"],uR=Bx("trackedUserColumnName",YR),oz=ac("userChanges",{id:yi().primaryKey().defaultRandom(),userId:yi().notNull().references(()=>Xo.id),changedAt:wo({withTimezone:!0}).notNull().defaultNow(),changedIp:$i({length:45}).notNull(),changedColumn:uR().notNull(),oldValue:$i({length:255}),newValue:$i({length:255})}),gm=ac("games",{id:yi("id").primaryKey().defaultRandom()}),cv=ac("players",{userId:yi().notNull().references(()=>Xo.id),gameId:yi().notNull().references(()=>gm.id),score:qx().notNull()},(n)=>({pk:IJ({columns:[n.userId,n.gameId]})})),qp=ac("loginHistory",{id:yi().primaryKey().defaultRandom(),userId:yi().references(()=>Xo.id),loginTime:wo({withTimezone:!0}).notNull().defaultNow(),ipAddress:$i({length:45}).notNull(),userAgent:$i({length:1024}),successful:Oa().notNull().default(!1)}),OR=Bx("twoFactorMethod",["email","phone"]),cz=ac("passwordResetAttempts",{id:yi().primaryKey().defaultRandom(),userId:yi().notNull().references(()=>Xo.id),requestedIp:$i({length:45}).notNull(),requestedAt:wo({withTimezone:!0}).notNull().defaultNow(),succeededIp:$i({length:45}),succeededAt:wo({withTimezone:!0}),verificationMethod:OR().notNull()}),dm=ac("banishedIps",{ip:$i({length:45}).primaryKey(),reason:$i({length:2048}).notNull(),banishedAt:wo({withTimezone:!0}).notNull().defaultNow(),banishedUntil:wo({withTimezone:!0})});var __dirname="/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";class av{options;sql;drizzle;observers=new Map;async setupTriggersAndNotifications(){await this.sql.file(pz.resolve(__dirname,"notify_update.sql"));const n=[gi(Xo),gi(gm),gi(cv)];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=kp(n),this.drizzle=em(this.sql,{schema:pv})}observe(n,i){if(!this.observers.has(n))this.observers.set(n,new an);this.observers.get(n).subscribe("SINGLETON",i)}}import{createHash as az}from"crypto";function xv(n){const i=az("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 HR=["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","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","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 fz(n){let i="";for(let o of n)if(o in QR)i+=QR[o];else i+=o;return i}function $z(n){const i=n.toLocaleLowerCase(),o=fz(i);for(let c of HR){if(o.includes(c))return!0;if(i.includes(c))return!0}return!1}function vz(n){const i=new Set(n).size;return n.length*Math.log2(i)}function wz(n){let i=0;const o=100;if($z(n))i-=o;return i+=vz(n)*0.5,Math.max(i,0)}var xz=3,mz=15,lz=/^[a-zA-Z0-9_-]+$/,UR=Qn.string().min(xz).max(mz).regex(lz),ER=20,QR={"0":"o","1":"l","3":"e","4":"a","5":"s","7":"t","@":"a",$:"s","!":"i"},VR=Qn.string().refine((n)=>{return wz(n)>=ER},{message:`Password does not meet the minimum complexity of ${ER}.`}).brand("password"),bR=Qn.object({username:UR,password:VR}).strict(),Sz=Qn.string().email().brand("email"),_R=Qn.object({username:UR,password:VR,email:Sz}).strict();var nl={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"},mv=Kv(nl).map(([n])=>Qn.literal(Number(n))),Jz=Qn.union([mv[0],mv[1],...mv]),sR=Qn.tuple([Jz,Qn.string()]);var jR=Zo({key:"count",default:0}),Fz=Mc({key:"incrementTX",do:({set:n})=>{n(jR,(i)=>i+1)}}),NR=p0({key:"countContinuity",config:(n)=>n.add(jR).add(Fz)});async function fv(){Xn.info("\uD83E\uDDF9 dispatching SIGINT to workers"),yR.process.kill("SIGINT"),await new Promise((n)=>yR.process.once("exit",n)),Xn.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}var yR=Y$(Dc,"backend.worker.game.bun",Xn),rc=new av,xh=(()=>{let{__tribunalDaily:n}=globalThis;if(!n)n=new DR.CronJob("00 00 03 * * *",()=>{Y$(Dc,"backend.worker.tribunal.bun",Xn)}),n.start(),process.on("exit",()=>{n.stop(),Xn.info("\u231B tribunal daily cronjob stopped")}),Xn.info("\u23F3 tribunal daily cronjob started");return n})(),hR=BR.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);Xn.info(a,p,n.method,x.pathname);const m=await rc.drizzle.query.banishedIps.findFirst({columns:{banishedUntil:!0},where:Ho(dm.ip,p)}),l=m?.banishedUntil===null,f=m?.banishedUntil&&m.banishedUntil>a;if(l||f){Xn.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-${xv("signup")}`:{const $=Buffer.concat(o).toString(),v=JSON.parse($);Xn.info("signup json",v);const S=_R.safeParse(v);if(!S.success){Xn.warn("signup parsed",S.error.issues);return}const{username:T,password:R,email:A}=S.data;if(await rc.drizzle.query.users.findFirst({columns:{id:!0},where:Ho(Xo.email,A)}))throw[400,"User already exists"];const G=crypto.randomUUID(),Y=LR("sha256").update(R+G).digest("hex");await rc.drizzle.insert(Xo).values({username:T,email:A,hash:Y,salt:G,createdIp:p}),i.writeHead(201,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(nl[201])}break;case`/login-${xv("login")}`:{let $=!1,v=null;try{const S=new Date(+a-600000);Xn.info("\uD83D\uDD11 ten minutes ago",{tenMinutesAgo:S,now:a});const T=await rc.drizzle.query.loginHistory.findMany({columns:{userId:!0,successful:!0},where:Hc(Ho(qp.ipAddress,p),Ho(qp.successful,!1),tx(qp.loginTime,S)),limit:10});Xn.info(`\uD83D\uDD11 ${T.length}/10 recent failed logins from ${p}`);const R=10-T.length;if(R<1)throw Xn.info(`\uD83D\uDD11 too many recent failed logins from ${p}`),await rc.drizzle.insert(dm).values({ip:p,reason:"Too many recent login attempts.",banishedAt:a,banishedUntil:new Date(+a+86400000)}),[429,"Too many recent login attempts."];const A=Buffer.concat(o).toString(),X=JSON.parse(A),G=bR.safeParse(X);if(!G.success)throw Xn.warn("login parsed",G.error.issues),[400,`${R} attempts remaining.`];const{username:Y,password:E}=G.data,s=await rc.drizzle.query.users.findFirst({columns:{id:!0,hash:!0,salt:!0},where:Ho(Xo.username,Y)});if(Xn.info("\uD83D\uDD11 login attempt as user",Y),!s)throw Xn.info(`\uD83D\uDD11 user ${Y} does not exist`),[400,`${R} attempts remaining.`];const{hash:z,salt:M}=s;if(v=s.id,LR("sha256").update(E+M).digest("hex")===z){const U=crypto.randomUUID();let V=sm.get(Y);if(!V)V=new Map,sm.set(Y,V);V.set(U,Number(a)),$=!0,Xn.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(qp).values({userId:v,successful:$,ipAddress:p,userAgent:n.headers["user-agent"]??"Withheld"}),Xn.info(`\uD83D\uDD11 recorded login attempt from ${p}`)}}}}}catch(p){const a=sR.safeParse(p);if(a.success){const[x,m]=a.data,f=`${nl[x]}. ${m}`;Xn.info(`\u274C ${x}: ${f}`),i.writeHead(x,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(f)}else Xn.error(p),i.writeHead(500,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end("Internal Server Error")}})}),lv=hR.listen(pi.BACKEND_PORT).address(),Az=typeof lv==="string"?null:lv===null?null:lv.port;if(Az===null)throw new Error("Could not determine port for test server");new jM(hR,{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(sm.get(o)?.has(c)){const a=An(on.STORE,wa,n.id);zn(on.STORE,a,n),Rc(Kc,(x)=>{x.set(n.id,o)},on.STORE),zn(on.STORE,Ql,(x)=>x.add(o)),zn(on.STORE,El,(x)=>x.add(n.id)),Xn.info(`${o} connected on ${n.id}`),i()}else Xn.info(`${o} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{const o=m0({socket:n,store:on.STORE})(NR);n.on("disconnect",()=>{const c=np(Kc,n.id,on.STORE).userKeyOfSocket,p=Kn(on.STORE,c);if(Rc(Kc,(a)=>{a.delete(n.id)},on.STORE),p)zn(on.STORE,Ql,(a)=>(a.delete(p),a));zn(on.STORE,El,(a)=>(a.delete(n.id),a)),li(on.STORE,wa,n.id),Xn.info(`${n.id} disconnected`),o()})});Dc.emit("alive");Dc.on("updatesReady",()=>{Dc.emit("readyToUpdate")});process.on("SIGINT",async()=>{Xn.info("\u2757 received SIGINT; exiting gracefully"),await fv()});process.on("SIGTERM",async()=>{Xn.info("\u2757 received SIGTERM; exiting gracefully"),await fv()});process.on("exit",async()=>{Xn.info("\u2757 received exit; exiting gracefully"),await fv()});Xn.info(`\uD83D\uDEEB backend server ready on port ${pi.BACKEND_PORT}`);export{xh as tribunalDaily};