memoscan
← all memos

Memo 0x852c8fbc…568484 on Ethereum

console.log("Your minute happens at "+Ge+":"+Ue),D.style.touchAction="none",D.addEventListener("pointerdown",(e=>{ne=e.offsetX-.5*ae,oe=.5*ie-e.offsetY,he()>.5&&(le*=-1),fe=!0})),D.addEventListener("pointermove",(e=>{!0===fe&&(ne=e.offsetX-.5*ae,oe=.5*ie-e.offsetY)})),window.addEventListener("pointerup",(e=>{!0===fe&&(fe=!1)})),s.init(me,xe,Ae);const Ve=_.VERTEX_SHADER,He=_.FRAGMENT_SHADER,Xe=r(_,Ve,"attribute vec4 ap;attribute vec4 ac;varying vec4 vc;uniform vec2 d;void main(){vc=ac;gl_Position=vec4(ap.x/d.x,ap.y/d.y,ap.zw);}"),ke=r(_,He,"precision highp float;uniform vec4 c;uniform bool uu;varying vec4 vc;void main(){if(uu){gl_FragColor=c;}else{gl_FragColor=vec4(vc.xyz,c.w);}}"),We=r(_,Ve,"attribute vec4 ap;attribute vec4 ac;attribute vec3 as;varying vec4 vc;uniform vec2 d;void main(){vc=ac;gl_Position=vec4((as.z*ap.x+as.x)/d.x,(as.z*ap.y+as.y)/d.y,ap.zw);}"),Ye=r(_,He,"precision highp float;uniform vec4 c;varying vec4 vc;void main(){gl_FragColor=vec4(vc.xyz,c.w);}"),qe=r(_,Ve,"attribute vec4 ap;attribute vec2 at;varying vec2 vt;void main(){gl_Position=vec4(ap.xyz,1.0);vt=at;}"),je=r(_,He,"precision highp float;varying vec2 vt;uniform sampler2D u;uniform vec2 d;uniform float b;uniform float sc;uniform vec2 r;void main(){float h=d.x;float v=d.y;mat2 m=mat2(r.x,-r.y,r.y,r.x); vec4 s=vec4(0.0);vec2 t=(vt-vec2(0.5))*m*sc+vec2(0.5);s+=texture2D(u,vec2(t.x-4.0*b*h,t.y-4.0*b*v))*0.016216;s+=texture2D(u,vec2(t.x-3.0*b*h,t.y-3.0*b*v))*0.054054;s+=texture2D(u,vec2(t.x-2.0*b*h,t.y-2.0*b*v))*0.121621;s+=texture2D(u,vec2(t.x-1.0*b*h,t.y-1.0*b*v))*0.194594;s+=texture2D(u,vec2(t.x,t.y))*0.227027;s+=texture2D(u,vec2(t.x+1.0*b*h,t.y+1.0*b*v))*0.194594;s+=texture2D(u,vec2(t.x+2.0*b*h,t.y+2.0*b*v))*0.121621;s+=texture2D(u,vec2(t.x+3.0*b*h,t.y+3.0*b*v))*0.054054;s+=texture2D(u,vec2(t.x+4.0*b*h,t.y+4.0*b*v))*0.016216;gl_FragColor=s;}"),Je=r(_,Ve,"attribute vec4 ap;attribute vec2 at;varying vec2 v;void main(){gl_Position=vec4(ap.xyz,1.0);v=at;}"),Ke=r(_,He,"precision highp float;varying vec2 v;uniform sampler2D t;void main(){vec4 c=texture2D(t,v);gl_FragColor=c;}"),Qe=a(_,Xe,ke),Ze=a(_,We,Ye),$e=a(_,qe,je),et=a(_,Je,Ke),tt=O(_,Qe,"ap"),rt=O(_,Qe,"ac"),at=V(_,Qe,"c"),it=V(_,Qe,"uu"),nt=V(_,Qe,"d"),ot=O(_,Ze,"ap"),ft=O(_,Ze,"ac"),lt=O(_,Ze,"as"),ut=V(_,Ze,"c"),ct=V(_,Ze,"d"),vt=O(_,$e,"ap"),st=O(_,$e,"at"),bt=V(_,$e,"d"),dt=V(_,$e,"b"),ht=V(_,$e,"sc"),mt=V(_,$e,"r"),At=O(_,et,"ap"),xt=O(_,et,"at"),pt=(H(),H(),H()),gt=H(),yt=H();t(_.canvas);let Et=[];for(var i=0;i<8;++i){let e=i/8*h,t=(i+1)/8*h;Et.push(0,0,m(e),A(e),m(t),A(t))}_.bindBuffer(S,pt),_.bufferData(S,b(Et),I);const Dt=H();_.bindBuffer(S,Dt);const _t=b([-1,-1,-1,1,1,-1,1,1,-1,1,1,-1]);_.bufferData(S,_t,C);const Tt=H();_.bindBuffer(S,Tt),_.bufferData(S,b([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),C);const wt=H();_.bindBuffer(S,wt),_.bufferData(S,b([0,0,0,1,1,0,1,1,0,1,1,0]),C);for(let e=0;e<X;++e){let t=.1*g(10*x(he()))*re*.4,r=he()*h;Y[e]=t*m(r),q[e]=t*A(r),j[e]=he(),J[e]=he()}function n(e,t,r=1){_.bindFramebuffer(F,$),_.viewport(0,0,ee,te),_.clear(N),_.useProgram($e),_.bindTexture(B,K),_.bindBuffer(S,Dt),_.vertexAttribPointer(vt,2,P,!1,0,0),_.enableVertexAttribArray(st),_.bindBuffer(S,wt),_.vertexAttribPointer(st,2,P,!1,0,0),_.uniform2f(bt,1/ae,0),_.uniform1f(dt,e),_.uniform1f(ht,r),_.uniform2f(mt,t[0],t[1]),_.drawArrays(w,0,6),_.bindFramebuffer(F,Q),_.viewport(0,0,ee,te),_.clear(N),_.bindTexture(B,Z),_.uniform2f(bt,0,1/ie),_.drawArrays(w,0,6)}_.bindBuffer(S,gt),_.bufferData(S,k,I),_.clearColor(0,0,0,1),_.clear(N),window.addEventListener("resize",(function(){_.deleteTexture(K),_.deleteTexture(Z),_.deleteFramebuffer(Q),_.deleteFramebuffer($),t(_.canvas)})),window.requestAnimationFrame((function e(t){requestAnimationFrame(e),ze?n(3*re/1e3,[.98,.01],pe):Le&&ze?n(4*re/1e3,[.8,.1],pe):Le?n(4*re/1e3,[.9,.1],pe):n(3*re/1e3,[1,0],pe);let r=Math.max(re/350,1);we&&(r*=1.4),ye<0&&(r*=1.2);let a=t/1e3,i=Date.now();i-=se;let o=p(i/1e3),f=p(o/60),l=p(f/60)%24;f%=60,ze=f==Ue&&l%12==Ge,Oe=f==Ue,l=l%12+f/60;let u=.5*d-l*d/6,c=.5*d-f*d/30,b=o%60,D=(i-1e3*o)/1e3,R=Math.pow(D,1.5),L=v.n3(R,o,0)*ae*.4,M=v.n3(R,o,1)*ie*.4,C=(m(a),A(a),(1-R)*re*.7/100*Math.min(50*R,1)),O=.5*d-b/60*h,V=1;we&&(V=1.3);let H=!1;if(o>ue){if(ce=!ce&&he()<.01,ve=!ce&&!ve&&he()<.1,he()>.1||0===ue){H=!0;for(let e=0;e<X;++e)if(e%2==o%2||0===ue||!Ce){let t=g(x(he())*_e)/_e,r=t*re*.4*V,a=(he()+b/60)*h;if(Me&&(t=x(he()),r=t*re*.4*V,a=(p(80*he())/80+b/60)*h,Ne&&ye<0&&(a+=t*d*.3)),-1===_e&&(t=x(he()),a=t*d*40+b/60*h,r=t*re*.4*V),(2===Be||1===Be&&r>.2*re)&&(r+=.1*re),0===ye)Y[e]=r*m(a),q[e]=r*A(a);else if(-1===ye){if(Y[e]=(he()-.5)*ae,q[e]=(he()-.5)*ie,2===Be)for(;E(e)<.1*re;)Y[e]=(he()-.5)*ae,q[e]=(he()-.5)*ie;else if(1===Be)for(;E(e)<.3*re&&E(e)>.2*re;)Y[e]=(he()-.5)*ae,q[e]=(he()-.5)*ie;a=Math.atan2(q[e],Y[e])+h+b/60;let r=m(d/De)/m(a%(h/De)-d/De);t=E(e)/re/r%1,Ne&&(t+=a/d)}else{let i=m(d/ye)/m(a%(h/ye)-d/ye);if(3==ye&&(i*=1.2),Se){i=m(d/De)/m(a%(h/De)-d/De)*(1-t)+i*t}Ne&&(a+=t*d),Y[e]=i*r*m(a+O),q[e]=i*r*A(a+O)}j[e]=2===Re?(t+2*a/h)%1:1===Re?2*a/h%1:t%1;let i=.9;3==ye&&(i=.95);let n=0;(Te||!xe)&&J[e]>i&&(n=.1);let o=s.geti(j[e]+b/60+n);k[3*e]=o[0],k[3*e+1]=o[1],k[3*e+2]=o[2]}}ue=o}let Z=ge;ce&&(Z=30),Fe>0&&(Z*=.5,ce&&(Z=4),C*=.3);let $=m(.01),be=A(.01);for(let e=0;e<X;++e){let t=1,i=1;if(Oe&&!ze&&(i=-1),ze||Oe){let t=.9;3==ye&&(t=.95);let r=0;(Te||!xe)&&J[e]>t&&(r=.1);let a=s.geti(1-.5*D*i+j[e]+b/60+r);k[3*e]=1.2*a[0],k[3*e+1]=1.2*a[1],k[3*e+2]=1.2*a[2],Y[e]*=1.004,q[e]*=1.004}switch(C*=t,Fe){case 0:let t=C*(.2+2*E(e)/re);Y[e]+=v.n3(Y[e]/re*Z,q[e]/re*Z,a)*t,q[e]+=v.n3(Y[e]/re*Z,q[e]/re*Z,-a)*t;break;case 1:let r=v.n3(Y[e]/re*Z,q[e]/re*Z,.5*a)*h*2;Y[e]+=m(r)*C,q[e]+=A(r)*C;break;case 2:let i=v.n3(Y[e]/re*Z,q[e]/re*Z,a)*h;i=p((i+h)/d*2)*d*.5,Y[e]+=m(i)*C,q[e]+=A(i)*C;break;case 3:let n=v.n3(Z*E(e)/re,a,j[e])*h;Y[e]+=m(n)*C,q[e]+=A(n)*C}ce&&(Y[e]=1.02*(Y[e]*$+q[e]*be),q[e]=1.02*(-Y[e]*be+q[e]*$));let n=Math.atan2(q[e],Y[e]),o=n-u;o>d&&(o-=h),o<-d&&(o+=h);let f=n-c;f>d&&(f-=h),f<-d&&(f+=h);let l=y(f)/.18,g=r,_=E(e),T=250;xe&&(T=150);let w=1,F=1;if(xe&&(F=.6,w=.6),l<1){let t=_*m(c),r=_*A(c),a=T/re*(1-l);Y[e]+=(t-Y[e])*a,q[e]+=(r-q[e])*a,Y[e]*=1.01,q[e]*=1.01,g*=1+F*(1-l)}let P=y(o)/.18;if(P<1){let t=_*m(u),r=_*A(u),a=T/re*(1-P);Y[e]+=(t-Y[e])*a,q[e]+=(r-q[e])*a,Y[e]*=.99,q[e]*=.99,g*=1+w*(1-P)}if(fe){let r=ne-Y[e],a=oe-q[e],i=x(r*r+a*a),n=5e-4*re*re/(i*i)*le*t;i/re>.02&&(Y[e]+=r*n,q[e]+=a*n)}if(ve||ze){let r=L-Y[e],a=M-q[e],i=x(r*r+a*a),n=5e-4*re*re/(i*i)*t;i/re>.02&&(Y[e]+=r*n,q[e]+=a*n)}if(ze){let r=-L-Y[e],a=-M-q[e],i=x(r*r+a*a),n=5e-4*re*re/(i*i)*t;i/re>.02&&(Y[e]+=r*n,q[e]+=a*n)}2==Be&&-1!=ye&&(Y[e]*=1-.005*(1-R),q[e]*=1-.005*(1-R));let B=.9;3===ye&&(B=.95),W[3*e]=Y[e],W[3*e+1]=q[e],Te&&J[e]>B?W[3*e+2]=Math.min(3*g,3*r):W[3*e+2]=g}H=H||ze||Oe,_.bindFramebuffer(F,Q),_.viewport(0,0,ee,te),_.useProgram(Qe),_.enable(_.BLEND),_.blendFuncSeparate(z,G,U,G);let de=.151;ce&&(de=.021),Le&&xe&&(de=.545),(ye>2||xe)&&(de=.2),ze&&(de*=.5),_.uniform4f(at,0,0,0,de),_.uniform2f(nt,1,1),_.uniform1f(it,1),_.enableVertexAttribArray(tt),_.bindBuffer(S,Dt),_.vertexAttribPointer(tt,2,P,!1,0,0),_.enableVertexAttribArray(rt),_.bindBuffer(S,Tt),_.vertexAttribPointer(rt,3,P,!1,0,0),_.drawArrays(w,0,6);var me=.2;we&&(me=.15),-1==ye&&(me=.3),Le&&xe&&(me-=.02),xe?_.blendFuncSeparate(z,U,U,U):(_.blendFuncSeparate(z,G,U,G),me=.5),_.useProgram(Ze),_.enable(_.BLEND),_.bindBuffer(S,pt),_.enableVertexAttribArray(ot),_.vertexAttribPointer(ot,2,P,!1,0,0),_.bindBuffer(S,gt),H&&_.bufferData(S,k,I),_.enableVertexAttribArray(ft),_.vertexAttribPointer(ft,3,P,!1,0,0),T.vertexAttribDivisorANGLE(ft,1),_.bindBuffer(S,yt),_.bufferData(S,W,I),_.enableVertexAttribArray(lt),_.vertexAttribPointer(lt,3,P,!1,0,0),T.vertexAttribDivisorANGLE(lt,1),_.uniform4f(ut,1,1,1,me),_.uniform2f(ct,ae/2,ie/2),T.drawArraysInstancedANGLE(w,0,24,X),T.vertexAttribDivisorANGLE(ft,0),T.vertexAttribDivisorANGLE(lt,0),_.blendFuncSeparate(z,G,U,G),_.bindFramebuffer(F,null),_.viewport(0,0,_.canvas.width,_.canvas.height),_.clear(N),_.useProgram(et),_.bindTexture(B,K),_.enableVertexAttribArray(At),_.bindBuffer(S,Dt),_.vertexAttribPointer(At,2,P,!1,0,0),_.enableVertexAttribArray(xt),_.bindBuffer(S,wt),_.vertexAttribPointer(xt,2,P,!1,0,0),_.drawArrays(w,0,6)}))}var o,f})();