single-file-core 1.6.22 → 1.6.23

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.
@@ -57,12 +57,26 @@
57
57
  display: "font-display",
58
58
  featureSettings: "font-feature-settings",
59
59
  lineGapOverride: "line-gap-override",
60
+ sizeAdjust: "size-adjust",
60
61
  stretch: "font-stretch",
61
62
  style: "font-style",
62
63
  unicodeRange: "unicode-range",
63
64
  variationSettings: "font-variation-settings",
64
65
  weight: "font-weight"
65
66
  };
67
+ const FONT_FACE_DEFAULT_VALUES = {
68
+ ascentOverride: "normal",
69
+ descentOverride: "normal",
70
+ display: "auto",
71
+ featureSettings: "normal",
72
+ lineGapOverride: "normal",
73
+ sizeAdjust: "100%",
74
+ stretch: "normal",
75
+ style: "normal",
76
+ unicodeRange: "u+0-10ffff",
77
+ variationSettings: "normal",
78
+ weight: "normal"
79
+ };
66
80
 
67
81
  const fetch = globalThis.fetch.bind(globalThis);
68
82
  const CustomEvent = globalThis.CustomEvent;
@@ -411,8 +425,9 @@
411
425
  if (!new.target) {
412
426
  return origFontFace();
413
427
  }
