@zip.js/zip.js 2.8.47 → 2.8.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:s,BigInt:i,Math:a,Date:o,Map:c,Set:d,Response:l,URL:u,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:R,ReadableStream:E,WritableStream:D,CompressionStream:A,DecompressionStream:k,navigator:T,Worker:C}="undefined"!=typeof globalThis?globalThis:this||self,v=4294967295,U=65535,I=255,O=67324752,M=134695760,_=M,N=84233040,L=33639248,P=101010256,W=101075792,B=117853008,Z=22,V=20,H=56,j=39169,q=21589,K=6534,Y=30837,G=30805,X=2048,J=16384,Q=2048,$=1024,ee="/",te=30,re=new o(2107,11,31,23,59,58),ne=new o(1980,0,1),se=void 0,ie=1/0,ae="undefined",oe="function",ce=new f;let de=2;try{typeof T!=ae&&T.hardwareConcurrency&&(de=T.hardwareConcurrency)}catch{}const le={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:de,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=ae&&A,DecompressionStream:typeof k!=ae&&k};function ue(){return le}function we(e){return a.max(e.chunkSize,64)}function fe(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function pe(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function he(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function me(e){if(e instanceof E)return e;const t=e.getReader();return new E({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function ye(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const ge="HTTP error ",xe="HTTP Range not supported",Se="HTTP resource changed",be="Content-Range",ze="Range",Fe="GET",Re="bytes",Ee=16777216,De="writable",Ae=Symbol();class ke{constructor(){this.size=0}init(){this.initialized=!0}}class Te extends ke{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=we(ue())}={}){const n=this;let s=0;return new E({async pull(i){const o=t===se?r:a.min(r,t-s),c=await lt(n,e+s,o);i.enqueue(c),s+r>t||t===se&&!c.length&&o?i.close():s+=r}})}}class Ce extends ke{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w("Writer not initialized");return e.writeUint8Array(pe(t))}});r.defineProperty(e,De,{get:()=>t})}writeUint8Array(){}}class ve extends Te{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,o:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{o:r,dataURI:n}=this,s=new f(t),i=4*a.floor(e/3),o=atob(n.substring(i+r,4*a.ceil((e+t)/3)+r)),c=e-3*a.floor(i/4);let d=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),d++;return d<s.length?s.subarray(0,d):s}}class Ue extends Ce{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const i=t.pending.length;for(t.pending="",r=0;r<3*a.floor((i+e.length)/3)-i;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}}let Ie,Oe;class Me extends Te{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Oe||(Oe=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();Ie=1==t}catch{Ie=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Ie?me(t.slice(n,n+s).stream()):super.createReadable(e):me(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let i=await s.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,n)),new f(i)}}class _e extends ke{constructor(e){super();const t=this,n=new R;if(r.defineProperty(t,De,{get:()=>n.writable}),typeof y.prototype.stream!=oe||new y([]).stream()instanceof E){const r=[];e&&r.push(["Content-Type",e]),t.blob=new l(n.readable,{headers:r}).blob()}else{const r=[];t.blob=n.readable.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class Ne extends Me{constructor(e){super(new y([e],{type:"text/plain"}))}}class Le extends _e{constructor(e){super(e),r.assign(this,{encoding:e,l:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,l:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new g((s,i)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(n,e)})}}}class Pe extends Te{constructor(e,t){super(),Be(this,e,t)}async init(){await Ze(this,et,Xe),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:i}=t;if((r||n)&&i!==se){const{offset:r=0,size:n=i-r}=e||{};if(n>0&&i>r)return((e,t,r)=>{let n,i=t,o=0,c=r;return new E({start:()=>d(),async pull(e){n||await d();const{value:t,done:r}=await n.read();if(r)throw new w(xe);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=n;n=se,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function d(){const t=a.min(e.maximumRangeSize,c),r=await et(Fe,e,Ye(e,i,t));if(206!=r.status)throw new w(xe);const d=r.headers.get(be);if(d){const e=s(d.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=i)throw new w(xe)}Ke(e,r),qe(e,r),i+=t,o=t,n=r.body.getReader()}})(t,r,a.min(n,i-r))}return super.createReadable(e)}readUint8Array(e,t){return Ve(this,e,t,et,Xe)}}class We extends Te{constructor(e,t){super(),Be(this,e,t)}async init(){await Ze(this,tt,Je),super.init()}readUint8Array(e,t){return Ve(this,e,t,tt,Je)}}function Be(e,t,n){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:d=Ee,fetch:l}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:d,fetch:l})}async function Ze(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ue(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||a)&&(void 0===s||s)){const n=await t(Fe,e,Ye(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==Re))throw new w(xe);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==Z&&(e.h=t)}qe(e,n);const s=He(n);s===se?await $e(e,t,r):e.size=s}}else await $e(e,t,r)}async function Ve(e,t,r,n,i){const{useRangeHeader:a,forceRangeRequests:o,h:c,size:d,options:l}=e;if(a||o){if(c&&t==d-Z&&r==Z)return c;if(d>t&&0!==r){t+r>d&&(r=d-t);const i=await n(Fe,e,Ye(e,t,r));if(206!=i.status)throw new w(xe);const a=i.headers.get(be);if(a){const e=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(xe)}Ke(e,i),qe(e,i);const o=new f(await i.arrayBuffer());if(o.length!=r)throw new w(xe);return o}return ce}{const{data:n}=e;return n||await i(e,l),e.data.subarray(t,t+r)}}function He(e){const t=e.headers.get(be);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function je({headers:e}){return{m:e.get("Etag")||se,lastModified:e.get("Last-Modified")||se}}function qe(e,t){const{checkResourceChanges:r,S:n}=e;r&&!n&&206==t.status&&(e.S=je(t))}function Ke(e,t){const{checkResourceChanges:n,S:s,size:i}=e;if(n){const e=He(t);if(e!==se&&i!==se&&e!=i)throw new w(Se);if(s){const e=je(t);if(r.entries(s).some(([t,r])=>r!==se&&e[t]!==se&&r!=e[t]))throw new w(Se)}}}function Ye(e,t=0,n=1){return r.assign({},Ge(e),{[ze]:Re+"="+(0>t?t:t+"-"+(t+n-1))})}function Ge({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Xe(e){await Qe(e,et)}async function Je(e){await Qe(e,tt)}async function Qe(e,t){const r=await t(Fe,e,Ge(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function $e(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Ge(e)),i=n.headers.get("Content-Length");i&&!n.headers.get("Content-Encoding")?e.size=s(i):await r(e,e.options)}}async function et(e,{fetch:t=fetch,options:n,url:s},i){const a=await t(s,r.assign({},n,{method:e,headers:i}));if(400>a.status)return a;throw 416==a.status?new w(xe):new w(ge+(a.statusText||a.status))}function tt(e,{url:t},n){return new g((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new w(xe):new w(ge+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new w("Network error")),!1),a.open(e,t),n)for(const e of r.entries(n))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class rt extends Te{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new We(e,t):new Pe(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class nt extends Te{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class st extends Ce{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new f(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class it extends Te{constructor(e){super(),this.F=e}async init(){const e=this,{F:t}=e;e.R=0,await g.all(t.map(e=>dt(e))),e.D=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}A(e){const{D:t,size:r}=this,n=t[e];return n===se?r:n}async readUint8Array(e,t){const r=this,{F:n}=this;let s,i=0,o=e;for(;n[i]&&o>=n[i].size;)o-=n[i].size,i++;const c=n[i];if(c){const n=c.size;if(o+t>n){const i=n-o;s=fe(await lt(c,o,i),await r.readUint8Array(e+i,t-i))}else s=await lt(c,o,t)}else s=ce;return r.R=a.max(i,r.R),s}}class at extends ke{constructor(e,t=4294967295){super();const n=this;let s,i,a;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Ae)return void(a&&await d());const{availableSize:r}=n;if(a)t.length<r?await c(t):(await c(t.subarray(0,r)),await d(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new w("Writer iterator completed too soon");s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await dt(s),i=r.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),s.size+=t,n.availableSize-=t)}async function d(){await l(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function l(){await a.close()}r.defineProperty(n,De,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Ae)}finally{e.releaseLock()}}}class ot{constructor(e){return t.isArray(e)&&(e=new it(e)),(e instanceof E||typeof e.getReader==oe)&&(e={readable:me(e)}),e}}class ct{constructor(e){return e.writable===se&&typeof e.next==oe&&(e=new at(e)),(e instanceof D||typeof e.getWriter==oe)&&(e={writable:ye(e)}),e.size===se&&(e.size=0),e}}async function dt(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function lt(e,t,r){return e.readUint8Array(t,r)}const ut=new c,wt=new c;function ft(e){return ut.get(e)}function pt(e){return wt.get(e)}const ht=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;ht[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=ht[t-1][e];ht[t][e]=r>>>8^ht[0][255&r]}const[mt,yt,gt,xt,St,bt,zt,Ft]=ht;class Rt{constructor(e){this.T=e||-1}append(e){let t=0|this.T;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),i=r-8;for(;i>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=Ft[255&e]^zt[e>>>8&255]^bt[e>>>16&255]^St[e>>>24&255]^xt[255&r]^gt[r>>>8&255]^yt[r>>>16&255]^mt[r>>>24&255]}}for(;r>n;n++)t=t>>>8^mt[255&(t^e[n])];this.T=t}get(){return~this.T}}class Et extends R{constructor(){let e;const t=new Rt;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Dt(e){if(typeof x==ae){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new x).encode(e)}const At={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=At.C(r);return 32===n?e.concat(t):At.v(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+At.C(r)},U(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=At.I(t,e[r-1]&2147483648>>t-1,1)),e},I:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,C:e=>a.round(e/1099511627776)||32,v(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=At.C(s);return n.push(At.I(t+i&31,t+i>32?r:n.pop(),1)),n}},kt={bytes:{O(e){const t=At.bitLength(e)/8,r=new f(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},M(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(At.I(8*(3&r),n)),t}}},Tt=class{constructor(e){const t=this;t.blockSize=512,t._=[1732584193,4023233417,2562383102,271733878,3285377520],t.N=[1518500249,1859775393,2400959708,3395469782],e?(t.L=e.L.slice(0),t.P=e.P.slice(0),t.W=e.W):t.reset()}reset(){const e=this;return e.L=e._.slice(0),e.P=[],e.W=0,e}update(e){const t=this;"string"==typeof e&&(e=kt.B.M(e));const r=t.P=At.concat(t.P,e),n=t.W,s=t.W=n+At.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(r);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.Z(i.subarray(16*a,16*(a+1))),a+=1;return r.splice(0,16*a),t}V(){const e=this;let t=e.P;const r=e.L;t=At.concat(t,[At.I(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e.W/4294967296)),t.push(0|e.W);t.length;)e.Z(t.splice(0,16));return e.reset(),r}H(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}j(e,t){return t<<e|t>>>32-e}Z(e){const r=this,n=r.L,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let i=n[0],o=n[1],c=n[2],d=n[3],l=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.j(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.j(5,i)+r.H(e,o,c,d)+l+s[e]+r.N[a.floor(e/20)]|0;l=d,d=c,c=r.j(30,o),o=i,i=t}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+d|0,n[4]=n[4]+l|0}},Ct={importKey:e=>new Ct.K(kt.bytes.M(e)),Y(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new w("invalid params to pbkdf2");const s=1+(n>>5)<<2;let i,a,o,c,d;const l=new ArrayBuffer(s),u=new m(l);let f=0;const p=At;for(t=kt.bytes.M(t),d=1;(s||1)>f;d++){for(i=a=e.encrypt(p.concat(t,[d])),o=1;r>o;o++)for(a=e.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;(s||1)>f&&o<i.length;o++)u.setInt32(f,i[o]),f+=4}return l.slice(0,n/8)},K:class{constructor(e){const t=this,r=t.G=Tt,n=[[],[]];t.X=[new r,new r];const s=t.X[0].blockSize/32;e.length>s&&(e=(new r).update(e).V());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.X[0].update(n[0]),t.X[1].update(n[1]),t.J=new r(t.X[0])}reset(){const e=this;e.J=new e.G(e.X[0]),e.$=!1}update(e){this.$=!0,this.J.update(e)}digest(){const e=this,t=e.J.V(),r=new e.G(e.X[1]).update(t).V();return e.reset(),r}encrypt(e){if(this.$)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},vt=typeof z!=ae&&typeof z.getRandomValues==oe,Ut="Invalid password",It="Invalid signature",Ot=It,Mt="zipjs-abort-check-password";function _t(e){if(vt)return z.getRandomValues(e);throw new w("Crypto API not supported")}const Nt=16,Lt={name:"PBKDF2"},Pt=r.assign({hash:{name:"HMAC"}},Lt),Wt=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Lt),Bt=["deriveBits"],Zt=[8,12,16],Vt=[16,24,32],Ht=10,jt=[0,0,0,0],qt=typeof z!=ae,Kt=qt&&z.subtle,Yt=qt&&typeof Kt!=ae,Gt=kt.bytes,Xt=class{constructor(e){const t=this;t.ee=[[[],[],[],[],[]],[[],[],[],[],[]]],t.ee[0][0][0]||t.te();const r=t.ee[0][4],n=t.ee[1],s=e.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.N=[a=e.slice(0),o=[]],i=s;4*s+28>i;i++){let e=a[i-1];(i%s===0||8===s&&i%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],i%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^e}for(let e=0;i;e++,i--){const t=a[3&e?i:i-4];o[e]=4>=i||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.re(e,0)}decrypt(e){return this.re(e,1)}te(){const e=this.ee[0],t=this.ee[1],r=e[4],n=t[4],s=[],i=[];let a,o,c,d;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=a=0;!r[l];l^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,r[l]=i,n[i]=l,d=s[c=s[o=s[l]]];let u=16843009*d^65537*c^257*o^16843008*l,w=257*s[i]^16843008*i;for(let r=0;4>r;r++)e[r][l]=w=w<<24^w>>>8,t[r][i]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}re(e,t){if(4!==e.length)throw new w("invalid aes block size");const r=this.N[t],n=r.length/4-2,s=[0,0,0,0],i=this.ee[t],a=i[0],o=i[1],c=i[2],d=i[3],l=i[4];let u,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],x=4;for(let e=0;n>e;e++)u=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^d[255&g]^r[x],f=a[m>>>24]^o[y>>16&255]^c[g>>8&255]^d[255&h]^r[x+1],p=a[y>>>24]^o[g>>16&255]^c[h>>8&255]^d[255&m]^r[x+2],g=a[g>>>24]^o[h>>16&255]^c[m>>8&255]^d[255&y]^r[x+3],x+=4,h=u,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^r[x++],u=h,h=m,m=y,y=g,g=u;return s}},Jt=class{constructor(e,t){this.ne=e,this.se=t,this.ie=t}reset(){this.ie=this.se}update(e){return this.ae(this.ne,e,this.ie)}oe(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}ce(e){0===(e[0]=this.oe(e[0]))&&(e[1]=this.oe(e[1]))}ae(e,t,r){let n;if(!(n=t.length))return[];const s=At.bitLength(t);for(let s=0;n>s;s+=4){this.ce(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return At.U(t,s)}},Qt=Ct.K;let $t=qt&&Yt&&typeof Kt.importKey==oe,er=qt&&Yt&&typeof Kt.deriveBits==oe;class tr extends R{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){nr(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:i,de:a,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await ir(e,t,r,or(n,0,Zt[t])),i=or(n,Zt[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new w(Ut)})(r,i,s,or(e,0,Zt[i]+2)),e=or(e,Zt[i]+2),n?t.error(new w(Mt)):a()):await o;const c=new f(e.length-Ht-(e.length-Ht)%Nt);t.enqueue(sr(r,e,c,0,Ht,!0))},async flush(e){const{le:t,ue:r,pending:n,ready:i}=this;if(r&&t){await i;const a=or(n,0,n.length-Ht),o=or(n,n.length-Ht);let c=ce;if(a.length){const e=dr(Gt,a);r.update(e);const n=t.update(e);c=cr(Gt,n)}const d=or(cr(Gt,r.digest()),0,Ht);let l=n.length<Ht?1:0;for(let e=0;Ht>e;e++)l|=d[e]^o[e];if(l&&s)throw new w(Ot);e.enqueue(c)}}})}}class rr extends R{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){nr(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,de:i,ready:a}=r;let o=ce;n?(o=await(async(e,t,r)=>{const n=_t(new f(Zt[t]));return fe(n,await ir(e,t,r,n))})(r,s,n),i()):await a;const c=new f(o.length+e.length-e.length%Nt);c.set(o,0),t.enqueue(sr(r,e,c,o.length,0))},async flush(e){const{le:t,ue:r,pending:n,ready:s}=this;if(r&&t){await s;let i=ce;if(n.length){const e=t.update(dr(Gt,n));r.update(e),i=cr(Gt,e)}const a=cr(Gt,r.digest()).slice(0,Ht);e.enqueue(fe(i,a))}}})}}function nr(e,t,n,s){r.assign(e,{ready:new g(t=>e.de=t),password:ar(t,n),strength:s-1,pending:ce})}function sr(e,t,r,n,s,i){const{le:a,ue:o,pending:c}=e;c.length&&(t=fe(c,t));const d=t.length-s;let l;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(d-d%Nt)),l=0;d-Nt>=l;l+=Nt){const e=dr(Gt,or(t,l,l+Nt));i&&o.update(e);const s=a.update(e);i||o.update(s),r.set(cr(Gt,s),l+n)}return e.pending=or(t,l),r}async function ir(e,n,s,i){e.password=null;const a=await(async(e,t,r,n,s)=>{if(!$t)return Ct.importKey(t);try{return await Kt.importKey("raw",t,r,!1,s)}catch{return $t=!1,Ct.importKey(t)}})(0,s,Pt,0,Bt),o=await(async(e,t,r)=>{if(!er)return Ct.Y(t,e.salt,Wt.iterations,r);try{return await Kt.deriveBits(e,t,r)}catch{return er=!1,Ct.Y(t,e.salt,Wt.iterations,r)}})(r.assign({salt:i},Wt),a,8*(2*Vt[n]+2)),c=new f(o),d=dr(Gt,or(c,0,Vt[n])),l=dr(Gt,or(c,Vt[n],2*Vt[n])),u=or(c,2*Vt[n]);return r.assign(e,{keys:{key:d,we:l,passwordVerification:u},le:new Jt(new Xt(d),t.from(jt)),ue:new Qt(l)}),u}function ar(e,t){return t===se?Dt(e):t}function or(e,t,r){return e.subarray(t,r)}function cr(e,t){return e.O(t)}function dr(e,t){return e.M(t)}class lr extends R{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){wr(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=fr(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new w(Ut);e=e.subarray(12)}n?t.error(new w(Mt)):t.enqueue(fr(r,e))}})}}class ur extends R{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){wr(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=_t(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(pr(r,t),0),s=12}else n=new f(e.length),s=0;n.set(pr(r,e),s),t.enqueue(n)}})}}function wr(e,t,n,s){r.assign(e,{password:t,rawPassword:n,passwordVerification:s}),((e,t,n)=>{const s=[305419896,591751049,878082192];if(r.assign(e,{keys:s,fe:new Rt(s[0]),pe:new Rt(s[2])}),n)for(let t=0;t<n.length;t++)hr(e,n[t]);else for(let r=0;r<t.length;r++)hr(e,t.charCodeAt(r))})(e,t,n)}function fr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=mr(e)^t[n],hr(e,r[n]);return r}function pr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=mr(e)^t[n],hr(e,t[n]);return r}function hr(e,t){let[,r]=e.keys;e.fe.append([t]);const n=~e.fe.get();r=gr(a.imul(gr(r+yr(n)),134775813)+1),e.pe.append([r>>>24]);const s=~e.pe.get();e.keys=[n,r,s]}function mr(e){const t=2|e.keys[2];return yr(a.imul(t,1^t)>>>8)}function yr(e){return 255&e}function gr(e){return 4294967295&e}const xr="Invalid uncompressed size",Sr="Invalid compressed data",br=It,zr="deflate-raw",Fr="gzip",Rr=[31,139,8];class Er extends R{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,computeCrc32:c,level:d,deflate64:l,format:u,compressionMethod:w}=e,f=this;let p,h,y,g=super.readable;const x=u&&pt(u),S=c&&s&&!l&&!x&&(!i||o)&&!(!a||!n);if(i&&!o||!c||S||(p=new Et,g=Or(g,p)),s)if(x)g=Mr(g,Ur(x.CompressionStream,u,{level:d,chunkSize:t,compressionMethod:w}));else if(S)y=new Dr,g=Mr(g,new n(Fr)),g=Or(g,y);else try{g=Ir(g,a,{level:d,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Fr)}catch{throw e}g=Mr(g,t),g=Or(g,new Dr)}i&&(o?g=Or(g,new ur(e)):(h=new rr(e),g=Or(g,h))),vr(f,g,()=>{i&&!o||!c||(f.crc32=S?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Dr extends R{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=a.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=fe(r,e));const i=s-8,o=a.min(i,r.length);n.enqueue(fe(r.subarray(0,o),e.subarray(0,i-o))),r=fe(r.subarray(o),e.subarray(i-o))},flush(){const t=he(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Ar extends R{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:i,checkCrc32:a,crc32:o,compressed:c,useCompressionStream:d,deflate64:l,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let x,S,b=super.readable;if(i&&(s?b=Or(b,new lr(e)):(S=new tr(e),b=Or(b,S))),c){const e=u&&pt(u);if(e)b=Mr(b,Ur(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{b=Ir(b,d,{chunkSize:t,deflate64:l},n,r)}catch(e){if(l||y===se)throw e;let t;try{t=new n(Fr)}catch{throw e}b=((e,t,r)=>{const n=new Rt;let s,i,a,o=0,c=!1;const d=new g((e,t)=>{i=e,a=t});d.catch(()=>{}),r||i();const l=new R({start(e){const t=new f(10);t.set(Rr),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await d}finally{h()}const t=new f(8),s=he(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){a(e)}}),u=new R({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():i(),t.enqueue(e)},cancel(e){a(e)}});return e=Or(e,l),Or(e=Mr(e,t),u);function p(){h(),s=setTimeout(()=>a(new w(xr)),5e3)}function h(){clearTimeout(s)}})(b,t,y)}b=(e=>{const t=e.getReader();return new E({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(Sr);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(b)}a&&(x=new Et,b=Or(b,x)),vr(this,b,()=>{if(a){const e=new m(x.value.buffer);if(o!=e.getUint32(0,!1))throw new w(br)}})}}const kr=new c;function Tr(e,t){if(!e)return!1;let r=kr.get(e);r||(r=new c,kr.set(e,r));let n=r.get(t);if(n===se){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function Cr(e){return Tr(e,zr)}function vr(e,t,n){t=Or(t,new R({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Ur(e,t,r){if(!e)throw new w("Compression method not supported");return new e(t,r)}function Ir(e,t,r,n,s){const i=t&&n?n:s||n,a=r.deflate64?"deflate64-raw":zr;let o;try{o=new i(a,r)}catch(e){if(!t||!s||i==s)throw e;o=new s(a,r)}return Mr(e,o)}function Or(e,t){return me(e).pipeThrough(t)}function Mr(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const _r="data",Nr="deflate",Lr="inflate";class Pr extends R{constructor(e,t){super({});const n=this,{codecType:s}=e;let i;s.startsWith(Nr)?i=Er:s.startsWith(Lr)&&(i=Ar),n.outputSize=0;let a=0;const o=new i(e,t),c=super.readable,d=new R({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:a})}}),l=new R({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==se&&n.outputSize>e.outputSize))throw new w(xr)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:a})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(o).pipeThrough(l)})}}class Wr extends R{constructor(e){const t=[];let r=0;function n(){const n=new f(e);let s=0;for(;e>s;){const r=t[0],i=e-s;r.length>i?(n.set(r.subarray(0,i),s),t[0]=r.subarray(i),s+=i):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,i){for(t.push(s),r+=s.length;r>e;)i.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const Br={type:"module"},Zr="error",Vr="Worker startup timeout";let Hr,jr,qr,Kr,Yr,Gr=!0;try{Gr=typeof structuredClone==oe&&structuredClone(new DOMException("","AbortError")).code!==se}catch{}class Xr{constructor(e,{readable:t,writable:n},{options:s,config:i,he:a,useWebWorkers:o,transferStreams:c,workerURI:d,createWorker:l},u){const{signal:w}=a;return Yr&&(l=se),r.assign(e,{me:!0,ye:(e.ye||0)+1,readable:t.pipeThrough(new Wr(we(i))).pipeThrough(new Jr(a),{signal:w}),writable:n,options:r.assign({},s),workerURI:d,createWorker:l,transferStreams:c,terminate:()=>new g(t=>{const{ge:r,me:n}=e;r?(n?e.xe=t:(r.terminate(),t()),e.Se=null):t()}),be(){if(e.me){const{xe:t}=e;t&&(e.xe=null,e.ze=!0,e.ge.terminate(),t()),e.me=!1,u(e)}}}),Hr===se&&(Hr=typeof C!=ae),(o&&(Hr&&d||l)?en:$r)(e,i)}}class Jr extends R{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await Qr(e,r)},async transform(e,n){s+=e.length,t&&await Qr(t,s,r),n.enqueue(e)},async flush(){n&&await Qr(n,s)}})}}async function Qr(e,...t){try{await e(...t)}catch{}}function $r(e,t){return{run:()=>tn(e,t)}}function en(e,t){const{baseURI:n,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:o}=t;if(!e.Se){let c;typeof o==oe&&(o=o());try{c=nn(e.workerURI,n,e)}catch{return e.createWorker?Yr=!0:Hr=!1,$r(e,t)}r.assign(e,{ge:c,Fe:!1,ze:!1,Se:{run:async()=>{try{return await(async(e,t)=>{let n,i;const a=new g((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,Re:n,Ee:i,result:a});const{readable:o,options:c}=e,{writable:d,closed:l,De:u}=(e=>{const t=new AbortController,{writable:r,readable:n}=new R,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,De:()=>t.abort()}})(e.writable);let f;try{f=on({type:"start",options:c,config:t,readable:o,writable:d},e)}catch(t){u();try{await l}catch{}throw e.be(),t}f||r.assign(e,{reader:o.getReader(),writer:d.getWriter()});const{workerStartupTimeout:p}=t;e.Fe||!s.isFinite(p)||0>p||(e.Ae=setTimeout(()=>(e=>{if(e.Ae=null,e.Fe)return;const{Ee:t,writer:r}=e;if(rn(e),e.ge=null,t){const e=new w(Vr);e.ke=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await a;return await h(),await l,e}catch(e){await h(),u();try{await l}catch{}throw e}async function h(){if(!f&&!d.locked)try{await d.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:o,baseURI:n,workerStartupTimeout:a})}catch(r){if(r&&r.ke){e.createWorker?Yr=!0:Hr=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,tn(e,t)}throw r}}}})}return e.Se}async function tn({options:e,readable:t,writable:r,be:n},s){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Nr),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.Te&&!Cr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.Te||(e.useCompressionStream=!0)}}i=new Pr(e,s),await t.pipeThrough(i).pipeThrough(new Wr(we(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:a,outputSize:o}=i;return{crc32:n,inputSize:a,outputSize:o}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{n()}}function rn(e){const{ge:t}=e;if(t)try{t.terminate()}catch{}e.Se=null}function nn(e,t,n,s,i=!0){const{createWorker:a}=n;let o,c,d;if(a)o=a();else if(qr===se||jr!==e){const r=typeof e==oe;c=r?e(i):e;const a=c.startsWith("data:"),l=c.startsWith("blob:");if(a||l){s===se&&(s=!1),s&&(d=Br);try{o=new C(c,d)}catch(i){if(l)try{u.revokeObjectURL(c)}catch{}if(r&&l)return nn(e,t,n,s,!1);if(s)throw i;return nn(e,t,n,!0,!1)}}else{s===se&&(s=!0),s&&(d=Br);try{c=new u(c,t)}catch{}try{o=new C(c,d)}catch(r){if(s)throw r;return nn(e,t,n,!1,i)}}jr=e,qr=c,Kr=d}else o=new C(qr,Kr);return o.addEventListener("message",e=>{n.Fe=!0,sn(n),(async({data:e},t)=>{const{type:n,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:d,Re:l,Ee:u,be:p,ye:h}=t,m=()=>t.ye!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:i,cause:a}=o,c=new w(e);r.assign(c,{stack:t,code:n,name:s,outputSize:i}),a&&(c.cause=r.assign(new w(a.message),{name:a.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||on({type:_r,value:e,done:r,messageId:i},t)}n==_r&&(await d.ready,await d.write(new f(s)),m()||on({type:"ack",messageId:i},t)),"close"==n&&y(null,a)}}catch(o){m()||(rn(t),y(o))}function y(e,t){m()||(e?u(e):l(t),d&&d.releaseLock(),p())}})(e,n)}),o.addEventListener(Zr,e=>an(e,n)),o.addEventListener("messageerror",e=>an(e,n)),o}function sn(e){const{Ae:t}=e;t&&(clearTimeout(t),e.Ae=null)}function an(e,t){e.preventDefault&&e.preventDefault(),sn(t);const{Fe:n,Ee:s,writer:i,be:a}=t;if(rn(t),n||(t.ge=null),s){let t=e.error||new w(e.message||Zr);n||(t=r.assign(new w(t.message||Zr),{ke:!0})),s(t),i&&i.releaseLock(),n&&a()}}function on(e,{ge:t,writer:r,transferStreams:n,Fe:s}){try{const{value:r,readable:i,writable:a}=e,o=[];if(r&&(e.value=pe(r),o.push(e.value.buffer)),n&&Gr&&s?(i&&o.push(i),a&&o.push(a)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Gr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let cn=[];const dn=[];let ln,un,wn=0;async function fn(e,t){const{options:r,config:n}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,checkCrc32:d,computeCrc32:l,encrypted:f,format:p,codecURI:h}=r,{workerURI:m,createWorker:y,maxWorkers:x}=n;p&&(h&&(r.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(h,n.baseURI)),await(async(e,t)=>{!wt.has(e)&&t&&((e,t)=>{const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=oe&&typeof n!=oe)throw new w("Invalid codec module");wt.set(e,{CompressionStream:r,DecompressionStream:n})})(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(p,r.codecURI)),t.transferStreams=i||i===se&&n.transferStreams;const S=!(c||d||l||f),b=p===se||!!r.codecURI;return t.useWebWorkers=!S&&b&&(a||a===se&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:se,t.createWorker=t.useWebWorkers&&y?y:se,r.useCompressionStream=o||o===se&&n.useCompressionStream,(await(async()=>{const r=cn.find(e=>!e.me);if(r)return gn(r),new Xr(r,e,t,z);if(cn.length<x){const r={Ce:wn};return wn++,cn.push(r),new Xr(r,e,t,z)}return new g(r=>{dn.push({resolve:r,stream:e,ve:t}),un=n.workerStarvationTimeout,pn()})})()).run();function z(e){if(hn(),dn.length){const[{resolve:t,stream:r,ve:n}]=dn.splice(0,1);t(new Xr(e,r,n,z)),pn()}else e.ge?(gn(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.ze?e.ze=!1:e.Ue=setTimeout(async()=>{cn=cn.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):cn=cn.filter(t=>t!=e)}}function pn(){!ln&&dn.length&&s.isFinite(un)&&un>=0&&(ln=setTimeout(mn,un))}function hn(){ln&&(clearTimeout(ln),ln=null)}function mn(){if(ln=null,dn.length){const[{resolve:e,stream:t,ve:n}]=dn.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:se,createWorker:se});e(new Xr({},t,s,yn)),pn()}}function yn(){hn(),pn()}function gn(e){const{Ue:t}=e;t&&(clearTimeout(t),e.Ue=null)}const xn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Sn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=xn[e[r]];return t}})(e):new S(t,{ignoreBOM:!0}).decode(e)}const bn="filename",zn="rawFilename",Fn="comment",Rn="rawComment",En="uncompressedSize",Dn="compressedSize",An="offset",kn="diskNumberStart",Tn="lastModDate",Cn="rawLastModDate",vn="lastAccessDate",Un="rawLastAccessDate",In="creationDate",On="rawCreationDate",Mn="internalFileAttributes",_n="externalFileAttributes",Nn="msdosAttributesRaw",Ln="msdosAttributes",Pn="msDosCompatible",Wn="zip64",Bn="encrypted",Zn="version",Vn="versionMadeBy",Hn="zipCrypto",jn="directory",qn="executable",Kn="compressionMethod",Yn="signature",Gn="extraField",Xn="unixMode",Jn="setuid",Qn="setgid",$n="sticky",es=[bn,zn,En,Dn,Tn,Cn,Fn,Rn,vn,Un,In,On,An,kn,Mn,_n,Nn,Ln,Pn,Wn,Bn,Zn,Vn,Hn,jn,qn,Kn,Yn,"crc32",Gn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Xn,Jn,Qn,$n,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ts{constructor(e){es.forEach(t=>this[t]=e[t])}}const rs="password",ns="rawPassword",ss="passThrough",is="signal",as="checkAmbiguity",os="useWebWorkers",cs="useCompressionStream",ds="transferStreams",ls="preventClose",us="offset",ws="usdz",fs="strictness",ps="strict",hs="tolerant",ms="File format is not recognized",ys="End of central directory not found",gs="End of Zip64 central directory locator not found",xs="Central directory header not found",Ss="Local file header not found",bs="Zip64 extra field not found",zs="File contains encrypted entry",Fs="Encryption method not supported",Rs="Compression method not supported",Es="Split zip file",Ds="Overlapping entry found",As="Ambiguous archive",ks="Encrypted central directory is not supported",Ts="utf-8",Cs="cp437",vs=[[En,v],[Dn,v],[An,v],[kn,U]],Us={[U]:{Ie:si,bytes:4},[v]:{Ie:ii,bytes:8}};class Is{constructor(e,t={}){r.assign(this,{reader:new ot(e),options:t,config:ue(),Oe:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await dt(n),n.size!==se&&n.readUint8Array||(n=new Me(await new l(n.readable).blob()),await dt(n)),n.size<Z)throw new w(ms);const o=Vs($s(t,e,fs),$s(t,e,as)),c=o==ps,u=o!=hs,f=((e,t)=>e!==se?e:t==ps?0:t==hs?1/0:U)($s(t,e,"maxAppendedDataSize"),o),{Me:p,_e:h}=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,65557),i={count:Hs};let o,c,d=0;for await(const[r,a,l,u,w]of Ys(e,s)){const s=ni(r,u+20);if(w+Z+s==n){const s=await Xs(e,r,a,u,w,n,i);if(s==Ks){if(o||(o=Gs(l,u,w)),d++,!t||d>1)break}else s!=qs||c||(c=Gs(l,u,w))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,t==1/0?n:65557+t);let i,o;for await(const[t,a,c,d,l]of Ys(e,s)){const s=Gs(c,d,l);i||(i=s);const u=await Xs(e,t,a,d,l,n,r);if(u==Ks)return s;u!=qs||o||(o=s)}return o||i})(e,r,i)),{Me:o,_e:d}})(n,u,f);if(!p)throw si(he(await lt(n,0,4)))==M?new w(Es):new w(ys);u&&h>1&&Qs("multiple end of central directory records");const m=he(p);let y=si(m,12),x=si(m,16);const S=p.offset,b=ni(m,20),z=S+Z+b;n.size-z>f&&Qs("appended data");let F=ni(m,4);const E=n.R||0;let D,A,k,T,C=ni(m,6),O=ni(m,10),_=0;const P=x==v||y==v||O==U||C==U;if(x!=v&&C!=U&&(x+=Zs(n,C)),P){const e=p.offset<V?ce:await lt(n,p.offset-V,V),t=he(e);if(e.length==V&&si(t,0)==B){x=Zs(n,si(t,4))+ii(t,8);let e=await lt(n,x,H),i=he(e);const o=p.offset-V-H;if((e.length<H||si(i,0)!=W)&&x!=o&&o>=0){const t=x;x=o,x>t&&(_=x-t),e=await lt(n,x,H),i=he(e)}if(e.length<H||si(i,0)!=W)throw new w(gs);if(A=!0,k=ii(i,4)>44,k){const e=a.min(s(ii(i,4))-44,n.size-x-H);e>0&&(T=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=he(e),i=ni(n,26);r.assign(t,{compressionMethod:ni(n,0),compressedSize:s(ii(n,2)),uncompressedSize:s(ii(n,10)),encryptionAlgorithm:ni(n,18),bitLength:ni(n,20),flags:ni(n,22),hashAlgorithm:ni(n,24),hashData:e.subarray(28,28+i)})}return t})(await lt(n,x+H,e)))}F==U?F=si(i,16):c&&F!=si(i,16)&&Qs("mismatched zip64 end of central directory record"),C==U?C=si(i,20):c&&C!=si(i,20)&&Qs("mismatched zip64 end of central directory record"),O==U?O=ii(i,32):c&&O!=ii(i,32)&&Qs("mismatched zip64 end of central directory record"),y==v?y=ii(i,40):c&&y!=ii(i,40)&&Qs("mismatched zip64 end of central directory record"),x=Zs(n,C)+ii(i,48)+_}}let j=y;const q=p.offset-(A?76:0);if(x<n.size||(_=n.size-x-y-Z,x=n.size-y-Z),E!=F)throw new w(Es);if(0>x)throw new w(ms);let K=0,Y=await lt(n,x,y),G=he(Y);if(y){if(4>Y.length)throw new w(ms);const e=q-y;if(x!=e&&C==F){let t=!(si(G,K)==L);if(t||0>e||e+4>n.size||(t=si(he(await lt(n,e,4)),0)==L),t){const t=x;x=e,x>t&&(_+=x-t),Y=await lt(n,x,y),G=he(Y)}}}const X=q-x;if(y==X||0>X||C!=F||(y=X,Y=await lt(n,x,y),G=he(Y)),0>x||x>=n.size)throw new w(ms);t.directoryOffset=x,t.directoryLength=j;const te=$s(t,e,"decryptCentralDirectory");let re;te&&O&&Y.length>=4&&si(G,0)!=L&&(k||Ms(G))&&(Y=await te(Y,T),G=he(Y),j=Y.length,re=!0),D=x;const ne=$s(t,e,"filenameEncoding"),ie=$s(t,e,"commentEncoding"),ae=c?new d:se;let oe;for(let s=0;O>s;s++){const o=new Os(n,i,t.options);if(K+46>Y.length||si(G,K)!=L){if(0==s&&!re&&(k||Ms(G)))throw new w(ks);throw new w(xs)}_s(o,G,K+6);const d=!!o.bitFlag.languageEncodingFlag,u=K+46,f=u+o.filenameLength,p=f+o.extraFieldLength,h=ni(G,K+4),m=!(h>>8),y=h>>8==3,x=Y.subarray(u,f),S=ni(G,K+32),b=p+S,z=Y.subarray(p,b),F=d,E=d,A=si(G,K+38),T=A&I,C={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},v=si(G,K+42),M=$s(t,e,"decodeText")||Sn,N=F?Ts:ne||Cs,P=E?Ts:ie||Cs;let W=M(x,N);W===se&&(W=Sn(x,N));let B=M(z,P);B===se&&(B=Sn(z,P)),r.assign(o,{index:s,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Ne:S,offset:v,diskNumberStart:ni(G,K+34),internalFileAttributes:ni(G,K+36),externalFileAttributes:A,msdosAttributesRaw:T,msdosAttributes:C,rawFilename:x,filenameUTF8:F,commentUTF8:E,rawExtraField:Y.subarray(f,p),rawComment:z,filename:W,comment:B}),Ns(o,o,G,K+6),o.offset+=_,D=a.min(Zs(n,o.diskNumberStart)+o.offset,D),c&&(ae.has(o.filename)&&(oe=!0),ae.add(o.filename));const Z=o.externalFileAttributes>>16&U;o.unixMode===se&&16877&Z&&(o.unixMode=Z);const V=!!(o.unixMode&Q),H=!!(o.unixMode&$),j=!!(512&o.unixMode),q=o.unixMode!==se?!!(73&o.unixMode):y&&!!(73&Z),X=o.unixMode!==se&&(61440&o.unixMode)==J,te=(61440&Z)==J;r.assign(o,{setuid:V,setgid:H,sticky:j,unixExternalUpper:Z,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:q,directory:X||te||m&&C.directory||o.filename.endsWith(ee)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ce=new ts(o);ce.getData=(e,r)=>o.getData(e,ce,t.Oe,r),ce.arrayBuffer=async e=>{const r=new R,[n]=await g.all([new l(r.readable).arrayBuffer(),o.getData(r,ce,t.Oe,e)]);return n},K=b;const{onprogress:de}=e;if(de)try{await de(s+1,O,new ts(o))}catch{}yield ce}let de=K;if(K+6<=Y.length&&si(G,K)==N){const e=ni(G,K+4);K+6+e>Y.length||(t.digitalSignature=Y.subarray(K+6,K+6+e),de=K+6+e)}c&&K!=j&&de!=j&&Qs("trailing central directory data"),oe&&Qs("duplicate filename"),c&&(_||O&&D>0)&&Qs("prepended data");const le=$s(t,e,"extractPrependedData"),ue=$s(t,e,"extractAppendedData");return le&&(t.prependedData=D>0?await lt(n,0,D):ce),t.comment=b?await lt(n,S+Z,b):ce,ue&&(t.appendedData=z<n.size?await lt(n,z,n.size-z):ce),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}let Os=class{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:i,index:a,offset:o,diskNumberStart:c,extraFieldAES:d,extraFieldZip64:l,compressionMethod:u,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:g,compressedSize:x}=s,{dataDescriptor:S}=p,b=t.localDirectory={},z=Zs(i,c)+o,F=await lt(i,z,te),R=he(F);let E=$s(s,n,rs),A=$s(s,n,ns);const k=$s(s,n,ss);if(E=E&&E.length&&E,A=A&&A.length&&A,d&&99!=d.originalCompressionMethod)throw new w(Rs);if(F.length<te||si(R,0)!=O)throw new w(Ss);_s(b,R,4);const{extraFieldLength:T,filenameLength:C}=b,v=Vs($s(s,n,fs),$s(s,n,as))==ps;let U=ce;if(v&&(C||T)){const e=await lt(i,z+te,C+T);U=e.subarray(0,C),b.rawExtraField=e.subarray(C)}else b.rawExtraField=T?await lt(i,z+te+C,T):ce;Ns(s,b,R,4,!0),v&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&Qs("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Qs("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Qs("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Qs("mismatched local file header (crc32 or sizes)")})(s,b,U);const{lastAccessDate:M,creationDate:N}=b;M&&(t.lastAccessDate=M),N&&(t.creationDate=N);const L=s.encrypted&&b.encrypted&&!k,P=L&&!d;if(k||(t.zipCrypto=P),L&&!(64&~b.rawBitFlag))throw new w(Fs);const W=k?se:ft(u);if(0!=u&&8!=u&&9!=u&&!W&&!k)throw new w(Rs);if(L){if(!P&&(1>d.strength||d.strength>3))throw new w(Fs);if(!E&&!A)throw new w(zs)}const B=z+te+C+T,Z=x,V=me(i.createReadable({offset:B,size:Z})),H=$s(s,n,is),j=$s(s,n,"checkPasswordOnly");let q=$s(s,n,"checkOverlappingEntry");const K=$s(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:X}=n,J=9==u;let Q=$s(s,n,cs);J&&(Q=!1);const $=$s(s,n,"checkCrc32"),ee=($===se?$s(s,n,"checkSignature"):$)&&!k&&(!L||P||d&&1==d.vendorVersion),re={options:{codecType:Lr,password:E,rawPassword:A,zipCrypto:P,encryptionStrength:d&&d.strength,checkCrc32:ee,checkAuthenticationCode:$s(s,n,"checkAuthenticationCode"),passwordVerification:P&&(S?y>>>8&I:m>>>24&I),outputSize:k?x:g,crc32:m,compressed:0!=u&&!k,encrypted:L,useWebWorkers:$s(s,n,os),useCompressionStream:Q,transferStreams:$s(s,n,ds),deflate64:J,format:W?W.format:se,codecURI:W?W.codecURI:se,compressionMethod:u,rawBitFlag:h,checkPasswordOnly:j},config:f,he:{signal:H,size:Z,onstart:Y,onprogress:G,onend:X}};let ne;q&&await(async({reader:e,Le:t,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:a,Pe:o,dataDescriptor:c,extraFieldZip64:d,Oe:l})=>{let u=0;if(c&&(u=d?20:12),u){const r=await lt(e,o+i,u+4);if(r.length==u+4&&si(he(r),0)==_){const e=si(he(r),4);let n,o;d?(n=ii(he(r),8),o=ii(he(r),16)):(n=si(he(r),8),o=si(he(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&o==a&&(u+=4)}}const f={start:n,end:o+i+u,Le:t};for(const[e,t]of l)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new w(Ds);throw e.We=t.Le,e}l.set(r,f)})({reader:i,Le:t,index:a,offset:z,crc32:m,compressedSize:x,uncompressedSize:g,Pe:B,dataDescriptor:S||b.bitFlag.dataDescriptor,extraFieldZip64:l||b.extraFieldZip64,Oe:r});try{if(!K){j&&(e=new D),e=new ct(e),await dt(e,k?x:g),({writable:ne}=e);const{outputSize:t}=await fn({readable:V,writable:ne},re);if(e.size+=t,t!=(k?x:g))throw new w(xr)}}catch(t){if(t.outputSize!==se&&(e.size+=t.outputSize),!j||t.message!=Mt)throw t}finally{$s(s,n,ls)||!ne||ne.locked||await ne.getWriter().close()}return j||K?se:e.getData?e.getData():ne}};function Ms(e){const t=a.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==si(e,r))return!0;return!1}function _s(e,t,n){const s=e.rawBitFlag=ni(t,n+2),i=!(1&~s),a=si(t,n+6);r.assign(e,{encrypted:i,version:ni(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&X)==X},rawLastModDate:a,lastModDate:ei(a),filenameLength:ni(t,n+22),extraFieldLength:ni(t,n+24)})}function Ns(e,t,n,s,i){const{rawExtraField:a}=t,d=t.extraField=new c,l=he(a);let u=0;try{for(;u<a.length;){const e=ni(l,u),t=ni(l,u+2);d.set(e,{type:e,data:a.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=ni(n,s+4);r.assign(t,{signature:si(n,s+10),crc32:si(n,s+10),compressedSize:si(n,s+14),uncompressedSize:si(n,s+18)});const p=d.get(1);p&&(((e,t)=>{t.zip64=!0;const r=he(e.data),n=vs.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Us[t].bytes,0);if(e.data.length<s)throw new w(bs);for(let s=0,i=0;s<n.length;s++){const[a,o]=n[s],c=Us[o];t[a]=e[a]=c.Ie(r,i),i+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=d.get(28789);h&&(Ls(h,bn,zn,t,e),t.extraFieldUnicodePath=h);const m=d.get(25461);m&&(Ls(m,Fn,Rn,t,e),t.extraFieldUnicodeComment=m);const y=d.get(j);y&&y.data.length>=7?(((e,t,n)=>{const s=he(e.data),i=ri(s,4);r.assign(e,{vendorVersion:ri(s,0),vendorId:ri(s,2),strength:i,originalCompressionMethod:n,compressionMethod:ni(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=se)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=d.get(13);g&&(Ps(g,t),t.extraFieldPkwareUnix=g);const x=d.get(22613);x&&(Ps(x,t),t.extraFieldUnixType1=x);const S=d.get(10);S&&(((e,t)=>{const n=he(e.data);let s,i=4;try{for(;i<e.data.length&&!s;){const t=ni(n,i),r=ni(n,i+2);1==t&&(s=e.data.slice(i+4,i+4+r)),i+=4+r}}catch{}if(s&&24==s.length){const n=he(s),i=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:o});const c={lastModDate:ti(i),lastAccessDate:ti(a),creationDate:ti(o)};r.assign(e,c),r.assign(t,c)}})(S,t),t.extraFieldNTFS=S);const b=d.get(G);if(b)Ws(b,t,!1),t.extraFieldUnix=b;else{const e=d.get(Y);e&&(Ws(e,t,!0),t.extraFieldInfoZip=e)}const z=d.get(q);z&&(((e,t,r)=>{if(!e.data.length)return;const n=he(e.data),s=ri(n,0),i=[],a=[];r?(1&~s||(i.push(Tn),a.push(Cn)),2&~s||(i.push(vn),a.push(Un)),4&~s||(i.push(In),a.push(On))):5>e.data.length||(i.push(Tn),a.push(Cn));let c=1;i.forEach((r,s)=>{if(e.data.length>=c+4){const i=si(n,c);t[r]=e[r]=new o(1e3*(0|i));const d=a[s];e[d]=i}c+=4})})(z,t,i),t.extraFieldExtendedTimestamp=z);const F=d.get(K);F&&(t.extraFieldUSDZ=F)}function Ls(e,t,n,s,i){if(5>e.data.length)return void(e.valid=!1);const a=he(e.data),o=new Rt;o.append(i[n]);const c=he(new f(4));c.setUint32(0,o.get(),!0);const d=si(a,1);r.assign(e,{version:ri(a,0),[t]:Sn(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&d==si(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ps(e,t){if(8>e.data.length)return;const n=he(e.data),s={lastAccessDate:new o(1e3*si(n,0)),lastModDate:new o(1e3*si(n,4))};12>e.data.length||(s.uid=ni(n,8),s.gid=ni(n,10)),r.assign(e,s),r.assign(t,s)}function Ws(e,t,n){try{const s=he(e.data);let i,a;if(n){let t=0;const n=ri(s,t++),o=ri(s,t++);i=Bs(e.data.subarray(t,t+o)),t+=o;const c=ri(s,t++);a=Bs(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:i,gid:a})}else 4>e.data.length||(i=ni(s,0),a=ni(s,2),r.assign(e,{uid:i,gid:a}));i!==se&&(t.uid=i),a!==se&&(t.gid=a)}catch{}}function Bs(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Zs(e,t){return e.A?e.A(t):0}function Vs(e,t){return e===se?t?ps:"balanced":e}const Hs=64,js=0,qs=1,Ks=2;async function*Ys(e,t){const r=e.size-t,n=await lt(e,r,t),s=he(n);for(let e=n.length-Z;e>=0;e--)si(s,e)==P&&(yield[s,r,n,e,r+e])}function Gs(e,t,r){return{offset:r,buffer:e.slice(t,t+Z).buffer}}async function Xs(e,t,r,n,s,i,a){const o=ni(t,n+10),c=si(t,n+12),d=si(t,n+16);if(o==U||c==v||d==v)return await Js(e,t,r,s-V,i,a)==B?Ks:js;if(!o&&!c)return qs;const l=ni(t,n+6);for(const n of[s-c,Zs(e,l)+d])if(await Js(e,t,r,n,i,a)==L)return Ks;return js}async function Js(e,t,r,n,s,i){return 0>n||n+4>s?se:r>n?i.count>0?(i.count--,si(he(await lt(e,n,4)),0)):se:si(t,n-r)}function Qs(e){const t=new w(As);throw t.reason=e,t}function $s(e,t,r){return t[r]===se?e.options[r]:t[r]}function ei(e){const t=(4294901760&e)>>16,r=e&U;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function ti(e){return new o(s(e/i(1e4)-i(116444736e5)))}function ri(e,t){return e.getUint8(t)}function ni(e,t){return e.getUint16(t,!0)}function si(e,t){return e.getUint32(t,!0)}function ii(e,t){return s(e.getBigUint64(t,!0))}var ai=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:As,ERR_BAD_FORMAT:ms,ERR_CENTRAL_DIRECTORY_NOT_FOUND:xs,ERR_ENCRYPTED:zs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:ks,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:gs,ERR_EOCDR_NOT_FOUND:ys,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:bs,ERR_INVALID_AUTHENTICATION_CODE:Ot,ERR_INVALID_COMPRESSED_DATA:Sr,ERR_INVALID_CRC32:br,ERR_INVALID_PASSWORD:Ut,ERR_INVALID_SIGNATURE:It,ERR_INVALID_UNCOMPRESSED_SIZE:xr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Ss,ERR_OVERLAPPING_ENTRY:Ds,ERR_SPLIT_ZIP_FILE:Es,ERR_UNSUPPORTED_COMPRESSION:Rs,ERR_UNSUPPORTED_ENCRYPTION:Fs,ERR_WORKER_STARTUP_TIMEOUT:Vr,ZipReader:Is});const oi="Zip file comment exceeds 64KB",ci="Version exceeds 65535",di="Extra field data exceeds 64KB",li=-2147483648,ui=2147483647,wi=i(0),fi=i("0x7fffffffffffffff"),pi="Zip64 is not supported (set the 'zip64' option to 'true')",hi=new f([7,0,2,0,65,69,3,0,0]),mi="infozip",yi="unix";let gi=0;const xi=[];class Si{constructor(e,t={}){e=new ct(e);const{availableSize:n=ie,maxSize:s=ie}=e,i=n>0&&n!==ie&&s>0&&s!==ie;r.assign(this,{writer:e,Be:i,options:t,config:ue(),files:new c,Ze:new d,offset:t[us]===se?e.size||e.writable.size||0:t[us],Ve:t[us]===se?0:t[us]-(e.size||e.writable.size||0),He:new d,je:0,qe:se})}async prependZip(e){if(this.Ze.size)throw new w("Zip file not empty");e=new ot(e),await dt(e);const{ZipReader:t}=await g.resolve().then(()=>ai),n=new t(e.readable),s=await n.getEntries();await n.close(),await dt(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ze=new d(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:i,rawFilename:a,bitFlag:o,encrypted:c,uncompressedSize:d,compressedSize:l,zip64:u}=e;let{compressionMethod:w,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g}=e;const{level:x,languageEncodingFlag:S,dataDescriptor:b}=o;f=f||ce,p=p||ce,h=h||ce,m=m||ce,y=y||ce,g=g||ce,e.extraFieldAES&&(w=99);const z=Wi(f,p,h,m,y,g),F=u&&d>=v,R=u&&l>=v,E=-7&Zi(x,S,b,c,w)|x<<1,{Qe:D,$e:A}=Bi({version:t,bitFlag:E,compressionMethod:w,uncompressedSize:d,compressedSize:l,rawLastModDate:n,rawFilename:a,et:R,nt:F,extraFieldLength:z}),{crc32:k}=e;return k!==se&&Ni(A,10,k),r.assign(e,{nt:F,et:R,st:u&&e.offset>=v,diskNumberStart:0,it:!1,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,ot:1+(s?2:0)+(i?4:0),Qe:D,$e:A}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{He:c,config:d}=s;let l,u;gi<d.maxWorkers?gi++:await new g(e=>xi.push(e));try{if(e=e.trim(),Oi(s,n,jn)&&!e.endsWith(ee)&&(e+=ee),s.Ze.has(e))throw new w("File already exists");return s.Ze.add(e),u=!0,l=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=Oi(e,r,Pn),s=Oi(e,r,Vn,n?20:768);const i=Oi(e,r,qn),a=Oi(e,r,"uid"),o=Oi(e,r,"gid");let c=Oi(e,r,Xn),d=Oi(e,r,"unixExtraFieldType"),l=Oi(e,r,Jn),u=Oi(e,r,Qn),f=Oi(e,r,$n);if(a!==se&&(0>a||a>v))throw new w("Invalid uid (must be integer 0..2^32-1)");if(o!==se&&(0>o||o>v))throw new w("Invalid gid (must be integer 0..2^32-1)");if(c!==se&&(0>c||c>U))throw new w("Invalid UNIX mode (must be integer 0..65535)");if(d!==se&&d!==mi&&d!==yi)throw new w("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(d===yi&&(a!==se&&a>U||o!==se&&o>U))throw new w("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");d!==se||a===se&&o===se||(d=mi);let p=Oi(e,r,Nn),h=Oi(e,r,Ln);const m=p!==se||h!==se;if(a!==se||o!==se||c!==se||d?(n=!1,s=s&U|768):m&&(n=!0,s&=I),p!==se&&(0>p||p>I))throw new w("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new w("Invalid msdosAttributes (must be an object with boolean flags)");if(s>U)throw new w(ci);let y=Oi(e,r,_n);const g=y!==se;g||(y=0),!r[jn]&&t.endsWith(ee)&&(r[jn]=!0);const x=Oi(e,r,jn);let S;if(x?(t.endsWith(ee)||(t+=ee),g||(y=16,n||(y|=16877<<16))):n||g||(y=i?493<<16:27525120),!n){const e=c!==se||!!(l||u||f);S=y>>16&U,c=c===se?S:c&U,l?c|=Q:l=!!(c&Q),u?c|=$:u=!!(c&$),f?c|=512:f=!!(512&c),g&&!e||(x&&(c|=J),y=(c&U)<<16|y&U)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==se)e&=I;else if(t!==se){const{readOnly:r,hidden:n,system:s,directory:i,archive:a}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),e=o&I}return t===se&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&v|p&I),{name:t,ct:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:S,uid:a,gid:o,unixMode:c,unixExtraFieldType:d,setuid:l,setgid:u,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const d=((e,t,r)=>{const n=Oi(e,r,"encodeText",Dt);let s=n(t);if(s===se&&(s=Dt(t)),Wi(s)>U)throw new w("File entry name exceeds 64KB");const i=r[Fn]||"";let a=n(i);if(a===se&&(a=Dt(i)),Wi(a)>U)throw new w("File entry comment exceeds 64KB");const c=Oi(e,r,Zn,20);if(c>U)throw new w(ci);const d=Oi(e,r,Tn,new o),l=Oi(e,r,vn),u=Oi(e,r,In),f=Oi(e,r,Mn,0),p=Oi(e,r,ss);let h,m;p||(h=Oi(e,r,rs),m=Oi(e,r,ns));const y=Oi(e,r,"encryptionStrength",3),g=Oi(e,r,Hn),x=Oi(e,r,"extendedTimestamp",!0),S=Oi(e,r,"ntfsTimestamp"),b=Oi(e,r,"keepOrder",!0),z=Oi(e,r,os),F=Oi(e,r,ds),R=Oi(e,r,"bufferedWrite"),E=Oi(e,r,"createTempStream"),D=Oi(e,r,"dataDescriptorSignature",!0),A=Oi(e,r,is),k=Oi(e,r,"useUnicodeFileNames",!0),T=Oi(e,r,Kn),C=p||T===se?se:ft(T);if(!p&&T!==se&&0!==T&&8!==T&&!C)throw new w("Compression method not supported");let v=Oi(e,r,"level");if(e.options[ws]){if(h!==se||m!==se)throw new w("Encryption is not supported in USDZ files");v===se&&T===se&&(v=0)}let I=Oi(e,r,cs),O=Oi(e,r,"dataDescriptor");R&&O===se&&(O=!1),(O===se||g)&&(O=!0),v!==se&&6!=v&&(I=!1);const M=Oi(e,r,Wn);if(!g&&(h!==se||m!==se)&&(1>y||y>3))throw new w("The strength must equal 1, 2, or 3");const _=bi(r[Gn]),N=bi(r.localExtraField);return{comment:i,ct:{rawFilename:s,rawComment:a,version:c,lastModDate:d,lastAccessDate:l,creationDate:u,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:g,extendedTimestamp:x,ntfsTimestamp:S,keepOrder:b,useWebWorkers:z,transferStreams:F,bufferedWrite:R,createTempStream:E,dataDescriptorSignature:D,signal:A,useUnicodeFileNames:k,compressionMethod:T,format:C?C.format:se,codecURI:C?C.codecURI:se,lt:C?C.versionNeeded:se,level:v,useCompressionStream:I,dataDescriptor:O,zip64:M,rawExtraField:_,ut:N}}})(e,t,s),{comment:l}=d,u=s[Gn];let p;e.files.set(t,se);try{const{ct:l}=d;0==l.level||l.compressionMethod!==se||l.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:r}=e;if(r&&!r.Te)return!0;if(Cr(t)||Tr(t,Fr))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(l.level=0);const u=await(async(e,t,{ct:r},n)=>{const{passThrough:s,zipCrypto:i,password:a,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:d,zip64:l,level:u,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new w("Undefined reader");if(h=n[En],h===se)throw new w("Undefined uncompressed size")}const m=!0===l,y=Oi(e,n,Bn),g=!!t&&(!!(a&&Wi(a)||o&&Wi(o))||s&&y);t||(u=0,f=0);const x=g?i?12:16+4*c:0;t&&(t=new ot(t),await dt(t),s?(n.uncompressedSize=h,p=Mi(h)+x):t.size===se?(d=!0,(l||l===se)&&(l=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=Mi(h)+x));const S=m||h>=v,b=m||p>=v;if(S||b){if(!1===l)throw new w(pi);l=!0}return l=l||!1,{reader:t,ct:{dataDescriptor:d,zip64:l,nt:S,et:b,uncompressedSize:h,level:u,compressionMethod:f,encrypted:g}}})(e,n,d,s);({reader:n}=u);const h=Di(e.writer),m=Ei(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:i,zip64:c,zipCrypto:d,useUnicodeFileNames:l,dataDescriptor:u,directory:f,rawExtraField:p,ut:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:x,encrypted:S,nt:b,et:z,uncompressedSize:F,crc32:R}=e;let{version:E,compressionMethod:D}=e;const A=!f&&(D===se?i===se||i>0:0!==D);let k;const T=x||!A,C=c&&(e.bufferedWrite||!u||!b&&!z||T),v=C||c&&u&&(b||z);if(c&&(b||z)){const e=20,t=Ri(e);if(t.uint16(1),t.uint16(e-4),k=t.array,C&&(t.wt(F),T)){const e=S?d?12:16+4*m:0;t.wt(x?0:F+e)}}else k=ce;let I,M,_,N,L;if(S&&!d){const e=Ri(Wi(hi)+2);e.uint16(j),e.bytes(hi),I=e.array,I[8]=m}else I=ce;if(y){const e=vi(r),t=Ui(e);if(t){const t=9+(n?4:0)+(s?4:0),r=Ri(t);N=1+(n?2:0)+(s?4:0),r.uint16(q),r.uint16(t-4),r.uint8(N),r.uint32(e),n&&r.uint32(Ii(vi(n))),s&&r.uint32(Ii(vi(s))),_=r.array}else _=ce;if(g===se?!t||n||s:g)try{const e=Ci(r),t=Ri(36);t.uint16(10),t.uint16(32),t.ft(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(n?Ci(n):e),t.wt(s?Ci(s):e),M=t.array}catch{M=ce}else M=ce}else M=_=ce;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=mi||t===se&&r===se)if(n!=yi||t===se&&r===se)L=ce;else{const e=Ri(8);e.uint16(G),e.uint16(4),e.uint16((t===se?0:t)&U),e.uint16((r===se?0:r)&U),L=e.array}else{const e=Fi(t),n=Fi(r),s=3+e.length+n.length,i=Ri(4+s);i.uint16(Y),i.uint16(s),i.uint8(1),i.uint8(e.length),i.bytes(e),i.uint8(n.length),i.bytes(n),L=i.array}}catch{L=ce}D===se&&(D=A?8:0);const{lt:P}=e;A&&P!==se&&(E=E>P?E:P),c&&(E=E>45?E:45),S&&!d&&(E=E>51?E:51,x&&R!==se&&(I[4]=1),I[9]=D,D=99);const W=v?Wi(k):0,B=W+Wi(I,_,M,L,p,h);if(B>U)throw new w(di);const Z=new o(2e3*a.ceil(a.floor(r.getTime()/1e3)/2)),{Qe:V,$e:H,rawLastModDate:K}=Bi({version:E,bitFlag:Zi(i,l,u,S,D),compressionMethod:D,uncompressedSize:F,lastModDate:ne>Z?ne:Z>re?re:Z,rawFilename:t,et:z,nt:b,extraFieldLength:B}),X=Ri(te+Wi(t)+B),J=X.array,Q=he(J);return X.uint32(O),X.bytes(V),X.bytes(t),v&&X.bytes(k),X.bytes(I),X.bytes(_),X.bytes(M),X.bytes(L),X.bytes(p),X.bytes(h),u&&(z||Ni(Q,18,0),b||Ni(Q,22,0)),{ht:J,yt:Q,Qe:V,$e:H,lastModDate:r,rawLastModDate:K,encrypted:S,compressed:A,version:E,compressionMethod:D,ot:N,Ke:ce,gt:W,Ge:_,Xe:M,Je:L,Ye:I,extraFieldLength:B}})(s=r.assign({},s,c.ct,d.ct,u.ct,{internalFileAttribute:d.ct.internalFileAttributes,externalFileAttribute:c.ct.externalFileAttributes,signature:s[Yn],crc32:s.crc32===se?s[Yn]:s.crc32,offset:e.offset-h,diskNumberStart:m})),x=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ce,i=0,a=e?20:12;return r&&(a+=4),t&&(s=new f(a),n=he(s),r&&(i=4,Ni(n,0,_))),{xt:s,St:n,bt:i}})(s),S=Wi(y.ht,x.xt);p=await(async(e,t,n,s,a)=>{const{files:o,writer:c}=e,{keepOrder:d,dataDescriptor:l,signal:u}=a,{zt:p}=s,h=e.options[ws],m=e.qe;let y,x,S,b,z,F,E,A={},k=0;o.set(t,A),e.qe=A;try{let x;d&&(x=m&&m.lock,A.lock=new g(e=>S=e)),a.bufferedWrite||!d||e.Ft||e.je||!l?(y=!0,e.je++,E=a.createTempStream?await a.createTempStream():new R(se,se,{highWaterMark:ie}),E.size=0,await dt(c)):(E=c,await T()),await dt(E);const U=Di(c);if(e.Be){delete e.Be;const t=new f(4);Ni(he(t),0,M),await Ti(c,t),e.offset+=4}h&&!y&&zi(s,e.offset-U);const{ht:O}=p;y||(await x,await C());const _=Ei(c),N=ki(e,c);if(A.diskNumberStart=_,y||(z=!0,F=c.size,await Ti(E,O)),A=await(async(e,t,{diskNumberStart:n,lock:s},a,o,c)=>{const{zt:d,Rt:l,Et:u}=a,{Qe:f,$e:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:x,compressionMethod:S,Ke:b,gt:z,Ge:F,ot:R,Xe:E,Je:D,Ye:A}=d,{xt:k}=l,{rawFilename:T,lastAccessDate:C,creationDate:U,password:O,rawPassword:M,level:_,zip64:N,nt:L,et:P,zipCrypto:W,dataDescriptor:B,directory:Z,executable:V,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:ye,codecURI:ge}=c,xe={lock:s,versionMadeBy:H,zip64:N,directory:!!Z,executable:!!V,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:j,Ke:b,gt:z,Ge:F,Xe:E,Je:D,Ye:A,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,diskNumberStart:n,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe};let{crc32:Se,uncompressedSize:be}=c,ze=0;he||(be=0);const{writable:Fe}=t;if(e){const r=me(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Nr,level:_,rawPassword:M,password:O,encryptionStrength:$,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&I,computeCrc32:!he,compressed:g&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:ye,codecURI:ge,compressionMethod:S},config:o,he:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await fn({readable:r,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,he||(be=e.inputSize,y&&!W||(Se=e.crc32)),!P&&ze>=v||!L&&be>=v)throw new w(pi)}catch(e){throw e.outputSize!==se&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,zt:n,Rt:s},{zip64:a,zipCrypto:o,passThrough:c,dataDescriptor:d})=>{const{$e:l,encrypted:u}=n,{St:w,bt:f}=s;u&&!o&&!c||e===se||(Ni(l,10,e),d&&Ni(w,f,e)),a?d&&(Li(w,f+4,i(t)),Li(w,f+12,i(r))):(Ni(l,14,t),Ni(l,18,r),d&&(Ni(w,f+4,t),Ni(w,f+8,r)))})({crc32:Se,compressedSize:ze,uncompressedSize:be,zt:d,Rt:l},c),B&&await Ti(t,k),r.assign(xe,{uncompressedSize:be,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:U,lastAccessDate:C,encrypted:y,zipCrypto:W,size:u+ze,compressionMethod:S,version:x,Qe:f,$e:p,signature:Se,crc32:!y||W||he?Se:se,ot:R,nt:L,et:P}),xe})(n,E,A,s,e.config,a),y||(z=!1),o.set(t,A),A.filename=t,y){if(await g.all([E.writable.getWriter().close(),x]),await T(),b=!0,F=c.size,await C(),A.diskNumberStart=Ei(c),A.offset=ki(e,c),h){const t=s.Et;zi(s,e.offset-Di(c)),A.size+=s.Et-t}(({rawFilename:e,encrypted:t,zip64:r,gt:n,crc32:s,compressedSize:a,uncompressedSize:o,nt:c,et:d},l,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==se)&&Ni(l,14,s),d||Ni(l,18,a),c||Ni(l,22,o)),r&&n){const t=te+Wi(e)+4;Li(l,t,i(o)),Li(l,t+8,i(a))}})(A,p.yt,a),await Ti(c,p.ht),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=Wi(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,c,u),c.size+=E.size,b=!1}else A.diskNumberStart=_,A.offset=N;return e.offset+=A.size,A}catch(r){if(b||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=k)}throw o.delete(t),r}finally{if(y&&e.je--,S&&S(),x&&x(),y&&E&&E.dispose)try{await E.dispose()}catch{}}async function T(){e.Ft=!0;const{Dt:t}=e;e.Dt=new g(t=>x=()=>{e.Ft=!1,t()}),await t}async function C(){Ai(c,Wi(p.ht))&&await c.closeDisk()}})(e,t,n,{zt:y,Rt:x,Et:S},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:l,extraField:u}),new ts(p)})(s,e,t,n),c.add(l),await l}catch(t){throw u&&s.Ze.delete(e),t}finally{c.delete(l);const e=xi.shift();e?e():gi--}}remove(e){const{Ze:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==se){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ce,r={}){const{He:n,writer:s}=this,{writable:a}=s;if(Wi(e)>U)throw new w(oi);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Ye:n,rawComment:s,Xe:i,Je:a,rawExtraField:o,extendedTimestamp:c,ot:d,lastModDate:l,nt:u,et:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=v,y=r.diskNumberStart>=U;let g,x;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Ri(e);t.uint16(1),t.uint16(e-4),u&&t.wt(p),f&&t.wt(h),m&&t.wt(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ce;r.Ke=g,r.st=m,r.it=y;const S=vi(l);if(c&&Ui(S)){const e=Ri(9);e.uint16(q),e.uint16(5),e.uint8(d),e.uint32(S),x=e.array}else x=ce;r.Ge=x;const b=Wi(g,n,i,a,x,o);if(b>U)throw new w(di);t+=46+Wi(e,s)+b}return t})(e.files),{At:a,kt:o}=await(async(e,r,n)=>{const{files:s,writer:i}=e,a=new f(r);await dt(i);let o=0,c=0,d=Ei(i),l=Di(i);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Ke:w,Ye:f,Ge:p,Xe:h,Je:m,rawExtraField:y,rawComment:g,versionMadeBy:x,Qe:S,$e:b,nt:z,et:F,it:R,st:E,internalFileAttributes:D,externalFileAttributes:A,diskNumberStart:k,uncompressedSize:T,compressedSize:C}=r,I=Wi(w,f,p,h,m,y),O=46+Wi(u,g)+I;Ai(i,o+O-c)&&(await Ti(i,a.slice(c,o)),c=o,await i.closeDisk()),0==e&&(d=Ei(i),l=Di(i)),z||Ni(b,18,T),F||Ni(b,14,C),(E||R)&&45>r.version&&_i(b,0,45);const M=Ri(O);if(M.uint32(L),M.uint16(x),M.bytes(S.subarray(0,24)),M.uint16(I),M.uint16(Wi(g)),M.uint16(R?U:k),M.uint16(D),M.uint32(A),M.uint32(E?v:t),M.bytes(u),M.bytes(w),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(g),Pi(a,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new ts(r))}catch{}}return await Ti(i,c?a.slice(c):a),{At:{diskNumber:d,diskOffset:l},kt:a}})(e,s,n),c=await(async(e,t,r)=>{const n=Oi(e,r,"signCentralDirectory");if(n){const r=await n(t),s=Wi(r);if(s>U)throw new w("Signature data exceeds 64KB");const i=Ri(6+s);return i.uint32(N),i.uint16(s),i.bytes(r),await Ti(e.writer,i.array),6+s}return 0})(e,o,n);await(async(e,t,r,n)=>{const{writer:s}=e,{At:a,Tt:o}=n;let{Ct:c}=n,d=e.files.size,l=a.diskNumber,u=ki(e,a),f=Ei(s);Ai(s,Z)&&f++;let p=Oi(e,r,Wn);if(!(v>u&&v>c&&U>d&&U>f)){if(!1===p)throw new w(pi);p=!0}const h=Wi(t);if(h>U)throw new w(oi);const m=Ri(p?98:Z);Ai(s,Wi(m.array)+h)&&await s.closeDisk(),f=Ei(s),p&&(m.uint32(W),m.wt(44),m.uint16(45),m.uint16(45),m.uint32(f),m.uint32(l),m.wt(d),m.wt(d),m.wt(c),m.wt(u),m.uint32(B),m.uint32(f),m.wt(i(ki(e,s))+i(c)+i(o)),m.uint32(f+1),Oi(e,r,"supportZip64SplitFile",!0)&&(f=U,l=U),d=U,u=v,c=v),m.uint32(P),m.uint16(f),m.uint16(l),m.uint16(d),m.uint16(d),m.uint32(c),m.uint32(u),m.uint16(h),await Ti(s,m.array),h&&await Ti(s,t)})(e,r,n,{At:a,Ct:s,Tt:c})})(this,e,r),Oi(this,r,ls)||await a.getWriter().close(),s.getData?s.getData():a}}function bi(e){if(!e)return ce;let t=0,r=0;e.forEach(e=>t+=4+Wi(e));const n=new f(t),s=he(n);return e.forEach((e,t)=>{if(t>U)throw new w("Extra field type exceeds 65535");if(Wi(e)>U)throw new w(di);_i(s,r,t),_i(s,r+2,Wi(e)),Pi(n,e,r+4),r+=4+Wi(e)}),n}function zi(e,t){const{zt:r}=e;let{ht:n,extraFieldLength:s}=r,i=64-(t+Wi(n))%64;4>i&&(i+=64);const a=new f(i),o=he(a);_i(o,0,K),_i(o,2,i-4);const c=n;r.ht=n=new f(Wi(c)+i),Pi(n,c),Pi(n,a,Wi(c));const d=he(n);_i(d,28,s+i),r.yt=d,e.Et+=i}function Fi(e){if(e===se)return ce;{const t=new f(4);he(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Ri(e){const t=new f(e),r=he(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{_i(r,n,e),n+=2},uint32:e=>{Ni(r,n,e),n+=4},wt:e=>{Li(r,n,i(e)),n+=8},bytes:e=>{Pi(t,e,n),n+=Wi(e)},ft:e=>n+=e}}function Ei(e){const{diskNumber:t=0}=e;return t}function Di(e){const{diskOffset:t=0}=e;return t}function Ai(e,t){const{availableSize:r=ie}=e;return t>r}function ki(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function Ti(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=Wi(t),await n.write(t)}finally{n.releaseLock()}}function Ci(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return wi>t?wi:t>fi?fi:t}}function vi(e){return a.floor(e.getTime()/1e3)}function Ui(e){return e>=li&&ui>=e}function Ii(e){return a.min(ui,a.max(li,e))}function Oi(e,t,r,n){const s=t[r]===se?e.options[r]:t[r];return s===se?n:s}function Mi(e){return e+5*(a.floor(e/16383)+1)}function _i(e,t,r){e.setUint16(t,r,!0)}function Ni(e,t,r){e.setUint32(t,r,!0)}function Li(e,t,r){e.setBigUint64(t,r,!0)}function Pi(e,t,r){e.set(t,r)}function Wi(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Bi({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,et:c,nt:d,extraFieldLength:l}){const u=Ri(26),w=u.array,f=he(w);if(u.uint16(e),u.uint16(t),u.uint16(r),a===se){const e=new h(1),t=he(e);_i(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),_i(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return u.uint32(a),u.ft(4),c||s!==se?u.uint32(c?v:s):u.ft(4),d||n!==se?u.uint32(d?v:n):u.ft(4),u.uint16(Wi(o)),u.uint16(l),{Qe:w,$e:f,rawLastModDate:a}}function Zi(e,t,r,n,s){let i=0;return t&&(i|=X),r&&(i|=8),8!=s&&9!=s||(0>e||e>3||(i|=6),e>3&&5>=e&&(i|=4),9==e&&(i|=2)),n&&(i|=1),i}const Vi="Entry filename already exists",Hi="Readable stream already consumed",ji=new d([1,j,10,q,28789,25461,K,Y,G,22613,13]);class qi{constructor(e,t,n,s){const i=this;if(e.root&&s&&s.getChildByName(t))throw new w(Vi);n||(n={}),r.assign(i,{fs:e,name:t,data:n.data,options:n.options,id:e.vt++,parent:s,children:[],uncompressedSize:n.uncompressedSize||0,passThrough:n.passThrough}),!s&&e.root||(e.entries[i.id]=i),s&&i.parent.children.push(i)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,r=this.parent;for(;r&&r!=e;)t=(r.name?r.name+"/":"")+t,r=r.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new w(Vi);this.name=e}}class Ki extends qi{constructor(e,t,r,n){super(e,t,r,n);const s=this;s.Reader=r.Reader,s.Writer=r.Writer,r.getData&&(s.getData=r.getData)}clone(){return new Ki(this.fs,this.name,this)}async getData(e,t={}){const r=this;if(!e||e.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=$i(r.Reader,r.data,t),s=r.data?r.data.uncompressedSize:n.size;await g.all([dt(n),dt(e,s)]);const{readable:i}=n;return r.uncompressedSize=n.size,await i.pipeTo(e.writable),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;try{return await n.data.getData(null,r.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==Ut)return!1;throw e}}getText(e,t){return this.getData(new Le(e),t)}getBlob(e,t){return this.getData(new _e(e),t)}getData64URI(e,t){return this.getData(new Ue(e),t)}getUint8Array(e){return this.getData(new st,e)}getWritable(e=new D,t){return this.getData({writable:e},t)}async getArrayBuffer(e){return pe(await this.getUint8Array(e)).buffer}replaceBlob(e){r.assign(this,{data:e,Reader:Me,Writer:_e,reader:null})}replaceText(e){r.assign(this,{data:e,Reader:Ne,Writer:Le,reader:null})}replaceData64URI(e){r.assign(this,{data:e,Reader:ve,Writer:Ue,reader:null})}replaceUint8Array(e){r.assign(this,{data:e,Reader:nt,Writer:st,reader:null})}replaceReadable(e){r.assign(this,{data:null,Reader:Ji(e),Writer:null,reader:null})}}class Yi extends qi{constructor(e,t,r,n){super(e,t,r,n),this.directory=!0}clone(e){const t=this,r=new Yi(t.fs,t.name,t);return e&&(r.children=t.children.map(t=>{const n=t.clone(e);return n.parent=r,n})),r}addDirectory(e,t){return ia(this,e,{options:t},!0)}addText(e,t,r={}){return ia(this,e,{data:t,Reader:Ne,Writer:Le,options:r,uncompressedSize:t.length})}addBlob(e,t,r={}){return ia(this,e,{data:t,Reader:Me,Writer:_e,options:r,uncompressedSize:t.size})}addData64URI(e,t,r={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const s=t.indexOf(",")+1;return ia(this,e,{data:t,Reader:ve,Writer:Ue,options:r,uncompressedSize:a.floor(.75*(n-s))})}addUint8Array(e,t,r={}){return ia(this,e,{data:t,Reader:nt,Writer:st,options:r,uncompressedSize:t.length})}addHttpContent(e,t,r={}){return ia(this,e,{data:t,Reader:class extends rt{constructor(e){super(e,r)}},options:r})}addReadable(e,t,r={}){return ia(this,e,{Reader:Ji(t),options:r})}addFileSystemEntry(e,t={}){return ra(this,e,t)}addFileSystemHandle(e,t={}){return ra(this,e,t)}addFile(e,t={}){return(t=r.assign({},t)).lastModDate||(t.lastModDate=new o(e.lastModified)),ia(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}Ut(e,t){return ia(this,e,t)}importBlob(e,t){return this.importZip(new Me(e),t)}importData64URI(e,t){return this.importZip(new ve(e),t)}importUint8Array(e,t){return this.importZip(new nt(e),t)}importHttpContent(e,t){return this.importZip(new rt(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new _e(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new Ue(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new st,e)}async exportWritable(e=new D,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,n={}){return(async(e,n,s)=>{const i=Xi([e],"uncompressedSize"),a=new c;return await o(e,n),n;async function o(e,t){if(s.concurrent){const r=(await g.allSettled(e.children.map(e=>d(e,t)))).find(e=>"rejected"==e.status);if(r)throw r.reason}else for(const r of e.children)await d(r,t)}async function d(e,n){try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await o(e,t)}else{const o=await n.getFileHandle(e.name,{create:!0}),c=await o.createWritable();await e.getData({writable:c},r.assign({},s,{onprogress:async r=>{if(s.onprogress){a.set(e.id,r);try{await s.onprogress(t.from(a.values()).reduce((e,t)=>e+t,0),i)}catch{}}}}))}}catch(t){throw new w(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,n)}async importZip(e,t={}){await dt(e);const n=new Is(e,t),s=[],i=await n.getEntries();for(const e of i){let n=this;try{const i=e.filename.split("/"),a=i.pop();if(i.forEach(e=>{const t=n;if(n=n.getChildByName(e),n){if(!n.directory)throw new w(Vi)}else n=new Yi(this.fs,e,{data:null},t),s.push(n)}),e.directory){let t=n;if(a)if(t=n.getChildByName(a),t){if(!t.directory)throw new w(Vi)}else t=new Yi(this.fs,a,{data:null},n),s.push(t);t==this||t.data||(t.data=e)}else s.push(ia(n,a,{data:e,Reader:Qi(r.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return s}async exportZip(e,n={}){const s=this;(n=r.assign({},n)).bufferedWrite===se&&(n.bufferedWrite=!0);const[i]=await g.all([ea(s,n.readerOptions),dt(e)]),a=new Si(e,n);return await(async(e,n,s,i,a)=>{const o=n,d=new c;await async function e(n,l){async function u(l){const u=i.relativePath?l.getRelativeName(o):l.getFullname(),w=l.options||{};let f={};if(l.data instanceof ts){const{externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,uncompressedSize:d,encrypted:u,zipCrypto:w,crc32:p,compressionMethod:h,extraFieldAES:m,internalFileAttributes:y,extraField:g,uid:x,gid:S}=l.data;f={externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,internalFileAttributes:y};const b=(e=>{if(e){const t=new c;if(e.forEach((e,r)=>{ji.has(r)||t.set(r,e.data)}),t.size)return t}})(g);if(b&&(f.extraField=b),x===se&&S===se||r.assign(f,{uid:x,gid:S,unixExtraFieldType:i.unixExtraFieldType||"infozip"}),l.passThrough){let e,t;0===h&&(e=0),m&&(t=m.strength),f=r.assign(f,{passThrough:!0,encrypted:u,zipCrypto:w,crc32:p,uncompressedSize:d,level:e,encryptionStrength:t,compressionMethod:h})}}await n.add(u,a.get(l),r.assign({},i,f,w,{directory:l.directory,onprogress:async e=>{if(i.onprogress){d.set(u,e);try{await i.onprogress(t.from(d.values()).reduce((e,t)=>e+t),s)}catch{}}}})),await e(n,l)}await(async()=>{if(i.bufferedWrite){const e=(await g.allSettled(l.children.map(u))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of l.children)await u(e)})()}(e,n)})(a,s,Xi([s],"uncompressedSize"),n,i),await a.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let r=0;r<t.length;r++){const n=t[r];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const r=this.children;return!(await g.all(r.map(r=>r.checkPassword(e,t)))).includes(!1)}}const Gi={FS:class{constructor(){sa(this)}get children(){return this.root.children}remove(e){ta(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const r of e.children)t.push(r)}e.parent=se}move(e,t){if(e==this.root)throw new w("Root directory cannot be moved");if(!t.directory)throw new w("Target entry is not a directory");if(t.isDescendantOf(e))throw new w("Entry is a ancestor of target entry");if(e!=t){const r=t.getChildByName(e.name);if(r){if(r!=e)throw new w(Vi)}else ta(e),e.parent=t,t.children.push(e),((e,t)=>{const r=[t];for(;r.length;){const t=r.pop();e.entries[t.id]=t;for(const e of t.children)r.push(e)}})(this,e)}}find(e){const t=e.split("/");let r=this.root;for(let e=0;r&&e<t.length;e++)r=r.getChildByName(t[e]);return r||(r=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),r}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,r){return this.root.addText(e,t,r)}addBlob(e,t,r){return this.root.addBlob(e,t,r)}addData64URI(e,t,r){return this.root.addData64URI(e,t,r)}addUint8Array(e,t,r){return this.root.addUint8Array(e,t,r)}addHttpContent(e,t,r){return this.root.addHttpContent(e,t,r)}addReadable(e,t,r){return this.root.addReadable(e,t,r)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}Ut(e,t){return this.root.Ut(e,t)}importBlob(e,t){return sa(this),this.root.importBlob(e,t)}importData64URI(e,t){return sa(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return sa(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return sa(this),this.root.importHttpContent(e,t)}importReadable(e,t){return sa(this),this.root.importReadable(e,t)}importZip(e,t){return sa(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Yi,ZipFileEntry:Ki};function Xi(e,r){let n=0;const s=t.from(e);for(;s.length;){const e=s.pop();n+=e[r]||0;for(const t of e.children)s.push(t)}return n}function Ji(e){let t;return()=>{if(t)throw new w(Hi);return t=!0,{readable:e}}}function Qi(e){return class extends Te{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const n=await t.entry.getData(new _e,r.assign({},e,t.options));t.data=n,t.It=new Me(n),super.init()}readUint8Array(e,t){return this.It.readUint8Array(e,t)}}}function $i(e,t,r){return e.prototype?new e(t,r):e(t,r)}async function ea(e,t){const r=[],n=[e],s=new c;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):r.push(t)}return await g.all(r.map(async e=>{const r=e.reader=$i(e.Reader,e.data,t);s.set(e,r);try{await dt(r)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}r.size!==se&&(e.uncompressedSize=r.size)})),s}function ta(e){if(e.parent){const t=e.parent.children;t.forEach((r,n)=>{r.id==e.id&&t.splice(n,1)})}}function ra(e,t,n){return async function e(t,s,i){if(s)try{if((s.isFile||s.isDirectory)&&(s=await na(s)),"file"==s.kind){const e=await s.getFile();i.push(t.Ut(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:r.assign({},{lastModDate:new o(e.lastModified)},n),uncompressedSize:e.size}))}else if("directory"==s.kind){const r=t.addDirectory(s.name);i.push(r);for await(const t of s.values())await e(r,t,i)}}catch(e){const t=e.message+(s?" ("+s.name+")":"");throw new w(t,{cause:e})}return i}(e,t,[])}async function na(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new g((t,r)=>e.file(t,r))),e.isDirectory){t.kind="directory";const r=await(async e=>{const t=[];function r(e,n,s){e.readEntries(async i=>{if(i.length){for(const e of i)t.push(await na(e));r(e,n,s)}else n(t)},s)}return await new g((t,n)=>r(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const r={value:t[e],done:e==t.length};return e++,r}}}}})(e);t.values=()=>r}return t}function sa(e){e.entries=[],e.vt=0,e.root=new Yi(e)}function ia(e,t,r,n){if(e.directory)return n?new Yi(e.fs,t,r,e):new Ki(e.fs,t,r,e);throw new w("Parent entry is not a directory")}e.ERR_ENTRY_EXISTS=Vi,e.ERR_READABLE_CONSUMED=Hi,e.fs=Gi});
1
+ ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:s,BigInt:i,Math:a,Date:o,Map:c,Set:d,Response:l,URL:u,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:R,ReadableStream:E,WritableStream:D,CompressionStream:A,DecompressionStream:k,navigator:T,Worker:C}="undefined"!=typeof globalThis?globalThis:this||self,v=4294967295,U=65535,I=255,O=67324752,M=134695760,_=M,N=84233040,L=33639248,P=101010256,W=101075792,B=117853008,Z=22,V=20,H=56,j=39169,q=21589,K=6534,Y=30837,G=30805,X=2048,J=16384,Q=2048,$=1024,ee="/",te=30,re=new o(2107,11,31,23,59,58),ne=new o(1980,0,1),se=void 0,ie=1/0,ae="undefined",oe="function",ce=new f;let de=2;try{typeof T!=ae&&T.hardwareConcurrency&&(de=T.hardwareConcurrency)}catch{}const le={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:de,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=ae&&A,DecompressionStream:typeof k!=ae&&k};function ue(){return le}function we(e){return a.max(e.chunkSize,64)}function fe(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function pe(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function he(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function me(e){if(e instanceof E)return e;const t=e.getReader();return new E({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function ye(e,t){if(e=me(e),typeof y.prototype.stream!=oe||new y([]).stream()instanceof E){const r={};return t&&(r.headers=[["Content-Type",t]]),new l(e,r).blob()}const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,t?{type:t}:{}))}function ge(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const xe="HTTP error ",Se="HTTP Range not supported",be="HTTP resource changed",ze="Content-Range",Fe="Range",Re="GET",Ee="bytes",De=16777216,Ae="writable",ke=Symbol();class Te{constructor(){this.size=0}init(){this.initialized=!0}}class Ce extends Te{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=we(ue())}={}){const n=this;let s=0;return new E({async pull(i){const o=t===se?r:a.min(r,t-s),c=await ut(n,e+s,o);i.enqueue(c),s+r>t||t===se&&!c.length&&o?i.close():s+=r}})}}class ve extends Te{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w("Writer not initialized");return e.writeUint8Array(pe(t))}});r.defineProperty(e,Ae,{get:()=>t})}writeUint8Array(){}}class Ue extends Ce{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,o:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{o:r,dataURI:n}=this,s=new f(t),i=4*a.floor(e/3),o=atob(n.substring(i+r,4*a.ceil((e+t)/3)+r)),c=e-3*a.floor(i/4);let d=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),d++;return d<s.length?s.subarray(0,d):s}}class Ie extends ve{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const i=t.pending.length;for(t.pending="",r=0;r<3*a.floor((i+e.length)/3)-i;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}}let Oe,Me;class _e extends Ce{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Me||(Me=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();Oe=1==t}catch{Oe=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Oe?me(t.slice(n,n+s).stream()):super.createReadable(e):me(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let i=await s.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,n)),new f(i)}}class Ne extends Te{constructor(e){super();const t=this,n=new R;r.defineProperty(t,Ae,{get:()=>n.writable}),t.blob=ye(n.readable,e),t.blob.catch(()=>{})}getData(){return this.blob}}class Le extends _e{constructor(e){super(new y([e],{type:"text/plain"}))}}class Pe extends Ne{constructor(e){super(e),r.assign(this,{encoding:e,l:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,l:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new g((s,i)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(n,e)})}}}class We extends Ce{constructor(e,t){super(),Ze(this,e,t)}async init(){await Ve(this,tt,Je),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:i}=t;if((r||n)&&i!==se){const{offset:r=0,size:n=i-r}=e||{};if(n>0&&i>r)return((e,t,r)=>{let n,i=t,o=0,c=r;return new E({start:()=>d(),async pull(e){n||await d();const{value:t,done:r}=await n.read();if(r)throw new w(Se);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=n;n=se,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function d(){const t=a.min(e.maximumRangeSize,c),r=await tt(Re,e,Ge(e,i,t));if(206!=r.status)throw new w(Se);const d=r.headers.get(ze);if(d){const e=s(d.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=i)throw new w(Se)}Ye(e,r),Ke(e,r),i+=t,o=t,n=r.body.getReader()}})(t,r,a.min(n,i-r))}return super.createReadable(e)}readUint8Array(e,t){return He(this,e,t,tt,Je)}}class Be extends Ce{constructor(e,t){super(),Ze(this,e,t)}async init(){await Ve(this,rt,Qe),super.init()}readUint8Array(e,t){return He(this,e,t,rt,Qe)}}function Ze(e,t,n){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:d=De,fetch:l}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:d,fetch:l})}async function Ve(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ue(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||a)&&(void 0===s||s)){const n=await t(Re,e,Ge(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==Ee))throw new w(Se);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==Z&&(e.h=t)}Ke(e,n);const s=je(n);s===se?await et(e,t,r):e.size=s}}else await et(e,t,r)}async function He(e,t,r,n,i){const{useRangeHeader:a,forceRangeRequests:o,h:c,size:d,options:l}=e;if(a||o){if(c&&t==d-Z&&r==Z)return c;if(d>t&&0!==r){t+r>d&&(r=d-t);const i=await n(Re,e,Ge(e,t,r));if(206!=i.status)throw new w(Se);const a=i.headers.get(ze);if(a){const e=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(Se)}Ye(e,i),Ke(e,i);const o=new f(await i.arrayBuffer());if(o.length!=r)throw new w(Se);return o}return ce}{const{data:n}=e;return n||await i(e,l),e.data.subarray(t,t+r)}}function je(e){const t=e.headers.get(ze);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function qe({headers:e}){return{m:e.get("Etag")||se,lastModified:e.get("Last-Modified")||se}}function Ke(e,t){const{checkResourceChanges:r,S:n}=e;r&&!n&&206==t.status&&(e.S=qe(t))}function Ye(e,t){const{checkResourceChanges:n,S:s,size:i}=e;if(n){const e=je(t);if(e!==se&&i!==se&&e!=i)throw new w(be);if(s){const e=qe(t);if(r.entries(s).some(([t,r])=>r!==se&&e[t]!==se&&r!=e[t]))throw new w(be)}}}function Ge(e,t=0,n=1){return r.assign({},Xe(e),{[Fe]:Ee+"="+(0>t?t:t+"-"+(t+n-1))})}function Xe({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Je(e){await $e(e,tt)}async function Qe(e){await $e(e,rt)}async function $e(e,t){const r=await t(Re,e,Xe(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function et(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Xe(e)),i=n.headers.get("Content-Length");i&&!n.headers.get("Content-Encoding")?e.size=s(i):await r(e,e.options)}}async function tt(e,{fetch:t=fetch,options:n,url:s},i){const a=await t(s,r.assign({},n,{method:e,headers:i}));if(400>a.status)return a;throw 416==a.status?new w(Se):new w(xe+(a.statusText||a.status))}function rt(e,{url:t},n){return new g((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new w(Se):new w(xe+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new w("Network error")),!1),a.open(e,t),n)for(const e of r.entries(n))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class nt extends Ce{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Be(e,t):new We(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class st extends Ce{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class it extends ve{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new f(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class at extends Ce{constructor(e){super(),this.F=e}async init(){const e=this,{F:t}=e;e.R=0,await g.all(t.map(e=>lt(e))),e.D=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}A(e){const{D:t,size:r}=this,n=t[e];return n===se?r:n}async readUint8Array(e,t){const r=this,{F:n}=this;let s,i=0,o=e;for(;n[i]&&o>=n[i].size;)o-=n[i].size,i++;const c=n[i];if(c){const n=c.size;if(o+t>n){const i=n-o;s=fe(await ut(c,o,i),await r.readUint8Array(e+i,t-i))}else s=await ut(c,o,t)}else s=ce;return r.R=a.max(i,r.R),s}}class ot extends Te{constructor(e,t=4294967295){super();const n=this;let s,i,a;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===ke)return void(a&&await d());const{availableSize:r}=n;if(a)t.length<r?await c(t):(await c(t.subarray(0,r)),await d(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new w("Writer iterator completed too soon");s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await lt(s),i=r.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),s.size+=t,n.availableSize-=t)}async function d(){await l(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function l(){await a.close()}r.defineProperty(n,Ae,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(ke)}finally{e.releaseLock()}}}class ct{constructor(e){return t.isArray(e)&&(e=new at(e)),(e instanceof E||typeof e.getReader==oe)&&(e={readable:me(e)}),e}}class dt{constructor(e){return e.writable===se&&typeof e.next==oe&&(e=new ot(e)),(e instanceof D||typeof e.getWriter==oe)&&(e={writable:ge(e)}),e.size===se&&(e.size=0),e}}async function lt(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function ut(e,t,r){return e.readUint8Array(t,r)}const wt=new c,ft=new c;function pt(e){return wt.get(e)}function ht(e){return ft.get(e)}const mt=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;mt[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=mt[t-1][e];mt[t][e]=r>>>8^mt[0][255&r]}const[yt,gt,xt,St,bt,zt,Ft,Rt]=mt;class Et{constructor(e){this.T=e||-1}append(e){let t=0|this.T;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),i=r-8;for(;i>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=Rt[255&e]^Ft[e>>>8&255]^zt[e>>>16&255]^bt[e>>>24&255]^St[255&r]^xt[r>>>8&255]^gt[r>>>16&255]^yt[r>>>24&255]}}for(;r>n;n++)t=t>>>8^yt[255&(t^e[n])];this.T=t}get(){return~this.T}}class Dt extends R{constructor(){let e;const t=new Et;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function At(e){if(typeof x==ae){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new x).encode(e)}const kt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=kt.C(r);return 32===n?e.concat(t):kt.v(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+kt.C(r)},U(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=kt.I(t,e[r-1]&2147483648>>t-1,1)),e},I:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,C:e=>a.round(e/1099511627776)||32,v(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=kt.C(s);return n.push(kt.I(t+i&31,t+i>32?r:n.pop(),1)),n}},Tt={bytes:{O(e){const t=kt.bitLength(e)/8,r=new f(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},M(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(kt.I(8*(3&r),n)),t}}},Ct=class{constructor(e){const t=this;t.blockSize=512,t._=[1732584193,4023233417,2562383102,271733878,3285377520],t.N=[1518500249,1859775393,2400959708,3395469782],e?(t.L=e.L.slice(0),t.P=e.P.slice(0),t.W=e.W):t.reset()}reset(){const e=this;return e.L=e._.slice(0),e.P=[],e.W=0,e}update(e){const t=this;"string"==typeof e&&(e=Tt.B.M(e));const r=t.P=kt.concat(t.P,e),n=t.W,s=t.W=n+kt.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(r);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.Z(i.subarray(16*a,16*(a+1))),a+=1;return r.splice(0,16*a),t}V(){const e=this;let t=e.P;const r=e.L;t=kt.concat(t,[kt.I(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e.W/4294967296)),t.push(0|e.W);t.length;)e.Z(t.splice(0,16));return e.reset(),r}H(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}j(e,t){return t<<e|t>>>32-e}Z(e){const r=this,n=r.L,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let i=n[0],o=n[1],c=n[2],d=n[3],l=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.j(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.j(5,i)+r.H(e,o,c,d)+l+s[e]+r.N[a.floor(e/20)]|0;l=d,d=c,c=r.j(30,o),o=i,i=t}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+d|0,n[4]=n[4]+l|0}},vt={importKey:e=>new vt.K(Tt.bytes.M(e)),Y(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new w("invalid params to pbkdf2");const s=1+(n>>5)<<2;let i,a,o,c,d;const l=new ArrayBuffer(s),u=new m(l);let f=0;const p=kt;for(t=Tt.bytes.M(t),d=1;(s||1)>f;d++){for(i=a=e.encrypt(p.concat(t,[d])),o=1;r>o;o++)for(a=e.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;(s||1)>f&&o<i.length;o++)u.setInt32(f,i[o]),f+=4}return l.slice(0,n/8)},K:class{constructor(e){const t=this,r=t.G=Ct,n=[[],[]];t.X=[new r,new r];const s=t.X[0].blockSize/32;e.length>s&&(e=(new r).update(e).V());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.X[0].update(n[0]),t.X[1].update(n[1]),t.J=new r(t.X[0])}reset(){const e=this;e.J=new e.G(e.X[0]),e.$=!1}update(e){this.$=!0,this.J.update(e)}digest(){const e=this,t=e.J.V(),r=new e.G(e.X[1]).update(t).V();return e.reset(),r}encrypt(e){if(this.$)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Ut=typeof z!=ae&&typeof z.getRandomValues==oe,It="Invalid password",Ot="Invalid signature",Mt=Ot,_t="zipjs-abort-check-password";function Nt(e){if(Ut)return z.getRandomValues(e);throw new w("Crypto API not supported")}const Lt=16,Pt={name:"PBKDF2"},Wt=r.assign({hash:{name:"HMAC"}},Pt),Bt=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Pt),Zt=["deriveBits"],Vt=[8,12,16],Ht=[16,24,32],jt=10,qt=[0,0,0,0],Kt=typeof z!=ae,Yt=Kt&&z.subtle,Gt=Kt&&typeof Yt!=ae,Xt=Tt.bytes,Jt=class{constructor(e){const t=this;t.ee=[[[],[],[],[],[]],[[],[],[],[],[]]],t.ee[0][0][0]||t.te();const r=t.ee[0][4],n=t.ee[1],s=e.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.N=[a=e.slice(0),o=[]],i=s;4*s+28>i;i++){let e=a[i-1];(i%s===0||8===s&&i%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],i%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^e}for(let e=0;i;e++,i--){const t=a[3&e?i:i-4];o[e]=4>=i||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.re(e,0)}decrypt(e){return this.re(e,1)}te(){const e=this.ee[0],t=this.ee[1],r=e[4],n=t[4],s=[],i=[];let a,o,c,d;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=a=0;!r[l];l^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,r[l]=i,n[i]=l,d=s[c=s[o=s[l]]];let u=16843009*d^65537*c^257*o^16843008*l,w=257*s[i]^16843008*i;for(let r=0;4>r;r++)e[r][l]=w=w<<24^w>>>8,t[r][i]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}re(e,t){if(4!==e.length)throw new w("invalid aes block size");const r=this.N[t],n=r.length/4-2,s=[0,0,0,0],i=this.ee[t],a=i[0],o=i[1],c=i[2],d=i[3],l=i[4];let u,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],x=4;for(let e=0;n>e;e++)u=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^d[255&g]^r[x],f=a[m>>>24]^o[y>>16&255]^c[g>>8&255]^d[255&h]^r[x+1],p=a[y>>>24]^o[g>>16&255]^c[h>>8&255]^d[255&m]^r[x+2],g=a[g>>>24]^o[h>>16&255]^c[m>>8&255]^d[255&y]^r[x+3],x+=4,h=u,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^r[x++],u=h,h=m,m=y,y=g,g=u;return s}},Qt=class{constructor(e,t){this.ne=e,this.se=t,this.ie=t}reset(){this.ie=this.se}update(e){return this.ae(this.ne,e,this.ie)}oe(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}ce(e){0===(e[0]=this.oe(e[0]))&&(e[1]=this.oe(e[1]))}ae(e,t,r){let n;if(!(n=t.length))return[];const s=kt.bitLength(t);for(let s=0;n>s;s+=4){this.ce(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return kt.U(t,s)}},$t=vt.K;let er=Kt&&Gt&&typeof Yt.importKey==oe,tr=Kt&&Gt&&typeof Yt.deriveBits==oe;class rr extends R{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){sr(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:i,de:a,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await ar(e,t,r,cr(n,0,Vt[t])),i=cr(n,Vt[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new w(It)})(r,i,s,cr(e,0,Vt[i]+2)),e=cr(e,Vt[i]+2),n?t.error(new w(_t)):a()):await o;const c=new f(e.length-jt-(e.length-jt)%Lt);t.enqueue(ir(r,e,c,0,jt,!0))},async flush(e){const{le:t,ue:r,pending:n,ready:i}=this;if(r&&t){await i;const a=cr(n,0,n.length-jt),o=cr(n,n.length-jt);let c=ce;if(a.length){const e=lr(Xt,a);r.update(e);const n=t.update(e);c=dr(Xt,n)}const d=cr(dr(Xt,r.digest()),0,jt);let l=n.length<jt?1:0;for(let e=0;jt>e;e++)l|=d[e]^o[e];if(l&&s)throw new w(Mt);e.enqueue(c)}}})}}class nr extends R{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){sr(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,de:i,ready:a}=r;let o=ce;n?(o=await(async(e,t,r)=>{const n=Nt(new f(Vt[t]));return fe(n,await ar(e,t,r,n))})(r,s,n),i()):await a;const c=new f(o.length+e.length-e.length%Lt);c.set(o,0),t.enqueue(ir(r,e,c,o.length,0))},async flush(e){const{le:t,ue:r,pending:n,ready:s}=this;if(r&&t){await s;let i=ce;if(n.length){const e=t.update(lr(Xt,n));r.update(e),i=dr(Xt,e)}const a=dr(Xt,r.digest()).slice(0,jt);e.enqueue(fe(i,a))}}})}}function sr(e,t,n,s){r.assign(e,{ready:new g(t=>e.de=t),password:or(t,n),strength:s-1,pending:ce})}function ir(e,t,r,n,s,i){const{le:a,ue:o,pending:c}=e;c.length&&(t=fe(c,t));const d=t.length-s;let l;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(d-d%Lt)),l=0;d-Lt>=l;l+=Lt){const e=lr(Xt,cr(t,l,l+Lt));i&&o.update(e);const s=a.update(e);i||o.update(s),r.set(dr(Xt,s),l+n)}return e.pending=cr(t,l),r}async function ar(e,n,s,i){e.password=null;const a=await(async(e,t,r,n,s)=>{if(!er)return vt.importKey(t);try{return await Yt.importKey("raw",t,r,!1,s)}catch{return er=!1,vt.importKey(t)}})(0,s,Wt,0,Zt),o=await(async(e,t,r)=>{if(!tr)return vt.Y(t,e.salt,Bt.iterations,r);try{return await Yt.deriveBits(e,t,r)}catch{return tr=!1,vt.Y(t,e.salt,Bt.iterations,r)}})(r.assign({salt:i},Bt),a,8*(2*Ht[n]+2)),c=new f(o),d=lr(Xt,cr(c,0,Ht[n])),l=lr(Xt,cr(c,Ht[n],2*Ht[n])),u=cr(c,2*Ht[n]);return r.assign(e,{keys:{key:d,we:l,passwordVerification:u},le:new Qt(new Jt(d),t.from(qt)),ue:new $t(l)}),u}function or(e,t){return t===se?At(e):t}function cr(e,t,r){return e.subarray(t,r)}function dr(e,t){return e.O(t)}function lr(e,t){return e.M(t)}class ur extends R{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){fr(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=pr(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new w(It);e=e.subarray(12)}n?t.error(new w(_t)):t.enqueue(pr(r,e))}})}}class wr extends R{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){fr(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=Nt(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(hr(r,t),0),s=12}else n=new f(e.length),s=0;n.set(hr(r,e),s),t.enqueue(n)}})}}function fr(e,t,n,s){r.assign(e,{password:t,rawPassword:n,passwordVerification:s}),((e,t,n)=>{const s=[305419896,591751049,878082192];if(r.assign(e,{keys:s,fe:new Et(s[0]),pe:new Et(s[2])}),n)for(let t=0;t<n.length;t++)mr(e,n[t]);else for(let r=0;r<t.length;r++)mr(e,t.charCodeAt(r))})(e,t,n)}function pr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=yr(e)^t[n],mr(e,r[n]);return r}function hr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=yr(e)^t[n],mr(e,t[n]);return r}function mr(e,t){let[,r]=e.keys;e.fe.append([t]);const n=~e.fe.get();r=xr(a.imul(xr(r+gr(n)),134775813)+1),e.pe.append([r>>>24]);const s=~e.pe.get();e.keys=[n,r,s]}function yr(e){const t=2|e.keys[2];return gr(a.imul(t,1^t)>>>8)}function gr(e){return 255&e}function xr(e){return 4294967295&e}const Sr="Invalid uncompressed size",br="Invalid compressed data",zr=Ot,Fr="deflate-raw",Rr="gzip",Er=[31,139,8];class Dr extends R{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,computeCrc32:c,level:d,deflate64:l,format:u,compressionMethod:w}=e,f=this;let p,h,y,g=super.readable;const x=u&&ht(u),S=c&&s&&!l&&!x&&(!i||o)&&!(!a||!n);if(i&&!o||!c||S||(p=new Dt,g=Mr(g,p)),s)if(x)g=_r(g,Ir(x.CompressionStream,u,{level:d,chunkSize:t,compressionMethod:w}));else if(S)y=new Ar,g=_r(g,new n(Rr)),g=Mr(g,y);else try{g=Or(g,a,{level:d,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Rr)}catch{throw e}g=_r(g,t),g=Mr(g,new Ar)}i&&(o?g=Mr(g,new wr(e)):(h=new nr(e),g=Mr(g,h))),Ur(f,g,()=>{i&&!o||!c||(f.crc32=S?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Ar extends R{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=a.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=fe(r,e));const i=s-8,o=a.min(i,r.length);n.enqueue(fe(r.subarray(0,o),e.subarray(0,i-o))),r=fe(r.subarray(o),e.subarray(i-o))},flush(){const t=he(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class kr extends R{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:i,checkCrc32:a,crc32:o,compressed:c,useCompressionStream:d,deflate64:l,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let x,S,b=super.readable;if(i&&(s?b=Mr(b,new ur(e)):(S=new rr(e),b=Mr(b,S))),c){const e=u&&ht(u);if(e)b=_r(b,Ir(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{b=Or(b,d,{chunkSize:t,deflate64:l},n,r)}catch(e){if(l||y===se)throw e;let t;try{t=new n(Rr)}catch{throw e}b=((e,t,r)=>{const n=new Et;let s,i,a,o=0,c=!1;const d=new g((e,t)=>{i=e,a=t});d.catch(()=>{}),r||i();const l=new R({start(e){const t=new f(10);t.set(Er),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await d}finally{h()}const t=new f(8),s=he(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){a(e)}}),u=new R({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():i(),t.enqueue(e)},cancel(e){a(e)}});return e=Mr(e,l),Mr(e=_r(e,t),u);function p(){h(),s=setTimeout(()=>a(new w(Sr)),5e3)}function h(){clearTimeout(s)}})(b,t,y)}b=(e=>{const t=e.getReader();return new E({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(br);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(b)}a&&(x=new Dt,b=Mr(b,x)),Ur(this,b,()=>{if(a){const e=new m(x.value.buffer);if(o!=e.getUint32(0,!1))throw new w(zr)}})}}const Tr=new c;function Cr(e,t){if(!e)return!1;let r=Tr.get(e);r||(r=new c,Tr.set(e,r));let n=r.get(t);if(n===se){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function vr(e){return Cr(e,Fr)}function Ur(e,t,n){t=Mr(t,new R({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Ir(e,t,r){if(!e)throw new w("Compression method not supported");return new e(t,r)}function Or(e,t,r,n,s){const i=t&&n?n:s||n,a=r.deflate64?"deflate64-raw":Fr;let o;try{o=new i(a,r)}catch(e){if(!t||!s||i==s)throw e;o=new s(a,r)}return _r(e,o)}function Mr(e,t){return me(e).pipeThrough(t)}function _r(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const Nr="data",Lr="deflate",Pr="inflate";class Wr extends R{constructor(e,t){super({});const n=this,{codecType:s}=e;let i;s.startsWith(Lr)?i=Dr:s.startsWith(Pr)&&(i=kr),n.outputSize=0;let a=0;const o=new i(e,t),c=super.readable,d=new R({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:a})}}),l=new R({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==se&&n.outputSize>e.outputSize))throw new w(Sr)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:a})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(o).pipeThrough(l)})}}class Br extends R{constructor(e){const t=[];let r=0;function n(){const n=new f(e);let s=0;for(;e>s;){const r=t[0],i=e-s;r.length>i?(n.set(r.subarray(0,i),s),t[0]=r.subarray(i),s+=i):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,i){for(t.push(s),r+=s.length;r>e;)i.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const Zr={type:"module"},Vr="error",Hr="Worker startup timeout";let jr,qr,Kr,Yr,Gr,Xr=!0;try{Xr=typeof structuredClone==oe&&structuredClone(new DOMException("","AbortError")).code!==se}catch{}class Jr{constructor(e,{readable:t,writable:n},{options:s,config:i,he:a,useWebWorkers:o,transferStreams:c,workerURI:d,createWorker:l},u){const{signal:w}=a;return Gr&&(l=se),r.assign(e,{me:!0,ye:(e.ye||0)+1,readable:t.pipeThrough(new Br(we(i))).pipeThrough(new Qr(a),{signal:w}),writable:n,options:r.assign({},s),workerURI:d,createWorker:l,transferStreams:c,terminate:()=>new g(t=>{const{ge:r,me:n}=e;r?(n?e.xe=t:(r.terminate(),t()),e.Se=null):t()}),be(){if(e.me){const{xe:t}=e;t&&(e.xe=null,e.ze=!0,e.ge.terminate(),t()),e.me=!1,u(e)}}}),jr===se&&(jr=typeof C!=ae),(o&&(jr&&d||l)?tn:en)(e,i)}}class Qr extends R{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await $r(e,r)},async transform(e,n){s+=e.length,t&&await $r(t,s,r),n.enqueue(e)},async flush(){n&&await $r(n,s)}})}}async function $r(e,...t){try{await e(...t)}catch{}}function en(e,t){return{run:()=>rn(e,t)}}function tn(e,t){const{baseURI:n,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:o}=t;if(!e.Se){let c;typeof o==oe&&(o=o());try{c=sn(e.workerURI,n,e)}catch{return e.createWorker?Gr=!0:jr=!1,en(e,t)}r.assign(e,{ge:c,Fe:!1,ze:!1,Se:{run:async()=>{try{return await(async(e,t)=>{let n,i;const a=new g((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,Re:n,Ee:i,result:a});const{readable:o,options:c}=e,{writable:d,closed:l,De:u}=(e=>{const t=new AbortController,{writable:r,readable:n}=new R,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,De:()=>t.abort()}})(e.writable);let f;try{f=cn({type:"start",options:c,config:t,readable:o,writable:d},e)}catch(t){u();try{await l}catch{}throw e.be(),t}f||r.assign(e,{reader:o.getReader(),writer:d.getWriter()});const{workerStartupTimeout:p}=t;e.Fe||!s.isFinite(p)||0>p||(e.Ae=setTimeout(()=>(e=>{if(e.Ae=null,e.Fe)return;const{Ee:t,writer:r}=e;if(nn(e),e.ge=null,t){const e=new w(Hr);e.ke=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await a;return await h(),await l,e}catch(e){await h(),u();try{await l}catch{}throw e}async function h(){if(!f&&!d.locked)try{await d.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:o,baseURI:n,workerStartupTimeout:a})}catch(r){if(r&&r.ke){e.createWorker?Gr=!0:jr=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,rn(e,t)}throw r}}}})}return e.Se}async function rn({options:e,readable:t,writable:r,be:n},s){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Lr),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.Te&&!vr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.Te||(e.useCompressionStream=!0)}}i=new Wr(e,s),await t.pipeThrough(i).pipeThrough(new Br(we(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:a,outputSize:o}=i;return{crc32:n,inputSize:a,outputSize:o}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{n()}}function nn(e){const{ge:t}=e;if(t)try{t.terminate()}catch{}e.Se=null}function sn(e,t,n,s,i=!0){const{createWorker:a}=n;let o,c,d;if(a)o=a();else if(Kr===se||qr!==e){const r=typeof e==oe;c=r?e(i):e;const a=c.startsWith("data:"),l=c.startsWith("blob:");if(a||l){s===se&&(s=!1),s&&(d=Zr);try{o=new C(c,d)}catch(i){if(l)try{u.revokeObjectURL(c)}catch{}if(r&&l)return sn(e,t,n,s,!1);if(s)throw i;return sn(e,t,n,!0,!1)}}else{s===se&&(s=!0),s&&(d=Zr);try{c=new u(c,t)}catch{}try{o=new C(c,d)}catch(r){if(s)throw r;return sn(e,t,n,!1,i)}}qr=e,Kr=c,Yr=d}else o=new C(Kr,Yr);return o.addEventListener("message",e=>{n.Fe=!0,an(n),(async({data:e},t)=>{const{type:n,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:d,Re:l,Ee:u,be:p,ye:h}=t,m=()=>t.ye!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:i,cause:a}=o,c=new w(e);r.assign(c,{stack:t,code:n,name:s,outputSize:i}),a&&(c.cause=r.assign(new w(a.message),{name:a.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||cn({type:Nr,value:e,done:r,messageId:i},t)}n==Nr&&(await d.ready,await d.write(new f(s)),m()||cn({type:"ack",messageId:i},t)),"close"==n&&y(null,a)}}catch(o){m()||(nn(t),y(o))}function y(e,t){m()||(e?u(e):l(t),d&&d.releaseLock(),p())}})(e,n)}),o.addEventListener(Vr,e=>on(e,n)),o.addEventListener("messageerror",e=>on(e,n)),o}function an(e){const{Ae:t}=e;t&&(clearTimeout(t),e.Ae=null)}function on(e,t){e.preventDefault&&e.preventDefault(),an(t);const{Fe:n,Ee:s,writer:i,be:a}=t;if(nn(t),n||(t.ge=null),s){let t=e.error||new w(e.message||Vr);n||(t=r.assign(new w(t.message||Vr),{ke:!0})),s(t),i&&i.releaseLock(),n&&a()}}function cn(e,{ge:t,writer:r,transferStreams:n,Fe:s}){try{const{value:r,readable:i,writable:a}=e,o=[];if(r&&(e.value=pe(r),o.push(e.value.buffer)),n&&Xr&&s?(i&&o.push(i),a&&o.push(a)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Xr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let dn=[];const ln=[];let un,wn,fn=0;async function pn(e,t){const{options:r,config:n}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,checkCrc32:d,computeCrc32:l,encrypted:f,format:p,codecURI:h}=r,{workerURI:m,createWorker:y,maxWorkers:x}=n;p&&(h&&(r.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(h,n.baseURI)),await(async(e,t)=>{!ft.has(e)&&t&&((e,t)=>{const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=oe&&typeof n!=oe)throw new w("Invalid codec module");ft.set(e,{CompressionStream:r,DecompressionStream:n})})(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(p,r.codecURI)),t.transferStreams=i||i===se&&n.transferStreams;const S=!(c||d||l||f),b=p===se||!!r.codecURI;return t.useWebWorkers=!S&&b&&(a||a===se&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:se,t.createWorker=t.useWebWorkers&&y?y:se,r.useCompressionStream=o||o===se&&n.useCompressionStream,(await(async()=>{const r=dn.find(e=>!e.me);if(r)return xn(r),new Jr(r,e,t,z);if(dn.length<x){const r={Ce:fn};return fn++,dn.push(r),new Jr(r,e,t,z)}return new g(r=>{ln.push({resolve:r,stream:e,ve:t}),wn=n.workerStarvationTimeout,hn()})})()).run();function z(e){if(mn(),ln.length){const[{resolve:t,stream:r,ve:n}]=ln.splice(0,1);t(new Jr(e,r,n,z)),hn()}else e.ge?(xn(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.ze?e.ze=!1:e.Ue=setTimeout(async()=>{dn=dn.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):dn=dn.filter(t=>t!=e)}}function hn(){!un&&ln.length&&s.isFinite(wn)&&wn>=0&&(un=setTimeout(yn,wn))}function mn(){un&&(clearTimeout(un),un=null)}function yn(){if(un=null,ln.length){const[{resolve:e,stream:t,ve:n}]=ln.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:se,createWorker:se});e(new Jr({},t,s,gn)),hn()}}function gn(){mn(),hn()}function xn(e){const{Ue:t}=e;t&&(clearTimeout(t),e.Ue=null)}const Sn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function bn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=Sn[e[r]];return t}})(e):new S(t,{ignoreBOM:!0}).decode(e)}const zn="filename",Fn="rawFilename",Rn="comment",En="rawComment",Dn="uncompressedSize",An="compressedSize",kn="offset",Tn="diskNumberStart",Cn="lastModDate",vn="rawLastModDate",Un="lastAccessDate",In="rawLastAccessDate",On="creationDate",Mn="rawCreationDate",_n="internalFileAttributes",Nn="externalFileAttributes",Ln="msdosAttributesRaw",Pn="msdosAttributes",Wn="msDosCompatible",Bn="zip64",Zn="encrypted",Vn="version",Hn="versionMadeBy",jn="zipCrypto",qn="directory",Kn="executable",Yn="compressionMethod",Gn="signature",Xn="extraField",Jn="unixMode",Qn="setuid",$n="setgid",es="sticky",ts=[zn,Fn,Dn,An,Cn,vn,Rn,En,Un,In,On,Mn,kn,Tn,_n,Nn,Ln,Pn,Wn,Bn,Zn,Vn,Hn,jn,qn,Kn,Yn,Gn,"crc32",Xn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Jn,Qn,$n,es,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class rs{constructor(e){ts.forEach(t=>this[t]=e[t])}}const ns="password",ss="rawPassword",is="passThrough",as="signal",os="checkAmbiguity",cs="useWebWorkers",ds="useCompressionStream",ls="transferStreams",us="preventClose",ws="offset",fs="usdz",ps="strictness",hs="strict",ms="tolerant",ys="File format is not recognized",gs="End of central directory not found",xs="End of Zip64 central directory locator not found",Ss="Central directory header not found",bs="Local file header not found",zs="Zip64 extra field not found",Fs="File contains encrypted entry",Rs="Encryption method not supported",Es="Compression method not supported",Ds="Split zip file",As="Overlapping entry found",ks="Ambiguous archive",Ts="Encrypted central directory is not supported",Cs="utf-8",vs="cp437",Us=[[Dn,v],[An,v],[kn,v],[Tn,U]],Is={[U]:{Ie:ii,bytes:4},[v]:{Ie:ai,bytes:8}};class Os{constructor(e,t={}){r.assign(this,{reader:new ct(e),options:t,config:ue(),Oe:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await lt(n),n.size!==se&&n.readUint8Array||(n=new _e(await ye(n.readable)),await lt(n)),n.size<Z)throw new w(ys);const o=Hs(ei(t,e,ps),ei(t,e,os)),c=o==hs,l=o!=ms,u=((e,t)=>e!==se?e:t==hs?0:t==ms?1/0:U)(ei(t,e,"maxAppendedDataSize"),o),{Me:f,_e:p}=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,65557),i={count:js};let o,c,d=0;for await(const[r,a,l,u,w]of Gs(e,s)){const s=si(r,u+20);if(w+Z+s==n){const s=await Js(e,r,a,u,w,n,i);if(s==Ys){if(o||(o=Xs(l,u,w)),d++,!t||d>1)break}else s!=Ks||c||(c=Xs(l,u,w))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,t==1/0?n:65557+t);let i,o;for await(const[t,a,c,d,l]of Gs(e,s)){const s=Xs(c,d,l);i||(i=s);const u=await Js(e,t,a,d,l,n,r);if(u==Ys)return s;u!=Ks||o||(o=s)}return o||i})(e,r,i)),{Me:o,_e:d}})(n,l,u);if(!f)throw ii(he(await ut(n,0,4)))==M?new w(Ds):new w(gs);l&&p>1&&$s("multiple end of central directory records");const h=he(f);let m=ii(h,12),y=ii(h,16);const x=f.offset,S=si(h,20),b=x+Z+S;n.size-b>u&&$s("appended data");let z=si(h,4);const F=n.R||0;let E,D,A,k,T=si(h,6),C=si(h,10),O=0;const _=y==v||m==v||C==U||T==U;if(y!=v&&T!=U&&(y+=Vs(n,T)),_){const e=f.offset<V?ce:await ut(n,f.offset-V,V),t=he(e);if(e.length==V&&ii(t,0)==B){y=Vs(n,ii(t,4))+ai(t,8);let e=await ut(n,y,H),i=he(e);const o=f.offset-V-H;if((e.length<H||ii(i,0)!=W)&&y!=o&&o>=0){const t=y;y=o,y>t&&(O=y-t),e=await ut(n,y,H),i=he(e)}if(e.length<H||ii(i,0)!=W)throw new w(xs);if(D=!0,A=ai(i,4)>44,A){const e=a.min(s(ai(i,4))-44,n.size-y-H);e>0&&(k=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=he(e),i=si(n,26);r.assign(t,{compressionMethod:si(n,0),compressedSize:s(ai(n,2)),uncompressedSize:s(ai(n,10)),encryptionAlgorithm:si(n,18),bitLength:si(n,20),flags:si(n,22),hashAlgorithm:si(n,24),hashData:e.subarray(28,28+i)})}return t})(await ut(n,y+H,e)))}z==U?z=ii(i,16):c&&z!=ii(i,16)&&$s("mismatched zip64 end of central directory record"),T==U?T=ii(i,20):c&&T!=ii(i,20)&&$s("mismatched zip64 end of central directory record"),C==U?C=ai(i,32):c&&C!=ai(i,32)&&$s("mismatched zip64 end of central directory record"),m==v?m=ai(i,40):c&&m!=ai(i,40)&&$s("mismatched zip64 end of central directory record"),y=Vs(n,T)+ai(i,48)+O}}let P=m;const j=f.offset-(D?76:0);if(y<n.size||(O=n.size-y-m-Z,y=n.size-m-Z),F!=z)throw new w(Ds);if(0>y)throw new w(ys);let q=0,K=await ut(n,y,m),Y=he(K);if(m){if(4>K.length)throw new w(ys);const e=j-m;if(y!=e&&T==z){let t=!(ii(Y,q)==L);if(t||0>e||e+4>n.size||(t=ii(he(await ut(n,e,4)),0)==L),t){const t=y;y=e,y>t&&(O+=y-t),K=await ut(n,y,m),Y=he(K)}}}const G=j-y;if(m==G||0>G||T!=z||(m=G,K=await ut(n,y,m),Y=he(K)),0>y||y>=n.size)throw new w(ys);t.directoryOffset=y,t.directoryLength=P;const X=ei(t,e,"decryptCentralDirectory");let te;X&&C&&K.length>=4&&ii(Y,0)!=L&&(A||_s(Y))&&(K=await X(K,k),Y=he(K),P=K.length,te=!0),E=y;const re=ei(t,e,"filenameEncoding"),ne=ei(t,e,"commentEncoding"),ie=c?new d:se;let ae;for(let s=0;C>s;s++){const o=new Ms(n,i,t.options);if(q+46>K.length||ii(Y,q)!=L){if(0==s&&!te&&(A||_s(Y)))throw new w(Ts);throw new w(Ss)}Ns(o,Y,q+6);const d=!!o.bitFlag.languageEncodingFlag,l=q+46,u=l+o.filenameLength,f=u+o.extraFieldLength,p=si(Y,q+4),h=!(p>>8),m=p>>8==3,y=K.subarray(l,u),x=si(Y,q+32),S=f+x,b=K.subarray(f,S),z=d,F=d,D=ii(Y,q+38),k=D&I,T={readOnly:!!(1&k),hidden:!!(2&k),system:!!(4&k),directory:!!(16&k),archive:!!(32&k)},v=ii(Y,q+42),M=ei(t,e,"decodeText")||bn,_=z?Cs:re||vs,N=F?Cs:ne||vs;let P=M(y,_);P===se&&(P=bn(y,_));let W=M(b,N);W===se&&(W=bn(b,N)),r.assign(o,{index:s,versionMadeBy:p,msDosCompatible:h,compressedSize:0,uncompressedSize:0,Ne:x,offset:v,diskNumberStart:si(Y,q+34),internalFileAttributes:si(Y,q+36),externalFileAttributes:D,msdosAttributesRaw:k,msdosAttributes:T,rawFilename:y,filenameUTF8:z,commentUTF8:F,rawExtraField:K.subarray(u,f),rawComment:b,filename:P,comment:W}),Ls(o,o,Y,q+6),o.offset+=O,E=a.min(Vs(n,o.diskNumberStart)+o.offset,E),c&&(ie.has(o.filename)&&(ae=!0),ie.add(o.filename));const B=o.externalFileAttributes>>16&U;o.unixMode===se&&16877&B&&(o.unixMode=B);const Z=!!(o.unixMode&Q),V=!!(o.unixMode&$),H=!!(512&o.unixMode),j=o.unixMode!==se?!!(73&o.unixMode):m&&!!(73&B),G=o.unixMode!==se&&(61440&o.unixMode)==J,X=(61440&B)==J;r.assign(o,{setuid:Z,setgid:V,sticky:H,unixExternalUpper:B,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:j,directory:G||X||h&&T.directory||o.filename.endsWith(ee)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const oe=new rs(o);oe.getData=(e,r)=>o.getData(e,oe,t.Oe,r),oe.arrayBuffer=async e=>{const r=new R,[n]=await g.all([ye(r.readable).then(e=>e.arrayBuffer()),o.getData(r,oe,t.Oe,e)]);return n},q=S;const{onprogress:ce}=e;if(ce)try{await ce(s+1,C,new rs(o))}catch{}yield oe}let oe=q;if(q+6<=K.length&&ii(Y,q)==N){const e=si(Y,q+4);q+6+e>K.length||(t.digitalSignature=K.subarray(q+6,q+6+e),oe=q+6+e)}c&&q!=P&&oe!=P&&$s("trailing central directory data"),ae&&$s("duplicate filename"),c&&(O||C&&E>0)&&$s("prepended data");const de=ei(t,e,"extractPrependedData"),le=ei(t,e,"extractAppendedData");return de&&(t.prependedData=E>0?await ut(n,0,E):ce),t.comment=S?await ut(n,x+Z,S):ce,le&&(t.appendedData=b<n.size?await ut(n,b,n.size-b):ce),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}let Ms=class{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:i,index:a,offset:o,diskNumberStart:c,extraFieldAES:d,extraFieldZip64:l,compressionMethod:u,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:g,compressedSize:x}=s,{dataDescriptor:S}=p,b=t.localDirectory={},z=Vs(i,c)+o,F=await ut(i,z,te),R=he(F);let E=ei(s,n,ns),A=ei(s,n,ss);const k=ei(s,n,is);if(E=E&&E.length&&E,A=A&&A.length&&A,d&&99!=d.originalCompressionMethod)throw new w(Es);if(F.length<te||ii(R,0)!=O)throw new w(bs);Ns(b,R,4);const{extraFieldLength:T,filenameLength:C}=b,v=Hs(ei(s,n,ps),ei(s,n,os))==hs;let U=ce;if(v&&(C||T)){const e=await ut(i,z+te,C+T);U=e.subarray(0,C),b.rawExtraField=e.subarray(C)}else b.rawExtraField=T?await ut(i,z+te+C,T):ce;Ls(s,b,R,4,!0),v&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&$s("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&$s("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&$s("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||$s("mismatched local file header (crc32 or sizes)")})(s,b,U);const{lastAccessDate:M,creationDate:N}=b;M&&(t.lastAccessDate=M),N&&(t.creationDate=N);const L=s.encrypted&&b.encrypted&&!k,P=L&&!d;if(k||(t.zipCrypto=P),L&&!(64&~b.rawBitFlag))throw new w(Rs);const W=k?se:pt(u);if(0!=u&&8!=u&&9!=u&&!W&&!k)throw new w(Es);if(L){if(!P&&(1>d.strength||d.strength>3))throw new w(Rs);if(!E&&!A)throw new w(Fs)}const B=z+te+C+T,Z=x,V=me(i.createReadable({offset:B,size:Z})),H=ei(s,n,as),j=ei(s,n,"checkPasswordOnly");let q=ei(s,n,"checkOverlappingEntry");const K=ei(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:X}=n,J=9==u;let Q=ei(s,n,ds);J&&(Q=!1);const $=ei(s,n,"checkCrc32"),ee=($===se?ei(s,n,"checkSignature"):$)&&!k&&(!L||P||d&&1==d.vendorVersion),re={options:{codecType:Pr,password:E,rawPassword:A,zipCrypto:P,encryptionStrength:d&&d.strength,checkCrc32:ee,checkAuthenticationCode:ei(s,n,"checkAuthenticationCode"),passwordVerification:P&&(S?y>>>8&I:m>>>24&I),outputSize:k?x:g,crc32:m,compressed:0!=u&&!k,encrypted:L,useWebWorkers:ei(s,n,cs),useCompressionStream:Q,transferStreams:ei(s,n,ls),deflate64:J,format:W?W.format:se,codecURI:W?W.codecURI:se,compressionMethod:u,rawBitFlag:h,checkPasswordOnly:j},config:f,he:{signal:H,size:Z,onstart:Y,onprogress:G,onend:X}};let ne;q&&await(async({reader:e,Le:t,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:a,Pe:o,dataDescriptor:c,extraFieldZip64:d,Oe:l})=>{let u=0;if(c&&(u=d?20:12),u){const r=await ut(e,o+i,u+4);if(r.length==u+4&&ii(he(r),0)==_){const e=ii(he(r),4);let n,o;d?(n=ai(he(r),8),o=ai(he(r),16)):(n=ii(he(r),8),o=ii(he(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&o==a&&(u+=4)}}const f={start:n,end:o+i+u,Le:t};for(const[e,t]of l)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new w(As);throw e.We=t.Le,e}l.set(r,f)})({reader:i,Le:t,index:a,offset:z,crc32:m,compressedSize:x,uncompressedSize:g,Pe:B,dataDescriptor:S||b.bitFlag.dataDescriptor,extraFieldZip64:l||b.extraFieldZip64,Oe:r});try{if(!K){j&&(e=new D),e=new dt(e),await lt(e,k?x:g),({writable:ne}=e);const{outputSize:t}=await pn({readable:V,writable:ne},re);if(e.size+=t,t!=(k?x:g))throw new w(Sr)}}catch(t){if(t.outputSize!==se&&(e.size+=t.outputSize),!j||t.message!=_t)throw t}finally{ei(s,n,us)||!ne||ne.locked||await ne.getWriter().close()}return j||K?se:e.getData?e.getData():ne}};function _s(e){const t=a.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==ii(e,r))return!0;return!1}function Ns(e,t,n){const s=e.rawBitFlag=si(t,n+2),i=!(1&~s),a=ii(t,n+6);r.assign(e,{encrypted:i,version:si(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&X)==X},rawLastModDate:a,lastModDate:ti(a),filenameLength:si(t,n+22),extraFieldLength:si(t,n+24)})}function Ls(e,t,n,s,i){const{rawExtraField:a}=t,d=t.extraField=new c,l=he(a);let u=0;try{for(;u<a.length;){const e=si(l,u),t=si(l,u+2);d.set(e,{type:e,data:a.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=si(n,s+4);r.assign(t,{signature:ii(n,s+10),crc32:ii(n,s+10),compressedSize:ii(n,s+14),uncompressedSize:ii(n,s+18)});const p=d.get(1);p&&(((e,t)=>{t.zip64=!0;const r=he(e.data),n=Us.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Is[t].bytes,0);if(e.data.length<s)throw new w(zs);for(let s=0,i=0;s<n.length;s++){const[a,o]=n[s],c=Is[o];t[a]=e[a]=c.Ie(r,i),i+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=d.get(28789);h&&(Ps(h,zn,Fn,t,e),t.extraFieldUnicodePath=h);const m=d.get(25461);m&&(Ps(m,Rn,En,t,e),t.extraFieldUnicodeComment=m);const y=d.get(j);y&&y.data.length>=7?(((e,t,n)=>{const s=he(e.data),i=ni(s,4);r.assign(e,{vendorVersion:ni(s,0),vendorId:ni(s,2),strength:i,originalCompressionMethod:n,compressionMethod:si(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=se)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=d.get(13);g&&(Ws(g,t),t.extraFieldPkwareUnix=g);const x=d.get(22613);x&&(Ws(x,t),t.extraFieldUnixType1=x);const S=d.get(10);S&&(((e,t)=>{const n=he(e.data);let s,i=4;try{for(;i<e.data.length&&!s;){const t=si(n,i),r=si(n,i+2);1==t&&(s=e.data.slice(i+4,i+4+r)),i+=4+r}}catch{}if(s&&24==s.length){const n=he(s),i=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:o});const c={lastModDate:ri(i),lastAccessDate:ri(a),creationDate:ri(o)};r.assign(e,c),r.assign(t,c)}})(S,t),t.extraFieldNTFS=S);const b=d.get(G);if(b)Bs(b,t,!1),t.extraFieldUnix=b;else{const e=d.get(Y);e&&(Bs(e,t,!0),t.extraFieldInfoZip=e)}const z=d.get(q);z&&(((e,t,r)=>{if(!e.data.length)return;const n=he(e.data),s=ni(n,0),i=[],a=[];r?(1&~s||(i.push(Cn),a.push(vn)),2&~s||(i.push(Un),a.push(In)),4&~s||(i.push(On),a.push(Mn))):5>e.data.length||(i.push(Cn),a.push(vn));let c=1;i.forEach((r,s)=>{if(e.data.length>=c+4){const i=ii(n,c);t[r]=e[r]=new o(1e3*(0|i));const d=a[s];e[d]=i}c+=4})})(z,t,i),t.extraFieldExtendedTimestamp=z);const F=d.get(K);F&&(t.extraFieldUSDZ=F)}function Ps(e,t,n,s,i){if(5>e.data.length)return void(e.valid=!1);const a=he(e.data),o=new Et;o.append(i[n]);const c=he(new f(4));c.setUint32(0,o.get(),!0);const d=ii(a,1);r.assign(e,{version:ni(a,0),[t]:bn(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&d==ii(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ws(e,t){if(8>e.data.length)return;const n=he(e.data),s={lastAccessDate:new o(1e3*ii(n,0)),lastModDate:new o(1e3*ii(n,4))};12>e.data.length||(s.uid=si(n,8),s.gid=si(n,10)),r.assign(e,s),r.assign(t,s)}function Bs(e,t,n){try{const s=he(e.data);let i,a;if(n){let t=0;const n=ni(s,t++),o=ni(s,t++);i=Zs(e.data.subarray(t,t+o)),t+=o;const c=ni(s,t++);a=Zs(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:i,gid:a})}else 4>e.data.length||(i=si(s,0),a=si(s,2),r.assign(e,{uid:i,gid:a}));i!==se&&(t.uid=i),a!==se&&(t.gid=a)}catch{}}function Zs(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Vs(e,t){return e.A?e.A(t):0}function Hs(e,t){return e===se?t?hs:"balanced":e}const js=64,qs=0,Ks=1,Ys=2;async function*Gs(e,t){const r=e.size-t,n=await ut(e,r,t),s=he(n);for(let e=n.length-Z;e>=0;e--)ii(s,e)==P&&(yield[s,r,n,e,r+e])}function Xs(e,t,r){return{offset:r,buffer:e.slice(t,t+Z).buffer}}async function Js(e,t,r,n,s,i,a){const o=si(t,n+10),c=ii(t,n+12),d=ii(t,n+16);if(o==U||c==v||d==v)return await Qs(e,t,r,s-V,i,a)==B?Ys:qs;if(!o&&!c)return Ks;const l=si(t,n+6);for(const n of[s-c,Vs(e,l)+d])if(await Qs(e,t,r,n,i,a)==L)return Ys;return qs}async function Qs(e,t,r,n,s,i){return 0>n||n+4>s?se:r>n?i.count>0?(i.count--,ii(he(await ut(e,n,4)),0)):se:ii(t,n-r)}function $s(e){const t=new w(ks);throw t.reason=e,t}function ei(e,t,r){return t[r]===se?e.options[r]:t[r]}function ti(e){const t=(4294901760&e)>>16,r=e&U;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function ri(e){return new o(s(e/i(1e4)-i(116444736e5)))}function ni(e,t){return e.getUint8(t)}function si(e,t){return e.getUint16(t,!0)}function ii(e,t){return e.getUint32(t,!0)}function ai(e,t){return s(e.getBigUint64(t,!0))}var oi=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ks,ERR_BAD_FORMAT:ys,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ss,ERR_ENCRYPTED:Fs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ts,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:xs,ERR_EOCDR_NOT_FOUND:gs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:zs,ERR_INVALID_AUTHENTICATION_CODE:Mt,ERR_INVALID_COMPRESSED_DATA:br,ERR_INVALID_CRC32:zr,ERR_INVALID_PASSWORD:It,ERR_INVALID_SIGNATURE:Ot,ERR_INVALID_UNCOMPRESSED_SIZE:Sr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:bs,ERR_OVERLAPPING_ENTRY:As,ERR_SPLIT_ZIP_FILE:Ds,ERR_UNSUPPORTED_COMPRESSION:Es,ERR_UNSUPPORTED_ENCRYPTION:Rs,ERR_WORKER_STARTUP_TIMEOUT:Hr,ZipReader:Os});const ci="Zip file comment exceeds 64KB",di="Version exceeds 65535",li="Extra field data exceeds 64KB",ui=-2147483648,wi=2147483647,fi=i(0),pi=i("0x7fffffffffffffff"),hi="Zip64 is not supported (set the 'zip64' option to 'true')",mi=new f([7,0,2,0,65,69,3,0,0]),yi="infozip",gi="unix";let xi=0;const Si=[];class bi{constructor(e,t={}){e=new dt(e);const{availableSize:n=ie,maxSize:s=ie}=e,i=n>0&&n!==ie&&s>0&&s!==ie;r.assign(this,{writer:e,Be:i,options:t,config:ue(),files:new c,Ze:new d,offset:t[ws]===se?e.size||e.writable.size||0:t[ws],Ve:t[ws]===se?0:t[ws]-(e.size||e.writable.size||0),He:new d,je:0,qe:se})}async prependZip(e){if(this.Ze.size)throw new w("Zip file not empty");e=new ct(e),await lt(e);const{ZipReader:t}=await g.resolve().then(()=>oi),n=new t(e.readable),s=await n.getEntries();await n.close(),await lt(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ze=new d(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:i,rawFilename:a,bitFlag:o,encrypted:c,uncompressedSize:d,compressedSize:l,zip64:u}=e;let{compressionMethod:w,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g}=e;const{level:x,languageEncodingFlag:S,dataDescriptor:b}=o;f=f||ce,p=p||ce,h=h||ce,m=m||ce,y=y||ce,g=g||ce,e.extraFieldAES&&(w=99);const z=Bi(f,p,h,m,y,g),F=u&&d>=v,R=u&&l>=v,E=-7&Vi(x,S,b,c,w)|x<<1,{Qe:D,$e:A}=Zi({version:t,bitFlag:E,compressionMethod:w,uncompressedSize:d,compressedSize:l,rawLastModDate:n,rawFilename:a,et:R,nt:F,extraFieldLength:z}),{crc32:k}=e;return k!==se&&Li(A,10,k),r.assign(e,{nt:F,et:R,st:u&&e.offset>=v,diskNumberStart:0,it:!1,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,ot:1+(s?2:0)+(i?4:0),Qe:D,$e:A}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{He:c,config:d}=s;let l,u;xi<d.maxWorkers?xi++:await new g(e=>Si.push(e));try{if(e=e.trim(),Mi(s,n,qn)&&!e.endsWith(ee)&&(e+=ee),s.Ze.has(e))throw new w("File already exists");return s.Ze.add(e),u=!0,l=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=Mi(e,r,Wn),s=Mi(e,r,Hn,n?20:768);const i=Mi(e,r,Kn),a=Mi(e,r,"uid"),o=Mi(e,r,"gid");let c=Mi(e,r,Jn),d=Mi(e,r,"unixExtraFieldType"),l=Mi(e,r,Qn),u=Mi(e,r,$n),f=Mi(e,r,es);if(a!==se&&(0>a||a>v))throw new w("Invalid uid (must be integer 0..2^32-1)");if(o!==se&&(0>o||o>v))throw new w("Invalid gid (must be integer 0..2^32-1)");if(c!==se&&(0>c||c>U))throw new w("Invalid UNIX mode (must be integer 0..65535)");if(d!==se&&d!==yi&&d!==gi)throw new w("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(d===gi&&(a!==se&&a>U||o!==se&&o>U))throw new w("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");d!==se||a===se&&o===se||(d=yi);let p=Mi(e,r,Ln),h=Mi(e,r,Pn);const m=p!==se||h!==se;if(a!==se||o!==se||c!==se||d?(n=!1,s=s&U|768):m&&(n=!0,s&=I),p!==se&&(0>p||p>I))throw new w("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new w("Invalid msdosAttributes (must be an object with boolean flags)");if(s>U)throw new w(di);let y=Mi(e,r,Nn);const g=y!==se;g||(y=0),!r[qn]&&t.endsWith(ee)&&(r[qn]=!0);const x=Mi(e,r,qn);let S;if(x?(t.endsWith(ee)||(t+=ee),g||(y=16,n||(y|=16877<<16))):n||g||(y=i?493<<16:27525120),!n){const e=c!==se||!!(l||u||f);S=y>>16&U,c=c===se?S:c&U,l?c|=Q:l=!!(c&Q),u?c|=$:u=!!(c&$),f?c|=512:f=!!(512&c),g&&!e||(x&&(c|=J),y=(c&U)<<16|y&U)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==se)e&=I;else if(t!==se){const{readOnly:r,hidden:n,system:s,directory:i,archive:a}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),e=o&I}return t===se&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&v|p&I),{name:t,ct:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:S,uid:a,gid:o,unixMode:c,unixExtraFieldType:d,setuid:l,setgid:u,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const d=((e,t,r)=>{const n=Mi(e,r,"encodeText",At);let s=n(t);if(s===se&&(s=At(t)),Bi(s)>U)throw new w("File entry name exceeds 64KB");const i=r[Rn]||"";let a=n(i);if(a===se&&(a=At(i)),Bi(a)>U)throw new w("File entry comment exceeds 64KB");const c=Mi(e,r,Vn,20);if(c>U)throw new w(di);const d=Mi(e,r,Cn,new o),l=Mi(e,r,Un),u=Mi(e,r,On),f=Mi(e,r,_n,0),p=Mi(e,r,is);let h,m;p||(h=Mi(e,r,ns),m=Mi(e,r,ss));const y=Mi(e,r,"encryptionStrength",3),g=Mi(e,r,jn),x=Mi(e,r,"extendedTimestamp",!0),S=Mi(e,r,"ntfsTimestamp"),b=Mi(e,r,"keepOrder",!0),z=Mi(e,r,cs),F=Mi(e,r,ls),R=Mi(e,r,"bufferedWrite"),E=Mi(e,r,"createTempStream"),D=Mi(e,r,"dataDescriptorSignature",!0),A=Mi(e,r,as),k=Mi(e,r,"useUnicodeFileNames",!0),T=Mi(e,r,Yn),C=p||T===se?se:pt(T);if(!p&&T!==se&&0!==T&&8!==T&&!C)throw new w("Compression method not supported");let v=Mi(e,r,"level");if(e.options[fs]){if(h!==se||m!==se)throw new w("Encryption is not supported in USDZ files");v===se&&T===se&&(v=0)}let I=Mi(e,r,ds),O=Mi(e,r,"dataDescriptor");R&&O===se&&(O=!1),(O===se||g)&&(O=!0),v!==se&&6!=v&&(I=!1);const M=Mi(e,r,Bn);if(!g&&(h!==se||m!==se)&&(1>y||y>3))throw new w("The strength must equal 1, 2, or 3");const _=zi(r[Xn]),N=zi(r.localExtraField);return{comment:i,ct:{rawFilename:s,rawComment:a,version:c,lastModDate:d,lastAccessDate:l,creationDate:u,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:g,extendedTimestamp:x,ntfsTimestamp:S,keepOrder:b,useWebWorkers:z,transferStreams:F,bufferedWrite:R,createTempStream:E,dataDescriptorSignature:D,signal:A,useUnicodeFileNames:k,compressionMethod:T,format:C?C.format:se,codecURI:C?C.codecURI:se,lt:C?C.versionNeeded:se,level:v,useCompressionStream:I,dataDescriptor:O,zip64:M,rawExtraField:_,ut:N}}})(e,t,s),{comment:l}=d,u=s[Xn];let p;e.files.set(t,se);try{const{ct:l}=d;0==l.level||l.compressionMethod!==se||l.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:r}=e;if(r&&!r.Te)return!0;if(vr(t)||Cr(t,Rr))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(l.level=0);const u=await(async(e,t,{ct:r},n)=>{const{passThrough:s,zipCrypto:i,password:a,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:d,zip64:l,level:u,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new w("Undefined reader");if(h=n[Dn],h===se)throw new w("Undefined uncompressed size")}const m=!0===l,y=Mi(e,n,Zn),g=!!t&&(!!(a&&Bi(a)||o&&Bi(o))||s&&y);t||(u=0,f=0);const x=g?i?12:16+4*c:0;t&&(t=new ct(t),await lt(t),s?(n.uncompressedSize=h,p=_i(h)+x):t.size===se?(d=!0,(l||l===se)&&(l=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=_i(h)+x));const S=m||h>=v,b=m||p>=v;if(S||b){if(!1===l)throw new w(hi);l=!0}return l=l||!1,{reader:t,ct:{dataDescriptor:d,zip64:l,nt:S,et:b,uncompressedSize:h,level:u,compressionMethod:f,encrypted:g}}})(e,n,d,s);({reader:n}=u);const h=Ai(e.writer),m=Di(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:i,zip64:c,zipCrypto:d,useUnicodeFileNames:l,dataDescriptor:u,directory:f,rawExtraField:p,ut:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:x,encrypted:S,nt:b,et:z,uncompressedSize:F,crc32:R}=e;let{version:E,compressionMethod:D}=e;const A=!f&&(D===se?i===se||i>0:0!==D);let k;const T=x||!A,C=c&&(e.bufferedWrite||!u||!b&&!z||T),v=C||c&&u&&(b||z);if(c&&(b||z)){const e=20,t=Ei(e);if(t.uint16(1),t.uint16(e-4),k=t.array,C&&(t.wt(F),T)){const e=S?d?12:16+4*m:0;t.wt(x?0:F+e)}}else k=ce;let I,M,_,N,L;if(S&&!d){const e=Ei(Bi(mi)+2);e.uint16(j),e.bytes(mi),I=e.array,I[8]=m}else I=ce;if(y){const e=Ui(r),t=Ii(e);if(t){const t=9+(n?4:0)+(s?4:0),r=Ei(t);N=1+(n?2:0)+(s?4:0),r.uint16(q),r.uint16(t-4),r.uint8(N),r.uint32(e),n&&r.uint32(Oi(Ui(n))),s&&r.uint32(Oi(Ui(s))),_=r.array}else _=ce;if(g===se?!t||n||s:g)try{const e=vi(r),t=Ei(36);t.uint16(10),t.uint16(32),t.ft(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(n?vi(n):e),t.wt(s?vi(s):e),M=t.array}catch{M=ce}else M=ce}else M=_=ce;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=yi||t===se&&r===se)if(n!=gi||t===se&&r===se)L=ce;else{const e=Ei(8);e.uint16(G),e.uint16(4),e.uint16((t===se?0:t)&U),e.uint16((r===se?0:r)&U),L=e.array}else{const e=Ri(t),n=Ri(r),s=3+e.length+n.length,i=Ei(4+s);i.uint16(Y),i.uint16(s),i.uint8(1),i.uint8(e.length),i.bytes(e),i.uint8(n.length),i.bytes(n),L=i.array}}catch{L=ce}D===se&&(D=A?8:0);const{lt:P}=e;A&&P!==se&&(E=E>P?E:P),c&&(E=E>45?E:45),S&&!d&&(E=E>51?E:51,x&&R!==se&&(I[4]=1),I[9]=D,D=99);const W=v?Bi(k):0,B=W+Bi(I,_,M,L,p,h);if(B>U)throw new w(li);const Z=new o(2e3*a.ceil(a.floor(r.getTime()/1e3)/2)),{Qe:V,$e:H,rawLastModDate:K}=Zi({version:E,bitFlag:Vi(i,l,u,S,D),compressionMethod:D,uncompressedSize:F,lastModDate:ne>Z?ne:Z>re?re:Z,rawFilename:t,et:z,nt:b,extraFieldLength:B}),X=Ei(te+Bi(t)+B),J=X.array,Q=he(J);return X.uint32(O),X.bytes(V),X.bytes(t),v&&X.bytes(k),X.bytes(I),X.bytes(_),X.bytes(M),X.bytes(L),X.bytes(p),X.bytes(h),u&&(z||Li(Q,18,0),b||Li(Q,22,0)),{ht:J,yt:Q,Qe:V,$e:H,lastModDate:r,rawLastModDate:K,encrypted:S,compressed:A,version:E,compressionMethod:D,ot:N,Ke:ce,gt:W,Ge:_,Xe:M,Je:L,Ye:I,extraFieldLength:B}})(s=r.assign({},s,c.ct,d.ct,u.ct,{internalFileAttribute:d.ct.internalFileAttributes,externalFileAttribute:c.ct.externalFileAttributes,signature:s[Gn],crc32:s.crc32===se?s[Gn]:s.crc32,offset:e.offset-h,diskNumberStart:m})),x=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ce,i=0,a=e?20:12;return r&&(a+=4),t&&(s=new f(a),n=he(s),r&&(i=4,Li(n,0,_))),{xt:s,St:n,bt:i}})(s),S=Bi(y.ht,x.xt);p=await(async(e,t,n,s,a)=>{const{files:o,writer:c}=e,{keepOrder:d,dataDescriptor:l,signal:u}=a,{zt:p}=s,h=e.options[fs],m=e.qe;let y,x,S,b,z,F,E,A={},k=0;o.set(t,A),e.qe=A;try{let x;d&&(x=m&&m.lock,A.lock=new g(e=>S=e)),a.bufferedWrite||!d||e.Ft||e.je||!l?(y=!0,e.je++,E=a.createTempStream?await a.createTempStream():new R(se,se,{highWaterMark:ie}),E.size=0,await lt(c)):(E=c,await T()),await lt(E);const U=Ai(c);if(e.Be){delete e.Be;const t=new f(4);Li(he(t),0,M),await Ci(c,t),e.offset+=4}h&&!y&&Fi(s,e.offset-U);const{ht:O}=p;y||(await x,await C());const _=Di(c),N=Ti(e,c);if(A.diskNumberStart=_,y||(z=!0,F=c.size,await Ci(E,O)),A=await(async(e,t,{diskNumberStart:n,lock:s},a,o,c)=>{const{zt:d,Rt:l,Et:u}=a,{Qe:f,$e:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:x,compressionMethod:S,Ke:b,gt:z,Ge:F,ot:R,Xe:E,Je:D,Ye:A}=d,{xt:k}=l,{rawFilename:T,lastAccessDate:C,creationDate:U,password:O,rawPassword:M,level:_,zip64:N,nt:L,et:P,zipCrypto:W,dataDescriptor:B,directory:Z,executable:V,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:ye,codecURI:ge}=c,xe={lock:s,versionMadeBy:H,zip64:N,directory:!!Z,executable:!!V,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:j,Ke:b,gt:z,Ge:F,Xe:E,Je:D,Ye:A,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,diskNumberStart:n,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe};let{crc32:Se,uncompressedSize:be}=c,ze=0;he||(be=0);const{writable:Fe}=t;if(e){const r=me(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Lr,level:_,rawPassword:M,password:O,encryptionStrength:$,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&I,computeCrc32:!he,compressed:g&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:ye,codecURI:ge,compressionMethod:S},config:o,he:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await pn({readable:r,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,he||(be=e.inputSize,y&&!W||(Se=e.crc32)),!P&&ze>=v||!L&&be>=v)throw new w(hi)}catch(e){throw e.outputSize!==se&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,zt:n,Rt:s},{zip64:a,zipCrypto:o,passThrough:c,dataDescriptor:d})=>{const{$e:l,encrypted:u}=n,{St:w,bt:f}=s;u&&!o&&!c||e===se||(Li(l,10,e),d&&Li(w,f,e)),a?d&&(Pi(w,f+4,i(t)),Pi(w,f+12,i(r))):(Li(l,14,t),Li(l,18,r),d&&(Li(w,f+4,t),Li(w,f+8,r)))})({crc32:Se,compressedSize:ze,uncompressedSize:be,zt:d,Rt:l},c),B&&await Ci(t,k),r.assign(xe,{uncompressedSize:be,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:U,lastAccessDate:C,encrypted:y,zipCrypto:W,size:u+ze,compressionMethod:S,version:x,Qe:f,$e:p,signature:Se,crc32:!y||W||he?Se:se,ot:R,nt:L,et:P}),xe})(n,E,A,s,e.config,a),y||(z=!1),o.set(t,A),A.filename=t,y){if(await g.all([E.writable.getWriter().close(),x]),await T(),b=!0,F=c.size,await C(),A.diskNumberStart=Di(c),A.offset=Ti(e,c),h){const t=s.Et;Fi(s,e.offset-Ai(c)),A.size+=s.Et-t}(({rawFilename:e,encrypted:t,zip64:r,gt:n,crc32:s,compressedSize:a,uncompressedSize:o,nt:c,et:d},l,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==se)&&Li(l,14,s),d||Li(l,18,a),c||Li(l,22,o)),r&&n){const t=te+Bi(e)+4;Pi(l,t,i(o)),Pi(l,t+8,i(a))}})(A,p.yt,a),await Ci(c,p.ht),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=Bi(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,c,u),c.size+=E.size,b=!1}else A.diskNumberStart=_,A.offset=N;return e.offset+=A.size,A}catch(r){if(b||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=k)}throw o.delete(t),r}finally{if(y&&e.je--,S&&S(),x&&x(),y&&E&&E.dispose)try{await E.dispose()}catch{}}async function T(){e.Ft=!0;const{Dt:t}=e;e.Dt=new g(t=>x=()=>{e.Ft=!1,t()}),await t}async function C(){ki(c,Bi(p.ht))&&await c.closeDisk()}})(e,t,n,{zt:y,Rt:x,Et:S},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:l,extraField:u}),new rs(p)})(s,e,t,n),c.add(l),await l}catch(t){throw u&&s.Ze.delete(e),t}finally{c.delete(l);const e=Si.shift();e?e():xi--}}remove(e){const{Ze:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==se){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ce,r={}){const{He:n,writer:s}=this,{writable:a}=s;if(Bi(e)>U)throw new w(ci);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Ye:n,rawComment:s,Xe:i,Je:a,rawExtraField:o,extendedTimestamp:c,ot:d,lastModDate:l,nt:u,et:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=v,y=r.diskNumberStart>=U;let g,x;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Ei(e);t.uint16(1),t.uint16(e-4),u&&t.wt(p),f&&t.wt(h),m&&t.wt(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ce;r.Ke=g,r.st=m,r.it=y;const S=Ui(l);if(c&&Ii(S)){const e=Ei(9);e.uint16(q),e.uint16(5),e.uint8(d),e.uint32(S),x=e.array}else x=ce;r.Ge=x;const b=Bi(g,n,i,a,x,o);if(b>U)throw new w(li);t+=46+Bi(e,s)+b}return t})(e.files),{At:a,kt:o}=await(async(e,r,n)=>{const{files:s,writer:i}=e,a=new f(r);await lt(i);let o=0,c=0,d=Di(i),l=Ai(i);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Ke:w,Ye:f,Ge:p,Xe:h,Je:m,rawExtraField:y,rawComment:g,versionMadeBy:x,Qe:S,$e:b,nt:z,et:F,it:R,st:E,internalFileAttributes:D,externalFileAttributes:A,diskNumberStart:k,uncompressedSize:T,compressedSize:C}=r,I=Bi(w,f,p,h,m,y),O=46+Bi(u,g)+I;ki(i,o+O-c)&&(await Ci(i,a.slice(c,o)),c=o,await i.closeDisk()),0==e&&(d=Di(i),l=Ai(i)),z||Li(b,18,T),F||Li(b,14,C),(E||R)&&45>r.version&&Ni(b,0,45);const M=Ei(O);if(M.uint32(L),M.uint16(x),M.bytes(S.subarray(0,24)),M.uint16(I),M.uint16(Bi(g)),M.uint16(R?U:k),M.uint16(D),M.uint32(A),M.uint32(E?v:t),M.bytes(u),M.bytes(w),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(g),Wi(a,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new rs(r))}catch{}}return await Ci(i,c?a.slice(c):a),{At:{diskNumber:d,diskOffset:l},kt:a}})(e,s,n),c=await(async(e,t,r)=>{const n=Mi(e,r,"signCentralDirectory");if(n){const r=await n(t),s=Bi(r);if(s>U)throw new w("Signature data exceeds 64KB");const i=Ei(6+s);return i.uint32(N),i.uint16(s),i.bytes(r),await Ci(e.writer,i.array),6+s}return 0})(e,o,n);await(async(e,t,r,n)=>{const{writer:s}=e,{At:a,Tt:o}=n;let{Ct:c}=n,d=e.files.size,l=a.diskNumber,u=Ti(e,a),f=Di(s);ki(s,Z)&&f++;let p=Mi(e,r,Bn);if(!(v>u&&v>c&&U>d&&U>f)){if(!1===p)throw new w(hi);p=!0}const h=Bi(t);if(h>U)throw new w(ci);const m=Ei(p?98:Z);ki(s,Bi(m.array)+h)&&await s.closeDisk(),f=Di(s),p&&(m.uint32(W),m.wt(44),m.uint16(45),m.uint16(45),m.uint32(f),m.uint32(l),m.wt(d),m.wt(d),m.wt(c),m.wt(u),m.uint32(B),m.uint32(f),m.wt(i(Ti(e,s))+i(c)+i(o)),m.uint32(f+1),Mi(e,r,"supportZip64SplitFile",!0)&&(f=U,l=U),d=U,u=v,c=v),m.uint32(P),m.uint16(f),m.uint16(l),m.uint16(d),m.uint16(d),m.uint32(c),m.uint32(u),m.uint16(h),await Ci(s,m.array),h&&await Ci(s,t)})(e,r,n,{At:a,Ct:s,Tt:c})})(this,e,r),Mi(this,r,us)||await a.getWriter().close(),s.getData?s.getData():a}}function zi(e){if(!e)return ce;let t=0,r=0;e.forEach(e=>t+=4+Bi(e));const n=new f(t),s=he(n);return e.forEach((e,t)=>{if(t>U)throw new w("Extra field type exceeds 65535");if(Bi(e)>U)throw new w(li);Ni(s,r,t),Ni(s,r+2,Bi(e)),Wi(n,e,r+4),r+=4+Bi(e)}),n}function Fi(e,t){const{zt:r}=e;let{ht:n,extraFieldLength:s}=r,i=64-(t+Bi(n))%64;4>i&&(i+=64);const a=new f(i),o=he(a);Ni(o,0,K),Ni(o,2,i-4);const c=n;r.ht=n=new f(Bi(c)+i),Wi(n,c),Wi(n,a,Bi(c));const d=he(n);Ni(d,28,s+i),r.yt=d,e.Et+=i}function Ri(e){if(e===se)return ce;{const t=new f(4);he(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Ei(e){const t=new f(e),r=he(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{Ni(r,n,e),n+=2},uint32:e=>{Li(r,n,e),n+=4},wt:e=>{Pi(r,n,i(e)),n+=8},bytes:e=>{Wi(t,e,n),n+=Bi(e)},ft:e=>n+=e}}function Di(e){const{diskNumber:t=0}=e;return t}function Ai(e){const{diskOffset:t=0}=e;return t}function ki(e,t){const{availableSize:r=ie}=e;return t>r}function Ti(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function Ci(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=Bi(t),await n.write(t)}finally{n.releaseLock()}}function vi(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return fi>t?fi:t>pi?pi:t}}function Ui(e){return a.floor(e.getTime()/1e3)}function Ii(e){return e>=ui&&wi>=e}function Oi(e){return a.min(wi,a.max(ui,e))}function Mi(e,t,r,n){const s=t[r]===se?e.options[r]:t[r];return s===se?n:s}function _i(e){return e+5*(a.floor(e/16383)+1)}function Ni(e,t,r){e.setUint16(t,r,!0)}function Li(e,t,r){e.setUint32(t,r,!0)}function Pi(e,t,r){e.setBigUint64(t,r,!0)}function Wi(e,t,r){e.set(t,r)}function Bi(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Zi({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,et:c,nt:d,extraFieldLength:l}){const u=Ei(26),w=u.array,f=he(w);if(u.uint16(e),u.uint16(t),u.uint16(r),a===se){const e=new h(1),t=he(e);Ni(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Ni(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return u.uint32(a),u.ft(4),c||s!==se?u.uint32(c?v:s):u.ft(4),d||n!==se?u.uint32(d?v:n):u.ft(4),u.uint16(Bi(o)),u.uint16(l),{Qe:w,$e:f,rawLastModDate:a}}function Vi(e,t,r,n,s){let i=0;return t&&(i|=X),r&&(i|=8),8!=s&&9!=s||(0>e||e>3||(i|=6),e>3&&5>=e&&(i|=4),9==e&&(i|=2)),n&&(i|=1),i}const Hi="Entry filename already exists",ji="Readable stream already consumed",qi=new d([1,j,10,q,28789,25461,K,Y,G,22613,13]);class Ki{constructor(e,t,n,s){const i=this;if(e.root&&s&&s.getChildByName(t))throw new w(Hi);n||(n={}),r.assign(i,{fs:e,name:t,data:n.data,options:n.options,id:e.vt++,parent:s,children:[],uncompressedSize:n.uncompressedSize||0,passThrough:n.passThrough}),!s&&e.root||(e.entries[i.id]=i),s&&i.parent.children.push(i)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,r=this.parent;for(;r&&r!=e;)t=(r.name?r.name+"/":"")+t,r=r.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new w(Hi);this.name=e}}class Yi extends Ki{constructor(e,t,r,n){super(e,t,r,n);const s=this;s.Reader=r.Reader,s.Writer=r.Writer,r.getData&&(s.getData=r.getData)}clone(){return new Yi(this.fs,this.name,this)}async getData(e,t={}){const r=this;if(!e||e.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=ea(r.Reader,r.data,t),s=r.data?r.data.uncompressedSize:n.size;await g.all([lt(n),lt(e,s)]);const{readable:i}=n;return r.uncompressedSize=n.size,await me(i).pipeTo(ge(e.writable)),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;try{return await n.data.getData(null,r.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==It)return!1;throw e}}getText(e,t){return this.getData(new Pe(e),t)}getBlob(e,t){return this.getData(new Ne(e),t)}getData64URI(e,t){return this.getData(new Ie(e),t)}getUint8Array(e){return this.getData(new it,e)}getWritable(e=new D,t){return this.getData({writable:e},t)}async getArrayBuffer(e){return pe(await this.getUint8Array(e)).buffer}replaceBlob(e){r.assign(this,{data:e,Reader:_e,Writer:Ne,reader:null})}replaceText(e){r.assign(this,{data:e,Reader:Le,Writer:Pe,reader:null})}replaceData64URI(e){r.assign(this,{data:e,Reader:Ue,Writer:Ie,reader:null})}replaceUint8Array(e){r.assign(this,{data:e,Reader:st,Writer:it,reader:null})}replaceReadable(e){r.assign(this,{data:null,Reader:Qi(e),Writer:null,reader:null})}}class Gi extends Ki{constructor(e,t,r,n){super(e,t,r,n),this.directory=!0}clone(e){const t=this,r=new Gi(t.fs,t.name,t);return e&&(r.children=t.children.map(t=>{const n=t.clone(e);return n.parent=r,n})),r}addDirectory(e,t){return aa(this,e,{options:t},!0)}addText(e,t,r={}){return aa(this,e,{data:t,Reader:Le,Writer:Pe,options:r,uncompressedSize:t.length})}addBlob(e,t,r={}){return aa(this,e,{data:t,Reader:_e,Writer:Ne,options:r,uncompressedSize:t.size})}addData64URI(e,t,r={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const s=t.indexOf(",")+1;return aa(this,e,{data:t,Reader:Ue,Writer:Ie,options:r,uncompressedSize:a.floor(.75*(n-s))})}addUint8Array(e,t,r={}){return aa(this,e,{data:t,Reader:st,Writer:it,options:r,uncompressedSize:t.length})}addHttpContent(e,t,r={}){return aa(this,e,{data:t,Reader:class extends nt{constructor(e){super(e,r)}},options:r})}addReadable(e,t,r={}){return aa(this,e,{Reader:Qi(t),options:r})}addFileSystemEntry(e,t={}){return na(this,e,t)}addFileSystemHandle(e,t={}){return na(this,e,t)}addFile(e,t={}){return(t=r.assign({},t)).lastModDate||(t.lastModDate=new o(e.lastModified)),aa(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}Ut(e,t){return aa(this,e,t)}importBlob(e,t){return this.importZip(new _e(e),t)}importData64URI(e,t){return this.importZip(new Ue(e),t)}importUint8Array(e,t){return this.importZip(new st(e),t)}importHttpContent(e,t){return this.importZip(new nt(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new Ne(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new Ie(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new it,e)}async exportWritable(e=new D,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,n={}){return(async(e,n,s)=>{const i=Ji([e],"uncompressedSize"),a=new c;return await o(e,n),n;async function o(e,t){if(s.concurrent){const r=(await g.allSettled(e.children.map(e=>d(e,t)))).find(e=>"rejected"==e.status);if(r)throw r.reason}else for(const r of e.children)await d(r,t)}async function d(e,n){try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await o(e,t)}else{const o=await n.getFileHandle(e.name,{create:!0}),c=await o.createWritable();await e.getData({writable:c},r.assign({},s,{onprogress:async r=>{if(s.onprogress){a.set(e.id,r);try{await s.onprogress(t.from(a.values()).reduce((e,t)=>e+t,0),i)}catch{}}}}))}}catch(t){throw new w(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,n)}async importZip(e,t={}){await lt(e);const n=new Os(e,t),s=[],i=await n.getEntries();for(const e of i){let n=this;try{const i=e.filename.split("/"),a=i.pop();if(i.forEach(e=>{const t=n;if(n=n.getChildByName(e),n){if(!n.directory)throw new w(Hi)}else n=new Gi(this.fs,e,{data:null},t),s.push(n)}),e.directory){let t=n;if(a)if(t=n.getChildByName(a),t){if(!t.directory)throw new w(Hi)}else t=new Gi(this.fs,a,{data:null},n),s.push(t);t==this||t.data||(t.data=e)}else s.push(aa(n,a,{data:e,Reader:$i(r.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return s}async exportZip(e,n={}){const s=this;(n=r.assign({},n)).bufferedWrite===se&&(n.bufferedWrite=!0);const[i]=await g.all([ta(s,n.readerOptions),lt(e)]),a=new bi(e,n);return await(async(e,n,s,i,a)=>{const o=n,d=new c;await async function e(n,l){async function u(l){const u=i.relativePath?l.getRelativeName(o):l.getFullname(),w=l.options||{};let f={};if(l.data instanceof rs){const{externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,uncompressedSize:d,encrypted:u,zipCrypto:w,crc32:p,compressionMethod:h,extraFieldAES:m,internalFileAttributes:y,extraField:g,uid:x,gid:S}=l.data;f={externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,internalFileAttributes:y};const b=(e=>{if(e){const t=new c;if(e.forEach((e,r)=>{qi.has(r)||t.set(r,e.data)}),t.size)return t}})(g);if(b&&(f.extraField=b),x===se&&S===se||r.assign(f,{uid:x,gid:S,unixExtraFieldType:i.unixExtraFieldType||"infozip"}),l.passThrough){let e,t;0===h&&(e=0),m&&(t=m.strength),f=r.assign(f,{passThrough:!0,encrypted:u,zipCrypto:w,crc32:p,uncompressedSize:d,level:e,encryptionStrength:t,compressionMethod:h})}}await n.add(u,a.get(l),r.assign({},i,f,w,{directory:l.directory,onprogress:async e=>{if(i.onprogress){d.set(u,e);try{await i.onprogress(t.from(d.values()).reduce((e,t)=>e+t),s)}catch{}}}})),await e(n,l)}await(async()=>{if(i.bufferedWrite){const e=(await g.allSettled(l.children.map(u))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of l.children)await u(e)})()}(e,n)})(a,s,Ji([s],"uncompressedSize"),n,i),await a.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let r=0;r<t.length;r++){const n=t[r];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const r=this.children;return!(await g.all(r.map(r=>r.checkPassword(e,t)))).includes(!1)}}const Xi={FS:class{constructor(){ia(this)}get children(){return this.root.children}remove(e){ra(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const r of e.children)t.push(r)}e.parent=se}move(e,t){if(e==this.root)throw new w("Root directory cannot be moved");if(!t.directory)throw new w("Target entry is not a directory");if(t.isDescendantOf(e))throw new w("Entry is a ancestor of target entry");if(e!=t){const r=t.getChildByName(e.name);if(r){if(r!=e)throw new w(Hi)}else ra(e),e.parent=t,t.children.push(e),((e,t)=>{const r=[t];for(;r.length;){const t=r.pop();e.entries[t.id]=t;for(const e of t.children)r.push(e)}})(this,e)}}find(e){const t=e.split("/");let r=this.root;for(let e=0;r&&e<t.length;e++)r=r.getChildByName(t[e]);return r||(r=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),r}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,r){return this.root.addText(e,t,r)}addBlob(e,t,r){return this.root.addBlob(e,t,r)}addData64URI(e,t,r){return this.root.addData64URI(e,t,r)}addUint8Array(e,t,r){return this.root.addUint8Array(e,t,r)}addHttpContent(e,t,r){return this.root.addHttpContent(e,t,r)}addReadable(e,t,r){return this.root.addReadable(e,t,r)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}Ut(e,t){return this.root.Ut(e,t)}importBlob(e,t){return ia(this),this.root.importBlob(e,t)}importData64URI(e,t){return ia(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return ia(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return ia(this),this.root.importHttpContent(e,t)}importReadable(e,t){return ia(this),this.root.importReadable(e,t)}importZip(e,t){return ia(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Gi,ZipFileEntry:Yi};function Ji(e,r){let n=0;const s=t.from(e);for(;s.length;){const e=s.pop();n+=e[r]||0;for(const t of e.children)s.push(t)}return n}function Qi(e){let t;return()=>{if(t)throw new w(ji);return t=!0,{readable:e}}}function $i(e){return class extends Ce{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const n=await t.entry.getData(new Ne,r.assign({},e,t.options));t.data=n,t.It=new _e(n),super.init()}readUint8Array(e,t){return this.It.readUint8Array(e,t)}}}function ea(e,t,r){return e.prototype?new e(t,r):e(t,r)}async function ta(e,t){const r=[],n=[e],s=new c;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):r.push(t)}return await g.all(r.map(async e=>{const r=e.reader=ea(e.Reader,e.data,t);s.set(e,r);try{await lt(r)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}r.size!==se&&(e.uncompressedSize=r.size)})),s}function ra(e){if(e.parent){const t=e.parent.children;t.forEach((r,n)=>{r.id==e.id&&t.splice(n,1)})}}function na(e,t,n){return async function e(t,s,i){if(s)try{if((s.isFile||s.isDirectory)&&(s=await sa(s)),"file"==s.kind){const e=await s.getFile();i.push(t.Ut(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:r.assign({},{lastModDate:new o(e.lastModified)},n),uncompressedSize:e.size}))}else if("directory"==s.kind){const r=t.addDirectory(s.name);i.push(r);for await(const t of s.values())await e(r,t,i)}}catch(e){const t=e.message+(s?" ("+s.name+")":"");throw new w(t,{cause:e})}return i}(e,t,[])}async function sa(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new g((t,r)=>e.file(t,r))),e.isDirectory){t.kind="directory";const r=await(async e=>{const t=[];function r(e,n,s){e.readEntries(async i=>{if(i.length){for(const e of i)t.push(await sa(e));r(e,n,s)}else n(t)},s)}return await new g((t,n)=>r(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const r={value:t[e],done:e==t.length};return e++,r}}}}})(e);t.values=()=>r}return t}function ia(e){e.entries=[],e.vt=0,e.root=new Gi(e)}function aa(e,t,r,n){if(e.directory)return n?new Gi(e.fs,t,r,e):new Yi(e.fs,t,r,e);throw new w("Parent entry is not a directory")}e.ERR_ENTRY_EXISTS=Hi,e.ERR_READABLE_CONSUMED=ji,e.fs=Xi});
@@ -1901,6 +1901,8 @@ function getInt32(number) {
1901
1901
  */
1902
1902
 
1903
1903
 
1904
+ const HTTP_HEADER_CONTENT_TYPE = "Content-Type";
1905
+
1904
1906
  function toCompatibleReadable(readable) {
1905
1907
  if (readable instanceof ReadableStream) {
1906
1908
  return readable;
@@ -1921,6 +1923,29 @@ function toCompatibleReadable(readable) {
1921
1923
  });
1922
1924
  }
1923
1925
 
1926
+ function streamToBlob(readable, contentType) {
1927
+ readable = toCompatibleReadable(readable);
1928
+ if (responseSupportsGlobalReadable()) {
1929
+ const options = {};
1930
+ if (contentType) {
1931
+ options.headers = [[HTTP_HEADER_CONTENT_TYPE, contentType]];
1932
+ }
1933
+ return new Response(readable, options).blob();
1934
+ }
1935
+ const chunks = [];
1936
+ return readable
1937
+ .pipeTo(new WritableStream({
1938
+ write(chunk) {
1939
+ chunks.push(chunk);
1940
+ }
1941
+ }))
1942
+ .then(() => new Blob(chunks, contentType ? { type: contentType } : {}));
1943
+ }
1944
+
1945
+ function responseSupportsGlobalReadable() {
1946
+ return typeof Blob.prototype.stream != FUNCTION_TYPE || new Blob([]).stream() instanceof ReadableStream;
1947
+ }
1948
+
1924
1949
  function toCompatibleWritable(writable) {
1925
1950
  if (writable instanceof WritableStream) {
1926
1951
  return writable;
@@ -3264,7 +3289,6 @@ const HTTP_HEADER_CONTENT_ENCODING = "Content-Encoding";
3264
3289
  const HTTP_HEADER_CONTENT_RANGE = "Content-Range";
3265
3290
  const HTTP_HEADER_ACCEPT_RANGES = "Accept-Ranges";
3266
3291
  const HTTP_HEADER_RANGE = "Range";
3267
- const HTTP_HEADER_CONTENT_TYPE = "Content-Type";
3268
3292
  const HTTP_HEADER_ETAG = "Etag";
3269
3293
  const HTTP_HEADER_LAST_MODIFIED = "Last-Modified";
3270
3294
  const HTTP_METHOD_HEAD = "HEAD";
@@ -3469,10 +3493,6 @@ class BlobReader extends Reader {
3469
3493
  }
3470
3494
  }
3471
3495
 
3472
- function responseSupportsGlobalReadable() {
3473
- return typeof Blob.prototype.stream != FUNCTION_TYPE || new Blob([]).stream() instanceof ReadableStream;
3474
- }
3475
-
3476
3496
  class BlobWriter extends Stream {
3477
3497
 
3478
3498
  constructor(contentType) {
@@ -3484,22 +3504,7 @@ class BlobWriter extends Stream {
3484
3504
  return transformStream.writable;
3485
3505
  }
3486
3506
  });
3487
- if (responseSupportsGlobalReadable()) {
3488
- const headers = [];
3489
- if (contentType) {
3490
- headers.push([HTTP_HEADER_CONTENT_TYPE, contentType]);
3491
- }
3492
- writer.blob = new Response(transformStream.readable, { headers }).blob();
3493
- } else {
3494
- const chunks = [];
3495
- writer.blob = transformStream.readable
3496
- .pipeTo(new WritableStream({
3497
- write(chunk) {
3498
- chunks.push(chunk);
3499
- }
3500
- }))
3501
- .then(() => new Blob(chunks, { type: contentType }));
3502
- }
3507
+ writer.blob = streamToBlob(transformStream.readable, contentType);
3503
3508
  writer.blob.catch(() => { });
3504
3509
  }
3505
3510
 
@@ -4573,7 +4578,7 @@ class ZipReader {
4573
4578
  const { config } = zipReader;
4574
4579
  await initStream(reader);
4575
4580
  if (reader.size === UNDEFINED_VALUE || !reader.readUint8Array) {
4576
- reader = new BlobReader(await new Response(reader.readable).blob());
4581
+ reader = new BlobReader(await streamToBlob(reader.readable));
4577
4582
  await initStream(reader);
4578
4583
  }
4579
4584
  if (reader.size < END_OF_CENTRAL_DIR_LENGTH) {
@@ -4842,7 +4847,7 @@ class ZipReader {
4842
4847
  entry.arrayBuffer = async options => {
4843
4848
  const writer = new TransformStream();
4844
4849
  const [arrayBuffer] = await Promise.all([
4845
- new Response(writer.readable).arrayBuffer(),
4850
+ streamToBlob(writer.readable).then(blob => blob.arrayBuffer()),
4846
4851
  fileEntry.getData(writer, entry, zipReader.readRanges, options)]);
4847
4852
  return arrayBuffer;
4848
4853
  };
@@ -7650,7 +7655,7 @@ function createOPFSTempStream(options = {}) {
7650
7655
 
7651
7656
  async function spillToFile() {
7652
7657
  const directoryHandle = await getTempDirectory();
7653
- fileName = crypto.randomUUID();
7658
+ fileName = getRandomFileName$1();
7654
7659
  fileHandle = await directoryHandle.getFileHandle(fileName, { create: true });
7655
7660
  fileWriter = (await fileHandle.createWritable()).getWriter();
7656
7661
  spilled = true;
@@ -7731,6 +7736,13 @@ function createOPFSTempStream(options = {}) {
7731
7736
  };
7732
7737
  }
7733
7738
 
7739
+ function getRandomFileName$1() {
7740
+ if (crypto.randomUUID) {
7741
+ return crypto.randomUUID();
7742
+ }
7743
+ return Array.from(crypto.getRandomValues(new Uint8Array(16)), byteValue => byteValue.toString(16).padStart(2, "0")).join("");
7744
+ }
7745
+
7734
7746
  /*
7735
7747
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
7736
7748
 
@@ -7774,7 +7786,7 @@ function createBlobTempStream(options = {}) {
7774
7786
 
7775
7787
  async function spillToBlob() {
7776
7788
  const transformStream = new TransformStream();
7777
- blobPromise = new Response(transformStream.readable).blob();
7789
+ blobPromise = streamToBlob(transformStream.readable);
7778
7790
  blobWriter = transformStream.writable.getWriter();
7779
7791
  spilled = true;
7780
7792
  for (const chunk of memoryChunks) {
@@ -7914,7 +7926,7 @@ function createSyncAccessHandleTempStream(options = {}) {
7914
7926
 
7915
7927
  async function spillToFile() {
7916
7928
  const directoryHandle = await getTempDirectory();
7917
- fileName = crypto.randomUUID();
7929
+ fileName = getRandomFileName();
7918
7930
  const fileHandle = await directoryHandle.getFileHandle(fileName, { create: true });
7919
7931
  accessHandle = await fileHandle.createSyncAccessHandle();
7920
7932
  spilled = true;
@@ -7994,6 +8006,13 @@ function createSyncAccessHandleTempStream(options = {}) {
7994
8006
  };
7995
8007
  }
7996
8008
 
8009
+ function getRandomFileName() {
8010
+ if (crypto.randomUUID) {
8011
+ return crypto.randomUUID();
8012
+ }
8013
+ return Array.from(crypto.getRandomValues(new Uint8Array(16)), byteValue => byteValue.toString(16).padStart(2, "0")).join("");
8014
+ }
8015
+
7997
8016
  /*
7998
8017
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
7999
8018
 
@@ -8544,7 +8563,7 @@ class ZipFileEntry extends ZipEntry {
8544
8563
  await Promise.all([initStream(reader), initStream(writer, uncompressedSize)]);
8545
8564
  const { readable } = reader;
8546
8565
  zipEntry.uncompressedSize = reader.size;
8547
- await readable.pipeTo(writer.writable);
8566
+ await toCompatibleReadable(readable).pipeTo(toCompatibleWritable(writer.writable));
8548
8567
  return writer.getData ? writer.getData() : writer.writable;
8549
8568
  }
8550
8569
  }