@zip.js/zip.js 2.8.56 → 2.8.57

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 +1 @@
1
- const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,u=117853008,d=22,f=20,w=56,h=39169,p=21589,m=6534,y=30837,b=30805,E=2048,S=61440,g=16384,x=2048,A=1024,z="/",R=30,F=new Date(2107,11,31,23,59,58),D=new Date(1980,0,1),O=void 0,U=1/0,k="undefined",T="function",v="object",I="string",C=new Uint8Array,M="password",j="rawPassword",N="passThrough",P="signal",_="useWebWorkers",W="useCompressionStream",L="transferStreams",B="preventClose",V="offset",Z="usdz",H="signCentralDirectory",q="filename",K="comment",Y="strict",G="balanced",X="tolerant",J="Invalid option (must be a function)",Q="Invalid signal (must be an AbortSignal instance)",$="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function tt(t){if(t&&typeof t!=T)throw Error(J);return t}function et(t){if(t&&(typeof t.addEventListener!=T||"boolean"!=typeof t.aborted))throw Error(Q);return t||O}function rt(t,e){if(t&&typeof t!=I||e&&!(e instanceof Uint8Array))throw Error($)}function nt(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw Error(r)}function at(t,e,r){t!==O&&nt(t,e,r)}function st(t){return typeof t==I&&t.trim()?Number(t):t}const ot="Invalid maxWorkers (must be an integer greater than 0)";let it=2;try{typeof navigator!=k&&navigator.hardwareConcurrency&&(it=navigator.hardwareConcurrency)}catch{}const ct={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:it,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=k&&CompressionStream,DecompressionStream:typeof DecompressionStream!=k&&DecompressionStream},lt="maxWorkers",ut=["chunkSize",lt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],dt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],ft=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...ut,...dt],wt={...ct};function ht(){return wt}function pt(t){return mt(t.chunkSize)}function mt(t){return t=st(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function yt(t){Object.assign(wt,bt(St(t)))}function bt(t){const e={};for(const r of ft){const n=t[r];n!==O&&(e[r]=Et(r,n))}return e}function Et(t,e){if(ut.includes(t)){if(e=st(e),t==lt&&(!Number.isInteger(e)||e<1))throw Error(ot)}else dt.includes(t)&&tt(e);return e}function St(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===O&&r===O)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===O&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===O&&(n.DecompressionStreamFallback=r),n}function gt(t){const e=bt(St(t));Object.assign(ct,e),Object.assign(wt,e)}function xt(){for(const t of ft)delete wt[t];Object.assign(wt,ct)}function At(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function zt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function Rt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const Ft=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;Ft[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=Ft[e-1][t];Ft[e][t]=r>>>8^Ft[0][255&r]}const[Dt,Ot,Ut,kt,Tt,vt,It,Ct]=Ft;class Mt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;n<=s;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=Ct[255&t]^It[t>>>8&255]^vt[t>>>16&255]^Tt[t>>>24&255]^kt[255&r]^Ut[r>>>8&255]^Ot[r>>>16&255]^Dt[r>>>24&255]}}for(;n<r;n++)e=e>>>8^Dt[255&(e^t[n])];this.o=e}get(){return~this.o}}class jt extends TransformStream{constructor(){let t;const e=new Mt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function Nt(t){if(typeof TextEncoder==k){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const Pt={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=Pt.l(r);return 32===n?t.concat(e):Pt.h(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+Pt.l(r)},m(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=Pt.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,h(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=Pt.l(a);return n.push(Pt.S(e+s&31,e+s>32?r:n.pop(),1)),n}},_t={bytes:{A(t){const e=Pt.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;a<e;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(Pt.S(8*(3&r),n)),e}}},Wt=class{constructor(t){const e=this;e.blockSize=512,e.F=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.O=t.O.slice(0),e.U=t.U.slice(0),e.T=t.T):e.reset()}reset(){const t=this;return t.O=t.F.slice(0),t.U=[],t.T=0,t}update(t){const e=this;"string"==typeof t&&(t=_t.v.R(t));const r=e.U=Pt.concat(e.U,t),n=e.T,a=e.T=n+Pt.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);t<=a;t+=e.blockSize)e.I(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}C(){const t=this;let e=t.U;const r=t.O;e=Pt.concat(e,[Pt.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.T/4294967296)),e.push(0|t.T);e.length;)t.I(e.splice(0,16));return t.reset(),r}M(t,e,r,n){return t<=19?e&r|~e&n:t<=39?e^r^n:t<=59?e&r|e&n|r&n:t<=79?e^r^n:void 0}j(t,e){return e<<t|e>>>32-t}I(t){const e=this,r=e.O,n=Array(80);for(let e=0;e<16;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;t<=79;t++){t>=16&&(n[t]=e.j(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.j(5,a)+e.M(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.j(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},Lt={importKey:t=>new Lt.N(_t.bytes.R(t)),P(t,e,r,n){if(r=r||1e4,n<0||r<0)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const u=new ArrayBuffer(a),d=new DataView(u);let f=0;const w=Pt;for(e=_t.bytes.R(e),l=1;f<(a||1);l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;i<r;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;f<(a||1)&&i<s.length;i++)d.setInt32(f,s[i]),f+=4}return u.slice(0,n/8)},N:class{constructor(t){const e=this,r=e._=Wt,n=[[],[]];e.W=[new r,new r];const a=e.W[0].blockSize/32;t.length>a&&(t=(new r).update(t).C());for(let e=0;e<a;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.W[0].update(n[0]),e.W[1].update(n[1]),e.L=new r(e.W[0])}reset(){const t=this;t.L=new t._(t.W[0]),t.B=!1}update(t){this.B=!0,this.L.update(t)}digest(){const t=this,e=t.L.C(),r=new t._(t.W[1]).update(e).C();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Bt=typeof crypto!=k&&typeof crypto.getRandomValues==T,Vt="Invalid password",Zt="Invalid signature",Ht=Zt,qt="zipjs-abort-check-password",Kt="Crypto API not supported";function Yt(t){if(Bt)return crypto.getRandomValues(t);throw Error(Kt)}const Gt=16,Xt={name:"PBKDF2"},Jt=Object.assign({hash:{name:"HMAC"}},Xt),Qt=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Xt),$t=["deriveBits"],te=[8,12,16],ee=[16,24,32],re=10,ne=[0,0,0,0],ae=typeof crypto!=k,se=ae&&crypto.subtle,oe=ae&&typeof se!=k,ie=_t.bytes,ce=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;s<4*a+28;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=s<=4||t<4?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],s=[];let o,i,c,l;for(let t=0;t<256;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let u=o=0;!r[u];u^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[u]=s,n[s]=u,l=a[c=a[i=a[u]]];let d=16843009*l^65537*c^257*i^16843008*u,f=257*a[s]^16843008*s;for(let r=0;r<4;r++)t[r][u]=f=f<<24^f>>>8,e[r][s]=d=d<<24^d>>>8}for(let r=0;r<5;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],u=s[4];let d,f,w,h=t[0]^r[0],p=t[e?3:1]^r[1],m=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;t<n;t++)d=o[h>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&y]^r[b],f=o[p>>>24]^i[m>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=o[m>>>24]^i[y>>16&255]^c[h>>8&255]^l[255&p]^r[b+2],y=o[y>>>24]^i[h>>16&255]^c[p>>8&255]^l[255&m]^r[b+3],b+=4,h=d,p=f,m=w;for(let t=0;t<4;t++)a[e?3&-t:t]=u[h>>>24]<<24^u[p>>16&255]<<16^u[m>>8&255]<<8^u[255&y]^r[b++],d=h,h=p,p=m,m=y,y=d;return a}},le=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const a=Pt.bitLength(e);for(let a=0;a<n;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return Pt.m(e,a)}},ue=Lt.N;let de=ae&&oe&&typeof se.importKey==T,fe=ae&&oe&&typeof se.deriveBits==T;class we extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){pe(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await ye(t,e,r,Ee(n,0,te[e])),s=Ee(n,te[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(Vt)})(r,s,a,Ee(t,0,te[s]+2)),t=Ee(t,te[s]+2),n?e.error(Error(qt)):o()):await i;const c=new Uint8Array(t.length-re-(t.length-re)%Gt);e.enqueue(me(r,t,c,0,re,!0))},async flush(t){const{nt:e,st:r,ot:n,ready:s}=this;if(r&&e){await s;const o=Ee(n,0,n.length-re),i=Ee(n,n.length-re);let c=C;if(o.length){const t=ge(ie,o);r.update(t);const n=e.update(t);c=Se(ie,n)}const l=Ee(Se(ie,r.digest()),0,re);let u=n.length<re?1:0;for(let t=0;t<re;t++)u|=l[t]^i[t];if(u&&a)throw Error(Ht);t.enqueue(c)}}})}}class he extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){pe(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=C;n?(i=await(async(t,e,r)=>{const n=Yt(new Uint8Array(te[e]));return At(n,await ye(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%Gt);c.set(i,0),e.enqueue(me(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,ot:n,ready:a}=this;if(r&&e){await a;let s=C;if(n.length){const t=e.update(ge(ie,n));r.update(t),s=Se(ie,t)}const o=Se(ie,r.digest()).slice(0,re);t.enqueue(At(s,o))}}})}}function pe(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:be(e,r),strength:n-1,ot:C})}function me(t,e,r,n,a,s){const{nt:o,st:i,ot:c}=t;c.length&&(e=At(c,e));const l=e.length-a;let u;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%Gt)),u=0;u<=l-Gt;u+=Gt){const t=ge(ie,Ee(e,u,u+Gt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(Se(ie,a),u+n)}return t.ot=Ee(e,u),r}async function ye(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!de)return Lt.importKey(e);try{return await se.importKey("raw",e,r,!1,a)}catch{return de=!1,Lt.importKey(e)}})(0,r,Jt,0,$t),s=await(async(t,e,r)=>{if(!fe)return Lt.P(e,t.salt,Qt.iterations,r);try{return await se.deriveBits(t,e,r)}catch{return fe=!1,Lt.P(e,t.salt,Qt.iterations,r)}})(Object.assign({salt:n},Qt),a,8*(2*ee[e]+2)),o=new Uint8Array(s),i=ge(ie,Ee(o,0,ee[e])),c=ge(ie,Ee(o,ee[e],2*ee[e])),l=Ee(o,2*ee[e]);return Object.assign(t,{keys:{key:i,it:c,passwordVerification:l},nt:new le(new ce(i),Array.from(ne)),st:new ue(c)}),l}function be(t,e){return e===O?Nt(t):e}function Ee(t,e,r){return t.subarray(e,r)}function Se(t,e){return t.A(e)}function ge(t,e){return t.R(e)}class xe extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){ze(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Re(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(Vt);t=t.subarray(12)}n?e.error(Error(qt)):e.enqueue(Re(r,t))}})}}class Ae extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){ze(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=Yt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Fe(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(Fe(r,t),a),e.enqueue(n)}})}}function ze(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new Mt(n[0]),lt:new Mt(n[2])}),r)for(let e=0;e<r.length;e++)De(t,r[e]);else for(let r=0;r<e.length;r++)De(t,e.charCodeAt(r))})(t,e,r)}function Re(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Oe(t)^e[n],De(t,r[n]);return r}function Fe(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Oe(t)^e[n],De(t,e[n]);return r}function De(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=ke(Math.imul(ke(r+Ue(n)),134775813)+1),t.lt.append([r>>>24]);const a=~t.lt.get();t.keys=[n,r,a]}function Oe(t){const e=2|t.keys[2];return Ue(Math.imul(e,1^e)>>>8)}function Ue(t){return 255&t}function ke(t){return 4294967295&t}function Te(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function ve(t,e){t=Te(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=T||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function Ie(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Ce="Invalid codec definition",Me="Reserved compression method",je="Invalid codec module",Ne=[0,8,9,99],Pe=new Map,_e=new Map;function We(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=I||!n.length)throw Error(Ce);if(Ne.includes(r))throw Error(Me);const c=typeof s==T||typeof o==T;if(!(c||typeof a==I&&a.length))throw Error(Ce);Pe.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&Ze(n,{CompressionStream:s,DecompressionStream:o})}function Le(t){const e=Pe.get(t);if(e){let r;Pe.delete(t),Pe.forEach(t=>r=r||t.format==e.format),r||_e.delete(e.format)}}function Be(t){return Pe.get(t)}function Ve(t){return _e.get(t)}function Ze(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=T&&typeof n!=T)throw Error(je);_e.set(t,{CompressionStream:r,DecompressionStream:n})}const He="Invalid uncompressed size",qe="Invalid compressed data",Ke=Zt,Ye="deflate-raw",Ge="gzip",Xe=[31,139,8];class Je extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:u,format:d,compressionMethod:f}=t,w=this;let h,p,m,y=super.readable;const b=d&&Ve(d),E=c&&a&&!u&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||E||(h=new jt,y=or(y,h)),a)if(b)y=ir(y,ar(b.CompressionStream,d,{level:l,chunkSize:e,compressionMethod:f}));else if(E)m=new Qe,y=ir(y,new n(Ge)),y=or(y,m);else try{y=sr(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(Ge)}catch{throw t}y=ir(y,e),y=or(y,new Qe)}s&&(i?y=or(y,new Ae(t)):(p=new he(t),y=or(y,p))),nr(w,y,()=>{s&&!i||!c||(w.crc32=E?m.crc32:new DataView(h.value.buffer).getUint32(0))})}}class Qe extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const a=r.length+t.length;if(a<=8)return void(r=At(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(At(r.subarray(0,o),t.subarray(0,s-o))),r=At(r.subarray(o),t.subarray(s-o))},flush(){const e=Rt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class $e extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:u,format:d,compressionMethod:f,rawBitFlag:w,outputSize:h}=t;let p,m,y=super.readable;if(s&&(a?y=or(y,new xe(t)):(m=new we(t),y=or(y,m))),c){const t=d&&Ve(d);if(t)y=ir(y,ar(t.DecompressionStream,d,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:h}));else try{y=sr(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||h===O)throw t;let e;try{e=new n(Ge)}catch{throw t}y=((t,e,r)=>{const n=new Mt;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(Xe),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=Rt(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),d=new TransformStream({transform(t,e){n.append(t),i+=t.length,i>=r?s():c&&f(),e.enqueue(t)},cancel(t){o(t)}});return t=or(t,u),or(t=ir(t,e),d);function f(){w(),a=setTimeout(()=>o(Error(He)),5e3)}function w(){clearTimeout(a)}})(y,e,h)}y=(t=>{const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=Error(qe);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(p=new jt,y=or(y,p)),nr(this,y,()=>{if(o){const t=new DataView(p.value.buffer);if(i!=t.getUint32(0,!1))throw Error(Ke)}})}}const tr=new Map;function er(t,e){if(!t)return!1;let r=tr.get(t);r||(r=new Map,tr.set(t,r));let n=r.get(e);if(n===O){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function rr(t){return er(t,Ye)}function nr(t,e,r){e=or(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function ar(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function sr(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":Ye;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return ir(t,i)}function or(t,e){return Te(t).pipeThrough(e)}function ir(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const cr="data",lr="deflate",ur="inflate";class dr extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(lr)?a=Je:n.startsWith(ur)&&(a=$e),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==O&&r.outputSize>t.outputSize))throw Error(He)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class fr extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;a<t;){const r=e[0],s=t-a;r.length<=s?(n.set(r,a),a+=r.length,e.shift()):(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((t,e)=>{const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r})(e,r))}})}}const wr="Worker startup timeout";let hr,pr,mr,yr=()=>{};async function br(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.ut)return!0;if(rr(e)||er(e,Ge))return!0;if(r)try{return await yr(t),!0}catch{return!1}return!1}function Er(t){t.createWorker?pr=!0:hr=!1}class Sr{constructor(t,{readable:e,writable:r},{options:n,config:a,ft:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},u){const{signal:d}=s;return pr&&(l=O),Object.assign(t,{wt:!0,ht:(t.ht||0)+1,readable:e.pipeThrough(new fr(pt(a))).pipeThrough(new gr(s),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{yt:r,wt:n}=t;r?(n?t.bt=e:(r.terminate(),e()),t.Et=null):e()}),St(){if(t.wt){const{bt:e}=t;e&&(t.bt=null,t.gt=!0,t.yt.terminate(),e()),t.wt=!1,u(t)}}}),hr===O&&(hr=typeof Worker!=k),(o&&mr&&(hr&&c||l)?mr:Ar)(t,a)}}class gr extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await xr(t,r)},async transform(t,n){a+=t.length,e&&await xr(e,a,r),n.enqueue(t)},async flush(){n&&await xr(n,a)}})}}async function xr(t,...e){try{await t(...e)}catch{}}function Ar(t,e){return{run:()=>zr(t,e)}}async function zr({options:t,readable:e,writable:r,St:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(lr),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.ut&&!rr(n))try{await yr(a)}catch{}}else try{await yr(a)}catch{r&&!r.ut||(t.useCompressionStream=!0)}}s=new dr(t,a),await e.pipeThrough(s).pipeThrough(new fr(pt(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}const Rr={type:"module"},Fr="error";let Dr,Or,Ur,kr=!0;try{kr=typeof structuredClone==T&&structuredClone(new DOMException("","AbortError")).code!==O}catch{}var Tr;function vr(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function Ir(t){const{yt:e}=t;if(e)try{e.terminate()}catch{}t.Et=null}function Cr(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(Or===O||Dr!==t){const s=typeof t==T;i=s?t(a):t;const l=i.startsWith("data:"),u=i.startsWith("blob:");if(l||u){n===O&&(n=!1),n&&(c=Rr);try{o=new Worker(i,c)}catch(a){if(u)try{URL.revokeObjectURL(i)}catch{}if(s&&u)return Cr(t,e,r,n,!1);if(n)throw a;return Cr(t,e,r,!0,!1)}}else{n===O&&(n=!0),n&&(c=Rr);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)return Cr(t,e,r,!1,a);throw s}}Dr=t,Or=i,Ur=c}else o=new Worker(Or,Ur);return o.addEventListener("message",t=>{r.xt=!0,Mr(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,At:l,zt:u,St:d,ht:f}=e,w=()=>e.ht!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s,codecImportFailed:i}=o,c=Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:a}),s&&(c.cause=Object.assign(Error(s.message),{name:s.name})),i&&(c.codecImportFailed=!0),h(c)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Nr({type:cr,value:t,done:r,messageId:a},e)}r==cr&&(await c.ready,await c.write(new Uint8Array(n)),w()||Nr({type:"ack",messageId:a},e)),"close"==r&&h(null,s)}}catch(o){w()||(Ir(e),h(o))}function h(t,e){w()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||d())}})(t,r)}),o.addEventListener(Fr,t=>jr(t,r)),o.addEventListener("messageerror",t=>jr(t,r)),o}function Mr(t){const{Rt:e}=t;e&&(clearTimeout(e),t.Rt=null)}function jr(t,e){t.preventDefault&&t.preventDefault(),Mr(e);const{xt:r,zt:n,writer:a,St:s}=e;Ir(e),r||(e.yt=null);let o=t.error||Error(t.message||Fr);r||(o=Object.assign(Error(o.message||Fr),{Ft:!0}),e.Dt=o),n&&(n(o),a&&a.releaseLock(),r&&s())}function Nr(t,{yt:e,writer:r,transferStreams:n,xt:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=zt(r),i.push(t.value.buffer)),n&&kr&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{kr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}Tr=(t,e)=>{const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.Et){let o;typeof s==T&&(s=s());try{o=Cr(t.workerURI,r,t)}catch{return Er(t),Ar(t,e)}Object.assign(t,{yt:o,xt:!1,gt:!1,Dt:null,Et:{run:async()=>{try{return await(async(t,e)=>{if(!t.yt){const{Dt:e}=t;t.Dt=null;const r=e||Error(wr);throw r.Ft=!0,r}let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,At:r,zt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,Ot:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,Ot:()=>e.abort()}})(t.writable);let u;try{u=Nr({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.St(),e}u||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:d}=e;!t.xt&&Number.isFinite(d)&&d>=0&&(t.Rt=setTimeout(()=>(t=>{if(t.Rt=null,t.xt)return;const{zt:e,writer:r}=t;if(Ir(t),t.yt=null,e){const t=Error(wr);t.Ft=!0,e(t),r&&r.releaseLock()}})(t),d));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!u&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Ft)return Er(t),vr(t),zr(t,e);if(r&&r.codecImportFailed){if(t.reader)return vr(t),zr(t,e);t.St()}throw r}}}})}return t.Et},mr=Tr;let Pr=[];const _r=[];let Wr,Lr,Br=0;async function Vr(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:u,format:d,codecURI:f}=r,{workerURI:w,createWorker:h,maxWorkers:p}=n;d&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!_e.has(t)&&e&&Ze(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(d,r.codecURI)),e.transferStreams=!d&&(a||a===O&&n.transferStreams);const m=!(i||c||l||u),y=d===O||!!r.codecURI;return e.useWebWorkers=!m&&y&&(s||s===O&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:O,e.createWorker=e.useWebWorkers&&h?h:O,r.useCompressionStream=o||o===O&&n.useCompressionStream,(await(async()=>{const r=Pr.find(t=>!t.wt);if(r)return Yr(r),new Sr(r,t,e,b);if(Pr.length<p){const r={Ut:Br};return Br++,Pr.push(r),new Sr(r,t,e,b)}return new Promise(r=>{_r.push({resolve:r,stream:t,kt:e}),Lr=n.workerStarvationTimeout,Zr()})})()).run();function b(t){if(Hr(),_r.length){const[{resolve:e,stream:r,kt:n}]=_r.splice(0,1);e(new Sr(t,r,n,b)),Zr()}else t.yt?(Yr(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.gt?t.gt=!1:t.Tt=setTimeout(async()=>{Pr=Pr.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Pr=Pr.filter(e=>e!=t)}}function Zr(){!Wr&&_r.length&&Number.isFinite(Lr)&&Lr>=0&&(Wr=setTimeout(qr,Lr))}function Hr(){Wr&&(clearTimeout(Wr),Wr=null)}function qr(){if(Wr=null,_r.length){const[{resolve:t,stream:e,kt:r}]=_r.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:O,createWorker:O});t(new Sr({},e,n,Kr)),Zr()}}function Kr(){Hr(),Zr()}function Yr(t){const{Tt:e}=t;e&&(clearTimeout(e),t.Tt=null)}const Gr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Xr(t,e){return Jr(t,e,!0)}function Jr(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=Gr[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const Qr="HTTP error ",$r="HTTP Range not supported",tn="HTTP resource changed",en="Writer iterator completed too soon",rn="Writer not initialized",nn="Content-Range",an="Range",sn="GET",on="bytes",cn=16777216,ln="writable",un=Symbol();class dn{constructor(){this.size=0}init(){this.initialized=!0}}class fn extends dn{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=pt(ht())}={}){const n=this;let a=0;return r=mt(r),new ReadableStream({async pull(s){const o=e===O?r:Math.min(r,e-a),i=await Jn(n,t+a,o);i.length&&s.enqueue(i),a+r>=e||!i.length&&o?s.close():a+=r}})}}class wn extends dn{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(rn);return t.writeUint8Array(zt(e))}});Object.defineProperty(t,ln,{get:()=>e})}writeUint8Array(){}}class hn extends fn{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{vt:t,It:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{It:r,vt:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;t<i+e&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class pn extends wn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Ct:""})}writeUint8Array(t){const e=this;let r,n=e.Ct;const a=e.Ct.length;for(e.Ct="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.Ct+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.Ct=n+e.Ct}getData(){return this.data+btoa(this.Ct)}}let mn,yn;class bn extends fn{constructor(t){super(),Object.assign(this,{Mt:t,size:t.size}),yn||(yn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();mn=1==e}catch{mn=!1}})())}createReadable(t){const{Mt:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return!n&&a>=r?Te(e.stream()):mn?Te(e.slice(n,n+a).stream()):super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,a=!t&&n>=r.size?r.Mt:r.Mt.slice(t,n);let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class En extends dn{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,ln,{get:()=>r.writable}),e.contentType=t,e.jt=ve(r.readable,t),e.jt.catch(()=>{})}getData(){return this.jt}}class Sn extends bn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}function gn(t){let e=0;for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);n<128?e+=1:n<2048?e+=2:n<55296||n>=57344?e+=3:n<56320&&56320==(64512&t.charCodeAt(r+1))?(e+=4,r++):e+=3}return e}class xn extends En{constructor(t){super(),Object.assign(this,{encoding:t,Nt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Nt:e}=this,r=await super.getData();return r.text&&e?r.text():((t,e)=>Jr(t,e,!1))(new Uint8Array(await r.arrayBuffer()),t)}}class An extends fn{constructor(t,e){super(),Rn(this,t,e)}async init(){await Fn(this,Pn,Cn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==O){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&r<a)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error($r);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=O,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await Pn(sn,t,vn(t,a,e));if(206!=r.status)throw Error($r);const i=r.headers.get(nn);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error($r)}Tn(t,r),kn(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return Dn(this,t,e,Pn,Cn)}}class zn extends fn{constructor(t,e){super(),Rn(this,t,e)}async init(){await Fn(this,_n,Mn),super.init()}readUint8Array(t,e){return Dn(this,t,e,_n,Mn)}}function Rn(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=cn,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function Fn(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=ht(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(typeof a==k||a)){const n=await e(sn,t,vn(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==on))throw Error($r);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Pt=e)}kn(t,n);const a=On(n);a===O?await Nn(t,e,r):t.size=a}}else await Nn(t,e,r)}async function Dn(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,Pt:i,size:c,options:l}=t;if(s||o){if(i&&e==c-d&&r==d)return i;if(e>=c||0===r)return C;{e+r>c&&(r=c-e);const a=await n(sn,t,vn(t,e,r));if(206!=a.status)throw Error($r);const s=a.headers.get(nn);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error($r)}Tn(t,a),kn(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error($r);return o}}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function On(t){const e=t.headers.get(nn);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Un({headers:t}){return{_t:t.get("Etag")||O,lastModified:t.get("Last-Modified")||O}}function kn(t,e){const{checkResourceChanges:r,Wt:n}=t;r&&!n&&206==e.status&&(t.Wt=Un(e))}function Tn(t,e){const{checkResourceChanges:r,Wt:n,size:a}=t;if(r){const t=On(e);if(t!==O&&a!==O&&t!=a)throw Error(tn);if(n){const t=Un(e);if(Object.entries(n).some(([e,r])=>r!==O&&t[e]!==O&&r!=t[e]))throw Error(tn)}}}function vn(t,e=0,r=1){return Object.assign({},In(t),{[an]:on+"="+(e<0?e:e+"-"+(e+r-1))})}function In({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Cn(t){await jn(t,Pn)}async function Mn(t){await jn(t,_n)}async function jn(t,e){const r=await e(sn,t,In(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Nn(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,In(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Pn(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(s.status<400)return s;throw 416==s.status?Error($r):Error(Qr+(s.statusText||s.status))}function _n(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error($r):Error(Qr+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class Wn extends fn{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new zn(t,e):new An(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Ln extends Wn{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Bn extends fn{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Lt:t,size:t.length})}readUint8Array(t,e){return this.Lt.slice(t,t+e)}}class Vn extends wn{constructor(t){super(),this.Bt=t||262144}init(t=0){Object.assign(this,{offset:0,Lt:new Uint8Array(t>0?t:this.Bt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Lt.length){let t=e.Lt.length?2*e.Lt.length:e.Bt;for(;t<r;)t*=2;const n=e.Lt;e.Lt=new Uint8Array(t),e.Lt.set(n)}e.Lt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Lt.length?this.Lt:this.Lt.slice(0,this.offset)}}class Zn extends fn{constructor(t){super(),this.Vt=t}async init(){const t=this;t.Zt=0;const e=t.Vt=await Promise.all(t.Vt.map(Xn));t.Ht=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}qt(t){const{Ht:e,size:r}=this,n=e[t];return n===O?r:n}async readUint8Array(t,e){const r=this,{Vt:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e<=n)a=await Jn(i,o,e);else{const s=n-o;a=At(await Jn(i,o,s),await r.readUint8Array(t+s,e-s))}}else a=C;return r.Zt=Math.max(s,r.Zt),a}}class Hn extends dn{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===un)return void(s&&await c());const{availableSize:o}=r;if(s)e.length>=o?(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o))):await i(e);else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error(en);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Gn(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,ln,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(un)}finally{t.releaseLock()}}}class qn{constructor(t){return Array.isArray(t)&&(t=new Zn(t)),(t instanceof ReadableStream||typeof t.getReader==T)&&(t={readable:Te(t)}),t}}class Kn{constructor(t){return t.writable===O&&typeof t.next==T&&(t=new Hn(t)),(t instanceof WritableStream||typeof t.getWriter==T)&&(t={writable:Ie(t)}),t.size===O&&(t.size=0),t}}function Yn(t){return!(!t||!t.getData)}async function Gn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function Xn(t){return t=new qn(t),await Gn(t),t.size!==O&&t.readUint8Array||(t=new bn(await ve(t.readable)),await Gn(t)),t}function Jn(t,e,r){return t.readUint8Array(e,r)}function Qn(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?fn.prototype.createReadable.call(t,e):t.readable}const $n="filename",ta="rawFilename",ea="comment",ra="rawComment",na="uncompressedSize",aa="compressedSize",sa="offset",oa="diskNumberStart",ia="lastModDate",ca="rawLastModDate",la="lastAccessDate",ua="rawLastAccessDate",da="creationDate",fa="rawCreationDate",wa="internalFileAttributes",ha="externalFileAttributes",pa="internalFileAttribute",ma="externalFileAttribute",ya="msdosAttributesRaw",ba="msdosAttributes",Ea="msDosCompatible",Sa="zip64",ga="encrypted",xa="version",Aa="versionMadeBy",za="zipCrypto",Ra="directory",Fa="executable",Da="compressionMethod",Oa="signature",Ua="extraField",ka="unixMode",Ta="setuid",va="setgid",Ia="sticky",Ca=[$n,ta,na,aa,ia,ca,ea,ra,la,ua,da,fa,sa,oa,wa,ha,pa,ma,ya,ba,Ea,Sa,ga,xa,Aa,za,Ra,Fa,"symlink",Da,Oa,"crc32",Ua,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ka,"unixExternalUpper",Ta,va,Ia,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Ma{constructor(t){Ca.forEach(e=>this[e]=t[e])}}const ja="File format is not recognized",Na="End of central directory not found",Pa="End of Zip64 central directory locator not found",_a="Central directory header not found",Wa="Local file header not found",La="Zip64 extra field not found",Ba="File contains encrypted entry",Va="Encryption method not supported",Za="Compression method not supported",Ha="Split zip file",qa="Overlapping entry found",Ka="Entry data out of bounds",Ya="Ambiguous archive",Ga="Encrypted central directory is not supported",Xa="Unsafe filename",Ja="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Qa="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",$a="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",ts=/^[a-zA-Z]:/,es="utf-8",rs="cp437",ns=[[na,t],[aa,t],[sa,t],[oa,e]],as={[e]:{Kt:Cs,bytes:4},[t]:{Kt:Ms,bytes:8}};class ss{constructor(t,e={}){Object.assign(this,{reader:new qn(t),options:e,Yt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:o}=s;if(await Gn(o),o.size!==O&&o.readUint8Array||(o=new bn(await ve(o.readable)),await Gn(o)),o.size<d)throw Error(ja);const c=Ss(n,s.options),h=c==Y,p=c!=X,m=((t,r)=>{if(t!==O){const e=st(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw Error($a);return e}return r==Y?0:r==X?1/0:e})(Os(s,n,"maxAppendedDataSize"),c),y=((t,e)=>{if(t===O)return e;if(!Es(t))throw Error(Qa);return t})(Os(s,n,"filenameValidation"),c),b=Os(s,n,"normalizeFilename"),{Gt:E,Xt:R}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:64};let o,i,c=0;for await(const[r,l,u,f,w]of As(t,a)){const a=Is(r,f+20);if(w+d+a==n){const a=await Rs(t,r,l,f,w,n,s);if(2==a){if(o||(o=zs(u,f,w)),c++,!e||c>1)break}else 1!=a||i||(i=zs(u,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,u]of As(t,a)){const a=zs(c,l,u);s||(s=a);const d=await Rs(t,e,i,l,u,n,r);if(2==d)return a;1!=d||o||(o=a)}return o||s})(t,r,s)),{Gt:o,Xt:c}})(o,p,m);if(!E)throw await(async t=>await bs(t)==a)(o)?Error(Ha):Error(Na);p&&R>1&&Ds("multiple end of central directory records");const F=Rt(E);let D=Cs(F,12),U=Cs(F,16);const k=E.offset,T=Is(F,20),v=k+d+T;o.size-v>m&&Ds("appended data");let I=Is(F,4);const M=o.Zt||0;let j,N,P,_,W=Is(F,6),L=Is(F,10),B=0,V=w;const Z=U==t||D==t||L==e||W==e;if(U!=t&&W!=e&&(U+=ys(o,W)),Z){const r=E.offset>=f?await Jn(o,E.offset-f,f):C,n=Rt(r);if(r.length==f&&Cs(n,0)==u){U=ys(o,Cs(n,4))+Ms(n,8);let r=await Jn(o,U,w),a=Rt(r);const s=E.offset-f-w;if((r.length<w||Cs(a,0)!=l)&&U!=s&&s>=0){const t=U;U=s,U>t&&(B=U-t),r=await Jn(o,U,w),a=Rt(r)}if(r.length<w||Cs(a,0)!=l)throw Error(Pa);if(N=!0,P=Ms(a,4)>44,P){const t=Math.min(Number(Ms(a,4))-44,o.size-U-w);t>0&&(V+=t,_=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=Rt(t),n=Is(r,26);Object.assign(e,{compressionMethod:Is(r,0),compressedSize:Number(Ms(r,2)),uncompressedSize:Number(Ms(r,10)),encryptionAlgorithm:Is(r,18),bitLength:Is(r,20),flags:Is(r,22),hashAlgorithm:Is(r,24),hashData:t.subarray(28,28+n)})}return e})(await Jn(o,U+w,t)))}I==e?I=Cs(a,16):h&&I!=Cs(a,16)&&Ds("mismatched zip64 end of central directory record"),W==e?W=Cs(a,20):h&&W!=Cs(a,20)&&Ds("mismatched zip64 end of central directory record"),L==e?L=Ms(a,32):h&&L!=Ms(a,32)&&Ds("mismatched zip64 end of central directory record"),D==t?D=Ms(a,40):h&&D!=Ms(a,40)&&Ds("mismatched zip64 end of central directory record"),U=ys(o,W)+Ms(a,48)+B}}let H=D;const G=E.offset-(N?V+f:0);if(U>=o.size&&(B=o.size-U-D-d,U=o.size-D-d),M!=I)throw Error(Ha);if(U<0)throw Error(ja);let J=0,Q=await Jn(o,U,D),$=Rt(Q);if(D){if(Q.length<4)throw Error(ja);const t=G-D;if(U!=t&&W==I){let e=!(Cs($,J)==i||_&&_.compressedSize||cs($));if(!e&&t>=0&&t+4<=o.size&&(e=Cs(Rt(await Jn(o,t,4)),0)==i),e){const e=U;U=t,U>e&&(B+=U-e),Q=await Jn(o,U,D),$=Rt(Q)}}}const tt=G-U;if(D!=tt&&tt>=0&&W==I&&(D=tt,Q=await Jn(o,U,D),$=Rt(Q)),U<0||U>=o.size)throw Error(ja);s.directoryOffset=U,s.directoryLength=H;const et=Us(s,n,"decryptCentralDirectory");let rt,nt;if(et&&L&&Q.length>=4&&Cs($,0)!=i&&(P||cs($))){const t=((t,e,r)=>{const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r})(_,H,Q.length);nt=Q.subarray(t),Q=await et(Q.subarray(0,t),_),$=Rt(Q),H=Q.length,rt=!0}j=U;const at=Os(s,n,"filenameEncoding"),ot=Os(s,n,"commentEncoding"),it=h?new Set:O;let ct;for(let t=0;t<L;t++){const a=new is(o,s.options);if(J+46>Q.length||Cs($,J)!=i){if(0==t&&!rt&&(P||cs($)))throw Error(Ga);throw Error(_a)}us(a,$,J+6);const c=!!a.bitFlag.languageEncodingFlag,l=J+46,u=l+a.filenameLength,d=u+a.extraFieldLength,f=Is($,J+4),w=!(f>>8),p=f>>8==3,m=Q.subarray(l,u),E=Is($,J+32),R=d+E,F=Q.subarray(d,R),D=c,U=c,k=Cs($,J+38),T=k&r,v={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},I=Cs($,J+42),C=Us(s,n,"decodeText")||Xr,M=D?es:at||rs,N=U?es:ot||rs;let _=C(m,M,q);if(_===O&&(_=Xr(m,M)),b){const t=b(_);t!==O&&(_=t)}if(xs(_,y)){const t=Error(Xa);throw t.filename=_,t}let W=C(F,N,K);W===O&&(W=Xr(F,N)),Object.assign(a,{index:t,Jt:rt,versionMadeBy:f,msDosCompatible:w,zip64:!1,compressedSize:0,uncompressedSize:0,Qt:E,offset:I,diskNumberStart:Is($,J+34),internalFileAttributes:Is($,J+36),externalFileAttributes:k,msdosAttributesRaw:T,msdosAttributes:v,rawFilename:m,filenameUTF8:D,commentUTF8:U,rawExtraField:Q.subarray(u,d),rawComment:F,filename:_,comment:W}),ds(a,a,$,J+6),a.offset+=B,j=Math.min(ys(o,a.diskNumberStart)+a.offset,j),h&&(it.has(a.filename)&&(ct=!0),it.add(a.filename));const V=a.externalFileAttributes>>16&e;a.unixMode===O&&16877&V&&(a.unixMode=V);const Z=!!(a.unixMode&x),H=!!(a.unixMode&A),Y=!!(512&a.unixMode),G=40960==((a.unixMode===O?V:a.unixMode)&S),X=!G&&(a.unixMode!==O?!!(73&a.unixMode):p&&!!(73&V)),tt=a.unixMode!==O&&(a.unixMode&S)==g,et=(V&S)==g;Object.assign(a,{setuid:Z,setgid:H,sticky:Y,symlink:G,unixExternalUpper:V,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:X,directory:tt||et||w&&v.directory||a.filename.endsWith(z)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const nt=new Ma(a);nt.getData=(t,e)=>a.getData(t,nt,s.Yt,e),nt.arrayBuffer=async t=>{const e=new TransformStream,r=ve(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await a.getData(e,nt,s.Yt,t),r},J=R;const{onprogress:st}=n;if(st)try{await st(t+1,L,new Ma(a))}catch{}yield nt}let lt=J,ut=ls(Q.subarray(J))||(rt?ls(nt):O);if(!ut&&!rt){const t=U+J,e=Math.min(G-t,65541);e>=6&&(ut=ls(await Jn(o,t,e)))}ut&&(s.digitalSignature=ut,lt=J+6+ut.length),h&&J!=H&&lt!=H&&Ds("trailing central directory data"),ct&&Ds("duplicate filename");const dt=Os(s,n,"extractPrependedData"),ft=Os(s,n,"extractAppendedData"),wt=(h||dt)&&L&&4==j&&await(async t=>{const e=await bs(t);return e==a||808471376==e})(o)?4:0;return h&&(B||L&&j>wt)&&Ds("prepended data"),dt&&(s.prependedData=j>wt?await Jn(o,wt,j-wt):C),s.comment=T?await Jn(o,k+d,T):C,ft&&(s.appendedData=v<o.size?await Jn(o,v,o.size-v):C),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class os{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new ss(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}let is=class{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,a,o={}){const i=this,c=ht(),{reader:l,index:u,offset:d,diskNumberStart:f,extraFieldAES:w,extraFieldZip64:h,compressionMethod:p,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:E,uncompressedSize:S,compressedSize:g}=i,{dataDescriptor:x}=m,A=e.localDirectory={},z=ys(l,f)+d,F=await Jn(l,z,R),D=Rt(F);let U=Os(i,o,M),k=Os(i,o,j);const T=Os(i,o,N);if(rt(U,k),U=U&&U.length&&U,k=k&&k.length&&k,w&&99!=w.originalCompressionMethod)throw Error(Za);if(F.length<R||Cs(D,0)!=n)throw Error(Wa);us(A,D,4);const{extraFieldLength:v,filenameLength:I}=A,V=Os(i,o,"checkLocalDirectory"),Z=Ss(o,i.options),H=((t,e)=>t===O?e!=X:!!t)(V,Z),q=((t,e)=>t===O?e==Y:!!t)(V,Z);let K=C;if(q&&(I||v)){const t=await Jn(l,z+R,I+v);K=t.subarray(0,I),A.rawExtraField=t.subarray(I)}else A.rawExtraField=v?await Jn(l,z+R+I,v):C;q&&(A.rawFilename=K),ds(i,A,D,4,!0),H&&((t,e,r,n)=>{const{rawFilename:a}=t,s=t.Jt&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||Ds("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Ds("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Ds("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Ds("mismatched local file header (crc32 or sizes)")})(i,A,K,q);const{lastAccessDate:G,creationDate:J,uid:Q,gid:$}=A;G&&(e.lastAccessDate=G),J&&(e.creationDate=J),Q!==O&&e.uid===O&&(e.uid=Q),$!==O&&e.gid===O&&(e.gid=$);const tt=i.encrypted&&A.encrypted&&!T,nt=tt&&!w;if(T||(e.zipCrypto=nt),tt&&!(64&~A.rawBitFlag))throw Error(Va);const at=T?O:Be(p);if(0!=p&&8!=p&&9!=p&&!at&&!T)throw Error(Za);if(tt){if(!nt&&(w.strength<1||w.strength>3))throw Error(Va);if(!U&&!k)throw Error(Ba)}const st=z+R+I+v;if(st+g>l.size)throw Error(Ka);const ot=g,it=Te(l.createReadable({offset:st,size:ot})),ct=et(Os(i,o,P)),lt=Os(i,o,"checkPasswordOnly");let ut=Os(i,o,"checkOverlappingEntry");const dt=Os(i,o,"checkOverlappingEntryOnly");dt&&(ut=!0);const{onstart:ft,onprogress:wt,onend:pt}=o,mt=0!=p&&!T,yt=T?g:S,bt=9==p;let Et=Os(i,o,W);bt&&(Et=!1);const St=Os(i,o,"checkCrc32"),gt=(St===O?Os(i,o,"checkSignature"):St)&&!T&&(!tt||nt||w&&1==w.vendorVersion),xt={options:{codecType:ur,password:U,rawPassword:k,zipCrypto:nt,encryptionStrength:w&&w.strength,checkCrc32:gt,checkAuthenticationCode:Os(i,o,"checkAuthenticationCode"),passwordVerification:nt&&(x?E>>>8&r:b>>>24&r),outputSize:yt,crc32:b,compressed:mt,encrypted:tt,useWebWorkers:Os(i,o,_),useCompressionStream:Et,transferStreams:Os(i,o,L),deflate64:bt,format:at?at.format:O,codecURI:at?at.codecURI:O,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:lt},config:c,ft:{signal:ct,size:ot,onstart:ft,onprogress:wt,onend:pt}};let At,zt;ut&&await(async({reader:t,$t:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,te:c,dataDescriptor:l,extraFieldZip64:u,Yt:d})=>{let f=0;if(l&&(f=u?20:12),f){const r=await Jn(t,c+o,f+4),n=Rt(r);let l=r.length==f+4&&Cs(n,0)==s;if(l){const t=ms(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==a)&&t.compressedSize==o&&t.uncompressedSize==i?f+=4:l=!1}if(r.length>=f){const t=ms(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+o+f,$t:e};for(const[t,e]of d)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(qa);throw t.overlappingEntry=e.$t,t}d.set(r,w)})({reader:l,$t:e,index:u,offset:z,crc32:b,compressedSize:g,uncompressedSize:S,te:st,dataDescriptor:x||A.bitFlag.dataDescriptor,extraFieldZip64:h||A.extraFieldZip64,Yt:a});try{if(!dt){lt&&(t=new WritableStream),t=new Kn(t),await Gn(t,((t,e,r)=>Math.min(t,r?1032*e:e))(yt,g,mt)),({writable:At}=t);const{outputSize:e}=await Vr({readable:it,writable:At},xt);if(t.size+=e,e!=yt)throw Error(He)}}catch(e){if(e.outputSize!==O&&(t.size+=e.outputSize),!lt||e.message!=qt)throw zt=e,e}finally{if((Yn(t)||!Os(i,o,B))&&At&&!At.locked){const t=At.getWriter();if(zt)try{await t.abort(zt)}catch{}else await t.close()}}return lt||dt?O:t.getData?t.getData():At}};function cs(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==Cs(t,r))return!0;return!1}function ls(t){if(t.length>=6){const e=Rt(t);if(Cs(e,0)==o){const r=Is(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function us(t,e,r){const n=t.rawBitFlag=Is(e,r+2),a=!(1&~n),s=Cs(e,r+6);Object.assign(t,{encrypted:a,version:Is(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&E)==E},rawLastModDate:s,lastModDate:ks(s),filenameLength:Is(e,r+22),extraFieldLength:Is(e,r+24)})}function ds(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=Rt(s);let c=0;try{for(;c<s.length;){const t=Is(i,c),e=Is(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=Is(r,n+4);Object.assign(e,{signature:Cs(r,n+10),crc32:Cs(r,n+10),compressedSize:Cs(r,n+14),uncompressedSize:Cs(r,n+18)});const u=o.get(1);u&&(((t,e)=>{e.zip64=!0;const r=Rt(t.data),n=ns.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+as[e].bytes,0);if(t.data.length<a)throw Error(La);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=as[i];e[o]=t[o]=c.Kt(r,s),s+=c.bytes}})(u,e),e.extraFieldZip64=u);const d=o.get(28789);d&&(fs(d,$n,ta,e,t),e.extraFieldUnicodePath=d);const f=o.get(25461);f&&(fs(f,ea,ra,e,t),e.extraFieldUnicodeComment=f);const w=o.get(h);w&&w.data.length>=7?(((t,e,r)=>{const n=Rt(t.data),a=vs(n,4);Object.assign(t,{vendorVersion:vs(n,0),vendorId:vs(n,2),strength:a,originalCompressionMethod:r,compressionMethod:Is(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=O)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const E=o.get(13);E&&(ws(E,e),e.extraFieldPkwareUnix=E);const S=o.get(22613);S&&(ws(S,e),e.extraFieldUnixType1=S);const g=o.get(10);g&&(((t,e)=>{const r=Rt(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=Is(r,a),s=Is(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=Rt(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:Ts(a),lastAccessDate:Ts(s),creationDate:Ts(o)};Object.assign(t,i),Object.assign(e,i,{rawLastAccessDate:s,rawCreationDate:o})}})(g,e),e.extraFieldNTFS=g);const x=o.get(b);let A;if(x&&(A=hs(x,e,!1),e.extraFieldUnix=x),!A){const t=o.get(y);t&&(hs(t,e,!0),e.extraFieldInfoZip=t)}const z=o.get(p);z&&(((t,e,r)=>{if(!t.data.length)return;const n=Rt(t.data),a=vs(n,0),s=[],o=[];r?(1&~a||(s.push(ia),o.push(ca)),2&~a||(s.push(la),o.push(ua)),4&~a||(s.push(da),o.push(fa))):t.data.length>=5&&(s.push(ia),o.push(ca));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=Cs(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(z,e,a),e.extraFieldExtendedTimestamp=z);const R=o.get(m);R&&(e.extraFieldUSDZ=R)}function fs(t,e,r,n,a){if(t.data.length<5)return void(t.valid=!1);const s=Rt(t.data),o=new Mt;o.append(a[r]);const i=Rt(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=Cs(s,1);Object.assign(t,{version:vs(s,0),[e]:Xr(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Cs(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function ws(t,e){if(t.data.length<8)return;const r=Rt(t.data),n={lastAccessDate:new Date(1e3*(0|Cs(r,0))),lastModDate:new Date(1e3*(0|Cs(r,4)))};t.data.length>=12&&(n.uid=Is(r,8),n.gid=Is(r,10)),Object.assign(t,n),Object.assign(e,n)}function hs(t,e,r){try{const n=Rt(t.data);let a,s;if(r){let e=0;const r=vs(n,e++),o=vs(n,e++);a=ps(t.data.subarray(e,e+o)),e+=o;const i=vs(n,e++);s=ps(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else t.data.length>=4&&(a=Is(n,0),s=Is(n,2),Object.assign(t,{uid:a,gid:s}));return a!==O&&(e.uid=a),s!==O&&(e.gid=s),a!==O||s!==O}catch{}}function ps(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ms(t,e,r){const n=Cs(t,e);let a,s;return r?(a=Ms(t,e+4),s=Ms(t,e+12)):(a=Cs(t,e+4),s=Cs(t,e+8)),{crc32:n,compressedSize:a,uncompressedSize:s}}function ys(t,e){return t.qt?t.qt(e):0}async function bs(t){return Cs(Rt(await Jn(t,0,4)))}function Es(t){return t===Y||t===G||t===X}function Ss(t,e){return gs(t,gs(e,G))}function gs(t,e){const r=t.strictness;if(r!==O){if(!Es(r))throw Error(Ja);return r}const n=t.checkAmbiguity;return n===O?e:n?Y:e==X?X:G}function xs(t,e){if(e==X)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||ts.test(t))||e==Y&&(r.includes(".")||r.includes(""))}async function*As(t,e){const r=t.size-e,n=await Jn(t,r,e),a=Rt(n);for(let t=n.length-d;t>=0;t--)Cs(a,t)==c&&(yield[a,r,n,t,r+t])}function zs(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function Rs(r,n,a,s,o,c,l){const d=Is(n,s+10),w=Cs(n,s+12),h=Cs(n,s+16);if(d==e||w==t||h==t)return await Fs(r,n,a,o-f,c,l)==u?2:0;if(!d&&!w)return 1;const p=Is(n,s+6);for(const t of[o-w,ys(r,p)+h])if(await Fs(r,n,a,t,c,l)==i)return 2;return 0}async function Fs(t,e,r,n,a,s){return n<0||n+4>a?O:n>=r?Cs(e,n-r):s.count>0?(s.count--,Cs(Rt(await Jn(t,n,4)),0)):O}function Ds(t){const e=Error(Ya);throw e.reason=t,e}function Os(t,e,r){return e[r]===O?t.options[r]:e[r]}function Us(t,e,r){return tt(Os(t,e,r))}function ks(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function Ts(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function vs(t,e){return t.getUint8(e)}function Is(t,e){return t.getUint16(e,!0)}function Cs(t,e){return t.getUint32(e,!0)}function Ms(t,e){return Number(t.getBigUint64(e,!0))}var js=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Ya,ERR_BAD_FORMAT:ja,ERR_CENTRAL_DIRECTORY_NOT_FOUND:_a,ERR_ENCRYPTED:Ba,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ga,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Ka,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Pa,ERR_EOCDR_NOT_FOUND:Na,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:La,ERR_INVALID_AUTHENTICATION_CODE:Ht,ERR_INVALID_COMPRESSED_DATA:qe,ERR_INVALID_CRC32:Ke,ERR_INVALID_FILENAME_VALIDATION:Qa,ERR_INVALID_MAX_APPENDED_DATA_SIZE:$a,ERR_INVALID_PASSWORD:Vt,ERR_INVALID_SIGNATURE:Zt,ERR_INVALID_STRICTNESS:Ja,ERR_INVALID_UNCOMPRESSED_SIZE:He,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Wa,ERR_OVERLAPPING_ENTRY:qa,ERR_SPLIT_ZIP_FILE:Ha,ERR_UNSAFE_FILENAME:Xa,ERR_UNSUPPORTED_COMPRESSION:Za,ERR_UNSUPPORTED_ENCRYPTION:Va,ERR_WORKER_STARTUP_TIMEOUT:wr,ZipReader:ss,ZipReaderStream:os});const Ns="File already exists",Ps="Zip file comment exceeds 64KB",_s="Invalid zip file comment (must be a Uint8Array)",Ws="File entry comment exceeds 64KB",Ls="Invalid file entry comment (must be a string)",Bs="Invalid date (must be a valid Date instance)",Vs="File entry name exceeds 64KB",Zs="Version exceeds 65535",Hs="The strength must equal 1, 2, or 3",qs="Encryption is not supported in USDZ files",Ks="Encryption is not supported when the 'passThrough' option is set",Ys="Invalid extra field (must be a Map)",Gs="Invalid extra field type (must be integer 0..65535)",Xs="Invalid extra field data (must be a Uint8Array)",Js="Extra field data exceeds 64KB",Qs=-2147483648,$s=2147483647,to=BigInt(0),eo=BigInt("0x7fffffffffffffff"),ro="Zip64 is not supported (set the 'zip64' option to 'true')",no="Undefined uncompressed size",ao="Undefined compression method",so="Undetermined size",oo="Undefined reader",io="Zip file not empty",co="Invalid uid (must be integer 0..2^32-1)",lo="Invalid gid (must be integer 0..2^32-1)",uo="Invalid UNIX mode (must be integer 0..65535)",fo="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",wo="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ho="Invalid msdosAttributesRaw (must be integer 0..255)",po="Invalid msdosAttributes (must be an object with boolean flags)",mo="Invalid level (must be integer 0..9)",yo="Signature data exceeds 64KB",bo=new Uint8Array([7,0,2,0,65,69,3,0,0]),Eo="infozip",So="unix";let go=0;const xo=[];class Ao{constructor(t,e={}){t=new Kn(t);const{availableSize:r=U,maxSize:n=U}=t;Object.assign(this,{writer:t,ee:r>0&&r!==U&&n>0&&n!==U,options:e,re:new Map,ne:new Set,offset:e[V]===O?t.size||t.writable.size||0:e[V],ae:e[V]===O?0:e[V]-(t.size||t.writable.size||0),se:new Set,oe:0,ie:O})}async prependZip(e){if(this.ne.size)throw Error(io);e=new qn(e),await Gn(e),e.size!==O&&e.readUint8Array||(e=new bn(await ve(e.readable)),await Gn(e));const{ZipReader:r}=await Promise.resolve().then(()=>js),n=new r(e),s=await n.getEntries();await n.close(),await Gn(this.writer);const{directoryOffset:o}=n;this.ee&&(delete this.ee,await(async t=>Rt(await Jn(t,0,4)).getUint32(0,!0)==a)(e)||(await Zo(this.writer,Vo()),this.offset+=4));const i=await(async(t,e,r,n)=>{const{writer:a}=t,s=new Map;if(a.closeDisk){const o=Array.from(r).sort((t,r)=>Bo(e,t)-Bo(e,r));let i=0;for(const r of o){const n=Bo(e,r);await Wo(t,e,i,n-i),Po(a,await Lo(e,n))&&await a.closeDisk(),s.set(r,{offset:_o(t,a),diskNumberStart:jo(a)}),i=n}await Wo(t,e,i,n-i)}else{const a=t.offset;await Wo(t,e,0,n),r.forEach(t=>s.set(t,{offset:a+Bo(e,t),diskNumberStart:0}))}return s})(this,e,s,o);this.ne=new Set(s.map(t=>t.filename)),this.re=new Map(s.map(e=>{const{version:r,rawLastModDate:n,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:c,encrypted:l,uncompressedSize:u,compressedSize:d,zip64:f}=e;let{compressionMethod:w,ce:h,le:p,ue:m,de:y,fe:b,rawExtraField:E}=e;const{level:S,languageEncodingFlag:g,dataDescriptor:x}=c;h=h||C,p=p||C,m=m||C,y=y||C,b=b||C,E=E||C,e.extraFieldAES&&(w=99);const A=ci(h,p,m,y,b,E),z=f&&u>=t,R=f&&d>=t,F=-7&ui(S,g,x,l,w)|S<<1,{we:D,he:U}=li({version:r,bitFlag:F,compressionMethod:w,uncompressedSize:u,compressedSize:d,rawLastModDate:n,rawFilename:o,pe:R,me:z,extraFieldLength:A}),{crc32:k}=e;k!==O&&si(U,10,k);const{offset:T,diskNumberStart:v}=i.get(e);return Object.assign(e,{me:z,pe:R,offset:T,diskNumberStart:v,ye:!1,ce:h,le:p,ue:m,de:y,fe:b,rawExtraField:E,extendedTimestamp:m.length>0||y.length>0,be:1+(a?2:0)+(s?4:0),we:D,he:U}),[e.filename,e]}))}async add(e="",n,a={}){const s=this;a=Object.assign({},a);const{se:o}=s;let i,c;go<ht().maxWorkers?go++:await new Promise(t=>xo.push(t));try{if(e=e.trim(),Go(s,a,Ra)&&!e.endsWith(z)&&(e+=z),s.ne.has(e))throw Error(Ns);return s.ne.add(e),c=!0,i=(async(e,n,a,s)=>{const o=Fo(e,n,s);({name:n}=o);const i=Do(e,n,s),{comment:c}=i,l=s[Ua];let u;e.re.set(n,O);try{const{Ee:c}=i;0==c.level||c.compressionMethod!==O||c.passThrough||await br(ht())||(c.level=0);const l=await(async(t,e,{Ee:r},n)=>{if(r.passThrough&&!e&&!Go(t,n,Ra))throw Error(oo);let a;return e&&(e=new qn(e),await Gn(e),({size:a}=e)),Object.assign({reader:e},Uo(t,!!e,a,r,n))})(e,a,i,s);({reader:a}=l);const d=No(e.writer),f=jo(e.writer),w=ko(s=Object.assign({},s,o.Ee,i.Ee,l.Ee,{signature:s[Oa],crc32:s.crc32===O?s[Oa]:s.crc32,offset:e.offset-d,diskNumberStart:f,[Z]:e.options[Z]})),h=Io(s),p=ci(w.Se,h.ge);u=await(async(e,n,a,s,o)=>{const{re:i,writer:c}=e,{keepOrder:l,dataDescriptor:u,signal:d}=o,{xe:f}=s,w=e.options[Z],h=e.ie;let p,m,y,b,E,S,g,x={},A=0;i.set(n,x),e.ie=x;try{let m;l&&(m=h&&h.Ae,x.Ae=new Promise(t=>y=t)),o.bufferedWrite||!l||e.ze||e.oe||!u?(p=!0,e.oe++,g=o.createTempStream?await o.createTempStream():new TransformStream(O,O,{highWaterMark:U}),g.size=0,await Gn(c)):(g=c,await z()),await Gn(g);const D=No(c);e.ee&&(delete e.ee,await Zo(c,Vo()),e.offset+=4),w&&!p&&To(s,e.offset-D);const{Se:k}=f;p||(await m,await F());const T=jo(c),v=_o(e,c);if(x.diskNumberStart=T,p||(E=!0,S=c.size,await Zo(g,k)),x=await(async(e,n,{diskNumberStart:a,Ae:s},o,i,c)=>{const{xe:l,Re:u,Fe:d}=o,{we:f,he:w,lastModDate:h,rawLastModDate:p,encrypted:m,compressed:y,version:b,compressionMethod:E,ce:S,De:g,ue:x,be:A,de:z,fe:R,le:F}=l,{ge:D}=u,{rawFilename:U,lastAccessDate:k,creationDate:T,password:v,rawPassword:I,level:C,zip64:M,me:j,pe:N,zipCrypto:P,dataDescriptor:_,directory:W,executable:L,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,symlink:st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt,useCompressionStream:ft,passThrough:wt,format:ht,codecURI:pt}=c,mt={Ae:s,versionMadeBy:B,zip64:M,directory:!!W,executable:!!L,filenameUTF8:!0,rawFilename:U,commentUTF8:!0,rawComment:V,ce:S,De:g,ue:x,de:z,fe:R,le:F,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,symlink:!!st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt};let{crc32:yt,uncompressedSize:bt}=c,Et=0;wt||(bt=0);const{writable:St}=n;if(e){const a=Te(Qn(e)),s=e.size,o={options:{codecType:lr,level:C,rawPassword:I,password:v,encryptionStrength:J,zipCrypto:m&&P,passwordVerification:m&&P&&p>>8&r,computeCrc32:!wt,compressed:y&&!wt,encrypted:m&&!wt,useWebWorkers:H,useCompressionStream:ft,transferStreams:q,format:ht,codecURI:pt,compressionMethod:E},config:i,ft:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await Vr({readable:a,writable:St},o);if(Et=e.outputSize,n.size+=Et,wt||(bt=e.inputSize,m&&!P||(yt=e.crc32)),!N&&Et>=t||!j&&bt>=t)throw Error(ro)}catch(t){throw t.outputSize!==O&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,xe:n,Re:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{he:l,encrypted:u}=n,{Oe:d,Ue:f}=a;u&&!o&&!i||t===O||(si(l,10,t),c&&si(d,f,t)),s?c&&(oi(d,f+4,BigInt(e)),oi(d,f+12,BigInt(r))):(si(l,14,e),si(l,18,r),c&&(si(d,f+4,e),si(d,f+8,r)))})({crc32:yt,compressedSize:Et,uncompressedSize:bt,xe:l,Re:u},c),_&&await Zo(n,D),Object.assign(mt,{uncompressedSize:bt,compressedSize:Et,lastModDate:h,rawLastModDate:p,creationDate:T,lastAccessDate:k,encrypted:!!m,zipCrypto:!!P,size:d+Et,compressionMethod:E,version:b,we:f,he:w,signature:yt,crc32:!m||P||wt?yt:O,be:A,me:j,pe:N}),mt})(a,g,x,s,ht(),o),p||(E=!1),i.set(n,x),x.filename=n,p){if(await Promise.all([g.writable.getWriter().close(),m]),await z(),b=!0,S=c.size,await F(),x.diskNumberStart=jo(c),x.offset=_o(e,c),w){const t=s.Fe;To(s,e.offset-No(c)),x.size+=s.Fe-t}(({rawFilename:t,encrypted:e,zip64:r,De:n,crc32:a,compressedSize:s,uncompressedSize:o,me:i,pe:c},l,{dataDescriptor:u,passThrough:d})=>{if(u||((!e||d&&a!==O)&&si(l,14,a),c||si(l,18,s),i||si(l,22,o)),r&&n){const e=R+ci(t)+4;oi(l,e,BigInt(o)),oi(l,e+8,BigInt(s))}})(x,f.ke,o),await Zo(c,f.Se),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=ci(t),A+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(g.readable,c,d),c.size+=g.size,b=!1}else x.diskNumberStart=T,x.offset=v;return e.offset+=x.size,x}catch(t){if(b||E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-S,p&&(e.offset+=A)}throw i.delete(n),t}finally{if(p&&e.oe--,y&&y(),m&&m(),p&&g&&g.dispose)try{await g.dispose()}catch{}}async function z(){e.ze=!0;const{Te:t}=e;e.Te=new Promise(t=>m=()=>{e.ze=!1,t()}),await t}async function F(){Po(c,ci(f.Se))&&await c.closeDisk()}})(e,n,a,{xe:w,Re:h,Fe:p},s)}catch(t){throw e.re.delete(n),t}return Object.assign(u,{name:n,comment:c,extraField:l,[pa]:u.internalFileAttributes,[ma]:u.externalFileAttributes}),new Ma(u)})(s,e,n,a),o.add(i),await i}catch(t){throw c&&s.ne.delete(e),t}finally{o.delete(i);const t=xo.shift();t?t():go--}}remove(t){const{ne:e,re:r}=this;if(typeof t==I&&(t=r.get(t)),t&&t.filename!==O){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=C,n={}){const{se:a,writer:s}=this,{writable:f}=s;if(!(r instanceof Uint8Array))throw Error(_s);if(ci(r)>e)throw Error(Ps);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=Co(r.re),{ve:f,Ie:w}=await(async(r,n,a)=>{const{re:s,writer:o}=r,c=new Uint8Array(n);await Gn(o);let l=0,u=0,d=jo(o),f=No(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:h,ce:p,le:m,ue:y,de:b,fe:E,rawExtraField:S,rawComment:g,versionMadeBy:x,we:A,he:z,me:R,pe:F,ye:D,Ce:O,internalFileAttributes:U,externalFileAttributes:k,diskNumberStart:T,uncompressedSize:v,compressedSize:I}=n,C=ci(p,m,y,b,E,S),M=46+ci(h,g)+C;Po(o,l+M-u)&&(await Zo(o,c.slice(u,l)),u=l,await o.closeDisk()),0==r&&(d=jo(o),f=No(o)),R||si(z,18,v),F||si(z,14,I),(O||D)&&n.version<45&&ai(z,0,45);const j=Mo(M);if(j.Me(i),j.je(x),j.Ne(A.subarray(0,24)),j.je(C),j.je(ci(g)),j.je(D?e:T),j.je(U),j.Me(k),j.Me(O?t:w),j.Ne(h),j.Ne(p),j.Ne(m),j.Ne(y),j.Ne(b),j.Ne(E),j.Ne(S),j.Ne(g),ii(c,j.Lt,l),l+=M,a.onprogress)try{await a.onprogress(r+1,s.size,new Ma(n))}catch{}}return await Zo(o,u?c.slice(u):c),{ve:{diskNumber:d,diskOffset:f},Ie:c}})(r,s,a),h=await(async(t,r,n)=>{const a=Jo(t,n,H);if(a){const n=await a(r),s=ci(n);if(s>e)throw Error(yo);const i=Mo(6+s);i.Me(o),i.je(s),i.Ne(n);const{writer:c}=t;return Po(c,ci(i.Lt))&&await c.closeDisk(),await Zo(c,i.Lt),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{ve:i,Pe:f}=s;let{_e:w}=s,h=r.re.size,p=i.diskNumber,m=_o(r,i),y=jo(o);Po(o,d)&&y++;let b=Go(r,a,Sa);if(m>=t||w>=t||h>=e||y>=e){if(!1===b)throw Error(ro);b=!0}const E=ci(n);if(E>e)throw Error(Ps);const S=Mo(b?98:d);Po(o,ci(S.Lt)+E)&&await o.closeDisk(),y=jo(o),b&&(S.Me(l),S.We(44),S.je(45),S.je(45),S.Me(y),S.Me(p),S.We(h),S.We(h),S.We(w),S.We(m),S.Me(u),S.Me(y),S.We(BigInt(_o(r,o))+BigInt(w)+BigInt(f)),S.Me(y+1),Go(r,a,"supportZip64SplitFile",!0)&&(y=e,p=e),h=e,m=t,w=t),S.Me(c),S.je(y),S.je(p),S.je(h),S.je(h),S.Me(w),S.Me(m),S.je(E),await Zo(o,S.Lt),E&&await Zo(o,n)})(r,n,a,{ve:f,_e:s,Pe:h})})(this,r,n),!Yn(s)&&Go(this,n,B)||await f.getWriter().close(),s.getData?s.getData():f}}class zo{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Ao(r,t),this.se=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return Ro(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Ro(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.se)),this.zipWriter.close(t,e)}}function Ro(t,e,r){t.se.add(e),e.catch(t=>{try{r(t)}catch{}})}function Fo(n,a,s){a=a.trim();let o=Go(n,s,Ea),i=Go(n,s,Aa,o?20:768);const c=Go(n,s,Fa),l=ti(n,s,"uid"),u=ti(n,s,"gid");let d=ti(n,s,ka),f=Go(n,s,"unixExtraFieldType"),w=Go(n,s,Ta),h=Go(n,s,va),p=Go(n,s,Ia);if(at(l,t,co),at(u,t,lo),at(d,e,uo),f!==O&&f!==Eo&&f!==So)throw Error(fo);if(f===So&&(l!==O&&l>e||u!==O&&u>e))throw Error(wo);f!==O||l===O&&u===O||(f=Eo);let m=ti(n,s,ya),y=Go(n,s,ba);const b=m!==O||y!==O;if(l!==O||u!==O||d!==O||f||c?(o=!1,i=i&r|768):b&&(o=!0,i&=r),at(m,r,ho),y&&(typeof y!==v||Array.isArray(y)))throw Error(po);if(i>e)throw Error(Zs);let E=Qo(n,s,ha,ma);const R=E!==O;R||(E=0),!s[Ra]&&a.endsWith(z)&&(s[Ra]=!0);const F=Go(n,s,Ra);if(F?(a.endsWith(z)||(a+=z),R||(E=16,o||(E|=16877<<16))):o||R||(E=c?493<<16:27525120),!o){const t=d!==O||!!(w||h||p);d=d===O?E>>16&e:d&e,w?d|=x:w=!!(d&x),h?d|=A:h=!!(d&A),p?d|=512:p=!!(512&d),R&&!t||(F?d=-61441&d|g:d&S||(d|=32768),E=(d&e)<<16|E&e)}return({msdosAttributesRaw:m,msdosAttributes:y}=((t,e)=>{if(t!==O)t&=r;else if(e!==O){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===O&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(m,y)),b&&(E=E&t|m&r),{name:a,Ee:{versionMadeBy:i,msDosCompatible:!!o,externalFileAttributes:E,unixExternalUpper:E>>16&e,uid:l,gid:u,unixMode:d,unixExtraFieldType:f,symlink:d!==O&&40960==(d&S),setuid:w,setgid:h,sticky:p,msdosAttributesRaw:m,msdosAttributes:y}}}function Do(t,r,n){const a=Jo(t,n,"encodeText")||Nt;let s=a(r,q);if(s===O&&(s=Nt(r)),ci(s)>e)throw Error(Vs);const o=n[ea]||"";if(typeof o!=I)throw Error(Ls);let i=a(o,K);if(i===O&&(i=Nt(o)),ci(i)>e)throw Error(Ws);const c=Go(t,n,xa,20);if(c>e)throw Error(Zs);const l=Xo(t,n,ia,new Date),u=Xo(t,n,la),d=Xo(t,n,da),f=Qo(t,n,wa,pa,0),w=Go(t,n,N),h=Go(t,n,M),p=Go(t,n,j);rt(h,p);const m=ti(t,n,"encryptionStrength",3),y=Go(t,n,za),b=Go(t,n,"extendedTimestamp",!0),E=Go(t,n,"ntfsTimestamp"),S=Go(t,n,"keepOrder",!0),g=Go(t,n,_),x=Go(t,n,L),A=Go(t,n,"bufferedWrite"),z=Jo(t,n,"createTempStream"),R=Go(t,n,"dataDescriptorSignature",!0),F=et(Go(t,n,P)),D=Go(t,n,"useUnicodeFileNames",!0),U=Go(t,n,Da),k=w||U===O?O:Be(U);if(!w&&U!==O&&0!==U&&8!==U&&!k)throw Error("Compression method not supported");let T=ti(t,n,"level");if(at(T,9,mo),t.options[Z]){if(h!==O||p!==O)throw Error(qs);T===O&&U===O&&(T=0)}w&&(T=O);let v=Go(t,n,W),C=Go(t,n,"dataDescriptor");A&&C===O&&(C=!1),(C===O||y)&&(C=!0),T!==O&&6!=T&&(v=!1);const B=Go(t,n,Sa);if(!(y||h===O&&p===O||Number.isInteger(m)&&m>=1&&m<=3))throw Error(Hs);const V=Oo(n[Ua]),H=Oo(n.localExtraField);return{comment:o,Ee:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:u,creationDate:d,internalFileAttributes:f,passThrough:w,password:h,rawPassword:p,encryptionStrength:m,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:E,keepOrder:S,useWebWorkers:g,transferStreams:x,bufferedWrite:A,createTempStream:z,dataDescriptorSignature:R,signal:F,useUnicodeFileNames:D,compressionMethod:U,format:k?k.format:O,codecURI:k?k.codecURI:O,Le:k?k.versionNeeded:O,level:T,useCompressionStream:v,dataDescriptor:C,zip64:B,rawExtraField:V,Be:H}}}function Oo(t){if(!t)return C;if(!(t instanceof Map))throw Error(Ys);let r=0,n=0;t.forEach((t,n)=>{if(nt(n,e,Gs),!(t instanceof Uint8Array))throw Error(Xs);if(ci(t)>e)throw Error(Js);r+=4+ci(t)});const a=new Uint8Array(r),s=Rt(a);return t.forEach((t,e)=>{ai(s,n,e),ai(s,n+2,ci(t)),ii(a,t,n+4),n+=4+ci(t)}),a}function Uo(e,r,n,a,s){const{passThrough:o,zipCrypto:i,password:c,rawPassword:l,encryptionStrength:u}=a;let{dataDescriptor:d,zip64:f,level:w,compressionMethod:h}=a,p=0,m=0;if(o&&r){if(m=s[na],m===O)throw Error(no);if(h===O)throw Error(ao)}const y=!0===f,b=Go(e,s,ga);if(r&&o&&!b&&ci(c,l))throw Error(Ks);const E=r&&(!!(c&&ci(c)||l&&ci(l))||o&&b);r||(w=0,h=0);const S=E?i?12:16+4*u:0;r&&(o?(s.uncompressedSize=m,p=n===O?ei(m)+S:n):n===O?(d=!0,(f||f===O)&&(f=!0,m=p=4294967296)):(s.uncompressedSize=m=n,p=(ri(h,w)?ei(m):m)+S));const g=y||m>=t,x=y||p>=t;if(g||x){if(!1===f)throw Error(ro);f=!0}return f=f||!1,{Ve:p,Ee:{dataDescriptor:d,zip64:f,me:g,pe:x,uncompressedSize:m,level:w,compressionMethod:h,encrypted:E}}}function ko(t){const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:d,directory:f,rawExtraField:w,Be:m,encryptionStrength:E,extendedTimestamp:S,ntfsTimestamp:g,passThrough:x,encrypted:A,me:z,pe:U,uncompressedSize:k,crc32:T}=t;let{version:v,compressionMethod:I}=t;const M=!f&&ri(I,i);let j;const N=x||!M,P=c&&(t.bufferedWrite||!d||!z&&!U||N),_=P||c&&d&&(z||U);if(c&&(z||U)){const t=20,e=Mo(t);if(e.je(1),e.je(t-4),j=e.Lt,P&&(e.We(k),N)){const t=A?l?12:16+4*E:0;e.We(x?0:k+t)}}else j=C;let W,L,B,V,H;if(A&&!l){const t=Mo(ci(bo)+2);t.je(h),t.Ne(bo),W=t.Lt,W[8]=E}else W=C;if(S){const t=qo(a),e=Ko(t);if(e){const e=9+(s?4:0)+(o?4:0),r=Mo(e);V=1+(s?2:0)+(o?4:0),r.je(p),r.je(e-4),r.Ze(V),r.Me(t),s&&r.Me(Yo(qo(s))),o&&r.Me(Yo(qo(o))),B=r.Lt}else B=C;if(g===O?!e||s||o:g)try{const t=Ho(a),e=Mo(36);e.je(10),e.je(32),e.He(4),e.je(1),e.je(24),e.We(t),e.We(s?Ho(s):t),e.We(o?Ho(o):t),L=e.Lt}catch{L=C}else L=C}else L=B=C;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=Eo||r===O&&n===O)if(a!=So||r===O&&n===O)H=C;else{const t=Mo(8);t.je(b),t.je(4),t.je((r===O?0:r)&e),t.je((n===O?0:n)&e),H=t.Lt}else{const t=vo(r),e=vo(n),a=3+t.length+e.length,s=Mo(4+a);s.je(y),s.je(a),s.Ze(1),s.Ze(t.length),s.Ne(t),s.Ze(e.length),s.Ne(e),H=s.Lt}}catch{H=C}I===O&&(I=M?8:0);const{Le:q}=t;M&&q!==O&&(v=v>q?v:q),c&&(v=v>45?v:45),A&&!l&&(v=v>51?v:51,x&&T!==O&&(W[4]=1),ai(Rt(W),9,I),I=99);const K=_?ci(j):0,Y=K+ci(W,B,L,H,w,m);if(Y+(t[Z]?67:0)>e)throw Error(Js);const G=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{we:X,he:J,rawLastModDate:Q}=li({version:v,bitFlag:ui(i,u,d,A,I),compressionMethod:I,uncompressedSize:k,lastModDate:G<D?D:G>F?F:G,rawFilename:r,pe:U,me:z,extraFieldLength:Y}),$=Mo(R+ci(r)+Y),tt=$.Lt,et=Rt(tt);return $.Me(n),$.Ne(X),$.Ne(r),_&&$.Ne(j),$.Ne(W),$.Ne(B),$.Ne(L),$.Ne(H),$.Ne(w),$.Ne(m),d&&(U||si(et,18,0),z||si(et,22,0)),{Se:tt,ke:et,we:X,he:J,lastModDate:a,rawLastModDate:Q,encrypted:A,compressed:M,version:v,compressionMethod:I,be:V,ce:C,De:K,ue:B,de:L,fe:H,le:W,extraFieldLength:Y}}function To(t,e){const{xe:r}=t;let{Se:n,extraFieldLength:a}=r,s=64-(e+ci(n))%64;s<4&&(s+=64);const o=new Uint8Array(s),i=Rt(o);ai(i,0,m),ai(i,2,s-4);const c=n;r.Se=n=new Uint8Array(ci(c)+s),ii(n,c),ii(n,o,ci(c));const l=Rt(n);ai(l,28,a+s),r.ke=l,t.Fe+=s}function vo(t){if(t===O)return C;{const e=new Uint8Array(4);Rt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function Io({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,a=C,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=Rt(a),r&&(o=4,si(n,0,s))),{ge:a,Oe:n,Ue:o}}function Co(r){let n=0;for(const[,a]of r){const{rawFilename:r,le:s,rawComment:o,de:i,fe:c,rawExtraField:l,extendedTimestamp:u,be:d,lastModDate:f,me:w,pe:h,uncompressedSize:m,compressedSize:y}=a,b=a.offset>=t,E=a.diskNumberStart>=e;let S,g;if(b||E||w||h){const t=4+(w?8:0)+(h?8:0)+(b?8:0)+(E?4:0),e=Mo(t);e.je(1),e.je(t-4),w&&e.We(m),h&&e.We(y),b&&e.We(a.offset),E&&e.Me(a.diskNumberStart),S=e.Lt}else S=C;a.ce=S,a.Ce=b,a.ye=E;const x=qo(f);if(u&&Ko(x)){const t=Mo(9);t.je(p),t.je(5),t.Ze(d),t.Me(x),g=t.Lt}else g=C;a.ue=g;const A=ci(S,s,i,c,g,l);if(A>e)throw Error(Js);n+=46+ci(r,o)+A}return n}function Mo(t){const e=new Uint8Array(t),r=Rt(e);let n=0;return{Lt:e,Ze:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},je:t=>{ai(r,n,t),n+=2},Me:t=>{si(r,n,t),n+=4},We:t=>{oi(r,n,BigInt(t)),n+=8},Ne:t=>{ii(e,t,n),n+=ci(t)},He:t=>n+=t}}function jo(t){const{diskNumber:e=0}=t;return e}function No(t){const{diskOffset:e=0}=t;return e}function Po(t,e){const{availableSize:r=U}=t;return e>r}function _o(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ae:0)}async function Wo(t,e,r,n){if(n>0){const{writer:a}=t;await Qn(e,{offset:r,size:n}).pipeTo(a.writable,{preventClose:!0,preventAbort:!0}),a.size+=n,t.offset+=n}}async function Lo(t,e){const r=await Jn(t,e,R);if(ci(r)<R)return R;const n=Rt(r);return R+ni(n,26)+ni(n,28)}function Bo(t,{offset:e,diskNumberStart:r}){return e+(t.qt?t.qt(r):0)}function Vo(){const t=new Uint8Array(4);return si(Rt(t),0,a),t}async function Zo(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=ci(e),await n.write(e)}finally{n.releaseLock()}}function Ho(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<to?to:e>eo?eo:e}}function qo(t){return Math.floor(t.getTime()/1e3)}function Ko(t){return t>=Qs&&t<=$s}function Yo(t){return Math.min($s,Math.max(Qs,t))}function Go(t,e,r,n){const a=e[r]===O?t.options[r]:e[r];return a===O?n:a}function Xo(t,e,r,n){const a=Go(t,e,r,n);if(null===a)return n;if(a!==O&&(typeof a.getTime!=T||Number.isNaN(a.getTime())))throw Error(Bs);return a}function Jo(t,e,r){return tt(Go(t,e,r))}function Qo(t,e,r,n,a){const s=$o(e,r,n),o=s===O?$o(t.options,r,n):s;return o===O?a:o}function $o(t,e,r){return t[e]===O?t[r]:t[e]}function ti(t,e,r,n){return st(Go(t,e,r,n))}function ei(t){return t+5*(Math.floor(t/16383)+1)}function ri(t,e){return t===O?e===O||e>0:0!==t}function ni(t,e){return t.getUint16(e,!0)}function ai(t,e,r){t.setUint16(e,r,!0)}function si(t,e,r){t.setUint32(e,r,!0)}function oi(t,e,r){t.setBigUint64(e,r,!0)}function ii(t,e,r){t.set(e,r)}function ci(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function li({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,pe:l,me:u,extraFieldLength:d}){const f=Mo(26),w=f.Lt,h=Rt(w);if(f.je(e),f.je(r),f.je(n),i===O){const t=new Uint32Array(1),e=Rt(t);ai(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),ai(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.Me(i),f.He(4),l||s!==O?f.Me(l?t:s):f.He(4),u||a!==O?f.Me(u?t:a):f.He(4),f.je(ci(c)),f.je(d),{we:w,he:h,rawLastModDate:i}}function ui(t,e,r,n,a){let s=0;return e&&(s|=E),r&&(s|=8),8!=a&&9!=a||(t>=0&&t<=3&&(s|=6),t>3&&t<=5&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function di(){return"application/octet-stream"}const fi=1048576,wi=".zip.js-temp";function hi(t={}){const{thresholdBytes:e=fi,directoryName:r=wi,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const pi=1048576;function mi(t={}){const{thresholdBytes:e=pi}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=ve(e.readable),r=e.writable.getWriter(),o=!0;for(const e of t)await r.write(e);t.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const yi=1048576,bi=".zip.js-temp",Ei="createSyncAccessHandle is only available in dedicated workers";function Si(t={}){const{thresholdBytes:e=yi,directoryName:r=bi,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(Ei);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{gt({baseURI:import.meta.url})}catch{}let gi,xi,Ai,zi,Ri;function Fi(t,e,r={}){if(!gi){const t=Error("WASM module not loaded");throw t.cause=Ri,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.qe=xi(a),this.in=xi(s),this.inBufferSize=s,!this.qe||!this.in)throw Error("allocation failed");if(this.Ke=new Uint8Array(a),t?(this.Ye=gi.deflate_process,this.Ge=gi.deflate_last_consumed,this.Xe=gi.deflate_end,this.Je=gi.deflate_new(),r="gzip"===e?gi.deflate_init_gzip(this.Je,n):"deflate-raw"===e?gi.deflate_init_raw(this.Je,n):gi.deflate_init(this.Je,n)):"deflate64-raw"===e?(this.Ye=gi.inflate9_process,this.Ge=gi.inflate9_last_consumed,this.Xe=gi.inflate9_end,this.Je=gi.inflate9_new(),r=gi.inflate9_init_raw(this.Je)):(this.Ye=gi.inflate_process,this.Ge=gi.inflate_last_consumed,this.Xe=gi.inflate_end,this.Je=gi.inflate_new(),r="deflate-raw"===e?gi.inflate_init_raw(this.Je):"gzip"===e?gi.inflate_init_gzip(this.Je):gi.inflate_init(this.Je)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(zi.buffer),o=this.Ye,i=this.Ge,c=this.qe,l=this.Ke;let u=0;for(;u<n.length;){const e=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&Ai&&(Ai(this.in),this.in=0),this.in=xi(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(u,u+e),this.in);const d=o(this.Je,this.in,e,c,a,0),f=16777215&d;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=d>>24&255,e=128&t?t-256:t;if(e<0)throw Error("process error:"+e)}const w=i(this.Je);if(0===w)break;u+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(zi.buffer),n=this.Ye,s=this.qe,o=this.Ke;for(;;){const i=n(this.Je,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(t<0)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.Je&&t.Xe&&(e=t.Xe(t.Je)),t.Je=0,t.in&&Ai&&Ai(t.in),t.in=0,t.qe&&Ai&&Ai(t.qe),t.qe=0,e}}class Di{constructor(t="deflate",e){return Fi(!0,t,e)}}class Oi{constructor(t="deflate",e){return Fi(!1,t,e)}}Di.ut=!0,Oi.ut=!0;let Ui,ki=!1;function Ti(){Ui=null,(async()=>{await Promise.allSettled(Pr.map(t=>(Yr(t),t.terminate()))),hr=O,pr=!1})(),ki=!1,gi=xi=Ai=zi=Ri=null}(({Qe:t})=>{yr=t})({Qe:t=>{if(!Ui){let{wasmURI:e}=t;typeof e==T&&(e=e()),Ui=(async(t,{baseURI:e})=>{if(!ki)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;t<n;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(gi=t,({malloc:xi,free:Ai,memory:zi}=gi),"function"!=typeof xi||"function"!=typeof Ai||!zi)throw gi=xi=Ai=zi=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),ki=!0}catch(t){throw(t=>{Ri=t})(t),t}})(e,t).catch(t=>{throw Ui=null,t})}return Ui}}),gt({CompressionStreamFallback:Di,DecompressionStreamFallback:Oi}),gt({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const vi="Entry filename already exists",Ii="Readable stream already consumed",Ci="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",Mi="Invalid readerOptions (must be an object)",ji="zipjs-abort-export",Ni="The operation was aborted",Pi=new Set([1,h,10,p,28789,25461,m,y,b,22613,13]);class _i{constructor(t,e,r,n){const a=this;if(t.root&&n&&n.getChildByName(e))throw Error(vi);r||(r={}),Object.assign(a,{fs:t,name:e,data:r.data,options:r.options&&Object.assign({},r.options),id:t.$e++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,er:r.er||r.uncompressedSize===O,passThrough:r.passThrough,rr:r.rr||new Date}),!n&&t.root||(t.entries[a.id]=a),n&&a.parent.children.push(a)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,r=this.parent;for(;r&&r!=t;)e=(r.name?r.name+"/":"")+e,r=r.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return!!e}rename(t){const e=this.parent;if(e&&e.getChildByName(t))throw Error(vi);this.name=t}setOptions(t){const e=Object.assign({},this.options,t);this.options=Object.fromEntries(Object.entries(e).filter(([,t])=>t!==O))}}class Wi extends _i{constructor(t,e,r,n){super(t,e,r,n);const a=this;a.Reader=r.Reader,a.Writer=r.Writer,r.getData&&(a.getData=r.getData)}clone(){return new Wi(this.fs,this.name,this)}async getData(t,e={}){const r=this;if(!t||t.constructor==r.Writer&&r.data&&((t,e)=>{const{contentType:r}=t;return r===O||(t.constructor==En?e.type==r:t.constructor!=pn||e.startsWith(t.data))})(t,r.data))return r.data;{const n=r.reader=Gi(r.Reader,r.data,e),a=r.uncompressedSize||n.size;await Promise.all([Gn(n),Gn(t,a)]);const s=et(e.signal),o=((t,e,r,n)=>{const{onstart:a,onprogress:s,onend:o}=r,{readable:i}=e;return t.data instanceof Ma||!a&&!s&&!o?i:Te(i).pipeThrough(new gr({onstart:a,onprogress:s,onend:o,size:e.size}),{signal:n})})(r,n,e,s),i=!Yn(t)&&!!e.preventClose;return r.uncompressedSize=n.size,await Te(o).pipeTo(Ie(t.writable),{signal:s,preventClose:i,preventAbort:i}),t.getData?t.getData():t.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,Object.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(t.message==Vt)return!1;throw t}}getText(t,e){return this.getData(new xn(t),e)}getBlob(t,e){return this.getData(new En(t),e)}getData64URI(t,e){return this.getData(new pn(t),e)}getUint8Array(t){return this.getData(new Vn,t)}getWritable(t=new WritableStream,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return zt(await this.getUint8Array(t)).buffer}replaceBlob(t){Object.assign(this,{data:t,Reader:bn,Writer:En,reader:null})}replaceText(t){Object.assign(this,{data:t,Reader:Sn,Writer:xn,reader:null})}replaceData64URI(t){Object.assign(this,{data:t,Reader:hn,Writer:pn,reader:null})}replaceUint8Array(t){Object.assign(this,{data:t,Reader:Bn,Writer:Vn,reader:null})}replaceReadable(t){Object.assign(this,{data:null,Reader:Ki(t),Writer:null,reader:null})}}class Li extends _i{constructor(t,e,r,n){super(t,e,r,n),this.directory=!0}clone(t){const e=this,r=new Li(e.fs,e.name,e);return t&&(r.children=e.children.map(e=>{const n=e.clone(t);return n.parent=r,n})),r}addDirectory(t,e){return ic(this,t,{options:e},!0)}addText(t,e,r={}){return ic(this,t,{data:e,Reader:Sn,Writer:xn,options:r,uncompressedSize:gn(e)})}addBlob(t,e,r={}){return ic(this,t,{data:e,Reader:bn,Writer:En,options:r,uncompressedSize:e.size})}addData64URI(t,e,r={}){let n=e.length;for(;"="==e.charAt(n-1);)n--;const a=e.indexOf(",")+1;return ic(this,t,{data:e,Reader:hn,Writer:pn,options:r,uncompressedSize:Math.floor(.75*(n-a))})}addUint8Array(t,e,r={}){return ic(this,t,{data:e,Reader:Bn,Writer:Vn,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return ic(this,t,{data:e,Reader:class extends Wn{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return ic(this,t,{Reader:Ki(e),options:r})}addFileSystemEntry(t,e={}){return ac(this,t,e)}addFileSystemHandle(t,e={}){return ac(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),ic(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}importBlob(t,e){return this.importZip(new bn(t),e)}importData64URI(t,e){return this.importZip(new hn(t),e)}importUint8Array(t,e){return this.importZip(new Bn(t),e)}importHttpContent(t,e){return this.importZip(new Wn(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new En(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new pn(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new Vn,t)}async exportWritable(t=new WritableStream,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return(async(t,e,r)=>{const{onstart:n,onprogress:a,onend:s}=r,o=ec(r.readerOptions),i=new AbortController,{signal:c}=i,l=((t,e)=>{if(!et(t))return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const r=()=>e.abort(t.reason);return t.addEventListener("abort",r,{once:!0}),()=>t.removeEventListener("abort",r)})(r.signal,i),u=Object.assign({},r,o,{signal:c,onstart:O,onprogress:O,onend:O,preventClose:!1}),d=Zi([t],t=>qi(t,u.passThrough)),f=[];let w=!1,h=0;try{n&&await xr(n,d),await m(t,e),s&&await xr(s,h)}catch(t){try{t.exportedEntryNames=f}catch{}throw t}finally{l()}return e;function p(t){const e=t.getWriter();return new WritableStream({async write(t){await e.write(t),h+=t.length,a&&await xr(a,h,d)},close:()=>e.close(),abort:t=>e.abort(t)})}async function m(t,e){if(r.concurrent){const r=(await Promise.allSettled(t.children.map(t=>y(t,e)))).filter(t=>"rejected"==t.status);if(r.length){const t=r.filter(t=>!Qi(t.reason));throw(t=>{const[e]=t,r=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(r.length)try{e.entryErrors=[...e.entryErrors||[],...r]}catch{}return e})((t.length?t:r).map(t=>t.reason))}}else for(const r of t.children)await y(r,e)}async function y(e,r){if(c.aborted){if(w||Qi(c.reason))return;throw c.reason===O?new DOMException(Ni,"AbortError"):c.reason}try{if(e.directory){const t=await r.getDirectoryHandle(e.name,{create:!0});await m(e,t)}else{const n=await r.getFileHandle(e.name,{create:!0}),a=await n.createWritable();try{await e.getData({writable:p(a)},u)}catch(t){throw w?Error(ji):t}f.push(e.getRelativeName(t))}}catch(r){w=!0,i.abort(Error(ji));try{r.entryName===O&&(r.entryName=e.getRelativeName(t),r.entryId=e.id)}catch{}throw r}}})(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==T?(r=t,e=Object.assign({},r.options,e)):(await Gn(t),r=new ss(t,e));const n=[],a=await r.getEntries(e);for(const t of a){let r=this;try{const a=t.filename.split("/").filter(t=>""!=t&&"."!=t),s=a.pop();if(a.forEach(t=>{const e=r;if(r=r.getChildByName(t),r){if(!r.directory)throw Error(vi)}else r=new Li(this.fs,t,{data:null},e),n.push(r)}),t.directory){let e=r;if(s)if(e=r.getChildByName(s),e){if(!e.directory)throw Error(vi)}else e=new Li(this.fs,s,{data:null},r),n.push(e);e==this||e.data||(e.data=t)}else n.push(ic(r,s,{data:t,Reader:Yi(Object.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}catch(e){try{e.cause={entry:t}}catch{}throw e}}return n}async exportZip(t,e={}){const r=this;(e=Object.assign({},e)).bufferedWrite===O&&(e.bufferedWrite=!0);const[n]=await Promise.all([Xi(r,ec(e.readerOptions)),Gn(t)]),a=new Ao(t,e);return await(async(t,e,r,n,a)=>{const{onstart:s,onprogress:o,onend:i,onentryprogress:c}=n,l=e,u=Zi(e.children,t=>nc(t)?0:1);let d=0,f=0;if(s&&await xr(s,r),n.bufferedWrite)await async function t(e){const r=(await Promise.allSettled(e.children.map(async e=>{await w(e),await t(e)}))).find(t=>"rejected"==t.status);if(r)throw r.reason}(e);else for(const t of e.getChildren({recursive:!0}))await w(t);async function w(e){if(nc(e))return;const{name:s,nr:i}=$i(e,l,n);let w=0;const h=await t.add(s,a.get(e),Object.assign(i,{onstart:O,onend:O,onprogress:async t=>{d+=t-w,w=t,o&&await xr(o,d,r)}}));f++,c&&await xr(c,f,u,h)}i&&await xr(i,d)})(a,r,Zi([r],Hi),e,n),await a.close(e.globalComment),t.getData?t.getData():t.writable}getExportedSize(r={}){const n=this;ec((r=Object.assign({},r)).readerOptions),r.bufferedWrite===O&&(r.bufferedWrite=!0);const a=!r.bufferedWrite||!1!==r.keepOrder&&n.children.every(t=>!t.children.length);return(async(r,n,a,s)=>{const o={options:r};if(tt(r[H]))throw Error(so);if(s!==O&&!(s instanceof Uint8Array))throw Error(_s);const i=ci(s);if(i>e)throw Error(Ps);const c=r[Z],l=new Map;let u=!!c;const f=r[V]===O?0:r[V];let w=f,h=U;for(const t of n){let{name:e}=t;const{size:r}=t,n=Object.assign({},t.options);e=e.trim(),Go(o,n,Ra)&&!e.endsWith(z)&&(e+=z);const a=Fo(o,e,n);({name:e}=a);const{Ee:s}=Do(o,e,n);0==s.level||s.compressionMethod!==O||s.passThrough||await br(ht())||(s.level=0);const i=!Go(o,n,Ra);if(i&&r===O)throw Error(so);const{Ve:u,Ee:d}=Uo(o,i,r,s,n);if(i&&!s.passThrough&&ri(d.compressionMethod,d.level))throw Error(so);const f=Object.assign({},n,a.Ee,s,d,{[Z]:c}),p=ko(f),m=Io(f),y={xe:p,Fe:ci(p.Se,m.ge)};c&&To(y,w);const b=i?u:0;l.set(e,Object.assign({},f,p,{offset:w,diskNumberStart:0,compressedSize:b}));const E=y.Fe+b;h=Math.min(h,E),w+=E}if(l.size&&w-h>=t&&(u=!0),u&&!a)throw Error(so);const p=Co(l);let m=Go(o,r,Sa);if(w>=t||p>=t||l.size>=e){if(!1===m)throw Error(ro);m=!0}return w-f+p+i+(m?98:d)})(r,n.getChildren({recursive:!0}).filter(t=>!nc(t)).map(t=>{const{name:e,nr:a}=$i(t,n,r);return{name:e,size:t.directory?0:tc(t,rc(t,r)),options:a}}),a,r.globalComment)}getChildByName(t){const e=this.children;for(let r=0;r<e.length;r++){const n=e[r];if(n.name==t)return n}}getChildren(t={}){return((t,e)=>{const r=[],n=[t];let a=0;for(;a<n.length;)for(const t of n[a++].children)r.push(t),e&&n.push(t);return r})(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const r=this.children;return!(await Promise.all(r.map(r=>r.checkPassword(t,e)))).includes(!1)}}class Bi{constructor(){oc(this)}get children(){return this.root.children}remove(t){Ji(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const r of t.children)e.push(r)}t.parent=O}move(t,e){if(t==this.root)throw Error("Root directory cannot be moved");if(!e.directory)throw Error("Target entry is not a directory");if(e.isDescendantOf(t))throw Error("Entry is a ancestor of target entry");if(t!=e){const r=e.getChildByName(t.name);if(r){if(r!=t)throw Error(vi)}else Ji(t),t.parent=e,e.children.push(t),((t,e)=>{const r=[e];for(;r.length;){const e=r.pop();t.entries[e.id]=e;for(const t of e.children)r.push(t)}})(this,t)}}find(t){const e=t.split("/");let r=this.root;for(let t=0;r&&t<e.length;t++)r=r.getChildByName(e[t]);return r||(r=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),r}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,r){return this.root.addText(t,e,r)}addBlob(t,e,r){return this.root.addBlob(t,e,r)}addData64URI(t,e,r){return this.root.addData64URI(t,e,r)}addUint8Array(t,e,r){return this.root.addUint8Array(t,e,r)}addHttpContent(t,e,r){return this.root.addHttpContent(t,e,r)}addReadable(t,e,r){return this.root.addReadable(t,e,r)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}importBlob(t,e){return oc(this),this.root.importBlob(t,e)}importData64URI(t,e){return oc(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return oc(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return oc(this),this.root.importHttpContent(t,e)}importReadable(t,e){return oc(this),this.root.importReadable(t,e)}importZip(t,e){return oc(this),this.root.importZip(t,e)}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}}const Vi={FS:Bi,ZipDirectoryEntry:Li,ZipFileEntry:Wi};function Zi(t,e){let r=0;const n=Array.from(t);for(;n.length;){const t=n.pop();r+=e(t)||0;for(const e of t.children)n.push(e)}return r}function Hi(t){return t.uncompressedSize}function qi(t,e){const{data:r}=t;return e&&r instanceof Ma?r.compressedSize:t.uncompressedSize}function Ki(t){let e;return()=>{if(e)throw Error(Ii);return e=!0,{readable:t}}}function Yi(t){return class extends fn{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=Object.assign({},t,e.options),{checkOverlappingEntry:n,checkOverlappingEntryOnly:a}=r,s=await e.entry.getData(new En,Object.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:a||n,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=s,e.ar=new bn(s),e.size=s.size,super.init()}readUint8Array(t,e){return this.ar.readUint8Array(t,e)}}}function Gi(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function Xi(t,e){const r=[],n=[t],a=new Map;for(;n.length;){const t=n.pop();for(const e of t.children)e.directory?n.push(e):r.push(e)}return await Promise.all(r.map(async t=>{const r=t.reader=Gi(t.Reader,t.data,e);a.set(t,r);try{await Gn(r)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}r.size!==O&&(t.uncompressedSize=r.size,t.er=!1)})),a}function Ji(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function Qi(t){return!!t&&t.message==ji}function $i(t,e,r){const n=r.relativePath?t.getRelativeName(e):t.getFullname(),a=t.options||{};let s={},o={};if(t.data instanceof Ma){const{externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,uncompressedSize:u,encrypted:d,zipCrypto:f,crc32:w,compressionMethod:h,extraFieldAES:p,internalFileAttributes:m,extraField:y,uid:b,gid:E}=t.data;s={externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,internalFileAttributes:m};const S=(t=>{if(t){const e=new Map;if(t.forEach((t,r)=>{Pi.has(r)||e.set(r,t.data)}),e.size)return e}})(y);if(S&&(s.extraField=S),b===O&&E===O||Object.assign(s,{uid:b,gid:E,unixExtraFieldType:"infozip"}),rc(t,r)){let t;p&&(t=p.strength),o={passThrough:!0,encrypted:d,zipCrypto:f,crc32:w,uncompressedSize:u,encryptionStrength:t,compressionMethod:h}}}const i=Object.assign({lastModDate:t.rr},s,r,a,o,{directory:t.directory});if(!t.directory&&i.passThrough&&i.uncompressedSize===O)throw Error(Ci);return{name:n,nr:i}}function tc(t,e){const{reader:r}=t;return r&&r.size!==O?r.size:t.er?O:qi(t,e)}function ec(t){if(t&&(typeof t!=v||Array.isArray(t)))throw Error(Mi);return t}function rc(t,e){const{readerOptions:r}=e;return!(t.directory||!(t.passThrough||r&&r.passThrough))}function nc(t){return t.directory&&null===t.data}function ac(t,e,r){return async function t(e,n,a,s=""){if(n){const o=s?s+"/"+n.name:n.name;try{if((n.isFile||n.isDirectory)&&(n=await sc(n)),"file"==n.kind){const t=await n.getFile();a.push(ic(e,t.name,{Reader:()=>({readable:t.stream(),size:t.size}),options:Object.assign({},{lastModDate:new Date(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==n.kind){const s=e.addDirectory(n.name,r);a.push(s);for await(const e of n.values())await t(s,e,a,o)}}catch(t){try{t.entryName===O&&(t.entryName=o)}catch{}throw t}}return a}(t,e,[])}async function sc(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new Promise((e,r)=>t.file(e,r))),t.isDirectory){e.kind="directory";const r=await(async t=>{const e=[];function r(t,n,a){t.readEntries(async s=>{if(s.length){for(const t of s)e.push(await sc(t));r(t,n,a)}else n(e)},a)}return await new Promise((e,n)=>r(t.createReader(),e,n)),{[Symbol.iterator](){let t=0;return{next(){const r={value:e[t],done:t==e.length};return t++,r}}}}})(t);e.values=()=>r}return e}function oc(t){t.entries=[],t.$e=0,t.root=new Li(t)}function ic(t,e,r,n){if(t.directory)return n?new Li(t.fs,e,r,t):new Wi(t.fs,e,r,t);throw Error("Parent entry is not a directory")}export{bn as BlobReader,En as BlobWriter,hn as Data64URIReader,pn as Data64URIWriter,Ni as ERR_ABORTED,Ya as ERR_AMBIGUOUS_ARCHIVE,ja as ERR_BAD_FORMAT,_a as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Ns as ERR_DUPLICATED_NAME,Ba as ERR_ENCRYPTED,Ga as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Ka as ERR_ENTRY_DATA_OUT_OF_BOUNDS,vi as ERR_ENTRY_EXISTS,Pa as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Na as ERR_EOCDR_NOT_FOUND,La as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,$r as ERR_HTTP_RANGE,tn as ERR_HTTP_RESOURCE_CHANGED,Ht as ERR_INVALID_AUTHENTICATION_CODE,Ce as ERR_INVALID_CODEC_DEFINITION,je as ERR_INVALID_CODEC_MODULE,Ps as ERR_INVALID_COMMENT,_s as ERR_INVALID_COMMENT_TYPE,qe as ERR_INVALID_COMPRESSED_DATA,Ke as ERR_INVALID_CRC32,Bs as ERR_INVALID_DATE,Hs as ERR_INVALID_ENCRYPTION_STRENGTH,Ws as ERR_INVALID_ENTRY_COMMENT,Ls as ERR_INVALID_ENTRY_COMMENT_TYPE,Vs as ERR_INVALID_ENTRY_NAME,Ys as ERR_INVALID_EXTRAFIELD,Js as ERR_INVALID_EXTRAFIELD_DATA,Xs as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Gs as ERR_INVALID_EXTRAFIELD_TYPE,Qa as ERR_INVALID_FILENAME_VALIDATION,J as ERR_INVALID_FUNCTION_OPTION,lo as ERR_INVALID_GID,mo as ERR_INVALID_LEVEL,$a as ERR_INVALID_MAX_APPENDED_DATA_SIZE,ot as ERR_INVALID_MAX_WORKERS,ho as ERR_INVALID_MSDOS_ATTRIBUTES,po as ERR_INVALID_MSDOS_DATA,Vt as ERR_INVALID_PASSWORD,$ as ERR_INVALID_PASSWORD_TYPE,Ci as ERR_INVALID_PASS_THROUGH,Mi as ERR_INVALID_READER_OPTIONS,Q as ERR_INVALID_SIGNAL,Zt as ERR_INVALID_SIGNATURE,yo as ERR_INVALID_SIGNATURE_DATA,Ja as ERR_INVALID_STRICTNESS,co as ERR_INVALID_UID,He as ERR_INVALID_UNCOMPRESSED_SIZE,fo as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,wo as ERR_INVALID_UNIX_ID_SIZE,uo as ERR_INVALID_UNIX_MODE,Zs as ERR_INVALID_VERSION,en as ERR_ITERATOR_COMPLETED_TOO_SOON,Wa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,qa as ERR_OVERLAPPING_ENTRY,Ii as ERR_READABLE_CONSUMED,Me as ERR_RESERVED_COMPRESSION_METHOD,Ha as ERR_SPLIT_ZIP_FILE,ao as ERR_UNDEFINED_COMPRESSION_METHOD,oo as ERR_UNDEFINED_READER,no as ERR_UNDEFINED_UNCOMPRESSED_SIZE,so as ERR_UNDETERMINED_SIZE,Xa as ERR_UNSAFE_FILENAME,Za as ERR_UNSUPPORTED_COMPRESSION,Ei as ERR_UNSUPPORTED_CONTEXT,Kt as ERR_UNSUPPORTED_CRYPTO_API,Va as ERR_UNSUPPORTED_ENCRYPTION,Ks as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,qs as ERR_UNSUPPORTED_ENCRYPTION_USDZ,ro as ERR_UNSUPPORTED_FORMAT,wr as ERR_WORKER_STARTUP_TIMEOUT,rn as ERR_WRITER_NOT_INITIALIZED,io as ERR_ZIP_NOT_EMPTY,Ln as HttpRangeReader,Wn as HttpReader,fn as Reader,Zn as SplitDataReader,Hn as SplitDataWriter,Sn as TextReader,xn as TextWriter,Bn as Uint8ArrayReader,Vn as Uint8ArrayWriter,wn as Writer,Li as ZipDirectoryEntry,_i as ZipEntry,Bi as ZipFS,Wi as ZipFileEntry,ss as ZipReader,os as ZipReaderStream,Ao as ZipWriter,zo as ZipWriterStream,yt as configure,mi as createBlobTempStream,hi as createOPFSTempStream,Si as createSyncAccessHandleTempStream,Vi as fs,di as getMimeType,We as registerCodec,xt as resetConfiguration,Ti as terminateWorkers,Le as unregisterCodec};
1
+ const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,u=117853008,d=22,f=20,w=56,h=39169,p=21589,m=6534,y=30837,b=30805,E=2048,S=61440,g=16384,x=2048,A=1024,z="/",R=30,F=new Date(2107,11,31,23,59,58),D=new Date(1980,0,1),O=void 0,U=1/0,T="undefined",k="function",v="object",I="string",C=new Uint8Array,M="password",N="rawPassword",j="passThrough",P="signal",_="useWebWorkers",W="useCompressionStream",L="transferStreams",B="preventClose",V="dataDescriptor",Z="offset",H="usdz",q="signCentralDirectory",K="filename",Y="comment",G="strict",X="balanced",J="tolerant",Q="Invalid option (must be a function)",$="Invalid signal (must be an AbortSignal instance)",tt="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function et(t){if(t&&typeof t!=k)throw Error(Q);return t}function rt(t){if(t&&(typeof t.addEventListener!=k||"boolean"!=typeof t.aborted))throw Error($);return t||O}function nt(t,e){if(t&&typeof t!=I||e&&!(e instanceof Uint8Array))throw Error(tt)}function at(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw Error(r)}function st(t,e,r){t!==O&&at(t,e,r)}function ot(t){return typeof t==I&&t.trim()?Number(t):t}const it="Invalid maxWorkers (must be an integer greater than 0)";let ct=2;try{typeof navigator!=T&&navigator.hardwareConcurrency&&(ct=navigator.hardwareConcurrency)}catch{}const lt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ct,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=T&&CompressionStream,DecompressionStream:typeof DecompressionStream!=T&&DecompressionStream},ut="maxWorkers",dt=["chunkSize",ut,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ft=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],wt=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...dt,...ft],ht={...lt};function pt(){return ht}function mt(t){return yt(t.chunkSize)}function yt(t){return t=ot(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function bt(t){Object.assign(ht,Et(gt(t)))}function Et(t){const e={};for(const r of wt){const n=t[r];n!==O&&(e[r]=St(r,n))}return e}function St(t,e){if(dt.includes(t)){if(e=ot(e),t==ut&&(!Number.isInteger(e)||e<1))throw Error(it)}else ft.includes(t)&&et(e);return e}function gt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===O&&r===O)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===O&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===O&&(n.DecompressionStreamFallback=r),n}function xt(t){const e=Et(gt(t));Object.assign(lt,e),Object.assign(ht,e)}function At(){for(const t of wt)delete ht[t];Object.assign(ht,lt)}function zt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function Rt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function Ft(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const Dt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;Dt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=Dt[e-1][t];Dt[e][t]=r>>>8^Dt[0][255&r]}const[Ot,Ut,Tt,kt,vt,It,Ct,Mt]=Dt;class Nt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;n<=s;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=Mt[255&t]^Ct[t>>>8&255]^It[t>>>16&255]^vt[t>>>24&255]^kt[255&r]^Tt[r>>>8&255]^Ut[r>>>16&255]^Ot[r>>>24&255]}}for(;n<r;n++)e=e>>>8^Ot[255&(e^t[n])];this.o=e}get(){return~this.o}}class jt extends TransformStream{constructor(){let t;const e=new Nt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function Pt(t){if(typeof TextEncoder==T){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const _t={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=_t.l(r);return 32===n?t.concat(e):_t.h(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+_t.l(r)},m(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=_t.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,h(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=_t.l(a);return n.push(_t.S(e+s&31,e+s>32?r:n.pop(),1)),n}},Wt={bytes:{A(t){const e=_t.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;a<e;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(_t.S(8*(3&r),n)),e}}},Lt=class{constructor(t){const e=this;e.blockSize=512,e.F=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.O=t.O.slice(0),e.U=t.U.slice(0),e.T=t.T):e.reset()}reset(){const t=this;return t.O=t.F.slice(0),t.U=[],t.T=0,t}update(t){const e=this;"string"==typeof t&&(t=Wt.v.R(t));const r=e.U=_t.concat(e.U,t),n=e.T,a=e.T=n+_t.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);t<=a;t+=e.blockSize)e.I(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}C(){const t=this;let e=t.U;const r=t.O;e=_t.concat(e,[_t.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.T/4294967296)),e.push(0|t.T);e.length;)t.I(e.splice(0,16));return t.reset(),r}M(t,e,r,n){return t<=19?e&r|~e&n:t<=39?e^r^n:t<=59?e&r|e&n|r&n:t<=79?e^r^n:void 0}N(t,e){return e<<t|e>>>32-t}I(t){const e=this,r=e.O,n=Array(80);for(let e=0;e<16;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;t<=79;t++){t>=16&&(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.M(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.N(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},Bt={importKey:t=>new Bt.j(Wt.bytes.R(t)),P(t,e,r,n){if(r=r||1e4,n<0||r<0)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const u=new ArrayBuffer(a),d=new DataView(u);let f=0;const w=_t;for(e=Wt.bytes.R(e),l=1;f<(a||1);l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;i<r;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;f<(a||1)&&i<s.length;i++)d.setInt32(f,s[i]),f+=4}return u.slice(0,n/8)},j:class{constructor(t){const e=this,r=e._=Lt,n=[[],[]];e.W=[new r,new r];const a=e.W[0].blockSize/32;t.length>a&&(t=(new r).update(t).C());for(let e=0;e<a;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.W[0].update(n[0]),e.W[1].update(n[1]),e.L=new r(e.W[0])}reset(){const t=this;t.L=new t._(t.W[0]),t.B=!1}update(t){this.B=!0,this.L.update(t)}digest(){const t=this,e=t.L.C(),r=new t._(t.W[1]).update(e).C();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Vt=typeof crypto!=T&&typeof crypto.getRandomValues==k,Zt="Invalid password",Ht="Invalid signature",qt=Ht,Kt="zipjs-abort-check-password",Yt="Crypto API not supported";function Gt(t){if(Vt)return crypto.getRandomValues(t);throw Error(Yt)}const Xt=16,Jt={name:"PBKDF2"},Qt=Object.assign({hash:{name:"HMAC"}},Jt),$t=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Jt),te=["deriveBits"],ee=[8,12,16],re=[16,24,32],ne=10,ae=[0,0,0,0],se=typeof crypto!=T,oe=se&&crypto.subtle,ie=se&&typeof oe!=T,ce=Wt.bytes,le=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;s<4*a+28;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=s<=4||t<4?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],s=[];let o,i,c,l;for(let t=0;t<256;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let u=o=0;!r[u];u^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[u]=s,n[s]=u,l=a[c=a[i=a[u]]];let d=16843009*l^65537*c^257*i^16843008*u,f=257*a[s]^16843008*s;for(let r=0;r<4;r++)t[r][u]=f=f<<24^f>>>8,e[r][s]=d=d<<24^d>>>8}for(let r=0;r<5;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],u=s[4];let d,f,w,h=t[0]^r[0],p=t[e?3:1]^r[1],m=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;t<n;t++)d=o[h>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&y]^r[b],f=o[p>>>24]^i[m>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=o[m>>>24]^i[y>>16&255]^c[h>>8&255]^l[255&p]^r[b+2],y=o[y>>>24]^i[h>>16&255]^c[p>>8&255]^l[255&m]^r[b+3],b+=4,h=d,p=f,m=w;for(let t=0;t<4;t++)a[e?3&-t:t]=u[h>>>24]<<24^u[p>>16&255]<<16^u[m>>8&255]<<8^u[255&y]^r[b++],d=h,h=p,p=m,m=y,y=d;return a}},ue=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const a=_t.bitLength(e);for(let a=0;a<n;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return _t.m(e,a)}},de=Bt.j;let fe=se&&ie&&typeof oe.importKey==k,we=se&&ie&&typeof oe.deriveBits==k;class he extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){me(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await be(t,e,r,Se(n,0,ee[e])),s=Se(n,ee[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(Zt)})(r,s,a,Se(t,0,ee[s]+2)),t=Se(t,ee[s]+2),n?e.error(Error(Kt)):o()):await i;const c=new Uint8Array(t.length-ne-(t.length-ne)%Xt);e.enqueue(ye(r,t,c,0,ne,!0))},async flush(t){const{nt:e,st:r,ot:n,ready:s}=this;if(r&&e){await s;const o=Se(n,0,n.length-ne),i=Se(n,n.length-ne);let c=C;if(o.length){const t=xe(ce,o);r.update(t);const n=e.update(t);c=ge(ce,n)}const l=Se(ge(ce,r.digest()),0,ne);let u=n.length<ne?1:0;for(let t=0;t<ne;t++)u|=l[t]^i[t];if(u&&a)throw Error(qt);t.enqueue(c)}}})}}class pe extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){me(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=C;n?(i=await(async(t,e,r)=>{const n=Gt(new Uint8Array(ee[e]));return zt(n,await be(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%Xt);c.set(i,0),e.enqueue(ye(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,ot:n,ready:a}=this;if(r&&e){await a;let s=C;if(n.length){const t=e.update(xe(ce,n));r.update(t),s=ge(ce,t)}const o=ge(ce,r.digest()).slice(0,ne);t.enqueue(zt(s,o))}}})}}function me(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:Ee(e,r),strength:n-1,ot:C})}function ye(t,e,r,n,a,s){const{nt:o,st:i,ot:c}=t;c.length&&(e=zt(c,e));const l=e.length-a;let u;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%Xt)),u=0;u<=l-Xt;u+=Xt){const t=xe(ce,Se(e,u,u+Xt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(ge(ce,a),u+n)}return t.ot=Se(e,u),r}async function be(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!fe)return Bt.importKey(e);try{return await oe.importKey("raw",e,r,!1,a)}catch{return fe=!1,Bt.importKey(e)}})(0,r,Qt,0,te),s=await(async(t,e,r)=>{if(!we)return Bt.P(e,t.salt,$t.iterations,r);try{return await oe.deriveBits(t,e,r)}catch{return we=!1,Bt.P(e,t.salt,$t.iterations,r)}})(Object.assign({salt:n},$t),a,8*(2*re[e]+2)),o=new Uint8Array(s),i=xe(ce,Se(o,0,re[e])),c=xe(ce,Se(o,re[e],2*re[e])),l=Se(o,2*re[e]);return Object.assign(t,{keys:{key:i,it:c,passwordVerification:l},nt:new ue(new le(i),Array.from(ae)),st:new de(c)}),l}function Ee(t,e){return e===O?Pt(t):e}function Se(t,e,r){return t.subarray(e,r)}function ge(t,e){return t.A(e)}function xe(t,e){return t.R(e)}class Ae extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Re(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Fe(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(Zt);t=t.subarray(12)}n?e.error(Error(Kt)):e.enqueue(Fe(r,t))}})}}class ze extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Re(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=Gt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(De(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(De(r,t),a),e.enqueue(n)}})}}function Re(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new Nt(n[0]),lt:new Nt(n[2])}),r)for(let e=0;e<r.length;e++)Oe(t,r[e]);else for(let r=0;r<e.length;r++)Oe(t,e.charCodeAt(r))})(t,e,r)}function Fe(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ue(t)^e[n],Oe(t,r[n]);return r}function De(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ue(t)^e[n],Oe(t,e[n]);return r}function Oe(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=ke(Math.imul(ke(r+Te(n)),134775813)+1),t.lt.append([r>>>24]);const a=~t.lt.get();t.keys=[n,r,a]}function Ue(t){const e=2|t.keys[2];return Te(Math.imul(e,1^e)>>>8)}function Te(t){return 255&t}function ke(t){return 4294967295&t}function ve(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function Ie(t,e){t=ve(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=k||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function Ce(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Me="Invalid codec definition",Ne="Reserved compression method",je="Invalid codec module",Pe=[0,8,9,99],_e=new Map,We=new Map;function Le(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=I||!n.length)throw Error(Me);if(Pe.includes(r))throw Error(Ne);const c=typeof s==k||typeof o==k;if(!(c||typeof a==I&&a.length))throw Error(Me);_e.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&He(n,{CompressionStream:s,DecompressionStream:o})}function Be(t){const e=_e.get(t);if(e){let r;_e.delete(t),_e.forEach(t=>r=r||t.format==e.format),r||We.delete(e.format)}}function Ve(t){return _e.get(t)}function Ze(t){return We.get(t)}function He(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=k&&typeof n!=k)throw Error(je);We.set(t,{CompressionStream:r,DecompressionStream:n})}const qe="Invalid uncompressed size",Ke="Invalid compressed data",Ye=Ht,Ge="deflate-raw",Xe="gzip",Je=[31,139,8];class Qe extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:u,format:d,compressionMethod:f}=t,w=this;let h,p,m,y=super.readable;const b=d&&Ze(d),E=c&&a&&!u&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||E||(h=new jt,y=ir(y,h)),a)if(b)y=cr(y,sr(b.CompressionStream,d,{level:l,chunkSize:e,compressionMethod:f}));else if(E)m=new $e,y=cr(y,new n(Xe)),y=ir(y,m);else try{y=or(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(Xe)}catch{throw t}y=cr(y,e),y=ir(y,new $e)}s&&(i?y=ir(y,new ze(t)):(p=new pe(t),y=ir(y,p))),ar(w,y,()=>{s&&!i||!c||(w.crc32=E?m.crc32:new DataView(h.value.buffer).getUint32(0))})}}class $e extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const a=r.length+t.length;if(a<=8)return void(r=zt(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(zt(r.subarray(0,o),t.subarray(0,s-o))),r=zt(r.subarray(o),t.subarray(s-o))},flush(){const e=Ft(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class tr extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:u,format:d,compressionMethod:f,rawBitFlag:w,outputSize:h}=t;let p,m,y=super.readable;if(s&&(a?y=ir(y,new Ae(t)):(m=new he(t),y=ir(y,m))),c){const t=d&&Ze(d);if(t)y=cr(y,sr(t.DecompressionStream,d,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:h}));else try{y=or(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||h===O)throw t;let e;try{e=new n(Xe)}catch{throw t}y=((t,e,r)=>{const n=new Nt;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(Je),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=Ft(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),d=new TransformStream({transform(t,e){n.append(t),i+=t.length,i>=r?s():c&&f(),e.enqueue(t)},cancel(t){o(t)}});return t=ir(t,u),ir(t=cr(t,e),d);function f(){w(),a=setTimeout(()=>o(Error(qe)),5e3)}function w(){clearTimeout(a)}})(y,e,h)}y=(t=>{const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=Error(Ke);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(p=new jt,y=ir(y,p)),ar(this,y,()=>{if(o){const t=new DataView(p.value.buffer);if(i!=t.getUint32(0,!1))throw Error(Ye)}})}}const er=new Map;function rr(t,e){if(!t)return!1;let r=er.get(t);r||(r=new Map,er.set(t,r));let n=r.get(e);if(n===O){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function nr(t){return rr(t,Ge)}function ar(t,e,r){e=ir(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function sr(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function or(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":Ge;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return cr(t,i)}function ir(t,e){return ve(t).pipeThrough(e)}function cr(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const lr="data",ur="deflate",dr="inflate";class fr extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(ur)?a=Qe:n.startsWith(dr)&&(a=tr),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==O&&r.outputSize>t.outputSize))throw Error(qe)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class wr extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;a<t;){const r=e[0],s=t-a;r.length<=s?(n.set(r,a),a+=r.length,e.shift()):(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((t,e)=>{const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r})(e,r))}})}}const hr="Worker startup timeout";let pr,mr,yr,br=()=>{};async function Er(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.ut)return!0;if(nr(e)||rr(e,Xe))return!0;if(r)try{return await br(t),!0}catch{return!1}return!1}function Sr(t){t.createWorker?mr=!0:pr=!1}class gr{constructor(t,{readable:e,writable:r},{options:n,config:a,ft:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},u){const{signal:d}=s;return mr&&(l=O),Object.assign(t,{wt:!0,ht:(t.ht||0)+1,readable:e.pipeThrough(new wr(mt(a))).pipeThrough(new xr(s),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{yt:r,wt:n}=t;r?(n?t.bt=e:(r.terminate(),e()),t.Et=null):e()}),St(){if(t.wt){const{bt:e}=t;e&&(t.bt=null,t.gt=!0,t.yt.terminate(),e()),t.wt=!1,u(t)}}}),pr===O&&(pr=typeof Worker!=T),(o&&yr&&(pr&&c||l)?yr:zr)(t,a)}}class xr extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await Ar(t,r)},async transform(t,n){a+=t.length,e&&await Ar(e,a,r),n.enqueue(t)},async flush(){n&&await Ar(n,a)}})}}async function Ar(t,...e){try{await t(...e)}catch{}}function zr(t,e){return{run:()=>Rr(t,e)}}async function Rr({options:t,readable:e,writable:r,St:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(ur),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.ut&&!nr(n))try{await br(a)}catch{}}else try{await br(a)}catch{r&&!r.ut||(t.useCompressionStream=!0)}}s=new fr(t,a),await e.pipeThrough(s).pipeThrough(new wr(mt(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}const Fr={type:"module"},Dr="error";let Or,Ur,Tr,kr=!0;try{kr=typeof structuredClone==k&&structuredClone(new DOMException("","AbortError")).code!==O}catch{}var vr;function Ir(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function Cr(t){const{yt:e}=t;if(e)try{e.terminate()}catch{}t.Et=null}function Mr(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(Ur===O||Or!==t){const s=typeof t==k;i=s?t(a):t;const l=i.startsWith("data:"),u=i.startsWith("blob:");if(l||u){n===O&&(n=!1),n&&(c=Fr);try{o=new Worker(i,c)}catch(a){if(u)try{URL.revokeObjectURL(i)}catch{}if(s&&u)return Mr(t,e,r,n,!1);if(n)throw a;return Mr(t,e,r,!0,!1)}}else{n===O&&(n=!0),n&&(c=Fr);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)return Mr(t,e,r,!1,a);throw s}}Or=t,Ur=i,Tr=c}else o=new Worker(Ur,Tr);return o.addEventListener("message",t=>{r.xt=!0,Nr(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,At:l,zt:u,St:d,ht:f}=e,w=()=>e.ht!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s,codecImportFailed:i}=o,c=Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:a}),s&&(c.cause=Object.assign(Error(s.message),{name:s.name})),i&&(c.codecImportFailed=!0),h(c)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Pr({type:lr,value:t,done:r,messageId:a},e)}r==lr&&(await c.ready,await c.write(new Uint8Array(n)),w()||Pr({type:"ack",messageId:a},e)),"close"==r&&h(null,s)}}catch(o){w()||(Cr(e),h(o))}function h(t,e){w()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||d())}})(t,r)}),o.addEventListener(Dr,t=>jr(t,r)),o.addEventListener("messageerror",t=>jr(t,r)),o}function Nr(t){const{Rt:e}=t;e&&(clearTimeout(e),t.Rt=null)}function jr(t,e){t.preventDefault&&t.preventDefault(),Nr(e);const{xt:r,zt:n,writer:a,St:s}=e;Cr(e),r||(e.yt=null);let o=t.error||Error(t.message||Dr);r||(o=Object.assign(Error(o.message||Dr),{Ft:!0}),e.Dt=o),n&&(n(o),a&&a.releaseLock(),r&&s())}function Pr(t,{yt:e,writer:r,transferStreams:n,xt:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=Rt(r),i.push(t.value.buffer)),n&&kr&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{kr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}vr=(t,e)=>{const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.Et){let o;typeof s==k&&(s=s());try{o=Mr(t.workerURI,r,t)}catch{return Sr(t),zr(t,e)}Object.assign(t,{yt:o,xt:!1,gt:!1,Dt:null,Et:{run:async()=>{try{return await(async(t,e)=>{if(!t.yt){const{Dt:e}=t;t.Dt=null;const r=e||Error(hr);throw r.Ft=!0,r}let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,At:r,zt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,Ot:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,Ot:()=>e.abort()}})(t.writable);let u;try{u=Pr({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.St(),e}u||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:d}=e;!t.xt&&Number.isFinite(d)&&d>=0&&(t.Rt=setTimeout(()=>(t=>{if(t.Rt=null,t.xt)return;const{zt:e,writer:r}=t;if(Cr(t),t.yt=null,e){const t=Error(hr);t.Ft=!0,e(t),r&&r.releaseLock()}})(t),d));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!u&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Ft)return Sr(t),Ir(t),Rr(t,e);if(r&&r.codecImportFailed){if(t.reader)return Ir(t),Rr(t,e);t.St()}throw r}}}})}return t.Et},yr=vr;let _r=[];const Wr=[];let Lr,Br,Vr=0;async function Zr(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:u,format:d,codecURI:f}=r,{workerURI:w,createWorker:h,maxWorkers:p}=n;d&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!We.has(t)&&e&&He(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(d,r.codecURI)),e.transferStreams=!d&&(a||a===O&&n.transferStreams);const m=!(i||c||l||u),y=d===O||!!r.codecURI;return e.useWebWorkers=!m&&y&&(s||s===O&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:O,e.createWorker=e.useWebWorkers&&h?h:O,r.useCompressionStream=o||o===O&&n.useCompressionStream,(await(async()=>{const r=_r.find(t=>!t.wt);if(r)return Gr(r),new gr(r,t,e,b);if(_r.length<p){const r={Ut:Vr};return Vr++,_r.push(r),new gr(r,t,e,b)}return new Promise(r=>{Wr.push({resolve:r,stream:t,Tt:e}),Br=n.workerStarvationTimeout,Hr()})})()).run();function b(t){if(qr(),Wr.length){const[{resolve:e,stream:r,Tt:n}]=Wr.splice(0,1);e(new gr(t,r,n,b)),Hr()}else t.yt?(Gr(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.gt?t.gt=!1:t.kt=setTimeout(async()=>{_r=_r.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):_r=_r.filter(e=>e!=t)}}function Hr(){!Lr&&Wr.length&&Number.isFinite(Br)&&Br>=0&&(Lr=setTimeout(Kr,Br))}function qr(){Lr&&(clearTimeout(Lr),Lr=null)}function Kr(){if(Lr=null,Wr.length){const[{resolve:t,stream:e,Tt:r}]=Wr.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:O,createWorker:O});t(new gr({},e,n,Yr)),Hr()}}function Yr(){qr(),Hr()}function Gr(t){const{kt:e}=t;e&&(clearTimeout(e),t.kt=null)}const Xr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Jr(t,e){return Qr(t,e,!0)}function Qr(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=Xr[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const $r="HTTP error ",tn="HTTP Range not supported",en="HTTP resource changed",rn="Writer iterator completed too soon",nn="Writer not initialized",an="Content-Range",sn="Range",on="GET",cn="bytes",ln=16777216,un="writable",dn=Symbol();class fn{constructor(){this.size=0}init(){this.initialized=!0}}class wn extends fn{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=mt(pt())}={}){const n=this;let a=0;return r=yt(r),new ReadableStream({async pull(s){const o=e===O?r:Math.min(r,e-a),i=await Qn(n,t+a,o);i.length&&s.enqueue(i),a+r>=e||!i.length&&o?s.close():a+=r}})}}class hn extends fn{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(nn);return t.writeUint8Array(Rt(e))}});Object.defineProperty(t,un,{get:()=>e})}writeUint8Array(){}}class pn extends wn{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{vt:t,It:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{It:r,vt:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;t<i+e&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class mn extends hn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Ct:""})}writeUint8Array(t){const e=this;let r,n=e.Ct;const a=e.Ct.length;for(e.Ct="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.Ct+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.Ct=n+e.Ct}getData(){return this.data+btoa(this.Ct)}}let yn,bn;class En extends wn{constructor(t){super(),Object.assign(this,{Mt:t,size:t.size}),bn||(bn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();yn=1==e}catch{yn=!1}})())}createReadable(t){const{Mt:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return!n&&a>=r?ve(e.stream()):yn?ve(e.slice(n,n+a).stream()):super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,a=!t&&n>=r.size?r.Mt:r.Mt.slice(t,n);let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class Sn extends fn{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,un,{get:()=>r.writable}),e.contentType=t,e.Nt=Ie(r.readable,t),e.Nt.catch(()=>{})}getData(){return this.Nt}}class gn extends En{constructor(t){super(new Blob([t],{type:"text/plain"}))}}function xn(t){let e=0;for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);n<128?e+=1:n<2048?e+=2:n<55296||n>=57344?e+=3:n<56320&&56320==(64512&t.charCodeAt(r+1))?(e+=4,r++):e+=3}return e}class An extends Sn{constructor(t){super(),Object.assign(this,{encoding:t,jt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,jt:e}=this,r=await super.getData();return r.text&&e?r.text():((t,e)=>Qr(t,e,!1))(new Uint8Array(await r.arrayBuffer()),t)}}class zn extends wn{constructor(t,e){super(),Fn(this,t,e)}async init(){await Dn(this,_n,Mn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==O){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&r<a)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(tn);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=O,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await _n(on,t,In(t,a,e));if(206!=r.status)throw Error(tn);const i=r.headers.get(an);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(tn)}vn(t,r),kn(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return On(this,t,e,_n,Mn)}}class Rn extends wn{constructor(t,e){super(),Fn(this,t,e)}async init(){await Dn(this,Wn,Nn),super.init()}readUint8Array(t,e){return On(this,t,e,Wn,Nn)}}function Fn(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=ln,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function Dn(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=pt(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(typeof a==T||a)){const n=await e(on,t,In(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==cn))throw Error(tn);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Pt=e)}kn(t,n);const a=Un(n);a===O?await Pn(t,e,r):t.size=a}}else await Pn(t,e,r)}async function On(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,Pt:i,size:c,options:l}=t;if(s||o){if(i&&e==c-d&&r==d)return i;if(e>=c||0===r)return C;{e+r>c&&(r=c-e);const a=await n(on,t,In(t,e,r));if(206!=a.status)throw Error(tn);const s=a.headers.get(an);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(tn)}vn(t,a),kn(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(tn);return o}}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Un(t){const e=t.headers.get(an);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Tn({headers:t}){return{_t:t.get("Etag")||O,lastModified:t.get("Last-Modified")||O}}function kn(t,e){const{checkResourceChanges:r,Wt:n}=t;r&&!n&&206==e.status&&(t.Wt=Tn(e))}function vn(t,e){const{checkResourceChanges:r,Wt:n,size:a}=t;if(r){const t=Un(e);if(t!==O&&a!==O&&t!=a)throw Error(en);if(n){const t=Tn(e);if(Object.entries(n).some(([e,r])=>r!==O&&t[e]!==O&&r!=t[e]))throw Error(en)}}}function In(t,e=0,r=1){return Object.assign({},Cn(t),{[sn]:cn+"="+(e<0?e:e+"-"+(e+r-1))})}function Cn({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Mn(t){await jn(t,_n)}async function Nn(t){await jn(t,Wn)}async function jn(t,e){const r=await e(on,t,Cn(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Pn(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Cn(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function _n(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(s.status<400)return s;throw 416==s.status?Error(tn):Error($r+(s.statusText||s.status))}function Wn(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error(tn):Error($r+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class Ln extends wn{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Rn(t,e):new zn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Bn extends Ln{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Vn extends wn{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Lt:t,size:t.length})}readUint8Array(t,e){return this.Lt.slice(t,t+e)}}class Zn extends hn{constructor(t){super(),this.Bt=t||262144}init(t=0){Object.assign(this,{offset:0,Lt:new Uint8Array(t>0?t:this.Bt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Lt.length){let t=e.Lt.length?2*e.Lt.length:e.Bt;for(;t<r;)t*=2;const n=e.Lt;e.Lt=new Uint8Array(t),e.Lt.set(n)}e.Lt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Lt.length?this.Lt:this.Lt.slice(0,this.offset)}}class Hn extends wn{constructor(t){super(),this.Vt=t}async init(){const t=this;t.Zt=0;const e=t.Vt=await Promise.all(t.Vt.map(Jn));t.Ht=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}qt(t){const{Ht:e,size:r}=this,n=e[t];return n===O?r:n}async readUint8Array(t,e){const r=this,{Vt:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e<=n)a=await Qn(i,o,e);else{const s=n-o;a=zt(await Qn(i,o,s),await r.readUint8Array(t+s,e-s))}}else a=C;return r.Zt=Math.max(s,r.Zt),a}}class qn extends fn{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===dn)return void(s&&await c());const{availableSize:o}=r;if(s)e.length>=o?(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o))):await i(e);else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error(rn);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Xn(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,un,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(dn)}finally{t.releaseLock()}}}class Kn{constructor(t){return Array.isArray(t)&&(t=new Hn(t)),(t instanceof ReadableStream||typeof t.getReader==k)&&(t={readable:ve(t)}),t}}class Yn{constructor(t){return t.writable===O&&typeof t.next==k&&(t=new qn(t)),(t instanceof WritableStream||typeof t.getWriter==k)&&(t={writable:Ce(t)}),t.size===O&&(t.size=0),t}}function Gn(t){return!(!t||!t.getData)}async function Xn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function Jn(t){return t=new Kn(t),await Xn(t),t.size!==O&&t.readUint8Array||(t=new En(await Ie(t.readable)),await Xn(t)),t}function Qn(t,e,r){return t.readUint8Array(e,r)}function $n(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?wn.prototype.createReadable.call(t,e):t.readable}const ta="filename",ea="rawFilename",ra="comment",na="rawComment",aa="uncompressedSize",sa="compressedSize",oa="offset",ia="diskNumberStart",ca="lastModDate",la="rawLastModDate",ua="lastAccessDate",da="rawLastAccessDate",fa="creationDate",wa="rawCreationDate",ha="internalFileAttributes",pa="externalFileAttributes",ma="internalFileAttribute",ya="externalFileAttribute",ba="msdosAttributesRaw",Ea="msdosAttributes",Sa="msDosCompatible",ga="zip64",xa="encrypted",Aa="version",za="versionMadeBy",Ra="zipCrypto",Fa="directory",Da="executable",Oa="compressionMethod",Ua="signature",Ta="extraField",ka="unixMode",va="setuid",Ia="setgid",Ca="sticky",Ma=[ta,ea,aa,sa,ca,la,ra,na,ua,da,fa,wa,oa,ia,ha,pa,ma,ya,ba,Ea,Sa,ga,xa,Aa,za,Ra,Fa,Da,"symlink",Oa,Ua,"crc32",Ta,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ka,"unixExternalUpper",va,Ia,Ca,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Na{constructor(t){Ma.forEach(e=>this[e]=t[e])}}const ja="File format is not recognized",Pa="End of central directory not found",_a="End of Zip64 central directory locator not found",Wa="Central directory header not found",La="Local file header not found",Ba="Zip64 extra field not found",Va="File contains encrypted entry",Za="Encryption method not supported",Ha="Compression method not supported",qa="Split zip file",Ka="Overlapping entry found",Ya="Entry data out of bounds",Ga="Ambiguous archive",Xa="Encrypted central directory is not supported",Ja="Unsafe filename",Qa="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",$a="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",ts="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",es="64-bit value exceeds Number.MAX_SAFE_INTEGER",rs=/^[a-zA-Z]:/,ns="utf-8",as="cp437",ss=[[aa,t],[sa,t],[oa,t],[ia,e]],os={[e]:{Kt:js,bytes:4},[t]:{Kt:Ps,bytes:8}},is=BigInt(Number.MAX_SAFE_INTEGER);class cs{constructor(t,e={}){Object.assign(this,{reader:new Kn(t),options:e,Yt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:o}=s;if(await Xn(o),o.size!==O&&o.readUint8Array||(o=new En(await Ie(o.readable)),await Xn(o)),o.size<d)throw Error(ja);const c=As(n,s.options),h=c==G,p=c!=J,m=((t,r)=>{if(t!==O){const e=ot(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw Error(ts);return e}return r==G?0:r==J?1/0:e})(ks(s,n,"maxAppendedDataSize"),c),y=((t,e)=>{if(t===O)return e;if(!xs(t))throw Error($a);return t})(ks(s,n,"filenameValidation"),c),b=ks(s,n,"normalizeFilename"),{Gt:E,Xt:R}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:64};let o,i,c=0;for await(const[r,l,u,f,w]of Fs(t,a)){const a=Ns(r,f+20);if(w+d+a==n){const a=await Os(t,r,l,f,w,n,s);if(2==a){if(o||(o=Ds(u,f,w)),c++,!e||c>1)break}else 1!=a||i||(i=Ds(u,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,u]of Fs(t,a)){const a=Ds(c,l,u);s||(s=a);const d=await Os(t,e,i,l,u,n,r);if(2==d)return a;1!=d||o||(o=a)}return o||s})(t,r,s)),{Gt:o,Xt:c}})(o,p,m);if(!E)throw await(async t=>await gs(t)==a)(o)?Error(qa):Error(Pa);p&&R>1&&Ts("multiple end of central directory records");const F=Ft(E);let D=js(F,12),U=js(F,16);const T=E.offset,k=Ns(F,20),v=T+d+k;o.size-v>m&&Ts("appended data");let I=Ns(F,4);const M=o.Zt||0;let N,j,P,_,W=Ns(F,6),L=Ns(F,10),B=0,V=w;const Z=U==t||D==t||L==e||W==e;if(U!=t&&W!=e&&(U+=Ss(o,W)),Z){const r=E.offset>=f?await Qn(o,E.offset-f,f):C,n=Ft(r);if(r.length==f&&js(n,0)==u){U=Ss(o,js(n,4))+Ps(n,8);let r=await Qn(o,U,w),a=Ft(r);const s=E.offset-f-w;if((r.length<w||js(a,0)!=l)&&U!=s&&s>=0){const t=U;U=s,U>t&&(B=U-t),r=await Qn(o,U,w),a=Ft(r)}if(r.length<w||js(a,0)!=l)throw Error(_a);if(j=!0,P=Ps(a,4)>44,P){const t=Math.min(Ps(a,4)-44,o.size-U-w);t>0&&(V+=t,_=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=Ft(t),n=Ns(r,26);Object.assign(e,{compressionMethod:Ns(r,0),compressedSize:Ps(r,2),uncompressedSize:Ps(r,10),encryptionAlgorithm:Ns(r,18),bitLength:Ns(r,20),flags:Ns(r,22),hashAlgorithm:Ns(r,24),hashData:t.subarray(28,28+n)})}return e})(await Qn(o,U+w,t)))}I==e?I=js(a,16):h&&I!=js(a,16)&&Ts("mismatched zip64 end of central directory record"),W==e?W=js(a,20):h&&W!=js(a,20)&&Ts("mismatched zip64 end of central directory record"),L==e?L=Ps(a,32):h&&L!=Ps(a,32)&&Ts("mismatched zip64 end of central directory record"),D==t?D=Ps(a,40):h&&D!=Ps(a,40)&&Ts("mismatched zip64 end of central directory record"),U=Ss(o,W)+Ps(a,48)+B}}let H=D;const q=E.offset-(j?V+f:0);if(U>=o.size&&(B=o.size-U-D-d,U=o.size-D-d),M!=I)throw Error(qa);if(U<0)throw Error(ja);let X=0,Q=await Qn(o,U,D),$=Ft(Q);if(D){if(Q.length<4)throw Error(ja);const t=q-D;if(U!=t&&W==I){let e=!(js($,X)==i||_&&_.compressedSize||ds($));if(!e&&t>=0&&t+4<=o.size&&(e=js(Ft(await Qn(o,t,4)),0)==i),e){const e=U;U=t,U>e&&(B+=U-e),Q=await Qn(o,U,D),$=Ft(Q)}}}const tt=q-U;if(D!=tt&&tt>=0&&W==I&&(D=tt,Q=await Qn(o,U,D),$=Ft(Q)),U<0||U>=o.size)throw Error(ja);s.directoryOffset=U,s.directoryLength=H;const et=vs(s,n,"decryptCentralDirectory");let rt,nt;if(et&&L&&Q.length>=4&&js($,0)!=i&&(P||ds($))){const t=((t,e,r)=>{const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r})(_,H,Q.length);nt=Q.subarray(t),Q=await et(Q.subarray(0,t),_),$=Ft(Q),H=Q.length,rt=!0}N=U;const at=ks(s,n,"filenameEncoding"),st=ks(s,n,"commentEncoding"),it=h?new Set:O;let ct;for(let t=0;t<L;t++){const a=new us(o,s.options);if(X+46>Q.length||js($,X)!=i){if(0==t&&!rt&&(P||ds($)))throw Error(Xa);throw Error(Wa)}ws(a,$,X+6);const c=!!a.bitFlag.languageEncodingFlag,l=X+46,u=l+a.filenameLength,d=u+a.extraFieldLength,f=Ns($,X+4),w=!(f>>8),p=f>>8==3,m=Q.subarray(l,u),E=Ns($,X+32),R=d+E,F=Q.subarray(d,R),D=c,U=c,T=js($,X+38),k=T&r,v={readOnly:!!(1&k),hidden:!!(2&k),system:!!(4&k),directory:!!(16&k),archive:!!(32&k)},I=js($,X+42),C=vs(s,n,"decodeText")||Jr,M=D?ns:at||as,j=U?ns:st||as;let _=C(m,M,K);if(_===O&&(_=Jr(m,M)),b){const t=b(_);t!==O&&(_=t)}if(Rs(_,y)){const t=Error(Ja);throw t.filename=_,t}let W=C(F,j,Y);W===O&&(W=Jr(F,j)),Object.assign(a,{index:t,Jt:rt,versionMadeBy:f,msDosCompatible:w,zip64:!1,compressedSize:0,uncompressedSize:0,Qt:E,offset:I,diskNumberStart:Ns($,X+34),internalFileAttributes:Ns($,X+36),externalFileAttributes:T,msdosAttributesRaw:k,msdosAttributes:v,rawFilename:m,filenameUTF8:D,commentUTF8:U,rawExtraField:Q.subarray(u,d),rawComment:F,filename:_,comment:W}),hs(a,a,$,X+6),a.offset+=B,N=Math.min(Ss(o,a.diskNumberStart)+a.offset,N),h&&(it.has(a.filename)&&(ct=!0),it.add(a.filename));const V=a.externalFileAttributes>>16&e;a.unixMode===O&&16877&V&&(a.unixMode=V);const Z=!!(a.unixMode&x),H=!!(a.unixMode&A),q=!!(512&a.unixMode),G=40960==((a.unixMode===O?V:a.unixMode)&S),J=!G&&(a.unixMode!==O?!!(73&a.unixMode):p&&!!(73&V)),tt=a.unixMode!==O&&(a.unixMode&S)==g,et=(V&S)==g;Object.assign(a,{setuid:Z,setgid:H,sticky:q,symlink:G,unixExternalUpper:V,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:J,directory:tt||et||w&&v.directory||a.filename.endsWith(z)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const nt=new Na(a);nt.getData=(t,e)=>a.getData(t,nt,s.Yt,e),nt.arrayBuffer=async t=>{const e=new TransformStream,r=Ie(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await a.getData(e,nt,s.Yt,t),r},X=R;const{onprogress:ot}=n;if(ot)try{await ot(t+1,L,new Na(a))}catch{}yield nt}let lt=X,ut=fs(Q.subarray(X))||(rt?fs(nt):O);if(!ut&&!rt){const t=U+X,e=Math.min(q-t,65541);e>=6&&(ut=fs(await Qn(o,t,e)))}ut&&(s.digitalSignature=ut,lt=X+6+ut.length),h&&X!=H&&lt!=H&&Ts("trailing central directory data"),ct&&Ts("duplicate filename");const dt=ks(s,n,"extractPrependedData"),ft=ks(s,n,"extractAppendedData"),wt=(h||dt)&&L&&4==N&&await(async t=>{const e=await gs(t);return e==a||808471376==e})(o)?4:0;return h&&(B||L&&N>wt)&&Ts("prepended data"),dt&&(s.prependedData=N>wt?await Qn(o,wt,N-wt):C),s.comment=k?await Qn(o,T+d,k):C,ft&&(s.appendedData=v<o.size?await Qn(o,v,o.size-v):C),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class ls{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new cs(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}let us=class{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,a,o={}){const i=this,c=pt(),{reader:l,index:u,offset:d,diskNumberStart:f,extraFieldAES:w,extraFieldZip64:h,compressionMethod:p,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:E,uncompressedSize:S,compressedSize:g}=i,{dataDescriptor:x}=m,A=e.localDirectory={},z=Ss(l,f)+d,F=await Qn(l,z,R),D=Ft(F);let U=ks(i,o,M),T=ks(i,o,N);const k=ks(i,o,j);if(nt(U,T),U=U&&U.length&&U,T=T&&T.length&&T,w&&99!=w.originalCompressionMethod)throw Error(Ha);if(F.length<R||js(D,0)!=n)throw Error(La);ws(A,D,4);const{extraFieldLength:v,filenameLength:I}=A,V=ks(i,o,"checkLocalDirectory"),Z=As(o,i.options),H=((t,e)=>t===O?e!=J:!!t)(V,Z),q=((t,e)=>t===O?e==G:!!t)(V,Z);let K=C;if(q&&(I||v)){const t=await Qn(l,z+R,I+v);K=t.subarray(0,I),A.rawExtraField=t.subarray(I)}else A.rawExtraField=v?await Qn(l,z+R+I,v):C;q&&(A.rawFilename=K),hs(i,A,D,4,!0),H&&((t,e,r,n)=>{const{rawFilename:a}=t,s=t.Jt&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||Ts("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Ts("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Ts("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Ts("mismatched local file header (crc32 or sizes)")})(i,A,K,q);const{lastAccessDate:Y,creationDate:X,uid:Q,gid:$}=A;Y&&(e.lastAccessDate=Y),X&&(e.creationDate=X),Q!==O&&e.uid===O&&(e.uid=Q),$!==O&&e.gid===O&&(e.gid=$);const tt=i.encrypted&&A.encrypted&&!k,et=tt&&!w;if(k||(e.zipCrypto=et),tt&&!(64&~A.rawBitFlag))throw Error(Za);const at=k?O:Ve(p);if(0!=p&&8!=p&&9!=p&&!at&&!k)throw Error(Ha);if(tt){if(!et&&(w.strength<1||w.strength>3))throw Error(Za);if(!U&&!T)throw Error(Va)}const st=z+R+I+v;if(st+g>l.size)throw Error(Ya);const ot=g,it=ve(l.createReadable({offset:st,size:ot})),ct=rt(ks(i,o,P)),lt=ks(i,o,"checkPasswordOnly");let ut=ks(i,o,"checkOverlappingEntry");const dt=ks(i,o,"checkOverlappingEntryOnly");dt&&(ut=!0);const{onstart:ft,onprogress:wt,onend:ht}=o,mt=0!=p&&!k,yt=k?g:S,bt=9==p;let Et=ks(i,o,W);bt&&(Et=!1);const St=ks(i,o,"checkCrc32"),gt=(St===O?ks(i,o,"checkSignature"):St)&&!k&&(!tt||et||w&&1==w.vendorVersion),xt={options:{codecType:dr,password:U,rawPassword:T,zipCrypto:et,encryptionStrength:w&&w.strength,checkCrc32:gt,checkAuthenticationCode:ks(i,o,"checkAuthenticationCode"),passwordVerification:et&&(x?E>>>8&r:b>>>24&r),outputSize:yt,crc32:b,compressed:mt,encrypted:tt,useWebWorkers:ks(i,o,_),useCompressionStream:Et,transferStreams:ks(i,o,L),deflate64:bt,format:at?at.format:O,codecURI:at?at.codecURI:O,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:lt},config:c,ft:{signal:ct,size:ot,onstart:ft,onprogress:wt,onend:ht}};let At,zt;ut&&await(async({reader:t,$t:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,te:c,dataDescriptor:l,extraFieldZip64:u,Yt:d})=>{let f=0;if(l&&(f=u?20:12),f){const r=await Qn(t,c+o,f+4),n=Ft(r);let l=r.length==f+4&&js(n,0)==s;if(l){const t=Es(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==a)&&t.compressedSize==o&&t.uncompressedSize==i?f+=4:l=!1}if(r.length>=f){const t=Es(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+o+f,$t:e};for(const[t,e]of d)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(Ka);throw t.overlappingEntry=e.$t,t}d.set(r,w)})({reader:l,$t:e,index:u,offset:z,crc32:b,compressedSize:g,uncompressedSize:S,te:st,dataDescriptor:x||A.bitFlag.dataDescriptor,extraFieldZip64:h||A.extraFieldZip64,Yt:a});try{if(!dt){lt&&(t=new WritableStream),t=new Yn(t),await Xn(t,((t,e,r)=>Math.min(t,r?1032*e:e))(yt,g,mt)),({writable:At}=t);const{outputSize:e}=await Zr({readable:it,writable:At},xt);if(t.size+=e,e!=yt)throw Error(qe)}}catch(e){if(e.outputSize!==O&&(t.size+=e.outputSize),!lt||e.message!=Kt)throw zt=e,e}finally{if((Gn(t)||!ks(i,o,B))&&At&&!At.locked){const t=At.getWriter();if(zt)try{await t.abort(zt)}catch{}else await t.close()}}return lt||dt?O:t.getData?t.getData():At}};function ds(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==js(t,r))return!0;return!1}function fs(t){if(t.length>=6){const e=Ft(t);if(js(e,0)==o){const r=Ns(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function ws(t,e,r){const n=t.rawBitFlag=Ns(e,r+2),a=!(1&~n),s=js(e,r+6);Object.assign(t,{encrypted:a,version:Ns(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&E)==E},rawLastModDate:s,lastModDate:Is(s),filenameLength:Ns(e,r+22),extraFieldLength:Ns(e,r+24)})}function hs(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=Ft(s);let c=0;try{for(;c<s.length;){const t=Ns(i,c),e=Ns(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=Ns(r,n+4);Object.assign(e,{signature:js(r,n+10),crc32:js(r,n+10),compressedSize:js(r,n+14),uncompressedSize:js(r,n+18)});const u=o.get(1);u&&(((t,e)=>{e.zip64=!0;const r=Ft(t.data),n=ss.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+os[e].bytes,0);if(t.data.length<a)throw Error(Ba);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=os[i];e[o]=t[o]=c.Kt(r,s),s+=c.bytes}})(u,e),e.extraFieldZip64=u);const d=o.get(28789);d&&(ps(d,ta,ea,e,t),e.extraFieldUnicodePath=d);const f=o.get(25461);f&&(ps(f,ra,na,e,t),e.extraFieldUnicodeComment=f);const w=o.get(h);w&&w.data.length>=7?(((t,e,r)=>{const n=Ft(t.data),a=Ms(n,4);Object.assign(t,{vendorVersion:Ms(n,0),vendorId:Ms(n,2),strength:a,originalCompressionMethod:r,compressionMethod:Ns(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=O)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const E=o.get(13);E&&(ms(E,e),e.extraFieldPkwareUnix=E);const S=o.get(22613);S&&(ms(S,e),e.extraFieldUnixType1=S);const g=o.get(10);g&&(((t,e)=>{const r=Ft(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=Ns(r,a),s=Ns(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=Ft(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:Cs(a),lastAccessDate:Cs(s),creationDate:Cs(o)};Object.assign(t,i),Object.assign(e,i,{rawLastAccessDate:s,rawCreationDate:o})}})(g,e),e.extraFieldNTFS=g);const x=o.get(b);let A;if(x&&(A=ys(x,e,!1),e.extraFieldUnix=x),!A){const t=o.get(y);t&&(ys(t,e,!0),e.extraFieldInfoZip=t)}const z=o.get(p);z&&(((t,e,r)=>{if(!t.data.length)return;const n=Ft(t.data),a=Ms(n,0),s=[],o=[];r?(1&~a||(s.push(ca),o.push(la)),2&~a||(s.push(ua),o.push(da)),4&~a||(s.push(fa),o.push(wa))):t.data.length>=5&&(s.push(ca),o.push(la));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=js(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(z,e,a),e.extraFieldExtendedTimestamp=z);const R=o.get(m);R&&(e.extraFieldUSDZ=R)}function ps(t,e,r,n,a){if(t.data.length<5)return void(t.valid=!1);const s=Ft(t.data),o=new Nt;o.append(a[r]);const i=Ft(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=js(s,1);Object.assign(t,{version:Ms(s,0),[e]:Jr(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==js(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function ms(t,e){if(t.data.length<8)return;const r=Ft(t.data),n={lastAccessDate:new Date(1e3*(0|js(r,0))),lastModDate:new Date(1e3*(0|js(r,4)))};t.data.length>=12&&(n.uid=Ns(r,8),n.gid=Ns(r,10)),Object.assign(t,n),Object.assign(e,n)}function ys(t,e,r){try{const n=Ft(t.data);let a,s;if(r){let e=0;const r=Ms(n,e++),o=Ms(n,e++);a=bs(t.data.subarray(e,e+o)),e+=o;const i=Ms(n,e++);s=bs(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else t.data.length>=4&&(a=Ns(n,0),s=Ns(n,2),Object.assign(t,{uid:a,gid:s}));return a!==O&&(e.uid=a),s!==O&&(e.gid=s),a!==O||s!==O}catch{}}function bs(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Es(t,e,r){const n=js(t,e);let a,s;return r?(a=Ps(t,e+4),s=Ps(t,e+12)):(a=js(t,e+4),s=js(t,e+8)),{crc32:n,compressedSize:a,uncompressedSize:s}}function Ss(t,e){return t.qt?t.qt(e):0}async function gs(t){return js(Ft(await Qn(t,0,4)))}function xs(t){return t===G||t===X||t===J}function As(t,e){return zs(t,zs(e,X))}function zs(t,e){const r=t.strictness;if(r!==O){if(!xs(r))throw Error(Qa);return r}const n=t.checkAmbiguity;return n===O?e:n?G:e==J?J:X}function Rs(t,e){if(e==J)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||rs.test(t))||e==G&&(r.includes(".")||r.includes(""))}async function*Fs(t,e){const r=t.size-e,n=await Qn(t,r,e),a=Ft(n);for(let t=n.length-d;t>=0;t--)js(a,t)==c&&(yield[a,r,n,t,r+t])}function Ds(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function Os(r,n,a,s,o,c,l){const d=Ns(n,s+10),w=js(n,s+12),h=js(n,s+16);if(d==e||w==t||h==t)return await Us(r,n,a,o-f,c,l)==u?2:0;if(!d&&!w)return 1;const p=Ns(n,s+6);for(const t of[o-w,Ss(r,p)+h])if(await Us(r,n,a,t,c,l)==i)return 2;return 0}async function Us(t,e,r,n,a,s){return n<0||n+4>a?O:n>=r?js(e,n-r):s.count>0?(s.count--,js(Ft(await Qn(t,n,4)),0)):O}function Ts(t){const e=Error(Ga);throw e.reason=t,e}function ks(t,e,r){return e[r]===O?t.options[r]:e[r]}function vs(t,e,r){return et(ks(t,e,r))}function Is(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function Cs(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Ms(t,e){return t.getUint8(e)}function Ns(t,e){return t.getUint16(e,!0)}function js(t,e){return t.getUint32(e,!0)}function Ps(t,e){const r=t.getBigUint64(e,!0);if(r>is)throw Error(es);return Number(r)}var _s=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Ga,ERR_BAD_FORMAT:ja,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Wa,ERR_ENCRYPTED:Va,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Xa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Ya,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:_a,ERR_EOCDR_NOT_FOUND:Pa,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Ba,ERR_INVALID_AUTHENTICATION_CODE:qt,ERR_INVALID_COMPRESSED_DATA:Ke,ERR_INVALID_CRC32:Ye,ERR_INVALID_FILENAME_VALIDATION:$a,ERR_INVALID_MAX_APPENDED_DATA_SIZE:ts,ERR_INVALID_PASSWORD:Zt,ERR_INVALID_SIGNATURE:Ht,ERR_INVALID_STRICTNESS:Qa,ERR_INVALID_UNCOMPRESSED_SIZE:qe,ERR_LOCAL_FILE_HEADER_NOT_FOUND:La,ERR_OVERLAPPING_ENTRY:Ka,ERR_SPLIT_ZIP_FILE:qa,ERR_UNSAFE_FILENAME:Ja,ERR_UNSUPPORTED_COMPRESSION:Ha,ERR_UNSUPPORTED_ENCRYPTION:Za,ERR_UNSUPPORTED_UINT64:es,ERR_WORKER_STARTUP_TIMEOUT:hr,ZipReader:cs,ZipReaderStream:ls});const Ws="File already exists",Ls="Zip file comment exceeds 64KB",Bs="Invalid zip file comment (must be a Uint8Array)",Vs="File entry comment exceeds 64KB",Zs="Invalid file entry comment (must be a string)",Hs="Invalid date (must be a valid Date instance)",qs="File entry name exceeds 64KB",Ks="Version exceeds 65535",Ys="The strength must equal 1, 2, or 3",Gs="Encryption is not supported in USDZ files",Xs="Encryption is not supported when the 'passThrough' option is set",Js="Invalid extra field (must be a Map)",Qs="Invalid extra field type (must be integer 0..65535)",$s="Invalid extra field data (must be a Uint8Array)",to="Extra field data exceeds 64KB",eo=-2147483648,ro=2147483647,no=BigInt(0),ao=BigInt("0x7fffffffffffffff"),so="Zip64 is not supported (set the 'zip64' option to 'true')",oo="Undefined uncompressed size",io="Undefined compression method",co="Undetermined size",lo="Undefined reader",uo="Zip file not empty",fo="Invalid uid (must be integer 0..2^32-1)",wo="Invalid gid (must be integer 0..2^32-1)",ho="Invalid UNIX mode (must be integer 0..65535)",po="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",mo="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",yo="Invalid msdosAttributesRaw (must be integer 0..255)",bo="Invalid msdosAttributes (must be an object with boolean flags)",Eo="Invalid level (must be integer 0..9)",So="Signature data exceeds 64KB",go=new Uint8Array([7,0,2,0,65,69,3,0,0]),xo="infozip",Ao="unix";let zo=0;const Ro=[];class Fo{constructor(t,e={}){t=new Yn(t);const{availableSize:r=U,maxSize:n=U}=t;Object.assign(this,{writer:t,ee:r>0&&r!==U&&n>0&&n!==U,options:e,re:new Map,ne:new Set,offset:e[Z]===O?t.size||t.writable.size||0:e[Z],ae:e[Z]===O?0:e[Z]-(t.size||t.writable.size||0),se:new Set,oe:0,ie:O})}async prependZip(t){if(this.ne.size)throw Error(uo);t=new Kn(t),await Xn(t),t.size!==O&&t.readUint8Array||(t=new En(await Ie(t.readable)),await Xn(t));const{ZipReader:e}=await Promise.resolve().then(()=>_s),r=new e(t),n=await r.getEntries();await r.close(),await Xn(this.writer);const{directoryOffset:s}=r;this.ee&&(delete this.ee,await(async t=>Ft(await Qn(t,0,4)).getUint32(0,!0)==a)(t)||(await Yo(this.writer,Ko()),this.offset+=4));const o=await(async(t,e,r,n)=>{const{writer:a}=t,s=new Map;if(a.closeDisk){const o=Array.from(r).sort((t,r)=>qo(e,t)-qo(e,r));let i=0;for(const r of o){const n=qo(e,r);await Zo(t,e,i,n-i),Lo(a,await Ho(e,n))&&await a.closeDisk(),s.set(r,{offset:Bo(t,a),diskNumberStart:_o(a)}),i=n}await Zo(t,e,i,n-i)}else{const a=t.offset;await Zo(t,e,0,n),r.forEach(t=>s.set(t,{offset:a+qo(e,t),diskNumberStart:0}))}return s})(this,t,n,s);this.ne=new Set(n.map(t=>t.filename)),this.re=new Map(n.map(t=>{const{version:e,rawLastModDate:r,lastAccessDate:n,creationDate:a,rawFilename:s,bitFlag:i,encrypted:c,uncompressedSize:l,compressedSize:u,extraFieldZip64:d}=t;let{compressionMethod:f,ce:w,le:h,ue:p,de:m,fe:y,rawExtraField:b}=t;const{level:E,languageEncodingFlag:S,dataDescriptor:g}=i;w=w||C,h=h||C,p=p||C,m=m||C,y=y||C,b=Vo(b||C),t.extraFieldAES&&(f=99);const x=fi(w,h,p,m,y,b),A=!!d&&d.uncompressedSize!==O,z=!!d&&d.compressedSize!==O,R=-7&hi(E,S,g,c,f)|E<<1,{we:F,he:D}=wi({version:e,bitFlag:R,compressionMethod:f,uncompressedSize:l,compressedSize:u,rawLastModDate:r,rawFilename:s,pe:z,me:A,extraFieldLength:x}),{crc32:U}=t;U!==O&&li(D,10,U);const{offset:T,diskNumberStart:k}=o.get(t);return Object.assign(t,{me:A,pe:z,offset:T,diskNumberStart:k,ye:!1,ce:w,le:h,ue:p,de:m,fe:y,rawExtraField:b,extendedTimestamp:p.length>0||m.length>0,be:1+(n?2:0)+(a?4:0),we:F,he:D}),[t.filename,t]}))}async add(e="",n,a={}){const s=this;a=Object.assign({},a);const{se:o}=s;let i,c;zo<pt().maxWorkers?zo++:await new Promise(t=>Ro.push(t));try{if(e=e.trim(),$o(s,a,Fa)&&!e.endsWith(z)&&(e+=z),s.ne.has(e))throw Error(Ws);return s.ne.add(e),c=!0,i=(async(e,n,a,s)=>{const o=Uo(e,n,s);({name:n}=o);const i=To(e,n,s),{comment:c}=i,l=s[Ta];let u;e.re.set(n,O);try{const{Ee:c}=i;0==c.level||c.compressionMethod!==O||c.passThrough||await Er(pt())||(c.level=0);const l=await(async(t,e,{Ee:r},n)=>{if(r.passThrough&&!e&&!$o(t,n,Fa))throw Error(lo);let a;return e&&(e=new Kn(e),await Xn(e),({size:a}=e)),Object.assign({reader:e},vo(t,!!e,a,r,n))})(e,a,i,s);({reader:a}=l);const d=Wo(e.writer),f=_o(e.writer),w=Io(s=Object.assign({},s,o.Ee,i.Ee,l.Ee,{signature:s[Ua],crc32:s.crc32===O?s[Ua]:s.crc32,offset:e.offset-d,diskNumberStart:f,[H]:e.options[H]})),h=No(s),p=fi(w.Se,h.ge);u=await(async(e,n,a,s,o)=>{const{re:i,writer:c}=e,{keepOrder:l,dataDescriptor:u,xe:d,signal:f}=o,{Ae:w}=s,h=e.options[H],p=e.ie;let m,y,b,E,S,g,x,A={},z=0;i.set(n,A),e.ie=A;try{let y;l&&(y=p&&p.ze,A.ze=new Promise(t=>b=t)),o.bufferedWrite||!l||e.Re||e.oe||!u&&!d?(m=!0,e.oe++,x=o.createTempStream?await o.createTempStream():new TransformStream(O,O,{highWaterMark:U}),x.size=0,await Xn(c)):(x=c,await F()),await Xn(x);const T=Wo(c);e.ee&&(delete e.ee,await Yo(c,Ko()),e.offset+=4),h&&!m&&Co(s,e.offset-T);const{Se:k}=w;m||(await y,await D());const v=_o(c),I=Bo(e,c);if(A.diskNumberStart=v,m||(S=!0,g=c.size,await Yo(x,k)),A=await(async(e,n,{diskNumberStart:a,ze:s},o,i,c)=>{const{Ae:l,Fe:u,De:d}=o,{we:f,he:w,lastModDate:h,rawLastModDate:p,encrypted:m,compressed:y,version:b,compressionMethod:E,ce:S,Oe:g,ue:x,be:A,de:z,fe:R,le:F}=l,{ge:D}=u,{rawFilename:U,lastAccessDate:T,creationDate:k,password:v,rawPassword:I,level:C,zip64:M,me:N,pe:j,zipCrypto:P,dataDescriptor:_,directory:W,executable:L,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,symlink:st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt,useCompressionStream:ft,passThrough:wt,format:ht,codecURI:pt}=c,mt={ze:s,versionMadeBy:B,zip64:M,directory:!!W,executable:!!L,filenameUTF8:!0,rawFilename:U,commentUTF8:!0,rawComment:V,ce:S,Oe:g,ue:x,de:z,fe:R,le:F,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,symlink:!!st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt};let{crc32:yt,uncompressedSize:bt}=c,Et=0;wt||(bt=0);const{writable:St}=n;if(e){const a=ve($n(e)),s=e.size,o={options:{codecType:ur,level:C,rawPassword:I,password:v,encryptionStrength:J,zipCrypto:m&&P,passwordVerification:m&&P&&p>>8&r,computeCrc32:!wt,compressed:y&&!wt,encrypted:m&&!wt,useWebWorkers:H,useCompressionStream:ft,transferStreams:q,format:ht,codecURI:pt,compressionMethod:E},config:i,ft:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await Zr({readable:a,writable:St},o);if(Et=e.outputSize,n.size+=Et,wt||(bt=e.inputSize,m&&!P||(yt=e.crc32)),!j&&Et>=t||!N&&bt>=t)throw Error(so)}catch(t){throw t.outputSize!==O&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,Ae:n,Fe:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{he:l,encrypted:u}=n,{Ue:d,Te:f}=a;u&&!o&&!i||t===O||(li(l,10,t),c&&li(d,f,t)),s?c&&(ui(d,f+4,BigInt(e)),ui(d,f+12,BigInt(r))):(li(l,14,e),li(l,18,r),c&&(li(d,f+4,e),li(d,f+8,r)))})({crc32:yt,compressedSize:Et,uncompressedSize:bt,Ae:l,Fe:u},c),_&&await Yo(n,D),Object.assign(mt,{uncompressedSize:bt,compressedSize:Et,lastModDate:h,rawLastModDate:p,creationDate:k,lastAccessDate:T,encrypted:!!m,zipCrypto:!!P,size:d+Et,compressionMethod:E,version:b,we:f,he:w,signature:yt,crc32:!m||P||wt?yt:O,be:A,me:N,pe:j}),mt})(a,x,A,s,pt(),o),m||(S=!1),i.set(n,A),A.filename=n,m){if(await Promise.all([x.writable.getWriter().close(),y]),await F(),E=!0,g=c.size,await D(),A.diskNumberStart=_o(c),A.offset=Bo(e,c),h){const t=s.De;Co(s,e.offset-Wo(c)),A.size+=s.De-t}(({rawFilename:t,encrypted:e,zip64:r,Oe:n,crc32:a,compressedSize:s,uncompressedSize:o,me:i,pe:c},l,{dataDescriptor:u,passThrough:d})=>{if(u||((!e||d&&a!==O)&&li(l,14,a),c||li(l,18,s),i||li(l,22,o)),r&&n){const e=R+fi(t)+4;ui(l,e,BigInt(o)),ui(l,e+8,BigInt(s))}})(A,w.ke,o),await Yo(c,w.Se),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=fi(t),z+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(x.readable,c,f),c.size+=x.size,E=!1}else A.diskNumberStart=v,A.offset=I;return e.offset+=A.size,A}catch(t){if(E||S){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-g,m&&(e.offset+=z)}throw i.delete(n),t}finally{if(m&&e.oe--,b&&b(),y&&y(),m&&x&&x.dispose)try{await x.dispose()}catch{}}async function F(){e.Re=!0;const{ve:t}=e;e.ve=new Promise(t=>y=()=>{e.Re=!1,t()}),await t}async function D(){Lo(c,fi(w.Se))&&await c.closeDisk()}})(e,n,a,{Ae:w,Fe:h,De:p},s)}catch(t){throw e.re.delete(n),t}return Object.assign(u,{name:n,comment:c,extraField:l,[ma]:u.internalFileAttributes,[ya]:u.externalFileAttributes}),new Na(u)})(s,e,n,a),o.add(i),await i}catch(t){throw c&&s.ne.delete(e),t}finally{o.delete(i);const t=Ro.shift();t?t():zo--}}remove(t){const{ne:e,re:r}=this;if(typeof t==I&&(t=r.get(t)),t&&t.filename!==O){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=C,n={}){const{se:a,writer:s}=this,{writable:f}=s;if(!(r instanceof Uint8Array))throw Error(Bs);if(fi(r)>e)throw Error(Ls);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=jo(r.re),{Ie:f,Ce:w}=await(async(r,n,a)=>{const{re:s,writer:o}=r,c=new Uint8Array(n);await Xn(o);let l=0,u=0,d=_o(o),f=Wo(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:h,ce:p,le:m,ue:y,de:b,fe:E,rawExtraField:S,rawComment:g,versionMadeBy:x,we:A,he:z,me:R,pe:F,ye:D,Me:O,internalFileAttributes:U,externalFileAttributes:T,diskNumberStart:k,uncompressedSize:v,compressedSize:I}=n,C=fi(p,m,y,b,E,S),M=46+fi(h,g)+C;Lo(o,l+M-u)&&(await Yo(o,c.slice(u,l)),u=l,await o.closeDisk()),0==r&&(d=_o(o),f=Wo(o)),R||li(z,18,v),F||li(z,14,I),(O||D)&&n.version<45&&ci(z,0,45);const N=Po(M);if(N.Ne(i),N.je(x),N.Pe(A.subarray(0,24)),N.je(C),N.je(fi(g)),N.je(D?e:k),N.je(U),N.Ne(T),N.Ne(O?t:w),N.Pe(h),N.Pe(p),N.Pe(m),N.Pe(y),N.Pe(b),N.Pe(E),N.Pe(S),N.Pe(g),di(c,N.Lt,l),l+=M,a.onprogress)try{await a.onprogress(r+1,s.size,new Na(n))}catch{}}return await Yo(o,u?c.slice(u):c),{Ie:{diskNumber:d,diskOffset:f},Ce:c}})(r,s,a),h=await(async(t,r,n)=>{const a=ei(t,n,q);if(a){const n=await a(r),s=fi(n);if(s>e)throw Error(So);const i=Po(6+s);i.Ne(o),i.je(s),i.Pe(n);const{writer:c}=t;return Lo(c,fi(i.Lt))&&await c.closeDisk(),await Yo(c,i.Lt),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{Ie:i,_e:f}=s;let{We:w}=s,h=r.re.size,p=i.diskNumber,m=Bo(r,i),y=_o(o);Lo(o,d)&&y++;let b=$o(r,a,ga);if(m>=t||w>=t||h>=e||y>=e){if(!1===b)throw Error(so);b=!0}const E=fi(n);if(E>e)throw Error(Ls);const S=Po(b?98:d);Lo(o,fi(S.Lt)+E)&&await o.closeDisk(),y=_o(o),b&&(S.Ne(l),S.Le(44),S.je(45),S.je(45),S.Ne(y),S.Ne(p),S.Le(h),S.Le(h),S.Le(w),S.Le(m),S.Ne(u),S.Ne(y),S.Le(BigInt(Bo(r,o))+BigInt(w)+BigInt(f)),S.Ne(y+1),$o(r,a,"supportZip64SplitFile",!0)&&(y=e,p=e),h=e,m=t,w=t),S.Ne(c),S.je(y),S.je(p),S.je(h),S.je(h),S.Ne(w),S.Ne(m),S.je(E),await Yo(o,S.Lt),E&&await Yo(o,n)})(r,n,a,{Ie:f,We:s,_e:h})})(this,r,n),!Gn(s)&&$o(this,n,B)||await f.getWriter().close(),s.getData?s.getData():f}}class Do{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Fo(r,t),this.se=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return Oo(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Oo(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.se)),this.zipWriter.close(t,e)}}function Oo(t,e,r){t.se.add(e),e.catch(t=>{try{r(t)}catch{}})}function Uo(n,a,s){a=a.trim();let o=$o(n,s,Sa),i=$o(n,s,za,o?20:768);const c=$o(n,s,Da),l=ai(n,s,"uid"),u=ai(n,s,"gid");let d=ai(n,s,ka),f=$o(n,s,"unixExtraFieldType"),w=$o(n,s,va),h=$o(n,s,Ia),p=$o(n,s,Ca);if(st(l,t,fo),st(u,t,wo),st(d,e,ho),f!==O&&f!==xo&&f!==Ao)throw Error(po);if(f===Ao&&(l!==O&&l>e||u!==O&&u>e))throw Error(mo);f!==O||l===O&&u===O||(f=xo);let m=ai(n,s,ba),y=$o(n,s,Ea);const b=m!==O||y!==O;if(l!==O||u!==O||d!==O||f||c?(o=!1,i=i&r|768):b&&(o=!0,i&=r),st(m,r,yo),y&&(typeof y!==v||Array.isArray(y)))throw Error(bo);if(i>e)throw Error(Ks);let E=ri(n,s,pa,ya);const R=E!==O;R||(E=0),!s[Fa]&&a.endsWith(z)&&(s[Fa]=!0);const F=$o(n,s,Fa);if(F?(a.endsWith(z)||(a+=z),R||(E=16,o||(E|=16877<<16))):o||R||(E=c?493<<16:27525120),!o){const t=d!==O||!!(w||h||p);d=d===O?E>>16&e:d&e,w?d|=x:w=!!(d&x),h?d|=A:h=!!(d&A),p?d|=512:p=!!(512&d),R&&!t||(F?d=-61441&d|g:d&S||(d|=32768),E=(d&e)<<16|E&e)}return({msdosAttributesRaw:m,msdosAttributes:y}=((t,e)=>{if(t!==O)t&=r;else if(e!==O){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===O&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(m,y)),b&&(E=E&t|m&r),{name:a,Ee:{versionMadeBy:i,msDosCompatible:!!o,externalFileAttributes:E,unixExternalUpper:E>>16&e,uid:l,gid:u,unixMode:d,unixExtraFieldType:f,symlink:d!==O&&40960==(d&S),setuid:w,setgid:h,sticky:p,msdosAttributesRaw:m,msdosAttributes:y}}}function To(t,r,n){const a=ei(t,n,"encodeText")||Pt;let s=a(r,K);if(s===O&&(s=Pt(r)),fi(s)>e)throw Error(qs);const o=n[ra]||"";if(typeof o!=I)throw Error(Zs);let i=a(o,Y);if(i===O&&(i=Pt(o)),fi(i)>e)throw Error(Vs);const c=$o(t,n,Aa,20);if(c>e)throw Error(Ks);const l=ti(t,n,ca,new Date),u=ti(t,n,ua),d=ti(t,n,fa),f=ri(t,n,ha,ma,0),w=$o(t,n,j),h=$o(t,n,M),p=$o(t,n,N);nt(h,p);const m=ai(t,n,"encryptionStrength",3),y=$o(t,n,Ra),b=$o(t,n,"extendedTimestamp",!0),E=$o(t,n,"ntfsTimestamp"),S=$o(t,n,"keepOrder",!0),g=$o(t,n,_),x=$o(t,n,L),A=$o(t,n,"bufferedWrite"),z=ei(t,n,"createTempStream"),R=$o(t,n,"dataDescriptorSignature",!0),F=rt($o(t,n,P)),D=$o(t,n,"useUnicodeFileNames",!0),U=$o(t,n,Oa),T=w||U===O?O:Ve(U);if(!w&&U!==O&&0!==U&&8!==U&&!T)throw Error("Compression method not supported");let k=ai(t,n,"level");if(st(k,9,Eo),t.options[H]){if(h!==O||p!==O)throw Error(Gs);k===O&&U===O&&(k=0)}w&&(k=O);let v=$o(t,n,W),C=$o(t,n,V);A&&C===O&&(C=!1),(C===O||y)&&(C=!0),k!==O&&6!=k&&(v=!1);const B=$o(t,n,ga);if(!(y||h===O&&p===O||Number.isInteger(m)&&m>=1&&m<=3))throw Error(Ys);const Z=ko(n[Ta]),q=ko(n.localExtraField);return{comment:o,Ee:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:u,creationDate:d,internalFileAttributes:f,passThrough:w,password:h,rawPassword:p,encryptionStrength:m,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:E,keepOrder:S,useWebWorkers:g,transferStreams:x,bufferedWrite:A,createTempStream:z,dataDescriptorSignature:R,signal:F,useUnicodeFileNames:D,compressionMethod:U,format:T?T.format:O,codecURI:T?T.codecURI:O,Be:T?T.versionNeeded:O,level:k,useCompressionStream:v,dataDescriptor:C,zip64:B,rawExtraField:Z,Ve:q}}}function ko(t){if(!t)return C;if(!(t instanceof Map))throw Error(Js);let r=0,n=0;t.forEach((t,n)=>{if(at(n,e,Qs),!(t instanceof Uint8Array))throw Error($s);if(fi(t)>e)throw Error(to);r+=4+fi(t)});const a=new Uint8Array(r),s=Ft(a);return t.forEach((t,e)=>{ci(s,n,e),ci(s,n+2,fi(t)),di(a,t,n+4),n+=4+fi(t)}),a}function vo(e,r,n,a,s){const{passThrough:o,zipCrypto:i,password:c,rawPassword:l,encryptionStrength:u}=a;let{dataDescriptor:d,zip64:f,level:w,compressionMethod:h}=a,p=0,m=0;if(o&&r){if(m=s[aa],m===O)throw Error(oo);if(h===O)throw Error(io)}const y=!0===f,b=$o(e,s,xa);if(r&&o&&!b&&fi(c,l))throw Error(Xs);const E=r&&(!!(c&&fi(c)||l&&fi(l))||o&&b);r||(w=0,h=0);const S=E?i?12:16+4*u:0;r&&(o?(s.uncompressedSize=m,p=n===O?si(m)+S:n):n===O?(d=!0,(f||f===O)&&(f=!0,m=p=4294967296)):(s.uncompressedSize=m=n,p=(oi(h,w)?si(m):m)+S));const g=!(E||r&&(0!==n||o)||oi(h,w));g&&!i&&$o(e,s,V)===O&&(d=!1);const x=y||m>=t,A=y||p>=t;if(x||A){if(!1===f)throw Error(so);f=!0}return f=f||!1,{Ze:p,Ee:{dataDescriptor:d,xe:g,zip64:f,me:x,pe:A,uncompressedSize:m,level:w,compressionMethod:h,encrypted:E}}}function Io(t){const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:d,directory:f,rawExtraField:w,Ve:m,encryptionStrength:E,extendedTimestamp:S,ntfsTimestamp:g,passThrough:x,encrypted:A,me:z,pe:U,uncompressedSize:T,crc32:k}=t;let{version:v,compressionMethod:I}=t;const M=!f&&oi(I,i);let N;const j=x||!M,P=c&&(t.bufferedWrite||!d||!z&&!U||j),_=P||c&&d&&(z||U);if(c&&(z||U)){const t=20,e=Po(t);if(e.je(1),e.je(t-4),N=e.Lt,P&&(e.Le(T),j)){const t=A?l?12:16+4*E:0;e.Le(x?0:T+t)}}else N=C;let W,L,B,V,Z;if(A&&!l){const t=Po(fi(go)+2);t.je(h),t.Pe(go),W=t.Lt,W[8]=E}else W=C;if(S){const t=Xo(a),e=Jo(t);if(e){const e=9+(s?4:0)+(o?4:0),r=Po(e);V=1+(s?2:0)+(o?4:0),r.je(p),r.je(e-4),r.He(V),r.Ne(t),s&&r.Ne(Qo(Xo(s))),o&&r.Ne(Qo(Xo(o))),B=r.Lt}else B=C;if(g===O?!e||s||o:g)try{const t=Go(a),e=Po(36);e.je(10),e.je(32),e.qe(4),e.je(1),e.je(24),e.Le(t),e.Le(s?Go(s):t),e.Le(o?Go(o):t),L=e.Lt}catch{L=C}else L=C}else L=B=C;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=xo||r===O&&n===O)if(a!=Ao||r===O&&n===O)Z=C;else{const t=Po(8);t.je(b),t.je(4),t.je((r===O?0:r)&e),t.je((n===O?0:n)&e),Z=t.Lt}else{const t=Mo(r===O?0:r),e=Mo(n===O?0:n),a=3+t.length+e.length,s=Po(4+a);s.je(y),s.je(a),s.He(1),s.He(t.length),s.Pe(t),s.He(e.length),s.Pe(e),Z=s.Lt}}catch{Z=C}I===O&&(I=M?8:0);const{Be:q}=t;M&&q!==O&&(v=v>q?v:q),c&&(v=v>45?v:45),A&&!l&&(v=v>51?v:51,x&&k!==O&&(W[4]=1),ci(Ft(W),9,I),I=99);const K=_?fi(N):0,Y=K+fi(W,B,L,Z,w,m);if(Y+(t[H]?67:0)>e)throw Error(to);const G=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{we:X,he:J,rawLastModDate:Q}=wi({version:v,bitFlag:hi(i,u,d,A,I),compressionMethod:I,uncompressedSize:T,lastModDate:G<D?D:G>F?F:G,rawFilename:r,pe:U,me:z,extraFieldLength:Y}),$=Po(R+fi(r)+Y),tt=$.Lt,et=Ft(tt);return $.Ne(n),$.Pe(X),$.Pe(r),_&&$.Pe(N),$.Pe(W),$.Pe(B),$.Pe(L),$.Pe(Z),$.Pe(w),$.Pe(m),d&&(U||li(et,18,0),z||li(et,22,0)),{Se:tt,ke:et,we:X,he:J,lastModDate:a,rawLastModDate:Q,encrypted:A,compressed:M,version:v,compressionMethod:I,be:V,ce:C,Oe:K,ue:B,de:L,fe:Z,le:W,extraFieldLength:Y}}function Co(t,e){const{Ae:r}=t;let{Se:n,extraFieldLength:a}=r,s=64-(e+fi(n))%64;s<4&&(s+=64);const o=new Uint8Array(s),i=Ft(o);ci(i,0,m),ci(i,2,s-4);const c=n;r.Se=n=new Uint8Array(fi(c)+s),di(n,c),di(n,o,fi(c));const l=Ft(n);ci(l,28,a+s),r.ke=l,t.De+=s}function Mo(t){const e=new Uint8Array(4);Ft(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}function No({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,a=C,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=Ft(a),r&&(o=4,li(n,0,s))),{ge:a,Ue:n,Te:o}}function jo(r){let n=0;for(const[,a]of r){const{rawFilename:r,le:s,rawComment:o,de:i,fe:c,rawExtraField:l,extendedTimestamp:u,be:d,lastModDate:f,me:w,pe:h,uncompressedSize:m,compressedSize:y}=a,b=a.offset>=t,E=a.diskNumberStart>=e;let S,g;if(b||E||w||h){const t=4+(w?8:0)+(h?8:0)+(b?8:0)+(E?4:0),e=Po(t);e.je(1),e.je(t-4),w&&e.Le(m),h&&e.Le(y),b&&e.Le(a.offset),E&&e.Ne(a.diskNumberStart),S=e.Lt}else S=C;a.ce=S,a.Me=b,a.ye=E;const x=Xo(f);if(u&&Jo(x)){const t=Po(9);t.je(p),t.je(5),t.He(d),t.Ne(x),g=t.Lt}else g=C;a.ue=g;const A=fi(S,s,i,c,g,l);if(A>e)throw Error(to);n+=46+fi(r,o)+A}return n}function Po(t){const e=new Uint8Array(t),r=Ft(e);let n=0;return{Lt:e,He:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},je:t=>{ci(r,n,t),n+=2},Ne:t=>{li(r,n,t),n+=4},Le:t=>{ui(r,n,BigInt(t)),n+=8},Pe:t=>{di(e,t,n),n+=fi(t)},qe:t=>n+=t}}function _o(t){const{diskNumber:e=0}=t;return e}function Wo(t){const{diskOffset:e=0}=t;return e}function Lo(t,e){const{availableSize:r=U}=t;return e>r}function Bo(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ae:0)}function Vo(t){const e=Ft(t);let r=0;for(;r+4<=fi(t);){const n=4+ii(e,r+2);if(1==ii(e,r))return Vo(zt(t.subarray(0,r),t.subarray(Math.min(r+n,fi(t)))));r+=n}return t}async function Zo(t,e,r,n){if(n>0){const{writer:a}=t;await $n(e,{offset:r,size:n}).pipeTo(a.writable,{preventClose:!0,preventAbort:!0}),a.size+=n,t.offset+=n}}async function Ho(t,e){const r=await Qn(t,e,R);if(fi(r)<R)return R;const n=Ft(r);return R+ii(n,26)+ii(n,28)}function qo(t,{offset:e,diskNumberStart:r}){return e+(t.qt?t.qt(r):0)}function Ko(){const t=new Uint8Array(4);return li(Ft(t),0,a),t}async function Yo(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=fi(e),await n.write(e)}finally{n.releaseLock()}}function Go(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<no?no:e>ao?ao:e}}function Xo(t){return Math.floor(t.getTime()/1e3)}function Jo(t){return t>=eo&&t<=ro}function Qo(t){return Math.min(ro,Math.max(eo,t))}function $o(t,e,r,n){const a=e[r]===O?t.options[r]:e[r];return a===O?n:a}function ti(t,e,r,n){const a=$o(t,e,r,n);if(null===a)return n;if(a!==O&&(typeof a.getTime!=k||Number.isNaN(a.getTime())))throw Error(Hs);return a}function ei(t,e,r){return et($o(t,e,r))}function ri(t,e,r,n,a){const s=ni(e,r,n),o=s===O?ni(t.options,r,n):s;return o===O?a:o}function ni(t,e,r){return t[e]===O?t[r]:t[e]}function ai(t,e,r,n){return ot($o(t,e,r,n))}function si(t){return t+5*(Math.floor(t/16383)+1)}function oi(t,e){return t===O?e===O||e>0:0!==t}function ii(t,e){return t.getUint16(e,!0)}function ci(t,e,r){t.setUint16(e,r,!0)}function li(t,e,r){t.setUint32(e,r,!0)}function ui(t,e,r){t.setBigUint64(e,r,!0)}function di(t,e,r){t.set(e,r)}function fi(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function wi({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,pe:l,me:u,extraFieldLength:d}){const f=Po(26),w=f.Lt,h=Ft(w);if(f.je(e),f.je(r),f.je(n),i===O){const t=new Uint32Array(1),e=Ft(t);ci(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),ci(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.Ne(i),f.qe(4),l||s!==O?f.Ne(l?t:s):f.qe(4),u||a!==O?f.Ne(u?t:a):f.qe(4),f.je(fi(c)),f.je(d),{we:w,he:h,rawLastModDate:i}}function hi(t,e,r,n,a){let s=0;return e&&(s|=E),r&&(s|=8),8!=a&&9!=a||(t>=0&&t<=3&&(s|=6),t>3&&t<=5&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function pi(){return"application/octet-stream"}const mi=1048576,yi=".zip.js-temp";function bi(t={}){const{thresholdBytes:e=mi,directoryName:r=yi,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Ei=1048576;function Si(t={}){const{thresholdBytes:e=Ei}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=Ie(e.readable),r=e.writable.getWriter(),o=!0;for(const e of t)await r.write(e);t.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const gi=1048576,xi=".zip.js-temp",Ai="createSyncAccessHandle is only available in dedicated workers";function zi(t={}){const{thresholdBytes:e=gi,directoryName:r=xi,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(Ai);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{xt({baseURI:import.meta.url})}catch{}let Ri,Fi,Di,Oi,Ui;function Ti(t,e,r={}){if(!Ri){const t=Error("WASM module not loaded");throw t.cause=Ui,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Ke=Fi(a),this.in=Fi(s),this.inBufferSize=s,!this.Ke||!this.in)throw Error("allocation failed");if(this.Ye=new Uint8Array(a),t?(this.Ge=Ri.deflate_process,this.Xe=Ri.deflate_last_consumed,this.Je=Ri.deflate_end,this.Qe=Ri.deflate_new(),r="gzip"===e?Ri.deflate_init_gzip(this.Qe,n):"deflate-raw"===e?Ri.deflate_init_raw(this.Qe,n):Ri.deflate_init(this.Qe,n)):"deflate64-raw"===e?(this.Ge=Ri.inflate9_process,this.Xe=Ri.inflate9_last_consumed,this.Je=Ri.inflate9_end,this.Qe=Ri.inflate9_new(),r=Ri.inflate9_init_raw(this.Qe)):(this.Ge=Ri.inflate_process,this.Xe=Ri.inflate_last_consumed,this.Je=Ri.inflate_end,this.Qe=Ri.inflate_new(),r="deflate-raw"===e?Ri.inflate_init_raw(this.Qe):"gzip"===e?Ri.inflate_init_gzip(this.Qe):Ri.inflate_init(this.Qe)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(Oi.buffer),o=this.Ge,i=this.Xe,c=this.Ke,l=this.Ye;let u=0;for(;u<n.length;){const e=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&Di&&(Di(this.in),this.in=0),this.in=Fi(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(u,u+e),this.in);const d=o(this.Qe,this.in,e,c,a,0),f=16777215&d;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=d>>24&255,e=128&t?t-256:t;if(e<0)throw Error("process error:"+e)}const w=i(this.Qe);if(0===w)break;u+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(Oi.buffer),n=this.Ge,s=this.Ke,o=this.Ye;for(;;){const i=n(this.Qe,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(t<0)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.Qe&&t.Je&&(e=t.Je(t.Qe)),t.Qe=0,t.in&&Di&&Di(t.in),t.in=0,t.Ke&&Di&&Di(t.Ke),t.Ke=0,e}}class ki{constructor(t="deflate",e){return Ti(!0,t,e)}}class vi{constructor(t="deflate",e){return Ti(!1,t,e)}}ki.ut=!0,vi.ut=!0;let Ii,Ci=!1;function Mi(){Ii=null,(async()=>{await Promise.allSettled(_r.map(t=>(Gr(t),t.terminate()))),pr=O,mr=!1})(),Ci=!1,Ri=Fi=Di=Oi=Ui=null}(({$e:t})=>{br=t})({$e:t=>{if(!Ii){let{wasmURI:e}=t;typeof e==k&&(e=e()),Ii=(async(t,{baseURI:e})=>{if(!Ci)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;t<n;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(Ri=t,({malloc:Fi,free:Di,memory:Oi}=Ri),"function"!=typeof Fi||"function"!=typeof Di||!Oi)throw Ri=Fi=Di=Oi=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),Ci=!0}catch(t){throw(t=>{Ui=t})(t),t}})(e,t).catch(t=>{throw Ii=null,t})}return Ii}}),xt({CompressionStreamFallback:ki,DecompressionStreamFallback:vi}),xt({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const Ni="Entry filename already exists",ji="Readable stream already consumed",Pi="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",_i="Invalid readerOptions (must be an object)",Wi="zipjs-abort-export",Li="The operation was aborted",Bi=new Set([1,h,10,p,28789,25461,m,y,b,22613,13]);class Vi{constructor(t,e,r,n){const a=this;if(t.root&&n&&n.getChildByName(e))throw Error(Ni);r||(r={}),Object.assign(a,{fs:t,name:e,data:r.data,options:r.options&&Object.assign({},r.options),id:t.er++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,rr:r.rr||r.uncompressedSize===O,passThrough:r.passThrough,nr:r.nr||new Date}),!n&&t.root||(t.entries[a.id]=a),n&&a.parent.children.push(a)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,r=this.parent;for(;r&&r!=t;)e=(r.name?r.name+"/":"")+e,r=r.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return!!e}rename(t){const e=this.parent;if(e&&e.getChildByName(t))throw Error(Ni);this.name=t}setOptions(t){const e=Object.assign({},this.options,t);this.options=Object.fromEntries(Object.entries(e).filter(([,t])=>t!==O))}}class Zi extends Vi{constructor(t,e,r,n){super(t,e,r,n);const a=this;a.Reader=r.Reader,a.Writer=r.Writer,r.getData&&(a.getData=r.getData)}clone(){return new Zi(this.fs,this.name,this)}async getData(t,e={}){const r=this;if(!t||t.constructor==r.Writer&&r.data&&((t,e)=>{const{contentType:r}=t;return r===O||(t.constructor==Sn?e.type==r:t.constructor!=mn||e.startsWith("data:"+(r||"")+";base64,"))})(t,r.data))return r.data;{const n=r.reader=$i(r.Reader,r.data,e),a=r.uncompressedSize||n.size;await Promise.all([Xn(n),Xn(t,a)]);const s=rt(e.signal),o=((t,e,r,n)=>{const{onstart:a,onprogress:s,onend:o}=r,{readable:i}=e;return t.data instanceof Na||!a&&!s&&!o?i:ve(i).pipeThrough(new xr({onstart:a,onprogress:s,onend:o,size:e.size}),{signal:n})})(r,n,e,s),i=!Gn(t)&&!!e.preventClose;return r.uncompressedSize=n.size,await ve(o).pipeTo(Ce(t.writable),{signal:s,preventClose:i,preventAbort:i}),t.getData?t.getData():t.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,Object.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(t.message==Zt)return!1;throw t}}getText(t,e){return this.getData(new An(t),e)}getBlob(t,e){return this.getData(new Sn(t),e)}getData64URI(t,e){return this.getData(new mn(t),e)}getUint8Array(t){return this.getData(new Zn,t)}getWritable(t=new WritableStream,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return Rt(await this.getUint8Array(t)).buffer}replaceBlob(t){Object.assign(this,{data:t,Reader:En,Writer:Sn,reader:null})}replaceText(t){Object.assign(this,{data:t,Reader:gn,Writer:An,reader:null})}replaceData64URI(t){Object.assign(this,{data:t,Reader:pn,Writer:mn,reader:null})}replaceUint8Array(t){Object.assign(this,{data:t,Reader:Vn,Writer:Zn,reader:null})}replaceReadable(t){Object.assign(this,{data:null,Reader:Ji(t),Writer:null,reader:null})}}class Hi extends Vi{constructor(t,e,r,n){super(t,e,r,n),this.directory=!0}clone(t){const e=this,r=new Hi(e.fs,e.name,e);return t&&(r.children=e.children.map(e=>{const n=e.clone(t);return n.parent=r,n})),r}addDirectory(t,e){return dc(this,t,{options:e},!0)}addText(t,e,r={}){return dc(this,t,{data:e,Reader:gn,Writer:An,options:r,uncompressedSize:xn(e)})}addBlob(t,e,r={}){return dc(this,t,{data:e,Reader:En,Writer:Sn,options:r,uncompressedSize:e.size})}addData64URI(t,e,r={}){let n=e.length;for(;"="==e.charAt(n-1);)n--;const a=e.indexOf(",")+1;return dc(this,t,{data:e,Reader:pn,Writer:mn,options:r,uncompressedSize:Math.floor(.75*(n-a))})}addUint8Array(t,e,r={}){return dc(this,t,{data:e,Reader:Vn,Writer:Zn,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return dc(this,t,{data:e,Reader:class extends Ln{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return dc(this,t,{Reader:Ji(e),options:r})}addFileSystemEntry(t,e={}){return cc(this,t,e)}addFileSystemHandle(t,e={}){return cc(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),dc(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}importBlob(t,e){return this.importZip(new En(t),e)}importData64URI(t,e){return this.importZip(new pn(t),e)}importUint8Array(t,e){return this.importZip(new Vn(t),e)}importHttpContent(t,e){return this.importZip(new Ln(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new Sn(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new mn(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new Zn,t)}async exportWritable(t=new WritableStream,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return(async(t,e,r)=>{const{onstart:n,onprogress:a,onend:s}=r,o=sc(r.readerOptions),i=new AbortController,{signal:c}=i,l=((t,e)=>{if(!rt(t))return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const r=()=>e.abort(t.reason);return t.addEventListener("abort",r,{once:!0}),()=>t.removeEventListener("abort",r)})(r.signal,i),u=Object.assign({},r,o,{signal:c,onstart:O,onprogress:O,onend:O,preventClose:!1}),d=Yi([t],t=>Xi(t,u.passThrough)),f=[];let w=!1,h=0;try{n&&await Ar(n,d),await m(t,e),s&&await Ar(s,h)}catch(t){try{t.exportedEntryNames=f}catch{}throw t}finally{l()}return e;function p(t){const e=t.getWriter();return new WritableStream({async write(t){await e.write(t),h+=t.length,a&&await Ar(a,h,d)},close:()=>e.close(),abort:t=>e.abort(t)})}async function m(t,e){if(r.concurrent){const r=(await Promise.allSettled(t.children.map(t=>y(t,e)))).filter(t=>"rejected"==t.status);if(r.length){const t=r.filter(t=>!rc(t.reason));throw(t=>{const[e]=t,r=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(r.length)try{e.entryErrors=[...e.entryErrors||[],...r]}catch{}return e})((t.length?t:r).map(t=>t.reason))}}else for(const r of t.children)await y(r,e)}async function y(e,r){if(c.aborted){if(w||rc(c.reason))return;throw c.reason===O?new DOMException(Li,"AbortError"):c.reason}try{if(e.directory){const t=await r.getDirectoryHandle(e.name,{create:!0});await m(e,t)}else{const n=await r.getFileHandle(e.name,{create:!0}),a=await n.createWritable();try{await e.getData({writable:p(a)},u)}catch(t){throw w?Error(Wi):t}f.push(e.getRelativeName(t))}}catch(r){w=!0,i.abort(Error(Wi));try{r.entryName===O&&(r.entryName=e.getRelativeName(t),r.entryId=e.id)}catch{}throw r}}})(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==k?(r=t,e=Object.assign({},r.options,e)):(await Xn(t),r=new cs(t,e));const n=[],a=await r.getEntries(e);for(const t of a){let r=this;try{const a=t.filename.split("/").filter(t=>""!=t&&"."!=t),s=a.pop();if(a.forEach(t=>{const e=r;if(r=r.getChildByName(t),r){if(!r.directory)throw Error(Ni)}else r=new Hi(this.fs,t,{data:null},e),n.push(r)}),t.directory){let e=r;if(s)if(e=r.getChildByName(s),e){if(!e.directory)throw Error(Ni)}else e=new Hi(this.fs,s,{data:null},r),n.push(e);e==this||e.data||(e.data=t)}else n.push(dc(r,s,{data:t,Reader:Qi(Object.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}catch(e){try{e.cause={entry:t}}catch{}throw e}}return n}async exportZip(t,e={}){const r=this;(e=Object.assign({},e)).bufferedWrite===O&&(e.bufferedWrite=!0);const[n]=await Promise.all([tc(r,sc(e.readerOptions)),Xn(t)]),a=new Fo(t,e);return await(async(t,e,r,n,a)=>{const{onstart:s,onprogress:o,onend:i,onentryprogress:c}=n,l=e,u=Yi(e.children,t=>ic(t)?0:1);let d=0,f=0;if(s&&await Ar(s,r),n.bufferedWrite)await async function t(e){const r=(await Promise.allSettled(e.children.map(async e=>{await w(e),await t(e)}))).find(t=>"rejected"==t.status);if(r)throw r.reason}(e);else for(const t of e.getChildren({recursive:!0}))await w(t);async function w(e){if(ic(e))return;const{name:s,ar:i}=nc(e,l,n);let w=0;const h=await t.add(s,a.get(e),Object.assign(i,{onstart:O,onend:O,onprogress:async t=>{d+=t-w,w=t,o&&await Ar(o,d,r)}}));f++,c&&await Ar(c,f,u,h)}i&&await Ar(i,d)})(a,r,Yi([r],Gi),e,n),await a.close(e.globalComment),t.getData?t.getData():t.writable}getExportedSize(r={}){const n=this;sc((r=Object.assign({},r)).readerOptions),r.bufferedWrite===O&&(r.bufferedWrite=!0);const a=!r.bufferedWrite||!1!==r.keepOrder&&n.children.every(t=>!t.children.length);return(async(r,n,a,s)=>{const o={options:r};if(et(r[q]))throw Error(co);if(s!==O&&!(s instanceof Uint8Array))throw Error(Bs);const i=fi(s);if(i>e)throw Error(Ls);const c=r[H],l=new Map;let u=!!c;const f=r[Z]===O?0:r[Z];let w=f,h=U;for(const t of n){let{name:e}=t;const{size:r}=t,n=Object.assign({},t.options);e=e.trim(),$o(o,n,Fa)&&!e.endsWith(z)&&(e+=z);const a=Uo(o,e,n);({name:e}=a);const{Ee:s}=To(o,e,n);0==s.level||s.compressionMethod!==O||s.passThrough||await Er(pt())||(s.level=0);const i=!$o(o,n,Fa);if(i&&r===O)throw Error(co);const{Ze:u,Ee:d}=vo(o,i,r,s,n);if(i&&!s.passThrough&&oi(d.compressionMethod,d.level))throw Error(co);const f=Object.assign({},n,a.Ee,s,d,{[H]:c}),p=Io(f),m=No(f),y={Ae:p,De:fi(p.Se,m.ge)};c&&Co(y,w);const b=i?u:0;l.set(e,Object.assign({},f,p,{offset:w,diskNumberStart:0,compressedSize:b}));const E=y.De+b;h=Math.min(h,E),w+=E}if(l.size&&w-h>=t&&(u=!0),u&&!a)throw Error(co);const p=jo(l);let m=$o(o,r,ga);if(w>=t||p>=t||l.size>=e){if(!1===m)throw Error(so);m=!0}return w-f+p+i+(m?98:d)})(r,n.getChildren({recursive:!0}).filter(t=>!ic(t)).map(t=>{const{name:e,ar:a}=nc(t,n,r);return{name:e,size:t.directory?0:ac(t,oc(t,r)),options:a}}),a,r.globalComment)}getChildByName(t){const e=this.children;for(let r=0;r<e.length;r++){const n=e[r];if(n.name==t)return n}}getChildren(t={}){return((t,e)=>{const r=[],n=[t];let a=0;for(;a<n.length;)for(const t of n[a++].children)r.push(t),e&&n.push(t);return r})(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const r=this.children;return!(await Promise.all(r.map(r=>r.checkPassword(t,e)))).includes(!1)}}class qi{constructor(){uc(this)}get children(){return this.root.children}remove(t){ec(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const r of t.children)e.push(r)}t.parent=O}move(t,e){if(t==this.root)throw Error("Root directory cannot be moved");if(!e.directory)throw Error("Target entry is not a directory");if(e.isDescendantOf(t))throw Error("Entry is a ancestor of target entry");if(t!=e){const r=e.getChildByName(t.name);if(r){if(r!=t)throw Error(Ni)}else ec(t),t.parent=e,e.children.push(t),((t,e)=>{const r=[e];for(;r.length;){const e=r.pop();t.entries[e.id]=e;for(const t of e.children)r.push(t)}})(this,t)}}find(t){const e=t.split("/");let r=this.root;for(let t=0;r&&t<e.length;t++)r=r.getChildByName(e[t]);return r||(r=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),r}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,r){return this.root.addText(t,e,r)}addBlob(t,e,r){return this.root.addBlob(t,e,r)}addData64URI(t,e,r){return this.root.addData64URI(t,e,r)}addUint8Array(t,e,r){return this.root.addUint8Array(t,e,r)}addHttpContent(t,e,r){return this.root.addHttpContent(t,e,r)}addReadable(t,e,r){return this.root.addReadable(t,e,r)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}importBlob(t,e){return uc(this),this.root.importBlob(t,e)}importData64URI(t,e){return uc(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return uc(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return uc(this),this.root.importHttpContent(t,e)}importReadable(t,e){return uc(this),this.root.importReadable(t,e)}importZip(t,e){return uc(this),this.root.importZip(t,e)}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}}const Ki={FS:qi,ZipDirectoryEntry:Hi,ZipFileEntry:Zi};function Yi(t,e){let r=0;const n=Array.from(t);for(;n.length;){const t=n.pop();r+=e(t)||0;for(const e of t.children)n.push(e)}return r}function Gi(t){return t.uncompressedSize}function Xi(t,e){const{data:r}=t;return e&&r instanceof Na?r.compressedSize:t.uncompressedSize}function Ji(t){let e;return()=>{if(e)throw Error(ji);return e=!0,{readable:t}}}function Qi(t){return class extends wn{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=Object.assign({},t,e.options),{checkOverlappingEntry:n,checkOverlappingEntryOnly:a}=r,s=await e.entry.getData(new Sn,Object.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:a||n,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=s,e.sr=new En(s),e.size=s.size,super.init()}readUint8Array(t,e){return this.sr.readUint8Array(t,e)}}}function $i(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function tc(t,e){const r=[],n=[t],a=new Map;for(;n.length;){const t=n.pop();for(const e of t.children)e.directory?n.push(e):r.push(e)}return await Promise.all(r.map(async t=>{const r=t.reader=$i(t.Reader,t.data,e);a.set(t,r);try{await Xn(r)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}r.size!==O&&(t.uncompressedSize=r.size,t.rr=!1)})),a}function ec(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function rc(t){return!!t&&t.message==Wi}function nc(t,e,r){const n=r.relativePath?t.getRelativeName(e):t.getFullname(),a=t.options||{};let s={},o={};if(t.data instanceof Na){const{externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,uncompressedSize:u,encrypted:d,zipCrypto:f,crc32:w,compressionMethod:h,extraFieldAES:p,internalFileAttributes:m,extraField:y,uid:b,gid:E}=t.data;s={externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,internalFileAttributes:m};const S=(t=>{if(t){const e=new Map;if(t.forEach((t,r)=>{Bi.has(r)||e.set(r,t.data)}),e.size)return e}})(y);if(S&&(s.extraField=S),b===O&&E===O||Object.assign(s,{uid:b,gid:E,unixExtraFieldType:"infozip"}),oc(t,r)){let t;p&&(t=p.strength),o={passThrough:!0,encrypted:d,zipCrypto:f,crc32:w,uncompressedSize:u,encryptionStrength:t,compressionMethod:h}}}const i=Object.assign({lastModDate:t.nr},s,r,a,o,{directory:t.directory});if(!t.directory&&i.passThrough&&i.uncompressedSize===O)throw Error(Pi);return{name:n,ar:i}}function ac(t,e){const{reader:r}=t;return r&&r.size!==O?r.size:t.rr?O:Xi(t,e)}function sc(t){if(t&&(typeof t!=v||Array.isArray(t)))throw Error(_i);return t}function oc(t,e){const{readerOptions:r}=e;return!(t.directory||!(t.passThrough||r&&r.passThrough))}function ic(t){return t.directory&&null===t.data}function cc(t,e,r){return async function t(e,n,a,s=""){if(n){const o=s?s+"/"+n.name:n.name;try{if((n.isFile||n.isDirectory)&&(n=await lc(n)),"file"==n.kind){const t=await n.getFile();a.push(dc(e,t.name,{Reader:()=>({readable:t.stream(),size:t.size}),options:Object.assign({},{lastModDate:new Date(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==n.kind){const s=e.addDirectory(n.name,r);a.push(s);for await(const e of n.values())await t(s,e,a,o)}}catch(t){try{t.entryName===O&&(t.entryName=o)}catch{}throw t}}return a}(t,e,[])}async function lc(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new Promise((e,r)=>t.file(e,r))),t.isDirectory){e.kind="directory";const r=await(async t=>{const e=[];function r(t,n,a){t.readEntries(async s=>{if(s.length){for(const t of s)e.push(await lc(t));r(t,n,a)}else n(e)},a)}return await new Promise((e,n)=>r(t.createReader(),e,n)),{[Symbol.iterator](){let t=0;return{next(){const r={value:e[t],done:t==e.length};return t++,r}}}}})(t);e.values=()=>r}return e}function uc(t){t.entries=[],t.er=0,t.root=new Hi(t)}function dc(t,e,r,n){if(t.directory)return n?new Hi(t.fs,e,r,t):new Zi(t.fs,e,r,t);throw Error("Parent entry is not a directory")}export{En as BlobReader,Sn as BlobWriter,pn as Data64URIReader,mn as Data64URIWriter,Li as ERR_ABORTED,Ga as ERR_AMBIGUOUS_ARCHIVE,ja as ERR_BAD_FORMAT,Wa as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Ws as ERR_DUPLICATED_NAME,Va as ERR_ENCRYPTED,Xa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Ya as ERR_ENTRY_DATA_OUT_OF_BOUNDS,Ni as ERR_ENTRY_EXISTS,_a as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Pa as ERR_EOCDR_NOT_FOUND,Ba as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,tn as ERR_HTTP_RANGE,en as ERR_HTTP_RESOURCE_CHANGED,qt as ERR_INVALID_AUTHENTICATION_CODE,Me as ERR_INVALID_CODEC_DEFINITION,je as ERR_INVALID_CODEC_MODULE,Ls as ERR_INVALID_COMMENT,Bs as ERR_INVALID_COMMENT_TYPE,Ke as ERR_INVALID_COMPRESSED_DATA,Ye as ERR_INVALID_CRC32,Hs as ERR_INVALID_DATE,Ys as ERR_INVALID_ENCRYPTION_STRENGTH,Vs as ERR_INVALID_ENTRY_COMMENT,Zs as ERR_INVALID_ENTRY_COMMENT_TYPE,qs as ERR_INVALID_ENTRY_NAME,Js as ERR_INVALID_EXTRAFIELD,to as ERR_INVALID_EXTRAFIELD_DATA,$s as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Qs as ERR_INVALID_EXTRAFIELD_TYPE,$a as ERR_INVALID_FILENAME_VALIDATION,Q as ERR_INVALID_FUNCTION_OPTION,wo as ERR_INVALID_GID,Eo as ERR_INVALID_LEVEL,ts as ERR_INVALID_MAX_APPENDED_DATA_SIZE,it as ERR_INVALID_MAX_WORKERS,yo as ERR_INVALID_MSDOS_ATTRIBUTES,bo as ERR_INVALID_MSDOS_DATA,Zt as ERR_INVALID_PASSWORD,tt as ERR_INVALID_PASSWORD_TYPE,Pi as ERR_INVALID_PASS_THROUGH,_i as ERR_INVALID_READER_OPTIONS,$ as ERR_INVALID_SIGNAL,Ht as ERR_INVALID_SIGNATURE,So as ERR_INVALID_SIGNATURE_DATA,Qa as ERR_INVALID_STRICTNESS,fo as ERR_INVALID_UID,qe as ERR_INVALID_UNCOMPRESSED_SIZE,po as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,mo as ERR_INVALID_UNIX_ID_SIZE,ho as ERR_INVALID_UNIX_MODE,Ks as ERR_INVALID_VERSION,rn as ERR_ITERATOR_COMPLETED_TOO_SOON,La as ERR_LOCAL_FILE_HEADER_NOT_FOUND,Ka as ERR_OVERLAPPING_ENTRY,ji as ERR_READABLE_CONSUMED,Ne as ERR_RESERVED_COMPRESSION_METHOD,qa as ERR_SPLIT_ZIP_FILE,io as ERR_UNDEFINED_COMPRESSION_METHOD,lo as ERR_UNDEFINED_READER,oo as ERR_UNDEFINED_UNCOMPRESSED_SIZE,co as ERR_UNDETERMINED_SIZE,Ja as ERR_UNSAFE_FILENAME,Ha as ERR_UNSUPPORTED_COMPRESSION,Ai as ERR_UNSUPPORTED_CONTEXT,Yt as ERR_UNSUPPORTED_CRYPTO_API,Za as ERR_UNSUPPORTED_ENCRYPTION,Xs as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Gs as ERR_UNSUPPORTED_ENCRYPTION_USDZ,so as ERR_UNSUPPORTED_FORMAT,es as ERR_UNSUPPORTED_UINT64,hr as ERR_WORKER_STARTUP_TIMEOUT,nn as ERR_WRITER_NOT_INITIALIZED,uo as ERR_ZIP_NOT_EMPTY,Bn as HttpRangeReader,Ln as HttpReader,wn as Reader,Hn as SplitDataReader,qn as SplitDataWriter,gn as TextReader,An as TextWriter,Vn as Uint8ArrayReader,Zn as Uint8ArrayWriter,hn as Writer,Hi as ZipDirectoryEntry,Vi as ZipEntry,qi as ZipFS,Zi as ZipFileEntry,cs as ZipReader,ls as ZipReaderStream,Fo as ZipWriter,Do as ZipWriterStream,bt as configure,Si as createBlobTempStream,bi as createOPFSTempStream,zi as createSyncAccessHandleTempStream,Ki as fs,pi as getMimeType,Le as registerCodec,At as resetConfiguration,Mi as terminateWorkers,Be as unregisterCodec};