@pixelation/aseprite
Version:
A library for parsing Aseprite files.
1 lines • 59.9 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const ti=4,ye=0,Ie=1,ei=2;function dt(t){let n=t.length;for(;--n>=0;)t[n]=0}const ni=0,cn=1,ii=2,ai=3,ri=258,we=29,Rt=256,kt=Rt+1+we,st=30,be=19,_n=2*kt+1,Q=15,jt=16,li=7,xe=256,un=16,gn=17,wn=18,oe=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]),Ft=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]),oi=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),bn=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),si=512,G=new Array((kt+2)*2);dt(G);const bt=new Array(st*2);dt(bt);const vt=new Array(si);dt(vt);const St=new Array(ri-ai+1);dt(St);const pe=new Array(we);dt(pe);const Lt=new Array(st);dt(Lt);function Vt(t,n,e,i,r){this.static_tree=t,this.extra_bits=n,this.extra_base=e,this.elems=i,this.max_length=r,this.has_stree=t&&t.length}let xn,pn,kn;function Wt(t,n){this.dyn_tree=t,this.max_code=0,this.stat_desc=n}const vn=t=>t<256?vt[t]:vt[256+(t>>>7)],mt=(t,n)=>{t.pending_buf[t.pending++]=n&255,t.pending_buf[t.pending++]=n>>>8&255},T=(t,n,e)=>{t.bi_valid>jt-e?(t.bi_buf|=n<<t.bi_valid&65535,mt(t,t.bi_buf),t.bi_buf=n>>jt-t.bi_valid,t.bi_valid+=e-jt):(t.bi_buf|=n<<t.bi_valid&65535,t.bi_valid+=e)},L=(t,n,e)=>{T(t,e[n*2],e[n*2+1])},Sn=(t,n)=>{let e=0;do e|=t&1,t>>>=1,e<<=1;while(--n>0);return e>>>1},fi=t=>{t.bi_valid===16?(mt(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=t.bi_buf&255,t.bi_buf>>=8,t.bi_valid-=8)},hi=(t,n)=>{const e=n.dyn_tree,i=n.max_code,r=n.stat_desc.static_tree,a=n.stat_desc.has_stree,s=n.stat_desc.extra_bits,o=n.stat_desc.extra_base,d=n.stat_desc.max_length;let l,f,g,c,h,u,z=0;for(c=0;c<=Q;c++)t.bl_count[c]=0;for(e[t.heap[t.heap_max]*2+1]=0,l=t.heap_max+1;l<_n;l++)f=t.heap[l],c=e[e[f*2+1]*2+1]+1,c>d&&(c=d,z++),e[f*2+1]=c,!(f>i)&&(t.bl_count[c]++,h=0,f>=o&&(h=s[f-o]),u=e[f*2],t.opt_len+=u*(c+h),a&&(t.static_len+=u*(r[f*2+1]+h)));if(z!==0){do{for(c=d-1;t.bl_count[c]===0;)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[d]--,z-=2}while(z>0);for(c=d;c!==0;c--)for(f=t.bl_count[c];f!==0;)g=t.heap[--l],!(g>i)&&(e[g*2+1]!==c&&(t.opt_len+=(c-e[g*2+1])*e[g*2],e[g*2+1]=c),f--)}},mn=(t,n,e)=>{const i=new Array(Q+1);let r=0,a,s;for(a=1;a<=Q;a++)r=r+e[a-1]<<1,i[a]=r;for(s=0;s<=n;s++){let o=t[s*2+1];o!==0&&(t[s*2]=Sn(i[o]++,o))}},di=()=>{let t,n,e,i,r;const a=new Array(Q+1);for(e=0,i=0;i<we-1;i++)for(pe[i]=e,t=0;t<1<<oe[i];t++)St[e++]=i;for(St[e-1]=i,r=0,i=0;i<16;i++)for(Lt[i]=r,t=0;t<1<<Ft[i];t++)vt[r++]=i;for(r>>=7;i<st;i++)for(Lt[i]=r<<7,t=0;t<1<<Ft[i]-7;t++)vt[256+r++]=i;for(n=0;n<=Q;n++)a[n]=0;for(t=0;t<=143;)G[t*2+1]=8,t++,a[8]++;for(;t<=255;)G[t*2+1]=9,t++,a[9]++;for(;t<=279;)G[t*2+1]=7,t++,a[7]++;for(;t<=287;)G[t*2+1]=8,t++,a[8]++;for(mn(G,kt+1,a),t=0;t<st;t++)bt[t*2+1]=5,bt[t*2]=Sn(t,5);xn=new Vt(G,oe,Rt+1,kt,Q),pn=new Vt(bt,Ft,0,st,Q),kn=new Vt(new Array(0),oi,0,be,li)},En=t=>{let n;for(n=0;n<kt;n++)t.dyn_ltree[n*2]=0;for(n=0;n<st;n++)t.dyn_dtree[n*2]=0;for(n=0;n<be;n++)t.bl_tree[n*2]=0;t.dyn_ltree[xe*2]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},yn=t=>{t.bi_valid>8?mt(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},ze=(t,n,e,i)=>{const r=n*2,a=e*2;return t[r]<t[a]||t[r]===t[a]&&i[n]<=i[e]},Kt=(t,n,e)=>{const i=t.heap[e];let r=e<<1;for(;r<=t.heap_len&&(r<t.heap_len&&ze(n,t.heap[r+1],t.heap[r],t.depth)&&r++,!ze(n,i,t.heap[r],t.depth));)t.heap[e]=t.heap[r],e=r,r<<=1;t.heap[e]=i},Re=(t,n,e)=>{let i,r,a=0,s,o;if(t.sym_next!==0)do i=t.pending_buf[t.sym_buf+a++]&255,i+=(t.pending_buf[t.sym_buf+a++]&255)<<8,r=t.pending_buf[t.sym_buf+a++],i===0?L(t,r,n):(s=St[r],L(t,s+Rt+1,n),o=oe[s],o!==0&&(r-=pe[s],T(t,r,o)),i--,s=vn(i),L(t,s,e),o=Ft[s],o!==0&&(i-=Lt[s],T(t,i,o)));while(a<t.sym_next);L(t,xe,n)},se=(t,n)=>{const e=n.dyn_tree,i=n.stat_desc.static_tree,r=n.stat_desc.has_stree,a=n.stat_desc.elems;let s,o,d=-1,l;for(t.heap_len=0,t.heap_max=_n,s=0;s<a;s++)e[s*2]!==0?(t.heap[++t.heap_len]=d=s,t.depth[s]=0):e[s*2+1]=0;for(;t.heap_len<2;)l=t.heap[++t.heap_len]=d<2?++d:0,e[l*2]=1,t.depth[l]=0,t.opt_len--,r&&(t.static_len-=i[l*2+1]);for(n.max_code=d,s=t.heap_len>>1;s>=1;s--)Kt(t,e,s);l=a;do s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Kt(t,e,1),o=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=o,e[l*2]=e[s*2]+e[o*2],t.depth[l]=(t.depth[s]>=t.depth[o]?t.depth[s]:t.depth[o])+1,e[s*2+1]=e[o*2+1]=l,t.heap[1]=l++,Kt(t,e,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],hi(t,n),mn(e,d,t.bl_count)},Ze=(t,n,e)=>{let i,r=-1,a,s=n[0*2+1],o=0,d=7,l=4;for(s===0&&(d=138,l=3),n[(e+1)*2+1]=65535,i=0;i<=e;i++)a=s,s=n[(i+1)*2+1],!(++o<d&&a===s)&&(o<l?t.bl_tree[a*2]+=o:a!==0?(a!==r&&t.bl_tree[a*2]++,t.bl_tree[un*2]++):o<=10?t.bl_tree[gn*2]++:t.bl_tree[wn*2]++,o=0,r=a,s===0?(d=138,l=3):a===s?(d=6,l=3):(d=7,l=4))},Oe=(t,n,e)=>{let i,r=-1,a,s=n[0*2+1],o=0,d=7,l=4;for(s===0&&(d=138,l=3),i=0;i<=e;i++)if(a=s,s=n[(i+1)*2+1],!(++o<d&&a===s)){if(o<l)do L(t,a,t.bl_tree);while(--o!==0);else a!==0?(a!==r&&(L(t,a,t.bl_tree),o--),L(t,un,t.bl_tree),T(t,o-3,2)):o<=10?(L(t,gn,t.bl_tree),T(t,o-3,3)):(L(t,wn,t.bl_tree),T(t,o-11,7));o=0,r=a,s===0?(d=138,l=3):a===s?(d=6,l=3):(d=7,l=4)}},ci=t=>{let n;for(Ze(t,t.dyn_ltree,t.l_desc.max_code),Ze(t,t.dyn_dtree,t.d_desc.max_code),se(t,t.bl_desc),n=be-1;n>=3&&t.bl_tree[bn[n]*2+1]===0;n--);return t.opt_len+=3*(n+1)+5+5+4,n},_i=(t,n,e,i)=>{let r;for(T(t,n-257,5),T(t,e-1,5),T(t,i-4,4),r=0;r<i;r++)T(t,t.bl_tree[bn[r]*2+1],3);Oe(t,t.dyn_ltree,n-1),Oe(t,t.dyn_dtree,e-1)},ui=t=>{let n=4093624447,e;for(e=0;e<=31;e++,n>>>=1)if(n&1&&t.dyn_ltree[e*2]!==0)return ye;if(t.dyn_ltree[9*2]!==0||t.dyn_ltree[10*2]!==0||t.dyn_ltree[13*2]!==0)return Ie;for(e=32;e<Rt;e++)if(t.dyn_ltree[e*2]!==0)return Ie;return ye};let Ue=!1;const gi=t=>{Ue||(di(),Ue=!0),t.l_desc=new Wt(t.dyn_ltree,xn),t.d_desc=new Wt(t.dyn_dtree,pn),t.bl_desc=new Wt(t.bl_tree,kn),t.bi_buf=0,t.bi_valid=0,En(t)},In=(t,n,e,i)=>{T(t,(ni<<1)+(i?1:0),3),yn(t),mt(t,e),mt(t,~e),e&&t.pending_buf.set(t.window.subarray(n,n+e),t.pending),t.pending+=e},wi=t=>{T(t,cn<<1,3),L(t,xe,G),fi(t)},bi=(t,n,e,i)=>{let r,a,s=0;t.level>0?(t.strm.data_type===ei&&(t.strm.data_type=ui(t)),se(t,t.l_desc),se(t,t.d_desc),s=ci(t),r=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=r&&(r=a)):r=a=e+5,e+4<=r&&n!==-1?In(t,n,e,i):t.strategy===ti||a===r?(T(t,(cn<<1)+(i?1:0),3),Re(t,G,bt)):(T(t,(ii<<1)+(i?1:0),3),_i(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),Re(t,t.dyn_ltree,t.dyn_dtree)),En(t),i&&yn(t)},xi=(t,n,e)=>(t.pending_buf[t.sym_buf+t.sym_next++]=n,t.pending_buf[t.sym_buf+t.sym_next++]=n>>8,t.pending_buf[t.sym_buf+t.sym_next++]=e,n===0?t.dyn_ltree[e*2]++:(t.matches++,n--,t.dyn_ltree[(St[e]+Rt+1)*2]++,t.dyn_dtree[vn(n)*2]++),t.sym_next===t.sym_end);var pi=gi,ki=In,vi=bi,Si=xi,mi=wi,Ei={_tr_init:pi,_tr_stored_block:ki,_tr_flush_block:vi,_tr_tally:Si,_tr_align:mi};const yi=(t,n,e,i)=>{let r=t&65535|0,a=t>>>16&65535|0,s=0;for(;e!==0;){s=e>2e3?2e3:e,e-=s;do r=r+n[i++]|0,a=a+r|0;while(--s);r%=65521,a%=65521}return r|a<<16|0};var Et=yi;const Ii=()=>{let t,n=[];for(var e=0;e<256;e++){t=e;for(var i=0;i<8;i++)t=t&1?3988292384^t>>>1:t>>>1;n[e]=t}return n},zi=new Uint32Array(Ii()),Ri=(t,n,e,i)=>{const r=zi,a=i+e;t^=-1;for(let s=i;s<a;s++)t=t>>>8^r[(t^n[s])&255];return t^-1};var U=Ri,et={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"},at={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:Zi,_tr_stored_block:fe,_tr_flush_block:Oi,_tr_tally:V,_tr_align:Ui}=Ei,{Z_NO_FLUSH:W,Z_PARTIAL_FLUSH:Di,Z_FULL_FLUSH:Ni,Z_FINISH:C,Z_BLOCK:De,Z_OK:D,Z_STREAM_END:Ne,Z_STREAM_ERROR:P,Z_DATA_ERROR:Ti,Z_BUF_ERROR:Jt,Z_DEFAULT_COMPRESSION:$i,Z_FILTERED:Bi,Z_HUFFMAN_ONLY:Tt,Z_RLE:Ci,Z_FIXED:Hi,Z_DEFAULT_STRATEGY:Fi,Z_UNKNOWN:Li,Z_DEFLATED:Gt}=at,Pi=9,Ai=15,Mi=8,Gi=29,Xi=256,he=Xi+1+Gi,Yi=30,ji=19,Vi=2*he+1,Wi=15,S=3,j=258,A=j+S+1,Ki=32,ft=42,ke=57,de=69,ce=73,_e=91,ue=103,q=113,gt=666,N=1,ct=2,nt=3,_t=4,Ji=3,tt=(t,n)=>(t.msg=et[n],n),Te=t=>t*2-(t>4?9:0),Y=t=>{let n=t.length;for(;--n>=0;)t[n]=0},Qi=t=>{let n,e,i,r=t.w_size;n=t.hash_size,i=n;do e=t.head[--i],t.head[i]=e>=r?e-r:0;while(--n);n=r,i=n;do e=t.prev[--i],t.prev[i]=e>=r?e-r:0;while(--n)};let qi=(t,n,e)=>(n<<t.hash_shift^e)&t.hash_mask,K=qi;const $=t=>{const n=t.state;let e=n.pending;e>t.avail_out&&(e=t.avail_out),e!==0&&(t.output.set(n.pending_buf.subarray(n.pending_out,n.pending_out+e),t.next_out),t.next_out+=e,n.pending_out+=e,t.total_out+=e,t.avail_out-=e,n.pending-=e,n.pending===0&&(n.pending_out=0))},B=(t,n)=>{Oi(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,n),t.block_start=t.strstart,$(t.strm)},y=(t,n)=>{t.pending_buf[t.pending++]=n},ut=(t,n)=>{t.pending_buf[t.pending++]=n>>>8&255,t.pending_buf[t.pending++]=n&255},ge=(t,n,e,i)=>{let r=t.avail_in;return r>i&&(r=i),r===0?0:(t.avail_in-=r,n.set(t.input.subarray(t.next_in,t.next_in+r),e),t.state.wrap===1?t.adler=Et(t.adler,n,r,e):t.state.wrap===2&&(t.adler=U(t.adler,n,r,e)),t.next_in+=r,t.total_in+=r,r)},zn=(t,n)=>{let e=t.max_chain_length,i=t.strstart,r,a,s=t.prev_length,o=t.nice_match;const d=t.strstart>t.w_size-A?t.strstart-(t.w_size-A):0,l=t.window,f=t.w_mask,g=t.prev,c=t.strstart+j;let h=l[i+s-1],u=l[i+s];t.prev_length>=t.good_match&&(e>>=2),o>t.lookahead&&(o=t.lookahead);do if(r=n,!(l[r+s]!==u||l[r+s-1]!==h||l[r]!==l[i]||l[++r]!==l[i+1])){i+=2,r++;do;while(l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&i<c);if(a=j-(c-i),i=c-j,a>s){if(t.match_start=n,s=a,a>=o)break;h=l[i+s-1],u=l[i+s]}}while((n=g[n&f])>d&&--e!==0);return s<=t.lookahead?s:t.lookahead},ht=t=>{const n=t.w_size;let e,i,r;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=n+(n-A)&&(t.window.set(t.window.subarray(n,n+n-i),0),t.match_start-=n,t.strstart-=n,t.block_start-=n,t.insert>t.strstart&&(t.insert=t.strstart),Qi(t),i+=n),t.strm.avail_in===0)break;if(e=ge(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=e,t.lookahead+t.insert>=S)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=K(t,t.ins_h,t.window[r+1]);t.insert&&(t.ins_h=K(t,t.ins_h,t.window[r+S-1]),t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<S)););}while(t.lookahead<A&&t.strm.avail_in!==0)},Rn=(t,n)=>{let e=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,i,r,a,s=0,o=t.strm.avail_in;do{if(i=65535,a=t.bi_valid+42>>3,t.strm.avail_out<a||(a=t.strm.avail_out-a,r=t.strstart-t.block_start,i>r+t.strm.avail_in&&(i=r+t.strm.avail_in),i>a&&(i=a),i<e&&(i===0&&n!==C||n===W||i!==r+t.strm.avail_in)))break;s=n===C&&i===r+t.strm.avail_in?1:0,fe(t,0,0,s),t.pending_buf[t.pending-4]=i,t.pending_buf[t.pending-3]=i>>8,t.pending_buf[t.pending-2]=~i,t.pending_buf[t.pending-1]=~i>>8,$(t.strm),r&&(r>i&&(r=i),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+r),t.strm.next_out),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r,t.block_start+=r,i-=r),i&&(ge(t.strm,t.strm.output,t.strm.next_out,i),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i)}while(s===0);return o-=t.strm.avail_in,o&&(o>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=o&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-o,t.strm.next_in),t.strstart),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),s?_t:n!==W&&n!==C&&t.strm.avail_in===0&&t.strstart===t.block_start?ct:(a=t.window_size-t.strstart,t.strm.avail_in>a&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,a+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),a>t.strm.avail_in&&(a=t.strm.avail_in),a&&(ge(t.strm,t.window,t.strstart,a),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.high_water<t.strstart&&(t.high_water=t.strstart),a=t.bi_valid+42>>3,a=t.pending_buf_size-a>65535?65535:t.pending_buf_size-a,e=a>t.w_size?t.w_size:a,r=t.strstart-t.block_start,(r>=e||(r||n===C)&&n!==W&&t.strm.avail_in===0&&r<=a)&&(i=r>a?a:r,s=n===C&&t.strm.avail_in===0&&i===r?1:0,fe(t,t.block_start,i,s),t.block_start+=i,$(t.strm)),s?nt:N)},Qt=(t,n)=>{let e,i;for(;;){if(t.lookahead<A){if(ht(t),t.lookahead<A&&n===W)return N;if(t.lookahead===0)break}if(e=0,t.lookahead>=S&&(t.ins_h=K(t,t.ins_h,t.window[t.strstart+S-1]),e=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),e!==0&&t.strstart-e<=t.w_size-A&&(t.match_length=zn(t,e)),t.match_length>=S)if(i=V(t,t.strstart-t.match_start,t.match_length-S),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=S){t.match_length--;do t.strstart++,t.ins_h=K(t,t.ins_h,t.window[t.strstart+S-1]),e=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart;while(--t.match_length!==0);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=K(t,t.ins_h,t.window[t.strstart+1]);else i=V(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(B(t,!1),t.strm.avail_out===0))return N}return t.insert=t.strstart<S-1?t.strstart:S-1,n===C?(B(t,!0),t.strm.avail_out===0?nt:_t):t.sym_next&&(B(t,!1),t.strm.avail_out===0)?N:ct},lt=(t,n)=>{let e,i,r;for(;;){if(t.lookahead<A){if(ht(t),t.lookahead<A&&n===W)return N;if(t.lookahead===0)break}if(e=0,t.lookahead>=S&&(t.ins_h=K(t,t.ins_h,t.window[t.strstart+S-1]),e=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=S-1,e!==0&&t.prev_length<t.max_lazy_match&&t.strstart-e<=t.w_size-A&&(t.match_length=zn(t,e),t.match_length<=5&&(t.strategy===Bi||t.match_length===S&&t.strstart-t.match_start>4096)&&(t.match_length=S-1)),t.prev_length>=S&&t.match_length<=t.prev_length){r=t.strstart+t.lookahead-S,i=V(t,t.strstart-1-t.prev_match,t.prev_length-S),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=r&&(t.ins_h=K(t,t.ins_h,t.window[t.strstart+S-1]),e=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart);while(--t.prev_length!==0);if(t.match_available=0,t.match_length=S-1,t.strstart++,i&&(B(t,!1),t.strm.avail_out===0))return N}else if(t.match_available){if(i=V(t,0,t.window[t.strstart-1]),i&&B(t,!1),t.strstart++,t.lookahead--,t.strm.avail_out===0)return N}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=V(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<S-1?t.strstart:S-1,n===C?(B(t,!0),t.strm.avail_out===0?nt:_t):t.sym_next&&(B(t,!1),t.strm.avail_out===0)?N:ct},ta=(t,n)=>{let e,i,r,a;const s=t.window;for(;;){if(t.lookahead<=j){if(ht(t),t.lookahead<=j&&n===W)return N;if(t.lookahead===0)break}if(t.match_length=0,t.lookahead>=S&&t.strstart>0&&(r=t.strstart-1,i=s[r],i===s[++r]&&i===s[++r]&&i===s[++r])){a=t.strstart+j;do;while(i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&r<a);t.match_length=j-(a-r),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=S?(e=V(t,1,t.match_length-S),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(e=V(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),e&&(B(t,!1),t.strm.avail_out===0))return N}return t.insert=0,n===C?(B(t,!0),t.strm.avail_out===0?nt:_t):t.sym_next&&(B(t,!1),t.strm.avail_out===0)?N:ct},ea=(t,n)=>{let e;for(;;){if(t.lookahead===0&&(ht(t),t.lookahead===0)){if(n===W)return N;break}if(t.match_length=0,e=V(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,e&&(B(t,!1),t.strm.avail_out===0))return N}return t.insert=0,n===C?(B(t,!0),t.strm.avail_out===0?nt:_t):t.sym_next&&(B(t,!1),t.strm.avail_out===0)?N:ct};function F(t,n,e,i,r){this.good_length=t,this.max_lazy=n,this.nice_length=e,this.max_chain=i,this.func=r}const wt=[new F(0,0,0,0,Rn),new F(4,4,8,4,Qt),new F(4,5,16,8,Qt),new F(4,6,32,32,Qt),new F(4,4,16,16,lt),new F(8,16,32,32,lt),new F(8,16,128,128,lt),new F(8,32,128,256,lt),new F(32,128,258,1024,lt),new F(32,258,258,4096,lt)],na=t=>{t.window_size=2*t.w_size,Y(t.head),t.max_lazy_match=wt[t.level].max_lazy,t.good_match=wt[t.level].good_length,t.nice_match=wt[t.level].nice_length,t.max_chain_length=wt[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=S-1,t.match_available=0,t.ins_h=0};function ia(){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=Gt,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(Vi*2),this.dyn_dtree=new Uint16Array((2*Yi+1)*2),this.bl_tree=new Uint16Array((2*ji+1)*2),Y(this.dyn_ltree),Y(this.dyn_dtree),Y(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Wi+1),this.heap=new Uint16Array(2*he+1),Y(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*he+1),Y(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Zt=t=>{if(!t)return 1;const n=t.state;return!n||n.strm!==t||n.status!==ft&&n.status!==ke&&n.status!==de&&n.status!==ce&&n.status!==_e&&n.status!==ue&&n.status!==q&&n.status!==gt?1:0},Zn=t=>{if(Zt(t))return tt(t,P);t.total_in=t.total_out=0,t.data_type=Li;const n=t.state;return n.pending=0,n.pending_out=0,n.wrap<0&&(n.wrap=-n.wrap),n.status=n.wrap===2?ke:n.wrap?ft:q,t.adler=n.wrap===2?0:1,n.last_flush=-2,Zi(n),D},On=t=>{const n=Zn(t);return n===D&&na(t.state),n},aa=(t,n)=>Zt(t)||t.state.wrap!==2?P:(t.state.gzhead=n,D),Un=(t,n,e,i,r,a)=>{if(!t)return P;let s=1;if(n===$i&&(n=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),r<1||r>Pi||e!==Gt||i<8||i>15||n<0||n>9||a<0||a>Hi||i===8&&s!==1)return tt(t,P);i===8&&(i=9);const o=new ia;return t.state=o,o.strm=t,o.status=ft,o.wrap=s,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=r+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+S-1)/S),o.window=new Uint8Array(o.w_size*2),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<r+6,o.pending_buf_size=o.lit_bufsize*4,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=(o.lit_bufsize-1)*3,o.level=n,o.strategy=a,o.method=e,On(t)},ra=(t,n)=>Un(t,n,Gt,Ai,Mi,Fi),la=(t,n)=>{if(Zt(t)||n>De||n<0)return t?tt(t,P):P;const e=t.state;if(!t.output||t.avail_in!==0&&!t.input||e.status===gt&&n!==C)return tt(t,t.avail_out===0?Jt:P);const i=e.last_flush;if(e.last_flush=n,e.pending!==0){if($(t),t.avail_out===0)return e.last_flush=-1,D}else if(t.avail_in===0&&Te(n)<=Te(i)&&n!==C)return tt(t,Jt);if(e.status===gt&&t.avail_in!==0)return tt(t,Jt);if(e.status===ft&&e.wrap===0&&(e.status=q),e.status===ft){let r=Gt+(e.w_bits-8<<4)<<8,a=-1;if(e.strategy>=Tt||e.level<2?a=0:e.level<6?a=1:e.level===6?a=2:a=3,r|=a<<6,e.strstart!==0&&(r|=Ki),r+=31-r%31,ut(e,r),e.strstart!==0&&(ut(e,t.adler>>>16),ut(e,t.adler&65535)),t.adler=1,e.status=q,$(t),e.pending!==0)return e.last_flush=-1,D}if(e.status===ke){if(t.adler=0,y(e,31),y(e,139),y(e,8),e.gzhead)y(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),y(e,e.gzhead.time&255),y(e,e.gzhead.time>>8&255),y(e,e.gzhead.time>>16&255),y(e,e.gzhead.time>>24&255),y(e,e.level===9?2:e.strategy>=Tt||e.level<2?4:0),y(e,e.gzhead.os&255),e.gzhead.extra&&e.gzhead.extra.length&&(y(e,e.gzhead.extra.length&255),y(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(t.adler=U(t.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=de;else if(y(e,0),y(e,0),y(e,0),y(e,0),y(e,0),y(e,e.level===9?2:e.strategy>=Tt||e.level<2?4:0),y(e,Ji),e.status=q,$(t),e.pending!==0)return e.last_flush=-1,D}if(e.status===de){if(e.gzhead.extra){let r=e.pending,a=(e.gzhead.extra.length&65535)-e.gzindex;for(;e.pending+a>e.pending_buf_size;){let o=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+o),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>r&&(t.adler=U(t.adler,e.pending_buf,e.pending-r,r)),e.gzindex+=o,$(t),e.pending!==0)return e.last_flush=-1,D;r=0,a-=o}let s=new Uint8Array(e.gzhead.extra);e.pending_buf.set(s.subarray(e.gzindex,e.gzindex+a),e.pending),e.pending+=a,e.gzhead.hcrc&&e.pending>r&&(t.adler=U(t.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=ce}if(e.status===ce){if(e.gzhead.name){let r=e.pending,a;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(t.adler=U(t.adler,e.pending_buf,e.pending-r,r)),$(t),e.pending!==0)return e.last_flush=-1,D;r=0}e.gzindex<e.gzhead.name.length?a=e.gzhead.name.charCodeAt(e.gzindex++)&255:a=0,y(e,a)}while(a!==0);e.gzhead.hcrc&&e.pending>r&&(t.adler=U(t.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=_e}if(e.status===_e){if(e.gzhead.comment){let r=e.pending,a;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(t.adler=U(t.adler,e.pending_buf,e.pending-r,r)),$(t),e.pending!==0)return e.last_flush=-1,D;r=0}e.gzindex<e.gzhead.comment.length?a=e.gzhead.comment.charCodeAt(e.gzindex++)&255:a=0,y(e,a)}while(a!==0);e.gzhead.hcrc&&e.pending>r&&(t.adler=U(t.adler,e.pending_buf,e.pending-r,r))}e.status=ue}if(e.status===ue){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&($(t),e.pending!==0))return e.last_flush=-1,D;y(e,t.adler&255),y(e,t.adler>>8&255),t.adler=0}if(e.status=q,$(t),e.pending!==0)return e.last_flush=-1,D}if(t.avail_in!==0||e.lookahead!==0||n!==W&&e.status!==gt){let r=e.level===0?Rn(e,n):e.strategy===Tt?ea(e,n):e.strategy===Ci?ta(e,n):wt[e.level].func(e,n);if((r===nt||r===_t)&&(e.status=gt),r===N||r===nt)return t.avail_out===0&&(e.last_flush=-1),D;if(r===ct&&(n===Di?Ui(e):n!==De&&(fe(e,0,0,!1),n===Ni&&(Y(e.head),e.lookahead===0&&(e.strstart=0,e.block_start=0,e.insert=0))),$(t),t.avail_out===0))return e.last_flush=-1,D}return n!==C?D:e.wrap<=0?Ne:(e.wrap===2?(y(e,t.adler&255),y(e,t.adler>>8&255),y(e,t.adler>>16&255),y(e,t.adler>>24&255),y(e,t.total_in&255),y(e,t.total_in>>8&255),y(e,t.total_in>>16&255),y(e,t.total_in>>24&255)):(ut(e,t.adler>>>16),ut(e,t.adler&65535)),$(t),e.wrap>0&&(e.wrap=-e.wrap),e.pending!==0?D:Ne)},oa=t=>{if(Zt(t))return P;const n=t.state.status;return t.state=null,n===q?tt(t,Ti):D},sa=(t,n)=>{let e=n.length;if(Zt(t))return P;const i=t.state,r=i.wrap;if(r===2||r===1&&i.status!==ft||i.lookahead)return P;if(r===1&&(t.adler=Et(t.adler,n,e,0)),i.wrap=0,e>=i.w_size){r===0&&(Y(i.head),i.strstart=0,i.block_start=0,i.insert=0);let d=new Uint8Array(i.w_size);d.set(n.subarray(e-i.w_size,e),0),n=d,e=i.w_size}const a=t.avail_in,s=t.next_in,o=t.input;for(t.avail_in=e,t.next_in=0,t.input=n,ht(i);i.lookahead>=S;){let d=i.strstart,l=i.lookahead-(S-1);do i.ins_h=K(i,i.ins_h,i.window[d+S-1]),i.prev[d&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=d,d++;while(--l);i.strstart=d,i.lookahead=S-1,ht(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=S-1,i.match_available=0,t.next_in=s,t.input=o,t.avail_in=a,i.wrap=r,D};var fa=ra,ha=Un,da=On,ca=Zn,_a=aa,ua=la,ga=oa,wa=sa,ba="pako deflate (from Nodeca project)",xt={deflateInit:fa,deflateInit2:ha,deflateReset:da,deflateResetKeep:ca,deflateSetHeader:_a,deflate:ua,deflateEnd:ga,deflateSetDictionary:wa,deflateInfo:ba};const xa=(t,n)=>Object.prototype.hasOwnProperty.call(t,n);var pa=function(t){const n=Array.prototype.slice.call(arguments,1);for(;n.length;){const e=n.shift();if(e){if(typeof e!="object")throw new TypeError(e+"must be non-object");for(const i in e)xa(e,i)&&(t[i]=e[i])}}return t},ka=t=>{let n=0;for(let i=0,r=t.length;i<r;i++)n+=t[i].length;const e=new Uint8Array(n);for(let i=0,r=0,a=t.length;i<a;i++){let s=t[i];e.set(s,r),r+=s.length}return e},Xt={assign:pa,flattenChunks:ka};let Dn=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Dn=!1}const yt=new Uint8Array(256);for(let t=0;t<256;t++)yt[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;yt[254]=yt[254]=1;var va=t=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(t);let n,e,i,r,a,s=t.length,o=0;for(r=0;r<s;r++)e=t.charCodeAt(r),(e&64512)===55296&&r+1<s&&(i=t.charCodeAt(r+1),(i&64512)===56320&&(e=65536+(e-55296<<10)+(i-56320),r++)),o+=e<128?1:e<2048?2:e<65536?3:4;for(n=new Uint8Array(o),a=0,r=0;a<o;r++)e=t.charCodeAt(r),(e&64512)===55296&&r+1<s&&(i=t.charCodeAt(r+1),(i&64512)===56320&&(e=65536+(e-55296<<10)+(i-56320),r++)),e<128?n[a++]=e:e<2048?(n[a++]=192|e>>>6,n[a++]=128|e&63):e<65536?(n[a++]=224|e>>>12,n[a++]=128|e>>>6&63,n[a++]=128|e&63):(n[a++]=240|e>>>18,n[a++]=128|e>>>12&63,n[a++]=128|e>>>6&63,n[a++]=128|e&63);return n};const Sa=(t,n)=>{if(n<65534&&t.subarray&&Dn)return String.fromCharCode.apply(null,t.length===n?t:t.subarray(0,n));let e="";for(let i=0;i<n;i++)e+=String.fromCharCode(t[i]);return e};var ma=(t,n)=>{const e=n||t.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(t.subarray(0,n));let i,r;const a=new Array(e*2);for(r=0,i=0;i<e;){let s=t[i++];if(s<128){a[r++]=s;continue}let o=yt[s];if(o>4){a[r++]=65533,i+=o-1;continue}for(s&=o===2?31:o===3?15:7;o>1&&i<e;)s=s<<6|t[i++]&63,o--;if(o>1){a[r++]=65533;continue}s<65536?a[r++]=s:(s-=65536,a[r++]=55296|s>>10&1023,a[r++]=56320|s&1023)}return Sa(a,r)},Ea=(t,n)=>{n=n||t.length,n>t.length&&(n=t.length);let e=n-1;for(;e>=0&&(t[e]&192)===128;)e--;return e<0||e===0?n:e+yt[t[e]]>n?e:n},It={string2buf:va,buf2string:ma,utf8border:Ea};function ya(){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}var Nn=ya;const Tn=Object.prototype.toString,{Z_NO_FLUSH:Ia,Z_SYNC_FLUSH:za,Z_FULL_FLUSH:Ra,Z_FINISH:Za,Z_OK:Pt,Z_STREAM_END:Oa,Z_DEFAULT_COMPRESSION:Ua,Z_DEFAULT_STRATEGY:Da,Z_DEFLATED:Na}=at;function Ot(t){this.options=Xt.assign({level:Ua,method:Na,chunkSize:16384,windowBits:15,memLevel:8,strategy:Da},t||{});let n=this.options;n.raw&&n.windowBits>0?n.windowBits=-n.windowBits:n.gzip&&n.windowBits>0&&n.windowBits<16&&(n.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Nn,this.strm.avail_out=0;let e=xt.deflateInit2(this.strm,n.level,n.method,n.windowBits,n.memLevel,n.strategy);if(e!==Pt)throw new Error(et[e]);if(n.header&&xt.deflateSetHeader(this.strm,n.header),n.dictionary){let i;if(typeof n.dictionary=="string"?i=It.string2buf(n.dictionary):Tn.call(n.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(n.dictionary):i=n.dictionary,e=xt.deflateSetDictionary(this.strm,i),e!==Pt)throw new Error(et[e]);this._dict_set=!0}}Ot.prototype.push=function(t,n){const e=this.strm,i=this.options.chunkSize;let r,a;if(this.ended)return!1;for(n===~~n?a=n:a=n===!0?Za:Ia,typeof t=="string"?e.input=It.string2buf(t):Tn.call(t)==="[object ArrayBuffer]"?e.input=new Uint8Array(t):e.input=t,e.next_in=0,e.avail_in=e.input.length;;){if(e.avail_out===0&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),(a===za||a===Ra)&&e.avail_out<=6){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(r=xt.deflate(e,a),r===Oa)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),r=xt.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===Pt;if(e.avail_out===0){this.onData(e.output);continue}if(a>0&&e.next_out>0){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(e.avail_in===0)break}return!0};Ot.prototype.onData=function(t){this.chunks.push(t)};Ot.prototype.onEnd=function(t){t===Pt&&(this.result=Xt.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function ve(t,n){const e=new Ot(n);if(e.push(t,!0),e.err)throw e.msg||et[e.err];return e.result}function Ta(t,n){return n=n||{},n.raw=!0,ve(t,n)}function $a(t,n){return n=n||{},n.gzip=!0,ve(t,n)}var Ba=Ot,Ca=ve,Ha=Ta,Fa=$a,La=at,Pa={Deflate:Ba,deflate:Ca,deflateRaw:Ha,gzip:Fa,constants:La};const $t=16209,Aa=16191;var Ma=function(n,e){let i,r,a,s,o,d,l,f,g,c,h,u,z,p,x,I,k,_,E,O,w,R,m,b;const v=n.state;i=n.next_in,m=n.input,r=i+(n.avail_in-5),a=n.next_out,b=n.output,s=a-(e-n.avail_out),o=a+(n.avail_out-257),d=v.dmax,l=v.wsize,f=v.whave,g=v.wnext,c=v.window,h=v.hold,u=v.bits,z=v.lencode,p=v.distcode,x=(1<<v.lenbits)-1,I=(1<<v.distbits)-1;t:do{u<15&&(h+=m[i++]<<u,u+=8,h+=m[i++]<<u,u+=8),k=z[h&x];e:for(;;){if(_=k>>>24,h>>>=_,u-=_,_=k>>>16&255,_===0)b[a++]=k&65535;else if(_&16){E=k&65535,_&=15,_&&(u<_&&(h+=m[i++]<<u,u+=8),E+=h&(1<<_)-1,h>>>=_,u-=_),u<15&&(h+=m[i++]<<u,u+=8,h+=m[i++]<<u,u+=8),k=p[h&I];n:for(;;){if(_=k>>>24,h>>>=_,u-=_,_=k>>>16&255,_&16){if(O=k&65535,_&=15,u<_&&(h+=m[i++]<<u,u+=8,u<_&&(h+=m[i++]<<u,u+=8)),O+=h&(1<<_)-1,O>d){n.msg="invalid distance too far back",v.mode=$t;break t}if(h>>>=_,u-=_,_=a-s,O>_){if(_=O-_,_>f&&v.sane){n.msg="invalid distance too far back",v.mode=$t;break t}if(w=0,R=c,g===0){if(w+=l-_,_<E){E-=_;do b[a++]=c[w++];while(--_);w=a-O,R=b}}else if(g<_){if(w+=l+g-_,_-=g,_<E){E-=_;do b[a++]=c[w++];while(--_);if(w=0,g<E){_=g,E-=_;do b[a++]=c[w++];while(--_);w=a-O,R=b}}}else if(w+=g-_,_<E){E-=_;do b[a++]=c[w++];while(--_);w=a-O,R=b}for(;E>2;)b[a++]=R[w++],b[a++]=R[w++],b[a++]=R[w++],E-=3;E&&(b[a++]=R[w++],E>1&&(b[a++]=R[w++]))}else{w=a-O;do b[a++]=b[w++],b[a++]=b[w++],b[a++]=b[w++],E-=3;while(E>2);E&&(b[a++]=b[w++],E>1&&(b[a++]=b[w++]))}}else if(_&64){n.msg="invalid distance code",v.mode=$t;break t}else{k=p[(k&65535)+(h&(1<<_)-1)];continue n}break}}else if(_&64)if(_&32){v.mode=Aa;break t}else{n.msg="invalid literal/length code",v.mode=$t;break t}else{k=z[(k&65535)+(h&(1<<_)-1)];continue e}break}}while(i<r&&a<o);E=u>>3,i-=E,u-=E<<3,h&=(1<<u)-1,n.next_in=i,n.next_out=a,n.avail_in=i<r?5+(r-i):5-(i-r),n.avail_out=a<o?257+(o-a):257-(a-o),v.hold=h,v.bits=u};const ot=15,$e=852,Be=592,Ce=0,qt=1,He=2,Ga=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]),Xa=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]),Ya=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]),ja=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]),Va=(t,n,e,i,r,a,s,o)=>{const d=o.bits;let l=0,f=0,g=0,c=0,h=0,u=0,z=0,p=0,x=0,I=0,k,_,E,O,w,R=null,m;const b=new Uint16Array(ot+1),v=new Uint16Array(ot+1);let J=null,Ee,Dt,Nt;for(l=0;l<=ot;l++)b[l]=0;for(f=0;f<i;f++)b[n[e+f]]++;for(h=d,c=ot;c>=1&&b[c]===0;c--);if(h>c&&(h=c),c===0)return r[a++]=1<<24|64<<16|0,r[a++]=1<<24|64<<16|0,o.bits=1,0;for(g=1;g<c&&b[g]===0;g++);for(h<g&&(h=g),p=1,l=1;l<=ot;l++)if(p<<=1,p-=b[l],p<0)return-1;if(p>0&&(t===Ce||c!==1))return-1;for(v[1]=0,l=1;l<ot;l++)v[l+1]=v[l]+b[l];for(f=0;f<i;f++)n[e+f]!==0&&(s[v[n[e+f]]++]=f);if(t===Ce?(R=J=s,m=20):t===qt?(R=Ga,J=Xa,m=257):(R=Ya,J=ja,m=0),I=0,f=0,l=g,w=a,u=h,z=0,E=-1,x=1<<h,O=x-1,t===qt&&x>$e||t===He&&x>Be)return 1;for(;;){Ee=l-z,s[f]+1<m?(Dt=0,Nt=s[f]):s[f]>=m?(Dt=J[s[f]-m],Nt=R[s[f]-m]):(Dt=96,Nt=0),k=1<<l-z,_=1<<u,g=_;do _-=k,r[w+(I>>z)+_]=Ee<<24|Dt<<16|Nt|0;while(_!==0);for(k=1<<l-1;I&k;)k>>=1;if(k!==0?(I&=k-1,I+=k):I=0,f++,--b[l]===0){if(l===c)break;l=n[e+s[f]]}if(l>h&&(I&O)!==E){for(z===0&&(z=h),w+=g,u=l-z,p=1<<u;u+z<c&&(p-=b[u+z],!(p<=0));)u++,p<<=1;if(x+=1<<u,t===qt&&x>$e||t===He&&x>Be)return 1;E=I&O,r[E]=h<<24|u<<16|w-a|0}}return I!==0&&(r[w+I]=l-z<<24|64<<16|0),o.bits=h,0};var pt=Va;const Wa=0,$n=1,Bn=2,{Z_FINISH:Fe,Z_BLOCK:Ka,Z_TREES:Bt,Z_OK:it,Z_STREAM_END:Ja,Z_NEED_DICT:Qa,Z_STREAM_ERROR:H,Z_DATA_ERROR:Cn,Z_MEM_ERROR:Hn,Z_BUF_ERROR:qa,Z_DEFLATED:Le}=at,Yt=16180,Pe=16181,Ae=16182,Me=16183,Ge=16184,Xe=16185,Ye=16186,je=16187,Ve=16188,We=16189,At=16190,M=16191,te=16192,Ke=16193,ee=16194,Je=16195,Qe=16196,qe=16197,tn=16198,Ct=16199,Ht=16200,en=16201,nn=16202,an=16203,rn=16204,ln=16205,ne=16206,on=16207,sn=16208,Z=16209,Fn=16210,Ln=16211,tr=852,er=592,nr=15,ir=nr,fn=t=>(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24);function ar(){this.strm=null,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 rt=t=>{if(!t)return 1;const n=t.state;return!n||n.strm!==t||n.mode<Yt||n.mode>Ln?1:0},Pn=t=>{if(rt(t))return H;const n=t.state;return t.total_in=t.total_out=n.total=0,t.msg="",n.wrap&&(t.adler=n.wrap&1),n.mode=Yt,n.last=0,n.havedict=0,n.flags=-1,n.dmax=32768,n.head=null,n.hold=0,n.bits=0,n.lencode=n.lendyn=new Int32Array(tr),n.distcode=n.distdyn=new Int32Array(er),n.sane=1,n.back=-1,it},An=t=>{if(rt(t))return H;const n=t.state;return n.wsize=0,n.whave=0,n.wnext=0,Pn(t)},Mn=(t,n)=>{let e;if(rt(t))return H;const i=t.state;return n<0?(e=0,n=-n):(e=(n>>4)+5,n<48&&(n&=15)),n&&(n<8||n>15)?H:(i.window!==null&&i.wbits!==n&&(i.window=null),i.wrap=e,i.wbits=n,An(t))},Gn=(t,n)=>{if(!t)return H;const e=new ar;t.state=e,e.strm=t,e.window=null,e.mode=Yt;const i=Mn(t,n);return i!==it&&(t.state=null),i},rr=t=>Gn(t,ir);let hn=!0,ie,ae;const lr=t=>{if(hn){ie=new Int32Array(512),ae=new Int32Array(32);let n=0;for(;n<144;)t.lens[n++]=8;for(;n<256;)t.lens[n++]=9;for(;n<280;)t.lens[n++]=7;for(;n<288;)t.lens[n++]=8;for(pt($n,t.lens,0,288,ie,0,t.work,{bits:9}),n=0;n<32;)t.lens[n++]=5;pt(Bn,t.lens,0,32,ae,0,t.work,{bits:5}),hn=!1}t.lencode=ie,t.lenbits=9,t.distcode=ae,t.distbits=5},Xn=(t,n,e,i)=>{let r;const a=t.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),i>=a.wsize?(a.window.set(n.subarray(e-a.wsize,e),0),a.wnext=0,a.whave=a.wsize):(r=a.wsize-a.wnext,r>i&&(r=i),a.window.set(n.subarray(e-i,e-i+r),a.wnext),i-=r,i?(a.window.set(n.subarray(e-i,e),0),a.wnext=i,a.whave=a.wsize):(a.wnext+=r,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=r))),0},or=(t,n)=>{let e,i,r,a,s,o,d,l,f,g,c,h,u,z,p=0,x,I,k,_,E,O,w,R;const m=new Uint8Array(4);let b,v;const J=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(rt(t)||!t.output||!t.input&&t.avail_in!==0)return H;e=t.state,e.mode===M&&(e.mode=te),s=t.next_out,r=t.output,d=t.avail_out,a=t.next_in,i=t.input,o=t.avail_in,l=e.hold,f=e.bits,g=o,c=d,R=it;t:for(;;)switch(e.mode){case Yt:if(e.wrap===0){e.mode=te;break}for(;f<16;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}if(e.wrap&2&&l===35615){e.wbits===0&&(e.wbits=15),e.check=0,m[0]=l&255,m[1]=l>>>8&255,e.check=U(e.check,m,2,0),l=0,f=0,e.mode=Pe;break}if(e.head&&(e.head.done=!1),!(e.wrap&1)||(((l&255)<<8)+(l>>8))%31){t.msg="incorrect header check",e.mode=Z;break}if((l&15)!==Le){t.msg="unknown compression method",e.mode=Z;break}if(l>>>=4,f-=4,w=(l&15)+8,e.wbits===0&&(e.wbits=w),w>15||w>e.wbits){t.msg="invalid window size",e.mode=Z;break}e.dmax=1<<e.wbits,e.flags=0,t.adler=e.check=1,e.mode=l&512?We:M,l=0,f=0;break;case Pe:for(;f<16;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}if(e.flags=l,(e.flags&255)!==Le){t.msg="unknown compression method",e.mode=Z;break}if(e.flags&57344){t.msg="unknown header flags set",e.mode=Z;break}e.head&&(e.head.text=l>>8&1),e.flags&512&&e.wrap&4&&(m[0]=l&255,m[1]=l>>>8&255,e.check=U(e.check,m,2,0)),l=0,f=0,e.mode=Ae;case Ae:for(;f<32;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}e.head&&(e.head.time=l),e.flags&512&&e.wrap&4&&(m[0]=l&255,m[1]=l>>>8&255,m[2]=l>>>16&255,m[3]=l>>>24&255,e.check=U(e.check,m,4,0)),l=0,f=0,e.mode=Me;case Me:for(;f<16;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}e.head&&(e.head.xflags=l&255,e.head.os=l>>8),e.flags&512&&e.wrap&4&&(m[0]=l&255,m[1]=l>>>8&255,e.check=U(e.check,m,2,0)),l=0,f=0,e.mode=Ge;case Ge:if(e.flags&1024){for(;f<16;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}e.length=l,e.head&&(e.head.extra_len=l),e.flags&512&&e.wrap&4&&(m[0]=l&255,m[1]=l>>>8&255,e.check=U(e.check,m,2,0)),l=0,f=0}else e.head&&(e.head.extra=null);e.mode=Xe;case Xe:if(e.flags&1024&&(h=e.length,h>o&&(h=o),h&&(e.head&&(w=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(i.subarray(a,a+h),w)),e.flags&512&&e.wrap&4&&(e.check=U(e.check,i,h,a)),o-=h,a+=h,e.length-=h),e.length))break t;e.length=0,e.mode=Ye;case Ye:if(e.flags&2048){if(o===0)break t;h=0;do w=i[a+h++],e.head&&w&&e.length<65536&&(e.head.name+=String.fromCharCode(w));while(w&&h<o);if(e.flags&512&&e.wrap&4&&(e.check=U(e.check,i,h,a)),o-=h,a+=h,w)break t}else e.head&&(e.head.name=null);e.length=0,e.mode=je;case je:if(e.flags&4096){if(o===0)break t;h=0;do w=i[a+h++],e.head&&w&&e.length<65536&&(e.head.comment+=String.fromCharCode(w));while(w&&h<o);if(e.flags&512&&e.wrap&4&&(e.check=U(e.check,i,h,a)),o-=h,a+=h,w)break t}else e.head&&(e.head.comment=null);e.mode=Ve;case Ve:if(e.flags&512){for(;f<16;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}if(e.wrap&4&&l!==(e.check&65535)){t.msg="header crc mismatch",e.mode=Z;break}l=0,f=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),t.adler=e.check=0,e.mode=M;break;case We:for(;f<32;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}t.adler=e.check=fn(l),l=0,f=0,e.mode=At;case At:if(e.havedict===0)return t.next_out=s,t.avail_out=d,t.next_in=a,t.avail_in=o,e.hold=l,e.bits=f,Qa;t.adler=e.check=1,e.mode=M;case M:if(n===Ka||n===Bt)break t;case te:if(e.last){l>>>=f&7,f-=f&7,e.mode=ne;break}for(;f<3;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}switch(e.last=l&1,l>>>=1,f-=1,l&3){case 0:e.mode=Ke;break;case 1:if(lr(e),e.mode=Ct,n===Bt){l>>>=2,f-=2;break t}break;case 2:e.mode=Qe;break;case 3:t.msg="invalid block type",e.mode=Z}l>>>=2,f-=2;break;case Ke:for(l>>>=f&7,f-=f&7;f<32;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}if((l&65535)!==(l>>>16^65535)){t.msg="invalid stored block lengths",e.mode=Z;break}if(e.length=l&65535,l=0,f=0,e.mode=ee,n===Bt)break t;case ee:e.mode=Je;case Je:if(h=e.length,h){if(h>o&&(h=o),h>d&&(h=d),h===0)break t;r.set(i.subarray(a,a+h),s),o-=h,a+=h,d-=h,s+=h,e.length-=h;break}e.mode=M;break;case Qe:for(;f<14;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}if(e.nlen=(l&31)+257,l>>>=5,f-=5,e.ndist=(l&31)+1,l>>>=5,f-=5,e.ncode=(l&15)+4,l>>>=4,f-=4,e.nlen>286||e.ndist>30){t.msg="too many length or distance symbols",e.mode=Z;break}e.have=0,e.mode=qe;case qe:for(;e.have<e.ncode;){for(;f<3;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}e.lens[J[e.have++]]=l&7,l>>>=3,f-=3}for(;e.have<19;)e.lens[J[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,b={bits:e.lenbits},R=pt(Wa,e.lens,0,19,e.lencode,0,e.work,b),e.lenbits=b.bits,R){t.msg="invalid code lengths set",e.mode=Z;break}e.have=0,e.mode=tn;case tn:for(;e.have<e.nlen+e.ndist;){for(;p=e.lencode[l&(1<<e.lenbits)-1],x=p>>>24,I=p>>>16&255,k=p&65535,!(x<=f);){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}if(k<16)l>>>=x,f-=x,e.lens[e.have++]=k;else{if(k===16){for(v=x+2;f<v;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}if(l>>>=x,f-=x,e.have===0){t.msg="invalid bit length repeat",e.mode=Z;break}w=e.lens[e.have-1],h=3+(l&3),l>>>=2,f-=2}else if(k===17){for(v=x+3;f<v;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}l>>>=x,f-=x,w=0,h=3+(l&7),l>>>=3,f-=3}else{for(v=x+7;f<v;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}l>>>=x,f-=x,w=0,h=11+(l&127),l>>>=7,f-=7}if(e.have+h>e.nlen+e.ndist){t.msg="invalid bit length repeat",e.mode=Z;break}for(;h--;)e.lens[e.have++]=w}}if(e.mode===Z)break;if(e.lens[256]===0){t.msg="invalid code -- missing end-of-block",e.mode=Z;break}if(e.lenbits=9,b={bits:e.lenbits},R=pt($n,e.lens,0,e.nlen,e.lencode,0,e.work,b),e.lenbits=b.bits,R){t.msg="invalid literal/lengths set",e.mode=Z;break}if(e.distbits=6,e.distcode=e.distdyn,b={bits:e.distbits},R=pt(Bn,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,b),e.distbits=b.bits,R){t.msg="invalid distances set",e.mode=Z;break}if(e.mode=Ct,n===Bt)break t;case Ct:e.mode=Ht;case Ht:if(o>=6&&d>=258){t.next_out=s,t.avail_out=d,t.next_in=a,t.avail_in=o,e.hold=l,e.bits=f,Ma(t,c),s=t.next_out,r=t.output,d=t.avail_out,a=t.next_in,i=t.input,o=t.avail_in,l=e.hold,f=e.bits,e.mode===M&&(e.back=-1);break}for(e.back=0;p=e.lencode[l&(1<<e.lenbits)-1],x=p>>>24,I=p>>>16&255,k=p&65535,!(x<=f);){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}if(I&&!(I&240)){for(_=x,E=I,O=k;p=e.lencode[O+((l&(1<<_+E)-1)>>_)],x=p>>>24,I=p>>>16&255,k=p&65535,!(_+x<=f);){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}l>>>=_,f-=_,e.back+=_}if(l>>>=x,f-=x,e.back+=x,e.length=k,I===0){e.mode=ln;break}if(I&32){e.back=-1,e.mode=M;break}if(I&64){t.msg="invalid literal/length code",e.mode=Z;break}e.extra=I&15,e.mode=en;case en:if(e.extra){for(v=e.extra;f<v;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}e.length+=l&(1<<e.extra)-1,l>>>=e.extra,f-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=nn;case nn:for(;p=e.distcode[l&(1<<e.distbits)-1],x=p>>>24,I=p>>>16&255,k=p&65535,!(x<=f);){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}if(!(I&240)){for(_=x,E=I,O=k;p=e.distcode[O+((l&(1<<_+E)-1)>>_)],x=p>>>24,I=p>>>16&255,k=p&65535,!(_+x<=f);){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}l>>>=_,f-=_,e.back+=_}if(l>>>=x,f-=x,e.back+=x,I&64){t.msg="invalid distance code",e.mode=Z;break}e.offset=k,e.extra=I&15,e.mode=an;case an:if(e.extra){for(v=e.extra;f<v;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}e.offset+=l&(1<<e.extra)-1,l>>>=e.extra,f-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){t.msg="invalid distance too far back",e.mode=Z;break}e.mode=rn;case rn:if(d===0)break t;if(h=c-d,e.offset>h){if(h=e.offset-h,h>e.whave&&e.sane){t.msg="invalid distance too far back",e.mode=Z;break}h>e.wnext?(h-=e.wnext,u=e.wsize-h):u=e.wnext-h,h>e.length&&(h=e.length),z=e.window}else z=r,u=s-e.offset,h=e.length;h>d&&(h=d),d-=h,e.length-=h;do r[s++]=z[u++];while(--h);e.length===0&&(e.mode=Ht);break;case ln:if(d===0)break t;r[s++]=e.length,d--,e.mode=Ht;break;case ne:if(e.wrap){for(;f<32;){if(o===0)break t;o--,l|=i[a++]<<f,f+=8}if(c-=d,t.total_out+=c,e.total+=c,e.wrap&4&&c&&(t.adler=e.check=e.flags?U(e.check,r,c,s-c):Et(e.check,r,c,s-c)),c=d,e.wrap&4&&(e.flags?l:fn(l))!==e.check){t.msg="incorrect data check",e.mode=Z;break}l=0,f=0}e.mode=on;case on:if(e.wrap&&e.flags){for(;f<32;){if(o===0)break t;o--,l+=i[a++]<<f,f+=8}if(e.wrap&4&&l!==(e.total&4294967295)){t.msg="incorrect length check",e.mode=Z;break}l=0,f=0}e.mode=sn;case sn:R=Ja;break t;case Z:R=Cn;break t;case Fn:return Hn;case Ln:default:return H}return t.next_out=s,t.avail_out=d,t.next_in=a,t.avail_in=o,e.hold=l,e.bits=f,(e.wsize||c!==t.avail_out&&e.mode<Z&&(e.mode<ne||n!==Fe))&&Xn(t,t.output,t.next_out,c-t.avail_out),g-=t.avail_in,c-=t.avail_out,t.total_in+=g,t.total_out+=c,e.total+=c,e.wrap&4&&c&&(t.adler=e.check=e.flags?U(e.check,r,c,t.next_out-c):Et(e.check,r,c,t.next_out-c)),t.data_type=e.bits+(e.last?64:0)+(e.mode===M?128:0)+(e.mode===Ct||e.mode===ee?256:0),(g===0&&c===0||n===Fe)&&R===it&&(R=qa),R},sr=t=>{if(rt(t))return H;let n=t.state;return n.window&&(n.window=null),t.state=null,it},fr=(t,n)=>{if(rt(t))return H;const e=t.state;return e.wrap&2?(e.head=n,n.done=!1,it):H},hr=(t,n)=>{const e=n.length;let i,r,a;return rt(t)||(i=t.state,i.wrap!==0&&i.mode!==At)?H:i.mode===At&&(r=1,r=Et(r,n,e,0),r!==i.check)?Cn:(a=Xn(t,n,e,e),a?(i.mode=Fn,Hn):(i.havedict=1,it))};var dr=An,cr=Mn,_r=Pn,ur=rr,gr=Gn,wr=or,br=sr,xr=fr,pr=hr,kr="pako inflate (from Nodeca project)",X={inflateReset:dr,inflateReset2:cr,inflateResetKeep:_r,inflateInit:ur,inflateInit2:gr,inflate:wr,inflateEnd:br,inflateGetHeader:xr,inflateSetDictionary:pr,inflateInfo:kr};function vr(){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}var Sr=vr;const Yn=Object.prototype.toString,{Z_NO_FLUSH:mr,Z_FINISH:Er,Z_OK:zt,Z_STREAM_END:re,Z_NEED_DICT:le,Z_STREAM_ERROR:yr,Z_DATA_ERROR:dn,Z_MEM_ERROR:Ir}=at;function Ut(t){this.options=Xt.assign({chunkSize:1024*64,windowBits:15,to:""},t||{});const n=this.options;n.raw&&n.windowBits>=0&&n.windowBits<16&&(n.windowBits=-n.windowBits,n.windowBits===0&&(n.windowBits=-15)),n.windowBits>=0&&n.windowBits<16&&!(t&&t.windowBits)&&(n.windowBits+=32),n.windowBits>15&&n.windowBits<48&&(n.windowBits&15||(n.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Nn,this.strm.avail_out=0;let e=X.inflateInit2(this.strm,n.windowBits);if(e!==zt)throw new Error(et[e]);if(this.header=new Sr,X.inflateGetHeader(this.strm,this.header),n.dictionary&&(typeof n.dictionary=="string"?n.dictionary=It.string2buf(n.dictionary):Yn.call(n.dictionary)==="[object ArrayBuffer]"&&(n.dictionary=new Uint8Array(n.dictionary)),n.raw&&(e=X.inflateSetDictionary(this.strm,n.dictionary),e!==zt)))throw new Error(et[e])}Ut.prototype.push=function(t,n){const e=this.strm,i=this.options.chunkSize,r=this.options.dictionary;let a,s,o;if(this.ended)return!1;for(n===~~n?s=n:s=n===!0?Er:mr,Yn.call(t)==="[object ArrayBuffer]"?e.input=new Uint8Array(t):e.input=t,e.next_in=0,e.avail_in=e.input.length;;){for(e.avail_out===0&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),a=X.inflate(e,s),a===le&&r&&(a=X.inflateSetDictionary(e,r),a===zt?a=X.inflate(e,s):a===dn&&(a=le));e.avail_in>0&&a===re&&e.state.wrap>0&&t[e.next_in]!==0;)X.inflateReset(e),a=X.inflate(e,s);switch(a){case yr:case dn:case le:case Ir:return this.onEnd(a),this.ended=!0,!1}if(o=e.avail_out,e.next_out&&(e.avail_out===0||a===re))if(this.options.to==="string"){let d=It.utf8border(e.output,e.next_out),l=e.next_out-d,f=It.buf2string(e.output,d);e.next_out=l,e.avail_out=i-l,l&&e.output.set(e.output.subarray(d,d+l),0),this.onData(f)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(!(a===zt&&o===0)){if(a===re)return a=X.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(e.avail_in===0)break}}return!0};Ut.prototype.onData=function(t){this.chunks.push(t)};Ut.prototype.onEnd=function(t){t===zt&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Xt.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function Se(t,n){const e=new Ut(n);if(e.push(t),e.err)throw e.msg||et[e.err];return e.result}function zr(t,n){return n=n||{},n.raw=!0,Se(t,n)}var Rr=Ut,Zr=Se,Or=zr,Ur=Se,Dr=at,Nr={Inflate:Rr,inflate:Zr,inflateRaw:Or,ungzip:Ur,constants:Dr};const{Deflate:Tr,deflate:$r,deflateRaw:Br,gzip:Cr}=Pa,{Inflate:Hr,inflate:Fr,inflateRaw:Lr,ungzip:Pr}=Nr;var Ar=Tr,Mr=$r,Gr=Br,Xr=Cr,Yr=Hr,jr=Fr,Vr=Lr,Wr=Pr,Kr=at,Jr={Deflate:Ar,deflate:Mr,deflateRaw:Gr,gzip:Xr,Inflate:Yr,inflate:jr,inflateRaw:Vr,ungzip:Wr,constants:Kr},jn=(t=>(t[t.Rgba=32]="Rgba",t[t.Grayscale=16]="Grayscale",t[t.Index=8]="Index",t))(jn||{}),me=(t=>(t[t.OldPalette0=4]="OldPalette0",t[t.OldPalette1=17]="OldPalette1",t[t.Layer=8196]="Layer",t[t.Cel=8197]="Cel",t[t.CelExtra=8198]="CelExtra",t[t.ColorProfile=8199]="ColorProfile",t[t.ExternalFiles=8200]="ExternalFiles",t[t.Mask=8214]="Mask",t[t.Path=8215]="Path",t[t.Tags=8216]="Tags",t[t.Palette=8217]="Palette",t[t.UserData=8224]="UserData",t[t.Slice=8226]="Slice",t[t.Tileset=8227]="Tileset",t))(me||{});const Mt={};for(const[t,n]of Object.entries(me))Mt[n]=t;var Vn=(t=>(t[t.Normal=0]="Normal",t[t.Group=1]="Group",t[t.Tilemap=2]="Tilemap",t))(Vn||{}),Wn=(t=>(t[t.Normal=0]="Normal",t[t.Multiply=1]="Multiply",t[t.Screen=2]="Screen",t[t.Overlay=3]="Overlay",t[t.Darken=4]="Darken",t[t.Lighten=5]="Lighten",t[t.ColorDodge=6]="ColorDodge",t[t.ColorBurn=7]="ColorBurn",t[t.HardLight=8]="HardLight",t[t.SoftLight=9]="SoftLight",t[t.Difference=10]="Difference",t[t.Exclusion=11]="Exclusion",t[t.Hue=12]="Hue",t[t.Saturation=13]="Saturation",t[t.Color=14]="Color",t[t.Luminosity=15]="Luminosity",t[t.Addition=16]="Addition",t[t.Subtract=17]="Subtract",t[t.Divide=18]="Divide",t))(Wn||{}),Kn=(t=>(t[t.RawImage=0]="RawImage",t[t.LinkedCel=1]="LinkedCel",t[t.CompressedImage=2]="CompressedImage",t[t.CompressedTilemap=3]="CompressedTilemap",t))(Kn||{}),Jn=(t=>(t[t.None=0]="None",t[t.Srgb=1]="Srgb",t[t.Embedded=2]="Embedded",t))(Jn||{}),Qn=(t=>(t[t.Forward=0]="Forward",t[t.Reverse=1]="Reverse",t[t.PingPong=2]="PingPong",t[t.PingPongReverse=3]="PingPongReverse",t))(Qn||{}),qn=(t=>(t[t.Boolean=1]="Boolean",t[t.SignedInt8=2]="SignedInt8",t[t.UnsignedInt8=3]="UnsignedInt8",t[t.SignedInt16=4]="SignedInt16",t[t.UnsignedInt16=5]="UnsignedInt16",t[t.SignedInt32=6]="SignedInt32",t[t.UnsignedInt32=7]="UnsignedInt32",t[t.SignedInt64=8]="SignedInt64",t[t.UnsignedInt64=9]="UnsignedInt64",t[t.Fixed32=10]="Fixed32",t[t.Float32=11]="Float32",t[t.Float64=12]="Float64",t[t.String=13]="String",t[t.Point=14]="Point",t[t.Size=15]="Size",t[t.Rect=16]="Rect",t[t.Vector=17]="Vector",t[t.Map=18]="Map",t[t.Uuid=19]="Uuid",t))(qn||{});class Qr{constructor(n){this.cursor=0,this.tags=[],this.palette={},this.file=n,this.data=new DataView(n),this.header=this.parseHeader(),this.frames=this.parseFrames(),this.width=this.