@zip.js/zip.js 2.14.0 → 2.15.0

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.
Files changed (44) hide show
  1. package/BENCHMARKS.md +350 -454
  2. package/deno.json +1 -1
  3. package/dist/zip-core-external.js +342 -120
  4. package/dist/zip-core-external.min.js +1 -1
  5. package/dist/zip-core.js +340 -113
  6. package/dist/zip-core.min.js +1 -1
  7. package/dist/zip-fs-core-external.js +342 -120
  8. package/dist/zip-fs-core-external.min.js +1 -1
  9. package/dist/zip-fs-core.js +340 -113
  10. package/dist/zip-fs-core.min.js +1 -1
  11. package/dist/zip-fs-external.js +342 -120
  12. package/dist/zip-fs-external.min.js +1 -1
  13. package/dist/zip-fs-native.js +342 -115
  14. package/dist/zip-fs-native.min.js +1 -1
  15. package/dist/zip-fs.js +346 -124
  16. package/dist/zip-fs.min.js +1 -1
  17. package/dist/zip-legacy.js +342 -115
  18. package/dist/zip-legacy.min.js +1 -1
  19. package/dist/zip-module.wasm +0 -0
  20. package/dist/zip-native.js +342 -115
  21. package/dist/zip-native.min.js +1 -1
  22. package/dist/zip-web-worker-native.js +1 -1
  23. package/dist/zip-web-worker.js +1 -1
  24. package/dist/zip.js +346 -124
  25. package/dist/zip.min.js +1 -1
  26. package/index-native.cjs +342 -115
  27. package/index-native.min.js +1 -1
  28. package/index.cjs +346 -124
  29. package/index.d.cts +20 -13
  30. package/index.d.ts +20 -13
  31. package/index.min.js +1 -1
  32. package/lib/core/codec-pool.js +35 -19
  33. package/lib/core/codec-worker.js +9 -6
  34. package/lib/core/streams/codecs/aes-hmac-sha1.js +194 -56
  35. package/lib/core/streams/zip-entry-stream.js +18 -10
  36. package/lib/core/streams/zlib-wasm/zlib-streams.js +2 -7
  37. package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
  38. package/lib/core/util/decode-text.js +15 -1
  39. package/lib/core/version.js +1 -1
  40. package/lib/core/web-worker-inline-native.js +1 -1
  41. package/lib/core/web-worker-inline-wasm.js +1 -1
  42. package/lib/core/zip-reader.js +65 -16
  43. package/lib/core/zlib-streams-inline.js +1 -1
  44. package/package.json +1 -1
