/* * noVNC: HTML5 VNC client * Copyright (C) 2012 Joel Martin * Copyright (C) 2017 Pierre Ossman for Cendio AB * Licensed under MPL 2.0 or any later version (see LICENSE.txt) */ define("pako/lib/utils/common",["require","exports","module"],function(e,t,n){var r=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Int32Array!="undefined";t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);while(t.length){var n=t.shift();if(!n)continue;if(typeof n!="object")throw new TypeError(n+"must be non-object");for(var r in n)n.hasOwnProperty(r)&&(e[r]=n[r])}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,n,r,i){if(t.subarray&&e.subarray){e.set(t.subarray(n,n+r),i);return}for(var s=0;s>>16&65535|0,o=0;while(n!==0){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,s=s+i|0;while(--o);i%=65521,s%=65521}return i|s<<16|0}n.exports=r}),define("pako/lib/zlib/crc32",["require","exports","module"],function(e,t,n){function r(){var e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}function s(e,t,n,r){var s=i,o=r+n;e^=-1;for(var u=r;u>>8^s[(e^t[u])&255];return e^-1}var i=r();n.exports=s}),define("pako/lib/zlib/inffast",["require","exports","module"],function(e,t,n){var r=30,i=12;n.exports=function(t,n){var s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A;s=t.state,o=t.next_in,L=t.input,u=o+(t.avail_in-5),a=t.next_out,A=t.output,f=a-(n-t.avail_out),l=a+(t.avail_out-257),c=s.dmax,h=s.wsize,p=s.whave,d=s.wnext,v=s.window,m=s.hold,g=s.bits,y=s.lencode,b=s.distcode,w=(1<>>24,m>>>=x,g-=x,x=S>>>16&255;if(x===0)A[a++]=S&65535;else{if(!(x&16)){if((x&64)===0){S=y[(S&65535)+(m&(1<>>=x,g-=x),g<15&&(m+=L[o++]<>>24,m>>>=x,g-=x,x=S>>>16&255;if(!(x&16)){if((x&64)===0){S=b[(S&65535)+(m&(1<c){t.msg="invalid distance too far back",s.mode=r;break e}m>>>=x,g-=x,x=a-f;if(N>x){x=N-x;if(x>p&&s.sane){t.msg="invalid distance too far back",s.mode=r;break e}C=0,k=v;if(d===0){C+=h-x;if(x2)A[a++]=k[C++],A[a++]=k[C++],A[a++]=k[C++],T-=3;T&&(A[a++]=k[C++],T>1&&(A[a++]=k[C++]))}else{C=a-N;do A[a++]=A[C++],A[a++]=A[C++],A[a++]=A[C++],T-=3;while(T>2);T&&(A[a++]=A[C++],T>1&&(A[a++]=A[C++]))}break}}break}}while(o>3,o-=T,g-=T<<3,m&=(1<=1;T--)if(I[T]!==0)break;N>T&&(N=T);if(T===0)return m[g++]=20971520,m[g++]=20971520,b.bits=1,0;for(x=1;x0&&(t===u||T!==1))return-1;q[1]=0;for(E=1;Es||t===f&&A>o)return 1;for(;;){z=E-k,y[S]F?(W=R[U+y[S]],X=B[j+y[S]]):(W=96,X=0),M=1<>k)+_]=z<<24|W<<16|X|0;while(_!==0);M=1<>=1;M!==0?(O&=M-1,O+=M):O=0,S++;if(--I[E]===0){if(E===T)break;E=n[d+y[S]]}if(E>N&&(O&P)!==D){k===0&&(k=N),H+=x,C=E-k,L=1<s||t===f&&A>o)return 1;D=O&P,m[D]=N<<24|C<<16|H-g|0}}return O!==0&&(m[H+O]=E-k<<24|64<<16|0),b.bits=N,0}}),define("pako/lib/zlib/inflate.js",["require","exports","module","../utils/common","./adler32","./crc32","./inffast","./inftrees"],function(e,t,n){function it(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function st(){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 r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ot(e){var t;return!e||!e.state?g:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=S,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new r.Buf32(et),t.distcode=t.distdyn=new r.Buf32(tt),t.sane=1,t.back=-1,d)}function ut(e){var t;return!e||!e.state?g:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,ot(e))}function at(e,t){var n,r;return!e||!e.state?g:(r=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15)?g:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,ut(e)))}function ft(e,t){var n,r;return e?(r=new st,e.state=r,r.window=null,n=at(e,t),n!==d&&(e.state=null),n):g}function lt(e){return ft(e,rt)}function dt(e){if(ct){var t;ht=new r.Buf32(512),pt=new r.Buf32(32),t=0;while(t<144)e.lens[t++]=8;while(t<256)e.lens[t++]=9;while(t<280)e.lens[t++]=7;while(t<288)e.lens[t++]=8;u(f,e.lens,0,288,ht,0,e.work,{bits:9}),t=0;while(t<32)e.lens[t++]=5;u(l,e.lens,0,32,pt,0,e.work,{bits:5}),ct=!1}e.lencode=ht,e.lenbits=9,e.distcode=pt,e.distbits=5}function vt(e,t,n,i){var s,o=e.state;return o.window===null&&(o.wsize=1<=o.wsize?(r.arraySet(o.window,t,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(s=o.wsize-o.wnext,s>i&&(s=i),r.arraySet(o.window,t,n-i,s,o.wnext),i-=s,i?(r.arraySet(o.window,t,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=s,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=s(n.check,Nt,2,0),ut=0,at=0,n.mode=x;break}n.flags=0,n.head&&(n.head.done=!1);if(!(n.wrap&1)||(((ut&255)<<8)+(ut>>8))%31){e.msg="incorrect header check",n.mode=G;break}if((ut&15)!==E){e.msg="unknown compression method",n.mode=G;break}ut>>>=4,at-=4,xt=(ut&15)+8;if(n.wbits===0)n.wbits=xt;else if(xt>n.wbits){e.msg="invalid window size",n.mode=G;break}n.dmax=1<>8&1),n.flags&512&&(Nt[0]=ut&255,Nt[1]=ut>>>8&255,n.check=s(n.check,Nt,2,0)),ut=0,at=0,n.mode=T;case T:while(at<32){if(st===0)break e;st--,ut+=et[nt++]<>>8&255,Nt[2]=ut>>>16&255,Nt[3]=ut>>>24&255,n.check=s(n.check,Nt,4,0)),ut=0,at=0,n.mode=N;case N:while(at<16){if(st===0)break e;st--,ut+=et[nt++]<>8),n.flags&512&&(Nt[0]=ut&255,Nt[1]=ut>>>8&255,n.check=s(n.check,Nt,2,0)),ut=0,at=0,n.mode=C;case C:if(n.flags&1024){while(at<16){if(st===0)break e;st--,ut+=et[nt++]<>>8&255,n.check=s(n.check,Nt,2,0)),ut=0,at=0}else n.head&&(n.head.extra=null);n.mode=k;case k:if(n.flags&1024){ct=n.length,ct>st&&(ct=st),ct&&(n.head&&(xt=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),r.arraySet(n.head.extra,et,nt,ct,xt)),n.flags&512&&(n.check=s(n.check,et,ct,nt)),st-=ct,nt+=ct,n.length-=ct);if(n.length)break e}n.length=0,n.mode=L;case L:if(n.flags&2048){if(st===0)break e;ct=0;do xt=et[nt+ct++],n.head&&xt&&n.length<65536&&(n.head.name+=String.fromCharCode(xt));while(xt&&ct>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=D;break;case M:while(at<32){if(st===0)break e;st--,ut+=et[nt++]<>>=at&7,at-=at&7,n.mode=J;break}while(at<3){if(st===0)break e;st--,ut+=et[nt++]<>>=1,at-=1;switch(ut&3){case 0:n.mode=H;break;case 1:dt(n),n.mode=R;if(t===p){ut>>>=2,at-=2;break e}break;case 2:n.mode=F;break;case 3:e.msg="invalid block type",n.mode=G}ut>>>=2,at-=2;break;case H:ut>>>=at&7,at-=at&7;while(at<32){if(st===0)break e;st--,ut+=et[nt++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=G;break}n.length=ut&65535,ut=0,at=0,n.mode=B;if(t===p)break e;case B:n.mode=j;case j:ct=n.length;if(ct){ct>st&&(ct=st),ct>ot&&(ct=ot);if(ct===0)break e;r.arraySet(tt,et,nt,ct,rt),st-=ct,nt+=ct,ot-=ct,rt+=ct,n.length-=ct;break}n.mode=D;break;case F:while(at<14){if(st===0)break e;st--,ut+=et[nt++]<>>=5,at-=5,n.ndist=(ut&31)+1,ut>>>=5,at-=5,n.ncode=(ut&15)+4,ut>>>=4,at-=4;if(n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=G;break}n.have=0,n.mode=I;case I:while(n.have>>=3,at-=3}while(n.have<19)n.lens[Lt[n.have++]]=0;n.lencode=n.lendyn,n.lenbits=7,Ct={bits:n.lenbits},Tt=u(a,n.lens,0,19,n.lencode,0,n.work,Ct),n.lenbits=Ct.bits;if(Tt){e.msg="invalid code lengths set",n.mode=G;break}n.have=0,n.mode=q;case q:while(n.have>>24,yt=mt>>>16&255,bt=mt&65535;if(gt<=at)break;if(st===0)break e;st--,ut+=et[nt++]<>>=gt,at-=gt,n.lens[n.have++]=bt;else{if(bt===16){kt=gt+2;while(at>>=gt,at-=gt;if(n.have===0){e.msg="invalid bit length repeat",n.mode=G;break}xt=n.lens[n.have-1],ct=3+(ut&3),ut>>>=2,at-=2}else if(bt===17){kt=gt+3;while(at>>=gt,at-=gt,xt=0,ct=3+(ut&7),ut>>>=3,at-=3}else{kt=gt+7;while(at>>=gt,at-=gt,xt=0,ct=11+(ut&127),ut>>>=7,at-=7}if(n.have+ct>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=G;break}while(ct--)n.lens[n.have++]=xt}}if(n.mode===G)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=G;break}n.lenbits=9,Ct={bits:n.lenbits},Tt=u(f,n.lens,0,n.nlen,n.lencode,0,n.work,Ct),n.lenbits=Ct.bits;if(Tt){e.msg="invalid literal/lengths set",n.mode=G;break}n.distbits=6,n.distcode=n.distdyn,Ct={bits:n.distbits},Tt=u(l,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,Ct),n.distbits=Ct.bits;if(Tt){e.msg="invalid distances set",n.mode=G;break}n.mode=R;if(t===p)break e;case R:n.mode=U;case U:if(st>=6&&ot>=258){e.next_out=rt,e.avail_out=ot,e.next_in=nt,e.avail_in=st,n.hold=ut,n.bits=at,o(e,lt),rt=e.next_out,tt=e.output,ot=e.avail_out,nt=e.next_in,et=e.input,st=e.avail_in,ut=n.hold,at=n.bits,n.mode===D&&(n.back=-1);break}n.back=0;for(;;){mt=n.lencode[ut&(1<>>24,yt=mt>>>16&255,bt=mt&65535;if(gt<=at)break;if(st===0)break e;st--,ut+=et[nt++]<>wt)],gt=mt>>>24,yt=mt>>>16&255,bt=mt&65535;if(wt+gt<=at)break;if(st===0)break e;st--,ut+=et[nt++]<>>=wt,at-=wt,n.back+=wt}ut>>>=gt,at-=gt,n.back+=gt,n.length=bt;if(yt===0){n.mode=$;break}if(yt&32){n.back=-1,n.mode=D;break}if(yt&64){e.msg="invalid literal/length code",n.mode=G;break}n.extra=yt&15,n.mode=z;case z:if(n.extra){kt=n.extra;while(at>>=n.extra,at-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=W;case W:for(;;){mt=n.distcode[ut&(1<>>24,yt=mt>>>16&255,bt=mt&65535;if(gt<=at)break;if(st===0)break e;st--,ut+=et[nt++]<>wt)],gt=mt>>>24,yt=mt>>>16&255,bt=mt&65535;if(wt+gt<=at)break;if(st===0)break e;st--,ut+=et[nt++]<>>=wt,at-=wt,n.back+=wt}ut>>>=gt,at-=gt,n.back+=gt;if(yt&64){e.msg="invalid distance code",n.mode=G;break}n.offset=bt,n.extra=yt&15,n.mode=X;case X:if(n.extra){kt=n.extra;while(at>>=n.extra,at-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=G;break}n.mode=V;case V:if(ot===0)break e;ct=lt-ot;if(n.offset>ct){ct=n.offset-ct;if(ct>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=G;break}ct>n.wnext?(ct-=n.wnext,ht=n.wsize-ct):ht=n.wnext-ct,ct>n.length&&(ct=n.length),pt=n.window}else pt=tt,ht=rt-n.offset,ct=n.length;ct>ot&&(ct=ot),ot-=ct,n.length-=ct;do tt[rt++]=pt[ht++];while(--ct);n.length===0&&(n.mode=U);break;case $:if(ot===0)break e;tt[rt++]=n.length,ot--,n.mode=U;break;case J:if(n.wrap){while(at<32){if(st===0)break e;st--,ut|=et[nt++]<this.chunkSize&&(this.chunkSize=r,this.strm.output=new Uint8Array(this.chunkSize)),this.strm.avail_out=this.chunkSize,e.inflate(this.strm,n),new Uint8Array(this.strm.output.buffer,0,this.strm.next_out)},reset:function(){e.inflateReset(this.strm)}},{Inflate:n}});