@zip.js/zip.js 2.8.47 → 2.8.48

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.
package/dist/zip-core.js CHANGED
@@ -1874,6 +1874,8 @@
1874
1874
  */
1875
1875
 
1876
1876
 
1877
+ const HTTP_HEADER_CONTENT_TYPE = "Content-Type";
1878
+
1877
1879
  function toCompatibleReadable(readable) {
1878
1880
  if (readable instanceof ReadableStream) {
1879
1881
  return readable;
@@ -1894,6 +1896,29 @@
1894
1896
  });
1895
1897
  }
1896
1898
 
1899
+ function streamToBlob(readable, contentType) {
1900
+ readable = toCompatibleReadable(readable);
1901
+ if (responseSupportsGlobalReadable()) {
1902
+ const options = {};
1903
+ if (contentType) {
1904
+ options.headers = [[HTTP_HEADER_CONTENT_TYPE, contentType]];
1905
+ }
1906
+ return new Response(readable, options).blob();
1907
+ }
1908
+ const chunks = [];
1909
+ return readable
1910
+ .pipeTo(new WritableStream({
1911
+ write(chunk) {
1912
+ chunks.push(chunk);
1913
+ }
1914
+ }))
1915
+ .then(() => new Blob(chunks, contentType ? { type: contentType } : {}));
1916
+ }
1917
+
1918
+ function responseSupportsGlobalReadable() {
1919
+ return typeof Blob.prototype.stream != FUNCTION_TYPE || new Blob([]).stream() instanceof ReadableStream;
1920
+ }
1921
+
1897
1922
  function toCompatibleWritable(writable) {
1898
1923
  if (writable instanceof WritableStream) {
1899
1924
  return writable;
@@ -3233,7 +3258,6 @@
3233
3258
  const HTTP_HEADER_CONTENT_RANGE = "Content-Range";
3234
3259
  const HTTP_HEADER_ACCEPT_RANGES = "Accept-Ranges";
3235
3260
  const HTTP_HEADER_RANGE = "Range";
3236
- const HTTP_HEADER_CONTENT_TYPE = "Content-Type";
3237
3261
  const HTTP_HEADER_ETAG = "Etag";
3238
3262
  const HTTP_HEADER_LAST_MODIFIED = "Last-Modified";
3239
3263
  const HTTP_METHOD_HEAD = "HEAD";
@@ -3438,10 +3462,6 @@
3438
3462
  }
3439
3463
  }
3440
3464
 
3441
- function responseSupportsGlobalReadable() {
3442
- return typeof Blob.prototype.stream != FUNCTION_TYPE || new Blob([]).stream() instanceof ReadableStream;
3443
- }
3444
-
3445
3465
  class BlobWriter extends Stream {
3446
3466
 
3447
3467
  constructor(contentType) {
@@ -3453,22 +3473,7 @@
3453
3473
  return transformStream.writable;
3454
3474
  }
3455
3475
  });
3456
- if (responseSupportsGlobalReadable()) {
3457
- const headers = [];
3458
- if (contentType) {
3459
- headers.push([HTTP_HEADER_CONTENT_TYPE, contentType]);
3460
- }
3461
- writer.blob = new Response(transformStream.readable, { headers }).blob();
3462
- } else {
3463
- const chunks = [];
3464
- writer.blob = transformStream.readable
3465
- .pipeTo(new WritableStream({
3466
- write(chunk) {
3467
- chunks.push(chunk);
3468
- }
3469
- }))
3470
- .then(() => new Blob(chunks, { type: contentType }));
3471
- }
3476
+ writer.blob = streamToBlob(transformStream.readable, contentType);
3472
3477
  writer.blob.catch(() => { });
3473
3478
  }
3474
3479
 
@@ -4542,7 +4547,7 @@
4542
4547
  const { config } = zipReader;
4543
4548
  await initStream(reader);
4544
4549
  if (reader.size === UNDEFINED_VALUE || !reader.readUint8Array) {
4545
- reader = new BlobReader(await new Response(reader.readable).blob());
4550
+ reader = new BlobReader(await streamToBlob(reader.readable));
4546
4551
  await initStream(reader);
4547
4552
  }
4548
4553
  if (reader.size < END_OF_CENTRAL_DIR_LENGTH) {
@@ -4811,7 +4816,7 @@
4811
4816
  entry.arrayBuffer = async options => {
4812
4817
  const writer = new TransformStream();
4813
4818
  const [arrayBuffer] = await Promise.all([
4814
- new Response(writer.readable).arrayBuffer(),
4819
+ streamToBlob(writer.readable).then(blob => blob.arrayBuffer()),
4815
4820
  fileEntry.getData(writer, entry, zipReader.readRanges, options)]);
4816
4821
  return arrayBuffer;
4817
4822
  };
@@ -7619,7 +7624,7 @@
7619
7624
 
7620
7625
  async function spillToFile() {
7621
7626
  const directoryHandle = await getTempDirectory();
7622
- fileName = crypto.randomUUID();
7627
+ fileName = getRandomFileName$1();
7623
7628
  fileHandle = await directoryHandle.getFileHandle(fileName, { create: true });
7624
7629
  fileWriter = (await fileHandle.createWritable()).getWriter();
7625
7630
  spilled = true;
@@ -7700,6 +7705,13 @@
7700
7705
  };
7701
7706
  }
7702
7707
 
