memoscan
← all memos

Memo 0x794ed284…4e8216 on Ethereum

!function(){"use strict";class e{constructor(e,n,t){this.variables=[],this.currentTextureIndex=0;let o=THREE.FloatType;const r=new THREE.Scene,a=new THREE.Camera;a.position.z=1;const i={passThruTexture:{value:null}},s=g("uniform sampler2D passThruTexture;\n\nvoid main() {\n\n vec2 uv = gl_FragCoord.xy / resolution.xy;\n\n gl_FragColor = texture2D( passThruTexture, uv );\n\n}\n",i),c=new THREE.Mesh(new THREE.PlaneGeometry(2,2),s);function l(t){t.defines.resolution="vec2( "+e.toFixed(1)+", "+n.toFixed(1)+" )"}function g(e,n){n=n||{};const t=new THREE.ShaderMaterial({uniforms:n,vertexShader:"void main() {\n\n gl_Position = vec4( position, 1.0 );\n\n}\n",fragmentShader:e});return l(t),t}r.add(c),this.setDataType=function(e){return o=e,this},this.addVariable=function(e,n,t){const o={name:e,initialValueTexture:t,material:this.createShaderMaterial(n),dependencies:null,renderTargets:[],wrapS:null,wrapT:null,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter};return this.variables.push(o),o},this.setVariableDependencies=function(e,n){e.dependencies=n},this.init=function(){if(!1===t.capabilities.isWebGL2&&!1===t.extensions.has("OES_texture_float"))return"No OES_texture_float support for float textures.";if(0===t.capabilities.maxVertexTextures)return"No support for vertex shader textures.";for(let t=0;t<this.variables.length;t++){const o=this.variables[t];o.renderTargets[0]=this.createRenderTarget(e,n,o.wrapS,o.wrapT,o.minFilter,o.magFilter),o.renderTargets[1]=this.createRenderTarget(e,n,o.wrapS,o.wrapT,o.minFilter,o.magFilter),this.renderTexture(o.initialValueTexture,o.renderTargets[0]),this.renderTexture(o.initialValueTexture,o.renderTargets[1]);const r=o.material,a=r.uniforms;if(null!==o.dependencies)for(let e=0;e<o.dependencies.length;e++){const n=o.dependencies[e];if(n.name!==o.name){let e=!1;for(let t=0;t<this.variables.length;t++)if(n.name===this.variables[t].name){e=!0;break}if(!e)return"Variable dependency not found. Variable="+o.name+", dependency="+n.name}a[n.name]={value:null},r.fragmentShader="\nuniform sampler2D "+n.name+";\n"+r.fragmentShader}}return this.currentTextureIndex=0,null},this.compute=function(){const e=this.currentTextureIndex,n=0===this.currentTextureIndex?1:0;for(let t=0,o=this.variables.length;t<o;t++){const o=this.variables[t];if(null!==o.dependencies){const n=o.material.uniforms;for(let t=0,r=o.dependencies.length;t<r;t++){const r=o.dependencies[t];n[r.name].value=r.renderTargets[e].texture}}this.doRenderTarget(o.material,o.renderTargets[n])}this.currentTextureIndex=n},this.getCurrentRenderTarget=function(e){return e.renderTargets[this.currentTextureIndex]},this.getAlternateRenderTarget=function(e){return e.renderTargets[0===this.currentTextureIndex?1:0]},this.addResolutionDefine=l,this.createShaderMaterial=g,this.createRenderTarget=function(t,r,a,i,s,c){t=t||e,r=r||n,a=a||THREE.ClampToEdgeWrapping,i=i||THREE.ClampToEdgeWrapping,s=s||THREE.NearestFilter,c=c||THREE.NearestFilter;return new THREE.WebGLRenderTarget(t,r,{wrapS:a,wrapT:i,minFilter:s,magFilter:c,format:THREE.RGBAFormat,type:o,depthBuffer:!1})},this.createTexture=function(){const t=new Float32Array(e*n*4);return new THREE.DataTexture(t,e,n,THREE.RGBAFormat,THREE.FloatType)},this.renderTexture=function(e,n){i.passThruTexture.value=e,this.doRenderTarget(s,n),i.passThruTexture.value=null},this.doRenderTarget=function(e,n){const o=t.getRenderTarget();c.material=e,t.setRenderTarget(n),t.render(r,a),c.material=s,t.setRenderTarget(o)}}}var n=THREE;let t="\nvec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x, 289.0);}\nvec4 taylorInvSqrt(vec4 r){return 1.79284291400159 - 0.85373472095314 * r;}\nvec3 fade(vec3 t) {return t*t*t*(t*(t*6.0-15.0)+10.0);}\nfloat cnoise(vec3 P){\nvec3 Pi0 = floor(P);\nvec3 Pi1 = Pi0 + vec3(1.0);\nPi0 = mod(Pi0, 289.0);\nPi1 = mod(Pi1, 289.0);\nvec3 Pf0 = fract(P);\nvec3 Pf1 = Pf0 - vec3(1.0);\nvec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\nvec4 iy = vec4(Pi0.yy, Pi1.yy);\nvec4 iz0 = Pi0.zzzz;\nvec4 iz1 = Pi1.zzzz;\nvec4 ixy = permute(permute(ix) + iy);\nvec4 ixy0 = permute(ixy + iz0);\nvec4 ixy1 = permute(ixy + iz1);\nvec4 gx0 = ixy0 / 7.0;\nvec4 gy0 = fract(floor(gx0) / 7.0) - 0.5;\ngx0 = fract(gx0);\nvec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\nvec4 sz0 = step(gz0, vec4(0.0));\ngx0 -= sz0 * (step(0.0, gx0) - 0.5);\ngy0 -= sz0 * (step(0.0, gy0) - 0.5);\nvec4 gx1 = ixy1 / 7.0;\nvec4 gy1 = fract(floor(gx1) / 7.0) - 0.5;\ngx1 = fract(gx1);\nvec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\nvec4 sz1 = step(gz1, vec4(0.0));\ngx1 -= sz1 * (step(0.0, gx1) - 0.5);\ngy1 -= sz1 * (step(0.0, gy1) - 0.5);\nvec3 g000 = vec3(gx0.x,gy0.x,gz0.x);\nvec3 g100 = vec3(gx0.y,gy0.y,gz0.y);\nvec3 g010 = vec3(gx0.z,gy0.z,gz0.z);\nvec3 g110 = vec3(gx0.w,gy0.w,gz0.w);\nvec3 g001 = vec3(gx1.x,gy1.x,gz1.x);\nvec3 g101 = vec3(gx1.y,gy1.y,gz1.y);\nvec3 g011 = vec3(gx1.z,gy1.z,gz1.z);\nvec3 g111 = vec3(gx1.w,gy1.w,gz1.w);\nvec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\ng000 *= norm0.x;\ng010 *= norm0.y;\ng100 *= norm0.z;\ng110 *= norm0.w;\nvec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\ng001 *= norm1.x;\ng011 *= norm1.y;\ng101 *= norm1.z;\ng111 *= norm1.w;\nfloat n000 = dot(g000, Pf0);\nfloat n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\nfloat n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\nfloat n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\nfloat n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\nfloat n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\nfloat n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\nfloat n111 = dot(g111, Pf1);\nvec3 fade_xyz = fade(Pf0);\nvec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\nvec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\nfloat n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); \nreturn 2.2 * n_xyz;\n}";t="\nvec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x, 289.0);}\nvec4 taylorInvSqrt(vec4 r){return 1.79284291400159 - 0.85373472095314 * r;}\nvec4 fade(vec4 t) {return t*t*t*(t*(t*6.0-15.0)+10.0);}\nfloat cnoise(vec3 P2){\nvec4 P = vec4(P2 * 1.28, 0.0);\nvec4 Pi0 = floor(P);\nvec4 Pi1 = Pi0 + 1.0;\nPi0 = mod(Pi0, 289.0);\nPi1 = mod(Pi1, 289.0);\nvec4 Pf0 = fract(P);\nvec4 Pf1 = Pf0 - 1.0;\nvec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\nvec4 iy = vec4(Pi0.yy, Pi1.yy);\nvec4 iz0 = vec4(Pi0.zzzz);\nvec4 iz1 = vec4(Pi1.zzzz);\nvec4 iw0 = vec4(Pi0.wwww);\nvec4 iw1 = vec4(Pi1.wwww);\nvec4 ixy = permute(permute(ix) + iy);\nvec4 ixy0 = permute(ixy + iz0);\nvec4 ixy1 = permute(ixy + iz1);\nvec4 ixy00 = permute(ixy0 + iw0);\nvec4 ixy01 = permute(ixy0 + iw1);\nvec4 ixy10 = permute(ixy1 + iw0);\nvec4 ixy11 = permute(ixy1 + iw1);\nvec4 gx00 = ixy00 / 7.0;\nvec4 gy00 = floor(gx00) / 7.0;\nvec4 gz00 = floor(gy00) / 6.0;\ngx00 = fract(gx00) - 0.5;\ngy00 = fract(gy00) - 0.5;\ngz00 = fract(gz00) - 0.5;\nvec4 gw00 = vec4(0.75) - abs(gx00) - abs(gy00) - abs(gz00);\nvec4 sw00 = step(gw00, vec4(0.0));\ngx00 -= sw00 * (step(0.0, gx00) - 0.5);\ngy00 -= sw00 * (step(0.0, gy00) - 0.5);\nvec4 gx01 = ixy01 / 7.0;\nvec4 gy01 = floor(gx01) / 7.0;\nvec4 gz01 = floor(gy01) / 6.0;\ngx01 = fract(gx01) - 0.5;\ngy01 = fract(gy01) - 0.5;\ngz01 = fract(gz01) - 0.5;\nvec4 gw01 = vec4(0.75) - abs(gx01) - abs(gy01) - abs(gz01);\nvec4 sw01 = step(gw01, vec4(0.0));\ngx01 -= sw01 * (step(0.0, gx01) - 0.5);\ngy01 -= sw01 * (step(0.0, gy01) - 0.5);\nvec4 gx10 = ixy10 / 7.0;\nvec4 gy10 = floor(gx10) / 7.0;\nvec4 gz10 = floor(gy10) / 6.0;\ngx10 = fract(gx10) - 0.5;\ngy10 = fract(gy10) - 0.5;\ngz10 = fract(gz10) - 0.5;\nvec4 gw10 = vec4(0.75) - abs(gx10) - abs(gy10) - abs(gz10);\nvec4 sw10 = step(gw10, vec4(0.0));\ngx10 -= sw10 * (step(0.0, gx10) - 0.5);\ngy10 -= sw10 * (step(0.0, gy10) - 0.5);\nvec4 gx11 = ixy11 / 7.0;\nvec4 gy11 = floor(gx11) / 7.0;\nvec4 gz11 = floor(gy11) / 6.0;\ngx11 = fract(gx11) - 0.5;\ngy11 = fract(gy11) - 0.5;\ngz11 = fract(gz11) - 0.5;\nvec4 gw11 = vec4(0.75) - abs(gx11) - abs(gy11) - abs(gz11);\nvec4 sw11 = step(gw11, vec4(0.0));\ngx11 -= sw11 * (step(0.0, gx11) - 0.5);\ngy11 -= sw11 * (step(0.0, gy11) - 0.5);\nvec4 g0000 = vec4(gx00.x,gy00.x,gz00.x,gw00.x);\nvec4 g1000 = vec4(gx00.y,gy00.y,gz00.y,gw00.y);\nvec4 g0100 = vec4(gx00.z,gy00.z,gz00.z,gw00.z);\nvec4 g1100 = vec4(gx00.w,gy00.w,gz00.w,gw00.w);\nvec4 g0010 = vec4(gx10.x,gy10.x,gz10.x,gw10.x);\nvec4 g1010 = vec4(gx10.y,gy10.y,gz10.y,gw10.y);\nvec4 g0110 = vec4(gx10.z,gy10.z,gz10.z,gw10.z);\nvec4 g1110 = vec4(gx10.w,gy10.w,gz10.w,gw10.w);\nvec4 g0001 = vec4(gx01.x,gy01.x,gz01.x,gw01.x);\nvec4 g1001 = vec4(gx01.y,gy01.y,gz01.y,gw01.y);\nvec4 g0101 = vec4(gx01.z,gy01.z,gz01.z,gw01.z);\nvec4 g1101 = vec4(gx01.w,gy01.w,gz01.w,gw01.w);\nvec4 g0011 = vec4(gx11.x,gy11.x,gz11.x,gw11.x);\nvec4 g1011 = vec4(gx11.y,gy11.y,gz11.y,gw11.y);\nvec4 g0111 = vec4(gx11.z,gy11.z,gz11.z,gw11.z);\nvec4 g1111 = vec4(gx11.w,gy11.w,gz11.w,gw11.w);\nvec4 norm00 = taylorInvSqrt(vec4(dot(g0000, g0000), dot(g0100, g0100), dot(g1000, g1000), dot(g1100, g1100)));\ng0000 *= norm00.x;\ng0100 *= norm00.y;\ng1000 *= norm00.z;\ng1100 *= norm00.w;\nvec4 norm01 = taylorInvSqrt(vec4(dot(g0001, g0001), dot(g0101, g0101), dot(g1001, g1001), dot(g1101, g1101)));\ng0001 *= norm01.x;\ng0101 *= norm01.y;\ng1001 *= norm01.z;\ng1101 *= norm01.w;\nvec4 norm10 = taylorInvSqrt(vec4(dot(g0010, g0010), dot(g0110, g0110), dot(g1010, g1010), dot(g1110, g1110)));\ng0010 *= norm10.x;\ng0110 *= norm10.y;\ng1010 *= norm10.z;\ng1110 *= norm10.w;\nvec4 norm11 = taylorInvSqrt(vec4(dot(g0011, g0011), dot(g0111, g0111), dot(g1011, g1011), dot(g1111, g1111)));\ng0011 *= norm11.x;\ng0111 *= norm11.y;\ng1011 *= norm11.z;\ng1111 *= norm11.w;\nfloat n0000 = dot(g0000, Pf0);\nfloat n1000 = dot(g1000, vec4(Pf1.x, Pf0.yzw));\nfloat n0100 = dot(g0100, vec4(Pf0.x, Pf1.y, Pf0.zw));\nfloat n1100 = dot(g1100, vec4(Pf1.xy, Pf0.zw));\nfloat n0010 = dot(g0010, vec4(Pf0.xy, Pf1.z, Pf0.w));\nfloat n1010 = dot(g1010, vec4(Pf1.x, Pf0.y, Pf1.z, Pf0.w));\nfloat n0110 = dot(g0110, vec4(Pf0.x, Pf1.yz, Pf0.w));\nfloat n1110 = dot(g1110, vec4(Pf1.xyz, Pf0.w));\nfloat n0001 = dot(g0001, vec4(Pf0.xyz, Pf1.w));\nfloat n1001 = dot(g1001, vec4(Pf1.x, Pf0.yz, Pf1.w));\nfloat n0101 = dot(g0101, vec4(Pf0.x, Pf1.y, Pf0.z, Pf1.w));\nfloat n1101 = dot(g1101, vec4(Pf1.xy, Pf0.z, Pf1.w));\nfloat n0011 = dot(g0011, vec4(Pf0.xy, Pf1.zw));\nfloat n1011 = dot(g1011, vec4(Pf1.x, Pf0.y, Pf1.zw));\nfloat n0111 = dot(g0111, vec4(Pf0.x, Pf1.yzw));\nfloat n1111 = dot(g1111, Pf1);\nvec4 fade_xyzw = fade(Pf0);\nvec4 n_0w = mix(vec4(n0000, n1000, n0100, n1100), vec4(n0001, n1001, n0101, n1101), fade_xyzw.w);\nvec4 n_1w = mix(vec4(n0010, n1010, n0110, n1110), vec4(n0011, n1011, n0111, n1111), fade_xyzw.w);\nvec4 n_zw = mix(n_0w, n_1w, fade_xyzw.z);\nvec2 n_yzw = mix(n_zw.xy, n_zw.zw, fade_xyzw.y);\nfloat n_xyzw = mix(n_yzw.x, n_yzw.y, fade_xyzw.x);\nreturn 2.2 * n_xyzw * .7;\n}";let o="const mat2 myt = mat2(.12121212, .13131313, -.13131313, .12121212);\nconst vec2 mys = vec2(1e4, 1e6);\nvec2 rhash(vec2 uv) {\nuv *= myt;\nuv *= mys;\nreturn fract(fract(uv / mys) * uv);\n}\nvec3 hash(vec3 p) {\nreturn fract(sin(vec3(dot(p, vec3(1.0, 57.0, 113.0)),\ndot(p, vec3(57.0, 113.0, 1.0)),\ndot(p, vec3(113.0, 1.0, 57.0)))) *\n43758.5453);\n}\nfloat voronoiNoise(const in vec2 point) {\nvec2 p = floor(point);\nvec2 f = fract(point);\nfloat res = 0.0;\nfor (int j = -1; j <= 1; j++) {\nfor (int i = -1; i <= 1; i++) {\nvec2 b = vec2(i, j);\nvec2 r = vec2(b) - f + rhash(p + b);\nres += 1. / pow(dot(r, r), 8.);\n}\n}\nreturn pow(1. / res, 0.0625);\n}\n";function r(e,n,t){return e<n&&(e=n),e>t&&(e=t),e}function a(e,n,t,o,a,i=!1){let s=o+(a-o)*(e-n)/(t-n);return i&&(s=r(s,o,a)),s}let i=new class{constructor(){this.useA=!1;let e=function(e){let n=parseInt(e.substring(0,8),16),t=parseInt(e.substring(8,16),16),o=parseInt(e.substring(16,24),16),r=parseInt(e.substring(24,32),16);return function(){n|=0,t|=0,o|=0,r|=0;let e=(n+t|0)+r|0;return r=r+1|0,n=t^t>>>9,t=o+(o<<3)|0,o=o<<21|o>>>11,o=o+e|0,(e>>>0)/4294967296}};this.prngA=new e(tokenData.hash.substring(2,34)),this.prngB=new e(tokenData.hash.substring(34,66));for(let e=0;e<1e6;e+=2)this.prngA(),this.prngB()}random_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}random_num(e,n){return e+(n-e)*this.random_dec()}random_int(e,n){return Math.floor(this.random_num(e,n+1))}random_bool(e){return this.random_dec()<e}random_choice(e){return e[this.random_int(0,e.length-1)]}},s=[{dB:-.04000000000000015,dR:.51,vS:-.1,sI:.5,name:"coal",colors:["#4f4f4f","#333333","#151619","#090b0f","#020203"],stops:[26020852139652106e-33,.15000000000000002,.31999999999999995,.4900000000000001,1]},{dB:-.02000000000000006,dR:.24,vS:.05,sI:.2,name:"carbon",colors:["#bfbfbf","#a5a5a5","#7f8489","#171b23","#010203"],stops:[26020852139652106e-33,.12,.24,.76,1]},{dB:-.13000000000000003,dR:.45000000000000007,vS:-.2,sI:0,name:"bone",colors:["#FFFFFF","#ebe7e5","#bfbaba","#6d767f","#444b5c"],stops:[1214306433183765e-32,.25999999999999995,.5400000000000001,.9500000000000001,1]},{dB:-.09000000000000001,dR:.4299999999999999,vS:0,sI:.3,name:"gold",colors:["#fff6ea","#e8c098","#8f623f","#6c4035","#000000"],stops:[0,.2600000000000001,.75,.87,1]},{dB:-.16999999999999998,dR:.37999999999999995,vS:.03,sI:0,name:"fire",colors:["#f8a393","#ef6d6d","#db4d41","#a5343e","#460310"],stops:[0,.08,.29000000000000004,.6,1]},{dB:-.07000000000000002,dR:.42000000000000004,vS:-.05,sI:.2,name:"rose",colors:["#ffd2d2","#ebb2c6","#a85562","#853c3c","#62162c"],stops:[0,.24000000000000007,.7899999999999999,.9,1]},{dB:.43,dR:.44999999999999996,vS:-.1,sI:.1,name:"lavender",colors:["#fbf3f1","#fbf1f0","#e2c1ba","#d2a0aa","#c58484"],stops:[3469446951953614e-33,.36000000000000004,.82,.9500000000000001,1]},{dB:.020000000000000066,dR:.29000000000000004,vS:-.2,sI:.4,name:"blush",colors:["#f8e2d0","#fba3a3","#9c405a","#661935","#4c1015"],stops:[0,.26,.7599999999999999,.93,1]},{dB:-.04000000000000007,dR:.37999999999999995,vS:-.1,sI:.3,name:"gill",colors:["#eae4eb","#cfc6c4","#9f9391","#8c7159","#8c6244"],stops:[.3400000000000001,.66,.8899999999999999,.98,1]},{dB:-.11,dR:.36000000000000004,vS:-.05,sI:.1,name:"moss",colors:["#dbffc0","#8ea26e","#627955","#122c1c","#010605"],stops:[0,.25999999999999995,.48,.86,1]},{dB:-.07000000000000006,dR:.39,vS:-.1,sI:.1,name:"leaf",colors:["#c7e2af","#96af9b","#43624d","#1d392f","#091c1c"],stops:[0,.20000000000000004,.5700000000000002,.7300000000000001,1]},{dB:-.03999999999999994,dR:.36000000000000004,vS:-.2,sI:.3,name:"neon",colors:["#badfd3","#87cfb8","#6cc29b","#20695d","#123630"],stops:[0,.23999999999999996,.33,.97,1]},{dB:-.16999999999999993,dR:.31999999999999995,vS:0,sI:.2,name:"shore",colors:["#acc6d8","#6395b2","#305372","#152b3f","#121929"],stops:[1734723475976807e-33,.33,.5800000000000001,.8200000000000001,1]},{dB:-.16999999999999996,dR:.52,vS:0,sI:.2,name:"space",colors:["#b7d2e2","#597282","#385366","#121c2c","#040516"],stops:[1734723475976807e-33,.37,.6000000000000001,.87,1]},{dB:-.07000000000000002,dR:.41000000000000003,vS:-.2,sI:.2,name:"grape",colors:["#9286ac","#4b4e82","#3b3969","#141739","#0b0e1f"],stops:[0,.11000000000000001,.29,.84,1]},{dB:-.03999999999999996,dR:.35,vS:-.1,sI:.2,name:"plum",colors:["#ba95db","#9d88db","#363077","#100c3c","#0d0f1f"],stops:[0,.15999999999999998,.5400000000000001,.79,1]},{dB:.76,dR:.51,vS:-.1,sI:.3,name:"haze",colors:["#c3b2df","#585c95","#242a5c","#000033","#020026"],stops:[0,.36999999999999994,.64,.91,1]},{dB:.09000000000000007,dR:.37999999999999995,vS:0,sI:.3,name:"peach",colors:["#ffd3a4","#f8bc99","#fb8353","#fb5149","#c52b25"],stops:[26020852139652106e-33,.21,.46,.8300000000000001,1]},{dB:-.24,dR:.42999999999999994,vS:0,sI:.3,name:"depth",colors:["#7f95a5","#567d92","#223649","#112236","#02121f"],stops:[0,.32000000000000006,.71,.87,1]},{dB:-.13000000000000003,dR:.29000000000000004,vS:.05,sI:.3,name:"wine",colors:["#f57979","#bf354b","#6f162c","#3f030b","#190008"],stops:[0,.17,.54,.8200000000000001,1]},{dB:-.11000000000000006,dR:.36000000000000004,vS:.05,sI:.3,name:"wood",colors:["#6f6559","#464240","#292827","#161311","#191215"],stops:[26020852139652106e-33,.25,.41,.63,1]},{dB:.12999999999999995,dR:.4899999999999999,vS:.05,sI:.3,name:"honey",colors:["#fffdfa","#fbeccb","#fbda90","#bc8d51","#a75128"],stops:[22551405187698492e-33,.16000000000000003,.51,.87,1]},{dB:.27999999999999997,dR:.3999999999999999,vS:.05,sI:.3,name:"pale",colors:["#fffdfa","#fbeccb","#ffe7b4","#c89859","#d87f42"],stops:[22551405187698492e-33,.12000000000000002,.44999999999999996,.9500000000000001,1]},{dB:.27999999999999997,dR:.3999999999999999,vS:.05,sI:.3,name:"sun",colors:["#fffdfa","#ffe09d","#ffd16f","#eb9543","#cf6a42"],stops:[22551405187698492e-33,.12000000000000002,.44999999999999996,.9500000000000001,1]},{dB:-.12999999999999995,dR:.41000000000000003,vS:-.1,sI:.2,name:"berry",colors:["#a5d8fb","#298ebf","#0063b5","#0e336c","#001a56"],stops:[1734723475976807e-33,.14,.4600000000000001,.8,1]},{dB:-.25999999999999995,dR:.29,vS:.03,sI:0,name:"blood",colors:["#ff2145","#ff6d6d","#d52836","#821526","#16040f"],stops:[0,.22,.49000000000000005,.75,1]}],c=[[0,1],[0,1],[0,1,2],[1,2],[2,3,5],[1,2,8],[2,1],[2,3,8],[2,3],[8,9],[2,25],[4,19,17,19],[3,3,3,22,4],[3,22],[4,19],[3,8],[0,2],[19,18,6],[19,19,6,7],[19,5],[6,6,5],[19,2],[2,19],[2,2,18],[19,19,8],[5,7,8],[6,7,5],[5,8],[6,5,0],[6,2],[9,10,9,10,11],[2,9,10],[2],[18],[18,24],[9,10,11,17],[9,19,11],[10,9,9,10,8],[8,7,6],[9,10],[8,18],[8,22,21,23],[16],[12,13,8,18],[5,7,22,6],[21,22,23],[20,1],[4,2,7],[0,1,8,20]],l=i.random_int(0,c.length-1),g=c[l],d=[];for(let e=0;e<g.length;e++){let n=1;n=i.random_int(1,5);for(let t=0;t<n;t++)d.push(g[e])}g=d;let v=i.random_dec(),f=a(v,0,1,.4,.2);v=a(v,0,1,.9,2);let u=[[-.55,.2],[-.55,.3],[-.55,0],[-.75,0],[-.75,.3],[-.75,-.3]],x=i.random_int(8,13),m=i.random_bool(.8)?1:0,y=12;x>10&&(y-=x-10);let p=100*Math.round(i.random_int(8,y)),h=i.random_int(0,u.length-1),w=u[h],z=w[0],P=w[1],b=1-i.random_dec();b=1-Math.pow(1-b,1);let _=[4,5,6];x<11&&(_=_.slice(0,_.length-1));let S=_[Math.floor(b*_.length)];x<12&&i.random_bool(.2)&&(b=0,S=3);let R,T=a(b,0,1,.3,.6),I=a(b,0,1,.8,1);R=0!=w[1]&&i.random_bool(.6);let F=!1;g.length>1&&(F=i.random_bool(.5));let C=8e-4,D=i.random_bool(.5),E=i.random_bool(.25),B=i.random_num(.07,.18);S==_[0]&&(E=!1),b>.8&&(b=1,S=6.5,C=.0015,B*=.5);let H={};H={fadeIn:!0,applyVelocity:!0,applyHoles:!0,noiseStrength:.9};let $={angle:w.toString(),angleIndex:h,border:R,schemeIndex:l,gradientIndices:g,nLines:x,circleDistroAlgo:m,nSteps:p,startRadius:3,hideLines:!0,smallFolds:i.random_bool(.3),zoomLevelRat:b,zoomLevel:S,xRotation:z,yRotation:P,doubleSided:F,swirlSize:i.random_num(.05,.6),swirlStrength:i.random_num(-.2,.2),flipX:D,flipY:E,numCols:g.length,gradientIndices:g,multipleGradientProb:.5*i.random_int(0,2),colorDistributionType:i.random_int(0,2),heightNoiseScale:v,heightNoiseAmp:f,minHoleThreshold:T,maxHoleThreshold:I,allHoles:i.random_bool(.5),bendStrength:C,attrStrength:B};function A(e){let n="",t={};return e.forEach((e=>{let n=s[e].name;t[n]=n})),Object.keys(t).forEach((e=>{""!=n&&(n+=","),n+=e})),n}Math.floor(parseInt(tokenData.tokenId)/1e6);parseInt(tokenData.tokenId);let M=THREE,L=new M.Texture;$.gradientType=2;let V="uv.x = 1.0 - uv.x;",O="uv.y = 1.0 - uv.y;";$.flipX||(V=""),$.flipY||(O="");let k=new Proxy(new URLSearchParams(window.location.search),{get:(e,n)=>e.get(n)}),q=THREE,Y=window,j=/\bHeadlessChrome/.test(navigator.userAgent);new class{_rotVel=new n.Vector3;_posVel;_prevMousePos;_isMouseDown;constructor(){this._posVel=new n.Vector3,this._prevMousePos={x:0,y:0},this._isMouseDown=!1,window.addEventListener("touchstart",this._mouseDownHandler.bind(this)),window.addEventListener("touchend",this._mouseUpHandler.bind(this)),window.addEventListener("touchmove",this._mouseMoveHandler.bind(this)),window.addEventListener("mousedown",this._mouseDownHandler.bind(this)),window.addEventListener("mouseup",this._mouseUpHandler.bind(this)),window.addEventListener("mousemove",this._mouseMoveHandler.bind(this)),window.addEventListener("wheel",this._mouseWheelHandler.bind(this),{passive:!1})}update(e){e=e||.9;this._posVel.multiplyScalar(e),this._rotVel.multiplyScalar(e)}getRotationVelocity(){return this._rotVel}getPositionVelocity(){return this._posVel}_mouseDownHandler(e){this._prevMousePos={x:e.pageX,y:e.pageY},this._isMouseDown=!0}_mouseUpHandler(e){this._isMouseDown=!1}_mouseMoveHandler(e){if(this._isMouseDown){var n={x:e.pageX-this._prevMousePos.x,y:e.pageY-this._prevMousePos.y};this._prevMousePos={x:e.pageX,y:e.pageY},this._rotVel.x=n.y/200,this._rotVel.y=n.x/200}e.preventDefault()}_mouseWheelHandler(e){var n=e.deltaY;this._posVel.z+=n/5e3,e.preventDefault()}},new q.Vector3(i.random_num(-.6,.6),i.random_num(-1,1),0).normalize(),window.matchMedia("only screen and (max-width: 1024px)").matches;let X=Y.devicePixelRatio?Y.devicePixelRatio:1,G=16/9;k.aspectRatio&&(G=k.aspectRatio);let N,U,W,K,J,Q,Z,ee,ne,te,oe,re,ae,ie,se,ce=Y.innerHeight,le=ce/G,ge=H.noiseStrength,de=0,ve=0,fe=0,ue=en();en();let xe,me,ye,pe,he,we,ze,Pe,be,_e,Se,Re=0,Te=0,Ie=1,Fe=!1,Ce=[],De=[],Ee=[],Be=[],He=[],$e=$.nLines,Ae=$.nSteps,Me=!1,Le=!1;k.record&&1==k.record&&(Le=!0);let Ve=1e6;k.toFrame&&(Ve=parseInt(k.toFrame));let Oe,ke,qe,Ye=!1,je=new q.Color(0),Xe=je,Ge=je;Ie*=X;le*=2,ce*=2;let Ne={gradients:[]};$.gradientIndices.forEach((e=>{Ne.gradients.push(s[e])}));let Ue=[...Qe()];Ue.sort(((e,n)=>{let t={},o={};e.getHSL(t),n.getHSL(o);let r=Math.abs(.5-t.l)/.5,a=Math.abs(.5-o.l)/.5;return r-=.5*t.s,a-=.5*o.s,r>a?1:r<a?-1:0})),Ue.forEach((e=>{e.getHSL({})}));let We=new q.Color(Ue[0]),Ke={};We.getHSL(Ke),We.setHSL(Ke.h,.3*Ke.s,.2*Ke.l),Oe=We.clone();let Je=We.clone();function Qe(){let e=[];for(let n=0;n<Ne.gradients.length;n++)for(let t=0;t<Ne.gradients[n].colors.length;t++)e.push(new THREE.Color(Ne.gradients[n].colors[t]));return e}function Ze(){let e={};for(let n=0;n<Ne.gradients.length;n++){let t=Ne.gradients[n];for(const[n,o]of Object.entries(t))e.hasOwnProperty(n)||(e[n]=[]),Array.isArray(o)?e[n].push(...o):e[n].push(o)}return e}function en(){return(new