0x3b1383e0…50dasent to0xa7d8d9ef…d270·#15,451,704·view on Etherscan
()=>{let e="0x";for(let t=64;0<t;--t)e+="0123456789abcdef"[~~(16*Math.random())];return e})():"string"==typeof tokenData?tokenData:tokenData.hash;T(ve);const pe=w(.33),he=pe?"Dark":"Light",me=Object.keys(G)[~~(g()*Object.keys(G).length)],de=(e=>{const t=[[ue,"Ridge",11],[ae,"Range",4],[ce,"Pillar",11],[ie,"Poplar",4],[oe,"Dapple",8],[se,"Pitter",11],[re,"Patter",11],[le,"Jazz",33],[fe,"Improvised",7]],n=(e=>{var t,n=0;for(t=0;t<e.length;t++)n+=e[t];var o=g()*n;for(t=0;t<e.length;t++){if(o<e[t])return t;o-=e[t]}return 0})(t.map((e=>e[2])));return[t[n][1],...t[n][0]([1,C],e)]})(G[me]);de[2][0]||de[2][1];const xe=[[g(),g()],[g(),g(),g()],[g(),g(),g(),g()],w(.18)],ge=[g()];!xe[3]&&xe[2][2];const be=w(.02),ye=w(.1);console.log(ve);(async()=>{const o=window,c=document,i=c.body,f=(e,t="canvas")=>e.appendChild(c.createElement(t)),v=(e,t,n)=>e.addEventListener(t,n),p=e=>o.requestAnimationFrame(e),h=()=>performance.now(),m=f(i,"main"),d=f(m),x=f(m),g=f(m),b=f(m),y=((e,[t,n,o,r,s])=>{T(t);const u=[["uS","v2",n],["uW","v3",o],["uP","v4",r],["uD","f",s?1:0],["uL","v3",[0,1,0]],["uI","f",0],["uG","f",1],["uT","f",0],["uM","f",0],["uA","f",0]],{setup:a,update:c}=e(U,`\n${P}\nvarying vec2 vUv;\nuniform vec2 uRes,uS;\nuniform vec3 uW,uL;\nuniform vec4 uP;\nuniform float uD,uI,uG,uT,uM,uA;\n${D}\n${F}\nfloat fbm(vec2 uv){float v=.0,a=.5+.15*uW.y;mat2 r=mat2(cos(.5),sin(.5),-sin(.5),cos(.5));for(int i=0;i<6;i++){v+=a*noise(uv+(uS*10.-5.));uv=r*uv*-2.;a*=.4+.1*uW.z;}return v;}\nfloat frm(vec2 p,float s){return fbm(p+fbm(p+fbm(p+fbm(p+fbm(p+fbm(p+fbm(p+fbm(p+fbm(p+fbm(p*s))))))))));}\n${M}\nvoid main(){\nfloat ar=uRes.x/uRes.y;\nvec2 uv=(vUv-1.)*2.;\nvec2 pos=(uv+1.)*(.35+.1*uW.x)*max(ar,1.);\npos.y/=ar;\nfloat t=uT+PI*.05*${_};\npos*=r2d(PI*.75+t);\npos+=uA*uM*.17+.04*sign(uT+PI)*vec2(cos(t),sin(t))+500.*fract(PI*uI*.0007);\nvec3 b=vec3(uP.r-0.8*pow(uP.b,15.),.4*uP.g,.2*uP.b+.7*pow(uP.b,15.));\nvec3 c=b;\nfloat z=.25+.5*uW.x;\nc+=(.5+.5*uP.a)*1.8*frm(pos,z);\nc+=2.5*vec3(.6,.3,.15)*frm(pos*.17,z*.71);\nc+=2.5*vec3(uP.r*.8-0.6*pow(uP.b,15.),uP.g*.4,uP.b*.2)*frm(pos*.66,z*1.73);\nc*=.7;\nc=mix(c,min(max(c.rrr*c.ggg/c.bbb,.1),1.),uD);\nvec2 f=pos*r2d(PI*.25);\nc*=.7+.3*(noise(vec2(f.y*(90.+30.*(sin(uT)*.5+.5)),uA*uM*2.))*.5+.5);\nfloat w=1.-uG;\nfloat ls=vUv.x*uL.x+vUv.y*uL.y+(1.-vUv.x)*uL.z;\nfloat l=pow(1.-(ls-.12-.22*w),20.);\nc.rgb+=.07*l;\nc.rgb*=1.+clamp(.15*l-.5*pow((ls+.06+.27*w),8.),-1.,1.);\nc=clamp(c,.85*vec3(.122,.118,.11),vec3(.918,.906,.882)*1.06);\ngl_FragColor=vec4(c,1.);\n}\n`);return{setup:a,update:e=>c(I(u,e))}})(k,[ve,...xe]),w=((e,[t,n])=>{const o=[["uPalette","t",t,10497,9729],["uP","v2",[0,0]],["uI","f",0],["uG","f",1],["uT","f",0],["uTv","f",0],["uM","f",0],["uA","f",0],["uS","f",n],["uD","f",0]],{setup:r,update:s}=e(U,`\n${P}\nvarying vec2 vUv;\nuniform int uFrame;\nuniform sampler2D uBuffer,uPalette;\nuniform vec2 uRes,uP;\nuniform float uI,uG,uT,uTv,uA,uM,uS,uD;\n${D}\n#define F .001\n#define MIN_D .015\n#define MAX_D .04\n#define MIN_W .10\n#define MAX_W .24\n${F}\n${M}\nvec2 rUV(vec2 uv, float t){float sr=sin(t),cr=cos(t); return vec2(cr*(uv.x-.5)+sr*(uv.y-.5)+.5,cr*(uv.y-.5)-sr*(uv.x-.5)+.5);}\nfloat fbm(vec2 uv){float v=.0,a=.5;for(int i=0;i<6;i++){v+=a*noise(uv);uv=uv*-2.;a*=.4;}return v;}\nfloat head(vec2 st,vec2 o,vec3 d,vec4 l){\nd.x*=(.5+.5*l.x*pow(l.y,8.))*l.z;\nd.y*=(l.x*l.y)*l.z*(.93+.07*l.w);\nfloat x=(1.-d.x)/2.,y=((1.-d.y)/2.);\nst=rUV(st-o,d.z);\nvec2 hUV=vec2(clamp((st.x-x)/(1.-x*2.),.0,1.),clamp((st.y-y)/(1.-y*2.),.0,1.));\nvec2 ends=vec2(1.-pow(abs(hUV.x*2.-1.),2.),1.-pow(abs(hUV.y*2.-1.),2.));\nvec2 bl=smoothstep(vec2(x-F,y-F),vec2(x+F,y+F),st);\nvec2 tr=smoothstep(vec2(x-F,y-F),vec2(x+F,y+F),1.-st);\nfloat r=bl.x*bl.y*tr.x*tr.y*smoothstep(.0,.02,(ends.x+ends.y)*ends.y);\nfloat br=10.+10.*pow(uG,1.5);\nfloat n=pow(abs(sin(hUV.y*br+uS*uI+uT*-2.+uA*12.5)),8.);\nr=smoothstep(.0,.25,r-((1.-l.x)+(1.-l.y))*n*2.5);\nreturn r;\n}\nvoid main(){\nfloat ar=uRes.x/uRes.y;\nvec2 uv=vUv;\nuv.y/=ar;\nvec4 c=texture2D(uBuffer,vUv);\nvec4 b=vec4(.0);\nvec4 s=vec4(.0);\nif (uFrame<1){\nvec2 o=(uv+.5)+uS;\nc+=(.5+.3*uD)*smoothstep(.48,.6+.6*uD,abs(fbm(o*(89.))));\nc+=(.1+.4*uD)*vec4(.0,.0,.0,smoothstep(.48,.52,(fbm(o*109.)*.5+.5)*(fbm(o*118.)*.5+.5)));\nfloat f=(smoothstep(.33,1.,1.-pow(abs(fbm(o*14.)),.1))+smoothstep(.33,1.,1.-pow(abs(fbm(o*16.)),.1))+smoothstep(.33,1.,1.-pow(abs(fbm(o*19.)),.1)))\n*pow(abs(fbm(o*35.)),3.);\nc+=(1.-uD)*6.*vec4(vec3(.0),f);\nc+=uD*5.*f;\n}\nvec2 pt=uP*.5+.5+.003*${_};\npt.y/=ar;\nfloat w=MIN_W+(MAX_W-MIN_W)*uG;\nfloat d=MIN_D+(MAX_D-MIN_D)*uG;\nfloat t=(uT+PI*.05*${_});\nvec4 p=texture2D(uPalette,(uv+vec2(.125))*4.-pt*4.);\nb+=head(uv,pt-.5,vec3(d,w,t),vec4(\n1.-pow(1.-min((uA*uM)*10.,1.),8.),\n1.-pow(uA,5.+60.*uM),\n1.-pow(uTv,8.),\n1.-(${_}*.5+.5)\n));\nb=min(b,vec4(1.));\ns+=b*p;\nc-=b*.03;\nc=max(c,s);\nc=mix(c,s,b*.05);\ngl_FragColor=c;\n}\n`);return{setup:r,update:e=>s(I(o,e))}})(k,[g,...ge]);let A,S,L,X,q,J=N()?3:4,Q=0,Z=0,te=0,ne=1,oe=b.getContext("2d"),re=d.getContext("2d",{preserveDrawingBuffer:!0}),se=[],ue=[],ae=0,ce=!1,ie=!0,le=!0,fe=!1,Te=!1,we=!1,Ae=!1,Re=!1,Ee=[],Pe=[],Ue=[0,1,0],De=!1;o.Act={};const Me=()=>Pe=se.map((e=>j(e))),Fe=(e=!1)=>{Y(re,(()=>{var t;$(re),t=z[he],re.fillStyle=t,re.fillRect(0,0,...W(re)),e||re.drawImage(x,0,0,...W(re))}))},_e=async({stepping:n=!1,exporting:o=!1,shift:r=!1}={})=>{var s=Math.abs;if(n){const n=ne/(se[te].length/2-1),o=te+n,r=e=>[se[te][2*e],se[te][2*e+1]],a=r(ne),c=r(ne-1),i=e(c[1]-a[1],(c[0]-a[0])*C);let l=i-ae;l=s(l)>2*t*.998?0:l,ae=i;const f=u(s(l)/.033,1);y.update([["uL","v3",Ue],["uI","f",te],["uG","f",G[me]],["uT","f",i],["uM","f",Pe[te]],["uA","f",o]]),w.update([["uP","v2",a],["uI","f",te],["uG","f",G[me]],["uT","f",i],["uTv","f",f],["uM","f",Pe[te]],["uA","f",n],["uD","f",pe?1:0]]),ne++}o&&(!r&&Fe(),await(async(e,t)=>{const n=document,o=(e=>{let t=window.atob(e.split(",")[1]),n=new ArrayBuffer(t.length),o=new Uint8Array(n);for(let e=0;e<t.length;e++)o[e]=t.charCodeAt(e);return new Blob([new DataView(n)],{type:e.split(",")[0].split(":")[1].split(";")[0]})})(e),r=window.URL.createObjectURL(o),s=n.body.appendChild(n.createElement("a"));s.href=r,s.download=t,s.click(),n.body.removeChild(s),window.URL.revokeObjectURL(r)})((r?x:d).toDataURL("image/png"),`act-${ve}.png`),Fe(!0))},Ie=async(e=!1)=>{const t=A,c=S;A=o.innerWidth,S=o.innerHeight;const l=o.devicePixelRatio,f=u(l,2);if(A/S>=C?(S-=S%16,A=~~(S*C)):(A-=A%12,S=~~(A/C)),A===t&&S===c&&!e)return;const v=2*f,[p,h,T]=((e=0,t=0)=>{const o=s(e,t),c=256+a(o-4096,0,2048),i=N()?256:s(128,(m=(o-c)/4,1<<31-Math.clz32(m))),l=N()?2400:16384,f=C*l*l,v=u(e,~~r(f*C)),p=u(t,~~r(f/C)),h=a(n(o/4096*4)/4,.5,1);var m;return[v*h,p*h,i]})(A*v,S*v);H(i,{display:"flex",alignItems:"center"}),H(m,{position:"relative",width:`${A}px`,height:`${S}px`,margin:"0 auto",touchAction:"none"}),setTimeout((()=>{L=m.offsetLeft,X=m.offsetTop}),0),g.width=T,g.height=T,H(g,{position:"absolute",inset:"auto 0 0 auto",width:T+"px",maxWidth:"33%"}),x.width=d.width=p,x.height=d.height=h,b.width=1.5*A,b.height=1.5*S,[x,b,d].map((e=>H(e,{width:"100%",pointerEvents:"none"}))),y.setup(g),w.setup(x),Fe(!0),te=0,ne=1},Se=()=>{if(le&&se.length){const e=h();(e-Z)/(1e3/60)>1.5&&e>500?Q++:Q=0,ie&&1<J&&Q>8&&!N()&&(Q=0,J=s(1,J-1));const t=se[te].length/2;if(ne<t)for(let e=0;e<J&&!(ne>=t);e++)_e({stepping:!0});else te<se.length-1?(te+=1,ne=1):we||(be?ke():we=!0);Z=e}fe||Re?(H(b,{display:"block"}),((e,t,n,o)=>{const[r,s]=W(e);$(e),Y(e,(()=>{((e,t=1,n="")=>{e.globalAlpha=t,e.globalCompositeOperation=n})(e,.5),e.fillRect(0,0,r,s)})),Y(e,(()=>{e.translate(r/2,s/2),e.lineWidth=.004*r,e.strokeStyle="#0ff",t.map((t=>{V(e,t),e.stroke()})),e.lineWidth=.002*r,e.strokeStyle="#ff0",n.map((t=>{V(e,t),e.stroke()})),e.strokeStyle="#0f0",V(e,o),e.stroke(),e.fillStyle="#ff0",((e,t)=>{const[n,o]=W(e);for(let r=0,s=t.length;r<s;r+=2){const s=t[r]*n*.5+.5,u=t[r+1]*o*.5+.5;O(e,s,u,.004*n),e.fill()}})(e,o),e.stroke()}))})(oe,se,ue,Ee)):(H(b,{display:"none"}),$(oe)),p(Se)},Le=e=>{J=e,ie=!1};o.Act.setRate=Le;const Xe=()=>{H(g,{visibility:ce?"visible":"hidden"})},ke=()=>{se.push(ee([se[se.length-1],E(2,5),[R(.2,1),R(.2,1)]])),Me()},Ce=e=>{e.preventDefault(),e.stopPropagation()};v(o,"resize",(()=>!N()&&Ie())),v(o,"keydown",(e=>{const t=e.key.toLowerCase();var n;"s"===t&&(Ce(e),!Te&&(Te=!0,n=e.shiftKey,_e({exporting:!0,shift:n}),Te=!1))," "===t&&Ce(e)})),v(o,"keyup",(e=>{const t=e.key.toLowerCase(),n=parseInt(t,10);!isNaN(n)&&n&&Le(n)," "===t&&(Z=h(),le=!le),"\\"!==t||be||(fe=!fe),"escape"===t&&Ie(!0),"backspace"!==t||be||((e=!1)=>{e?(se=[],ue=[]):(se.pop(),ue.pop()),Ee=[],Ie(!0)})(e.shiftKey),"`"===t&&(ce=!ce,Xe())}));const Be=e=>[(e.clientX-L)/A*2-1,(e.clientY-X)/S*2-1],ze=e=>{const t=Be(e),n=Ee.slice(-2);return[t,l(...t,...n)]},Ge=()=>{clearTimeout(q),q=setTimeout((()=>{De=!1}),300)},Ne=e=>{De?(clearTimeout(q),Ae=!0):(De=!0,Ge()),Ae&&(Re=!0,Ee=[...Be(e)])},We=e=>{if(Re){const[t,n]=ze(e);n>.12&&Ee.push(...t)}},Ye=e=>{if(Ae||Ge(),Re){if(Re=!1,4>Ee.length)return;const[t,n]=ze(e);n>.0804&&Ee.push(...t),ue.push(Ee),se.push(K(Ee,.5,B/Ee.length*8.333333333333334*2*j(Ee),!1)),Me(),ye&&(()=>{const e=se.push(ee([ue[ue.length-1],E(1,3),[R(.2,.8),R(.2,.8)]]));se.push(e),ue.push(e),Me()})()}};be||(v(m,"mousedown",Ne),v(c,"mousemove",We),v(c,"mouseup",Ye),v(m,"touchstart",(e=>{e.clientX=e.touches[0].clientX,e.clientY=e.touches[0].clientY,Ne(e)})),v(c,"touchmove",(e=>{e.clientX=e.touches[0].clientX,e.clientY=e.touches[0].clientY,We(e)})),v(c,"touchend",(e=>{e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY,Ye(e)}))),be?ke():(e=>{se.push(...e[1]),Me(),Ue=e[2]})(de),Xe(),Ie(!0),p(Se)})()})();