MediaWiki:Common.js

From LifeWiki
Revision as of 19:42, 16 June 2016 by Nathaniel (talk | contribs) (LV Build 192)
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Test if an element has a certain class
 */
 
var hasClass = (function () {
    var reCache = {};
    return function (element, className) {
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
    };
})();

/** Collapsible tables *********************************************************
 *
 *  Description: Allows tables to be collapsed, showing only the header.
 */
 
var autoCollapse = 2;
var collapseCaption = "hide";
var expandCaption = "show";
 
function collapseTable( tableIndex )
{
    var Button = document.getElementById( "collapseButton" + tableIndex );
    var Table = document.getElementById( "collapsibleTable" + tableIndex );
 
    if ( !Table || !Button ) {
        return false;
    }
 
    var Rows = Table.rows;
 
    if ( Button.firstChild.data == collapseCaption ) {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = "none";
        }
        Button.firstChild.data = expandCaption;
    } else {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = Rows[0].style.display;
        }
        Button.firstChild.data = collapseCaption;
    }
}
 
function createCollapseButtons()
{
    var tableIndex = 0;
    var NavigationBoxes = new Object();
    var Tables = document.getElementsByTagName( "table" );
 
    for ( var i = 0; i < Tables.length; i++ ) {
        if ( hasClass( Tables[i], "collapsible" ) ) {

            /* only add button and increment count if there is a header row to work with */
            var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
            if (!HeaderRow) continue;
            var Header = HeaderRow.getElementsByTagName( "th" )[0];
            if (!Header) continue;
 
            NavigationBoxes[ tableIndex ] = Tables[i];
            Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
 
            var Button     = document.createElement( "span" );
            var ButtonLink = document.createElement( "a" );
            var ButtonText = document.createTextNode( collapseCaption );
 
            Button.className = "collapseButton";  //Styles are declared in Common.css
 
            ButtonLink.style.color = Header.style.color;
            ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
            ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
            ButtonLink.appendChild( ButtonText );
 
            Button.appendChild( document.createTextNode( "[" ) );
            Button.appendChild( ButtonLink );
            Button.appendChild( document.createTextNode( "]" ) );
 
            Header.insertBefore( Button, Header.childNodes[0] );
            tableIndex++;
        }
    }
 
    for ( var i = 0;  i < tableIndex; i++ ) {
        if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
            collapseTable( i );
        } 
        else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) {
            var element = NavigationBoxes[i];
            while (element = element.parentNode) {
                if ( hasClass( element, "outercollapse" ) ) {
                    collapseTable ( i );
                    break;
                }
            }
        }
    }
}
 
addOnloadHook( createCollapseButtons );


// LifeViewer plugin (Build 192)
(function(){var B;window.performance||(window.performance={});window.performance.now||(window.performance.now=function(){return performance.now||performance.vo||performance.wo||performance.xo||performance.webkitNow||function(){return(new Date).getTime()}}());window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame);window.cancelRequestAnimationFrame||(window.cancelRequestAnimationFrame=
window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame);window.Uint8Array?window.typedArrays=!0:(window.typedArrays=!1,window.Uint8Array=Array);window.Uint8ClampedArray||(window.Uint8ClampedArray=window.Uint8Array);window.Uint16Array||(window.Uint16Array=Array);window.Uint32Array||(window.Uint32Array=Array);Array.c=function(t,h,n){var p=null,c=null,e=0,p=0,b=[];if(0!==n){if(e<t){for(c=new Uint8Array(h);p<
h;)c[p]=n,p+=1;b[e]=c;for(e+=1;e<t;)p=new Uint8Array(h),p.set(c),b[e]=p,e+=1}}else for(;e<t;)p=new Uint8Array(h),b[e]=p,e+=1;return b};Array.b=function(t,h){for(var n=null,p=0,c=[];p<t;)n=new Uint16Array(h),c[p]=n,p+=1;return c};Array.J=function(t){for(var h=null,n=0,p=[];1>n;)h=new Uint32Array(t),p[n]=h,n+=1;return p};Array.P=function(t,h){var n=0,p=t.length,c=new Uint8Array(t[0].length);if(0!==h)for(;n<p;)c[n]=h,n+=1;t[t.length]=c};Array.S=function(t,h){var n=0,p=t.length,c=new Uint16Array(t[0].length);
if(0!==h)for(;n<p;)c[n]=h,n+=1;t[t.length]=c};Array.G=function(t){var h=t.length,n=new Uint32Array(t[0].length);t[h]=n};Array.Y=function(t,h){for(var n=0,p=t.length,c=0,e=0,b=null,m=null,a=!0;n<p;){b=t[n];m=h[n];e=b.length;for(c=0;c<e;)b[c]!==m[c]&&(a=!1),c+=1;n+=1}return a};Array.j=function(t,h){for(var n=0,p=t.length;n<p;)h[n].set(t[n]),n+=1};Array.s=function(t){for(var h=0,n=t.length,p=[],h=0;h<n;h+=1)p[h]=new Uint16Array(t[h].buffer);return p};Array.V=function(t){for(var h=0,n=t.length,p=[],h=
0;h<n;h+=1)p[h]=new Uint32Array(t[h].buffer);return p};Array.g=function(t,h){var n=0,p=t.length,c=[];switch(t[0].BYTES_PER_ELEMENT){case 1:for(n=0;n<p;n+=1)c[n]=new Uint8Array(t[n].buffer,h);break;case 2:for(n=0;n<p;n+=1)c[n]=new Uint16Array(t[n].buffer,h);break;case 4:for(n=0;n<p;n+=1)c[n]=new Uint32Array(t[n].buffer,h)}return c};B=new Uint32Array(1);B[0]=4660;52===(new Uint8Array(B.buffer))[0]?window.littleEndian=!0:window.littleEndian=!1;window.registerEvent=function(t,h,n,p){t.addEventListener?
t.addEventListener(h,n,p):t.attachEvent("on"+h,n)}})();window.AliasManager={f:[],gd:function(){this.f=[];this.f.push(["Totalistic",""]);this.f.push(["","B3/S23"]);this.f.push(["Conway's Life","B3/S23"]);this.f.push(["2x2","B36/S125"]);this.f.push(["34 Life","B34/S34"]);this.f.push(["3-4 Life","B34/S34"]);this.f.push(["Amoeba","B357/S1358"]);this.f.push(["AntiLife","B0123478/S01234678"]);this.f.push(["Assimilation","B345/S4567"]);this.f.push(["Bacteria","B34/S456"]);this.f.push(["Bugs","B3567/S15678"]);this.f.push(["Coagulations","B378/S235678"]);this.f.push(["Coral",
"B3/S45678"]);this.f.push(["Day & Night","B3678/S34678"]);this.f.push(["Day and Night","B3678/S34678"]);this.f.push(["Diamoeba","B35678/S5678"]);this.f.push(["DotLife","B3/S023"]);this.f.push(["DryLife","B37/S23"]);this.f.push(["Fredkin","B1357/S02468"]);this.f.push(["Gnarl","B1/S1"]);this.f.push(["H-Trees","B1/S012345678"]);this.f.push(["HighLife","B36/S23"]);this.f.push(["Iceballs","B25678/S5678"]);this.f.push(["InverseLife","B012345678/S34678"]);this.f.push(["Land Rush","B36/S234578"]);this.f.push(["Life without Death",
"B3/S012345678"]);this.f.push(["Life","B3/S23"]);this.f.push(["Live Free or Die","B2/S0"]);this.f.push(["LongLife","B345/S5"]);this.f.push(["Long Life","B345/S5"]);this.f.push(["Majority","B45678/S5678"]);this.f.push(["Maze","B3/S12345"]);this.f.push(["Mazectric","B3/S1234"]);this.f.push(["Morley","B368/S245"]);this.f.push(["Move","B368/S245"]);this.f.push(["Persian Rug","B234/S"]);this.f.push(["Plow World","B378/S012345678"]);this.f.push(["Pseudo Life","B357/S238"]);this.f.push(["Replicator","B1357/S1357"]);
this.f.push(["Seeds","B2/S"]);this.f.push(["Serviettes","B234/S"]);this.f.push(["Slow Blob","B367/S125678"]);this.f.push(["Stains","B3678/S235678"]);this.f.push(["Vote","B5678/S45678"]);this.f.push(["Vote 4/5","B4678/S35678"]);this.f.push(["Walled Cities","B45678/S2345"]);this.f.push(["Isotropic Non-Totalistic",""]);this.f.push(["DLife","23/3-n"]);this.f.push(["GlideLife","B34ek5ak/S2-c34z"]);this.f.push(["TLife","B3/S2-i34q"]);this.f.push(["Generations",""]);this.f.push(["Banners","2367/3457/5"]);
this.f.push(["BelZhab","23/23/8"]);this.f.push(["BelZhab Sediment","145678/23/8"]);this.f.push(["Bloomerang","234/34678/24"]);this.f.push(["Bombers","345/24/25"]);this.f.push(["Brain 6","6/246/3"]);this.f.push(["Brian's Brain","/2/3"]);this.f.push(["Burst","0235678/3468/9"]);this.f.push(["BurstII","235678/3468/9"]);this.f.push(["Caterpillars","124567/378/4"]);this.f.push(["Chenille","05678/24567/6"]);this.f.push(["Circuit Genesis","2345/1234/8"]);this.f.push(["Cooties","23/2/8"]);this.f.push(["Ebb&Flow",
"012478/36/18"]);this.f.push(["Ebb&Flow II","012468/37/18"]);this.f.push(["Faders","02/02/2025"]);this.f.push(["Fireworks","2/13/21"]);this.f.push(["Flaming Starbows","347/23/8"]);this.f.push(["Frogs","12/34/3"]);this.f.push(["Frozen spirals","356/23/6"]);this.f.push(["Glisserati","035678/245678/7"]);this.f.push(["Glissergy","035678/245678/5"]);this.f.push(["Lava","12345/45678/8"]);this.f.push(["Lines","012345/458/3"]);this.f.push(["LivingOn TheEdge","345/3/6"]);this.f.push(["Meteor Guns","01245678/3/8"]);
this.f.push(["Nova","45678/2478/25"]);this.f.push(["OrthoGo","3/2/4"]);this.f.push(["Prairie on fire","345/34/6"]);this.f.push(["RainZha","2/23/8"]);this.f.push(["Rake","3467/2678/6"]);this.f.push(["SediMental","45678/25678/4"]);this.f.push(["Snake","03467/25/6"]);this.f.push(["SoftFreeze","13458/38/6"]);this.f.push(["Spirals","2/234/5"]);this.f.push(["Star Wars","345/2/4"]);this.f.push(["Sticks","06/02/3456"]);this.f.push(["Swirl","23/34/8"]);this.f.push(["ThrillGrill","1234/34/48"]);this.f.push(["Transers",
"345/26/5"]);this.f.push(["TransersII","0345/26/6"]);this.f.push(["Wanderers","345/34678/5"]);this.f.push(["Worms","3467/25/6"]);this.f.push(["Xtasy","1456/2356/16"])},Ym:function(B){var t=null,h=0;for(B=B.toLowerCase();h<this.f.length&&null===t;)""!==this.f[h][1]&&this.f[h][0].toLowerCase()===B&&(t=this.f[h][1]),h+=1;return t}};(function(){function B(b,c,a,e,l){this.h=l;this.P=b;this.S=c;this.Y=a;this.g="";this.s=b;this.G=c;this.V=a;this.nd="";this.b=e;this.J=this.j=0;this.ol=this.wi="rgb(32,255,255)";this.c=0;this.si=!1;this.fa="black";this.enabled=!1}function t(b,c,a,e){this.name=b;this.width=c;this.height=a;this.un=e}function h(b,c){this.c=c;this.g=b;this.b=[]}function n(b,c,a,g,l,k,f,d,q,x,C,F,r,n,h,v,p,t,y,z){this.K=!1;this.Sa=c;this.caller=a;this.icon=y;this.x=l;this.y=k;this.xc=l;this.b=k;this.position=g;this.width=
f;this.height=d;this.border=n;this.type=F;r===e.Yj?this.orientation=f>=d?e.$b:e.Uh:this.orientation=r;this.lower=q;this.upper=x;switch(F){case e.wf:this.current=[C,C];break;default:this.current=C}this.Mj=h;this.Hb=v;this.pj=p;this.fixed=t;this.cj=!1;this.dg=this.cg=this.fg=this.eg=this.Ok=this.Nk=-1;this.textAlign=e.dk;this.enabled=!0;this.locked=!1;this.Fg=[];this.Dh=0;this.cn=!1;this.Hc=z.Hc;this.pc=z.pc;this.Nc=z.Nc;this.xb=z.xb;this.yd=z.yd;this.xd=z.xd;this.Ne=z.Ne;this.be=z.be;this.zd=z.zd;
this.Wd=z.Wd;this.border=z.border}function p(b,c,a,g){this.b=g;this.locked=this.K=!1;this.Zd=this.hd=-1;this.bb=!1;this.G=6;this.Sa=b;this.bc=[];this.Aa=0;this.Hc="";this.pc=0;this.Nc="";this.xb=0;this.yd="";this.xd=0;this.Ne="";this.be=0;this.zd="";this.border=this.Wd=0;this.g=e.Yj;this.j=-1;this.Ji=null;this.Qg=c;this.caller=a;this.Ma=null}function c(b,c,a,e,l,k){var f=this,d=0,q=b.canvas;this.He=!1;this.caller=l;this.Te=this.ea=!1;this.nh=k;this.hasFocus=this.vi=!1;this.Rf=!0;this.Hg=!1;this.Gg=
1;this.Hc="black";this.pc=.7;this.Nc="rgb(32,255,255)";this.xb=1;this.yd="rgb(0,240,32)";this.xd=.7;this.Ne="blue";this.be=.7;this.zd="grey";this.border=this.Wd=1;this.ck=function(d){return function(){d.J(d)}}(this);this.Ma=e;this.Rc=b;this.Gb=c;this.bb=!1;this.Cd=this.Bd=-1;this.gb=null;this.Di=a;this.tg=!1;this.dj=performance.now();this.Yk=1E3;this.De=5;this.Dg=0;this.bj=[];this.fj=[];this.aj=[];for(d=0;5>d;d+=1)this.bj[d]=0,this.fj[d]=0,this.aj[d]=0;this.hg=null;this.Hf=!1;this.notification=new B(25,
100,25,c,this);registerEvent(q,"mousedown",function(d){f.c(f,d)},!1);registerEvent(q,"mousemove",function(d){f.g(f,d)},!1);registerEvent(q,"mouseup",function(d){f.G(f,d)},!1);registerEvent(q,"mouseover",function(d){f.s(f,d)},!1);registerEvent(q,"mouseout",function(d){f.j(f,d)},!1);registerEvent(q,"touchstart",function(d){f.b(f,d)},!1);registerEvent(q,"touchmove",function(d){f.b(f,d)},!1);registerEvent(q,"touchend",function(d){f.b(f,d)},!1)}B.prototype.re=function(){var b=!1;if(""!==this.g||""!==this.nd)b=
!0;return b};B.prototype.clear=function(b,c){b?""!==this.nd&&(c?this.nd="":this.J=performance.now()-(this.s+this.G)):""!==this.g&&(c?this.g="":this.j=performance.now()-(this.P+this.S))};B.prototype.L=function(b,c,a){this.enabled&&(a?this.nd!==b&&(this.nd=b,this.s=240,this.G=16*c,this.V=240,this.J=performance.now(),this.c=0,this.si=!1):(this.g=b,this.P=240,this.S=16*c,this.Y=240,this.j=performance.now()))};B.prototype.Nd=function(b,c){var a=0,a=this.b.measureText(b).width>>1;this.b.fillStyle=this.fa;
this.b.fillText(b,-a+2,2);c?this.si?(this.b.fillStyle=128>this.c?"rgb("+2*this.c+","+2*this.c+",255)":"rgb("+2*(256-this.c)+","+2*(256-this.c)+",255)",this.c=this.c+4&255):this.b.fillStyle=this.ol:this.b.fillStyle=this.wi;this.b.fillText(b,-a,0)};B.prototype.aa=function(b,c,a,e,l,k,f){var d=0,q=0,d=0,x=!0;""!==b&&(x=!1,q=performance.now()-l,this.b.save(),this.b.font="30px Arial",this.b.translate(this.b.canvas.width/2,60+k),q<=c?(d=q/c,d*=d,this.b.globalAlpha=d,this.b.scale(d,d)):q>c+a&&q<=c+a+e&&
(d=(e-(q-(c+a)))/e,d*=d,this.b.globalAlpha=d,this.b.scale(d,d)),q>c+a+e?x=!0:(d=b.indexOf("\\n"),-1===d?this.Nd(b,f):(this.Nd(b.substr(0,d),f),this.b.translate(0,32),this.Nd(b.substr(d+2),f))),this.b.restore());return x};B.prototype.update=function(){!this.h.ea&&this.aa(this.g,this.P,this.S,this.Y,this.j,36,!1)&&(this.g="");this.h.ea&&"Expand"!==this.nd&&"Launch"!==this.nd||!this.aa(this.nd,this.s,this.G,this.V,this.J,0,!0)||(this.nd="")};h.prototype.Nd=function(b,c,a){this.c.drawImage(this.g,b.un*
b.width,0,b.width,b.height,c,a,b.width,b.height)};h.prototype.length=function(){return this.b.length};h.prototype.icon=function(b){var c,a=this.b,e=this.length(),l=null;for(c=0;c<e&&!l;)a[c].name===b?l=a[c]:c+=1;return l};h.prototype.add=function(b,c,a){var e=this.b.length;this.b[e]=new t(b,c,a,e)};var e={Yj:0,$b:1,Uh:2,wf:0,button:1,toggle:2,wc:3,list:4,label:5,yj:0,tf:1,left:0,dk:1,right:2,hj:0,ij:1,uk:2,Wc:3,Dl:4,ce:5,so:6,fl:7,on:8};n.prototype.im=function(b,c){this.x=this.xc;this.y=this.b;switch(this.position){case e.hj:this.x=
(b-this.width>>1)+this.xc;break;case e.ij:this.x=b+this.xc;break;case e.uk:this.y=(c-this.height>>1)+this.b;this.x=b+this.xc;break;case e.Wc:this.x=b+this.xc;this.y=c+this.b;break;case e.Dl:this.x=(b-this.width>>1)+this.xc;this.y=c+this.b;break;case e.ce:this.y=c+this.b;break;case e.qo:this.y=(c-this.height>>1)+this.b;break;case e.on:this.x=(b-this.width>>1)+this.xc,this.y=(c-this.height>>1)+this.b}};n.prototype.Xj=function(b,c){var a=this.Dh;this.Fg[a]=[b,c];this.Dh=a+1};n.prototype.Vj=function(b){var c=
[],a,e;e=b.length;for(a=0;a<e;a+=1)b[a].Xj(this,!0);e=c.length;for(a=0;a<e;a+=1)c[a].Xj(this,!1)};n.prototype.sn=function(b,c){var a=!1;this.enabled&&b>=this.x&&b<this.x+this.width&&c>=this.y&&c<this.y+this.height&&(a=!0);return a};p.prototype.s=function(b,c){var a,g,l=b.Dh;b.type===e.list&&b.upper===e.tf?a=b.current[0]:a=b.current===b.upper;b.cn&&(a=!a);if(a&&c)for(g=0;g<l;g+=1)a&=this.s(b.Fg[g][0],b.Fg[g][1]);return a};p.prototype.Rl=function(b){var c,a,e=b.Dh;c=!0;for(a=0;a<e;a+=1)c&=this.s(b.Fg[a][0],
b.Fg[a][1]);b.enabled=c};p.prototype.gd=function(){var b,c;for(c=0;c<this.Aa;c+=1){b=this.bc[c];b.enabled=!0;switch(b.type){case e.toggle:b.Sa&&(b.current=b.Sa(b.current===b.upper,!1,this.caller)?b.upper:b.lower);break;case e.wf:b.Sa&&(b.current=b.Sa(b.current,!1,this.caller));break;case e.list:b.Sa&&(b.current=b.Sa(b.current,!1,this.caller))}this.Rl(b)}};p.prototype.Ye=function(b,c,a,g,l,k,f,d){this.bc[this.Aa]=new n(0,b,this.caller,c,a,g,l,40,k,d,f,e.list,this.g,this.border,!0,"","",-1,[],this);
this.Aa+=1;return this.bc[this.Aa-1]};p.prototype.ge=function(b,c,a,g,l,k,f,d,q,x,C,F){this.bc[this.Aa]=new n(0,b,this.caller,c,a,g,l,k,f,d,q,e.wf,this.g,this.border,!0,x,C,F,null,this);this.Aa+=1;return this.bc[this.Aa-1]};p.prototype.Ec=function(b,c,a,g,l){this.bc[this.Aa]=new n(0,null,null,b,c,a,g,40,0,0,0,e.label,this.g,this.border,!0,l,"",-1,null,this);this.Aa+=1;return this.bc[this.Aa-1]};p.prototype.am=function(b){this.bc[this.Aa]=new n(0,b,this.caller,Menu.fl,45,0,40,40,0,0,0,e.button,this.g,
this.border,!0,"","",-1,null,this);this.Aa+=1;return this.bc[this.Aa-1]};p.prototype.bm=function(){this.bc[this.Aa]=new n(0,null,null,Menu.ce,0,-40,100,40,0,100,0,e.wc,this.g,this.border,!1,"","",0,null,this);this.Aa+=1;return this.bc[this.Aa-1]};p.prototype.c=function(b,c,a){var g,l,k,f,d;b+=String();if(""!==b){this.b.save();this.b.translate(c.x+c.width/2,c.y+c.height/2);c.orientation===e.Uh&&this.b.rotate(.5*Math.PI);g=this.b.measureText(b).width;l=c.orientation===e.Uh?c.height:c.width;if(g>=l-
6){if(k=b.length){do--k,f=b.substr(0,k)+"...",g=this.b.measureText(f).width;while(1<k&&g>=l-6)}b=f}switch(c.textAlign){case e.left:d=c.width/2-2;break;case e.dk:d=g/2;break;case e.right:d=g/2-(c.width-g)/2+4}this.b.fillStyle=this.Hc;a&&this.b.fillRect(2-d,2,g,2);this.b.fillText(b,2-d+.5,2.5);this.b.fillStyle=c.locked||this.locked?this.zd:this.Nc;this.b.fillText(b,-d+.5,.5);a&&this.b.fillRect(-d,0,g,2);this.b.restore()}};p.prototype.S=function(b){this.b.globalAlpha=this.xb;this.c(b.Hb,b,!1)};p.prototype.J=
function(b){this.b.globalAlpha=this.xb;this.c(b.Hb,b,!1);b.icon&&this.Ma.Nd(b.icon,b.x,b.y)};p.prototype.Y=function(b){var c;c=(b.current-b.lower)/(b.upper-b.lower);this.b.globalAlpha=this.pc;this.b.fillStyle=this.Nc;b.orientation===e.$b?(c*=b.width-3,this.b.fillRect(b.x+(c+1|0),b.y,1,b.height)):(c*=b.height-3,c=c+1|0,this.b.fillRect(b.x,b.y+c,b.width,1));c=b.Hb;b.Mj&&(c=-1!==b.fixed?c+b.current.toFixed(b.fixed):c+b.current,c+=b.pj);""!==c&&(this.b.globalAlpha=this.xb,this.c(c,b,!1))};p.prototype.aa=
function(b,c){var a,g;a=(b.current[0]-b.lower)/(b.upper-b.lower);g=this.G;b.orientation===e.$b?(a*=b.width-3,a=a+1|0,c&&(this.b.fillStyle=this.yd,this.b.globalAlpha=this.xd,this.b.fillRect(b.x+a-g,b.y,g,b.height),this.b.fillRect(b.x+a+1,b.y,g,b.height)),b.locked||this.locked?(this.b.fillStyle=this.zd,this.b.globalAlpha=this.Wd):(this.b.fillStyle=this.Nc,this.b.globalAlpha=this.xb),this.b.fillRect(b.x+a,b.y,1,b.height)):(a*=b.height-3,a=a+1|0,c&&(this.b.fillStyle=this.yd,this.b.globalAlpha=this.xd,
this.b.fillRect(b.x,b.y+a-g,b.width,g),this.b.fillRect(b.x,b.y+a+1,b.width,g)),b.locked||this.locked?(this.b.fillStyle=this.zd,this.b.globalAlpha=this.Wd):(this.b.fillStyle=this.Nc,this.b.globalAlpha=this.xb),this.b.fillRect(b.x,b.y+a,b.width,1));a=b.Hb;b.Mj&&(a=0<=b.fixed?a+b.current[1].toFixed(b.fixed):a+b.current[1]);a+=b.pj;""!==a&&(this.b.globalAlpha=this.xb,this.c(a,b,!1))};p.prototype.fa=function(b){var c,a;this.b.globalAlpha=this.xb;c="-"===b.lower&&""===b.upper&&b.current===b.lower;a=b.Hb;
b.Mj&&!c&&(a+=b.current);a+=b.pj;this.c(a,b,c)};p.prototype.V=function(b,c){var a,g,l,k,f,d,q,x,C,F;k=b.x;f=b.y;q=b.width;x=b.height;C=b.orientation;F=b.current;l=b.lower;g=l.length;d=b.orientation===e.$b?q/g:x/g;this.b.globalAlpha=this.be;this.b.fillStyle=this.Ne;if(b.upper===e.yj)a=b.current,b.orientation===e.$b?this.b.fillRect(k+a*d+1,f+1,d-2,x-2):this.b.fillRect(k+1,f+1+a*d,q-2,d-2);else if(b.orientation===e.$b)for(a=0;a<g;a+=1)F[a]&&this.b.fillRect(k+a*d+1,f+1,d-2,x-2);else for(a=0;a<g;a+=1)F[a]&&
this.b.fillRect(k+1,f+1+a*d,q-2,d-2);this.b.globalAlpha=this.xb;if(b.orientation===e.$b)for(a=0;a<g;a+=1)b.icon[a]&&this.Ma.Nd(b.icon[a],b.x+d*a,b.y);else for(a=0;a<g;a+=1)b.icon[a]&&this.Ma.Nd(b.icon[a],b.x,b.y+d*a);c&&(this.b.globalAlpha=this.xd,this.b.fillStyle=this.yd,b.orientation===e.$b?(a=(this.hd-k)/q*g|0,0<=a&&a<g&&this.b.fillRect(k+a*d+.5,f+.5,d-1,x-1)):(a=(this.Zd-f)/x*g|0,0<=a&&a<g&&this.b.fillRect(k+.5,f+.5+a*d,q-1,d-1)));this.b.globalAlpha=this.xb;this.b.fillStyle=this.Nc;if(C===e.$b)for(a=
0;a<g;a+=1)k=l[a],""!==k&&(this.b.save(),this.b.translate((.5+(a-g/2))*d,0),this.c(k,b,!1),this.b.restore());else for(a=0;a<g;a+=1)k=l[a],""!==k&&(this.b.save(),this.b.translate(0,(.5+(a-g/2))*d),this.c(k,b,!1),this.b.restore())};p.prototype.P=function(b,c,a,g){var l,k,f;!(a===g||-1===g&&c)||b.type!==e.button&&b.type!==e.toggle?(this.b.fillStyle=b.Hc,this.b.globalAlpha=b.pc):(this.b.fillStyle=b.yd,this.b.globalAlpha=b.xd);switch(b.type){case e.wc:l=(b.current-b.lower)/(b.upper-b.lower);this.b.fillStyle=
b.Ne;this.b.globalAlpha=b.be;b.orientation===e.$b?(l*=b.width-3,l=l+1|0,this.b.fillRect(b.x,b.y,l,b.height),this.b.fillStyle=b.Hc,this.b.globalAlpha=b.pc,this.b.fillRect(b.x+l,b.y,b.width-l,b.height)):(l*=b.height-3,l=l+1|0,this.b.fillRect(b.x,b.y,b.width,l),this.b.fillStyle=b.Hc,this.b.fillRect(b.x,b.y+l,b.width,b.height-l));break;case e.wf:l=(b.current[0]-b.lower)/(b.upper-b.lower);a===g||-1===g&&c?(k=this.G,b.orientation===e.$b?(l*=b.width-3,l=l+1|0,f=l-k,0<f&&this.b.fillRect(b.x,b.y,f,b.height),
f=1+l+k,f<b.width&&this.b.fillRect(b.x+f,b.y,b.width-f,b.height)):(l*=b.height-3,l=l+1|0,f=l-k,0<f&&this.b.fillRect(b.x,b.y,b.width,f),f=1+l+k,f<b.height&&this.b.fillRect(b.x,b.y+f,b.width,b.height-f))):this.b.fillRect(b.x,b.y,b.width,b.height);break;default:this.b.fillRect(b.x,b.y,b.width,b.height)}b.type!==e.list&&b.icon&&(this.b.globalAlpha=b.xb,this.Ma.Nd(b.icon,b.x,b.y),!(a===g||-1===g&&c)||b.type!==e.button&&b.type!==e.toggle||(this.b.globalAlpha=b.be,this.b.fillRect(b.x,b.y,b.width,b.height)));
if(0<b.border)switch(b.locked||this.locked?(this.b.strokeStyle=b.zd,this.b.globalAlpha=b.Wd):(this.b.strokeStyle=b.Nc,this.b.globalAlpha=b.xb),this.b.lineWidth=b.border,b.type){case e.label:break;case e.list:k=b.lower.length;if(b.orientation===e.$b)for(f=b.width/k,l=0;l<k;l+=1)this.b.strokeRect(b.x+.5+l*f,b.y+.5,f-1,b.height-1);else for(f=b.height/k,l=0;l<k;l+=1)this.b.strokeRect(b.x+.5,b.y+.5+l*f,b.width-1,f-1);break;default:this.b.strokeRect(b.x+.5,b.y+.5,b.width-1,b.height-1)}switch(b.type){case e.button:this.J(b);
break;case e.label:this.S(b);break;case e.wf:this.aa(b,a===g||-1===g&&c);break;case e.toggle:this.fa(b);break;case e.wc:this.Y(b);break;case e.list:this.V(b,a===g||-1===g&&c)}if(a===g)switch(b.type){case e.wf:l=this.Zd,b.orientation===e.Uh?(l<b.y?l=b.y:l>=b.y+b.height&&(l=b.y+b.height-1),b.current[0]=(l-b.y)/(b.height-1)*(b.upper-b.lower)+b.lower):(l=this.hd,l<b.x?l=b.x:l>=b.x+b.width&&(l=b.x+b.width-1),b.current[0]=(l-b.x)/(b.width-1)*(b.upper-b.lower)+b.lower),b.Sa&&(b.current=b.Sa(b.current,!0,
b.caller))}if(c&&!this.bb&&b.cj)switch(b.type){case e.button:b.Sa&&b.Sa(b.caller);break;case e.toggle:b.current=b.current===b.upper?b.lower:b.upper;b.Sa&&b.Sa(b.current===b.upper,!0,b.caller);break;case e.list:k=b.lower.length,f=b.orientation===e.$b?(this.hd-b.x)/b.width*k|0:(this.Zd-b.y)/b.height*k|0,b.upper===e.yj?b.Sa?b.current=b.Sa(f,!0,b.caller):b.current=f:(b.current[f]=!b.current[f],b.Sa&&b.Sa(b.current,!0,b.caller))}c&&a===g?(b.cj=this.bb,b.Nk=this.hd,b.Ok=this.Zd):(b.cj=!1,b.Nk=-1,b.Ok=-1)};
p.prototype.Ki=function(){var b=null,c=!1,a=this.j,e=0,l=!1,k=this.b.canvas.width,f=this.b.canvas.height,l=!1;if(!this.K){a=this.j;this.b.textAlign="left";for(e=0;e<this.Aa;e+=1)b=this.bc[e],b.K||(b.im(k,f),c=b.sn(this.hd,this.Zd)&&!(b.locked||this.locked),this.bb&&-1===a&&c&&(a=e),e===a&&(b.locked||this.locked)&&(a=-1,c=!1),b.enabled&&this.P(b,c,e,a));0<=a&&!this.bb&&(l=!0);this.bb&&-1===a&&(a=-2);-2===a&&this.Ji&&!this.locked&&this.Ji(this.hd,this.Zd,this.bb,this.caller);this.bb||(a=-1);this.j=
a;this.b.globalAlpha=1}return l};c.prototype.om=function(){var b=this.Rc.canvas,c=b.offsetParent;this.offsetLeft=b.offsetLeft;for(this.offsetTop=b.offsetTop;c;)this.offsetLeft+=c.offsetLeft,this.offsetTop+=c.offsetTop,c=c.offsetParent;c=b.parentNode;if("fixed"===c.style.position)this.offsetLeft+=document.body.scrollLeft+document.documentElement.scrollLeft,this.offsetTop+=document.body.scrollTop+document.documentElement.scrollTop;else for(;"body"!==c.tagName.toLowerCase();)this.offsetLeft-=c.scrollLeft,
this.offsetTop-=c.scrollTop,c=c.parentNode};c.prototype.vm=function(b,c,a){b=new p(b,c,a,this.Gb);b.Nc=this.Nc;b.xb=this.xb;b.Hc=this.Hc;b.pc=this.pc;b.yd=this.yd;b.xd=this.xd;b.Ne=this.Ne;b.be=this.be;b.zd=this.zd;b.Wd=this.Wd;b.border=this.border;return b};c.prototype.J=function(b){var c,a,e,l,k,f=b.Gb,d=f.canvas.width-96;b.Hg=!1;b.hg&&(b.gb=b.hg,b.hg=null,f.font=b.Di,b.gb.gd(),b.gb.Qg&&b.gb.Qg(b.gb.caller));if(b.Rf||b.notification.re()||b.Gg)b.qg(b),b.Gg&&--b.Gg;a=performance.now();e=a-b.dj;b.dj=
a;b.gb.Sa&&(e>b.Yk?b.gb.Sa(b.Yk,b.gb.caller):b.gb.Sa(e,b.gb.caller));a=performance.now()-a;c=performance.now();b.Ki();c=performance.now()-c;b.bj[b.Dg]=c;for(k=c=0;k<b.De;k+=1)c+=b.bj[k];c=c/b.De;b.fj[b.Dg]=a;for(k=a=0;k<b.De;k+=1)a+=b.fj[k];a=a/b.De;b.aj[b.Dg]=e;for(k=l=0;k<b.De;k+=1)l+=b.aj[k];l=l/b.De;b.Dg=(b.Dg+1)%b.De;k=Math.round(1E3/l);b.tg&&(f.font="12px Arial",f.globalAlpha=.7,f.fillStyle="black",f.fillRect(d,40,96,83),e=e.toFixed(1),c=c.toFixed(1),a=a.toFixed(1),f.globalAlpha=1,f.fillText(k+
"fps"+e+"ms",d+8,52),f.fillText("menu "+c+"ms",d+8,68),f.fillText("work "+a+"ms",d+8,84),f.fillText("update "+(b.Rf?"on":"off"),d+8,100),f.fillText("focus "+(b.hasFocus?"on":"off"),d+8,116),f.fillStyle="white",f.fillText(k+"fps "+e+"ms",d+6,50),f.fillText("menu "+c+"ms",d+6,66),f.fillText("work "+a+"ms",d+6,82),f.fillText("update "+(b.Rf?"on":"off"),d+6,98),f.fillText("focus "+(b.hasFocus?"on":"off"),d+6,114),f.globalAlpha=1);b.notification.update();b.Rc.drawImage(f.canvas,0,0)};c.prototype.$l=function(b){b.Ma=
this.Ma;this.gb?this.hg=b:(this.hg=null,this.gb=b,this.Gb.font=this.Di,this.gb.gd(),this.gb.Qg&&this.gb.Qg(this.gb.caller),this.qg(this))};c.prototype.Ki=function(){var b,c,a;if(this.gb&&(c=this.gb,this.Gb.font=this.Di,c.hd=this.Bd,c.Zd=this.Cd,c.bb=this.bb,c.Ki()||this.Hf)){for(b=0;b<c.Aa;b+=1)a=c.bc[b],c.Rl(a);this.Hf=!1}};c.prototype.qg=function(b){b.Hg||(requestAnimationFrame?requestAnimationFrame(b.ck):setTimeout(b.ck,16),b.Hg=!0)};c.prototype.b=function(b,c){var a=null,e,l="";if("touchend"===
c.type)l="mouseup",e=document.createEvent("MouseEvent"),e.initMouseEvent(l,!0,!0,window,1,b.eg,b.fg,b.cg,b.dg,!1,!1,!1,!1,0,null),c.target.dispatchEvent(e),c.preventDefault();else{if(1===c.touches.length)switch(c.type){case "touchstart":l="mousedown";break;case "touchmove":l="mousemove"}""!==l&&(a=c.changedTouches[0],e=document.createEvent("MouseEvent"),e.initMouseEvent(l,!0,!0,window,1,a.screenX,a.screenY,a.clientX,a.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(e),c.preventDefault(),b.eg=a.screenX,
b.fg=a.screenY,b.cg=a.clientX,b.dg=a.clientY)}};c.prototype.c=function(b,c){b.He||(b.hasFocus?b.ea&&b.nh&&b.nh(b.caller):(b.Rc.canvas.focus(),b.hasFocus=!0,b.notification.clear(!0,!1),b.nh&&b.nh(b.caller)),b.Ue(b,c),b.bb=!0,c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.G=function(b,c){b.He||(b.Ue(b,c),b.bb=!1,c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.ek=function(b){b.hasFocus||b.vi&&""!==b.notification.nd||(b.ea?b.Te?b.notification.L("Launch",
3600,!0):b.notification.L("Expand",3600,!0):b.notification.L("Click to control",3600,!0),b.notification.si=!0,b.vi=!0)};c.prototype.g=function(b,c){b.He||(b.ek(b),b.Ue(b,c),c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.s=function(b,c){b.He||(b.ek(b),c.stopPropagation&&c.stopPropagation(),c.preventDefault())};c.prototype.j=function(b,c){b.He||(b.hasFocus||b.notification.clear(!0,!1),b.Rc.canvas.blur(),b.hasFocus=!1,b.bb=!1,b.Bd=-1,b.Cd=-1,b.vi=!1,b.Hg||(b.qg(b),b.Gg=2),c.stopPropagation&&
c.stopPropagation(),c.preventDefault())};c.prototype.Ue=function(b,c){var a,e;c.pageX||c.pageY?(a=c.pageX,e=c.pageY):(a=c.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,e=c.clientY+document.body.scrollTop+document.documentElement.scrollTop);b.om();a-=b.offsetLeft;e-=b.offsetTop;b.Bd=a-1|0;b.Cd=e-1|0;b.Hg||(b.qg(b),b.Gg=2)};c.prototype.Oe=function(b){!b&&!this.notification.re()||this.Rf||this.qg(this);this.Rf=b};window.IconManager=h;window.Menu=e;window.MenuManager=c})();(function(){function B(n,h,c,e,b,m){this.Af=n;this.Bf=h;this.width=c;this.height=e;this.ao=b;this.Nm=m}function t(n){var h=n.lastIndexOf(".");-1!==h&&(n=n.substr(0,h));this.name=n;this.Pd=this.fd=this.Rd=-1;this.Ri=this.Pi=0;this.Ak=this.zk=!1;this.xf="";this.I=this.bg=this.Kb=!1;this.Xe=-1;this.Qc=!1;this.u=-1;this.height=this.width=0;this.Dd=this.Va=null;this.Uc=this.title="";this.Fd=2;this.lg=0;this.pf=this.Id=!1;this.kl=""}var h={Om:"XRLE",nl:"Pos",yk:"Gen",Ea:"",gm:":",hm:"ptkcs",Th:"012345678ceaiknjqrytwz-",
Md:"0123456789",Dk:"0123456",Xl:"01234",vl:["ce","ceaikn","ceaiknjqry","ceaiknjqrytwz"],Pn:[[1,2],[5,10,3,40,33,68],[69,42,11,7,98,13,14,70,41,97],[325,170,15,45,99,71,106,102,43,101,105,78,108]],maxWidth:8192,maxHeight:8192,ln:256,gc:new Uint32Array(256),ae:new Uint8Array(512),og:new Uint8Array(512),ra:!1,lf:!1,Gk:"history",Ek:"h",Yl:"v",Id:!1,Ni:0,nj:0,oj:0,index:0,Cm:function(n,h){var c,e,b,m,a=0,g=0,l=0,k,f,d=!1;e=h.length;for(c=m=0;c<e;)switch(b=h[c],c+=1,m){case 0:switch(b){case "!":m=1;f=!0;
break;case "O":case "o":case "*":case ".":m=2,g=a=l=0,--c,k=c}break;case 1:"\r"!==b&&(" "===b?f||(n.title+=b):(f=!1,n.title+=b));"\n"===b&&(m=0);break;case 2:switch(b){case "O":case "o":case "*":case ".":g+=1;break;case "\n":l+=1;g>a&&(a=g);g=0;break;case " ":case "\t":break;default:c=e,d=!0}}if(!d){2===m&&"\n"!==b&&(l+=1,g>a&&(a=g));n.height=l;n.width=a;n.Uc="Cells";n.Va=Array.b(n.height,(n.width-1>>4)+1);c=k;for(m=a=0;c<e;)switch(b=h[c],c+=1,b){case "\n":a+=1;m=0;break;case "O":case "o":case "*":n.Va[a][m>>
4]|=1<<(~m&15);m+=1;break;case ".":m+=1}this.ra=!0;this.ff(n,"")}},Am:function(n,h){var c,e,b,m,a,g,l,k,f,d;e=h.length;g=[];l=0;a=!1;f=k=0;d=!1;for(c=10;c<e;)switch(b=h[c],c+=1,b){case "\n":d&&(d=!1,2===m&&a&&(f=-f,a=!1),g[l]=[k,f],l+=1);m=f=k=0;break;case "-":a=!0;0===m?m=1:1===m&&(m=2);break;case " ":1===m&&(a&&(k=-k,a=!1),m=2);break;case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":0===m&&(m=1),1===m?k=10*k+parseInt(b,10):(f=10*f+parseInt(b,10),d=!0)}d&&
(2===m&&a&&(f=-f),g[l]=[k,f],l+=1);if(l){b=e=g[0][0];a=m=g[0][1];for(c=1;c<l;c+=1)k=g[c][0],f=g[c][1],k<e&&(e=k),k>b&&(b=k),f<m&&(m=f),f>a&&(a=f);n.height=a-m+1;n.width=b-e+1;n.Va=Array.b(n.height,(n.width-1>>4)+1);n.Uc="Life 1.06";this.ff(n,"");for(c=0;c<l;c+=1)k=g[c][0]-e,f=g[c][1]-m,n.Va[f][k>>4]|=1<<(~k&15)}},kk:function(n,h,c){var e,b,m,a,g,l,k,f,d,q=[],x=0,C=h.length;k=e="";f=!1;var F=0,r=0,L=!1,U=!1,v=0,D=0;for(c=c?10:0;c<C&&!U;)switch(b=h[c],c+=1,F){case 0:switch(b){case "#":F=2;break;case "*":case ".":F=
3,g=a=m=0,--c,l=c}break;case 2:switch(b){case "C":case "D":F=1;d=!0;break;case "N":F=0;break;case "R":F=4;break;case "P":F=5;r=2;L=!1;D=v=0;break;case "\n":F=0;break;default:F=1,d=!0}break;case 1:"\r"!==b&&(" "===b?d||(n.title+=b):(d=!1,n.title+=b));"\n"===b&&(F=0);break;case 4:switch(b){case "\n":F=0;break;case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":switch(r){case 1:k+=b;f=!0;break;case 0:e+=b,f=!0}break;case "/":r=1,f=!0}break;case 5:switch(b){case "\n":F=0;
4===r&&L&&(D=-D,L=!1);break;case "-":L=!0;2===r?r=3:3===r&&(r=4);break;case " ":3===r&&(L&&(v=-v,L=!1),r=4);break;case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":2===r&&(r=3),3===r?v=10*v+parseInt(b,10):D=10*D+parseInt(b,10)}break;case 3:switch(b){case "\n":m>a&&(a=m);m=0;g+=1;break;case "#":q[x]=new B(v,D,a,g,l,c-1);x+=1;F=2;break;case "*":case ".":m+=1;break;default:U=!0}}"\n"!==b&&(g+=1);3===F&&(q[x]=new B(v,D,a,g,l,c-1),x+=1);if(x&&!U){v=q[0].Af;D=q[0].Bf;
b=v+q[0].width-1;m=D+q[0].height-1;for(c=1;c<x;c+=1)q[c].Af<v&&(v=q[c].Af),q[c].Bf<D&&(D=q[c].Bf),q[c].Af+q[c].width-1>b&&(b=q[c].Af+q[c].width-1),q[c].Bf+q[c].height-1>m&&(m=q[c].Bf+q[c].height-1);n.height=m-D+1;n.width=b-v+1;n.Va=Array.b(n.height,(n.width-1>>4)+1);n.Uc="Life 1.05";f?(this.ff(n,e+"/"+k),n.xf=e+"/"+k):this.ff(n,"");for(c=0;c<x;c+=1)for(e=q[c].ao,k=q[c].Nm,m=q[c].Af-v,b=q[c].Bf-D,f=m,a=b;e<=k;)switch(b=h[e],e+=1,b){case "\n":a+=1;f=m;break;case "*":n.Va[a][f>>4]|=1<<(~f&15);f+=1;break;
default:f+=1}}},vj:function(n,h,c,e){var b=0,m=0,a=0,g=0,l=0;c&&(b=16);for(g=0;512>g;g+=32)for(l=0;16>l;l+=1){m=0;for(a=g+l&e;0<a;)m+=a&1,a>>=1;h===m&&(n[g+l+b]=!0)}},Um:function(n){return(n&7)<<6|(n&448)>>6|n&56},ul:function(n){return(n&4)<<6|(n&32)<<2|(n&256)>>2|(n&2)<<4|n&16|(n&128)>>4|(n&1)<<2|(n&8)>>2|(n&64)>>6},Yn:function(n,h,c){for(var e=0,e=0;4>e;e+=1)n[h]=c,h=this.ul(h);h=this.Um(h);for(e=0;4>e;e+=1)n[h]=c,h=this.ul(h)},Xn:function(n,h,c,e,b,m){var a=0,g=h-1,l=0,l=null;0===h||8===h?this.vj(n,
h,c,m):(3<g&&(g=6-g,a=495),l=this.vl[g].indexOf(e),-1!==l&&(l=this.Pn[g][l]^a,c&&(l|=16),this.Yn(n,l,b)))},Bl:function(h,p,c,e){for(var b=null,m=p.length,a=0,a=0;a<m;a+=1)b=p.charCodeAt(a)-48,this.vj(h,b,c,e)},Al:function(h,p,c){var e=null,b=null,m=p.length,a=!0,g=this.vl[3],l=0;p+=" ";for(l=0;l<m;l+=1)if(e=p.charCodeAt(l)-48,0<e&&8>=e||0===e&&c)for(b=p[l+1],-1===g.indexOf(b)&&this.vj(h,e,c,511),a=!0,"-"===b&&(a=!1,l+=1,b=p[l+1]);-1!==g.indexOf(b);)this.Xn(h,e,c,b,a,511),l+=1,b=p[l+1]},zm:function(h,
p){for(var c=0,c=0;512>c;c+=1)h[c]=0!==(p&1<<(c&7))?1:0!==(c&16)?1:0;this.og.set(this.ae)},Xg:function(h,p,c,e,b){for(var m=0,a=0,m=0;512>m;m+=1)h[m]=0;e||b?(e&&(a=254),b&&(a=186),this.Bl(h,p,!1,a),this.Bl(h,c,!0,a)):(this.Al(h,p,!1),this.Al(h,c,!0))},Ch:function(h,p){for(var c=0,e="",b="",c=0;c<=p;c+=1)e=this.Th[c],-1!==h.indexOf(e)&&(b+=this.Th[p-c]);return b},vh:function(h){for(var p=0,c="",e="",p=0;9>p;p+=1)c=this.Th[p],-1===h.indexOf(c)&&(e+=c);return e},pl:function(h){var p=h,c=0;if(-1!==h.indexOf(" "))for(p=
"";c<h.length;)" "!==h[c]&&(p+=h[c]),c+=1;return p},Jm:function(h,p){for(var c=!0,e=0,b=0,m=1;m<p.length&&c;)b=this.Md.indexOf(p[m]),-1!==b?e=10*e+b:(this.Ea="Illegal character in Wolfram rule",c=!1),m+=1;c&&(2>e||254<e?(this.Ea="Wolfram rule number must be 2-254",c=!1):0!==(e&1)?(this.Ea="Wolfram rule number must be even",c=!1):(this.zm(this.ae,e),h.Xe=e));return c},ff:function(n,p){var c=-1,e=-1,b=-1,e=-1,m=!1,a=null,g=null,l=null,k=null,b=l=null,k=this.Th,f=9,c=-1,d=!0,b=-1,c=h.Ek.length,b=-1,
e=h.Yl.length,q=8,b=0,b=AliasManager.Ym(p);null!==b&&(""===p&&(n.xf="Conway's Life"),p=b);p=p.toLowerCase();p=this.pl(p);if("w"===p[0])m=this.Jm(n,p);else{b=p.lastIndexOf(h.Ek);-1!==b&&b===p.length-c&&(n.I=!0,q=6,p=p.substr(0,p.length-c),k=this.Dk,f=this.Dk.length);b=p.lastIndexOf(h.Yl);-1!==b&&b===p.length-e&&(n.Qc=!0,q=4,p=p.substr(0,p.length-e),k=this.Xl,f=this.Xl.length);c=p.indexOf("/");-1===c&&(c=p.indexOf("_"));-1!==c&&(e=p.lastIndexOf("/"),-1===e&&(e=p.lastIndexOf("_")),e!==c&&(l=p.substring(e+
1),p=p.substr(0,e)));e=p.indexOf("b");b=p.indexOf("s");-1===c?-1===e||-1===b||0!==e&&0!==b?this.Ea="Unsupported rule name":e<b?(a=p.substring(e+1,b),g=p.substring(b+1)):(a=p.substring(b+1,e),g=p.substring(e+1)):e<b?(a=p.substring(0,c),g=p.substring(c+1)):(a=p.substring(c+1),g=p.substring(0,c));-1!==e&&a&&"b"===a[0]&&(a=a.substring(1));-1!==b&&g&&"s"===g[0]&&(g=g.substring(1));if(null!==l){b=0;for(c=n.u=0;b<l.length&&-1!==c;)c=this.Md.indexOf(l[b]),-1!==c?n.u=10*n.u+c:(this.Ea="Illegal character in generations number",
n.u=-1,a=null),b+=1;-1!==n.u&&(2>n.u||256<n.u)&&(this.Ea="Generations number must be 2-256",n.u=-1,a=null)}if(null!==a&&null!==g){m=!0;for(b=0;b<a.length;)c=k.indexOf(a[b]),-1===c?(this.Ea="Illegal character in birth specification",m=!1,b=a.length):(c>=f&&(d=!1),b+=1);if(m){for(b=0;b<g.length;)c=k.indexOf(g[b]),-1===c?(this.Ea="Illegal character in survival specification",m=!1,b=g.length):(c>=f&&(d=!1),b+=1);m&&(d&&-1!==a.indexOf("0")?-1!==g.indexOf(this.Md[q])?(a=this.vh(a),g=this.vh(g),l=this.Ch(g,
q),k=this.Ch(a,q),this.Xg(this.ae,l,k,n.I,n.Qc),this.og.set(this.ae)):(l=this.vh(a),k=this.vh(g),this.Xg(this.ae,l,k,n.I,n.Qc),l=this.Ch(g,q),k=this.Ch(a,q),this.Xg(this.og,l,k,n.I,n.Qc)):(this.Xg(this.ae,a,g,n.I,n.Qc),this.og.set(this.ae)))}}}return m},mk:function(n,p,c){for(var e=0,b=p.length-1,m=!1,a=!0,g=null,l=null,k=0,f=0,d=0,q=-1,x=0,C=this.gc,l=p[e];!m;){g=l;l=p[e+1];q=-1;switch(g){case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":x=10*x+parseInt(g,
10);break;case "b":q=0;break;case "o":q=1;break;case ".":q=0;break;case "z":q=7;n.Kb=!0;n.bg=!0;break;case "$":0===x&&(x=1);d+=x;x=0;f>k&&(k=f);f=0;break;case "!":0===x&&(x=1);d+=x;x=0;f>k&&(k=f);m=!0;break;default:a=!1,"A"<=g&&"X">=g?(a=!0,q=g.charCodeAt(0)-64):"p"<=g&&"y">g?"A"<=l&&"X">=l?(a=!0,q=24*(g.charCodeAt(0)-111)+(l.charCodeAt(0)-64),e+=1,l=p[e+1]):"x"===g&&(a=!0,n.Kb=!0,n.bg=!0,q=3):"y"===g&&("A"<=l&&"O">=l?(a=!0,q=24*(g.charCodeAt(0)-111)+(l.charCodeAt(0)-64),e+=1,l=p[e+1]):(a=!0,n.Kb=
!0,n.bg=!0,q=5))}if(0<=q)if(0===x&&(x=1),c||(0===C[q]&&(n.lg+=1),C[q]+=x,q>=n.Fd&&(n.Fd=q+1)),0<q&&c)for(;0<x;){n.Dd[d][f]=-1===n.u?q:0<=n.u-q?n.u-q:1;if(!n.Kb&&-1===n.u||n.Kb&&q&1||-1!==n.u&&1===q)n.Va[d][f>>4]|=1<<(~f&15);f+=1;--x}else f+=x,x=0;a||(" "===g||"\t"===g||"\n"===g?a=!0:m=n.pf=!0);e+=1;e===b&&(m||(0===x&&(x=1),d+=x,x=0,f>k&&(k=f)),m=!0)}c||(n.width=k,n.height=d,0<k&&0<d&&(k>h.maxWidth||d>h.maxHeight?(n.Id=!0,n.pf=!0):(n.Va=Array.b(d,(k-1>>4)+1),n.Dd=Array.c(d,k,0),n.Uc="RLE")));n.pf&&
(e=-1);return e},Wn:function(h,p){var c=p.indexOf("\n");-1===c&&(c=p.length);h.kl=p.substring(0,c).trim()},Oh:function(h,p,c){for(var e=!1;p<c&&!e;)" "===h[p]?p+=1:e=!0;return p},En:function(n){var p=n.indexOf("\n"),c=0,e=0,b=!1,m=0;-1===p&&(p=n.length);for(;m<p&&!b;)"="===n[m]?b=!0:" "!==n[m]?b=!0:m+=1;if(b&&"="===n[m]){m=this.Oh(n,m+1,p);for(b=!1;m<p&&!b;)e=h.Md.indexOf(n[m]),-1!==e?(c=10*c+e,m+=1):b=!0;this.Ni=c}},Fn:function(n){var p=n.indexOf("\n"),c=0,e=0,b=!1,m=!1,a=0,g=!1,l=0;-1===p&&(p=n.length);
for(;l<p&&!g;)"="===n[l]?g=!0:" "!==n[l]?g=!0:l+=1;if(g&&"="===n[l]&&(l=this.Oh(n,l+1,p),l<p)){"-"===n[l]&&(b=!0,l+=1);for(g=!1;l<p&&!g;)a=h.Md.indexOf(n[l]),-1!==a?(c=10*c+a,l+=1):g=!0;this.nj=b?-c:c;l=this.Oh(n,l,p);if(l<p&&","===n[l]&&(l+=1,l=this.Oh(n,l,p),l<p)){"-"===n[l]&&(m=!0,l+=1);for(g=!1;l<p&&!g;)a=h.Md.indexOf(n[l]),-1!==a?(e=10*e+a,l+=1):g=!0;this.oj=m?-e:e}}},lm:function(n){var p=n.indexOf(h.Om);0===p&&(p=n.indexOf(h.nl),-1!==p&&this.Fn(n.substr(p+h.nl.length)),p=n.indexOf(h.yk),-1!==
p&&this.En(n.substr(p+h.yk.length)))},Vn:function(h,p){var c=p.indexOf("\n");-1===c&&(c=p.length);h.name=p.substring(0,c).trim()},Wj:function(h,p){var c=p.indexOf("\n");-1===c&&(c=p.length);h.title+=p.substring(0,c)+" ";return c+1},dc:function(h){var p=0,c=-1;h+=" ";p=this.Md.indexOf(h[this.index]);if(-1!==p)for(c=0;-1!==p;)c=10*c+p,this.index+=1,p=this.Md.indexOf(h[this.index]);return c},Hm:function(h,p){var c=this.dc(p);h.fd=c;h.Pd=c},Im:function(h,p){var c=this.dc(p),e=-1,b=0,m=0,a="";if(-1!==
c){a=p[this.index];if("-"===a||"+"===a)this.index+=1,b=this.dc(p),-1===b?c=-1:"-"===a&&(b=-b);if(","===p[this.index])if(this.index+=1,e=this.dc(p),-1===e)c=-1;else{if(a=p[this.index],"-"===a||"+"===a)this.index+=1,m=this.dc(p),-1===m?c=-1:"-"===a&&(m=-m)}else e=c}0!==b&&0!==m&&(c=-1);0===c&&0===e&&(c=-1);0===b&&0===m||0!==c&&0!==e||(c=-1);h.fd=c;h.Pd=e;h.Pi=b;h.Ri=m},Em:function(h,p){var c=this.dc(p),e=-1,b=0,m=0,a=!1,g=!1,l="";if(-1!==c){l=p[this.index];"*"===l&&(a=!0,this.index+=1,l=p[this.index]);
if("-"===l||"+"===l)b=this.dc(p),-1===b?c=-1:"-"===l&&(b=-b),this.index+=1,l=p[this.index];if(","===l)if(this.index+=1,e=this.dc(p),-1===e)c=-1;else{if(l=p[this.index],"*"===l&&(g=!0,this.index+=1,l=p[this.index]),"-"===l||"+"===l)this.index+=1,m=this.dc(p),-1===m?c=-1:"-"===l&&(m=-m)}else e=c}a&&g&&(c=-1);0!==b&&0!==m&&(c=-1);if(a&&0!==m||g&&0!==b)c=-1;if(0===c||0===e)c=-1;h.fd=c;h.Pd=e;h.Pi=b;h.Ri=m;h.zk=a;h.Ak=g},Dm:function(h,p){var c=this.dc(p),e=-1;-1!==c&&(","===p[this.index]?(this.index+=
1,e=this.dc(p),-1===e&&(c=-1)):e=c);h.fd=c;h.Pd=e},Fm:function(h,p){var c=this.dc(p),e=-1;-1!==c&&(","===p[this.index]?(this.index+=1,e=this.dc(p),-1===e&&(c=-1)):e=c);0===c&&0===e&&(c=-1);h.fd=c;h.Pd=e},Bm:function(h,p){var c=!1;p=this.pl(p);if(""!==p){h.Rd=this.hm.indexOf(p[0]);if(-1!==h.Rd)switch(this.index=1,h.Rd){case 0:this.Fm(h,p);break;case 1:this.Im(h,p);break;case 2:this.Em(h,p);break;case 3:this.Dm(h,p);break;case 4:this.Hm(h,p);break;default:h.fd=-1}-1!==h.fd?c=!0:(h.Rd=-1,this.reason=
"Invalid bounded grid definition '"+p+"'")}return c},Gm:function(n,p){var c=p.indexOf("\n"),e=p.indexOf("rule"),b=-1,m=-1,a=h.Gk.length,g="";-1===c&&(c=p.length);-1!==e&&(g=p.substring(e+4,c).trim(),"="===g[0]&&(g=g.substring(1).trim()));n.xf=g;g=g.toLowerCase();b=g.lastIndexOf(h.gm);-1!==b&&(this.Bm(n,g.substring(b+1))?g=g.substr(0,b).trim():b=-2);m=g.lastIndexOf(h.Gk);-1!==m&&m===g.length-a&&(n.Kb=!0,g=g.substr(0,g.length-a).trim());this.ff(n,g)&&-2!==b?this.ra=!0:this.lf=!0;return c+1},fm:function(h){var p=
"";switch(h){case 0:p="Plane";break;case 1:p="Torus";break;case 2:p="Klein bottle";break;case 3:p="Cross-surface";break;case 4:p="Sphere";break;default:p="(unknown)"}return p},lk:function(n,p){var c=0,e=p.length,b=null,m=!1,a=!1,b=this.gc,g=h.ln,l=0;n.Rd=-1;n.width=0;n.height=0;n.Id=!1;n.Va=null;n.Dd=null;n.pf=!1;n.Kb=!1;n.bg=!1;n.I=!1;n.Xe=-1;n.Qc=!1;n.u=-1;n.title="";n.Fd=2;for(l=n.lg=0;l<g;l+=1)b[l]=0;for(p+=" ";c<e&&!n.pf;)switch(b=p[c],b){case "#":c+=1;b=p[c];c+=1;switch(b){case "N":this.Vn(n,
p.substring(c));break;case "O":this.Wn(n,p.substring(c));break;case "C":this.lm(p.substring(c))}c+=this.Wj(n,p.substring(c));break;case "x":c+=this.Gm(n,p.substring(c));a=!0;break;case "\n":c+=1;break;default:m?c+=this.Wj(n,p.substring(c)):(m=!0,-1!==this.mk(n,p.substring(c),!1)&&(c+=this.mk(n,p.substring(c),!0)))}a||(this.ff(n,"")?this.ra=!0:this.lf=!0);if(-1!==n.Rd){if(n.width>n.fd&&0!==n.fd||n.height>n.Pd&&0!==n.Pd)this.Ea="Pattern larger than bounded grid",this.ra=!1;n.I&&(this.Ea="Bounded grid not valid for Hex rules",
this.ra=!1,n.Rd=-1)}-1!==n.u&&n.Kb&&(this.Ea="[R]History not valid with Generations",this.ra=n.Kb=!1);this.ra&&(n.bg?8<n.Fd&&(this.Ea="Illegal state in pattern for Niemiec",this.ra=!1):n.Kb?7<n.Fd&&(this.Ea="Illegal state in pattern for [R]History",this.ra=!1):-1!==n.u&&n.Fd>n.u&&(this.Ea="Illegal state in pattern for Generations",this.ra=!1))},create:function(h,p){var c=new t(h);this.ra=this.lf=this.Id=!1;this.Ea="";this.oj=this.nj=this.Ni=0;"!"===p.substr(0,1)||"O"===p.substr(0,1)||"."===p.substr(0,
1)||"*"===p.substr(0,1)||"o"===p.substr(0,1)?(this.Cm(c,p),this.ra=!0):"#Life 1.05"===p.substr(0,10)?(this.kk(c,p,!0),this.ra=!0):"#Life 1.06"===p.substr(0,10)?(this.Am(c,p),this.ra=!0):"#"===p[0]||"x"===p[0]?(this.lk(c,p),null!==c.Va||c.Id||c.pf||(this.kk(c,p,!1),this.ra=!0,this.lf=!1,c.Dd=null,c.Kb=!1,c.Fd=2,c.lg=0)):this.lk(c,p);c.Id&&(this.Ea="Pattern too big (maximum "+this.maxWidth+"x"+this.maxHeight+")",this.Id=!0,this.ra=!1);null===c.Va&&(c.Id||(this.Ea="Invalid pattern"),c=null,this.ra=!1);
return c}};window.PatternManager=h;window.Pattern=t})();(function(){function B(){this.yi=[]}B.prototype.add=function(h,n,p){this.yi[this.yi.length]=h<<16|n<<8|p};var t={sd:[],ng:[],Jk:!1,Bi:[48,48,48,0,255,127,127,0,255,148,148,148,128,255,0,255,0,128,0,128,255,1,159,0,159,0,1,255,254,96,0,1,159,96,255,254,254,96,255,126,125,21,21,126,125,125,21,126,255,116,116,116,255,116,116,116,255,228,227,0,28,255,27,255,27,28,0,228,227,227,0,228,27,28,255,59,59,59,234,195,176,175,196,255,171,194,68,194,68,171,68,171,194,72,184,71,184,71,72,71,72,184,169,255,188,252,
179,63,63,252,179,179,63,252,80,9,0,0,80,9,9,0,80,255,175,250,199,134,213,115,100,95,188,163,0,0,188,163,163,0,188,203,73,0,0,203,73,73,0,203,94,189,0,189,0,94,0,94,189,187,243,119,55,125,32,125,32,55,32,55,125,255,102,185,102,185,255,120,209,168,208,166,119,135,96,192,182,255,41,83,153,130,247,88,55,89,247,55,88,55,247,87,75,0,0,87,75,75,0,87,200,135,59,51,213,127,255,255,162,255,37,182,37,182,255,228,57,117,142,163,210,57,117,228,193,255,246,188,107,123,123,194,107,145,59,5,5,145,59,59,5,145,119,
39,198,40,197,23,197,23,40,23,40,197,178,199,158,255,201,121,134,223,223,39,253,84,149,203,15,203,15,149,15,149,203,152,144,90,143,75,139,71,97,132,224,65,219,65,219,224,255,255,40,218,223,69,74,241,0,241,0,74,0,74,241,122,171,51,220,211,227,61,127,87,90,124,176,36,39,13,165,142,255,255,38,255,38,255,255,83,50,107,224,142,165,255,181,9,9,255,181,181,9,255,140,238,70,255,74,5,74,5,255,138,84,51,31,172,101,177,115,17,221,0,0,0,221,0,0,0,221,220,255,200,0,41,50,255,150,205,178,45,116,113,255,189,47,
0,44,40,119,171,205,107,255,177,115,172,133,73,236,109,0,168,168,46,207,188,181,203,212,188,35,90,97,52,39,209,184,41,164,152,227,46,70,46,70,227,211,156,255,98,146,222,136,56,95,102,54,152,86,142,0,142,0,86,0,86,142,86,223,96,246,135,46,4,208,120,212,233,158,177,92,214,104,147,88,149,240,147,227,93,148,72,255,133,209,27,194,147,255,255,44,93,0,160,36,158,182,233,0,96,94,217,218,103,88,163,154,38,118,114,139,94,0,43,113,164,174,168,188,114,0,23,119,42,86,93,255,226,202,80,191,155,255,158,136,0,247,
62,234,146,88,0,183,229,110,212,36,0,143,161,105,191,210,133,164,0,41,30,89,164,0,132,30,89,42,178,222,217,121,22,11,221,107,22,69,151,255,45,158,3,158,3,45,3,45,158,86,42,29,9,122,22,213,209,110,53,221,57,159,101,91,93,140,45,247,213,37,185,34,0,0,185,34,34,0,185,236,0,172,210,180,78,231,107,221,162,49,43,43,162,49,49,43,162,36,248,213,114,0,214,213,36,248,149,34,243,185,158,167,144,122,224,34,245,149,255,31,98,31,98,255,152,200,193,255,80,95,128,123,63,102,62,72,255,62,148,151,226,108,159,99,255,
226,255,126,98,223,136,80,95,255,225,153,15,73,41,211,212,71,41,83,217,187,180,235,79,0,166,127,251,135,243,229,41,0,41,0,229,82,255,216,141,174,249,249,215,255,167,31,79,31,79,167,213,102,185,255,215,83,4,2,40,224,171,220,41,0,4,6,50,90,221,15,113,15,113,221,33,0,115,108,23,90,182,215,36],Ai:[],Jb:{aliceblue:["AliceBlue",240,248,255],antiquewhite:["AntiqueWhite",250,235,215],aqua:["Aqua",0,255,255],aquamarine:["Aquamarine",127,255,212],azure:["Azure",240,255,255],beige:["Beige",245,245,220],bisque:["Bisque",
255,228,196],black:["Black",0,0,0],blanchedalmond:["BlanchedAlmond",255,235,205],blue:["Blue",0,0,255],blueviolet:["BlueViolet",138,43,226],brown:["Brown",165,42,42],burlywood:["BurlyWood",222,184,135],cadetblue:["CadetBlue",95,158,160],chartreuse:["Chartreuse",127,255,0],chocolate:["Chocolate",210,105,30],coral:["Coral",255,127,80],cornflowerblue:["CornflowerBlue",100,149,237],cornsilk:["Cornsilk",255,248,220],crimson:["Crimson",220,20,60],cyan:["Cyan",0,255,255],darkblue:["DarkBlue",0,0,139],darkcyan:["DarkCyan",
0,139,139],darkgoldenrod:["DarkGoldenRod",184,134,11],darkgray:["DarkGray",169,169,169],darkgreen:["DarkGreen",0,100,0],darkkhaki:["DarkKhaki",189,183,107],darkmagenta:["DarkMagenta",139,0,139],darkolivegreen:["DarkOliveGreen",85,107,47],darkorange:["DarkOrange",255,140,0],darkorchid:["DarkOrchid",153,50,204],darkred:["DarkRed",139,0,0],darksalmon:["DarkSalmon",233,150,122],darkseagreen:["DarkSeaGreen",143,188,143],darkslateblue:["DarkSlateBlue",72,61,139],darkslategray:["DarkSlateGray",47,79,79],
darkturquoise:["DarkTurquoise",0,206,209],darkviolet:["DarkViolet",148,0,211],deeppink:["DeepPink",255,20,147],deepskyblue:["DeepSkyBlue",0,191,255],dimgray:["DimGray",105,105,105],dodgerblue:["DodgerBlue",30,144,255],firebrick:["FireBrick",178,34,34],floralwhite:["FloralWhite",255,250,240],forestgreen:["ForestGreen",34,139,34],fuchsia:["Fuchsia",255,0,255],gainsboro:["Gainsboro",220,220,220],ghostwhite:["GhostWhite",248,248,255],gold:["Gold",255,215,0],goldenrod:["GoldenRod",218,165,32],gray:["Gray",
128,128,128],green:["Green",0,128,0],greenyellow:["GreenYellow",173,255,47],honeydew:["HoneyDew",240,255,240],hotpink:["HotPink",255,105,180],indianred:["IndianRed",205,92,92],indigo:["Indigo",75,0,130],ivory:["Ivory",255,255,240],khaki:["Khaki",240,230,140],lavender:["Lavender",230,230,250],lavenderblush:["LavenderBlush",255,240,245],lawngreen:["LawnGreen",124,252,0],lemonchiffon:["LemonChiffon",255,250,205],lightblue:["LightBlue",173,216,230],lightcoral:["LightCoral",240,128,128],lightcyan:["LightCyan",
224,255,255],lightgoldenrodyellow:["LightGoldenRodYellow",250,250,210],lightgray:["LightGray",211,211,211],lightgreen:["LightGreen",144,238,144],lightpink:["LightPink",255,182,193],lightsalmon:["LightSalmon",255,160,122],lightseagreen:["LightSeaGreen",32,178,170],lightskyblue:["LightSkyBlue",135,206,250],lightslategray:["LightSlateGray",119,136,153],lightsteelblue:["LightSteelBlue",176,196,222],lightyellow:["LightYellow",255,255,224],lime:["Lime",0,255,0],limegreen:["LimeGreen",50,205,50],linen:["Linen",
250,240,230],magenta:["Magenta",255,0,255],maroon:["Maroon",128,0,0],mediumaquamarine:["MediumAquaMarine",102,205,170],mediumblue:["MediumBlue",0,0,205],mediumorchid:["MediumOrchid",186,85,211],mediumpurple:["MediumPurple",147,112,219],mediumseagreen:["MediumSeaGreen",60,179,113],mediumslateblue:["MediumSlateBlue",123,104,238],mediumspringgreen:["MediumSpringGreen",0,250,154],mediumturquoise:["MediumTurquoise",72,209,204],mediumvioletred:["MediumVioletRed",199,21,133],midnightblue:["MidnightBlue",
25,25,112],mintcream:["MintCream",245,255,250],mistyrose:["MistyRose",255,228,225],moccasin:["Moccasin",255,228,181],navajowhite:["NavajoWhite",255,222,173],navy:["Navy",0,0,128],oldlace:["OldLace",253,245,230],olive:["Olive",128,128,0],olivedrab:["OliveDrab",107,142,35],orange:["Orange",255,165,0],orangered:["OrangeRed",255,69,0],orchid:["Orchid",218,112,214],palegoldenrod:["PaleGoldenRod",238,232,170],palegreen:["PaleGreen",152,251,152],paleturquoise:["PaleTurquoise",175,238,238],palevioletred:["PaleVioletRed",
219,112,147],papayawhip:["PapayaWhip",255,239,213],peachpuff:["PeachPuff",255,218,185],peru:["Peru",205,133,63],pink:["Pink",255,192,203],plum:["Plum",221,160,221],powderblue:["PowderBlue",176,224,230],purple:["Purple",128,0,128],rebeccapurple:["RebeccaPurple",102,51,153],red:["Red",255,0,0],rosybrown:["RosyBrown",188,143,143],royalblue:["RoyalBlue",65,105,225],saddlebrown:["SaddleBrown",139,69,19],salmon:["Salmon",250,128,114],sandybrown:["SandyBrown",244,164,96],seagreen:["SeaGreen",46,139,87],
seashell:["SeaShell",255,245,238],sienna:["Sienna",160,82,45],silver:["Silver",192,192,192],skyblue:["SkyBlue",135,206,235],slateblue:["SlateBlue",106,90,205],slategray:["SlateGray",112,128,144],snow:["Snow",255,250,250],springgreen:["SpringGreen",0,255,127],steelblue:["SteelBlue",70,130,180],tan:["Tan",210,180,140],teal:["Teal",0,128,128],thistle:["Thistle",216,191,216],tomato:["Tomato",255,99,71],turquoise:["Turquoise",64,224,208],violet:["Violet",238,130,238],wheat:["Wheat",245,222,179],white:["White",
255,255,255],whitesmoke:["WhiteSmoke",245,245,245],yellow:["Yellow",255,255,0],yellowgreen:["YellowGreen",154,205,50]},uo:function(){return this.Ai},gk:function(h){for(var n=0,p=!1,c=[];n<this.ng.length&&!p;)h===this.ng[n][0]?p=!0:n+=1;p&&(c=this.sd[this.ng[n][1]].yi);return c},$:function(h){this.ng[this.ng.length]=h},gd:function(){var h=null,n=0,p=h=0;if(!this.Jk){this.Jk=!0;for(h=p=0;256>h;h+=1)this.Ai[h]=this.Bi[p]<<16|this.Bi[p+1]<<8|this.Bi[p+2],p+=3;h=new B;h.add(0,0,0);h.add(0,255,0);h.add(0,
0,128);h.add(216,255,216);h.add(255,0,0);h.add(255,255,0);h.add(96,96,96);h.add(255,128,128);this.sd[n]=h;t.$(["LifeHistory",n]);n+=1;h=new B;h.add(48,48,48);h.add(0,128,255);h.add(255,255,255);h.add(255,128,0);this.sd[n]=h;t.$(["WireWorld",n]);n+=1;h=new B;h.add(0,0,0);h.add(255,255,255);h.add(144,128,112);h.add(144,90,45);h.add(192,192,192);h.add(255,0,0);h.add(255,128,0);h.add(255,255,0);h.add(0,255,0);h.add(0,255,208);h.add(0,192,255);h.add(0,0,255);h.add(192,0,255);h.add(255,64,160);h.add(112,
128,144);h.add(0,128,0);h.add(0,96,128);h.add(160,0,80);h.add(40,40,40);h.add(220,220,220);h.add(140,60,0);h.add(0,160,0);h.add(160,160,250);this.sd[n]=h;t.$(["WWE",n]);t.$(["WWE2",n]);t.$(["WWEJ",n]);t.$(["WWEJ2",n]);t.$(["WWEJ3",n]);n+=1;h=new B;h.add(30,30,30);h.add(0,128,128);h.add(0,255,0);h.add(255,0,0);h.add(255,128,0);h.add(255,255,0);h.add(128,0,128);h.add(128,128,128);h.add(255,255,255);h.add(128,128,255);this.sd[n]=h;t.$(["Novoloop",n]);n+=1;h=new B;h.add(0,0,0);h.add(255,128,0);h.add(255,
0,0);h.add(0,255,0);h.add(0,0,255);h.add(0,190,0);h.add(0,140,0);h.add(255,255,255);h.add(80,80,80);h.add(95,95,95);h.add(128,128,128);h.add(0,64,0);h.add(255,255,0);h.add(64,0,164);h.add(64,32,64);h.add(80,80,100);h.add(95,95,125);h.add(128,255,128);h.add(64,100,100);this.sd[n]=h;t.$(["shapeloop",n]);t.$(["shapeloop-b",n]);t.$(["shapeloop2",n]);t.$(["shapeloop-ltd",n]);t.$(["2armshapeloop-a",n]);t.$(["2armshapeloop2-a",n]);t.$(["shapeloop2a-bounded",n]);t.$(["foodshapeloop",n]);t.$(["foodshapeloop2",
n]);n+=1;h=new B;h.add(0,0,0);h.add(255,255,255);h.add(255,0,0);h.add(0,128,255);h.add(170,0,0);h.add(85,0,0);this.sd[n]=h;t.$(["b3s23mmg",n]);n+=1;h=new B;h.add(0,0,0);h.add(255,0,0);h.add(0,255,0);h.add(0,0,255);h.add(255,255,0);h.add(0,255,255);h.add(255,0,255);h.add(92,36,110);h.add(0,99,140);h.add(176,196,222);h.add(115,61,26);this.sd[n]=h;t.$(["_235_4_O3",n]);t.$(["0_245_5_O4",n]);t.$(["0_245_5_O3",n]);t.$(["58_27_4_O3",n]);t.$(["0_24_4H_O3",n]);t.$(["2_235_4H_O3",n]);t.$(["24_235_4H_O3",n]);
t.$(["3_25_4_O2",n]);t.$(["Snake_O5",n]);t.$(["Mites",n]);t.$(["Mites2",n]);t.$(["Mites3",n]);n+=1;h=new B;h.add(48,48,48);h.add(255,128,0);h.add(0,0,255);h.add(32,32,255);h.add(64,64,255);h.add(96,96,255);this.sd[n]=h;t.$(["Alpha-1",n])}}};window.ColourManager=t})();window.BoundingBox=function(B,t,h,n){this.ja=B;this.ha=t;this.la=h;this.oa=n};(function(){function B(h,n){this.index=n;this.T=h.Ff[n];this.xa=h.af[n];this.g=h.sh[n];this.c=h.Wg[n];this.A=new BoundingBox(0,0,0,0);this.elapsedTime=this.Mc=this.Ic=this.Vc=0;this.m=-1;this.Xb=this.R=0;this.b=h}function t(){var h=0,n=0,p=0;this.kb=[];this.dd=[];this.Ff=[];this.af=[];this.sh=[];this.Wg=[];this.b=0;this.index=-1;this.kn=51;this.od=null;this.le=new Uint8Array(256);for(h=0;h<this.le.length;h+=1){n=h;for(p=0;n;p+=1)n&=n-1;this.le[h]=p}}B.prototype.On=function(h,n,p){var c=n.length,e=
n[0].length,b=0,m=0,a=0,g=0,l=0,k=0,f=null,d=0,q=p.Bg;p=p.Cg;var x=0,C=0,F=this.g,r=0,L=F[r],U=L.length,v=0;Array.j(this.T,n);for(m=0;m<c;m+=1){f=this.T[m];for(b=x=0;b<e;b+=1)if(d=f[b])for(a=15;0<=a;--a)0!==(d&1<<a)&&(l=C,g=x,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l+1][g]=v>>16&255,h[l+1][g+1]=v>>24,l+=2,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l+1][g]=v>>16&255,h[l+1][g+1]=v>>24,l+=2,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l+1][g]=v>>16&255,h[l+1][g+1]=v>>24,l+=2,v=L[k],k+=1,
h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l+1][g]=v>>16&255,h[l+1][g+1]=v>>24,l+=2,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l+1][g]=v>>16&255,h[l+1][g+1]=v>>24,l+=2,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l+1][g]=v>>16&255,h[l+1][g+1]=v>>24,l+=2,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l+1][g]=v>>16&255,h[l+1][g+1]=v>>24,l+=2,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l+1][g]=v>>16&255,h[l+1][g+1]=v>>24,k>=U&&(r+=1,L=F[r],k=0)),x+=q;else x+=q<<4;C+=p}};B.prototype.Sn=function(h,n,
p){var c=n.length,e=n[0].length,b=0,m=0,a=0,g=0,l=0,k=0,f=null,d=0,a=0,q=p.Bg;p=p.Cg;var x=0,C=0,F=this.g,r=0,L=F[r],U=L.length,v=F.length,g=this.b.le;Array.j(n,this.T);for(m=0;m<c;m+=1)for(f=n[m],b=0;b<e;b+=1)(d=f[b])&&(a+=g[d>>8]+g[d&255]);if(a)for(m=0;m<c;m+=1){f=n[m];for(b=x=0;b<e;b+=1)if(d=f[b])for(a=15;0<=a;--a)0!==(d&1<<a)&&(l=C,g=x,L[k]=h[l][g]|h[l][g+1]<<8|h[l+1][g]<<16|h[l+1][g+1]<<24,k+=1,l+=2,L[k]=h[l][g]|h[l][g+1]<<8|h[l+1][g]<<16|h[l+1][g+1]<<24,k+=1,l+=2,L[k]=h[l][g]|h[l][g+1]<<8|h[l+
1][g]<<16|h[l+1][g+1]<<24,k+=1,l+=2,L[k]=h[l][g]|h[l][g+1]<<8|h[l+1][g]<<16|h[l+1][g+1]<<24,k+=1,l+=2,L[k]=h[l][g]|h[l][g+1]<<8|h[l+1][g]<<16|h[l+1][g+1]<<24,k+=1,l+=2,L[k]=h[l][g]|h[l][g+1]<<8|h[l+1][g]<<16|h[l+1][g+1]<<24,k+=1,l+=2,L[k]=h[l][g]|h[l][g+1]<<8|h[l+1][g]<<16|h[l+1][g+1]<<24,k+=1,l+=2,L[k]=h[l][g]|h[l][g+1]<<8|h[l+1][g]<<16|h[l+1][g+1]<<24,k+=1,k>=U&&(r+=1,k=0,r>=v&&(Array.G(F),v+=1)),L=F[r]),x+=q;else x+=q<<4;C+=p}};B.prototype.Nn=function(h,n,p){var c=n.length,e=n[0].length,b=0,m=
0,a=0,g=0,l=0,k=0,f=null,d=0,q=p.Bg<<3;p=p.Cg;var x=0,C=0,F=this.c,r=0,L=F[r],U=L.length,v=0;Array.j(this.xa,n);for(m=0;m<c;m+=1){f=n[m];for(b=x=0;b<e;b+=1)if(d=f[b])for(a=15;0<=a;--a){if(0!==(d&1<<a))for(g=x;g<x+q;g+=4)l=C,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=
v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],
k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>
24,l+=1,v=L[k],k+=1,h[l][g]=v&255,h[l][g+1]=v>>8&255,h[l][g+2]=v>>16&255,h[l][g+3]=v>>24,k>=U&&(r+=1,L=F[r],k=0);x+=q}else x+=q<<4;C+=p}};B.prototype.Qn=function(h,n,p){var c=n.length,e=n[0].length,b=0,m=0,a=0,g=0,l=0,k=0,f=null,d=0,a=0,q=p.Bg<<3;p=p.Cg;var x=0,C=0,F=this.c,r=0,L=F[r],U=L.length,v=F.length,g=this.b.le;Array.j(n,this.xa);for(m=0;m<c;m+=1)for(f=n[m],b=0;b<e;b+=1)(d=f[b])&&(a+=g[d>>8]+g[d&255]);if(a)for(m=0;m<c;m+=1){f=n[m];for(b=x=0;b<e;b+=1)if(d=f[b])for(a=15;0<=a;--a){if(0!==(d&1<<
a))for(g=x;g<x+q;g+=4)l=C,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+
2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,l+=1,L[k]=h[l][g]|h[l][g+1]<<
8|h[l][g+2]<<16|h[l][g+3]<<24,k+=1,k>=U&&(r+=1,k=0,r>=v&&(Array.G(F),v+=1),L=F[r]);x+=q}else x+=q<<4;C+=p}};t.prototype.bufferSize=function(){for(var h=0,n=0;n<this.dd.length;)h+=this.Ff[n].length*this.Ff[n][0].length*2,h+=this.af[n].length*this.af[n][0].length*2,h+=this.sh[n].length*this.sh[n][0].length*4,h+=this.Wg[n].length*this.Wg[n][0].length*4,n+=1;return h};t.prototype.lo=function(){for(var h=0,n=0;n<this.dd.length;)this.dd[n]&&(h+=1),n+=1;return h};t.prototype.reset=function(){var h=0,n=-1;
this.kb=[];this.index=-1;this.od&&(n=this.od.index);for(;h<this.dd.length;)h!==n&&(this.dd[h]=!1),h+=1};t.prototype.$n=function(h){var n=null;0<this.kb.length&&(n=this.kb[this.index],n.m>h&&(n=null,0<this.index&&(this.c(this.kb[this.index].index),this.kb.pop(),--this.index,0<=this.index&&(n=this.kb[this.index]))));return n};t.prototype.pg=function(h,n,p,c,e,b,m,a,g,l,k,f,d,q,x,C){var F=null,F=0;if(q)F=this.od;else if(51>this.kb.length)F=this.zi(k,f,!1),this.index+=1;else{this.index+=1;if(51<=this.index){this.index=
50;this.c(this.kb[0].index);for(F=0;50>F;F+=1)this.kb[F]=this.kb[F+1];this.kb.pop();this.zi(k,f,!1)}F=this.kb[this.index]}F.R=x;F.Xb=C;F.Sn(h,n,d);F.Qn(p,c,d);F.A.ja=e.ja;F.A.la=e.la;F.A.ha=e.ha;F.A.oa=e.oa;F.Vc=b;F.Ic=m;F.Mc=a;F.elapsedTime=g;F.m=l};t.prototype.c=function(h){this.dd[h]=!1};t.prototype.j=function(h,n){for(var p=0,c=0,p=!1;c<this.b&&!p;)this.dd[c]?c+=1:p=!0;p?(p=c,this.dd[c]=!0):(this.Ff[c]=Array.b(n,h),this.af[c]=Array.b(n,h),this.sh[c]=Array.J(128),this.Wg[c]=Array.J(1024),this.dd[c]=
!0,this.b+=1,p=c);return p};t.prototype.zi=function(h,n,p){h=this.j(h,n);h=new B(this,h);p?this.od=h:this.kb[this.kb.length]=h;return h};t.prototype.g=function(h,n,p,c){var e=h.T,b=h.xa,m=h.T.length,a=m>>1,g=h.T[0].length>>1,l=0,k=h.index;this.Ff[k]=Array.b(p,n);this.af[k]=Array.b(p,n);h.T=this.Ff[k];for(h.xa=this.af[k];l<m;)h.T[l+a].set(e[l],g),h.xa[l+a].set(b[l],g),l+=1;h.A.ja+=c;h.A.la+=c;h.A.ha+=c;h.A.oa+=c};t.prototype.Mn=function(h,n,p){var c=0,e=this.kb.length;for(this.g(this.od,h,n,p);c<e;)this.g(this.kb[c],
h,n,p),c+=1};window.SnapshotManager=t;window.Snapshot=B})();(function(){function B(c,e,b){this.wa=e;this.qa=c;this.Db=b}function t(c,e,b){this.red=c;this.green=e;this.blue=b}function h(c,e){this.F=c;this.U=e}function n(c,e,b,m,a){this.R=0;this.Qh=-1;this.Xb=0;this.Ca=this.ga=this.pb=-1;this.Tf=this.Sf=0;this.bk=this.ui=!1;this.Hh=ViewConstants.nk;this.Bc=[];this.Cc=[];this.Bc[0]=new Int32Array(p.qj);this.Cc[0]=new Int32Array(p.qj);this.Df=0;this.$e=4294967295;this.Xe=-1;this.Qc=this.Eh=this.I=!1;this.u=-1;this.ud=this.tc=!1;this.elapsedTime=0;this.fc=new SnapshotManager;
this.Ce=p.ug;this.$a=this.Nl=!1;this.Pa=this.A=null;this.title="LifeViewer";this.width=m;this.height=a;this.Bg=2;this.Cg=16;this.c=this.width>>4;this.g=this.height>>4;this.od=this.fc.zi((this.c-1>>4)+1,this.g,!0);this.o=e;this.i=b;this.Mc=this.Ic=this.Vc=0;this.Y=64;this.S=127;this.Dc=63;this.Ac=1;this.dj=this.Db=0;this.me=this.Kc=this.l=1;this.fk=30;this.B=this.m=0;this.zoom=6;this.v=this.D=0;this.Lb=.1;this.P=0;this.j=1;this.J=this.G=0;this.b=.1;this.Vd=littleEndian;this.Cb=[];this.fb=this.fa=this.ta=
this.oc=this.Ha=this.Ja=null;this.Nb=12;this.Eb=this.wb=this.ze=null;this.we=c;this.ya=this.sa=0;this.T=Array.b(this.g,(this.c-1>>4)+1);this.ka=Array.b(this.g,(this.c-1>>4)+1);this.Ya=Array.c(this.height,(this.width-1>>3)+1,0);this.ob=Array.c(this.height,(this.width-1>>3)+1,0);this.La=Array.s(this.Ya);this.aa=Array.s(this.ob);this.wd=new Uint32Array(this.o);this.Ia=new Uint8Array((this.width-1>>3)+1);this.ub=new Uint16Array(this.c>>4);this.vd=new Uint8Array(this.width);this.ba=Array.c(this.height,
this.width,this.Db);this.s=Array.c(this.height,this.width,this.Db);this.ua=Array.g(this.s,1);this.va=Array.g(this.s,3);this.Ka=Array.g(this.s,7);this.Ig=Array.s(this.ba);this.Ud=this.ed=this.nc=this.mc=this.V=this.zb=null;this.xa=Array.b(this.g,(this.c-1>>4)+1);this.ia=Array.b(this.g,(this.c-1>>4)+1);this.Xc=this.Tb=this.Ub=this.Qa=null;this.ec=new Uint8Array(256);this.Yb=new Uint8Array(256);this.Vb=new Uint8Array(256);this.md=new Uint32Array(256);this.Hi=this.Gi=0;this.ue=new Uint8Array(p.Ck);this.ve=
new Uint8Array(p.Ck);this.Fc=new Uint8Array(p.Si);this.Jc=new Uint8Array(p.Si);this.Lg=new Uint8Array(2*(this.S+1));this.Mg=Array.c(65536,16,0);this.Zb=this.th=5263440;this.Ge=-1;this.Oc=this.Qi=7368816;this.Ee=-1;this.ei=13750737;this.Mf=15066597;this.Qd=10;this.le=new Uint8Array(256);this.xe=new Uint8Array(65536);this.Sd=new Uint16Array((this.width-1>>4)+1);this.Na=8192}var p={qj:4096,Ck:512,Si:262144,ug:50,ak:255,uc:1,yc:2,zc:4,qc:8,pd:16,qd:32,bd:64,cd:128};B.prototype.Zm=function(){var c=!0;
this.wa.F.Yi(this.wa.U)&&this.qa.F.Yi(this.qa.U)&&this.qa.F.Yi(this.Db)&&(c=!1);return c};t.prototype.set=function(c){this.red=c.red;this.green=c.green;this.blue=c.blue};t.prototype.Yi=function(c){var e=!1;this.red===c.red&&this.green===c.green&&this.blue===c.blue&&(e=!0);return e};h.prototype.set=function(c){this.F.set(c.F);this.U.set(c.U)};n.prototype.Oi=function(c,e,b){var m=0,a=0,g=0,l=ViewConstants.ma[3]+128,k=ViewConstants.ma[4]+128,f=ViewConstants.ma[5]+128,d=ViewConstants.ma[6]+128;c===(c&
this.sa)&&e===(e&this.ya)&&(a=this.ba[e][c],b||-1!==this.u?-1!==this.u&&0<a?m=this.u-a:m=a:this.zb?(g=this.zb[e][c],g===k||g===d?(a>=this.Y&&(g=l),m=ViewConstants.ma[g-128]):g===l||g===f?(a<this.Y&&(g=k),m=ViewConstants.ma[g-128]):m=a===this.Db?0:a<=this.Dc?2:1):m=a<=this.Dc?0:1);return m};n.prototype.Ag=function(c){for(var e=null,b=0,m=0,a=0,g=c.length,l=c[0].length,k=this.le,f=0,b=0;b<g;b+=1)for(e=c[b],m=0;m<l;m+=1)(a=e[m])&&(f+=k[a>>8]+k[a&255]);return f};n.prototype.Ih=function(c,e,b){var m=this.fc.kb.length,
a=this.fc.$n(c),g=!0;m!==this.fc.kb.length&&(this.Ce-=p.ug);if(a){for(this.Of(a);this.m<c-1;)this.Be(!1,this.elapsedTime,!0),this.cf();this.m<c&&this.Be(e,this.elapsedTime,!0);g=this.cf();this.elapsedTime=b-(b-a.elapsedTime)/(c-a.m+1)}return g};n.prototype.Of=function(c){var e=null,b=null,m=null,a=null,g=0,l=0,k=this.Ia,f=this.vd;this.m=c.m;0!==(this.m&1)?(e=this.ob,b=this.Ya,m=this.ka,a=this.T):(e=this.Ya,b=this.ob,m=this.T,a=this.ka);l=e.length;for(g=0;g<l;g+=1)e[g].set(k),this.ba[g].set(f),this.s[g].set(f);
Array.j(e,b);Array.j(this.ia,this.xa);c.On(e,m,this);c.Nn(this.ba,this.ia,this);Array.j(m,a);Array.j(e,b);this.A.ja=c.A.ja;this.A.ha=c.A.ha;this.A.la=c.A.la;this.A.oa=c.A.oa;this.Vc=c.Vc;this.Ic=c.Ic;this.Mc=c.Mc;this.elapsedTime=c.elapsedTime;this.R=c.R;this.Xb=c.Xb};n.prototype.pg=function(c){var e=null,b=null;0!==(this.m&1)?(e=this.ob,b=this.ka):(e=this.Ya,b=this.T);this.Pf(!1,e,b,c)};n.prototype.tl=function(c){this.Of(this.od);this.fc.reset();this.Ce=p.ug;c||this.pg(0)};n.prototype.Pf=function(c,
e,b,m){this.fc.pg(e,b,this.ba,this.ia,this.A,this.Vc,this.Ic,this.Mc,m,this.m,(this.c-1>>4)+1,this.g,this,c,this.R,this.Xb)};n.prototype.Rn=function(c){this.fc.reset();this.Pf(!0,this.Ya,this.T,0);c||this.pg(0)};n.prototype.Bk=function(){var c=this.Ya,e=this.ob,b=this.ba,m=this.s,a=this.zb,g=this.V,l=this.Qa,k=this.Tb,f=this.Ub,d=this.Xc,q=this.T,x=this.ka,C=this.xa,F=this.ia,r=this.height,h=this.g,n=this.width>>1,v=this.height>>1,p=0;if(8192>this.width){this.width*=2;this.height*=2;this.Ya=Array.c(this.height,
(this.width-1>>3)+1,0);this.ob=Array.c(this.height,(this.width-1>>3)+1,0);this.La=Array.s(this.Ya);this.aa=Array.s(this.ob);l&&(this.Qa=Array.b(this.height,(this.width-1>>4)+1),this.Tb=Array.b(this.height,(this.width-1>>4)+1),this.Ub=Array.b(this.height,(this.width-1>>4)+1));this.c=this.width>>4;this.g=this.height>>4;l&&(this.Xc=Array.b(this.g,(this.c-1>>4)+1));this.T=Array.b(this.g,(this.c-1>>4)+1);this.ka=Array.b(this.g,(this.c-1>>4)+1);this.xa=Array.b(this.g,(this.c-1>>4)+1);this.ia=Array.b(this.g,
(this.c-1>>4)+1);this.Ia=new Uint8Array((this.width-1>>3)+1);this.ub=new Uint16Array(this.c>>4);this.vd=new Uint8Array(this.width);this.Sd=new Uint16Array((this.width-1>>4)+1);this.ba=Array.c(this.height,this.width,this.Db);this.s=Array.c(this.height,this.width,this.Db);this.ua=Array.g(this.s,1);this.va=Array.g(this.s,3);this.Ka=Array.g(this.s,7);this.Ig=Array.s(this.ba);a&&(this.zb=Array.c(this.height,this.width,this.Db),this.V=Array.c(this.height,this.width,this.Db),this.mc=Array.g(this.V,1),this.nc=
Array.g(this.V,3),this.ed=Array.g(this.V,7),this.Ud=Array.s(this.zb));this.sa=this.width-1;this.ya=this.height-1;for(p=0;p<r;p+=1)this.Ya[p+v].set(c[p],n>>3),this.ob[p+v].set(e[p],n>>3),this.ba[p+v].set(b[p],n),this.s[p+v].set(m[p],n),a&&(this.zb[p+v].set(a[p],n),this.V[p+v].set(g[p],n)),l&&(this.Qa[p+v].set(l[p],n>>4),this.Tb[p+v].set(k[p],n>>4),this.Ub[p+v].set(f[p],n>>4));v=h>>1;for(p=0;p<h;p+=1)l&&this.Xc[p+v].set(d[p],this.Xc[p].length>>2),this.T[p+v].set(q[p],this.T[p].length>>2),this.ka[p+
v].set(x[p],this.ka[p].length>>2),this.xa[p+v].set(C[p],this.xa[p].length>>2),this.ia[p+v].set(F[p],this.ia[p].length>>2);n=this.width>>2;v=this.height>>2;this.fc.Mn((this.c-1>>4)+1,this.g,n);this.D+=n;this.v+=v;this.I&&(this.D-=v/2|0);this.A.ja+=n;this.A.la+=n;this.A.oa+=v;this.A.ha+=v;this.Pa.ja+=n;this.Pa.la+=n;this.Pa.oa+=v;this.Pa.ha+=v}};n.prototype.mm=function(){var c=this.A,e=this.width,b=this.height,m=!1;8192>e&&this.R&&(32>=c.ja||32>=c.ha||c.la>=e-32||c.oa>=b-32)&&(this.Bk(),m=!0);return m};
n.prototype.gi=function(){var c,e,b,m=this.xe;for(c=0;65536>c;c+=1){e=c;for(b=0;e;b+=1)e&=e-1;m[c]=b}};n.prototype.fi=function(){var c,e,b,m=this.le;for(c=0;256>c;c+=1){e=c;for(b=0;e;b+=1)e&=e-1;m[c]=b}};n.prototype.hi=function(){var c,e,b=this.Mg,m=this.Y,a;for(c=0;c<b.length;c+=1)for(a=b[c],e=0;e<a.length;e+=1)a[e]=c&1<<15-e?m:0};n.prototype.Kn=function(c){for(var e=0,b=0,m=null,a=0,g=0,l=this.xe,e=this.A,k=e.ja>>4,f=e.la>>4,d=e.oa,e=e.ha;e<=d;e+=1)for(m=c[e],b=k;b<=f;b+=1)g=l[m[b]],a+=g;this.Vc=
a;this.Mc=this.Ic=0};n.prototype.rl=function(c,e){var b=this.we,m=0,a=0,m=this.Vd?4278190080:255;this.o=c;this.i=e;this.ze=this.wb=this.Eb=null;this.Eb=b.createImageData(b.canvas.width,b.canvas.height);this.Eb.data.buffer?this.wb=new Uint32Array(this.Eb.data.buffer):(this.wb=new Uint32Array(this.Eb.data.length>>2),this.ze=new Uint8Array(this.wb.buffer));this.wd=new Uint32Array(c);for(a=0;a<c;a+=1)this.wd[a]=m;this.Zh()};n.prototype.qm=function(c,e,b){var m=0,a=0,g=this.ba,l=null,k=c.width,f=c.height;
e=(this.width-k>>1)+e;b=(this.height-f>>1)+b;for(var d=this.sa,q=this.ya,x=null,C=this.Ac,F=ViewConstants.ma[2],a=0;a<f;a+=1)for(x=c.Dd[a],l=g[a+b&q],m=0;m<k;m+=1)x[m]===F&&(l[m+e&d]=C)};n.prototype.Vm=function(){this.Ud=this.V=this.zb=null};n.prototype.xm=function(){this.zb=Array.c(this.height,this.width,this.Db);this.V=Array.c(this.height,this.width,this.Db);this.mc=Array.g(this.V,1);this.nc=Array.g(this.V,3);this.ed=Array.g(this.V,7);this.Ud=Array.s(this.zb)};n.prototype.Wm=function(){this.Xc=
this.Ub=this.Tb=this.Qa=null};n.prototype.ym=function(){this.Qa=Array.b(this.height,(this.width-1>>4)+1);this.Tb=Array.b(this.height,(this.width-1>>4)+1);this.Ub=Array.b(this.height,(this.width-1>>4)+1);this.Xc=Array.b(this.g,(this.c-1>>4)+1)};n.prototype.zn=function(c,e,b){var m=0,a=0,g=null,l=null,k=null,f=null,d=c.width,q=c.height;e=(this.width-d>>1)+e;b=(this.height-q>>1)+b;for(var x=this.sa,C=this.ya,F=null,r=0,h=this.Xc,n=null,v=null,p=null,a=0;a<q;a+=1)for(F=c.Dd[a],g=this.Qa[a-1+b&C],l=this.Qa[a+
b&C],k=this.Qa[a+1+b&C],f=this.Ub[a+b&C],n=h[(a-1+b&C)>>4],v=h[(a+b&C)>>4],p=h[(a+1+b&C)>>4],m=0;m<d;m+=1)6===F[m]&&(r=m+e&x,f[r>>4]|=1<<(~r&15),g[r>>4]|=1<<(~r&15),l[r>>4]|=1<<(~r&15),k[r>>4]|=1<<(~r&15),n[r>>8]|=1<<(~(r>>4)&15),v[r>>8]|=1<<(~(r>>4)&15),p[r>>8]|=1<<(~(r>>4)&15),r=m-1+e&x,g[r>>4]|=1<<(~r&15),l[r>>4]|=1<<(~r&15),k[r>>4]|=1<<(~r&15),n[r>>8]|=1<<(~(r>>4)&15),v[r>>8]|=1<<(~(r>>4)&15),p[r>>8]|=1<<(~(r>>4)&15),r=m+1+e&x,g[r>>4]|=1<<(~r&15),l[r>>4]|=1<<(~r&15),k[r>>4]|=1<<(~r&15),n[r>>8]|=
1<<(~(r>>4)&15),v[r>>8]|=1<<(~(r>>4)&15),p[r>>8]|=1<<(~(r>>4)&15))};n.prototype.Jn=function(c){for(var e=0,b=0,m=0,a=this.ba,g=this.Mg,l,k,f,e=this.A,d=e.ja>>4,q=e.la>>4,x=e.oa,b=e.ha;b<=x;b+=1)for(l=c[b],k=a[b],m=d<<4,e=d;e<=q;e+=1)f=g[l[e]],k[m]=f[0],m+=1,k[m]=f[1],m+=1,k[m]=f[2],m+=1,k[m]=f[3],m+=1,k[m]=f[4],m+=1,k[m]=f[5],m+=1,k[m]=f[6],m+=1,k[m]=f[7],m+=1,k[m]=f[8],m+=1,k[m]=f[9],m+=1,k[m]=f[10],m+=1,k[m]=f[11],m+=1,k[m]=f[12],m+=1,k[m]=f[13],m+=1,k[m]=f[14],m+=1,k[m]=f[15],m+=1};n.prototype.bn=
function(c,e,b){var m=0,a=0,g=this.Db,l=this.Ia,k=this.vd,f=this.wd,d=this.ub,q;q=this.Vd?4278190080:255;this.ud=!1;this.sa=this.width-1;this.ya=this.height-1;this.A=new BoundingBox(0,0,this.width-1,this.height-1);this.Pa=new BoundingBox(0,0,this.width-1,this.height-1);this.we=c;this.hi();AliasManager.gd();this.rl(e,b);a=(this.width-1>>3)+1;for(m=0;m<a;m+=1)l[m]=0;a=this.width;for(m=0;m<a;m+=1)k[m]=g;a=this.c>>4;for(m=0;m<a;m+=1)d[m]=0;for(m=0;m<e;m+=1)f[m]=q;this.fi();this.gi()};n.prototype.tm=function(){var c=
0;this.Cb[c]=new B(new h(new t(0,0,0),new t(0,0,0)),new h(new t(255,255,255),new t(255,255,255)),new t(0,0,0));c+=1;this.Cb[c]=new B(new h(new t(0,0,47),new t(0,0,255)),new h(new t(0,255,255),new t(255,255,255)),new t(0,0,0));c+=1;this.Cb[c]=new B(new h(new t(32,0,0),new t(160,0,0)),new h(new t(255,144,0),new t(255,255,0)),new t(0,0,0));c+=1;this.Cb[c]=new B(new h(new t(0,24,0),new t(0,128,0)),new h(new t(0,255,255),new t(255,255,255)),new t(0,0,0));c+=1;this.Cb[c]=new B(new h(new t(0,47,0),new t(128,
0,128)),new h(new t(255,255,0),new t(255,255,255)),new t(0,32,128));c+=1;this.Cb[c]=new B(new h(new t(16,16,16),new t(104,104,104)),new h(new t(176,176,176),new t(255,255,255)),new t(0,0,0));c+=1;this.Cb[c]=new B(new h(new t(255,255,255),new t(255,255,255)),new h(new t(0,0,0),new t(0,0,0)),new t(255,255,255));c+=1;this.Cb[c]=new B(new h(new t(240,240,240),new t(0,255,255)),new h(new t(0,0,255),new t(0,0,0)),new t(255,255,255));c+=1;this.Cb[c]=new B(new h(new t(240,240,240),new t(240,240,240)),new h(new t(240,
240,240),new t(240,240,240)),new t(0,0,0));c+=1;this.Cb[c]=new B(new h(new t(160,0,0),new t(160,0,0)),new h(new t(240,240,240),new t(240,240,240)),new t(0,0,0));c+=1;this.Cb[c]=new B(new h(new t(0,0,96),new t(0,0,160)),new h(new t(0,240,0),new t(16,255,16)),new t(0,0,0));c+=1;this.Cb[c]=new B(new h(new t(255,255,0),new t(255,255,0)),new h(new t(255,0,0),new t(255,0,0)),new t(0,0,0));this.Cb[c+1]=new B(new h(new t(0,0,0),new t(0,0,0)),new h(new t(0,0,0),new t(0,0,0)),new t(0,0,0));this.Ha=new h(new t(0,
0,0),new t(0,0,0));this.Ja=new h(new t(0,0,0),new t(0,0,0));this.oc=new t(0,0,0);this.fa=new h(new t(0,0,0),new t(0,0,0));this.ta=new h(new t(0,0,0),new t(0,0,0));this.fb=new t(0,0,0)};n.prototype.Hd=function(c,e){var b=this.Cb[c];this.Kc=c;this.Ha.set(this.fa);this.Ja.set(this.ta);this.oc.set(this.fb);this.fa.set(b.wa);this.ta.set(b.qa);this.fb.set(b.Db);this.me=e;this.Nl=b.Zm();if(this.Zb===this.th||this.Zb===this.Mf)128<=(this.fb.red+this.fb.green+this.fb.blue)/3?(this.Zb=this.Mf,this.Oc=this.ei):
(this.Zb=this.th,this.Oc=this.Qi)};n.prototype.sm=function(){var c,e,b,m,a,g;c=this.Lg;e=this.S;b=this.Y;m=this.Ac;a=this.Dc;c[0]=0;c[e+1]=b;for(g=1;g<e+1;g+=1)c[g]=Math.min(Math.max(g-1,m),a),c[g+e+1]=Math.max(Math.min(g+1,e),b)};n.prototype.ik=function(){var c,e,b,m,a;e=(this.me-1)/30;c=0;this.ec[c]=this.oc.red*e+this.fb.red*(1-e);this.Yb[c]=this.oc.green*e+this.fb.green*(1-e);this.Vb[c]=this.oc.blue*e+this.fb.blue*(1-e);if(-1!==this.u)for(c=1;c<this.u;c+=1)b=2===this.u?1:1-(c-1)/(this.u-2),m=this.Ha.F.red*
b+this.Ja.F.red*(1-b),a=this.fa.F.red*b+this.ta.F.red*(1-b),this.ec[c]=m*e+a*(1-e),m=this.Ha.F.green*b+this.Ja.F.green*(1-b),a=this.fa.F.green*b+this.ta.F.green*(1-b),this.Yb[c]=m*e+a*(1-e),m=this.Ha.F.blue*b+this.Ja.F.blue*(1-b),a=this.fa.F.blue*b+this.ta.F.blue*(1-b),this.Vb[c]=m*e+a*(1-e);else{for(c=this.Ac;c<=this.Dc;c+=1)b=1-(c-this.Ac)/(this.Dc-this.Ac),m=this.Ja.F.red*b+this.Ja.U.red*(1-b),a=this.ta.F.red*b+this.ta.U.red*(1-b),this.ec[c]=m*e+a*(1-e),m=this.Ja.F.green*b+this.Ja.U.green*(1-b),
a=this.ta.F.green*b+this.ta.U.green*(1-b),this.Yb[c]=m*e+a*(1-e),m=this.Ja.F.blue*b+this.Ja.U.blue*(1-b),a=this.ta.F.blue*b+this.ta.U.blue*(1-b),this.Vb[c]=m*e+a*(1-e);for(c=this.Y;c<=this.S;c+=1)b=1-(c-this.Y)/(this.S-this.Y),m=this.Ha.F.red*b+this.Ha.U.red*(1-b),a=this.fa.F.red*b+this.fa.U.red*(1-b),this.ec[c]=m*e+a*(1-e),m=this.Ha.F.green*b+this.Ha.U.green*(1-b),a=this.fa.F.green*b+this.fa.U.green*(1-b),this.Yb[c]=m*e+a*(1-e),m=this.Ha.F.blue*b+this.Ha.U.blue*(1-b),a=this.fa.F.blue*b+this.fa.U.blue*
(1-b),this.Vb[c]=m*e+a*(1-e)}};n.prototype.wm=function(c){for(var e=this.ec,b=this.Yb,m=this.Vb,a=0,g=0,a=0;a<c.length;a+=1)g=c[a],e[a]=g>>16,b[a]=g>>8&255,m[a]=g&255;this.me=0};n.prototype.um=function(c,e){for(var b=this.ec,m=this.Yb,a=this.Vb,g=ViewConstants.ma,l=e.length,k=0,k=0;k<c.length;k+=1)k>=l||-1===e[k]?(b[128+g[k]]=c[k]>>16,m[128+g[k]]=c[k]>>8&255,a[128+g[k]]=c[k]&255):(b[128+g[k]]=e[k]>>16,m[128+g[k]]=e[k]>>8&255,a[128+g[k]]=e[k]&255)};n.prototype.qb=function(c){var e=this.ec,b=this.Yb,
m=this.Vb,a=this.md,g=this.Zb,l=this.Oc,k=0,f=0;if(-1!==this.u)if(this.Vd)for(k=0;k<this.u;k+=1)0<k&&(f=this.u-k),a[k]=-16777216|m[f]<<16|b[f]<<8|e[f];else for(k=0;k<this.u;k+=1)0<k&&(f=this.u-k),a[k]=e[f]<<24|b[f]<<16|m[f]<<8|255;else if(this.Vd){for(k=0;k<this.Y;k+=1)a[k]=-16777216|m[k]<<16|b[k]<<8|e[k];for(k=this.Y;k<=this.S;k+=1)a[k]=-16777216|m[k]*c<<16|b[k]*c<<8|e[k]*c;for(k=this.S+1;256>k;k+=1)a[k]=-16777216|m[k]*c<<16|b[k]*c<<8|e[k]*c}else{for(k=0;k<this.Y;k+=1)a[k]=e[k]<<24|b[k]<<16|m[k]<<
8|255;for(k=this.Y;k<=this.S;k+=1)a[k]=e[k]*c<<24|b[k]*c<<16|m[k]*c<<8|255;for(k=this.S+1;256>k;k+=1)a[k]=e[k]*c<<24|b[k]*c<<16|m[k]*c<<8|255}this.Vd?(this.Ge=-16777216|(g&255)<<16|(g>>8&255)<<8|g>>16,this.Ee=-16777216|(l&255)<<16|(l>>8&255)<<8|l>>16):(this.Ge=(g&255)<<24|(g>>8&255)<<16|g>>16<<8|255,this.Ee=(l&255)<<24|(l>>8&255)<<16|l>>16<<8|255);-1!==this.pb&&(a[p.ak]=this.Vd?4286611584:2155905279)};n.prototype.nm=function(){for(var c=this.height,e=this.Ya,b=this.ob,m=this.ba,a=this.s,g=this.zb,
l=this.V,k=this.T,f=this.xa,d=this.ia,q=this.ka,x=this.Ia,C=this.ub,F=this.vd,r=0,r=0;r<c;r+=1)e[r].set(x),b[r].set(x),m[r].set(F),a[r].set(F),g&&(g[r].set(F),l[r].set(F));c=this.g;for(r=0;r<c;r+=1)k[r].set(C),q[r].set(C),f[r].set(C),d[r].set(C)};n.prototype.Td=function(c,e){for(var b=p.Si,m=0,a=0,m=0;m<b;m+=1)a=e[m>>9&448|m>>6&56|m>>3&7]<<3,a|=e[m>>8&448|m>>5&56|m>>2&7]<<2,a|=e[m>>7&448|m>>4&56|m>>1&7]<<1,a|=e[m>>6&448|m>>3&56|m&7],c[m]=a};n.prototype.If=function(c){for(var e=0,b=0,e=0;e<c.length;e+=
1)c[e]&&(b+=1);return b};n.prototype.ho=function(c,e){c?(this.Td(this.Fc,this.ue),this.Gi=this.If(this.ue),e?(this.Td(this.Jc,this.ve),this.Hi=this.If(this.ve)):this.Jc.set(this.Fc)):(this.Td(this.Fc,PatternManager.ae),this.Td(this.Jc,PatternManager.og))};n.prototype.Je=function(c){var e=0;0!==(c&32768)?e=0:0!==(c&16384)?e=1:0!==(c&8192)?e=2:0!==(c&4096)?e=3:0!==(c&2048)?e=4:0!==(c&1024)?e=5:0!==(c&512)?e=6:0!==(c&256)?e=7:0!==(c&128)?e=8:0!==(c&64)?e=9:0!==(c&32)?e=10:0!==(c&16)?e=11:0!==(c&8)?e=
12:0!==(c&4)?e=13:0!==(c&2)?e=14:0!==(c&1)&&(e=15);return e};n.prototype.Le=function(c){var e=0;0!==(c&1)?e=15:0!==(c&2)?e=14:0!==(c&4)?e=13:0!==(c&8)?e=12:0!==(c&16)?e=11:0!==(c&32)?e=10:0!==(c&64)?e=9:0!==(c&128)?e=8:0!==(c&256)?e=7:0!==(c&512)?e=6:0!==(c&1024)?e=5:0!==(c&2048)?e=4:0!==(c&4096)?e=3:0!==(c&8192)?e=2:0!==(c&16384)&&(e=1);return e};n.prototype.ai=function(){for(var c=this.zb,e=null,b=this.T,m=null,a=this.width,g=this.height,l=0,k=this.A.oa,f=this.A.ha,d=this.A.ja,q=this.A.la,x=0,C=
0,x=0;x<g;x+=1){e=c[x];m=b[x>>4];for(C=l=0;C<a;C+=1)0!==e[C]&&(m[C>>8]|=1<<(~(C>>4)&15),l|=e[C],C<d&&(d=C),C>q&&(q=C));l&&(x<f&&(f=x),x>k&&(k=x))}this.A.oa=k;this.A.ha=f;this.A.ja=d;this.A.la=q};n.prototype.gn=function(){for(var c=0,e=0,b=0,m=0,a=0,g=this.La,b=null,l=this.ka,k=null,f=this.T,d=null,q=null,x=null,C=0,F=0,r=0,h=0,n=0,v=0,D=0,t=!1,y=this.g,z=this.c>>4,w=this.ub,u=0,n=0,v=n+16,m=0;m<y;m+=1)f[m].set(w);for(m=0;m<y;m+=1){D=0;k=l[m];d=f[m];0<m?q=f[m-1]:q=w;m<y-1?x=f[m+1]:x=w;k[0]&=32767;
k[z-1]&=65534;for(a=0;a<z;a+=1)if(C=k[a]){F=d[a];r=q[a];h=x[a];for(e=15;0<=e;--e){if(0!==(C&1<<e)){t=!1;u=0;c=n;b=g[c];if(b=b[D])t=!0,0!==(b&32768)&&(u|=p.uc,u|=p.bd),0!==(b&1)&&(u|=p.yc,u|=p.cd),u|=p.qc;for(c+=1;c<v-1;){b=g[c];if(b=b[D])t=!0,0!==(b&32768)&&(u|=p.uc),0!==(b&1)&&(u|=p.yc);c+=1}b=g[c];if(b=b[D])t=!0,0!==(b&32768)&&(u|=p.uc,u|=p.pd),0!==(b&1)&&(u|=p.yc,u|=p.qd),u|=p.zc;t&&(F|=1<<e,u&&(0!==(u&p.uc)&&(15>e?F|=1<<e+1:0<a&&(d[a-1]|=1)),0!==(u&p.yc)&&(0<e?F|=1<<e-1:a<z-1&&(d[a+1]|=32768)),
0!==(u&p.qc)&&(r|=1<<e),0!==(u&p.zc)&&(h|=1<<e),0!==(u&p.bd)&&(15>e?r|=1<<e+1:0<a&&(q[a-1]|=1)),0!==(u&p.cd)&&(0<e?r|=1<<e-1:a<z-1&&(q[a+1]|=32768)),0!==(u&p.pd)&&(15>e?h|=1<<e+1:0<a&&(x[a-1]|=1)),0!==(u&p.qd)&&(0<e?h|=1<<e-1:a<z-1&&(x[a+1]|=32768))))}D+=1}d[a]|=F;0<m&&(q[a]|=r);m<y-1&&(x[a]|=h)}else D+=16;n+=16;v+=16}for(m=0;m<w.length;m+=1)w[m]=0};n.prototype.nn=function(){for(var c=0,e=0,b=0,m=0,a=0,g=this.La,b=null,l=this.ka,k=null,f=this.ba,d=null,q=this.T,x=null,C=null,F=null,r=0,h=0,n=0,v=
0,D=0,t=0,y=0,z=0,w=!1,u=this.g,B=this.c>>4,A=this.ub,E=0,D=0,t=D+16,m=0;m<u;m+=1)q[m].set(A);for(m=0;m<u;m+=1){y=0;k=l[m];x=q[m];0<m?C=q[m-1]:C=A;m<u-1?F=q[m+1]:F=A;k[0]&=32767;k[B-1]&=65534;for(a=0;a<B;a+=1)if(r=k[a]){h=x[a];n=C[a];v=F[a];for(e=15;0<=e;--e){if(0!==(r&1<<e)){w=!1;E=0;c=D;b=g[c];d=f[c];b=b[y];z=y<<4;0<d[z]&&(b|=32768);z+=1;0<d[z]&&(b|=16384);z+=1;0<d[z]&&(b|=8192);z+=1;0<d[z]&&(b|=4096);z+=1;0<d[z]&&(b|=2048);z+=1;0<d[z]&&(b|=1024);z+=1;0<d[z]&&(b|=512);z+=1;0<d[z]&&(b|=256);z+=1;
0<d[z]&&(b|=128);z+=1;0<d[z]&&(b|=64);z+=1;0<d[z]&&(b|=32);z+=1;0<d[z]&&(b|=16);z+=1;0<d[z]&&(b|=8);z+=1;0<d[z]&&(b|=4);z+=1;0<d[z]&&(b|=2);z+=1;0<d[z]&&(b|=1);b&&(w=!0,0!==(b&32768)&&(E|=p.uc,E|=p.bd),0!==(b&1)&&(E|=p.yc,E|=p.cd),E|=p.qc);for(c+=1;c<t-1;)b=g[c],b=b[y],z=y<<4,0<d[z]&&(b|=32768),z+=1,0<d[z]&&(b|=16384),z+=1,0<d[z]&&(b|=8192),z+=1,0<d[z]&&(b|=4096),z+=1,0<d[z]&&(b|=2048),z+=1,0<d[z]&&(b|=1024),z+=1,0<d[z]&&(b|=512),z+=1,0<d[z]&&(b|=256),z+=1,0<d[z]&&(b|=128),z+=1,0<d[z]&&(b|=64),z+=
1,0<d[z]&&(b|=32),z+=1,0<d[z]&&(b|=16),z+=1,0<d[z]&&(b|=8),z+=1,0<d[z]&&(b|=4),z+=1,0<d[z]&&(b|=2),z+=1,0<d[z]&&(b|=1),b&&(w=!0,0!==(b&32768)&&(E|=p.uc),0!==(b&1)&&(E|=p.yc)),c+=1;b=g[c];b=b[y];z=y<<4;0<d[z]&&(b|=32768);z+=1;0<d[z]&&(b|=16384);z+=1;0<d[z]&&(b|=8192);z+=1;0<d[z]&&(b|=4096);z+=1;0<d[z]&&(b|=2048);z+=1;0<d[z]&&(b|=1024);z+=1;0<d[z]&&(b|=512);z+=1;0<d[z]&&(b|=256);z+=1;0<d[z]&&(b|=128);z+=1;0<d[z]&&(b|=64);z+=1;0<d[z]&&(b|=32);z+=1;0<d[z]&&(b|=16);z+=1;0<d[z]&&(b|=8);z+=1;0<d[z]&&(b|=
4);z+=1;0<d[z]&&(b|=2);z+=1;0<d[z]&&(b|=1);b&&(w=!0,0!==(b&32768)&&(E|=p.uc,E|=p.pd),0!==(b&1)&&(E|=p.yc,E|=p.qd),E|=p.zc);w&&(h|=1<<e,E&&(0!==(E&p.uc)&&(15>e?h|=1<<e+1:0<a&&(x[a-1]|=1)),0!==(E&p.yc)&&(0<e?h|=1<<e-1:a<B-1&&(x[a+1]|=32768)),0!==(E&p.qc)&&(n|=1<<e),0!==(E&p.zc)&&(v|=1<<e),0!==(E&p.bd)&&(15>e?n|=1<<e+1:0<a&&(C[a-1]|=1)),0!==(E&p.cd)&&(0<e?n|=1<<e-1:a<B-1&&(C[a+1]|=32768)),0!==(E&p.pd)&&(15>e?v|=1<<e+1:0<a&&(F[a-1]|=1)),0!==(E&p.qd)&&(0<e?v|=1<<e-1:a<B-1&&(F[a+1]|=32768))))}y+=1}x[a]|=
h;0<m&&(C[a]|=n);m<u-1&&(F[a]|=v)}else y+=16;D+=16;t+=16}for(m=0;m<A.length;m+=1)A[m]=0};n.prototype.Hn=function(){var c=0,e=0,b=0,m=this.width>>4,a=this.height,g=this.width,l=this.La,k=null,f=this.zb,d=null,q=this.A,x=this.Pa,C=this.height,F=-1,r=this.width,h=-1,n=this.height,v=-1,p=this.width,t=-1,y=0,z=this.Sd,k=this.g,w=this.T,u=null,B=this.ka,A=this.xa,E=this.ia,u=this.ub,d=y=b=0;if(f)for(e=0;e<a;e+=1){d=f[e];for(c=y=0;c<g;c+=1)b=d[c],y|=b,b&&(c<p&&(p=c),c>t&&(t=c));y&&(e<n&&(n=e),e>v&&(v=e))}for(e=
0;e<z.length;e+=1)z[e]=0;for(e=0;e<k;e+=1)B[e].set(u);for(e=0;e<a;e+=1){k=l[e];for(c=y=0;c<m;c+=1)b=k[c],y|=b,z[c]|=b;y&&(e<C&&(C=e),e>F&&(F=e))}for(c=0;c<m;c+=1)z[c]&&(c<r&&(r=c),c>h&&(h=c));r=(r<<4)+this.Je(z[r]);h=(h<<4)+this.Le(z[h]);if(0>F||C>=a||r>=g||0>h)C=F=a>>1,h=r=g>>1;f&&(v<F&&(F=v),n>C&&(C=n),p<r&&(r=p),t>h&&(h=t));F>this.height-1&&(F=this.height-1);0>C&&(C=0);0>r&&(r=0);h>this.width-1&&(h=this.width-1);q.oa=F;q.ha=C;q.ja=r;q.la=h;x.oa=F;x.ha=C;x.ja=r;x.la=h;0<r&&--r;0<C&&--C;h<this.width-
1&&(h+=1);F<this.height-1&&(F+=1);b=F>>4;y=r>>8;d=h>>8;for(e=C>>4;e<=b;e+=1)for(u=B[e],c=y;c<=d;c+=1)u[c]=-1;-1!==this.u?this.nn():this.gn();f&&(this.ai(),x.oa=q.oa,x.ha=q.ha,x.ja=q.ja,x.la=q.la);Array.j(w,B);Array.j(w,A);Array.j(w,E)};n.prototype.nb=function(c){var e=null,b=this.width-this.ga>>1,m=this.height-this.Ca>>1,a=b+this.ga-1,g=m+this.Ca-1,l=a+c>>4,k=null,f=null,d=b-c>>4,q=a+c>>4,x=~(1<<(~(b-c)&15)),C=~(1<<(~(a+c)&15)),F=0,k=0,e=0!==(this.m&1)?this.aa:this.La,k=e[g+c],f=e[m-c];if(0===this.ga)for(l=
this.width>>4,F=0;F<l;F+=1)f[F]=0,k[F]=0;else if(0===this.Ca)for(m=0,g=this.height,k=0;k<g;k+=1)e[k][d]&=x,e[k][q]&=C;else{for(F=b-c>>4;F<=l;F+=1)f[F]=0,k[F]=0;for(k=m-c+1;k<=g+c-1;k+=1)e[k][d]&=x,e[k][q]&=C}if(-1!==this.u)if(e=this.ba,b-=c,a+=c,g+=c,m-=c,k=e[g],f=e[m],0===this.ga)for(F=0;F<this.width;F+=1)f[F]=0,k[F]=0;else if(0===this.Ca)for(k=0;k<this.height;k+=1)e[k][b]=0,e[k][a]=0;else{for(F=b;F<=a;F+=1)f[F]=0,k[F]=0;for(k=m+1;k<=g-1;k+=1)e[k][b]=0,e[k][a]=0}};n.prototype.Uj=function(){var c=
null,e=this.ga,b=this.Ca,m=this.width-e>>1,a=this.height-b>>1,g=m+e-1,l=a+b-1,k=this.Sf,f=this.Tf,d=0,q=d=0,x=q=0,c=0!==(this.m&1)?this.aa:this.La;0===this.ga&&(m=0,g=this.width-1,e=this.width);0===this.Ca&&(a=0,l=this.height-1,b=this.height);if(0!==this.Ca)for(x=0;x<e;x+=1)d=m+x,q=m+(x+k+e)%e,c[a-1][q>>4]=0!==(c[l][d>>4]&1<<(~d&15))?c[a-1][q>>4]|1<<(~q&15):c[a-1][q>>4]&~(1<<(~q&15)),q=m+(x-k+e)%e,c[l+1][q>>4]=0!==(c[a][d>>4]&1<<(~d&15))?c[l+1][q>>4]|1<<(~q&15):c[l+1][q>>4]&~(1<<(~q&15));if(0!==this.ga)for(x=
0;x<b;x+=1)d=a+x,q=a+(x-f+b)%b,c[q][g+1>>4]=0!==(c[d][m>>4]&1<<(~m&15))?c[q][g+1>>4]|1<<(~(g+1)&15):c[q][g+1>>4]&~(1<<(~(g+1)&15)),q=a+(x+f+b)%b,c[q][m-1>>4]=0!==(c[d][g>>4]&1<<(~g&15))?c[q][m-1>>4]|1<<(~(m-1)&15):c[q][m-1>>4]&~(1<<(~(m-1)&15));0!==this.ga&&0!==this.Ca&&(d=m+(-k+e)%e,c[a-1][g+1>>4]=0!==(c[a+(b-1+f+b)%b][d>>4]&1<<(~d&15))?c[a-1][g+1>>4]|1<<(~(g+1)&15):c[a-1][g+1>>4]&~(1<<(~(g+1)&15)),d=m+(e-1-k+e)%e,c[a-1][m-1>>4]=0!==(c[a+(b-1+f+b)%b][d>>4]&1<<(~d&15))?c[a-1][m-1>>4]|1<<(~(m-1)&15):
c[a-1][m-1>>4]&~(1<<(~(m-1)&15)),d=m+(k+e)%e,c[l+1][g+1>>4]=0!==(c[a+(f+b)%b][d>>4]&1<<(~d&15))?c[l+1][g+1>>4]|1<<(~(g+1)&15):c[l+1][g+1>>4]&~(1<<(~(g+1)&15)),d=m+(e-1+k+e)%e,c[l+1][m-1>>4]=0!==(c[a+(f+b)%b][d>>4]&1<<(~d&15))?c[l+1][m-1>>4]|1<<(~(m-1)&15):c[l+1][m-1>>4]&~(1<<(~(m-1)&15)))};n.prototype.pi=function(){for(var c=null,e=this.ga,b=this.Ca,m=this.width-e>>1,a=this.height-b>>1,g=m+e-1,l=a+b-1,k=this.Sf,f=this.Tf,d=this.ui,q=this.bk,x=0,C=x=0,F=C=0,c=0!==(this.m&1)?this.aa:this.La,F=0;F<e;F+=
1)x=m+F,C=d?g-(F+k+e)%e:m+(F+k+e)%e,c[a-1][C>>4]=0!==(c[l][x>>4]&1<<(~x&15))?c[a-1][C>>4]|1<<(~C&15):c[a-1][C>>4]&~(1<<(~C&15)),C=d?g-(F-k+e)%e:m+(F-k+e)%e,c[l+1][C>>4]=0!==(c[a][x>>4]&1<<(~x&15))?c[l+1][C>>4]|1<<(~C&15):c[l+1][C>>4]&~(1<<(~C&15));for(F=0;F<b;F+=1)x=a+F,C=q?l-(F-f+b)%b:a+(F-f+b)%b,c[C][g+1>>4]=0!==(c[x][m>>4]&1<<(~m&15))?c[C][g+1>>4]|1<<(~(g+1)&15):c[C][g+1>>4]&~(1<<(~(g+1)&15)),C=q?l-(F+f+b)%b:a+(F+f+b)%b,c[C][m-1>>4]=0!==(c[x][g>>4]&1<<(~g&15))?c[C][m-1>>4]|1<<(~(m-1)&15):c[C][m-
1>>4]&~(1<<(~(m-1)&15));x=d?g-(-k+e)%e:m+(-k+e)%e;c[a-1][g+1>>4]=0!==(c[q?l-(b-1+f+b)%b:a+(b-1+f+b)%b][x>>4]&1<<(~x&15))?c[a-1][g+1>>4]|1<<(~(g+1)&15):c[a-1][g+1>>4]&~(1<<(~(g+1)&15));x=d?g-(e-1-k+e)%e:m+(e-1-k+e)%e;c[a-1][m-1>>4]=0!==(c[q?l-(b-1+f+b)%b:a+(b-1+f+b)%b][x>>4]&1<<(~x&15))?c[a-1][m-1>>4]|1<<(~(m-1)&15):c[a-1][m-1>>4]&~(1<<(~(m-1)&15));x=d?g-(k+e)%e:m+(k+e)%e;c[l+1][g+1>>4]=0!==(c[q?l-(f+b)%b:a+(f+b)%b][x>>4]&1<<(~x&15))?c[l+1][g+1>>4]|1<<(~(g+1)&15):c[l+1][g+1>>4]&~(1<<(~(g+1)&15));x=
d?g-(e-1+k+e)%e:m+(e-1+k+e)%e;c[l+1][m-1>>4]=0!==(c[q?l-(f+b)%b:a+(f+b)%b][x>>4]&1<<(~x&15))?c[l+1][m-1>>4]|1<<(~(m-1)&15):c[l+1][m-1>>4]&~(1<<(~(m-1)&15))};n.prototype.oi=function(){for(var c=null,e=this.width-this.ga>>1,b=this.height-this.Ca>>1,m=e+this.ga-1,a=b+this.Ca-1,g=0,l=0,k=0,c=0!==(this.m&1)?this.aa:this.La,g=0;g<this.ga;g+=1)l=e+g,k=m-g,c[b-1][k>>4]=0!==(c[a][l>>4]&1<<(~l&15))?c[b-1][k>>4]|1<<(~k&15):c[b-1][k>>4]&~(1<<(~k&15)),c[a+1][k>>4]=0!==(c[b][l>>4]&1<<(~l&15))?c[a+1][k>>4]|1<<(~k&
15):c[a+1][k>>4]&~(1<<(~k&15));for(g=0;g<=this.Ca;g+=1)l=b+g,k=a-g,c[k][m+1>>4]=0!==(c[l][e>>4]&1<<(~e&15))?c[k][m+1>>4]|1<<(~(m+1)&15):c[k][m+1>>4]&~(1<<(~(m+1)&15)),c[k][e-1>>4]=0!==(c[l][m>>4]&1<<(~m&15))?c[k][e-1>>4]|1<<(~(e-1)&15):c[k][e-1>>4]&~(1<<(~(e-1)&15));c[a+1][e-1>>4]=0!==(c[a][e>>4]&1<<(~e&15))?c[a+1][e-1>>4]|1<<(~(e-1)&15):c[a+1][e-1>>4]&~(1<<(~(e-1)&15));c[a+1][m+1>>4]=0!==(c[a][m>>4]&1<<(~m&15))?c[a+1][m+1>>4]|1<<(~(m+1)&15):c[a+1][m+1>>4]&~(1<<(~(m+1)&15));c[b-1][e-1>>4]=0!==(c[b][e>>
4]&1<<(~e&15))?c[b-1][e-1>>4]|1<<(~(e-1)&15):c[b-1][e-1>>4]&~(1<<(~(e-1)&15));c[b-1][m+1>>4]=0!==(c[b][m>>4]&1<<(~m&15))?c[b-1][m+1>>4]|1<<(~(m+1)&15):c[b-1][m+1>>4]&~(1<<(~(m+1)&15))};n.prototype.ri=function(){for(var c=null,e=this.width-this.ga>>1,b=this.height-this.ga>>1,m=e+this.ga-1,a=b+this.ga-1,g=0,l=0,k=0,c=0!==(this.m&1)?this.aa:this.La,g=0;g<this.ga;g+=1)k=b+g,l=e+g,c[b-1][l>>4]=0!==(c[k][e>>4]&1<<(~e&15))?c[b-1][l>>4]|1<<(~l&15):c[b-1][l>>4]&~(1<<(~l&15)),c[a+1][l>>4]=0!==(c[k][m>>4]&1<<
(~m&15))?c[a+1][l>>4]|1<<(~l&15):c[a+1][l>>4]&~(1<<(~l&15)),c[k][e-1>>4]=0!==(c[b][l>>4]&1<<(~l&15))?c[k][e-1>>4]|1<<(~(e-1)&15):c[k][e-1>>4]&~(1<<(~(e-1)&15)),c[k][m+1>>4]=0!==(c[a][l>>4]&1<<(~l&15))?c[k][m+1>>4]|1<<(~(m+1)&15):c[k][m+1>>4]&~(1<<(~(m+1)&15));c[a+1][e-1>>4]=0!==(c[a][e>>4]&1<<(~e&15))?c[a+1][e-1>>4]|1<<(~(e-1)&15):c[a+1][e-1>>4]&~(1<<(~(e-1)&15));c[a+1][m+1>>4]=0!==(c[a][m>>4]&1<<(~m&15))?c[a+1][m+1>>4]|1<<(~(m+1)&15):c[a+1][m+1>>4]&~(1<<(~(m+1)&15));c[b-1][e-1>>4]=0!==(c[b][e>>4]&
1<<(~e&15))?c[b-1][e-1>>4]|1<<(~(e-1)&15):c[b-1][e-1>>4]&~(1<<(~(e-1)&15));c[b-1][m+1>>4]=0!==(c[b][m>>4]&1<<(~m&15))?c[b-1][m+1>>4]|1<<(~(m+1)&15):c[b-1][m+1>>4]&~(1<<(~(m+1)&15))};n.prototype.mi=function(){switch(this.pb){case 0:this.nb(1);break;case 1:this.nb(1);this.nb(2);break;case 2:this.nb(1);this.nb(2);break;case 3:this.nb(1);this.nb(2);break;case 4:this.nb(1),this.nb(2)}};n.prototype.ni=function(){switch(this.pb){case 1:this.Uj();break;case 2:this.pi();break;case 3:this.oi();break;case 4:this.ri()}this.yl()};
n.prototype.yl=function(){var c=0,e=0,c=this.ga,b=this.Ca,m=e=0,a=0,g=0;0===b?(e=0,m=this.height>>4):(e=this.height/2-b/2-1>>4,m=this.height/2+b/2+1>>4);0===c?(a=0,g=this.width>>4):(a=this.width/2-c/2-1>>4,g=this.width/2+c/2+1>>4);0>a&&(a=0);0>e&&(e=0);g>=this.width>>4&&(g=(this.width>>4)-1);m>=this.height>>4&&(m=(this.height>>4)-1);for(c=a;c<=g;c+=1)this.T[e][c>>4]|=1<<(~c&15),this.ka[e][c>>4]|=1<<(~c&15),this.xa[e][c>>4]|=1<<(~c&15),this.ia[e][c>>4]|=1<<(~c&15),this.T[m][c>>4]|=1<<(~c&15),this.ka[m][c>>
4]|=1<<(~c&15),this.xa[m][c>>4]|=1<<(~c&15),this.ia[m][c>>4]|=1<<(~c&15);for(;e<=m;e+=1)this.T[e][a>>4]|=1<<(~a&15),this.ka[e][a>>4]|=1<<(~a&15),this.xa[e][a>>4]|=1<<(~a&15),this.ia[e][a>>4]|=1<<(~a&15),this.T[e][g>>4]|=1<<(~g&15),this.ka[e][g>>4]|=1<<(~g&15),this.xa[e][g>>4]|=1<<(~g&15),this.ia[e][g>>4]|=1<<(~g&15)};n.prototype.Be=function(c,e,b){var m=!1;this.m===this.Ce-1&&(m=!0,b||(c=!0));-1!==this.pb&&this.ni();this.Qa&&this.vn();this.R&&(c?this.li():this.ki());this.m+=1;-1!==this.u&&(this.R?
this.ii():this.ji());this.Qa&&this.tn();-1!==this.pb&&this.mi();8192===this.width&&(16>=this.A.ja||8176<=this.A.la||16>=this.A.ha||8176<=this.A.oa)&&this.Yh();m&&(this.Ce+=p.ug,b||this.pg(e))};n.prototype.vn=function(){for(var c=0,e=0,b=0,m=0,a=0,g=0,l=null,k=this.Qa,f=this.Tb,d=this.Ub,q=this.Xc,x=null,C=this.g,F=this.c>>4,r=0,a=0,l=0!==(this.m&1)?this.aa:this.La,c=0;c<C;c+=1){g=0;x=q[c];for(e=0;e<F;e+=1)if(r=x[e])for(b=15;0<=b;--b){if(0!==(r&1<<b))for(m=a;m<a+16;m+=1)f[m][g]=(l[m][g]|d[m][g])&k[m][g];
g+=1}else g+=16;a+=16}};n.prototype.tn=function(){for(var c=0,e=0,b=0,m=0,a=0,g=0,l=null,k=this.Tb,f=this.Xc,d=null,q=this.g,x=this.c>>4,C=0,l=0!==(this.m&1)?this.aa:this.La,c=a=0;c<q;c+=1){g=0;d=f[c];for(e=0;e<x;e+=1)if(C=d[e])for(b=15;0<=b;--b){if(0!==(C&1<<b))for(m=a;m<a+16;m+=1)l[m][g]&=~k[m][g];g+=1}else g+=16;a+=16}};n.prototype.Ke=function(c,e,b){var m=0,a=0,g=this.Df,l=0,k=this.Bc[l],f=this.Cc[l],d=0,q=p.qj,x=q-1,C=0,F=q,r=this.Hh,h=this.sa,n=this.ya;k[d]=c;f[d]=e;d+=1;for(b[e][c>>4]&=~(1<<
(~c&15));0<d;)for(--d,d<C&&(--l,C-=q,F-=q,k=this.Bc[l],f=this.Cc[l]),c=k[d&x],e=f[d&x],a=e-r;a<=e+r;){for(m=c-r;m<=c+r;)m===(m&h)&&a===(a&n)&&0!==(b[a][m>>4]&1<<(~m&15))&&(b[a][m>>4]&=~(1<<(~m&15)),d===F&&(l+=1,C+=q,F+=q,l>g&&(this.Bc[l]=new Int32Array(q),this.Cc[l]=new Int32Array(q),this.Df=g+=1),k=this.Bc[l],f=this.Cc[l]),k[d&x]=m,f[d&x]=a,d+=1),m+=1;a+=1}};n.prototype.Nf=function(c,e,b){for(var m=b[e][c],a=15;0<=a;)0!==(m&1<<a)&&this.Ke((c<<4)+(~a&15),e,b),--a};n.prototype.Zl=function(c,e){this.Ke(0,
c,e)};n.prototype.em=function(c,e,b){this.Ke((c<<4)+15,e,b)};n.prototype.Yh=function(){for(var c=null,e=0,b=0,m=0,m=0,a=null,g=null,c=0!==(this.m&1)?this.aa:this.La,e=c.length,b=c[0].length,a=c[0],g=c[e-1],m=0;m<b;)a[m]&&this.Nf(m,0,c),g[m]&&this.Nf(m,e-1,c),m+=1;for(m=0;m<e;)0!==(c[m][0]&32768)&&this.Zl(m,c),0!==(c[m][b-1]&1)&&this.em(b-1,m,c),m+=1};n.prototype.ki=function(){var c=null,e=null,b=null,m=null,a=0,g=0,l=0,k=b=0,f=0,d=0,q=0,x=null,C=null,F=null,r=null,h=null,n=null,v=null,D=null,t=0,
y=0,z=0,w=0,u=0,B=0,A=0,E=0,G=this.Sd,J=0,K=this.height,X=this.width,Y=X>>4,Z=this.A,O=K,I=-1,N=X,V=-1,W=this.g,aa=this.c>>4,ba=this.ub,P=0,m=0,Q=W;0!==(this.m&1)?(x=this.aa,C=this.La,F=this.ka,r=this.T,c=this.Jc):(x=this.La,C=this.aa,F=this.T,r=this.ka,c=this.Fc);for(d=0;d<G.length;d+=1)G[d]=0;0>m&&(m=0);Q>W&&(Q=W);u=m<<4;B=u+16;for(d=m;d<Q;d+=1)for(h=r[d],q=0;q<h.length;q+=1)h[q]=0;for(d=m;d<Q;d+=1){A=0;h=F[d];n=r[d];0<d?v=r[d-1]:v=ba;d<W-1?D=r[d+1]:D=ba;for(q=0;q<aa;q+=1)if(t=h[q]){y=n[q];z=v[q];
w=D[q];for(g=15;0<=g;--g){if(0!==(t&1<<g)){P=J=0;a=u;0===a?e=this.Ia:e=x[a-1];b=x[a];m=x[a+1];E=b[A];if(A)if(A>=Y-1){l=e[A-1]<<17|e[A]<<1;b=b[A-1]<<17|E<<1;k=m[A-1]<<17|m[A]<<1;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a),0!==(f&32768)&&(P|=p.bd),P|=p.qc;for(a+=1;a<B-1;){E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1;f=c[l>>12&63|(b>>12&63)<<
6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1}E|=m[A];a===this.height-1?m=this.Ia:m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a),0!==(f&32768)&&(P|=p.pd),P|=p.zc}else{l=
e[A-1]<<17|e[A]<<1|e[A+1]>>15;b=b[A-1]<<17|E<<1|b[A+1]>>15;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a),0!==(f&32768)&&(P|=p.bd),0!==(f&1)&&(P|=p.cd),P|=p.qc;a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<
8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>
8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&
63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<
1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];
m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=
f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&
63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<
6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a);a+=1;E|=m[A];a===this.height-1?m=this.Ia:m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a),0!==(f&32768)&&(P|=p.pd),0!==(f&1)&&(P|=p.qd),P|=p.zc}else{l=e[A]<<1|e[A+1]>>15;b=E<<1|b[A+1]>>15;k=m[A]<<1|m[A+
1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a),0!==(f&1)&&(P|=p.cd),P|=p.qc;for(a+=1;a<B-1;){E|=m[A];m=x[a+1];l=b;b=k;k=m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),
a>I&&(I=a);a+=1}E|=m[A];a===this.height-1?m=this.Ia:m=x[a+1];l=b;b=k;k=m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];if(C[a][A]=f)J|=f,a<O&&(O=a),a>I&&(I=a),0!==(f&1)&&(P|=p.qd),P|=p.zc}J&&(0!==(J&32768)&&(P|=p.uc),0!==(J&1)&&(P|=p.yc));G[A]|=J;if(J||E)y|=1<<g,P&&(0!==(P&p.uc)&&(15>g?y|=1<<g+1:0<q&&0<A&&(n[q-1]|=1)),0!==(P&p.yc)&&(0<g?y|=1<<g-1:q<aa-1&&A<Y-1&&
(n[q+1]|=32768)),0!==(P&p.qc)&&(z|=1<<g),0!==(P&p.zc)&&(w|=1<<g),0!==(P&p.bd)&&(15>g?z|=1<<g+1:0<q&&0<A&&(v[q-1]|=1)),0!==(P&p.cd)&&(0<g?z|=1<<g-1:q<aa-1&&A<Y-1&&(v[q+1]|=32768)),0!==(P&p.pd)&&(15>g?w|=1<<g+1:0<q&&0<A&&(D[q-1]|=1)),0!==(P&p.qd)&&(0<g?w|=1<<g-1:q<aa-1&&A<Y-1&&(D[q+1]|=32768)))}A+=1}n[q]|=y;0<d&&(v[q]|=z);d<W-1&&(D[q]|=w)}else A+=16;u+=16;B+=16}for(q=0;q<Y;q+=1)G[q]&&(q<N&&(N=q),q>V&&(V=q));N=(N<<4)+this.Je(G[N]);V=(V<<4)+this.Le(G[V]);0>I&&(I=K-1);O>=K&&(O=0);N>=X&&(N=0);0>V&&(V=X-
1);I>K-1&&(I=K-1);0>O&&(O=0);0>N&&(N=0);V>X-1&&(V=X-1);Z.oa=I;Z.ha=O;Z.ja=N;Z.la=V;for(d=0;d<ba.length;d+=1)ba[d]=0};n.prototype.li=function(){var c=null,e=null,b=null,m=null,a=0,g=0,l=0,k=b=0,f=0,d=0,q=0,x=null,C=null,F=null,r=null,h=null,n=null,v=null,D=null,t=0,y=0,z=0,w=0,u=0,B=0,A=0,E=0,G=0,J=this.Sd,K=0,X=this.height,Y=this.width,Z=Y>>4,O=this.A,I=X,N=-1,V=Y,W=-1,aa=this.g,ba=this.c>>4,P=this.ub,Q=0,M=this.xe,R=0,S=0,T=0,m=0,da=aa;0!==(this.m&1)?(x=this.aa,C=this.La,F=this.ka,r=this.T,c=this.Jc):
(x=this.La,C=this.aa,F=this.T,r=this.ka,c=this.Fc);for(d=0;d<J.length;d+=1)J[d]=0;0>m&&(m=0);da>aa&&(da=aa);u=m<<4;B=u+16;for(d=m;d<da;d+=1)for(h=r[d],q=0;q<h.length;q+=1)h[q]=0;for(d=m;d<da;d+=1){A=0;h=F[d];n=r[d];0<d?v=r[d-1]:v=P;d<aa-1?D=r[d+1]:D=P;for(q=0;q<ba;q+=1)if(t=h[q]){y=n[q];z=v[q];w=D[q];for(g=15;0<=g;--g){if(0!==(t&1<<g)){Q=K=0;a=u;0===a?e=this.Ia:e=x[a-1];b=x[a];m=x[a+1];E=G=b[A];if(A)if(A>=Z-1){l=e[A-1]<<17|e[A]<<1;b=b[A-1]<<17|G<<1;k=m[A-1]<<17|m[A]<<1;f=c[l>>12&63|(b>>12&63)<<6|
(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];C[a][A]=f;R+=M[f];S+=M[f&~G];T+=M[G&~f];f&&(K|=f,a<I&&(I=a),a>N&&(N=a),0!==(f&32768)&&(Q|=p.bd),Q|=p.qc);for(a+=1;a<B-1;)G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&
~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1;G=m[A];E|=G;a===this.height-1?m=this.Ia:m=x[a+1];l=b;b=k;k=m[A-1]<<17|m[A]<<1;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];C[a][A]=f;R+=M[f];S+=M[f&~G];T+=M[G&~f];f&&(K|=f,a<I&&(I=a),a>N&&(N=a),0!==(f&32768)&&(Q|=p.pd),Q|=p.zc)}else l=e[A-1]<<17|e[A]<<1|e[A+1]>>15,b=b[A-1]<<17|G<<1|b[A+1]>>15,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=
c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a),0!==(f&32768)&&(Q|=p.bd),0!==(f&1)&&(Q|=p.cd),Q|=p.qc),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|
(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<
12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=
a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<
12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&
63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,
a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>
4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,
f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],
T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1,G=m[A],E|=G,a===this.height-1?m=this.Ia:m=x[a+1],l=b,b=k,k=m[A-1]<<17|m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a),0!==(f&32768)&&(Q|=p.pd),0!==(f&1)&&(Q|=p.qd),Q|=p.zc);else{l=e[A]<<1|e[A+1]>>15;b=G<<1|b[A+1]>>15;k=m[A]<<1|m[A+1]>>15;f=c[l>>
12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];C[a][A]=f;R+=M[f];S+=M[f&~G];T+=M[G&~f];f&&(K|=f,a<I&&(I=a),a>N&&(N=a),0!==(f&1)&&(Q|=p.cd),Q|=p.qc);for(a+=1;a<B-1;)G=m[A],E|=G,m=x[a+1],l=b,b=k,k=m[A]<<1|m[A+1]>>15,f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12,f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8,f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4,f|=c[l&63|(b&63)<<6|(k&63)<<12],C[a][A]=
f,R+=M[f],S+=M[f&~G],T+=M[G&~f],f&&(K|=f,a<I&&(I=a),a>N&&(N=a)),a+=1;G=m[A];E|=G;a===this.height-1?m=this.Ia:m=x[a+1];l=b;b=k;k=m[A]<<1|m[A+1]>>15;f=c[l>>12&63|(b>>12&63)<<6|(k>>12&63)<<12]<<12;f|=c[l>>8&63|(b>>8&63)<<6|(k>>8&63)<<12]<<8;f|=c[l>>4&63|(b>>4&63)<<6|(k>>4&63)<<12]<<4;f|=c[l&63|(b&63)<<6|(k&63)<<12];C[a][A]=f;R+=M[f];S+=M[f&~G];T+=M[G&~f];f&&(K|=f,a<I&&(I=a),a>N&&(N=a),0!==(f&1)&&(Q|=p.qd),Q|=p.zc)}K&&(0!==(K&32768)&&(Q|=p.uc),0!==(K&1)&&(Q|=p.yc));J[A]|=K;if(K||E)y|=1<<g,Q&&(0!==(Q&
p.uc)&&(15>g?y|=1<<g+1:0<q&&0<A&&(n[q-1]|=1)),0!==(Q&p.yc)&&(0<g?y|=1<<g-1:q<ba-1&&A<Z-1&&(n[q+1]|=32768)),0!==(Q&p.qc)&&(z|=1<<g),0!==(Q&p.zc)&&(w|=1<<g),0!==(Q&p.bd)&&(15>g?z|=1<<g+1:0<q&&0<A&&(v[q-1]|=1)),0!==(Q&p.cd)&&(0<g?z|=1<<g-1:q<ba-1&&A<Z-1&&(v[q+1]|=32768)),0!==(Q&p.pd)&&(15>g?w|=1<<g+1:0<q&&0<A&&(D[q-1]|=1)),0!==(Q&p.qd)&&(0<g?w|=1<<g-1:q<ba-1&&A<Z-1&&(D[q+1]|=32768)))}A+=1}n[q]|=y;0<d&&(v[q]|=z);d<aa-1&&(D[q]|=w)}else A+=16;u+=16;B+=16}for(q=0;q<Z;q+=1)J[q]&&(q<V&&(V=q),q>W&&(W=q));V=
(V<<4)+this.Je(J[V]);W=(W<<4)+this.Le(J[W]);0>N&&(N=X-1);I>=X&&(I=0);V>=Y&&(V=0);0>W&&(W=Y-1);N>X-1&&(N=X-1);0>I&&(I=0);0>V&&(V=0);W>Y-1&&(W=Y-1);O.oa=N;O.ha=I;O.ja=V;O.la=W;for(d=0;d<P.length;d+=1)P[d]=0;this.Vc=R;this.Ic=S;this.Mc=T};n.prototype.Pg=function(c,e){for(var b=0,m=0,a=null,g=null,l=null,k=this.ia,f=null,d=0,q=0,x=0,C=0,h=0,r=0,n=0,p=0,v=0,D=this.g,t=this.c>>4,h=0,r=h+16,q=0;q<D;q+=1){n=0;f=k[q];for(x=0;x<t;x+=1)if(p=f[x])for(C=15;0<=C;--C){if(0!==(p&1<<C))for(m=h;m<r;m+=2)a=c[m],g=c[m+
1],l=e[m],b=n<<3,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),l[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),l[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),l[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),l[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],
(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),l[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),l[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),l[b+b]=v,b+=1,v=0,d=a[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),d=g[b],(d&255)>v&&(v=d&255),d>>=8,d>v&&(v=d),l[b+b]=v;n+=1}else n+=16;h+=16;r+=16}};n.prototype.Kf=function(c,e){for(var b=0,m=0,a=null,g=null,l=null,k=this.ia,f=null,d=0,q=0,x=0,C=0,h=
0,r=0,n=0,p=0,v=0,D=this.g,t=this.c>>4,h=0,r=h+16,q=0;q<D;q+=1){n=0;f=k[q];for(x=0;x<t;x+=1)if(p=f[x])for(C=15;0<=C;--C){if(0!==(p&1<<C))for(b=h;b<r;b+=4)l=e[b],a=c[b],g=c[b+2],m=n<<4,v=a[m],d=a[m+2],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+2],d>v&&(v=d),l[m]=v,m+=4,v=a[m],d=a[m+2],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+2],d>v&&(v=d),l[m]=v,m+=4,v=a[m],d=a[m+2],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+2],d>v&&(v=d),l[m]=v,m+=4,v=a[m],d=a[m+2],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+2],d>v&&(v=d),l[m]=v;n+=1}else n+=16;
h+=16;r+=16}};n.prototype.Lf=function(c,e){for(var b=0,m=0,a=null,g=null,l=null,k=this.ia,f=null,d=0,q=0,x=0,C=0,h=0,r=0,n=0,p=0,v=0,D=this.g,t=this.c>>4,h=0,r=h+16,q=0;q<D;q+=1){n=0;f=k[q];for(x=0;x<t;x+=1)if(p=f[x])for(C=15;0<=C;--C){if(0!==(p&1<<C))for(b=h;b<r;b+=8)l=e[b],a=c[b],g=c[b+4],m=n<<4,v=a[m],d=a[m+4],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+4],d>v&&(v=d),l[m]=v,m+=8,v=a[m],d=a[m+4],d>v&&(v=d),d=g[m],d>v&&(v=d),d=g[m+4],d>v&&(v=d),l[m]=v;n+=1}else n+=16;h+=16;r+=16}};n.prototype.Ng=function(c,
e){for(var b=0,m=null,a=null,g=null,l=this.ia,k=null,f=m=0,d=0,q=0,x=0,C=0,h=0,r=0,n=this.g,p=this.c>>4,f=x=0;f<n;f+=1){C=0;k=l[f];for(d=0;d<p;d+=1)if(h=k[d])for(q=15;0<=q;--q)0!==(h&1<<q)&&(g=e[x],m=c[x],a=c[x+8],b=C<<4,r=m[b],m=m[b+8],m>r&&(r=m),m=a[b],m>r&&(r=m),m=a[b+8],m>r&&(r=m),g[b]=r),C+=1;else C+=16;x+=16}};n.prototype.bi=function(){1>this.zoom&&(this.Pg(this.Ig,this.s),.5>this.zoom&&(this.Kf(this.s,this.ua),.25>this.zoom&&(this.Lf(this.ua,this.va),.125>this.zoom&&this.Ng(this.va,this.Ka))));
this.ud&&1>this.zoom&&(this.Pg(this.Ud,this.V),.5>this.zoom&&(this.Kf(this.V,this.mc),.25>this.zoom&&(this.Lf(this.mc,this.nc),.125>this.zoom&&this.Ng(this.nc,this.ed))))};n.prototype.ii=function(){var c=0,e=0,b=0,m=this.ba,a=null,g=null,l=null,k=this.ia,f=this.xa,d=null,q=null,x=null,C=null,h=0,r=0,n=0,p=0,v=0,D=0,t=0,y=0,z=0,w=0,u=0,D=this.g,B=this.c>>4,A=this.u-1,c=0,E=D;this.Xb=this.R=0;0!==(this.m&1)?(d=this.aa,x=this.ka):(d=this.La,x=this.T);0>c&&(c=0);E>D&&(E=D);D=c<<4;t=D+16;for(r=c;r<E;r+=
1){y=0;C=x[r];g=f[r];l=k[r];for(n=0;n<B;n+=1){z=C[n]|g[n];w=0;if(z)for(p=15;0<=p;--p){if(0!==(z&1<<p)){u=0;for(c=D;c<t;c+=1)q=d[c],a=m[c],e=y<<4,b=q[y],v=32768,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],
0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],
0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,e+=1,v>>=1,h=a[e],0!==h&&h!==A||0===(b&v)?(b&=~v,0<h&&(--h,u|=h)):(h=A,u|=h),a[e]=h,q[y]=b,this.R|=
b;u&&(w|=1<<p,this.Xb=u)}y+=1}else y+=16;g[n]=w;l[n]|=w}D+=16;t+=16}};n.prototype.ji=function(){var c=0,e=0,b=this.ba,m=null,a=null,g=this.ia,l=0,k=0,f=0,d=0,q=0,x=0,h=0,n=0,r=0,x=this.g,p=this.c>>4,c=0,U=x;this.Xb=0;0>c&&(c=0);U>x&&(U=x);x=c<<4;h=x+16;for(k=c;k<U;k+=1){n=0;a=g[k];for(f=0;f<p;f+=1)if(r=a[f])for(d=15;0<=d;--d){if(0!==(r&1<<d))for(c=x;c<h;c+=1)for(m=b[c],e=n<<4,q=15;0<=q;--q)l=m[e],0<l&&--l,m[e]=l,e+=1,this.Xb|=l;n+=1}else n+=16;x+=16;h+=16}};n.prototype.cf=function(){var c=this.R,
e=this.m;-1===this.u?(0===c&&-1!==this.Qh&&(this.m=this.Qh),this.$h(),this.m=e,0!==c&&0===this.R&&(this.Qh=this.m),c=this.R):c=this.R|this.Xb;return c};n.prototype.$h=function(){var c=0,e=0,b=0,m=this.ba,a=null,g=null,l=null,k=this.ia,f=this.xa,d=this.Lg,q=this.S+1,x=null,h=b=null,n=null,r=0,p=0,U=0,v=0,D=0,t=0,y=0,z=0,w=0,u=0,D=this.g,B=this.c>>4,c=0,A=D;this.R=0;0!==(this.m&1)?(x=this.aa,h=this.ka):(x=this.La,h=this.T);0>c&&(c=0);A>D&&(A=D);D=c<<4;t=D+16;for(p=c;p<A;p+=1){y=0;n=h[p];g=f[p];l=k[p];
for(U=0;U<B;U+=1){z=n[U]|g[U];w=0;if(z)for(v=15;0<=v;--v){if(0!==(z&1<<v)){u=0;for(c=D;c<t;)b=x[c],a=m[c],e=y<<4,b=b[y],this.R|=b,u|=b,0!==(b&32768)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16384)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8192)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4096)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2048)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1024)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&512)?r=d[a[e]+q]:(r=d[a[e]],
u|=1<r),a[e]=r,e+=1,0!==(b&256)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&128)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&64)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&32)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,c+=
1,b=x[c],a=m[c],e=y<<4,b=b[y],this.R|=b,u|=b,0!==(b&32768)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16384)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8192)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4096)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2048)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1024)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&512)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&256)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&128)?
r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&64)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&32)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,c+=1,b=x[c],a=m[c],e=y<<4,b=b[y],this.R|=b,u|=b,0!==(b&32768)?r=d[a[e]+q]:(r=d[a[e]],u|=1<
r),a[e]=r,e+=1,0!==(b&16384)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8192)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4096)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2048)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1024)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&512)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&256)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&128)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&64)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),
a[e]=r,e+=1,0!==(b&32)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,c+=1,b=x[c],a=m[c],e=y<<4,b=b[y],this.R|=b,u|=b,0!==(b&32768)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16384)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8192)?
r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4096)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2048)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1024)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&512)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&256)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&128)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&64)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&32)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&16)?r=d[a[e]+
q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&8)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&4)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&2)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,e+=1,0!==(b&1)?r=d[a[e]+q]:(r=d[a[e]],u|=1<r),a[e]=r,c+=1;u&&(w|=1<<v)}y+=1}else y+=16;g[U]=w;l[U]|=w}D+=16;t+=16}};n.prototype.te=function(c,e,b,m,a,g,l,k){var f=this.A,d=this.Pa,q=1,x=0,h=0,n=q=0,r=f.ja,q=f.la,n=f.oa,f=f.ha;this.tc&&(d.ja<r&&(r=d.ja),d.la>q&&(q=d.la),d.oa>n&&(n=d.oa),d.ha<f&&(f=d.ha));-1!==this.pb&&
(x=this.ga,h=this.Ca,this.width/2-x/2<r&&(r=this.width/2-x/2),this.width/2+x/2>q&&(q=this.width/2+x/2),this.height/2-h/2<f&&(f=this.height/2-h/2),this.height/2+h/2>n&&(n=this.height/2+h/2));k?(x=g,h=l,r=this.width/2-x/2,q=this.width/2+x/2,n=this.height/2+h/2,f=this.height/2-h/2):(x=q-r+1,h=n-f+1);this.I&&(r-=n/2,x=q-f/2-r+1);0===x&&(x=1);0===h&&(h=1);q=c/x;n=e/h;q=(q>n?n:q)/a;q<b?q=b:q>m&&(q=m);return[q,r+x/2,f+h/2]};n.prototype.di=function(c,e,b){var m=0,a=this.wb,g=this.i,l=e*this.o+m;if(0<=e&&
e<g)for(;m<=c;)a[l]=b,l+=1,m+=1};n.prototype.Ae=function(c,e,b,m){var a=this.wb,g=this.o,l=e*g+c;if(0<=c&&c<g)for(;e<=b;)a[l]=m,l+=g,e+=1};n.prototype.vb=function(){for(var c=0,e=0,b=1,m=this.o,a=this.i,g=this.Ge,l=this.Ee,k=this.zoom,f=0,d=0,q=g,x=g,h=((this.height/2-this.v)*k+a/2)%k,n=((this.width/2-this.D)*k+m/2)%k,b=2,x=g;b;){f=-(m/2/k)-(this.width/2-this.D)|0;for(c=0;c<=m;c+=k)if(0<this.Qd&&(q=0===f%this.Qd?l:g),f+=1,q===x)if(this.I)for(d=-(a/2/k)-(this.height/2-this.v)|0,e=h;e<a;e+=k)0===(d&
1)?this.Ae(c+n|0,e|0,e+k-1|0,q):this.Ae(c+n+k/2|0,e|0,e+k-1|0,q),d+=1;else this.Ae(c+n|0,0,a-1,q);f=-(a/2/k)-(this.height/2-this.v)|0;for(e=h;e<a;e+=k)0<this.Qd&&(q=0===f%this.Qd?l:g),f+=1,q===x&&this.di(m-1,e|0,q);--b;x=l}};n.prototype.rd=function(){return 4<=this.zoom&&0===this.P};n.prototype.ci=function(){var c=this.ga,e=this.Ca,b=this.ba,m=(this.width-c)/2-1|0,a=(this.width+c)/2|0,g=(this.height-e)/2-1|0,l=(this.height+e)/2|0,k=p.ak,f=b[g],d=b[l],q=0;if(0===c)for(q=0;q<this.width;q+=1)f[q]=k,
d[q]=k;else if(0===e)for(q=0;q<this.height;q+=1)b[q][m]=k,b[q][a]=k;else{for(q=m;q<=a;q+=1)f[q]=k,d[q]=k;for(q=g+1;q<=l-1;q+=1)b[q][m]=k,b[q][a]=k}};n.prototype.Gn=function(){this.me&&(this.ik(),--this.me,this.me||(this.Ha.set(this.fa),this.Ja.set(this.ta),this.oc.set(this.fb)));this.j=this.zoom;this.G=this.D;this.J=this.v;this.b=this.Lb/2+1;this.P=this.I?0:this.B;-1!==this.pb&&this.ci();this.bi();.125>this.zoom?this.ud?0===this.m?this.Za(this.ed,15):this.Lc(this.ed,this.Ka,15):this.Za(this.Ka,15):
.25>this.zoom?this.ud?0===this.m?this.Za(this.nc,7):this.Lc(this.nc,this.va,7):this.Za(this.va,7):.5>this.zoom?this.ud?0===this.m?this.Za(this.mc,3):this.Lc(this.mc,this.ua,3):this.Za(this.ua,3):1>this.zoom?this.ud?0===this.m?this.Za(this.V,1):this.Lc(this.V,this.s,1):this.Za(this.s,1):this.ud?0===this.m?this.Za(this.zb,0):this.Lc(this.zb,this.ba,0):this.Za(this.ba,0)};n.prototype.$m=function(c,e){var b=this.o>>3,m=this.md,a=this.wb,g=0,l=0,k=0,f=0,d=0,q=0,x=0,h=0,n=0,r=0,p=0,U=1,v=1,D=0,t=0,y=this.sa&
~e,z=this.ya&~e,w=~e,u=~e,g=0,B=c,A=this.j;1<this.b&&(U=this.l);q=Math.sin(this.P/180*Math.PI)/this.j;x=Math.cos(this.P/180*Math.PI)/this.j;h=-(this.o/2*-q+this.i/2*x)+this.J;n=-(this.o/2*x+this.i/2*q)+this.G;1<this.l&&1<this.b&&(D=.4/(this.l-1),v=.6);this.qb(v);g=8192>this.width?m[0]|0:this.$e|0;p=0;d=h;for(l=0;l<this.i;l+=1){f=n;for(k=0;k<b;k+=1)(f&w)===(f&y)&&(d&u)===(d&z)?(t=B[d&z][f&y]|0,a[p]=m[t]):a[p]=g,p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)?(t=B[d&z][f&y]|0,a[p]=m[t]):a[p]=g,p+=1,f+=
x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)?(t=B[d&z][f&y]|0,a[p]=m[t]):a[p]=g,p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)?(t=B[d&z][f&y]|0,a[p]=m[t]):a[p]=g,p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)?(t=B[d&z][f&y]|0,a[p]=m[t]):a[p]=g,p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)?(t=B[d&z][f&y]|0,a[p]=m[t]):a[p]=g,p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)?(t=B[d&z][f&y]|0,a[p]=m[t]):a[p]=g,p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)?(t=B[d&z][f&y]|0,a[p]=m[t]):a[p]=g,p+=1,f+=x,d-=q;n+=q;d=h+=x}this.$a&&
this.rd()&&this.vb();for(g=1;g<U;g+=1)for(r=-1!==this.u?this.u/this.l*g|0:(this.S+1)/this.l*g|0,v+=D,this.qb(v),q/=this.b,x/=this.b,A*=this.b,.125>A?(B=this.Ka,e=15):.25>A?(B=this.va,e=7):.5>A?(B=this.ua,e=3):1>A?(B=this.s,e=1):(B=this.ba,e=0),y=this.sa&~e,z=this.ya&~e,w=~e,u=~e,h=-(this.o/2*-q+this.i/2*x)+this.J,n=-(this.o/2*x+this.i/2*q)+this.G,p=0,d=h,l=0;l<this.i;l+=1){f=n;for(k=0;k<b;k+=1)(f&w)===(f&y)&&(d&u)===(d&z)&&(t=B[d&z][f&y]|0,t>=r&&(a[p]=m[t])),p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===
(d&z)&&(t=B[d&z][f&y]|0,t>=r&&(a[p]=m[t])),p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)&&(t=B[d&z][f&y]|0,t>=r&&(a[p]=m[t])),p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)&&(t=B[d&z][f&y]|0,t>=r&&(a[p]=m[t])),p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)&&(t=B[d&z][f&y]|0,t>=r&&(a[p]=m[t])),p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)&&(t=B[d&z][f&y]|0,t>=r&&(a[p]=m[t])),p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)&&(t=B[d&z][f&y]|0,t>=r&&(a[p]=m[t])),p+=1,f+=x,d-=q,(f&w)===(f&y)&&(d&u)===(d&z)&&(t=B[d&z][f&
y]|0,t>=r&&(a[p]=m[t])),p+=1,f+=x,d-=q;n+=q;d=h+=x}};n.prototype.an=function(c,e){var b=this.o>>3,m=this.md,a=this.wb,g=0,l=0,k=0,f=0,d=0,q=0,x=0,h=0,n=0,r=0,p=1,t=1,v=0,D=0,B=this.sa&~e,y=this.ya&~e,z=~e,w=~e,g=0,u=c,H=null,A=this.j;1<this.b&&(p=this.l);q=1/this.j;x=-(this.i/2*q)+this.J;h=-(this.o/2*q)+this.G;1<this.l&&1<this.b&&(v=.4/(this.l-1),t=.6);this.qb(t);g=8192>this.width?m[0]|0:this.$e|0;r=0;d=x;for(l=0;l<this.i;l+=1){if((d&w)===(d&y))for(H=u[d&y],f=h,this.I&&(f+=.5*(d|0)),k=0;k<b;k+=1)(f&
z)===(f&B)?(D=H[f&B]|0,a[r]=m[D]):a[r]=g,r+=1,f+=q,(f&z)===(f&B)?(D=H[f&B]|0,a[r]=m[D]):a[r]=g,r+=1,f+=q,(f&z)===(f&B)?(D=H[f&B]|0,a[r]=m[D]):a[r]=g,r+=1,f+=q,(f&z)===(f&B)?(D=H[f&B]|0,a[r]=m[D]):a[r]=g,r+=1,f+=q,(f&z)===(f&B)?(D=H[f&B]|0,a[r]=m[D]):a[r]=g,r+=1,f+=q,(f&z)===(f&B)?(D=H[f&B]|0,a[r]=m[D]):a[r]=g,r+=1,f+=q,(f&z)===(f&B)?(D=H[f&B]|0,a[r]=m[D]):a[r]=g,r+=1,f+=q,(f&z)===(f&B)?(D=H[f&B]|0,a[r]=m[D]):a[r]=g,r+=1,f+=q;else for(k=0;k<b;k+=1)a[r]=g,r+=1,a[r]=g,r+=1,a[r]=g,r+=1,a[r]=g,r+=1,a[r]=
g,r+=1,a[r]=g,r+=1,a[r]=g,r+=1,a[r]=g,r+=1;d=x+=q}this.$a&&this.rd()&&this.vb();for(g=1;g<p;g+=1)for(n=-1!==this.u?this.u/this.l*g|0:(this.S+1)/this.l*g|0,t+=v,this.qb(t),q/=this.b,A*=this.b,.125>A?(u=this.Ka,e=15):.25>A?(u=this.va,e=7):.5>A?(u=this.ua,e=3):1>A?(u=this.s,e=1):(u=this.ba,e=0),B=this.sa&~e,y=this.ya&~e,z=~e,w=~e,x=-(this.i/2*q)+this.J,h=-(this.o/2*q)+this.G,r=0,d=x,l=0;l<this.i;l+=1){if((d&w)===(d&y))for(H=u[d&y],f=h,this.I&&(f+=.5*(d|0)),k=0;k<b;k+=1)(f&z)===(f&B)&&(D=H[f&B]|0,D>=
n&&(a[r]=m[D])),r+=1,f+=q,(f&z)===(f&B)&&(D=u[d&y][f&B]|0,D>=n&&(a[r]=m[D])),r+=1,f+=q,(f&z)===(f&B)&&(D=u[d&y][f&B]|0,D>=n&&(a[r]=m[D])),r+=1,f+=q,(f&z)===(f&B)&&(D=u[d&y][f&B]|0,D>=n&&(a[r]=m[D])),r+=1,f+=q,(f&z)===(f&B)&&(D=u[d&y][f&B]|0,D>=n&&(a[r]=m[D])),r+=1,f+=q,(f&z)===(f&B)&&(D=u[d&y][f&B]|0,D>=n&&(a[r]=m[D])),r+=1,f+=q,(f&z)===(f&B)&&(D=u[d&y][f&B]|0,D>=n&&(a[r]=m[D])),r+=1,f+=q,(f&z)===(f&B)&&(D=u[d&y][f&B]|0,D>=n&&(a[r]=m[D])),r+=1,f+=q;else r+=b<<3;d=x+=q}};n.prototype.dn=function(c,
e){var b=this.o>>3,h=this.md,a=this.wb,g=0,l=0,k=0,f=0,d=0,q=0,x=0,C=0,n=0,r=0,p=0,t=1,v=1,D=0,B=0,y=this.sa&~e,z=this.ya&~e,w=c,u=this.j;1<this.b&&(t=this.l);q=Math.sin(this.P/180*Math.PI)/this.j;x=Math.cos(this.P/180*Math.PI)/this.j;C=-(this.o/2*-q+this.i/2*x)+this.J;n=-(this.o/2*x+this.i/2*q)+this.G;1<this.l&&1<this.b&&(D=.4/(this.l-1),v=.6);this.qb(v);p=0;d=C;for(l=0;l<this.i;l+=1){f=n;for(k=0;k<b;k+=1)B=w[d&z][f&y]|0,a[p]=h[B],p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,a[p]=h[B],p+=1,f+=x,d-=q,B=w[d&z][f&
y]|0,a[p]=h[B],p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,a[p]=h[B],p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,a[p]=h[B],p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,a[p]=h[B],p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,a[p]=h[B],p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,a[p]=h[B],p+=1,f+=x,d-=q;n+=q;d=C+=x}this.$a&&this.rd()&&this.vb();for(g=1;g<t;g+=1)for(r=-1!==this.u?this.u/this.l*g|0:(this.S+1)/this.l*g|0,v+=D,this.qb(v),q/=this.b,x/=this.b,u*=this.b,.125>u?(w=this.Ka,e=15):.25>u?(w=this.va,e=7):.5>u?(w=this.ua,e=3):1>u?(w=this.s,e=1):(w=this.ba,e=0),y=
this.sa&~e,z=this.ya&~e,C=-(this.o/2*-q+this.i/2*x)+this.J,n=-(this.o/2*x+this.i/2*q)+this.G,p=0,d=C,l=0;l<this.i;l+=1){f=n;for(k=0;k<b;k+=1)B=w[d&z][f&y]|0,B>=r&&(a[p]=h[B]),p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,B>=r&&(a[p]=h[B]),p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,B>=r&&(a[p]=h[B]),p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,B>=r&&(a[p]=h[B]),p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,B>=r&&(a[p]=h[B]),p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,B>=r&&(a[p]=h[B]),p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,B>=r&&(a[p]=h[B]),p+=1,f+=x,d-=q,B=w[d&z][f&y]|0,B>=
r&&(a[p]=h[B]),p+=1,f+=x,d-=q;n+=q;d=C+=x}};n.prototype.en=function(c,e){var b=this.o>>3,h=this.md,a=this.wb,g=0,l=0,k=0,f=0,d=k=0,q=0,x=0,C=0,n=0,r=1,p=1,t=0,v=0,D=this.sa&~e,B=this.ya&~e,y=c,z=null,w=this.j;1<this.b&&(r=this.l);d=1/this.j;q=-(this.i/2*d)+this.J;x=-(this.o/2*d)+this.G;1<this.l&&1<this.b&&(t=.4/(this.l-1),p=.6);this.qb(p);n=0;k=q;for(l=0;l<this.i;l+=1){z=y[k&B];f=x;this.I&&(f+=.5*(k|0));for(k=0;k<b;k+=1)v=z[f&D]|0,a[n]=h[v],n+=1,f+=d,v=z[f&D]|0,a[n]=h[v],n+=1,f+=d,v=z[f&D]|0,a[n]=
h[v],n+=1,f+=d,v=z[f&D]|0,a[n]=h[v],n+=1,f+=d,v=z[f&D]|0,a[n]=h[v],n+=1,f+=d,v=z[f&D]|0,a[n]=h[v],n+=1,f+=d,v=z[f&D]|0,a[n]=h[v],n+=1,f+=d,v=z[f&D]|0,a[n]=h[v],n+=1,f+=d;k=q+=d}this.$a&&this.rd()&&this.vb();for(g=1;g<r;g+=1)for(C=-1!==this.u?this.u/this.l*g|0:(this.S+1)/this.l*g|0,p+=t,this.qb(p),d/=this.b,w*=this.b,.125>w?(y=this.Ka,e=15):.25>w?(y=this.va,e=7):.5>w?(y=this.ua,e=3):1>w?(y=this.s,e=1):(y=this.ba,e=0),D=this.sa&~e,B=this.ya&~e,q=-(this.i/2*d)+this.J,x=-(this.o/2*d)+this.G,n=0,k=q,l=
0;l<this.i;l+=1){z=y[k&B];f=x;this.I&&(f+=.5*(k|0));for(k=0;k<b;k+=1)v=z[f&D]|0,v>=C&&(a[n]=h[v]),n+=1,f+=d,v=z[f&D]|0,v>=C&&(a[n]=h[v]),n+=1,f+=d,v=z[f&D]|0,v>=C&&(a[n]=h[v]),n+=1,f+=d,v=z[f&D]|0,v>=C&&(a[n]=h[v]),n+=1,f+=d,v=z[f&D]|0,v>=C&&(a[n]=h[v]),n+=1,f+=d,v=z[f&D]|0,v>=C&&(a[n]=h[v]),n+=1,f+=d,v=z[f&D]|0,v>=C&&(a[n]=h[v]),n+=1,f+=d,v=z[f&D]|0,v>=C&&(a[n]=h[v]),n+=1,f+=d;k=q+=d}};n.prototype.Za=function(c,e){var b=Math.sin(this.P/180*Math.PI)/this.j,h=Math.cos(this.P/180*Math.PI)/this.j,a=
this.o,g=this.i,l=-(this.o/2*-b+this.i/2*h)+this.J,k=-(this.o/2*h+this.i/2*b)+this.G,f=l+a*-b,d=k+a*h,q=l+g*h,g=k+g*b,b=q+a*-b,h=g+a*h,a=l,x=k;d<x&&(x=d);g<x&&(x=g);h<x&&(x=g);d>k&&(k=d);g>k&&(k=g);h>k&&(k=h);f<a&&(a=f);q<a&&(a=q);b<a&&(a=b);f>l&&(l=f);q>l&&(l=q);b>l&&(l=b);0>(x|0)||(k|0)>=this.width||0>(a|0)||(l|0)>=this.height?0===this.P?this.an(c,e):this.$m(c,e):0===this.P?this.en(c,e):this.dn(c,e)};n.prototype.km=function(c,e,b){var h=this.o>>3,a=this.md,g=this.wb,l=0,k=0,f=0,d=0,q=0,x=0,C=0,
n=0,r=0,p=0,l=ViewConstants.ma[3]+128,p=ViewConstants.ma[4]+128,t=ViewConstants.ma[5]+128,v=ViewConstants.ma[6]+128,D=0,B=1,y=1,z=0,w=0,u=0,w=0,H=this.Y,A=this.sa&~b,E=this.ya&~b,G=~b;b=~b;var J=0,K=this.j;1<this.b&&(B=this.l);x=Math.sin(this.P/180*Math.PI)/this.j;C=Math.cos(this.P/180*Math.PI)/this.j;n=-(this.o/2*-x+this.i/2*C)+this.J;r=-(this.o/2*C+this.i/2*x)+this.G;1<this.l&&1<this.b&&(z=.4/(this.l-1),y=.6);this.qb(y);J=8192>this.width?a[0]|0:this.$e|0;D=0;q=n;for(k=0;k<this.i;k+=1){d=r;for(f=
0;f<h;f+=1)(d&G)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=
1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,
D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)?(w=e[q&E][d&A],u=c[q&E][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w):g[D]=J,D+=1,d+=C,q-=x;r+=x;q=n+=C}this.$a&&this.rd()&&this.vb();for(l=1;l<B;l+=1)for(p=-1!==this.u?this.u/this.l*l|0:(this.S+1)/this.l*l|0,y+=z,this.qb(y),x/=this.b,C/=this.b,
K*=this.b,.125>K?(e=this.Ka,b=15):.25>K?(e=this.va,b=7):.5>K?(e=this.ua,b=3):1>K?(e=this.s,b=1):(e=this.ba,b=0),A=this.sa&~b,E=this.ya&~b,G=~b,b=~b,n=-(this.o/2*-x+this.i/2*C)+this.J,r=-(this.o/2*C+this.i/2*x)+this.G,D=0,q=n,k=0;k<this.i;k+=1){d=r;for(f=0;f<h;f+=1)(d&G)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=
C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x,(d&G)===(d&A)&&(q&b)===(q&E)&&(w=e[q&E][d&A]|0,w>=p&&(g[D]=a[w])),D+=1,d+=C,q-=x;r+=x;q=n+=C}};n.prototype.Rm=function(c,e,b){var h=this.o>>3,a=this.md,g=this.wb,l=0,k=0,
f=0,d=0,q=0,x=0,C=0,n=0,r=0,p=0,l=ViewConstants.ma[3]+128,p=ViewConstants.ma[4]+128,t=ViewConstants.ma[5]+128,v=ViewConstants.ma[6]+128,D=0,B=1,y=1,z=0,w=0,u=0,w=0,H=this.Y,A=this.sa&~b;b=this.ya&~b;var E=this.j;1<this.b&&(B=this.l);x=Math.sin(this.P/180*Math.PI)/this.j;C=Math.cos(this.P/180*Math.PI)/this.j;n=-(this.o/2*-x+this.i/2*C)+this.J;r=-(this.o/2*C+this.i/2*x)+this.G;1<this.l&&1<this.b&&(z=.4/(this.l-1),y=.6);this.qb(y);D=0;q=n;for(k=0;k<this.i;k+=1){d=r;for(f=0;f<h;f+=1)w=e[q&b][d&A],u=c[q&
b][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=
e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=w,D+=1,d+=C,q-=x,w=e[q&b][d&A],u=c[q&b][d&A],u===p||u===v?(w>=H&&(u=l),w=a[u]|0):u===l||u===t?(w<H&&(u=p),w=a[u]|0):w=a[w]|0,g[D]=
w,D+=1,d+=C,q-=x;r+=x;q=n+=C}this.$a&&this.rd()&&this.vb();for(l=1;l<B;l+=1)for(p=-1!==this.u?this.u/this.l*l|0:(this.S+1)/this.l*l|0,y+=z,this.qb(y),x/=this.b,C/=this.b,E*=this.b,.125>E?(e=this.Ka,b=15):.25>E?(e=this.va,b=7):.5>E?(e=this.ua,b=3):1>E?(e=this.s,b=1):(e=this.ba,b=0),A=this.sa&~b,b=this.ya&~b,n=-(this.o/2*-x+this.i/2*C)+this.J,r=-(this.o/2*C+this.i/2*x)+this.G,D=0,q=n,k=0;k<this.i;k+=1){d=r;for(f=0;f<h;f+=1)w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=
a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x,w=e[q&b][d&A]|0,w>=p&&(g[D]=a[w]),D+=1,d+=C,q-=x;r+=x;q=n+=C}};n.prototype.Xm=function(c,e,b){var h=this.o>>3,a=this.md,g=this.wb,l=0,k=0,f=0,d=0,q=f=0,x=0,C=0,n=0,l=ViewConstants.ma[3]+128,n=ViewConstants.ma[4]+128,r=ViewConstants.ma[5]+
128,p=ViewConstants.ma[6]+128,t=0,v=1,D=1,B=0,y=0,z=0,y=0,w=this.Y,u=this.sa&~b;b=this.ya&~b;var H=null,A=null,E=this.j;1<this.b&&(v=this.l);q=1/this.j;x=-(this.i/2*q)+this.J;C=-(this.o/2*q)+this.G;1<this.l&&1<this.b&&(B=.4/(this.l-1),D=.6);this.qb(D);t=0;f=x;for(k=0;k<this.i;k+=1){H=e[f&b];A=c[f&b];d=C;this.I&&(d+=.5*(f|0));for(f=0;f<h;f+=1)y=H[d&u],z=A[d&u],z===n||z===p?(y>=w&&(z=l),y=a[z]|0):z===l||z===r?(y<w&&(z=n),y=a[z]|0):y=a[y]|0,g[t]=y,t+=1,d+=q,y=H[d&u],z=A[d&u],z===n||z===p?(y>=w&&(z=l),
y=a[z]|0):z===l||z===r?(y<w&&(z=n),y=a[z]|0):y=a[y]|0,g[t]=y,t+=1,d+=q,y=H[d&u],z=A[d&u],z===n||z===p?(y>=w&&(z=l),y=a[z]|0):z===l||z===r?(y<w&&(z=n),y=a[z]|0):y=a[y]|0,g[t]=y,t+=1,d+=q,y=H[d&u],z=A[d&u],z===n||z===p?(y>=w&&(z=l),y=a[z]|0):z===l||z===r?(y<w&&(z=n),y=a[z]|0):y=a[y]|0,g[t]=y,t+=1,d+=q,y=H[d&u],z=A[d&u],z===n||z===p?(y>=w&&(z=l),y=a[z]|0):z===l||z===r?(y<w&&(z=n),y=a[z]|0):y=a[y]|0,g[t]=y,t+=1,d+=q,y=H[d&u],z=A[d&u],z===n||z===p?(y>=w&&(z=l),y=a[z]|0):z===l||z===r?(y<w&&(z=n),y=a[z]|
0):y=a[y]|0,g[t]=y,t+=1,d+=q,y=H[d&u],z=A[d&u],z===n||z===p?(y>=w&&(z=l),y=a[z]|0):z===l||z===r?(y<w&&(z=n),y=a[z]|0):y=a[y]|0,g[t]=y,t+=1,d+=q,y=H[d&u],z=A[d&u],z===n||z===p?(y>=w&&(z=l),y=a[z]|0):z===l||z===r?(y<w&&(z=n),y=a[z]|0):y=a[y]|0,g[t]=y,t+=1,d+=q;f=x+=q}this.$a&&this.rd()&&this.vb();for(l=1;l<v;l+=1)for(n=-1!==this.u?this.u/this.l*l|0:(this.S+1)/this.l*l|0,D+=B,this.qb(D),q/=this.b,E*=this.b,.125>E?(e=this.Ka,b=15):.25>E?(e=this.va,b=7):.5>E?(e=this.ua,b=3):1>E?(e=this.s,b=1):(e=this.ba,
b=0),u=this.sa&~b,b=this.ya&~b,x=-(this.i/2*q)+this.J,C=-(this.o/2*q)+this.G,t=0,f=x,k=0;k<this.i;k+=1){H=e[f&b];d=C;this.I&&(d+=.5*(f|0));for(f=0;f<h;f+=1)y=H[d&u]|0,y>=n&&(g[t]=a[y]),t+=1,d+=q,y=H[d&u]|0,y>=n&&(g[t]=a[y]),t+=1,d+=q,y=H[d&u]|0,y>=n&&(g[t]=a[y]),t+=1,d+=q,y=H[d&u]|0,y>=n&&(g[t]=a[y]),t+=1,d+=q,y=H[d&u]|0,y>=n&&(g[t]=a[y]),t+=1,d+=q,y=H[d&u]|0,y>=n&&(g[t]=a[y]),t+=1,d+=q,y=H[d&u]|0,y>=n&&(g[t]=a[y]),t+=1,d+=q,y=H[d&u]|0,y>=n&&(g[t]=a[y]),t+=1,d+=q;f=x+=q}};n.prototype.Mm=function(c,
e,b){var h=this.o>>3,a=this.md,g=this.wb,l=0,k=0,f=0,d=0,q=f=0,x=0,C=0,n=0,l=ViewConstants.ma[3]+128,n=ViewConstants.ma[4]+128,r=ViewConstants.ma[5]+128,p=ViewConstants.ma[6]+128,t=0,v=1,D=1,B=0,y=0,z=0,w=y=0,u=this.Y,H=this.sa&~b,A=this.ya&~b,E=~b;b=~b;var G=null,J=null,K=this.j;1<this.b&&(v=this.l);q=1/this.j;x=-(this.i/2*q)+this.J;C=-(this.o/2*q)+this.G;1<this.l&&1<this.b&&(B=.4/(this.l-1),D=.6);this.qb(D);w=8192>this.width?a[0]|0:this.$e|0;t=0;f=x;for(k=0;k<this.i;k+=1){if((f&b)===(f&A))for(G=
e[f&A],J=c[f&A],d=C,this.I&&(d+=.5*(f|0)),f=0;f<h;f+=1)(d&E)===(d&H)?(y=G[d&H],z=J[d&H],z===n||z===p?(y>=u&&(z=l),y=a[z]|0):z===l||z===r?(y<u&&(z=n),y=a[z]|0):y=a[y]|0):y=w,g[t]=y,t+=1,d+=q,(d&E)===(d&H)?(y=G[d&H],z=J[d&H],z===n||z===p?(y>=u&&(z=l),y=a[z]|0):z===l||z===r?(y<u&&(z=n),y=a[z]|0):y=a[y]|0):y=w,g[t]=y,t+=1,d+=q,(d&E)===(d&H)?(y=G[d&H],z=J[d&H],z===n||z===p?(y>=u&&(z=l),y=a[z]|0):z===l||z===r?(y<u&&(z=n),y=a[z]|0):y=a[y]|0):y=w,g[t]=y,t+=1,d+=q,(d&E)===(d&H)?(y=G[d&H],z=J[d&H],z===n||z===
p?(y>=u&&(z=l),y=a[z]|0):z===l||z===r?(y<u&&(z=n),y=a[z]|0):y=a[y]|0):y=w,g[t]=y,t+=1,d+=q,(d&E)===(d&H)?(y=G[d&H],z=J[d&H],z===n||z===p?(y>=u&&(z=l),y=a[z]|0):z===l||z===r?(y<u&&(z=n),y=a[z]|0):y=a[y]|0):y=w,g[t]=y,t+=1,d+=q,(d&E)===(d&H)?(y=G[d&H],z=J[d&H],z===n||z===p?(y>=u&&(z=l),y=a[z]|0):z===l||z===r?(y<u&&(z=n),y=a[z]|0):y=a[y]|0):y=w,g[t]=y,t+=1,d+=q,(d&E)===(d&H)?(y=G[d&H],z=J[d&H],z===n||z===p?(y>=u&&(z=l),y=a[z]|0):z===l||z===r?(y<u&&(z=n),y=a[z]|0):y=a[y]|0):y=w,g[t]=y,t+=1,d+=q,(d&E)===
(d&H)?(y=G[d&H],z=J[d&H],z===n||z===p?(y>=u&&(z=l),y=a[z]|0):z===l||z===r?(y<u&&(z=n),y=a[z]|0):y=a[y]|0):y=w,g[t]=y,t+=1,d+=q;else for(f=0;f<h;f+=1)g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1,g[t]=w,t+=1;f=x+=q}this.$a&&this.rd()&&this.vb();for(l=1;l<v;l+=1)for(n=-1!==this.u?this.u/this.l*l|0:(this.S+1)/this.l*l|0,D+=B,this.qb(D),q/=this.b,K*=this.b,.125>K?(e=this.Ka,b=15):.25>K?(e=this.va,b=7):.5>K?(e=this.ua,b=3):1>K?(e=this.s,b=1):(e=this.ba,b=0),H=this.sa&
~b,A=this.ya&~b,E=~b,b=~b,x=-(this.i/2*q)+this.J,C=-(this.o/2*q)+this.G,t=0,f=x,k=0;k<this.i;k+=1){if((f&b)===(f&A))for(G=e[f&A],d=C,this.I&&(d+=.5*(f|0)),f=0;f<h;f+=1)(d&E)===(d&H)&&(y=G[d&H]|0,y>=n&&(g[t]=a[y])),t+=1,d+=q,(d&E)===(d&H)&&(y=G[d&H]|0,y>=n&&(g[t]=a[y])),t+=1,d+=q,(d&E)===(d&H)&&(y=G[d&H]|0,y>=n&&(g[t]=a[y])),t+=1,d+=q,(d&E)===(d&H)&&(y=G[d&H]|0,y>=n&&(g[t]=a[y])),t+=1,d+=q,(d&E)===(d&H)&&(y=G[d&H]|0,y>=n&&(g[t]=a[y])),t+=1,d+=q,(d&E)===(d&H)&&(y=G[d&H]|0,y>=n&&(g[t]=a[y])),t+=1,d+=
q,(d&E)===(d&H)&&(y=G[d&H]|0,y>=n&&(g[t]=a[y])),t+=1,d+=q,(d&E)===(d&H)&&(y=G[d&H]|0,y>=n&&(g[t]=a[y])),t+=1,d+=q;else t+=h<<3;f=x+=q}};n.prototype.Lc=function(c,e,b){var h=Math.sin(this.P/180*Math.PI)/this.j,a=Math.cos(this.P/180*Math.PI)/this.j,g=this.o,l=this.i,k=-(this.o/2*-h+this.i/2*a)+this.J,f=-(this.o/2*a+this.i/2*h)+this.G,d=k+g*-h,q=f+g*a,x=k+l*a,l=f+l*h,h=x+g*-h,a=l+g*a,g=k,C=f;q<C&&(C=q);l<C&&(C=l);a<C&&(C=l);q>f&&(f=q);l>f&&(f=l);a>f&&(f=a);d<g&&(g=d);x<g&&(g=x);h<g&&(g=h);d>k&&(k=d);
x>k&&(k=x);h>k&&(k=h);0>(C|0)||(f|0)>=this.width||0>(g|0)||(k|0)>=this.height?0===this.P?this.Mm(c,e,b):this.km(c,e,b):0===this.P?this.Xm(c,e,b):this.Rm(c,e,b)};n.prototype.sk=function(){var c=0,e,b,h;if(!this.Eb.data.buffer)for(b=this.Eb.data,h=this.ze,e=h.length,c=0;c<e;)b[c]=h[c],c+=1,b[c]=h[c],c+=1,b[c]=h[c],c+=1,b[c]=h[c],c+=1;this.we.putImageData(this.Eb,0,0)};n.prototype.Zh=function(){for(var c=0,e=0,b=this.i,h=this.o,a=this.wb,g=this.wd,c=0;c<b;c+=1)a.set(g,e),e+=h};window.LifeConstants=p;
window.Life=n})();(function(){function B(t){this.c=t.replace(/&amp;/gi,"&");this.b=this.c.match(/\S+/g);this.current=0}B.prototype.C=function(){var t="";this.b&&this.current<this.b.length&&(t=this.b[this.current],this.current+=1);return t};B.prototype.Ie=function(){var t="";this.b&&this.current<this.b.length&&(t=this.b[this.current]);return t};B.prototype.wk=function(t){var h=!1;if(this.b)for(;this.current<this.b.length&&!h;)this.b[this.current]===t&&(h=!0),this.current+=1;return h};B.prototype.da=function(){var t=
!1,h="";this.b&&this.current<this.b.length&&(h=this.b[this.current],t=!isNaN(parseFloat(h))&&isFinite(h));return t};window.Script=B})();(function(){function B(h){this.c=h;this.Kk=!1;this.B=this.y=this.x=0;this.depth=this.l=this.zoom=1;this.Ba=0;this.Fa=60;this.step=1;this.Ga=this.na=0;this.sb="";this.Og=this.Ld=this.Jd=this.Gj=this.Jl=this.Il=this.wg=this.Yf=this.Se=this.Uf=this.gg=this.lc=this.Qf=this.Kd=this.fe=this.kc=this.jc=this.ic=this.Fb=!1}function t(){this.Z=[];this.cc=[];this.current=new B(this);this.s=new B(this);this.c=new B(this);this.g=!1;this.ee=0}B.prototype.set=function(h){this.x=h.x;this.y=h.y;this.ic=h.ic;this.jc=
h.jc;this.kc=h.kc;this.Fb=h.Fb;this.B=h.B;this.zoom=h.zoom;this.l=h.l;this.depth=h.depth;this.Ba=h.Ba;this.Fa=h.Fa;this.na=h.na;this.Ga=h.Ga;this.sb=h.sb};B.prototype.b=function(h,n,p){var c=h.Ga+0,e=n.Ga+0,b=h.B+0,m=n.B+0,a=1,g=1,l=1,k=1,f=1;e!==c&&(a=(p-c)/(e-c)+0,g=this.c.Zj(a)+0);n.ic||n.Fb?l=a:l=g;n.jc||n.Fb?k=a:k=g;n.kc||n.Fb?f=a:f=g;this.x=h.x+l*(n.x-h.x);this.y=h.y+k*(n.y-h.y);this.zoom=h.zoom*Math.pow(n.zoom/h.zoom,f);180<m-b?b+=360:-180>m-b&&(m+=360);this.B=(b+g*(m-b))%360;this.l=h.l+a*
(n.l-h.l)|0;this.depth=h.depth+a*(n.depth-h.depth);this.Ba=n.Ba;this.Fa=n.Fa;this.step=n.step;this.na=h.na+a*(n.na-h.na);this.Ga=p;this.sb=n.sb;this.Fb=n.Fb};t.prototype.Yg=function(){return new B(this)};t.prototype.Zj=function(h){return-2*Math.pow(h,3)+3*Math.pow(h,2)+0*h+0};t.prototype.reset=function(){this.Z=[];this.cc=[];this.g=!1;this.ee=0};t.prototype.fn=function(){return this.Z[this.Z.length-1]};t.prototype.vk=function(h){var n=0,n=this.j(h),p=this.Z[n],c=null;h>p.na?n=p.Ga+1E3*(h-p.na)/(p.Fa*
p.step):0<n?(c=this.Z[n-1],n=c.Ga+1E3*(h-c.na)/(p.Fa*p.step)):n=1E3*h/(p.Fa*p.step);return n};t.prototype.jk=function(h,n,p,c,e,b,m,a,g,l,k){var f=this.s,d=0;f.x=h;f.y=n;f.zoom=p;f.B=c;f.Fa=a;f.step=g;f.l=e;f.depth=b;f.Ba=m;f.na=l;this.g&&(k=this.c.Ga);f.Ga=k-1E3;this.update(k);this.c.set(this.current);this.c.Fb=!1;this.c.Ga=k;this.g=!0;return d=f.Ga};t.prototype.Tm=function(){return this.Z[0]};t.prototype.add=function(h){h.Kk?this.cc[this.cc.length]=h:this.Z[this.Z.length]=h};t.prototype.ti=function(h){var n=
!1;this.ee>=this.Z.length-1&&h>=this.Z[this.ee].Ga&&(n=!0);return n};t.prototype.b=function(h){var n=null;return n=h===(h|0)?String(h|0):String(h.toFixed(1))};t.prototype.yn=function(h,n){var p="",c=null;0<=h&&h<this.cc.length&&(c=this.cc[h],p="X "+c.x+" Y "+c.y+" Z "+this.b(c.zoom),""!==c.sb&&(p+=" "+n+c.sb+n));return p};t.prototype.po=function(h,n){var p="",c=null,e=null;0<=h&&h<this.Z.length&&(c=this.Z[h],0<h?(e=this.Z[h-1],p=c.na===e.na?"P "+this.b((c.Ga-e.Ga|0)/1E3):"T "+c.na,c.Fb?p+=" F":(c.x!==
e.x&&(p+=" X "+c.x),c.y!==e.y&&(p+=" Y "+c.y),c.zoom!==e.zoom&&(p+=" Z "+this.b(c.zoom))),c.B!==e.B&&(p+=" A "+c.B),c.l!==e.l&&(p+=" L "+c.l),c.depth!==e.depth&&(p+=" D "+this.b(c.depth)),c.Ba!==e.Ba&&(p+=" C "+c.Ba),c.Fa!==e.Fa&&(p+=" G "+c.Fa),c.step!==e.step&&(p+=" S "+c.step),""!==c.sb&&(p+=" "+n+c.sb+n)):p="T "+c.na+" X "+c.x+" Y "+c.y+" Z "+this.b(c.zoom)+" A "+c.B+" L "+c.l+" D "+this.b(c.depth)+" C "+c.Ba+" G "+c.Fa+" S "+c.step);return p};t.prototype.update=function(h){var n=this.Z.length,
p=!1,c=this.ee,e=null,b=!1;if(this.g)this.current.b(this.s,this.c,h),h>=this.c.Ga&&(this.g=!1);else{for(;c<n&&!p;)e=this.Z[c],e.Ga>=h?p=!0:c+=1;p?0<c?(this.Z[c].Fb&&(this.Z[c].x=this.current.x,this.Z[c].y=this.current.y,this.Z[c].zoom=this.current.zoom),this.current.b(this.Z[c-1],this.Z[c],h)):(c=0,this.current.set(this.Z[c])):(c=n-1,this.current.set(this.Z[c]),b=!0);this.ee=c}return b};t.prototype.j=function(h){for(var n=0,p=!1,c=this.Z,e=this.Z.length;n<e&&!p;)c[n].na>=h?p=!0:n+=1;p||(n=e-1);return n};
t.prototype.Sm=function(h){this.ee=this.j(h)};t.prototype.An=function(h){for(var n=0,p=null,c=null,e=this.Z,b=this.Z.length,n=1;n<b;n+=1)p=e[n-1],c=e[n],c.fe||(c.x=p.x),c.Kd||(c.y=p.y),c.Jd||(c.ic=p.ic),c.Ld||(c.jc=p.jc),c.Og||(c.kc=p.kc),c.Qf||(c.B=p.B),c.lc||(c.zoom=p.zoom),c.gg||(c.l=p.l),c.Uf||(c.depth=p.depth),c.Se||(c.Ba=p.Ba),c.Yf||(c.Fa=p.Fa),c.wg||(c.step=p.step),c.Il?c.na<=p.na&&(h[h.length]=[Keywords.Rh+" "+c.na,"target generation must be later than previous ("+p.na+")"]):c.na=p.na,c.Ga=
c.Jl?1E3*c.Ga+p.Ga:p.Ga+1E3*(c.na-p.na)/(c.Fa*c.step)};window.Waypoint=B;window.WaypointManager=t})();(function(){function B(t,h){var n=this;this.Sj=t;this.h=h;this.top=this.left=0;""!==t.style.left&&(this.left=parseInt(t.style.left,10));""!==t.style.top&&(this.top=parseInt(t.style.top,10));this.bb=this.re=!1;this.dg=this.cg=this.fg=this.eg=this.Cd=this.Bd=-1;registerEvent(t,"mousedown",function(h){n.c(n,h)},!1);registerEvent(document,"mousemove",function(h){n.g(n,h)},!1);registerEvent(document,"mouseup",function(h){n.j(n,h)},!1);registerEvent(t,"touchstart",function(h){n.b(n,h)},!1);registerEvent(t,
"touchmove",function(h){n.b(n,h)},!1);registerEvent(t,"touchend",function(h){n.b(n,h)},!1);registerEvent(window,"resize",function(){n.sl(n)},!1)}B.prototype.sl=function(t){t.Cl(t.left,t.top,t.Sj)};B.prototype.io=function(t,h){var n=this.Sj,p=this.left,c=this.top;this.Cl(p+t,c+h,n)};B.prototype.Cl=function(t,h,n){var p=window.innerWidth-n.clientWidth,c=window.innerHeight-n.clientHeight;window.innerHeight<document.getElementsByTagName("body")[0].clientHeight&&(p-=21);0>t&&(t=0);0>h&&(h=0);t>p&&(t=p);
h>c&&(h=c);n.style.left=t+"px";n.style.top=h+"px";n.style.position="fixed";this.left=t;this.top=h};B.prototype.pm=function(){var t=this.Sj,h=t.offsetParent;this.offsetLeft=t.offsetLeft;for(this.offsetTop=t.offsetTop;h;)this.offsetLeft+=h.offsetLeft,this.offsetTop+=h.offsetTop,h=h.offsetParent;h=t.parentNode;if("fixed"===h.style.position)this.offsetLeft+=document.body.scrollLeft+document.documentElement.scrollLeft,this.offsetTop+=document.body.scrollTop+document.documentElement.scrollTop;else for(;"body"!==
h.tagName.toLowerCase();)this.offsetLeft-=h.scrollLeft,this.offsetTop-=h.scrollTop,h=h.parentNode};B.prototype.b=function(t,h){var n=null,p,c="";if("touchend"===h.type)c="mouseup",p=document.createEvent("MouseEvent"),p.initMouseEvent(c,!0,!0,window,1,t.eg,t.fg,t.cg,t.dg,!1,!1,!1,!1,0,null),h.target.dispatchEvent(p),h.preventDefault();else{if(1===h.touches.length)switch(h.type){case "touchstart":c="mousedown";break;case "touchmove":c="mousemove"}""!==c&&(n=h.changedTouches[0],p=document.createEvent("MouseEvent"),
p.initMouseEvent(c,!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),n.target.dispatchEvent(p),h.preventDefault(),t.eg=n.screenX,t.fg=n.screenY,t.cg=n.clientX,t.dg=n.clientY)}};B.prototype.c=function(t,h){t.Ue(t,h);t.bb=!0;t.h.He=!0;h.stopPropagation&&h.stopPropagation();h.preventDefault()};B.prototype.j=function(t,h){t.re&&t.bb&&(t.Ue(t,h),t.bb=!1,t.h.He=!1,h.stopPropagation&&h.stopPropagation(),h.preventDefault())};B.prototype.g=function(t,h){if(t.re&&t.bb){var n=t.Bd,p=
t.Cd;t.Ue(t,h);t.bb&&t.io(t.Bd-n,t.Cd-p);t.Bd=n;t.Cd=p;h.stopPropagation&&h.stopPropagation();h.preventDefault()}};B.prototype.Ue=function(t,h){var n,p;h.pageX||h.pageY?(n=h.pageX,p=h.pageY):(n=h.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,p=h.clientY+document.body.scrollTop+document.documentElement.scrollTop);t.pm();n-=t.offsetLeft;p-=t.offsetTop;t.Bd=n-1|0;t.Cd=p-1|0};window.PopupWindow=B})();(function(){function B(){this.key=new Uint8Array(256);this.Zi=this.Xi=0}B.prototype.gd=function(t){var h,n,p,c=this.key;for(h=0;256>h;h+=1)c[h]=h;for(h=n=0;256>h;h+=1)n=n+c[h]+t.charCodeAt(h%t.length)&255,p=c[h],c[h]=c[n],c[n]=p;this.Zi=this.Xi=0};B.prototype.random=function(){var t,h,n=0,p=1,c=this.key,e=this.Xi,b=this.Zi;for(t=0;8>t;t+=1)e=e+1&255,b=b+c[e]&255,h=c[e],c[e]=c[b],c[b]=h,n+=c[c[e]+c[b]&255]*p,p*=256;this.Xi=e;this.Zi=b;return n/1.8446744073709552E19};window.myRand=new B})();(function(){function B(){this.x=[];this.y=[];this.b=[];this.g=0;this.blue=this.green=this.red=255;this.sin=new Float32Array(2880);this.cos=new Float32Array(2880);this.c=Math.PI/180;this.j=180/Math.PI;for(var t=0;2880>t;)this.sin[t]=Math.sin(t/8*this.c),this.cos[t]=Math.cos(t/8*this.c),t+=1}B.prototype.gd=function(t,h,n,p){var c=0,e=0,b=0,m=0,a=h*h+n*n;myRand.gd(Date.now().toString());this.g=t;for(c=0;c<t;c+=1){m=c/t*(c/t)*(c/t)*(c/t)*p+1;do e=3*(myRand.random()*h-h/2),b=3*(myRand.random()*n-n/2);
while(e*e+b*b>a);this.x[c]=e;this.y[c]=b;this.b[c]=m}};B.prototype.rm=function(t,h,n,p,c,e,b,m){var a=0,g=0,l=0,k=0,f=k=l=l=g=0,d=0,q=0,x=l=0,C=0;littleEndian?(q=m>>16&255,d=m>>8&255,f=m&255):(f=m>>24&255,d=m>>16&255,q=m>>8&255);for(a=0;a<this.g;a+=1)g=this.x[a]+t,l=this.y[a]+h,0!==p&&(k=Math.sqrt(g*g+l*l),l=Math.atan2(l,g)*this.j,l+=p,0>l?l+=360:360<=l&&(l-=360),l*=8,l|=0,g=k*this.cos[l],l=k*this.sin[l]),k=this.b[a]/n*2,g=c/2+g/k|0,l=e/2+l/k|0,0<g&&g<c-1&&0<l&&l<e-1&&(g+=l*c,k=1536/k|0,255<k&&(k=
255),k/=255,b[g]===m&&(l=f+(this.red-f)*k,x=d+(this.green-d)*k,C=q+(this.blue-q)*k,l=littleEndian?-16777216|C<<16|x<<8|l:l<<24|C<<16|x<<8|255,b[g]=l),k/=2,l=f+(this.red-f)*k,x=d+(this.green-d)*k,C=q+(this.blue-q)*k,l=littleEndian?-16777216|C<<16|x<<8|l:l<<24|C<<16|x<<8|255,--g,b[g]===m&&(b[g]=l),g+=2,b[g]===m&&(b[g]=l),--g,g-=c,b[g]===m&&(b[g]=l),g+=c+c,b[g]===m&&(b[g]=l))};window.Stars=B})();(function(){function B(d){this.Yh=d;this.ph=!1;this.Ke=this.Je=this.oh=0;this.Ea="";this.Ka=-1;this.nb=this.Pa=this.Lg=!1;this.fa=this.aa=0;this.Ob=this.Vf=this.se=this.kf=this.Od=this.Pe=this.Cf=this.Re=this.Qe=this.td=-1;this.bf=!1;this.hk=0;this.Ra=!1;this.he=0;this.dm=.01;this.J=null;this.Ia=[80,80,80];this.Sh=null;this.V="";this.zf=this.ra=this.kd=!1;this.va=new Stars;this.va.gd(1E4,8192,8192,1024);this.Pc=!1;this.j=1;this.ld=this.Gd=0;this.Ua=this.$i=!1;this.N=new WaypointManager;this.wh="";
this.ej=-1;this.Mb=this.Qb=!1;this.O=1;this.Mi=this.Ae=this.nc=0;this.fb=k.mn;this.Ii=0;this.Dc=this.vb=-1;this.Bc=this.oc="";this.Ac=this.Za=this.Ya=this.ta=0;this.Cc=null;this.ob=this.Uc="";this.ne=!1;this.c=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];this.mc=this.Ub=-1;this.Tb="";this.Jb=[];this.ed=!1;this.G=[];this.Eb=[];this.Ab=[];this.W=1;this.w=0;this.uf=100;this.za=10;this.uh=this.xl=1;this.g=64;this.Wa=this.de=-1;this.Pg=this.ke=this.jb=this.lb=this.mb=this.yb=!1;this.Le=this.ze=this.Ee=-1;this.a=null;
this.R=!0;this.elapsedTime=0;this.o=640;this.i=512;this.Yc=this.Ed=this.ab=!1;this.X=this.wc=this.gh=this.Td=this.Vg=this.Sd=this.Gh=this.Ge=this.Lc=this.kh=this.If=this.Xf=this.mf=this.ie=this.nf=this.ub=this.Wb=this.ib=this.Da=this.H=this.pa=this.Bb=this.jd=this.eb=this.ca=null;this.rf=this.qf=-1;this.wheelDelta=0;this.Gb=this.Fe=this.Rc=this.s=this.wd=null;this.sc=60;this.M=this.h=null;this.jf=this.hb=this.gf=this.ye=0;this.pe=this.qk=1;this.Ei=60;this.hf=this.hh=1;this.Ci=.1;this.Me=this.cb=this.sj=
0;this.yf=1;this.Ef=this.ea=this.we=this.Ud=this.xe=!1;this.Zc=k.pk;this.Kf=this.Mf=this.Df=this.Lf=0;this.Jh=this.Te=!1}function t(d,b,a,c,e){for(var g=0,h=b.parentNode,m=null,n=null,g=0;g<f.Ib.length&&!n;)f.Ib[g][0].tabIndex===b.tabIndex?n=f.Ib[g][1]:g+=1;n||(n=new B(e),n.Pc=c,l.yh&&(n.fb=a&-8,n.fb<k.Yd&&(n.fb=k.Yd)),b.tabIndex=f.Ib.length+1,n.$h(b),"none"===h.style.display&&(m=new PopupWindow(h,n.h)),f.Ib[f.Ib.length]=[b,n,m]);c||n.El(d,!1)}function h(d){d=d.parentNode;for(var b=!1;!b;)"div"!==
d.localName||d.className!==l.jh&&"codebox"!==d.className||(b=!0),b||(d=d.parentNode);return d}function n(){var d=f.Bj(),b=d[1],a=d[2];d[0].parentNode.style.display="none";a.re=!1;b.ab&&(b.X.current=b.$c(k.Xa,!0,b))}function p(d){n();d.stopPropagation&&d.stopPropagation();d.preventDefault();return!1}function c(d){return d.innerHTML.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/<br *\/>/gi,"\n").replace(/<br>/gi,"\n").replace(/&nbsp;/gi," ").replace(/<span class="posthilit">/gi,"").replace(/<\/span>/gi,
"").trim()}function e(d){var b=h(d);d=c(b.getElementsByTagName(l.vf)[0]);b=b.getElementsByTagName("form")[0];b.getElementsByTagName("input")[0].value=d;b.submit()}function b(d){var b=h(d),a=c(b.getElementsByTagName(l.vf)[0]),e=f.Bj(),g=null,m=g=null,n=null,B=null,v=null,D=null,ca=null;e||(g=document.createElement("canvas"),g.width=k.Yd,g.height=k.jg+80,g.style.display="block",n=document.createElement("a"),n.setAttribute("href","#"),n.innerHTML="&nbsp;X&nbsp;",n.style.textDecoration="none",n.style.fontFamily=
"Lucida Grande,Verdana,Helvetica,Arial,sans-serif",n.style.color="#FFFFFF",n.style.backgroundColor="#C75050",n.style.cssFloat="right",ca=document.createElement("a"),ca.innerHTML="&nbsp;X&nbsp;",ca.style.textDecoration="none",ca.style.fontFamily="Lucida Grande,Verdana,Helvetica,Arial,sans-serif",ca.style.visibility="hidden",ca.style.cssFloat="left",D=document.createElement("div"),D.style.textAlign="center",v=document.createTextNode("LifeViewer"),D.appendChild(v),registerEvent(n,"click",p,!1),m=document.createElement("div"),
m.style.display="none",m.style.position="fixed",m.style.border="1px solid white",m.style.left="2048px",m.style.top="0px",m.style.width=k.Yd+"px",m.style.textAlign="right",m.style.boxShadow="0px 0px 3px 3px rgba(0,0,0,.3), 12px 12px 8px rgba(0,0,0,.5)",m.style.margin="1px",B=document.createElement("div"),B.className="codebox",B.appendChild(ca),B.appendChild(n),B.appendChild(D),m.appendChild(B),m.appendChild(g),b.appendChild(m),t(a,g,k.Yd,!0,d),f.Aj=f.Ib.length-1,e=f.Bj(),e[1].Sh=v);b=e[0].parentNode;
""!==b.style.display&&(b.style.display="");e[1].o=k.Yd;e[1].i=k.jg+80;e[1].resize();e[1].h.notification.clear(!0,!0);e[1].h.notification.clear(!1,!0);e[1].El(a,!0);g=e[2];g.re=!0;g.sl(g);e[1].Rc.canvas.focus();e[1].h.hasFocus=!0;return!1}function m(d){e(this);d.stopPropagation&&d.stopPropagation();d.preventDefault();return!1}function a(d){b(this);d.stopPropagation&&d.stopPropagation();d.preventDefault();return!1}var g={Oa:'"',rg:"[[",uj:"]]",Ze:"ALL",ac:"LINEAR",Gc:"BEZIER",Vi:"HEXDISPLAY",zj:"SQUAREDISPLAY",
lh:"FILL",Dn:"RANDOM",Ad:"MAP",mg:"MAPODD",Fi:"DELETERANGE",xj:"SHOWTIMING",wj:"SHOWGENSTATS",mj:"POI",Gf:"TITLE",vg:"STARS",yg:"CUSTOM",Wh:"XOFFSET",Xh:"YOFFSET",Ll:"BACKGROUND",Hj:"ALIVE",Kl:"ALIVERAMP",Ij:"DEAD",Ml:"DEADRAMP",$j:"BOUNDARY",Sg:"AUTOFIT",Ph:"STEP",gj:"NOSTEPBACK",Rh:"T",kj:"PAUSE",$f:"GRID",Zf:"GRIDMAJOR",Fj:"TEXT",gl:"OFF",il:"ON",Fk:"HISTORY",Pk:"MARK1",Tk:"MARKOFF",Rk:"MARK2",Lk:"KILL",Ta:"COLOR",xi:"COLOUR",Dj:"STRICT",Kg:"VIEWONLY",Kj:"THUMBNAIL",Jj:"THUMBSIZE",Ol:"THUMBLAUNCH",
zg:"THEME",Tg:"AUTOSTART",ig:"LOOP",xg:"STOP",Rg:"ANGLE",xh:"LAYERS",ih:"DEPTH",qh:"GPS",tb:"ZOOM",Rb:"X",Sb:"Y",Rj:"WIDTH",Ti:"HEIGHT",hc:"#"},l={tagName:"LifeViewer",jh:"rle",vf:"code",Fh:37,Wi:!0,yh:!0,Km:"codebox"},k={cl:2,Zk:4,pk:4,Tl:45,bl:0,Wk:1,Ug:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Lj:86,Ik:null,al:1,Vk:16,nk:3,ef:0,df:1,Zg:2,oe:3,ah:4,bh:5,dh:6,eh:8,fh:9,$g:10,hl:0,jl:1,Hk:2,Qk:3,Uk:4,Sk:5,Mk:6,ma:[0,6,2,5,3,4,1],co:"Off On History Mark1 MarkOff Mark2 Kill".split(" "),
bo:"OFF ON HISTORY MARK1 MARKOFF MARK2 KILL".split(" "),jj:12,xn:0,wn:160,ml:10,lj:100,ll:20,xk:19,to:!1,Li:1800,Pm:"LifeViewer",tj:"LifeViewer Image",Vl:"LifeViewer Plugin",Nj:191,Ul:"Chris Rowett",Bh:1,zh:10,el:0,rn:1,Xa:2,sf:3,ro:1.25,Ah:0,Xk:10,qe:10,rb:.0625,Tc:32,qn:-16,jn:-1,vc:1,Xd:60,kg:1,Sc:50,Ma:null,fontSize:18,mh:"18px Courier",Jf:"18px Arial",ag:"rgb(32,255,255)",Ui:"#000000",Wf:"rgb(255,96,96)",rh:"rgb(128,128,128)",Yd:480,mn:1024,dl:240,$k:800,jg:480,Qm:64,Cj:0,Fl:1,Gl:2,pn:0,hn:16},
f={Ib:[],Aj:-1,Bj:function(){var d=null;-1!==this.Aj&&(d=this.Ib[this.Aj]);return d},oo:function(){for(var d=null,b=0,a=0,a=0;a<this.Ib.length;a+=1)d=this.Ib[a][1],d.ab&&(b+=1);return b},eo:function(){for(var d=null,b=0,a=0,b=0;b<this.Ib.length;b+=1)d=this.Ib[b][1],d.ab&&(d.X.current=d.$c(k.Xa,!0,d),a+=1);return a},fo:function(d){for(var b=null,a=0,c=0,a=0;a<this.Ib.length;a+=1)b=this.Ib[a][1],b!==d&&b.ab&&(b.X.current=b.$c(k.Xa,!0,b),c+=1);return c}};B.prototype.Tn=function(d){d.Jh||(d.Jh=!0)};B.prototype.jm=
function(d){var b=d.Fe.toDataURL("image/png"),a=window.open("",k.tj);a?(a.width=d.o+20,a.height=d.i+20,a.document.open(),a.document.write('<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<meta charset="UTF-8">\n\t\t<title>'+k.tj+'</title>\n\t</head>\n\t<body>\n\t\t<img width="'+d.o+'" height="'+d.i+'" src="'+b+'" alt="'+k.tj+'"/>\n\t</body>\n</html>\n'),a.document.close(),d.h.notification.L("Image Captured",300,!0)):d.h.notification.L("Could not open Image window!",k.Li,!0);d.Jh=!1};B.prototype.bi=function(d,
b,a){for(var c=0,e=0,g=this.a.La,f=this.a.ba,l=this.a.zb,h=d.width,m=d.height,n=(h-1>>4)+1,p=b>>4,t=this.a.sa,w=this.a.sa>>4,u=this.a.ya,B=b&15,A=null,E=null,G=null,J=null,A=null,E=0,K=this.jb,e=0;e<m;e+=1){A=d.Va[e];E=g[e+a&u];if(K||-1!==this.a.u)for(G=d.Dd[e],J=f[e+a&u],c=0;c<h;c+=1)J[c+b&t]=G[c];if(B)for(c=0;c<n;c+=1)E[c+p&w]|=A[c]>>B,E[c+1+p&w]|=A[c]<<16-B;else for(c=0;c<n;c+=1)E[c+p&w]|=A[c]}if(l)for(e=0;e<m;e+=1)for(G=d.Dd[e],A=l[e+a&u],c=0;c<h;c+=1)(E=G[c])&&(A[c+b&t]=k.ma[E]+128)};B.prototype.Pb=
function(d,b,a){var c=0,e=0;b?(a.Mb=!0,a.a.zoom=k.rb*Math.pow(k.Tc/k.rb,d[0]),c=d[0]):c=Math.log(a.a.zoom/k.rb)/Math.log(k.Tc/k.rb);e=a.a.zoom;1>e&&(e=-1/e);return[c,e]};B.prototype.cm=function(d){var b=d/6E4|0;d=d%6E4/1E3;var a="";0<b&&(a=b+":",10>d&&(a+="0"));return a+=d.toFixed(2)};B.prototype.te=function(d,b){var a=this.a.te(this.o,this.i-80,k.rb,k.Tc,k.ro,this.ta,this.Ya,this.lb&&this.Uj),c=this.a.zoom,e=this.a.D,g=this.a.v,f=0,l=0,h=0;this.Ra&&!d?(this.a.zoom=(5*this.a.zoom+a[0])/6,this.a.D=
(5*this.a.D+a[1])/6,this.a.v=(5*this.a.v+a[2])/6,f=this.a.zoom>c?this.a.zoom/c-1:c/this.a.zoom-1,l=this.a.D>e?this.a.D-e:e-this.a.D,h=this.a.v>g?this.a.v-g:g-this.a.v,this.he=f,l>this.he&&(this.he=l),h>this.he&&(this.he=h),.01>=this.he&&(this.a.zoom=a[0],this.a.D=a[1],this.a.v=a[2])):(this.Qe=this.a.width/2-this.a.D,this.Re=this.a.height/2-this.a.v,this.Cf=this.a.zoom,this.Pe=this.a.B,this.Od=this.a.width/2-a[1],this.kf=this.a.height/2-a[2],this.se=a[0],this.Vf=this.Pe,b?this.Ob=0:(this.Ob=k.jj,this.Sl()));
this.H&&(this.H.current=this.Pb([this.a.zoom,this.a.zoom],!1,this));this.pa&&(this.pa.current=this.Jg([this.a.B,this.a.B],!1,this))};B.prototype.ai=function(d){var b=d.width,a=d.height,c=0,e=0;-1!==this.a.pb&&(b=this.a.ga,a=this.a.Ca);c=(this.a.width-b>>1)+this.aa;e=(this.a.height-a>>1)+this.fa;!this.lb&&this.a.tc||!PatternManager.lf||(this.lb=this.jb=!0);this.bi(d,c,e)};B.prototype.sg=function(d){var b=d+String();1E9<=d?b="1B+":1E8<=d?b=(d/1E6|0)+"M":1E7<=d?b=(d/1E6).toFixed(1)+"M":1E6<=d?b=(d/1E6).toFixed(2)+
"M":1E5<=d&&(b=(d/1E3|0)+"K");return b};B.prototype.ki=function(d,b,a){var c=a,e=!1,g=this.j;d&&("#000000"===d.fillStyle&&(e=!0),0<=g&&g<=0+this.za&&(d.font=k.mh,e||(d.fillStyle=1<(this.w|0)?k.ag:k.rh),d.fillText("Up",b,a),e||(d.fillStyle=k.ag),d.fillText(" / ",b+d.measureText("Up").width,a),e||(d.fillStyle=(this.w|0)<this.uf-this.za?k.ag:k.rh),d.fillText("Down",b+d.measureText("Up / ").width,a),e||(d.fillStyle=k.ag),d.font=k.Jf,d.fillText("scroll help",b+this.g,a),c+=19));this.j+=1;return c};B.prototype.P=
function(d,b,a,c,e,g,f){var l,h=this.j,m=null;c&&(l=13,h>=f&&h<=f+this.za&&(m=c.fillStyle,m!==k.Ui&&(c.fillStyle="rgb("+d+","+b+","+a+")"),c.fillRect(e,g-(l>>1)-1,l,l),c.fillStyle=m))};B.prototype.b=function(d,b,a,c,e,g){var f=e,l=this.j;a&&l>=g&&l<=g+this.za&&(d.length?(a.font=k.mh,a.fillText(d,c,e),a.font=k.Jf,a.fillText(b,c+this.g,e)):(a.font=k.Jf,a.fillText(b,c,e)),f+=19);this.j+=1;return f};B.prototype.Ha=function(d,b,a){for(var c="",e=0,g=5,f=0;f<a;){g=5;for(e=0;0<=g;)f<a&&(e|=d[b+f]<<g),f+=
1,--g;c+=k.Ug[e]}return c};B.prototype.ua=function(d,b,a){for(var c=ColourManager.Jb,e=Object.keys(c),k="    "+d+" "+b+" "+a,g=!1,f=null,l=0;l<e.length&&!g;)f=c[e[l]],f[1]===d&&f[2]===b&&f[3]===a?(k+=" "+f[0],g=!0,l=e.length):l+=1;return k};B.prototype.Fc=function(d){return this.ua(d.red,d.green,d.blue)};B.prototype.Zh=function(){var d=0,b=0;this.a.m?this.R&&(d=this.a.A.la-this.a.A.ja+1,b=this.a.A.oa-this.a.A.ha+1):(d=this.ta,b=this.Ya);-1!==this.a.pb&&(0!==this.a.ga&&(d=this.a.ga),0!==this.a.Ca&&
(b=this.a.Ca));return d+" x "+b};B.prototype.rj=function(d,b,a,c){var e=a,l="Player",h="",m=h="",n="",p="",p=h=0,m=this.a.Cb[this.a.Kc],p=this.Jb;this.j=1;this.g=108;a=this.b("",k.Vl+" build "+k.Nj+" by "+k.Ul,d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","",d,b,a,c);this.g=124;a=this.b("","Keyboard commands",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Playback controls:",d,b,a,c);this.jb?a=this.b("R","reset",d,b,a,c):(a=this.b("Enter","toggle play/pause",d,b,a,c),a=this.b("Space","pause if playing otherwise step forward",
d,b,a,c),a=this.b("B","pause if playing otherwise step back",d,b,a,c),a=this.Pc?this.b("Esc","close LifeViewer",d,b,a,c):this.b("Esc","pause if playing",d,b,a,c),a=this.b("R","reset to generation 0",d,b,a,c),a=this.b("-","decrease generation speed",d,b,a,c),a=this.b("+","increase generation speed",d,b,a,c),a=this.b("Shift -","minimum generation speed",d,b,a,c),a=this.b("Shift +","maximum generation speed",d,b,a,c),a=this.b("D","decrease step size",d,b,a,c),a=this.b("E","increase step size",d,b,a,
c),a=this.b("Shift D","minimum step size",d,b,a,c),a=this.b("Shift E","maximum step size",d,b,a,c),this.Qb&&(a=this.b("W","toggle waypoint playback",d,b,a,c)));a=this.b("Z","stop playback in all other LifeViewers",d,b,a,c);a=this.b("Shift Z","stop playback in all LifeViewers",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Camera controls:",d,b,a,c);if(this.i>=k.jg||(this.ea&&this.Df)>=k.jg)a=this.b("M","toggle navigation menu",d,b,a,c);a=this.b("V","restore saved camera position",d,b,a,c);a=this.b("Shift V",
"save current camera position",d,b,a,c);this.N.cc.length&&(a=this.b("J","jump to next point of interest",d,b,a,c),a=this.b("Shift J","jump to previous point of interest",d,b,a,c));a=this.b("F","fit pattern to display",d,b,a,c);a=this.b("Shift F","toggle autofit",d,b,a,c);a=this.b("[","zoom out",d,b,a,c);a=this.b("]","zoom in",d,b,a,c);a=this.b("Shift [","halve zoom",d,b,a,c);a=this.b("Shift ]","double zoom",d,b,a,c);a=this.b("1","1x zoom",d,b,a,c);a=this.b("2","2x zoom",d,b,a,c);a=this.b("4","4x zoom",
d,b,a,c);a=this.b("8","8x zoom",d,b,a,c);a=this.b("6","16x zoom",d,b,a,c);a=this.b("3","32x zoom",d,b,a,c);a=this.b("Shift 1","integer zoom",d,b,a,c);a=this.b("Shift 2","-2x zoom",d,b,a,c);a=this.b("Shift 4","-4x zoom",d,b,a,c);a=this.b("Shift 8","-8x zoom",d,b,a,c);a=this.b("Shift 6","-16x zoom",d,b,a,c);a=this.b("Left","pan left",d,b,a,c);a=this.b("Right","pan right",d,b,a,c);a=this.b("Up","pan up",d,b,a,c);a=this.b("Down","pan down",d,b,a,c);a=this.b("Shift Left","pan north west",d,b,a,c);a=this.b("Shift Right",
"pan south east",d,b,a,c);a=this.b("Shift Up","pan north east",d,b,a,c);a=this.b("Shift Down","pan south west",d,b,a,c);a=this.b("<","rotate left",d,b,a,c);a=this.b(">","rotate right",d,b,a,c);a=this.b("Shift <","rotate left 90 degrees",d,b,a,c);a=this.b("Shift >","rotate right 90 degrees",d,b,a,c);a=this.b("","",d,b,a,c);this.jb||(a=this.b("","View controls:",d,b,a,c),a=this.b("Q","increase number of layers",d,b,a,c),a=this.b("A","decrease number of layers",d,b,a,c),a=this.b("P","increase layer depth",
d,b,a,c),a=this.b("L","decrease layer depth",d,b,a,c),a=this.b("C","cycle colour theme",d,b,a,c),a=this.b("Shift C","default theme",d,b,a,c),a=this.b("","",d,b,a,c));a=this.b("","Display controls:",d,b,a,c);this.jb||(a=this.b("G","toggle generation statistics",d,b,a,c),a=this.b("Shift G","toggle generation display mode",d,b,a,c));a=this.b("/","toggle hex view",d,b,a,c);a=this.b("Shift /","pattern default view",d,b,a,c);a=this.b("T","toggle timing information",d,b,a,c);a=this.b("I","toggle pattern and engine information",
d,b,a,c);a=this.b("X","toggle grid lines",d,b,a,c);this.Ef&&(a=this.b("N","toggle thumbnail view",d,b,a,c));a=this.b("S","toggle stars",d,b,a,c);a=this.b("O","open screenshot in separate window",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Help controls:",d,b,a,c);a=this.b("Up","scroll up one line",d,b,a,c);a=this.b("Down","scroll down one line",d,b,a,c);a=this.b("Page Up","scroll up one page",d,b,a,c);a=this.b("Page Down","scroll down one page",d,b,a,c);a=this.b("Home","go to first help page",d,
b,a,c);a=this.b("End","go to last help page",d,b,a,c);a=this.b("","",d,b,a,c);this.g=252;a=this.b("","",d,b,a,c);this.xl=this.j;a=this.b("","Scripts",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Scripts must be embedded in pattern comments",d,b,a,c);a=this.b("","Commands must be surrounded by whitespace",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Commands:",d,b,a,c);a=this.b(g.rg,"start script section",d,b,a,c);a=this.b(g.uj,"end script section",d,b,a,c);a=this.b(g.Dj,"enable strict validation",
d,b,a,c);a=this.b(g.Tg,"start play automatically",d,b,a,c);a=this.b(g.ig+" <1..>","loop at generation",d,b,a,c);a=this.b(g.xg+" <1..>","stop at generation",d,b,a,c);a=this.b(g.Rh+" <0..>","waypoint at generation",d,b,a,c);a=this.b(g.kj+" <0.0..>","pause for time",d,b,a,c);a=this.b(g.ac+" "+g.Ze+"|"+g.Rb+"|"+g.Sb+"|"+g.tb,"linear motion",d,b,a,c);a=this.b(g.Gc+" "+g.Ze+"|"+g.Rb+"|"+g.Sb+"|"+g.tb,"bezier motion (default)",d,b,a,c);a=this.b(g.mj,"define point of interest",d,b,a,c);a=this.b(g.Oa+"<string>"+
g.Oa,"define message",d,b,a,c);a=this.b(g.Kg,"disable playback",d,b,a,c);a=this.b(g.Gf+" "+g.Oa+"<string>"+g.Oa,"set window title",d,b,a,c);a=this.b(" "+g.hc+"B","program build number",d,b,a,c);a=this.b(" "+g.hc+"N","pattern name",d,b,a,c);a=this.b(" "+g.hc+"O","pattern originator",d,b,a,c);a=this.b(" "+g.hc+"R","pattern rule",d,b,a,c);a=this.b(" "+g.hc+"T","program title",d,b,a,c);a=this.b(" "+g.hc+g.hc,g.hc+" symbol",d,b,a,c);a=this.b(g.gj,"disable step back",d,b,a,c);a=this.b(g.Kj,"start at 1/"+
this.Zc+" size",d,b,a,c);a=this.b(g.Jj+" <"+k.cl+".."+k.Zk+">","set thumbnail divisor",d,b,a,c);a=this.b(g.Ol,"thumbnail launches viewer",d,b,a,c);a=this.b(g.$f,"display grid lines",d,b,a,c);a=this.b(g.Zf+" <0..16>","set major grid line interval",d,b,a,c);a=this.b(g.vg,"display stars",d,b,a,c);a=this.b(g.Vi,"force hex display",d,b,a,c);a=this.b(g.zj,"force square display",d,b,a,c);a=this.b(g.zg+" <0.."+(this.a.Nb-1)+">|"+g.yg,"set theme",d,b,a,c);a=this.b(g.Ta+" "+g.Ll+" R G B","set theme background",
d,b,a,c);a=this.b(g.Ta+" "+g.Hj+" R G B","set theme alive color",d,b,a,c);a=this.b(g.Ta+" "+g.Kl+" R G B","set theme alive ramp",d,b,a,c);a=this.b(g.Ta+" "+g.Ij+" R G B","set theme dead color",d,b,a,c);a=this.b(g.Ta+" "+g.Ml+" R G B","set theme dead ramp",d,b,a,c);a=this.b(g.Ta+" "+g.$j+" R G B","set boundary color",d,b,a,c);a=this.b(g.Ta+" <0..> R G B","set state color",d,b,a,c);a=this.b(g.Ta+" "+g.gl+" R G B","set [R]History state color "+k.hl,d,b,a,c);a=this.b(g.Ta+" "+g.il+" R G B","set [R]History state color "+
k.jl,d,b,a,c);a=this.b(g.Ta+" "+g.Fk+" R G B","set [R]History state color "+k.Hk,d,b,a,c);a=this.b(g.Ta+" "+g.Pk+" R G B","set [R]History state color "+k.Qk,d,b,a,c);a=this.b(g.Ta+" "+g.Tk+" R G B","set [R]History state color "+k.Uk,d,b,a,c);a=this.b(g.Ta+" "+g.Rk+" R G B","set [R]History state color "+k.Sk,d,b,a,c);a=this.b(g.Ta+" "+g.Lk+" R G B","set [R]History state color "+k.Mk,d,b,a,c);a=this.b(g.Ta+" "+g.$f+" R G B","set grid color",d,b,a,c);a=this.b(g.Ta+" "+g.Zf+" R G B","set grid major color",
d,b,a,c);a=this.b(g.Ta+" "+g.vg+" R G B","set star color",d,b,a,c);a=this.b(g.Ta+" "+g.Fj+" R G B","set waypoint message color",d,b,a,c);a=this.b(g.xi,"same as COLOR",d,b,a,c);a=this.b(g.qh+" <"+k.vc+".."+k.Xd+">","set steps per second",d,b,a,c);a=this.b(g.Ph+" <"+k.kg+".."+k.Sc+">","set generations per step",d,b,a,c);a=this.b(g.Rg+" <0..359>","set camera angle",d,b,a,c);a=this.b(g.Rb+" <-"+(this.a.Na>>1)+".."+(this.a.Na>>1)+">","set camera x position",d,b,a,c);a=this.b(g.Sb+" <-"+(this.a.Na>>1)+
".."+(this.a.Na>>1)+">","set camera y position",d,b,a,c);a=this.b(g.tb+" <"+k.rb.toFixed(1)+".."+k.Tc.toFixed(1)+">","set camera zoom",d,b,a,c);a=this.b(g.Sg,"fit pattern to display",d,b,a,c);a=this.b(g.xh+" <"+k.Bh+".."+k.zh+">","set number of layers",d,b,a,c);a=this.b(g.ih+" <"+k.Ah.toFixed(1)+".."+k.Xk.toFixed(1)+">","set layer depth",d,b,a,c);a=this.b(g.Wh+" <-"+(this.a.Na>>1)+".."+(this.a.Na>>1)+">","set pattern x offset",d,b,a,c);a=this.b(g.Xh+" <-"+(this.a.Na>>1)+".."+(this.a.Na>>1)+">","set pattern y offset",
d,b,a,c);a=this.b(g.Rj+" <"+k.Yd+".."+this.fb+">","set LifeViewer width",d,b,a,c);a=this.b(g.Ti+" <"+k.dl+".."+k.$k+">","set LifeViewer height",d,b,a,c);a=this.b(g.xj,"show timing information",d,b,a,c);a=this.b(g.wj,"show generation statistics",d,b,a,c);a=this.b(g.Fi+" <"+k.al+".."+k.Vk+">","set boundary delete range",d,b,a,c);a=this.b(g.lh+" <0.0..1.0>","fill pattern using threshold",d,b,a,c);a=this.b(g.Ad+" <map>|<0.0..1.0>","transition all generations",d,b,a,c);a=this.b(g.mg+" <map>|<0.0..1.0>",
"transition odd generations",d,b,a,c);a=this.b("<map>","512 bits base64 encoded",d,b,a,c);a=this.b("","",d,b,a,c);this.g=128;a=this.b("","",d,b,a,c);this.uh=this.j;a=this.b("","Information",d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Display:",d,b,a,c);a=this.b("Size",this.o+" x "+this.i,d,b,a,c);a=this.b("View","X "+(this.a.width/2-this.a.D|0)+"  Y "+(this.a.height/2-this.a.v|0)+"  ZOOM "+this.a.zoom.toFixed(2)+"  ANGLE "+this.a.B.toFixed(0),d,b,a,c);a=this.b("Saved View","X "+(this.a.width/2-
this.cb|0)+"  Y "+(this.a.height/2-this.Me|0)+"  ZOOM "+this.yf.toFixed(2)+"  ANGLE "+this.sj.toFixed(0),d,b,a,c);this.lb?l=this.jb?"Multi-State Viewer":"Viewer":this.a.tc&&(l="History Player");a=this.b("Type",l,d,b,a,c);l=this.a.I?"Hex":"Square";a=this.b("Mode",l,d,b,a,c);this.Ef&&(a=this.b("Thumbnail","1/"+this.Zc,d,b,a,c));a=this.b("","",d,b,a,c);a=this.b("","Pattern:",d,b,a,c);""!==this.oc&&(a=this.b("Name",this.oc,d,b,a,c));""!==this.Bc&&(a=this.b("Originator",this.Bc,d,b,a,c));a=this.b("Size",
this.ta+" x "+this.Ya,d,b,a,c);a=this.b("Offset","X "+this.aa+" Y "+this.fa,d,b,a,c);a=this.b("CXRLE Gen",this.oh,d,b,a,c);a=this.b("CXRLE Pos","X "+this.Je+" Y "+this.Ke,d,b,a,c);-1!==this.Ka&&(a=this.b("Fill",(100*this.Ka|0)+"%",d,b,a,c));this.ra?h=this.Pa?g.Ad:this.ob:(h=this.ob,""===h&&(h="(none)"));a=this.b("Rule",h,d,b,a,c);h=-1!==this.a.Xe?"1D":this.a.Eh?"Hex":this.a.Qc?"Von Neumann":"Moore";a=this.b("N'hood",h,d,b,a,c);this.ra&&this.Pa&&(a=this.b("Map",this.Ha(this.a.ue,0,144),d,b,a,c),a=
this.b(" ",this.Ha(this.a.ue,144,144),d,b,a,c),a=this.b(" ",this.Ha(this.a.ue,288,144),d,b,a,c),a=this.b(" ",this.Ha(this.a.ue,432,80),d,b,a,c),a=this.b("Density",this.a.Gi+"/512 ("+(100*this.a.Gi/512|0)+"%)",d,b,a,c),this.nb&&(a=this.b("MapOdd",this.Ha(this.a.ve,0,144),d,b,a,c),a=this.b(" ",this.Ha(this.a.ve,144,144),d,b,a,c),a=this.b(" ",this.Ha(this.a.ve,288,144),d,b,a,c),a=this.b(" ",this.Ha(this.a.ve,432,80),d,b,a,c),a=this.b("Density",this.a.Hi+"/512 ("+(100*this.a.Hi/512|0)+"%)",d,b,a,c)));
h=this.Za;2<this.Za&&this.Ac!==this.Za&&(h=this.Ac+" of "+h);a=this.b("States",h,d,b,a,c);if(this.Cc)for(h=1;h<this.Za;h+=1)this.Cc[h]&&(a=this.b("State "+h,this.Cc[h],d,b,a,c));a=this.b("Decoder",this.Uc,d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Grid:",d,b,a,c);a=this.b("Size",this.a.width+" x "+this.a.height,d,b,a,c);a=this.b("Maximum",this.a.Na+" x "+this.a.Na,d,b,a,c);a=this.b("Area",this.Zh(),d,b,a,c);a=0!==(this.a.m&1)?this.b("Tiles",this.a.Ag(this.a.ka)+" / "+this.a.Ag(this.a.ia),d,b,a,
c):this.b("Tiles",this.a.Ag(this.a.T)+" / "+this.a.Ag(this.a.ia),d,b,a,c);this.a.Xc&&(a=this.b("State6",this.a.Ag(this.a.Xc),d,b,a,c));a=this.b("Tile Size",(this.a.Bg<<3)+" x "+this.a.Cg,d,b,a,c);a=this.b("DeleteRange",this.a.Hh,d,b,a,c);a=this.b("","",d,b,a,c);-1!==this.a.pb&&(a=this.b("","Bounded grid:",d,b,a,c),a=this.b("Type",PatternManager.fm(this.a.pb),d,b,a,c),a=0===this.a.ga?this.b("Width","Infinite",d,b,a,c):this.b("Width",this.a.ga,d,b,a,c),4!==this.a.pb&&(a=0===this.a.Ca?this.b("Height",
"Infinite",d,b,a,c):this.b("Height",this.a.Ca,d,b,a,c),2===this.a.pb&&(a=this.a.ui?this.b("Twist","Horizontal",d,b,a,c):this.b("Twist","Vertical",d,b,a,c)),0!==this.a.Sf&&(a=this.b("H'Shift",this.a.Sf,d,b,a,c)),0!==this.a.Tf&&(a=this.b("V'Shift",this.a.Tf,d,b,a,c))),a=this.b("","",d,b,a,c));a=this.b("","Step back:",d,b,a,c);a=this.b("Enabled",this.kd?"Off":"On",d,b,a,c);this.kd||(a=this.b("Snapshots",this.a.fc.lo()+"/"+this.a.fc.dd.length,d,b,a,c),a=this.b("Buffer",(this.a.fc.bufferSize()>>10)+"K",
d,b,a,c),a=this.b("Next",this.a.Ce,d,b,a,c));a=this.b("","",d,b,a,c);a=this.b("","Engine:",d,b,a,c);a=this.b("Name",k.Vl,d,b,a,c);a=this.b("Build",k.Nj,d,b,a,c);a=this.b("Author",k.Ul,d,b,a,c);a=this.b("Decoders","Cells, Life 1.05, Life 1.06, RLE",d,b,a,c);a=this.b("N'hoods","1D, Moore, Hex, Von Neumann",d,b,a,c);a=this.b("Rules","Wolfram, Totalistic, Hensel, Generations",d,b,a,c);a=this.b("BoundedGrid","Plane, Torus, Klein, Cross-surface, Sphere",d,b,a,c);a=this.b("States","2 state, [R]History, Niemiec, Generations",
d,b,a,c);a=this.b("Viewers",f.Ib.length,d,b,a,c);a=this.b("Playing",f.oo(),d,b,a,c);a=this.b("","",d,b,a,c);if(this.jb)for(a=this.b("","Set:",d,b,a,c),a=this.b("Name",this.Tb,d,b,a,c),a=this.b("Used",this.Ac,d,b,a,c),h=0;h<p.length;h+=1)this.Eb[h]!==k.Cj&&(m=this.ua(p[h]>>16&255,p[h]>>8&255,p[h]&255),n=String(h),this.Eb[h]!==k.Fl||this.ed||(n+="*"),this.P(p[h]>>16,p[h]>>8&255,p[h]&255,d,b+this.g,a,c),a=this.b(n,m,d,b,a,c));else{a=this.b("","Theme:",d,b,a,c);p=this.a.Kc===this.a.Nb?"(custom)":String(this.a.Kc);
a=this.b("Name",p,d,b,a,c);this.P(this.a.ec[0],this.a.Yb[0],this.a.Vb[0],d,b+this.g,a,c);a=this.b("Background",this.ua(this.a.ec[0],this.a.Yb[0],this.a.Vb[0]),d,b,a,c);if(-1!==this.a.u)for(h=1;h<this.a.u;h+=1)this.P(this.a.ec[h],this.a.Yb[h],this.a.Vb[h],d,b+this.g,a,c),a=this.b("State "+h,this.ua(this.a.ec[h],this.a.Yb[h],this.a.Vb[h]),d,b,a,c);else this.P(m.wa.F.red,m.wa.F.green,m.wa.F.blue,d,b+this.g,a,c),a=this.b("Alive",this.Fc(m.wa.F),d,b,a,c),m.wa.F.red!==m.wa.U.red||m.wa.F.green!==m.wa.U.green||
m.wa.F.blue!==m.wa.U.blue?(this.P(m.wa.U.red,m.wa.U.green,m.wa.U.blue,d,b+this.g,a,c),a=this.b("AliveRamp",this.Fc(m.wa.U),d,b,a,c)):a=this.b("AliveRamp","    (none)",d,b,a,c),this.P(m.qa.F.red,m.qa.F.green,m.qa.F.blue,d,b+this.g,a,c),a=this.b("Dead",this.Fc(m.qa.F),d,b,a,c),m.qa.F.red!==m.qa.U.red||m.qa.F.green!==m.qa.U.green||m.qa.F.blue!==m.qa.U.blue?(this.P(m.qa.U.red,m.qa.U.green,m.qa.U.blue,d,b+this.g,a,c),a=this.b("DeadRamp",this.Fc(m.qa.U),d,b,a,c)):a=this.b("DeadRamp","    (none)",d,b,a,
c);if(this.a.tc)for(h=3;6>=h;h+=1)p=128+k.ma[h],m=this.ua(this.a.ec[p],this.a.Yb[p],this.a.Vb[p]),n=k.co[h],this.P(this.a.ec[p],this.a.Yb[p],this.a.Vb[p],d,b+this.g,a,c),a=this.b(n,m,d,b,a,c)}this.P(this.Ia[0],this.Ia[1],this.Ia[2],d,b+this.g,a,c);a=this.b("Boundary",this.ua(this.Ia[0],this.Ia[1],this.Ia[2]),d,b,a,c);this.J&&(this.P(this.J[0],this.J[1],this.J[2],d,b+this.g,a,c),a=this.b("Text",this.ua(this.J[0],this.J[1],this.J[2]),d,b,a,c));a=this.b("","",d,b,a,c);a=this.b("","Grid Lines:",d,b,a,
c);p=this.a.$a?"On":"Off";this.a.$a&&(4>this.a.zoom||0!==this.a.B)&&(p+=" (Hidden)");a=this.b("Enabled",p,d,b,a,c);p="Line Color";-1!==this.Ub&&(p+="*");this.P(this.a.Zb>>16,this.a.Zb>>8&255,this.a.Zb&255,d,b+this.g,a,c);a=this.b(p,this.ua(this.a.Zb>>16,this.a.Zb>>8&255,this.a.Zb&255),d,b,a,c);p="Major Color";-1!==this.mc&&(p+="*");this.P(this.a.Oc>>16,this.a.Oc>>8&255,this.a.Oc&255,d,b+this.g,a,c);a=this.b(p,this.ua(this.a.Oc>>16,this.a.Oc>>8&255,this.a.Oc&255),d,b,a,c);p=-1!==this.a.Qd?String(this.a.Qd):
"Off";a=this.b("Interval",p,d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Stars:",d,b,a,c);a=this.b("Enabled",this.zf?"On":"Off",d,b,a,c);this.P(this.va.red,this.va.green,this.va.blue,d,b+this.g,a,c);a=this.b("Color",this.Fc(this.va),d,b,a,c);a=this.b("","",d,b,a,c);a=this.b("","Script:",d,b,a,c);a=this.b("Commands",this.nc,d,b,a,c);a=this.b("Errors",this.Ae,d,b,a,c);if(this.Qb)for(a=this.b("","",d,b,a,c),a=this.b("","Waypoints:",d,b,a,c),a=this.b("Enabled",this.mb?"Off":"On",d,b,a,c),a=this.b("Number",
this.N.Z.length,d,b,a,c),h=0;h<this.N.Z.length;h+=1)p=String(h),h===this.N.ee&&(p=this.N.ti(this.elapsedTime)?p+">":p+"*"),a=this.b(p,this.N.po(h,g.Oa),d,b,a,c);if(this.N.cc.length)for(a=this.b("","",d,b,a,c),a=this.b("","Points of interest:",d,b,a,c),a=this.b("Number",this.N.cc.length,d,b,a,c),h=0;h<this.N.cc.length;h+=1)p=String(h),a=this.b(p,this.N.yn(h,g.Oa),d,b,a,c);-1!==this.Wa&&(a=this.b("","",d,b,a,c),a=this.b("","Loop:",d,b,a,c),a=this.b("Enabled",this.yb?"Off":"On",d,b,a,c),a=this.b("Generation",
this.Wa,d,b,a,c));this.g=252;for(h=0;h<AliasManager.f.length;h+=1)""===AliasManager.f[h][1]?(a=this.b("","",d,b,a,c),a=this.b("",AliasManager.f[h][0]+" Aliases:",d,b,a,c)):""!==AliasManager.f[h][0]&&(a=this.b(AliasManager.f[h][0],AliasManager.f[h][1],d,b,a,c));this.uf=this.j-1;this.j=1;this.g=120;a=e+19*(this.za+2);a=this.ki(d,b,a);this.Pc?this.b("H","close help",d,b,a,0):this.b("H / Esc","close help",d,b,a,0)};B.prototype.tk=function(d){var a=d.Gb;d.za=(d.i/19|0)-6;a.fillStyle="black";a.globalAlpha=
.5;a.fillRect(0,0,a.canvas.width,a.canvas.height);a.globalAlpha=1;a.fillStyle=k.Ui;d.rj(a,6,14,d.w|0);a.fillStyle=k.ag;d.rj(a,4,12,d.w|0)};B.prototype.ji=function(d,a,b){var c=b,e=0,g=!1,f=this.j;"#000000"===d.fillStyle&&(g=!0);0<=f&&f<=0+this.za&&(d.font=k.mh,g||(d.fillStyle=1<(this.W|0)?k.Wf:k.rh),d.fillText("Up",a,b),g||(d.fillStyle=k.Wf),d.fillText(" / ",a+d.measureText("Up").width,b),g||(d.fillStyle=(this.W|0)<this.Ab.length-this.za?k.Wf:k.rh),d.fillText("Down",a+d.measureText("Up / ").width,
b),this.g&&(e=this.g),g||(d.fillStyle=k.Wf),d.font=k.Jf,d.fillText("scroll errors",a+e,b),c+=19);return c};B.prototype.vd=function(d,a,b,c,e,g){var f=e,h=0,l=this.j;l>=g&&l<=g+this.za&&(d.length&&(b.font=k.mh,b.fillText(d,c,e),h=b.measureText(d+" ").width),this.g&&(h=this.g),b.font=k.Jf,b.fillText(a,c+h,e),f+=19);this.j+=1;return f};B.prototype.ql=function(d,a,b,c){var e=0,g=this.Ab,f=b;this.j=1;this.g=0;d.font=k.Jf;b=this.vd("","Script errors:",d,a,b,c);for(e=0;e<g.length;e+=1)b=this.vd(g[e][0],
g[e][1],d,a,b,c);this.g=120;this.j=1;b=f+19*(this.za+2);b=this.ji(d,a,b);b=this.vd("Esc","clear messages",d,a,b,0);this.vd("H  ","help on script commands",d,a,b,0)};B.prototype.rk=function(d){var a=d.Gb;d.za=(d.i/19|0)-7;a.fillStyle="black";a.globalAlpha=.5;a.fillRect(0,0,a.canvas.width,a.canvas.height);a.globalAlpha=1;a.fillStyle=k.Ui;d.ql(a,6,14,d.W|0);a.fillStyle=k.Wf;d.ql(a,4,12,d.W|0)};B.prototype.ad=function(d,a){var b=this.h.Bd,c=this.h.Cd,e=d+a,g=-this.a.B,f=Math.sin(g/180*Math.PI),g=Math.cos(g/
180*Math.PI),h=0,l=0;0>e?e=0:1<e&&(e=1);d=k.rb*Math.pow(k.Tc/k.rb,d);e=k.rb*Math.pow(k.Tc/k.rb,e);b-=this.o/2;c-=this.i/2;h=(b-e/d*b)/e;l=(c-e/d*c)/e;this.a.D-=h*g+l*-f;this.a.v-=h*f+l*g};B.prototype.ko=function(d,a){d.wc.current=d.a.m/a*100;d.wc.K=!1;d.Wb.pc=0};B.prototype.jo=function(d){var a=!1,b=!1,c=0,e=0,k=!1;d.yb||-1===d.Wa||(a=!0);!d.mb&&d.Qb&&(b=!0);if(a||b){k=!1;if(b&&a)e=d.elapsedTime/d.N.vk(d.Wa);else if(b){if(c=d.N.fn().Ga)e=d.elapsedTime/c,1<e&&(k=!0)}else 0<d.Wa&&(e=d.a.m/d.Wa);1<e&&
(e=1);d.wc.current=100*e}else k=!0;(d.wc.K=k)?d.Wb.pc=d.M.pc:d.Wb.pc=0};B.prototype.Lm=function(){this.va.rm(this.a.width/2-this.a.D,this.a.height/2-this.a.v,this.a.zoom,this.a.B,this.a.o,this.a.i,this.a.wb,this.a.md[0])};B.prototype.Oi=function(d,a){var b=0;d+=this.a.width/2-Math.round(this.ta/2);a+=this.a.height/2-Math.round(this.Ya/2);return b=this.a.Oi(d,a,this.jb&&this.lb)};B.prototype.Zn=function(){var d=this.M.Zd-this.i/2,a=Math.floor(d/this.a.zoom-(this.a.height/2-this.a.v)+Math.round(this.Ya/
2)),d=Math.floor((this.M.hd-this.o/2)/this.a.zoom+(this.a.I?d/this.a.zoom/2:0)-(this.a.width/2-this.a.D-(this.a.I?this.a.v/2:0))+Math.round(this.ta/2)),b="",c="",e="";-1===this.M.hd||0!==this.a.B?this.Lc.Hb="":(b=-9999>d||9999<d?(d/1E4).toFixed(1)+"K":d+"",c=-9999>a||9999<a?(a/1E4).toFixed(1)+"K":a+"",e=this.Oi(d,a),this.Lc.Hb=b+","+c+"="+e);this.Lc.enabled=this.Yc||this.X.current===k.Xa&&-1!==this.M.hd?this.w||this.W||0===this.ta?!1:!0:!1};B.prototype.no=function(d,a){var b=a.wheelDelta,c=0,e=0,
c=performance.now(),g=a.N.current,f=0,f=0,h=!1,l=!1,e="",f=e=!1;a.Ua=!1;e=c-a.ye;a.$i&&(a.$i=!1,d=e=0);a.lb||a.jo(a);a.X.current!==k.Xa?(d>k.xk&&(d=k.xk,l=!0),a.elapsedTime+=d):a.Ed&&(f=!0,a.elapsedTime=d<e?a.elapsedTime+d:a.elapsedTime+e);a.ab&&(e>1E3/a.sc||a.sc===k.Xd)&&(a.ye=c,a.Ed=!0);a.O=a.eb.current[0];a.Ed&&a.a.m===a.Wa&&!a.yb&&(a.elapsedTime=0,a.reset(a));a.Qb&&!a.mb&&(a.X.current!==k.Xa||f?(!a.Mb||a.N.ti(a.elapsedTime)||f||(a.Mb=!1,a.elapsedTime=a.N.jk(a.a.width/2-a.a.D,a.a.height/2-a.a.v,
a.a.zoom,a.a.B,a.a.l,a.a.Lb*k.qe,a.a.Kc,a.sc,a.O,a.a.m,a.elapsedTime)),g.Fb&&(a.te(!0,!1),a.Mb=!1,g.x=a.a.width/2-a.a.D,g.y=a.a.height/2-a.a.v,g.zoom=a.a.zoom),(e=a.N.update(a.elapsedTime,a.a.m))?(a.Ua=!1,g.Fb=!1):(f||(a.Ua=!0),a.a.D=a.a.width/2-g.x,a.a.v=a.a.height/2-g.y,a.a.zoom=g.zoom,a.ea&&(a.a.zoom=a.a.zoom/a.Zc),a.H&&(a.H.current=a.Pb([a.a.zoom,a.a.zoom],!1,a)),a.a.B=g.B,a.pa&&(a.pa.current=[a.a.B,a.a.B]),a.a.l=g.l,a.ib&&(a.ib.current=[a.a.l,a.a.l]),a.a.Lb=g.depth/k.qe+k.Ah,a.Da&&(a.Da.current=
[Math.sqrt(a.a.Lb),a.a.Lb*k.qe]),a.sc=g.Fa,a.ca&&(a.ca.current=[Math.sqrt((g.Fa-k.vc)/(k.Xd-k.vc)),g.Fa]),a.O=g.step,a.eb.current=[a.O,a.O],g.na>a.a.m?(a.Ed=!0,a.O=g.na-a.a.m|0,1>a.O&&(a.O=1),a.O>k.Sc&&(a.O=k.Sc)):a.Ed=!1,g.sb!==a.wh&&(""===g.sb?a.h.notification.clear(!1,!1):a.h.notification.L(g.sb,1E3,!1),a.wh=g.sb),g.Ba!==a.ej&&(a.a.Hd(g.Ba,a.a.fk),a.Bb&&(a.Bb.current=[g.Ba,g.Ba]),a.ej=g.Ba))):a.Ua=!1);a.Ua&&(a.Ob=-1);a.ie.locked=a.Ua;a.Xf.locked=a.Ua;a.ca.locked=a.Ua;a.eb.locked=a.Ua;a.Bb.locked=
a.Ua;a.H.locked=a.Ua;a.pa.locked=a.Ua;a.ib.locked=a.Ua;a.Da.locked=a.Ua;e=0;if(a.Ed){if(a.R){c=performance.now();for(f=0;f<a.O;f+=1){e=performance.now()-c;if(a.a.m===a.Wa-1&&!a.yb||a.a.m===a.de-1||e>k.Tl)f=a.O-1;a.Yc&&f===a.O-1?a.a.Be(!0,a.elapsedTime,a.kd):a.a.Be(!1,a.elapsedTime,a.kd);if(a.a.Nl||f===a.O-1)a.R=a.a.cf()}a.R||(a.Mi=k.Qm,a.Ii=a.a.m,a.h.notification.L("Life ended at generation "+a.Ii,600,!0))}else a.Mi&&(--a.Mi,f=a.a.m,a.a.m=a.Ii,a.a.cf(),a.a.m=f),a.a.m+=a.O;a.a.m===a.de&&(a.X.current=
a.$c(k.Xa,!0,a))}b&&(a.wheelDelta=0,0<a.w?0<b?a.Nh(a,3):a.Mh(a,3):0<a.W?0<b?a.Lh(a,3):a.Kh(a,3):a.Ua||(a.Ra?a.je(a):(c=a.H.current[0],0>b?0<c&&(a.ad(c,-.05),c-=.05,0>c&&(c=0)):1>c&&(a.ad(c,.05),c+=.05,1<c&&(c=1)),a.H&&(a.H.current=a.Pb([c,c],!0,a)))));a.Ra&&!a.Ua&&a.te(!1,!1);a.a.Gn();a.zf&&a.Lm();a.a.sk();a.Jh&&a.jm(a);a.a.m&&a.R&&a.a.mm()&&(a.hb+=a.a.width>>2,a.jf+=a.a.height>>2,a.cb+=a.a.width>>2,a.Me+=a.a.height>>2,a.a.I&&(a.hb-=a.a.height>>3,a.cb-=a.a.height>>3));a.w?a.tk(a):a.Ab.length&&!a.ea&&
a.rk(a);a.Wb.lower[0]=a.ph?"+ "+a.sg(a.a.m):"T "+a.sg(a.a.m+a.oh);a.kh.Hb=a.cm(a.elapsedTime);a.Gh.Hb=a.sg(a.a.Vc);a.Vg.Hb=a.sg(a.a.Ic);a.gh.Hb=a.sg(a.a.Mc);e>k.Tl?(a.ld+=k.ll,a.ld>=2*k.lj&&(a.ld=0)):0<a.ld&&(a.ld-=k.ll);l?a.Gd<k.wn&&(a.Gd+=k.ml):a.Gd>k.xn&&(a.Gd-=k.ml);e=a.ld<k.lj?"rgb("+a.Gd+","+a.ld+",0)":"rgb("+a.Gd+","+(2*k.lj-a.ld)+",0)";a.eb.Hc=e;e="rgb("+a.Gd+",0,0)";a.ca.Hc=e;a.Ed=!1;a.Zn();-1!==a.Ob&&a.Sl();a.w||a.W?(a.ie.K=!0,a.H.K=!0,a.Xf.K=!0,a.mf.K=!0):(a.ie.K=!1,a.H.K=!1,a.Xf.K=!1,
a.mf.K=!1);a.H.locked=a.Ra?!0:a.Ua;if(a.ab||a.Ra&&a.he>a.dm||-1!==a.Ob)h=!0;a.h.Oe(h)};B.prototype.mo=function(a){for(var b=a.hk,c=performance.now(),e=!0,g=a.a.fc.kn*LifeConstants.ug;a.a.m<b-1&&13>performance.now()-c;)e=b-1-a.a.m<=g?!1:!0,a.a.Be(!1,0,e),a.a.cf();a.a.m===b-1?(a.a.Be(a.Yc,0,!1),a.R=a.a.cf(),a.bf=!1,a.h.notification.clear(!0,!1),a.M.locked=!1):a.M.locked=!0;a.ko(a,b);a.a.sk();a.w?a.tk(a):a.Ab.length&&!a.ea&&a.rk(a);a.h.Oe(!0)};B.prototype.pi=function(a,b){b.bf?b.mo(b):b.no(a,b)};B.prototype.ri=
function(a){a.a.m=0;a.elapsedTime=0;a.a.D=a.a.width>>1;a.a.v=a.a.height>>1;a.a.D&=a.a.width-1;a.a.v&=a.a.height-1;a.ye=performance.now();a.R=!0;a.$i=!0};B.prototype.Oj=function(a,b){b.h.tg=a[0];b.h.Oe(!0)};B.prototype.Wl=function(a,b,c){b?(b=a[0]+.5|0,c.a.Kc!==b&&(c.a.Hd(b,c.a.fk),c.ne&&b===c.a.Nb?c.h.notification.L("Custom Theme",40,!0):c.h.notification.L("Theme "+b,40,!0)),a=a[0]):a=c.a.Kc;return[a,c.a.Kc]};B.prototype.Vh=function(a,b,c){b&&(c.O=a[0]+.5|0);return[c.O,c.O]};B.prototype.We=function(a,
b,c){b?(c.sc=k.vc+a[0]*a[0]*(k.Xd-k.vc),a=a[0]):a=Math.sqrt((c.sc-k.vc)/(k.Xd-k.vc));return[a,c.sc]};B.prototype.wl=function(a){a.yf=a.a.zoom;a.ea&&(a.yf=a.yf*a.Zc);a.sj=a.a.B;a.cb=a.a.D;a.Me=a.a.v};B.prototype.Ln=function(a){a.Qe=a.a.width/2-a.a.D;a.Re=a.a.height/2-a.a.v;a.Cf=a.a.zoom;a.Pe=a.a.B;a.Od=a.a.width/2-a.cb;a.kf=a.a.height/2-a.Me;a.Vf=a.sj;a.ea?a.se=a.yf/a.Zc:a.se=a.yf;a.Ob=0};B.prototype.In=function(a){var b=0;a.a.zoom=a.qk;a.ea&&(a.a.zoom=a.a.zoom/a.Zc);a.H&&(a.H.current=a.Pb([a.a.zoom,
a.a.zoom],!1,a));a.a.B=a.gf;a.pa&&(a.pa.current=[a.gf,a.gf]);a.a.D=a.hb;a.a.v=a.jf;a.a.Hd(a.pe,1);a.Bb.current=[a.pe,a.pe];a.jb&&(a.a.me=0);b=Math.sqrt((a.Ei-k.vc)/(k.Xd-k.vc));a.ca.current=a.We([b,b],!0,a);a.O=a.hh;a.eb.current=[a.O,a.O];a.a.l=a.hf;a.ib.current=[a.hf,a.hf];b=Math.sqrt(a.Ci);a.Da.current=a.Ve([b,b],!0,a)};B.prototype.reset=function(a){var b=!1,c=!1;0===a.elapsedTime&&(b=!0);a.yb||a.a.m===a.Wa&&(c=!0);!c&&a.Qb&&(a.mb=!0);a.elapsedTime=0;b&&(a.In(a),a.Qb&&(a.mb=!1),a.yb=!1);a.jb||(a.a.tl(a.kd),
a.R=!0,a.a.R=!0,a.a.Xb=!0);a.wh="";a.ej=-1;a.Mb=!1;a.N.ee=0;a.h.notification.clear(!1,!1)};B.prototype.zl=function(a){this.X.icon[2]=a?k.Ma.icon("pause"):k.Ma.icon("stepforward")};B.prototype.$c=function(a,b,c){var e=a,g=c.yb,f=c.mb,h=null,l="",m=40;if(b){switch(a){case k.el:c.ke&&0===c.a.m&&0===c.elapsedTime?(c.ab=!0,a=k.sf,c.ye=performance.now()):(c.ab=!1,a=k.Xa);c.reset(c);h="Reset";!c.yb&&g&&-1!==c.Wa&&(m=120,l="(Loop On");c.yb&&!g&&-1!==c.Wa&&(m=120,l="(Loop Off");!c.mb&&f&&(m=120,l=(""===l?
"(":l+", ")+"Waypoints On");c.mb&&!f&&(m=120,l=""===l?"(":l+", ",l+="Waypoints Off");""!==l&&(l+=")",h+=" "+l);c.h.notification.L(h,m,!0);break;case k.sf:c.X.current!==k.sf&&(c.ab=!0,c.h.notification.L("Play",40,!0),c.ye=performance.now());break;case k.rn:c.ab?(c.ab=!1,c.yb||c.Qb||-1===c.Wa?c.h.notification.L("Pause",40,!0):(c.yb=!0,c.h.notification.L("Pause (Loop Off)",120,!0))):0<c.a.m&&c.Ih(c.a.m-c.O);a=k.Xa;break;case k.Xa:c.ab?(c.ab=!1,c.yb||c.Qb||-1===c.Wa?c.h.notification.L("Pause",40,!0):
(c.yb=!0,c.h.notification.L("Pause (Loop Off)",120,!0))):(c.Ed=!0,c.ye=performance.now())}e=a;c.zl(c.ab)}return e};B.prototype.Jg=function(a,b,c){b&&(c.Mb=!0,c.a.B=a[0]);return[c.a.B,c.a.B]};B.prototype.Pj=function(a,b,c){b?(c.Mb=!0,c.a.l=a[0]+.5|0,a=a[0]):a=c.a.l;return[a,c.a.l]};B.prototype.Ve=function(a,b,c){return b?(c.Mb=!0,c.a.Lb=a[0]*a[0],[a[0],c.a.Lb*k.qe]):[Math.sqrt(c.a.Lb),c.a.Lb*k.qe]};B.prototype.Of=function(a,b,c,e){var g=0,f=0,h=0,l=0,h=0;c?(-1!==e.qf&&(e.w?(f=e.rf-b,f/=k.fontSize,
0<f?e.Mh(e,f):0>f&&e.Nh(e,-f)):e.W?(f=e.rf-b,f/=k.fontSize,0<f?e.Kh(e,f):0>f&&e.Lh(e,-f)):(g=(e.qf-a)/e.a.zoom,f=(e.rf-b)/e.a.zoom,h=e.a.I?0:-e.a.B,l=Math.sin(h/180*Math.PI),h=Math.cos(h/180*Math.PI),e.Ua||(e.Ra?e.je(e):(e.Mb=!0,e.a.D+=g*h+f*-l,e.a.v+=g*l+f*h)))),e.qf=a,e.rf=b):(e.qf=-1,e.rf=-1)};B.prototype.$d=function(a,b){this.rf=this.qf=0;this.Of(a,b,!0,this);this.qf=-1};B.prototype.ci=function(a){var b=null,b=k.Ik;null===b&&(b=new Image,b.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAoCAMAAADnj1xSAAAAb1BMVEUAAAAAADoAAGYAAP8AOpAAZrYAZv8IAAAIAP8IkNsIkP8NAAANADoNAGYNAP8NZrYNtv8TOgATOmYTOv8T2/8XZgAXZmYXZv8XtrYXttsX//8bkDob//8gtmYgtv8g25Ag/7Yg/9sg//9wcHD///8u+qFBAAAAAXRSTlMAQObYZgAAAylJREFUaN7tmw17mjAQgG0HddStwylrpzj1zP//jTsSoKkkcBeiIOSep0DDeSH3JpcPwmIRJMgU5dJxDmIVkNJ9l6oXgPQGQtOg6gUgfYEsgKRA1QtAegNp93R1n6oXgPQH0ubp+jZVLwDxAMTuaTAcKFa8AxFUvVJs/2vJfbJpfwR7vnq6EF1YCMmdeheSuJRS3B5IIxHs0vGkJCDifu3OfwsRtOfvAaSpB8AnIjhAxIMDIRTAGYhJzwGI4AERjw6kswSOQMzm+UAEF4hvIjabtwPSUQQnIFbjbjxYQMTjA2ktgwMQqmlWB0YHIiYApKUQbCBUw8ywygBiyjOBvV8gL0WrPi4rAM+700oBqS6KtPMaT1Fep2h6XUCsnmMCoZrl1RkmkGamT9vCebqkmSMQNc/YloF2U008dvCmX3gAYvEdCwjVqEMvxwLS0IryD+kcDVDWp+0mAOvCKhwaIctbC7F4jwGEYJLRqYs+QK7VkvPv3aF0Bx5+bFW8Qb+aQpluwZgpunpTnOPj8oLXfwHNo2XEDO8WIEVWmXoC/PsFcA2G5D/fQBjDXtEPiLiKWMdlqljoQFKZ74EPJMqP36sW8bxDG6efaPlJxTENSFkyTFFZ7UsgUHZAswUS5YdFjBW0ArKSISvKsQZj2MnYQGJAINL/pzd0717VfGnvxQgECS6r1rGSv8BDNnzI4kwMfYaspGwKX4HEsnGkzaBFayE1kCIwFUalvW/GkBWrIp7XFZRmvsN06pyJob9OvY4lvoBg9X5XYHhAIGMAmfCwVwYM9EAm40SiYnodsr4Mv1ijLLSiA5GmXsEEpB5pkUPWpCeGalaIFfiz203bOnW9bXTMQ/4VE49NOf0oE03zkLTsx4md+sSXTrbSMaoSA/wpIkYssViGva1Armfqny2kddibKnXSsPeOi4vuLwnuv7jYDqTHWpZ5cjjI8vvC7XXIMMvvwwAJL6hGBYQXxnlAwitcNn9uv8oF0szEBchsNjnwBzp8II1sXHadjGwb0K2AzEc8b5S71b6seQEJW0nHBSRsth4XkPA5wriAhA92xgYkfNI2AwlAJir/AVVatsGcLV/WAAAAAElFTkSuQmCC",
k.Ik=b);b=new IconManager(b,a);b.add("play",40,40);b.add("pause",40,40);b.add("tostart",40,40);b.add("menu",40,40);b.add("stepback",40,40);b.add("stepforward",40,40);b.add("autofit",40,40);b.add("fit",40,40);b.add("grid",40,40);b.add("help",40,40);return b};B.prototype.Pf=function(a,b){a.h.hasFocus&&(a.bf||(b.wheelDelta?a.wheelDelta=b.wheelDelta/120:b.detail&&(a.wheelDelta=-b.detail/3),a.h.Oe(!0)),b.preventDefault())};B.prototype.Sl=function(){var a=this.N.Zj(this.Ob/k.jj),b=this.Pe,c=this.Vf;this.a.D=
this.a.width/2-(this.Qe+a*(this.Od-this.Qe));this.a.v=this.a.height/2-(this.Re+a*(this.kf-this.Re));this.a.zoom=this.Cf*Math.pow(this.se/this.Cf,a);180<c-b?b+=360:-180>c-b&&(c+=360);this.a.B=(b+a*(c-b))%360;this.Ob+=1;this.Ob>k.jj&&(this.Ob=-1,this.a.zoom=this.se,this.a.B=c,this.a.D=this.a.width/2-this.Od,this.a.v=this.a.height/2-this.kf);this.H&&(this.H.current=this.Pb([this.a.zoom,this.a.zoom],!1,this));this.pa&&(this.pa.current=this.Jg([this.a.B,this.a.B],!1,this))};B.prototype.Un=function(a,b){var c=
this.N.cc[b];a.Qe=a.a.width/2-a.a.D;a.Re=a.a.height/2-a.a.v;a.Cf=a.a.zoom;a.Pe=a.a.B;a.Od=c.x;a.kf=c.y;a.se=c.zoom;a.Vf=c.B;a.a.I&&(a.Od+=a.a.v/2);a.Ob=0;a.h.notification.L("POI "+b,60,!0);""!==c.sb?a.h.notification.L(c.sb,180,!1):a.h.notification.clear(!1,!0)};B.prototype.rc=function(a,b){a.Ra?a.je(a):(a.Qe=a.a.width/2-a.a.D,a.Re=a.a.height/2-a.a.v,a.Cf=a.a.zoom,a.Pe=a.a.B,a.Od=a.Qe,a.kf=a.Re,a.se=b,a.Vf=a.Pe,a.Ob=0)};B.prototype.fi=function(a){a.te(!0,!0);a.X.current===k.Xa&&(a.Mb=!0)};B.prototype.Ql=
function(a,b,c){b&&(c.a.$a=a[0],c.a.rd()||c.h.notification.L("Grid Lines "+(c.a.$a?"On":"Off"),40,!0));return[c.a.$a]};B.prototype.Pl=function(a,b,c){b&&(c.Ra=a[0],c.h.notification.L("AutoFit "+(c.Ra?"On":"Off"),40,!0));return[c.Ra]};B.prototype.Eg=function(a,b,c){b&&(c.w=a[0]);return[c.w]};B.prototype.Qj=function(a,b,c){b&&(c.Yc=a[0],c.Yc&&(c.R?0===c.a.m?(c.a.Vc=c.a.od.Vc,c.a.Ic=c.a.od.Ic,c.a.Mc=c.a.od.Mc):-1===c.a.u&&(--c.a.m,c.a.Be(!0,c.elapsedTime,c.kd)):(c.a.Vc=0,c.a.Ic=0,c.a.Mc=0)));c.h.Oe(!0);
return[c.Yc]};B.prototype.Lh=function(a,b){1<a.W&&(a.W-=b,1>a.W&&(a.W=1))};B.prototype.Kh=function(a,b){a.W<a.Ab.length-a.za&&(a.W+=b,a.W>a.Ab.length-a.za&&(a.W=a.Ab.length-a.za))};B.prototype.Nh=function(a,b){1<a.w&&(a.w-=b,1>a.w&&(a.w=1))};B.prototype.Mh=function(a,b){a.w<a.uf-a.za&&(a.w+=b,a.w>a.uf-a.za&&(a.w=a.uf-a.za))};B.prototype.Ih=function(a){this.kd?this.h.notification.L("Step back disabled",40,!0):(0>a&&(a=0),this.R=this.a.Ih(a,this.Yc,this.elapsedTime),this.elapsedTime=this.a.elapsedTime,
a!==this.a.m&&(this.bf=!0,this.hk=a,this.a.tl(!1),this.h.notification.L("Computing previous generations",1E4,!0)))};B.prototype.je=function(a){a.h.notification.L("AutoFit is On",120,!0)};B.prototype.Bn=function(a,b,c){var e=!0,g=0;if(c.ctrlKey||c.metaKey||c.altKey)b=-1;switch(b){case 191:c.shiftKey?a.a.Eh!==a.a.I&&(a.a.I?(a.a.D+=a.a.v/2,a.hb+=a.a.v/2,a.cb+=a.a.v/2,a.a.I=!1):(a.a.D-=a.a.v/2,a.hb-=a.a.v/2,a.cb-=a.a.v/2,a.a.I=!0),a.h.notification.L("Hex Display "+(a.a.I?"On":"Off"),40,!0)):(a.a.I?(a.a.D+=
a.a.v/2,a.hb+=a.a.v/2,a.cb+=a.a.v/2,a.a.I=!1):(a.a.D-=a.a.v/2,a.hb-=a.a.v/2,a.cb-=a.a.v/2,a.a.I=!0),a.h.notification.L("Hex Display "+(a.a.I?"On":"Off"),40,!0));a.pa.K=a.a.I;break;case 66:a.lb||(a.X.current===k.Xa?0<a.a.m&&a.Ih(a.a.m-a.O):a.X.current=a.$c(k.Xa,!0,a));break;case 13:a.lb||(a.X.current=a.X.current===k.sf?a.$c(k.Xa,!0,a):a.$c(k.sf,!0,a));break;case 32:a.lb||(a.ab?a.X.current=a.$c(k.Xa,!0,a):(a.Ed=!0,a.ye=performance.now()));break;case 87:a.Qb&&(a.mb=!a.mb,-1!==a.Wa?(a.yb=a.mb,a.h.notification.L("Loop "+
(a.yb?"Off":"On")+", Waypoints "+(a.mb?"Off":"On"),40,!0)):a.h.notification.L("Waypoints "+(a.mb?"Off":"On"),40,!0),a.mb?a.h.notification.clear(!1,!1):a.N.ti(a.elapsedTime)||(a.N.Sm(a.a.m),a.elapsedTime=a.N.vk(a.a.m),a.elapsedTime=a.N.jk(a.a.width/2-a.a.D,a.a.height/2-a.a.v,a.a.zoom,a.a.B,a.a.l,a.a.Lb*k.qe,a.a.Kc,a.sc,a.O,a.a.m,a.elapsedTime),a.Mb=!1));break;case 69:!a.eb.locked&&a.O<k.Sc&&(c.shiftKey?a.O=k.Sc:a.O+=1,a.eb.current=a.Vh([a.O,a.O],!0,a));break;case 68:!a.eb.locked&&a.O>k.kg&&(c.shiftKey?
a.O=k.kg:--a.O,a.eb.current=a.Vh([a.O,a.O],!0,a));break;case 90:c.shiftKey?(g=f.eo(),0===g?a.h.notification.L("No LifeViewers playing",100,!0):1<g&&a.h.notification.L("Paused all LifeViewers",100,!0)):(g=f.fo(a),0===g?a.h.notification.L("No other LifeViewers playing",100,!0):1<g?a.h.notification.L("Paused "+g+" other LifeViewers",100,!0):a.h.notification.L("Paused "+g+" other LifeViewer",100,!0));break;case 88:a.a.$a=!a.a.$a;a.mf.current=a.Ql([a.a.$a],!0,a);break;case 80:!a.jb&&a.Da&&(a.Da.current=
.99>=a.Da.current[0]?a.Ve([a.Da.current[0]+.01,a.Da.current[1]],!0,a):a.Ve([1,a.Da.current[1]],!0,a));break;case 76:!a.jb&&a.Da&&(a.Da.current=.01<=a.Da.current[0]?a.Ve([a.Da.current[0]-.01,a.Da.current[1]],!0,a):a.Ve([0,a.Da.current[1]],!0,a));break;case 81:!a.jb&&a.ib&&a.ib.current[0]<k.zh&&(a.ib.current=a.Pj([a.a.l+1,a.ib.current[1]],!0,a));break;case 65:!a.jb&&a.ib&&a.ib.current[0]>k.Bh&&(a.ib.current=a.Pj([a.a.l-1,a.ib.current[1]],!0,a));break;case 82:a.X.current=a.$c(k.el,!0,a);break;case 83:a.zf=
!a.zf;break;case 78:a.Ef&&(a.ea?a.Ej():(a.Hl(),a.w&&(a.w=0)),a.resize());break;case 86:c.shiftKey?(a.wl(a),a.h.notification.L("Saved camera position",100,!0)):a.Ua||(a.Ra?a.je(a):(a.Ln(a),a.h.notification.L("Restored camera position",100,!0),a.X.current===k.Xa&&(a.Mb=!0)));break;case 221:a.Ra?a.je(a):c.shiftKey?(a.a.zoom<=k.Tc/2?(a.ad(a.H.current[0],Math.log(2*a.a.zoom/k.rb)/Math.log(k.Tc/k.rb)-a.H.current[0]),a.a.zoom*=2):(a.ad(a.H.current[0],1-a.H.current[0]),a.a.zoom=k.Tc),a.H.current=a.Pb([a.a.zoom,
a.a.zoom],!1,a)):.99>=a.H.current[0]?(a.ad(a.H.current[0],.01),a.H.current=a.Pb([a.H.current[0]+.01,a.H.current[1]],!0,a)):(a.ad(a.H.current[0],1-a.H.current[0]),a.H.current=a.Pb([1,a.H.current[1]],!0,a));break;case 219:a.Ra?a.je(a):c.shiftKey?(a.a.zoom>=2*k.rb?(a.ad(a.H.current[0],Math.log(a.a.zoom/2/k.rb)/Math.log(k.Tc/k.rb)-a.H.current[0]),a.a.zoom/=2):(a.ad(a.H.current[0],-a.H.current[0]),a.a.zoom=k.rb),a.H.current=a.Pb([a.a.zoom,a.a.zoom],!1,a)):.01<=a.H.current[0]?(a.ad(a.H.current[0],-.01),
a.H.current=a.Pb([a.H.current[0]-.01,a.H.current[1]],!0,a)):(a.ad(a.H.current[0],-a.H.current[0]),a.H.current=a.Pb([0,a.H.current[1]],!0,a));break;case 48:a.a.B=0;a.pa&&(a.pa.current=[a.a.B,a.a.B]);break;case 49:c.shiftKey?(1<=a.a.zoom?a.rc(a,a.a.zoom+.5|0):a.rc(a,1/(1/a.a.zoom+.5|0)),a.h.notification.L("Integer Zoom",40,!0)):a.rc(a,1);break;case 50:c.shiftKey?a.rc(a,.5):a.rc(a,2);break;case 51:a.rc(a,32);break;case 52:c.shiftKey?a.rc(a,.25):a.rc(a,4);break;case 54:c.shiftKey?a.rc(a,.0625):a.rc(a,
16);break;case 56:c.shiftKey?a.rc(a,.125):a.rc(a,8);break;case 189:!a.lb&&a.ca&&(a.ca.current=.01<=a.ca.current[0]&&!c.shiftKey?a.We([a.ca.current[0]-.01,a.ca.current[1]],!0,a):a.We([0,a.ca.current[1]],!0,a));break;case 187:!a.lb&&a.ca&&(a.ca.current=.99>=a.ca.current[0]&&!c.shiftKey?a.We([a.ca.current[0]+.01,a.ca.current[1]],!0,a):a.We([1,a.ca.current[1]],!0,a));break;case 188:a.pa&&(g=a.pa.current[0],c.shiftKey?g-=90:--g,0>g&&(g+=360),a.pa.current=a.Jg([g,g],!0,a));break;case 190:a.pa&&(g=a.pa.current[0],
g=c.shiftKey?g+90:g+1,360<=g&&(g-=360),a.pa.current=a.Jg([g,g],!0,a));break;case 74:a.N.cc.length?a.Ra?a.je(a):(c.shiftKey?(--a.td,0>a.td&&(a.td=a.N.cc.length-1)):(a.td+=1,a.td>=a.N.cc.length&&(a.td=0)),a.Un(a,a.td)):a.h.notification.L("No POIs defined",80,!0);break;case 84:a.Oj([!a.h.tg],a);break;case 71:a.lb||(c.shiftKey?a.ph=!a.ph:(a.Qj([!a.Yc],!0,a),a.Wb&&(a.Wb.current=[a.Yc],a.h.Hf=!0)));break;case 70:a.Ua||(c.shiftKey?(a.Ra=!a.Ra,a.ie.current=a.Pl([a.Ra],!0,a)):(a.te(!0,!0),a.h.notification.L("Fit Zoom",
80,!0),a.X.current===k.Xa&&(a.Mb=!0)));break;case 79:a.Tn(a);break;case 37:c.shiftKey?a.$d(a.a.zoom,a.a.zoom):a.$d(a.a.zoom,0);break;case 38:a.w?a.Nh(a,1):a.W?a.Lh(a,1):c.shiftKey?a.$d(-a.a.zoom,a.a.zoom):a.$d(0,a.a.zoom);break;case 39:c.shiftKey?a.$d(-a.a.zoom,-a.a.zoom):a.$d(-a.a.zoom,0);break;case 40:a.w?a.Mh(a,1):a.W?a.Kh(a,1):c.shiftKey?a.$d(a.a.zoom,-a.a.zoom):a.$d(0,-a.a.zoom);break;case 77:a.jd&&!a.jd.K&&(a.jd.current[0]=!a.jd.current[0],a.h.Hf=!0);break;case 67:a.jb||!a.Bb||a.Bb.locked||
(c.shiftKey?g=a.pe:(g=a.Bb.current[0],g+=1,a.ne?g>=a.a.Nb+1&&(g=0):g>=a.a.Nb&&(g=0)),a.Bb.current=a.Wl([g,g],!0,a));break;case 72:a.Ab.length?a.w?a.w=0:a.w=a.xl:a.w?a.w=0:a.ea||(a.w=1);a.nf.current=a.Eg([a.w],!0,a);break;case 73:a.w?a.w!==a.uh?a.w=a.uh:a.w=0:a.ea||(a.w=a.uh);a.nf.current=a.Eg([a.w],!0,a);break;case 27:a.Pc?a.W?(a.Ab=[],a.W=0):n():a.w?a.w=0:a.W?(a.Ab=[],a.W=0):a.ab?a.X.current=a.$c(k.Xa,!0,a):a.Qb&&!a.mb&&(a.mb=!0,a.h.notification.L("Waypoints "+(a.mb?"Off":"On"),40,!0));a.w=0;a.nf.current=
a.Eg([a.w],!0,a);break;case 33:a.w?a.Nh(a,a.za):a.W&&a.Lh(a,a.za);break;case 34:a.w?a.Mh(a,a.za):a.W&&a.Kh(a,a.za);break;case 36:a.w?a.w=1:a.W&&(a.W=1);break;case 35:a.w?a.w=a.uf-a.za:a.W&&(a.W=a.Ab.length-a.za);break;default:e=!1}return e};B.prototype.Cn=function(a,b,c){var e=!0;if(c.ctrlKey||c.metaKey||c.altKey)b=-1;switch(b){case 84:a.Oj([!a.h.tg],a);break;default:e=!1}return e};B.prototype.hi=function(a,b){var c=b.charCode||b.keyCode,e=!1;if(e=a.bf?a.Cn(a,c,b):a.Bn(a,c,b))a.h.Oe(!0),b.preventDefault()};
B.prototype.di=function(){this.M=this.h.vm(this.pi,this.ri,this);this.M.Ji=this.Of;this.nf=this.M.Ye(this.Eg,Menu.ij,-40,0,40,[""],[!1],Menu.tf);this.nf.icon=[k.Ma.icon("help")];this.ie=this.M.Ye(this.Pl,Menu.fl,0,0,40,[""],[!1],Menu.tf);this.ie.icon=[k.Ma.icon("autofit")];this.Xf=this.M.am(this.fi);this.Xf.icon=k.Ma.icon("fit");this.mf=this.M.Ye(this.Ql,Menu.ij,-85,0,40,[""],[!1],Menu.tf);this.mf.icon=[k.Ma.icon("grid")];this.wc=this.M.bm();this.wc.locked=!0;this.H=this.M.ge(this.Pb,Menu.hj,0,0,
292,40,0,1,.1,"Zoom ","x",1);this.ib=this.M.ge(this.Pj,Menu.qo,30,0,40,292,k.zh,k.Bh,1,"Layers ","",0);this.Da=this.M.ge(this.Ve,Menu.uk,-70,0,40,292,1,0,.1,"Depth ","",2);this.pa=this.M.ge(this.Jg,Menu.hj,0,50,390,40,0,359,0,"Angle ","\u00b0",0);this.jd=this.M.Ye(null,Menu.Wc,-40,-40,40,[""],[!1],Menu.tf);this.jd.icon=[k.Ma.icon("menu")];this.Bb=this.M.ge(this.Wl,Menu.Dl,0,-90,390,40,0,this.a.Nb-1,1,"Theme ","",0);this.ca=this.M.ge(this.We,Menu.Wc,-375,-40,80,40,0,1,0,"","gps",0);this.eb=this.M.ge(this.Vh,
Menu.Wc,-290,-40,80,40,k.kg,k.Sc,1,"x","",0);this.X=this.M.Ye(this.$c,Menu.Wc,-205,-40,160,["","","",""],k.Xa,Menu.yj);this.X.icon=[k.Ma.icon("tostart"),k.Ma.icon("stepback"),k.Ma.icon("pause"),k.Ma.icon("play")];this.jd.Vj([this.ib,this.Da,this.pa,this.Bb]);this.If=this.M.Ec(Menu.ce,0,-120,90,"Time");this.If.textAlign=Menu.left;this.kh=this.M.Ec(Menu.ce,90,-120,90,"");this.kh.textAlign=Menu.right;this.Lc=this.M.Ec(Menu.ce,0,-80,180,"");this.Lc.textAlign=Menu.left;this.Wb=this.M.Ye(this.Qj,Menu.ce,
0,-40,100,[""],[this.Yc],Menu.tf);this.ub=this.M.Ec(Menu.ce,0,-40,this.o-40,"");this.ub.textAlign=Menu.left;this.ub.K=!0;this.Ge=this.M.Ec(Menu.Wc,-180,-160,90,"Alive");this.Ge.textAlign=Menu.left;this.Gh=this.M.Ec(Menu.Wc,-90,-160,90,"");this.Gh.textAlign=Menu.right;this.Sd=this.M.Ec(Menu.Wc,-180,-120,90,"Births");this.Sd.textAlign=Menu.left;this.Vg=this.M.Ec(Menu.Wc,-90,-120,90,"");this.Vg.textAlign=Menu.right;this.Td=this.M.Ec(Menu.Wc,-180,-80,90,"Deaths");this.Td.textAlign=Menu.left;this.gh=this.M.Ec(Menu.Wc,
-90,-80,90,"");this.gh.textAlign=Menu.right;this.wd=this.M.Ec(Menu.ce,0,-160,180,this.ob);this.Wb.Vj([this.Ge,this.Gh,this.Sd,this.Vg,this.Td,this.gh,this.If,this.kh,this.wd])};B.prototype.$h=function(a){var b=this;this.s=a;this.s.getContext&&(this.s.width!==this.fb&&l.yh&&(this.s.width=this.fb),this.s.width&=-8,this.Rc=this.s.getContext("2d",{alpha:!1}),this.Rc.globalAlpha=1,this.Rc.fillStyle="black",this.Rc.fillRect(0,0,this.s.width,this.s.height),this.Fe=document.createElement("canvas"),this.Fe.width=
this.s.width,this.Fe.height=this.s.height,this.Gb=this.Fe.getContext("2d",{alpha:!1}),this.o=this.s.width,this.i=this.s.height,this.a=new Life(this.Gb,this.o,this.i,1024,1024),this.a.bn(this.Gb,this.o,this.i),this.Gb.textAlign="left",this.Gb.textBaseline="middle",k.Ma=this.ci(this.Gb),this.h=new MenuManager(this.Rc,this.Gb,"24px Arial",k.Ma,this,this.gi),this.h.tg=!1,this.di(),this.Ee=this.X.x,this.ze=this.ca.x,this.Le=this.eb.x,registerEvent(this.s,"DOMMouseScroll",function(a){b.Pf(b,a)},!1),registerEvent(this.s,
"mousewheel",function(a){b.Pf(b,a)},!1),this.h.notification.enabled=!0,this.h.$l(this.M),registerEvent(this.s,"keydown",function(a){b.hi(b,a)},!1))};B.prototype.Mg=function(a){var b=!0;switch(a){case g.Fj:case g.wj:case g.xj:case g.mg:case g.Ad:case g.ac:case g.Gc:case g.Vi:case g.zj:case g.lh:case g.Fi:case g.mj:case g.Gf:case g.gj:case g.vg:case g.Sg:case g.Rh:case g.Ph:case g.kj:case g.$f:case g.Zf:case g.Dj:case g.Ta:case g.xi:case g.Rb:case g.Sb:case g.Wh:case g.Xh:case g.tb:case g.ig:case g.Kg:case g.Kj:case g.Jj:case g.Te:case g.Tg:case g.rg:case g.uj:case g.Rg:case g.zg:case g.qh:case g.xg:case g.xh:case g.ih:case g.Rj:case g.Ti:b=
!0;break;default:b=!1}return b};B.prototype.Qa=function(a,b,c,e,g){var f=a.Ie();""===f||this.Mg(f)?b[b.length]=[c,e+" missing"]:(b[b.length]=[c+" "+f,e+" must be "+g],a.C())};B.prototype.Y=function(a,b,c,e){var g=!0,f=0,h=0,l=0,m=null,n=null,p=a.C();if(a.da()){f=parseFloat(a.C())|0;if(0>f||255<f)b[b.length]=[e+" "+p+" "+f,"RED out of range"];if(a.da()){h=parseFloat(a.C())|0;if(0>h||255<h)b[b.length]=[e+" "+p+" "+f+" "+h,"GREEN out of range"];a.da()?(l=parseFloat(a.C())|0,0>l||255<l?b[b.length]=[e+
" "+p+" "+f+" "+h+" "+l,"BLUE out of range"]:g=!1):this.Qa(a,b,e+" "+p+" "+f+" "+h,"BLUE","numeric")}else this.Qa(a,b,e+" "+p+" "+f,"GREEN","numeric")}else m=a.Ie(),n=ColourManager.Jb[m.toLowerCase()],void 0!==n?(a.C(),f=n[1],h=n[2],l=n[3],g=!1):""===m||this.Mg(m)?b[b.length]=[e+" "+p,"name missing"]:(b[b.length]=[e+" "+p+" "+m,"name not known"],a.C());g||(-1!==this.c[c]&&(b[b.length]=[e+" "+p+" "+f+" "+h+" "+l,"overwrites ("+(this.c[c]>>16)+" "+(this.c[c]>>8&255)+" "+(this.c[c]&255)+")"]),this.c[c]=
f<<16|h<<8|l,c===k.bh?this.Ub=this.c[c]:c===k.dh?this.mc=this.c[c]:c===k.eh?(this.va.red=f,this.va.green=h,this.va.blue=l):c===k.fh?this.J=[f,h,l]:c===k.$g?(this.Ia=[f,h,l],this.a.$e=this.a.Vd?-16777216|l<<16|h<<8|f:f<<24|h<<16|l<<8|255):this.ne=!0)};B.prototype.ni=function(a,b){var c=!0,e=0,f=this.a.Cb[this.a.Nb];-1===this.c[k.df]&&(a[a.length]=[b+" "+g.Hj,"missing"],c=!1);-1===this.c[k.ef]&&-1===this.c[k.oe]&&(a[a.length]=[b+" "+g.Ij,"missing"],c=!1);c&&(e=this.c[k.ef],-1===e&&(e=this.c[k.oe]),
f.Db.red=e>>16,f.Db.green=e>>8&255,f.Db.blue=e&255,e=this.c[k.df],f.wa.F.red=e>>16,f.wa.F.green=e>>8&255,f.wa.F.blue=e&255,e=this.c[k.Zg],-1===e&&(e=this.c[k.df]),f.wa.U.red=e>>16,f.wa.U.green=e>>8&255,f.wa.U.blue=e&255,e=this.c[k.oe],-1===e&&(e=this.c[k.ef]),f.qa.F.red=e>>16,f.qa.F.green=e>>8&255,f.qa.F.blue=e&255,e=this.c[k.ah],-1===e&&(e=this.c[k.oe]),f.qa.U.red=e>>16,f.qa.U.green=e>>8&255,f.qa.U.blue=e&255,this.a.Hd(this.a.Nb,1))};B.prototype.oi=function(a){var b=this.N.Tm();b.fe||(b.x=this.a.width/
2-this.a.D);b.Kd||(b.y=this.a.height/2-this.a.v);b.lc||(b.zoom=this.a.zoom);b.Qf||(b.B=this.a.B);b.gg||(b.l=this.a.l);b.Uf||(b.depth=this.a.Lb);b.Yf||(b.Fa=this.sc);b.wg||(b.step=this.O);b.Se||(b.Ba=this.a.Kc);this.N.An(a)};B.prototype.Jc=function(a,b){var c=a;a.length>b&&(c=a.substr(0,b-1)+"...");return c};B.prototype.Nf=function(a,b,c){var e=a.indexOf("\\n");-1!==e&&(c?b[b.length]=[g.Gf+" "+g.Oa+this.Jc(a,23)+g.Oa,"only one line allowed"]:(e=a.substr(e+2).indexOf("\\n"),-1!==e&&(b[b.length]=[g.Oa+
this.Jc(a,23),"only two lines allowed"])))};B.prototype.Ng=function(a,b,c){var e=g.zg+" ",f="overwrites (",e=b>=this.a.Nb?e+g.yg:e+b,f=c>=this.a.Nb?f+g.yg:f+c;a[a.length]=[e,f+")"]};B.prototype.Ja=function(a,b,c,e,g,f){var k=0,h=0,l=0;if(a.da()){k=parseFloat(a.C())|0;if(0>k||255<k)b[b.length]=[e+" "+f+" "+k,"RED out of range"],g=!0;if(a.da()){h=parseFloat(a.C())|0;if(0>h||255<h)b[b.length]=[e+" "+f+" "+k+" "+h,"GREEN out of range"],g=!0;a.da()?(l=parseFloat(a.C())|0,0>l||255<l?b[b.length]=[e+" "+
f+" "+k+" "+h+" "+l,"BLUE out of range"]:g||(-1!==this.G[c]&&(b[b.length]=[e+" "+f+" "+k+" "+h+" "+l,"overwrites ("+(this.G[c]>>16)+" "+(this.G[c]>>8&255)+" "+(this.G[c]&255)+")"]),this.G[c]=k<<16|h<<8|l)):this.Qa(a,b,e+" "+f+" "+k+" "+h,"BLUE","numeric")}else this.Qa(a,b,e+" "+f+" "+k,"GREEN","numeric")}else this.Qa(a,b,e+" "+f,"RED","numeric")};B.prototype.Ig=function(a,b,c){var e=!0,f=b.Ie(),h=null,l=0,l=-1,m=0,n=0,h=a===g.Ad?this.a.ue:this.a.ve;if(f.length!==k.Lj)if(b.da()){f=b.C();l=parseFloat(f);
if(l<k.bl||l>k.Wk)c[c.length]=[a+" "+g.Dn+" "+l,"argument out of range"],l=.5;n=0;h[n]=0;for(n+=1;512>n;)myRand.random()<l?h[n]=1:h[n]=0,n+=1}else e=!1;else for(m=0;m<k.Lj&&e;)-1===k.Ug.indexOf(f[m])?e=!1:m+=1;if(e&&(a===g.Ad?(this.Pa&&(c[c.length]=[a,"overwrites previous definition"]),this.Pa=!0):(this.nb&&(c[c.length]=[a,"overwrites previous definition"]),this.nb=!0),-1===l)){n=m=0;for(f=b.C();m<k.Lj-1;)l=k.Ug.indexOf(f[m]),h[n]=l>>5,n+=1,h[n]=l>>4&1,n+=1,h[n]=l>>3&1,n+=1,h[n]=l>>2&1,n+=1,h[n]=
l>>1&1,n+=1,h[n]=l&1,n+=1,m+=1;l=k.Ug.indexOf(f[m]);h[n]=l>>5;h[n+1]=l>>4&1}return e};B.prototype.ei=function(a,b,c){var e=a.width,g=a.height,f=null,k=null,h=0,l=0,m=0;if(c)for(h=0;h<g/2;h+=1)for(f=a.Va[h],k=a.Va[g-h-1],l=0;l<e/2;l+=1)m=e-l-1,myRand.random()<b?(f[l>>4]|=1<<(~l&15),k[l>>4]|=1<<(~l&15),f[m>>4]|=1<<(~m&15),k[m>>4]|=1<<(~m&15)):(f[l>>4]&=~(1<<(~l&15)),k[l>>4]&=~(1<<(~l&15)),f[m>>4]&=~(1<<(~m&15)),k[m>>4]&=~(1<<(~m&15)));else for(h=0;h<g;h+=1)for(f=a.Va[h],l=0;l<e;l+=1)myRand.random()<
b?f[l>>4]|=1<<(~l&15):f[l>>4]&=~(1<<(~l&15))};B.prototype.mi=function(a){var b="",c=a.indexOf(g.hc),e="";if(-1===c)b=a;else{for(;-1!==c;)if(b+=a.substr(0,c),c+1<a.length){e=a[c+1];a=a.substr(c+2);switch(e){case "B":b+=k.Nj;break;case "N":b+=this.oc;break;case "R":b+=this.ob;break;case "O":b+=this.Bc;break;case "T":b+=k.Pm;break;case g.hc:b+=g.hc;break;default:b+=g.hc+e}c=a.indexOf(g.hc)}else c=-1;b+=a}return b};B.prototype.S=function(a,b,c,e){e[e.length]=a?b===g.ac?[b+" "+c,"already defined"]:[b+
" "+c,"overwrites "+g.ac]:b===g.ac?[b+" "+c,"overwrites "+g.Gc]:[b+" "+c,"already defined"]};B.prototype.ii=function(a,b){var c=new Script(a),e=!1,f="",h="",l=!1,m="",n=0,p=!1,t=!1,y=this.Ab,z=null,w=h=z=0,u="",w=this.N.Yg(),B=!1,A=!1,p=!1,E="numeric";this.Ae=this.nc=f=0;this.ne=!1;this.c[k.ef]=-1;this.c[k.df]=-1;this.c[k.Zg]=-1;this.c[k.oe]=-1;this.c[k.ah]=-1;this.c[k.bh]=-1;this.c[k.dh]=-1;this.c[k.eh]=-1;this.c[k.fh]=-1;this.c[k.$g]=-1;this.G=[];if(c.wk(g.rg)){for(f=0;256>f;f+=1)this.G[f]=-1;for(f=
c.C();""!==f;){E="numeric";if(l)f[f.length-1]===g.Oa?(m=m+" "+f.substr(0,f.length-1),l=!1,this.Nf(m,y,e),e?(""!==this.V&&(y[y.length]=[g.Gf+" "+g.Oa+this.Jc(m,20)+g.Oa,"overwrites "+g.Oa+this.V+g.Oa]),this.V=m,e=!1):(w.sb=m,w.Gj=!0)):m=m+" "+f;else if(f[0]===g.Oa)m=f.substr(1),l=!0,f[f.length-1]===g.Oa&&(l=!1,m=m.substr(0,m.length-1),this.Nf(m,y,e),e?(""!==this.V&&(y[y.length]=[g.Gf+" "+g.Oa+this.Jc(m,20)+g.Oa,"overwrites "+g.Oa+this.V+g.Oa]),this.V=m,e=!1):(w.sb=m,w.Gj=!0));else{p=t=!1;this.nc+=
1;switch(f){case g.Gf:p=e=!0;break;case g.gj:p=this.kd=!0;break;case g.vg:p=this.zf=!0;break;case g.Sg:p=w.Fb=!0;break;case g.$f:p=this.a.$a=!0;break;case g.Zf:c.da()&&(t=!0,n=parseFloat(c.C())|0,n>=k.pn&&n<=k.hn&&(this.a.Qd=n,p=!0));break;case g.Ta:case g.xi:u=f;p=!1;if(c.da()){h=parseFloat(c.C())|0;if(0>h||255<=h)y[y.length]=[f+" "+h,"STATE out of range"],p=!0;this.Ja(c,y,h,f,p,h)}else switch(h=c.Ie(),h){case g.gl:h=c.C();this.Ja(c,y,k.hl,f,!1,h);break;case g.il:h=c.C();this.Ja(c,y,k.jl,f,!1,h);
break;case g.Fk:h=c.C();this.Ja(c,y,k.Hk,f,!1,h);break;case g.Pk:h=c.C();this.Ja(c,y,k.Qk,f,!1,h);break;case g.Tk:h=c.C();this.Ja(c,y,k.Uk,f,!1,h);break;case g.Rk:h=c.C();this.Ja(c,y,k.Sk,f,!1,h);break;case g.Lk:h=c.C();this.Ja(c,y,k.Mk,f,!1,h);break;case g.Ll:this.Y(c,y,k.ef,u);break;case g.Hj:this.Y(c,y,k.df,u);break;case g.Kl:this.Y(c,y,k.Zg,u);break;case g.Ij:this.Y(c,y,k.oe,u);break;case g.Ml:this.Y(c,y,k.ah,u);break;case g.$f:this.Y(c,y,k.bh,u);break;case g.Zf:this.Y(c,y,k.dh,u);break;case g.vg:this.Y(c,
y,k.eh,u);break;case g.Fj:this.Y(c,y,k.fh,u);break;case g.$j:this.Y(c,y,k.$g,u);break;default:y[y.length]=[f+" "+h,"illegal element"],c.C()}p=!0;break;case g.uj:c.wk(g.rg);p=!0;--this.nc;break;case g.Kg:p=this.lb=!0;break;case g.Dj:p=this.Pg=!0;break;case g.Tg:p=this.ke=!0;break;case g.ig:c.da()&&(t=!0,n=parseFloat(c.C())|0,0<n&&(-1!==this.Wa&&(y[y.length]=[g.ig+" "+n,"overwrites "+this.Wa]),this.Wa=n,p=!0));break;case g.xg:c.da()&&(t=!0,n=parseFloat(c.C())|0,0<n&&(-1!==this.de&&(y[y.length]=[g.xg+
" "+n,"overwrites "+this.de]),this.de=n,p=!0));break;case g.Rg:c.da()&&(t=!0,n=parseFloat(c.C())|0,0<=n&&359>=n&&(w.Qf&&(y[y.length]=[g.Rg+" "+n,"overwrites ("+w.B+")"]),w.B=n,p=w.Qf=!0));break;case g.xh:c.da()&&(t=!0,n=parseFloat(c.C())|0,n>=k.Bh&&n<=k.zh&&(w.gg&&(y[y.length]=[g.xh+" "+n,"overwrites ("+w.l+")"]),w.l=n,p=w.gg=!0));break;case g.ih:c.da()&&(t=!0,n=parseFloat(c.C()),n>=k.Ah&&n<=k.Xk&&(w.Uf&&(y[y.length]=[g.ih+" "+n+"overwrites ("+w.depth+")"]),w.depth=n,p=w.Uf=!0));break;case g.Wh:c.da()&&
(t=!0,n=parseFloat(c.C()),n>=-this.a.Na/2&&n<=this.a.Na/2&&(this.aa=n,p=!0));break;case g.Xh:c.da()&&(t=!0,n=parseFloat(c.C()),n>=-this.a.Na/2&&n<=this.a.Na/2&&(this.fa=n,p=!0));break;case g.Rb:c.da()&&(t=!0,n=parseFloat(c.C()),n>=-this.a.Na/2&&n<=this.a.Na/2&&(w.fe&&(y[y.length]=[g.Rb+" "+n,"overwrites ("+w.x+")"]),w.x=n,p=w.fe=!0));break;case g.Sb:c.da()&&(t=!0,n=parseFloat(c.C()),n>=-this.a.Na/2&&n<=this.a.Na/2&&(w.Kd&&(y[y.length]=[g.Sb+" "+n,"overwrites ("+w.y+")"]),w.y=n,p=w.Kd=!0));break;case g.tb:c.da()&&
(t=!0,n=parseFloat(c.C()),n>=k.rb&&n<=k.Tc?(w.lc&&(y[y.length]=1>w.zoom?[g.tb+" "+n,"overwrites ("+-(1/w.zoom)+")"]:[g.tb+" "+n,"overwrites ("+w.zoom+")"]),w.zoom=n,p=w.lc=!0):n>=k.qn&&n<=k.jn&&(w.lc&&(y[y.length]=1>w.zoom?[g.tb+" "+n,"overwrites ("+-(1/w.zoom)+")"]:[g.tb+" "+n,"overwrites ("+w.zoom+")"]),w.zoom=-(1/n),p=w.lc=!0));break;case g.qh:c.da()&&(t=!0,n=parseFloat(c.C())|0,n>=k.vc&&n<=k.Xd&&(w.Yf&&(y[y.length]=[g.qh+" "+n,"overwrites ("+w.Fa+")"]),w.Fa=n,p=w.Yf=!0));break;case g.Kj:this.Pc||
(this.Ef=this.ea=!0);p=!0;break;case g.Ol:this.Pc||(this.Te=this.Ef=this.ea=!0,this.h.Te=!0);p=!0;break;case g.Jj:c.da()&&(t=!0,n=parseFloat(c.C())|0,n>=k.cl&&n<=k.Zk&&(this.Zc=n,p=!0));break;case g.zg:c.da()?(t=!0,n=parseFloat(c.C())|0,0<=n&&n<this.a.Nb&&(w.Se&&this.Ng(y,n,w.Ba),w.Ba=n,p=w.Se=!0)):(h=c.Ie(),h===g.yg&&(c.C(),this.ne?(w.Se&&this.Ng(y,this.a.Nb,w.Ba),w.Ba=this.a.Nb,w.Se=!0):y[y.length]=[g.zg+" "+g.yg,"no custom THEME defined"],p=!0));break;case g.rg:y[y.length]=[f,"already in a script block"];
p=!0;break;case g.xj:this.Oj([!0],this);p=!0;break;case g.wj:this.Qj([!0],!0,this);this.Wb&&(this.Wb.current=[this.Yc],this.h.Hf=!0);p=!0;break;case g.Fi:c.da()&&(t=!0,n=parseFloat(c.C())|0,n>=k.al&&n<=k.Vk&&(p=!0,this.a.Hh=n));break;case g.zj:this.a.I=!1;this.pa.K=this.a.I;p=!0;break;case g.Vi:this.a.I=!0;this.pa.K=this.a.I;p=!0;break;case g.lh:c.da()&&(t=!0,n=parseFloat(c.C()),n>=k.bl&&n<=k.Wk&&(-1!==this.Ka&&(y[y.length]=[g.lh+" "+n,"overwrites "+this.Ka]),this.Ka=n,p=!0));break;case g.Ad:p=this.Ig(g.Ad,
c,y);E="base64";break;case g.mg:p=this.Ig(g.mg,c,y);E="base64";break;case g.ac:h=c.Ie();switch(h){case g.Rb:w.Jd&&this.S(w.ic,g.ac,g.Rb,y);w.ic=!0;w.Jd=!0;c.C();break;case g.Sb:w.Ld&&this.S(w.jc,g.ac,g.Sb,y);w.jc=!0;w.Ld=!0;c.C();break;case g.tb:w.Tj&&this.S(w.kc,g.ac,g.tb,y);w.kc=!0;w.Og=!0;c.C();break;case g.Ze:w.Jd&&this.S(w.ic,g.ac,g.Rb,y);w.Ld&&this.S(w.jc,g.ac,g.Sb,y);w.Tj&&this.S(w.kc,g.ac,g.tb,y);w.ic=!0;w.Jd=!0;w.jc=!0;w.Ld=!0;w.kc=!0;w.Og=!0;c.C();break;default:this.Qa(c,y,g.ac,"argument",
g.Ze+", "+g.Rb+", "+g.Sb+" or "+g.tb)}p=!0;break;case g.Gc:h=c.Ie();switch(h){case g.Rb:w.Jd&&this.S(w.ic,g.Gc,g.Rb,y);w.ic=!1;w.Jd=!0;c.C();break;case g.Sb:w.Ld&&this.S(w.jc,g.Gc,g.Sb,y);w.jc=!1;w.Ld=!0;c.C();break;case g.tb:w.Tj&&this.S(w.kc,g.Gc,g.tb,y);w.kc=!1;w.Og=!0;c.C();break;case g.Ze:w.Jd&&this.S(w.ic,g.Gc,g.Rb,y);w.Ld&&this.S(w.jc,g.Gc,g.Sb,y);w.Tj&&this.S(w.kc,g.Gc,g.tb,y);w.ic=!1;w.Jd=!0;w.jc=!1;w.Ld=!0;w.kc=!1;w.Og=!0;c.C();break;default:this.Qa(c,y,g.Gc,"argument",g.Ze+", "+g.Rb+", "+
g.Sb+" or "+g.tb)}p=!0;break;case g.mj:A=!0;this.N.add(w);w=this.N.Yg();p=w.Kk=!0;break;case g.Rh:c.da()&&(t=!0,n=parseFloat(c.C())|0,0<=n&&(B||(B=!0),0<n&&(this.N.add(w),w=this.N.Yg()),w.na=n,p=w.Il=!0));break;case g.Ph:c.da()&&(t=!0,n=parseFloat(c.C())|0,n>=k.kg&&n<=k.Sc&&(w.wg&&(y[y.length]=[g.Ph+" "+n,"overwrites ("+w.step+")"]),w.step=n,p=w.wg=!0));break;case g.kj:c.da()&&(t=!0,n=parseFloat(c.C()),0<n&&(B||(B=!0),this.N.add(w),w=this.N.Yg(),w.Ga=n,p=w.Jl=!0));break;case g.Rj:c.da()&&(t=!0,n=
parseFloat(c.C())|0,n>=k.Yd&&n<=this.fb||this.Pc)&&(p=!0,this.Pc||(this.vb=n));break;case g.Ti:c.da()&&(t=!0,n=parseFloat(c.C())|0,n>=k.dl&&n<=k.$k||this.Pc)&&(p=!0,this.Pc||(this.Dc=n));break;default:y[y.length]=[f,"unknown or misspelt command"],p=!0}p||(t?y[y.length]=[f+" "+n,"argument out of range"]:this.Qa(c,y,f,"argument",E))}""!==f&&(f=c.C())}l&&(y[y.length]=[g.Oa+m,"unterminated string"]);this.nb&&!this.Pa&&(y[y.length]=[g.mg,"defined without "+g.Ad],this.nb=!1);(B||A)&&this.N.add(w);if(B)for(w=
this.N.Z[0],this.a.Hd(w.Ba,1),this.Qb=!0,f=0;f<this.N.Z.length;f+=1)w=this.N.Z[f],w.Fb&&(w.fe||w.Kd||w.lc)&&(m="",w.fe?(m="X "+w.x,w.Kd?m=w.lc?m+(", Y "+w.y+" and ZOOM "+w.zoom):m+(" and Y "+w.y):w.lc&&(m+=" and ZOOM "+w.zoom)):w.Kd?(m="Y "+w.y,w.lc&&(m+=" and ZOOM "+w.zoom)):w.lc&&(m="ZOOM "+w.zoom),y[y.length]=[g.Sg,"overwrites "+m]);else w.Fb&&(this.Ra=!0),w.fe&&(this.a.D=this.a.width/2-w.x),w.Kd&&(this.a.v=this.a.height/2-w.y),w.lc&&(this.a.zoom=w.zoom),w.Qf&&(this.a.B=w.B),w.Se&&this.a.Hd(w.Ba,
1),w.Uf&&(this.a.Lb=w.depth/k.qe+k.Ah),w.gg&&(this.a.l=w.l),w.Yf&&(this.sc=w.Fa),w.wg&&(this.O=w.step),w.Gj&&this.h.notification.L(w.sb,1E3,!1);B||(w.lc&&(this.xe=!0),w.fe&&(this.Ud=!0),w.Kd&&(this.we=!0));for(f=0;f<b;f+=1)-1!==this.G[f]&&(z+=1);if(0<z){this.ed=!0;for(f=0;f<b;f+=1)PatternManager.gc[f]?-1===this.G[f]?(w=this.Jb[f],this.Pg&&(y[y.length]=this.a.tc?[u+" "+k.bo[f],"definition missing (used "+(w>>16)+" "+(w>>8&255)+" "+(w&255)+")"]:[u+" "+f,"definition missing (used "+(w>>16)+" "+(w>>8&
255)+" "+(w&255)+")"]),this.G[f]=w,this.ed=!1,this.Eb[f]=k.Gl):this.Eb[f]=k.Fl:this.Eb[f]=k.Cj;this.Tb=this.ed?"(custom)":this.Tb+" (custom*)"}else this.G=[];this.ne&&this.ni(y,u);-1!==this.Ub&&(this.a.Zb=this.Ub);-1!==this.mc&&(this.a.Oc=this.mc);2<b&&!this.a.tc&&-1===this.a.u&&(this.lb=!0);this.lb&&(z="not possible due to "+g.Kg,this.ke&&(y[y.length]=[g.Tg,z],this.ke=!1),-1!==this.de&&(y[y.length]=[g.xg+" "+this.de,z]),-1!==this.Wa&&(y[y.length]=[g.ig+" "+this.Wa,z]));this.ta+k.Sc+2*Math.abs(this.aa)>=
this.a.Na&&(y[y.length]=[g.Wh+" "+this.aa,"pattern does not fit on grid at this offset"],this.aa=0);this.Ya+k.Sc+2*Math.abs(this.fa)>=this.a.Na&&(y[y.length]=[g.Xh+" "+this.fa,"pattern does not fit on grid at this offset"],this.fa=0);this.Ae=y.length}this.ne&&this.Bb&&(this.Bb.upper=this.a.Nb);""!==this.V&&(this.V=this.mi(this.V))};B.prototype.li=function(){this.Qb=!1;this.Wa=this.de=-1;this.ke=!1;this.G=[];this.J=null};B.prototype.Ej=function(){this.Te?b(this.Yh):(this.o=this.Lf,this.i=this.Df,this.a.zoom=
this.Mf,this.H&&(this.H.current=this.Pb([this.a.zoom,this.a.zoom],!1,this)),this.w=this.Kf,this.ea=!1,this.h.ea=!1,this.M.K=!1,this.h.notification.L("Shrink with hotkey N",100,!0))};B.prototype.gi=function(a){a.ea&&(a.Ej(),a.resize())};B.prototype.resize=function(){this.s.width=this.o;this.s.height=this.i;this.Fe.width=this.o;this.Fe.height=this.i;this.Gb.textBaseline="middle";this.a.rl(this.o,this.i)};B.prototype.Hl=function(){this.Lf=this.o;this.Df=this.i;this.Mf=this.a.zoom;this.Kf=this.w;this.o=
this.o/this.Zc|0;this.i=this.i/this.Zc|0;this.a.zoom=this.a.zoom/this.Zc;this.o&=-8;this.M.K=!0;this.ea=this.h.ea=!0};B.prototype.El=function(a,b){var c=null,e=0,f=0,h=0,l=!1,e=f=e=0;this.Ab=[];if(c=PatternManager.create("",a))for(this.oh=PatternManager.Ni,this.Je=PatternManager.nj,this.Ke=PatternManager.oj,this.ta=c.width,this.Ya=c.height,this.oc=c.name,this.Bc=c.kl,this.Uc=c.Uc,""===this.Uc&&(this.Uc="(none)"),this.Za=c.Fd,this.Ac=c.lg,this.ob=c.xf,this.ra=PatternManager.ra,this.a.tc=c.Kb,this.a.u=
c.u,this.a.I=c.I,this.a.Eh=c.I,this.a.Qc=c.Qc,this.a.Xe=c.Xe,this.a.pb=c.Rd,this.a.ga=c.fd,this.a.Ca=c.Pd,this.a.Sf=c.Pi,this.a.Tf=c.Ri,this.a.ui=c.zk,this.a.bk=c.Ak,this.Cc=new Uint32Array(this.Za),e=0;e<this.Za;e+=1)this.Cc[e]=PatternManager.gc[e];else this.Ke=this.Je=this.oh=0,this.Bc=this.oc=this.ob="",this.Ac=this.Za=this.Ya=this.ta=0,this.Uc="(none)",this.a.tc=!1,this.a.I=!1,this.a.Qc=!1,this.a.Xe=-1,this.a.Eh=!1,this.a.u=-1,this.a.pb=-1;this.ph=!1;this.pa.K=this.a.I;this.Ea=PatternManager.Ea;
this.a.R=!0;this.a.Xb=-1===this.a.u?!1:!0;this.Ka=this.a.Qh=-1;this.nb=this.Pa=this.Lg=!1;this.a.Hh=k.nk;this.fa=this.aa=0;this.Ob=this.td=-1;this.bf=!1;this.Ra=this.M.locked=!1;this.a.Vm();this.a.Wm();this.a.tc&&((PatternManager.gc[2]||PatternManager.gc[3]||PatternManager.gc[4]||PatternManager.gc[5]||PatternManager.gc[6])&&this.a.xm(),PatternManager.gc[6]&&this.a.ym());this.V="";this.zf=!1;ColourManager.gd();this.a.tm();this.a.sm();this.a.nm();this.a.tc?this.a.Hd(10,1):-1!==this.a.u?this.a.Hd(11,
1):this.a.Hd(1,1);this.a.ik();this.a.qb(1);this.sc=60;this.O=1;this.a.l=1;this.a.Lb=.1;this.a.B=0;this.a.zoom=6;this.a.D=this.a.width/2;this.a.v=this.a.height/2;this.we=this.Ud=this.xe=!1;this.Dc=this.vb=-1;this.c[k.ef]=-1;this.c[k.df]=-1;this.c[k.Zg]=-1;this.c[k.oe]=-1;this.c[k.ah]=-1;this.c[k.bh]=-1;this.c[k.dh]=-1;this.c[k.eh]=-1;this.c[k.fh]=-1;this.c[k.$g]=-1;this.ea&&(this.Ej(),this.resize());this.Ef=!1;this.h.ea=!1;this.Zc=k.pk;this.Te=!1;this.lb=this.ke=this.jb=this.h.yo=!1;this.a.$a=!1;this.X.K=
!1;this.Wb.K=!1;this.ca.K=!1;this.eb.K=!1;this.jd.K=!1;this.ib.K=!1;this.Da.K=!1;this.Bb.K=!1;this.M.K=!1;this.wc.K=!1;this.jd.current=[!1];this.Wb.current=[!1];this.W=this.w=0;this.nf.current=this.Eg([this.w],!0,this);this.a.Zb=this.a.th;this.a.Oc=this.a.Qi;this.a.Qd=10;this.Ub=this.mc=-1;this.Ia=[96,96,96];this.a.$e=this.a.Vd?4284506208:1616929023;this.N.reset();this.kd=this.Qb=!1;if(c){if(PatternManager.lf||c.Kb)c.Kb?(this.Jb=ColourManager.gk("LifeHistory"),this.Jb[2]=96):this.Jb=ColourManager.gk(c.xf),
this.Jb.length?this.Tb=c.xf:(this.Jb=ColourManager.Ai,this.Tb="(default)");this.li();c.title&&(this.ii(c.title,c.Fd),-1!==this.Ka&&this.ei(c,this.Ka,this.Lg),this.Ab.length&&(this.W=1),this.ea&&b&&(this.ea=!1),-1<this.vb&&(this.vb&=-8,this.vb!==this.o&&(this.o=this.vb,l=!0)),-1<this.Dc&&this.Dc!==this.i&&(this.i=this.Dc,l=!0));-1!==this.a.pb?(e=this.a.ga,f=this.a.Ca,0===e&&(e=c.width),0===f&&(f=c.height)):(e=c.width,f=c.height);for(;this.a.width<this.a.Na&&(e+k.Sc+2*Math.abs(this.aa)>=this.a.width||
f+k.Sc+2*Math.abs(this.fa)>=this.a.height);)this.a.Bk(),this.hb+=this.a.width>>2,this.jf+=this.a.height>>2,this.cb+=this.a.width>>2,this.Me+=this.a.height>>2,this.a.I&&(this.hb-=this.a.height>>3,this.cb-=this.a.height>>3);this.a.tc&&PatternManager.gc[6]&&this.a.zn(c,this.aa,this.fa);this.J?this.h.notification.wi="rgb("+this.J[0]+","+this.J[1]+","+this.J[2]+")":this.h.notification.wi=this.h.notification.ol;if(0===this.G.length)for(e=0;e<this.Jb.length;e+=1)this.Eb[e]=PatternManager.gc[e]?k.Gl:k.Cj;
this.a.zb?(this.a.um(this.Jb,this.G),this.a.ud=!0):this.a.ud=!1;this.ai(c);this.a.ho(this.Pa,this.nb);this.Pa?this.wd.Hb=g.Ad:this.wd.Hb=this.ob}this.ie.current=[this.Ra];this.mf.current=[this.a.$a];this.a.Hn();this.elapsedTime=this.a.m=0;this.jb?(c&&0<this.G.length&&(this.Jb=this.G),this.a.wm(this.Jb),this.a.fc.reset()):(-1===this.a.u&&this.a.Jn(this.a.La),this.a.tc&&PatternManager.gc[2]&&this.a.qm(c,this.aa,this.fa),this.a.Kn(this.a.La),-1!==this.a.pb&&this.a.yl(),this.a.Rn(this.kd));c&&(c.Dd=null);
this.mb=this.yb=!1;e=this.a.zoom;f=this.a.D;h=this.a.v;this.te(!0,!1);this.xe&&(this.a.zoom=e);this.Ud&&(this.a.D=f);this.we&&(this.a.v=h);this.Qb&&this.oi(this.Ab);this.qk=this.a.zoom;this.H&&(this.H.current=this.Pb([this.a.zoom,this.a.zoom],!1,this));this.hb=this.a.D;this.jf=this.a.v;this.gf=this.a.B;this.pa&&(this.pa.current=[this.gf,this.gf]);this.pe=this.a.Kc;this.Bb&&(this.Bb.current=[this.pe,this.pe]);this.Ei=this.sc;e=Math.sqrt((this.Ei-k.vc)/(k.Xd-k.vc));this.ca&&(this.ca.current=this.We([e,
e],!0,this));this.hh=this.O;this.eb&&(this.eb.current=this.Vh([this.hh,this.hh],!0,this));this.hf=this.a.l;this.ib&&(this.ib.current=[this.hf,this.hf]);this.Ci=this.a.Lb;e=Math.sqrt(this.Ci);this.Da&&(this.Da.current=this.Ve([e,e],!0,this));this.R=!0;this.ke?(this.ab=!0,this.X.current=k.sf):(this.ab=!1,this.X.current=k.Xa);this.zl(this.ab);this.i<k.jg?(this.jd.K=!0,this.X.x=this.Ee+50,this.X.xc=this.X.x,this.ca.x=this.ze+50,this.ca.xc=this.ca.x,this.eb.x=this.Le+50):(this.X.x=this.Ee,this.X.xc=this.X.x,
this.ca.x=this.ze,this.ca.xc=this.ca.x,this.eb.x=this.Le);this.eb.xc=this.eb.x;if(l||this.ea)this.ea&&this.Hl(),this.resize();c||(PatternManager.Id?this.h.notification.L("Pattern too big!",k.Li,!1):this.h.notification.L("Invalid pattern!",k.Li,!1));this.Ab.length?this.w=0:this.W=0;this.ra||(this.lb=!0);this.lb?(this.X.K=!0,this.Wb.K=!0,this.wc.K=!0,this.ca.K=!0,this.eb.K=!0,this.jb&&(this.ib.K=!0,this.Da.K=!0,this.Bb.K=!0,this.a.l=1),this.ub.K=!1,""===this.Ea?this.ub.Hb=g.Kg:this.ub.Hb=this.Ea):this.ub.K=
!0;this.rj(null,6,14,0);this.Mb=!1;this.wh="";this.wl(this);this.h.Hf=!0;this.h.Oe(!0);this.Pc&&this.Sh&&(""===this.V?this.Sh.nodeValue="LifeViewer":this.Sh.nodeValue=this.Jc(this.V,30))};registerEvent(window,"load",function(){for(var b=document.getElementsByTagName("div"),e=0,f=null,g=f=null,h=null,k=h=g=null,g=g=h=null,g=!1,e=document.getElementsByTagName("meta"),h=f=0,h=null,h="",g=null,k="",f=0;f<e.length;f+=1)if(h=e[f],h.name===l.tagName&&(l.Wi=!1,l.yh=!1,h=h.content,g=h.match(/\S+/g),2<=g.length&&
5>=g.length))for(l.jh=g[0],l.vf=g[1],h=2;h<g.length;h+=1)switch(g[h]){case "hide":l.Wi=!0;break;case "limit":l.yh=!0;break;default:k=g[h],!isNaN(parseFloat(k))&&isFinite(k)&&(l.Fh=parseFloat(k)|0)}for(e=0;e<b.length;e+=1)if(h=b[e],h.className===l.jh)f=h.getElementsByTagName(l.vf)[0],h=h.getElementsByTagName("canvas")[0],(g=f.getElementsByTagName(l.vf)[0])&&(f=g),typedArrays&&h&&h.getContext?f&&(g=c(f),-1<l.Fh&&f.clientHeight>l.Fh&&(f.style.height=l.Fh+"px"),t(g,h,f.offsetWidth,!1,f)):l.Wi&&h&&(h.style.display=
"none");else if(typedArrays&&h.className===l.Km&&h.parentNode.className!==l.jh&&(f=h.getElementsByTagName(l.vf)[0])){var g=c(f),f=null,k=!1,n=null;try{n=PatternManager.create("",g),n.Va&&(k=!0)}catch(p){}if(g=k)f=h.getElementsByTagName("a")[0],g=document.createElement("a"),g.setAttribute("href","#"),g.innerHTML="Show in Viewer",registerEvent(g,"click",a,!1),k=document.createTextNode(" / "),f.parentNode.appendChild(k),f.parentNode.appendChild(g);g=!1}},!1);window.Keywords=g;window.ViewConstants=k;
window.updateViewer=b;window.hideViewer=n;window.launchInMolly=e})();