for(_=");~+n*n~`atan2_=_(^={}Z;++Y=[]Xcos$c.#n=!(W[i].(x,y,z){PI0,5399,)*Gt;sin(Kd;b.p+;T.;~#stroke.push(~WQ(=0;=,n~d=sqrt( ,S,DreturnG25.lengthfor(var mm<;I.$(function var{sin,$,sqrt,_,a$,}=Math;R!-9;b=1;d=1;l=9;efg=x;h=z;k=(h-f(l-n)-(g-e(d-b~m=((l-n(b-f)-(d-b(n-e))/k;{x:600+(e+m*(g-e)60y:338+y/z*600};}H(b,aBX;if(D>D);SYmtl/1.65;MC;Nq;An;K=*2/S*m;G=+a;C=q=!p^q q*q`q=N-G!Gp^C C*C`C=M+K!A+KIZM=MN=NA=AC=Cq=q!nK^C-M,n-A)G=a(q-N)/t)l=tDD+1BI~H(I,a~}}QTZBXS=SH=D;bZM=xN=yA=zKG=-.01l=25CM+qN+nA+D=1Bb~H(T.B[0],/4-F/35/4.1~ T;}L(bU=R(M,N,A~V=R(C,q,n~#beginPath(Style='hsla('+S*99+D*15)+',100%,50%,1)';#moveTo(U.x,U.y~#lineTo(V.x,V.y(~BYm)L(B[m]~}D(while(W)W.splice(1-15,3155,4)-2,8)3,6)~F++;#fillRect(120675~for(ii<WYi)LB[0]~requestAnimationFrame(D~}a.width=1200;a.height=675;WX;FD(~";G=/[^ %-W[\]a-}]/.exec(_);)with(_.split(G))_=join(shift());eval(_)
var {sin,cos,sqrt,atan2,acos,PI}=Math;
function R(x,y,z){
n=-9;b=1;d=1;l=9;e=0;f=0;g=x;h=z;k=(h-f)*(l-n)-(g-e)*(d-b);m=((l-n)*(b-f)-(d-b)*(n-e))/k;
return {x:600+(e+m*(g-e))*600,y:338+y/z*600};
}
function H(b,S,D,a) {
b.B=[];
if (b.D > D) return;
for (var m = 0; m < S; ++m) {
t=b.l/1.65;M=b.C;N=b.q;A=b.n;K=PI*2/S*m;G=PI+a;C=sin(K)*sin(G)*t;q=cos(G)*t;n=cos(K)*sin(G)*t;p=atan2(q,n);
d=sqrt(q*q+n*n);q=N-sin(p+b.G)*d;n=cos(p+b.G)*d;p=atan2(C,n);d=sqrt(C*C+n*n);C=M+sin(p+b.K)*d;n=A+cos(p+b.K)*d;
I={};I.M=M;I.N=N;I.A=A;I.C=C;I.q=q;I.n=n;I.K=atan2(C-M,n-A);I.G=acos((q-N)/t);I.l=t;I.D=b.D+1;
b.B.push(I);
H(I,S,D,a);
}
}
function Q(x,y,z,S,D) {
T={};T.B=[];T.S=S;T.H=D;b={};b.M=x;b.N=y;b.A=z;b.K=b.G=PI-.01;b.l=25;b.C=b.M+sin(b.K)*sin(b.G)*25;
b.q=b.N+cos(b.G)*25;b.n=b.A+cos(b.K)*sin(b.G)*25;b.D=1;T.B.push(b);
H(T.B[0],S,D,PI/4-cos(F/35)*PI/4.1);
return T;
}
function L(b) {
U=R(b.M,b.N,b.A);
V=R(b.C,b.q,b.n);
c.beginPath();
c.strokeStyle = 'hsla('+(W[i].S*99+b.D*15)+',100%,50%,1)';
c.moveTo(U.x,U.y);
c.lineTo(V.x,V.y);
c.stroke();
for(var m=0;m<b.B.length;++m)L(b.B[m]);
}
function D(){
while (W.length) W.splice(0, 1);
W.push(Q(-15,30,150,5,4));
W.push(Q(-50,30,99,2,8));
W.push(Q(50,30,99,3,6));
F++;
c.fillRect(0,0,1200,675);
for(i=0;i<W.length;++i)L(W[i].B[0]);
requestAnimationFrame(D);
}
a.width=1200;a.height=675;W=[];F=0;
D();