W=innerWidth-25;H=innerHeight-25;N=0|W/7;c.width=W;c.height=H;A=0|W/N;B=0|H/N;D=c.toDataURL();a.fillRect(0,0,W,H);I=255;setInterval(function(){for(j=0;j<B;++j)for(i=0;i<A;++i){F=2*(i+j*A);J='charCodeAt';T=I&D[J](F+1);T/=I;E=I&D[J](F);function P(i,j,k){z=-j/B+1.01;K=1+z*1.05;x=i/A+(z-1)/2;x/=K;y=-k/I+0.5-0.9*z;y/=K;a.lineTo(W/2+W*x,H/2+H*y)}a.shadowColor='rgba(0,0,12,0.5)';Q=(function(M,S,H,d,e,f){R=0|E*M+0.1;a.fillStyle="rgb("+(R+i*j)+","+R+","+R+")";a.strokeStyle='#200';a.shadowBlur=N/4;a.beginPath();P(i,j+d,E);P(i-S,j+e,E);P(i-S,j+T,H);P(i,j+f,H);a.closePath();a.fill();a.shadowBlur=0;a.stroke()});Q(0.5,0,0,0,T,0);Q(0.9,0.8,0,T,T,T);Q(2,0.8,E,0,0,T)}a.drawImage(c,0,0,W,H,-3/4,-1,W+1.5,H+6)},50);
Vz1pbm5lcldpZHRoLTI1O0g9aW5uZXJIZWlnaHQtMjU7Tj0wfFcvNztjLndpZHRoPVc7Yy5oZWlnaHQ9SDtBPTB8Vy9OO0I9MHxIL047RD1jLnRvRGF0YVVSTCgpO2EuZmlsbFJlY3QoMCwwLFcsSCk7ST0yNTU7c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtmb3Ioaj0wO2o8QjsrK2opZm9yKGk9MDtpPEE7KytpKXtGPTIqKGkraipBKTtKPSdjaGFyQ29kZUF0JztUPUkmRFtKXShGKzEpO1QvPUk7RT1JJkRbSl0oRik7ZnVuY3Rpb24gUChpLGosayl7ej0tai9CKzEuMDE7Sz0xK3oqMS4wNTt4PWkvQSsoei0xKS8yO3gvPUs7eT0tay9JKzAuNS0wLjkqejt5Lz1LO2EubGluZVRvKFcvMitXKngsSC8yK0gqeSl9YS5zaGFkb3dDb2xvcj0ncmdiYSgwLDAsMTIsMC41KSc7UT0oZnVuY3Rpb24oTSxTLEgsZCxlLGYpe1I9MHxFKk0rMC4xO2EuZmlsbFN0eWxlPSJyZ2IoIisoUitpKmopKyIsIitSKyIsIitSKyIpIjthLnN0cm9rZVN0eWxlPScjMjAwJzthLnNoYWRvd0JsdXI9Ti80O2EuYmVnaW5QYXRoKCk7UChpLGorZCxFKTtQKGktUyxqK2UsRSk7UChpLVMsaitULEgpO1AoaSxqK2YsSCk7YS5jbG9zZVBhdGgoKTthLmZpbGwoKTthLnNoYWRvd0JsdXI9MDthLnN0cm9rZSgpfSk7USgwLjUsMCwwLDAsVCwwKTtRKDAuOSwwLjgsMCxULFQsVCk7USgyLDAuOCxFLDAsMCxUKX1hLmRyYXdJbWFnZShjLDAsMCxXLEgsLTMvNCwtMSxXKzEuNSxIKzYpfSw1MCk7
W=innerWidth-32;
H=innerHeight-32;
var N = 0|(W/7);
c.width = W;
c.height = H;
var data = c.toDataURL();
a.fillRect(0,0,W,H);
setInterval(function(){
var countX = Math.round(W/N);
var countY = Math.round(H/N);
var C = countX * countY;
for (var j = 0; j < countY; ++j)
for (var i = 0; i < countX; ++i)
{
var index = (i + j * countX);
var epaisseur = (255 & (data.charCodeAt(index*2 + 1) | 0)) / 255;
var height = 255 & (data.charCodeAt(index*2) | 0);
var couleur = (function (strength)
{
var col = Math.round(strength + 0.1);
var r = col + (i * j);
a.fillStyle = "rgb(" + r + "," + col + "," +col + ")";
a.strokeStyle = '#200';
});
function point(i, j, k)
{
var x = (i / countX - 0.5);
var y = (-k / 255 + 0.5);
var z = (-j / countY + 1.01);
x = (x + 0.5 * z) / (1 + z * 1.05);
y = (y - 0.9 * z) / (1 + z * 1.05);
a.lineTo(W/2 + W * x, H/2 + H * y);
}
var shadowValue = (N / 4);
a.shadowBlur = shadowValue;
a.shadowColor = 'rgba(0,0,12,0.5)';
var S = 0.8;
var T = epaisseur;
var base = 0;
var heie = height;
couleur(height/2);
a.beginPath();
point(i, j, base+heie);
point(i, j+T, base+heie);
point(i, j+T, base);
point(i, j, base);
a.closePath();
a.fill();
a.shadowBlur = 0;
a.stroke();
a.shadowBlur = shadowValue;
couleur(height * 0.9);
a.beginPath();
point(i , j+T, base+heie);
point(i-S, j+T, base+heie);
point(i-S, j+T, base);
point(i , j+T, base);
a.closePath();
a.fill();
a.shadowBlur = 0;
a.stroke();
a.shadowBlur = shadowValue;
couleur(height*2);
a.beginPath();
point(i, j, base+heie);
point(i-S, j, base+heie);
point(i-S, j+T, base+heie);
point(i, j+T, base+heie);
a.closePath();
a.fill();
a.shadowBlur = 0;
a.stroke();
}
a.drawImage(c, 0, 0, W, H, -0.75, -1, W+1.5,H+6);
},50);