@az0uz/zarr
Version:
Javascript implementation of Zarr
2 lines • 483 kB
JavaScript
import{addCodec as A}from"./core.min.mjs";export{ArrayNotFoundError,BoundsCheckError,ContainsArrayError,ContainsGroupError,Group,GroupNotFoundError,HTTPError,HTTPStore,InvalidSliceError,KeyError,MemoryStore,NegativeStepError,NestedArray,ObjectStore,PathNotFoundError,PermissionError,TooManyIndicesError,ValueError,ZarrArray,addCodec,array,create,createProxy,empty,full,getCodec,getTypedArrayCtr,getTypedArrayDtypeString,group,isKeyError,normalizeStoreArgument,ones,openArray,openGroup,rangeTypedArray,slice,sliceIndices,zeros}from"./core.min.mjs";
/*! pako 2.0.3 https://github.com/nodeca/pako @license (MIT AND Zlib) */function I(A){let I=A.length;for(;--I>=0;)A[I]=0}const g=256,B=286,Q=30,C=15,E=new Uint8Array([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]),i=new Uint8Array([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]),o=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),D=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=new Array(576);I(a);const h=new Array(60);I(h);const F=new Array(512);I(F);const s=new Array(256);I(s);const G=new Array(29);I(G);const y=new Array(Q);function w(A,I,g,B,Q){this.static_tree=A,this.extra_bits=I,this.extra_base=g,this.elems=B,this.max_length=Q,this.has_stree=A&&A.length}let S,N,R;function U(A,I){this.dyn_tree=A,this.max_code=0,this.stat_desc=I}I(y);const J=A=>A<256?F[A]:F[256+(A>>>7)],k=(A,I)=>{A.pending_buf[A.pending++]=255&I,A.pending_buf[A.pending++]=I>>>8&255},t=(A,I,g)=>{A.bi_valid>16-g?(A.bi_buf|=I<<A.bi_valid&65535,k(A,A.bi_buf),A.bi_buf=I>>16-A.bi_valid,A.bi_valid+=g-16):(A.bi_buf|=I<<A.bi_valid&65535,A.bi_valid+=g)},q=(A,I,g)=>{t(A,g[2*I],g[2*I+1])},L=(A,I)=>{let g=0;do{g|=1&A,A>>>=1,g<<=1}while(--I>0);return g>>>1},K=(A,I,g)=>{const B=new Array(16);let Q,E,i=0;for(Q=1;Q<=C;Q++)B[Q]=i=i+g[Q-1]<<1;for(E=0;E<=I;E++){let I=A[2*E+1];0!==I&&(A[2*E]=L(B[I]++,I))}},c=A=>{let I;for(I=0;I<B;I++)A.dyn_ltree[2*I]=0;for(I=0;I<Q;I++)A.dyn_dtree[2*I]=0;for(I=0;I<19;I++)A.bl_tree[2*I]=0;A.dyn_ltree[512]=1,A.opt_len=A.static_len=0,A.last_lit=A.matches=0},M=A=>{A.bi_valid>8?k(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0},H=(A,I,g,B)=>{const Q=2*I,C=2*g;return A[Q]<A[C]||A[Q]===A[C]&&B[I]<=B[g]},Y=(A,I,g)=>{const B=A.heap[g];let Q=g<<1;for(;Q<=A.heap_len&&(Q<A.heap_len&&H(I,A.heap[Q+1],A.heap[Q],A.depth)&&Q++,!H(I,B,A.heap[Q],A.depth));)A.heap[g]=A.heap[Q],g=Q,Q<<=1;A.heap[g]=B},r=(A,I,B)=>{let Q,C,o,D,a=0;if(0!==A.last_lit)do{Q=A.pending_buf[A.d_buf+2*a]<<8|A.pending_buf[A.d_buf+2*a+1],C=A.pending_buf[A.l_buf+a],a++,0===Q?q(A,C,I):(o=s[C],q(A,o+g+1,I),D=E[o],0!==D&&(C-=G[o],t(A,C,D)),Q--,o=J(Q),q(A,o,B),D=i[o],0!==D&&(Q-=y[o],t(A,Q,D)))}while(a<A.last_lit);q(A,256,I)},n=(A,I)=>{const g=I.dyn_tree,B=I.stat_desc.static_tree,Q=I.stat_desc.has_stree,E=I.stat_desc.elems;let i,o,D,a=-1;for(A.heap_len=0,A.heap_max=573,i=0;i<E;i++)0!==g[2*i]?(A.heap[++A.heap_len]=a=i,A.depth[i]=0):g[2*i+1]=0;for(;A.heap_len<2;)D=A.heap[++A.heap_len]=a<2?++a:0,g[2*D]=1,A.depth[D]=0,A.opt_len--,Q&&(A.static_len-=B[2*D+1]);for(I.max_code=a,i=A.heap_len>>1;i>=1;i--)Y(A,g,i);D=E;do{i=A.heap[1],A.heap[1]=A.heap[A.heap_len--],Y(A,g,1),o=A.heap[1],A.heap[--A.heap_max]=i,A.heap[--A.heap_max]=o,g[2*D]=g[2*i]+g[2*o],A.depth[D]=(A.depth[i]>=A.depth[o]?A.depth[i]:A.depth[o])+1,g[2*i+1]=g[2*o+1]=D,A.heap[1]=D++,Y(A,g,1)}while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],((A,I)=>{const g=I.dyn_tree,B=I.max_code,Q=I.stat_desc.static_tree,E=I.stat_desc.has_stree,i=I.stat_desc.extra_bits,o=I.stat_desc.extra_base,D=I.stat_desc.max_length;let a,h,F,s,G,y,w=0;for(s=0;s<=C;s++)A.bl_count[s]=0;for(g[2*A.heap[A.heap_max]+1]=0,a=A.heap_max+1;a<573;a++)h=A.heap[a],s=g[2*g[2*h+1]+1]+1,s>D&&(s=D,w++),g[2*h+1]=s,h>B||(A.bl_count[s]++,G=0,h>=o&&(G=i[h-o]),y=g[2*h],A.opt_len+=y*(s+G),E&&(A.static_len+=y*(Q[2*h+1]+G)));if(0!==w){do{for(s=D-1;0===A.bl_count[s];)s--;A.bl_count[s]--,A.bl_count[s+1]+=2,A.bl_count[D]--,w-=2}while(w>0);for(s=D;0!==s;s--)for(h=A.bl_count[s];0!==h;)F=A.heap[--a],F>B||(g[2*F+1]!==s&&(A.opt_len+=(s-g[2*F+1])*g[2*F],g[2*F+1]=s),h--)}})(A,I),K(g,a,A.bl_count)},e=(A,I,g)=>{let B,Q,C=-1,E=I[1],i=0,o=7,D=4;for(0===E&&(o=138,D=3),I[2*(g+1)+1]=65535,B=0;B<=g;B++)Q=E,E=I[2*(B+1)+1],++i<o&&Q===E||(i<D?A.bl_tree[2*Q]+=i:0!==Q?(Q!==C&&A.bl_tree[2*Q]++,A.bl_tree[32]++):i<=10?A.bl_tree[34]++:A.bl_tree[36]++,i=0,C=Q,0===E?(o=138,D=3):Q===E?(o=6,D=3):(o=7,D=4))},d=(A,I,g)=>{let B,Q,C=-1,E=I[1],i=0,o=7,D=4;for(0===E&&(o=138,D=3),B=0;B<=g;B++)if(Q=E,E=I[2*(B+1)+1],!(++i<o&&Q===E)){if(i<D)do{q(A,Q,A.bl_tree)}while(0!=--i);else 0!==Q?(Q!==C&&(q(A,Q,A.bl_tree),i--),q(A,16,A.bl_tree),t(A,i-3,2)):i<=10?(q(A,17,A.bl_tree),t(A,i-3,3)):(q(A,18,A.bl_tree),t(A,i-11,7));i=0,C=Q,0===E?(o=138,D=3):Q===E?(o=6,D=3):(o=7,D=4)}};let f=!1;const l=(A,I,g,B)=>{t(A,0+(B?1:0),3),((A,I,g,B)=>{M(A),B&&(k(A,g),k(A,~g)),A.pending_buf.set(A.window.subarray(I,I+g),A.pending),A.pending+=g})(A,I,g,!0)};var W=(A,I,B,Q)=>{let C,E,i=0;A.level>0?(2===A.strm.data_type&&(A.strm.data_type=(A=>{let I,B=4093624447;for(I=0;I<=31;I++,B>>>=1)if(1&B&&0!==A.dyn_ltree[2*I])return 0;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return 1;for(I=32;I<g;I++)if(0!==A.dyn_ltree[2*I])return 1;return 0})(A)),n(A,A.l_desc),n(A,A.d_desc),i=(A=>{let I;for(e(A,A.dyn_ltree,A.l_desc.max_code),e(A,A.dyn_dtree,A.d_desc.max_code),n(A,A.bl_desc),I=18;I>=3&&0===A.bl_tree[2*D[I]+1];I--);return A.opt_len+=3*(I+1)+5+5+4,I})(A),C=A.opt_len+3+7>>>3,E=A.static_len+3+7>>>3,E<=C&&(C=E)):C=E=B+5,B+4<=C&&-1!==I?l(A,I,B,Q):4===A.strategy||E===C?(t(A,2+(Q?1:0),3),r(A,a,h)):(t(A,4+(Q?1:0),3),((A,I,g,B)=>{let Q;for(t(A,I-257,5),t(A,g-1,5),t(A,B-4,4),Q=0;Q<B;Q++)t(A,A.bl_tree[2*D[Q]+1],3);d(A,A.dyn_ltree,I-1),d(A,A.dyn_dtree,g-1)})(A,A.l_desc.max_code+1,A.d_desc.max_code+1,i+1),r(A,A.dyn_ltree,A.dyn_dtree)),c(A),Q&&M(A)},x={_tr_init:A=>{f||((()=>{let A,I,g,D,U;const J=new Array(16);for(g=0,D=0;D<28;D++)for(G[D]=g,A=0;A<1<<E[D];A++)s[g++]=D;for(s[g-1]=D,U=0,D=0;D<16;D++)for(y[D]=U,A=0;A<1<<i[D];A++)F[U++]=D;for(U>>=7;D<Q;D++)for(y[D]=U<<7,A=0;A<1<<i[D]-7;A++)F[256+U++]=D;for(I=0;I<=C;I++)J[I]=0;for(A=0;A<=143;)a[2*A+1]=8,A++,J[8]++;for(;A<=255;)a[2*A+1]=9,A++,J[9]++;for(;A<=279;)a[2*A+1]=7,A++,J[7]++;for(;A<=287;)a[2*A+1]=8,A++,J[8]++;for(K(a,287,J),A=0;A<Q;A++)h[2*A+1]=5,h[2*A]=L(A,5);S=new w(a,E,257,B,C),N=new w(h,i,0,Q,C),R=new w(new Array(0),o,0,19,7)})(),f=!0),A.l_desc=new U(A.dyn_ltree,S),A.d_desc=new U(A.dyn_dtree,N),A.bl_desc=new U(A.bl_tree,R),A.bi_buf=0,A.bi_valid=0,c(A)},_tr_stored_block:l,_tr_flush_block:W,_tr_tally:(A,I,B)=>(A.pending_buf[A.d_buf+2*A.last_lit]=I>>>8&255,A.pending_buf[A.d_buf+2*A.last_lit+1]=255&I,A.pending_buf[A.l_buf+A.last_lit]=255&B,A.last_lit++,0===I?A.dyn_ltree[2*B]++:(A.matches++,I--,A.dyn_ltree[2*(s[B]+g+1)]++,A.dyn_dtree[2*J(I)]++),A.last_lit===A.lit_bufsize-1),_tr_align:A=>{t(A,2,3),q(A,256,a),(A=>{16===A.bi_valid?(k(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)})(A)}};var b=(A,I,g,B)=>{let Q=65535&A|0,C=A>>>16&65535|0,E=0;for(;0!==g;){E=g>2e3?2e3:g,g-=E;do{Q=Q+I[B++]|0,C=C+Q|0}while(--E);Q%=65521,C%=65521}return Q|C<<16|0};const p=new Uint32Array((()=>{let A,I=[];for(var g=0;g<256;g++){A=g;for(var B=0;B<8;B++)A=1&A?3988292384^A>>>1:A>>>1;I[g]=A}return I})());var T=(A,I,g,B)=>{const Q=p,C=B+g;A^=-1;for(let g=B;g<C;g++)A=A>>>8^Q[255&(A^I[g])];return-1^A},m={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Z={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:X,_tr_stored_block:V,_tr_flush_block:u,_tr_tally:O,_tr_align:P}=x,{Z_NO_FLUSH:j,Z_PARTIAL_FLUSH:v,Z_FULL_FLUSH:z,Z_FINISH:_,Z_BLOCK:$,Z_OK:AA,Z_STREAM_END:IA,Z_STREAM_ERROR:gA,Z_DATA_ERROR:BA,Z_BUF_ERROR:QA,Z_DEFAULT_COMPRESSION:CA,Z_FILTERED:EA,Z_HUFFMAN_ONLY:iA,Z_RLE:oA,Z_FIXED:DA,Z_DEFAULT_STRATEGY:aA,Z_UNKNOWN:hA,Z_DEFLATED:FA}=Z,sA=258,GA=262,yA=103,wA=113,SA=666,NA=(A,I)=>(A.msg=m[I],I),RA=A=>(A<<1)-(A>4?9:0),UA=A=>{let I=A.length;for(;--I>=0;)A[I]=0};let JA=(A,I,g)=>(I<<A.hash_shift^g)&A.hash_mask;const kA=A=>{const I=A.state;let g=I.pending;g>A.avail_out&&(g=A.avail_out),0!==g&&(A.output.set(I.pending_buf.subarray(I.pending_out,I.pending_out+g),A.next_out),A.next_out+=g,I.pending_out+=g,A.total_out+=g,A.avail_out-=g,I.pending-=g,0===I.pending&&(I.pending_out=0))},tA=(A,I)=>{u(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,I),A.block_start=A.strstart,kA(A.strm)},qA=(A,I)=>{A.pending_buf[A.pending++]=I},LA=(A,I)=>{A.pending_buf[A.pending++]=I>>>8&255,A.pending_buf[A.pending++]=255&I},KA=(A,I,g,B)=>{let Q=A.avail_in;return Q>B&&(Q=B),0===Q?0:(A.avail_in-=Q,I.set(A.input.subarray(A.next_in,A.next_in+Q),g),1===A.state.wrap?A.adler=b(A.adler,I,Q,g):2===A.state.wrap&&(A.adler=T(A.adler,I,Q,g)),A.next_in+=Q,A.total_in+=Q,Q)},cA=(A,I)=>{let g,B,Q=A.max_chain_length,C=A.strstart,E=A.prev_length,i=A.nice_match;const o=A.strstart>A.w_size-GA?A.strstart-(A.w_size-GA):0,D=A.window,a=A.w_mask,h=A.prev,F=A.strstart+sA;let s=D[C+E-1],G=D[C+E];A.prev_length>=A.good_match&&(Q>>=2),i>A.lookahead&&(i=A.lookahead);do{if(g=I,D[g+E]===G&&D[g+E-1]===s&&D[g]===D[C]&&D[++g]===D[C+1]){C+=2,g++;do{}while(D[++C]===D[++g]&&D[++C]===D[++g]&&D[++C]===D[++g]&&D[++C]===D[++g]&&D[++C]===D[++g]&&D[++C]===D[++g]&&D[++C]===D[++g]&&D[++C]===D[++g]&&C<F);if(B=sA-(F-C),C=F-sA,B>E){if(A.match_start=I,E=B,B>=i)break;s=D[C+E-1],G=D[C+E]}}}while((I=h[I&a])>o&&0!=--Q);return E<=A.lookahead?E:A.lookahead},MA=A=>{const I=A.w_size;let g,B,Q,C,E;do{if(C=A.window_size-A.lookahead-A.strstart,A.strstart>=I+(I-GA)){A.window.set(A.window.subarray(I,I+I),0),A.match_start-=I,A.strstart-=I,A.block_start-=I,B=A.hash_size,g=B;do{Q=A.head[--g],A.head[g]=Q>=I?Q-I:0}while(--B);B=I,g=B;do{Q=A.prev[--g],A.prev[g]=Q>=I?Q-I:0}while(--B);C+=I}if(0===A.strm.avail_in)break;if(B=KA(A.strm,A.window,A.strstart+A.lookahead,C),A.lookahead+=B,A.lookahead+A.insert>=3)for(E=A.strstart-A.insert,A.ins_h=A.window[E],A.ins_h=JA(A,A.ins_h,A.window[E+1]);A.insert&&(A.ins_h=JA(A,A.ins_h,A.window[E+3-1]),A.prev[E&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=E,E++,A.insert--,!(A.lookahead+A.insert<3)););}while(A.lookahead<GA&&0!==A.strm.avail_in)},HA=(A,I)=>{let g,B;for(;;){if(A.lookahead<GA){if(MA(A),A.lookahead<GA&&I===j)return 1;if(0===A.lookahead)break}if(g=0,A.lookahead>=3&&(A.ins_h=JA(A,A.ins_h,A.window[A.strstart+3-1]),g=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!==g&&A.strstart-g<=A.w_size-GA&&(A.match_length=cA(A,g)),A.match_length>=3)if(B=O(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){A.match_length--;do{A.strstart++,A.ins_h=JA(A,A.ins_h,A.window[A.strstart+3-1]),g=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart}while(0!=--A.match_length);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=JA(A,A.ins_h,A.window[A.strstart+1]);else B=O(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(B&&(tA(A,!1),0===A.strm.avail_out))return 1}return A.insert=A.strstart<2?A.strstart:2,I===_?(tA(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(tA(A,!1),0===A.strm.avail_out)?1:2},YA=(A,I)=>{let g,B,Q;for(;;){if(A.lookahead<GA){if(MA(A),A.lookahead<GA&&I===j)return 1;if(0===A.lookahead)break}if(g=0,A.lookahead>=3&&(A.ins_h=JA(A,A.ins_h,A.window[A.strstart+3-1]),g=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=2,0!==g&&A.prev_length<A.max_lazy_match&&A.strstart-g<=A.w_size-GA&&(A.match_length=cA(A,g),A.match_length<=5&&(A.strategy===EA||3===A.match_length&&A.strstart-A.match_start>4096)&&(A.match_length=2)),A.prev_length>=3&&A.match_length<=A.prev_length){Q=A.strstart+A.lookahead-3,B=O(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do{++A.strstart<=Q&&(A.ins_h=JA(A,A.ins_h,A.window[A.strstart+3-1]),g=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart)}while(0!=--A.prev_length);if(A.match_available=0,A.match_length=2,A.strstart++,B&&(tA(A,!1),0===A.strm.avail_out))return 1}else if(A.match_available){if(B=O(A,0,A.window[A.strstart-1]),B&&tA(A,!1),A.strstart++,A.lookahead--,0===A.strm.avail_out)return 1}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(B=O(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<2?A.strstart:2,I===_?(tA(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(tA(A,!1),0===A.strm.avail_out)?1:2};function rA(A,I,g,B,Q){this.good_length=A,this.max_lazy=I,this.nice_length=g,this.max_chain=B,this.func=Q}const nA=[new rA(0,0,0,0,((A,I)=>{let g=65535;for(g>A.pending_buf_size-5&&(g=A.pending_buf_size-5);;){if(A.lookahead<=1){if(MA(A),0===A.lookahead&&I===j)return 1;if(0===A.lookahead)break}A.strstart+=A.lookahead,A.lookahead=0;const B=A.block_start+g;if((0===A.strstart||A.strstart>=B)&&(A.lookahead=A.strstart-B,A.strstart=B,tA(A,!1),0===A.strm.avail_out))return 1;if(A.strstart-A.block_start>=A.w_size-GA&&(tA(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,I===_?(tA(A,!0),0===A.strm.avail_out?3:4):(A.strstart>A.block_start&&(tA(A,!1),A.strm.avail_out),1)})),new rA(4,4,8,4,HA),new rA(4,5,16,8,HA),new rA(4,6,32,32,HA),new rA(4,4,16,16,YA),new rA(8,16,32,32,YA),new rA(8,16,128,128,YA),new rA(8,32,128,256,YA),new rA(32,128,258,1024,YA),new rA(32,258,258,4096,YA)];function eA(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=FA,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),UA(this.dyn_ltree),UA(this.dyn_dtree),UA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),UA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),UA(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const dA=A=>{if(!A||!A.state)return NA(A,gA);A.total_in=A.total_out=0,A.data_type=hA;const I=A.state;return I.pending=0,I.pending_out=0,I.wrap<0&&(I.wrap=-I.wrap),I.status=I.wrap?42:wA,A.adler=2===I.wrap?0:1,I.last_flush=j,X(I),AA},fA=A=>{const I=dA(A);var g;return I===AA&&((g=A.state).window_size=2*g.w_size,UA(g.head),g.max_lazy_match=nA[g.level].max_lazy,g.good_match=nA[g.level].good_length,g.nice_match=nA[g.level].nice_length,g.max_chain_length=nA[g.level].max_chain,g.strstart=0,g.block_start=0,g.lookahead=0,g.insert=0,g.match_length=g.prev_length=2,g.match_available=0,g.ins_h=0),I},lA=(A,I,g,B,Q,C)=>{if(!A)return gA;let E=1;if(I===CA&&(I=6),B<0?(E=0,B=-B):B>15&&(E=2,B-=16),Q<1||Q>9||g!==FA||B<8||B>15||I<0||I>9||C<0||C>DA)return NA(A,gA);8===B&&(B=9);const i=new eA;return A.state=i,i.strm=A,i.wrap=E,i.gzhead=null,i.w_bits=B,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=Q+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+3-1)/3),i.window=new Uint8Array(2*i.w_size),i.head=new Uint16Array(i.hash_size),i.prev=new Uint16Array(i.w_size),i.lit_bufsize=1<<Q+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new Uint8Array(i.pending_buf_size),i.d_buf=1*i.lit_bufsize,i.l_buf=3*i.lit_bufsize,i.level=I,i.strategy=C,i.method=g,fA(A)};var WA={deflateInit:(A,I)=>lA(A,I,FA,15,8,aA),deflateInit2:lA,deflateReset:fA,deflateResetKeep:dA,deflateSetHeader:(A,I)=>A&&A.state?2!==A.state.wrap?gA:(A.state.gzhead=I,AA):gA,deflate:(A,I)=>{let g,B;if(!A||!A.state||I>$||I<0)return A?NA(A,gA):gA;const Q=A.state;if(!A.output||!A.input&&0!==A.avail_in||Q.status===SA&&I!==_)return NA(A,0===A.avail_out?QA:gA);Q.strm=A;const C=Q.last_flush;if(Q.last_flush=I,42===Q.status)if(2===Q.wrap)A.adler=0,qA(Q,31),qA(Q,139),qA(Q,8),Q.gzhead?(qA(Q,(Q.gzhead.text?1:0)+(Q.gzhead.hcrc?2:0)+(Q.gzhead.extra?4:0)+(Q.gzhead.name?8:0)+(Q.gzhead.comment?16:0)),qA(Q,255&Q.gzhead.time),qA(Q,Q.gzhead.time>>8&255),qA(Q,Q.gzhead.time>>16&255),qA(Q,Q.gzhead.time>>24&255),qA(Q,9===Q.level?2:Q.strategy>=iA||Q.level<2?4:0),qA(Q,255&Q.gzhead.os),Q.gzhead.extra&&Q.gzhead.extra.length&&(qA(Q,255&Q.gzhead.extra.length),qA(Q,Q.gzhead.extra.length>>8&255)),Q.gzhead.hcrc&&(A.adler=T(A.adler,Q.pending_buf,Q.pending,0)),Q.gzindex=0,Q.status=69):(qA(Q,0),qA(Q,0),qA(Q,0),qA(Q,0),qA(Q,0),qA(Q,9===Q.level?2:Q.strategy>=iA||Q.level<2?4:0),qA(Q,3),Q.status=wA);else{let I=FA+(Q.w_bits-8<<4)<<8,g=-1;g=Q.strategy>=iA||Q.level<2?0:Q.level<6?1:6===Q.level?2:3,I|=g<<6,0!==Q.strstart&&(I|=32),I+=31-I%31,Q.status=wA,LA(Q,I),0!==Q.strstart&&(LA(Q,A.adler>>>16),LA(Q,65535&A.adler)),A.adler=1}if(69===Q.status)if(Q.gzhead.extra){for(g=Q.pending;Q.gzindex<(65535&Q.gzhead.extra.length)&&(Q.pending!==Q.pending_buf_size||(Q.gzhead.hcrc&&Q.pending>g&&(A.adler=T(A.adler,Q.pending_buf,Q.pending-g,g)),kA(A),g=Q.pending,Q.pending!==Q.pending_buf_size));)qA(Q,255&Q.gzhead.extra[Q.gzindex]),Q.gzindex++;Q.gzhead.hcrc&&Q.pending>g&&(A.adler=T(A.adler,Q.pending_buf,Q.pending-g,g)),Q.gzindex===Q.gzhead.extra.length&&(Q.gzindex=0,Q.status=73)}else Q.status=73;if(73===Q.status)if(Q.gzhead.name){g=Q.pending;do{if(Q.pending===Q.pending_buf_size&&(Q.gzhead.hcrc&&Q.pending>g&&(A.adler=T(A.adler,Q.pending_buf,Q.pending-g,g)),kA(A),g=Q.pending,Q.pending===Q.pending_buf_size)){B=1;break}B=Q.gzindex<Q.gzhead.name.length?255&Q.gzhead.name.charCodeAt(Q.gzindex++):0,qA(Q,B)}while(0!==B);Q.gzhead.hcrc&&Q.pending>g&&(A.adler=T(A.adler,Q.pending_buf,Q.pending-g,g)),0===B&&(Q.gzindex=0,Q.status=91)}else Q.status=91;if(91===Q.status)if(Q.gzhead.comment){g=Q.pending;do{if(Q.pending===Q.pending_buf_size&&(Q.gzhead.hcrc&&Q.pending>g&&(A.adler=T(A.adler,Q.pending_buf,Q.pending-g,g)),kA(A),g=Q.pending,Q.pending===Q.pending_buf_size)){B=1;break}B=Q.gzindex<Q.gzhead.comment.length?255&Q.gzhead.comment.charCodeAt(Q.gzindex++):0,qA(Q,B)}while(0!==B);Q.gzhead.hcrc&&Q.pending>g&&(A.adler=T(A.adler,Q.pending_buf,Q.pending-g,g)),0===B&&(Q.status=yA)}else Q.status=yA;if(Q.status===yA&&(Q.gzhead.hcrc?(Q.pending+2>Q.pending_buf_size&&kA(A),Q.pending+2<=Q.pending_buf_size&&(qA(Q,255&A.adler),qA(Q,A.adler>>8&255),A.adler=0,Q.status=wA)):Q.status=wA),0!==Q.pending){if(kA(A),0===A.avail_out)return Q.last_flush=-1,AA}else if(0===A.avail_in&&RA(I)<=RA(C)&&I!==_)return NA(A,QA);if(Q.status===SA&&0!==A.avail_in)return NA(A,QA);if(0!==A.avail_in||0!==Q.lookahead||I!==j&&Q.status!==SA){let g=Q.strategy===iA?((A,I)=>{let g;for(;;){if(0===A.lookahead&&(MA(A),0===A.lookahead)){if(I===j)return 1;break}if(A.match_length=0,g=O(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,g&&(tA(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,I===_?(tA(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(tA(A,!1),0===A.strm.avail_out)?1:2})(Q,I):Q.strategy===oA?((A,I)=>{let g,B,Q,C;const E=A.window;for(;;){if(A.lookahead<=sA){if(MA(A),A.lookahead<=sA&&I===j)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&A.strstart>0&&(Q=A.strstart-1,B=E[Q],B===E[++Q]&&B===E[++Q]&&B===E[++Q])){C=A.strstart+sA;do{}while(B===E[++Q]&&B===E[++Q]&&B===E[++Q]&&B===E[++Q]&&B===E[++Q]&&B===E[++Q]&&B===E[++Q]&&B===E[++Q]&&Q<C);A.match_length=sA-(C-Q),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(g=O(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(g=O(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),g&&(tA(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,I===_?(tA(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(tA(A,!1),0===A.strm.avail_out)?1:2})(Q,I):nA[Q.level].func(Q,I);if(3!==g&&4!==g||(Q.status=SA),1===g||3===g)return 0===A.avail_out&&(Q.last_flush=-1),AA;if(2===g&&(I===v?P(Q):I!==$&&(V(Q,0,0,!1),I===z&&(UA(Q.head),0===Q.lookahead&&(Q.strstart=0,Q.block_start=0,Q.insert=0))),kA(A),0===A.avail_out))return Q.last_flush=-1,AA}return I!==_?AA:Q.wrap<=0?IA:(2===Q.wrap?(qA(Q,255&A.adler),qA(Q,A.adler>>8&255),qA(Q,A.adler>>16&255),qA(Q,A.adler>>24&255),qA(Q,255&A.total_in),qA(Q,A.total_in>>8&255),qA(Q,A.total_in>>16&255),qA(Q,A.total_in>>24&255)):(LA(Q,A.adler>>>16),LA(Q,65535&A.adler)),kA(A),Q.wrap>0&&(Q.wrap=-Q.wrap),0!==Q.pending?AA:IA)},deflateEnd:A=>{if(!A||!A.state)return gA;const I=A.state.status;return 42!==I&&69!==I&&73!==I&&91!==I&&I!==yA&&I!==wA&&I!==SA?NA(A,gA):(A.state=null,I===wA?NA(A,BA):AA)},deflateSetDictionary:(A,I)=>{let g=I.length;if(!A||!A.state)return gA;const B=A.state,Q=B.wrap;if(2===Q||1===Q&&42!==B.status||B.lookahead)return gA;if(1===Q&&(A.adler=b(A.adler,I,g,0)),B.wrap=0,g>=B.w_size){0===Q&&(UA(B.head),B.strstart=0,B.block_start=0,B.insert=0);let A=new Uint8Array(B.w_size);A.set(I.subarray(g-B.w_size,g),0),I=A,g=B.w_size}const C=A.avail_in,E=A.next_in,i=A.input;for(A.avail_in=g,A.next_in=0,A.input=I,MA(B);B.lookahead>=3;){let A=B.strstart,I=B.lookahead-2;do{B.ins_h=JA(B,B.ins_h,B.window[A+3-1]),B.prev[A&B.w_mask]=B.head[B.ins_h],B.head[B.ins_h]=A,A++}while(--I);B.strstart=A,B.lookahead=2,MA(B)}return B.strstart+=B.lookahead,B.block_start=B.strstart,B.insert=B.lookahead,B.lookahead=0,B.match_length=B.prev_length=2,B.match_available=0,A.next_in=E,A.input=i,A.avail_in=C,B.wrap=Q,AA},deflateInfo:"pako deflate (from Nodeca project)"};const xA=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var bA=function(A){const I=Array.prototype.slice.call(arguments,1);for(;I.length;){const g=I.shift();if(g){if("object"!=typeof g)throw new TypeError(g+"must be non-object");for(const I in g)xA(g,I)&&(A[I]=g[I])}}return A},pA=A=>{let I=0;for(let g=0,B=A.length;g<B;g++)I+=A[g].length;const g=new Uint8Array(I);for(let I=0,B=0,Q=A.length;I<Q;I++){let Q=A[I];g.set(Q,B),B+=Q.length}return g};let TA=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){TA=!1}const mA=new Uint8Array(256);for(let A=0;A<256;A++)mA[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;mA[254]=mA[254]=1;var ZA=A=>{let I,g,B,Q,C,E=A.length,i=0;for(Q=0;Q<E;Q++)g=A.charCodeAt(Q),55296==(64512&g)&&Q+1<E&&(B=A.charCodeAt(Q+1),56320==(64512&B)&&(g=65536+(g-55296<<10)+(B-56320),Q++)),i+=g<128?1:g<2048?2:g<65536?3:4;for(I=new Uint8Array(i),C=0,Q=0;C<i;Q++)g=A.charCodeAt(Q),55296==(64512&g)&&Q+1<E&&(B=A.charCodeAt(Q+1),56320==(64512&B)&&(g=65536+(g-55296<<10)+(B-56320),Q++)),g<128?I[C++]=g:g<2048?(I[C++]=192|g>>>6,I[C++]=128|63&g):g<65536?(I[C++]=224|g>>>12,I[C++]=128|g>>>6&63,I[C++]=128|63&g):(I[C++]=240|g>>>18,I[C++]=128|g>>>12&63,I[C++]=128|g>>>6&63,I[C++]=128|63&g);return I},XA=(A,I)=>{let g,B;const Q=I||A.length,C=new Array(2*Q);for(B=0,g=0;g<Q;){let I=A[g++];if(I<128){C[B++]=I;continue}let E=mA[I];if(E>4)C[B++]=65533,g+=E-1;else{for(I&=2===E?31:3===E?15:7;E>1&&g<Q;)I=I<<6|63&A[g++],E--;E>1?C[B++]=65533:I<65536?C[B++]=I:(I-=65536,C[B++]=55296|I>>10&1023,C[B++]=56320|1023&I)}}return((A,I)=>{if(I<65534&&A.subarray&&TA)return String.fromCharCode.apply(null,A.length===I?A:A.subarray(0,I));let g="";for(let B=0;B<I;B++)g+=String.fromCharCode(A[B]);return g})(C,B)},VA=(A,I)=>{(I=I||A.length)>A.length&&(I=A.length);let g=I-1;for(;g>=0&&128==(192&A[g]);)g--;return g<0||0===g?I:g+mA[A[g]]>I?g:I};var uA=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const OA=Object.prototype.toString,{Z_NO_FLUSH:PA,Z_SYNC_FLUSH:jA,Z_FULL_FLUSH:vA,Z_FINISH:zA,Z_OK:_A,Z_STREAM_END:$A,Z_DEFAULT_COMPRESSION:AI,Z_DEFAULT_STRATEGY:II,Z_DEFLATED:gI}=Z;function BI(A){this.options=bA({level:AI,method:gI,chunkSize:16384,windowBits:15,memLevel:8,strategy:II},A||{});let I=this.options;I.raw&&I.windowBits>0?I.windowBits=-I.windowBits:I.gzip&&I.windowBits>0&&I.windowBits<16&&(I.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new uA,this.strm.avail_out=0;let g=WA.deflateInit2(this.strm,I.level,I.method,I.windowBits,I.memLevel,I.strategy);if(g!==_A)throw new Error(m[g]);if(I.header&&WA.deflateSetHeader(this.strm,I.header),I.dictionary){let A;if(A="string"==typeof I.dictionary?ZA(I.dictionary):"[object ArrayBuffer]"===OA.call(I.dictionary)?new Uint8Array(I.dictionary):I.dictionary,g=WA.deflateSetDictionary(this.strm,A),g!==_A)throw new Error(m[g]);this._dict_set=!0}}function QI(A,I){const g=new BI(I);if(g.push(A,!0),g.err)throw g.msg||m[g.err];return g.result}BI.prototype.push=function(A,I){const g=this.strm,B=this.options.chunkSize;let Q,C;if(this.ended)return!1;for(C=I===~~I?I:!0===I?zA:PA,"string"==typeof A?g.input=ZA(A):"[object ArrayBuffer]"===OA.call(A)?g.input=new Uint8Array(A):g.input=A,g.next_in=0,g.avail_in=g.input.length;;)if(0===g.avail_out&&(g.output=new Uint8Array(B),g.next_out=0,g.avail_out=B),(C===jA||C===vA)&&g.avail_out<=6)this.onData(g.output.subarray(0,g.next_out)),g.avail_out=0;else{if(Q=WA.deflate(g,C),Q===$A)return g.next_out>0&&this.onData(g.output.subarray(0,g.next_out)),Q=WA.deflateEnd(this.strm),this.onEnd(Q),this.ended=!0,Q===_A;if(0!==g.avail_out){if(C>0&&g.next_out>0)this.onData(g.output.subarray(0,g.next_out)),g.avail_out=0;else if(0===g.avail_in)break}else this.onData(g.output)}return!0},BI.prototype.onData=function(A){this.chunks.push(A)},BI.prototype.onEnd=function(A){A===_A&&(this.result=pA(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var CI={Deflate:BI,deflate:QI,deflateRaw:function(A,I){return(I=I||{}).raw=!0,QI(A,I)},gzip:function(A,I){return(I=I||{}).gzip=!0,QI(A,I)},constants:Z};var EI=function(A,I){let g,B,Q,C,E,i,o,D,a,h,F,s,G,y,w,S,N,R,U,J,k,t,q,L;const K=A.state;g=A.next_in,q=A.input,B=g+(A.avail_in-5),Q=A.next_out,L=A.output,C=Q-(I-A.avail_out),E=Q+(A.avail_out-257),i=K.dmax,o=K.wsize,D=K.whave,a=K.wnext,h=K.window,F=K.hold,s=K.bits,G=K.lencode,y=K.distcode,w=(1<<K.lenbits)-1,S=(1<<K.distbits)-1;A:do{s<15&&(F+=q[g++]<<s,s+=8,F+=q[g++]<<s,s+=8),N=G[F&w];I:for(;;){if(R=N>>>24,F>>>=R,s-=R,R=N>>>16&255,0===R)L[Q++]=65535&N;else{if(!(16&R)){if(0==(64&R)){N=G[(65535&N)+(F&(1<<R)-1)];continue I}if(32&R){K.mode=12;break A}A.msg="invalid literal/length code",K.mode=30;break A}U=65535&N,R&=15,R&&(s<R&&(F+=q[g++]<<s,s+=8),U+=F&(1<<R)-1,F>>>=R,s-=R),s<15&&(F+=q[g++]<<s,s+=8,F+=q[g++]<<s,s+=8),N=y[F&S];g:for(;;){if(R=N>>>24,F>>>=R,s-=R,R=N>>>16&255,!(16&R)){if(0==(64&R)){N=y[(65535&N)+(F&(1<<R)-1)];continue g}A.msg="invalid distance code",K.mode=30;break A}if(J=65535&N,R&=15,s<R&&(F+=q[g++]<<s,s+=8,s<R&&(F+=q[g++]<<s,s+=8)),J+=F&(1<<R)-1,J>i){A.msg="invalid distance too far back",K.mode=30;break A}if(F>>>=R,s-=R,R=Q-C,J>R){if(R=J-R,R>D&&K.sane){A.msg="invalid distance too far back",K.mode=30;break A}if(k=0,t=h,0===a){if(k+=o-R,R<U){U-=R;do{L[Q++]=h[k++]}while(--R);k=Q-J,t=L}}else if(a<R){if(k+=o+a-R,R-=a,R<U){U-=R;do{L[Q++]=h[k++]}while(--R);if(k=0,a<U){R=a,U-=R;do{L[Q++]=h[k++]}while(--R);k=Q-J,t=L}}}else if(k+=a-R,R<U){U-=R;do{L[Q++]=h[k++]}while(--R);k=Q-J,t=L}for(;U>2;)L[Q++]=t[k++],L[Q++]=t[k++],L[Q++]=t[k++],U-=3;U&&(L[Q++]=t[k++],U>1&&(L[Q++]=t[k++]))}else{k=Q-J;do{L[Q++]=L[k++],L[Q++]=L[k++],L[Q++]=L[k++],U-=3}while(U>2);U&&(L[Q++]=L[k++],U>1&&(L[Q++]=L[k++]))}break}}break}}while(g<B&&Q<E);U=s>>3,g-=U,s-=U<<3,F&=(1<<s)-1,A.next_in=g,A.next_out=Q,A.avail_in=g<B?B-g+5:5-(g-B),A.avail_out=Q<E?E-Q+257:257-(Q-E),K.hold=F,K.bits=s};const iI=15,oI=new Uint16Array([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,0,0]),DI=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),aI=new Uint16Array([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,0,0]),hI=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var FI=(A,I,g,B,Q,C,E,i)=>{const o=i.bits;let D,a,h,F,s,G,y=0,w=0,S=0,N=0,R=0,U=0,J=0,k=0,t=0,q=0,L=null,K=0;const c=new Uint16Array(16),M=new Uint16Array(16);let H,Y,r,n=null,e=0;for(y=0;y<=iI;y++)c[y]=0;for(w=0;w<B;w++)c[I[g+w]]++;for(R=o,N=iI;N>=1&&0===c[N];N--);if(R>N&&(R=N),0===N)return Q[C++]=20971520,Q[C++]=20971520,i.bits=1,0;for(S=1;S<N&&0===c[S];S++);for(R<S&&(R=S),k=1,y=1;y<=iI;y++)if(k<<=1,k-=c[y],k<0)return-1;if(k>0&&(0===A||1!==N))return-1;for(M[1]=0,y=1;y<iI;y++)M[y+1]=M[y]+c[y];for(w=0;w<B;w++)0!==I[g+w]&&(E[M[I[g+w]]++]=w);if(0===A?(L=n=E,G=19):1===A?(L=oI,K-=257,n=DI,e-=257,G=256):(L=aI,n=hI,G=-1),q=0,w=0,y=S,s=C,U=R,J=0,h=-1,t=1<<R,F=t-1,1===A&&t>852||2===A&&t>592)return 1;for(;;){H=y-J,E[w]<G?(Y=0,r=E[w]):E[w]>G?(Y=n[e+E[w]],r=L[K+E[w]]):(Y=96,r=0),D=1<<y-J,a=1<<U,S=a;do{a-=D,Q[s+(q>>J)+a]=H<<24|Y<<16|r|0}while(0!==a);for(D=1<<y-1;q&D;)D>>=1;if(0!==D?(q&=D-1,q+=D):q=0,w++,0==--c[y]){if(y===N)break;y=I[g+E[w]]}if(y>R&&(q&F)!==h){for(0===J&&(J=R),s+=S,U=y-J,k=1<<U;U+J<N&&(k-=c[U+J],!(k<=0));)U++,k<<=1;if(t+=1<<U,1===A&&t>852||2===A&&t>592)return 1;h=q&F,Q[h]=R<<24|U<<16|s-C|0}}return 0!==q&&(Q[s+q]=y-J<<24|64<<16|0),i.bits=R,0};const{Z_FINISH:sI,Z_BLOCK:GI,Z_TREES:yI,Z_OK:wI,Z_STREAM_END:SI,Z_NEED_DICT:NI,Z_STREAM_ERROR:RI,Z_DATA_ERROR:UI,Z_MEM_ERROR:JI,Z_BUF_ERROR:kI,Z_DEFLATED:tI}=Z,qI=12,LI=30,KI=A=>(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24);function cI(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const MI=A=>{if(!A||!A.state)return RI;const I=A.state;return A.total_in=A.total_out=I.total=0,A.msg="",I.wrap&&(A.adler=1&I.wrap),I.mode=1,I.last=0,I.havedict=0,I.dmax=32768,I.head=null,I.hold=0,I.bits=0,I.lencode=I.lendyn=new Int32Array(852),I.distcode=I.distdyn=new Int32Array(592),I.sane=1,I.back=-1,wI},HI=A=>{if(!A||!A.state)return RI;const I=A.state;return I.wsize=0,I.whave=0,I.wnext=0,MI(A)},YI=(A,I)=>{let g;if(!A||!A.state)return RI;const B=A.state;return I<0?(g=0,I=-I):(g=1+(I>>4),I<48&&(I&=15)),I&&(I<8||I>15)?RI:(null!==B.window&&B.wbits!==I&&(B.window=null),B.wrap=g,B.wbits=I,HI(A))},rI=(A,I)=>{if(!A)return RI;const g=new cI;A.state=g,g.window=null;const B=YI(A,I);return B!==wI&&(A.state=null),B};let nI,eI,dI=!0;const fI=A=>{if(dI){nI=new Int32Array(512),eI=new Int32Array(32);let I=0;for(;I<144;)A.lens[I++]=8;for(;I<256;)A.lens[I++]=9;for(;I<280;)A.lens[I++]=7;for(;I<288;)A.lens[I++]=8;for(FI(1,A.lens,0,288,nI,0,A.work,{bits:9}),I=0;I<32;)A.lens[I++]=5;FI(2,A.lens,0,32,eI,0,A.work,{bits:5}),dI=!1}A.lencode=nI,A.lenbits=9,A.distcode=eI,A.distbits=5},lI=(A,I,g,B)=>{let Q;const C=A.state;return null===C.window&&(C.wsize=1<<C.wbits,C.wnext=0,C.whave=0,C.window=new Uint8Array(C.wsize)),B>=C.wsize?(C.window.set(I.subarray(g-C.wsize,g),0),C.wnext=0,C.whave=C.wsize):(Q=C.wsize-C.wnext,Q>B&&(Q=B),C.window.set(I.subarray(g-B,g-B+Q),C.wnext),(B-=Q)?(C.window.set(I.subarray(g-B,g),0),C.wnext=B,C.whave=C.wsize):(C.wnext+=Q,C.wnext===C.wsize&&(C.wnext=0),C.whave<C.wsize&&(C.whave+=Q))),0};var WI={inflateReset:HI,inflateReset2:YI,inflateResetKeep:MI,inflateInit:A=>rI(A,15),inflateInit2:rI,inflate:(A,I)=>{let g,B,Q,C,E,i,o,D,a,h,F,s,G,y,w,S,N,R,U,J,k,t,q=0;const L=new Uint8Array(4);let K,c;const M=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!A||!A.state||!A.output||!A.input&&0!==A.avail_in)return RI;g=A.state,g.mode===qI&&(g.mode=13),E=A.next_out,Q=A.output,o=A.avail_out,C=A.next_in,B=A.input,i=A.avail_in,D=g.hold,a=g.bits,h=i,F=o,t=wI;A:for(;;)switch(g.mode){case 1:if(0===g.wrap){g.mode=13;break}for(;a<16;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}if(2&g.wrap&&35615===D){g.check=0,L[0]=255&D,L[1]=D>>>8&255,g.check=T(g.check,L,2,0),D=0,a=0,g.mode=2;break}if(g.flags=0,g.head&&(g.head.done=!1),!(1&g.wrap)||(((255&D)<<8)+(D>>8))%31){A.msg="incorrect header check",g.mode=LI;break}if((15&D)!==tI){A.msg="unknown compression method",g.mode=LI;break}if(D>>>=4,a-=4,k=8+(15&D),0===g.wbits)g.wbits=k;else if(k>g.wbits){A.msg="invalid window size",g.mode=LI;break}g.dmax=1<<g.wbits,A.adler=g.check=1,g.mode=512&D?10:qI,D=0,a=0;break;case 2:for(;a<16;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}if(g.flags=D,(255&g.flags)!==tI){A.msg="unknown compression method",g.mode=LI;break}if(57344&g.flags){A.msg="unknown header flags set",g.mode=LI;break}g.head&&(g.head.text=D>>8&1),512&g.flags&&(L[0]=255&D,L[1]=D>>>8&255,g.check=T(g.check,L,2,0)),D=0,a=0,g.mode=3;case 3:for(;a<32;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}g.head&&(g.head.time=D),512&g.flags&&(L[0]=255&D,L[1]=D>>>8&255,L[2]=D>>>16&255,L[3]=D>>>24&255,g.check=T(g.check,L,4,0)),D=0,a=0,g.mode=4;case 4:for(;a<16;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}g.head&&(g.head.xflags=255&D,g.head.os=D>>8),512&g.flags&&(L[0]=255&D,L[1]=D>>>8&255,g.check=T(g.check,L,2,0)),D=0,a=0,g.mode=5;case 5:if(1024&g.flags){for(;a<16;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}g.length=D,g.head&&(g.head.extra_len=D),512&g.flags&&(L[0]=255&D,L[1]=D>>>8&255,g.check=T(g.check,L,2,0)),D=0,a=0}else g.head&&(g.head.extra=null);g.mode=6;case 6:if(1024&g.flags&&(s=g.length,s>i&&(s=i),s&&(g.head&&(k=g.head.extra_len-g.length,g.head.extra||(g.head.extra=new Uint8Array(g.head.extra_len)),g.head.extra.set(B.subarray(C,C+s),k)),512&g.flags&&(g.check=T(g.check,B,s,C)),i-=s,C+=s,g.length-=s),g.length))break A;g.length=0,g.mode=7;case 7:if(2048&g.flags){if(0===i)break A;s=0;do{k=B[C+s++],g.head&&k&&g.length<65536&&(g.head.name+=String.fromCharCode(k))}while(k&&s<i);if(512&g.flags&&(g.check=T(g.check,B,s,C)),i-=s,C+=s,k)break A}else g.head&&(g.head.name=null);g.length=0,g.mode=8;case 8:if(4096&g.flags){if(0===i)break A;s=0;do{k=B[C+s++],g.head&&k&&g.length<65536&&(g.head.comment+=String.fromCharCode(k))}while(k&&s<i);if(512&g.flags&&(g.check=T(g.check,B,s,C)),i-=s,C+=s,k)break A}else g.head&&(g.head.comment=null);g.mode=9;case 9:if(512&g.flags){for(;a<16;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}if(D!==(65535&g.check)){A.msg="header crc mismatch",g.mode=LI;break}D=0,a=0}g.head&&(g.head.hcrc=g.flags>>9&1,g.head.done=!0),A.adler=g.check=0,g.mode=qI;break;case 10:for(;a<32;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}A.adler=g.check=KI(D),D=0,a=0,g.mode=11;case 11:if(0===g.havedict)return A.next_out=E,A.avail_out=o,A.next_in=C,A.avail_in=i,g.hold=D,g.bits=a,NI;A.adler=g.check=1,g.mode=qI;case qI:if(I===GI||I===yI)break A;case 13:if(g.last){D>>>=7&a,a-=7&a,g.mode=27;break}for(;a<3;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}switch(g.last=1&D,D>>>=1,a-=1,3&D){case 0:g.mode=14;break;case 1:if(fI(g),g.mode=20,I===yI){D>>>=2,a-=2;break A}break;case 2:g.mode=17;break;case 3:A.msg="invalid block type",g.mode=LI}D>>>=2,a-=2;break;case 14:for(D>>>=7&a,a-=7&a;a<32;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}if((65535&D)!=(D>>>16^65535)){A.msg="invalid stored block lengths",g.mode=LI;break}if(g.length=65535&D,D=0,a=0,g.mode=15,I===yI)break A;case 15:g.mode=16;case 16:if(s=g.length,s){if(s>i&&(s=i),s>o&&(s=o),0===s)break A;Q.set(B.subarray(C,C+s),E),i-=s,C+=s,o-=s,E+=s,g.length-=s;break}g.mode=qI;break;case 17:for(;a<14;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}if(g.nlen=257+(31&D),D>>>=5,a-=5,g.ndist=1+(31&D),D>>>=5,a-=5,g.ncode=4+(15&D),D>>>=4,a-=4,g.nlen>286||g.ndist>30){A.msg="too many length or distance symbols",g.mode=LI;break}g.have=0,g.mode=18;case 18:for(;g.have<g.ncode;){for(;a<3;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}g.lens[M[g.have++]]=7&D,D>>>=3,a-=3}for(;g.have<19;)g.lens[M[g.have++]]=0;if(g.lencode=g.lendyn,g.lenbits=7,K={bits:g.lenbits},t=FI(0,g.lens,0,19,g.lencode,0,g.work,K),g.lenbits=K.bits,t){A.msg="invalid code lengths set",g.mode=LI;break}g.have=0,g.mode=19;case 19:for(;g.have<g.nlen+g.ndist;){for(;q=g.lencode[D&(1<<g.lenbits)-1],w=q>>>24,S=q>>>16&255,N=65535&q,!(w<=a);){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}if(N<16)D>>>=w,a-=w,g.lens[g.have++]=N;else{if(16===N){for(c=w+2;a<c;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}if(D>>>=w,a-=w,0===g.have){A.msg="invalid bit length repeat",g.mode=LI;break}k=g.lens[g.have-1],s=3+(3&D),D>>>=2,a-=2}else if(17===N){for(c=w+3;a<c;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}D>>>=w,a-=w,k=0,s=3+(7&D),D>>>=3,a-=3}else{for(c=w+7;a<c;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}D>>>=w,a-=w,k=0,s=11+(127&D),D>>>=7,a-=7}if(g.have+s>g.nlen+g.ndist){A.msg="invalid bit length repeat",g.mode=LI;break}for(;s--;)g.lens[g.have++]=k}}if(g.mode===LI)break;if(0===g.lens[256]){A.msg="invalid code -- missing end-of-block",g.mode=LI;break}if(g.lenbits=9,K={bits:g.lenbits},t=FI(1,g.lens,0,g.nlen,g.lencode,0,g.work,K),g.lenbits=K.bits,t){A.msg="invalid literal/lengths set",g.mode=LI;break}if(g.distbits=6,g.distcode=g.distdyn,K={bits:g.distbits},t=FI(2,g.lens,g.nlen,g.ndist,g.distcode,0,g.work,K),g.distbits=K.bits,t){A.msg="invalid distances set",g.mode=LI;break}if(g.mode=20,I===yI)break A;case 20:g.mode=21;case 21:if(i>=6&&o>=258){A.next_out=E,A.avail_out=o,A.next_in=C,A.avail_in=i,g.hold=D,g.bits=a,EI(A,F),E=A.next_out,Q=A.output,o=A.avail_out,C=A.next_in,B=A.input,i=A.avail_in,D=g.hold,a=g.bits,g.mode===qI&&(g.back=-1);break}for(g.back=0;q=g.lencode[D&(1<<g.lenbits)-1],w=q>>>24,S=q>>>16&255,N=65535&q,!(w<=a);){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}if(S&&0==(240&S)){for(R=w,U=S,J=N;q=g.lencode[J+((D&(1<<R+U)-1)>>R)],w=q>>>24,S=q>>>16&255,N=65535&q,!(R+w<=a);){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}D>>>=R,a-=R,g.back+=R}if(D>>>=w,a-=w,g.back+=w,g.length=N,0===S){g.mode=26;break}if(32&S){g.back=-1,g.mode=qI;break}if(64&S){A.msg="invalid literal/length code",g.mode=LI;break}g.extra=15&S,g.mode=22;case 22:if(g.extra){for(c=g.extra;a<c;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}g.length+=D&(1<<g.extra)-1,D>>>=g.extra,a-=g.extra,g.back+=g.extra}g.was=g.length,g.mode=23;case 23:for(;q=g.distcode[D&(1<<g.distbits)-1],w=q>>>24,S=q>>>16&255,N=65535&q,!(w<=a);){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}if(0==(240&S)){for(R=w,U=S,J=N;q=g.distcode[J+((D&(1<<R+U)-1)>>R)],w=q>>>24,S=q>>>16&255,N=65535&q,!(R+w<=a);){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}D>>>=R,a-=R,g.back+=R}if(D>>>=w,a-=w,g.back+=w,64&S){A.msg="invalid distance code",g.mode=LI;break}g.offset=N,g.extra=15&S,g.mode=24;case 24:if(g.extra){for(c=g.extra;a<c;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}g.offset+=D&(1<<g.extra)-1,D>>>=g.extra,a-=g.extra,g.back+=g.extra}if(g.offset>g.dmax){A.msg="invalid distance too far back",g.mode=LI;break}g.mode=25;case 25:if(0===o)break A;if(s=F-o,g.offset>s){if(s=g.offset-s,s>g.whave&&g.sane){A.msg="invalid distance too far back",g.mode=LI;break}s>g.wnext?(s-=g.wnext,G=g.wsize-s):G=g.wnext-s,s>g.length&&(s=g.length),y=g.window}else y=Q,G=E-g.offset,s=g.length;s>o&&(s=o),o-=s,g.length-=s;do{Q[E++]=y[G++]}while(--s);0===g.length&&(g.mode=21);break;case 26:if(0===o)break A;Q[E++]=g.length,o--,g.mode=21;break;case 27:if(g.wrap){for(;a<32;){if(0===i)break A;i--,D|=B[C++]<<a,a+=8}if(F-=o,A.total_out+=F,g.total+=F,F&&(A.adler=g.check=g.flags?T(g.check,Q,F,E-F):b(g.check,Q,F,E-F)),F=o,(g.flags?D:KI(D))!==g.check){A.msg="incorrect data check",g.mode=LI;break}D=0,a=0}g.mode=28;case 28:if(g.wrap&&g.flags){for(;a<32;){if(0===i)break A;i--,D+=B[C++]<<a,a+=8}if(D!==(4294967295&g.total)){A.msg="incorrect length check",g.mode=LI;break}D=0,a=0}g.mode=29;case 29:t=SI;break A;case LI:t=UI;break A;case 31:return JI;default:return RI}return A.next_out=E,A.avail_out=o,A.next_in=C,A.avail_in=i,g.hold=D,g.bits=a,(g.wsize||F!==A.avail_out&&g.mode<LI&&(g.mode<27||I!==sI))&&lI(A,A.output,A.next_out,F-A.avail_out),h-=A.avail_in,F-=A.avail_out,A.total_in+=h,A.total_out+=F,g.total+=F,g.wrap&&F&&(A.adler=g.check=g.flags?T(g.check,Q,F,A.next_out-F):b(g.check,Q,F,A.next_out-F)),A.data_type=g.bits+(g.last?64:0)+(g.mode===qI?128:0)+(20===g.mode||15===g.mode?256:0),(0===h&&0===F||I===sI)&&t===wI&&(t=kI),t},inflateEnd:A=>{if(!A||!A.state)return RI;let I=A.state;return I.window&&(I.window=null),A.state=null,wI},inflateGetHeader:(A,I)=>{if(!A||!A.state)return RI;const g=A.state;return 0==(2&g.wrap)?RI:(g.head=I,I.done=!1,wI)},inflateSetDictionary:(A,I)=>{const g=I.length;let B,Q,C;return A&&A.state?(B=A.state,0!==B.wrap&&11!==B.mode?RI:11===B.mode&&(Q=1,Q=b(Q,I,g,0),Q!==B.check)?UI:(C=lI(A,I,g,g),C?(B.mode=31,JI):(B.havedict=1,wI))):RI},inflateInfo:"pako inflate (from Nodeca project)"};var xI=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const bI=Object.prototype.toString,{Z_NO_FLUSH:pI,Z_FINISH:TI,Z_OK:mI,Z_STREAM_END:ZI,Z_NEED_DICT:XI,Z_STREAM_ERROR:VI,Z_DATA_ERROR:uI,Z_MEM_ERROR:OI}=Z;function PI(A){this.options=bA({chunkSize:65536,windowBits:15,to:""},A||{});const I=this.options;I.raw&&I.windowBits>=0&&I.windowBits<16&&(I.windowBits=-I.windowBits,0===I.windowBits&&(I.windowBits=-15)),!(I.windowBits>=0&&I.windowBits<16)||A&&A.windowBits||(I.windowBits+=32),I.windowBits>15&&I.windowBits<48&&0==(15&I.windowBits)&&(I.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new uA,this.strm.avail_out=0;let g=WI.inflateInit2(this.strm,I.windowBits);if(g!==mI)throw new Error(m[g]);if(this.header=new xI,WI.inflateGetHeader(this.strm,this.header),I.dictionary&&("string"==typeof I.dictionary?I.dictionary=ZA(I.dictionary):"[object ArrayBuffer]"===bI.call(I.dictionary)&&(I.dictionary=new Uint8Array(I.dictionary)),I.raw&&(g=WI.inflateSetDictionary(this.strm,I.dictionary),g!==mI)))throw new Error(m[g])}function jI(A,I){const g=new PI(I);if(g.push(A),g.err)throw g.msg||m[g.err];return g.result}PI.prototype.push=function(A,I){const g=this.strm,B=this.options.chunkSize,Q=this.options.dictionary;let C,E,i;if(this.ended)return!1;for(E=I===~~I?I:!0===I?TI:pI,"[object ArrayBuffer]"===bI.call(A)?g.input=new Uint8Array(A):g.input=A,g.next_in=0,g.avail_in=g.input.length;;){for(0===g.avail_out&&(g.output=new Uint8Array(B),g.next_out=0,g.avail_out=B),C=WI.inflate(g,E),C===XI&&Q&&(C=WI.inflateSetDictionary(g,Q),C===mI?C=WI.inflate(g,E):C===uI&&(C=XI));g.avail_in>0&&C===ZI&&g.state.wrap>0&&0!==A[g.next_in];)WI.inflateReset(g),C=WI.inflate(g,E);switch(C){case VI:case uI:case XI:case OI:return this.onEnd(C),this.ended=!0,!1}if(i=g.avail_out,g.next_out&&(0===g.avail_out||C===ZI))if("string"===this.options.to){let A=VA(g.output,g.next_out),I=g.next_out-A,Q=XA(g.output,A);g.next_out=I,g.avail_out=B-I,I&&g.output.set(g.output.subarray(A,A+I),0),this.onData(Q)}else this.onData(g.output.length===g.next_out?g.output:g.output.subarray(0,g.next_out));if(C!==mI||0!==i){if(C===ZI)return C=WI.inflateEnd(this.strm),this.onEnd(C),this.ended=!0,!0;if(0===g.avail_in)break}}return!0},PI.prototype.onData=function(A){this.chunks.push(A)},PI.prototype.onEnd=function(A){A===mI&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=pA(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var vI={Inflate:PI,inflate:jI,inflateRaw:function(A,I){return(I=I||{}).raw=!0,jI(A,I)},ungzip:jI,constants:Z};const{Deflate:zI,deflate:_I,deflateRaw:$I,gzip:Ag}=CI,{Inflate:Ig,inflate:gg,inflateRaw:Bg,ungzip:Qg}=vI;var Cg,Eg={Deflate:zI,deflate:_I,deflateRaw:$I,gzip:Ag,Inflate:Ig,inflate:gg,inflateRaw:Bg,ungzip:Qg,constants:Z};var ig,og=((Cg=class{constructor(A=1){if(A<0||A>9)throw new Error("Invalid gzip compression level, it should be between 0 and 9");this.level=A}static fromConfig({level:A}){return new Cg(A)}encode(A){return Eg.gzip(A,{level:this.level})}decode(A,I){const g=Eg.ungzip(A);return void 0!==I?(I.set(g),I):g}}).codecId="gzip",Cg);var Dg,ag,hg,Fg=((ig=class{constructor(A=1){if(A<-1||A>9)throw new Error("Invalid zlib compression level, it should be between -1 and 9");this.level=A}static fromConfig({level:A}){return new ig(A)}encode(A){return Eg.deflate(A,{level:this.level})}decode(A,I){const g=Eg.inflate(A);return void 0!==I?(I.set(g),I):g}}).codecId="zlib",ig),sg=("undefined"!=typeof document&&document.currentScript&&document.currentScript.src,function(A){var I,g,B;A=A||{},I||(I=void 0!==A?A:{}),I.ready=new Promise((function(A,I){g=A,B=I}));var Q,C={};for(Q in I)I.hasOwnProperty(Q)&&(C[Q]=I[Q]);var E,i="./this.program",o=I.print||console.log.bind(console),D=I.printErr||console.warn.bind(console);for(Q in C)C.hasOwnProperty(Q)&&(I[Q]=C[Q]);C=null,I.thisProgram&&(i=I.thisProgram),I.wasmBinary&&(E=I.wasmBinary),I.noExitRuntime&&I.noExitRuntime,"object"!=typeof WebAssembly&&p("no native wasm support detected");var a,h=!1,F="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function s(A,I,g){var B=I+g;for(g=I;A[g]&&!(g>=B);)++g;if(16<g-I&&A.subarray&&F)return F.decode(A.subarray(I,g));for(B="";I<g;){var Q=A[I++];if(128&Q){var C=63&A[I++];if(192==(224&Q))B+=String.fromCharCode((31&Q)<<6|C);else{var E=63&A[I++];65536>(Q=224==(240&Q)?(15&Q)<<12|C<<6|E:(7&Q)<<18|C<<12|E<<6|63&A[I++])?B+=String.fromCharCode(Q):(Q-=65536,B+=String.fromCharCode(55296|Q>>10,56320|1023&Q))}}else B+=String.fromCharCode(Q)}return B}var G,y,w,S,N,R,U,J,k,t="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function q(A,I){for(var g=A>>1,B=g+I/2;!(g>=B)&&N[g];)++g;if(32<(g<<=1)-A&&t)return t.decode(w.subarray(A,g));for(g=0,B="";;){var Q=S[A+2*g>>1];if(0==Q||g==I/2)return B;++g,B+=String.fromCharCode(Q)}}function L(A,I,g){if(void 0===g&&(g=2147483647),2>g)return 0;var B=I;g=(g-=2)<2*A.length?g/2:A.length;for(var Q=0;Q<g;++Q)S[I>>1]=A.charCodeAt(Q),I+=2;return S[I>>1]=0,I-B}function K(A){return 2*A.length}function c(A,I){for(var g=0,B="";!(g>=I/4);){var Q=R[A+4*g>>2];if(0==Q)break;++g,65536<=Q?(Q-=65536,B+=String.fromCharCode(55296|Q>>10,56320|1023&Q)):B+=String.fromCharCode(Q)}return B}function M(A,I,g){if(void 0===g&&(g=2147483647),4>g)return 0;var B=I;g=B+g-4;for(var Q=0;Q<A.length;++Q){var C=A.charCodeAt(Q);if(55296<=C&&57343>=C&&(C=65536+((1023&C)<<10)|1023&A.charCodeAt(++Q)),R[I>>2]=C,(I+=4)+4>g)break}return R[I>>2]=0,I-B}function H(A){for(var I=0,g=0;g<A.length;++g){var B=A.charCodeAt(g);55296<=B&&57343>=B&&++g,I+=4}return I}function Y(A){G=A,I.HEAP8=y=new Int8Array(A),I.HEAP16=S=new Int16Array(A),I.HEAP32=R=new Int32Array(A),I.HEAPU8=w=new Uint8Array(A),I.HEAPU16=N=new Uint16Array(A),I.HEAPU32=U=new Uint32Array(A),I.HEAPF32=J=new Float32Array(A),I.HEAPF64=k=new Float64Array(A)}var r=I.INITIAL_MEMORY||16777216;(a=I.wasmMemory?I.wasmMemory:new WebAssembly.Memory({initial:r/65536,maximum:32768}))&&(G=a.buffer),r=G.byteLength,Y(G);var n,e=[],d=[],f=[],l=[];function W(){var A=I.preRun.shift();e.unshift(A)}var x=0,b=null;function p(A){throw I.onAbort&&I.onAbort(A),D(A),h=!0,A=new WebAssembly.RuntimeError("abort("+A+"). Build with -s ASSERTIONS=1 for more info."),B(A),A}function T(A){var I=Z;return String.prototype.startsWith?I.startsWith(A):0===I.indexOf(A)}function m(){return T("data:application/octet-stream;base64,")}I.preloadedImages={},I.preloadedAudios={};var Z="blosc_codec.wasm";if(!m()){var X=Z;Z=I.locateFile?I.locateFile(X,""):""+X}function V(){try{if(E)return new Uint8Array(E);throw"both async and sync fetching of the wasm failed"}catch(A){p(A)}}function u(A){for(;0<A.length;){var g=A.shift();if("function"==typeof g)g(I);else{var B=g.T;"number"==typeof B?void 0===g.O?n.get(B)():n.get(B)(g.O):B(void 0===g.O?null:g.O)}}}function O(A){this.N=A-16,this.$=function(A){R[this.N+8>>2]=A},this.X=function(A){R[this.N+0>>2]=A},this.Y=function(){R[this.N+4>>2]=0},this.W=function(){y[this.N+12>>0]=0},this.Z=function(){y[this.N+13>>0]=0},this.V=function(A,I){this.$(A),this.X(I),this.Y(),this.W(),this.Z()}}function P(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}var j=void 0;function v(A){for(var I="";w[A];)I+=j[w[A++]];return I}var z={},_={},$={};function AA(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=I&&57>=I?"_"+A:A}function IA(A,I){return A=AA(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function gA(A){var I=Error,g=IA(A,(function(I){this.name=A,this.message=I,void 0!==(I=Error(I).stack)&&(this.stack=this.toString()+"\n"+I.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(I.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var BA=void 0;function QA(A){throw new BA(A)}var CA=void 0;function EA(A,I,g){if(g=g||{},!("argPackAdvance"in I))throw new TypeError("registerType registeredInstance requires argPackAdvance");var B=I.name;if(A||QA('type "'+B+'" must have a positive integer typeid pointer'),_.hasOwnProperty(A)){if(g.U)return;QA("Cannot register type '"+B+"' twice")}_[A]=I,delete $[A],z.hasOwnProperty(A)&&(I=z[A],delete z[A],I.forEach((function(A){A()})))}var iA=[],oA=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function DA(A){4<A&&0==--oA[A].P&&(oA[A]=void 0,iA.push(A))}function aA(A){switch(A){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var I=iA.length?iA.pop():oA.length;return oA[I]={P:1,value:A},I}}function hA(A){re