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