@zip.js/zip.js 2.8.48 → 2.8.49

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
- ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:s,BigInt:i,Math:a,Date:o,Map:c,Set:l,Response:u,URL:d,Error:f,Uint8Array:w,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:x,TextEncoder:b,TextDecoder:z,document:S,crypto:g,btoa:R,TransformStream:F,ReadableStream:E,WritableStream:k,CompressionStream:C,DecompressionStream:D,navigator:U,Worker:T}="undefined"!=typeof globalThis?globalThis:this||self;var v=void 0!==S?S.currentScript:null;const M=4294967295,I=65535,N=255,A=67324752,O=134695760,W=O,G=84233040,Z=33639248,P=101010256,H=101075792,j=117853008,V=22,L=20,K=56,q=21589,J=2048,Q=16384,X=2048,B=1024,Y="/",_=30,$=new o(2107,11,31,23,59,58),ee=new o(1980,0,1),te=void 0,re=1/0,ne="undefined",se="function",ie=new w;let ae=2;try{typeof U!=ne&&U.hardwareConcurrency&&(ae=U.hardwareConcurrency)}catch{}const oe={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ae,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof C!=ne&&C,DecompressionStream:typeof D!=ne&&D},ce=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],le={...oe};function ue(){return le}function de(e){return a.max(e.chunkSize,64)}function fe(e){e=we(e);for(const t of ce){const r=e[t];r!==te&&(le[t]=r)}}function we(e){const{CompressionStreamZlib:t,DecompressionStreamZlib:n}=e;if(t===te&&n===te)return e;const s=r.assign({},e);return s.CompressionStreamFallback===te&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===te&&(s.DecompressionStreamFallback=n),s}function pe(e){e=we(e);for(const t of ce){const r=e[t];r!==te&&(oe[t]=r)}fe(e)}const me=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],he=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ye=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],xe=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],be=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ze=new w(288);ze.fill(8,0,144),ze.fill(9,144,256),ze.fill(7,256,280),ze.fill(8,280,288);const Se=new w(30).fill(5);function ge(e){const t=new p(16);for(const r of e)t[r]++;t[0]=0;const r=new p(17);for(let e=1;15>=e;e++)r[e+1]=r[e]+t[e];const n=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(n[r[e[t]]++]=t);return{o:t,symbols:n}}const Re="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Fe=(Ee=()=>(e=>{let t=0,r=0,n=0,s=new w(1024),i=0,a=0;for(;!a;){a=c(1);const e=c(2);if(0==e)l();else if(1==e)u(ge(ze),ge(Se));else{if(2!=e)throw f("invalid deflate block type");u(...d())}}return s.subarray(0,i);function o(){if(t>=e.length)throw f("unexpected end of deflate data");return e[t++]}function c(e){for(;e>n;)r|=o()<<n,n+=8;const t=r&(1<<e)-1;return r>>>=e,n-=e,t}function l(){r=0,n=0;const e=o()|o()<<8;t+=2,m(i+e);for(let t=0;e>t;t++)s[i++]=o()}function u(e,t){let r=p(e);for(;256!=r;){if(256>r)m(i+1),s[i++]=r;else{const e=r-257,n=me[e]+c(he[e]),a=p(t),o=ye[a]+c(xe[a]);m(i+n);const l=i-o;for(let e=0;n>e;e++)s[i++]=s[l+e]}r=p(e)}}function d(){const e=c(5)+257,t=c(5)+1,r=c(4)+4,n=new w(19);for(let e=0;r>e;e++)n[be[e]]=c(3);const s=ge(n),i=new w(e+t);let a=0;for(;a<i.length;){const e=p(s);if(16>e)i[a++]=e;else if(16==e){const e=i[a-1];let t=c(2)+3;for(;t--;)i[a++]=e}else a+=17==e?c(3)+3:c(7)+11}return[ge(i.subarray(0,e)),ge(i.subarray(e))]}function p(e){const{o:t,symbols:r}=e;let n=0,s=0,i=0;for(let e=1;15>=e;e++){n|=c(1);const a=t[e];if(a>n-s)return r[i+(n-s)];i+=a,s=s+a<<1,n<<=1}throw f("invalid huffman code")}function m(e){if(s.length<e){let t=2*s.length;for(;e>t;)t*=2;const r=new w(t);r.set(s.subarray(0,i)),s=r}}})((e=>{const t=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,r=[];for(let n=0;t>n;n+=4){const t=Re.indexOf(e[n])<<18|Re.indexOf(e[n+1])<<12|(63&Re.indexOf(e[n+2]))<<6|63&Re.indexOf(e[n+3]);r.push(t>>16&255),"="!==e[n+2]&&r.push(t>>8&255),"="!==e[n+3]&&r.push(255&t)}return new w(r)})("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")),e=>e({workerURI:e=>{const t="text/javascript";let r=Ee();if("string"==typeof r&&(r=(new b).encode(r)),e){const e=new y([r],{type:t});return d.createObjectURL(e)}return"data:"+t+";base64,"+(e=>{let t="";const r=e.length;let n=0;for(;r>n+2;n+=3){const r=e[n]<<16|e[n+1]<<8|e[n+2];t+=Re[r>>18&63]+Re[r>>12&63]+Re[r>>6&63]+Re[63&r]}const s=r-n;if(1===s){const r=e[n]<<16;t+=Re[r>>18&63]+Re[r>>12&63]+"=="}else if(2===s){const r=e[n]<<16|e[n+1]<<8;t+=Re[r>>18&63]+Re[r>>12&63]+Re[r>>6&63]+"="}return t})(r)}}));var Ee;const ke="Invalid codec definition",Ce="Reserved compression method",De="Invalid codec module",Ue="string",Te=[0,8,9,99],ve=new c,Me=new c;function Ie(e){return ve.get(e)}function Ne(e){return Me.get(e)}function Ae(e,t){const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=se&&typeof n!=se)throw new f(De);Me.set(e,{CompressionStream:r,DecompressionStream:n})}const Oe=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;Oe[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=Oe[t-1][e];Oe[t][e]=r>>>8^Oe[0][255&r]}const[We,Ge,Ze,Pe,He,je,Ve,Le]=Oe;class Ke{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new h(e.buffer,e.byteOffset,r),i=r-8;for(;i>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=Le[255&e]^Ve[e>>>8&255]^je[e>>>16&255]^He[e>>>24&255]^Pe[255&r]^Ze[r>>>8&255]^Ge[r>>>16&255]^We[r>>>24&255]}}for(;r>n;n++)t=t>>>8^We[255&(t^e[n])];this.l=t}get(){return~this.l}}class qe extends F{constructor(){let e;const t=new Ke;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new w(4);new h(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Je(e){if(typeof b==ne){const t=new w((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new b).encode(e)}function Qe(e,t){const r=new w(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Xe(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function Be(e){return new h(e.buffer,e.byteOffset,e.byteLength)}const Ye={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=Ye.m(r);return 32===n?e.concat(t):Ye.h(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+Ye.m(r)},S(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=Ye.R(t,e[r-1]&2147483648>>t-1,1)),e},R:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,m:e=>a.round(e/1099511627776)||32,h(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=Ye.m(s);return n.push(Ye.R(t+i&31,t+i>32?r:n.pop(),1)),n}},_e={bytes:{F(e){const t=Ye.bitLength(e)/8,r=new w(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},C(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(Ye.R(8*(3&r),n)),t}}},$e=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.U=[1518500249,1859775393,2400959708,3395469782],e?(t.T=e.T.slice(0),t.v=e.v.slice(0),t.M=e.M):t.reset()}reset(){const e=this;return e.T=e.D.slice(0),e.v=[],e.M=0,e}update(e){const t=this;"string"==typeof e&&(e=_e.I.C(e));const r=t.v=Ye.concat(t.v,e),n=t.M,s=t.M=n+Ye.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const i=new m(r);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.N(i.subarray(16*a,16*(a+1))),a+=1;return r.splice(0,16*a),t}A(){const e=this;let t=e.v;const r=e.T;t=Ye.concat(t,[Ye.R(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e.M/4294967296)),t.push(0|e.M);t.length;)e.N(t.splice(0,16));return e.reset(),r}O(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}W(e,t){return t<<e|t>>>32-e}N(e){const r=this,n=r.T,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let i=n[0],o=n[1],c=n[2],l=n[3],u=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.W(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.W(5,i)+r.O(e,o,c,l)+u+s[e]+r.U[a.floor(e/20)]|0;u=l,l=c,c=r.W(30,o),o=i,i=t}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+l|0,n[4]=n[4]+u|0}},et={importKey:e=>new et.G(_e.bytes.C(e)),Z(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new f("invalid params to pbkdf2");const s=1+(n>>5)<<2;let i,a,o,c,l;const u=new ArrayBuffer(s),d=new h(u);let w=0;const p=Ye;for(t=_e.bytes.C(t),l=1;(s||1)>w;l++){for(i=a=e.encrypt(p.concat(t,[l])),o=1;r>o;o++)for(a=e.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;(s||1)>w&&o<i.length;o++)d.setInt32(w,i[o]),w+=4}return u.slice(0,n/8)},G:class{constructor(e){const t=this,r=t.P=$e,n=[[],[]];t.H=[new r,new r];const s=t.H[0].blockSize/32;e.length>s&&(e=(new r).update(e).A());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.H[0].update(n[0]),t.H[1].update(n[1]),t.j=new r(t.H[0])}reset(){const e=this;e.j=new e.P(e.H[0]),e.V=!1}update(e){this.V=!0,this.j.update(e)}digest(){const e=this,t=e.j.A(),r=new e.P(e.H[1]).update(t).A();return e.reset(),r}encrypt(e){if(this.V)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},tt=typeof g!=ne&&typeof g.getRandomValues==se,rt="Invalid password",nt="Invalid signature",st=nt,it="zipjs-abort-check-password",at="Crypto API not supported";function ot(e){if(tt)return g.getRandomValues(e);throw new f(at)}const ct=16,lt={name:"PBKDF2"},ut=r.assign({hash:{name:"HMAC"}},lt),dt=r.assign({iterations:1e3,hash:{name:"SHA-1"}},lt),ft=["deriveBits"],wt=[8,12,16],pt=[16,24,32],mt=10,ht=[0,0,0,0],yt=typeof g!=ne,xt=yt&&g.subtle,bt=yt&&typeof xt!=ne,zt=_e.bytes,St=class{constructor(e){const t=this;t.L=[[[],[],[],[],[]],[[],[],[],[],[]]],t.L[0][0][0]||t.K();const r=t.L[0][4],n=t.L[1],s=e.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new f("invalid aes key size");for(t.U=[a=e.slice(0),o=[]],i=s;4*s+28>i;i++){let e=a[i-1];(i%s===0||8===s&&i%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],i%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^e}for(let e=0;i;e++,i--){const t=a[3&e?i:i-4];o[e]=4>=i||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.J(e,0)}decrypt(e){return this.J(e,1)}K(){const e=this.L[0],t=this.L[1],r=e[4],n=t[4],s=[],i=[];let a,o,c,l;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let u=a=0;!r[u];u^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,r[u]=i,n[i]=u,l=s[c=s[o=s[u]]];let d=16843009*l^65537*c^257*o^16843008*u,f=257*s[i]^16843008*i;for(let r=0;4>r;r++)e[r][u]=f=f<<24^f>>>8,t[r][i]=d=d<<24^d>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}J(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this.U[t],n=r.length/4-2,s=[0,0,0,0],i=this.L[t],a=i[0],o=i[1],c=i[2],l=i[3],u=i[4];let d,w,p,m=e[0]^r[0],h=e[t?3:1]^r[1],y=e[2]^r[2],x=e[t?1:3]^r[3],b=4;for(let e=0;n>e;e++)d=a[m>>>24]^o[h>>16&255]^c[y>>8&255]^l[255&x]^r[b],w=a[h>>>24]^o[y>>16&255]^c[x>>8&255]^l[255&m]^r[b+1],p=a[y>>>24]^o[x>>16&255]^c[m>>8&255]^l[255&h]^r[b+2],x=a[x>>>24]^o[m>>16&255]^c[h>>8&255]^l[255&y]^r[b+3],b+=4,m=d,h=w,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=u[m>>>24]<<24^u[h>>16&255]<<16^u[y>>8&255]<<8^u[255&x]^r[b++],d=m,m=h,h=y,y=x,x=d;return s}},gt=class{constructor(e,t){this.X=e,this.B=t,this.Y=t}reset(){this.Y=this.B}update(e){return this._(this.X,e,this.Y)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}_(e,t,r){let n;if(!(n=t.length))return[];const s=Ye.bitLength(t);for(let s=0;n>s;s+=4){this.ee(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return Ye.S(t,s)}},Rt=et.G;let Ft=yt&&bt&&typeof xt.importKey==se,Et=yt&&bt&&typeof xt.deriveBits==se;class kt extends F{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){Dt(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:i,te:a,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await Tt(e,t,r,Mt(n,0,wt[t])),i=Mt(n,wt[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new f(rt)})(r,i,s,Mt(e,0,wt[i]+2)),e=Mt(e,wt[i]+2),n?t.error(new f(it)):a()):await o;const c=new w(e.length-mt-(e.length-mt)%ct);t.enqueue(Ut(r,e,c,0,mt,!0))},async flush(e){const{re:t,ne:r,pending:n,ready:i}=this;if(r&&t){await i;const a=Mt(n,0,n.length-mt),o=Mt(n,n.length-mt);let c=ie;if(a.length){const e=Nt(zt,a);r.update(e);const n=t.update(e);c=It(zt,n)}const l=Mt(It(zt,r.digest()),0,mt);let u=n.length<mt?1:0;for(let e=0;mt>e;e++)u|=l[e]^o[e];if(u&&s)throw new f(st);e.enqueue(c)}}})}}class Ct extends F{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){Dt(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,te:i,ready:a}=r;let o=ie;n?(o=await(async(e,t,r)=>{const n=ot(new w(wt[t]));return Qe(n,await Tt(e,t,r,n))})(r,s,n),i()):await a;const c=new w(o.length+e.length-e.length%ct);c.set(o,0),t.enqueue(Ut(r,e,c,o.length,0))},async flush(e){const{re:t,ne:r,pending:n,ready:s}=this;if(r&&t){await s;let i=ie;if(n.length){const e=t.update(Nt(zt,n));r.update(e),i=It(zt,e)}const a=It(zt,r.digest()).slice(0,mt);e.enqueue(Qe(i,a))}}})}}function Dt(e,t,n,s){r.assign(e,{ready:new x(t=>e.te=t),password:vt(t,n),strength:s-1,pending:ie})}function Ut(e,t,r,n,s,i){const{re:a,ne:o,pending:c}=e;c.length&&(t=Qe(c,t));const l=t.length-s;let u;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new w(t)).set(r,0)}return e})(r,n+(l-l%ct)),u=0;l-ct>=u;u+=ct){const e=Nt(zt,Mt(t,u,u+ct));i&&o.update(e);const s=a.update(e);i||o.update(s),r.set(It(zt,s),u+n)}return e.pending=Mt(t,u),r}async function Tt(e,n,s,i){e.password=null;const a=await(async(e,t,r,n,s)=>{if(!Ft)return et.importKey(t);try{return await xt.importKey("raw",t,r,!1,s)}catch{return Ft=!1,et.importKey(t)}})(0,s,ut,0,ft),o=await(async(e,t,r)=>{if(!Et)return et.Z(t,e.salt,dt.iterations,r);try{return await xt.deriveBits(e,t,r)}catch{return Et=!1,et.Z(t,e.salt,dt.iterations,r)}})(r.assign({salt:i},dt),a,8*(2*pt[n]+2)),c=new w(o),l=Nt(zt,Mt(c,0,pt[n])),u=Nt(zt,Mt(c,pt[n],2*pt[n])),d=Mt(c,2*pt[n]);return r.assign(e,{keys:{key:l,se:u,passwordVerification:d},re:new gt(new St(l),t.from(ht)),ne:new Rt(u)}),d}function vt(e,t){return t===te?Je(e):t}function Mt(e,t,r){return e.subarray(t,r)}function It(e,t){return e.F(t)}function Nt(e,t){return e.C(t)}class At extends F{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){Wt(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=Gt(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new f(rt);e=e.subarray(12)}n?t.error(new f(it)):t.enqueue(Gt(r,e))}})}}class Ot extends F{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){Wt(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=ot(new w(12));t[11]=r.passwordVerification,n=new w(e.length+t.length),n.set(Zt(r,t),0),s=12}else n=new w(e.length),s=0;n.set(Zt(r,e),s),t.enqueue(n)}})}}function Wt(e,t,n,s){r.assign(e,{password:t,rawPassword:n,passwordVerification:s}),((e,t,n)=>{const s=[305419896,591751049,878082192];if(r.assign(e,{keys:s,ie:new Ke(s[0]),ae:new Ke(s[2])}),n)for(let t=0;t<n.length;t++)Pt(e,n[t]);else for(let r=0;r<t.length;r++)Pt(e,t.charCodeAt(r))})(e,t,n)}function Gt(e,t){const r=new w(t.length);for(let n=0;n<t.length;n++)r[n]=Ht(e)^t[n],Pt(e,r[n]);return r}function Zt(e,t){const r=new w(t.length);for(let n=0;n<t.length;n++)r[n]=Ht(e)^t[n],Pt(e,t[n]);return r}function Pt(e,t){let[,r]=e.keys;e.ie.append([t]);const n=~e.ie.get();r=Vt(a.imul(Vt(r+jt(n)),134775813)+1),e.ae.append([r>>>24]);const s=~e.ae.get();e.keys=[n,r,s]}function Ht(e){const t=2|e.keys[2];return jt(a.imul(t,1^t)>>>8)}function jt(e){return 255&e}function Vt(e){return 4294967295&e}function Lt(e){if(e instanceof E)return e;const t=e.getReader();return new E({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function Kt(e,t){if(e=Lt(e),typeof y.prototype.stream!=se||new y([]).stream()instanceof E){const r={};return t&&(r.headers=[["Content-Type",t]]),new u(e,r).blob()}const r=[];return e.pipeTo(new k({write(e){r.push(e)}})).then(()=>new y(r,t?{type:t}:{}))}function qt(e){if(e instanceof k)return e;const t=e.getWriter();return new k({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const Jt="Invalid uncompressed size",Qt="Invalid compressed data",Xt=nt,Bt="deflate-raw",Yt="gzip",_t=[31,139,8];class $t extends F{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,computeCrc32:c,level:l,deflate64:u,format:d,compressionMethod:f}=e,w=this;let p,m,y,x=super.readable;const b=d&&Ne(d),z=c&&s&&!u&&!b&&(!i||o)&&!(!a||!n);if(i&&!o||!c||z||(p=new qe,x=cr(x,p)),s)if(b)x=lr(x,ar(b.CompressionStream,d,{level:l,chunkSize:t,compressionMethod:f}));else if(z)y=new er,x=lr(x,new n(Yt)),x=cr(x,y);else try{x=or(x,a,{level:l,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Yt)}catch{throw e}x=lr(x,t),x=cr(x,new er)}i&&(o?x=cr(x,new Ot(e)):(m=new Ct(e),x=cr(x,m))),ir(w,x,()=>{i&&!o||!c||(w.crc32=z?y.crc32:new h(p.value.buffer).getUint32(0))})}}class er extends F{constructor(){let e,t=10,r=new w(0);super({transform(e,n){if(t){const r=a.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=Qe(r,e));const i=s-8,o=a.min(i,r.length);n.enqueue(Qe(r.subarray(0,o),e.subarray(0,i-o))),r=Qe(r.subarray(o),e.subarray(i-o))},flush(){const t=Be(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class tr extends F{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:i,checkCrc32:a,crc32:o,compressed:c,useCompressionStream:l,deflate64:u,format:d,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let b,z,S=super.readable;if(i&&(s?S=cr(S,new At(e)):(z=new kt(e),S=cr(S,z))),c){const e=d&&Ne(d);if(e)S=lr(S,ar(e.DecompressionStream,d,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{S=or(S,l,{chunkSize:t,deflate64:u},n,r)}catch(e){if(u||y===te)throw e;let t;try{t=new n(Yt)}catch{throw e}S=((e,t,r)=>{const n=new Ke;let s,i,a,o=0,c=!1;const l=new x((e,t)=>{i=e,a=t});l.catch(()=>{}),r||i();const u=new F({start(e){const t=new w(10);t.set(_t),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{m()}const t=new w(8),s=Be(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){a(e)}}),d=new F({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():i(),t.enqueue(e)},cancel(e){a(e)}});return e=cr(e,u),cr(e=lr(e,t),d);function p(){m(),s=setTimeout(()=>a(new f(Jt)),5e3)}function m(){clearTimeout(s)}})(S,t,y)}S=(e=>{const t=e.getReader();return new E({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new f(Qt);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(S)}a&&(b=new qe,S=cr(S,b)),ir(this,S,()=>{if(a){const e=new h(b.value.buffer);if(o!=e.getUint32(0,!1))throw new f(Xt)}})}}const rr=new c;function nr(e,t){if(!e)return!1;let r=rr.get(e);r||(r=new c,rr.set(e,r));let n=r.get(t);if(n===te){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function sr(e){return nr(e,Bt)}function ir(e,t,n){t=cr(t,new F({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function ar(e,t,r){if(!e)throw new f("Compression method not supported");return new e(t,r)}function or(e,t,r,n,s){const i=t&&n?n:s||n,a=r.deflate64?"deflate64-raw":Bt;let o;try{o=new i(a,r)}catch(e){if(!t||!s||i==s)throw e;o=new s(a,r)}return lr(e,o)}function cr(e,t){return Lt(e).pipeThrough(t)}function lr(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const ur="data",dr="deflate",fr="inflate";class wr extends F{constructor(e,t){super({});const n=this,{codecType:s}=e;let i;s.startsWith(dr)?i=$t:s.startsWith(fr)&&(i=tr),n.outputSize=0;let a=0;const o=new i(e,t),c=super.readable,l=new F({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:a})}}),u=new F({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==te&&n.outputSize>e.outputSize))throw new f(Jt)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:a})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(u)})}}class pr extends F{constructor(e){const t=[];let r=0;function n(){const n=new w(e);let s=0;for(;e>s;){const r=t[0],i=e-s;r.length>i?(n.set(r.subarray(0,i),s),t[0]=r.subarray(i),s+=i):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,i){for(t.push(s),r+=s.length;r>e;)i.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new w(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const mr={type:"module"},hr="error",yr="Worker startup timeout";let xr,br,zr,Sr,gr,Rr=!0;try{Rr=typeof structuredClone==se&&structuredClone(new DOMException("","AbortError")).code!==te}catch{}class Fr{constructor(e,{readable:t,writable:n},{options:s,config:i,oe:a,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:u},d){const{signal:f}=a;return gr&&(u=te),r.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new pr(de(i))).pipeThrough(new Er(a),{signal:f}),writable:n,options:r.assign({},s),workerURI:l,createWorker:u,transferStreams:c,terminate:()=>new x(t=>{const{ue:r,ce:n}=e;r?(n?e.de=t:(r.terminate(),t()),e.fe=null):t()}),we(){if(e.ce){const{de:t}=e;t&&(e.de=null,e.pe=!0,e.ue.terminate(),t()),e.ce=!1,d(e)}}}),xr===te&&(xr=typeof T!=ne),(o&&(xr&&l||u)?Dr:Cr)(e,i)}}class Er extends F{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await kr(e,r)},async transform(e,n){s+=e.length,t&&await kr(t,s,r),n.enqueue(e)},async flush(){n&&await kr(n,s)}})}}async function kr(e,...t){try{await e(...t)}catch{}}function Cr(e,t){return{run:()=>Ur(e,t)}}function Dr(e,t){const{baseURI:n,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:o}=t;if(!e.fe){let c;typeof o==se&&(o=o());try{c=vr(e.workerURI,n,e)}catch{return e.createWorker?gr=!0:xr=!1,Cr(e,t)}r.assign(e,{ue:c,me:!1,pe:!1,fe:{run:async()=>{try{return await(async(e,t)=>{let n,i;const a=new x((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,he:n,ye:i,result:a});const{readable:o,options:c}=e,{writable:l,closed:u,xe:d}=(e=>{const t=new AbortController,{writable:r,readable:n}=new F,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,xe:()=>t.abort()}})(e.writable);let w;try{w=Nr({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){d();try{await u}catch{}throw e.we(),t}w||r.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;e.me||!s.isFinite(p)||0>p||(e.be=setTimeout(()=>(e=>{if(e.be=null,e.me)return;const{ye:t,writer:r}=e;if(Tr(e),e.ue=null,t){const e=new f(yr);e.ze=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await a;return await m(),await u,e}catch(e){await m(),d();try{await u}catch{}throw e}async function m(){if(!w&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:o,baseURI:n,workerStartupTimeout:a})}catch(r){if(r&&r.ze){e.createWorker?gr=!0:xr=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,Ur(e,t)}throw r}}}})}return e.fe}async function Ur({options:e,readable:t,writable:r,we:n},s){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(dr),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.Se&&!sr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.Se||(e.useCompressionStream=!0)}}i=new wr(e,s),await t.pipeThrough(i).pipeThrough(new pr(de(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:a,outputSize:o}=i;return{crc32:n,inputSize:a,outputSize:o}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{n()}}function Tr(e){const{ue:t}=e;if(t)try{t.terminate()}catch{}e.fe=null}function vr(e,t,n,s,i=!0){const{createWorker:a}=n;let o,c,l;if(a)o=a();else if(zr===te||br!==e){const r=typeof e==se;c=r?e(i):e;const a=c.startsWith("data:"),u=c.startsWith("blob:");if(a||u){s===te&&(s=!1),s&&(l=mr);try{o=new T(c,l)}catch(i){if(u)try{d.revokeObjectURL(c)}catch{}if(r&&u)return vr(e,t,n,s,!1);if(s)throw i;return vr(e,t,n,!0,!1)}}else{s===te&&(s=!0),s&&(l=mr);try{c=new d(c,t)}catch{}try{o=new T(c,l)}catch(r){if(s)throw r;return vr(e,t,n,!1,i)}}br=e,zr=c,Sr=l}else o=new T(zr,Sr);return o.addEventListener("message",e=>{n.me=!0,Mr(n),(async({data:e},t)=>{const{type:n,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:l,he:u,ye:d,we:p,le:m}=t,h=()=>t.le!=m;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:i,cause:a}=o,c=new f(e);r.assign(c,{stack:t,code:n,name:s,outputSize:i}),a&&(c.cause=r.assign(new f(a.message),{name:a.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();h()||Nr({type:ur,value:e,done:r,messageId:i},t)}n==ur&&(await l.ready,await l.write(new w(s)),h()||Nr({type:"ack",messageId:i},t)),"close"==n&&y(null,a)}}catch(o){h()||(Tr(t),y(o))}function y(e,t){h()||(e?d(e):u(t),l&&l.releaseLock(),p())}})(e,n)}),o.addEventListener(hr,e=>Ir(e,n)),o.addEventListener("messageerror",e=>Ir(e,n)),o}function Mr(e){const{be:t}=e;t&&(clearTimeout(t),e.be=null)}function Ir(e,t){e.preventDefault&&e.preventDefault(),Mr(t);const{me:n,ye:s,writer:i,we:a}=t;if(Tr(t),n||(t.ue=null),s){let t=e.error||new f(e.message||hr);n||(t=r.assign(new f(t.message||hr),{ze:!0})),s(t),i&&i.releaseLock(),n&&a()}}function Nr(e,{ue:t,writer:r,transferStreams:n,me:s}){try{const{value:r,readable:i,writable:a}=e,o=[];if(r&&(e.value=Xe(r),o.push(e.value.buffer)),n&&Rr&&s?(i&&o.push(i),a&&o.push(a)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Rr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let Ar=[];const Or=[];let Wr,Gr,Zr=0;async function Pr(e,t){const{options:r,config:n}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:u,encrypted:f,format:w,codecURI:p}=r,{workerURI:m,createWorker:h,maxWorkers:y}=n;w&&(p&&(r.codecURI=((e,t)=>{try{return new d(e,t).toString()}catch{return e}})(p,n.baseURI)),await(async(e,t)=>{!Me.has(e)&&t&&Ae(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(w,r.codecURI)),t.transferStreams=i||i===te&&n.transferStreams;const b=!(c||l||u||f),z=w===te||!!r.codecURI;return t.useWebWorkers=!b&&z&&(a||a===te&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:te,t.createWorker=t.useWebWorkers&&h?h:te,r.useCompressionStream=o||o===te&&n.useCompressionStream,(await(async()=>{const r=Ar.find(e=>!e.ce);if(r)return Kr(r),new Fr(r,e,t,S);if(Ar.length<y){const r={ge:Zr};return Zr++,Ar.push(r),new Fr(r,e,t,S)}return new x(r=>{Or.push({resolve:r,stream:e,Re:t}),Gr=n.workerStarvationTimeout,Hr()})})()).run();function S(e){if(jr(),Or.length){const[{resolve:t,stream:r,Re:n}]=Or.splice(0,1);t(new Fr(e,r,n,S)),Hr()}else e.ue?(Kr(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.pe?e.pe=!1:e.Fe=setTimeout(async()=>{Ar=Ar.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):Ar=Ar.filter(t=>t!=e)}}function Hr(){!Wr&&Or.length&&s.isFinite(Gr)&&Gr>=0&&(Wr=setTimeout(Vr,Gr))}function jr(){Wr&&(clearTimeout(Wr),Wr=null)}function Vr(){if(Wr=null,Or.length){const[{resolve:e,stream:t,Re:n}]=Or.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:te,createWorker:te});e(new Fr({},t,s,Lr)),Hr()}}function Lr(){jr(),Hr()}function Kr(e){const{Fe:t}=e;t&&(clearTimeout(t),e.Fe=null)}const qr="HTTP error ",Jr="HTTP Range not supported",Qr="HTTP resource changed",Xr="Writer iterator completed too soon",Br="Writer not initialized",Yr="Content-Range",_r="Range",$r="GET",en="bytes",tn=16777216,rn="writable",nn=Symbol();class sn{constructor(){this.size=0}init(){this.initialized=!0}}class an extends sn{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=de(ue())}={}){const n=this;let s=0;return new E({async pull(i){const o=t===te?r:a.min(r,t-s),c=await An(n,e+s,o);i.enqueue(c),s+r>t||t===te&&!c.length&&o?i.close():s+=r}})}}class on extends sn{constructor(){super();const e=this,t=new k({write(t){if(!e.initialized)throw new f(Br);return e.writeUint8Array(Xe(t))}});r.defineProperty(e,rn,{get:()=>t})}writeUint8Array(){}}let cn,ln;class un extends an{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),ln||(ln=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();cn=1==t}catch{cn=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?cn?Lt(t.slice(n,n+s).stream()):super.createReadable(e):Lt(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let i=await s.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,n)),new w(i)}}class dn extends sn{constructor(e){super();const t=this,n=new F;r.defineProperty(t,rn,{get:()=>n.writable}),t.blob=Kt(n.readable,e),t.blob.catch(()=>{})}getData(){return this.blob}}class fn extends an{constructor(e,t){super(),pn(this,e,t)}async init(){await mn(this,Cn,Rn),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:i}=t;if((r||n)&&i!==te){const{offset:r=0,size:n=i-r}=e||{};if(n>0&&i>r)return((e,t,r)=>{let n,i=t,o=0,c=r;return new E({start:()=>l(),async pull(e){n||await l();const{value:t,done:r}=await n.read();if(r)throw new f(Jr);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=n;n=te,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function l(){const t=a.min(e.maximumRangeSize,c),r=await Cn($r,e,Sn(e,i,t));if(206!=r.status)throw new f(Jr);const l=r.headers.get(Yr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=i)throw new f(Jr)}zn(e,r),bn(e,r),i+=t,o=t,n=r.body.getReader()}})(t,r,a.min(n,i-r))}return super.createReadable(e)}readUint8Array(e,t){return hn(this,e,t,Cn,Rn)}}class wn extends an{constructor(e,t){super(),pn(this,e,t)}async init(){await mn(this,Dn,Fn),super.init()}readUint8Array(e,t){return hn(this,e,t,Dn,Fn)}}function pn(e,t,n){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=tn,fetch:u}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:u})}async function mn(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ue(),{protocol:r}=new d(e,t);return"http:"==r||"https:"==r})(n)&&(i||a)&&(void 0===s||s)){const n=await t($r,e,Sn(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==en))throw new f(Jr);{if(o){const t=new w(await n.arrayBuffer());206==n.status&&t.length==V&&(e.Ee=t)}bn(e,n);const s=yn(n);s===te?await kn(e,t,r):e.size=s}}else await kn(e,t,r)}async function hn(e,t,r,n,i){const{useRangeHeader:a,forceRangeRequests:o,Ee:c,size:l,options:u}=e;if(a||o){if(c&&t==l-V&&r==V)return c;if(l>t&&0!==r){t+r>l&&(r=l-t);const i=await n($r,e,Sn(e,t,r));if(206!=i.status)throw new f(Jr);const a=i.headers.get(Yr);if(a){const e=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new f(Jr)}zn(e,i),bn(e,i);const o=new w(await i.arrayBuffer());if(o.length!=r)throw new f(Jr);return o}return ie}{const{data:n}=e;return n||await i(e,u),e.data.subarray(t,t+r)}}function yn(e){const t=e.headers.get(Yr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function xn({headers:e}){return{ke:e.get("Etag")||te,lastModified:e.get("Last-Modified")||te}}function bn(e,t){const{checkResourceChanges:r,Ce:n}=e;r&&!n&&206==t.status&&(e.Ce=xn(t))}function zn(e,t){const{checkResourceChanges:n,Ce:s,size:i}=e;if(n){const e=yn(t);if(e!==te&&i!==te&&e!=i)throw new f(Qr);if(s){const e=xn(t);if(r.entries(s).some(([t,r])=>r!==te&&e[t]!==te&&r!=e[t]))throw new f(Qr)}}}function Sn(e,t=0,n=1){return r.assign({},gn(e),{[_r]:en+"="+(0>t?t:t+"-"+(t+n-1))})}function gn({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Rn(e){await En(e,Cn)}async function Fn(e){await En(e,Dn)}async function En(e,t){const r=await t($r,e,gn(e));e.data=new w(await r.arrayBuffer()),e.size=e.data.length}async function kn(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,gn(e)),i=n.headers.get("Content-Length");i&&!n.headers.get("Content-Encoding")?e.size=s(i):await r(e,e.options)}}async function Cn(e,{fetch:t=fetch,options:n,url:s},i){const a=await t(s,r.assign({},n,{method:e,headers:i}));if(400>a.status)return a;throw 416==a.status?new f(Jr):new f(qr+(a.statusText||a.status))}function Dn(e,{url:t},n){return new x((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new f(Jr):new f(qr+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new f("Network error")),!1),a.open(e,t),n)for(const e of r.entries(n))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class Un extends an{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new wn(e,t):new fn(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class Tn extends an{constructor(e){super(),this.De=e}async init(){const e=this,{De:t}=e;e.Ue=0,await x.all(t.map(e=>Nn(e))),e.Te=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}ve(e){const{Te:t,size:r}=this,n=t[e];return n===te?r:n}async readUint8Array(e,t){const r=this,{De:n}=this;let s,i=0,o=e;for(;n[i]&&o>=n[i].size;)o-=n[i].size,i++;const c=n[i];if(c){const n=c.size;if(o+t>n){const i=n-o;s=Qe(await An(c,o,i),await r.readUint8Array(e+i,t-i))}else s=await An(c,o,t)}else s=ie;return r.Ue=a.max(i,r.Ue),s}}class vn extends sn{constructor(e,t=4294967295){super();const n=this;let s,i,a;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new k({async write(t){if(t===nn)return void(a&&await l());const{availableSize:r}=n;if(a)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new f(Xr);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await Nn(s),i=r.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await u())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),s.size+=t,n.availableSize-=t)}async function l(){await u(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function u(){await a.close()}r.defineProperty(n,rn,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(nn)}finally{e.releaseLock()}}}class Mn{constructor(e){return t.isArray(e)&&(e=new Tn(e)),(e instanceof E||typeof e.getReader==se)&&(e={readable:Lt(e)}),e}}class In{constructor(e){return e.writable===te&&typeof e.next==se&&(e=new vn(e)),(e instanceof k||typeof e.getWriter==se)&&(e={writable:qt(e)}),e.size===te&&(e.size=0),e}}async function Nn(e,t){if(!e.init||e.initialized)return x.resolve();await e.init(t)}function An(e,t,r){return e.readUint8Array(t,r)}const On="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Wn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=On[e[r]];return t}})(e):new z(t,{ignoreBOM:!0}).decode(e)}const Gn="filename",Zn="rawFilename",Pn="comment",Hn="rawComment",jn="uncompressedSize",Vn="compressedSize",Ln="offset",Kn="diskNumberStart",qn="lastModDate",Jn="rawLastModDate",Qn="lastAccessDate",Xn="rawLastAccessDate",Bn="creationDate",Yn="rawCreationDate",_n="internalFileAttributes",$n="externalFileAttributes",es="msdosAttributesRaw",ts="msdosAttributes",rs="msDosCompatible",ns="zip64",ss="encrypted",is="version",as="versionMadeBy",os="zipCrypto",cs="directory",ls="executable",us="compressionMethod",ds="signature",fs="extraField",ws="unixMode",ps="setuid",ms="setgid",hs="sticky",ys=[Gn,Zn,jn,Vn,qn,Jn,Pn,Hn,Qn,Xn,Bn,Yn,Ln,Kn,_n,$n,es,ts,rs,ns,ss,is,as,os,cs,ls,us,ds,"crc32",fs,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ws,ps,ms,hs,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class xs{constructor(e){ys.forEach(t=>this[t]=e[t])}}const bs="password",zs="rawPassword",Ss="passThrough",gs="signal",Rs="checkAmbiguity",Fs="useWebWorkers",Es="useCompressionStream",ks="transferStreams",Cs="preventClose",Ds="offset",Us="usdz",Ts="strictness",vs="strict",Ms="tolerant",Is="File format is not recognized",Ns="End of central directory not found",As="End of Zip64 central directory locator not found",Os="Central directory header not found",Ws="Local file header not found",Gs="Zip64 extra field not found",Zs="File contains encrypted entry",Ps="Encryption method not supported",Hs="Compression method not supported",js="Split zip file",Vs="Overlapping entry found",Ls="Ambiguous archive",Ks="Encrypted central directory is not supported",qs="utf-8",Js="cp437",Qs=[[jn,M],[Vn,M],[Ln,M],[Kn,I]],Xs={[I]:{Me:gi,bytes:4},[M]:{Me:Ri,bytes:8}};class Bs{constructor(e,t={}){r.assign(this,{reader:new Mn(e),options:t,config:ue(),Ie:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await Nn(n),n.size!==te&&n.readUint8Array||(n=new un(await Kt(n.readable)),await Nn(n)),n.size<V)throw new f(Is);const o=oi(yi(t,e,Ts),yi(t,e,Rs)),c=o==vs,u=o!=Ms,d=((e,t)=>e!==te?e:t==vs?0:t==Ms?1/0:I)(yi(t,e,"maxAppendedDataSize"),o),{Ne:w,Ae:p}=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,65557),i={count:ci};let o,c,l=0;for await(const[r,a,u,d,f]of fi(e,s)){const s=Si(r,d+20);if(f+V+s==n){const s=await pi(e,r,a,d,f,n,i);if(s==di){if(o||(o=wi(u,d,f)),l++,!t||l>1)break}else s!=ui||c||(c=wi(u,d,f))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,t==1/0?n:65557+t);let i,o;for await(const[t,a,c,l,u]of fi(e,s)){const s=wi(c,l,u);i||(i=s);const d=await pi(e,t,a,l,u,n,r);if(d==di)return s;d!=ui||o||(o=s)}return o||i})(e,r,i)),{Ne:o,Ae:l}})(n,u,d);if(!w)throw gi(Be(await An(n,0,4)))==O?new f(js):new f(Ns);u&&p>1&&hi("multiple end of central directory records");const m=Be(w);let h=gi(m,12),y=gi(m,16);const b=w.offset,z=Si(m,20),S=b+V+z;n.size-S>d&&hi("appended data");let g=Si(m,4);const R=n.Ue||0;let E,k,C,D,U=Si(m,6),T=Si(m,10),v=0;const A=y==M||h==M||T==I||U==I;if(y!=M&&U!=I&&(y+=ai(n,U)),A){const e=w.offset<L?ie:await An(n,w.offset-L,L),t=Be(e);if(e.length==L&&gi(t,0)==j){y=ai(n,gi(t,4))+Ri(t,8);let e=await An(n,y,K),i=Be(e);const o=w.offset-L-K;if((e.length<K||gi(i,0)!=H)&&y!=o&&o>=0){const t=y;y=o,y>t&&(v=y-t),e=await An(n,y,K),i=Be(e)}if(e.length<K||gi(i,0)!=H)throw new f(As);if(k=!0,C=Ri(i,4)>44,C){const e=a.min(s(Ri(i,4))-44,n.size-y-K);e>0&&(D=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=Be(e),i=Si(n,26);r.assign(t,{compressionMethod:Si(n,0),compressedSize:s(Ri(n,2)),uncompressedSize:s(Ri(n,10)),encryptionAlgorithm:Si(n,18),bitLength:Si(n,20),flags:Si(n,22),hashAlgorithm:Si(n,24),hashData:e.subarray(28,28+i)})}return t})(await An(n,y+K,e)))}g==I?g=gi(i,16):c&&g!=gi(i,16)&&hi("mismatched zip64 end of central directory record"),U==I?U=gi(i,20):c&&U!=gi(i,20)&&hi("mismatched zip64 end of central directory record"),T==I?T=Ri(i,32):c&&T!=Ri(i,32)&&hi("mismatched zip64 end of central directory record"),h==M?h=Ri(i,40):c&&h!=Ri(i,40)&&hi("mismatched zip64 end of central directory record"),y=ai(n,U)+Ri(i,48)+v}}let W=h;const P=w.offset-(k?76:0);if(y<n.size||(v=n.size-y-h-V,y=n.size-h-V),R!=g)throw new f(js);if(0>y)throw new f(Is);let q=0,J=await An(n,y,h),_=Be(J);if(h){if(4>J.length)throw new f(Is);const e=P-h;if(y!=e&&U==g){let t=!(gi(_,q)==Z);if(t||0>e||e+4>n.size||(t=gi(Be(await An(n,e,4)),0)==Z),t){const t=y;y=e,y>t&&(v+=y-t),J=await An(n,y,h),_=Be(J)}}}const $=P-y;if(h==$||0>$||U!=g||(h=$,J=await An(n,y,h),_=Be(J)),0>y||y>=n.size)throw new f(Is);t.directoryOffset=y,t.directoryLength=W;const ee=yi(t,e,"decryptCentralDirectory");let re;ee&&T&&J.length>=4&&gi(_,0)!=Z&&(C||$s(_))&&(J=await ee(J,D),_=Be(J),W=J.length,re=!0),E=y;const ne=yi(t,e,"filenameEncoding"),se=yi(t,e,"commentEncoding"),ae=c?new l:te;let oe;for(let s=0;T>s;s++){const o=new _s(n,i,t.options);if(q+46>J.length||gi(_,q)!=Z){if(0==s&&!re&&(C||$s(_)))throw new f(Ks);throw new f(Os)}ei(o,_,q+6);const l=!!o.bitFlag.languageEncodingFlag,u=q+46,d=u+o.filenameLength,w=d+o.extraFieldLength,p=Si(_,q+4),m=!(p>>8),h=p>>8==3,y=J.subarray(u,d),b=Si(_,q+32),z=w+b,S=J.subarray(w,z),g=l,R=l,k=gi(_,q+38),D=k&N,U={readOnly:!!(1&D),hidden:!!(2&D),system:!!(4&D),directory:!!(16&D),archive:!!(32&D)},M=gi(_,q+42),A=yi(t,e,"decodeText")||Wn,O=g?qs:ne||Js,W=R?qs:se||Js;let G=A(y,O);G===te&&(G=Wn(y,O));let P=A(S,W);P===te&&(P=Wn(S,W)),r.assign(o,{index:s,versionMadeBy:p,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Oe:b,offset:M,diskNumberStart:Si(_,q+34),internalFileAttributes:Si(_,q+36),externalFileAttributes:k,msdosAttributesRaw:D,msdosAttributes:U,rawFilename:y,filenameUTF8:g,commentUTF8:R,rawExtraField:J.subarray(d,w),rawComment:S,filename:G,comment:P}),ti(o,o,_,q+6),o.offset+=v,E=a.min(ai(n,o.diskNumberStart)+o.offset,E),c&&(ae.has(o.filename)&&(oe=!0),ae.add(o.filename));const H=o.externalFileAttributes>>16&I;o.unixMode===te&&16877&H&&(o.unixMode=H);const j=!!(o.unixMode&X),V=!!(o.unixMode&B),L=!!(512&o.unixMode),K=o.unixMode!==te?!!(73&o.unixMode):h&&!!(73&H),$=o.unixMode!==te&&(61440&o.unixMode)==Q,ee=(61440&H)==Q;r.assign(o,{setuid:j,setgid:V,sticky:L,unixExternalUpper:H,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:K,directory:$||ee||m&&U.directory||o.filename.endsWith(Y)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ie=new xs(o);ie.getData=(e,r)=>o.getData(e,ie,t.Ie,r),ie.arrayBuffer=async e=>{const r=new F,[n]=await x.all([Kt(r.readable).then(e=>e.arrayBuffer()),o.getData(r,ie,t.Ie,e)]);return n},q=z;const{onprogress:ce}=e;if(ce)try{await ce(s+1,T,new xs(o))}catch{}yield ie}let ce=q;if(q+6<=J.length&&gi(_,q)==G){const e=Si(_,q+4);q+6+e>J.length||(t.digitalSignature=J.subarray(q+6,q+6+e),ce=q+6+e)}c&&q!=W&&ce!=W&&hi("trailing central directory data"),oe&&hi("duplicate filename"),c&&(v||T&&E>0)&&hi("prepended data");const le=yi(t,e,"extractPrependedData"),ue=yi(t,e,"extractAppendedData");return le&&(t.prependedData=E>0?await An(n,0,E):ie),t.comment=z?await An(n,b+V,z):ie,ue&&(t.appendedData=S<n.size?await An(n,S,n.size-S):ie),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class Ys{constructor(e={}){const{readable:t,writable:r}=new F,n=new Bs(t,e).getEntriesGenerator();this.readable=new E({async pull(e){const{done:t,value:r}=await n.next();if(t)return e.close();const s={...r,readable:(()=>{const{readable:e,writable:t}=new F;if(r.getData)return(async()=>{try{await r.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=r}}class _s{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:i,index:a,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:u,compressionMethod:d,config:w,bitFlag:p,rawBitFlag:m,crc32:h,rawLastModDate:y,uncompressedSize:x,compressedSize:b}=s,{dataDescriptor:z}=p,S=t.localDirectory={},g=ai(i,c)+o,R=await An(i,g,_),F=Be(R);let E=yi(s,n,bs),C=yi(s,n,zs);const D=yi(s,n,Ss);if(E=E&&E.length&&E,C=C&&C.length&&C,l&&99!=l.originalCompressionMethod)throw new f(Hs);if(R.length<_||gi(F,0)!=A)throw new f(Ws);ei(S,F,4);const{extraFieldLength:U,filenameLength:T}=S,v=oi(yi(s,n,Ts),yi(s,n,Rs))==vs;let M=ie;if(v&&(T||U)){const e=await An(i,g+_,T+U);M=e.subarray(0,T),S.rawExtraField=e.subarray(T)}else S.rawExtraField=U?await An(i,g+_+T,U):ie;ti(s,S,F,4,!0),v&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&hi("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&hi("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&hi("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||hi("mismatched local file header (crc32 or sizes)")})(s,S,M);const{lastAccessDate:I,creationDate:O}=S;I&&(t.lastAccessDate=I),O&&(t.creationDate=O);const G=s.encrypted&&S.encrypted&&!D,Z=G&&!l;if(D||(t.zipCrypto=Z),G&&!(64&~S.rawBitFlag))throw new f(Ps);const P=D?te:Ie(d);if(0!=d&&8!=d&&9!=d&&!P&&!D)throw new f(Hs);if(G){if(!Z&&(1>l.strength||l.strength>3))throw new f(Ps);if(!E&&!C)throw new f(Zs)}const H=g+_+T+U,j=b,V=Lt(i.createReadable({offset:H,size:j})),L=yi(s,n,gs),K=yi(s,n,"checkPasswordOnly");let q=yi(s,n,"checkOverlappingEntry");const J=yi(s,n,"checkOverlappingEntryOnly");J&&(q=!0);const{onstart:Q,onprogress:X,onend:B}=n,Y=9==d;let $=yi(s,n,Es);Y&&($=!1);const ee=yi(s,n,"checkCrc32"),re=(ee===te?yi(s,n,"checkSignature"):ee)&&!D&&(!G||Z||l&&1==l.vendorVersion),ne={options:{codecType:fr,password:E,rawPassword:C,zipCrypto:Z,encryptionStrength:l&&l.strength,checkCrc32:re,checkAuthenticationCode:yi(s,n,"checkAuthenticationCode"),passwordVerification:Z&&(z?y>>>8&N:h>>>24&N),outputSize:D?b:x,crc32:h,compressed:0!=d&&!D,encrypted:G,useWebWorkers:yi(s,n,Fs),useCompressionStream:$,transferStreams:yi(s,n,ks),deflate64:Y,format:P?P.format:te,codecURI:P?P.codecURI:te,compressionMethod:d,rawBitFlag:m,checkPasswordOnly:K},config:w,oe:{signal:L,size:j,onstart:Q,onprogress:X,onend:B}};let se;q&&await(async({reader:e,We:t,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:a,Ge:o,dataDescriptor:c,extraFieldZip64:l,Ie:u})=>{let d=0;if(c&&(d=l?20:12),d){const r=await An(e,o+i,d+4);if(r.length==d+4&&gi(Be(r),0)==W){const e=gi(Be(r),4);let n,o;l?(n=Ri(Be(r),8),o=Ri(Be(r),16)):(n=gi(Be(r),8),o=gi(Be(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&o==a&&(d+=4)}}const w={start:n,end:o+i+d,We:t};for(const[e,t]of u)if(e!=r&&w.start<t.end&&t.start<w.end){const e=new f(Vs);throw e.Ze=t.We,e}u.set(r,w)})({reader:i,We:t,index:a,offset:g,crc32:h,compressedSize:b,uncompressedSize:x,Ge:H,dataDescriptor:z||S.bitFlag.dataDescriptor,extraFieldZip64:u||S.extraFieldZip64,Ie:r});try{if(!J){K&&(e=new k),e=new In(e),await Nn(e,D?b:x),({writable:se}=e);const{outputSize:t}=await Pr({readable:V,writable:se},ne);if(e.size+=t,t!=(D?b:x))throw new f(Jt)}}catch(t){if(t.outputSize!==te&&(e.size+=t.outputSize),!K||t.message!=it)throw t}finally{yi(s,n,Cs)||!se||se.locked||await se.getWriter().close()}return K||J?te:e.getData?e.getData():se}}function $s(e){const t=a.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==gi(e,r))return!0;return!1}function ei(e,t,n){const s=e.rawBitFlag=Si(t,n+2),i=!(1&~s),a=gi(t,n+6);r.assign(e,{encrypted:i,version:Si(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&J)==J},rawLastModDate:a,lastModDate:xi(a),filenameLength:Si(t,n+22),extraFieldLength:Si(t,n+24)})}function ti(e,t,n,s,i){const{rawExtraField:a}=t,l=t.extraField=new c,u=Be(a);let d=0;try{for(;d<a.length;){const e=Si(u,d),t=Si(u,d+2);l.set(e,{type:e,data:a.slice(d+4,d+4+t)}),d+=4+t}}catch{}const w=Si(n,s+4);r.assign(t,{signature:gi(n,s+10),crc32:gi(n,s+10),compressedSize:gi(n,s+14),uncompressedSize:gi(n,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const r=Be(e.data),n=Qs.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Xs[t].bytes,0);if(e.data.length<s)throw new f(Gs);for(let s=0,i=0;s<n.length;s++){const[a,o]=n[s],c=Xs[o];t[a]=e[a]=c.Me(r,i),i+=c.bytes}})(p,t),t.extraFieldZip64=p);const m=l.get(28789);m&&(ri(m,Gn,Zn,t,e),t.extraFieldUnicodePath=m);const h=l.get(25461);h&&(ri(h,Pn,Hn,t,e),t.extraFieldUnicodeComment=h);const y=l.get(39169);y&&y.data.length>=7?(((e,t,n)=>{const s=Be(e.data),i=zi(s,4);r.assign(e,{vendorVersion:zi(s,0),vendorId:zi(s,2),strength:i,originalCompressionMethod:n,compressionMethod:Si(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=te)})(y,t,w),t.extraFieldAES=y):t.compressionMethod=w;const x=l.get(13);x&&(ni(x,t),t.extraFieldPkwareUnix=x);const b=l.get(22613);b&&(ni(b,t),t.extraFieldUnixType1=b);const z=l.get(10);z&&(((e,t)=>{const n=Be(e.data);let s,i=4;try{for(;i<e.data.length&&!s;){const t=Si(n,i),r=Si(n,i+2);1==t&&(s=e.data.slice(i+4,i+4+r)),i+=4+r}}catch{}if(s&&24==s.length){const n=Be(s),i=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:o});const c={lastModDate:bi(i),lastAccessDate:bi(a),creationDate:bi(o)};r.assign(e,c),r.assign(t,c)}})(z,t),t.extraFieldNTFS=z);const S=l.get(30805);if(S)si(S,t,!1),t.extraFieldUnix=S;else{const e=l.get(30837);e&&(si(e,t,!0),t.extraFieldInfoZip=e)}const g=l.get(q);g&&(((e,t,r)=>{if(!e.data.length)return;const n=Be(e.data),s=zi(n,0),i=[],a=[];r?(1&~s||(i.push(qn),a.push(Jn)),2&~s||(i.push(Qn),a.push(Xn)),4&~s||(i.push(Bn),a.push(Yn))):5>e.data.length||(i.push(qn),a.push(Jn));let c=1;i.forEach((r,s)=>{if(e.data.length>=c+4){const i=gi(n,c);t[r]=e[r]=new o(1e3*(0|i));const l=a[s];e[l]=i}c+=4})})(g,t,i),t.extraFieldExtendedTimestamp=g);const R=l.get(6534);R&&(t.extraFieldUSDZ=R)}function ri(e,t,n,s,i){if(5>e.data.length)return void(e.valid=!1);const a=Be(e.data),o=new Ke;o.append(i[n]);const c=Be(new w(4));c.setUint32(0,o.get(),!0);const l=gi(a,1);r.assign(e,{version:zi(a,0),[t]:Wn(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&l==gi(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function ni(e,t){if(8>e.data.length)return;const n=Be(e.data),s={lastAccessDate:new o(1e3*gi(n,0)),lastModDate:new o(1e3*gi(n,4))};12>e.data.length||(s.uid=Si(n,8),s.gid=Si(n,10)),r.assign(e,s),r.assign(t,s)}function si(e,t,n){try{const s=Be(e.data);let i,a;if(n){let t=0;const n=zi(s,t++),o=zi(s,t++);i=ii(e.data.subarray(t,t+o)),t+=o;const c=zi(s,t++);a=ii(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:i,gid:a})}else 4>e.data.length||(i=Si(s,0),a=Si(s,2),r.assign(e,{uid:i,gid:a}));i!==te&&(t.uid=i),a!==te&&(t.gid=a)}catch{}}function ii(e){const t=new w(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function ai(e,t){return e.ve?e.ve(t):0}function oi(e,t){return e===te?t?vs:"balanced":e}const ci=64,li=0,ui=1,di=2;async function*fi(e,t){const r=e.size-t,n=await An(e,r,t),s=Be(n);for(let e=n.length-V;e>=0;e--)gi(s,e)==P&&(yield[s,r,n,e,r+e])}function wi(e,t,r){return{offset:r,buffer:e.slice(t,t+V).buffer}}async function pi(e,t,r,n,s,i,a){const o=Si(t,n+10),c=gi(t,n+12),l=gi(t,n+16);if(o==I||c==M||l==M)return await mi(e,t,r,s-L,i,a)==j?di:li;if(!o&&!c)return ui;const u=Si(t,n+6);for(const n of[s-c,ai(e,u)+l])if(await mi(e,t,r,n,i,a)==Z)return di;return li}async function mi(e,t,r,n,s,i){return 0>n||n+4>s?te:r>n?i.count>0?(i.count--,gi(Be(await An(e,n,4)),0)):te:gi(t,n-r)}function hi(e){const t=new f(Ls);throw t.reason=e,t}function yi(e,t,r){return t[r]===te?e.options[r]:t[r]}function xi(e){const t=(4294901760&e)>>16,r=e&I;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function bi(e){return new o(s(e/i(1e4)-i(116444736e5)))}function zi(e,t){return e.getUint8(t)}function Si(e,t){return e.getUint16(t,!0)}function gi(e,t){return e.getUint32(t,!0)}function Ri(e,t){return s(e.getBigUint64(t,!0))}var Fi=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Ls,ERR_BAD_FORMAT:Is,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Os,ERR_ENCRYPTED:Zs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ks,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:As,ERR_EOCDR_NOT_FOUND:Ns,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Gs,ERR_INVALID_AUTHENTICATION_CODE:st,ERR_INVALID_COMPRESSED_DATA:Qt,ERR_INVALID_CRC32:Xt,ERR_INVALID_PASSWORD:rt,ERR_INVALID_SIGNATURE:nt,ERR_INVALID_UNCOMPRESSED_SIZE:Jt,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Ws,ERR_OVERLAPPING_ENTRY:Vs,ERR_SPLIT_ZIP_FILE:js,ERR_UNSUPPORTED_COMPRESSION:Hs,ERR_UNSUPPORTED_ENCRYPTION:Ps,ERR_WORKER_STARTUP_TIMEOUT:yr,ZipReader:Bs,ZipReaderStream:Ys});const Ei="File already exists",ki="Zip file comment exceeds 64KB",Ci="File entry comment exceeds 64KB",Di="File entry name exceeds 64KB",Ui="Version exceeds 65535",Ti="The strength must equal 1, 2, or 3",vi="Encryption is not supported in USDZ files",Mi="Extra field type exceeds 65535",Ii="Extra field data exceeds 64KB",Ni=-2147483648,Ai=2147483647,Oi=i(0),Wi=i("0x7fffffffffffffff"),Gi="Zip64 is not supported (set the 'zip64' option to 'true')",Zi="Undefined uncompressed size",Pi="Undefined reader",Hi="Zip file not empty",ji="Invalid uid (must be integer 0..2^32-1)",Vi="Invalid gid (must be integer 0..2^32-1)",Li="Invalid UNIX mode (must be integer 0..65535)",Ki="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",qi="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Ji="Invalid msdosAttributesRaw (must be integer 0..255)",Qi="Invalid msdosAttributes (must be an object with boolean flags)",Xi="Signature data exceeds 64KB",Bi=new w([7,0,2,0,65,69,3,0,0]),Yi="infozip",_i="unix";let $i=0;const ea=[];class ta{constructor(e,t={}){e=new In(e);const{availableSize:n=re,maxSize:s=re}=e,i=n>0&&n!==re&&s>0&&s!==re;r.assign(this,{writer:e,Pe:i,options:t,config:ue(),files:new c,He:new l,offset:t[Ds]===te?e.size||e.writable.size||0:t[Ds],je:t[Ds]===te?0:t[Ds]-(e.size||e.writable.size||0),Ve:new l,Le:0,Ke:te})}async prependZip(e){if(this.He.size)throw new f(Hi);e=new Mn(e),await Nn(e);const{ZipReader:t}=await x.resolve().then(()=>Fi),n=new t(e.readable),s=await n.getEntries();await n.close(),await Nn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.He=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:i,rawFilename:a,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:u,zip64:d}=e;let{compressionMethod:f,qe:w,Je:p,Qe:m,Xe:h,Be:y,rawExtraField:x}=e;const{level:b,languageEncodingFlag:z,dataDescriptor:S}=o;w=w||ie,p=p||ie,m=m||ie,h=h||ie,y=y||ie,x=x||ie,e.extraFieldAES&&(f=99);const g=ga(w,p,m,h,y,x),R=d&&l>=M,F=d&&u>=M,E=-7&Fa(b,z,S,c,f)|b<<1,{Ye:k,_e:C}=Ra({version:t,bitFlag:E,compressionMethod:f,uncompressedSize:l,compressedSize:u,rawLastModDate:n,rawFilename:a,$e:F,et:R,extraFieldLength:g}),{crc32:D}=e;return D!==te&&ba(C,10,D),r.assign(e,{et:R,$e:F,nt:d&&e.offset>=M,diskNumberStart:0,st:!1,qe:w,Je:p,Qe:m,Xe:h,Be:y,rawExtraField:x,extendedTimestamp:m.length>0||h.length>0,it:1+(s?2:0)+(i?4:0),Ye:k,_e:C}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{Ve:c,config:l}=s;let u,d;$i<l.maxWorkers?$i++:await new x(e=>ea.push(e));try{if(e=e.trim(),ha(s,n,cs)&&!e.endsWith(Y)&&(e+=Y),s.He.has(e))throw new f(Ei);return s.He.add(e),d=!0,u=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=ha(e,r,rs),s=ha(e,r,as,n?20:768);const i=ha(e,r,ls),a=ha(e,r,"uid"),o=ha(e,r,"gid");let c=ha(e,r,ws),l=ha(e,r,"unixExtraFieldType"),u=ha(e,r,ps),d=ha(e,r,ms),w=ha(e,r,hs);if(a!==te&&(0>a||a>M))throw new f(ji);if(o!==te&&(0>o||o>M))throw new f(Vi);if(c!==te&&(0>c||c>I))throw new f(Li);if(l!==te&&l!==Yi&&l!==_i)throw new f(Ki);if(l===_i&&(a!==te&&a>I||o!==te&&o>I))throw new f(qi);l!==te||a===te&&o===te||(l=Yi);let p=ha(e,r,es),m=ha(e,r,ts);const h=p!==te||m!==te;if(a!==te||o!==te||c!==te||l?(n=!1,s=s&I|768):h&&(n=!0,s&=N),p!==te&&(0>p||p>N))throw new f(Ji);if(m&&"object"!=typeof m)throw new f(Qi);if(s>I)throw new f(Ui);let y=ha(e,r,$n);const x=y!==te;x||(y=0),!r[cs]&&t.endsWith(Y)&&(r[cs]=!0);const b=ha(e,r,cs);let z;if(b?(t.endsWith(Y)||(t+=Y),x||(y=16,n||(y|=16877<<16))):n||x||(y=i?493<<16:27525120),!n){const e=c!==te||!!(u||d||w);z=y>>16&I,c=c===te?z:c&I,u?c|=X:u=!!(c&X),d?c|=B:d=!!(c&B),w?c|=512:w=!!(512&c),x&&!e||(b&&(c|=Q),y=(c&I)<<16|y&I)}return({msdosAttributesRaw:p,msdosAttributes:m}=((e,t)=>{if(e!==te)e&=N;else if(t!==te){const{readOnly:r,hidden:n,system:s,directory:i,archive:a}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),e=o&N}return t===te&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,m)),h&&(y=y&M|p&N),{name:t,ot:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:z,uid:a,gid:o,unixMode:c,unixExtraFieldType:l,setuid:u,setgid:d,sticky:w,msdosAttributesRaw:p,msdosAttributes:m}}})(e,t,s);({name:t}=c);const l=((e,t,r)=>{const n=ha(e,r,"encodeText",Je);let s=n(t);if(s===te&&(s=Je(t)),ga(s)>I)throw new f(Di);const i=r[Pn]||"";let a=n(i);if(a===te&&(a=Je(i)),ga(a)>I)throw new f(Ci);const c=ha(e,r,is,20);if(c>I)throw new f(Ui);const l=ha(e,r,qn,new o),u=ha(e,r,Qn),d=ha(e,r,Bn),w=ha(e,r,_n,0),p=ha(e,r,Ss);let m,h;p||(m=ha(e,r,bs),h=ha(e,r,zs));const y=ha(e,r,"encryptionStrength",3),x=ha(e,r,os),b=ha(e,r,"extendedTimestamp",!0),z=ha(e,r,"ntfsTimestamp"),S=ha(e,r,"keepOrder",!0),g=ha(e,r,Fs),R=ha(e,r,ks),F=ha(e,r,"bufferedWrite"),E=ha(e,r,"createTempStream"),k=ha(e,r,"dataDescriptorSignature",!0),C=ha(e,r,gs),D=ha(e,r,"useUnicodeFileNames",!0),U=ha(e,r,us),T=p||U===te?te:Ie(U);if(!p&&U!==te&&0!==U&&8!==U&&!T)throw new f("Compression method not supported");let v=ha(e,r,"level");if(e.options[Us]){if(m!==te||h!==te)throw new f(vi);v===te&&U===te&&(v=0)}let M=ha(e,r,Es),N=ha(e,r,"dataDescriptor");F&&N===te&&(N=!1),(N===te||x)&&(N=!0),v!==te&&6!=v&&(M=!1);const A=ha(e,r,ns);if(!x&&(m!==te||h!==te)&&(1>y||y>3))throw new f(Ti);const O=na(r[fs]),W=na(r.localExtraField);return{comment:i,ot:{rawFilename:s,rawComment:a,version:c,lastModDate:l,lastAccessDate:u,creationDate:d,internalFileAttributes:w,passThrough:p,password:m,rawPassword:h,encryptionStrength:y,zipCrypto:x,extendedTimestamp:b,ntfsTimestamp:z,keepOrder:S,useWebWorkers:g,transferStreams:R,bufferedWrite:F,createTempStream:E,dataDescriptorSignature:k,signal:C,useUnicodeFileNames:D,compressionMethod:U,format:T?T.format:te,codecURI:T?T.codecURI:te,ct:T?T.versionNeeded:te,level:v,useCompressionStream:M,dataDescriptor:N,zip64:A,rawExtraField:O,lt:W}}})(e,t,s),{comment:u}=l,d=s[fs];let p;e.files.set(t,te);try{const{ot:u}=l;0==u.level||u.compressionMethod!==te||u.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:r}=e;if(r&&!r.Se)return!0;if(sr(t)||nr(t,Yt))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(u.level=0);const d=await(async(e,t,{ot:r},n)=>{const{passThrough:s,zipCrypto:i,password:a,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:l,zip64:u,level:d,compressionMethod:w}=r,p=0,m=0;if(s){if(!t)throw new f(Pi);if(m=n[jn],m===te)throw new f(Zi)}const h=!0===u,y=ha(e,n,ss),x=!!t&&(!!(a&&ga(a)||o&&ga(o))||s&&y);t||(d=0,w=0);const b=x?i?12:16+4*c:0;t&&(t=new Mn(t),await Nn(t),s?(n.uncompressedSize=m,p=ya(m)+b):t.size===te?(l=!0,(u||u===te)&&(u=!0,m=p=4294967296)):(n.uncompressedSize=m=t.size,p=ya(m)+b));const z=h||m>=M,S=h||p>=M;if(z||S){if(!1===u)throw new f(Gi);u=!0}return u=u||!1,{reader:t,ot:{dataDescriptor:l,zip64:u,et:z,$e:S,uncompressedSize:m,level:d,compressionMethod:w,encrypted:x}}})(e,n,l,s);({reader:n}=d);const m=ca(e.writer),h=oa(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:d,directory:w,rawExtraField:p,lt:m,encryptionStrength:h,extendedTimestamp:y,ntfsTimestamp:x,passThrough:b,encrypted:z,et:S,$e:g,uncompressedSize:R,crc32:F}=e;let{version:E,compressionMethod:k}=e;const C=!w&&(k===te?i===te||i>0:0!==k);let D;const U=b||!C,T=c&&(e.bufferedWrite||!d||!S&&!g||U),v=T||c&&d&&(S||g);if(c&&(S||g)){const e=20,t=aa(e);if(t.uint16(1),t.uint16(e-4),D=t.array,T&&(t.ut(R),U)){const e=z?l?12:16+4*h:0;t.ut(b?0:R+e)}}else D=ie;let M,N,O,W,G;if(z&&!l){const e=aa(ga(Bi)+2);e.uint16(39169),e.bytes(Bi),M=e.array,M[8]=h}else M=ie;if(y){const e=wa(r),t=pa(e);if(t){const t=9+(n?4:0)+(s?4:0),r=aa(t);W=1+(n?2:0)+(s?4:0),r.uint16(q),r.uint16(t-4),r.uint8(W),r.uint32(e),n&&r.uint32(ma(wa(n))),s&&r.uint32(ma(wa(s))),O=r.array}else O=ie;if(x===te?!t||n||s:x)try{const e=fa(r),t=aa(36);t.uint16(10),t.uint16(32),t.ft(4),t.uint16(1),t.uint16(24),t.ut(e),t.ut(n?fa(n):e),t.ut(s?fa(s):e),N=t.array}catch{N=ie}else N=ie}else N=O=ie;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=Yi||t===te&&r===te)if(n!=_i||t===te&&r===te)G=ie;else{const e=aa(8);e.uint16(30805),e.uint16(4),e.uint16((t===te?0:t)&I),e.uint16((r===te?0:r)&I),G=e.array}else{const e=ia(t),n=ia(r),s=3+e.length+n.length,i=aa(4+s);i.uint16(30837),i.uint16(s),i.uint8(1),i.uint8(e.length),i.bytes(e),i.uint8(n.length),i.bytes(n),G=i.array}}catch{G=ie}k===te&&(k=C?8:0);const{ct:Z}=e;C&&Z!==te&&(E=E>Z?E:Z),c&&(E=E>45?E:45),z&&!l&&(E=E>51?E:51,b&&F!==te&&(M[4]=1),M[9]=k,k=99);const P=v?ga(D):0,H=P+ga(M,O,N,G,p,m);if(H>I)throw new f(Ii);const j=new o(2e3*a.ceil(a.floor(r.getTime()/1e3)/2)),{Ye:V,_e:L,rawLastModDate:K}=Ra({version:E,bitFlag:Fa(i,u,d,z,k),compressionMethod:k,uncompressedSize:R,lastModDate:ee>j?ee:j>$?$:j,rawFilename:t,$e:g,et:S,extraFieldLength:H}),J=aa(_+ga(t)+H),Q=J.array,X=Be(Q);return J.uint32(A),J.bytes(V),J.bytes(t),v&&J.bytes(D),J.bytes(M),J.bytes(O),J.bytes(N),J.bytes(G),J.bytes(p),J.bytes(m),d&&(g||ba(X,18,0),S||ba(X,22,0)),{wt:Q,ht:X,Ye:V,_e:L,lastModDate:r,rawLastModDate:K,encrypted:z,compressed:C,version:E,compressionMethod:k,it:W,qe:ie,yt:P,Qe:O,Xe:N,Be:G,Je:M,extraFieldLength:H}})(s=r.assign({},s,c.ot,l.ot,d.ot,{internalFileAttribute:l.ot.internalFileAttributes,externalFileAttribute:c.ot.externalFileAttributes,signature:s[ds],crc32:s.crc32===te?s[ds]:s.crc32,offset:e.offset-m,diskNumberStart:h})),b=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ie,i=0,a=e?20:12;return r&&(a+=4),t&&(s=new w(a),n=Be(s),r&&(i=4,ba(n,0,W))),{xt:s,bt:n,zt:i}})(s),z=ga(y.wt,b.xt);p=await(async(e,t,n,s,a)=>{const{files:o,writer:c}=e,{keepOrder:l,dataDescriptor:u,signal:d}=a,{St:p}=s,m=e.options[Us],h=e.Ke;let y,b,z,S,g,R,E,C={},D=0;o.set(t,C),e.Ke=C;try{let b;l&&(b=h&&h.lock,C.lock=new x(e=>z=e)),a.bufferedWrite||!l||e.gt||e.Le||!u?(y=!0,e.Le++,E=a.createTempStream?await a.createTempStream():new F(te,te,{highWaterMark:re}),E.size=0,await Nn(c)):(E=c,await U()),await Nn(E);const v=ca(c);if(e.Pe){delete e.Pe;const t=new w(4);ba(Be(t),0,O),await da(c,t),e.offset+=4}m&&!y&&sa(s,e.offset-v);const{wt:I}=p;y||(await b,await T());const A=oa(c),W=ua(e,c);if(C.diskNumberStart=A,y||(g=!0,R=c.size,await da(E,I)),C=await(async(e,t,{diskNumberStart:n,lock:s},a,o,c)=>{const{St:l,Rt:u,Ft:d}=a,{Ye:w,_e:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:x,version:b,compressionMethod:z,qe:S,yt:g,Qe:R,it:F,Xe:E,Be:k,Je:C}=l,{xt:D}=u,{rawFilename:U,lastAccessDate:T,creationDate:v,password:I,rawPassword:A,level:O,zip64:W,et:G,$e:Z,zipCrypto:P,dataDescriptor:H,directory:j,executable:V,versionMadeBy:L,rawComment:K,rawExtraField:q,useWebWorkers:J,transferStreams:Q,onstart:X,onprogress:B,onend:Y,signal:_,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:le,sticky:ue,unixExternalUpper:de,msdosAttributesRaw:fe,msdosAttributes:we,useCompressionStream:pe,passThrough:me,format:he,codecURI:ye}=c,xe={lock:s,versionMadeBy:L,zip64:W,directory:!!j,executable:!!V,filenameUTF8:!0,rawFilename:U,commentUTF8:!0,rawComment:K,qe:S,yt:g,Qe:R,Xe:E,Be:k,Je:C,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:le,sticky:ue,unixExternalUpper:de,msdosAttributesRaw:fe,msdosAttributes:we};let{crc32:be,uncompressedSize:ze}=c,Se=0;me||(ze=0);const{writable:ge}=t;if(e){const r=Lt(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:dr,level:O,rawPassword:A,password:I,encryptionStrength:$,zipCrypto:y&&P,passwordVerification:y&&P&&h>>8&N,computeCrc32:!me,compressed:x&&!me,encrypted:y&&!me,useWebWorkers:J,useCompressionStream:pe,transferStreams:Q,format:he,codecURI:ye,compressionMethod:z},config:o,oe:{signal:_,size:n,onstart:X,onprogress:B,onend:Y}};try{const e=await Pr({readable:r,writable:ge},s);if(Se=e.outputSize,t.size+=Se,me||(ze=e.inputSize,y&&!P||(be=e.crc32)),!Z&&Se>=M||!G&&ze>=M)throw new f(Gi)}catch(e){throw e.outputSize!==te&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,St:n,Rt:s},{zip64:a,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{_e:u,encrypted:d}=n,{bt:f,zt:w}=s;d&&!o&&!c||e===te||(ba(u,10,e),l&&ba(f,w,e)),a?l&&(za(f,w+4,i(t)),za(f,w+12,i(r))):(ba(u,14,t),ba(u,18,r),l&&(ba(f,w+4,t),ba(f,w+8,r)))})({crc32:be,compressedSize:Se,uncompressedSize:ze,St:l,Rt:u},c),H&&await da(t,D),r.assign(xe,{uncompressedSize:ze,compressedSize:Se,lastModDate:m,rawLastModDate:h,creationDate:v,lastAccessDate:T,encrypted:y,zipCrypto:P,size:d+Se,compressionMethod:z,version:b,Ye:w,_e:p,signature:be,crc32:!y||P||me?be:te,it:F,et:G,$e:Z}),xe})(n,E,C,s,e.config,a),y||(g=!1),o.set(t,C),C.filename=t,y){if(await x.all([E.writable.getWriter().close(),b]),await U(),S=!0,R=c.size,await T(),C.diskNumberStart=oa(c),C.offset=ua(e,c),m){const t=s.Ft;sa(s,e.offset-ca(c)),C.size+=s.Ft-t}(({rawFilename:e,encrypted:t,zip64:r,yt:n,crc32:s,compressedSize:a,uncompressedSize:o,et:c,$e:l},u,{dataDescriptor:d,passThrough:f})=>{if(d||((!t||f&&s!==te)&&ba(u,14,s),l||ba(u,18,a),c||ba(u,22,o)),r&&n){const t=_+ga(e)+4;za(u,t,i(o)),za(u,t+8,i(a))}})(C,p.ht,a),await da(c,p.wt),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new k({async write(e){var t;await n.ready,await n.write(e),t=ga(e),D+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,c,d),c.size+=E.size,S=!1}else C.diskNumberStart=A,C.offset=W;return e.offset+=C.size,C}catch(r){if(S||g){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-R,y&&(e.offset+=D)}throw o.delete(t),r}finally{if(y&&e.Le--,z&&z(),b&&b(),y&&E&&E.dispose)try{await E.dispose()}catch{}}async function U(){e.gt=!0;const{Et:t}=e;e.Et=new x(t=>b=()=>{e.gt=!1,t()}),await t}async function T(){la(c,ga(p.wt))&&await c.closeDisk()}})(e,t,n,{St:y,Rt:b,Ft:z},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:u,extraField:d}),new xs(p)})(s,e,t,n),c.add(u),await u}catch(t){throw d&&s.He.delete(e),t}finally{c.delete(u);const e=ea.shift();e?e():$i--}}remove(e){const{He:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==te){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ie,r={}){const{Ve:n,writer:s}=this,{writable:a}=s;if(ga(e)>I)throw new f(ki);for(;n.size;)await x.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Je:n,rawComment:s,Xe:i,Be:a,rawExtraField:o,extendedTimestamp:c,it:l,lastModDate:u,et:d,$e:w,uncompressedSize:p,compressedSize:m}=r,h=r.offset>=M,y=r.diskNumberStart>=I;let x,b;if(h||y||d||w){const e=4+(d?8:0)+(w?8:0)+(h?8:0)+(y?4:0),t=aa(e);t.uint16(1),t.uint16(e-4),d&&t.ut(p),w&&t.ut(m),h&&t.ut(r.offset),y&&t.uint32(r.diskNumberStart),x=t.array}else x=ie;r.qe=x,r.nt=h,r.st=y;const z=wa(u);if(c&&pa(z)){const e=aa(9);e.uint16(q),e.uint16(5),e.uint8(l),e.uint32(z),b=e.array}else b=ie;r.Qe=b;const S=ga(x,n,i,a,b,o);if(S>I)throw new f(Ii);t+=46+ga(e,s)+S}return t})(e.files),{kt:a,Ct:o}=await(async(e,r,n)=>{const{files:s,writer:i}=e,a=new w(r);await Nn(i);let o=0,c=0,l=oa(i),u=ca(i);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:d,qe:f,Je:w,Qe:p,Xe:m,Be:h,rawExtraField:y,rawComment:x,versionMadeBy:b,Ye:z,_e:S,et:g,$e:R,st:F,nt:E,internalFileAttributes:k,externalFileAttributes:C,diskNumberStart:D,uncompressedSize:U,compressedSize:T}=r,v=ga(f,w,p,m,h,y),N=46+ga(d,x)+v;la(i,o+N-c)&&(await da(i,a.slice(c,o)),c=o,await i.closeDisk()),0==e&&(l=oa(i),u=ca(i)),g||ba(S,18,U),R||ba(S,14,T),(E||F)&&45>r.version&&xa(S,0,45);const A=aa(N);if(A.uint32(Z),A.uint16(b),A.bytes(z.subarray(0,24)),A.uint16(v),A.uint16(ga(x)),A.uint16(F?I:D),A.uint16(k),A.uint32(C),A.uint32(E?M:t),A.bytes(d),A.bytes(f),A.bytes(w),A.bytes(p),A.bytes(m),A.bytes(h),A.bytes(y),A.bytes(x),Sa(a,A.array,o),o+=N,n.onprogress)try{await n.onprogress(e+1,s.size,new xs(r))}catch{}}return await da(i,c?a.slice(c):a),{kt:{diskNumber:l,diskOffset:u},Ct:a}})(e,s,n),c=await(async(e,t,r)=>{const n=ha(e,r,"signCentralDirectory");if(n){const r=await n(t),s=ga(r);if(s>I)throw new f(Xi);const i=aa(6+s);return i.uint32(G),i.uint16(s),i.bytes(r),await da(e.writer,i.array),6+s}return 0})(e,o,n);await(async(e,t,r,n)=>{const{writer:s}=e,{kt:a,Dt:o}=n;let{Ut:c}=n,l=e.files.size,u=a.diskNumber,d=ua(e,a),w=oa(s);la(s,V)&&w++;let p=ha(e,r,ns);if(!(M>d&&M>c&&I>l&&I>w)){if(!1===p)throw new f(Gi);p=!0}const m=ga(t);if(m>I)throw new f(ki);const h=aa(p?98:V);la(s,ga(h.array)+m)&&await s.closeDisk(),w=oa(s),p&&(h.uint32(H),h.ut(44),h.uint16(45),h.uint16(45),h.uint32(w),h.uint32(u),h.ut(l),h.ut(l),h.ut(c),h.ut(d),h.uint32(j),h.uint32(w),h.ut(i(ua(e,s))+i(c)+i(o)),h.uint32(w+1),ha(e,r,"supportZip64SplitFile",!0)&&(w=I,u=I),l=I,d=M,c=M),h.uint32(P),h.uint16(w),h.uint16(u),h.uint16(l),h.uint16(l),h.uint32(c),h.uint32(d),h.uint16(m),await da(s,h.array),m&&await da(s,t)})(e,r,n,{kt:a,Ut:s,Dt:c})})(this,e,r),ha(this,r,Cs)||await a.getWriter().close(),s.getData?s.getData():a}}function ra(e,t,r){e.Ve.add(t),t.catch(e=>{try{r(e)}catch{}})}function na(e){if(!e)return ie;let t=0,r=0;e.forEach(e=>t+=4+ga(e));const n=new w(t),s=Be(n);return e.forEach((e,t)=>{if(t>I)throw new f(Mi);if(ga(e)>I)throw new f(Ii);xa(s,r,t),xa(s,r+2,ga(e)),Sa(n,e,r+4),r+=4+ga(e)}),n}function sa(e,t){const{St:r}=e;let{wt:n,extraFieldLength:s}=r,i=64-(t+ga(n))%64;4>i&&(i+=64);const a=new w(i),o=Be(a);xa(o,0,6534),xa(o,2,i-4);const c=n;r.wt=n=new w(ga(c)+i),Sa(n,c),Sa(n,a,ga(c));const l=Be(n);xa(l,28,s+i),r.ht=l,e.Ft+=i}function ia(e){if(e===te)return ie;{const t=new w(4);Be(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function aa(e){const t=new w(e),r=Be(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{xa(r,n,e),n+=2},uint32:e=>{ba(r,n,e),n+=4},ut:e=>{za(r,n,i(e)),n+=8},bytes:e=>{Sa(t,e,n),n+=ga(e)},ft:e=>n+=e}}function oa(e){const{diskNumber:t=0}=e;return t}function ca(e){const{diskOffset:t=0}=e;return t}function la(e,t){const{availableSize:r=re}=e;return t>r}function ua(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.je:0)}async function da(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=ga(t),await n.write(t)}finally{n.releaseLock()}}function fa(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return Oi>t?Oi:t>Wi?Wi:t}}function wa(e){return a.floor(e.getTime()/1e3)}function pa(e){return e>=Ni&&Ai>=e}function ma(e){return a.min(Ai,a.max(Ni,e))}function ha(e,t,r,n){const s=t[r]===te?e.options[r]:t[r];return s===te?n:s}function ya(e){return e+5*(a.floor(e/16383)+1)}function xa(e,t,r){e.setUint16(t,r,!0)}function ba(e,t,r){e.setUint32(t,r,!0)}function za(e,t,r){e.setBigUint64(t,r,!0)}function Sa(e,t,r){e.set(t,r)}function ga(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Ra({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,$e:c,et:l,extraFieldLength:u}){const d=aa(26),f=d.array,w=Be(f);if(d.uint16(e),d.uint16(t),d.uint16(r),a===te){const e=new m(1),t=Be(e);xa(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),xa(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return d.uint32(a),d.ft(4),c||s!==te?d.uint32(c?M:s):d.ft(4),l||n!==te?d.uint32(l?M:n):d.ft(4),d.uint16(ga(o)),d.uint16(u),{Ye:f,_e:w,rawLastModDate:a}}function Fa(e,t,r,n,s){let i=0;return t&&(i|=J),r&&(i|=8),8!=s&&9!=s||(0>e||e>3||(i|=6),e>3&&5>=e&&(i|=4),9==e&&(i|=2)),n&&(i|=1),i}const Ea=1048576,ka=".zip.js-temp",Ca=1048576,Da=1048576,Ua=".zip.js-temp",Ta="createSyncAccessHandle is only available in dedicated workers";try{pe({baseURI:void 0===S&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===S?location.href:v&&"SCRIPT"===v.tagName.toUpperCase()&&v.src||new d("zip-legacy.min.js",S.baseURI).href})}catch{}Fe(pe),e.BlobReader=un,e.BlobWriter=dn,e.Data64URIReader=class extends an{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,Tt:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{Tt:r,dataURI:n}=this,s=new w(t),i=4*a.floor(e/3),o=atob(n.substring(i+r,4*a.ceil((e+t)/3)+r)),c=e-3*a.floor(i/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends on{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const i=t.pending.length;for(t.pending="",r=0;r<3*a.floor((i+e.length)/3)-i;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=R(s):t.pending=s+t.pending}getData(){return this.data+R(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=Ls,e.ERR_BAD_FORMAT=Is,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Os,e.ERR_DUPLICATED_NAME=Ei,e.ERR_ENCRYPTED=Zs,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Ks,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=As,e.ERR_EOCDR_NOT_FOUND=Ns,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Gs,e.ERR_HTTP_RANGE=Jr,e.ERR_HTTP_RESOURCE_CHANGED=Qr,e.ERR_INVALID_AUTHENTICATION_CODE=st,e.ERR_INVALID_CODEC_DEFINITION=ke,e.ERR_INVALID_CODEC_MODULE=De,e.ERR_INVALID_COMMENT=ki,e.ERR_INVALID_COMPRESSED_DATA=Qt,e.ERR_INVALID_CRC32=Xt,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ti,e.ERR_INVALID_ENTRY_COMMENT=Ci,e.ERR_INVALID_ENTRY_NAME=Di,e.ERR_INVALID_EXTRAFIELD_DATA=Ii,e.ERR_INVALID_EXTRAFIELD_TYPE=Mi,e.ERR_INVALID_GID=Vi,e.ERR_INVALID_MSDOS_ATTRIBUTES=Ji,e.ERR_INVALID_MSDOS_DATA=Qi,e.ERR_INVALID_PASSWORD=rt,e.ERR_INVALID_SIGNATURE=nt,e.ERR_INVALID_SIGNATURE_DATA=Xi,e.ERR_INVALID_UID=ji,e.ERR_INVALID_UNCOMPRESSED_SIZE=Jt,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Ki,e.ERR_INVALID_UNIX_ID_SIZE=qi,e.ERR_INVALID_UNIX_MODE=Li,e.ERR_INVALID_VERSION=Ui,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Xr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Ws,e.ERR_OVERLAPPING_ENTRY=Vs,e.ERR_RESERVED_COMPRESSION_METHOD=Ce,e.ERR_SPLIT_ZIP_FILE=js,e.ERR_UNDEFINED_READER=Pi,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Zi,e.ERR_UNSUPPORTED_COMPRESSION=Hs,e.ERR_UNSUPPORTED_CONTEXT=Ta,e.ERR_UNSUPPORTED_CRYPTO_API=at,e.ERR_UNSUPPORTED_ENCRYPTION=Ps,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=vi,e.ERR_UNSUPPORTED_FORMAT=Gi,e.ERR_WORKER_STARTUP_TIMEOUT=yr,e.ERR_WRITER_NOT_INITIALIZED=Br,e.ERR_ZIP_NOT_EMPTY=Hi,e.HttpRangeReader=class extends Un{constructor(e,t={}){super(e,r.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=Un,e.Reader=an,e.SplitDataReader=Tn,e.SplitDataWriter=vn,e.TextReader=class extends un{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends dn{constructor(e){super(e),r.assign(this,{encoding:e,vt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,vt:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new x((s,i)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends an{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends on{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new w(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new w(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=on,e.ZipReader=Bs,e.ZipReaderStream=Ys,e.ZipWriter=ta,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new F;this.readable=t,this.zipWriter=new ta(r,e),this.Ve=new l}transform(e){const t=this.zipWriter;let r;const{readable:n,writable:s}=new F({start(e){r=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return ra(this,this.zipWriter.add(e,n),e=>r.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:r,writable:n}=new F({start(e){t=e}});return ra(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,r={}){return await x.all(t.from(this.Ve)),this.zipWriter.close(e,r)}},e.configure=fe,e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=Ca}=e;return()=>{const e=[];let r,n,s,i=0,a=!1;const o=new k({async write(s){a?await r.write(s):(e.push(s),i+=s.length,i>t&&await(async()=>{const t=new F;n=Kt(t.readable),r=t.writable.getWriter(),a=!0;for(const t of e)await r.write(t);e.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:o,readable:new E({async pull(t){if(a){if(!s){const e=await n;s=e.stream().getReader()}const{value:e,done:r}=await s.read();r?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:r=Ea,directoryName:n=ka,getDirectory:s=()=>U.storage.getDirectory()}=e;let i;function a(){return i||(i=x.resolve(s()).then(e=>e.getDirectoryHandle(n,{create:!0}))),i}return()=>{const e=[];let n,s,i,o,c=0,l=!1;const u=new k({async write(o){l?await i.write(o):(e.push(o),c+=o.length,c>r&&await(async()=>{const r=await a();n=g.randomUUID?g.randomUUID():t.from(g.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),s=await r.getFileHandle(n,{create:!0}),i=(await s.createWritable()).getWriter(),l=!0;for(const t of e)await i.write(t);e.length=0})())},async close(){i&&(await i.close(),i=null)}});let d=0;return{writable:u,readable:new E({async pull(t){if(l){if(!o){const e=await s.getFile();o=e.stream().getReader()}const{value:e,done:r}=await o.read();r?t.close():t.enqueue(e)}else d<e.length?t.enqueue(e[d++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(i){try{await i.close()}catch{}i=null}if(n){try{const e=await a();await e.removeEntry(n)}catch{}s=n=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:r=Da,directoryName:n=Ua,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new f(Ta);const i=s||(()=>U.storage.getDirectory());let o;function c(){return o||(o=x.resolve(i()).then(e=>e.getDirectoryHandle(n,{create:!0}))),o}return()=>{const e=[];let n,s,i=0,o=!1,l=0,u=0;const d=new k({async write(a){o?(s.write(a,{at:l}),l+=a.length):(e.push(a),i+=a.length,i>r&&await(async()=>{const r=await c();n=g.randomUUID?g.randomUUID():t.from(g.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await r.getFileHandle(n,{create:!0});s=await i.createSyncAccessHandle(),o=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let f=0;return{writable:d,readable:new E({pull(t){if(o){const e=l-u;if(0>=e)return void t.close();const r=new w(a.min(524288,e)),n=s.read(r,{at:u});n?(u+=n,t.enqueue(r.subarray(0,n))):t.close()}else f<e.length?t.enqueue(e[f++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(s){try{s.close()}catch{}s=null}if(n){try{const e=await c();await e.removeEntry(n)}catch{}n=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:r,codecURI:n,CompressionStream:i,DecompressionStream:a,versionNeeded:o}=e;if(!s.isInteger(t)||0>t||t>I||typeof r!=Ue||!r.length)throw new f(ke);if(Te.includes(t))throw new f(Ce);const c=typeof i==se||typeof a==se;if(!(c||typeof n==Ue&&n.length))throw new f(ke);ve.set(t,{compressionMethod:t,format:r,codecURI:n,versionNeeded:o}),c&&Ae(r,{CompressionStream:i,DecompressionStream:a})},e.resetConfiguration=()=>{for(const e of ce)delete le[e];r.assign(le,oe)},e.terminateWorkers=async()=>{await x.allSettled(Ar.map(e=>(Kr(e),e.terminate()))),xr=te,gr=!1},e.unregisterCodec=e=>{const t=ve.get(e);if(t){let r;ve.delete(e),ve.forEach(e=>r=r||e.format==t.format),r||Me.delete(t.format)}}});
1
+ ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:s,BigInt:a,Math:o,Date:i,Map:c,Set:l,Response:d,URL:w,Error:f,Uint8Array:u,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:S,TextEncoder:z,TextDecoder:b,document:g,crypto:x,btoa:D,TransformStream:E,ReadableStream:F,WritableStream:R,CompressionStream:T,DecompressionStream:k,navigator:v,Worker:C}="undefined"!=typeof globalThis?globalThis:this||self;var U=void 0!==g?g.currentScript:null;const W=4294967295,I=65535,A=255,j=67324752,O=134695760,M=O,B=84233040,Z=33639248,P=101010256,Y=101075792,N=117853008,L=22,K=20,q=56,V=21589,H=2048,X=16384,J=2048,G=1024,Q="/",_=30,$=new i(2107,11,31,23,59,58),ee=new i(1980,0,1),te=void 0,re=1/0,ne="undefined",se="function",ae=new u;let oe=2;try{typeof v!=ne&&v.hardwareConcurrency&&(oe=v.hardwareConcurrency)}catch{}const ie={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:oe,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof T!=ne&&T,DecompressionStream:typeof k!=ne&&k},ce=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],le={...ie};function de(){return le}function we(e){return o.max(e.chunkSize,64)}function fe(e){e=ue(e);for(const t of ce){const r=e[t];r!==te&&(le[t]=r)}}function ue(e){const{CompressionStreamZlib:t,DecompressionStreamZlib:n}=e;if(t===te&&n===te)return e;const s=r.assign({},e);return s.CompressionStreamFallback===te&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===te&&(s.DecompressionStreamFallback=n),s}function pe(e){e=ue(e);for(const t of ce){const r=e[t];r!==te&&(ie[t]=r)}fe(e)}const he=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],me=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ye=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Se=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ze=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],be=new u(288);be.fill(8,0,144),be.fill(9,144,256),be.fill(7,256,280),be.fill(8,280,288);const ge=new u(30).fill(5);function xe(e){const t=new p(16);for(const r of e)t[r]++;t[0]=0;const r=new p(17);for(let e=1;15>=e;e++)r[e+1]=r[e]+t[e];const n=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(n[r[e[t]]++]=t);return{o:t,symbols:n}}const De="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ee=(Fe=()=>(e=>{let t=0,r=0,n=0,s=new u(1024),a=0,o=0;for(;!o;){o=c(1);const e=c(2);if(0==e)l();else if(1==e)d(xe(be),xe(ge));else{if(2!=e)throw f("invalid deflate block type");d(...w())}}return s.subarray(0,a);function i(){if(t>=e.length)throw f("unexpected end of deflate data");return e[t++]}function c(e){for(;e>n;)r|=i()<<n,n+=8;const t=r&(1<<e)-1;return r>>>=e,n-=e,t}function l(){r=0,n=0;const e=i()|i()<<8;t+=2,h(a+e);for(let t=0;e>t;t++)s[a++]=i()}function d(e,t){let r=p(e);for(;256!=r;){if(256>r)h(a+1),s[a++]=r;else{const e=r-257,n=he[e]+c(me[e]),o=p(t),i=ye[o]+c(Se[o]);h(a+n);const l=a-i;for(let e=0;n>e;e++)s[a++]=s[l+e]}r=p(e)}}function w(){const e=c(5)+257,t=c(5)+1,r=c(4)+4,n=new u(19);for(let e=0;r>e;e++)n[ze[e]]=c(3);const s=xe(n),a=new u(e+t);let o=0;for(;o<a.length;){const e=p(s);if(16>e)a[o++]=e;else if(16==e){const e=a[o-1];let t=c(2)+3;for(;t--;)a[o++]=e}else o+=17==e?c(3)+3:c(7)+11}return[xe(a.subarray(0,e)),xe(a.subarray(e))]}function p(e){const{o:t,symbols:r}=e;let n=0,s=0,a=0;for(let e=1;15>=e;e++){n|=c(1);const o=t[e];if(o>n-s)return r[a+(n-s)];a+=o,s=s+o<<1,n<<=1}throw f("invalid huffman code")}function h(e){if(s.length<e){let t=2*s.length;for(;e>t;)t*=2;const r=new u(t);r.set(s.subarray(0,a)),s=r}}})((e=>{const t=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,r=[];for(let n=0;t>n;n+=4){const t=De.indexOf(e[n])<<18|De.indexOf(e[n+1])<<12|(63&De.indexOf(e[n+2]))<<6|63&De.indexOf(e[n+3]);r.push(t>>16&255),"="!==e[n+2]&&r.push(t>>8&255),"="!==e[n+3]&&r.push(255&t)}return new u(r)})("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")),e=>e({workerURI:e=>{const t="text/javascript";let r=Fe();if("string"==typeof r&&(r=(new z).encode(r)),e){const e=new y([r],{type:t});return w.createObjectURL(e)}return"data:"+t+";base64,"+(e=>{let t="";const r=e.length;let n=0;for(;r>n+2;n+=3){const r=e[n]<<16|e[n+1]<<8|e[n+2];t+=De[r>>18&63]+De[r>>12&63]+De[r>>6&63]+De[63&r]}const s=r-n;if(1===s){const r=e[n]<<16;t+=De[r>>18&63]+De[r>>12&63]+"=="}else if(2===s){const r=e[n]<<16|e[n+1]<<8;t+=De[r>>18&63]+De[r>>12&63]+De[r>>6&63]+"="}return t})(r)}}));var Fe;const Re="Invalid codec definition",Te="Reserved compression method",ke="Invalid codec module",ve="string",Ce=[0,8,9,99],Ue=new c,We=new c;function Ie(e){return Ue.get(e)}function Ae(e){return We.get(e)}function je(e,t){const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=se&&typeof n!=se)throw new f(ke);We.set(e,{CompressionStream:r,DecompressionStream:n})}const Oe=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;Oe[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=Oe[t-1][e];Oe[t][e]=r>>>8^Oe[0][255&r]}const[Me,Be,Ze,Pe,Ye,Ne,Le,Ke]=Oe;class qe{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),a=r-8;for(;a>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=Ke[255&e]^Le[e>>>8&255]^Ne[e>>>16&255]^Ye[e>>>24&255]^Pe[255&r]^Ze[r>>>8&255]^Be[r>>>16&255]^Me[r>>>24&255]}}for(;r>n;n++)t=t>>>8^Me[255&(t^e[n])];this.l=t}get(){return~this.l}}class Ve extends E{constructor(){let e;const t=new qe;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new u(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function He(e){if(typeof z==ne){const t=new u((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new z).encode(e)}function Xe(e,t){const r=new u(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Je(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new u(e):e}function Ge(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const Qe={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=Qe.h(r);return 32===n?e.concat(t):Qe.m(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+Qe.h(r)},S(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,o.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=Qe.D(t,e[r-1]&2147483648>>t-1,1)),e},D:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,h:e=>o.round(e/1099511627776)||32,m(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=Qe.h(s);return n.push(Qe.D(t+a&31,t+a>32?r:n.pop(),1)),n}},_e={bytes:{F(e){const t=Qe.bitLength(e)/8,r=new u(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},R(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(Qe.D(8*(3&r),n)),t}}},$e=class{constructor(e){const t=this;t.blockSize=512,t.T=[1732584193,4023233417,2562383102,271733878,3285377520],t.v=[1518500249,1859775393,2400959708,3395469782],e?(t.C=e.C.slice(0),t.U=e.U.slice(0),t.W=e.W):t.reset()}reset(){const e=this;return e.C=e.T.slice(0),e.U=[],e.W=0,e}update(e){const t=this;"string"==typeof e&&(e=_e.I.R(e));const r=t.U=Qe.concat(t.U,e),n=t.W,s=t.W=n+Qe.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let o=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.A(a.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),t}j(){const e=this;let t=e.U;const r=e.C;t=Qe.concat(t,[Qe.D(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(o.floor(e.W/4294967296)),t.push(0|e.W);t.length;)e.A(t.splice(0,16));return e.reset(),r}O(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}M(e,t){return t<<e|t>>>32-e}A(e){const r=this,n=r.C,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],i=n[1],c=n[2],l=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.M(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.M(5,a)+r.O(e,i,c,l)+d+s[e]+r.v[o.floor(e/20)]|0;d=l,l=c,c=r.M(30,i),i=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+i|0,n[2]=n[2]+c|0,n[3]=n[3]+l|0,n[4]=n[4]+d|0}},et={importKey:e=>new et.B(_e.bytes.R(e)),Z(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new f("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,o,i,c,l;const d=new ArrayBuffer(s),w=new m(d);let u=0;const p=Qe;for(t=_e.bytes.R(t),l=1;(s||1)>u;l++){for(a=o=e.encrypt(p.concat(t,[l])),i=1;r>i;i++)for(o=e.encrypt(o),c=0;c<o.length;c++)a[c]^=o[c];for(i=0;(s||1)>u&&i<a.length;i++)w.setInt32(u,a[i]),u+=4}return d.slice(0,n/8)},B:class{constructor(e){const t=this,r=t.P=$e,n=[[],[]];t.Y=[new r,new r];const s=t.Y[0].blockSize/32;e.length>s&&(e=(new r).update(e).j());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.Y[0].update(n[0]),t.Y[1].update(n[1]),t.N=new r(t.Y[0])}reset(){const e=this;e.N=new e.P(e.Y[0]),e.L=!1}update(e){this.L=!0,this.N.update(e)}digest(){const e=this,t=e.N.j(),r=new e.P(e.Y[1]).update(t).j();return e.reset(),r}encrypt(e){if(this.L)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},tt=typeof x!=ne&&typeof x.getRandomValues==se,rt="Invalid password",nt="Invalid signature",st=nt,at="zipjs-abort-check-password",ot="Crypto API not supported";function it(e){if(tt)return x.getRandomValues(e);throw new f(ot)}const ct=16,lt={name:"PBKDF2"},dt=r.assign({hash:{name:"HMAC"}},lt),wt=r.assign({iterations:1e3,hash:{name:"SHA-1"}},lt),ft=["deriveBits"],ut=[8,12,16],pt=[16,24,32],ht=10,mt=[0,0,0,0],yt=typeof x!=ne,St=yt&&x.subtle,zt=yt&&typeof St!=ne,bt=_e.bytes,gt=class{constructor(e){const t=this;t.K=[[[],[],[],[],[]],[[],[],[],[],[]]],t.K[0][0][0]||t.V();const r=t.K[0][4],n=t.K[1],s=e.length;let a,o,i,c=1;if(4!==s&&6!==s&&8!==s)throw new f("invalid aes key size");for(t.v=[o=e.slice(0),i=[]],a=s;4*s+28>a;a++){let e=o[a-1];(a%s===0||8===s&&a%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),o[a]=o[a-s]^e}for(let e=0;a;e++,a--){const t=o[3&e?a:a-4];i[e]=4>=a||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.H(e,0)}decrypt(e){return this.H(e,1)}V(){const e=this.K[0],t=this.K[1],r=e[4],n=t[4],s=[],a=[];let o,i,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=o=0;!r[d];d^=i||1,o=a[o]||1){let a=o^o<<1^o<<2^o<<3^o<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,l=s[c=s[i=s[d]]];let w=16843009*l^65537*c^257*i^16843008*d,f=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=f=f<<24^f>>>8,t[r][a]=w=w<<24^w>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}H(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this.v[t],n=r.length/4-2,s=[0,0,0,0],a=this.K[t],o=a[0],i=a[1],c=a[2],l=a[3],d=a[4];let w,u,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],S=e[t?1:3]^r[3],z=4;for(let e=0;n>e;e++)w=o[h>>>24]^i[m>>16&255]^c[y>>8&255]^l[255&S]^r[z],u=o[m>>>24]^i[y>>16&255]^c[S>>8&255]^l[255&h]^r[z+1],p=o[y>>>24]^i[S>>16&255]^c[h>>8&255]^l[255&m]^r[z+2],S=o[S>>>24]^i[h>>16&255]^c[m>>8&255]^l[255&y]^r[z+3],z+=4,h=w,m=u,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[y>>8&255]<<8^d[255&S]^r[z++],w=h,h=m,m=y,y=S,S=w;return s}},xt=class{constructor(e,t){this.X=e,this.J=t,this.G=t}reset(){this.G=this.J}update(e){return this._(this.X,e,this.G)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}_(e,t,r){let n;if(!(n=t.length))return[];const s=Qe.bitLength(t);for(let s=0;n>s;s+=4){this.ee(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return Qe.S(t,s)}},Dt=et.B;let Et=yt&&zt&&typeof St.importKey==se,Ft=yt&&zt&&typeof St.deriveBits==se;class Rt extends E{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){kt(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:a,te:o,ready:i}=r;s?(await(async(e,t,r,n)=>{const s=await Ct(e,t,r,Wt(n,0,ut[t])),a=Wt(n,ut[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(rt)})(r,a,s,Wt(e,0,ut[a]+2)),e=Wt(e,ut[a]+2),n?t.error(new f(at)):o()):await i;const c=new u(e.length-ht-(e.length-ht)%ct);t.enqueue(vt(r,e,c,0,ht,!0))},async flush(e){const{re:t,ne:r,pending:n,ready:a}=this;if(r&&t){await a;const o=Wt(n,0,n.length-ht),i=Wt(n,n.length-ht);let c=ae;if(o.length){const e=At(bt,o);r.update(e);const n=t.update(e);c=It(bt,n)}const l=Wt(It(bt,r.digest()),0,ht);let d=n.length<ht?1:0;for(let e=0;ht>e;e++)d|=l[e]^i[e];if(d&&s)throw new f(st);e.enqueue(c)}}})}}class Tt extends E{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){kt(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,te:a,ready:o}=r;let i=ae;n?(i=await(async(e,t,r)=>{const n=it(new u(ut[t]));return Xe(n,await Ct(e,t,r,n))})(r,s,n),a()):await o;const c=new u(i.length+e.length-e.length%ct);c.set(i,0),t.enqueue(vt(r,e,c,i.length,0))},async flush(e){const{re:t,ne:r,pending:n,ready:s}=this;if(r&&t){await s;let a=ae;if(n.length){const e=t.update(At(bt,n));r.update(e),a=It(bt,e)}const o=It(bt,r.digest()).slice(0,ht);e.enqueue(Xe(a,o))}}})}}function kt(e,t,n,s){r.assign(e,{ready:new S(t=>e.te=t),password:Ut(t,n),strength:s-1,pending:ae})}function vt(e,t,r,n,s,a){const{re:o,ne:i,pending:c}=e;c.length&&(t=Xe(c,t));const l=t.length-s;let d;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new u(t)).set(r,0)}return e})(r,n+(l-l%ct)),d=0;l-ct>=d;d+=ct){const e=At(bt,Wt(t,d,d+ct));a&&i.update(e);const s=o.update(e);a||i.update(s),r.set(It(bt,s),d+n)}return e.pending=Wt(t,d),r}async function Ct(e,n,s,a){e.password=null;const o=await(async(e,t,r,n,s)=>{if(!Et)return et.importKey(t);try{return await St.importKey("raw",t,r,!1,s)}catch{return Et=!1,et.importKey(t)}})(0,s,dt,0,ft),i=await(async(e,t,r)=>{if(!Ft)return et.Z(t,e.salt,wt.iterations,r);try{return await St.deriveBits(e,t,r)}catch{return Ft=!1,et.Z(t,e.salt,wt.iterations,r)}})(r.assign({salt:a},wt),o,8*(2*pt[n]+2)),c=new u(i),l=At(bt,Wt(c,0,pt[n])),d=At(bt,Wt(c,pt[n],2*pt[n])),w=Wt(c,2*pt[n]);return r.assign(e,{keys:{key:l,se:d,passwordVerification:w},re:new xt(new gt(l),t.from(mt)),ne:new Dt(d)}),w}function Ut(e,t){return t===te?He(e):t}function Wt(e,t,r){return e.subarray(t,r)}function It(e,t){return e.F(t)}function At(e,t){return e.R(t)}class jt extends E{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){Mt(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=Bt(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new f(rt);e=e.subarray(12)}n?t.error(new f(at)):t.enqueue(Bt(r,e))}})}}class Ot extends E{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){Mt(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=it(new u(12));t[11]=r.passwordVerification,n=new u(e.length+t.length),n.set(Zt(r,t),0),s=12}else n=new u(e.length),s=0;n.set(Zt(r,e),s),t.enqueue(n)}})}}function Mt(e,t,n,s){r.assign(e,{password:t,rawPassword:n,passwordVerification:s}),((e,t,n)=>{const s=[305419896,591751049,878082192];if(r.assign(e,{keys:s,ae:new qe(s[0]),oe:new qe(s[2])}),n)for(let t=0;t<n.length;t++)Pt(e,n[t]);else for(let r=0;r<t.length;r++)Pt(e,t.charCodeAt(r))})(e,t,n)}function Bt(e,t){const r=new u(t.length);for(let n=0;n<t.length;n++)r[n]=Yt(e)^t[n],Pt(e,r[n]);return r}function Zt(e,t){const r=new u(t.length);for(let n=0;n<t.length;n++)r[n]=Yt(e)^t[n],Pt(e,t[n]);return r}function Pt(e,t){let[,r]=e.keys;e.ae.append([t]);const n=~e.ae.get();r=Lt(o.imul(Lt(r+Nt(n)),134775813)+1),e.oe.append([r>>>24]);const s=~e.oe.get();e.keys=[n,r,s]}function Yt(e){const t=2|e.keys[2];return Nt(o.imul(t,1^t)>>>8)}function Nt(e){return 255&e}function Lt(e){return 4294967295&e}function Kt(e){if(e instanceof F)return e;const t=e.getReader();return new F({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function qt(e,t){if(e=Kt(e),typeof y.prototype.stream!=se||new y([]).stream()instanceof F){const r={};return t&&(r.headers=[["Content-Type",t]]),new d(e,r).blob()}const r=[];return e.pipeTo(new R({write(e){r.push(e)}})).then(()=>new y(r,t?{type:t}:{}))}function Vt(e){if(e instanceof R)return e;const t=e.getWriter();return new R({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const Ht="Invalid uncompressed size",Xt="Invalid compressed data",Jt=nt,Gt="deflate-raw",Qt="gzip",_t=[31,139,8];class $t extends E{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:d,format:w,compressionMethod:f}=e,u=this;let p,h,y,S=super.readable;const z=w&&Ae(w),b=c&&s&&!d&&!z&&(!a||i)&&!(!o||!n);if(a&&!i||!c||b||(p=new Ve,S=cr(S,p)),s)if(z)S=lr(S,or(z.CompressionStream,w,{level:l,chunkSize:t,compressionMethod:f}));else if(b)y=new er,S=lr(S,new n(Qt)),S=cr(S,y);else try{S=ir(S,o,{level:l,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Qt)}catch{throw e}S=lr(S,t),S=cr(S,new er)}a&&(i?S=cr(S,new Ot(e)):(h=new Tt(e),S=cr(S,h))),ar(u,S,()=>{a&&!i||!c||(u.crc32=b?y.crc32:new m(p.value.buffer).getUint32(0))})}}class er extends E{constructor(){let e,t=10,r=new u(0);super({transform(e,n){if(t){const r=o.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=Xe(r,e));const a=s-8,i=o.min(a,r.length);n.enqueue(Xe(r.subarray(0,i),e.subarray(0,a-i))),r=Xe(r.subarray(i),e.subarray(a-i))},flush(){const t=Ge(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class tr extends E{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:d,format:w,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let z,b,g=super.readable;if(a&&(s?g=cr(g,new jt(e)):(b=new Rt(e),g=cr(g,b))),c){const e=w&&Ae(w);if(e)g=lr(g,or(e.DecompressionStream,w,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{g=ir(g,l,{chunkSize:t,deflate64:d},n,r)}catch(e){if(d||y===te)throw e;let t;try{t=new n(Qt)}catch{throw e}g=((e,t,r)=>{const n=new qe;let s,a,o,i=0,c=!1;const l=new S((e,t)=>{a=e,o=t});l.catch(()=>{}),r||a();const d=new E({start(e){const t=new u(10);t.set(_t),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new u(8),s=Ge(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){o(e)}}),w=new E({transform(e,t){n.append(e),i+=e.length,r>i?c&&p():a(),t.enqueue(e)},cancel(e){o(e)}});return e=cr(e,d),cr(e=lr(e,t),w);function p(){h(),s=setTimeout(()=>o(new f(Ht)),5e3)}function h(){clearTimeout(s)}})(g,t,y)}g=(e=>{const t=e.getReader();return new F({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new f(Xt);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(g)}o&&(z=new Ve,g=cr(g,z)),ar(this,g,()=>{if(o){const e=new m(z.value.buffer);if(i!=e.getUint32(0,!1))throw new f(Jt)}})}}const rr=new c;function nr(e,t){if(!e)return!1;let r=rr.get(e);r||(r=new c,rr.set(e,r));let n=r.get(t);if(n===te){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function sr(e){return nr(e,Gt)}function ar(e,t,n){t=cr(t,new E({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function or(e,t,r){if(!e)throw new f("Compression method not supported");return new e(t,r)}function ir(e,t,r,n,s){const a=t&&n?n:s||n,o=r.deflate64?"deflate64-raw":Gt;let i;try{i=new a(o,r)}catch(e){if(!t||!s||a==s)throw e;i=new s(o,r)}return lr(e,i)}function cr(e,t){return Kt(e).pipeThrough(t)}function lr(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const dr="data",wr="deflate",fr="inflate";class ur extends E{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(wr)?a=$t:s.startsWith(fr)&&(a=tr),n.outputSize=0;let o=0;const i=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:o})}}),d=new E({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==te&&n.outputSize>e.outputSize))throw new f(Ht)},flush(){const{crc32:e}=i;r.assign(n,{crc32:e,inputSize:o})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(l).pipeThrough(i).pipeThrough(d)})}}class pr extends E{constructor(e){const t=[];let r=0;function n(){const n=new u(e);let s=0;for(;e>s;){const r=t[0],a=e-s;r.length>a?(n.set(r.subarray(0,a),s),t[0]=r.subarray(a),s+=a):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,a){for(t.push(s),r+=s.length;r>e;)a.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new u(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const hr={type:"module"},mr="error",yr="Worker startup timeout";let Sr,zr,br,gr,xr,Dr=!0;try{Dr=typeof structuredClone==se&&structuredClone(new DOMException("","AbortError")).code!==te}catch{}class Er{constructor(e,{readable:t,writable:n},{options:s,config:a,ie:o,useWebWorkers:i,transferStreams:c,workerURI:l,createWorker:d},w){const{signal:f}=o;return xr&&(d=te),r.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new pr(we(a))).pipeThrough(new Fr(o),{signal:f}),writable:n,options:r.assign({},s),workerURI:l,createWorker:d,transferStreams:c,terminate:()=>new S(t=>{const{de:r,ce:n}=e;r?(n?e.we=t:(r.terminate(),t()),e.fe=null):t()}),ue(){if(e.ce){const{we:t}=e;t&&(e.we=null,e.pe=!0,e.de.terminate(),t()),e.ce=!1,w(e)}}}),Sr===te&&(Sr=typeof C!=ne),(i&&(Sr&&l||d)?kr:Tr)(e,a)}}class Fr extends E{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await Rr(e,r)},async transform(e,n){s+=e.length,t&&await Rr(t,s,r),n.enqueue(e)},async flush(){n&&await Rr(n,s)}})}}async function Rr(e,...t){try{await e(...t)}catch{}}function Tr(e,t){return{run:()=>vr(e,t)}}function kr(e,t){const{baseURI:n,chunkSize:a,workerStartupTimeout:o}=t;let{wasmURI:i}=t;if(!e.fe){let c;typeof i==se&&(i=i());try{c=Wr(e.workerURI,n,e)}catch{return e.createWorker?xr=!0:Sr=!1,Tr(e,t)}r.assign(e,{de:c,he:!1,pe:!1,fe:{run:async()=>{try{return await(async(e,t)=>{let n,a;const o=new S((e,t)=>{n=e,a=t});r.assign(e,{reader:null,writer:null,me:n,ye:a,result:o});const{readable:i,options:c}=e,{writable:l,closed:d,Se:w}=(e=>{const t=new AbortController,{writable:r,readable:n}=new E,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,Se:()=>t.abort()}})(e.writable);let u;try{u=jr({type:"start",options:c,config:t,readable:i,writable:l},e)}catch(t){w();try{await d}catch{}throw e.ue(),t}u||r.assign(e,{reader:i.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;e.he||!s.isFinite(p)||0>p||(e.ze=setTimeout(()=>(e=>{if(e.ze=null,e.he)return;const{ye:t,writer:r}=e;if(Ur(e),e.de=null,t){const e=new f(yr);e.be=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await o;return await h(),await d,e}catch(e){await h(),w();try{await d}catch{}throw e}async function h(){if(!u&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:i,baseURI:n,workerStartupTimeout:o})}catch(r){if(r&&r.be)return e.createWorker?xr=!0:Sr=!1,Cr(e),vr(e,t);if(r&&r.codecImportFailed){if(e.reader)return Cr(e),vr(e,t);e.ue()}throw r}}}})}return e.fe}async function vr({options:e,readable:t,writable:r,ue:n},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(wr),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.ge&&!sr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.ge||(e.useCompressionStream=!0)}}a=new ur(e,s),await t.pipeThrough(a).pipeThrough(new pr(we(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=a;return{crc32:n,inputSize:o,outputSize:i}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{n()}}function Cr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function Ur(e){const{de:t}=e;if(t)try{t.terminate()}catch{}e.fe=null}function Wr(e,t,n,s,a=!0){const{createWorker:o}=n;let i,c,l;if(o)i=o();else if(br===te||zr!==e){const r=typeof e==se;c=r?e(a):e;const o=c.startsWith("data:"),d=c.startsWith("blob:");if(o||d){s===te&&(s=!1),s&&(l=hr);try{i=new C(c,l)}catch(a){if(d)try{w.revokeObjectURL(c)}catch{}if(r&&d)return Wr(e,t,n,s,!1);if(s)throw a;return Wr(e,t,n,!0,!1)}}else{s===te&&(s=!0),s&&(l=hr);try{c=new w(c,t)}catch{}try{i=new C(c,l)}catch(r){if(s)return Wr(e,t,n,!1,a);throw r}}zr=e,br=c,gr=l}else i=new C(br,gr);return i.addEventListener("message",e=>{n.he=!0,Ir(n),(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:o,error:i}=e,{reader:c,writer:l,me:d,ye:w,ue:p,le:h}=t,m=()=>t.le!=h;try{if(i){const{message:e,stack:t,code:n,name:s,outputSize:a,cause:o,codecImportFailed:c}=i,l=new f(e);r.assign(l,{stack:t,code:n,name:s,outputSize:a}),o&&(l.cause=r.assign(new f(o.message),{name:o.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||jr({type:dr,value:e,done:r,messageId:a},t)}n==dr&&(await l.ready,await l.write(new u(s)),m()||jr({type:"ack",messageId:a},t)),"close"==n&&y(null,o)}}catch(i){m()||(Ur(t),y(i))}function y(e,t){m()||(e?w(e):d(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}})(e,n)}),i.addEventListener(mr,e=>Ar(e,n)),i.addEventListener("messageerror",e=>Ar(e,n)),i}function Ir(e){const{ze:t}=e;t&&(clearTimeout(t),e.ze=null)}function Ar(e,t){e.preventDefault&&e.preventDefault(),Ir(t);const{he:n,ye:s,writer:a,ue:o}=t;if(Ur(t),n||(t.de=null),s){let t=e.error||new f(e.message||mr);n||(t=r.assign(new f(t.message||mr),{be:!0})),s(t),a&&a.releaseLock(),n&&o()}}function jr(e,{de:t,writer:r,transferStreams:n,he:s}){try{const{value:r,readable:a,writable:o}=e,i=[];if(r&&(e.value=Je(r),i.push(e.value.buffer)),n&&Dr&&s?(a&&i.push(a),o&&i.push(o)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch{Dr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let Or=[];const Mr=[];let Br,Zr,Pr=0;async function Yr(e,t){const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:o,useCompressionStream:i,compressed:c,checkCrc32:l,computeCrc32:d,encrypted:f,format:u,codecURI:p}=r,{workerURI:h,createWorker:m,maxWorkers:y}=n;u&&(p&&(r.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(p,n.baseURI)),await(async(e,t)=>{!We.has(e)&&t&&je(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(u,r.codecURI)),t.transferStreams=!u&&(a||a===te&&n.transferStreams);const z=!(c||l||d||f),b=u===te||!!r.codecURI;return t.useWebWorkers=!z&&b&&(o||o===te&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:te,t.createWorker=t.useWebWorkers&&m?m:te,r.useCompressionStream=i||i===te&&n.useCompressionStream,(await(async()=>{const r=Or.find(e=>!e.ce);if(r)return Vr(r),new Er(r,e,t,g);if(Or.length<y){const r={xe:Pr};return Pr++,Or.push(r),new Er(r,e,t,g)}return new S(r=>{Mr.push({resolve:r,stream:e,De:t}),Zr=n.workerStarvationTimeout,Nr()})})()).run();function g(e){if(Lr(),Mr.length){const[{resolve:t,stream:r,De:n}]=Mr.splice(0,1);t(new Er(e,r,n,g)),Nr()}else e.de?(Vr(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.pe?e.pe=!1:e.Ee=setTimeout(async()=>{Or=Or.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):Or=Or.filter(t=>t!=e)}}function Nr(){!Br&&Mr.length&&s.isFinite(Zr)&&Zr>=0&&(Br=setTimeout(Kr,Zr))}function Lr(){Br&&(clearTimeout(Br),Br=null)}function Kr(){if(Br=null,Mr.length){const[{resolve:e,stream:t,De:n}]=Mr.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:te,createWorker:te});e(new Er({},t,s,qr)),Nr()}}function qr(){Lr(),Nr()}function Vr(e){const{Ee:t}=e;t&&(clearTimeout(t),e.Ee=null)}const Hr="HTTP error ",Xr="HTTP Range not supported",Jr="HTTP resource changed",Gr="Writer iterator completed too soon",Qr="Writer not initialized",_r="Content-Range",$r="Range",en="GET",tn="bytes",rn=16777216,nn="writable",sn=Symbol();class an{constructor(){this.size=0}init(){this.initialized=!0}}class on extends an{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=we(de())}={}){const n=this;let s=0;return new F({async pull(a){const i=t===te?r:o.min(r,t-s),c=await On(n,e+s,i);a.enqueue(c),s+r>t||t===te&&!c.length&&i?a.close():s+=r}})}}class cn extends an{constructor(){super();const e=this,t=new R({write(t){if(!e.initialized)throw new f(Qr);return e.writeUint8Array(Je(t))}});r.defineProperty(e,nn,{get:()=>t})}writeUint8Array(){}}let ln,dn;class wn extends on{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),dn||(dn=(async()=>{try{const e=new y([new u(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();ln=1==t}catch{ln=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?ln?Kt(t.slice(n,n+s).stream()):super.createReadable(e):Kt(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new u(a)}}class fn extends an{constructor(e){super();const t=this,n=new E;r.defineProperty(t,nn,{get:()=>n.writable}),t.blob=qt(n.readable,e),t.blob.catch(()=>{})}getData(){return this.blob}}class un extends on{constructor(e,t){super(),hn(this,e,t)}async init(){await mn(this,kn,En),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=t;if((r||n)&&a!==te){const{offset:r=0,size:n=a-r}=e||{};if(n>0&&a>r)return((e,t,r)=>{let n,a=t,i=0,c=r;return new F({start:()=>l(),async pull(e){n||await l();const{value:t,done:r}=await n.read();if(r)throw new f(Xr);const s=t.length>i?t.subarray(0,i):t;i-=s.length,c-=s.length,s.length&&e.enqueue(s),i||(await(async()=>{const e=n;n=te,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function l(){const t=o.min(e.maximumRangeSize,c),r=await kn(en,e,xn(e,a,t));if(206!=r.status)throw new f(Xr);const l=r.headers.get(_r);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new f(Xr)}gn(e,r),bn(e,r),a+=t,i=t,n=r.body.getReader()}})(t,r,o.min(n,a-r))}return super.createReadable(e)}readUint8Array(e,t){return yn(this,e,t,kn,En)}}class pn extends on{constructor(e,t){super(),hn(this,e,t)}async init(){await mn(this,vn,Fn),super.init()}readUint8Array(e,t){return yn(this,e,t,vn,Fn)}}function hn(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:l=rn,fetch:d}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function mn(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:i}=e;if((e=>{const{baseURI:t}=de(),{protocol:r}=new w(e,t);return"http:"==r||"https:"==r})(n)&&(a||o)&&(void 0===s||s)){const n=await t(en,e,xn(e,i?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(o||s&&s.toLowerCase()==tn))throw new f(Xr);{if(i){const t=new u(await n.arrayBuffer());206==n.status&&t.length==L&&(e.Fe=t)}bn(e,n);const s=Sn(n);s===te?await Tn(e,t,r):e.size=s}}else await Tn(e,t,r)}async function yn(e,t,r,n,a){const{useRangeHeader:o,forceRangeRequests:i,Fe:c,size:l,options:d}=e;if(o||i){if(c&&t==l-L&&r==L)return c;if(l>t&&0!==r){t+r>l&&(r=l-t);const a=await n(en,e,xn(e,t,r));if(206!=a.status)throw new f(Xr);const o=a.headers.get(_r);if(o){const e=s(o.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new f(Xr)}gn(e,a),bn(e,a);const i=new u(await a.arrayBuffer());if(i.length!=r)throw new f(Xr);return i}return ae}{const{data:n}=e;return n||await a(e,d),e.data.subarray(t,t+r)}}function Sn(e){const t=e.headers.get(_r);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function zn({headers:e}){return{Re:e.get("Etag")||te,lastModified:e.get("Last-Modified")||te}}function bn(e,t){const{checkResourceChanges:r,Te:n}=e;r&&!n&&206==t.status&&(e.Te=zn(t))}function gn(e,t){const{checkResourceChanges:n,Te:s,size:a}=e;if(n){const e=Sn(t);if(e!==te&&a!==te&&e!=a)throw new f(Jr);if(s){const e=zn(t);if(r.entries(s).some(([t,r])=>r!==te&&e[t]!==te&&r!=e[t]))throw new f(Jr)}}}function xn(e,t=0,n=1){return r.assign({},Dn(e),{[$r]:tn+"="+(0>t?t:t+"-"+(t+n-1))})}function Dn({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function En(e){await Rn(e,kn)}async function Fn(e){await Rn(e,vn)}async function Rn(e,t){const r=await t(en,e,Dn(e));e.data=new u(await r.arrayBuffer()),e.size=e.data.length}async function Tn(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Dn(e)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?e.size=s(a):await r(e,e.options)}}async function kn(e,{fetch:t=fetch,options:n,url:s},a){const o=await t(s,r.assign({},n,{method:e,headers:a}));if(400>o.status)return o;throw 416==o.status?new f(Xr):new f(Hr+(o.statusText||o.status))}function vn(e,{url:t},n){return new S((s,a)=>{const o=new XMLHttpRequest;if(o.addEventListener("load",()=>{if(400>o.status){const e=[];o.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),s({status:o.status,arrayBuffer:()=>o.response,headers:new c(e)})}else a(416==o.status?new f(Xr):new f(Hr+(o.statusText||o.status)))},!1),o.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),o.open(e,t),n)for(const e of r.entries(n))o.setRequestHeader(e[0],e[1]);o.responseType="arraybuffer",o.send()})}class Cn extends on{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new pn(e,t):new un(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class Un extends on{constructor(e){super(),this.ke=e}async init(){const e=this,{ke:t}=e;e.ve=0,await S.all(t.map(e=>jn(e))),e.Ce=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}Ue(e){const{Ce:t,size:r}=this,n=t[e];return n===te?r:n}async readUint8Array(e,t){const r=this,{ke:n}=this;let s,a=0,i=e;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const c=n[a];if(c){const n=c.size;if(i+t>n){const a=n-i;s=Xe(await On(c,i,a),await r.readUint8Array(e+a,t-a))}else s=await On(c,i,t)}else s=ae;return r.ve=o.max(a,r.ve),s}}class Wn extends an{constructor(e,t=4294967295){super();const n=this;let s,a,o;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const i=new R({async write(t){if(t===sn)return void(o&&await l());const{availableSize:r}=n;if(o)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:i}=await e.next();if(i&&!r)throw new f(Gr);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await jn(s),a=r.writable,o=a.getWriter(),await this.write(t)}},async close(){o&&(await o.ready,await d())},async abort(e){o&&await o.abort(e)}});async function c(e){const t=e.length;t&&(await o.ready,await o.write(e),s.size+=t,n.availableSize-=t)}async function l(){await d(),n.diskOffset+=s.size,n.diskNumber++,o=null,n.availableSize=n.maxSize}async function d(){await o.close()}r.defineProperty(n,nn,{get:()=>i})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(sn)}finally{e.releaseLock()}}}class In{constructor(e){return t.isArray(e)&&(e=new Un(e)),(e instanceof F||typeof e.getReader==se)&&(e={readable:Kt(e)}),e}}class An{constructor(e){return e.writable===te&&typeof e.next==se&&(e=new Wn(e)),(e instanceof R||typeof e.getWriter==se)&&(e={writable:Vt(e)}),e.size===te&&(e.size=0),e}}async function jn(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}function On(e,t,r){return e.readUint8Array(t,r)}const Mn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Bn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=Mn[e[r]];return t}})(e):new b(t,{ignoreBOM:!0}).decode(e)}const Zn="filename",Pn="rawFilename",Yn="comment",Nn="rawComment",Ln="uncompressedSize",Kn="compressedSize",qn="offset",Vn="diskNumberStart",Hn="lastModDate",Xn="rawLastModDate",Jn="lastAccessDate",Gn="rawLastAccessDate",Qn="creationDate",_n="rawCreationDate",$n="internalFileAttributes",es="externalFileAttributes",ts="msdosAttributesRaw",rs="msdosAttributes",ns="msDosCompatible",ss="zip64",as="encrypted",os="version",is="versionMadeBy",cs="zipCrypto",ls="directory",ds="executable",ws="compressionMethod",fs="signature",us="extraField",ps="unixMode",hs="setuid",ms="setgid",ys="sticky",Ss=[Zn,Pn,Ln,Kn,Hn,Xn,Yn,Nn,Jn,Gn,Qn,_n,qn,Vn,$n,es,ts,rs,ns,ss,as,os,is,cs,ls,ds,ws,fs,"crc32",us,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ps,hs,ms,ys,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class zs{constructor(e){Ss.forEach(t=>this[t]=e[t])}}const bs="password",gs="rawPassword",xs="passThrough",Ds="signal",Es="checkAmbiguity",Fs="useWebWorkers",Rs="useCompressionStream",Ts="transferStreams",ks="preventClose",vs="offset",Cs="usdz",Us="strictness",Ws="strict",Is="tolerant",As="File format is not recognized",js="End of central directory not found",Os="End of Zip64 central directory locator not found",Ms="Central directory header not found",Bs="Local file header not found",Zs="Zip64 extra field not found",Ps="File contains encrypted entry",Ys="Encryption method not supported",Ns="Compression method not supported",Ls="Split zip file",Ks="Overlapping entry found",qs="Ambiguous archive",Vs="Encrypted central directory is not supported",Hs="utf-8",Xs="cp437",Js=[[Ln,W],[Kn,W],[qn,W],[Vn,I]],Gs={[I]:{We:Da,bytes:4},[W]:{We:Ea,bytes:8}};class Qs{constructor(e,t={}){r.assign(this,{reader:new In(e),options:t,config:de(),Ie:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:a}=t;if(await jn(n),n.size!==te&&n.readUint8Array||(n=new wn(await qt(n.readable)),await jn(n)),n.size<L)throw new f(As);const i=ca(Sa(t,e,Us),Sa(t,e,Es)),c=i==Ws,d=i!=Is,w=((e,t)=>e!==te?e:t==Ws?0:t==Is?1/0:I)(Sa(t,e,"maxAppendedDataSize"),i),{Ae:u,je:p}=await(async(e,t,r)=>{const{size:n}=e,s=o.min(n,65557),a={count:la};let i,c,l=0;for await(const[r,o,d,w,f]of ua(e,s)){const s=xa(r,w+20);if(f+L+s==n){const s=await ha(e,r,o,w,f,n,a);if(s==fa){if(i||(i=pa(d,w,f)),l++,!t||l>1)break}else s!=wa||c||(c=pa(d,w,f))}}return i||(i=c),i||(i=await(async(e,t,r)=>{const{size:n}=e,s=o.min(n,t==1/0?n:65557+t);let a,i;for await(const[t,o,c,l,d]of ua(e,s)){const s=pa(c,l,d);a||(a=s);const w=await ha(e,t,o,l,d,n,r);if(w==fa)return s;w!=wa||i||(i=s)}return i||a})(e,r,a)),{Ae:i,je:l}})(n,d,w);if(!u)throw Da(Ge(await On(n,0,4)))==O?new f(Ls):new f(js);d&&p>1&&ya("multiple end of central directory records");const h=Ge(u);let m=Da(h,12),y=Da(h,16);const z=u.offset,b=xa(h,20),g=z+L+b;n.size-g>w&&ya("appended data");let x=xa(h,4);const D=n.ve||0;let F,R,T,k,v=xa(h,6),C=xa(h,10),U=0;const j=y==W||m==W||C==I||v==I;if(y!=W&&v!=I&&(y+=ia(n,v)),j){const e=u.offset<K?ae:await On(n,u.offset-K,K),t=Ge(e);if(e.length==K&&Da(t,0)==N){y=ia(n,Da(t,4))+Ea(t,8);let e=await On(n,y,q),a=Ge(e);const i=u.offset-K-q;if((e.length<q||Da(a,0)!=Y)&&y!=i&&i>=0){const t=y;y=i,y>t&&(U=y-t),e=await On(n,y,q),a=Ge(e)}if(e.length<q||Da(a,0)!=Y)throw new f(Os);if(R=!0,T=Ea(a,4)>44,T){const e=o.min(s(Ea(a,4))-44,n.size-y-q);e>0&&(k=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=Ge(e),a=xa(n,26);r.assign(t,{compressionMethod:xa(n,0),compressedSize:s(Ea(n,2)),uncompressedSize:s(Ea(n,10)),encryptionAlgorithm:xa(n,18),bitLength:xa(n,20),flags:xa(n,22),hashAlgorithm:xa(n,24),hashData:e.subarray(28,28+a)})}return t})(await On(n,y+q,e)))}x==I?x=Da(a,16):c&&x!=Da(a,16)&&ya("mismatched zip64 end of central directory record"),v==I?v=Da(a,20):c&&v!=Da(a,20)&&ya("mismatched zip64 end of central directory record"),C==I?C=Ea(a,32):c&&C!=Ea(a,32)&&ya("mismatched zip64 end of central directory record"),m==W?m=Ea(a,40):c&&m!=Ea(a,40)&&ya("mismatched zip64 end of central directory record"),y=ia(n,v)+Ea(a,48)+U}}let M=m;const P=u.offset-(R?76:0);if(y<n.size||(U=n.size-y-m-L,y=n.size-m-L),D!=x)throw new f(Ls);if(0>y)throw new f(As);let V=0,H=await On(n,y,m),_=Ge(H);if(m){if(4>H.length)throw new f(As);const e=P-m;if(y!=e&&v==x){let t=!(Da(_,V)==Z);if(t||0>e||e+4>n.size||(t=Da(Ge(await On(n,e,4)),0)==Z),t){const t=y;y=e,y>t&&(U+=y-t),H=await On(n,y,m),_=Ge(H)}}}const $=P-y;if(m==$||0>$||v!=x||(m=$,H=await On(n,y,m),_=Ge(H)),0>y||y>=n.size)throw new f(As);t.directoryOffset=y,t.directoryLength=M;const ee=Sa(t,e,"decryptCentralDirectory");let re;ee&&C&&H.length>=4&&Da(_,0)!=Z&&(T||ea(_))&&(H=await ee(H,k),_=Ge(H),M=H.length,re=!0),F=y;const ne=Sa(t,e,"filenameEncoding"),se=Sa(t,e,"commentEncoding"),oe=c?new l:te;let ie;for(let s=0;C>s;s++){const i=new $s(n,a,t.options);if(V+46>H.length||Da(_,V)!=Z){if(0==s&&!re&&(T||ea(_)))throw new f(Vs);throw new f(Ms)}ta(i,_,V+6);const l=!!i.bitFlag.languageEncodingFlag,d=V+46,w=d+i.filenameLength,u=w+i.extraFieldLength,p=xa(_,V+4),h=!(p>>8),m=p>>8==3,y=H.subarray(d,w),z=xa(_,V+32),b=u+z,g=H.subarray(u,b),x=l,D=l,R=Da(_,V+38),k=R&A,v={readOnly:!!(1&k),hidden:!!(2&k),system:!!(4&k),directory:!!(16&k),archive:!!(32&k)},W=Da(_,V+42),j=Sa(t,e,"decodeText")||Bn,O=x?Hs:ne||Xs,M=D?Hs:se||Xs;let B=j(y,O);B===te&&(B=Bn(y,O));let P=j(g,M);P===te&&(P=Bn(g,M)),r.assign(i,{index:s,versionMadeBy:p,msDosCompatible:h,compressedSize:0,uncompressedSize:0,Oe:z,offset:W,diskNumberStart:xa(_,V+34),internalFileAttributes:xa(_,V+36),externalFileAttributes:R,msdosAttributesRaw:k,msdosAttributes:v,rawFilename:y,filenameUTF8:x,commentUTF8:D,rawExtraField:H.subarray(w,u),rawComment:g,filename:B,comment:P}),ra(i,i,_,V+6),i.offset+=U,F=o.min(ia(n,i.diskNumberStart)+i.offset,F),c&&(oe.has(i.filename)&&(ie=!0),oe.add(i.filename));const Y=i.externalFileAttributes>>16&I;i.unixMode===te&&16877&Y&&(i.unixMode=Y);const N=!!(i.unixMode&J),L=!!(i.unixMode&G),K=!!(512&i.unixMode),q=i.unixMode!==te?!!(73&i.unixMode):m&&!!(73&Y),$=i.unixMode!==te&&(61440&i.unixMode)==X,ee=(61440&Y)==X;r.assign(i,{setuid:N,setgid:L,sticky:K,unixExternalUpper:Y,internalFileAttribute:i.internalFileAttributes,externalFileAttribute:i.externalFileAttributes,executable:q,directory:$||ee||h&&v.directory||i.filename.endsWith(Q)&&!i.uncompressedSize,zipCrypto:i.encrypted&&!i.extraFieldAES});const ae=new zs(i);ae.getData=(e,r)=>i.getData(e,ae,t.Ie,r),ae.arrayBuffer=async e=>{const r=new E,[n]=await S.all([qt(r.readable).then(e=>e.arrayBuffer()),i.getData(r,ae,t.Ie,e)]);return n},V=b;const{onprogress:ce}=e;if(ce)try{await ce(s+1,C,new zs(i))}catch{}yield ae}let ce=V;if(V+6<=H.length&&Da(_,V)==B){const e=xa(_,V+4);V+6+e>H.length||(t.digitalSignature=H.subarray(V+6,V+6+e),ce=V+6+e)}c&&V!=M&&ce!=M&&ya("trailing central directory data"),ie&&ya("duplicate filename"),c&&(U||C&&F>0)&&ya("prepended data");const le=Sa(t,e,"extractPrependedData"),de=Sa(t,e,"extractAppendedData");return le&&(t.prependedData=F>0?await On(n,0,F):ae),t.comment=b?await On(n,z+L,b):ae,de&&(t.appendedData=g<n.size?await On(n,g,n.size-g):ae),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class _s{constructor(e={}){const{readable:t,writable:r}=new E,n=new Qs(t,e).getEntriesGenerator();this.readable=new F({async pull(e){const{done:t,value:r}=await n.next();if(t)return e.close();const s={...r,readable:(()=>{const{readable:e,writable:t}=new E;if(r.getData)return(async()=>{try{await r.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=r}}class $s{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:a,index:o,offset:i,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,config:u,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:S,compressedSize:z}=s,{dataDescriptor:b}=p,g=t.localDirectory={},x=ia(a,c)+i,D=await On(a,x,_),E=Ge(D);let F=Sa(s,n,bs),T=Sa(s,n,gs);const k=Sa(s,n,xs);if(F=F&&F.length&&F,T=T&&T.length&&T,l&&99!=l.originalCompressionMethod)throw new f(Ns);if(D.length<_||Da(E,0)!=j)throw new f(Bs);ta(g,E,4);const{extraFieldLength:v,filenameLength:C}=g,U=ca(Sa(s,n,Us),Sa(s,n,Es))==Ws;let W=ae;if(U&&(C||v)){const e=await On(a,x+_,C+v);W=e.subarray(0,C),g.rawExtraField=e.subarray(C)}else g.rawExtraField=v?await On(a,x+_+C,v):ae;ra(s,g,E,4,!0),U&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&ya("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&ya("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&ya("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||ya("mismatched local file header (crc32 or sizes)")})(s,g,W);const{lastAccessDate:I,creationDate:O}=g;I&&(t.lastAccessDate=I),O&&(t.creationDate=O);const B=s.encrypted&&g.encrypted&&!k,Z=B&&!l;if(k||(t.zipCrypto=Z),B&&!(64&~g.rawBitFlag))throw new f(Ys);const P=k?te:Ie(w);if(0!=w&&8!=w&&9!=w&&!P&&!k)throw new f(Ns);if(B){if(!Z&&(1>l.strength||l.strength>3))throw new f(Ys);if(!F&&!T)throw new f(Ps)}const Y=x+_+C+v,N=z,L=Kt(a.createReadable({offset:Y,size:N})),K=Sa(s,n,Ds),q=Sa(s,n,"checkPasswordOnly");let V=Sa(s,n,"checkOverlappingEntry");const H=Sa(s,n,"checkOverlappingEntryOnly");H&&(V=!0);const{onstart:X,onprogress:J,onend:G}=n,Q=9==w;let $=Sa(s,n,Rs);Q&&($=!1);const ee=Sa(s,n,"checkCrc32"),re=(ee===te?Sa(s,n,"checkSignature"):ee)&&!k&&(!B||Z||l&&1==l.vendorVersion),ne={options:{codecType:fr,password:F,rawPassword:T,zipCrypto:Z,encryptionStrength:l&&l.strength,checkCrc32:re,checkAuthenticationCode:Sa(s,n,"checkAuthenticationCode"),passwordVerification:Z&&(b?y>>>8&A:m>>>24&A),outputSize:k?z:S,crc32:m,compressed:0!=w&&!k,encrypted:B,useWebWorkers:Sa(s,n,Fs),useCompressionStream:$,transferStreams:Sa(s,n,Ts),deflate64:Q,format:P?P.format:te,codecURI:P?P.codecURI:te,compressionMethod:w,rawBitFlag:h,checkPasswordOnly:q},config:u,ie:{signal:K,size:N,onstart:X,onprogress:J,onend:G}};let se;V&&await(async({reader:e,Me:t,index:r,offset:n,crc32:s,compressedSize:a,uncompressedSize:o,Be:i,dataDescriptor:c,extraFieldZip64:l,Ie:d})=>{let w=0;if(c&&(w=l?20:12),w){const r=await On(e,i+a,w+4);if(r.length==w+4&&Da(Ge(r),0)==M){const e=Da(Ge(r),4);let n,i;l?(n=Ea(Ge(r),8),i=Ea(Ge(r),16)):(n=Da(Ge(r),8),i=Da(Ge(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==a&&i==o&&(w+=4)}}const u={start:n,end:i+a+w,Me:t};for(const[e,t]of d)if(e!=r&&u.start<t.end&&t.start<u.end){const e=new f(Ks);throw e.Ze=t.Me,e}d.set(r,u)})({reader:a,Me:t,index:o,offset:x,crc32:m,compressedSize:z,uncompressedSize:S,Be:Y,dataDescriptor:b||g.bitFlag.dataDescriptor,extraFieldZip64:d||g.extraFieldZip64,Ie:r});try{if(!H){q&&(e=new R),e=new An(e),await jn(e,k?z:S),({writable:se}=e);const{outputSize:t}=await Yr({readable:L,writable:se},ne);if(e.size+=t,t!=(k?z:S))throw new f(Ht)}}catch(t){if(t.outputSize!==te&&(e.size+=t.outputSize),!q||t.message!=at)throw t}finally{Sa(s,n,ks)||!se||se.locked||await se.getWriter().close()}return q||H?te:e.getData?e.getData():se}}function ea(e){const t=o.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==Da(e,r))return!0;return!1}function ta(e,t,n){const s=e.rawBitFlag=xa(t,n+2),a=!(1&~s),o=Da(t,n+6);r.assign(e,{encrypted:a,version:xa(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&H)==H},rawLastModDate:o,lastModDate:za(o),filenameLength:xa(t,n+22),extraFieldLength:xa(t,n+24)})}function ra(e,t,n,s,a){const{rawExtraField:o}=t,l=t.extraField=new c,d=Ge(o);let w=0;try{for(;w<o.length;){const e=xa(d,w),t=xa(d,w+2);l.set(e,{type:e,data:o.slice(w+4,w+4+t)}),w+=4+t}}catch{}const u=xa(n,s+4);r.assign(t,{signature:Da(n,s+10),crc32:Da(n,s+10),compressedSize:Da(n,s+14),uncompressedSize:Da(n,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const r=Ge(e.data),n=Js.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Gs[t].bytes,0);if(e.data.length<s)throw new f(Zs);for(let s=0,a=0;s<n.length;s++){const[o,i]=n[s],c=Gs[i];t[o]=e[o]=c.We(r,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(na(h,Zn,Pn,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(na(m,Yn,Nn,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,n)=>{const s=Ge(e.data),a=ga(s,4);r.assign(e,{vendorVersion:ga(s,0),vendorId:ga(s,2),strength:a,originalCompressionMethod:n,compressionMethod:xa(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=te)})(y,t,u),t.extraFieldAES=y):t.compressionMethod=u;const S=l.get(13);S&&(sa(S,t),t.extraFieldPkwareUnix=S);const z=l.get(22613);z&&(sa(z,t),t.extraFieldUnixType1=z);const b=l.get(10);b&&(((e,t)=>{const n=Ge(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=xa(n,a),r=xa(n,a+2);1==t&&(s=e.data.slice(a+4,a+4+r)),a+=4+r}}catch{}if(s&&24==s.length){const n=Ge(s),a=n.getBigUint64(0,!0),o=n.getBigUint64(8,!0),i=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:i});const c={lastModDate:ba(a),lastAccessDate:ba(o),creationDate:ba(i)};r.assign(e,c),r.assign(t,c)}})(b,t),t.extraFieldNTFS=b);const g=l.get(30805);if(g)aa(g,t,!1),t.extraFieldUnix=g;else{const e=l.get(30837);e&&(aa(e,t,!0),t.extraFieldInfoZip=e)}const x=l.get(V);x&&(((e,t,r)=>{if(!e.data.length)return;const n=Ge(e.data),s=ga(n,0),a=[],o=[];r?(1&~s||(a.push(Hn),o.push(Xn)),2&~s||(a.push(Jn),o.push(Gn)),4&~s||(a.push(Qn),o.push(_n))):5>e.data.length||(a.push(Hn),o.push(Xn));let c=1;a.forEach((r,s)=>{if(e.data.length>=c+4){const a=Da(n,c);t[r]=e[r]=new i(1e3*(0|a));const l=o[s];e[l]=a}c+=4})})(x,t,a),t.extraFieldExtendedTimestamp=x);const D=l.get(6534);D&&(t.extraFieldUSDZ=D)}function na(e,t,n,s,a){if(5>e.data.length)return void(e.valid=!1);const o=Ge(e.data),i=new qe;i.append(a[n]);const c=Ge(new u(4));c.setUint32(0,i.get(),!0);const l=Da(o,1);r.assign(e,{version:ga(o,0),[t]:Bn(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==Da(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function sa(e,t){if(8>e.data.length)return;const n=Ge(e.data),s={lastAccessDate:new i(1e3*Da(n,0)),lastModDate:new i(1e3*Da(n,4))};12>e.data.length||(s.uid=xa(n,8),s.gid=xa(n,10)),r.assign(e,s),r.assign(t,s)}function aa(e,t,n){try{const s=Ge(e.data);let a,o;if(n){let t=0;const n=ga(s,t++),i=ga(s,t++);a=oa(e.data.subarray(t,t+i)),t+=i;const c=ga(s,t++);o=oa(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:a,gid:o})}else 4>e.data.length||(a=xa(s,0),o=xa(s,2),r.assign(e,{uid:a,gid:o}));a!==te&&(t.uid=a),o!==te&&(t.gid=o)}catch{}}function oa(e){const t=new u(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function ia(e,t){return e.Ue?e.Ue(t):0}function ca(e,t){return e===te?t?Ws:"balanced":e}const la=64,da=0,wa=1,fa=2;async function*ua(e,t){const r=e.size-t,n=await On(e,r,t),s=Ge(n);for(let e=n.length-L;e>=0;e--)Da(s,e)==P&&(yield[s,r,n,e,r+e])}function pa(e,t,r){return{offset:r,buffer:e.slice(t,t+L).buffer}}async function ha(e,t,r,n,s,a,o){const i=xa(t,n+10),c=Da(t,n+12),l=Da(t,n+16);if(i==I||c==W||l==W)return await ma(e,t,r,s-K,a,o)==N?fa:da;if(!i&&!c)return wa;const d=xa(t,n+6);for(const n of[s-c,ia(e,d)+l])if(await ma(e,t,r,n,a,o)==Z)return fa;return da}async function ma(e,t,r,n,s,a){return 0>n||n+4>s?te:r>n?a.count>0?(a.count--,Da(Ge(await On(e,n,4)),0)):te:Da(t,n-r)}function ya(e){const t=new f(qs);throw t.reason=e,t}function Sa(e,t,r){return t[r]===te?e.options[r]:t[r]}function za(e){const t=(4294901760&e)>>16,r=e&I;return new i(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function ba(e){return new i(s(e/a(1e4)-a(116444736e5)))}function ga(e,t){return e.getUint8(t)}function xa(e,t){return e.getUint16(t,!0)}function Da(e,t){return e.getUint32(t,!0)}function Ea(e,t){return s(e.getBigUint64(t,!0))}var Fa=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:qs,ERR_BAD_FORMAT:As,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ms,ERR_ENCRYPTED:Ps,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Vs,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Os,ERR_EOCDR_NOT_FOUND:js,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Zs,ERR_INVALID_AUTHENTICATION_CODE:st,ERR_INVALID_COMPRESSED_DATA:Xt,ERR_INVALID_CRC32:Jt,ERR_INVALID_PASSWORD:rt,ERR_INVALID_SIGNATURE:nt,ERR_INVALID_UNCOMPRESSED_SIZE:Ht,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Bs,ERR_OVERLAPPING_ENTRY:Ks,ERR_SPLIT_ZIP_FILE:Ls,ERR_UNSUPPORTED_COMPRESSION:Ns,ERR_UNSUPPORTED_ENCRYPTION:Ys,ERR_WORKER_STARTUP_TIMEOUT:yr,ZipReader:Qs,ZipReaderStream:_s});const Ra="File already exists",Ta="Zip file comment exceeds 64KB",ka="File entry comment exceeds 64KB",va="File entry name exceeds 64KB",Ca="Version exceeds 65535",Ua="The strength must equal 1, 2, or 3",Wa="Encryption is not supported in USDZ files",Ia="Extra field type exceeds 65535",Aa="Extra field data exceeds 64KB",ja=-2147483648,Oa=2147483647,Ma=a(0),Ba=a("0x7fffffffffffffff"),Za="Zip64 is not supported (set the 'zip64' option to 'true')",Pa="Undefined uncompressed size",Ya="Undefined reader",Na="Zip file not empty",La="Invalid uid (must be integer 0..2^32-1)",Ka="Invalid gid (must be integer 0..2^32-1)",qa="Invalid UNIX mode (must be integer 0..65535)",Va="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ha="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Xa="Invalid msdosAttributesRaw (must be integer 0..255)",Ja="Invalid msdosAttributes (must be an object with boolean flags)",Ga="Signature data exceeds 64KB",Qa=new u([7,0,2,0,65,69,3,0,0]),_a="infozip",$a="unix";let eo=0;const to=[];class ro{constructor(e,t={}){e=new An(e);const{availableSize:n=re,maxSize:s=re}=e,a=n>0&&n!==re&&s>0&&s!==re;r.assign(this,{writer:e,Pe:a,options:t,config:de(),files:new c,Ye:new l,offset:t[vs]===te?e.size||e.writable.size||0:t[vs],Ne:t[vs]===te?0:t[vs]-(e.size||e.writable.size||0),Le:new l,Ke:0,qe:te})}async prependZip(e){if(this.Ye.size)throw new f(Na);e=new In(e),await jn(e);const{ZipReader:t}=await S.resolve().then(()=>Fa),n=new t(e.readable),s=await n.getEntries();await n.close(),await jn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ye=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:a,rawFilename:o,bitFlag:i,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:w}=e;let{compressionMethod:f,Ve:u,He:p,Xe:h,Je:m,Ge:y,rawExtraField:S}=e;const{level:z,languageEncodingFlag:b,dataDescriptor:g}=i;u=u||ae,p=p||ae,h=h||ae,m=m||ae,y=y||ae,S=S||ae,e.extraFieldAES&&(f=99);const x=Eo(u,p,h,m,y,S),D=w&&l>=W,E=w&&d>=W,F=-7&Ro(z,b,g,c,f)|z<<1,{Qe:R,_e:T}=Fo({version:t,bitFlag:F,compressionMethod:f,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:o,$e:E,et:D,extraFieldLength:x}),{crc32:k}=e;return k!==te&&go(T,10,k),r.assign(e,{et:D,$e:E,nt:w&&e.offset>=W,diskNumberStart:0,st:!1,Ve:u,He:p,Xe:h,Je:m,Ge:y,rawExtraField:S,extendedTimestamp:h.length>0||m.length>0,ot:1+(s?2:0)+(a?4:0),Qe:R,_e:T}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{Le:c,config:l}=s;let d,w;eo<l.maxWorkers?eo++:await new S(e=>to.push(e));try{if(e=e.trim(),So(s,n,ls)&&!e.endsWith(Q)&&(e+=Q),s.Ye.has(e))throw new f(Ra);return s.Ye.add(e),w=!0,d=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=So(e,r,ns),s=So(e,r,is,n?20:768);const a=So(e,r,ds),o=So(e,r,"uid"),i=So(e,r,"gid");let c=So(e,r,ps),l=So(e,r,"unixExtraFieldType"),d=So(e,r,hs),w=So(e,r,ms),u=So(e,r,ys);if(o!==te&&(0>o||o>W))throw new f(La);if(i!==te&&(0>i||i>W))throw new f(Ka);if(c!==te&&(0>c||c>I))throw new f(qa);if(l!==te&&l!==_a&&l!==$a)throw new f(Va);if(l===$a&&(o!==te&&o>I||i!==te&&i>I))throw new f(Ha);l!==te||o===te&&i===te||(l=_a);let p=So(e,r,ts),h=So(e,r,rs);const m=p!==te||h!==te;if(o!==te||i!==te||c!==te||l?(n=!1,s=s&I|768):m&&(n=!0,s&=A),p!==te&&(0>p||p>A))throw new f(Xa);if(h&&"object"!=typeof h)throw new f(Ja);if(s>I)throw new f(Ca);let y=So(e,r,es);const S=y!==te;S||(y=0),!r[ls]&&t.endsWith(Q)&&(r[ls]=!0);const z=So(e,r,ls);let b;if(z?(t.endsWith(Q)||(t+=Q),S||(y=16,n||(y|=16877<<16))):n||S||(y=a?493<<16:27525120),!n){const e=c!==te||!!(d||w||u);b=y>>16&I,c=c===te?b:c&I,d?c|=J:d=!!(c&J),w?c|=G:w=!!(c&G),u?c|=512:u=!!(512&c),S&&!e||(z&&(c|=X),y=(c&I)<<16|y&I)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==te)e&=A;else if(t!==te){const{readOnly:r,hidden:n,system:s,directory:a,archive:o}=t;let i=0;r&&(i|=1),n&&(i|=2),s&&(i|=4),a&&(i|=16),o&&(i|=32),e=i&A}return t===te&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&W|p&A),{name:t,it:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:b,uid:o,gid:i,unixMode:c,unixExtraFieldType:l,setuid:d,setgid:w,sticky:u,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const l=((e,t,r)=>{const n=So(e,r,"encodeText",He);let s=n(t);if(s===te&&(s=He(t)),Eo(s)>I)throw new f(va);const a=r[Yn]||"";let o=n(a);if(o===te&&(o=He(a)),Eo(o)>I)throw new f(ka);const c=So(e,r,os,20);if(c>I)throw new f(Ca);const l=So(e,r,Hn,new i),d=So(e,r,Jn),w=So(e,r,Qn),u=So(e,r,$n,0),p=So(e,r,xs);let h,m;p||(h=So(e,r,bs),m=So(e,r,gs));const y=So(e,r,"encryptionStrength",3),S=So(e,r,cs),z=So(e,r,"extendedTimestamp",!0),b=So(e,r,"ntfsTimestamp"),g=So(e,r,"keepOrder",!0),x=So(e,r,Fs),D=So(e,r,Ts),E=So(e,r,"bufferedWrite"),F=So(e,r,"createTempStream"),R=So(e,r,"dataDescriptorSignature",!0),T=So(e,r,Ds),k=So(e,r,"useUnicodeFileNames",!0),v=So(e,r,ws),C=p||v===te?te:Ie(v);if(!p&&v!==te&&0!==v&&8!==v&&!C)throw new f("Compression method not supported");let U=So(e,r,"level");if(e.options[Cs]){if(h!==te||m!==te)throw new f(Wa);U===te&&v===te&&(U=0)}let W=So(e,r,Rs),A=So(e,r,"dataDescriptor");E&&A===te&&(A=!1),(A===te||S)&&(A=!0),U!==te&&6!=U&&(W=!1);const j=So(e,r,ss);if(!S&&(h!==te||m!==te)&&(1>y||y>3))throw new f(Ua);const O=so(r[us]),M=so(r.localExtraField);return{comment:a,it:{rawFilename:s,rawComment:o,version:c,lastModDate:l,lastAccessDate:d,creationDate:w,internalFileAttributes:u,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:S,extendedTimestamp:z,ntfsTimestamp:b,keepOrder:g,useWebWorkers:x,transferStreams:D,bufferedWrite:E,createTempStream:F,dataDescriptorSignature:R,signal:T,useUnicodeFileNames:k,compressionMethod:v,format:C?C.format:te,codecURI:C?C.codecURI:te,ct:C?C.versionNeeded:te,level:U,useCompressionStream:W,dataDescriptor:A,zip64:j,rawExtraField:O,lt:M}}})(e,t,s),{comment:d}=l,w=s[us];let p;e.files.set(t,te);try{const{it:d}=l;0==d.level||d.compressionMethod!==te||d.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:r}=e;if(r&&!r.ge)return!0;if(sr(t)||nr(t,Qt))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(d.level=0);const w=await(async(e,t,{it:r},n)=>{const{passThrough:s,zipCrypto:a,password:o,rawPassword:i,encryptionStrength:c}=r;let{dataDescriptor:l,zip64:d,level:w,compressionMethod:u}=r,p=0,h=0;if(s){if(!t)throw new f(Ya);if(h=n[Ln],h===te)throw new f(Pa)}const m=!0===d,y=So(e,n,as),S=!!t&&(!!(o&&Eo(o)||i&&Eo(i))||s&&y);t||(w=0,u=0);const z=S?a?12:16+4*c:0;t&&(t=new In(t),await jn(t),s?(n.uncompressedSize=h,p=zo(h)+z):t.size===te?(l=!0,(d||d===te)&&(d=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=zo(h)+z));const b=m||h>=W,g=m||p>=W;if(b||g){if(!1===d)throw new f(Za);d=!0}return d=d||!1,{reader:t,it:{dataDescriptor:l,zip64:d,et:b,$e:g,uncompressedSize:h,level:w,compressionMethod:u,encrypted:S}}})(e,n,l,s);({reader:n}=w);const h=lo(e.writer),m=co(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:w,directory:u,rawExtraField:p,lt:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:S,passThrough:z,encrypted:b,et:g,$e:x,uncompressedSize:D,crc32:E}=e;let{version:F,compressionMethod:R}=e;const T=!u&&(R===te?a===te||a>0:0!==R);let k;const v=z||!T,C=c&&(e.bufferedWrite||!w||!g&&!x||v),U=C||c&&w&&(g||x);if(c&&(g||x)){const e=20,t=io(e);if(t.uint16(1),t.uint16(e-4),k=t.array,C&&(t.wt(D),v)){const e=b?l?12:16+4*m:0;t.wt(z?0:D+e)}}else k=ae;let W,A,O,M,B;if(b&&!l){const e=io(Eo(Qa)+2);e.uint16(39169),e.bytes(Qa),W=e.array,W[8]=m}else W=ae;if(y){const e=ho(r),t=mo(e);if(t){const t=9+(n?4:0)+(s?4:0),r=io(t);M=1+(n?2:0)+(s?4:0),r.uint16(V),r.uint16(t-4),r.uint8(M),r.uint32(e),n&&r.uint32(yo(ho(n))),s&&r.uint32(yo(ho(s))),O=r.array}else O=ae;if(S===te?!t||n||s:S)try{const e=po(r),t=io(36);t.uint16(10),t.uint16(32),t.ft(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(n?po(n):e),t.wt(s?po(s):e),A=t.array}catch{A=ae}else A=ae}else A=O=ae;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=_a||t===te&&r===te)if(n!=$a||t===te&&r===te)B=ae;else{const e=io(8);e.uint16(30805),e.uint16(4),e.uint16((t===te?0:t)&I),e.uint16((r===te?0:r)&I),B=e.array}else{const e=oo(t),n=oo(r),s=3+e.length+n.length,a=io(4+s);a.uint16(30837),a.uint16(s),a.uint8(1),a.uint8(e.length),a.bytes(e),a.uint8(n.length),a.bytes(n),B=a.array}}catch{B=ae}R===te&&(R=T?8:0);const{ct:Z}=e;T&&Z!==te&&(F=F>Z?F:Z),c&&(F=F>45?F:45),b&&!l&&(F=F>51?F:51,z&&E!==te&&(W[4]=1),W[9]=R,R=99);const P=U?Eo(k):0,Y=P+Eo(W,O,A,B,p,h);if(Y>I)throw new f(Aa);const N=new i(2e3*o.ceil(o.floor(r.getTime()/1e3)/2)),{Qe:L,_e:K,rawLastModDate:q}=Fo({version:F,bitFlag:Ro(a,d,w,b,R),compressionMethod:R,uncompressedSize:D,lastModDate:ee>N?ee:N>$?$:N,rawFilename:t,$e:x,et:g,extraFieldLength:Y}),H=io(_+Eo(t)+Y),X=H.array,J=Ge(X);return H.uint32(j),H.bytes(L),H.bytes(t),U&&H.bytes(k),H.bytes(W),H.bytes(O),H.bytes(A),H.bytes(B),H.bytes(p),H.bytes(h),w&&(x||go(J,18,0),g||go(J,22,0)),{ut:X,ht:J,Qe:L,_e:K,lastModDate:r,rawLastModDate:q,encrypted:b,compressed:T,version:F,compressionMethod:R,ot:M,Ve:ae,yt:P,Xe:O,Je:A,Ge:B,He:W,extraFieldLength:Y}})(s=r.assign({},s,c.it,l.it,w.it,{internalFileAttribute:l.it.internalFileAttributes,externalFileAttribute:c.it.externalFileAttributes,signature:s[fs],crc32:s.crc32===te?s[fs]:s.crc32,offset:e.offset-h,diskNumberStart:m})),z=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ae,a=0,o=e?20:12;return r&&(o+=4),t&&(s=new u(o),n=Ge(s),r&&(a=4,go(n,0,M))),{St:s,zt:n,bt:a}})(s),b=Eo(y.ut,z.St);p=await(async(e,t,n,s,o)=>{const{files:i,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:w}=o,{gt:p}=s,h=e.options[Cs],m=e.qe;let y,z,b,g,x,D,F,T={},k=0;i.set(t,T),e.qe=T;try{let z;l&&(z=m&&m.lock,T.lock=new S(e=>b=e)),o.bufferedWrite||!l||e.xt||e.Ke||!d?(y=!0,e.Ke++,F=o.createTempStream?await o.createTempStream():new E(te,te,{highWaterMark:re}),F.size=0,await jn(c)):(F=c,await v()),await jn(F);const U=lo(c);if(e.Pe){delete e.Pe;const t=new u(4);go(Ge(t),0,O),await uo(c,t),e.offset+=4}h&&!y&&ao(s,e.offset-U);const{ut:I}=p;y||(await z,await C());const j=co(c),M=fo(e,c);if(T.diskNumberStart=j,y||(x=!0,D=c.size,await uo(F,I)),T=await(async(e,t,{diskNumberStart:n,lock:s},o,i,c)=>{const{gt:l,Dt:d,Et:w}=o,{Qe:u,_e:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:S,version:z,compressionMethod:b,Ve:g,yt:x,Xe:D,ot:E,Je:F,Ge:R,He:T}=l,{St:k}=d,{rawFilename:v,lastAccessDate:C,creationDate:U,password:I,rawPassword:j,level:O,zip64:M,et:B,$e:Z,zipCrypto:P,dataDescriptor:Y,directory:N,executable:L,versionMadeBy:K,rawComment:q,rawExtraField:V,useWebWorkers:H,transferStreams:X,onstart:J,onprogress:G,onend:Q,signal:_,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,uid:ae,gid:oe,unixMode:ie,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:ue,useCompressionStream:pe,passThrough:he,format:me,codecURI:ye}=c,Se={lock:s,versionMadeBy:K,zip64:M,directory:!!N,executable:!!L,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:q,Ve:g,yt:x,Xe:D,Je:F,Ge:R,He:T,rawExtraField:V,extendedTimestamp:ee,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n,uid:ae,gid:oe,unixMode:ie,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:ue};let{crc32:ze,uncompressedSize:be}=c,ge=0;he||(be=0);const{writable:xe}=t;if(e){const r=Kt(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:wr,level:O,rawPassword:j,password:I,encryptionStrength:$,zipCrypto:y&&P,passwordVerification:y&&P&&m>>8&A,computeCrc32:!he,compressed:S&&!he,encrypted:y&&!he,useWebWorkers:H,useCompressionStream:pe,transferStreams:X,format:me,codecURI:ye,compressionMethod:b},config:i,ie:{signal:_,size:n,onstart:J,onprogress:G,onend:Q}};try{const e=await Yr({readable:r,writable:xe},s);if(ge=e.outputSize,t.size+=ge,he||(be=e.inputSize,y&&!P||(ze=e.crc32)),!Z&&ge>=W||!B&&be>=W)throw new f(Za)}catch(e){throw e.outputSize!==te&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,gt:n,Dt:s},{zip64:o,zipCrypto:i,passThrough:c,dataDescriptor:l})=>{const{_e:d,encrypted:w}=n,{zt:f,bt:u}=s;w&&!i&&!c||e===te||(go(d,10,e),l&&go(f,u,e)),o?l&&(xo(f,u+4,a(t)),xo(f,u+12,a(r))):(go(d,14,t),go(d,18,r),l&&(go(f,u+4,t),go(f,u+8,r)))})({crc32:ze,compressedSize:ge,uncompressedSize:be,gt:l,Dt:d},c),Y&&await uo(t,k),r.assign(Se,{uncompressedSize:be,compressedSize:ge,lastModDate:h,rawLastModDate:m,creationDate:U,lastAccessDate:C,encrypted:y,zipCrypto:P,size:w+ge,compressionMethod:b,version:z,Qe:u,_e:p,signature:ze,crc32:!y||P||he?ze:te,ot:E,et:B,$e:Z}),Se})(n,F,T,s,e.config,o),y||(x=!1),i.set(t,T),T.filename=t,y){if(await S.all([F.writable.getWriter().close(),z]),await v(),g=!0,D=c.size,await C(),T.diskNumberStart=co(c),T.offset=fo(e,c),h){const t=s.Et;ao(s,e.offset-lo(c)),T.size+=s.Et-t}(({rawFilename:e,encrypted:t,zip64:r,yt:n,crc32:s,compressedSize:o,uncompressedSize:i,et:c,$e:l},d,{dataDescriptor:w,passThrough:f})=>{if(w||((!t||f&&s!==te)&&go(d,14,s),l||go(d,18,o),c||go(d,22,i)),r&&n){const t=_+Eo(e)+4;xo(d,t,a(i)),xo(d,t+8,a(o))}})(T,p.ht,o),await uo(c,p.ut),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new R({async write(e){var t;await n.ready,await n.write(e),t=Eo(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(F.readable,c,w),c.size+=F.size,g=!1}else T.diskNumberStart=j,T.offset=M;return e.offset+=T.size,T}catch(r){if(g||x){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-D,y&&(e.offset+=k)}throw i.delete(t),r}finally{if(y&&e.Ke--,b&&b(),z&&z(),y&&F&&F.dispose)try{await F.dispose()}catch{}}async function v(){e.xt=!0;const{Ft:t}=e;e.Ft=new S(t=>z=()=>{e.xt=!1,t()}),await t}async function C(){wo(c,Eo(p.ut))&&await c.closeDisk()}})(e,t,n,{gt:y,Dt:z,Et:b},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:d,extraField:w}),new zs(p)})(s,e,t,n),c.add(d),await d}catch(t){throw w&&s.Ye.delete(e),t}finally{c.delete(d);const e=to.shift();e?e():eo--}}remove(e){const{Ye:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==te){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ae,r={}){const{Le:n,writer:s}=this,{writable:o}=s;if(Eo(e)>I)throw new f(Ta);for(;n.size;)await S.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,He:n,rawComment:s,Je:a,Ge:o,rawExtraField:i,extendedTimestamp:c,ot:l,lastModDate:d,et:w,$e:u,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=W,y=r.diskNumberStart>=I;let S,z;if(m||y||w||u){const e=4+(w?8:0)+(u?8:0)+(m?8:0)+(y?4:0),t=io(e);t.uint16(1),t.uint16(e-4),w&&t.wt(p),u&&t.wt(h),m&&t.wt(r.offset),y&&t.uint32(r.diskNumberStart),S=t.array}else S=ae;r.Ve=S,r.nt=m,r.st=y;const b=ho(d);if(c&&mo(b)){const e=io(9);e.uint16(V),e.uint16(5),e.uint8(l),e.uint32(b),z=e.array}else z=ae;r.Xe=z;const g=Eo(S,n,a,o,z,i);if(g>I)throw new f(Aa);t+=46+Eo(e,s)+g}return t})(e.files),{Rt:o,Tt:i}=await(async(e,r,n)=>{const{files:s,writer:a}=e,o=new u(r);await jn(a);let i=0,c=0,l=co(a),d=lo(a);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:w,Ve:f,He:u,Xe:p,Je:h,Ge:m,rawExtraField:y,rawComment:S,versionMadeBy:z,Qe:b,_e:g,et:x,$e:D,st:E,nt:F,internalFileAttributes:R,externalFileAttributes:T,diskNumberStart:k,uncompressedSize:v,compressedSize:C}=r,U=Eo(f,u,p,h,m,y),A=46+Eo(w,S)+U;wo(a,i+A-c)&&(await uo(a,o.slice(c,i)),c=i,await a.closeDisk()),0==e&&(l=co(a),d=lo(a)),x||go(g,18,v),D||go(g,14,C),(F||E)&&45>r.version&&bo(g,0,45);const j=io(A);if(j.uint32(Z),j.uint16(z),j.bytes(b.subarray(0,24)),j.uint16(U),j.uint16(Eo(S)),j.uint16(E?I:k),j.uint16(R),j.uint32(T),j.uint32(F?W:t),j.bytes(w),j.bytes(f),j.bytes(u),j.bytes(p),j.bytes(h),j.bytes(m),j.bytes(y),j.bytes(S),Do(o,j.array,i),i+=A,n.onprogress)try{await n.onprogress(e+1,s.size,new zs(r))}catch{}}return await uo(a,c?o.slice(c):o),{Rt:{diskNumber:l,diskOffset:d},Tt:o}})(e,s,n),c=await(async(e,t,r)=>{const n=So(e,r,"signCentralDirectory");if(n){const r=await n(t),s=Eo(r);if(s>I)throw new f(Ga);const a=io(6+s);return a.uint32(B),a.uint16(s),a.bytes(r),await uo(e.writer,a.array),6+s}return 0})(e,i,n);await(async(e,t,r,n)=>{const{writer:s}=e,{Rt:o,kt:i}=n;let{vt:c}=n,l=e.files.size,d=o.diskNumber,w=fo(e,o),u=co(s);wo(s,L)&&u++;let p=So(e,r,ss);if(!(W>w&&W>c&&I>l&&I>u)){if(!1===p)throw new f(Za);p=!0}const h=Eo(t);if(h>I)throw new f(Ta);const m=io(p?98:L);wo(s,Eo(m.array)+h)&&await s.closeDisk(),u=co(s),p&&(m.uint32(Y),m.wt(44),m.uint16(45),m.uint16(45),m.uint32(u),m.uint32(d),m.wt(l),m.wt(l),m.wt(c),m.wt(w),m.uint32(N),m.uint32(u),m.wt(a(fo(e,s))+a(c)+a(i)),m.uint32(u+1),So(e,r,"supportZip64SplitFile",!0)&&(u=I,d=I),l=I,w=W,c=W),m.uint32(P),m.uint16(u),m.uint16(d),m.uint16(l),m.uint16(l),m.uint32(c),m.uint32(w),m.uint16(h),await uo(s,m.array),h&&await uo(s,t)})(e,r,n,{Rt:o,vt:s,kt:c})})(this,e,r),So(this,r,ks)||await o.getWriter().close(),s.getData?s.getData():o}}function no(e,t,r){e.Le.add(t),t.catch(e=>{try{r(e)}catch{}})}function so(e){if(!e)return ae;let t=0,r=0;e.forEach(e=>t+=4+Eo(e));const n=new u(t),s=Ge(n);return e.forEach((e,t)=>{if(t>I)throw new f(Ia);if(Eo(e)>I)throw new f(Aa);bo(s,r,t),bo(s,r+2,Eo(e)),Do(n,e,r+4),r+=4+Eo(e)}),n}function ao(e,t){const{gt:r}=e;let{ut:n,extraFieldLength:s}=r,a=64-(t+Eo(n))%64;4>a&&(a+=64);const o=new u(a),i=Ge(o);bo(i,0,6534),bo(i,2,a-4);const c=n;r.ut=n=new u(Eo(c)+a),Do(n,c),Do(n,o,Eo(c));const l=Ge(n);bo(l,28,s+a),r.ht=l,e.Et+=a}function oo(e){if(e===te)return ae;{const t=new u(4);Ge(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function io(e){const t=new u(e),r=Ge(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{bo(r,n,e),n+=2},uint32:e=>{go(r,n,e),n+=4},wt:e=>{xo(r,n,a(e)),n+=8},bytes:e=>{Do(t,e,n),n+=Eo(e)},ft:e=>n+=e}}function co(e){const{diskNumber:t=0}=e;return t}function lo(e){const{diskOffset:t=0}=e;return t}function wo(e,t){const{availableSize:r=re}=e;return t>r}function fo(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ne:0)}async function uo(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=Eo(t),await n.write(t)}finally{n.releaseLock()}}function po(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return Ma>t?Ma:t>Ba?Ba:t}}function ho(e){return o.floor(e.getTime()/1e3)}function mo(e){return e>=ja&&Oa>=e}function yo(e){return o.min(Oa,o.max(ja,e))}function So(e,t,r,n){const s=t[r]===te?e.options[r]:t[r];return s===te?n:s}function zo(e){return e+5*(o.floor(e/16383)+1)}function bo(e,t,r){e.setUint16(t,r,!0)}function go(e,t,r){e.setUint32(t,r,!0)}function xo(e,t,r){e.setBigUint64(t,r,!0)}function Do(e,t,r){e.set(t,r)}function Eo(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Fo({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:a,rawLastModDate:o,rawFilename:i,$e:c,et:l,extraFieldLength:d}){const w=io(26),f=w.array,u=Ge(f);if(w.uint16(e),w.uint16(t),w.uint16(r),o===te){const e=new h(1),t=Ge(e);bo(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),bo(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),o=e[0]}return w.uint32(o),w.ft(4),c||s!==te?w.uint32(c?W:s):w.ft(4),l||n!==te?w.uint32(l?W:n):w.ft(4),w.uint16(Eo(i)),w.uint16(d),{Qe:f,_e:u,rawLastModDate:o}}function Ro(e,t,r,n,s){let a=0;return t&&(a|=H),r&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),n&&(a|=1),a}const To=1048576,ko=".zip.js-temp",vo=1048576,Co=1048576,Uo=".zip.js-temp",Wo="createSyncAccessHandle is only available in dedicated workers";try{pe({baseURI:void 0===g&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===g?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new w("zip-legacy.min.js",g.baseURI).href})}catch{}Ee(pe),e.BlobReader=wn,e.BlobWriter=fn,e.Data64URIReader=class extends on{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,Ct:n,size:o.floor(.75*(t-n))})}readUint8Array(e,t){const{Ct:r,dataURI:n}=this,s=new u(t),a=4*o.floor(e/3),i=atob(n.substring(a+r,4*o.ceil((e+t)/3)+r)),c=e-3*o.floor(a/4);let l=0;for(let e=c;c+t>e&&e<i.length;e++)s[e-c]=i.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends cn{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*o.floor((a+e.length)/3)-a;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=D(s):t.pending=s+t.pending}getData(){return this.data+D(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=qs,e.ERR_BAD_FORMAT=As,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Ms,e.ERR_DUPLICATED_NAME=Ra,e.ERR_ENCRYPTED=Ps,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Vs,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Os,e.ERR_EOCDR_NOT_FOUND=js,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Zs,e.ERR_HTTP_RANGE=Xr,e.ERR_HTTP_RESOURCE_CHANGED=Jr,e.ERR_INVALID_AUTHENTICATION_CODE=st,e.ERR_INVALID_CODEC_DEFINITION=Re,e.ERR_INVALID_CODEC_MODULE=ke,e.ERR_INVALID_COMMENT=Ta,e.ERR_INVALID_COMPRESSED_DATA=Xt,e.ERR_INVALID_CRC32=Jt,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ua,e.ERR_INVALID_ENTRY_COMMENT=ka,e.ERR_INVALID_ENTRY_NAME=va,e.ERR_INVALID_EXTRAFIELD_DATA=Aa,e.ERR_INVALID_EXTRAFIELD_TYPE=Ia,e.ERR_INVALID_GID=Ka,e.ERR_INVALID_MSDOS_ATTRIBUTES=Xa,e.ERR_INVALID_MSDOS_DATA=Ja,e.ERR_INVALID_PASSWORD=rt,e.ERR_INVALID_SIGNATURE=nt,e.ERR_INVALID_SIGNATURE_DATA=Ga,e.ERR_INVALID_UID=La,e.ERR_INVALID_UNCOMPRESSED_SIZE=Ht,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Va,e.ERR_INVALID_UNIX_ID_SIZE=Ha,e.ERR_INVALID_UNIX_MODE=qa,e.ERR_INVALID_VERSION=Ca,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Gr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Bs,e.ERR_OVERLAPPING_ENTRY=Ks,e.ERR_RESERVED_COMPRESSION_METHOD=Te,e.ERR_SPLIT_ZIP_FILE=Ls,e.ERR_UNDEFINED_READER=Ya,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Pa,e.ERR_UNSUPPORTED_COMPRESSION=Ns,e.ERR_UNSUPPORTED_CONTEXT=Wo,e.ERR_UNSUPPORTED_CRYPTO_API=ot,e.ERR_UNSUPPORTED_ENCRYPTION=Ys,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Wa,e.ERR_UNSUPPORTED_FORMAT=Za,e.ERR_WORKER_STARTUP_TIMEOUT=yr,e.ERR_WRITER_NOT_INITIALIZED=Qr,e.ERR_ZIP_NOT_EMPTY=Na,e.HttpRangeReader=class extends Cn{constructor(e,t={}){super(e,r.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=Cn,e.Reader=on,e.SplitDataReader=Un,e.SplitDataWriter=Wn,e.TextReader=class extends wn{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends fn{constructor(e){super(e),r.assign(this,{encoding:e,Ut:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Ut:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new S((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends on{constructor(e){super(),e=new u(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends cn{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new u(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new u(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=cn,e.ZipReader=Qs,e.ZipReaderStream=_s,e.ZipWriter=ro,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new E;this.readable=t,this.zipWriter=new ro(r,e),this.Le=new l}transform(e){const t=this.zipWriter;let r;const{readable:n,writable:s}=new E({start(e){r=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return no(this,this.zipWriter.add(e,n),e=>r.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:r,writable:n}=new E({start(e){t=e}});return no(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,r={}){return await S.all(t.from(this.Le)),this.zipWriter.close(e,r)}},e.configure=fe,e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=vo}=e;return()=>{const e=[];let r,n,s,a=0,o=!1;const i=new R({async write(s){o?await r.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;n=qt(t.readable),r=t.writable.getWriter(),o=!0;for(const t of e)await r.write(t);e.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new F({async pull(t){if(o){if(!s){const e=await n;s=e.stream().getReader()}const{value:e,done:r}=await s.read();r?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:r=To,directoryName:n=ko,getDirectory:s=()=>v.storage.getDirectory()}=e;let a;function o(){return a||(a=S.resolve(s()).then(e=>e.getDirectoryHandle(n,{create:!0}))),a}return()=>{const e=[];let n,s,a,i,c=0,l=!1;const d=new R({async write(i){l?await a.write(i):(e.push(i),c+=i.length,c>r&&await(async()=>{const r=await o();n=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new u(16)),e=>e.toString(16).padStart(2,"0")).join(""),s=await r.getFileHandle(n,{create:!0}),a=(await s.createWritable()).getWriter(),l=!0;for(const t of e)await a.write(t);e.length=0})())},async close(){a&&(await a.close(),a=null)}});let w=0;return{writable:d,readable:new F({async pull(t){if(l){if(!i){const e=await s.getFile();i=e.stream().getReader()}const{value:e,done:r}=await i.read();r?t.close():t.enqueue(e)}else w<e.length?t.enqueue(e[w++]):t.close()},async cancel(e){i&&await i.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(n){try{const e=await o();await e.removeEntry(n)}catch{}s=n=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:r=Co,directoryName:n=Uo,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new f(Wo);const a=s||(()=>v.storage.getDirectory());let i;function c(){return i||(i=S.resolve(a()).then(e=>e.getDirectoryHandle(n,{create:!0}))),i}return()=>{const e=[];let n,s,a=0,i=!1,l=0,d=0;const w=new R({async write(o){i?(s.write(o,{at:l}),l+=o.length):(e.push(o),a+=o.length,a>r&&await(async()=>{const r=await c();n=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new u(16)),e=>e.toString(16).padStart(2,"0")).join("");const a=await r.getFileHandle(n,{create:!0});s=await a.createSyncAccessHandle(),i=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let f=0;return{writable:w,readable:new F({pull(t){if(i){const e=l-d;if(0>=e)return void t.close();const r=new u(o.min(524288,e)),n=s.read(r,{at:d});n?(d+=n,t.enqueue(r.subarray(0,n))):t.close()}else f<e.length?t.enqueue(e[f++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(s){try{s.close()}catch{}s=null}if(n){try{const e=await c();await e.removeEntry(n)}catch{}n=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:r,codecURI:n,CompressionStream:a,DecompressionStream:o,versionNeeded:i}=e;if(!s.isInteger(t)||0>t||t>I||typeof r!=ve||!r.length)throw new f(Re);if(Ce.includes(t))throw new f(Te);const c=typeof a==se||typeof o==se;if(!(c||typeof n==ve&&n.length))throw new f(Re);Ue.set(t,{compressionMethod:t,format:r,codecURI:n,versionNeeded:i}),c&&je(r,{CompressionStream:a,DecompressionStream:o})},e.resetConfiguration=()=>{for(const e of ce)delete le[e];r.assign(le,ie)},e.terminateWorkers=async()=>{await S.allSettled(Or.map(e=>(Vr(e),e.terminate()))),Sr=te,xr=!1},e.unregisterCodec=e=>{const t=Ue.get(e);if(t){let r;Ue.delete(e),Ue.forEach(e=>r=r||e.format==t.format),r||We.delete(t.format)}}});