@zip.js/zip.js 2.8.41 → 2.8.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -0
- package/deno.json +6 -2
- package/dist/README.md +10 -1
- package/dist/zip-core-external.js +8261 -0
- package/dist/zip-core-external.min.js +1 -0
- package/dist/zip-core.js +144 -11
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +9277 -0
- package/dist/zip-fs-core-external.min.js +1 -0
- package/dist/zip-fs-core.js +144 -11
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +10914 -0
- package/dist/zip-fs-external.min.js +1 -0
- package/dist/zip-fs-native.js +146 -13
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +220 -32
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +146 -13
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +146 -13
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +220 -32
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +146 -13
- package/index-native.min.js +1 -1
- package/index.cjs +220 -32
- package/index.min.js +1 -1
- package/lib/core/codec-worker.js +27 -3
- package/lib/core/external-assets.js +42 -0
- package/lib/core/streams/codec-stream.js +4 -2
- package/lib/core/streams/zip-entry-stream.js +119 -8
- package/lib/core/streams/zlib-wasm/zlib-streams-loader.js +27 -17
- package/lib/core/streams/zlib-wasm/zlib-streams.js +14 -1
- package/lib/core/web-worker-base.js +6 -2
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-writer.js +6 -3
- package/lib/zip-core-external.js +34 -0
- package/lib/zip-fs-core-external.js +30 -0
- package/lib/zip-fs-external.js +30 -0
- package/lib/zip-mime-types.js +29 -0
- package/lib/zip-module-wasm-base.js +64 -0
- package/lib/zip-module-wasm.js +1 -31
- package/package.json +63 -2
- package/worker-message-property-names.js +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=4294967295,t=65535,r=255,n=67324752,s=134695760,a=s,i=33639248,o=101010256,c=101075792,d=117853008,l=22,m=20,p=21589,f=2048,u=16384,w=2048,h=1024,x="/",v=30,y=new Date(2107,11,31,23,59,58),b=new Date(1980,0,1),g=void 0,k=1/0,z="undefined",S="function",E=new Uint8Array;let R=2;try{typeof navigator!=z&&navigator.hardwareConcurrency&&(R=navigator.hardwareConcurrency)}catch{}const A={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:R,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=z&&CompressionStream,DecompressionStream:typeof DecompressionStream!=z&&DecompressionStream},F=["baseURI","wasmURI","workerURI","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamZlib","DecompressionStreamZlib"],D={...A};function j(){return D}function U(e){return Math.max(e.chunkSize,64)}function O(e){for(const t of F){const r=e[t];r!==g&&(D[t]=r)}}function T(e){for(const t of F){const r=e[t];r!==g&&(A[t]=r)}O(e)}function M(){for(const e of F)delete D[e];Object.assign(D,A)}const C="Invalid codec definition",I="Reserved compression method",P="Invalid codec module",N="string",W=[0,8,9,99],q=new Map,_=new Map;function B(e={}){const{compressionMethod:r,format:n,codecURI:s,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!Number.isInteger(r)||0>r||r>t||typeof n!=N||!n.length)throw Error(C);if(W.includes(r))throw Error(I);const c=typeof a==S||typeof i==S;if(!(c||typeof s==N&&s.length))throw Error(C);q.set(r,{compressionMethod:r,format:n,codecURI:s,versionNeeded:o}),c&&H(n,{CompressionStream:a,DecompressionStream:i})}function L(e){const t=q.get(e);if(t){let r;q.delete(e),q.forEach(e=>r=r||e.format==t.format),r||_.delete(t.format)}}function Z(e){return q.get(e)}function V(e){return _.get(e)}function H(e,t){const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=S&&typeof n!=S)throw Error(P);_.set(e,{CompressionStream:r,DecompressionStream:n})}const K=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;K[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=K[t-1][e];K[t][e]=r>>>8^K[0][255&r]}const[Y,G,X,J,Q,$,ee,te]=K;class re{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new DataView(e.buffer,e.byteOffset,r),a=r-8;for(;a>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=te[255&e]^ee[e>>>8&255]^$[e>>>16&255]^Q[e>>>24&255]^J[255&r]^X[r>>>8&255]^G[r>>>16&255]^Y[r>>>24&255]}}for(;r>n;n++)t=t>>>8^Y[255&(t^e[n])];this.o=t}get(){return~this.o}}class ne extends TransformStream{constructor(){let e;const t=new re;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function se(e){if(typeof TextEncoder==z){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new TextEncoder).encode(e)}function ae(e,t){const r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r}function ie(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new Uint8Array(e):e}function oe(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}const ce={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=ce.l(r);return 32===n?e.concat(t):ce.m(t,n,0|r,e.slice(0,e.length-1))},h(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+ce.l(r)},v(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=ce.S(t,e[r-1]&2147483648>>t-1,1)),e},S:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,l:e=>Math.round(e/1099511627776)||32,m(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=ce.l(s);return n.push(ce.S(t+a&31,t+a>32?r:n.pop(),1)),n}},de={bytes:{R(e){const t=ce.h(e)/8,r=new Uint8Array(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},A(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(ce.S(8*(3&r),n)),t}}},le=class{constructor(e){const t=this;t.blockSize=512,t.F=[1732584193,4023233417,2562383102,271733878,3285377520],t.D=[1518500249,1859775393,2400959708,3395469782],e?(t.j=e.j.slice(0),t.U=e.U.slice(0),t.O=e.O):t.reset()}reset(){const e=this;return e.j=e.F.slice(0),e.U=[],e.O=0,e}update(e){const t=this;"string"==typeof e&&(e=de.T.A(e));const r=t.U=ce.concat(t.U,e),n=t.O,s=t.O=n+ce.h(e);if(s>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.M(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}C(){const e=this;let t=e.U;const r=e.j;t=ce.concat(t,[ce.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e.O/4294967296)),t.push(0|e.O);t.length;)e.M(t.splice(0,16));return e.reset(),r}I(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}P(e,t){return t<<e|t>>>32-e}M(e){const t=this,r=t.j,n=Array(80);for(let t=0;16>t;t++)n[t]=e[t];let s=r[0],a=r[1],i=r[2],o=r[3],c=r[4];for(let e=0;79>=e;e++){16>e||(n[e]=t.P(1,n[e-3]^n[e-8]^n[e-14]^n[e-16]));const r=t.P(5,s)+t.I(e,a,i,o)+c+n[e]+t.D[Math.floor(e/20)]|0;c=o,o=i,i=t.P(30,a),a=s,s=r}r[0]=r[0]+s|0,r[1]=r[1]+a|0,r[2]=r[2]+i|0,r[3]=r[3]+o|0,r[4]=r[4]+c|0}},me={importKey:e=>new me.N(de.bytes.A(e)),W(e,t,r,n){if(r=r||1e4,0>n||0>r)throw Error("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,c,d;const l=new ArrayBuffer(s),m=new DataView(l);let p=0;const f=ce;for(t=de.bytes.A(t),d=1;(s||1)>p;d++){for(a=i=e.encrypt(f.concat(t,[d])),o=1;r>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>p&&o<a.length;o++)m.setInt32(p,a[o]),p+=4}return l.slice(0,n/8)},N:class{constructor(e){const t=this,r=t._=le,n=[[],[]];t.B=[new r,new r];const s=t.B[0].blockSize/32;e.length>s&&(e=(new r).update(e).C());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.B[0].update(n[0]),t.B[1].update(n[1]),t.L=new r(t.B[0])}reset(){const e=this;e.L=new e._(e.B[0]),e.Z=!1}update(e){this.Z=!0,this.L.update(e)}digest(){const e=this,t=e.L.C(),r=new e._(e.B[1]).update(t).C();return e.reset(),r}encrypt(e){if(this.Z)throw Error("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},pe=typeof crypto!=z&&typeof crypto.getRandomValues==S,fe="Invalid password",ue="Invalid signature",we="zipjs-abort-check-password";function he(e){if(pe)return crypto.getRandomValues(e);throw Error("Crypto API not supported")}const xe=16,ve={name:"PBKDF2"},ye=Object.assign({hash:{name:"HMAC"}},ve),be=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},ve),ge=["deriveBits"],ke=[8,12,16],ze=[16,24,32],Se=10,Ee=[0,0,0,0],Re=typeof crypto!=z,Ae=Re&&crypto.subtle,Fe=Re&&typeof Ae!=z,De=de.bytes,je=class{constructor(e){const t=this;t.V=[[[],[],[],[],[]],[[],[],[],[],[]]],t.V[0][0][0]||t.H();const r=t.V[0][4],n=t.V[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw Error("invalid aes key size");for(t.D=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.K(e,0)}decrypt(e){return this.K(e,1)}H(){const e=this.V[0],t=this.V[1],r=e[4],n=t[4],s=[],a=[];let i,o,c,d;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=i=0;!r[l];l^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[l]=a,n[a]=l,d=s[c=s[o=s[l]]];let m=16843009*d^65537*c^257*o^16843008*l,p=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][l]=p=p<<24^p>>>8,t[r][a]=m=m<<24^m>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}K(e,t){if(4!==e.length)throw Error("invalid aes block size");const r=this.D[t],n=r.length/4-2,s=[0,0,0,0],a=this.V[t],i=a[0],o=a[1],c=a[2],d=a[3],l=a[4];let m,p,f,u=e[0]^r[0],w=e[t?3:1]^r[1],h=e[2]^r[2],x=e[t?1:3]^r[3],v=4;for(let e=0;n>e;e++)m=i[u>>>24]^o[w>>16&255]^c[h>>8&255]^d[255&x]^r[v],p=i[w>>>24]^o[h>>16&255]^c[x>>8&255]^d[255&u]^r[v+1],f=i[h>>>24]^o[x>>16&255]^c[u>>8&255]^d[255&w]^r[v+2],x=i[x>>>24]^o[u>>16&255]^c[w>>8&255]^d[255&h]^r[v+3],v+=4,u=m,w=p,h=f;for(let e=0;4>e;e++)s[t?3&-e:e]=l[u>>>24]<<24^l[w>>16&255]<<16^l[h>>8&255]<<8^l[255&x]^r[v++],m=u,u=w,w=h,h=x,x=m;return s}},Ue=class{constructor(e,t){this.Y=e,this.G=t,this.X=t}reset(){this.X=this.G}update(e){return this.J(this.Y,e,this.X)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}J(e,t,r){let n;if(!(n=t.length))return[];const s=ce.h(t);for(let s=0;n>s;s+=4){this.ee(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return ce.v(t,s)}},Oe=me.N;let Te=Re&&Fe&&typeof Ae.importKey==S,Me=Re&&Fe&&typeof Ae.deriveBits==S;class Ce extends TransformStream{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n}){super({start(){Pe(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:a,te:i,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await We(e,t,r,_e(n,0,ke[t])),a=_e(n,ke[t]);if(s[0]!=a[0]||s[1]!=a[1])throw Error(fe)})(r,a,s,_e(e,0,ke[a]+2)),e=_e(e,ke[a]+2),n?t.error(Error(we)):i()):await o;const c=new Uint8Array(e.length-Se-(e.length-Se)%xe);t.enqueue(Ne(r,e,c,0,Se,!0))},async flush(e){const{re:t,ne:r,pending:n,ready:s}=this;if(r&&t){await s;const a=_e(n,0,n.length-Se),i=_e(n,n.length-Se);let o=E;if(a.length){const e=Le(De,a);r.update(e);const n=t.update(e);o=Be(De,n)}const c=_e(Be(De,r.digest()),0,Se);let d=n.length<Se?1:0;for(let e=0;Se>e;e++)d|=c[e]^i[e];if(d)throw Error(ue);e.enqueue(o)}}})}}class Ie extends TransformStream{constructor({password:e,rawPassword:t,encryptionStrength:r}){let n;super({start(){Pe(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,te:a,ready:i}=r;let o=E;n?(o=await(async(e,t,r)=>{const n=he(new Uint8Array(ke[t]));return ae(n,await We(e,t,r,n))})(r,s,n),a()):await i;const c=new Uint8Array(o.length+e.length-e.length%xe);c.set(o,0),t.enqueue(Ne(r,e,c,o.length,0))},async flush(e){const{re:t,ne:r,pending:s,ready:a}=this;if(r&&t){await a;let i=E;if(s.length){const e=t.update(Le(De,s));r.update(e),i=Be(De,e)}n.signature=Be(De,r.digest()).slice(0,Se),e.enqueue(ae(i,n.signature))}}}),n=this}}function Pe(e,t,r,n){Object.assign(e,{ready:new Promise(t=>e.te=t),password:qe(t,r),strength:n-1,pending:E})}function Ne(e,t,r,n,s,a){const{re:i,ne:o,pending:c}=e;c.length&&(t=ae(c,t));const d=t.length-s;let l;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new Uint8Array(t)).set(r,0)}return e})(r,n+(d-d%xe)),l=0;d-xe>=l;l+=xe){const e=Le(De,_e(t,l,l+xe));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(Be(De,s),l+n)}return e.pending=_e(t,l),r}async function We(e,t,r,n){e.password=null;const s=await(async(e,t,r,n,s)=>{if(!Te)return me.importKey(t);try{return await Ae.importKey("raw",t,r,!1,s)}catch{return Te=!1,me.importKey(t)}})(0,r,ye,0,ge),a=await(async(e,t,r)=>{if(!Me)return me.W(t,e.salt,be.iterations,r);try{return await Ae.deriveBits(e,t,r)}catch{return Me=!1,me.W(t,e.salt,be.iterations,r)}})(Object.assign({salt:n},be),s,8*(2*ze[t]+2)),i=new Uint8Array(a),o=Le(De,_e(i,0,ze[t])),c=Le(De,_e(i,ze[t],2*ze[t])),d=_e(i,2*ze[t]);return Object.assign(e,{keys:{key:o,se:c,passwordVerification:d},re:new Ue(new je(o),Array.from(Ee)),ne:new Oe(c)}),d}function qe(e,t){return t===g?se(e):t}function _e(e,t,r){return e.subarray(t,r)}function Be(e,t){return e.R(t)}function Le(e,t){return e.A(t)}class Ze extends TransformStream{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){He(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=Ke(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw Error(fe);e=e.subarray(12)}n?t.error(Error(we)):t.enqueue(Ke(r,e))}})}}class Ve extends TransformStream{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){He(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=he(new Uint8Array(12));t[11]=r.passwordVerification,n=new Uint8Array(e.length+t.length),n.set(Ye(r,t),0),s=12}else n=new Uint8Array(e.length),s=0;n.set(Ye(r,e),s),t.enqueue(n)}})}}function He(e,t,r,n){Object.assign(e,{password:t,rawPassword:r,passwordVerification:n}),((e,t,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(e,{keys:n,ae:new re(n[0]),ie:new re(n[2])}),r)for(let t=0;t<r.length;t++)Ge(e,r[t]);else for(let r=0;r<t.length;r++)Ge(e,t.charCodeAt(r))})(e,t,r)}function Ke(e,t){const r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=Xe(e)^t[n],Ge(e,r[n]);return r}function Ye(e,t){const r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=Xe(e)^t[n],Ge(e,t[n]);return r}function Ge(e,t){let[,r]=e.keys;e.ae.append([t]);const n=~e.ae.get();r=Qe(Math.imul(Qe(r+Je(n)),134775813)+1),e.ie.append([r>>>24]);const s=~e.ie.get();e.keys=[n,r,s]}function Xe(e){const t=2|e.keys[2];return Je(Math.imul(t,1^t)>>>8)}function Je(e){return 255&e}function Qe(e){return 4294967295&e}function $e(e){if(e instanceof ReadableStream)return e;const t=e.getReader();return new ReadableStream({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function et(e){if(e instanceof WritableStream)return e;const t=e.getWriter();return new WritableStream({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const tt="Invalid uncompressed size",rt="Invalid compressed data",nt="deflate-raw",st="gzip",at=[31,139,8];class it extends TransformStream{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:d,deflate64:l,format:m,compressionMethod:p}=e,f=this;let u,w,h,x=super.readable;const v=m&&V(m),y=c&&s&&!l&&!v&&(!a||o)&&!(!i||!n);if(a&&!o||!c||y||(u=new ne,x=wt(x,u)),s)if(v)x=ht(x,ft(v.CompressionStream,m,{level:d,chunkSize:t,compressionMethod:p}));else if(y)h=new ot,x=ht(x,new n(st)),x=wt(x,h);else try{x=ut(x,i,{level:d,chunkSize:t},n,r)}catch(e){let t;try{t=new n(st)}catch{throw e}x=ht(x,t),x=wt(x,new ot)}a&&(o?x=wt(x,new Ve(e)):(w=new Ie(e),x=wt(x,w))),pt(f,x,()=>{let e;a&&!o&&(e=w.signature),a&&!o||!c||(e=y?h.signature:new DataView(u.value.buffer).getUint32(0)),f.signature=e})}}class ot extends TransformStream{constructor(){let e,t=10,r=new Uint8Array(0);super({transform(e,n){if(t){const r=Math.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=ae(r,e));const a=s-8,i=Math.min(a,r.length);n.enqueue(ae(r.subarray(0,i),e.subarray(0,a-i))),r=ae(r.subarray(i),e.subarray(a-i))},flush(){const t=oe(r);e.signature=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class ct extends TransformStream{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:d,deflate64:l,format:m,compressionMethod:p,rawBitFlag:f,outputSize:u}=e;let w,h,x=super.readable;if(a&&(s?x=wt(x,new Ze(e)):(h=new Ce(e),x=wt(x,h))),c){const e=m&&V(m);if(e)x=ht(x,ft(e.DecompressionStream,m,{chunkSize:t,compressionMethod:p,rawBitFlag:f,uncompressedSize:u}));else try{x=ut(x,d,{chunkSize:t,deflate64:l},n,r)}catch(e){if(l||u===g)throw e;let t;try{t=new n(st)}catch{throw e}x=((e,t,r)=>{const n=new re;let s,a,i,o=0,c=!1;const d=new Promise((e,t)=>{a=e,i=t});d.catch(()=>{}),r||a();const l=new TransformStream({start(e){const t=new Uint8Array(10);t.set(at),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await d}finally{f()}const t=new Uint8Array(8),s=oe(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){i(e)}}),m=new TransformStream({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():a(),t.enqueue(e)},cancel(e){i(e)}});return e=wt(e,l),wt(e=ht(e,t),m);function p(){f(),s=setTimeout(()=>i(Error(tt)),5e3)}function f(){clearTimeout(s)}})(x,t,u)}x=(e=>{const t=e.getReader();return new ReadableStream({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=Error(rt);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(x)}a&&!s||!i||(w=new ne,x=wt(x,w)),pt(this,x,()=>{if((!a||s)&&i){const e=new DataView(w.value.buffer);if(o!=e.getUint32(0,!1))throw Error(ue)}})}}const dt=new Map;function lt(e,t){if(!e)return!1;let r=dt.get(e);r||(r=new Map,dt.set(e,r));let n=r.get(t);if(n===g){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function mt(e){return lt(e,nt)}function pt(e,t,r){t=wt(t,new TransformStream({flush:r})),Object.defineProperty(e,"readable",{get:()=>t})}function ft(e,t,r){if(!e)throw Error("Compression method not supported");return new e(t,r)}function ut(e,t,r,n,s){const a=t&&n?n:s||n,i=r.deflate64?"deflate64-raw":nt;let o;try{o=new a(i,r)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,r)}return ht(e,o)}function wt(e,t){return $e(e).pipeThrough(t)}function ht(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const xt="data",vt="deflate",yt="inflate";class bt extends TransformStream{constructor(e,t){super({});const r=this,{codecType:n}=e;let s;n.startsWith(vt)?s=it:n.startsWith(yt)&&(s=ct),r.outputSize=0;let a=0;const i=new s(e,t),o=super.readable,c=new TransformStream({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){Object.assign(r,{inputSize:a})}}),d=new TransformStream({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==g&&r.outputSize>e.outputSize))throw Error(tt)},flush(){const{signature:e}=i;Object.assign(r,{signature:e,inputSize:a})}});Object.defineProperty(r,"readable",{get:()=>o.pipeThrough(c).pipeThrough(i).pipeThrough(d)})}}class gt extends TransformStream{constructor(e){const t=[];let r=0;function n(){const n=new Uint8Array(e);let s=0;for(;e>s;){const r=t[0],a=e-s;r.length>a?(n.set(r.subarray(0,a),s),t[0]=r.subarray(a),s+=a):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}Number.isFinite(e)&&e>=1||(e=65536),super({transform(s,a){for(t.push(s),r+=s.length;r>e;)a.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const kt={type:"module"},zt="error";let St,Et,Rt,At,Ft=!0;try{Ft=typeof structuredClone==S&&structuredClone(new DOMException("","AbortError")).code!==g}catch{}let Dt=()=>{};class jt{constructor(e,{readable:t,writable:r},{options:n,config:s,oe:a,useWebWorkers:i,transferStreams:o,workerURI:c},d){const{signal:l}=a;return Object.assign(e,{ce:!0,de:(e.de||0)+1,readable:t.pipeThrough(new gt(U(s))).pipeThrough(new Ut(a),{signal:l}),writable:r,options:Object.assign({},n),workerURI:c,transferStreams:o,terminate:()=>new Promise(t=>{const{le:r,ce:n}=e;r?(n?e.me=t:(r.terminate(),t()),e.pe=null):t()}),fe(){if(e.ce){const{me:t}=e;t&&(e.me=null,e.ue=!0,e.le.terminate(),t()),e.ce=!1,d(e)}}}),St===g&&(St=typeof Worker!=z),(i&&St?Mt:Tt)(e,s)}}class Ut extends TransformStream{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await Ot(e,r)},async transform(e,n){s+=e.length,t&&await Ot(t,s,r),n.enqueue(e)},async flush(){n&&await Ot(n,s)}})}}async function Ot(e,...t){try{await e(...t)}catch{}}function Tt(e,t){return{run:()=>Ct(e,t)}}function Mt(e,t){const{baseURI:r,chunkSize:n,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.pe){let i;typeof a==S&&(a=a());try{i=Pt(e.workerURI,r,e)}catch{return St=!1,Tt(e,t)}Object.assign(e,{le:i,we:!1,ue:!1,pe:{run:async()=>{try{return await(async(e,t)=>{let r,n;const s=new Promise((e,t)=>{r=e,n=t});Object.assign(e,{reader:null,writer:null,he:r,xe:n,result:s});const{readable:a,options:i}=e,{writable:o,closed:c,ve:d}=(e=>{const t=new AbortController,{writable:r,readable:n}=new TransformStream,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,ve:()=>t.abort()}})(e.writable);let l;try{l=qt({type:"start",options:i,config:t,readable:a,writable:o},e)}catch(t){d();try{await c}catch{}throw e.fe(),t}l||Object.assign(e,{reader:a.getReader(),writer:o.getWriter()});const{workerStartupTimeout:m}=t;e.we||!Number.isFinite(m)||0>m||(e.ye=setTimeout(()=>(e=>{if(e.ye=null,e.we)return;const{xe:t,writer:r}=e;if(It(e),e.le=null,t){const e=Error("Worker startup timeout");e.be=!0,t(e),r&&r.releaseLock()}})(e),m));try{const e=await s;return await p(),await c,e}catch(e){await p(),d();try{await c}catch{}throw e}async function p(){if(!l&&!o.locked)try{await o.getWriter().close()}catch{}}})(e,{chunkSize:n,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(r){if(r&&r.be){St=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,Ct(e,t)}throw r}}}})}return e.pe}async function Ct({options:e,readable:t,writable:r,fe:n},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(vt),r=t?s.CompressionStreamZlib:s.DecompressionStreamZlib,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.ge&&!mt(n))try{await Dt(s)}catch{}}else try{await Dt(s)}catch{r&&!r.ge||(e.useCompressionStream=!0)}}a=new bt(e,s),await t.pipeThrough(a).pipeThrough(new gt(U(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:n,inputSize:i,outputSize:o}=a;return{signature:n,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{n()}}function It(e){const{le:t}=e;if(t)try{t.terminate()}catch{}e.pe=null}function Pt(e,t,r,n,s=!0){let a,i,o;if(Rt===g||Et!==e){const c=typeof e==S;i=c?e(s):e;const d=i.startsWith("data:"),l=i.startsWith("blob:");if(d||l){n===g&&(n=!1),n&&(o=kt);try{a=new Worker(i,o)}catch(s){if(l)try{URL.revokeObjectURL(i)}catch{}if(c&&l)return Pt(e,t,r,n,!1);if(n)throw s;return Pt(e,t,r,!0,!1)}}else{n===g&&(n=!0),n&&(o=kt);try{i=new URL(i,t)}catch{}try{a=new Worker(i,o)}catch(a){if(n)throw a;return Pt(e,t,r,!1,s)}}Et=e,Rt=i,At=o}else a=new Worker(Rt,At);return a.addEventListener("message",e=>{r.we=!0,Nt(r),(async({data:e},t)=>{const{type:r,value:n,messageId:s,result:a,error:i}=e,{reader:o,writer:c,he:d,xe:l,fe:m,de:p}=t,f=()=>t.de!=p;try{if(i){const{message:e,stack:t,code:r,name:n,outputSize:s,cause:a}=i,o=Error(e);Object.assign(o,{stack:t,code:r,name:n,outputSize:s}),a&&(o.cause=Object.assign(Error(a.message),{name:a.name})),u(o)}else{if("pull"==r){const{value:e,done:r}=await o.read();f()||qt({type:xt,value:e,done:r,messageId:s},t)}r==xt&&(await c.ready,await c.write(new Uint8Array(n)),f()||qt({type:"ack",messageId:s},t)),"close"==r&&u(null,a)}}catch(i){f()||(It(t),u(i))}function u(e,t){f()||(e?l(e):d(t),c&&c.releaseLock(),m())}})(e,r)}),a.addEventListener(zt,e=>Wt(e,r)),a.addEventListener("messageerror",e=>Wt(e,r)),a}function Nt(e){const{ye:t}=e;t&&(clearTimeout(t),e.ye=null)}function Wt(e,t){e.preventDefault&&e.preventDefault(),Nt(t);const{we:r,xe:n,writer:s,fe:a}=t;if(It(t),r||(t.le=null),n){let t=e.error||Error(e.message||zt);r||(t=Object.assign(Error(t.message||zt),{be:!0})),n(t),s&&s.releaseLock(),r&&a()}}function qt(e,{le:t,writer:r,transferStreams:n,we:s}){try{const{value:r,readable:a,writable:i}=e,o=[];if(r&&(e.value=ie(r),o.push(e.value.buffer)),n&&Ft&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Ft=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let _t=[];const Bt=[];let Lt,Zt,Vt=0;async function Ht(e,t){const{options:r,config:n}=t,{transferStreams:s,useWebWorkers:a,useCompressionStream:i,compressed:o,signed:c,encrypted:d,format:l,codecURI:m}=r,{workerURI:p,maxWorkers:f}=n;l&&(m&&(r.codecURI=((e,t)=>{try{return new URL(e,t).toString()}catch{return e}})(m,n.baseURI)),await(async(e,t)=>{!_.has(e)&&t&&H(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(l,r.codecURI)),t.transferStreams=s||s===g&&n.transferStreams;const u=!o&&!c&&!d,w=l===g||!!r.codecURI;return t.useWebWorkers=!u&&w&&(a||a===g&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&p?p:g,r.useCompressionStream=i||i===g&&n.useCompressionStream,(await(async()=>{const r=_t.find(e=>!e.ce);if(r)return Jt(r),new jt(r,e,t,h);if(_t.length<f){const r={ke:Vt};return Vt++,_t.push(r),new jt(r,e,t,h)}return new Promise(r=>{Bt.push({resolve:r,stream:e,ze:t}),Zt=n.workerStarvationTimeout,Kt()})})()).run();function h(e){if(Yt(),Bt.length){const[{resolve:t,stream:r,ze:n}]=Bt.splice(0,1);t(new jt(e,r,n,h)),Kt()}else e.le?(Jt(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(e.ue?e.ue=!1:e.Se=setTimeout(async()=>{_t=_t.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):_t=_t.filter(t=>t!=e)}}function Kt(){!Lt&&Bt.length&&Number.isFinite(Zt)&&Zt>=0&&(Lt=setTimeout(Gt,Zt))}function Yt(){Lt&&(clearTimeout(Lt),Lt=null)}function Gt(){if(Lt=null,Bt.length){const[{resolve:e,stream:t,ze:r}]=Bt.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:g});e(new jt({},t,n,Xt)),Kt()}}function Xt(){Yt(),Kt()}function Jt(e){const{Se:t}=e;t&&(clearTimeout(t),e.Se=null)}const Qt="HTTP error ",$t="HTTP Range not supported",er="HTTP resource changed",tr="Writer iterator completed too soon",rr="Writer not initialized",nr="Content-Range",sr="Range",ar="GET",ir="bytes",or=16777216,cr="writable",dr=Symbol();class lr{constructor(){this.size=0}init(){this.initialized=!0}}class mr extends lr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=U(j())}={}){const n=this;let s=0;return new ReadableStream({async pull(a){const i=t===g?r:Math.min(r,t-s),o=await Kr(n,e+s,i);a.enqueue(o),s+r>t||t===g&&!o.length&&i?a.close():s+=r}})}}class pr extends lr{constructor(){super();const e=this,t=new WritableStream({write(t){if(!e.initialized)throw Error(rr);return e.writeUint8Array(ie(t))}});Object.defineProperty(e,cr,{get:()=>t})}writeUint8Array(){}}class fr extends mr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;Object.assign(this,{dataURI:e,Ee:r,size:Math.floor(.75*(t-r))})}readUint8Array(e,t){const{Ee:r,dataURI:n}=this,s=new Uint8Array(t),a=4*Math.floor(e/3),i=atob(n.substring(a+r,4*Math.ceil((e+t)/3)+r)),o=e-3*Math.floor(a/4);let c=0;for(let e=o;o+t>e&&e<i.length;e++)s[e-o]=i.charCodeAt(e),c++;return c<s.length?s.subarray(0,c):s}}class ur extends pr{constructor(e){super(),Object.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,n=t.pending;const s=t.pending.length;for(t.pending="",r=0;r<3*Math.floor((s+e.length)/3)-s;r++)n+=String.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=String.fromCharCode(e[r]);n.length>2?t.data+=btoa(n):t.pending=n+t.pending}getData(){return this.data+btoa(this.pending)}}let wr,hr;class xr extends mr{constructor(e){super(),Object.assign(this,{blob:e,size:e.size}),hr||(hr=(async()=>{try{const e=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();wr=1==t}catch{wr=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?wr?$e(t.slice(n,n+s).stream()):super.createReadable(e):$e(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new Uint8Array(a)}}class vr extends lr{constructor(e){super();const t=this,r=new TransformStream;if(Object.defineProperty(t,cr,{get:()=>r.writable}),typeof Blob.prototype.stream!=S||new Blob([]).stream()instanceof ReadableStream){const n=[];e&&n.push(["Content-Type",e]),t.blob=new Response(r.readable,{headers:n}).blob()}else{const n=[];t.blob=r.readable.pipeTo(new WritableStream({write(e){n.push(e)}})).then(()=>new Blob(n,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class yr extends xr{constructor(e){super(new Blob([e],{type:"text/plain"}))}}class br extends vr{constructor(e){super(e),Object.assign(this,{encoding:e,Re:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Re:t}=this,r=await super.getData();if(r.text&&t)return r.text();{const t=new FileReader;return new Promise((n,s)=>{Object.assign(t,{onload:({target:e})=>n(e.result),onerror:()=>s(t.error)}),t.readAsText(r,e)})}}}class gr extends mr{constructor(e,t){super(),zr(this,e,t)}async init(){await Sr(this,Ir,Or),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:s}=t;if((r||n)&&s!==g){const{offset:r=0,size:n=s-r}=e||{};if(n>0&&s>r)return((e,t,r)=>{let n,s=t,a=0,i=r;return new ReadableStream({start:()=>o(),async pull(e){n||await o();const{value:t,done:r}=await n.read();if(r)throw Error($t);const s=t.length>a?t.subarray(0,a):t;a-=s.length,i-=s.length,s.length&&e.enqueue(s),a||(await(async()=>{const e=n;n=g,await e.cancel()})(),i||e.close())},cancel:e=>n&&n.cancel(e)});async function o(){const t=Math.min(e.maximumRangeSize,i),r=await Ir(ar,e,jr(e,s,t));if(206!=r.status)throw Error($t);const o=r.headers.get(nr);if(o){const e=Number(o.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(e)&&e!=s)throw Error($t)}Dr(e,r),Fr(e,r),s+=t,a=t,n=r.body.getReader()}})(t,r,Math.min(n,s-r))}return super.createReadable(e)}readUint8Array(e,t){return Er(this,e,t,Ir,Or)}}class kr extends mr{constructor(e,t){super(),zr(this,e,t)}async init(){await Sr(this,Pr,Tr),super.init()}readUint8Array(e,t){return Er(this,e,t,Pr,Tr)}}function zr(e,t,r){const{preventHeadRequest:n,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:o=!0,maximumRangeSize:c=or,fetch:d}=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(e,{url:t,options:r,preventHeadRequest:n,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:o,maximumRangeSize:c,fetch:d})}async function Sr(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=j(),{protocol:r}=new URL(e,t);return"http:"==r||"https:"==r})(n)&&(a||i)&&(void 0===s||s)){const n=await t(ar,e,jr(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==ir))throw Error($t);{if(o){const t=new Uint8Array(await n.arrayBuffer());206==n.status&&t.length==l&&(e.Ae=t)}Fr(e,n);const s=Rr(n);s===g?await Cr(e,t,r):e.size=s}}else await Cr(e,t,r)}async function Er(e,t,r,n,s){const{useRangeHeader:a,forceRangeRequests:i,Ae:o,size:c,options:d}=e;if(a||i){if(o&&t==c-l&&r==l)return o;if(c>t&&0!==r){t+r>c&&(r=c-t);const s=await n(ar,e,jr(e,t,r));if(206!=s.status)throw Error($t);const a=s.headers.get(nr);if(a){const e=Number(a.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(e)&&e!=t)throw Error($t)}Dr(e,s),Fr(e,s);const i=new Uint8Array(await s.arrayBuffer());if(i.length!=r)throw Error($t);return i}return E}{const{data:n}=e;return n||await s(e,d),e.data.subarray(t,t+r)}}function Rr(e){const t=e.headers.get(nr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=Number(e);if(!Number.isNaN(t))return t}}}function Ar({headers:e}){return{Fe:e.get("Etag")||g,lastModified:e.get("Last-Modified")||g}}function Fr(e,t){const{checkResourceChanges:r,De:n}=e;r&&!n&&206==t.status&&(e.De=Ar(t))}function Dr(e,t){const{checkResourceChanges:r,De:n,size:s}=e;if(r){const e=Rr(t);if(e!==g&&s!==g&&e!=s)throw Error(er);if(n){const e=Ar(t);if(Object.entries(n).some(([t,r])=>r!==g&&e[t]!==g&&r!=e[t]))throw Error(er)}}}function jr(e,t=0,r=1){return Object.assign({},Ur(e),{[sr]:ir+"="+(0>t?t:t+"-"+(t+r-1))})}function Ur({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?Object.fromEntries(t):t}async function Or(e){await Mr(e,Ir)}async function Tr(e){await Mr(e,Pr)}async function Mr(e,t){const r=await t(ar,e,Ur(e));e.data=new Uint8Array(await r.arrayBuffer()),e.size=e.data.length}async function Cr(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Ur(e)),s=n.headers.get("Content-Length");s&&!n.headers.get("Content-Encoding")?e.size=Number(s):await r(e,e.options)}}async function Ir(e,{fetch:t=fetch,options:r,url:n},s){const a=await t(n,Object.assign({},r,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?Error($t):Error(Qt+(a.statusText||a.status))}function Pr(e,{url:t},r){return new Promise((n,s)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),n({status:a.status,arrayBuffer:()=>a.response,headers:new Map(e)})}else s(416==a.status?Error($t):Error(Qt+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>s(e.detail?e.detail.error:Error("Network error")),!1),a.open(e,t),r)for(const e of Object.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class Nr extends mr{constructor(e,t={}){super(),Object.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new kr(e,t):new gr(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class Wr extends Nr{constructor(e,t={}){super(e,Object.assign({},t,{useRangeHeader:!0}))}}class qr extends mr{constructor(e){super(),e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),Object.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class _r extends pr{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){Object.assign(this,{offset:0,array:new Uint8Array(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new Uint8Array(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class Br extends mr{constructor(e){super(),this.je=e}async init(){const e=this,{je:t}=e;e.Ue=0,await Promise.all(t.map(e=>Hr(e))),e.Oe=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}Te(e){const{Oe:t,size:r}=this,n=t[e];return n===g?r:n}async readUint8Array(e,t){const r=this,{je:n}=this;let s,a=0,i=e;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const o=n[a];if(o){const n=o.size;if(i+t>n){const a=n-i;s=ae(await Kr(o,i,a),await r.readUint8Array(e+a,t-a))}else s=await Kr(o,i,t)}else s=E;return r.Ue=Math.max(a,r.Ue),s}}class Lr extends lr{constructor(e,t=4294967295){super();const r=this;let n,s,a;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const i=new WritableStream({async write(t){if(t===dr)return void(a&&await c());const{availableSize:i}=r;if(a)t.length<i?await o(t):(await o(t.subarray(0,i)),await c(),t.length>i&&await this.write(t.subarray(i)));else{const{value:i,done:o}=await e.next();if(o&&!i)throw Error(tr);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Hr(n),s=i.writable,a=s.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await d())},async abort(e){a&&await a.abort(e)}});async function o(e){const t=e.length;t&&(await a.ready,await a.write(e),n.size+=t,r.availableSize-=t)}async function c(){await d(),r.diskOffset+=n.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function d(){await a.close()}Object.defineProperty(r,cr,{get:()=>i})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(dr)}finally{e.releaseLock()}}}class Zr{constructor(e){return Array.isArray(e)&&(e=new Br(e)),(e instanceof ReadableStream||typeof e.getReader==S)&&(e={readable:$e(e)}),e}}class Vr{constructor(e){return e.writable===g&&typeof e.next==S&&(e=new Lr(e)),(e instanceof WritableStream||typeof e.getWriter==S)&&(e={writable:et(e)}),e.size===g&&(e.size=0),e}}async function Hr(e,t){if(!e.init||e.initialized)return Promise.resolve();await e.init(t)}function Kr(e,t,r){return e.readUint8Array(t,r)}const Yr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Gr(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=Yr[e[r]];return t}})(e):new TextDecoder(t,{ignoreBOM:!0}).decode(e)}const Xr="filename",Jr="rawFilename",Qr="comment",$r="rawComment",en="uncompressedSize",tn="compressedSize",rn="offset",nn="diskNumberStart",sn="lastModDate",an="rawLastModDate",on="lastAccessDate",cn="creationDate",dn="rawCreationDate",ln="internalFileAttributes",mn="externalFileAttributes",pn="msdosAttributesRaw",fn="msdosAttributes",un="msDosCompatible",wn="zip64",hn="encrypted",xn="version",vn="versionMadeBy",yn="zipCrypto",bn="directory",gn="executable",kn="compressionMethod",zn="signature",Sn="extraField",En="unixMode",Rn="setuid",An="setgid",Fn="sticky",Dn=[Xr,Jr,en,tn,sn,an,Qr,$r,on,cn,dn,rn,nn,ln,mn,pn,fn,un,wn,hn,xn,vn,yn,bn,gn,kn,zn,Sn,"extraFieldUnix","extraFieldInfoZip","uid","gid",En,Rn,An,Fn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class jn{constructor(e){Dn.forEach(t=>this[t]=e[t])}}const Un="password",On="rawPassword",Tn="passThrough",Mn="signal",Cn="checkAmbiguity",In="useWebWorkers",Pn="useCompressionStream",Nn="transferStreams",Wn="preventClose",qn="offset",_n="usdz",Bn="strictness",Ln="strict",Zn="tolerant",Vn="File format is not recognized",Hn="End of central directory not found",Kn="End of Zip64 central directory locator not found",Yn="Central directory header not found",Gn="Local file header not found",Xn="Zip64 extra field not found",Jn="File contains encrypted entry",Qn="Encryption method not supported",$n="Compression method not supported",es="Split zip file",ts="Overlapping entry found",rs="Ambiguous archive",ns="Encrypted central directory is not supported",ss="utf-8",as="cp437",is=[[en,e],[tn,e],[rn,e],[nn,t]],os={[t]:{Me:Ts,bytes:4},[e]:{Me:Ms,bytes:8}};class cs{constructor(e,t={}){Object.assign(this,{reader:new Zr(e),options:t,config:j(),Ce:new Map})}async*getEntriesGenerator(n={}){const a=this;let{reader:o}=a;const{config:p}=a;if(await Hr(o),o.size!==g&&o.readUint8Array||(o=new xr(await new Response(o.readable).blob()),await Hr(o)),o.size<l)throw Error(Vn);const f=vs(Fs(a,n,Bn),Fs(a,n,Cn)),v=f==Ln,y=f!=Zn,b=((e,r)=>e!==g?e:r==Ln?0:r==Zn?1/0:t)(Fs(a,n,"maxAppendedDataSize"),f),{Ie:k,Pe:z}=await(async(e,t,r)=>{const{size:n}=e,s=Math.min(n,65557),a={count:ys};let i,o,c=0;for await(const[r,d,m,p,f]of zs(e,s)){const s=Os(r,p+20);if(f+l+s==n){const s=await Es(e,r,d,p,f,n,a);if(s==ks){if(i||(i=Ss(m,p,f)),c++,!t||c>1)break}else s!=gs||o||(o=Ss(m,p,f))}}return i||(i=o),i||(i=await(async(e,t,r)=>{const{size:n}=e,s=Math.min(n,t==1/0?n:65557+t);let a,i;for await(const[t,o,c,d,l]of zs(e,s)){const s=Ss(c,d,l);a||(a=s);const m=await Es(e,t,o,d,l,n,r);if(m==ks)return s;m!=gs||i||(i=s)}return i||a})(e,r,a)),{Ie:i,Pe:c}})(o,y,b);if(!k)throw Ts(oe(await Kr(o,0,4)))==s?Error(es):Error(Hn);y&&z>1&&As("multiple end of central directory records");const S=oe(k);let R=Ts(S,12),A=Ts(S,16);const F=k.offset,D=Os(S,20),j=F+l+D;o.size-j>b&&As("appended data");let U=Os(S,4);const O=o.Ue||0;let T,M,C,I=Os(S,6),P=Os(S,10),N=0;const W=A==e||R==e||P==t||I==t;if(A!=e&&I!=t&&(A+=xs(o,I)),W){const r=k.offset<m?E:await Kr(o,k.offset-m,m),n=oe(r);if(r.length==m&&Ts(n,0)==d){A=xs(o,Ts(n,4))+Ms(n,8);let r=await Kr(o,A,56),s=oe(r);const a=k.offset-m-56;if((56>r.length||Ts(s,0)!=c)&&A!=a&&a>=0){const e=A;A=a,A>e&&(N=A-e),r=await Kr(o,A,56),s=oe(r)}if(56>r.length||Ts(s,0)!=c)throw Error(Kn);M=!0,C=Ms(s,4)>44,U==t?U=Ts(s,16):v&&U!=Ts(s,16)&&As("mismatched zip64 end of central directory record"),I==t?I=Ts(s,20):v&&I!=Ts(s,20)&&As("mismatched zip64 end of central directory record"),P==t?P=Ms(s,32):v&&P!=Ms(s,32)&&As("mismatched zip64 end of central directory record"),R==e?R=Ms(s,40):v&&R!=Ms(s,40)&&As("mismatched zip64 end of central directory record"),A=xs(o,I)+Ms(s,48)+N}}const q=R,_=k.offset-(M?76:0);if(A<o.size||(N=o.size-A-R-l,A=o.size-R-l),O!=U)throw Error(es);if(0>A)throw Error(Vn);let B=0,L=await Kr(o,A,R),Z=oe(L);if(R){if(4>L.length)throw Error(Vn);const e=_-R;if(A!=e&&I==U){let t=!(Ts(Z,B)==i);if(t||0>e||e+4>o.size||(t=Ts(oe(await Kr(o,e,4)),0)==i),t){const t=A;A=e,A>t&&(N+=A-t),L=await Kr(o,A,R),Z=oe(L)}}}const V=_-A;if(R==V||0>V||I!=U||(R=V,L=await Kr(o,A,R),Z=oe(L)),0>A||A>=o.size)throw Error(Vn);T=A;const H=Fs(a,n,"filenameEncoding"),K=Fs(a,n,"commentEncoding"),Y=v?new Set:g;let G;for(let e=0;P>e;e++){const s=new ls(o,p,a.options);if(B+46>L.length||Ts(Z,B)!=i){if(0==e&&(C||ms(Z)))throw Error(ns);throw Error(Yn)}ps(s,Z,B+6);const c=!!s.bitFlag.languageEncodingFlag,d=B+46,l=d+s.filenameLength,m=l+s.extraFieldLength,f=Os(Z,B+4),y=!(f>>8),b=f>>8==3,k=L.subarray(d,l),z=Os(Z,B+32),S=m+z,E=L.subarray(m,S),R=c,A=c,F=Ts(Z,B+38),D=F&r,j={readOnly:!!(1&D),hidden:!!(2&D),system:!!(4&D),directory:!!(16&D),archive:!!(32&D)},U=Ts(Z,B+42),O=Fs(a,n,"decodeText")||Gr,M=R?ss:H||as,I=A?ss:K||as;let W=O(k,M);W===g&&(W=Gr(k,M));let q=O(E,I);q===g&&(q=Gr(E,I)),Object.assign(s,{index:e,versionMadeBy:f,msDosCompatible:y,compressedSize:0,uncompressedSize:0,Ne:z,offset:U,diskNumberStart:Os(Z,B+34),internalFileAttributes:Os(Z,B+36),externalFileAttributes:F,msdosAttributesRaw:D,msdosAttributes:j,rawFilename:k,filenameUTF8:R,commentUTF8:A,rawExtraField:L.subarray(l,m),rawComment:E,filename:W,comment:q}),fs(s,s,Z,B+6),s.offset+=N,T=Math.min(xs(o,s.diskNumberStart)+s.offset,T),v&&(Y.has(s.filename)&&(G=!0),Y.add(s.filename));const _=s.externalFileAttributes>>16&t;s.unixMode===g&&16877&_&&(s.unixMode=_);const V=!!(s.unixMode&w),X=!!(s.unixMode&h),J=!!(512&s.unixMode),Q=s.unixMode!==g?!!(73&s.unixMode):b&&!!(73&_),$=s.unixMode!==g&&(61440&s.unixMode)==u,ee=(61440&_)==u;Object.assign(s,{setuid:V,setgid:X,sticky:J,unixExternalUpper:_,internalFileAttribute:s.internalFileAttributes,externalFileAttribute:s.externalFileAttributes,executable:Q,directory:$||ee||y&&j.directory||s.filename.endsWith(x)&&!s.uncompressedSize,zipCrypto:s.encrypted&&!s.extraFieldAES});const te=new jn(s);te.getData=(e,t)=>s.getData(e,te,a.Ce,t),te.arrayBuffer=async e=>{const t=new TransformStream,[r]=await Promise.all([new Response(t.readable).arrayBuffer(),s.getData(t,te,a.Ce,e)]);return r},B=S;const{onprogress:re}=n;if(re)try{await re(e+1,P,new jn(s))}catch{}yield te}v&&B!=q&&As("trailing central directory data"),G&&As("duplicate filename"),v&&(N||P&&T>0)&&As("prepended data");const X=Fs(a,n,"extractPrependedData"),J=Fs(a,n,"extractAppendedData");return X&&(a.prependedData=T>0?await Kr(o,0,T):E),a.comment=D?await Kr(o,F+l,D):E,J&&(a.appendedData=j<o.size?await Kr(o,j,o.size-j):E),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class ds{constructor(e={}){const{readable:t,writable:r}=new TransformStream,n=new cs(t,e).getEntriesGenerator();this.readable=new ReadableStream({async pull(e){const{done:t,value:r}=await n.next();if(t)return e.close();const s={...r,readable:(()=>{const{readable:e,writable:t}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=r}}let ls=class{constructor(e,t,r){Object.assign(this,{reader:e,config:t,options:r})}async getData(e,t,s,i={}){const o=this,{reader:c,index:d,offset:l,diskNumberStart:m,extraFieldAES:p,extraFieldZip64:f,compressionMethod:u,config:w,bitFlag:h,rawBitFlag:x,signature:y,rawLastModDate:b,uncompressedSize:k,compressedSize:z}=o,{dataDescriptor:S}=h,R=t.localDirectory={},A=xs(c,m)+l,F=await Kr(c,A,v),D=oe(F);let j=Fs(o,i,Un),U=Fs(o,i,On);const O=Fs(o,i,Tn);if(j=j&&j.length&&j,U=U&&U.length&&U,p&&99!=p.originalCompressionMethod)throw Error($n);if(F.length<v||Ts(D,0)!=n)throw Error(Gn);ps(R,D,4);const{extraFieldLength:T,filenameLength:M}=R,C=vs(Fs(o,i,Bn),Fs(o,i,Cn))==Ln;let I=E;if(C&&(M||T)){const e=await Kr(c,A+v,M+T);I=e.subarray(0,M),R.rawExtraField=e.subarray(M)}else R.rawExtraField=T?await Kr(c,A+v+M,T):E;fs(o,R,D,4,!0),C&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&As("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&As("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&As("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.signature||t.compressedSize||t.uncompressedSize)||t.signature==e.signature&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||As("mismatched local file header (signature or sizes)")})(o,R,I);const{lastAccessDate:P,creationDate:N}=R;P&&(t.lastAccessDate=P),N&&(t.creationDate=N);const W=o.encrypted&&R.encrypted&&!O,q=W&&!p;if(O||(t.zipCrypto=q),W&&!(64&~R.rawBitFlag))throw Error(Qn);const _=O?g:Z(u);if(0!=u&&8!=u&&9!=u&&!_&&!O)throw Error($n);if(W){if(!q&&(1>p.strength||p.strength>3))throw Error(Qn);if(!j&&!U)throw Error(Jn)}const B=A+v+M+T,L=z,V=$e(c.createReadable({offset:B,size:L})),H=Fs(o,i,Mn),K=Fs(o,i,"checkPasswordOnly");let Y=Fs(o,i,"checkOverlappingEntry");const G=Fs(o,i,"checkOverlappingEntryOnly");G&&(Y=!0);const{onstart:X,onprogress:J,onend:Q}=i,$=9==u;let ee=Fs(o,i,Pn);$&&(ee=!1);const te={options:{codecType:yt,password:j,rawPassword:U,zipCrypto:q,encryptionStrength:p&&p.strength,signed:Fs(o,i,"checkSignature")&&!O,passwordVerification:q&&(S?b>>>8&r:y>>>24&r),outputSize:O?z:k,signature:y,compressed:0!=u&&!O,encrypted:W,useWebWorkers:Fs(o,i,In),useCompressionStream:ee,transferStreams:Fs(o,i,Nn),deflate64:$,format:_?_.format:g,codecURI:_?_.codecURI:g,compressionMethod:u,rawBitFlag:x,checkPasswordOnly:K},config:w,oe:{signal:H,size:L,onstart:X,onprogress:J,onend:Q}};let re;Y&&await(async({reader:e,We:t,index:r,offset:n,signature:s,compressedSize:i,uncompressedSize:o,qe:c,dataDescriptor:d,extraFieldZip64:l,Ce:m})=>{let p=0;if(d&&(p=l?20:12),p){const r=await Kr(e,c+i,p+4);if(r.length==p+4&&Ts(oe(r),0)==a){const e=Ts(oe(r),4);let n,a;l?(n=Ms(oe(r),8),a=Ms(oe(r),16)):(n=Ts(oe(r),8),a=Ts(oe(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&a==o&&(p+=4)}}const f={start:n,end:c+i+p,We:t};for(const[e,t]of m)if(e!=r&&f.start<t.end&&t.start<f.end){const e=Error(ts);throw e._e=t.We,e}m.set(r,f)})({reader:c,We:t,index:d,offset:A,signature:y,compressedSize:z,uncompressedSize:k,qe:B,dataDescriptor:S||R.bitFlag.dataDescriptor,extraFieldZip64:f||R.extraFieldZip64,Ce:s});try{if(!G){K&&(e=new WritableStream),e=new Vr(e),await Hr(e,O?z:k),({writable:re}=e);const{outputSize:t}=await Ht({readable:V,writable:re},te);if(e.size+=t,t!=(O?z:k))throw Error(tt)}}catch(t){if(t.outputSize!==g&&(e.size+=t.outputSize),!K||t.message!=we)throw t}finally{Fs(o,i,Wn)||!re||re.locked||await re.getWriter().close()}return K||G?g:e.getData?e.getData():re}};function ms(e){const t=Math.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==Ts(e,r))return!0;return!1}function ps(e,t,r){const n=e.rawBitFlag=Os(t,r+2),s=!(1&~n),a=Ts(t,r+6);Object.assign(e,{encrypted:s,version:Os(t,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&f)==f},rawLastModDate:a,lastModDate:Ds(a),filenameLength:Os(t,r+22),extraFieldLength:Os(t,r+24)})}function fs(e,t,r,n,s){const{rawExtraField:a}=t,i=t.extraField=new Map,o=oe(a);let c=0;try{for(;c<a.length;){const e=Os(o,c),t=Os(o,c+2);i.set(e,{type:e,data:a.slice(c+4,c+4+t)}),c+=4+t}}catch{}const d=Os(r,n+4);Object.assign(t,{signature:Ts(r,n+10),compressedSize:Ts(r,n+14),uncompressedSize:Ts(r,n+18)});const l=i.get(1);l&&(((e,t)=>{t.zip64=!0;const r=oe(e.data),n=is.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+os[t].bytes,0);if(e.data.length<s)throw Error(Xn);for(let s=0,a=0;s<n.length;s++){const[i,o]=n[s],c=os[o];t[i]=e[i]=c.Me(r,a),a+=c.bytes}})(l,t),t.extraFieldZip64=l);const m=i.get(28789);m&&(us(m,Xr,Jr,t,e),t.extraFieldUnicodePath=m);const f=i.get(25461);f&&(us(f,Qr,$r,t,e),t.extraFieldUnicodeComment=f);const u=i.get(39169);u&&u.data.length>=7?(((e,t,r)=>{const n=oe(e.data),s=Us(n,4);Object.assign(e,{Be:Us(n,0),vendorId:Us(n,2),strength:s,originalCompressionMethod:r,compressionMethod:Os(n,5)}),t.compressionMethod=e.compressionMethod})(u,t,d),t.extraFieldAES=u):t.compressionMethod=d;const w=i.get(10);w&&(((e,t)=>{const r=oe(e.data);let n,s=4;try{for(;s<e.data.length&&!n;){const t=Os(r,s),a=Os(r,s+2);1==t&&(n=e.data.slice(s+4,s+4+a)),s+=4+a}}catch{}try{if(n&&24==n.length){const r=oe(n),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:i});const o={lastModDate:js(s),lastAccessDate:js(a),creationDate:js(i)};Object.assign(e,o),Object.assign(t,o)}}catch{}})(w,t),t.extraFieldNTFS=w);const h=i.get(30805);if(h)ws(h,t,!1),t.extraFieldUnix=h;else{const e=i.get(30837);e&&(ws(e,t,!0),t.extraFieldInfoZip=e)}const x=i.get(p);x&&(((e,t,r)=>{if(!e.data.length)return;const n=oe(e.data),s=Us(n,0),a=[],i=[];r?(1&~s||(a.push(sn),i.push(an)),2&~s||(a.push(on),i.push("rawLastAccessDate")),4&~s||(a.push(cn),i.push(dn))):5>e.data.length||(a.push(sn),i.push(an));let o=1;a.forEach((r,s)=>{if(e.data.length>=o+4){const a=Ts(n,o);t[r]=e[r]=new Date(1e3*(0|a));const c=i[s];e[c]=a}o+=4})})(x,t,s),t.extraFieldExtendedTimestamp=x);const v=i.get(6534);v&&(t.extraFieldUSDZ=v)}function us(e,t,r,n,s){if(5>e.data.length)return void(e.valid=!1);const a=oe(e.data),i=new re;i.append(s[r]);const o=oe(new Uint8Array(4));o.setUint32(0,i.get(),!0);const c=Ts(a,1);Object.assign(e,{version:Us(a,0),[t]:Gr(e.data.subarray(5)),valid:!s.bitFlag.languageEncodingFlag&&c==Ts(o,0)}),e.valid&&(n[t]=e[t],n[t+"UTF8"]=!0)}function ws(e,t,r){try{const n=oe(e.data);let s,a;if(r){let t=0;const r=Us(n,t++),i=Us(n,t++);s=hs(e.data.subarray(t,t+i)),t+=i;const o=Us(n,t++);a=hs(e.data.subarray(t,t+o)),Object.assign(e,{version:r,uid:s,gid:a})}else 4>e.data.length||(s=Os(n,0),a=Os(n,2),Object.assign(e,{uid:s,gid:a}));s!==g&&(t.uid=s),a!==g&&(t.gid=a)}catch{}}function hs(e){const t=new Uint8Array(4);return t.set(e,0),new DataView(t.buffer,t.byteOffset,4).getUint32(0,!0)}function xs(e,t){return e.Te?e.Te(t):0}function vs(e,t){return e===g?t?Ln:"balanced":e}const ys=64,bs=0,gs=1,ks=2;async function*zs(e,t){const r=e.size-t,n=await Kr(e,r,t),s=oe(n);for(let e=n.length-l;e>=0;e--)Ts(s,e)==o&&(yield[s,r,n,e,r+e])}function Ss(e,t,r){return{offset:r,buffer:e.slice(t,t+l).buffer}}async function Es(r,n,s,a,o,c,l){const p=Os(n,a+10),f=Ts(n,a+12),u=Ts(n,a+16);if(p==t||f==e||u==e)return await Rs(r,n,s,o-m,c,l)==d?ks:bs;if(!p&&!f)return gs;const w=Os(n,a+6);for(const e of[o-f,xs(r,w)+u])if(await Rs(r,n,s,e,c,l)==i)return ks;return bs}async function Rs(e,t,r,n,s,a){return 0>n||n+4>s?g:r>n?a.count>0?(a.count--,Ts(oe(await Kr(e,n,4)),0)):g:Ts(t,n-r)}function As(e){const t=Error(rs);throw t.reason=e,t}function Fs(e,t,r){return t[r]===g?e.options[r]:t[r]}function Ds(e){const r=(4294901760&e)>>16,n=e&t;try{return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch{}}function js(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function Us(e,t){return e.getUint8(t)}function Os(e,t){return e.getUint16(t,!0)}function Ts(e,t){return e.getUint32(t,!0)}function Ms(e,t){return Number(e.getBigUint64(t,!0))}var Cs=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:rs,ERR_BAD_FORMAT:Vn,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Yn,ERR_ENCRYPTED:Jn,ERR_ENCRYPTED_CENTRAL_DIRECTORY:ns,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Kn,ERR_EOCDR_NOT_FOUND:Hn,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Xn,ERR_INVALID_COMPRESSED_DATA:rt,ERR_INVALID_PASSWORD:fe,ERR_INVALID_SIGNATURE:ue,ERR_INVALID_UNCOMPRESSED_SIZE:tt,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Gn,ERR_OVERLAPPING_ENTRY:ts,ERR_SPLIT_ZIP_FILE:es,ERR_UNSUPPORTED_COMPRESSION:$n,ERR_UNSUPPORTED_ENCRYPTION:Qn,ZipReader:cs,ZipReaderStream:ds});const Is="File already exists",Ps="Zip file comment exceeds 64KB",Ns="File entry comment exceeds 64KB",Ws="File entry name exceeds 64KB",qs="Version exceeds 65535",_s="The strength must equal 1, 2, or 3",Bs="Encryption is not supported in USDZ files",Ls="Extra field type exceeds 65535",Zs="Extra field data exceeds 64KB",Vs=-2147483648,Hs=2147483647,Ks="Zip64 is not supported (set the 'zip64' option to 'true')",Ys="Undefined uncompressed size",Gs="Undefined reader",Xs="Zip file not empty",Js=new Uint8Array([7,0,2,0,65,69,3,0,0]),Qs="infozip",$s="unix";let ea=0;const ta=[];class ra{constructor(e,t={}){e=new Vr(e);const{availableSize:r=k,maxSize:n=k}=e;Object.assign(this,{writer:e,Le:r>0&&r!==k&&n>0&&n!==k,options:t,config:j(),files:new Map,Ze:new Set,offset:t[qn]===g?e.size||e.writable.size||0:t[qn],Ve:t[qn]===g?0:t[qn]-(e.size||e.writable.size||0),He:new Set,Ke:0,Ye:g})}async prependZip(t){if(this.Ze.size)throw Error(Xs);t=new Zr(t),await Hr(t);const{ZipReader:r}=await Promise.resolve().then(()=>Cs),n=new r(t.readable),s=await n.getEntries();await n.close(),await Hr(this.writer),await t.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=t.size,this.Ze=new Set(s.map(e=>e.filename)),this.files=new Map(s.map(t=>{const{version:r,rawLastModDate:n,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:d,compressedSize:l,zip64:m}=t;let{compressionMethod:p,Ge:f,Xe:u,Je:w,Qe:h,$e:x,rawExtraField:v}=t;const{level:y,languageEncodingFlag:b,dataDescriptor:k}=o;f=f||E,u=u||E,w=w||E,h=h||E,x=x||E,v=v||E,t.extraFieldAES&&(p=99);const z=za(f,u,w,h,x,v),S=m&&d>=e,R=m&&l>=e,A=-7&Ea(y,b,k,c,p)|y<<1,{et:F,nt:D}=Sa({version:r,bitFlag:A,compressionMethod:p,uncompressedSize:d,compressedSize:l,rawLastModDate:n,rawFilename:i,st:R,it:S,extraFieldLength:z}),{signature:j}=t;return j!==g&&ba(D,10,j),Object.assign(t,{it:S,st:R,ot:m&&t.offset>=e,diskNumberStart:0,ct:!1,Ge:f,Xe:u,Je:w,Qe:h,$e:x,rawExtraField:v,extendedTimestamp:w.length>0||h.length>0,lt:1+(s?2:0)+(a?4:0),et:F,nt:D}),[t.filename,t]}))}async add(i="",o,c={}){const d=this;c=Object.assign({},c);const{He:l,config:m}=d;let f,z;ea<m.maxWorkers?ea++:await new Promise(e=>ta.push(e));try{if(i=i.trim(),xa(d,c,bn)&&!i.endsWith(x)&&(i+=x),d.Ze.has(i))throw Error(Is);return d.Ze.add(i),z=!0,f=(async(i,o,c,d)=>{const l=((n,s,a)=>{s=s.trim();let i=xa(n,a,un),o=xa(n,a,vn,i?20:768);const c=xa(n,a,gn),d=xa(n,a,"uid"),l=xa(n,a,"gid");let m=xa(n,a,En),p=xa(n,a,"unixExtraFieldType"),f=xa(n,a,Rn),v=xa(n,a,An),y=xa(n,a,Fn);if(d!==g&&(0>d||d>e))throw Error("Invalid uid (must be integer 0..2^32-1)");if(l!==g&&(0>l||l>e))throw Error("Invalid gid (must be integer 0..2^32-1)");if(m!==g&&(0>m||m>t))throw Error("Invalid UNIX mode (must be integer 0..65535)");if(p!==g&&p!==Qs&&p!==$s)throw Error("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(p===$s&&(d!==g&&d>t||l!==g&&l>t))throw Error("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");p!==g||d===g&&l===g||(p=Qs);let b=xa(n,a,pn),k=xa(n,a,fn);const z=b!==g||k!==g;if(d!==g||l!==g||m!==g||p?(i=!1,o=o&t|768):z&&(i=!0,o&=r),b!==g&&(0>b||b>r))throw Error("Invalid msdosAttributesRaw (must be integer 0..255)");if(k&&"object"!=typeof k)throw Error("Invalid msdosAttributes (must be an object with boolean flags)");if(o>t)throw Error(qs);let S=xa(n,a,mn);const E=S!==g;E||(S=0),!a[bn]&&s.endsWith(x)&&(a[bn]=!0);const R=xa(n,a,bn);let A;if(R?(s.endsWith(x)||(s+=x),E||(S=16,i||(S|=16877<<16))):i||E||(S=c?493<<16:27525120),!i){const e=m!==g||!!(f||v||y);A=S>>16&t,m=m===g?A:m&t,f?m|=w:f=!!(m&w),v?m|=h:v=!!(m&h),y?m|=512:y=!!(512&m),E&&!e||(R&&(m|=u),S=(m&t)<<16|S&t)}return({msdosAttributesRaw:b,msdosAttributes:k}=((e,t)=>{if(e!==g)e&=r;else if(t!==g){const{readOnly:n,hidden:s,system:a,directory:i,archive:o}=t;let c=0;n&&(c|=1),s&&(c|=2),a&&(c|=4),i&&(c|=16),o&&(c|=32),e=c&r}return t===g&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(b,k)),z&&(S=S&e|b&r),{name:s,ft:{versionMadeBy:o,msDosCompatible:i,externalFileAttributes:S,unixExternalUpper:A,uid:d,gid:l,unixMode:m,unixExtraFieldType:p,setuid:f,setgid:v,sticky:y,msdosAttributesRaw:b,msdosAttributes:k}}})(i,o,d);({name:o}=l);const m=((e,r,n)=>{const s=xa(e,n,"encodeText",se);let a=s(r);if(a===g&&(a=se(r)),za(a)>t)throw Error(Ws);const i=n[Qr]||"";let o=s(i);if(o===g&&(o=se(i)),za(o)>t)throw Error(Ns);const c=xa(e,n,xn,20);if(c>t)throw Error(qs);const d=xa(e,n,sn,new Date),l=xa(e,n,on),m=xa(e,n,cn),p=xa(e,n,ln,0),f=xa(e,n,Tn);let u,w;f||(u=xa(e,n,Un),w=xa(e,n,On));const h=xa(e,n,"encryptionStrength",3),x=xa(e,n,yn),v=xa(e,n,"extendedTimestamp",!0),y=xa(e,n,"ntfsTimestamp"),b=xa(e,n,"keepOrder",!0),k=xa(e,n,In),z=xa(e,n,Nn),S=xa(e,n,"bufferedWrite"),R=xa(e,n,"createTempStream"),A=xa(e,n,"dataDescriptorSignature",!0),F=xa(e,n,Mn),D=xa(e,n,"useUnicodeFileNames",!0),j=xa(e,n,kn),U=f||j===g?g:Z(j);if(!f&&j!==g&&0!==j&&8!==j&&!U)throw Error("Compression method not supported");let O=xa(e,n,"level");if(e.options[_n]){if(u!==g||w!==g)throw Error(Bs);O===g&&j===g&&(O=0)}let T=xa(e,n,Pn),M=xa(e,n,"dataDescriptor");S&&M===g&&(M=!1),(M===g||x)&&(M=!0),O!==g&&6!=O&&(T=!1);const C=xa(e,n,wn);if(!x&&(u!==g||w!==g)&&(1>h||h>3))throw Error(_s);let I=E;const P=n[Sn];if(P){let e=0,r=0;P.forEach(t=>e+=4+za(t)),I=new Uint8Array(e);const n=oe(I);P.forEach((e,s)=>{if(s>t)throw Error(Ls);if(za(e)>t)throw Error(Zs);ya(n,r,s),ya(n,r+2,za(e)),ka(I,e,r+4),r+=4+za(e)})}return{comment:i,ft:{rawFilename:a,rawComment:o,version:c,lastModDate:d,lastAccessDate:l,creationDate:m,internalFileAttributes:p,passThrough:f,password:u,rawPassword:w,encryptionStrength:h,zipCrypto:x,extendedTimestamp:v,ntfsTimestamp:y,keepOrder:b,useWebWorkers:k,transferStreams:z,bufferedWrite:S,createTempStream:R,dataDescriptorSignature:A,signal:F,useUnicodeFileNames:D,compressionMethod:j,format:U?U.format:g,codecURI:U?U.codecURI:g,ut:U?U.versionNeeded:g,level:O,useCompressionStream:T,dataDescriptor:M,zip64:C,rawExtraField:I}}})(i,o,d),{comment:f}=m,z=d[Sn];let S;i.files.set(o,g);try{const{ft:f}=m;0==f.level||f.compressionMethod!==g||f.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamZlib:r}=e;if(r&&!r.ge)return!0;if(mt(t)||lt(t,st))return!0;if(r)try{return await Dt(e),!0}catch{return!1}return!1})(i.config)||(f.level=0);const u=await(async(t,r,{ft:n},s)=>{const{passThrough:a,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:d}=n;let{dataDescriptor:l,zip64:m,level:p,compressionMethod:f}=n,u=0,w=0;if(a){if(!r)throw Error(Gs);if(w=s[en],w===g)throw Error(Ys)}const h=!0===m,x=xa(t,s,hn),v=!!r&&(!!(o&&za(o)||c&&za(c))||a&&x);r||(p=0,f=0);const y=v?i?12:16+4*d:0;r&&(r=new Zr(r),await Hr(r),a?(s.uncompressedSize=w,u=va(w)+y):r.size===g?(l=!0,(m||m===g)&&(m=!0,w=u=4294967296)):(s.uncompressedSize=w=r.size,u=va(w)+y));const b=h||w>=e,k=h||u>=e;if(b||k){if(!1===m)throw Error(Ks);m=!0}return m=m||!1,{reader:r,ft:{dataDescriptor:l,zip64:m,it:b,st:k,uncompressedSize:w,level:p,compressionMethod:f,encrypted:v}}})(i,c,m,d);({reader:c}=u);const w=da(i.writer),h=ca(i.writer),x=(e=>{const{rawFilename:r,lastModDate:s,lastAccessDate:a,creationDate:i,level:o,zip64:c,zipCrypto:d,useUnicodeFileNames:l,dataDescriptor:m,directory:f,rawExtraField:u,encryptionStrength:w,extendedTimestamp:h,ntfsTimestamp:x,passThrough:k,encrypted:z,it:S,st:R,uncompressedSize:A}=e;let{version:F,compressionMethod:D}=e;const j=!f&&(D===g?o===g||o>0:0!==D);let U;const O=k||!j,T=c&&(e.bufferedWrite||!m||!S&&!R||O),M=T||c&&m&&(S||R);if(c&&(S||R)){const e=20,t=oa(e);if(t.uint16(1),t.uint16(e-4),U=t.array,T&&(t.wt(A),O)){const e=z?d?12:16+4*w:0;t.wt(k?0:A+e)}}else U=E;let C,I,P,N,W;if(z&&!d){const e=oa(za(Js)+2);e.uint16(39169),e.bytes(Js),C=e.array,C[8]=w}else C=E;if(h){const e=ua(s),t=wa(e);if(t){const t=9+(a?4:0)+(i?4:0),r=oa(t);N=1+(a?2:0)+(i?4:0),r.uint16(p),r.uint16(t-4),r.uint8(N),r.uint32(e),a&&r.uint32(ha(ua(a))),i&&r.uint32(ha(ua(i))),P=r.array}else P=E;if(x===g?!t||a||i:x)try{const e=fa(s),t=oa(36);t.uint16(10),t.uint16(32),t.ht(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(fa(a)||e),t.wt(fa(i)||e),I=t.array}catch{I=E}else I=E}else I=P=E;try{const{uid:r,gid:n,unixExtraFieldType:s}=e;if(s!=Qs||r===g&&n===g)if(s!=$s||r===g&&n===g)W=E;else{const e=oa(8);e.uint16(30805),e.uint16(4),e.uint16((r===g?0:r)&t),e.uint16((n===g?0:n)&t),W=e.array}else{const e=ia(r),t=ia(n),s=3+e.length+t.length,a=oa(4+s);a.uint16(30837),a.uint16(s),a.uint8(1),a.uint8(e.length),a.bytes(e),a.uint8(t.length),a.bytes(t),W=a.array}}catch{W=E}D===g&&(D=j?8:0);const{ut:q}=e;j&&q!==g&&(F=F>q?F:q),c&&(F=F>45?F:45),z&&!d&&(F=F>51?F:51,C[9]=D,D=99);const _=M?za(U):0,B=_+za(C,P,I,W,u);if(B>t)throw Error(Zs);const L=new Date(2e3*Math.ceil(s.getTime()/2e3)),{et:Z,nt:V,rawLastModDate:H}=Sa({version:F,bitFlag:Ea(o,l,m,z,D),compressionMethod:D,uncompressedSize:A,lastModDate:b>L?b:L>y?y:L,rawFilename:r,st:R,it:S,extraFieldLength:B}),K=oa(v+za(r)+B),Y=K.array,G=oe(Y);return K.uint32(n),K.bytes(Z),K.bytes(r),M&&K.bytes(U),K.bytes(C),K.bytes(P),K.bytes(I),K.bytes(W),K.bytes(u),m&&(R||ba(G,18,0),S||ba(G,22,0)),{xt:Y,vt:G,et:Z,nt:V,lastModDate:s,rawLastModDate:H,encrypted:z,compressed:j,version:F,compressionMethod:D,lt:N,Ge:E,yt:_,Je:P,Qe:I,$e:W,Xe:C,extraFieldLength:B}})(d=Object.assign({},d,l.ft,m.ft,u.ft,{internalFileAttribute:m.ft.internalFileAttributes,externalFileAttribute:l.ft.externalFileAttributes,signature:d[zn],offset:i.offset-w,diskNumberStart:h})),z=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=E,i=0,o=e?20:12;return r&&(o+=4),t&&(s=new Uint8Array(o),n=oe(s),r&&(i=4,ba(n,0,a))),{bt:s,gt:n,kt:i}})(d),R=za(x.xt,z.bt);S=await(async(t,n,a,i,o)=>{const{files:c,writer:d}=t,{keepOrder:l,dataDescriptor:m,signal:p}=o,{zt:f}=i,u=t.options[_n],w=t.Ye;let h,x,y,b,z,S,E,R={},A=0;c.set(n,R),t.Ye=R;try{let x;l&&(x=w&&w.lock,R.lock=new Promise(e=>y=e)),o.bufferedWrite||!l||t.St||t.Ke||!m?(h=!0,t.Ke++,E=o.createTempStream?await o.createTempStream():new TransformStream(g,g,{highWaterMark:k}),E.size=0,await Hr(d)):(E=d,await F()),await Hr(E);const j=da(d);if(t.Le){delete t.Le;const e=new Uint8Array(4);ba(oe(e),0,s),await pa(d,e),t.offset+=4}u&&!h&&aa(i,t.offset-j);const{xt:U}=f;h||(await x,await D());const O=ca(d),T=ma(t,d);if(R.diskNumberStart=O,h||(z=!0,S=d.size,await pa(E,U)),R=await(async(t,n,{diskNumberStart:s,lock:a},i,o,c)=>{const{zt:d,Et:l,Rt:m}=i,{et:p,nt:f,lastModDate:u,rawLastModDate:w,encrypted:h,compressed:x,version:v,compressionMethod:y,Ge:b,yt:k,Je:z,lt:S,Qe:E,$e:R,Xe:A}=d,{bt:F}=l,{rawFilename:D,lastAccessDate:j,creationDate:U,password:O,rawPassword:T,level:M,zip64:C,it:I,st:P,zipCrypto:N,dataDescriptor:W,directory:q,executable:_,versionMadeBy:B,rawComment:L,rawExtraField:Z,useWebWorkers:V,transferStreams:H,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:ee,externalFileAttributes:te,uid:re,gid:ne,unixMode:se,setuid:ae,setgid:ie,sticky:oe,unixExternalUpper:ce,msdosAttributesRaw:de,msdosAttributes:le,useCompressionStream:me,passThrough:pe,format:fe,codecURI:ue}=c,we={lock:a,versionMadeBy:B,zip64:C,directory:!!q,executable:!!_,filenameUTF8:!0,rawFilename:D,commentUTF8:!0,rawComment:L,Ge:b,yt:k,Je:z,Qe:E,$e:R,Xe:A,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:ee,externalFileAttributes:te,diskNumberStart:s,uid:re,gid:ne,unixMode:se,setuid:ae,setgid:ie,sticky:oe,unixExternalUpper:ce,msdosAttributesRaw:de,msdosAttributes:le};let{signature:he,uncompressedSize:xe}=c,ve=0;pe||(xe=0);const{writable:ye}=n;if(t){const s=$e(t.createReadable?t.createReadable():t.readable),a=t.size,i={options:{codecType:vt,level:M,rawPassword:T,password:O,encryptionStrength:J,zipCrypto:h&&N,passwordVerification:h&&N&&w>>8&r,signed:!pe,compressed:x&&!pe,encrypted:h&&!pe,useWebWorkers:V,useCompressionStream:me,transferStreams:H,format:fe,codecURI:ue,compressionMethod:y},config:o,oe:{signal:X,size:a,onstart:K,onprogress:Y,onend:G}};try{const t=await Ht({readable:s,writable:ye},i);if(ve=t.outputSize,n.size+=ve,pe||(xe=t.inputSize,he=t.signature),!P&&ve>=e||!I&&xe>=e)throw Error(Ks)}catch(e){throw e.outputSize!==g&&(n.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:r,zt:n,Et:s},{zip64:a,zipCrypto:i,dataDescriptor:o})=>{const{nt:c,encrypted:d}=n,{gt:l,kt:m}=s;d&&!i||e===g||(ba(c,10,e),o&&ba(l,m,e)),a?o&&(ga(l,m+4,BigInt(t)),ga(l,m+12,BigInt(r))):(ba(c,14,t),ba(c,18,r),o&&(ba(l,m+4,t),ba(l,m+8,r)))})({signature:he,compressedSize:ve,uncompressedSize:xe,zt:d,Et:l},c),W&&await pa(n,F),Object.assign(we,{uncompressedSize:xe,compressedSize:ve,lastModDate:u,rawLastModDate:w,creationDate:U,lastAccessDate:j,encrypted:h,zipCrypto:N,size:m+ve,compressionMethod:y,version:v,et:p,nt:f,signature:he,lt:S,it:I,st:P}),we})(a,E,R,i,t.config,o),h||(z=!1),c.set(n,R),R.filename=n,h){if(await Promise.all([E.writable.getWriter().close(),x]),await F(),b=!0,S=d.size,await D(),R.diskNumberStart=ca(d),R.offset=ma(t,d),u){const e=i.Rt;aa(i,t.offset-da(d)),R.size+=i.Rt-e}(({rawFilename:e,encrypted:t,zip64:r,yt:n,signature:s,compressedSize:a,uncompressedSize:i,it:o,st:c},d,{dataDescriptor:l})=>{if(l||(t||ba(d,14,s),c||ba(d,18,a),o||ba(d,22,i)),r&&n){const t=v+za(e)+4;ga(d,t,BigInt(i)),ga(d,t+8,BigInt(a))}})(R,f.vt,o),await pa(d,f.xt),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new WritableStream({async write(e){var t;await n.ready,await n.write(e),t=za(e),A+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,d,p),d.size+=E.size,b=!1}else R.diskNumberStart=O,R.offset=T;return t.offset+=R.size,R}catch(e){if(b||z){if(t.hasCorruptedEntries=!0,e)try{e.corruptedEntry=!0}catch{}t.offset+=d.size-S,h&&(t.offset+=A)}throw c.delete(n),e}finally{if(h&&t.Ke--,y&&y(),x&&x(),h&&E&&E.dispose)try{await E.dispose()}catch{}}async function F(){t.St=!0;const{At:e}=t;t.At=new Promise(e=>x=()=>{t.St=!1,e()}),await e}async function D(){la(d,za(f.xt))&&await d.closeDisk()}})(i,o,c,{zt:x,Et:z,Rt:R},d)}catch(e){throw i.files.delete(o),e}return Object.assign(S,{name:o,comment:f,extraField:z}),new jn(S)})(d,i,o,c),l.add(f),await f}catch(e){throw z&&d.Ze.delete(i),e}finally{l.delete(f);const e=ta.shift();e?e():ea--}}remove(e){const{Ze:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==g){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(r=E,n={}){const{He:s,writer:a}=this,{writable:m}=a;if(za(r)>t)throw Error(Ps);for(;s.size;)await Promise.allSettled(Array.from(s));return await(async(r,n,s)=>{const a=(r=>{let n=0;for(const[,s]of r){const{rawFilename:r,Xe:a,rawComment:i,Qe:o,$e:c,rawExtraField:d,extendedTimestamp:l,lt:m,lastModDate:f,it:u,st:w,uncompressedSize:h,compressedSize:x}=s,v=s.offset>=e,y=s.diskNumberStart>=t;let b,g;if(v||y||u||w){const e=4+(u?8:0)+(w?8:0)+(v?8:0)+(y?4:0),t=oa(e);t.uint16(1),t.uint16(e-4),u&&t.wt(h),w&&t.wt(x),v&&t.wt(s.offset),y&&t.uint32(s.diskNumberStart),b=t.array}else b=E;s.Ge=b,s.ot=v,s.ct=y;const k=ua(f);if(l&&wa(k)){const e=oa(9);e.uint16(p),e.uint16(5),e.uint8(m),e.uint32(k),g=e.array}else g=E;s.Je=g;const z=za(b,a,o,c,g,d);if(z>t)throw Error(Zs);n+=46+za(r,i)+z}return n})(r.files),m=await(async(r,n,s)=>{const{files:a,writer:o}=r,c=new Uint8Array(n);await Hr(o);let d=0,l=0,m=ca(o),p=da(o);for(const[r,n]of Array.from(a.values()).entries()){const{offset:f,rawFilename:u,Ge:w,Xe:h,Je:x,Qe:v,$e:y,rawExtraField:b,rawComment:g,versionMadeBy:k,et:z,nt:S,it:E,st:R,ct:A,ot:F,internalFileAttributes:D,externalFileAttributes:j,diskNumberStart:U,uncompressedSize:O,compressedSize:T}=n,M=za(w,h,x,v,y,b),C=46+za(u,g)+M;la(o,d+C-l)&&(await pa(o,c.slice(l,d)),l=d,await o.closeDisk()),0==r&&(m=ca(o),p=da(o)),E||ba(S,18,O),R||ba(S,14,T),(F||A)&&45>n.version&&ya(S,0,45);const I=oa(C);if(I.uint32(i),I.uint16(k),I.bytes(z.subarray(0,24)),I.uint16(M),I.uint16(za(g)),I.uint16(A?t:U),I.uint16(D),I.uint32(j),I.uint32(F?e:f),I.bytes(u),I.bytes(w),I.bytes(h),I.bytes(x),I.bytes(v),I.bytes(y),I.bytes(b),I.bytes(g),ka(c,I.array,d),d+=C,s.onprogress)try{await s.onprogress(r+1,a.size,new jn(n))}catch{}}return await pa(o,l?c.slice(l):c),{diskNumber:m,diskOffset:p}})(r,a,s);await(async(r,n,s,a)=>{const{writer:i}=r,{Ft:m}=a;let{Dt:p}=a,f=r.files.size,u=m.diskNumber,w=ma(r,m),h=ca(i);la(i,l)&&h++;let x=xa(r,s,wn);if(!(e>w&&e>p&&t>f&&t>h)){if(!1===x)throw Error(Ks);x=!0}const v=za(n);if(v>t)throw Error(Ps);const y=oa(x?98:l);la(i,za(y.array)+v)&&await i.closeDisk(),h=ca(i),x&&(y.uint32(c),y.wt(44),y.uint16(45),y.uint16(45),y.uint32(h),y.uint32(u),y.wt(f),y.wt(f),y.wt(p),y.wt(w),y.uint32(d),y.uint32(h),y.wt(BigInt(ma(r,i))+BigInt(p)),y.uint32(h+1),xa(r,s,"supportZip64SplitFile",!0)&&(h=t,u=t),f=t,w=e,p=e),y.uint32(o),y.uint16(h),y.uint16(u),y.uint16(f),y.uint16(f),y.uint32(p),y.uint32(w),y.uint16(v),await pa(i,y.array),v&&await pa(i,n)})(r,n,s,{Ft:m,Dt:a})})(this,r,n),xa(this,n,Wn)||await m.getWriter().close(),a.getData?a.getData():m}}class na{constructor(e={}){const{readable:t,writable:r}=new TransformStream;this.readable=t,this.zipWriter=new ra(r,e),this.He=new Set}transform(e){const t=this.zipWriter;let r;const{readable:n,writable:s}=new TransformStream({start(e){r=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return sa(this,this.zipWriter.add(e,n),e=>r.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:r,writable:n}=new TransformStream({start(e){t=e}});return sa(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,t={}){return await Promise.all(Array.from(this.He)),this.zipWriter.close(e,t)}}function sa(e,t,r){e.He.add(t),t.catch(e=>{try{r(e)}catch{}})}function aa(e,t){const{zt:r}=e;let{xt:n,extraFieldLength:s}=r,a=64-(t+za(n))%64;4>a&&(a+=64);const i=new Uint8Array(a),o=oe(i);ya(o,0,6534),ya(o,2,a-4);const c=n;r.xt=n=new Uint8Array(za(c)+a),ka(n,c),ka(n,i,za(c));const d=oe(n);ya(d,28,s+a),r.vt=d,e.Rt+=a}function ia(e){if(e===g)return E;{const t=new Uint8Array(4);oe(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function oa(e){const t=new Uint8Array(e),r=oe(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{ya(r,n,e),n+=2},uint32:e=>{ba(r,n,e),n+=4},wt:e=>{ga(r,n,BigInt(e)),n+=8},bytes:e=>{ka(t,e,n),n+=za(e)},ht:e=>n+=e}}function ca(e){const{diskNumber:t=0}=e;return t}function da(e){const{diskOffset:t=0}=e;return t}function la(e,t){const{availableSize:r=k}=e;return t>r}function ma(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function pa(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=za(t),await n.write(t)}finally{n.releaseLock()}}function fa(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function ua(e){return Math.floor(e.getTime()/1e3)}function wa(e){return e>=Vs&&Hs>=e}function ha(e){return Math.min(Hs,Math.max(Vs,e))}function xa(e,t,r,n){const s=t[r]===g?e.options[r]:t[r];return s===g?n:s}function va(e){return e+5*(Math.floor(e/16383)+1)}function ya(e,t,r){e.setUint16(t,r,!0)}function ba(e,t,r){e.setUint32(t,r,!0)}function ga(e,t,r){e.setBigUint64(t,r,!0)}function ka(e,t,r){e.set(t,r)}function za(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Sa({version:t,bitFlag:r,compressionMethod:n,uncompressedSize:s,compressedSize:a,lastModDate:i,rawLastModDate:o,rawFilename:c,st:d,it:l,extraFieldLength:m}){const p=oa(26),f=p.array,u=oe(f);if(p.uint16(t),p.uint16(r),p.uint16(n),o===g){const e=new Uint32Array(1),t=oe(e);ya(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),ya(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),o=e[0]}return p.uint32(o),p.ht(4),d||a!==g?p.uint32(d?e:a):p.ht(4),l||s!==g?p.uint32(l?e:s):p.ht(4),p.uint16(za(c)),p.uint16(m),{et:f,nt:u,rawLastModDate:o}}function Ea(e,t,r,n,s){let a=0;return t&&(a|=f),r&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),n&&(a|=1),a}const Ra=1048576,Aa=".zip.js-temp";function Fa(e={}){const{thresholdBytes:t=Ra,directoryName:r=Aa,getDirectory:n=()=>navigator.storage.getDirectory()}=e;let s;function a(){return s||(s=Promise.resolve(n()).then(e=>e.getDirectoryHandle(r,{create:!0}))),s}return()=>{const e=[];let r,n,s,i,o=0,c=!1;const d=new WritableStream({async write(i){c?await s.write(i):(e.push(i),o+=i.length,o>t&&await(async()=>{const t=await a();r=crypto.randomUUID(),n=await t.getFileHandle(r,{create:!0}),s=(await n.createWritable()).getWriter(),c=!0;for(const t of e)await s.write(t);e.length=0})())},async close(){s&&(await s.close(),s=null)}});let l=0;return{writable:d,readable:new ReadableStream({async pull(t){if(c){if(!i){const e=await n.getFile();i=e.stream().getReader()}const{value:e,done:r}=await i.read();r?t.close():t.enqueue(e)}else l<e.length?t.enqueue(e[l++]):t.close()},async cancel(e){i&&await i.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(s){try{await s.close()}catch{}s=null}if(r){try{const e=await a();await e.removeEntry(r)}catch{}n=r=null}e.length=0}}}}const Da=1048576;function ja(e={}){const{thresholdBytes:t=Da}=e;return()=>{const e=[];let r,n,s,a=0,i=!1;const o=new WritableStream({async write(s){i?await r.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new TransformStream;n=new Response(t.readable).blob(),r=t.writable.getWriter(),i=!0;for(const t of e)await r.write(t);e.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:o,readable:new ReadableStream({async pull(t){if(i){if(!s){const e=await n;s=e.stream().getReader()}const{value:e,done:r}=await s.read();r?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),e.length=0}}}}const Ua=1048576,Oa=".zip.js-temp";function Ta(e={}){const{thresholdBytes:t=Ua,directoryName:r=Oa,getDirectory:n}=e;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error("createSyncAccessHandle is only available in dedicated workers");const s=n||(()=>navigator.storage.getDirectory());let a;function i(){return a||(a=Promise.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,n,s=0,a=!1,o=0,c=0;const d=new WritableStream({async write(c){a?(n.write(c,{at:o}),o+=c.length):(e.push(c),s+=c.length,s>t&&await(async()=>{const t=await i();r=crypto.randomUUID();const s=await t.getFileHandle(r,{create:!0});n=await s.createSyncAccessHandle(),a=!0;for(const t of e)n.write(t,{at:o}),o+=t.length;e.length=0})())},close(){n&&n.flush()}});let l=0;return{writable:d,readable:new ReadableStream({pull(t){if(a){const e=o-c;if(0>=e)return void t.close();const r=new Uint8Array(Math.min(524288,e)),s=n.read(r,{at:c});s?(c+=s,t.enqueue(r.subarray(0,s))):t.close()}else l<e.length?t.enqueue(e[l++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const e=await i();await e.removeEntry(r)}catch{}r=null}e.length=0}}}}try{T({baseURI:import.meta.url})}catch{}let Ma,Ca,Ia,Pa,Na;function Wa(e,t,r={}){if(!Ma){const e=Error("WASM module not loaded");throw e.cause=Na,e}const n="number"==typeof r.level?r.level:-1,s="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.jt=Ca(s),this.in=Ca(a),this.inBufferSize=a,!this.jt||!this.in)throw Error("allocation failed");if(this.Ut=new Uint8Array(s),e?(this.Ot=Ma.deflate_process,this.Tt=Ma.deflate_last_consumed,this.Mt=Ma.deflate_end,this.Ct=Ma.deflate_new(),r="gzip"===t?Ma.deflate_init_gzip(this.Ct,n):"deflate-raw"===t?Ma.deflate_init_raw(this.Ct,n):Ma.deflate_init(this.Ct,n)):"deflate64-raw"===t?(this.Ot=Ma.inflate9_process,this.Tt=Ma.inflate9_last_consumed,this.Mt=Ma.inflate9_end,this.Ct=Ma.inflate9_new(),r=Ma.inflate9_init_raw(this.Ct)):(this.Ot=Ma.inflate_process,this.Tt=Ma.inflate_last_consumed,this.Mt=Ma.inflate_end,this.Ct=Ma.inflate_new(),r="deflate-raw"===t?Ma.inflate_init_raw(this.Ct):"gzip"===t?Ma.inflate_init_gzip(this.Ct):Ma.inflate_init(this.Ct)),0!==r)throw Error("init failed:"+r)}catch(e){throw i(this),e}},transform(t,r){try{const n=t,a=new Uint8Array(Pa.buffer),i=this.Ot,o=this.Tt,c=this.jt,d=this.Ut;let l=0;for(;l<n.length;){const t=Math.min(n.length-l,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&Ia&&(Ia(this.in),this.in=0),this.in=Ca(t),this.inBufferSize=t,!this.in))throw Error("allocation failed");a.set(n.subarray(l,l+t),this.in);const m=i(this.Ct,this.in,t,c,s,0),p=16777215&m;if(p&&(d.set(a.subarray(c,c+p),0),r.enqueue(d.slice(0,p))),!e){const e=m>>24&255,t=128&e?e-256:e;if(0>t)throw Error("process error:"+t)}const f=o(this.Ct);if(0===f)break;l+=f}}catch(e){i(this),r.error(e)}},flush(t){try{const r=new Uint8Array(Pa.buffer),n=this.Ot,a=this.jt,i=this.Ut;for(;;){const o=n(this.Ct,0,0,a,s,4),c=16777215&o,d=o>>24&255;if(!e){const e=128&d?d-256:d;if(0>e)throw Error("process error:"+e)}if(c&&(i.set(r.subarray(a,a+c),0),t.enqueue(i.slice(0,c))),1===d||0===c)break}}catch(e){t.error(e)}finally{const e=i(this);0!==e&&t.error(Error("end error:"+e))}},cancel(){i(this)}});function i(e){let t=0;return e.Ct&&e.Mt&&(t=e.Mt(e.Ct)),e.Ct=0,e.in&&Ia&&Ia(e.in),e.in=0,e.jt&&Ia&&Ia(e.jt),e.jt=0,t}}class qa{constructor(e="deflate",t){return Wa(!0,e,t)}}class _a{constructor(e="deflate",t){return Wa(!1,e,t)}}qa.ge=!0,_a.ge=!0;let Ba,La=!1;function Za(){Ba=null,(async()=>{await Promise.allSettled(_t.map(e=>(Jt(e),e.terminate()))),St=g})(),La=!1,Ma=Ca=Ia=Pa=Na=null}(({It:e})=>{Dt=e})({It:e=>{if(!Ba){let{wasmURI:t}=e;typeof t==S&&(t=t()),Ba=(async(e,{baseURI:t})=>{if(!La)try{await(async(e,t)=>{let r,n;try{try{n=new URL(e,t)}catch{}const s=await fetch(n);r=await s.arrayBuffer()}catch(t){if(!e.startsWith("data:application/wasm;base64,"))throw t;r=(e=>{const t=e.split(",")[1],r=atob(t),n=r.length,s=new Uint8Array(n);for(let e=0;n>e;++e)s[e]=r.charCodeAt(e);return s.buffer})(e)}(e=>{if(Ma=e,({malloc:Ca,free:Ia,memory:Pa}=Ma),"function"!=typeof Ca||"function"!=typeof Ia||!Pa)throw Ma=Ca=Ia=Pa=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(e,t),La=!0}catch(e){throw(e=>{Na=e})(e),e}})(t,e).catch(e=>{throw Ba=null,e})}return Ba}}),T({CompressionStreamZlib:qa,DecompressionStreamZlib:_a}),T({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const Va="Entry filename already exists";class Ha{constructor(e,t,r,n){const s=this;if(e.root&&n&&n.getChildByName(t))throw Error(Va);r||(r={}),Object.assign(s,{fs:e,name:t,data:r.data,options:r.options,id:e.Pt++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,passThrough:r.passThrough}),!n&&e.root||(e.entries[s.id]=s),n&&s.parent.children.push(s)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,r=this.parent;for(;r&&r!=e;)t=(r.name?r.name+"/":"")+t,r=r.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw Error(Va);this.name=e}}class Ka extends Ha{constructor(e,t,r,n){super(e,t,r,n);const s=this;s.Reader=r.Reader,s.Writer=r.Writer,r.getData&&(s.getData=r.getData)}clone(){return new Ka(this.fs,this.name,this)}async getData(e,t={}){const r=this;if(!e||e.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=$a(r.Reader,r.data,t),s=r.data?r.data.uncompressedSize:n.size;await Promise.all([Hr(n),Hr(e,s)]);const{readable:a}=n;return r.uncompressedSize=n.size,await a.pipeTo(e.writable),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,Object.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==fe)return!1;throw e}}getText(e,t){return this.getData(new br(e),t)}getBlob(e,t){return this.getData(new vr(e),t)}getData64URI(e,t){return this.getData(new ur(e),t)}getUint8Array(e){return this.getData(new _r,e)}getWritable(e=new WritableStream,t){return this.getData({writable:e},t)}async getArrayBuffer(e){return ie(await this.getUint8Array(e)).buffer}replaceBlob(e){Object.assign(this,{data:e,Reader:xr,Writer:vr,reader:null})}replaceText(e){Object.assign(this,{data:e,Reader:yr,Writer:br,reader:null})}replaceData64URI(e){Object.assign(this,{data:e,Reader:fr,Writer:ur,reader:null})}replaceUint8Array(e){Object.assign(this,{data:e,Reader:qr,Writer:_r,reader:null})}replaceReadable(e){Object.assign(this,{data:null,Reader:Ja(e),Writer:null,reader:null})}}class Ya extends Ha{constructor(e,t,r,n){super(e,t,r,n),this.directory=!0}clone(e){const t=this,r=new Ya(t.fs,t.name,t);return e&&(r.children=t.children.map(t=>{const n=t.clone(e);return n.parent=r,n})),r}addDirectory(e,t){return ai(this,e,{options:t},!0)}addText(e,t,r={}){return ai(this,e,{data:t,Reader:yr,Writer:br,options:r,uncompressedSize:t.length})}addBlob(e,t,r={}){return ai(this,e,{data:t,Reader:xr,Writer:vr,options:r,uncompressedSize:t.size})}addData64URI(e,t,r={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const s=t.indexOf(",")+1;return ai(this,e,{data:t,Reader:fr,Writer:ur,options:r,uncompressedSize:Math.floor(.75*(n-s))})}addUint8Array(e,t,r={}){return ai(this,e,{data:t,Reader:qr,Writer:_r,options:r,uncompressedSize:t.length})}addHttpContent(e,t,r={}){return ai(this,e,{data:t,Reader:class extends Nr{constructor(e){super(e,r)}},options:r})}addReadable(e,t,r={}){return ai(this,e,{Reader:Ja(t),options:r})}addFileSystemEntry(e,t={}){return ri(this,e,t)}addFileSystemHandle(e,t={}){return ri(this,e,t)}addFile(e,t={}){return(t=Object.assign({},t)).lastModDate||(t.lastModDate=new Date(e.lastModified)),ai(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}Nt(e,t){return ai(this,e,t)}importBlob(e,t){return this.importZip(new xr(e),t)}importData64URI(e,t){return this.importZip(new fr(e),t)}importUint8Array(e,t){return this.importZip(new qr(e),t)}importHttpContent(e,t){return this.importZip(new Nr(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new vr(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new ur(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new _r,e)}async exportWritable(e=new WritableStream,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,t={}){return(async(e,t,r)=>{const n=Xa([e],"uncompressedSize"),s=new Map;return await a(e,t),t;async function a(e,t){if(r.concurrent){const r=(await Promise.allSettled(e.children.map(e=>i(e,t)))).find(e=>"rejected"==e.status);if(r)throw r.reason}else for(const r of e.children)await i(r,t)}async function i(e,t){try{if(e.directory){const r=await t.getDirectoryHandle(e.name,{create:!0});await a(e,r)}else{const a=await t.getFileHandle(e.name,{create:!0}),i=await a.createWritable();await e.getData({writable:i},Object.assign({},r,{onprogress:async t=>{if(r.onprogress){s.set(e.id,t);try{await r.onprogress(Array.from(s.values()).reduce((e,t)=>e+t,0),n)}catch{}}}}))}}catch(t){throw Error(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,t)}async importZip(e,t={}){await Hr(e);const r=new cs(e,t),n=[],s=await r.getEntries();for(const e of s){let r=this;try{const s=e.filename.split("/"),a=s.pop();if(s.forEach(e=>{const t=r;if(r=r.getChildByName(e),r){if(!r.directory)throw Error(Va)}else r=new Ya(this.fs,e,{data:null},t),n.push(r)}),e.directory){let t=r;if(a)if(t=r.getChildByName(a),t){if(!t.directory)throw Error(Va)}else t=new Ya(this.fs,a,{data:null},r),n.push(t);t==this||t.data||(t.data=e)}else n.push(ai(r,a,{data:e,Reader:Qa(Object.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return n}async exportZip(e,t={}){const r=this;(t=Object.assign({},t)).bufferedWrite===g&&(t.bufferedWrite=!0);const[n]=await Promise.all([ei(r,t.readerOptions),Hr(e)]),s=new ra(e,t);return await(async(e,t,r,n,s)=>{const a=t,i=new Map;await async function e(t,o){async function c(o){const c=n.relativePath?o.getRelativeName(a):o.getFullname(),d=o.options||{};let l={};if(o.data instanceof jn){const{externalFileAttributes:e,versionMadeBy:t,comment:r,lastModDate:n,creationDate:s,lastAccessDate:a,uncompressedSize:i,encrypted:c,zipCrypto:d,signature:m,compressionMethod:p,extraFieldAES:f}=o.data;if(l={externalFileAttributes:e,versionMadeBy:t,comment:r,lastModDate:n,creationDate:s,lastAccessDate:a},o.passThrough){let e,t;0===p&&(e=0),f&&(t=f.strength),l=Object.assign(l,{passThrough:!0,encrypted:c,zipCrypto:d,signature:m,uncompressedSize:i,level:e,encryptionStrength:t,compressionMethod:p})}}await t.add(c,s.get(o),Object.assign({},n,l,d,{directory:o.directory,onprogress:async e=>{if(n.onprogress){i.set(c,e);try{await n.onprogress(Array.from(i.values()).reduce((e,t)=>e+t),r)}catch{}}}})),await e(t,o)}await(async()=>{if(n.bufferedWrite){const e=(await Promise.allSettled(o.children.map(c))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of o.children)await c(e)})()}(e,t)})(s,r,Xa([r],"uncompressedSize"),t,n),await s.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let r=0;r<t.length;r++){const n=t[r];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const r=this.children;return!(await Promise.all(r.map(r=>r.checkPassword(e,t)))).includes(!1)}}const Ga={FS:class{constructor(){si(this)}get children(){return this.root.children}remove(e){ti(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const r of e.children)t.push(r)}e.parent=g}move(e,t){if(e==this.root)throw Error("Root directory cannot be moved");if(!t.directory)throw Error("Target entry is not a directory");if(t.isDescendantOf(e))throw Error("Entry is a ancestor of target entry");if(e!=t){const r=t.getChildByName(e.name);if(r){if(r!=e)throw Error(Va)}else ti(e),e.parent=t,t.children.push(e),((e,t)=>{const r=[t];for(;r.length;){const t=r.pop();e.entries[t.id]=t;for(const e of t.children)r.push(e)}})(this,e)}}find(e){const t=e.split("/");let r=this.root;for(let e=0;r&&e<t.length;e++)r=r.getChildByName(t[e]);return r||(r=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),r}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,r){return this.root.addText(e,t,r)}addBlob(e,t,r){return this.root.addBlob(e,t,r)}addData64URI(e,t,r){return this.root.addData64URI(e,t,r)}addUint8Array(e,t,r){return this.root.addUint8Array(e,t,r)}addHttpContent(e,t,r){return this.root.addHttpContent(e,t,r)}addReadable(e,t,r){return this.root.addReadable(e,t,r)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}Nt(e,t){return this.root.Nt(e,t)}importBlob(e,t){return si(this),this.root.importBlob(e,t)}importData64URI(e,t){return si(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return si(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return si(this),this.root.importHttpContent(e,t)}importReadable(e,t){return si(this),this.root.importReadable(e,t)}importZip(e,t){return si(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Ya,ZipFileEntry:Ka};function Xa(e,t){let r=0;const n=Array.from(e);for(;n.length;){const e=n.pop();r+=e[t]||0;for(const t of e.children)n.push(t)}return r}function Ja(e){let t;return()=>{if(t)throw Error("Readable stream already consumed");return t=!0,{readable:e}}}function Qa(e){return class extends mr{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const r=await t.entry.getData(new vr,Object.assign({},e,t.options));t.data=r,t.Wt=new xr(r),super.init()}readUint8Array(e,t){return this.Wt.readUint8Array(e,t)}}}function $a(e,t,r){return e.prototype?new e(t,r):e(t,r)}async function ei(e,t){const r=[],n=[e],s=new Map;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):r.push(t)}return await Promise.all(r.map(async e=>{const r=e.reader=$a(e.Reader,e.data,t);s.set(e,r);try{await Hr(r)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}r.size!==g&&(e.uncompressedSize=r.size)})),s}function ti(e){if(e.parent){const t=e.parent.children;t.forEach((r,n)=>{r.id==e.id&&t.splice(n,1)})}}function ri(e,t,r){return async function e(t,n,s){if(n)try{if((n.isFile||n.isDirectory)&&(n=await ni(n)),"file"==n.kind){const e=await n.getFile();s.push(t.Nt(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:Object.assign({},{lastModDate:new Date(e.lastModified)},r),uncompressedSize:e.size}))}else if("directory"==n.kind){const r=t.addDirectory(n.name);s.push(r);for await(const t of n.values())await e(r,t,s)}}catch(e){const t=e.message+(n?" ("+n.name+")":"");throw Error(t,{cause:e})}return s}(e,t,[])}async function ni(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new Promise((t,r)=>e.file(t,r))),e.isDirectory){t.kind="directory";const r=await(async e=>{const t=[];function r(e,n,s){e.readEntries(async a=>{if(a.length){for(const e of a)t.push(await ni(e));r(e,n,s)}else n(t)},s)}return await new Promise((t,n)=>r(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const r={value:t[e],done:e==t.length};return e++,r}}}}})(e);t.values=()=>r}return t}function si(e){e.entries=[],e.Pt=0,e.root=new Ya(e)}function ai(e,t,r,n){if(e.directory)return n?new Ya(e.fs,t,r,e):new Ka(e.fs,t,r,e);throw Error("Parent entry is not a directory")}const ii={application:{"andrew-inset":"ez",annodex:"anx","atom+xml":"atom","atomcat+xml":"atomcat","atomserv+xml":"atomsrv",bbolin:"lin","cu-seeme":"cu","davmount+xml":"davmount",dsptype:"tsp",ecmascript:["es","ecma"],futuresplash:"spl",hta:"hta","java-archive":"jar","java-serialized-object":"ser","java-vm":"class",m3g:"m3g","mac-binhex40":"hqx",mathematica:["nb","ma","mb"],msaccess:"mdb",msword:["doc","dot","wiz"],mxf:"mxf",oda:"oda",ogg:"ogx",pdf:"pdf","pgp-keys":"key","pgp-signature":["asc","sig"],"pics-rules":"prf",postscript:["ps","ai","eps","epsi","epsf","eps2","eps3"],rar:"rar","rdf+xml":"rdf","rss+xml":"rss",rtf:"rtf","xhtml+xml":["xhtml","xht"],xml:["xml","xsl","xsd","xpdl"],"xspf+xml":"xspf",zip:"zip","vnd.android.package-archive":"apk","vnd.cinderella":"cdy","vnd.google-earth.kml+xml":"kml","vnd.google-earth.kmz":"kmz","vnd.mozilla.xul+xml":"xul","vnd.ms-excel":["xls","xlb","xlt","xlm","xla","xlc","xlw"],"vnd.ms-pki.seccat":"cat","vnd.ms-pki.stl":"stl","vnd.ms-powerpoint":["ppt","pps","pot","ppa","pwz"],"vnd.oasis.opendocument.chart":"odc","vnd.oasis.opendocument.database":"odb","vnd.oasis.opendocument.formula":"odf","vnd.oasis.opendocument.graphics":"odg","vnd.oasis.opendocument.graphics-template":"otg","vnd.oasis.opendocument.image":"odi","vnd.oasis.opendocument.presentation":"odp","vnd.oasis.opendocument.presentation-template":"otp","vnd.oasis.opendocument.spreadsheet":"ods","vnd.oasis.opendocument.spreadsheet-template":"ots","vnd.oasis.opendocument.text":"odt","vnd.oasis.opendocument.text-master":["odm","otm"],"vnd.oasis.opendocument.text-template":"ott","vnd.oasis.opendocument.text-web":"oth","vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","vnd.openxmlformats-officedocument.spreadsheetml.template":"xltx","vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","vnd.openxmlformats-officedocument.presentationml.slideshow":"ppsx","vnd.openxmlformats-officedocument.presentationml.template":"potx","vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","vnd.openxmlformats-officedocument.wordprocessingml.template":"dotx","vnd.smaf":"mmf","vnd.stardivision.calc":"sdc","vnd.stardivision.chart":"sds","vnd.stardivision.draw":"sda","vnd.stardivision.impress":"sdd","vnd.stardivision.math":["sdf","smf"],"vnd.stardivision.writer":["sdw","vor"],"vnd.stardivision.writer-global":"sgl","vnd.sun.xml.calc":"sxc","vnd.sun.xml.calc.template":"stc","vnd.sun.xml.draw":"sxd","vnd.sun.xml.draw.template":"std","vnd.sun.xml.impress":"sxi","vnd.sun.xml.impress.template":"sti","vnd.sun.xml.math":"sxm","vnd.sun.xml.writer":"sxw","vnd.sun.xml.writer.global":"sxg","vnd.sun.xml.writer.template":"stw","vnd.symbian.install":["sis","sisx"],"vnd.visio":["vsd","vst","vss","vsw","vsdx","vssx","vstx","vssm","vstm"],"vnd.wap.wbxml":"wbxml","vnd.wap.wmlc":"wmlc","vnd.wap.wmlscriptc":"wmlsc","vnd.wordperfect":"wpd","vnd.wordperfect5.1":"wp5","x-123":"wk","x-7z-compressed":"7z","x-abiword":"abw","x-apple-diskimage":"dmg","x-bcpio":"bcpio","x-bittorrent":"torrent","x-cbr":["cbr","cba","cbt","cb7"],"x-cbz":"cbz","x-cdf":["cdf","cda"],"x-cdlink":"vcd","x-chess-pgn":"pgn","x-cpio":"cpio","x-csh":"csh","x-director":["dir","dxr","cst","cct","cxt","w3d","fgd","swa"],"x-dms":"dms","x-doom":"wad","x-dvi":"dvi","x-httpd-eruby":"rhtml","x-freemind":"mm","x-gnumeric":"gnumeric","x-go-sgf":"sgf","x-graphing-calculator":"gcf","x-gtar":["gtar","taz"],"x-hdf":"hdf","x-httpd-php":["phtml","pht","php"],"x-httpd-php-source":"phps","x-httpd-php3":"php3","x-httpd-php3-preprocessed":"php3p","x-httpd-php4":"php4","x-httpd-php5":"php5","x-ica":"ica","x-info":"info","x-internet-signup":["ins","isp"],"x-iphone":"iii","x-iso9660-image":"iso","x-java-jnlp-file":"jnlp","x-jmol":"jmz","x-killustrator":"kil","x-latex":"latex","x-lyx":"lyx","x-lzx":"lzx","x-maker":["frm","fb","fbdoc"],"x-ms-wmd":"wmd","x-msdos-program":["com","exe","bat","dll"],"x-netcdf":["nc"],"x-ns-proxy-autoconfig":["pac","dat"],"x-nwc":"nwc","x-object":"o","x-oz-application":"oza","x-pkcs7-certreqresp":"p7r","x-python-code":["pyc","pyo"],"x-qgis":["qgs","shp","shx"],"x-quicktimeplayer":"qtl","x-redhat-package-manager":["rpm","rpa"],"x-ruby":"rb","x-sh":"sh","x-shar":"shar","x-shockwave-flash":["swf","swfl"],"x-silverlight":"scr","x-stuffit":"sit","x-sv4cpio":"sv4cpio","x-sv4crc":"sv4crc","x-tar":"tar","x-tex-gf":"gf","x-tex-pk":"pk","x-texinfo":["texinfo","texi"],"x-trash":["~","%","bak","old","sik"],"x-ustar":"ustar","x-wais-source":"src","x-wingz":"wz","x-x509-ca-cert":["crt","der","cer"],"x-xcf":"xcf","x-xfig":"fig","x-xpinstall":"xpi",applixware:"aw","atomsvc+xml":"atomsvc","ccxml+xml":"ccxml","cdmi-capability":"cdmia","cdmi-container":"cdmic","cdmi-domain":"cdmid","cdmi-object":"cdmio","cdmi-queue":"cdmiq","docbook+xml":"dbk","dssc+der":"dssc","dssc+xml":"xdssc","emma+xml":"emma","epub+zip":"epub",exi:"exi","font-tdpfr":"pfr","gml+xml":"gml","gpx+xml":"gpx",gxf:"gxf",hyperstudio:"stk","inkml+xml":["ink","inkml"],ipfix:"ipfix","jsonml+json":"jsonml","lost+xml":"lostxml","mads+xml":"mads",marc:"mrc","marcxml+xml":"mrcx","mathml+xml":["mathml","mml"],mbox:"mbox","mediaservercontrol+xml":"mscml","metalink+xml":"metalink","metalink4+xml":"meta4","mets+xml":"mets","mods+xml":"mods",mp21:["m21","mp21"],mp4:"mp4s","oebps-package+xml":"opf","omdoc+xml":"omdoc",onenote:["onetoc","onetoc2","onetmp","onepkg"],oxps:"oxps","patch-ops-error+xml":"xer","pgp-encrypted":"pgp",pkcs10:"p10","pkcs7-mime":["p7m","p7c"],"pkcs7-signature":"p7s",pkcs8:"p8","pkix-attr-cert":"ac","pkix-crl":"crl","pkix-pkipath":"pkipath",pkixcmp:"pki","pls+xml":"pls","prs.cww":"cww","pskc+xml":"pskcxml","reginfo+xml":"rif","relax-ng-compact-syntax":"rnc","resource-lists+xml":"rl","resource-lists-diff+xml":"rld","rls-services+xml":"rs","rpki-ghostbusters":"gbr","rpki-manifest":"mft","rpki-roa":"roa","rsd+xml":"rsd","sbml+xml":"sbml","scvp-cv-request":"scq","scvp-cv-response":"scs","scvp-vp-request":"spq","scvp-vp-response":"spp",sdp:"sdp","set-payment-initiation":"setpay","set-registration-initiation":"setreg","shf+xml":"shf","sparql-query":"rq","sparql-results+xml":"srx",srgs:"gram","srgs+xml":"grxml","sru+xml":"sru","ssdl+xml":"ssdl","ssml+xml":"ssml","tei+xml":["tei","teicorpus"],"thraud+xml":"tfi","timestamped-data":"tsd","vnd.3gpp.pic-bw-large":"plb","vnd.3gpp.pic-bw-small":"psb","vnd.3gpp.pic-bw-var":"pvb","vnd.3gpp2.tcap":"tcap","vnd.3m.post-it-notes":"pwn","vnd.accpac.simply.aso":"aso","vnd.accpac.simply.imp":"imp","vnd.acucobol":"acu","vnd.acucorp":["atc","acutc"],"vnd.adobe.air-application-installer-package+zip":"air","vnd.adobe.formscentral.fcdt":"fcdt","vnd.adobe.fxp":["fxp","fxpl"],"vnd.adobe.xdp+xml":"xdp","vnd.adobe.xfdf":"xfdf","vnd.ahead.space":"ahead","vnd.airzip.filesecure.azf":"azf","vnd.airzip.filesecure.azs":"azs","vnd.amazon.ebook":"azw","vnd.americandynamics.acc":"acc","vnd.amiga.ami":"ami","vnd.anser-web-certificate-issue-initiation":"cii","vnd.anser-web-funds-transfer-initiation":"fti","vnd.antix.game-component":"atx","vnd.apple.installer+xml":"mpkg","vnd.apple.mpegurl":"m3u8","vnd.aristanetworks.swi":"swi","vnd.astraea-software.iota":"iota","vnd.audiograph":"aep","vnd.blueice.multipass":"mpm","vnd.bmi":"bmi","vnd.businessobjects":"rep","vnd.chemdraw+xml":"cdxml","vnd.chipnuts.karaoke-mmd":"mmd","vnd.claymore":"cla","vnd.cloanto.rp9":"rp9","vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"vnd.cluetrust.cartomobile-config":"c11amc","vnd.cluetrust.cartomobile-config-pkg":"c11amz","vnd.commonspace":"csp","vnd.contact.cmsg":"cdbcmsg","vnd.cosmocaller":"cmc","vnd.crick.clicker":"clkx","vnd.crick.clicker.keyboard":"clkk","vnd.crick.clicker.palette":"clkp","vnd.crick.clicker.template":"clkt","vnd.crick.clicker.wordbank":"clkw","vnd.criticaltools.wbs+xml":"wbs","vnd.ctc-posml":"pml","vnd.cups-ppd":"ppd","vnd.curl.car":"car","vnd.curl.pcurl":"pcurl","vnd.dart":"dart","vnd.data-vision.rdz":"rdz","vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"vnd.dece.ttml+xml":["uvt","uvvt"],"vnd.dece.unspecified":["uvx","uvvx"],"vnd.dece.zip":["uvz","uvvz"],"vnd.denovo.fcselayout-link":"fe_launch","vnd.dna":"dna","vnd.dolby.mlp":"mlp","vnd.dpgraph":"dpg","vnd.dreamfactory":"dfac","vnd.ds-keypoint":"kpxx","vnd.dvb.ait":"ait","vnd.dvb.service":"svc","vnd.dynageo":"geo","vnd.ecowin.chart":"mag","vnd.enliven":"nml","vnd.epson.esf":"esf","vnd.epson.msf":"msf","vnd.epson.quickanime":"qam","vnd.epson.salt":"slt","vnd.epson.ssf":"ssf","vnd.eszigno3+xml":["es3","et3"],"vnd.ezpix-album":"ez2","vnd.ezpix-package":"ez3","vnd.fdf":"fdf","vnd.fdsn.mseed":"mseed","vnd.fdsn.seed":["seed","dataless"],"vnd.flographit":"gph","vnd.fluxtime.clip":"ftc","vnd.framemaker":["fm","frame","maker","book"],"vnd.frogans.fnc":"fnc","vnd.frogans.ltf":"ltf","vnd.fsc.weblaunch":"fsc","vnd.fujitsu.oasys":"oas","vnd.fujitsu.oasys2":"oa2","vnd.fujitsu.oasys3":"oa3","vnd.fujitsu.oasysgp":"fg5","vnd.fujitsu.oasysprs":"bh2","vnd.fujixerox.ddd":"ddd","vnd.fujixerox.docuworks":"xdw","vnd.fujixerox.docuworks.binder":"xbd","vnd.fuzzysheet":"fzs","vnd.genomatix.tuxedo":"txd","vnd.geogebra.file":"ggb","vnd.geogebra.tool":"ggt","vnd.geometry-explorer":["gex","gre"],"vnd.geonext":"gxt","vnd.geoplan":"g2w","vnd.geospace":"g3w","vnd.gmx":"gmx","vnd.grafeq":["gqf","gqs"],"vnd.groove-account":"gac","vnd.groove-help":"ghf","vnd.groove-identity-message":"gim","vnd.groove-injector":"grv","vnd.groove-tool-message":"gtm","vnd.groove-tool-template":"tpl","vnd.groove-vcard":"vcg","vnd.hal+xml":"hal","vnd.handheld-entertainment+xml":"zmm","vnd.hbci":"hbci","vnd.hhe.lesson-player":"les","vnd.hp-hpgl":"hpgl","vnd.hp-hpid":"hpid","vnd.hp-hps":"hps","vnd.hp-jlyt":"jlt","vnd.hp-pcl":"pcl","vnd.hp-pclxl":"pclxl","vnd.hydrostatix.sof-data":"sfd-hdstx","vnd.ibm.minipay":"mpy","vnd.ibm.modcap":["afp","listafp","list3820"],"vnd.ibm.rights-management":"irm","vnd.ibm.secure-container":"sc","vnd.iccprofile":["icc","icm"],"vnd.igloader":"igl","vnd.immervision-ivp":"ivp","vnd.immervision-ivu":"ivu","vnd.insors.igm":"igm","vnd.intercon.formnet":["xpw","xpx"],"vnd.intergeo":"i2g","vnd.intu.qbo":"qbo","vnd.intu.qfx":"qfx","vnd.ipunplugged.rcprofile":"rcprofile","vnd.irepository.package+xml":"irp","vnd.is-xpr":"xpr","vnd.isac.fcs":"fcs","vnd.jam":"jam","vnd.jcp.javame.midlet-rms":"rms","vnd.jisp":"jisp","vnd.joost.joda-archive":"joda","vnd.kahootz":["ktz","ktr"],"vnd.kde.karbon":"karbon","vnd.kde.kchart":"chrt","vnd.kde.kformula":"kfo","vnd.kde.kivio":"flw","vnd.kde.kontour":"kon","vnd.kde.kpresenter":["kpr","kpt"],"vnd.kde.kspread":"ksp","vnd.kde.kword":["kwd","kwt"],"vnd.kenameaapp":"htke","vnd.kidspiration":"kia","vnd.kinar":["kne","knp"],"vnd.koan":["skp","skd","skt","skm"],"vnd.kodak-descriptor":"sse","vnd.las.las+xml":"lasxml","vnd.llamagraphics.life-balance.desktop":"lbd","vnd.llamagraphics.life-balance.exchange+xml":"lbe","vnd.lotus-1-2-3":"123","vnd.lotus-approach":"apr","vnd.lotus-freelance":"pre","vnd.lotus-notes":"nsf","vnd.lotus-organizer":"org","vnd.lotus-screencam":"scm","vnd.lotus-wordpro":"lwp","vnd.macports.portpkg":"portpkg","vnd.mcd":"mcd","vnd.medcalcdata":"mc1","vnd.mediastation.cdkey":"cdkey","vnd.mfer":"mwf","vnd.mfmp":"mfm","vnd.micrografx.flo":"flo","vnd.micrografx.igx":"igx","vnd.mif":"mif","vnd.mobius.daf":"daf","vnd.mobius.dis":"dis","vnd.mobius.mbk":"mbk","vnd.mobius.mqy":"mqy","vnd.mobius.msl":"msl","vnd.mobius.plc":"plc","vnd.mobius.txf":"txf","vnd.mophun.application":"mpn","vnd.mophun.certificate":"mpc","vnd.ms-artgalry":"cil","vnd.ms-cab-compressed":"cab","vnd.ms-excel.addin.macroenabled.12":"xlam","vnd.ms-excel.sheet.binary.macroenabled.12":"xlsb","vnd.ms-excel.sheet.macroenabled.12":"xlsm","vnd.ms-excel.template.macroenabled.12":"xltm","vnd.ms-fontobject":"eot","vnd.ms-htmlhelp":"chm","vnd.ms-ims":"ims","vnd.ms-lrm":"lrm","vnd.ms-officetheme":"thmx","vnd.ms-powerpoint.addin.macroenabled.12":"ppam","vnd.ms-powerpoint.presentation.macroenabled.12":"pptm","vnd.ms-powerpoint.slide.macroenabled.12":"sldm","vnd.ms-powerpoint.slideshow.macroenabled.12":"ppsm","vnd.ms-powerpoint.template.macroenabled.12":"potm","vnd.ms-project":["mpp","mpt"],"vnd.ms-word.document.macroenabled.12":"docm","vnd.ms-word.template.macroenabled.12":"dotm","vnd.ms-works":["wps","wks","wcm","wdb"],"vnd.ms-wpl":"wpl","vnd.ms-xpsdocument":"xps","vnd.mseq":"mseq","vnd.musician":"mus","vnd.muvee.style":"msty","vnd.mynfc":"taglet","vnd.neurolanguage.nlu":"nlu","vnd.nitf":["ntf","nitf"],"vnd.noblenet-directory":"nnd","vnd.noblenet-sealer":"nns","vnd.noblenet-web":"nnw","vnd.nokia.n-gage.data":"ngdat","vnd.nokia.n-gage.symbian.install":"n-gage","vnd.nokia.radio-preset":"rpst","vnd.nokia.radio-presets":"rpss","vnd.novadigm.edm":"edm","vnd.novadigm.edx":"edx","vnd.novadigm.ext":"ext","vnd.oasis.opendocument.chart-template":"otc","vnd.oasis.opendocument.formula-template":"odft","vnd.oasis.opendocument.image-template":"oti","vnd.olpc-sugar":"xo","vnd.oma.dd2+xml":"dd2","vnd.openofficeorg.extension":"oxt","vnd.openxmlformats-officedocument.presentationml.slide":"sldx","vnd.osgeo.mapguide.package":"mgp","vnd.osgi.dp":"dp","vnd.osgi.subsystem":"esa","vnd.palm":["pdb","pqa","oprc"],"vnd.pawaafile":"paw","vnd.pg.format":"str","vnd.pg.osasli":"ei6","vnd.picsel":"efif","vnd.pmi.widget":"wg","vnd.pocketlearn":"plf","vnd.powerbuilder6":"pbd","vnd.previewsystems.box":"box","vnd.proteus.magazine":"mgz","vnd.publishare-delta-tree":"qps","vnd.pvi.ptid1":"ptid","vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"vnd.realvnc.bed":"bed","vnd.recordare.musicxml":"mxl","vnd.recordare.musicxml+xml":"musicxml","vnd.rig.cryptonote":"cryptonote","vnd.rn-realmedia":"rm","vnd.rn-realmedia-vbr":"rmvb","vnd.route66.link66+xml":"link66","vnd.sailingtracker.track":"st","vnd.seemail":"see","vnd.sema":"sema","vnd.semd":"semd","vnd.semf":"semf","vnd.shana.informed.formdata":"ifm","vnd.shana.informed.formtemplate":"itp","vnd.shana.informed.interchange":"iif","vnd.shana.informed.package":"ipk","vnd.simtech-mindmapper":["twd","twds"],"vnd.smart.teacher":"teacher","vnd.solent.sdkm+xml":["sdkm","sdkd"],"vnd.spotfire.dxp":"dxp","vnd.spotfire.sfs":"sfs","vnd.stepmania.package":"smzip","vnd.stepmania.stepchart":"sm","vnd.sus-calendar":["sus","susp"],"vnd.svd":"svd","vnd.syncml+xml":"xsm","vnd.syncml.dm+wbxml":"bdm","vnd.syncml.dm+xml":"xdm","vnd.tao.intent-module-archive":"tao","vnd.tcpdump.pcap":["pcap","cap","dmp"],"vnd.tmobile-livetv":"tmo","vnd.trid.tpt":"tpt","vnd.triscape.mxs":"mxs","vnd.trueapp":"tra","vnd.ufdl":["ufd","ufdl"],"vnd.uiq.theme":"utz","vnd.umajin":"umj","vnd.unity":"unityweb","vnd.uoml+xml":"uoml","vnd.vcx":"vcx","vnd.visionary":"vis","vnd.vsf":"vsf","vnd.webturbo":"wtb","vnd.wolfram.player":"nbp","vnd.wqd":"wqd","vnd.wt.stf":"stf","vnd.xara":"xar","vnd.xfdl":"xfdl","vnd.yamaha.hv-dic":"hvd","vnd.yamaha.hv-script":"hvs","vnd.yamaha.hv-voice":"hvp","vnd.yamaha.openscoreformat":"osf","vnd.yamaha.openscoreformat.osfpvg+xml":"osfpvg","vnd.yamaha.smaf-audio":"saf","vnd.yamaha.smaf-phrase":"spf","vnd.yellowriver-custom-menu":"cmp","vnd.zul":["zir","zirz"],"vnd.zzazz.deck+xml":"zaz","voicexml+xml":"vxml",widget:"wgt",winhlp:"hlp","wsdl+xml":"wsdl","wspolicy+xml":"wspolicy","x-ace-compressed":"ace","x-authorware-bin":["aab","x32","u32","vox"],"x-authorware-map":"aam","x-authorware-seg":"aas","x-blorb":["blb","blorb"],"x-bzip":"bz","x-bzip2":["bz2","boz"],"x-cfs-compressed":"cfs","x-chat":"chat","x-conference":"nsc","x-dgc-compressed":"dgc","x-dtbncx+xml":"ncx","x-dtbook+xml":"dtb","x-dtbresource+xml":"res","x-eva":"eva","x-font-bdf":"bdf","x-font-ghostscript":"gsf","x-font-linux-psf":"psf","x-font-pcf":"pcf","x-font-snf":"snf","x-font-ttf":["ttf","ttc"],"x-font-type1":["pfa","pfb","pfm","afm"],"x-freearc":"arc","x-gca-compressed":"gca","x-glulx":"ulx","x-gramps-xml":"gramps","x-install-instructions":"install","x-lzh-compressed":["lzh","lha"],"x-mie":"mie","x-mobipocket-ebook":["prc","mobi"],"x-ms-application":"application","x-ms-shortcut":"lnk","x-ms-xbap":"xbap","x-msbinder":"obd","x-mscardfile":"crd","x-msclip":"clp","x-ms-installer":"msi","x-msmediaview":["mvb","m13","m14"],"x-msmetafile":["wmf","wmz","emf","emz"],"x-msmoney":"mny","x-mspublisher":"pub","x-msschedule":"scd","x-msterminal":"trm","x-mswrite":"wri","x-nzb":"nzb","x-pkcs12":["p12","pfx"],"x-pkcs7-certificates":["p7b","spc"],"x-research-info-systems":"ris","x-silverlight-app":"xap","x-sql":"sql","x-stuffitx":"sitx","x-subrip":"srt","x-t3vm-image":"t3","x-tex-tfm":"tfm","x-tgif":"obj","x-xliff+xml":"xlf","x-xz":"xz","x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"xaml+xml":"xaml","xcap-diff+xml":"xdf","xenc+xml":"xenc","xml-dtd":"dtd","xop+xml":"xop","xproc+xml":"xpl","xslt+xml":"xslt","xv+xml":["mxml","xhvml","xvml","xvm"],yang:"yang","yin+xml":"yin",envoy:"evy",fractals:"fif","internet-property-stream":"acx",olescript:"axs","vnd.ms-outlook":"msg","vnd.ms-pkicertstore":"sst","x-compress":"z","x-perfmon":["pma","pmc","pmr","pmw"],"ynd.ms-pkipko":"pko",gzip:["gz","tgz"],"smil+xml":["smi","smil"],"vnd.debian.binary-package":["deb","udeb"],"vnd.hzn-3d-crossword":"x3d","vnd.sqlite3":["db","sqlite","sqlite3","db-wal","sqlite-wal","db-shm","sqlite-shm"],"vnd.wap.sic":"sic","vnd.wap.slc":"slc","x-krita":["kra","krz"],"x-perl":["pm","pl"],yaml:["yaml","yml"]},audio:{amr:"amr","amr-wb":"awb",annodex:"axa",basic:["au","snd"],flac:"flac",midi:["mid","midi","kar","rmi"],mpeg:["mpga","mpega","mp3","m4a","mp2a","m2a","m3a"],mpegurl:"m3u",ogg:["oga","ogg","spx"],"prs.sid":"sid","x-aiff":"aifc","x-gsm":"gsm","x-ms-wma":"wma","x-ms-wax":"wax","x-pn-realaudio":"ram","x-realaudio":"ra","x-sd2":"sd2",adpcm:"adp",mp4:"mp4a",s3m:"s3m",silk:"sil","vnd.dece.audio":["uva","uvva"],"vnd.digital-winds":"eol","vnd.dra":"dra","vnd.dts":"dts","vnd.dts.hd":"dtshd","vnd.lucent.voice":"lvp","vnd.ms-playready.media.pya":"pya","vnd.nuera.ecelp4800":"ecelp4800","vnd.nuera.ecelp7470":"ecelp7470","vnd.nuera.ecelp9600":"ecelp9600","vnd.rip":"rip",webm:"weba","x-caf":"caf","x-matroska":"mka","x-pn-realaudio-plugin":"rmp",xm:"xm",aac:"aac",aiff:["aiff","aif","aff"],opus:"opus",wav:"wav"},chemical:{"x-alchemy":"alc","x-cache":["cac","cache"],"x-cache-csf":"csf","x-cactvs-binary":["cbin","cascii","ctab"],"x-cdx":"cdx","x-chem3d":"c3d","x-cif":"cif","x-cmdf":"cmdf","x-cml":"cml","x-compass":"cpa","x-crossfire":"bsd","x-csml":["csml","csm"],"x-ctx":"ctx","x-cxf":["cxf","cef"],"x-embl-dl-nucleotide":["emb","embl"],"x-gamess-input":["inp","gam","gamin"],"x-gaussian-checkpoint":["fch","fchk"],"x-gaussian-cube":"cub","x-gaussian-input":["gau","gjc","gjf"],"x-gaussian-log":"gal","x-gcg8-sequence":"gcg","x-genbank":"gen","x-hin":"hin","x-isostar":["istr","ist"],"x-jcamp-dx":["jdx","dx"],"x-kinemage":"kin","x-macmolecule":"mcm","x-macromodel-input":"mmod","x-mdl-molfile":"mol","x-mdl-rdfile":"rd","x-mdl-rxnfile":"rxn","x-mdl-sdfile":"sd","x-mdl-tgf":"tgf","x-mmcif":"mcif","x-mol2":"mol2","x-molconn-Z":"b","x-mopac-graph":"gpt","x-mopac-input":["mop","mopcrt","zmt"],"x-mopac-out":"moo","x-ncbi-asn1":"asn","x-ncbi-asn1-ascii":["prt","ent"],"x-ncbi-asn1-binary":"val","x-rosdal":"ros","x-swissprot":"sw","x-vamas-iso14976":"vms","x-vmd":"vmd","x-xtel":"xtel","x-xyz":"xyz"},font:{otf:"otf",woff:"woff",woff2:"woff2"},image:{gif:"gif",ief:"ief",jpeg:["jpeg","jpg","jpe","jfif","jfif-tbnl","jif"],pcx:"pcx",png:"png","svg+xml":["svg","svgz"],tiff:["tiff","tif"],"vnd.djvu":["djvu","djv"],"vnd.wap.wbmp":"wbmp","x-canon-cr2":"cr2","x-canon-crw":"crw","x-cmu-raster":"ras","x-coreldraw":"cdr","x-coreldrawpattern":"pat","x-coreldrawtemplate":"cdt","x-corelphotopaint":"cpt","x-epson-erf":"erf","x-icon":"ico","x-jg":"art","x-jng":"jng","x-nikon-nef":"nef","x-olympus-orf":"orf","x-portable-anymap":"pnm","x-portable-bitmap":"pbm","x-portable-graymap":"pgm","x-portable-pixmap":"ppm","x-rgb":"rgb","x-xbitmap":"xbm","x-xpixmap":"xpm","x-xwindowdump":"xwd",bmp:"bmp",cgm:"cgm",g3fax:"g3",ktx:"ktx","prs.btif":"btif",sgi:"sgi","vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"vnd.dwg":"dwg","vnd.dxf":"dxf","vnd.fastbidsheet":"fbs","vnd.fpx":"fpx","vnd.fst":"fst","vnd.fujixerox.edmics-mmr":"mmr","vnd.fujixerox.edmics-rlc":"rlc","vnd.ms-modi":"mdi","vnd.ms-photo":"wdp","vnd.net-fpx":"npx","vnd.xiff":"xif",webp:"webp","x-3ds":"3ds","x-cmx":"cmx","x-freehand":["fh","fhc","fh4","fh5","fh7"],"x-pict":["pic","pct"],"x-tga":"tga","cis-cod":"cod",avif:["avif","avifs"],heic:["heif","heic"],pjpeg:["pjpg"],"vnd.adobe.photoshop":"psd","x-adobe-dng":"dng","x-fuji-raf":"raf","x-icns":"icns","x-kodak-dcr":"dcr","x-kodak-k25":"k25","x-kodak-kdc":"kdc","x-minolta-mrw":"mrw","x-panasonic-raw":["raw","rw2","rwl"],"x-pentax-pef":["pef","ptx"],"x-sigma-x3f":"x3f","x-sony-arw":"arw","x-sony-sr2":"sr2","x-sony-srf":"srf"},message:{rfc822:["eml","mime","mht","mhtml","nws"]},model:{iges:["igs","iges"],mesh:["msh","mesh","silo"],vrml:["wrl","vrml"],"x3d+vrml":["x3dv","x3dvz"],"x3d+xml":"x3dz","x3d+binary":["x3db","x3dbz"],"vnd.collada+xml":"dae","vnd.dwf":"dwf","vnd.gdl":"gdl","vnd.gtw":"gtw","vnd.mts":"mts","vnd.usdz+zip":"usdz","vnd.vtu":"vtu"},text:{"cache-manifest":["manifest","appcache"],calendar:["ics","icz","ifb"],css:"css",csv:"csv",h323:"323",html:["html","htm","shtml","stm"],iuls:"uls",plain:["txt","text","brf","conf","def","list","log","in","bas","diff","ksh"],richtext:"rtx",scriptlet:["sct","wsc"],texmacs:"tm","tab-separated-values":"tsv","vnd.sun.j2me.app-descriptor":"jad","vnd.wap.wml":"wml","vnd.wap.wmlscript":"wmls","x-bibtex":"bib","x-boo":"boo","x-c++hdr":["h++","hpp","hxx","hh"],"x-c++src":["c++","cpp","cxx","cc"],"x-component":"htc","x-dsrc":"d","x-diff":"patch","x-haskell":"hs","x-java":"java","x-literate-haskell":"lhs","x-moc":"moc","x-pascal":["p","pas","pp","inc"],"x-pcs-gcd":"gcd","x-python":"py","x-scala":"scala","x-setext":"etx","x-tcl":["tcl","tk"],"x-tex":["tex","ltx","sty","cls"],"x-vcalendar":"vcs","x-vcard":"vcf",n3:"n3","prs.lines.tag":"dsc",sgml:["sgml","sgm"],troff:["t","tr","roff","man","me","ms"],turtle:"ttl","uri-list":["uri","uris","urls"],vcard:"vcard","vnd.curl":"curl","vnd.curl.dcurl":"dcurl","vnd.curl.scurl":"scurl","vnd.curl.mcurl":"mcurl","vnd.dvb.subtitle":"sub","vnd.fly":"fly","vnd.fmi.flexstor":"flx","vnd.graphviz":"gv","vnd.in3d.3dml":"3dml","vnd.in3d.spot":"spot","x-asm":["s","asm"],"x-c":["c","h","dic"],"x-fortran":["f","for","f77","f90"],"x-opml":"opml","x-nfo":"nfo","x-sfv":"sfv","x-uuencode":"uu",webviewhtml:"htt",javascript:"js",json:"json",markdown:["md","markdown","mdown","markdn"],"vnd.wap.si":"si","vnd.wap.sl":"sl"},video:{"3gpp":"3gp",annodex:"axv",dl:"dl",dv:["dif","dv"],fli:"fli",gl:"gl",mpeg:["mpeg","mpg","mpe","m1v","m2v","mp2","mpa","mpv2"],mp4:["mp4","mp4v","mpg4"],quicktime:["qt","mov"],ogg:"ogv","vnd.mpegurl":["mxu","m4u"],"x-flv":"flv","x-la-asf":["lsf","lsx"],"x-mng":"mng","x-ms-asf":["asf","asx","asr"],"x-ms-wm":"wm","x-ms-wmv":"wmv","x-ms-wmx":"wmx","x-ms-wvx":"wvx","x-msvideo":"avi","x-sgi-movie":"movie","x-matroska":["mpv","mkv","mk3d","mks"],"3gpp2":"3g2",h261:"h261",h263:"h263",h264:"h264",jpeg:"jpgv",jpm:["jpm","jpgm"],mj2:["mj2","mjp2"],"vnd.dece.hd":["uvh","uvvh"],"vnd.dece.mobile":["uvm","uvvm"],"vnd.dece.pd":["uvp","uvvp"],"vnd.dece.sd":["uvs","uvvs"],"vnd.dece.video":["uvv","uvvv"],"vnd.dvb.file":"dvb","vnd.fvt":"fvt","vnd.ms-playready.media.pyv":"pyv","vnd.uvvu.mp4":["uvu","uvvu"],"vnd.vivo":"viv",webm:"webm","x-f4v":"f4v","x-m4v":"m4v","x-ms-vob":"vob","x-smv":"smv",mp2t:"ts"},"x-conference":{"x-cooltalk":"ice"},"x-world":{"x-vrml":["vrm","flr","wrz","xaf","xof"]}};let oi;function ci(e){return e&&(()=>{if(!oi){oi={};for(const e of Object.keys(ii))for(const t of Object.keys(ii[e])){const r=ii[e][t];if("string"==typeof r)oi[r]=e+"/"+t;else for(let n=0;n<r.length;n++)oi[r[n]]=e+"/"+t}}return oi})()[e.split(".").pop().toLowerCase()]||"application/octet-stream"}export{xr as BlobReader,vr as BlobWriter,fr as Data64URIReader,ur as Data64URIWriter,rs as ERR_AMBIGUOUS_ARCHIVE,Vn as ERR_BAD_FORMAT,Yn as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Is as ERR_DUPLICATED_NAME,Jn as ERR_ENCRYPTED,ns as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Kn as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Hn as ERR_EOCDR_NOT_FOUND,Xn as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,$t as ERR_HTTP_RANGE,er as ERR_HTTP_RESOURCE_CHANGED,C as ERR_INVALID_CODEC_DEFINITION,P as ERR_INVALID_CODEC_MODULE,Ps as ERR_INVALID_COMMENT,rt as ERR_INVALID_COMPRESSED_DATA,_s as ERR_INVALID_ENCRYPTION_STRENGTH,Ns as ERR_INVALID_ENTRY_COMMENT,Ws as ERR_INVALID_ENTRY_NAME,Zs as ERR_INVALID_EXTRAFIELD_DATA,Ls as ERR_INVALID_EXTRAFIELD_TYPE,fe as ERR_INVALID_PASSWORD,ue as ERR_INVALID_SIGNATURE,tt as ERR_INVALID_UNCOMPRESSED_SIZE,qs as ERR_INVALID_VERSION,tr as ERR_ITERATOR_COMPLETED_TOO_SOON,Gn as ERR_LOCAL_FILE_HEADER_NOT_FOUND,ts as ERR_OVERLAPPING_ENTRY,I as ERR_RESERVED_COMPRESSION_METHOD,es as ERR_SPLIT_ZIP_FILE,Gs as ERR_UNDEFINED_READER,Ys as ERR_UNDEFINED_UNCOMPRESSED_SIZE,$n as ERR_UNSUPPORTED_COMPRESSION,Qn as ERR_UNSUPPORTED_ENCRYPTION,Bs as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Ks as ERR_UNSUPPORTED_FORMAT,rr as ERR_WRITER_NOT_INITIALIZED,Xs as ERR_ZIP_NOT_EMPTY,Wr as HttpRangeReader,Nr as HttpReader,mr as Reader,Br as SplitDataReader,Lr as SplitDataWriter,yr as TextReader,br as TextWriter,qr as Uint8ArrayReader,_r as Uint8ArrayWriter,pr as Writer,cs as ZipReader,ds as ZipReaderStream,ra as ZipWriter,na as ZipWriterStream,O as configure,ja as createBlobTempStream,Fa as createOPFSTempStream,Ta as createSyncAccessHandleTempStream,Ga as fs,ci as getMimeType,B as registerCodec,M as resetConfiguration,Za as terminateWorkers,L as unregisterCodec};
|