@@ -1 +1 @@
1
- const t=4294967295,e=65535,r=255,n=67324752,o=134695760,a=o,i=84233040,s=33639248,c=101010256,u=101075792,l=117853008,f=46,d=22,w=20,p=56,h=39169,m=21589,y=6534,b=30837,E=30805,S=2048,g=61440,A=16384,R=2048,D=1024,z="/",x=30,F=new Date(2107,11,31,23,59,58),O=new Date(1980,0,1),I=void 0,T=1/0,U="undefined",C="function",k="object",v="string",M="boolean",N=new Uint8Array,_=Symbol.asyncDispose||Symbol(),j="password",B="rawPassword",P="passThrough",L="signal",W="useWebWorkers",Z="useCompressionStream",V="transferStreams",H="preventClose",G="level",Y="useUnicodeFileNames",q="dataDescriptor",K="offset",X="usdz",J="maxAppendedDataSize",Q="signCentralDirectory",$="entry",tt="filename",et="comment",rt="strict",nt="balanced",ot="tolerant",at="compressed",it="Invalid option (must be a function)",st="Invalid signal (must be an AbortSignal instance)",ct="Invalid password (password must be a string, rawPassword must be a Uint8Array)",ut="Invalid passThrough option (must be a boolean or 'compressed')",lt="The operation was aborted";function ft(t){if(t&&typeof t!=C)throw new Error(it);return t}function dt(t){if(t&&(typeof t.addEventListener!=C||typeof t.aborted!=M))throw new Error(st);return t||I}function wt(t){if(t&&t.aborted)throw t.reason===I?new DOMException(lt,"AbortError"):t.reason}function pt(t,e){if(t&&typeof t!=v||e&&!(e instanceof Uint8Array))throw new Error(ct)}function ht(t){if(t!==I&&typeof t!=M&&t!==at)throw new Error(ut);return t}function mt(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function yt(t,e,r){t!==I&&mt(t,e,r)}function bt(t){return typeof t==v&&t.trim()?Number(t):t}const Et="Invalid maxWorkers (must be an integer greater than 0)",St="Invalid baseURI (must be a string)",gt="Invalid URI (must be a string or a function returning a string)";let At=2;try{typeof navigator!=U&&navigator.hardwareConcurrency&&(At=navigator.hardwareConcurrency)}catch{}const Rt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:At,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=U&&CompressionStream,DecompressionStream:typeof DecompressionStream!=U&&DecompressionStream},Dt="maxWorkers",zt="baseURI",xt=["wasmURI","workerURI"],Ft=["chunkSize",Dt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Ot=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],It=[zt,...xt,"useCompressionStream","useWebWorkers","transferStreams",...Ft,...Ot],Tt={...Rt};function Ut(){return Tt}function Ct(t){return kt(t.chunkSize)}function kt(t){return t=bt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function vt(t){Object.assign(Tt,Mt(_t(t)))}function Mt(t){const e={};for(const r of It){const n=t[r];n!==I&&(e[r]=Nt(r,n))}return e}function Nt(t,e){if(Ft.includes(t)){if(e=bt(e),t==Dt&&(!Number.isInteger(e)||e<1))throw new Error(Et)}else if(Ot.includes(t))ft(e);else if(t==zt){if(e&&typeof e!=v)throw new Error(St)}else if(xt.includes(t)&&e&&typeof e!=v&&typeof e!=C)throw new Error(gt);return e}function _t(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===I&&r===I)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===I&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===I&&(n.DecompressionStreamFallback=r),n}function jt(t){const e=Mt(_t(t));Object.assign(Rt,e),Object.assign(Tt,e)}function Bt(){for(const t of It)delete Tt[t];Object.assign(Tt,Rt)}function Pt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function Lt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function Wt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Zt(t){return Boolean(t)&&"object"==typeof t}const Vt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;Vt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=Vt[e-1][t];Vt[e][t]=r>>>8^Vt[0][255&r]}const[Ht,Gt,Yt,qt,Kt,Xt,Jt,Qt]=Vt;class $t{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const o=new DataView(t.buffer,t.byteOffset,r),a=r-8;for(;n<=a;n+=8){const t=e^o.getInt32(n,!0),r=o.getInt32(n+4,!0);e=Qt[255&t]^Jt[t>>>8&255]^Xt[t>>>16&255]^Kt[t>>>24&255]^qt[255&r]^Yt[r>>>8&255]^Gt[r>>>16&255]^Ht[r>>>24&255]}}for(;n<r;n++)e=e>>>8^Ht[255&(e^t[n])];this.o=e}get(){return~this.o}}class te extends TransformStream{constructor(){let t;const e=new $t;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function ee(t){if(typeof TextEncoder==U){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const re=64,ne=20,oe=new Uint8Array([128]),ae=new Uint8Array(1),ie=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),se=new Uint8Array(256),ce=new Int32Array(256),ue=new Int32Array(256),le=new Int32Array(256),fe=new Int32Array(256);let de=!1;function we(t,e){!function(){if(!de){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),se[t]=255&(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)}while(1!=t);se[0]=99;for(let t=0;t<256;t++){const e=se[t],r=me(e),n=r<<24|e<<16|e<<8|r^e;ce[t]=n,ue[t]=n>>>8|n<<24,le[t]=n>>>16|n<<16,fe[t]=n>>>24|n<<8}de=!0}}();const r=new Int32Array(60),n=function(t,e){const r=t.length>>2,n=r+6,o=4*(n+1);let a=1;for(let n=0;n<r;n++)e[n]=t[4*n]<<24|t[4*n+1]<<16|t[4*n+2]<<8|t[4*n+3];for(let t=r;t<o;t++){let n=e[t-1];t%r==0?(n=he(n<<8|n>>>24)^a<<24,a=me(a)):r>6&&t%r==4&&(n=he(n)),e[t]=e[t-r]^n}return n}(t,r),o=new Uint8Array(16),a=new Int32Array(4),i=pe(e);return{process(t,e){e&&i.update(t,0,t.length),function(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=t.length;let n=0;for(;n+16<=r;n+=16)s(),e.setInt32(n,e.getInt32(n)^a[0]),e.setInt32(n+4,e.getInt32(n+4)^a[1]),e.setInt32(n+8,e.getInt32(n+8)^a[2]),e.setInt32(n+12,e.getInt32(n+12)^a[3]);if(n<r){s();for(let e=0;n<r;n++,e++)t[n]^=a[e>>2]>>>24-8*(3&e)}}(t),e||i.update(t,0,t.length)},digest:()=>i.digest()};function s(){for(let t=0;t<16&&(o[t]++,0===o[t]);t++);let t=(o[0]<<24|o[1]<<16|o[2]<<8|o[3])^r[0],e=(o[4]<<24|o[5]<<16|o[6]<<8|o[7])^r[1],i=(o[8]<<24|o[9]<<16|o[10]<<8|o[11])^r[2],s=(o[12]<<24|o[13]<<16|o[14]<<8|o[15])^r[3],c=4;for(let o=1;o<n;o++,c+=4){const n=ce[t>>>24]^ue[e>>>16&255]^le[i>>>8&255]^fe[255&s]^r[c],o=ce[e>>>24]^ue[i>>>16&255]^le[s>>>8&255]^fe[255&t]^r[c+1],a=ce[i>>>24]^ue[s>>>16&255]^le[t>>>8&255]^fe[255&e]^r[c+2],u=ce[s>>>24]^ue[t>>>16&255]^le[e>>>8&255]^fe[255&i]^r[c+3];t=n,e=o,i=a,s=u}a[0]=(se[t>>>24]<<24|se[e>>>16&255]<<16|se[i>>>8&255]<<8|se[255&s])^r[c],a[1]=(se[e>>>24]<<24|se[i>>>16&255]<<16|se[s>>>8&255]<<8|se[255&t])^r[c+1],a[2]=(se[i>>>24]<<24|se[s>>>16&255]<<16|se[t>>>8&255]<<8|se[255&e])^r[c+2],a[3]=(se[s>>>24]<<24|se[t>>>16&255]<<16|se[e>>>8&255]<<8|se[255&i])^r[c+3]}}function pe(t){const e=function(){const t=new Int32Array(ie),e=new Int32Array(80),r=new Uint8Array(re),n=new DataView(r.buffer),o=new Uint8Array(8);let a=0,i=0;return{update:s,digest:function(){const e=8*i,r=Math.floor(e/4294967296),n=e>>>0;for(s(oe,0,1);56!=a;)s(ae,0,1);o[0]=r>>>24,o[1]=r>>>16,o[2]=r>>>8,o[3]=r,o[4]=n>>>24,o[5]=n>>>16,o[6]=n>>>8,o[7]=n,s(o,0,8);const c=new Uint8Array(ne),u=new DataView(c.buffer);for(let e=0;e<t.length;e++)u.setInt32(4*e,t[e]);return t.set(ie),a=0,i=0,c}};function s(t,e,o){const s=e+o;if(i+=o,a){for(;e<s&&a<re;)r[a++]=t[e++];a==re&&(c(n,0),a=0)}if(e+re<=s){const r=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;e+re<=s;e+=re)c(r,e)}for(;e<s;)r[a++]=t[e++]}function c(r,n){for(let t=0;t<16;t++)e[t]=r.getInt32(n+4*t);for(let t=16;t<80;t++){const r=e[t-3]^e[t-8]^e[t-14]^e[t-16];e[t]=r<<1|r>>>31}let o,a=t[0],i=t[1],s=t[2],c=t[3],u=t[4];for(let t=0;t<20;t++)o=(a<<5|a>>>27)+(i&s|~i&c)+u+1518500249+e[t]|0,u=c,c=s,s=i<<30|i>>>2,i=a,a=o;for(let t=20;t<40;t++)o=(a<<5|a>>>27)+(i^s^c)+u+1859775393+e[t]|0,u=c,c=s,s=i<<30|i>>>2,i=a,a=o;for(let t=40;t<60;t++)o=(a<<5|a>>>27)+(i&s|i&c|s&c)+u+2400959708+e[t]|0,u=c,c=s,s=i<<30|i>>>2,i=a,a=o;for(let t=60;t<80;t++)o=(a<<5|a>>>27)+(i^s^c)+u+3395469782+e[t]|0,u=c,c=s,s=i<<30|i>>>2,i=a,a=o;t[0]=t[0]+a|0,t[1]=t[1]+i|0,t[2]=t[2]+s|0,t[3]=t[3]+c|0,t[4]=t[4]+u|0}}(),r=new Uint8Array(re),n=new Uint8Array(re);t.length>re&&(e.update(t,0,t.length),t=e.digest());for(let e=0;e<re;e++){const o=e<t.length?t[e]:0;r[e]=54^o,n[e]=92^o}return e.update(r,0,re),{update(t,r,n){e.update(t,r,n)},digest(){const t=e.digest();e.update(n,0,re),e.update(t,0,ne);const o=e.digest();return e.update(r,0,re),o}}}function he(t){return se[t>>>24]<<24|se[t>>>16&255]<<16|se[t>>>8&255]<<8|se[255&t]}function me(t){return 255&(t<<1^27*(t>>7))}const ye=typeof crypto!=U&&typeof crypto.getRandomValues==C,be="Invalid password",Ee="Invalid authentication code",Se="zipjs-abort-check-password",ge="Crypto API not supported";function Ae(t){if(ye)return crypto.getRandomValues(t);throw new Error(ge)}const Re={name:"PBKDF2"},De=Object.assign({hash:{name:"HMAC"}},Re),ze=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Re),xe=["deriveBits"],Fe=[8,12,16],Oe=[16,24,32],Ie=10,Te=typeof crypto!=U,Ue=Te&&crypto.subtle;let Ce=Te&&typeof Ue!=U&&typeof Ue.importKey==C&&typeof Ue.deriveBits==C,ke=we;class ve extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:o=!0}){super({start(){Ne(this,t,e,r)},async transform(t,e){const r=this,{password:o,strength:a,l:i,ready:s}=r;o?(await async function(t,e,r,n){const o=await Be(t,e,r,Le(n,0,Fe[e])),a=Le(n,Fe[e]);if(o[0]!=a[0]||o[1]!=a[1])throw je(t),new Error(be)}(r,a,o,Le(t,0,Fe[a]+2)),t=Le(t,Fe[a]+2),n?(je(r),e.error(new Error(Se))):i()):await s;const c=new Uint8Array(t.length-Ie-(t.length-Ie)%16);e.enqueue(_e(r,t,c,0,Ie,!0))},async flush(t){const{h:e,m:r,ready:n}=this;if(e){await n;const a=Le(r,r.length-Ie),i=new Uint8Array(Le(r,0,r.length-Ie));e.process(i,!0);const s=e.digest();let c=r.length<Ie?1:0;for(let t=0;t<Ie;t++)c|=s[t]^a[t];if(c&&o)throw new Error(Ee);t.enqueue(i)}},cancel(){je(this)}})}}class Me extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Ne(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:o,l:a,ready:i}=r;let s=N;n?(s=await async function(t,e,r){const n=Ae(new Uint8Array(Fe[e]));return Pt(n,await Be(t,e,r,n))}(r,o,n),a()):await i;const c=new Uint8Array(s.length+t.length-t.length%16);c.set(s,0),e.enqueue(_e(r,t,c,s.length,0,!1))},async flush(t){const{h:e,m:r,ready:n}=this;if(e){await n;const o=new Uint8Array(r);e.process(o,!1);const a=Le(e.digest(),0,Ie);t.enqueue(Pt(o,a))}},cancel(){je(this)}})}}function Ne(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.l=e),password:Pe(e,r),strength:n-1,m:N})}function _e(t,e,r,n,o,a){const{h:i,m:s}=t;s.length&&(e=Pt(s,e));const c=e.length-o,u=c-c%16;if(r=function(t,e){if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t}(r,n+u),u){const t=Le(r,n,n+u);t.set(Le(e,0,u)),i.process(t,a)}return t.m=Le(e,u),r}function je({h:t}){t&&t.dispose&&t.dispose()}async function Be(t,e,r,n){t.password=null;const o=Oe[e],a=await async function(t,e,r){if(Ce)try{const n=await Ue.importKey("raw",t,De,!1,xe);return new Uint8Array(await Ue.deriveBits(Object.assign({salt:e},ze),n,8*r))}catch{Ce=!1}return function(t,e,r,n){const o=pe(t),a=new Uint8Array(n),i=new Uint8Array(e.length+4),s=new DataView(i.buffer);i.set(e);for(let t=1,r=0;r<n;t++,r+=ne){s.setUint32(e.length,t),o.update(i,0,i.length);let c=o.digest();const u=c.slice();for(let t=1;t<1e3;t++){o.update(c,0,ne),c=o.digest();for(let t=0;t<ne;t++)u[t]^=c[t]}a.set(u.subarray(0,Math.min(ne,n-r)),r)}return a}(t,e,0,r)}(r,n,2*o+2);return t.h=ke(Le(a,0,o),Le(a,o,2*o)),Le(a,2*o)}function Pe(t,e){return e===I?ee(t):e}function Le(t,e,r){return t.subarray(e,r)}class We extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Ve(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=He(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw new Error(be);t=t.subarray(12)}n?e.error(new Error(Se)):e.enqueue(He(r,t))}})}}class Ze extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Ve(this,t,e,r)},transform(t,e){const r=this;let n,o;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=Ae(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Ge(r,e),0),o=12}else n=new Uint8Array(t.length),o=0;n.set(Ge(r,t),o),e.enqueue(n)}})}}function Ve(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),function(t,e,r){const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,S:new $t(n[0]),A:new $t(n[2])}),r)for(let e=0;e<r.length;e++)Ye(t,r[e]);else for(let r=0;r<e.length;r++)Ye(t,e.charCodeAt(r))}(t,e,r)}function He(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=qe(t)^e[n],Ye(t,r[n]);return r}function Ge(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=qe(t)^e[n],Ye(t,e[n]);return r}function Ye(t,e){let[,r]=t.keys;t.S.append([e]);const n=~t.S.get();r=Xe(Math.imul(Xe(r+Ke(n)),134775813)+1),t.A.append([r>>>24]);const o=~t.A.get();t.keys=[n,r,o]}function qe(t){const e=2|t.keys[2];return Ke(Math.imul(e,1^e)>>>8)}function Ke(t){return 255&t}function Xe(t){return 4294967295&t}function Je(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function Qe(t,e){t=Je(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=C||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function $e(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const tr="Invalid codec definition",er="Reserved compression method",rr="Invalid codec module",nr="Compression method not supported",or=[0,8,9,99],ar=new Map,ir=new Map;function sr(t={}){const{compressionMethod:r,format:n,codecURI:o,CompressionStream:a,DecompressionStream:i,versionNeeded:s}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=v||!n.length)throw new Error(tr);if(or.includes(r))throw new Error(er);const c=typeof a==C||typeof i==C;if(!(c||typeof o==v&&o.length))throw new Error(tr);ar.set(r,{compressionMethod:r,format:n,codecURI:o,versionNeeded:s}),c&&dr(n,{CompressionStream:a,DecompressionStream:i})}function cr(t){const e=ar.get(t);if(e){let r;ar.delete(t),ar.forEach(t=>r=r||t.format==e.format),r||ir.delete(e.format)}}function ur(t){return ar.get(t)}function lr(){return Array.from(ar.values(),t=>Object.assign({},t,ir.get(t.format)))}function fr(t){return ir.get(t)}function dr(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=C&&typeof n!=C)throw new Error(rr);ir.set(t,{CompressionStream:r,DecompressionStream:n})}const wr="Invalid uncompressed size",pr="Invalid compressed data",hr="Invalid CRC32",mr="deflate-raw",yr="deflate64-raw",br="gzip",Er=[31,139,8];class Sr extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:o,encrypted:a,useCompressionStream:i,zipCrypto:s,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:d,inputSize:w}=t,p=this;let h,m,y,b=super.readable;const E=f&&fr(f),S=c&&o&&!l&&!E&&(!a||s)&&Boolean(i&&n);if(a&&!s||!c||S||(h=new te,b=Ir(b,h)),o)if(E)b=Tr(b,Fr(E.CompressionStream,f,{level:u,chunkSize:e,compressionMethod:d,uncompressedSize:w}));else if(S)y=new gr,b=Tr(b,new n(br)),b=Ir(b,y);else try{b=Or(b,i,{level:u,chunkSize:e},n,r)}catch(t){let e;try{e=new n(br)}catch{throw t}b=Tr(b,e),b=Ir(b,new gr)}a&&(s?b=Ir(b,new Ze(t)):(m=new Me(t),b=Ir(b,m))),xr(p,b,()=>{a&&!s||!c||(p.crc32=S?y.crc32:new DataView(h.value.buffer).getUint32(0))})}}class gr extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const o=r.length+t.length;if(o<=8)return void(r=Pt(r,t));const a=o-8,i=Math.min(a,r.length);n.enqueue(Pt(r.subarray(0,i),t.subarray(0,a-i))),r=Pt(r.subarray(i),t.subarray(a-i))},flush(){const e=Wt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Ar extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:o,encrypted:a,checkCrc32:i,crc32:s,compressed:c,useCompressionStream:u,deflate64:l,format:f,compressionMethod:d,rawBitFlag:w,outputSize:p}=t;let h,m,y=super.readable;if(a&&(o?y=Ir(y,new We(t)):(m=new ve(t),y=Ir(y,m))),c){const t=f&&fr(f);if(t)y=Tr(y,Fr(t.DecompressionStream,f,{chunkSize:e,compressionMethod:d,rawBitFlag:w,uncompressedSize:p}));else try{y=Or(y,u,{chunkSize:e,deflate64:l},n,r)}catch(t){if(l||p===I)throw t;let e;try{e=new n(br)}catch{throw t}y=function(t,e,r){const n=new $t;let o,a,i,s=0,c=!1;const u=new Promise((t,e)=>{a=t,i=e});u.catch(()=>{}),r||a();const l=new TransformStream({start(t){const e=new Uint8Array(10);e.set(Er),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,d();try{await u}finally{w()}const e=new Uint8Array(8),o=Wt(e);o.setUint32(0,n.get(),!0),o.setUint32(4,r,!0),t.enqueue(e)},cancel(t){i(t)}}),f=new TransformStream({transform(t,e){n.append(t),s+=t.length,s>=r?a():c&&d(),e.enqueue(t)},cancel(t){i(t)}});return t=Ir(t,l),Ir(t=Tr(t,e),f);function d(){w(),o=setTimeout(()=>i(new Error(wr)),5e3)}function w(){clearTimeout(o)}}(y,e,p)}y=function(t){const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=new Error(pr);throw e.cause=t,e}const{value:n,done:o}=r;o?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}(y)}i&&(h=new te,y=Ir(y,h)),xr(this,y,()=>{if(i){const t=new DataView(h.value.buffer);if(s!=t.getUint32(0,!1))throw new Error(hr)}})}}const Rr=new Map;function Dr(t,e){if(!t)return!1;let r=Rr.get(t);r||(r=new Map,Rr.set(t,r));let n=r.get(e);if(n===I){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function zr(t){return Dr(t,mr)}function xr(t,e,r){e=Ir(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Fr(t,e,r){if(!t)throw new Error(nr);return new t(e,r)}function Or(t,e,r,n,o){const a=e&&n?n:o||n,i=r.deflate64?yr:mr;let s;try{s=new a(i,r)}catch(t){if(!e||!o||a==o)throw t;s=new o(i,r)}return Tr(t,s)}function Ir(t,e){return Je(t).pipeThrough(e)}function Tr(t,e){const r=e.writable.getWriter(),n=t.getReader();return async function(){try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(r,t),await async function(t,e){try{await t.cancel(e)}catch{}}(n,t)}}(),e.readable}const Ur="data",Cr="deflate",kr="inflate";class vr extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let o;n.startsWith(Cr)?o=Sr:n.startsWith(kr)&&(o=Ar),r.outputSize=0;let a=0;const i=new o(t,e),s=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:a})}}),u=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==I&&r.outputSize>t.outputSize))throw new Error(wr)},flush(){const{crc32:t}=i;Object.assign(r,{crc32:t,inputSize:a})}});Object.defineProperty(r,"readable",{get:()=>s.pipeThrough(c).pipeThrough(i).pipeThrough(u)})}}class Mr extends TransformStream{constructor(t){const e=[];let r=0,n=0;function o(){const n=new Uint8Array(t);let o=0;for(;o<t;){const r=e[0],a=t-o;r.length<=a?(n.set(r,o),o+=r.length,e.shift()):(n.set(r.subarray(0,a),o),e[0]=r.subarray(a),o+=a)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(a,i){for(e.push(a),r+=a.length;r>t;)n+=t,i.enqueue(o())},flush(t){r&&(n+=r,t.enqueue(function(t,e){const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r}(e,r)))}}),Object.defineProperty(this,"outputSize",{get:()=>n})}}const Nr="Worker startup timeout";let _r,jr,Br,Pr=()=>{};async function Lr(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;return!(!r||r.R)||!(!zr(e)&&(n=e,!Dr(n,br)))||!!r&&await Wr(t);var n}async function Wr(t){if(Pr)try{return await Pr(t),!0}catch{}return!1}function Zr(t){t.createWorker?jr=!0:_r=!1}class Vr{constructor(t,{readable:e,writable:r},n,o){const{options:a,config:i,D:s,useWebWorkers:c,transferStreams:u,workerURI:l}=n;let{createWorker:f}=n;const{signal:d}=s;return jr&&(f=I),Object.assign(t,{F:!0,O:(t.O||0)+1,readable:e.pipeThrough(new Mr(Ct(i))).pipeThrough(new Hr(s),{signal:d}),writable:r,options:Object.assign({},a),I:n,workerURI:l,createWorker:f,transferStreams:u,terminate:()=>new Promise(e=>{const{T:r,F:n}=t;n?t.U=e:(r&&(r.terminate(),t.T=null),e()),t.C=null}),v(){if(t.F){const{U:e,T:r}=t;e&&(t.U=null,r&&(t.M=!0,r.terminate()),e()),t.F=!1,o(t)}}}),_r===I&&(_r=typeof Worker!=U),(c&&Br&&(_r&&l||f)?Br:Yr)(t,i)}}class Hr extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let o=0;super({async start(){t&&await Gr(t,r)},async transform(t,n){o+=t.length,e&&await Gr(e,o,r),n.enqueue(t)},async flush(){n&&await Gr(n,o)}})}}async function Gr(t,...e){try{await t(...e)}catch{}}function Yr(t,e){return{run:()=>qr(t,e)}}async function qr({options:t,readable:e,writable:r,v:n,I:o},a){let i,s,c;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Cr),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;t.useCompressionStream?r&&r.R&&!zr(n)&&await u():await u()||r&&!r.R||(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await u(),i=new vr(t,a),s=new Mr(Ct(a)),await e.pipeThrough(i).pipeThrough(s).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:c}=i;return{crc32:n,inputSize:o,outputSize:c}}catch(t){if(i){const e=s?s.outputSize:0;if(o.outputSize=e,Zt(t))try{t.outputSize=e}catch{}}throw t}finally{n()}function u(){return c||(c=Wr(a)),c}}const Kr={type:"module"},Xr="error";let Jr,Qr,$r,tn=!0;try{tn=typeof structuredClone==C&&structuredClone(new DOMException("","AbortError")).code!==I}catch{}var en;function rn(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function nn(t){const{T:e}=t;if(e)try{e.terminate()}catch{}t.C=null}function on(t,e,r,n,o=!0){const{createWorker:a}=r;let i,s,c;if(a)i=a();else if(Qr===I||Jr!==t){const a=typeof t==C;s=a?t(o):t;const u=s.startsWith("data:"),l=s.startsWith("blob:");if(u||l){n===I&&(n=!1),n&&(c=Kr);try{i=new Worker(s,c)}catch(o){if(l)try{URL.revokeObjectURL(s)}catch{}if(a&&l)return on(t,e,r,n,!1);if(n)throw o;return on(t,e,r,!0,!1)}}else{n===I&&(n=!0),n&&(c=Kr);try{s=new URL(s,e)}catch{}try{i=new Worker(s,c)}catch(a){if(n)return on(t,e,r,!1,o);throw a}}Jr=t,Qr=s,$r=c}else i=new Worker(Qr,$r);return i.addEventListener("message",t=>{r.N=!0,an(r),async function({data:t},e){const{type:r,value:n,messageId:o,result:a,error:i,errorValue:s}=t,{reader:c,writer:u,_:l,j:f,v:d,O:w}=e,p=()=>e.O!=w;try{if(i)h(function(t,e){const{message:r,stack:n,code:o,name:a,outputSize:i,cause:s,codecImportFailed:c}=t;let u;if(e?u=e.value:(u=Object.assign(new Error(r),{stack:n,code:o,name:a}),s&&(u.cause=Object.assign(new Error(s.message),{name:s.name}))),Zt(u))try{i!==I&&(u.outputSize=i),c&&(u.codecImportFailed=!0),e&&(u.name!==a&&(u.name=a),u.code!==o&&(u.code=o))}catch{}return u}(i,s));else{if("pull"==r){const{value:t,done:r}=await c.read();p()||cn({type:Ur,value:t,done:r,messageId:o},e)}if(r==Ur){const t=new Uint8Array(n);await u.ready,await u.write(t),p()||cn({type:"ack",messageId:o},e)}"close"==r&&function(t){p()||(l(t),m(),d())}(a)}}catch(i){p()||(nn(e),h(i))}function h(t){p()||(f(t),m(),Zt(t)&&t.codecImportFailed||d())}function m(){u&&u.releaseLock()}}(t,r)}),i.addEventListener(Xr,t=>sn(t,r)),i.addEventListener("messageerror",t=>sn(t,r)),i}function an(t){const{B:e}=t;e&&(clearTimeout(e),t.B=null)}function sn(t,e){t.preventDefault&&t.preventDefault(),an(e);const{N:r,j:n,writer:o,v:a}=e;nn(e),r||(e.T=null);let i=t.error||new Error(t.message||Xr);r||(i=Object.assign(new Error(i.message||Xr),{P:!0}),e.L=i),n&&(n(i),o&&o.releaseLock(),r&&a())}function cn(t,{T:e,writer:r,transferStreams:n,N:o}){try{const{value:r,readable:a,writable:i}=t,s=[];if(r&&(t.value=Lt(r),s.push(t.value.buffer)),n&&tn&&o?(a&&s.push(a),i&&s.push(i)):t.readable=t.writable=null,s.length)try{return e.postMessage(t,s),!0}catch{tn=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}en=function(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:o}=e;let{wasmURI:a}=e;if(!t.C){let i;typeof a==C&&(a=a());try{i=on(t.workerURI,r,t)}catch{return Zr(t),Yr(t,e)}Object.assign(t,{T:i,N:!1,M:!1,L:null,C:{run:async()=>{try{return await async function(t,e){if(!t.T){const{L:e}=t;t.L=null;const r=e||new Error(Nr);throw r.P=!0,r}let r,n;const o=new Promise((e,o)=>{r=e,n=e=>{const{outputSize:r,I:n}=t;if(n.outputSize=r,Zt(e))try{e.outputSize=r}catch{}o(e)}});Object.assign(t,{reader:null,writer:null,outputSize:0,W:!1,Z:null,_:r,j:n,result:o});const{readable:a,options:i}=t,{writable:s,closed:c,V:u}=function(t,e){const r=new AbortController;let n;const{writable:o,readable:a}=new TransformStream({transform(t,r){e.outputSize+=t.length,r.enqueue(t)}}),i=a.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:r.signal});return i.catch(t=>{n||Object.assign(e,{W:!0,Z:t})}),{writable:o,closed:i,V:()=>{n=!0,r.abort()}}}(t.writable,t);let l;try{l=cn({type:"start",options:i,config:e,readable:a,writable:s},t)}catch(e){u();try{await c}catch{}throw t.v(),e}l||Object.assign(t,{reader:a.getReader(),writer:s.getWriter()});const{workerStartupTimeout:f}=e;!t.N&&Number.isFinite(f)&&f>=0&&(t.B=setTimeout(()=>function(t){if(t.B=null,t.N)return;const{j:e,writer:r}=t;if(nn(t),t.T=null,e){const t=new Error(Nr);t.P=!0,e(t),r&&r.releaseLock()}}(t),f));try{const t=await o;return await d(),await c,t}catch(e){await d(),u();try{await c}catch{}const{outputSize:r,I:n,W:o,Z:a}=t;n.outputSize=r;const i=Zt(e)&&(e.codecImportFailed||e.P),s=o&&!i?a:e;if(Zt(s))try{s.outputSize=r}catch{}throw s}async function d(){if(!l&&!s.locked)try{await s.getWriter().close()}catch{}}}(t,{chunkSize:n,wasmURI:a,baseURI:r,workerStartupTimeout:o})}catch(r){if(r&&r.P)return Zr(t),rn(t),qr(t,e);if(r&&r.codecImportFailed){if(t.reader)return rn(t),qr(t,e);t.v()}throw r}}}})}return t.C},Br=en;let un=[];const ln=[];let fn,dn,wn=0;async function pn(t,e){const{options:r,config:n}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:s,checkCrc32:c,computeCrc32:u,encrypted:l,format:f,codecURI:d}=r,{workerURI:w,createWorker:p,maxWorkers:h}=n;f&&(d&&(r.codecURI=function(t,e){try{return new URL(t,e).toString()}catch{return t}}(d,n.baseURI)),await async function(t,e){!ir.has(t)&&e&&dr(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))}(f,r.codecURI)),e.transferStreams=!f&&(o||o===I&&n.transferStreams);const m=!(s||c||u||l),y=f===I||Boolean(r.codecURI);return e.useWebWorkers=!m&&y&&(a||a===I&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:I,e.createWorker=e.useWebWorkers&&p?p:I,r.useCompressionStream=i||i===I&&n.useCompressionStream,(await async function(){const r=un.find(t=>!t.F);if(r)return En(r),new Vr(r,t,e,b);if(un.length<h){const r={H:wn};return wn++,un.push(r),new Vr(r,t,e,b)}return new Promise(r=>{ln.push({resolve:r,stream:t,I:e}),dn=n.workerStarvationTimeout,hn()})}()).run();function b(t){if(mn(),ln.length){const[{resolve:e,stream:r,I:n}]=ln.splice(0,1);e(new Vr(t,r,n,b)),hn()}else t.T?(En(t),function(t,e){const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.M?t.M=!1:t.G=setTimeout(async()=>{un=un.filter(e=>e!=t);try{await t.terminate()}catch{}},n))}(t,e)):un=un.filter(e=>e!=t)}}function hn(){!fn&&ln.length&&Number.isFinite(dn)&&dn>=0&&(fn=setTimeout(yn,dn))}function mn(){fn&&(clearTimeout(fn),fn=null)}function yn(){if(fn=null,ln.length){const[{resolve:t,stream:e,I:r}]=ln.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:I,createWorker:I});t(new Vr({},e,n,bn)),hn()}}function bn(){mn(),hn()}function En(t){const{G:e}=t;e&&(clearTimeout(e),t.G=null)}const Sn="\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 gn(t,e){return An(t,e,!0)}function An(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let r=0;r<t.length;r++)e+=Sn[t[r]];return e}(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const Rn="HTTP error ",Dn="HTTP Range not supported",zn="HTTP resource changed",xn="Writer iterator completed too soon",Fn="Writer not initialized",On="Invalid writer (size must be writable)",In="Content-Range",Tn="Range",Un="GET",Cn="bytes",kn=16777216,vn="writable",Mn=Symbol();class Nn{constructor(){this.size=0}init(){this.initialized=!0}}class _n extends Nn{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=Ct(Ut())}={}){const n=this;let o=0;return r=kt(r),new ReadableStream({async pull(a){const i=e===I?r:Math.min(r,e-o),s=await Do(n,t+o,i);s.length&&(a.enqueue(s),o+=s.length),(e!==I&&o>=e||!s.length&&i)&&a.close()}})}}class jn extends Nn{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw new Error(Fn);return t.writeUint8Array(Lt(e))}});Object.defineProperty(t,vn,{get:()=>e})}writeUint8Array(){}}class Bn extends _n{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{Y:t,K:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{K:r,Y:n}=this,o=new Uint8Array(e),a=4*Math.floor(t/3),i=atob(n.substring(a+r,4*Math.ceil((t+e)/3)+r)),s=t-3*Math.floor(a/4);let c=0;for(let t=s;t<s+e&&t<i.length;t++)o[t-s]=i.charCodeAt(t),c++;return c<o.length?o.subarray(0,c):o}}class Pn extends jn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",X:""})}writeUint8Array(t){const e=this;let r,n=e.X;const o=e.X.length;for(e.X="",r=0;r<3*Math.floor((o+t.length)/3)-o;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.X+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.X=n+e.X}getData(){return this.data+btoa(this.X)}}let Ln,Wn;class Zn extends _n{constructor(t){super(),Object.assign(this,{J:t,size:t.size}),Wn||(Wn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();Ln=1==e}catch{Ln=!1}})())}createReadable(t){const{J:e,size:r}=this,{offset:n=0,size:o=r-n}=t||{};if(typeof e.stream==C){if(!n&&o>=r)return Je(e.stream());if(Ln)return Je(e.slice(n,n+o).stream())}return super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,o=!t&&n>=r.size?r.J:r.J.slice(t,n);let a=await o.arrayBuffer();return a.byteLength>e&&(a=a.slice(t,n)),new Uint8Array(a)}}class Vn extends Nn{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,vn,{get:()=>r.writable}),e.contentType=t,e.$=Qe(r.readable,t),e.$.catch(()=>{})}getData(){return this.$}}class Hn extends Zn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}function Gn(t){let e=0;for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);n<128?e+=1:n<2048?e+=2:n<55296||n>=57344?e+=3:n<56320&&56320==(64512&t.charCodeAt(r+1))?(e+=4,r++):e+=3}return e}class Yn extends Vn{constructor(t){super(),Object.assign(this,{encoding:t,et:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,et:e}=this,r=await super.getData();return r.text&&e?r.text():function(t,e){return An(t,e,!1)}(new Uint8Array(await r.arrayBuffer()),t)}}class qn extends _n{constructor(t,e){super(),Xn(this,t,e)}async init(){await Jn(this,lo,io),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:o}=e;if((r||n)&&o!==I){const{offset:r=0,size:n=o-r}=t||{};if(n>0&&r<o)return function(t,e,r){let n,o=e,a=0,i=r;return new ReadableStream({start:()=>s(),async pull(t){n||await s();const{value:e,done:r}=await n.read();if(r)throw new Error(Dn);const o=e.length>a?e.subarray(0,a):e;a-=o.length,i-=o.length,o.length&&t.enqueue(o),a||(await async function(){const t=n;n=I,await t.cancel()}(),i||t.close())},cancel:t=>n&&n.cancel(t)});async function s(){const e=Math.min(t.maximumRangeSize,i),r=await lo(Un,t,oo(t,o,e));if(206!=r.status)throw new Error(Dn);const s=$n(r);if(s!==I&&s!=o)throw new Error(Dn);no(t,r),ro(t,r),o+=e,a=e,n=r.body.getReader()}}(e,r,Math.min(n,o-r))}return super.createReadable(t)}readUint8Array(t,e){return Qn(this,t,e,lo,io)}}class Kn extends _n{constructor(t,e){super(),Xn(this,t,e)}async init(){await Jn(this,fo,so),super.init()}readUint8Array(t,e){return Qn(this,t,e,fo,so)}}function Xn(t,e,r){const{preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s=!0,maximumRangeSize:c=kn,fetch:u}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s,maximumRangeSize:c,fetch:u})}async function Jn(t,e,r){const{url:n,preventHeadRequest:o,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:s}=t;if(function(t){const{baseURI:e}=Ut(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r}(n)&&(a||i)&&(typeof o==U||o)){const n=await e(Un,t,oo(t,s?-65557:void 0)),o=n.headers.get("Accept-Ranges");if(!(i||o&&o.toLowerCase()==Cn))throw new Error(Dn);{let o;s&&206==n.status&&(o=new Uint8Array(await n.arrayBuffer())),ro(t,n);const a=to(n);a===I?await uo(t,e,r):t.size=a,o&&o.length&&$n(n)===t.size-o.length&&(t.nt=o)}}else await uo(t,e,r)}async function Qn(t,e,r,n,o){const{useRangeHeader:a,forceRangeRequests:i,nt:s,size:c,options:u}=t;if(a||i){if(e>=c||0===r)return N;{if(e+r>c&&(r=c-e),s&&e>=c-s.length){const t=e-(c-s.length);return s.slice(t,t+r)}const o=await n(Un,t,oo(t,e,r));if(206!=o.status)throw new Error(Dn);const a=$n(o);if(a!==I&&a!=e)throw new Error(Dn);no(t,o),ro(t,o);const i=new Uint8Array(await o.arrayBuffer());if(i.length!=r)throw new Error(Dn);return i}}{const{data:n}=t;return n||await o(t,u),t.data.subarray(e,e+r)}}function $n(t){const e=t.headers.get(In);if(e){const t=Number(e.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t))return t}}function to(t){const e=t.headers.get(In);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function eo({headers:t}){return{ot:t.get("Etag")||I,lastModified:t.get("Last-Modified")||I}}function ro(t,e){const{checkResourceChanges:r,it:n}=t;r&&!n&&206==e.status&&(t.it=eo(e))}function no(t,e){const{checkResourceChanges:r,it:n,size:o}=t;if(r){const t=to(e);if(t!==I&&o!==I&&t!=o)throw new Error(zn);if(n){const t=eo(e);if(Object.entries(n).some(([e,r])=>r!==I&&t[e]!==I&&r!=t[e]))throw new Error(zn)}}}function oo(t,e=0,r=1){return Object.assign({},ao(t),{[Tn]:Cn+"="+(e<0?e:e+"-"+(e+r-1))})}function ao({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function io(t){await co(t,lo)}async function so(t){await co(t,fo)}async function co(t,e){const r=await e(Un,t,ao(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function uo(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,ao(t)),o=n.headers.get("Content-Length");o&&!n.headers.get("Content-Encoding")?t.size=Number(o):await r(t,t.options)}}async function lo(t,{fetch:e=fetch,options:r,url:n},o){const a=await e(n,Object.assign({},r,{method:t,headers:o}));if(a.status>=200&&a.status<=299)return a;throw 416==a.status?new Error(Dn):new Error(Rn+(a.statusText||a.status))}function fo(t,{url:e},r){return new Promise((n,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status>=200&&a.status<=299){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:a.status,arrayBuffer:()=>a.response,headers:new Map(t)})}else o(416==a.status?new Error(Dn):new Error(Rn+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new Error("Network error")),!1),a.open(t,e),r)for(const t of Object.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class wo extends _n{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Kn(t,e):new qn(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 po extends wo{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class ho extends _n{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{st:t,size:t.length})}readUint8Array(t,e){return this.st.slice(t,t+e)}}class mo extends jn{constructor(t){super(),this.ct=t||262144}init(t=0){Object.assign(this,{offset:0,st:new Uint8Array(t>0?t:this.ct)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.st.length){let t=e.st.length?2*e.st.length:e.ct;for(;t<r;)t*=2;const n=e.st;e.st=new Uint8Array(t),e.st.set(n)}e.st.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.st.length?this.st:this.st.slice(0,this.offset)}}class yo extends _n{constructor(t){super(),this.ut=t}async init(){const t=this;t.lt=0;const e=t.ut=await Promise.all(t.ut.map(Ro));t.ft=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}wt(t){const{ft:e,size:r}=this,n=e[t];return n===I?r:n}async readUint8Array(t,e){const r=this,{ut:n}=this;let o,a=0,i=t;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const s=n[a];if(s){const n=s.size;if(i+e<=n)o=await Do(s,i,e);else{const a=n-i;o=Pt(await Do(s,i,a),await r.readUint8Array(t+a,e-a))}}else o=N;return r.lt=Math.max(a,r.lt),o}}class bo extends Nn{constructor(t,e=4294967295){super();const r=this;let n,o,a;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new WritableStream({async write(e){if(e===Mn)return void(a&&await c());const{availableSize:i}=r;if(a)e.length>=i?(await s(e.subarray(0,i)),await c(),e.length>i&&await this.write(e.subarray(i))):await s(e);else{const{value:i,done:s}=await t.next();if(s&&!i)throw new Error(xn);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Ao(n),o=i.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await u())},async abort(t){a&&await a.abort(t)}});async function s(t){const e=t.length;e&&(await a.ready,await a.write(t),n.size+=e,r.availableSize-=e)}async function c(){await u(),r.diskOffset+=n.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function u(){await a.close()}Object.defineProperty(r,vn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Mn)}finally{t.releaseLock()}}}class Eo{constructor(t){return Array.isArray(t)&&(t=new yo(t)),(t instanceof ReadableStream||typeof t.getReader==C)&&(t={readable:Je(t)}),t}}class So{constructor(t){t.writable===I&&typeof t.next==C&&(t=new bo(t)),(t instanceof WritableStream||typeof t.getWriter==C)&&(t={writable:$e(t)});try{t.size=t.size===I?0:t.size}catch{throw new Error(On)}return t}}function go(t){return Boolean(t&&t.getData)}async function Ao(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function Ro(t){return t=new Eo(t),await Ao(t),t.size!==I&&t.readUint8Array||(t=new Zn(await Qe(t.readable)),await Ao(t)),t}function Do(t,e,r){return t.readUint8Array(e,r)}function zo(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?_n.prototype.createReadable.call(t,e):t.readable}function xo(t,e,r){if(!t.some(t=>t.reason==e)){const n={reason:e};r!==I&&(n.filename=r),t.push(n)}}const Fo="filename",Oo="rawFilename",Io="comment",To="rawComment",Uo="uncompressedSize",Co="compressedSize",ko="offset",vo="diskNumberStart",Mo="lastModDate",No="rawLastModDate",_o="lastAccessDate",jo="rawLastAccessDate",Bo="creationDate",Po="rawCreationDate",Lo="internalFileAttributes",Wo="externalFileAttributes",Zo="msdosAttributesRaw",Vo="msdosAttributes",Ho="msDosCompatible",Go="zip64",Yo="encrypted",qo="version",Ko="versionMadeBy",Xo="zipCrypto",Jo="directory",Qo="executable",$o="compressionMethod",ta="signature",ea="extraField",ra="unixMode",na="setuid",oa="setgid",aa="sticky",ia=[Fo,Oo,Uo,Co,Mo,No,Io,To,_o,jo,Bo,Po,ko,vo,Lo,Wo,Zo,Vo,Ho,Go,Yo,qo,Ko,Xo,Jo,Qo,"symlink",$o,ta,"crc32",ea,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ra,"unixExternalUpper",na,oa,aa,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class sa{constructor(t){ia.forEach(e=>this[e]=t[e])}}const ca=new Set([1,h,10,m,28789,25461,y,b,E,22613,13]);function ua(t,e,r){return t?e?12:16+4*r:0}const la="File format is not recognized",fa="End of central directory not found",da="End of Zip64 central directory locator not found",wa="Central directory header not found",pa="Local file header not found",ha="Zip64 extra field not found",ma="File contains encrypted entry",ya="Encryption method not supported",ba="Split zip file",Ea="Overlapping entry found",Sa="Entry data out of bounds",ga="Ambiguous archive",Aa="Encrypted central directory is not supported",Ra="Unsafe filename",Da="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",za="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",xa="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Fa="64-bit value exceeds Number.MAX_SAFE_INTEGER",Oa="unsorted central directory",Ia="unknown version needed to extract",Ta="compressed patched data",Ua="malformed extra field",Ca="unknown zip64 extensible data",ka="wrapped entries count",va="appended data",Ma="prepended data",Na="prepended central directory",_a="trailing central directory data",ja="duplicate filename",Ba="mismatched zip64 end of central directory record",Pa="multiple end of central directory records",La="mismatched local file header (filename)",Wa="mismatched local file header (general purpose bit flag)",Za="mismatched local file header (compression method)",Va="mismatched local file header (crc32 or sizes)",Ha=/^[a-zA-Z]:/,Ga="utf-8",Ya="cp437",qa=[[Uo,t],[Co,t],[ko,t],[vo,e]],Ka={[e]:{ht:Ui,bytes:4},[t]:{ht:Ci,bytes:8}},Xa=BigInt(Number.MAX_SAFE_INTEGER);class Ja{constructor(t,e={}){Object.assign(this,{reader:new Eo(t),options:e,yt:new Map})}async*getEntriesGenerator(n={}){const a=this;let{reader:i}=a;if(await Ao(i),i.size!==I&&i.readUint8Array||(i=new Zn(await Qe(i.readable)),await Ao(i)),i.size<d)throw new Error(la);const c=a.warnings=[],h=pi(n,a.options),m=h==rt,y=h!=ot,b=yi(zi(a,n,J),h),E=function(t,e){if(t===I)return e;if(!wi(t))throw new Error(za);return t}(zi(a,n,"filenameValidation"),h),S=zi(a,n,"normalizeFilename"),{bt:x,Et:F}=await bi(i,y,b);if(!x)throw await async function(t){return await di(t)==o}(i)?new Error(ba):new Error(fa);y&&F>1&&Di(Pa);const O=Wt(x);let T=Ui(O,12),U=Ui(O,16);const C=x.offset,k=Ti(O,20),v=C+d+k,M=i.size-v;M>b&&Di(va),M>0&&xo(c,va);let _=Ti(O,4);const j=i.lt||0;let B,P,L,W,Z,V=Ti(O,6),H=Ti(O,10),G=0,Y=p;const q=U==t||T==t||H==e||V==e;if(U!=t&&V!=e&&(U+=fi(i,V)),q){const r=x.offset>=w?await Do(i,x.offset-w,w):N,n=Wt(r);if(r.length==w&&Ui(n,0)==l){U=fi(i,Ui(n,4))+Ci(n,8);let r=await Do(i,U,p),o=Wt(r);const a=x.offset-w-p;if((r.length<p||Ui(o,0)!=u)&&U!=a&&a>=0){const t=U;U=a,U>t&&(G=U-t),r=await Do(i,U,p),o=Wt(r)}if(r.length<p||Ui(o,0)!=u)throw new Error(da);if(L=!0,W=Ci(o,4)>44,W){const t=Math.min(Ci(o,4)-44,i.size-U-p);t>0&&(Y+=t,Z=function(t){const e={rawExtensibleData:t};if(t.length>=28){const r=Wt(t),n=Ti(r,26);Object.assign(e,{compressionMethod:Ti(r,0),compressedSize:Ci(r,2),uncompressedSize:Ci(r,10),encryptionAlgorithm:Ti(r,18),bitLength:Ti(r,20),flags:Ti(r,22),hashAlgorithm:Ti(r,24),hashData:t.subarray(28,28+n)})}return e}(await Do(i,U+p,t)))}_==e?_=Ui(o,16):_!=Ui(o,16)&&Ri(m,c,Ba),V==e?V=Ui(o,20):V!=Ui(o,20)&&Ri(m,c,Ba),H==e?H=Ci(o,32):H!=Ci(o,32)&&Ri(m,c,Ba),T==t?T=Ci(o,40):T!=Ci(o,40)&&Ri(m,c,Ba),U=fi(i,V)+Ci(o,48)+G}}let K=T;const X=x.offset-(L?Y+w:0);if(U>=i.size&&(G=i.size-U-T-d,U=i.size-T-d),j!=_)throw new Error(ba);if(U<0)throw new Error(la);let Q=0,$=await Do(i,U,T),nt=Wt($);if(T){if($.length<4)throw new Error(la);const t=X-T;if(U!=t&&V==_){const e=Ui(nt,Q)==s||Boolean(Z&&Z.compressedSize)||ei(nt);let r=!e;if(!r&&t>=0&&t+4<=i.size&&(r=Ui(Wt(await Do(i,t,4)),0)==s),r){const r=U;U=t,U>r&&(G+=U-r,B=e),$=await Do(i,U,T),nt=Wt($)}}}const at=X-U;if(T!=at&&at>=0&&V==_&&(T=at,$=await Do(i,U,T),nt=Wt($)),U<0||U>=i.size)throw new Error(la);a.directoryOffset=U,a.directoryLength=K;const it=xi(a,n,"decryptCentralDirectory");let st,ct;if(it&&H&&$.length>=4&&Ui(nt,0)!=s&&(W||ei(nt))){const t=function(t,e,r){const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}(Z,K,$.length);ct=$.subarray(t),$=await it($.subarray(0,t),Z),nt=Wt($),K=$.length,st=!0}Z&&!st&&($.length<4||Ui(nt,0)==s)&&xo(c,Ca),P=U;const ut=zi(a,n,"filenameEncoding"),lt=zi(a,n,"commentEncoding"),ft=new Set;let dt,wt=-1;const pt=!m&&!L;!H&&pt&&(H=ri(nt,$,Q),H&&xo(c,ka));for(let t=0;t<H;t++){const o=new ti(i,a.options);if(Q+f>$.length||Ui(nt,Q)!=s){if(0==t&&!st&&(W||ei(nt)))throw new Error(Aa);throw new Error(wa)}oi(o,nt,Q+6);const u=Boolean(o.bitFlag.languageEncodingFlag),l=Q+f,d=l+o.filenameLength,w=d+o.extraFieldLength,p=Ti(nt,Q+4),h=!(p>>8),m=p>>8==3,y=$.subarray(l,d),b=Ti(nt,Q+32),x=w+b,F=$.subarray(w,x),O=u,T=u,U=Ui(nt,Q+38),C=U&r,k={readOnly:Boolean(1&C),hidden:Boolean(2&C),system:Boolean(4&C),directory:Boolean(16&C),archive:Boolean(32&C)},v=Ui(nt,Q+42),M=xi(a,n,"decodeText")||gn,N=O?Ga:ut||Ya,_=T?Ga:lt||Ya;let j=M(y,N,tt);if(j===I&&(j=gn(y,N)),S){const t=S(j);t!==I&&(j=t)}if(mi(j,E)){const t=new Error(Ra);throw t.filename=j,t}let B=M(F,_,et);B===I&&(B=gn(F,_)),Object.assign(o,{index:t,St:st,versionMadeBy:p,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,gt:b,offset:v,diskNumberStart:Ti(nt,Q+34),internalFileAttributes:Ti(nt,Q+36),externalFileAttributes:U,msdosAttributesRaw:C,msdosAttributes:k,rawFilename:y,filenameUTF8:O,commentUTF8:T,rawExtraField:$.subarray(d,w),rawComment:F,filename:j,comment:B}),ai(o,o,nt,Q+6)&&xo(c,Ua,j),o.offset+=G;const L=fi(i,o.diskNumberStart)+o.offset;P=Math.min(L,P),L<wt&&xo(c,Oa,j),wt=L,(o.version&r)>63&&xo(c,Ia,j),32&~o.rawBitFlag||xo(c,Ta,j),ft.has(o.filename)&&(dt=!0),ft.add(o.filename);const Z=o.externalFileAttributes>>16&e;o.unixMode===I&&16877&Z&&(o.unixMode=Z);const V=Boolean(o.unixMode&R),Y=Boolean(o.unixMode&D),q=Boolean(512&o.unixMode),K=40960==((o.unixMode===I?Z:o.unixMode)&g),X=!K&&(o.unixMode!==I?!!(73&o.unixMode):m&&!!(73&Z)),J=o.unixMode!==I&&(o.unixMode&g)==A,rt=(Z&g)==A;Object.assign(o,{setuid:V,setgid:Y,sticky:q,symlink:K,unixExternalUpper:Z,executable:X,directory:J||rt||h&&k.directory||o.filename.endsWith(z),zipCrypto:o.encrypted&&!o.extraFieldAES});const ot=new sa(o);if(ot.getData=(t,e)=>o.getData(t,ot,a.yt,e),ot.arrayBuffer=async t=>{const e=new TransformStream,r=Qe(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await o.getData(e,ot,a.yt,Object.assign({},t,{preventClose:!1})),r},Q=x,t==H-1&&pt){const t=ri(nt,$,Q);t&&(H+=t,xo(c,ka))}const{onprogress:at}=n;if(at)try{await at(t+1,H,new sa(o))}catch{}yield ot}let ht=Q,mt=ni($.subarray(Q))||(st?ni(ct):I);if(!mt&&!st){const t=U+Q,e=Math.min(X-t,65541);e>=6&&(mt=ni(await Do(i,t,e)))}mt&&(a.digitalSignature=mt,ht=Q+6+mt.length),(Q!=K&&ht!=K||!st&&Q!=T&&ht!=T)&&Ri(m,c,_a),dt&&Ri(m,c,ja);const yt=zi(a,n,"extractPrependedData"),bt=zi(a,n,"extractAppendedData"),Et=(m||yt)&&H&&4==P&&await async function(t){const e=await di(t);return e==o||808471376==e}(i)?4:0;return m&&(G||H&&P>Et)&&Di(Ma),(G||H&&P>4)&&xo(c,Ma),B&&xo(c,Na),yt&&(a.prependedData=P>Et?await Do(i,Et,P-Et):N),a.comment=k?await Do(i,C+d,k):N,bt&&(a.appendedData=v<i.size?await Do(i,v,i.size-v):N),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[_](){return this.close()}}class Qa{constructor(t={}){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}}),o=new Ja(r,t),a=o.getEntriesGenerator(),i=new Set;this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await a.next();if(e)return t.close();const n=function(t,e){const{readable:r,writable:n}=new TransformStream;let o;const a={cancel:async t=>{e.delete(a),await(o?o.cancel(t):r.cancel(t))}};return a.readable=new ReadableStream({async pull(i){o||(o=r.getReader(),e.add(a),async function(){try{await t.getData(n,{preventClose:!1})}catch(t){try{await n.abort(t)}catch{}}finally{e.delete(a)}}());const{done:s,value:c}=await o.read();s?i.close():i.enqueue(c)},cancel:t=>a.cancel(t)},{highWaterMark:0}),a}(r,i),o={...r,readable:n.readable};delete o.getData,Object.defineProperties(o,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),t.enqueue(o)},async cancel(t){const r=Array.from(i);i.clear(),e.error(t),await Promise.allSettled(r.map(e=>e.cancel(t))),await Promise.allSettled([a.return(),o.close()])}}),this.writable=n}}async function $a(t,e={}){if(t=new Eo(t),await Ao(t),t.size!==I&&t.readUint8Array||(t=new Zn(await Qe(t.readable)),await Ao(t)),t.size<d)return!1;const r=pi(e,{}),n=r!=ot,o=yi(e[J],r),{bt:a,Et:i}=await bi(t,n,o);if(!a||r==rt&&i>1)return!1;const s=Ti(Wt(a),20),c=a.offset+d+s;return t.size-c<=o}let ti=class{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,o,i={}){const s=this,c=Ut(),{reader:u,index:l,offset:f,diskNumberStart:d,extraFieldAES:w,extraFieldZip64:p,compressionMethod:h,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:E,uncompressedSize:S,compressedSize:g}=s,{dataDescriptor:A}=m,R=e.localDirectory={},D=e.warnings=[],z=fi(u,d)+f,F=await Do(u,z,x),O=Wt(F);let T=zi(s,i,j),U=zi(s,i,B);const C=ht(zi(s,i,P)),k=Boolean(C),v=!0===C;if(pt(T,U),T=T&&T.length&&T,U=U&&U.length&&U,w&&99!=w.originalCompressionMethod)throw new Error(nr);if(F.length<x||Ui(O,0)!=n)throw new Error(pa);oi(R,O,4);const{extraFieldLength:M,filenameLength:_}=R,G=R.dataOffset=z+x+_+M,Y=zi(s,i,"checkLocalDirectory"),q=pi(i,s.options),K=function(t,e){return t===I?e!=ot:Boolean(t)}(Y,q),X=zi(s,i,"checkLocalFilename"),J=function(t,e){return t===I?e==rt:Boolean(t)}(X===I?Y:X,q);let Q=N;if(J&&(_||M)){const t=await Do(u,z+x,_+M);Q=t.subarray(0,_),R.rawExtraField=t.subarray(_)}else R.rawExtraField=M?await Do(u,z+x+_,M):N;J&&(R.rawFilename=Q),ai(s,R,O,4,!0)&&xo(D,Ua),function(t,e,r,n,o){const{rawFilename:a}=t,i=!o,s=t.St&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||Ri(i,o,La),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Ri(i,o,Wa),e.compressionMethod!=t.compressionMethod&&Ri(i,o,Za),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Ri(i,o,Va)}(s,R,Q,J,K?I:D);const{lastAccessDate:$,creationDate:tt,uid:et,gid:nt}=R;$&&(e.lastAccessDate=$),tt&&(e.creationDate=tt),et!==I&&e.uid===I&&(e.uid=et),nt!==I&&e.gid===I&&(e.gid=nt);const at=zi(s,i,"checkPasswordOnly"),it=s.encrypted&&R.encrypted&&(!v||at),st=it&&!w;if(v||(e.zipCrypto=st),it&&!(64&~R.rawBitFlag))throw new Error(ya);const ct=k?I:ur(h);if(0!=h&&8!=h&&9!=h&&!ct&&!k)throw new Error(nr);if(it){if(!st&&(w.strength<1||w.strength>3))throw new Error(ya);if(!T&&!U)throw new Error(ma)}if(G+g>u.size)throw new Error(Sa);const ut=g,lt=Je(u.createReadable({offset:G,size:ut})),ft=dt(zi(s,i,L));wt(ft);let mt=zi(s,i,"checkOverlappingEntry");const yt=zi(s,i,"checkOverlappingEntryOnly");yt&&(mt=!0);const{onstart:bt,onprogress:Et,onend:St}=i,gt=0!=h&&!k,At=k?g-ua(it,st,w&&w.strength):S,Rt=9==h;let Dt=zi(s,i,Z);Rt&&(Dt=!1);const zt=zi(s,i,"checkCrc32"),xt=(zt===I?zi(s,i,"checkSignature"):zt)&&!k&&(!it||st||w&&1==w.vendorVersion),Ft={options:{codecType:kr,password:T,rawPassword:U,zipCrypto:st,encryptionStrength:w&&w.strength,checkCrc32:xt,checkAuthenticationCode:zi(s,i,"checkAuthenticationCode"),passwordVerification:st&&(A?E>>>8&r:b>>>24&r),outputSize:At,crc32:b,compressed:gt,encrypted:it,useWebWorkers:zi(s,i,W),useCompressionStream:Dt,transferStreams:zi(s,i,V),deflate64:Rt,format:ct?ct.format:I,codecURI:ct?ct.codecURI:I,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:at},config:c,D:{signal:ft,size:ut,onstart:bt,onprogress:Et,onend:St}};let Ot,It,Tt;mt&&await async function({reader:t,At:e,index:r,offset:n,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:c,dataDescriptor:u,extraFieldZip64:l,yt:f}){let d=0;if(u&&(d=l?20:12),d){const r=await Do(t,c+i,d+4),n=Wt(r);let u=r.length==d+4&&Ui(n,0)==a;if(u){const t=li(n,4,l);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==i&&t.uncompressedSize==s?d+=4:u=!1}if(r.length>=d){const t=li(n,u?4:0,l);t.signature=u,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+i+d,At:e};for(const[t,e]of f)if(t!=r&&w.start<e.end&&e.start<w.end){const t=new Error(Ea);throw t.overlappingEntry=e.At,t}f.set(r,w)}({reader:u,At:e,index:l,offset:z,crc32:b,compressedSize:g,uncompressedSize:S,dataOffset:G,dataDescriptor:A||R.bitFlag.dataDescriptor,extraFieldZip64:p||R.extraFieldZip64,yt:o});try{if(!yt){at&&(t=new WritableStream),t=new So(t),await Ao(t,function(t,e,r){return Math.min(t,r?1032*e:e)}(At,g,gt)),({writable:Ot}=t);const{outputSize:e}=await pn({readable:lt,writable:Ot},Ft);if(e!=At)throw Object.assign(new Error(wr),{outputSize:e});t.size+=e}}catch(e){const{outputSize:r}=Ft;if(r!==I?t.size+=r:Zt(e)&&e.outputSize!==I&&(t.size+=e.outputSize),!at||!Zt(e)||e.message!=Se)throw It=e,Tt=!0,e}finally{if((go(t)||!zi(s,i,H))&&Ot&&!Ot.locked){const t=Ot.getWriter();if(Tt)try{await t.abort(It)}catch{}else await t.close()}}return at||yt?I:t.getData?t.getData():Ot}};function ei(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==Ui(t,r))return!0;return!1}function ri(t,e,r){let n=0;for(;r+f<=e.length&&Ui(t,r)==s;)r+=f+Ti(t,r+28)+Ti(t,r+30)+Ti(t,r+32),n++;return n%65536?0:n}function ni(t){if(t.length>=6){const e=Wt(t);if(Ui(e,0)==i){const r=Ti(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function oi(t,e,r){const n=t.rawBitFlag=Ti(e,r+2),o=!(1&~n),a=Ui(e,r+6);Object.assign(t,{encrypted:o,version:Ti(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&S)==S},rawLastModDate:a,lastModDate:Fi(a),filenameLength:Ti(e,r+22),extraFieldLength:Ti(e,r+24)})}function ai(t,e,r,n,o){const{rawExtraField:a}=e,i=e.extraField=new Map,s=Wt(a);let c=0,u=!1;try{for(;c<a.length;){const t=Ti(s,c),e=Ti(s,c+2);i.set(t,{type:t,data:a.slice(c+4,c+4+e)}),c+=4+e}}catch{u=!0}c>a.length&&(u=!0);const l=Ti(r,n+4);Object.assign(e,{signature:Ui(r,n+10),crc32:Ui(r,n+10),compressedSize:Ui(r,n+14),uncompressedSize:Ui(r,n+18)});const f=i.get(1);f&&(function(t,e){e.zip64=!0;const r=Wt(t.data),n=qa.filter(([t,r])=>e[t]==r),o=n.reduce((t,[,e])=>t+Ka[e].bytes,0);if(t.data.length<o)throw new Error(ha);for(let o=0,a=0;o<n.length;o++){const[i,s]=n[o],c=Ka[s];e[i]=t[i]=c.ht(r,a),a+=c.bytes}}(f,e),e.extraFieldZip64=f);const d=i.get(28789);d&&(ii(d,Fo,Oo,e,t),e.extraFieldUnicodePath=d);const w=i.get(25461);w&&(ii(w,Io,To,e,t),e.extraFieldUnicodeComment=w);const p=i.get(h);p&&p.data.length>=7?(function(t,e,r){const n=Wt(t.data),o=Ii(n,4);Object.assign(t,{vendorVersion:Ii(n,0),vendorId:Ii(n,2),strength:o,originalCompressionMethod:r,compressionMethod:Ti(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=I)}(p,e,l),e.extraFieldAES=p):e.compressionMethod=l;const S=i.get(13);S&&(si(S,e),e.extraFieldPkwareUnix=S);const g=i.get(22613);g&&(si(g,e),e.extraFieldUnixType1=g);const A=i.get(10);A&&(function(t,e){const r=Wt(t.data);let n,o=4;try{for(;o<t.data.length&&!n;){const e=Ti(r,o),a=Ti(r,o+2);1==e&&(n=t.data.slice(o+4,o+4+a)),o+=4+a}}catch{}if(n&&24==n.length){const r=Wt(n),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const s={lastModDate:Oi(o),lastAccessDate:Oi(a),creationDate:Oi(i)};Object.assign(t,s),Object.assign(e,s,{rawLastAccessDate:a,rawCreationDate:i})}}(A,e),e.extraFieldNTFS=A);const R=i.get(E);let D;if(R&&(D=ci(R,e,!1),e.extraFieldUnix=R),!D){const t=i.get(b);t&&(ci(t,e,!0),e.extraFieldInfoZip=t)}const z=i.get(m);z&&(function(t,e,r){if(!t.data.length)return;const n=Wt(t.data),o=Ii(n,0),a=[],i=[];r?(1&~o||(a.push(Mo),i.push(No)),2&~o||(a.push(_o),i.push(jo)),4&~o||(a.push(Bo),i.push(Po))):t.data.length>=5&&(a.push(Mo),i.push(No));let s=1;a.forEach((r,o)=>{if(t.data.length>=s+4){const a=Ui(n,s);e[r]=t[r]=new Date(1e3*(0|a));const c=i[o];t[c]=a}s+=4})}(z,e,o),e.extraFieldExtendedTimestamp=z);const x=i.get(y);return x&&(e.extraFieldUSDZ=x),u}function ii(t,e,r,n,o){if(t.data.length<5)return void(t.valid=!1);const a=Wt(t.data),i=new $t;i.append(o[r]);const s=Wt(new Uint8Array(4));s.setUint32(0,i.get(),!0);const c=Ui(a,1),u=Ii(a,0);Object.assign(t,{version:u,[e]:gn(t.data.subarray(5)),valid:1==u&&!o.bitFlag.languageEncodingFlag&&c==Ui(s,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function si(t,e){if(t.data.length<8)return;const r=Wt(t.data),n={lastAccessDate:new Date(1e3*(0|Ui(r,0))),lastModDate:new Date(1e3*(0|Ui(r,4)))};t.data.length>=12&&(n.uid=Ti(r,8),n.gid=Ti(r,10)),Object.assign(t,n),Object.assign(e,n)}function ci(t,e,r){try{const n=Wt(t.data);let o,a;if(r){let e=0;const r=Ii(n,e++),i=Ii(n,e++);o=ui(t.data.subarray(e,e+i)),e+=i;const s=Ii(n,e++);a=ui(t.data.subarray(e,e+s)),Object.assign(t,{version:r,uid:o,gid:a})}else t.data.length>=4&&(o=Ti(n,0),a=Ti(n,2),Object.assign(t,{uid:o,gid:a}));return o!==I&&(e.uid=o),a!==I&&(e.gid=a),o!==I||a!==I}catch{}}function ui(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function li(t,e,r){const n=Ui(t,e);let o,a;return r?(o=Ci(t,e+4),a=Ci(t,e+12)):(o=Ui(t,e+4),a=Ui(t,e+8)),{crc32:n,compressedSize:o,uncompressedSize:a}}function fi(t,e){return t.wt?t.wt(e):0}async function di(t){return Ui(Wt(await Do(t,0,4)))}function wi(t){return t===rt||t===nt||t===ot}function pi(t,e){return hi(t,hi(e,nt))}function hi(t,e){const r=t.strictness;if(r!==I){if(!wi(r))throw new Error(Da);return r}const n=t.checkAmbiguity;return n===I?e:n?rt:e==ot?ot:nt}function mi(t,e){if(e==ot)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Ha.test(t))||e==rt&&(r.includes(".")||r.includes(""))}function yi(t,r){if(t!==I){const e=bt(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw new Error(xa);return e}return r==rt?0:r==ot?1/0:e}async function bi(t,e,r){const{size:n}=t,o=Math.min(n,65557),a={count:64};let i,s,c=0;for await(const[r,u,l,f,w]of Ei(t,o)){const o=Ti(r,f+20);if(w+d+o==n){const o=await gi(t,r,u,f,w,n,a);if(2==o){if(i||(i=Si(l,f,w)),c++,!e||c>1)break}else 1!=o||s||(s=Si(l,f,w))}}return i||(i=s),i||(i=await async function(t,e,r){const{size:n}=t,o=Math.min(n,e==1/0?n:65557+e);let a,i;for await(const[e,s,c,u,l]of Ei(t,o)){const o=Si(c,u,l);a||(a=o);const f=await gi(t,e,s,u,l,n,r);if(2==f)return o;1!=f||i||(i=o)}return i||a}(t,r,a)),{bt:i,Et:c}}async function*Ei(t,e){const r=t.size-e,n=await Do(t,r,e),o=Wt(n);for(let t=n.length-d;t>=0;t--)Ui(o,t)==c&&(yield[o,r,n,t,r+t])}function Si(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function gi(r,n,o,a,i,c,u){const f=Ti(n,a+10),d=Ui(n,a+12),p=Ui(n,a+16);if(f==e||d==t||p==t)return await Ai(r,n,o,i-w,c,u)==l?2:0;if(!f&&!d)return 1;const h=Ti(n,a+6);for(const t of[i-d,fi(r,h)+p])if(await Ai(r,n,o,t,c,u)==s)return 2;return 0}async function Ai(t,e,r,n,o,a){return n<0||n+4>o?I:n>=r?Ui(e,n-r):a.count>0?(a.count--,Ui(Wt(await Do(t,n,4)),0)):I}function Ri(t,e,r){t?Di(r):xo(e,r)}function Di(t){const e=new Error(ga);throw e.reason=t,e}function zi(t,e,r){return e[r]===I?t.options[r]:e[r]}function xi(t,e,r){return ft(zi(t,e,r))}function Fi(t){const r=(4294901760&t)>>16,n=t&e,o=new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return o<O?O:o}function Oi(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Ii(t,e){return t.getUint8(e)}function Ti(t,e){return t.getUint16(e,!0)}function Ui(t,e){return t.getUint32(e,!0)}function Ci(t,e){const r=t.getBigUint64(e,!0);if(r>Xa)throw new Error(Fa);return Number(r)}var ki=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ga,ERR_BAD_FORMAT:la,ERR_CENTRAL_DIRECTORY_NOT_FOUND:wa,ERR_ENCRYPTED:ma,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Aa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Sa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:da,ERR_EOCDR_NOT_FOUND:fa,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ha,ERR_INVALID_AUTHENTICATION_CODE:Ee,ERR_INVALID_COMPRESSED_DATA:pr,ERR_INVALID_CRC32:hr,ERR_INVALID_FILENAME_VALIDATION:za,ERR_INVALID_MAX_APPENDED_DATA_SIZE:xa,ERR_INVALID_PASSWORD:be,ERR_INVALID_STRICTNESS:Da,ERR_INVALID_UNCOMPRESSED_SIZE:wr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:pa,ERR_OVERLAPPING_ENTRY:Ea,ERR_SPLIT_ZIP_FILE:ba,ERR_UNSAFE_FILENAME:Ra,ERR_UNSUPPORTED_COMPRESSION:nr,ERR_UNSUPPORTED_ENCRYPTION:ya,ERR_UNSUPPORTED_UINT64:Fa,ERR_WORKER_STARTUP_TIMEOUT:Nr,WARNING_APPENDED_DATA:va,WARNING_COMPRESSED_PATCHED_DATA:Ta,WARNING_DUPLICATE_FILENAME:ja,WARNING_MALFORMED_EXTRA_FIELD:Ua,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Wa,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Za,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Va,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:La,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Ba,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:Pa,WARNING_PREPENDED_CENTRAL_DIRECTORY:Na,WARNING_PREPENDED_DATA:Ma,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:_a,WARNING_UNKNOWN_VERSION:Ia,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Ca,WARNING_UNSORTED_CENTRAL_DIRECTORY:Oa,WARNING_WRAPPED_ENTRIES_COUNT:ka,ZipReader:Ja,ZipReaderStream:Qa,isZipFile:$a});const vi="File already exists",Mi="Zip file comment exceeds 64KB",Ni="Invalid zip file comment (must be a Uint8Array)",_i="File entry comment exceeds 64KB",ji="Invalid file entry comment (must be a string)",Bi="Invalid date (must be a valid Date instance)",Pi="File entry name exceeds 64KB",Li="Version exceeds 65535",Wi="The strength must equal 1, 2, or 3",Zi="Encryption is not supported in USDZ files",Vi="Split zip files are not supported in USDZ files",Hi="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Gi="Invalid extra field (must be a Map)",Yi="Invalid extra field type (must be integer 0..65535)",qi="Invalid extra field data (must be a Uint8Array)",Ki="Extra field data exceeds 64KB",Xi=-2147483648,Ji=2147483647,Qi=BigInt(0),$i=BigInt("0x7fffffffffffffff"),ts="Zip64 is not supported (set the 'zip64' option to 'true')",es="Undefined uncompressed size",rs="Undefined compression method",ns="Undefined CRC32",os="Undetermined size",as="Undefined reader",is="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",ss="Zip file not empty",cs="Invalid uid (must be integer 0..2^32-1)",us="Invalid gid (must be integer 0..2^32-1)",ls="Invalid UNIX mode (must be integer 0..65535)",fs="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ds="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ws="Invalid msdosAttributesRaw (must be integer 0..255)",ps="Invalid msdosAttributes (must be an object with boolean flags)",hs="Invalid level (must be integer 0..9)",ms="Signature data exceeds 64KB",ys="Invalid entry option (must be an entry returned by ZipReader#getEntries())",bs="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",Es="compression unavailable",Ss="clamped last modification date",gs=new Uint8Array([7,0,2,0,65,69,3,0,0]),As="infozip",Rs="unix",Ds=[8,9,5,3];let zs=0;const xs=[];class Fs{constructor(t,e={}){t=new So(t);const{availableSize:r=T,maxSize:n=T}=t,o=r>0&&r!==T&&n>0&&n!==T;if(o&&e[X])throw new Error(Vi);Object.assign(this,{writer:t,Rt:o,options:e,Dt:new Map,zt:new Set,offset:e[K]===I?t.size||t.writable.size||0:e[K],xt:e[K]===I?0:e[K]-(t.size||t.writable.size||0),Ft:new Set,Ot:[],warnings:[],It:0,Tt:0,Ut:I,Ct:!1})}prependZip(t){return Us(this,async function(t,e){if(t.zt.size)throw new Error(ss);await t.kt(e)}(this,t))}appendZip(t){return Us(this,this.kt(t))}async kt(t){const e=this,{Ft:r,zt:n,Dt:a}=e;for(;r.size;)await Promise.allSettled(Array.from(r));let i;const s=new Promise(t=>i=t);r.add(s);const c=[];let u;try{t=new Eo(t),await Ao(t),t.size!==I&&t.readUint8Array||(t=new Zn(await Qe(t.readable)),await Ao(t));const{ZipReader:r}=await Promise.resolve().then(function(){return ki}),i=new r(t),s=await i.getEntries();await i.close(),await Ao(e.writer);const{directoryOffset:l}=i;s.forEach(({filename:t})=>{if(n.has(t))throw new Error(vi);n.add(t),c.push(t)}),e.vt=!0;const{Mt:f}=e;e.Mt=new Promise(t=>u=()=>{e.vt=!1,t()}),await f,e.Rt&&(delete e.Rt,await async function(t){return Wt(await Do(t,0,4)).getUint32(0,!0)==o}(t)||(await rc(e.writer,tc()),e.offset+=4));const d=await async function(t,e,r,n){const{writer:o}=t,a=new Map;if(o.closeDisk){const i=Array.from(r).sort((t,r)=>$s(e,t)-$s(e,r));let s=0;for(const r of i){const n=$s(e,r);await Js(t,e,s,n-s),qs(o,await Qs(e,n))&&await o.closeDisk(),a.set(r,{offset:Ks(t,o),diskNumberStart:Gs(o)}),s=n}await Js(t,e,s,n-s)}else{const o=t.offset;await Js(t,e,0,n),r.forEach(t=>a.set(t,{offset:o+$s(e,t),diskNumberStart:0}))}return a}(e,t,s,l);s.forEach(t=>{const{version:e,rawLastModDate:r,rawFilename:n,bitFlag:o,encrypted:i,uncompressedSize:s,compressedSize:c,extraFieldZip64:u}=t;let{compressionMethod:l,rawExtraField:f}=t;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=o;f=Xs(f||N),t.extraFieldAES&&(l=99);const m=bc(f),y=Boolean(u)&&u.uncompressedSize!==I,b=Boolean(u)&&u.compressedSize!==I,E=-7&gc(w,p,h,i,l)|w<<1,{Nt:S,_t:g}=Ec({version:e,bitFlag:E,compressionMethod:l,uncompressedSize:s,compressedSize:c,rawLastModDate:r,rawFilename:n,jt:b,Bt:y,extraFieldLength:m}),{crc32:A}=t;A!==I&&hc(g,10,A);const{offset:R,diskNumberStart:D}=d.get(t);Object.assign(t,{Pt:!0,Bt:y,jt:b,offset:R,diskNumberStart:D,Lt:!1,Wt:N,Zt:N,Vt:N,Ht:N,Gt:N,rawExtraField:f,Yt:N,Nt:S,_t:g}),a.set(t.filename,t)})}catch(t){throw c.forEach(t=>n.delete(t)),t}finally{i(),r.delete(s),u&&u()}}add(e="",n,o={}){const a=this,{Ft:i}=a,s=async function(e,n,o,a){const i=(a=Object.assign({},a))[$];if(i!==I){const{qt:t,Kt:r}=vs(i,ht(sc(e,a,P)),sc(e,a,Mo));delete a[$],a=Object.assign(t,r,a)}if(sc(e,a,Jo)&&!n.endsWith(z)&&(n+=z),e.zt.has(n))throw new Error(vi);e.zt.add(n),zs<Ut().maxWorkers?zs++:await new Promise(t=>xs.push(t));try{return await async function(e,n,o,a){const i=Ms(e,n,a);({name:n}=i);const s=Ns(e,n,a),{comment:c}=s,u=a[ea];e.Dt.set(n,I);const l=e.Ut,f={};let d,w;s.Xt.keepOrder&&(f.Jt=new Promise(t=>d=t)),e.Ut=f;try{const{Xt:c}=s;0==c.level||c.compressionMethod!==I||c.Qt||await Lr(Ut())||(c.level=0,xo(e.warnings,Es,n));const u=await async function(t,e,{Xt:r},n){if(r.Qt&&!e&&!sc(t,n,Jo))throw new Error(as);let o;if(e){if(e=new Eo(e),await Ao(e),!e.readable&&!e.readUint8Array)throw new Error(is);({size:o}=e)}return Object.assign({reader:e},js(t,Boolean(e),o,r,n))}(e,o,s,a);({reader:o}=u);const p=Ys(e.writer),h=Gs(e.writer);let m=a.crc32===I?a[ta]:a.crc32;const y=u.Xt.encrypted&&!c.zipCrypto;if(c.Qt&&!c.$t&&y&&(m=I),c.Qt&&o&&!y&&m===I)throw new Error(ns);const b=Ps(a=Object.assign({},a,i.Xt,s.Xt,u.Xt,{signature:a[ta],crc32:m,offset:e.offset-p,diskNumberStart:h,[X]:e.options[X]}));b.te&&xo(e.warnings,Ss,n);const E=Zs(a),S=bc(b.ee,E.re);w=await async function(e,n,o,a,i){const{Dt:s,writer:c}=e,{keepOrder:u,dataDescriptor:l,ne:f,signal:d}=i,{oe:w,At:p,ae:h,ie:m}=a,y=e.options[X];let b,E,S,g,A,R,D,z=p,F=0;const O=u&&h?h.Jt:I;s.set(n,z);try{i.bufferedWrite||!u||e.vt||e.It||e.Tt||!l&&!f?(b=!0,e.It++,D=i.createTempStream?await i.createTempStream():new TransformStream(I,I,{highWaterMark:T}),D.size=0,await Ao(c)):(E=!0,e.Tt++,D=c,await O,await U()),await Ao(D);const p=Ys(c);e.Rt&&!b&&await ec(e,c),y&&!b&&Ls(a,e.offset-p);const{ee:h}=w;b||await C();const m=Gs(c),S=Ks(e,c);if(z.diskNumberStart=m,b||(A=!0,R=c.size,await rc(D,h)),z=await async function(e,n,{diskNumberStart:o,Jt:a},i,s,c){const{oe:u,se:l,ce:f}=i,{Nt:d,_t:w,lastModDate:p,rawLastModDate:h,encrypted:m,compressed:y,version:b,compressionMethod:E,Wt:S,ue:g,Vt:A,le:R,fe:D,Ht:z,Gt:x,Zt:F}=u,{re:O}=l,{rawFilename:T,lastAccessDate:U,creationDate:C,password:k,rawPassword:v,level:M,useUnicodeFileNames:N,zip64:_,Pt:j,Bt:B,jt:P,zipCrypto:L,dataDescriptor:W,directory:Z,executable:V,versionMadeBy:H,rawComment:G,rawExtraField:Y,Yt:q,useWebWorkers:K,transferStreams:X,onstart:J,onprogress:Q,onend:$,signal:tt,encryptionStrength:et,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:at,uid:it,gid:st,unixMode:ct,symlink:ut,setuid:lt,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:ht,useCompressionStream:mt,Qt:yt,$t:bt,format:Et,codecURI:St}=c,gt={Jt:a,versionMadeBy:H,zip64:_,Pt:j,directory:Boolean(Z),executable:Boolean(V),filenameUTF8:Boolean(N),rawFilename:T,commentUTF8:Boolean(N),rawComment:G,Wt:S,ue:g,Vt:A,Ht:z,Gt:x,Zt:F,rawExtraField:Y,Yt:q,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:at,diskNumberStart:o,uid:it,gid:st,unixMode:ct,symlink:Boolean(ut),setuid:lt,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:ht};let{crc32:At,uncompressedSize:Rt}=c,Dt=0;yt||(Rt=0);const{writable:zt}=n;if(e){const o=e.size,a=Je(zo(e,{size:o})),i={options:{codecType:Cr,inputSize:o,level:M,rawPassword:v,password:k,encryptionStrength:et,zipCrypto:m&&L,passwordVerification:m&&L&&h>>8&r,computeCrc32:!yt,compressed:y&&!yt,encrypted:m&&!bt,useWebWorkers:K,useCompressionStream:mt,transferStreams:X,format:Et,codecURI:St,compressionMethod:E},config:s,D:{signal:tt,size:o,onstart:J,onprogress:Q,onend:$}};try{const e=await pn({readable:a,writable:zt},i);if(Dt=e.outputSize,n.size+=Dt,yt||(Rt=e.inputSize,m&&!L||(At=e.crc32)),!P&&Dt>=t||!B&&Rt>=t)throw new Error(ts)}catch(t){const{outputSize:e}=i;throw e!==I?n.size+=e:Zt(t)&&t.outputSize!==I&&(n.size+=t.outputSize),t}}return function({crc32:t,compressedSize:e,uncompressedSize:r,oe:n,se:o},{zip64:a,zipCrypto:i,Qt:s,dataDescriptor:c}){const{_t:u,encrypted:l}=n,{de:f,we:d}=o;l&&!i&&!s||t===I||(hc(u,10,t),c&&hc(f,d,t)),a?c&&(mc(f,d+4,BigInt(e)),mc(f,d+12,BigInt(r))):(hc(u,14,e),hc(u,18,r),c&&(hc(f,d+4,e),hc(f,d+8,r)))}({crc32:At,compressedSize:Dt,uncompressedSize:Rt,oe:u,se:l},c),W&&await rc(n,O),Object.assign(gt,{uncompressedSize:Rt,compressedSize:Dt,lastModDate:p,rawLastModDate:h,creationDate:C,lastAccessDate:U,encrypted:Boolean(m),zipCrypto:Boolean(L),size:f+Dt,compressionMethod:E,version:b,Nt:d,_t:w,signature:At,crc32:!m||L||yt?At:I,le:R,fe:D,Bt:B,jt:P}),gt}(o,D,z,a,Ut(),i),b||(A=!1),s.set(n,z),z.filename=n,b){if(await Promise.all([D.writable.getWriter().close(),O]),await U(),e.Rt&&await ec(e,c),g=!0,R=c.size,await C(),z.diskNumberStart=Gs(c),z.offset=Ks(e,c),y){const t=a.ce;Ls(a,e.offset-Ys(c)),z.size+=a.ce-t}!function({rawFilename:t,encrypted:e,zip64:r,ue:n,crc32:o,compressedSize:a,uncompressedSize:i,Bt:s,jt:c},u,{dataDescriptor:l,Qt:f}){if(l||((!e||f&&o!==I)&&hc(u,14,o),c||hc(u,18,a),s||hc(u,22,i)),r&&n){const e=x+bc(t)+4;mc(u,e,BigInt(i)),mc(u,e+8,BigInt(a))}}(z,w.pe,i),await rc(c,w.ee),await nc(D.readable,c,d,t=>F+=t),c.size+=D.size,g=!1}else z.diskNumberStart=m,z.offset=S;return e.offset+=z.size,z}catch(t){if(g||A){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-R,b&&(e.offset+=F)}throw s.delete(n),t}finally{if(b&&e.It--,E&&e.Tt--,m&&m(O),S&&S(),b&&D&&D.dispose)try{await D.dispose()}catch{}}async function U(){e.vt=!0;const{Mt:t}=e;e.Mt=new Promise(t=>S=()=>{e.vt=!1,t()}),await t}async function C(){qs(c,bc(w.ee))&&await c.closeDisk()}}(e,n,o,{oe:b,se:E,ce:S,At:f,ae:l,ie:d},a)}catch(t){throw e.Dt.delete(n),t}finally{d&&d(l&&l.Jt)}return Object.assign(w,{name:n,comment:c,extraField:u}),new sa(w)}(e,n,o,a)}catch(t){throw e.zt.delete(n),t}finally{const t=xs.shift();t?t():zs--}}(a,e,n,o);i.add(s);const c=()=>i.delete(s);return Promise.prototype.then.call(s,c,c),Us(a,s)}remove(t){const{zt:e,Dt:r}=this;if(typeof t==v&&(t=r.get(t)),t&&t.filename!==I){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=N,n={}){const o=this,{Ft:a,writer:w}=this,{writable:p}=w;if(o.Ct)return Ts(w);if(!(r instanceof Uint8Array))throw new Error(Ni);if(bc(r)>e)throw new Error(Mi);for(;a.size;)await Promise.allSettled(Array.from(a));await Promise.allSettled(o.Ot.map(t=>t.he));const h=o.Ot.filter(t=>t.me&&!t.ye);if(h.length){const t=h.map(t=>t.error);h.forEach(t=>t.ye=!0);const[e]=t;try{e.entryErrors=t}catch{}throw e}return await async function(r,n,o){const{be:a,Ee:w}=Vs(r.Dt),{Se:p,ge:h,Ae:m}=await async function(r,n,o){const{Dt:a,writer:i}=r,c=new Uint8Array(n);await Ao(i);let u=0,l=0,d=Gs(i),w=Ys(i),p=0;for(const[r,n]of Array.from(a.values()).entries()){const{offset:h,rawFilename:m,Wt:y,Zt:b,Vt:E,Ht:S,Gt:g,rawExtraField:A,Yt:R,rawComment:D,versionMadeBy:z,Nt:x,_t:F,Bt:O,jt:I,Lt:T,Re:U,internalFileAttributes:C,externalFileAttributes:k,diskNumberStart:v,uncompressedSize:M,compressedSize:N}=n,_=bc(y,b,E,S,g,A,R),j=f+bc(m,D)+_;qs(i,u+j-l)&&(await rc(i,c.slice(l,u)),l=u,p=0,await i.closeDisk()),0==r&&(d=Gs(i),w=Ys(i)),O||hc(F,18,M),I||hc(F,14,N),(U||T)&&n.version<45&&pc(F,0,45);const B=Hs(j);if(B.De(s),B.ze(z),B.xe(x.subarray(0,24)),B.ze(_),B.ze(bc(D)),B.ze(T?e:v),B.ze(C),B.De(k),B.De(U?t:h),B.xe(m),B.xe(y),B.xe(b),B.xe(E),B.xe(S),B.xe(g),B.xe(A),B.xe(R),B.xe(D),yc(c,B.st,u),u+=j,p++,o.onprogress)try{await o.onprogress(r+1,a.size,new sa(n))}catch{}}return await rc(i,l?c.slice(l):c),{Se:{diskNumber:d,diskOffset:w},ge:{diskNumber:Gs(i),Fe:p},Ae:c}}(r,a,o),y=await async function(t,r,n){const o=uc(t,n,Q);if(o){const n=await o(r),a=bc(n);if(a>e)throw new Error(ms);const s=Hs(6+a);s.De(i),s.ze(a),s.xe(n);const{writer:c}=t;return qs(c,bc(s.st))&&await c.closeDisk(),await rc(c,s.st),6+a}return 0}(r,m,o);await async function(r,n,o,a){const{writer:i}=r,{Se:s,ge:f,Oe:w,Ee:p}=a;let{be:h}=a,m=r.Dt.size,y=s.diskNumber,b=Ks(r,s);const E=bc(n);if(E>e)throw new Error(Mi);let S=sc(r,o,Go),g=Gs(i);if(qs(i,(S?98:d)+E)&&g++,b>=t||h>=t||m>=e||g>=e){if(!1===S)throw new Error(ts);S=!0}else S===I&&p&&(S=!0);const A=Hs(S?98:d);qs(i,bc(A.st)+E)&&await i.closeDisk(),g=Gs(i);let R=g==f.diskNumber?f.Fe:0;S&&(A.De(u),A.Ie(44),A.ze(45),A.ze(45),A.De(g),A.De(y),A.Ie(R),A.Ie(m),A.Ie(h),A.Ie(b),A.De(l),A.De(g),A.Ie(BigInt(Ks(r,i))+BigInt(h)+BigInt(w)),A.De(g+1),sc(r,o,"supportZip64SplitFile",!0)&&(g=e,y=e),R=e,m=e,b=t,h=t),A.De(c),A.ze(g),A.ze(y),A.ze(R),A.ze(m),A.De(h),A.De(b),A.ze(E),await rc(i,A.st),E&&await rc(i,n)}(r,n,o,{Se:p,ge:h,be:a,Oe:y,Ee:w})}(o,r,n),o.Ct=!0,!go(w)&&sc(o,n,H)||await p.getWriter().close(),Ts(w)}[_](){return this.close()}}class Os{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Fs(r,t),this.Ft=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:o}=new TransformStream({start(t){r=t},flush:()=>{!async function(){try{await e.close()}catch(t){await Cs(e,t)}}()}});return ks(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:o}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return ks(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){const{zipWriter:r}=this,n=(await Promise.allSettled(Array.from(this.Ft))).filter(t=>"rejected"==t.status).map(t=>t.reason);if(n.length){const[t]=n;try{t.entryErrors=n}catch{}throw await Cs(r,t),t}try{return await r.close(t,e)}catch(t){throw await Cs(r,t),t}}}class Is extends Promise{then(t,e){const{Te:r}=this;return r&&(r.ye=!0),super.then(t,e)}}function Ts(t){return t.getData?t.getData():t.writable}function Us(t,e){const r=new Is((t,r)=>Promise.prototype.then.call(e,t,r)),n={};return r.Te=n,n.he=Promise.prototype.then.call(r,I,t=>Object.assign(n,{me:!0,error:t})),t.Ot.push(n),r}async function Cs(t,e){try{await t.writer.writable.abort(e)}catch{}}function ks(t,e,r){t.Ft.add(e),e.catch(t=>{try{r(t)}catch{}})}function vs(t,e,n){if(null===t||typeof t!=k||Array.isArray(t))throw new Error(ys);const{externalFileAttributes:o,versionMadeBy:a,comment:i,lastModDate:s,rawLastModDate:c,creationDate:u,lastAccessDate:l,uncompressedSize:f,encrypted:d,zipCrypto:w,crc32:p,compressionMethod:h,extraFieldAES:m,extraFieldUnix:y,internalFileAttributes:b,extraField:E,bitFlag:S,directory:g,uid:A,gid:R}=t,D={externalFileAttributes:o,versionMadeBy:a,comment:i,lastModDate:s,creationDate:u,lastAccessDate:l,internalFileAttributes:b,directory:g};S&&S.languageEncodingFlag&&(D[Y]=!0);const z=function(t){if(t){const e=new Map;if(t.forEach((t,r)=>{ca.has(r)||e.set(r,t.data)}),e.size)return e}}(E);z&&(D[ea]=z),A===I&&R===I||Object.assign(D,{uid:A,gid:R,unixExtraFieldType:y?Rs:As});const x={};if(e&&!g)if(Object.assign(x,{uncompressedSize:f,crc32:p,compressionMethod:h}),e!==at&&Object.assign(x,{encrypted:d,zipCrypto:w,encryptionStrength:m?m.strength:I}),S&&(x.dataDescriptor=S.dataDescriptor,x[G]=Ds[S.level]),n===I)x.rawLastModDate=c;else if(e!==at&&w&&(!S||S.dataDescriptor)&&n instanceof Date&&function(t){let e=new Date(2e3*Math.ceil(Math.floor(t.getTime()/1e3)/2));return e<O?e=O:e>F&&(e=F),(e.getHours()<<3|e.getMinutes()>>3)&r}(n)!=(c>>>8&r))throw new Error(bs);return{qt:D,Kt:x}}function Ms(n,o,a){let i=sc(n,a,Ho),s=sc(n,a,Ko,i?20:768);const c=sc(n,a,Qo),u=lc(n,a,"uid"),l=lc(n,a,"gid");let f=lc(n,a,ra),d=sc(n,a,"unixExtraFieldType"),w=sc(n,a,na),p=sc(n,a,oa),h=sc(n,a,aa);if(yt(u,t,cs),yt(l,t,us),yt(f,e,ls),d!==I&&d!==As&&d!==Rs)throw new Error(fs);if(d===Rs&&(u!==I&&u>e||l!==I&&l>e))throw new Error(ds);d!==I||u===I&&l===I||(d=As);let m=lc(n,a,Zo),y=sc(n,a,Vo);const b=m!==I||y!==I;if(u!==I||l!==I||f!==I||d||c?(i=!1,s=s&r|768):b&&(i=!0,s&=r),yt(m,r,ws),y&&(typeof y!==k||Array.isArray(y)))throw new Error(ps);if(s>e)throw new Error(Li);let E=sc(n,a,Wo);const S=E!==I;S||(E=0),!a[Jo]&&o.endsWith(z)&&(a[Jo]=!0);const x=sc(n,a,Jo);if(x?(o.endsWith(z)||(o+=z),S||(E=16,i||(E|=16877<<16))):i||S||(E=c?493<<16:27525120),!i){const t=f!==I||Boolean(w||p||h);f=f===I?E>>16&e:f&e,w?f|=R:w=Boolean(f&R),p?f|=D:p=Boolean(f&D),h?f|=512:h=Boolean(512&f),S&&!t||(x?f=-61441&f|A:f&g||(f|=32768),E=(f&e)<<16|E&e)}({msdosAttributesRaw:m,msdosAttributes:y}=function(t,e){if(t!==I)t&=r;else if(e!==I){const{readOnly:n,hidden:o,system:a,directory:i,archive:s}=e;let c=0;n&&(c|=1),o&&(c|=2),a&&(c|=4),i&&(c|=16),s&&(c|=32),t=c&r}return e===I&&(e={readOnly:Boolean(1&t),hidden:Boolean(2&t),system:Boolean(4&t),directory:Boolean(16&t),archive:Boolean(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}}(m,y)),b&&(E=E&t|m&r);const F=E>>16&e,O=f!==I&&40960==(f&g);return{name:o,Xt:{versionMadeBy:s,msDosCompatible:Boolean(i),externalFileAttributes:E,unixExternalUpper:F,uid:u,gid:l,unixMode:f,unixExtraFieldType:d,symlink:O,setuid:w,setgid:p,sticky:h,msdosAttributesRaw:m,msdosAttributes:y}}}function Ns(t,r,n){const o=uc(t,n,"encodeText")||ee;let a=o(r,tt);if(a===I&&(a=ee(r)),bc(a)>e)throw new Error(Pi);const i=n[Io]||"";if(typeof i!=v)throw new Error(ji);let s=o(i,et);if(s===I&&(s=ee(i)),bc(s)>e)throw new Error(_i);const c=sc(t,n,qo);if(c!==I&&c>e)throw new Error(Li);const u=cc(t,n,Mo,new Date),l=sc(t,n,No),f=cc(t,n,_o),d=cc(t,n,Bo),w=sc(t,n,Lo,0),p=ht(sc(t,n,P)),h=Boolean(p),m=!0===p,y=sc(t,n,j),b=sc(t,n,B);pt(y,b);const E=lc(t,n,"encryptionStrength",3),S=sc(t,n,Xo),g=sc(t,n,"extendedTimestamp",!0),A=sc(t,n,"ntfsTimestamp"),R=sc(t,n,"keepOrder",!0),D=sc(t,n,W),z=sc(t,n,V),x=sc(t,n,"bufferedWrite"),F=uc(t,n,"createTempStream"),O=sc(t,n,"dataDescriptorSignature",!0),T=dt(sc(t,n,L));wt(T);const U=sc(t,n,Y,!Sc(a)||!Sc(s)),C=sc(t,n,$o),k=h||C===I?I:ur(C);if(!h&&C!==I&&0!==C&&8!==C&&!k)throw new Error(nr);let M=lc(t,n,G);if(yt(M,9,hs),t.options[X]){if(y!==I||b!==I)throw new Error(Zi);M===I&&C===I&&(M=0)}h&&(M=bt(n[G]));let N=sc(t,n,Z),_=sc(t,n,q);x&&_===I&&(_=!1),(_===I||S&&!m)&&(_=!0),M!==I&&6!=M&&(N=!1);const H=sc(t,n,Go);if(!(S||y===I&&b===I||Number.isInteger(E)&&E>=1&&E<=3))throw new Error(Wi);const K=_s(n[ea]),J=_s(n.localExtraField),Q=_s(n.centralExtraField);return{comment:i,Xt:{rawFilename:a,rawComment:s,version:c,lastModDate:u,rawLastModDate:l,lastAccessDate:f,creationDate:d,internalFileAttributes:w,Qt:h,$t:m,password:y,rawPassword:b,encryptionStrength:E,zipCrypto:S,extendedTimestamp:g,ntfsTimestamp:A,keepOrder:R,useWebWorkers:D,transferStreams:z,bufferedWrite:x,createTempStream:F,dataDescriptorSignature:O,signal:T,useUnicodeFileNames:U,compressionMethod:C,format:k?k.format:I,codecURI:k?k.codecURI:I,Ue:k?k.versionNeeded:I,level:M,useCompressionStream:N,dataDescriptor:_,zip64:H,rawExtraField:K,Ce:J,Yt:Q}}}function _s(t){if(!t)return N;if(!(t instanceof Map))throw new Error(Gi);let r=0,n=0;t.forEach((t,n)=>{if(mt(n,e,Yi),!(t instanceof Uint8Array))throw new Error(qi);if(bc(t)>e)throw new Error(Ki);r+=4+bc(t)});const o=new Uint8Array(r),a=Wt(o);return t.forEach((t,e)=>{pc(a,n,e),pc(a,n+2,bc(t)),yc(o,t,n+4),n+=4+bc(t)}),o}function js(e,r,n,o,a){const{Qt:i,$t:s,zipCrypto:c,password:u,rawPassword:l,encryptionStrength:f}=o;let{dataDescriptor:d,zip64:w,level:p,compressionMethod:h}=o,m=0,y=0,b=!1;if(i&&r){if(y=a[Uo],y===I)throw new Error(es);if(h===I)throw new Error(rs)}const E=!0===w,S=sc(e,a,Yo);if(r&&s&&!S&&bc(u,l))throw new Error(Hi);const g=r&&(Boolean(u&&bc(u)||l&&bc(l))||s&&S);r||(p=0,h=0);const A=ua(g,c,f);r&&(i?(a.uncompressedSize=y,m=n===I?fc(y)+A:n+(s?0:A)):n===I?(d=!0,(w||w===I)&&(w=b=!0,m=4294967296)):(a.uncompressedSize=y=n,m=(dc(h,p)?fc(y):y)+A));const R=!(g||r&&(0!==n||i)||dc(h,p));R&&sc(e,a,q)===I&&(d=!1);const D=E||b||y>=t,z=E||m>=t;if(D||z){if(!1===w)throw new Error(ts);w=!0}return w=w||!1,{ke:m,Xt:{dataDescriptor:d,ne:R,zip64:w,Pt:E,ve:b,Bt:D,jt:z,uncompressedSize:y,level:p,compressionMethod:h,encrypted:g}}}function Bs(e,r,n){const o=e.slice().sort((t,e)=>n?e-t:t-e);let a=r,i=0;for(const e of o){if(a>=t)break;a+=e,i++}return i}function Ps(t){const{rawFilename:r,lastModDate:o,rawLastModDate:a,lastAccessDate:i,creationDate:s,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:d,directory:w,rawExtraField:p,Ce:y,encryptionStrength:S,extendedTimestamp:g,ntfsTimestamp:A,Qt:R,encrypted:D,Bt:z,jt:T,uncompressedSize:U,ve:C,crc32:k}=t;let{version:v,compressionMethod:M}=t;const _=!w&&dc(M,c);let j;const B=R||!_,P=u&&(t.bufferedWrite||!d||!z&&!T||B&&!C),L=P||u&&d&&(z||T);if(u&&(z||T)){const t=20,e=Hs(t);if(e.ze(1),e.ze(t-4),j=e.st,P&&(e.Ie(U),B)){const t=ua(D,l,S);e.Ie(R?0:U+t)}}else j=N;let W,Z,V,H,G;if(D&&!l){const t=Hs(bc(gs)+2);t.ze(h),t.xe(gs),W=t.st,W[8]=S}else W=N;if(g){const t=ac(o),e=(Y=t)>=Xi&&Y<=Ji;if(e){const e=9+(i?4:0)+(s?4:0),r=Hs(e);H=1+(i?2:0)+(s?4:0),G=t,r.ze(m),r.ze(e-4),r.Me(H),r.De(t),i&&r.De(ic(ac(i))),s&&r.De(ic(ac(s))),V=r.st}else V=N;if(A===I?!e||Boolean(i||s):A)try{const t=oc(o),e=Hs(36);e.ze(10),e.ze(32),e.Ne(4),e.ze(1),e.ze(24),e.Ie(t),e.Ie(i?oc(i):t),e.Ie(s?oc(s):t),Z=e.st}catch{Z=N}else Z=N}else Z=V=N;var Y;let q;try{const{uid:r,gid:n,unixExtraFieldType:o}=t;if(o!=As||r===I&&n===I)if(o!=Rs||r===I&&n===I)q=N;else{const t=Hs(8);t.ze(E),t.ze(4),t.ze((r===I?0:r)&e),t.ze((n===I?0:n)&e),q=t.st}else{const t=Ws(r===I?0:r),e=Ws(n===I?0:n),o=3+t.length+e.length,a=Hs(4+o);a.ze(b),a.ze(o),a.Me(1),a.Me(t.length),a.xe(t),a.Me(e.length),a.xe(e),q=a.st}}catch{q=N}M===I&&(M=_?8:0),v===I&&(v=0!=M||w||D?20:10);const{Ue:K}=t;_&&K!==I&&(v=v>K?v:K),u&&(v=v>45?v:45),D&&!l&&(v=v>51?v:51,R&&k!==I&&(W[4]=1),pc(Wt(W),9,M),M=99);const J=L?bc(j):0,Q=J+bc(W,V,Z,q,p,y);if(Q+(t[X]?67:0)>e)throw new Error(Ki);const $=new Date(2e3*Math.ceil(Math.floor(o.getTime()/1e3)/2)),tt=$<O?O:$>F?F:$,et=bc(V)?new Date(1e3*ac(o)):bc(Z)?o:tt,{Nt:rt,_t:nt,rawLastModDate:ot}=Ec({version:v,bitFlag:gc(c,f,d,D,M),compressionMethod:M,uncompressedSize:U,lastModDate:tt,rawLastModDate:a,rawFilename:r,jt:T,Bt:z,extraFieldLength:Q}),at=Hs(x+bc(r)+Q),it=at.st,st=Wt(it);return at.De(n),at.xe(rt),at.xe(r),L&&at.xe(j),at.xe(W),at.xe(V),at.xe(Z),at.xe(q),at.xe(p),at.xe(y),d&&(T||hc(st,18,0),z||hc(st,22,0)),{ee:it,pe:st,Nt:rt,_t:nt,lastModDate:et,te:et===tt&&$.getTime()!=tt.getTime(),rawLastModDate:ot,encrypted:D,compressed:_,version:v,compressionMethod:M,le:H,fe:G,Wt:N,ue:J,Vt:V,Ht:Z,Gt:q,Zt:W,extraFieldLength:Q}}function Ls(t,e){const{oe:r}=t;let{ee:n,extraFieldLength:o}=r,a=64-(e+bc(n))%64;a<4&&(a+=64);const i=new Uint8Array(a),s=Wt(i);pc(s,0,y),pc(s,2,a-4);const c=n;r.ee=n=new Uint8Array(bc(c)+a),yc(n,c),yc(n,i,bc(c));const u=Wt(n);pc(u,28,o+a),r.pe=u,t.ce+=a}function Ws(t){const e=new Uint8Array(4);Wt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}function Zs({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,o=N,i=0,s=t?20:12;return r&&(s+=4),e&&(o=new Uint8Array(s),n=Wt(o),r&&(i=4,hc(n,0,a))),{re:o,de:n,we:i}}function Vs(r){let n=0,o=!1;for(const[,a]of r){const{rawFilename:r,Zt:i,rawComment:s,Ht:c,Gt:u,rawExtraField:l,Yt:d,le:w,fe:p,Pt:h,uncompressedSize:y,compressedSize:b}=a;let{Bt:E,jt:S}=a;h||(E&&y<t&&(E=a.Bt=!1),S&&b<t&&(S=a.jt=!1)),o=o||E||S;const g=a.offset>=t,A=a.diskNumberStart>=e;let R,D;if(g||A||E||S){const t=4+(E?8:0)+(S?8:0)+(g?8:0)+(A?4:0),e=Hs(t);e.ze(1),e.ze(t-4),E&&e.Ie(y),S&&e.Ie(b),g&&e.Ie(a.offset),A&&e.De(a.diskNumberStart),R=e.st}else R=N;if(a.Wt=R,a.Re=g,a.Lt=A,p===I)D=N;else{const t=Hs(9);t.ze(m),t.ze(5),t.Me(w),t.De(p),D=t.st}a.Vt=D;const z=bc(R,i,c,u,D,l,d);if(z>e)throw new Error(Ki);n+=f+bc(r,s)+z}return{be:n,Ee:o}}function Hs(t){const e=new Uint8Array(t),r=Wt(e);let n=0;return{st:e,Me:t=>{!function(t,e,r){t.setUint8(e,r)}(r,n,t),n+=1},ze:t=>{pc(r,n,t),n+=2},De:t=>{hc(r,n,t),n+=4},Ie:t=>{mc(r,n,BigInt(t)),n+=8},xe:t=>{yc(e,t,n),n+=bc(t)},Ne:t=>n+=t}}function Gs(t){const{diskNumber:e=0}=t;return e}function Ys(t){const{diskOffset:e=0}=t;return e}function qs(t,e){const{availableSize:r=T}=t;return e>r}function Ks(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.xt:0)}function Xs(t){const e=Wt(t);let r=0;for(;r+4<=bc(t);){const n=4+wc(e,r+2);if(1==wc(e,r))return Xs(Pt(t.subarray(0,r),t.subarray(Math.min(r+n,bc(t)))));r+=n}return t}async function Js(t,e,r,n){if(n>0){const{writer:o}=t;let a=0;try{await nc(zo(e,{offset:r,size:n}),o,I,t=>a+=t)}catch(e){t.hasCorruptedEntries=!0;try{e.corruptedEntry=!0}catch{}throw e}finally{o.size+=a,t.offset+=a}}}async function Qs(t,e){const r=await Do(t,e,x);if(bc(r)<x)return x;const n=Wt(r);return x+wc(n,26)+wc(n,28)}function $s(t,{offset:e,diskNumberStart:r}){return e+(t.wt?t.wt(r):0)}function tc(){const t=new Uint8Array(4);return hc(Wt(t),0,o),t}async function ec(t,e){delete t.Rt,await rc(e,tc()),t.offset+=4}async function rc(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=bc(e),await n.write(e)}finally{n.releaseLock()}}async function nc(t,e,r,n){const o=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){await o.ready,await o.write(t),n(bc(t))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{o.releaseLock()}}function oc(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<Qi?Qi:e>$i?$i:e}}function ac(t){return Math.floor(t.getTime()/1e3)}function ic(t){return Math.min(Ji,Math.max(Xi,t))}function sc(t,e,r,n){const o=e[r]===I?t.options[r]:e[r];return o===I?n:o}function cc(t,e,r,n){const o=sc(t,e,r,n);if(null===o)return n;if(o!==I&&(typeof o.getTime!=C||Number.isNaN(o.getTime())))throw new Error(Bi);return o}function uc(t,e,r){return ft(sc(t,e,r))}function lc(t,e,r,n){return bt(sc(t,e,r,n))}function fc(t){return t+5*(Math.floor(t/16383)+1)}function dc(t,e){return t===I?e===I||e>0:0!==t}function wc(t,e){return t.getUint16(e,!0)}function pc(t,e,r){t.setUint16(e,r,!0)}function hc(t,e,r){t.setUint32(e,r,!0)}function mc(t,e,r){t.setBigUint64(e,r,!0)}function yc(t,e,r){t.set(e,r)}function bc(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Ec({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:o,compressedSize:a,lastModDate:i,rawLastModDate:s,rawFilename:c,jt:u,Bt:l,extraFieldLength:f}){const d=Hs(26),w=d.st,p=Wt(w);if(d.ze(e),d.ze(r),d.ze(n),s===I){const t=new Uint32Array(1),e=Wt(t);pc(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),pc(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=t[0]}return d.De(s),d.Ne(4),u||a!==I?d.De(u?t:a):d.Ne(4),l||o!==I?d.De(l?t:o):d.Ne(4),d.ze(bc(c)),d.ze(f),{Nt:w,_t:p,rawLastModDate:s}}function Sc(t){return t.every(t=>t>=32&&t<=126)}function gc(t,e,r,n,o){let a=0;return e&&(a|=S),r&&(a|=8),8!=o&&9!=o||(t>=0&&t<=3&&(a|=6),t>3&&t<=5&&(a|=4),9==t&&(a|=2)),n&&(a|=1),a}function Ac(){return"application/octet-stream"}function Rc(){const{CompressionStream:t,DecompressionStream:e,CompressionStreamFallback:r,DecompressionStreamFallback:n}=Ut(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:Dc(r,mr)||Dc(t,mr)||Dc(t,br),decompression:Dc(n,mr)||Dc(e,mr)||Dc(e,br),registered:!1},{compressionMethod:9,compression:!1,decompression:Dc(n,yr)||Dc(e,yr),registered:!1}];for(const t of lr()){const e=fr(t.format);o.push({compressionMethod:t.compressionMethod,compression:e?typeof e.CompressionStream==C:I,decompression:e?typeof e.DecompressionStream==C:I,registered:!0})}return o}function Dc(t,e){if(!t)return!1;const{_e:r}=t;return r?r.includes(e):Dr(t,e)}const zc="2.14.0",xc=1048576,Fc=".zip.js-temp";function Oc(t={}){const{thresholdBytes:e=xc,directoryName:r=Fc,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let o;function a(){return o||(o=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),o}return function(){const t=[];let r,n,o,i,s=0,c=!1;const u=new WritableStream({async write(i){c?await o.write(i):(t.push(i),s+=i.length,s>e&&await async function(){const e=await a();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),o=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await o.write(e);t.length=0}())},async close(){o&&(await o.close(),o=null)}});let l=0;return{writable:u,readable:new ReadableStream({async pull(e){if(c){if(!i){const t=await n.getFile();i=t.stream().getReader()}const{value:t,done:r}=await i.read();r?e.close():e.enqueue(t)}else l<t.length?e.enqueue(t[l++]):e.close()},async cancel(t){i&&await i.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(o){try{await o.close()}catch{}o=null}if(r){try{const t=await a();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Ic=1048576;function Tc(t={}){const{thresholdBytes:e=Ic}=t;return function(){const t=[];let r,n,o,a=0,i=!1;const s=new WritableStream({async write(o){i?await r.write(o):(t.push(o),a+=o.length,a>e&&await async function(){const e=new TransformStream;n=Qe(e.readable),r=e.writable.getWriter(),i=!0;for(const e of t)await r.write(e);t.length=0}())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:s,readable:new ReadableStream({async pull(e){if(i){if(!o){const t=await n;o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const Uc=1048576,Cc=".zip.js-temp",kc="createSyncAccessHandle is only available in dedicated workers";function vc(t={}){const{thresholdBytes:e=Uc,directoryName:r=Cc,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new Error(kc);const o=n||(()=>navigator.storage.getDirectory());let a;function i(){return a||(a=Promise.resolve(o()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return function(){const t=[];let r,n,o=0,a=!1,s=0,c=0;const u=new WritableStream({async write(c){a?(n.write(c,{at:s}),s+=c.length):(t.push(c),o+=c.length,o>e&&await async function(){const e=await i();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const o=await e.getFileHandle(r,{create:!0});n=await o.createSyncAccessHandle(),a=!0;for(const e of t)n.write(e,{at:s}),s+=e.length;t.length=0}())},close(){n&&n.flush()}});let l=0;const f=new ReadableStream({pull(e){if(a){const t=s-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),o=n.read(r,{at:c});o?(c+=o,e.enqueue(r.subarray(0,o))):e.close()}else l<t.length?e.enqueue(t[l++]):e.close()}},{highWaterMark:0});return{writable:u,readable:f,dispose:async function(){if(n){try{n.close()}catch{}n=null}if(r){try{const t=await i();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{jt({baseURI:import.meta.url})}catch{}const Mc="deflate",Nc="deflate-raw",_c="deflate64-raw",jc="gzip";let Bc,Pc,Lc,Wc,Zc;function Vc(t,e,r={}){if(!Bc){const t=new Error("WASM module not loaded");throw t.cause=Zc,t}const n="number"==typeof r.level?r.level:-1,o="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.je=Pc(o),this.in=Pc(a),this.inBufferSize=a,!this.je||!this.in)throw new Error("allocation failed");if(this.Be=new Uint8Array(o),t?(this.Pe=Bc.deflate_process,this.Le=Bc.deflate_last_consumed,this.We=Bc.deflate_end,this.Ze=Bc.deflate_new(),r=e===jc?Bc.deflate_init_gzip(this.Ze,n):e===Nc?Bc.deflate_init_raw(this.Ze,n):Bc.deflate_init(this.Ze,n)):e===_c?(this.Pe=Bc.inflate9_process,this.Le=Bc.inflate9_last_consumed,this.We=Bc.inflate9_end,this.Ze=Bc.inflate9_new(),r=Bc.inflate9_init_raw(this.Ze)):(this.Pe=Bc.inflate_process,this.Le=Bc.inflate_last_consumed,this.We=Bc.inflate_end,this.Ze=Bc.inflate_new(),r=e===Nc?Bc.inflate_init_raw(this.Ze):e===jc?Bc.inflate_init_gzip(this.Ze):Bc.inflate_init(this.Ze)),0!==r)throw new Error("init failed:"+r)}catch(t){throw i(this),t}},transform(t,e){try{const r=t,n=new Uint8Array(Wc.buffer),a=this.Pe,i=this.Le,s=this.je,c=this.Be;let u=0;for(;u<r.length;){const t=Math.min(r.length-u,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&Lc&&(Lc(this.in),this.in=0),this.in=Pc(t),this.inBufferSize=t,!this.in))throw new Error("allocation failed");n.set(r.subarray(u,u+t),this.in);const l=a(this.Ze,this.in,t,s,o,0),f=l>>24&255,d=128&f?f-256:f;if(d<0)throw new Error("process error:"+d);const w=16777215&l;w&&(c.set(n.subarray(s,s+w),0),e.enqueue(c.slice(0,w)));const p=i(this.Ze);if(0===p&&0===w)break;u+=p}}catch(t){i(this),e.error(t)}},flush(t){try{const e=new Uint8Array(Wc.buffer),r=this.Pe,n=this.je,a=this.Be;for(;;){const i=r(this.Ze,0,0,n,o,4),s=i>>24&255,c=128&s?s-256:s;if(c<0)throw new Error("process error:"+c);const u=16777215&i;if(u&&(a.set(e.subarray(n,n+u),0),t.enqueue(a.slice(0,u))),1===s||0===u)break}}catch(e){t.error(e)}finally{const e=i(this);0!==e&&t.error(new Error("end error:"+e))}},cancel(){i(this)}});function i(t){let e=0;return t.Ze&&t.We&&(e=t.We(t.Ze)),t.Ze=0,t.in&&Lc&&Lc(t.in),t.in=0,t.je&&Lc&&Lc(t.je),t.je=0,e}}class Hc{constructor(t=Mc,e){return Vc(!0,t,e)}}class Gc{constructor(t=Mc,e){return Vc(!1,t,e)}}Hc.R=!0,Gc.R=!0,Hc._e=[Mc,Nc,jc],Gc._e=[Mc,Nc,jc,_c];const Yc=65536;let qc,Kc;function Xc(t){return new Uint8Array(t.memory.buffer)}let Jc,Qc=!1;var $c;async function tu(){await async function(){await Promise.allSettled(un.map(t=>(En(t),t.terminate()))),_r=I,jr=!1}(),Jc=null,Qc=!1,Bc=Pc=Lc=Wc=Zc=null,qc=null,Kc=0}$c=function(t,e){const r=qc;let n=r?function(t,e,r){Kc||(Kc=t.malloc(Yc));const n=Kc?t.aes_hmac_new():0;if(n){const o=Xc(t);if(o.set(e,Kc),o.set(r,Kc+e.length),t.aes_hmac_init(n,Kc,e.length,Kc+e.length,r.length))return t.aes_hmac_end(n,0),0}return n}(r,t,e):0;if(!n)return we(t,e);const o=Kc;return{process(t,e){for(let a=0;a<t.length;a+=Yc){const i=t.subarray(a,a+Yc),s=Xc(r);s.set(i,o),r.aes_hmac_process(n,o,i.length,e?1:0),i.set(s.subarray(o,o+i.length))}},digest:()=>(r.aes_hmac_end(n,o),n=0,Xc(r).slice(o,o+20)),dispose(){n&&(r.aes_hmac_end(n,0),n=0)}}},ke=$c||we,function({Ve:t}){Pr=t}({Ve:t=>{if(!Jc){let{wasmURI:e}=t;typeof e==C&&(e=e()),Jc=async function(t,{baseURI:e}){if(!Qc)try{await async function(t,e){let r,n;try{try{n=new URL(t,e)}catch{}const o=await fetch(n);r=await o.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=function(t){const e=t.split(",")[1],r=atob(e),n=r.length,o=new Uint8Array(n);for(let t=0;t<n;++t)o[t]=r.charCodeAt(t);return o.buffer}(t)}const o=await WebAssembly.instantiate(r);var a;(function(t){if(Bc=t,({malloc:Pc,free:Lc,memory:Wc}=Bc),"function"!=typeof Pc||"function"!=typeof Lc||!Wc)throw Bc=Pc=Lc=Wc=null,new Error("Invalid WASM module")})(o.instance.exports),typeof(a=o.instance.exports).aes_hmac_new==C&&(qc=a,Kc=0)}(t,e),Qc=!0}catch(t){throw function(t){Zc=t}(t),t}}(e,t).catch(t=>{throw Jc=null,t})}return Jc}}),jt({CompressionStreamFallback:Hc,DecompressionStreamFallback:Gc}),jt({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const eu="Entry filename already exists",ru="Duplicate entry filename in the imported zip file",nu='Invalid duplicates option (must be "throw", "keep-first" or "keep-last")',ou="Entry is an ancestor of target entry",au="Root directory cannot be moved",iu="Target entry is not a directory",su="Parent entry is not a directory",cu="Readable stream already consumed",uu="throw",lu="keep-first",fu="keep-last",du=new Set([uu,lu,fu]),wu="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",pu="Invalid readerOptions (must be an object)",hu="The 'compressed' passThrough option is only supported by Entry#getData() and ZipWriter#add()",mu="zipjs-abort-export";class yu{constructor(t,e,r,n){const o=this;if(t.root&&n&&n.getChildByName(e))throw new Error(eu);r||(r={}),Object.assign(o,{fs:t,name:e,data:r.data,options:r.options&&Object.assign({},r.options),id:t.He++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,Ge:r.Ge||r.uncompressedSize===I,passThrough:r.passThrough,Ye:r.Ye||new Date}),!n&&t.root||(t.entries[o.id]=o),n&&o.parent.children.push(o)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,r=this.parent;for(;r&&r!=t;)e=(r.name?r.name+"/":"")+e,r=r.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return Boolean(e)}rename(t){const e=this;let r=e.parent;if(r){const n=Hu(t);n&&(t=n.pop(),r=Gu(r,n,e));const o=r.getChildByName(t);if(o&&o!=e)throw new Error(eu);r!=e.parent&&(Iu(e),e.parent=r,r.children.push(e),Zu(e.fs,e))}e.name=t}setOptions(t){const e=Object.assign({},this.options,t);this.options=Object.fromEntries(Object.entries(e).filter(([,t])=>t!==I))}}class bu extends yu{constructor(t,e,r,n){super(t,e,r,n);const o=this;o.Reader=r.Reader,o.Writer=r.Writer,r.getData&&(o.getData=r.getData)}clone(){return new bu(this.fs,this.name,this)}async getData(t,e={}){const r=this;if(!t||t.constructor==r.Writer&&r.data&&function(t,e){const{contentType:r}=t;return r===I||(t.constructor==Vn?e.type==r:t.constructor!=Pn||e.startsWith("data:"+(r||"")+";base64,"))}(t,r.data))return r.data;{const n=r.reader=Fu(r.Reader,r.data,e),o=r.uncompressedSize||n.size;await Promise.all([Ao(n),Ao(t,o)]);const a=dt(e.signal),i=function(t,e,r,n){const{onstart:o,onprogress:a,onend:i}=r,{readable:s}=e;return t.data instanceof sa||!o&&!a&&!i?s:Je(s).pipeThrough(new Hr({onstart:o,onprogress:a,onend:i,size:e.size}),{signal:n})}(r,n,e,a),s=!go(t)&&Boolean(e.preventClose);return r.uncompressedSize=n.size,await Je(i).pipeTo($e(t.writable),{signal:a,preventClose:s,preventAbort:s}),t.getData?t.getData():t.writable}}isPasswordProtected(){return Boolean(this.data&&this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,Object.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(Zt(t)&&t.message==be)return!1;throw t}}getText(t,e){return this.getData(new Yn(t),e)}getBlob(t,e){return this.getData(new Vn(t),e)}getData64URI(t,e){return this.getData(new Pn(t),e)}getUint8Array(t){return this.getData(new mo,t)}getWritable(t=new WritableStream,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return Lt(await this.getUint8Array(t)).buffer}replaceBlob(t){Mu(this,{data:t,Reader:Zn,Writer:Vn,uncompressedSize:t.size})}replaceText(t){Mu(this,{data:t,Reader:Hn,Writer:Yn,uncompressedSize:Gn(t)})}replaceData64URI(t){Mu(this,{data:t,Reader:Bn,Writer:Pn,uncompressedSize:Nu(t)})}replaceUint8Array(t){Mu(this,{data:t,Reader:ho,Writer:mo,uncompressedSize:t.length})}replaceReadable(t){Mu(this,{data:null,Reader:zu(t),Writer:null,uncompressedSize:I})}}class Eu extends yu{constructor(t,e,r,n){super(t,e,r,n),this.directory=!0}clone(t){const e=this,r=new Eu(e.fs,e.name,e);return t&&(r.children=e.children.map(e=>{const n=e.clone(t);return n.parent=r,n})),r}addDirectory(t,e){return Vu(this,t,{options:e},!0)}addText(t,e,r={}){return Vu(this,t,{data:e,Reader:Hn,Writer:Yn,options:r,uncompressedSize:Gn(e)})}addBlob(t,e,r={}){return Vu(this,t,{data:e,Reader:Zn,Writer:Vn,options:r,uncompressedSize:e.size})}addData64URI(t,e,r={}){return Vu(this,t,{data:e,Reader:Bn,Writer:Pn,options:r,uncompressedSize:Nu(e)})}addUint8Array(t,e,r={}){return Vu(this,t,{data:e,Reader:ho,Writer:mo,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return Vu(this,t,{data:e,Reader:class extends wo{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return Vu(this,t,{Reader:zu(e),options:r})}addFileSystemEntry(t,e={}){return Bu(this,t,e)}addFileSystemHandle(t,e={}){return Bu(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),Vu(this,t.name,{data:t,Reader:function(){return{readable:t.stream(),size:t.size}},options:e,uncompressedSize:t.size})}importBlob(t,e){return this.importZip(new Zn(t),e)}importData64URI(t,e){return this.importZip(new Bn(t),e)}importUint8Array(t,e){return this.importZip(new ho(t),e)}importHttpContent(t,e){return this.importZip(new wo(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new Vn(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new Pn(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new mo,t)}async exportWritable(t=new WritableStream,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return async function(t,e,r){const{onstart:n,onprogress:o,onend:a}=r;vu(r.passThrough);const i=ku(r.readerOptions),s=new AbortController,{signal:c}=s,u=function(t,e){if(!dt(t))return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const r=()=>e.abort(t.reason);return t.addEventListener("abort",r,{once:!0}),()=>t.removeEventListener("abort",r)}(r.signal,s),l=Object.assign({},r,i,{signal:c,onstart:I,onprogress:I,onend:I,preventClose:!1}),f=Au([t],t=>Du(t,l.passThrough)),d=[];let w=!1,p=0;try{n&&await Gr(n,f),await m(t,e),a&&await Gr(a,p)}catch(t){try{t.exportedEntryNames=d}catch{}throw t}finally{u()}return e;function h(t){const e=t.getWriter();return new WritableStream({async write(t){await e.write(t),p+=t.length,o&&await Gr(o,p,f)},close:()=>e.close(),abort:t=>e.abort(t)})}async function m(t,e){if(r.concurrent){const r=(await Promise.allSettled(t.children.map(t=>y(t,e)))).filter(t=>"rejected"==t.status);if(r.length){const t=r.filter(t=>!Tu(t.reason));throw function(t){const[e]=t,r=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(r.length)try{e.entryErrors=[...e.entryErrors||[],...r]}catch{}return e}((t.length?t:r).map(t=>t.reason))}}else for(const r of t.children)await y(r,e)}async function y(e,r){if(c.aborted){if(w||Tu(c.reason))return;wt(c)}try{if(e.directory){const t=await r.getDirectoryHandle(e.name,{create:!0});await m(e,t)}else{const n=await r.getFileHandle(e.name,{create:!0}),o=await n.createWritable();try{await e.getData({writable:h(o)},l)}catch(t){throw w?new Error(mu):t}d.push(e.getRelativeName(t))}}catch(r){w=!0,s.abort(new Error(mu));try{r.entryName===I&&(r.entryName=e.getRelativeName(t),r.entryId=e.id)}catch{}throw r}}}(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==C?(r=t,e=Object.assign({},r.options,e)):(await Ao(t),r=new Ja(t,e)),vu(e.passThrough);const n=function(t){if(t===I)return uu;if(du.has(t))return t;throw new Error(nu)}(e.duplicates),o=[],a=await r.getEntries(e);for(const t of a){let r=this;try{const a=t.filename.split("/").filter(t=>""!=t&&"."!=t),i=a.pop();let s=!1;for(const t of a){const e=r;if(r=r.getChildByName(t),r){if(!r.directory){if(n==lu){s=!0;break}if(n!=fu)throw new Error(ru);this.fs.remove(r),r=new Eu(this.fs,t,{data:null},e),o.push(r)}}else r=new Eu(this.fs,t,{data:null},e),o.push(r)}if(s)continue;if(t.directory){let e=r;if(i){if(e=r.getChildByName(i),e&&(!e.directory||e.data)){if(n==lu)continue;if(n!=fu)throw new Error(ru);e.directory?e.data=t:(this.fs.remove(e),e=I)}e||(e=new Eu(this.fs,i,{data:null},r),o.push(e))}e==this||e.data||(e.data=t)}else{const a=r.getChildByName(i);if(a){if(n==lu)continue;if(n!=fu)throw new Error(ru);this.fs.remove(a)}o.push(Vu(r,i,{data:t,Reader:xu(Object.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}}catch(e){o.reverse().forEach(t=>this.fs.remove(t));try{e.cause={entry:t}}catch{}throw e}}return o}async exportZip(t,e={}){const r=this,n=Boolean(t)&&typeof t.add==C;e=Object.assign({},e),n||e.bufferedWrite!==I||(e.bufferedWrite=!0);const[o]=await Promise.all([Ou(r,ku(e.readerOptions)),n?I:Ao(t)]),a=n?t:new Fs(t,e);return await async function(t,e,r,n,o){const{onstart:a,onprogress:i,onend:s,onentryprogress:c}=n,u=e,l=Au(e.children,t=>ju(t)?0:1);let f=0,d=0;if(a&&await Gr(a,r),n.bufferedWrite)await async function t(e){const r=(await Promise.allSettled(e.children.map(async e=>{await w(e),await t(e)}))).find(t=>"rejected"==t.status);if(r)throw r.reason}(e);else for(const t of e.getChildren({recursive:!0}))await w(t);async function w(e){if(ju(e))return;const{name:a,qt:s}=Uu(e,u,n);let w=0;const p=await t.add(a,o.get(e),Object.assign(s,{onstart:I,onend:I,onprogress:async t=>{f+=t-w,w=t,i&&await Gr(i,f,r)}}));d++,c&&await Gr(c,d,l,p)}s&&await Gr(s,f)}(a,r,Au([r],Ru),e,o),n?a:(await a.close(e.globalComment),t.getData?t.getData():t.writable)}async getExportedSize(r={}){const n=this;ku((r=Object.assign({},r)).readerOptions),r.bufferedWrite===I&&(r.bufferedWrite=!0);const o=n.getChildren({recursive:!0}),a=o.filter(t=>!ju(t)).map(t=>{const{name:e,qt:o}=Uu(t,n,r);return{name:e,size:t.directory?0:Cu(t,_u(t,r)),options:o}}),i=!r.bufferedWrite||a.every(t=>!1!==t.options.keepOrder)&&o.every(t=>ju(t)||!t.children.length);return await async function(r,n,o,a){const i={options:r};if(ft(r[Q]))throw new Error(os);if(a!==I&&!(a instanceof Uint8Array))throw new Error(Ni);const s=bc(a);if(s>e)throw new Error(Mi);const c=r[X],u=new Map,l=r[K]===I?0:r[K];let f=l,w=T;const p=[],h=new Set;for(const e of n){let{name:r}=e;const{size:n}=e,o=Object.assign({},e.options);sc(i,o,Jo)&&!r.endsWith(z)&&(r+=z);const a=Ms(i,r,o);({name:r}=a);const{Xt:s}=Ns(i,r,o);0==s.level||s.compressionMethod!==I||s.Qt||await Lr(Ut())||(s.level=0);const l=!sc(i,o,Jo);if(l&&n===I)throw new Error(os);const{ke:d,Xt:m}=js(i,l,n,s,o);if(l&&!s.Qt&&dc(m.compressionMethod,m.level))throw new Error(os);const y=Object.assign({},o,a.Xt,s,m,{[X]:c}),b=Ps(y),E=Zs(y),S={oe:b,ce:bc(b.ee,E.re)};c&&Ls(S,f);const g=l?d:0;u.set(r,Object.assign({},y,b,{offset:f,diskNumberStart:0,compressedSize:g}));const A=S.ce+g;p.push(A),h.add(Boolean(y.Pt||y.uncompressedSize>=t||g>=t)),w=Math.min(w,A),f+=A}if(u.size>1&&(c||f-w>=t&&(h.size>1||Bs(p,l,!0)!=Bs(p,l,!1)))&&!o)throw new Error(os);const{be:m,Ee:y}=Vs(u);let b=sc(i,r,Go);if(f>=t||m>=t||u.size>=e){if(!1===b)throw new Error(ts);b=!0}else b===I&&y&&(b=!0);return f-l+m+s+(b?98:d)}(r,a,i,r.globalComment)}getChildByName(t){const e=this.children;for(let r=0;r<e.length;r++){const n=e[r];if(n.name==t)return n}}getChildren(t={}){return function(t,e){const r=[],n=[t];let o=0;for(;o<n.length;)for(const t of n[o++].children)r.push(t),e&&n.push(t);return r}(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const r=this.children;return!(await Promise.all(r.map(r=>r.checkPassword(t,e)))).includes(!1)}}class Su{constructor(){Lu(this)}get children(){return this.root.children}remove(t){Iu(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const r of t.children)e.push(r)}t.parent=I}move(t,e){if(t==this.root)throw new Error(au);if(!e.directory)throw new Error(iu);if(e.isDescendantOf(t))throw new Error(ou);if(t!=e){const r=e.getChildByName(t.name);if(r){if(r!=t)throw new Error(eu)}else Iu(t),t.parent=e,e.children.push(t),Zu(this,t)}}find(t){const e=t.split("/");let r=this.root;for(let t=0;r&&t<e.length;t++)r=r.directory?r.getChildByName(e[t]):I;return r||(r=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),r}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,r){return this.root.addText(t,e,r)}addBlob(t,e,r){return this.root.addBlob(t,e,r)}addData64URI(t,e,r){return this.root.addData64URI(t,e,r)}addUint8Array(t,e,r){return this.root.addUint8Array(t,e,r)}addHttpContent(t,e,r){return this.root.addHttpContent(t,e,r)}addReadable(t,e,r){return this.root.addReadable(t,e,r)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}importBlob(t,e){return Wu(this,r=>r.importBlob(t,e))}importData64URI(t,e){return Wu(this,r=>r.importData64URI(t,e))}importUint8Array(t,e){return Wu(this,r=>r.importUint8Array(t,e))}importHttpContent(t,e){return Wu(this,r=>r.importHttpContent(t,e))}importReadable(t,e){return Wu(this,r=>r.importReadable(t,e))}importZip(t,e){return Wu(this,r=>r.importZip(t,e))}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}}const gu={FS:Su,ZipDirectoryEntry:Eu,ZipFileEntry:bu};function Au(t,e){let r=0;const n=Array.from(t);for(;n.length;){const t=n.pop();r+=e(t)||0;for(const e of t.children)n.push(e)}return r}function Ru(t){return t.uncompressedSize}function Du(t,e){const{data:r}=t;return e&&r instanceof sa?r.compressedSize:t.uncompressedSize}function zu(t){let e;return function(){if(e)throw new Error(cu);return e=!0,{readable:t}}}function xu(t){return class extends _n{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=Object.assign({},t,e.options),{checkOverlappingEntry:n,checkOverlappingEntryOnly:o}=r,a=await e.entry.getData(new Vn,Object.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:o||n,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=a,e.qe=new Zn(a),e.size=a.size,super.init()}readUint8Array(t,e){return this.qe.readUint8Array(t,e)}}}function Fu(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function Ou(t,e){const r=[],n=[t],o=new Map;for(;n.length;){const t=n.pop();for(const e of t.children)e.directory?n.push(e):r.push(e)}return await Promise.all(r.map(async t=>{const r=t.reader=Fu(t.Reader,t.data,e);o.set(t,r);try{await Ao(r)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}r.size!==I&&(t.uncompressedSize=r.size,t.Ge=!1)})),o}function Iu(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function Tu(t){return Boolean(t)&&t.message==mu}function Uu(t,e,r){const n=r.relativePath?t.getRelativeName(e):t.getFullname(),o=t.options||{};let a={},i={};if(t.data instanceof sa){const e=_u(t,r),n=o.lastModDate===I?r.lastModDate:o.lastModDate;({qt:a,Kt:i}=vs(t.data,e,n)),e&&(i.passThrough=!0)}const s=Object.assign({lastModDate:t.Ye},a,r,o,i,{directory:t.directory});if(!t.directory&&s.passThrough&&s.uncompressedSize===I)throw new Error(wu);return{name:n,qt:s}}function Cu(t,e){const{reader:r}=t;return r&&r.size!==I?r.size:t.Ge?I:Du(t,e)}function ku(t){if(t&&(typeof t!=k||Array.isArray(t)))throw new Error(pu);return t&&vu(t.passThrough),t}function vu(t){if(ht(t)===at)throw new Error(hu)}function Mu(t,e){const{uncompressedSize:r}=e;Object.assign(t,e,{reader:null,passThrough:I,uncompressedSize:r===I?0:r,Ge:r===I})}function Nu(t){let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;return Math.floor(.75*(e-r))}function _u(t,e){const{readerOptions:r}=e;return Boolean(!t.directory&&(t.passThrough||r&&r.passThrough))}function ju(t){return t.directory&&null===t.data}function Bu(t,e,r){return async function t(e,n,o,a=""){if(n){const i=a?a+"/"+n.name:n.name;try{if((n.isFile||n.isDirectory)&&(n=await Pu(n)),"file"==n.kind){const t=await n.getFile();o.push(Vu(e,t.name,{Reader:function(){return{readable:t.stream(),size:t.size}},options:Object.assign({},{lastModDate:new Date(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==n.kind){const a=e.addDirectory(n.name,r);o.push(a);for await(const e of n.values())await t(a,e,o,i)}}catch(t){try{t.entryName===I&&(t.entryName=i)}catch{}throw t}}return o}(t,e,[])}async function Pu(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new Promise((e,r)=>t.file(e,r))),t.isDirectory){e.kind="directory";const r=await async function(t){const e=[];function r(t,n,o){t.readEntries(async a=>{if(a.length){for(const t of a)e.push(await Pu(t));r(t,n,o)}else n(e)},o)}return await new Promise((e,n)=>r(t.createReader(),e,n)),{[Symbol.iterator](){let t=0;return{next(){const r={value:e[t],done:t==e.length};return t++,r}}}}}(t);e.values=()=>r}return e}function Lu(t){t.entries=[],t.He=0,t.root=new Eu(t)}function Wu(t,e){const{entries:r,He:n,root:o}=t;return Lu(t),e(t.root).catch(e=>{throw Object.assign(t,{entries:r,He:n,root:o}),e})}function Zu(t,e){const r=[e];for(;r.length;){const e=r.pop();t.entries[e.id]=e;for(const t of e.children)r.push(t)}}function Vu(t,e,r,n){if(t.directory){const o=Hu(e);return o&&(e=o.pop(),t=Gu(t,o)),n?new Eu(t.fs,e,r,t):new bu(t.fs,e,r,t)}throw new Error(su)}function Hu(t){if(t.includes("/")){const e=t.split("/").filter(t=>""!=t&&"."!=t);if(e.length)return e}}function Gu(t,e,r){return e.forEach(e=>{const n=t;if(t=t.getChildByName(e)){if(!t.directory)throw new Error(eu);if(r&&(t==r||t.isDescendantOf(r)))throw new Error(ou)}else t=new Eu(n.fs,e,{data:null},n)}),t}export{Zn as BlobReader,Vn as BlobWriter,Bn as Data64URIReader,Pn as Data64URIWriter,lt as ERR_ABORTED,ga as ERR_AMBIGUOUS_ARCHIVE,ou as ERR_ANCESTOR_ENTRY,la as ERR_BAD_FORMAT,wa as ERR_CENTRAL_DIRECTORY_NOT_FOUND,vi as ERR_DUPLICATED_NAME,ru as ERR_DUPLICATE_IMPORTED_ENTRY,ma as ERR_ENCRYPTED,Aa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Sa as ERR_ENTRY_DATA_OUT_OF_BOUNDS,eu as ERR_ENTRY_EXISTS,da as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,fa as ERR_EOCDR_NOT_FOUND,ha as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,Dn as ERR_HTTP_RANGE,zn as ERR_HTTP_RESOURCE_CHANGED,Rn as ERR_HTTP_STATUS,Ee as ERR_INVALID_AUTHENTICATION_CODE,St as ERR_INVALID_BASE_URI,tr as ERR_INVALID_CODEC_DEFINITION,rr as ERR_INVALID_CODEC_MODULE,Mi as ERR_INVALID_COMMENT,Ni as ERR_INVALID_COMMENT_TYPE,pr as ERR_INVALID_COMPRESSED_DATA,hr as ERR_INVALID_CRC32,Bi as ERR_INVALID_DATE,nu as ERR_INVALID_DUPLICATES,Wi as ERR_INVALID_ENCRYPTION_STRENGTH,ys as ERR_INVALID_ENTRY,_i as ERR_INVALID_ENTRY_COMMENT,ji as ERR_INVALID_ENTRY_COMMENT_TYPE,Pi as ERR_INVALID_ENTRY_NAME,Gi as ERR_INVALID_EXTRAFIELD,Ki as ERR_INVALID_EXTRAFIELD_DATA,qi as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Yi as ERR_INVALID_EXTRAFIELD_TYPE,za as ERR_INVALID_FILENAME_VALIDATION,it as ERR_INVALID_FUNCTION_OPTION,us as ERR_INVALID_GID,hs as ERR_INVALID_LEVEL,xa as ERR_INVALID_MAX_APPENDED_DATA_SIZE,Et as ERR_INVALID_MAX_WORKERS,ws as ERR_INVALID_MSDOS_ATTRIBUTES,ps as ERR_INVALID_MSDOS_DATA,be as ERR_INVALID_PASSWORD,ct as ERR_INVALID_PASSWORD_TYPE,wu as ERR_INVALID_PASS_THROUGH,ut as ERR_INVALID_PASS_THROUGH_VALUE,is as ERR_INVALID_READER,pu as ERR_INVALID_READER_OPTIONS,st as ERR_INVALID_SIGNAL,ms as ERR_INVALID_SIGNATURE_DATA,Da as ERR_INVALID_STRICTNESS,cs as ERR_INVALID_UID,wr as ERR_INVALID_UNCOMPRESSED_SIZE,fs as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,ds as ERR_INVALID_UNIX_ID_SIZE,ls as ERR_INVALID_UNIX_MODE,gt as ERR_INVALID_URI,Li as ERR_INVALID_VERSION,xn as ERR_ITERATOR_COMPLETED_TOO_SOON,pa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,Ea as ERR_OVERLAPPING_ENTRY,su as ERR_PARENT_NOT_DIRECTORY,cu as ERR_READABLE_CONSUMED,er as ERR_RESERVED_COMPRESSION_METHOD,au as ERR_ROOT_DIRECTORY_NOT_MOVABLE,ba as ERR_SPLIT_ZIP_FILE,iu as ERR_TARGET_NOT_DIRECTORY,rs as ERR_UNDEFINED_COMPRESSION_METHOD,ns as ERR_UNDEFINED_CRC32,as as ERR_UNDEFINED_READER,es as ERR_UNDEFINED_UNCOMPRESSED_SIZE,os as ERR_UNDETERMINED_SIZE,Ra as ERR_UNSAFE_FILENAME,nr as ERR_UNSUPPORTED_COMPRESSION,kc as ERR_UNSUPPORTED_CONTEXT,ge as ERR_UNSUPPORTED_CRYPTO_API,ya as ERR_UNSUPPORTED_ENCRYPTION,Hi as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Zi as ERR_UNSUPPORTED_ENCRYPTION_USDZ,ts as ERR_UNSUPPORTED_FORMAT,hu as ERR_UNSUPPORTED_PASS_THROUGH_VALUE,Vi as ERR_UNSUPPORTED_SPLIT_USDZ,Fa as ERR_UNSUPPORTED_UINT64,Nr as ERR_WORKER_STARTUP_TIMEOUT,Fn as ERR_WRITER_NOT_INITIALIZED,On as ERR_WRITER_SIZE_NOT_WRITABLE,bs as ERR_ZIP_CRYPTO_LAST_MOD_DATE,ss as ERR_ZIP_NOT_EMPTY,po as HttpRangeReader,wo as HttpReader,_n as Reader,yo as SplitDataReader,bo as SplitDataWriter,Hn as TextReader,Yn as TextWriter,ho as Uint8ArrayReader,mo as Uint8ArrayWriter,zc as VERSION,va as WARNING_APPENDED_DATA,Ss as WARNING_CLAMPED_LAST_MODIFICATION_DATE,Ta as WARNING_COMPRESSED_PATCHED_DATA,Es as WARNING_COMPRESSION_UNAVAILABLE,ja as WARNING_DUPLICATE_FILENAME,Ua as WARNING_MALFORMED_EXTRA_FIELD,Wa as WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,Za as WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,Va as WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,La as WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME,Ba as WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,Pa as WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY,Na as WARNING_PREPENDED_CENTRAL_DIRECTORY,Ma as WARNING_PREPENDED_DATA,_a as WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,Ia as WARNING_UNKNOWN_VERSION,Ca as WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA,Oa as WARNING_UNSORTED_CENTRAL_DIRECTORY,ka as WARNING_WRAPPED_ENTRIES_COUNT,jn as Writer,Eu as ZipDirectoryEntry,yu as ZipEntry,Su as ZipFS,bu as ZipFileEntry,Ja as ZipReader,Qa as ZipReaderStream,Fs as ZipWriter,Os as ZipWriterStream,vt as configure,Tc as createBlobTempStream,Oc as createOPFSTempStream,vc as createSyncAccessHandleTempStream,gu as fs,Ac as getMimeType,lr as getRegisteredCodecs,Rc as getSupportedCompressionMethods,$a as isZipFile,sr as registerCodec,Bt as resetConfiguration,tu as terminateWorkers,cr as unregisterCodec};
1
+ const t=4294967295,e=65535,r=255,n=67324752,o=134695760,i=o,a=84233040,s=33639248,c=101010256,u=101075792,l=117853008,f=46,d=22,w=20,p=56,h=39169,m=21589,y=6534,b=30837,E=30805,S=2048,g=61440,A=16384,R=2048,D=1024,x="/",z=30,F=new Date(2107,11,31,23,59,58),O=new Date(1980,0,1),I=void 0,T=1/0,U="undefined",C="function",k="object",v="string",M="boolean",N=new Uint8Array,_=Symbol.asyncDispose||Symbol(),j="password",B="rawPassword",P="passThrough",L="signal",W="useWebWorkers",Z="useCompressionStream",V="transferStreams",H="preventClose",G="level",Y="useUnicodeFileNames",q="dataDescriptor",K="offset",X="usdz",$="maxAppendedDataSize",J="signCentralDirectory",Q="entry",tt="filename",et="comment",rt="strict",nt="balanced",ot="tolerant",it="compressed",at="Invalid option (must be a function)",st="Invalid signal (must be an AbortSignal instance)",ct="Invalid password (password must be a string, rawPassword must be a Uint8Array)",ut="Invalid passThrough option (must be a boolean or 'compressed')",lt="The operation was aborted";function ft(t){if(t&&typeof t!=C)throw new Error(at);return t}function dt(t){if(t&&(typeof t.addEventListener!=C||typeof t.aborted!=M))throw new Error(st);return t||I}function wt(t){if(t&&t.aborted)throw t.reason===I?new DOMException(lt,"AbortError"):t.reason}function pt(t,e){if(t&&typeof t!=v||e&&!(e instanceof Uint8Array))throw new Error(ct)}function ht(t){if(t!==I&&typeof t!=M&&t!==it)throw new Error(ut);return t}function mt(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function yt(t,e,r){t!==I&&mt(t,e,r)}function bt(t){return typeof t==v&&t.trim()?Number(t):t}const Et="Invalid maxWorkers (must be an integer greater than 0)",St="Invalid baseURI (must be a string)",gt="Invalid URI (must be a string or a function returning a string)";let At=2;try{typeof navigator!=U&&navigator.hardwareConcurrency&&(At=navigator.hardwareConcurrency)}catch{}const Rt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:At,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=U&&CompressionStream,DecompressionStream:typeof DecompressionStream!=U&&DecompressionStream},Dt="maxWorkers",xt="baseURI",zt=["wasmURI","workerURI"],Ft=["chunkSize",Dt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Ot=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],It=[xt,...zt,"useCompressionStream","useWebWorkers","transferStreams",...Ft,...Ot],Tt={...Rt};function Ut(){return Tt}function Ct(t){return kt(t.chunkSize)}function kt(t){return t=bt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function vt(t){Object.assign(Tt,Mt(_t(t)))}function Mt(t){const e={};for(const r of It){const n=t[r];n!==I&&(e[r]=Nt(r,n))}return e}function Nt(t,e){if(Ft.includes(t)){if(e=bt(e),t==Dt&&(!Number.isInteger(e)||e<1))throw new Error(Et)}else if(Ot.includes(t))ft(e);else if(t==xt){if(e&&typeof e!=v)throw new Error(St)}else if(zt.includes(t)&&e&&typeof e!=v&&typeof e!=C)throw new Error(gt);return e}function _t(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===I&&r===I)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===I&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===I&&(n.DecompressionStreamFallback=r),n}function jt(t){const e=Mt(_t(t));Object.assign(Rt,e),Object.assign(Tt,e)}function Bt(){for(const t of It)delete Tt[t];Object.assign(Tt,Rt)}function Pt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function Lt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function Wt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Zt(t){return Boolean(t)&&"object"==typeof t}const Vt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;Vt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=Vt[e-1][t];Vt[e][t]=r>>>8^Vt[0][255&r]}const[Ht,Gt,Yt,qt,Kt,Xt,$t,Jt]=Vt;class Qt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const o=new DataView(t.buffer,t.byteOffset,r),i=r-8;for(;n<=i;n+=8){const t=e^o.getInt32(n,!0),r=o.getInt32(n+4,!0);e=Jt[255&t]^$t[t>>>8&255]^Xt[t>>>16&255]^Kt[t>>>24&255]^qt[255&r]^Yt[r>>>8&255]^Gt[r>>>16&255]^Ht[r>>>24&255]}}for(;n<r;n++)e=e>>>8^Ht[255&(e^t[n])];this.o=e}get(){return~this.o}}class te extends TransformStream{constructor(){let t;const e=new Qt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function ee(t){if(typeof TextEncoder==U){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const re=64,ne=20,oe=new Uint8Array([128]),ie=new Uint8Array(1),ae=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),se=new Uint8Array(256),ce=new Int32Array(256),ue=new Int32Array(256),le=new Int32Array(256),fe=new Int32Array(256);let de=!1;function we(t,e){!function(){if(!de){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),se[t]=255&(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)}while(1!=t);se[0]=99;for(let t=0;t<256;t++){const e=se[t],r=ye(e),n=r<<24|e<<16|e<<8|r^e;ce[t]=n,ue[t]=n>>>8|n<<24,le[t]=n>>>16|n<<16,fe[t]=n>>>24|n<<8}de=!0}}();const r=new Int32Array(60),n=function(t,e){const r=t.length>>2,n=r+6,o=4*(n+1);let i=1;for(let n=0;n<r;n++)e[n]=t[4*n]<<24|t[4*n+1]<<16|t[4*n+2]<<8|t[4*n+3];for(let t=r;t<o;t++){let n=e[t-1];t%r==0?(n=he(n<<8|n>>>24)^i<<24,i=ye(i)):r>6&&t%r==4&&(n=he(n)),e[t]=e[t-r]^n}return n}(t,r),o=new Int32Array(4),i=pe(e);let a=0,s=0,c=0,u=0;return{process(t,e){e&&i.update(t,0,t.length),function(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=t.length;let n=0;for(;n+16<=r;n+=16)l(),e.setInt32(n,e.getInt32(n)^o[0]),e.setInt32(n+4,e.getInt32(n+4)^o[1]),e.setInt32(n+8,e.getInt32(n+8)^o[2]),e.setInt32(n+12,e.getInt32(n+12)^o[3]);if(n<r){l();for(let e=0;n<r;n++,e++)t[n]^=o[e>>2]>>>24-8*(3&e)}}(t),e||i.update(t,0,t.length)},digest:()=>i.digest()};function l(){a=a+1|0,a||(s=s+1|0,s||(c=c+1|0,c||(u=u+1|0)));let t=me(a)^r[0],e=me(s)^r[1],i=me(c)^r[2],l=me(u)^r[3],f=ce[t>>>24]^ue[e>>>16&255]^le[i>>>8&255]^fe[255&l]^r[4],d=ce[e>>>24]^ue[i>>>16&255]^le[l>>>8&255]^fe[255&t]^r[5],w=ce[i>>>24]^ue[l>>>16&255]^le[t>>>8&255]^fe[255&e]^r[6],p=ce[l>>>24]^ue[t>>>16&255]^le[e>>>8&255]^fe[255&i]^r[7];t=ce[f>>>24]^ue[d>>>16&255]^le[w>>>8&255]^fe[255&p]^r[8],e=ce[d>>>24]^ue[w>>>16&255]^le[p>>>8&255]^fe[255&f]^r[9],i=ce[w>>>24]^ue[p>>>16&255]^le[f>>>8&255]^fe[255&d]^r[10],l=ce[p>>>24]^ue[f>>>16&255]^le[d>>>8&255]^fe[255&w]^r[11],f=ce[t>>>24]^ue[e>>>16&255]^le[i>>>8&255]^fe[255&l]^r[12],d=ce[e>>>24]^ue[i>>>16&255]^le[l>>>8&255]^fe[255&t]^r[13],w=ce[i>>>24]^ue[l>>>16&255]^le[t>>>8&255]^fe[255&e]^r[14],p=ce[l>>>24]^ue[t>>>16&255]^le[e>>>8&255]^fe[255&i]^r[15],t=ce[f>>>24]^ue[d>>>16&255]^le[w>>>8&255]^fe[255&p]^r[16],e=ce[d>>>24]^ue[w>>>16&255]^le[p>>>8&255]^fe[255&f]^r[17],i=ce[w>>>24]^ue[p>>>16&255]^le[f>>>8&255]^fe[255&d]^r[18],l=ce[p>>>24]^ue[f>>>16&255]^le[d>>>8&255]^fe[255&w]^r[19],f=ce[t>>>24]^ue[e>>>16&255]^le[i>>>8&255]^fe[255&l]^r[20],d=ce[e>>>24]^ue[i>>>16&255]^le[l>>>8&255]^fe[255&t]^r[21],w=ce[i>>>24]^ue[l>>>16&255]^le[t>>>8&255]^fe[255&e]^r[22],p=ce[l>>>24]^ue[t>>>16&255]^le[e>>>8&255]^fe[255&i]^r[23],t=ce[f>>>24]^ue[d>>>16&255]^le[w>>>8&255]^fe[255&p]^r[24],e=ce[d>>>24]^ue[w>>>16&255]^le[p>>>8&255]^fe[255&f]^r[25],i=ce[w>>>24]^ue[p>>>16&255]^le[f>>>8&255]^fe[255&d]^r[26],l=ce[p>>>24]^ue[f>>>16&255]^le[d>>>8&255]^fe[255&w]^r[27],f=ce[t>>>24]^ue[e>>>16&255]^le[i>>>8&255]^fe[255&l]^r[28],d=ce[e>>>24]^ue[i>>>16&255]^le[l>>>8&255]^fe[255&t]^r[29],w=ce[i>>>24]^ue[l>>>16&255]^le[t>>>8&255]^fe[255&e]^r[30],p=ce[l>>>24]^ue[t>>>16&255]^le[e>>>8&255]^fe[255&i]^r[31],t=ce[f>>>24]^ue[d>>>16&255]^le[w>>>8&255]^fe[255&p]^r[32],e=ce[d>>>24]^ue[w>>>16&255]^le[p>>>8&255]^fe[255&f]^r[33],i=ce[w>>>24]^ue[p>>>16&255]^le[f>>>8&255]^fe[255&d]^r[34],l=ce[p>>>24]^ue[f>>>16&255]^le[d>>>8&255]^fe[255&w]^r[35],f=ce[t>>>24]^ue[e>>>16&255]^le[i>>>8&255]^fe[255&l]^r[36],d=ce[e>>>24]^ue[i>>>16&255]^le[l>>>8&255]^fe[255&t]^r[37],w=ce[i>>>24]^ue[l>>>16&255]^le[t>>>8&255]^fe[255&e]^r[38],p=ce[l>>>24]^ue[t>>>16&255]^le[e>>>8&255]^fe[255&i]^r[39];let h=40;n>10&&(t=ce[f>>>24]^ue[d>>>16&255]^le[w>>>8&255]^fe[255&p]^r[40],e=ce[d>>>24]^ue[w>>>16&255]^le[p>>>8&255]^fe[255&f]^r[41],i=ce[w>>>24]^ue[p>>>16&255]^le[f>>>8&255]^fe[255&d]^r[42],l=ce[p>>>24]^ue[f>>>16&255]^le[d>>>8&255]^fe[255&w]^r[43],f=ce[t>>>24]^ue[e>>>16&255]^le[i>>>8&255]^fe[255&l]^r[44],d=ce[e>>>24]^ue[i>>>16&255]^le[l>>>8&255]^fe[255&t]^r[45],w=ce[i>>>24]^ue[l>>>16&255]^le[t>>>8&255]^fe[255&e]^r[46],p=ce[l>>>24]^ue[t>>>16&255]^le[e>>>8&255]^fe[255&i]^r[47],h=48),n>12&&(t=ce[f>>>24]^ue[d>>>16&255]^le[w>>>8&255]^fe[255&p]^r[48],e=ce[d>>>24]^ue[w>>>16&255]^le[p>>>8&255]^fe[255&f]^r[49],i=ce[w>>>24]^ue[p>>>16&255]^le[f>>>8&255]^fe[255&d]^r[50],l=ce[p>>>24]^ue[f>>>16&255]^le[d>>>8&255]^fe[255&w]^r[51],f=ce[t>>>24]^ue[e>>>16&255]^le[i>>>8&255]^fe[255&l]^r[52],d=ce[e>>>24]^ue[i>>>16&255]^le[l>>>8&255]^fe[255&t]^r[53],w=ce[i>>>24]^ue[l>>>16&255]^le[t>>>8&255]^fe[255&e]^r[54],p=ce[l>>>24]^ue[t>>>16&255]^le[e>>>8&255]^fe[255&i]^r[55],h=56),o[0]=(se[f>>>24]<<24|se[d>>>16&255]<<16|se[w>>>8&255]<<8|se[255&p])^r[h],o[1]=(se[d>>>24]<<24|se[w>>>16&255]<<16|se[p>>>8&255]<<8|se[255&f])^r[h+1],o[2]=(se[w>>>24]<<24|se[p>>>16&255]<<16|se[f>>>8&255]<<8|se[255&d])^r[h+2],o[3]=(se[p>>>24]<<24|se[f>>>16&255]<<16|se[d>>>8&255]<<8|se[255&w])^r[h+3]}}function pe(t){const e=function(){const t=new Int32Array(ae),e=new Int32Array(16),r=new Uint8Array(re),n=new DataView(r.buffer),o=new Uint8Array(8);let i=0,a=0;return{update:s,digest:function(){const e=8*a,r=Math.floor(e/4294967296),n=e>>>0;for(s(oe,0,1);56!=i;)s(ie,0,1);o[0]=r>>>24,o[1]=r>>>16,o[2]=r>>>8,o[3]=r,o[4]=n>>>24,o[5]=n>>>16,o[6]=n>>>8,o[7]=n,s(o,0,8);const c=new Uint8Array(ne),u=new DataView(c.buffer);for(let e=0;e<t.length;e++)u.setInt32(4*e,t[e]);return t.set(ae),i=0,a=0,c}};function s(t,e,o){const s=e+o;if(a+=o,i){for(;e<s&&i<re;)r[i++]=t[e++];i==re&&(c(n,0),i=0)}if(e+re<=s){const r=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;e+re<=s;e+=re)c(r,e)}for(;e<s;)r[i++]=t[e++]}function c(r,n){for(let t=0;t<16;t++)e[t]=r.getInt32(n+4*t);let o,i=t[0],a=t[1],s=t[2],c=t[3],u=t[4];for(let t=0;t<15;t+=5)u=(i<<5|i>>>27)+((s^c)&a^c)+u+1518500249+e[t]|0,a=a<<30|a>>>2,c=(u<<5|u>>>27)+((a^s)&i^s)+c+1518500249+e[t+1]|0,i=i<<30|i>>>2,s=(c<<5|c>>>27)+((i^a)&u^a)+s+1518500249+e[t+2]|0,u=u<<30|u>>>2,a=(s<<5|s>>>27)+((u^i)&c^i)+a+1518500249+e[t+3]|0,c=c<<30|c>>>2,i=(a<<5|a>>>27)+((c^u)&s^u)+i+1518500249+e[t+4]|0,s=s<<30|s>>>2;u=(i<<5|i>>>27)+((s^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^s)&i^s)+c+1518500249+o|0,i=i<<30|i>>>2,o=e[14]^e[9]^e[3]^e[1],o=o<<1|o>>>31,e[1]=o,s=(c<<5|c>>>27)+((i^a)&u^a)+s+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=(s<<5|s>>>27)+((u^i)&c^i)+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,i=(a<<5|a>>>27)+((c^u)&s^u)+i+1518500249+o|0,s=s<<30|s>>>2;for(let t=20;t<40;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=(i<<5|i>>>27)+(a^s^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)+(i^a^s)+c+1859775393+o|0,i=i<<30|i>>>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,s=(c<<5|c>>>27)+(u^i^a)+s+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=(s<<5|s>>>27)+(c^u^i)+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,i=(a<<5|a>>>27)+(s^c^u)+i+1859775393+o|0,s=s<<30|s>>>2;for(let t=40;t<60;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=(i<<5|i>>>27)+(a&s|(a|s)&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)+(i&a|(i|a)&s)+c+2400959708+o|0,i=i<<30|i>>>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,s=(c<<5|c>>>27)+(u&i|(u|i)&a)+s+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=(s<<5|s>>>27)+(c&u|(c|u)&i)+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,i=(a<<5|a>>>27)+(s&c|(s|c)&u)+i+2400959708+o|0,s=s<<30|s>>>2;for(let t=60;t<80;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=(i<<5|i>>>27)+(a^s^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)+(i^a^s)+c+3395469782+o|0,i=i<<30|i>>>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,s=(c<<5|c>>>27)+(u^i^a)+s+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=(s<<5|s>>>27)+(c^u^i)+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,i=(a<<5|a>>>27)+(s^c^u)+i+3395469782+o|0,s=s<<30|s>>>2;t[0]=t[0]+i|0,t[1]=t[1]+a|0,t[2]=t[2]+s|0,t[3]=t[3]+c|0,t[4]=t[4]+u|0}}(),r=new Uint8Array(re),n=new Uint8Array(re);t.length>re&&(e.update(t,0,t.length),t=e.digest());for(let e=0;e<re;e++){const o=e<t.length?t[e]:0;r[e]=54^o,n[e]=92^o}return e.update(r,0,re),{update(t,r,n){e.update(t,r,n)},digest(){const t=e.digest();e.update(n,0,re),e.update(t,0,ne);const o=e.digest();return e.update(r,0,re),o}}}function he(t){return se[t>>>24]<<24|se[t>>>16&255]<<16|se[t>>>8&255]<<8|se[255&t]}function me(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function ye(t){return 255&(t<<1^27*(t>>7))}const be=typeof crypto!=U&&typeof crypto.getRandomValues==C,Ee="Invalid password",Se="Invalid authentication code",ge="zipjs-abort-check-password",Ae="Crypto API not supported";function Re(t){if(be)return crypto.getRandomValues(t);throw new Error(Ae)}const De={name:"PBKDF2"},xe=Object.assign({hash:{name:"HMAC"}},De),ze=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},De),Fe=["deriveBits"],Oe=[8,12,16],Ie=[16,24,32],Te=10,Ue=typeof crypto!=U,Ce=Ue&&crypto.subtle;let ke=Ue&&typeof Ce!=U&&typeof Ce.importKey==C&&typeof Ce.deriveBits==C,ve=we;class Me extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:o=!0}){super({start(){_e(this,t,e,r)},async transform(t,e){const r=this,{password:o,strength:i,l:a,ready:s}=r;o?(await async function(t,e,r,n){const o=await Pe(t,e,r,We(n,0,Oe[e])),i=We(n,Oe[e]);if(o[0]!=i[0]||o[1]!=i[1])throw Be(t),new Error(Ee)}(r,i,o,We(t,0,Oe[i]+2)),t=We(t,Oe[i]+2),n?(Be(r),e.error(new Error(ge))):a()):await s;const c=new Uint8Array(t.length-Te-(t.length-Te)%16);e.enqueue(je(r,t,c,0,Te,!0))},async flush(t){const{h:e,m:r,ready:n}=this;if(e){await n;const i=We(r,r.length-Te),a=new Uint8Array(We(r,0,r.length-Te));e.process(a,!0);const s=e.digest();let c=r.length<Te?1:0;for(let t=0;t<Te;t++)c|=s[t]^i[t];if(c&&o)throw new Error(Se);t.enqueue(a)}},cancel(){Be(this)}})}}class Ne extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){_e(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:o,l:i,ready:a}=r;let s=N;n?(s=await async function(t,e,r){const n=Re(new Uint8Array(Oe[e]));return Pt(n,await Pe(t,e,r,n))}(r,o,n),i()):await a;const c=new Uint8Array(s.length+t.length-t.length%16);c.set(s,0),e.enqueue(je(r,t,c,s.length,0,!1))},async flush(t){const{h:e,m:r,ready:n}=this;if(e){await n;const o=new Uint8Array(r);e.process(o,!1);const i=We(e.digest(),0,Te);t.enqueue(Pt(o,i))}},cancel(){Be(this)}})}}function _e(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.l=e),password:Le(e,r),strength:n-1,m:N})}function je(t,e,r,n,o,i){const{h:a,m:s}=t;s.length&&(e=Pt(s,e));const c=e.length-o,u=c-c%16;if(r=function(t,e){if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t}(r,n+u),u){const t=We(r,n,n+u);t.set(We(e,0,u)),a.process(t,i)}return t.m=We(e,u),r}function Be({h:t}){t&&t.dispose&&t.dispose()}async function Pe(t,e,r,n){t.password=null;const o=Ie[e],i=await async function(t,e,r){if(ke)try{const n=await Ce.importKey("raw",t,xe,!1,Fe);return new Uint8Array(await Ce.deriveBits(Object.assign({salt:e},ze),n,8*r))}catch{ke=!1}return function(t,e,r,n){const o=pe(t),i=new Uint8Array(n),a=new Uint8Array(e.length+4),s=new DataView(a.buffer);a.set(e);for(let t=1,r=0;r<n;t++,r+=ne){s.setUint32(e.length,t),o.update(a,0,a.length);let c=o.digest();const u=c.slice();for(let t=1;t<1e3;t++){o.update(c,0,ne),c=o.digest();for(let t=0;t<ne;t++)u[t]^=c[t]}i.set(u.subarray(0,Math.min(ne,n-r)),r)}return i}(t,e,0,r)}(r,n,2*o+2);return t.h=ve(We(i,0,o),We(i,o,2*o)),We(i,2*o)}function Le(t,e){return e===I?ee(t):e}function We(t,e,r){return t.subarray(e,r)}class Ze extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){He(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Ge(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw new Error(Ee);t=t.subarray(12)}n?e.error(new Error(ge)):e.enqueue(Ge(r,t))}})}}class Ve extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){He(this,t,e,r)},transform(t,e){const r=this;let n,o;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=Re(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Ye(r,e),0),o=12}else n=new Uint8Array(t.length),o=0;n.set(Ye(r,t),o),e.enqueue(n)}})}}function He(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),function(t,e,r){const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,S:new Qt(n[0]),A:new Qt(n[2])}),r)for(let e=0;e<r.length;e++)qe(t,r[e]);else for(let r=0;r<e.length;r++)qe(t,e.charCodeAt(r))}(t,e,r)}function Ge(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ke(t)^e[n],qe(t,r[n]);return r}function Ye(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ke(t)^e[n],qe(t,e[n]);return r}function qe(t,e){let[,r]=t.keys;t.S.append([e]);const n=~t.S.get();r=$e(Math.imul($e(r+Xe(n)),134775813)+1),t.A.append([r>>>24]);const o=~t.A.get();t.keys=[n,r,o]}function Ke(t){const e=2|t.keys[2];return Xe(Math.imul(e,1^e)>>>8)}function Xe(t){return 255&t}function $e(t){return 4294967295&t}function Je(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function Qe(t,e){t=Je(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=C||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function tr(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const er="Invalid codec definition",rr="Reserved compression method",nr="Invalid codec module",or="Compression method not supported",ir=[0,8,9,99],ar=new Map,sr=new Map;function cr(t={}){const{compressionMethod:r,format:n,codecURI:o,CompressionStream:i,DecompressionStream:a,versionNeeded:s}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=v||!n.length)throw new Error(er);if(ir.includes(r))throw new Error(rr);const c=typeof i==C||typeof a==C;if(!(c||typeof o==v&&o.length))throw new Error(er);ar.set(r,{compressionMethod:r,format:n,codecURI:o,versionNeeded:s}),c&&wr(n,{CompressionStream:i,DecompressionStream:a})}function ur(t){const e=ar.get(t);if(e){let r;ar.delete(t),ar.forEach(t=>r=r||t.format==e.format),r||sr.delete(e.format)}}function lr(t){return ar.get(t)}function fr(){return Array.from(ar.values(),t=>Object.assign({},t,sr.get(t.format)))}function dr(t){return sr.get(t)}function wr(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=C&&typeof n!=C)throw new Error(nr);sr.set(t,{CompressionStream:r,DecompressionStream:n})}const pr="Invalid uncompressed size",hr="Invalid compressed data",mr="Invalid CRC32",yr="deflate-raw",br="deflate64-raw",Er="gzip",Sr=[31,139,8];class gr extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:o,encrypted:i,useCompressionStream:a,zipCrypto:s,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:d,inputSize:w}=t,p=this;let h,m,y,b=super.readable;const E=f&&dr(f),S=function(t,e,r){return t&&e?e:r&&r.R?r:void 0}(a,n,r),g=c&&o&&!l&&!E&&(!i||s)&&Boolean(S);if(i&&!s||!c||g||(h=new te,b=Tr(b,h)),o)if(E)b=Ur(b,Or(E.CompressionStream,f,{level:u,chunkSize:e,compressionMethod:d,uncompressedSize:w}));else if(g)y=new Ar,b=Ur(b,new S(Er,{level:u,chunkSize:e})),b=Tr(b,y);else try{b=Ir(b,a,{level:u,chunkSize:e},n,r)}catch(t){let e;try{e=new n(Er)}catch{throw t}b=Ur(b,e),b=Tr(b,new Ar)}i&&(s?b=Tr(b,new Ve(t)):(m=new Ne(t),b=Tr(b,m))),Fr(p,b,()=>{i&&!s||!c||(p.crc32=g?y.crc32:new DataView(h.value.buffer).getUint32(0))})}}class Ar extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const o=r.length+t.length;if(o<=8)return void(r=Pt(r,t));const i=o-8,a=Math.min(i,r.length);n.enqueue(Pt(r.subarray(0,a),t.subarray(0,i-a))),r=Pt(r.subarray(a),t.subarray(i-a))},flush(){const e=Wt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Rr extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:a,crc32:s,compressed:c,useCompressionStream:u,deflate64:l,format:f,compressionMethod:d,rawBitFlag:w,outputSize:p}=t;let h,m,y,b=super.readable;if(i&&(o?b=Tr(b,new Ze(t)):(m=new Me(t),b=Tr(b,m))),c){const t=f&&dr(f);if(t)b=Ur(b,Or(t.DecompressionStream,f,{chunkSize:e,compressionMethod:d,rawBitFlag:w,uncompressedSize:p}));else try{b=Ir(b,u,{chunkSize:e,deflate64:l},n,r)}catch(t){if(l||p===I)throw t;let e;try{e=new n(Er)}catch{throw t}y=new Qt,b=function(t,e,r,n){let o,i,a,s=0,c=!1;const u=new Promise((t,e)=>{i=t,a=e});u.catch(()=>{}),r||i();const l=new TransformStream({start(t){const e=new Uint8Array(10);e.set(Sr),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,d();try{await u}finally{w()}const e=new Uint8Array(8),o=Wt(e);o.setUint32(0,n.get(),!0),o.setUint32(4,r,!0),t.enqueue(e)},cancel(t){a(t)}}),f=new TransformStream({transform(t,e){n.append(t),s+=t.length,s>=r?i():c&&d(),e.enqueue(t)},cancel(t){a(t)}});return t=Tr(t,l),Tr(t=Ur(t,e),f);function d(){w(),o=setTimeout(()=>a(new Error(pr)),5e3)}function w(){clearTimeout(o)}}(b,e,p,y)}b=function(t){const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=new Error(hr);throw e.cause=t,e}const{value:n,done:o}=r;o?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}(b)}a&&!y&&(h=new te,b=Tr(b,h)),Fr(this,b,()=>{if(a){const t=y?y.get()>>>0:new DataView(h.value.buffer).getUint32(0,!1);if(s!=t)throw new Error(mr)}})}}const Dr=new Map;function xr(t,e){if(!t)return!1;let r=Dr.get(t);r||(r=new Map,Dr.set(t,r));let n=r.get(e);if(n===I){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function zr(t){return xr(t,yr)}function Fr(t,e,r){e=Tr(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Or(t,e,r){if(!t)throw new Error(or);return new t(e,r)}function Ir(t,e,r,n,o){const i=e&&n?n:o||n,a=r.deflate64?br:yr;let s;try{s=new i(a,r)}catch(t){if(!e||!o||i==o)throw t;s=new o(a,r)}return Ur(t,s)}function Tr(t,e){return Je(t).pipeThrough(e)}function Ur(t,e){const r=e.writable.getWriter(),n=t.getReader();return async function(){try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(r,t),await async function(t,e){try{await t.cancel(e)}catch{}}(n,t)}}(),e.readable}const Cr="data",kr="deflate",vr="inflate";class Mr extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let o;n.startsWith(kr)?o=gr:n.startsWith(vr)&&(o=Rr),r.outputSize=0;let i=0;const a=new o(t,e),s=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(i+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:i})}}),u=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==I&&r.outputSize>t.outputSize))throw new Error(pr)},flush(){const{crc32:t}=a;Object.assign(r,{crc32:t,inputSize:i})}});Object.defineProperty(r,"readable",{get:()=>s.pipeThrough(c).pipeThrough(a).pipeThrough(u)})}}class Nr extends TransformStream{constructor(t){const e=[];let r=0,n=0;function o(){const n=new Uint8Array(t);let o=0;for(;o<t;){const r=e[0],i=t-o;r.length<=i?(n.set(r,o),o+=r.length,e.shift()):(n.set(r.subarray(0,i),o),e[0]=r.subarray(i),o+=i)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(i,a){for(e.push(i),r+=i.length;r>t;)n+=t,a.enqueue(o())},flush(t){r&&(n+=r,t.enqueue(function(t,e){const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r}(e,r)))}}),Object.defineProperty(this,"outputSize",{get:()=>n})}}const _r="Worker startup timeout";let jr,Br,Pr,Lr=()=>{};async function Wr(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;return!(!r||r.R)||!(!zr(e)&&(n=e,!xr(n,Er)))||!!r&&await Zr(t);var n}async function Zr(t){if(Lr)try{return await Lr(t),!0}catch{}return!1}function Vr(t){t.createWorker?Br=!0:jr=!1}class Hr{constructor(t,{readable:e,writable:r},n,o){const{options:i,config:a,D:s,useWebWorkers:c,transferStreams:u,workerURI:l}=n;let{createWorker:f}=n;const{signal:d}=s;return Br&&(f=I),Object.assign(t,{F:!0,O:(t.O||0)+1,readable:e.pipeThrough(new Nr(Ct(a))).pipeThrough(new Gr(s),{signal:d}),writable:r,options:Object.assign({},i),I:n,workerURI:l,createWorker:f,transferStreams:u,terminate:()=>new Promise(e=>{const{T:r,F:n}=t;n?(t.U=t.U||[],t.U.push(e)):(r&&(r.terminate(),t.T=null),e()),t.C=null}),v(){if(t.F){const{U:e,T:r}=t;e&&(t.U=null,r&&(t.M=!0,r.terminate())),t.F=!1;const n=o(t);e&&e.forEach(t=>t(n))}}}),jr===I&&(jr=typeof Worker!=U),(c&&Pr&&(jr&&l||f)?Pr:qr)(t,a)}}class Gr extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let o=0;super({async start(){t&&await Yr(t,r)},async transform(t,n){o+=t.length,e&&await Yr(e,o,r),n.enqueue(t)},async flush(){n&&await Yr(n,o)}})}}async function Yr(t,...e){try{await t(...e)}catch{}}function qr(t,e){return{run:()=>Kr(t,e)}}async function Kr({options:t,readable:e,writable:r,v:n,I:o},i){let a,s,c;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(kr),r=e?i.CompressionStreamFallback:i.DecompressionStreamFallback,n=e?i.CompressionStream:i.DecompressionStream;t.useCompressionStream?r&&r.R&&!zr(n)&&await u():await u()||r&&!r.R||(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await u(),a=new Mr(t,i),s=new Nr(Ct(i)),await e.pipeThrough(a).pipeThrough(s).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:c}=a;return{crc32:n,inputSize:o,outputSize:c}}catch(t){if(a){const e=s?s.outputSize:0;if(o.outputSize=e,Zt(t))try{t.outputSize=e}catch{}}throw t}finally{n()}function u(){return c||(c=Zr(i)),c}}const Xr={type:"module"},$r="error";let Jr,Qr,tn,en=!0;try{en=typeof structuredClone==C&&structuredClone(new DOMException("","AbortError")).code!==I}catch{}var rn;function nn(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function on(t){const{T:e}=t;if(e)try{e.terminate()}catch{}t.C=null}function an(t,e,r,n,o=!0){const{createWorker:i}=r;let a,s,c;if(i)a=i();else if(Qr===I||Jr!==t){const i=typeof t==C;s=i?t(o):t;const u=s.startsWith("data:"),l=s.startsWith("blob:");if(u||l){n===I&&(n=!1),n&&(c=Xr);try{a=new Worker(s,c)}catch(o){if(l)try{URL.revokeObjectURL(s)}catch{}if(i&&l)return an(t,e,r,n,!1);if(n)throw o;return an(t,e,r,!0,!1)}}else{n===I&&(n=!0),n&&(c=Xr);try{s=new URL(s,e)}catch{}try{a=new Worker(s,c)}catch(i){if(n)return an(t,e,r,!1,o);throw i}}Jr=t,Qr=s,tn=c}else a=new Worker(Qr,tn);return a.addEventListener("message",t=>{r.N=!0,sn(r),async function({data:t},e){const{type:r,value:n,messageId:o,result:i,error:a,errorValue:s}=t,{reader:c,writer:u,_:l,j:f,v:d,O:w}=e,p=()=>e.O!=w;try{if(a)h(function(t,e){const{message:r,stack:n,code:o,name:i,outputSize:a,cause:s,codecImportFailed:c}=t;let u;if(e?u=e.value:(u=Object.assign(new Error(r),{stack:n,code:o,name:i}),s&&(u.cause=Object.assign(new Error(s.message),{name:s.name}))),Zt(u))try{a!==I&&(u.outputSize=a),c&&(u.codecImportFailed=!0),e&&(u.name!==i&&(u.name=i),u.code!==o&&(u.code=o))}catch{}return u}(a,s));else{if("pull"==r){const{value:t,done:r}=await c.read();p()||un({type:Cr,value:t,done:r,messageId:o},e)}if(r==Cr){const t=new Uint8Array(n);await u.ready,await u.write(t),p()||un({type:"ack",messageId:o},e)}"close"==r&&function(t){p()||(l(t),m(),d())}(i)}}catch(a){p()||(on(e),h(a))}function h(t){p()||(f(t),m(),Zt(t)&&t.codecImportFailed||d())}function m(){u&&u.releaseLock()}}(t,r)}),a.addEventListener($r,t=>cn(t,r)),a.addEventListener("messageerror",t=>cn(t,r)),a}function sn(t){const{B:e}=t;e&&(clearTimeout(e),t.B=null)}function cn(t,e){t.preventDefault&&t.preventDefault(),sn(e);const{N:r,j:n,writer:o,v:i}=e;on(e),r||(e.T=null);let a=t.error||new Error(t.message||$r);r||(a=Object.assign(new Error(a.message||$r),{P:!0}),e.L=a),n&&(n(a),o&&o.releaseLock(),r&&i())}function un(t,{T:e,writer:r,transferStreams:n,N:o}){try{const{value:r,readable:i,writable:a}=t,s=[];if(r&&(t.value=Lt(r),s.push(t.value.buffer)),n&&en&&o?(i&&s.push(i),a&&s.push(a)):t.readable=t.writable=null,s.length)try{return e.postMessage(t,s),!0}catch{en=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}rn=function(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:o}=e;let{wasmURI:i}=e;if(!t.C){let a;typeof i==C&&(i=i());try{a=an(t.workerURI,r,t)}catch{return Vr(t),qr(t,e)}Object.assign(t,{T:a,N:!1,M:!1,L:null,C:{run:async()=>{try{return await async function(t,e){if(!t.T){const{L:e}=t;t.L=null;const r=e||new Error(_r);throw r.P=!0,r}let r,n;const o=new Promise((e,o)=>{r=e,n=e=>{const{outputSize:r,I:n}=t;if(n.outputSize=r,Zt(e))try{e.outputSize=r}catch{}o(e)}});Object.assign(t,{reader:null,writer:null,outputSize:0,W:!1,Z:null,_:r,j:n,result:o});const{readable:i,options:a}=t,{writable:s,closed:c,V:u}=function(t,e){const r=new AbortController;let n;const{writable:o,readable:i}=new TransformStream({transform(t,r){e.outputSize+=t.length,r.enqueue(t)}}),a=i.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:r.signal});return a.catch(t=>{n||Object.assign(e,{W:!0,Z:t})}),{writable:o,closed:a,V:()=>{n=!0,r.abort()}}}(t.writable,t);let l;try{l=un({type:"start",options:a,config:e,readable:i,writable:s},t)}catch(e){u();try{await c}catch{}throw t.v(),e}l||Object.assign(t,{reader:i.getReader(),writer:s.getWriter()});const{workerStartupTimeout:f}=e;!t.N&&Number.isFinite(f)&&f>=0&&(t.B=setTimeout(()=>function(t){if(t.B=null,t.N)return;const{j:e,writer:r}=t;if(on(t),t.T=null,e){const t=new Error(_r);t.P=!0,e(t),r&&r.releaseLock()}}(t),f));try{const t=await o;return await d(),await c,t}catch(e){await d(),u();try{await c}catch{}const{outputSize:r,I:n,W:o,Z:i}=t;n.outputSize=r;const a=Zt(e)&&(e.codecImportFailed||e.P),s=o&&!a?i:e;if(Zt(s))try{s.outputSize=r}catch{}throw s}async function d(){if(!l&&!s.locked)try{await s.getWriter().close()}catch{}}}(t,{chunkSize:n,wasmURI:i,baseURI:r,workerStartupTimeout:o})}catch(r){if(r&&r.P)return Vr(t),nn(t),Kr(t,e);if(r&&r.codecImportFailed){if(t.reader)return nn(t),Kr(t,e);t.v()}throw r}}}})}return t.C},Pr=rn;let ln=[];const fn=[];let dn,wn,pn=0;async function hn(t,e){const{options:r,config:n}=e,{transferStreams:o,useWebWorkers:i,useCompressionStream:a,compressed:s,checkCrc32:c,computeCrc32:u,encrypted:l,format:f,codecURI:d}=r,{workerURI:w,createWorker:p,maxWorkers:h}=n;f&&(d&&(r.codecURI=function(t,e){try{return new URL(t,e).toString()}catch{return t}}(d,n.baseURI)),await async function(t,e){!sr.has(t)&&e&&wr(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))}(f,r.codecURI)),e.transferStreams=!f&&(o||o===I&&n.transferStreams);const m=!(s||c||u||l),y=f===I||Boolean(r.codecURI);return e.useWebWorkers=!m&&y&&(i||i===I&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:I,e.createWorker=e.useWebWorkers&&p?p:I,r.useCompressionStream=a||a===I&&n.useCompressionStream,(await async function(){const r=ln.find(t=>!t.F);if(r)return An(r),new Hr(r,t,e,b);if(ln.length<h){const r={H:pn};return pn++,ln.push(r),new Hr(r,t,e,b)}return new Promise(r=>{fn.push({resolve:r,stream:t,I:e}),wn=n.workerStarvationTimeout,mn()})}()).run();function b(t){if(yn(),t.M)return t.M=!1,En();if(fn.length){const[{resolve:e,stream:r,I:n}]=fn.splice(0,1);e(new Hr(t,r,n,b)),mn()}else t.T?(An(t),function(t,e){const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.G=setTimeout(async()=>{ln=ln.filter(e=>e!=t);try{await t.terminate()}catch{}},n))}(t,e)):ln=ln.filter(e=>e!=t)}}function mn(){!dn&&fn.length&&Number.isFinite(wn)&&wn>=0&&(dn=setTimeout(bn,wn))}function yn(){dn&&(clearTimeout(dn),dn=null)}function bn(){if(dn=null,fn.length){const[{resolve:t,stream:e,I:r}]=fn.splice(0,1);t(new Hr({},e,Sn(r),gn)),mn()}}function En(){const t=fn.splice(0).map(({resolve:t,stream:e,I:r})=>new Promise(n=>{t(new Hr({},e,Sn(r),()=>{gn(),n()}))}));return yn(),Promise.all(t)}function Sn(t){return Object.assign({},t,{useWebWorkers:!1,workerURI:I,createWorker:I})}function gn(){yn(),mn()}function An(t){const{G:e}=t;e&&(clearTimeout(e),t.G=null)}const Rn="\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 Dn(t,e){return zn(t,e,!0)}function xn(t){if(!t.some(t=>t>127))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode(t),!0}catch{return!1}}function zn(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let r=0;r<t.length;r++)e+=Rn[t[r]];return e}(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const Fn="HTTP error ",On="HTTP Range not supported",In="HTTP resource changed",Tn="Writer iterator completed too soon",Un="Writer not initialized",Cn="Invalid writer (size must be writable)",kn="Content-Range",vn="Range",Mn="GET",Nn="bytes",_n=16777216,jn="writable",Bn=Symbol();class Pn{constructor(){this.size=0}init(){this.initialized=!0}}class Ln extends Pn{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=Ct(Ut())}={}){const n=this;let o=0;return r=kt(r),new ReadableStream({async pull(i){const a=e===I?r:Math.min(r,e-o),s=await Oo(n,t+o,a);s.length&&(i.enqueue(s),o+=s.length),(e!==I&&o>=e||!s.length&&a)&&i.close()}})}}class Wn extends Pn{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw new Error(Un);return t.writeUint8Array(Lt(e))}});Object.defineProperty(t,jn,{get:()=>e})}writeUint8Array(){}}class Zn extends Ln{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{Y:t,K:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{K:r,Y:n}=this,o=new Uint8Array(e),i=4*Math.floor(t/3),a=atob(n.substring(i+r,4*Math.ceil((t+e)/3)+r)),s=t-3*Math.floor(i/4);let c=0;for(let t=s;t<s+e&&t<a.length;t++)o[t-s]=a.charCodeAt(t),c++;return c<o.length?o.subarray(0,c):o}}class Vn extends Wn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",X:""})}writeUint8Array(t){const e=this;let r,n=e.X;const o=e.X.length;for(e.X="",r=0;r<3*Math.floor((o+t.length)/3)-o;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.X+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.X=n+e.X}getData(){return this.data+btoa(this.X)}}let Hn,Gn;class Yn extends Ln{constructor(t){super(),Object.assign(this,{$:t,size:t.size}),Gn||(Gn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();Hn=1==e}catch{Hn=!1}})())}createReadable(t){const{$:e,size:r}=this,{offset:n=0,size:o=r-n}=t||{};if(typeof e.stream==C){if(!n&&o>=r)return Je(e.stream());if(Hn)return Je(e.slice(n,n+o).stream())}return super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,o=!t&&n>=r.size?r.$:r.$.slice(t,n);let i=await o.arrayBuffer();return i.byteLength>e&&(i=i.slice(t,n)),new Uint8Array(i)}}class qn extends Pn{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,jn,{get:()=>r.writable}),e.contentType=t,e.J=Qe(r.readable,t),e.J.catch(()=>{})}getData(){return this.J}}class Kn extends Yn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}function Xn(t){let e=0;for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);n<128?e+=1:n<2048?e+=2:n<55296||n>=57344?e+=3:n<56320&&56320==(64512&t.charCodeAt(r+1))?(e+=4,r++):e+=3}return e}class $n extends qn{constructor(t){super(),Object.assign(this,{encoding:t,et:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,et:e}=this,r=await super.getData();return r.text&&e?r.text():function(t,e){return zn(t,e,!1)}(new Uint8Array(await r.arrayBuffer()),t)}}class Jn extends Ln{constructor(t,e){super(),to(this,t,e)}async init(){await eo(this,ho,lo),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:o}=e;if((r||n)&&o!==I){const{offset:r=0,size:n=o-r}=t||{};if(n>0&&r<o)return function(t,e,r){let n,o=e,i=0,a=r;return new ReadableStream({start:()=>s(),async pull(t){n||await s();const{value:e,done:r}=await n.read();if(r)throw new Error(On);const o=e.length>i?e.subarray(0,i):e;i-=o.length,a-=o.length,o.length&&t.enqueue(o),i||(await async function(){const t=n;n=I,await t.cancel()}(),a||t.close())},cancel:t=>n&&n.cancel(t)});async function s(){const e=Math.min(t.maximumRangeSize,a),r=await ho(Mn,t,co(t,o,e));if(206!=r.status)throw new Error(On);const s=no(r);if(s!==I&&s!=o)throw new Error(On);so(t,r),ao(t,r),o+=e,i=e,n=r.body.getReader()}}(e,r,Math.min(n,o-r))}return super.createReadable(t)}readUint8Array(t,e){return ro(this,t,e,ho,lo)}}class Qn extends Ln{constructor(t,e){super(),to(this,t,e)}async init(){await eo(this,mo,fo),super.init()}readUint8Array(t,e){return ro(this,t,e,mo,fo)}}function to(t,e,r){const{preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:i,combineSizeEocd:a,checkResourceChanges:s=!0,maximumRangeSize:c=_n,fetch:u}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:i,combineSizeEocd:a,checkResourceChanges:s,maximumRangeSize:c,fetch:u})}async function eo(t,e,r){const{url:n,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s}=t;if(function(t){const{baseURI:e}=Ut(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r}(n)&&(i||a)&&(typeof o==U||o)){const n=await e(Mn,t,co(t,s?-65557:void 0)),o=n.headers.get("Accept-Ranges");if(!(a||o&&o.toLowerCase()==Nn))throw new Error(On);{let o;s&&206==n.status&&(o=new Uint8Array(await n.arrayBuffer())),ao(t,n);const i=oo(n);i===I?await po(t,e,r):t.size=i,o&&o.length&&no(n)===t.size-o.length&&(t.nt=o)}}else await po(t,e,r)}async function ro(t,e,r,n,o){const{useRangeHeader:i,forceRangeRequests:a,nt:s,size:c,options:u}=t;if(i||a){if(e>=c||0===r)return N;{if(e+r>c&&(r=c-e),s&&e>=c-s.length){const t=e-(c-s.length);return s.slice(t,t+r)}const o=await n(Mn,t,co(t,e,r));if(206!=o.status)throw new Error(On);const i=no(o);if(i!==I&&i!=e)throw new Error(On);so(t,o),ao(t,o);const a=new Uint8Array(await o.arrayBuffer());if(a.length!=r)throw new Error(On);return a}}{const{data:n}=t;return n||await o(t,u),t.data.subarray(e,e+r)}}function no(t){const e=t.headers.get(kn);if(e){const t=Number(e.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t))return t}}function oo(t){const e=t.headers.get(kn);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function io({headers:t}){return{ot:t.get("Etag")||I,lastModified:t.get("Last-Modified")||I}}function ao(t,e){const{checkResourceChanges:r,it:n}=t;r&&!n&&206==e.status&&(t.it=io(e))}function so(t,e){const{checkResourceChanges:r,it:n,size:o}=t;if(r){const t=oo(e);if(t!==I&&o!==I&&t!=o)throw new Error(In);if(n){const t=io(e);if(Object.entries(n).some(([e,r])=>r!==I&&t[e]!==I&&r!=t[e]))throw new Error(In)}}}function co(t,e=0,r=1){return Object.assign({},uo(t),{[vn]:Nn+"="+(e<0?e:e+"-"+(e+r-1))})}function uo({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function lo(t){await wo(t,ho)}async function fo(t){await wo(t,mo)}async function wo(t,e){const r=await e(Mn,t,uo(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function po(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,uo(t)),o=n.headers.get("Content-Length");o&&!n.headers.get("Content-Encoding")?t.size=Number(o):await r(t,t.options)}}async function ho(t,{fetch:e=fetch,options:r,url:n},o){const i=await e(n,Object.assign({},r,{method:t,headers:o}));if(i.status>=200&&i.status<=299)return i;throw 416==i.status?new Error(On):new Error(Fn+(i.statusText||i.status))}function mo(t,{url:e},r){return new Promise((n,o)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status>=200&&i.status<=299){const t=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:i.status,arrayBuffer:()=>i.response,headers:new Map(t)})}else o(416==i.status?new Error(On):new Error(Fn+(i.statusText||i.status)))},!1),i.addEventListener("error",t=>o(t.detail?t.detail.error:new Error("Network error")),!1),i.open(t,e),r)for(const t of Object.entries(r))i.setRequestHeader(t[0],t[1]);i.responseType="arraybuffer",i.send()})}class yo extends Ln{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Qn(t,e):new Jn(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 bo extends yo{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Eo extends Ln{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{st:t,size:t.length})}readUint8Array(t,e){return this.st.slice(t,t+e)}}class So extends Wn{constructor(t){super(),this.ct=t||262144}init(t=0){Object.assign(this,{offset:0,st:new Uint8Array(t>0?t:this.ct)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.st.length){let t=e.st.length?2*e.st.length:e.ct;for(;t<r;)t*=2;const n=e.st;e.st=new Uint8Array(t),e.st.set(n)}e.st.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.st.length?this.st:this.st.slice(0,this.offset)}}class go extends Ln{constructor(t){super(),this.ut=t}async init(){const t=this;t.lt=0;const e=t.ut=await Promise.all(t.ut.map(Fo));t.ft=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}wt(t){const{ft:e,size:r}=this,n=e[t];return n===I?r:n}async readUint8Array(t,e){const r=this,{ut:n}=this;let o,i=0,a=t;for(;n[i]&&a>=n[i].size;)a-=n[i].size,i++;const s=n[i];if(s){const n=s.size;if(a+e<=n)o=await Oo(s,a,e);else{const i=n-a;o=Pt(await Oo(s,a,i),await r.readUint8Array(t+i,e-i))}}else o=N;return r.lt=Math.max(i,r.lt),o}}class Ao extends Pn{constructor(t,e=4294967295){super();const r=this;let n,o,i;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const a=new WritableStream({async write(e){if(e===Bn)return void(i&&await c());const{availableSize:a}=r;if(i)e.length>=a?(await s(e.subarray(0,a)),await c(),e.length>a&&await this.write(e.subarray(a))):await s(e);else{const{value:a,done:s}=await t.next();if(s&&!a)throw new Error(Tn);n=a,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await zo(n),o=a.writable,i=o.getWriter(),await this.write(e)}},async close(){i&&(await i.ready,await u())},async abort(t){i&&await i.abort(t)}});async function s(t){const e=t.length;e&&(await i.ready,await i.write(t),n.size+=e,r.availableSize-=e)}async function c(){await u(),r.diskOffset+=n.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function u(){await i.close()}Object.defineProperty(r,jn,{get:()=>a})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Bn)}finally{t.releaseLock()}}}class Ro{constructor(t){return Array.isArray(t)&&(t=new go(t)),(t instanceof ReadableStream||typeof t.getReader==C)&&(t={readable:Je(t)}),t}}class Do{constructor(t){t.writable===I&&typeof t.next==C&&(t=new Ao(t)),(t instanceof WritableStream||typeof t.getWriter==C)&&(t={writable:tr(t)});try{t.size=t.size===I?0:t.size}catch{throw new Error(Cn)}return t}}function xo(t){return Boolean(t&&t.getData)}async function zo(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function Fo(t){return t=new Ro(t),await zo(t),t.size!==I&&t.readUint8Array||(t=new Yn(await Qe(t.readable)),await zo(t)),t}function Oo(t,e,r){return t.readUint8Array(e,r)}function Io(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?Ln.prototype.createReadable.call(t,e):t.readable}function To(t,e,r){if(!t.some(t=>t.reason==e)){const n={reason:e};r!==I&&(n.filename=r),t.push(n)}}const Uo="filename",Co="rawFilename",ko="comment",vo="rawComment",Mo="uncompressedSize",No="compressedSize",_o="offset",jo="diskNumberStart",Bo="lastModDate",Po="rawLastModDate",Lo="lastAccessDate",Wo="rawLastAccessDate",Zo="creationDate",Vo="rawCreationDate",Ho="internalFileAttributes",Go="externalFileAttributes",Yo="msdosAttributesRaw",qo="msdosAttributes",Ko="msDosCompatible",Xo="zip64",$o="encrypted",Jo="version",Qo="versionMadeBy",ti="zipCrypto",ei="directory",ri="executable",ni="compressionMethod",oi="signature",ii="extraField",ai="unixMode",si="setuid",ci="setgid",ui="sticky",li=[Uo,Co,Mo,No,Bo,Po,ko,vo,Lo,Wo,Zo,Vo,_o,jo,Ho,Go,Yo,qo,Ko,Xo,$o,Jo,Qo,ti,ei,ri,"symlink",ni,oi,"crc32",ii,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ai,"unixExternalUpper",si,ci,ui,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class fi{constructor(t){li.forEach(e=>this[e]=t[e])}}const di=new Set([1,h,10,m,28789,25461,y,b,E,22613,13]);function wi(t,e,r){return t?e?12:16+4*r:0}const pi="File format is not recognized",hi="End of central directory not found",mi="End of Zip64 central directory locator not found",yi="Central directory header not found",bi="Local file header not found",Ei="Zip64 extra field not found",Si="File contains encrypted entry",gi="Encryption method not supported",Ai="Split zip file",Ri="Overlapping entry found",Di="Entry data out of bounds",xi="Ambiguous archive",zi="Encrypted central directory is not supported",Fi="Unsafe filename",Oi="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ii="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ti="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Ui="64-bit value exceeds Number.MAX_SAFE_INTEGER",Ci="unsorted central directory",ki="unknown version needed to extract",vi="compressed patched data",Mi="malformed extra field",Ni="unknown zip64 extensible data",_i="wrapped entries count",ji="appended data",Bi="prepended data",Pi="prepended central directory",Li="trailing central directory data",Wi="duplicate filename",Zi="mismatched zip64 end of central directory record",Vi="multiple end of central directory records",Hi="mismatched local file header (filename)",Gi="mismatched local file header (general purpose bit flag)",Yi="mismatched local file header (compression method)",qi="mismatched local file header (crc32 or sizes)",Ki=/^[a-zA-Z]:/,Xi=/(^|[\\/])\.\.([\\/]|$)/,$i="utf-8",Ji="cp437",Qi=[[Mo,t],[No,t],[_o,t],[jo,e]],ta={[e]:{ht:_a,bytes:4},[t]:{ht:ja,bytes:8}},ea=BigInt(Number.MAX_SAFE_INTEGER);class ra{constructor(t,e={}){Object.assign(this,{reader:new Ro(t),options:e,yt:{bt:new Set,Et:[],St:[]}})}async*getEntriesGenerator(n={}){const i=this;let{reader:a}=i;if(await zo(a),a.size!==I&&a.readUint8Array||(a=new Yn(await Qe(a.readable)),await zo(a)),a.size<d)throw new Error(pi);const c=i.warnings=[],h=Sa(n,i.options),m=h==rt,y=h!=ot,b=Ra(Ua(i,n,$),h),E=function(t,e){if(t===I)return e;if(!Ea(t))throw new Error(Ii);return t}(Ua(i,n,"filenameValidation"),h),S=Ua(i,n,"normalizeFilename"),{gt:z,At:F}=await Da(a,y,b);if(!z)throw await async function(t){return await ba(t)==o}(a)?new Error(Ai):new Error(hi);y&&F>1&&Ta(Vi);const O=Wt(z);let T=_a(O,12),U=_a(O,16);const C=z.offset,k=Na(O,20),v=C+d+k,M=a.size-v;M>b&&Ta(ji),M>0&&To(c,ji);let _=Na(O,4);const j=a.lt||0;let B,P,L,W,Z,V=Na(O,6),H=Na(O,10),G=0,Y=p;const q=U==t||T==t||H==e||V==e;if(U!=t&&V!=e&&(U+=ya(a,V)),q){const r=z.offset>=w?await Oo(a,z.offset-w,w):N,n=Wt(r);if(r.length==w&&_a(n,0)==l){U=ya(a,_a(n,4))+ja(n,8);let r=await Oo(a,U,p),o=Wt(r);const i=z.offset-w-p;if((r.length<p||_a(o,0)!=u)&&U!=i&&i>=0){const t=U;U=i,U>t&&(G=U-t),r=await Oo(a,U,p),o=Wt(r)}if(r.length<p||_a(o,0)!=u)throw new Error(mi);if(L=!0,W=ja(o,4)>44,W){const t=Math.min(ja(o,4)-44,a.size-U-p);t>0&&(Y+=t,Z=function(t){const e={rawExtensibleData:t};if(t.length>=28){const r=Wt(t),n=Na(r,26);Object.assign(e,{compressionMethod:Na(r,0),compressedSize:ja(r,2),uncompressedSize:ja(r,10),encryptionAlgorithm:Na(r,18),bitLength:Na(r,20),flags:Na(r,22),hashAlgorithm:Na(r,24),hashData:t.subarray(28,28+n)})}return e}(await Oo(a,U+p,t)))}_==e?_=_a(o,16):_!=_a(o,16)&&Ia(m,c,Zi),V==e?V=_a(o,20):V!=_a(o,20)&&Ia(m,c,Zi),H==e?H=ja(o,32):H!=ja(o,32)&&Ia(m,c,Zi),T==t?T=ja(o,40):T!=ja(o,40)&&Ia(m,c,Zi),U=ya(a,V)+ja(o,48)+G}}let K=T;const X=z.offset-(L?Y+w:0);if(U>=a.size&&(G=a.size-U-T-d,U=a.size-T-d),j!=_)throw new Error(Ai);if(U<0)throw new Error(pi);let J=0,Q=await Oo(a,U,T),nt=Wt(Q);if(T){if(Q.length<4)throw new Error(pi);const t=X-T;if(U!=t&&V==_){const e=_a(nt,J)==s||Boolean(Z&&Z.compressedSize)||aa(nt);let r=!e;if(!r&&t>=0&&t+4<=a.size&&(r=_a(Wt(await Oo(a,t,4)),0)==s),r){const r=U;U=t,U>r&&(G+=U-r,B=e),Q=await Oo(a,U,T),nt=Wt(Q)}}}const it=X-U;if(T!=it&&it>=0&&V==_&&(T=it,Q=await Oo(a,U,T),nt=Wt(Q)),U<0||U>=a.size)throw new Error(pi);i.directoryOffset=U,i.directoryLength=K;const at=Ca(i,n,"decryptCentralDirectory");let st,ct;if(at&&H&&Q.length>=4&&_a(nt,0)!=s&&(W||aa(nt))){const t=function(t,e,r){const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}(Z,K,Q.length);ct=Q.subarray(t),Q=await at(Q.subarray(0,t),Z),nt=Wt(Q),K=Q.length,st=!0}Z&&!st&&(Q.length<4||_a(nt,0)==s)&&To(c,Ni),P=U;const ut=Ua(i,n,"filenameEncoding"),lt=Ua(i,n,"commentEncoding"),ft=new Set;let dt,wt=-1;const pt=!m&&!L;!H&&pt&&(H=sa(nt,Q,J),H&&To(c,_i));for(let t=0;t<H;t++){const o=new ia(a,i.options);if(J+f>Q.length||_a(nt,J)!=s){if(0==t&&!st&&(W||aa(nt)))throw new Error(zi);throw new Error(yi)}ua(o,nt,J+6);const u=Boolean(o.bitFlag.languageEncodingFlag),l=J+f,d=l+o.filenameLength+o.extraFieldLength,w=Na(nt,J+4),p=!(w>>8),h=w>>8==3,m=Na(nt,J+32),y=d+m,b=new Uint8Array(Q.subarray(l,y)),z=b.subarray(0,o.filenameLength),F=b.subarray(o.filenameLength+o.extraFieldLength),O=u||!ut&&xn(z),T=u||!lt&&xn(F),U=_a(nt,J+38),C=U&r,k={readOnly:Boolean(1&C),hidden:Boolean(2&C),system:Boolean(4&C),directory:Boolean(16&C),archive:Boolean(32&C)},v=_a(nt,J+42),M=Ca(i,n,"decodeText")||Dn,N=O?$i:ut||Ji,_=T?$i:lt||Ji;let j=M(z,N,tt);if(j===I&&(j=Dn(z,N)),S){const t=S(j);t!==I&&(j=t)}if(Aa(j,E)){const t=new Error(Fi);throw t.filename=j,t}let B=M(F,_,et);B===I&&(B=Dn(F,_)),Object.assign(o,{index:t,Rt:st,versionMadeBy:w,msDosCompatible:p,zip64:!1,compressedSize:0,uncompressedSize:0,Dt:m,offset:v,diskNumberStart:Na(nt,J+34),internalFileAttributes:Na(nt,J+36),externalFileAttributes:U,msdosAttributesRaw:C,msdosAttributes:k,rawFilename:z,filenameUTF8:O,commentUTF8:T,rawExtraField:b.subarray(o.filenameLength,o.filenameLength+o.extraFieldLength),rawComment:F,filename:j,comment:B}),la(o,o,nt,J+6)&&To(c,Mi,j),o.offset+=G;const L=ya(a,o.diskNumberStart)+o.offset;P=Math.min(L,P),L<wt&&To(c,Ci,j),wt=L,(o.version&r)>63&&To(c,ki,j),32&~o.rawBitFlag||To(c,vi,j),ft.has(o.filename)&&(dt=!0),ft.add(o.filename);const Z=o.externalFileAttributes>>16&e;o.unixMode===I&&16877&Z&&(o.unixMode=Z);const V=Boolean(o.unixMode&R),Y=Boolean(o.unixMode&D),q=Boolean(512&o.unixMode),K=40960==((o.unixMode===I?Z:o.unixMode)&g),X=!K&&(o.unixMode!==I?!!(73&o.unixMode):h&&!!(73&Z)),$=o.unixMode!==I&&(o.unixMode&g)==A,rt=(Z&g)==A;Object.assign(o,{setuid:V,setgid:Y,sticky:q,symlink:K,unixExternalUpper:Z,executable:X,directory:$||rt||p&&k.directory||o.filename.endsWith(x),zipCrypto:o.encrypted&&!o.extraFieldAES});const ot=new fi(o);if(ot.getData=(t,e)=>o.getData(t,ot,i.yt,e),ot.arrayBuffer=async t=>{const e=new TransformStream,r=Qe(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await o.getData(e,ot,i.yt,Object.assign({},t,{preventClose:!1})),r},J=y,t==H-1&&pt){const t=sa(nt,Q,J);t&&(H+=t,To(c,_i))}const{onprogress:it}=n;if(it)try{await it(t+1,H,new fi(o))}catch{}yield ot}let ht=J,mt=ca(Q.subarray(J))||(st?ca(ct):I);if(!mt&&!st){const t=U+J,e=Math.min(X-t,65541);e>=6&&(mt=ca(await Oo(a,t,e)))}mt&&(i.digitalSignature=mt,ht=J+6+mt.length),(J!=K&&ht!=K||!st&&J!=T&&ht!=T)&&Ia(m,c,Li),dt&&Ia(m,c,Wi);const yt=Ua(i,n,"extractPrependedData"),bt=Ua(i,n,"extractAppendedData"),Et=(m||yt)&&H&&4==P&&await async function(t){const e=await ba(t);return e==o||808471376==e}(a)?4:0;return m&&(G||H&&P>Et)&&Ta(Bi),(G||H&&P>4)&&To(c,Bi),B&&To(c,Pi),yt&&(i.prependedData=P>Et?await Oo(a,Et,P-Et):N),i.comment=k?await Oo(a,C+d,k):N,bt&&(i.appendedData=v<a.size?await Oo(a,v,a.size-v):N),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[_](){return this.close()}}class na{constructor(t={}){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}}),o=new ra(r,t),i=o.getEntriesGenerator(),a=new Set;this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await i.next();if(e)return t.close();const n=function(t,e){const{readable:r,writable:n}=new TransformStream;let o;const i={cancel:async t=>{e.delete(i),await(o?o.cancel(t):r.cancel(t))}};return i.readable=new ReadableStream({async pull(a){o||(o=r.getReader(),e.add(i),async function(){try{await t.getData(n,{preventClose:!1})}catch(t){try{await n.abort(t)}catch{}}finally{e.delete(i)}}());const{done:s,value:c}=await o.read();s?a.close():a.enqueue(c)},cancel:t=>i.cancel(t)},{highWaterMark:0}),i}(r,a),o={...r,readable:n.readable};delete o.getData,Object.defineProperties(o,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),t.enqueue(o)},async cancel(t){const r=Array.from(a);a.clear(),e.error(t),await Promise.allSettled(r.map(e=>e.cancel(t))),await Promise.allSettled([i.return(),o.close()])}}),this.writable=n}}async function oa(t,e={}){if(t=new Ro(t),await zo(t),t.size!==I&&t.readUint8Array||(t=new Yn(await Qe(t.readable)),await zo(t)),t.size<d)return!1;const r=Sa(e,{}),n=r!=ot,o=Ra(e[$],r),{gt:i,At:a}=await Da(t,n,o);if(!i||r==rt&&a>1)return!1;const s=Na(Wt(i),20),c=i.offset+d+s;return t.size-c<=o}let ia=class{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,o,a={}){const s=this,c=Ut(),{reader:u,index:l,offset:f,diskNumberStart:d,extraFieldAES:w,extraFieldZip64:p,compressionMethod:h,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:E,uncompressedSize:S,compressedSize:g}=s,{dataDescriptor:A}=m,R=e.localDirectory={},D=e.warnings=[],x=ya(u,d)+f,F=await Oo(u,x,z),O=Wt(F);let T=Ua(s,a,j),U=Ua(s,a,B);const C=ht(Ua(s,a,P)),k=Boolean(C),v=!0===C;if(pt(T,U),T=T&&T.length&&T,U=U&&U.length&&U,w&&99!=w.originalCompressionMethod)throw new Error(or);if(F.length<z||_a(O,0)!=n)throw new Error(bi);ua(R,O,4);const{extraFieldLength:M,filenameLength:_}=R,G=R.dataOffset=x+z+_+M,Y=Ua(s,a,"checkLocalDirectory"),q=Sa(a,s.options),K=function(t,e){return t===I?e!=ot:Boolean(t)}(Y,q),X=Ua(s,a,"checkLocalFilename"),$=function(t,e){return t===I?e==rt:Boolean(t)}(X===I?Y:X,q);let J=N;if($&&(_||M)){const t=await Oo(u,x+z,_+M);J=t.subarray(0,_),R.rawExtraField=t.subarray(_)}else R.rawExtraField=M?await Oo(u,x+z+_,M):N;$&&(R.rawFilename=J),la(s,R,O,4,!0)&&To(D,Mi),function(t,e,r,n,o){const{rawFilename:i}=t,a=!o,s=t.Rt&&!(8192&~e.rawBitFlag);!n||s||r.length==i.length&&!r.some((t,e)=>t!=i[e])||Ia(a,o,Hi),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Ia(a,o,Gi),e.compressionMethod!=t.compressionMethod&&Ia(a,o,Yi),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Ia(a,o,qi)}(s,R,J,$,K?I:D);const{lastAccessDate:Q,creationDate:tt,uid:et,gid:nt}=R;Q&&(e.lastAccessDate=Q),tt&&(e.creationDate=tt),et!==I&&e.uid===I&&(e.uid=et),nt!==I&&e.gid===I&&(e.gid=nt);const it=Ua(s,a,"checkPasswordOnly"),at=s.encrypted&&R.encrypted&&(!v||it),st=at&&!w;if(v||(e.zipCrypto=st),at&&!(64&~R.rawBitFlag))throw new Error(gi);const ct=k?I:lr(h);if(0!=h&&8!=h&&9!=h&&!ct&&!k)throw new Error(or);if(at){if(!st&&(w.strength<1||w.strength>3))throw new Error(gi);if(!T&&!U)throw new Error(Si)}if(G+g>u.size)throw new Error(Di);const ut=g,lt=dt(Ua(s,a,L));wt(lt);let ft=Ua(s,a,"checkOverlappingEntry");const mt=Ua(s,a,"checkOverlappingEntryOnly");mt&&(ft=!0);const{onstart:yt,onprogress:bt,onend:Et}=a,St=0!=h&&!k,gt=k?g-wi(at,st,w&&w.strength):S,At=9==h;let Rt=Ua(s,a,Z);At&&(Rt=!1);const Dt=Ua(s,a,"checkCrc32"),xt=(Dt===I?Ua(s,a,"checkSignature"):Dt)&&!k&&(!at||st||w&&1==w.vendorVersion),zt={options:{codecType:vr,password:T,rawPassword:U,zipCrypto:st,encryptionStrength:w&&w.strength,checkCrc32:xt,checkAuthenticationCode:Ua(s,a,"checkAuthenticationCode"),passwordVerification:st&&(A?E>>>8&r:b>>>24&r),outputSize:gt,crc32:b,compressed:St,encrypted:at,useWebWorkers:Ua(s,a,W),useCompressionStream:Rt,transferStreams:Ua(s,a,V),deflate64:At,format:ct?ct.format:I,codecURI:ct?ct.codecURI:I,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:it},config:c,D:{signal:lt,size:ut,onstart:yt,onprogress:bt,onend:Et}};let Ft,Ot,It;ft&&await async function({reader:t,xt:e,index:r,offset:n,crc32:o,compressedSize:a,uncompressedSize:s,dataOffset:c,dataDescriptor:u,extraFieldZip64:l,yt:f}){let d=0;if(u&&(d=l?20:12),d){const r=await Oo(t,c+a,d+4),n=Wt(r);let u=r.length==d+4&&_a(n,0)==i;if(u){const t=ma(n,4,l);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==a&&t.uncompressedSize==s?d+=4:u=!1}if(r.length>=d){const t=ma(n,u?4:0,l);t.signature=u,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+a+d,xt:e},{bt:p,Et:h,St:m}=f;if(!p.has(r)){const t=function(t,e){let r=0,n=t.length;for(;r<n;){const o=r+n>>>1;t[o].start<e.start?r=o+1:n=o}const o=t[r-1],i=t[r];return o&&ha(e,o)?o:i&&ha(e,i)?i:void 0}(h,w)||m.find(t=>ha(w,t));if(t){const e=new Error(Ri);throw e.overlappingEntry=t.xt,e}p.add(r),m.push(w),m.length*m.length>h.length&&(m.sort((t,e)=>t.start-e.start),f.Et=function(t,e){const r=[];let n=0,o=0;for(;n<t.length||o<e.length;)o==e.length||n<t.length&&t[n].start<e[o].start?r.push(t[n++]):r.push(e[o++]);return r}(h,m),m.length=0)}}({reader:u,xt:e,index:l,offset:x,crc32:b,compressedSize:g,uncompressedSize:S,dataOffset:G,dataDescriptor:A||R.bitFlag.dataDescriptor,extraFieldZip64:p||R.extraFieldZip64,yt:o});try{if(!mt){it&&(t=new WritableStream),t=new Do(t),await zo(t,function(t,e,r){return Math.min(t,r?1032*e:e)}(gt,g,St)),({writable:Ft}=t);const e=Je(u.createReadable({offset:G,size:ut})),{outputSize:r}=await hn({readable:e,writable:Ft},zt);if(r!=gt)throw Object.assign(new Error(pr),{outputSize:r});t.size+=r}}catch(e){const{outputSize:r}=zt;if(r!==I?t.size+=r:Zt(e)&&e.outputSize!==I&&(t.size+=e.outputSize),!it||!Zt(e)||e.message!=ge)throw Ot=e,It=!0,e}finally{if((xo(t)||!Ua(s,a,H))&&Ft&&!Ft.locked){const t=Ft.getWriter();if(It)try{await t.abort(Ot)}catch{}else await t.close()}}return it||mt?I:t.getData?t.getData():Ft}};function aa(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==_a(t,r))return!0;return!1}function sa(t,e,r){let n=0;for(;r+f<=e.length&&_a(t,r)==s;)r+=f+Na(t,r+28)+Na(t,r+30)+Na(t,r+32),n++;return n%65536?0:n}function ca(t){if(t.length>=6){const e=Wt(t);if(_a(e,0)==a){const r=Na(e,4);if(6+r<=t.length)return new Uint8Array(t.subarray(6,6+r))}}}function ua(t,e,r){const n=t.rawBitFlag=Na(e,r+2),o=!(1&~n),i=_a(e,r+6);Object.assign(t,{encrypted:o,version:Na(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&S)==S},rawLastModDate:i,lastModDate:ka(i),filenameLength:Na(e,r+22),extraFieldLength:Na(e,r+24)})}function la(t,e,r,n,o){const{rawExtraField:i}=e,a=e.extraField=new Map,s=Wt(i);let c=0,u=!1;try{for(;c<i.length;){const t=Na(s,c),e=Na(s,c+2);a.set(t,{type:t,data:i.slice(c+4,c+4+e)}),c+=4+e}}catch{u=!0}c>i.length&&(u=!0);const l=Na(r,n+4);Object.assign(e,{signature:_a(r,n+10),crc32:_a(r,n+10),compressedSize:_a(r,n+14),uncompressedSize:_a(r,n+18)});const f=a.get(1);f&&(function(t,e){e.zip64=!0;const r=Wt(t.data),n=Qi.filter(([t,r])=>e[t]==r),o=n.reduce((t,[,e])=>t+ta[e].bytes,0);if(t.data.length<o)throw new Error(Ei);for(let o=0,i=0;o<n.length;o++){const[a,s]=n[o],c=ta[s];e[a]=t[a]=c.ht(r,i),i+=c.bytes}}(f,e),e.extraFieldZip64=f);const d=a.get(28789);d&&(fa(d,Uo,Co,e,t),e.extraFieldUnicodePath=d);const w=a.get(25461);w&&(fa(w,ko,vo,e,t),e.extraFieldUnicodeComment=w);const p=a.get(h);p&&p.data.length>=7?(function(t,e,r){const n=Wt(t.data),o=Ma(n,4);Object.assign(t,{vendorVersion:Ma(n,0),vendorId:Ma(n,2),strength:o,originalCompressionMethod:r,compressionMethod:Na(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=I)}(p,e,l),e.extraFieldAES=p):e.compressionMethod=l;const S=a.get(13);S&&(da(S,e),e.extraFieldPkwareUnix=S);const g=a.get(22613);g&&(da(g,e),e.extraFieldUnixType1=g);const A=a.get(10);A&&(function(t,e){const r=Wt(t.data);let n,o=4;try{for(;o<t.data.length&&!n;){const e=Na(r,o),i=Na(r,o+2);1==e&&(n=t.data.slice(o+4,o+4+i)),o+=4+i}}catch{}if(n&&24==n.length){const r=Wt(n),o=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:i,rawCreationDate:a});const s={lastModDate:va(o),lastAccessDate:va(i),creationDate:va(a)};Object.assign(t,s),Object.assign(e,s,{rawLastAccessDate:i,rawCreationDate:a})}}(A,e),e.extraFieldNTFS=A);const R=a.get(E);let D;if(R&&(D=wa(R,e,!1),e.extraFieldUnix=R),!D){const t=a.get(b);t&&(wa(t,e,!0),e.extraFieldInfoZip=t)}const x=a.get(m);x&&(function(t,e,r){if(!t.data.length)return;const n=Wt(t.data),o=Ma(n,0),i=[],a=[];r?(1&~o||(i.push(Bo),a.push(Po)),2&~o||(i.push(Lo),a.push(Wo)),4&~o||(i.push(Zo),a.push(Vo))):t.data.length>=5&&(i.push(Bo),a.push(Po));let s=1;i.forEach((r,o)=>{if(t.data.length>=s+4){const i=_a(n,s);e[r]=t[r]=new Date(1e3*(0|i));const c=a[o];t[c]=i}s+=4})}(x,e,o),e.extraFieldExtendedTimestamp=x);const z=a.get(y);return z&&(e.extraFieldUSDZ=z),u}function fa(t,e,r,n,o){if(t.data.length<5)return void(t.valid=!1);const i=Wt(t.data),a=new Qt;a.append(o[r]);const s=Wt(new Uint8Array(4));s.setUint32(0,a.get(),!0);const c=_a(i,1),u=Ma(i,0);Object.assign(t,{version:u,[e]:Dn(t.data.subarray(5)),valid:1==u&&!o.bitFlag.languageEncodingFlag&&c==_a(s,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function da(t,e){if(t.data.length<8)return;const r=Wt(t.data),n={lastAccessDate:new Date(1e3*(0|_a(r,0))),lastModDate:new Date(1e3*(0|_a(r,4)))};t.data.length>=12&&(n.uid=Na(r,8),n.gid=Na(r,10)),Object.assign(t,n),Object.assign(e,n)}function wa(t,e,r){try{const n=Wt(t.data);let o,i;if(r){let e=0;const r=Ma(n,e++),a=Ma(n,e++);o=pa(t.data.subarray(e,e+a)),e+=a;const s=Ma(n,e++);i=pa(t.data.subarray(e,e+s)),Object.assign(t,{version:r,uid:o,gid:i})}else t.data.length>=4&&(o=Na(n,0),i=Na(n,2),Object.assign(t,{uid:o,gid:i}));return o!==I&&(e.uid=o),i!==I&&(e.gid=i),o!==I||i!==I}catch{}}function pa(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ha(t,e){return t.start<e.end&&e.start<t.end}function ma(t,e,r){const n=_a(t,e);let o,i;return r?(o=ja(t,e+4),i=ja(t,e+12)):(o=_a(t,e+4),i=_a(t,e+8)),{crc32:n,compressedSize:o,uncompressedSize:i}}function ya(t,e){return t.wt?t.wt(e):0}async function ba(t){return _a(Wt(await Oo(t,0,4)))}function Ea(t){return t===rt||t===nt||t===ot}function Sa(t,e){return ga(t,ga(e,nt))}function ga(t,e){const r=t.strictness;if(r!==I){if(!Ea(r))throw new Error(Oi);return r}const n=t.checkAmbiguity;return n===I?e:n?rt:e==ot?ot:nt}function Aa(t,e){if(e==ot)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(Xi.test(t)||t.startsWith("/")||t.startsWith("\\")||Ki.test(t))||e==rt&&(r.includes(".")||r.includes("")||t.includes("\0"))}function Ra(t,r){if(t!==I){const e=bt(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw new Error(Ti);return e}return r==rt?0:r==ot?1/0:e}async function Da(t,e,r){const{size:n}=t,o=Math.min(n,65557),i={count:64};let a,s,c=0;for await(const[r,u,l,f,w]of xa(t,o)){const o=Na(r,f+20);if(w+d+o==n){const o=await Fa(t,r,u,f,w,n,i);if(2==o){if(a||(a=za(l,f,w)),c++,!e||c>1)break}else 1!=o||s||(s=za(l,f,w))}}return a||(a=s),a||(a=await async function(t,e,r){const{size:n}=t,o=Math.min(n,e==1/0?n:65557+e);let i,a;for await(const[e,s,c,u,l]of xa(t,o)){const o=za(c,u,l);i||(i=o);const f=await Fa(t,e,s,u,l,n,r);if(2==f)return o;1!=f||a||(a=o)}return a||i}(t,r,i)),{gt:a,At:c}}async function*xa(t,e){const r=t.size-e,n=await Oo(t,r,e),o=Wt(n);for(let t=n.length-d;t>=0;t--)_a(o,t)==c&&(yield[o,r,n,t,r+t])}function za(t,e,r){return{offset:r,buffer:new Uint8Array(t.subarray(e,e+d)).buffer}}async function Fa(r,n,o,i,a,c,u){const f=Na(n,i+10),d=_a(n,i+12),p=_a(n,i+16);if(f==e||d==t||p==t)return await Oa(r,n,o,a-w,c,u)==l?2:0;if(!f&&!d)return 1;const h=Na(n,i+6);for(const t of[a-d,ya(r,h)+p])if(await Oa(r,n,o,t,c,u)==s)return 2;return 0}async function Oa(t,e,r,n,o,i){return n<0||n+4>o?I:n>=r?_a(e,n-r):i.count>0?(i.count--,_a(Wt(await Oo(t,n,4)),0)):I}function Ia(t,e,r){t?Ta(r):To(e,r)}function Ta(t){const e=new Error(xi);throw e.reason=t,e}function Ua(t,e,r){return e[r]===I?t.options[r]:e[r]}function Ca(t,e,r){return ft(Ua(t,e,r))}function ka(t){const r=(4294901760&t)>>16,n=t&e,o=new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return o<O?O:o}function va(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Ma(t,e){return t.getUint8(e)}function Na(t,e){return t.getUint16(e,!0)}function _a(t,e){return t.getUint32(e,!0)}function ja(t,e){const r=t.getBigUint64(e,!0);if(r>ea)throw new Error(Ui);return Number(r)}var Ba=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:xi,ERR_BAD_FORMAT:pi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:yi,ERR_ENCRYPTED:Si,ERR_ENCRYPTED_CENTRAL_DIRECTORY:zi,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Di,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:mi,ERR_EOCDR_NOT_FOUND:hi,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Ei,ERR_INVALID_AUTHENTICATION_CODE:Se,ERR_INVALID_COMPRESSED_DATA:hr,ERR_INVALID_CRC32:mr,ERR_INVALID_FILENAME_VALIDATION:Ii,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ti,ERR_INVALID_PASSWORD:Ee,ERR_INVALID_STRICTNESS:Oi,ERR_INVALID_UNCOMPRESSED_SIZE:pr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:bi,ERR_OVERLAPPING_ENTRY:Ri,ERR_SPLIT_ZIP_FILE:Ai,ERR_UNSAFE_FILENAME:Fi,ERR_UNSUPPORTED_COMPRESSION:or,ERR_UNSUPPORTED_ENCRYPTION:gi,ERR_UNSUPPORTED_UINT64:Ui,ERR_WORKER_STARTUP_TIMEOUT:_r,WARNING_APPENDED_DATA:ji,WARNING_COMPRESSED_PATCHED_DATA:vi,WARNING_DUPLICATE_FILENAME:Wi,WARNING_MALFORMED_EXTRA_FIELD:Mi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Gi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Yi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:qi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:Hi,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Zi,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:Vi,WARNING_PREPENDED_CENTRAL_DIRECTORY:Pi,WARNING_PREPENDED_DATA:Bi,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Li,WARNING_UNKNOWN_VERSION:ki,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Ni,WARNING_UNSORTED_CENTRAL_DIRECTORY:Ci,WARNING_WRAPPED_ENTRIES_COUNT:_i,ZipReader:ra,ZipReaderStream:na,isZipFile:oa});const Pa="File already exists",La="Zip file comment exceeds 64KB",Wa="Invalid zip file comment (must be a Uint8Array)",Za="File entry comment exceeds 64KB",Va="Invalid file entry comment (must be a string)",Ha="Invalid date (must be a valid Date instance)",Ga="File entry name exceeds 64KB",Ya="Version exceeds 65535",qa="The strength must equal 1, 2, or 3",Ka="Encryption is not supported in USDZ files",Xa="Split zip files are not supported in USDZ files",$a="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Ja="Invalid extra field (must be a Map)",Qa="Invalid extra field type (must be integer 0..65535)",ts="Invalid extra field data (must be a Uint8Array)",es="Extra field data exceeds 64KB",rs=-2147483648,ns=2147483647,os=BigInt(0),is=BigInt("0x7fffffffffffffff"),as="Zip64 is not supported (set the 'zip64' option to 'true')",ss="Undefined uncompressed size",cs="Undefined compression method",us="Undefined CRC32",ls="Undetermined size",fs="Undefined reader",ds="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",ws="Zip file not empty",ps="Invalid uid (must be integer 0..2^32-1)",hs="Invalid gid (must be integer 0..2^32-1)",ms="Invalid UNIX mode (must be integer 0..65535)",ys="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",bs="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Es="Invalid msdosAttributesRaw (must be integer 0..255)",Ss="Invalid msdosAttributes (must be an object with boolean flags)",gs="Invalid level (must be integer 0..9)",As="Signature data exceeds 64KB",Rs="Invalid entry option (must be an entry returned by ZipReader#getEntries())",Ds="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",xs="compression unavailable",zs="clamped last modification date",Fs=new Uint8Array([7,0,2,0,65,69,3,0,0]),Os="infozip",Is="unix",Ts=[8,9,5,3];let Us=0;const Cs=[];class ks{constructor(t,e={}){t=new Do(t);const{availableSize:r=T,maxSize:n=T}=t,o=r>0&&r!==T&&n>0&&n!==T;if(o&&e[X])throw new Error(Xa);Object.assign(this,{writer:t,zt:o,options:e,Ft:new Map,Ot:new Set,offset:e[K]===I?t.size||t.writable.size||0:e[K],It:e[K]===I?0:e[K]-(t.size||t.writable.size||0),Tt:new Set,Ut:[],warnings:[],Ct:0,kt:0,vt:I,Mt:!1})}prependZip(t){return _s(this,async function(t,e){if(t.Ot.size)throw new Error(ws);await t.Nt(e)}(this,t))}appendZip(t){return _s(this,this.Nt(t))}async Nt(t){const e=this,{Tt:r,Ot:n,Ft:i}=e;for(;r.size;)await Promise.allSettled(Array.from(r));let a;const s=new Promise(t=>a=t);r.add(s);const c=[];let u;try{t=new Ro(t),await zo(t),t.size!==I&&t.readUint8Array||(t=new Yn(await Qe(t.readable)),await zo(t));const{ZipReader:r}=await Promise.resolve().then(function(){return Ba}),a=new r(t),s=await a.getEntries();await a.close(),await zo(e.writer);const{directoryOffset:l}=a;s.forEach(({filename:t})=>{if(n.has(t))throw new Error(Pa);n.add(t),c.push(t)}),e._t=!0;const{jt:f}=e;e.jt=new Promise(t=>u=()=>{e._t=!1,t()}),await f,e.zt&&(delete e.zt,await async function(t){return Wt(await Oo(t,0,4)).getUint32(0,!0)==o}(t)||(await cc(e.writer,ac()),e.offset+=4));const d=await async function(t,e,r,n){const{writer:o}=t,i=new Map;if(o.closeDisk){const a=Array.from(r).sort((t,r)=>ic(e,t)-ic(e,r));let s=0;for(const r of a){const n=ic(e,r);await nc(t,e,s,n-s),tc(o,await oc(e,n))&&await o.closeDisk(),i.set(r,{offset:ec(t,o),diskNumberStart:Js(o)}),s=n}await nc(t,e,s,n-s)}else{const o=t.offset;await nc(t,e,0,n),r.forEach(t=>i.set(t,{offset:o+ic(e,t),diskNumberStart:0}))}return i}(e,t,s,l);s.forEach(t=>{const{version:e,rawLastModDate:r,rawFilename:n,bitFlag:o,encrypted:a,uncompressedSize:s,compressedSize:c,extraFieldZip64:u}=t;let{compressionMethod:l,rawExtraField:f}=t;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=o;f=rc(f||N),t.extraFieldAES&&(l=99);const m=Dc(f),y=Boolean(u)&&u.uncompressedSize!==I,b=Boolean(u)&&u.compressedSize!==I,E=-7&Fc(w,p,h,a,l)|w<<1,{Bt:S,Pt:g}=xc({version:e,bitFlag:E,compressionMethod:l,uncompressedSize:s,compressedSize:c,rawLastModDate:r,rawFilename:n,Lt:b,Wt:y,extraFieldLength:m}),{crc32:A}=t;A!==I&&gc(g,10,A);const{offset:R,diskNumberStart:D}=d.get(t);Object.assign(t,{Zt:!0,Wt:y,Lt:b,offset:R,diskNumberStart:D,Vt:!1,Ht:N,Gt:N,Yt:N,qt:N,Kt:N,rawExtraField:f,Xt:N,Bt:S,Pt:g}),i.set(t.filename,t)})}catch(t){throw c.forEach(t=>n.delete(t)),t}finally{a(),r.delete(s),u&&u()}}add(e="",n,o={}){const i=this,{Tt:a}=i,s=async function(e,n,o,i){const a=(i=Object.assign({},i))[Q];if(a!==I){const{$t:t,Jt:r}=Ps(a,ht(wc(e,i,P)),wc(e,i,Bo));delete i[Q],i=Object.assign(t,r,i)}if(wc(e,i,ei)&&!n.endsWith(x)&&(n+=x),e.Ot.has(n))throw new Error(Pa);e.Ot.add(n),Us<Ut().maxWorkers?Us++:await new Promise(t=>Cs.push(t));try{return await async function(e,n,o,i){const a=Ls(e,n,i);({name:n}=a);const s=Ws(e,n,i),{comment:c}=s,u=i[ii];e.Ft.set(n,I);const l=e.vt,f={};let d,w;s.Qt.keepOrder&&(f.te=new Promise(t=>d=t)),e.vt=f;try{const{Qt:c}=s;0==c.level||c.compressionMethod!==I||c.ee||await Wr(Ut())||(c.level=0,To(e.warnings,xs,n));const u=await async function(t,e,{Qt:r},n){if(r.ee&&!e&&!wc(t,n,ei))throw new Error(fs);let o;if(e){if(e=new Ro(e),await zo(e),!e.readable&&!e.readUint8Array)throw new Error(ds);({size:o}=e)}return Object.assign({reader:e},Vs(t,Boolean(e),o,r,n))}(e,o,s,i);({reader:o}=u);const p=Qs(e.writer),h=Js(e.writer);let m=i.crc32===I?i[oi]:i.crc32;const y=u.Qt.encrypted&&!c.zipCrypto;if(c.ee&&!c.re&&y&&(m=I),c.ee&&o&&!y&&m===I)throw new Error(us);const b=Gs(i=Object.assign({},i,a.Qt,s.Qt,u.Qt,{signature:i[oi],crc32:m,offset:e.offset-p,diskNumberStart:h,[X]:e.options[X]}));b.ne&&To(e.warnings,zs,n);const E=Ks(i),S=Dc(b.oe,E.ie);w=await async function(e,n,o,i,a){const{Ft:s,writer:c}=e,{keepOrder:u,dataDescriptor:l,ae:f,signal:d}=a,{se:w,xt:p,ce:h,ue:m}=i,y=e.options[X];let b,E,S,g,A,R,D,x=p,F=0;const O=u&&h?h.te:I;s.set(n,x);try{a.bufferedWrite||!u||e._t||e.Ct||e.kt||!l&&!f?(b=!0,e.Ct++,D=a.createTempStream?await a.createTempStream():new TransformStream(I,I,{highWaterMark:T}),D.size=0,await zo(c)):(E=!0,e.kt++,D=c,await O,await U()),await zo(D);const p=Qs(c);e.zt&&!b&&await sc(e,c),y&&!b&&Ys(i,e.offset-p);const{oe:h}=w;b||await C();const m=Js(c),S=ec(e,c);if(x.diskNumberStart=m,b||(A=!0,R=c.size,await cc(D,h)),x=await async function(e,n,{diskNumberStart:o,te:i},a,s,c){const{se:u,le:l,fe:f}=a,{Bt:d,Pt:w,lastModDate:p,rawLastModDate:h,encrypted:m,compressed:y,version:b,compressionMethod:E,Ht:S,de:g,Yt:A,we:R,pe:D,qt:x,Kt:z,Gt:F}=u,{ie:O}=l,{rawFilename:T,lastAccessDate:U,creationDate:C,password:k,rawPassword:v,level:M,useUnicodeFileNames:N,zip64:_,Zt:j,Wt:B,Lt:P,zipCrypto:L,dataDescriptor:W,directory:Z,executable:V,versionMadeBy:H,rawComment:G,rawExtraField:Y,Xt:q,useWebWorkers:K,transferStreams:X,onstart:$,onprogress:J,onend:Q,signal:tt,encryptionStrength:et,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:it,uid:at,gid:st,unixMode:ct,symlink:ut,setuid:lt,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:ht,useCompressionStream:mt,ee:yt,re:bt,format:Et,codecURI:St}=c,gt={te:i,versionMadeBy:H,zip64:_,Zt:j,directory:Boolean(Z),executable:Boolean(V),filenameUTF8:Boolean(N),rawFilename:T,commentUTF8:Boolean(N),rawComment:G,Ht:S,de:g,Yt:A,qt:x,Kt:z,Gt:F,rawExtraField:Y,Xt:q,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:it,diskNumberStart:o,uid:at,gid:st,unixMode:ct,symlink:Boolean(ut),setuid:lt,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:ht};let{crc32:At,uncompressedSize:Rt}=c,Dt=0;yt||(Rt=0);const{writable:xt}=n;if(e){const o=e.size,i=Je(Io(e,{size:o})),a={options:{codecType:kr,inputSize:o,level:M,rawPassword:v,password:k,encryptionStrength:et,zipCrypto:m&&L,passwordVerification:m&&L&&h>>8&r,computeCrc32:!yt,compressed:y&&!yt,encrypted:m&&!bt,useWebWorkers:K,useCompressionStream:mt,transferStreams:X,format:Et,codecURI:St,compressionMethod:E},config:s,D:{signal:tt,size:o,onstart:$,onprogress:J,onend:Q}};try{const e=await hn({readable:i,writable:xt},a);if(Dt=e.outputSize,n.size+=Dt,yt||(Rt=e.inputSize,m&&!L||(At=e.crc32)),!P&&Dt>=t||!B&&Rt>=t)throw new Error(as)}catch(t){const{outputSize:e}=a;throw e!==I?n.size+=e:Zt(t)&&t.outputSize!==I&&(n.size+=t.outputSize),t}}return function({crc32:t,compressedSize:e,uncompressedSize:r,se:n,le:o},{zip64:i,zipCrypto:a,ee:s,dataDescriptor:c}){const{Pt:u,encrypted:l}=n,{he:f,me:d}=o;l&&!a&&!s||t===I||(gc(u,10,t),c&&gc(f,d,t)),i?c&&(Ac(f,d+4,BigInt(e)),Ac(f,d+12,BigInt(r))):(gc(u,14,e),gc(u,18,r),c&&(gc(f,d+4,e),gc(f,d+8,r)))}({crc32:At,compressedSize:Dt,uncompressedSize:Rt,se:u,le:l},c),W&&await cc(n,O),Object.assign(gt,{uncompressedSize:Rt,compressedSize:Dt,lastModDate:p,rawLastModDate:h,creationDate:C,lastAccessDate:U,encrypted:Boolean(m),zipCrypto:Boolean(L),size:f+Dt,compressionMethod:E,version:b,Bt:d,Pt:w,signature:At,crc32:!m||L||yt?At:I,we:R,pe:D,Wt:B,Lt:P}),gt}(o,D,x,i,Ut(),a),b||(A=!1),s.set(n,x),x.filename=n,b){if(await Promise.all([D.writable.getWriter().close(),O]),await U(),e.zt&&await sc(e,c),g=!0,R=c.size,await C(),x.diskNumberStart=Js(c),x.offset=ec(e,c),y){const t=i.fe;Ys(i,e.offset-Qs(c)),x.size+=i.fe-t}!function({rawFilename:t,encrypted:e,zip64:r,de:n,crc32:o,compressedSize:i,uncompressedSize:a,Wt:s,Lt:c},u,{dataDescriptor:l,ee:f}){if(l||((!e||f&&o!==I)&&gc(u,14,o),c||gc(u,18,i),s||gc(u,22,a)),r&&n){const e=z+Dc(t)+4;Ac(u,e,BigInt(a)),Ac(u,e+8,BigInt(i))}}(x,w.ye,a),await cc(c,w.oe),await uc(D.readable,c,d,t=>F+=t),c.size+=D.size,g=!1}else x.diskNumberStart=m,x.offset=S;return e.offset+=x.size,x}catch(t){if(g||A){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-R,b&&(e.offset+=F)}throw s.delete(n),t}finally{if(b&&e.Ct--,E&&e.kt--,m&&m(O),S&&S(),b&&D&&D.dispose)try{await D.dispose()}catch{}}async function U(){e._t=!0;const{jt:t}=e;e.jt=new Promise(t=>S=()=>{e._t=!1,t()}),await t}async function C(){tc(c,Dc(w.oe))&&await c.closeDisk()}}(e,n,o,{se:b,le:E,fe:S,xt:f,ce:l,ue:d},i)}catch(t){throw e.Ft.delete(n),t}finally{d&&d(l&&l.te)}return Object.assign(w,{name:n,comment:c,extraField:u}),new fi(w)}(e,n,o,i)}catch(t){throw e.Ot.delete(n),t}finally{const t=Cs.shift();t?t():Us--}}(i,e,n,o);a.add(s);const c=()=>a.delete(s);return Promise.prototype.then.call(s,c,c),_s(i,s)}remove(t){const{Ot:e,Ft:r}=this;if(typeof t==v&&(t=r.get(t)),t&&t.filename!==I){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=N,n={}){const o=this,{Tt:i,writer:w}=this,{writable:p}=w;if(o.Mt)return Ns(w);if(!(r instanceof Uint8Array))throw new Error(Wa);if(Dc(r)>e)throw new Error(La);for(;i.size;)await Promise.allSettled(Array.from(i));await Promise.allSettled(o.Ut.map(t=>t.be));const h=o.Ut.filter(t=>t.Ee&&!t.Se);if(h.length){const t=h.map(t=>t.error);h.forEach(t=>t.Se=!0);const[e]=t;try{e.entryErrors=t}catch{}throw e}return await async function(r,n,o){const{ge:i,Ae:w}=Xs(r.Ft),{Re:p,De:h,xe:m}=await async function(r,n,o){const{Ft:i,writer:a}=r,c=new Uint8Array(n);await zo(a);let u=0,l=0,d=Js(a),w=Qs(a),p=0;for(const[r,n]of Array.from(i.values()).entries()){const{offset:h,rawFilename:m,Ht:y,Gt:b,Yt:E,qt:S,Kt:g,rawExtraField:A,Xt:R,rawComment:D,versionMadeBy:x,Bt:z,Pt:F,Wt:O,Lt:I,Vt:T,ze:U,internalFileAttributes:C,externalFileAttributes:k,diskNumberStart:v,uncompressedSize:M,compressedSize:N}=n,_=Dc(y,b,E,S,g,A,R),j=f+Dc(m,D)+_;tc(a,u+j-l)&&(await cc(a,c.slice(l,u)),l=u,p=0,await a.closeDisk()),0==r&&(d=Js(a),w=Qs(a)),O||gc(F,18,M),I||gc(F,14,N),(U||T)&&n.version<45&&Sc(F,0,45);const B=$s(j);if(B.Fe(s),B.Oe(x),B.Ie(z.subarray(0,24)),B.Oe(_),B.Oe(Dc(D)),B.Oe(T?e:v),B.Oe(C),B.Fe(k),B.Fe(U?t:h),B.Ie(m),B.Ie(y),B.Ie(b),B.Ie(E),B.Ie(S),B.Ie(g),B.Ie(A),B.Ie(R),B.Ie(D),Rc(c,B.st,u),u+=j,p++,o.onprogress)try{await o.onprogress(r+1,i.size,new fi(n))}catch{}}return await cc(a,l?c.slice(l):c),{Re:{diskNumber:d,diskOffset:w},De:{diskNumber:Js(a),Te:p},xe:c}}(r,i,o),y=await async function(t,r,n){const o=hc(t,n,J);if(o){const n=await o(r),i=Dc(n);if(i>e)throw new Error(As);const s=$s(6+i);s.Fe(a),s.Oe(i),s.Ie(n);const{writer:c}=t;return tc(c,Dc(s.st))&&await c.closeDisk(),await cc(c,s.st),6+i}return 0}(r,m,o);await async function(r,n,o,i){const{writer:a}=r,{Re:s,De:f,Ue:w,Ae:p}=i;let{ge:h}=i,m=r.Ft.size,y=s.diskNumber,b=ec(r,s);const E=Dc(n);if(E>e)throw new Error(La);let S=wc(r,o,Xo),g=Js(a);if(tc(a,(S?98:d)+E)&&g++,b>=t||h>=t||m>=e||g>=e){if(!1===S)throw new Error(as);S=!0}else S===I&&p&&(S=!0);const A=$s(S?98:d);tc(a,Dc(A.st)+E)&&await a.closeDisk(),g=Js(a);let R=g==f.diskNumber?f.Te:0;S&&(A.Fe(u),A.Ce(44),A.Oe(45),A.Oe(45),A.Fe(g),A.Fe(y),A.Ce(R),A.Ce(m),A.Ce(h),A.Ce(b),A.Fe(l),A.Fe(g),A.Ce(BigInt(ec(r,a))+BigInt(h)+BigInt(w)),A.Fe(g+1),wc(r,o,"supportZip64SplitFile",!0)&&(g=e,y=e),R=e,m=e,b=t,h=t),A.Fe(c),A.Oe(g),A.Oe(y),A.Oe(R),A.Oe(m),A.Fe(h),A.Fe(b),A.Oe(E),await cc(a,A.st),E&&await cc(a,n)}(r,n,o,{Re:p,De:h,ge:i,Ue:y,Ae:w})}(o,r,n),o.Mt=!0,!xo(w)&&wc(o,n,H)||await p.getWriter().close(),Ns(w)}[_](){return this.close()}}class vs{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new ks(r,t),this.Tt=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:o}=new TransformStream({start(t){r=t},flush:()=>{!async function(){try{await e.close()}catch(t){await js(e,t)}}()}});return Bs(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:o}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Bs(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){const{zipWriter:r}=this,n=(await Promise.allSettled(Array.from(this.Tt))).filter(t=>"rejected"==t.status).map(t=>t.reason);if(n.length){const[t]=n;try{t.entryErrors=n}catch{}throw await js(r,t),t}try{return await r.close(t,e)}catch(t){throw await js(r,t),t}}}class Ms extends Promise{then(t,e){const{ke:r}=this;return r&&(r.Se=!0),super.then(t,e)}}function Ns(t){return t.getData?t.getData():t.writable}function _s(t,e){const r=new Ms((t,r)=>Promise.prototype.then.call(e,t,r)),n={};return r.ke=n,n.be=Promise.prototype.then.call(r,I,t=>Object.assign(n,{Ee:!0,error:t})),t.Ut.push(n),r}async function js(t,e){try{await t.writer.writable.abort(e)}catch{}}function Bs(t,e,r){t.Tt.add(e),e.catch(t=>{try{r(t)}catch{}})}function Ps(t,e,n){if(null===t||typeof t!=k||Array.isArray(t))throw new Error(Rs);const{externalFileAttributes:o,versionMadeBy:i,comment:a,lastModDate:s,rawLastModDate:c,creationDate:u,lastAccessDate:l,uncompressedSize:f,encrypted:d,zipCrypto:w,crc32:p,compressionMethod:h,extraFieldAES:m,extraFieldUnix:y,internalFileAttributes:b,extraField:E,bitFlag:S,directory:g,uid:A,gid:R}=t,D={externalFileAttributes:o,versionMadeBy:i,comment:a,lastModDate:s,creationDate:u,lastAccessDate:l,internalFileAttributes:b,directory:g};S&&S.languageEncodingFlag&&(D[Y]=!0);const x=function(t){if(t){const e=new Map;if(t.forEach((t,r)=>{di.has(r)||e.set(r,t.data)}),e.size)return e}}(E);x&&(D[ii]=x),A===I&&R===I||Object.assign(D,{uid:A,gid:R,unixExtraFieldType:y?Is:Os});const z={};if(e&&!g)if(Object.assign(z,{uncompressedSize:f,crc32:p,compressionMethod:h}),e!==it&&Object.assign(z,{encrypted:d,zipCrypto:w,encryptionStrength:m?m.strength:I}),S&&(z.dataDescriptor=S.dataDescriptor,z[G]=Ts[S.level]),n===I)z.rawLastModDate=c;else if(e!==it&&w&&(!S||S.dataDescriptor)&&n instanceof Date&&function(t){let e=new Date(2e3*Math.ceil(Math.floor(t.getTime()/1e3)/2));return e<O?e=O:e>F&&(e=F),(e.getHours()<<3|e.getMinutes()>>3)&r}(n)!=(c>>>8&r))throw new Error(Ds);return{$t:D,Jt:z}}function Ls(n,o,i){let a=wc(n,i,Ko),s=wc(n,i,Qo,a?20:768);const c=wc(n,i,ri),u=mc(n,i,"uid"),l=mc(n,i,"gid");let f=mc(n,i,ai),d=wc(n,i,"unixExtraFieldType"),w=wc(n,i,si),p=wc(n,i,ci),h=wc(n,i,ui);if(yt(u,t,ps),yt(l,t,hs),yt(f,e,ms),d!==I&&d!==Os&&d!==Is)throw new Error(ys);if(d===Is&&(u!==I&&u>e||l!==I&&l>e))throw new Error(bs);d!==I||u===I&&l===I||(d=Os);let m=mc(n,i,Yo),y=wc(n,i,qo);const b=m!==I||y!==I;if(u!==I||l!==I||f!==I||d||c?(a=!1,s=s&r|768):b&&(a=!0,s&=r),yt(m,r,Es),y&&(typeof y!==k||Array.isArray(y)))throw new Error(Ss);if(s>e)throw new Error(Ya);let E=wc(n,i,Go);const S=E!==I;S||(E=0),!i[ei]&&o.endsWith(x)&&(i[ei]=!0);const z=wc(n,i,ei);if(z?(o.endsWith(x)||(o+=x),S||(E=16,a||(E|=16877<<16))):a||S||(E=c?493<<16:27525120),!a){const t=f!==I||Boolean(w||p||h);f=f===I?E>>16&e:f&e,w?f|=R:w=Boolean(f&R),p?f|=D:p=Boolean(f&D),h?f|=512:h=Boolean(512&f),S&&!t||(z?f=-61441&f|A:f&g||(f|=32768),E=(f&e)<<16|E&e)}({msdosAttributesRaw:m,msdosAttributes:y}=function(t,e){if(t!==I)t&=r;else if(e!==I){const{readOnly:n,hidden:o,system:i,directory:a,archive:s}=e;let c=0;n&&(c|=1),o&&(c|=2),i&&(c|=4),a&&(c|=16),s&&(c|=32),t=c&r}return e===I&&(e={readOnly:Boolean(1&t),hidden:Boolean(2&t),system:Boolean(4&t),directory:Boolean(16&t),archive:Boolean(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}}(m,y)),b&&(E=E&t|m&r);const F=E>>16&e,O=f!==I&&40960==(f&g);return{name:o,Qt:{versionMadeBy:s,msDosCompatible:Boolean(a),externalFileAttributes:E,unixExternalUpper:F,uid:u,gid:l,unixMode:f,unixExtraFieldType:d,symlink:O,setuid:w,setgid:p,sticky:h,msdosAttributesRaw:m,msdosAttributes:y}}}function Ws(t,r,n){const o=hc(t,n,"encodeText")||ee;let i=o(r,tt);if(i===I&&(i=ee(r)),Dc(i)>e)throw new Error(Ga);const a=n[ko]||"";if(typeof a!=v)throw new Error(Va);let s=o(a,et);if(s===I&&(s=ee(a)),Dc(s)>e)throw new Error(Za);const c=wc(t,n,Jo);if(c!==I&&c>e)throw new Error(Ya);const u=pc(t,n,Bo,new Date),l=wc(t,n,Po),f=pc(t,n,Lo),d=pc(t,n,Zo),w=wc(t,n,Ho,0),p=ht(wc(t,n,P)),h=Boolean(p),m=!0===p,y=wc(t,n,j),b=wc(t,n,B);pt(y,b);const E=mc(t,n,"encryptionStrength",3),S=wc(t,n,ti),g=wc(t,n,"extendedTimestamp",!0),A=wc(t,n,"ntfsTimestamp"),R=wc(t,n,"keepOrder",!0),D=wc(t,n,W),x=wc(t,n,V),z=wc(t,n,"bufferedWrite"),F=hc(t,n,"createTempStream"),O=wc(t,n,"dataDescriptorSignature",!0),T=dt(wc(t,n,L));wt(T);const U=wc(t,n,Y,!zc(i)||!zc(s)),C=wc(t,n,ni),k=h||C===I?I:lr(C);if(!h&&C!==I&&0!==C&&8!==C&&!k)throw new Error(or);let M=mc(t,n,G);if(yt(M,9,gs),t.options[X]){if(y!==I||b!==I)throw new Error(Ka);M===I&&C===I&&(M=0)}h&&(M=bt(n[G]));let N=wc(t,n,Z),_=wc(t,n,q);z&&_===I&&(_=!1),(_===I||S&&!m)&&(_=!0),M!==I&&6!=M&&(N=!1);const H=wc(t,n,Xo);if(!(S||y===I&&b===I||Number.isInteger(E)&&E>=1&&E<=3))throw new Error(qa);const K=Zs(n[ii]),$=Zs(n.localExtraField),J=Zs(n.centralExtraField);return{comment:a,Qt:{rawFilename:i,rawComment:s,version:c,lastModDate:u,rawLastModDate:l,lastAccessDate:f,creationDate:d,internalFileAttributes:w,ee:h,re:m,password:y,rawPassword:b,encryptionStrength:E,zipCrypto:S,extendedTimestamp:g,ntfsTimestamp:A,keepOrder:R,useWebWorkers:D,transferStreams:x,bufferedWrite:z,createTempStream:F,dataDescriptorSignature:O,signal:T,useUnicodeFileNames:U,compressionMethod:C,format:k?k.format:I,codecURI:k?k.codecURI:I,ve:k?k.versionNeeded:I,level:M,useCompressionStream:N,dataDescriptor:_,zip64:H,rawExtraField:K,Me:$,Xt:J}}}function Zs(t){if(!t)return N;if(!(t instanceof Map))throw new Error(Ja);let r=0,n=0;t.forEach((t,n)=>{if(mt(n,e,Qa),!(t instanceof Uint8Array))throw new Error(ts);if(Dc(t)>e)throw new Error(es);r+=4+Dc(t)});const o=new Uint8Array(r),i=Wt(o);return t.forEach((t,e)=>{Sc(i,n,e),Sc(i,n+2,Dc(t)),Rc(o,t,n+4),n+=4+Dc(t)}),o}function Vs(e,r,n,o,i){const{ee:a,re:s,zipCrypto:c,password:u,rawPassword:l,encryptionStrength:f}=o;let{dataDescriptor:d,zip64:w,level:p,compressionMethod:h}=o,m=0,y=0,b=!1;if(a&&r){if(y=i[Mo],y===I)throw new Error(ss);if(h===I)throw new Error(cs)}const E=!0===w,S=wc(e,i,$o);if(r&&s&&!S&&Dc(u,l))throw new Error($a);const g=r&&(Boolean(u&&Dc(u)||l&&Dc(l))||s&&S);r||(p=0,h=0);const A=wi(g,c,f);r&&(a?(i.uncompressedSize=y,m=n===I?yc(y)+A:n+(s?0:A)):n===I?(d=!0,(w||w===I)&&(w=b=!0,m=4294967296)):(i.uncompressedSize=y=n,m=(bc(h,p)?yc(y):y)+A));const R=!(g||r&&(0!==n||a)||bc(h,p));R&&wc(e,i,q)===I&&(d=!1);const D=E||b||y>=t,x=E||m>=t;if(D||x){if(!1===w)throw new Error(as);w=!0}return w=w||!1,{Ne:m,Qt:{dataDescriptor:d,ae:R,zip64:w,Zt:E,_e:b,Wt:D,Lt:x,uncompressedSize:y,level:p,compressionMethod:h,encrypted:g}}}function Hs(e,r,n){const o=e.slice().sort((t,e)=>n?e-t:t-e);let i=r,a=0;for(const e of o){if(i>=t)break;i+=e,a++}return a}function Gs(t){const{rawFilename:r,lastModDate:o,rawLastModDate:i,lastAccessDate:a,creationDate:s,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:d,directory:w,rawExtraField:p,Me:y,encryptionStrength:S,extendedTimestamp:g,ntfsTimestamp:A,ee:R,encrypted:D,Wt:x,Lt:T,uncompressedSize:U,_e:C,crc32:k}=t;let{version:v,compressionMethod:M}=t;const _=!w&&bc(M,c);let j;const B=R||!_,P=u&&(t.bufferedWrite||!d||!x&&!T||B&&!C),L=P||u&&d&&(x||T);if(u&&(x||T)){const t=20,e=$s(t);if(e.Oe(1),e.Oe(t-4),j=e.st,P&&(e.Ce(U),B)){const t=wi(D,l,S);e.Ce(R?0:U+t)}}else j=N;let W,Z,V,H,G;if(D&&!l){const t=$s(Dc(Fs)+2);t.Oe(h),t.Ie(Fs),W=t.st,W[8]=S}else W=N;if(g){const t=fc(o),e=(Y=t)>=rs&&Y<=ns;if(e){const e=9+(a?4:0)+(s?4:0),r=$s(e);H=1+(a?2:0)+(s?4:0),G=t,r.Oe(m),r.Oe(e-4),r.je(H),r.Fe(t),a&&r.Fe(dc(fc(a))),s&&r.Fe(dc(fc(s))),V=r.st}else V=N;if(A===I?!e||Boolean(a||s):A)try{const t=lc(o),e=$s(36);e.Oe(10),e.Oe(32),e.Be(4),e.Oe(1),e.Oe(24),e.Ce(t),e.Ce(a?lc(a):t),e.Ce(s?lc(s):t),Z=e.st}catch{Z=N}else Z=N}else Z=V=N;var Y;let q;try{const{uid:r,gid:n,unixExtraFieldType:o}=t;if(o!=Os||r===I&&n===I)if(o!=Is||r===I&&n===I)q=N;else{const t=$s(8);t.Oe(E),t.Oe(4),t.Oe((r===I?0:r)&e),t.Oe((n===I?0:n)&e),q=t.st}else{const t=qs(r===I?0:r),e=qs(n===I?0:n),o=3+t.length+e.length,i=$s(4+o);i.Oe(b),i.Oe(o),i.je(1),i.je(t.length),i.Ie(t),i.je(e.length),i.Ie(e),q=i.st}}catch{q=N}M===I&&(M=_?8:0),v===I&&(v=0!=M||w||D?20:10);const{ve:K}=t;_&&K!==I&&(v=v>K?v:K),u&&(v=v>45?v:45),D&&!l&&(v=v>51?v:51,R&&k!==I&&(W[4]=1),Sc(Wt(W),9,M),M=99);const $=L?Dc(j):0,J=$+Dc(W,V,Z,q,p,y);if(J+(t[X]?67:0)>e)throw new Error(es);const Q=new Date(2e3*Math.ceil(Math.floor(o.getTime()/1e3)/2)),tt=Q<O?O:Q>F?F:Q,et=Dc(V)?new Date(1e3*fc(o)):Dc(Z)?o:tt,{Bt:rt,Pt:nt,rawLastModDate:ot}=xc({version:v,bitFlag:Fc(c,f,d,D,M),compressionMethod:M,uncompressedSize:U,lastModDate:tt,rawLastModDate:i,rawFilename:r,Lt:T,Wt:x,extraFieldLength:J}),it=$s(z+Dc(r)+J),at=it.st,st=Wt(at);return it.Fe(n),it.Ie(rt),it.Ie(r),L&&it.Ie(j),it.Ie(W),it.Ie(V),it.Ie(Z),it.Ie(q),it.Ie(p),it.Ie(y),d&&(T||gc(st,18,0),x||gc(st,22,0)),{oe:at,ye:st,Bt:rt,Pt:nt,lastModDate:et,ne:et===tt&&Q.getTime()!=tt.getTime(),rawLastModDate:ot,encrypted:D,compressed:_,version:v,compressionMethod:M,we:H,pe:G,Ht:N,de:$,Yt:V,qt:Z,Kt:q,Gt:W,extraFieldLength:J}}function Ys(t,e){const{se:r}=t;let{oe:n,extraFieldLength:o}=r,i=64-(e+Dc(n))%64;i<4&&(i+=64);const a=new Uint8Array(i),s=Wt(a);Sc(s,0,y),Sc(s,2,i-4);const c=n;r.oe=n=new Uint8Array(Dc(c)+i),Rc(n,c),Rc(n,a,Dc(c));const u=Wt(n);Sc(u,28,o+i),r.ye=u,t.fe+=i}function qs(t){const e=new Uint8Array(4);Wt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}function Ks({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,o=N,a=0,s=t?20:12;return r&&(s+=4),e&&(o=new Uint8Array(s),n=Wt(o),r&&(a=4,gc(n,0,i))),{ie:o,he:n,me:a}}function Xs(r){let n=0,o=!1;for(const[,i]of r){const{rawFilename:r,Gt:a,rawComment:s,qt:c,Kt:u,rawExtraField:l,Xt:d,we:w,pe:p,Zt:h,uncompressedSize:y,compressedSize:b}=i;let{Wt:E,Lt:S}=i;h||(E&&y<t&&(E=i.Wt=!1),S&&b<t&&(S=i.Lt=!1)),o=o||E||S;const g=i.offset>=t,A=i.diskNumberStart>=e;let R,D;if(g||A||E||S){const t=4+(E?8:0)+(S?8:0)+(g?8:0)+(A?4:0),e=$s(t);e.Oe(1),e.Oe(t-4),E&&e.Ce(y),S&&e.Ce(b),g&&e.Ce(i.offset),A&&e.Fe(i.diskNumberStart),R=e.st}else R=N;if(i.Ht=R,i.ze=g,i.Vt=A,p===I)D=N;else{const t=$s(9);t.Oe(m),t.Oe(5),t.je(w),t.Fe(p),D=t.st}i.Yt=D;const x=Dc(R,a,c,u,D,l,d);if(x>e)throw new Error(es);n+=f+Dc(r,s)+x}return{ge:n,Ae:o}}function $s(t){const e=new Uint8Array(t),r=Wt(e);let n=0;return{st:e,je:t=>{!function(t,e,r){t.setUint8(e,r)}(r,n,t),n+=1},Oe:t=>{Sc(r,n,t),n+=2},Fe:t=>{gc(r,n,t),n+=4},Ce:t=>{Ac(r,n,BigInt(t)),n+=8},Ie:t=>{Rc(e,t,n),n+=Dc(t)},Be:t=>n+=t}}function Js(t){const{diskNumber:e=0}=t;return e}function Qs(t){const{diskOffset:e=0}=t;return e}function tc(t,e){const{availableSize:r=T}=t;return e>r}function ec(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.It:0)}function rc(t){const e=Wt(t);let r=0;for(;r+4<=Dc(t);){const n=4+Ec(e,r+2);if(1==Ec(e,r))return rc(Pt(t.subarray(0,r),t.subarray(Math.min(r+n,Dc(t)))));r+=n}return t}async function nc(t,e,r,n){if(n>0){const{writer:o}=t;let i=0;try{await uc(Io(e,{offset:r,size:n}),o,I,t=>i+=t)}catch(e){t.hasCorruptedEntries=!0;try{e.corruptedEntry=!0}catch{}throw e}finally{o.size+=i,t.offset+=i}}}async function oc(t,e){const r=await Oo(t,e,z);if(Dc(r)<z)return z;const n=Wt(r);return z+Ec(n,26)+Ec(n,28)}function ic(t,{offset:e,diskNumberStart:r}){return e+(t.wt?t.wt(r):0)}function ac(){const t=new Uint8Array(4);return gc(Wt(t),0,o),t}async function sc(t,e){delete t.zt,await cc(e,ac()),t.offset+=4}async function cc(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Dc(e),await n.write(e)}finally{n.releaseLock()}}async function uc(t,e,r,n){const o=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){await o.ready,await o.write(t),n(Dc(t))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{o.releaseLock()}}function lc(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<os?os:e>is?is:e}}function fc(t){return Math.floor(t.getTime()/1e3)}function dc(t){return Math.min(ns,Math.max(rs,t))}function wc(t,e,r,n){const o=e[r]===I?t.options[r]:e[r];return o===I?n:o}function pc(t,e,r,n){const o=wc(t,e,r,n);if(null===o)return n;if(o!==I&&(typeof o.getTime!=C||Number.isNaN(o.getTime())))throw new Error(Ha);return o}function hc(t,e,r){return ft(wc(t,e,r))}function mc(t,e,r,n){return bt(wc(t,e,r,n))}function yc(t){return t+5*(Math.floor(t/16383)+1)}function bc(t,e){return t===I?e===I||e>0:0!==t}function Ec(t,e){return t.getUint16(e,!0)}function Sc(t,e,r){t.setUint16(e,r,!0)}function gc(t,e,r){t.setUint32(e,r,!0)}function Ac(t,e,r){t.setBigUint64(e,r,!0)}function Rc(t,e,r){t.set(e,r)}function Dc(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function xc({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:o,compressedSize:i,lastModDate:a,rawLastModDate:s,rawFilename:c,Lt:u,Wt:l,extraFieldLength:f}){const d=$s(26),w=d.st,p=Wt(w);if(d.Oe(e),d.Oe(r),d.Oe(n),s===I){const t=new Uint32Array(1),e=Wt(t);Sc(e,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Sc(e,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),s=t[0]}return d.Fe(s),d.Be(4),u||i!==I?d.Fe(u?t:i):d.Be(4),l||o!==I?d.Fe(l?t:o):d.Be(4),d.Oe(Dc(c)),d.Oe(f),{Bt:w,Pt:p,rawLastModDate:s}}function zc(t){return t.every(t=>t>=32&&t<=126)}function Fc(t,e,r,n,o){let i=0;return e&&(i|=S),r&&(i|=8),8!=o&&9!=o||(t>=0&&t<=3&&(i|=6),t>3&&t<=5&&(i|=4),9==t&&(i|=2)),n&&(i|=1),i}function Oc(){return"application/octet-stream"}function Ic(){const{CompressionStream:t,DecompressionStream:e,CompressionStreamFallback:r,DecompressionStreamFallback:n}=Ut(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:Tc(r,yr)||Tc(t,yr)||Tc(t,Er),decompression:Tc(n,yr)||Tc(e,yr)||Tc(e,Er),registered:!1},{compressionMethod:9,compression:!1,decompression:Tc(n,br)||Tc(e,br),registered:!1}];for(const t of fr()){const e=dr(t.format);o.push({compressionMethod:t.compressionMethod,compression:e?typeof e.CompressionStream==C:I,decompression:e?typeof e.DecompressionStream==C:I,registered:!0})}return o}function Tc(t,e){if(!t)return!1;const{Pe:r}=t;return r?r.includes(e):xr(t,e)}const Uc="2.15.0",Cc=1048576,kc=".zip.js-temp";function vc(t={}){const{thresholdBytes:e=Cc,directoryName:r=kc,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let o;function i(){return o||(o=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),o}return function(){const t=[];let r,n,o,a,s=0,c=!1;const u=new WritableStream({async write(a){c?await o.write(a):(t.push(a),s+=a.length,s>e&&await async function(){const e=await i();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),o=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await o.write(e);t.length=0}())},async close(){o&&(await o.close(),o=null)}});let l=0;return{writable:u,readable:new ReadableStream({async pull(e){if(c){if(!a){const t=await n.getFile();a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else l<t.length?e.enqueue(t[l++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(o){try{await o.close()}catch{}o=null}if(r){try{const t=await i();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Mc=1048576;function Nc(t={}){const{thresholdBytes:e=Mc}=t;return function(){const t=[];let r,n,o,i=0,a=!1;const s=new WritableStream({async write(o){a?await r.write(o):(t.push(o),i+=o.length,i>e&&await async function(){const e=new TransformStream;n=Qe(e.readable),r=e.writable.getWriter(),a=!0;for(const e of t)await r.write(e);t.length=0}())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:s,readable:new ReadableStream({async pull(e){if(a){if(!o){const t=await n;o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const _c=1048576,jc=".zip.js-temp",Bc="createSyncAccessHandle is only available in dedicated workers";function Pc(t={}){const{thresholdBytes:e=_c,directoryName:r=jc,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new Error(Bc);const o=n||(()=>navigator.storage.getDirectory());let i;function a(){return i||(i=Promise.resolve(o()).then(t=>t.getDirectoryHandle(r,{create:!0}))),i}return function(){const t=[];let r,n,o=0,i=!1,s=0,c=0;const u=new WritableStream({async write(c){i?(n.write(c,{at:s}),s+=c.length):(t.push(c),o+=c.length,o>e&&await async function(){const e=await a();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const o=await e.getFileHandle(r,{create:!0});n=await o.createSyncAccessHandle(),i=!0;for(const e of t)n.write(e,{at:s}),s+=e.length;t.length=0}())},close(){n&&n.flush()}});let l=0;const f=new ReadableStream({pull(e){if(i){const t=s-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),o=n.read(r,{at:c});o?(c+=o,e.enqueue(r.subarray(0,o))):e.close()}else l<t.length?e.enqueue(t[l++]):e.close()}},{highWaterMark:0});return{writable:u,readable:f,dispose:async function(){if(n){try{n.close()}catch{}n=null}if(r){try{const t=await a();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{jt({baseURI:import.meta.url})}catch{}const Lc="deflate",Wc="deflate-raw",Zc="deflate64-raw",Vc="gzip";let Hc,Gc,Yc,qc,Kc;function Xc(t,e,r={}){if(!Hc){const t=new Error("WASM module not loaded");throw t.cause=Kc,t}const n="number"==typeof r.level?r.level:-1,o="number"==typeof r.outBuffer?r.outBuffer:65536,i="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Le=Gc(o),this.in=Gc(i),this.inBufferSize=i,!this.Le||!this.in)throw new Error("allocation failed");if(t?(this.We=Hc.deflate_process,this.Ze=Hc.deflate_last_consumed,this.Ve=Hc.deflate_end,this.He=Hc.deflate_new(),r=e===Vc?Hc.deflate_init_gzip(this.He,n):e===Wc?Hc.deflate_init_raw(this.He,n):Hc.deflate_init(this.He,n)):e===Zc?(this.We=Hc.inflate9_process,this.Ze=Hc.inflate9_last_consumed,this.Ve=Hc.inflate9_end,this.He=Hc.inflate9_new(),r=Hc.inflate9_init_raw(this.He)):(this.We=Hc.inflate_process,this.Ze=Hc.inflate_last_consumed,this.Ve=Hc.inflate_end,this.He=Hc.inflate_new(),r=e===Wc?Hc.inflate_init_raw(this.He):e===Vc?Hc.inflate_init_gzip(this.He):Hc.inflate_init(this.He)),0!==r)throw new Error("init failed:"+r)}catch(t){throw a(this),t}},transform(t,e){try{const r=t,n=new Uint8Array(qc.buffer),i=this.We,a=this.Ze,s=this.Le;let c=0;for(;c<r.length;){const t=Math.min(r.length-c,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&Yc&&(Yc(this.in),this.in=0),this.in=Gc(t),this.inBufferSize=t,!this.in))throw new Error("allocation failed");n.set(r.subarray(c,c+t),this.in);const u=i(this.He,this.in,t,s,o,0),l=u>>24&255,f=128&l?l-256:l;if(f<0)throw new Error("process error:"+f);const d=16777215&u;d&&e.enqueue(n.slice(s,s+d));const w=a(this.He);if(0===w&&0===d)break;c+=w}}catch(t){a(this),e.error(t)}},flush(t){try{const e=new Uint8Array(qc.buffer),r=this.We,n=this.Le;for(;;){const i=r(this.He,0,0,n,o,4),a=i>>24&255,s=128&a?a-256:a;if(s<0)throw new Error("process error:"+s);const c=16777215&i;if(c&&t.enqueue(e.slice(n,n+c)),1===a||0===c)break}}catch(e){t.error(e)}finally{const e=a(this);0!==e&&t.error(new Error("end error:"+e))}},cancel(){a(this)}});function a(t){let e=0;return t.He&&t.Ve&&(e=t.Ve(t.He)),t.He=0,t.in&&Yc&&Yc(t.in),t.in=0,t.Le&&Yc&&Yc(t.Le),t.Le=0,e}}class $c{constructor(t=Lc,e){return Xc(!0,t,e)}}class Jc{constructor(t=Lc,e){return Xc(!1,t,e)}}$c.R=!0,Jc.R=!0,$c.Pe=[Lc,Wc,Vc],Jc.Pe=[Lc,Wc,Vc,Zc];const Qc=65536;let tu,eu;function ru(t){return new Uint8Array(t.memory.buffer)}let nu,ou=!1;var iu;async function au(){await async function(){await Promise.allSettled([En(),...ln.map(t=>(An(t),t.terminate()))]),jr=I,Br=!1}(),nu=null,ou=!1,Hc=Gc=Yc=qc=Kc=null,tu=null,eu=0}iu=function(t,e){const r=tu;let n=r?function(t,e,r){eu||(eu=t.malloc(Qc));const n=eu?t.aes_hmac_new():0;if(n){const o=ru(t);if(o.set(e,eu),o.set(r,eu+e.length),t.aes_hmac_init(n,eu,e.length,eu+e.length,r.length))return t.aes_hmac_end(n,0),0}return n}(r,t,e):0;if(!n)return we(t,e);const o=eu;return{process(t,e){for(let i=0;i<t.length;i+=Qc){const a=t.subarray(i,i+Qc),s=ru(r);s.set(a,o),r.aes_hmac_process(n,o,a.length,e?1:0),a.set(s.subarray(o,o+a.length))}},digest:()=>(r.aes_hmac_end(n,o),n=0,ru(r).slice(o,o+20)),dispose(){n&&(r.aes_hmac_end(n,0),n=0)}}},ve=iu||we,function({Ge:t}){Lr=t}({Ge:t=>{if(!nu){let{wasmURI:e}=t;typeof e==C&&(e=e()),nu=async function(t,{baseURI:e}){if(!ou)try{await async function(t,e){let r,n;try{try{n=new URL(t,e)}catch{}const o=await fetch(n);r=await o.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=function(t){const e=t.split(",")[1],r=atob(e),n=r.length,o=new Uint8Array(n);for(let t=0;t<n;++t)o[t]=r.charCodeAt(t);return o.buffer}(t)}const o=await WebAssembly.instantiate(r);var i;(function(t){if(Hc=t,({malloc:Gc,free:Yc,memory:qc}=Hc),"function"!=typeof Gc||"function"!=typeof Yc||!qc)throw Hc=Gc=Yc=qc=null,new Error("Invalid WASM module")})(o.instance.exports),typeof(i=o.instance.exports).aes_hmac_new==C&&(tu=i,eu=0)}(t,e),ou=!0}catch(t){throw function(t){Kc=t}(t),t}}(e,t).catch(t=>{throw nu=null,t})}return nu}}),jt({CompressionStreamFallback:$c,DecompressionStreamFallback:Jc}),jt({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const su="Entry filename already exists",cu="Duplicate entry filename in the imported zip file",uu='Invalid duplicates option (must be "throw", "keep-first" or "keep-last")',lu="Entry is an ancestor of target entry",fu="Root directory cannot be moved",du="Target entry is not a directory",wu="Parent entry is not a directory",pu="Readable stream already consumed",hu="throw",mu="keep-first",yu="keep-last",bu=new Set([hu,mu,yu]),Eu="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",Su="Invalid readerOptions (must be an object)",gu="The 'compressed' passThrough option is only supported by Entry#getData() and ZipWriter#add()",Au="zipjs-abort-export";class Ru{constructor(t,e,r,n){const o=this;if(t.root&&n&&n.getChildByName(e))throw new Error(su);r||(r={}),Object.assign(o,{fs:t,name:e,data:r.data,options:r.options&&Object.assign({},r.options),id:t.Ye++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,qe:r.qe||r.uncompressedSize===I,passThrough:r.passThrough,Ke:r.Ke||new Date}),!n&&t.root||(t.entries[o.id]=o),n&&o.parent.children.push(o)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,r=this.parent;for(;r&&r!=t;)e=(r.name?r.name+"/":"")+e,r=r.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return Boolean(e)}rename(t){const e=this;let r=e.parent;if(r){const n=$u(t);n&&(t=n.pop(),r=Ju(r,n,e));const o=r.getChildByName(t);if(o&&o!=e)throw new Error(su);r!=e.parent&&(Mu(e),e.parent=r,r.children.push(e),Ku(e.fs,e))}e.name=t}setOptions(t){const e=Object.assign({},this.options,t);this.options=Object.fromEntries(Object.entries(e).filter(([,t])=>t!==I))}}class Du extends Ru{constructor(t,e,r,n){super(t,e,r,n);const o=this;o.Reader=r.Reader,o.Writer=r.Writer,r.getData&&(o.getData=r.getData)}clone(){return new Du(this.fs,this.name,this)}async getData(t,e={}){const r=this;if(!t||t.constructor==r.Writer&&r.data&&function(t,e){const{contentType:r}=t;return r===I||(t.constructor==qn?e.type==r:t.constructor!=Vn||e.startsWith("data:"+(r||"")+";base64,"))}(t,r.data))return r.data;{const n=r.reader=ku(r.Reader,r.data,e),o=r.uncompressedSize||n.size;await Promise.all([zo(n),zo(t,o)]);const i=dt(e.signal),a=function(t,e,r,n){const{onstart:o,onprogress:i,onend:a}=r,{readable:s}=e;return t.data instanceof fi||!o&&!i&&!a?s:Je(s).pipeThrough(new Gr({onstart:o,onprogress:i,onend:a,size:e.size}),{signal:n})}(r,n,e,i),s=!xo(t)&&Boolean(e.preventClose);return r.uncompressedSize=n.size,await Je(a).pipeTo(tr(t.writable),{signal:i,preventClose:s,preventAbort:s}),t.getData?t.getData():t.writable}}isPasswordProtected(){return Boolean(this.data&&this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,Object.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(Zt(t)&&t.message==Ee)return!1;throw t}}getText(t,e){return this.getData(new $n(t),e)}getBlob(t,e){return this.getData(new qn(t),e)}getData64URI(t,e){return this.getData(new Vn(t),e)}getUint8Array(t){return this.getData(new So,t)}getWritable(t=new WritableStream,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return Lt(await this.getUint8Array(t)).buffer}replaceBlob(t){Lu(this,{data:t,Reader:Yn,Writer:qn,uncompressedSize:t.size})}replaceText(t){Lu(this,{data:t,Reader:Kn,Writer:$n,uncompressedSize:Xn(t)})}replaceData64URI(t){Lu(this,{data:t,Reader:Zn,Writer:Vn,uncompressedSize:Wu(t)})}replaceUint8Array(t){Lu(this,{data:t,Reader:Eo,Writer:So,uncompressedSize:t.length})}replaceReadable(t){Lu(this,{data:null,Reader:Uu(t),Writer:null,uncompressedSize:I})}}class xu extends Ru{constructor(t,e,r,n){super(t,e,r,n),this.directory=!0}clone(t){const e=this,r=new xu(e.fs,e.name,e);return t&&(r.children=e.children.map(e=>{const n=e.clone(t);return n.parent=r,n})),r}addDirectory(t,e){return Xu(this,t,{options:e},!0)}addText(t,e,r={}){return Xu(this,t,{data:e,Reader:Kn,Writer:$n,options:r,uncompressedSize:Xn(e)})}addBlob(t,e,r={}){return Xu(this,t,{data:e,Reader:Yn,Writer:qn,options:r,uncompressedSize:e.size})}addData64URI(t,e,r={}){return Xu(this,t,{data:e,Reader:Zn,Writer:Vn,options:r,uncompressedSize:Wu(e)})}addUint8Array(t,e,r={}){return Xu(this,t,{data:e,Reader:Eo,Writer:So,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return Xu(this,t,{data:e,Reader:class extends yo{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return Xu(this,t,{Reader:Uu(e),options:r})}addFileSystemEntry(t,e={}){return Hu(this,t,e)}addFileSystemHandle(t,e={}){return Hu(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),Xu(this,t.name,{data:t,Reader:function(){return{readable:t.stream(),size:t.size}},options:e,uncompressedSize:t.size})}importBlob(t,e){return this.importZip(new Yn(t),e)}importData64URI(t,e){return this.importZip(new Zn(t),e)}importUint8Array(t,e){return this.importZip(new Eo(t),e)}importHttpContent(t,e){return this.importZip(new yo(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new qn(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new Vn(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new So,t)}async exportWritable(t=new WritableStream,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return async function(t,e,r){const{onstart:n,onprogress:o,onend:i}=r;Pu(r.passThrough);const a=Bu(r.readerOptions),s=new AbortController,{signal:c}=s,u=function(t,e){if(!dt(t))return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const r=()=>e.abort(t.reason);return t.addEventListener("abort",r,{once:!0}),()=>t.removeEventListener("abort",r)}(r.signal,s),l=Object.assign({},r,a,{signal:c,onstart:I,onprogress:I,onend:I,preventClose:!1}),f=Ou([t],t=>Tu(t,l.passThrough)),d=[];let w=!1,p=0;try{n&&await Yr(n,f),await m(t,e),i&&await Yr(i,p)}catch(t){try{t.exportedEntryNames=d}catch{}throw t}finally{u()}return e;function h(t){const e=t.getWriter();return new WritableStream({async write(t){await e.write(t),p+=t.length,o&&await Yr(o,p,f)},close:()=>e.close(),abort:t=>e.abort(t)})}async function m(t,e){if(r.concurrent){const r=(await Promise.allSettled(t.children.map(t=>y(t,e)))).filter(t=>"rejected"==t.status);if(r.length){const t=r.filter(t=>!Nu(t.reason));throw function(t){const[e]=t,r=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(r.length)try{e.entryErrors=[...e.entryErrors||[],...r]}catch{}return e}((t.length?t:r).map(t=>t.reason))}}else for(const r of t.children)await y(r,e)}async function y(e,r){if(c.aborted){if(w||Nu(c.reason))return;wt(c)}try{if(e.directory){const t=await r.getDirectoryHandle(e.name,{create:!0});await m(e,t)}else{const n=await r.getFileHandle(e.name,{create:!0}),o=await n.createWritable();try{await e.getData({writable:h(o)},l)}catch(t){throw w?new Error(Au):t}d.push(e.getRelativeName(t))}}catch(r){w=!0,s.abort(new Error(Au));try{r.entryName===I&&(r.entryName=e.getRelativeName(t),r.entryId=e.id)}catch{}throw r}}}(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==C?(r=t,e=Object.assign({},r.options,e)):(await zo(t),r=new ra(t,e)),Pu(e.passThrough);const n=function(t){if(t===I)return hu;if(bu.has(t))return t;throw new Error(uu)}(e.duplicates),o=[],i=await r.getEntries(e);for(const t of i){let r=this;try{const i=t.filename.split("/").filter(t=>""!=t&&"."!=t),a=i.pop();let s=!1;for(const t of i){const e=r;if(r=r.getChildByName(t),r){if(!r.directory){if(n==mu){s=!0;break}if(n!=yu)throw new Error(cu);this.fs.remove(r),r=new xu(this.fs,t,{data:null},e),o.push(r)}}else r=new xu(this.fs,t,{data:null},e),o.push(r)}if(s)continue;if(t.directory){let e=r;if(a){if(e=r.getChildByName(a),e&&(!e.directory||e.data)){if(n==mu)continue;if(n!=yu)throw new Error(cu);e.directory?e.data=t:(this.fs.remove(e),e=I)}e||(e=new xu(this.fs,a,{data:null},r),o.push(e))}e==this||e.data||(e.data=t)}else{const i=r.getChildByName(a);if(i){if(n==mu)continue;if(n!=yu)throw new Error(cu);this.fs.remove(i)}o.push(Xu(r,a,{data:t,Reader:Cu(Object.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}}catch(e){o.reverse().forEach(t=>this.fs.remove(t));try{e.cause={entry:t}}catch{}throw e}}return o}async exportZip(t,e={}){const r=this,n=Boolean(t)&&typeof t.add==C;e=Object.assign({},e),n||e.bufferedWrite!==I||(e.bufferedWrite=!0);const[o]=await Promise.all([vu(r,Bu(e.readerOptions)),n?I:zo(t)]),i=n?t:new ks(t,e);return await async function(t,e,r,n,o){const{onstart:i,onprogress:a,onend:s,onentryprogress:c}=n,u=e,l=Ou(e.children,t=>Vu(t)?0:1);let f=0,d=0;if(i&&await Yr(i,r),n.bufferedWrite)await async function t(e){const r=(await Promise.allSettled(e.children.map(async e=>{await w(e),await t(e)}))).find(t=>"rejected"==t.status);if(r)throw r.reason}(e);else for(const t of e.getChildren({recursive:!0}))await w(t);async function w(e){if(Vu(e))return;const{name:i,$t:s}=_u(e,u,n);let w=0;const p=await t.add(i,o.get(e),Object.assign(s,{onstart:I,onend:I,onprogress:async t=>{f+=t-w,w=t,a&&await Yr(a,f,r)}}));d++,c&&await Yr(c,d,l,p)}s&&await Yr(s,f)}(i,r,Ou([r],Iu),e,o),n?i:(await i.close(e.globalComment),t.getData?t.getData():t.writable)}async getExportedSize(r={}){const n=this;Bu((r=Object.assign({},r)).readerOptions),r.bufferedWrite===I&&(r.bufferedWrite=!0);const o=n.getChildren({recursive:!0}),i=o.filter(t=>!Vu(t)).map(t=>{const{name:e,$t:o}=_u(t,n,r);return{name:e,size:t.directory?0:ju(t,Zu(t,r)),options:o}}),a=!r.bufferedWrite||i.every(t=>!1!==t.options.keepOrder)&&o.every(t=>Vu(t)||!t.children.length);return await async function(r,n,o,i){const a={options:r};if(ft(r[J]))throw new Error(ls);if(i!==I&&!(i instanceof Uint8Array))throw new Error(Wa);const s=Dc(i);if(s>e)throw new Error(La);const c=r[X],u=new Map,l=r[K]===I?0:r[K];let f=l,w=T;const p=[],h=new Set;for(const e of n){let{name:r}=e;const{size:n}=e,o=Object.assign({},e.options);wc(a,o,ei)&&!r.endsWith(x)&&(r+=x);const i=Ls(a,r,o);({name:r}=i);const{Qt:s}=Ws(a,r,o);0==s.level||s.compressionMethod!==I||s.ee||await Wr(Ut())||(s.level=0);const l=!wc(a,o,ei);if(l&&n===I)throw new Error(ls);const{Ne:d,Qt:m}=Vs(a,l,n,s,o);if(l&&!s.ee&&bc(m.compressionMethod,m.level))throw new Error(ls);const y=Object.assign({},o,i.Qt,s,m,{[X]:c}),b=Gs(y),E=Ks(y),S={se:b,fe:Dc(b.oe,E.ie)};c&&Ys(S,f);const g=l?d:0;u.set(r,Object.assign({},y,b,{offset:f,diskNumberStart:0,compressedSize:g}));const A=S.fe+g;p.push(A),h.add(Boolean(y.Zt||y.uncompressedSize>=t||g>=t)),w=Math.min(w,A),f+=A}if(u.size>1&&(c||f-w>=t&&(h.size>1||Hs(p,l,!0)!=Hs(p,l,!1)))&&!o)throw new Error(ls);const{ge:m,Ae:y}=Xs(u);let b=wc(a,r,Xo);if(f>=t||m>=t||u.size>=e){if(!1===b)throw new Error(as);b=!0}else b===I&&y&&(b=!0);return f-l+m+s+(b?98:d)}(r,i,a,r.globalComment)}getChildByName(t){const e=this.children;for(let r=0;r<e.length;r++){const n=e[r];if(n.name==t)return n}}getChildren(t={}){return function(t,e){const r=[],n=[t];let o=0;for(;o<n.length;)for(const t of n[o++].children)r.push(t),e&&n.push(t);return r}(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const r=this.children;return!(await Promise.all(r.map(r=>r.checkPassword(t,e)))).includes(!1)}}class zu{constructor(){Yu(this)}get children(){return this.root.children}remove(t){Mu(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const r of t.children)e.push(r)}t.parent=I}move(t,e){if(t==this.root)throw new Error(fu);if(!e.directory)throw new Error(du);if(e.isDescendantOf(t))throw new Error(lu);if(t!=e){const r=e.getChildByName(t.name);if(r){if(r!=t)throw new Error(su)}else Mu(t),t.parent=e,e.children.push(t),Ku(this,t)}}find(t){const e=t.split("/");let r=this.root;for(let t=0;r&&t<e.length;t++)r=r.directory?r.getChildByName(e[t]):I;return r||(r=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),r}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,r){return this.root.addText(t,e,r)}addBlob(t,e,r){return this.root.addBlob(t,e,r)}addData64URI(t,e,r){return this.root.addData64URI(t,e,r)}addUint8Array(t,e,r){return this.root.addUint8Array(t,e,r)}addHttpContent(t,e,r){return this.root.addHttpContent(t,e,r)}addReadable(t,e,r){return this.root.addReadable(t,e,r)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}importBlob(t,e){return qu(this,r=>r.importBlob(t,e))}importData64URI(t,e){return qu(this,r=>r.importData64URI(t,e))}importUint8Array(t,e){return qu(this,r=>r.importUint8Array(t,e))}importHttpContent(t,e){return qu(this,r=>r.importHttpContent(t,e))}importReadable(t,e){return qu(this,r=>r.importReadable(t,e))}importZip(t,e){return qu(this,r=>r.importZip(t,e))}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}}const Fu={FS:zu,ZipDirectoryEntry:xu,ZipFileEntry:Du};function Ou(t,e){let r=0;const n=Array.from(t);for(;n.length;){const t=n.pop();r+=e(t)||0;for(const e of t.children)n.push(e)}return r}function Iu(t){return t.uncompressedSize}function Tu(t,e){const{data:r}=t;return e&&r instanceof fi?r.compressedSize:t.uncompressedSize}function Uu(t){let e;return function(){if(e)throw new Error(pu);return e=!0,{readable:t}}}function Cu(t){return class extends Ln{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=Object.assign({},t,e.options),{checkOverlappingEntry:n,checkOverlappingEntryOnly:o}=r,i=await e.entry.getData(new qn,Object.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:o||n,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=i,e.Xe=new Yn(i),e.size=i.size,super.init()}readUint8Array(t,e){return this.Xe.readUint8Array(t,e)}}}function ku(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function vu(t,e){const r=[],n=[t],o=new Map;for(;n.length;){const t=n.pop();for(const e of t.children)e.directory?n.push(e):r.push(e)}return await Promise.all(r.map(async t=>{const r=t.reader=ku(t.Reader,t.data,e);o.set(t,r);try{await zo(r)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}r.size!==I&&(t.uncompressedSize=r.size,t.qe=!1)})),o}function Mu(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function Nu(t){return Boolean(t)&&t.message==Au}function _u(t,e,r){const n=r.relativePath?t.getRelativeName(e):t.getFullname(),o=t.options||{};let i={},a={};if(t.data instanceof fi){const e=Zu(t,r),n=o.lastModDate===I?r.lastModDate:o.lastModDate;({$t:i,Jt:a}=Ps(t.data,e,n)),e&&(a.passThrough=!0)}const s=Object.assign({lastModDate:t.Ke},i,r,o,a,{directory:t.directory});if(!t.directory&&s.passThrough&&s.uncompressedSize===I)throw new Error(Eu);return{name:n,$t:s}}function ju(t,e){const{reader:r}=t;return r&&r.size!==I?r.size:t.qe?I:Tu(t,e)}function Bu(t){if(t&&(typeof t!=k||Array.isArray(t)))throw new Error(Su);return t&&Pu(t.passThrough),t}function Pu(t){if(ht(t)===it)throw new Error(gu)}function Lu(t,e){const{uncompressedSize:r}=e;Object.assign(t,e,{reader:null,passThrough:I,uncompressedSize:r===I?0:r,qe:r===I})}function Wu(t){let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;return Math.floor(.75*(e-r))}function Zu(t,e){const{readerOptions:r}=e;return Boolean(!t.directory&&(t.passThrough||r&&r.passThrough))}function Vu(t){return t.directory&&null===t.data}function Hu(t,e,r){return async function t(e,n,o,i=""){if(n){const a=i?i+"/"+n.name:n.name;try{if((n.isFile||n.isDirectory)&&(n=await Gu(n)),"file"==n.kind){const t=await n.getFile();o.push(Xu(e,t.name,{Reader:function(){return{readable:t.stream(),size:t.size}},options:Object.assign({},{lastModDate:new Date(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==n.kind){const i=e.addDirectory(n.name,r);o.push(i);for await(const e of n.values())await t(i,e,o,a)}}catch(t){try{t.entryName===I&&(t.entryName=a)}catch{}throw t}}return o}(t,e,[])}async function Gu(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new Promise((e,r)=>t.file(e,r))),t.isDirectory){e.kind="directory";const r=await async function(t){const e=[];function r(t,n,o){t.readEntries(async i=>{if(i.length){for(const t of i)e.push(await Gu(t));r(t,n,o)}else n(e)},o)}return await new Promise((e,n)=>r(t.createReader(),e,n)),{[Symbol.iterator](){let t=0;return{next(){const r={value:e[t],done:t==e.length};return t++,r}}}}}(t);e.values=()=>r}return e}function Yu(t){t.entries=[],t.Ye=0,t.root=new xu(t)}function qu(t,e){const{entries:r,Ye:n,root:o}=t;return Yu(t),e(t.root).catch(e=>{throw Object.assign(t,{entries:r,Ye:n,root:o}),e})}function Ku(t,e){const r=[e];for(;r.length;){const e=r.pop();t.entries[e.id]=e;for(const t of e.children)r.push(t)}}function Xu(t,e,r,n){if(t.directory){const o=$u(e);return o&&(e=o.pop(),t=Ju(t,o)),n?new xu(t.fs,e,r,t):new Du(t.fs,e,r,t)}throw new Error(wu)}function $u(t){if(t.includes("/")){const e=t.split("/").filter(t=>""!=t&&"."!=t);if(e.length)return e}}function Ju(t,e,r){return e.forEach(e=>{const n=t;if(t=t.getChildByName(e)){if(!t.directory)throw new Error(su);if(r&&(t==r||t.isDescendantOf(r)))throw new Error(lu)}else t=new xu(n.fs,e,{data:null},n)}),t}export{Yn as BlobReader,qn as BlobWriter,Zn as Data64URIReader,Vn as Data64URIWriter,lt as ERR_ABORTED,xi as ERR_AMBIGUOUS_ARCHIVE,lu as ERR_ANCESTOR_ENTRY,pi as ERR_BAD_FORMAT,yi as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Pa as ERR_DUPLICATED_NAME,cu as ERR_DUPLICATE_IMPORTED_ENTRY,Si as ERR_ENCRYPTED,zi as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Di as ERR_ENTRY_DATA_OUT_OF_BOUNDS,su as ERR_ENTRY_EXISTS,mi as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,hi as ERR_EOCDR_NOT_FOUND,Ei as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,On as ERR_HTTP_RANGE,In as ERR_HTTP_RESOURCE_CHANGED,Fn as ERR_HTTP_STATUS,Se as ERR_INVALID_AUTHENTICATION_CODE,St as ERR_INVALID_BASE_URI,er as ERR_INVALID_CODEC_DEFINITION,nr as ERR_INVALID_CODEC_MODULE,La as ERR_INVALID_COMMENT,Wa as ERR_INVALID_COMMENT_TYPE,hr as ERR_INVALID_COMPRESSED_DATA,mr as ERR_INVALID_CRC32,Ha as ERR_INVALID_DATE,uu as ERR_INVALID_DUPLICATES,qa as ERR_INVALID_ENCRYPTION_STRENGTH,Rs as ERR_INVALID_ENTRY,Za as ERR_INVALID_ENTRY_COMMENT,Va as ERR_INVALID_ENTRY_COMMENT_TYPE,Ga as ERR_INVALID_ENTRY_NAME,Ja as ERR_INVALID_EXTRAFIELD,es as ERR_INVALID_EXTRAFIELD_DATA,ts as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Qa as ERR_INVALID_EXTRAFIELD_TYPE,Ii as ERR_INVALID_FILENAME_VALIDATION,at as ERR_INVALID_FUNCTION_OPTION,hs as ERR_INVALID_GID,gs as ERR_INVALID_LEVEL,Ti as ERR_INVALID_MAX_APPENDED_DATA_SIZE,Et as ERR_INVALID_MAX_WORKERS,Es as ERR_INVALID_MSDOS_ATTRIBUTES,Ss as ERR_INVALID_MSDOS_DATA,Ee as ERR_INVALID_PASSWORD,ct as ERR_INVALID_PASSWORD_TYPE,Eu as ERR_INVALID_PASS_THROUGH,ut as ERR_INVALID_PASS_THROUGH_VALUE,ds as ERR_INVALID_READER,Su as ERR_INVALID_READER_OPTIONS,st as ERR_INVALID_SIGNAL,As as ERR_INVALID_SIGNATURE_DATA,Oi as ERR_INVALID_STRICTNESS,ps as ERR_INVALID_UID,pr as ERR_INVALID_UNCOMPRESSED_SIZE,ys as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,bs as ERR_INVALID_UNIX_ID_SIZE,ms as ERR_INVALID_UNIX_MODE,gt as ERR_INVALID_URI,Ya as ERR_INVALID_VERSION,Tn as ERR_ITERATOR_COMPLETED_TOO_SOON,bi as ERR_LOCAL_FILE_HEADER_NOT_FOUND,Ri as ERR_OVERLAPPING_ENTRY,wu as ERR_PARENT_NOT_DIRECTORY,pu as ERR_READABLE_CONSUMED,rr as ERR_RESERVED_COMPRESSION_METHOD,fu as ERR_ROOT_DIRECTORY_NOT_MOVABLE,Ai as ERR_SPLIT_ZIP_FILE,du as ERR_TARGET_NOT_DIRECTORY,cs as ERR_UNDEFINED_COMPRESSION_METHOD,us as ERR_UNDEFINED_CRC32,fs as ERR_UNDEFINED_READER,ss as ERR_UNDEFINED_UNCOMPRESSED_SIZE,ls as ERR_UNDETERMINED_SIZE,Fi as ERR_UNSAFE_FILENAME,or as ERR_UNSUPPORTED_COMPRESSION,Bc as ERR_UNSUPPORTED_CONTEXT,Ae as ERR_UNSUPPORTED_CRYPTO_API,gi as ERR_UNSUPPORTED_ENCRYPTION,$a as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Ka as ERR_UNSUPPORTED_ENCRYPTION_USDZ,as as ERR_UNSUPPORTED_FORMAT,gu as ERR_UNSUPPORTED_PASS_THROUGH_VALUE,Xa as ERR_UNSUPPORTED_SPLIT_USDZ,Ui as ERR_UNSUPPORTED_UINT64,_r as ERR_WORKER_STARTUP_TIMEOUT,Un as ERR_WRITER_NOT_INITIALIZED,Cn as ERR_WRITER_SIZE_NOT_WRITABLE,Ds as ERR_ZIP_CRYPTO_LAST_MOD_DATE,ws as ERR_ZIP_NOT_EMPTY,bo as HttpRangeReader,yo as HttpReader,Ln as Reader,go as SplitDataReader,Ao as SplitDataWriter,Kn as TextReader,$n as TextWriter,Eo as Uint8ArrayReader,So as Uint8ArrayWriter,Uc as VERSION,ji as WARNING_APPENDED_DATA,zs as WARNING_CLAMPED_LAST_MODIFICATION_DATE,vi as WARNING_COMPRESSED_PATCHED_DATA,xs as WARNING_COMPRESSION_UNAVAILABLE,Wi as WARNING_DUPLICATE_FILENAME,Mi as WARNING_MALFORMED_EXTRA_FIELD,Gi as WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,Yi as WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,qi as WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,Hi as WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME,Zi as WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,Vi as WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY,Pi as WARNING_PREPENDED_CENTRAL_DIRECTORY,Bi as WARNING_PREPENDED_DATA,Li as WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,ki as WARNING_UNKNOWN_VERSION,Ni as WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA,Ci as WARNING_UNSORTED_CENTRAL_DIRECTORY,_i as WARNING_WRAPPED_ENTRIES_COUNT,Wn as Writer,xu as ZipDirectoryEntry,Ru as ZipEntry,zu as ZipFS,Du as ZipFileEntry,ra as ZipReader,na as ZipReaderStream,ks as ZipWriter,vs as ZipWriterStream,vt as configure,Nc as createBlobTempStream,vc as createOPFSTempStream,Pc as createSyncAccessHandleTempStream,Fu as fs,Oc as getMimeType,fr as getRegisteredCodecs,Ic as getSupportedCompressionMethods,oa as isZipFile,cr as registerCodec,Bt as resetConfiguration,au as terminateWorkers,ur as unregisterCodec};