excelize-wasm
Version:
A pure WebAssembly / Javascript port of Go Excelize library that allow you to write to and read from XLAM / XLSM / XLSX / XLTM / XLTX files
2 lines (1 loc) • 26.5 kB
JavaScript
"use strict";function e(e){let t=e.length;for(;--t>=0;)e[t]=0}Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});e(new Array(576)),e(new Array(60)),e(new Array(512)),e(new Array(256)),e(new Array(29)),e(new Array(30));var t=(e,t,s,i)=>{let n=65535&e,a=e>>>16&65535,r=0;for(;0!==s;){r=s>2e3?2e3:s,s-=r;do{n=n+t[i++]|0,a=a+n|0}while(--r);n%=65521,a%=65521}return n|a<<16},s=new Uint32Array((()=>{let e,t=[];for(var s=0;s<256;s++){e=s;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[s]=e}return t})()),i=(e,t,i,n)=>{const a=s,r=n+i;e^=-1;for(let s=n;s<r;s++)e=e>>>8^a[255&(e^t[s])];return-1^e},n={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"},a=16209;function r(e,t){let s,i,n,r,o,l,h,c,d,f,m,u,w,b,g,k,p,_,v,y,x,T,U,A;const E=e.state;s=e.next_in,U=e.input,i=s+(e.avail_in-5),n=e.next_out,A=e.output,r=n-(t-e.avail_out),o=n+(e.avail_out-257),l=E.dmax,h=E.wsize,c=E.whave,d=E.wnext,f=E.window,m=E.hold,u=E.bits,w=E.lencode,b=E.distcode,g=(1<<E.lenbits)-1,k=(1<<E.distbits)-1;e:do{u<15&&(m+=U[s++]<<u,u+=8,m+=U[s++]<<u,u+=8),p=w[m&g];t:for(;;){if(_=p>>>24,m>>>=_,u-=_,_=p>>>16&255,0===_)A[n++]=65535&p;else{if(!(16&_)){if(64&_){if(32&_){E.mode=16191;break e}e.msg="invalid literal/length code",E.mode=a;break e}p=w[(65535&p)+(m&(1<<_)-1)];continue t}for(v=65535&p,_&=15,_&&(u<_&&(m+=U[s++]<<u,u+=8),v+=m&(1<<_)-1,m>>>=_,u-=_),u<15&&(m+=U[s++]<<u,u+=8,m+=U[s++]<<u,u+=8),p=b[m&k];;){if(_=p>>>24,m>>>=_,u-=_,_=p>>>16&255,16&_){if(y=65535&p,_&=15,u<_&&(m+=U[s++]<<u,u+=8,u<_&&(m+=U[s++]<<u,u+=8)),y+=m&(1<<_)-1,y>l){e.msg="invalid distance too far back",E.mode=a;break e}if(m>>>=_,u-=_,_=n-r,y>_){if(_=y-_,_>c&&E.sane){e.msg="invalid distance too far back",E.mode=a;break e}if(x=0,T=f,0===d){if(x+=h-_,_<v){v-=_;do{A[n++]=f[x++]}while(--_);x=n-y,T=A}}else if(d<_){if(x+=h+d-_,_-=d,_<v){v-=_;do{A[n++]=f[x++]}while(--_);if(x=0,d<v){_=d,v-=_;do{A[n++]=f[x++]}while(--_);x=n-y,T=A}}}else if(x+=d-_,_<v){v-=_;do{A[n++]=f[x++]}while(--_);x=n-y,T=A}for(;v>2;)A[n++]=T[x++],A[n++]=T[x++],A[n++]=T[x++],v-=3;v&&(A[n++]=T[x++],v>1&&(A[n++]=T[x++]))}else{x=n-y;do{A[n++]=A[x++],A[n++]=A[x++],A[n++]=A[x++],v-=3}while(v>2);v&&(A[n++]=A[x++],v>1&&(A[n++]=A[x++]))}break}if(64&_){e.msg="invalid distance code",E.mode=a;break e}p=b[(65535&p)+(m&(1<<_)-1)]}}break}}while(s<i&&n<o);v=u>>3,s-=v,u-=v<<3,m&=(1<<u)-1,e.next_in=s,e.next_out=n,e.avail_in=s<i?i-s+5:5-(s-i),e.avail_out=n<o?o-n+257:257-(n-o),E.hold=m,E.bits=u}var o,l,h=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]),c=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,199,75]),d=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]),f=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]),m=(e,t,s,i,n,a,r,o)=>{const l=o.bits;let m,u,w,b,g,k,p=0,_=0,v=0,y=0,x=0,T=0,U=0,A=0,E=0,j=0,R=null;const I=new Uint16Array(16),S=new Uint16Array(16);let B,z,C,D=null;for(p=0;p<=15;p++)I[p]=0;for(_=0;_<i;_++)I[t[s+_]]++;for(x=l,y=15;y>=1&&0===I[y];y--);if(x>y&&(x=y),0===y)return n[a++]=20971520,n[a++]=20971520,o.bits=1,0;for(v=1;v<y&&0===I[v];v++);for(x<v&&(x=v),A=1,p=1;p<=15;p++)if(A<<=1,A-=I[p],A<0)return-1;if(A>0&&(0===e||1!==y))return-1;for(S[1]=0,p=1;p<15;p++)S[p+1]=S[p]+I[p];for(_=0;_<i;_++)0!==t[s+_]&&(r[S[t[s+_]]++]=_);if(0===e?(R=D=r,k=20):1===e?(R=h,D=c,k=257):(R=d,D=f,k=0),j=0,_=0,p=v,g=a,T=x,U=0,w=-1,E=1<<x,b=E-1,1===e&&E>852||2===e&&E>592)return 1;for(;;){B=p-U,r[_]+1<k?(z=0,C=r[_]):r[_]>=k?(z=D[r[_]-k],C=R[r[_]-k]):(z=96,C=0),m=1<<p-U,u=1<<T,v=u;do{u-=m,n[g+(j>>U)+u]=B<<24|z<<16|C}while(0!==u);for(m=1<<p-1;j&m;)m>>=1;if(0!==m?(j&=m-1,j+=m):j=0,_++,0===--I[p]){if(p===y)break;p=t[s+r[_]]}if(p>x&&(j&b)!==w){for(0===U&&(U=x),g+=v,T=p-U,A=1<<T;T+U<y&&(A-=I[T+U],!(A<=0));)T++,A<<=1;if(E+=1<<T,1===e&&E>852||2===e&&E>592)return 1;w=j&b,n[w]=x<<24|T<<16|g-a}}return 0!==j&&(n[g+j]=p-U<<24|4194304),o.bits=x,0},u=16180,w=16190,b=16191,g=16192,k=16194,p=16199,_=16200,v=16206,y=16209,x=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24),T=class{constructor(){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}},U=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<u||t.mode>16211?1:0},A=e=>{if(U(e))return-2;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,(e=>{if(U(e))return-2;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=u,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,0})(e)},E=(e,t)=>{if(!e)return-2;const s=new T;e.state=s,s.strm=e,s.window=null,s.mode=u;const i=((e,t)=>{let s;if(U(e))return-2;const i=e.state;return t<0?(s=0,t=-t):(s=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?-2:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=s,i.wbits=t,A(e))})(e,t);return 0!==i&&(e.state=null),i},j=!0,R=e=>{if(j){o=new Int32Array(512),l=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(m(1,e.lens,0,288,o,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;m(2,e.lens,0,32,l,0,e.work,{bits:5}),j=!1}e.lencode=o,e.lenbits=9,e.distcode=l,e.distbits=5},I=(e,t,s,i)=>{let n;const a=e.state;return null===a.window&&(a.window=new Uint8Array(1<<a.wbits)),0===a.wsize&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0),i>=a.wsize?(a.window.set(t.subarray(s-a.wsize,s),0),a.wnext=0,a.whave=a.wsize):(n=a.wsize-a.wnext,n>i&&(n=i),a.window.set(t.subarray(s-i,s-i+n),a.wnext),(i-=n)?(a.window.set(t.subarray(s-i,s),0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0},S=(e,s)=>{let n,a,o,l,h,c,d,f,T,A,E,j,S,B,z,C,D,O,P,N,V,F,W=0;const G=new Uint8Array(4);let M,q;const L=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(U(e)||!e.output||!e.input&&0!==e.avail_in)return-2;n=e.state,n.mode===b&&(n.mode=g),h=e.next_out,o=e.output,d=e.avail_out,l=e.next_in,a=e.input,c=e.avail_in,f=n.hold,T=n.bits,A=c,E=d,F=0;e:for(;;)switch(n.mode){case u:if(0===n.wrap){n.mode=g;break}for(;T<16;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}if(2&n.wrap&&35615===f){0===n.wbits&&(n.wbits=15),n.check=0,G[0]=255&f,G[1]=f>>>8&255,n.check=i(n.check,G,2,0),f=0,T=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&f)<<8)+(f>>8))%31){e.msg="incorrect header check",n.mode=y;break}if(8!=(15&f)){e.msg="unknown compression method",n.mode=y;break}if(f>>>=4,T-=4,V=8+(15&f),0===n.wbits&&(n.wbits=V),V>15||V>n.wbits){e.msg="invalid window size",n.mode=y;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=512&f?16189:b,f=0,T=0;break;case 16181:for(;T<16;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}if(n.flags=f,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=y;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=y;break}n.head&&(n.head.text=f>>8&1),512&n.flags&&4&n.wrap&&(G[0]=255&f,G[1]=f>>>8&255,n.check=i(n.check,G,2,0)),f=0,T=0,n.mode=16182;case 16182:for(;T<32;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}n.head&&(n.head.time=f),512&n.flags&&4&n.wrap&&(G[0]=255&f,G[1]=f>>>8&255,G[2]=f>>>16&255,G[3]=f>>>24&255,n.check=i(n.check,G,4,0)),f=0,T=0,n.mode=16183;case 16183:for(;T<16;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}n.head&&(n.head.xflags=255&f,n.head.os=f>>8),512&n.flags&&4&n.wrap&&(G[0]=255&f,G[1]=f>>>8&255,n.check=i(n.check,G,2,0)),f=0,T=0,n.mode=16184;case 16184:if(1024&n.flags){for(;T<16;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}n.length=f,n.head&&(n.head.extra_len=f),512&n.flags&&4&n.wrap&&(G[0]=255&f,G[1]=f>>>8&255,n.check=i(n.check,G,2,0)),f=0,T=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&n.flags&&(j=n.length,j>c&&(j=c),j&&(n.head&&(V=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(a.subarray(l,l+j),V)),512&n.flags&&4&n.wrap&&(n.check=i(n.check,a,j,l)),c-=j,l+=j,n.length-=j),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&n.flags){if(0===c)break e;j=0;do{V=a[l+j++],n.head&&V&&n.length<65536&&(n.head.name+=String.fromCharCode(V))}while(V&&j<c);if(512&n.flags&&4&n.wrap&&(n.check=i(n.check,a,j,l)),c-=j,l+=j,V)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=16187;case 16187:if(4096&n.flags){if(0===c)break e;j=0;do{V=a[l+j++],n.head&&V&&n.length<65536&&(n.head.comment+=String.fromCharCode(V))}while(V&&j<c);if(512&n.flags&&4&n.wrap&&(n.check=i(n.check,a,j,l)),c-=j,l+=j,V)break e}else n.head&&(n.head.comment=null);n.mode=16188;case 16188:if(512&n.flags){for(;T<16;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}if(4&n.wrap&&f!==(65535&n.check)){e.msg="header crc mismatch",n.mode=y;break}f=0,T=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=b;break;case 16189:for(;T<32;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}e.adler=n.check=x(f),f=0,T=0,n.mode=w;case w:if(0===n.havedict)return e.next_out=h,e.avail_out=d,e.next_in=l,e.avail_in=c,n.hold=f,n.bits=T,2;e.adler=n.check=1,n.mode=b;case b:if(5===s||6===s)break e;case g:if(n.last){f>>>=7&T,T-=7&T,n.mode=v;break}for(;T<3;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}switch(n.last=1&f,f>>>=1,T-=1,3&f){case 0:n.mode=16193;break;case 1:if(R(n),n.mode=p,6===s){f>>>=2,T-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=y}f>>>=2,T-=2;break;case 16193:for(f>>>=7&T,T-=7&T;T<32;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}if((65535&f)!=(f>>>16^65535)){e.msg="invalid stored block lengths",n.mode=y;break}if(n.length=65535&f,f=0,T=0,n.mode=k,6===s)break e;case k:n.mode=16195;case 16195:if(j=n.length,j){if(j>c&&(j=c),j>d&&(j=d),0===j)break e;o.set(a.subarray(l,l+j),h),c-=j,l+=j,d-=j,h+=j,n.length-=j;break}n.mode=b;break;case 16196:for(;T<14;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}if(n.nlen=257+(31&f),f>>>=5,T-=5,n.ndist=1+(31&f),f>>>=5,T-=5,n.ncode=4+(15&f),f>>>=4,T-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=y;break}n.have=0,n.mode=16197;case 16197:for(;n.have<n.ncode;){for(;T<3;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}n.lens[L[n.have++]]=7&f,f>>>=3,T-=3}for(;n.have<19;)n.lens[L[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,M={bits:n.lenbits},F=m(0,n.lens,0,19,n.lencode,0,n.work,M),n.lenbits=M.bits,F){e.msg="invalid code lengths set",n.mode=y;break}n.have=0,n.mode=16198;case 16198:for(;n.have<n.nlen+n.ndist;){for(;W=n.lencode[f&(1<<n.lenbits)-1],z=W>>>24,C=W>>>16&255,D=65535&W,!(z<=T);){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}if(D<16)f>>>=z,T-=z,n.lens[n.have++]=D;else{if(16===D){for(q=z+2;T<q;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}if(f>>>=z,T-=z,0===n.have){e.msg="invalid bit length repeat",n.mode=y;break}V=n.lens[n.have-1],j=3+(3&f),f>>>=2,T-=2}else if(17===D){for(q=z+3;T<q;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}f>>>=z,T-=z,V=0,j=3+(7&f),f>>>=3,T-=3}else{for(q=z+7;T<q;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}f>>>=z,T-=z,V=0,j=11+(127&f),f>>>=7,T-=7}if(n.have+j>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=y;break}for(;j--;)n.lens[n.have++]=V}}if(n.mode===y)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=y;break}if(n.lenbits=9,M={bits:n.lenbits},F=m(1,n.lens,0,n.nlen,n.lencode,0,n.work,M),n.lenbits=M.bits,F){e.msg="invalid literal/lengths set",n.mode=y;break}if(n.distbits=6,n.distcode=n.distdyn,M={bits:n.distbits},F=m(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,M),n.distbits=M.bits,F){e.msg="invalid distances set",n.mode=y;break}if(n.mode=p,6===s)break e;case p:n.mode=_;case _:if(c>=6&&d>=258){e.next_out=h,e.avail_out=d,e.next_in=l,e.avail_in=c,n.hold=f,n.bits=T,r(e,E),h=e.next_out,o=e.output,d=e.avail_out,l=e.next_in,a=e.input,c=e.avail_in,f=n.hold,T=n.bits,n.mode===b&&(n.back=-1);break}for(n.back=0;W=n.lencode[f&(1<<n.lenbits)-1],z=W>>>24,C=W>>>16&255,D=65535&W,!(z<=T);){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}if(C&&!(240&C)){for(O=z,P=C,N=D;W=n.lencode[N+((f&(1<<O+P)-1)>>O)],z=W>>>24,C=W>>>16&255,D=65535&W,!(O+z<=T);){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}f>>>=O,T-=O,n.back+=O}if(f>>>=z,T-=z,n.back+=z,n.length=D,0===C){n.mode=16205;break}if(32&C){n.back=-1,n.mode=b;break}if(64&C){e.msg="invalid literal/length code",n.mode=y;break}n.extra=15&C,n.mode=16201;case 16201:if(n.extra){for(q=n.extra;T<q;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}n.length+=f&(1<<n.extra)-1,f>>>=n.extra,T-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;W=n.distcode[f&(1<<n.distbits)-1],z=W>>>24,C=W>>>16&255,D=65535&W,!(z<=T);){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}if(!(240&C)){for(O=z,P=C,N=D;W=n.distcode[N+((f&(1<<O+P)-1)>>O)],z=W>>>24,C=W>>>16&255,D=65535&W,!(O+z<=T);){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}f>>>=O,T-=O,n.back+=O}if(f>>>=z,T-=z,n.back+=z,64&C){e.msg="invalid distance code",n.mode=y;break}n.offset=D,n.extra=15&C,n.mode=16203;case 16203:if(n.extra){for(q=n.extra;T<q;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}n.offset+=f&(1<<n.extra)-1,f>>>=n.extra,T-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=y;break}n.mode=16204;case 16204:if(0===d)break e;if(j=E-d,n.offset>j){if(j=n.offset-j,j>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=y;break}j>n.wnext?(j-=n.wnext,S=n.wsize-j):S=n.wnext-j,j>n.length&&(j=n.length),B=n.window}else B=o,S=h-n.offset,j=n.length;j>d&&(j=d),d-=j,n.length-=j;do{o[h++]=B[S++]}while(--j);0===n.length&&(n.mode=_);break;case 16205:if(0===d)break e;o[h++]=n.length,d--,n.mode=_;break;case v:if(n.wrap){for(;T<32;){if(0===c)break e;c--,f|=a[l++]<<T,T+=8}if(E-=d,e.total_out+=E,n.total+=E,4&n.wrap&&E&&(e.adler=n.check=n.flags?i(n.check,o,E,h-E):t(n.check,o,E,h-E)),E=d,4&n.wrap&&(n.flags?f:x(f))!==n.check){e.msg="incorrect data check",n.mode=y;break}f=0,T=0}n.mode=16207;case 16207:if(n.wrap&&n.flags){for(;T<32;){if(0===c)break e;c--,f+=a[l++]<<T,T+=8}if(4&n.wrap&&f!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=y;break}f=0,T=0}n.mode=16208;case 16208:F=1;break e;case y:F=-3;break e;case 16210:return-4;default:return-2}return e.next_out=h,e.avail_out=d,e.next_in=l,e.avail_in=c,n.hold=f,n.bits=T,(n.wsize||E!==e.avail_out&&n.mode<y&&(n.mode<v||4!==s))&&I(e,e.output,e.next_out,E-e.avail_out),A-=e.avail_in,E-=e.avail_out,e.total_in+=A,e.total_out+=E,n.total+=E,4&n.wrap&&E&&(e.adler=n.check=n.flags?i(n.check,o,E,e.next_out-E):t(n.check,o,E,e.next_out-E)),e.data_type=n.bits+(n.last?64:0)+(n.mode===b?128:0)+(n.mode===p||n.mode===k?256:0),(0===A&&0===E||4===s)&&0===F&&(F=-5),F},B=e=>{if(U(e))return-2;let t=e.state;return t.window&&(t.window=null),e.state=null,0},z=(e,s)=>{const i=s.length;let n,a,r;return U(e)?-2:(n=e.state,0!==n.wrap&&n.mode!==w?-2:n.mode===w&&(a=1,a=t(a,s,i,0),a!==n.check)?-3:(r=I(e,s,i,i),r?(n.mode=16210,-4):(n.havedict=1,0)))},C=class{constructor(){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}},D=Object.prototype.toString,O={chunkSize:65536,windowBits:15,raw:!1,dictionary:new Uint8Array(0)},P=class{options;err;msg;ended;started;chunks;strm;result;constructor(e={}){this.options=Object.assign({},O,e);const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!e.windowBits&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.started=!1,this.chunks=[],this.result=new Uint8Array(0),this.strm=new C,this.strm.avail_out=0;let s=E(this.strm,t.windowBits);if(0!==s)throw new Error(n[s]);"[object ArrayBuffer]"===D.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary));const i=t.dictionary;if(t.raw&&i.length&&(s=z(this.strm,i),0!==s))throw new Error(n[s])}push(e,t=!1){const s=this.strm,i=this.options.chunkSize;let a,r,o;if(this.ended)return 0===this.err;for(r="number"==typeof t?t:!0===t?4:0,"[object ArrayBuffer]"===D.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length,this.started||(this.started=!0,this.onStart(s));;){if(0===s.avail_out&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),a=S(s,r),2===a){const e=this.options.dictionary;e.length&&(a=z(s,e),0===a?a=S(s,r):-3===a&&(a=2))}for(;s.avail_in>0&&1===a&&2&s.state.wrap&&0!==s.state.flags&&0!==s.input[s.next_in];)A(s),a=S(s,r);if(-2===a||-3===a||2===a||-4===a)break;if(o=s.avail_out,s.next_out&&(0===s.avail_out||1===a||r>0)&&(this.onData(s.output.length===s.next_out?s.output:s.output.subarray(0,s.next_out)),s.avail_out=0,s.next_out=0),0!==a&&-5!==a||0!==o){if(1===a){a=B(this.strm);break}if(0===s.avail_in){if(4===r){a=B(this.strm),0===a&&(a=-5);break}return!0}}}return this.err=a,this.msg=s.msg||n[a],this.ended=!0,this.onEnd(a),0===a}onStart(e){}onData(e){this.chunks.push(e)}onEnd(e){0===e&&(this.result=(e=>{const t=new Uint8Array(e.reduce((e,t)=>e+t.length,0));let s=0;for(const i of e)t.set(i,s),s+=i.length;return t})(this.chunks)),this.chunks=[]}};function N(e,t={}){const s=new P(t);if(s.push(e,!0),s.err)throw new Error(s.msg);const i=s.result;return t.toText?(new TextDecoder).decode(i):i}const V="undefined"!=typeof process&&process.versions&&process.versions.node,F=e=>Function("m","return import(m)")(e);V&&void 0===globalThis.navigator&&(!globalThis.crypto&&(globalThis.crypto={async getRandomValues(e){const t=await F("node:crypto").catch(()=>F("crypto")),{randomFillSync:s}=t;s(e)}}),!globalThis.performance&&(globalThis.performance={now(){const[e,t]=process.hrtime();return 1e3*e+t/1e6}})),(()=>{const e=()=>{const e=new Error("not implemented");return e.code="ENOSYS",e};if(!globalThis.fs){let t="";globalThis.fs={constants:{O_WRONLY:-1,O_RDWR:-1,O_CREAT:-1,O_TRUNC:-1,O_APPEND:-1,O_EXCL:-1,O_DIRECTORY:-1},writeSync(e,i){t+=s.decode(i);const n=t.lastIndexOf("\n");return-1!=n&&(t=t.substring(n+1)),i.length},write(t,s,i,n,a,r){if(0!==i||n!==s.length||null!==a)return void r(e());r(null,this.writeSync(t,s))},chmod(t,s,i){i(e())},chown(t,s,i,n){n(e())},close(t,s){s(e())},fchmod(t,s,i){i(e())},fchown(t,s,i,n){n(e())},fstat(t,s){s(e())},fsync(e,t){t(null)},ftruncate(t,s,i){i(e())},lchown(t,s,i,n){n(e())},link(t,s,i){i(e())},lstat(t,s){s(e())},mkdir(t,s,i){i(e())},open(t,s,i,n){n(e())},read(t,s,i,n,a,r){r(e())},readdir(t,s){s(e())},readlink(t,s){s(e())},rename(t,s,i){i(e())},rmdir(t,s){s(e())},stat(t,s){s(e())},symlink(t,s,i){i(e())},truncate(t,s,i){i(e())},unlink(t,s){s(e())},utimes(t,s,i,n){n(e())}}}if(globalThis.process||(globalThis.process={getuid:()=>-1,getgid:()=>-1,geteuid:()=>-1,getegid:()=>-1,getgroups(){throw e()},pid:-1,ppid:-1,umask(){throw e()},cwd(){throw e()},chdir(){throw e()}}),globalThis.path||(globalThis.path={resolve:(...e)=>e.join("/")}),!globalThis.crypto)throw new Error("globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)");if(!globalThis.performance)throw new Error("globalThis.performance is not available, polyfill required (performance.now only)");if(!globalThis.TextEncoder)throw new Error("globalThis.TextEncoder is not available, polyfill required");if(!globalThis.TextDecoder)throw new Error("globalThis.TextDecoder is not available, polyfill required");const t=new TextEncoder("utf-8"),s=new TextDecoder("utf-8");globalThis.Go=class{constructor(){this.argv=["js"],this.env={},this.exit=e=>{0!==e&&console.warn("exit code:",e)},this._exitPromise=new Promise(e=>{this._resolveExitPromise=e}),this._pendingEvent=null,this._scheduledTimeouts=new Map,this._nextCallbackTimeoutID=1;const e=(e,t)=>{this.mem.setUint32(e+0,t,!0),this.mem.setUint32(e+4,Math.floor(t/4294967296),!0)},i=e=>this.mem.getUint32(e+0,!0)+4294967296*this.mem.getInt32(e+4,!0),n=e=>{const t=this.mem.getFloat64(e,!0);if(0===t)return;if(!isNaN(t))return t;const s=this.mem.getUint32(e,!0);return this._values[s]},a=(e,t)=>{const s=2146959360;if("number"==typeof t&&0!==t)return isNaN(t)?(this.mem.setUint32(e+4,s,!0),void this.mem.setUint32(e,0,!0)):void this.mem.setFloat64(e,t,!0);if(void 0===t)return void this.mem.setFloat64(e,0,!0);let i=this._ids.get(t);void 0===i&&(i=this._idPool.pop(),void 0===i&&(i=this._values.length),this._values[i]=t,this._goRefCounts[i]=0,this._ids.set(t,i)),this._goRefCounts[i]++;let n=0;switch(typeof t){case"object":null!==t&&(n=1);break;case"string":n=2;break;case"symbol":n=3;break;case"function":n=4}this.mem.setUint32(e+4,s|n,!0),this.mem.setUint32(e,i,!0)},r=e=>{const t=i(e+0),s=i(e+8);return new Uint8Array(this._inst.exports.mem.buffer,t,s)},o=e=>{const t=i(e+0),s=i(e+8),a=new Array(s);for(let e=0;e<s;e++)a[e]=n(t+8*e);return a},l=e=>{const t=i(e+0),n=i(e+8);return s.decode(new DataView(this._inst.exports.mem.buffer,t,n))},h=Date.now()-performance.now();this.importObject={_gotest:{add:(e,t)=>e+t,callExport:(e,t)=>(this._inst.exports.testExport0(),this._inst.exports.testExport(e,t))},gojs:{"runtime.wasmExit":e=>{e>>>=0;const t=this.mem.getInt32(e+8,!0);this.exited=!0,delete this._inst,delete this._values,delete this._goRefCounts,delete this._ids,delete this._idPool,this.exit(t)},"runtime.wasmWrite":e=>{const t=i((e>>>=0)+8),s=i(e+16),n=this.mem.getInt32(e+24,!0);fs.writeSync(t,new Uint8Array(this._inst.exports.mem.buffer,s,n))},"runtime.resetMemoryDataView":e=>{this.mem=new DataView(this._inst.exports.mem.buffer)},"runtime.nanotime1":t=>{e((t>>>=0)+8,1e6*(h+performance.now()))},"runtime.walltime":t=>{t>>>=0;const s=(new Date).getTime();e(t+8,s/1e3),this.mem.setInt32(t+16,s%1e3*1e6,!0)},"runtime.scheduleTimeoutEvent":e=>{e>>>=0;const t=this._nextCallbackTimeoutID;this._nextCallbackTimeoutID++,this._scheduledTimeouts.set(t,setTimeout(()=>{for(this._resume();this._scheduledTimeouts.has(t);)console.warn("scheduleTimeoutEvent: missed timeout event"),this._resume()},i(e+8))),this.mem.setInt32(e+16,t,!0)},"runtime.clearTimeoutEvent":e=>{e>>>=0;const t=this.mem.getInt32(e+8,!0);clearTimeout(this._scheduledTimeouts.get(t)),this._scheduledTimeouts.delete(t)},"runtime.getRandomData":e=>{e>>>=0,crypto.getRandomValues(r(e+8))},"syscall/js.finalizeRef":e=>{e>>>=0;const t=this.mem.getUint32(e+8,!0);if(this._goRefCounts[t]--,0===this._goRefCounts[t]){const e=this._values[t];this._values[t]=null,this._ids.delete(e),this._idPool.push(t)}},"syscall/js.stringVal":e=>{a((e>>>=0)+24,l(e+8))},"syscall/js.valueGet":e=>{e>>>=0;const t=Reflect.get(n(e+8),l(e+16));e=this._inst.exports.getsp()>>>0,a(e+32,t)},"syscall/js.valueSet":e=>{e>>>=0,Reflect.set(n(e+8),l(e+16),n(e+32))},"syscall/js.valueDelete":e=>{e>>>=0,Reflect.deleteProperty(n(e+8),l(e+16))},"syscall/js.valueIndex":e=>{a((e>>>=0)+24,Reflect.get(n(e+8),i(e+16)))},"syscall/js.valueSetIndex":e=>{e>>>=0,Reflect.set(n(e+8),i(e+16),n(e+24))},"syscall/js.valueCall":e=>{e>>>=0;try{const t=n(e+8),s=Reflect.get(t,l(e+16)),i=o(e+32),r=Reflect.apply(s,t,i);e=this._inst.exports.getsp()>>>0,a(e+56,r),this.mem.setUint8(e+64,1)}catch(t){e=this._inst.exports.getsp()>>>0,a(e+56,t),this.mem.setUint8(e+64,0)}},"syscall/js.valueInvoke":e=>{e>>>=0;try{const t=n(e+8),s=o(e+16),i=Reflect.apply(t,void 0,s);e=this._inst.exports.getsp()>>>0,a(e+40,i),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,a(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueNew":e=>{e>>>=0;try{const t=n(e+8),s=o(e+16),i=Reflect.construct(t,s);e=this._inst.exports.getsp()>>>0,a(e+40,i),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,a(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueLength":t=>{e((t>>>=0)+16,parseInt(n(t+8).length))},"syscall/js.valuePrepareString":s=>{s>>>=0;const i=t.encode(String(n(s+8)));a(s+16,i),e(s+24,i.length)},"syscall/js.valueLoadString":e=>{const t=n((e>>>=0)+8);r(e+16).set(t)},"syscall/js.valueInstanceOf":e=>{e>>>=0,this.mem.setUint8(e+24,n(e+8)instanceof n(e+16)?1:0)},"syscall/js.copyBytesToGo":t=>{const s=r((t>>>=0)+8),i=n(t+32);if(!(i instanceof Uint8Array||i instanceof Uint8ClampedArray))return void this.mem.setUint8(t+48,0);const a=i.subarray(0,s.length);s.set(a),e(t+40,a.length),this.mem.setUint8(t+48,1)},"syscall/js.copyBytesToJS":t=>{const s=n((t>>>=0)+8),i=r(t+16);if(!(s instanceof Uint8Array||s instanceof Uint8ClampedArray))return void this.mem.setUint8(t+48,0);const a=i.subarray(0,s.length);s.set(a),e(t+40,a.length),this.mem.setUint8(t+48,1)},debug:e=>{console.log(e)}}}}async run(e){if(!(e instanceof WebAssembly.Instance))throw new Error("Go.run: WebAssembly.Instance expected");this._inst=e,this.mem=new DataView(this._inst.exports.mem.buffer),this._values=[NaN,0,null,!0,!1,globalThis,this],this._goRefCounts=new Array(this._values.length).fill(1/0),this._ids=new Map([[0,1],[null,2],[!0,3],[!1,4],[globalThis,5],[this,6]]),this._idPool=[],this.exited=!1;let s=4096;const i=e=>{const i=s,n=t.encode(e+"\0");return new Uint8Array(this.mem.buffer,s,n.length).set(n),s+=n.length,s%8!=0&&(s+=8-s%8),i},n=this.argv.length,a=[];this.argv.forEach(e=>{a.push(i(e))}),a.push(0);Object.keys(this.env).sort().forEach(e=>{a.push(i(`${e}=${this.env[e]}`))}),a.push(0);const r=s;a.forEach(e=>{this.mem.setUint32(s,e,!0),this.mem.setUint32(s+4,0,!0),s+=8});if(s>=12288)throw new Error("total length of command line and environment variables exceeds limit");this._inst.exports.run(n,r),this.exited&&this._resolveExitPromise(),await this._exitPromise}_resume(){if(this.exited)throw new Error("Go program has already exited");this._inst.exports.resume(),this.exited&&this._resolveExitPromise()}_makeFuncWrapper(e){const t=this;return function(){const s={id:e,this:this,args:arguments};return t._pendingEvent=s,t._resume(),s.result}}}})(),exports.init=async function(e){const t=new Go;let s;if(globalThis.excelize={},V){const t=await F("node:fs").catch(()=>F("fs"));s=N((t.default||t).readFileSync(e))}else s=N(await(await fetch(e)).arrayBuffer());31===s[0]&&139===s[1]&&(s=N(s));const i=await WebAssembly.instantiate(s,t.importObject);return t.run(i.instance),excelize};