And here's the obfuscated code:

::z::e={}f={}

d,xd,yd,p,s,b,t,o=0,0,4,1,0,circfill,btnp,rnd

for i=1,5 do

j,k,q=14+i*16,50+o(35),17+o(10)add(e,{x=j,y=k,r=q})

if(i>1 and i<5)add(f,{x=j+o(q)-q/2,y=k+o(q)-q/2,r=8})

if(i==1)x,y=j-q/2,k

if(i==5)w,u=j+q/2,k

end::_::cls()if t(5) then

if(d<6.28)d+=.1else d=0

xd=sin(d)*4

yd=cos(d)*4

end

if t(2) then

if(p<5)p+=1else p=1

end

if(t(4))s=p

x+=s*xd y+=s*yd s*=.7

for v in all(e) do

b(v.x,v.y,v.r,11)end

for v in all(f) do

b(v.x,v.y,v.r,4)end

b(w,u,2,0)

if(pget(x,y)==0)goto z

if(pget(x,y)==4)s/=3

b(x,y,2,7)b(64,8)b(x+xd,y+yd,0)

?p,63,6,0

flip()goto _