e=[];i=Math;r=i.random;f=2*i.PI;v=(m=c.height=innerHeight)/2;g=(c.width=innerWidth)/2;o=h=200;c=55;j=[];k=o*4;l=0;for(d=h*4;d--;)j[d-h]=[];for(d=k-1;d--;)e[d]=[9+r()*h*2,9+r()*h*2,310+r()*o>>1];e[k-1]=[h,2*h];function s(w,x,y,s,z){a.fillStyle="rgba("+w+','+w+","+w+","+(z||1)+")";a.beginPath();a.arc(x,y,s,0,f,1);a.fill()}b.onmousemove=function(q){n=q.clientX;if(n-l){qi=(n>l^q.clientY-v>0?0.005:-0.005);for(d=k;--d;)p=e[d],j[p[0]>>2][p[1]>>2]=0,x=p[0]-h,y=p[1]-h,yi=x*x+y*y>>11,q=i.cos(yi*qi),w=i.sin(yi*qi),j[(p[0]=x*q-y*w+h)>>2][(p[1]=x*w+y*q+h)>>2]=1;l=n}};setInterval(function(){a.beginPath();a.arc(g,w=v+2,x=h+2,0,f,1);a.clip();z=e[k-1];m=g-h+z[0];d=v-h+z[1];s(h,m,d,c);s(c,m,d,f);s(c,g,w,x,0.2);for(d=k-1;d--;){w=e[d];j[w[0]>>2][w[1]>>2]=0;x=w[0]+r()-0.5,y=w[1]+r()*2;if(y>h*2)y=h*2;for(u=o;m=x-h,q=y-h,u--&&m*m+q*q>h*h;)x+=m>0?-1:1;if(!j[x>>2][y>>2])w[0]=x,w[1]=y;j[w[0]>>2][w[1]>>2]=1;s(w[2],g-h+w[0],v-h+w[1],4,0.2);s(w[2],g-h+w[0],v-h+w[1],2)}for(d=9;d--;)s(o,g-c,v-c,250-d*22,0.02)},9);s(o,g+9,v+9,h,1);
ZT1bXTtpPU1hdGg7cj1pLnJhbmRvbTtmPTIqaS5QSTt2PShtPWMuaGVpZ2h0PWlubmVySGVpZ2h0KS8yO2c9KGMud2lkdGg9aW5uZXJXaWR0aCkvMjtvPWg9MjAwO2M9NTU7aj1bXTtrPW8qNDtsPTA7Zm9yKGQ9aCo0O2QtLTspaltkLWhdPVtdO2ZvcihkPWstMTtkLS07KWVbZF09WzkrcigpKmgqMiw5K3IoKSpoKjIsMzEwK3IoKSpvPj4xXTtlW2stMV09W2gsMipoXTtmdW5jdGlvbiBzKHcseCx5LHMseil7YS5maWxsU3R5bGU9InJnYmEoIit3KycsJyt3KyIsIit3KyIsIisoenx8MSkrIikiO2EuYmVnaW5QYXRoKCk7YS5hcmMoeCx5LHMsMCxmLDEpO2EuZmlsbCgpfWIub25tb3VzZW1vdmU9ZnVuY3Rpb24ocSl7bj1xLmNsaWVudFg7aWYobi1sKXtxaT0obj5sXnEuY2xpZW50WS12PjA/MC4wMDU6LTAuMDA1KTtmb3IoZD1rOy0tZDspcD1lW2RdLGpbcFswXT4+Ml1bcFsxXT4+Ml09MCx4PXBbMF0taCx5PXBbMV0taCx5aT14KngreSp5Pj4xMSxxPWkuY29zKHlpKnFpKSx3PWkuc2luKHlpKnFpKSxqWyhwWzBdPXgqcS15KncraCk+PjJdWyhwWzFdPXgqdyt5KnEraCk+PjJdPTE7bD1ufX07c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXthLmJlZ2luUGF0aCgpO2EuYXJjKGcsdz12KzIseD1oKzIsMCxmLDEpO2EuY2xpcCgpO3o9ZVtrLTFdO209Zy1oK3pbMF07ZD12LWgrelsxXTtzKGgsbSxkLGMpO3MoYyxtLGQsZik7cyhjLGcsdyx4LDAuMik7Zm9yKGQ9ay0xO2QtLTspe3c9ZVtkXTtqW3dbMF0+PjJdW3dbMV0+PjJdPTA7eD13WzBdK3IoKS0wLjUseT13WzFdK3IoKSoyO2lmKHk+aCoyKXk9aCoyO2Zvcih1PW87bT14LWgscT15LWgsdS0tJiZtKm0rcSpxPmgqaDspeCs9bT4wPy0xOjE7aWYoIWpbeD4+Ml1beT4+Ml0pd1swXT14LHdbMV09eTtqW3dbMF0+PjJdW3dbMV0+PjJdPTE7cyh3WzJdLGctaCt3WzBdLHYtaCt3WzFdLDQsMC4yKTtzKHdbMl0sZy1oK3dbMF0sdi1oK3dbMV0sMil9Zm9yKGQ9OTtkLS07KXMobyxnLWMsdi1jLDI1MC1kKjIyLDAuMDIpfSw5KTtzKG8sZys5LHYrOSxoLDEpOw==
Original source not submitted