7708
+ function getRandomFileName$1() {
7709
+ if (crypto.randomUUID) {
7710
+ return crypto.randomUUID();
7711
+ }
7712
+ return Array.from(crypto.getRandomValues(new Uint8Array(16)), byteValue => byteValue.toString(16).padStart(2, "0")).join("");
7713
+ }
7714
+
7703
7715
  /*
7704
7716
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
7705
7717
 
@@ -7743,7 +7755,7 @@
7743
7755
 
7744
7756
  async function spillToBlob() {
7745
7757
  const transformStream = new TransformStream();
7746
- blobPromise = new Response(transformStream.readable).blob();
7758
+ blobPromise = streamToBlob(transformStream.readable);
7747
7759
  blobWriter = transformStream.writable.getWriter();
7748
7760
  spilled = true;
7749
7761
  for (const chunk of memoryChunks) {
@@ -7883,7 +7895,7 @@
7883
7895
 
7884
7896
  async function spillToFile() {
7885
7897
  const directoryHandle = await getTempDirectory();
7886
- fileName = crypto.randomUUID();
7898
+ fileName = getRandomFileName();
7887
7899
  const fileHandle = await directoryHandle.getFileHandle(fileName, { create: true });
7888
7900
  accessHandle = await fileHandle.createSyncAccessHandle();
7889
7901
  spilled = true;
@@ -7963,6 +7975,13 @@
7963
7975
  };
7964
7976
  }
7965
7977
 
7978
+ function getRandomFileName() {
7979
+ if (crypto.randomUUID) {
7980
+ return crypto.randomUUID();
7981
+ }
7982
+ return Array.from(crypto.getRandomValues(new Uint8Array(16)), byteValue => byteValue.toString(16).padStart(2, "0")).join("");
7983
+ }
7984
+
7966
7985
  /*
7967
7986
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
7968
7987
 
@@ -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:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:w,Error:u,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:S,TextDecoder:b,document:x,crypto:z,btoa:F,TransformStream:E,ReadableStream:R,WritableStream:D,CompressionStream:k,DecompressionStream:A,navigator:T,Worker:v}="undefined"!=typeof globalThis?globalThis:this||self;var C=void 0!==x?x.currentScript:null;const U=4294967295,I=65535,O=255,M=67324752,_=134695760,N=_,L=84233040,W=33639248,P=101010256,V=101075792,Z=117853008,B=22,H=20,j=56,q=21589,K=2048,Y=16384,G=2048,X=1024,J="/",Q=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",ae=new f;let ie=2;try{typeof T!=ne&&T.hardwareConcurrency&&(ie=T.hardwareConcurrency)}catch{}const oe={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ie,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof k!=ne&&k,DecompressionStream:typeof A!=ne&&A},ce=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],le={...oe};function de(){return le}function we(e){return i.max(e.chunkSize,64)}function ue(e){e=fe(e);for(const t of ce){const r=e[t];r!==te&&(le[t]=r)}}function fe(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}const pe="Invalid codec definition",he="Reserved compression method",me="Invalid codec module",ye="string",ge=[0,8,9,99],Se=new c,be=new c;function xe(e){return Se.get(e)}function ze(e){return be.get(e)}function Fe(e,t){const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=se&&typeof n!=se)throw new u(me);be.set(e,{CompressionStream:r,DecompressionStream:n})}const Ee=[[],[],[],[],[],[],[],[]];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;Ee[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=Ee[t-1][e];Ee[t][e]=r>>>8^Ee[0][255&r]}const[Re,De,ke,Ae,Te,ve,Ce,Ue]=Ee;class Ie{constructor(e){this.o=e||-1}append(e){let t=0|this.o;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=Ue[255&e]^Ce[e>>>8&255]^ve[e>>>16&255]^Te[e>>>24&255]^Ae[255&r]^ke[r>>>8&255]^De[r>>>16&255]^Re[r>>>24&255]}}for(;r>n;n++)t=t>>>8^Re[255&(t^e[n])];this.o=t}get(){return~this.o}}class Oe extends E{constructor(){let e;const t=new Ie;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Me(e){if(typeof S==ne){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new S).encode(e)}function _e(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Ne(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function Le(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const We={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=We.l(r);return 32===n?e.concat(t):We.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)+We.l(r)},m(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=We.S(t,e[r-1]&2147483648>>t-1,1)),e},S:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,l:e=>i.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,a=We.l(s);return n.push(We.S(t+a&31,t+a>32?r:n.pop(),1)),n}},Pe={bytes:{F(e){const t=We.bitLength(e)/8,r=new f(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(We.S(8*(3&r),n)),t}}},Ve=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.T=e.T.slice(0),t.v=e.v.slice(0),t.C=e.C):t.reset()}reset(){const e=this;return e.T=e.D.slice(0),e.v=[],e.C=0,e}update(e){const t=this;"string"==typeof e&&(e=Pe.U.R(e));const r=t.v=We.concat(t.v,e),n=t.C,s=t.C=n+We.bitLength(e);if(s>9007199254740991)throw new u("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.I(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}O(){const e=this;let t=e.v;const r=e.T;t=We.concat(t,[We.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.C/4294967296)),t.push(0|e.C);t.length;)e.I(t.splice(0,16));return e.reset(),r}M(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}_(e,t){return t<<e|t>>>32-e}I(e){const r=this,n=r.T,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],o=n[1],c=n[2],l=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r._(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r._(5,a)+r.M(e,o,c,l)+d+s[e]+r.A[i.floor(e/20)]|0;d=l,l=c,c=r._(30,o),o=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+l|0,n[4]=n[4]+d|0}},Ze={importKey:e=>new Ze.N(Pe.bytes.R(e)),L(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new u("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),w=new m(d);let f=0;const p=We;for(t=Pe.bytes.R(t),l=1;(s||1)>f;l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;r>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>f&&o<a.length;o++)w.setInt32(f,a[o]),f+=4}return d.slice(0,n/8)},N:class{constructor(e){const t=this,r=t.W=Ve,n=[[],[]];t.P=[new r,new r];const s=t.P[0].blockSize/32;e.length>s&&(e=(new r).update(e).O());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.P[0].update(n[0]),t.P[1].update(n[1]),t.V=new r(t.P[0])}reset(){const e=this;e.V=new e.W(e.P[0]),e.Z=!1}update(e){this.Z=!0,this.V.update(e)}digest(){const e=this,t=e.V.O(),r=new e.W(e.P[1]).update(t).O();return e.reset(),r}encrypt(e){if(this.Z)throw new u("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Be=typeof z!=ne&&typeof z.getRandomValues==se,He="Invalid password",je="Invalid signature",qe=je,Ke="zipjs-abort-check-password",Ye="Crypto API not supported";function Ge(e){if(Be)return z.getRandomValues(e);throw new u(Ye)}const Xe=16,Je={name:"PBKDF2"},Qe=r.assign({hash:{name:"HMAC"}},Je),$e=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Je),et=["deriveBits"],tt=[8,12,16],rt=[16,24,32],nt=10,st=[0,0,0,0],at=typeof z!=ne,it=at&&z.subtle,ot=at&&typeof it!=ne,ct=Pe.bytes,lt=class{constructor(e){const t=this;t.B=[[[],[],[],[],[]],[[],[],[],[],[]]],t.B[0][0][0]||t.H();const r=t.B[0][4],n=t.B[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new u("invalid aes key size");for(t.A=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[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))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[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.j(e,0)}decrypt(e){return this.j(e,1)}H(){const e=this.B[0],t=this.B[1],r=e[4],n=t[4],s=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,l=s[c=s[o=s[d]]];let w=16843009*l^65537*c^257*o^16843008*d,u=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=u=u<<24^u>>>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)}j(e,t){if(4!==e.length)throw new u("invalid aes block size");const r=this.A[t],n=r.length/4-2,s=[0,0,0,0],a=this.B[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let w,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],S=4;for(let e=0;n>e;e++)w=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&g]^r[S],f=i[m>>>24]^o[y>>16&255]^c[g>>8&255]^l[255&h]^r[S+1],p=i[y>>>24]^o[g>>16&255]^c[h>>8&255]^l[255&m]^r[S+2],g=i[g>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^r[S+3],S+=4,h=w,m=f,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&g]^r[S++],w=h,h=m,m=y,y=g,g=w;return s}},dt=class{constructor(e,t){this.K=e,this.Y=t,this.G=t}reset(){this.G=this.Y}update(e){return this.X(this.K,e,this.G)}J(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}$(e){0===(e[0]=this.J(e[0]))&&(e[1]=this.J(e[1]))}X(e,t,r){let n;if(!(n=t.length))return[];const s=We.bitLength(t);for(let s=0;n>s;s+=4){this.$(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 We.m(t,s)}},wt=Ze.N;let ut=at&&ot&&typeof it.importKey==se,ft=at&&ot&&typeof it.deriveBits==se;class pt extends E{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){mt(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:a,ee:i,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await gt(e,t,r,bt(n,0,tt[t])),a=bt(n,tt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new u(He)})(r,a,s,bt(e,0,tt[a]+2)),e=bt(e,tt[a]+2),n?t.error(new u(Ke)):i()):await o;const c=new f(e.length-nt-(e.length-nt)%Xe);t.enqueue(yt(r,e,c,0,nt,!0))},async flush(e){const{te:t,re:r,pending:n,ready:a}=this;if(r&&t){await a;const i=bt(n,0,n.length-nt),o=bt(n,n.length-nt);let c=ae;if(i.length){const e=zt(ct,i);r.update(e);const n=t.update(e);c=xt(ct,n)}const l=bt(xt(ct,r.digest()),0,nt);let d=n.length<nt?1:0;for(let e=0;nt>e;e++)d|=l[e]^o[e];if(d&&s)throw new u(qe);e.enqueue(c)}}})}}class ht extends E{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){mt(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,ee:a,ready:i}=r;let o=ae;n?(o=await(async(e,t,r)=>{const n=Ge(new f(tt[t]));return _e(n,await gt(e,t,r,n))})(r,s,n),a()):await i;const c=new f(o.length+e.length-e.length%Xe);c.set(o,0),t.enqueue(yt(r,e,c,o.length,0))},async flush(e){const{te:t,re:r,pending:n,ready:s}=this;if(r&&t){await s;let a=ae;if(n.length){const e=t.update(zt(ct,n));r.update(e),a=xt(ct,e)}const i=xt(ct,r.digest()).slice(0,nt);e.enqueue(_e(a,i))}}})}}function mt(e,t,n,s){r.assign(e,{ready:new g(t=>e.ee=t),password:St(t,n),strength:s-1,pending:ae})}function yt(e,t,r,n,s,a){const{te:i,re:o,pending:c}=e;c.length&&(t=_e(c,t));const l=t.length-s;let d;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(l-l%Xe)),d=0;l-Xe>=d;d+=Xe){const e=zt(ct,bt(t,d,d+Xe));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(xt(ct,s),d+n)}return e.pending=bt(t,d),r}async function gt(e,n,s,a){e.password=null;const i=await(async(e,t,r,n,s)=>{if(!ut)return Ze.importKey(t);try{return await it.importKey("raw",t,r,!1,s)}catch{return ut=!1,Ze.importKey(t)}})(0,s,Qe,0,et),o=await(async(e,t,r)=>{if(!ft)return Ze.L(t,e.salt,$e.iterations,r);try{return await it.deriveBits(e,t,r)}catch{return ft=!1,Ze.L(t,e.salt,$e.iterations,r)}})(r.assign({salt:a},$e),i,8*(2*rt[n]+2)),c=new f(o),l=zt(ct,bt(c,0,rt[n])),d=zt(ct,bt(c,rt[n],2*rt[n])),w=bt(c,2*rt[n]);return r.assign(e,{keys:{key:l,ne:d,passwordVerification:w},te:new dt(new lt(l),t.from(st)),re:new wt(d)}),w}function St(e,t){return t===te?Me(e):t}function bt(e,t,r){return e.subarray(t,r)}function xt(e,t){return e.F(t)}function zt(e,t){return e.R(t)}class Ft extends E{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){Rt(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=Dt(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new u(He);e=e.subarray(12)}n?t.error(new u(Ke)):t.enqueue(Dt(r,e))}})}}class Et extends E{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){Rt(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=Ge(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(kt(r,t),0),s=12}else n=new f(e.length),s=0;n.set(kt(r,e),s),t.enqueue(n)}})}}function Rt(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,se:new Ie(s[0]),ae:new Ie(s[2])}),n)for(let t=0;t<n.length;t++)At(e,n[t]);else for(let r=0;r<t.length;r++)At(e,t.charCodeAt(r))})(e,t,n)}function Dt(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=Tt(e)^t[n],At(e,r[n]);return r}function kt(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=Tt(e)^t[n],At(e,t[n]);return r}function At(e,t){let[,r]=e.keys;e.se.append([t]);const n=~e.se.get();r=Ct(i.imul(Ct(r+vt(n)),134775813)+1),e.ae.append([r>>>24]);const s=~e.ae.get();e.keys=[n,r,s]}function Tt(e){const t=2|e.keys[2];return vt(i.imul(t,1^t)>>>8)}function vt(e){return 255&e}function Ct(e){return 4294967295&e}function Ut(e){if(e instanceof R)return e;const t=e.getReader();return new R({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function It(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const Ot="Invalid uncompressed size",Mt="Invalid compressed data",_t=je,Nt="deflate-raw",Lt="gzip",Wt=[31,139,8];class Pt extends E{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:d,format:w,compressionMethod:u}=e,f=this;let p,h,y,g=super.readable;const S=w&&ze(w),b=c&&s&&!d&&!S&&(!a||o)&&!(!i||!n);if(a&&!o||!c||b||(p=new Oe,g=Gt(g,p)),s)if(S)g=Xt(g,Kt(S.CompressionStream,w,{level:l,chunkSize:t,compressionMethod:u}));else if(b)y=new Vt,g=Xt(g,new n(Lt)),g=Gt(g,y);else try{g=Yt(g,i,{level:l,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Lt)}catch{throw e}g=Xt(g,t),g=Gt(g,new Vt)}a&&(o?g=Gt(g,new Et(e)):(h=new ht(e),g=Gt(g,h))),qt(f,g,()=>{a&&!o||!c||(f.crc32=b?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Vt extends E{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=i.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=_e(r,e));const a=s-8,o=i.min(a,r.length);n.enqueue(_e(r.subarray(0,o),e.subarray(0,a-o))),r=_e(r.subarray(o),e.subarray(a-o))},flush(){const t=Le(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Zt extends E{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:d,format:w,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let S,b,x=super.readable;if(a&&(s?x=Gt(x,new Ft(e)):(b=new pt(e),x=Gt(x,b))),c){const e=w&&ze(w);if(e)x=Xt(x,Kt(e.DecompressionStream,w,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{x=Yt(x,l,{chunkSize:t,deflate64:d},n,r)}catch(e){if(d||y===te)throw e;let t;try{t=new n(Lt)}catch{throw e}x=((e,t,r)=>{const n=new Ie;let s,a,i,o=0,c=!1;const l=new g((e,t)=>{a=e,i=t});l.catch(()=>{}),r||a();const d=new E({start(e){const t=new f(10);t.set(Wt),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new f(8),s=Le(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){i(e)}}),w=new E({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():a(),t.enqueue(e)},cancel(e){i(e)}});return e=Gt(e,d),Gt(e=Xt(e,t),w);function p(){h(),s=setTimeout(()=>i(new u(Ot)),5e3)}function h(){clearTimeout(s)}})(x,t,y)}x=(e=>{const t=e.getReader();return new R({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new u(Mt);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(x)}i&&(S=new Oe,x=Gt(x,S)),qt(this,x,()=>{if(i){const e=new m(S.value.buffer);if(o!=e.getUint32(0,!1))throw new u(_t)}})}}const Bt=new c;function Ht(e,t){if(!e)return!1;let r=Bt.get(e);r||(r=new c,Bt.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 jt(e){return Ht(e,Nt)}function qt(e,t,n){t=Gt(t,new E({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Kt(e,t,r){if(!e)throw new u("Compression method not supported");return new e(t,r)}function Yt(e,t,r,n,s){const a=t&&n?n:s||n,i=r.deflate64?"deflate64-raw":Nt;let o;try{o=new a(i,r)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,r)}return Xt(e,o)}function Gt(e,t){return Ut(e).pipeThrough(t)}function Xt(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 Jt="data",Qt="deflate",$t="inflate";class er extends E{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(Qt)?a=Pt:s.startsWith($t)&&(a=Zt),n.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:i})}}),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 u(Ot)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:i})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class tr extends E{constructor(e){const t=[];let r=0;function n(){const n=new f(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 f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const rr={type:"module"},nr="error",sr="Worker startup timeout";let ar,ir,or,cr,lr,dr=!0;try{dr=typeof structuredClone==se&&structuredClone(new DOMException("","AbortError")).code!==te}catch{}class wr{constructor(e,{readable:t,writable:n},{options:s,config:a,ie:i,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:d},w){const{signal:u}=i;return lr&&(d=te),r.assign(e,{oe:!0,ce:(e.ce||0)+1,readable:t.pipeThrough(new tr(we(a))).pipeThrough(new ur(i),{signal:u}),writable:n,options:r.assign({},s),workerURI:l,createWorker:d,transferStreams:c,terminate:()=>new g(t=>{const{le:r,oe:n}=e;r?(n?e.de=t:(r.terminate(),t()),e.we=null):t()}),ue(){if(e.oe){const{de:t}=e;t&&(e.de=null,e.fe=!0,e.le.terminate(),t()),e.oe=!1,w(e)}}}),ar===te&&(ar=typeof v!=ne),(o&&(ar&&l||d)?hr:pr)(e,a)}}class ur extends E{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await fr(e,r)},async transform(e,n){s+=e.length,t&&await fr(t,s,r),n.enqueue(e)},async flush(){n&&await fr(n,s)}})}}async function fr(e,...t){try{await e(...t)}catch{}}function pr(e,t){return{run:()=>mr(e,t)}}function hr(e,t){const{baseURI:n,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.we){let c;typeof o==se&&(o=o());try{c=gr(e.workerURI,n,e)}catch{return e.createWorker?lr=!0:ar=!1,pr(e,t)}r.assign(e,{le:c,pe:!1,fe:!1,we:{run:async()=>{try{return await(async(e,t)=>{let n,a;const i=new g((e,t)=>{n=e,a=t});r.assign(e,{reader:null,writer:null,he:n,me:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:d,ye: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,ye:()=>t.abort()}})(e.writable);let f;try{f=xr({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){w();try{await d}catch{}throw e.ue(),t}f||r.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;e.pe||!s.isFinite(p)||0>p||(e.ge=setTimeout(()=>(e=>{if(e.ge=null,e.pe)return;const{me:t,writer:r}=e;if(yr(e),e.le=null,t){const e=new u(sr);e.Se=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await i;return await h(),await d,e}catch(e){await h(),w();try{await d}catch{}throw e}async function h(){if(!f&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:n,workerStartupTimeout:i})}catch(r){if(r&&r.Se){e.createWorker?lr=!0:ar=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,mr(e,t)}throw r}}}})}return e.we}async function mr({options:e,readable:t,writable:r,ue:n},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Qt),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.be&&!jt(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.be||(e.useCompressionStream=!0)}}a=new er(e,s),await t.pipeThrough(a).pipeThrough(new tr(we(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:i,outputSize:o}=a;return{crc32:n,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{n()}}function yr(e){const{le:t}=e;if(t)try{t.terminate()}catch{}e.we=null}function gr(e,t,n,s,a=!0){const{createWorker:i}=n;let o,c,l;if(i)o=i();else if(or===te||ir!==e){const r=typeof e==se;c=r?e(a):e;const i=c.startsWith("data:"),d=c.startsWith("blob:");if(i||d){s===te&&(s=!1),s&&(l=rr);try{o=new v(c,l)}catch(a){if(d)try{w.revokeObjectURL(c)}catch{}if(r&&d)return gr(e,t,n,s,!1);if(s)throw a;return gr(e,t,n,!0,!1)}}else{s===te&&(s=!0),s&&(l=rr);try{c=new w(c,t)}catch{}try{o=new v(c,l)}catch(r){if(s)throw r;return gr(e,t,n,!1,a)}}ir=e,or=c,cr=l}else o=new v(or,cr);return o.addEventListener("message",e=>{n.pe=!0,Sr(n),(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,he:d,me:w,ue:p,ce:h}=t,m=()=>t.ce!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:a,cause:i}=o,c=new u(e);r.assign(c,{stack:t,code:n,name:s,outputSize:a}),i&&(c.cause=r.assign(new u(i.message),{name:i.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||xr({type:Jt,value:e,done:r,messageId:a},t)}n==Jt&&(await l.ready,await l.write(new f(s)),m()||xr({type:"ack",messageId:a},t)),"close"==n&&y(null,i)}}catch(o){m()||(yr(t),y(o))}function y(e,t){m()||(e?w(e):d(t),l&&l.releaseLock(),p())}})(e,n)}),o.addEventListener(nr,e=>br(e,n)),o.addEventListener("messageerror",e=>br(e,n)),o}function Sr(e){const{ge:t}=e;t&&(clearTimeout(t),e.ge=null)}function br(e,t){e.preventDefault&&e.preventDefault(),Sr(t);const{pe:n,me:s,writer:a,ue:i}=t;if(yr(t),n||(t.le=null),s){let t=e.error||new u(e.message||nr);n||(t=r.assign(new u(t.message||nr),{Se:!0})),s(t),a&&a.releaseLock(),n&&i()}}function xr(e,{le:t,writer:r,transferStreams:n,pe:s}){try{const{value:r,readable:a,writable:i}=e,o=[];if(r&&(e.value=Ne(r),o.push(e.value.buffer)),n&&dr&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{dr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let zr=[];const Fr=[];let Er,Rr,Dr=0;async function kr(e,t){const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:d,encrypted:u,format:f,codecURI:p}=r,{workerURI:h,createWorker:m,maxWorkers:y}=n;f&&(p&&(r.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(p,n.baseURI)),await(async(e,t)=>{!be.has(e)&&t&&Fe(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(f,r.codecURI)),t.transferStreams=a||a===te&&n.transferStreams;const S=!(c||l||d||u),b=f===te||!!r.codecURI;return t.useWebWorkers=!S&&b&&(i||i===te&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:te,t.createWorker=t.useWebWorkers&&m?m:te,r.useCompressionStream=o||o===te&&n.useCompressionStream,(await(async()=>{const r=zr.find(e=>!e.oe);if(r)return Ur(r),new wr(r,e,t,x);if(zr.length<y){const r={xe:Dr};return Dr++,zr.push(r),new wr(r,e,t,x)}return new g(r=>{Fr.push({resolve:r,stream:e,ze:t}),Rr=n.workerStarvationTimeout,Ar()})})()).run();function x(e){if(Tr(),Fr.length){const[{resolve:t,stream:r,ze:n}]=Fr.splice(0,1);t(new wr(e,r,n,x)),Ar()}else e.le?(Ur(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.fe?e.fe=!1:e.Fe=setTimeout(async()=>{zr=zr.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):zr=zr.filter(t=>t!=e)}}function Ar(){!Er&&Fr.length&&s.isFinite(Rr)&&Rr>=0&&(Er=setTimeout(vr,Rr))}function Tr(){Er&&(clearTimeout(Er),Er=null)}function vr(){if(Er=null,Fr.length){const[{resolve:e,stream:t,ze:n}]=Fr.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:te,createWorker:te});e(new wr({},t,s,Cr)),Ar()}}function Cr(){Tr(),Ar()}function Ur(e){const{Fe:t}=e;t&&(clearTimeout(t),e.Fe=null)}const Ir="HTTP error ",Or="HTTP Range not supported",Mr="HTTP resource changed",_r="Writer iterator completed too soon",Nr="Writer not initialized",Lr="Content-Range",Wr="Range",Pr="GET",Vr="bytes",Zr=16777216,Br="writable",Hr=Symbol();class jr{constructor(){this.size=0}init(){this.initialized=!0}}class qr extends jr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=we(de())}={}){const n=this;let s=0;return new R({async pull(a){const o=t===te?r:i.min(r,t-s),c=await zn(n,e+s,o);a.enqueue(c),s+r>t||t===te&&!c.length&&o?a.close():s+=r}})}}class Kr extends jr{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new u(Nr);return e.writeUint8Array(Ne(t))}});r.defineProperty(e,Br,{get:()=>t})}writeUint8Array(){}}let Yr,Gr;class Xr extends qr{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Gr||(Gr=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();Yr=1==t}catch{Yr=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Yr?Ut(t.slice(n,n+s).stream()):super.createReadable(e):Ut(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 f(a)}}class Jr extends jr{constructor(e){super();const t=this,n=new E;if(r.defineProperty(t,Br,{get:()=>n.writable}),typeof y.prototype.stream!=se||new y([]).stream()instanceof R){const r=[];e&&r.push(["Content-Type",e]),t.blob=new d(n.readable,{headers:r}).blob()}else{const r=[];t.blob=n.readable.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class Qr extends qr{constructor(e,t){super(),en(this,e,t)}async init(){await tn(this,pn,dn),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,o=0,c=r;return new R({start:()=>l(),async pull(e){n||await l();const{value:t,done:r}=await n.read();if(r)throw new u(Or);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=i.min(e.maximumRangeSize,c),r=await pn(Pr,e,cn(e,a,t));if(206!=r.status)throw new u(Or);const l=r.headers.get(Lr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new u(Or)}on(e,r),an(e,r),a+=t,o=t,n=r.body.getReader()}})(t,r,i.min(n,a-r))}return super.createReadable(e)}readUint8Array(e,t){return rn(this,e,t,pn,dn)}}class $r extends qr{constructor(e,t){super(),en(this,e,t)}async init(){await tn(this,hn,wn),super.init()}readUint8Array(e,t){return rn(this,e,t,hn,wn)}}function en(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=Zr,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:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function tn(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=de(),{protocol:r}=new w(e,t);return"http:"==r||"https:"==r})(n)&&(a||i)&&(void 0===s||s)){const n=await t(Pr,e,cn(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Vr))throw new u(Or);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==B&&(e.Ee=t)}an(e,n);const s=nn(n);s===te?await fn(e,t,r):e.size=s}}else await fn(e,t,r)}async function rn(e,t,r,n,a){const{useRangeHeader:i,forceRangeRequests:o,Ee:c,size:l,options:d}=e;if(i||o){if(c&&t==l-B&&r==B)return c;if(l>t&&0!==r){t+r>l&&(r=l-t);const a=await n(Pr,e,cn(e,t,r));if(206!=a.status)throw new u(Or);const i=a.headers.get(Lr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new u(Or)}on(e,a),an(e,a);const o=new f(await a.arrayBuffer());if(o.length!=r)throw new u(Or);return o}return ae}{const{data:n}=e;return n||await a(e,d),e.data.subarray(t,t+r)}}function nn(e){const t=e.headers.get(Lr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function sn({headers:e}){return{Re:e.get("Etag")||te,lastModified:e.get("Last-Modified")||te}}function an(e,t){const{checkResourceChanges:r,De:n}=e;r&&!n&&206==t.status&&(e.De=sn(t))}function on(e,t){const{checkResourceChanges:n,De:s,size:a}=e;if(n){const e=nn(t);if(e!==te&&a!==te&&e!=a)throw new u(Mr);if(s){const e=sn(t);if(r.entries(s).some(([t,r])=>r!==te&&e[t]!==te&&r!=e[t]))throw new u(Mr)}}}function cn(e,t=0,n=1){return r.assign({},ln(e),{[Wr]:Vr+"="+(0>t?t:t+"-"+(t+n-1))})}function ln({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function dn(e){await un(e,pn)}async function wn(e){await un(e,hn)}async function un(e,t){const r=await t(Pr,e,ln(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function fn(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,ln(e)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?e.size=s(a):await r(e,e.options)}}async function pn(e,{fetch:t=fetch,options:n,url:s},a){const i=await t(s,r.assign({},n,{method:e,headers:a}));if(400>i.status)return i;throw 416==i.status?new u(Or):new u(Ir+(i.statusText||i.status))}function hn(e,{url:t},n){return new g((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.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:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new u(Or):new u(Ir+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new u("Network error")),!1),i.open(e,t),n)for(const e of r.entries(n))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class mn extends qr{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new $r(e,t):new Qr(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 yn extends qr{constructor(e){super(),this.ke=e}async init(){const e=this,{ke:t}=e;e.Ae=0,await g.all(t.map(e=>xn(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,{ke:n}=this;let s,a=0,o=e;for(;n[a]&&o>=n[a].size;)o-=n[a].size,a++;const c=n[a];if(c){const n=c.size;if(o+t>n){const a=n-o;s=_e(await zn(c,o,a),await r.readUint8Array(e+a,t-a))}else s=await zn(c,o,t)}else s=ae;return r.Ae=i.max(a,r.Ae),s}}class gn extends jr{constructor(e,t=4294967295){super();const n=this;let s,a,i;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Hr)return void(i&&await l());const{availableSize:r}=n;if(i)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 u(_r);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await xn(s),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await d())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,n.availableSize-=t)}async function l(){await d(),n.diskOffset+=s.size,n.diskNumber++,i=null,n.availableSize=n.maxSize}async function d(){await i.close()}r.defineProperty(n,Br,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Hr)}finally{e.releaseLock()}}}class Sn{constructor(e){return t.isArray(e)&&(e=new yn(e)),(e instanceof R||typeof e.getReader==se)&&(e={readable:Ut(e)}),e}}class bn{constructor(e){return e.writable===te&&typeof e.next==se&&(e=new gn(e)),(e instanceof D||typeof e.getWriter==se)&&(e={writable:It(e)}),e.size===te&&(e.size=0),e}}async function xn(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function zn(e,t,r){return e.readUint8Array(t,r)}const Fn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function En(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=Fn[e[r]];return t}})(e):new b(t,{ignoreBOM:!0}).decode(e)}const Rn="filename",Dn="rawFilename",kn="comment",An="rawComment",Tn="uncompressedSize",vn="compressedSize",Cn="offset",Un="diskNumberStart",In="lastModDate",On="rawLastModDate",Mn="lastAccessDate",_n="rawLastAccessDate",Nn="creationDate",Ln="rawCreationDate",Wn="internalFileAttributes",Pn="externalFileAttributes",Vn="msdosAttributesRaw",Zn="msdosAttributes",Bn="msDosCompatible",Hn="zip64",jn="encrypted",qn="version",Kn="versionMadeBy",Yn="zipCrypto",Gn="directory",Xn="executable",Jn="compressionMethod",Qn="signature",$n="extraField",es="unixMode",ts="setuid",rs="setgid",ns="sticky",ss=[Rn,Dn,Tn,vn,In,On,kn,An,Mn,_n,Nn,Ln,Cn,Un,Wn,Pn,Vn,Zn,Bn,Hn,jn,qn,Kn,Yn,Gn,Xn,Jn,Qn,"crc32",$n,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",es,ts,rs,ns,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class as{constructor(e){ss.forEach(t=>this[t]=e[t])}}const is="password",os="rawPassword",cs="passThrough",ls="signal",ds="checkAmbiguity",ws="useWebWorkers",us="useCompressionStream",fs="transferStreams",ps="preventClose",hs="offset",ms="usdz",ys="strictness",gs="strict",Ss="tolerant",bs="File format is not recognized",xs="End of central directory not found",zs="End of Zip64 central directory locator not found",Fs="Central directory header not found",Es="Local file header not found",Rs="Zip64 extra field not found",Ds="File contains encrypted entry",ks="Encryption method not supported",As="Compression method not supported",Ts="Split zip file",vs="Overlapping entry found",Cs="Ambiguous archive",Us="Encrypted central directory is not supported",Is="utf-8",Os="cp437",Ms=[[Tn,U],[vn,U],[Cn,U],[Un,I]],_s={[I]:{Ce:la,bytes:4},[U]:{Ce:da,bytes:8}};class Ns{constructor(e,t={}){r.assign(this,{reader:new Sn(e),options:t,config:de(),Ue:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:a}=t;if(await xn(n),n.size!==te&&n.readUint8Array||(n=new Xr(await new d(n.readable).blob()),await xn(n)),n.size<B)throw new u(bs);const o=Ys(sa(t,e,ys),sa(t,e,ds)),c=o==gs,w=o!=Ss,f=((e,t)=>e!==te?e:t==gs?0:t==Ss?1/0:I)(sa(t,e,"maxAppendedDataSize"),o),{Ie:p,Oe:h}=await(async(e,t,r)=>{const{size:n}=e,s=i.min(n,65557),a={count:Gs};let o,c,l=0;for await(const[r,i,d,w,u]of $s(e,s)){const s=ca(r,w+20);if(u+B+s==n){const s=await ta(e,r,i,w,u,n,a);if(s==Qs){if(o||(o=ea(d,w,u)),l++,!t||l>1)break}else s!=Js||c||(c=ea(d,w,u))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=i.min(n,t==1/0?n:65557+t);let a,o;for await(const[t,i,c,l,d]of $s(e,s)){const s=ea(c,l,d);a||(a=s);const w=await ta(e,t,i,l,d,n,r);if(w==Qs)return s;w!=Js||o||(o=s)}return o||a})(e,r,a)),{Ie:o,Oe:l}})(n,w,f);if(!p)throw la(Le(await zn(n,0,4)))==_?new u(Ts):new u(xs);w&&h>1&&na("multiple end of central directory records");const m=Le(p);let y=la(m,12),S=la(m,16);const b=p.offset,x=ca(m,20),z=b+B+x;n.size-z>f&&na("appended data");let F=ca(m,4);const R=n.Ae||0;let D,k,A,T,v=ca(m,6),C=ca(m,10),M=0;const N=S==U||y==U||C==I||v==I;if(S!=U&&v!=I&&(S+=Ks(n,v)),N){const e=p.offset<H?ae:await zn(n,p.offset-H,H),t=Le(e);if(e.length==H&&la(t,0)==Z){S=Ks(n,la(t,4))+da(t,8);let e=await zn(n,S,j),a=Le(e);const o=p.offset-H-j;if((e.length<j||la(a,0)!=V)&&S!=o&&o>=0){const t=S;S=o,S>t&&(M=S-t),e=await zn(n,S,j),a=Le(e)}if(e.length<j||la(a,0)!=V)throw new u(zs);if(k=!0,A=da(a,4)>44,A){const e=i.min(s(da(a,4))-44,n.size-S-j);e>0&&(T=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=Le(e),a=ca(n,26);r.assign(t,{compressionMethod:ca(n,0),compressedSize:s(da(n,2)),uncompressedSize:s(da(n,10)),encryptionAlgorithm:ca(n,18),bitLength:ca(n,20),flags:ca(n,22),hashAlgorithm:ca(n,24),hashData:e.subarray(28,28+a)})}return t})(await zn(n,S+j,e)))}F==I?F=la(a,16):c&&F!=la(a,16)&&na("mismatched zip64 end of central directory record"),v==I?v=la(a,20):c&&v!=la(a,20)&&na("mismatched zip64 end of central directory record"),C==I?C=da(a,32):c&&C!=da(a,32)&&na("mismatched zip64 end of central directory record"),y==U?y=da(a,40):c&&y!=da(a,40)&&na("mismatched zip64 end of central directory record"),S=Ks(n,v)+da(a,48)+M}}let P=y;const q=p.offset-(k?76:0);if(S<n.size||(M=n.size-S-y-B,S=n.size-y-B),R!=F)throw new u(Ts);if(0>S)throw new u(bs);let K=0,Q=await zn(n,S,y),$=Le(Q);if(y){if(4>Q.length)throw new u(bs);const e=q-y;if(S!=e&&v==F){let t=!(la($,K)==W);if(t||0>e||e+4>n.size||(t=la(Le(await zn(n,e,4)),0)==W),t){const t=S;S=e,S>t&&(M+=S-t),Q=await zn(n,S,y),$=Le(Q)}}}const ee=q-S;if(y==ee||0>ee||v!=F||(y=ee,Q=await zn(n,S,y),$=Le(Q)),0>S||S>=n.size)throw new u(bs);t.directoryOffset=S,t.directoryLength=P;const re=sa(t,e,"decryptCentralDirectory");let ne;re&&C&&Q.length>=4&&la($,0)!=W&&(A||Ps($))&&(Q=await re(Q,T),$=Le(Q),P=Q.length,ne=!0),D=S;const se=sa(t,e,"filenameEncoding"),ie=sa(t,e,"commentEncoding"),oe=c?new l:te;let ce;for(let s=0;C>s;s++){const o=new Ws(n,a,t.options);if(K+46>Q.length||la($,K)!=W){if(0==s&&!ne&&(A||Ps($)))throw new u(Us);throw new u(Fs)}Vs(o,$,K+6);const l=!!o.bitFlag.languageEncodingFlag,w=K+46,f=w+o.filenameLength,p=f+o.extraFieldLength,h=ca($,K+4),m=!(h>>8),y=h>>8==3,S=Q.subarray(w,f),b=ca($,K+32),x=p+b,z=Q.subarray(p,x),F=l,R=l,k=la($,K+38),T=k&O,v={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},U=la($,K+42),_=sa(t,e,"decodeText")||En,N=F?Is:se||Os,L=R?Is:ie||Os;let P=_(S,N);P===te&&(P=En(S,N));let V=_(z,L);V===te&&(V=En(z,L)),r.assign(o,{index:s,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Me:b,offset:U,diskNumberStart:ca($,K+34),internalFileAttributes:ca($,K+36),externalFileAttributes:k,msdosAttributesRaw:T,msdosAttributes:v,rawFilename:S,filenameUTF8:F,commentUTF8:R,rawExtraField:Q.subarray(f,p),rawComment:z,filename:P,comment:V}),Zs(o,o,$,K+6),o.offset+=M,D=i.min(Ks(n,o.diskNumberStart)+o.offset,D),c&&(oe.has(o.filename)&&(ce=!0),oe.add(o.filename));const Z=o.externalFileAttributes>>16&I;o.unixMode===te&&16877&Z&&(o.unixMode=Z);const B=!!(o.unixMode&G),H=!!(o.unixMode&X),j=!!(512&o.unixMode),q=o.unixMode!==te?!!(73&o.unixMode):y&&!!(73&Z),ee=o.unixMode!==te&&(61440&o.unixMode)==Y,re=(61440&Z)==Y;r.assign(o,{setuid:B,setgid:H,sticky:j,unixExternalUpper:Z,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:q,directory:ee||re||m&&v.directory||o.filename.endsWith(J)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ae=new as(o);ae.getData=(e,r)=>o.getData(e,ae,t.Ue,r),ae.arrayBuffer=async e=>{const r=new E,[n]=await g.all([new d(r.readable).arrayBuffer(),o.getData(r,ae,t.Ue,e)]);return n},K=x;const{onprogress:le}=e;if(le)try{await le(s+1,C,new as(o))}catch{}yield ae}let le=K;if(K+6<=Q.length&&la($,K)==L){const e=ca($,K+4);K+6+e>Q.length||(t.digitalSignature=Q.subarray(K+6,K+6+e),le=K+6+e)}c&&K!=P&&le!=P&&na("trailing central directory data"),ce&&na("duplicate filename"),c&&(M||C&&D>0)&&na("prepended data");const de=sa(t,e,"extractPrependedData"),we=sa(t,e,"extractAppendedData");return de&&(t.prependedData=D>0?await zn(n,0,D):ae),t.comment=x?await zn(n,b+B,x):ae,we&&(t.appendedData=z<n.size?await zn(n,z,n.size-z):ae),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class Ls{constructor(e={}){const{readable:t,writable:r}=new E,n=new Ns(t,e).getEntriesGenerator();this.readable=new R({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 Ws{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:i,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:g,compressedSize:S}=s,{dataDescriptor:b}=p,x=t.localDirectory={},z=Ks(a,c)+o,F=await zn(a,z,Q),E=Le(F);let R=sa(s,n,is),k=sa(s,n,os);const A=sa(s,n,cs);if(R=R&&R.length&&R,k=k&&k.length&&k,l&&99!=l.originalCompressionMethod)throw new u(As);if(F.length<Q||la(E,0)!=M)throw new u(Es);Vs(x,E,4);const{extraFieldLength:T,filenameLength:v}=x,C=Ys(sa(s,n,ys),sa(s,n,ds))==gs;let U=ae;if(C&&(v||T)){const e=await zn(a,z+Q,v+T);U=e.subarray(0,v),x.rawExtraField=e.subarray(v)}else x.rawExtraField=T?await zn(a,z+Q+v,T):ae;Zs(s,x,E,4,!0),C&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&na("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&na("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&na("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||na("mismatched local file header (crc32 or sizes)")})(s,x,U);const{lastAccessDate:I,creationDate:_}=x;I&&(t.lastAccessDate=I),_&&(t.creationDate=_);const L=s.encrypted&&x.encrypted&&!A,W=L&&!l;if(A||(t.zipCrypto=W),L&&!(64&~x.rawBitFlag))throw new u(ks);const P=A?te:xe(w);if(0!=w&&8!=w&&9!=w&&!P&&!A)throw new u(As);if(L){if(!W&&(1>l.strength||l.strength>3))throw new u(ks);if(!R&&!k)throw new u(Ds)}const V=z+Q+v+T,Z=S,B=Ut(a.createReadable({offset:V,size:Z})),H=sa(s,n,ls),j=sa(s,n,"checkPasswordOnly");let q=sa(s,n,"checkOverlappingEntry");const K=sa(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:X}=n,J=9==w;let $=sa(s,n,us);J&&($=!1);const ee=sa(s,n,"checkCrc32"),re=(ee===te?sa(s,n,"checkSignature"):ee)&&!A&&(!L||W||l&&1==l.vendorVersion),ne={options:{codecType:$t,password:R,rawPassword:k,zipCrypto:W,encryptionStrength:l&&l.strength,checkCrc32:re,checkAuthenticationCode:sa(s,n,"checkAuthenticationCode"),passwordVerification:W&&(b?y>>>8&O:m>>>24&O),outputSize:A?S:g,crc32:m,compressed:0!=w&&!A,encrypted:L,useWebWorkers:sa(s,n,ws),useCompressionStream:$,transferStreams:sa(s,n,fs),deflate64:J,format:P?P.format:te,codecURI:P?P.codecURI:te,compressionMethod:w,rawBitFlag:h,checkPasswordOnly:j},config:f,ie:{signal:H,size:Z,onstart:Y,onprogress:G,onend:X}};let se;q&&await(async({reader:e,_e:t,index:r,offset:n,crc32:s,compressedSize:a,uncompressedSize:i,Ne:o,dataDescriptor:c,extraFieldZip64:l,Ue:d})=>{let w=0;if(c&&(w=l?20:12),w){const r=await zn(e,o+a,w+4);if(r.length==w+4&&la(Le(r),0)==N){const e=la(Le(r),4);let n,o;l?(n=da(Le(r),8),o=da(Le(r),16)):(n=la(Le(r),8),o=la(Le(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==a&&o==i&&(w+=4)}}const f={start:n,end:o+a+w,_e:t};for(const[e,t]of d)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new u(vs);throw e.Le=t._e,e}d.set(r,f)})({reader:a,_e:t,index:i,offset:z,crc32:m,compressedSize:S,uncompressedSize:g,Ne:V,dataDescriptor:b||x.bitFlag.dataDescriptor,extraFieldZip64:d||x.extraFieldZip64,Ue:r});try{if(!K){j&&(e=new D),e=new bn(e),await xn(e,A?S:g),({writable:se}=e);const{outputSize:t}=await kr({readable:B,writable:se},ne);if(e.size+=t,t!=(A?S:g))throw new u(Ot)}}catch(t){if(t.outputSize!==te&&(e.size+=t.outputSize),!j||t.message!=Ke)throw t}finally{sa(s,n,ps)||!se||se.locked||await se.getWriter().close()}return j||K?te:e.getData?e.getData():se}}function Ps(e){const t=i.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==la(e,r))return!0;return!1}function Vs(e,t,n){const s=e.rawBitFlag=ca(t,n+2),a=!(1&~s),i=la(t,n+6);r.assign(e,{encrypted:a,version:ca(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&K)==K},rawLastModDate:i,lastModDate:aa(i),filenameLength:ca(t,n+22),extraFieldLength:ca(t,n+24)})}function Zs(e,t,n,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Le(i);let w=0;try{for(;w<i.length;){const e=ca(d,w),t=ca(d,w+2);l.set(e,{type:e,data:i.slice(w+4,w+4+t)}),w+=4+t}}catch{}const f=ca(n,s+4);r.assign(t,{signature:la(n,s+10),crc32:la(n,s+10),compressedSize:la(n,s+14),uncompressedSize:la(n,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const r=Le(e.data),n=Ms.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+_s[t].bytes,0);if(e.data.length<s)throw new u(Rs);for(let s=0,a=0;s<n.length;s++){const[i,o]=n[s],c=_s[o];t[i]=e[i]=c.Ce(r,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(Bs(h,Rn,Dn,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(Bs(m,kn,An,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,n)=>{const s=Le(e.data),a=oa(s,4);r.assign(e,{vendorVersion:oa(s,0),vendorId:oa(s,2),strength:a,originalCompressionMethod:n,compressionMethod:ca(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=te)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=l.get(13);g&&(Hs(g,t),t.extraFieldPkwareUnix=g);const S=l.get(22613);S&&(Hs(S,t),t.extraFieldUnixType1=S);const b=l.get(10);b&&(((e,t)=>{const n=Le(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=ca(n,a),r=ca(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=Le(s),a=n.getBigUint64(0,!0),i=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:ia(a),lastAccessDate:ia(i),creationDate:ia(o)};r.assign(e,c),r.assign(t,c)}})(b,t),t.extraFieldNTFS=b);const x=l.get(30805);if(x)js(x,t,!1),t.extraFieldUnix=x;else{const e=l.get(30837);e&&(js(e,t,!0),t.extraFieldInfoZip=e)}const z=l.get(q);z&&(((e,t,r)=>{if(!e.data.length)return;const n=Le(e.data),s=oa(n,0),a=[],i=[];r?(1&~s||(a.push(In),i.push(On)),2&~s||(a.push(Mn),i.push(_n)),4&~s||(a.push(Nn),i.push(Ln))):5>e.data.length||(a.push(In),i.push(On));let c=1;a.forEach((r,s)=>{if(e.data.length>=c+4){const a=la(n,c);t[r]=e[r]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(z,t,a),t.extraFieldExtendedTimestamp=z);const F=l.get(6534);F&&(t.extraFieldUSDZ=F)}function Bs(e,t,n,s,a){if(5>e.data.length)return void(e.valid=!1);const i=Le(e.data),o=new Ie;o.append(a[n]);const c=Le(new f(4));c.setUint32(0,o.get(),!0);const l=la(i,1);r.assign(e,{version:oa(i,0),[t]:En(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==la(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Hs(e,t){if(8>e.data.length)return;const n=Le(e.data),s={lastAccessDate:new o(1e3*la(n,0)),lastModDate:new o(1e3*la(n,4))};12>e.data.length||(s.uid=ca(n,8),s.gid=ca(n,10)),r.assign(e,s),r.assign(t,s)}function js(e,t,n){try{const s=Le(e.data);let a,i;if(n){let t=0;const n=oa(s,t++),o=oa(s,t++);a=qs(e.data.subarray(t,t+o)),t+=o;const c=oa(s,t++);i=qs(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:a,gid:i})}else 4>e.data.length||(a=ca(s,0),i=ca(s,2),r.assign(e,{uid:a,gid:i}));a!==te&&(t.uid=a),i!==te&&(t.gid=i)}catch{}}function qs(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Ks(e,t){return e.ve?e.ve(t):0}function Ys(e,t){return e===te?t?gs:"balanced":e}const Gs=64,Xs=0,Js=1,Qs=2;async function*$s(e,t){const r=e.size-t,n=await zn(e,r,t),s=Le(n);for(let e=n.length-B;e>=0;e--)la(s,e)==P&&(yield[s,r,n,e,r+e])}function ea(e,t,r){return{offset:r,buffer:e.slice(t,t+B).buffer}}async function ta(e,t,r,n,s,a,i){const o=ca(t,n+10),c=la(t,n+12),l=la(t,n+16);if(o==I||c==U||l==U)return await ra(e,t,r,s-H,a,i)==Z?Qs:Xs;if(!o&&!c)return Js;const d=ca(t,n+6);for(const n of[s-c,Ks(e,d)+l])if(await ra(e,t,r,n,a,i)==W)return Qs;return Xs}async function ra(e,t,r,n,s,a){return 0>n||n+4>s?te:r>n?a.count>0?(a.count--,la(Le(await zn(e,n,4)),0)):te:la(t,n-r)}function na(e){const t=new u(Cs);throw t.reason=e,t}function sa(e,t,r){return t[r]===te?e.options[r]:t[r]}function aa(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 ia(e){return new o(s(e/a(1e4)-a(116444736e5)))}function oa(e,t){return e.getUint8(t)}function ca(e,t){return e.getUint16(t,!0)}function la(e,t){return e.getUint32(t,!0)}function da(e,t){return s(e.getBigUint64(t,!0))}var wa=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Cs,ERR_BAD_FORMAT:bs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Fs,ERR_ENCRYPTED:Ds,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Us,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:zs,ERR_EOCDR_NOT_FOUND:xs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Rs,ERR_INVALID_AUTHENTICATION_CODE:qe,ERR_INVALID_COMPRESSED_DATA:Mt,ERR_INVALID_CRC32:_t,ERR_INVALID_PASSWORD:He,ERR_INVALID_SIGNATURE:je,ERR_INVALID_UNCOMPRESSED_SIZE:Ot,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Es,ERR_OVERLAPPING_ENTRY:vs,ERR_SPLIT_ZIP_FILE:Ts,ERR_UNSUPPORTED_COMPRESSION:As,ERR_UNSUPPORTED_ENCRYPTION:ks,ERR_WORKER_STARTUP_TIMEOUT:sr,ZipReader:Ns,ZipReaderStream:Ls});const ua="File already exists",fa="Zip file comment exceeds 64KB",pa="File entry comment exceeds 64KB",ha="File entry name exceeds 64KB",ma="Version exceeds 65535",ya="The strength must equal 1, 2, or 3",ga="Encryption is not supported in USDZ files",Sa="Extra field type exceeds 65535",ba="Extra field data exceeds 64KB",xa=-2147483648,za=2147483647,Fa=a(0),Ea=a("0x7fffffffffffffff"),Ra="Zip64 is not supported (set the 'zip64' option to 'true')",Da="Undefined uncompressed size",ka="Undefined reader",Aa="Zip file not empty",Ta="Invalid uid (must be integer 0..2^32-1)",va="Invalid gid (must be integer 0..2^32-1)",Ca="Invalid UNIX mode (must be integer 0..65535)",Ua="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ia="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Oa="Invalid msdosAttributesRaw (must be integer 0..255)",Ma="Invalid msdosAttributes (must be an object with boolean flags)",_a="Signature data exceeds 64KB",Na=new f([7,0,2,0,65,69,3,0,0]),La="infozip",Wa="unix";let Pa=0;const Va=[];class Za{constructor(e,t={}){e=new bn(e);const{availableSize:n=re,maxSize:s=re}=e,a=n>0&&n!==re&&s>0&&s!==re;r.assign(this,{writer:e,We:a,options:t,config:de(),files:new c,Pe:new l,offset:t[hs]===te?e.size||e.writable.size||0:t[hs],Ve:t[hs]===te?0:t[hs]-(e.size||e.writable.size||0),Ze:new l,Be:0,He:te})}async prependZip(e){if(this.Pe.size)throw new u(Aa);e=new Sn(e),await xn(e);const{ZipReader:t}=await g.resolve().then(()=>wa),n=new t(e.readable),s=await n.getEntries();await n.close(),await xn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Pe=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:w}=e;let{compressionMethod:u,je:f,qe:p,Ke:h,Ye:m,Ge:y,rawExtraField:g}=e;const{level:S,languageEncodingFlag:b,dataDescriptor:x}=o;f=f||ae,p=p||ae,h=h||ae,m=m||ae,y=y||ae,g=g||ae,e.extraFieldAES&&(u=99);const z=li(f,p,h,m,y,g),F=w&&l>=U,E=w&&d>=U,R=-7&wi(S,b,x,c,u)|S<<1,{Xe:D,Je:k}=di({version:t,bitFlag:R,compressionMethod:u,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:i,Qe:E,$e:F,extraFieldLength:z}),{crc32:A}=e;return A!==te&&ii(k,10,A),r.assign(e,{$e:F,Qe:E,et:w&&e.offset>=U,diskNumberStart:0,nt:!1,je:f,qe:p,Ke:h,Ye:m,Ge:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,st:1+(s?2:0)+(a?4:0),Xe:D,Je:k}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{Ze:c,config:l}=s;let d,w;Pa<l.maxWorkers?Pa++:await new g(e=>Va.push(e));try{if(e=e.trim(),ni(s,n,Gn)&&!e.endsWith(J)&&(e+=J),s.Pe.has(e))throw new u(ua);return s.Pe.add(e),w=!0,d=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=ni(e,r,Bn),s=ni(e,r,Kn,n?20:768);const a=ni(e,r,Xn),i=ni(e,r,"uid"),o=ni(e,r,"gid");let c=ni(e,r,es),l=ni(e,r,"unixExtraFieldType"),d=ni(e,r,ts),w=ni(e,r,rs),f=ni(e,r,ns);if(i!==te&&(0>i||i>U))throw new u(Ta);if(o!==te&&(0>o||o>U))throw new u(va);if(c!==te&&(0>c||c>I))throw new u(Ca);if(l!==te&&l!==La&&l!==Wa)throw new u(Ua);if(l===Wa&&(i!==te&&i>I||o!==te&&o>I))throw new u(Ia);l!==te||i===te&&o===te||(l=La);let p=ni(e,r,Vn),h=ni(e,r,Zn);const m=p!==te||h!==te;if(i!==te||o!==te||c!==te||l?(n=!1,s=s&I|768):m&&(n=!0,s&=O),p!==te&&(0>p||p>O))throw new u(Oa);if(h&&"object"!=typeof h)throw new u(Ma);if(s>I)throw new u(ma);let y=ni(e,r,Pn);const g=y!==te;g||(y=0),!r[Gn]&&t.endsWith(J)&&(r[Gn]=!0);const S=ni(e,r,Gn);let b;if(S?(t.endsWith(J)||(t+=J),g||(y=16,n||(y|=16877<<16))):n||g||(y=a?493<<16:27525120),!n){const e=c!==te||!!(d||w||f);b=y>>16&I,c=c===te?b:c&I,d?c|=G:d=!!(c&G),w?c|=X:w=!!(c&X),f?c|=512:f=!!(512&c),g&&!e||(S&&(c|=Y),y=(c&I)<<16|y&I)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==te)e&=O;else if(t!==te){const{readOnly:r,hidden:n,system:s,directory:a,archive:i}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&O}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&U|p&O),{name:t,it:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:b,uid:i,gid:o,unixMode:c,unixExtraFieldType:l,setuid:d,setgid:w,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const l=((e,t,r)=>{const n=ni(e,r,"encodeText",Me);let s=n(t);if(s===te&&(s=Me(t)),li(s)>I)throw new u(ha);const a=r[kn]||"";let i=n(a);if(i===te&&(i=Me(a)),li(i)>I)throw new u(pa);const c=ni(e,r,qn,20);if(c>I)throw new u(ma);const l=ni(e,r,In,new o),d=ni(e,r,Mn),w=ni(e,r,Nn),f=ni(e,r,Wn,0),p=ni(e,r,cs);let h,m;p||(h=ni(e,r,is),m=ni(e,r,os));const y=ni(e,r,"encryptionStrength",3),g=ni(e,r,Yn),S=ni(e,r,"extendedTimestamp",!0),b=ni(e,r,"ntfsTimestamp"),x=ni(e,r,"keepOrder",!0),z=ni(e,r,ws),F=ni(e,r,fs),E=ni(e,r,"bufferedWrite"),R=ni(e,r,"createTempStream"),D=ni(e,r,"dataDescriptorSignature",!0),k=ni(e,r,ls),A=ni(e,r,"useUnicodeFileNames",!0),T=ni(e,r,Jn),v=p||T===te?te:xe(T);if(!p&&T!==te&&0!==T&&8!==T&&!v)throw new u("Compression method not supported");let C=ni(e,r,"level");if(e.options[ms]){if(h!==te||m!==te)throw new u(ga);C===te&&T===te&&(C=0)}let U=ni(e,r,us),O=ni(e,r,"dataDescriptor");E&&O===te&&(O=!1),(O===te||g)&&(O=!0),C!==te&&6!=C&&(U=!1);const M=ni(e,r,Hn);if(!g&&(h!==te||m!==te)&&(1>y||y>3))throw new u(ya);const _=Ha(r[$n]),N=Ha(r.localExtraField);return{comment:a,it:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:w,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:g,extendedTimestamp:S,ntfsTimestamp:b,keepOrder:x,useWebWorkers:z,transferStreams:F,bufferedWrite:E,createTempStream:R,dataDescriptorSignature:D,signal:k,useUnicodeFileNames:A,compressionMethod:T,format:v?v.format:te,codecURI:v?v.codecURI:te,ot:v?v.versionNeeded:te,level:C,useCompressionStream:U,dataDescriptor:O,zip64:M,rawExtraField:_,ct:N}}})(e,t,s),{comment:d}=l,w=s[$n];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.be)return!0;if(jt(t)||Ht(t,Lt))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:i,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:l,zip64:d,level:w,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new u(ka);if(h=n[Tn],h===te)throw new u(Da)}const m=!0===d,y=ni(e,n,jn),g=!!t&&(!!(i&&li(i)||o&&li(o))||s&&y);t||(w=0,f=0);const S=g?a?12:16+4*c:0;t&&(t=new Sn(t),await xn(t),s?(n.uncompressedSize=h,p=si(h)+S):t.size===te?(l=!0,(d||d===te)&&(d=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=si(h)+S));const b=m||h>=U,x=m||p>=U;if(b||x){if(!1===d)throw new u(Ra);d=!0}return d=d||!1,{reader:t,it:{dataDescriptor:l,zip64:d,$e:b,Qe:x,uncompressedSize:h,level:w,compressionMethod:f,encrypted:g}}})(e,n,l,s);({reader:n}=w);const h=Ga(e.writer),m=Ya(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:w,directory:f,rawExtraField:p,ct:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:S,encrypted:b,$e:x,Qe:z,uncompressedSize:F,crc32:E}=e;let{version:R,compressionMethod:D}=e;const k=!f&&(D===te?a===te||a>0:0!==D);let A;const T=S||!k,v=c&&(e.bufferedWrite||!w||!x&&!z||T),C=v||c&&w&&(x||z);if(c&&(x||z)){const e=20,t=Ka(e);if(t.uint16(1),t.uint16(e-4),A=t.array,v&&(t.lt(F),T)){const e=b?l?12:16+4*m:0;t.lt(S?0:F+e)}}else A=ae;let U,O,_,N,L;if(b&&!l){const e=Ka(li(Na)+2);e.uint16(39169),e.bytes(Na),U=e.array,U[8]=m}else U=ae;if(y){const e=ei(r),t=ti(e);if(t){const t=9+(n?4:0)+(s?4:0),r=Ka(t);N=1+(n?2:0)+(s?4:0),r.uint16(q),r.uint16(t-4),r.uint8(N),r.uint32(e),n&&r.uint32(ri(ei(n))),s&&r.uint32(ri(ei(s))),_=r.array}else _=ae;if(g===te?!t||n||s:g)try{const e=$a(r),t=Ka(36);t.uint16(10),t.uint16(32),t.wt(4),t.uint16(1),t.uint16(24),t.lt(e),t.lt(n?$a(n):e),t.lt(s?$a(s):e),O=t.array}catch{O=ae}else O=ae}else O=_=ae;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=La||t===te&&r===te)if(n!=Wa||t===te&&r===te)L=ae;else{const e=Ka(8);e.uint16(30805),e.uint16(4),e.uint16((t===te?0:t)&I),e.uint16((r===te?0:r)&I),L=e.array}else{const e=qa(t),n=qa(r),s=3+e.length+n.length,a=Ka(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),L=a.array}}catch{L=ae}D===te&&(D=k?8:0);const{ot:W}=e;k&&W!==te&&(R=R>W?R:W),c&&(R=R>45?R:45),b&&!l&&(R=R>51?R:51,S&&E!==te&&(U[4]=1),U[9]=D,D=99);const P=C?li(A):0,V=P+li(U,_,O,L,p,h);if(V>I)throw new u(ba);const Z=new o(2e3*i.ceil(i.floor(r.getTime()/1e3)/2)),{Xe:B,Je:H,rawLastModDate:j}=di({version:R,bitFlag:wi(a,d,w,b,D),compressionMethod:D,uncompressedSize:F,lastModDate:ee>Z?ee:Z>$?$:Z,rawFilename:t,Qe:z,$e:x,extraFieldLength:V}),K=Ka(Q+li(t)+V),Y=K.array,G=Le(Y);return K.uint32(M),K.bytes(B),K.bytes(t),C&&K.bytes(A),K.bytes(U),K.bytes(_),K.bytes(O),K.bytes(L),K.bytes(p),K.bytes(h),w&&(z||ii(G,18,0),x||ii(G,22,0)),{ut:Y,ft:G,Xe:B,Je:H,lastModDate:r,rawLastModDate:j,encrypted:b,compressed:k,version:R,compressionMethod:D,st:N,je:ae,ht:P,Ke:_,Ye:O,Ge:L,qe:U,extraFieldLength:V}})(s=r.assign({},s,c.it,l.it,w.it,{internalFileAttribute:l.it.internalFileAttributes,externalFileAttribute:c.it.externalFileAttributes,signature:s[Qn],crc32:s.crc32===te?s[Qn]:s.crc32,offset:e.offset-h,diskNumberStart:m})),S=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ae,a=0,i=e?20:12;return r&&(i+=4),t&&(s=new f(i),n=Le(s),r&&(a=4,ii(n,0,N))),{yt:s,gt:n,St:a}})(s),b=li(y.ut,S.yt);p=await(async(e,t,n,s,i)=>{const{files:o,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:w}=i,{bt:p}=s,h=e.options[ms],m=e.He;let y,S,b,x,z,F,R,k={},A=0;o.set(t,k),e.He=k;try{let S;l&&(S=m&&m.lock,k.lock=new g(e=>b=e)),i.bufferedWrite||!l||e.xt||e.Be||!d?(y=!0,e.Be++,R=i.createTempStream?await i.createTempStream():new E(te,te,{highWaterMark:re}),R.size=0,await xn(c)):(R=c,await T()),await xn(R);const C=Ga(c);if(e.We){delete e.We;const t=new f(4);ii(Le(t),0,_),await Qa(c,t),e.offset+=4}h&&!y&&ja(s,e.offset-C);const{ut:I}=p;y||(await S,await v());const M=Ya(c),N=Ja(e,c);if(k.diskNumberStart=M,y||(z=!0,F=c.size,await Qa(R,I)),k=await(async(e,t,{diskNumberStart:n,lock:s},i,o,c)=>{const{bt:l,zt:d,Ft:w}=i,{Xe:f,Je:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:S,compressionMethod:b,je:x,ht:z,Ke:F,st:E,Ye:R,Ge:D,qe:k}=l,{yt:A}=d,{rawFilename:T,lastAccessDate:v,creationDate:C,password:I,rawPassword:M,level:_,zip64:N,$e:L,Qe:W,zipCrypto:P,dataDescriptor:V,directory:Z,executable:B,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:me,codecURI:ye}=c,ge={lock:s,versionMadeBy:H,zip64:N,directory:!!Z,executable:!!B,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:j,je:x,ht:z,Ke:F,Ye:R,Ge:D,qe:k,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe};let{crc32:Se,uncompressedSize:be}=c,xe=0;he||(be=0);const{writable:ze}=t;if(e){const r=Ut(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Qt,level:_,rawPassword:M,password:I,encryptionStrength:$,zipCrypto:y&&P,passwordVerification:y&&P&&m>>8&O,computeCrc32:!he,compressed:g&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:me,codecURI:ye,compressionMethod:b},config:o,ie:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await kr({readable:r,writable:ze},s);if(xe=e.outputSize,t.size+=xe,he||(be=e.inputSize,y&&!P||(Se=e.crc32)),!W&&xe>=U||!L&&be>=U)throw new u(Ra)}catch(e){throw e.outputSize!==te&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,bt:n,zt:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{Je:d,encrypted:w}=n,{gt:u,St:f}=s;w&&!o&&!c||e===te||(ii(d,10,e),l&&ii(u,f,e)),i?l&&(oi(u,f+4,a(t)),oi(u,f+12,a(r))):(ii(d,14,t),ii(d,18,r),l&&(ii(u,f+4,t),ii(u,f+8,r)))})({crc32:Se,compressedSize:xe,uncompressedSize:be,bt:l,zt:d},c),V&&await Qa(t,A),r.assign(ge,{uncompressedSize:be,compressedSize:xe,lastModDate:h,rawLastModDate:m,creationDate:C,lastAccessDate:v,encrypted:y,zipCrypto:P,size:w+xe,compressionMethod:b,version:S,Xe:f,Je:p,signature:Se,crc32:!y||P||he?Se:te,st:E,$e:L,Qe:W}),ge})(n,R,k,s,e.config,i),y||(z=!1),o.set(t,k),k.filename=t,y){if(await g.all([R.writable.getWriter().close(),S]),await T(),x=!0,F=c.size,await v(),k.diskNumberStart=Ya(c),k.offset=Ja(e,c),h){const t=s.Ft;ja(s,e.offset-Ga(c)),k.size+=s.Ft-t}(({rawFilename:e,encrypted:t,zip64:r,ht:n,crc32:s,compressedSize:i,uncompressedSize:o,$e:c,Qe:l},d,{dataDescriptor:w,passThrough:u})=>{if(w||((!t||u&&s!==te)&&ii(d,14,s),l||ii(d,18,i),c||ii(d,22,o)),r&&n){const t=Q+li(e)+4;oi(d,t,a(o)),oi(d,t+8,a(i))}})(k,p.ft,i),await Qa(c,p.ut),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=li(e),A+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(R.readable,c,w),c.size+=R.size,x=!1}else k.diskNumberStart=M,k.offset=N;return e.offset+=k.size,k}catch(r){if(x||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=A)}throw o.delete(t),r}finally{if(y&&e.Be--,b&&b(),S&&S(),y&&R&&R.dispose)try{await R.dispose()}catch{}}async function T(){e.xt=!0;const{Et:t}=e;e.Et=new g(t=>S=()=>{e.xt=!1,t()}),await t}async function v(){Xa(c,li(p.ut))&&await c.closeDisk()}})(e,t,n,{bt:y,zt:S,Ft:b},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:d,extraField:w}),new as(p)})(s,e,t,n),c.add(d),await d}catch(t){throw w&&s.Pe.delete(e),t}finally{c.delete(d);const e=Va.shift();e?e():Pa--}}remove(e){const{Pe: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{Ze:n,writer:s}=this,{writable:i}=s;if(li(e)>I)throw new u(fa);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,qe:n,rawComment:s,Ye:a,Ge:i,rawExtraField:o,extendedTimestamp:c,st:l,lastModDate:d,$e:w,Qe:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=U,y=r.diskNumberStart>=I;let g,S;if(m||y||w||f){const e=4+(w?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Ka(e);t.uint16(1),t.uint16(e-4),w&&t.lt(p),f&&t.lt(h),m&&t.lt(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ae;r.je=g,r.et=m,r.nt=y;const b=ei(d);if(c&&ti(b)){const e=Ka(9);e.uint16(q),e.uint16(5),e.uint8(l),e.uint32(b),S=e.array}else S=ae;r.Ke=S;const x=li(g,n,a,i,S,o);if(x>I)throw new u(ba);t+=46+li(e,s)+x}return t})(e.files),{Rt:i,Dt:o}=await(async(e,r,n)=>{const{files:s,writer:a}=e,i=new f(r);await xn(a);let o=0,c=0,l=Ya(a),d=Ga(a);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:w,je:u,qe:f,Ke:p,Ye:h,Ge:m,rawExtraField:y,rawComment:g,versionMadeBy:S,Xe:b,Je:x,$e:z,Qe:F,nt:E,et:R,internalFileAttributes:D,externalFileAttributes:k,diskNumberStart:A,uncompressedSize:T,compressedSize:v}=r,C=li(u,f,p,h,m,y),O=46+li(w,g)+C;Xa(a,o+O-c)&&(await Qa(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=Ya(a),d=Ga(a)),z||ii(x,18,T),F||ii(x,14,v),(R||E)&&45>r.version&&ai(x,0,45);const M=Ka(O);if(M.uint32(W),M.uint16(S),M.bytes(b.subarray(0,24)),M.uint16(C),M.uint16(li(g)),M.uint16(E?I:A),M.uint16(D),M.uint32(k),M.uint32(R?U:t),M.bytes(w),M.bytes(u),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(g),ci(i,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new as(r))}catch{}}return await Qa(a,c?i.slice(c):i),{Rt:{diskNumber:l,diskOffset:d},Dt:i}})(e,s,n),c=await(async(e,t,r)=>{const n=ni(e,r,"signCentralDirectory");if(n){const r=await n(t),s=li(r);if(s>I)throw new u(_a);const a=Ka(6+s);return a.uint32(L),a.uint16(s),a.bytes(r),await Qa(e.writer,a.array),6+s}return 0})(e,o,n);await(async(e,t,r,n)=>{const{writer:s}=e,{Rt:i,kt:o}=n;let{At:c}=n,l=e.files.size,d=i.diskNumber,w=Ja(e,i),f=Ya(s);Xa(s,B)&&f++;let p=ni(e,r,Hn);if(!(U>w&&U>c&&I>l&&I>f)){if(!1===p)throw new u(Ra);p=!0}const h=li(t);if(h>I)throw new u(fa);const m=Ka(p?98:B);Xa(s,li(m.array)+h)&&await s.closeDisk(),f=Ya(s),p&&(m.uint32(V),m.lt(44),m.uint16(45),m.uint16(45),m.uint32(f),m.uint32(d),m.lt(l),m.lt(l),m.lt(c),m.lt(w),m.uint32(Z),m.uint32(f),m.lt(a(Ja(e,s))+a(c)+a(o)),m.uint32(f+1),ni(e,r,"supportZip64SplitFile",!0)&&(f=I,d=I),l=I,w=U,c=U),m.uint32(P),m.uint16(f),m.uint16(d),m.uint16(l),m.uint16(l),m.uint32(c),m.uint32(w),m.uint16(h),await Qa(s,m.array),h&&await Qa(s,t)})(e,r,n,{Rt:i,At:s,kt:c})})(this,e,r),ni(this,r,ps)||await i.getWriter().close(),s.getData?s.getData():i}}function Ba(e,t,r){e.Ze.add(t),t.catch(e=>{try{r(e)}catch{}})}function Ha(e){if(!e)return ae;let t=0,r=0;e.forEach(e=>t+=4+li(e));const n=new f(t),s=Le(n);return e.forEach((e,t)=>{if(t>I)throw new u(Sa);if(li(e)>I)throw new u(ba);ai(s,r,t),ai(s,r+2,li(e)),ci(n,e,r+4),r+=4+li(e)}),n}function ja(e,t){const{bt:r}=e;let{ut:n,extraFieldLength:s}=r,a=64-(t+li(n))%64;4>a&&(a+=64);const i=new f(a),o=Le(i);ai(o,0,6534),ai(o,2,a-4);const c=n;r.ut=n=new f(li(c)+a),ci(n,c),ci(n,i,li(c));const l=Le(n);ai(l,28,s+a),r.ft=l,e.Ft+=a}function qa(e){if(e===te)return ae;{const t=new f(4);Le(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Ka(e){const t=new f(e),r=Le(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{ai(r,n,e),n+=2},uint32:e=>{ii(r,n,e),n+=4},lt:e=>{oi(r,n,a(e)),n+=8},bytes:e=>{ci(t,e,n),n+=li(e)},wt:e=>n+=e}}function Ya(e){const{diskNumber:t=0}=e;return t}function Ga(e){const{diskOffset:t=0}=e;return t}function Xa(e,t){const{availableSize:r=re}=e;return t>r}function Ja(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function Qa(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=li(t),await n.write(t)}finally{n.releaseLock()}}function $a(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return Fa>t?Fa:t>Ea?Ea:t}}function ei(e){return i.floor(e.getTime()/1e3)}function ti(e){return e>=xa&&za>=e}function ri(e){return i.min(za,i.max(xa,e))}function ni(e,t,r,n){const s=t[r]===te?e.options[r]:t[r];return s===te?n:s}function si(e){return e+5*(i.floor(e/16383)+1)}function ai(e,t,r){e.setUint16(t,r,!0)}function ii(e,t,r){e.setUint32(t,r,!0)}function oi(e,t,r){e.setBigUint64(t,r,!0)}function ci(e,t,r){e.set(t,r)}function li(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function di({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,Qe:c,$e:l,extraFieldLength:d}){const w=Ka(26),u=w.array,f=Le(u);if(w.uint16(e),w.uint16(t),w.uint16(r),i===te){const e=new h(1),t=Le(e);ai(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),ai(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return w.uint32(i),w.wt(4),c||s!==te?w.uint32(c?U:s):w.wt(4),l||n!==te?w.uint32(l?U:n):w.wt(4),w.uint16(li(o)),w.uint16(d),{Xe:u,Je:f,rawLastModDate:i}}function wi(e,t,r,n,s){let a=0;return t&&(a|=K),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 ui=1048576,fi=".zip.js-temp",pi=1048576,hi=1048576,mi=".zip.js-temp",yi="createSyncAccessHandle is only available in dedicated workers";try{(e=>{e=fe(e);for(const t of ce){const r=e[t];r!==te&&(oe[t]=r)}ue(e)})({baseURI:void 0===x&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===x?location.href:C&&"SCRIPT"===C.tagName.toUpperCase()&&C.src||new w("zip-core.min.js",x.baseURI).href})}catch{}e.BlobReader=Xr,e.BlobWriter=Jr,e.Data64URIReader=class extends qr{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:i.floor(.75*(t-n))})}readUint8Array(e,t){const{Tt:r,dataURI:n}=this,s=new f(t),a=4*i.floor(e/3),o=atob(n.substring(a+r,4*i.ceil((e+t)/3)+r)),c=e-3*i.floor(a/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 Kr{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*i.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+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=Cs,e.ERR_BAD_FORMAT=bs,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Fs,e.ERR_DUPLICATED_NAME=ua,e.ERR_ENCRYPTED=Ds,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Us,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=zs,e.ERR_EOCDR_NOT_FOUND=xs,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Rs,e.ERR_HTTP_RANGE=Or,e.ERR_HTTP_RESOURCE_CHANGED=Mr,e.ERR_INVALID_AUTHENTICATION_CODE=qe,e.ERR_INVALID_CODEC_DEFINITION=pe,e.ERR_INVALID_CODEC_MODULE=me,e.ERR_INVALID_COMMENT=fa,e.ERR_INVALID_COMPRESSED_DATA=Mt,e.ERR_INVALID_CRC32=_t,e.ERR_INVALID_ENCRYPTION_STRENGTH=ya,e.ERR_INVALID_ENTRY_COMMENT=pa,e.ERR_INVALID_ENTRY_NAME=ha,e.ERR_INVALID_EXTRAFIELD_DATA=ba,e.ERR_INVALID_EXTRAFIELD_TYPE=Sa,e.ERR_INVALID_GID=va,e.ERR_INVALID_MSDOS_ATTRIBUTES=Oa,e.ERR_INVALID_MSDOS_DATA=Ma,e.ERR_INVALID_PASSWORD=He,e.ERR_INVALID_SIGNATURE=je,e.ERR_INVALID_SIGNATURE_DATA=_a,e.ERR_INVALID_UID=Ta,e.ERR_INVALID_UNCOMPRESSED_SIZE=Ot,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Ua,e.ERR_INVALID_UNIX_ID_SIZE=Ia,e.ERR_INVALID_UNIX_MODE=Ca,e.ERR_INVALID_VERSION=ma,e.ERR_ITERATOR_COMPLETED_TOO_SOON=_r,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Es,e.ERR_OVERLAPPING_ENTRY=vs,e.ERR_RESERVED_COMPRESSION_METHOD=he,e.ERR_SPLIT_ZIP_FILE=Ts,e.ERR_UNDEFINED_READER=ka,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Da,e.ERR_UNSUPPORTED_COMPRESSION=As,e.ERR_UNSUPPORTED_CONTEXT=yi,e.ERR_UNSUPPORTED_CRYPTO_API=Ye,e.ERR_UNSUPPORTED_ENCRYPTION=ks,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=ga,e.ERR_UNSUPPORTED_FORMAT=Ra,e.ERR_WORKER_STARTUP_TIMEOUT=sr,e.ERR_WRITER_NOT_INITIALIZED=Nr,e.ERR_ZIP_NOT_EMPTY=Aa,e.HttpRangeReader=class extends mn{constructor(e,t={}){super(e,r.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=mn,e.Reader=qr,e.SplitDataReader=yn,e.SplitDataWriter=gn,e.TextReader=class extends Xr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Jr{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 g((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends qr{constructor(e){super(),e=new f(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 Kr{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(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 f(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=Kr,e.ZipReader=Ns,e.ZipReaderStream=Ls,e.ZipWriter=Za,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new E;this.readable=t,this.zipWriter=new Za(r,e),this.Ze=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 Ba(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 Ba(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,r={}){return await g.all(t.from(this.Ze)),this.zipWriter.close(e,r)}},e.configure=ue,e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=pi}=e;return()=>{const e=[];let r,n,s,a=0,i=!1;const o=new D({async write(s){i?await r.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;n=new d(t.readable).blob(),r=t.writable.getWriter(),i=!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 R({async pull(t){if(i){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:t=ui,directoryName:r=fi,getDirectory:n=()=>T.storage.getDirectory()}=e;let s;function a(){return s||(s=g.resolve(n()).then(e=>e.getDirectoryHandle(r,{create:!0}))),s}return()=>{const e=[];let r,n,s,i,o=0,c=!1;const l=new D({async write(i){c?await s.write(i):(e.push(i),o+=i.length,o>t&&await(async()=>{const t=await a();r=z.randomUUID(),n=await t.getFileHandle(r,{create:!0}),s=(await n.createWritable()).getWriter(),c=!0;for(const t of e)await s.write(t);e.length=0})())},async close(){s&&(await s.close(),s=null)}});let d=0;return{writable:l,readable:new R({async pull(t){if(c){if(!i){const e=await n.getFile();i=e.stream().getReader()}const{value:e,done:r}=await i.read();r?t.close():t.enqueue(e)}else d<e.length?t.enqueue(e[d++]):t.close()},async cancel(e){i&&await i.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(s){try{await s.close()}catch{}s=null}if(r){try{const e=await a();await e.removeEntry(r)}catch{}n=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:t=hi,directoryName:r=mi,getDirectory:n}=e;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new u(yi);const s=n||(()=>T.storage.getDirectory());let a;function o(){return a||(a=g.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,n,s=0,a=!1,c=0,l=0;const d=new D({async write(i){a?(n.write(i,{at:c}),c+=i.length):(e.push(i),s+=i.length,s>t&&await(async()=>{const t=await o();r=z.randomUUID();const s=await t.getFileHandle(r,{create:!0});n=await s.createSyncAccessHandle(),a=!0;for(const t of e)n.write(t,{at:c}),c+=t.length;e.length=0})())},close(){n&&n.flush()}});let w=0;return{writable:d,readable:new R({pull(t){if(a){const e=c-l;if(0>=e)return void t.close();const r=new f(i.min(524288,e)),s=n.read(r,{at:l});s?(l+=s,t.enqueue(r.subarray(0,s))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const e=await o();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:r,codecURI:n,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||0>t||t>I||typeof r!=ye||!r.length)throw new u(pe);if(ge.includes(t))throw new u(he);const c=typeof a==se||typeof i==se;if(!(c||typeof n==ye&&n.length))throw new u(pe);Se.set(t,{compressionMethod:t,format:r,codecURI:n,versionNeeded:o}),c&&Fe(r,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of ce)delete le[e];r.assign(le,oe)},e.terminateWorkers=async()=>{await g.allSettled(zr.map(e=>(Ur(e),e.terminate()))),ar=te,lr=!1},e.unregisterCodec=e=>{const t=Se.get(e);if(t){let r;Se.delete(e),Se.forEach(e=>r=r||e.format==t.format),r||be.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:i,Date:o,Map:c,Set:l,Response:d,URL:w,Error:u,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:S,TextDecoder:b,document:x,crypto:z,btoa:F,TransformStream:E,ReadableStream:R,WritableStream:D,CompressionStream:k,DecompressionStream:A,navigator:T,Worker:v}="undefined"!=typeof globalThis?globalThis:this||self;var C=void 0!==x?x.currentScript:null;const U=4294967295,I=65535,O=255,M=67324752,_=134695760,N=_,L=84233040,W=33639248,P=101010256,V=101075792,Z=117853008,B=22,H=20,j=56,q=21589,K=2048,Y=16384,G=2048,X=1024,J="/",Q=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",ae=new f;let ie=2;try{typeof T!=ne&&T.hardwareConcurrency&&(ie=T.hardwareConcurrency)}catch{}const oe={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ie,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof k!=ne&&k,DecompressionStream:typeof A!=ne&&A},ce=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],le={...oe};function de(){return le}function we(e){return i.max(e.chunkSize,64)}function ue(e){e=fe(e);for(const t of ce){const r=e[t];r!==te&&(le[t]=r)}}function fe(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}const pe="Invalid codec definition",he="Reserved compression method",me="Invalid codec module",ye="string",ge=[0,8,9,99],Se=new c,be=new c;function xe(e){return Se.get(e)}function ze(e){return be.get(e)}function Fe(e,t){const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=se&&typeof n!=se)throw new u(me);be.set(e,{CompressionStream:r,DecompressionStream:n})}const Ee=[[],[],[],[],[],[],[],[]];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;Ee[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=Ee[t-1][e];Ee[t][e]=r>>>8^Ee[0][255&r]}const[Re,De,ke,Ae,Te,ve,Ce,Ue]=Ee;class Ie{constructor(e){this.o=e||-1}append(e){let t=0|this.o;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=Ue[255&e]^Ce[e>>>8&255]^ve[e>>>16&255]^Te[e>>>24&255]^Ae[255&r]^ke[r>>>8&255]^De[r>>>16&255]^Re[r>>>24&255]}}for(;r>n;n++)t=t>>>8^Re[255&(t^e[n])];this.o=t}get(){return~this.o}}class Oe extends E{constructor(){let e;const t=new Ie;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Me(e){if(typeof S==ne){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new S).encode(e)}function _e(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Ne(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function Le(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const We={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=We.l(r);return 32===n?e.concat(t):We.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)+We.l(r)},m(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=We.S(t,e[r-1]&2147483648>>t-1,1)),e},S:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,l:e=>i.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,a=We.l(s);return n.push(We.S(t+a&31,t+a>32?r:n.pop(),1)),n}},Pe={bytes:{F(e){const t=We.bitLength(e)/8,r=new f(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(We.S(8*(3&r),n)),t}}},Ve=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.T=e.T.slice(0),t.v=e.v.slice(0),t.C=e.C):t.reset()}reset(){const e=this;return e.T=e.D.slice(0),e.v=[],e.C=0,e}update(e){const t=this;"string"==typeof e&&(e=Pe.U.R(e));const r=t.v=We.concat(t.v,e),n=t.C,s=t.C=n+We.bitLength(e);if(s>9007199254740991)throw new u("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.I(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}O(){const e=this;let t=e.v;const r=e.T;t=We.concat(t,[We.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.C/4294967296)),t.push(0|e.C);t.length;)e.I(t.splice(0,16));return e.reset(),r}M(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}_(e,t){return t<<e|t>>>32-e}I(e){const r=this,n=r.T,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],o=n[1],c=n[2],l=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r._(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r._(5,a)+r.M(e,o,c,l)+d+s[e]+r.A[i.floor(e/20)]|0;d=l,l=c,c=r._(30,o),o=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+l|0,n[4]=n[4]+d|0}},Ze={importKey:e=>new Ze.N(Pe.bytes.R(e)),L(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new u("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),w=new m(d);let f=0;const p=We;for(t=Pe.bytes.R(t),l=1;(s||1)>f;l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;r>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>f&&o<a.length;o++)w.setInt32(f,a[o]),f+=4}return d.slice(0,n/8)},N:class{constructor(e){const t=this,r=t.W=Ve,n=[[],[]];t.P=[new r,new r];const s=t.P[0].blockSize/32;e.length>s&&(e=(new r).update(e).O());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.P[0].update(n[0]),t.P[1].update(n[1]),t.V=new r(t.P[0])}reset(){const e=this;e.V=new e.W(e.P[0]),e.Z=!1}update(e){this.Z=!0,this.V.update(e)}digest(){const e=this,t=e.V.O(),r=new e.W(e.P[1]).update(t).O();return e.reset(),r}encrypt(e){if(this.Z)throw new u("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Be=typeof z!=ne&&typeof z.getRandomValues==se,He="Invalid password",je="Invalid signature",qe=je,Ke="zipjs-abort-check-password",Ye="Crypto API not supported";function Ge(e){if(Be)return z.getRandomValues(e);throw new u(Ye)}const Xe=16,Je={name:"PBKDF2"},Qe=r.assign({hash:{name:"HMAC"}},Je),$e=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Je),et=["deriveBits"],tt=[8,12,16],rt=[16,24,32],nt=10,st=[0,0,0,0],at=typeof z!=ne,it=at&&z.subtle,ot=at&&typeof it!=ne,ct=Pe.bytes,lt=class{constructor(e){const t=this;t.B=[[[],[],[],[],[]],[[],[],[],[],[]]],t.B[0][0][0]||t.H();const r=t.B[0][4],n=t.B[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new u("invalid aes key size");for(t.A=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[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))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[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.j(e,0)}decrypt(e){return this.j(e,1)}H(){const e=this.B[0],t=this.B[1],r=e[4],n=t[4],s=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,l=s[c=s[o=s[d]]];let w=16843009*l^65537*c^257*o^16843008*d,u=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=u=u<<24^u>>>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)}j(e,t){if(4!==e.length)throw new u("invalid aes block size");const r=this.A[t],n=r.length/4-2,s=[0,0,0,0],a=this.B[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let w,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],S=4;for(let e=0;n>e;e++)w=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&g]^r[S],f=i[m>>>24]^o[y>>16&255]^c[g>>8&255]^l[255&h]^r[S+1],p=i[y>>>24]^o[g>>16&255]^c[h>>8&255]^l[255&m]^r[S+2],g=i[g>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^r[S+3],S+=4,h=w,m=f,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&g]^r[S++],w=h,h=m,m=y,y=g,g=w;return s}},dt=class{constructor(e,t){this.K=e,this.Y=t,this.G=t}reset(){this.G=this.Y}update(e){return this.X(this.K,e,this.G)}J(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}$(e){0===(e[0]=this.J(e[0]))&&(e[1]=this.J(e[1]))}X(e,t,r){let n;if(!(n=t.length))return[];const s=We.bitLength(t);for(let s=0;n>s;s+=4){this.$(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 We.m(t,s)}},wt=Ze.N;let ut=at&&ot&&typeof it.importKey==se,ft=at&&ot&&typeof it.deriveBits==se;class pt extends E{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){mt(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:a,ee:i,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await gt(e,t,r,bt(n,0,tt[t])),a=bt(n,tt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new u(He)})(r,a,s,bt(e,0,tt[a]+2)),e=bt(e,tt[a]+2),n?t.error(new u(Ke)):i()):await o;const c=new f(e.length-nt-(e.length-nt)%Xe);t.enqueue(yt(r,e,c,0,nt,!0))},async flush(e){const{te:t,re:r,pending:n,ready:a}=this;if(r&&t){await a;const i=bt(n,0,n.length-nt),o=bt(n,n.length-nt);let c=ae;if(i.length){const e=zt(ct,i);r.update(e);const n=t.update(e);c=xt(ct,n)}const l=bt(xt(ct,r.digest()),0,nt);let d=n.length<nt?1:0;for(let e=0;nt>e;e++)d|=l[e]^o[e];if(d&&s)throw new u(qe);e.enqueue(c)}}})}}class ht extends E{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){mt(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,ee:a,ready:i}=r;let o=ae;n?(o=await(async(e,t,r)=>{const n=Ge(new f(tt[t]));return _e(n,await gt(e,t,r,n))})(r,s,n),a()):await i;const c=new f(o.length+e.length-e.length%Xe);c.set(o,0),t.enqueue(yt(r,e,c,o.length,0))},async flush(e){const{te:t,re:r,pending:n,ready:s}=this;if(r&&t){await s;let a=ae;if(n.length){const e=t.update(zt(ct,n));r.update(e),a=xt(ct,e)}const i=xt(ct,r.digest()).slice(0,nt);e.enqueue(_e(a,i))}}})}}function mt(e,t,n,s){r.assign(e,{ready:new g(t=>e.ee=t),password:St(t,n),strength:s-1,pending:ae})}function yt(e,t,r,n,s,a){const{te:i,re:o,pending:c}=e;c.length&&(t=_e(c,t));const l=t.length-s;let d;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(l-l%Xe)),d=0;l-Xe>=d;d+=Xe){const e=zt(ct,bt(t,d,d+Xe));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(xt(ct,s),d+n)}return e.pending=bt(t,d),r}async function gt(e,n,s,a){e.password=null;const i=await(async(e,t,r,n,s)=>{if(!ut)return Ze.importKey(t);try{return await it.importKey("raw",t,r,!1,s)}catch{return ut=!1,Ze.importKey(t)}})(0,s,Qe,0,et),o=await(async(e,t,r)=>{if(!ft)return Ze.L(t,e.salt,$e.iterations,r);try{return await it.deriveBits(e,t,r)}catch{return ft=!1,Ze.L(t,e.salt,$e.iterations,r)}})(r.assign({salt:a},$e),i,8*(2*rt[n]+2)),c=new f(o),l=zt(ct,bt(c,0,rt[n])),d=zt(ct,bt(c,rt[n],2*rt[n])),w=bt(c,2*rt[n]);return r.assign(e,{keys:{key:l,ne:d,passwordVerification:w},te:new dt(new lt(l),t.from(st)),re:new wt(d)}),w}function St(e,t){return t===te?Me(e):t}function bt(e,t,r){return e.subarray(t,r)}function xt(e,t){return e.F(t)}function zt(e,t){return e.R(t)}class Ft extends E{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){Rt(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=Dt(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new u(He);e=e.subarray(12)}n?t.error(new u(Ke)):t.enqueue(Dt(r,e))}})}}class Et extends E{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){Rt(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=Ge(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(kt(r,t),0),s=12}else n=new f(e.length),s=0;n.set(kt(r,e),s),t.enqueue(n)}})}}function Rt(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,se:new Ie(s[0]),ae:new Ie(s[2])}),n)for(let t=0;t<n.length;t++)At(e,n[t]);else for(let r=0;r<t.length;r++)At(e,t.charCodeAt(r))})(e,t,n)}function Dt(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=Tt(e)^t[n],At(e,r[n]);return r}function kt(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=Tt(e)^t[n],At(e,t[n]);return r}function At(e,t){let[,r]=e.keys;e.se.append([t]);const n=~e.se.get();r=Ct(i.imul(Ct(r+vt(n)),134775813)+1),e.ae.append([r>>>24]);const s=~e.ae.get();e.keys=[n,r,s]}function Tt(e){const t=2|e.keys[2];return vt(i.imul(t,1^t)>>>8)}function vt(e){return 255&e}function Ct(e){return 4294967295&e}function Ut(e){if(e instanceof R)return e;const t=e.getReader();return new R({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function It(e,t){if(e=Ut(e),typeof y.prototype.stream!=se||new y([]).stream()instanceof R){const r={};return t&&(r.headers=[["Content-Type",t]]),new d(e,r).blob()}const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,t?{type:t}:{}))}function Ot(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const Mt="Invalid uncompressed size",_t="Invalid compressed data",Nt=je,Lt="deflate-raw",Wt="gzip",Pt=[31,139,8];class Vt extends E{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:d,format:w,compressionMethod:u}=e,f=this;let p,h,y,g=super.readable;const S=w&&ze(w),b=c&&s&&!d&&!S&&(!a||o)&&!(!i||!n);if(a&&!o||!c||b||(p=new Oe,g=Xt(g,p)),s)if(S)g=Jt(g,Yt(S.CompressionStream,w,{level:l,chunkSize:t,compressionMethod:u}));else if(b)y=new Zt,g=Jt(g,new n(Wt)),g=Xt(g,y);else try{g=Gt(g,i,{level:l,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Wt)}catch{throw e}g=Jt(g,t),g=Xt(g,new Zt)}a&&(o?g=Xt(g,new Et(e)):(h=new ht(e),g=Xt(g,h))),Kt(f,g,()=>{a&&!o||!c||(f.crc32=b?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Zt extends E{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=i.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=_e(r,e));const a=s-8,o=i.min(a,r.length);n.enqueue(_e(r.subarray(0,o),e.subarray(0,a-o))),r=_e(r.subarray(o),e.subarray(a-o))},flush(){const t=Le(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Bt extends E{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:d,format:w,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let S,b,x=super.readable;if(a&&(s?x=Xt(x,new Ft(e)):(b=new pt(e),x=Xt(x,b))),c){const e=w&&ze(w);if(e)x=Jt(x,Yt(e.DecompressionStream,w,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{x=Gt(x,l,{chunkSize:t,deflate64:d},n,r)}catch(e){if(d||y===te)throw e;let t;try{t=new n(Wt)}catch{throw e}x=((e,t,r)=>{const n=new Ie;let s,a,i,o=0,c=!1;const l=new g((e,t)=>{a=e,i=t});l.catch(()=>{}),r||a();const d=new E({start(e){const t=new f(10);t.set(Pt),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new f(8),s=Le(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){i(e)}}),w=new E({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():a(),t.enqueue(e)},cancel(e){i(e)}});return e=Xt(e,d),Xt(e=Jt(e,t),w);function p(){h(),s=setTimeout(()=>i(new u(Mt)),5e3)}function h(){clearTimeout(s)}})(x,t,y)}x=(e=>{const t=e.getReader();return new R({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new u(_t);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(x)}i&&(S=new Oe,x=Xt(x,S)),Kt(this,x,()=>{if(i){const e=new m(S.value.buffer);if(o!=e.getUint32(0,!1))throw new u(Nt)}})}}const Ht=new c;function jt(e,t){if(!e)return!1;let r=Ht.get(e);r||(r=new c,Ht.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 qt(e){return jt(e,Lt)}function Kt(e,t,n){t=Xt(t,new E({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Yt(e,t,r){if(!e)throw new u("Compression method not supported");return new e(t,r)}function Gt(e,t,r,n,s){const a=t&&n?n:s||n,i=r.deflate64?"deflate64-raw":Lt;let o;try{o=new a(i,r)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,r)}return Jt(e,o)}function Xt(e,t){return Ut(e).pipeThrough(t)}function Jt(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 Qt="data",$t="deflate",er="inflate";class tr extends E{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith($t)?a=Vt:s.startsWith(er)&&(a=Bt),n.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:i})}}),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 u(Mt)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:i})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class rr extends E{constructor(e){const t=[];let r=0;function n(){const n=new f(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 f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const nr={type:"module"},sr="error",ar="Worker startup timeout";let ir,or,cr,lr,dr,wr=!0;try{wr=typeof structuredClone==se&&structuredClone(new DOMException("","AbortError")).code!==te}catch{}class ur{constructor(e,{readable:t,writable:n},{options:s,config:a,ie:i,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:d},w){const{signal:u}=i;return dr&&(d=te),r.assign(e,{oe:!0,ce:(e.ce||0)+1,readable:t.pipeThrough(new rr(we(a))).pipeThrough(new fr(i),{signal:u}),writable:n,options:r.assign({},s),workerURI:l,createWorker:d,transferStreams:c,terminate:()=>new g(t=>{const{le:r,oe:n}=e;r?(n?e.de=t:(r.terminate(),t()),e.we=null):t()}),ue(){if(e.oe){const{de:t}=e;t&&(e.de=null,e.fe=!0,e.le.terminate(),t()),e.oe=!1,w(e)}}}),ir===te&&(ir=typeof v!=ne),(o&&(ir&&l||d)?mr:hr)(e,a)}}class fr extends E{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await pr(e,r)},async transform(e,n){s+=e.length,t&&await pr(t,s,r),n.enqueue(e)},async flush(){n&&await pr(n,s)}})}}async function pr(e,...t){try{await e(...t)}catch{}}function hr(e,t){return{run:()=>yr(e,t)}}function mr(e,t){const{baseURI:n,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.we){let c;typeof o==se&&(o=o());try{c=Sr(e.workerURI,n,e)}catch{return e.createWorker?dr=!0:ir=!1,hr(e,t)}r.assign(e,{le:c,pe:!1,fe:!1,we:{run:async()=>{try{return await(async(e,t)=>{let n,a;const i=new g((e,t)=>{n=e,a=t});r.assign(e,{reader:null,writer:null,he:n,me:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:d,ye: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,ye:()=>t.abort()}})(e.writable);let f;try{f=zr({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){w();try{await d}catch{}throw e.ue(),t}f||r.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;e.pe||!s.isFinite(p)||0>p||(e.ge=setTimeout(()=>(e=>{if(e.ge=null,e.pe)return;const{me:t,writer:r}=e;if(gr(e),e.le=null,t){const e=new u(ar);e.Se=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await i;return await h(),await d,e}catch(e){await h(),w();try{await d}catch{}throw e}async function h(){if(!f&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:n,workerStartupTimeout:i})}catch(r){if(r&&r.Se){e.createWorker?dr=!0:ir=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,yr(e,t)}throw r}}}})}return e.we}async function yr({options:e,readable:t,writable:r,ue:n},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith($t),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.be&&!qt(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.be||(e.useCompressionStream=!0)}}a=new tr(e,s),await t.pipeThrough(a).pipeThrough(new rr(we(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:i,outputSize:o}=a;return{crc32:n,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{n()}}function gr(e){const{le:t}=e;if(t)try{t.terminate()}catch{}e.we=null}function Sr(e,t,n,s,a=!0){const{createWorker:i}=n;let o,c,l;if(i)o=i();else if(cr===te||or!==e){const r=typeof e==se;c=r?e(a):e;const i=c.startsWith("data:"),d=c.startsWith("blob:");if(i||d){s===te&&(s=!1),s&&(l=nr);try{o=new v(c,l)}catch(a){if(d)try{w.revokeObjectURL(c)}catch{}if(r&&d)return Sr(e,t,n,s,!1);if(s)throw a;return Sr(e,t,n,!0,!1)}}else{s===te&&(s=!0),s&&(l=nr);try{c=new w(c,t)}catch{}try{o=new v(c,l)}catch(r){if(s)throw r;return Sr(e,t,n,!1,a)}}or=e,cr=c,lr=l}else o=new v(cr,lr);return o.addEventListener("message",e=>{n.pe=!0,br(n),(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,he:d,me:w,ue:p,ce:h}=t,m=()=>t.ce!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:a,cause:i}=o,c=new u(e);r.assign(c,{stack:t,code:n,name:s,outputSize:a}),i&&(c.cause=r.assign(new u(i.message),{name:i.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||zr({type:Qt,value:e,done:r,messageId:a},t)}n==Qt&&(await l.ready,await l.write(new f(s)),m()||zr({type:"ack",messageId:a},t)),"close"==n&&y(null,i)}}catch(o){m()||(gr(t),y(o))}function y(e,t){m()||(e?w(e):d(t),l&&l.releaseLock(),p())}})(e,n)}),o.addEventListener(sr,e=>xr(e,n)),o.addEventListener("messageerror",e=>xr(e,n)),o}function br(e){const{ge:t}=e;t&&(clearTimeout(t),e.ge=null)}function xr(e,t){e.preventDefault&&e.preventDefault(),br(t);const{pe:n,me:s,writer:a,ue:i}=t;if(gr(t),n||(t.le=null),s){let t=e.error||new u(e.message||sr);n||(t=r.assign(new u(t.message||sr),{Se:!0})),s(t),a&&a.releaseLock(),n&&i()}}function zr(e,{le:t,writer:r,transferStreams:n,pe:s}){try{const{value:r,readable:a,writable:i}=e,o=[];if(r&&(e.value=Ne(r),o.push(e.value.buffer)),n&&wr&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{wr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let Fr=[];const Er=[];let Rr,Dr,kr=0;async function Ar(e,t){const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:d,encrypted:u,format:f,codecURI:p}=r,{workerURI:h,createWorker:m,maxWorkers:y}=n;f&&(p&&(r.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(p,n.baseURI)),await(async(e,t)=>{!be.has(e)&&t&&Fe(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(f,r.codecURI)),t.transferStreams=a||a===te&&n.transferStreams;const S=!(c||l||d||u),b=f===te||!!r.codecURI;return t.useWebWorkers=!S&&b&&(i||i===te&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:te,t.createWorker=t.useWebWorkers&&m?m:te,r.useCompressionStream=o||o===te&&n.useCompressionStream,(await(async()=>{const r=Fr.find(e=>!e.oe);if(r)return Ir(r),new ur(r,e,t,x);if(Fr.length<y){const r={xe:kr};return kr++,Fr.push(r),new ur(r,e,t,x)}return new g(r=>{Er.push({resolve:r,stream:e,ze:t}),Dr=n.workerStarvationTimeout,Tr()})})()).run();function x(e){if(vr(),Er.length){const[{resolve:t,stream:r,ze:n}]=Er.splice(0,1);t(new ur(e,r,n,x)),Tr()}else e.le?(Ir(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.fe?e.fe=!1:e.Fe=setTimeout(async()=>{Fr=Fr.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):Fr=Fr.filter(t=>t!=e)}}function Tr(){!Rr&&Er.length&&s.isFinite(Dr)&&Dr>=0&&(Rr=setTimeout(Cr,Dr))}function vr(){Rr&&(clearTimeout(Rr),Rr=null)}function Cr(){if(Rr=null,Er.length){const[{resolve:e,stream:t,ze:n}]=Er.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:te,createWorker:te});e(new ur({},t,s,Ur)),Tr()}}function Ur(){vr(),Tr()}function Ir(e){const{Fe:t}=e;t&&(clearTimeout(t),e.Fe=null)}const Or="HTTP error ",Mr="HTTP Range not supported",_r="HTTP resource changed",Nr="Writer iterator completed too soon",Lr="Writer not initialized",Wr="Content-Range",Pr="Range",Vr="GET",Zr="bytes",Br=16777216,Hr="writable",jr=Symbol();class qr{constructor(){this.size=0}init(){this.initialized=!0}}class Kr extends qr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=we(de())}={}){const n=this;let s=0;return new R({async pull(a){const o=t===te?r:i.min(r,t-s),c=await Fn(n,e+s,o);a.enqueue(c),s+r>t||t===te&&!c.length&&o?a.close():s+=r}})}}class Yr extends qr{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new u(Lr);return e.writeUint8Array(Ne(t))}});r.defineProperty(e,Hr,{get:()=>t})}writeUint8Array(){}}let Gr,Xr;class Jr extends Kr{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Xr||(Xr=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();Gr=1==t}catch{Gr=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Gr?Ut(t.slice(n,n+s).stream()):super.createReadable(e):Ut(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 f(a)}}class Qr extends qr{constructor(e){super();const t=this,n=new E;r.defineProperty(t,Hr,{get:()=>n.writable}),t.blob=It(n.readable,e),t.blob.catch(()=>{})}getData(){return this.blob}}class $r extends Kr{constructor(e,t){super(),tn(this,e,t)}async init(){await rn(this,hn,wn),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,o=0,c=r;return new R({start:()=>l(),async pull(e){n||await l();const{value:t,done:r}=await n.read();if(r)throw new u(Mr);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=i.min(e.maximumRangeSize,c),r=await hn(Vr,e,ln(e,a,t));if(206!=r.status)throw new u(Mr);const l=r.headers.get(Wr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new u(Mr)}cn(e,r),on(e,r),a+=t,o=t,n=r.body.getReader()}})(t,r,i.min(n,a-r))}return super.createReadable(e)}readUint8Array(e,t){return nn(this,e,t,hn,wn)}}class en extends Kr{constructor(e,t){super(),tn(this,e,t)}async init(){await rn(this,mn,un),super.init()}readUint8Array(e,t){return nn(this,e,t,mn,un)}}function tn(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=Br,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:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function rn(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=de(),{protocol:r}=new w(e,t);return"http:"==r||"https:"==r})(n)&&(a||i)&&(void 0===s||s)){const n=await t(Vr,e,ln(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Zr))throw new u(Mr);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==B&&(e.Ee=t)}on(e,n);const s=sn(n);s===te?await pn(e,t,r):e.size=s}}else await pn(e,t,r)}async function nn(e,t,r,n,a){const{useRangeHeader:i,forceRangeRequests:o,Ee:c,size:l,options:d}=e;if(i||o){if(c&&t==l-B&&r==B)return c;if(l>t&&0!==r){t+r>l&&(r=l-t);const a=await n(Vr,e,ln(e,t,r));if(206!=a.status)throw new u(Mr);const i=a.headers.get(Wr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new u(Mr)}cn(e,a),on(e,a);const o=new f(await a.arrayBuffer());if(o.length!=r)throw new u(Mr);return o}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(Wr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function an({headers:e}){return{Re:e.get("Etag")||te,lastModified:e.get("Last-Modified")||te}}function on(e,t){const{checkResourceChanges:r,De:n}=e;r&&!n&&206==t.status&&(e.De=an(t))}function cn(e,t){const{checkResourceChanges:n,De:s,size:a}=e;if(n){const e=sn(t);if(e!==te&&a!==te&&e!=a)throw new u(_r);if(s){const e=an(t);if(r.entries(s).some(([t,r])=>r!==te&&e[t]!==te&&r!=e[t]))throw new u(_r)}}}function ln(e,t=0,n=1){return r.assign({},dn(e),{[Pr]:Zr+"="+(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 wn(e){await fn(e,hn)}async function un(e){await fn(e,mn)}async function fn(e,t){const r=await t(Vr,e,dn(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function pn(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 hn(e,{fetch:t=fetch,options:n,url:s},a){const i=await t(s,r.assign({},n,{method:e,headers:a}));if(400>i.status)return i;throw 416==i.status?new u(Mr):new u(Or+(i.statusText||i.status))}function mn(e,{url:t},n){return new g((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.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:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new u(Mr):new u(Or+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new u("Network error")),!1),i.open(e,t),n)for(const e of r.entries(n))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class yn extends Kr{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new en(e,t):new $r(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 gn extends Kr{constructor(e){super(),this.ke=e}async init(){const e=this,{ke:t}=e;e.Ae=0,await g.all(t.map(e=>zn(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,{ke:n}=this;let s,a=0,o=e;for(;n[a]&&o>=n[a].size;)o-=n[a].size,a++;const c=n[a];if(c){const n=c.size;if(o+t>n){const a=n-o;s=_e(await Fn(c,o,a),await r.readUint8Array(e+a,t-a))}else s=await Fn(c,o,t)}else s=ae;return r.Ae=i.max(a,r.Ae),s}}class Sn extends qr{constructor(e,t=4294967295){super();const n=this;let s,a,i;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===jr)return void(i&&await l());const{availableSize:r}=n;if(i)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 u(Nr);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await zn(s),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await d())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,n.availableSize-=t)}async function l(){await d(),n.diskOffset+=s.size,n.diskNumber++,i=null,n.availableSize=n.maxSize}async function d(){await i.close()}r.defineProperty(n,Hr,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(jr)}finally{e.releaseLock()}}}class bn{constructor(e){return t.isArray(e)&&(e=new gn(e)),(e instanceof R||typeof e.getReader==se)&&(e={readable:Ut(e)}),e}}class xn{constructor(e){return e.writable===te&&typeof e.next==se&&(e=new Sn(e)),(e instanceof D||typeof e.getWriter==se)&&(e={writable:Ot(e)}),e.size===te&&(e.size=0),e}}async function zn(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function Fn(e,t,r){return e.readUint8Array(t,r)}const En="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Rn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=En[e[r]];return t}})(e):new b(t,{ignoreBOM:!0}).decode(e)}const Dn="filename",kn="rawFilename",An="comment",Tn="rawComment",vn="uncompressedSize",Cn="compressedSize",Un="offset",In="diskNumberStart",On="lastModDate",Mn="rawLastModDate",_n="lastAccessDate",Nn="rawLastAccessDate",Ln="creationDate",Wn="rawCreationDate",Pn="internalFileAttributes",Vn="externalFileAttributes",Zn="msdosAttributesRaw",Bn="msdosAttributes",Hn="msDosCompatible",jn="zip64",qn="encrypted",Kn="version",Yn="versionMadeBy",Gn="zipCrypto",Xn="directory",Jn="executable",Qn="compressionMethod",$n="signature",es="extraField",ts="unixMode",rs="setuid",ns="setgid",ss="sticky",as=[Dn,kn,vn,Cn,On,Mn,An,Tn,_n,Nn,Ln,Wn,Un,In,Pn,Vn,Zn,Bn,Hn,jn,qn,Kn,Yn,Gn,Xn,Jn,Qn,$n,"crc32",es,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ts,rs,ns,ss,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class is{constructor(e){as.forEach(t=>this[t]=e[t])}}const os="password",cs="rawPassword",ls="passThrough",ds="signal",ws="checkAmbiguity",us="useWebWorkers",fs="useCompressionStream",ps="transferStreams",hs="preventClose",ms="offset",ys="usdz",gs="strictness",Ss="strict",bs="tolerant",xs="File format is not recognized",zs="End of central directory not found",Fs="End of Zip64 central directory locator not found",Es="Central directory header not found",Rs="Local file header not found",Ds="Zip64 extra field not found",ks="File contains encrypted entry",As="Encryption method not supported",Ts="Compression method not supported",vs="Split zip file",Cs="Overlapping entry found",Us="Ambiguous archive",Is="Encrypted central directory is not supported",Os="utf-8",Ms="cp437",_s=[[vn,U],[Cn,U],[Un,U],[In,I]],Ns={[I]:{Ce:da,bytes:4},[U]:{Ce:wa,bytes:8}};class Ls{constructor(e,t={}){r.assign(this,{reader:new bn(e),options:t,config:de(),Ue:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:a}=t;if(await zn(n),n.size!==te&&n.readUint8Array||(n=new Jr(await It(n.readable)),await zn(n)),n.size<B)throw new u(xs);const o=Gs(aa(t,e,gs),aa(t,e,ws)),c=o==Ss,d=o!=bs,w=((e,t)=>e!==te?e:t==Ss?0:t==bs?1/0:I)(aa(t,e,"maxAppendedDataSize"),o),{Ie:f,Oe:p}=await(async(e,t,r)=>{const{size:n}=e,s=i.min(n,65557),a={count:Xs};let o,c,l=0;for await(const[r,i,d,w,u]of ea(e,s)){const s=la(r,w+20);if(u+B+s==n){const s=await ra(e,r,i,w,u,n,a);if(s==$s){if(o||(o=ta(d,w,u)),l++,!t||l>1)break}else s!=Qs||c||(c=ta(d,w,u))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=i.min(n,t==1/0?n:65557+t);let a,o;for await(const[t,i,c,l,d]of ea(e,s)){const s=ta(c,l,d);a||(a=s);const w=await ra(e,t,i,l,d,n,r);if(w==$s)return s;w!=Qs||o||(o=s)}return o||a})(e,r,a)),{Ie:o,Oe:l}})(n,d,w);if(!f)throw da(Le(await Fn(n,0,4)))==_?new u(vs):new u(zs);d&&p>1&&sa("multiple end of central directory records");const h=Le(f);let m=da(h,12),y=da(h,16);const S=f.offset,b=la(h,20),x=S+B+b;n.size-x>w&&sa("appended data");let z=la(h,4);const F=n.Ae||0;let R,D,k,A,T=la(h,6),v=la(h,10),C=0;const M=y==U||m==U||v==I||T==I;if(y!=U&&T!=I&&(y+=Ys(n,T)),M){const e=f.offset<H?ae:await Fn(n,f.offset-H,H),t=Le(e);if(e.length==H&&da(t,0)==Z){y=Ys(n,da(t,4))+wa(t,8);let e=await Fn(n,y,j),a=Le(e);const o=f.offset-H-j;if((e.length<j||da(a,0)!=V)&&y!=o&&o>=0){const t=y;y=o,y>t&&(C=y-t),e=await Fn(n,y,j),a=Le(e)}if(e.length<j||da(a,0)!=V)throw new u(Fs);if(D=!0,k=wa(a,4)>44,k){const e=i.min(s(wa(a,4))-44,n.size-y-j);e>0&&(A=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=Le(e),a=la(n,26);r.assign(t,{compressionMethod:la(n,0),compressedSize:s(wa(n,2)),uncompressedSize:s(wa(n,10)),encryptionAlgorithm:la(n,18),bitLength:la(n,20),flags:la(n,22),hashAlgorithm:la(n,24),hashData:e.subarray(28,28+a)})}return t})(await Fn(n,y+j,e)))}z==I?z=da(a,16):c&&z!=da(a,16)&&sa("mismatched zip64 end of central directory record"),T==I?T=da(a,20):c&&T!=da(a,20)&&sa("mismatched zip64 end of central directory record"),v==I?v=wa(a,32):c&&v!=wa(a,32)&&sa("mismatched zip64 end of central directory record"),m==U?m=wa(a,40):c&&m!=wa(a,40)&&sa("mismatched zip64 end of central directory record"),y=Ys(n,T)+wa(a,48)+C}}let N=m;const P=f.offset-(D?76:0);if(y<n.size||(C=n.size-y-m-B,y=n.size-m-B),F!=z)throw new u(vs);if(0>y)throw new u(xs);let q=0,K=await Fn(n,y,m),Q=Le(K);if(m){if(4>K.length)throw new u(xs);const e=P-m;if(y!=e&&T==z){let t=!(da(Q,q)==W);if(t||0>e||e+4>n.size||(t=da(Le(await Fn(n,e,4)),0)==W),t){const t=y;y=e,y>t&&(C+=y-t),K=await Fn(n,y,m),Q=Le(K)}}}const $=P-y;if(m==$||0>$||T!=z||(m=$,K=await Fn(n,y,m),Q=Le(K)),0>y||y>=n.size)throw new u(xs);t.directoryOffset=y,t.directoryLength=N;const ee=aa(t,e,"decryptCentralDirectory");let re;ee&&v&&K.length>=4&&da(Q,0)!=W&&(k||Vs(Q))&&(K=await ee(K,A),Q=Le(K),N=K.length,re=!0),R=y;const ne=aa(t,e,"filenameEncoding"),se=aa(t,e,"commentEncoding"),ie=c?new l:te;let oe;for(let s=0;v>s;s++){const o=new Ps(n,a,t.options);if(q+46>K.length||da(Q,q)!=W){if(0==s&&!re&&(k||Vs(Q)))throw new u(Is);throw new u(Es)}Zs(o,Q,q+6);const l=!!o.bitFlag.languageEncodingFlag,d=q+46,w=d+o.filenameLength,f=w+o.extraFieldLength,p=la(Q,q+4),h=!(p>>8),m=p>>8==3,y=K.subarray(d,w),S=la(Q,q+32),b=f+S,x=K.subarray(f,b),z=l,F=l,D=da(Q,q+38),A=D&O,T={readOnly:!!(1&A),hidden:!!(2&A),system:!!(4&A),directory:!!(16&A),archive:!!(32&A)},U=da(Q,q+42),M=aa(t,e,"decodeText")||Rn,_=z?Os:ne||Ms,N=F?Os:se||Ms;let L=M(y,_);L===te&&(L=Rn(y,_));let P=M(x,N);P===te&&(P=Rn(x,N)),r.assign(o,{index:s,versionMadeBy:p,msDosCompatible:h,compressedSize:0,uncompressedSize:0,Me:S,offset:U,diskNumberStart:la(Q,q+34),internalFileAttributes:la(Q,q+36),externalFileAttributes:D,msdosAttributesRaw:A,msdosAttributes:T,rawFilename:y,filenameUTF8:z,commentUTF8:F,rawExtraField:K.subarray(w,f),rawComment:x,filename:L,comment:P}),Bs(o,o,Q,q+6),o.offset+=C,R=i.min(Ys(n,o.diskNumberStart)+o.offset,R),c&&(ie.has(o.filename)&&(oe=!0),ie.add(o.filename));const V=o.externalFileAttributes>>16&I;o.unixMode===te&&16877&V&&(o.unixMode=V);const Z=!!(o.unixMode&G),B=!!(o.unixMode&X),H=!!(512&o.unixMode),j=o.unixMode!==te?!!(73&o.unixMode):m&&!!(73&V),$=o.unixMode!==te&&(61440&o.unixMode)==Y,ee=(61440&V)==Y;r.assign(o,{setuid:Z,setgid:B,sticky:H,unixExternalUpper:V,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:j,directory:$||ee||h&&T.directory||o.filename.endsWith(J)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ae=new is(o);ae.getData=(e,r)=>o.getData(e,ae,t.Ue,r),ae.arrayBuffer=async e=>{const r=new E,[n]=await g.all([It(r.readable).then(e=>e.arrayBuffer()),o.getData(r,ae,t.Ue,e)]);return n},q=b;const{onprogress:ce}=e;if(ce)try{await ce(s+1,v,new is(o))}catch{}yield ae}let ce=q;if(q+6<=K.length&&da(Q,q)==L){const e=la(Q,q+4);q+6+e>K.length||(t.digitalSignature=K.subarray(q+6,q+6+e),ce=q+6+e)}c&&q!=N&&ce!=N&&sa("trailing central directory data"),oe&&sa("duplicate filename"),c&&(C||v&&R>0)&&sa("prepended data");const le=aa(t,e,"extractPrependedData"),de=aa(t,e,"extractAppendedData");return le&&(t.prependedData=R>0?await Fn(n,0,R):ae),t.comment=b?await Fn(n,S+B,b):ae,de&&(t.appendedData=x<n.size?await Fn(n,x,n.size-x):ae),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class Ws{constructor(e={}){const{readable:t,writable:r}=new E,n=new Ls(t,e).getEntriesGenerator();this.readable=new R({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 Ps{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:i,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:g,compressedSize:S}=s,{dataDescriptor:b}=p,x=t.localDirectory={},z=Ys(a,c)+o,F=await Fn(a,z,Q),E=Le(F);let R=aa(s,n,os),k=aa(s,n,cs);const A=aa(s,n,ls);if(R=R&&R.length&&R,k=k&&k.length&&k,l&&99!=l.originalCompressionMethod)throw new u(Ts);if(F.length<Q||da(E,0)!=M)throw new u(Rs);Zs(x,E,4);const{extraFieldLength:T,filenameLength:v}=x,C=Gs(aa(s,n,gs),aa(s,n,ws))==Ss;let U=ae;if(C&&(v||T)){const e=await Fn(a,z+Q,v+T);U=e.subarray(0,v),x.rawExtraField=e.subarray(v)}else x.rawExtraField=T?await Fn(a,z+Q+v,T):ae;Bs(s,x,E,4,!0),C&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&sa("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&sa("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&sa("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||sa("mismatched local file header (crc32 or sizes)")})(s,x,U);const{lastAccessDate:I,creationDate:_}=x;I&&(t.lastAccessDate=I),_&&(t.creationDate=_);const L=s.encrypted&&x.encrypted&&!A,W=L&&!l;if(A||(t.zipCrypto=W),L&&!(64&~x.rawBitFlag))throw new u(As);const P=A?te:xe(w);if(0!=w&&8!=w&&9!=w&&!P&&!A)throw new u(Ts);if(L){if(!W&&(1>l.strength||l.strength>3))throw new u(As);if(!R&&!k)throw new u(ks)}const V=z+Q+v+T,Z=S,B=Ut(a.createReadable({offset:V,size:Z})),H=aa(s,n,ds),j=aa(s,n,"checkPasswordOnly");let q=aa(s,n,"checkOverlappingEntry");const K=aa(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:X}=n,J=9==w;let $=aa(s,n,fs);J&&($=!1);const ee=aa(s,n,"checkCrc32"),re=(ee===te?aa(s,n,"checkSignature"):ee)&&!A&&(!L||W||l&&1==l.vendorVersion),ne={options:{codecType:er,password:R,rawPassword:k,zipCrypto:W,encryptionStrength:l&&l.strength,checkCrc32:re,checkAuthenticationCode:aa(s,n,"checkAuthenticationCode"),passwordVerification:W&&(b?y>>>8&O:m>>>24&O),outputSize:A?S:g,crc32:m,compressed:0!=w&&!A,encrypted:L,useWebWorkers:aa(s,n,us),useCompressionStream:$,transferStreams:aa(s,n,ps),deflate64:J,format:P?P.format:te,codecURI:P?P.codecURI:te,compressionMethod:w,rawBitFlag:h,checkPasswordOnly:j},config:f,ie:{signal:H,size:Z,onstart:Y,onprogress:G,onend:X}};let se;q&&await(async({reader:e,_e:t,index:r,offset:n,crc32:s,compressedSize:a,uncompressedSize:i,Ne:o,dataDescriptor:c,extraFieldZip64:l,Ue:d})=>{let w=0;if(c&&(w=l?20:12),w){const r=await Fn(e,o+a,w+4);if(r.length==w+4&&da(Le(r),0)==N){const e=da(Le(r),4);let n,o;l?(n=wa(Le(r),8),o=wa(Le(r),16)):(n=da(Le(r),8),o=da(Le(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==a&&o==i&&(w+=4)}}const f={start:n,end:o+a+w,_e:t};for(const[e,t]of d)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new u(Cs);throw e.Le=t._e,e}d.set(r,f)})({reader:a,_e:t,index:i,offset:z,crc32:m,compressedSize:S,uncompressedSize:g,Ne:V,dataDescriptor:b||x.bitFlag.dataDescriptor,extraFieldZip64:d||x.extraFieldZip64,Ue:r});try{if(!K){j&&(e=new D),e=new xn(e),await zn(e,A?S:g),({writable:se}=e);const{outputSize:t}=await Ar({readable:B,writable:se},ne);if(e.size+=t,t!=(A?S:g))throw new u(Mt)}}catch(t){if(t.outputSize!==te&&(e.size+=t.outputSize),!j||t.message!=Ke)throw t}finally{aa(s,n,hs)||!se||se.locked||await se.getWriter().close()}return j||K?te:e.getData?e.getData():se}}function Vs(e){const t=i.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==da(e,r))return!0;return!1}function Zs(e,t,n){const s=e.rawBitFlag=la(t,n+2),a=!(1&~s),i=da(t,n+6);r.assign(e,{encrypted:a,version:la(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&K)==K},rawLastModDate:i,lastModDate:ia(i),filenameLength:la(t,n+22),extraFieldLength:la(t,n+24)})}function Bs(e,t,n,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Le(i);let w=0;try{for(;w<i.length;){const e=la(d,w),t=la(d,w+2);l.set(e,{type:e,data:i.slice(w+4,w+4+t)}),w+=4+t}}catch{}const f=la(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=Le(e.data),n=_s.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Ns[t].bytes,0);if(e.data.length<s)throw new u(Ds);for(let s=0,a=0;s<n.length;s++){const[i,o]=n[s],c=Ns[o];t[i]=e[i]=c.Ce(r,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(Hs(h,Dn,kn,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(Hs(m,An,Tn,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,n)=>{const s=Le(e.data),a=ca(s,4);r.assign(e,{vendorVersion:ca(s,0),vendorId:ca(s,2),strength:a,originalCompressionMethod:n,compressionMethod:la(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=te)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=l.get(13);g&&(js(g,t),t.extraFieldPkwareUnix=g);const S=l.get(22613);S&&(js(S,t),t.extraFieldUnixType1=S);const b=l.get(10);b&&(((e,t)=>{const n=Le(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=la(n,a),r=la(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=Le(s),a=n.getBigUint64(0,!0),i=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:oa(a),lastAccessDate:oa(i),creationDate:oa(o)};r.assign(e,c),r.assign(t,c)}})(b,t),t.extraFieldNTFS=b);const x=l.get(30805);if(x)qs(x,t,!1),t.extraFieldUnix=x;else{const e=l.get(30837);e&&(qs(e,t,!0),t.extraFieldInfoZip=e)}const z=l.get(q);z&&(((e,t,r)=>{if(!e.data.length)return;const n=Le(e.data),s=ca(n,0),a=[],i=[];r?(1&~s||(a.push(On),i.push(Mn)),2&~s||(a.push(_n),i.push(Nn)),4&~s||(a.push(Ln),i.push(Wn))):5>e.data.length||(a.push(On),i.push(Mn));let c=1;a.forEach((r,s)=>{if(e.data.length>=c+4){const a=da(n,c);t[r]=e[r]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(z,t,a),t.extraFieldExtendedTimestamp=z);const F=l.get(6534);F&&(t.extraFieldUSDZ=F)}function Hs(e,t,n,s,a){if(5>e.data.length)return void(e.valid=!1);const i=Le(e.data),o=new Ie;o.append(a[n]);const c=Le(new f(4));c.setUint32(0,o.get(),!0);const l=da(i,1);r.assign(e,{version:ca(i,0),[t]:Rn(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==da(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function js(e,t){if(8>e.data.length)return;const n=Le(e.data),s={lastAccessDate:new o(1e3*da(n,0)),lastModDate:new o(1e3*da(n,4))};12>e.data.length||(s.uid=la(n,8),s.gid=la(n,10)),r.assign(e,s),r.assign(t,s)}function qs(e,t,n){try{const s=Le(e.data);let a,i;if(n){let t=0;const n=ca(s,t++),o=ca(s,t++);a=Ks(e.data.subarray(t,t+o)),t+=o;const c=ca(s,t++);i=Ks(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:a,gid:i})}else 4>e.data.length||(a=la(s,0),i=la(s,2),r.assign(e,{uid:a,gid:i}));a!==te&&(t.uid=a),i!==te&&(t.gid=i)}catch{}}function Ks(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Ys(e,t){return e.ve?e.ve(t):0}function Gs(e,t){return e===te?t?Ss:"balanced":e}const Xs=64,Js=0,Qs=1,$s=2;async function*ea(e,t){const r=e.size-t,n=await Fn(e,r,t),s=Le(n);for(let e=n.length-B;e>=0;e--)da(s,e)==P&&(yield[s,r,n,e,r+e])}function ta(e,t,r){return{offset:r,buffer:e.slice(t,t+B).buffer}}async function ra(e,t,r,n,s,a,i){const o=la(t,n+10),c=da(t,n+12),l=da(t,n+16);if(o==I||c==U||l==U)return await na(e,t,r,s-H,a,i)==Z?$s:Js;if(!o&&!c)return Qs;const d=la(t,n+6);for(const n of[s-c,Ys(e,d)+l])if(await na(e,t,r,n,a,i)==W)return $s;return Js}async function na(e,t,r,n,s,a){return 0>n||n+4>s?te:r>n?a.count>0?(a.count--,da(Le(await Fn(e,n,4)),0)):te:da(t,n-r)}function sa(e){const t=new u(Us);throw t.reason=e,t}function aa(e,t,r){return t[r]===te?e.options[r]:t[r]}function ia(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 oa(e){return new o(s(e/a(1e4)-a(116444736e5)))}function ca(e,t){return e.getUint8(t)}function la(e,t){return e.getUint16(t,!0)}function da(e,t){return e.getUint32(t,!0)}function wa(e,t){return s(e.getBigUint64(t,!0))}var ua=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Us,ERR_BAD_FORMAT:xs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Es,ERR_ENCRYPTED:ks,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Is,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Fs,ERR_EOCDR_NOT_FOUND:zs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Ds,ERR_INVALID_AUTHENTICATION_CODE:qe,ERR_INVALID_COMPRESSED_DATA:_t,ERR_INVALID_CRC32:Nt,ERR_INVALID_PASSWORD:He,ERR_INVALID_SIGNATURE:je,ERR_INVALID_UNCOMPRESSED_SIZE:Mt,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Rs,ERR_OVERLAPPING_ENTRY:Cs,ERR_SPLIT_ZIP_FILE:vs,ERR_UNSUPPORTED_COMPRESSION:Ts,ERR_UNSUPPORTED_ENCRYPTION:As,ERR_WORKER_STARTUP_TIMEOUT:ar,ZipReader:Ls,ZipReaderStream:Ws});const fa="File already exists",pa="Zip file comment exceeds 64KB",ha="File entry comment exceeds 64KB",ma="File entry name exceeds 64KB",ya="Version exceeds 65535",ga="The strength must equal 1, 2, or 3",Sa="Encryption is not supported in USDZ files",ba="Extra field type exceeds 65535",xa="Extra field data exceeds 64KB",za=-2147483648,Fa=2147483647,Ea=a(0),Ra=a("0x7fffffffffffffff"),Da="Zip64 is not supported (set the 'zip64' option to 'true')",ka="Undefined uncompressed size",Aa="Undefined reader",Ta="Zip file not empty",va="Invalid uid (must be integer 0..2^32-1)",Ca="Invalid gid (must be integer 0..2^32-1)",Ua="Invalid UNIX mode (must be integer 0..65535)",Ia="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Oa="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Ma="Invalid msdosAttributesRaw (must be integer 0..255)",_a="Invalid msdosAttributes (must be an object with boolean flags)",Na="Signature data exceeds 64KB",La=new f([7,0,2,0,65,69,3,0,0]),Wa="infozip",Pa="unix";let Va=0;const Za=[];class Ba{constructor(e,t={}){e=new xn(e);const{availableSize:n=re,maxSize:s=re}=e,a=n>0&&n!==re&&s>0&&s!==re;r.assign(this,{writer:e,We:a,options:t,config:de(),files:new c,Pe:new l,offset:t[ms]===te?e.size||e.writable.size||0:t[ms],Ve:t[ms]===te?0:t[ms]-(e.size||e.writable.size||0),Ze:new l,Be:0,He:te})}async prependZip(e){if(this.Pe.size)throw new u(Ta);e=new bn(e),await zn(e);const{ZipReader:t}=await g.resolve().then(()=>ua),n=new t(e.readable),s=await n.getEntries();await n.close(),await zn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Pe=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:w}=e;let{compressionMethod:u,je:f,qe:p,Ke:h,Ye:m,Ge:y,rawExtraField:g}=e;const{level:S,languageEncodingFlag:b,dataDescriptor:x}=o;f=f||ae,p=p||ae,h=h||ae,m=m||ae,y=y||ae,g=g||ae,e.extraFieldAES&&(u=99);const z=di(f,p,h,m,y,g),F=w&&l>=U,E=w&&d>=U,R=-7&ui(S,b,x,c,u)|S<<1,{Xe:D,Je:k}=wi({version:t,bitFlag:R,compressionMethod:u,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:i,Qe:E,$e:F,extraFieldLength:z}),{crc32:A}=e;return A!==te&&oi(k,10,A),r.assign(e,{$e:F,Qe:E,et:w&&e.offset>=U,diskNumberStart:0,nt:!1,je:f,qe:p,Ke:h,Ye:m,Ge:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,st:1+(s?2:0)+(a?4:0),Xe:D,Je:k}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{Ze:c,config:l}=s;let d,w;Va<l.maxWorkers?Va++:await new g(e=>Za.push(e));try{if(e=e.trim(),si(s,n,Xn)&&!e.endsWith(J)&&(e+=J),s.Pe.has(e))throw new u(fa);return s.Pe.add(e),w=!0,d=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=si(e,r,Hn),s=si(e,r,Yn,n?20:768);const a=si(e,r,Jn),i=si(e,r,"uid"),o=si(e,r,"gid");let c=si(e,r,ts),l=si(e,r,"unixExtraFieldType"),d=si(e,r,rs),w=si(e,r,ns),f=si(e,r,ss);if(i!==te&&(0>i||i>U))throw new u(va);if(o!==te&&(0>o||o>U))throw new u(Ca);if(c!==te&&(0>c||c>I))throw new u(Ua);if(l!==te&&l!==Wa&&l!==Pa)throw new u(Ia);if(l===Pa&&(i!==te&&i>I||o!==te&&o>I))throw new u(Oa);l!==te||i===te&&o===te||(l=Wa);let p=si(e,r,Zn),h=si(e,r,Bn);const m=p!==te||h!==te;if(i!==te||o!==te||c!==te||l?(n=!1,s=s&I|768):m&&(n=!0,s&=O),p!==te&&(0>p||p>O))throw new u(Ma);if(h&&"object"!=typeof h)throw new u(_a);if(s>I)throw new u(ya);let y=si(e,r,Vn);const g=y!==te;g||(y=0),!r[Xn]&&t.endsWith(J)&&(r[Xn]=!0);const S=si(e,r,Xn);let b;if(S?(t.endsWith(J)||(t+=J),g||(y=16,n||(y|=16877<<16))):n||g||(y=a?493<<16:27525120),!n){const e=c!==te||!!(d||w||f);b=y>>16&I,c=c===te?b:c&I,d?c|=G:d=!!(c&G),w?c|=X:w=!!(c&X),f?c|=512:f=!!(512&c),g&&!e||(S&&(c|=Y),y=(c&I)<<16|y&I)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==te)e&=O;else if(t!==te){const{readOnly:r,hidden:n,system:s,directory:a,archive:i}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&O}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&U|p&O),{name:t,it:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:b,uid:i,gid:o,unixMode:c,unixExtraFieldType:l,setuid:d,setgid:w,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const l=((e,t,r)=>{const n=si(e,r,"encodeText",Me);let s=n(t);if(s===te&&(s=Me(t)),di(s)>I)throw new u(ma);const a=r[An]||"";let i=n(a);if(i===te&&(i=Me(a)),di(i)>I)throw new u(ha);const c=si(e,r,Kn,20);if(c>I)throw new u(ya);const l=si(e,r,On,new o),d=si(e,r,_n),w=si(e,r,Ln),f=si(e,r,Pn,0),p=si(e,r,ls);let h,m;p||(h=si(e,r,os),m=si(e,r,cs));const y=si(e,r,"encryptionStrength",3),g=si(e,r,Gn),S=si(e,r,"extendedTimestamp",!0),b=si(e,r,"ntfsTimestamp"),x=si(e,r,"keepOrder",!0),z=si(e,r,us),F=si(e,r,ps),E=si(e,r,"bufferedWrite"),R=si(e,r,"createTempStream"),D=si(e,r,"dataDescriptorSignature",!0),k=si(e,r,ds),A=si(e,r,"useUnicodeFileNames",!0),T=si(e,r,Qn),v=p||T===te?te:xe(T);if(!p&&T!==te&&0!==T&&8!==T&&!v)throw new u("Compression method not supported");let C=si(e,r,"level");if(e.options[ys]){if(h!==te||m!==te)throw new u(Sa);C===te&&T===te&&(C=0)}let U=si(e,r,fs),O=si(e,r,"dataDescriptor");E&&O===te&&(O=!1),(O===te||g)&&(O=!0),C!==te&&6!=C&&(U=!1);const M=si(e,r,jn);if(!g&&(h!==te||m!==te)&&(1>y||y>3))throw new u(ga);const _=ja(r[es]),N=ja(r.localExtraField);return{comment:a,it:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:w,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:g,extendedTimestamp:S,ntfsTimestamp:b,keepOrder:x,useWebWorkers:z,transferStreams:F,bufferedWrite:E,createTempStream:R,dataDescriptorSignature:D,signal:k,useUnicodeFileNames:A,compressionMethod:T,format:v?v.format:te,codecURI:v?v.codecURI:te,ot:v?v.versionNeeded:te,level:C,useCompressionStream:U,dataDescriptor:O,zip64:M,rawExtraField:_,ct:N}}})(e,t,s),{comment:d}=l,w=s[es];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.be)return!0;if(qt(t)||jt(t,Wt))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:i,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:l,zip64:d,level:w,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new u(Aa);if(h=n[vn],h===te)throw new u(ka)}const m=!0===d,y=si(e,n,qn),g=!!t&&(!!(i&&di(i)||o&&di(o))||s&&y);t||(w=0,f=0);const S=g?a?12:16+4*c:0;t&&(t=new bn(t),await zn(t),s?(n.uncompressedSize=h,p=ai(h)+S):t.size===te?(l=!0,(d||d===te)&&(d=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=ai(h)+S));const b=m||h>=U,x=m||p>=U;if(b||x){if(!1===d)throw new u(Da);d=!0}return d=d||!1,{reader:t,it:{dataDescriptor:l,zip64:d,$e:b,Qe:x,uncompressedSize:h,level:w,compressionMethod:f,encrypted:g}}})(e,n,l,s);({reader:n}=w);const h=Xa(e.writer),m=Ga(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:w,directory:f,rawExtraField:p,ct:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:S,encrypted:b,$e:x,Qe:z,uncompressedSize:F,crc32:E}=e;let{version:R,compressionMethod:D}=e;const k=!f&&(D===te?a===te||a>0:0!==D);let A;const T=S||!k,v=c&&(e.bufferedWrite||!w||!x&&!z||T),C=v||c&&w&&(x||z);if(c&&(x||z)){const e=20,t=Ya(e);if(t.uint16(1),t.uint16(e-4),A=t.array,v&&(t.lt(F),T)){const e=b?l?12:16+4*m:0;t.lt(S?0:F+e)}}else A=ae;let U,O,_,N,L;if(b&&!l){const e=Ya(di(La)+2);e.uint16(39169),e.bytes(La),U=e.array,U[8]=m}else U=ae;if(y){const e=ti(r),t=ri(e);if(t){const t=9+(n?4:0)+(s?4:0),r=Ya(t);N=1+(n?2:0)+(s?4:0),r.uint16(q),r.uint16(t-4),r.uint8(N),r.uint32(e),n&&r.uint32(ni(ti(n))),s&&r.uint32(ni(ti(s))),_=r.array}else _=ae;if(g===te?!t||n||s:g)try{const e=ei(r),t=Ya(36);t.uint16(10),t.uint16(32),t.wt(4),t.uint16(1),t.uint16(24),t.lt(e),t.lt(n?ei(n):e),t.lt(s?ei(s):e),O=t.array}catch{O=ae}else O=ae}else O=_=ae;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=Wa||t===te&&r===te)if(n!=Pa||t===te&&r===te)L=ae;else{const e=Ya(8);e.uint16(30805),e.uint16(4),e.uint16((t===te?0:t)&I),e.uint16((r===te?0:r)&I),L=e.array}else{const e=Ka(t),n=Ka(r),s=3+e.length+n.length,a=Ya(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),L=a.array}}catch{L=ae}D===te&&(D=k?8:0);const{ot:W}=e;k&&W!==te&&(R=R>W?R:W),c&&(R=R>45?R:45),b&&!l&&(R=R>51?R:51,S&&E!==te&&(U[4]=1),U[9]=D,D=99);const P=C?di(A):0,V=P+di(U,_,O,L,p,h);if(V>I)throw new u(xa);const Z=new o(2e3*i.ceil(i.floor(r.getTime()/1e3)/2)),{Xe:B,Je:H,rawLastModDate:j}=wi({version:R,bitFlag:ui(a,d,w,b,D),compressionMethod:D,uncompressedSize:F,lastModDate:ee>Z?ee:Z>$?$:Z,rawFilename:t,Qe:z,$e:x,extraFieldLength:V}),K=Ya(Q+di(t)+V),Y=K.array,G=Le(Y);return K.uint32(M),K.bytes(B),K.bytes(t),C&&K.bytes(A),K.bytes(U),K.bytes(_),K.bytes(O),K.bytes(L),K.bytes(p),K.bytes(h),w&&(z||oi(G,18,0),x||oi(G,22,0)),{ut:Y,ft:G,Xe:B,Je:H,lastModDate:r,rawLastModDate:j,encrypted:b,compressed:k,version:R,compressionMethod:D,st:N,je:ae,ht:P,Ke:_,Ye:O,Ge:L,qe:U,extraFieldLength:V}})(s=r.assign({},s,c.it,l.it,w.it,{internalFileAttribute:l.it.internalFileAttributes,externalFileAttribute:c.it.externalFileAttributes,signature:s[$n],crc32:s.crc32===te?s[$n]:s.crc32,offset:e.offset-h,diskNumberStart:m})),S=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ae,a=0,i=e?20:12;return r&&(i+=4),t&&(s=new f(i),n=Le(s),r&&(a=4,oi(n,0,N))),{yt:s,gt:n,St:a}})(s),b=di(y.ut,S.yt);p=await(async(e,t,n,s,i)=>{const{files:o,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:w}=i,{bt:p}=s,h=e.options[ys],m=e.He;let y,S,b,x,z,F,R,k={},A=0;o.set(t,k),e.He=k;try{let S;l&&(S=m&&m.lock,k.lock=new g(e=>b=e)),i.bufferedWrite||!l||e.xt||e.Be||!d?(y=!0,e.Be++,R=i.createTempStream?await i.createTempStream():new E(te,te,{highWaterMark:re}),R.size=0,await zn(c)):(R=c,await T()),await zn(R);const C=Xa(c);if(e.We){delete e.We;const t=new f(4);oi(Le(t),0,_),await $a(c,t),e.offset+=4}h&&!y&&qa(s,e.offset-C);const{ut:I}=p;y||(await S,await v());const M=Ga(c),N=Qa(e,c);if(k.diskNumberStart=M,y||(z=!0,F=c.size,await $a(R,I)),k=await(async(e,t,{diskNumberStart:n,lock:s},i,o,c)=>{const{bt:l,zt:d,Ft:w}=i,{Xe:f,Je:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:S,compressionMethod:b,je:x,ht:z,Ke:F,st:E,Ye:R,Ge:D,qe:k}=l,{yt:A}=d,{rawFilename:T,lastAccessDate:v,creationDate:C,password:I,rawPassword:M,level:_,zip64:N,$e:L,Qe:W,zipCrypto:P,dataDescriptor:V,directory:Z,executable:B,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:me,codecURI:ye}=c,ge={lock:s,versionMadeBy:H,zip64:N,directory:!!Z,executable:!!B,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:j,je:x,ht:z,Ke:F,Ye:R,Ge:D,qe:k,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe};let{crc32:Se,uncompressedSize:be}=c,xe=0;he||(be=0);const{writable:ze}=t;if(e){const r=Ut(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:$t,level:_,rawPassword:M,password:I,encryptionStrength:$,zipCrypto:y&&P,passwordVerification:y&&P&&m>>8&O,computeCrc32:!he,compressed:g&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:me,codecURI:ye,compressionMethod:b},config:o,ie:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await Ar({readable:r,writable:ze},s);if(xe=e.outputSize,t.size+=xe,he||(be=e.inputSize,y&&!P||(Se=e.crc32)),!W&&xe>=U||!L&&be>=U)throw new u(Da)}catch(e){throw e.outputSize!==te&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,bt:n,zt:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{Je:d,encrypted:w}=n,{gt:u,St:f}=s;w&&!o&&!c||e===te||(oi(d,10,e),l&&oi(u,f,e)),i?l&&(ci(u,f+4,a(t)),ci(u,f+12,a(r))):(oi(d,14,t),oi(d,18,r),l&&(oi(u,f+4,t),oi(u,f+8,r)))})({crc32:Se,compressedSize:xe,uncompressedSize:be,bt:l,zt:d},c),V&&await $a(t,A),r.assign(ge,{uncompressedSize:be,compressedSize:xe,lastModDate:h,rawLastModDate:m,creationDate:C,lastAccessDate:v,encrypted:y,zipCrypto:P,size:w+xe,compressionMethod:b,version:S,Xe:f,Je:p,signature:Se,crc32:!y||P||he?Se:te,st:E,$e:L,Qe:W}),ge})(n,R,k,s,e.config,i),y||(z=!1),o.set(t,k),k.filename=t,y){if(await g.all([R.writable.getWriter().close(),S]),await T(),x=!0,F=c.size,await v(),k.diskNumberStart=Ga(c),k.offset=Qa(e,c),h){const t=s.Ft;qa(s,e.offset-Xa(c)),k.size+=s.Ft-t}(({rawFilename:e,encrypted:t,zip64:r,ht:n,crc32:s,compressedSize:i,uncompressedSize:o,$e:c,Qe:l},d,{dataDescriptor:w,passThrough:u})=>{if(w||((!t||u&&s!==te)&&oi(d,14,s),l||oi(d,18,i),c||oi(d,22,o)),r&&n){const t=Q+di(e)+4;ci(d,t,a(o)),ci(d,t+8,a(i))}})(k,p.ft,i),await $a(c,p.ut),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=di(e),A+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(R.readable,c,w),c.size+=R.size,x=!1}else k.diskNumberStart=M,k.offset=N;return e.offset+=k.size,k}catch(r){if(x||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=A)}throw o.delete(t),r}finally{if(y&&e.Be--,b&&b(),S&&S(),y&&R&&R.dispose)try{await R.dispose()}catch{}}async function T(){e.xt=!0;const{Et:t}=e;e.Et=new g(t=>S=()=>{e.xt=!1,t()}),await t}async function v(){Ja(c,di(p.ut))&&await c.closeDisk()}})(e,t,n,{bt:y,zt:S,Ft:b},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:d,extraField:w}),new is(p)})(s,e,t,n),c.add(d),await d}catch(t){throw w&&s.Pe.delete(e),t}finally{c.delete(d);const e=Za.shift();e?e():Va--}}remove(e){const{Pe: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{Ze:n,writer:s}=this,{writable:i}=s;if(di(e)>I)throw new u(pa);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,qe:n,rawComment:s,Ye:a,Ge:i,rawExtraField:o,extendedTimestamp:c,st:l,lastModDate:d,$e:w,Qe:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=U,y=r.diskNumberStart>=I;let g,S;if(m||y||w||f){const e=4+(w?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Ya(e);t.uint16(1),t.uint16(e-4),w&&t.lt(p),f&&t.lt(h),m&&t.lt(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ae;r.je=g,r.et=m,r.nt=y;const b=ti(d);if(c&&ri(b)){const e=Ya(9);e.uint16(q),e.uint16(5),e.uint8(l),e.uint32(b),S=e.array}else S=ae;r.Ke=S;const x=di(g,n,a,i,S,o);if(x>I)throw new u(xa);t+=46+di(e,s)+x}return t})(e.files),{Rt:i,Dt:o}=await(async(e,r,n)=>{const{files:s,writer:a}=e,i=new f(r);await zn(a);let o=0,c=0,l=Ga(a),d=Xa(a);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:w,je:u,qe:f,Ke:p,Ye:h,Ge:m,rawExtraField:y,rawComment:g,versionMadeBy:S,Xe:b,Je:x,$e:z,Qe:F,nt:E,et:R,internalFileAttributes:D,externalFileAttributes:k,diskNumberStart:A,uncompressedSize:T,compressedSize:v}=r,C=di(u,f,p,h,m,y),O=46+di(w,g)+C;Ja(a,o+O-c)&&(await $a(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=Ga(a),d=Xa(a)),z||oi(x,18,T),F||oi(x,14,v),(R||E)&&45>r.version&&ii(x,0,45);const M=Ya(O);if(M.uint32(W),M.uint16(S),M.bytes(b.subarray(0,24)),M.uint16(C),M.uint16(di(g)),M.uint16(E?I:A),M.uint16(D),M.uint32(k),M.uint32(R?U:t),M.bytes(w),M.bytes(u),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(g),li(i,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new is(r))}catch{}}return await $a(a,c?i.slice(c):i),{Rt:{diskNumber:l,diskOffset:d},Dt:i}})(e,s,n),c=await(async(e,t,r)=>{const n=si(e,r,"signCentralDirectory");if(n){const r=await n(t),s=di(r);if(s>I)throw new u(Na);const a=Ya(6+s);return a.uint32(L),a.uint16(s),a.bytes(r),await $a(e.writer,a.array),6+s}return 0})(e,o,n);await(async(e,t,r,n)=>{const{writer:s}=e,{Rt:i,kt:o}=n;let{At:c}=n,l=e.files.size,d=i.diskNumber,w=Qa(e,i),f=Ga(s);Ja(s,B)&&f++;let p=si(e,r,jn);if(!(U>w&&U>c&&I>l&&I>f)){if(!1===p)throw new u(Da);p=!0}const h=di(t);if(h>I)throw new u(pa);const m=Ya(p?98:B);Ja(s,di(m.array)+h)&&await s.closeDisk(),f=Ga(s),p&&(m.uint32(V),m.lt(44),m.uint16(45),m.uint16(45),m.uint32(f),m.uint32(d),m.lt(l),m.lt(l),m.lt(c),m.lt(w),m.uint32(Z),m.uint32(f),m.lt(a(Qa(e,s))+a(c)+a(o)),m.uint32(f+1),si(e,r,"supportZip64SplitFile",!0)&&(f=I,d=I),l=I,w=U,c=U),m.uint32(P),m.uint16(f),m.uint16(d),m.uint16(l),m.uint16(l),m.uint32(c),m.uint32(w),m.uint16(h),await $a(s,m.array),h&&await $a(s,t)})(e,r,n,{Rt:i,At:s,kt:c})})(this,e,r),si(this,r,hs)||await i.getWriter().close(),s.getData?s.getData():i}}function Ha(e,t,r){e.Ze.add(t),t.catch(e=>{try{r(e)}catch{}})}function ja(e){if(!e)return ae;let t=0,r=0;e.forEach(e=>t+=4+di(e));const n=new f(t),s=Le(n);return e.forEach((e,t)=>{if(t>I)throw new u(ba);if(di(e)>I)throw new u(xa);ii(s,r,t),ii(s,r+2,di(e)),li(n,e,r+4),r+=4+di(e)}),n}function qa(e,t){const{bt:r}=e;let{ut:n,extraFieldLength:s}=r,a=64-(t+di(n))%64;4>a&&(a+=64);const i=new f(a),o=Le(i);ii(o,0,6534),ii(o,2,a-4);const c=n;r.ut=n=new f(di(c)+a),li(n,c),li(n,i,di(c));const l=Le(n);ii(l,28,s+a),r.ft=l,e.Ft+=a}function Ka(e){if(e===te)return ae;{const t=new f(4);Le(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Ya(e){const t=new f(e),r=Le(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{ii(r,n,e),n+=2},uint32:e=>{oi(r,n,e),n+=4},lt:e=>{ci(r,n,a(e)),n+=8},bytes:e=>{li(t,e,n),n+=di(e)},wt:e=>n+=e}}function Ga(e){const{diskNumber:t=0}=e;return t}function Xa(e){const{diskOffset:t=0}=e;return t}function Ja(e,t){const{availableSize:r=re}=e;return t>r}function Qa(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function $a(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=di(t),await n.write(t)}finally{n.releaseLock()}}function ei(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return Ea>t?Ea:t>Ra?Ra:t}}function ti(e){return i.floor(e.getTime()/1e3)}function ri(e){return e>=za&&Fa>=e}function ni(e){return i.min(Fa,i.max(za,e))}function si(e,t,r,n){const s=t[r]===te?e.options[r]:t[r];return s===te?n:s}function ai(e){return e+5*(i.floor(e/16383)+1)}function ii(e,t,r){e.setUint16(t,r,!0)}function oi(e,t,r){e.setUint32(t,r,!0)}function ci(e,t,r){e.setBigUint64(t,r,!0)}function li(e,t,r){e.set(t,r)}function di(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function wi({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,Qe:c,$e:l,extraFieldLength:d}){const w=Ya(26),u=w.array,f=Le(u);if(w.uint16(e),w.uint16(t),w.uint16(r),i===te){const e=new h(1),t=Le(e);ii(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),ii(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return w.uint32(i),w.wt(4),c||s!==te?w.uint32(c?U:s):w.wt(4),l||n!==te?w.uint32(l?U:n):w.wt(4),w.uint16(di(o)),w.uint16(d),{Xe:u,Je:f,rawLastModDate:i}}function ui(e,t,r,n,s){let a=0;return t&&(a|=K),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 fi=1048576,pi=".zip.js-temp",hi=1048576,mi=1048576,yi=".zip.js-temp",gi="createSyncAccessHandle is only available in dedicated workers";try{(e=>{e=fe(e);for(const t of ce){const r=e[t];r!==te&&(oe[t]=r)}ue(e)})({baseURI:void 0===x&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===x?location.href:C&&"SCRIPT"===C.tagName.toUpperCase()&&C.src||new w("zip-core.min.js",x.baseURI).href})}catch{}e.BlobReader=Jr,e.BlobWriter=Qr,e.Data64URIReader=class extends Kr{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:i.floor(.75*(t-n))})}readUint8Array(e,t){const{Tt:r,dataURI:n}=this,s=new f(t),a=4*i.floor(e/3),o=atob(n.substring(a+r,4*i.ceil((e+t)/3)+r)),c=e-3*i.floor(a/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 Yr{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*i.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+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=Us,e.ERR_BAD_FORMAT=xs,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Es,e.ERR_DUPLICATED_NAME=fa,e.ERR_ENCRYPTED=ks,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Is,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Fs,e.ERR_EOCDR_NOT_FOUND=zs,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Ds,e.ERR_HTTP_RANGE=Mr,e.ERR_HTTP_RESOURCE_CHANGED=_r,e.ERR_INVALID_AUTHENTICATION_CODE=qe,e.ERR_INVALID_CODEC_DEFINITION=pe,e.ERR_INVALID_CODEC_MODULE=me,e.ERR_INVALID_COMMENT=pa,e.ERR_INVALID_COMPRESSED_DATA=_t,e.ERR_INVALID_CRC32=Nt,e.ERR_INVALID_ENCRYPTION_STRENGTH=ga,e.ERR_INVALID_ENTRY_COMMENT=ha,e.ERR_INVALID_ENTRY_NAME=ma,e.ERR_INVALID_EXTRAFIELD_DATA=xa,e.ERR_INVALID_EXTRAFIELD_TYPE=ba,e.ERR_INVALID_GID=Ca,e.ERR_INVALID_MSDOS_ATTRIBUTES=Ma,e.ERR_INVALID_MSDOS_DATA=_a,e.ERR_INVALID_PASSWORD=He,e.ERR_INVALID_SIGNATURE=je,e.ERR_INVALID_SIGNATURE_DATA=Na,e.ERR_INVALID_UID=va,e.ERR_INVALID_UNCOMPRESSED_SIZE=Mt,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Ia,e.ERR_INVALID_UNIX_ID_SIZE=Oa,e.ERR_INVALID_UNIX_MODE=Ua,e.ERR_INVALID_VERSION=ya,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Nr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Rs,e.ERR_OVERLAPPING_ENTRY=Cs,e.ERR_RESERVED_COMPRESSION_METHOD=he,e.ERR_SPLIT_ZIP_FILE=vs,e.ERR_UNDEFINED_READER=Aa,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=ka,e.ERR_UNSUPPORTED_COMPRESSION=Ts,e.ERR_UNSUPPORTED_CONTEXT=gi,e.ERR_UNSUPPORTED_CRYPTO_API=Ye,e.ERR_UNSUPPORTED_ENCRYPTION=As,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Sa,e.ERR_UNSUPPORTED_FORMAT=Da,e.ERR_WORKER_STARTUP_TIMEOUT=ar,e.ERR_WRITER_NOT_INITIALIZED=Lr,e.ERR_ZIP_NOT_EMPTY=Ta,e.HttpRangeReader=class extends yn{constructor(e,t={}){super(e,r.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=yn,e.Reader=Kr,e.SplitDataReader=gn,e.SplitDataWriter=Sn,e.TextReader=class extends Jr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Qr{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 g((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends Kr{constructor(e){super(),e=new f(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 Yr{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(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 f(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=Yr,e.ZipReader=Ls,e.ZipReaderStream=Ws,e.ZipWriter=Ba,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new E;this.readable=t,this.zipWriter=new Ba(r,e),this.Ze=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 Ha(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 Ha(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,r={}){return await g.all(t.from(this.Ze)),this.zipWriter.close(e,r)}},e.configure=ue,e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=hi}=e;return()=>{const e=[];let r,n,s,a=0,i=!1;const o=new D({async write(s){i?await r.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;n=It(t.readable),r=t.writable.getWriter(),i=!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 R({async pull(t){if(i){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=fi,directoryName:n=pi,getDirectory:s=()=>T.storage.getDirectory()}=e;let a;function i(){return a||(a=g.resolve(s()).then(e=>e.getDirectoryHandle(n,{create:!0}))),a}return()=>{const e=[];let n,s,a,o,c=0,l=!1;const d=new D({async write(o){l?await a.write(o):(e.push(o),c+=o.length,c>r&&await(async()=>{const r=await i();n=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new f(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 R({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 w<e.length?t.enqueue(e[w++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(n){try{const e=await i();await e.removeEntry(n)}catch{}s=n=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:r=mi,directoryName:n=yi,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new u(gi);const a=s||(()=>T.storage.getDirectory());let o;function c(){return o||(o=g.resolve(a()).then(e=>e.getDirectoryHandle(n,{create:!0}))),o}return()=>{const e=[];let n,s,a=0,o=!1,l=0,d=0;const w=new D({async write(i){o?(s.write(i,{at:l}),l+=i.length):(e.push(i),a+=i.length,a>r&&await(async()=>{const r=await c();n=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new f(16)),e=>e.toString(16).padStart(2,"0")).join("");const a=await r.getFileHandle(n,{create:!0});s=await a.createSyncAccessHandle(),o=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let u=0;return{writable:w,readable:new R({pull(t){if(o){const e=l-d;if(0>=e)return void t.close();const r=new f(i.min(524288,e)),n=s.read(r,{at:d});n?(d+=n,t.enqueue(r.subarray(0,n))):t.close()}else u<e.length?t.enqueue(e[u++]):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:i,versionNeeded:o}=e;if(!s.isInteger(t)||0>t||t>I||typeof r!=ye||!r.length)throw new u(pe);if(ge.includes(t))throw new u(he);const c=typeof a==se||typeof i==se;if(!(c||typeof n==ye&&n.length))throw new u(pe);Se.set(t,{compressionMethod:t,format:r,codecURI:n,versionNeeded:o}),c&&Fe(r,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of ce)delete le[e];r.assign(le,oe)},e.terminateWorkers=async()=>{await g.allSettled(Fr.map(e=>(Ir(e),e.terminate()))),ir=te,dr=!1},e.unregisterCodec=e=>{const t=Se.get(e);if(t){let r;Se.delete(e),Se.forEach(e=>r=r||e.format==t.format),r||be.delete(t.format)}}});