414
- getDetailObject(family, source, ...args).then(detail => document.dispatchEvent(new CustomEvent(NEW_FONT_FACE_EVENT, { detail })));
415
- return new origFontFace(family, source, ...args);
428
+ const fontFace = new origFontFace(family, source, ...args);
429
+ getDetailObject(fontFace, source).then(detail => document.dispatchEvent(new CustomEvent(NEW_FONT_FACE_EVENT, { detail })));
430
+ return fontFace;
416
431
  } catch (error) {
417
432
  error.stack = error.message + "\n" + " \n" + error.stack.trim().split("\n").slice(-1).join("\n");
418
433
  throw error;
@@ -424,7 +439,7 @@
424
439
  const deleteFont = document.fonts.delete;
425
440
  document.fonts.delete = function (fontFace) {
426
441
  try {
427
- getDetailObject(fontFace.family).then(detail => document.dispatchEvent(new CustomEvent(DELETE_FONT_EVENT, { detail })));
442
+ getDetailObject(fontFace).then(detail => document.dispatchEvent(new CustomEvent(DELETE_FONT_EVENT, { detail })));
428
443
  return deleteFont.call(document.fonts, fontFace);
429
444
  } catch (error) {
430
445
  error.stack = error.message + "\n" + " \n" + error.stack.trim().split("\n").slice(-1).join("\n");
@@ -605,17 +620,15 @@
605
620
  event.currentTarget.removeEventListener(GET_ADOPTED_STYLESHEETS_REQUEST_EVENT, getAdoptedStylesheetsListener, { capture: true });
606
621
  }
607
622
 
608
- async function getDetailObject(fontFamily, src, descriptors) {
623
+ async function getDetailObject(fontFace, src) {
609
624
  const detail = {};
610
- detail["font-family"] = fontFamily;
625
+ Object.keys(FONT_STYLE_PROPERTIES).forEach(descriptor => {
626
+ const value = fontFace[descriptor];
627
+ if (typeof value == "string" && value && value.toLowerCase() != FONT_FACE_DEFAULT_VALUES[descriptor]) {
628
+ detail[FONT_STYLE_PROPERTIES[descriptor]] = value;
629
+ }
630
+ });
611
631
  detail.src = src;
612
- if (descriptors) {
613
- Object.keys(descriptors).forEach(descriptor => {
614
- if (FONT_STYLE_PROPERTIES[descriptor]) {
615
- detail[FONT_STYLE_PROPERTIES[descriptor]] = descriptors[descriptor];
616
- }
617
- });
618
- }
619
632
  if (detail.src instanceof ArrayBuffer) {
620
633
  const bytes = new Uint8Array(detail.src);
621
634
  let content = "";
package/vendor/zip/zip.js CHANGED
@@ -5000,11 +5000,8 @@ class ZipReader {
5000
5000
  directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
5001
5001
  directoryView = getDataView(directoryArray);
5002
5002
  const offsetDelta = directoryDataOffset - originalDirectoryDataOffset;
5003
- const localHeaderOffset = getFirstLocalHeaderOffset(directoryArray, directoryView);
5004
- const localHeaderFound = localHeaderOffset !== UNDEFINED_VALUE &&
5005
- await startsWithSignature(reader, localHeaderOffset, LOCAL_FILE_HEADER_SIGNATURE);
5006
- const shiftedLocalHeaderFound = localHeaderOffset !== UNDEFINED_VALUE &&
5007
- await startsWithSignature(reader, localHeaderOffset + offsetDelta, LOCAL_FILE_HEADER_SIGNATURE);
5003
+ const { localHeaderFound, shiftedLocalHeaderFound } =
5004
+ await probeLocalHeaders(reader, directoryArray, directoryView, offsetDelta);
5008
5005
  if (offsetDelta > 0 && !(localHeaderFound && !shiftedLocalHeaderFound)) {
5009
5006
  prependedDataLength += offsetDelta;
5010
5007
  prependedCentralDirectory = storedPointsAtDirectory;
@@ -5055,7 +5052,7 @@ class ZipReader {
5055
5052
  const commentEncoding = getOptionValue$1(zipReader, options, OPTION_COMMENT_ENCODING);
5056
5053
  const filenames = new Set();
5057
5054
  let duplicateFilename;
5058
- let previousEntryPosition = -1;
5055
+ let previousEntryPosition = -Infinity;
5059
5056
  const recoverWrappedFilesLength = !checkAmbiguity && !zip64EndOfDirectory;
5060
5057
  if (!filesLength && recoverWrappedFilesLength) {
5061
5058
  filesLength = getWrappedFilesLength(directoryView, directoryArray, offset);
@@ -5691,25 +5688,44 @@ async function findZip64EndOfDirectoryOffset(reader, endOffset) {
5691
5688
  }
5692
5689
  }
5693
5690
 
5694
- function getFirstLocalHeaderOffset(directoryArray, directoryView) {
5695
- if (directoryArray.length < CENTRAL_FILE_HEADER_LENGTH) {
5696
- return UNDEFINED_VALUE;
5691
+ async function probeLocalHeaders(reader, directoryArray, directoryView, offsetDelta) {
5692
+ let result = { localHeaderFound: false, shiftedLocalHeaderFound: false };
5693
+ let recordOffset = 0;
5694
+ while (recordOffset + CENTRAL_FILE_HEADER_LENGTH <= directoryArray.length &&
5695
+ getUint32$1(directoryView, recordOffset) == CENTRAL_FILE_HEADER_SIGNATURE) {
5696
+ const localHeaderOffset = getLocalHeaderOffset(directoryArray, directoryView, recordOffset);
5697
+ if (localHeaderOffset !== UNDEFINED_VALUE) {
5698
+ const localHeaderFound = await startsWithSignature(reader, localHeaderOffset, LOCAL_FILE_HEADER_SIGNATURE);
5699
+ const shiftedLocalHeaderFound = await startsWithSignature(reader, localHeaderOffset + offsetDelta, LOCAL_FILE_HEADER_SIGNATURE);
5700
+ if (!recordOffset) {
5701
+ result = { localHeaderFound, shiftedLocalHeaderFound };
5702
+ }
5703
+ if (localHeaderFound != shiftedLocalHeaderFound) {
5704
+ return { localHeaderFound, shiftedLocalHeaderFound };
5705
+ }
5706
+ }
5707
+ recordOffset += CENTRAL_FILE_HEADER_LENGTH + getUint16$1(directoryView, recordOffset + 28) +
5708
+ getUint16$1(directoryView, recordOffset + 30) + getUint16$1(directoryView, recordOffset + 32);
5697
5709
  }
5698
- const localHeaderOffset = getUint32$1(directoryView, 42);
5710
+ return result;
5711
+ }
5712
+
5713
+ function getLocalHeaderOffset(directoryArray, directoryView, recordOffset) {
5714
+ const localHeaderOffset = getUint32$1(directoryView, recordOffset + 42);
5699
5715
  if (localHeaderOffset != MAX_32_BITS) {
5700
5716
  return localHeaderOffset;
5701
5717
  }
5702
- let offsetExtraField = CENTRAL_FILE_HEADER_LENGTH + getUint16$1(directoryView, 28);
5703
- const endExtraField = Math.min(offsetExtraField + getUint16$1(directoryView, 30), directoryArray.length);
5718
+ let offsetExtraField = recordOffset + CENTRAL_FILE_HEADER_LENGTH + getUint16$1(directoryView, recordOffset + 28);
5719
+ const endExtraField = Math.min(offsetExtraField + getUint16$1(directoryView, recordOffset + 30), directoryArray.length);
5704
5720
  while (offsetExtraField + 4 <= endExtraField) {
5705
5721
  const type = getUint16$1(directoryView, offsetExtraField);
5706
5722
  const size = getUint16$1(directoryView, offsetExtraField + 2);
5707
5723
  if (type == EXTRAFIELD_TYPE_ZIP64) {
5708
5724
  let offsetValue = offsetExtraField + 4;
5709
- if (getUint32$1(directoryView, 24) == MAX_32_BITS) {
5725
+ if (getUint32$1(directoryView, recordOffset + 24) == MAX_32_BITS) {
5710
5726
  offsetValue += 8;
5711
5727
  }
5712
- if (getUint32$1(directoryView, 20) == MAX_32_BITS) {
5728
+ if (getUint32$1(directoryView, recordOffset + 20) == MAX_32_BITS) {
5713
5729
  offsetValue += 8;
5714
5730
  }
5715
5731
  return offsetValue + 8 <= endExtraField ? getBigUint64(directoryView, offsetValue) : UNDEFINED_VALUE;
@@ -9123,7 +9139,7 @@ function formatSupported(StreamClass, format) {
9123
9139
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
9124
9140
  */
9125
9141
 
9126
- const VERSION = "2.22.0";
9142
+ const VERSION = "2.23.0";
9127
9143
 
9128
9144
  /*
9129
9145
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -1 +1 @@
1
- ((t,e)=>{"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})})(this,function(t){"use strict";const{Array:e,Object:n,String:r,Number:o,BigInt:s,Math:a,Date:i,Map:c,Set:u,Response:f,URL:w,Error:l,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:b,TextDecoder:v,crypto:S,btoa:k,TransformStream:z,ReadableStream:x,WritableStream:R,CompressionStream:D,DecompressionStream:C,navigator:A,Worker:F,setTimeout:I,clearTimeout:E}="undefined"!=typeof globalThis?globalThis:self,U=4294967295,T=65535,M=255,O=67324752,W=134695760,L=W,P=84233040,H=33639248,B=101075792,Z=117853008,V=46,q=22,N=20,j=56,K=8192,_=61440,G=new i(1980,0,1),X=void 0,$="Zip64 extra field not found",J="undefined",Q="function",Y="string",tt="boolean",et=new d,nt=Symbol.asyncDispose||Symbol(),rt="checkAmbiguity",ot="strictness",st="strict",at="balanced",it="tolerant";function ct(t){if(t&&typeof t!=Q)throw new l("Invalid option (must be a function)");return t}function ut(t){if(t&&t.aborted)throw t.reason===X?new DOMException("The operation was aborted","AbortError"):t.reason}function ft(t){return typeof t==Y&&t.trim()?o(t):t}const wt=262144;let lt=2;try{typeof A!=J&&A.hardwareConcurrency&&(lt=A.hardwareConcurrency)}catch{}const dt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:wt,maxWorkers:lt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof D!=J&&D,DecompressionStream:typeof C!=J&&C},pt="maxWorkers",ht="baseURI",mt=["wasmURI","workerURI"],yt=["chunkSize",pt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],gt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],bt=[ht,...mt,"useCompressionStream","useWebWorkers",...yt,...gt],vt={...dt};function St(){return vt}function kt(t){return zt(t.chunkSize)}function zt(t){return t=ft(t),o.isInteger(t)&&t>=1?a.max(t,64):wt}function xt(t){const e={};for(const n of bt){const r=t[n];r!==X&&(e[n]=Rt(n,r))}return e}function Rt(t,e){if(yt.includes(t)){if(e=ft(e),t==pt&&(!o.isInteger(e)||1>e))throw new l("Invalid maxWorkers (must be an integer greater than 0)")}else if(gt.includes(t))ct(e);else if(t==ht){if(e&&typeof e!=Y)throw new l("Invalid baseURI (must be a string)")}else if(mt.includes(t)&&e&&typeof e!=Y&&typeof e!=Q)throw new l("Invalid URI (must be a string or a function returning a string)");return e}function Dt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===X&&r===X)return t;const o=n.assign({},t);return o.CompressionStreamFallback===X&&(o.CompressionStreamFallback=e),o.DecompressionStreamFallback===X&&(o.DecompressionStreamFallback=r),o}var Ct=d,At=p,Ft=Int32Array,It=new Ct([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Et=new Ct([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ut=new Ct([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Tt=(t,e)=>{for(var n=new At(31),r=0;31>r;++r)n[r]=e+=1<<t[r-1];var o=new Ft(n[30]);for(r=1;30>r;++r)for(var s=n[r];s<n[r+1];++s)o[s]=s-n[r]<<5|r;return{b:n,r:o}},Mt=Tt(It,2),Ot=Mt.b,Wt=Mt.r;Ot[28]=258,Wt[258]=28;for(var Lt=Tt(Et,0).b,Pt=new At(32768),Ht=0;32768>Ht;++Ht){var Bt=(43690&Ht)>>1|(21845&Ht)<<1;Bt=(61680&(Bt=(52428&Bt)>>2|(13107&Bt)<<2))>>4|(3855&Bt)<<4,Pt[Ht]=((65280&Bt)>>8|(255&Bt)<<8)>>1}var Zt=(t,e,n)=>{for(var r=t.length,o=0,s=new At(e);r>o;++o)t[o]&&++s[t[o]-1];var a,i=new At(e);for(o=1;e>o;++o)i[o]=i[o-1]+s[o-1]<<1;if(n){a=new At(1<<e);var c=15-e;for(o=0;r>o;++o)if(t[o])for(var u=o<<4|t[o],f=e-t[o],w=i[t[o]-1]++<<f,l=w|(1<<f)-1;l>=w;++w)a[Pt[w]>>c]=u}else for(a=new At(r),o=0;r>o;++o)t[o]&&(a[o]=Pt[i[t[o]-1]++]>>15-t[o]);return a},Vt=new Ct(288);for(Ht=0;144>Ht;++Ht)Vt[Ht]=8;for(Ht=144;256>Ht;++Ht)Vt[Ht]=9;for(Ht=256;280>Ht;++Ht)Vt[Ht]=7;for(Ht=280;288>Ht;++Ht)Vt[Ht]=8;var qt=new Ct(32);for(Ht=0;32>Ht;++Ht)qt[Ht]=5;var Nt=Zt(Vt,9,1),jt=Zt(qt,5,1),Kt=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},_t=(t,e,n)=>{var r=e/8|0;return(t[r]|t[r+1]<<8)>>(7&e)&n},Gt=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},Xt=t=>(t+7)/8|0,$t=(t,e,n)=>((null==e||0>e)&&(e=0),(null==n||n>t.length)&&(n=t.length),new Ct(t.subarray(e,n))),Jt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Qt=(t,e,n)=>{var r=new l(e||Jt[t]);if(r.code=t,l.captureStackTrace&&l.captureStackTrace(r,Qt),!n)throw r;return r},Yt=(t,e,n,r)=>{var o=t.length,s=r?r.length:0;if(!o||e.f&&!e.o)return n||new Ct(0);var i=!n,c=i||2!=e.i,u=e.i;i&&(n=new Ct(3*o));var f=t=>{var e=n.length;if(t>e){var r=new Ct(a.max(2*e,t));r.set(n),n=r}},w=e.f||0,l=e.p||0,d=e.b||0,p=e.o,h=e.d,m=e.l,y=e.n,g=8*o;do{if(!p){w=_t(t,l,1);var b=_t(t,l+1,3);if(l+=3,!b){var v=t[(E=Xt(l)+4)-4]|t[E-3]<<8,S=E+v;if(S>o){u&&Qt(0);break}c&&f(d+v),n.set(t.subarray(E,S),d),e.b=d+=v,e.p=l=8*S,e.f=w;continue}if(1==b)p=Nt,h=jt,m=9,y=5;else if(2==b){var k=_t(t,l,31)+257,z=_t(t,l+10,15)+4,x=k+_t(t,l+5,31)+1;l+=14;for(var R=new Ct(x),D=new Ct(19),C=0;z>C;++C)D[Ut[C]]=_t(t,l+3*C,7);l+=3*z;var A=Kt(D),F=(1<<A)-1,I=Zt(D,A,1);for(C=0;x>C;){var E,U=I[_t(t,l,F)];if(l+=15&U,16>(E=U>>4))R[C++]=E;else{var T=0,M=0;for(16==E?(M=3+_t(t,l,3),l+=2,T=R[C-1]):17==E?(M=3+_t(t,l,7),l+=3):18==E&&(M=11+_t(t,l,127),l+=7);M--;)R[C++]=T}}var O=R.subarray(0,k),W=R.subarray(k);m=Kt(O),y=Kt(W),p=Zt(O,m,1),h=Zt(W,y,1)}else Qt(1);if(l>g){u&&Qt(0);break}}c&&f(d+131072);for(var L=(1<<m)-1,P=(1<<y)-1,H=l;;H=l){var B=(T=p[Gt(t,l)&L])>>4;if((l+=15&T)>g){u&&Qt(0);break}if(T||Qt(2),256>B)n[d++]=B;else{if(256==B){H=l,p=null;break}var Z=B-254;if(B>264){var V=It[C=B-257];Z=_t(t,l,(1<<V)-1)+Ot[C],l+=V}var q=h[Gt(t,l)&P],N=q>>4;if(q||Qt(3),l+=15&q,W=Lt[N],N>3&&(V=Et[N],W+=Gt(t,l)&(1<<V)-1,l+=V),l>g){u&&Qt(0);break}c&&f(d+131072);var j=d+Z;if(W>d){var K=s-W,_=a.min(W,j);for(0>K+d&&Qt(3);_>d;++d)n[d]=r[K+d]}for(;j>d;++d)n[d]=n[d-W]}}e.o=p,e.p=H,e.b=d,e.f=w,p&&(w=1,e.l=m,e.d=h,e.n=y)}while(!w);return d!=n.length&&i?$t(n,0,d):n.subarray(0,d)},te=new Ct(0),ee=function(){function t(t,e){"function"==typeof t&&(e=t,t={}),this.h=e;var n=t&&t.m&&t.m.subarray(-32768);this.s={i:0,b:n?n.length:0},this.v=new Ct(32768),this.p=new Ct(0),n&&this.v.set(n)}return t.prototype.e=function(t){if(this.h||Qt(5),this.d&&Qt(4),this.p.length){if(t.length){var e=new Ct(this.p.length+t.length);e.set(this.p),e.set(t,this.p.length),this.p=e}}else this.p=t},t.prototype.c=function(t){this.s.i=+(this.d=t||!1);var e=this.s.b,n=Yt(this.p,this.s,this.v);this.h($t(n,e,this.s.b),this.d),this.v=$t(n,this.s.b-32768),this.s.b=this.v.length,this.p=$t(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(t,e){this.e(t),this.c(e)},t}(),ne=void 0!==v&&new v;try{ne.decode(te,{stream:!0})}catch(t){}class re extends z{constructor(t){super({start(e){t.h=t=>{t.length&&e.enqueue(t)}},transform(e){t.push(e)},flush(){t.push(new d(0),!0)}})}}const oe="Compression method not supported",se=new c,ae=new c;function ie(t){return ae.get(t)}const ce=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;ce[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const n=ce[e-1][t];ce[e][t]=n>>>8^ce[0][255&n]}const[ue,fe,we,le,de,pe,he,me]=ce;class ye{constructor(t){this.S=t||-1}append(t){let e=0|this.S;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const o=new m(t.buffer,t.byteOffset,n),s=n-8;for(;s>=r;r+=8){const t=e^o.getInt32(r,!0),n=o.getInt32(r+4,!0);e=me[255&t]^he[t>>>8&255]^pe[t>>>16&255]^de[t>>>24&255]^le[255&n]^we[n>>>8&255]^fe[n>>>16&255]^ue[n>>>24&255]}}for(;n>r;r++)e=e>>>8^ue[255&(e^t[r])];this.S=e}get(){return~this.S}}class ge extends z{constructor(){let t;const e=new ye;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function be(t,e){const n=new d(t.length+e.length);return n.set(t),n.set(e,t.length),n}function ve(t){return new m(t.buffer,t.byteOffset,t.byteLength)}const Se=64,ke=20,ze=new d([128]),xe=new d(1),Re=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),De=new d(256),Ce=new Int32Array(256),Ae=new Int32Array(256),Fe=new Int32Array(256),Ie=new Int32Array(256);let Ee=!1;function Ue(t){const e=(()=>{const t=new Int32Array(Re),e=new Int32Array(16),n=new d(Se),r=new m(n.buffer),o=new d(8);let s=0,i=0;return{update:c,digest:()=>{const e=8*i,n=a.floor(e/4294967296),r=e>>>0;for(c(ze,0,1);56!=s;)c(xe,0,1);o[0]=n>>>24,o[1]=n>>>16,o[2]=n>>>8,o[3]=n,o[4]=r>>>24,o[5]=r>>>16,o[6]=r>>>8,o[7]=r,c(o,0,8);const u=new d(ke),f=new m(u.buffer);for(let e=0;e<t.length;e++)f.setInt32(4*e,t[e]);return t.set(Re),s=0,i=0,u}};function c(t,e,o){const a=e+o;if(i+=o,s){for(;a>e&&Se>s;)n[s++]=t[e++];s==Se&&(u(r,0),s=0)}if(a>=e+Se){const n=new m(t.buffer,t.byteOffset,t.byteLength);for(;a>=e+Se;e+=Se)u(n,e)}for(;a>e;)n[s++]=t[e++]}function u(n,r){for(let t=0;16>t;t++)e[t]=n.getInt32(r+4*t);let o,s=t[0],a=t[1],i=t[2],c=t[3],u=t[4];for(let t=0;15>t;t+=5)u=(s<<5|s>>>27)+((i^c)&a^c)+u+1518500249+e[t]|0,a=a<<30|a>>>2,c=(u<<5|u>>>27)+((a^i)&s^i)+c+1518500249+e[t+1]|0,s=s<<30|s>>>2,i=(c<<5|c>>>27)+((s^a)&u^a)+i+1518500249+e[t+2]|0,u=u<<30|u>>>2,a=(i<<5|i>>>27)+((u^s)&c^s)+a+1518500249+e[t+3]|0,c=c<<30|c>>>2,s=(a<<5|a>>>27)+((c^u)&i^u)+s+1518500249+e[t+4]|0,i=i<<30|i>>>2;u=(s<<5|s>>>27)+((i^c)&a^c)+u+1518500249+e[15]|0,a=a<<30|a>>>2,o=e[13]^e[8]^e[2]^e[0],o=o<<1|o>>>31,e[0]=o,c=(u<<5|u>>>27)+((a^i)&s^i)+c+1518500249+o|0,s=s<<30|s>>>2,o=e[14]^e[9]^e[3]^e[1],o=o<<1|o>>>31,e[1]=o,i=(c<<5|c>>>27)+((s^a)&u^a)+i+1518500249+o|0,u=u<<30|u>>>2,o=e[15]^e[10]^e[4]^e[2],o=o<<1|o>>>31,e[2]=o,a=(i<<5|i>>>27)+((u^s)&c^s)+a+1518500249+o|0,c=c<<30|c>>>2,o=e[0]^e[11]^e[5]^e[3],o=o<<1|o>>>31,e[3]=o,s=(a<<5|a>>>27)+((c^u)&i^u)+s+1518500249+o|0,i=i<<30|i>>>2;for(let t=20;40>t;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,u=(s<<5|s>>>27)+(a^i^c)+u+1859775393+o|0,a=a<<30|a>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(u<<5|u>>>27)+(s^a^i)+c+1859775393+o|0,s=s<<30|s>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,i=(c<<5|c>>>27)+(u^s^a)+i+1859775393+o|0,u=u<<30|u>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,a=(i<<5|i>>>27)+(c^u^s)+a+1859775393+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,s=(a<<5|a>>>27)+(i^c^u)+s+1859775393+o|0,i=i<<30|i>>>2;for(let t=40;60>t;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,u=(s<<5|s>>>27)+(a&i|(a|i)&c)+u+2400959708+o|0,a=a<<30|a>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(u<<5|u>>>27)+(s&a|(s|a)&i)+c+2400959708+o|0,s=s<<30|s>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,i=(c<<5|c>>>27)+(u&s|(u|s)&a)+i+2400959708+o|0,u=u<<30|u>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,a=(i<<5|i>>>27)+(c&u|(c|u)&s)+a+2400959708+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,s=(a<<5|a>>>27)+(i&c|(i|c)&u)+s+2400959708+o|0,i=i<<30|i>>>2;for(let t=60;80>t;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,u=(s<<5|s>>>27)+(a^i^c)+u+3395469782+o|0,a=a<<30|a>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(u<<5|u>>>27)+(s^a^i)+c+3395469782+o|0,s=s<<30|s>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,i=(c<<5|c>>>27)+(u^s^a)+i+3395469782+o|0,u=u<<30|u>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,a=(i<<5|i>>>27)+(c^u^s)+a+3395469782+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,s=(a<<5|a>>>27)+(i^c^u)+s+3395469782+o|0,i=i<<30|i>>>2;t[0]=t[0]+s|0,t[1]=t[1]+a|0,t[2]=t[2]+i|0,t[3]=t[3]+c|0,t[4]=t[4]+u|0}})(),n=new d(Se),r=new d(Se);t.length>Se&&(e.update(t,0,t.length),t=e.digest());for(let e=0;Se>e;e++){const o=e<t.length?t[e]:0;n[e]=54^o,r[e]=92^o}return e.update(n,0,Se),{update(t,n,r){e.update(t,n,r)},digest(){const t=e.digest();e.update(r,0,Se),e.update(t,0,ke);const o=e.digest();return e.update(n,0,Se),o}}}function Te(t){return De[t>>>24]<<24|De[t>>>16&255]<<16|De[t>>>8&255]<<8|De[255&t]}function Me(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Oe(t){return 255&(t<<1^27*(t>>7))}const We=typeof S!=J&&typeof S.getRandomValues==Q,Le="Invalid password",Pe="zipjs-abort-check-password";function He(t){if(We)return S.getRandomValues(t);throw new l("Crypto API not supported")}const Be={name:"PBKDF2"},Ze=n.assign({hash:{name:"HMAC"}},Be),Ve=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Be),qe=["deriveBits"],Ne=[8,12,16],je=[16,24,32],Ke=10,_e=typeof S!=J,Ge=_e&&S.subtle;let Xe=_e&&typeof Ge!=J&&typeof Ge.importKey==Q&&typeof Ge.deriveBits==Q;class $e extends z{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){const s={};super({start(){Qe(s,t,e,n)},async transform(t,e){const{password:n,strength:o,R:a,ready:i}=s;if(n?(await(async(t,e,n,r)=>{const o=await nn(t,e,n,on(r,0,Ne[e])),s=on(r,Ne[e]);if(o[0]!=s[0]||o[1]!=s[1])throw en(t),new l(Le)})(s,o,n,on(t,0,Ne[o]+2)),t=on(t,Ne[o]+2),r?(en(s),e.error(new l(Pe))):a()):await i,s.D)return;const c=new d(t.length-Ke-(t.length-Ke)%16);e.enqueue(tn(s,t,c,0,Ke,!0))},async flush(t){const{C:e,A:n,ready:r}=s;if(e){if(await r,s.D)return;const a=on(n,n.length-Ke),i=new d(on(n,0,n.length-Ke));e.process(i,!0);const c=e.digest();let u=n.length<Ke?1:0;for(let t=0;Ke>t;t++)u|=c[t]^a[t];if(u&&o)return void t.error(new l("Invalid authentication code"));t.enqueue(i)}}}),Ye(this,s)}}class Je extends z{constructor({password:t,rawPassword:e,encryptionStrength:n}){const r={};super({start(){Qe(r,t,e,n)},async transform(t,e){const{password:n,strength:o,R:s,ready:a}=r;let i=et;if(n?(i=await(async(t,e,n)=>{const r=He(new d(Ne[e]));return be(r,await nn(t,e,n,r))})(r,o,n),s()):await a,r.D)return;const c=new d(i.length+t.length-t.length%16);c.set(i,0),e.enqueue(tn(r,t,c,i.length,0,!1))},async flush(t){const{C:e,A:n,ready:o}=r;if(e){if(await o,r.D)return;const s=new d(n);e.process(s,!1);const a=on(e.digest(),0,Ke);t.enqueue(be(s,a))}}}),Ye(this,r)}}function Qe(t,e,r,o){n.assign(t,{ready:new g(e=>t.R=e),password:rn(e,r),strength:o-1,A:et,D:!1})}function Ye(t,e){const r=t.readable.getReader(),o=new x({async pull(t){try{const{value:e,done:n}=await r.read();n?t.close():t.enqueue(e)}catch(t){throw en(e),r.cancel(t).catch(()=>{}),t}},cancel:t=>(en(e),r.cancel(t))});n.defineProperty(t,"readable",{get:()=>o})}function tn(t,e,n,r,o,s){const{C:a,A:i}=t;i.length&&(e=be(i,e));const c=e.length-o,u=c-c%16;if(n=((t,e)=>{if(e&&e>t.length){const n=t;(t=new d(e)).set(n,0)}return t})(n,r+u),u){const t=on(n,r,r+u);t.set(on(e,0,u)),a.process(t,s)}return t.A=on(e,u),n}function en(t){const{C:e}=t;t.D=!0,e&&e.dispose&&e.dispose()}async function nn(t,e,r,o){t.password=null;const s=je[e],i=await(async(t,e,r)=>{if(Xe)try{const o=await Ge.importKey("raw",t,Ze,!1,qe);return new d(await Ge.deriveBits(n.assign({salt:e},Ve),o,8*r))}catch{Xe=!1}return((t,e,n,r)=>{const o=Ue(t),s=new d(r),i=new d(e.length+4),c=new m(i.buffer);i.set(e);for(let t=1,n=0;r>n;t++,n+=ke){c.setUint32(e.length,t),o.update(i,0,i.length);let u=o.digest();const f=u.slice();for(let t=1;1e3>t;t++){o.update(u,0,ke),u=o.digest();for(let t=0;ke>t;t++)f[t]^=u[t]}s.set(f.subarray(0,a.min(ke,r-n)),n)}return s})(t,e,0,r)})(r,o,2*s+2);return t.C=((t,e)=>{(()=>{if(!Ee){let t=1,e=1;do{t=255&(t^t<<1^(128&t?27:0)),e=255&(e^e<<1),e=255&(e^e<<2),e=255&(e^e<<4),128&e&&(e^=9),De[t]=255&(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)}while(1!=t);De[0]=99;for(let t=0;256>t;t++){const e=De[t],n=Oe(e),r=n<<24|e<<16|e<<8|n^e;Ce[t]=r,Ae[t]=r>>>8|r<<24,Fe[t]=r>>>16|r<<16,Ie[t]=r>>>24|r<<8}Ee=!0}})();const n=new Int32Array(60),r=((t,e)=>{const n=t.length>>2,r=n+6,o=4*(r+1);let s=1;for(let r=0;n>r;r++)e[r]=t[4*r]<<24|t[4*r+1]<<16|t[4*r+2]<<8|t[4*r+3];for(let t=n;o>t;t++){let r=e[t-1];t%n==0?(r=Te(r<<8|r>>>24)^s<<24,s=Oe(s)):n>6&&t%n==4&&(r=Te(r)),e[t]=e[t-n]^r}return r})(t,n),o=new Int32Array(4),s=Ue(e);let a=0,i=0,c=0,u=0;return{process(t,e){e&&s.update(t,0,t.length),(t=>{const e=new m(t.buffer,t.byteOffset,t.byteLength),n=t.length;let r=0;for(;n>=r+16;r+=16)f(),e.setInt32(r,e.getInt32(r)^o[0]),e.setInt32(r+4,e.getInt32(r+4)^o[1]),e.setInt32(r+8,e.getInt32(r+8)^o[2]),e.setInt32(r+12,e.getInt32(r+12)^o[3]);if(n>r){f();for(let e=0;n>r;r++,e++)t[r]^=o[e>>2]>>>24-8*(3&e)}})(t),e||s.update(t,0,t.length)},digest:()=>s.digest()};function f(){a=a+1|0,a||(i=i+1|0,i||(c=c+1|0,c||(u=u+1|0)));let t=Me(a)^n[0],e=Me(i)^n[1],s=Me(c)^n[2],f=Me(u)^n[3],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[4],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[5],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[6],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[7];t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[8],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[9],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[10],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[11],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[12],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[13],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[14],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[15],t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[16],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[17],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[18],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[19],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[20],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[21],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[22],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[23],t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[24],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[25],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[26],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[27],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[28],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[29],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[30],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[31],t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[32],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[33],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[34],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[35],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[36],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[37],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[38],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[39];let h=40;r>10&&(t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[40],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[41],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[42],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[43],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[44],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[45],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[46],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[47],h=48),r>12&&(t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[48],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[49],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[50],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[51],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[52],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[53],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[54],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[55],h=56),o[0]=(De[w>>>24]<<24|De[l>>>16&255]<<16|De[d>>>8&255]<<8|De[255&p])^n[h],o[1]=(De[l>>>24]<<24|De[d>>>16&255]<<16|De[p>>>8&255]<<8|De[255&w])^n[h+1],o[2]=(De[d>>>24]<<24|De[p>>>16&255]<<16|De[w>>>8&255]<<8|De[255&l])^n[h+2],o[3]=(De[p>>>24]<<24|De[w>>>16&255]<<16|De[l>>>8&255]<<8|De[255&d])^n[h+3]}})(on(i,0,s),on(i,s,2*s)),t.D&&en(t),on(i,2*s)}function rn(t,e){return e===X?(t=>{if(typeof b==J){const e=new d((t=unescape(encodeURIComponent(t))).length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new b).encode(t)})(t):e}function on(t,e,n){return t.subarray(e,n)}class sn extends z{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){cn(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=un(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new l(Le);t=t.subarray(12)}r?e.error(new l(Pe)):e.enqueue(un(n,t))}})}}class an extends z{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){cn(this,t,e,n)},transform(t,e){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=He(new d(12));e[11]=n.passwordVerification,r=new d(t.length+e.length),r.set(fn(n,e),0),o=12}else r=new d(t.length),o=0;r.set(fn(n,t),o),e.enqueue(r)}})}}function cn(t,e,r,o){n.assign(t,{password:e,rawPassword:r,passwordVerification:o}),((t,e,r)=>{const o=[305419896,591751049,878082192];if(n.assign(t,{F:o,I:new ye(o[0]),U:new ye(o[2])}),r)for(let e=0;e<r.length;e++)wn(t,r[e]);else for(let n=0;n<e.length;n++)wn(t,e.charCodeAt(n))})(t,e,r)}function un(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=ln(t)^e[r],wn(t,n[r]);return n}function fn(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=ln(t)^e[r],wn(t,e[r]);return n}function wn(t,e){let[,n]=t.F;t.I.append([e]);const r=~t.I.get();n=pn(a.imul(pn(n+dn(r)),134775813)+1),t.U.append([n>>>24]);const o=~t.U.get();t.F=[r,n,o]}function ln(t){const e=2|t.F[2];return dn(a.imul(e,1^e)>>>8)}function dn(t){return 255&t}function pn(t){return 4294967295&t}function hn(t){if(t instanceof x)return t;const e=t.getReader();return new x({async pull(t){try{const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)}catch(t){throw e.cancel(t).catch(()=>{}),t}},cancel:t=>e.cancel(t)})}function mn(t,e){t=hn(t);const n=e?{type:e}:{};if(typeof y.prototype.stream!=Q||new y([]).stream()instanceof x)return new f(t).blob().then(t=>e?new y([t],n):t);const r=[];return t.pipeTo(new R({write(t){r.push(t)}})).then(()=>new y(r,n))}function yn(t){if(t instanceof R)return t;const e=t.getWriter();return new R({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}function gn(t){return!!t&&"object"==typeof t}const bn="Invalid uncompressed size",vn="Codec out of memory",Sn="Invalid CRC32",kn="deflate-raw",zn="gzip",xn=[31,139,8];class Rn extends z{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:s,useCompressionStream:a,zipCrypto:i,computeCrc32:c,level:u,deflate64:f,format:w,compressionMethod:l,inputSize:d}=t,p=this;let h,y,g,b=super.readable;const v=w&&ie(w),S=En(a,r,n),k=c&&o&&!f&&!v&&(!s||i)&&!!S;if(s&&!i||!c||k||(h=new ge,b=Tn(b,h)),o)if(v)b=Mn(b,In(v.CompressionStream,w,{level:u,chunkSize:e,compressionMethod:l,uncompressedSize:d}));else if(k)g=new Dn,b=Mn(b,new S(zn,{level:u,chunkSize:e})),b=Tn(b,g);else try{b=Un(b,a,{level:u,chunkSize:e},r,n)}catch(t){if(!a&&n)throw Hn(t);let e;try{e=new r(zn)}catch{throw Hn(t)}b=Mn(b,e),b=Tn(b,new Dn)}s&&(i?b=Tn(b,new an(t)):(y=new Je(t),b=Tn(b,y))),Fn(p,b,()=>{s&&!i||!c||(p.crc32=k?g.crc32:new m(h.value.buffer).getUint32(0))})}}class Dn extends z{constructor(){let t,e=10,n=new d(0);super({transform(t,r){if(e){const n=a.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const o=n.length+t.length;if(8>=o)return void(n=be(n,t));const s=o-8,i=a.min(s,n.length);r.enqueue(be(n.subarray(0,i),t.subarray(0,s-i))),n=be(n.subarray(i),t.subarray(s-i))},flush(){const e=ve(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Cn extends z{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:s,checkCrc32:a,crc32:i,compressed:c,useCompressionStream:f,deflate64:w,format:p,compressionMethod:h,rawBitFlag:y,outputSize:b}=t;let v,S,k,z=super.readable;if(s&&(o?z=Tn(z,new sn(t)):(S=new $e(t),z=Tn(z,S))),c){const t=new u,o=p&&ie(p);let s;if(o)z=Mn(z,In(o.DecompressionStream,p,{chunkSize:e,compressionMethod:h,rawBitFlag:y,uncompressedSize:b}),t);else{const o=En(f,r,n);if(a&&!w&&i!==X&&b!==X&&o)try{s=new o(zn,{chunkSize:e})}catch{s=X}if(!s)try{z=Un(z,f,{chunkSize:e,deflate64:w},r,n,t)}catch(t){if(w||b===X||!f&&n)throw Hn(t);try{s=new r(zn)}catch{throw Hn(t)}}}s?(k=!0,z=((t,e,n,r,o)=>{const s=e.writable.getWriter(),a=e.readable.getReader(),i=r===X?new ye:X;let c,u,f=0,w=!1,p=!1;const h=new x({start(t){u=t},pull(){b()},cancel:t=>(p=!0,b(),a.cancel(t))});return(async()=>{const e=t.getReader();try{const t=new d(10);for(t.set(xn),await s.write(t);;){await y(),await s.ready;const{value:t,done:n}=await Ln(e,o);if(n)break;await s.write(t)}i&&await s.write(new d(0));const a=new d(8),c=ve(a);c.setUint32(0,i?i.get():r,!0),c.setUint32(4,n,!0),w=!0,await s.write(a),await s.close()}catch(t){await On(s,t),await Wn(e,t)}})(),(async()=>{try{for(;;){const{value:t,done:e}=await m();if(e)break;if(f+=t.length,f>n)throw new l(bn);i&&i.append(t),u.enqueue(t)}p||(p=!0,u.close())}catch(t){(t=>{p||(p=!0,u.error(t),b())})(t),await Wn(a,t)}})(),h;function m(){return a.read().catch(t=>{if(w){if(!i)throw Zn(t,Sn);if(f!=n)throw Zn(t,bn);return{done:!0}}throw Pn(t,o)})}function y(){if(!p&&0>=u.desiredSize)return new g(t=>c=t)}function b(){if(c){const t=c;c=X,t()}}})(z,s,b,i,t)):z=((t,e)=>{const n=t.getReader();return new x({async pull(t){try{const{value:e,done:r}=await n.read();r?t.close():t.enqueue(e)}catch(t){throw await Wn(n,t),Pn(t,e)}},cancel:t=>n.cancel(t)})})(z,t)}a&&!k&&(v=new ge,z=Tn(z,v)),Fn(this,z,()=>{if(v){const t=new m(v.value.buffer).getUint32(0,!1);if(i!=t)throw new l(Sn)}})}}const An=new c;function Fn(t,e,r){e=Tn(e,new z({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function In(t,e,n){if(!t)throw new l(oe);return new t(e,n)}function En(t,e,n){return t&&e?e:n&&n.requiresModule?n:void 0}function Un(t,e,n,r,o,s){const a=e&&r?r:o||r,i=n.deflate64?"deflate64-raw":kn;let c;try{c=new a(i,n)}catch(t){if(!e||!o||a==o)throw t;c=new o(i,n)}return Mn(t,c,s)}function Tn(t,e){return hn(t).pipeThrough(e)}function Mn(t,e,n){const r=e.writable.getWriter(),o=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await Ln(o,n);if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await On(r,t),await Wn(o,t)}})(),e.readable}async function On(t,e){try{await t.abort(e)}catch{}}async function Wn(t,e){try{await t.cancel(e)}catch{}}function Ln(t,e){const n=t.read();return e?n.catch(t=>{throw e.add(t),t}):n}function Pn(t,e){return e.has(t)?t:Zn(t,Bn(t)?vn:"Invalid compressed data")}function Hn(t){return Bn(t)?Zn(t,vn):t}function Bn(t){return gn(t)&&"Z_MEM_ERROR"==t.code}function Zn(t,e){const n=new l(e);return n.cause=t,n}const Vn="deflate",qn="inflate";class Nn extends z{constructor(t,e){super({});const r=this,{codecType:o}=t;let s;o.startsWith(Vn)?s=Rn:o.startsWith(qn)&&(s=Cn),r.outputSize=0;let a=0;const i=new s(t,e),c=super.readable,u=new z({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){n.assign(r,{inputSize:a})}}),f=new z({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==X&&r.outputSize>t.outputSize))throw new l(bn)},flush(){const{crc32:t}=i;n.assign(r,{crc32:t,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(i).pipeThrough(f)})}}class jn extends z{constructor(t){const e=[];let r=0,s=0;function a(){const n=new d(t);let o=0;for(;t>o;){const r=e[0],s=t-o;r.length>s?(n.set(r.subarray(0,s),o),e[0]=r.subarray(s),o+=s):(n.set(r,o),o+=r.length,e.shift())}return r-=t,n}o.isFinite(t)&&t>=1||(t=262144),super({transform(n,o){for(e.push(n),r+=n.length;r>t;)s+=t,o.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(((t,e)=>{const n=new d(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n})(e,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let Kn=()=>{};class _n{constructor(t,{readable:e,writable:r},o,s){const{options:a,config:i,T:u,useWebWorkers:f,workerURI:w}=o;let{createWorker:l}=o;const{signal:d}=u;return n.assign(t,{M:!0,O:(t.O||0)+1,readable:e.pipeThrough(new jn(kt(i))).pipeThrough(new Gn(u),{signal:d}),writable:r,options:n.assign({},a),W:o,workerURI:w,createWorker:l,terminate:()=>new g(e=>{const{L:n,M:r}=t;r?(t.P=t.P||[],t.P.push(e)):(n&&(n.terminate(),t.L=null),e()),t.H=null}),B(){if(t.M){const{P:e,L:n}=t;e&&(t.P=null,n&&(t.Z=!0,n.terminate())),t.M=!1;const r=s(t);e&&e.forEach(t=>t(r))}}}),((t,e)=>({run:()=>(async({options:t,readable:e,writable:n,B:r,W:o},s)=>{let a,i,u;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Vn),n=e?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=e?s.CompressionStream:s.DecompressionStream;t.useCompressionStream?n&&n.requiresModule&&!((t,e)=>{if(!t)return!1;let n=An.get(t);n||(n=new c,An.set(t,n));let r=n.get(e);if(r===X){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r})(r,kn)&&await f():await f()||n&&!n.requiresModule||(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await f(),a=new Nn(t,s),i=new jn(kt(s));const{signal:r}=o.T;await e.pipeThrough(a).pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0,signal:r});const{crc32:u,inputSize:w,outputSize:l}=a;return{crc32:u,inputSize:w,outputSize:l}}catch(t){if(a){const e=i?i.outputSize:0;if(o.outputSize=e,gn(t))try{t.outputSize=e}catch{}}throw t}finally{r()}function f(){return u||(u=(async()=>{if(Kn)try{return await void 0,!0}catch{}return!1})()),u}})(t,e)}))(t,i)}}class Gn extends z{constructor({onstart:t,onprogress:e,size:n,onend:r}){let o=0;super({async start(){t&&await Xn(t,n)},async transform(t,r){o+=t.length,e&&await Xn(e,o,n),r.enqueue(t)},async flush(){r&&await Xn(r,o)}})}}async function Xn(t,...e){try{await t(...e)}catch{}}let $n=[];const Jn=[];let Qn,Yn,tr=0;function er(){!Qn&&Jn.length&&o.isFinite(Yn)&&Yn>=0&&(Qn=I(rr,Yn))}function nr(){Qn&&(E(Qn),Qn=null)}function rr(){if(Qn=null,Jn.length){const[{resolve:t,stream:e,W:n}]=Jn.splice(0,1);t(new _n({},e,or(n),sr)),er()}}function or(t){return n.assign({},t,{useWebWorkers:!1,workerURI:X,createWorker:X})}function sr(){nr(),er()}function ar(t){const{V:e}=t;e&&(E(e),t.V=null)}const ir="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function cr(t,e){return fr(t,e,!0)}function ur(t){if(!t.some(t=>t>127))return!1;try{return new v("utf-8",{fatal:!0}).decode(t),!0}catch{return!1}}function fr(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?(t=>{let e="";for(let n=0;n<t.length;n++)e+=ir[t[n]];return e})(t):new v(e,{ignoreBOM:n}).decode(t)}const wr="HTTP error ",lr="HTTP Range not supported",dr="HTTP resource changed",pr="Content-Range",hr="Range",mr="GET",yr="bytes",gr=16777216,br="writable",vr=Symbol();class Sr{constructor(){this.size=0}init(){this.initialized=!0}}class kr extends Sr{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=kt(St())}={}){const r=this;let o=0;return n=zt(n),new x({async pull(s){const i=e===X?n:a.min(n,e-o),c=await Yr(r,t+o,i);c.length&&(s.enqueue(c),o+=c.length),(e!==X&&o>=e||!c.length&&i)&&s.close()}})}}class zr extends Sr{constructor(){super();const t=this,e=new R({write(e){if(!t.initialized)throw new l("Writer not initialized");return t.writeUint8Array((n=e).byteOffset||n.byteLength!=n.buffer.byteLength?new d(n):n);var n}});n.defineProperty(t,br,{get:()=>e})}writeUint8Array(){}}let xr,Rr;class Dr extends kr{constructor(t){super(),n.assign(this,{N:t,size:t.size}),Rr||(Rr=(async()=>{try{const t=new y([new d(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();xr=1==e}catch{xr=!1}})())}createReadable(t){const{N:e,size:n}=this,{offset:r=0,size:o=n-r}=t||{};if(typeof e.stream==Q){if(!r&&o>=n)return hn(e.stream());if(xr)return hn(e.slice(r,r+o).stream())}return super.createReadable(t)}async readUint8Array(t,e){const n=this,r=t+e,o=t||r<n.size?n.N.slice(t,r):n.N;let s=await o.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,r)),new d(s)}}class Cr extends Sr{constructor(t){super();const e=this,r=new z;n.defineProperty(e,br,{get:()=>r.writable}),e.contentType=t,e.j=mn(r.readable,t),e.j.catch(()=>{})}getData(){return this.j}}class Ar extends kr{constructor(t,e){super(),Ir(this,t,e)}async init(){await Er(this,Nr,Br),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:o,K:s}=e;if((n||r)&&o!==X){const{offset:n=0,size:r=o-n}=t||{},i=s&&n>=o-s.length;if(r>0&&o>n&&!i)return((t,e,n)=>{let r,o=e,s=0,i=n;return new x({start:()=>c(),async pull(t){r||await c();const{value:e,done:n}=await r.read();if(n)throw new l(lr);const o=e.length>s?e.subarray(0,s):e;s-=o.length,i-=o.length,o.length&&t.enqueue(o),s||(await(async()=>{const t=r;r=X,await t.cancel()})(),i||t.close())},cancel:t=>r&&r.cancel(t)});async function c(){const e=a.min(t.maximumRangeSize,i),n=await Nr(mr,t,Pr(t,o,e));if(206!=n.status)throw new l(lr);const c=Tr(n);if(c!==X&&c!=o)throw new l(lr);Lr(t,n),Wr(t,n),o+=e,s=e,r=n.body.getReader()}})(e,n,a.min(r,o-n))}return super.createReadable(t)}readUint8Array(t,e){return Ur(this,t,e,Nr,Br)}}class Fr extends kr{constructor(t,e){super(),Ir(this,t,e)}async init(){await Er(this,jr,Zr),super.init()}readUint8Array(t,e){return Ur(this,t,e,jr,Zr)}}function Ir(t,e,r){const{preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:u=gr,fetch:f}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(t,{url:e,options:r,preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:u,fetch:f})}async function Er(t,e,n){const{url:r,preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=St(),{protocol:n}=new w(t,e);return"http:"==n||"https:"==n})(r)&&(s||a)&&(typeof o==J||o)){const r=await e(mr,t,Pr(t,i?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(a||o&&o.toLowerCase()==yr))throw new l(lr);{let o;i&&206==r.status&&(o=new d(await r.arrayBuffer())),Wr(t,r);const s=Mr(r);s===X?await qr(t,e,n):t.size=s,o&&o.length&&Tr(r)===t.size-o.length&&(t.K=o)}}else await qr(t,e,n)}async function Ur(t,e,n,r,o){const{useRangeHeader:s,forceRangeRequests:a,K:i,size:c,options:u}=t;if(s||a){if(c>e&&0!==n){if(e+n>c&&(n=c-e),i&&e>=c-i.length){const t=e-(c-i.length);return i.slice(t,t+n)}const o=await r(mr,t,Pr(t,e,n));if(206!=o.status)throw new l(lr);const s=Tr(o);if(s!==X&&s!=e)throw new l(lr);Lr(t,o),Wr(t,o);const a=new d(await o.arrayBuffer());if(a.length!=n)throw new l(lr);return a}return et}{const{data:r}=t;return r||await o(t,u),t.data.subarray(e,e+n)}}function Tr(t){const e=t.headers.get(pr);if(e){const t=o(e.trim().split(/[\s-]+/)[1]);if(!o.isNaN(t))return t}}function Mr(t){const e=t.headers.get(pr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=o(t);if(!o.isNaN(e))return e}}}function Or({headers:t}){return{_:t.get("Etag")||X,lastModified:t.get("Last-Modified")||X}}function Wr(t,e){const{checkResourceChanges:n,G:r}=t;n&&!r&&206==e.status&&(t.G=Or(e))}function Lr(t,e){const{checkResourceChanges:r,G:o,size:s}=t;if(r){const t=Mr(e);if(t!==X&&s!==X&&t!=s)throw new l(dr);if(o){const t=Or(e);if(n.entries(o).some(([e,n])=>n!==X&&t[e]!==X&&n!=t[e]))throw new l(dr)}}}function Pr(t,e=0,r=1){return n.assign({},Hr(t),{[hr]:yr+"="+(0>e?e:e+"-"+(e+r-1))})}function Hr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?n.fromEntries(e):e}async function Br(t){await Vr(t,Nr)}async function Zr(t){await Vr(t,jr)}async function Vr(t,e){const n=await e(mr,t,Hr(t));t.data=new d(await n.arrayBuffer()),t.size=t.data.length}async function qr(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,Hr(t)),s=r.headers.get("Content-Length");s&&!r.headers.get("Content-Encoding")?t.size=o(s):await n(t,t.options)}}async function Nr(t,{fetch:e=fetch,options:r,url:o},s){const a=await e(o,n.assign({},r,{method:t,headers:s}));if(200>a.status||a.status>299)throw 416==a.status?new l(lr):new l(wr+(a.statusText||a.status));return a}function jr(t,{url:e},r){return new g((o,s)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(200>a.status||a.status>299)s(416==a.status?new l(lr):new l(wr+(a.statusText||a.status)));else{const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),o({status:a.status,arrayBuffer:()=>a.response,headers:new c(t)})}},!1),a.addEventListener("error",t=>s(t.detail?t.detail.error:new l("Network error")),!1),a.open(t,e),r)for(const t of n.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class Kr extends kr{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Fr(t,e):new Ar(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class _r extends kr{constructor(t){super(),this.X=t}async init(){const t=this;t.$=0;const e=t.X=await g.all(t.X.map(Qr));t.J=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}Y(t){const{J:e,size:n}=this,r=e[t];return r===X?n:r}async readUint8Array(t,e){const n=this,{X:r}=this;let o,s=0,i=t;for(;r[s]&&i>=r[s].size;)i-=r[s].size,s++;const c=r[s];if(c){const r=c.size;if(i+e>r){const s=r-i;o=be(await Yr(c,i,s),await n.readUint8Array(t+s,e-s))}else o=await Yr(c,i,e)}else o=et;return n.$=a.max(s,n.$),o}}class Gr extends Sr{constructor(t,e=4294967295){super();const r=this;let o,s,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new R({async write(e){if(e===vr)return void(a&&await u());const{availableSize:n}=r;if(a)e.length<n?await c(e):(await c(e.subarray(0,n)),await u(),e.length>n&&await this.write(e.subarray(n)));else{const{value:n,done:i}=await t.next();if(i&&!n)throw new l("Writer iterator completed too soon");o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await Jr(o),s=n.writable,a=s.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await f())},async abort(t){a&&await a.abort(t)}});async function c(t){const e=t.length;e&&(await a.ready,await a.write(t),o.size+=e,r.availableSize-=e)}async function u(){await f(),r.diskOffset+=o.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function f(){await a.close()}n.defineProperty(r,br,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(vr)}finally{t.releaseLock()}}}class Xr{constructor(t){return e.isArray(t)&&(t=new _r(t)),(t instanceof x||typeof t.getReader==Q)&&(t={readable:hn(t)}),t}}class $r{constructor(t){t.writable===X&&typeof t.next==Q&&(t=new Gr(t)),(t instanceof R||typeof t.getWriter==Q)&&(t={writable:yn(t)});try{t.size=t.size===X?0:t.size}catch{throw new l("Invalid writer (size must be writable)")}return t}}async function Jr(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}async function Qr(t){return t=new Xr(t),await Jr(t),t.size!==X&&t.readUint8Array||(t=new Dr(await mn(t.readable)),await Jr(t)),t}function Yr(t,e,n){return t.readUint8Array(e,n)}function to(t,e,n){if(!t.some(t=>t.reason==e)){const r={reason:e};n!==X&&(r.filename=n),t.push(r)}}const eo="filename",no="rawFilename",ro="comment",oo="rawComment",so="uncompressedSize",ao="compressedSize",io="offset",co="diskNumberStart",uo="lastModDate",fo="rawLastModDate",wo="lastAccessDate",lo="rawLastAccessDate",po="creationDate",ho="rawCreationDate",mo=[eo,no,so,ao,uo,fo,ro,oo,wo,lo,po,ho,io,co,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class yo{constructor(t){mo.forEach(e=>this[e]=t[e])}}const go="File format is not recognized",bo="End of Zip64 central directory locator not found",vo="Encryption method not supported",So="Split zip file",ko="malformed extra field",zo="wrapped entries count",xo="appended data",Ro="prepended data",Do="mismatched zip64 end of central directory record",Co="mismatched local file header (crc32 or sizes)",Ao=/^[a-zA-Z]:/,Fo=/(^|[\\/])\.\.([\\/]|$)/,Io="utf-8",Eo="cp437",Uo=[[so,U],[ao,U],[io,U],[co,T]],To={[T]:{et:ps,bytes:4},[U]:{et:hs,bytes:8}},Mo=s(o.MAX_SAFE_INTEGER);class Oo{constructor(t,e){n.assign(this,{reader:t,options:e})}async getData(t,e,r,s={}){const i=this,{nt:c,directoryOffset:u}=r;if(i.ot)throw new l($);const f=St(),{reader:p,index:h,offset:m,diskNumberStart:y,extraFieldAES:b,extraFieldZip64:v,compressionMethod:S,bitFlag:k,rawBitFlag:z,crc32:x,rawLastModDate:D,uncompressedSize:C,compressedSize:A}=i,{dataDescriptor:F}=k,E=e.localDirectory={},U=e.warnings=[],T=$o(p,y)+m,W=await Yr(p,T,30),L=ve(W);let P=cs(i,s,"password"),H=cs(i,s,"rawPassword");const B=(t=>{if(t!==X&&typeof t!=tt&&"compressed"!==t)throw new l("Invalid passThrough option (must be a boolean or 'compressed')");return t})(cs(i,s,"passThrough")),Z=!!B,V=!0===B;if(((t,e)=>{if(t&&typeof t!=Y||e&&!(e instanceof d))throw new l("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(P,H),P=P&&P.length?P:X,H=H&&H.length?H:X,b&&99!=b.originalCompressionMethod)throw new l(oe);if(30>W.length||ps(L,0)!=O)throw new l("Local file header not found");Zo(E,L,4);const{extraFieldLength:q,filenameLength:N}=E,j=E.dataOffset=T+30+N+q,_=cs(i,s,"checkLocalDirectory"),G=Yo(s,i.options),J=((t,e)=>t===X?e!=it:!!t)(_,G),nt=cs(i,s,"checkLocalFilename"),rt=((t,e)=>t===X?e==st:!!t)(nt===X?_:nt,G);let ot=et;if(rt&&(N||q)){const t=await Yr(p,T+30,N+q);ot=t.subarray(0,N),E.rawExtraField=t.subarray(N)}else E.rawExtraField=q?await Yr(p,T+30+N,q):et;rt&&(E.rawFilename=ot),Vo(i,E,L,4,!0)&&to(U,ko),((t,e,n,r,o)=>{const{rawFilename:s}=t,a=!o,i=t.st&&(e.rawBitFlag&K)==K;!r||i||n.length==s.length&&!n.some((t,e)=>t!=s[e])||as(a,o,"mismatched local file header (filename)"),(2121&e.rawBitFlag)!=(2121&t.rawBitFlag)&&as(a,o,"mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&as(a,o,"mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||i||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||as(a,o,Co)})(i,E,ot,rt,J?X:U);const{lastAccessDate:at,creationDate:ct,uid:ft,gid:wt}=E;at&&e.lastAccessDate===X&&(e.lastAccessDate=at),ct&&e.creationDate===X&&(e.creationDate=ct),ft!==X&&e.uid===X&&(e.uid=ft),wt!==X&&e.gid===X&&(e.gid=wt);const lt=cs(i,s,"checkPasswordOnly"),dt=i.encrypted&&(!V||lt),pt=dt&&!b;if(V||(e.zipCrypto=pt),dt&&!(64&~i.rawBitFlag))throw new l(vo);const ht=Z?X:(t=>se.get(t))(S);if(0!=S&&8!=S&&9!=S&&!ht&&!Z)throw new l(oe);if(dt){if(!pt&&(1>b.strength||b.strength>3))throw new l(vo);if(!P&&!H)throw new l("File contains encrypted entry")}if(j+A>a.min(p.size,u))throw new l("Entry data out of bounds");const mt=A,yt=(t=>{if(t&&(typeof t.addEventListener!=Q||typeof t.aborted!=tt))throw new l("Invalid signal (must be an AbortSignal instance)");return t||X})(cs(i,s,"signal"));ut(yt);let gt=cs(i,s,"checkOverlappingEntry");const bt=cs(i,s,"checkOverlappingEntryOnly");bt&&(gt=!0);const{onstart:vt,onprogress:kt,onend:zt}=s,xt=0!=S&&!Z,Rt=Z?A-((t,e,n)=>t?e?12:16+4*n:0)(dt,pt,b&&b.strength):C,Dt=9==S;let Ct=cs(i,s,"useCompressionStream");Dt&&(Ct=!1);const At=cs(i,s,"checkCrc32"),Ft=(At===X?cs(i,s,"checkSignature"):At)&&!Z&&(!dt||pt||b&&1==b.vendorVersion),It={options:{codecType:qn,password:P,rawPassword:H,zipCrypto:pt,encryptionStrength:b&&b.strength,checkCrc32:Ft,checkAuthenticationCode:cs(i,s,"checkAuthenticationCode"),passwordVerification:pt&&(F?D>>>8&M:x>>>24&M),outputSize:Rt,crc32:x,compressed:xt,encrypted:dt,useWebWorkers:cs(i,s,"useWebWorkers"),useCompressionStream:Ct,deflate64:Dt,format:ht?ht.format:X,codecURI:ht?ht.codecURI:X,compressionMethod:S,rawBitFlag:z,checkPasswordOnly:lt},config:f,T:{signal:yt,size:mt,onstart:vt,onprogress:kt,onend:zt}};let Et,Ut,Tt;gt&&(await(async({reader:t,it:e,index:n,offset:r,crc32:o,compressedSize:s,uncompressedSize:i,dataOffset:c,dataDescriptor:u,extraFieldZip64:f,nt:w})=>{let d=0;if(u){const n=!!f,r=await(async(t,e,{crc32:n,compressedSize:r,uncompressedSize:o,zip64:s})=>{const i=a.min(24,a.max(0,t.size-e)),c=ve(i?await Yr(t,e,i):et),u=[[s,!0],[s,!1],[!s,!0],[!s,!1]].map(([t,e])=>Go(c,t,e)).filter(t=>t&&t.compressedSize==r&&t.uncompressedSize==o);return u.find(t=>t.crc32==n)||u[0]||Go(c,s,!0)||Go(c,s,!1)})(t,c+s,{crc32:o,compressedSize:s,uncompressedSize:i,zip64:n});r?(e.localDirectory.dataDescriptor=r,d=Xo(r.zip64,r.signature)):d=Xo(n,!1)}const p={start:r,end:c+s+d,it:e},{ct:h,ut:m,ft:y}=w;if(!h.has(n)){const t=((t,e)=>{let n=0,r=t.length;for(;r>n;){const o=n+r>>>1;t[o].start<e.start?n=o+1:r=o}const o=t[n-1],s=t[n];return o&&_o(e,o)?o:s&&_o(e,s)?s:void 0})(m,p)||y.find(t=>_o(p,t));if(t){const e=new l("Overlapping entry found");throw e.overlappingEntry=t.it,e}h.add(n),y.push(p),y.length*y.length>m.length&&(y.sort((t,e)=>t.start-e.start),w.ut=((t,e)=>{const n=[];let r=0,o=0;for(;r<t.length||o<e.length;)o==e.length||r<t.length&&t[r].start<e[o].start?n.push(t[r++]):n.push(e[o++]);return n})(m,y),y.length=0)}})({reader:p,it:e,index:h,offset:T,crc32:x,compressedSize:A,uncompressedSize:C,dataOffset:j,dataDescriptor:F||E.bitFlag.dataDescriptor,extraFieldZip64:v||E.extraFieldZip64,nt:c}),((t,e,n)=>{const{dataDescriptor:r}=e,o=t.st&&(e.rawBitFlag&K)==K;r&&!o&&(t.crc32!==X&&r.crc32!=t.crc32||r.compressedSize!=t.compressedSize||r.uncompressedSize!=t.uncompressedSize)&&as(!n,n,Co)})(i,E,J?X:U));try{if(!bt){lt&&(t=new R),t=new $r(t),await Jr(t,((t,e,n)=>a.min(t,n?1032*e:e))(Rt,A,xt)),({writable:Et}=t);const e=hn(p.createReadable({offset:j,size:mt})),{outputSize:r}=await async function(t,e){const{options:n,config:r}=e,{useWebWorkers:s,useCompressionStream:a,compressed:i,checkCrc32:c,computeCrc32:u,encrypted:f,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=((t,e)=>{try{return new w(t,e).toString()}catch{return t}})(p,r.baseURI)),await(async(t,e)=>{!ae.has(t)&&e&&((t,e)=>{const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=Q&&typeof r!=Q)throw new l("Invalid codec module");ae.set(t,{CompressionStream:n,DecompressionStream:r})})(t,await(import(e)))})(d,n.codecURI));const b=!(i||c||u||f),v=d===X||!!n.codecURI;return e.useWebWorkers=!b&&v&&(s||s===X&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&h?h:X,e.createWorker=e.useWebWorkers&&m?m:X,n.useCompressionStream=a||a===X&&r.useCompressionStream,(await(async()=>{const n=$n.find(t=>!t.M);if(n)return ar(n),new _n(n,t,e,S);if($n.length<y){const n={wt:tr};return tr++,$n.push(n),new _n(n,t,e,S)}return new g(n=>{Jn.push({resolve:n,stream:t,W:e}),Yn=r.workerStarvationTimeout,er()})})()).run();function S(t){if(nr(),t.Z)return t.Z=!1,(()=>{const t=Jn.splice(0).map(({resolve:t,stream:e,W:n})=>new g(r=>{t(new _n({},e,or(n),()=>{sr(),r()}))}));return nr(),g.all(t)})();if(Jn.length){const[{resolve:e,stream:n,W:r}]=Jn.splice(0,1);e(new _n(t,n,r,S)),er()}else t.L?(ar(t),((t,e)=>{const{config:n}=e,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(t.V=I(async()=>{$n=$n.filter(e=>e!=t);try{await t.terminate()}catch{}},r))})(t,e)):$n=$n.filter(e=>e!=t)}}({readable:e,writable:Et},It);if(ut(yt),r!=Rt)throw n.assign(new l(bn),{outputSize:r});t.size+=r}}catch(e){if(gn(e)&&e.outputSize!==X&&(t.size+=e.outputSize),!lt||!gn(e)||e.message!=Pe)throw Ut=e,Tt=!0,e}finally{const e=!(t=>!(!t||!t.getData))(t)&&cs(i,s,"preventClose");if(!e&&Et&&!Et.locked){const t=Et.getWriter();if(Tt)try{await t.abort(Ut)}catch{}else await t.close()}}return lt||bt?X:t.getData?t.getData():Et}}function Wo(t){return t.byteLength>=4&&134630224==ps(t,0)}function Lo(t,e,n){let r=0;for(;n+V<=e.length&&ps(t,n)==H;)n+=V+ds(t,n+28)+ds(t,n+30)+ds(t,n+32),r++;return r%65536?0:r}function Po(t,e){return Ho(t,e,H)}async function Ho(t,e,n){return e>=0&&e+4<=t.size&&ps(ve(await Yr(t,e,4)),0)==n}function Bo(t){if(t.length>=6){const e=ve(t);if(ps(e,0)==P){const n=ds(e,4);if(6+n<=t.length)return new d(t.subarray(6,6+n))}}}function Zo(t,e,r){const o=t.rawBitFlag=ds(e,r+2),s=!(1&~o),a=ps(e,r+6);n.assign(t,{encrypted:s,version:ds(e,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:!(2048&~o)},rawLastModDate:a,lastModDate:fs(a),filenameLength:ds(e,r+22),extraFieldLength:ds(e,r+24)})}function Vo(t,e,r,o,s){const{rawExtraField:a}=e,u=e.extraField=new c,f=ve(a);let w=0,d=!1;try{for(;w<a.length;){const t=ds(f,w),e=ds(f,w+2);u.set(t,{type:t,data:a.slice(w+4,w+4+e)}),w+=4+e}}catch{d=!0}w>a.length&&(d=!0);const p=ds(r,o+4);n.assign(e,{signature:ps(r,o+10),crc32:ps(r,o+10),compressedSize:ps(r,o+14),uncompressedSize:ps(r,o+18)});const h=u.get(1);let m;h?(((t,e,n)=>{e.zip64=!0;const r=ve(t.data),o=Uo.filter(([t,n])=>e[t]==n),s=o.reduce((t,[,e])=>t+To[e].bytes,0);if(t.data.length<s){if(n)return!1;throw new l($)}const a=[];try{for(let t=0,e=0;t<o.length;t++){const[,n]=o[t],s=To[n];a.push(s.et(r,e)),e+=s.bytes}}catch(t){if(n)return!1;throw t}return o.forEach(([n],r)=>{e[n]=t[n]=a[r]}),!0})(h,e,s)||(d=!0),e.extraFieldZip64=h):Uo.some(([t,n])=>e[t]==n)&&(s?d=!0:m=!0);const y=u.get(28789);y&&(qo(y,eo,no,e,t),e.extraFieldUnicodePath=y);const g=u.get(25461);g&&(qo(g,ro,oo,e,t),e.extraFieldUnicodeComment=g);const b=u.get(39169);!b||99!=p&&!e.encrypted||7>b.data.length?(b&&(d=!0),e.compressionMethod=p):(((t,e,r)=>{const o=ve(t.data),s=ls(o,4);n.assign(t,{vendorVersion:ls(o,0),vendorId:ls(o,2),strength:s,originalCompressionMethod:r,compressionMethod:ds(o,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=X)})(b,e,p),e.extraFieldAES=b);const v=u.get(13);v&&(No(v,e),e.extraFieldPkwareUnix=v);const S=u.get(22613);S&&(No(S,e),e.extraFieldUnixType1=S);const k=u.get(21589);k&&(((t,e,n)=>{if(!t.data.length)return;const r=ve(t.data),o=ls(r,0),s=[],a=[];n?(1&~o||(s.push(uo),a.push(fo)),2&~o||(s.push(wo),a.push(lo)),4&~o||(s.push(po),a.push(ho))):5>t.data.length||(s.push(uo),a.push(fo));let c=1;s.forEach((n,o)=>{if(t.data.length>=c+4){const s=ps(r,c);e[n]=t[n]=new i(1e3*(0|s));const u=a[o];t[u]=s}c+=4})})(k,e,s),e.extraFieldExtendedTimestamp=k);const z=u.get(10);z&&(((t,e)=>{const r=ve(t.data);let o,s=4;try{for(;s<t.data.length&&!o;){const e=ds(r,s),n=ds(r,s+2);1==e&&(o=t.data.slice(s+4,s+4+n)),s+=4+n}}catch{}if(o&&24==o.length){const r=ve(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);n.assign(t,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:i});const c={lastModDate:ws(s),lastAccessDate:ws(a),creationDate:ws(i)};n.assign(t,c),n.assign(e,c,{rawLastAccessDate:a,rawCreationDate:i})}})(z,e),e.extraFieldNTFS=z);const x=u.get(30837);let R;x&&(R=jo(x,e,!0),e.extraFieldInfoZip=x);const D=u.get(30805);D&&(jo(D,R?{}:e,!1),e.extraFieldUnix=D);const C=u.get(6534);if(C&&(e.extraFieldUSDZ=C),m)throw new l($);return d}function qo(t,e,r,o,s){if(5>t.data.length)return void(t.valid=!1);const a=ve(t.data),i=new ye;i.append(s[r]);const c=ve(new d(4));c.setUint32(0,i.get(),!0);const u=ps(a,1),f=ls(a,0);n.assign(t,{version:f,[e]:cr(t.data.subarray(5)),valid:1==f&&!s.bitFlag.languageEncodingFlag&&u==ps(c,0)}),t.valid&&(o[e]=t[e],o[e+"UTF8"]=!0)}function No(t,e){if(8>t.data.length)return;const r=ve(t.data),o={lastAccessDate:new i(1e3*(0|ps(r,0))),lastModDate:new i(1e3*(0|ps(r,4)))};12>t.data.length||(o.uid=ds(r,8),o.gid=ds(r,10)),n.assign(t,o),n.assign(e,o)}function jo(t,e,r){try{const o=ve(t.data);let s,a;if(r){let e=0;const r=ls(o,e++),i=ls(o,e++);s=Ko(t.data.subarray(e,e+i)),e+=i;const c=ls(o,e++);a=Ko(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:s,gid:a})}else 4>t.data.length||(s=ds(o,0),a=ds(o,2),n.assign(t,{uid:s,gid:a}));return s!==X&&(e.uid=s),a!==X&&(e.gid=a),s!==X||a!==X}catch{}}function Ko(t){const e=new d(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function _o(t,e){return t.start<e.end&&e.start<t.end}function Go(t,e,n){const r=n?4:0;if(t.byteLength<Xo(e,n)||n&&ps(t,0)!=L)return X;const o=ps(t,r);let s,a;try{e?(s=hs(t,r+4),a=hs(t,r+12)):(s=ps(t,r+4),a=ps(t,r+8))}catch{return X}return{signature:n,zip64:e,crc32:o,compressedSize:s,uncompressedSize:a}}function Xo(t,e){return(t?20:12)+(e?4:0)}function $o(t,e){return t.Y?t.Y(e):0}async function Jo(t){return ps(ve(await Yr(t,0,4)))}function Qo(t){return t===st||t===at||t===it}function Yo(t,e){return ts(t,ts(e,at))}function ts(t,e){const n=t[ot];if(n!==X){if(!Qo(n))throw new l("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}const r=t[rt];return r===X?e:r?st:e==it?it:at}function es(t,e){if(e==it)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(Fo.test(t)||t.startsWith("/")||t.startsWith("\\")||Ao.test(t))||e==st&&(n.includes(".")||n.includes("")||t.includes("\0"))}async function*ns(t,e){const n=t.size-e,r=await Yr(t,n,e),o=ve(r);for(let t=r.length-q;t>=0;t--)101010256==ps(o,t)&&(yield[o,n,r,t,n+t])}function rs(t,e,n){return{offset:n,buffer:new d(t.subarray(e,e+q)).buffer}}async function os(t,e,n,r,o,s,a){const i=ds(e,r+10),c=ps(e,r+12),u=ps(e,r+16);if(i==T||c==U||u==U)return await ss(t,e,n,o-N,s,a)==Z?2:0;if(!i&&!c)return 1;const f=ds(e,r+6);for(const r of[o-c,$o(t,f)+u])if(await ss(t,e,n,r,s,a)==H)return 2;return 0}async function ss(t,e,n,r,o,s){return 0>r||r+4>o?X:n>r?s.lt>0?(s.lt--,ps(ve(await Yr(t,r,4)),0)):X:ps(e,r-n)}function as(t,e,n){t?is(n):to(e,n)}function is(t){const e=new l("Ambiguous archive");throw e.reason=t,e}function cs(t,e,n){return e[n]===X?t.options[n]:e[n]}function us(t,e,n){return ct(cs(t,e,n))}function fs(t){const e=(4294901760&t)>>16,n=t&T,r=new i(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return G>r?G:r}function ws(t){return new i(o(t/s(1e4)-s(116444736e5)))}function ls(t,e){return t.getUint8(e)}function ds(t,e){return t.getUint16(e,!0)}function ps(t,e){return t.getUint32(e,!0)}function hs(t,e){const n=t.getBigUint64(e,!0);if(n>Mo)throw new l("64-bit value exceeds Number.MAX_SAFE_INTEGER");return o(n)}(t=>{const e=xt(Dt(t));n.assign(dt,e),n.assign(vt,e)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends re{constructor(t){(t=>{if("deflate-raw"!=t)throw new TypeError("Unsupported compression format: "+t)})(t),super(new ee)}}}),t.BlobReader=Dr,t.BlobWriter=Cr,t.Data64URIWriter=class extends zr{constructor(t){super(),n.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",ht:""})}writeUint8Array(t){const e=this;let n,o=e.ht;const s=e.ht.length;for(e.ht="",n=0;n<3*a.floor((s+t.length)/3)-s;n++)o+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.ht+=r.fromCharCode(t[n]);o.length>2?e.data+=k(o):e.ht=o+e.ht}getData(){return this.data+k(this.ht)}},t.HttpRangeReader=class extends Kr{constructor(t,e={}){super(t,n.assign({},e,{useRangeHeader:!0}))}},t.TextWriter=class extends Cr{constructor(t){super(),n.assign(this,{encoding:t,yt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,yt:e}=this,n=await super.getData();return n.text&&e?n.text():((t,e)=>fr(t,e,!1))(new d(await n.arrayBuffer()),t)}},t.ZipReader=class{constructor(t,e={}){n.assign(this,{reader:new Xr(t),options:e||{},nt:{ct:new u,ut:[],ft:[]},gt:new WeakSet})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;if(await Jr(r),r.size!==X&&r.readUint8Array||(r=new Dr(await mn(r.readable)),await Jr(r)),r.size<q)throw new l(go);const s=e.warnings=[],i=Yo(t,e.options),c=i==st,f=i!=it,w=((t,e)=>{if(t!==X){const e=ft(t);if("number"!=typeof e||o.isNaN(e)||0>e)throw new l("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return e}return e==st?0:e==it?1/0:T})(cs(e,t,"maxAppendedDataSize"),i),p=((t,e)=>{if(t===X)return e;if(!Qo(t))throw new l("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return t})(cs(e,t,"filenameValidation"),i),h=cs(e,t,"normalizeFilename"),{bt:m,vt:y}=await(async(t,e,n)=>{const{size:r}=t,o=a.min(r,65557),s={lt:64};let i,c,u=0;for await(const[n,a,f,w,l]of ns(t,o)){const o=ds(n,w+20);if(l+q+o==r){const o=await os(t,n,a,w,l,r,s);if(2==o){if(i||(i=rs(f,w,l)),u++,!e||u>1)break}else 1!=o||c||(c=rs(f,w,l))}}return i||(i=c),i||(i=await(async(t,e,n)=>{const{size:r}=t,o=a.min(r,e==1/0?r:65557+e);let s,i;for await(const[e,a,c,u,f]of ns(t,o)){const o=rs(c,u,f);s||(s=o);const w=await os(t,e,a,u,f,r,n);if(2==w)return o;1!=w||i||(i=o)}return i||s})(t,n,s)),{bt:i,vt:u}})(r,f,w);if(!m)throw await(async t=>await Jo(t)==W)(r)?new l(So):new l("End of central directory not found");f&&y>1&&is("multiple end of central directory records");const g=ve(m);let b=ps(g,12),v=ps(g,16);const S=m.offset,k=ds(g,20),x=S+q+k,R=r.size-x;R>w&&is(xo),R>0&&to(s,xo);let D=ds(g,4);const C=r.$||0;let A,F,I,E,L,K=ds(g,6),G=ds(g,10),J=0,Q=j;const Y=v==U||b==U||G==T||K==T;if(v!=U&&K!=T&&(v+=$o(r,K)),Y){const t=m.offset<N?et:await Yr(r,m.offset-N,N),e=ve(t);if(t.length==N&&ps(e,0)==Z){v=$o(r,ps(e,4))+hs(e,8);let t=await Yr(r,v,j),i=ve(t);if(t.length<j||ps(i,0)!=B){const e=m.offset-N;let n=e-j;if(await Ho(r,n,B)||(n=await(async(t,e)=>{const n=a.max(0,e-65591),r=await Yr(t,n,e-n),s=ve(r);for(let t=r.length-j;t>=0;t--)if(ps(s,t)==B&&t+12+o(s.getBigUint64(t+4,!0))==r.length)return n+t})(r,e)),n!==X&&n>=0&&v!=n){const e=v;v=n,v>e&&(J=v-e),t=await Yr(r,v,j),i=ve(t)}}if(t.length<j||ps(i,0)!=B)throw new l(bo);if(I=!0,E=hs(i,4)>44,E){const t=a.min(hs(i,4)-44,r.size-v-j);t>0&&(Q+=t,L=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=ve(t),o=ds(r,26);n.assign(e,{compressionMethod:ds(r,0),compressedSize:hs(r,2),uncompressedSize:hs(r,10),encryptionAlgorithm:ds(r,18),bitLength:ds(r,20),flags:ds(r,22),hashAlgorithm:ds(r,24),hashData:t.subarray(28,28+o)})}return e})(await Yr(r,v+j,t)))}D==T?D=ps(i,16):D!=ps(i,16)&&as(c,s,Do),K==T?K=ps(i,20):K!=ps(i,20)&&as(c,s,Do),G==T?G=hs(i,32):G!=hs(i,32)&&as(c,s,Do),b==U?b=hs(i,40):b!=hs(i,40)&&as(c,s,Do),v=$o(r,K)+hs(i,48)+J}else if(v==U||b==U||K==T)throw new l(bo)}let tt=b;const nt=m.offset-(I?Q+N:0);if(C!=D)throw new l(So);if(0>v)throw new l(go);let at=0,ct=v<r.size?await Yr(r,v,b):et,ut=ve(ct);if(b){let t=nt-b;if(v!=t&&K==D){const e=ct.length>=4&&(ps(ut,at)==H||!(!L||!L.compressedSize)||Wo(ut));if(!e&&0>t)throw new l(go);let n=!e;if(t>=0&&t+4<=r.size){let o=await Po(r,t);if(!o){const e=await(async(t,e)=>{const n=a.max(0,e-65541),r=await Yr(t,n,e-n),o=ve(r);for(let t=r.length-6;t>=0;t--)if(ps(o,t)==P&&t+6+ds(o,t+4)==r.length)return n+t})(r,nt),n=e-b;e!==X&&n>=0&&await Po(r,n)&&(t=n,o=!0)}e&&(n=o)}if(n&&t!=v){const n=v;v=t,ct=await Yr(r,v,b),ut=ve(ct);const o=v-n,i=((t,e)=>{if(t.length<V)return X;const n=ps(e,42);if(n!=U)return n;let r=V+ds(e,28);const o=a.min(r+ds(e,30),t.length);for(;o>=r+4;){const t=ds(e,r),n=ds(e,r+2);if(1==t){let t=r+4;return ps(e,24)==U&&(t+=8),ps(e,20)==U&&(t+=8),t+8>o?X:hs(e,t)}r+=4+n}return X})(ct,ut),u=i!==X&&await Ho(r,i,O),f=i!==X&&await Ho(r,i+o,O);0>=o||u&&!f?(as(c,s,"mismatched central directory offset"),0>o&&!u&&f&&(J+=o)):(J+=o,A=e)}}if(4>ct.length)throw new l(go)}else!G&&nt>v&&K==D&&(J+=nt-v,v=nt);const wt=nt-v;if(b==wt||0>wt||K!=D||(b=wt,ct=await Yr(r,v,b),ut=ve(ct)),0>v||v>=r.size)throw new l(go);e.directoryOffset=v,e.directoryLength=tt;const lt=us(e,t,"decryptCentralDirectory");let dt,pt;if(lt&&G&&ct.length>=4&&ps(ut,0)!=H&&(E||Wo(ut))){const t=((t,e,n)=>{const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&n>=r?r:n})(L,tt,ct.length);pt=ct.subarray(t),ct=await lt(ct.subarray(0,t),L),ut=ve(ct),tt=ct.length,dt=!0}!L||dt||ct.length>=4&&ps(ut,0)!=H||to(s,"unknown zip64 extensible data"),F=v;const ht=cs(e,t,"filenameEncoding"),mt=cs(e,t,"commentEncoding"),yt=new u;let gt,bt=-1;const vt=!c&&!I;!G&&vt&&(G=Lo(ut,ct,at),G&&to(s,zo));const St=n.assign({},e.options,t,{[ot]:i});delete St[rt];for(let o=0;G>o;o++){const i=new Oo(r,St);if(at+V>ct.length||ps(ut,at)!=H){if(0==o&&!dt&&(E||Wo(ut)))throw new l("Encrypted central directory is not supported");throw new l("Central directory header not found")}Zo(i,ut,at+6);const u=!!i.bitFlag.languageEncodingFlag,f=at+V,w=f+i.filenameLength+i.extraFieldLength,m=ds(ut,at+4),y=!(m>>8),g=m>>8==3,b=ds(ut,at+32),v=w+b,S=new d(ct.subarray(f,v)),k=S.subarray(0,i.filenameLength),x=S.subarray(i.filenameLength+i.extraFieldLength),R=u||!ht&&ur(k),D=u||!mt&&ur(x),C=ps(ut,at+38),A=C&M,I={readOnly:!!(1&A),hidden:!!(2&A),system:!!(4&A),directory:!!(16&A),archive:!!(32&A)},O=ps(ut,at+42),W=us(e,t,"decodeText")||cr,L=R?Io:ht||Eo,P=D?Io:mt||Eo;let B=W(k,L,"filename");B===X&&(B=cr(k,L));let Z,q=W(x,P,"comment");q===X&&(q=cr(x,P)),n.assign(i,{index:o,st:dt,versionMadeBy:m,msDosCompatible:y,zip64:!1,compressedSize:0,uncompressedSize:0,St:b,offset:O,diskNumberStart:ds(ut,at+34),internalFileAttributes:ds(ut,at+36),externalFileAttributes:C,msdosAttributesRaw:A,msdosAttributes:I,rawFilename:k,filenameUTF8:R,commentUTF8:D,rawExtraField:S.subarray(i.filenameLength,i.filenameLength+i.extraFieldLength),rawComment:x,filename:B,comment:q});try{Z=Vo(i,i,ut,at+6)}catch(t){if(c||t.message!=$)throw t;i.ot=!0,to(s,"missing zip64 extra field",i.filename)}if(B=i.filename,h){const t=h(B);t!==X&&(B=i.filename=t)}if(es(B,p)){const t=new l("Unsafe filename");throw t.filename=B,t}if(Z&&to(s,ko,B),i.ot&&i.offset==U)F=0;else{i.offset+=J;const t=$o(r,i.diskNumberStart)+i.offset;F=a.min(t,F),bt>t&&to(s,"unsorted central directory",B),bt=t}(i.version&M)>63&&to(s,"unknown version needed to extract",B),32&~i.rawBitFlag||to(s,"compressed patched data",B),yt.has(i.filename)&&(gt=!0),yt.add(i.filename);const N=i.externalFileAttributes>>16&T;i.unixMode===X&&16877&N&&(i.unixMode=N);const j=!!(2048&i.unixMode),K=!!(1024&i.unixMode),Q=!!(512&i.unixMode),Y=40960==((i.unixMode===X?N:i.unixMode)&_),tt=i.unixMode!==X&&16384==(i.unixMode&_)||16384==(N&_)||y&&I.directory||i.filename.endsWith("/"),et=!Y&&!tt&&(i.unixMode!==X?!!(73&i.unixMode):g&&!!(73&N));n.assign(i,{setuid:j,setgid:K,sticky:Q,symlink:Y,unixExternalUpper:N,executable:et,directory:tt,zipCrypto:i.encrypted&&!i.extraFieldAES});const nt=new yo(i);if(i.ot&&e.gt.add(nt),nt.getData=(t,n)=>i.getData(t,nt,e,n),nt.arrayBuffer=async t=>{const r=new z,o=mn(r.readable).then(t=>t.arrayBuffer());return o.catch(()=>{}),await i.getData(r,nt,e,n.assign({},t,{preventClose:!1})),o},at=v,o==G-1&&vt){const t=Lo(ut,ct,at);t&&(G+=t,to(s,zo))}const{onprogress:rt}=t;if(rt)try{await rt(o+1,G,new yo(i))}catch{}yield nt}let kt=at,zt=Bo(ct.subarray(at))||(dt?Bo(pt):X);if(!zt&&!dt){const t=v+at,e=a.min(nt-t,65541);6>e||(zt=Bo(await Yr(r,t,e)))}zt&&(e.digitalSignature=zt,kt=at+6+zt.length),(at!=tt&&kt!=tt||!dt&&at!=b&&kt!=b)&&as(c,s,"trailing central directory data"),gt&&as(c,s,"duplicate filename");const xt=cs(e,t,"extractPrependedData"),Rt=cs(e,t,"extractAppendedData"),Dt=(c||xt)&&G&&4==F&&await(async t=>{const e=await Jo(t);return e==W||808471376==e})(r)?4:0;return c&&(J>0||G&&F>Dt)&&is(Ro),(J>0||G&&F>4)&&to(s,Ro),A&&to(s,"prepended central directory"),xt&&(e.prependedData=F>Dt?await Yr(r,Dt,F-Dt):et),e.comment=k?await Yr(r,S+q,k):et,Rt&&(e.appendedData=x<r.size?await Yr(r,x,r.size-x):et),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[nt](){return this.close()}},t.configure=t=>{n.assign(vt,xt(Dt(t)))},t.inflateRaw=(t,e)=>Yt(t,{i:2},e&&e.kt,e&&e.m)});
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:n,String:r,Number:o,BigInt:s,Math:a,Date:i,Map:c,Set:u,Response:f,URL:w,Error:l,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:b,TextDecoder:v,crypto:S,btoa:k,TransformStream:z,ReadableStream:x,WritableStream:R,CompressionStream:F,DecompressionStream:D,navigator:C,Worker:A,setTimeout:I,clearTimeout:E}="undefined"!=typeof globalThis?globalThis:self,U=4294967295,T=65535,M=255,O=67324752,W=134695760,L=W,H=84233040,P=33639248,B=101075792,Z=117853008,V=46,q=22,N=20,j=56,K=8192,_=61440,G=new i(1980,0,1),X=void 0,$="Zip64 extra field not found",J="undefined",Q="function",Y="string",ee="boolean",te=new d,ne=Symbol.asyncDispose||Symbol(),re="checkAmbiguity",oe="strictness",se="strict",ae="balanced",ie="tolerant";function ce(e){if(e&&typeof e!=Q)throw new l("Invalid option (must be a function)");return e}function ue(e){if(e&&e.aborted)throw e.reason===X?new DOMException("The operation was aborted","AbortError"):e.reason}function fe(e){return typeof e==Y&&e.trim()?o(e):e}const we=262144;let le=2;try{typeof C!=J&&C.hardwareConcurrency&&(le=C.hardwareConcurrency)}catch{}const de={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:we,maxWorkers:le,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof F!=J&&F,DecompressionStream:typeof D!=J&&D},pe="maxWorkers",he="baseURI",me=["wasmURI","workerURI"],ye=["chunkSize",pe,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ge=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],be=[he,...me,"useCompressionStream","useWebWorkers",...ye,...ge],ve={...de};function Se(){return ve}function ke(e){return ze(e.chunkSize)}function ze(e){return e=fe(e),o.isInteger(e)&&e>=1?a.max(e,64):we}function xe(e){const t={};for(const n of be){const r=e[n];r!==X&&(t[n]=Re(n,r))}return t}function Re(e,t){if(ye.includes(e)){if(t=fe(t),e==pe&&(!o.isInteger(t)||1>t))throw new l("Invalid maxWorkers (must be an integer greater than 0)")}else if(ge.includes(e))ce(t);else if(e==he){if(t&&typeof t!=Y)throw new l("Invalid baseURI (must be a string)")}else if(me.includes(e)&&t&&typeof t!=Y&&typeof t!=Q)throw new l("Invalid URI (must be a string or a function returning a string)");return t}function Fe(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===X&&r===X)return e;const o=n.assign({},e);return o.CompressionStreamFallback===X&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===X&&(o.DecompressionStreamFallback=r),o}var De=d,Ce=p,Ae=Int32Array,Ie=new De([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ee=new De([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ue=new De([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Te=(e,t)=>{for(var n=new Ce(31),r=0;31>r;++r)n[r]=t+=1<<e[r-1];var o=new Ae(n[30]);for(r=1;30>r;++r)for(var s=n[r];s<n[r+1];++s)o[s]=s-n[r]<<5|r;return{b:n,r:o}},Me=Te(Ie,2),Oe=Me.b,We=Me.r;Oe[28]=258,We[258]=28;for(var Le=Te(Ee,0).b,He=new Ce(32768),Pe=0;32768>Pe;++Pe){var Be=(43690&Pe)>>1|(21845&Pe)<<1;Be=(61680&(Be=(52428&Be)>>2|(13107&Be)<<2))>>4|(3855&Be)<<4,He[Pe]=((65280&Be)>>8|(255&Be)<<8)>>1}var Ze=(e,t,n)=>{for(var r=e.length,o=0,s=new Ce(t);r>o;++o)e[o]&&++s[e[o]-1];var a,i=new Ce(t);for(o=1;t>o;++o)i[o]=i[o-1]+s[o-1]<<1;if(n){a=new Ce(1<<t);var c=15-t;for(o=0;r>o;++o)if(e[o])for(var u=o<<4|e[o],f=t-e[o],w=i[e[o]-1]++<<f,l=w|(1<<f)-1;l>=w;++w)a[He[w]>>c]=u}else for(a=new Ce(r),o=0;r>o;++o)e[o]&&(a[o]=He[i[e[o]-1]++]>>15-e[o]);return a},Ve=new De(288);for(Pe=0;144>Pe;++Pe)Ve[Pe]=8;for(Pe=144;256>Pe;++Pe)Ve[Pe]=9;for(Pe=256;280>Pe;++Pe)Ve[Pe]=7;for(Pe=280;288>Pe;++Pe)Ve[Pe]=8;var qe=new De(32);for(Pe=0;32>Pe;++Pe)qe[Pe]=5;var Ne=Ze(Ve,9,1),je=Ze(qe,5,1),Ke=e=>{for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},_e=(e,t,n)=>{var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&n},Ge=(e,t)=>{var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},Xe=e=>(e+7)/8|0,$e=(e,t,n)=>((null==t||0>t)&&(t=0),(null==n||n>e.length)&&(n=e.length),new De(e.subarray(t,n))),Je=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Qe=(e,t,n)=>{var r=new l(t||Je[e]);if(r.code=e,l.captureStackTrace&&l.captureStackTrace(r,Qe),!n)throw r;return r},Ye=(e,t,n,r)=>{var o=e.length,s=r?r.length:0;if(!o||t.f&&!t.o)return n||new De(0);var i=!n,c=i||2!=t.i,u=t.i;i&&(n=new De(3*o));var f=e=>{var t=n.length;if(e>t){var r=new De(a.max(2*t,e));r.set(n),n=r}},w=t.f||0,l=t.p||0,d=t.b||0,p=t.o,h=t.d,m=t.l,y=t.n,g=8*o;do{if(!p){w=_e(e,l,1);var b=_e(e,l+1,3);if(l+=3,!b){var v=e[(E=Xe(l)+4)-4]|e[E-3]<<8,S=E+v;if(S>o){u&&Qe(0);break}c&&f(d+v),n.set(e.subarray(E,S),d),t.b=d+=v,t.p=l=8*S,t.f=w;continue}if(1==b)p=Ne,h=je,m=9,y=5;else if(2==b){var k=_e(e,l,31)+257,z=_e(e,l+10,15)+4,x=k+_e(e,l+5,31)+1;l+=14;for(var R=new De(x),F=new De(19),D=0;z>D;++D)F[Ue[D]]=_e(e,l+3*D,7);l+=3*z;var C=Ke(F),A=(1<<C)-1,I=Ze(F,C,1);for(D=0;x>D;){var E,U=I[_e(e,l,A)];if(l+=15&U,16>(E=U>>4))R[D++]=E;else{var T=0,M=0;for(16==E?(M=3+_e(e,l,3),l+=2,T=R[D-1]):17==E?(M=3+_e(e,l,7),l+=3):18==E&&(M=11+_e(e,l,127),l+=7);M--;)R[D++]=T}}var O=R.subarray(0,k),W=R.subarray(k);m=Ke(O),y=Ke(W),p=Ze(O,m,1),h=Ze(W,y,1)}else Qe(1);if(l>g){u&&Qe(0);break}}c&&f(d+131072);for(var L=(1<<m)-1,H=(1<<y)-1,P=l;;P=l){var B=(T=p[Ge(e,l)&L])>>4;if((l+=15&T)>g){u&&Qe(0);break}if(T||Qe(2),256>B)n[d++]=B;else{if(256==B){P=l,p=null;break}var Z=B-254;if(B>264){var V=Ie[D=B-257];Z=_e(e,l,(1<<V)-1)+Oe[D],l+=V}var q=h[Ge(e,l)&H],N=q>>4;if(q||Qe(3),l+=15&q,W=Le[N],N>3&&(V=Ee[N],W+=Ge(e,l)&(1<<V)-1,l+=V),l>g){u&&Qe(0);break}c&&f(d+131072);var j=d+Z;if(W>d){var K=s-W,_=a.min(W,j);for(0>K+d&&Qe(3);_>d;++d)n[d]=r[K+d]}for(;j>d;++d)n[d]=n[d-W]}}t.o=p,t.p=P,t.b=d,t.f=w,p&&(w=1,t.l=m,t.d=h,t.n=y)}while(!w);return d!=n.length&&i?$e(n,0,d):n.subarray(0,d)},et=new De(0),tt=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.h=t;var n=e&&e.m&&e.m.subarray(-32768);this.s={i:0,b:n?n.length:0},this.v=new De(32768),this.p=new De(0),n&&this.v.set(n)}return e.prototype.e=function(e){if(this.h||Qe(5),this.d&&Qe(4),this.p.length){if(e.length){var t=new De(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=Ye(this.p,this.s,this.v);this.h($e(n,t,this.s.b),this.d),this.v=$e(n,this.s.b-32768),this.s.b=this.v.length,this.p=$e(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),nt=void 0!==v&&new v;try{nt.decode(et,{stream:!0})}catch(e){}class rt extends z{constructor(e){super({start(t){e.h=e=>{e.length&&t.enqueue(e)}},transform(t){e.push(t)},flush(){e.push(new d(0),!0)}})}}const ot="Compression method not supported",st=new c,at=new c;function it(e){return at.get(e)}const ct=[[],[],[],[],[],[],[],[]];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;ct[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const n=ct[t-1][e];ct[t][e]=n>>>8^ct[0][255&n]}const[ut,ft,wt,lt,dt,pt,ht,mt]=ct;class yt{constructor(e){this.S=e||-1}append(e){let t=0|this.S;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new m(e.buffer,e.byteOffset,n),s=n-8;for(;s>=r;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=mt[255&e]^ht[e>>>8&255]^pt[e>>>16&255]^dt[e>>>24&255]^lt[255&n]^wt[n>>>8&255]^ft[n>>>16&255]^ut[n>>>24&255]}}for(;n>r;r++)t=t>>>8^ut[255&(t^e[r])];this.S=t}get(){return~this.S}}class gt extends z{constructor(){let e;const t=new yt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function bt(e,t){const n=new d(e.length+t.length);return n.set(e),n.set(t,e.length),n}function vt(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const St=64,kt=20,zt=new d([128]),xt=new d(1),Rt=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Ft=new d(256),Dt=new Int32Array(256),Ct=new Int32Array(256),At=new Int32Array(256),It=new Int32Array(256);let Et=!1;function Ut(e){const t=(()=>{const e=new Int32Array(Rt),t=new Int32Array(16),n=new d(St),r=new m(n.buffer),o=new d(8);let s=0,i=0;return{update:c,digest:()=>{const t=8*i,n=a.floor(t/4294967296),r=t>>>0;for(c(zt,0,1);56!=s;)c(xt,0,1);o[0]=n>>>24,o[1]=n>>>16,o[2]=n>>>8,o[3]=n,o[4]=r>>>24,o[5]=r>>>16,o[6]=r>>>8,o[7]=r,c(o,0,8);const u=new d(kt),f=new m(u.buffer);for(let t=0;t<e.length;t++)f.setInt32(4*t,e[t]);return e.set(Rt),s=0,i=0,u}};function c(e,t,o){const a=t+o;if(i+=o,s){for(;a>t&&St>s;)n[s++]=e[t++];s==St&&(u(r,0),s=0)}if(a>=t+St){const n=new m(e.buffer,e.byteOffset,e.byteLength);for(;a>=t+St;t+=St)u(n,t)}for(;a>t;)n[s++]=e[t++]}function u(n,r){for(let e=0;16>e;e++)t[e]=n.getInt32(r+4*e);let o,s=e[0],a=e[1],i=e[2],c=e[3],u=e[4];for(let e=0;15>e;e+=5)u=(s<<5|s>>>27)+((i^c)&a^c)+u+1518500249+t[e]|0,a=a<<30|a>>>2,c=(u<<5|u>>>27)+((a^i)&s^i)+c+1518500249+t[e+1]|0,s=s<<30|s>>>2,i=(c<<5|c>>>27)+((s^a)&u^a)+i+1518500249+t[e+2]|0,u=u<<30|u>>>2,a=(i<<5|i>>>27)+((u^s)&c^s)+a+1518500249+t[e+3]|0,c=c<<30|c>>>2,s=(a<<5|a>>>27)+((c^u)&i^u)+s+1518500249+t[e+4]|0,i=i<<30|i>>>2;u=(s<<5|s>>>27)+((i^c)&a^c)+u+1518500249+t[15]|0,a=a<<30|a>>>2,o=t[13]^t[8]^t[2]^t[0],o=o<<1|o>>>31,t[0]=o,c=(u<<5|u>>>27)+((a^i)&s^i)+c+1518500249+o|0,s=s<<30|s>>>2,o=t[14]^t[9]^t[3]^t[1],o=o<<1|o>>>31,t[1]=o,i=(c<<5|c>>>27)+((s^a)&u^a)+i+1518500249+o|0,u=u<<30|u>>>2,o=t[15]^t[10]^t[4]^t[2],o=o<<1|o>>>31,t[2]=o,a=(i<<5|i>>>27)+((u^s)&c^s)+a+1518500249+o|0,c=c<<30|c>>>2,o=t[0]^t[11]^t[5]^t[3],o=o<<1|o>>>31,t[3]=o,s=(a<<5|a>>>27)+((c^u)&i^u)+s+1518500249+o|0,i=i<<30|i>>>2;for(let e=20;40>e;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(s<<5|s>>>27)+(a^i^c)+u+1859775393+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(s^a^i)+c+1859775393+o|0,s=s<<30|s>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,i=(c<<5|c>>>27)+(u^s^a)+i+1859775393+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(i<<5|i>>>27)+(c^u^s)+a+1859775393+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,s=(a<<5|a>>>27)+(i^c^u)+s+1859775393+o|0,i=i<<30|i>>>2;for(let e=40;60>e;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(s<<5|s>>>27)+(a&i|(a|i)&c)+u+2400959708+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(s&a|(s|a)&i)+c+2400959708+o|0,s=s<<30|s>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,i=(c<<5|c>>>27)+(u&s|(u|s)&a)+i+2400959708+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(i<<5|i>>>27)+(c&u|(c|u)&s)+a+2400959708+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,s=(a<<5|a>>>27)+(i&c|(i|c)&u)+s+2400959708+o|0,i=i<<30|i>>>2;for(let e=60;80>e;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(s<<5|s>>>27)+(a^i^c)+u+3395469782+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(s^a^i)+c+3395469782+o|0,s=s<<30|s>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,i=(c<<5|c>>>27)+(u^s^a)+i+3395469782+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(i<<5|i>>>27)+(c^u^s)+a+3395469782+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,s=(a<<5|a>>>27)+(i^c^u)+s+3395469782+o|0,i=i<<30|i>>>2;e[0]=e[0]+s|0,e[1]=e[1]+a|0,e[2]=e[2]+i|0,e[3]=e[3]+c|0,e[4]=e[4]+u|0}})(),n=new d(St),r=new d(St);e.length>St&&(t.update(e,0,e.length),e=t.digest());for(let t=0;St>t;t++){const o=t<e.length?e[t]:0;n[t]=54^o,r[t]=92^o}return t.update(n,0,St),{update(e,n,r){t.update(e,n,r)},digest(){const e=t.digest();t.update(r,0,St),t.update(e,0,kt);const o=t.digest();return t.update(n,0,St),o}}}function Tt(e){return Ft[e>>>24]<<24|Ft[e>>>16&255]<<16|Ft[e>>>8&255]<<8|Ft[255&e]}function Mt(e){return e<<24|(65280&e)<<8|e>>>8&65280|e>>>24}function Ot(e){return 255&(e<<1^27*(e>>7))}const Wt=typeof S!=J&&typeof S.getRandomValues==Q,Lt="Invalid password",Ht="zipjs-abort-check-password";function Pt(e){if(Wt)return S.getRandomValues(e);throw new l("Crypto API not supported")}const Bt={name:"PBKDF2"},Zt=n.assign({hash:{name:"HMAC"}},Bt),Vt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Bt),qt=["deriveBits"],Nt=[8,12,16],jt=[16,24,32],Kt=10,_t=typeof S!=J,Gt=_t&&S.subtle;let Xt=_t&&typeof Gt!=J&&typeof Gt.importKey==Q&&typeof Gt.deriveBits==Q;class $t extends z{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){const s={};super({start(){Qt(s,e,t,n)},async transform(e,t){const{password:n,strength:o,R:a,ready:i}=s;if(n?(await(async(e,t,n,r)=>{const o=await nn(e,t,n,on(r,0,Nt[t])),s=on(r,Nt[t]);if(o[0]!=s[0]||o[1]!=s[1])throw tn(e),new l(Lt)})(s,o,n,on(e,0,Nt[o]+2)),e=on(e,Nt[o]+2),r?(tn(s),t.error(new l(Ht))):a()):await i,s.F)return;const c=new d(e.length-Kt-(e.length-Kt)%16);t.enqueue(en(s,e,c,0,Kt,!0))},async flush(e){const{D:t,C:n,ready:r}=s;if(t){if(await r,s.F)return;const a=on(n,n.length-Kt),i=new d(on(n,0,n.length-Kt));t.process(i,!0);const c=t.digest();let u=n.length<Kt?1:0;for(let e=0;Kt>e;e++)u|=c[e]^a[e];if(u&&o)return void e.error(new l("Invalid authentication code"));e.enqueue(i)}}}),Yt(this,s)}}class Jt extends z{constructor({password:e,rawPassword:t,encryptionStrength:n}){const r={};super({start(){Qt(r,e,t,n)},async transform(e,t){const{password:n,strength:o,R:s,ready:a}=r;let i=te;if(n?(i=await(async(e,t,n)=>{const r=Pt(new d(Nt[t]));return bt(r,await nn(e,t,n,r))})(r,o,n),s()):await a,r.F)return;const c=new d(i.length+e.length-e.length%16);c.set(i,0),t.enqueue(en(r,e,c,i.length,0,!1))},async flush(e){const{D:t,C:n,ready:o}=r;if(t){if(await o,r.F)return;const s=new d(n);t.process(s,!1);const a=on(t.digest(),0,Kt);e.enqueue(bt(s,a))}}}),Yt(this,r)}}function Qt(e,t,r,o){n.assign(e,{ready:new g(t=>e.R=t),password:rn(t,r),strength:o-1,C:te,F:!1})}function Yt(e,t){const r=e.readable.getReader(),o=new x({async pull(e){try{const{value:t,done:n}=await r.read();n?e.close():e.enqueue(t)}catch(e){throw tn(t),r.cancel(e).catch(()=>{}),e}},cancel:e=>(tn(t),r.cancel(e))});n.defineProperty(e,"readable",{get:()=>o})}function en(e,t,n,r,o,s){const{D:a,C:i}=e;i.length&&(t=bt(i,t));const c=t.length-o,u=c-c%16;if(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e})(n,r+u),u){const e=on(n,r,r+u);e.set(on(t,0,u)),a.process(e,s)}return e.C=on(t,u),n}function tn(e){const{D:t}=e;e.F=!0,t&&t.dispose&&t.dispose()}async function nn(e,t,r,o){e.password=null;const s=jt[t],i=await(async(e,t,r)=>{if(Xt)try{const o=await Gt.importKey("raw",e,Zt,!1,qt);return new d(await Gt.deriveBits(n.assign({salt:t},Vt),o,8*r))}catch{Xt=!1}return((e,t,n,r)=>{const o=Ut(e),s=new d(r),i=new d(t.length+4),c=new m(i.buffer);i.set(t);for(let e=1,n=0;r>n;e++,n+=kt){c.setUint32(t.length,e),o.update(i,0,i.length);let u=o.digest();const f=u.slice();for(let e=1;1e3>e;e++){o.update(u,0,kt),u=o.digest();for(let e=0;kt>e;e++)f[e]^=u[e]}s.set(f.subarray(0,a.min(kt,r-n)),n)}return s})(e,t,0,r)})(r,o,2*s+2);return e.D=((e,t)=>{(()=>{if(!Et){let e=1,t=1;do{e=255&(e^e<<1^(128&e?27:0)),t=255&(t^t<<1),t=255&(t^t<<2),t=255&(t^t<<4),128&t&&(t^=9),Ft[e]=255&(t^(t<<1|t>>7)^(t<<2|t>>6)^(t<<3|t>>5)^(t<<4|t>>4)^99)}while(1!=e);Ft[0]=99;for(let e=0;256>e;e++){const t=Ft[e],n=Ot(t),r=n<<24|t<<16|t<<8|n^t;Dt[e]=r,Ct[e]=r>>>8|r<<24,At[e]=r>>>16|r<<16,It[e]=r>>>24|r<<8}Et=!0}})();const n=new Int32Array(60),r=((e,t)=>{const n=e.length>>2,r=n+6,o=4*(r+1);let s=1;for(let r=0;n>r;r++)t[r]=e[4*r]<<24|e[4*r+1]<<16|e[4*r+2]<<8|e[4*r+3];for(let e=n;o>e;e++){let r=t[e-1];e%n==0?(r=Tt(r<<8|r>>>24)^s<<24,s=Ot(s)):n>6&&e%n==4&&(r=Tt(r)),t[e]=t[e-n]^r}return r})(e,n),o=new Int32Array(4),s=Ut(t);let a=0,i=0,c=0,u=0;return{process(e,t){t&&s.update(e,0,e.length),(e=>{const t=new m(e.buffer,e.byteOffset,e.byteLength),n=e.length;let r=0;for(;n>=r+16;r+=16)f(),t.setInt32(r,t.getInt32(r)^o[0]),t.setInt32(r+4,t.getInt32(r+4)^o[1]),t.setInt32(r+8,t.getInt32(r+8)^o[2]),t.setInt32(r+12,t.getInt32(r+12)^o[3]);if(n>r){f();for(let t=0;n>r;r++,t++)e[r]^=o[t>>2]>>>24-8*(3&t)}})(e),t||s.update(e,0,e.length)},digest:()=>s.digest()};function f(){a=a+1|0,a||(i=i+1|0,i||(c=c+1|0,c||(u=u+1|0)));let e=Mt(a)^n[0],t=Mt(i)^n[1],s=Mt(c)^n[2],f=Mt(u)^n[3],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[4],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[5],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[6],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[7];e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[8],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[9],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[10],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[11],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[12],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[13],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[14],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[15],e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[16],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[17],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[18],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[19],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[20],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[21],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[22],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[23],e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[24],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[25],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[26],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[27],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[28],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[29],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[30],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[31],e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[32],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[33],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[34],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[35],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[36],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[37],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[38],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[39];let h=40;r>10&&(e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[40],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[41],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[42],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[43],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[44],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[45],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[46],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[47],h=48),r>12&&(e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[48],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[49],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[50],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[51],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[52],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[53],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[54],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[55],h=56),o[0]=(Ft[w>>>24]<<24|Ft[l>>>16&255]<<16|Ft[d>>>8&255]<<8|Ft[255&p])^n[h],o[1]=(Ft[l>>>24]<<24|Ft[d>>>16&255]<<16|Ft[p>>>8&255]<<8|Ft[255&w])^n[h+1],o[2]=(Ft[d>>>24]<<24|Ft[p>>>16&255]<<16|Ft[w>>>8&255]<<8|Ft[255&l])^n[h+2],o[3]=(Ft[p>>>24]<<24|Ft[w>>>16&255]<<16|Ft[l>>>8&255]<<8|Ft[255&d])^n[h+3]}})(on(i,0,s),on(i,s,2*s)),e.F&&tn(e),on(i,2*s)}function rn(e,t){return t===X?(e=>{if(typeof b==J){const t=new d((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new b).encode(e)})(e):t}function on(e,t,n){return e.subarray(t,n)}class sn extends z{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){cn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=un(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new l(Lt);e=e.subarray(12)}r?t.error(new l(Ht)):t.enqueue(un(n,e))}})}}class an extends z{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){cn(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=Pt(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(fn(n,t),0),o=12}else r=new d(e.length),o=0;r.set(fn(n,e),o),t.enqueue(r)}})}}function cn(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),((e,t,r)=>{const o=[305419896,591751049,878082192];if(n.assign(e,{A:o,I:new yt(o[0]),U:new yt(o[2])}),r)for(let t=0;t<r.length;t++)wn(e,r[t]);else for(let n=0;n<t.length;n++)wn(e,t.charCodeAt(n))})(e,t,r)}function un(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=ln(e)^t[r],wn(e,n[r]);return n}function fn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=ln(e)^t[r],wn(e,t[r]);return n}function wn(e,t){let[,n]=e.A;e.I.append([t]);const r=~e.I.get();n=pn(a.imul(pn(n+dn(r)),134775813)+1),e.U.append([n>>>24]);const o=~e.U.get();e.A=[r,n,o]}function ln(e){const t=2|e.A[2];return dn(a.imul(t,1^t)>>>8)}function dn(e){return 255&e}function pn(e){return 4294967295&e}function hn(e){if(e instanceof x)return e;const t=e.getReader();return new x({async pull(e){try{const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)}catch(e){throw t.cancel(e).catch(()=>{}),e}},cancel:e=>t.cancel(e)})}function mn(e,t){e=hn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=Q||new y([]).stream()instanceof x)return new f(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new R({write(e){r.push(e)}})).then(()=>new y(r,n))}function yn(e){if(e instanceof R)return e;const t=e.getWriter();return new R({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}function gn(e){return!!e&&"object"==typeof e}const bn="Invalid uncompressed size",vn="Codec out of memory",Sn="Invalid CRC32",kn="deflate-raw",zn="gzip",xn=[31,139,8];class Rn extends z{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:s,useCompressionStream:a,zipCrypto:i,computeCrc32:c,level:u,deflate64:f,format:w,compressionMethod:l,inputSize:d}=e,p=this;let h,y,g,b=super.readable;const v=w&&it(w),S=En(a,r,n),k=c&&o&&!f&&!v&&(!s||i)&&!!S;if(s&&!i||!c||k||(h=new gt,b=Tn(b,h)),o)if(v)b=Mn(b,In(v.CompressionStream,w,{level:u,chunkSize:t,compressionMethod:l,uncompressedSize:d}));else if(k)g=new Fn,b=Mn(b,new S(zn,{level:u,chunkSize:t})),b=Tn(b,g);else try{b=Un(b,a,{level:u,chunkSize:t},r,n)}catch(e){if(!a&&n)throw Pn(e);let t;try{t=new r(zn)}catch{throw Pn(e)}b=Mn(b,t),b=Tn(b,new Fn)}s&&(i?b=Tn(b,new an(e)):(y=new Jt(e),b=Tn(b,y))),An(p,b,()=>{s&&!i||!c||(p.crc32=k?g.crc32:new m(h.value.buffer).getUint32(0))})}}class Fn extends z{constructor(){let e,t=10,n=new d(0);super({transform(e,r){if(t){const n=a.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(8>=o)return void(n=bt(n,e));const s=o-8,i=a.min(s,n.length);r.enqueue(bt(n.subarray(0,i),e.subarray(0,s-i))),n=bt(n.subarray(i),e.subarray(s-i))},flush(){const t=vt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Dn extends z{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:s,checkCrc32:a,crc32:i,compressed:c,useCompressionStream:f,deflate64:w,format:p,compressionMethod:h,rawBitFlag:y,outputSize:b}=e;let v,S,k,z=super.readable;if(s&&(o?z=Tn(z,new sn(e)):(S=new $t(e),z=Tn(z,S))),c){const e=new u,o=p&&it(p);let s;if(o)z=Mn(z,In(o.DecompressionStream,p,{chunkSize:t,compressionMethod:h,rawBitFlag:y,uncompressedSize:b}),e);else{const o=En(f,r,n);if(a&&!w&&i!==X&&b!==X&&o)try{s=new o(zn,{chunkSize:t})}catch{s=X}if(!s)try{z=Un(z,f,{chunkSize:t,deflate64:w},r,n,e)}catch(e){if(w||b===X||!f&&n)throw Pn(e);try{s=new r(zn)}catch{throw Pn(e)}}}s?(k=!0,z=((e,t,n,r,o)=>{const s=t.writable.getWriter(),a=t.readable.getReader(),i=r===X?new yt:X;let c,u,f=0,w=!1,p=!1;const h=new x({start(e){u=e},pull(){b()},cancel:e=>(p=!0,b(),a.cancel(e))});return(async()=>{const t=e.getReader();try{const e=new d(10);for(e.set(xn),await s.write(e);;){await y(),await s.ready;const{value:e,done:n}=await Ln(t,o);if(n)break;await s.write(e)}i&&await s.write(new d(0));const a=new d(8),c=vt(a);c.setUint32(0,i?i.get():r,!0),c.setUint32(4,n,!0),w=!0,await s.write(a),await s.close()}catch(e){await On(s,e),await Wn(t,e)}})(),(async()=>{try{for(;;){const{value:e,done:t}=await m();if(t)break;if(f+=e.length,f>n)throw new l(bn);i&&i.append(e),u.enqueue(e)}p||(p=!0,u.close())}catch(e){(e=>{p||(p=!0,u.error(e),b())})(e),await Wn(a,e)}})(),h;function m(){return a.read().catch(e=>{if(w){if(!i)throw Zn(e,Sn);if(f!=n)throw Zn(e,bn);return{done:!0}}throw Hn(e,o)})}function y(){if(!p&&0>=u.desiredSize)return new g(e=>c=e)}function b(){if(c){const e=c;c=X,e()}}})(z,s,b,i,e)):z=((e,t)=>{const n=e.getReader();return new x({async pull(e){try{const{value:t,done:r}=await n.read();r?e.close():e.enqueue(t)}catch(e){throw await Wn(n,e),Hn(e,t)}},cancel:e=>n.cancel(e)})})(z,e)}a&&!k&&(v=new gt,z=Tn(z,v)),An(this,z,()=>{if(v){const e=new m(v.value.buffer).getUint32(0,!1);if(i!=e)throw new l(Sn)}})}}const Cn=new c;function An(e,t,r){t=Tn(t,new z({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function In(e,t,n){if(!e)throw new l(ot);return new e(t,n)}function En(e,t,n){return e&&t?t:n&&n.requiresModule?n:void 0}function Un(e,t,n,r,o,s){const a=t&&r?r:o||r,i=n.deflate64?"deflate64-raw":kn;let c;try{c=new a(i,n)}catch(e){if(!t||!o||a==o)throw e;c=new o(i,n)}return Mn(e,c,s)}function Tn(e,t){return hn(e).pipeThrough(t)}function Mn(e,t,n){const r=t.writable.getWriter(),o=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await Ln(o,n);if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await On(r,e),await Wn(o,e)}})(),t.readable}async function On(e,t){try{await e.abort(t)}catch{}}async function Wn(e,t){try{await e.cancel(t)}catch{}}function Ln(e,t){const n=e.read();return t?n.catch(e=>{throw t.add(e),e}):n}function Hn(e,t){return t.has(e)?e:Zn(e,Bn(e)?vn:"Invalid compressed data")}function Pn(e){return Bn(e)?Zn(e,vn):e}function Bn(e){return gn(e)&&"Z_MEM_ERROR"==e.code}function Zn(e,t){const n=new l(t);return n.cause=e,n}const Vn="deflate",qn="inflate";class Nn extends z{constructor(e,t){super({});const r=this,{codecType:o}=e;let s;o.startsWith(Vn)?s=Rn:o.startsWith(qn)&&(s=Dn),r.outputSize=0;let a=0;const i=new s(e,t),c=super.readable,u=new z({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:a})}}),f=new z({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==X&&r.outputSize>e.outputSize))throw new l(bn)},flush(){const{crc32:e}=i;n.assign(r,{crc32:e,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(i).pipeThrough(f)})}}class jn extends z{constructor(e){const t=[];let r=0,s=0;function a(){const n=new d(e);let o=0;for(;e>o;){const r=t[0],s=e-o;r.length>s?(n.set(r.subarray(0,s),o),t[0]=r.subarray(s),o+=s):(n.set(r,o),o+=r.length,t.shift())}return r-=e,n}o.isFinite(e)&&e>=1||(e=262144),super({transform(n,o){for(t.push(n),r+=n.length;r>e;)s+=e,o.enqueue(a())},flush(e){r&&(s+=r,e.enqueue(((e,t)=>{const n=new d(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let Kn=()=>{};class _n{constructor(e,{readable:t,writable:r},o,s){const{options:a,config:i,T:u,useWebWorkers:f,workerURI:w}=o;let{createWorker:l}=o;const{signal:d}=u;return n.assign(e,{M:!0,O:(e.O||0)+1,readable:t.pipeThrough(new jn(ke(i))).pipeThrough(new Gn(u),{signal:d}),writable:r,options:n.assign({},a),W:o,workerURI:w,createWorker:l,terminate:()=>new g(t=>{const{L:n,M:r}=e;r?(e.H=e.H||[],e.H.push(t)):(n&&(n.terminate(),e.L=null),t()),e.P=null}),B(){if(e.M){const{H:t,L:n}=e;t&&(e.H=null,n&&(e.Z=!0,n.terminate())),e.M=!1;const r=s(e);t&&t.forEach(e=>e(r))}}}),((e,t)=>({run:()=>(async({options:e,readable:t,writable:n,B:r,W:o},s)=>{let a,i,u;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Vn),n=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=t?s.CompressionStream:s.DecompressionStream;e.useCompressionStream?n&&n.requiresModule&&!((e,t)=>{if(!e)return!1;let n=Cn.get(e);n||(n=new c,Cn.set(e,n));let r=n.get(t);if(r===X){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r})(r,kn)&&await f():await f()||n&&!n.requiresModule||(e.useCompressionStream=!0)}e.encrypted&&!e.zipCrypto&&await f(),a=new Nn(e,s),i=new jn(ke(s));const{signal:r}=o.T;await t.pipeThrough(a).pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0,signal:r});const{crc32:u,inputSize:w,outputSize:l}=a;return{crc32:u,inputSize:w,outputSize:l}}catch(e){if(a){const t=i?i.outputSize:0;if(o.outputSize=t,gn(e))try{e.outputSize=t}catch{}}throw e}finally{r()}function f(){return u||(u=(async()=>{if(Kn)try{return await void 0,!0}catch{}return!1})()),u}})(e,t)}))(e,i)}}class Gn extends z{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await Xn(e,n)},async transform(e,r){o+=e.length,t&&await Xn(t,o,n),r.enqueue(e)},async flush(){r&&await Xn(r,o)}})}}async function Xn(e,...t){try{await e(...t)}catch{}}let $n=[];const Jn=[];let Qn,Yn,er=0;function tr(){!Qn&&Jn.length&&o.isFinite(Yn)&&Yn>=0&&(Qn=I(rr,Yn))}function nr(){Qn&&(E(Qn),Qn=null)}function rr(){if(Qn=null,Jn.length){const[{resolve:e,stream:t,W:n}]=Jn.splice(0,1);e(new _n({},t,or(n),sr)),tr()}}function or(e){return n.assign({},e,{useWebWorkers:!1,workerURI:X,createWorker:X})}function sr(){nr(),tr()}function ar(e){const{V:t}=e;t&&(E(t),e.V=null)}const ir="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function cr(e,t){return fr(e,t,!0)}function ur(e){if(!e.some(e=>e>127))return!1;try{return new v("utf-8",{fatal:!0}).decode(e),!0}catch{return!1}}function fr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?(e=>{let t="";for(let n=0;n<e.length;n++)t+=ir[e[n]];return t})(e):new v(t,{ignoreBOM:n}).decode(e)}const wr="HTTP error ",lr="HTTP Range not supported",dr="HTTP resource changed",pr="Content-Range",hr="Range",mr="GET",yr="bytes",gr=16777216,br="writable",vr=Symbol();class Sr{constructor(){this.size=0}init(){this.initialized=!0}}class kr extends Sr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=ke(Se())}={}){const r=this;let o=0;return n=ze(n),new x({async pull(s){const i=t===X?n:a.min(n,t-o),c=await Yr(r,e+o,i);c.length&&(s.enqueue(c),o+=c.length),(t!==X&&o>=t||!c.length&&i)&&s.close()}})}}class zr extends Sr{constructor(){super();const e=this,t=new R({write(t){if(!e.initialized)throw new l("Writer not initialized");return e.writeUint8Array((n=t).byteOffset||n.byteLength!=n.buffer.byteLength?new d(n):n);var n}});n.defineProperty(e,br,{get:()=>t})}writeUint8Array(){}}let xr,Rr;class Fr extends kr{constructor(e){super(),n.assign(this,{N:e,size:e.size}),Rr||(Rr=(async()=>{try{const e=new y([new d(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();xr=1==t}catch{xr=!1}})())}createReadable(e){const{N:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};if(typeof t.stream==Q){if(!r&&o>=n)return hn(t.stream());if(xr)return hn(t.slice(r,r+o).stream())}return super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=e||r<n.size?n.N.slice(e,r):n.N;let s=await o.arrayBuffer();return s.byteLength>t&&(s=s.slice(e,r)),new d(s)}}class Dr extends Sr{constructor(e){super();const t=this,r=new z;n.defineProperty(t,br,{get:()=>r.writable}),t.contentType=e,t.j=mn(r.readable,e),t.j.catch(()=>{})}getData(){return this.j}}class Cr extends kr{constructor(e,t){super(),Ir(this,e,t)}async init(){await Er(this,Nr,Br),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:o,K:s}=t;if((n||r)&&o!==X){const{offset:n=0,size:r=o-n}=e||{},i=s&&n>=o-s.length;if(r>0&&o>n&&!i)return((e,t,n)=>{let r,o=t,s=0,i=n;return new x({start:()=>c(),async pull(e){r||await c();const{value:t,done:n}=await r.read();if(n)throw new l(lr);const o=t.length>s?t.subarray(0,s):t;s-=o.length,i-=o.length,o.length&&e.enqueue(o),s||(await(async()=>{const e=r;r=X,await e.cancel()})(),i||e.close())},cancel:e=>r&&r.cancel(e)});async function c(){const t=a.min(e.maximumRangeSize,i),n=await Nr(mr,e,Hr(e,o,t));if(206!=n.status)throw new l(lr);const c=Tr(n);if(c!==X&&c!=o)throw new l(lr);Lr(e,n),Wr(e,n),o+=t,s=t,r=n.body.getReader()}})(t,n,a.min(r,o-n))}return super.createReadable(e)}readUint8Array(e,t){return Ur(this,e,t,Nr,Br)}}class Ar extends kr{constructor(e,t){super(),Ir(this,e,t)}async init(){await Er(this,jr,Zr),super.init()}readUint8Array(e,t){return Ur(this,e,t,jr,Zr)}}function Ir(e,t,r){const{preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:u=gr,fetch:f}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:u,fetch:f})}async function Er(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i}=e;if((e=>{const{baseURI:t}=Se(),{protocol:n}=new w(e,t);return"http:"==n||"https:"==n})(r)&&(s||a)&&(typeof o==J||o)){const r=await t(mr,e,Hr(e,i?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(a||o&&o.toLowerCase()==yr))throw new l(lr);{let o;i&&206==r.status&&(o=new d(await r.arrayBuffer())),Wr(e,r);const s=Mr(r);s===X?await qr(e,t,n):e.size=s,o&&o.length&&Tr(r)===e.size-o.length&&(e.K=o)}}else await qr(e,t,n)}async function Ur(e,t,n,r,o){const{useRangeHeader:s,forceRangeRequests:a,K:i,size:c,options:u}=e;if(s||a){if(c>t&&0!==n){if(t+n>c&&(n=c-t),i&&t>=c-i.length){const e=t-(c-i.length);return i.slice(e,e+n)}const o=await r(mr,e,Hr(e,t,n));if(206!=o.status)throw new l(lr);const s=Tr(o);if(s!==X&&s!=t)throw new l(lr);Lr(e,o),Wr(e,o);const a=new d(await o.arrayBuffer());if(a.length!=n)throw new l(lr);return a}return te}{const{data:r}=e;return r||await o(e,u),e.data.subarray(t,t+n)}}function Tr(e){const t=e.headers.get(pr);if(t){const e=o(t.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e))return e}}function Mr(e){const t=e.headers.get(pr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function Or({headers:e}){return{_:e.get("Etag")||X,lastModified:e.get("Last-Modified")||X}}function Wr(e,t){const{checkResourceChanges:n,G:r}=e;n&&!r&&206==t.status&&(e.G=Or(t))}function Lr(e,t){const{checkResourceChanges:r,G:o,size:s}=e;if(r){const e=Mr(t);if(e!==X&&s!==X&&e!=s)throw new l(dr);if(o){const e=Or(t);if(n.entries(o).some(([t,n])=>n!==X&&e[t]!==X&&n!=e[t]))throw new l(dr)}}}function Hr(e,t=0,r=1){return n.assign({},Pr(e),{[hr]:yr+"="+(0>t?t:t+"-"+(t+r-1))})}function Pr({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function Br(e){await Vr(e,Nr)}async function Zr(e){await Vr(e,jr)}async function Vr(e,t){const n=await t(mr,e,Pr(e));e.data=new d(await n.arrayBuffer()),e.size=e.data.length}async function qr(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,Pr(e)),s=r.headers.get("Content-Length");s&&!r.headers.get("Content-Encoding")?e.size=o(s):await n(e,e.options)}}async function Nr(e,{fetch:t=fetch,options:r,url:o},s){const a=await t(o,n.assign({},r,{method:e,headers:s}));if(200>a.status||a.status>299)throw 416==a.status?new l(lr):new l(wr+(a.statusText||a.status));return a}function jr(e,{url:t},r){return new g((o,s)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(200>a.status||a.status>299)s(416==a.status?new l(lr):new l(wr+(a.statusText||a.status)));else{const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}},!1),a.addEventListener("error",e=>s(e.detail?e.detail.error:new l("Network error")),!1),a.open(e,t),r)for(const e of n.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class Kr extends kr{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Ar(e,t):new Cr(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 _r extends kr{constructor(e){super(),this.X=e}async init(){const e=this;e.$=0;const t=e.X=await g.all(e.X.map(Qr));e.J=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Y(e){const{J:t,size:n}=this,r=t[e];return r===X?n:r}async readUint8Array(e,t){const n=this,{X:r}=this;let o,s=0,i=e;for(;r[s]&&i>=r[s].size;)i-=r[s].size,s++;const c=r[s];if(c){const r=c.size;if(i+t>r){const s=r-i;o=bt(await Yr(c,i,s),await n.readUint8Array(e+s,t-s))}else o=await Yr(c,i,t)}else o=te;return n.$=a.max(s,n.$),o}}class Gr extends Sr{constructor(e,t=4294967295){super();const r=this;let o,s,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const i=new R({async write(t){if(t===vr)return void(a&&await u());const{availableSize:n}=r;if(a)t.length<n?await c(t):(await c(t.subarray(0,n)),await u(),t.length>n&&await this.write(t.subarray(n)));else{const{value:n,done:i}=await e.next();if(i&&!n)throw new l("Writer iterator completed too soon");o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await Jr(o),s=n.writable,a=s.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await f())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),o.size+=t,r.availableSize-=t)}async function u(){await f(),r.diskOffset+=o.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function f(){await a.close()}n.defineProperty(r,br,{get:()=>i})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(vr)}finally{e.releaseLock()}}}class Xr{constructor(e){return t.isArray(e)&&(e=new _r(e)),(e instanceof x||typeof e.getReader==Q)&&(e={readable:hn(e)}),e}}class $r{constructor(e){e.writable===X&&typeof e.next==Q&&(e=new Gr(e)),(e instanceof R||typeof e.getWriter==Q)&&(e={writable:yn(e)});try{e.size=e.size===X?0:e.size}catch{throw new l("Invalid writer (size must be writable)")}return e}}async function Jr(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}async function Qr(e){return e=new Xr(e),await Jr(e),e.size!==X&&e.readUint8Array||(e=new Fr(await mn(e.readable)),await Jr(e)),e}function Yr(e,t,n){return e.readUint8Array(t,n)}function eo(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==X&&(r.filename=n),e.push(r)}}const to="filename",no="rawFilename",ro="comment",oo="rawComment",so="uncompressedSize",ao="compressedSize",io="offset",co="diskNumberStart",uo="lastModDate",fo="rawLastModDate",wo="lastAccessDate",lo="rawLastAccessDate",po="creationDate",ho="rawCreationDate",mo=[to,no,so,ao,uo,fo,ro,oo,wo,lo,po,ho,io,co,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class yo{constructor(e){mo.forEach(t=>this[t]=e[t])}}const go="File format is not recognized",bo="End of Zip64 central directory locator not found",vo="Encryption method not supported",So="Split zip file",ko="malformed extra field",zo="wrapped entries count",xo="appended data",Ro="prepended data",Fo="mismatched zip64 end of central directory record",Do="mismatched local file header (crc32 or sizes)",Co=/^[a-zA-Z]:/,Ao=/(^|[\\/])\.\.([\\/]|$)/,Io="utf-8",Eo="cp437",Uo=[[so,U],[ao,U],[io,U],[co,T]],To={[T]:{ee:hs,bytes:4},[U]:{ee:ms,bytes:8}},Mo=s(o.MAX_SAFE_INTEGER);class Oo{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,r,s={}){const i=this,{te:c,directoryOffset:u}=r;if(i.ne)throw new l($);const f=Se(),{reader:p,index:h,offset:m,diskNumberStart:y,extraFieldAES:b,extraFieldZip64:v,compressionMethod:S,bitFlag:k,rawBitFlag:z,crc32:x,rawLastModDate:F,uncompressedSize:D,compressedSize:C}=i,{dataDescriptor:A}=k,E=t.localDirectory={},U=t.warnings=[],T=Jo(p,y)+m,W=await Yr(p,T,30),L=vt(W);let H=us(i,s,"password"),P=us(i,s,"rawPassword");const B=(e=>{if(e!==X&&typeof e!=ee&&"compressed"!==e)throw new l("Invalid passThrough option (must be a boolean or 'compressed')");return e})(us(i,s,"passThrough")),Z=!!B,V=!0===B;if(((e,t)=>{if(e&&typeof e!=Y||t&&!(t instanceof d))throw new l("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(H,P),H=H&&H.length?H:X,P=P&&P.length?P:X,b&&99!=b.originalCompressionMethod)throw new l(ot);if(30>W.length||hs(L,0)!=O)throw new l("Local file header not found");Vo(E,L,4);const{extraFieldLength:q,filenameLength:N}=E,j=E.dataOffset=T+30+N+q,_=us(i,s,"checkLocalDirectory"),G=es(s,i.options),J=((e,t)=>e===X?t!=ie:!!e)(_,G),ne=us(i,s,"checkLocalFilename"),re=((e,t)=>e===X?t==se:!!e)(ne===X?_:ne,G);let oe=te;if(re&&(N||q)){const e=await Yr(p,T+30,N+q);oe=e.subarray(0,N),E.rawExtraField=e.subarray(N)}else E.rawExtraField=q?await Yr(p,T+30+N,q):te;re&&(E.rawFilename=oe),qo(i,E,L,4,!0)&&eo(U,ko),((e,t,n,r,o)=>{const{rawFilename:s}=e,a=!o,i=e.re&&(t.rawBitFlag&K)==K;!r||i||n.length==s.length&&!n.some((e,t)=>e!=s[t])||is(a,o,"mismatched local file header (filename)"),(2121&t.rawBitFlag)!=(2121&e.rawBitFlag)&&is(a,o,"mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&is(a,o,"mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||i||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||is(a,o,Do)})(i,E,oe,re,J?X:U);const{lastAccessDate:ae,creationDate:ce,uid:fe,gid:we}=E;ae&&t.lastAccessDate===X&&(t.lastAccessDate=ae),ce&&t.creationDate===X&&(t.creationDate=ce),fe!==X&&t.uid===X&&(t.uid=fe),we!==X&&t.gid===X&&(t.gid=we);const le=us(i,s,"checkPasswordOnly"),de=i.encrypted&&(!V||le),pe=de&&!b;if(V||(t.zipCrypto=pe),de&&!(64&~i.rawBitFlag))throw new l(vo);const he=Z?X:(e=>st.get(e))(S);if(0!=S&&8!=S&&9!=S&&!he&&!Z)throw new l(ot);if(de){if(!pe&&(1>b.strength||b.strength>3))throw new l(vo);if(!H&&!P)throw new l("File contains encrypted entry")}if(j+C>a.min(p.size,u))throw new l("Entry data out of bounds");const me=C,ye=(e=>{if(e&&(typeof e.addEventListener!=Q||typeof e.aborted!=ee))throw new l("Invalid signal (must be an AbortSignal instance)");return e||X})(us(i,s,"signal"));ue(ye);let ge=us(i,s,"checkOverlappingEntry");const be=us(i,s,"checkOverlappingEntryOnly");be&&(ge=!0);const{onstart:ve,onprogress:ke,onend:ze}=s,xe=0!=S&&!Z,Re=Z?C-((e,t,n)=>e?t?12:16+4*n:0)(de,pe,b&&b.strength):D,Fe=9==S;let De=us(i,s,"useCompressionStream");Fe&&(De=!1);const Ce=us(i,s,"checkCrc32"),Ae=(Ce===X?us(i,s,"checkSignature"):Ce)&&!Z&&(!de||pe||b&&1==b.vendorVersion),Ie={options:{codecType:qn,password:H,rawPassword:P,zipCrypto:pe,encryptionStrength:b&&b.strength,checkCrc32:Ae,checkAuthenticationCode:us(i,s,"checkAuthenticationCode"),passwordVerification:pe&&(A?F>>>8&M:x>>>24&M),outputSize:Re,crc32:x,compressed:xe,encrypted:de,useWebWorkers:us(i,s,"useWebWorkers"),useCompressionStream:De,deflate64:Fe,format:he?he.format:X,codecURI:he?he.codecURI:X,compressionMethod:S,rawBitFlag:z,checkPasswordOnly:le},config:f,T:{signal:ye,size:me,onstart:ve,onprogress:ke,onend:ze}};let Ee,Ue,Te;ge&&(await(async({reader:e,oe:t,index:n,offset:r,crc32:o,compressedSize:s,uncompressedSize:i,dataOffset:c,dataDescriptor:u,extraFieldZip64:f,te:w})=>{let d=0;if(u){const n=!!f,r=await(async(e,t,{crc32:n,compressedSize:r,uncompressedSize:o,zip64:s})=>{const i=a.min(24,a.max(0,e.size-t)),c=vt(i?await Yr(e,t,i):te),u=[[s,!0],[s,!1],[!s,!0],[!s,!1]].map(([e,t])=>Xo(c,e,t)).filter(e=>e&&e.compressedSize==r&&e.uncompressedSize==o);return u.find(e=>e.crc32==n)||u[0]||Xo(c,s,!0)||Xo(c,s,!1)})(e,c+s,{crc32:o,compressedSize:s,uncompressedSize:i,zip64:n});r?(t.localDirectory.dataDescriptor=r,d=$o(r.zip64,r.signature)):d=$o(n,!1)}const p={start:r,end:c+s+d,oe:t},{se:h,ae:m,ie:y}=w;if(!h.has(n)){const e=((e,t)=>{let n=0,r=e.length;for(;r>n;){const o=n+r>>>1;e[o].start<t.start?n=o+1:r=o}const o=e[n-1],s=e[n];return o&&Go(t,o)?o:s&&Go(t,s)?s:void 0})(m,p)||y.find(e=>Go(p,e));if(e){const t=new l("Overlapping entry found");throw t.overlappingEntry=e.oe,t}h.add(n),y.push(p),y.length*y.length>m.length&&(y.sort((e,t)=>e.start-t.start),w.ae=((e,t)=>{const n=[];let r=0,o=0;for(;r<e.length||o<t.length;)o==t.length||r<e.length&&e[r].start<t[o].start?n.push(e[r++]):n.push(t[o++]);return n})(m,y),y.length=0)}})({reader:p,oe:t,index:h,offset:T,crc32:x,compressedSize:C,uncompressedSize:D,dataOffset:j,dataDescriptor:A||E.bitFlag.dataDescriptor,extraFieldZip64:v||E.extraFieldZip64,te:c}),((e,t,n)=>{const{dataDescriptor:r}=t,o=e.re&&(t.rawBitFlag&K)==K;r&&!o&&(e.crc32!==X&&r.crc32!=e.crc32||r.compressedSize!=e.compressedSize||r.uncompressedSize!=e.uncompressedSize)&&is(!n,n,Do)})(i,E,J?X:U));try{if(!be){le&&(e=new R),e=new $r(e),await Jr(e,((e,t,n)=>a.min(e,n?1032*t:t))(Re,C,xe)),({writable:Ee}=e);const t=hn(p.createReadable({offset:j,size:me})),{outputSize:r}=await async function(e,t){const{options:n,config:r}=t,{useWebWorkers:s,useCompressionStream:a,compressed:i,checkCrc32:c,computeCrc32:u,encrypted:f,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(p,r.baseURI)),await(async(e,t)=>{!at.has(e)&&t&&((e,t)=>{const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=Q&&typeof r!=Q)throw new l("Invalid codec module");at.set(e,{CompressionStream:n,DecompressionStream:r})})(e,await(import(t)))})(d,n.codecURI));const b=!(i||c||u||f),v=d===X||!!n.codecURI;return t.useWebWorkers=!b&&v&&(s||s===X&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:X,t.createWorker=t.useWebWorkers&&m?m:X,n.useCompressionStream=a||a===X&&r.useCompressionStream,(await(async()=>{const n=$n.find(e=>!e.M);if(n)return ar(n),new _n(n,e,t,S);if($n.length<y){const n={ce:er};return er++,$n.push(n),new _n(n,e,t,S)}return new g(n=>{Jn.push({resolve:n,stream:e,W:t}),Yn=r.workerStarvationTimeout,tr()})})()).run();function S(e){if(nr(),e.Z)return e.Z=!1,(()=>{const e=Jn.splice(0).map(({resolve:e,stream:t,W:n})=>new g(r=>{e(new _n({},t,or(n),()=>{sr(),r()}))}));return nr(),g.all(e)})();if(Jn.length){const[{resolve:t,stream:n,W:r}]=Jn.splice(0,1);t(new _n(e,n,r,S)),tr()}else e.L?(ar(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.V=I(async()=>{$n=$n.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):$n=$n.filter(t=>t!=e)}}({readable:t,writable:Ee},Ie);if(ue(ye),r!=Re)throw n.assign(new l(bn),{outputSize:r});e.size+=r}}catch(t){if(gn(t)&&t.outputSize!==X&&(e.size+=t.outputSize),!le||!gn(t)||t.message!=Ht)throw Ue=t,Te=!0,t}finally{const t=!(e=>!(!e||!e.getData))(e)&&us(i,s,"preventClose");if(!t&&Ee&&!Ee.locked){const e=Ee.getWriter();if(Te)try{await e.abort(Ue)}catch{}else await e.close()}}return le||be?X:e.getData?e.getData():Ee}}function Wo(e){return e.byteLength>=4&&134630224==hs(e,0)}function Lo(e,t,n){let r=0;for(;n+V<=t.length&&hs(e,n)==P;)n+=V+ps(e,n+28)+ps(e,n+30)+ps(e,n+32),r++;return r%65536?0:r}function Ho(e,t){return Po(e,t,P)}async function Po(e,t,n){return t>=0&&t+4<=e.size&&hs(vt(await Yr(e,t,4)),0)==n}function Bo(e,t,n){const r=hs(t,n+42);if(r!=U)return r;let o=n+V+ps(t,n+28);const s=a.min(o+ps(t,n+30),e.length);for(;s>=o+4;){const e=ps(t,o),r=ps(t,o+2);if(1==e){let e=o+4;return hs(t,n+24)==U&&(e+=8),hs(t,n+20)==U&&(e+=8),e+8>s?X:ms(t,e)}o+=4+r}return X}function Zo(e){if(e.length>=6){const t=vt(e);if(hs(t,0)==H){const n=ps(t,4);if(6+n<=e.length)return new d(e.subarray(6,6+n))}}}function Vo(e,t,r){const o=e.rawBitFlag=ps(t,r+2),s=!(1&~o),a=hs(t,r+6);n.assign(e,{encrypted:s,version:ps(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:!(2048&~o)},rawLastModDate:a,lastModDate:ws(a),filenameLength:ps(t,r+22),extraFieldLength:ps(t,r+24)})}function qo(e,t,r,o,s){const{rawExtraField:a}=t,u=t.extraField=new c,f=vt(a);let w=0,d=!1;try{for(;w<a.length;){const e=ps(f,w),t=ps(f,w+2);u.set(e,{type:e,data:a.slice(w+4,w+4+t)}),w+=4+t}}catch{d=!0}w>a.length&&(d=!0);const p=ps(r,o+4);n.assign(t,{signature:hs(r,o+10),crc32:hs(r,o+10),compressedSize:hs(r,o+14),uncompressedSize:hs(r,o+18)});const h=u.get(1);let m;h?(((e,t,n)=>{t.zip64=!0;const r=vt(e.data),o=Uo.filter(([e,n])=>t[e]==n),s=o.reduce((e,[,t])=>e+To[t].bytes,0);if(e.data.length<s){if(n)return!1;throw new l($)}const a=[];try{for(let e=0,t=0;e<o.length;e++){const[,n]=o[e],s=To[n];a.push(s.ee(r,t)),t+=s.bytes}}catch(e){if(n)return!1;throw e}return o.forEach(([n],r)=>{t[n]=e[n]=a[r]}),!0})(h,t,s)||(d=!0),t.extraFieldZip64=h):Uo.some(([e,n])=>t[e]==n)&&(s?d=!0:m=!0);const y=u.get(28789);y&&(No(y,to,no,t,e),t.extraFieldUnicodePath=y);const g=u.get(25461);g&&(No(g,ro,oo,t,e),t.extraFieldUnicodeComment=g);const b=u.get(39169);!b||99!=p&&!t.encrypted||7>b.data.length?(b&&(d=!0),t.compressionMethod=p):(((e,t,r)=>{const o=vt(e.data),s=ds(o,4);n.assign(e,{vendorVersion:ds(o,0),vendorId:ds(o,2),strength:s,originalCompressionMethod:r,compressionMethod:ps(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=X)})(b,t,p),t.extraFieldAES=b);const v=u.get(13);v&&(jo(v,t),t.extraFieldPkwareUnix=v);const S=u.get(22613);S&&(jo(S,t),t.extraFieldUnixType1=S);const k=u.get(21589);k&&(((e,t,n)=>{if(!e.data.length)return;const r=vt(e.data),o=ds(r,0),s=[],a=[];n?(1&~o||(s.push(uo),a.push(fo)),2&~o||(s.push(wo),a.push(lo)),4&~o||(s.push(po),a.push(ho))):5>e.data.length||(s.push(uo),a.push(fo));let c=1;s.forEach((n,o)=>{if(e.data.length>=c+4){const s=hs(r,c);t[n]=e[n]=new i(1e3*(0|s));const u=a[o];e[u]=s}c+=4})})(k,t,s),t.extraFieldExtendedTimestamp=k);const z=u.get(10);z&&(((e,t)=>{const r=vt(e.data);let o,s=4;try{for(;s<e.data.length&&!o;){const t=ps(r,s),n=ps(r,s+2);1==t&&(o=e.data.slice(s+4,s+4+n)),s+=4+n}}catch{}if(o&&24==o.length){const r=vt(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:i});const c={lastModDate:ls(s),lastAccessDate:ls(a),creationDate:ls(i)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:a,rawCreationDate:i})}})(z,t),t.extraFieldNTFS=z);const x=u.get(30837);let R;x&&(R=Ko(x,t,!0),t.extraFieldInfoZip=x);const F=u.get(30805);F&&(Ko(F,R?{}:t,!1),t.extraFieldUnix=F);const D=u.get(6534);if(D&&(t.extraFieldUSDZ=D),m)throw new l($);return d}function No(e,t,r,o,s){if(5>e.data.length)return void(e.valid=!1);const a=vt(e.data),i=new yt;i.append(s[r]);const c=vt(new d(4));c.setUint32(0,i.get(),!0);const u=hs(a,1),f=ds(a,0);n.assign(e,{version:f,[t]:cr(e.data.subarray(5)),valid:1==f&&!s.bitFlag.languageEncodingFlag&&u==hs(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function jo(e,t){if(8>e.data.length)return;const r=vt(e.data),o={lastAccessDate:new i(1e3*(0|hs(r,0))),lastModDate:new i(1e3*(0|hs(r,4)))};12>e.data.length||(o.uid=ps(r,8),o.gid=ps(r,10)),n.assign(e,o),n.assign(t,o)}function Ko(e,t,r){try{const o=vt(e.data);let s,a;if(r){let t=0;const r=ds(o,t++),i=ds(o,t++);s=_o(e.data.subarray(t,t+i)),t+=i;const c=ds(o,t++);a=_o(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:s,gid:a})}else 4>e.data.length||(s=ps(o,0),a=ps(o,2),n.assign(e,{uid:s,gid:a}));return s!==X&&(t.uid=s),a!==X&&(t.gid=a),s!==X||a!==X}catch{}}function _o(e){const t=new d(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Go(e,t){return e.start<t.end&&t.start<e.end}function Xo(e,t,n){const r=n?4:0;if(e.byteLength<$o(t,n)||n&&hs(e,0)!=L)return X;const o=hs(e,r);let s,a;try{t?(s=ms(e,r+4),a=ms(e,r+12)):(s=hs(e,r+4),a=hs(e,r+8))}catch{return X}return{signature:n,zip64:t,crc32:o,compressedSize:s,uncompressedSize:a}}function $o(e,t){return(e?20:12)+(t?4:0)}function Jo(e,t){return e.Y?e.Y(t):0}async function Qo(e){return hs(vt(await Yr(e,0,4)))}function Yo(e){return e===se||e===ae||e===ie}function es(e,t){return ts(e,ts(t,ae))}function ts(e,t){const n=e[oe];if(n!==X){if(!Yo(n))throw new l("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}const r=e[re];return r===X?t:r?se:t==ie?ie:ae}function ns(e,t){if(t==ie)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(Ao.test(e)||e.startsWith("/")||e.startsWith("\\")||Co.test(e))||t==se&&(n.includes(".")||n.includes("")||e.includes("\0"))}async function*rs(e,t){const n=e.size-t,r=await Yr(e,n,t),o=vt(r);for(let e=r.length-q;e>=0;e--)101010256==hs(o,e)&&(yield[o,n,r,e,n+e])}function os(e,t,n){return{offset:n,buffer:new d(e.subarray(t,t+q)).buffer}}async function ss(e,t,n,r,o,s,a){const i=ps(t,r+10),c=hs(t,r+12),u=hs(t,r+16);if(i==T||c==U||u==U)return await as(e,t,n,o-N,s,a)==Z?2:0;if(!i&&!c)return 1;const f=ps(t,r+6);for(const r of[o-c,Jo(e,f)+u])if(await as(e,t,n,r,s,a)==P)return 2;return 0}async function as(e,t,n,r,o,s){return 0>r||r+4>o?X:n>r?s.ue>0?(s.ue--,hs(vt(await Yr(e,r,4)),0)):X:hs(t,r-n)}function is(e,t,n){e?cs(n):eo(t,n)}function cs(e){const t=new l("Ambiguous archive");throw t.reason=e,t}function us(e,t,n){return t[n]===X?e.options[n]:t[n]}function fs(e,t,n){return ce(us(e,t,n))}function ws(e){const t=(4294901760&e)>>16,n=e&T,r=new i(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return G>r?G:r}function ls(e){return new i(o(e/s(1e4)-s(116444736e5)))}function ds(e,t){return e.getUint8(t)}function ps(e,t){return e.getUint16(t,!0)}function hs(e,t){return e.getUint32(t,!0)}function ms(e,t){const n=e.getBigUint64(t,!0);if(n>Mo)throw new l("64-bit value exceeds Number.MAX_SAFE_INTEGER");return o(n)}(e=>{const t=xe(Fe(e));n.assign(de,t),n.assign(ve,t)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends rt{constructor(e){(e=>{if("deflate-raw"!=e)throw new TypeError("Unsupported compression format: "+e)})(e),super(new tt)}}}),e.BlobReader=Fr,e.BlobWriter=Dr,e.Data64URIWriter=class extends zr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",fe:""})}writeUint8Array(e){const t=this;let n,o=t.fe;const s=t.fe.length;for(t.fe="",n=0;n<3*a.floor((s+e.length)/3)-s;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.fe+=r.fromCharCode(e[n]);o.length>2?t.data+=k(o):t.fe=o+t.fe}getData(){return this.data+k(this.fe)}},e.HttpRangeReader=class extends Kr{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.TextWriter=class extends Dr{constructor(e){super(),n.assign(this,{encoding:e,we:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,we:t}=this,n=await super.getData();return n.text&&t?n.text():((e,t)=>fr(e,t,!1))(new d(await n.arrayBuffer()),e)}},e.ZipReader=class{constructor(e,t={}){n.assign(this,{reader:new Xr(e),options:t||{},te:{se:new u,ae:[],ie:[]},le:new WeakSet})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await Jr(r),r.size!==X&&r.readUint8Array||(r=new Fr(await mn(r.readable)),await Jr(r)),r.size<q)throw new l(go);const s=t.warnings=[],i=es(e,t.options),c=i==se,f=i!=ie,w=((e,t)=>{if(e!==X){const t=fe(e);if("number"!=typeof t||o.isNaN(t)||0>t)throw new l("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return t}return t==se?0:t==ie?1/0:T})(us(t,e,"maxAppendedDataSize"),i),p=((e,t)=>{if(e===X)return t;if(!Yo(e))throw new l("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return e})(us(t,e,"filenameValidation"),i),h=us(t,e,"normalizeFilename"),{de:m,pe:y}=await(async(e,t,n)=>{const{size:r}=e,o=a.min(r,65557),s={ue:64};let i,c,u=0;for await(const[n,a,f,w,l]of rs(e,o)){const o=ps(n,w+20);if(l+q+o==r){const o=await ss(e,n,a,w,l,r,s);if(2==o){if(i||(i=os(f,w,l)),u++,!t||u>1)break}else 1!=o||c||(c=os(f,w,l))}}return i||(i=c),i||(i=await(async(e,t,n)=>{const{size:r}=e,o=a.min(r,t==1/0?r:65557+t);let s,i;for await(const[t,a,c,u,f]of rs(e,o)){const o=os(c,u,f);s||(s=o);const w=await ss(e,t,a,u,f,r,n);if(2==w)return o;1!=w||i||(i=o)}return i||s})(e,n,s)),{de:i,pe:u}})(r,f,w);if(!m)throw await(async e=>await Qo(e)==W)(r)?new l(So):new l("End of central directory not found");f&&y>1&&cs("multiple end of central directory records");const g=vt(m);let b=hs(g,12),v=hs(g,16);const S=m.offset,k=ps(g,20),x=S+q+k,R=r.size-x;R>w&&cs(xo),R>0&&eo(s,xo);let F=ps(g,4);const D=r.$||0;let C,A,I,E,L,K=ps(g,6),G=ps(g,10),J=0,Q=j;const Y=v==U||b==U||G==T||K==T;if(v!=U&&K!=T&&(v+=Jo(r,K)),Y){const e=m.offset<N?te:await Yr(r,m.offset-N,N),t=vt(e);if(e.length==N&&hs(t,0)==Z){v=Jo(r,hs(t,4))+ms(t,8);let e=await Yr(r,v,j),i=vt(e);if(e.length<j||hs(i,0)!=B){const t=m.offset-N;let n=t-j;if(await Po(r,n,B)||(n=await(async(e,t)=>{const n=a.max(0,t-65591),r=await Yr(e,n,t-n),s=vt(r);for(let e=r.length-j;e>=0;e--)if(hs(s,e)==B&&e+12+o(s.getBigUint64(e+4,!0))==r.length)return n+e})(r,t)),n!==X&&n>=0&&v!=n){const t=v;v=n,v>t&&(J=v-t),e=await Yr(r,v,j),i=vt(e)}}if(e.length<j||hs(i,0)!=B)throw new l(bo);if(I=!0,E=ms(i,4)>44,E){const e=a.min(ms(i,4)-44,r.size-v-j);e>0&&(Q+=e,L=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const r=vt(e),o=ps(r,26);n.assign(t,{compressionMethod:ps(r,0),compressedSize:ms(r,2),uncompressedSize:ms(r,10),encryptionAlgorithm:ps(r,18),bitLength:ps(r,20),flags:ps(r,22),hashAlgorithm:ps(r,24),hashData:e.subarray(28,28+o)})}return t})(await Yr(r,v+j,e)))}F==T?F=hs(i,16):F!=hs(i,16)&&is(c,s,Fo),K==T?K=hs(i,20):K!=hs(i,20)&&is(c,s,Fo),G==T?G=ms(i,32):G!=ms(i,32)&&is(c,s,Fo),b==U?b=ms(i,40):b!=ms(i,40)&&is(c,s,Fo),v=Jo(r,K)+ms(i,48)+J}else if(v==U||b==U||K==T)throw new l(bo)}let ee=b;const ne=m.offset-(I?Q+N:0);if(D!=F)throw new l(So);if(0>v)throw new l(go);let ae=0,ce=v<r.size?await Yr(r,v,b):te,ue=vt(ce);if(b){let e=ne-b;if(v!=e&&K==F){const t=ce.length>=4&&(hs(ue,ae)==P||!(!L||!L.compressedSize)||Wo(ue));if(!t&&0>e)throw new l(go);let n=!t;if(e>=0&&e+4<=r.size){let o=await Ho(r,e);if(!o){const t=await(async(e,t)=>{const n=a.max(0,t-65541),r=await Yr(e,n,t-n),o=vt(r);for(let e=r.length-6;e>=0;e--)if(hs(o,e)==H&&e+6+ps(o,e+4)==r.length)return n+e})(r,ne),n=t-b;t!==X&&n>=0&&await Ho(r,n)&&(e=n,o=!0)}t&&(n=o)}if(n&&e!=v){const n=v;v=e,ce=await Yr(r,v,b),ue=vt(ce);const o=v-n,{he:a,me:i}=await(async(e,t,n,r)=>{let o={he:!1,me:!1},s=0;for(;s+V<=t.length&&hs(n,s)==P;){const a=Bo(t,n,s);if(a!==X){const t=await Po(e,a,O),n=await Po(e,a+r,O);if(s||(o={he:t,me:n}),t!=n)return{he:t,me:n}}s+=V+ps(n,s+28)+ps(n,s+30)+ps(n,s+32)}return o})(r,ce,ue,o);0>=o||a&&!i?(is(c,s,"mismatched central directory offset"),0>o&&!a&&i&&(J+=o)):(J+=o,C=t)}}if(4>ce.length)throw new l(go)}else!G&&ne>v&&K==F&&(J+=ne-v,v=ne);const we=ne-v;if(b==we||0>we||K!=F||(b=we,ce=await Yr(r,v,b),ue=vt(ce)),0>v||v>=r.size)throw new l(go);t.directoryOffset=v,t.directoryLength=ee;const le=fs(t,e,"decryptCentralDirectory");let de,pe;if(le&&G&&ce.length>=4&&hs(ue,0)!=P&&(E||Wo(ue))){const e=((e,t,n)=>{const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&n>=r?r:n})(L,ee,ce.length);pe=ce.subarray(e),ce=await le(ce.subarray(0,e),L),ue=vt(ce),ee=ce.length,de=!0}!L||de||ce.length>=4&&hs(ue,0)!=P||eo(s,"unknown zip64 extensible data"),A=v;const he=us(t,e,"filenameEncoding"),me=us(t,e,"commentEncoding"),ye=new u;let ge,be=-1/0;const ve=!c&&!I;!G&&ve&&(G=Lo(ue,ce,ae),G&&eo(s,zo));const Se=n.assign({},t.options,e,{[oe]:i});delete Se[re];for(let o=0;G>o;o++){const i=new Oo(r,Se);if(ae+V>ce.length||hs(ue,ae)!=P){if(0==o&&!de&&(E||Wo(ue)))throw new l("Encrypted central directory is not supported");throw new l("Central directory header not found")}Vo(i,ue,ae+6);const u=!!i.bitFlag.languageEncodingFlag,f=ae+V,w=f+i.filenameLength+i.extraFieldLength,m=ps(ue,ae+4),y=!(m>>8),g=m>>8==3,b=ps(ue,ae+32),v=w+b,S=new d(ce.subarray(f,v)),k=S.subarray(0,i.filenameLength),x=S.subarray(i.filenameLength+i.extraFieldLength),R=u||!he&&ur(k),F=u||!me&&ur(x),D=hs(ue,ae+38),C=D&M,I={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},O=hs(ue,ae+42),W=fs(t,e,"decodeText")||cr,L=R?Io:he||Eo,H=F?Io:me||Eo;let B=W(k,L,"filename");B===X&&(B=cr(k,L));let Z,q=W(x,H,"comment");q===X&&(q=cr(x,H)),n.assign(i,{index:o,re:de,versionMadeBy:m,msDosCompatible:y,zip64:!1,compressedSize:0,uncompressedSize:0,ye:b,offset:O,diskNumberStart:ps(ue,ae+34),internalFileAttributes:ps(ue,ae+36),externalFileAttributes:D,msdosAttributesRaw:C,msdosAttributes:I,rawFilename:k,filenameUTF8:R,commentUTF8:F,rawExtraField:S.subarray(i.filenameLength,i.filenameLength+i.extraFieldLength),rawComment:x,filename:B,comment:q});try{Z=qo(i,i,ue,ae+6)}catch(e){if(c||e.message!=$)throw e;i.ne=!0,eo(s,"missing zip64 extra field",i.filename)}if(B=i.filename,h){const e=h(B);e!==X&&(B=i.filename=e)}if(ns(B,p)){const e=new l("Unsafe filename");throw e.filename=B,e}if(Z&&eo(s,ko,B),i.ne&&i.offset==U)A=0;else{i.offset+=J;const e=Jo(r,i.diskNumberStart)+i.offset;A=a.min(e,A),be>e&&eo(s,"unsorted central directory",B),be=e}(i.version&M)>63&&eo(s,"unknown version needed to extract",B),32&~i.rawBitFlag||eo(s,"compressed patched data",B),ye.has(i.filename)&&(ge=!0),ye.add(i.filename);const N=i.externalFileAttributes>>16&T;i.unixMode===X&&16877&N&&(i.unixMode=N);const j=!!(2048&i.unixMode),K=!!(1024&i.unixMode),Q=!!(512&i.unixMode),Y=40960==((i.unixMode===X?N:i.unixMode)&_),ee=i.unixMode!==X&&16384==(i.unixMode&_)||16384==(N&_)||y&&I.directory||i.filename.endsWith("/"),te=!Y&&!ee&&(i.unixMode!==X?!!(73&i.unixMode):g&&!!(73&N));n.assign(i,{setuid:j,setgid:K,sticky:Q,symlink:Y,unixExternalUpper:N,executable:te,directory:ee,zipCrypto:i.encrypted&&!i.extraFieldAES});const ne=new yo(i);if(i.ne&&t.le.add(ne),ne.getData=(e,n)=>i.getData(e,ne,t,n),ne.arrayBuffer=async e=>{const r=new z,o=mn(r.readable).then(e=>e.arrayBuffer());return o.catch(()=>{}),await i.getData(r,ne,t,n.assign({},e,{preventClose:!1})),o},ae=v,o==G-1&&ve){const e=Lo(ue,ce,ae);e&&(G+=e,eo(s,zo))}const{onprogress:re}=e;if(re)try{await re(o+1,G,new yo(i))}catch{}yield ne}let ke=ae,ze=Zo(ce.subarray(ae))||(de?Zo(pe):X);if(!ze&&!de){const e=v+ae,t=a.min(ne-e,65541);6>t||(ze=Zo(await Yr(r,e,t)))}ze&&(t.digitalSignature=ze,ke=ae+6+ze.length),(ae!=ee&&ke!=ee||!de&&ae!=b&&ke!=b)&&is(c,s,"trailing central directory data"),ge&&is(c,s,"duplicate filename");const xe=us(t,e,"extractPrependedData"),Re=us(t,e,"extractAppendedData"),Fe=(c||xe)&&G&&4==A&&await(async e=>{const t=await Qo(e);return t==W||808471376==t})(r)?4:0;return c&&(J>0||G&&A>Fe)&&cs(Ro),(J>0||G&&A>4)&&eo(s,Ro),C&&eo(s,"prepended central directory"),xe&&(t.prependedData=A>Fe?await Yr(r,Fe,A-Fe):te),t.comment=k?await Yr(r,S+q,k):te,Re&&(t.appendedData=x<r.size?await Yr(r,x,r.size-x):te),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}[ne](){return this.close()}},e.configure=e=>{n.assign(ve,xe(Fe(e)))},e.inflateRaw=(e,t)=>Ye(e,{i:2},t&&t.ge,t&&t.m)});