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