!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).singlefile={})}(this,function(n){"use strict";var e="undefined"!=typeof document?document.currentScript:null;const{Array:t,Object:a,String:o,Number:i,BigInt:r,Math:s,Date:l,Map:c,Set:d,Response:m,URL:h,Error:p,Uint8Array:u,Uint16Array:g,Uint32Array:w,DataView:b,Blob:f,Promise:y,TextEncoder:k,TextDecoder:v,crypto:S,btoa:j,TransformStream:x,ReadableStream:C,WritableStream:A,CompressionStream:L,DecompressionStream:z,navigator:T,Worker:E}=globalThis,R=4294967295,I=65535,D=67324752,M=134695760,P=M,N=33639248,_=101010256,B=101075792,O=117853008,F=22,U=39169,q=21589,H=6534,W=2048,G="/",V=new l(2107,11,31),K=new l(1980,0,1),J=void 0,Y="undefined",Z="function";class ${constructor(n){return class extends x{constructor(e,t){const a=new n(t);super({transform(n,e){e.enqueue(a.append(n))},flush(n){const e=a.flush();e&&n.enqueue(e)}})}}}}let X=2;try{typeof T!=Y&&T.hardwareConcurrency&&(X=T.hardwareConcurrency)}catch(n){}const Q={chunkSize:524288,maxWorkers:X,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:J,CompressionStreamNative:typeof L!=Y&&L,DecompressionStreamNative:typeof z!=Y&&z},nn=a.assign({},Q);function en(){return nn}function tn(n){return s.max(n.chunkSize,64)}function an(n){const{baseURL:e,chunkSize:a,maxWorkers:o,terminateWorkerTimeout:i,useCompressionStream:r,useWebWorkers:s,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:m,workerScripts:h}=n;if(on("baseURL",e),on("chunkSize",a),on("maxWorkers",o),on("terminateWorkerTimeout",i),on("useCompressionStream",r),on("useWebWorkers",s),l&&(nn.CompressionStream=new $(l)),c&&(nn.DecompressionStream=new $(c)),on("CompressionStream",d),on("DecompressionStream",m),h!==J){const{deflate:n,inflate:e}=h;if((n||e)&&(nn.workerScripts||(nn.workerScripts={})),n){if(!t.isArray(n))throw new p("workerScripts.deflate must be an array");nn.workerScripts.deflate=n}if(e){if(!t.isArray(e))throw new p("workerScripts.inflate must be an array");nn.workerScripts.inflate=e}}}function on(n,e){e!==J&&(nn[n]=e)}function rn(n,e,t){return class{constructor(o){const i=this;var r,s;r=o,s="level",(typeof a.hasOwn===Z?a.hasOwn(r,s):r.hasOwnProperty(s))&&o.level===J&&delete o.level,i.codec=new n(a.assign({},e,o)),t(i.codec,n=>{if(i.pendingData){const e=i.pendingData;i.pendingData=new u(e.length+n.length);const{pendingData:t}=i;t.set(e,0),t.set(n,e.length)}else i.pendingData=new u(n)})}append(n){return this.codec.push(n),o(this)}flush(){return this.codec.push(new u,!0),o(this)}};function o(n){if(n.pendingData){const e=n.pendingData;return n.pendingData=null,e}return new u}}const sn=[];for(let n=0;n<256;n++){let e=n;for(let n=0;n<8;n++)1&e?e=e>>>1^3988292384:e>>>=1;sn[n]=e}class ln{constructor(n){this.crc=n||-1}append(n){let e=0|this.crc;for(let t=0,a=0|n.length;t>>8^sn[255&(e^n[t])];this.crc=e}get(){return~this.crc}}class cn extends x{constructor(){let n;const e=new ln;super({transform(n,t){e.append(n),t.enqueue(n)},flush(){const t=new u(4);new b(t.buffer).setUint32(0,e.get()),n.value=t}}),n=this}}function dn(n){if(typeof k==Y){n=unescape(encodeURIComponent(n));const e=new u(n.length);for(let t=0;t0&&e&&(n[t-1]=mn.partial(e,n[t-1]&2147483648>>e-1,1)),n},partial:(n,e,t)=>32===n?e:(t?0|e:e<<32-n)+1099511627776*n,getPartial:n=>s.round(n/1099511627776)||32,_shiftRight(n,e,t,a){for(void 0===a&&(a=[]);e>=32;e-=32)a.push(t),t=0;if(0===e)return a.concat(n);for(let o=0;o>>e),t=n[o]<<32-e;const o=n.length?n[n.length-1]:0,i=mn.getPartial(o);return a.push(mn.partial(e+i&31,e+i>32?t:a.pop(),1)),a}},hn={bytes:{fromBits(n){const e=mn.bitLength(n)/8,t=new u(e);let a;for(let o=0;o>>24,a<<=8;return t},toBits(n){const e=[];let t,a=0;for(t=0;t9007199254740991)throw new p("Cannot hash more than 2^53 - 1 bits");const i=new w(t);let r=0;for(let n=e.blockSize+a-(e.blockSize+a&e.blockSize-1);n<=o;n+=e.blockSize)e._block(i.subarray(16*r,16*(r+1))),r+=1;return t.splice(0,16*r),e}finalize(){const n=this;let e=n._buffer;const t=n._h;e=mn.concat(e,[mn.partial(1,1)]);for(let n=e.length+2;15&n;n++)e.push(0);for(e.push(s.floor(n._length/4294967296)),e.push(0|n._length);e.length;)n._block(e.splice(0,16));return n.reset(),t}_f(n,e,t,a){return n<=19?e&t|~e&a:n<=39?e^t^a:n<=59?e&t|e&a|t&a:n<=79?e^t^a:void 0}_S(n,e){return e<>>32-n}_block(n){const e=this,a=e._h,o=t(80);for(let e=0;e<16;e++)o[e]=n[e];let i=a[0],r=a[1],l=a[2],c=a[3],d=a[4];for(let n=0;n<=79;n++){n>=16&&(o[n]=e._S(1,o[n-3]^o[n-8]^o[n-14]^o[n-16]));const t=e._S(5,i)+e._f(n,r,l,c)+d+o[n]+e._key[s.floor(n/20)]|0;d=c,c=l,l=e._S(30,r),r=i,i=t}a[0]=a[0]+i|0,a[1]=a[1]+r|0,a[2]=a[2]+l|0,a[3]=a[3]+c|0,a[4]=a[4]+d|0}}},un={aes:class{constructor(n){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const t=e._tables[0][4],a=e._tables[1],o=n.length;let i,r,s,l=1;if(4!==o&&6!==o&&8!==o)throw new p("invalid aes key size");for(e._key=[r=n.slice(0),s=[]],i=o;i<4*o+28;i++){let n=r[i-1];(i%o===0||8===o&&i%o===4)&&(n=t[n>>>24]<<24^t[n>>16&255]<<16^t[n>>8&255]<<8^t[255&n],i%o===0&&(n=n<<8^n>>>24^l<<24,l=l<<1^283*(l>>7))),r[i]=r[i-o]^n}for(let n=0;i;n++,i--){const e=r[3&n?i:i-4];s[n]=i<=4||n<4?e:a[0][t[e>>>24]]^a[1][t[e>>16&255]]^a[2][t[e>>8&255]]^a[3][t[255&e]]}}encrypt(n){return this._crypt(n,0)}decrypt(n){return this._crypt(n,1)}_precompute(){const n=this._tables[0],e=this._tables[1],t=n[4],a=e[4],o=[],i=[];let r,s,l,c;for(let n=0;n<256;n++)i[(o[n]=n<<1^283*(n>>7))^n]=n;for(let d=r=0;!t[d];d^=s||1,r=i[r]||1){let i=r^r<<1^r<<2^r<<3^r<<4;i=i>>8^255&i^99,t[d]=i,a[i]=d,c=o[l=o[s=o[d]]];let m=16843009*c^65537*l^257*s^16843008*d,h=257*o[i]^16843008*i;for(let t=0;t<4;t++)n[t][d]=h=h<<24^h>>>8,e[t][i]=m=m<<24^m>>>8}for(let t=0;t<5;t++)n[t]=n[t].slice(0),e[t]=e[t].slice(0)}_crypt(n,e){if(4!==n.length)throw new p("invalid aes block size");const t=this._key[e],a=t.length/4-2,o=[0,0,0,0],i=this._tables[e],r=i[0],s=i[1],l=i[2],c=i[3],d=i[4];let m,h,u,g=n[0]^t[0],w=n[e?3:1]^t[1],b=n[2]^t[2],f=n[e?1:3]^t[3],y=4;for(let n=0;n>>24]^s[w>>16&255]^l[b>>8&255]^c[255&f]^t[y],h=r[w>>>24]^s[b>>16&255]^l[f>>8&255]^c[255&g]^t[y+1],u=r[b>>>24]^s[f>>16&255]^l[g>>8&255]^c[255&w]^t[y+2],f=r[f>>>24]^s[g>>16&255]^l[w>>8&255]^c[255&b]^t[y+3],y+=4,g=m,w=h,b=u;for(let n=0;n<4;n++)o[e?3&-n:n]=d[g>>>24]<<24^d[w>>16&255]<<16^d[b>>8&255]<<8^d[255&f]^t[y++],m=g,g=w,w=b,b=f,f=m;return o}}},gn={getRandomValues(n){const e=new w(n.buffer),t=n=>{let e=987654321;const t=4294967295;return function(){e=36969*(65535&e)+(e>>16)&t;return(((e<<16)+(n=18e3*(65535&n)+(n>>16)&t)&t)/4294967296+.5)*(s.random()>.5?1:-1)}};for(let a,o=0;o>24))n+=1<<24;else{let e=n>>16&255,t=n>>8&255,a=255&n;255===e?(e=0,255===t?(t=0,255===a?a=0:++a):++t):++e,n=0,n+=e<<16,n+=t<<8,n+=a}return n}incCounter(n){0===(n[0]=this.incWord(n[0]))&&(n[1]=this.incWord(n[1]))}calculate(n,e,t){let a;if(!(a=e.length))return[];const o=mn.bitLength(e);for(let o=0;onew bn.hmacSha1(hn.bytes.toBits(n)),pbkdf2(n,e,t,a){if(t=t||1e4,a<0||t<0)throw new p("invalid params to pbkdf2");const o=1+(a>>5)<<2;let i,r,s,l,c;const d=new ArrayBuffer(o),m=new b(d);let h=0;const u=mn;for(e=hn.bytes.toBits(e),c=1;h<(o||1);c++){for(i=r=n.encrypt(u.concat(e,[c])),s=1;so&&(n=(new t).update(n).finalize());for(let e=0;ethis.resolveReady=n),password:Gn(n,e),signed:t,strength:o-1,pending:new u})},async transform(n,e){const t=this,{password:a,strength:o,resolveReady:r,ready:s}=t;a?(await async function(n,e,t,a){const o=await Wn(n,e,t,Kn(a,0,zn[e])),i=Kn(a,zn[e]);if(o[0]!=i[0]||o[1]!=i[1])throw new p(yn)}(t,o,a,Kn(n,0,zn[o]+2)),n=Kn(n,zn[o]+2),i?e.error(new p(vn)):r()):await s;const l=new u(n.length-En-(n.length-En)%jn);e.enqueue(Hn(t,n,l,0,En,!0))},async flush(n){const{signed:e,ctr:t,hmac:a,pending:o,ready:i}=this;if(a&&t){await i;const r=Kn(o,0,o.length-En),s=Kn(o,o.length-En);let l=new u;if(r.length){const n=Yn(Pn,r);a.update(n);const e=t.update(n);l=Jn(Pn,e)}if(e){const n=Kn(Jn(Pn,a.digest()),0,En);for(let e=0;ethis.resolveReady=n),password:Gn(n,e),strength:t-1,pending:new u})},async transform(n,e){const t=this,{password:a,strength:o,resolveReady:i,ready:r}=t;let s=new u;a?(s=await async function(n,e,t){const a=Sn(new u(zn[e])),o=await Wn(n,e,t,a);return Vn(a,o)}(t,o,a),i()):await r;const l=new u(s.length+n.length-n.length%jn);l.set(s,0),e.enqueue(Hn(t,n,l,s.length,0))},async flush(n){const{ctr:e,hmac:t,pending:a,ready:i}=this;if(t&&e){await i;let r=new u;if(a.length){const n=e.update(Yn(Pn,a));t.update(n),r=Jn(Pn,n)}o.signature=Jn(Pn,t.digest()).slice(0,En),n.enqueue(Vn(r,o.signature))}}}),o=this}}function Hn(n,e,t,a,o,i){const{ctr:r,hmac:s,pending:l}=n,c=e.length-o;let d;for(l.length&&(e=Vn(l,e),t=function(n,e){if(e&&e>n.length){const t=n;(n=new u(e)).set(t,0)}return n}(t,c-c%jn)),d=0;d<=c-jn;d+=jn){const n=Yn(Pn,Kn(e,d,d+jn));i&&s.update(n);const o=r.update(n);i||s.update(o),t.set(Jn(Pn,o),d+a)}return n.pending=Kn(e,d),t}async function Wn(n,e,o,i){n.password=null;const r=await async function(n,e,t,a,o){if(!On)return bn.importKey(e);try{return await Dn.importKey(n,e,t,a,o)}catch(n){return On=!1,bn.importKey(e)}}("raw",o,Cn,!1,Ln),s=await async function(n,e,t){if(!Fn)return bn.pbkdf2(e,n.salt,An.iterations,t);try{return await Dn.deriveBits(n,e,t)}catch(a){return Fn=!1,bn.pbkdf2(e,n.salt,An.iterations,t)}}(a.assign({salt:i},An),r,8*(2*Tn[e]+2)),l=new u(s),c=Yn(Pn,Kn(l,0,Tn[e])),d=Yn(Pn,Kn(l,Tn[e],2*Tn[e])),m=Kn(l,2*Tn[e]);return a.assign(n,{keys:{key:c,authentication:d,passwordVerification:m},ctr:new _n(new Nn(c),t.from(Rn)),hmac:new Bn(d)}),m}function Gn(n,e){return e===J?dn(n):e}function Vn(n,e){let t=n;return n.length+e.length&&(t=new u(n.length+e.length),t.set(n,0),t.set(e,n.length)),t}function Kn(n,e,t){return n.subarray(e,t)}function Jn(n,e){return n.fromBits(e)}function Yn(n,e){return n.toBits(e)}const Zn=12;class $n extends x{constructor({password:n,passwordVerification:e,checkPasswordOnly:t}){super({start(){a.assign(this,{password:n,passwordVerification:e}),ee(this,n)},transform(n,e){const a=this;if(a.password){const e=Qn(a,n.subarray(0,Zn));if(a.password=null,e[11]!=a.passwordVerification)throw new p(yn);n=n.subarray(Zn)}t?e.error(new p(vn)):e.enqueue(Qn(a,n))}})}}class Xn extends x{constructor({password:n,passwordVerification:e}){super({start(){a.assign(this,{password:n,passwordVerification:e}),ee(this,n)},transform(n,e){const t=this;let a,o;if(t.password){t.password=null;const e=Sn(new u(Zn));e[11]=t.passwordVerification,a=new u(n.length+e.length),a.set(ne(t,e),0),o=Zn}else a=new u(n.length),o=0;a.set(ne(t,n),o),e.enqueue(a)}})}}function Qn(n,e){const t=new u(e.length);for(let a=0;a>>24]),o=~n.crcKey2.get(),n.keys=[t,a,o]}function ae(n){const e=2|n.keys[2];return oe(s.imul(e,1^e)>>>8)}function oe(n){return 255&n}function ie(n){return 4294967295&n}const re="deflate-raw";class se extends x{constructor(n,{chunkSize:e,CompressionStream:t,CompressionStreamNative:a}){super({});const{compressed:o,encrypted:i,useCompressionStream:r,zipCrypto:s,signed:l,level:c}=n,d=this;let m,h,p=ce(super.readable);i&&!s||!l||(m=new cn,p=he(p,m)),o&&(p=me(p,r,{level:c,chunkSize:e},a,t)),i&&(s?p=he(p,new Xn(n)):(h=new qn(n),p=he(p,h))),de(d,p,()=>{let n;i&&!s&&(n=h.signature),i&&!s||!l||(n=new b(m.value.buffer).getUint32(0)),d.signature=n})}}class le extends x{constructor(n,{chunkSize:e,DecompressionStream:t,DecompressionStreamNative:a}){super({});const{zipCrypto:o,encrypted:i,signed:r,signature:s,compressed:l,useCompressionStream:c}=n;let d,m,h=ce(super.readable);i&&(o?h=he(h,new $n(n)):(m=new Un(n),h=he(h,m))),l&&(h=me(h,c,{chunkSize:e},a,t)),i&&!o||!r||(d=new cn,h=he(h,d)),de(this,h,()=>{if((!i||o)&&r){const n=new b(d.value.buffer);if(s!=n.getUint32(0,!1))throw new p(kn)}})}}function ce(n){return he(n,new x({transform(n,e){n&&n.length&&e.enqueue(n)}}))}function de(n,e,t){e=he(e,new x({flush:t})),a.defineProperty(n,"readable",{get:()=>e})}function me(n,e,t,a,o){try{n=he(n,new(e&&a?a:o)(re,t))}catch(a){if(!e)return n;try{n=he(n,new o(re,t))}catch(e){return n}}return n}function he(n,e){return n.pipeThrough(e)}const pe="message",ue="start",ge="pull",we="data",be="close",fe="deflate",ye="inflate";class ke extends x{constructor(n,e){super({});const t=this,{codecType:o}=n;let i;o.startsWith(fe)?i=se:o.startsWith(ye)&&(i=le);let r=0,s=0;const l=new i(n,e),c=super.readable,d=new x({transform(n,e){n&&n.length&&(s+=n.length,e.enqueue(n))},flush(){a.assign(t,{inputSize:s})}}),m=new x({transform(n,e){n&&n.length&&(r+=n.length,e.enqueue(n))},flush(){const{signature:n}=l;a.assign(t,{signature:n,outputSize:r,inputSize:s})}});a.defineProperty(t,"readable",{get:()=>c.pipeThrough(d).pipeThrough(l).pipeThrough(m)})}}class ve extends x{constructor(n){let e;super({transform:function t(a,o){if(e){const n=new u(e.length+a.length);n.set(e),n.set(a,e.length),a=n,e=null}a.length>n?(o.enqueue(a.slice(0,n)),t(a.slice(n),o)):e=a},flush(n){e&&e.length&&n.enqueue(e)}})}}let Se=typeof E!=Y;class je{constructor(n,{readable:e,writable:t},{options:o,config:i,streamOptions:r,useWebWorkers:s,transferStreams:l,scripts:c},d){const{signal:m}=r;return a.assign(n,{busy:!0,readable:e.pipeThrough(new ve(i.chunkSize)).pipeThrough(new xe(e,r),{signal:m}),writable:t,options:a.assign({},o),scripts:c,transferStreams:l,terminate:()=>new y(e=>{const{worker:t,busy:a}=n;t?(a?n.resolveTerminated=e:(t.terminate(),e()),n.interface=null):e()}),onTaskFinished(){const{resolveTerminated:e}=n;e&&(n.resolveTerminated=null,n.terminated=!0,n.worker.terminate(),e()),n.busy=!1,d(n)}}),(s&&Se?Le:Ae)(n,i)}}class xe extends x{constructor(n,{onstart:e,onprogress:t,size:a,onend:o}){let i=0;super({async start(){e&&await Ce(e,a)},async transform(n,e){i+=n.length,t&&await Ce(t,i,a),e.enqueue(n)},async flush(){n.size=i,o&&await Ce(o,i)}})}}async function Ce(n,...e){try{await n(...e)}catch(n){}}function Ae(n,e){return{run:()=>async function({options:n,readable:e,writable:t,onTaskFinished:a},o){try{const a=new ke(n,o);await e.pipeThrough(a).pipeTo(t,{preventClose:!0,preventAbort:!0});const{signature:i,inputSize:r,outputSize:s}=a;return{signature:i,inputSize:r,outputSize:s}}finally{a()}}(n,e)}}function Le(n,e){const{baseURL:t,chunkSize:o}=e;if(!n.interface){let i;try{i=function(n,e,t){const o={type:"module"};let i,r;typeof n==Z&&(n=n());try{i=new h(n,e)}catch(e){i=n}if(ze)try{r=new E(i)}catch(n){ze=!1,r=new E(i,o)}else r=new E(i,o);return r.addEventListener(pe,n=>async function({data:n},e){const{type:t,value:o,messageId:i,result:r,error:s}=n,{reader:l,writer:c,resolveResult:d,rejectResult:m,onTaskFinished:h}=e;try{if(s){const{message:n,stack:e,code:t,name:o}=s,i=new p(n);a.assign(i,{stack:e,code:t,name:o}),g(i)}else{if(t==ge){const{value:n,done:t}=await l.read();Ee({type:we,value:n,done:t,messageId:i},e)}t==we&&(await c.ready,await c.write(new u(o)),Ee({type:"ack",messageId:i},e)),t==be&&g(null,r)}}catch(s){Ee({type:be,messageId:i},e),g(s)}function g(n,e){n?m(n):d(e),c&&c.releaseLock(),h()}}(n,t)),r}(n.scripts[0],t,n)}catch(t){return Se=!1,Ae(n,e)}a.assign(n,{worker:i,interface:{run:()=>async function(n,e){let t,o;const i=new y((n,e)=>{t=n,o=e});a.assign(n,{reader:null,writer:null,resolveResult:t,rejectResult:o,result:i});const{readable:r,options:s,scripts:l}=n,{writable:c,closed:d}=function(n){let e;const t=new y(n=>e=n),a=new A({async write(e){const t=n.getWriter();await t.ready,await t.write(e),t.releaseLock()},close(){e()},abort:e=>n.getWriter().abort(e)});return{writable:a,closed:t}}(n.writable),m=Ee({type:ue,scripts:l.slice(1),options:s,config:e,readable:r,writable:c},n);m||a.assign(n,{reader:r.getReader(),writer:c.getWriter()});const h=await i;m||await c.getWriter().close();return await d,h}(n,{chunkSize:o})}})}return n.interface}let ze=!0,Te=!0;function Ee(n,{worker:e,writer:t,onTaskFinished:a,transferStreams:o}){try{let{value:t,readable:a,writable:i}=n;const r=[];if(t&&(t.byteLength!n.busy);if(t)return Pe(t),new je(t,n,e,g);if(Re.lengthIe.push({resolve:t,stream:n,workerOptions:e}))}()).run();function g(n){if(Ie.length){const[{resolve:e,stream:t,workerOptions:a}]=Ie.splice(0,1);e(new je(n,t,a,g))}else n.worker?(Pe(n),function(n,e){const{config:t}=e,{terminateWorkerTimeout:a}=t;i.isFinite(a)&&a>=0&&(n.terminated?n.terminated=!1:n.terminateTimeout=setTimeout(async()=>{Re=Re.filter(e=>e!=n);try{await n.terminate()}catch(n){}},a))}(n,e)):Re=Re.filter(e=>e!=n)}}function Pe(n){const{terminateTimeout:e}=n;e&&(clearTimeout(e),n.terminateTimeout=null)}const Ne="HTTP error ",_e="HTTP Range not supported",Be="Writer iterator completed too soon",Oe="Range",Fe="GET",Ue="bytes",qe=65536,He="writable";class We{constructor(){this.size=0}init(){this.initialized=!0}}class Ge extends We{get readable(){const n=this,{chunkSize:e=qe}=n,t=new C({start(){this.chunkOffset=0},async pull(a){const{offset:o=0,size:i,diskNumberStart:r}=t,{chunkOffset:l}=this;a.enqueue(await wt(n,o+l,s.min(e,i-l),r)),l+e>i?a.close():this.chunkOffset+=e}});return t}}class Ve extends We{constructor(){super();const n=this,e=new A({write:e=>n.writeUint8Array(e)});a.defineProperty(n,He,{get:()=>e})}writeUint8Array(){}}class Ke extends Ge{constructor(n){super(),a.assign(this,{blob:n,size:n.size})}async readUint8Array(n,e){const t=this,a=n+e,o=n||ae&&(i=i.slice(n,a)),new u(i)}}class Je extends We{constructor(n){super();const e=new x,t=[];n&&t.push(["Content-Type",n]),a.defineProperty(this,He,{get:()=>e.writable}),this.blob=new m(e.readable,{headers:t}).blob()}getData(){return this.blob}}class Ye extends Ke{constructor(n){super(new f([n],{type:"text/plain"}))}}class Ze extends Ge{constructor(n,e){super(),Xe(this,n,e)}async init(){await Qe(this,st,at),super.init()}readUint8Array(n,e){return nt(this,n,e,st,at)}}class $e extends Ge{constructor(n,e){super(),Xe(this,n,e)}async init(){await Qe(this,lt,ot),super.init()}readUint8Array(n,e){return nt(this,n,e,lt,ot)}}function Xe(n,e,t){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:r,combineSizeEocd:s}=t;delete(t=a.assign({},t)).preventHeadRequest,delete t.useRangeHeader,delete t.forceRangeRequests,delete t.combineSizeEocd,delete t.useXHR,a.assign(n,{url:e,options:t,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:r,combineSizeEocd:s})}async function Qe(n,e,t){const{url:a,preventHeadRequest:o,useRangeHeader:r,forceRangeRequests:s,combineSizeEocd:l}=n;if(function(n){const{baseURL:e}=en(),{protocol:t}=new h(n,e);return"http:"==t||"https:"==t}(a)&&(r||s)&&(void 0===o||o)){const a=await e(Fe,n,et(n,l?-22:void 0));if(!s&&a.headers.get("Accept-Ranges")!=Ue)throw new p(_e);{let o;l&&(n.eocdCache=new u(await a.arrayBuffer()));const r=a.headers.get("Content-Range");if(r){const n=r.trim().split(/\s*\/\s*/);if(n.length){const e=n[1];e&&"*"!=e&&(o=i(e))}}o===J?await rt(n,e,t):n.size=o}}else await rt(n,e,t)}async function nt(n,e,t,a,o){const{useRangeHeader:i,forceRangeRequests:r,eocdCache:s,size:l,options:c}=n;if(i||r){if(s&&e==l-F&&t==F)return s;const o=await a(Fe,n,et(n,e,t));if(206!=o.status)throw new p(_e);return new u(await o.arrayBuffer())}{const{data:a}=n;return a||await o(n,c),new u(n.data.subarray(e,e+t))}}function et(n,e=0,t=1){return a.assign({},tt(n),{[Oe]:Ue+"="+(e<0?e:e+"-"+(e+t-1))})}function tt({options:n}){const{headers:e}=n;if(e)return Symbol.iterator in e?a.fromEntries(e):e}async function at(n){await it(n,st)}async function ot(n){await it(n,lt)}async function it(n,e){const t=await e(Fe,n,tt(n));n.data=new u(await t.arrayBuffer()),n.size||(n.size=n.data.length)}async function rt(n,e,t){if(n.preventHeadRequest)await t(n,n.options);else{const a=(await e("HEAD",n,tt(n))).headers.get("Content-Length");a?n.size=i(a):await t(n,n.options)}}async function st(n,{options:e,url:t},o){const i=await fetch(t,a.assign({},e,{method:n,headers:o}));if(i.status<400)return i;throw 416==i.status?new p(_e):new p(Ne+(i.statusText||i.status))}function lt(n,{url:e},t){return new y((o,i)=>{const r=new XMLHttpRequest;if(r.addEventListener("load",()=>{if(r.status<400){const n=[];r.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const t=e.trim().split(/\s*:\s*/);t[0]=t[0].trim().replace(/^[a-z]|-[a-z]/g,n=>n.toUpperCase()),n.push(t)}),o({status:r.status,arrayBuffer:()=>r.response,headers:new c(n)})}else i(416==r.status?new p(_e):new p(Ne+(r.statusText||r.status)))},!1),r.addEventListener("error",n=>i(n.detail?n.detail.error:new p("Network error")),!1),r.open(n,e),t)for(const n of a.entries(t))r.setRequestHeader(n[0],n[1]);r.responseType="arraybuffer",r.send()})}class ct extends Ge{constructor(n,e={}){super(),a.assign(this,{url:n,reader:e.useXHR?new $e(n,e):new Ze(n,e)})}set size(n){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(n,e){return this.reader.readUint8Array(n,e)}}class dt extends Ve{init(n=0){a.assign(this,{offset:0,array:new u(n)}),super.init()}writeUint8Array(n){const e=this;if(e.offset+n.length>e.array.length){const t=e.array;e.array=new u(t.length+n.length),e.array.set(t)}e.array.set(n,e.offset),e.offset+=n.length}getData(){return this.array}}class mt extends Ge{constructor(n){super(),this.readers=n}async init(){const n=this,{readers:e}=n;n.lastDiskNumber=0,n.lastDiskOffset=0,await y.all(e.map(async(t,a)=>{await t.init(),a!=e.length-1&&(n.lastDiskOffset+=t.size),n.size+=t.size})),super.init()}async readUint8Array(n,e,t=0){const a=this,{readers:o}=this;let i,r=t;-1==r&&(r=o.length-1);let l=n;for(;l>=o[r].size;)l-=o[r].size,r++;const c=o[r],d=c.size;if(l+e<=d)i=await wt(c,l,e);else{const o=d-l;i=new u(e),i.set(await wt(c,l,o)),i.set(await a.readUint8Array(n+o,e-o,t),o)}return a.lastDiskNumber=s.max(r,a.lastDiskNumber),i}}class ht extends We{constructor(n,e=4294967295){super();const t=this;let o,i,r;a.assign(t,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const s=new A({async write(e){const{availableSize:a}=t;if(r)e.length>=a?(await l(e.slice(0,a)),await c(),t.diskOffset+=o.size,t.diskNumber++,r=null,await this.write(e.slice(a))):await l(e);else{const{value:a,done:s}=await n.next();if(s&&!a)throw new p(Be);o=a,o.size=0,o.maxSize&&(t.maxSize=o.maxSize),t.availableSize=t.maxSize,await pt(o),i=a.writable,r=i.getWriter(),await this.write(e)}},async close(){await r.ready,await c()}});async function l(n){const e=n.length;e&&(await r.ready,await r.write(n),o.size+=e,t.size+=e,t.availableSize-=e)}async function c(){i.size=o.size,await r.close()}a.defineProperty(t,He,{get:()=>s})}}async function pt(n,e){if(!n.init||n.initialized)return y.resolve();await n.init(e)}function ut(n){return t.isArray(n)&&(n=new mt(n)),n instanceof C&&(n={readable:n}),n}function gt(n){n.writable===J&&typeof n.next==Z&&(n=new ht(n)),n instanceof A&&(n={writable:n});const{writable:e}=n;return e.size===J&&(e.size=0),n instanceof ht||a.assign(n,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),n}function wt(n,e,t,a){return n.readUint8Array(e,t,a)}const bt=mt,ft=ht,yt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),kt=256==yt.length;function vt(n,e){return e&&"cp437"==e.trim().toLowerCase()?function(n){if(kt){let e="";for(let t=0;tthis[e]=n[e])}}const qt="File format is not recognized",Ht="End of central directory not found",Wt="End of Zip64 central directory locator not found",Gt="Central directory header not found",Vt="Local file header not found",Kt="Zip64 extra field not found",Jt="File contains encrypted entry",Yt="Encryption method not supported",Zt="Compression method not supported",$t="Split zip file",Xt="utf-8",Qt="cp437",na=[[At,R],[Lt,R],[zt,R],[Tt,I]],ea={[I]:{getValue:ha,bytes:4},[R]:{getValue:pa,bytes:8}};class ta{constructor(n,e={}){a.assign(this,{reader:ut(n),options:e,config:en()})}async*getEntriesGenerator(n={}){const e=this;let{reader:t}=e;const{config:o}=e;if(await pt(t),t.size!==J&&t.readUint8Array||(t=new Ke(await new m(t.readable).blob()),await pt(t)),t.size=0;n--)if(r[n]==i[0]&&r[n+1]==i[1]&&r[n+2]==i[2]&&r[n+3]==i[3])return{offset:o+n,buffer:r.slice(n,n+a).buffer}}}(t,_,t.size,F,1048560);if(!i){throw ha(ua(await wt(t,0,4)))==M?new p($t):new p(Ht)}const r=ua(i);let l=ha(r,12),c=ha(r,16);const d=i.offset,h=ma(r,20),g=d+F+h;let w=ma(r,4);const b=t.lastDiskNumber||0;let f=ma(r,6),y=ma(r,8),k=0,v=0;if(c==R||l==R||y==I||f==I){const n=ua(await wt(t,i.offset-20,20));if(ha(n,0)==O){c=pa(n,8);let e=await wt(t,c,56,-1),a=ua(e);const o=i.offset-20-56;if(ha(a,0)!=B&&c!=o){const n=c;c=o,k=c-n,e=await wt(t,c,56,-1),a=ua(e)}if(ha(a,0)!=B)throw new p(Wt);w==I&&(w=ha(a,16)),f==I&&(f=ha(a,20)),y==I&&(y=pa(a,32)),l==R&&(l=pa(a,40)),c-=l}}if(c>=t.size&&(k=t.size-c-l-F,c=t.size-l-F),b!=w)throw new p($t);if(c<0)throw new p(qt);let S=0,j=await wt(t,c,l,f),x=ua(j);if(l){const n=i.offset-l;if(ha(x,S)!=N&&c!=n){const e=c;c=n,k+=c-e,j=await wt(t,c,l,f),x=ua(j)}}const C=i.offset-c-(t.lastDiskOffset||0);if(l!=C&&C>=0&&(l=C,j=await wt(t,c,l,f),x=ua(j)),c<0||c>=t.size)throw new p(qt);const A=sa(e,n,"filenameEncoding"),L=sa(e,n,"commentEncoding");for(let i=0;ir.getData(n,_,e),S=b;const{onprogress:B}=n;if(B)try{await B(i+1,y,new Ut(r))}catch(n){}yield _}const z=sa(e,n,"extractPrependedData"),T=sa(e,n,"extractAppendedData");return z&&(e.prependedData=v>0?await wt(t,0,v):new u),e.comment=h?await wt(t,d+F,h):new u,T&&(e.appendedData=g>>8&255:h>>>24&255),signature:h,compressed:0!=c,encrypted:S,useWebWorkers:sa(o,t,"useWebWorkers"),useCompressionStream:sa(o,t,"useCompressionStream"),transferStreams:sa(o,t,"transferStreams"),checkPasswordOnly:T},config:d,streamOptions:{signal:z,size:C,onstart:R,onprogress:I,onend:M}};let N=0;try{({outputSize:N}=await Me({readable:L,writable:E},P))}catch(n){if(!T||n.message!=vn)throw n}finally{const n=sa(o,t,"preventClose");E.size+=N,n||E.locked||await E.getWriter().close()}return T?J:n.getData?n.getData():E}}function oa(n,e,t){const o=n.rawBitFlag=ma(e,t+2),i=!(1&~o),r=ha(e,t+6);a.assign(n,{encrypted:i,version:ma(e,t),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&W)==W},rawLastModDate:r,lastModDate:la(r),filenameLength:ma(e,t+22),extraFieldLength:ma(e,t+24)})}async function ia(n,e,t,o,i){const{rawExtraField:r}=e,s=e.extraField=new c,d=ua(new u(r));let m=0;try{for(;me[n]==t);for(let o=0,i=0;o=5&&(i.push(Et),r.push(Rt));let s=1;i.forEach((t,o)=>{if(n.data.length>=s+4){const i=ha(a,s);e[t]=n[t]=new l(1e3*i);const c=r[o];n[c]=i}s+=4})}(k,e,i),e.extraFieldExtendedTimestamp=k);const v=s.get(6534);v&&(e.extraFieldUSDZ=v)}async function ra(n,e,t,o,i){const r=ua(n.data),s=new ln;s.append(i[t]);const l=ua(new u(4));l.setUint32(0,s.get(),!0);const c=ha(r,1);a.assign(n,{version:da(r,0),[e]:vt(n.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&c==ha(l,0)}),n.valid&&(o[e]=n[e],o[e+"UTF8"]=!0)}function sa(n,e,t){return e[t]===J?n.options[t]:e[t]}function la(n){const e=(4294901760&n)>>16,t=65535&n;try{return new l(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&t)>>11,(2016&t)>>5,2*(31&t),0)}catch(n){}}function ca(n){return new l(i(n/r(1e4)-r(116444736e5)))}function da(n,e){return n.getUint8(e)}function ma(n,e){return n.getUint16(e,!0)}function ha(n,e){return n.getUint32(e,!0)}function pa(n,e){return i(n.getBigUint64(e,!0))}function ua(n){return new b(n.buffer)}const ga="File already exists",wa="Zip file comment exceeds 64KB",ba="File entry comment exceeds 64KB",fa="File entry name exceeds 64KB",ya="Version exceeds 65535",ka="The strength must equal 1, 2, or 3",va="Extra field type exceeds 65535",Sa="Extra field data exceeds 64KB",ja="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",xa=new u([7,0,2,0,65,69,3,0,0]);let Ca=0;const Aa=[];class La{constructor(n,e={}){const t=(n=gt(n)).availableSize!==J&&n.availableSize>0&&n.availableSize!==1/0&&n.maxSize!==J&&n.maxSize>0&&n.maxSize!==1/0;a.assign(this,{writer:n,addSplitZipSignature:t,options:e,config:en(),files:new c,filenames:new d,offset:n.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new d,bufferedWrites:0})}async add(n="",e,o={}){const i=this,{pendingAddFileCalls:c,config:d}=i;let h;CaAa.push(n));try{if(n=n.trim(),i.filenames.has(n))throw new p(ga);return i.filenames.add(n),h=async function(n,e,o,i){e=e.trim(),i.directory&&!e.endsWith(G)?e+=G:i.directory=e.endsWith(G);const c=Ea(n,i,"encodeText",dn);let d=c(e);d===J&&(d=dn(e));if(_a(d)>I)throw new p(fa);const h=i.comment||"";let f=c(h);f===J&&(f=dn(h));if(_a(f)>I)throw new p(ba);const k=Ea(n,i,"version",20);if(k>I)throw new p(ya);const v=Ea(n,i,"versionMadeBy",20);if(v>I)throw new p(ya);const S=Ea(n,i,Et,new l),j=Ea(n,i,It),C=Ea(n,i,Mt),A=Ea(n,i,Bt,!0),L=Ea(n,i,Nt,0),z=Ea(n,i,_t,0),T=Ea(n,i,"password"),E=Ea(n,i,"rawPassword"),N=Ea(n,i,"encryptionStrength",3),_=Ea(n,i,"zipCrypto"),B=Ea(n,i,"extendedTimestamp",!0),O=Ea(n,i,"keepOrder",!0),F=Ea(n,i,"level"),Y=Ea(n,i,"useWebWorkers"),Z=Ea(n,i,"bufferedWrite"),$=Ea(n,i,"dataDescriptorSignature",!1),X=Ea(n,i,"signal"),Q=Ea(n,i,"useCompressionStream");let nn=Ea(n,i,"dataDescriptor",!0),en=Ea(n,i,Ot);if(T!==J&&N!==J&&(N<1||N>3))throw new p(ka);let an=new u;const{extraField:on}=i;if(on){let n=0,e=0;on.forEach(e=>n+=4+_a(e)),an=new u(n),on.forEach((n,t)=>{if(t>I)throw new p(va);if(_a(n)>I)throw new p(Sa);Pa(an,new g([t]),e),Pa(an,new g([_a(n)]),e+2),Pa(an,n,e+4),e+=4+_a(n)})}let rn=0,sn=0,ln=0;const cn=!0===en;o&&(o=ut(o),await pt(o),o.size===J?(nn=!0,(en||en===J)&&(en=!0,ln=rn=4294967296)):(ln=o.size,rn=function(n){return n+5*(s.floor(n/16383)+1)}(ln)));const{diskOffset:mn,diskNumber:hn,maxSize:pn}=n.writer,un=cn||ln>R,gn=cn||rn>R,wn=cn||n.offset+n.pendingEntriesSize-mn>R,bn=Ea(n,i,"supportZip64SplitFile",!0),fn=bn&&cn||hn+s.ceil(n.pendingEntriesSize/pn)>I;if(wn||un||gn||fn){if(!1===en||!O)throw new p(ja);en=!0}en=en||!1,i=a.assign({},i,{rawFilename:d,rawComment:f,version:k,versionMadeBy:v,lastModDate:S,lastAccessDate:j,creationDate:C,rawExtraField:an,zip64:en,zip64UncompressedSize:un,zip64CompressedSize:gn,zip64Offset:wn,zip64DiskNumberStart:fn,password:T,rawPassword:E,level:Q||n.config.CompressionStream!==J||n.config.CompressionStreamNative!==J?F:0,useWebWorkers:Y,encryptionStrength:N,extendedTimestamp:B,zipCrypto:_,bufferedWrite:Z,keepOrder:O,dataDescriptor:nn,dataDescriptorSignature:$,signal:X,msDosCompatible:A,internalFileAttribute:L,externalFileAttribute:z,useCompressionStream:Q});const yn=function(n){const{rawFilename:e,lastModDate:t,lastAccessDate:a,creationDate:o,rawPassword:i,password:r,level:l,zip64:c,zipCrypto:d,dataDescriptor:m,directory:h,rawExtraField:p,encryptionStrength:g,extendedTimestamp:b}=n,f=0!==l&&!h,y=Boolean(r&&_a(r)||i&&_a(i));let k,v,S,j,x=n.version;if(y&&!d){k=new u(_a(xa)+2);const n=Na(k);Ia(n,0,U),Pa(k,xa,2),Ra(n,8,g)}else k=new u;if(b){S=new u(9+(a?4:0)+(o?4:0));const n=Na(S);Ia(n,0,q),Ia(n,2,_a(S)-4),j=1+(a?2:0)+(o?4:0),Ra(n,4,j);let e=5;Da(n,e,s.floor(t.getTime()/1e3)),e+=4,a&&(Da(n,e,s.floor(a.getTime()/1e3)),e+=4),o&&Da(n,e,s.floor(o.getTime()/1e3));try{v=new u(36);const n=Na(v),e=Ta(t);Ia(n,0,10),Ia(n,2,32),Ia(n,8,1),Ia(n,10,24),Ma(n,12,e),Ma(n,20,Ta(a)||e),Ma(n,28,Ta(o)||e)}catch(n){v=new u}}else v=S=new u;let C=W;m&&(C|=8);let A=0;f&&(A=8);c&&(x=x>45?x:45);y&&(C|=1,d||(x=x>51?x:51,A=99,f&&(k[9]=8)));const L=new u(26),z=Na(L);Ia(z,0,x),Ia(z,2,C),Ia(z,4,A);const T=new w(1),E=Na(T);let R;R=tV?V:t;Ia(E,0,(R.getHours()<<6|R.getMinutes())<<5|R.getSeconds()/2),Ia(E,2,(R.getFullYear()-1980<<4|R.getMonth()+1)<<5|R.getDate());const I=T[0];Da(z,6,I),Ia(z,22,_a(e));const M=_a(k,S,v,p);Ia(z,24,M);const P=new u(30+_a(e)+M);return Da(Na(P),0,D),Pa(P,L,4),Pa(P,e,30),Pa(P,k,30+_a(e)),Pa(P,S,30+_a(e,k)),Pa(P,v,30+_a(e,k,S)),Pa(P,p,30+_a(e,k,S,v)),{localHeaderArray:P,headerArray:L,headerView:z,lastModDate:t,rawLastModDate:I,encrypted:y,compressed:f,version:x,compressionMethod:A,extraFieldExtendedTimestampFlag:j,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:v,rawExtraFieldAES:k,extraFieldLength:M}}(i),kn=function(n){const{zip64:e,dataDescriptor:t,dataDescriptorSignature:a}=n;let o,i=new u,r=0;t&&(i=new u(e?a?24:20:a?16:12),o=Na(i),a&&(r=4,Da(o,0,P)));return{dataDescriptorArray:i,dataDescriptorView:o,dataDescriptorOffset:r}}(i),vn=_a(yn.localHeaderArray,kn.dataDescriptorArray);sn=vn+rn,n.options.usdz&&(sn+=sn+64);let Sn;n.pendingEntriesSize+=sn;try{Sn=await async function(n,e,o,i,s){const{files:l,writer:c}=n,{keepOrder:d,dataDescriptor:h,signal:g}=s,{headerInfo:w}=i,{usdz:f}=n.options,k=t.from(l.values()).pop();let v,S,j,C,A,L,z,T={};l.set(e,T);try{let t;d&&(t=k&&k.lock,E()),!(s.bufferedWrite||n.writerLocked||n.bufferedWrites&&d)&&h||f?(L=c,await I()):(L=new x,z=new m(L.readable).blob(),L.writable.size=0,v=!0,n.bufferedWrites++,await pt(c)),await pt(L);const{writable:w}=c;let{diskOffset:y}=c;if(n.addSplitZipSignature){delete n.addSplitZipSignature;const e=new u(4);Da(Na(e),0,M),await za(w,e),n.offset+=4}f&&function(n,e){const{headerInfo:t}=n;let{localHeaderArray:a,extraFieldLength:o}=t,i=Na(a),r=64-(e+_a(a))%64;r<4&&(r+=64);const s=new u(r),l=Na(s);Ia(l,0,H),Ia(l,2,r-2);const c=a;t.localHeaderArray=a=new u(_a(c)+r),Pa(a,c),Pa(a,s,_a(c)),i=Na(a),Ia(i,28,o+r),n.metadataSize+=r}(i,n.offset-y),v||(await t,await D(w));const{diskNumber:S}=c;if(A=!0,T.diskNumberStart=S,T=await async function(n,e,{diskNumberStart:t,lock:o},i,s,l){const{headerInfo:c,dataDescriptorInfo:d,metadataSize:m}=i,{localHeaderArray:h,headerArray:p,lastModDate:g,rawLastModDate:w,encrypted:b,compressed:f,version:y,compressionMethod:k,rawExtraFieldExtendedTimestamp:v,extraFieldExtendedTimestampFlag:S,rawExtraFieldNTFS:j,rawExtraFieldAES:x}=c,{dataDescriptorArray:C}=d,{rawFilename:A,lastAccessDate:L,creationDate:z,password:T,rawPassword:E,level:I,zip64:D,zip64UncompressedSize:M,zip64CompressedSize:P,zip64Offset:N,zip64DiskNumberStart:_,zipCrypto:B,dataDescriptor:O,directory:F,versionMadeBy:U,rawComment:q,rawExtraField:H,useWebWorkers:W,onstart:G,onprogress:V,onend:K,signal:Y,encryptionStrength:Z,extendedTimestamp:$,msDosCompatible:X,internalFileAttribute:Q,externalFileAttribute:nn,useCompressionStream:en}=l,an={lock:o,versionMadeBy:U,zip64:D,directory:Boolean(F),filenameUTF8:!0,rawFilename:A,commentUTF8:!0,rawComment:q,rawExtraFieldExtendedTimestamp:v,rawExtraFieldNTFS:j,rawExtraFieldAES:x,rawExtraField:H,extendedTimestamp:$,msDosCompatible:X,internalFileAttribute:Q,externalFileAttribute:nn,diskNumberStart:t};let on,rn=0,sn=0;const{writable:ln}=e;if(n){n.chunkSize=tn(s),await za(ln,h);const e=n.readable,t=e.size=n.size,a={options:{codecType:fe,level:I,rawPassword:E,password:T,encryptionStrength:Z,zipCrypto:b&&B,passwordVerification:b&&B&&w>>8&255,signed:!0,compressed:f,encrypted:b,useWebWorkers:W,useCompressionStream:en,transferStreams:!1},config:s,streamOptions:{signal:Y,size:t,onstart:G,onprogress:V,onend:K}},o=await Me({readable:e,writable:ln},a);sn=o.inputSize,rn=o.outputSize,on=o.signature,ln.size+=sn}else await za(ln,h);let cn;if(D){let n=4;M&&(n+=8),P&&(n+=8),N&&(n+=8),_&&(n+=4),cn=new u(n)}else cn=new u;(function(n,e){const{signature:t,rawExtraFieldZip64:a,compressedSize:o,uncompressedSize:i,headerInfo:s,dataDescriptorInfo:l}=n,{headerView:c,encrypted:d}=s,{dataDescriptorView:m,dataDescriptorOffset:h}=l,{zip64:p,zip64UncompressedSize:u,zip64CompressedSize:g,zipCrypto:w,dataDescriptor:b}=e;d&&!w||t===J||(Da(c,10,t),b&&Da(m,h,t));if(p){const n=Na(a);Ia(n,0,1),Ia(n,2,_a(a)-4);let e=4;u&&(Da(c,18,R),Ma(n,e,r(i)),e+=8),g&&(Da(c,14,R),Ma(n,e,r(o))),b&&(Ma(m,h+4,r(o)),Ma(m,h+12,r(i)))}else Da(c,14,o),Da(c,18,i),b&&(Da(m,h+4,o),Da(m,h+8,i))})({signature:on,rawExtraFieldZip64:cn,compressedSize:rn,uncompressedSize:sn,headerInfo:c,dataDescriptorInfo:d},l),O&&await za(ln,C);return a.assign(an,{uncompressedSize:sn,compressedSize:rn,lastModDate:g,rawLastModDate:w,creationDate:z,lastAccessDate:L,encrypted:b,size:m+rn,compressionMethod:k,version:y,headerArray:p,signature:on,rawExtraFieldZip64:cn,extraFieldExtendedTimestampFlag:S,zip64UncompressedSize:M,zip64CompressedSize:P,zip64Offset:N,zip64DiskNumberStart:_}),an}(o,L,T,i,n.config,s),A=!1,l.set(e,T),T.filename=e,v){await L.writable.getWriter().close();let n=await z;await t,await I(),C=!0,h||(n=await async function(n,e,t,{zipCrypto:a}){let o;o=await e.slice(0,26).arrayBuffer(),26!=o.byteLength&&(o=o.slice(0,26));const i=new b(o);n.encrypted&&!a||Da(i,14,n.signature);n.zip64?(Da(i,18,R),Da(i,22,R)):(Da(i,18,n.compressedSize),Da(i,22,n.uncompressedSize));return await za(t,new u(o)),e.slice(o.byteLength)}(T,n,w,s)),await D(w),T.diskNumberStart=c.diskNumber,y=c.diskOffset,await n.stream().pipeTo(w,{preventClose:!0,preventAbort:!0,signal:g}),w.size+=n.size,C=!1}if(T.offset=n.offset-y,T.zip64)!function(n,e){const{rawExtraFieldZip64:t,offset:a,diskNumberStart:o}=n,{zip64UncompressedSize:i,zip64CompressedSize:s,zip64Offset:l,zip64DiskNumberStart:c}=e,d=Na(t);let m=4;i&&(m+=8);s&&(m+=8);l&&(Ma(d,m,r(a)),m+=8);c&&Da(d,m,o)}(T,s);else if(T.offset>R)throw new p(ja);return n.offset+=T.size,T}catch(t){if(v&&C||!v&&A){if(n.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(n){}v?n.offset+=L.writable.size:n.offset=L.writable.size}throw l.delete(e),t}finally{v&&n.bufferedWrites--,j&&j(),S&&S()}function E(){T.lock=new y(n=>j=n)}async function I(){n.writerLocked=!0;const{lockWriter:e}=n;n.lockWriter=new y(e=>S=()=>{n.writerLocked=!1,e()}),await e}async function D(n){_a(w.localHeaderArray)>c.availableSize&&(c.availableSize=0,await za(n,new u))}}(n,e,o,{headerInfo:yn,dataDescriptorInfo:kn,metadataSize:vn},i)}finally{n.pendingEntriesSize-=sn}return a.assign(Sn,{name:e,comment:h,extraField:on}),new Ut(Sn)}(i,n,e,o),c.add(h),await h}catch(e){throw i.filenames.delete(n),e}finally{c.delete(h);const n=Aa.shift();n?n():Ca--}}async close(n=new u,e={}){const{pendingAddFileCalls:a,writer:o}=this,{writable:i}=o;for(;a.size;)await y.allSettled(t.from(a));await async function(n,e,a){const{files:o,writer:i}=n,{diskOffset:l,writable:c}=i;let{diskNumber:d}=i,m=0,h=0,g=n.offset-l,w=o.size;for(const[,n]of o){const{rawFilename:e,rawExtraFieldZip64:t,rawExtraFieldAES:a,rawComment:o,rawExtraFieldNTFS:i,rawExtraField:r,extendedTimestamp:l,extraFieldExtendedTimestampFlag:c,lastModDate:d}=n;let m;if(l){m=new u(9);const n=Na(m);Ia(n,0,q),Ia(n,2,5),Ra(n,4,c),Da(n,5,s.floor(d.getTime()/1e3))}else m=new u;n.rawExtraFieldCDExtendedTimestamp=m,h+=46+_a(e,o,t,a,i,m,r)}const b=new u(h),f=Na(b);await pt(i);let y=0;for(const[n,e]of t.from(o.values()).entries()){const{offset:t,rawFilename:r,rawExtraFieldZip64:s,rawExtraFieldAES:l,rawExtraFieldCDExtendedTimestamp:d,rawExtraFieldNTFS:h,rawExtraField:p,rawComment:u,versionMadeBy:g,headerArray:w,directory:k,zip64:v,zip64UncompressedSize:S,zip64CompressedSize:j,zip64DiskNumberStart:x,zip64Offset:C,msDosCompatible:A,internalFileAttribute:L,externalFileAttribute:z,diskNumberStart:T,uncompressedSize:E,compressedSize:D}=e,M=_a(s,l,d,h,p);Da(f,m,N),Ia(f,m+4,g);const P=Na(w);S||Da(P,18,E),j||Da(P,14,D),Pa(b,w,m+6),Ia(f,m+30,M),Ia(f,m+32,_a(u)),Ia(f,m+34,v&&x?I:T),Ia(f,m+36,L),z?Da(f,m+38,z):k&&A&&Ra(f,m+38,16),Da(f,m+42,v&&C?R:t),Pa(b,r,m+46),Pa(b,s,m+46+_a(r)),Pa(b,l,m+46+_a(r,s)),Pa(b,d,m+46+_a(r,s,l)),Pa(b,h,m+46+_a(r,s,l,d)),Pa(b,p,m+46+_a(r,s,l,d,h)),Pa(b,u,m+46+_a(r)+M);const _=46+_a(r,u)+M;if(m-y>i.availableSize&&(i.availableSize=0,await za(c,b.slice(y,m)),y=m),m+=_,a.onprogress)try{await a.onprogress(n+1,o.size,new Ut(e))}catch(n){}}await za(c,y?b.slice(y):b);let k=i.diskNumber;const{availableSize:v}=i;vR||h>R||w>I||k>I){if(!1===S)throw new p(ja);S=!0}const j=new u(S?98:F),x=Na(j);if(m=0,S){Da(x,0,B),Ma(x,4,r(44)),Ia(x,12,45),Ia(x,14,45),Da(x,16,k),Da(x,20,d),Ma(x,24,r(w)),Ma(x,32,r(w)),Ma(x,40,r(h)),Ma(x,48,r(g)),Da(x,56,O),Ma(x,64,r(g)+r(h)),Da(x,72,k+1);Ea(n,a,"supportZip64SplitFile",!0)&&(k=I,d=I),w=I,g=R,h=R,m+=76}Da(x,m,_),Ia(x,m+4,k),Ia(x,m+6,d),Ia(x,m+8,w),Ia(x,m+10,w),Da(x,m+12,h),Da(x,m+16,g);const C=_a(e);if(C){if(!(C<=I))throw new p(wa);Ia(x,m+20,C)}await za(c,j),C&&await za(c,e)}(this,n,e);return Ea(this,e,"preventClose")||await i.getWriter().close(),o.getData?o.getData():i}}async function za(n,e){const t=n.getWriter();try{await t.ready,n.size+=_a(e),await t.write(e)}finally{t.releaseLock()}}function Ta(n){if(n)return(r(n.getTime())+r(116444736e5))*r(1e4)}function Ea(n,e,t,a){const o=e[t]===J?n.options[t]:e[t];return o===J?a:o}function Ra(n,e,t){n.setUint8(e,t)}function Ia(n,e,t){n.setUint16(e,t,!0)}function Da(n,e,t){n.setUint32(e,t,!0)}function Ma(n,e,t){n.setBigUint64(e,t,!0)}function Pa(n,e,t){n.set(e,t)}function Na(n){return new b(n.buffer)}function _a(...n){let e=0;return n.forEach(n=>n&&(e+=n.length)),e}let Ba;try{Ba="undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:e&&"SCRIPT"===e.tagName.toUpperCase()&&e.src||new URL("single-file.js",document.baseURI).href}catch(n){}an({baseURL:Ba}),function(n){const e=()=>h.createObjectURL(new f(['const{Array:e,Object:t,Number:n,Math:s,Error:r,Uint8Array:a,Uint16Array:i,Uint32Array:o,Int32Array:l,Map:c,DataView:h,Promise:f,TextEncoder:u,crypto:p,postMessage:d,TransformStream:g,ReadableStream:w,WritableStream:y,CompressionStream:v,DecompressionStream:b}=self,m=void 0,_="undefined",S="function";class k{constructor(e){return class extends g{constructor(t,n){const s=new e(n);super({transform(e,t){t.enqueue(s.append(e))},flush(e){const t=s.flush();t&&e.enqueue(t)}})}}}}const z=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;z[e]=t}class D{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,s=0|e.length;s>n;n++)t=t>>>8^z[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class C extends g{constructor(){let e;const t=new D;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new a(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const x={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],s=x.getPartial(n);return 32===s?e.concat(t):x._shiftRight(t,s,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+x.getPartial(n)},clamp(e,t){if(32*e.length0&&t&&(e[n-1]=x.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(n),n=0;if(0===t)return s.concat(e);for(let r=0;r>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=x.getPartial(r);return s.push(x.partial(t+a&31,t+a>32?n:s.pop(),1)),s}},I={bytes:{fromBits(e){const t=x.bitLength(e)/8,n=new a(t);let s;for(let r=0;t>r;r++)3&r||(s=e[r/4]),n[r]=s>>>24,s<<=8;return n},toBits(e){const t=[];let n,s=0;for(n=0;n9007199254740991)throw new r("Cannot hash more than 2^53 - 1 bits");const i=new o(n);let l=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);a>=e;e+=t.blockSize)t._block(i.subarray(16*l,16*(l+1))),l+=1;return n.splice(0,16*l),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=x.concat(t,[x.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,s){return e>19?e>39?e>59?e>79?void 0:t^n^s:t&n|t&s|n&s:t^n^s:t&n|~t&s}_S(e,t){return t<>>32-e}_block(t){const n=this,r=n._h,a=e(80);for(let e=0;16>e;e++)a[e]=t[e];let i=r[0],o=r[1],l=r[2],c=r[3],h=r[4];for(let e=0;79>=e;e++){16>e||(a[e]=n._S(1,a[e-3]^a[e-8]^a[e-14]^a[e-16]));const t=n._S(5,i)+n._f(e,o,l,c)+h+a[e]+n._key[s.floor(e/20)]|0;h=c,c=l,l=n._S(30,o),o=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+o|0,r[2]=r[2]+l|0,r[3]=r[3]+c|0,r[4]=r[4]+h|0}},A={getRandomValues(e){const t=new o(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(s.random()>.5?1:-1))};for(let r,a=0;anew q.hmacSha1(I.bytes.toBits(e)),pbkdf2(e,t,n,s){if(n=n||1e4,0>s||0>n)throw new r("invalid params to pbkdf2");const a=1+(s>>5)<<2;let i,o,l,c,f;const u=new ArrayBuffer(a),p=new h(u);let d=0;const g=x;for(t=I.bytes.toBits(t),f=1;(a||1)>d;f++){for(i=o=e.encrypt(g.concat(t,[f])),l=1;n>l;l++)for(o=e.encrypt(o),c=0;cd&&lr&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)s[0][t]=909522486^e[t],s[1][t]=1549556828^e[t];t._baseHash[0].update(s[0]),t._baseHash[1].update(s[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new r("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},R=typeof p!=_&&typeof p.getRandomValues==S,H="Invalid password",P="Invalid signature",B="zipjs-abort-check-password";function K(e){return R?p.getRandomValues(e):A.getRandomValues(e)}const V=16,E={name:"PBKDF2"},U=t.assign({hash:{name:"HMAC"}},E),W=t.assign({iterations:1e3,hash:{name:"SHA-1"}},E),M=["deriveBits"],N=[8,12,16],O=[16,24,32],F=10,L=[0,0,0,0],j=typeof p!=_,G=j&&p.subtle,X=j&&typeof G!=_,J=I.bytes,Q=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],s=t._tables[1],a=e.length;let i,o,l,c=1;if(4!==a&&6!==a&&8!==a)throw new r("invalid aes key size");for(t._key=[o=e.slice(0),l=[]],i=a;4*a+28>i;i++){let e=o[i-1];(i%a==0||8===a&&i%a==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%a==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),o[i]=o[i-a]^e}for(let e=0;i;e++,i--){const t=o[3&e?i:i-4];l[e]=4>=i||4>e?t:s[0][n[t>>>24]]^s[1][n[t>>16&255]]^s[2][n[t>>8&255]]^s[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],s=t[4],r=[],a=[];let i,o,l,c;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let h=i=0;!n[h];h^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[h]=a,s[a]=h,c=r[l=r[o=r[h]]];let f=16843009*c^65537*l^257*o^16843008*h,u=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][h]=u=u<<24^u>>>8,t[n][a]=f=f<<24^f>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new r("invalid aes block size");const n=this._key[t],s=n.length/4-2,a=[0,0,0,0],i=this._tables[t],o=i[0],l=i[1],c=i[2],h=i[3],f=i[4];let u,p,d,g=e[0]^n[0],w=e[t?3:1]^n[1],y=e[2]^n[2],v=e[t?1:3]^n[3],b=4;for(let e=0;s>e;e++)u=o[g>>>24]^l[w>>16&255]^c[y>>8&255]^h[255&v]^n[b],p=o[w>>>24]^l[y>>16&255]^c[v>>8&255]^h[255&g]^n[b+1],d=o[y>>>24]^l[v>>16&255]^c[g>>8&255]^h[255&w]^n[b+2],v=o[v>>>24]^l[g>>16&255]^c[w>>8&255]^h[255&y]^n[b+3],b+=4,g=u,w=p,y=d;for(let e=0;4>e;e++)a[t?3&-e:e]=f[g>>>24]<<24^f[w>>16&255]<<16^f[y>>8&255]<<8^f[255&v]^n[b++],u=g,g=w,w=y,y=v,v=u;return a}},Y=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,s=255&e;255===t?(t=0,255===n?(n=0,255===s?s=0:++s):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let s;if(!(s=t.length))return[];const r=x.bitLength(t);for(let r=0;s>r;r+=4){this.incCounter(n);const s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return x.clamp(t,r)}},Z=q.hmacSha1;let $=j&&X&&typeof G.importKey==S,ee=j&&X&&typeof G.deriveBits==S;class te extends g{constructor({password:e,rawPassword:n,signed:s,encryptionStrength:i,checkPasswordOnly:o}){super({start(){t.assign(this,{ready:new f((e=>this.resolveReady=e)),password:ae(e,n),signed:s,strength:i-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:i,resolveReady:l,ready:c}=n;s?(await(async(e,t,n,s)=>{const a=await re(e,t,n,oe(s,0,N[t])),i=oe(s,N[t]);if(a[0]!=i[0]||a[1]!=i[1])throw new r(H)})(n,i,s,oe(e,0,N[i]+2)),e=oe(e,N[i]+2),o?t.error(new r(B)):l()):await c;const h=new a(e.length-F-(e.length-F)%V);t.enqueue(se(n,e,h,0,F,!0))},async flush(e){const{signed:t,ctr:n,hmac:s,pending:i,ready:o}=this;if(s&&n){await o;const l=oe(i,0,i.length-F),c=oe(i,i.length-F);let h=new a;if(l.length){const e=ce(J,l);s.update(e);const t=n.update(e);h=le(J,t)}if(t){const e=oe(le(J,s.digest()),0,F);for(let t=0;F>t;t++)if(e[t]!=c[t])throw new r(P)}e.enqueue(h)}}})}}class ne extends g{constructor({password:e,rawPassword:n,encryptionStrength:s}){let r;super({start(){t.assign(this,{ready:new f((e=>this.resolveReady=e)),password:ae(e,n),strength:s-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:r,resolveReady:i,ready:o}=n;let l=new a;s?(l=await(async(e,t,n)=>{const s=K(new a(N[t]));return ie(s,await re(e,t,n,s))})(n,r,s),i()):await o;const c=new a(l.length+e.length-e.length%V);c.set(l,0),t.enqueue(se(n,e,c,l.length,0))},async flush(e){const{ctr:t,hmac:n,pending:s,ready:i}=this;if(n&&t){await i;let o=new a;if(s.length){const e=t.update(ce(J,s));n.update(e),o=le(J,e)}r.signature=le(J,n.digest()).slice(0,F),e.enqueue(ie(o,r.signature))}}}),r=this}}function se(e,t,n,s,r,i){const{ctr:o,hmac:l,pending:c}=e,h=t.length-r;let f;for(c.length&&(t=ie(c,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new a(t)).set(n,0)}return e})(n,h-h%V)),f=0;h-V>=f;f+=V){const e=ce(J,oe(t,f,f+V));i&&l.update(e);const r=o.update(e);i||l.update(r),n.set(le(J,r),f+s)}return e.pending=oe(t,f),n}async function re(n,s,r,i){n.password=null;const o=await(async(e,t,n,s,r)=>{if(!$)return q.importKey(t);try{return await G.importKey("raw",t,n,!1,r)}catch(e){return $=!1,q.importKey(t)}})(0,r,U,0,M),l=await(async(e,t,n)=>{if(!ee)return q.pbkdf2(t,e.salt,W.iterations,n);try{return await G.deriveBits(e,t,n)}catch(s){return ee=!1,q.pbkdf2(t,e.salt,W.iterations,n)}})(t.assign({salt:i},W),o,8*(2*O[s]+2)),c=new a(l),h=ce(J,oe(c,0,O[s])),f=ce(J,oe(c,O[s],2*O[s])),u=oe(c,2*O[s]);return t.assign(n,{keys:{key:h,authentication:f,passwordVerification:u},ctr:new Y(new Q(h),e.from(L)),hmac:new Z(f)}),u}function ae(e,t){return t===m?(e=>{if(typeof u==_){const t=new a((e=unescape(encodeURIComponent(e))).length);for(let n=0;n>>24]),a=~e.crcKey2.get(),e.keys=[n,r,a]}function we(e){const t=2|e.keys[2];return ye(s.imul(t,1^t)>>>8)}function ye(e){return 255&e}function ve(e){return 4294967295&e}const be="deflate-raw";class me extends g{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:s}){super({});const{compressed:r,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:l,level:c}=e,f=this;let u,p,d=Se(super.readable);a&&!o||!l||(u=new C,d=De(d,u)),r&&(d=ze(d,i,{level:c,chunkSize:t},s,n)),a&&(o?d=De(d,new fe(e)):(p=new ne(e),d=De(d,p))),ke(f,d,(()=>{let e;a&&!o&&(e=p.signature),a&&!o||!l||(e=new h(u.value.buffer).getUint32(0)),f.signature=e}))}}class _e extends g{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:s}){super({});const{zipCrypto:a,encrypted:i,signed:o,signature:l,compressed:c,useCompressionStream:f}=e;let u,p,d=Se(super.readable);i&&(a?d=De(d,new he(e)):(p=new te(e),d=De(d,p))),c&&(d=ze(d,f,{chunkSize:t},s,n)),i&&!a||!o||(u=new C,d=De(d,u)),ke(this,d,(()=>{if((!i||a)&&o){const e=new h(u.value.buffer);if(l!=e.getUint32(0,!1))throw new r(P)}}))}}function Se(e){return De(e,new g({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ke(e,n,s){n=De(n,new g({flush:s})),t.defineProperty(e,"readable",{get:()=>n})}function ze(e,t,n,s,r){try{e=De(e,new(t&&s?s:r)(be,n))}catch(s){if(!t)return e;try{e=De(e,new r(be,n))}catch(t){return e}}return e}function De(e,t){return e.pipeThrough(t)}const Ce="data",xe="close";class Ie extends g{constructor(e,n){super({});const s=this,{codecType:r}=e;let a;r.startsWith("deflate")?a=me:r.startsWith("inflate")&&(a=_e);let i=0,o=0;const l=new a(e,n),c=super.readable,h=new g({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){t.assign(s,{inputSize:o})}}),f=new g({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;t.assign(s,{signature:e,outputSize:i,inputSize:o})}});t.defineProperty(s,"readable",{get:()=>c.pipeThrough(h).pipeThrough(l).pipeThrough(f)})}}class Te extends g{constructor(e){let t;super({transform:function n(s,r){if(t){const e=new a(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(r.enqueue(s.slice(0,e)),n(s.slice(e),r)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}const Ae=new c,qe=new c;let Re,He=0,Pe=!0;async function Be(e){try{const{options:t,scripts:s,config:r}=e;if(s&&s.length)try{Pe?importScripts.apply(m,s):await Ke(s)}catch(e){Pe=!1,await Ke(s)}self.initCodec&&self.initCodec(),r.CompressionStreamNative=self.CompressionStream,r.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(r.CompressionStream=new k(self.Deflate)),self.Inflate&&(r.DecompressionStream=new k(self.Inflate));const a={highWaterMark:1},i=e.readable||new w({async pull(e){const t=new f((e=>Ae.set(He,e)));Ve({type:"pull",messageId:He}),He=(He+1)%n.MAX_SAFE_INTEGER;const{value:s,done:r}=await t;e.enqueue(s),r&&e.close()}},a),o=e.writable||new y({async write(e){let t;const s=new f((e=>t=e));qe.set(He,t),Ve({type:Ce,value:e,messageId:He}),He=(He+1)%n.MAX_SAFE_INTEGER,await s}},a),l=new Ie(t,r);Re=new AbortController;const{signal:c}=Re;await i.pipeThrough(l).pipeThrough(new Te(r.chunkSize)).pipeTo(o,{signal:c,preventClose:!0,preventAbort:!0}),await o.getWriter().close();const{signature:h,inputSize:u,outputSize:p}=l;Ve({type:xe,result:{signature:h,inputSize:u,outputSize:p}})}catch(e){Ee(e)}}async function Ke(e){for(const t of e)await import(t)}function Ve(e){let{value:t}=e;if(t)if(t.length)try{t=new a(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function Ee(e=new r("Unknown error")){const{message:t,stack:n,code:s,name:a}=e;d({error:{message:t,stack:n,code:s,name:a}})}addEventListener("message",(({data:e})=>{const{type:t,messageId:n,value:s,done:r}=e;try{if("start"==t&&Be(e),t==Ce){const e=Ae.get(n);Ae.delete(n),e({value:new a(s),done:r})}if("ack"==t){const e=qe.get(n);qe.delete(n),e()}t==xe&&Re.abort()}catch(e){Ee(e)}}));var Ue=a,We=i,Me=l,Ne=new Ue([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Oe=new Ue([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Fe=new Ue([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Le=(e,t)=>{for(var n=new We(31),s=0;31>s;++s)n[s]=t+=1<s;++s)for(var a=n[s];a$e;++$e){var et=(43690&$e)>>1|(21845&$e)<<1;et=(61680&(et=(52428&et)>>2|(13107&et)<<2))>>4|(3855&et)<<4,Ze[$e]=((65280&et)>>8|(255&et)<<8)>>1}var tt=(e,t,n)=>{for(var s=e.length,r=0,a=new We(t);s>r;++r)e[r]&&++a[e[r]-1];var i,o=new We(t);for(r=1;t>r;++r)o[r]=o[r-1]+a[r-1]<<1;if(n){i=new We(1<r;++r)if(e[r])for(var c=r<<4|e[r],h=t-e[r],f=o[e[r]-1]++<=f;++f)i[Ze[f]>>l]=c}else for(i=new We(s),r=0;s>r;++r)e[r]&&(i[r]=Ze[o[e[r]-1]++]>>15-e[r]);return i},nt=new Ue(288);for($e=0;144>$e;++$e)nt[$e]=8;for($e=144;256>$e;++$e)nt[$e]=9;for($e=256;280>$e;++$e)nt[$e]=7;for($e=280;288>$e;++$e)nt[$e]=8;var st=new Ue(32);for($e=0;32>$e;++$e)st[$e]=5;var rt=tt(nt,9,0),at=tt(nt,9,1),it=tt(st,5,0),ot=tt(st,5,1),lt=e=>{for(var t=e[0],n=1;nt&&(t=e[n]);return t},ct=(e,t,n)=>{var s=t/8|0;return(e[s]|e[s+1]<<8)>>(7&t)&n},ht=(e,t)=>{var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},ft=e=>(e+7)/8|0,ut=(e,t,n)=>((null==t||0>t)&&(t=0),(null==n||n>e.length)&&(n=e.length),new Ue(e.subarray(t,n))),pt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],dt=(e,t,n)=>{var s=new r(t||pt[e]);if(s.code=e,r.captureStackTrace&&r.captureStackTrace(s,dt),!n)throw s;return s},gt=(e,t,n)=>{n<<=7&t;var s=t/8|0;e[s]|=n,e[s+1]|=n>>8},wt=(e,t,n)=>{n<<=7&t;var s=t/8|0;e[s]|=n,e[s+1]|=n>>8,e[s+2]|=n>>16},yt=(e,t)=>{for(var n=[],s=0;se.f-t.f)),n.push({s:-1,f:25001});var o=n[0],l=n[1],c=0,h=1,f=2;for(n[0]={s:-1,f:o.f+l.f,l:o,r:l};h!=r-1;)o=n[n[c].fs;++s)a[s].s>u&&(u=a[s].s);var p=new We(u+1),d=vt(n[h-1],p,0);if(d>t){s=0;var g=0,w=d-t,y=1<p[t.s]-p[e.s]||e.f-t.f));r>s;++s){var v=a[s].s;if(p[v]<=t)break;g+=y-(1<>=w;g>0;){var b=a[s].s;p[b]=0&&g;--s){var m=a[s].s;p[m]==t&&(--p[m],++g)}d=t}return{t:new Ue(p),l:d}},vt=(e,t,n)=>-1==e.s?s.max(vt(e.l,t,n+1),vt(e.r,t,n+1)):t[e.s]=n,bt=e=>{for(var t=e.length;t&&!e[--t];);for(var n=new We(++t),s=0,r=e[0],a=1,i=e=>{n[s++]=e},o=1;t>=o;++o)if(e[o]==r&&o!=t)++a;else{if(!r&&a>2){for(;a>138;a-=138)i(32754);a>2&&(i(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(i(r),--a;a>6;a-=6)i(8304);a>2&&(i(a-3<<5|8208),a=0)}for(;a--;)i(r);a=1,r=e[o]}return{c:n.subarray(0,s),n:t}},mt=(e,t)=>{for(var n=0,s=0;s{var s=n.length,r=ft(t+2);e[r]=255&s,e[r+1]=s>>8,e[r+2]=255^e[r],e[r+3]=255^e[r+1];for(var a=0;s>a;++a)e[r+a+4]=n[a];return 8*(r+4+s)},St=(e,t,n,s,r,a,i,o,l,c,h)=>{gt(t,h++,n),++r[256];for(var f=yt(r,15),u=f.t,p=f.l,d=yt(a,15),g=d.t,w=d.l,y=bt(u),v=y.c,b=y.n,m=bt(g),_=m.c,S=m.n,k=new We(19),z=0;z4&&!C[Fe[I-1]];--I);var T,A,q,R,H=c+5<<3,P=mt(r,nt)+mt(a,st)+i,B=mt(r,u)+mt(a,g)+i+14+3*I+mt(k,C)+2*k[16]+3*k[17]+7*k[18];if(l>=0&&P>=H&&B>=H)return _t(t,h,e.subarray(l,l+c));if(gt(t,h,1+(P>B)),h+=2,P>B){T=tt(u,p,0),A=u,q=tt(g,w,0),R=g;var K=tt(C,x,0);for(gt(t,h,b-257),gt(t,h+5,S-1),gt(t,h+10,I-4),h+=14,z=0;I>z;++z)gt(t,h+3*z,C[Fe[z]]);h+=3*I;for(var V=[v,_],E=0;2>E;++E){var U=V[E];for(z=0;z15&&(gt(t,h,U[z]>>5&127),h+=U[z]>>12)}}}else T=rt,A=nt,q=it,R=st;for(z=0;o>z;++z){var M=s[z];if(M>255){wt(t,h,T[257+(W=M>>18&31)]),h+=A[W+257],W>7&&(gt(t,h,M>>23&31),h+=Ne[W]);var N=31&M;wt(t,h,q[N]),h+=R[N],N>3&&(wt(t,h,M>>5&8191),h+=Oe[N])}else wt(t,h,T[M]),h+=A[M]}return wt(t,h,T[256]),h+A[256]},kt=new Me([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),zt=new Ue(0),Dt=function(){function e(e,t){if("function"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new Ue(98304),this.o.dictionary){var n=this.o.dictionary.subarray(-32768);this.b.set(n,32768-n.length),this.s.i=32768-n.length}}return e.prototype.p=function(e,t){this.ondata(((e,t,n,r,a)=>{if(!a&&(a={l:1},t.dictionary)){var i=t.dictionary.subarray(-32768),o=new Ue(i.length+e.length);o.set(i),o.set(e,i.length),e=o,a.w=i.length}return((e,t,n,r,a,i)=>{var o=i.z||e.length,l=new Ue(0+o+5*(1+s.ceil(o/7e3))+0),c=l.subarray(0,l.length-0),h=i.l,f=7&(i.r||0);if(t){f&&(c[0]=i.r>>3);for(var u=kt[t-1],p=u>>13,d=8191&u,g=(1<(e[t]^e[t+1]<C+2;++C){var A=m(C),q=32767&C,R=y[A];if(w[q]=R,y[A]=q,C>=I){var H=o-C;if((z>7e3||x>24576)&&(H>423||!h)){f=St(e,c,0,_,S,k,D,x,T,C-T,f),x=z=D=0,T=C;for(var P=0;286>P;++P)S[P]=0;for(P=0;30>P;++P)k[P]=0}var B=2,K=0,V=d,E=q-R&32767;if(H>2&&A==m(C-E))for(var U=s.min(p,H)-1,W=s.min(32767,C),M=s.min(258,H);W>=E&&--V&&q!=R;){if(e[C+B]==e[C+B-E]){for(var N=0;M>N&&e[C+N]==e[C+N-E];++N);if(N>B){if(B=N,K=E,N>U)break;var O=s.min(E,N-2),F=0;for(P=0;O>P;++P){var L=C-E+P&32767,j=L-w[L]&32767;j>F&&(F=j,R=L)}}}E+=(q=R)-(R=w[q])&32767}if(K){_[x++]=268435456|Xe[B]<<18|Ye[K];var G=31&Xe[B],X=31&Ye[K];D+=Ne[G]+Oe[X],++S[257+G],++k[X],I=C+B,++z}else _[x++]=e[C],++S[e[C]]}}for(C=s.max(C,I);o>C;++C)_[x++]=e[C],++S[e[C]];f=St(e,c,h,_,S,k,D,x,T,C-T,f),h||(i.r=7&f|c[f/8|0]<<3,f-=7,i.h=y,i.p=w,i.i=C,i.w=I)}else{for(C=i.w||0;o+h>C;C+=65535){var J=C+65535;o>J||(c[f/8|0]=h,J=o),f=_t(c,f+1,e.subarray(C,J))}i.i=o}return ut(l,0,0+ft(f)+0)})(e,null==t.level?6:t.level,null==t.mem?a.l?s.ceil(1.5*s.max(8,s.min(13,s.log(e.length)))):20:12+t.mem,0,0,a)})(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||dt(5),this.s.l&&dt(4);var n=e.length+this.s.z;if(n>this.b.length){if(n>2*this.b.length-32768){var s=new Ue(-32768&n);s.set(this.b.subarray(0,this.s.z)),this.b=s}var r=this.b.length-this.s.z;this.b.set(e.subarray(0,r),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(r),32768),this.s.z=e.length-r+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2)},e.prototype.flush=function(){this.ondata||dt(5),this.s.l&&dt(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},e}(),Ct=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.ondata=t;var n=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:n?n.length:0},this.o=new Ue(32768),this.p=new Ue(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||dt(5),this.d&&dt(4),this.p.length){if(e.length){var t=new Ue(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=((e,t,n)=>{var r=e.length;if(!r||t.f&&!t.l)return n||new Ue(0);var a=!n,i=a||2!=t.i,o=t.i;a&&(n=new Ue(3*r));var l=e=>{var t=n.length;if(e>t){var r=new Ue(s.max(2*t,e));r.set(n),n=r}},c=t.f||0,h=t.p||0,f=t.b||0,u=t.l,p=t.d,d=t.m,g=t.n,w=8*r;do{if(!u){c=ct(e,h,1);var y=ct(e,h+1,3);if(h+=3,!y){var v=e[(T=ft(h)+4)-4]|e[T-3]<<8,b=T+v;if(b>r){o&&dt(0);break}i&&l(f+v),n.set(e.subarray(T,b),f),t.b=f+=v,t.p=h=8*b,t.f=c;continue}if(1==y)u=at,p=ot,d=9,g=5;else if(2==y){var m=ct(e,h,31)+257,_=ct(e,h+10,15)+4,S=m+ct(e,h+5,31)+1;h+=14;for(var k=new Ue(S),z=new Ue(19),D=0;_>D;++D)z[Fe[D]]=ct(e,h+3*D,7);h+=3*_;var C=lt(z),x=(1<D;){var T,A=I[ct(e,h,x)];if(h+=15&A,16>(T=A>>4))k[D++]=T;else{var q=0,R=0;for(16==T?(R=3+ct(e,h,3),h+=2,q=k[D-1]):17==T?(R=3+ct(e,h,7),h+=3):18==T&&(R=11+ct(e,h,127),h+=7);R--;)k[D++]=q}}var H=k.subarray(0,m),P=k.subarray(m);d=lt(H),g=lt(P),u=tt(H,d,1),p=tt(P,g,1)}else dt(1);if(h>w){o&&dt(0);break}}i&&l(f+131072);for(var B=(1<>4;if((h+=15&q)>w){o&&dt(0);break}if(q||dt(2),256>E)n[f++]=E;else{if(256==E){V=h,u=null;break}var U=E-254;if(E>264){var W=Ne[D=E-257];U=ct(e,h,(1<>4;if(M||dt(3),h+=15&M,P=Qe[N],N>3&&(W=Oe[N],P+=ht(e,h)&(1<w){o&&dt(0);break}i&&l(f+131072);var O=f+U;if(P>f){var F=0-P,L=s.min(P,O);for(0>F+f&&dt(3);L>f;++f)n[f]=(void 0)[F+f]}for(;O>f;++f)n[f]=n[f-P]}}t.l=u,t.p=V,t.b=f,t.f=c,u&&(c=1,t.m=d,t.d=p,t.n=g)}while(!c);return f!=n.length&&a?ut(n,0,f):n.subarray(0,f)})(this.p,this.s,this.o);this.ondata(ut(n,t,this.s.b),this.d),this.o=ut(n,this.s.b-32768),this.s.b=this.o.length,this.p=ut(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),xt="undefined"!=typeof TextDecoder&&new TextDecoder;try{xt.decode(zt,{stream:!0})}catch(e){}function It(e,n,s){return class{constructor(r){const i=this;var o,l;o=r,l="level",(typeof t.hasOwn===S?t.hasOwn(o,l):o.hasOwnProperty(l))&&r.level===m&&delete r.level,i.codec=new e(t.assign({},n,r)),s(i.codec,(e=>{if(i.pendingData){const t=i.pendingData;i.pendingData=new a(t.length+e.length);const{pendingData:n}=i;n.set(t,0),n.set(e,t.length)}else i.pendingData=new a(e)}))}append(e){return this.codec.push(e),r(this)}flush(){return this.codec.push(new a,!0),r(this)}};function r(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new a}}const{Deflate:Tt,Inflate:At}=((e,t={},n)=>({Deflate:It(e.Deflate,t.deflate,n),Inflate:It(e.Inflate,t.inflate,n)}))({Deflate:Dt,Inflate:Ct},m,((e,t)=>e.ondata=t));self.initCodec=()=>{self.Deflate=Tt,self.Inflate=At};\n'],{type:"text/javascript"}));n({workerScripts:{inflate:[e],deflate:[e]}})}(an);var Oa=Object.freeze({__proto__:null,BlobReader:Ke,BlobWriter:Je,Data64URIReader:class extends Ge{constructor(n){super();let e=n.length;for(;"="==n.charAt(e-1);)e--;const t=n.indexOf(",")+1;a.assign(this,{dataURI:n,dataStart:t,size:s.floor(.75*(e-t))})}readUint8Array(n,e){const{dataStart:t,dataURI:a}=this,o=new u(e),i=4*s.floor(n/3),r=atob(a.substring(i+t,4*s.ceil((n+e)/3)+t)),l=n-3*s.floor(i/4);for(let n=l;n2?e.data+=j(a):e.pending=a}getData(){return this.data+j(this.pending)}},ERR_BAD_FORMAT:qt,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Gt,ERR_DUPLICATED_NAME:ga,ERR_ENCRYPTED:Jt,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Wt,ERR_EOCDR_NOT_FOUND:Ht,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Kt,ERR_HTTP_RANGE:_e,ERR_INVALID_COMMENT:wa,ERR_INVALID_ENCRYPTION_STRENGTH:ka,ERR_INVALID_ENTRY_COMMENT:ba,ERR_INVALID_ENTRY_NAME:fa,ERR_INVALID_EXTRAFIELD_DATA:Sa,ERR_INVALID_EXTRAFIELD_TYPE:va,ERR_INVALID_PASSWORD:yn,ERR_INVALID_SIGNATURE:kn,ERR_INVALID_VERSION:ya,ERR_ITERATOR_COMPLETED_TOO_SOON:Be,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Vt,ERR_SPLIT_ZIP_FILE:$t,ERR_UNSUPPORTED_COMPRESSION:Zt,ERR_UNSUPPORTED_ENCRYPTION:Yt,ERR_UNSUPPORTED_FORMAT:ja,HttpRangeReader:class extends ct{constructor(n,e={}){e.useRangeHeader=!0,super(n,e)}},HttpReader:ct,Reader:Ge,SplitDataReader:mt,SplitDataWriter:ht,SplitZipReader:bt,SplitZipWriter:ft,TextReader:Ye,TextWriter:class extends Je{constructor(n){super(n),a.assign(this,{encoding:n,utf8:!n||"utf-8"==n.toLowerCase()})}async getData(){const{encoding:n,utf8:e}=this,t=await super.getData();if(t.text&&e)return t.text();{const e=new FileReader;return new y((o,i)=>{a.assign(e,{onload:({target:n})=>o(n.result),onerror:()=>i(e.error)}),e.readAsText(t,n)})}}},Uint8ArrayReader:class extends Ge{constructor(n){super(),a.assign(this,{array:n,size:n.length})}readUint8Array(n,e){return this.array.slice(n,n+e)}},Uint8ArrayWriter:dt,Writer:Ve,ZipReader:ta,ZipReaderStream:class{constructor(n={}){const{readable:e,writable:t}=new x,a=new ta(e,n).getEntriesGenerator();this.readable=new C({async pull(n){const{done:e,value:t}=await a.next();if(e)return n.close();const o={...t,readable:function(){const{readable:n,writable:e}=new x;if(t.getData)return t.getData(e),n}()};delete o.getData,n.enqueue(o)}}),this.writable=t}},ZipWriter:La,ZipWriterStream:class{constructor(n={}){const{readable:e,writable:t}=new x;this.readable=e,this.zipWriter=new La(t,n)}transform(n){const{readable:e,writable:t}=new x({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(n,e),{readable:this.readable,writable:t}}writable(n){const{readable:e,writable:t}=new x;return this.zipWriter.add(n,e),t}close(n=void 0,e={}){return this.zipWriter.close(n,e)}},configure:an,getMimeType:function(){return"application/octet-stream"},initReader:ut,initShimAsyncCodec:function(n,e={},t){return{Deflate:rn(n.Deflate,e.deflate,t),Inflate:rn(n.Inflate,e.inflate,t)}},initStream:pt,initWriter:gt,readUint8Array:wt,terminateWorkers:async function(){await y.allSettled(Re.map(n=>(Pe(n),n.terminate())))}});async function Fa(n,{password:e,prompt:t=()=>{},zipOptions:a={useWebWorkers:!1},noBlobURL:o}={}){const i={gif:"image/gif",jpg:"image/jpeg",png:"image/png",tif:"image/tiff",tiff:"image/tiff",bmp:"image/bmp",ico:"image/vnd.microsoft.icon",webp:"image/webp",svg:"image/svg+xml",avi:"video/x-msvideo",ogv:"video/ogg",mp4:"video/mp4",mpeg:"video/mpeg",ts:"video/mp2t",webm:"video/webm","3gp":"video/3gpp","3g2":"video/3gpp",mp3:"audio/mpeg",oga:"audio/ogg",mid:"audio/midi",midi:"audio/midi",opus:"audio/opus",wav:"audio/wav",weba:"audio/webm",heif:"image/heif",heic:"image/heic",avif:"image/avif",apng:"image/apng",mov:"video/quicktime",otf:"font/otf",ttf:"font/ttf",woff:"font/woff",woff2:"font/woff2",eot:"application/vnd.ms-fontobject",pdf:"application/pdf"},r=/stylesheet_[0-9]+\.css/,s=/scripts\/[0-9]+\.js/,l=/^([0-9_]+\/)?index\.html$/,c=/index\.html$/,d=/frames\//,m=/^frames\/\d+\/index.html/,h=/manifest\.json$/,p=";charset=utf-8",u=/([{}()^$&.*?/+|[\\\\]|\]|-)/g;Array.isArray(n)&&(n=new Blob([new Uint8Array(n)])),zip.configure(a);const g=new zip.BlobReader(n),w=new zip.ZipReader(g),b=await w.getEntries(),f={password:e};let y,k,v,S=[],j=[],x=[];await Promise.all(b.map(async n=>{const{filename:e}=n;let a,l,m,h;const u={};if(!f.password&&n.encrypted&&(f.password=t("Please enter the password to view the page")),e.match(c)||e.match(r)||e.match(s))e.match(c)?j.push(u):x.push(u),a=new zip.TextWriter,m=await n.getData(a,f),e.match(c)?h="text/html"+p:e.match(r)?h="text/css"+p:e.match(s)&&(h="text/javascript"+p);else{S.push(u);const t=e.match(/\.([^.]+)/);if(h=t&&t[1]&&i[t[1]]?i[t[1]]:"application/octet-stream",e.match(d)||o)l=await n.getData(new zip.Data64URIWriter(h),f);else{const e=await n.getData(new zip.BlobWriter(h),f);l=URL.createObjectURL(e)}}const g=n.filename.match(/^([0-9_]+\/)?(.*)$/)[2];let w="";const b=e.match(/(.*\/)[^/]+$/);b&&b[1]&&(w=b[1]),Object.assign(u,{prefixPath:w,filename:n.filename,name:g,url:n.comment,content:l,mimeType:h,textContent:m,parentResources:[]})})),await w.close(),j.sort(L),x.sort(function(n,e){const t=n.filename.length-e.filename.length;return t||n.filename.localeCompare(e.filename)}),S=S.sort(L).concat(...x).concat(...j);for(const n of S){const{filename:e,prefixPath:t}=n;let{textContent:a}=n;void 0!==a&&(e.match(l)&&(k=a),e.match(s)||(S.forEach(e=>{const{filename:o,parentResources:i,content:r}=e;if(o.startsWith(t)&&o!=n.filename){const s=o.substring(t.length);s.match(h)||a.includes(s)&&(i.push(n.filename),void 0===e.textContent&&(a=A(a,s,r)))}}),n.textContent=a))}for(const n of S){let{textContent:e,prefixPath:t,filename:a}=n;if(void 0!==e){if(!a.match(s)){const o=a;for(const n of S){const{filename:a}=n;if(a.startsWith(t)&&a!=o){const o=a.substring(t.length);if(!o.match(h)){-1!=e.indexOf(o)&&(n.content=await C(n),e=A(e,o,n.content))}}}n.textContent=e,n.content=await C(n)}a.match(l)&&(y=e,v=n.url)}}return{docContent:y,origDocContent:k,resources:S,url:v};async function C(n){return n.filename.match(d)&&!n.filename.match(m)||o?await async function(n,e){const t=new FileReader;return t.readAsDataURL(new Blob([n],{type:e})),new Promise((n,e)=>{t.onload=()=>n(t.result.replace(p,"")),t.onerror=e})}(n.textContent,n.mimeType):URL.createObjectURL(new Blob([n.textContent],{type:n.mimeType}))}function A(n,e,t){if("function"==typeof n.replaceAll)return n.replaceAll(e,t);{const a=new RegExp(e.replace(u,"\\$1"),"g");return n.replace(a,t)}}function L(n,e){const t=e.filename.length-n.filename.length;return t||e.filename.localeCompare(n.filename)}}async function Ua(n,e,{disableFramePointerEvents:t}={}){e=(e=e.replace(/