@missing-elements/h5p-offline-player 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/h5p-sw.js CHANGED
@@ -1,88 +1,22 @@
1
- "use strict";(()=>{var lp=Object.defineProperty;var se=(t,e)=>()=>(t&&(e=t(t=0)),e);var fp=(t,e)=>{for(var r in e)lp(t,r,{get:e[r],enumerable:!0})};var Zr,bt,w,Wt,ye,K,jn,Ye,yc,ki,j,Zn,ue=se(()=>{Zr=new Date(2107,11,31,23,59,58),bt=new Date(1980,0,1),w=void 0,Wt=1/0,ye="undefined",K="function",jn="object",Ye="string",yc="number",ki="boolean",j=new Uint8Array,Zn=Symbol.asyncDispose||Symbol()});function Er(t){if(t&&typeof t!=K)throw new Error(tl);return t}function Qr(t){if(t&&(typeof t.addEventListener!=K||typeof t.aborted!=ki))throw new Error(rl);return t||w}function Vt(t){if(t&&t.aborted)throw t.reason===w?new DOMException(sl,up):t.reason}function as(t,e){if(t&&typeof t!=Ye||e&&!(e instanceof Uint8Array))throw new Error(Wi)}function mr(t){if(t!==w&&typeof t!=ki&&t!==Jr)throw new Error(nl);return t}function Gi(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function hr(t,e,r){t!==w&&Gi(t,e,r)}function Ot(t){return typeof t==Ye&&t.trim()?Number(t):t}var Sc,Ic,bc,Nc,Oc,Kn,qn,Kr,Jn,Dc,Pc,xc,Cc,Lc,Fc,Uc,Mc,vc,Qn,$n,es,ts,kc,Bc,zc,Hc,rs,Yc,Wc,Gc,Bi,zi,Vc,Xc,qr,Gt,jc,Zc,Kc,qc,Jc,Qc,Hi,$c,el,Yi,ns,ss,Nt,is,it,Jr,tl,rl,Wi,nl,sl,up,gr=se(()=>{ue();Sc="filenameEncoding",Ic="commentEncoding",bc="decodeText",Nc="extractPrependedData",Oc="extractAppendedData",Kn="password",qn="rawPassword",Kr="passThrough",Jn="signal",Dc="checkPasswordOnly",Pc="checkOverlappingEntryOnly",xc="checkOverlappingEntry",Cc="checkAmbiguity",Lc="checkLocalDirectory",Fc="checkLocalFilename",Uc="checkSignature",Mc="checkCrc32",vc="checkAuthenticationCode",Qn="useWebWorkers",$n="useCompressionStream",es="transferStreams",ts="preventClose",kc="encryptionStrength",Bc="extendedTimestamp",zc="ntfsTimestamp",Hc="keepOrder",rs="level",Yc="bufferedWrite",Wc="createTempStream",Gc="dataDescriptorSignature",Bi="useUnicodeFileNames",zi="dataDescriptor",Vc="supportZip64SplitFile",Xc="encodeText",qr="offset",Gt="usdz",jc="unixExtraFieldType",Zc="localExtraField",Kc="centralExtraField",qc="strictness",Jc="filenameValidation",Qc="normalizeFilename",Hi="maxAppendedDataSize",$c="decryptCentralDirectory",el="signCentralDirectory",Yi="entry",ns="filename",ss="comment",Nt="strict",is="balanced",it="tolerant",Jr="compressed",tl="Invalid option (must be a function)",rl="Invalid signal (must be an AbortSignal instance)",Wi="Invalid password (password must be a string, rawPassword must be a Uint8Array)",nl="Invalid passThrough option (must be a boolean or 'compressed')",sl="The operation was aborted",up="AbortError"});function at(){return Vi}function $r(t){return Xi(t.chunkSize)}function Xi(t){return t=Ot(t),Number.isInteger(t)&&t>=al?Math.max(t,dp):il}function ji(t){Object.assign(Vi,gl(Rl(t)))}function gl(t){let e={};for(let r of Ep){let n=t[r];n!==w&&(e[r]=mp(r,n))}return e}function mp(t,e){if(ml.includes(t)){if(e=Ot(e),t==dl&&(!Number.isInteger(e)||e<al))throw new Error(ol)}else if(hl.includes(t))Er(e);else if(t==pl){if(e&&typeof e!=Ye)throw new Error(cl)}else if(El.includes(t)&&e&&typeof e!=Ye&&typeof e!=K)throw new Error(ll);return e}function Rl(t){t=t||{};let{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===w&&r===w)return t;let n=Object.assign({},t);return n.CompressionStreamFallback===w&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===w&&(n.DecompressionStreamFallback=r),n}function Dt(t){let e=gl(Rl(t));Object.assign(ul,e),Object.assign(Vi,e)}var il,dp,al,ol,cl,ll,fl,ul,dl,pl,El,pp,ml,hl,Ep,Vi,We=se(()=>{ue();gr();il=64*1024,dp=64,al=1,ol="Invalid maxWorkers (must be an integer greater than 0)",cl="Invalid baseURI (must be a string)",ll="Invalid URI (must be a string or a function returning a string)",fl=2;try{typeof navigator!=ye&&navigator.hardwareConcurrency&&(fl=navigator.hardwareConcurrency)}catch{}ul={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:il,maxWorkers:fl,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=ye&&CompressionStream,DecompressionStream:typeof DecompressionStream!=ye&&DecompressionStream},dl="maxWorkers",pl="baseURI",El=["wasmURI","workerURI"],pp=["useCompressionStream","useWebWorkers","transferStreams"],ml=["chunkSize",dl,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],hl=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ep=[pl,...El,...pp,...ml,...hl],Vi={...ul}});function Be(t,e){let r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function cs(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function L(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}var Pt=se(()=>{});function Re(t){return!!t&&typeof t=="object"}var Xt=se(()=>{});var en,_l,hp,gp,Rp,wp,_p,Tp,Ap,Ge,tn=se(()=>{en=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let r=0;r<8;r++)e=e&1?e>>>1^3988292384:e>>>1;en[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){let r=en[e-1][t];en[e][t]=r>>>8^en[0][r&255]}[_l,hp,gp,Rp,wp,_p,Tp,Ap]=en,Ge=class{constructor(e){this.crc=e||-1}append(e){let r=this.crc|0,n=e.length|0,s=0;if(n>=8&&e.buffer){let i=new DataView(e.buffer,e.byteOffset,n),a=n-8;for(;s<=a;s+=8){let o=r^i.getInt32(s,!0),c=i.getInt32(s+4,!0);r=Ap[o&255]^Tp[o>>>8&255]^_p[o>>>16&255]^wp[o>>>24&255]^Rp[c&255]^gp[c>>>8&255]^hp[c>>>16&255]^_l[c>>>24&255]}}for(;s<n;s++)r=r>>>8^_l[(r^e[s])&255];this.crc=r}get(){return~this.crc}}});var rn,Tl=se(()=>{tn();rn=class extends TransformStream{constructor(){let e,r=new Ge;super({transform(n,s){r.append(n),s.enqueue(n)},flush(){let n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,r.get()),e.value=n}}),e=this}}});function Rr(t){if(typeof TextEncoder==ye){t=unescape(encodeURIComponent(t));let e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}else return new TextEncoder().encode(t)}var Zi=se(()=>{ue()});function nn(t,e){Op();let r=new Int32Array(60),n=Dp(t,r),s=new Int32Array(16/4),i=bl(e),a=0,o=0,c=0,f=0;return{process(l,h){h&&i.update(l,0,l.length),R(l),h||i.update(l,0,l.length)},digest(){return i.digest()}};function R(l){let h=new DataView(l.buffer,l.byteOffset,l.byteLength),g=l.length,p=0;for(;p+16<=g;p+=16)E(),h.setInt32(p,h.getInt32(p)^s[0]),h.setInt32(p+4,h.getInt32(p+4)^s[1]),h.setInt32(p+8,h.getInt32(p+8)^s[2]),h.setInt32(p+12,h.getInt32(p+12)^s[3]);if(p<g){E();for(let d=0;p<g;p++,d++)l[p]^=s[d>>2]>>>24-8*(d&3)}}function E(){a=a+1|0,a||(o=o+1|0,o||(c=c+1|0,c||(f=f+1|0)));let l=ls(a)^r[0],h=ls(o)^r[1],g=ls(c)^r[2],p=ls(f)^r[3],d=O[l>>>24]^D[h>>>16&255]^P[g>>>8&255]^x[p&255]^r[4],u=O[h>>>24]^D[g>>>16&255]^P[p>>>8&255]^x[l&255]^r[5],m=O[g>>>24]^D[p>>>16&255]^P[l>>>8&255]^x[h&255]^r[6],_=O[p>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[g&255]^r[7];l=O[d>>>24]^D[u>>>16&255]^P[m>>>8&255]^x[_&255]^r[8],h=O[u>>>24]^D[m>>>16&255]^P[_>>>8&255]^x[d&255]^r[9],g=O[m>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[10],p=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[m&255]^r[11],d=O[l>>>24]^D[h>>>16&255]^P[g>>>8&255]^x[p&255]^r[12],u=O[h>>>24]^D[g>>>16&255]^P[p>>>8&255]^x[l&255]^r[13],m=O[g>>>24]^D[p>>>16&255]^P[l>>>8&255]^x[h&255]^r[14],_=O[p>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[g&255]^r[15],l=O[d>>>24]^D[u>>>16&255]^P[m>>>8&255]^x[_&255]^r[16],h=O[u>>>24]^D[m>>>16&255]^P[_>>>8&255]^x[d&255]^r[17],g=O[m>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[18],p=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[m&255]^r[19],d=O[l>>>24]^D[h>>>16&255]^P[g>>>8&255]^x[p&255]^r[20],u=O[h>>>24]^D[g>>>16&255]^P[p>>>8&255]^x[l&255]^r[21],m=O[g>>>24]^D[p>>>16&255]^P[l>>>8&255]^x[h&255]^r[22],_=O[p>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[g&255]^r[23],l=O[d>>>24]^D[u>>>16&255]^P[m>>>8&255]^x[_&255]^r[24],h=O[u>>>24]^D[m>>>16&255]^P[_>>>8&255]^x[d&255]^r[25],g=O[m>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[26],p=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[m&255]^r[27],d=O[l>>>24]^D[h>>>16&255]^P[g>>>8&255]^x[p&255]^r[28],u=O[h>>>24]^D[g>>>16&255]^P[p>>>8&255]^x[l&255]^r[29],m=O[g>>>24]^D[p>>>16&255]^P[l>>>8&255]^x[h&255]^r[30],_=O[p>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[g&255]^r[31],l=O[d>>>24]^D[u>>>16&255]^P[m>>>8&255]^x[_&255]^r[32],h=O[u>>>24]^D[m>>>16&255]^P[_>>>8&255]^x[d&255]^r[33],g=O[m>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[34],p=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[m&255]^r[35],d=O[l>>>24]^D[h>>>16&255]^P[g>>>8&255]^x[p&255]^r[36],u=O[h>>>24]^D[g>>>16&255]^P[p>>>8&255]^x[l&255]^r[37],m=O[g>>>24]^D[p>>>16&255]^P[l>>>8&255]^x[h&255]^r[38],_=O[p>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[g&255]^r[39];let A=40;n>10&&(l=O[d>>>24]^D[u>>>16&255]^P[m>>>8&255]^x[_&255]^r[40],h=O[u>>>24]^D[m>>>16&255]^P[_>>>8&255]^x[d&255]^r[41],g=O[m>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[42],p=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[m&255]^r[43],d=O[l>>>24]^D[h>>>16&255]^P[g>>>8&255]^x[p&255]^r[44],u=O[h>>>24]^D[g>>>16&255]^P[p>>>8&255]^x[l&255]^r[45],m=O[g>>>24]^D[p>>>16&255]^P[l>>>8&255]^x[h&255]^r[46],_=O[p>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[g&255]^r[47],A=48),n>12&&(l=O[d>>>24]^D[u>>>16&255]^P[m>>>8&255]^x[_&255]^r[48],h=O[u>>>24]^D[m>>>16&255]^P[_>>>8&255]^x[d&255]^r[49],g=O[m>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[50],p=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[m&255]^r[51],d=O[l>>>24]^D[h>>>16&255]^P[g>>>8&255]^x[p&255]^r[52],u=O[h>>>24]^D[g>>>16&255]^P[p>>>8&255]^x[l&255]^r[53],m=O[g>>>24]^D[p>>>16&255]^P[l>>>8&255]^x[h&255]^r[54],_=O[p>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[g&255]^r[55],A=56),s[0]=(ce[d>>>24]<<24|ce[u>>>16&255]<<16|ce[m>>>8&255]<<8|ce[_&255])^r[A],s[1]=(ce[u>>>24]<<24|ce[m>>>16&255]<<16|ce[_>>>8&255]<<8|ce[d&255])^r[A+1],s[2]=(ce[m>>>24]<<24|ce[_>>>16&255]<<16|ce[d>>>8&255]<<8|ce[u&255])^r[A+2],s[3]=(ce[_>>>24]<<24|ce[d>>>16&255]<<16|ce[u>>>8&255]<<8|ce[m&255])^r[A+3]}}function Il(t,e,r,n){let s=bl(t),i=new Uint8Array(n),a=new Uint8Array(e.length+4),o=new DataView(a.buffer);a.set(e);for(let c=1,f=0;f<n;c++,f+=20){o.setUint32(e.length,c),s.update(a,0,a.length);let R=s.digest(),E=R.slice();for(let l=1;l<r;l++){s.update(R,0,20),R=s.digest();for(let h=0;h<20;h++)E[h]^=R[h]}i.set(E.subarray(0,Math.min(20,n-f)),f)}return i}function bl(t){let e=Np(),r=new Uint8Array(64),n=new Uint8Array(64);t.length>64&&(e.update(t,0,t.length),t=e.digest());for(let s=0;s<64;s++){let i=s<t.length?t[s]:0;r[s]=i^Ip,n[s]=i^bp}return e.update(r,0,64),{update(s,i,a){e.update(s,i,a)},digest(){let s=e.digest();e.update(n,0,64),e.update(s,0,20);let i=e.digest();return e.update(r,0,64),i}}}function Np(){let t=new Int32Array(Al),e=new Int32Array(16),r=new Uint8Array(64),n=new DataView(r.buffer),s=new Uint8Array(8),i=0,a=0;return{update:o,digest:c};function o(R,E,l){let h=E+l;if(a+=l,i){for(;E<h&&i<64;)r[i++]=R[E++];i==64&&(f(n,0),i=0)}if(E+64<=h){let g=new DataView(R.buffer,R.byteOffset,R.byteLength);for(;E+64<=h;E+=64)f(g,E)}for(;E<h;)r[i++]=R[E++]}function c(){let R=a*8,E=Math.floor(R/4294967296),l=R>>>0;for(o(yp,0,1);i!=56;)o(Sp,0,1);s[0]=E>>>24,s[1]=E>>>16,s[2]=E>>>8,s[3]=E,s[4]=l>>>24,s[5]=l>>>16,s[6]=l>>>8,s[7]=l,o(s,0,8);let h=new Uint8Array(20),g=new DataView(h.buffer);for(let p=0;p<t.length;p++)g.setInt32(4*p,t[p]);return t.set(Al),i=0,a=0,h}function f(R,E){for(let m=0;m<16;m++)e[m]=R.getInt32(E+4*m);let l=t[0],h=t[1],g=t[2],p=t[3],d=t[4],u;for(let m=0;m<15;m+=5)d=(l<<5|l>>>27)+((g^p)&h^p)+d+1518500249+e[m]|0,h=h<<30|h>>>2,p=(d<<5|d>>>27)+((h^g)&l^g)+p+1518500249+e[m+1]|0,l=l<<30|l>>>2,g=(p<<5|p>>>27)+((l^h)&d^h)+g+1518500249+e[m+2]|0,d=d<<30|d>>>2,h=(g<<5|g>>>27)+((d^l)&p^l)+h+1518500249+e[m+3]|0,p=p<<30|p>>>2,l=(h<<5|h>>>27)+((p^d)&g^d)+l+1518500249+e[m+4]|0,g=g<<30|g>>>2;d=(l<<5|l>>>27)+((g^p)&h^p)+d+1518500249+e[15]|0,h=h<<30|h>>>2,u=e[13]^e[8]^e[2]^e[0],u=u<<1|u>>>31,e[0]=u,p=(d<<5|d>>>27)+((h^g)&l^g)+p+1518500249+u|0,l=l<<30|l>>>2,u=e[14]^e[9]^e[3]^e[1],u=u<<1|u>>>31,e[1]=u,g=(p<<5|p>>>27)+((l^h)&d^h)+g+1518500249+u|0,d=d<<30|d>>>2,u=e[15]^e[10]^e[4]^e[2],u=u<<1|u>>>31,e[2]=u,h=(g<<5|g>>>27)+((d^l)&p^l)+h+1518500249+u|0,p=p<<30|p>>>2,u=e[0]^e[11]^e[5]^e[3],u=u<<1|u>>>31,e[3]=u,l=(h<<5|h>>>27)+((p^d)&g^d)+l+1518500249+u|0,g=g<<30|g>>>2;for(let m=20;m<40;m+=5)u=e[m-3&15]^e[m-8&15]^e[m-14&15]^e[m&15],u=u<<1|u>>>31,e[m&15]=u,d=(l<<5|l>>>27)+(h^g^p)+d+1859775393+u|0,h=h<<30|h>>>2,u=e[m-2&15]^e[m-7&15]^e[m-13&15]^e[m+1&15],u=u<<1|u>>>31,e[m+1&15]=u,p=(d<<5|d>>>27)+(l^h^g)+p+1859775393+u|0,l=l<<30|l>>>2,u=e[m-1&15]^e[m-6&15]^e[m-12&15]^e[m+2&15],u=u<<1|u>>>31,e[m+2&15]=u,g=(p<<5|p>>>27)+(d^l^h)+g+1859775393+u|0,d=d<<30|d>>>2,u=e[m&15]^e[m-5&15]^e[m-11&15]^e[m+3&15],u=u<<1|u>>>31,e[m+3&15]=u,h=(g<<5|g>>>27)+(p^d^l)+h+1859775393+u|0,p=p<<30|p>>>2,u=e[m+1&15]^e[m-4&15]^e[m-10&15]^e[m+4&15],u=u<<1|u>>>31,e[m+4&15]=u,l=(h<<5|h>>>27)+(g^p^d)+l+1859775393+u|0,g=g<<30|g>>>2;for(let m=40;m<60;m+=5)u=e[m-3&15]^e[m-8&15]^e[m-14&15]^e[m&15],u=u<<1|u>>>31,e[m&15]=u,d=(l<<5|l>>>27)+(h&g|(h|g)&p)+d+2400959708+u|0,h=h<<30|h>>>2,u=e[m-2&15]^e[m-7&15]^e[m-13&15]^e[m+1&15],u=u<<1|u>>>31,e[m+1&15]=u,p=(d<<5|d>>>27)+(l&h|(l|h)&g)+p+2400959708+u|0,l=l<<30|l>>>2,u=e[m-1&15]^e[m-6&15]^e[m-12&15]^e[m+2&15],u=u<<1|u>>>31,e[m+2&15]=u,g=(p<<5|p>>>27)+(d&l|(d|l)&h)+g+2400959708+u|0,d=d<<30|d>>>2,u=e[m&15]^e[m-5&15]^e[m-11&15]^e[m+3&15],u=u<<1|u>>>31,e[m+3&15]=u,h=(g<<5|g>>>27)+(p&d|(p|d)&l)+h+2400959708+u|0,p=p<<30|p>>>2,u=e[m+1&15]^e[m-4&15]^e[m-10&15]^e[m+4&15],u=u<<1|u>>>31,e[m+4&15]=u,l=(h<<5|h>>>27)+(g&p|(g|p)&d)+l+2400959708+u|0,g=g<<30|g>>>2;for(let m=60;m<80;m+=5)u=e[m-3&15]^e[m-8&15]^e[m-14&15]^e[m&15],u=u<<1|u>>>31,e[m&15]=u,d=(l<<5|l>>>27)+(h^g^p)+d+3395469782+u|0,h=h<<30|h>>>2,u=e[m-2&15]^e[m-7&15]^e[m-13&15]^e[m+1&15],u=u<<1|u>>>31,e[m+1&15]=u,p=(d<<5|d>>>27)+(l^h^g)+p+3395469782+u|0,l=l<<30|l>>>2,u=e[m-1&15]^e[m-6&15]^e[m-12&15]^e[m+2&15],u=u<<1|u>>>31,e[m+2&15]=u,g=(p<<5|p>>>27)+(d^l^h)+g+3395469782+u|0,d=d<<30|d>>>2,u=e[m&15]^e[m-5&15]^e[m-11&15]^e[m+3&15],u=u<<1|u>>>31,e[m+3&15]=u,h=(g<<5|g>>>27)+(p^d^l)+h+3395469782+u|0,p=p<<30|p>>>2,u=e[m+1&15]^e[m-4&15]^e[m-10&15]^e[m+4&15],u=u<<1|u>>>31,e[m+4&15]=u,l=(h<<5|h>>>27)+(g^p^d)+l+3395469782+u|0,g=g<<30|g>>>2;t[0]=t[0]+l|0,t[1]=t[1]+h|0,t[2]=t[2]+g|0,t[3]=t[3]+p|0,t[4]=t[4]+d|0}}function Op(){if(!yl){let t=1,e=1;do t=(t^t<<1^(t&128?27:0))&255,e=(e^e<<1)&255,e=(e^e<<2)&255,e=(e^e<<4)&255,e&128&&(e^=9),ce[t]=(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)&255;while(t!=1);ce[0]=99;for(let r=0;r<256;r++){let n=ce[r],s=Nl(n),i=s<<24|n<<16|n<<8|s^n;O[r]=i,D[r]=i>>>8|i<<24,P[r]=i>>>16|i<<16,x[r]=i>>>24|i<<8}yl=!0}}function Dp(t,e){let r=t.length>>2,n=r+6,s=4*(n+1),i=1;for(let a=0;a<r;a++)e[a]=t[4*a]<<24|t[4*a+1]<<16|t[4*a+2]<<8|t[4*a+3];for(let a=r;a<s;a++){let o=e[a-1];a%r==0?(o=Sl(o<<8|o>>>24)^i<<24,i=Nl(i)):r>6&&a%r==4&&(o=Sl(o)),e[a]=e[a-r]^o}return n}function Sl(t){return ce[t>>>24]<<24|ce[t>>>16&255]<<16|ce[t>>>8&255]<<8|ce[t&255]}function ls(t){return t<<24|(t&65280)<<8|t>>>8&65280|t>>>24}function Nl(t){return(t<<1^(t>>7)*27)&255}var yp,Sp,Al,Ip,bp,ce,O,D,P,x,yl,Ki=se(()=>{yp=new Uint8Array([128]),Sp=new Uint8Array(1),Al=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Ip=54,bp=92,ce=new Uint8Array(256),O=new Int32Array(256),D=new Int32Array(256),P=new Int32Array(256),x=new Int32Array(256),yl=!1});function fs(t){if(Pp)return crypto.getRandomValues(t);throw new Error(wr)}var Pp,Ve,xt,ct,wr,us=se(()=>{ue();Pp=typeof crypto!=ye&&typeof crypto.getRandomValues==K,Ve="Invalid password",xt="Invalid authentication code",ct="zipjs-abort-check-password",wr="Crypto API not supported"});function Ll(t){Cl=t||nn}function Fl(t,e,r,n){Object.assign(t,{ready:new Promise(s=>t.resolveReady=s),password:Yp(e,r),strength:n-1,pendingInput:j,discarded:!1})}function Ul(t,e){let r=t.readable.getReader(),n=new ReadableStream({async pull(s){try{let{value:i,done:a}=await r.read();a?s.close():s.enqueue(i)}catch(i){throw on(e),r.cancel(i).catch(()=>{}),i}},cancel(s){return on(e),r.cancel(s)}});Object.defineProperty(t,"readable",{get(){return n}})}function Ml(t,e,r,n,s,i){let{engine:a,pendingInput:o}=t;o.length&&(e=Be(o,e));let c=e.length-s,f=c-c%Ji;if(r=Wp(r,n+f),f){let R=xe(r,n,n+f);R.set(xe(e,0,f)),a.process(R,i)}return t.pendingInput=xe(e,f),r}async function Bp(t,e,r,n){let s=await vl(t,e,r,xe(n,0,sn[e])),i=xe(n,sn[e]);if(s[0]!=i[0]||s[1]!=i[1])throw on(t),new Error(Ve)}function on(t){let{engine:e}=t;t.discarded=!0,e&&e.dispose&&e.dispose()}async function zp(t,e,r){let n=fs(new Uint8Array(sn[e])),s=await vl(t,e,r,n);return Be(n,s)}async function vl(t,e,r,n){t.password=null;let s=vp[e],i=await Hp(r,n,s*2+qi);return t.engine=Cl(xe(i,0,s),xe(i,s,s*2)),t.discarded&&on(t),xe(i,s*2)}async function Hp(t,e,r){if(Ol)try{let n=await an.importKey(xp,t,Fp,!1,Mp);return new Uint8Array(await an.deriveBits(Object.assign({salt:e},Up),n,r*8))}catch{Ol=!1}return Il(t,e,Pl,r)}function Yp(t,e){return e===w?Rr(t):e}function Wp(t,e){if(e&&e>t.length){let r=t;t=new Uint8Array(e),t.set(r,0)}return t}function xe(t,e,r){return t.subarray(e,r)}var Ji,xp,Dl,Cp,Lp,Pl,Fp,Up,Mp,sn,vp,Ct,qi,xl,an,kp,Ol,Cl,ds,ps,Qi=se(()=>{ue();Zi();Pt();Ki();us();Ji=16,xp="raw",Dl={name:"PBKDF2"},Cp={name:"HMAC"},Lp="SHA-1",Pl=1e3,Fp=Object.assign({hash:Cp},Dl),Up=Object.assign({iterations:Pl,hash:{name:Lp}},Dl),Mp=["deriveBits"],sn=[8,12,16],vp=[16,24,32],Ct=10,qi=2,xl=typeof crypto!=ye,an=xl&&crypto.subtle,kp=xl&&typeof an!=ye,Ol=kp&&typeof an.importKey==K&&typeof an.deriveBits==K,Cl=nn,ds=class extends TransformStream{constructor({password:e,rawPassword:r,encryptionStrength:n,checkPasswordOnly:s,checkAuthenticationCode:i=!0}){let a={};super({start(){Fl(a,e,r,n)},async transform(o,c){let{password:f,strength:R,resolveReady:E,ready:l}=a;if(f?(await Bp(a,R,f,xe(o,0,sn[R]+qi)),o=xe(o,sn[R]+qi),s?(on(a),c.error(new Error(ct))):E()):await l,a.discarded)return;let h=new Uint8Array(o.length-Ct-(o.length-Ct)%Ji);c.enqueue(Ml(a,o,h,0,Ct,!0))},async flush(o){let{engine:c,pendingInput:f,ready:R}=a;if(c){if(await R,a.discarded)return;let E=xe(f,f.length-Ct),l=new Uint8Array(xe(f,0,f.length-Ct));c.process(l,!0);let h=c.digest(),g=f.length<Ct?1:0;for(let p=0;p<Ct;p++)g|=h[p]^E[p];if(g&&i){o.error(new Error(xt));return}o.enqueue(l)}}}),Ul(this,a)}},ps=class extends TransformStream{constructor({password:e,rawPassword:r,encryptionStrength:n}){let s={};super({start(){Fl(s,e,r,n)},async transform(i,a){let{password:o,strength:c,resolveReady:f,ready:R}=s,E=j;if(o?(E=await zp(s,c,o),f()):await R,s.discarded)return;let l=new Uint8Array(E.length+i.length-i.length%Ji);l.set(E,0),a.enqueue(Ml(s,i,l,E.length,0,!1))},async flush(i){let{engine:a,pendingInput:o,ready:c}=s;if(a){if(await c,s.discarded)return;let f=new Uint8Array(o);a.process(f,!1);let R=xe(a.digest(),0,Ct);i.enqueue(Be(f,R))}}}),Ul(this,s)}}});function Hl(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),Gp(t,e,r)}function kl(t,e){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Yl(t)^e[n],hs(t,r[n]);return r}function Bl(t,e){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Yl(t)^e[n],hs(t,e[n]);return r}function Gp(t,e,r){let n=[305419896,591751049,878082192];if(Object.assign(t,{cryptoKeys:n,crcKey0:new Ge(n[0]),crcKey2:new Ge(n[2])}),r)for(let s=0;s<r.length;s++)hs(t,r[s]);else for(let s=0;s<e.length;s++)hs(t,e.charCodeAt(s))}function hs(t,e){let[,r]=t.cryptoKeys;t.crcKey0.append([e]);let n=~t.crcKey0.get();r=zl(Math.imul(zl(r+Wl(n)),134775813)+1),t.crcKey2.append([r>>>24]);let s=~t.crcKey2.get();t.cryptoKeys=[n,r,s]}function Yl(t){let e=t.cryptoKeys[2]|2;return Wl(Math.imul(e,e^1)>>>8)}function Wl(t){return t&255}function zl(t){return t&4294967295}var _r,Es,ms,Gl=se(()=>{tn();us();_r=12,Es=class extends TransformStream{constructor({password:e,rawPassword:r,passwordVerification:n,checkPasswordOnly:s}){super({start(){Hl(this,e,r,n)},transform(i,a){let o=this;if(o.password||o.rawPassword){let c=kl(o,i.subarray(0,_r));if(o.password=o.rawPassword=null,(c[_r-1]^o.passwordVerification)!=0)throw new Error(Ve);i=i.subarray(_r)}s?a.error(new Error(ct)):a.enqueue(kl(o,i))}})}},ms=class extends TransformStream{constructor({password:e,rawPassword:r,passwordVerification:n}){super({start(){Hl(this,e,r,n)},transform(s,i){let a=this,o,c;if(a.password||a.rawPassword){a.password=a.rawPassword=null;let f=fs(new Uint8Array(_r));f[_r-1]=a.passwordVerification,o=new Uint8Array(s.length+f.length),o.set(Bl(a,f),0),c=_r}else o=new Uint8Array(s.length),c=0;o.set(Bl(a,s),c),i.enqueue(o)}})}}});function ze(t){if(t instanceof ReadableStream)return t;let e=t.getReader();return new ReadableStream({async pull(r){try{let{value:n,done:s}=await e.read();s?r.close():r.enqueue(n)}catch(n){throw e.cancel(n).catch(()=>{}),n}},cancel(r){return e.cancel(r)}})}function lt(t,e){t=ze(t);let r=e?{type:e}:{};if(Vp())return new Response(t).blob().then(s=>e?new Blob([s],r):s);let n=[];return t.pipeTo(new WritableStream({write(s){n.push(s)}})).then(()=>new Blob(n,r))}function Vp(){return typeof Blob.prototype.stream!=K||new Blob([]).stream()instanceof ReadableStream}function $i(t){if(t instanceof WritableStream)return t;let e=t.getWriter();return new WritableStream({write(r){return e.write(r)},close(){return e.close()},abort(r){return e.abort(r)}})}var jt=se(()=>{ue()});function gs(t){return Xp.get(t)}function Rs(t){return ea.get(t)}function jp(t,e){let{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=K&&typeof n!=K)throw new Error(Vl);ea.set(t,{CompressionStream:r,DecompressionStream:n})}async function Xl(t,e){!ea.has(t)&&e&&jp(t,await import(e))}var Vl,ft,Xp,ea,Kt=se(()=>{ue();Vl="Invalid codec module",ft="Compression method not supported",Xp=new Map,ea=new Map});function qp(t,e,r,n,s){let i=e.writable.getWriter(),a=e.readable.getReader(),o=n===w?new Ge:w,c=0,f=!1,R=!1,E,l,h=new ReadableStream({start(A){l=A},pull(){m()},cancel(A){return R=!0,m(),a.cancel(A)}});return g(),p(),h;async function g(){let A=t.getReader();try{let T=new Uint8Array(Kl);for(T.set(Kp),await i.write(T);;){await u(),await i.ready;let{value:I,done:N}=await tf(A,s);if(N)break;await i.write(I)}o&&await i.write(new Uint8Array(0));let y=new Uint8Array(ta),S=L(y);S.setUint32(0,o?o.get():n,!0),S.setUint32(4,r,!0),f=!0,await i.write(y),await i.close()}catch(T){await ef(i,T),await As(A,T)}}async function p(){try{for(;;){let{value:A,done:T}=await d();if(T)break;if(c+=A.length,c>r)throw new Error(Je);o&&o.append(A),l.enqueue(A)}R||(R=!0,l.close())}catch(A){_(A),await As(a,A)}}function d(){return a.read().catch(A=>{if(f){if(!o)throw Ss(A,Lt);if(c!=r)throw Ss(A,Je);return{done:!0}}throw rf(A,s)})}function u(){if(!R&&l.desiredSize<=0)return new Promise(A=>E=A)}function m(){if(E){let A=E;E=w,A()}}function _(A){R||(R=!0,l.error(A),m())}}function na(t,e){if(!t)return!1;let r=jl.get(t);r||(r=new Map,jl.set(t,r));let n=r.get(e);if(n===w){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function Is(t){return na(t,ra)}function sa(t){return na(t,Ar)}function ql(t,e,r){e=ut(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get(){return e}})}function Jl(t,e,r){if(!t)throw new Error(ft);return new t(e,r)}function Ql(t,e,r){if(t&&e)return e;if(r&&r.requiresModule)return r}function $l(t,e,r,n,s,i){let a=e&&n?n:s||n,o=r.deflate64?Zl:ra,c;try{c=new a(o,r)}catch(f){if(e&&s&&a!=s)c=new s(o,r);else throw f}return ln(t,c,i)}function ut(t,e){return ze(t).pipeThrough(e)}function ln(t,e,r){let n=e.writable.getWriter(),s=t.getReader();return i(),e.readable;async function i(){try{for(;;){await n.ready;let a=await tf(s,r);if(a.done){await n.close();break}await n.write(a.value)}}catch(a){await ef(n,a),await As(s,a)}}}async function ef(t,e){try{await t.abort(e)}catch{}}async function As(t,e){try{await t.cancel(e)}catch{}}function tf(t,e){let r=t.read();return e?r.catch(n=>{throw e.add(n),n}):r}function rf(t,e){return e.has(t)?t:Ss(t,nf(t)?Jt:qt)}function ys(t){return nf(t)?Ss(t,Jt):t}function nf(t){return Re(t)&&t.code==Zp}function Ss(t,e){let r=new Error(e);return r.cause=t,r}function Jp(t,e){let r=t.getReader();return new ReadableStream({async pull(n){try{let{value:s,done:i}=await r.read();i?n.close():n.enqueue(s)}catch(s){throw await As(r,s),rf(s,e)}},cancel(n){return r.cancel(n)}})}var Je,qt,Jt,Lt,Zp,ra,Zl,Ar,Kl,ta,Kp,ws,_s,Ts,jl,ia=se(()=>{tn();Tl();Qi();Gl();us();ue();Pt();jt();Xt();Kt();Je="Invalid uncompressed size",qt="Invalid compressed data",Jt="Codec out of memory",Lt="Invalid CRC32",Zp="Z_MEM_ERROR",ra="deflate-raw",Zl="deflate64-raw",Ar="gzip",Kl=10,ta=8,Kp=[31,139,8],ws=class extends TransformStream{constructor(e,{chunkSize:r,CompressionStreamFallback:n,CompressionStream:s}){super({});let{compressed:i,encrypted:a,useCompressionStream:o,zipCrypto:c,computeCrc32:f,level:R,deflate64:E,format:l,compressionMethod:h,inputSize:g}=e,p=this,d,u,m,_=super.readable,A=l&&Rs(l),T=Ql(o,s,n),y=f&&i&&!E&&!A&&(!a||c)&&!!T;if((!a||c)&&f&&!y&&(d=new rn,_=ut(_,d)),i)if(A)_=ln(_,Jl(A.CompressionStream,l,{level:R,chunkSize:r,compressionMethod:h,uncompressedSize:g}));else if(y)m=new _s,_=ln(_,new T(Ar,{level:R,chunkSize:r})),_=ut(_,m);else try{_=$l(_,o,{level:R,chunkSize:r},s,n)}catch(S){if(!o&&n)throw ys(S);let I;try{I=new s(Ar)}catch{throw ys(S)}_=ln(_,I),_=ut(_,new _s)}a&&(c?_=ut(_,new ms(e)):(u=new ps(e),_=ut(_,u))),ql(p,_,()=>{(!a||c)&&f&&(p.crc32=y?m.crc32:new DataView(d.value.buffer).getUint32(0))})}},_s=class extends TransformStream{constructor(){let e,r=Kl,n=new Uint8Array(0);super({transform(s,i){if(r){let f=Math.min(r,s.length);if(r-=f,s=s.subarray(f),!s.length)return}let a=n.length+s.length;if(a<=ta){n=Be(n,s);return}let o=a-ta,c=Math.min(o,n.length);i.enqueue(Be(n.subarray(0,c),s.subarray(0,o-c))),n=Be(n.subarray(c),s.subarray(o-c))},flush(){let s=L(n);e.crc32=s.getUint32(0,!0),e.uncompressedSize=s.getUint32(4,!0)}}),e=this}};Ts=class extends TransformStream{constructor(e,{chunkSize:r,DecompressionStreamFallback:n,DecompressionStream:s}){super({});let{zipCrypto:i,encrypted:a,checkCrc32:o,crc32:c,compressed:f,useCompressionStream:R,deflate64:E,format:l,compressionMethod:h,rawBitFlag:g,outputSize:p}=e,d,u,m,_=super.readable;if(a&&(i?_=ut(_,new Es(e)):(u=new ds(e),_=ut(_,u))),f){let A=new Set,T=l&&Rs(l),y;if(T)_=ln(_,Jl(T.DecompressionStream,l,{chunkSize:r,compressionMethod:h,rawBitFlag:g,uncompressedSize:p}),A);else{let S=Ql(R,s,n);if(o&&!E&&c!==w&&p!==w&&S)try{y=new S(Ar,{chunkSize:r})}catch{y=w}if(!y)try{_=$l(_,R,{chunkSize:r,deflate64:E},s,n,A)}catch(I){if(E||p===w||!R&&n)throw ys(I);try{y=new s(Ar)}catch{throw ys(I)}}}y?(m=!0,_=qp(_,y,p,c,A)):_=Jp(_,A)}o&&!m&&(d=new rn,_=ut(_,d)),ql(this,_,()=>{if(d){let A=new DataView(d.value.buffer).getUint32(0,!1);if(c!=A)throw new Error(Lt)}})}},jl=new Map});var Qp,sf,af,of,aa,cf,lf,yr,Ns,bs,fn,Os=se(()=>{ue();ia();Qp=64*1024,sf="message",af="start",of="pull",aa="data",cf="ack",lf="close",yr="deflate",Ns="inflate",bs=class extends TransformStream{constructor(e,r){super({});let n=this,{codecType:s}=e,i;s.startsWith(yr)?i=ws:s.startsWith(Ns)&&(i=Ts),n.outputSize=0;let a=0,o=new i(e,r),c=super.readable,f=new TransformStream({transform(E,l){E&&E.length&&(a+=E.length,l.enqueue(E))},flush(){Object.assign(n,{inputSize:a})}}),R=new TransformStream({transform(E,l){if(E&&E.length&&(l.enqueue(E),n.outputSize+=E.length,e.outputSize!==w&&n.outputSize>e.outputSize))throw new Error(Je)},flush(){let{crc32:E}=o;Object.assign(n,{crc32:E,inputSize:a})}});Object.defineProperty(n,"readable",{get(){return c.pipeThrough(f).pipeThrough(o).pipeThrough(R)}})}},fn=class extends TransformStream{constructor(e){let r=[],n=0,s=0;(!Number.isFinite(e)||e<1)&&(e=Qp),super({transform(o,c){for(r.push(o),n+=o.length;n>e;)s+=e,c.enqueue(i())},flush(o){n&&(s+=n,o.enqueue(a(r,n)))}}),Object.defineProperty(this,"outputSize",{get:()=>s});function i(){let o=new Uint8Array(e),c=0;for(;c<e;){let f=r[0],R=e-c;f.length<=R?(o.set(f,c),c+=f.length,r.shift()):(o.set(f.subarray(0,R),c),r[0]=f.subarray(R),c+=R)}return n-=e,o}function a(o,c){let f=new Uint8Array(c),R=0;for(let E of o)f.set(E,R),R+=E.length;return f}}}});function uf({initModule:t}){ca=t}function df(t){oa=t}async function pf(t){let{CompressionStream:e,CompressionStreamFallback:r}=t;return r&&!r.requiresModule||Is(e)||sa(e)?!0:r?await Ef(t):!1}async function Ef(t){if(ca)try{return await ca(t),!0}catch{}return!1}function la(t){t.createWorker?ff=!0:Ds=!1}async function Ps(t,...e){try{await t(...e)}catch{}}function fa(t,e){return{run:()=>Cs(t,e)}}async function Cs({options:t,readable:e,writable:r,onTaskFinished:n,workerOptions:s},i){let a,o,c;try{if(t.compressed&&!t.format){let g=t.codecType.startsWith(yr),p=g?i.CompressionStreamFallback:i.DecompressionStreamFallback,d=g?i.CompressionStream:i.DecompressionStream;t.useCompressionStream?p&&p.requiresModule&&!Is(d)&&await f():!await f()&&(!p||p.requiresModule)&&(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await f(),a=new bs(t,i),o=new fn($r(i));let{signal:R}=s.streamOptions;await e.pipeThrough(a).pipeThrough(o).pipeTo(r,{preventClose:!0,preventAbort:!0,signal:R});let{crc32:E,inputSize:l,outputSize:h}=a;return{crc32:E,inputSize:l,outputSize:h}}catch(R){if(a){let E=o?o.outputSize:0;if(s.outputSize=E,Re(R))try{R.outputSize=E}catch{}}throw R}finally{n()}function f(){return c||(c=Ef(i)),c}}var Qt,Ds,ff,oa,ca,Ft,xs,Sr=se(()=>{ue();We();Xt();Os();Qt="Worker startup timeout",ca=()=>{};Ft=class{constructor(e,{readable:r,writable:n},s,i){let{options:a,config:o,streamOptions:c,useWebWorkers:f,transferStreams:R,workerURI:E}=s,{createWorker:l}=s,{signal:h}=c;return ff&&(l=w),Object.assign(e,{busy:!0,generation:(e.generation||0)+1,readable:r.pipeThrough(new fn($r(o))).pipeThrough(new xs(c),{signal:h}),writable:n,options:Object.assign({},a),workerOptions:s,workerURI:E,createWorker:l,transferStreams:R,terminate(){return new Promise(g=>{let{worker:p,busy:d}=e;d?(e.terminateResolvers=e.terminateResolvers||[],e.terminateResolvers.push(g)):(p&&(p.terminate(),e.worker=null),g()),e.interface=null})},onTaskFinished(){if(e.busy){let{terminateResolvers:g,worker:p}=e;g&&(e.terminateResolvers=null,p&&(e.terminated=!0,p.terminate())),e.busy=!1;let d=i(e);g&&g.forEach(u=>u(d))}}}),Ds===w&&(Ds=typeof Worker!=ye),(f&&oa&&(Ds&&E||l)?oa:fa)(e,o)}},xs=class extends TransformStream{constructor({onstart:e,onprogress:r,size:n,onend:s}){let i=0;super({async start(){e&&await Ps(e,n)},async transform(a,o){i+=a.length,r&&await Ps(r,i,n),o.enqueue(a)},async flush(){s&&await Ps(s,i)}})}}});async function Ms(t,e){let{options:r,config:n}=e,{transferStreams:s,useWebWorkers:i,useCompressionStream:a,compressed:o,checkCrc32:c,computeCrc32:f,encrypted:R,format:E,codecURI:l}=r,{workerURI:h,createWorker:g,maxWorkers:p}=n;E&&(l&&(r.codecURI=aE(l,n.baseURI)),await Xl(E,r.codecURI)),e.transferStreams=!E&&(s||s===w&&n.transferStreams);let d=!o&&!c&&!f&&!R,u=E===w||!!r.codecURI;return e.useWebWorkers=!d&&u&&(i||i===w&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&h?h:w,e.createWorker=e.useWebWorkers&&g?g:w,r.useCompressionStream=a||a===w&&n.useCompressionStream,(await m()).run();async function m(){let A=$t.find(T=>!T.busy);if(A)return yf(A),new Ft(A,t,e,_);if($t.length<p){let T={indexWorker:Af};return Af++,$t.push(T),new Ft(T,t,e,_)}else return new Promise(T=>{er.push({resolve:T,stream:t,workerOptions:e}),Fs=n.workerStarvationTimeout,Us()})}function _(A){if(ha(),A.terminated)return A.terminated=!1,cE();if(er.length){let[{resolve:T,stream:y,workerOptions:S}]=er.splice(0,1);T(new Ft(A,y,S,_)),Us()}else A.worker?(yf(A),lE(A,e)):$t=$t.filter(T=>T!=A)}}function aE(t,e){try{return new URL(t,e).toString()}catch{return t}}function Us(){!Ir&&er.length&&Number.isFinite(Fs)&&Fs>=0&&(Ir=setTimeout(oE,Fs))}function ha(){Ir&&(clearTimeout(Ir),Ir=null)}function oE(){if(Ir=null,er.length){let[{resolve:t,stream:e,workerOptions:r}]=er.splice(0,1);t(new Ft({},e,Sf(r),If)),Us()}}function cE(){let t=er.splice(0).map(({resolve:e,stream:r,workerOptions:n})=>new Promise(s=>{e(new Ft({},r,Sf(n),()=>{If(),s()}))}));return ha(),Promise.all(t)}function Sf(t){return Object.assign({},t,{useWebWorkers:!1,workerURI:w,createWorker:w})}function If(){ha(),Us()}function lE(t,e){let{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.terminateTimeout=setTimeout(async()=>{$t=$t.filter(s=>s!=t);try{await t.terminate()}catch{}},n))}function yf(t){let{terminateTimeout:e}=t;e&&(clearTimeout(e),t.terminateTimeout=null)}var $t,er,Ir,Fs,Af,vs=se(()=>{ue();Os();Kt();Sr();$t=[],er=[],Af=0});function bf(t){let e="";for(let r=0;r<t.length;r++)e+=fE[t[r]];return e}var fE,Nf=se(()=>{fE="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0".split("")});function un(t,e){return uE(t,e,!0)}function ga(t){if(t.some(e=>e>127))try{return new TextDecoder("utf-8",{fatal:!0}).decode(t),!0}catch{return!1}else return!1}function uE(t,e,r){return e&&e.trim().toLowerCase()=="cp437"?bf(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}var Ra=se(()=>{Nf()});function pE(){xf=(async()=>{try{let e=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader(),r=0,n=await e.read();for(;!n.done;)r+=n.value.length,n=await e.read();wa=r==1}catch{wa=!1}})()}function dn(t){return!!(t&&t.getData)}async function ge(t,e){if(t.init&&!t.initialized)await t.init(e);else return Promise.resolve()}async function EE(t){return t=new pt(t),await ge(t),(t.size===w||!t.readUint8Array)&&(t=new Qe(await lt(t.readable)),await ge(t)),t}function re(t,e,r){return t.readUint8Array(e,r)}function _a(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?dt.prototype.createReadable.call(t,e):t.readable}var Df,Pf,AR,yR,SR,dE,Of,ks,dt,wa,xf,Qe,Bs,zs,pt,br,pn=se(()=>{ue();We();Pt();jt();Ra();Df="Writer iterator completed too soon",Pf="Invalid writer (size must be writable)",AR=256*1024,yR=16*1024*1024,SR=65557,dE="writable",Of=Symbol(),ks=class{constructor(){this.size=0}init(){this.initialized=!0}},dt=class extends ks{get readable(){return this.createReadable()}createReadable({offset:e=0,size:r,chunkSize:n=$r(at())}={}){let s=this,i=0;return n=Xi(n),new ReadableStream({async pull(a){let o=r===w?n:Math.min(n,r-i),c=await re(s,e+i,o);c.length&&(a.enqueue(c),i+=c.length),(r!==w&&i>=r||!c.length&&o)&&a.close()}})}};Qe=class extends dt{constructor(e){super(),Object.assign(this,{sourceBlob:e,size:e.size}),xf||pE()}createReadable(e){let r=this,{sourceBlob:n,size:s}=r,{offset:i=0,size:a=s-i}=e||{};if(typeof n.stream==K){if(!i&&a>=s)return ze(n.stream());if(wa)return ze(n.slice(i,i+a).stream())}return super.createReadable(e)}async readUint8Array(e,r){let n=this,s=e+r,o=await(!e&&s>=n.size?n.sourceBlob:n.sourceBlob.slice(e,s)).arrayBuffer();return o.byteLength>r&&(o=o.slice(e,s)),new Uint8Array(o)}},Bs=class extends dt{constructor(e){super(),this.readers=e}async init(){let e=this;e.lastDiskNumber=0;let r=e.readers=await Promise.all(e.readers.map(EE));e.diskOffsets=r.map(n=>{let s=e.size;return e.size+=n.size,s}),super.init()}getDiskOffset(e){let{diskOffsets:r,size:n}=this,s=r[e];return s===w?n:s}async readUint8Array(e,r){let n=this,{readers:s}=this,i,a=0,o=e;for(;s[a]&&o>=s[a].size;)o-=s[a].size,a++;let c=s[a];if(c){let f=c.size;if(o+r<=f)i=await re(c,o,r);else{let R=f-o,E=await re(c,o,R),l=await n.readUint8Array(e+R,r-R);i=Be(E,l)}}else i=j;return n.lastDiskNumber=Math.max(a,n.lastDiskNumber),i}},zs=class extends ks{constructor(e,r=4294967295){super();let n=this;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:r,availableSize:r});let s,i,a,o=new WritableStream({async write(E){if(E===Of){a&&await f();return}let{availableSize:l}=n;if(a)E.length>=l?(await c(E.subarray(0,l)),await f(),E.length>l&&await this.write(E.subarray(l))):await c(E);else{let{value:h,done:g}=await e.next();if(g&&!h)throw new Error(Df);s=h,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await ge(s),i=h.writable,a=i.getWriter(),await this.write(E)}},async close(){a&&(await a.ready,await R())},async abort(E){a&&await a.abort(E)}});Object.defineProperty(n,dE,{get(){return o}});async function c(E){let l=E.length;l&&(await a.ready,await a.write(E),s.size+=l,n.availableSize-=l)}async function f(){await R(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function R(){await a.close()}}async closeDisk(){let e=this.writable.getWriter();try{await e.ready,await e.write(Of)}finally{e.releaseLock()}}},pt=class{constructor(e){return Array.isArray(e)&&(e=new Bs(e)),(e instanceof ReadableStream||typeof e.getReader==K)&&(e={readable:ze(e)}),e}},br=class{constructor(e){e.writable===w&&typeof e.next==K&&(e=new zs(e)),(e instanceof WritableStream||typeof e.getWriter==K)&&(e={writable:$i(e)});try{e.size=e.size===w?0:e.size}catch{throw new Error(Pf)}return e}}});function Te(t,e,r){if(!t.some(n=>n.reason==e)){let n={reason:e};r!==w&&(n.filename=r),t.push(n)}}var Ta=se(()=>{ue()});function Cf(t){if(t){let e=new Map;if(t.forEach((r,n)=>{vE.has(n)||e.set(n,r.data)}),e.size)return e}}function Sn(t,e,r){return t?e?12:16+r*4:0}var ba,Na,wn,Oa,_n,Da,Pa,xa,rr,Or,Tn,Ca,An,La,Fa,Ua,Ma,va,ka,Hs,Ba,za,Ha,Ya,nr,Wa,mE,Ga,Ys,hE,yn,gE,RE,wE,_E,Va,Xa,ja,Za,Ka,qa,TE,AE,yE,SE,IE,bE,NE,OE,DE,PE,xE,CE,LE,FE,UE,ME,Et,vE,Ws=se(()=>{ue();ba="filename",Na="rawFilename",wn="comment",Oa="rawComment",_n="uncompressedSize",Da="compressedSize",Pa="offset",xa="diskNumberStart",rr="lastModDate",Or="rawLastModDate",Tn="lastAccessDate",Ca="rawLastAccessDate",An="creationDate",La="rawCreationDate",Fa="internalFileAttributes",Ua="externalFileAttributes",Ma="msdosAttributesRaw",va="msdosAttributes",ka="msDosCompatible",Hs="zip64",Ba="encrypted",za="version",Ha="versionMadeBy",Ya="zipCrypto",nr="directory",Wa="executable",mE="symlink",Ga="compressionMethod",Ys="signature",hE="crc32",yn="extraField",gE="extraFieldInfoZip",RE="extraFieldUnix",wE="extraFieldUnixType1",_E="extraFieldPkwareUnix",Va="uid",Xa="gid",ja="unixMode",Za="setuid",Ka="setgid",qa="sticky",TE="bitFlag",AE="rawBitFlag",yE="filenameLength",SE="extraFieldLength",IE="unixExternalUpper",bE="filenameUTF8",NE="commentUTF8",OE="rawExtraField",DE="extraFieldZip64",PE="extraFieldUnicodePath",xE="extraFieldUnicodeComment",CE="extraFieldAES",LE="extraFieldNTFS",FE="extraFieldExtendedTimestamp",UE="extraFieldUSDZ",ME=[ba,Na,_n,Da,rr,Or,wn,Oa,Tn,Ca,An,La,Pa,xa,Fa,Ua,Ma,va,ka,Hs,Ba,za,Ha,Ya,nr,Wa,mE,Ga,Ys,hE,yn,RE,gE,wE,_E,Va,Xa,ja,IE,Za,Ka,qa,TE,AE,yE,SE,bE,NE,OE,DE,PE,xE,CE,LE,FE,UE],Et=class{constructor(e){ME.forEach(r=>this[r]=e[r])}},vE=new Set([1,39169,10,21589,28789,25461,6534,30837,30805,22613,13])});var au={};fp(au,{ERR_AMBIGUOUS_ARCHIVE:()=>_o,ERR_BAD_FORMAT:()=>Dr,ERR_CENTRAL_DIRECTORY_NOT_FOUND:()=>mo,ERR_CODEC_OUT_OF_MEMORY:()=>Jt,ERR_ENCRYPTED:()=>oi,ERR_ENCRYPTED_CENTRAL_DIRECTORY:()=>To,ERR_ENTRY_DATA_OUT_OF_BOUNDS:()=>wo,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:()=>Eo,ERR_EOCDR_NOT_FOUND:()=>po,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:()=>go,ERR_INVALID_AUTHENTICATION_CODE:()=>xt,ERR_INVALID_COMPRESSED_DATA:()=>qt,ERR_INVALID_CRC32:()=>Lt,ERR_INVALID_FILENAME_VALIDATION:()=>So,ERR_INVALID_MAX_APPENDED_DATA_SIZE:()=>Io,ERR_INVALID_PASSWORD:()=>Ve,ERR_INVALID_STRICTNESS:()=>yo,ERR_INVALID_UNCOMPRESSED_SIZE:()=>Je,ERR_LOCAL_FILE_HEADER_NOT_FOUND:()=>ho,ERR_OVERLAPPING_ENTRY:()=>Ro,ERR_SPLIT_ZIP_FILE:()=>js,ERR_UNSAFE_FILENAME:()=>Ao,ERR_UNSUPPORTED_COMPRESSION:()=>ft,ERR_UNSUPPORTED_ENCRYPTION:()=>Xs,ERR_UNSUPPORTED_UINT64:()=>bo,ERR_WORKER_STARTUP_TIMEOUT:()=>Qt,WARNING_APPENDED_DATA:()=>Ks,WARNING_COMPRESSED_PATCHED_DATA:()=>Do,WARNING_DUPLICATE_FILENAME:()=>Lo,WARNING_MALFORMED_EXTRA_FIELD:()=>ci,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:()=>Mo,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:()=>vo,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:()=>ko,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:()=>Uo,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:()=>Pr,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:()=>Fo,WARNING_PREPENDED_CENTRAL_DIRECTORY:()=>xo,WARNING_PREPENDED_DATA:()=>qs,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:()=>Co,WARNING_UNKNOWN_VERSION:()=>Oo,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:()=>Po,WARNING_UNSORTED_CENTRAL_DIRECTORY:()=>No,WARNING_WRAPPED_ENTRIES_COUNT:()=>Zs,ZipReader:()=>vt,ZipReaderStream:()=>Qs,isZipFile:()=>Jf});function ZE(t,e){let{readable:r,writable:n}=new TransformStream,s,i={cancel:async o=>{e.delete(i),await(s?s.cancel(o):r.cancel(o))}};return i.readable=new ReadableStream({async pull(o){s||(s=r.getReader(),e.add(i),a());let{done:c,value:f}=await s.read();c?o.close():o.enqueue(f)},cancel:o=>i.cancel(o)},{highWaterMark:0}),i;async function a(){try{await t.getData(n,{preventClose:!1})}catch(o){try{await n.abort(o)}catch{}}finally{e.delete(i)}}}async function Jf(t,e={}){if(t=new pt(t),await ge(t),(t.size===w||!t.readUint8Array)&&(t=new Qe(await lt(t.readable)),await ge(t)),t.size<22)return!1;let r=zo(e,{}),n=r!=it,s=ru(e[Hi],r),{endOfDirectoryInfo:i,endOfDirectoryReachingEndCount:a}=await nu(t,n,s);if(!i||r==Nt&&a>1)return!1;let o=V(L(i),20),c=i.offset+22+o;return t.size-c<=s}function Ja(t){let e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(v(t,r)==134630224)return!0;return!1}function Hf(t,e,r){let n=0;for(;r+46<=e.length&&v(t,r)==33639248;)r+=46+V(t,r+28)+V(t,r+30)+V(t,r+32),n++;return n%65536?0:n}function Qa(t){if(t.length>=6){let e=L(t);if(v(e,0)==84233040){let r=V(e,4);if(6+r<=t.length)return new Uint8Array(t.subarray(6,6+r))}}}function KE(t,e,r){let n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}function qE(t){let e={rawExtensibleData:t};if(t.length>=28){let r=L(t),n=V(r,26);Object.assign(e,{compressionMethod:V(r,0),compressedSize:Ce(r,2),uncompressedSize:Ce(r,10),encryptionAlgorithm:V(r,18),bitLength:V(r,20),flags:V(r,22),hashAlgorithm:V(r,24),hashData:t.subarray(28,28+n)})}return e}function Qf(t,e,r){let n=t.rawBitFlag=V(e,r+2),s=(n&1)==1,i=v(e,r+6);Object.assign(t,{encrypted:s,version:V(e,r),bitFlag:{level:(n&6)>>1,dataDescriptor:(n&8)==8,languageEncodingFlag:(n&2048)==2048},rawLastModDate:i,lastModDate:pm(i),filenameLength:V(e,r+22),extraFieldLength:V(e,r+24)})}function $f(t,e,r,n,s){let{rawExtraField:i}=e,a=e.extraField=new Map,o=L(i),c=0,f=!1;try{for(;c<i.length;){let y=V(o,c),S=V(o,c+2);a.set(y,{type:y,data:i.slice(c+4,c+4+S)}),c+=4+S}}catch{f=!0}c>i.length&&(f=!0);let R=V(r,n+4);Object.assign(e,{signature:v(r,n+10),crc32:v(r,n+10),compressedSize:v(r,n+14),uncompressedSize:v(r,n+18)});let E=a.get(1);E&&(JE(E,e),e.extraFieldZip64=E);let l=a.get(28789);l&&(Yf(l,ba,Na,e,t),e.extraFieldUnicodePath=l);let h=a.get(25461);h&&(Yf(h,wn,Oa,e,t),e.extraFieldUnicodeComment=h);let g=a.get(39169);g&&g.data.length>=7?(QE(g,e,R),e.extraFieldAES=g):e.compressionMethod=R;let p=a.get(13);p&&(Wf(p,e),e.extraFieldPkwareUnix=p);let d=a.get(22613);d&&(Wf(d,e),e.extraFieldUnixType1=d);let u=a.get(10);u&&($E(u,e),e.extraFieldNTFS=u);let m=a.get(30805),_;if(m&&(_=Gf(m,e,!1),e.extraFieldUnix=m),!_){let y=a.get(30837);y&&(Gf(y,e,!0),e.extraFieldInfoZip=y)}let A=a.get(21589);A&&(em(A,e,s),e.extraFieldExtendedTimestamp=A);let T=a.get(6534);return T&&(e.extraFieldUSDZ=T),f}function JE(t,e){e.zip64=!0;let r=L(t.data),n=GE.filter(([i,a])=>e[i]==a),s=n.reduce((i,[,a])=>i+Bf[a].bytes,0);if(t.data.length<s)throw new Error(go);for(let i=0,a=0;i<n.length;i++){let[o,c]=n[i],f=Bf[c];e[o]=t[o]=f.getValue(r,a),a+=f.bytes}}function Yf(t,e,r,n,s){if(t.data.length<5){t.valid=!1;return}let i=L(t.data),a=new Ge;a.append(s[r]);let o=L(new Uint8Array(4));o.setUint32(0,a.get(),!0);let c=v(i,1),f=Mt(i,0);Object.assign(t,{version:f,[e]:un(t.data.subarray(5)),valid:f==1&&!s.bitFlag.languageEncodingFlag&&c==v(o,0)}),t.valid&&(n[e]=t[e],n[e+WE]=!0)}function QE(t,e,r){let n=L(t.data),s=Mt(n,4);Object.assign(t,{vendorVersion:Mt(n,0),vendorId:Mt(n,2),strength:s,originalCompressionMethod:r,compressionMethod:V(n,5)}),e.compressionMethod=t.compressionMethod,t.vendorVersion!=qf&&(e.crc32=w)}function $E(t,e){let r=L(t.data),n=4,s;try{for(;n<t.data.length&&!s;){let i=V(r,n),a=V(r,n+2);i==1&&(s=t.data.slice(n+4,n+4+a)),n+=4+a}}catch{}if(s&&s.length==24){let i=L(s),a=i.getBigUint64(0,!0),o=i.getBigUint64(8,!0),c=i.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:c});let f=$a(a),R=$a(o),E=$a(c),l={lastModDate:f,lastAccessDate:R,creationDate:E};Object.assign(t,l),Object.assign(e,l,{rawLastAccessDate:o,rawCreationDate:c})}}function Wf(t,e){if(t.data.length<8)return;let r=L(t.data),n=new Date((v(r,0)|0)*1e3),s=new Date((v(r,4)|0)*1e3),i={lastAccessDate:n,lastModDate:s};t.data.length>=12&&(i.uid=V(r,8),i.gid=V(r,10)),Object.assign(t,i),Object.assign(e,i)}function Gf(t,e,r){try{let n=L(t.data),s,i;if(r){let a=0,o=Mt(n,a++),c=Mt(n,a++);s=Vf(t.data.subarray(a,a+c)),a+=c;let f=Mt(n,a++);i=Vf(t.data.subarray(a,a+f)),Object.assign(t,{version:o,uid:s,gid:i})}else t.data.length>=4&&(s=V(n,0),i=V(n,2),Object.assign(t,{uid:s,gid:i}));return s!==w&&(e.uid=s),i!==w&&(e.gid=i),s!==w||i!==w}catch{}}function Vf(t){let e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function em(t,e,r){if(!t.data.length)return;let n=L(t.data),s=Mt(n,0),i=[],a=[];r?((s&1)==1&&(i.push(rr),a.push(Or)),(s&2)==2&&(i.push(Tn),a.push(Ca)),(s&4)==4&&(i.push(An),a.push(La))):t.data.length>=5&&(i.push(rr),a.push(Or));let o=1;i.forEach((c,f)=>{if(t.data.length>=o+4){let R=v(n,o);e[c]=t[c]=new Date((R|0)*1e3);let E=a[f];t[E]=R}o+=4})}async function tm({reader:t,fileEntry:e,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:a,dataOffset:o,dataDescriptor:c,extraFieldZip64:f,readRanges:R}){let E=0;if(c&&(f?E=20:E=12),E){let d=await re(t,o+i,E+4),u=L(d),m=d.length==E+4&&v(u,0)==134695760;if(m){let _=Xf(u,4,f);(e.encrypted&&!e.zipCrypto||_.crc32==s)&&_.compressedSize==i&&_.uncompressedSize==a?E+=4:m=!1}if(d.length>=E){let _=Xf(u,m?4:0,f);_.signature=m,e.localDirectory.dataDescriptor=_}}let l={start:n,end:o+i+E,fileEntry:e},{indexes:h,sortedRanges:g,pendingRanges:p}=R;if(!h.has(r)){let d=rm(g,l)||p.find(u=>to(l,u));if(d){let u=new Error(Ro);throw u.overlappingEntry=d.fileEntry,u}h.add(r),p.push(l),p.length*p.length>g.length&&(p.sort((u,m)=>u.start-m.start),R.sortedRanges=nm(g,p),p.length=0)}}function rm(t,e){let r=0,n=t.length;for(;r<n;){let a=r+n>>>1;t[a].start<e.start?r=a+1:n=a}let s=t[r-1],i=t[r];if(s&&to(e,s))return s;if(i&&to(e,i))return i}function to(t,e){return t.start<e.end&&e.start<t.end}function nm(t,e){let r=[],n=0,s=0;for(;n<t.length||s<e.length;)s==e.length||n<t.length&&t[n].start<e[s].start?r.push(t[n++]):r.push(e[s++]);return r}function Xf(t,e,r){let n=v(t,e),s,i;return r?(s=Ce(t,e+4),i=Ce(t,e+12)):(s=v(t,e+4),i=v(t,e+8)),{crc32:n,compressedSize:s,uncompressedSize:i}}function xr(t,e){return t.getDiskOffset?t.getDiskOffset(e):0}async function sm(t){return await eu(t)==134695760}async function im(t){let e=await eu(t);return e==134695760||e==808471376}async function eu(t){let e=await re(t,0,4);return v(L(e))}function tu(t){return t===Nt||t===is||t===it}function am(t,e,r){return Math.min(t,r?e*jE:e)}function zo(t,e){return jf(t,jf(e,is))}function jf(t,e){let r=t[qc];if(r!==w){if(!tu(r))throw new Error(yo);return r}let n=t[Cc];return n===w?e:n?Nt:e==it?it:is}function om(t,e){return t===w?e!=it:!!t}function cm(t,e){return t===w?e==Nt:!!t}function lm(t,e){if(t===w)return e;if(!tu(t))throw new Error(So);return t}function fm(t,e){if(e==it)return!1;let r=t.split("/");return r.length>1&&r[r.length-1]===""&&r.pop(),YE.test(t)||t.startsWith("/")||t.startsWith("\\")||HE.test(t)?!0:e==Nt&&(r.includes(".")||r.includes("")||t.includes("\0"))}function ru(t,e){if(t!==w){let r=Ot(t);if(typeof r!=yc||Number.isNaN(r)||r<0)throw new Error(Io);return r}return e==Nt?0:e==it?1/0:65535}async function nu(t,e,r){let{size:n}=t,s=Math.min(n,65557),i={remaining:XE},a,o,c=0;for await(let[f,R,E,l,h]of su(t,s)){let g=V(f,l+20);if(h+22+g==n){let p=await iu(t,f,R,l,h,n,i);if(p==Js){if(a||(a=ro(E,l,h)),c++,!e||c>1)break}else p==Bo&&!o&&(o=ro(E,l,h))}}return a||(a=o),a||(a=await um(t,r,i)),{endOfDirectoryInfo:a,endOfDirectoryReachingEndCount:c}}async function um(t,e,r){let{size:n}=t,s=Math.min(n,e==1/0?n:65557+e),i,a;for await(let[o,c,f,R,E]of su(t,s)){let l=ro(f,R,E);i||(i=l);let h=await iu(t,o,c,R,E,n,r);if(h==Js)return l;h==Bo&&!a&&(a=l)}return a||i}async function*su(t,e){let r=t.size-e,n=await re(t,r,e),s=L(n);for(let i=n.length-22;i>=0;i--)v(s,i)==101010256&&(yield[s,r,n,i,r+i])}function ro(t,e,r){return{offset:r,buffer:new Uint8Array(t.subarray(e,e+22)).buffer}}async function iu(t,e,r,n,s,i,a){let o=V(e,n+10),c=v(e,n+12),f=v(e,n+16);if(o==65535||c==4294967295||f==4294967295)return await Zf(t,e,r,s-20,i,a)==117853008?Js:zf;if(!o&&!c)return Bo;let R=V(e,n+6);for(let E of[s-c,xr(t,R)+f])if(await Zf(t,e,r,E,i,a)==33639248)return Js;return zf}async function Zf(t,e,r,n,s,i){if(n<0||n+4>s)return w;if(n>=r)return v(e,n-r);if(i.remaining>0){i.remaining--;let a=await re(t,n,4);return v(L(a),0)}return w}function dm(t,e,r,n,s){let{rawFilename:i}=t,a=!s,o=t.decryptedDirectory&&(e.rawBitFlag&8192)==8192;n&&!o&&(r.length!=i.length||r.some((c,f)=>c!=i[f]))&&et(a,s,Uo),(e.rawBitFlag&kf)!=(t.rawBitFlag&kf)&&et(a,s,Mo),e.compressionMethod!=t.compressionMethod&&et(a,s,vo),!e.bitFlag.dataDescriptor&&!o&&(e.crc32||e.compressedSize||e.uncompressedSize)&&(e.crc32!=t.crc32||e.compressedSize!=t.compressedSize||e.uncompressedSize!=t.uncompressedSize)&&et(a,s,ko)}function et(t,e,r){t?Gs(r):Te(e,r)}function Gs(t){let e=new Error(_o);throw e.reason=t,e}function ie(t,e,r){return e[r]===w?t.options[r]:e[r]}function Kf(t,e,r){return Er(ie(t,e,r))}function pm(t){let e=(t&4294901760)>>16,r=t&65535,n=new Date(1980+((e&65024)>>9),((e&480)>>5)-1,e&31,(r&63488)>>11,(r&2016)>>5,(r&31)*2,0);return n<bt?bt:n}function $a(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Mt(t,e){return t.getUint8(e)}function V(t,e){return t.getUint16(e,!0)}function v(t,e){return t.getUint32(e,!0)}function Ce(t,e){let r=t.getBigUint64(e,!0);if(r>VE)throw new Error(bo);return Number(r)}var Dr,po,Eo,mo,ho,go,oi,Xs,js,Ro,wo,_o,To,Ao,yo,So,Io,bo,No,Oo,Do,ci,Po,Zs,Ks,qs,xo,Co,Lo,Pr,Fo,Uo,Mo,vo,ko,zE,HE,YE,Mf,WE,vf,kf,qf,GE,Bf,VE,XE,jE,zf,Bo,Js,vt,Qs,eo,li=se(()=>{ue();We();Kt();vs();pn();Ra();Pt();Ta();jt();Xt();tn();Ws();gr();Dr="File format is not recognized",po="End of central directory not found",Eo="End of Zip64 central directory locator not found",mo="Central directory header not found",ho="Local file header not found",go="Zip64 extra field not found",oi="File contains encrypted entry",Xs="Encryption method not supported",js="Split zip file",Ro="Overlapping entry found",wo="Entry data out of bounds",_o="Ambiguous archive",To="Encrypted central directory is not supported",Ao="Unsafe filename",yo="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",So="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Io="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",bo="64-bit value exceeds Number.MAX_SAFE_INTEGER",No="unsorted central directory",Oo="unknown version needed to extract",Do="compressed patched data",ci="malformed extra field",Po="unknown zip64 extensible data",Zs="wrapped entries count",Ks="appended data",qs="prepended data",xo="prepended central directory",Co="trailing central directory data",Lo="duplicate filename",Pr="mismatched zip64 end of central directory record",Fo="multiple end of central directory records",Uo="mismatched local file header (filename)",Mo="mismatched local file header (general purpose bit flag)",vo="mismatched local file header (compression method)",ko="mismatched local file header (crc32 or sizes)",zE=63,HE=/^[a-zA-Z]:/,YE=/(^|[\\/])\.\.([\\/]|$)/,Mf="utf-8",WE="UTF8",vf="cp437",kf=2057,qf=1,GE=[[_n,4294967295],[Da,4294967295],[Pa,4294967295],[xa,65535]],Bf={65535:{getValue:v,bytes:4},4294967295:{getValue:Ce,bytes:8}},VE=BigInt(Number.MAX_SAFE_INTEGER),XE=64,jE=1032,zf=0,Bo=1,Js=2,vt=class{constructor(e,r={}){Object.assign(this,{reader:new pt(e),options:r,readRanges:{indexes:new Set,sortedRanges:[],pendingRanges:[]}})}async*getEntriesGenerator(e={}){let r=this,{reader:n}=r;if(await ge(n),(n.size===w||!n.readUint8Array)&&(n=new Qe(await lt(n.readable)),await ge(n)),n.size<22)throw new Error(Dr);let s=r.warnings=[],i=zo(e,r.options),a=i==Nt,o=i!=it,c=ru(ie(r,e,Hi),i),f=lm(ie(r,e,Jc),i),R=ie(r,e,Qc),{endOfDirectoryInfo:E,endOfDirectoryReachingEndCount:l}=await nu(n,o,c);if(!E)throw await sm(n)?new Error(js):new Error(po);o&&l>1&&Gs(Fo);let h=L(E),g=v(h,12),p=v(h,16),d=E.offset,u=V(h,20),m=d+22+u,_=n.size-m;_>c&&Gs(Ks),_>0&&Te(s,Ks);let A=V(h,4),T=n.lastDiskNumber||0,y=V(h,6),S=V(h,10),I=0,N,F,H,q,$=56,Z,W=p==4294967295||g==4294967295||S==65535||y==65535;if(p!=4294967295&&y!=65535&&(p+=xr(n,y)),W){let J=E.offset>=20?await re(n,E.offset-20,20):j,b=L(J);if(J.length==20&&v(b,0)==117853008){p=xr(n,v(b,4))+Ce(b,8);let Y=await re(n,p,56),Q=L(Y),Ee=E.offset-20-56;if((Y.length<56||v(Q,0)!=101075792)&&p!=Ee&&Ee>=0){let Pe=p;p=Ee,p>Pe&&(I=p-Pe),Y=await re(n,p,56),Q=L(Y)}if(Y.length<56||v(Q,0)!=101075792)throw new Error(Eo);if(H=!0,q=Ce(Q,4)>44,q){let Pe=Math.min(Ce(Q,4)-44,n.size-p-56);if(Pe>0){$+=Pe;let Ze=await re(n,p+56,Pe);Z=qE(Ze)}}A==65535?A=v(Q,16):A!=v(Q,16)&&et(a,s,Pr),y==65535?y=v(Q,20):y!=v(Q,20)&&et(a,s,Pr),S==65535?S=Ce(Q,32):S!=Ce(Q,32)&&et(a,s,Pr),g==4294967295?g=Ce(Q,40):g!=Ce(Q,40)&&et(a,s,Pr),p=xr(n,y)+Ce(Q,48)+I}}let U=g,ne=E.offset-(H?$+20:0);if(p>=n.size&&(I=n.size-p-g-22,p=n.size-g-22),T!=A)throw new Error(js);if(p<0)throw new Error(Dr);let B=0,X=await re(n,p,g),M=L(X);if(g){if(X.length<4)throw new Error(Dr);let J=ne-g;if(p!=J&&y==A){let b=v(M,B)==33639248||!!(Z&&Z.compressedSize)||Ja(M),Y=!b;if(!Y&&J>=0&&J+4<=n.size){let Q=await re(n,J,4);Y=v(L(Q),0)==33639248}if(Y){let Q=p;p=J,p>Q&&(I+=p-Q,N=b),X=await re(n,p,g),M=L(X)}}}let G=ne-p;if(g!=G&&G>=0&&y==A&&(g=G,X=await re(n,p,g),M=L(X)),p<0||p>=n.size)throw new Error(Dr);r.directoryOffset=p,r.directoryLength=U;let pe=Kf(r,e,$c),me,nt;if(pe&&S&&X.length>=4&&v(M,0)!=33639248&&(q||Ja(M))){let J=KE(Z,U,X.length);nt=X.subarray(J),X=await pe(X.subarray(0,J),Z),M=L(X),U=X.length,me=!0}Z&&!me&&(X.length<4||v(M,0)==33639248)&&Te(s,Po),F=p;let Ue=ie(r,e,Sc),Me=ie(r,e,Ic),je=new Set,be,Ne=-1,Oe=!a&&!H;!S&&Oe&&(S=Hf(M,X,B),S&&Te(s,Zs));for(let J=0;J<S;J++){let b=new eo(n,r.options);if(B+46>X.length||v(M,B)!=33639248)throw J==0&&!me&&(q||Ja(M))?new Error(To):new Error(mo);Qf(b,M,B+6);let Y=!!b.bitFlag.languageEncodingFlag,Q=B+46,Pe=Q+b.filenameLength+b.extraFieldLength,Ze=V(M,B+4),Bt=Ze>>8==0,Gr=Ze>>8==3,zt=V(M,B+32),He=Pe+zt,Tt=new Uint8Array(X.subarray(Q,He)),st=Tt.subarray(0,b.filenameLength),de=Tt.subarray(b.filenameLength+b.extraFieldLength),Ae=Y||!Ue&&ga(st),Yn=Y||!Me&&ga(de),At=v(M,B+38),yt=At&255,Wn={readOnly:!!(yt&1),hidden:!!(yt&2),system:!!(yt&4),directory:!!(yt&16),archive:!!(yt&32)},vi=v(M,B+42),Vr=Kf(r,e,bc)||un,Ht=Ae?Mf:Ue||vf,St=Yn?Mf:Me||vf,he=Vr(st,Ht,ns);if(he===w&&(he=un(st,Ht)),R){let ke=R(he);ke!==w&&(he=ke)}if(fm(he,f)){let ke=new Error(Ao);throw ke.filename=he,ke}let Xr=Vr(de,St,ss);Xr===w&&(Xr=un(de,St)),Object.assign(b,{index:J,decryptedDirectory:me,versionMadeBy:Ze,msDosCompatible:Bt,zip64:!1,compressedSize:0,uncompressedSize:0,commentLength:zt,offset:vi,diskNumberStart:V(M,B+34),internalFileAttributes:V(M,B+36),externalFileAttributes:At,msdosAttributesRaw:yt,msdosAttributes:Wn,rawFilename:st,filenameUTF8:Ae,commentUTF8:Yn,rawExtraField:Tt.subarray(b.filenameLength,b.filenameLength+b.extraFieldLength),rawComment:de,filename:he,comment:Xr}),$f(b,b,M,B+6)&&Te(s,ci,he),b.offset+=I;let Yt=xr(n,b.diskNumberStart)+b.offset;F=Math.min(Yt,F),Yt<Ne&&Te(s,No,he),Ne=Yt,(b.version&255)>zE&&Te(s,Oo,he),(b.rawBitFlag&32)==32&&Te(s,Do,he),je.has(b.filename)&&(be=!0),je.add(b.filename);let It=b.externalFileAttributes>>16&65535;b.unixMode===w&&(It&16877)!=0&&(b.unixMode=It);let Gn=!!(b.unixMode&2048),Ke=!!(b.unixMode&1024),Vn=!!(b.unixMode&512),_c=((b.unixMode===w?It:b.unixMode)&61440)==40960,ip=!_c&&(b.unixMode!==w?(b.unixMode&73)!=0:Gr&&(It&73)!=0),ap=b.unixMode!==w&&(b.unixMode&61440)==16384,op=(It&61440)==16384;Object.assign(b,{setuid:Gn,setgid:Ke,sticky:Vn,symlink:_c,unixExternalUpper:It,executable:ip,directory:ap||op||Bt&&Wn.directory||b.filename.endsWith("/"),zipCrypto:b.encrypted&&!b.extraFieldAES});let jr=new Et(b);if(jr.getData=(ke,Xn)=>b.getData(ke,jr,r.readRanges,Xn),jr.arrayBuffer=async ke=>{let Xn=new TransformStream,Ac=lt(Xn.readable).then(cp=>cp.arrayBuffer());return Ac.catch(()=>{}),await b.getData(Xn,jr,r.readRanges,Object.assign({},ke,{preventClose:!1})),Ac},B=He,J==S-1&&Oe){let ke=Hf(M,X,B);ke&&(S+=ke,Te(s,Zs))}let{onprogress:Tc}=e;if(Tc)try{await Tc(J+1,S,new Et(b))}catch{}yield jr}let oe=B,De=Qa(X.subarray(B))||(me?Qa(nt):w);if(!De&&!me){let J=p+B,b=Math.min(ne-J,65541);b>=6&&(De=Qa(await re(n,J,b)))}De&&(r.digitalSignature=De,oe=B+6+De.length),(B!=U&&oe!=U||!me&&B!=g&&oe!=g)&&et(a,s,Co),be&&et(a,s,Lo);let ve=ie(r,e,Nc),fe=ie(r,e,Oc),te=(a||ve)&&S&&F==4&&await im(n)?4:0;return a&&(I||S&&F>te)&&Gs(qs),(I||S&&F>4)&&Te(s,qs),N&&Te(s,xo),ve&&(r.prependedData=F>te?await re(n,te,F-te):j),r.comment=u?await re(n,d+22,u):j,fe&&(r.appendedData=m<n.size?await re(n,m,n.size-m):j),!0}async getEntries(e={}){let r=[];for await(let n of this.getEntriesGenerator(e))r.push(n);return r}async close(){let{reader:e}=this;!e.readUint8Array&&e.readable&&!e.readable.locked&&await e.readable.cancel()}[Zn](){return this.close()}},Qs=class{constructor(e={}){let r,{readable:n,writable:s}=new TransformStream({start(c){r=c}}),i=new vt(n,e),a=i.getEntriesGenerator(),o=new Set;this.readable=new ReadableStream({async pull(c){let{done:f,value:R}=await a.next();if(f)return c.close();let E=ZE(R,o),l={...R,readable:E.readable};delete l.getData,Object.defineProperties(l,{localDirectory:{get:()=>R.localDirectory,enumerable:!0},warnings:{get:()=>R.warnings,enumerable:!0}}),c.enqueue(l)},async cancel(c){let f=Array.from(o);o.clear(),r.error(c),await Promise.allSettled(f.map(R=>R.cancel(c))),await Promise.allSettled([a.return(),i.close()])}}),this.writable=s}};eo=class{constructor(e,r){Object.assign(this,{reader:e,options:r})}async getData(e,r,n,s={}){let i=this,a=at(),{reader:o,index:c,offset:f,diskNumberStart:R,extraFieldAES:E,extraFieldZip64:l,compressionMethod:h,bitFlag:g,rawBitFlag:p,crc32:d,rawLastModDate:u,uncompressedSize:m,compressedSize:_}=i,{dataDescriptor:A}=g,T=r.localDirectory={},y=r.warnings=[],S=xr(o,R)+f,I=await re(o,S,30),N=L(I),F=ie(i,s,Kn),H=ie(i,s,qn),q=mr(ie(i,s,Kr)),$=!!q,Z=q===!0;if(as(F,H),F=F&&F.length?F:w,H=H&&H.length?H:w,E&&E.originalCompressionMethod!=99)throw new Error(ft);if(I.length<30||v(N,0)!=67324752)throw new Error(ho);Qf(T,N,4);let{extraFieldLength:W,filenameLength:U}=T,ne=T.dataOffset=S+30+U+W,B=ie(i,s,Lc),X=zo(s,i.options),M=om(B,X),G=ie(i,s,Fc),pe=cm(G===w?B:G,X),me=j;if(pe&&(U||W)){let de=await re(o,S+30,U+W);me=de.subarray(0,U),T.rawExtraField=de.subarray(U)}else T.rawExtraField=W?await re(o,S+30+U,W):j;pe&&(T.rawFilename=me),$f(i,T,N,4,!0)&&Te(y,ci),dm(i,T,me,pe,M?w:y);let{lastAccessDate:nt,creationDate:Ue,uid:Me,gid:je}=T;nt&&(r.lastAccessDate=nt),Ue&&(r.creationDate=Ue),Me!==w&&r.uid===w&&(r.uid=Me),je!==w&&r.gid===w&&(r.gid=je);let be=ie(i,s,Dc),Ne=i.encrypted&&T.encrypted&&(!Z||be),Oe=Ne&&!E;if(Z||(r.zipCrypto=Oe),Ne&&(T.rawBitFlag&64)==64)throw new Error(Xs);let oe=$?w:gs(h);if(h!=0&&h!=8&&h!=9&&!oe&&!$)throw new Error(ft);if(Ne){if(!Oe&&(E.strength<1||E.strength>3))throw new Error(Xs);if(!F&&!H)throw new Error(oi)}if(ne+_>o.size)throw new Error(wo);let De=_,ve=Qr(ie(i,s,Jn));Vt(ve);let fe=ie(i,s,xc),te=ie(i,s,Pc);te&&(fe=!0);let{onstart:J,onprogress:b,onend:Y}=s,Q=h!=0&&!$,Ee=$?_-Sn(Ne,Oe,E&&E.strength):m,Pe=h==9,Ze=ie(i,s,$n);Pe&&(Ze=!1);let Bt=ie(i,s,Mc),Gr=(Bt===w?ie(i,s,Uc):Bt)&&!$&&(!Ne||Oe||E&&E.vendorVersion==qf),zt={options:{codecType:Ns,password:F,rawPassword:H,zipCrypto:Oe,encryptionStrength:E&&E.strength,checkCrc32:Gr,checkAuthenticationCode:ie(i,s,vc),passwordVerification:Oe&&(A?u>>>8&255:d>>>24&255),outputSize:Ee,crc32:d,compressed:Q,encrypted:Ne,useWebWorkers:ie(i,s,Qn),useCompressionStream:Ze,transferStreams:ie(i,s,es),deflate64:Pe,format:oe?oe.format:w,codecURI:oe?oe.codecURI:w,compressionMethod:h,rawBitFlag:p,checkPasswordOnly:be},config:a,streamOptions:{signal:ve,size:De,onstart:J,onprogress:b,onend:Y}};fe&&await tm({reader:o,fileEntry:r,index:c,offset:S,crc32:d,compressedSize:_,uncompressedSize:m,dataOffset:ne,dataDescriptor:A||T.bitFlag.dataDescriptor,extraFieldZip64:l||T.extraFieldZip64,readRanges:n});let He,Tt,st;try{if(!te){be&&(e=new WritableStream),e=new br(e),await ge(e,am(Ee,_,Q)),{writable:He}=e;let de=ze(o.createReadable({offset:ne,size:De})),{outputSize:Ae}=await Ms({readable:de,writable:He},zt);if(Vt(ve),Ae!=Ee)throw Object.assign(new Error(Je),{outputSize:Ae});e.size+=Ae}}catch(de){let{outputSize:Ae}=zt;if(Ae!==w?e.size+=Ae:Re(de)&&de.outputSize!==w&&(e.size+=de.outputSize),!be||!Re(de)||de.message!=ct)throw Tt=de,st=!0,de}finally{if(!(!dn(e)&&ie(i,s,ts))&&He&&!He.locked){let Ae=He.getWriter();if(st)try{await Ae.abort(Tt)}catch{}else await Ae.close()}}return be||te?w:e.getData?e.getData():He}}});We();var os=new Uint8Array(288);os.fill(8,0,144),os.fill(9,144,256),os.fill(7,256,280),os.fill(8,280,288),new Uint8Array(30).fill(5);var ot="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",wl=t=>t({workerURI:e=>{let r="text/javascript",n=`!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const{Array:t,Object:n,Number:e,Math:o,Error:r,Uint8Array:c,Uint16Array:s,Uint32Array:a,Int32Array:i,Map:f,DataView:u,Promise:w,TextEncoder:l,crypto:d,postMessage:p,TransformStream:h,ReadableStream:y,WritableStream:m,CompressionStream:S,DecompressionStream:g}=self,v=void 0,b="undefined",k="function",z=new c,C=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let n=t;for(let t=0;t<8;t++)n=1&n?n>>>1^3988292384:n>>>1;C[0][t]=n}for(let t=0;t<256;t++)for(let n=1;n<8;n++){const e=C[n-1][t];C[n][t]=e>>>8^C[0][255&e]}const[I,M,A,E,R,x,P,D]=C;class F{constructor(t){this.o=t||-1}append(t){let n=0|this.o;const e=0|t.length;let o=0;if(e>=8&&t.buffer){const r=new u(t.buffer,t.byteOffset,e),c=e-8;for(;o<=c;o+=8){const t=n^r.getInt32(o,!0),e=r.getInt32(o+4,!0);n=D[255&t]^P[t>>>8&255]^x[t>>>16&255]^R[t>>>24&255]^E[255&e]^A[e>>>8&255]^M[e>>>16&255]^I[e>>>24&255]}}for(;o<e;o++)n=n>>>8^I[255&(n^t[o])];this.o=n}get(){return~this.o}}class U extends h{constructor(){let t;const n=new F;super({transform(t,e){n.append(t),e.enqueue(t)},flush(){const e=new c(4);new u(e.buffer).setUint32(0,n.get()),t.value=e}}),t=this}}function B(t,n){const e=new c(t.length+n.length);return e.set(t),e.set(n,t.length),e}function W(t){return new u(t.buffer,t.byteOffset,t.byteLength)}const O=64,V=20,K=new c([128]),T=new c(1),_=new i([1732584193,4023233417,2562383102,271733878,3285377520]),j=new c(256),H=new i(256),L=new i(256),Z=new i(256),N=new i(256);let q=!1;function G(t,n){!function(){if(!q){let t=1,n=1;do{t=255&(t^t<<1^(128&t?27:0)),n=255&(n^n<<1),n=255&(n^n<<2),n=255&(n^n<<4),128&n&&(n^=9),j[t]=255&(n^(n<<1|n>>7)^(n<<2|n>>6)^(n<<3|n>>5)^(n<<4|n>>4)^99)}while(1!=t);j[0]=99;for(let t=0;t<256;t++){const n=j[t],e=Y(n),o=e<<24|n<<16|n<<8|e^n;H[t]=o,L[t]=o>>>8|o<<24,Z[t]=o>>>16|o<<16,N[t]=o>>>24|o<<8}q=!0}}();const e=new i(60),o=function(t,n){const e=t.length>>2,o=e+6,r=4*(o+1);let c=1;for(let o=0;o<e;o++)n[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let t=e;t<r;t++){let o=n[t-1];t%e==0?(o=Q(o<<8|o>>>24)^c<<24,c=Y(c)):e>6&&t%e==4&&(o=Q(o)),n[t]=n[t-e]^o}return o}(t,e),r=new i(4),c=J(n);let s=0,a=0,f=0,w=0;return{process(t,n){n&&c.update(t,0,t.length),function(t){const n=new u(t.buffer,t.byteOffset,t.byteLength),e=t.length;let o=0;for(;o+16<=e;o+=16)l(),n.setInt32(o,n.getInt32(o)^r[0]),n.setInt32(o+4,n.getInt32(o+4)^r[1]),n.setInt32(o+8,n.getInt32(o+8)^r[2]),n.setInt32(o+12,n.getInt32(o+12)^r[3]);if(o<e){l();for(let n=0;o<e;o++,n++)t[o]^=r[n>>2]>>>24-8*(3&n)}}(t),n||c.update(t,0,t.length)},digest:()=>c.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(f=f+1|0,f||(w=w+1|0)));let t=X(s)^e[0],n=X(a)^e[1],c=X(f)^e[2],i=X(w)^e[3],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[4],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[5],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[6],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[7];t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[8],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[9],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[10],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[11],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[12],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[13],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[14],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[15],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[16],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[17],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[18],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[19],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[20],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[21],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[22],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[23],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[24],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[25],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[26],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[27],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[28],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[29],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[30],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[31],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[32],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[33],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[34],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[35],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[36],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[37],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[38],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[39];let h=40;o>10&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[40],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[41],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[42],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[43],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[44],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[45],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[46],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[47],h=48),o>12&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[48],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[49],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[50],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[51],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[52],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[53],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[54],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[55],h=56),r[0]=(j[u>>>24]<<24|j[l>>>16&255]<<16|j[d>>>8&255]<<8|j[255&p])^e[h],r[1]=(j[l>>>24]<<24|j[d>>>16&255]<<16|j[p>>>8&255]<<8|j[255&u])^e[h+1],r[2]=(j[d>>>24]<<24|j[p>>>16&255]<<16|j[u>>>8&255]<<8|j[255&l])^e[h+2],r[3]=(j[p>>>24]<<24|j[u>>>16&255]<<16|j[l>>>8&255]<<8|j[255&d])^e[h+3]}}function J(t){const n=function(){const t=new i(_),n=new i(16),e=new c(O),r=new u(e.buffer),s=new c(8);let a=0,f=0;return{update:w,digest:function(){const n=8*f,e=o.floor(n/4294967296),r=n>>>0;for(w(K,0,1);56!=a;)w(T,0,1);s[0]=e>>>24,s[1]=e>>>16,s[2]=e>>>8,s[3]=e,s[4]=r>>>24,s[5]=r>>>16,s[6]=r>>>8,s[7]=r,w(s,0,8);const i=new c(V),l=new u(i.buffer);for(let n=0;n<t.length;n++)l.setInt32(4*n,t[n]);return t.set(_),a=0,f=0,i}};function w(t,n,o){const c=n+o;if(f+=o,a){for(;n<c&&a<O;)e[a++]=t[n++];a==O&&(l(r,0),a=0)}if(n+O<=c){const e=new u(t.buffer,t.byteOffset,t.byteLength);for(;n+O<=c;n+=O)l(e,n)}for(;n<c;)e[a++]=t[n++]}function l(e,o){for(let t=0;t<16;t++)n[t]=e.getInt32(o+4*t);let r,c=t[0],s=t[1],a=t[2],i=t[3],f=t[4];for(let t=0;t<15;t+=5)f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[t]|0,s=s<<30|s>>>2,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+n[t+1]|0,c=c<<30|c>>>2,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+n[t+2]|0,f=f<<30|f>>>2,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+n[t+3]|0,i=i<<30|i>>>2,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+n[t+4]|0,a=a<<30|a>>>2;f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[15]|0,s=s<<30|s>>>2,r=n[13]^n[8]^n[2]^n[0],r=r<<1|r>>>31,n[0]=r,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+r|0,c=c<<30|c>>>2,r=n[14]^n[9]^n[3]^n[1],r=r<<1|r>>>31,n[1]=r,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+r|0,f=f<<30|f>>>2,r=n[15]^n[10]^n[4]^n[2],r=r<<1|r>>>31,n[2]=r,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+r|0,i=i<<30|i>>>2,r=n[0]^n[11]^n[5]^n[3],r=r<<1|r>>>31,n[3]=r,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+r|0,a=a<<30|a>>>2;for(let t=20;t<40;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+1859775393+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+1859775393+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+1859775393+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+1859775393+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+1859775393+r|0,a=a<<30|a>>>2;for(let t=40;t<60;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s&a|(s|a)&i)+f+2400959708+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c&s|(c|s)&a)+i+2400959708+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f&c|(f|c)&s)+a+2400959708+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i&f|(i|f)&c)+s+2400959708+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a&i|(a|i)&f)+c+2400959708+r|0,a=a<<30|a>>>2;for(let t=60;t<80;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+3395469782+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+3395469782+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+3395469782+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+3395469782+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+3395469782+r|0,a=a<<30|a>>>2;t[0]=t[0]+c|0,t[1]=t[1]+s|0,t[2]=t[2]+a|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0}}(),e=new c(O),r=new c(O);t.length>O&&(n.update(t,0,t.length),t=n.digest());for(let n=0;n<O;n++){const o=n<t.length?t[n]:0;e[n]=54^o,r[n]=92^o}return n.update(e,0,O),{update(t,e,o){n.update(t,e,o)},digest(){const t=n.digest();n.update(r,0,O),n.update(t,0,V);const o=n.digest();return n.update(e,0,O),o}}}function Q(t){return j[t>>>24]<<24|j[t>>>16&255]<<16|j[t>>>8&255]<<8|j[255&t]}function X(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Y(t){return 255&(t<<1^27*(t>>7))}const $=typeof d!=b&&typeof d.getRandomValues==k,tt="Invalid password",nt="zipjs-abort-check-password";function et(t){if($)return d.getRandomValues(t);throw new r("Crypto API not supported")}const ot={name:"PBKDF2"},rt=n.assign({hash:{name:"HMAC"}},ot),ct=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ot),st=["deriveBits"],at=[8,12,16],it=[16,24,32],ft=10,ut=typeof d!=b,wt=ut&&d.subtle;let lt=ut&&typeof wt!=b&&typeof wt.importKey==k&&typeof wt.deriveBits==k,dt=G;class pt extends h{constructor({password:t,rawPassword:n,encryptionStrength:e,checkPasswordOnly:o,checkAuthenticationCode:s=!0}){const a={};super({start(){yt(a,t,n,e)},async transform(t,n){const{password:e,strength:s,l:i,ready:f}=a;if(e?(await async function(t,n,e,o){const c=await vt(t,n,e,kt(o,0,at[n])),s=kt(o,at[n]);if(c[0]!=s[0]||c[1]!=s[1])throw gt(t),new r(tt)}(a,s,e,kt(t,0,at[s]+2)),t=kt(t,at[s]+2),o?(gt(a),n.error(new r(nt))):i()):await f,a.h)return;const u=new c(t.length-ft-(t.length-ft)%16);n.enqueue(St(a,t,u,0,ft,!0))},async flush(t){const{m:n,S:e,ready:o}=a;if(n){if(await o,a.h)return;const i=kt(e,e.length-ft),f=new c(kt(e,0,e.length-ft));n.process(f,!0);const u=n.digest();let w=e.length<ft?1:0;for(let t=0;t<ft;t++)w|=u[t]^i[t];if(w&&s)return void t.error(new r("Invalid authentication code"));t.enqueue(f)}}}),mt(this,a)}}class ht extends h{constructor({password:t,rawPassword:n,encryptionStrength:e}){const o={};super({start(){yt(o,t,n,e)},async transform(t,n){const{password:e,strength:r,l:s,ready:a}=o;let i=z;if(e?(i=await async function(t,n,e){const o=et(new c(at[n]));return B(o,await vt(t,n,e,o))}(o,r,e),s()):await a,o.h)return;const f=new c(i.length+t.length-t.length%16);f.set(i,0),n.enqueue(St(o,t,f,i.length,0,!1))},async flush(t){const{m:n,S:e,ready:r}=o;if(n){if(await r,o.h)return;const s=new c(e);n.process(s,!1);const a=kt(n.digest(),0,ft);t.enqueue(B(s,a))}}}),mt(this,o)}}function yt(t,e,o,r){n.assign(t,{ready:new w(n=>t.l=n),password:bt(e,o),strength:r-1,S:z,h:!1})}function mt(t,e){const o=t.readable.getReader(),r=new y({async pull(t){try{const{value:n,done:e}=await o.read();e?t.close():t.enqueue(n)}catch(t){throw gt(e),o.cancel(t).catch(()=>{}),t}},cancel:t=>(gt(e),o.cancel(t))});n.defineProperty(t,"readable",{get:()=>r})}function St(t,n,e,o,r,s){const{m:a,S:i}=t;i.length&&(n=B(i,n));const f=n.length-r,u=f-f%16;if(e=function(t,n){if(n&&n>t.length){const e=t;(t=new c(n)).set(e,0)}return t}(e,o+u),u){const t=kt(e,o,o+u);t.set(kt(n,0,u)),a.process(t,s)}return t.S=kt(n,u),e}function gt(t){const{m:n}=t;t.h=!0,n&&n.dispose&&n.dispose()}async function vt(t,e,r,s){t.password=null;const a=it[e],i=await async function(t,e,r){if(lt)try{const o=await wt.importKey("raw",t,rt,!1,st);return new c(await wt.deriveBits(n.assign({salt:e},ct),o,8*r))}catch{lt=!1}return function(t,n,e,r){const s=J(t),a=new c(r),i=new c(n.length+4),f=new u(i.buffer);i.set(n);for(let t=1,e=0;e<r;t++,e+=V){f.setUint32(n.length,t),s.update(i,0,i.length);let c=s.digest();const u=c.slice();for(let t=1;t<1e3;t++){s.update(c,0,V),c=s.digest();for(let t=0;t<V;t++)u[t]^=c[t]}a.set(u.subarray(0,o.min(V,r-e)),e)}return a}(t,e,0,r)}(r,s,2*a+2);return t.m=dt(kt(i,0,a),kt(i,a,2*a)),t.h&&gt(t),kt(i,2*a)}function bt(t,n){return n===v?function(t){if(typeof l==b){t=unescape(encodeURIComponent(t));const n=new c(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return n}return(new l).encode(t)}(t):n}function kt(t,n,e){return t.subarray(n,e)}class zt extends h{constructor({password:t,rawPassword:n,passwordVerification:e,checkPasswordOnly:o}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;if(e.password||e.rawPassword){const n=Mt(e,t.subarray(0,12));if(e.password=e.rawPassword=null,0!=(n[11]^e.passwordVerification))throw new r(tt);t=t.subarray(12)}o?n.error(new r(nt)):n.enqueue(Mt(e,t))}})}}class Ct extends h{constructor({password:t,rawPassword:n,passwordVerification:e}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;let o,r;if(e.password||e.rawPassword){e.password=e.rawPassword=null;const n=et(new c(12));n[11]=e.passwordVerification,o=new c(t.length+n.length),o.set(At(e,n),0),r=12}else o=new c(t.length),r=0;o.set(At(e,t),r),n.enqueue(o)}})}}function It(t,e,o,r){n.assign(t,{password:e,rawPassword:o,passwordVerification:r}),function(t,e,o){const r=[305419896,591751049,878082192];if(n.assign(t,{v:r,C:new F(r[0]),I:new F(r[2])}),o)for(let n=0;n<o.length;n++)Et(t,o[n]);else for(let n=0;n<e.length;n++)Et(t,e.charCodeAt(n))}(t,e,o)}function Mt(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,e[o]);return e}function At(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,n[o]);return e}function Et(t,n){let[,e]=t.v;t.C.append([n]);const r=~t.C.get();e=Pt(o.imul(Pt(e+xt(r)),134775813)+1),t.I.append([e>>>24]);const c=~t.I.get();t.v=[r,e,c]}function Rt(t){const n=2|t.v[2];return xt(o.imul(n,1^n)>>>8)}function xt(t){return 255&t}function Pt(t){return 4294967295&t}function Dt(t){if(t instanceof y)return t;const n=t.getReader();return new y({async pull(t){try{const{value:e,done:o}=await n.read();o?t.close():t.enqueue(e)}catch(t){throw n.cancel(t).catch(()=>{}),t}},cancel:t=>n.cancel(t)})}function Ft(t){return Boolean(t)&&"object"==typeof t}const Ut=new f;function Bt(t){return Ut.get(t)}const Wt="Invalid uncompressed size",Ot="Codec out of memory",Vt="Invalid CRC32",Kt="deflate-raw",Tt="gzip",_t=[31,139,8];class jt extends h{constructor(t,{chunkSize:n,CompressionStreamFallback:e,CompressionStream:o}){super({});const{compressed:r,encrypted:c,useCompressionStream:s,zipCrypto:a,computeCrc32:i,level:f,deflate64:w,format:l,compressionMethod:d,inputSize:p}=t,h=this;let y,m,S,g=super.readable;const v=l&&Bt(l),b=Gt(s,o,e),k=i&&r&&!w&&!v&&(!c||a)&&Boolean(b);if(c&&!a||!i||k||(y=new U,g=Qt(g,y)),r)if(v)g=Xt(g,qt(v.CompressionStream,l,{level:f,chunkSize:n,compressionMethod:d,uncompressedSize:p}));else if(k)S=new Ht,g=Xt(g,new b(Tt,{level:f,chunkSize:n})),g=Qt(g,S);else try{g=Jt(g,s,{level:f,chunkSize:n},o,e)}catch(t){if(!s&&e)throw en(t);let n;try{n=new o(Tt)}catch{throw en(t)}g=Xt(g,n),g=Qt(g,new Ht)}c&&(a?g=Qt(g,new Ct(t)):(m=new ht(t),g=Qt(g,m))),Nt(h,g,()=>{c&&!a||!i||(h.crc32=k?S.crc32:new u(y.value.buffer).getUint32(0))})}}class Ht extends h{constructor(){let t,n=10,e=new c(0);super({transform(t,r){if(n){const e=o.min(n,t.length);if(n-=e,!(t=t.subarray(e)).length)return}const c=e.length+t.length;if(c<=8)return void(e=B(e,t));const s=c-8,a=o.min(s,e.length);r.enqueue(B(e.subarray(0,a),t.subarray(0,s-a))),e=B(e.subarray(a),t.subarray(s-a))},flush(){const n=W(e);t.crc32=n.getUint32(0,!0),t.uncompressedSize=n.getUint32(4,!0)}}),t=this}}class Lt extends h{constructor(t,{chunkSize:n,DecompressionStreamFallback:e,DecompressionStream:o}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:f,compressed:l,useCompressionStream:d,deflate64:p,format:h,compressionMethod:m,rawBitFlag:S,outputSize:g}=t;let b,k,z,C=super.readable;if(a&&(s?C=Qt(C,new zt(t)):(k=new pt(t),C=Qt(C,k))),l){const t=new Set,s=h&&Bt(h);let a;if(s)C=Xt(C,qt(s.DecompressionStream,h,{chunkSize:n,compressionMethod:m,rawBitFlag:S,uncompressedSize:g}),t);else{const r=Gt(d,o,e);if(i&&!p&&f!==v&&g!==v&&r)try{a=new r(Tt,{chunkSize:n})}catch{a=v}if(!a)try{C=Jt(C,d,{chunkSize:n,deflate64:p},o,e,t)}catch(t){if(p||g===v||!d&&e)throw en(t);try{a=new o(Tt)}catch{throw en(t)}}}a?(z=!0,C=function(t,n,e,o,s){const a=n.writable.getWriter(),i=n.readable.getReader(),f=o===v?new F:v;let u,l,d=0,p=!1,h=!1;const m=new y({start(t){l=t},pull(){b()},cancel:t=>(h=!0,b(),i.cancel(t))});return async function(){const n=t.getReader();try{const t=new c(10);for(t.set(_t),await a.write(t);;){await g(),await a.ready;const{value:t,done:e}=await tn(n,s);if(e)break;await a.write(t)}f&&await a.write(new c(0));const r=new c(8),i=W(r);i.setUint32(0,f?f.get():o,!0),i.setUint32(4,e,!0),p=!0,await a.write(r),await a.close()}catch(t){await Yt(a,t),await $t(n,t)}}(),async function(){try{for(;;){const{value:t,done:n}=await S();if(n)break;if(d+=t.length,d>e)throw new r(Wt);f&&f.append(t),l.enqueue(t)}h||(h=!0,l.close())}catch(t){!function(t){h||(h=!0,l.error(t),b())}(t),await $t(i,t)}}(),m;function S(){return i.read().catch(t=>{if(p){if(!f)throw rn(t,Vt);if(d!=e)throw rn(t,Wt);return{done:!0}}throw nn(t,s)})}function g(){if(!h&&l.desiredSize<=0)return new w(t=>u=t)}function b(){if(u){const t=u;u=v,t()}}}(C,a,g,f,t)):C=function(t,n){const e=t.getReader();return new y({async pull(t){try{const{value:n,done:o}=await e.read();o?t.close():t.enqueue(n)}catch(t){throw await $t(e,t),nn(t,n)}},cancel:t=>e.cancel(t)})}(C,t)}i&&!z&&(b=new U,C=Qt(C,b)),Nt(this,C,()=>{if(b){const t=new u(b.value.buffer).getUint32(0,!1);if(f!=t)throw new r(Vt)}})}}const Zt=new f;function Nt(t,e,o){e=Qt(e,new h({flush:o})),n.defineProperty(t,"readable",{get:()=>e})}function qt(t,n,e){if(!t)throw new r("Compression method not supported");return new t(n,e)}function Gt(t,n,e){return t&&n?n:e&&e.requiresModule?e:void 0}function Jt(t,n,e,o,r,c){const s=n&&o?o:r||o,a=e.deflate64?"deflate64-raw":Kt;let i;try{i=new s(a,e)}catch(t){if(!n||!r||s==r)throw t;i=new r(a,e)}return Xt(t,i,c)}function Qt(t,n){return Dt(t).pipeThrough(n)}function Xt(t,n,e){const o=n.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await o.ready;const t=await tn(r,e);if(t.done){await o.close();break}await o.write(t.value)}}catch(t){await Yt(o,t),await $t(r,t)}}(),n.readable}async function Yt(t,n){try{await t.abort(n)}catch{}}async function $t(t,n){try{await t.cancel(n)}catch{}}function tn(t,n){const e=t.read();return n?e.catch(t=>{throw n.add(t),t}):e}function nn(t,n){return n.has(t)?t:rn(t,on(t)?Ot:"Invalid compressed data")}function en(t){return on(t)?rn(t,Ot):t}function on(t){return Ft(t)&&"Z_MEM_ERROR"==t.code}function rn(t,n){const e=new r(n);return e.cause=t,e}const cn="data",sn="deflate";class an extends h{constructor(t,e){super({});const o=this,{codecType:c}=t;let s;c.startsWith(sn)?s=jt:c.startsWith("inflate")&&(s=Lt),o.outputSize=0;let a=0;const i=new s(t,e),f=super.readable,u=new h({transform(t,n){t&&t.length&&(a+=t.length,n.enqueue(t))},flush(){n.assign(o,{inputSize:a})}}),w=new h({transform(n,e){if(n&&n.length&&(e.enqueue(n),o.outputSize+=n.length,t.outputSize!==v&&o.outputSize>t.outputSize))throw new r(Wt)},flush(){const{crc32:t}=i;n.assign(o,{crc32:t,inputSize:a})}});n.defineProperty(o,"readable",{get:()=>f.pipeThrough(u).pipeThrough(i).pipeThrough(w)})}}class fn extends h{constructor(t){const o=[];let r=0,s=0;function a(){const n=new c(t);let e=0;for(;e<t;){const r=o[0],c=t-e;r.length<=c?(n.set(r,e),e+=r.length,o.shift()):(n.set(r.subarray(0,c),e),o[0]=r.subarray(c),e+=c)}return r-=t,n}(!e.isFinite(t)||t<1)&&(t=65536),super({transform(n,e){for(o.push(n),r+=n.length;r>t;)s+=t,e.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(function(t,n){const e=new c(n);let o=0;for(const n of t)e.set(n,o),o+=n.length;return e}(o,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let un=2;try{typeof navigator!=b&&navigator.hardwareConcurrency&&(un=navigator.hardwareConcurrency)}catch{}const wn=new f,ln=new f,dn=function(){try{return structuredClone(new r)instanceof r}catch{return!1}}();let pn=0;async function hn(t){let n,c,s;try{const{options:a,config:i}=t;if(a.format)try{await async function(t,n){!Ut.has(t)&&n&&function(t,n){const{CompressionStream:e,DecompressionStream:o}=n;if(typeof e!=k&&typeof o!=k)throw new r("Invalid codec module");Ut.set(t,{CompressionStream:e,DecompressionStream:o})}(t,await(import(n)))}(a.format,a.codecURI)}catch(t){if(Ft(t))try{t.codecImportFailed=!0}catch{}throw t}if(i.CompressionStream=self.CompressionStream,i.DecompressionStream=self.DecompressionStream,a.compressed&&!a.format)if(a.useCompressionStream){if(!function(t,n){if(!t)return!1;let e=Zt.get(t);e||(e=new f,Zt.set(t,e));let o=e.get(n);if(o===v){try{new t(n),o=!0}catch{o=!1}e.set(n,o)}return o}(a.codecType.startsWith(sn)?i.CompressionStream:i.DecompressionStream,Kt))try{await self.initModule(t.config)}catch{}}else try{await self.initModule(t.config)}catch{a.useCompressionStream=!0}if(a.encrypted&&!a.zipCrypto)try{await self.initModule(t.config)}catch{}!i.CompressionStreamFallback&&i.CompressionStreamZlib&&(i.CompressionStreamFallback=i.CompressionStreamZlib),!i.DecompressionStreamFallback&&i.DecompressionStreamZlib&&(i.DecompressionStreamFallback=i.DecompressionStreamZlib);const u={highWaterMark:1},l=t.readable?Dt(t.readable):new y({async pull(t){const n=new w(t=>wn.set(pn,t));yn({type:"pull",messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER;const{value:o,done:r}=await n;t.enqueue(o),r&&t.close()}},u);s=t.writable?function(t){if(t instanceof m)return t;const n=t.getWriter();return new m({write:t=>n.write(t),close:()=>n.close(),abort:t=>n.abort(t)})}(t.writable):new m({async write(t){let n;const o=new w(t=>n=t);ln.set(pn,n),yn({type:cn,value:t,messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER,await o}},u),n=new an(a,i),c=new fn(function(t){return r="string"==typeof(n=r=t.chunkSize)&&n.trim()?e(n):n,e.isInteger(r)&&r>=1?o.max(r,64):65536;var n,r}(i)),await l.pipeThrough(n).pipeThrough(c).pipeTo(s,{preventClose:!0,preventAbort:!0}),await s.getWriter().close();const{crc32:d,inputSize:p,outputSize:h}=n;yn({type:"close",result:{crc32:d,inputSize:p,outputSize:h}})}catch(t){const n=c?c.outputSize:0;if(Ft(t))try{t.outputSize=n}catch{}if(s&&!s.locked)try{await s.getWriter().close()}catch{}mn(t,n)}}function yn(t){const{value:n}=t;if(n)if(n.length)try{t.value=(e=n,e.byteOffset||e.byteLength!=e.buffer.byteLength?new c(e):e).buffer,p(t,[t.value])}catch{p(t)}else p(t);else p(t);var e}function mn(t,n){const{message:e,stack:o,code:c,name:s,outputSize:a,cause:i,codecImportFailed:f}=function(t=new r("Unknown error")){return Ft(t)?t:new r(String(t))}(t),u={message:e,stack:o,code:c,name:s,outputSize:a===v?n:a};if(Ft(i)&&(u.cause={name:i.name,message:i.message}),f&&(u.codecImportFailed=!0),dn)try{return void p({error:u,errorValue:{value:t}})}catch{}p({error:u})}addEventListener("message",({data:t})=>{const{type:n,messageId:e,value:o,done:r}=t;try{if("start"==n&&hn(t),n==cn){const t=wn.get(e);wn.delete(e),t({value:o||new c,done:r})}if("ack"==n){const t=ln.get(e);ln.delete(e),t()}}catch(t){mn(t)}}),p({type:"ready"});const Sn="deflate",gn="deflate-raw",vn="deflate64-raw",bn="gzip",kn=[Sn,gn,bn],zn=[Sn,gn,bn,vn];let Cn,In,Mn,An,En;function Rn(t,n){return-4===n&&(t.code="Z_MEM_ERROR"),t}function xn(t,n,e={}){if(!(t?kn:zn).includes(n))throw new TypeError("Unsupported format: "+n);if(!Cn){const t=new r("WASM module not loaded");throw t.cause=En,t}const s="number"==typeof e.level?e.level:-1,a="number"==typeof e.outBuffer?e.outBuffer:65536,i="number"==typeof e.inBufferSize?e.inBufferSize:65536,f={M:0,in:0,inBufferSize:0,A:0,R:!1};let u,l,d,p,h=!0,S=!1;return function(){try{let e;if(f.M=In(a),f.in=In(i),f.inBufferSize=i,!f.M||!f.in)throw Rn(new r("allocation failed"),-4);if(t?(f.P=Cn.deflate_process,f.D=Cn.deflate_last_consumed,f.F=Cn.deflate_end,f.A=Cn.deflate_new(),e=n===bn?Cn.deflate_init_gzip(f.A,s):n===gn?Cn.deflate_init_raw(f.A,s):Cn.deflate_init(f.A,s)):n===vn?(f.P=Cn.inflate9_process,f.D=Cn.inflate9_last_consumed,f.F=Cn.inflate9_end,f.A=Cn.inflate9_new(),e=Cn.inflate9_init_raw(f.A)):(f.P=Cn.inflate_process,f.D=Cn.inflate_last_consumed,f.F=Cn.inflate_end,f.A=Cn.inflate_new(),e=n===gn?Cn.inflate_init_raw(f.A):n===bn?Cn.inflate_init_gzip(f.A):Cn.inflate_init(f.A)),0!==e)throw Rn(new r("init failed:"+e),e)}catch(t){throw b(f),t}}(),{readable:new y({start(t){u=t},pull(){h=!1,v()},cancel(t){S=!0,p=t,b(f),l.error(t),v()}},{highWaterMark:0}),writable:new m({start(t){l=t},async write(t){if(h&&await new w(t=>d=t),S)throw p;try{!function(t){const n=new c(An.buffer),e=f.P,s=f.D,i=f.M;let u=0;for(;u<t.length;){if(f.R)throw new r("trailing data after the end of the stream");const c=o.min(t.length-u,32768);if((!f.in||f.inBufferSize<c)&&(f.in&&Mn&&(Mn(f.in),f.in=0),f.in=In(c),f.inBufferSize=c,!f.in))throw Rn(new r("allocation failed"),-4);n.set(t.subarray(u,u+c),f.in);const w=e(f.A,f.in,c,i,a,0),l=w>>24&255,d=128&l?l-256:l;if(d<0)throw Rn(new r("process error:"+d),d);const p=16777215&w;p&&g(n.slice(i,i+p));const h=s(f.A);if(1===l)f.R=!0;else if(0===h&&0===p)break;u+=h}}(t)}catch(t){throw b(f),u.error(t),t}},close(){if(S)return;try{!function(){const t=new c(An.buffer),n=f.P,e=f.M;for(;;){const o=n(f.A,0,0,e,a,4),c=o>>24&255,s=128&c?c-256:c;if(s<0)throw Rn(new r("process error:"+s),s);const i=16777215&o;if(i&&g(t.slice(e,e+i)),1===c||0===i)break}}()}catch(t){throw b(f),u.error(t),t}const t=b(f);if(0!==t){const n=Rn(new r("end error:"+t),t);throw u.error(n),n}u.close()},abort(t){b(f),u.error(t)}},{highWaterMark:1})};function g(t){h=!0,u.enqueue(t)}function v(){if(d){const t=d;d=null,t()}}function b(t){let n=0;return t.A&&t.F&&(n=t.F(t.A)),t.A=0,t.in&&Mn&&Mn(t.in),t.in=0,t.M&&Mn&&Mn(t.M),t.M=0,n}}class Pn{constructor(t=Sn,n){return xn(!0,t,n)}}class Dn{constructor(t=Sn,n){return xn(!1,t,n)}}Pn.requiresModule=!0,Dn.requiresModule=!0,Pn.supportedFormats=kn,Dn.supportedFormats=zn;const Fn=65536;let Un,Bn;function Wn(t){return new c(t.memory.buffer)}let On=!1;!function(t={}){const{init:n,U:e}=t,o=t.CompressionStreamFallback||t.CompressionStreamZlib,r=t.DecompressionStreamFallback||t.DecompressionStreamZlib;e&&(dt=e||G),self.initModule=async t=>{n&&await n(t),o&&(t.CompressionStreamFallback=o),r&&(t.DecompressionStreamFallback=r)}}({CompressionStreamFallback:Pn,DecompressionStreamFallback:Dn,U:function(t,n){const e=Un;let o=e?function(t,n,e){Bn||(Bn=t.malloc(Fn));const o=Bn?t.aes_hmac_new():0;if(o){const r=Wn(t);if(r.set(n,Bn),r.set(e,Bn+n.length),t.aes_hmac_init(o,Bn,n.length,Bn+n.length,e.length))return t.aes_hmac_end(o,0),0}return o}(e,t,n):0;if(!o)return G(t,n);const r=Bn;return{process(t,n){for(let c=0;c<t.length;c+=Fn){const s=t.subarray(c,c+Fn),a=Wn(e);a.set(s,r),e.aes_hmac_process(o,r,s.length,n?1:0),s.set(a.subarray(r,r+s.length))}},digest:()=>(e.aes_hmac_end(o,r),o=0,Wn(e).slice(r,r+20)),dispose(){o&&(e.aes_hmac_end(o,0),o=0)}}},init:t=>async function(t,{baseURI:n}){if(!On)try{await async function(t,n){let e,o;try{try{o=new URL(t,n)}catch{}const r=await fetch(o);e=await r.arrayBuffer()}catch(n){if(!t.startsWith("data:application/wasm;base64,"))throw n;e=function(t){const n=t.split(",")[1],e=atob(n),o=e.length,r=new c(o);for(let t=0;t<o;++t)r[t]=e.charCodeAt(t);return r.buffer}(t)}const s=await WebAssembly.instantiate(e);var a;(function(t){if(Cn=t,({malloc:In,free:Mn,memory:An}=Cn),"function"!=typeof In||"function"!=typeof Mn||!An)throw Cn=In=Mn=An=null,new r("Invalid WASM module")})(s.instance.exports),typeof(a=s.instance.exports).aes_hmac_new==k&&(Un=a,Bn=0)}(t,n),On=!0}catch(t){throw function(t){En=t}(t),t}}(t.wasmURI,t)})});
2
- `;if(typeof n=="string"&&(n=new TextEncoder().encode(n)),e){let s=new Blob([n],{type:r});return URL.createObjectURL(s)}return"data:"+r+";base64,"+(function(s){let i="",a=s.length,o=0;for(;o+2<a;o+=3){let f=s[o]<<16|s[o+1]<<8|s[o+2];i+=ot[f>>18&63]+ot[f>>12&63]+ot[f>>6&63]+ot[63&f]}let c=a-o;if(c===1){let f=s[o]<<16;i+=ot[f>>18&63]+ot[f>>12&63]+"=="}else if(c===2){let f=s[o]<<16|s[o+1]<<8;i+=ot[f>>18&63]+ot[f>>12&63]+ot[f>>6&63]+"="}return i})(n)}});We();ue();Pt();Xt();Os();Sr();var mf={type:"module"},da="error",$p="messageerror",hf="abort",gf,ua,Rf,pa=!0;try{pa=typeof structuredClone==K&&structuredClone(new DOMException("","AbortError")).code!==w}catch{}df(eE);function eE(t,e){let{baseURI:r,chunkSize:n,workerStartupTimeout:s}=e,{wasmURI:i}=e;if(!t.interface){typeof i==K&&(i=i());let a;try{a=Ls(t.workerURI,r,t)}catch{return la(t),fa(t,e)}Object.assign(t,{worker:a,workerAlive:!1,terminated:!1,startupError:null,interface:{run:async()=>{try{return await tE(t,{chunkSize:n,wasmURI:i,baseURI:r,workerStartupTimeout:s})}catch(o){if(o&&o.workerStartupFailed)return la(t),wf(t),Cs(t,e);if(o&&o.codecImportFailed){if(t.reader)return wf(t),Cs(t,e);t.onTaskFinished()}throw o}}}})}return t.interface}async function tE(t,e){if(!t.worker){let{startupError:h}=t;t.startupError=null;let g=h||new Error(Qt);throw g.workerStartupFailed=!0,g}let r,n,s=new Promise((h,g)=>{r=h,n=p=>{let{outputSize:d,workerOptions:u}=t;if(u.outputSize=d,Re(p))try{p.outputSize=d}catch{}g(p)}});Object.assign(t,{reader:null,writer:null,outputSize:0,destinationFailed:!1,destinationError:null,resolveResult:r,rejectResult:n,result:s});let{readable:i,options:a}=t,{writable:o,closed:c,abortPipe:f}=rE(t.writable,t),R;try{R=Ea({type:af,options:a,config:e,readable:i,writable:o},t)}catch(h){f();try{await c}catch{}throw t.onTaskFinished(),h}R||Object.assign(t,{reader:i.getReader(),writer:o.getWriter()});let{workerStartupTimeout:E}=e;!t.workerAlive&&Number.isFinite(E)&&E>=0&&(t.startupTimeout=setTimeout(()=>nE(t),E));try{let h=await s;return await l(),await c,h}catch(h){await l(),f();try{await c}catch{}let{outputSize:g,workerOptions:p,destinationFailed:d,destinationError:u}=t;p.outputSize=g;let m=Re(h)&&(h.codecImportFailed||h.workerStartupFailed),_=d&&!m?u:h;if(Re(_))try{_.outputSize=g}catch{}throw _}async function l(){if(!R&&!o.locked)try{await o.getWriter().close()}catch{}}}function rE(t,e){let r=new AbortController,n,{writable:s,readable:i}=new TransformStream({transform(c,f){e.outputSize+=c.length,f.enqueue(c)}}),a=i.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:r.signal});a.catch(c=>{n||Object.assign(e,{destinationFailed:!0,destinationError:c})});let{signal:o}=e.workerOptions.streamOptions;if(o){let c=()=>r.abort(o.reason),f=()=>o.removeEventListener(hf,c);o.addEventListener(hf,c),a.then(f,f)}return{writable:s,closed:a,abortPipe:()=>{n=!0,r.abort()}}}function wf(t){let{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function ma(t){let{worker:e}=t;if(e)try{e.terminate()}catch{}t.interface=null}function Ls(t,e,r,n,s=!0){let{createWorker:i}=r,a,o,c;if(i)a=i();else if(ua===w||gf!==t){let f=typeof t==K;f?o=t(s):o=t;let R=o.startsWith("data:"),E=o.startsWith("blob:");if(R||E){n===w&&(n=!1),n&&(c=mf);try{a=new Worker(o,c)}catch(l){if(E)try{URL.revokeObjectURL(o)}catch{}if(f&&E)return Ls(t,e,r,n,!1);if(n)throw l;return Ls(t,e,r,!0,!1)}}else{n===w&&(n=!0),n&&(c=mf);try{o=new URL(o,e)}catch{}try{a=new Worker(o,c)}catch(l){if(n)return Ls(t,e,r,!1,s);throw l}}gf=t,ua=o,Rf=c}else a=new Worker(ua,Rf);return a.addEventListener(sf,f=>{r.workerAlive=!0,Tf(r),sE(f,r)}),a.addEventListener(da,f=>_f(f,r)),a.addEventListener($p,f=>_f(f,r)),a}function nE(t){if(t.startupTimeout=null,t.workerAlive)return;let{rejectResult:e,writer:r}=t;if(ma(t),t.worker=null,e){let n=new Error(Qt);n.workerStartupFailed=!0,e(n),r&&r.releaseLock()}}function Tf(t){let{startupTimeout:e}=t;e&&(clearTimeout(e),t.startupTimeout=null)}function _f(t,e){t.preventDefault&&t.preventDefault(),Tf(e);let{workerAlive:r,rejectResult:n,writer:s,onTaskFinished:i}=e;ma(e),r||(e.worker=null);let a=t.error||new Error(t.message||da);r||(a=Object.assign(new Error(a.message||da),{workerStartupFailed:!0}),e.startupError=a),n&&(n(a),s&&s.releaseLock(),r&&i())}function Ea(t,{worker:e,writer:r,transferStreams:n,workerAlive:s}){try{let{value:i,readable:a,writable:o}=t,c=[];if(i&&(t.value=cs(i),c.push(t.value.buffer)),n&&pa&&s?(a&&c.push(a),o&&c.push(o)):t.readable=t.writable=null,c.length)try{return e.postMessage(t,c),!0}catch{pa=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(i){throw r&&r.releaseLock(),i}}async function sE({data:t},e){let{type:r,value:n,messageId:s,result:i,error:a,errorValue:o}=t,{reader:c,writer:f,resolveResult:R,rejectResult:E,onTaskFinished:l,generation:h}=e,g=()=>e.generation!=h;try{if(a)p(iE(a,o));else{if(r==of){let{value:m,done:_}=await c.read();g()||Ea({type:aa,value:m,done:_,messageId:s},e)}if(r==aa){let m=new Uint8Array(n);await f.ready,await f.write(m),g()||Ea({type:cf,messageId:s},e)}r==lf&&d(i)}}catch(m){g()||(ma(e),p(m))}function p(m){g()||(E(m),u(),Re(m)&&m.codecImportFailed||l())}function d(m){g()||(R(m),u(),l())}function u(){f&&f.releaseLock()}}function iE(t,e){let{message:r,stack:n,code:s,name:i,outputSize:a,cause:o,codecImportFailed:c}=t,f;if(e?f=e.value:f=Object.assign(new Error(r),{stack:n,code:s,name:i}),Re(f))try{a!==w&&(f.outputSize=a),c&&(f.codecImportFailed=!0),o&&!Re(f.cause)&&(f.cause=Object.assign(new Error(o.message),{name:o.name})),e&&(f.name!==i&&(f.name=i),f.code!==s&&(f.code=s))}catch{}return f}li();ue();We();Kt();Sr();vs();pn();Zi();Pt();Ta();jt();Xt();Ws();gr();var qo="File already exists",Jo="Zip file comment exceeds 64KB",Tu="Invalid zip file comment (must be a Uint8Array)",Au="File entry comment exceeds 64KB",yu="Invalid file entry comment (must be a string)",Su="Invalid date (must be a valid Date instance)",Iu="File entry name exceeds 64KB",Qo="Version exceeds 65535",bu="The strength must equal 1, 2, or 3",Nu="Encryption is not supported in USDZ files",Ou="Split zip files are not supported in USDZ files",Du="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Pu="Invalid extra field (must be a Map)",xu="Invalid extra field type (must be integer 0..65535)",Cu="Invalid extra field data (must be a Uint8Array)",gi="Extra field data exceeds 64KB",Lu=-2147483648,Fu=2147483647,fu=BigInt(0),uu=BigInt("0x7fffffffffffffff"),Ri="Zip64 is not supported (set the 'zip64' option to 'true')",Uu="Undefined uncompressed size",Mu="Undefined compression method",vu="Undefined CRC32";var ku="Undefined reader",Bu="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",zu="Zip file not empty",Hu="Invalid uid (must be integer 0..2^32-1)",Yu="Invalid gid (must be integer 0..2^32-1)",Wu="Invalid UNIX mode (must be integer 0..65535)",Gu="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Vu="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Xu="Invalid msdosAttributesRaw (must be integer 0..255)",ju="Invalid msdosAttributes (must be an object with boolean flags)",Zu="Invalid level (must be integer 0..9)",Ku="Signature data exceeds 64KB",qu="Invalid entry option (must be an entry returned by ZipReader#getEntries())",Ju="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",Qu="compression unavailable",$u="clamped last modification date",du=new Uint8Array([7,0,2,0,65,69,3,0,0]),Sm=4,Im=9,bm=67,Nm=32,Om=126,Dm=1,pi="infozip",Ei="unix",Pm=[8,9,5,3],xm=9,Ho=0,pu=[],mi=class{constructor(e,r={}){e=new br(e);let{availableSize:n=Wt,maxSize:s=Wt}=e,i=n>0&&n!==Wt&&s>0&&s!==Wt;if(i&&r[Gt])throw new Error(Ou);Object.assign(this,{writer:e,addSplitZipSignature:i,options:r,fileEntries:new Map,filenames:new Set,offset:r[qr]===w?e.size||e.writable.size||0:r[qr],initialOffset:r[qr]===w?0:r[qr]-(e.size||e.writable.size||0),pendingAddFileCalls:new Set,pendingErrors:[],warnings:[],bufferedWrites:0,directWrites:0,lastFileEntry:w,archiveClosed:!1})}prependZip(e){return Yo(this,Cm(this,e))}appendZip(e){return Yo(this,this.appendZipEntries(e))}async appendZipEntries(e){let r=this,{pendingAddFileCalls:n,filenames:s,fileEntries:i}=r;for(;n.size;)await Promise.allSettled(Array.from(n));let a,o=new Promise(R=>a=R);n.add(o);let c=[],f;try{e=new pt(e),await ge(e),(e.size===w||!e.readUint8Array)&&(e=new Qe(await lt(e.readable)),await ge(e));let{ZipReader:R}=await Promise.resolve().then(()=>(li(),au)),E=new R(e),l=await E.getEntries();await E.close(),await ge(r.writer);let{directoryOffset:h}=E;l.forEach(({filename:d})=>{if(s.has(d))throw new Error(qo);s.add(d),c.push(d)}),r.writerLocked=!0;let{lockWriter:g}=r;r.lockWriter=new Promise(d=>f=()=>{r.writerLocked=!1,d()}),await g,r.addSplitZipSignature&&(delete r.addSplitZipSignature,await Qm(e)||(await rt(r.writer,rd()),r.offset+=4));let p=await $m(r,e,l,h);l.forEach(d=>{let{version:u,rawLastModDate:m,rawFilename:_,bitFlag:A,encrypted:T,uncompressedSize:y,compressedSize:S,extraFieldZip64:I}=d,{compressionMethod:N,rawExtraField:F}=d,{level:H,languageEncodingFlag:q,dataDescriptor:$}=A;F=td(F||j),d.extraFieldAES&&(N=99);let Z=z(F),W=!!I&&I.uncompressedSize!==w,U=!!I&&I.compressedSize!==w,ne=id(H,q,$,T,N)&-7|H<<1,{headerArray:B,headerView:X}=sd({version:u,bitFlag:ne,compressionMethod:N,uncompressedSize:y,compressedSize:S,rawLastModDate:m,rawFilename:_,zip64CompressedSize:U,zip64UncompressedSize:W,extraFieldLength:Z}),{crc32:M}=d;M!==w&&_e(X,10,M);let{offset:G,diskNumberStart:pe}=p.get(d);Object.assign(d,{zip64Enabled:!0,zip64UncompressedSize:W,zip64CompressedSize:U,offset:G,diskNumberStart:pe,zip64DiskNumberStart:!1,rawExtraFieldZip64:j,rawExtraFieldAES:j,rawExtraFieldExtendedTimestamp:j,rawExtraFieldNTFS:j,rawExtraFieldUnix:j,rawExtraField:F,rawCentralExtraField:j,headerArray:B,headerView:X}),i.set(d.filename,d)})}catch(R){throw c.forEach(E=>s.delete(E)),R}finally{a(),n.delete(o),f&&f()}}add(e="",r,n={}){let s=this,{pendingAddFileCalls:i}=s,a=Lm(s,e,r,n);i.add(a);let o=()=>i.delete(a);return Promise.prototype.then.call(a,o,o),Yo(s,a)}remove(e){let{filenames:r,fileEntries:n}=this;if(typeof e==Ye&&(e=n.get(e)),e&&e.filename!==w){let{filename:s}=e;if(r.has(s)&&n.has(s))return r.delete(s),n.delete(s),!0}return!1}async close(e=j,r={}){let n=this,{pendingAddFileCalls:s,writer:i}=this,{writable:a}=i;if(n.archiveClosed)return Eu(i);if(!(e instanceof Uint8Array))throw new Error(Tu);if(z(e)>65535)throw new Error(Jo);for(;s.size;)await Promise.allSettled(Array.from(s));await Promise.allSettled(n.pendingErrors.map(f=>f.recorded));let o=n.pendingErrors.filter(f=>f.failed&&!f.observed);if(o.length){let f=o.map(E=>E.error);o.forEach(E=>E.observed=!0);let[R]=f;try{R.entryErrors=f}catch{}throw R}return await jm(n,e,r),n.archiveClosed=!0,!dn(i)&&k(n,r,ts)||await a.getWriter().close(),Eu(i)}[Zn](){return this.close()}};var jo=class extends Promise{then(e,r){let{watcher:n}=this;return n&&(n.observed=!0),super.then(e,r)}};function Eu(t){return t.getData?t.getData():t.writable}function Yo(t,e){let r=new jo((s,i)=>Promise.prototype.then.call(e,s,i)),n={};return r.watcher=n,n.recorded=Promise.prototype.then.call(r,w,s=>Object.assign(n,{failed:!0,error:s})),t.pendingErrors.push(n),r}async function Cm(t,e){if(t.filenames.size)throw new Error(zu);await t.appendZipEntries(e)}async function Lm(t,e,r,n){n=Object.assign({},n);let s=n[Yi];if(s!==w){let{entryOptions:i,passThroughOptions:a}=ed(s,mr(k(t,n,Kr)),k(t,n,rr));delete n[Yi],n=Object.assign(i,a,n)}if(k(t,n,nr)&&!e.endsWith("/")&&(e+="/"),t.filenames.has(e))throw new Error(qo);t.filenames.add(e),Ho<at().maxWorkers?Ho++:await new Promise(i=>pu.push(i));try{return await Fm(t,e,r,n)}catch(i){throw t.filenames.delete(e),i}finally{let i=pu.shift();i?i():Ho--}}async function Fm(t,e,r,n){let s=Mm(t,e,n);({name:e}=s);let i=vm(t,e,n),{comment:a}=i,o=n[yn];t.fileEntries.set(e,w);let c=t.lastFileEntry,f={},R;i.resolvedOptions.keepOrder&&(f.lockFileEntry=new Promise(l=>R=l)),t.lastFileEntry=f;let E;try{let{resolvedOptions:l}=i;l.level!=0&&l.compressionMethod===w&&!l.passThroughCompression&&!await pf(at())&&(l.level=0,Te(t.warnings,Qu,e));let h=await km(t,r,i,n);({reader:r}=h);let g=xn(t.writer),p=gt(t.writer),d=n.crc32===w?n[Ys]:n.crc32,u=h.resolvedOptions.encrypted&&!l.zipCrypto;if(l.passThroughCompression&&!l.passThroughEncryption&&u&&(d=w),l.passThroughCompression&&r&&!u&&d===w)throw new Error(vu);n=Object.assign({},n,s.resolvedOptions,i.resolvedOptions,h.resolvedOptions,{signature:n[Ys],crc32:d,offset:t.offset-g,diskNumberStart:p,[Gt]:t.options[Gt]});let m=Ym(n);m.lastModDateClamped&&Te(t.warnings,$u,e);let _=Gm(n),A=z(m.localHeaderArray,_.dataDescriptorArray);E=await zm(t,e,r,{headerInfo:m,dataDescriptorInfo:_,metadataSize:A,fileEntry:f,previousFileEntry:c,releaseLockFileEntry:R},n)}catch(l){throw t.fileEntries.delete(e),l}finally{R&&R(c&&c.lockFileEntry)}return Object.assign(E,{name:e,comment:a,extraField:o}),new Et(E)}function ed(t,e,r){if(t===null||typeof t!=jn||Array.isArray(t))throw new Error(qu);let{externalFileAttributes:n,versionMadeBy:s,comment:i,lastModDate:a,rawLastModDate:o,creationDate:c,lastAccessDate:f,uncompressedSize:R,encrypted:E,zipCrypto:l,crc32:h,compressionMethod:g,extraFieldAES:p,extraFieldUnix:d,internalFileAttributes:u,extraField:m,bitFlag:_,directory:A,uid:T,gid:y}=t,S={externalFileAttributes:n,versionMadeBy:s,comment:i,lastModDate:a,creationDate:c,lastAccessDate:f,internalFileAttributes:u,directory:A};_&&_.languageEncodingFlag&&(S[Bi]=!0);let I=Cf(m);I&&(S[yn]=I),(T!==w||y!==w)&&Object.assign(S,{uid:T,gid:y,unixExtraFieldType:d?Ei:pi});let N={};if(e&&!A){if(Object.assign(N,{uncompressedSize:R,crc32:h,compressionMethod:g}),e!==Jr&&Object.assign(N,{encrypted:E,zipCrypto:l,encryptionStrength:p?p.strength:w}),_&&(N.dataDescriptor=_.dataDescriptor,N[rs]=Pm[_.level]),r===w)N.rawLastModDate=o;else if(e!==Jr&&l&&(!_||_.dataDescriptor)&&r instanceof Date&&Um(r)!=(o>>>8&255))throw new Error(Ju)}return{entryOptions:S,passThroughOptions:N}}function Um(t){let e=new Date(Math.ceil(Math.floor(t.getTime()/1e3)/2)*2e3);return e<bt?e=bt:e>Zr&&(e=Zr),(e.getHours()<<3|e.getMinutes()>>3)&255}function Mm(t,e,r){let n=k(t,r,ka),s=k(t,r,Ha,n?20:768),i=k(t,r,Wa),a=vr(t,r,Va),o=vr(t,r,Xa),c=vr(t,r,ja),f=k(t,r,jc),R=k(t,r,Za),E=k(t,r,Ka),l=k(t,r,qa);if(hr(a,4294967295,Hu),hr(o,4294967295,Yu),hr(c,65535,Wu),f!==w&&f!==pi&&f!==Ei)throw new Error(Gu);if(f===Ei&&(a!==w&&a>65535||o!==w&&o>65535))throw new Error(Vu);f===w&&(a!==w||o!==w)&&(f=pi);let h=vr(t,r,Ma),g=k(t,r,va),p=a!==w||o!==w||c!==w||f||i,d=h!==w||g!==w;if(p?(n=!1,s=s&255|768):d&&(n=!0,s=s&255),hr(h,255,Xu),g&&(typeof g!==jn||Array.isArray(g)))throw new Error(ju);if(s>65535)throw new Error(Qo);let u=k(t,r,Ua),m=u!==w;m||(u=0),!r[nr]&&e.endsWith("/")&&(r[nr]=!0);let _=k(t,r,nr);if(_?(e.endsWith("/")||(e+="/"),m||(u=16,n||(u|=16877<<16))):!n&&!m&&(i?u=493<<16:u=420<<16),!n){let y=c!==w||!!(R||E||l),S=u>>16&65535;c=c===w?S:c&65535,R?c|=2048:R=!!(c&2048),E?c|=1024:E=!!(c&1024),l?c|=512:l=!!(c&512),(!m||y)&&(_?c=c&-61441|16384:c&61440||(c|=32768),u=(c&65535)<<16|u&65535)}({msdosAttributesRaw:h,msdosAttributes:g}=Wm(h,g)),d&&(u=u&4294967295|h&255);let A=u>>16&65535,T=c!==w&&(c&61440)==40960;return{name:e,resolvedOptions:{versionMadeBy:s,msDosCompatible:!!n,externalFileAttributes:u,unixExternalUpper:A,uid:a,gid:o,unixMode:c,unixExtraFieldType:f,symlink:T,setuid:R,setgid:E,sticky:l,msdosAttributesRaw:h,msdosAttributes:g}}}function vm(t,e,r){let n=Zo(t,r,Xc)||Rr,s=n(e,ns);if(s===w&&(s=Rr(e)),z(s)>65535)throw new Error(Iu);let i=r[wn]||"";if(typeof i!=Ye)throw new Error(yu);let a=n(i,ss);if(a===w&&(a=Rr(i)),z(a)>65535)throw new Error(Au);let o=k(t,r,za);if(o!==w&&o>65535)throw new Error(Qo);let c=Xo(t,r,rr,new Date),f=k(t,r,Or),R=Xo(t,r,Tn),E=Xo(t,r,An),l=k(t,r,Fa,0),h=mr(k(t,r,Kr)),g=!!h,p=h===!0,d=k(t,r,Kn),u=k(t,r,qn);as(d,u),d=d&&d.length?d:w,u=u&&u.length?u:w;let m=vr(t,r,kc,3),_=k(t,r,Ya),A=k(t,r,Bc,!0),T=k(t,r,zc),y=k(t,r,Hc,!0),S=k(t,r,Qn),I=k(t,r,es),N=k(t,r,Yc),F=Zo(t,r,Wc),H=k(t,r,Gc,!0),q=Qr(k(t,r,Jn));Vt(q);let $=k(t,r,Bi,!_u(s)||!_u(a)),Z=k(t,r,Ga),W=g||Z===w?w:gs(Z);if(!g&&Z!==w&&Z!==0&&Z!==8&&!W)throw new Error(ft);let U=vr(t,r,rs);if(hr(U,xm,Zu),t.options[Gt]){if(d!==w||u!==w)throw new Error(Nu);U===w&&Z===w&&(U=0)}g&&(U=Ot(r[rs]));let ne=k(t,r,$n),B=k(t,r,zi);N&&B===w&&(B=!1),(B===w||_&&!p)&&(B=!0),U!==w&&U!=6&&(ne=!1);let X=k(t,r,Hs);if(!_&&(d!==w||u!==w)&&!(Number.isInteger(m)&&m>=1&&m<=3))throw new Error(bu);let M=Wo(r[yn]),G=Wo(r[Zc]),pe=Wo(r[Kc]);return{comment:i,resolvedOptions:{rawFilename:s,rawComment:a,version:o,lastModDate:c,rawLastModDate:f,lastAccessDate:R,creationDate:E,internalFileAttributes:l,passThroughCompression:g,passThroughEncryption:p,password:d,rawPassword:u,encryptionStrength:m,zipCrypto:_,extendedTimestamp:A,ntfsTimestamp:T,keepOrder:y,useWebWorkers:S,transferStreams:I,bufferedWrite:N,createTempStream:F,dataDescriptorSignature:H,signal:q,useUnicodeFileNames:$,compressionMethod:Z,format:W?W.format:w,codecURI:W?W.codecURI:w,codecVersionNeeded:W?W.versionNeeded:w,level:U,useCompressionStream:ne,dataDescriptor:B,zip64:X,rawExtraField:M,rawLocalExtraField:G,rawCentralExtraField:pe}}}function Wo(t){if(!t)return j;if(!(t instanceof Map))throw new Error(Pu);let e=0,r=0;t.forEach((i,a)=>{if(Gi(a,65535,xu),!(i instanceof Uint8Array))throw new Error(Cu);if(z(i)>65535)throw new Error(gi);e+=4+z(i)});let n=new Uint8Array(e),s=L(n);return t.forEach((i,a)=>{tt(s,r,a),tt(s,r+2,z(i)),Fn(n,i,r+4),r+=4+z(i)}),n}async function km(t,e,{resolvedOptions:r},n){if(r.passThroughCompression&&!e&&!k(t,n,nr))throw new Error(ku);let s;if(e){if(e=new pt(e),await ge(e),!e.readable&&!e.readUint8Array)throw new Error(Bu);({size:s}=e)}return Object.assign({reader:e},Bm(t,!!e,s,r,n))}function Bm(t,e,r,n,s){let{passThroughCompression:i,passThroughEncryption:a,zipCrypto:o,password:c,rawPassword:f,encryptionStrength:R}=n,{dataDescriptor:E,zip64:l,level:h,compressionMethod:g}=n,p=0,d=0,u=!1;if(i&&e){if(d=s[_n],d===w)throw new Error(Uu);if(g===w)throw new Error(Mu)}let m=l===!0,_=k(t,s,Ba);if(e&&a&&!_&&z(c,f))throw new Error(Du);let A=e&&(!!(c&&z(c)||f&&z(f))||a&&_);e||(h=0,g=0);let T=Sn(A,o,R);e&&(i?(s.uncompressedSize=d,p=r===w?wu(d)+T:r+(a?0:T)):r===w?(E=!0,(l||l===w)&&(l=u=!0,p=4294967296)):(s.uncompressedSize=d=r,p=(Ko(g,h)?wu(d):d)+T));let y=!A&&(!e||r===0&&!i)&&!Ko(g,h);y&&k(t,s,zi)===w&&(E=!1);let S=m||u||d>=4294967295,I=m||p>=4294967295;if(S||I){if(l===!1)throw new Error(Ri);l=!0}return l=l||!1,{maximumCompressedSize:p,resolvedOptions:{dataDescriptor:E,emptyEntry:y,zip64:l,zip64Enabled:m,unknownSize:u,zip64UncompressedSize:S,zip64CompressedSize:I,uncompressedSize:d,level:h,compressionMethod:g,encrypted:A}}}async function zm(t,e,r,n,s){let{fileEntries:i,writer:a}=t,{keepOrder:o,dataDescriptor:c,emptyEntry:f,signal:R}=s,{headerInfo:E,fileEntry:l,previousFileEntry:h,releaseLockFileEntry:g}=n,p=t.options[Gt],d=l,u,m,_,A,T,y,S=0,I,N=o&&h?h.lockFileEntry:w;i.set(e,d);try{s.bufferedWrite||!o||t.writerLocked||t.bufferedWrites||t.directWrites||!c&&!f?(u=!0,t.bufferedWrites++,s.createTempStream?I=await s.createTempStream():I=new TransformStream(w,w,{highWaterMark:Wt}),I.size=0,await ge(a)):(m=!0,t.directWrites++,I=a,await N,await F()),await ge(I);let q=xn(a);t.addSplitZipSignature&&!u&&await gu(t,a),p&&!u&&mu(n,t.offset-q);let{localHeaderArray:$}=E;u||await H();let Z=gt(a),W=Cn(t,a);if(d.diskNumberStart=Z,u||(T=!0,y=a.size,await rt(I,$)),d=await Hm(r,I,d,n,at(),s),u||(T=!1),i.set(e,d),d.filename=e,u){if(await Promise.all([I.writable.getWriter().close(),N]),await F(),t.addSplitZipSignature&&await gu(t,a),A=!0,y=a.size,await H(),d.diskNumberStart=gt(a),d.offset=Cn(t,a),p){let U=n.metadataSize;mu(n,t.offset-xn(a)),d.size+=n.metadataSize-U}Xm(d,E.localHeaderView,s),await rt(a,E.localHeaderArray),await nd(I.readable,a,R,U=>S+=U),a.size+=I.size,A=!1}else d.diskNumberStart=Z,d.offset=W;return t.offset+=d.size,d}catch(q){if(A||T){if(t.hasCorruptedEntries=!0,q)try{q.corruptedEntry=!0}catch{}t.offset+=a.size-y,u&&(t.offset+=S)}throw i.delete(e),q}finally{if(u&&t.bufferedWrites--,m&&t.directWrites--,g&&g(N),_&&_(),u&&I&&I.dispose)try{await I.dispose()}catch{}}async function F(){t.writerLocked=!0;let{lockWriter:q}=t;t.lockWriter=new Promise($=>_=()=>{t.writerLocked=!1,$()}),await q}async function H(){kr(a,z(E.localHeaderArray))&&await a.closeDisk()}}async function Hm(t,e,{diskNumberStart:r,lockFileEntry:n},s,i,a){let{headerInfo:o,dataDescriptorInfo:c,metadataSize:f}=s,{headerArray:R,headerView:E,lastModDate:l,rawLastModDate:h,encrypted:g,compressed:p,version:d,compressionMethod:u,rawExtraFieldZip64:m,localExtraFieldZip64Length:_,rawExtraFieldExtendedTimestamp:A,extraFieldExtendedTimestampFlag:T,extraFieldExtendedTimestampTime:y,rawExtraFieldNTFS:S,rawExtraFieldUnix:I,rawExtraFieldAES:N}=o,{dataDescriptorArray:F}=c,{rawFilename:H,lastAccessDate:q,creationDate:$,password:Z,rawPassword:W,level:U,useUnicodeFileNames:ne,zip64:B,zip64Enabled:X,zip64UncompressedSize:M,zip64CompressedSize:G,zipCrypto:pe,dataDescriptor:me,directory:nt,executable:Ue,versionMadeBy:Me,rawComment:je,rawExtraField:be,rawCentralExtraField:Ne,useWebWorkers:Oe,transferStreams:oe,onstart:De,onprogress:ve,onend:fe,signal:te,encryptionStrength:J,extendedTimestamp:b,msDosCompatible:Y,internalFileAttributes:Q,externalFileAttributes:Ee,uid:Pe,gid:Ze,unixMode:Bt,symlink:Gr,setuid:zt,setgid:He,sticky:Tt,unixExternalUpper:st,msdosAttributesRaw:de,msdosAttributes:Ae,useCompressionStream:Yn,passThroughCompression:At,passThroughEncryption:yt,format:Wn,codecURI:vi}=a,Vr={lockFileEntry:n,versionMadeBy:Me,zip64:B,zip64Enabled:X,directory:!!nt,executable:!!Ue,filenameUTF8:!!ne,rawFilename:H,commentUTF8:!!ne,rawComment:je,rawExtraFieldZip64:m,localExtraFieldZip64Length:_,rawExtraFieldExtendedTimestamp:A,rawExtraFieldNTFS:S,rawExtraFieldUnix:I,rawExtraFieldAES:N,rawExtraField:be,rawCentralExtraField:Ne,extendedTimestamp:b,msDosCompatible:Y,internalFileAttributes:Q,externalFileAttributes:Ee,diskNumberStart:r,uid:Pe,gid:Ze,unixMode:Bt,symlink:!!Gr,setuid:zt,setgid:He,sticky:Tt,unixExternalUpper:st,msdosAttributesRaw:de,msdosAttributes:Ae},{crc32:Ht,uncompressedSize:St}=a,he=0;At||(St=0);let{writable:Xr}=e;if(t){let Yt=t.size,It=ze(_a(t,{size:Yt})),Gn={options:{codecType:yr,inputSize:Yt,level:U,rawPassword:W,password:Z,encryptionStrength:J,zipCrypto:g&&pe,passwordVerification:g&&pe&&h>>8&255,computeCrc32:!At,compressed:p&&!At,encrypted:g&&!yt,useWebWorkers:Oe,useCompressionStream:Yn,transferStreams:oe,format:Wn,codecURI:vi,compressionMethod:u},config:i,streamOptions:{signal:te,size:Yt,onstart:De,onprogress:ve,onend:fe}};try{let Ke=await Ms({readable:It,writable:Xr},Gn);if(he=Ke.outputSize,e.size+=he,Vt(te),At||(St=Ke.inputSize,(!g||pe)&&(Ht=Ke.crc32)),!G&&he>=4294967295||!M&&St>=4294967295)throw new Error(Ri)}catch(Ke){let{outputSize:Vn}=Gn;throw Vn!==w?e.size+=Vn:Re(Ke)&&Ke.outputSize!==w&&(e.size+=Ke.outputSize),Ke}}return Vm({crc32:Ht,compressedSize:he,uncompressedSize:St,headerInfo:o,dataDescriptorInfo:c},a),me&&await rt(e,F),Object.assign(Vr,{uncompressedSize:St,compressedSize:he,lastModDate:l,rawLastModDate:h,creationDate:$,lastAccessDate:q,encrypted:!!g,zipCrypto:!!pe,size:f+he,compressionMethod:u,version:d,headerArray:R,headerView:E,signature:Ht,crc32:g&&!pe&&!At?w:Ht,extraFieldExtendedTimestampFlag:T,extraFieldExtendedTimestampTime:y,zip64UncompressedSize:M,zip64CompressedSize:G}),Vr}function Ym(t){let{rawFilename:e,lastModDate:r,rawLastModDate:n,lastAccessDate:s,creationDate:i,level:a,zip64:o,zipCrypto:c,useUnicodeFileNames:f,dataDescriptor:R,directory:E,rawExtraField:l,rawLocalExtraField:h,encryptionStrength:g,extendedTimestamp:p,ntfsTimestamp:d,passThroughCompression:u,encrypted:m,zip64UncompressedSize:_,zip64CompressedSize:A,uncompressedSize:T,unknownSize:y,crc32:S}=t,{version:I,compressionMethod:N}=t,F=!E&&Ko(N,a),H,q=u||!F,$=o&&(t.bufferedWrite||!R||!_&&!A||q&&!y),Z=$||o&&R&&(_||A);if(o&&(_||A)){let te=Le(20);if(te.writeUint16(1),te.writeUint16(16),H=te.array,$&&(te.writeUint64(T),q)){let J=Sn(m,c,g);te.writeUint64(u?0:T+J)}}else H=j;let W;if(m&&!c){let fe=Le(z(du)+2);fe.writeUint16(39169),fe.writeBytes(du),W=fe.array,W[8]=g}else W=j;let U,ne,B,X;if(p){let fe=ui(r),te=th(fe);if(te){let b=9+(s?4:0)+(i?4:0),Y=Le(b);B=1+(s?2:0)+(i?4:0),X=fe,Y.writeUint16(21589),Y.writeUint16(b-4),Y.writeUint8(B),Y.writeUint32(fe),s&&Y.writeUint32(Ru(ui(s))),i&&Y.writeUint32(Ru(ui(i))),ne=Y.array}else ne=j;if(d===w?!te||!!(s||i):d)try{let b=Vo(r),Y=Le(36);Y.writeUint16(10),Y.writeUint16(32),Y.skip(4),Y.writeUint16(1),Y.writeUint16(24),Y.writeUint64(b),Y.writeUint64(s?Vo(s):b),Y.writeUint64(i?Vo(i):b),U=Y.array}catch{U=j}else U=j}else U=ne=j;let M;try{let{uid:fe,gid:te,unixExtraFieldType:J}=t;if(J==pi&&(fe!==w||te!==w)){let b=hu(fe===w?0:fe),Y=hu(te===w?0:te),Q=3+b.length+Y.length,Ee=Le(4+Q);Ee.writeUint16(30837),Ee.writeUint16(Q),Ee.writeUint8(1),Ee.writeUint8(b.length),Ee.writeBytes(b),Ee.writeUint8(Y.length),Ee.writeBytes(Y),M=Ee.array}else if(J==Ei&&(fe!==w||te!==w)){let b=Le(8);b.writeUint16(30805),b.writeUint16(4),b.writeUint16((fe===w?0:fe)&65535),b.writeUint16((te===w?0:te)&65535),M=b.array}else M=j}catch{M=j}N===w&&(N=F?8:0),I===w&&(I=N==0&&!E&&!m?10:20);let{codecVersionNeeded:G}=t;F&&G!==w&&(I=I>G?I:G),o&&(I=I>45?I:45),m&&!c&&(I=I>51?I:51,u&&S!==w&&(W[Sm]=Dm),tt(L(W),Im,N),N=99);let pe=Z?z(H):0,me=pe+z(W,ne,U,M,l,h),nt=t[Gt]?bm:0;if(me+nt>65535)throw new Error(gi);let Ue=new Date(Math.ceil(Math.floor(r.getTime()/1e3)/2)*2e3),Me=Ue<bt?bt:Ue>Zr?Zr:Ue,je=z(ne)?new Date(ui(r)*1e3):z(U)?r:Me,{headerArray:be,headerView:Ne,rawLastModDate:Oe}=sd({version:I,bitFlag:id(a,f,R,m,N),compressionMethod:N,uncompressedSize:T,lastModDate:Me,rawLastModDate:n,rawFilename:e,zip64CompressedSize:A,zip64UncompressedSize:_,extraFieldLength:me}),oe=Le(30+z(e)+me),De=oe.array,ve=L(De);return oe.writeUint32(67324752),oe.writeBytes(be),oe.writeBytes(e),Z&&oe.writeBytes(H),oe.writeBytes(W),oe.writeBytes(ne),oe.writeBytes(U),oe.writeBytes(M),oe.writeBytes(l),oe.writeBytes(h),R&&(A||_e(ve,18,0),_||_e(ve,22,0)),{localHeaderArray:De,localHeaderView:ve,headerArray:be,headerView:Ne,lastModDate:je,lastModDateClamped:je===Me&&Ue.getTime()!=Me.getTime(),rawLastModDate:Oe,encrypted:m,compressed:F,version:I,compressionMethod:N,extraFieldExtendedTimestampFlag:B,extraFieldExtendedTimestampTime:X,rawExtraFieldZip64:j,localExtraFieldZip64Length:pe,rawExtraFieldExtendedTimestamp:ne,rawExtraFieldNTFS:U,rawExtraFieldUnix:M,rawExtraFieldAES:W,extraFieldLength:me}}function mu(t,e){let{headerInfo:r}=t,{localHeaderArray:n,extraFieldLength:s}=r,i=64-(e+z(n))%64;i<4&&(i+=64);let a=new Uint8Array(i),o=L(a);tt(o,0,6534),tt(o,2,i-4);let c=n;r.localHeaderArray=n=new Uint8Array(z(c)+i),Fn(n,c),Fn(n,a,z(c));let f=L(n);tt(f,28,s+i),r.localHeaderView=f,t.metadataSize+=i}function hu(t){let e=new Uint8Array(4);L(e).setUint32(0,t,!0);let n=4;for(;n>1&&e[n-1]===0;)n--;return e.subarray(0,n)}function Wm(t,e){if(t!==w)t=t&255;else if(e!==w){let{readOnly:r,hidden:n,system:s,directory:i,archive:a}=e,o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),t=o&255}return e===w&&(e={readOnly:!!(t&1),hidden:!!(t&2),system:!!(t&4),directory:!!(t&16),archive:!!(t&32)}),{msdosAttributesRaw:t,msdosAttributes:e}}function Gm({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n=j,s,i=0,a=t?20:12;return r&&(a+=4),e&&(n=new Uint8Array(a),s=L(n),r&&(i=4,_e(s,0,134695760))),{dataDescriptorArray:n,dataDescriptorView:s,dataDescriptorOffset:i}}function Vm({crc32:t,compressedSize:e,uncompressedSize:r,headerInfo:n,dataDescriptorInfo:s},{zip64:i,zipCrypto:a,passThroughCompression:o,dataDescriptor:c}){let{headerView:f,encrypted:R}=n,{dataDescriptorView:E,dataDescriptorOffset:l}=s;(!R||a||o)&&t!==w&&(_e(f,10,t),c&&_e(E,l,t)),i?c&&(Ln(E,l+4,BigInt(e)),Ln(E,l+12,BigInt(r))):(_e(f,14,e),_e(f,18,r),c&&(_e(E,l+4,e),_e(E,l+8,r)))}function Xm({rawFilename:t,encrypted:e,zip64:r,localExtraFieldZip64Length:n,crc32:s,compressedSize:i,uncompressedSize:a,zip64UncompressedSize:o,zip64CompressedSize:c},f,{dataDescriptor:R,passThroughCompression:E}){if(R||((!e||E&&s!==w)&&_e(f,14,s),c||_e(f,18,i),o||_e(f,22,a)),r&&n){let l=30+z(t)+4;Ln(f,l,BigInt(a)),Ln(f,l+8,BigInt(i))}}async function jm(t,e,r){let{directoryDataLength:n,zip64Entries:s}=Zm(t.fileEntries),{directoryStart:i,directoryEnd:a,directoryArray:o}=await Km(t,n,r),c=await qm(t,o,r);await Jm(t,e,r,{directoryStart:i,directoryEnd:a,directoryDataLength:n,signatureLength:c,zip64Entries:s})}function Zm(t){let e=0,r=!1;for(let[,n]of t){let{rawFilename:s,rawExtraFieldAES:i,rawComment:a,rawExtraFieldNTFS:o,rawExtraFieldUnix:c,rawExtraField:f,rawCentralExtraField:R,extraFieldExtendedTimestampFlag:E,extraFieldExtendedTimestampTime:l,zip64Enabled:h,uncompressedSize:g,compressedSize:p}=n,{zip64UncompressedSize:d,zip64CompressedSize:u}=n;h||(d&&g<4294967295&&(d=n.zip64UncompressedSize=!1),u&&p<4294967295&&(u=n.zip64CompressedSize=!1)),r=r||d||u;let m=n.offset>=4294967295,_=n.diskNumberStart>=65535,A;if(m||_||d||u){let S=4+(d?8:0)+(u?8:0)+(m?8:0)+(_?4:0),I=Le(S);I.writeUint16(1),I.writeUint16(S-4),d&&I.writeUint64(g),u&&I.writeUint64(p),m&&I.writeUint64(n.offset),_&&I.writeUint32(n.diskNumberStart),A=I.array}else A=j;n.rawExtraFieldZip64=A,n.zip64Offset=m,n.zip64DiskNumberStart=_;let T;if(l===w)T=j;else{let S=Le(9);S.writeUint16(21589),S.writeUint16(5),S.writeUint8(E),S.writeUint32(l),T=S.array}n.rawExtraFieldExtendedTimestamp=T;let y=z(A,i,o,c,T,f,R);if(y>65535)throw new Error(gi);e+=46+z(s,a)+y}return{directoryDataLength:e,zip64Entries:r}}async function Km(t,e,r){let{fileEntries:n,writer:s}=t,i=new Uint8Array(e);await ge(s);let a=0,o=0,c=gt(s),f=xn(s),R=0;for(let[E,l]of Array.from(n.values()).entries()){let{offset:h,rawFilename:g,rawExtraFieldZip64:p,rawExtraFieldAES:d,rawExtraFieldExtendedTimestamp:u,rawExtraFieldNTFS:m,rawExtraFieldUnix:_,rawExtraField:A,rawCentralExtraField:T,rawComment:y,versionMadeBy:S,headerArray:I,headerView:N,zip64UncompressedSize:F,zip64CompressedSize:H,zip64DiskNumberStart:q,zip64Offset:$,internalFileAttributes:Z,externalFileAttributes:W,diskNumberStart:U,uncompressedSize:ne,compressedSize:B}=l,X=z(p,d,u,m,_,A,T),M=46+z(g,y)+X;kr(s,a+M-o)&&(await rt(s,i.slice(o,a)),o=a,R=0,await s.closeDisk()),E==0&&(c=gt(s),f=xn(s)),F||_e(N,18,ne),H||_e(N,14,B),($||q)&&l.version<45&&tt(N,0,45);let G=Le(M);if(G.writeUint32(33639248),G.writeUint16(S),G.writeBytes(I.subarray(0,24)),G.writeUint16(X),G.writeUint16(z(y)),G.writeUint16(q?65535:U),G.writeUint16(Z),G.writeUint32(W),G.writeUint32($?4294967295:h),G.writeBytes(g),G.writeBytes(p),G.writeBytes(d),G.writeBytes(u),G.writeBytes(m),G.writeBytes(_),G.writeBytes(A),G.writeBytes(T),G.writeBytes(y),Fn(i,G.array,a),a+=M,R++,r.onprogress)try{await r.onprogress(E+1,n.size,new Et(l))}catch{}}return await rt(s,o?i.slice(o):i),{directoryStart:{diskNumber:c,diskOffset:f},directoryEnd:{diskNumber:gt(s),entriesLength:R},directoryArray:i}}async function qm(t,e,r){let n=Zo(t,r,el);if(n){let s=await n(e),i=z(s);if(i>65535)throw new Error(Ku);let a=Le(6+i);a.writeUint32(84233040),a.writeUint16(i),a.writeBytes(s);let{writer:o}=t;return kr(o,z(a.array))&&await o.closeDisk(),await rt(o,a.array),6+i}return 0}async function Jm(t,e,r,n){let{writer:s}=t,{directoryStart:i,directoryEnd:a,signatureLength:o,zip64Entries:c}=n,{directoryDataLength:f}=n,R=t.fileEntries.size,E=i.diskNumber,l=Cn(t,i),h=z(e);if(h>65535)throw new Error(Jo);let g=k(t,r,Hs),p=gt(s);if(kr(s,(g?98:22)+h)&&p++,l>=4294967295||f>=4294967295||R>=65535||p>=65535){if(g===!1)throw new Error(Ri);g=!0}else g===w&&c&&(g=!0);let d=Le(g?98:22);kr(s,z(d.array)+h)&&await s.closeDisk(),p=gt(s);let u=p==a.diskNumber?a.entriesLength:0;g&&(d.writeUint32(101075792),d.writeUint64(44),d.writeUint16(45),d.writeUint16(45),d.writeUint32(p),d.writeUint32(E),d.writeUint64(u),d.writeUint64(R),d.writeUint64(f),d.writeUint64(l),d.writeUint32(117853008),d.writeUint32(p),d.writeUint64(BigInt(Cn(t,s))+BigInt(f)+BigInt(o)),d.writeUint32(p+1),k(t,r,Vc,!0)&&(p=65535,E=65535),u=65535,R=65535,l=4294967295,f=4294967295),d.writeUint32(101010256),d.writeUint16(p),d.writeUint16(E),d.writeUint16(u),d.writeUint16(R),d.writeUint32(f),d.writeUint32(l),d.writeUint16(h),await rt(s,d.array),h&&await rt(s,e)}function Le(t){let e=new Uint8Array(t),r=L(e),n=0;return{array:e,writeUint8:s=>{nh(r,n,s),n+=1},writeUint16:s=>{tt(r,n,s),n+=2},writeUint32:s=>{_e(r,n,s),n+=4},writeUint64:s=>{Ln(r,n,BigInt(s)),n+=8},writeBytes:s=>{Fn(e,s,n),n+=z(s)},skip:s=>n+=s}}function gt(t){let{diskNumber:e=0}=t;return e}function xn(t){let{diskOffset:e=0}=t;return e}function kr(t,e){let{availableSize:r=Wt}=t;return e>r}function Cn(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.initialOffset:0)}async function Qm(t){let e=await re(t,0,4);return rh(L(e),0)==134695760}function td(t){let e=L(t),r=0;for(;r+4<=z(t);){let n=4+hi(e,r+2);if(hi(e,r)==1)return td(Be(t.subarray(0,r),t.subarray(Math.min(r+n,z(t)))));r+=n}return t}async function $m(t,e,r,n){let{writer:s}=t,i=new Map;if(s.closeDisk){let a=Array.from(r).sort((c,f)=>fi(e,c)-fi(e,f)),o=0;for(let c of a){let f=fi(e,c);await Go(t,e,o,f-o),kr(s,await eh(e,f))&&await s.closeDisk(),i.set(c,{offset:Cn(t,s),diskNumberStart:gt(s)}),o=f}await Go(t,e,o,n-o)}else{let a=t.offset;await Go(t,e,0,n),r.forEach(o=>i.set(o,{offset:a+fi(e,o),diskNumberStart:0}))}return i}async function Go(t,e,r,n){if(n>0){let{writer:s}=t,i=0;try{await nd(_a(e,{offset:r,size:n}),s,w,a=>i+=a)}catch(a){t.hasCorruptedEntries=!0;try{a.corruptedEntry=!0}catch{}throw a}finally{s.size+=i,t.offset+=i}}}async function eh(t,e){let r=await re(t,e,30);if(z(r)<30)return 30;let n=L(r);return 30+hi(n,26)+hi(n,28)}function fi(t,{offset:e,diskNumberStart:r}){return e+(t.getDiskOffset?t.getDiskOffset(r):0)}function rd(){let t=new Uint8Array(4);return _e(L(t),0,134695760),t}async function gu(t,e){delete t.addSplitZipSignature,await rt(e,rd()),t.offset+=4}async function rt(t,e){let{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=z(e),await n.write(e)}finally{n.releaseLock()}}async function nd(t,e,r,n){let s=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(i){await s.ready,await s.write(i),n(z(i))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{s.releaseLock()}}function Vo(t){if(t){let e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<fu?fu:e>uu?uu:e}}function ui(t){return Math.floor(t.getTime()/1e3)}function th(t){return t>=Lu&&t<=Fu}function Ru(t){return Math.min(Fu,Math.max(Lu,t))}function k(t,e,r,n){let s=e[r]===w?t.options[r]:e[r];return s===w?n:s}function Xo(t,e,r,n){let s=k(t,e,r,n);if(s===null)return n;if(s!==w&&(typeof s.getTime!=K||Number.isNaN(s.getTime())))throw new Error(Su);return s}function Zo(t,e,r){return Er(k(t,e,r))}function vr(t,e,r,n){return Ot(k(t,e,r,n))}function wu(t){return t+5*(Math.floor(t/16383)+1)}function Ko(t,e){return t===w?e===w||e>0:t!==0}function hi(t,e){return t.getUint16(e,!0)}function rh(t,e){return t.getUint32(e,!0)}function nh(t,e,r){t.setUint8(e,r)}function tt(t,e,r){t.setUint16(e,r,!0)}function _e(t,e,r){t.setUint32(e,r,!0)}function Ln(t,e,r){t.setBigUint64(e,r,!0)}function Fn(t,e,r){t.set(e,r)}function z(...t){let e=0;return t.forEach(r=>r&&(e+=r.length)),e}function sd({version:t,bitFlag:e,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,zip64CompressedSize:c,zip64UncompressedSize:f,extraFieldLength:R}){let E=Le(26),l=E.array,h=L(l);if(E.writeUint16(t),E.writeUint16(e),E.writeUint16(r),a===w){let g=new Uint32Array(1),p=L(g);tt(p,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),tt(p,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=g[0]}return E.writeUint32(a),E.skip(4),c||s!==w?E.writeUint32(c?4294967295:s):E.skip(4),f||n!==w?E.writeUint32(f?4294967295:n):E.skip(4),E.writeUint16(z(o)),E.writeUint16(R),{headerArray:l,headerView:h,rawLastModDate:a}}function _u(t){return t.every(e=>e>=Nm&&e<=Om)}function id(t,e,r,n,s){let i=0;return e&&(i=i|2048),r&&(i=i|8),(s==8||s==9)&&(t>=0&&t<=3&&(i=i|6),t>3&&t<=5&&(i=i|4),t==9&&(i=i|2)),n&&(i=i|1),i}pn();gr();We();Kt();ue();We();Kt();ia();var Rw=1024*1024;jt();var Tw=1024*1024;var yw=1024*1024;var Sw=512*1024;var Eh={};try{Dt({baseURI:Eh.url})}catch{}We();var mh=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],hh=[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],gh=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Rh=[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],wh=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Mn=new Uint8Array(288);Mn.fill(8,0,144),Mn.fill(9,144,256),Mn.fill(7,256,280),Mn.fill(8,280,288);var _h=new Uint8Array(30).fill(5);function Un(t){let e=new Uint16Array(16);for(let s of t)e[s]++;e[0]=0;let r=new Uint16Array(17);for(let s=1;s<=15;s++)r[s+1]=r[s]+e[s];let n=new Uint16Array(t.length);for(let s=0;s<t.length;s++)t[s]&&(n[r[t[s]]++]=s);return{lengthCounts:e,symbols:n}}var Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function ad(t){let e;t({wasmURI:()=>(e||(e="data:application/wasm;base64,"+(function(r){let n="",s=r.length,i=0;for(;i+2<s;i+=3){let o=r[i]<<16|r[i+1]<<8|r[i+2];n+=Fe[o>>18&63]+Fe[o>>12&63]+Fe[o>>6&63]+Fe[63&o]}let a=s-i;if(a===1){let o=r[i]<<16;n+=Fe[o>>18&63]+Fe[o>>12&63]+"=="}else if(a===2){let o=r[i]<<16|r[i+1]<<8;n+=Fe[o>>18&63]+Fe[o>>12&63]+Fe[o>>6&63]+"="}return n})((function(r){let n=0,s=0,i=0,a=new Uint8Array(1024),o=0,c=0;for(;!c;){c=R(1);let d=R(2);if(d==0)E();else if(d==1)l(Un(Mn),Un(_h));else{if(d!=2)throw new Error("invalid deflate block type");l(...h())}}return a.subarray(0,o);function f(){if(n>=r.length)throw new Error("unexpected end of deflate data");return r[n++]}function R(d){for(;i<d;)s|=f()<<i,i+=8;let u=s&(1<<d)-1;return s>>>=d,i-=d,u}function E(){s=0,i=0;let d=f()|f()<<8;n+=2,p(o+d);for(let u=0;u<d;u++)a[o++]=f()}function l(d,u){let m=g(d);for(;m!=256;){if(m<256)p(o+1),a[o++]=m;else{let _=m-257,A=mh[_]+R(hh[_]),T=g(u),y=gh[T]+R(Rh[T]);p(o+A);let S=o-y;for(let I=0;I<A;I++)a[o++]=a[S+I]}m=g(d)}}function h(){let d=R(5)+257,u=R(5)+1,m=R(4)+4,_=new Uint8Array(19);for(let S=0;S<m;S++)_[wh[S]]=R(3);let A=Un(_),T=new Uint8Array(d+u),y=0;for(;y<T.length;){let S=g(A);if(S<16)T[y++]=S;else if(S==16){let I=T[y-1],N=R(2)+3;for(;N--;)T[y++]=I}else y+=S==17?R(3)+3:R(7)+11}return[Un(T.subarray(0,d)),Un(T.subarray(d))]}function g(d){let{lengthCounts:u,symbols:m}=d,_=0,A=0,T=0;for(let y=1;y<=15;y++){_|=R(1);let S=u[y];if(_-A<S)return m[T+(_-A)];T+=S,A=A+S<<1,_<<=1}throw new Error("invalid huffman code")}function p(d){if(a.length<d){let u=2*a.length;for(;u<d;)u*=2;let m=new Uint8Array(u);m.set(a.subarray(0,o)),a=m}}})((function(r){let n=(r=String(r).replace(/[^A-Za-z0-9+/=]/g,"")).length,s=[];for(let i=0;i<n;i+=4){let a=Fe.indexOf(r[i])<<18|Fe.indexOf(r[i+1])<<12|(63&Fe.indexOf(r[i+2]))<<6|63&Fe.indexOf(r[i+3]);s.push(a>>16&255),r[i+2]!=="="&&s.push(a>>8&255),r[i+3]!=="="&&s.push(255&a)}return new Uint8Array(s)})("zb19kF3HdSfW3bfvx3v3vXl3gAEwwIDAuRcQNZQ4AClRA4qkpWmIg+EQhKh19Ier4ioSAkcS7gMBvvdGIOWlOUPxw5BNaRGHUdEOa43YSqRykRUmy93IDncFr+m1dq3d0BttLROpUqpYZWsTpYrKslysFEOGv3P6vo/5AEAStsMp8N17++v06dOnT58+57Q63rtfK6X0fzp2r1lZUffqFb2CJ71yb7DCP3pF8aO6V+mVe+2KPKp7oxX+T6/cG6/0H63/1Y/olXtD/zX49LFEW6W1jSJtdM3UNf4zxtSM1irQQVAP0yAIlDKN0NjY2liFYRhqYwNjjTEqaupQaaViZZPAhvoBXa+HkdZfMV8xUaJXtHvhO2Ea/5ml6P6l+890v2xU4+Tpz586vrz08XtOLz2okvH+68nTJ5fv6R5/UNWaI99UmvXfH+ieObHU66nGoJal0/ep1vb+66njveV7Tpw53fvS/Uv3qSz1CdJYVUrqHc+GX7npLeMjn77wKycfUFtb1bd+6/1aufFt1dvatu9bGm67euO2J7LhV2572/jIJ257e6v6VrW9o18r2t5pP99dWlJmW/VxDQjR/cdPnTpzQunG8aXePV+8//gJBmau2X9laFzWf6/auWNQAg0tppzz5PFTJ39lSamd99xz8vR9J7tLJ5bv+fyXTp9YPnnm9D3Lxz93akmrnfcs3d870T35wPLS6Xt6y8dPtO/pLvWWz3SXVLR7XdIXlpbvOfGlbnfp9LKKi3vuOfHQ8XtOnj7RXbp/6fTyPUsPnVh6gCvvLn3+xJkvnV5Wd9ZaWjmd1tTU7ubk0UO3fKL+0rPBMaPS735Qpyv7lMvaRX2/MnPr/0i51/UxO+ce3zZtVBG4jJRLS/dG0MHD4lQRueBsoc4W2gUdixLarfSc7pAqC+OC5UK757aVhSI9bV7cVuhpkxThEa6RAvcImQc7s0Y1dEohqVnTIEXhrElS0i4pc0WauBbjgu6ssXgtC43KrNP40khTitxTDF5yrKlJAwpnSKGQItPukia13PkiQFwuFINjSDE4ai04+sFOEfQBMgDIeIAURR4IRVFZWOL6NEXtIhRYSJEukVtRYucocQ910Fqu3TOALzdmhQKnKXHB2eUi7sz7dinuooxGo0BQmgfo6KxJKKhg0PITCCiMG/fMNrKzRrmntnGjjTR15xgR6XxTU/pFZ5anzYs7CgNsPdShqJ1bMrkOeJymTVaoectPE4Wab+oUWPE5C03Atl0s9FSOnhnSU7khlQPMlMy0mcxrZPDQKNSCncNTUuhqFPWsSRp1zjhRaLtCxk2UIV6zQs83AzIuK9M8DOYozGPShXITZR4ChIlCNxUpl/n3DO8pxU6hl7XUreQRKffdlaOcLS0L7R7q5JHvfTzfVG5vnjglPVbu9bffjo/ZOYrctaCrs18oVPssE6nTy233iTJPUk/wSYU0jdFROSgBPxS5nZQ4fbbtFCVu78LUcm4qRFY4C8je3VSk85CCwjaVU7klnatGAPJhPAfEY+uuOetsp+S+HZkiRcFUrsg4vZwbQm9RIOwKDKEzlIB0Fal2l+IORisgVQ1wrlLi8QvmhkfQkF3MNRkMpIxhiIcKpXaFtKA7LRS3GM43FVmZTBS10ZUQw5xQiAc/zOH6YU5SfJVhDnmYw/4whzzMJpgjA7KWYTZrhtkMDXMgwxwP5nUIDiRTSJk5Cpk8XXa3nZOpaEj3J2BYAiQ1mK2YVIrC/tQNR/mHU7lxKtcpZhFKYlYZroEnWaMGOM4zHGbRzrnz28gwAMj77Db3LCcJHCg2DEyfYVRVeUo6WBbWrLgfTU4bZefcT/ALOvvp5OGVQ0a5H08eXr2wurq6avH2o0mqu0bpHui4V3//3/1+2EPLr00ymtxF/7tKaaHLInCKdLuIO2BMx5qJe2mSMWjn3Iv8lJAuixolxyik2mK3WUvNnLs4OaOUs2BIFef3/ULBlydzJZSF4hgMCilhSisXmwFzjURIyKksLIxbOdIMSOeB+zG3qZxuFyGZDpgNmTZYasnE3CnzIKUAoAYeVNUHNaSgLGIKj5GieLHbtCkFWVgoMgtN3QhRzrQxG/CVKUgJUEeamgxPCkCiKXI3lBQAbpWbhk0F4ZgfFLRLXiQ6hclCyW0oKPOAswYpGbey0DQp8HwRpZwFr05J+45yj9FOFzzyWLcZ4hesIHLT5bFmmLoXJ6VD6A6P1Xf4TYGavjOJiaTSPsLtAOHSJUy1aWOLsDzSNANUoxtPC+kBk2SOTYFZPC3Ey4TmvjeJ9UK5lyf5o/vmNreC329vE9LD8ytCPxhfWc5kvQ5nzYvbSGNd+c42sMmyUI4WmirFBAjcdLtQ7iEybQdSayM/ZoNfn3k1o8GqaEo3jbl2YZv7mW+4YVNwpmNYY452pWcNl3TwRAGFJfI/u42se4gst6KkYnd+m0xHoNOQajNOscb75gzZDZoLGCWNSH4q5JE5OoQ0GfqQ8W/msDD5EQDb85jXDQPePKMA7HwzSP1omblqtCwIDWsn02IRLvqFNeG1ZBP8xRvgL74U/shS6D5IISoo3cF2ASKwLisXpwrtplhWct+fvM6oQyYj7V6Wx8R9f5JFK7S3lj48LZB2k6VMeRdX7IuUs5DHwkXwaE32CBY6YaSPdJCLxYV2YTzULMAog3X/bYiQZCpxSJkVL09qx+Ld2eXCVMKQJsPCEEtgioUhjZ5BGNL4abhGblwCdrmXl8y3/eJu3LVkNlzcVUoW02w32cOMDuXMsntxR5lrZnUiNoQOcmIRMCTnIJaFIpaxkAVwjNuJSlkEUCIC8KquRIopKknA8Ex115zFWoslXWaD7ZRFgGUu5GUO1WaATM+aSZfkhmyhc+UalRhYcLcbAkAiXUh4Yk/mxjVSsn6tA8ULG/ELlQJDxUzBGvSeliqbutVt7gYUVJX8IqsikzUFJU+1ioTLIunXoN1DpOVjQBElZWHbeVwxOAogbT/rJdf+XI6FNaKTXq7XqSz5UmAg6nrxZF0BEIlgAfgLwDKVCzpOH8HkhXxYw9dGbnhbIzQZiCxjZAcgVOkeASs8K/sSkwohexE88XVP5pEBgw4WqkpUlUtJLsPfJwplIfNDJApE4G5qClgk0sEcS4qqgGScaxGJVFOxZAzBjQuAVkLn+wVpJaVovqmk/t0FSBmE9+IORhRp0LUMlWlqd26bUDc6VfUIRSmaNhnyR8iboVv8NJGS4Z2AoWjWTHqg7Zx0LBMqmEx93yAvcsJEPyGmWpnHFFCNid3mTOqqzyMqpmYpLglcj2I/FvHG/CF+t/xBJkpDJpbnEwateD4Ru2sp3pBPGMxGM8QnTMUn1BCfYKa1XIQVn9CeT6g+n4jdTojyzCeM3yrw6iBjXlQyegw+ga0ABltEfzBf8ImwLw6HfT6hMCC26qP11KiEhK2I48IpnM86hIeUEpnZPP6JUFAICtKgIMMUhJ0wGaYgnlyKKYhivzGO+/QTUuLpJ2G6ACD8NOF3IqQoAQzSDxbUNeiH9w2T1XYB9MMJE1WCmSPrWiJiWjAqNSy4C/PpMwjsBHxyiLwB+TQw15KHg6ynLrsxddkroq5AqCsAOgPBajBEXdyKpy7rriW72SoUyCoUbLQKYWaw0qKiK1OpBXiRlgYnAZfddBkS8qq2+7a/DOlqGTKevOLBphq1Z6JnwLyuOhl48jLC3IKB+kE2aJOVaoL7hA2gkBdzvpqQl+mTV8jkBTZL4TrySoW8+sRlqOaJq9Ynrtoa4qoBArMJcZnLEpdZS1xmPXGZPnEZ5A37xGWxybTrtDzKb1G1WRnoeChYq+UZIq3A759lbBvkN9VatDxY80Kv3rEinjKKU6q7rNyvSKX/W6qTFSxn3FeXYNuhnG0LdT8EmTkPWSenOxDXnOnw+gP2rSB2BiIGLzY1665yrwSsVl6/ujWgk6ikOFnu7ELTDK+Yur9ihtUCObI8ji6i1i8genRxZH2BLI42mCPLaiFeHK0f02pxtH7sh9RCATMVy4pIFyw0A+CNySwk7ZefoC8ssLJRtTzDB2DMT80GKywTsB2ssHbTFVa/5xVWM2Y9EQ+tsFpWWE/E1RQNvWYGndUdBtVrr3iEbSVqhV7UCkZELeUlpwEyAhnvhSYULqJOeEZ+W14Iw77fi2HBiBi2vjLsyyrkggZJ8bZhlIpYh2TXyV0jVDQ6MjYVXRTIKhxSQw2TVbCpGsp4NdS7JyuTbkg//V7KxnJAMuEakgmvnGTCKyWZcBOSCTcnmXVwU0DJQlNVk6SV9mVi1Vdb91dKi6WJGZqq2Jkiu1Zp7ZeqhFS1iOjBAtESMUz1F0rlrgXLOvuFQstCqYfEsEDEsGCNGGbNipkzK6OCWDwQxITDWqHRSb9NJLWROGbBqpkc+ts21RfHbF8TS3awXtrBeonKSefWcbeDoo+FwkrfBRNuMlfY2TmV5jFrF2Td8JjhwYi9ZuabTBEaeoEVUlNg+OlTqY5XhDOHxqsYLHbYHaZY4eZKdFnayxHIBQWUX4686qKRB/2NeCAy41oWboYnn5K55tcAzm+qUTV+PvJ+xdoVUjzXWINrWTE9pPKNyRaBqHyZo9mmYhYv7xVSR1m4GWbhWli48VNQ9fesIScxC/eADVh40J+PCvPRDOajGsxHEatG56MZmo9qaD4G/fkY8HwMeD4GMh+554Yxi3krctKkR5DBfOSEiSqhz659bzfi2WqEZ2uvFBr0Xr0bnq1GePYGleHcymMTahomJuHZA7LxPDtYw7PNKM8eHooBzw6GePYoHVU8247ybDvg2e+ejphnryeYfi+FZwejPNtsyLMvRyPhldJIuAmNhJvQyEZwY1PlebauFlgZG13xbNPn2Tho1Myz9WB3EzCDNJVgn/LxkJLdjT/QMYNzHebZARrxPFv3z8+M8GxT8WxWEAXg2Up4dlDxbDO0dcY6EgxxbOs5tvH7AV6umJW6nTgpZZYdCMsOALESasA4McvWYNkBWDZ+NHKBd/dZthGW7VUX1iPW91SWJawE/fMs0bGRkh2OqnbVvIFOb9Cahe1CZ7rwIrdt4+QkgBBGvBPB+cubKZ/fpYtYQX824ZX4Li4hkhuWssmw1l6z1p7UJ5XLlo819UDrttJK3c8mBC86jRSp/Sq1ap9Kc61X3Msqs6xbUs7Mmv1YnWcNkQqdStNxRTjYdY/wqv5AVk//y0BHK+5XsIq4byQA+UYQ0iNQP0lHlGdkVAT8Ydrs97/TTrsfHaJgPFCFQbUPt7w2cDd6MWtursbPOC0fX3xLzRoLXGXXiHRK2qk7RGJxDxwpolnz6iE5qtIucy2Kpo7msehYFdKwTz3rwjLHAR1IsNWBZMOkkWC7ovOAYpGJglkzLWJiQxqUSm4iA1K8fvgbSU8TodIJsrx5tE53Zs0NqRS4TbLuf+cNR3APsARy+MW31CFsBQ8/Kt++fwhn3+7FOgvAD7xTZnXVutVVQ9EU702Bks/Kz2ccy1fTDCYwO648ynenFPLgZrV0CxME+sO6fZuNpX9wh8lXzCP7lKN2MbYfAzZZYZVX9aLmB0kV0bws1NYfN+xmPUARuO++pUStc5FHBT+YrtqF7XwvGfcjVeZExr0elvk2Mu5VVeZTZNxrqsx3SRfz7UhXZT6OSTgHWWba3CYnybbYnSeyBDbzLcPGIzgUcb+a240MS/4m/igA4bXH9oZRnNQOHLzhxnraaI61svHATGzThdo/tct+/JZbb2Pmd1eeNor+0xQ/ncobjUyeihZ+7uXz+tbiVJ42xjihkdvGjDwVwfwQXhsHcPwei34hmW9+BNYC7TyhaEYpipcphDVD5HSZR9A/lkzvOO42nXkK3e98wyx058WMYloqbs2aaaxUWMwU/rI9BfPYMeS+VWNDMuZs6Uy2hxfqf8yQyJTY7VQeNw4wqPtxrEgWp383sKZm2a2+FXTwdLZ0ex+YB/PsdJiC3O/VmX7dn1fdotC1Oi5hQdD9PF2fas8WASZoHb2yVHfxMe5FkdoVSkOZm9NkU7J3d5pbKXY4EYAIM1IZBXnYmBnF4o1XiEU20pmg0L2tNwN1BqCuXoSZEin3vyZrExlPAa/QwAvzBMVrvFu1zOANTv3kccwltyhLY5z1FhWKIczu/nDw1Dbun8iUgwmHymPp2l7ftRuutGtDcM0ayxqyGbWNpf9RmDh9BBLbh+R/2ACSCskH3wMkLjkrUhyjHOvjpeACrW6Moe+MwiUb8sCtJhimkHdoFaCsbBuB04LcRuE0qCchm4eNG3kZZuK7XWCv2zmq431CplUgI7tvAO0+GiO7MbSNfRUGkI2VoFlj3+iYzlw5ubrJZVDWW0HHJctdITk/KSfPdrsy0VmmuoGM+2fr0ZTxdKWmyDY1kVQSf5onUlU8y+rUcNbc5kw+2bgx7XOSvWsa+C43kNJeZxabHxLxsJkA5m5epygPKPGDYVjNPd+EIlrDvioY7muAvgZUH+ook4f7o7dUngwx69Dps3w+1x4LlDZBKgrjVw8VdUjikXttoizSacMmapF7c7KE+IdjxtflMZLzsCiYc+c1J5zng/px4Hu5dMmtWnnUA5Rgzq2aPKLErRrJlnC2GrIlyJb4bM8Yru0ZM1xbvLY2StyFkYqS0YpojOpudfyUO7+zhLyzm9AvAC+jM+ZqQIumcXfB0JjbXYKplLSN6hntAhFzGzTcRLimCa7xzcmSxrDeJ1ItrBWdeadaWlcrpbxB8oqkz5A5/NXV1dVX1CHzS2RAO58l4/5UmLF20UIzwPEbeHXoApxmB3lENk8aM6l7GeMp6pXnwGjBSfMklXpsuknBD6R8zpdj+x67uHOWj86tn0BrZrgdnT+Wl5fBDI8bH+YZHrq33w46BVjRSs9lZ4X7/2ltZG1B9g+A/P/50Bp5ezWhpLeqMY0cf+yngpk2t3t2BxV9sjhVBNSkgJp4mm9+kGrY62W5MIvbKWiD0+DoM68hYztH7giwJ3hLmIX4qdYohHU0Peu49l2wjr2dd7Z3j5py1tzH7+FZfLJOl7Pmi/ylfhZrti2LdNbcS7Ebk7EYO8vnAYG75pj1042s27PYZaHR/d4Izlg8cn9ScZ6WyMWnUjZ2SakFRcBWSil1W49NiS6NUtahUQqDoWDWnKJxPC8f1OcbTMEKFBzkaUOlvF/flLskV8ZdWmgokoZaQw1R6OIO2holwyhv9UlRKtguUvp2keHjWZ4J21lmzxtO0bjbSrtoirYJtjIqdjB5/dGo/JADVf/Ckxajyal8B9PQfUWGny+WeSuYowa1YPe1gk+/tOxWevlWPH4mn6Aor1OCbQ2jYoJC2tpxZrksds4oXaRkj4IWgZoAqAmoPjxJ6kBNvZokOgU/3XlQmyKpjrwaQ7gSJDHLspQyhigVDMH+xKywplUMYrP2mFHaYKBNCX6Lw7NFgYWuDJaRRiw1RNL86ugUrUNR5NfuD4I4DIpYZwCXZZ1gmScMOo2XzrQPatYZpvg+CtbedwGWJxBKz7IxO0+6GG2BuaUuXlv3nndTdzxUdyx1v606Li1T2CeneUQtSqhRLl4CISJkJLwOyLhFGDcMZ97wXMNTcwPzs1+Ovx3Ur1tB91ujs5tAsrUBwftZgBWJsg1p/r9O1lcQzZpfFv73wKz5LNYdpnkGE1RPu4jWVfQfN6joTys+s8MzYxhPN65F0vcGDPnVQ8VWSlxrsUtN97hZ7DajK5eBqEbNssjcY6ad78QLbWmXec5GSuCQ10DzjpW0MZibjWlzE28CG9Pm+mIPfm4oCtqzOAWTbf78y3kLP5/N6/j5TN7EzxzI/GPmtnwf3m7m1dy6m7sgAbY6aJs5alJ0HWjo+Sdp3+PFvm9VEz6eUUrEXzn7jmeUuUVBDR6DFbBVe5P2UfT8ufWlaqCL2nBBTTXM3Br0bZuXz2Mhdp71DbNCyqww4XOZEGX2Ufj8uXwfvqginOcT+go23yx0vi6D8B4f1CaXzWMRs0lkzHV8y61QDOx2KC3zlN6pDpWm1Mpjqos8QOFwPu5dCCikBilAIaCIuTGzgl1Cp5jw1pd5TJGYStzcxfMAy/m+Cv8uLjH/xig8qI00N8HNsfXrboppQlqb4NZqlLdhjbzIXi4hxXgrjjUVxvf7h+Bz8Jf1RiRnv/HdbBoTUNwu81CsY/bg7Khd8BeKKb2bt0YpKkqhkqqhUsqyAoZqeUxJHkJ3mS4ymn2aL4H8feEu25fXIAEmecyCYB5SRrW2O3gXvAcobDNO4/lmneuplTNKDUYMdiftPJYFmdvJ9uc1mPTjJRWAYI3Pr5wWpe6H4M8XVacZ7KI6Y5BJKJRqQiSBPJpMBUgSBIf98ZQVHLIQhY46Tb3LfTet5MjUm2BEdA2wVKOdMKJNB1PcD2ERidp4J7r7mCkLzwiuoajtxsqCOUGDLIxsA/CBhoARMBjgCKPqLLac+e5baqF5DQy/Z80rhxrXgAP9G2HIfZlVhNi4sTtl5pFHjT3VE8Ww/eAOXpOybMnywAQ0hIbqy8L5Nt6E/dO3lMfI6kXVmfI7vsZOvzdqFFYcQoCckX3nnisUHhVtoSZbiUybiVKOG8y0IbbnJD7sLOrzYIxHujK9g3bOjHd33hIgJuwctQim+HtEJ98oUCyvY8AkYS/0i4aG+oYO1FktgE11eNndLzc0dYQ1038+oo+iZr6lsSvtC+7NfAsG6H+SlWRHSs35Zo1qLJCDyKvVg5pAULNiUzu8pvmVQ8OiWCaiWGuNKNaikDLhQo1RUcxeoSzQAC/MQIDgWQ2n26yoGkM1ad5yKk8FfRnPjQm3Qik1SgaqwQwR4mCjQ+lZBiMDGC1Ky8V3BweLYbaS9bIZpfIGZQwcRixjTQlk+xKoIUstkV9ayN4AzKJnNu5fC8LH4B1DHf703Ur8lYnDSReVqNu+O6qLgy7V/csq/17Xoq1TFHXACO+qxJeUUhwCDg0F2+Rb4YjBPJ/8XEmnmcRfOUSpdMpv1kLg2PP7Fvo9KgdXMpTdYF5PbvBtxwbftsseMudT1X9V7Ttbs+YHh1Ihu1+WEcbjZzcku0ZnMN7vegcgI9swczzSRSYuU4wMOWxpUYPpbSvTWyb0ljGStzLNV/TWWENvyXuit2oY8pjnQZ7JvGhQK+dhiqshGh2KrE9FP0w3lI/Hgd8/q/CbQRBgQmJ5+I4BPQ2hl1I7SkzR+yCmO4aJCS2Owo89TT2PAOT3vSTbbLLuqtkY96z9jsJ61nyU5Qt4JhVsjnTDMWGbLGIQhIyRmdRKDVMShFS7KMN7M/53va+jXfrT3ptxsNQuUzkjhW6jTpbqi1MFhEELrUZep6Zr3QUtqWMFbI2C65Q6xMJCAmEhwE8AzZP16dNKzXK6lXTr041PP6jUrZxuJN34dBiuGWQYkUZwdl+jgOrZB0SGFSVMpXZhAL1cY3m0RO/gq1on24gOQYQS61pH0eG7eWWrgwe3OqxPGNJKosBYorQ11trAApia0+0blTr86FceP3f+wsVV/Uix75CCvLYPiKljibRe6yOwRJLWz2Jdhiw1mCvUBBjIbQU+mfZBpbJraey6IGEpc+y6IBsq67VJAdWPNGF6OijhG0b+fJ+U3x/MDZreL8OWCR6yNptIgJ/127btaaWyD15R2wENl3hvbQeCzqR9nVIjOBxuyFSV+4z5vuGK921YMRONhaRSz4MAArg9xuPNQ51yLVTDQzLSKpOQlcYtzAdkjte4NgoqGvTvTJOeA4Am66zua1Jd9Hz1hWajL240GhusB2MbfGtu8K0x2MInKSs766yziuHhLep/9weDPfFEUffnJQyYJfgKsbaSWQmfWaRgHikOaRv+aRL8fBpn4O3CgsdYapQEfQS6Lhb0raNT0G5Om4m8ziLcBidh/qAEilB/plMpQws+eBHNp9eDpmSbQKH7wyFV2e39oyN0gn2mk/lmIkoXTGjMUH+Agxbr2KK3vDR5e5HiA93NoKSsAr2dJRgKblHiToyxBcUni1NNtfk5Vb8n1amZrXS3lnsw39TwBq7OgJScAfEp1v+4YXeyoe7El+rO/rXdmf5b6k6yrjv70Z2XhonLYtB5tRycGMZXtt8Q2CqAQiijdotQ//ioPBikI0db/pQR5iQ3gBJdTY5jr0/XnoSvOb/iPf98k0WNiflmOLJJCq9wk2QZXk1cC8ElWLk/HFl1GUibB7yF9YCL4WGS0g6cUQDQVySv0zmMJa9USeUXIqzgTcU7sSa7gtkiQo1HYfvi7EITp1H/mt+9uUcwbW4W6TzwZjuwjJtedlnp2EqUYMETwV4nmm8atjC/vki4AOxebuDYFFwEG+frMXosktQpuZsN3GqUtCnJcqGUm8SP4PpZc4O3eoMUEpdUo3qbEug1IqpTRPXFIpkqoixnHSbARBY4JkZtwmc2kVtTHb/cBMcLxHFIBNj6whRnhA4uofrdbDUH9sl2DbBByZtsk5JzvA6YrdJuStqlWCVzb6J1e9+I974VoQ42vzCwQQSJQPa/dTIiak3wKXJAUbYHkMrj3lQO+XhIb2ADqWl41sMgDGepU6Vb1fIMx0QY5eATlALsxvPP8QHHVpwwC/HN/X2yU+LXy0BNga3T7iNTIIAjU/mkkNm/9WT2cD6JtZ3gGjKZ/nZNN1bEDAwGS2J/dHM+hp/bCJEMzAqN8V4u02J4NXc3Mlden3wK4GB8nZbs1IpwLzlLD+2ihl60oANpmjlqOfZyodStGthmpc6WxOdaNezQoQdnj3unl4/Bl17Jgt0seW+SSlZkKxKXoYIaOJ7Tna4zbAFZoxSRABLvj9OAyq3yxokpyTARvf1s4wjHaMBjsyyalB5j0XCD+hJp0jskwlm2csJOvLPlM4Man6pqTChdbMKFNJHCvKXasP5m39cxgTNkIt6OCTznvMu0yBYoSElVlPPGFA8HqIixVWB/oKb3B4q9pyHwUCTOdJqaHZEA4TgghBI/bedbkKOR1/kcR0xFGzB3jKm+xow3GXZ5jakOLlVHO4lvZ5L1F3VqLAxVMpLL8PeJIrYr1GBT3gYEjhi8tMGmvM1gjpp5QnFRhylvE92cKGIsghDpmlj6MrzDW3Hg8lpPKRNL3Qafc8M+IGZLXYwNxWypWwd266OWusmQpW6DMm+pmyEvW+ry00QK1RRP5AxMXoDmOR6DZXM3J1PfN16xkTDRT9giy6IfyfEBEYyPjqQM94aUuMVT9roylNCWDHIzVsY4ZbiwVDFiMHXZAnCXe9g9BFsV9vyKXdCZYg0l6sJxbHx0ikvWaIziN+uQI8YyQ7W0GPMM4t7KpvM2UjQ2a25OCcbKYzBIlAJsDJtVvh2c1wqPvVmUsCFF43B/41hBYMLtWd7Igi232YQYPh6Ty930Po3TBbviHkHu7BrPbHfDE+NmNpJeaysJ/qu9CaVeY0LJ0VsYjsyQygzp0D2Sppk3gvWml3NrrGJbWX3Nl866L3uzeloXO/lWdlf12Bk87s3uWmu2GWZj6X/4gG6Ko8ojpLJZmFoe7TbVrsqFo+GNNneLW7BFlBU24vQGrvaILBPW/Xa44I/mf47DO4ELpj8iE0xjbYJ18nR/A+vXJ5XdzBllU2ArkWRl1kxXLk32SJd9btyDjr2Oj06VbEPN74Gzd06Vd3abMOu/hMmldR9aYNPC3w4XxBcFlkGNLRIgSlSFP2fJTEJBrWrXWHarr+k2S03WG/1op+8UAfgHugicuaOp3EVIzoGLFpsKS+dF+M1HR6ZyCRxCYbcIHHWJV+eX9FQRuL0PUNB1e3vZJ+WbuK0f1B/BBzzckH0SuPTKdxEcGTrGF1DnZS00Yt3HwSO9uOntz724WZmpaZYjOCkp3V5WOG+c9hv6EonJLarvLytGpRvnU5eo428qzRlxi+OBqS28s2pYZ0WQ4WGbgk7nDj8sG9VC9hItBKKjHx0Epm6h1RaLqftz9hDdnbOQCbU/xMGcpcKM5wBXXpPKGeKabzx2asFBxEqmugx3MNV1HBpsqusyHI9NdRmGabObZfqqstBDGvqKgivLxeagkvGgjq6guhkVXz7X+0U+g924Amg4QAm8crHnvxJcTFwZLkIK0mlzPVssqmlMIcjmKIbN6Q1saDTYQhNHXpJ5yEzmT1R7LDS1Wi1gRd4PFSuk3F+phSar6IVamNcPejFHwUE9wTJ+G36jAFbOEMR6mzfEd8uMT6DukB7xIRCVrB4q+tZdjYINjCXL9fNgQKJIHO6PLRG2oF11afhorU/b4irUziN/jtdny410E0CiCoYJDnIwAgY0XRuBEQyBwRjlA5f+3nX3tNktS8NEHgtCdnsUidaZBavI9zRe30Rc8nm+b6LPPUNfkxdacXgCHYRgwhMIUShaELBxTzJ9sEEvgddq+D7KuoDIefGxploLRTCAYtDRH6rKUJrr2F/V8Tff1/3voa/vpad/NTyU18tQNip9jRFzogpQK9Chss0B6adecipXa2cFxlq+HVTEHPfJOuo/hf0ngYY9Vcy0eRn+1+ykzefvvx0eaepK5lipuJ+sijo71KjSPBM0lXWacT+Bn2zQT+R6TXbrcBuRUMnjB0SJoqXDz4G9qk9bbu2cpqCEH5UIERS0nc78mv+SnjXPMcNQ2c0ucPwRctaU9E7Nmhe0r4Sz90ffTJvXZryJ5mszcgLz05nh5fc9JMvQhexsh/AnwUFEei1hHWak1063Z83LuoKeFYez6BXXiP+/PnM5NOAcyakNUVB1n+PxpVIpq9+uBKuXrnK+GQhOX90KMzcZXbY9FdNE6V8RuccMn2oOcP+SFrspDL2eH8q32GnGFK3PTJEzR5t+3FiTN0wlRyp57GpQSdxHUu3qICn2KmkATkPmIRxgqcApF45+Ez7WhNKQn3T/ySzw5vsrpsybzgwfhYkHF841xPaKEgn3E3IhI09w0pYnu9C08hQuQNOKp2ihGclTvACVMVRlOHsKy6LG4OAY+f/RixTmASujYTnEp4ARnnBgCBIIYd/pLctwyMg+w/AN5NPC0EXe3C2E+Rof0NSo2UafOABZQBHOQqoBf20GgSVdsNjUu8Q9QeYUzyjEpdTDU66fHG44I9clo+Z2Iawd5hIz6sJ5RIOgtHSPJ2vmaMNd+E0NZ8z1s3favKDZpcsTqlAxW5i/LJtNYS8ym5liAZAc7sbMdTALg9HeBWvA7ycHG/ZuXTKFSOaxeZf8Jh1lOOp9Mxw59UOEhsA1Trk3tsInZNyotAjcIx1nxOXxt9ljigL3qx0+cec9cTPaNSwwBk4v9Bcc7IjbY6FCWHfN1rPnDsj8fepAESx3Oe5b4MY+zUwhulWfO7CZ5B1tvu2BsvmrB7xsjIpds51bZ1xGQfsse5iAkEq/1501Tx1wv/uUPqhlLYncBX5BTKLlbuGhYG1t0CZ7x2ADWS31dgOY1qYNYIIFp4csbJ/l2hGR02Vt0czbMgVIZLKD3mWXhYIZ+JsviBDzLGsWOA7qO409rYuwsv3nEFCKAjhJC30/e2CwWnu2y78YdPyCeip9BudhGUI0JbATZtqYBCXdBXNElmRAFqa/sK0fAN2XeTbPUsk8B/VH8stUNKM+ml+2reT9ZRmAU788OOmls/BhVYvnj8vOjqpHZJJNIq7sndY7qrf7cbXmU1aN/YTVUX8/3a31ypDKLNs1pIhL/5nWwQo0YFD1hX0VH7bPHCvlEpo+zURz6QznL5fhnH73ysRfZeXXz9WRqRSO2TozaY31e6cync5zbC/EWfFu89OG1njL75ZgDqwrUn4yWPeDt1Tb3bvIcKXP1ky8Ej9C2qsnzZx7+jHEb0PIzsd4QTj/mOZ1yGkcIUuqBBmdB+eD9ScfLIdwlYQXGluXs98rwiYUNXfhyf/9/3qkB6MYpzswVMd09xtOsG8oss7fKuttyOeYHG86D9yFx7Q846xBi32NoyPcRno4+UU7d/hVQ+nh4Mlfzeuc86E8cBJMp/4Ztq05rB/jB+v2djhG+YXHNAXZNCx/BA7kOcc2oyml33L15YJjXJ7/1Du85/wfI2xZv2lx14MHCMyILSxHg2xaYvv1u5Qe1g+zDWUKbOHgWEkJHCRm01j+AcOgBAeH7slRvDu42OSAy/OkXdyZFzdsnBUbwnBQ0GNzTfTk/K28GepxUAKESRk6AwZvmj5d1AC4tyVix2t9XUAUPf9E0fzWoJ5P5RESJkk9/0QxNpKgkJBR/PwTRWskIUbCOwLV808U2UhCiARFwfNPFOlIQnBY53UMzOHk78G0BqhmBPPxV/1w8GTROFeVKDnue49tBMZozXfVyyEzttZ+j3uwVads7fewl0MMTNd+D4C6OoarLqZQDDn6lY9xv/MW4yXPGG852Pw0wtHU3C+dIsMBX55/IrvueVjuP/8EP7WAK37KgE5+SoHxJ7Lr8oCDuHId3GCAkMTJooVzA9jDZUfYk4L31l/phZsWKRDQCqma1HDqIMFslhBslmA3Swg3S4g2S4jXJHAPE+lh4nuY/tOQmTb7VOYcy8nHwzrClgXoOgIn/vztoA0NhXvt7eAoTqktbmHIcOnG6uptJa8snESqi0A1fAEEzsk81v30qioMxJd7MKXIookHXLYMdozGEBqQa+y2wP5+aDguwgsfxu5Pc7jqACufr0xe4IXoH83gMRg82sFjOHiMBo/x4DEZPNYGj/XBYzp4bAwem4PHscFjC498OUXG8fE4RH5TVf3mow9+wBi98GEZpBc+XNGhsStMx9mAjq8Qo/2aw8FocuRkptuyUP7RDB6DwaMdPIaDx2jwGA8ek8FjbfBYHzymg8fG4LE5eBwbPFb40j42MkwqGRXQLMMUcLkbOp2m/7Kmt+NOmzk2LvCb2Njh4FdUv8SrZMNRSVrcqnkTs8znroP9zJCXNYeKi10Lx+hgpVXxui8Mvgrcy2oWwZRYAmwiZLrcJHHRzEL23fCz0/kYNrcxzpVhj5vHTrMpaY1P6akuG11us1a1qSuDWbC0UBLjgYttjEQxZ4rhpEW1o1P5mNNct3iWZwvibr2cp763XAFJS2gE9g3q003dsKgGXquI2jGP3i50m2LvRA00aFCzWIitQfQAx3wC3RAgPa5hfMHYDuUzO6SmQ7h3E/k4hcXWfKIKbTdmjEKYpJZbbVI0lU+4i2PuYgOPW92jJh/Hyfhq5lbHfGrLXWxKqsrHYYyFwCP6iPufI/eDiKKpYtJpGlsuWoudJqajOeL+3LpXLJJ2knxtYXh3ydnTFhpjna9xK1BHOU3Rcr49wGmvonEKaVvV36bT5dGm2kVNGl9kxUzT/ZjNNrbiU9vp5SJCzrxJEU1g057msVuhGmXtYsdyPkVbYM/OJvj5btrOA7ebEpoq2QiiLCJq3qoNRbQDXn4RxRD/E9zSwPTRXpZRKSKnz3IEwqgDHjMgpT7Rt4sqwkGbTIeiko/IcoPuIC5QzAuC+ASxObAe6qr/EeXLrg6MZI7A2OBYt8lOZXA8qx+doozGKJsqMhzHbKHt3K8tABUdjpdhH8I2JjFlZZEeZasghjX1LbSL1Kk7m5riPBoaS4wBtcqiRZNHOzyG1KKdRzvdZixTLiXBV0xjQFQsG+GYtsA2yZwFDpOcNQpoKW9W8weTC9MrlmnC1FsWQquDecK+Oge1Ail77gzTOfZ7wzYK1SsZIhxrix0nA0Yt5OGQDBZmF0pMIONW6lbSDytUFMwJA1Sif9d8KdZALuEQZ2n6n2tctRCQaov9vhH7fQhWYr/vF3rlQwgbsd9H3Gix39dQrWl/y0PKwSUl3dvva6jjkG44nYN9wUpy1xro2I5Ek8k+kKb3m2BFPyI3H6kCRt2BhGlqHZV4d9NGwYbPwkAbfrzWG2grig5VigpfOmxLLGwtdmR8SRcHBZdbNUil37Em6AfLCnCfGew2jgIYOanjqJu7fahrRp53ABiKUCX6n2EHAO7WWgeAaARK2+bI7UAg7yKaEWniLNpn4dXKr10i9YoiFPj05vwBJGCOuOmN8H31Ui9agQMADDeqEr5h5MfBOMpjtvebjmXc++slkwrHXq7arsz5r6TtQIxGfIn31nYg6BQHgGiThkxVufYOANFwxdGGFRsOPwiH2MBNltk+tpqExUCbg1FnH2ARiNhUpw3izFnDxraSOv2ywTWPPFUkJnefDAMZPezjnD3rA8Iy0RQyXQC3qjYSm5T30HpJb2gzodJCaxbfIMdx3NaS9K3cJDY6LI9vlGWWs9gqy906WPEbcbmSTFV3LfFmCy2S6njjIn22sJV2gMXDzpSwkrPVFie9UZrUPpBWtX37GPY56nBy7ok+C5JufCt9Tmu7IjPP7mfw27yDNwL5EY54oTkI4BRrHJyP5ChxQZXnlRHiVWi5PodXJ1ExswqLVyfM4ezDLCQY1GO8YIuBDEnC9hYRRGxcCACWzLyCFdT9/OlNOliR+5VgiVcEPtav00c5rr70rp3728jeZtO19Pc1W63xMZRh7PxDI1eL4ICK7xDjr3vk4/e3DX/cuuBjH5pKQBvGn9O36p/URAO1ekBiE74xI++vzYSbFdw0If1vDcMKnR7rbhXrcqErDlmbi7XCihJb+TC+fWWwYiUhK/o3SVOVopgjsPrKg0pR7Jpt8bwPvJZYZQeqmgaqSKnJDLWyLq3Sd26W/PbbQU9OWjaBs29/4iMYi+E3L065Nw+fIATRmUi/pX1sT+6LdrUh1GhfrR50/9yBoWY3SGf0iIZa3dVUl6uJbdJkYNA+8woluGNKRDgSlDx/IP1vKkDNSh9YNmp9n8BWEDgPdnIHXwlw2TpRfAC5S9o85mn6Vl3HUJXGg5tEcY4vKmWOV1mfNtdDRR/4OVVzb6++/TsrrPSLJOyVZfUnoiyByrHrYbM8fbYf9Y33CBpL10F9zjRZi/2U/33GNI2jvhIRCwsrBL0CsoYK56tzJA41Km4oESyBI3Y2AVp+ur3MbuSn1/tPP9ElOvGz7dlH+P3Vrfz+RvW+uoNzun+zDaxuC1Ywg14F2AYYOd8J4YbyytaqZyJ6S48E8W/MoMSpsgjdeDnLDGHavDnj6iWuXIWt6RQ/hcdE8/wqzqo5bEqMyCEwf8HpN2zx7VFv1MJHh9kMr4XgDXLr0FMHcov9HWcInOn6gyWzCbNYSxDmigiMT5U8zXpmodczC3fhce0ufE1nH2VChCGqB4cvbuoD4mF7PwD56dNkD2WXkW7LEsjgiM+OFaAw1EUNAQr8jaRvbMfWgxHT8PDQCM7eB1wSzmwYV7w4pW25lMTjgqwLyxSBvJ+SIdIDSGLSVwWS+NKQcDP8ZQBJ5P7ftwVJDFJzgJyrA9JG6CkST0yNtgh5VXPVd1umhfXgsT93NTNFtoyoLkJIsmZS4obIfjWXnwbJlXXAbAj70EQYhrXPD8BzCkO17KaK4xSaYn6DWdRHcfh2PZ+uquxAmv6rmh5fkUuBEn/YxjETJYRt8I6MAXnxlT9Vh8yF69ipMHDqTr4l1n37Oh5A99wOcOWVvN4X1qycAqlpc+E6XENwl5fdNF8od+E6WN3yKU2dJWQH0xJzRxFPyX1zCacWjRICj/K3gPaR9sYMGw+8AfOmOsXw9Y7mq1XozRmKeJNt2rPmzRkWf9gJRwRH6DCqgblwHRqve3jqDI+/7q5qz0i0kpi35iOipIZPh/XiMAuv6i7re8wfRIDnytW0eWEHb5t8t/lmxhd2EGsPs48JON+8jrcPs+abVQnYp8hhVtS/UW84V5XqccbGXf2eWugbElkRudssGON4nkVeGPvwFSn8hK1UtAiJG722FEATEcsPm7IPAetD6/XH9s6mSodhMx42GWDuiSgxn9oB/0k+120IxcV9isvkGrsk9+a8mQRxbyKoNxT2ooTk2Av94IAMhz9Vs6y9FBgEwZW8a9xLVhLQS/eSvWsqH+dl1khHDI3D1TTmI1ApW+Dgs9hSFnBriWnMhybCpgOFsDreVZipogX8GNGfBzm4SQM6p4gjDI7avXB08pDST7NfUcjqJG5LIuLLMj4mthoBtcpTspI3hwkb0Q22AIqSQqQLeRsOJYA9D2+FoGsk2VBFZAo+LzAMThO1j0GSoSaNOd2WnVLIiQYmLFDa3MpqqlR0fRz2z5k78b92Dhd6VD7PfdSVMs/Itpb10IiNUQzQCHxwYH0xBEL4J9yHvlBNwTdmEBKKr85s+x6HpKu5Vm1/ZZMl6hDYhkXZh0Lmwib72FC+9J8YXVshjVAhfK0ok8Dbbwe36shZF5CFxjx2v67xlPi9lzCuFQ7S7jedqedjlo+rQ7nhlS8USo/wrVjas7KKKOwRLAn4FB6F3tSsQFEt8bgCr3+N0M9QJiFbx7CiiReUKlPIyBB6SWVX9tR2fn1qOxdi2bB2TLB3UJ+XxPPbvcrioH5avjy9PUXMwLqLHG5YtEeKYKrqtgucpWDKo4Px9oNE1/ym5rUZlv9Y5Au9yBc0qgvDfzoDLzQ7owxHB+WV7qDyIeV1Ze0l+O9vKkF1UbX5q3aWLuPoAXcMFsm1+7bwEnu6oUUyGt5Y+l0rTrRgg2TEBknkw5At7IoaZnbCUD6ZjIL5eFLUfV3xchfKAFnNBdZ4CNbYwxNXG8grg7XehzVun/X1wwjP20vhsVrTa25325262/obFC98HX5QHphk2qyOF4k34GKezuKHHRaa1oJhr2SfvkZksu2zbCaYDCy6RKiUjxWsirgrchGebhcJJS4+61ZN+c77o2ZxakZd+E2P+ViYgOgQmdwRXGZY3+Ayivpdez8qh/pwP3z9cOToYzsqU2iHGdsWnrAJ/Ckv/ANEgnEZnle3wPPcUynURsGALqT9gf37u6IEuw7R6wEctFhRdR9gCWVapDJjcdFyCrb3lYTVyyGeV3FVSTCgCnHRvvSUs1eGWN2HW/ntGV88nXlp3+/Q0n+U6vqKsFuw5CKeyi2z4XiKzQU88x1lvCscplthC8e3+YRUF6arRVSsVyw3ofiI6PHKwgjT5TsHhenGfGIUeEZmPSODXVRQUZ8VztSgcA2SojaFQ0haO8LDSFqbNoSkRh9JYfusrz8cDG7IgxmKdWR1OoPDqsGOO6h23IhZyQFaIorZWlUCRfpesi40l8vQI+G1tqJSMyeDfqnZdEUUayoeW0qEosgboAYy5HZ4F8y3yGHlEkhgOQVcHNRf314MYBmZRVcBJrMBTMa7Kj91gMJqu2lc69N9rmnWbjUj31i0wVbTVN4wl91qGj8tDGLFGor9qYM06FPYPinm2AkUypoeyJq+Fm2/+XeKtrcqtI39LaKt2d4IZRJoORA5Zy2WvvF3iqW/rrBU/1vEUs0vE6NYQrBaIxGjPXwpi4ExJUcKw2JgAk4MMdBADEymOKq6iIJva52uyNYeQhu29kXY37QWNShFOErwsvexkZOUajto75TrUMl+usl32WND0C1sVT6uFCaJT/TfG9X3psTDbS7wFoP9E3g/P6MkgI3Fdilli5DRGmy/5kXezLETioTok90uLs0i3xV/uaLfXlQfazhef0yL6a65pOku352pK9NdKFAlWssPFe6p2n7MwdhcL7tHL6yazpTcLyi+qdoYw9K9+9ARUvBh63Kco48vNKtb2036Zo1HYdo0XNgumCYehoE8BYtTOW9zOXYNn7MuiLWRKLf5+JzvM/N69g+x5jfmWCmgI3x+SYvk8JwuGpDWcPs6wkQZROLh/SyiQIhS7+6pwhyFerhO8XwHaQvdbocjHSmJBnCE1T2dIspmhg5PnG17+h58CtqDs5rBV4OvK9UBzeC7bg+cCcWjI5WQItL7Bn7PaekHaz1gSHR0ih1xGQ8W9lgN9qrla9DhJwu3mExeJjhlQibgc5rfnmO1d5sHoTp+YPuLBpns47tGP5T+/mv2v23L3djB4KSI7wxM5Tb3gE8L5J5gWxi5N5BHgkmQw0QbhHHkgWY3Nb6ubfWA7yWbgABT6JzPxf4PPMVf0lIJhlz7EYZ/x1E+UQpQdcC+fFwZ5jO0QB5RqwfAfI71FXRoNa0qwe/jB+6WetBgWgFU+nFAeEWyFVgvaZh3GmlMOO7DUkcRtKGdpxDx0EtfFYB/jhnqO2P+9IGjAsSsefoAb3Wt+O/psVArpbTHJvxBYQsXSLHncLXfoPfGBy1GtrubfnCLUHBm7+CewGygDyT8sHnkK+Twrd3mMsh5mAKvBHtJy2Sr0GSkb4EnQo7aARYtYfYEJ3D6xACApDzaggHagmG02XZVnKxH2wbYqlBRRO0irOZ5Y5gHAC2Bn9G2YigBprpYnAWY5H46Rwvd+W7T9LEtN6UKqOc0Rey8DjwdnSoMm7OJg80u8ZuSEdrFnu9pocEX/BwzZYVpzGfokZwJXcAXnLuEzy0pSH9DvEHYRSI76EOVFFqujoPyJVic8re2e1/mjHRFgQ3Spdz0LN9LiUXDR7h6MOFxiCO3a3Llil+Rpvs+Z+/Ak6Xp1zQ7rvANecxjYMRs/CKPac/I3I2wR4Eo8eFKnLP1kjkycBDHYfIeH7LMF3Dc1lD6Xh8QTCop+zrfhF8Qgi/9rYQv+mVTgtgfiEZyg151ePqydk/w5SgKbq3ypTDuSTFuEm8eccCGa6NXHL2ks9vEIQWk4Z40bU+Xpr0oQJLJfgEk+oL2XXhB5yYVB1sX3F31dNQbUIk3oFSlps1F3R46iR/1VFaVX+TQcf6GOQw8J43EAxn2nIzEc9JrMsUQJGaNpNz7g42m10sgmtriFLwqy8qtcqSYErRJNwvTxk5NXl+fkWn/2gwfBgaLMvVe0dXJqWj9X9DBXDW3/akHz222Ruhkt/mJ/4L2GnO4bvb16MNFArILzZANoryLZ8UxTL/WafPMgUpNzKyl4BsPklnzjP/6TdZ/QcOhps239TJi2j/jK+eIP/3F1Huim81Hc+gk5j0ki1QQ+UOKjZBeeYauxx47hipxDA28h+HCCHd6TuMwCX6i0iHrnaTJip+or3OYC6m+Y7phExvTZ+rGmbunhp27qyb0cBO6akKLY/f6Jtix2zcz1fJKG890L1vlpaGGqRaWQrDNP450fUU4e4wJLILiy3IU4BdH3zdbQpvI6Q+XchOGrH4cA6yEvr5dMdSLmq+RuDggvLjtQwNUbD2WBdTKkiXWZ7YvLTzNQD+r5RRCZs/DbO4UiN+n1xBDcwhbYkrunvJ2WF4touDC5083An+2ccVl4eL1LHQvcZmHXk5QfOXpvBcG+lOdCaakMPu4fGPCkyQIMPAp0lLBMwf4kmPWGvr1uy1dQnQKxTchD03zxw/wsYinJTbJ9WwZntaQU1KxpgkWqxXhnBdauOpCs9adg3IOpnSRkJ1ha26e1EW03OtgZJ7R4hMfCjyarTX4nA97oeUeJVU2QSwA1KQ7bKwsA2b5TKh+UPNJW520zM9gXTe4A+YoayCNe8IcbQ5EADmbYsoTmezpA4VhGxSxSXq5YjiFJnPUzrmvsFMK70HcVwy2HvNY7ftBNnlqIKgRuwSD0QnW4MCvyRxjNaFpQ/EpcqAXFeyKXLnsuWN187KAFBK8vqCzfPpAmt7Dq71nmVWT7I017RHG3BOEcSn8yYGbYtMAQZ0cZKc/NKa1Yh5Btu97HnMWL9/zKPqRhluHn6Yitbbdk2D1js+lj/n934+91ImAFXJ2m9c92aQU8tGUBMPQ7aJJQXlQKbl893EtoT3Pa9zThs+ZD4SCLXlaCklqWA6zJHRQKcr4iUmKj1oDf99Po4R57jhLzHja8ot89dSWJ37lWy44i0MYU2Jxse4Nvehj48Pl4CsmLcynmdI1cxZDrDcx4oJnqOnhNTlHAm+RprFO5S2hIWfH7IjAd730Qzek/64+EI6SgXDkxaOV9cLR/JB0tNhBOJL5JiNaoj4MyUZpbqsVG2P/PV0xx1nzokY8DNmwvaBxUzRrolkouHu9QGX7ApXNfsFHmwhceLRvm6XFOTdYaGoXVHsMLzy5Rwky23CDqZAP71lFHAkWB5GJhpdgmXKjQlnBtPaidiu9clQyG4pYsYlktj7Hu5HMkvchmX2PY/+1h0fiZYmsUjLDjqFsELX/6zMynV6bGRXIgv5myx7DwiubI2HZaABswctm36tkMz/CLIh9Z0RAkfUwXgD1VLLTIGaF2jBmxSVkEcPy3rT5zoBtCaeUKC1/N9LZQPoaloXMcBeNdLHaOWzSzWEpdyBHDAl+fSzYUNbvEWRvUKRh+H7P/79hTOhkWKjEHvxdCJXBexEqzeWrvCKhEgylBTuCT/bXxPV6aj1qfL0uGUbLsXLfDjKb/vtIx7D9/7FqF/X9Ck6ClZKVHTRClx1lzU7kNC4Ae/QrHA6ew6Zd+AZ8h7B/rbwSJ5fd3i+5qQ7HK+6AGS33KOwV8lrj23gp6rEpD76HzvpfKVnryI3URdgrOG/o4rNdtpdCqKCz3R6sapf50lR+RnFn+bnn/kL1blEvfIOd5xawpqk8ci98Q7u/ALmwZbKEI0B9RUrR9chd8ME4w6yXe0UNIQoq8DO53Wq5i8jO7H3dxa7zhWc0x9GZfHDWvHBBnjM8f1ueEzy/oIfNnC98Q2JCiPOVvb9A5KNZ85rmeCohm+8lwYooyVf4ki2z7HZDhtIU3jGVY/Q1heISSOkChxI2y4RgABI6mKPbxBSeKWpy63LyYHaYg/YiKIC+6LsJkb0nHjU1ZxfIuN13QN0dZYdhPQ3HF2w1BhEFoPIY8kiFg0PwhpbfVZiy/pES5ehrf/xn//DhWfOMIXX4rT/4P//kP3z9v/it7FBwHu+P/oun//AbP/8//vLMoeCckbIX5HzUZp+CYUB2u5tAZAk2vXI/hVgPImO31ItqgWdRBHMMvkXJR0mCtTf7zsKqYbYHotfy8iPVEyPYAdzvCT5U7y6q7FMOLvuM8qIGY7Namc2PYga+f3X3YwW3pDj9JHgNr7egSDji99/gFq/c5Fl5mVzuQtE2lJwsd7vp7+jK/05dF1wwkCifPxw8+TDDFUGWc5/s8P7HXfT4/zYLgxcV394hF70DUutDQLtzHFMrzI7A+Zys+2R5zK6gXxDKbZkdIevm2hJhQy6Bg0pW1GolaudsPqR0+m915bGXsceewMk2ueHh5O9B4nKrycDsMvuU++kEGCGyHX4jeOzwxeAXRb0ClzaXgA4AY24rk1U3IVYGpmSrgoc7TJE4mXDBsniHiPGn+HmG3+KaSooO30whQpycuw0GNAhXEXpfo4lsQTCFQV3oD3TgsnK/SqfBMhWcvCcxRP0b7lT/hjvFN9yl/0uuP70iDpg3FQFHNRnkDvq5A38bPPJRYZDPDPKZfj4j+WrIl1w+31Z2/Lx8voler+f0g4VB/usLjr5iB/ltP7+V/C3km7h8vjryNS6fr+Hbt8h/c3G5ewOLEPn2FxHyRYN8UT9fJPmaBFtVZS+fc9JDECGYjp5Wk0WMIvGgSNwvEkuRbVixyHIx3H/QwtrCb2M9VDFdJLJE9KtI+lUkUkVKtR4Zzn3b5XPDxFtlRYZ82SBf1s+XSb7ttLVHqYCSoczuYhxlxgdlxvtlxqXMEar3KJAy4/z/nbBkRf/4jYPo9SiWtyn+/27UfUMBzkR6ULfu162lbkfbaHuPV179YKGpSUd6lEhN10Dt0+tRSK5Hukdj/HUP/39vD0y6R3t6tJs/EI3RNT3aK0XzHqUolfXoGv5Q4Pr2Ho1L8j441fdop7ztJ0vjPdolbx+gmHb2aErerqUx2oU2+O2DNIUWSd6m+f/XkUZdBdrG+4doHIDskzwfpr14pD3I8KEe5fz1ev7/TI8I367v0XX84QDl9OEezUjRgz3aiVL7e/Rh/nAD7aJ9PfqAJN9IU0i6Vt4+QrvpAz36oLx9lIiu7dG0vN1EOX0QbfDbx2gaLR6Qt1n+/yHaD0BuQNt4v5k+AEBulDwfpxk80vXIcHOPDvLXW/j/t/boAL7d0qND/OEwHaSP9+hWKbrQo2tR6iM9+jh/uI0+SDf26KOS/As0jaSb5O0TdB19tEcfk7dP0gG6qUez8nYHHaSPoQ1+W6RZtHhY3o7x/z9NHwEgt6FtvM/RLXRbr0cL/HYnfRRg/UKP5vj9U/QJ+hgdoBm6gT5AU3zNAUIV1eUw6m6aEHXi7S58sCzlmOgoH0MVrFtIioleh+Z7pfut//jVH4RlscPtebDYUlKDjuKpXtIkzZdUp4ke3d6hiV5JO1BXlX+SttDtyNnodajRK2krTZS0A9dr9DpU75U0OZx9pOxdxK3VaRI/W3sd2tpDy9tRwRbChy29ku4aLtMYftnuga3RXXhK0fo21FCn1Le+fTj/VtpCDeSs9TpU66FbR0rajrsrcIczoN+0rW1SMqWtDLOvHne/cHtbPLDbhss0h1+2cMPw6N2GpwStt0pqYrx861uG87dQOXIGvQ4FPYRpcCVtYQbQoaRXUmvTtlIpmVALP61eh1q9UmSgJvRVvvvpcJnaaG1ouOQriVAEr7gOZ8+DRdjrUNhDXKRWyVcpV+CMQGCGXyIBxgjqcR9nKQEvex3SPYiowyV7XraC1qzm+z5SneaX/+rf/9VfI7wRKrU4EuDdHgCUhkyPS+IiElhe9LilYLjo+noiqSHukaFrIGiFGxXr4Xx5J8fSljbWVDT0Yjx0Ee1CLQwdN6GxKALqAr2NekO93LSeSGqIsWbs8dCtKybQ7fPQmSuEbv8m0O19b9DtvjR0H3pX0F3rYQI8tBk8bIos7YOg6MOlLKxoIhytdRgcIZUA8teeB4uxDoiy00VLOWAc2wBGqeCbT/5nv4ZzJkZaSTf2YfS4GKMPshtOlyAkkEGldrikobALe6UQKQFdj+aiLukOfvFtpB09/BJIY7brCb2DnSOKRDTtGw37jQabVsNdjkq6WRAX+OmD4DofQTVBl2wfIeFINRR1kcJwWroOYxpzT0OK8W0U3NFuBx52QRibbAnGP+objfqNmk2rqWA/6FHgyRc2dx/HdBfYzeVhv8nDbt4f7Le9B9gt/YInF8OGgoC/OwCDbrlMR0YbGExeC+41yxOlS3G/r6OEwLP7Vr5egaH2FLRB53//zdefg9bcQx3S3ADZQ7zC0iE0OTLpfdH19fi5Cu5KnwTdxhsUExgPszvg8DzctFbG6cKG0IV0B68q7xq6myCJfaJHn5Jdz6VhXXyXsB7bBNaPQcD7ZLVTSN4L5Leiik/16M5qi3RpyGfRxzuwZeHd0bvoB93tLZjmKaRP0Bygpkx2jJ6jbAy9cNxS7uCaoEPo8CK2Nk4/yGEPmSmRHubhQy37mxCP0hwdRjfp01xQg6SjnkgoI/0s5Zqv2+mTwEuCjZ7TD5bEUs7Y+s7C2JYj4rDG3q2JWtX2AUp+N9dbV0Tvk3KkJlYXB1WMguxTUDb9WJd5hohZuszHERlAl/kW3B1qynwrdCumzCdIuTc5QJlyb+gy304mH2NfZb5UMJBje9QYih7sDX1YP8zax+3ZPG3L5vOYJrJ58YpTvcK6sbPuzbgzzWpZtjzbms1Dl7y9+v6M7omLmO0VsYuqz9/WPe8xAm10FWbzhRd0jy3DoBdeU/UkjHEH+cgOV0bRSPZwpP1eDxrxEYjY+i0aqS8cqS8eqc+uq68+2hU2rbMj9UUj9YUj9cXr6rPrcDANNK7BwX6qj7RRG2kjuQzM8TocXC+a901wWh+pr7auvnAdDggG1kP1JSP1jVJL/QpwcNMGdHADhZfA8+XGbT0d3HxJuhodt+gK6OC2NXQVXwIH4RXgYG4DOrjrKtPB7VeZDu64ynTwyxvQwS9dZTr4zFWmg89eZTr44gZ0cN9VpoNTV5kO7r3KdLC8AR08cJXp4KGrTAcPX2U6WNXA9BokPKXfFyU01mHhcf2+SKG1Dg3n9Puihdo6PDyre2Ld8oym1iVW8salQRWPoaf1GipqjNQxSnStdXXE3gqucYkxaF16pPOQ4Aa5hY0YdNFw6R3wH+gbPjEtb95Lexm6HMW9t4a+Ynkq3mDeDOeG45u+pPwTX4bO62sp+jl9yXkTXoai1+PXimnMGrKuX6LWTWjlxbVzLbwErSQb08oLa7F/qfla34BWxqnhmoueQn6kxV7r6lLIy1eZQi5eZQr5/t8Ihbx6FSjkB1eBQl55vxSSpbh4XvVxPqNknKTcjPrvX2DDiAoNM+offVuMI6phmVH/3TNiHNG77KEqLDNSwkX3failvWhte/G69ux7as9Ke0mf5qU9u7a9aF174XtqL5H2Gn2ak/bCte3Zde3FG7R3uaN8aCw0NUu5+JRtaZttl8HuJIXpkcWPzWP8JHlIER4aFE2rRm9WNRDRCC9Jb1YlUMrgxfZmlSXY9ETTSvVmOegm2zCPwewDLsLweBUT+RT2PmzS42+B4cBDY3AEH6Mm3z8vF8OkYsnxiNY+pK2BaYr1Kg0y2e3v0RKIjZLYFIjtWSb4V2e3Q9nx7QC2JBmb+yKabZpwmypNA6XSp5o6HNyzNIilmwcCYbRfuUcYq8q70MFIcZI3sIXyXs3wc3Z8OYFbOTKVB7hc06k7YMBDph36EMNOwxwcF0TJBRtZG47nfM1XcqSIO3x5CgWudrTbbSr3MGIyTZtpp92FA6TGAyXtIdC4U+6ZA2+mUMDgbiVSDpceSjS4VXbSZBjdh0THpCWemCazjBwPkzr89tuPrr6iDrHV/uHV1a+svqYPmWd13x/rcS3RxacBVdfBSsXQeKBm2VJUUthQeyjlvO5/f1YPEmBXBKQ97b1v4d/iVlf1rPnZjK8Kr85WBQBjIhaSP5txZnnWNCpfPXh5eKe785VH49P8YOQ2d76XDi4OCTCgs127+q6+D8Px3risZAMs669Ls5VngyRzLGfTb6LvPME9eFWLW+8PONz7LWp/BWTh7TdnEfGJzeFPOWjsXp8B8ZDOZpsc6H3WXA/yQvc0YhFPoMu7YfYsQRUC8aLk0NoFk9AchxAU0+1JBE3+uPsQbGePFGqKewoz/cFl6rijwV/CnuI+9cA9wrfx5cY98/XKIlT50K27JRSsWS54XC58XTteLFfHlxFcH32+cwpOPErsxDjUsrtwXleXXw8HiubQr0pe3e/8pna7/RXn/gonE8y5jO9jQVRdvghnzxExcYPVOg7MXLw8i3BCDK6mEPGEXNzmG6y8GWY4CG1t3YWnES12AMnwtVWiGWVrOR8qW+LhmUE8vAH4bAQcHdSZRBx353Eljzuv5esWRhfs7Pk6Y7LuNcQG3OJWjWQY8xme6WeYLG/VY+4Z49u+4FFnll1yq/7dx/Uw6hA14hkYQGccofV3DMK19a3s9lQlC+XCW/Xvfk2maIhY3Re+NlwRBpjNWCU8g4vXtuS/1zb5nqz/Hg5o4x9UtLHlkrTxm9qHmxrqoNyEVtFGSgEo/6kD4hnjwzMH7qfZrDm3gwL3g2zWvLmdAncxmzWvbWeu+v1t8CTfwc+vbi1nzevy/SfQov90OwXZ9TKTVDWTZ71nf/+6RC2sojBVUG9/A58eTO9nD8gvwgRwFE86xOb1gPc7evDtOe/SUHmW/UC7xqlCu9e3wt9m1vyYOaR7zb/+SF7/b//6irz+tX/9vk4RlRmGqTZN/xLG36tJ+o/tqjp5uvelz3/+5ImTS6eX6f6l+890v6xuPPDRAzceuHHm/jPLp5a+rE6ePnv81Mn76NTJ5aXu8VMHTy2d/sLyF3vUW1rup504c98SDSd86XT79JkHT9MXl47ft9Slz586/oXREved7C0fP31iafTr504u+2qou/TA0vFltXzmDN1//PSXq89nuv2i1Pvy/Z87c6rXL91bPtNduo8+d+rMiXYFjfrclz7/+aUuLXW7Z7qqt9xdOn6/fxkBfmaG7j/Z6508/QVaOn3fzJnPz3A16uTpE2e63aUTy1VXTnxxaeSzh2vt5/uOLx/vfxztMqFPnz/epc8dP9FWVbXdEwDg/uPLJ77YL/HgydP3nXmQeid/ZWmAIu7d8pcfWNpkZLg/6xvlr9WwnDhz/wPdpV7v5JnTdP/S8hfP3KfwX6bG1RalVKJiVVORqqtQpcqqhgpUUxk1prRqKXexkf6BDZRVoYpUrBJVU3WVqqZqqXG1Ve1QU2qv2qc+rD6qblWfUv+JOqF66jH1e+qP1V8oo5Vva/Rv3P9t8X9b/d+E/9vm/zK1qL7HkSeMEhgAa1ONq50qVzcqp46rR9UfKa0fxS2wgbY60olu6ExPatI36Dl973D7VZtVW2hju9qudqgdalJNqp1qp9qldqkpNaV2q93qGnWNmlNz6r32P5Duq9U1f4/6v6/4v8f83+P+7wn/d/4q9F+v6ovD7VbtVe08qZ5Uv6Z+TZ1T59RX1VfVr6tfV7+hfkM9pZ5SX1NfU19XX1d0WKnVRCmtldqjlWoppS4cUUrVpH97lHzjvvpvW5VSsXIXxtNjEjxk8M+s+Res+WfX/AtH/rnzW9KltVWtLVplj/y/2P9L/L+a/1f3/1L/r+H/Nfmfu7g13VdVH/sOZuNbVBLXonqY2kbQNGO6pdwbW9P7Y27bqoT/KR6vTCX+OWIfncTnATXWGJaMv1fPGCV5pneelcYznoxWVp6NNlplNeV+NpHWbvhlLVj9/wA=")))),e)})}ue();We();Sr();vs();Qi();var Ti="deflate",wi="deflate-raw",od="deflate64-raw",_i="gzip";var Th="Z_MEM_ERROR",cd=[Ti,wi,_i],ld=[Ti,wi,_i,od],le,zr,Rt,vn,fd;function ud(t){if(le=t,{malloc:zr,free:Rt,memory:vn}=le,typeof zr!="function"||typeof Rt!="function"||!vn)throw le=zr=Rt=vn=null,new Error("Invalid WASM module")}function dd(t){fd=t}function Br(t,e){return e===-4&&(t.code=Th),t}function pd(t,e,r={}){if(!(t?cd:ld).includes(e))throw new TypeError("Unsupported format: "+e);if(!le){let T=new Error("WASM module not loaded");throw T.cause=fd,T}let n=typeof r.level=="number"?r.level:-1,s=typeof r.outBuffer=="number"?r.outBuffer:64*1024,i=typeof r.inBufferSize=="number"?r.inBufferSize:64*1024,a={out:0,in:0,inBufferSize:0,streamHandle:0,streamEnded:!1},o,c,f,R,E=!0,l=!1;p();let h=new ReadableStream({start(T){o=T},pull(){E=!1,_()},cancel(T){l=!0,R=T,A(a),c.error(T),_()}},{highWaterMark:0}),g=new WritableStream({start(T){c=T},async write(T){if(E&&await new Promise(y=>f=y),l)throw R;try{d(T)}catch(y){throw A(a),o.error(y),y}},close(){if(l)return;try{u()}catch(y){throw A(a),o.error(y),y}let T=A(a);if(T!==0){let y=Br(new Error("end error:"+T),T);throw o.error(y),y}o.close()},abort(T){A(a),o.error(T)}},{highWaterMark:1});return{readable:h,writable:g};function p(){try{let T;if(a.out=zr(s),a.in=zr(i),a.inBufferSize=i,!a.out||!a.in)throw Br(new Error("allocation failed"),-4);if(t?(a._process=le.deflate_process,a._last_consumed=le.deflate_last_consumed,a._end=le.deflate_end,a.streamHandle=le.deflate_new(),e===_i?T=le.deflate_init_gzip(a.streamHandle,n):e===wi?T=le.deflate_init_raw(a.streamHandle,n):T=le.deflate_init(a.streamHandle,n)):e===od?(a._process=le.inflate9_process,a._last_consumed=le.inflate9_last_consumed,a._end=le.inflate9_end,a.streamHandle=le.inflate9_new(),T=le.inflate9_init_raw(a.streamHandle)):(a._process=le.inflate_process,a._last_consumed=le.inflate_last_consumed,a._end=le.inflate_end,a.streamHandle=le.inflate_new(),e===wi?T=le.inflate_init_raw(a.streamHandle):e===_i?T=le.inflate_init_gzip(a.streamHandle):T=le.inflate_init(a.streamHandle)),T!==0)throw Br(new Error("init failed:"+T),T)}catch(T){throw A(a),T}}function d(T){let y=new Uint8Array(vn.buffer),S=a._process,I=a._last_consumed,N=a.out,F=0;for(;F<T.length;){if(a.streamEnded)throw new Error("trailing data after the end of the stream");let H=Math.min(T.length-F,32*1024);if((!a.in||a.inBufferSize<H)&&(a.in&&Rt&&(Rt(a.in),a.in=0),a.in=zr(H),a.inBufferSize=H,!a.in))throw Br(new Error("allocation failed"),-4);y.set(T.subarray(F,F+H),a.in);let q=S(a.streamHandle,a.in,H,N,s,0),$=q>>24&255,Z=$&128?$-256:$;if(Z<0)throw Br(new Error("process error:"+Z),Z);let W=q&16777215;W&&m(y.slice(N,N+W));let U=I(a.streamHandle);if($===1)a.streamEnded=!0;else if(U===0&&W===0)break;F+=U}}function u(){let T=new Uint8Array(vn.buffer),y=a._process,S=a.out;for(;;){let I=y(a.streamHandle,0,0,S,s,4),N=I>>24&255,F=N&128?N-256:N;if(F<0)throw Br(new Error("process error:"+F),F);let H=I&16777215;if(H&&m(T.slice(S,S+H)),N===1||H===0)break}}function m(T){E=!0,o.enqueue(T)}function _(){if(f){let T=f;f=null,T()}}function A(T){let y=0;return T.streamHandle&&T._end&&(y=T._end(T.streamHandle)),T.streamHandle=0,T.in&&Rt&&Rt(T.in),T.in=0,T.out&&Rt&&Rt(T.out),T.out=0,y}}var lr=class{constructor(e=Ti,r){return pd(!0,e,r)}},fr=class{constructor(e=Ti,r){return pd(!1,e,r)}};lr.requiresModule=!0;fr.requiresModule=!0;lr.supportedFormats=cd;fr.supportedFormats=ld;ue();Ki();var $o=64*1024,Ah=20,Ed,wt;function md(t){typeof t.aes_hmac_new==K&&(Ed=t,wt=0)}function tc(t,e){let r=Ed,n=r?yh(r,t,e):0;if(!n)return nn(t,e);let s=wt;return{process(i,a){for(let o=0;o<i.length;o+=$o){let c=i.subarray(o,o+$o),f=ec(r);f.set(c,s),r.aes_hmac_process(n,s,c.length,a?1:0),c.set(f.subarray(s,s+c.length))}},digest(){return r.aes_hmac_end(n,s),n=0,ec(r).slice(s,s+Ah)},dispose(){n&&(r.aes_hmac_end(n,0),n=0)}}}function yh(t,e,r){wt||(wt=t.malloc($o));let n=wt?t.aes_hmac_new():0;if(n){let s=ec(t);if(s.set(e,wt),s.set(r,wt+e.length),t.aes_hmac_init(n,wt,e.length,wt+e.length,r.length))return t.aes_hmac_end(n,0),0}return n}function ec(t){return new Uint8Array(t.memory.buffer)}var hd=!1;async function gd(t,{baseURI:e}){if(!hd)try{await Sh(t,e),hd=!0}catch(r){throw dd(r),r}}async function Sh(t,e){let r,n;try{try{n=new URL(t,e)}catch{}r=await(await fetch(n)).arrayBuffer()}catch(i){if(t.startsWith("data:application/wasm;base64,"))r=Ih(t);else throw i}let s=await WebAssembly.instantiate(r);ud(s.instance.exports),md(s.instance.exports)}function Ih(t){let e=t.split(",")[1],r=atob(e),n=r.length,s=new Uint8Array(n);for(let i=0;i<n;++i)s[i]=r.charCodeAt(i);return s.buffer}var Ai;Ll(tc);uf({initModule:t=>{if(!Ai){let{wasmURI:e}=t;typeof e==K&&(e=e()),Ai=gd(e,t).catch(r=>{throw Ai=null,r})}return Ai}});Dt({CompressionStreamFallback:lr,DecompressionStreamFallback:fr});ad(Dt);pn();li();Ws();gr();Sr();ue();Pt();jt();Xt();var W_=new Uint8Array(0);wl(Dt);var rc="0.1.0";var Hr="h5p-pkg-v0-";var _t="__archive__";var Rd="h5p-player";var kn="packages",Bn="https://chunks.h5p-player.invalid/";function ur(t,e){let r=e.end-e.start+1,n=0,s=0,i=new TransformStream({transform(a,o){if(s>=r)return;let c=n;if(n+=a.length,n<=e.start)return;let f=Math.max(0,e.start-c),R=Math.min(a.length,f+(r-s)),E=a.subarray(f,R);s+=E.length,o.enqueue(E),s>=r&&o.terminate()}});return t.pipeTo(i.writable).catch(()=>{}),i.readable}var bh=/^h5p:([^:]+):/;async function yi(){let t=new Set,e=typeof navigator>"u"?void 0:navigator.locks;if(!e?.query)return t;try{let{held:r=[]}=await e.query();for(let n of r){let s=n.name?bh.exec(n.name):null;s&&t.add(s[1])}}catch{}return t}var Nh="/__meta__",Oh="/__forward__",ic="__forward_index__",Dh=32;function Ii(t){return t.split("/").map(encodeURIComponent).join("/")}function Si(t){return`${Hr}${t}`}function wd(t,e){return`${Bn}${t}/whole/${Ii(e)}`}function nc(t,e,r){return`${Bn}${t}/chunk/${Ii(e)}/${r}`}function _d(t,e){return`${Bn}${t}/chunk/${Ii(e)}${Nh}`}function Td(t){return`${Bn}${t}/chunk/${Ii(_t)}${Oh}`}function Ph(t){return t instanceof DOMException&&(t.name==="QuotaExceededError"||t.name==="NS_ERROR_DOM_QUOTA_REACHED")}var dr=class extends Error{constructor(e="Not enough storage to cache this package"){super(e),this.name="QuotaError"}};function Ad(t){return{first:Math.floor(t.start/8388608),last:Math.floor(t.end/8388608)}}function yd(t,e){let r=t*8388608;return{from:Math.max(0,e.start-r),to:Math.min(8388608,e.end-r+1)}}var Xe=class{constructor(e){this.cachePromise=null;this.pkgId=e}cache(){return this.cachePromise??=caches.open(Si(this.pkgId)),this.cachePromise}async getWhole(e){return(await this.cache()).match(wd(this.pkgId,e))}async putWhole(e,r,n,s){let i=new Headers({"content-type":n});s!==void 0&&i.set("content-length",String(s)),await this.write(wd(this.pkgId,e),()=>new Response(r(),{headers:i}))}async getMeta(e){let n=await(await this.cache()).match(_d(this.pkgId,e));if(n)try{return await n.json()}catch{return}}async setMeta(e,r){await(await this.cache()).put(_d(this.pkgId,e),new Response(JSON.stringify(r),{headers:{"content-type":"application/json"}})),bd({pkgId:this.pkgId,entry:e,meta:r})}async putChunk(e,r,n){let s=n.slice();await this.write(nc(this.pkgId,e,r),()=>new Response(s.buffer,{headers:{"content-type":"application/octet-stream"}}))}async getChunk(e,r){let s=await(await this.cache()).match(nc(this.pkgId,e,r));if(s)return new Uint8Array(await s.arrayBuffer())}readRange(e,r,n){let{first:s,last:i}=Ad(r),a=s,o=null,c=this;return new ReadableStream({async pull(f){for(;;){if(o){let{done:g,value:p}=await o.read();if(!g){f.enqueue(p);return}o=null,a+=1}if(a>i){f.close();return}if(n){let g=Math.min((a+1)*8388608,r.end+1);if(!await n(g)){f.error(new Error(`Extraction of ${e} stalled before byte ${g}`));return}}let R=await c.chunkBody(e,a);if(!R){f.error(new Error(`Missing chunk ${a} of ${e}`));return}let{from:E,to:l}=yd(a,r);o=(E===0&&l>=8388608?R:ur(R,{start:E,end:l-1})).getReader()}},async cancel(f){await o?.cancel(f)}},{highWaterMark:0})}async chunkBody(e,r){return(await(await this.cache()).match(nc(this.pkgId,e,r)))?.body??void 0}async readRangeBytes(e,r){let n=new Uint8Array(r.end-r.start+1),{first:s,last:i}=Ad(r),a=0;for(let o=s;o<=i;o+=1){let c=await this.getChunk(e,o);if(!c)throw new Error(`Missing chunk ${o} of ${e}`);let{from:f,to:R}=yd(o,r),E=c.subarray(f,Math.min(R,c.length));n.set(E,a),a+=E.length}return a===n.length?n:n.subarray(0,a)}getArchiveMeta(){return this.getMeta(_t)}async getForwardIndex(){let r=await(await this.cache()).match(Td(this.pkgId));if(r)try{return await r.json()}catch{return}}async setForwardIndex(e){await(await this.cache()).put(Td(this.pkgId),new Response(JSON.stringify(e),{headers:{"content-type":"application/json"}})),bd({pkgId:this.pkgId,entry:ic,meta:{size:null,available:e.parsedTo,complete:e.done}})}readArchiveRange(e){return this.readRangeBytes(_t,e)}async write(e,r){let n=await this.cache();for(let s=0;;s+=1){let i=r();try{await n.put(e,i);return}catch(a){if(i.body?.cancel().catch(()=>{}),!Ph(a))throw a;if(s>=Dh)throw new dr;if(!await xh(this.pkgId))throw new dr}}}async destroy(){this.cachePromise=null,await caches.delete(Si(this.pkgId))}},sc=null;function Nd(t){sc=t}var Od=null;function Dd(t){Od=t}async function xh(t){let e=sc?await sc(t):await Ch(t);return e?(await caches.delete(Si(e)),await Od?.(e),!0):!1}async function Ch(t){let[e,r]=await Promise.all([caches.keys(),yi()]),n=Si(t),s=e.find(i=>i.startsWith(Hr)&&i!==n&&!r.has(i.slice(Hr.length)));return s?s.slice(Hr.length):null}var Lh="h5p-player-watermark",Sd,Id;function Pd(){if(typeof BroadcastChannel!="function")return null;let t=new BroadcastChannel(Lh);return t.unref?.(),t}function bd(t){Sd??=Pd();try{Sd?.postMessage(t)}catch{}}function bi(t,e,r){Id??=Pd();let n=Id;if(!n)return()=>{};let s=i=>{let a=i.data;a?.pkgId===t&&a.entry===e&&r(a.meta)};return n.addEventListener("message",s),()=>n.removeEventListener("message",s)}async function xd(){let e=(await caches.keys()).filter(r=>/^h5p-pkg-v(\d+)-/.test(r)&&!r.startsWith(Hr));return await Promise.all(e.map(r=>caches.delete(r))),e}var kt=null;function Cd(t,e){kt===e&&(kt=null),t.close()}function Uh(){if(kt)return kt;let t=new Promise((e,r)=>{let n=indexedDB.open(Rd,1);n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(kn)||s.createObjectStore(kn,{keyPath:"pkgId"}).createIndex("lastPlayed","lastPlayed")},n.onsuccess=()=>{let s=n.result;s.onversionchange=()=>Cd(s,t),s.onclose=()=>Cd(s,t),e(s)},n.onerror=()=>r(n.error)});return kt=t,t.catch(()=>{kt===t&&(kt=null)}),t}function Mh(t){return t instanceof DOMException&&(t.name==="InvalidStateError"||t.name==="NotFoundError"||t.name==="TransactionInactiveError")}function Ni(t){return new Promise((e,r)=>{t.onsuccess=()=>e(t.result),t.onerror=()=>r(t.error)})}async function Ld(t,e){let n=(await Uh()).transaction(kn,t),s=await e(n.objectStore(kn));return await new Promise((i,a)=>{n.oncomplete=()=>i(),n.onerror=()=>a(n.error),n.onabort=()=>a(n.error)}),s}async function Oi(t,e){try{return await Ld(t,e)}catch(r){if(!Mh(r))throw r;return kt=null,Ld(t,e)}}function zn(t){return Oi("readonly",e=>Ni(e.get(t)))}function Di(t){return Oi("readwrite",async e=>{await Ni(e.put(t))})}function Fd(t){return Oi("readwrite",async e=>{await Ni(e.delete(t))})}function vh(){return Oi("readonly",t=>Ni(t.getAll()))}async function Ud(t){let e=await zn(t);e&&(e.lastPlayed=Date.now(),await Di(e))}async function Pi(t,e){let r=await zn(t);if(!r)return;let n={...r,...e};return await Di(n),n}async function Md(){return(await vh()).sort((e,r)=>e.lastPlayed-r.lastPlayed)}async function kh(t,e={}){let[r,n]=await Promise.all([(e.packagesByAge??Md)(),(e.busyPackages??yi)()]);return r.find(s=>s.pkgId!==t&&!n.has(s.pkgId))?.pkgId??null}function kd(t){Nd(e=>kh(e)),Dd(async e=>{t?.(e),await Fd(e)})}var Bh=/[\u0000-\u001f\u007f]/;function xi(t){if(!t||Bh.test(t))return null;let e=t.replace(/\\/g,"/");if(e.startsWith("/")||/^[a-zA-Z]:/.test(e))return null;let r=[];for(let n of e.split("/"))if(!(n===""||n===".")){if(n==="..")return null;r.push(n)}return r.length===0?null:r.join("/")}function Bd(t){let e;try{e=decodeURIComponent(t)}catch{return null}return xi(e)}function zd(t){let e=new Map,r=[];for(let n of t){if(n.directory)continue;let s=xi(n.filename);if(s===null||e.has(s)){r.push(n.filename);continue}e.set(s,n)}return{index:e,rejected:r}}var zh={js:"text/javascript; charset=utf-8",mjs:"text/javascript; charset=utf-8",json:"application/json; charset=utf-8",css:"text/css; charset=utf-8",html:"text/html; charset=utf-8",htm:"text/html; charset=utf-8",txt:"text/plain; charset=utf-8",xml:"application/xml; charset=utf-8",csv:"text/csv; charset=utf-8",vtt:"text/vtt; charset=utf-8",srt:"application/x-subrip; charset=utf-8",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",svg:"image/svg+xml",webp:"image/webp",avif:"image/avif",bmp:"image/bmp",ico:"image/x-icon",mp3:"audio/mpeg",m4a:"audio/mp4",aac:"audio/aac",oga:"audio/ogg",ogg:"audio/ogg",wav:"audio/wav",weba:"audio/webm",flac:"audio/flac",mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",eot:"application/vnd.ms-fontobject",pdf:"application/pdf"},Hh=new Set(["js","mjs","json","css","html","htm","txt","xml","csv","vtt","srt","svg"]);function Hd(t){let e=t.slice(t.lastIndexOf("/")+1),r=e.lastIndexOf(".");return r<=0?"":e.slice(r+1).toLowerCase()}function ac(t){return zh[Hd(t)]??"application/octet-stream"}function Yd(t){return Hh.has(Hd(t))}var ae=class extends Error{constructor(e,r,n){super(r,n),this.name="PlayerError",this.code=e,this.missingLibraries=n?.missingLibraries}};function Ci(t,e){if(!t)return"none";let r=/^bytes=(\d*)-(\d*)$/.exec(t.trim());if(!r)return"none";let[,n,s]=r;if(n===""&&s==="")return"none";if(n===""){let o=Number(s);return o===0?"unsatisfiable":{start:Math.max(0,e-o),end:e-1}}let i=Number(n);if(i>=e)return"unsatisfiable";let a=s===""?e-1:Math.min(Number(s),e-1);return a<i?"unsatisfiable":{start:i,end:a}}function Li(t,e){return`bytes ${t.start}-${t.end}/${e}`}var cc=class{constructor(e,r){this.descriptor=e;this.size=r}async fetchRange(e){let r=await fetch(this.descriptor.url,{headers:{Range:`bytes=${e.start}-${e.end}`},cache:"no-store"});if(r.status!==206&&r.status!==200)throw new ae("network",`Range request failed with ${r.status}`);return r}async read(e){let r=await this.fetchRange(e);if(r.status!==200)return new Uint8Array(await r.arrayBuffer());if(!r.body)throw new ae("network","Range response had no body");return new Uint8Array(await new Response(ur(r.body,e)).arrayBuffer())}async stream(e){let r=await this.fetchRange(e);if(!r.body)throw new ae("network","Range response had no body");return r.status===200?ur(r.body,e):r.body}},lc=class{constructor(e,r,n){this.descriptor=e;this.size=r;this.store=new Xe(n)}read(e){return this.store.readRangeBytes(_t,e)}async stream(e){return this.store.readRange(_t,e)}},fc=class{constructor(e,r){this.descriptor=e;this.blob=r}get size(){return this.blob.size}async read(e){let r=this.blob.slice(e.start,e.end+1);return new Uint8Array(await r.arrayBuffer())}async stream(e){return this.blob.slice(e.start,e.end+1).stream()}};async function uc(t,e,r,n={}){switch(e.type){case"range-http":return new cc(e,e.size);case"chunked":{let s=await new Xe(t).getArchiveMeta();if(!s||!s.complete&&!n.partial)throw new ae("bad-archive","Archive has not finished downloading");return new lc(e,s.size??s.available,t)}case"file":{if(!r)throw new ae("bad-archive","The picked file is no longer available");return new fc(e,r)}}}function Gh(t,e){let r=e.end-e.start+1,n=Math.ceil(r/4194304),s=new Map,i=0,a=0,o=!1,c=f=>{let R=e.start+f*4194304,E=t.read({start:R,end:Math.min(R+4194304-1,e.end)});E.catch(()=>{}),s.set(f,E)};return new ReadableStream({async pull(f){if(a>=n){f.close();return}for(;!o&&i<n&&s.size<4;)c(i++);let R=await s.get(a);s.delete(a),a+=1,f.enqueue(R)},cancel(){o=!0,s.clear()}},{highWaterMark:0})}var Fi=class extends dt{constructor(r){super(r);this.handle=r;this.size=r.size}async readUint8Array(r,n){if(n===0)return new Uint8Array(0);let s=Math.min(r+n,this.size)-1;return s<r?new Uint8Array(0):this.handle.read({start:r,end:s})}createReadable(r={}){let n=r.offset??0,s=Math.min(n+(r.size??this.size-n),this.size)-1;if(s<n)return new Blob([]).stream();let i=this.handle;if(i.descriptor.type==="range-http"&&s-n+1>=8388608)return Gh(i,{start:n,end:s});let a=null;return new ReadableStream({async pull(o){a??=(await i.stream({start:n,end:s})).getReader();let{done:c,value:f}=await a.read();c?o.close():o.enqueue(f)},async cancel(o){await a?.cancel(o)}},{highWaterMark:0})}};var dc=0,Xd=8,Xh=67324752,Wd=30,Hn=class t{constructor(e,r,n,s,i,a=!1){this.handle=r;this.parsedTo=0;this.forwardDone=!1;this.forwardStopped=!1;this.absorbed=0;this.lastTopFolder=null;this.fallbacks=[];this.librariesByName=null;this.dataRanges=new Map;this.pkgId=e,this.entries=n,this.rejected=s,this.manifest=i,this.partial=a}get title(){return this.manifest.title}static async open(e,r,n={}){let s;try{s=await new vt(new Fi(r)).getEntries({filenameValidation:"tolerant"})}catch(E){throw new ae("bad-archive","Could not read the archive index",{cause:E})}let{index:i,rejected:a}=zd(s),o=new Map;for(let[E,l]of i)o.set(E,{name:E,size:l.uncompressedSize,compressedSize:l.compressedSize,method:l.compressionMethod,strategy:jd(E,l),zip:l});if(!o.has("h5p.json"))throw new ae("bad-archive","Archive has no h5p.json, so it is not an H5P package");let c=new t(e,r,o,a,{}),f=await Vd(c),R=new t(e,r,o,a,f);return n.requireLibraries!==!1&&R.assertLibrariesPresent(),R}static async fromForwardIndex(e,r,n){let s=new t(e,r,new Map,[],{},!0);return await s.absorb(n),s}async absorb(e){if(!this.partial)return!1;let r=e.entries.slice(this.absorbed);this.absorbed=e.entries.length,this.parsedTo=e.parsedTo,this.forwardDone=e.done,this.forwardStopped=e.stopped!==null&&!e.done;let n=!1;for(let s of r){if(s.directory)continue;let i=xi(s.name);if(i===null||this.entries.has(i)){this.rejected.push(s.name);continue}this.entries.set(i,jh(i,s)),this.lastTopFolder=Gd(i),i==="h5p.json"&&(n=!0)}return r.length>0&&(this.librariesByName=null),n&&(this.manifest=await Vd(this)),r.length>0}bootReady(){if(!this.partial)return!0;if(this.forwardStopped||!this.entries.has("h5p.json"))return!1;let e=this.manifest.preloadedDependencies;if(!Array.isArray(e)||e.length===0)return!1;let r=this.entryNames(),n=this.availableLibraries();return e.every(s=>{let i=Ui(s).find(a=>r.has(`${a}/library.json`))??Ec(n,{machineName:s.machineName,major:Number(s.majorVersion),minor:Number(s.minorVersion)});return i!==void 0&&this.folderComplete(i)})}provablyAbsent(e){if(!this.partial||this.forwardDone)return!0;let r=Gd(e);if(r===null)return!1;if(this.hasFolder(r))return this.folderComplete(r);let n=pc(r);return n!==null&&this.hasFolder(n.machineName)&&this.folderComplete(n.machineName)}folderComplete(e){return this.forwardDone||this.lastTopFolder!==e}hasFolder(e){let r=`${e}/`;for(let n of this.entries.keys())if(n.startsWith(r))return!0;return!1}use(e){e===this||this.fallbacks.includes(e)||(this.fallbacks.push(e),this.librariesByName=null)}get(e){return this.locate(e)??this.locateCompatible(e)}locate(e){let r=this.entries.get(e);if(r)return{reader:this,entry:r};for(let n of this.fallbacks){let s=n.locate(e);if(s)return s}}locateCompatible(e){let r=e.indexOf("/");if(r<0)return;let n=pc(e.slice(0,r));if(!n)return;let s=Ec(this.availableLibraries(),n);if(!(!s||s===n.folder))return this.locate(`${s}/${e.slice(r+1)}`)}availableLibraries(){if(this.librariesByName)return this.librariesByName;let e=Zd(this.entries.keys());for(let r of this.fallbacks)for(let[n,s]of r.availableLibraries()){let i=e.get(n);i?i.push(...s):e.set(n,[...s])}return this.librariesByName=e,e}entryNames(){let e=new Set(this.entries.keys());for(let r of this.fallbacks)for(let n of r.entryNames())e.add(n);return e}missingLibraries(){return qh(this.entryNames(),this.manifest)}get hasFallbacks(){return this.fallbacks.length>0}mergedManifest(){let e=this.entryNames(),r=new Map,n=s=>{r.has(s.machineName)||Ui(s).some(i=>e.has(`${i}/library.json`))&&r.set(s.machineName,s)};for(let s of this.manifest.preloadedDependencies??[])n(s);for(let s of this.fallbacks)for(let i of s.manifest.preloadedDependencies??[])n(i);return{...this.manifest,preloadedDependencies:[...r.values()]}}assertLibrariesPresent(){let e=this.missingLibraries();if(e)throw new ae("bad-archive",Jh(e),{missingLibraries:e})}prefetchable(){return[...this.entries.values()].filter(e=>e.strategy.kind==="chunked").map(e=>({entry:e.name,size:e.size}))}inflate(e){if(!e.zip)return this.inflateDirect(e);if(e.zip.encrypted)throw new ae("bad-archive",`${e.name} is encrypted`);let r=e.zip.getData;if(!r)throw new ae("bad-archive",`${e.name} has no readable data`);let n=new TransformStream;return r.call(e.zip,n.writable).catch(s=>{if(!n.writable.locked)try{n.writable.abort(s)}catch{}}),n.readable}dataRange(e){let r=this.dataRanges.get(e.name);if(r)return r;let n=this.readDataRange(e);return this.dataRanges.set(e.name,n),n.catch(()=>this.dataRanges.delete(e.name)),n}inflateDirect(e){if(e.encrypted)throw new ae("bad-archive",`${e.name} is encrypted`);if(e.method!==dc&&e.method!==Xd)throw new ae("bad-archive",`${e.name} uses compression method ${e.method}`);if(e.compressedSize===0)return new Blob([]).stream();let r=Zh(()=>this.sliceStream(e,{start:0,end:e.compressedSize-1}));if(e.method===dc)return r;let n=new DecompressionStream("deflate-raw");return r.pipeThrough(n)}async readDataRange(e){if(e.dataStart!==void 0)return{start:e.dataStart,end:e.dataStart+e.compressedSize-1};if(!e.zip)throw new ae("bad-archive",`${e.name} has no known location`);let r=await this.handle.read({start:e.zip.offset,end:e.zip.offset+Wd-1}),n=new DataView(r.buffer,r.byteOffset,r.byteLength);if(n.getUint32(0,!0)!==Xh)throw new ae("bad-archive",`${e.name} has a malformed local header`);let s=n.getUint16(26,!0),i=n.getUint16(28,!0),a=e.zip.offset+Wd+s+i;return{start:a,end:a+e.compressedSize-1}}async sliceStream(e,r){let n=await this.dataRange(e);return this.handle.stream({start:n.start+r.start,end:n.start+r.end})}};function jd(t,e){return Yd(t)?{kind:"inline"}:e.uncompressedSize<=16777216?{kind:"inline"}:e.compressionMethod===dc?{kind:"slice"}:e.compressionMethod===Xd?{kind:"chunked"}:{kind:"inline"}}function jh(t,e){return{name:t,size:e.uncompressedSize,compressedSize:e.compressedSize,method:e.method,strategy:jd(t,{uncompressedSize:e.uncompressedSize,compressionMethod:e.method}),dataStart:e.dataStart,encrypted:e.encrypted}}function Gd(t){let e=t.indexOf("/");return e<0?null:t.slice(0,e)}function Zh(t){let e=null;return new ReadableStream({async pull(r){e??=(await t()).getReader();let{done:n,value:s}=await e.read();n?r.close():r.enqueue(s)},async cancel(r){await e?.cancel(r)}},{highWaterMark:0})}async function Vd(t){let{entry:e}=t.get("h5p.json");try{let r=await new Response(t.inflate(e)).json();if(!r||typeof r!="object")throw new Error("not an object");return r}catch(r){throw new ae("bad-archive","h5p.json is not readable JSON",{cause:r})}}function Ui(t){return[`${t.machineName}-${t.majorVersion}.${t.minorVersion}`,t.machineName]}function pc(t){let e=/^(.+)-(\d+)\.(\d+)$/.exec(t);return e?{machineName:e[1],major:Number(e[2]),minor:Number(e[3]),folder:t}:null}function Zd(t){let e=new Map;for(let r of t){let n=r.indexOf("/");if(n<0||r.slice(n+1)!=="library.json")continue;let s=pc(r.slice(0,n));if(!s)continue;let i=e.get(s.machineName);i?i.push(s):e.set(s.machineName,[s])}return e}function Ec(t,e){return(t.get(e.machineName)??[]).filter(n=>n.major===e.major&&n.minor>=e.minor).sort((n,s)=>n.minor-s.minor)[0]?.folder}function Kh(t,e){let r=e.preloadedDependencies;if(!Array.isArray(r))return[];let n=Zd(t);return r.filter(s=>Ui(s).some(i=>t.has(`${i}/library.json`))?!1:!Ec(n,{machineName:s.machineName,major:Number(s.majorVersion),minor:Number(s.minorVersion)}))}function qh(t,e){let r=e.preloadedDependencies;if(!Array.isArray(r)||r.length===0)return{mainLibrary:e.mainLibrary,folders:[],all:!0};let n=Kh(t,e);return n.length===0?null:{mainLibrary:e.mainLibrary,folders:n.map(s=>Ui(s)[0]),all:n.length===r.length}}function Jh(t){if(t.folders.length===0)return"h5p.json lists no preloadedDependencies, so there is nothing to run";let e=t.folders.join(", ");return t.all?`This package contains no libraries, only content. Exports from h5p.com and h5p.org often leave them out because the site they came from already has them. Set the "libraries" attribute to fetch them, or re-export with them included. Missing: ${e}`:`This package is missing ${t.folders.length} of its libraries: ${e}. Set the "libraries" attribute to fetch them, or re-export with them included.`}var mc={script:["cdn.jsdelivr.net","cdnjs.cloudflare.com","ajax.googleapis.com","www.youtube.com","player.vimeo.com","developers.panopto.com"],style:["fonts.googleapis.com"],font:["fonts.gstatic.com","fonts.googleapis.com"]},Qh=/^(?:(?:https?|wss?):\/\/)?(?:\*\.)?[a-z0-9.-]+(?::\d+)?$/i;function $h(t){return t?[...new Set(t.map(e=>e.trim()).filter(e=>Qh.test(e)))]:[]}function hc(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function eg(t,e){let r=new Set;for(let n of Object.values(t))try{let s=new URL(n,e).origin;s!==new URL(e).origin&&r.add(s)}catch{}return[...r]}function tg(t){let e=eg(t.assets,t.virtualRoot),r=$h(t.allowOrigins),n=(s,...i)=>`${s} ${i.filter(Boolean).join(" ")}`;return["default-src 'self'",n("script-src","'self'",...e,...mc.script,...r,`'nonce-${t.nonce}'`,"'unsafe-eval'"),n("style-src","'self'",...e,...mc.style,...r,"'unsafe-inline'"),n("font-src","'self'",...e,...mc.font,...r,"data:"),"img-src * data: blob:","media-src * data: blob:","frame-src *",n("connect-src","'self'",...r),"worker-src 'self' blob:","object-src 'none'","base-uri 'self'","form-action 'none'"].join("; ")}function Kd(t){let{pkgId:e,virtualRoot:r,assets:n,nonce:s}=t,i=tg(t),a=JSON.stringify({pkgId:e,h5pJsonPath:r,frameJs:n.frameJs,frameCss:n.frameCss});return`<!DOCTYPE html>
1
+ "use strict";(()=>{var gp=Object.defineProperty;var se=(t,e)=>()=>(t&&(e=t(t=0)),e);var Rp=(t,e)=>{for(var r in e)gp(t,r,{get:e[r],enumerable:!0})};var qr,bt,w,jt,ye,K,es,Ye,Oc,Yi,j,ts,ue=se(()=>{qr=new Date(2107,11,31,23,59,58),bt=new Date(1980,0,1),w=void 0,jt=1/0,ye="undefined",K="function",es="object",Ye="string",Oc="number",Yi="boolean",j=new Uint8Array,ts=Symbol.asyncDispose||Symbol()});function mr(t){if(t&&typeof t!=K)throw new Error(al);return t}function en(t){if(t&&(typeof t.addEventListener!=K||typeof t.aborted!=Yi))throw new Error(ol);return t||w}function Kt(t){if(t&&t.aborted)throw t.reason===w?new DOMException(ll,wp):t.reason}function ps(t,e){if(t&&typeof t!=Ye||e&&!(e instanceof Uint8Array))throw new Error(ji)}function hr(t){if(t!==w&&typeof t!=Yi&&t!==$r)throw new Error(cl);return t}function Zi(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function gr(t,e,r){t!==w&&Zi(t,e,r)}function Ot(t){return typeof t==Ye&&t.trim()?Number(t):t}var Dc,Pc,xc,Cc,Lc,rs,ns,Jr,ss,Fc,Uc,Mc,vc,kc,Bc,zc,Hc,Yc,is,as,os,cs,Wc,Gc,Vc,Xc,ls,jc,Zc,Kc,Wi,Gi,qc,Jc,Qr,Zt,Qc,$c,el,tl,rl,nl,Vi,sl,il,Xi,fs,us,Nt,ds,it,$r,al,ol,ji,cl,ll,wp,Rr=se(()=>{ue();Dc="filenameEncoding",Pc="commentEncoding",xc="decodeText",Cc="extractPrependedData",Lc="extractAppendedData",rs="password",ns="rawPassword",Jr="passThrough",ss="signal",Fc="checkPasswordOnly",Uc="checkOverlappingEntryOnly",Mc="checkOverlappingEntry",vc="checkAmbiguity",kc="checkLocalDirectory",Bc="checkLocalFilename",zc="checkSignature",Hc="checkCrc32",Yc="checkAuthenticationCode",is="useWebWorkers",as="useCompressionStream",os="transferStreams",cs="preventClose",Wc="encryptionStrength",Gc="extendedTimestamp",Vc="ntfsTimestamp",Xc="keepOrder",ls="level",jc="bufferedWrite",Zc="createTempStream",Kc="dataDescriptorSignature",Wi="useUnicodeFileNames",Gi="dataDescriptor",qc="supportZip64SplitFile",Jc="encodeText",Qr="offset",Zt="usdz",Qc="unixExtraFieldType",$c="localExtraField",el="centralExtraField",tl="strictness",rl="filenameValidation",nl="normalizeFilename",Vi="maxAppendedDataSize",sl="decryptCentralDirectory",il="signCentralDirectory",Xi="entry",fs="filename",us="comment",Nt="strict",ds="balanced",it="tolerant",$r="compressed",al="Invalid option (must be a function)",ol="Invalid signal (must be an AbortSignal instance)",ji="Invalid password (password must be a string, rawPassword must be a Uint8Array)",cl="Invalid passThrough option (must be a boolean or 'compressed')",ll="The operation was aborted",wp="AbortError"});function at(){return Ki}function tn(t){return qi(t.chunkSize)}function qi(t){return t=Ot(t),Number.isInteger(t)&&t>=ul?Math.max(t,_p):fl}function Ji(t){Object.assign(Ki,Al(yl(t)))}function Al(t){let e={};for(let r of Ap){let n=t[r];n!==w&&(e[r]=yp(r,n))}return e}function yp(t,e){if(_l.includes(t)){if(e=Ot(e),t==gl&&(!Number.isInteger(e)||e<ul))throw new Error(dl)}else if(Tl.includes(t))mr(e);else if(t==Rl){if(e&&typeof e!=Ye)throw new Error(pl)}else if(wl.includes(t)&&e&&typeof e!=Ye&&typeof e!=K)throw new Error(El);return e}function yl(t){t=t||{};let{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===w&&r===w)return t;let n=Object.assign({},t);return n.CompressionStreamFallback===w&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===w&&(n.DecompressionStreamFallback=r),n}function Dt(t){let e=Al(yl(t));Object.assign(hl,e),Object.assign(Ki,e)}var fl,_p,ul,dl,pl,El,ml,hl,gl,Rl,wl,Tp,_l,Tl,Ap,Ki,We=se(()=>{ue();Rr();fl=64*1024,_p=64,ul=1,dl="Invalid maxWorkers (must be an integer greater than 0)",pl="Invalid baseURI (must be a string)",El="Invalid URI (must be a string or a function returning a string)",ml=2;try{typeof navigator!=ye&&navigator.hardwareConcurrency&&(ml=navigator.hardwareConcurrency)}catch{}hl={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:fl,maxWorkers:ml,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=ye&&CompressionStream,DecompressionStream:typeof DecompressionStream!=ye&&DecompressionStream},gl="maxWorkers",Rl="baseURI",wl=["wasmURI","workerURI"],Tp=["useCompressionStream","useWebWorkers","transferStreams"],_l=["chunkSize",gl,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Tl=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ap=[Rl,...wl,...Tp,..._l,...Tl],Ki={...hl}});function Be(t,e){let r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function ms(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function L(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}var Pt=se(()=>{});function Re(t){return!!t&&typeof t=="object"}var qt=se(()=>{});var rn,Il,Sp,Ip,bp,Np,Op,Dp,Pp,Ge,nn=se(()=>{rn=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let r=0;r<8;r++)e=e&1?e>>>1^3988292384:e>>>1;rn[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){let r=rn[e-1][t];rn[e][t]=r>>>8^rn[0][r&255]}[Il,Sp,Ip,bp,Np,Op,Dp,Pp]=rn,Ge=class{constructor(e){this.crc=e||-1}append(e){let r=this.crc|0,n=e.length|0,s=0;if(n>=8&&e.buffer){let i=new DataView(e.buffer,e.byteOffset,n),a=n-8;for(;s<=a;s+=8){let o=r^i.getInt32(s,!0),c=i.getInt32(s+4,!0);r=Pp[o&255]^Dp[o>>>8&255]^Op[o>>>16&255]^Np[o>>>24&255]^bp[c&255]^Ip[c>>>8&255]^Sp[c>>>16&255]^Il[c>>>24&255]}}for(;s<n;s++)r=r>>>8^Il[(r^e[s])&255];this.crc=r}get(){return~this.crc}}});var sn,bl=se(()=>{nn();sn=class extends TransformStream{constructor(){let e,r=new Ge;super({transform(n,s){r.append(n),s.enqueue(n)},flush(){let n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,r.get()),e.value=n}}),e=this}}});function wr(t){if(typeof TextEncoder==ye){t=unescape(encodeURIComponent(t));let e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}else return new TextEncoder().encode(t)}var Qi=se(()=>{ue()});function an(t,e){Mp();let r=new Int32Array(60),n=vp(t,r),s=new Int32Array(16/4),i=xl(e),a=0,o=0,c=0,l=0;return{process(f,m){m&&i.update(f,0,f.length),R(f),m||i.update(f,0,f.length)},digest(){return i.digest()}};function R(f){let m=new DataView(f.buffer,f.byteOffset,f.byteLength),h=f.length,E=0;for(;E+16<=h;E+=16)p(),m.setInt32(E,m.getInt32(E)^s[0]),m.setInt32(E+4,m.getInt32(E+4)^s[1]),m.setInt32(E+8,m.getInt32(E+8)^s[2]),m.setInt32(E+12,m.getInt32(E+12)^s[3]);if(E<h){p();for(let d=0;E<h;E++,d++)f[E]^=s[d>>2]>>>24-8*(d&3)}}function p(){a=a+1|0,a||(o=o+1|0,o||(c=c+1|0,c||(l=l+1|0)));let f=hs(a)^r[0],m=hs(o)^r[1],h=hs(c)^r[2],E=hs(l)^r[3],d=O[f>>>24]^D[m>>>16&255]^P[h>>>8&255]^x[E&255]^r[4],u=O[m>>>24]^D[h>>>16&255]^P[E>>>8&255]^x[f&255]^r[5],g=O[h>>>24]^D[E>>>16&255]^P[f>>>8&255]^x[m&255]^r[6],_=O[E>>>24]^D[f>>>16&255]^P[m>>>8&255]^x[h&255]^r[7];f=O[d>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[8],m=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[d&255]^r[9],h=O[g>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[10],E=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[g&255]^r[11],d=O[f>>>24]^D[m>>>16&255]^P[h>>>8&255]^x[E&255]^r[12],u=O[m>>>24]^D[h>>>16&255]^P[E>>>8&255]^x[f&255]^r[13],g=O[h>>>24]^D[E>>>16&255]^P[f>>>8&255]^x[m&255]^r[14],_=O[E>>>24]^D[f>>>16&255]^P[m>>>8&255]^x[h&255]^r[15],f=O[d>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[16],m=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[d&255]^r[17],h=O[g>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[18],E=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[g&255]^r[19],d=O[f>>>24]^D[m>>>16&255]^P[h>>>8&255]^x[E&255]^r[20],u=O[m>>>24]^D[h>>>16&255]^P[E>>>8&255]^x[f&255]^r[21],g=O[h>>>24]^D[E>>>16&255]^P[f>>>8&255]^x[m&255]^r[22],_=O[E>>>24]^D[f>>>16&255]^P[m>>>8&255]^x[h&255]^r[23],f=O[d>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[24],m=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[d&255]^r[25],h=O[g>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[26],E=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[g&255]^r[27],d=O[f>>>24]^D[m>>>16&255]^P[h>>>8&255]^x[E&255]^r[28],u=O[m>>>24]^D[h>>>16&255]^P[E>>>8&255]^x[f&255]^r[29],g=O[h>>>24]^D[E>>>16&255]^P[f>>>8&255]^x[m&255]^r[30],_=O[E>>>24]^D[f>>>16&255]^P[m>>>8&255]^x[h&255]^r[31],f=O[d>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[32],m=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[d&255]^r[33],h=O[g>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[34],E=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[g&255]^r[35],d=O[f>>>24]^D[m>>>16&255]^P[h>>>8&255]^x[E&255]^r[36],u=O[m>>>24]^D[h>>>16&255]^P[E>>>8&255]^x[f&255]^r[37],g=O[h>>>24]^D[E>>>16&255]^P[f>>>8&255]^x[m&255]^r[38],_=O[E>>>24]^D[f>>>16&255]^P[m>>>8&255]^x[h&255]^r[39];let A=40;n>10&&(f=O[d>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[40],m=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[d&255]^r[41],h=O[g>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[42],E=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[g&255]^r[43],d=O[f>>>24]^D[m>>>16&255]^P[h>>>8&255]^x[E&255]^r[44],u=O[m>>>24]^D[h>>>16&255]^P[E>>>8&255]^x[f&255]^r[45],g=O[h>>>24]^D[E>>>16&255]^P[f>>>8&255]^x[m&255]^r[46],_=O[E>>>24]^D[f>>>16&255]^P[m>>>8&255]^x[h&255]^r[47],A=48),n>12&&(f=O[d>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[48],m=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[d&255]^r[49],h=O[g>>>24]^D[_>>>16&255]^P[d>>>8&255]^x[u&255]^r[50],E=O[_>>>24]^D[d>>>16&255]^P[u>>>8&255]^x[g&255]^r[51],d=O[f>>>24]^D[m>>>16&255]^P[h>>>8&255]^x[E&255]^r[52],u=O[m>>>24]^D[h>>>16&255]^P[E>>>8&255]^x[f&255]^r[53],g=O[h>>>24]^D[E>>>16&255]^P[f>>>8&255]^x[m&255]^r[54],_=O[E>>>24]^D[f>>>16&255]^P[m>>>8&255]^x[h&255]^r[55],A=56),s[0]=(ce[d>>>24]<<24|ce[u>>>16&255]<<16|ce[g>>>8&255]<<8|ce[_&255])^r[A],s[1]=(ce[u>>>24]<<24|ce[g>>>16&255]<<16|ce[_>>>8&255]<<8|ce[d&255])^r[A+1],s[2]=(ce[g>>>24]<<24|ce[_>>>16&255]<<16|ce[d>>>8&255]<<8|ce[u&255])^r[A+2],s[3]=(ce[_>>>24]<<24|ce[d>>>16&255]<<16|ce[u>>>8&255]<<8|ce[g&255])^r[A+3]}}function Pl(t,e,r,n){let s=xl(t),i=new Uint8Array(n),a=new Uint8Array(e.length+4),o=new DataView(a.buffer);a.set(e);for(let c=1,l=0;l<n;c++,l+=20){o.setUint32(e.length,c),s.update(a,0,a.length);let R=s.digest(),p=R.slice();for(let f=1;f<r;f++){s.update(R,0,20),R=s.digest();for(let m=0;m<20;m++)p[m]^=R[m]}i.set(p.subarray(0,Math.min(20,n-l)),l)}return i}function xl(t){let e=Up(),r=new Uint8Array(64),n=new Uint8Array(64);t.length>64&&(e.update(t,0,t.length),t=e.digest());for(let s=0;s<64;s++){let i=s<t.length?t[s]:0;r[s]=i^Lp,n[s]=i^Fp}return e.update(r,0,64),{update(s,i,a){e.update(s,i,a)},digest(){let s=e.digest();e.update(n,0,64),e.update(s,0,20);let i=e.digest();return e.update(r,0,64),i}}}function Up(){let t=new Int32Array(Nl),e=new Int32Array(16),r=new Uint8Array(64),n=new DataView(r.buffer),s=new Uint8Array(8),i=0,a=0;return{update:o,digest:c};function o(R,p,f){let m=p+f;if(a+=f,i){for(;p<m&&i<64;)r[i++]=R[p++];i==64&&(l(n,0),i=0)}if(p+64<=m){let h=new DataView(R.buffer,R.byteOffset,R.byteLength);for(;p+64<=m;p+=64)l(h,p)}for(;p<m;)r[i++]=R[p++]}function c(){let R=a*8,p=Math.floor(R/4294967296),f=R>>>0;for(o(xp,0,1);i!=56;)o(Cp,0,1);s[0]=p>>>24,s[1]=p>>>16,s[2]=p>>>8,s[3]=p,s[4]=f>>>24,s[5]=f>>>16,s[6]=f>>>8,s[7]=f,o(s,0,8);let m=new Uint8Array(20),h=new DataView(m.buffer);for(let E=0;E<t.length;E++)h.setInt32(4*E,t[E]);return t.set(Nl),i=0,a=0,m}function l(R,p){for(let g=0;g<16;g++)e[g]=R.getInt32(p+4*g);let f=t[0],m=t[1],h=t[2],E=t[3],d=t[4],u;for(let g=0;g<15;g+=5)d=(f<<5|f>>>27)+((h^E)&m^E)+d+1518500249+e[g]|0,m=m<<30|m>>>2,E=(d<<5|d>>>27)+((m^h)&f^h)+E+1518500249+e[g+1]|0,f=f<<30|f>>>2,h=(E<<5|E>>>27)+((f^m)&d^m)+h+1518500249+e[g+2]|0,d=d<<30|d>>>2,m=(h<<5|h>>>27)+((d^f)&E^f)+m+1518500249+e[g+3]|0,E=E<<30|E>>>2,f=(m<<5|m>>>27)+((E^d)&h^d)+f+1518500249+e[g+4]|0,h=h<<30|h>>>2;d=(f<<5|f>>>27)+((h^E)&m^E)+d+1518500249+e[15]|0,m=m<<30|m>>>2,u=e[13]^e[8]^e[2]^e[0],u=u<<1|u>>>31,e[0]=u,E=(d<<5|d>>>27)+((m^h)&f^h)+E+1518500249+u|0,f=f<<30|f>>>2,u=e[14]^e[9]^e[3]^e[1],u=u<<1|u>>>31,e[1]=u,h=(E<<5|E>>>27)+((f^m)&d^m)+h+1518500249+u|0,d=d<<30|d>>>2,u=e[15]^e[10]^e[4]^e[2],u=u<<1|u>>>31,e[2]=u,m=(h<<5|h>>>27)+((d^f)&E^f)+m+1518500249+u|0,E=E<<30|E>>>2,u=e[0]^e[11]^e[5]^e[3],u=u<<1|u>>>31,e[3]=u,f=(m<<5|m>>>27)+((E^d)&h^d)+f+1518500249+u|0,h=h<<30|h>>>2;for(let g=20;g<40;g+=5)u=e[g-3&15]^e[g-8&15]^e[g-14&15]^e[g&15],u=u<<1|u>>>31,e[g&15]=u,d=(f<<5|f>>>27)+(m^h^E)+d+1859775393+u|0,m=m<<30|m>>>2,u=e[g-2&15]^e[g-7&15]^e[g-13&15]^e[g+1&15],u=u<<1|u>>>31,e[g+1&15]=u,E=(d<<5|d>>>27)+(f^m^h)+E+1859775393+u|0,f=f<<30|f>>>2,u=e[g-1&15]^e[g-6&15]^e[g-12&15]^e[g+2&15],u=u<<1|u>>>31,e[g+2&15]=u,h=(E<<5|E>>>27)+(d^f^m)+h+1859775393+u|0,d=d<<30|d>>>2,u=e[g&15]^e[g-5&15]^e[g-11&15]^e[g+3&15],u=u<<1|u>>>31,e[g+3&15]=u,m=(h<<5|h>>>27)+(E^d^f)+m+1859775393+u|0,E=E<<30|E>>>2,u=e[g+1&15]^e[g-4&15]^e[g-10&15]^e[g+4&15],u=u<<1|u>>>31,e[g+4&15]=u,f=(m<<5|m>>>27)+(h^E^d)+f+1859775393+u|0,h=h<<30|h>>>2;for(let g=40;g<60;g+=5)u=e[g-3&15]^e[g-8&15]^e[g-14&15]^e[g&15],u=u<<1|u>>>31,e[g&15]=u,d=(f<<5|f>>>27)+(m&h|(m|h)&E)+d+2400959708+u|0,m=m<<30|m>>>2,u=e[g-2&15]^e[g-7&15]^e[g-13&15]^e[g+1&15],u=u<<1|u>>>31,e[g+1&15]=u,E=(d<<5|d>>>27)+(f&m|(f|m)&h)+E+2400959708+u|0,f=f<<30|f>>>2,u=e[g-1&15]^e[g-6&15]^e[g-12&15]^e[g+2&15],u=u<<1|u>>>31,e[g+2&15]=u,h=(E<<5|E>>>27)+(d&f|(d|f)&m)+h+2400959708+u|0,d=d<<30|d>>>2,u=e[g&15]^e[g-5&15]^e[g-11&15]^e[g+3&15],u=u<<1|u>>>31,e[g+3&15]=u,m=(h<<5|h>>>27)+(E&d|(E|d)&f)+m+2400959708+u|0,E=E<<30|E>>>2,u=e[g+1&15]^e[g-4&15]^e[g-10&15]^e[g+4&15],u=u<<1|u>>>31,e[g+4&15]=u,f=(m<<5|m>>>27)+(h&E|(h|E)&d)+f+2400959708+u|0,h=h<<30|h>>>2;for(let g=60;g<80;g+=5)u=e[g-3&15]^e[g-8&15]^e[g-14&15]^e[g&15],u=u<<1|u>>>31,e[g&15]=u,d=(f<<5|f>>>27)+(m^h^E)+d+3395469782+u|0,m=m<<30|m>>>2,u=e[g-2&15]^e[g-7&15]^e[g-13&15]^e[g+1&15],u=u<<1|u>>>31,e[g+1&15]=u,E=(d<<5|d>>>27)+(f^m^h)+E+3395469782+u|0,f=f<<30|f>>>2,u=e[g-1&15]^e[g-6&15]^e[g-12&15]^e[g+2&15],u=u<<1|u>>>31,e[g+2&15]=u,h=(E<<5|E>>>27)+(d^f^m)+h+3395469782+u|0,d=d<<30|d>>>2,u=e[g&15]^e[g-5&15]^e[g-11&15]^e[g+3&15],u=u<<1|u>>>31,e[g+3&15]=u,m=(h<<5|h>>>27)+(E^d^f)+m+3395469782+u|0,E=E<<30|E>>>2,u=e[g+1&15]^e[g-4&15]^e[g-10&15]^e[g+4&15],u=u<<1|u>>>31,e[g+4&15]=u,f=(m<<5|m>>>27)+(h^E^d)+f+3395469782+u|0,h=h<<30|h>>>2;t[0]=t[0]+f|0,t[1]=t[1]+m|0,t[2]=t[2]+h|0,t[3]=t[3]+E|0,t[4]=t[4]+d|0}}function Mp(){if(!Ol){let t=1,e=1;do t=(t^t<<1^(t&128?27:0))&255,e=(e^e<<1)&255,e=(e^e<<2)&255,e=(e^e<<4)&255,e&128&&(e^=9),ce[t]=(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)&255;while(t!=1);ce[0]=99;for(let r=0;r<256;r++){let n=ce[r],s=Cl(n),i=s<<24|n<<16|n<<8|s^n;O[r]=i,D[r]=i>>>8|i<<24,P[r]=i>>>16|i<<16,x[r]=i>>>24|i<<8}Ol=!0}}function vp(t,e){let r=t.length>>2,n=r+6,s=4*(n+1),i=1;for(let a=0;a<r;a++)e[a]=t[4*a]<<24|t[4*a+1]<<16|t[4*a+2]<<8|t[4*a+3];for(let a=r;a<s;a++){let o=e[a-1];a%r==0?(o=Dl(o<<8|o>>>24)^i<<24,i=Cl(i)):r>6&&a%r==4&&(o=Dl(o)),e[a]=e[a-r]^o}return n}function Dl(t){return ce[t>>>24]<<24|ce[t>>>16&255]<<16|ce[t>>>8&255]<<8|ce[t&255]}function hs(t){return t<<24|(t&65280)<<8|t>>>8&65280|t>>>24}function Cl(t){return(t<<1^(t>>7)*27)&255}var xp,Cp,Nl,Lp,Fp,ce,O,D,P,x,Ol,$i=se(()=>{xp=new Uint8Array([128]),Cp=new Uint8Array(1),Nl=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Lp=54,Fp=92,ce=new Uint8Array(256),O=new Int32Array(256),D=new Int32Array(256),P=new Int32Array(256),x=new Int32Array(256),Ol=!1});function gs(t){if(kp)return crypto.getRandomValues(t);throw new Error(_r)}var kp,Ve,xt,ct,_r,Rs=se(()=>{ue();kp=typeof crypto!=ye&&typeof crypto.getRandomValues==K,Ve="Invalid password",xt="Invalid authentication code",ct="zipjs-abort-check-password",_r="Crypto API not supported"});function kl(t){vl=t||an}function Bl(t,e,r,n){Object.assign(t,{ready:new Promise(s=>t.resolveReady=s),password:qp(e,r),strength:n-1,pendingInput:j,discarded:!1})}function zl(t,e){let r=t.readable.getReader(),n=new ReadableStream({async pull(s){try{let{value:i,done:a}=await r.read();a?s.close():s.enqueue(i)}catch(i){throw ln(e),r.cancel(i).catch(()=>{}),i}},cancel(s){return ln(e),r.cancel(s)}});Object.defineProperty(t,"readable",{get(){return n}})}function Hl(t,e,r,n,s,i){let{engine:a,pendingInput:o}=t;o.length&&(e=Be(o,e));let c=e.length-s,l=c-c%ta;if(r=Jp(r,n+l),l){let R=xe(r,n,n+l);R.set(xe(e,0,l)),a.process(R,i)}return t.pendingInput=xe(e,l),r}async function jp(t,e,r,n){let s=await Yl(t,e,r,xe(n,0,on[e])),i=xe(n,on[e]);if(s[0]!=i[0]||s[1]!=i[1])throw ln(t),new Error(Ve)}function ln(t){let{engine:e}=t;t.discarded=!0,e&&e.dispose&&e.dispose()}async function Zp(t,e,r){let n=gs(new Uint8Array(on[e])),s=await Yl(t,e,r,n);return Be(n,s)}async function Yl(t,e,r,n){t.password=null;let s=Vp[e],i=await Kp(r,n,s*2+ea);return t.engine=vl(xe(i,0,s),xe(i,s,s*2)),t.discarded&&ln(t),xe(i,s*2)}async function Kp(t,e,r){if(Ll)try{let n=await cn.importKey(Bp,t,Yp,!1,Gp);return new Uint8Array(await cn.deriveBits(Object.assign({salt:e},Wp),n,r*8))}catch{Ll=!1}return Pl(t,e,Ul,r)}function qp(t,e){return e===w?wr(t):e}function Jp(t,e){if(e&&e>t.length){let r=t;t=new Uint8Array(e),t.set(r,0)}return t}function xe(t,e,r){return t.subarray(e,r)}var ta,Bp,Fl,zp,Hp,Ul,Yp,Wp,Gp,on,Vp,Ct,ea,Ml,cn,Xp,Ll,vl,ws,_s,ra=se(()=>{ue();Qi();Pt();$i();Rs();ta=16,Bp="raw",Fl={name:"PBKDF2"},zp={name:"HMAC"},Hp="SHA-1",Ul=1e3,Yp=Object.assign({hash:zp},Fl),Wp=Object.assign({iterations:Ul,hash:{name:Hp}},Fl),Gp=["deriveBits"],on=[8,12,16],Vp=[16,24,32],Ct=10,ea=2,Ml=typeof crypto!=ye,cn=Ml&&crypto.subtle,Xp=Ml&&typeof cn!=ye,Ll=Xp&&typeof cn.importKey==K&&typeof cn.deriveBits==K,vl=an,ws=class extends TransformStream{constructor({password:e,rawPassword:r,encryptionStrength:n,checkPasswordOnly:s,checkAuthenticationCode:i=!0}){let a={};super({start(){Bl(a,e,r,n)},async transform(o,c){let{password:l,strength:R,resolveReady:p,ready:f}=a;if(l?(await jp(a,R,l,xe(o,0,on[R]+ea)),o=xe(o,on[R]+ea),s?(ln(a),c.error(new Error(ct))):p()):await f,a.discarded)return;let m=new Uint8Array(o.length-Ct-(o.length-Ct)%ta);c.enqueue(Hl(a,o,m,0,Ct,!0))},async flush(o){let{engine:c,pendingInput:l,ready:R}=a;if(c){if(await R,a.discarded)return;let p=xe(l,l.length-Ct),f=new Uint8Array(xe(l,0,l.length-Ct));c.process(f,!0);let m=c.digest(),h=l.length<Ct?1:0;for(let E=0;E<Ct;E++)h|=m[E]^p[E];if(h&&i){o.error(new Error(xt));return}o.enqueue(f)}}}),zl(this,a)}},_s=class extends TransformStream{constructor({password:e,rawPassword:r,encryptionStrength:n}){let s={};super({start(){Bl(s,e,r,n)},async transform(i,a){let{password:o,strength:c,resolveReady:l,ready:R}=s,p=j;if(o?(p=await Zp(s,c,o),l()):await R,s.discarded)return;let f=new Uint8Array(p.length+i.length-i.length%ta);f.set(p,0),a.enqueue(Hl(s,i,f,p.length,0,!1))},async flush(i){let{engine:a,pendingInput:o,ready:c}=s;if(a){if(await c,s.discarded)return;let l=new Uint8Array(o);a.process(l,!1);let R=xe(a.digest(),0,Ct);i.enqueue(Be(l,R))}}}),zl(this,s)}}});function Xl(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),Qp(t,e,r)}function Wl(t,e){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=jl(t)^e[n],ys(t,r[n]);return r}function Gl(t,e){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=jl(t)^e[n],ys(t,e[n]);return r}function Qp(t,e,r){let n=[305419896,591751049,878082192];if(Object.assign(t,{cryptoKeys:n,crcKey0:new Ge(n[0]),crcKey2:new Ge(n[2])}),r)for(let s=0;s<r.length;s++)ys(t,r[s]);else for(let s=0;s<e.length;s++)ys(t,e.charCodeAt(s))}function ys(t,e){let[,r]=t.cryptoKeys;t.crcKey0.append([e]);let n=~t.crcKey0.get();r=Vl(Math.imul(Vl(r+Zl(n)),134775813)+1),t.crcKey2.append([r>>>24]);let s=~t.crcKey2.get();t.cryptoKeys=[n,r,s]}function jl(t){let e=t.cryptoKeys[2]|2;return Zl(Math.imul(e,e^1)>>>8)}function Zl(t){return t&255}function Vl(t){return t&4294967295}var Tr,Ts,As,Kl=se(()=>{nn();Rs();Tr=12,Ts=class extends TransformStream{constructor({password:e,rawPassword:r,passwordVerification:n,checkPasswordOnly:s}){super({start(){Xl(this,e,r,n)},transform(i,a){let o=this;if(o.password||o.rawPassword){let c=Wl(o,i.subarray(0,Tr));if(o.password=o.rawPassword=null,(c[Tr-1]^o.passwordVerification)!=0)throw new Error(Ve);i=i.subarray(Tr)}s?a.error(new Error(ct)):a.enqueue(Wl(o,i))}})}},As=class extends TransformStream{constructor({password:e,rawPassword:r,passwordVerification:n}){super({start(){Xl(this,e,r,n)},transform(s,i){let a=this,o,c;if(a.password||a.rawPassword){a.password=a.rawPassword=null;let l=gs(new Uint8Array(Tr));l[Tr-1]=a.passwordVerification,o=new Uint8Array(s.length+l.length),o.set(Gl(a,l),0),c=Tr}else o=new Uint8Array(s.length),c=0;o.set(Gl(a,s),c),i.enqueue(o)}})}}});function ze(t){if(t instanceof ReadableStream)return t;let e=t.getReader();return new ReadableStream({async pull(r){try{let{value:n,done:s}=await e.read();s?r.close():r.enqueue(n)}catch(n){throw e.cancel(n).catch(()=>{}),n}},cancel(r){return e.cancel(r)}})}function lt(t,e){t=ze(t);let r=e?{type:e}:{};if($p())return new Response(t).blob().then(s=>e?new Blob([s],r):s);let n=[];return t.pipeTo(new WritableStream({write(s){n.push(s)}})).then(()=>new Blob(n,r))}function $p(){return typeof Blob.prototype.stream!=K||new Blob([]).stream()instanceof ReadableStream}function na(t){if(t instanceof WritableStream)return t;let e=t.getWriter();return new WritableStream({write(r){return e.write(r)},close(){return e.close()},abort(r){return e.abort(r)}})}var Jt=se(()=>{ue()});function Ss(t){return eE.get(t)}function Is(t){return sa.get(t)}function tE(t,e){let{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=K&&typeof n!=K)throw new Error(ql);sa.set(t,{CompressionStream:r,DecompressionStream:n})}async function Jl(t,e){!sa.has(t)&&e&&tE(t,await import(e))}var ql,ft,eE,sa,$t=se(()=>{ue();ql="Invalid codec module",ft="Compression method not supported",eE=new Map,sa=new Map});function sE(t,e,r,n,s){let i=e.writable.getWriter(),a=e.readable.getReader(),o=n===w?new Ge:w,c=0,l=!1,R=!1,p,f,m=new ReadableStream({start(A){f=A},pull(){g()},cancel(A){return R=!0,g(),a.cancel(A)}});return h(),E(),m;async function h(){let A=t.getReader();try{let T=new Uint8Array(ef);for(T.set(nE),await i.write(T);;){await u(),await i.ready;let{value:I,done:N}=await of(A,s);if(N)break;await i.write(I)}o&&await i.write(new Uint8Array(0));let y=new Uint8Array(ia),S=L(y);S.setUint32(0,o?o.get():n,!0),S.setUint32(4,r,!0),l=!0,await i.write(y),await i.close()}catch(T){await af(i,T),await Ds(A,T)}}async function E(){try{for(;;){let{value:A,done:T}=await d();if(T)break;if(c+=A.length,c>r)throw new Error(Je);o&&o.append(A),f.enqueue(A)}R||(R=!0,f.close())}catch(A){_(A),await Ds(a,A)}}function d(){return a.read().catch(A=>{if(l){if(!o)throw xs(A,Lt);if(c!=r)throw xs(A,Je);return{done:!0}}throw cf(A,s)})}function u(){if(!R&&f.desiredSize<=0)return new Promise(A=>p=A)}function g(){if(p){let A=p;p=w,A()}}function _(A){R||(R=!0,f.error(A),g())}}function oa(t,e){if(!t)return!1;let r=Ql.get(t);r||(r=new Map,Ql.set(t,r));let n=r.get(e);if(n===w){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function Cs(t){return oa(t,aa)}function ca(t){return oa(t,yr)}function tf(t,e,r){e=ut(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get(){return e}})}function rf(t,e,r){if(!t)throw new Error(ft);return new t(e,r)}function nf(t,e,r){if(t&&e)return e;if(r&&r.requiresModule)return r}function sf(t,e,r,n,s,i){let a=e&&n?n:s||n,o=r.deflate64?$l:aa,c;try{c=new a(o,r)}catch(l){if(e&&s&&a!=s)c=new s(o,r);else throw l}return un(t,c,i)}function ut(t,e){return ze(t).pipeThrough(e)}function un(t,e,r){let n=e.writable.getWriter(),s=t.getReader();return i(),e.readable;async function i(){try{for(;;){await n.ready;let a=await of(s,r);if(a.done){await n.close();break}await n.write(a.value)}}catch(a){await af(n,a),await Ds(s,a)}}}async function af(t,e){try{await t.abort(e)}catch{}}async function Ds(t,e){try{await t.cancel(e)}catch{}}function of(t,e){let r=t.read();return e?r.catch(n=>{throw e.add(n),n}):r}function cf(t,e){return e.has(t)?t:xs(t,lf(t)?tr:er)}function Ps(t){return lf(t)?xs(t,tr):t}function lf(t){return Re(t)&&t.code==rE}function xs(t,e){let r=new Error(e);return r.cause=t,r}function iE(t,e){let r=t.getReader();return new ReadableStream({async pull(n){try{let{value:s,done:i}=await r.read();i?n.close():n.enqueue(s)}catch(s){throw await Ds(r,s),cf(s,e)}},cancel(n){return r.cancel(n)}})}var Je,er,tr,Lt,rE,aa,$l,yr,ef,ia,nE,bs,Ns,Os,Ql,la=se(()=>{nn();bl();ra();Kl();Rs();ue();Pt();Jt();qt();$t();Je="Invalid uncompressed size",er="Invalid compressed data",tr="Codec out of memory",Lt="Invalid CRC32",rE="Z_MEM_ERROR",aa="deflate-raw",$l="deflate64-raw",yr="gzip",ef=10,ia=8,nE=[31,139,8],bs=class extends TransformStream{constructor(e,{chunkSize:r,CompressionStreamFallback:n,CompressionStream:s}){super({});let{compressed:i,encrypted:a,useCompressionStream:o,zipCrypto:c,computeCrc32:l,level:R,deflate64:p,format:f,compressionMethod:m,inputSize:h}=e,E=this,d,u,g,_=super.readable,A=f&&Is(f),T=nf(o,s,n),y=l&&i&&!p&&!A&&(!a||c)&&!!T;if((!a||c)&&l&&!y&&(d=new sn,_=ut(_,d)),i)if(A)_=un(_,rf(A.CompressionStream,f,{level:R,chunkSize:r,compressionMethod:m,uncompressedSize:h}));else if(y)g=new Ns,_=un(_,new T(yr,{level:R,chunkSize:r})),_=ut(_,g);else try{_=sf(_,o,{level:R,chunkSize:r},s,n)}catch(S){if(!o&&n)throw Ps(S);let I;try{I=new s(yr)}catch{throw Ps(S)}_=un(_,I),_=ut(_,new Ns)}a&&(c?_=ut(_,new As(e)):(u=new _s(e),_=ut(_,u))),tf(E,_,()=>{(!a||c)&&l&&(E.crc32=y?g.crc32:new DataView(d.value.buffer).getUint32(0))})}},Ns=class extends TransformStream{constructor(){let e,r=ef,n=new Uint8Array(0);super({transform(s,i){if(r){let l=Math.min(r,s.length);if(r-=l,s=s.subarray(l),!s.length)return}let a=n.length+s.length;if(a<=ia){n=Be(n,s);return}let o=a-ia,c=Math.min(o,n.length);i.enqueue(Be(n.subarray(0,c),s.subarray(0,o-c))),n=Be(n.subarray(c),s.subarray(o-c))},flush(){let s=L(n);e.crc32=s.getUint32(0,!0),e.uncompressedSize=s.getUint32(4,!0)}}),e=this}};Os=class extends TransformStream{constructor(e,{chunkSize:r,DecompressionStreamFallback:n,DecompressionStream:s}){super({});let{zipCrypto:i,encrypted:a,checkCrc32:o,crc32:c,compressed:l,useCompressionStream:R,deflate64:p,format:f,compressionMethod:m,rawBitFlag:h,outputSize:E}=e,d,u,g,_=super.readable;if(a&&(i?_=ut(_,new Ts(e)):(u=new ws(e),_=ut(_,u))),l){let A=new Set,T=f&&Is(f),y;if(T)_=un(_,rf(T.DecompressionStream,f,{chunkSize:r,compressionMethod:m,rawBitFlag:h,uncompressedSize:E}),A);else{let S=nf(R,s,n);if(o&&!p&&c!==w&&E!==w&&S)try{y=new S(yr,{chunkSize:r})}catch{y=w}if(!y)try{_=sf(_,R,{chunkSize:r,deflate64:p},s,n,A)}catch(I){if(p||E===w||!R&&n)throw Ps(I);try{y=new s(yr)}catch{throw Ps(I)}}}y?(g=!0,_=sE(_,y,E,c,A)):_=iE(_,A)}o&&!g&&(d=new sn,_=ut(_,d)),tf(this,_,()=>{if(d){let A=new DataView(d.value.buffer).getUint32(0,!1);if(c!=A)throw new Error(Lt)}})}},Ql=new Map});var aE,ff,uf,df,fa,pf,Ef,Sr,Fs,Ls,dn,Us=se(()=>{ue();la();aE=64*1024,ff="message",uf="start",df="pull",fa="data",pf="ack",Ef="close",Sr="deflate",Fs="inflate",Ls=class extends TransformStream{constructor(e,r){super({});let n=this,{codecType:s}=e,i;s.startsWith(Sr)?i=bs:s.startsWith(Fs)&&(i=Os),n.outputSize=0;let a=0,o=new i(e,r),c=super.readable,l=new TransformStream({transform(p,f){p&&p.length&&(a+=p.length,f.enqueue(p))},flush(){Object.assign(n,{inputSize:a})}}),R=new TransformStream({transform(p,f){if(p&&p.length&&(f.enqueue(p),n.outputSize+=p.length,e.outputSize!==w&&n.outputSize>e.outputSize))throw new Error(Je)},flush(){let{crc32:p}=o;Object.assign(n,{crc32:p,inputSize:a})}});Object.defineProperty(n,"readable",{get(){return c.pipeThrough(l).pipeThrough(o).pipeThrough(R)}})}},dn=class extends TransformStream{constructor(e){let r=[],n=0,s=0;(!Number.isFinite(e)||e<1)&&(e=aE),super({transform(o,c){for(r.push(o),n+=o.length;n>e;)s+=e,c.enqueue(i())},flush(o){n&&(s+=n,o.enqueue(a(r,n)))}}),Object.defineProperty(this,"outputSize",{get:()=>s});function i(){let o=new Uint8Array(e),c=0;for(;c<e;){let l=r[0],R=e-c;l.length<=R?(o.set(l,c),c+=l.length,r.shift()):(o.set(l.subarray(0,R),c),r[0]=l.subarray(R),c+=R)}return n-=e,o}function a(o,c){let l=new Uint8Array(c),R=0;for(let p of o)l.set(p,R),R+=p.length;return l}}}});function hf({initModule:t}){da=t}function gf(t){ua=t}async function Rf(t){let{CompressionStream:e,CompressionStreamFallback:r}=t;return r&&!r.requiresModule||Cs(e)||ca(e)?!0:r?await wf(t):!1}async function wf(t){if(da)try{return await da(t),!0}catch{}return!1}function pa(t){t.createWorker?mf=!0:Ms=!1}async function vs(t,...e){try{await t(...e)}catch{}}function Ea(t,e){return{run:()=>Bs(t,e)}}async function Bs({options:t,readable:e,writable:r,onTaskFinished:n,workerOptions:s},i){let a,o,c;try{if(t.compressed&&!t.format){let h=t.codecType.startsWith(Sr),E=h?i.CompressionStreamFallback:i.DecompressionStreamFallback,d=h?i.CompressionStream:i.DecompressionStream;t.useCompressionStream?E&&E.requiresModule&&!Cs(d)&&await l():!await l()&&(!E||E.requiresModule)&&(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await l(),a=new Ls(t,i),o=new dn(tn(i));let{signal:R}=s.streamOptions;await e.pipeThrough(a).pipeThrough(o).pipeTo(r,{preventClose:!0,preventAbort:!0,signal:R});let{crc32:p,inputSize:f,outputSize:m}=a;return{crc32:p,inputSize:f,outputSize:m}}catch(R){if(a){let p=o?o.outputSize:0;if(s.outputSize=p,Re(R))try{R.outputSize=p}catch{}}throw R}finally{n()}function l(){return c||(c=wf(i)),c}}var rr,Ms,mf,ua,da,Ft,ks,Ir=se(()=>{ue();We();qt();Us();rr="Worker startup timeout",da=()=>{};Ft=class{constructor(e,{readable:r,writable:n},s,i){let{options:a,config:o,streamOptions:c,useWebWorkers:l,transferStreams:R,workerURI:p}=s,{createWorker:f}=s,{signal:m}=c;return mf&&(f=w),Object.assign(e,{busy:!0,generation:(e.generation||0)+1,readable:r.pipeThrough(new dn(tn(o))).pipeThrough(new ks(c),{signal:m}),writable:n,options:Object.assign({},a),workerOptions:s,workerURI:p,createWorker:f,transferStreams:R,terminate(){return new Promise(h=>{let{worker:E,busy:d}=e;d?(e.terminateResolvers=e.terminateResolvers||[],e.terminateResolvers.push(h)):(E&&(E.terminate(),e.worker=null),h()),e.interface=null})},onTaskFinished(){if(e.busy){let{terminateResolvers:h,worker:E}=e;h&&(e.terminateResolvers=null,E&&(e.terminated=!0,E.terminate())),e.busy=!1;let d=i(e);h&&h.forEach(u=>u(d))}}}),Ms===w&&(Ms=typeof Worker!=ye),(l&&ua&&(Ms&&p||f)?ua:Ea)(e,o)}},ks=class extends TransformStream{constructor({onstart:e,onprogress:r,size:n,onend:s}){let i=0;super({async start(){e&&await vs(e,n)},async transform(a,o){i+=a.length,r&&await vs(r,i,n),o.enqueue(a)},async flush(){s&&await vs(s,i)}})}}});async function Ws(t,e){let{options:r,config:n}=e,{transferStreams:s,useWebWorkers:i,useCompressionStream:a,compressed:o,checkCrc32:c,computeCrc32:l,encrypted:R,format:p,codecURI:f}=r,{workerURI:m,createWorker:h,maxWorkers:E}=n;p&&(f&&(r.codecURI=EE(f,n.baseURI)),await Jl(p,r.codecURI)),e.transferStreams=!p&&(s||s===w&&n.transferStreams);let d=!o&&!c&&!l&&!R,u=p===w||!!r.codecURI;return e.useWebWorkers=!d&&u&&(i||i===w&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&m?m:w,e.createWorker=e.useWebWorkers&&h?h:w,r.useCompressionStream=a||a===w&&n.useCompressionStream,(await g()).run();async function g(){let A=nr.find(T=>!T.busy);if(A)return Of(A),new Ft(A,t,e,_);if(nr.length<E){let T={indexWorker:Nf};return Nf++,nr.push(T),new Ft(T,t,e,_)}else return new Promise(T=>{sr.push({resolve:T,stream:t,workerOptions:e}),Hs=n.workerStarvationTimeout,Ys()})}function _(A){if(_a(),A.terminated)return A.terminated=!1,hE();if(sr.length){let[{resolve:T,stream:y,workerOptions:S}]=sr.splice(0,1);T(new Ft(A,y,S,_)),Ys()}else A.worker?(Of(A),gE(A,e)):nr=nr.filter(T=>T!=A)}}function EE(t,e){try{return new URL(t,e).toString()}catch{return t}}function Ys(){!br&&sr.length&&Number.isFinite(Hs)&&Hs>=0&&(br=setTimeout(mE,Hs))}function _a(){br&&(clearTimeout(br),br=null)}function mE(){if(br=null,sr.length){let[{resolve:t,stream:e,workerOptions:r}]=sr.splice(0,1);t(new Ft({},e,Df(r),Pf)),Ys()}}function hE(){let t=sr.splice(0).map(({resolve:e,stream:r,workerOptions:n})=>new Promise(s=>{e(new Ft({},r,Df(n),()=>{Pf(),s()}))}));return _a(),Promise.all(t)}function Df(t){return Object.assign({},t,{useWebWorkers:!1,workerURI:w,createWorker:w})}function Pf(){_a(),Ys()}function gE(t,e){let{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.terminateTimeout=setTimeout(async()=>{nr=nr.filter(s=>s!=t);try{await t.terminate()}catch{}},n))}function Of(t){let{terminateTimeout:e}=t;e&&(clearTimeout(e),t.terminateTimeout=null)}var nr,sr,br,Hs,Nf,Gs=se(()=>{ue();Us();$t();Ir();nr=[],sr=[],Nf=0});function xf(t){let e="";for(let r=0;r<t.length;r++)e+=RE[t[r]];return e}var RE,Cf=se(()=>{RE="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0".split("")});function pn(t,e){return wE(t,e,!0)}function Ta(t){if(t.some(e=>e>127))try{return new TextDecoder("utf-8",{fatal:!0}).decode(t),!0}catch{return!1}else return!1}function wE(t,e,r){return e&&e.trim().toLowerCase()=="cp437"?xf(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}var Aa=se(()=>{Cf()});function TE(){Mf=(async()=>{try{let e=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader(),r=0,n=await e.read();for(;!n.done;)r+=n.value.length,n=await e.read();ya=r==1}catch{ya=!1}})()}function En(t){return!!(t&&t.getData)}async function ge(t,e){if(t.init&&!t.initialized)await t.init(e);else return Promise.resolve()}async function AE(t){return t=new pt(t),await ge(t),(t.size===w||!t.readUint8Array)&&(t=new Qe(await lt(t.readable)),await ge(t)),t}function re(t,e,r){return t.readUint8Array(e,r)}function Sa(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?dt.prototype.createReadable.call(t,e):t.readable}var Ff,Uf,PR,xR,CR,_E,Lf,Vs,dt,ya,Mf,Qe,Xs,js,pt,Nr,mn=se(()=>{ue();We();Pt();Jt();Aa();Ff="Writer iterator completed too soon",Uf="Invalid writer (size must be writable)",PR=256*1024,xR=16*1024*1024,CR=65557,_E="writable",Lf=Symbol(),Vs=class{constructor(){this.size=0}init(){this.initialized=!0}},dt=class extends Vs{get readable(){return this.createReadable()}createReadable({offset:e=0,size:r,chunkSize:n=tn(at())}={}){let s=this,i=0;return n=qi(n),new ReadableStream({async pull(a){let o=r===w?n:Math.min(n,r-i),c=await re(s,e+i,o);c.length&&(a.enqueue(c),i+=c.length),(r!==w&&i>=r||!c.length&&o)&&a.close()}})}};Qe=class extends dt{constructor(e){super(),Object.assign(this,{sourceBlob:e,size:e.size}),Mf||TE()}createReadable(e){let r=this,{sourceBlob:n,size:s}=r,{offset:i=0,size:a=s-i}=e||{};if(typeof n.stream==K){if(!i&&a>=s)return ze(n.stream());if(ya)return ze(n.slice(i,i+a).stream())}return super.createReadable(e)}async readUint8Array(e,r){let n=this,s=e+r,o=await(!e&&s>=n.size?n.sourceBlob:n.sourceBlob.slice(e,s)).arrayBuffer();return o.byteLength>r&&(o=o.slice(e,s)),new Uint8Array(o)}},Xs=class extends dt{constructor(e){super(),this.readers=e}async init(){let e=this;e.lastDiskNumber=0;let r=e.readers=await Promise.all(e.readers.map(AE));e.diskOffsets=r.map(n=>{let s=e.size;return e.size+=n.size,s}),super.init()}getDiskOffset(e){let{diskOffsets:r,size:n}=this,s=r[e];return s===w?n:s}async readUint8Array(e,r){let n=this,{readers:s}=this,i,a=0,o=e;for(;s[a]&&o>=s[a].size;)o-=s[a].size,a++;let c=s[a];if(c){let l=c.size;if(o+r<=l)i=await re(c,o,r);else{let R=l-o,p=await re(c,o,R),f=await n.readUint8Array(e+R,r-R);i=Be(p,f)}}else i=j;return n.lastDiskNumber=Math.max(a,n.lastDiskNumber),i}},js=class extends Vs{constructor(e,r=4294967295){super();let n=this;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:r,availableSize:r});let s,i,a,o=new WritableStream({async write(p){if(p===Lf){a&&await l();return}let{availableSize:f}=n;if(a)p.length>=f?(await c(p.subarray(0,f)),await l(),p.length>f&&await this.write(p.subarray(f))):await c(p);else{let{value:m,done:h}=await e.next();if(h&&!m)throw new Error(Ff);s=m,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await ge(s),i=m.writable,a=i.getWriter(),await this.write(p)}},async close(){a&&(await a.ready,await R())},async abort(p){a&&await a.abort(p)}});Object.defineProperty(n,_E,{get(){return o}});async function c(p){let f=p.length;f&&(await a.ready,await a.write(p),s.size+=f,n.availableSize-=f)}async function l(){await R(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function R(){await a.close()}}async closeDisk(){let e=this.writable.getWriter();try{await e.ready,await e.write(Lf)}finally{e.releaseLock()}}},pt=class{constructor(e){return Array.isArray(e)&&(e=new Xs(e)),(e instanceof ReadableStream||typeof e.getReader==K)&&(e={readable:ze(e)}),e}},Nr=class{constructor(e){e.writable===w&&typeof e.next==K&&(e=new js(e)),(e instanceof WritableStream||typeof e.getWriter==K)&&(e={writable:na(e)});try{e.size=e.size===w?0:e.size}catch{throw new Error(Uf)}return e}}});function Te(t,e,r){if(!t.some(n=>n.reason==e)){let n={reason:e};r!==w&&(n.filename=r),t.push(n)}}var Ia=se(()=>{ue()});function vf(t){if(t){let e=new Map;if(t.forEach((r,n)=>{VE.has(n)||e.set(n,r.data)}),e.size)return e}}function bn(t,e,r){return t?e?12:16+r*4:0}var Pa,xa,Tn,Ca,An,La,Fa,Ua,ar,Dr,yn,Ma,Sn,va,ka,Ba,za,Ha,Ya,Zs,Wa,Ga,Va,Xa,or,ja,yE,Za,Ks,SE,In,IE,bE,NE,OE,Ka,qa,Ja,Qa,$a,eo,DE,PE,xE,CE,LE,FE,UE,ME,vE,kE,BE,zE,HE,YE,WE,GE,Et,VE,qs=se(()=>{ue();Pa="filename",xa="rawFilename",Tn="comment",Ca="rawComment",An="uncompressedSize",La="compressedSize",Fa="offset",Ua="diskNumberStart",ar="lastModDate",Dr="rawLastModDate",yn="lastAccessDate",Ma="rawLastAccessDate",Sn="creationDate",va="rawCreationDate",ka="internalFileAttributes",Ba="externalFileAttributes",za="msdosAttributesRaw",Ha="msdosAttributes",Ya="msDosCompatible",Zs="zip64",Wa="encrypted",Ga="version",Va="versionMadeBy",Xa="zipCrypto",or="directory",ja="executable",yE="symlink",Za="compressionMethod",Ks="signature",SE="crc32",In="extraField",IE="extraFieldInfoZip",bE="extraFieldUnix",NE="extraFieldUnixType1",OE="extraFieldPkwareUnix",Ka="uid",qa="gid",Ja="unixMode",Qa="setuid",$a="setgid",eo="sticky",DE="bitFlag",PE="rawBitFlag",xE="filenameLength",CE="extraFieldLength",LE="unixExternalUpper",FE="filenameUTF8",UE="commentUTF8",ME="rawExtraField",vE="extraFieldZip64",kE="extraFieldUnicodePath",BE="extraFieldUnicodeComment",zE="extraFieldAES",HE="extraFieldNTFS",YE="extraFieldExtendedTimestamp",WE="extraFieldUSDZ",GE=[Pa,xa,An,La,ar,Dr,Tn,Ca,yn,Ma,Sn,va,Fa,Ua,ka,Ba,za,Ha,Ya,Zs,Wa,Ga,Va,Xa,or,ja,yE,Za,Ks,SE,In,bE,IE,NE,OE,Ka,qa,Ja,LE,Qa,$a,eo,DE,PE,xE,CE,FE,UE,ME,vE,kE,BE,zE,HE,YE,WE],Et=class{constructor(e){GE.forEach(r=>this[r]=e[r])}},VE=new Set([1,39169,10,21589,28789,25461,6534,30837,30805,22613,13])});var uu={};Rp(uu,{ERR_AMBIGUOUS_ARCHIVE:()=>So,ERR_BAD_FORMAT:()=>Pr,ERR_CENTRAL_DIRECTORY_NOT_FOUND:()=>wo,ERR_CODEC_OUT_OF_MEMORY:()=>tr,ERR_ENCRYPTED:()=>Ei,ERR_ENCRYPTED_CENTRAL_DIRECTORY:()=>Io,ERR_ENTRY_DATA_OUT_OF_BOUNDS:()=>yo,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:()=>Ro,ERR_EOCDR_NOT_FOUND:()=>go,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:()=>To,ERR_INVALID_AUTHENTICATION_CODE:()=>xt,ERR_INVALID_COMPRESSED_DATA:()=>er,ERR_INVALID_CRC32:()=>Lt,ERR_INVALID_FILENAME_VALIDATION:()=>Oo,ERR_INVALID_MAX_APPENDED_DATA_SIZE:()=>Do,ERR_INVALID_PASSWORD:()=>Ve,ERR_INVALID_STRICTNESS:()=>No,ERR_INVALID_UNCOMPRESSED_SIZE:()=>Je,ERR_LOCAL_FILE_HEADER_NOT_FOUND:()=>_o,ERR_OVERLAPPING_ENTRY:()=>Ao,ERR_SPLIT_ZIP_FILE:()=>ei,ERR_UNSAFE_FILENAME:()=>bo,ERR_UNSUPPORTED_COMPRESSION:()=>ft,ERR_UNSUPPORTED_ENCRYPTION:()=>$s,ERR_UNSUPPORTED_UINT64:()=>Po,ERR_WORKER_STARTUP_TIMEOUT:()=>rr,WARNING_APPENDED_DATA:()=>ri,WARNING_COMPRESSED_PATCHED_DATA:()=>Lo,WARNING_DUPLICATE_FILENAME:()=>vo,WARNING_MALFORMED_EXTRA_FIELD:()=>mi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:()=>zo,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:()=>Ho,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:()=>Yo,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:()=>Bo,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:()=>xr,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:()=>ko,WARNING_PREPENDED_CENTRAL_DIRECTORY:()=>Uo,WARNING_PREPENDED_DATA:()=>ni,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:()=>Mo,WARNING_UNKNOWN_VERSION:()=>Co,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:()=>Fo,WARNING_UNSORTED_CENTRAL_DIRECTORY:()=>xo,WARNING_WRAPPED_ENTRIES_COUNT:()=>ti,ZipReader:()=>vt,ZipReaderStream:()=>ii,isZipFile:()=>ru});function rm(t,e){let{readable:r,writable:n}=new TransformStream,s,i={cancel:async o=>{e.delete(i),await(s?s.cancel(o):r.cancel(o))}};return i.readable=new ReadableStream({async pull(o){s||(s=r.getReader(),e.add(i),a());let{done:c,value:l}=await s.read();c?o.close():o.enqueue(l)},cancel:o=>i.cancel(o)},{highWaterMark:0}),i;async function a(){try{await t.getData(n,{preventClose:!1})}catch(o){try{await n.abort(o)}catch{}}finally{e.delete(i)}}}async function ru(t,e={}){if(t=new pt(t),await ge(t),(t.size===w||!t.readUint8Array)&&(t=new Qe(await lt(t.readable)),await ge(t)),t.size<22)return!1;let r=Go(e,{}),n=r!=it,s=ou(e[Vi],r),{endOfDirectoryInfo:i,endOfDirectoryReachingEndCount:a}=await cu(t,n,s);if(!i||r==Nt&&a>1)return!1;let o=V(L(i),20),c=i.offset+22+o;return t.size-c<=s}function to(t){let e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(v(t,r)==134630224)return!0;return!1}function Xf(t,e,r){let n=0;for(;r+46<=e.length&&v(t,r)==33639248;)r+=46+V(t,r+28)+V(t,r+30)+V(t,r+32),n++;return n%65536?0:n}function ro(t){if(t.length>=6){let e=L(t);if(v(e,0)==84233040){let r=V(e,4);if(6+r<=t.length)return new Uint8Array(t.subarray(6,6+r))}}}function nm(t,e,r){let n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}function sm(t){let e={rawExtensibleData:t};if(t.length>=28){let r=L(t),n=V(r,26);Object.assign(e,{compressionMethod:V(r,0),compressedSize:Ce(r,2),uncompressedSize:Ce(r,10),encryptionAlgorithm:V(r,18),bitLength:V(r,20),flags:V(r,22),hashAlgorithm:V(r,24),hashData:t.subarray(28,28+n)})}return e}function nu(t,e,r){let n=t.rawBitFlag=V(e,r+2),s=(n&1)==1,i=v(e,r+6);Object.assign(t,{encrypted:s,version:V(e,r),bitFlag:{level:(n&6)>>1,dataDescriptor:(n&8)==8,languageEncodingFlag:(n&2048)==2048},rawLastModDate:i,lastModDate:Tm(i),filenameLength:V(e,r+22),extraFieldLength:V(e,r+24)})}function su(t,e,r,n,s){let{rawExtraField:i}=e,a=e.extraField=new Map,o=L(i),c=0,l=!1;try{for(;c<i.length;){let y=V(o,c),S=V(o,c+2);a.set(y,{type:y,data:i.slice(c+4,c+4+S)}),c+=4+S}}catch{l=!0}c>i.length&&(l=!0);let R=V(r,n+4);Object.assign(e,{signature:v(r,n+10),crc32:v(r,n+10),compressedSize:v(r,n+14),uncompressedSize:v(r,n+18)});let p=a.get(1);p&&(im(p,e),e.extraFieldZip64=p);let f=a.get(28789);f&&(jf(f,Pa,xa,e,t),e.extraFieldUnicodePath=f);let m=a.get(25461);m&&(jf(m,Tn,Ca,e,t),e.extraFieldUnicodeComment=m);let h=a.get(39169);h&&h.data.length>=7?(am(h,e,R),e.extraFieldAES=h):e.compressionMethod=R;let E=a.get(13);E&&(Zf(E,e),e.extraFieldPkwareUnix=E);let d=a.get(22613);d&&(Zf(d,e),e.extraFieldUnixType1=d);let u=a.get(10);u&&(om(u,e),e.extraFieldNTFS=u);let g=a.get(30805),_;if(g&&(_=Kf(g,e,!1),e.extraFieldUnix=g),!_){let y=a.get(30837);y&&(Kf(y,e,!0),e.extraFieldInfoZip=y)}let A=a.get(21589);A&&(cm(A,e,s),e.extraFieldExtendedTimestamp=A);let T=a.get(6534);return T&&(e.extraFieldUSDZ=T),l}function im(t,e){e.zip64=!0;let r=L(t.data),n=QE.filter(([i,a])=>e[i]==a),s=n.reduce((i,[,a])=>i+Gf[a].bytes,0);if(t.data.length<s)throw new Error(To);for(let i=0,a=0;i<n.length;i++){let[o,c]=n[i],l=Gf[c];e[o]=t[o]=l.getValue(r,a),a+=l.bytes}}function jf(t,e,r,n,s){if(t.data.length<5){t.valid=!1;return}let i=L(t.data),a=new Ge;a.append(s[r]);let o=L(new Uint8Array(4));o.setUint32(0,a.get(),!0);let c=v(i,1),l=Mt(i,0);Object.assign(t,{version:l,[e]:pn(t.data.subarray(5)),valid:l==1&&!s.bitFlag.languageEncodingFlag&&c==v(o,0)}),t.valid&&(n[e]=t[e],n[e+JE]=!0)}function am(t,e,r){let n=L(t.data),s=Mt(n,4);Object.assign(t,{vendorVersion:Mt(n,0),vendorId:Mt(n,2),strength:s,originalCompressionMethod:r,compressionMethod:V(n,5)}),e.compressionMethod=t.compressionMethod,t.vendorVersion!=tu&&(e.crc32=w)}function om(t,e){let r=L(t.data),n=4,s;try{for(;n<t.data.length&&!s;){let i=V(r,n),a=V(r,n+2);i==1&&(s=t.data.slice(n+4,n+4+a)),n+=4+a}}catch{}if(s&&s.length==24){let i=L(s),a=i.getBigUint64(0,!0),o=i.getBigUint64(8,!0),c=i.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:c});let l=no(a),R=no(o),p=no(c),f={lastModDate:l,lastAccessDate:R,creationDate:p};Object.assign(t,f),Object.assign(e,f,{rawLastAccessDate:o,rawCreationDate:c})}}function Zf(t,e){if(t.data.length<8)return;let r=L(t.data),n=new Date((v(r,0)|0)*1e3),s=new Date((v(r,4)|0)*1e3),i={lastAccessDate:n,lastModDate:s};t.data.length>=12&&(i.uid=V(r,8),i.gid=V(r,10)),Object.assign(t,i),Object.assign(e,i)}function Kf(t,e,r){try{let n=L(t.data),s,i;if(r){let a=0,o=Mt(n,a++),c=Mt(n,a++);s=qf(t.data.subarray(a,a+c)),a+=c;let l=Mt(n,a++);i=qf(t.data.subarray(a,a+l)),Object.assign(t,{version:o,uid:s,gid:i})}else t.data.length>=4&&(s=V(n,0),i=V(n,2),Object.assign(t,{uid:s,gid:i}));return s!==w&&(e.uid=s),i!==w&&(e.gid=i),s!==w||i!==w}catch{}}function qf(t){let e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function cm(t,e,r){if(!t.data.length)return;let n=L(t.data),s=Mt(n,0),i=[],a=[];r?((s&1)==1&&(i.push(ar),a.push(Dr)),(s&2)==2&&(i.push(yn),a.push(Ma)),(s&4)==4&&(i.push(Sn),a.push(va))):t.data.length>=5&&(i.push(ar),a.push(Dr));let o=1;i.forEach((c,l)=>{if(t.data.length>=o+4){let R=v(n,o);e[c]=t[c]=new Date((R|0)*1e3);let p=a[l];t[p]=R}o+=4})}async function lm({reader:t,fileEntry:e,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:a,dataOffset:o,dataDescriptor:c,extraFieldZip64:l,readRanges:R}){let p=0;if(c&&(l?p=20:p=12),p){let d=await re(t,o+i,p+4),u=L(d),g=d.length==p+4&&v(u,0)==134695760;if(g){let _=Jf(u,4,l);(e.encrypted&&!e.zipCrypto||_.crc32==s)&&_.compressedSize==i&&_.uncompressedSize==a?p+=4:g=!1}if(d.length>=p){let _=Jf(u,g?4:0,l);_.signature=g,e.localDirectory.dataDescriptor=_}}let f={start:n,end:o+i+p,fileEntry:e},{indexes:m,sortedRanges:h,pendingRanges:E}=R;if(!m.has(r)){let d=fm(h,f)||E.find(u=>io(f,u));if(d){let u=new Error(Ao);throw u.overlappingEntry=d.fileEntry,u}m.add(r),E.push(f),E.length*E.length>h.length&&(E.sort((u,g)=>u.start-g.start),R.sortedRanges=um(h,E),E.length=0)}}function fm(t,e){let r=0,n=t.length;for(;r<n;){let a=r+n>>>1;t[a].start<e.start?r=a+1:n=a}let s=t[r-1],i=t[r];if(s&&io(e,s))return s;if(i&&io(e,i))return i}function io(t,e){return t.start<e.end&&e.start<t.end}function um(t,e){let r=[],n=0,s=0;for(;n<t.length||s<e.length;)s==e.length||n<t.length&&t[n].start<e[s].start?r.push(t[n++]):r.push(e[s++]);return r}function Jf(t,e,r){let n=v(t,e),s,i;return r?(s=Ce(t,e+4),i=Ce(t,e+12)):(s=v(t,e+4),i=v(t,e+8)),{crc32:n,compressedSize:s,uncompressedSize:i}}function Cr(t,e){return t.getDiskOffset?t.getDiskOffset(e):0}async function dm(t){return await iu(t)==134695760}async function pm(t){let e=await iu(t);return e==134695760||e==808471376}async function iu(t){let e=await re(t,0,4);return v(L(e))}function au(t){return t===Nt||t===ds||t===it}function Em(t,e,r){return Math.min(t,r?e*tm:e)}function Go(t,e){return Qf(t,Qf(e,ds))}function Qf(t,e){let r=t[tl];if(r!==w){if(!au(r))throw new Error(No);return r}let n=t[vc];return n===w?e:n?Nt:e==it?it:ds}function mm(t,e){return t===w?e!=it:!!t}function hm(t,e){return t===w?e==Nt:!!t}function gm(t,e){if(t===w)return e;if(!au(t))throw new Error(Oo);return t}function Rm(t,e){if(e==it)return!1;let r=t.split("/");return r.length>1&&r[r.length-1]===""&&r.pop(),qE.test(t)||t.startsWith("/")||t.startsWith("\\")||KE.test(t)?!0:e==Nt&&(r.includes(".")||r.includes("")||t.includes("\0"))}function ou(t,e){if(t!==w){let r=Ot(t);if(typeof r!=Oc||Number.isNaN(r)||r<0)throw new Error(Do);return r}return e==Nt?0:e==it?1/0:65535}async function cu(t,e,r){let{size:n}=t,s=Math.min(n,65557),i={remaining:em},a,o,c=0;for await(let[l,R,p,f,m]of lu(t,s)){let h=V(l,f+20);if(m+22+h==n){let E=await fu(t,l,R,f,m,n,i);if(E==si){if(a||(a=ao(p,f,m)),c++,!e||c>1)break}else E==Wo&&!o&&(o=ao(p,f,m))}}return a||(a=o),a||(a=await wm(t,r,i)),{endOfDirectoryInfo:a,endOfDirectoryReachingEndCount:c}}async function wm(t,e,r){let{size:n}=t,s=Math.min(n,e==1/0?n:65557+e),i,a;for await(let[o,c,l,R,p]of lu(t,s)){let f=ao(l,R,p);i||(i=f);let m=await fu(t,o,c,R,p,n,r);if(m==si)return f;m==Wo&&!a&&(a=f)}return a||i}async function*lu(t,e){let r=t.size-e,n=await re(t,r,e),s=L(n);for(let i=n.length-22;i>=0;i--)v(s,i)==101010256&&(yield[s,r,n,i,r+i])}function ao(t,e,r){return{offset:r,buffer:new Uint8Array(t.subarray(e,e+22)).buffer}}async function fu(t,e,r,n,s,i,a){let o=V(e,n+10),c=v(e,n+12),l=v(e,n+16);if(o==65535||c==4294967295||l==4294967295)return await $f(t,e,r,s-20,i,a)==117853008?si:Vf;if(!o&&!c)return Wo;let R=V(e,n+6);for(let p of[s-c,Cr(t,R)+l])if(await $f(t,e,r,p,i,a)==33639248)return si;return Vf}async function $f(t,e,r,n,s,i){if(n<0||n+4>s)return w;if(n>=r)return v(e,n-r);if(i.remaining>0){i.remaining--;let a=await re(t,n,4);return v(L(a),0)}return w}function _m(t,e,r,n,s){let{rawFilename:i}=t,a=!s,o=t.decryptedDirectory&&(e.rawBitFlag&8192)==8192;n&&!o&&(r.length!=i.length||r.some((c,l)=>c!=i[l]))&&et(a,s,Bo),(e.rawBitFlag&Wf)!=(t.rawBitFlag&Wf)&&et(a,s,zo),e.compressionMethod!=t.compressionMethod&&et(a,s,Ho),!e.bitFlag.dataDescriptor&&!o&&(e.crc32||e.compressedSize||e.uncompressedSize)&&(e.crc32!=t.crc32||e.compressedSize!=t.compressedSize||e.uncompressedSize!=t.uncompressedSize)&&et(a,s,Yo)}function et(t,e,r){t?Js(r):Te(e,r)}function Js(t){let e=new Error(So);throw e.reason=t,e}function ie(t,e,r){return e[r]===w?t.options[r]:e[r]}function eu(t,e,r){return mr(ie(t,e,r))}function Tm(t){let e=(t&4294901760)>>16,r=t&65535,n=new Date(1980+((e&65024)>>9),((e&480)>>5)-1,e&31,(r&63488)>>11,(r&2016)>>5,(r&31)*2,0);return n<bt?bt:n}function no(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Mt(t,e){return t.getUint8(e)}function V(t,e){return t.getUint16(e,!0)}function v(t,e){return t.getUint32(e,!0)}function Ce(t,e){let r=t.getBigUint64(e,!0);if(r>$E)throw new Error(Po);return Number(r)}var Pr,go,Ro,wo,_o,To,Ei,$s,ei,Ao,yo,So,Io,bo,No,Oo,Do,Po,xo,Co,Lo,mi,Fo,ti,ri,ni,Uo,Mo,vo,xr,ko,Bo,zo,Ho,Yo,ZE,KE,qE,Hf,JE,Yf,Wf,tu,QE,Gf,$E,em,tm,Vf,Wo,si,vt,ii,so,hi=se(()=>{ue();We();$t();Gs();mn();Aa();Pt();Ia();Jt();qt();nn();qs();Rr();Pr="File format is not recognized",go="End of central directory not found",Ro="End of Zip64 central directory locator not found",wo="Central directory header not found",_o="Local file header not found",To="Zip64 extra field not found",Ei="File contains encrypted entry",$s="Encryption method not supported",ei="Split zip file",Ao="Overlapping entry found",yo="Entry data out of bounds",So="Ambiguous archive",Io="Encrypted central directory is not supported",bo="Unsafe filename",No="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Oo="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Do="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Po="64-bit value exceeds Number.MAX_SAFE_INTEGER",xo="unsorted central directory",Co="unknown version needed to extract",Lo="compressed patched data",mi="malformed extra field",Fo="unknown zip64 extensible data",ti="wrapped entries count",ri="appended data",ni="prepended data",Uo="prepended central directory",Mo="trailing central directory data",vo="duplicate filename",xr="mismatched zip64 end of central directory record",ko="multiple end of central directory records",Bo="mismatched local file header (filename)",zo="mismatched local file header (general purpose bit flag)",Ho="mismatched local file header (compression method)",Yo="mismatched local file header (crc32 or sizes)",ZE=63,KE=/^[a-zA-Z]:/,qE=/(^|[\\/])\.\.([\\/]|$)/,Hf="utf-8",JE="UTF8",Yf="cp437",Wf=2057,tu=1,QE=[[An,4294967295],[La,4294967295],[Fa,4294967295],[Ua,65535]],Gf={65535:{getValue:v,bytes:4},4294967295:{getValue:Ce,bytes:8}},$E=BigInt(Number.MAX_SAFE_INTEGER),em=64,tm=1032,Vf=0,Wo=1,si=2,vt=class{constructor(e,r={}){Object.assign(this,{reader:new pt(e),options:r,readRanges:{indexes:new Set,sortedRanges:[],pendingRanges:[]}})}async*getEntriesGenerator(e={}){let r=this,{reader:n}=r;if(await ge(n),(n.size===w||!n.readUint8Array)&&(n=new Qe(await lt(n.readable)),await ge(n)),n.size<22)throw new Error(Pr);let s=r.warnings=[],i=Go(e,r.options),a=i==Nt,o=i!=it,c=ou(ie(r,e,Vi),i),l=gm(ie(r,e,rl),i),R=ie(r,e,nl),{endOfDirectoryInfo:p,endOfDirectoryReachingEndCount:f}=await cu(n,o,c);if(!p)throw await dm(n)?new Error(ei):new Error(go);o&&f>1&&Js(ko);let m=L(p),h=v(m,12),E=v(m,16),d=p.offset,u=V(m,20),g=d+22+u,_=n.size-g;_>c&&Js(ri),_>0&&Te(s,ri);let A=V(m,4),T=n.lastDiskNumber||0,y=V(m,6),S=V(m,10),I=0,N,F,H,q,$=56,Z,W=E==4294967295||h==4294967295||S==65535||y==65535;if(E!=4294967295&&y!=65535&&(E+=Cr(n,y)),W){let J=p.offset>=20?await re(n,p.offset-20,20):j,b=L(J);if(J.length==20&&v(b,0)==117853008){E=Cr(n,v(b,4))+Ce(b,8);let Y=await re(n,E,56),Q=L(Y),Ee=p.offset-20-56;if((Y.length<56||v(Q,0)!=101075792)&&E!=Ee&&Ee>=0){let Pe=E;E=Ee,E>Pe&&(I=E-Pe),Y=await re(n,E,56),Q=L(Y)}if(Y.length<56||v(Q,0)!=101075792)throw new Error(Ro);if(H=!0,q=Ce(Q,4)>44,q){let Pe=Math.min(Ce(Q,4)-44,n.size-E-56);if(Pe>0){$+=Pe;let Ze=await re(n,E+56,Pe);Z=sm(Ze)}}A==65535?A=v(Q,16):A!=v(Q,16)&&et(a,s,xr),y==65535?y=v(Q,20):y!=v(Q,20)&&et(a,s,xr),S==65535?S=Ce(Q,32):S!=Ce(Q,32)&&et(a,s,xr),h==4294967295?h=Ce(Q,40):h!=Ce(Q,40)&&et(a,s,xr),E=Cr(n,y)+Ce(Q,48)+I}}let U=h,ne=p.offset-(H?$+20:0);if(E>=n.size&&(I=n.size-E-h-22,E=n.size-h-22),T!=A)throw new Error(ei);if(E<0)throw new Error(Pr);let B=0,X=await re(n,E,h),M=L(X);if(h){if(X.length<4)throw new Error(Pr);let J=ne-h;if(E!=J&&y==A){let b=v(M,B)==33639248||!!(Z&&Z.compressedSize)||to(M),Y=!b;if(!Y&&J>=0&&J+4<=n.size){let Q=await re(n,J,4);Y=v(L(Q),0)==33639248}if(Y){let Q=E;E=J,E>Q&&(I+=E-Q,N=b),X=await re(n,E,h),M=L(X)}}}let G=ne-E;if(h!=G&&G>=0&&y==A&&(h=G,X=await re(n,E,h),M=L(X)),E<0||E>=n.size)throw new Error(Pr);r.directoryOffset=E,r.directoryLength=U;let pe=eu(r,e,sl),me,nt;if(pe&&S&&X.length>=4&&v(M,0)!=33639248&&(q||to(M))){let J=nm(Z,U,X.length);nt=X.subarray(J),X=await pe(X.subarray(0,J),Z),M=L(X),U=X.length,me=!0}Z&&!me&&(X.length<4||v(M,0)==33639248)&&Te(s,Fo),F=E;let Ue=ie(r,e,Dc),Me=ie(r,e,Pc),je=new Set,be,Ne=-1,Oe=!a&&!H;!S&&Oe&&(S=Xf(M,X,B),S&&Te(s,ti));for(let J=0;J<S;J++){let b=new so(n,r.options);if(B+46>X.length||v(M,B)!=33639248)throw J==0&&!me&&(q||to(M))?new Error(Io):new Error(wo);nu(b,M,B+6);let Y=!!b.bitFlag.languageEncodingFlag,Q=B+46,Pe=Q+b.filenameLength+b.extraFieldLength,Ze=V(M,B+4),Wt=Ze>>8==0,Xr=Ze>>8==3,Gt=V(M,B+32),He=Pe+Gt,Tt=new Uint8Array(X.subarray(Q,He)),st=Tt.subarray(0,b.filenameLength),de=Tt.subarray(b.filenameLength+b.extraFieldLength),Ae=Y||!Ue&&Ta(st),Kn=Y||!Me&&Ta(de),At=v(M,B+38),yt=At&255,qn={readOnly:!!(yt&1),hidden:!!(yt&2),system:!!(yt&4),directory:!!(yt&16),archive:!!(yt&32)},Hi=v(M,B+42),jr=eu(r,e,xc)||pn,Vt=Ae?Hf:Ue||Yf,St=Kn?Hf:Me||Yf,he=jr(st,Vt,fs);if(he===w&&(he=pn(st,Vt)),R){let ke=R(he);ke!==w&&(he=ke)}if(Rm(he,l)){let ke=new Error(bo);throw ke.filename=he,ke}let Zr=jr(de,St,us);Zr===w&&(Zr=pn(de,St)),Object.assign(b,{index:J,decryptedDirectory:me,versionMadeBy:Ze,msDosCompatible:Wt,zip64:!1,compressedSize:0,uncompressedSize:0,commentLength:Gt,offset:Hi,diskNumberStart:V(M,B+34),internalFileAttributes:V(M,B+36),externalFileAttributes:At,msdosAttributesRaw:yt,msdosAttributes:qn,rawFilename:st,filenameUTF8:Ae,commentUTF8:Kn,rawExtraField:Tt.subarray(b.filenameLength,b.filenameLength+b.extraFieldLength),rawComment:de,filename:he,comment:Zr}),su(b,b,M,B+6)&&Te(s,mi,he),b.offset+=I;let Xt=Cr(n,b.diskNumberStart)+b.offset;F=Math.min(Xt,F),Xt<Ne&&Te(s,xo,he),Ne=Xt,(b.version&255)>ZE&&Te(s,Co,he),(b.rawBitFlag&32)==32&&Te(s,Lo,he),je.has(b.filename)&&(be=!0),je.add(b.filename);let It=b.externalFileAttributes>>16&65535;b.unixMode===w&&(It&16877)!=0&&(b.unixMode=It);let Jn=!!(b.unixMode&2048),Ke=!!(b.unixMode&1024),Qn=!!(b.unixMode&512),Ic=((b.unixMode===w?It:b.unixMode)&61440)==40960,pp=!Ic&&(b.unixMode!==w?(b.unixMode&73)!=0:Xr&&(It&73)!=0),Ep=b.unixMode!==w&&(b.unixMode&61440)==16384,mp=(It&61440)==16384;Object.assign(b,{setuid:Jn,setgid:Ke,sticky:Qn,symlink:Ic,unixExternalUpper:It,executable:pp,directory:Ep||mp||Wt&&qn.directory||b.filename.endsWith("/"),zipCrypto:b.encrypted&&!b.extraFieldAES});let Kr=new Et(b);if(Kr.getData=(ke,$n)=>b.getData(ke,Kr,r.readRanges,$n),Kr.arrayBuffer=async ke=>{let $n=new TransformStream,Nc=lt($n.readable).then(hp=>hp.arrayBuffer());return Nc.catch(()=>{}),await b.getData($n,Kr,r.readRanges,Object.assign({},ke,{preventClose:!1})),Nc},B=He,J==S-1&&Oe){let ke=Xf(M,X,B);ke&&(S+=ke,Te(s,ti))}let{onprogress:bc}=e;if(bc)try{await bc(J+1,S,new Et(b))}catch{}yield Kr}let oe=B,De=ro(X.subarray(B))||(me?ro(nt):w);if(!De&&!me){let J=E+B,b=Math.min(ne-J,65541);b>=6&&(De=ro(await re(n,J,b)))}De&&(r.digitalSignature=De,oe=B+6+De.length),(B!=U&&oe!=U||!me&&B!=h&&oe!=h)&&et(a,s,Mo),be&&et(a,s,vo);let ve=ie(r,e,Cc),fe=ie(r,e,Lc),te=(a||ve)&&S&&F==4&&await pm(n)?4:0;return a&&(I||S&&F>te)&&Js(ni),(I||S&&F>4)&&Te(s,ni),N&&Te(s,Uo),ve&&(r.prependedData=F>te?await re(n,te,F-te):j),r.comment=u?await re(n,d+22,u):j,fe&&(r.appendedData=g<n.size?await re(n,g,n.size-g):j),!0}async getEntries(e={}){let r=[];for await(let n of this.getEntriesGenerator(e))r.push(n);return r}async close(){let{reader:e}=this;!e.readUint8Array&&e.readable&&!e.readable.locked&&await e.readable.cancel()}[ts](){return this.close()}},ii=class{constructor(e={}){let r,{readable:n,writable:s}=new TransformStream({start(c){r=c}}),i=new vt(n,e),a=i.getEntriesGenerator(),o=new Set;this.readable=new ReadableStream({async pull(c){let{done:l,value:R}=await a.next();if(l)return c.close();let p=rm(R,o),f={...R,readable:p.readable};delete f.getData,Object.defineProperties(f,{localDirectory:{get:()=>R.localDirectory,enumerable:!0},warnings:{get:()=>R.warnings,enumerable:!0}}),c.enqueue(f)},async cancel(c){let l=Array.from(o);o.clear(),r.error(c),await Promise.allSettled(l.map(R=>R.cancel(c))),await Promise.allSettled([a.return(),i.close()])}}),this.writable=s}};so=class{constructor(e,r){Object.assign(this,{reader:e,options:r})}async getData(e,r,n,s={}){let i=this,a=at(),{reader:o,index:c,offset:l,diskNumberStart:R,extraFieldAES:p,extraFieldZip64:f,compressionMethod:m,bitFlag:h,rawBitFlag:E,crc32:d,rawLastModDate:u,uncompressedSize:g,compressedSize:_}=i,{dataDescriptor:A}=h,T=r.localDirectory={},y=r.warnings=[],S=Cr(o,R)+l,I=await re(o,S,30),N=L(I),F=ie(i,s,rs),H=ie(i,s,ns),q=hr(ie(i,s,Jr)),$=!!q,Z=q===!0;if(ps(F,H),F=F&&F.length?F:w,H=H&&H.length?H:w,p&&p.originalCompressionMethod!=99)throw new Error(ft);if(I.length<30||v(N,0)!=67324752)throw new Error(_o);nu(T,N,4);let{extraFieldLength:W,filenameLength:U}=T,ne=T.dataOffset=S+30+U+W,B=ie(i,s,kc),X=Go(s,i.options),M=mm(B,X),G=ie(i,s,Bc),pe=hm(G===w?B:G,X),me=j;if(pe&&(U||W)){let de=await re(o,S+30,U+W);me=de.subarray(0,U),T.rawExtraField=de.subarray(U)}else T.rawExtraField=W?await re(o,S+30+U,W):j;pe&&(T.rawFilename=me),su(i,T,N,4,!0)&&Te(y,mi),_m(i,T,me,pe,M?w:y);let{lastAccessDate:nt,creationDate:Ue,uid:Me,gid:je}=T;nt&&(r.lastAccessDate=nt),Ue&&(r.creationDate=Ue),Me!==w&&r.uid===w&&(r.uid=Me),je!==w&&r.gid===w&&(r.gid=je);let be=ie(i,s,Fc),Ne=i.encrypted&&T.encrypted&&(!Z||be),Oe=Ne&&!p;if(Z||(r.zipCrypto=Oe),Ne&&(T.rawBitFlag&64)==64)throw new Error($s);let oe=$?w:Ss(m);if(m!=0&&m!=8&&m!=9&&!oe&&!$)throw new Error(ft);if(Ne){if(!Oe&&(p.strength<1||p.strength>3))throw new Error($s);if(!F&&!H)throw new Error(Ei)}if(ne+_>o.size)throw new Error(yo);let De=_,ve=en(ie(i,s,ss));Kt(ve);let fe=ie(i,s,Mc),te=ie(i,s,Uc);te&&(fe=!0);let{onstart:J,onprogress:b,onend:Y}=s,Q=m!=0&&!$,Ee=$?_-bn(Ne,Oe,p&&p.strength):g,Pe=m==9,Ze=ie(i,s,as);Pe&&(Ze=!1);let Wt=ie(i,s,Hc),Xr=(Wt===w?ie(i,s,zc):Wt)&&!$&&(!Ne||Oe||p&&p.vendorVersion==tu),Gt={options:{codecType:Fs,password:F,rawPassword:H,zipCrypto:Oe,encryptionStrength:p&&p.strength,checkCrc32:Xr,checkAuthenticationCode:ie(i,s,Yc),passwordVerification:Oe&&(A?u>>>8&255:d>>>24&255),outputSize:Ee,crc32:d,compressed:Q,encrypted:Ne,useWebWorkers:ie(i,s,is),useCompressionStream:Ze,transferStreams:ie(i,s,os),deflate64:Pe,format:oe?oe.format:w,codecURI:oe?oe.codecURI:w,compressionMethod:m,rawBitFlag:E,checkPasswordOnly:be},config:a,streamOptions:{signal:ve,size:De,onstart:J,onprogress:b,onend:Y}};fe&&await lm({reader:o,fileEntry:r,index:c,offset:S,crc32:d,compressedSize:_,uncompressedSize:g,dataOffset:ne,dataDescriptor:A||T.bitFlag.dataDescriptor,extraFieldZip64:f||T.extraFieldZip64,readRanges:n});let He,Tt,st;try{if(!te){be&&(e=new WritableStream),e=new Nr(e),await ge(e,Em(Ee,_,Q)),{writable:He}=e;let de=ze(o.createReadable({offset:ne,size:De})),{outputSize:Ae}=await Ws({readable:de,writable:He},Gt);if(Kt(ve),Ae!=Ee)throw Object.assign(new Error(Je),{outputSize:Ae});e.size+=Ae}}catch(de){let{outputSize:Ae}=Gt;if(Ae!==w?e.size+=Ae:Re(de)&&de.outputSize!==w&&(e.size+=de.outputSize),!be||!Re(de)||de.message!=ct)throw Tt=de,st=!0,de}finally{if(!(!En(e)&&ie(i,s,cs))&&He&&!He.locked){let Ae=He.getWriter();if(st)try{await Ae.abort(Tt)}catch{}else await Ae.close()}}return be||te?w:e.getData?e.getData():He}}});We();var Es=new Uint8Array(288);Es.fill(8,0,144),Es.fill(9,144,256),Es.fill(7,256,280),Es.fill(8,280,288),new Uint8Array(30).fill(5);var ot="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Sl=t=>t({workerURI:e=>{let r="text/javascript",n=`!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const{Array:t,Object:n,Number:e,Math:o,Error:r,Uint8Array:c,Uint16Array:s,Uint32Array:a,Int32Array:i,Map:f,DataView:u,Promise:w,TextEncoder:l,crypto:d,postMessage:p,TransformStream:h,ReadableStream:y,WritableStream:m,CompressionStream:S,DecompressionStream:g}=self,v=void 0,b="undefined",k="function",z=new c,C=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let n=t;for(let t=0;t<8;t++)n=1&n?n>>>1^3988292384:n>>>1;C[0][t]=n}for(let t=0;t<256;t++)for(let n=1;n<8;n++){const e=C[n-1][t];C[n][t]=e>>>8^C[0][255&e]}const[I,M,A,E,R,x,P,D]=C;class F{constructor(t){this.o=t||-1}append(t){let n=0|this.o;const e=0|t.length;let o=0;if(e>=8&&t.buffer){const r=new u(t.buffer,t.byteOffset,e),c=e-8;for(;o<=c;o+=8){const t=n^r.getInt32(o,!0),e=r.getInt32(o+4,!0);n=D[255&t]^P[t>>>8&255]^x[t>>>16&255]^R[t>>>24&255]^E[255&e]^A[e>>>8&255]^M[e>>>16&255]^I[e>>>24&255]}}for(;o<e;o++)n=n>>>8^I[255&(n^t[o])];this.o=n}get(){return~this.o}}class U extends h{constructor(){let t;const n=new F;super({transform(t,e){n.append(t),e.enqueue(t)},flush(){const e=new c(4);new u(e.buffer).setUint32(0,n.get()),t.value=e}}),t=this}}function B(t,n){const e=new c(t.length+n.length);return e.set(t),e.set(n,t.length),e}function W(t){return new u(t.buffer,t.byteOffset,t.byteLength)}const O=64,V=20,K=new c([128]),T=new c(1),_=new i([1732584193,4023233417,2562383102,271733878,3285377520]),j=new c(256),H=new i(256),L=new i(256),Z=new i(256),N=new i(256);let q=!1;function G(t,n){!function(){if(!q){let t=1,n=1;do{t=255&(t^t<<1^(128&t?27:0)),n=255&(n^n<<1),n=255&(n^n<<2),n=255&(n^n<<4),128&n&&(n^=9),j[t]=255&(n^(n<<1|n>>7)^(n<<2|n>>6)^(n<<3|n>>5)^(n<<4|n>>4)^99)}while(1!=t);j[0]=99;for(let t=0;t<256;t++){const n=j[t],e=Y(n),o=e<<24|n<<16|n<<8|e^n;H[t]=o,L[t]=o>>>8|o<<24,Z[t]=o>>>16|o<<16,N[t]=o>>>24|o<<8}q=!0}}();const e=new i(60),o=function(t,n){const e=t.length>>2,o=e+6,r=4*(o+1);let c=1;for(let o=0;o<e;o++)n[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let t=e;t<r;t++){let o=n[t-1];t%e==0?(o=Q(o<<8|o>>>24)^c<<24,c=Y(c)):e>6&&t%e==4&&(o=Q(o)),n[t]=n[t-e]^o}return o}(t,e),r=new i(4),c=J(n);let s=0,a=0,f=0,w=0;return{process(t,n){n&&c.update(t,0,t.length),function(t){const n=new u(t.buffer,t.byteOffset,t.byteLength),e=t.length;let o=0;for(;o+16<=e;o+=16)l(),n.setInt32(o,n.getInt32(o)^r[0]),n.setInt32(o+4,n.getInt32(o+4)^r[1]),n.setInt32(o+8,n.getInt32(o+8)^r[2]),n.setInt32(o+12,n.getInt32(o+12)^r[3]);if(o<e){l();for(let n=0;o<e;o++,n++)t[o]^=r[n>>2]>>>24-8*(3&n)}}(t),n||c.update(t,0,t.length)},digest:()=>c.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(f=f+1|0,f||(w=w+1|0)));let t=X(s)^e[0],n=X(a)^e[1],c=X(f)^e[2],i=X(w)^e[3],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[4],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[5],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[6],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[7];t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[8],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[9],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[10],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[11],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[12],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[13],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[14],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[15],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[16],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[17],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[18],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[19],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[20],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[21],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[22],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[23],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[24],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[25],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[26],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[27],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[28],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[29],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[30],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[31],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[32],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[33],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[34],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[35],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[36],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[37],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[38],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[39];let h=40;o>10&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[40],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[41],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[42],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[43],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[44],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[45],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[46],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[47],h=48),o>12&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[48],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[49],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[50],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[51],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[52],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[53],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[54],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[55],h=56),r[0]=(j[u>>>24]<<24|j[l>>>16&255]<<16|j[d>>>8&255]<<8|j[255&p])^e[h],r[1]=(j[l>>>24]<<24|j[d>>>16&255]<<16|j[p>>>8&255]<<8|j[255&u])^e[h+1],r[2]=(j[d>>>24]<<24|j[p>>>16&255]<<16|j[u>>>8&255]<<8|j[255&l])^e[h+2],r[3]=(j[p>>>24]<<24|j[u>>>16&255]<<16|j[l>>>8&255]<<8|j[255&d])^e[h+3]}}function J(t){const n=function(){const t=new i(_),n=new i(16),e=new c(O),r=new u(e.buffer),s=new c(8);let a=0,f=0;return{update:w,digest:function(){const n=8*f,e=o.floor(n/4294967296),r=n>>>0;for(w(K,0,1);56!=a;)w(T,0,1);s[0]=e>>>24,s[1]=e>>>16,s[2]=e>>>8,s[3]=e,s[4]=r>>>24,s[5]=r>>>16,s[6]=r>>>8,s[7]=r,w(s,0,8);const i=new c(V),l=new u(i.buffer);for(let n=0;n<t.length;n++)l.setInt32(4*n,t[n]);return t.set(_),a=0,f=0,i}};function w(t,n,o){const c=n+o;if(f+=o,a){for(;n<c&&a<O;)e[a++]=t[n++];a==O&&(l(r,0),a=0)}if(n+O<=c){const e=new u(t.buffer,t.byteOffset,t.byteLength);for(;n+O<=c;n+=O)l(e,n)}for(;n<c;)e[a++]=t[n++]}function l(e,o){for(let t=0;t<16;t++)n[t]=e.getInt32(o+4*t);let r,c=t[0],s=t[1],a=t[2],i=t[3],f=t[4];for(let t=0;t<15;t+=5)f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[t]|0,s=s<<30|s>>>2,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+n[t+1]|0,c=c<<30|c>>>2,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+n[t+2]|0,f=f<<30|f>>>2,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+n[t+3]|0,i=i<<30|i>>>2,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+n[t+4]|0,a=a<<30|a>>>2;f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[15]|0,s=s<<30|s>>>2,r=n[13]^n[8]^n[2]^n[0],r=r<<1|r>>>31,n[0]=r,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+r|0,c=c<<30|c>>>2,r=n[14]^n[9]^n[3]^n[1],r=r<<1|r>>>31,n[1]=r,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+r|0,f=f<<30|f>>>2,r=n[15]^n[10]^n[4]^n[2],r=r<<1|r>>>31,n[2]=r,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+r|0,i=i<<30|i>>>2,r=n[0]^n[11]^n[5]^n[3],r=r<<1|r>>>31,n[3]=r,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+r|0,a=a<<30|a>>>2;for(let t=20;t<40;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+1859775393+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+1859775393+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+1859775393+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+1859775393+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+1859775393+r|0,a=a<<30|a>>>2;for(let t=40;t<60;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s&a|(s|a)&i)+f+2400959708+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c&s|(c|s)&a)+i+2400959708+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f&c|(f|c)&s)+a+2400959708+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i&f|(i|f)&c)+s+2400959708+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a&i|(a|i)&f)+c+2400959708+r|0,a=a<<30|a>>>2;for(let t=60;t<80;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+3395469782+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+3395469782+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+3395469782+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+3395469782+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+3395469782+r|0,a=a<<30|a>>>2;t[0]=t[0]+c|0,t[1]=t[1]+s|0,t[2]=t[2]+a|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0}}(),e=new c(O),r=new c(O);t.length>O&&(n.update(t,0,t.length),t=n.digest());for(let n=0;n<O;n++){const o=n<t.length?t[n]:0;e[n]=54^o,r[n]=92^o}return n.update(e,0,O),{update(t,e,o){n.update(t,e,o)},digest(){const t=n.digest();n.update(r,0,O),n.update(t,0,V);const o=n.digest();return n.update(e,0,O),o}}}function Q(t){return j[t>>>24]<<24|j[t>>>16&255]<<16|j[t>>>8&255]<<8|j[255&t]}function X(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Y(t){return 255&(t<<1^27*(t>>7))}const $=typeof d!=b&&typeof d.getRandomValues==k,tt="Invalid password",nt="zipjs-abort-check-password";function et(t){if($)return d.getRandomValues(t);throw new r("Crypto API not supported")}const ot={name:"PBKDF2"},rt=n.assign({hash:{name:"HMAC"}},ot),ct=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ot),st=["deriveBits"],at=[8,12,16],it=[16,24,32],ft=10,ut=typeof d!=b,wt=ut&&d.subtle;let lt=ut&&typeof wt!=b&&typeof wt.importKey==k&&typeof wt.deriveBits==k,dt=G;class pt extends h{constructor({password:t,rawPassword:n,encryptionStrength:e,checkPasswordOnly:o,checkAuthenticationCode:s=!0}){const a={};super({start(){yt(a,t,n,e)},async transform(t,n){const{password:e,strength:s,l:i,ready:f}=a;if(e?(await async function(t,n,e,o){const c=await vt(t,n,e,kt(o,0,at[n])),s=kt(o,at[n]);if(c[0]!=s[0]||c[1]!=s[1])throw gt(t),new r(tt)}(a,s,e,kt(t,0,at[s]+2)),t=kt(t,at[s]+2),o?(gt(a),n.error(new r(nt))):i()):await f,a.h)return;const u=new c(t.length-ft-(t.length-ft)%16);n.enqueue(St(a,t,u,0,ft,!0))},async flush(t){const{m:n,S:e,ready:o}=a;if(n){if(await o,a.h)return;const i=kt(e,e.length-ft),f=new c(kt(e,0,e.length-ft));n.process(f,!0);const u=n.digest();let w=e.length<ft?1:0;for(let t=0;t<ft;t++)w|=u[t]^i[t];if(w&&s)return void t.error(new r("Invalid authentication code"));t.enqueue(f)}}}),mt(this,a)}}class ht extends h{constructor({password:t,rawPassword:n,encryptionStrength:e}){const o={};super({start(){yt(o,t,n,e)},async transform(t,n){const{password:e,strength:r,l:s,ready:a}=o;let i=z;if(e?(i=await async function(t,n,e){const o=et(new c(at[n]));return B(o,await vt(t,n,e,o))}(o,r,e),s()):await a,o.h)return;const f=new c(i.length+t.length-t.length%16);f.set(i,0),n.enqueue(St(o,t,f,i.length,0,!1))},async flush(t){const{m:n,S:e,ready:r}=o;if(n){if(await r,o.h)return;const s=new c(e);n.process(s,!1);const a=kt(n.digest(),0,ft);t.enqueue(B(s,a))}}}),mt(this,o)}}function yt(t,e,o,r){n.assign(t,{ready:new w(n=>t.l=n),password:bt(e,o),strength:r-1,S:z,h:!1})}function mt(t,e){const o=t.readable.getReader(),r=new y({async pull(t){try{const{value:n,done:e}=await o.read();e?t.close():t.enqueue(n)}catch(t){throw gt(e),o.cancel(t).catch(()=>{}),t}},cancel:t=>(gt(e),o.cancel(t))});n.defineProperty(t,"readable",{get:()=>r})}function St(t,n,e,o,r,s){const{m:a,S:i}=t;i.length&&(n=B(i,n));const f=n.length-r,u=f-f%16;if(e=function(t,n){if(n&&n>t.length){const e=t;(t=new c(n)).set(e,0)}return t}(e,o+u),u){const t=kt(e,o,o+u);t.set(kt(n,0,u)),a.process(t,s)}return t.S=kt(n,u),e}function gt(t){const{m:n}=t;t.h=!0,n&&n.dispose&&n.dispose()}async function vt(t,e,r,s){t.password=null;const a=it[e],i=await async function(t,e,r){if(lt)try{const o=await wt.importKey("raw",t,rt,!1,st);return new c(await wt.deriveBits(n.assign({salt:e},ct),o,8*r))}catch{lt=!1}return function(t,n,e,r){const s=J(t),a=new c(r),i=new c(n.length+4),f=new u(i.buffer);i.set(n);for(let t=1,e=0;e<r;t++,e+=V){f.setUint32(n.length,t),s.update(i,0,i.length);let c=s.digest();const u=c.slice();for(let t=1;t<1e3;t++){s.update(c,0,V),c=s.digest();for(let t=0;t<V;t++)u[t]^=c[t]}a.set(u.subarray(0,o.min(V,r-e)),e)}return a}(t,e,0,r)}(r,s,2*a+2);return t.m=dt(kt(i,0,a),kt(i,a,2*a)),t.h&&gt(t),kt(i,2*a)}function bt(t,n){return n===v?function(t){if(typeof l==b){t=unescape(encodeURIComponent(t));const n=new c(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return n}return(new l).encode(t)}(t):n}function kt(t,n,e){return t.subarray(n,e)}class zt extends h{constructor({password:t,rawPassword:n,passwordVerification:e,checkPasswordOnly:o}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;if(e.password||e.rawPassword){const n=Mt(e,t.subarray(0,12));if(e.password=e.rawPassword=null,0!=(n[11]^e.passwordVerification))throw new r(tt);t=t.subarray(12)}o?n.error(new r(nt)):n.enqueue(Mt(e,t))}})}}class Ct extends h{constructor({password:t,rawPassword:n,passwordVerification:e}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;let o,r;if(e.password||e.rawPassword){e.password=e.rawPassword=null;const n=et(new c(12));n[11]=e.passwordVerification,o=new c(t.length+n.length),o.set(At(e,n),0),r=12}else o=new c(t.length),r=0;o.set(At(e,t),r),n.enqueue(o)}})}}function It(t,e,o,r){n.assign(t,{password:e,rawPassword:o,passwordVerification:r}),function(t,e,o){const r=[305419896,591751049,878082192];if(n.assign(t,{v:r,C:new F(r[0]),I:new F(r[2])}),o)for(let n=0;n<o.length;n++)Et(t,o[n]);else for(let n=0;n<e.length;n++)Et(t,e.charCodeAt(n))}(t,e,o)}function Mt(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,e[o]);return e}function At(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,n[o]);return e}function Et(t,n){let[,e]=t.v;t.C.append([n]);const r=~t.C.get();e=Pt(o.imul(Pt(e+xt(r)),134775813)+1),t.I.append([e>>>24]);const c=~t.I.get();t.v=[r,e,c]}function Rt(t){const n=2|t.v[2];return xt(o.imul(n,1^n)>>>8)}function xt(t){return 255&t}function Pt(t){return 4294967295&t}function Dt(t){if(t instanceof y)return t;const n=t.getReader();return new y({async pull(t){try{const{value:e,done:o}=await n.read();o?t.close():t.enqueue(e)}catch(t){throw n.cancel(t).catch(()=>{}),t}},cancel:t=>n.cancel(t)})}function Ft(t){return Boolean(t)&&"object"==typeof t}const Ut=new f;function Bt(t){return Ut.get(t)}const Wt="Invalid uncompressed size",Ot="Codec out of memory",Vt="Invalid CRC32",Kt="deflate-raw",Tt="gzip",_t=[31,139,8];class jt extends h{constructor(t,{chunkSize:n,CompressionStreamFallback:e,CompressionStream:o}){super({});const{compressed:r,encrypted:c,useCompressionStream:s,zipCrypto:a,computeCrc32:i,level:f,deflate64:w,format:l,compressionMethod:d,inputSize:p}=t,h=this;let y,m,S,g=super.readable;const v=l&&Bt(l),b=Gt(s,o,e),k=i&&r&&!w&&!v&&(!c||a)&&Boolean(b);if(c&&!a||!i||k||(y=new U,g=Qt(g,y)),r)if(v)g=Xt(g,qt(v.CompressionStream,l,{level:f,chunkSize:n,compressionMethod:d,uncompressedSize:p}));else if(k)S=new Ht,g=Xt(g,new b(Tt,{level:f,chunkSize:n})),g=Qt(g,S);else try{g=Jt(g,s,{level:f,chunkSize:n},o,e)}catch(t){if(!s&&e)throw en(t);let n;try{n=new o(Tt)}catch{throw en(t)}g=Xt(g,n),g=Qt(g,new Ht)}c&&(a?g=Qt(g,new Ct(t)):(m=new ht(t),g=Qt(g,m))),Nt(h,g,()=>{c&&!a||!i||(h.crc32=k?S.crc32:new u(y.value.buffer).getUint32(0))})}}class Ht extends h{constructor(){let t,n=10,e=new c(0);super({transform(t,r){if(n){const e=o.min(n,t.length);if(n-=e,!(t=t.subarray(e)).length)return}const c=e.length+t.length;if(c<=8)return void(e=B(e,t));const s=c-8,a=o.min(s,e.length);r.enqueue(B(e.subarray(0,a),t.subarray(0,s-a))),e=B(e.subarray(a),t.subarray(s-a))},flush(){const n=W(e);t.crc32=n.getUint32(0,!0),t.uncompressedSize=n.getUint32(4,!0)}}),t=this}}class Lt extends h{constructor(t,{chunkSize:n,DecompressionStreamFallback:e,DecompressionStream:o}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:f,compressed:l,useCompressionStream:d,deflate64:p,format:h,compressionMethod:m,rawBitFlag:S,outputSize:g}=t;let b,k,z,C=super.readable;if(a&&(s?C=Qt(C,new zt(t)):(k=new pt(t),C=Qt(C,k))),l){const t=new Set,s=h&&Bt(h);let a;if(s)C=Xt(C,qt(s.DecompressionStream,h,{chunkSize:n,compressionMethod:m,rawBitFlag:S,uncompressedSize:g}),t);else{const r=Gt(d,o,e);if(i&&!p&&f!==v&&g!==v&&r)try{a=new r(Tt,{chunkSize:n})}catch{a=v}if(!a)try{C=Jt(C,d,{chunkSize:n,deflate64:p},o,e,t)}catch(t){if(p||g===v||!d&&e)throw en(t);try{a=new o(Tt)}catch{throw en(t)}}}a?(z=!0,C=function(t,n,e,o,s){const a=n.writable.getWriter(),i=n.readable.getReader(),f=o===v?new F:v;let u,l,d=0,p=!1,h=!1;const m=new y({start(t){l=t},pull(){b()},cancel:t=>(h=!0,b(),i.cancel(t))});return async function(){const n=t.getReader();try{const t=new c(10);for(t.set(_t),await a.write(t);;){await g(),await a.ready;const{value:t,done:e}=await tn(n,s);if(e)break;await a.write(t)}f&&await a.write(new c(0));const r=new c(8),i=W(r);i.setUint32(0,f?f.get():o,!0),i.setUint32(4,e,!0),p=!0,await a.write(r),await a.close()}catch(t){await Yt(a,t),await $t(n,t)}}(),async function(){try{for(;;){const{value:t,done:n}=await S();if(n)break;if(d+=t.length,d>e)throw new r(Wt);f&&f.append(t),l.enqueue(t)}h||(h=!0,l.close())}catch(t){!function(t){h||(h=!0,l.error(t),b())}(t),await $t(i,t)}}(),m;function S(){return i.read().catch(t=>{if(p){if(!f)throw rn(t,Vt);if(d!=e)throw rn(t,Wt);return{done:!0}}throw nn(t,s)})}function g(){if(!h&&l.desiredSize<=0)return new w(t=>u=t)}function b(){if(u){const t=u;u=v,t()}}}(C,a,g,f,t)):C=function(t,n){const e=t.getReader();return new y({async pull(t){try{const{value:n,done:o}=await e.read();o?t.close():t.enqueue(n)}catch(t){throw await $t(e,t),nn(t,n)}},cancel:t=>e.cancel(t)})}(C,t)}i&&!z&&(b=new U,C=Qt(C,b)),Nt(this,C,()=>{if(b){const t=new u(b.value.buffer).getUint32(0,!1);if(f!=t)throw new r(Vt)}})}}const Zt=new f;function Nt(t,e,o){e=Qt(e,new h({flush:o})),n.defineProperty(t,"readable",{get:()=>e})}function qt(t,n,e){if(!t)throw new r("Compression method not supported");return new t(n,e)}function Gt(t,n,e){return t&&n?n:e&&e.requiresModule?e:void 0}function Jt(t,n,e,o,r,c){const s=n&&o?o:r||o,a=e.deflate64?"deflate64-raw":Kt;let i;try{i=new s(a,e)}catch(t){if(!n||!r||s==r)throw t;i=new r(a,e)}return Xt(t,i,c)}function Qt(t,n){return Dt(t).pipeThrough(n)}function Xt(t,n,e){const o=n.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await o.ready;const t=await tn(r,e);if(t.done){await o.close();break}await o.write(t.value)}}catch(t){await Yt(o,t),await $t(r,t)}}(),n.readable}async function Yt(t,n){try{await t.abort(n)}catch{}}async function $t(t,n){try{await t.cancel(n)}catch{}}function tn(t,n){const e=t.read();return n?e.catch(t=>{throw n.add(t),t}):e}function nn(t,n){return n.has(t)?t:rn(t,on(t)?Ot:"Invalid compressed data")}function en(t){return on(t)?rn(t,Ot):t}function on(t){return Ft(t)&&"Z_MEM_ERROR"==t.code}function rn(t,n){const e=new r(n);return e.cause=t,e}const cn="data",sn="deflate";class an extends h{constructor(t,e){super({});const o=this,{codecType:c}=t;let s;c.startsWith(sn)?s=jt:c.startsWith("inflate")&&(s=Lt),o.outputSize=0;let a=0;const i=new s(t,e),f=super.readable,u=new h({transform(t,n){t&&t.length&&(a+=t.length,n.enqueue(t))},flush(){n.assign(o,{inputSize:a})}}),w=new h({transform(n,e){if(n&&n.length&&(e.enqueue(n),o.outputSize+=n.length,t.outputSize!==v&&o.outputSize>t.outputSize))throw new r(Wt)},flush(){const{crc32:t}=i;n.assign(o,{crc32:t,inputSize:a})}});n.defineProperty(o,"readable",{get:()=>f.pipeThrough(u).pipeThrough(i).pipeThrough(w)})}}class fn extends h{constructor(t){const o=[];let r=0,s=0;function a(){const n=new c(t);let e=0;for(;e<t;){const r=o[0],c=t-e;r.length<=c?(n.set(r,e),e+=r.length,o.shift()):(n.set(r.subarray(0,c),e),o[0]=r.subarray(c),e+=c)}return r-=t,n}(!e.isFinite(t)||t<1)&&(t=65536),super({transform(n,e){for(o.push(n),r+=n.length;r>t;)s+=t,e.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(function(t,n){const e=new c(n);let o=0;for(const n of t)e.set(n,o),o+=n.length;return e}(o,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let un=2;try{typeof navigator!=b&&navigator.hardwareConcurrency&&(un=navigator.hardwareConcurrency)}catch{}const wn=new f,ln=new f,dn=function(){try{return structuredClone(new r)instanceof r}catch{return!1}}();let pn=0;async function hn(t){let n,c,s;try{const{options:a,config:i}=t;if(a.format)try{await async function(t,n){!Ut.has(t)&&n&&function(t,n){const{CompressionStream:e,DecompressionStream:o}=n;if(typeof e!=k&&typeof o!=k)throw new r("Invalid codec module");Ut.set(t,{CompressionStream:e,DecompressionStream:o})}(t,await(import(n)))}(a.format,a.codecURI)}catch(t){if(Ft(t))try{t.codecImportFailed=!0}catch{}throw t}if(i.CompressionStream=self.CompressionStream,i.DecompressionStream=self.DecompressionStream,a.compressed&&!a.format)if(a.useCompressionStream){if(!function(t,n){if(!t)return!1;let e=Zt.get(t);e||(e=new f,Zt.set(t,e));let o=e.get(n);if(o===v){try{new t(n),o=!0}catch{o=!1}e.set(n,o)}return o}(a.codecType.startsWith(sn)?i.CompressionStream:i.DecompressionStream,Kt))try{await self.initModule(t.config)}catch{}}else try{await self.initModule(t.config)}catch{a.useCompressionStream=!0}if(a.encrypted&&!a.zipCrypto)try{await self.initModule(t.config)}catch{}!i.CompressionStreamFallback&&i.CompressionStreamZlib&&(i.CompressionStreamFallback=i.CompressionStreamZlib),!i.DecompressionStreamFallback&&i.DecompressionStreamZlib&&(i.DecompressionStreamFallback=i.DecompressionStreamZlib);const u={highWaterMark:1},l=t.readable?Dt(t.readable):new y({async pull(t){const n=new w(t=>wn.set(pn,t));yn({type:"pull",messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER;const{value:o,done:r}=await n;t.enqueue(o),r&&t.close()}},u);s=t.writable?function(t){if(t instanceof m)return t;const n=t.getWriter();return new m({write:t=>n.write(t),close:()=>n.close(),abort:t=>n.abort(t)})}(t.writable):new m({async write(t){let n;const o=new w(t=>n=t);ln.set(pn,n),yn({type:cn,value:t,messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER,await o}},u),n=new an(a,i),c=new fn(function(t){return r="string"==typeof(n=r=t.chunkSize)&&n.trim()?e(n):n,e.isInteger(r)&&r>=1?o.max(r,64):65536;var n,r}(i)),await l.pipeThrough(n).pipeThrough(c).pipeTo(s,{preventClose:!0,preventAbort:!0}),await s.getWriter().close();const{crc32:d,inputSize:p,outputSize:h}=n;yn({type:"close",result:{crc32:d,inputSize:p,outputSize:h}})}catch(t){const n=c?c.outputSize:0;if(Ft(t))try{t.outputSize=n}catch{}if(s&&!s.locked)try{await s.getWriter().close()}catch{}mn(t,n)}}function yn(t){const{value:n}=t;if(n)if(n.length)try{t.value=(e=n,e.byteOffset||e.byteLength!=e.buffer.byteLength?new c(e):e).buffer,p(t,[t.value])}catch{p(t)}else p(t);else p(t);var e}function mn(t,n){const{message:e,stack:o,code:c,name:s,outputSize:a,cause:i,codecImportFailed:f}=function(t=new r("Unknown error")){return Ft(t)?t:new r(String(t))}(t),u={message:e,stack:o,code:c,name:s,outputSize:a===v?n:a};if(Ft(i)&&(u.cause={name:i.name,message:i.message}),f&&(u.codecImportFailed=!0),dn)try{return void p({error:u,errorValue:{value:t}})}catch{}p({error:u})}addEventListener("message",({data:t})=>{const{type:n,messageId:e,value:o,done:r}=t;try{if("start"==n&&hn(t),n==cn){const t=wn.get(e);wn.delete(e),t({value:o||new c,done:r})}if("ack"==n){const t=ln.get(e);ln.delete(e),t()}}catch(t){mn(t)}}),p({type:"ready"});const Sn="deflate",gn="deflate-raw",vn="deflate64-raw",bn="gzip",kn=[Sn,gn,bn],zn=[Sn,gn,bn,vn];let Cn,In,Mn,An,En;function Rn(t,n){return-4===n&&(t.code="Z_MEM_ERROR"),t}function xn(t,n,e={}){if(!(t?kn:zn).includes(n))throw new TypeError("Unsupported format: "+n);if(!Cn){const t=new r("WASM module not loaded");throw t.cause=En,t}const s="number"==typeof e.level?e.level:-1,a="number"==typeof e.outBuffer?e.outBuffer:65536,i="number"==typeof e.inBufferSize?e.inBufferSize:65536,f={M:0,in:0,inBufferSize:0,A:0,R:!1};let u,l,d,p,h=!0,S=!1;return function(){try{let e;if(f.M=In(a),f.in=In(i),f.inBufferSize=i,!f.M||!f.in)throw Rn(new r("allocation failed"),-4);if(t?(f.P=Cn.deflate_process,f.D=Cn.deflate_last_consumed,f.F=Cn.deflate_end,f.A=Cn.deflate_new(),e=n===bn?Cn.deflate_init_gzip(f.A,s):n===gn?Cn.deflate_init_raw(f.A,s):Cn.deflate_init(f.A,s)):n===vn?(f.P=Cn.inflate9_process,f.D=Cn.inflate9_last_consumed,f.F=Cn.inflate9_end,f.A=Cn.inflate9_new(),e=Cn.inflate9_init_raw(f.A)):(f.P=Cn.inflate_process,f.D=Cn.inflate_last_consumed,f.F=Cn.inflate_end,f.A=Cn.inflate_new(),e=n===gn?Cn.inflate_init_raw(f.A):n===bn?Cn.inflate_init_gzip(f.A):Cn.inflate_init(f.A)),0!==e)throw Rn(new r("init failed:"+e),e)}catch(t){throw b(f),t}}(),{readable:new y({start(t){u=t},pull(){h=!1,v()},cancel(t){S=!0,p=t,b(f),l.error(t),v()}},{highWaterMark:0}),writable:new m({start(t){l=t},async write(t){if(h&&await new w(t=>d=t),S)throw p;try{!function(t){const n=new c(An.buffer),e=f.P,s=f.D,i=f.M;let u=0;for(;u<t.length;){if(f.R)throw new r("trailing data after the end of the stream");const c=o.min(t.length-u,32768);if((!f.in||f.inBufferSize<c)&&(f.in&&Mn&&(Mn(f.in),f.in=0),f.in=In(c),f.inBufferSize=c,!f.in))throw Rn(new r("allocation failed"),-4);n.set(t.subarray(u,u+c),f.in);const w=e(f.A,f.in,c,i,a,0),l=w>>24&255,d=128&l?l-256:l;if(d<0)throw Rn(new r("process error:"+d),d);const p=16777215&w;p&&g(n.slice(i,i+p));const h=s(f.A);if(1===l)f.R=!0;else if(0===h&&0===p)break;u+=h}}(t)}catch(t){throw b(f),u.error(t),t}},close(){if(S)return;try{!function(){const t=new c(An.buffer),n=f.P,e=f.M;for(;;){const o=n(f.A,0,0,e,a,4),c=o>>24&255,s=128&c?c-256:c;if(s<0)throw Rn(new r("process error:"+s),s);const i=16777215&o;if(i&&g(t.slice(e,e+i)),1===c||0===i)break}}()}catch(t){throw b(f),u.error(t),t}const t=b(f);if(0!==t){const n=Rn(new r("end error:"+t),t);throw u.error(n),n}u.close()},abort(t){b(f),u.error(t)}},{highWaterMark:1})};function g(t){h=!0,u.enqueue(t)}function v(){if(d){const t=d;d=null,t()}}function b(t){let n=0;return t.A&&t.F&&(n=t.F(t.A)),t.A=0,t.in&&Mn&&Mn(t.in),t.in=0,t.M&&Mn&&Mn(t.M),t.M=0,n}}class Pn{constructor(t=Sn,n){return xn(!0,t,n)}}class Dn{constructor(t=Sn,n){return xn(!1,t,n)}}Pn.requiresModule=!0,Dn.requiresModule=!0,Pn.supportedFormats=kn,Dn.supportedFormats=zn;const Fn=65536;let Un,Bn;function Wn(t){return new c(t.memory.buffer)}let On=!1;!function(t={}){const{init:n,U:e}=t,o=t.CompressionStreamFallback||t.CompressionStreamZlib,r=t.DecompressionStreamFallback||t.DecompressionStreamZlib;e&&(dt=e||G),self.initModule=async t=>{n&&await n(t),o&&(t.CompressionStreamFallback=o),r&&(t.DecompressionStreamFallback=r)}}({CompressionStreamFallback:Pn,DecompressionStreamFallback:Dn,U:function(t,n){const e=Un;let o=e?function(t,n,e){Bn||(Bn=t.malloc(Fn));const o=Bn?t.aes_hmac_new():0;if(o){const r=Wn(t);if(r.set(n,Bn),r.set(e,Bn+n.length),t.aes_hmac_init(o,Bn,n.length,Bn+n.length,e.length))return t.aes_hmac_end(o,0),0}return o}(e,t,n):0;if(!o)return G(t,n);const r=Bn;return{process(t,n){for(let c=0;c<t.length;c+=Fn){const s=t.subarray(c,c+Fn),a=Wn(e);a.set(s,r),e.aes_hmac_process(o,r,s.length,n?1:0),s.set(a.subarray(r,r+s.length))}},digest:()=>(e.aes_hmac_end(o,r),o=0,Wn(e).slice(r,r+20)),dispose(){o&&(e.aes_hmac_end(o,0),o=0)}}},init:t=>async function(t,{baseURI:n}){if(!On)try{await async function(t,n){let e,o;try{try{o=new URL(t,n)}catch{}const r=await fetch(o);e=await r.arrayBuffer()}catch(n){if(!t.startsWith("data:application/wasm;base64,"))throw n;e=function(t){const n=t.split(",")[1],e=atob(n),o=e.length,r=new c(o);for(let t=0;t<o;++t)r[t]=e.charCodeAt(t);return r.buffer}(t)}const s=await WebAssembly.instantiate(e);var a;(function(t){if(Cn=t,({malloc:In,free:Mn,memory:An}=Cn),"function"!=typeof In||"function"!=typeof Mn||!An)throw Cn=In=Mn=An=null,new r("Invalid WASM module")})(s.instance.exports),typeof(a=s.instance.exports).aes_hmac_new==k&&(Un=a,Bn=0)}(t,n),On=!0}catch(t){throw function(t){En=t}(t),t}}(t.wasmURI,t)})});
2
+ `;if(typeof n=="string"&&(n=new TextEncoder().encode(n)),e){let s=new Blob([n],{type:r});return URL.createObjectURL(s)}return"data:"+r+";base64,"+(function(s){let i="",a=s.length,o=0;for(;o+2<a;o+=3){let l=s[o]<<16|s[o+1]<<8|s[o+2];i+=ot[l>>18&63]+ot[l>>12&63]+ot[l>>6&63]+ot[63&l]}let c=a-o;if(c===1){let l=s[o]<<16;i+=ot[l>>18&63]+ot[l>>12&63]+"=="}else if(c===2){let l=s[o]<<16|s[o+1]<<8;i+=ot[l>>18&63]+ot[l>>12&63]+ot[l>>6&63]+"="}return i})(n)}});We();ue();Pt();qt();Us();Ir();var _f={type:"module"},ha="error",oE="messageerror",Tf="abort",Af,ma,yf,ga=!0;try{ga=typeof structuredClone==K&&structuredClone(new DOMException("","AbortError")).code!==w}catch{}gf(cE);function cE(t,e){let{baseURI:r,chunkSize:n,workerStartupTimeout:s}=e,{wasmURI:i}=e;if(!t.interface){typeof i==K&&(i=i());let a;try{a=zs(t.workerURI,r,t)}catch{return pa(t),Ea(t,e)}Object.assign(t,{worker:a,workerAlive:!1,terminated:!1,startupError:null,interface:{run:async()=>{try{return await lE(t,{chunkSize:n,wasmURI:i,baseURI:r,workerStartupTimeout:s})}catch(o){if(o&&o.workerStartupFailed)return pa(t),Sf(t),Bs(t,e);if(o&&o.codecImportFailed){if(t.reader)return Sf(t),Bs(t,e);t.onTaskFinished()}throw o}}}})}return t.interface}async function lE(t,e){if(!t.worker){let{startupError:m}=t;t.startupError=null;let h=m||new Error(rr);throw h.workerStartupFailed=!0,h}let r,n,s=new Promise((m,h)=>{r=m,n=E=>{let{outputSize:d,workerOptions:u}=t;if(u.outputSize=d,Re(E))try{E.outputSize=d}catch{}h(E)}});Object.assign(t,{reader:null,writer:null,outputSize:0,destinationFailed:!1,destinationError:null,resolveResult:r,rejectResult:n,result:s});let{readable:i,options:a}=t,{writable:o,closed:c,abortPipe:l}=fE(t.writable,t),R;try{R=Ra({type:uf,options:a,config:e,readable:i,writable:o},t)}catch(m){l();try{await c}catch{}throw t.onTaskFinished(),m}R||Object.assign(t,{reader:i.getReader(),writer:o.getWriter()});let{workerStartupTimeout:p}=e;!t.workerAlive&&Number.isFinite(p)&&p>=0&&(t.startupTimeout=setTimeout(()=>uE(t),p));try{let m=await s;return await f(),await c,m}catch(m){await f(),l();try{await c}catch{}let{outputSize:h,workerOptions:E,destinationFailed:d,destinationError:u}=t;E.outputSize=h;let g=Re(m)&&(m.codecImportFailed||m.workerStartupFailed),_=d&&!g?u:m;if(Re(_))try{_.outputSize=h}catch{}throw _}async function f(){if(!R&&!o.locked)try{await o.getWriter().close()}catch{}}}function fE(t,e){let r=new AbortController,n,{writable:s,readable:i}=new TransformStream({transform(c,l){e.outputSize+=c.length,l.enqueue(c)}}),a=i.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:r.signal});a.catch(c=>{n||Object.assign(e,{destinationFailed:!0,destinationError:c})});let{signal:o}=e.workerOptions.streamOptions;if(o){let c=()=>r.abort(o.reason),l=()=>o.removeEventListener(Tf,c);o.addEventListener(Tf,c),a.then(l,l)}return{writable:s,closed:a,abortPipe:()=>{n=!0,r.abort()}}}function Sf(t){let{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function wa(t){let{worker:e}=t;if(e)try{e.terminate()}catch{}t.interface=null}function zs(t,e,r,n,s=!0){let{createWorker:i}=r,a,o,c;if(i)a=i();else if(ma===w||Af!==t){let l=typeof t==K;l?o=t(s):o=t;let R=o.startsWith("data:"),p=o.startsWith("blob:");if(R||p){n===w&&(n=!1),n&&(c=_f);try{a=new Worker(o,c)}catch(f){if(p)try{URL.revokeObjectURL(o)}catch{}if(l&&p)return zs(t,e,r,n,!1);if(n)throw f;return zs(t,e,r,!0,!1)}}else{n===w&&(n=!0),n&&(c=_f);try{o=new URL(o,e)}catch{}try{a=new Worker(o,c)}catch(f){if(n)return zs(t,e,r,!1,s);throw f}}Af=t,ma=o,yf=c}else a=new Worker(ma,yf);return a.addEventListener(ff,l=>{r.workerAlive=!0,bf(r),dE(l,r)}),a.addEventListener(ha,l=>If(l,r)),a.addEventListener(oE,l=>If(l,r)),a}function uE(t){if(t.startupTimeout=null,t.workerAlive)return;let{rejectResult:e,writer:r}=t;if(wa(t),t.worker=null,e){let n=new Error(rr);n.workerStartupFailed=!0,e(n),r&&r.releaseLock()}}function bf(t){let{startupTimeout:e}=t;e&&(clearTimeout(e),t.startupTimeout=null)}function If(t,e){t.preventDefault&&t.preventDefault(),bf(e);let{workerAlive:r,rejectResult:n,writer:s,onTaskFinished:i}=e;wa(e),r||(e.worker=null);let a=t.error||new Error(t.message||ha);r||(a=Object.assign(new Error(a.message||ha),{workerStartupFailed:!0}),e.startupError=a),n&&(n(a),s&&s.releaseLock(),r&&i())}function Ra(t,{worker:e,writer:r,transferStreams:n,workerAlive:s}){try{let{value:i,readable:a,writable:o}=t,c=[];if(i&&(t.value=ms(i),c.push(t.value.buffer)),n&&ga&&s?(a&&c.push(a),o&&c.push(o)):t.readable=t.writable=null,c.length)try{return e.postMessage(t,c),!0}catch{ga=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(i){throw r&&r.releaseLock(),i}}async function dE({data:t},e){let{type:r,value:n,messageId:s,result:i,error:a,errorValue:o}=t,{reader:c,writer:l,resolveResult:R,rejectResult:p,onTaskFinished:f,generation:m}=e,h=()=>e.generation!=m;try{if(a)E(pE(a,o));else{if(r==df){let{value:g,done:_}=await c.read();h()||Ra({type:fa,value:g,done:_,messageId:s},e)}if(r==fa){let g=new Uint8Array(n);await l.ready,await l.write(g),h()||Ra({type:pf,messageId:s},e)}r==Ef&&d(i)}}catch(g){h()||(wa(e),E(g))}function E(g){h()||(p(g),u(),Re(g)&&g.codecImportFailed||f())}function d(g){h()||(R(g),u(),f())}function u(){l&&l.releaseLock()}}function pE(t,e){let{message:r,stack:n,code:s,name:i,outputSize:a,cause:o,codecImportFailed:c}=t,l;if(e?l=e.value:l=Object.assign(new Error(r),{stack:n,code:s,name:i}),Re(l))try{a!==w&&(l.outputSize=a),c&&(l.codecImportFailed=!0),o&&!Re(l.cause)&&(l.cause=Object.assign(new Error(o.message),{name:o.name})),e&&(l.name!==i&&(l.name=i),l.code!==s&&(l.code=s))}catch{}return l}hi();ue();We();$t();Ir();Gs();mn();Qi();Pt();Ia();Jt();qt();qs();Rr();var ec="File already exists",tc="Zip file comment exceeds 64KB",bu="Invalid zip file comment (must be a Uint8Array)",Nu="File entry comment exceeds 64KB",Ou="Invalid file entry comment (must be a string)",Du="Invalid date (must be a valid Date instance)",Pu="File entry name exceeds 64KB",rc="Version exceeds 65535",xu="The strength must equal 1, 2, or 3",Cu="Encryption is not supported in USDZ files",Lu="Split zip files are not supported in USDZ files",Fu="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Uu="Invalid extra field (must be a Map)",Mu="Invalid extra field type (must be integer 0..65535)",vu="Invalid extra field data (must be a Uint8Array)",Si="Extra field data exceeds 64KB",ku=-2147483648,Bu=2147483647,mu=BigInt(0),hu=BigInt("0x7fffffffffffffff"),Ii="Zip64 is not supported (set the 'zip64' option to 'true')",zu="Undefined uncompressed size",Hu="Undefined compression method",Yu="Undefined CRC32";var Wu="Undefined reader",Gu="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",Vu="Zip file not empty",Xu="Invalid uid (must be integer 0..2^32-1)",ju="Invalid gid (must be integer 0..2^32-1)",Zu="Invalid UNIX mode (must be integer 0..65535)",Ku="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",qu="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Ju="Invalid msdosAttributesRaw (must be integer 0..255)",Qu="Invalid msdosAttributes (must be an object with boolean flags)",$u="Invalid level (must be integer 0..9)",ed="Signature data exceeds 64KB",td="Invalid entry option (must be an entry returned by ZipReader#getEntries())",rd="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",nd="compression unavailable",sd="clamped last modification date",gu=new Uint8Array([7,0,2,0,65,69,3,0,0]),Cm=4,Lm=9,Fm=67,Um=32,Mm=126,vm=1,_i="infozip",Ti="unix",km=[8,9,5,3],Bm=9,Vo=0,Ru=[],Ai=class{constructor(e,r={}){e=new Nr(e);let{availableSize:n=jt,maxSize:s=jt}=e,i=n>0&&n!==jt&&s>0&&s!==jt;if(i&&r[Zt])throw new Error(Lu);Object.assign(this,{writer:e,addSplitZipSignature:i,options:r,fileEntries:new Map,filenames:new Set,offset:r[Qr]===w?e.size||e.writable.size||0:r[Qr],initialOffset:r[Qr]===w?0:r[Qr]-(e.size||e.writable.size||0),pendingAddFileCalls:new Set,pendingErrors:[],warnings:[],bufferedWrites:0,directWrites:0,lastFileEntry:w,archiveClosed:!1})}prependZip(e){return Xo(this,zm(this,e))}appendZip(e){return Xo(this,this.appendZipEntries(e))}async appendZipEntries(e){let r=this,{pendingAddFileCalls:n,filenames:s,fileEntries:i}=r;for(;n.size;)await Promise.allSettled(Array.from(n));let a,o=new Promise(R=>a=R);n.add(o);let c=[],l;try{e=new pt(e),await ge(e),(e.size===w||!e.readUint8Array)&&(e=new Qe(await lt(e.readable)),await ge(e));let{ZipReader:R}=await Promise.resolve().then(()=>(hi(),uu)),p=new R(e),f=await p.getEntries();await p.close(),await ge(r.writer);let{directoryOffset:m}=p;f.forEach(({filename:d})=>{if(s.has(d))throw new Error(ec);s.add(d),c.push(d)}),r.writerLocked=!0;let{lockWriter:h}=r;r.lockWriter=new Promise(d=>l=()=>{r.writerLocked=!1,d()}),await h,r.addSplitZipSignature&&(delete r.addSplitZipSignature,await ah(e)||(await rt(r.writer,od()),r.offset+=4));let E=await oh(r,e,f,m);f.forEach(d=>{let{version:u,rawLastModDate:g,rawFilename:_,bitFlag:A,encrypted:T,uncompressedSize:y,compressedSize:S,extraFieldZip64:I}=d,{compressionMethod:N,rawExtraField:F}=d,{level:H,languageEncodingFlag:q,dataDescriptor:$}=A;F=ad(F||j),d.extraFieldAES&&(N=99);let Z=z(F),W=!!I&&I.uncompressedSize!==w,U=!!I&&I.compressedSize!==w,ne=fd(H,q,$,T,N)&-7|H<<1,{headerArray:B,headerView:X}=ld({version:u,bitFlag:ne,compressionMethod:N,uncompressedSize:y,compressedSize:S,rawLastModDate:g,rawFilename:_,zip64CompressedSize:U,zip64UncompressedSize:W,extraFieldLength:Z}),{crc32:M}=d;M!==w&&_e(X,10,M);let{offset:G,diskNumberStart:pe}=E.get(d);Object.assign(d,{zip64Enabled:!0,zip64UncompressedSize:W,zip64CompressedSize:U,offset:G,diskNumberStart:pe,zip64DiskNumberStart:!1,rawExtraFieldZip64:j,rawExtraFieldAES:j,rawExtraFieldExtendedTimestamp:j,rawExtraFieldNTFS:j,rawExtraFieldUnix:j,rawExtraField:F,rawCentralExtraField:j,headerArray:B,headerView:X}),i.set(d.filename,d)})}catch(R){throw c.forEach(p=>s.delete(p)),R}finally{a(),n.delete(o),l&&l()}}add(e="",r,n={}){let s=this,{pendingAddFileCalls:i}=s,a=Hm(s,e,r,n);i.add(a);let o=()=>i.delete(a);return Promise.prototype.then.call(a,o,o),Xo(s,a)}remove(e){let{filenames:r,fileEntries:n}=this;if(typeof e==Ye&&(e=n.get(e)),e&&e.filename!==w){let{filename:s}=e;if(r.has(s)&&n.has(s))return r.delete(s),n.delete(s),!0}return!1}async close(e=j,r={}){let n=this,{pendingAddFileCalls:s,writer:i}=this,{writable:a}=i;if(n.archiveClosed)return wu(i);if(!(e instanceof Uint8Array))throw new Error(bu);if(z(e)>65535)throw new Error(tc);for(;s.size;)await Promise.allSettled(Array.from(s));await Promise.allSettled(n.pendingErrors.map(l=>l.recorded));let o=n.pendingErrors.filter(l=>l.failed&&!l.observed);if(o.length){let l=o.map(p=>p.error);o.forEach(p=>p.observed=!0);let[R]=l;try{R.entryErrors=l}catch{}throw R}return await th(n,e,r),n.archiveClosed=!0,!En(i)&&k(n,r,cs)||await a.getWriter().close(),wu(i)}[ts](){return this.close()}};var Jo=class extends Promise{then(e,r){let{watcher:n}=this;return n&&(n.observed=!0),super.then(e,r)}};function wu(t){return t.getData?t.getData():t.writable}function Xo(t,e){let r=new Jo((s,i)=>Promise.prototype.then.call(e,s,i)),n={};return r.watcher=n,n.recorded=Promise.prototype.then.call(r,w,s=>Object.assign(n,{failed:!0,error:s})),t.pendingErrors.push(n),r}async function zm(t,e){if(t.filenames.size)throw new Error(Vu);await t.appendZipEntries(e)}async function Hm(t,e,r,n){n=Object.assign({},n);let s=n[Xi];if(s!==w){let{entryOptions:i,passThroughOptions:a}=id(s,hr(k(t,n,Jr)),k(t,n,ar));delete n[Xi],n=Object.assign(i,a,n)}if(k(t,n,or)&&!e.endsWith("/")&&(e+="/"),t.filenames.has(e))throw new Error(ec);t.filenames.add(e),Vo<at().maxWorkers?Vo++:await new Promise(i=>Ru.push(i));try{return await Ym(t,e,r,n)}catch(i){throw t.filenames.delete(e),i}finally{let i=Ru.shift();i?i():Vo--}}async function Ym(t,e,r,n){let s=Gm(t,e,n);({name:e}=s);let i=Vm(t,e,n),{comment:a}=i,o=n[In];t.fileEntries.set(e,w);let c=t.lastFileEntry,l={},R;i.resolvedOptions.keepOrder&&(l.lockFileEntry=new Promise(f=>R=f)),t.lastFileEntry=l;let p;try{let{resolvedOptions:f}=i;f.level!=0&&f.compressionMethod===w&&!f.passThroughCompression&&!await Rf(at())&&(f.level=0,Te(t.warnings,nd,e));let m=await Xm(t,r,i,n);({reader:r}=m);let h=Ln(t.writer),E=gt(t.writer),d=n.crc32===w?n[Ks]:n.crc32,u=m.resolvedOptions.encrypted&&!f.zipCrypto;if(f.passThroughCompression&&!f.passThroughEncryption&&u&&(d=w),f.passThroughCompression&&r&&!u&&d===w)throw new Error(Yu);n=Object.assign({},n,s.resolvedOptions,i.resolvedOptions,m.resolvedOptions,{signature:n[Ks],crc32:d,offset:t.offset-h,diskNumberStart:E,[Zt]:t.options[Zt]});let g=qm(n);g.lastModDateClamped&&Te(t.warnings,sd,e);let _=Qm(n),A=z(g.localHeaderArray,_.dataDescriptorArray);p=await Zm(t,e,r,{headerInfo:g,dataDescriptorInfo:_,metadataSize:A,fileEntry:l,previousFileEntry:c,releaseLockFileEntry:R},n)}catch(f){throw t.fileEntries.delete(e),f}finally{R&&R(c&&c.lockFileEntry)}return Object.assign(p,{name:e,comment:a,extraField:o}),new Et(p)}function id(t,e,r){if(t===null||typeof t!=es||Array.isArray(t))throw new Error(td);let{externalFileAttributes:n,versionMadeBy:s,comment:i,lastModDate:a,rawLastModDate:o,creationDate:c,lastAccessDate:l,uncompressedSize:R,encrypted:p,zipCrypto:f,crc32:m,compressionMethod:h,extraFieldAES:E,extraFieldUnix:d,internalFileAttributes:u,extraField:g,bitFlag:_,directory:A,uid:T,gid:y}=t,S={externalFileAttributes:n,versionMadeBy:s,comment:i,lastModDate:a,creationDate:c,lastAccessDate:l,internalFileAttributes:u,directory:A};_&&_.languageEncodingFlag&&(S[Wi]=!0);let I=vf(g);I&&(S[In]=I),(T!==w||y!==w)&&Object.assign(S,{uid:T,gid:y,unixExtraFieldType:d?Ti:_i});let N={};if(e&&!A){if(Object.assign(N,{uncompressedSize:R,crc32:m,compressionMethod:h}),e!==$r&&Object.assign(N,{encrypted:p,zipCrypto:f,encryptionStrength:E?E.strength:w}),_&&(N.dataDescriptor=_.dataDescriptor,N[ls]=km[_.level]),r===w)N.rawLastModDate=o;else if(e!==$r&&f&&(!_||_.dataDescriptor)&&r instanceof Date&&Wm(r)!=(o>>>8&255))throw new Error(rd)}return{entryOptions:S,passThroughOptions:N}}function Wm(t){let e=new Date(Math.ceil(Math.floor(t.getTime()/1e3)/2)*2e3);return e<bt?e=bt:e>qr&&(e=qr),(e.getHours()<<3|e.getMinutes()>>3)&255}function Gm(t,e,r){let n=k(t,r,Ya),s=k(t,r,Va,n?20:768),i=k(t,r,ja),a=kr(t,r,Ka),o=kr(t,r,qa),c=kr(t,r,Ja),l=k(t,r,Qc),R=k(t,r,Qa),p=k(t,r,$a),f=k(t,r,eo);if(gr(a,4294967295,Xu),gr(o,4294967295,ju),gr(c,65535,Zu),l!==w&&l!==_i&&l!==Ti)throw new Error(Ku);if(l===Ti&&(a!==w&&a>65535||o!==w&&o>65535))throw new Error(qu);l===w&&(a!==w||o!==w)&&(l=_i);let m=kr(t,r,za),h=k(t,r,Ha),E=a!==w||o!==w||c!==w||l||i,d=m!==w||h!==w;if(E?(n=!1,s=s&255|768):d&&(n=!0,s=s&255),gr(m,255,Ju),h&&(typeof h!==es||Array.isArray(h)))throw new Error(Qu);if(s>65535)throw new Error(rc);let u=k(t,r,Ba),g=u!==w;g||(u=0),!r[or]&&e.endsWith("/")&&(r[or]=!0);let _=k(t,r,or);if(_?(e.endsWith("/")||(e+="/"),g||(u=16,n||(u|=16877<<16))):!n&&!g&&(i?u=493<<16:u=420<<16),!n){let y=c!==w||!!(R||p||f),S=u>>16&65535;c=c===w?S:c&65535,R?c|=2048:R=!!(c&2048),p?c|=1024:p=!!(c&1024),f?c|=512:f=!!(c&512),(!g||y)&&(_?c=c&-61441|16384:c&61440||(c|=32768),u=(c&65535)<<16|u&65535)}({msdosAttributesRaw:m,msdosAttributes:h}=Jm(m,h)),d&&(u=u&4294967295|m&255);let A=u>>16&65535,T=c!==w&&(c&61440)==40960;return{name:e,resolvedOptions:{versionMadeBy:s,msDosCompatible:!!n,externalFileAttributes:u,unixExternalUpper:A,uid:a,gid:o,unixMode:c,unixExtraFieldType:l,symlink:T,setuid:R,setgid:p,sticky:f,msdosAttributesRaw:m,msdosAttributes:h}}}function Vm(t,e,r){let n=Qo(t,r,Jc)||wr,s=n(e,fs);if(s===w&&(s=wr(e)),z(s)>65535)throw new Error(Pu);let i=r[Tn]||"";if(typeof i!=Ye)throw new Error(Ou);let a=n(i,us);if(a===w&&(a=wr(i)),z(a)>65535)throw new Error(Nu);let o=k(t,r,Ga);if(o!==w&&o>65535)throw new Error(rc);let c=qo(t,r,ar,new Date),l=k(t,r,Dr),R=qo(t,r,yn),p=qo(t,r,Sn),f=k(t,r,ka,0),m=hr(k(t,r,Jr)),h=!!m,E=m===!0,d=k(t,r,rs),u=k(t,r,ns);ps(d,u),d=d&&d.length?d:w,u=u&&u.length?u:w;let g=kr(t,r,Wc,3),_=k(t,r,Xa),A=k(t,r,Gc,!0),T=k(t,r,Vc),y=k(t,r,Xc,!0),S=k(t,r,is),I=k(t,r,os),N=k(t,r,jc),F=Qo(t,r,Zc),H=k(t,r,Kc,!0),q=en(k(t,r,ss));Kt(q);let $=k(t,r,Wi,!Iu(s)||!Iu(a)),Z=k(t,r,Za),W=h||Z===w?w:Ss(Z);if(!h&&Z!==w&&Z!==0&&Z!==8&&!W)throw new Error(ft);let U=kr(t,r,ls);if(gr(U,Bm,$u),t.options[Zt]){if(d!==w||u!==w)throw new Error(Cu);U===w&&Z===w&&(U=0)}h&&(U=Ot(r[ls]));let ne=k(t,r,as),B=k(t,r,Gi);N&&B===w&&(B=!1),(B===w||_&&!E)&&(B=!0),U!==w&&U!=6&&(ne=!1);let X=k(t,r,Zs);if(!_&&(d!==w||u!==w)&&!(Number.isInteger(g)&&g>=1&&g<=3))throw new Error(xu);let M=jo(r[In]),G=jo(r[$c]),pe=jo(r[el]);return{comment:i,resolvedOptions:{rawFilename:s,rawComment:a,version:o,lastModDate:c,rawLastModDate:l,lastAccessDate:R,creationDate:p,internalFileAttributes:f,passThroughCompression:h,passThroughEncryption:E,password:d,rawPassword:u,encryptionStrength:g,zipCrypto:_,extendedTimestamp:A,ntfsTimestamp:T,keepOrder:y,useWebWorkers:S,transferStreams:I,bufferedWrite:N,createTempStream:F,dataDescriptorSignature:H,signal:q,useUnicodeFileNames:$,compressionMethod:Z,format:W?W.format:w,codecURI:W?W.codecURI:w,codecVersionNeeded:W?W.versionNeeded:w,level:U,useCompressionStream:ne,dataDescriptor:B,zip64:X,rawExtraField:M,rawLocalExtraField:G,rawCentralExtraField:pe}}}function jo(t){if(!t)return j;if(!(t instanceof Map))throw new Error(Uu);let e=0,r=0;t.forEach((i,a)=>{if(Zi(a,65535,Mu),!(i instanceof Uint8Array))throw new Error(vu);if(z(i)>65535)throw new Error(Si);e+=4+z(i)});let n=new Uint8Array(e),s=L(n);return t.forEach((i,a)=>{tt(s,r,a),tt(s,r+2,z(i)),Mn(n,i,r+4),r+=4+z(i)}),n}async function Xm(t,e,{resolvedOptions:r},n){if(r.passThroughCompression&&!e&&!k(t,n,or))throw new Error(Wu);let s;if(e){if(e=new pt(e),await ge(e),!e.readable&&!e.readUint8Array)throw new Error(Gu);({size:s}=e)}return Object.assign({reader:e},jm(t,!!e,s,r,n))}function jm(t,e,r,n,s){let{passThroughCompression:i,passThroughEncryption:a,zipCrypto:o,password:c,rawPassword:l,encryptionStrength:R}=n,{dataDescriptor:p,zip64:f,level:m,compressionMethod:h}=n,E=0,d=0,u=!1;if(i&&e){if(d=s[An],d===w)throw new Error(zu);if(h===w)throw new Error(Hu)}let g=f===!0,_=k(t,s,Wa);if(e&&a&&!_&&z(c,l))throw new Error(Fu);let A=e&&(!!(c&&z(c)||l&&z(l))||a&&_);e||(m=0,h=0);let T=bn(A,o,R);e&&(i?(s.uncompressedSize=d,E=r===w?Su(d)+T:r+(a?0:T)):r===w?(p=!0,(f||f===w)&&(f=u=!0,E=4294967296)):(s.uncompressedSize=d=r,E=($o(h,m)?Su(d):d)+T));let y=!A&&(!e||r===0&&!i)&&!$o(h,m);y&&k(t,s,Gi)===w&&(p=!1);let S=g||u||d>=4294967295,I=g||E>=4294967295;if(S||I){if(f===!1)throw new Error(Ii);f=!0}return f=f||!1,{maximumCompressedSize:E,resolvedOptions:{dataDescriptor:p,emptyEntry:y,zip64:f,zip64Enabled:g,unknownSize:u,zip64UncompressedSize:S,zip64CompressedSize:I,uncompressedSize:d,level:m,compressionMethod:h,encrypted:A}}}async function Zm(t,e,r,n,s){let{fileEntries:i,writer:a}=t,{keepOrder:o,dataDescriptor:c,emptyEntry:l,signal:R}=s,{headerInfo:p,fileEntry:f,previousFileEntry:m,releaseLockFileEntry:h}=n,E=t.options[Zt],d=f,u,g,_,A,T,y,S=0,I,N=o&&m?m.lockFileEntry:w;i.set(e,d);try{s.bufferedWrite||!o||t.writerLocked||t.bufferedWrites||t.directWrites||!c&&!l?(u=!0,t.bufferedWrites++,s.createTempStream?I=await s.createTempStream():I=new TransformStream(w,w,{highWaterMark:jt}),I.size=0,await ge(a)):(g=!0,t.directWrites++,I=a,await N,await F()),await ge(I);let q=Ln(a);t.addSplitZipSignature&&!u&&await Au(t,a),E&&!u&&_u(n,t.offset-q);let{localHeaderArray:$}=p;u||await H();let Z=gt(a),W=Fn(t,a);if(d.diskNumberStart=Z,u||(T=!0,y=a.size,await rt(I,$)),d=await Km(r,I,d,n,at(),s),u||(T=!1),i.set(e,d),d.filename=e,u){if(await Promise.all([I.writable.getWriter().close(),N]),await F(),t.addSplitZipSignature&&await Au(t,a),A=!0,y=a.size,await H(),d.diskNumberStart=gt(a),d.offset=Fn(t,a),E){let U=n.metadataSize;_u(n,t.offset-Ln(a)),d.size+=n.metadataSize-U}eh(d,p.localHeaderView,s),await rt(a,p.localHeaderArray),await cd(I.readable,a,R,U=>S+=U),a.size+=I.size,A=!1}else d.diskNumberStart=Z,d.offset=W;return t.offset+=d.size,d}catch(q){if(A||T){if(t.hasCorruptedEntries=!0,q)try{q.corruptedEntry=!0}catch{}t.offset+=a.size-y,u&&(t.offset+=S)}throw i.delete(e),q}finally{if(u&&t.bufferedWrites--,g&&t.directWrites--,h&&h(N),_&&_(),u&&I&&I.dispose)try{await I.dispose()}catch{}}async function F(){t.writerLocked=!0;let{lockWriter:q}=t;t.lockWriter=new Promise($=>_=()=>{t.writerLocked=!1,$()}),await q}async function H(){Br(a,z(p.localHeaderArray))&&await a.closeDisk()}}async function Km(t,e,{diskNumberStart:r,lockFileEntry:n},s,i,a){let{headerInfo:o,dataDescriptorInfo:c,metadataSize:l}=s,{headerArray:R,headerView:p,lastModDate:f,rawLastModDate:m,encrypted:h,compressed:E,version:d,compressionMethod:u,rawExtraFieldZip64:g,localExtraFieldZip64Length:_,rawExtraFieldExtendedTimestamp:A,extraFieldExtendedTimestampFlag:T,extraFieldExtendedTimestampTime:y,rawExtraFieldNTFS:S,rawExtraFieldUnix:I,rawExtraFieldAES:N}=o,{dataDescriptorArray:F}=c,{rawFilename:H,lastAccessDate:q,creationDate:$,password:Z,rawPassword:W,level:U,useUnicodeFileNames:ne,zip64:B,zip64Enabled:X,zip64UncompressedSize:M,zip64CompressedSize:G,zipCrypto:pe,dataDescriptor:me,directory:nt,executable:Ue,versionMadeBy:Me,rawComment:je,rawExtraField:be,rawCentralExtraField:Ne,useWebWorkers:Oe,transferStreams:oe,onstart:De,onprogress:ve,onend:fe,signal:te,encryptionStrength:J,extendedTimestamp:b,msDosCompatible:Y,internalFileAttributes:Q,externalFileAttributes:Ee,uid:Pe,gid:Ze,unixMode:Wt,symlink:Xr,setuid:Gt,setgid:He,sticky:Tt,unixExternalUpper:st,msdosAttributesRaw:de,msdosAttributes:Ae,useCompressionStream:Kn,passThroughCompression:At,passThroughEncryption:yt,format:qn,codecURI:Hi}=a,jr={lockFileEntry:n,versionMadeBy:Me,zip64:B,zip64Enabled:X,directory:!!nt,executable:!!Ue,filenameUTF8:!!ne,rawFilename:H,commentUTF8:!!ne,rawComment:je,rawExtraFieldZip64:g,localExtraFieldZip64Length:_,rawExtraFieldExtendedTimestamp:A,rawExtraFieldNTFS:S,rawExtraFieldUnix:I,rawExtraFieldAES:N,rawExtraField:be,rawCentralExtraField:Ne,extendedTimestamp:b,msDosCompatible:Y,internalFileAttributes:Q,externalFileAttributes:Ee,diskNumberStart:r,uid:Pe,gid:Ze,unixMode:Wt,symlink:!!Xr,setuid:Gt,setgid:He,sticky:Tt,unixExternalUpper:st,msdosAttributesRaw:de,msdosAttributes:Ae},{crc32:Vt,uncompressedSize:St}=a,he=0;At||(St=0);let{writable:Zr}=e;if(t){let Xt=t.size,It=ze(Sa(t,{size:Xt})),Jn={options:{codecType:Sr,inputSize:Xt,level:U,rawPassword:W,password:Z,encryptionStrength:J,zipCrypto:h&&pe,passwordVerification:h&&pe&&m>>8&255,computeCrc32:!At,compressed:E&&!At,encrypted:h&&!yt,useWebWorkers:Oe,useCompressionStream:Kn,transferStreams:oe,format:qn,codecURI:Hi,compressionMethod:u},config:i,streamOptions:{signal:te,size:Xt,onstart:De,onprogress:ve,onend:fe}};try{let Ke=await Ws({readable:It,writable:Zr},Jn);if(he=Ke.outputSize,e.size+=he,Kt(te),At||(St=Ke.inputSize,(!h||pe)&&(Vt=Ke.crc32)),!G&&he>=4294967295||!M&&St>=4294967295)throw new Error(Ii)}catch(Ke){let{outputSize:Qn}=Jn;throw Qn!==w?e.size+=Qn:Re(Ke)&&Ke.outputSize!==w&&(e.size+=Ke.outputSize),Ke}}return $m({crc32:Vt,compressedSize:he,uncompressedSize:St,headerInfo:o,dataDescriptorInfo:c},a),me&&await rt(e,F),Object.assign(jr,{uncompressedSize:St,compressedSize:he,lastModDate:f,rawLastModDate:m,creationDate:$,lastAccessDate:q,encrypted:!!h,zipCrypto:!!pe,size:l+he,compressionMethod:u,version:d,headerArray:R,headerView:p,signature:Vt,crc32:h&&!pe&&!At?w:Vt,extraFieldExtendedTimestampFlag:T,extraFieldExtendedTimestampTime:y,zip64UncompressedSize:M,zip64CompressedSize:G}),jr}function qm(t){let{rawFilename:e,lastModDate:r,rawLastModDate:n,lastAccessDate:s,creationDate:i,level:a,zip64:o,zipCrypto:c,useUnicodeFileNames:l,dataDescriptor:R,directory:p,rawExtraField:f,rawLocalExtraField:m,encryptionStrength:h,extendedTimestamp:E,ntfsTimestamp:d,passThroughCompression:u,encrypted:g,zip64UncompressedSize:_,zip64CompressedSize:A,uncompressedSize:T,unknownSize:y,crc32:S}=t,{version:I,compressionMethod:N}=t,F=!p&&$o(N,a),H,q=u||!F,$=o&&(t.bufferedWrite||!R||!_&&!A||q&&!y),Z=$||o&&R&&(_||A);if(o&&(_||A)){let te=Le(20);if(te.writeUint16(1),te.writeUint16(16),H=te.array,$&&(te.writeUint64(T),q)){let J=bn(g,c,h);te.writeUint64(u?0:T+J)}}else H=j;let W;if(g&&!c){let fe=Le(z(gu)+2);fe.writeUint16(39169),fe.writeBytes(gu),W=fe.array,W[8]=h}else W=j;let U,ne,B,X;if(E){let fe=Ri(r),te=lh(fe);if(te){let b=9+(s?4:0)+(i?4:0),Y=Le(b);B=1+(s?2:0)+(i?4:0),X=fe,Y.writeUint16(21589),Y.writeUint16(b-4),Y.writeUint8(B),Y.writeUint32(fe),s&&Y.writeUint32(yu(Ri(s))),i&&Y.writeUint32(yu(Ri(i))),ne=Y.array}else ne=j;if(d===w?!te||!!(s||i):d)try{let b=Ko(r),Y=Le(36);Y.writeUint16(10),Y.writeUint16(32),Y.skip(4),Y.writeUint16(1),Y.writeUint16(24),Y.writeUint64(b),Y.writeUint64(s?Ko(s):b),Y.writeUint64(i?Ko(i):b),U=Y.array}catch{U=j}else U=j}else U=ne=j;let M;try{let{uid:fe,gid:te,unixExtraFieldType:J}=t;if(J==_i&&(fe!==w||te!==w)){let b=Tu(fe===w?0:fe),Y=Tu(te===w?0:te),Q=3+b.length+Y.length,Ee=Le(4+Q);Ee.writeUint16(30837),Ee.writeUint16(Q),Ee.writeUint8(1),Ee.writeUint8(b.length),Ee.writeBytes(b),Ee.writeUint8(Y.length),Ee.writeBytes(Y),M=Ee.array}else if(J==Ti&&(fe!==w||te!==w)){let b=Le(8);b.writeUint16(30805),b.writeUint16(4),b.writeUint16((fe===w?0:fe)&65535),b.writeUint16((te===w?0:te)&65535),M=b.array}else M=j}catch{M=j}N===w&&(N=F?8:0),I===w&&(I=N==0&&!p&&!g?10:20);let{codecVersionNeeded:G}=t;F&&G!==w&&(I=I>G?I:G),o&&(I=I>45?I:45),g&&!c&&(I=I>51?I:51,u&&S!==w&&(W[Cm]=vm),tt(L(W),Lm,N),N=99);let pe=Z?z(H):0,me=pe+z(W,ne,U,M,f,m),nt=t[Zt]?Fm:0;if(me+nt>65535)throw new Error(Si);let Ue=new Date(Math.ceil(Math.floor(r.getTime()/1e3)/2)*2e3),Me=Ue<bt?bt:Ue>qr?qr:Ue,je=z(ne)?new Date(Ri(r)*1e3):z(U)?r:Me,{headerArray:be,headerView:Ne,rawLastModDate:Oe}=ld({version:I,bitFlag:fd(a,l,R,g,N),compressionMethod:N,uncompressedSize:T,lastModDate:Me,rawLastModDate:n,rawFilename:e,zip64CompressedSize:A,zip64UncompressedSize:_,extraFieldLength:me}),oe=Le(30+z(e)+me),De=oe.array,ve=L(De);return oe.writeUint32(67324752),oe.writeBytes(be),oe.writeBytes(e),Z&&oe.writeBytes(H),oe.writeBytes(W),oe.writeBytes(ne),oe.writeBytes(U),oe.writeBytes(M),oe.writeBytes(f),oe.writeBytes(m),R&&(A||_e(ve,18,0),_||_e(ve,22,0)),{localHeaderArray:De,localHeaderView:ve,headerArray:be,headerView:Ne,lastModDate:je,lastModDateClamped:je===Me&&Ue.getTime()!=Me.getTime(),rawLastModDate:Oe,encrypted:g,compressed:F,version:I,compressionMethod:N,extraFieldExtendedTimestampFlag:B,extraFieldExtendedTimestampTime:X,rawExtraFieldZip64:j,localExtraFieldZip64Length:pe,rawExtraFieldExtendedTimestamp:ne,rawExtraFieldNTFS:U,rawExtraFieldUnix:M,rawExtraFieldAES:W,extraFieldLength:me}}function _u(t,e){let{headerInfo:r}=t,{localHeaderArray:n,extraFieldLength:s}=r,i=64-(e+z(n))%64;i<4&&(i+=64);let a=new Uint8Array(i),o=L(a);tt(o,0,6534),tt(o,2,i-4);let c=n;r.localHeaderArray=n=new Uint8Array(z(c)+i),Mn(n,c),Mn(n,a,z(c));let l=L(n);tt(l,28,s+i),r.localHeaderView=l,t.metadataSize+=i}function Tu(t){let e=new Uint8Array(4);L(e).setUint32(0,t,!0);let n=4;for(;n>1&&e[n-1]===0;)n--;return e.subarray(0,n)}function Jm(t,e){if(t!==w)t=t&255;else if(e!==w){let{readOnly:r,hidden:n,system:s,directory:i,archive:a}=e,o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),t=o&255}return e===w&&(e={readOnly:!!(t&1),hidden:!!(t&2),system:!!(t&4),directory:!!(t&16),archive:!!(t&32)}),{msdosAttributesRaw:t,msdosAttributes:e}}function Qm({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n=j,s,i=0,a=t?20:12;return r&&(a+=4),e&&(n=new Uint8Array(a),s=L(n),r&&(i=4,_e(s,0,134695760))),{dataDescriptorArray:n,dataDescriptorView:s,dataDescriptorOffset:i}}function $m({crc32:t,compressedSize:e,uncompressedSize:r,headerInfo:n,dataDescriptorInfo:s},{zip64:i,zipCrypto:a,passThroughCompression:o,dataDescriptor:c}){let{headerView:l,encrypted:R}=n,{dataDescriptorView:p,dataDescriptorOffset:f}=s;(!R||a||o)&&t!==w&&(_e(l,10,t),c&&_e(p,f,t)),i?c&&(Un(p,f+4,BigInt(e)),Un(p,f+12,BigInt(r))):(_e(l,14,e),_e(l,18,r),c&&(_e(p,f+4,e),_e(p,f+8,r)))}function eh({rawFilename:t,encrypted:e,zip64:r,localExtraFieldZip64Length:n,crc32:s,compressedSize:i,uncompressedSize:a,zip64UncompressedSize:o,zip64CompressedSize:c},l,{dataDescriptor:R,passThroughCompression:p}){if(R||((!e||p&&s!==w)&&_e(l,14,s),c||_e(l,18,i),o||_e(l,22,a)),r&&n){let f=30+z(t)+4;Un(l,f,BigInt(a)),Un(l,f+8,BigInt(i))}}async function th(t,e,r){let{directoryDataLength:n,zip64Entries:s}=rh(t.fileEntries),{directoryStart:i,directoryEnd:a,directoryArray:o}=await nh(t,n,r),c=await sh(t,o,r);await ih(t,e,r,{directoryStart:i,directoryEnd:a,directoryDataLength:n,signatureLength:c,zip64Entries:s})}function rh(t){let e=0,r=!1;for(let[,n]of t){let{rawFilename:s,rawExtraFieldAES:i,rawComment:a,rawExtraFieldNTFS:o,rawExtraFieldUnix:c,rawExtraField:l,rawCentralExtraField:R,extraFieldExtendedTimestampFlag:p,extraFieldExtendedTimestampTime:f,zip64Enabled:m,uncompressedSize:h,compressedSize:E}=n,{zip64UncompressedSize:d,zip64CompressedSize:u}=n;m||(d&&h<4294967295&&(d=n.zip64UncompressedSize=!1),u&&E<4294967295&&(u=n.zip64CompressedSize=!1)),r=r||d||u;let g=n.offset>=4294967295,_=n.diskNumberStart>=65535,A;if(g||_||d||u){let S=4+(d?8:0)+(u?8:0)+(g?8:0)+(_?4:0),I=Le(S);I.writeUint16(1),I.writeUint16(S-4),d&&I.writeUint64(h),u&&I.writeUint64(E),g&&I.writeUint64(n.offset),_&&I.writeUint32(n.diskNumberStart),A=I.array}else A=j;n.rawExtraFieldZip64=A,n.zip64Offset=g,n.zip64DiskNumberStart=_;let T;if(f===w)T=j;else{let S=Le(9);S.writeUint16(21589),S.writeUint16(5),S.writeUint8(p),S.writeUint32(f),T=S.array}n.rawExtraFieldExtendedTimestamp=T;let y=z(A,i,o,c,T,l,R);if(y>65535)throw new Error(Si);e+=46+z(s,a)+y}return{directoryDataLength:e,zip64Entries:r}}async function nh(t,e,r){let{fileEntries:n,writer:s}=t,i=new Uint8Array(e);await ge(s);let a=0,o=0,c=gt(s),l=Ln(s),R=0;for(let[p,f]of Array.from(n.values()).entries()){let{offset:m,rawFilename:h,rawExtraFieldZip64:E,rawExtraFieldAES:d,rawExtraFieldExtendedTimestamp:u,rawExtraFieldNTFS:g,rawExtraFieldUnix:_,rawExtraField:A,rawCentralExtraField:T,rawComment:y,versionMadeBy:S,headerArray:I,headerView:N,zip64UncompressedSize:F,zip64CompressedSize:H,zip64DiskNumberStart:q,zip64Offset:$,internalFileAttributes:Z,externalFileAttributes:W,diskNumberStart:U,uncompressedSize:ne,compressedSize:B}=f,X=z(E,d,u,g,_,A,T),M=46+z(h,y)+X;Br(s,a+M-o)&&(await rt(s,i.slice(o,a)),o=a,R=0,await s.closeDisk()),p==0&&(c=gt(s),l=Ln(s)),F||_e(N,18,ne),H||_e(N,14,B),($||q)&&f.version<45&&tt(N,0,45);let G=Le(M);if(G.writeUint32(33639248),G.writeUint16(S),G.writeBytes(I.subarray(0,24)),G.writeUint16(X),G.writeUint16(z(y)),G.writeUint16(q?65535:U),G.writeUint16(Z),G.writeUint32(W),G.writeUint32($?4294967295:m),G.writeBytes(h),G.writeBytes(E),G.writeBytes(d),G.writeBytes(u),G.writeBytes(g),G.writeBytes(_),G.writeBytes(A),G.writeBytes(T),G.writeBytes(y),Mn(i,G.array,a),a+=M,R++,r.onprogress)try{await r.onprogress(p+1,n.size,new Et(f))}catch{}}return await rt(s,o?i.slice(o):i),{directoryStart:{diskNumber:c,diskOffset:l},directoryEnd:{diskNumber:gt(s),entriesLength:R},directoryArray:i}}async function sh(t,e,r){let n=Qo(t,r,il);if(n){let s=await n(e),i=z(s);if(i>65535)throw new Error(ed);let a=Le(6+i);a.writeUint32(84233040),a.writeUint16(i),a.writeBytes(s);let{writer:o}=t;return Br(o,z(a.array))&&await o.closeDisk(),await rt(o,a.array),6+i}return 0}async function ih(t,e,r,n){let{writer:s}=t,{directoryStart:i,directoryEnd:a,signatureLength:o,zip64Entries:c}=n,{directoryDataLength:l}=n,R=t.fileEntries.size,p=i.diskNumber,f=Fn(t,i),m=z(e);if(m>65535)throw new Error(tc);let h=k(t,r,Zs),E=gt(s);if(Br(s,(h?98:22)+m)&&E++,f>=4294967295||l>=4294967295||R>=65535||E>=65535){if(h===!1)throw new Error(Ii);h=!0}else h===w&&c&&(h=!0);let d=Le(h?98:22);Br(s,z(d.array)+m)&&await s.closeDisk(),E=gt(s);let u=E==a.diskNumber?a.entriesLength:0;h&&(d.writeUint32(101075792),d.writeUint64(44),d.writeUint16(45),d.writeUint16(45),d.writeUint32(E),d.writeUint32(p),d.writeUint64(u),d.writeUint64(R),d.writeUint64(l),d.writeUint64(f),d.writeUint32(117853008),d.writeUint32(E),d.writeUint64(BigInt(Fn(t,s))+BigInt(l)+BigInt(o)),d.writeUint32(E+1),k(t,r,qc,!0)&&(E=65535,p=65535),u=65535,R=65535,f=4294967295,l=4294967295),d.writeUint32(101010256),d.writeUint16(E),d.writeUint16(p),d.writeUint16(u),d.writeUint16(R),d.writeUint32(l),d.writeUint32(f),d.writeUint16(m),await rt(s,d.array),m&&await rt(s,e)}function Le(t){let e=new Uint8Array(t),r=L(e),n=0;return{array:e,writeUint8:s=>{uh(r,n,s),n+=1},writeUint16:s=>{tt(r,n,s),n+=2},writeUint32:s=>{_e(r,n,s),n+=4},writeUint64:s=>{Un(r,n,BigInt(s)),n+=8},writeBytes:s=>{Mn(e,s,n),n+=z(s)},skip:s=>n+=s}}function gt(t){let{diskNumber:e=0}=t;return e}function Ln(t){let{diskOffset:e=0}=t;return e}function Br(t,e){let{availableSize:r=jt}=t;return e>r}function Fn(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.initialOffset:0)}async function ah(t){let e=await re(t,0,4);return fh(L(e),0)==134695760}function ad(t){let e=L(t),r=0;for(;r+4<=z(t);){let n=4+yi(e,r+2);if(yi(e,r)==1)return ad(Be(t.subarray(0,r),t.subarray(Math.min(r+n,z(t)))));r+=n}return t}async function oh(t,e,r,n){let{writer:s}=t,i=new Map;if(s.closeDisk){let a=Array.from(r).sort((c,l)=>gi(e,c)-gi(e,l)),o=0;for(let c of a){let l=gi(e,c);await Zo(t,e,o,l-o),Br(s,await ch(e,l))&&await s.closeDisk(),i.set(c,{offset:Fn(t,s),diskNumberStart:gt(s)}),o=l}await Zo(t,e,o,n-o)}else{let a=t.offset;await Zo(t,e,0,n),r.forEach(o=>i.set(o,{offset:a+gi(e,o),diskNumberStart:0}))}return i}async function Zo(t,e,r,n){if(n>0){let{writer:s}=t,i=0;try{await cd(Sa(e,{offset:r,size:n}),s,w,a=>i+=a)}catch(a){t.hasCorruptedEntries=!0;try{a.corruptedEntry=!0}catch{}throw a}finally{s.size+=i,t.offset+=i}}}async function ch(t,e){let r=await re(t,e,30);if(z(r)<30)return 30;let n=L(r);return 30+yi(n,26)+yi(n,28)}function gi(t,{offset:e,diskNumberStart:r}){return e+(t.getDiskOffset?t.getDiskOffset(r):0)}function od(){let t=new Uint8Array(4);return _e(L(t),0,134695760),t}async function Au(t,e){delete t.addSplitZipSignature,await rt(e,od()),t.offset+=4}async function rt(t,e){let{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=z(e),await n.write(e)}finally{n.releaseLock()}}async function cd(t,e,r,n){let s=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(i){await s.ready,await s.write(i),n(z(i))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{s.releaseLock()}}function Ko(t){if(t){let e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<mu?mu:e>hu?hu:e}}function Ri(t){return Math.floor(t.getTime()/1e3)}function lh(t){return t>=ku&&t<=Bu}function yu(t){return Math.min(Bu,Math.max(ku,t))}function k(t,e,r,n){let s=e[r]===w?t.options[r]:e[r];return s===w?n:s}function qo(t,e,r,n){let s=k(t,e,r,n);if(s===null)return n;if(s!==w&&(typeof s.getTime!=K||Number.isNaN(s.getTime())))throw new Error(Du);return s}function Qo(t,e,r){return mr(k(t,e,r))}function kr(t,e,r,n){return Ot(k(t,e,r,n))}function Su(t){return t+5*(Math.floor(t/16383)+1)}function $o(t,e){return t===w?e===w||e>0:t!==0}function yi(t,e){return t.getUint16(e,!0)}function fh(t,e){return t.getUint32(e,!0)}function uh(t,e,r){t.setUint8(e,r)}function tt(t,e,r){t.setUint16(e,r,!0)}function _e(t,e,r){t.setUint32(e,r,!0)}function Un(t,e,r){t.setBigUint64(e,r,!0)}function Mn(t,e,r){t.set(e,r)}function z(...t){let e=0;return t.forEach(r=>r&&(e+=r.length)),e}function ld({version:t,bitFlag:e,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,zip64CompressedSize:c,zip64UncompressedSize:l,extraFieldLength:R}){let p=Le(26),f=p.array,m=L(f);if(p.writeUint16(t),p.writeUint16(e),p.writeUint16(r),a===w){let h=new Uint32Array(1),E=L(h);tt(E,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),tt(E,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=h[0]}return p.writeUint32(a),p.skip(4),c||s!==w?p.writeUint32(c?4294967295:s):p.skip(4),l||n!==w?p.writeUint32(l?4294967295:n):p.skip(4),p.writeUint16(z(o)),p.writeUint16(R),{headerArray:f,headerView:m,rawLastModDate:a}}function Iu(t){return t.every(e=>e>=Um&&e<=Mm)}function fd(t,e,r,n,s){let i=0;return e&&(i=i|2048),r&&(i=i|8),(s==8||s==9)&&(t>=0&&t<=3&&(i=i|6),t>3&&t<=5&&(i=i|4),t==9&&(i=i|2)),n&&(i=i|1),i}mn();Rr();We();$t();ue();We();$t();la();var bw=1024*1024;Jt();var Dw=1024*1024;var xw=1024*1024;var Cw=512*1024;var Ah={};try{Dt({baseURI:Ah.url})}catch{}We();var yh=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],Sh=[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],Ih=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],bh=[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],Nh=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],kn=new Uint8Array(288);kn.fill(8,0,144),kn.fill(9,144,256),kn.fill(7,256,280),kn.fill(8,280,288);var Oh=new Uint8Array(30).fill(5);function vn(t){let e=new Uint16Array(16);for(let s of t)e[s]++;e[0]=0;let r=new Uint16Array(17);for(let s=1;s<=15;s++)r[s+1]=r[s]+e[s];let n=new Uint16Array(t.length);for(let s=0;s<t.length;s++)t[s]&&(n[r[t[s]]++]=s);return{lengthCounts:e,symbols:n}}var Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function ud(t){let e;t({wasmURI:()=>(e||(e="data:application/wasm;base64,"+(function(r){let n="",s=r.length,i=0;for(;i+2<s;i+=3){let o=r[i]<<16|r[i+1]<<8|r[i+2];n+=Fe[o>>18&63]+Fe[o>>12&63]+Fe[o>>6&63]+Fe[63&o]}let a=s-i;if(a===1){let o=r[i]<<16;n+=Fe[o>>18&63]+Fe[o>>12&63]+"=="}else if(a===2){let o=r[i]<<16|r[i+1]<<8;n+=Fe[o>>18&63]+Fe[o>>12&63]+Fe[o>>6&63]+"="}return n})((function(r){let n=0,s=0,i=0,a=new Uint8Array(1024),o=0,c=0;for(;!c;){c=R(1);let d=R(2);if(d==0)p();else if(d==1)f(vn(kn),vn(Oh));else{if(d!=2)throw new Error("invalid deflate block type");f(...m())}}return a.subarray(0,o);function l(){if(n>=r.length)throw new Error("unexpected end of deflate data");return r[n++]}function R(d){for(;i<d;)s|=l()<<i,i+=8;let u=s&(1<<d)-1;return s>>>=d,i-=d,u}function p(){s=0,i=0;let d=l()|l()<<8;n+=2,E(o+d);for(let u=0;u<d;u++)a[o++]=l()}function f(d,u){let g=h(d);for(;g!=256;){if(g<256)E(o+1),a[o++]=g;else{let _=g-257,A=yh[_]+R(Sh[_]),T=h(u),y=Ih[T]+R(bh[T]);E(o+A);let S=o-y;for(let I=0;I<A;I++)a[o++]=a[S+I]}g=h(d)}}function m(){let d=R(5)+257,u=R(5)+1,g=R(4)+4,_=new Uint8Array(19);for(let S=0;S<g;S++)_[Nh[S]]=R(3);let A=vn(_),T=new Uint8Array(d+u),y=0;for(;y<T.length;){let S=h(A);if(S<16)T[y++]=S;else if(S==16){let I=T[y-1],N=R(2)+3;for(;N--;)T[y++]=I}else y+=S==17?R(3)+3:R(7)+11}return[vn(T.subarray(0,d)),vn(T.subarray(d))]}function h(d){let{lengthCounts:u,symbols:g}=d,_=0,A=0,T=0;for(let y=1;y<=15;y++){_|=R(1);let S=u[y];if(_-A<S)return g[T+(_-A)];T+=S,A=A+S<<1,_<<=1}throw new Error("invalid huffman code")}function E(d){if(a.length<d){let u=2*a.length;for(;u<d;)u*=2;let g=new Uint8Array(u);g.set(a.subarray(0,o)),a=g}}})((function(r){let n=(r=String(r).replace(/[^A-Za-z0-9+/=]/g,"")).length,s=[];for(let i=0;i<n;i+=4){let a=Fe.indexOf(r[i])<<18|Fe.indexOf(r[i+1])<<12|(63&Fe.indexOf(r[i+2]))<<6|63&Fe.indexOf(r[i+3]);s.push(a>>16&255),r[i+2]!=="="&&s.push(a>>8&255),r[i+3]!=="="&&s.push(255&a)}return new Uint8Array(s)})("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")))),e)})}ue();We();Ir();Gs();ra();var Oi="deflate",bi="deflate-raw",dd="deflate64-raw",Ni="gzip";var Dh="Z_MEM_ERROR",pd=[Oi,bi,Ni],Ed=[Oi,bi,Ni,dd],le,Hr,Rt,Bn,md;function hd(t){if(le=t,{malloc:Hr,free:Rt,memory:Bn}=le,typeof Hr!="function"||typeof Rt!="function"||!Bn)throw le=Hr=Rt=Bn=null,new Error("Invalid WASM module")}function gd(t){md=t}function zr(t,e){return e===-4&&(t.code=Dh),t}function Rd(t,e,r={}){if(!(t?pd:Ed).includes(e))throw new TypeError("Unsupported format: "+e);if(!le){let T=new Error("WASM module not loaded");throw T.cause=md,T}let n=typeof r.level=="number"?r.level:-1,s=typeof r.outBuffer=="number"?r.outBuffer:64*1024,i=typeof r.inBufferSize=="number"?r.inBufferSize:64*1024,a={out:0,in:0,inBufferSize:0,streamHandle:0,streamEnded:!1},o,c,l,R,p=!0,f=!1;E();let m=new ReadableStream({start(T){o=T},pull(){p=!1,_()},cancel(T){f=!0,R=T,A(a),c.error(T),_()}},{highWaterMark:0}),h=new WritableStream({start(T){c=T},async write(T){if(p&&await new Promise(y=>l=y),f)throw R;try{d(T)}catch(y){throw A(a),o.error(y),y}},close(){if(f)return;try{u()}catch(y){throw A(a),o.error(y),y}let T=A(a);if(T!==0){let y=zr(new Error("end error:"+T),T);throw o.error(y),y}o.close()},abort(T){A(a),o.error(T)}},{highWaterMark:1});return{readable:m,writable:h};function E(){try{let T;if(a.out=Hr(s),a.in=Hr(i),a.inBufferSize=i,!a.out||!a.in)throw zr(new Error("allocation failed"),-4);if(t?(a._process=le.deflate_process,a._last_consumed=le.deflate_last_consumed,a._end=le.deflate_end,a.streamHandle=le.deflate_new(),e===Ni?T=le.deflate_init_gzip(a.streamHandle,n):e===bi?T=le.deflate_init_raw(a.streamHandle,n):T=le.deflate_init(a.streamHandle,n)):e===dd?(a._process=le.inflate9_process,a._last_consumed=le.inflate9_last_consumed,a._end=le.inflate9_end,a.streamHandle=le.inflate9_new(),T=le.inflate9_init_raw(a.streamHandle)):(a._process=le.inflate_process,a._last_consumed=le.inflate_last_consumed,a._end=le.inflate_end,a.streamHandle=le.inflate_new(),e===bi?T=le.inflate_init_raw(a.streamHandle):e===Ni?T=le.inflate_init_gzip(a.streamHandle):T=le.inflate_init(a.streamHandle)),T!==0)throw zr(new Error("init failed:"+T),T)}catch(T){throw A(a),T}}function d(T){let y=new Uint8Array(Bn.buffer),S=a._process,I=a._last_consumed,N=a.out,F=0;for(;F<T.length;){if(a.streamEnded)throw new Error("trailing data after the end of the stream");let H=Math.min(T.length-F,32*1024);if((!a.in||a.inBufferSize<H)&&(a.in&&Rt&&(Rt(a.in),a.in=0),a.in=Hr(H),a.inBufferSize=H,!a.in))throw zr(new Error("allocation failed"),-4);y.set(T.subarray(F,F+H),a.in);let q=S(a.streamHandle,a.in,H,N,s,0),$=q>>24&255,Z=$&128?$-256:$;if(Z<0)throw zr(new Error("process error:"+Z),Z);let W=q&16777215;W&&g(y.slice(N,N+W));let U=I(a.streamHandle);if($===1)a.streamEnded=!0;else if(U===0&&W===0)break;F+=U}}function u(){let T=new Uint8Array(Bn.buffer),y=a._process,S=a.out;for(;;){let I=y(a.streamHandle,0,0,S,s,4),N=I>>24&255,F=N&128?N-256:N;if(F<0)throw zr(new Error("process error:"+F),F);let H=I&16777215;if(H&&g(T.slice(S,S+H)),N===1||H===0)break}}function g(T){p=!0,o.enqueue(T)}function _(){if(l){let T=l;l=null,T()}}function A(T){let y=0;return T.streamHandle&&T._end&&(y=T._end(T.streamHandle)),T.streamHandle=0,T.in&&Rt&&Rt(T.in),T.in=0,T.out&&Rt&&Rt(T.out),T.out=0,y}}var pr=class{constructor(e=Oi,r){return Rd(!0,e,r)}},Er=class{constructor(e=Oi,r){return Rd(!1,e,r)}};pr.requiresModule=!0;Er.requiresModule=!0;pr.supportedFormats=pd;Er.supportedFormats=Ed;ue();$i();var nc=64*1024,Ph=20,wd,wt;function _d(t){typeof t.aes_hmac_new==K&&(wd=t,wt=0)}function ic(t,e){let r=wd,n=r?xh(r,t,e):0;if(!n)return an(t,e);let s=wt;return{process(i,a){for(let o=0;o<i.length;o+=nc){let c=i.subarray(o,o+nc),l=sc(r);l.set(c,s),r.aes_hmac_process(n,s,c.length,a?1:0),c.set(l.subarray(s,s+c.length))}},digest(){return r.aes_hmac_end(n,s),n=0,sc(r).slice(s,s+Ph)},dispose(){n&&(r.aes_hmac_end(n,0),n=0)}}}function xh(t,e,r){wt||(wt=t.malloc(nc));let n=wt?t.aes_hmac_new():0;if(n){let s=sc(t);if(s.set(e,wt),s.set(r,wt+e.length),t.aes_hmac_init(n,wt,e.length,wt+e.length,r.length))return t.aes_hmac_end(n,0),0}return n}function sc(t){return new Uint8Array(t.memory.buffer)}var Td=!1;async function Ad(t,{baseURI:e}){if(!Td)try{await Ch(t,e),Td=!0}catch(r){throw gd(r),r}}async function Ch(t,e){let r,n;try{try{n=new URL(t,e)}catch{}r=await(await fetch(n)).arrayBuffer()}catch(i){if(t.startsWith("data:application/wasm;base64,"))r=Lh(t);else throw i}let s=await WebAssembly.instantiate(r);hd(s.instance.exports),_d(s.instance.exports)}function Lh(t){let e=t.split(",")[1],r=atob(e),n=r.length,s=new Uint8Array(n);for(let i=0;i<n;++i)s[i]=r.charCodeAt(i);return s.buffer}var Di;kl(ic);hf({initModule:t=>{if(!Di){let{wasmURI:e}=t;typeof e==K&&(e=e()),Di=Ad(e,t).catch(r=>{throw Di=null,r})}return Di}});Dt({CompressionStreamFallback:pr,DecompressionStreamFallback:Er});ud(Dt);mn();hi();qs();Rr();Ir();ue();Pt();Jt();qt();var J_=new Uint8Array(0);Sl(Dt);var ac="0.1.1";var Yr="h5p-pkg-v0-";var _t="__archive__";var yd="h5p-player";var zn="packages",Wr="https://chunks.h5p-player.invalid/";function kt(t,e){let r=e.end-e.start+1,n=0,s=0,i=new TransformStream({transform(a,o){if(s>=r)return;let c=n;if(n+=a.length,n<=e.start)return;let l=Math.max(0,e.start-c),R=Math.min(a.length,l+(r-s)),p=a.subarray(l,R);s+=p.length,o.enqueue(p),s>=r&&o.terminate()}});return t.pipeTo(i.writable).catch(()=>{}),i.readable}var Fh=/^h5p:([^:]+):/;async function Pi(){let t=new Set,e=typeof navigator>"u"?void 0:navigator.locks;if(!e?.query)return t;try{let{held:r=[]}=await e.query();for(let n of r){let s=n.name?Fh.exec(n.name):null;s&&t.add(s[1])}}catch{}return t}var Uh="/__meta__",Mh="/__forward__",lc="__forward_index__",vh=32;function Yn(t){return t.split("/").map(encodeURIComponent).join("/")}function Hn(t){return`${Yr}${t}`}function Sd(t,e){return`${Wr}${t}/whole/${Yn(e)}`}function oc(t,e,r){return`${Wr}${t}/chunk/${Yn(e)}/${r}`}function Id(t,e){return`${Wr}${t}/chunk/${Yn(e)}${Uh}`}function bd(t){return`${Wr}${t}/chunk/${Yn(_t)}${Mh}`}function Wn(t){return t instanceof DOMException&&(t.name==="QuotaExceededError"||t.name==="NS_ERROR_DOM_QUOTA_REACHED")}var Bt=class extends Error{constructor(e="Not enough storage to cache this package"){super(e),this.name="QuotaError"}};function Nd(t){return{first:Math.floor(t.start/8388608),last:Math.floor(t.end/8388608)}}function Od(t,e){let r=t*8388608;return{from:Math.max(0,e.start-r),to:Math.min(8388608,e.end-r+1)}}var Xe=class{constructor(e){this.cachePromise=null;this.pkgId=e}cache(){return this.cachePromise??=caches.open(Hn(this.pkgId)),this.cachePromise}async getWhole(e){return(await this.cache()).match(Sd(this.pkgId,e))}async putWhole(e,r,n,s){let i=new Headers({"content-type":n});s!==void 0&&i.set("content-length",String(s)),await this.write(Sd(this.pkgId,e),()=>new Response(r(),{headers:i}))}async getMeta(e){let n=await(await this.cache()).match(Id(this.pkgId,e));if(n)try{return await n.json()}catch{return}}async setMeta(e,r){await this.write(Id(this.pkgId,e),()=>new Response(JSON.stringify(r),{headers:{"content-type":"application/json"}})),xd({pkgId:this.pkgId,entry:e,meta:r})}async discardChunks(e){let r=await this.cache(),n=`${Wr}${this.pkgId}/chunk/${Yn(e)}/`,s=(await r.keys()).filter(i=>i.url.startsWith(n)&&/^\d+$/.test(i.url.slice(n.length)));await Promise.all(s.map(i=>r.delete(i)))}async putChunk(e,r,n){let s=n.slice();await this.write(oc(this.pkgId,e,r),()=>new Response(s.buffer,{headers:{"content-type":"application/octet-stream"}}))}async getChunk(e,r){let s=await(await this.cache()).match(oc(this.pkgId,e,r));if(s)return new Uint8Array(await s.arrayBuffer())}readRange(e,r,n){let{first:s,last:i}=Nd(r),a=s,o=null,c=this;return new ReadableStream({async pull(l){for(;;){if(o){let{done:h,value:E}=await o.read();if(!h){l.enqueue(E);return}o=null,a+=1}if(a>i){l.close();return}if(n){let h=Math.min((a+1)*8388608,r.end+1);if(!await n(h)){l.error(new Error(`Extraction of ${e} stalled before byte ${h}`));return}}let R=await c.chunkBody(e,a);if(!R){l.error(new Error(`Missing chunk ${a} of ${e}`));return}let{from:p,to:f}=Od(a,r);o=(p===0&&f>=8388608?R:kt(R,{start:p,end:f-1})).getReader()}},async cancel(l){await o?.cancel(l)}},{highWaterMark:0})}async chunkBody(e,r){return(await(await this.cache()).match(oc(this.pkgId,e,r)))?.body??void 0}async readRangeBytes(e,r){let n=new Uint8Array(r.end-r.start+1),{first:s,last:i}=Nd(r),a=0;for(let o=s;o<=i;o+=1){let c=await this.getChunk(e,o);if(!c)throw new Error(`Missing chunk ${o} of ${e}`);let{from:l,to:R}=Od(o,r),p=c.subarray(l,Math.min(R,c.length));n.set(p,a),a+=p.length}return a===n.length?n:n.subarray(0,a)}getArchiveMeta(){return this.getMeta(_t)}async getForwardIndex(){let r=await(await this.cache()).match(bd(this.pkgId));if(r)try{return await r.json()}catch{return}}async setForwardIndex(e){await this.write(bd(this.pkgId),()=>new Response(JSON.stringify(e),{headers:{"content-type":"application/json"}})),xd({pkgId:this.pkgId,entry:lc,meta:{size:null,available:e.parsedTo,complete:e.done}})}readArchiveRange(e){return this.readRangeBytes(_t,e)}async write(e,r){let n=await this.cache();for(let s=0;;s+=1){let i=r();try{await n.put(e,i);return}catch(a){if(i.body?.cancel().catch(()=>{}),!Wn(a))throw a;if(s>=vh)throw new Bt;if(!await kh(this.pkgId))throw new Bt}}}async destroy(){this.cachePromise=null,await caches.delete(Hn(this.pkgId))}},cc=null;function Cd(t){cc=t}var Ld=null;function Fd(t){Ld=t}async function kh(t){let e=cc?await cc(t):await zh(t);return e?(await Bh(Hn(e)),await caches.delete(Hn(e)),await Ld?.(e),!0):!1}async function Bh(t){if(!await caches.has(t))return;let e=await caches.open(t),r=await e.keys();await Promise.all(r.map(n=>e.delete(n)))}async function zh(t){let[e,r]=await Promise.all([caches.keys(),Pi()]),n=Hn(t),s=e.find(i=>i.startsWith(Yr)&&i!==n&&!r.has(i.slice(Yr.length)));return s?s.slice(Yr.length):null}var Hh="h5p-player-watermark",Dd,Pd;function Ud(){if(typeof BroadcastChannel!="function")return null;let t=new BroadcastChannel(Hh);return t.unref?.(),t}function xd(t){Dd??=Ud();try{Dd?.postMessage(t)}catch{}}function Gn(t,e,r){Pd??=Ud();let n=Pd;if(!n)return()=>{};let s=i=>{let a=i.data;a?.pkgId===t&&a.entry===e&&r(a)};return n.addEventListener("message",s),()=>n.removeEventListener("message",s)}async function Md(){let e=(await caches.keys()).filter(r=>/^h5p-pkg-v(\d+)-/.test(r)&&!r.startsWith(Yr));return await Promise.all(e.map(r=>caches.delete(r))),e}var zt=null;function vd(t,e){zt===e&&(zt=null),t.close()}function Wh(){if(zt)return zt;let t=new Promise((e,r)=>{let n=indexedDB.open(yd,1);n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(zn)||s.createObjectStore(zn,{keyPath:"pkgId"}).createIndex("lastPlayed","lastPlayed")},n.onsuccess=()=>{let s=n.result;s.onversionchange=()=>vd(s,t),s.onclose=()=>vd(s,t),e(s)},n.onerror=()=>r(n.error)});return zt=t,t.catch(()=>{zt===t&&(zt=null)}),t}function Gh(t){return t instanceof DOMException&&(t.name==="InvalidStateError"||t.name==="NotFoundError"||t.name==="TransactionInactiveError")}function xi(t){return new Promise((e,r)=>{t.onsuccess=()=>e(t.result),t.onerror=()=>r(t.error)})}async function kd(t,e){let n=(await Wh()).transaction(zn,t),s=await e(n.objectStore(zn));return await new Promise((i,a)=>{n.oncomplete=()=>i(),n.onerror=()=>a(n.error),n.onabort=()=>a(n.error)}),s}async function Ci(t,e){try{return await kd(t,e)}catch(r){if(!Gh(r))throw r;return zt=null,kd(t,e)}}function Vr(t){return Ci("readonly",e=>xi(e.get(t)))}function Li(t){return Ci("readwrite",async e=>{await xi(e.put(t))})}function Bd(t){return Ci("readwrite",async e=>{await xi(e.delete(t))})}function Vh(){return Ci("readonly",t=>xi(t.getAll()))}async function zd(t){let e=await Vr(t);e&&(e.lastPlayed=Date.now(),await Li(e))}async function Fi(t,e){let r=await Vr(t);if(!r)return;let n={...r,...e};return await Li(n),n}async function Hd(){return(await Vh()).sort((e,r)=>e.lastPlayed-r.lastPlayed)}async function Xh(t,e={}){let[r,n]=await Promise.all([(e.packagesByAge??Hd)(),(e.busyPackages??Pi)()]);return r.find(s=>s.pkgId!==t&&!n.has(s.pkgId))?.pkgId??null}function Wd(t){Cd(e=>Xh(e)),Fd(async e=>{t?.(e),await Bd(e)})}var jh=/[\u0000-\u001f\u007f]/;function Ui(t){if(!t||jh.test(t))return null;let e=t.replace(/\\/g,"/");if(e.startsWith("/")||/^[a-zA-Z]:/.test(e))return null;let r=[];for(let n of e.split("/"))if(!(n===""||n===".")){if(n==="..")return null;r.push(n)}return r.length===0?null:r.join("/")}function Gd(t){let e;try{e=decodeURIComponent(t)}catch{return null}return Ui(e)}function Vd(t){let e=new Map,r=[];for(let n of t){if(n.directory)continue;let s=Ui(n.filename);if(s===null||e.has(s)){r.push(n.filename);continue}e.set(s,n)}return{index:e,rejected:r}}var Zh={js:"text/javascript; charset=utf-8",mjs:"text/javascript; charset=utf-8",json:"application/json; charset=utf-8",css:"text/css; charset=utf-8",html:"text/html; charset=utf-8",htm:"text/html; charset=utf-8",txt:"text/plain; charset=utf-8",xml:"application/xml; charset=utf-8",csv:"text/csv; charset=utf-8",vtt:"text/vtt; charset=utf-8",srt:"application/x-subrip; charset=utf-8",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",svg:"image/svg+xml",webp:"image/webp",avif:"image/avif",bmp:"image/bmp",ico:"image/x-icon",mp3:"audio/mpeg",m4a:"audio/mp4",aac:"audio/aac",oga:"audio/ogg",ogg:"audio/ogg",wav:"audio/wav",weba:"audio/webm",flac:"audio/flac",mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",eot:"application/vnd.ms-fontobject",pdf:"application/pdf"},Kh=new Set(["js","mjs","json","css","html","htm","txt","xml","csv","vtt","srt","svg"]);function Xd(t){let e=t.slice(t.lastIndexOf("/")+1),r=e.lastIndexOf(".");return r<=0?"":e.slice(r+1).toLowerCase()}function fc(t){return Zh[Xd(t)]??"application/octet-stream"}function jd(t){return Kh.has(Xd(t))}var ae=class extends Error{constructor(e,r,n){super(r,n),this.name="PlayerError",this.code=e,this.missingLibraries=n?.missingLibraries}};function Vn(t,e){if(!t)return"none";let r=/^bytes=(\d*)-(\d*)$/.exec(t.trim());if(!r)return"none";let[,n,s]=r;if(n===""&&s==="")return"none";if(n===""){let o=Number(s);return o===0?"unsatisfiable":{start:Math.max(0,e-o),end:e-1}}let i=Number(n);if(i>=e)return"unsatisfiable";let a=s===""?e-1:Math.min(Number(s),e-1);return a<i?"unsatisfiable":{start:i,end:a}}function Xn(t,e){return`bytes ${t.start}-${t.end}/${e}`}var uc=class{constructor(e,r){this.descriptor=e;this.size=r;this.received=0}counted(e){return e.pipeThrough(new TransformStream({transform:(r,n)=>{this.received+=r.length,n.enqueue(r)}}))}async fetchRange(e){let r=await fetch(this.descriptor.url,{headers:{Range:`bytes=${e.start}-${e.end}`},cache:"no-store"});if(r.status!==206&&r.status!==200)throw new ae("network",`Range request failed with ${r.status}`);return r}async read(e){let r=await this.fetchRange(e);if(r.status!==200){let n=new Uint8Array(await r.arrayBuffer());return this.received+=n.length,n}if(!r.body)throw new ae("network","Range response had no body");return new Uint8Array(await new Response(kt(this.counted(r.body),e)).arrayBuffer())}async stream(e){let r=await this.fetchRange(e);if(!r.body)throw new ae("network","Range response had no body");let n=this.counted(r.body);return r.status===200?kt(n,e):n}},dc=class{constructor(e,r,n){this.descriptor=e;this.size=r;this.store=new Xe(n)}read(e){return this.store.readRangeBytes(_t,e)}async stream(e){return this.store.readRange(_t,e)}},pc=class{constructor(e,r){this.descriptor=e;this.blob=r}get size(){return this.blob.size}async read(e){let r=this.blob.slice(e.start,e.end+1);return new Uint8Array(await r.arrayBuffer())}async stream(e){return this.blob.slice(e.start,e.end+1).stream()}};async function Ec(t,e,r,n={}){switch(e.type){case"range-http":return new uc(e,e.size);case"chunked":{let s=await new Xe(t).getArchiveMeta();if(!s||!s.complete&&!n.partial)throw new ae("bad-archive","Archive has not finished downloading");return new dc(e,s.size??s.available,t)}case"file":{if(!r)throw new ae("bad-archive","The picked file is no longer available");return new pc(e,r)}}}var hc=class{constructor(e){this.arrived=[];this.reader=null;this.finished=!1;this.failure=null;this.wake=null;this.cancelled=!1;this.received=0;this.pump(e)}async pump(e){try{let r=await e();if(this.cancelled){await r.cancel();return}for(this.reader=r.getReader();;){let{done:n,value:s}=await this.reader.read();if(n)break;this.arrived.push(s),this.received+=s.length,this.wake?.()}}catch(r){this.cancelled||(this.failure=r)}finally{this.finished=!0,this.wake?.()}}async next(){for(;;){let e=this.arrived.shift();if(e)return e;if(this.failure)throw this.failure;if(this.finished)return null;await new Promise(r=>{this.wake=r}),this.wake=null}}cancel(){this.cancelled=!0,this.arrived.length=0,this.reader?.cancel().catch(()=>{}),this.wake?.()}};function Qh(t,e){let r=e.end-e.start+1,n=Math.ceil(r/4194304),s=new Map,i=0,a=0,o=c=>{let l=e.start+c*4194304,R={start:l,end:Math.min(l+4194304-1,e.end)};s.set(c,new hc(()=>t.stream(R)))};return new ReadableStream({async pull(c){for(;;){if(a>=n){c.close();return}i===a&&o(i++);let l=s.get(a);if(l.received>0)for(;i<n&&s.size<4;)o(i++);let R=await l.next();if(R){c.enqueue(R);return}s.delete(a),a+=1}},cancel(){for(let c of s.values())c.cancel();s.clear(),i=n,a=n}},{highWaterMark:0})}var Mi=class extends dt{constructor(r){super(r);this.handle=r;this.size=r.size}async readUint8Array(r,n){if(n===0)return new Uint8Array(0);let s=Math.min(r+n,this.size)-1;return s<r?new Uint8Array(0):this.handle.read({start:r,end:s})}createReadable(r={}){let n=r.offset??0,s=Math.min(n+(r.size??this.size-n),this.size)-1;if(s<n)return new Blob([]).stream();let i=this.handle;if(i.descriptor.type==="range-http"&&s-n+1>=8388608)return Qh(i,{start:n,end:s});let a=null;return new ReadableStream({async pull(o){a??=(await i.stream({start:n,end:s})).getReader();let{done:c,value:l}=await a.read();c?o.close():o.enqueue(l)},async cancel(o){await a?.cancel(o)}},{highWaterMark:0})}};var jn=0,Jd=8,eg=67324752,Zd=30,Zn=class t{constructor(e,r,n,s,i,a=!1){this.handle=r;this.parsedTo=0;this.forwardDone=!1;this.forwardStopped=!1;this.absorbed=0;this.lastTopFolder=null;this.fallbacks=[];this.librariesByName=null;this.dataRanges=new Map;this.pkgId=e,this.entries=n,this.rejected=s,this.manifest=i,this.partial=a}get title(){return this.manifest.title}static async open(e,r,n={}){let s;try{s=await new vt(new Mi(r)).getEntries({filenameValidation:"tolerant"})}catch(p){throw new ae("bad-archive","Could not read the archive index",{cause:p})}let{index:i,rejected:a}=Vd(s),o=new Map;for(let[p,f]of i)o.set(p,{name:p,size:f.uncompressedSize,compressedSize:f.compressedSize,method:f.compressionMethod,strategy:Qd(p,f),zip:f});if(!o.has("h5p.json"))throw new ae("bad-archive","Archive has no h5p.json, so it is not an H5P package");let c=new t(e,r,o,a,{}),l=await qd(c),R=new t(e,r,o,a,l);return n.requireLibraries!==!1&&R.assertLibrariesPresent(),R}static async fromForwardIndex(e,r,n){let s=new t(e,r,new Map,[],{},!0);return await s.absorb(n),s}async absorb(e){if(!this.partial)return!1;let r=e.entries.slice(this.absorbed);this.absorbed=e.entries.length,this.parsedTo=e.parsedTo,this.forwardDone=e.done,this.forwardStopped=e.stopped!==null&&!e.done;let n=!1;for(let s of r){if(s.directory)continue;let i=Ui(s.name);if(i===null||this.entries.has(i)){this.rejected.push(s.name);continue}this.entries.set(i,tg(i,s)),this.lastTopFolder=Kd(i),i==="h5p.json"&&(n=!0)}return r.length>0&&(this.librariesByName=null),n&&(this.manifest=await qd(this)),r.length>0}bootReady(){if(!this.partial)return!0;if(this.forwardStopped||!this.entries.has("h5p.json"))return!1;let e=this.manifest.preloadedDependencies;if(!Array.isArray(e)||e.length===0)return!1;let r=this.entryNames(),n=this.availableLibraries();return e.every(s=>{let i=vi(s).find(a=>r.has(`${a}/library.json`))??Rc(n,{machineName:s.machineName,major:Number(s.majorVersion),minor:Number(s.minorVersion)});return i!==void 0&&this.folderComplete(i)})}provablyAbsent(e){if(!this.partial||this.forwardDone)return!0;let r=Kd(e);if(r===null)return!1;if(this.hasFolder(r))return this.folderComplete(r);let n=gc(r);return n!==null&&this.hasFolder(n.machineName)&&this.folderComplete(n.machineName)}folderComplete(e){return this.forwardDone||this.lastTopFolder!==e}hasFolder(e){let r=`${e}/`;for(let n of this.entries.keys())if(n.startsWith(r))return!0;return!1}use(e){e===this||this.fallbacks.includes(e)||(this.fallbacks.push(e),this.librariesByName=null)}get(e){return this.locate(e)??this.locateCompatible(e)}locate(e){let r=this.entries.get(e);if(r)return{reader:this,entry:r};for(let n of this.fallbacks){let s=n.locate(e);if(s)return s}}locateCompatible(e){let r=e.indexOf("/");if(r<0)return;let n=gc(e.slice(0,r));if(!n)return;let s=Rc(this.availableLibraries(),n);if(!(!s||s===n.folder))return this.locate(`${s}/${e.slice(r+1)}`)}availableLibraries(){if(this.librariesByName)return this.librariesByName;let e=$d(this.entries.keys());for(let r of this.fallbacks)for(let[n,s]of r.availableLibraries()){let i=e.get(n);i?i.push(...s):e.set(n,[...s])}return this.librariesByName=e,e}entryNames(){let e=new Set(this.entries.keys());for(let r of this.fallbacks)for(let n of r.entryNames())e.add(n);return e}missingLibraries(){return sg(this.entryNames(),this.manifest)}get hasFallbacks(){return this.fallbacks.length>0}mergedManifest(){let e=this.entryNames(),r=new Map,n=s=>{r.has(s.machineName)||vi(s).some(i=>e.has(`${i}/library.json`))&&r.set(s.machineName,s)};for(let s of this.manifest.preloadedDependencies??[])n(s);for(let s of this.fallbacks)for(let i of s.manifest.preloadedDependencies??[])n(i);return{...this.manifest,preloadedDependencies:[...r.values()]}}assertLibrariesPresent(){let e=this.missingLibraries();if(e)throw new ae("bad-archive",ig(e),{missingLibraries:e})}prefetchable(){return[...this.entries.values()].filter(e=>e.strategy.kind==="chunked").map(e=>({entry:e.name,size:e.size}))}inflate(e){if(!e.zip)return this.inflateDirect(e);if(e.zip.encrypted)throw new ae("bad-archive",`${e.name} is encrypted`);let r=e.zip.getData;if(!r)throw new ae("bad-archive",`${e.name} has no readable data`);let n=new TransformStream;return r.call(e.zip,n.writable).catch(s=>{if(!n.writable.locked)try{n.writable.abort(s)}catch{}}),n.readable}dataRange(e){let r=this.dataRanges.get(e.name);if(r)return r;let n=this.readDataRange(e);return this.dataRanges.set(e.name,n),n.catch(()=>this.dataRanges.delete(e.name)),n}inflateDirect(e){if(e.encrypted)throw new ae("bad-archive",`${e.name} is encrypted`);if(e.method!==jn&&e.method!==Jd)throw new ae("bad-archive",`${e.name} uses compression method ${e.method}`);if(e.compressedSize===0)return new Blob([]).stream();let r=rg(()=>this.sliceStream(e,{start:0,end:e.compressedSize-1}));if(e.method===jn)return r;let n=new DecompressionStream("deflate-raw");return r.pipeThrough(n)}async readDataRange(e){if(e.dataStart!==void 0)return{start:e.dataStart,end:e.dataStart+e.compressedSize-1};if(!e.zip)throw new ae("bad-archive",`${e.name} has no known location`);let r=await this.handle.read({start:e.zip.offset,end:e.zip.offset+Zd-1}),n=new DataView(r.buffer,r.byteOffset,r.byteLength);if(n.getUint32(0,!0)!==eg)throw new ae("bad-archive",`${e.name} has a malformed local header`);let s=n.getUint16(26,!0),i=n.getUint16(28,!0),a=e.zip.offset+Zd+s+i;return{start:a,end:a+e.compressedSize-1}}async sliceStream(e,r){let n=await this.dataRange(e);return this.handle.stream({start:n.start+r.start,end:n.start+r.end})}};function Qd(t,e){return jd(t)?{kind:"inline"}:e.uncompressedSize<=16777216?{kind:"inline"}:e.compressionMethod===jn?{kind:"slice"}:e.compressionMethod===Jd?{kind:"chunked"}:{kind:"inline"}}function tg(t,e){return{name:t,size:e.uncompressedSize,compressedSize:e.compressedSize,method:e.method,strategy:Qd(t,{uncompressedSize:e.uncompressedSize,compressionMethod:e.method}),dataStart:e.dataStart,encrypted:e.encrypted}}function Kd(t){let e=t.indexOf("/");return e<0?null:t.slice(0,e)}function rg(t){let e=null;return new ReadableStream({async pull(r){e??=(await t()).getReader();let{done:n,value:s}=await e.read();n?r.close():r.enqueue(s)},async cancel(r){await e?.cancel(r)}},{highWaterMark:0})}async function qd(t){let{entry:e}=t.get("h5p.json");try{let r=await new Response(t.inflate(e)).json();if(!r||typeof r!="object")throw new Error("not an object");return r}catch(r){throw new ae("bad-archive","h5p.json is not readable JSON",{cause:r})}}function vi(t){return[`${t.machineName}-${t.majorVersion}.${t.minorVersion}`,t.machineName]}function gc(t){let e=/^(.+)-(\d+)\.(\d+)$/.exec(t);return e?{machineName:e[1],major:Number(e[2]),minor:Number(e[3]),folder:t}:null}function $d(t){let e=new Map;for(let r of t){let n=r.indexOf("/");if(n<0||r.slice(n+1)!=="library.json")continue;let s=gc(r.slice(0,n));if(!s)continue;let i=e.get(s.machineName);i?i.push(s):e.set(s.machineName,[s])}return e}function Rc(t,e){return(t.get(e.machineName)??[]).filter(n=>n.major===e.major&&n.minor>=e.minor).sort((n,s)=>n.minor-s.minor)[0]?.folder}function ng(t,e){let r=e.preloadedDependencies;if(!Array.isArray(r))return[];let n=$d(t);return r.filter(s=>vi(s).some(i=>t.has(`${i}/library.json`))?!1:!Rc(n,{machineName:s.machineName,major:Number(s.majorVersion),minor:Number(s.minorVersion)}))}function sg(t,e){let r=e.preloadedDependencies;if(!Array.isArray(r)||r.length===0)return{mainLibrary:e.mainLibrary,folders:[],all:!0};let n=ng(t,e);return n.length===0?null:{mainLibrary:e.mainLibrary,folders:n.map(s=>vi(s)[0]),all:n.length===r.length}}function ig(t){if(t.folders.length===0)return"h5p.json lists no preloadedDependencies, so there is nothing to run";let e=t.folders.join(", ");return t.all?`This package contains no libraries, only content. Exports from h5p.com and h5p.org often leave them out because the site they came from already has them. Set the "libraries" attribute to fetch them, or re-export with them included. Missing: ${e}`:`This package is missing ${t.folders.length} of its libraries: ${e}. Set the "libraries" attribute to fetch them, or re-export with them included.`}var ep='"use strict";(()=>{var o=JSON.parse(document.getElementById("h5p-boot-config").textContent),a=function(t){try{parent.postMessage(Object.assign({channel:"h5p-player",pkgId:o.pkgId},t),location.origin)}catch{}};navigator.serviceWorker&&navigator.serviceWorker.addEventListener("message",function(t){var e=t.data;e&&(e.type==="need-job"||e.type==="need-file")&&a({type:"relay",payload:e})});var s=document.getElementById("h5p-root"),d={h5pJsonPath:o.h5pJsonPath,frameJs:o.frameJs,frameCss:o.frameCss,embedType:"div",frame:!1,copyright:!1,export:!1,icon:!1,fullScreen:!0,postUserStatistics:!1,saveFreq:!1};new window.H5PStandalone.H5P(s,d).then(function(){var t=window.H5P&&window.H5P.externalDispatcher;t&&t.on("xAPI",function(e){var n=e&&e.data?e.data.statement:void 0,r=n&&n.verb?n.verb.id:void 0;a({type:"xapi",statement:n,verb:r}),r==="http://adlnet.gov/expapi/verbs/completed"&&a({type:"finished",statement:n})}),a({type:"ready"})}).catch(function(t){a({type:"error",message:String(t&&t.message||t)})});window.addEventListener("error",function(t){var e=t.target;if(e&&e!==window){if(!(e.dataset&&e.dataset.h5p))return;var n=String(e.src||e.href||"").replace(location.origin,""),r=String(o.h5pJsonPath).replace(location.origin,"")+"/",i=n.indexOf(r)===0?n.slice(r.length):n;a({type:"error",message:"Could not load "+i});return}a({type:"error",message:String(t.message||"Script error in H5P content")})},!0);})();';var wc={script:["cdn.jsdelivr.net","cdnjs.cloudflare.com","ajax.googleapis.com","www.youtube.com","player.vimeo.com","developers.panopto.com"],style:["fonts.googleapis.com"],font:["fonts.gstatic.com","fonts.googleapis.com"]},ag=/^(?:(?:https?|wss?):\/\/)?(?:\*\.)?[a-z0-9.-]+(?::\d+)?$/i;function og(t){return t?[...new Set(t.map(e=>e.trim()).filter(e=>ag.test(e)))]:[]}function _c(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function cg(t,e){let r=new Set;for(let n of Object.values(t))try{let s=new URL(n,e).origin;s!==new URL(e).origin&&r.add(s)}catch{}return[...r]}function lg(t){let e=cg(t.assets,t.virtualRoot),r=og(t.allowOrigins),n=(s,...i)=>`${s} ${i.filter(Boolean).join(" ")}`;return["default-src 'self'",n("script-src","'self'",...e,...wc.script,...r,`'nonce-${t.nonce}'`,"'unsafe-eval'"),n("style-src","'self'",...e,...wc.style,...r,"'unsafe-inline'"),n("font-src","'self'",...e,...wc.font,...r,"data:"),"img-src * data: blob:","media-src * data: blob:","frame-src *",n("connect-src","'self'",...r),"worker-src 'self' blob:","object-src 'none'","base-uri 'self'","form-action 'none'"].join("; ")}function tp(t){let{pkgId:e,virtualRoot:r,assets:n,nonce:s}=t,i=lg(t),a=JSON.stringify({pkgId:e,h5pJsonPath:r,frameJs:n.frameJs,frameCss:n.frameCss}).replaceAll("<","\\u003c");return`<!DOCTYPE html>
3
3
  <html lang="en" class="h5p-iframe">
4
4
  <head>
5
5
  <meta charset="utf-8">
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1">
7
- <meta http-equiv="Content-Security-Policy" content="${hc(i)}">
8
- <title>${hc(t.title??"H5P content")}</title>
7
+ <meta http-equiv="Content-Security-Policy" content="${_c(i)}">
8
+ <title>${_c(t.title??"H5P content")}</title>
9
9
  <style nonce="${s}">
10
10
  html, body { background: transparent; }
11
11
  body { overflow-x: hidden; }
12
12
  #h5p-root { width: 100%; }
13
+ .h5p-video.h5p-youtube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
13
14
  </style>
14
15
  </head>
15
16
  <body>
16
17
  <div id="h5p-root"></div>
17
- <script nonce="${s}" src="${hc(n.mainJs)}" charset="UTF-8"><\/script>
18
- <script nonce="${s}">
19
- ${rg(a)}
20
- <\/script>
18
+ <script nonce="${s}" src="${_c(n.mainJs)}" charset="UTF-8"><\/script>
19
+ <script type="application/json" id="h5p-boot-config">${a}<\/script>
20
+ <script nonce="${s}">${ep}<\/script>
21
21
  </body>
22
- </html>`}function rg(t){return`(function () {
23
- var config = ${t};
24
- // To this document's own origin, never '*'. The element's page is same-origin by construction
25
- // (the worker script must be, and this frame lives under its scope), so nothing legitimate is
26
- // lost \u2014 but package ids are derived from the URL and therefore guessable, and a third-party
27
- // page that framed this URL directly would otherwise be handed every xAPI statement.
28
- var post = function (message) {
29
- try { parent.postMessage(Object.assign({ channel: 'h5p-player', pkgId: config.pkgId }, message), location.origin); }
30
- catch (error) { /* a detached parent is not worth reporting */ }
31
- };
32
-
33
- // The worker cannot start a long job itself, so it asks this client and the element obliges.
34
- if (navigator.serviceWorker) {
35
- navigator.serviceWorker.addEventListener('message', function (event) {
36
- var data = event.data;
37
- if (data && (data.type === 'need-job' || data.type === 'need-file')) {
38
- post({ type: 'relay', payload: data });
39
- }
40
- });
41
- }
42
-
43
- var root = document.getElementById('h5p-root');
44
-
45
- var options = {
46
- h5pJsonPath: config.h5pJsonPath,
47
- frameJs: config.frameJs,
48
- frameCss: config.frameCss,
49
- // Div embedding, not the default iframe: with 'iframe' H5P core writes the content into an
50
- // inner about:blank frame, and whether such a child inherits this document's Service Worker
51
- // controller differs between browsers. With 'div' this document is the H5P document.
52
- embedType: 'div',
53
- frame: false,
54
- copyright: false,
55
- export: false,
56
- icon: false,
57
- fullScreen: true,
58
- // No result endpoints exist here. xAPI leaves as events; nothing is posted or stored.
59
- postUserStatistics: false,
60
- saveFreq: false
61
- };
62
-
63
- new window.H5PStandalone.H5P(root, options)
64
- .then(function () {
65
- var dispatcher = window.H5P && window.H5P.externalDispatcher;
66
- if (dispatcher) {
67
- dispatcher.on('xAPI', function (event) {
68
- var statement = event && event.data ? event.data.statement : undefined;
69
- var verb = statement && statement.verb ? statement.verb.id : undefined;
70
- post({ type: 'xapi', statement: statement, verb: verb });
71
- if (verb === 'http://adlnet.gov/expapi/verbs/completed') {
72
- post({ type: 'finished', statement: statement });
73
- }
74
- });
75
- }
76
- // Sizing is H5P's own: it talks the resizer protocol to the element over postMessage,
77
- // driven by the resize events content types raise when they actually change. Watching the
78
- // DOM from here would miss those and fire on changes that are not resizes.
79
- post({ type: 'ready' });
80
- })
81
- .catch(function (error) {
82
- post({ type: 'error', message: String((error && error.message) || error) });
83
- });
84
-
85
- window.addEventListener('error', function (event) {
86
- post({ type: 'error', message: String(event.message || 'Script error in H5P content') });
87
- });
88
- })();`}function qd(){let t=crypto.getRandomValues(new Uint8Array(16));return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}function Qd(t){let e=t.endsWith("/")?t:`${t}/`,r=e.endsWith("h5p/")?e:`${e}h5p/`;return{base:r,virtual:`${r}virtual/`,frame:`${r}frame/`,ping:`${r}virtual/_ping`}}var Jd=/^[0-9a-f]{32}$/;function $d(t,e){if(e===t.ping)return{kind:"ping"};if(e.startsWith(t.frame)){let r=e.slice(t.frame.length).split(/[/?#]/,1)[0];return Jd.test(r)?{kind:"frame",pkgId:r}:{kind:"none"}}if(e.startsWith(t.virtual)){let r=e.slice(t.virtual.length).split(/[?#]/,1)[0],n=r.indexOf("/");if(n<0)return{kind:"none"};let s=r.slice(0,n);return Jd.test(s)?{kind:"entry",pkgId:s,path:r.slice(n+1)}:{kind:"none"}}return{kind:"none"}}function sp(t,e={}){let r=Qd(e.scope??t.registration.scope),n=new wc(t,r);t.addEventListener("install",()=>{t.skipWaiting()}),t.addEventListener("activate",s=>{s.waitUntil((async()=>{await xd(),await t.clients.claim()})())}),t.addEventListener("message",s=>{s.waitUntil(n.handleMessage(s))}),t.addEventListener("fetch",s=>{let i=$d(r,s.request.url);i.kind!=="none"&&s.respondWith(n.handleFetch(s,i))})}var wc=class{constructor(e,r){this.worker=e;this.routes=r;this.readers=new Map;this.files=new Map;this.pendingFiles=new Map;this.requestedJobs=new Set;this.inflating=new Map;kd(n=>{this.readers.delete(n)})}async handleMessage(e){let r=e.data;if(!r||typeof r.type!="string")return;let n=s=>{let i=e.ports[0];i&&i.postMessage(s)};try{switch(r.type){case"ping":n({ok:!0,type:"pong",version:rc});return;case"register":await Di(r.record),this.readers.delete(r.record.pkgId),n({ok:!0,type:"ack"});return;case"index":{let s=await this.refresh(r.pkgId,await this.reader(r.pkgId));s.partial||await Pi(r.pkgId,{status:"indexed",lastPlayed:Date.now()}),n({ok:!0,type:"indexed",pkgId:r.pkgId,entryCount:s.entries.size,title:s.title,prefetch:s.prefetchable(),partial:s.partial||void 0,ready:s.partial?s.bootReady():void 0});return}case"attach-libraries":{await Pi(r.pkgId,{libraryPkgId:r.libraryPkgId}),this.readers.delete(r.pkgId),n({ok:!0,type:"ack"});return}case"file":{this.files.set(r.pkgId,r.file);let s=this.pendingFiles.get(r.pkgId);s&&(clearTimeout(s.timer),s.resolve(r.file),this.pendingFiles.delete(r.pkgId)),n({ok:!0,type:"ack"});return}}}catch(s){n(sg(s))}}async handleFetch(e,r){try{switch(r.kind){case"ping":return rp({version:rc});case"frame":return await this.serveFrame(r.pkgId);case"entry":return await this.serveEntry(e,r.pkgId,r.path);default:return new Response(null,{status:404})}}catch(n){return n instanceof Mi?pr(n.message,404):n instanceof ae&&n.code==="bad-archive"?pr(n.message,422):n instanceof dr?pr(n.message,507):pr(n instanceof Error?n.message:"Internal player error",500)}}async serveFrame(e){let r=await zn(e);if(!r)return pr("Unknown package",404);await Ud(e);let n=qd(),s=Kd({pkgId:e,virtualRoot:`${this.routes.virtual}${e}`,assets:r.frameAssets,nonce:n,title:r.title,allowOrigins:r.allowOrigins});return new Response(s,{status:200,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store"}})}async serveEntry(e,r,n){let s=Bd(n);if(s===null)return pr("Bad entry path",400);let i=await this.reader(r),a=i.get(s);if(!a&&i.partial){let c=await this.awaitEntry(r,i,s);if(c==="stalled")return tp(`The download has stalled before ${s}`);i=c.reader,a=c.located}if(!a)return new Response(null,{status:404});if(s==="h5p.json"&&i.hasFallbacks)return rp(i.mergedManifest());let o=e.request.headers.get("range");switch(a.entry.strategy.kind){case"inline":return this.serveInline(a,o);case"slice":return this.serveSlice(a,o);case"chunked":return this.serveChunked(e,a,o)}}async serveInline({reader:e,entry:r},n){let s=new Xe(e.pkgId),i=await s.getWhole(r.name);if(i||(await this.cacheInline(s,e,r),i=await s.getWhole(r.name)),!i?.body)return pr("Entry could not be read",500);let a=Ci(n,r.size);return a==="unsatisfiable"?gc(r.size):a==="none"?new Response(i.body,{status:200,headers:Wr(r,{length:r.size})}):new Response(ur(i.body,a),{status:206,headers:Wr(r,{length:a.end-a.start+1,contentRange:Li(a,r.size)})})}cacheInline(e,r,n){let s=`${r.pkgId}\0${n.name}`,i=this.inflating.get(s);if(i)return i;let a=e.putWhole(n.name,()=>r.inflate(n),ac(n.name),n.size).finally(()=>this.inflating.delete(s));return this.inflating.set(s,a),a}async serveSlice({reader:e,entry:r},n){let s=Ci(n,r.size);if(s==="unsatisfiable")return gc(r.size);let i=s==="none"?{start:0,end:r.size-1}:s,a=await e.sliceStream(r,i);return s==="none"?new Response(a,{status:200,headers:Wr(r,{length:r.size})}):new Response(a,{status:206,headers:Wr(r,{length:i.end-i.start+1,contentRange:Li(i,r.size)})})}async serveChunked(e,{reader:r,entry:n},s){let i=r.pkgId,a=new Xe(i),o=()=>this.requestJob(e,i,n.name),c=async l=>await ep(a,n.name,l,{onStall:o})!==null,f=await a.getMeta(n.name);if((!f||!f.complete&&f.available===0)&&(await o(),f=await ep(a,n.name,1,{onStall:o}),!f))return tp("Extraction has not produced any bytes yet");let R=Ci(s,n.size);if(R==="unsatisfiable")return gc(n.size);if(R==="none")return new Response(a.readRange(n.name,{start:0,end:n.size-1},c),{status:200,headers:Wr(n,{length:n.size})});let E=R.start<f.available?{start:R.start,end:Math.min(R.end,f.available-1)}:R;return new Response(a.readRange(n.name,E,c),{status:206,headers:Wr(n,{length:E.end-E.start+1,contentRange:Li(E,n.size)})})}async awaitEntry(e,r,n){let s=new Xe(e),i=null,a=bi(e,ic,()=>i?.()),o=bi(e,_t,()=>i?.()),c=-1,f=Date.now();try{for(;;){let R=await this.refresh(e,r),E=R.get(n);if(E||!R.partial||R.provablyAbsent(n))return{reader:R,located:E};let l=(await s.getArchiveMeta())?.available??0;if(l!==c)c=l,f=Date.now();else if(Date.now()-f>=15e3)return"stalled";await new Promise(h=>{let g=setTimeout(h,500);i=()=>{clearTimeout(g),h()}}),i=null,r=R}}finally{a(),o()}}async requestJob(e,r,n){let s=`${r}\0${n}`;this.requestedJobs.has(s)||(this.requestedJobs.add(s),setTimeout(()=>this.requestedJobs.delete(s),2e3),await this.postToClient(e.clientId,{type:"need-job",pkgId:r,entry:n}))}async postToClient(e,r){let n=e?await this.worker.clients.get(e):void 0;if(n){n.postMessage(r);return}let s=await this.worker.clients.matchAll({type:"window"});for(let i of s)i.postMessage(r)}reader(e){let r=this.readers.get(e);if(r)return r;let n=this.openReader(e);return this.readers.set(e,n),n.catch(()=>this.readers.delete(e)),n}async openReader(e){let r=await zn(e);if(!r)throw new Mi(e);let n=r.source.type==="file"?await this.fileFor(e):void 0;if(r.source.type==="chunked"){let c=new Xe(e);if(!(await c.getArchiveMeta())?.complete){let R=await c.getForwardIndex()??{entries:[],parsedTo:0,done:!1,stopped:null},E=await uc(e,r.source,n,{partial:!0}),l=await Hn.fromForwardIndex(e,E,R);return r.libraryPkgId&&l.use(await this.reader(r.libraryPkgId)),l}}let s=await uc(e,r.source,n),i=r.role!=="libraries"&&!r.libraryPkgId,a=await Hn.open(e,s,{requireLibraries:i});r.libraryPkgId&&(a.use(await this.reader(r.libraryPkgId)),a.assertLibrariesPresent());let{title:o}=a;return o&&o!==r.title&&await Pi(e,{title:o}),a}async refresh(e,r){if(!r.partial)return r;let n=new Xe(e);if((await n.getArchiveMeta())?.complete)return this.readers.delete(e),this.reader(e);let i=await n.getForwardIndex();return i&&await r.absorb(i),r}async fileFor(e){let r=this.files.get(e);if(r)return r;let n=this.pendingFiles.get(e);if(n)return n.promise;let s,i,a=new Promise((c,f)=>{s=c,i=f}),o={promise:a,resolve:s,timer:setTimeout(()=>{this.pendingFiles.get(e)===o&&this.pendingFiles.delete(e),i(new ae("bad-archive","The picked file is no longer available"))},15e3)};return this.pendingFiles.set(e,o),await this.postToClient("",{type:"need-file",pkgId:e}),a}};async function ep(t,e,r,n={}){let s=n.stallMs??15e3,i=-1,a=Date.now(),o=!1,c=null,f=bi(t.pkgId,e,()=>c?.());try{for(;;){let R=await t.getMeta(e);if(R&&(R.available>=r||R.complete))return R;let E=R?.available??0;if(E!==i)i=E,a=Date.now(),o=!1;else if(Date.now()-a>=s){if(o||!n.onStall)return null;await n.onStall(),o=!0,a=Date.now()}await new Promise(l=>{let h=setTimeout(l,500);c=()=>{clearTimeout(h),l()}}),c=null}}finally{f()}}function Wr(t,e){let r=new Headers({"content-type":ac(t.name),"content-length":String(e.length),"accept-ranges":"bytes","cache-control":"no-store"});return e.contentRange&&r.set("content-range",e.contentRange),r}function gc(t){return new Response(null,{status:416,headers:{"content-range":`bytes */${t}`,"accept-ranges":"bytes"}})}function tp(t){return new Response(t,{status:503,headers:{"retry-after":"1","content-type":"text/plain; charset=utf-8"}})}function rp(t){return new Response(JSON.stringify(t),{headers:{"content-type":"application/json; charset=utf-8","cache-control":"no-store"}})}function pr(t,e){return new Response(t,{status:e,headers:{"content-type":"text/plain; charset=utf-8"}})}var Mi=class extends ae{constructor(e){super("bad-archive",`Package ${e} is not registered`),this.name="UnknownPackageError"}};function sg(t){return t instanceof ae?{ok:!1,code:t.code,message:t.message,missingLibraries:t.missingLibraries}:t instanceof dr?{ok:!1,code:"quota",message:t.message}:{ok:!1,code:"bad-archive",message:t instanceof Error?t.message:String(t)}}ji({useWebWorkers:!1});sp(self);})();
22
+ </html>`}function rp(){let t=crypto.getRandomValues(new Uint8Array(16));return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}function sp(t){let e=t.endsWith("/")?t:`${t}/`,r=e.endsWith("h5p/")?e:`${e}h5p/`;return{base:r,virtual:`${r}virtual/`,frame:`${r}frame/`,ping:`${r}virtual/_ping`}}var np=/^[0-9a-f]{32}$/;function ip(t,e){if(e===t.ping)return{kind:"ping"};if(e.startsWith(t.frame)){let r=e.slice(t.frame.length).split(/[/?#]/,1)[0];return np.test(r)?{kind:"frame",pkgId:r}:{kind:"none"}}if(e.startsWith(t.virtual)){let r=e.slice(t.virtual.length).split(/[?#]/,1)[0],n=r.indexOf("/");if(n<0)return{kind:"none"};let s=r.slice(0,n);return np.test(s)?{kind:"entry",pkgId:s,path:r.slice(n+1)}:{kind:"none"}}return{kind:"none"}}async function Ac(t,e,r,n={}){let s=n.stallMs??15e3,i=-1,a=-1,o=Date.now(),c=!1,l=null,R=Gn(t.pkgId,e,p=>{p.received!==void 0&&p.received!==a&&(a=p.received,o=Date.now(),c=!1),l?.()});try{for(;;){let p=await t.getMeta(e);if(p&&(p.available>=r||p.complete)||p?.error)return p;let f=p?.available??0;if(f!==i)i=f,o=Date.now(),c=!1;else if(Date.now()-o>=s){if(c||!n.onStall)return null;await n.onStall(),c=!0,o=Date.now()}await new Promise(m=>{let h=setTimeout(m,500);l=()=>{clearTimeout(h),m()}}),l=null}}finally{R()}}function yc(t){if(!Number.isFinite(t)||t<0)return"? B";if(t<1024)return`${Math.round(t)} B`;let e=["kB","MB","GB","TB"],r=t/1024,n=0;for(;r>=1024&&n<e.length-1;)r/=1024,n+=1;return`${r<10?r.toFixed(1):String(Math.round(r))} ${e[n]}`}async function fg(){let t=typeof navigator>"u"?void 0:navigator.storage;if(typeof t?.estimate!="function")return null;try{let{usage:e,quota:r}=await t.estimate();return typeof e!="number"||typeof r!="number"?null:{usage:e,quota:r}}catch{return null}}async function ap(t,e){let r=await fg(),n=e===null?`Not enough storage for ${t}`:`Not enough storage: ${t} needs ${yc(e)}`;return r?`${n}; this site is using ${yc(r.usage)} of the ${yc(r.quota)} the browser allows it.`:`${n}.`}function dp(t,e={}){let r=sp(e.scope??t.registration.scope),n=new Sc(t,r);t.addEventListener("install",()=>{t.skipWaiting()}),t.addEventListener("activate",s=>{s.waitUntil((async()=>{await Md(),await t.clients.claim()})())}),t.addEventListener("message",s=>{s.waitUntil(n.handleMessage(s))}),t.addEventListener("fetch",s=>{let i=ip(r,s.request.url);i.kind!=="none"&&s.respondWith(n.handleFetch(s,i))})}var Sc=class{constructor(e,r){this.worker=e;this.routes=r;this.readers=new Map;this.files=new Map;this.pendingFiles=new Map;this.requestedJobs=new Set;this.inflating=new Map;this.storageFullUntil=0;Wd(n=>{this.readers.delete(n)})}async handleMessage(e){let r=e.data;if(!r||typeof r.type!="string")return;let n=s=>{let i=e.ports[0];i&&i.postMessage(s)};try{switch(r.type){case"ping":n({ok:!0,type:"pong",version:ac});return;case"register":await this.registerPackage(r.record),n({ok:!0,type:"ack"});return;case"index":{let s=await this.refresh(r.pkgId,await this.reader(r.pkgId));s.partial||await fp(Fi(r.pkgId,{status:"indexed",lastPlayed:Date.now()})),n({ok:!0,type:"indexed",pkgId:r.pkgId,entryCount:s.entries.size,title:s.title,prefetch:s.prefetchable(),partial:s.partial||void 0,ready:s.partial?s.bootReady():void 0});return}case"attach-libraries":{await Fi(r.pkgId,{libraryPkgId:r.libraryPkgId}),this.readers.delete(r.pkgId),n({ok:!0,type:"ack"});return}case"file":{this.files.set(r.pkgId,r.file);let s=this.pendingFiles.get(r.pkgId);s&&(clearTimeout(s.timer),s.resolve(r.file),this.pendingFiles.delete(r.pkgId)),n({ok:!0,type:"ack"});return}}}catch(s){n(await dg(s))}}async registerPackage(e){try{await Li(e)}catch(r){if(!Wn(r)||!await Vr(e.pkgId))throw r}this.readers.delete(e.pkgId)}async handleFetch(e,r){try{switch(r.kind){case"ping":return up({version:ac});case"frame":return await this.serveFrame(r.pkgId);case"entry":return await this.serveEntry(e,r.pkgId,r.path);default:return new Response(null,{status:404})}}catch(n){return n instanceof zi?Yt(n.message,404):n instanceof ae&&n.code==="bad-archive"?Yt(n.message,422):n instanceof Bt?Yt(n.message,507):Yt(n instanceof Error?n.message:"Internal player error",500)}}async serveFrame(e){let r=await Vr(e);if(!r)return Yt("Unknown package",404);await fp(zd(e));let n=rp(),s=tp({pkgId:e,virtualRoot:`${this.routes.virtual}${e}`,assets:r.frameAssets,nonce:n,title:r.title,allowOrigins:r.allowOrigins});return new Response(s,{status:200,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store"}})}async serveEntry(e,r,n){let s=Gd(n);if(s===null)return Yt("Bad entry path",400);let i=await this.reader(r),a=i.get(s);if(!a&&i.partial){let c=await this.awaitEntry(r,i,s);if(c==="stalled")return cp(`The download has stalled before ${s}`);i=c.reader,a=c.located}if(!a)return new Response(null,{status:404});if(s==="h5p.json"&&i.hasFallbacks)return up(i.mergedManifest());let o=e.request.headers.get("range");switch(a.entry.strategy.kind){case"inline":return this.serveInline(a,o);case"slice":return this.serveSlice(a,o);case"chunked":return this.serveChunked(e,a,o)}}async serveInline({reader:e,entry:r},n){let s=new Xe(e.pkgId),i=await s.getWhole(r.name);if(!i&&Date.now()>=this.storageFullUntil)try{await this.cacheInline(s,e,r),i=await s.getWhole(r.name)}catch(o){if(!(o instanceof Bt))throw o;this.storageFullUntil=Date.now()+1e4}if(!i)return this.serveUncached(e,r,n);if(!i.body)return Yt("Entry could not be read",500);let a=Vn(n,r.size);return a==="unsatisfiable"?Bi(r.size):a==="none"?new Response(i.body,{status:200,headers:Ht(r,{length:r.size})}):new Response(kt(i.body,a),{status:206,headers:Ht(r,{length:a.end-a.start+1,contentRange:Xn(a,r.size)})})}cacheInline(e,r,n){let s=`${r.pkgId}\0${n.name}`,i=this.inflating.get(s);if(i)return i;let a=e.putWhole(n.name,()=>r.inflate(n),fc(n.name),n.size).finally(()=>this.inflating.delete(s));return this.inflating.set(s,a),a}async serveUncached(e,r,n){let s=Vn(n,r.size);if(s==="unsatisfiable")return Bi(r.size);let i=s==="none"||s.start===0&&s.end===r.size-1,a=s==="none"?{start:0,end:r.size-1}:s,o;return r.size===0?o=null:r.method===jn?o=await e.sliceStream(r,a):i?o=e.inflate(r):o=kt(e.inflate(r),a),s==="none"?new Response(o,{status:200,headers:Ht(r,{length:r.size})}):new Response(o,{status:206,headers:Ht(r,{length:a.end-a.start+1,contentRange:Xn(a,r.size)})})}async serveSlice({reader:e,entry:r},n){let s=Vn(n,r.size);if(s==="unsatisfiable")return Bi(r.size);let i=s==="none"?{start:0,end:r.size-1}:s,a=await e.sliceStream(r,i);return s==="none"?new Response(a,{status:200,headers:Ht(r,{length:r.size})}):new Response(a,{status:206,headers:Ht(r,{length:i.end-i.start+1,contentRange:Xn(i,r.size)})})}async serveChunked(e,{reader:r,entry:n},s){let i=r.pkgId,a=new Xe(i),o=()=>this.requestJob(e,i,n.name),c=async f=>{let m=await Ac(a,n.name,f,{onStall:o});return m!==null&&(m.complete||m.available>=f)},l=await a.getMeta(n.name);if(l?.error){if(Date.now()-l.error.at<1e4)return lp(l.error);await a.setMeta(n.name,{size:n.size,available:0,complete:!1}),l=void 0}if(!l||!l.complete&&l.available===0){if(await o(),l=await Ac(a,n.name,1,{onStall:o}),!l)return cp("Extraction has not produced any bytes yet");if(l.error&&l.available===0)return lp(l.error)}let R=Vn(s,n.size);if(R==="unsatisfiable")return Bi(n.size);if(R==="none")return new Response(a.readRange(n.name,{start:0,end:n.size-1},c),{status:200,headers:Ht(n,{length:n.size})});let p=R.start<l.available?{start:R.start,end:Math.min(R.end,l.available-1)}:R;return new Response(a.readRange(n.name,p,c),{status:206,headers:Ht(n,{length:p.end-p.start+1,contentRange:Xn(p,n.size)})})}async awaitEntry(e,r,n){let s=new Xe(e),i=null,a=Gn(e,lc,()=>i?.()),o=Gn(e,_t,()=>i?.()),c=-1,l=Date.now();try{for(;;){let R=await this.refresh(e,r),p=R.get(n);if(p||!R.partial||R.provablyAbsent(n))return{reader:R,located:p};let f=(await s.getArchiveMeta())?.available??0;if(f!==c)c=f,l=Date.now();else if(Date.now()-l>=15e3)return"stalled";await new Promise(m=>{let h=setTimeout(m,500);i=()=>{clearTimeout(h),m()}}),i=null,r=R}}finally{a(),o()}}async requestJob(e,r,n){let s=`${r}\0${n}`;this.requestedJobs.has(s)||(this.requestedJobs.add(s),setTimeout(()=>this.requestedJobs.delete(s),2e3),await this.postToClient(e.clientId,{type:"need-job",pkgId:r,entry:n}))}async postToClient(e,r){let n=e?await this.worker.clients.get(e):void 0;if(n){n.postMessage(r);return}let s=await this.worker.clients.matchAll({type:"window"});for(let i of s)i.postMessage(r)}reader(e){let r=this.readers.get(e);if(r)return r;let n=this.openReader(e);return this.readers.set(e,n),n.catch(()=>this.readers.delete(e)),n}async openReader(e){let r=await Vr(e);if(!r)throw new zi(e);let n=r.source.type==="file"?await this.fileFor(e):void 0;if(r.source.type==="chunked"){let c=new Xe(e);if(!(await c.getArchiveMeta())?.complete){let R=await c.getForwardIndex()??{entries:[],parsedTo:0,done:!1,stopped:null},p=await Ec(e,r.source,n,{partial:!0}),f=await Zn.fromForwardIndex(e,p,R);return r.libraryPkgId&&f.use(await this.reader(r.libraryPkgId)),f}}let s=await Ec(e,r.source,n),i=r.role!=="libraries"&&!r.libraryPkgId,a=await Zn.open(e,s,{requireLibraries:i});r.libraryPkgId&&(a.use(await this.reader(r.libraryPkgId)),a.assertLibrariesPresent());let{title:o}=a;return o&&o!==r.title&&await Fi(e,{title:o}),a}async refresh(e,r){if(!r.partial)return r;let n=new Xe(e);if((await n.getArchiveMeta())?.complete)return this.readers.delete(e),this.reader(e);let i=await n.getForwardIndex();return i&&await r.absorb(i),r}async fileFor(e){let r=this.files.get(e);if(r)return r;let n=this.pendingFiles.get(e);if(n)return n.promise;let s,i,a=new Promise((c,l)=>{s=c,i=l}),o={promise:a,resolve:s,timer:setTimeout(()=>{this.pendingFiles.get(e)===o&&this.pendingFiles.delete(e),i(new ae("bad-archive","The picked file is no longer available"))},15e3)};return this.pendingFiles.set(e,o),await this.postToClient("",{type:"need-file",pkgId:e}),a}};function Ht(t,e){let r=new Headers({"content-type":fc(t.name),"content-length":String(e.length),"accept-ranges":"bytes","cache-control":"no-store"});return e.contentRange&&r.set("content-range",e.contentRange),r}function Bi(t){return new Response(null,{status:416,headers:{"content-range":`bytes */${t}`,"accept-ranges":"bytes"}})}function cp(t){return new Response(t,{status:503,headers:{"retry-after":"1","content-type":"text/plain; charset=utf-8"}})}function lp(t){return Yt(t.message,t.code==="quota"?507:500)}async function fp(t){try{await t}catch(e){if(!Wn(e))throw e}}function up(t){return new Response(JSON.stringify(t),{headers:{"content-type":"application/json; charset=utf-8","cache-control":"no-store"}})}function Yt(t,e){return new Response(t,{status:e,headers:{"content-type":"text/plain; charset=utf-8"}})}var zi=class extends ae{constructor(e){super("bad-archive",`Package ${e} is not registered`),this.name="UnknownPackageError"}};async function dg(t){return t instanceof ae?{ok:!1,code:t.code,message:t.message,missingLibraries:t.missingLibraries}:t instanceof Bt?{ok:!1,code:"quota",message:t.message}:Wn(t)?{ok:!1,code:"quota",message:await ap("this package",null)}:{ok:!1,code:"bad-archive",message:t instanceof Error?t.message:String(t)}}Ji({useWebWorkers:!1});dp(self);})();