@zip.js/zip.js 2.8.56 → 2.8.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- ((t,e)=>{"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})})(this,function(t){"use strict";const{Array:e,Object:n,String:r,Number:s,BigInt:i,Math:a,Date:o,Map:c,Set:d,Response:u,URL:l,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:x,TextDecoder:S,document:b,crypto:z,btoa:F,TransformStream:E,ReadableStream:D,WritableStream:R,CompressionStream:A,DecompressionStream:v,navigator:C,Worker:k,Symbol:T,setTimeout:U,clearTimeout:I,structuredClone:O}="undefined"!=typeof globalThis?globalThis:this||self,M=4294967295,N=65535,_=255,L=67324752,P=134695760,W=P,B=84233040,V=33639248,Z=101010256,H=101075792,q=117853008,j=22,K=20,Y=56,G=39169,X=21589,J=6534,Q=30837,$=30805,tt=2048,et=61440,nt=16384,rt=2048,st=1024,it="/",at=30,ot=new o(2107,11,31,23,59,58),ct=new o(1980,0,1),dt=void 0,ut=1/0,lt="undefined",wt="function",ft="object",pt="string",ht=new f,mt="password",yt="rawPassword",gt="passThrough",xt="signal",St="useWebWorkers",bt="useCompressionStream",zt="transferStreams",Ft="preventClose",Et="offset",Dt="usdz",Rt="signCentralDirectory",At="filename",vt="comment",Ct="strict",kt="balanced",Tt="tolerant";function Ut(t){if(t&&typeof t!=wt)throw new w("Invalid option (must be a function)");return t}function It(t){if(t&&(typeof t.addEventListener!=wt||"boolean"!=typeof t.aborted))throw new w("Invalid signal (must be an AbortSignal instance)");return t||dt}function Ot(t,e){if(t&&typeof t!=pt||e&&!(e instanceof f))throw new w("Invalid password (password must be a string, rawPassword must be a Uint8Array)")}function Mt(t,e,n){if(!s.isInteger(t)||t<0||t>e)throw new w(n)}function Nt(t,e,n){t!==dt&&Mt(t,e,n)}function _t(t){return typeof t==pt&&t.trim()?s(t):t}let Lt=2;try{typeof C!=lt&&C.hardwareConcurrency&&(Lt=C.hardwareConcurrency)}catch{}const Pt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Lt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=lt&&A,DecompressionStream:typeof v!=lt&&v};function Wt(){return Pt}function Bt(t){return Vt(t.chunkSize)}function Vt(t){return t=_t(t),s.isInteger(t)&&t>=1?a.max(t,64):65536}function Zt(t,e){const n=new f(t.length+e.length);return n.set(t),n.set(e,t.length),n}function Ht(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new f(t):t}function qt(t){return new m(t.buffer,t.byteOffset,t.byteLength)}function jt(t){if(t instanceof D)return t;const e=t.getReader();return new D({async pull(t){const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}function Kt(t,e){t=jt(t);const n=e?{type:e}:{};if(typeof y.prototype.stream!=wt||new y([]).stream()instanceof D)return new u(t).blob().then(t=>e?new y([t],n):t);const r=[];return t.pipeTo(new R({write(t){r.push(t)}})).then(()=>new y(r,n))}function Yt(t){if(t instanceof R)return t;const e=t.getWriter();return new R({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Gt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Xt(t,e){return Jt(t,e,!0)}function Jt(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let n=0;n<t.length;n++)e+=Gt[t[n]];return e}})(t):new S(e,{ignoreBOM:n}).decode(t)}const Qt="HTTP error ",$t="HTTP Range not supported",te="HTTP resource changed",ee="Content-Range",ne="Range",re="GET",se="bytes",ie=16777216,ae="writable",oe=T();class ce{constructor(){this.size=0}init(){this.initialized=!0}}class de extends ce{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=Bt(Wt())}={}){const r=this;let s=0;return n=Vt(n),new D({async pull(i){const o=e===dt?n:a.min(n,e-s),c=await Ke(r,t+s,o);c.length&&i.enqueue(c),s+n>=e||!c.length&&o?i.close():s+=n}})}}class ue extends ce{constructor(){super();const t=this,e=new R({write(e){if(!t.initialized)throw new w("Writer not initialized");return t.writeUint8Array(Ht(e))}});n.defineProperty(t,ae,{get:()=>e})}writeUint8Array(){}}class le extends de{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;n.assign(this,{o:t,l:r,size:a.floor(.75*(e-r))})}readUint8Array(t,e){const{l:n,o:r}=this,s=new f(e),i=4*a.floor(t/3),o=atob(r.substring(i+n,4*a.ceil((t+e)/3)+n)),c=t-3*a.floor(i/4);let d=0;for(let t=c;t<c+e&&t<o.length;t++)s[t-c]=o.charCodeAt(t),d++;return d<s.length?s.subarray(0,d):s}}class we extends ue{constructor(t){super(),n.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",h:""})}writeUint8Array(t){const e=this;let n,s=e.h;const i=e.h.length;for(e.h="",n=0;n<3*a.floor((i+t.length)/3)-i;n++)s+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.h+=r.fromCharCode(t[n]);s.length>2?e.data+=F(s):e.h=s+e.h}getData(){return this.data+F(this.h)}}let fe,pe;class he extends de{constructor(t){super(),n.assign(this,{m:t,size:t.size}),pe||(pe=(async()=>{try{const t=new y([new f(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();fe=1==e}catch{fe=!1}})())}createReadable(t){const{m:e,size:n}=this,{offset:r=0,size:s=n-r}=t||{};return!r&&s>=n?jt(e.stream()):fe?jt(e.slice(r,r+s).stream()):super.createReadable(t)}async readUint8Array(t,e){const n=this,r=t+e,s=!t&&r>=n.size?n.m:n.m.slice(t,r);let i=await s.arrayBuffer();return i.byteLength>e&&(i=i.slice(t,r)),new f(i)}}class me extends ce{constructor(t){super();const e=this,r=new E;n.defineProperty(e,ae,{get:()=>r.writable}),e.contentType=t,e.S=Kt(r.readable,t),e.S.catch(()=>{})}getData(){return this.S}}class ye extends he{constructor(t){super(new y([t],{type:"text/plain"}))}}function ge(t){let e=0;for(let n=0;n<t.length;n++){const r=t.charCodeAt(n);r<128?e+=1:r<2048?e+=2:r<55296||r>=57344?e+=3:r<56320&&56320==(64512&t.charCodeAt(n+1))?(e+=4,n++):e+=3}return e}class xe extends me{constructor(t){super(),n.assign(this,{encoding:t,F:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,F:e}=this,n=await super.getData();return n.text&&e?n.text():((t,e)=>Jt(t,e,!1))(new f(await n.arrayBuffer()),t)}}class Se extends de{constructor(t,e){super(),ze(this,t,e)}async init(){await Fe(this,Me,Te),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=e;if((n||r)&&i!==dt){const{offset:n=0,size:r=i-n}=t||{};if(r>0&&n<i)return((t,e,n)=>{let r,i=e,o=0,c=n;return new D({start:()=>d(),async pull(t){r||await d();const{value:e,done:n}=await r.read();if(n)throw new w($t);const s=e.length>o?e.subarray(0,o):e;o-=s.length,c-=s.length,s.length&&t.enqueue(s),o||(await(async()=>{const t=r;r=dt,await t.cancel()})(),c||t.close())},cancel:t=>r&&r.cancel(t)});async function d(){const e=a.min(t.maximumRangeSize,c),n=await Me(re,t,Ce(t,i,e));if(206!=n.status)throw new w($t);const d=n.headers.get(ee);if(d){const t=s(d.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=i)throw new w($t)}ve(t,n),Ae(t,n),i+=e,o=e,r=n.body.getReader()}})(e,n,a.min(r,i-n))}return super.createReadable(t)}readUint8Array(t,e){return Ee(this,t,e,Me,Te)}}class be extends de{constructor(t,e){super(),ze(this,t,e)}async init(){await Fe(this,Ne,Ue),super.init()}readUint8Array(t,e){return Ee(this,t,e,Ne,Ue)}}function ze(t,e,r){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:d=ie,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(t,{url:e,options:r,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:d,fetch:u})}async function Fe(t,e,n){const{url:r,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=t;if((t=>{const{baseURI:e}=Wt(),{protocol:n}=new l(t,e);return"http:"==n||"https:"==n})(r)&&(i||a)&&(typeof s==lt||s)){const r=await e(re,t,Ce(t,o?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==se))throw new w($t);{if(o){const e=new f(await r.arrayBuffer());206==r.status&&e.length==j&&(t.D=e)}Ae(t,r);const s=De(r);s===dt?await Oe(t,e,n):t.size=s}}else await Oe(t,e,n)}async function Ee(t,e,n,r,i){const{useRangeHeader:a,forceRangeRequests:o,D:c,size:d,options:u}=t;if(a||o){if(c&&e==d-j&&n==j)return c;if(e>=d||0===n)return ht;{e+n>d&&(n=d-e);const i=await r(re,t,Ce(t,e,n));if(206!=i.status)throw new w($t);const a=i.headers.get(ee);if(a){const t=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=e)throw new w($t)}ve(t,i),Ae(t,i);const o=new f(await i.arrayBuffer());if(o.length!=n)throw new w($t);return o}}{const{data:r}=t;return r||await i(t,u),t.data.subarray(e,e+n)}}function De(t){const e=t.headers.get(ee);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=s(t);if(!s.isNaN(e))return e}}}function Re({headers:t}){return{R:t.get("Etag")||dt,lastModified:t.get("Last-Modified")||dt}}function Ae(t,e){const{checkResourceChanges:n,A:r}=t;n&&!r&&206==e.status&&(t.A=Re(e))}function ve(t,e){const{checkResourceChanges:r,A:s,size:i}=t;if(r){const t=De(e);if(t!==dt&&i!==dt&&t!=i)throw new w(te);if(s){const t=Re(e);if(n.entries(s).some(([e,n])=>n!==dt&&t[e]!==dt&&n!=t[e]))throw new w(te)}}}function Ce(t,e=0,r=1){return n.assign({},ke(t),{[ne]:se+"="+(e<0?e:e+"-"+(e+r-1))})}function ke({options:t}){const{headers:e}=t;if(e)return T.iterator in e?n.fromEntries(e):e}async function Te(t){await Ie(t,Me)}async function Ue(t){await Ie(t,Ne)}async function Ie(t,e){const n=await e(re,t,ke(t));t.data=new f(await n.arrayBuffer()),t.size=t.data.length}async function Oe(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,ke(t)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?t.size=s(i):await n(t,t.options)}}async function Me(t,{fetch:e=fetch,options:r,url:s},i){const a=await e(s,n.assign({},r,{method:t,headers:i}));if(a.status<400)return a;throw 416==a.status?new w($t):new w(Qt+(a.statusText||a.status))}function Ne(t,{url:e},r){return new g((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status<400){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(t)})}else i(416==a.status?new w($t):new w(Qt+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>i(t.detail?t.detail.error:new w("Network error")),!1),a.open(t,e),r)for(const t of n.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class _e extends de{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new be(t,e):new Se(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Le extends de{constructor(t){super(),t=new f(t.buffer,t.byteOffset,t.byteLength),n.assign(this,{v:t,size:t.length})}readUint8Array(t,e){return this.v.slice(t,t+e)}}class Pe extends ue{constructor(t){super(),this.C=t||262144}init(t=0){n.assign(this,{offset:0,v:new f(t>0?t:this.C)}),super.init()}writeUint8Array(t){const e=this,n=e.offset+t.length;if(n>e.v.length){let t=e.v.length?2*e.v.length:e.C;for(;t<n;)t*=2;const r=e.v;e.v=new f(t),e.v.set(r)}e.v.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.v.length?this.v:this.v.slice(0,this.offset)}}class We extends de{constructor(t){super(),this.T=t}async init(){const t=this;t.U=0;const e=t.T=await g.all(t.T.map(je));t.I=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}O(t){const{I:e,size:n}=this,r=e[t];return r===dt?n:r}async readUint8Array(t,e){const n=this,{T:r}=this;let s,i=0,o=t;for(;r[i]&&o>=r[i].size;)o-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(o+e<=r)s=await Ke(c,o,e);else{const i=r-o;s=Zt(await Ke(c,o,i),await n.readUint8Array(t+i,e-i))}}else s=ht;return n.U=a.max(i,n.U),s}}class Be extends ce{constructor(t,e=4294967295){super();const r=this;let s,i,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new R({async write(e){if(e===oe)return void(a&&await d());const{availableSize:n}=r;if(a)e.length>=n?(await c(e.subarray(0,n)),await d(),e.length>n&&await this.write(e.subarray(n))):await c(e);else{const{value:n,done:o}=await t.next();if(o&&!n)throw new w("Writer iterator completed too soon");s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await qe(s),i=n.writable,a=i.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await u())},async abort(t){a&&await a.abort(t)}});async function c(t){const e=t.length;e&&(await a.ready,await a.write(t),s.size+=e,r.availableSize-=e)}async function d(){await u(),r.diskOffset+=s.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function u(){await a.close()}n.defineProperty(r,ae,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(oe)}finally{t.releaseLock()}}}class Ve{constructor(t){return e.isArray(t)&&(t=new We(t)),(t instanceof D||typeof t.getReader==wt)&&(t={readable:jt(t)}),t}}class Ze{constructor(t){return t.writable===dt&&typeof t.next==wt&&(t=new Be(t)),(t instanceof R||typeof t.getWriter==wt)&&(t={writable:Yt(t)}),t.size===dt&&(t.size=0),t}}function He(t){return!(!t||!t.getData)}async function qe(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}async function je(t){return t=new Ve(t),await qe(t),t.size!==dt&&t.readUint8Array||(t=new he(await Kt(t.readable)),await qe(t)),t}function Ke(t,e,n){return t.readUint8Array(e,n)}function Ye(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?de.prototype.createReadable.call(t,e):t.readable}const Ge=new c,Xe=new c;function Je(t){return Ge.get(t)}function Qe(t){return Xe.get(t)}const $e=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;$e[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const n=$e[e-1][t];$e[e][t]=n>>>8^$e[0][255&n]}const[tn,en,nn,rn,sn,an,on,cn]=$e;class dn{constructor(t){this.M=t||-1}append(t){let e=0|this.M;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const s=new m(t.buffer,t.byteOffset,n),i=n-8;for(;r<=i;r+=8){const t=e^s.getInt32(r,!0),n=s.getInt32(r+4,!0);e=cn[255&t]^on[t>>>8&255]^an[t>>>16&255]^sn[t>>>24&255]^rn[255&n]^nn[n>>>8&255]^en[n>>>16&255]^tn[n>>>24&255]}}for(;r<n;r++)e=e>>>8^tn[255&(e^t[r])];this.M=e}get(){return~this.M}}class un extends E{constructor(){let t;const e=new dn;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new f(4);new m(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function ln(t){if(typeof x==lt){const e=new f((t=unescape(encodeURIComponent(t))).length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new x).encode(t)}const wn={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=wn.N(n);return 32===r?t.concat(e):wn._(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+wn.N(n)},L(t,e){if(32*t.length<e)return t;const n=(t=t.slice(0,a.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=wn.P(e,t[n-1]&2147483648>>e-1,1)),t},P:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,N:t=>a.round(t/1099511627776)||32,_(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let s=0;s<t.length;s++)r.push(n|t[s]>>>e),n=t[s]<<32-e;const s=t.length?t[t.length-1]:0,i=wn.N(s);return r.push(wn.P(e+i&31,e+i>32?n:r.pop(),1)),r}},fn={bytes:{W(t){const e=wn.bitLength(t)/8,n=new f(e);let r;for(let s=0;s<e;s++)3&s||(r=t[s/4]),n[s]=r>>>24,r<<=8;return n},B(t){const e=[];let n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(wn.P(8*(3&n),r)),e}}},pn=class{constructor(t){const e=this;e.blockSize=512,e.V=[1732584193,4023233417,2562383102,271733878,3285377520],e.Z=[1518500249,1859775393,2400959708,3395469782],t?(e.H=t.H.slice(0),e.j=t.j.slice(0),e.K=t.K):e.reset()}reset(){const t=this;return t.H=t.V.slice(0),t.j=[],t.K=0,t}update(t){const e=this;"string"==typeof t&&(t=fn.Y.B(t));const n=e.j=wn.concat(e.j,t),r=e.K,s=e.K=r+wn.bitLength(t);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(n);let a=0;for(let t=e.blockSize+r-(e.blockSize+r&e.blockSize-1);t<=s;t+=e.blockSize)e.G(i.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),e}X(){const t=this;let e=t.j;const n=t.H;e=wn.concat(e,[wn.P(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(a.floor(t.K/4294967296)),e.push(0|t.K);e.length;)t.G(e.splice(0,16));return t.reset(),n}J(t,e,n,r){return t<=19?e&n|~e&r:t<=39?e^n^r:t<=59?e&n|e&r|n&r:t<=79?e^n^r:void 0}$(t,e){return e<<t|e>>>32-t}G(t){const n=this,r=n.H,s=e(80);for(let e=0;e<16;e++)s[e]=t[e];let i=r[0],o=r[1],c=r[2],d=r[3],u=r[4];for(let t=0;t<=79;t++){t>=16&&(s[t]=n.$(1,s[t-3]^s[t-8]^s[t-14]^s[t-16]));const e=n.$(5,i)+n.J(t,o,c,d)+u+s[t]+n.Z[a.floor(t/20)]|0;u=d,d=c,c=n.$(30,o),o=i,i=e}r[0]=r[0]+i|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+d|0,r[4]=r[4]+u|0}},hn={importKey:t=>new hn.et(fn.bytes.B(t)),nt(t,e,n,r){if(n=n||1e4,r<0||n<0)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let i,a,o,c,d;const u=new ArrayBuffer(s),l=new m(u);let f=0;const p=wn;for(e=fn.bytes.B(e),d=1;f<(s||1);d++){for(i=a=t.encrypt(p.concat(e,[d])),o=1;o<n;o++)for(a=t.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;f<(s||1)&&o<i.length;o++)l.setInt32(f,i[o]),f+=4}return u.slice(0,r/8)},et:class{constructor(t){const e=this,n=e.st=pn,r=[[],[]];e.it=[new n,new n];const s=e.it[0].blockSize/32;t.length>s&&(t=(new n).update(t).X());for(let e=0;e<s;e++)r[0][e]=909522486^t[e],r[1][e]=1549556828^t[e];e.it[0].update(r[0]),e.it[1].update(r[1]),e.ot=new n(e.it[0])}reset(){const t=this;t.ot=new t.st(t.it[0]),t.ct=!1}update(t){this.ct=!0,this.ot.update(t)}digest(){const t=this,e=t.ot.X(),n=new t.st(t.it[1]).update(e).X();return t.reset(),n}encrypt(t){if(this.ct)throw new w("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},mn=typeof z!=lt&&typeof z.getRandomValues==wt,yn="Invalid password",gn="Invalid signature",xn=gn,Sn="zipjs-abort-check-password";function bn(t){if(mn)return z.getRandomValues(t);throw new w("Crypto API not supported")}const zn=16,Fn={name:"PBKDF2"},En=n.assign({hash:{name:"HMAC"}},Fn),Dn=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Fn),Rn=["deriveBits"],An=[8,12,16],vn=[16,24,32],Cn=10,kn=[0,0,0,0],Tn=typeof z!=lt,Un=Tn&&z.subtle,In=Tn&&typeof Un!=lt,On=fn.bytes,Mn=class{constructor(t){const e=this;e.ut=[[[],[],[],[],[]],[[],[],[],[],[]]],e.ut[0][0][0]||e.lt();const n=e.ut[0][4],r=e.ut[1],s=t.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(e.Z=[a=t.slice(0),o=[]],i=s;i<4*s+28;i++){let t=a[i-1];(i%s===0||8===s&&i%s===4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],i%s===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^t}for(let t=0;i;t++,i--){const e=a[3&t?i:i-4];o[t]=i<=4||t<4?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this.wt(t,0)}decrypt(t){return this.wt(t,1)}lt(){const t=this.ut[0],e=this.ut[1],n=t[4],r=e[4],s=[],i=[];let a,o,c,d;for(let t=0;t<256;t++)i[(s[t]=t<<1^283*(t>>7))^t]=t;for(let u=a=0;!n[u];u^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,n[u]=i,r[i]=u,d=s[c=s[o=s[u]]];let l=16843009*d^65537*c^257*o^16843008*u,w=257*s[i]^16843008*i;for(let n=0;n<4;n++)t[n][u]=w=w<<24^w>>>8,e[n][i]=l=l<<24^l>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}wt(t,e){if(4!==t.length)throw new w("invalid aes block size");const n=this.Z[e],r=n.length/4-2,s=[0,0,0,0],i=this.ut[e],a=i[0],o=i[1],c=i[2],d=i[3],u=i[4];let l,f,p,h=t[0]^n[0],m=t[e?3:1]^n[1],y=t[2]^n[2],g=t[e?1:3]^n[3],x=4;for(let t=0;t<r;t++)l=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^d[255&g]^n[x],f=a[m>>>24]^o[y>>16&255]^c[g>>8&255]^d[255&h]^n[x+1],p=a[y>>>24]^o[g>>16&255]^c[h>>8&255]^d[255&m]^n[x+2],g=a[g>>>24]^o[h>>16&255]^c[m>>8&255]^d[255&y]^n[x+3],x+=4,h=l,m=f,y=p;for(let t=0;t<4;t++)s[e?3&-t:t]=u[h>>>24]<<24^u[m>>16&255]<<16^u[y>>8&255]<<8^u[255&g]^n[x++],l=h,h=m,m=y,y=g,g=l;return s}},Nn=class{constructor(t,e){this.ft=t,this.ht=e,this.yt=e}reset(){this.yt=this.ht}update(t){return this.gt(this.ft,t,this.yt)}xt(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}St(t){0===(t[0]=this.xt(t[0]))&&(t[1]=this.xt(t[1]))}gt(t,e,n){let r;if(!(r=e.length))return[];const s=wn.bitLength(e);for(let s=0;s<r;s+=4){this.St(n);const r=t.encrypt(n);e[s]^=r[0],e[s+1]^=r[1],e[s+2]^=r[2],e[s+3]^=r[3]}return wn.L(e,s)}},_n=hn.et;let Ln=Tn&&In&&typeof Un.importKey==wt,Pn=Tn&&In&&typeof Un.deriveBits==wt;class Wn extends E{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){Vn(this,t,e,n)},async transform(t,e){const n=this,{password:s,strength:i,bt:a,ready:o}=n;s?(await(async(t,e,n,r)=>{const s=await Hn(t,e,n,jn(r,0,An[e])),i=jn(r,An[e]);if(s[0]!=i[0]||s[1]!=i[1])throw new w(yn)})(n,i,s,jn(t,0,An[i]+2)),t=jn(t,An[i]+2),r?e.error(new w(Sn)):a()):await o;const c=new f(t.length-Cn-(t.length-Cn)%zn);e.enqueue(Zn(n,t,c,0,Cn,!0))},async flush(t){const{zt:e,Ft:n,Et:r,ready:i}=this;if(n&&e){await i;const a=jn(r,0,r.length-Cn),o=jn(r,r.length-Cn);let c=ht;if(a.length){const t=Yn(On,a);n.update(t);const r=e.update(t);c=Kn(On,r)}const d=jn(Kn(On,n.digest()),0,Cn);let u=r.length<Cn?1:0;for(let t=0;t<Cn;t++)u|=d[t]^o[t];if(u&&s)throw new w(xn);t.enqueue(c)}}})}}class Bn extends E{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){Vn(this,t,e,n)},async transform(t,e){const n=this,{password:r,strength:s,bt:i,ready:a}=n;let o=ht;r?(o=await(async(t,e,n)=>{const r=bn(new f(An[e]));return Zt(r,await Hn(t,e,n,r))})(n,s,r),i()):await a;const c=new f(o.length+t.length-t.length%zn);c.set(o,0),e.enqueue(Zn(n,t,c,o.length,0))},async flush(t){const{zt:e,Ft:n,Et:r,ready:s}=this;if(n&&e){await s;let i=ht;if(r.length){const t=e.update(Yn(On,r));n.update(t),i=Kn(On,t)}const a=Kn(On,n.digest()).slice(0,Cn);t.enqueue(Zt(i,a))}}})}}function Vn(t,e,r,s){n.assign(t,{ready:new g(e=>t.bt=e),password:qn(e,r),strength:s-1,Et:ht})}function Zn(t,e,n,r,s,i){const{zt:a,Ft:o,Et:c}=t;c.length&&(e=Zt(c,e));const d=e.length-s;let u;for(n=((t,e)=>{if(e&&e>t.length){const n=t;(t=new f(e)).set(n,0)}return t})(n,r+(d-d%zn)),u=0;u<=d-zn;u+=zn){const t=Yn(On,jn(e,u,u+zn));i&&o.update(t);const s=a.update(t);i||o.update(s),n.set(Kn(On,s),u+r)}return t.Et=jn(e,u),n}async function Hn(t,r,s,i){t.password=null;const a=await(async(t,e,n,r,s)=>{if(!Ln)return hn.importKey(e);try{return await Un.importKey("raw",e,n,!1,s)}catch{return Ln=!1,hn.importKey(e)}})(0,s,En,0,Rn),o=await(async(t,e,n)=>{if(!Pn)return hn.nt(e,t.salt,Dn.iterations,n);try{return await Un.deriveBits(t,e,n)}catch{return Pn=!1,hn.nt(e,t.salt,Dn.iterations,n)}})(n.assign({salt:i},Dn),a,8*(2*vn[r]+2)),c=new f(o),d=Yn(On,jn(c,0,vn[r])),u=Yn(On,jn(c,vn[r],2*vn[r])),l=jn(c,2*vn[r]);return n.assign(t,{keys:{key:d,Dt:u,passwordVerification:l},zt:new Nn(new Mn(d),e.from(kn)),Ft:new _n(u)}),l}function qn(t,e){return e===dt?ln(t):e}function jn(t,e,n){return t.subarray(e,n)}function Kn(t,e){return t.W(e)}function Yn(t,e){return t.B(e)}class Gn extends E{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){Jn(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=Qn(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new w(yn);t=t.subarray(12)}r?e.error(new w(Sn)):e.enqueue(Qn(n,t))}})}}class Xn extends E{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){Jn(this,t,e,n)},transform(t,e){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=bn(new f(12));e[11]=n.passwordVerification,r=new f(t.length+e.length),r.set($n(n,e),0),s=12}else r=new f(t.length),s=0;r.set($n(n,t),s),e.enqueue(r)}})}}function Jn(t,e,r,s){n.assign(t,{password:e,rawPassword:r,passwordVerification:s}),((t,e,r)=>{const s=[305419896,591751049,878082192];if(n.assign(t,{keys:s,Rt:new dn(s[0]),At:new dn(s[2])}),r)for(let e=0;e<r.length;e++)tr(t,r[e]);else for(let n=0;n<e.length;n++)tr(t,e.charCodeAt(n))})(t,e,r)}function Qn(t,e){const n=new f(e.length);for(let r=0;r<e.length;r++)n[r]=er(t)^e[r],tr(t,n[r]);return n}function $n(t,e){const n=new f(e.length);for(let r=0;r<e.length;r++)n[r]=er(t)^e[r],tr(t,e[r]);return n}function tr(t,e){let[,n]=t.keys;t.Rt.append([e]);const r=~t.Rt.get();n=rr(a.imul(rr(n+nr(r)),134775813)+1),t.At.append([n>>>24]);const s=~t.At.get();t.keys=[r,n,s]}function er(t){const e=2|t.keys[2];return nr(a.imul(e,1^e)>>>8)}function nr(t){return 255&t}function rr(t){return 4294967295&t}const sr="Invalid uncompressed size",ir="Invalid compressed data",ar=gn,or="deflate-raw",cr="gzip",dr=[31,139,8];class ur extends E{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,computeCrc32:c,level:d,deflate64:u,format:l,compressionMethod:w}=t,f=this;let p,h,y,g=super.readable;const x=l&&Qe(l),S=c&&s&&!u&&!x&&(!i||o)&&!(!a||!r);if(i&&!o||!c||S||(p=new un,g=xr(g,p)),s)if(x)g=Sr(g,yr(x.CompressionStream,l,{level:d,chunkSize:e,compressionMethod:w}));else if(S)y=new lr,g=Sr(g,new r(cr)),g=xr(g,y);else try{g=gr(g,a,{level:d,chunkSize:e},r,n)}catch(t){let e;try{e=new r(cr)}catch{throw t}g=Sr(g,e),g=xr(g,new lr)}i&&(o?g=xr(g,new Xn(t)):(h=new Bn(t),g=xr(g,h))),mr(f,g,()=>{i&&!o||!c||(f.crc32=S?y.crc32:new m(p.value.buffer).getUint32(0))})}}class lr extends E{constructor(){let t,e=10,n=new f(0);super({transform(t,r){if(e){const n=a.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const s=n.length+t.length;if(s<=8)return void(n=Zt(n,t));const i=s-8,o=a.min(i,n.length);r.enqueue(Zt(n.subarray(0,o),t.subarray(0,i-o))),n=Zt(n.subarray(o),t.subarray(i-o))},flush(){const e=qt(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class wr extends E{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:i,checkCrc32:a,crc32:o,compressed:c,useCompressionStream:d,deflate64:u,format:l,compressionMethod:p,rawBitFlag:h,outputSize:y}=t;let x,S,b=super.readable;if(i&&(s?b=xr(b,new Gn(t)):(S=new Wn(t),b=xr(b,S))),c){const t=l&&Qe(l);if(t)b=Sr(b,yr(t.DecompressionStream,l,{chunkSize:e,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{b=gr(b,d,{chunkSize:e,deflate64:u},r,n)}catch(t){if(u||y===dt)throw t;let e;try{e=new r(cr)}catch{throw t}b=((t,e,n)=>{const r=new dn;let s,i,a,o=0,c=!1;const d=new g((t,e)=>{i=t,a=e});d.catch(()=>{}),n||i();const u=new E({start(t){const e=new f(10);e.set(dr),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,p();try{await d}finally{h()}const e=new f(8),s=qt(e);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),t.enqueue(e)},cancel(t){a(t)}}),l=new E({transform(t,e){r.append(t),o+=t.length,o>=n?i():c&&p(),e.enqueue(t)},cancel(t){a(t)}});return t=xr(t,u),xr(t=Sr(t,e),l);function p(){h(),s=U(()=>a(new w(sr)),5e3)}function h(){I(s)}})(b,e,y)}b=(t=>{const e=t.getReader();return new D({async pull(t){let n;try{n=await e.read()}catch(t){if(t&&t.message)throw t;const e=new w(ir);throw e.cause=t,e}const{value:r,done:s}=n;s?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})})(b)}a&&(x=new un,b=xr(b,x)),mr(this,b,()=>{if(a){const t=new m(x.value.buffer);if(o!=t.getUint32(0,!1))throw new w(ar)}})}}const fr=new c;function pr(t,e){if(!t)return!1;let n=fr.get(t);n||(n=new c,fr.set(t,n));let r=n.get(e);if(r===dt){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r}function hr(t){return pr(t,or)}function mr(t,e,r){e=xr(e,new E({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function yr(t,e,n){if(!t)throw new w("Compression method not supported");return new t(e,n)}function gr(t,e,n,r,s){const i=e&&r?r:s||r,a=n.deflate64?"deflate64-raw":or;let o;try{o=new i(a,n)}catch(t){if(!e||!s||i==s)throw t;o=new s(a,n)}return Sr(t,o)}function xr(t,e){return jt(t).pipeThrough(e)}function Sr(t,e){const n=e.writable.getWriter(),r=t.getReader();return(async()=>{try{for(;;){await n.ready;const t=await r.read();if(t.done){await n.close();break}await n.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(n,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(r,t)}})(),e.readable}const br="deflate",zr="inflate";class Fr extends E{constructor(t,e){super({});const r=this,{codecType:s}=t;let i;s.startsWith(br)?i=ur:s.startsWith(zr)&&(i=wr),r.outputSize=0;let a=0;const o=new i(t,e),c=super.readable,d=new E({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){n.assign(r,{inputSize:a})}}),u=new E({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==dt&&r.outputSize>t.outputSize))throw new w(sr)},flush(){const{crc32:t}=o;n.assign(r,{crc32:t,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(d).pipeThrough(o).pipeThrough(u)})}}class Er extends E{constructor(t){const e=[];let n=0;function r(){const r=new f(t);let s=0;for(;s<t;){const n=e[0],i=t-s;n.length<=i?(r.set(n,s),s+=n.length,e.shift()):(r.set(n.subarray(0,i),s),e[0]=n.subarray(i),s+=i)}return n-=t,r}(!s.isFinite(t)||t<1)&&(t=65536),super({transform(s,i){for(e.push(s),n+=s.length;n>t;)i.enqueue(r())},flush(t){n&&t.enqueue(((t,e)=>{const n=new f(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n})(e,n))}})}}async function Dr(t){const{CompressionStream:e,CompressionStreamFallback:n}=t;if(n&&!n.vt)return!0;if(hr(e)||pr(e,cr))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}class Rr{constructor(t,{readable:e,writable:r},{options:s,config:i,Ct:a,useWebWorkers:o,transferStreams:c,workerURI:d,createWorker:u},l){const{signal:w}=a;return n.assign(t,{kt:!0,Tt:(t.Tt||0)+1,readable:e.pipeThrough(new Er(Bt(i))).pipeThrough(new Ar(a),{signal:w}),writable:r,options:n.assign({},s),workerURI:d,createWorker:u,transferStreams:c,terminate:()=>new g(e=>{const{Ut:n,kt:r}=t;n?(r?t.It=e:(n.terminate(),e()),t.Ot=null):e()}),Mt(){if(t.kt){const{It:e}=t;e&&(t.It=null,t.Nt=!0,t.Ut.terminate(),e()),t.kt=!1,l(t)}}}),((t,e)=>({run:()=>(async({options:t,readable:e,writable:n,Mt:r},s)=>{let i;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(br),n=e?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=e?s.CompressionStream:s.DecompressionStream;if(t.useCompressionStream){if(n&&n.vt&&!hr(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.vt||(t.useCompressionStream=!0)}}i=new Fr(t,s),await e.pipeThrough(i).pipeThrough(new Er(Bt(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:a,outputSize:o}=i;return{crc32:r,inputSize:a,outputSize:o}}catch(t){throw i&&(t.outputSize=i.outputSize),t}finally{r()}})(t,e)}))(t,i)}}class Ar extends E{constructor({onstart:t,onprogress:e,size:n,onend:r}){let s=0;super({async start(){t&&await vr(t,n)},async transform(t,r){s+=t.length,e&&await vr(e,s,n),r.enqueue(t)},async flush(){r&&await vr(r,s)}})}}async function vr(t,...e){try{await t(...e)}catch{}}let Cr=[];const kr=[];let Tr,Ur,Ir=0;async function Or(t,e){const{options:n,config:r}=e,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,checkCrc32:d,computeCrc32:u,encrypted:f,format:p,codecURI:h}=n,{workerURI:m,createWorker:y,maxWorkers:x}=r;p&&(h&&(n.codecURI=((t,e)=>{try{return new l(t,e).toString()}catch{return t}})(h,r.baseURI)),await(async(t,e)=>{!Xe.has(t)&&e&&((t,e)=>{const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=wt&&typeof r!=wt)throw new w("Invalid codec module");Xe.set(t,{CompressionStream:n,DecompressionStream:r})})(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(p,n.codecURI)),e.transferStreams=!p&&(i||i===dt&&r.transferStreams);const S=!(c||d||u||f),b=p===dt||!!n.codecURI;return e.useWebWorkers=!S&&b&&(a||a===dt&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&m?m:dt,e.createWorker=e.useWebWorkers&&y?y:dt,n.useCompressionStream=o||o===dt&&r.useCompressionStream,(await(async()=>{const n=Cr.find(t=>!t.kt);if(n)return Pr(n),new Rr(n,t,e,z);if(Cr.length<x){const n={_t:Ir};return Ir++,Cr.push(n),new Rr(n,t,e,z)}return new g(n=>{kr.push({resolve:n,stream:t,Lt:e}),Ur=r.workerStarvationTimeout,Mr()})})()).run();function z(t){if(Nr(),kr.length){const[{resolve:e,stream:n,Lt:r}]=kr.splice(0,1);e(new Rr(t,n,r,z)),Mr()}else t.Ut?(Pr(t),((t,e)=>{const{config:n}=e,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(t.Nt?t.Nt=!1:t.Pt=U(async()=>{Cr=Cr.filter(e=>e!=t);try{await t.terminate()}catch{}},r))})(t,e)):Cr=Cr.filter(e=>e!=t)}}function Mr(){!Tr&&kr.length&&s.isFinite(Ur)&&Ur>=0&&(Tr=U(_r,Ur))}function Nr(){Tr&&(I(Tr),Tr=null)}function _r(){if(Tr=null,kr.length){const[{resolve:t,stream:e,Lt:r}]=kr.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:dt,createWorker:dt});t(new Rr({},e,s,Lr)),Mr()}}function Lr(){Nr(),Mr()}function Pr(t){const{Pt:e}=t;e&&(I(e),t.Pt=null)}const Wr="filename",Br="rawFilename",Vr="comment",Zr="rawComment",Hr="uncompressedSize",qr="compressedSize",jr="offset",Kr="diskNumberStart",Yr="lastModDate",Gr="rawLastModDate",Xr="lastAccessDate",Jr="rawLastAccessDate",Qr="creationDate",$r="rawCreationDate",ts="internalFileAttributes",es="externalFileAttributes",ns="internalFileAttribute",rs="externalFileAttribute",ss="msdosAttributesRaw",is="msdosAttributes",as="msDosCompatible",os="zip64",cs="encrypted",ds="version",us="versionMadeBy",ls="zipCrypto",ws="directory",fs="executable",ps="compressionMethod",hs="signature",ms="extraField",ys="unixMode",gs="setuid",xs="setgid",Ss="sticky",bs=[Wr,Br,Hr,qr,Yr,Gr,Vr,Zr,Xr,Jr,Qr,$r,jr,Kr,ts,es,ns,rs,ss,is,as,os,cs,ds,us,ls,ws,fs,"symlink",ps,hs,"crc32",ms,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ys,"unixExternalUpper",gs,xs,Ss,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class zs{constructor(t){bs.forEach(e=>this[e]=t[e])}}const Fs="File format is not recognized",Es="End of central directory not found",Ds="End of Zip64 central directory locator not found",Rs="Central directory header not found",As="Local file header not found",vs="Zip64 extra field not found",Cs="File contains encrypted entry",ks="Encryption method not supported",Ts="Compression method not supported",Us="Split zip file",Is="Overlapping entry found",Os="Entry data out of bounds",Ms="Ambiguous archive",Ns="Encrypted central directory is not supported",_s="Unsafe filename",Ls="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ps="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ws="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Bs=/^[a-zA-Z]:/,Vs="utf-8",Zs="cp437",Hs=[[Hr,M],[qr,M],[jr,M],[Kr,N]],qs={[N]:{Wt:Si,bytes:4},[M]:{Wt:bi,bytes:8}};class js{constructor(t,e={}){n.assign(this,{reader:new Ve(t),options:e,Bt:new c})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;if(await qe(r),r.size!==dt&&r.readUint8Array||(r=new he(await Kt(r.readable)),await qe(r)),r.size<j)throw new w(Fs);const i=ai(t,e.options),o=i==Ct,c=i!=Tt,u=((t,e)=>{if(t!==dt){const e=_t(t);if("number"!=typeof e||s.isNaN(e)||e<0)throw new w(Ws);return e}return e==Ct?0:e==Tt?1/0:N})(pi(e,t,"maxAppendedDataSize"),i),l=((t,e)=>{if(t===dt)return e;if(!ii(t))throw new w(Ps);return t})(pi(e,t,"filenameValidation"),i),f=pi(e,t,"normalizeFilename"),{Vt:p,Zt:h}=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,65557),i={count:64};let o,c,d=0;for await(const[n,a,u,l,w]of di(t,s)){const s=xi(n,l+20);if(w+j+s==r){const s=await li(t,n,a,l,w,r,i);if(2==s){if(o||(o=ui(u,l,w)),d++,!e||d>1)break}else 1!=s||c||(c=ui(u,l,w))}}return o||(o=c),o||(o=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,e==1/0?r:65557+e);let i,o;for await(const[e,a,c,d,u]of di(t,s)){const s=ui(c,d,u);i||(i=s);const l=await li(t,e,a,d,u,r,n);if(2==l)return s;1!=l||o||(o=s)}return o||i})(t,n,i)),{Vt:o,Zt:d}})(r,c,u);if(!p)throw await(async t=>await si(t)==P)(r)?new w(Us):new w(Es);c&&h>1&&fi("multiple end of central directory records");const m=qt(p);let y=Si(m,12),g=Si(m,16);const x=p.offset,S=xi(m,20),b=x+j+S;r.size-b>u&&fi("appended data");let z=xi(m,4);const F=r.U||0;let D,R,A,v,C=xi(m,6),k=xi(m,10),T=0,U=Y;const I=g==M||y==M||k==N||C==N;if(g!=M&&C!=N&&(g+=ri(r,C)),I){const t=p.offset>=K?await Ke(r,p.offset-K,K):ht,e=qt(t);if(t.length==K&&Si(e,0)==q){g=ri(r,Si(e,4))+bi(e,8);let t=await Ke(r,g,Y),i=qt(t);const c=p.offset-K-Y;if((t.length<Y||Si(i,0)!=H)&&g!=c&&c>=0){const e=g;g=c,g>e&&(T=g-e),t=await Ke(r,g,Y),i=qt(t)}if(t.length<Y||Si(i,0)!=H)throw new w(Ds);if(R=!0,A=bi(i,4)>44,A){const t=a.min(s(bi(i,4))-44,r.size-g-Y);t>0&&(U+=t,v=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=qt(t),i=xi(r,26);n.assign(e,{compressionMethod:xi(r,0),compressedSize:s(bi(r,2)),uncompressedSize:s(bi(r,10)),encryptionAlgorithm:xi(r,18),bitLength:xi(r,20),flags:xi(r,22),hashAlgorithm:xi(r,24),hashData:t.subarray(28,28+i)})}return e})(await Ke(r,g+Y,t)))}z==N?z=Si(i,16):o&&z!=Si(i,16)&&fi("mismatched zip64 end of central directory record"),C==N?C=Si(i,20):o&&C!=Si(i,20)&&fi("mismatched zip64 end of central directory record"),k==N?k=bi(i,32):o&&k!=bi(i,32)&&fi("mismatched zip64 end of central directory record"),y==M?y=bi(i,40):o&&y!=bi(i,40)&&fi("mismatched zip64 end of central directory record"),g=ri(r,C)+bi(i,48)+T}}let O=y;const L=p.offset-(R?U+K:0);if(g>=r.size&&(T=r.size-g-y-j,g=r.size-y-j),F!=z)throw new w(Us);if(g<0)throw new w(Fs);let W=0,B=await Ke(r,g,y),Z=qt(B);if(y){if(B.length<4)throw new w(Fs);const t=L-y;if(g!=t&&C==z){let e=!(Si(Z,W)==V||v&&v.compressedSize||Ys(Z));if(!e&&t>=0&&t+4<=r.size&&(e=Si(qt(await Ke(r,t,4)),0)==V),e){const e=g;g=t,g>e&&(T+=g-e),B=await Ke(r,g,y),Z=qt(B)}}}const G=L-g;if(y!=G&&G>=0&&C==z&&(y=G,B=await Ke(r,g,y),Z=qt(B)),g<0||g>=r.size)throw new w(Fs);e.directoryOffset=g,e.directoryLength=O;const X=hi(e,t,"decryptCentralDirectory");let J,Q;if(X&&k&&B.length>=4&&Si(Z,0)!=V&&(A||Ys(Z))){const t=((t,e,n)=>{const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&r<=n?r:n})(v,O,B.length);Q=B.subarray(t),B=await X(B.subarray(0,t),v),Z=qt(B),O=B.length,J=!0}D=g;const $=pi(e,t,"filenameEncoding"),tt=pi(e,t,"commentEncoding"),at=o?new d:dt;let ot;for(let s=0;s<k;s++){const i=new Ks(r,e.options);if(W+46>B.length||Si(Z,W)!=V){if(0==s&&!J&&(A||Ys(Z)))throw new w(Ns);throw new w(Rs)}Xs(i,Z,W+6);const c=!!i.bitFlag.languageEncodingFlag,d=W+46,u=d+i.filenameLength,p=u+i.extraFieldLength,h=xi(Z,W+4),m=!(h>>8),y=h>>8==3,g=B.subarray(d,u),x=xi(Z,W+32),S=p+x,b=B.subarray(p,S),z=c,F=c,R=Si(Z,W+38),v=R&_,C={readOnly:!!(1&v),hidden:!!(2&v),system:!!(4&v),directory:!!(16&v),archive:!!(32&v)},U=Si(Z,W+42),I=hi(e,t,"decodeText")||Xt,O=z?Vs:$||Zs,M=F?Vs:tt||Zs;let L=I(g,O,At);if(L===dt&&(L=Xt(g,O)),f){const t=f(L);t!==dt&&(L=t)}if(ci(L,l)){const t=new w(_s);throw t.filename=L,t}let P=I(b,M,vt);P===dt&&(P=Xt(b,M)),n.assign(i,{index:s,Ht:J,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,qt:x,offset:U,diskNumberStart:xi(Z,W+34),internalFileAttributes:xi(Z,W+36),externalFileAttributes:R,msdosAttributesRaw:v,msdosAttributes:C,rawFilename:g,filenameUTF8:z,commentUTF8:F,rawExtraField:B.subarray(u,p),rawComment:b,filename:L,comment:P}),Js(i,i,Z,W+6),i.offset+=T,D=a.min(ri(r,i.diskNumberStart)+i.offset,D),o&&(at.has(i.filename)&&(ot=!0),at.add(i.filename));const H=i.externalFileAttributes>>16&N;i.unixMode===dt&&16877&H&&(i.unixMode=H);const q=!!(i.unixMode&rt),j=!!(i.unixMode&st),K=!!(512&i.unixMode),Y=40960==((i.unixMode===dt?H:i.unixMode)&et),G=!Y&&(i.unixMode!==dt?!!(73&i.unixMode):y&&!!(73&H)),X=i.unixMode!==dt&&(i.unixMode&et)==nt,Q=(H&et)==nt;n.assign(i,{setuid:q,setgid:j,sticky:K,symlink:Y,unixExternalUpper:H,internalFileAttribute:i.internalFileAttributes,externalFileAttribute:i.externalFileAttributes,executable:G,directory:X||Q||m&&C.directory||i.filename.endsWith(it)&&!i.uncompressedSize,zipCrypto:i.encrypted&&!i.extraFieldAES});const ct=new zs(i);ct.getData=(t,n)=>i.getData(t,ct,e.Bt,n),ct.arrayBuffer=async t=>{const n=new E,r=Kt(n.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await i.getData(n,ct,e.Bt,t),r},W=S;const{onprogress:ut}=t;if(ut)try{await ut(s+1,k,new zs(i))}catch{}yield ct}let ct=W,ut=Gs(B.subarray(W))||(J?Gs(Q):dt);if(!ut&&!J){const t=g+W,e=a.min(L-t,65541);e>=6&&(ut=Gs(await Ke(r,t,e)))}ut&&(e.digitalSignature=ut,ct=W+6+ut.length),o&&W!=O&&ct!=O&&fi("trailing central directory data"),ot&&fi("duplicate filename");const lt=pi(e,t,"extractPrependedData"),wt=pi(e,t,"extractAppendedData"),ft=(o||lt)&&k&&4==D&&await(async t=>{const e=await si(t);return e==P||808471376==e})(r)?4:0;return o&&(T||k&&D>ft)&&fi("prepended data"),lt&&(e.prependedData=D>ft?await Ke(r,ft,D-ft):ht),e.comment=S?await Ke(r,x+j,S):ht,wt&&(e.appendedData=b<r.size?await Ke(r,b,r.size-b):ht),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}let Ks=class{constructor(t,e){n.assign(this,{reader:t,options:e})}async getData(t,e,n,r={}){const s=this,i=Wt(),{reader:o,index:c,offset:d,diskNumberStart:u,extraFieldAES:l,extraFieldZip64:f,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:g,uncompressedSize:x,compressedSize:S}=s,{dataDescriptor:b}=h,z=e.localDirectory={},F=ri(o,u)+d,E=await Ke(o,F,at),D=qt(E);let A=pi(s,r,mt),v=pi(s,r,yt);const C=pi(s,r,gt);if(Ot(A,v),A=A&&A.length&&A,v=v&&v.length&&v,l&&99!=l.originalCompressionMethod)throw new w(Ts);if(E.length<at||Si(D,0)!=L)throw new w(As);Xs(z,D,4);const{extraFieldLength:k,filenameLength:T}=z,U=pi(s,r,"checkLocalDirectory"),I=ai(r,s.options),O=((t,e)=>t===dt?e!=Tt:!!t)(U,I),M=((t,e)=>t===dt?e==Ct:!!t)(U,I);let N=ht;if(M&&(T||k)){const t=await Ke(o,F+at,T+k);N=t.subarray(0,T),z.rawExtraField=t.subarray(T)}else z.rawExtraField=k?await Ke(o,F+at+T,k):ht;M&&(z.rawFilename=N),Js(s,z,D,4,!0),O&&((t,e,n,r)=>{const{rawFilename:s}=t,i=t.Ht&&!(8192&~e.rawBitFlag);!r||i||n.length==s.length&&!n.some((t,e)=>t!=s[e])||fi("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&fi("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&fi("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||i||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||fi("mismatched local file header (crc32 or sizes)")})(s,z,N,M);const{lastAccessDate:P,creationDate:B,uid:V,gid:Z}=z;P&&(e.lastAccessDate=P),B&&(e.creationDate=B),V!==dt&&e.uid===dt&&(e.uid=V),Z!==dt&&e.gid===dt&&(e.gid=Z);const H=s.encrypted&&z.encrypted&&!C,q=H&&!l;if(C||(e.zipCrypto=q),H&&!(64&~z.rawBitFlag))throw new w(ks);const j=C?dt:Je(p);if(0!=p&&8!=p&&9!=p&&!j&&!C)throw new w(Ts);if(H){if(!q&&(l.strength<1||l.strength>3))throw new w(ks);if(!A&&!v)throw new w(Cs)}const K=F+at+T+k;if(K+S>o.size)throw new w(Os);const Y=S,G=jt(o.createReadable({offset:K,size:Y})),X=It(pi(s,r,xt)),J=pi(s,r,"checkPasswordOnly");let Q=pi(s,r,"checkOverlappingEntry");const $=pi(s,r,"checkOverlappingEntryOnly");$&&(Q=!0);const{onstart:tt,onprogress:et,onend:nt}=r,rt=0!=p&&!C,st=C?S:x,it=9==p;let ot=pi(s,r,bt);it&&(ot=!1);const ct=pi(s,r,"checkCrc32"),ut=(ct===dt?pi(s,r,"checkSignature"):ct)&&!C&&(!H||q||l&&1==l.vendorVersion),lt={options:{codecType:zr,password:A,rawPassword:v,zipCrypto:q,encryptionStrength:l&&l.strength,checkCrc32:ut,checkAuthenticationCode:pi(s,r,"checkAuthenticationCode"),passwordVerification:q&&(b?g>>>8&_:y>>>24&_),outputSize:st,crc32:y,compressed:rt,encrypted:H,useWebWorkers:pi(s,r,St),useCompressionStream:ot,transferStreams:pi(s,r,zt),deflate64:it,format:j?j.format:dt,codecURI:j?j.codecURI:dt,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:J},config:i,Ct:{signal:X,size:Y,onstart:tt,onprogress:et,onend:nt}};let wt,ft;Q&&await(async({reader:t,jt:e,index:n,offset:r,crc32:s,compressedSize:i,uncompressedSize:a,Kt:o,dataDescriptor:c,extraFieldZip64:d,Bt:u})=>{let l=0;if(c&&(l=d?20:12),l){const n=await Ke(t,o+i,l+4),r=qt(n);let c=n.length==l+4&&Si(r,0)==W;if(c){const t=ni(r,4,d);(e.encrypted&&!e.zipCrypto||t.crc32==s)&&t.compressedSize==i&&t.uncompressedSize==a?l+=4:c=!1}if(n.length>=l){const t=ni(r,c?4:0,d);t.signature=c,e.localDirectory.dataDescriptor=t}}const f={start:r,end:o+i+l,jt:e};for(const[t,e]of u)if(t!=n&&f.start<e.end&&e.start<f.end){const t=new w(Is);throw t.overlappingEntry=e.jt,t}u.set(n,f)})({reader:o,jt:e,index:c,offset:F,crc32:y,compressedSize:S,uncompressedSize:x,Kt:K,dataDescriptor:b||z.bitFlag.dataDescriptor,extraFieldZip64:f||z.extraFieldZip64,Bt:n});try{if(!$){J&&(t=new R),t=new Ze(t),await qe(t,((t,e,n)=>a.min(t,n?1032*e:e))(st,S,rt)),({writable:wt}=t);const{outputSize:e}=await Or({readable:G,writable:wt},lt);if(t.size+=e,e!=st)throw new w(sr)}}catch(e){if(e.outputSize!==dt&&(t.size+=e.outputSize),!J||e.message!=Sn)throw ft=e,e}finally{if((He(t)||!pi(s,r,Ft))&&wt&&!wt.locked){const t=wt.getWriter();if(ft)try{await t.abort(ft)}catch{}else await t.close()}}return J||$?dt:t.getData?t.getData():wt}};function Ys(t){const e=a.min(t.byteLength,1024)-3;for(let n=0;n<e;n++)if(134630224==Si(t,n))return!0;return!1}function Gs(t){if(t.length>=6){const e=qt(t);if(Si(e,0)==B){const n=xi(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function Xs(t,e,r){const s=t.rawBitFlag=xi(e,r+2),i=!(1&~s),a=Si(e,r+6);n.assign(t,{encrypted:i,version:xi(e,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&tt)==tt},rawLastModDate:a,lastModDate:mi(a),filenameLength:xi(e,r+22),extraFieldLength:xi(e,r+24)})}function Js(t,e,r,s,i){const{rawExtraField:a}=e,d=e.extraField=new c,u=qt(a);let l=0;try{for(;l<a.length;){const t=xi(u,l),e=xi(u,l+2);d.set(t,{type:t,data:a.slice(l+4,l+4+e)}),l+=4+e}}catch{}const f=xi(r,s+4);n.assign(e,{signature:Si(r,s+10),crc32:Si(r,s+10),compressedSize:Si(r,s+14),uncompressedSize:Si(r,s+18)});const p=d.get(1);p&&(((t,e)=>{e.zip64=!0;const n=qt(t.data),r=Hs.filter(([t,n])=>e[t]==n),s=r.reduce((t,[,e])=>t+qs[e].bytes,0);if(t.data.length<s)throw new w(vs);for(let s=0,i=0;s<r.length;s++){const[a,o]=r[s],c=qs[o];e[a]=t[a]=c.Wt(n,i),i+=c.bytes}})(p,e),e.extraFieldZip64=p);const h=d.get(28789);h&&(Qs(h,Wr,Br,e,t),e.extraFieldUnicodePath=h);const m=d.get(25461);m&&(Qs(m,Vr,Zr,e,t),e.extraFieldUnicodeComment=m);const y=d.get(G);y&&y.data.length>=7?(((t,e,r)=>{const s=qt(t.data),i=gi(s,4);n.assign(t,{vendorVersion:gi(s,0),vendorId:gi(s,2),strength:i,originalCompressionMethod:r,compressionMethod:xi(s,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=dt)})(y,e,f),e.extraFieldAES=y):e.compressionMethod=f;const g=d.get(13);g&&($s(g,e),e.extraFieldPkwareUnix=g);const x=d.get(22613);x&&($s(x,e),e.extraFieldUnixType1=x);const S=d.get(10);S&&(((t,e)=>{const r=qt(t.data);let s,i=4;try{for(;i<t.data.length&&!s;){const e=xi(r,i),n=xi(r,i+2);1==e&&(s=t.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(s&&24==s.length){const r=qt(s),i=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(t,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:o});const c={lastModDate:yi(i),lastAccessDate:yi(a),creationDate:yi(o)};n.assign(t,c),n.assign(e,c,{rawLastAccessDate:a,rawCreationDate:o})}})(S,e),e.extraFieldNTFS=S);const b=d.get($);let z;if(b&&(z=ti(b,e,!1),e.extraFieldUnix=b),!z){const t=d.get(Q);t&&(ti(t,e,!0),e.extraFieldInfoZip=t)}const F=d.get(X);F&&(((t,e,n)=>{if(!t.data.length)return;const r=qt(t.data),s=gi(r,0),i=[],a=[];n?(1&~s||(i.push(Yr),a.push(Gr)),2&~s||(i.push(Xr),a.push(Jr)),4&~s||(i.push(Qr),a.push($r))):t.data.length>=5&&(i.push(Yr),a.push(Gr));let c=1;i.forEach((n,s)=>{if(t.data.length>=c+4){const i=Si(r,c);e[n]=t[n]=new o(1e3*(0|i));const d=a[s];t[d]=i}c+=4})})(F,e,i),e.extraFieldExtendedTimestamp=F);const E=d.get(J);E&&(e.extraFieldUSDZ=E)}function Qs(t,e,r,s,i){if(t.data.length<5)return void(t.valid=!1);const a=qt(t.data),o=new dn;o.append(i[r]);const c=qt(new f(4));c.setUint32(0,o.get(),!0);const d=Si(a,1);n.assign(t,{version:gi(a,0),[e]:Xt(t.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&d==Si(c,0)}),t.valid&&(s[e]=t[e],s[e+"UTF8"]=!0)}function $s(t,e){if(t.data.length<8)return;const r=qt(t.data),s={lastAccessDate:new o(1e3*(0|Si(r,0))),lastModDate:new o(1e3*(0|Si(r,4)))};t.data.length>=12&&(s.uid=xi(r,8),s.gid=xi(r,10)),n.assign(t,s),n.assign(e,s)}function ti(t,e,r){try{const s=qt(t.data);let i,a;if(r){let e=0;const r=gi(s,e++),o=gi(s,e++);i=ei(t.data.subarray(e,e+o)),e+=o;const c=gi(s,e++);a=ei(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:i,gid:a})}else t.data.length>=4&&(i=xi(s,0),a=xi(s,2),n.assign(t,{uid:i,gid:a}));return i!==dt&&(e.uid=i),a!==dt&&(e.gid=a),i!==dt||a!==dt}catch{}}function ei(t){const e=new f(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ni(t,e,n){const r=Si(t,e);let s,i;return n?(s=bi(t,e+4),i=bi(t,e+12)):(s=Si(t,e+4),i=Si(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:i}}function ri(t,e){return t.O?t.O(e):0}async function si(t){return Si(qt(await Ke(t,0,4)))}function ii(t){return t===Ct||t===kt||t===Tt}function ai(t,e){return oi(t,oi(e,kt))}function oi(t,e){const n=t.strictness;if(n!==dt){if(!ii(n))throw new w(Ls);return n}const r=t.checkAmbiguity;return r===dt?e:r?Ct:e==Tt?Tt:kt}function ci(t,e){if(e==Tt)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Bs.test(t))||e==Ct&&(n.includes(".")||n.includes(""))}async function*di(t,e){const n=t.size-e,r=await Ke(t,n,e),s=qt(r);for(let t=r.length-j;t>=0;t--)Si(s,t)==Z&&(yield[s,n,r,t,n+t])}function ui(t,e,n){return{offset:n,buffer:t.slice(e,e+j).buffer}}async function li(t,e,n,r,s,i,a){const o=xi(e,r+10),c=Si(e,r+12),d=Si(e,r+16);if(o==N||c==M||d==M)return await wi(t,e,n,s-K,i,a)==q?2:0;if(!o&&!c)return 1;const u=xi(e,r+6);for(const r of[s-c,ri(t,u)+d])if(await wi(t,e,n,r,i,a)==V)return 2;return 0}async function wi(t,e,n,r,s,i){return r<0||r+4>s?dt:r>=n?Si(e,r-n):i.count>0?(i.count--,Si(qt(await Ke(t,r,4)),0)):dt}function fi(t){const e=new w(Ms);throw e.reason=t,e}function pi(t,e,n){return e[n]===dt?t.options[n]:e[n]}function hi(t,e,n){return Ut(pi(t,e,n))}function mi(t){const e=(4294901760&t)>>16,n=t&N;return new o(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function yi(t){return new o(s(t/i(1e4)-i(116444736e5)))}function gi(t,e){return t.getUint8(e)}function xi(t,e){return t.getUint16(e,!0)}function Si(t,e){return t.getUint32(e,!0)}function bi(t,e){return s(t.getBigUint64(e,!0))}var zi=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Ms,ERR_BAD_FORMAT:Fs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Rs,ERR_ENCRYPTED:Cs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ns,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Os,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ds,ERR_EOCDR_NOT_FOUND:Es,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:vs,ERR_INVALID_AUTHENTICATION_CODE:xn,ERR_INVALID_COMPRESSED_DATA:ir,ERR_INVALID_CRC32:ar,ERR_INVALID_FILENAME_VALIDATION:Ps,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ws,ERR_INVALID_PASSWORD:yn,ERR_INVALID_SIGNATURE:gn,ERR_INVALID_STRICTNESS:Ls,ERR_INVALID_UNCOMPRESSED_SIZE:sr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:As,ERR_OVERLAPPING_ENTRY:Is,ERR_SPLIT_ZIP_FILE:Us,ERR_UNSAFE_FILENAME:_s,ERR_UNSUPPORTED_COMPRESSION:Ts,ERR_UNSUPPORTED_ENCRYPTION:ks,ZipReader:js});const Fi="Zip file comment exceeds 64KB",Ei="Invalid zip file comment (must be a Uint8Array)",Di="Version exceeds 65535",Ri="Extra field data exceeds 64KB",Ai=-2147483648,vi=2147483647,Ci=i(0),ki=i("0x7fffffffffffffff"),Ti="Zip64 is not supported (set the 'zip64' option to 'true')",Ui="Undetermined size",Ii=new f([7,0,2,0,65,69,3,0,0]),Oi="infozip",Mi="unix";let Ni=0;const _i=[];class Li{constructor(t,e={}){t=new Ze(t);const{availableSize:r=ut,maxSize:s=ut}=t,i=r>0&&r!==ut&&s>0&&s!==ut;n.assign(this,{writer:t,Yt:i,options:e,Gt:new c,Xt:new d,offset:e[Et]===dt?t.size||t.writable.size||0:e[Et],Jt:e[Et]===dt?0:e[Et]-(t.size||t.writable.size||0),Qt:new d,$t:0,te:dt})}async prependZip(t){if(this.Xt.size)throw new w("Zip file not empty");t=new Ve(t),await qe(t),t.size!==dt&&t.readUint8Array||(t=new he(await Kt(t.readable)),await qe(t));const{ZipReader:r}=await g.resolve().then(()=>zi),s=new r(t),i=await s.getEntries();await s.close(),await qe(this.writer);const{directoryOffset:a}=s;this.Yt&&(delete this.Yt,await(async t=>qt(await Ke(t,0,4)).getUint32(0,!0)==P)(t)||(await ra(this.writer,na()),this.offset+=4));const o=await(async(t,n,r,s)=>{const{writer:i}=t,a=new c;if(i.closeDisk){const o=e.from(r).sort((t,e)=>ea(n,t)-ea(n,e));let c=0;for(const e of o){const r=ea(n,e);await $i(t,n,c,r-c),Ji(i,await ta(n,r))&&await i.closeDisk(),a.set(e,{offset:Qi(t,i),diskNumberStart:Gi(i)}),c=r}await $i(t,n,c,s-c)}else{const e=t.offset;await $i(t,n,0,s),r.forEach(t=>a.set(t,{offset:e+ea(n,t),diskNumberStart:0}))}return a})(this,t,i,a);this.Xt=new d(i.map(t=>t.filename)),this.Gt=new c(i.map(t=>{const{version:e,rawLastModDate:r,lastAccessDate:s,creationDate:i,rawFilename:a,bitFlag:c,encrypted:d,uncompressedSize:u,compressedSize:l,zip64:w}=t;let{compressionMethod:f,ee:p,ne:h,re:m,se:y,ie:g,rawExtraField:x}=t;const{level:S,languageEncodingFlag:b,dataDescriptor:z}=c;p=p||ht,h=h||ht,m=m||ht,y=y||ht,g=g||ht,x=x||ht,t.extraFieldAES&&(f=99);const F=ba(p,h,m,y,g,x),E=w&&u>=M,D=w&&l>=M,R=-7&Fa(S,b,z,d,f)|S<<1,{ae:A,oe:v}=za({version:e,bitFlag:R,compressionMethod:f,uncompressedSize:u,compressedSize:l,rawLastModDate:r,rawFilename:a,ce:D,de:E,extraFieldLength:F}),{crc32:C}=t;C!==dt&&ga(v,10,C);const{offset:k,diskNumberStart:T}=o.get(t);return n.assign(t,{de:E,ce:D,offset:k,diskNumberStart:T,ue:!1,ee:p,ne:h,re:m,se:y,ie:g,rawExtraField:x,extendedTimestamp:m.length>0||y.length>0,le:1+(s?2:0)+(i?4:0),ae:A,oe:v}),[t.filename,t]}))}async add(t="",e,r={}){const s=this;r=n.assign({},r);const{Qt:a}=s;let o,c;Ni<Wt().maxWorkers?Ni++:await new g(t=>_i.push(t));try{if(t=t.trim(),ca(s,r,ws)&&!t.endsWith(it)&&(t+=it),s.Xt.has(t))throw new w("File already exists");return s.Xt.add(t),c=!0,o=(async(t,e,r,s)=>{const a=Pi(t,e,s);({name:e}=a);const o=Wi(t,e,s),{comment:c}=o,d=s[ms];let u;t.Gt.set(e,dt);try{const{we:c}=o;0==c.level||c.compressionMethod!==dt||c.passThrough||await Dr(Wt())||(c.level=0);const d=await(async(t,e,{we:r},s)=>{if(r.passThrough&&!e&&!ca(t,s,ws))throw new w("Undefined reader");let i;return e&&(e=new Ve(e),await qe(e),({size:i}=e)),n.assign({reader:e},Vi(t,!!e,i,r,s))})(t,r,o,s);({reader:r}=d);const l=Xi(t.writer),f=Gi(t.writer),p=Zi(s=n.assign({},s,a.we,o.we,d.we,{signature:s[hs],crc32:s.crc32===dt?s[hs]:s.crc32,offset:t.offset-l,diskNumberStart:f,[Dt]:t.options[Dt]})),h=ji(s),m=ba(p.fe,h.pe);u=await(async(t,e,r,s,a)=>{const{Gt:o,writer:c}=t,{keepOrder:d,dataDescriptor:u,signal:l}=a,{he:f}=s,p=t.options[Dt],h=t.te;let m,y,x,S,b,z,F,D={},A=0;o.set(e,D),t.te=D;try{let y;d&&(y=h&&h.me,D.me=new g(t=>x=t)),a.bufferedWrite||!d||t.ye||t.$t||!u?(m=!0,t.$t++,F=a.createTempStream?await a.createTempStream():new E(dt,dt,{highWaterMark:ut}),F.size=0,await qe(c)):(F=c,await v()),await qe(F);const k=Xi(c);t.Yt&&(delete t.Yt,await ra(c,na()),t.offset+=4),p&&!m&&Hi(s,t.offset-k);const{fe:T}=f;m||(await y,await C());const U=Gi(c),I=Qi(t,c);if(D.diskNumberStart=U,m||(b=!0,z=c.size,await ra(F,T)),D=await(async(t,e,{diskNumberStart:r,me:s},a,o,c)=>{const{he:d,ge:u,xe:l}=a,{ae:f,oe:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:x,compressionMethod:S,ee:b,Se:z,re:F,le:E,se:D,ie:R,ne:A}=d,{pe:v}=u,{rawFilename:C,lastAccessDate:k,creationDate:T,password:U,rawPassword:I,level:O,zip64:N,de:L,ce:P,zipCrypto:W,dataDescriptor:B,directory:V,executable:Z,versionMadeBy:H,rawComment:q,rawExtraField:j,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:tt,msDosCompatible:et,internalFileAttributes:nt,externalFileAttributes:rt,uid:st,gid:it,unixMode:at,symlink:ot,setuid:ct,setgid:ut,sticky:lt,unixExternalUpper:wt,msdosAttributesRaw:ft,msdosAttributes:pt,useCompressionStream:ht,passThrough:mt,format:yt,codecURI:gt}=c,xt={me:s,versionMadeBy:H,zip64:N,directory:!!V,executable:!!Z,filenameUTF8:!0,rawFilename:C,commentUTF8:!0,rawComment:q,ee:b,Se:z,re:F,se:D,ie:R,ne:A,rawExtraField:j,extendedTimestamp:tt,msDosCompatible:et,internalFileAttributes:nt,externalFileAttributes:rt,diskNumberStart:r,uid:st,gid:it,unixMode:at,symlink:!!ot,setuid:ct,setgid:ut,sticky:lt,unixExternalUpper:wt,msdosAttributesRaw:ft,msdosAttributes:pt};let{crc32:St,uncompressedSize:bt}=c,zt=0;mt||(bt=0);const{writable:Ft}=e;if(t){const n=jt(Ye(t)),r=t.size,s={options:{codecType:br,level:O,rawPassword:I,password:U,encryptionStrength:$,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&_,computeCrc32:!mt,compressed:g&&!mt,encrypted:y&&!mt,useWebWorkers:K,useCompressionStream:ht,transferStreams:Y,format:yt,codecURI:gt,compressionMethod:S},config:o,Ct:{signal:Q,size:r,onstart:G,onprogress:X,onend:J}};try{const t=await Or({readable:n,writable:Ft},s);if(zt=t.outputSize,e.size+=zt,mt||(bt=t.inputSize,y&&!W||(St=t.crc32)),!P&&zt>=M||!L&&bt>=M)throw new w(Ti)}catch(t){throw t.outputSize!==dt&&(e.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:n,he:r,ge:s},{zip64:a,zipCrypto:o,passThrough:c,dataDescriptor:d})=>{const{oe:u,encrypted:l}=r,{be:w,ze:f}=s;l&&!o&&!c||t===dt||(ga(u,10,t),d&&ga(w,f,t)),a?d&&(xa(w,f+4,i(e)),xa(w,f+12,i(n))):(ga(u,14,e),ga(u,18,n),d&&(ga(w,f+4,e),ga(w,f+8,n)))})({crc32:St,compressedSize:zt,uncompressedSize:bt,he:d,ge:u},c),B&&await ra(e,v),n.assign(xt,{uncompressedSize:bt,compressedSize:zt,lastModDate:h,rawLastModDate:m,creationDate:T,lastAccessDate:k,encrypted:!!y,zipCrypto:!!W,size:l+zt,compressionMethod:S,version:x,ae:f,oe:p,signature:St,crc32:!y||W||mt?St:dt,le:E,de:L,ce:P}),xt})(r,F,D,s,Wt(),a),m||(b=!1),o.set(e,D),D.filename=e,m){if(await g.all([F.writable.getWriter().close(),y]),await v(),S=!0,z=c.size,await C(),D.diskNumberStart=Gi(c),D.offset=Qi(t,c),p){const e=s.xe;Hi(s,t.offset-Xi(c)),D.size+=s.xe-e}(({rawFilename:t,encrypted:e,zip64:n,Se:r,crc32:s,compressedSize:a,uncompressedSize:o,de:c,ce:d},u,{dataDescriptor:l,passThrough:w})=>{if(l||((!e||w&&s!==dt)&&ga(u,14,s),d||ga(u,18,a),c||ga(u,22,o)),n&&r){const e=at+ba(t)+4;xa(u,e,i(o)),xa(u,e+8,i(a))}})(D,f.Fe,a),await ra(c,f.fe),await(async(t,e,n)=>{const r=e.writable.getWriter();try{await t.pipeTo(new R({async write(t){var e;await r.ready,await r.write(t),e=ba(t),A+=e}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{r.releaseLock()}})(F.readable,c,l),c.size+=F.size,S=!1}else D.diskNumberStart=U,D.offset=I;return t.offset+=D.size,D}catch(n){if(S||b){if(t.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}t.offset+=c.size-z,m&&(t.offset+=A)}throw o.delete(e),n}finally{if(m&&t.$t--,x&&x(),y&&y(),m&&F&&F.dispose)try{await F.dispose()}catch{}}async function v(){t.ye=!0;const{Ee:e}=t;t.Ee=new g(e=>y=()=>{t.ye=!1,e()}),await e}async function C(){Ji(c,ba(f.fe))&&await c.closeDisk()}})(t,e,r,{he:p,ge:h,xe:m},s)}catch(n){throw t.Gt.delete(e),n}return n.assign(u,{name:e,comment:c,extraField:d,[ns]:u.internalFileAttributes,[rs]:u.externalFileAttributes}),new zs(u)})(s,t,e,r),a.add(o),await o}catch(e){throw c&&s.Xt.delete(t),e}finally{a.delete(o);const t=_i.shift();t?t():Ni--}}remove(t){const{Xt:e,Gt:n}=this;if(typeof t==pt&&(t=n.get(t)),t&&t.filename!==dt){const{filename:r}=t;if(e.has(r)&&n.has(r))return e.delete(r),n.delete(r),!0}return!1}async close(t=ht,n={}){const{Qt:r,writer:s}=this,{writable:a}=s;if(!(t instanceof f))throw new w(Ei);if(ba(t)>N)throw new w(Fi);for(;r.size;)await g.allSettled(e.from(r));return await(async(t,n,r)=>{const s=Ki(t.Gt),{De:a,Re:o}=await(async(t,n,r)=>{const{Gt:s,writer:i}=t,a=new f(n);await qe(i);let o=0,c=0,d=Gi(i),u=Xi(i);for(const[t,n]of e.from(s.values()).entries()){const{offset:e,rawFilename:l,ee:w,ne:f,re:p,se:h,ie:m,rawExtraField:y,rawComment:g,versionMadeBy:x,ae:S,oe:b,de:z,ce:F,ue:E,Ae:D,internalFileAttributes:R,externalFileAttributes:A,diskNumberStart:v,uncompressedSize:C,compressedSize:k}=n,T=ba(w,f,p,h,m,y),U=46+ba(l,g)+T;Ji(i,o+U-c)&&(await ra(i,a.slice(c,o)),c=o,await i.closeDisk()),0==t&&(d=Gi(i),u=Xi(i)),z||ga(b,18,C),F||ga(b,14,k),(D||E)&&n.version<45&&ya(b,0,45);const I=Yi(U);if(I.ve(V),I.Ce(x),I.ke(S.subarray(0,24)),I.Ce(T),I.Ce(ba(g)),I.Ce(E?N:v),I.Ce(R),I.ve(A),I.ve(D?M:e),I.ke(l),I.ke(w),I.ke(f),I.ke(p),I.ke(h),I.ke(m),I.ke(y),I.ke(g),Sa(a,I.v,o),o+=U,r.onprogress)try{await r.onprogress(t+1,s.size,new zs(n))}catch{}}return await ra(i,c?a.slice(c):a),{De:{diskNumber:d,diskOffset:u},Re:a}})(t,s,r),c=await(async(t,e,n)=>{const r=ua(t,n,Rt);if(r){const n=await r(e),s=ba(n);if(s>N)throw new w("Signature data exceeds 64KB");const i=Yi(6+s);i.ve(B),i.Ce(s),i.ke(n);const{writer:a}=t;return Ji(a,ba(i.v))&&await a.closeDisk(),await ra(a,i.v),6+s}return 0})(t,o,r);await(async(t,e,n,r)=>{const{writer:s}=t,{De:a,Te:o}=r;let{Ue:c}=r,d=t.Gt.size,u=a.diskNumber,l=Qi(t,a),f=Gi(s);Ji(s,j)&&f++;let p=ca(t,n,os);if(l>=M||c>=M||d>=N||f>=N){if(!1===p)throw new w(Ti);p=!0}const h=ba(e);if(h>N)throw new w(Fi);const m=Yi(p?98:j);Ji(s,ba(m.v)+h)&&await s.closeDisk(),f=Gi(s),p&&(m.ve(H),m.Ie(44),m.Ce(45),m.Ce(45),m.ve(f),m.ve(u),m.Ie(d),m.Ie(d),m.Ie(c),m.Ie(l),m.ve(q),m.ve(f),m.Ie(i(Qi(t,s))+i(c)+i(o)),m.ve(f+1),ca(t,n,"supportZip64SplitFile",!0)&&(f=N,u=N),d=N,l=M,c=M),m.ve(Z),m.Ce(f),m.Ce(u),m.Ce(d),m.Ce(d),m.ve(c),m.ve(l),m.Ce(h),await ra(s,m.v),h&&await ra(s,e)})(t,n,r,{De:a,Ue:s,Te:c})})(this,t,n),!He(s)&&ca(this,n,Ft)||await a.getWriter().close(),s.getData?s.getData():a}}function Pi(t,n,r){n=n.trim();let s=ca(t,r,as),i=ca(t,r,us,s?20:768);const a=ca(t,r,fs),o=fa(t,r,"uid"),c=fa(t,r,"gid");let d=fa(t,r,ys),u=ca(t,r,"unixExtraFieldType"),l=ca(t,r,gs),f=ca(t,r,xs),p=ca(t,r,Ss);if(Nt(o,M,"Invalid uid (must be integer 0..2^32-1)"),Nt(c,M,"Invalid gid (must be integer 0..2^32-1)"),Nt(d,N,"Invalid UNIX mode (must be integer 0..65535)"),u!==dt&&u!==Oi&&u!==Mi)throw new w("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(u===Mi&&(o!==dt&&o>N||c!==dt&&c>N))throw new w("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");u!==dt||o===dt&&c===dt||(u=Oi);let h=fa(t,r,ss),m=ca(t,r,is);const y=h!==dt||m!==dt;if(o!==dt||c!==dt||d!==dt||u||a?(s=!1,i=i&_|768):y&&(s=!0,i&=_),Nt(h,_,"Invalid msdosAttributesRaw (must be integer 0..255)"),m&&(typeof m!==ft||e.isArray(m)))throw new w("Invalid msdosAttributes (must be an object with boolean flags)");if(i>N)throw new w(Di);let g=la(t,r,es,rs);const x=g!==dt;x||(g=0),!r[ws]&&n.endsWith(it)&&(r[ws]=!0);const S=ca(t,r,ws);if(S?(n.endsWith(it)||(n+=it),x||(g=16,s||(g|=16877<<16))):s||x||(g=a?493<<16:27525120),!s){const t=d!==dt||!!(l||f||p);d=d===dt?g>>16&N:d&N,l?d|=rt:l=!!(d&rt),f?d|=st:f=!!(d&st),p?d|=512:p=!!(512&d),x&&!t||(S?d=-61441&d|nt:d&et||(d|=32768),g=(d&N)<<16|g&N)}return({msdosAttributesRaw:h,msdosAttributes:m}=((t,e)=>{if(t!==dt)t&=_;else if(e!==dt){const{readOnly:n,hidden:r,system:s,directory:i,archive:a}=e;let o=0;n&&(o|=1),r&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),t=o&_}return e===dt&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(h,m)),y&&(g=g&M|h&_),{name:n,we:{versionMadeBy:i,msDosCompatible:!!s,externalFileAttributes:g,unixExternalUpper:g>>16&N,uid:o,gid:c,unixMode:d,unixExtraFieldType:u,symlink:d!==dt&&40960==(d&et),setuid:l,setgid:f,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}}function Wi(t,e,n){const r=ua(t,n,"encodeText")||ln;let i=r(e,At);if(i===dt&&(i=ln(e)),ba(i)>N)throw new w("File entry name exceeds 64KB");const a=n[Vr]||"";if(typeof a!=pt)throw new w("Invalid file entry comment (must be a string)");let c=r(a,vt);if(c===dt&&(c=ln(a)),ba(c)>N)throw new w("File entry comment exceeds 64KB");const d=ca(t,n,ds,20);if(d>N)throw new w(Di);const u=da(t,n,Yr,new o),l=da(t,n,Xr),f=da(t,n,Qr),p=la(t,n,ts,ns,0),h=ca(t,n,gt),m=ca(t,n,mt),y=ca(t,n,yt);Ot(m,y);const g=fa(t,n,"encryptionStrength",3),x=ca(t,n,ls),S=ca(t,n,"extendedTimestamp",!0),b=ca(t,n,"ntfsTimestamp"),z=ca(t,n,"keepOrder",!0),F=ca(t,n,St),E=ca(t,n,zt),D=ca(t,n,"bufferedWrite"),R=ua(t,n,"createTempStream"),A=ca(t,n,"dataDescriptorSignature",!0),v=It(ca(t,n,xt)),C=ca(t,n,"useUnicodeFileNames",!0),k=ca(t,n,ps),T=h||k===dt?dt:Je(k);if(!h&&k!==dt&&0!==k&&8!==k&&!T)throw new w("Compression method not supported");let U=fa(t,n,"level");if(Nt(U,9,"Invalid level (must be integer 0..9)"),t.options[Dt]){if(m!==dt||y!==dt)throw new w("Encryption is not supported in USDZ files");U===dt&&k===dt&&(U=0)}h&&(U=dt);let I=ca(t,n,bt),O=ca(t,n,"dataDescriptor");D&&O===dt&&(O=!1),(O===dt||x)&&(O=!0),U!==dt&&6!=U&&(I=!1);const M=ca(t,n,os);if(!(x||m===dt&&y===dt||s.isInteger(g)&&g>=1&&g<=3))throw new w("The strength must equal 1, 2, or 3");const _=Bi(n[ms]),L=Bi(n.localExtraField);return{comment:a,we:{rawFilename:i,rawComment:c,version:d,lastModDate:u,lastAccessDate:l,creationDate:f,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:g,zipCrypto:x,extendedTimestamp:S,ntfsTimestamp:b,keepOrder:z,useWebWorkers:F,transferStreams:E,bufferedWrite:D,createTempStream:R,dataDescriptorSignature:A,signal:v,useUnicodeFileNames:C,compressionMethod:k,format:T?T.format:dt,codecURI:T?T.codecURI:dt,Oe:T?T.versionNeeded:dt,level:U,useCompressionStream:I,dataDescriptor:O,zip64:M,rawExtraField:_,Me:L}}}function Bi(t){if(!t)return ht;if(!(t instanceof c))throw new w("Invalid extra field (must be a Map)");let e=0,n=0;t.forEach((t,n)=>{if(Mt(n,N,"Invalid extra field type (must be integer 0..65535)"),!(t instanceof f))throw new w("Invalid extra field data (must be a Uint8Array)");if(ba(t)>N)throw new w(Ri);e+=4+ba(t)});const r=new f(e),s=qt(r);return t.forEach((t,e)=>{ya(s,n,e),ya(s,n+2,ba(t)),Sa(r,t,n+4),n+=4+ba(t)}),r}function Vi(t,e,n,r,s){const{passThrough:i,zipCrypto:a,password:o,rawPassword:c,encryptionStrength:d}=r;let{dataDescriptor:u,zip64:l,level:f,compressionMethod:p}=r,h=0,m=0;if(i&&e){if(m=s[Hr],m===dt)throw new w("Undefined uncompressed size");if(p===dt)throw new w("Undefined compression method")}const y=!0===l,g=ca(t,s,cs);if(e&&i&&!g&&ba(o,c))throw new w("Encryption is not supported when the 'passThrough' option is set");const x=e&&(!!(o&&ba(o)||c&&ba(c))||i&&g);e||(f=0,p=0);const S=x?a?12:16+4*d:0;e&&(i?(s.uncompressedSize=m,h=n===dt?pa(m)+S:n):n===dt?(u=!0,(l||l===dt)&&(l=!0,m=h=4294967296)):(s.uncompressedSize=m=n,h=(ha(p,f)?pa(m):m)+S));const b=y||m>=M,z=y||h>=M;if(b||z){if(!1===l)throw new w(Ti);l=!0}return l=l||!1,{Ne:h,we:{dataDescriptor:u,zip64:l,de:b,ce:z,uncompressedSize:m,level:f,compressionMethod:p,encrypted:x}}}function Zi(t){const{rawFilename:e,lastModDate:n,lastAccessDate:r,creationDate:s,level:i,zip64:c,zipCrypto:d,useUnicodeFileNames:u,dataDescriptor:l,directory:f,rawExtraField:p,Me:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:x,encrypted:S,de:b,ce:z,uncompressedSize:F,crc32:E}=t;let{version:D,compressionMethod:R}=t;const A=!f&&ha(R,i);let v;const C=x||!A,k=c&&(t.bufferedWrite||!l||!b&&!z||C),T=k||c&&l&&(b||z);if(c&&(b||z)){const t=20,e=Yi(t);if(e.Ce(1),e.Ce(t-4),v=e.v,k&&(e.Ie(F),C)){const t=S?d?12:16+4*m:0;e.Ie(x?0:F+t)}}else v=ht;let U,I,O,M,_;if(S&&!d){const t=Yi(ba(Ii)+2);t.Ce(G),t.ke(Ii),U=t.v,U[8]=m}else U=ht;if(y){const t=ia(n),e=aa(t);if(e){const e=9+(r?4:0)+(s?4:0),n=Yi(e);M=1+(r?2:0)+(s?4:0),n.Ce(X),n.Ce(e-4),n._e(M),n.ve(t),r&&n.ve(oa(ia(r))),s&&n.ve(oa(ia(s))),O=n.v}else O=ht;if(g===dt?!e||r||s:g)try{const t=sa(n),e=Yi(36);e.Ce(10),e.Ce(32),e.Le(4),e.Ce(1),e.Ce(24),e.Ie(t),e.Ie(r?sa(r):t),e.Ie(s?sa(s):t),I=e.v}catch{I=ht}else I=ht}else I=O=ht;try{const{uid:e,gid:n,unixExtraFieldType:r}=t;if(r!=Oi||e===dt&&n===dt)if(r!=Mi||e===dt&&n===dt)_=ht;else{const t=Yi(8);t.Ce($),t.Ce(4),t.Ce((e===dt?0:e)&N),t.Ce((n===dt?0:n)&N),_=t.v}else{const t=qi(e),r=qi(n),s=3+t.length+r.length,i=Yi(4+s);i.Ce(Q),i.Ce(s),i._e(1),i._e(t.length),i.ke(t),i._e(r.length),i.ke(r),_=i.v}}catch{_=ht}R===dt&&(R=A?8:0);const{Oe:P}=t;A&&P!==dt&&(D=D>P?D:P),c&&(D=D>45?D:45),S&&!d&&(D=D>51?D:51,x&&E!==dt&&(U[4]=1),ya(qt(U),9,R),R=99);const W=T?ba(v):0,B=W+ba(U,O,I,_,p,h);if(B+(t[Dt]?67:0)>N)throw new w(Ri);const V=new o(2e3*a.ceil(a.floor(n.getTime()/1e3)/2)),{ae:Z,oe:H,rawLastModDate:q}=za({version:D,bitFlag:Fa(i,u,l,S,R),compressionMethod:R,uncompressedSize:F,lastModDate:V<ct?ct:V>ot?ot:V,rawFilename:e,ce:z,de:b,extraFieldLength:B}),j=Yi(at+ba(e)+B),K=j.v,Y=qt(K);return j.ve(L),j.ke(Z),j.ke(e),T&&j.ke(v),j.ke(U),j.ke(O),j.ke(I),j.ke(_),j.ke(p),j.ke(h),l&&(z||ga(Y,18,0),b||ga(Y,22,0)),{fe:K,Fe:Y,ae:Z,oe:H,lastModDate:n,rawLastModDate:q,encrypted:S,compressed:A,version:D,compressionMethod:R,le:M,ee:ht,Se:W,re:O,se:I,ie:_,ne:U,extraFieldLength:B}}function Hi(t,e){const{he:n}=t;let{fe:r,extraFieldLength:s}=n,i=64-(e+ba(r))%64;i<4&&(i+=64);const a=new f(i),o=qt(a);ya(o,0,J),ya(o,2,i-4);const c=r;n.fe=r=new f(ba(c)+i),Sa(r,c),Sa(r,a,ba(c));const d=qt(r);ya(d,28,s+i),n.Fe=d,t.xe+=i}function qi(t){if(t===dt)return ht;{const e=new f(4);qt(e).setUint32(0,t,!0);let n=4;for(;n>1&&0===e[n-1];)n--;return e.subarray(0,n)}}function ji({zip64:t,dataDescriptor:e,dataDescriptorSignature:n}){let r,s=ht,i=0,a=t?20:12;return n&&(a+=4),e&&(s=new f(a),r=qt(s),n&&(i=4,ga(r,0,W))),{pe:s,be:r,ze:i}}function Ki(t){let e=0;for(const[,n]of t){const{rawFilename:t,ne:r,rawComment:s,se:i,ie:a,rawExtraField:o,extendedTimestamp:c,le:d,lastModDate:u,de:l,ce:f,uncompressedSize:p,compressedSize:h}=n,m=n.offset>=M,y=n.diskNumberStart>=N;let g,x;if(m||y||l||f){const t=4+(l?8:0)+(f?8:0)+(m?8:0)+(y?4:0),e=Yi(t);e.Ce(1),e.Ce(t-4),l&&e.Ie(p),f&&e.Ie(h),m&&e.Ie(n.offset),y&&e.ve(n.diskNumberStart),g=e.v}else g=ht;n.ee=g,n.Ae=m,n.ue=y;const S=ia(u);if(c&&aa(S)){const t=Yi(9);t.Ce(X),t.Ce(5),t._e(d),t.ve(S),x=t.v}else x=ht;n.re=x;const b=ba(g,r,i,a,x,o);if(b>N)throw new w(Ri);e+=46+ba(t,s)+b}return e}function Yi(t){const e=new f(t),n=qt(e);let r=0;return{v:e,_e:t=>{((t,e,n)=>{t.setUint8(e,n)})(n,r,t),r+=1},Ce:t=>{ya(n,r,t),r+=2},ve:t=>{ga(n,r,t),r+=4},Ie:t=>{xa(n,r,i(t)),r+=8},ke:t=>{Sa(e,t,r),r+=ba(t)},Le:t=>r+=t}}function Gi(t){const{diskNumber:e=0}=t;return e}function Xi(t){const{diskOffset:e=0}=t;return e}function Ji(t,e){const{availableSize:n=ut}=t;return e>n}function Qi(t,{diskNumber:e=0,diskOffset:n=0}){return t.offset-n-(e?t.Jt:0)}async function $i(t,e,n,r){if(r>0){const{writer:s}=t;await Ye(e,{offset:n,size:r}).pipeTo(s.writable,{preventClose:!0,preventAbort:!0}),s.size+=r,t.offset+=r}}async function ta(t,e){const n=await Ke(t,e,at);if(ba(n)<at)return at;const r=qt(n);return at+ma(r,26)+ma(r,28)}function ea(t,{offset:e,diskNumberStart:n}){return e+(t.O?t.O(n):0)}function na(){const t=new f(4);return ga(qt(t),0,P),t}async function ra(t,e){const{writable:n}=t,r=n.getWriter();try{await r.ready,t.size+=ba(e),await r.write(e)}finally{r.releaseLock()}}function sa(t){if(t){const e=(i(t.getTime())+i(116444736e5))*i(1e4);return e<Ci?Ci:e>ki?ki:e}}function ia(t){return a.floor(t.getTime()/1e3)}function aa(t){return t>=Ai&&t<=vi}function oa(t){return a.min(vi,a.max(Ai,t))}function ca(t,e,n,r){const s=e[n]===dt?t.options[n]:e[n];return s===dt?r:s}function da(t,e,n,r){const i=ca(t,e,n,r);if(null===i)return r;if(i!==dt&&(typeof i.getTime!=wt||s.isNaN(i.getTime())))throw new w("Invalid date (must be a valid Date instance)");return i}function ua(t,e,n){return Ut(ca(t,e,n))}function la(t,e,n,r,s){const i=wa(e,n,r),a=i===dt?wa(t.options,n,r):i;return a===dt?s:a}function wa(t,e,n){return t[e]===dt?t[n]:t[e]}function fa(t,e,n,r){return _t(ca(t,e,n,r))}function pa(t){return t+5*(a.floor(t/16383)+1)}function ha(t,e){return t===dt?e===dt||e>0:0!==t}function ma(t,e){return t.getUint16(e,!0)}function ya(t,e,n){t.setUint16(e,n,!0)}function ga(t,e,n){t.setUint32(e,n,!0)}function xa(t,e,n){t.setBigUint64(e,n,!0)}function Sa(t,e,n){t.set(e,n)}function ba(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function za({version:t,bitFlag:e,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,ce:c,de:d,extraFieldLength:u}){const l=Yi(26),w=l.v,f=qt(w);if(l.Ce(t),l.Ce(e),l.Ce(n),a===dt){const t=new h(1),e=qt(t);ya(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),ya(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=t[0]}return l.ve(a),l.Le(4),c||s!==dt?l.ve(c?M:s):l.Le(4),d||r!==dt?l.ve(d?M:r):l.Le(4),l.Ce(ba(o)),l.Ce(u),{ae:w,oe:f,rawLastModDate:a}}function Fa(t,e,n,r,s){let i=0;return e&&(i|=tt),n&&(i|=8),8!=s&&9!=s||(t>=0&&t<=3&&(i|=6),t>3&&t<=5&&(i|=4),9==t&&(i|=2)),r&&(i|=1),i}const Ea="Entry filename already exists",Da="Readable stream already consumed",Ra="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",Aa="Invalid readerOptions (must be an object)",va="zipjs-abort-export",Ca="The operation was aborted",ka=new d([1,G,10,X,28789,25461,J,Q,$,22613,13]);class Ta{constructor(t,e,r,s){const i=this;if(t.root&&s&&s.getChildByName(e))throw new w(Ea);r||(r={}),n.assign(i,{fs:t,name:e,data:r.data,options:r.options&&n.assign({},r.options),id:t.Pe++,parent:s,children:[],uncompressedSize:r.uncompressedSize||0,We:r.We||r.uncompressedSize===dt,passThrough:r.passThrough,Be:r.Be||new o}),!s&&t.root||(t.entries[i.id]=i),s&&i.parent.children.push(i)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,n=this.parent;for(;n&&n!=t;)e=(n.name?n.name+"/":"")+e,n=n.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return!!e}rename(t){const e=this.parent;if(e&&e.getChildByName(t))throw new w(Ea);this.name=t}setOptions(t){const e=n.assign({},this.options,t);this.options=n.fromEntries(n.entries(e).filter(([,t])=>t!==dt))}}class Ua extends Ta{constructor(t,e,n,r){super(t,e,n,r);const s=this;s.Reader=n.Reader,s.Writer=n.Writer,n.getData&&(s.getData=n.getData)}clone(){return new Ua(this.fs,this.name,this)}async getData(t,e={}){const n=this;if(!t||t.constructor==n.Writer&&n.data&&((t,e)=>{const{contentType:n}=t;return n===dt||(t.constructor==me?e.type==n:t.constructor!=we||e.startsWith(t.data))})(t,n.data))return n.data;{const r=n.reader=Ba(n.Reader,n.data,e),s=n.uncompressedSize||r.size;await g.all([qe(r),qe(t,s)]);const i=It(e.signal),a=((t,e,n,r)=>{const{onstart:s,onprogress:i,onend:a}=n,{readable:o}=e;return t.data instanceof zs||!s&&!i&&!a?o:jt(o).pipeThrough(new Ar({onstart:s,onprogress:i,onend:a,size:e.size}),{signal:r})})(n,r,e,i),o=!He(t)&&!!e.preventClose;return n.uncompressedSize=r.size,await jt(a).pipeTo(Yt(t.writable),{signal:i,preventClose:o,preventAbort:o}),t.getData?t.getData():t.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,n.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(t.message==yn)return!1;throw t}}getText(t,e){return this.getData(new xe(t),e)}getBlob(t,e){return this.getData(new me(t),e)}getData64URI(t,e){return this.getData(new we(t),e)}getUint8Array(t){return this.getData(new Pe,t)}getWritable(t=new R,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return Ht(await this.getUint8Array(t)).buffer}replaceBlob(t){n.assign(this,{data:t,Reader:he,Writer:me,reader:null})}replaceText(t){n.assign(this,{data:t,Reader:ye,Writer:xe,reader:null})}replaceData64URI(t){n.assign(this,{data:t,Reader:le,Writer:we,reader:null})}replaceUint8Array(t){n.assign(this,{data:t,Reader:Le,Writer:Pe,reader:null})}replaceReadable(t){n.assign(this,{data:null,Reader:Pa(t),Writer:null,reader:null})}}class Ia extends Ta{constructor(t,e,n,r){super(t,e,n,r),this.directory=!0}clone(t){const e=this,n=new Ia(e.fs,e.name,e);return t&&(n.children=e.children.map(e=>{const r=e.clone(t);return r.parent=n,r})),n}addDirectory(t,e){return $a(this,t,{options:e},!0)}addText(t,e,n={}){return $a(this,t,{data:e,Reader:ye,Writer:xe,options:n,uncompressedSize:ge(e)})}addBlob(t,e,n={}){return $a(this,t,{data:e,Reader:he,Writer:me,options:n,uncompressedSize:e.size})}addData64URI(t,e,n={}){let r=e.length;for(;"="==e.charAt(r-1);)r--;const s=e.indexOf(",")+1;return $a(this,t,{data:e,Reader:le,Writer:we,options:n,uncompressedSize:a.floor(.75*(r-s))})}addUint8Array(t,e,n={}){return $a(this,t,{data:e,Reader:Le,Writer:Pe,options:n,uncompressedSize:e.length})}addHttpContent(t,e,n={}){return $a(this,t,{data:e,Reader:class extends _e{constructor(t){super(t,n)}},options:n})}addReadable(t,e,n={}){return $a(this,t,{Reader:Pa(e),options:n})}addFileSystemEntry(t,e={}){return Xa(this,t,e)}addFileSystemHandle(t,e={}){return Xa(this,t,e)}addFile(t,e={}){return(e=n.assign({},e)).lastModDate||(e.lastModDate=new o(t.lastModified)),$a(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}importBlob(t,e){return this.importZip(new he(t),e)}importData64URI(t,e){return this.importZip(new le(t),e)}importUint8Array(t,e){return this.importZip(new Le(t),e)}importHttpContent(t,e){return this.importZip(new _e(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new me(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new we(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new Pe,t)}async exportWritable(t=new R,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return(async(t,e,r)=>{const{onstart:s,onprogress:i,onend:a}=r,o=Ka(r.readerOptions),c=new AbortController,{signal:d}=c,u=((t,e)=>{if(!It(t))return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const n=()=>e.abort(t.reason);return t.addEventListener("abort",n,{once:!0}),()=>t.removeEventListener("abort",n)})(r.signal,c),l=n.assign({},r,o,{signal:d,onstart:dt,onprogress:dt,onend:dt,preventClose:!1}),f=Na([t],t=>La(t,l.passThrough)),p=[];let h=!1,m=0;try{s&&await vr(s,f),await x(t,e),a&&await vr(a,m)}catch(t){try{t.exportedEntryNames=p}catch{}throw t}finally{u()}return e;function y(t){const e=t.getWriter();return new R({async write(t){await e.write(t),m+=t.length,i&&await vr(i,m,f)},close:()=>e.close(),abort:t=>e.abort(t)})}async function x(t,e){if(r.concurrent){const n=(await g.allSettled(t.children.map(t=>S(t,e)))).filter(t=>"rejected"==t.status);if(n.length){const t=n.filter(t=>!Ha(t.reason));throw(t=>{const[e]=t,n=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(n.length)try{e.entryErrors=[...e.entryErrors||[],...n]}catch{}return e})((t.length?t:n).map(t=>t.reason))}}else for(const n of t.children)await S(n,e)}async function S(e,n){if(d.aborted){if(h||Ha(d.reason))return;throw d.reason===dt?new DOMException(Ca,"AbortError"):d.reason}try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await x(e,t)}else{const r=await n.getFileHandle(e.name,{create:!0}),s=await r.createWritable();try{await e.getData({writable:y(s)},l)}catch(t){throw h?new w(va):t}p.push(e.getRelativeName(t))}}catch(n){h=!0,c.abort(new w(va));try{n.entryName===dt&&(n.entryName=e.getRelativeName(t),n.entryId=e.id)}catch{}throw n}}})(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==wt?(r=t,e=n.assign({},r.options,e)):(await qe(t),r=new js(t,e));const s=[],i=await r.getEntries(e);for(const t of i){let r=this;try{const i=t.filename.split("/").filter(t=>""!=t&&"."!=t),a=i.pop();if(i.forEach(t=>{const e=r;if(r=r.getChildByName(t),r){if(!r.directory)throw new w(Ea)}else r=new Ia(this.fs,t,{data:null},e),s.push(r)}),t.directory){let e=r;if(a)if(e=r.getChildByName(a),e){if(!e.directory)throw new w(Ea)}else e=new Ia(this.fs,a,{data:null},r),s.push(e);e==this||e.data||(e.data=t)}else s.push($a(r,a,{data:t,Reader:Wa(n.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}catch(e){try{e.cause={entry:t}}catch{}throw e}}return s}async exportZip(t,e={}){const r=this;(e=n.assign({},e)).bufferedWrite===dt&&(e.bufferedWrite=!0);const[s]=await g.all([Va(r,Ka(e.readerOptions)),qe(t)]),i=new Li(t,e);return await(async(t,e,r,s,i)=>{const{onstart:a,onprogress:o,onend:c,onentryprogress:d}=s,u=e,l=Na(e.children,t=>Ga(t)?0:1);let w=0,f=0;if(a&&await vr(a,r),s.bufferedWrite)await async function t(e){const n=(await g.allSettled(e.children.map(async e=>{await p(e),await t(e)}))).find(t=>"rejected"==t.status);if(n)throw n.reason}(e);else for(const t of e.getChildren({recursive:!0}))await p(t);async function p(e){if(Ga(e))return;const{name:a,Ve:c}=qa(e,u,s);let p=0;const h=await t.add(a,i.get(e),n.assign(c,{onstart:dt,onend:dt,onprogress:async t=>{w+=t-p,p=t,o&&await vr(o,w,r)}}));f++,d&&await vr(d,f,l,h)}c&&await vr(c,w)})(i,r,Na([r],_a),e,s),await i.close(e.globalComment),t.getData?t.getData():t.writable}getExportedSize(t={}){const e=this;Ka((t=n.assign({},t)).readerOptions),t.bufferedWrite===dt&&(t.bufferedWrite=!0);const r=!t.bufferedWrite||!1!==t.keepOrder&&e.children.every(t=>!t.children.length);return(async(t,e,r,s)=>{const i={options:t};if(Ut(t[Rt]))throw new w(Ui);if(s!==dt&&!(s instanceof f))throw new w(Ei);const o=ba(s);if(o>N)throw new w(Fi);const d=t[Dt],u=new c;let l=!!d;const p=t[Et]===dt?0:t[Et];let h=p,m=ut;for(const t of e){let{name:e}=t;const{size:r}=t,s=n.assign({},t.options);e=e.trim(),ca(i,s,ws)&&!e.endsWith(it)&&(e+=it);const o=Pi(i,e,s);({name:e}=o);const{we:c}=Wi(i,e,s);0==c.level||c.compressionMethod!==dt||c.passThrough||await Dr(Wt())||(c.level=0);const l=!ca(i,s,ws);if(l&&r===dt)throw new w(Ui);const{Ne:f,we:p}=Vi(i,l,r,c,s);if(l&&!c.passThrough&&ha(p.compressionMethod,p.level))throw new w(Ui);const y=n.assign({},s,o.we,c,p,{[Dt]:d}),g=Zi(y),x=ji(y),S={he:g,xe:ba(g.fe,x.pe)};d&&Hi(S,h);const b=l?f:0;u.set(e,n.assign({},y,g,{offset:h,diskNumberStart:0,compressedSize:b}));const z=S.xe+b;m=a.min(m,z),h+=z}if(u.size&&h-m>=M&&(l=!0),l&&!r)throw new w(Ui);const y=Ki(u);let g=ca(i,t,os);if(h>=M||y>=M||u.size>=N){if(!1===g)throw new w(Ti);g=!0}return h-p+y+o+(g?98:j)})(t,e.getChildren({recursive:!0}).filter(t=>!Ga(t)).map(n=>{const{name:r,Ve:s}=qa(n,e,t);return{name:r,size:n.directory?0:ja(n,Ya(n,t)),options:s}}),r,t.globalComment)}getChildByName(t){const e=this.children;for(let n=0;n<e.length;n++){const r=e[n];if(r.name==t)return r}}getChildren(t={}){return((t,e)=>{const n=[],r=[t];let s=0;for(;s<r.length;)for(const t of r[s++].children)n.push(t),e&&r.push(t);return n})(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const n=this.children;return!(await g.all(n.map(n=>n.checkPassword(t,e)))).includes(!1)}}class Oa{constructor(){Qa(this)}get children(){return this.root.children}remove(t){Za(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const n of t.children)e.push(n)}t.parent=dt}move(t,e){if(t==this.root)throw new w("Root directory cannot be moved");if(!e.directory)throw new w("Target entry is not a directory");if(e.isDescendantOf(t))throw new w("Entry is a ancestor of target entry");if(t!=e){const n=e.getChildByName(t.name);if(n){if(n!=t)throw new w(Ea)}else Za(t),t.parent=e,e.children.push(t),((t,e)=>{const n=[e];for(;n.length;){const e=n.pop();t.entries[e.id]=e;for(const t of e.children)n.push(t)}})(this,t)}}find(t){const e=t.split("/");let n=this.root;for(let t=0;n&&t<e.length;t++)n=n.getChildByName(e[t]);return n||(n=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),n}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,n){return this.root.addText(t,e,n)}addBlob(t,e,n){return this.root.addBlob(t,e,n)}addData64URI(t,e,n){return this.root.addData64URI(t,e,n)}addUint8Array(t,e,n){return this.root.addUint8Array(t,e,n)}addHttpContent(t,e,n){return this.root.addHttpContent(t,e,n)}addReadable(t,e,n){return this.root.addReadable(t,e,n)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}importBlob(t,e){return Qa(this),this.root.importBlob(t,e)}importData64URI(t,e){return Qa(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return Qa(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return Qa(this),this.root.importHttpContent(t,e)}importReadable(t,e){return Qa(this),this.root.importReadable(t,e)}importZip(t,e){return Qa(this),this.root.importZip(t,e)}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}}const Ma={FS:Oa,ZipDirectoryEntry:Ia,ZipFileEntry:Ua};function Na(t,n){let r=0;const s=e.from(t);for(;s.length;){const t=s.pop();r+=n(t)||0;for(const e of t.children)s.push(e)}return r}function _a(t){return t.uncompressedSize}function La(t,e){const{data:n}=t;return e&&n instanceof zs?n.compressedSize:t.uncompressedSize}function Pa(t){let e;return()=>{if(e)throw new w(Da);return e=!0,{readable:t}}}function Wa(t){return class extends de{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=n.assign({},t,e.options),{checkOverlappingEntry:s,checkOverlappingEntryOnly:i}=r,a=await e.entry.getData(new me,n.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:i||s,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=a,e.Ze=new he(a),e.size=a.size,super.init()}readUint8Array(t,e){return this.Ze.readUint8Array(t,e)}}}function Ba(t,e,n){return t.prototype?new t(e,n):t(e,n)}async function Va(t,e){const n=[],r=[t],s=new c;for(;r.length;){const t=r.pop();for(const e of t.children)e.directory?r.push(e):n.push(e)}return await g.all(n.map(async t=>{const n=t.reader=Ba(t.Reader,t.data,e);s.set(t,n);try{await qe(n)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}n.size!==dt&&(t.uncompressedSize=n.size,t.We=!1)})),s}function Za(t){if(t.parent){const e=t.parent.children;e.forEach((n,r)=>{n.id==t.id&&e.splice(r,1)})}}function Ha(t){return!!t&&t.message==va}function qa(t,e,r){const s=r.relativePath?t.getRelativeName(e):t.getFullname(),i=t.options||{};let a={},o={};if(t.data instanceof zs){const{externalFileAttributes:e,versionMadeBy:s,comment:i,lastModDate:d,creationDate:u,lastAccessDate:l,uncompressedSize:w,encrypted:f,zipCrypto:p,crc32:h,compressionMethod:m,extraFieldAES:y,internalFileAttributes:g,extraField:x,uid:S,gid:b}=t.data;a={externalFileAttributes:e,versionMadeBy:s,comment:i,lastModDate:d,creationDate:u,lastAccessDate:l,internalFileAttributes:g};const z=(t=>{if(t){const e=new c;if(t.forEach((t,n)=>{ka.has(n)||e.set(n,t.data)}),e.size)return e}})(x);if(z&&(a.extraField=z),S===dt&&b===dt||n.assign(a,{uid:S,gid:b,unixExtraFieldType:"infozip"}),Ya(t,r)){let t;y&&(t=y.strength),o={passThrough:!0,encrypted:f,zipCrypto:p,crc32:h,uncompressedSize:w,encryptionStrength:t,compressionMethod:m}}}const d=n.assign({lastModDate:t.Be},a,r,i,o,{directory:t.directory});if(!t.directory&&d.passThrough&&d.uncompressedSize===dt)throw new w(Ra);return{name:s,Ve:d}}function ja(t,e){const{reader:n}=t;return n&&n.size!==dt?n.size:t.We?dt:La(t,e)}function Ka(t){if(t&&(typeof t!=ft||e.isArray(t)))throw new w(Aa);return t}function Ya(t,e){const{readerOptions:n}=e;return!(t.directory||!(t.passThrough||n&&n.passThrough))}function Ga(t){return t.directory&&null===t.data}function Xa(t,e,r){return async function t(e,s,i,a=""){if(s){const c=a?a+"/"+s.name:s.name;try{if((s.isFile||s.isDirectory)&&(s=await Ja(s)),"file"==s.kind){const t=await s.getFile();i.push($a(e,t.name,{Reader:()=>({readable:t.stream(),size:t.size}),options:n.assign({},{lastModDate:new o(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==s.kind){const n=e.addDirectory(s.name,r);i.push(n);for await(const e of s.values())await t(n,e,i,c)}}catch(t){try{t.entryName===dt&&(t.entryName=c)}catch{}throw t}}return i}(t,e,[])}async function Ja(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new g((e,n)=>t.file(e,n))),t.isDirectory){e.kind="directory";const n=await(async t=>{const e=[];function n(t,r,s){t.readEntries(async i=>{if(i.length){for(const t of i)e.push(await Ja(t));n(t,r,s)}else r(e)},s)}return await new g((e,r)=>n(t.createReader(),e,r)),{[T.iterator](){let t=0;return{next(){const n={value:e[t],done:t==e.length};return t++,n}}}}})(t);e.values=()=>n}return e}function Qa(t){t.entries=[],t.Pe=0,t.root=new Ia(t)}function $a(t,e,n,r){if(t.directory)return r?new Ia(t.fs,e,n,t):new Ua(t.fs,e,n,t);throw new w("Parent entry is not a directory")}t.ERR_ABORTED=Ca,t.ERR_ENTRY_EXISTS=Ea,t.ERR_INVALID_PASS_THROUGH=Ra,t.ERR_INVALID_READER_OPTIONS=Aa,t.ERR_READABLE_CONSUMED=Da,t.ZipDirectoryEntry=Ia,t.ZipEntry=Ta,t.ZipFS=Oa,t.ZipFileEntry=Ua,t.fs=Ma});
1
+ ((t,e)=>{"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})})(this,function(t){"use strict";const{Array:e,Object:n,String:r,Number:s,BigInt:i,Math:a,Date:o,Map:c,Set:d,Response:u,URL:l,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:x,TextDecoder:S,document:b,crypto:z,btoa:E,TransformStream:F,ReadableStream:D,WritableStream:R,CompressionStream:A,DecompressionStream:v,navigator:C,Worker:T,Symbol:k,setTimeout:U,clearTimeout:I,structuredClone:O}="undefined"!=typeof globalThis?globalThis:this||self,M=4294967295,N=65535,_=255,L=67324752,P=134695760,W=P,B=84233040,V=33639248,Z=101010256,H=101075792,q=117853008,j=22,K=20,Y=56,G=39169,X=21589,J=6534,Q=30837,$=30805,tt=2048,et=61440,nt=16384,rt=2048,st=1024,it="/",at=30,ot=new o(2107,11,31,23,59,58),ct=new o(1980,0,1),dt=void 0,ut=1/0,lt="undefined",wt="function",ft="object",pt="string",ht=new f,mt="password",yt="rawPassword",gt="passThrough",xt="signal",St="useWebWorkers",bt="useCompressionStream",zt="transferStreams",Et="preventClose",Ft="dataDescriptor",Dt="offset",Rt="usdz",At="signCentralDirectory",vt="filename",Ct="comment",Tt="strict",kt="balanced",Ut="tolerant";function It(t){if(t&&typeof t!=wt)throw new w("Invalid option (must be a function)");return t}function Ot(t){if(t&&(typeof t.addEventListener!=wt||"boolean"!=typeof t.aborted))throw new w("Invalid signal (must be an AbortSignal instance)");return t||dt}function Mt(t,e){if(t&&typeof t!=pt||e&&!(e instanceof f))throw new w("Invalid password (password must be a string, rawPassword must be a Uint8Array)")}function Nt(t,e,n){if(!s.isInteger(t)||t<0||t>e)throw new w(n)}function _t(t,e,n){t!==dt&&Nt(t,e,n)}function Lt(t){return typeof t==pt&&t.trim()?s(t):t}let Pt=2;try{typeof C!=lt&&C.hardwareConcurrency&&(Pt=C.hardwareConcurrency)}catch{}const Wt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Pt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=lt&&A,DecompressionStream:typeof v!=lt&&v};function Bt(){return Wt}function Vt(t){return Zt(t.chunkSize)}function Zt(t){return t=Lt(t),s.isInteger(t)&&t>=1?a.max(t,64):65536}function Ht(t,e){const n=new f(t.length+e.length);return n.set(t),n.set(e,t.length),n}function qt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new f(t):t}function jt(t){return new m(t.buffer,t.byteOffset,t.byteLength)}function Kt(t){if(t instanceof D)return t;const e=t.getReader();return new D({async pull(t){const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}function Yt(t,e){t=Kt(t);const n=e?{type:e}:{};if(typeof y.prototype.stream!=wt||new y([]).stream()instanceof D)return new u(t).blob().then(t=>e?new y([t],n):t);const r=[];return t.pipeTo(new R({write(t){r.push(t)}})).then(()=>new y(r,n))}function Gt(t){if(t instanceof R)return t;const e=t.getWriter();return new R({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Xt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Jt(t,e){return Qt(t,e,!0)}function Qt(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let n=0;n<t.length;n++)e+=Xt[t[n]];return e}})(t):new S(e,{ignoreBOM:n}).decode(t)}const $t="HTTP error ",te="HTTP Range not supported",ee="HTTP resource changed",ne="Content-Range",re="Range",se="GET",ie="bytes",ae=16777216,oe="writable",ce=k();class de{constructor(){this.size=0}init(){this.initialized=!0}}class ue extends de{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=Vt(Bt())}={}){const r=this;let s=0;return n=Zt(n),new D({async pull(i){const o=e===dt?n:a.min(n,e-s),c=await Ye(r,t+s,o);c.length&&i.enqueue(c),s+n>=e||!c.length&&o?i.close():s+=n}})}}class le extends de{constructor(){super();const t=this,e=new R({write(e){if(!t.initialized)throw new w("Writer not initialized");return t.writeUint8Array(qt(e))}});n.defineProperty(t,oe,{get:()=>e})}writeUint8Array(){}}class we extends ue{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;n.assign(this,{o:t,l:r,size:a.floor(.75*(e-r))})}readUint8Array(t,e){const{l:n,o:r}=this,s=new f(e),i=4*a.floor(t/3),o=atob(r.substring(i+n,4*a.ceil((t+e)/3)+n)),c=t-3*a.floor(i/4);let d=0;for(let t=c;t<c+e&&t<o.length;t++)s[t-c]=o.charCodeAt(t),d++;return d<s.length?s.subarray(0,d):s}}class fe extends le{constructor(t){super(),n.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",h:""})}writeUint8Array(t){const e=this;let n,s=e.h;const i=e.h.length;for(e.h="",n=0;n<3*a.floor((i+t.length)/3)-i;n++)s+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.h+=r.fromCharCode(t[n]);s.length>2?e.data+=E(s):e.h=s+e.h}getData(){return this.data+E(this.h)}}let pe,he;class me extends ue{constructor(t){super(),n.assign(this,{m:t,size:t.size}),he||(he=(async()=>{try{const t=new y([new f(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();pe=1==e}catch{pe=!1}})())}createReadable(t){const{m:e,size:n}=this,{offset:r=0,size:s=n-r}=t||{};return!r&&s>=n?Kt(e.stream()):pe?Kt(e.slice(r,r+s).stream()):super.createReadable(t)}async readUint8Array(t,e){const n=this,r=t+e,s=!t&&r>=n.size?n.m:n.m.slice(t,r);let i=await s.arrayBuffer();return i.byteLength>e&&(i=i.slice(t,r)),new f(i)}}class ye extends de{constructor(t){super();const e=this,r=new F;n.defineProperty(e,oe,{get:()=>r.writable}),e.contentType=t,e.S=Yt(r.readable,t),e.S.catch(()=>{})}getData(){return this.S}}class ge extends me{constructor(t){super(new y([t],{type:"text/plain"}))}}function xe(t){let e=0;for(let n=0;n<t.length;n++){const r=t.charCodeAt(n);r<128?e+=1:r<2048?e+=2:r<55296||r>=57344?e+=3:r<56320&&56320==(64512&t.charCodeAt(n+1))?(e+=4,n++):e+=3}return e}class Se extends ye{constructor(t){super(),n.assign(this,{encoding:t,F:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,F:e}=this,n=await super.getData();return n.text&&e?n.text():((t,e)=>Qt(t,e,!1))(new f(await n.arrayBuffer()),t)}}class be extends ue{constructor(t,e){super(),Ee(this,t,e)}async init(){await Fe(this,Ne,Ue),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=e;if((n||r)&&i!==dt){const{offset:n=0,size:r=i-n}=t||{};if(r>0&&n<i)return((t,e,n)=>{let r,i=e,o=0,c=n;return new D({start:()=>d(),async pull(t){r||await d();const{value:e,done:n}=await r.read();if(n)throw new w(te);const s=e.length>o?e.subarray(0,o):e;o-=s.length,c-=s.length,s.length&&t.enqueue(s),o||(await(async()=>{const t=r;r=dt,await t.cancel()})(),c||t.close())},cancel:t=>r&&r.cancel(t)});async function d(){const e=a.min(t.maximumRangeSize,c),n=await Ne(se,t,Te(t,i,e));if(206!=n.status)throw new w(te);const d=n.headers.get(ne);if(d){const t=s(d.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=i)throw new w(te)}Ce(t,n),ve(t,n),i+=e,o=e,r=n.body.getReader()}})(e,n,a.min(r,i-n))}return super.createReadable(t)}readUint8Array(t,e){return De(this,t,e,Ne,Ue)}}class ze extends ue{constructor(t,e){super(),Ee(this,t,e)}async init(){await Fe(this,_e,Ie),super.init()}readUint8Array(t,e){return De(this,t,e,_e,Ie)}}function Ee(t,e,r){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:d=ae,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(t,{url:e,options:r,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:d,fetch:u})}async function Fe(t,e,n){const{url:r,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=t;if((t=>{const{baseURI:e}=Bt(),{protocol:n}=new l(t,e);return"http:"==n||"https:"==n})(r)&&(i||a)&&(typeof s==lt||s)){const r=await e(se,t,Te(t,o?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==ie))throw new w(te);{if(o){const e=new f(await r.arrayBuffer());206==r.status&&e.length==j&&(t.D=e)}ve(t,r);const s=Re(r);s===dt?await Me(t,e,n):t.size=s}}else await Me(t,e,n)}async function De(t,e,n,r,i){const{useRangeHeader:a,forceRangeRequests:o,D:c,size:d,options:u}=t;if(a||o){if(c&&e==d-j&&n==j)return c;if(e>=d||0===n)return ht;{e+n>d&&(n=d-e);const i=await r(se,t,Te(t,e,n));if(206!=i.status)throw new w(te);const a=i.headers.get(ne);if(a){const t=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=e)throw new w(te)}Ce(t,i),ve(t,i);const o=new f(await i.arrayBuffer());if(o.length!=n)throw new w(te);return o}}{const{data:r}=t;return r||await i(t,u),t.data.subarray(e,e+n)}}function Re(t){const e=t.headers.get(ne);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=s(t);if(!s.isNaN(e))return e}}}function Ae({headers:t}){return{R:t.get("Etag")||dt,lastModified:t.get("Last-Modified")||dt}}function ve(t,e){const{checkResourceChanges:n,A:r}=t;n&&!r&&206==e.status&&(t.A=Ae(e))}function Ce(t,e){const{checkResourceChanges:r,A:s,size:i}=t;if(r){const t=Re(e);if(t!==dt&&i!==dt&&t!=i)throw new w(ee);if(s){const t=Ae(e);if(n.entries(s).some(([e,n])=>n!==dt&&t[e]!==dt&&n!=t[e]))throw new w(ee)}}}function Te(t,e=0,r=1){return n.assign({},ke(t),{[re]:ie+"="+(e<0?e:e+"-"+(e+r-1))})}function ke({options:t}){const{headers:e}=t;if(e)return k.iterator in e?n.fromEntries(e):e}async function Ue(t){await Oe(t,Ne)}async function Ie(t){await Oe(t,_e)}async function Oe(t,e){const n=await e(se,t,ke(t));t.data=new f(await n.arrayBuffer()),t.size=t.data.length}async function Me(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,ke(t)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?t.size=s(i):await n(t,t.options)}}async function Ne(t,{fetch:e=fetch,options:r,url:s},i){const a=await e(s,n.assign({},r,{method:t,headers:i}));if(a.status<400)return a;throw 416==a.status?new w(te):new w($t+(a.statusText||a.status))}function _e(t,{url:e},r){return new g((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status<400){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(t)})}else i(416==a.status?new w(te):new w($t+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>i(t.detail?t.detail.error:new w("Network error")),!1),a.open(t,e),r)for(const t of n.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class Le extends ue{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new ze(t,e):new be(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Pe extends ue{constructor(t){super(),t=new f(t.buffer,t.byteOffset,t.byteLength),n.assign(this,{v:t,size:t.length})}readUint8Array(t,e){return this.v.slice(t,t+e)}}class We extends le{constructor(t){super(),this.C=t||262144}init(t=0){n.assign(this,{offset:0,v:new f(t>0?t:this.C)}),super.init()}writeUint8Array(t){const e=this,n=e.offset+t.length;if(n>e.v.length){let t=e.v.length?2*e.v.length:e.C;for(;t<n;)t*=2;const r=e.v;e.v=new f(t),e.v.set(r)}e.v.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.v.length?this.v:this.v.slice(0,this.offset)}}class Be extends ue{constructor(t){super(),this.T=t}async init(){const t=this;t.U=0;const e=t.T=await g.all(t.T.map(Ke));t.I=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}O(t){const{I:e,size:n}=this,r=e[t];return r===dt?n:r}async readUint8Array(t,e){const n=this,{T:r}=this;let s,i=0,o=t;for(;r[i]&&o>=r[i].size;)o-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(o+e<=r)s=await Ye(c,o,e);else{const i=r-o;s=Ht(await Ye(c,o,i),await n.readUint8Array(t+i,e-i))}}else s=ht;return n.U=a.max(i,n.U),s}}class Ve extends de{constructor(t,e=4294967295){super();const r=this;let s,i,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new R({async write(e){if(e===ce)return void(a&&await d());const{availableSize:n}=r;if(a)e.length>=n?(await c(e.subarray(0,n)),await d(),e.length>n&&await this.write(e.subarray(n))):await c(e);else{const{value:n,done:o}=await t.next();if(o&&!n)throw new w("Writer iterator completed too soon");s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await je(s),i=n.writable,a=i.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await u())},async abort(t){a&&await a.abort(t)}});async function c(t){const e=t.length;e&&(await a.ready,await a.write(t),s.size+=e,r.availableSize-=e)}async function d(){await u(),r.diskOffset+=s.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function u(){await a.close()}n.defineProperty(r,oe,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(ce)}finally{t.releaseLock()}}}class Ze{constructor(t){return e.isArray(t)&&(t=new Be(t)),(t instanceof D||typeof t.getReader==wt)&&(t={readable:Kt(t)}),t}}class He{constructor(t){return t.writable===dt&&typeof t.next==wt&&(t=new Ve(t)),(t instanceof R||typeof t.getWriter==wt)&&(t={writable:Gt(t)}),t.size===dt&&(t.size=0),t}}function qe(t){return!(!t||!t.getData)}async function je(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}async function Ke(t){return t=new Ze(t),await je(t),t.size!==dt&&t.readUint8Array||(t=new me(await Yt(t.readable)),await je(t)),t}function Ye(t,e,n){return t.readUint8Array(e,n)}function Ge(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?ue.prototype.createReadable.call(t,e):t.readable}const Xe=new c,Je=new c;function Qe(t){return Xe.get(t)}function $e(t){return Je.get(t)}const tn=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;tn[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const n=tn[e-1][t];tn[e][t]=n>>>8^tn[0][255&n]}const[en,nn,rn,sn,an,on,cn,dn]=tn;class un{constructor(t){this.M=t||-1}append(t){let e=0|this.M;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const s=new m(t.buffer,t.byteOffset,n),i=n-8;for(;r<=i;r+=8){const t=e^s.getInt32(r,!0),n=s.getInt32(r+4,!0);e=dn[255&t]^cn[t>>>8&255]^on[t>>>16&255]^an[t>>>24&255]^sn[255&n]^rn[n>>>8&255]^nn[n>>>16&255]^en[n>>>24&255]}}for(;r<n;r++)e=e>>>8^en[255&(e^t[r])];this.M=e}get(){return~this.M}}class ln extends F{constructor(){let t;const e=new un;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new f(4);new m(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function wn(t){if(typeof x==lt){const e=new f((t=unescape(encodeURIComponent(t))).length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new x).encode(t)}const fn={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=fn.N(n);return 32===r?t.concat(e):fn._(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+fn.N(n)},L(t,e){if(32*t.length<e)return t;const n=(t=t.slice(0,a.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=fn.P(e,t[n-1]&2147483648>>e-1,1)),t},P:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,N:t=>a.round(t/1099511627776)||32,_(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let s=0;s<t.length;s++)r.push(n|t[s]>>>e),n=t[s]<<32-e;const s=t.length?t[t.length-1]:0,i=fn.N(s);return r.push(fn.P(e+i&31,e+i>32?n:r.pop(),1)),r}},pn={bytes:{W(t){const e=fn.bitLength(t)/8,n=new f(e);let r;for(let s=0;s<e;s++)3&s||(r=t[s/4]),n[s]=r>>>24,r<<=8;return n},B(t){const e=[];let n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(fn.P(8*(3&n),r)),e}}},hn=class{constructor(t){const e=this;e.blockSize=512,e.V=[1732584193,4023233417,2562383102,271733878,3285377520],e.Z=[1518500249,1859775393,2400959708,3395469782],t?(e.H=t.H.slice(0),e.j=t.j.slice(0),e.K=t.K):e.reset()}reset(){const t=this;return t.H=t.V.slice(0),t.j=[],t.K=0,t}update(t){const e=this;"string"==typeof t&&(t=pn.Y.B(t));const n=e.j=fn.concat(e.j,t),r=e.K,s=e.K=r+fn.bitLength(t);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(n);let a=0;for(let t=e.blockSize+r-(e.blockSize+r&e.blockSize-1);t<=s;t+=e.blockSize)e.G(i.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),e}X(){const t=this;let e=t.j;const n=t.H;e=fn.concat(e,[fn.P(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(a.floor(t.K/4294967296)),e.push(0|t.K);e.length;)t.G(e.splice(0,16));return t.reset(),n}J(t,e,n,r){return t<=19?e&n|~e&r:t<=39?e^n^r:t<=59?e&n|e&r|n&r:t<=79?e^n^r:void 0}$(t,e){return e<<t|e>>>32-t}G(t){const n=this,r=n.H,s=e(80);for(let e=0;e<16;e++)s[e]=t[e];let i=r[0],o=r[1],c=r[2],d=r[3],u=r[4];for(let t=0;t<=79;t++){t>=16&&(s[t]=n.$(1,s[t-3]^s[t-8]^s[t-14]^s[t-16]));const e=n.$(5,i)+n.J(t,o,c,d)+u+s[t]+n.Z[a.floor(t/20)]|0;u=d,d=c,c=n.$(30,o),o=i,i=e}r[0]=r[0]+i|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+d|0,r[4]=r[4]+u|0}},mn={importKey:t=>new mn.et(pn.bytes.B(t)),nt(t,e,n,r){if(n=n||1e4,r<0||n<0)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let i,a,o,c,d;const u=new ArrayBuffer(s),l=new m(u);let f=0;const p=fn;for(e=pn.bytes.B(e),d=1;f<(s||1);d++){for(i=a=t.encrypt(p.concat(e,[d])),o=1;o<n;o++)for(a=t.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;f<(s||1)&&o<i.length;o++)l.setInt32(f,i[o]),f+=4}return u.slice(0,r/8)},et:class{constructor(t){const e=this,n=e.st=hn,r=[[],[]];e.it=[new n,new n];const s=e.it[0].blockSize/32;t.length>s&&(t=(new n).update(t).X());for(let e=0;e<s;e++)r[0][e]=909522486^t[e],r[1][e]=1549556828^t[e];e.it[0].update(r[0]),e.it[1].update(r[1]),e.ot=new n(e.it[0])}reset(){const t=this;t.ot=new t.st(t.it[0]),t.ct=!1}update(t){this.ct=!0,this.ot.update(t)}digest(){const t=this,e=t.ot.X(),n=new t.st(t.it[1]).update(e).X();return t.reset(),n}encrypt(t){if(this.ct)throw new w("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},yn=typeof z!=lt&&typeof z.getRandomValues==wt,gn="Invalid password",xn="Invalid signature",Sn=xn,bn="zipjs-abort-check-password";function zn(t){if(yn)return z.getRandomValues(t);throw new w("Crypto API not supported")}const En=16,Fn={name:"PBKDF2"},Dn=n.assign({hash:{name:"HMAC"}},Fn),Rn=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Fn),An=["deriveBits"],vn=[8,12,16],Cn=[16,24,32],Tn=10,kn=[0,0,0,0],Un=typeof z!=lt,In=Un&&z.subtle,On=Un&&typeof In!=lt,Mn=pn.bytes,Nn=class{constructor(t){const e=this;e.ut=[[[],[],[],[],[]],[[],[],[],[],[]]],e.ut[0][0][0]||e.lt();const n=e.ut[0][4],r=e.ut[1],s=t.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(e.Z=[a=t.slice(0),o=[]],i=s;i<4*s+28;i++){let t=a[i-1];(i%s===0||8===s&&i%s===4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],i%s===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^t}for(let t=0;i;t++,i--){const e=a[3&t?i:i-4];o[t]=i<=4||t<4?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this.wt(t,0)}decrypt(t){return this.wt(t,1)}lt(){const t=this.ut[0],e=this.ut[1],n=t[4],r=e[4],s=[],i=[];let a,o,c,d;for(let t=0;t<256;t++)i[(s[t]=t<<1^283*(t>>7))^t]=t;for(let u=a=0;!n[u];u^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,n[u]=i,r[i]=u,d=s[c=s[o=s[u]]];let l=16843009*d^65537*c^257*o^16843008*u,w=257*s[i]^16843008*i;for(let n=0;n<4;n++)t[n][u]=w=w<<24^w>>>8,e[n][i]=l=l<<24^l>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}wt(t,e){if(4!==t.length)throw new w("invalid aes block size");const n=this.Z[e],r=n.length/4-2,s=[0,0,0,0],i=this.ut[e],a=i[0],o=i[1],c=i[2],d=i[3],u=i[4];let l,f,p,h=t[0]^n[0],m=t[e?3:1]^n[1],y=t[2]^n[2],g=t[e?1:3]^n[3],x=4;for(let t=0;t<r;t++)l=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^d[255&g]^n[x],f=a[m>>>24]^o[y>>16&255]^c[g>>8&255]^d[255&h]^n[x+1],p=a[y>>>24]^o[g>>16&255]^c[h>>8&255]^d[255&m]^n[x+2],g=a[g>>>24]^o[h>>16&255]^c[m>>8&255]^d[255&y]^n[x+3],x+=4,h=l,m=f,y=p;for(let t=0;t<4;t++)s[e?3&-t:t]=u[h>>>24]<<24^u[m>>16&255]<<16^u[y>>8&255]<<8^u[255&g]^n[x++],l=h,h=m,m=y,y=g,g=l;return s}},_n=class{constructor(t,e){this.ft=t,this.ht=e,this.yt=e}reset(){this.yt=this.ht}update(t){return this.gt(this.ft,t,this.yt)}xt(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}St(t){0===(t[0]=this.xt(t[0]))&&(t[1]=this.xt(t[1]))}gt(t,e,n){let r;if(!(r=e.length))return[];const s=fn.bitLength(e);for(let s=0;s<r;s+=4){this.St(n);const r=t.encrypt(n);e[s]^=r[0],e[s+1]^=r[1],e[s+2]^=r[2],e[s+3]^=r[3]}return fn.L(e,s)}},Ln=mn.et;let Pn=Un&&On&&typeof In.importKey==wt,Wn=Un&&On&&typeof In.deriveBits==wt;class Bn extends F{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){Zn(this,t,e,n)},async transform(t,e){const n=this,{password:s,strength:i,bt:a,ready:o}=n;s?(await(async(t,e,n,r)=>{const s=await qn(t,e,n,Kn(r,0,vn[e])),i=Kn(r,vn[e]);if(s[0]!=i[0]||s[1]!=i[1])throw new w(gn)})(n,i,s,Kn(t,0,vn[i]+2)),t=Kn(t,vn[i]+2),r?e.error(new w(bn)):a()):await o;const c=new f(t.length-Tn-(t.length-Tn)%En);e.enqueue(Hn(n,t,c,0,Tn,!0))},async flush(t){const{zt:e,Et:n,Ft:r,ready:i}=this;if(n&&e){await i;const a=Kn(r,0,r.length-Tn),o=Kn(r,r.length-Tn);let c=ht;if(a.length){const t=Gn(Mn,a);n.update(t);const r=e.update(t);c=Yn(Mn,r)}const d=Kn(Yn(Mn,n.digest()),0,Tn);let u=r.length<Tn?1:0;for(let t=0;t<Tn;t++)u|=d[t]^o[t];if(u&&s)throw new w(Sn);t.enqueue(c)}}})}}class Vn extends F{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){Zn(this,t,e,n)},async transform(t,e){const n=this,{password:r,strength:s,bt:i,ready:a}=n;let o=ht;r?(o=await(async(t,e,n)=>{const r=zn(new f(vn[e]));return Ht(r,await qn(t,e,n,r))})(n,s,r),i()):await a;const c=new f(o.length+t.length-t.length%En);c.set(o,0),e.enqueue(Hn(n,t,c,o.length,0))},async flush(t){const{zt:e,Et:n,Ft:r,ready:s}=this;if(n&&e){await s;let i=ht;if(r.length){const t=e.update(Gn(Mn,r));n.update(t),i=Yn(Mn,t)}const a=Yn(Mn,n.digest()).slice(0,Tn);t.enqueue(Ht(i,a))}}})}}function Zn(t,e,r,s){n.assign(t,{ready:new g(e=>t.bt=e),password:jn(e,r),strength:s-1,Ft:ht})}function Hn(t,e,n,r,s,i){const{zt:a,Et:o,Ft:c}=t;c.length&&(e=Ht(c,e));const d=e.length-s;let u;for(n=((t,e)=>{if(e&&e>t.length){const n=t;(t=new f(e)).set(n,0)}return t})(n,r+(d-d%En)),u=0;u<=d-En;u+=En){const t=Gn(Mn,Kn(e,u,u+En));i&&o.update(t);const s=a.update(t);i||o.update(s),n.set(Yn(Mn,s),u+r)}return t.Ft=Kn(e,u),n}async function qn(t,r,s,i){t.password=null;const a=await(async(t,e,n,r,s)=>{if(!Pn)return mn.importKey(e);try{return await In.importKey("raw",e,n,!1,s)}catch{return Pn=!1,mn.importKey(e)}})(0,s,Dn,0,An),o=await(async(t,e,n)=>{if(!Wn)return mn.nt(e,t.salt,Rn.iterations,n);try{return await In.deriveBits(t,e,n)}catch{return Wn=!1,mn.nt(e,t.salt,Rn.iterations,n)}})(n.assign({salt:i},Rn),a,8*(2*Cn[r]+2)),c=new f(o),d=Gn(Mn,Kn(c,0,Cn[r])),u=Gn(Mn,Kn(c,Cn[r],2*Cn[r])),l=Kn(c,2*Cn[r]);return n.assign(t,{keys:{key:d,Dt:u,passwordVerification:l},zt:new _n(new Nn(d),e.from(kn)),Et:new Ln(u)}),l}function jn(t,e){return e===dt?wn(t):e}function Kn(t,e,n){return t.subarray(e,n)}function Yn(t,e){return t.W(e)}function Gn(t,e){return t.B(e)}class Xn extends F{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){Qn(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=$n(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new w(gn);t=t.subarray(12)}r?e.error(new w(bn)):e.enqueue($n(n,t))}})}}class Jn extends F{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){Qn(this,t,e,n)},transform(t,e){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=zn(new f(12));e[11]=n.passwordVerification,r=new f(t.length+e.length),r.set(tr(n,e),0),s=12}else r=new f(t.length),s=0;r.set(tr(n,t),s),e.enqueue(r)}})}}function Qn(t,e,r,s){n.assign(t,{password:e,rawPassword:r,passwordVerification:s}),((t,e,r)=>{const s=[305419896,591751049,878082192];if(n.assign(t,{keys:s,Rt:new un(s[0]),At:new un(s[2])}),r)for(let e=0;e<r.length;e++)er(t,r[e]);else for(let n=0;n<e.length;n++)er(t,e.charCodeAt(n))})(t,e,r)}function $n(t,e){const n=new f(e.length);for(let r=0;r<e.length;r++)n[r]=nr(t)^e[r],er(t,n[r]);return n}function tr(t,e){const n=new f(e.length);for(let r=0;r<e.length;r++)n[r]=nr(t)^e[r],er(t,e[r]);return n}function er(t,e){let[,n]=t.keys;t.Rt.append([e]);const r=~t.Rt.get();n=sr(a.imul(sr(n+rr(r)),134775813)+1),t.At.append([n>>>24]);const s=~t.At.get();t.keys=[r,n,s]}function nr(t){const e=2|t.keys[2];return rr(a.imul(e,1^e)>>>8)}function rr(t){return 255&t}function sr(t){return 4294967295&t}const ir="Invalid uncompressed size",ar="Invalid compressed data",or=xn,cr="deflate-raw",dr="gzip",ur=[31,139,8];class lr extends F{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,computeCrc32:c,level:d,deflate64:u,format:l,compressionMethod:w}=t,f=this;let p,h,y,g=super.readable;const x=l&&$e(l),S=c&&s&&!u&&!x&&(!i||o)&&!(!a||!r);if(i&&!o||!c||S||(p=new ln,g=Sr(g,p)),s)if(x)g=br(g,gr(x.CompressionStream,l,{level:d,chunkSize:e,compressionMethod:w}));else if(S)y=new wr,g=br(g,new r(dr)),g=Sr(g,y);else try{g=xr(g,a,{level:d,chunkSize:e},r,n)}catch(t){let e;try{e=new r(dr)}catch{throw t}g=br(g,e),g=Sr(g,new wr)}i&&(o?g=Sr(g,new Jn(t)):(h=new Vn(t),g=Sr(g,h))),yr(f,g,()=>{i&&!o||!c||(f.crc32=S?y.crc32:new m(p.value.buffer).getUint32(0))})}}class wr extends F{constructor(){let t,e=10,n=new f(0);super({transform(t,r){if(e){const n=a.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const s=n.length+t.length;if(s<=8)return void(n=Ht(n,t));const i=s-8,o=a.min(i,n.length);r.enqueue(Ht(n.subarray(0,o),t.subarray(0,i-o))),n=Ht(n.subarray(o),t.subarray(i-o))},flush(){const e=jt(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class fr extends F{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:i,checkCrc32:a,crc32:o,compressed:c,useCompressionStream:d,deflate64:u,format:l,compressionMethod:p,rawBitFlag:h,outputSize:y}=t;let x,S,b=super.readable;if(i&&(s?b=Sr(b,new Xn(t)):(S=new Bn(t),b=Sr(b,S))),c){const t=l&&$e(l);if(t)b=br(b,gr(t.DecompressionStream,l,{chunkSize:e,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{b=xr(b,d,{chunkSize:e,deflate64:u},r,n)}catch(t){if(u||y===dt)throw t;let e;try{e=new r(dr)}catch{throw t}b=((t,e,n)=>{const r=new un;let s,i,a,o=0,c=!1;const d=new g((t,e)=>{i=t,a=e});d.catch(()=>{}),n||i();const u=new F({start(t){const e=new f(10);e.set(ur),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,p();try{await d}finally{h()}const e=new f(8),s=jt(e);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),t.enqueue(e)},cancel(t){a(t)}}),l=new F({transform(t,e){r.append(t),o+=t.length,o>=n?i():c&&p(),e.enqueue(t)},cancel(t){a(t)}});return t=Sr(t,u),Sr(t=br(t,e),l);function p(){h(),s=U(()=>a(new w(ir)),5e3)}function h(){I(s)}})(b,e,y)}b=(t=>{const e=t.getReader();return new D({async pull(t){let n;try{n=await e.read()}catch(t){if(t&&t.message)throw t;const e=new w(ar);throw e.cause=t,e}const{value:r,done:s}=n;s?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})})(b)}a&&(x=new ln,b=Sr(b,x)),yr(this,b,()=>{if(a){const t=new m(x.value.buffer);if(o!=t.getUint32(0,!1))throw new w(or)}})}}const pr=new c;function hr(t,e){if(!t)return!1;let n=pr.get(t);n||(n=new c,pr.set(t,n));let r=n.get(e);if(r===dt){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r}function mr(t){return hr(t,cr)}function yr(t,e,r){e=Sr(e,new F({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function gr(t,e,n){if(!t)throw new w("Compression method not supported");return new t(e,n)}function xr(t,e,n,r,s){const i=e&&r?r:s||r,a=n.deflate64?"deflate64-raw":cr;let o;try{o=new i(a,n)}catch(t){if(!e||!s||i==s)throw t;o=new s(a,n)}return br(t,o)}function Sr(t,e){return Kt(t).pipeThrough(e)}function br(t,e){const n=e.writable.getWriter(),r=t.getReader();return(async()=>{try{for(;;){await n.ready;const t=await r.read();if(t.done){await n.close();break}await n.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(n,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(r,t)}})(),e.readable}const zr="deflate",Er="inflate";class Fr extends F{constructor(t,e){super({});const r=this,{codecType:s}=t;let i;s.startsWith(zr)?i=lr:s.startsWith(Er)&&(i=fr),r.outputSize=0;let a=0;const o=new i(t,e),c=super.readable,d=new F({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){n.assign(r,{inputSize:a})}}),u=new F({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==dt&&r.outputSize>t.outputSize))throw new w(ir)},flush(){const{crc32:t}=o;n.assign(r,{crc32:t,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(d).pipeThrough(o).pipeThrough(u)})}}class Dr extends F{constructor(t){const e=[];let n=0;function r(){const r=new f(t);let s=0;for(;s<t;){const n=e[0],i=t-s;n.length<=i?(r.set(n,s),s+=n.length,e.shift()):(r.set(n.subarray(0,i),s),e[0]=n.subarray(i),s+=i)}return n-=t,r}(!s.isFinite(t)||t<1)&&(t=65536),super({transform(s,i){for(e.push(s),n+=s.length;n>t;)i.enqueue(r())},flush(t){n&&t.enqueue(((t,e)=>{const n=new f(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n})(e,n))}})}}async function Rr(t){const{CompressionStream:e,CompressionStreamFallback:n}=t;if(n&&!n.vt)return!0;if(mr(e)||hr(e,dr))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}class Ar{constructor(t,{readable:e,writable:r},{options:s,config:i,Ct:a,useWebWorkers:o,transferStreams:c,workerURI:d,createWorker:u},l){const{signal:w}=a;return n.assign(t,{Tt:!0,kt:(t.kt||0)+1,readable:e.pipeThrough(new Dr(Vt(i))).pipeThrough(new vr(a),{signal:w}),writable:r,options:n.assign({},s),workerURI:d,createWorker:u,transferStreams:c,terminate:()=>new g(e=>{const{Ut:n,Tt:r}=t;n?(r?t.It=e:(n.terminate(),e()),t.Ot=null):e()}),Mt(){if(t.Tt){const{It:e}=t;e&&(t.It=null,t.Nt=!0,t.Ut.terminate(),e()),t.Tt=!1,l(t)}}}),((t,e)=>({run:()=>(async({options:t,readable:e,writable:n,Mt:r},s)=>{let i;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(zr),n=e?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=e?s.CompressionStream:s.DecompressionStream;if(t.useCompressionStream){if(n&&n.vt&&!mr(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.vt||(t.useCompressionStream=!0)}}i=new Fr(t,s),await e.pipeThrough(i).pipeThrough(new Dr(Vt(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:a,outputSize:o}=i;return{crc32:r,inputSize:a,outputSize:o}}catch(t){throw i&&(t.outputSize=i.outputSize),t}finally{r()}})(t,e)}))(t,i)}}class vr extends F{constructor({onstart:t,onprogress:e,size:n,onend:r}){let s=0;super({async start(){t&&await Cr(t,n)},async transform(t,r){s+=t.length,e&&await Cr(e,s,n),r.enqueue(t)},async flush(){r&&await Cr(r,s)}})}}async function Cr(t,...e){try{await t(...e)}catch{}}let Tr=[];const kr=[];let Ur,Ir,Or=0;async function Mr(t,e){const{options:n,config:r}=e,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,checkCrc32:d,computeCrc32:u,encrypted:f,format:p,codecURI:h}=n,{workerURI:m,createWorker:y,maxWorkers:x}=r;p&&(h&&(n.codecURI=((t,e)=>{try{return new l(t,e).toString()}catch{return t}})(h,r.baseURI)),await(async(t,e)=>{!Je.has(t)&&e&&((t,e)=>{const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=wt&&typeof r!=wt)throw new w("Invalid codec module");Je.set(t,{CompressionStream:n,DecompressionStream:r})})(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(p,n.codecURI)),e.transferStreams=!p&&(i||i===dt&&r.transferStreams);const S=!(c||d||u||f),b=p===dt||!!n.codecURI;return e.useWebWorkers=!S&&b&&(a||a===dt&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&m?m:dt,e.createWorker=e.useWebWorkers&&y?y:dt,n.useCompressionStream=o||o===dt&&r.useCompressionStream,(await(async()=>{const n=Tr.find(t=>!t.Tt);if(n)return Wr(n),new Ar(n,t,e,z);if(Tr.length<x){const n={_t:Or};return Or++,Tr.push(n),new Ar(n,t,e,z)}return new g(n=>{kr.push({resolve:n,stream:t,Lt:e}),Ir=r.workerStarvationTimeout,Nr()})})()).run();function z(t){if(_r(),kr.length){const[{resolve:e,stream:n,Lt:r}]=kr.splice(0,1);e(new Ar(t,n,r,z)),Nr()}else t.Ut?(Wr(t),((t,e)=>{const{config:n}=e,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(t.Nt?t.Nt=!1:t.Pt=U(async()=>{Tr=Tr.filter(e=>e!=t);try{await t.terminate()}catch{}},r))})(t,e)):Tr=Tr.filter(e=>e!=t)}}function Nr(){!Ur&&kr.length&&s.isFinite(Ir)&&Ir>=0&&(Ur=U(Lr,Ir))}function _r(){Ur&&(I(Ur),Ur=null)}function Lr(){if(Ur=null,kr.length){const[{resolve:t,stream:e,Lt:r}]=kr.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:dt,createWorker:dt});t(new Ar({},e,s,Pr)),Nr()}}function Pr(){_r(),Nr()}function Wr(t){const{Pt:e}=t;e&&(I(e),t.Pt=null)}const Br="filename",Vr="rawFilename",Zr="comment",Hr="rawComment",qr="uncompressedSize",jr="compressedSize",Kr="offset",Yr="diskNumberStart",Gr="lastModDate",Xr="rawLastModDate",Jr="lastAccessDate",Qr="rawLastAccessDate",$r="creationDate",ts="rawCreationDate",es="internalFileAttributes",ns="externalFileAttributes",rs="internalFileAttribute",ss="externalFileAttribute",is="msdosAttributesRaw",as="msdosAttributes",os="msDosCompatible",cs="zip64",ds="encrypted",us="version",ls="versionMadeBy",ws="zipCrypto",fs="directory",ps="executable",hs="compressionMethod",ms="signature",ys="extraField",gs="unixMode",xs="setuid",Ss="setgid",bs="sticky",zs=[Br,Vr,qr,jr,Gr,Xr,Zr,Hr,Jr,Qr,$r,ts,Kr,Yr,es,ns,rs,ss,is,as,os,cs,ds,us,ls,ws,fs,ps,"symlink",hs,ms,"crc32",ys,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",gs,"unixExternalUpper",xs,Ss,bs,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Es{constructor(t){zs.forEach(e=>this[e]=t[e])}}const Fs="File format is not recognized",Ds="End of central directory not found",Rs="End of Zip64 central directory locator not found",As="Central directory header not found",vs="Local file header not found",Cs="Zip64 extra field not found",Ts="File contains encrypted entry",ks="Encryption method not supported",Us="Compression method not supported",Is="Split zip file",Os="Overlapping entry found",Ms="Entry data out of bounds",Ns="Ambiguous archive",_s="Encrypted central directory is not supported",Ls="Unsafe filename",Ps="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ws="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Bs="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Vs="64-bit value exceeds Number.MAX_SAFE_INTEGER",Zs=/^[a-zA-Z]:/,Hs="utf-8",qs="cp437",js=[[qr,M],[jr,M],[Kr,M],[Yr,N]],Ks={[N]:{Wt:Ei,bytes:4},[M]:{Wt:Fi,bytes:8}},Ys=i(s.MAX_SAFE_INTEGER);class Gs{constructor(t,e={}){n.assign(this,{reader:new Ze(t),options:e,Bt:new c})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;if(await je(r),r.size!==dt&&r.readUint8Array||(r=new me(await Yt(r.readable)),await je(r)),r.size<j)throw new w(Fs);const i=di(t,e.options),o=i==Tt,c=i!=Ut,u=((t,e)=>{if(t!==dt){const e=Lt(t);if("number"!=typeof e||s.isNaN(e)||e<0)throw new w(Bs);return e}return e==Tt?0:e==Ut?1/0:N})(yi(e,t,"maxAppendedDataSize"),i),l=((t,e)=>{if(t===dt)return e;if(!ci(t))throw new w(Ws);return t})(yi(e,t,"filenameValidation"),i),f=yi(e,t,"normalizeFilename"),{Vt:p,Zt:h}=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,65557),i={count:64};let o,c,d=0;for await(const[n,a,u,l,w]of wi(t,s)){const s=zi(n,l+20);if(w+j+s==r){const s=await pi(t,n,a,l,w,r,i);if(2==s){if(o||(o=fi(u,l,w)),d++,!e||d>1)break}else 1!=s||c||(c=fi(u,l,w))}}return o||(o=c),o||(o=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,e==1/0?r:65557+e);let i,o;for await(const[e,a,c,d,u]of wi(t,s)){const s=fi(c,d,u);i||(i=s);const l=await pi(t,e,a,d,u,r,n);if(2==l)return s;1!=l||o||(o=s)}return o||i})(t,n,i)),{Vt:o,Zt:d}})(r,c,u);if(!p)throw await(async t=>await oi(t)==P)(r)?new w(Is):new w(Ds);c&&h>1&&mi("multiple end of central directory records");const m=jt(p);let y=Ei(m,12),g=Ei(m,16);const x=p.offset,S=zi(m,20),b=x+j+S;r.size-b>u&&mi("appended data");let z=zi(m,4);const E=r.U||0;let D,R,A,v,C=zi(m,6),T=zi(m,10),k=0,U=Y;const I=g==M||y==M||T==N||C==N;if(g!=M&&C!=N&&(g+=ai(r,C)),I){const t=p.offset>=K?await Ye(r,p.offset-K,K):ht,e=jt(t);if(t.length==K&&Ei(e,0)==q){g=ai(r,Ei(e,4))+Fi(e,8);let t=await Ye(r,g,Y),s=jt(t);const i=p.offset-K-Y;if((t.length<Y||Ei(s,0)!=H)&&g!=i&&i>=0){const e=g;g=i,g>e&&(k=g-e),t=await Ye(r,g,Y),s=jt(t)}if(t.length<Y||Ei(s,0)!=H)throw new w(Rs);if(R=!0,A=Fi(s,4)>44,A){const t=a.min(Fi(s,4)-44,r.size-g-Y);t>0&&(U+=t,v=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=jt(t),s=zi(r,26);n.assign(e,{compressionMethod:zi(r,0),compressedSize:Fi(r,2),uncompressedSize:Fi(r,10),encryptionAlgorithm:zi(r,18),bitLength:zi(r,20),flags:zi(r,22),hashAlgorithm:zi(r,24),hashData:t.subarray(28,28+s)})}return e})(await Ye(r,g+Y,t)))}z==N?z=Ei(s,16):o&&z!=Ei(s,16)&&mi("mismatched zip64 end of central directory record"),C==N?C=Ei(s,20):o&&C!=Ei(s,20)&&mi("mismatched zip64 end of central directory record"),T==N?T=Fi(s,32):o&&T!=Fi(s,32)&&mi("mismatched zip64 end of central directory record"),y==M?y=Fi(s,40):o&&y!=Fi(s,40)&&mi("mismatched zip64 end of central directory record"),g=ai(r,C)+Fi(s,48)+k}}let O=y;const L=p.offset-(R?U+K:0);if(g>=r.size&&(k=r.size-g-y-j,g=r.size-y-j),E!=z)throw new w(Is);if(g<0)throw new w(Fs);let W=0,B=await Ye(r,g,y),Z=jt(B);if(y){if(B.length<4)throw new w(Fs);const t=L-y;if(g!=t&&C==z){let e=!(Ei(Z,W)==V||v&&v.compressedSize||Js(Z));if(!e&&t>=0&&t+4<=r.size&&(e=Ei(jt(await Ye(r,t,4)),0)==V),e){const e=g;g=t,g>e&&(k+=g-e),B=await Ye(r,g,y),Z=jt(B)}}}const G=L-g;if(y!=G&&G>=0&&C==z&&(y=G,B=await Ye(r,g,y),Z=jt(B)),g<0||g>=r.size)throw new w(Fs);e.directoryOffset=g,e.directoryLength=O;const X=gi(e,t,"decryptCentralDirectory");let J,Q;if(X&&T&&B.length>=4&&Ei(Z,0)!=V&&(A||Js(Z))){const t=((t,e,n)=>{const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&r<=n?r:n})(v,O,B.length);Q=B.subarray(t),B=await X(B.subarray(0,t),v),Z=jt(B),O=B.length,J=!0}D=g;const $=yi(e,t,"filenameEncoding"),tt=yi(e,t,"commentEncoding"),at=o?new d:dt;let ot;for(let s=0;s<T;s++){const i=new Xs(r,e.options);if(W+46>B.length||Ei(Z,W)!=V){if(0==s&&!J&&(A||Js(Z)))throw new w(_s);throw new w(As)}$s(i,Z,W+6);const c=!!i.bitFlag.languageEncodingFlag,d=W+46,u=d+i.filenameLength,p=u+i.extraFieldLength,h=zi(Z,W+4),m=!(h>>8),y=h>>8==3,g=B.subarray(d,u),x=zi(Z,W+32),S=p+x,b=B.subarray(p,S),z=c,E=c,R=Ei(Z,W+38),v=R&_,C={readOnly:!!(1&v),hidden:!!(2&v),system:!!(4&v),directory:!!(16&v),archive:!!(32&v)},U=Ei(Z,W+42),I=gi(e,t,"decodeText")||Jt,O=z?Hs:$||qs,M=E?Hs:tt||qs;let L=I(g,O,vt);if(L===dt&&(L=Jt(g,O)),f){const t=f(L);t!==dt&&(L=t)}if(li(L,l)){const t=new w(Ls);throw t.filename=L,t}let P=I(b,M,Ct);P===dt&&(P=Jt(b,M)),n.assign(i,{index:s,Ht:J,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,qt:x,offset:U,diskNumberStart:zi(Z,W+34),internalFileAttributes:zi(Z,W+36),externalFileAttributes:R,msdosAttributesRaw:v,msdosAttributes:C,rawFilename:g,filenameUTF8:z,commentUTF8:E,rawExtraField:B.subarray(u,p),rawComment:b,filename:L,comment:P}),ti(i,i,Z,W+6),i.offset+=k,D=a.min(ai(r,i.diskNumberStart)+i.offset,D),o&&(at.has(i.filename)&&(ot=!0),at.add(i.filename));const H=i.externalFileAttributes>>16&N;i.unixMode===dt&&16877&H&&(i.unixMode=H);const q=!!(i.unixMode&rt),j=!!(i.unixMode&st),K=!!(512&i.unixMode),Y=40960==((i.unixMode===dt?H:i.unixMode)&et),G=!Y&&(i.unixMode!==dt?!!(73&i.unixMode):y&&!!(73&H)),X=i.unixMode!==dt&&(i.unixMode&et)==nt,Q=(H&et)==nt;n.assign(i,{setuid:q,setgid:j,sticky:K,symlink:Y,unixExternalUpper:H,internalFileAttribute:i.internalFileAttributes,externalFileAttribute:i.externalFileAttributes,executable:G,directory:X||Q||m&&C.directory||i.filename.endsWith(it)&&!i.uncompressedSize,zipCrypto:i.encrypted&&!i.extraFieldAES});const ct=new Es(i);ct.getData=(t,n)=>i.getData(t,ct,e.Bt,n),ct.arrayBuffer=async t=>{const n=new F,r=Yt(n.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await i.getData(n,ct,e.Bt,t),r},W=S;const{onprogress:ut}=t;if(ut)try{await ut(s+1,T,new Es(i))}catch{}yield ct}let ct=W,ut=Qs(B.subarray(W))||(J?Qs(Q):dt);if(!ut&&!J){const t=g+W,e=a.min(L-t,65541);e>=6&&(ut=Qs(await Ye(r,t,e)))}ut&&(e.digitalSignature=ut,ct=W+6+ut.length),o&&W!=O&&ct!=O&&mi("trailing central directory data"),ot&&mi("duplicate filename");const lt=yi(e,t,"extractPrependedData"),wt=yi(e,t,"extractAppendedData"),ft=(o||lt)&&T&&4==D&&await(async t=>{const e=await oi(t);return e==P||808471376==e})(r)?4:0;return o&&(k||T&&D>ft)&&mi("prepended data"),lt&&(e.prependedData=D>ft?await Ye(r,ft,D-ft):ht),e.comment=S?await Ye(r,x+j,S):ht,wt&&(e.appendedData=b<r.size?await Ye(r,b,r.size-b):ht),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}let Xs=class{constructor(t,e){n.assign(this,{reader:t,options:e})}async getData(t,e,n,r={}){const s=this,i=Bt(),{reader:o,index:c,offset:d,diskNumberStart:u,extraFieldAES:l,extraFieldZip64:f,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:g,uncompressedSize:x,compressedSize:S}=s,{dataDescriptor:b}=h,z=e.localDirectory={},E=ai(o,u)+d,F=await Ye(o,E,at),D=jt(F);let A=yi(s,r,mt),v=yi(s,r,yt);const C=yi(s,r,gt);if(Mt(A,v),A=A&&A.length&&A,v=v&&v.length&&v,l&&99!=l.originalCompressionMethod)throw new w(Us);if(F.length<at||Ei(D,0)!=L)throw new w(vs);$s(z,D,4);const{extraFieldLength:T,filenameLength:k}=z,U=yi(s,r,"checkLocalDirectory"),I=di(r,s.options),O=((t,e)=>t===dt?e!=Ut:!!t)(U,I),M=((t,e)=>t===dt?e==Tt:!!t)(U,I);let N=ht;if(M&&(k||T)){const t=await Ye(o,E+at,k+T);N=t.subarray(0,k),z.rawExtraField=t.subarray(k)}else z.rawExtraField=T?await Ye(o,E+at+k,T):ht;M&&(z.rawFilename=N),ti(s,z,D,4,!0),O&&((t,e,n,r)=>{const{rawFilename:s}=t,i=t.Ht&&!(8192&~e.rawBitFlag);!r||i||n.length==s.length&&!n.some((t,e)=>t!=s[e])||mi("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&mi("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&mi("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||i||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||mi("mismatched local file header (crc32 or sizes)")})(s,z,N,M);const{lastAccessDate:P,creationDate:B,uid:V,gid:Z}=z;P&&(e.lastAccessDate=P),B&&(e.creationDate=B),V!==dt&&e.uid===dt&&(e.uid=V),Z!==dt&&e.gid===dt&&(e.gid=Z);const H=s.encrypted&&z.encrypted&&!C,q=H&&!l;if(C||(e.zipCrypto=q),H&&!(64&~z.rawBitFlag))throw new w(ks);const j=C?dt:Qe(p);if(0!=p&&8!=p&&9!=p&&!j&&!C)throw new w(Us);if(H){if(!q&&(l.strength<1||l.strength>3))throw new w(ks);if(!A&&!v)throw new w(Ts)}const K=E+at+k+T;if(K+S>o.size)throw new w(Ms);const Y=S,G=Kt(o.createReadable({offset:K,size:Y})),X=Ot(yi(s,r,xt)),J=yi(s,r,"checkPasswordOnly");let Q=yi(s,r,"checkOverlappingEntry");const $=yi(s,r,"checkOverlappingEntryOnly");$&&(Q=!0);const{onstart:tt,onprogress:et,onend:nt}=r,rt=0!=p&&!C,st=C?S:x,it=9==p;let ot=yi(s,r,bt);it&&(ot=!1);const ct=yi(s,r,"checkCrc32"),ut=(ct===dt?yi(s,r,"checkSignature"):ct)&&!C&&(!H||q||l&&1==l.vendorVersion),lt={options:{codecType:Er,password:A,rawPassword:v,zipCrypto:q,encryptionStrength:l&&l.strength,checkCrc32:ut,checkAuthenticationCode:yi(s,r,"checkAuthenticationCode"),passwordVerification:q&&(b?g>>>8&_:y>>>24&_),outputSize:st,crc32:y,compressed:rt,encrypted:H,useWebWorkers:yi(s,r,St),useCompressionStream:ot,transferStreams:yi(s,r,zt),deflate64:it,format:j?j.format:dt,codecURI:j?j.codecURI:dt,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:J},config:i,Ct:{signal:X,size:Y,onstart:tt,onprogress:et,onend:nt}};let wt,ft;Q&&await(async({reader:t,jt:e,index:n,offset:r,crc32:s,compressedSize:i,uncompressedSize:a,Kt:o,dataDescriptor:c,extraFieldZip64:d,Bt:u})=>{let l=0;if(c&&(l=d?20:12),l){const n=await Ye(t,o+i,l+4),r=jt(n);let c=n.length==l+4&&Ei(r,0)==W;if(c){const t=ii(r,4,d);(e.encrypted&&!e.zipCrypto||t.crc32==s)&&t.compressedSize==i&&t.uncompressedSize==a?l+=4:c=!1}if(n.length>=l){const t=ii(r,c?4:0,d);t.signature=c,e.localDirectory.dataDescriptor=t}}const f={start:r,end:o+i+l,jt:e};for(const[t,e]of u)if(t!=n&&f.start<e.end&&e.start<f.end){const t=new w(Os);throw t.overlappingEntry=e.jt,t}u.set(n,f)})({reader:o,jt:e,index:c,offset:E,crc32:y,compressedSize:S,uncompressedSize:x,Kt:K,dataDescriptor:b||z.bitFlag.dataDescriptor,extraFieldZip64:f||z.extraFieldZip64,Bt:n});try{if(!$){J&&(t=new R),t=new He(t),await je(t,((t,e,n)=>a.min(t,n?1032*e:e))(st,S,rt)),({writable:wt}=t);const{outputSize:e}=await Mr({readable:G,writable:wt},lt);if(t.size+=e,e!=st)throw new w(ir)}}catch(e){if(e.outputSize!==dt&&(t.size+=e.outputSize),!J||e.message!=bn)throw ft=e,e}finally{if((qe(t)||!yi(s,r,Et))&&wt&&!wt.locked){const t=wt.getWriter();if(ft)try{await t.abort(ft)}catch{}else await t.close()}}return J||$?dt:t.getData?t.getData():wt}};function Js(t){const e=a.min(t.byteLength,1024)-3;for(let n=0;n<e;n++)if(134630224==Ei(t,n))return!0;return!1}function Qs(t){if(t.length>=6){const e=jt(t);if(Ei(e,0)==B){const n=zi(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function $s(t,e,r){const s=t.rawBitFlag=zi(e,r+2),i=!(1&~s),a=Ei(e,r+6);n.assign(t,{encrypted:i,version:zi(e,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&tt)==tt},rawLastModDate:a,lastModDate:xi(a),filenameLength:zi(e,r+22),extraFieldLength:zi(e,r+24)})}function ti(t,e,r,s,i){const{rawExtraField:a}=e,d=e.extraField=new c,u=jt(a);let l=0;try{for(;l<a.length;){const t=zi(u,l),e=zi(u,l+2);d.set(t,{type:t,data:a.slice(l+4,l+4+e)}),l+=4+e}}catch{}const f=zi(r,s+4);n.assign(e,{signature:Ei(r,s+10),crc32:Ei(r,s+10),compressedSize:Ei(r,s+14),uncompressedSize:Ei(r,s+18)});const p=d.get(1);p&&(((t,e)=>{e.zip64=!0;const n=jt(t.data),r=js.filter(([t,n])=>e[t]==n),s=r.reduce((t,[,e])=>t+Ks[e].bytes,0);if(t.data.length<s)throw new w(Cs);for(let s=0,i=0;s<r.length;s++){const[a,o]=r[s],c=Ks[o];e[a]=t[a]=c.Wt(n,i),i+=c.bytes}})(p,e),e.extraFieldZip64=p);const h=d.get(28789);h&&(ei(h,Br,Vr,e,t),e.extraFieldUnicodePath=h);const m=d.get(25461);m&&(ei(m,Zr,Hr,e,t),e.extraFieldUnicodeComment=m);const y=d.get(G);y&&y.data.length>=7?(((t,e,r)=>{const s=jt(t.data),i=bi(s,4);n.assign(t,{vendorVersion:bi(s,0),vendorId:bi(s,2),strength:i,originalCompressionMethod:r,compressionMethod:zi(s,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=dt)})(y,e,f),e.extraFieldAES=y):e.compressionMethod=f;const g=d.get(13);g&&(ni(g,e),e.extraFieldPkwareUnix=g);const x=d.get(22613);x&&(ni(x,e),e.extraFieldUnixType1=x);const S=d.get(10);S&&(((t,e)=>{const r=jt(t.data);let s,i=4;try{for(;i<t.data.length&&!s;){const e=zi(r,i),n=zi(r,i+2);1==e&&(s=t.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(s&&24==s.length){const r=jt(s),i=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(t,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:o});const c={lastModDate:Si(i),lastAccessDate:Si(a),creationDate:Si(o)};n.assign(t,c),n.assign(e,c,{rawLastAccessDate:a,rawCreationDate:o})}})(S,e),e.extraFieldNTFS=S);const b=d.get($);let z;if(b&&(z=ri(b,e,!1),e.extraFieldUnix=b),!z){const t=d.get(Q);t&&(ri(t,e,!0),e.extraFieldInfoZip=t)}const E=d.get(X);E&&(((t,e,n)=>{if(!t.data.length)return;const r=jt(t.data),s=bi(r,0),i=[],a=[];n?(1&~s||(i.push(Gr),a.push(Xr)),2&~s||(i.push(Jr),a.push(Qr)),4&~s||(i.push($r),a.push(ts))):t.data.length>=5&&(i.push(Gr),a.push(Xr));let c=1;i.forEach((n,s)=>{if(t.data.length>=c+4){const i=Ei(r,c);e[n]=t[n]=new o(1e3*(0|i));const d=a[s];t[d]=i}c+=4})})(E,e,i),e.extraFieldExtendedTimestamp=E);const F=d.get(J);F&&(e.extraFieldUSDZ=F)}function ei(t,e,r,s,i){if(t.data.length<5)return void(t.valid=!1);const a=jt(t.data),o=new un;o.append(i[r]);const c=jt(new f(4));c.setUint32(0,o.get(),!0);const d=Ei(a,1);n.assign(t,{version:bi(a,0),[e]:Jt(t.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&d==Ei(c,0)}),t.valid&&(s[e]=t[e],s[e+"UTF8"]=!0)}function ni(t,e){if(t.data.length<8)return;const r=jt(t.data),s={lastAccessDate:new o(1e3*(0|Ei(r,0))),lastModDate:new o(1e3*(0|Ei(r,4)))};t.data.length>=12&&(s.uid=zi(r,8),s.gid=zi(r,10)),n.assign(t,s),n.assign(e,s)}function ri(t,e,r){try{const s=jt(t.data);let i,a;if(r){let e=0;const r=bi(s,e++),o=bi(s,e++);i=si(t.data.subarray(e,e+o)),e+=o;const c=bi(s,e++);a=si(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:i,gid:a})}else t.data.length>=4&&(i=zi(s,0),a=zi(s,2),n.assign(t,{uid:i,gid:a}));return i!==dt&&(e.uid=i),a!==dt&&(e.gid=a),i!==dt||a!==dt}catch{}}function si(t){const e=new f(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ii(t,e,n){const r=Ei(t,e);let s,i;return n?(s=Fi(t,e+4),i=Fi(t,e+12)):(s=Ei(t,e+4),i=Ei(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:i}}function ai(t,e){return t.O?t.O(e):0}async function oi(t){return Ei(jt(await Ye(t,0,4)))}function ci(t){return t===Tt||t===kt||t===Ut}function di(t,e){return ui(t,ui(e,kt))}function ui(t,e){const n=t.strictness;if(n!==dt){if(!ci(n))throw new w(Ps);return n}const r=t.checkAmbiguity;return r===dt?e:r?Tt:e==Ut?Ut:kt}function li(t,e){if(e==Ut)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Zs.test(t))||e==Tt&&(n.includes(".")||n.includes(""))}async function*wi(t,e){const n=t.size-e,r=await Ye(t,n,e),s=jt(r);for(let t=r.length-j;t>=0;t--)Ei(s,t)==Z&&(yield[s,n,r,t,n+t])}function fi(t,e,n){return{offset:n,buffer:t.slice(e,e+j).buffer}}async function pi(t,e,n,r,s,i,a){const o=zi(e,r+10),c=Ei(e,r+12),d=Ei(e,r+16);if(o==N||c==M||d==M)return await hi(t,e,n,s-K,i,a)==q?2:0;if(!o&&!c)return 1;const u=zi(e,r+6);for(const r of[s-c,ai(t,u)+d])if(await hi(t,e,n,r,i,a)==V)return 2;return 0}async function hi(t,e,n,r,s,i){return r<0||r+4>s?dt:r>=n?Ei(e,r-n):i.count>0?(i.count--,Ei(jt(await Ye(t,r,4)),0)):dt}function mi(t){const e=new w(Ns);throw e.reason=t,e}function yi(t,e,n){return e[n]===dt?t.options[n]:e[n]}function gi(t,e,n){return It(yi(t,e,n))}function xi(t){const e=(4294901760&t)>>16,n=t&N;return new o(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function Si(t){return new o(s(t/i(1e4)-i(116444736e5)))}function bi(t,e){return t.getUint8(e)}function zi(t,e){return t.getUint16(e,!0)}function Ei(t,e){return t.getUint32(e,!0)}function Fi(t,e){const n=t.getBigUint64(e,!0);if(n>Ys)throw new w(Vs);return s(n)}var Di=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Ns,ERR_BAD_FORMAT:Fs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:As,ERR_ENCRYPTED:Ts,ERR_ENCRYPTED_CENTRAL_DIRECTORY:_s,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Ms,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Rs,ERR_EOCDR_NOT_FOUND:Ds,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Cs,ERR_INVALID_AUTHENTICATION_CODE:Sn,ERR_INVALID_COMPRESSED_DATA:ar,ERR_INVALID_CRC32:or,ERR_INVALID_FILENAME_VALIDATION:Ws,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Bs,ERR_INVALID_PASSWORD:gn,ERR_INVALID_SIGNATURE:xn,ERR_INVALID_STRICTNESS:Ps,ERR_INVALID_UNCOMPRESSED_SIZE:ir,ERR_LOCAL_FILE_HEADER_NOT_FOUND:vs,ERR_OVERLAPPING_ENTRY:Os,ERR_SPLIT_ZIP_FILE:Is,ERR_UNSAFE_FILENAME:Ls,ERR_UNSUPPORTED_COMPRESSION:Us,ERR_UNSUPPORTED_ENCRYPTION:ks,ERR_UNSUPPORTED_UINT64:Vs,ZipReader:Gs});const Ri="Zip file comment exceeds 64KB",Ai="Invalid zip file comment (must be a Uint8Array)",vi="Version exceeds 65535",Ci="Extra field data exceeds 64KB",Ti=-2147483648,ki=2147483647,Ui=i(0),Ii=i("0x7fffffffffffffff"),Oi="Zip64 is not supported (set the 'zip64' option to 'true')",Mi="Undetermined size",Ni=new f([7,0,2,0,65,69,3,0,0]),_i="infozip",Li="unix";let Pi=0;const Wi=[];class Bi{constructor(t,e={}){t=new He(t);const{availableSize:r=ut,maxSize:s=ut}=t,i=r>0&&r!==ut&&s>0&&s!==ut;n.assign(this,{writer:t,Yt:i,options:e,Gt:new c,Xt:new d,offset:e[Dt]===dt?t.size||t.writable.size||0:e[Dt],Jt:e[Dt]===dt?0:e[Dt]-(t.size||t.writable.size||0),Qt:new d,$t:0,te:dt})}async prependZip(t){if(this.Xt.size)throw new w("Zip file not empty");t=new Ze(t),await je(t),t.size!==dt&&t.readUint8Array||(t=new me(await Yt(t.readable)),await je(t));const{ZipReader:r}=await g.resolve().then(()=>Di),s=new r(t),i=await s.getEntries();await s.close(),await je(this.writer);const{directoryOffset:a}=s;this.Yt&&(delete this.Yt,await(async t=>jt(await Ye(t,0,4)).getUint32(0,!0)==P)(t)||(await oa(this.writer,aa()),this.offset+=4));const o=await(async(t,n,r,s)=>{const{writer:i}=t,a=new c;if(i.closeDisk){const o=e.from(r).sort((t,e)=>ia(n,t)-ia(n,e));let c=0;for(const e of o){const r=ia(n,e);await ra(t,n,c,r-c),ta(i,await sa(n,r))&&await i.closeDisk(),a.set(e,{offset:ea(t,i),diskNumberStart:Qi(i)}),c=r}await ra(t,n,c,s-c)}else{const e=t.offset;await ra(t,n,0,s),r.forEach(t=>a.set(t,{offset:e+ia(n,t),diskNumberStart:0}))}return a})(this,t,i,a);this.Xt=new d(i.map(t=>t.filename)),this.Gt=new c(i.map(t=>{const{version:e,rawLastModDate:r,lastAccessDate:s,creationDate:i,rawFilename:a,bitFlag:c,encrypted:d,uncompressedSize:u,compressedSize:l,extraFieldZip64:w}=t;let{compressionMethod:f,ee:p,ne:h,re:m,se:y,ie:g,rawExtraField:x}=t;const{level:S,languageEncodingFlag:b,dataDescriptor:z}=c;p=p||ht,h=h||ht,m=m||ht,y=y||ht,g=g||ht,x=na(x||ht),t.extraFieldAES&&(f=99);const E=Da(p,h,m,y,g,x),F=!!w&&w.uncompressedSize!==dt,D=!!w&&w.compressedSize!==dt,R=-7&Aa(S,b,z,d,f)|S<<1,{ae:A,oe:v}=Ra({version:e,bitFlag:R,compressionMethod:f,uncompressedSize:u,compressedSize:l,rawLastModDate:r,rawFilename:a,ce:D,de:F,extraFieldLength:E}),{crc32:C}=t;C!==dt&&za(v,10,C);const{offset:T,diskNumberStart:k}=o.get(t);return n.assign(t,{de:F,ce:D,offset:T,diskNumberStart:k,ue:!1,ee:p,ne:h,re:m,se:y,ie:g,rawExtraField:x,extendedTimestamp:m.length>0||y.length>0,le:1+(s?2:0)+(i?4:0),ae:A,oe:v}),[t.filename,t]}))}async add(t="",e,r={}){const s=this;r=n.assign({},r);const{Qt:a}=s;let o,c;Pi<Bt().maxWorkers?Pi++:await new g(t=>Wi.push(t));try{if(t=t.trim(),wa(s,r,fs)&&!t.endsWith(it)&&(t+=it),s.Xt.has(t))throw new w("File already exists");return s.Xt.add(t),c=!0,o=(async(t,e,r,s)=>{const a=Vi(t,e,s);({name:e}=a);const o=Zi(t,e,s),{comment:c}=o,d=s[ys];let u;t.Gt.set(e,dt);try{const{we:c}=o;0==c.level||c.compressionMethod!==dt||c.passThrough||await Rr(Bt())||(c.level=0);const d=await(async(t,e,{we:r},s)=>{if(r.passThrough&&!e&&!wa(t,s,fs))throw new w("Undefined reader");let i;return e&&(e=new Ze(e),await je(e),({size:i}=e)),n.assign({reader:e},qi(t,!!e,i,r,s))})(t,r,o,s);({reader:r}=d);const l=$i(t.writer),f=Qi(t.writer),p=ji(s=n.assign({},s,a.we,o.we,d.we,{signature:s[ms],crc32:s.crc32===dt?s[ms]:s.crc32,offset:t.offset-l,diskNumberStart:f,[Rt]:t.options[Rt]})),h=Gi(s),m=Da(p.fe,h.pe);u=await(async(t,e,r,s,a)=>{const{Gt:o,writer:c}=t,{keepOrder:d,dataDescriptor:u,he:l,signal:f}=a,{me:p}=s,h=t.options[Rt],m=t.te;let y,x,S,b,z,E,D,A={},v=0;o.set(e,A),t.te=A;try{let x;d&&(x=m&&m.ye,A.ye=new g(t=>S=t)),a.bufferedWrite||!d||t.ge||t.$t||!u&&!l?(y=!0,t.$t++,D=a.createTempStream?await a.createTempStream():new F(dt,dt,{highWaterMark:ut}),D.size=0,await je(c)):(D=c,await C()),await je(D);const k=$i(c);t.Yt&&(delete t.Yt,await oa(c,aa()),t.offset+=4),h&&!y&&Ki(s,t.offset-k);const{fe:U}=p;y||(await x,await T());const I=Qi(c),O=ea(t,c);if(A.diskNumberStart=I,y||(z=!0,E=c.size,await oa(D,U)),A=await(async(t,e,{diskNumberStart:r,ye:s},a,o,c)=>{const{me:d,xe:u,Se:l}=a,{ae:f,oe:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:x,compressionMethod:S,ee:b,be:z,re:E,le:F,se:D,ie:R,ne:A}=d,{pe:v}=u,{rawFilename:C,lastAccessDate:T,creationDate:k,password:U,rawPassword:I,level:O,zip64:N,de:L,ce:P,zipCrypto:W,dataDescriptor:B,directory:V,executable:Z,versionMadeBy:H,rawComment:q,rawExtraField:j,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:tt,msDosCompatible:et,internalFileAttributes:nt,externalFileAttributes:rt,uid:st,gid:it,unixMode:at,symlink:ot,setuid:ct,setgid:ut,sticky:lt,unixExternalUpper:wt,msdosAttributesRaw:ft,msdosAttributes:pt,useCompressionStream:ht,passThrough:mt,format:yt,codecURI:gt}=c,xt={ye:s,versionMadeBy:H,zip64:N,directory:!!V,executable:!!Z,filenameUTF8:!0,rawFilename:C,commentUTF8:!0,rawComment:q,ee:b,be:z,re:E,se:D,ie:R,ne:A,rawExtraField:j,extendedTimestamp:tt,msDosCompatible:et,internalFileAttributes:nt,externalFileAttributes:rt,diskNumberStart:r,uid:st,gid:it,unixMode:at,symlink:!!ot,setuid:ct,setgid:ut,sticky:lt,unixExternalUpper:wt,msdosAttributesRaw:ft,msdosAttributes:pt};let{crc32:St,uncompressedSize:bt}=c,zt=0;mt||(bt=0);const{writable:Et}=e;if(t){const n=Kt(Ge(t)),r=t.size,s={options:{codecType:zr,level:O,rawPassword:I,password:U,encryptionStrength:$,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&_,computeCrc32:!mt,compressed:g&&!mt,encrypted:y&&!mt,useWebWorkers:K,useCompressionStream:ht,transferStreams:Y,format:yt,codecURI:gt,compressionMethod:S},config:o,Ct:{signal:Q,size:r,onstart:G,onprogress:X,onend:J}};try{const t=await Mr({readable:n,writable:Et},s);if(zt=t.outputSize,e.size+=zt,mt||(bt=t.inputSize,y&&!W||(St=t.crc32)),!P&&zt>=M||!L&&bt>=M)throw new w(Oi)}catch(t){throw t.outputSize!==dt&&(e.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:n,me:r,xe:s},{zip64:a,zipCrypto:o,passThrough:c,dataDescriptor:d})=>{const{oe:u,encrypted:l}=r,{ze:w,Ee:f}=s;l&&!o&&!c||t===dt||(za(u,10,t),d&&za(w,f,t)),a?d&&(Ea(w,f+4,i(e)),Ea(w,f+12,i(n))):(za(u,14,e),za(u,18,n),d&&(za(w,f+4,e),za(w,f+8,n)))})({crc32:St,compressedSize:zt,uncompressedSize:bt,me:d,xe:u},c),B&&await oa(e,v),n.assign(xt,{uncompressedSize:bt,compressedSize:zt,lastModDate:h,rawLastModDate:m,creationDate:k,lastAccessDate:T,encrypted:!!y,zipCrypto:!!W,size:l+zt,compressionMethod:S,version:x,ae:f,oe:p,signature:St,crc32:!y||W||mt?St:dt,le:F,de:L,ce:P}),xt})(r,D,A,s,Bt(),a),y||(z=!1),o.set(e,A),A.filename=e,y){if(await g.all([D.writable.getWriter().close(),x]),await C(),b=!0,E=c.size,await T(),A.diskNumberStart=Qi(c),A.offset=ea(t,c),h){const e=s.Se;Ki(s,t.offset-$i(c)),A.size+=s.Se-e}(({rawFilename:t,encrypted:e,zip64:n,be:r,crc32:s,compressedSize:a,uncompressedSize:o,de:c,ce:d},u,{dataDescriptor:l,passThrough:w})=>{if(l||((!e||w&&s!==dt)&&za(u,14,s),d||za(u,18,a),c||za(u,22,o)),n&&r){const e=at+Da(t)+4;Ea(u,e,i(o)),Ea(u,e+8,i(a))}})(A,p.Fe,a),await oa(c,p.fe),await(async(t,e,n)=>{const r=e.writable.getWriter();try{await t.pipeTo(new R({async write(t){var e;await r.ready,await r.write(t),e=Da(t),v+=e}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{r.releaseLock()}})(D.readable,c,f),c.size+=D.size,b=!1}else A.diskNumberStart=I,A.offset=O;return t.offset+=A.size,A}catch(n){if(b||z){if(t.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}t.offset+=c.size-E,y&&(t.offset+=v)}throw o.delete(e),n}finally{if(y&&t.$t--,S&&S(),x&&x(),y&&D&&D.dispose)try{await D.dispose()}catch{}}async function C(){t.ge=!0;const{De:e}=t;t.De=new g(e=>x=()=>{t.ge=!1,e()}),await e}async function T(){ta(c,Da(p.fe))&&await c.closeDisk()}})(t,e,r,{me:p,xe:h,Se:m},s)}catch(n){throw t.Gt.delete(e),n}return n.assign(u,{name:e,comment:c,extraField:d,[rs]:u.internalFileAttributes,[ss]:u.externalFileAttributes}),new Es(u)})(s,t,e,r),a.add(o),await o}catch(e){throw c&&s.Xt.delete(t),e}finally{a.delete(o);const t=Wi.shift();t?t():Pi--}}remove(t){const{Xt:e,Gt:n}=this;if(typeof t==pt&&(t=n.get(t)),t&&t.filename!==dt){const{filename:r}=t;if(e.has(r)&&n.has(r))return e.delete(r),n.delete(r),!0}return!1}async close(t=ht,n={}){const{Qt:r,writer:s}=this,{writable:a}=s;if(!(t instanceof f))throw new w(Ai);if(Da(t)>N)throw new w(Ri);for(;r.size;)await g.allSettled(e.from(r));return await(async(t,n,r)=>{const s=Xi(t.Gt),{Re:a,Ae:o}=await(async(t,n,r)=>{const{Gt:s,writer:i}=t,a=new f(n);await je(i);let o=0,c=0,d=Qi(i),u=$i(i);for(const[t,n]of e.from(s.values()).entries()){const{offset:e,rawFilename:l,ee:w,ne:f,re:p,se:h,ie:m,rawExtraField:y,rawComment:g,versionMadeBy:x,ae:S,oe:b,de:z,ce:E,ue:F,ve:D,internalFileAttributes:R,externalFileAttributes:A,diskNumberStart:v,uncompressedSize:C,compressedSize:T}=n,k=Da(w,f,p,h,m,y),U=46+Da(l,g)+k;ta(i,o+U-c)&&(await oa(i,a.slice(c,o)),c=o,await i.closeDisk()),0==t&&(d=Qi(i),u=$i(i)),z||za(b,18,C),E||za(b,14,T),(D||F)&&n.version<45&&ba(b,0,45);const I=Ji(U);if(I.Ce(V),I.Te(x),I.ke(S.subarray(0,24)),I.Te(k),I.Te(Da(g)),I.Te(F?N:v),I.Te(R),I.Ce(A),I.Ce(D?M:e),I.ke(l),I.ke(w),I.ke(f),I.ke(p),I.ke(h),I.ke(m),I.ke(y),I.ke(g),Fa(a,I.v,o),o+=U,r.onprogress)try{await r.onprogress(t+1,s.size,new Es(n))}catch{}}return await oa(i,c?a.slice(c):a),{Re:{diskNumber:d,diskOffset:u},Ae:a}})(t,s,r),c=await(async(t,e,n)=>{const r=pa(t,n,At);if(r){const n=await r(e),s=Da(n);if(s>N)throw new w("Signature data exceeds 64KB");const i=Ji(6+s);i.Ce(B),i.Te(s),i.ke(n);const{writer:a}=t;return ta(a,Da(i.v))&&await a.closeDisk(),await oa(a,i.v),6+s}return 0})(t,o,r);await(async(t,e,n,r)=>{const{writer:s}=t,{Re:a,Ue:o}=r;let{Ie:c}=r,d=t.Gt.size,u=a.diskNumber,l=ea(t,a),f=Qi(s);ta(s,j)&&f++;let p=wa(t,n,cs);if(l>=M||c>=M||d>=N||f>=N){if(!1===p)throw new w(Oi);p=!0}const h=Da(e);if(h>N)throw new w(Ri);const m=Ji(p?98:j);ta(s,Da(m.v)+h)&&await s.closeDisk(),f=Qi(s),p&&(m.Ce(H),m.Oe(44),m.Te(45),m.Te(45),m.Ce(f),m.Ce(u),m.Oe(d),m.Oe(d),m.Oe(c),m.Oe(l),m.Ce(q),m.Ce(f),m.Oe(i(ea(t,s))+i(c)+i(o)),m.Ce(f+1),wa(t,n,"supportZip64SplitFile",!0)&&(f=N,u=N),d=N,l=M,c=M),m.Ce(Z),m.Te(f),m.Te(u),m.Te(d),m.Te(d),m.Ce(c),m.Ce(l),m.Te(h),await oa(s,m.v),h&&await oa(s,e)})(t,n,r,{Re:a,Ie:s,Ue:c})})(this,t,n),!qe(s)&&wa(this,n,Et)||await a.getWriter().close(),s.getData?s.getData():a}}function Vi(t,n,r){n=n.trim();let s=wa(t,r,os),i=wa(t,r,ls,s?20:768);const a=wa(t,r,ps),o=ya(t,r,"uid"),c=ya(t,r,"gid");let d=ya(t,r,gs),u=wa(t,r,"unixExtraFieldType"),l=wa(t,r,xs),f=wa(t,r,Ss),p=wa(t,r,bs);if(_t(o,M,"Invalid uid (must be integer 0..2^32-1)"),_t(c,M,"Invalid gid (must be integer 0..2^32-1)"),_t(d,N,"Invalid UNIX mode (must be integer 0..65535)"),u!==dt&&u!==_i&&u!==Li)throw new w("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(u===Li&&(o!==dt&&o>N||c!==dt&&c>N))throw new w("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");u!==dt||o===dt&&c===dt||(u=_i);let h=ya(t,r,is),m=wa(t,r,as);const y=h!==dt||m!==dt;if(o!==dt||c!==dt||d!==dt||u||a?(s=!1,i=i&_|768):y&&(s=!0,i&=_),_t(h,_,"Invalid msdosAttributesRaw (must be integer 0..255)"),m&&(typeof m!==ft||e.isArray(m)))throw new w("Invalid msdosAttributes (must be an object with boolean flags)");if(i>N)throw new w(vi);let g=ha(t,r,ns,ss);const x=g!==dt;x||(g=0),!r[fs]&&n.endsWith(it)&&(r[fs]=!0);const S=wa(t,r,fs);if(S?(n.endsWith(it)||(n+=it),x||(g=16,s||(g|=16877<<16))):s||x||(g=a?493<<16:27525120),!s){const t=d!==dt||!!(l||f||p);d=d===dt?g>>16&N:d&N,l?d|=rt:l=!!(d&rt),f?d|=st:f=!!(d&st),p?d|=512:p=!!(512&d),x&&!t||(S?d=-61441&d|nt:d&et||(d|=32768),g=(d&N)<<16|g&N)}return({msdosAttributesRaw:h,msdosAttributes:m}=((t,e)=>{if(t!==dt)t&=_;else if(e!==dt){const{readOnly:n,hidden:r,system:s,directory:i,archive:a}=e;let o=0;n&&(o|=1),r&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),t=o&_}return e===dt&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(h,m)),y&&(g=g&M|h&_),{name:n,we:{versionMadeBy:i,msDosCompatible:!!s,externalFileAttributes:g,unixExternalUpper:g>>16&N,uid:o,gid:c,unixMode:d,unixExtraFieldType:u,symlink:d!==dt&&40960==(d&et),setuid:l,setgid:f,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}}function Zi(t,e,n){const r=pa(t,n,"encodeText")||wn;let i=r(e,vt);if(i===dt&&(i=wn(e)),Da(i)>N)throw new w("File entry name exceeds 64KB");const a=n[Zr]||"";if(typeof a!=pt)throw new w("Invalid file entry comment (must be a string)");let c=r(a,Ct);if(c===dt&&(c=wn(a)),Da(c)>N)throw new w("File entry comment exceeds 64KB");const d=wa(t,n,us,20);if(d>N)throw new w(vi);const u=fa(t,n,Gr,new o),l=fa(t,n,Jr),f=fa(t,n,$r),p=ha(t,n,es,rs,0),h=wa(t,n,gt),m=wa(t,n,mt),y=wa(t,n,yt);Mt(m,y);const g=ya(t,n,"encryptionStrength",3),x=wa(t,n,ws),S=wa(t,n,"extendedTimestamp",!0),b=wa(t,n,"ntfsTimestamp"),z=wa(t,n,"keepOrder",!0),E=wa(t,n,St),F=wa(t,n,zt),D=wa(t,n,"bufferedWrite"),R=pa(t,n,"createTempStream"),A=wa(t,n,"dataDescriptorSignature",!0),v=Ot(wa(t,n,xt)),C=wa(t,n,"useUnicodeFileNames",!0),T=wa(t,n,hs),k=h||T===dt?dt:Qe(T);if(!h&&T!==dt&&0!==T&&8!==T&&!k)throw new w("Compression method not supported");let U=ya(t,n,"level");if(_t(U,9,"Invalid level (must be integer 0..9)"),t.options[Rt]){if(m!==dt||y!==dt)throw new w("Encryption is not supported in USDZ files");U===dt&&T===dt&&(U=0)}h&&(U=dt);let I=wa(t,n,bt),O=wa(t,n,Ft);D&&O===dt&&(O=!1),(O===dt||x)&&(O=!0),U!==dt&&6!=U&&(I=!1);const M=wa(t,n,cs);if(!(x||m===dt&&y===dt||s.isInteger(g)&&g>=1&&g<=3))throw new w("The strength must equal 1, 2, or 3");const _=Hi(n[ys]),L=Hi(n.localExtraField);return{comment:a,we:{rawFilename:i,rawComment:c,version:d,lastModDate:u,lastAccessDate:l,creationDate:f,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:g,zipCrypto:x,extendedTimestamp:S,ntfsTimestamp:b,keepOrder:z,useWebWorkers:E,transferStreams:F,bufferedWrite:D,createTempStream:R,dataDescriptorSignature:A,signal:v,useUnicodeFileNames:C,compressionMethod:T,format:k?k.format:dt,codecURI:k?k.codecURI:dt,Me:k?k.versionNeeded:dt,level:U,useCompressionStream:I,dataDescriptor:O,zip64:M,rawExtraField:_,Ne:L}}}function Hi(t){if(!t)return ht;if(!(t instanceof c))throw new w("Invalid extra field (must be a Map)");let e=0,n=0;t.forEach((t,n)=>{if(Nt(n,N,"Invalid extra field type (must be integer 0..65535)"),!(t instanceof f))throw new w("Invalid extra field data (must be a Uint8Array)");if(Da(t)>N)throw new w(Ci);e+=4+Da(t)});const r=new f(e),s=jt(r);return t.forEach((t,e)=>{ba(s,n,e),ba(s,n+2,Da(t)),Fa(r,t,n+4),n+=4+Da(t)}),r}function qi(t,e,n,r,s){const{passThrough:i,zipCrypto:a,password:o,rawPassword:c,encryptionStrength:d}=r;let{dataDescriptor:u,zip64:l,level:f,compressionMethod:p}=r,h=0,m=0;if(i&&e){if(m=s[qr],m===dt)throw new w("Undefined uncompressed size");if(p===dt)throw new w("Undefined compression method")}const y=!0===l,g=wa(t,s,ds);if(e&&i&&!g&&Da(o,c))throw new w("Encryption is not supported when the 'passThrough' option is set");const x=e&&(!!(o&&Da(o)||c&&Da(c))||i&&g);e||(f=0,p=0);const S=x?a?12:16+4*d:0;e&&(i?(s.uncompressedSize=m,h=n===dt?ga(m)+S:n):n===dt?(u=!0,(l||l===dt)&&(l=!0,m=h=4294967296)):(s.uncompressedSize=m=n,h=(xa(p,f)?ga(m):m)+S));const b=!(x||e&&(0!==n||i)||xa(p,f));b&&!a&&wa(t,s,Ft)===dt&&(u=!1);const z=y||m>=M,E=y||h>=M;if(z||E){if(!1===l)throw new w(Oi);l=!0}return l=l||!1,{_e:h,we:{dataDescriptor:u,he:b,zip64:l,de:z,ce:E,uncompressedSize:m,level:f,compressionMethod:p,encrypted:x}}}function ji(t){const{rawFilename:e,lastModDate:n,lastAccessDate:r,creationDate:s,level:i,zip64:c,zipCrypto:d,useUnicodeFileNames:u,dataDescriptor:l,directory:f,rawExtraField:p,Ne:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:x,encrypted:S,de:b,ce:z,uncompressedSize:E,crc32:F}=t;let{version:D,compressionMethod:R}=t;const A=!f&&xa(R,i);let v;const C=x||!A,T=c&&(t.bufferedWrite||!l||!b&&!z||C),k=T||c&&l&&(b||z);if(c&&(b||z)){const t=20,e=Ji(t);if(e.Te(1),e.Te(t-4),v=e.v,T&&(e.Oe(E),C)){const t=S?d?12:16+4*m:0;e.Oe(x?0:E+t)}}else v=ht;let U,I,O,M,_;if(S&&!d){const t=Ji(Da(Ni)+2);t.Te(G),t.ke(Ni),U=t.v,U[8]=m}else U=ht;if(y){const t=da(n),e=ua(t);if(e){const e=9+(r?4:0)+(s?4:0),n=Ji(e);M=1+(r?2:0)+(s?4:0),n.Te(X),n.Te(e-4),n.Le(M),n.Ce(t),r&&n.Ce(la(da(r))),s&&n.Ce(la(da(s))),O=n.v}else O=ht;if(g===dt?!e||r||s:g)try{const t=ca(n),e=Ji(36);e.Te(10),e.Te(32),e.Pe(4),e.Te(1),e.Te(24),e.Oe(t),e.Oe(r?ca(r):t),e.Oe(s?ca(s):t),I=e.v}catch{I=ht}else I=ht}else I=O=ht;try{const{uid:e,gid:n,unixExtraFieldType:r}=t;if(r!=_i||e===dt&&n===dt)if(r!=Li||e===dt&&n===dt)_=ht;else{const t=Ji(8);t.Te($),t.Te(4),t.Te((e===dt?0:e)&N),t.Te((n===dt?0:n)&N),_=t.v}else{const t=Yi(e===dt?0:e),r=Yi(n===dt?0:n),s=3+t.length+r.length,i=Ji(4+s);i.Te(Q),i.Te(s),i.Le(1),i.Le(t.length),i.ke(t),i.Le(r.length),i.ke(r),_=i.v}}catch{_=ht}R===dt&&(R=A?8:0);const{Me:P}=t;A&&P!==dt&&(D=D>P?D:P),c&&(D=D>45?D:45),S&&!d&&(D=D>51?D:51,x&&F!==dt&&(U[4]=1),ba(jt(U),9,R),R=99);const W=k?Da(v):0,B=W+Da(U,O,I,_,p,h);if(B+(t[Rt]?67:0)>N)throw new w(Ci);const V=new o(2e3*a.ceil(a.floor(n.getTime()/1e3)/2)),{ae:Z,oe:H,rawLastModDate:q}=Ra({version:D,bitFlag:Aa(i,u,l,S,R),compressionMethod:R,uncompressedSize:E,lastModDate:V<ct?ct:V>ot?ot:V,rawFilename:e,ce:z,de:b,extraFieldLength:B}),j=Ji(at+Da(e)+B),K=j.v,Y=jt(K);return j.Ce(L),j.ke(Z),j.ke(e),k&&j.ke(v),j.ke(U),j.ke(O),j.ke(I),j.ke(_),j.ke(p),j.ke(h),l&&(z||za(Y,18,0),b||za(Y,22,0)),{fe:K,Fe:Y,ae:Z,oe:H,lastModDate:n,rawLastModDate:q,encrypted:S,compressed:A,version:D,compressionMethod:R,le:M,ee:ht,be:W,re:O,se:I,ie:_,ne:U,extraFieldLength:B}}function Ki(t,e){const{me:n}=t;let{fe:r,extraFieldLength:s}=n,i=64-(e+Da(r))%64;i<4&&(i+=64);const a=new f(i),o=jt(a);ba(o,0,J),ba(o,2,i-4);const c=r;n.fe=r=new f(Da(c)+i),Fa(r,c),Fa(r,a,Da(c));const d=jt(r);ba(d,28,s+i),n.Fe=d,t.Se+=i}function Yi(t){const e=new f(4);jt(e).setUint32(0,t,!0);let n=4;for(;n>1&&0===e[n-1];)n--;return e.subarray(0,n)}function Gi({zip64:t,dataDescriptor:e,dataDescriptorSignature:n}){let r,s=ht,i=0,a=t?20:12;return n&&(a+=4),e&&(s=new f(a),r=jt(s),n&&(i=4,za(r,0,W))),{pe:s,ze:r,Ee:i}}function Xi(t){let e=0;for(const[,n]of t){const{rawFilename:t,ne:r,rawComment:s,se:i,ie:a,rawExtraField:o,extendedTimestamp:c,le:d,lastModDate:u,de:l,ce:f,uncompressedSize:p,compressedSize:h}=n,m=n.offset>=M,y=n.diskNumberStart>=N;let g,x;if(m||y||l||f){const t=4+(l?8:0)+(f?8:0)+(m?8:0)+(y?4:0),e=Ji(t);e.Te(1),e.Te(t-4),l&&e.Oe(p),f&&e.Oe(h),m&&e.Oe(n.offset),y&&e.Ce(n.diskNumberStart),g=e.v}else g=ht;n.ee=g,n.ve=m,n.ue=y;const S=da(u);if(c&&ua(S)){const t=Ji(9);t.Te(X),t.Te(5),t.Le(d),t.Ce(S),x=t.v}else x=ht;n.re=x;const b=Da(g,r,i,a,x,o);if(b>N)throw new w(Ci);e+=46+Da(t,s)+b}return e}function Ji(t){const e=new f(t),n=jt(e);let r=0;return{v:e,Le:t=>{((t,e,n)=>{t.setUint8(e,n)})(n,r,t),r+=1},Te:t=>{ba(n,r,t),r+=2},Ce:t=>{za(n,r,t),r+=4},Oe:t=>{Ea(n,r,i(t)),r+=8},ke:t=>{Fa(e,t,r),r+=Da(t)},Pe:t=>r+=t}}function Qi(t){const{diskNumber:e=0}=t;return e}function $i(t){const{diskOffset:e=0}=t;return e}function ta(t,e){const{availableSize:n=ut}=t;return e>n}function ea(t,{diskNumber:e=0,diskOffset:n=0}){return t.offset-n-(e?t.Jt:0)}function na(t){const e=jt(t);let n=0;for(;n+4<=Da(t);){const r=4+Sa(e,n+2);if(1==Sa(e,n))return na(Ht(t.subarray(0,n),t.subarray(a.min(n+r,Da(t)))));n+=r}return t}async function ra(t,e,n,r){if(r>0){const{writer:s}=t;await Ge(e,{offset:n,size:r}).pipeTo(s.writable,{preventClose:!0,preventAbort:!0}),s.size+=r,t.offset+=r}}async function sa(t,e){const n=await Ye(t,e,at);if(Da(n)<at)return at;const r=jt(n);return at+Sa(r,26)+Sa(r,28)}function ia(t,{offset:e,diskNumberStart:n}){return e+(t.O?t.O(n):0)}function aa(){const t=new f(4);return za(jt(t),0,P),t}async function oa(t,e){const{writable:n}=t,r=n.getWriter();try{await r.ready,t.size+=Da(e),await r.write(e)}finally{r.releaseLock()}}function ca(t){if(t){const e=(i(t.getTime())+i(116444736e5))*i(1e4);return e<Ui?Ui:e>Ii?Ii:e}}function da(t){return a.floor(t.getTime()/1e3)}function ua(t){return t>=Ti&&t<=ki}function la(t){return a.min(ki,a.max(Ti,t))}function wa(t,e,n,r){const s=e[n]===dt?t.options[n]:e[n];return s===dt?r:s}function fa(t,e,n,r){const i=wa(t,e,n,r);if(null===i)return r;if(i!==dt&&(typeof i.getTime!=wt||s.isNaN(i.getTime())))throw new w("Invalid date (must be a valid Date instance)");return i}function pa(t,e,n){return It(wa(t,e,n))}function ha(t,e,n,r,s){const i=ma(e,n,r),a=i===dt?ma(t.options,n,r):i;return a===dt?s:a}function ma(t,e,n){return t[e]===dt?t[n]:t[e]}function ya(t,e,n,r){return Lt(wa(t,e,n,r))}function ga(t){return t+5*(a.floor(t/16383)+1)}function xa(t,e){return t===dt?e===dt||e>0:0!==t}function Sa(t,e){return t.getUint16(e,!0)}function ba(t,e,n){t.setUint16(e,n,!0)}function za(t,e,n){t.setUint32(e,n,!0)}function Ea(t,e,n){t.setBigUint64(e,n,!0)}function Fa(t,e,n){t.set(e,n)}function Da(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Ra({version:t,bitFlag:e,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,ce:c,de:d,extraFieldLength:u}){const l=Ji(26),w=l.v,f=jt(w);if(l.Te(t),l.Te(e),l.Te(n),a===dt){const t=new h(1),e=jt(t);ba(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),ba(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=t[0]}return l.Ce(a),l.Pe(4),c||s!==dt?l.Ce(c?M:s):l.Pe(4),d||r!==dt?l.Ce(d?M:r):l.Pe(4),l.Te(Da(o)),l.Te(u),{ae:w,oe:f,rawLastModDate:a}}function Aa(t,e,n,r,s){let i=0;return e&&(i|=tt),n&&(i|=8),8!=s&&9!=s||(t>=0&&t<=3&&(i|=6),t>3&&t<=5&&(i|=4),9==t&&(i|=2)),r&&(i|=1),i}const va="Entry filename already exists",Ca="Readable stream already consumed",Ta="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",ka="Invalid readerOptions (must be an object)",Ua="zipjs-abort-export",Ia="The operation was aborted",Oa=new d([1,G,10,X,28789,25461,J,Q,$,22613,13]);class Ma{constructor(t,e,r,s){const i=this;if(t.root&&s&&s.getChildByName(e))throw new w(va);r||(r={}),n.assign(i,{fs:t,name:e,data:r.data,options:r.options&&n.assign({},r.options),id:t.We++,parent:s,children:[],uncompressedSize:r.uncompressedSize||0,Be:r.Be||r.uncompressedSize===dt,passThrough:r.passThrough,Ve:r.Ve||new o}),!s&&t.root||(t.entries[i.id]=i),s&&i.parent.children.push(i)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,n=this.parent;for(;n&&n!=t;)e=(n.name?n.name+"/":"")+e,n=n.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return!!e}rename(t){const e=this.parent;if(e&&e.getChildByName(t))throw new w(va);this.name=t}setOptions(t){const e=n.assign({},this.options,t);this.options=n.fromEntries(n.entries(e).filter(([,t])=>t!==dt))}}class Na extends Ma{constructor(t,e,n,r){super(t,e,n,r);const s=this;s.Reader=n.Reader,s.Writer=n.Writer,n.getData&&(s.getData=n.getData)}clone(){return new Na(this.fs,this.name,this)}async getData(t,e={}){const n=this;if(!t||t.constructor==n.Writer&&n.data&&((t,e)=>{const{contentType:n}=t;return n===dt||(t.constructor==ye?e.type==n:t.constructor!=fe||e.startsWith("data:"+(n||"")+";base64,"))})(t,n.data))return n.data;{const r=n.reader=qa(n.Reader,n.data,e),s=n.uncompressedSize||r.size;await g.all([je(r),je(t,s)]);const i=Ot(e.signal),a=((t,e,n,r)=>{const{onstart:s,onprogress:i,onend:a}=n,{readable:o}=e;return t.data instanceof Es||!s&&!i&&!a?o:Kt(o).pipeThrough(new vr({onstart:s,onprogress:i,onend:a,size:e.size}),{signal:r})})(n,r,e,i),o=!qe(t)&&!!e.preventClose;return n.uncompressedSize=r.size,await Kt(a).pipeTo(Gt(t.writable),{signal:i,preventClose:o,preventAbort:o}),t.getData?t.getData():t.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,n.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(t.message==gn)return!1;throw t}}getText(t,e){return this.getData(new Se(t),e)}getBlob(t,e){return this.getData(new ye(t),e)}getData64URI(t,e){return this.getData(new fe(t),e)}getUint8Array(t){return this.getData(new We,t)}getWritable(t=new R,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return qt(await this.getUint8Array(t)).buffer}replaceBlob(t){n.assign(this,{data:t,Reader:me,Writer:ye,reader:null})}replaceText(t){n.assign(this,{data:t,Reader:ge,Writer:Se,reader:null})}replaceData64URI(t){n.assign(this,{data:t,Reader:we,Writer:fe,reader:null})}replaceUint8Array(t){n.assign(this,{data:t,Reader:Pe,Writer:We,reader:null})}replaceReadable(t){n.assign(this,{data:null,Reader:Za(t),Writer:null,reader:null})}}class _a extends Ma{constructor(t,e,n,r){super(t,e,n,r),this.directory=!0}clone(t){const e=this,n=new _a(e.fs,e.name,e);return t&&(n.children=e.children.map(e=>{const r=e.clone(t);return r.parent=n,r})),n}addDirectory(t,e){return ro(this,t,{options:e},!0)}addText(t,e,n={}){return ro(this,t,{data:e,Reader:ge,Writer:Se,options:n,uncompressedSize:xe(e)})}addBlob(t,e,n={}){return ro(this,t,{data:e,Reader:me,Writer:ye,options:n,uncompressedSize:e.size})}addData64URI(t,e,n={}){let r=e.length;for(;"="==e.charAt(r-1);)r--;const s=e.indexOf(",")+1;return ro(this,t,{data:e,Reader:we,Writer:fe,options:n,uncompressedSize:a.floor(.75*(r-s))})}addUint8Array(t,e,n={}){return ro(this,t,{data:e,Reader:Pe,Writer:We,options:n,uncompressedSize:e.length})}addHttpContent(t,e,n={}){return ro(this,t,{data:e,Reader:class extends Le{constructor(t){super(t,n)}},options:n})}addReadable(t,e,n={}){return ro(this,t,{Reader:Za(e),options:n})}addFileSystemEntry(t,e={}){return to(this,t,e)}addFileSystemHandle(t,e={}){return to(this,t,e)}addFile(t,e={}){return(e=n.assign({},e)).lastModDate||(e.lastModDate=new o(t.lastModified)),ro(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}importBlob(t,e){return this.importZip(new me(t),e)}importData64URI(t,e){return this.importZip(new we(t),e)}importUint8Array(t,e){return this.importZip(new Pe(t),e)}importHttpContent(t,e){return this.importZip(new Le(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new ye(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new fe(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new We,t)}async exportWritable(t=new R,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return(async(t,e,r)=>{const{onstart:s,onprogress:i,onend:a}=r,o=Ja(r.readerOptions),c=new AbortController,{signal:d}=c,u=((t,e)=>{if(!Ot(t))return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const n=()=>e.abort(t.reason);return t.addEventListener("abort",n,{once:!0}),()=>t.removeEventListener("abort",n)})(r.signal,c),l=n.assign({},r,o,{signal:d,onstart:dt,onprogress:dt,onend:dt,preventClose:!1}),f=Wa([t],t=>Va(t,l.passThrough)),p=[];let h=!1,m=0;try{s&&await Cr(s,f),await x(t,e),a&&await Cr(a,m)}catch(t){try{t.exportedEntryNames=p}catch{}throw t}finally{u()}return e;function y(t){const e=t.getWriter();return new R({async write(t){await e.write(t),m+=t.length,i&&await Cr(i,m,f)},close:()=>e.close(),abort:t=>e.abort(t)})}async function x(t,e){if(r.concurrent){const n=(await g.allSettled(t.children.map(t=>S(t,e)))).filter(t=>"rejected"==t.status);if(n.length){const t=n.filter(t=>!Ya(t.reason));throw(t=>{const[e]=t,n=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(n.length)try{e.entryErrors=[...e.entryErrors||[],...n]}catch{}return e})((t.length?t:n).map(t=>t.reason))}}else for(const n of t.children)await S(n,e)}async function S(e,n){if(d.aborted){if(h||Ya(d.reason))return;throw d.reason===dt?new DOMException(Ia,"AbortError"):d.reason}try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await x(e,t)}else{const r=await n.getFileHandle(e.name,{create:!0}),s=await r.createWritable();try{await e.getData({writable:y(s)},l)}catch(t){throw h?new w(Ua):t}p.push(e.getRelativeName(t))}}catch(n){h=!0,c.abort(new w(Ua));try{n.entryName===dt&&(n.entryName=e.getRelativeName(t),n.entryId=e.id)}catch{}throw n}}})(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==wt?(r=t,e=n.assign({},r.options,e)):(await je(t),r=new Gs(t,e));const s=[],i=await r.getEntries(e);for(const t of i){let r=this;try{const i=t.filename.split("/").filter(t=>""!=t&&"."!=t),a=i.pop();if(i.forEach(t=>{const e=r;if(r=r.getChildByName(t),r){if(!r.directory)throw new w(va)}else r=new _a(this.fs,t,{data:null},e),s.push(r)}),t.directory){let e=r;if(a)if(e=r.getChildByName(a),e){if(!e.directory)throw new w(va)}else e=new _a(this.fs,a,{data:null},r),s.push(e);e==this||e.data||(e.data=t)}else s.push(ro(r,a,{data:t,Reader:Ha(n.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}catch(e){try{e.cause={entry:t}}catch{}throw e}}return s}async exportZip(t,e={}){const r=this;(e=n.assign({},e)).bufferedWrite===dt&&(e.bufferedWrite=!0);const[s]=await g.all([ja(r,Ja(e.readerOptions)),je(t)]),i=new Bi(t,e);return await(async(t,e,r,s,i)=>{const{onstart:a,onprogress:o,onend:c,onentryprogress:d}=s,u=e,l=Wa(e.children,t=>$a(t)?0:1);let w=0,f=0;if(a&&await Cr(a,r),s.bufferedWrite)await async function t(e){const n=(await g.allSettled(e.children.map(async e=>{await p(e),await t(e)}))).find(t=>"rejected"==t.status);if(n)throw n.reason}(e);else for(const t of e.getChildren({recursive:!0}))await p(t);async function p(e){if($a(e))return;const{name:a,Ze:c}=Ga(e,u,s);let p=0;const h=await t.add(a,i.get(e),n.assign(c,{onstart:dt,onend:dt,onprogress:async t=>{w+=t-p,p=t,o&&await Cr(o,w,r)}}));f++,d&&await Cr(d,f,l,h)}c&&await Cr(c,w)})(i,r,Wa([r],Ba),e,s),await i.close(e.globalComment),t.getData?t.getData():t.writable}getExportedSize(t={}){const e=this;Ja((t=n.assign({},t)).readerOptions),t.bufferedWrite===dt&&(t.bufferedWrite=!0);const r=!t.bufferedWrite||!1!==t.keepOrder&&e.children.every(t=>!t.children.length);return(async(t,e,r,s)=>{const i={options:t};if(It(t[At]))throw new w(Mi);if(s!==dt&&!(s instanceof f))throw new w(Ai);const o=Da(s);if(o>N)throw new w(Ri);const d=t[Rt],u=new c;let l=!!d;const p=t[Dt]===dt?0:t[Dt];let h=p,m=ut;for(const t of e){let{name:e}=t;const{size:r}=t,s=n.assign({},t.options);e=e.trim(),wa(i,s,fs)&&!e.endsWith(it)&&(e+=it);const o=Vi(i,e,s);({name:e}=o);const{we:c}=Zi(i,e,s);0==c.level||c.compressionMethod!==dt||c.passThrough||await Rr(Bt())||(c.level=0);const l=!wa(i,s,fs);if(l&&r===dt)throw new w(Mi);const{_e:f,we:p}=qi(i,l,r,c,s);if(l&&!c.passThrough&&xa(p.compressionMethod,p.level))throw new w(Mi);const y=n.assign({},s,o.we,c,p,{[Rt]:d}),g=ji(y),x=Gi(y),S={me:g,Se:Da(g.fe,x.pe)};d&&Ki(S,h);const b=l?f:0;u.set(e,n.assign({},y,g,{offset:h,diskNumberStart:0,compressedSize:b}));const z=S.Se+b;m=a.min(m,z),h+=z}if(u.size&&h-m>=M&&(l=!0),l&&!r)throw new w(Mi);const y=Xi(u);let g=wa(i,t,cs);if(h>=M||y>=M||u.size>=N){if(!1===g)throw new w(Oi);g=!0}return h-p+y+o+(g?98:j)})(t,e.getChildren({recursive:!0}).filter(t=>!$a(t)).map(n=>{const{name:r,Ze:s}=Ga(n,e,t);return{name:r,size:n.directory?0:Xa(n,Qa(n,t)),options:s}}),r,t.globalComment)}getChildByName(t){const e=this.children;for(let n=0;n<e.length;n++){const r=e[n];if(r.name==t)return r}}getChildren(t={}){return((t,e)=>{const n=[],r=[t];let s=0;for(;s<r.length;)for(const t of r[s++].children)n.push(t),e&&r.push(t);return n})(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const n=this.children;return!(await g.all(n.map(n=>n.checkPassword(t,e)))).includes(!1)}}class La{constructor(){no(this)}get children(){return this.root.children}remove(t){Ka(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const n of t.children)e.push(n)}t.parent=dt}move(t,e){if(t==this.root)throw new w("Root directory cannot be moved");if(!e.directory)throw new w("Target entry is not a directory");if(e.isDescendantOf(t))throw new w("Entry is a ancestor of target entry");if(t!=e){const n=e.getChildByName(t.name);if(n){if(n!=t)throw new w(va)}else Ka(t),t.parent=e,e.children.push(t),((t,e)=>{const n=[e];for(;n.length;){const e=n.pop();t.entries[e.id]=e;for(const t of e.children)n.push(t)}})(this,t)}}find(t){const e=t.split("/");let n=this.root;for(let t=0;n&&t<e.length;t++)n=n.getChildByName(e[t]);return n||(n=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),n}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,n){return this.root.addText(t,e,n)}addBlob(t,e,n){return this.root.addBlob(t,e,n)}addData64URI(t,e,n){return this.root.addData64URI(t,e,n)}addUint8Array(t,e,n){return this.root.addUint8Array(t,e,n)}addHttpContent(t,e,n){return this.root.addHttpContent(t,e,n)}addReadable(t,e,n){return this.root.addReadable(t,e,n)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}importBlob(t,e){return no(this),this.root.importBlob(t,e)}importData64URI(t,e){return no(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return no(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return no(this),this.root.importHttpContent(t,e)}importReadable(t,e){return no(this),this.root.importReadable(t,e)}importZip(t,e){return no(this),this.root.importZip(t,e)}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}}const Pa={FS:La,ZipDirectoryEntry:_a,ZipFileEntry:Na};function Wa(t,n){let r=0;const s=e.from(t);for(;s.length;){const t=s.pop();r+=n(t)||0;for(const e of t.children)s.push(e)}return r}function Ba(t){return t.uncompressedSize}function Va(t,e){const{data:n}=t;return e&&n instanceof Es?n.compressedSize:t.uncompressedSize}function Za(t){let e;return()=>{if(e)throw new w(Ca);return e=!0,{readable:t}}}function Ha(t){return class extends ue{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=n.assign({},t,e.options),{checkOverlappingEntry:s,checkOverlappingEntryOnly:i}=r,a=await e.entry.getData(new ye,n.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:i||s,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=a,e.He=new me(a),e.size=a.size,super.init()}readUint8Array(t,e){return this.He.readUint8Array(t,e)}}}function qa(t,e,n){return t.prototype?new t(e,n):t(e,n)}async function ja(t,e){const n=[],r=[t],s=new c;for(;r.length;){const t=r.pop();for(const e of t.children)e.directory?r.push(e):n.push(e)}return await g.all(n.map(async t=>{const n=t.reader=qa(t.Reader,t.data,e);s.set(t,n);try{await je(n)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}n.size!==dt&&(t.uncompressedSize=n.size,t.Be=!1)})),s}function Ka(t){if(t.parent){const e=t.parent.children;e.forEach((n,r)=>{n.id==t.id&&e.splice(r,1)})}}function Ya(t){return!!t&&t.message==Ua}function Ga(t,e,r){const s=r.relativePath?t.getRelativeName(e):t.getFullname(),i=t.options||{};let a={},o={};if(t.data instanceof Es){const{externalFileAttributes:e,versionMadeBy:s,comment:i,lastModDate:d,creationDate:u,lastAccessDate:l,uncompressedSize:w,encrypted:f,zipCrypto:p,crc32:h,compressionMethod:m,extraFieldAES:y,internalFileAttributes:g,extraField:x,uid:S,gid:b}=t.data;a={externalFileAttributes:e,versionMadeBy:s,comment:i,lastModDate:d,creationDate:u,lastAccessDate:l,internalFileAttributes:g};const z=(t=>{if(t){const e=new c;if(t.forEach((t,n)=>{Oa.has(n)||e.set(n,t.data)}),e.size)return e}})(x);if(z&&(a.extraField=z),S===dt&&b===dt||n.assign(a,{uid:S,gid:b,unixExtraFieldType:"infozip"}),Qa(t,r)){let t;y&&(t=y.strength),o={passThrough:!0,encrypted:f,zipCrypto:p,crc32:h,uncompressedSize:w,encryptionStrength:t,compressionMethod:m}}}const d=n.assign({lastModDate:t.Ve},a,r,i,o,{directory:t.directory});if(!t.directory&&d.passThrough&&d.uncompressedSize===dt)throw new w(Ta);return{name:s,Ze:d}}function Xa(t,e){const{reader:n}=t;return n&&n.size!==dt?n.size:t.Be?dt:Va(t,e)}function Ja(t){if(t&&(typeof t!=ft||e.isArray(t)))throw new w(ka);return t}function Qa(t,e){const{readerOptions:n}=e;return!(t.directory||!(t.passThrough||n&&n.passThrough))}function $a(t){return t.directory&&null===t.data}function to(t,e,r){return async function t(e,s,i,a=""){if(s){const c=a?a+"/"+s.name:s.name;try{if((s.isFile||s.isDirectory)&&(s=await eo(s)),"file"==s.kind){const t=await s.getFile();i.push(ro(e,t.name,{Reader:()=>({readable:t.stream(),size:t.size}),options:n.assign({},{lastModDate:new o(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==s.kind){const n=e.addDirectory(s.name,r);i.push(n);for await(const e of s.values())await t(n,e,i,c)}}catch(t){try{t.entryName===dt&&(t.entryName=c)}catch{}throw t}}return i}(t,e,[])}async function eo(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new g((e,n)=>t.file(e,n))),t.isDirectory){e.kind="directory";const n=await(async t=>{const e=[];function n(t,r,s){t.readEntries(async i=>{if(i.length){for(const t of i)e.push(await eo(t));n(t,r,s)}else r(e)},s)}return await new g((e,r)=>n(t.createReader(),e,r)),{[k.iterator](){let t=0;return{next(){const n={value:e[t],done:t==e.length};return t++,n}}}}})(t);e.values=()=>n}return e}function no(t){t.entries=[],t.We=0,t.root=new _a(t)}function ro(t,e,n,r){if(t.directory)return r?new _a(t.fs,e,n,t):new Na(t.fs,e,n,t);throw new w("Parent entry is not a directory")}t.ERR_ABORTED=Ia,t.ERR_ENTRY_EXISTS=va,t.ERR_INVALID_PASS_THROUGH=Ta,t.ERR_INVALID_READER_OPTIONS=ka,t.ERR_READABLE_CONSUMED=Ca,t.ZipDirectoryEntry=_a,t.ZipEntry=Ma,t.ZipFS=La,t.ZipFileEntry=Na,t.fs=Pa});