for(var b=a.height,c=a.width,d=[],e=[],k=a.getContext("2d"),l=k.getImageData(0,0,c,b),m=Math,n=2*m.PI,p,q=0;q<b;q++){d[q]=[];e[q]=[];for(var r=0;r<c;r++){var t=r-c/2,u=b/2-q;p=m.atan(t/(u|1));p=p/n+180;d[q][r]=1024*p|0;e[q][r]=4388608/(t*t+u*u)}}function v(f,g,h){h=.5*(1-m.cos(3.14*h));return f*(1-h)+g*h}for(var x=[],y=[],z=0;128>z;z++){y[z]=[];for(var A=0;128>A;A++)y[z][A]=2*m.random()-1}
for(z=0;128>=z;z++)for(x[z]=[],A=0;128>=A;A++){var B;if(64>=z){var C;if(64>A){for(var D=0,E=0;5>=E;E++)var F=m.pow(2,E),G=.05*z*F,H=.05*A*F,I=m.floor(G),J=G-I,K=m.floor(H),D=D+v(v(y[I%128][K%128]/4,y[(I+1)%128][K%128]/4,J),v(y[I%128][(K+1)%128]/4,y[(I+1)%128][(K+1)%128]/4,J),H-K)*m.pow(.25,E);C=D}else C=x[z][128-A-1];B=C}else B=x[128-z][A];x[z][A]=B}var L=0,M=0,N=0;
function O(){for(var f=0;f<b;f++)for(var g=0;g<c;g++){var h=e[f][g],P=486-h|0,w=f*c*4+4*g;l.data[w+0]=l.data[w+1]=l.data[w+2]=355*x[(h+L)%128|0][(d[f][g]+M)%128];l.data[w+3]=P}k.putImageData(l,0,0);L+=2;M+=4*m.sin(N)|0;N+=.01;requestAnimationFrame(O,a)}O();
Zm9yKHZhciBiPWEuaGVpZ2h0LGM9YS53aWR0aCxkPVtdLGU9W10saz1hLmdldENvbnRleHQoIjJkIiksbD1rLmdldEltYWdlRGF0YSgwLDAsYyxiKSxtPU1hdGgsbj0yKm0uUEkscCxxPTA7cTxiO3ErKyl7ZFtxXT1bXTtlW3FdPVtdO2Zvcih2YXIgcj0wO3I8YztyKyspe3ZhciB0PXItYy8yLHU9Yi8yLXE7cD1tLmF0YW4odC8odXwxKSk7cD1wL24rMTgwO2RbcV1bcl09MTAyNCpwfDA7ZVtxXVtyXT00Mzg4NjA4Lyh0KnQrdSp1KX19ZnVuY3Rpb24gdihmLGcsaCl7aD0uNSooMS1tLmNvcygzLjE0KmgpKTtyZXR1cm4gZiooMS1oKStnKmh9Zm9yKHZhciB4PVtdLHk9W10sej0wOzEyOD56O3orKyl7eVt6XT1bXTtmb3IodmFyIEE9MDsxMjg+QTtBKyspeVt6XVtBXT0yKm0ucmFuZG9tKCktMX0NCmZvcih6PTA7MTI4Pj16O3orKylmb3IoeFt6XT1bXSxBPTA7MTI4Pj1BO0ErKyl7dmFyIEI7aWYoNjQ+PXope3ZhciBDO2lmKDY0PkEpe2Zvcih2YXIgRD0wLEU9MDs1Pj1FO0UrKyl2YXIgRj1tLnBvdygyLEUpLEc9LjA1KnoqRixIPS4wNSpBKkYsST1tLmZsb29yKEcpLEo9Ry1JLEs9bS5mbG9vcihIKSxEPUQrdih2KHlbSSUxMjhdW0slMTI4XS80LHlbKEkrMSklMTI4XVtLJTEyOF0vNCxKKSx2KHlbSSUxMjhdWyhLKzEpJTEyOF0vNCx5WyhJKzEpJTEyOF1bKEsrMSklMTI4XS80LEopLEgtSykqbS5wb3coLjI1LEUpO0M9RH1lbHNlIEM9eFt6XVsxMjgtQS0xXTtCPUN9ZWxzZSBCPXhbMTI4LXpdW0FdO3hbel1bQV09Qn12YXIgTD0wLE09MCxOPTA7DQpmdW5jdGlvbiBPKCl7Zm9yKHZhciBmPTA7ZjxiO2YrKylmb3IodmFyIGc9MDtnPGM7ZysrKXt2YXIgaD1lW2ZdW2ddLFA9NDg2LWh8MCx3PWYqYyo0KzQqZztsLmRhdGFbdyswXT1sLmRhdGFbdysxXT1sLmRhdGFbdysyXT0zNTUqeFsoaCtMKSUxMjh8MF1bKGRbZl1bZ10rTSklMTI4XTtsLmRhdGFbdyszXT1QfWsucHV0SW1hZ2VEYXRhKGwsMCwwKTtMKz0yO00rPTQqbS5zaW4oTil8MDtOKz0uMDE7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKE8sYSl9TygpOw==
Original source not submitted