0x2672…948c

All memos sent from and to 0x2672…948c.

const hashPairs=[];for(let e=0;e.push(tokenData.@ .slice(2+2*e,4@.map((e=>parseInt(e,16))),seed= ;class Random{`c=c+1|0,l=r^r>>>9 0)/4294967296}};a" prngA=new e0,e.length-1)]}}l"x( T ),image(ar!Osnb=playTone(5109+S%A"z{name:"Suchil", ors:["8ecae7","3FA4BD 1]/255*8+2),pqty@3-1.5);ab(m)<.5( 08,r1=.4,r2=.5#"Procedural" /AI12?"sharp":"roundA@@4 p=[{x:s-e,y:a-l-i},@l=[...Array(e*e#l=/^#?([a-f\d]{2})posibNn dcP[29]%53>O==RIGHT_ARROW&&@nt.q?{ ySelector("JO`!8Z
Defrag Me is the result of over a year spent in hospitals and therapists’ offices. For most of 2023, I struggled to focus on any task, let alone make art. The feelings of pain, helplessness, and isolation that mental illness can cause is difficult to fully express in either words or imagery. A breakthrough came when I found a way to channel my pain and comprehend my experience through art. Personality disorders can take root during traumatic childhoods, although the impact of past abuse is sometimes not apparent until a crisis. This leaves the traumatized person and their loved ones to figure out what in childhood laid the foundations for the disorder. Defrag Me depicts this healing process through an interactive visual that evokes childhood: the puzzle. Each piece is an abstract visual representation of self-fragmentation that also functions as a puzzle that users can solve. Ranging from 3x3 to 8x8 grids, the puzzles consist of an image, fragmented into tiles, that can be reassembled by clicking on the tiles. The tiles slide with exponentially accelerating speed and are accompanied by a range of sound frequencies, creating a physical, multisensory approximation of tactile play and a subtle sense of organic chaos. I invite collectors to replicate the childhood pastime of puzzle-solving to help them reflect on the relationship between their past and present selves. Solving the puzzle is a metaphor for making sense of childhood trauma and easing the toll that it continues to take into our adulthoods. Repressed pain can lead to severe self-fragmentation, manifesting in conditions such as depersonalization and dissociation. For grids of 5x5 and higher, I added the option to activate ‘hints.’ These hints appear as an overlay of concentric circles, resembling fingerprints—a symbol of identity. By tapping below the grid, pressing “h” on their keyboard, or using numbers 1 to 8, collectors can enable their hints. When hints are visible, collectors can align the separate tiles by following the circular pattern, completing the puzzle. Some of us can heal our personal fragmentation on our own; some simply choose to live with the fractures. But many of us will need help from a loved one or a professional to reassemble ourselves and our relationships with others. The hints in Defrag Me symbolize those who aid us on that journey. A solved puzzle represents a defragmented self. The title of this artwork, Defrag Me, references the act of defragmentation. In my case, I reached back into my artistic past to process the emotional labors that I have had to undertake over the last years. The tiles of Defrag Me originate from my first project on ArtBlocks, Libertad Parametrizada. I cut the images of Libertad Parametrizada into pieces, scattered them into tiles, and then began to reassemble them into an entirely new artwork. Reflection, reassembly, and rebirth—this is the process of Defrag Me.
p5.disableFriendlyErrors=!0;const gl=document.createElement("canvas").getContext("webgl2"),qPrms=new URLSearchParams(window.location.search);qPrms.get("h")&&(tokenData.hash=qPrms.get("h"));let cNSz=420,cNSp=1,cNDr=45,cNRg=1,pSzRg=1,pSzSp=.01,wgl=2;gl||(wgl=1),p5.RendererGL.prototype._initContext=function(){try{if(this.drawingContext=this.canvas.getContext("webgl2",this._pInst._glAttributes)||this.canvas.getContext("experimental-webgl",this._pInst._glAttributes),null===this.drawingContext)throw new Error("Error creating webgl context");{const e=this.drawingContext;e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight),this._viewport=this.drawingContext.getParameter(this.drawingContext.VIEWPORT)}}catch(e){throw e}},qPrms.get("clrSize")&&(cNSz=qPrms.get("clrSize")),qPrms.get("clrSpeed")&&(cNSp=qPrms.get("clrSpeed")),qPrms.get("clrDir")&&(cNDr=qPrms.get("clrDir")),qPrms.get("clrRange")&&(cNRg=qPrms.get("clrRange")),qPrms.get("petalSizeRange")&&(pSzRg=qPrms.get("petalSizeRange")),qPrms.get("petalSizeSpeed")&&(pSzSp=qPrms.get("petalSizeSpeed"));const PHI=(1+Math.sqrt(5))/2,hashPairs=[];for(let e=0;e<32;e++)hashPairs.push(tokenData.hash.slice(2+2*e,4+2*e));const dcP=hashPairs.map((e=>parseInt(e,16)));fl=e=>Math.floor(e),sq=e=>Math.sqrt(e),ab=e=>Math.abs(e);const seed=parseInt(tokenData.hash.slice(2,10),16);function easeOutExpo(e){return 1===e?1:1-Math.pow(2,-10*e)}function easeInExpo(e){return 0===e?0:Math.pow(2,10*e-10)}function easeInQuad(e){return e*e}function easeInCubic(e){return e*e*e}function easeOutCubic(e){return 1-Math.pow(1-e,3)}function easeInOutCubic(e){return e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2}class Random{constructor(e){this.useA=!1;let t=function(t){let r=e,n=parseInt(t.substr(8,16),16),s=parseInt(t.substr(16,24),16),a=parseInt(t.substr(24,32),16);return function(){r|=0,n|=0,s|=0,a|=0;let e=(r+n|0)+a|0;return a=a+1|0,r=n^n>>>9,n=s+(s<<3)|0,s=s<<21|s>>>11,s=s+e|0,(e>>>0)/4294967296}};this.prngA=new t(tokenData.hash.substr(2,32)),this.prngB=new t(tokenData.hash.substr(34,32));for(let e=0;e<1e6;e+=2)this.prngA(),this.prngB()}r_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}r_num(e,t){return e+(t-e)*this.r_dec()}r_int(e,t){return Math.floor(this.r_num(e,t+1))}r_bool(e){return this.r_dec()<e}r_choice(e){return e[this.r_int(0,e.length-1)]}}let ww,wh,un,mnr,myr,mc,bas,lnz,shCnvs,shdr,msk,mlt,bgc,bgCol,R=new Random(seed),S=new Random(3*seed),N=new Random(seed-9),palette=swatches[dcP[2]%swatches.length],jColors=JSON.parse(JSON.stringify(palette.colors)),clrs=hsbPal([...jColors]),clrStl="Full",clrOrd=dcP[26]%5>1?"Spiral":"Rings";cNSz=75+3500*dcP[11]/255,cNSp=2+16*dcP[12]/255,cNDr=359*dcP[13]/255,cNRg=4.25*dcP[14]/255-.25,pSzRg=.2+4.8*easeInExpo(dcP[15]/255),pSzSp=.01+6.99*easeInExpo(dcP[16]/255);let leaf=leaves[dcP[4]%leaves.length];const GaussianBlur="\n\t#ifndef PI\n\t#define PI 3.14159265359\n\t#endif\n\n\t// Gaussian function\n\tfloat gaussian(float x, float sigma) {\n\t\treturn exp(-(x*x)/(2.*sigma*sigma))/(sqrt(2.*PI)*sigma);\n\t}\n\t\n\n\t// Gaussian blur\n\tvec3 GaussianBlur(vec2 uv, sampler2D img, float radius, float sigma, vec2 texelSize) {\n\t\tvec3 color = vec3(0.);\n\t\tfloat sum = 0.;\n\n vec2 halfTexelSz = texelSize * 4.0;\n\n\t\tfor (float x = -radius; x <= radius; x++) {\n\t\t\tfor (float y = -radius; y <= radius; y++) {\n\t\t\t\tfloat weight = gaussian(length(vec2(x, y)), sigma);\n\t\t\t\tcolor += texture(img, (uv + vec2(x, y) * halfTexelSz)).xyz * weight;\n\t\t\t\tsum += weight;\n\t\t\t}\n\t\t}\n\t\treturn color/sum;\n\t}\n\t\n",frg=`#version 300 es\nprecision mediump float;\n\nuniform vec2 iResolution;\nuniform float iPixelDensity;\nuniform sampler2D iCanvas;\nuniform sampler2D iGlow;\nuniform sampler2D iMask;\nuniform float iRadius;\nuniform float iSigma;\n\n${GaussianBlur}\n\nin vec2 vTexCoord;\nout vec4 fragColor;\n\nvoid main() {\n vec2 uv = vec2(vTexCoord.x, 1.0-vTexCoord.y);\n vec2 texelSize = 1./(iResolution.xy*iPixelDensity);\n vec3 texMask = texture(iMask, uv).rgb;\n\n vec3 color = GaussianBlur(\n uv, iCanvas,\n iRadius, iSigma, texelSize\n );\n\n vec3 glow = GaussianBlur(\n uv, iGlow,\n iRadius/2., iSigma/2., texelSize\n );\n\n //Color sample and weight sums for weighted average\n vec4 color_sum = vec4(0);\n vec4 weight_sum = vec4(0);\n\n for(float i = 0.0; i<=1.0; i+=1.0/12.0) {\n //Sample texture coordinates with offset (-0.5 to +0.5)\n vec2 coord = uv + (i-0.5) * 0.0075;\n\n //Sample texture at coordinates\n vec4 color = texture(iGlow, coord);\n\n //Get separate weight values for each channel\n //R ranges from 0 to 1, G from 0 to 1 to 0 and B from 1 to 0\n vec4 weight = vec4(i, 1.0 - abs(i*2.0 - 1.0), 1.0 - i, 0.5);\n \n //Add color (squared for gamma) with weight factors\n color_sum += color * color * weight;\n //Add weight totals for averaging\n weight_sum += weight;\n }\n\n vec3 abglow = vec3(glow.r*uv.x,glow.g,glow.b*uv.y);\n vec4 abrr = sqrt(color_sum*2.2 / weight_sum);\n vec3 suma = (color + glow + abrr.rgb*3.0)/3.0;\n\n fragColor = vec4(vec3(suma), texMask.g*0.64);\n //fragColor = abrr;\n}\n`,vrt="#version 300 es\n\n\tin vec3 aPosition;\n\tin vec2 aTexCoord;\n\n\tout vec2 vTexCoord;\n\n\tvoid main() {\n\t\tvTexCoord = aTexCoord;\n\t\tgl_Position = vec4(aPosition.xy*2.-1., aPosition.z, 1.0);\n\t}\n";function setup(){colorMode(HSL),ww=innerWidth,wh=innerHeight,mnr=ww<wh?ww:wh,myr=ww>wh?ww:wh,un=myr/100,mc=createCanvas(ww,wh),lnz=createGraphics(ww,wh),bas=createGraphics(ww,wh),msk=createGraphics(ww,wh),mlt=createGraphics(ww,wh),pixelDensity(2),lnz.pixelDensity(2),msk.pixelDensity(2),bas.pixelDensity(2),mlt.pixelDensity(2),noiseSeed(seed),lnz.translate(ww/2,wh/2),2==wgl&&(shCnvs=createGraphics(ww,wh,WEBGL),shCnvs.pixelDensity(1),shCnvs.translate(ww/2,wh/2),shCnvs.rectMode(CENTER),shdr=shCnvs.createShader(vrt,frg)),lnz.rectMode(CENTER),lnz.imageMode(CENTER),lnz.colorMode(HSL),lnz.strokeJoin(ROUND),bas.colorMode(HSL),bas.strokeJoin(ROUND),msk.colorMode(HSL),msk.strokeJoin(ROUND),mlt.colorMode(HSL),mlt.strokeJoin(ROUND),mlt.rectMode(CENTER),bgc=clrs[dcP[17]%clrs.length],bgCol=color(bgc.h,bgc.s,bgc.l),background(bgCol),noFill(),stroke(bgCol),translate(ww/2,wh/2);let e=1.5*myr/200;strokeWeight(.55*e);for(let t=0;t<200;t++){stroke(0,t/250),circle(0,0,t*e)}}function draw(){translate(ww/2,wh/2),imageMode(CENTER),bas.push(),bas.translate(ww/2,wh/2),bas.imageMode(CENTER);let e=frameCount<1200?frameCount:1200,t=frameCount<e?.08:.08-(frameCount-e)/1200;bgCol.setAlpha(t/10),bas.background(bgCol),bgCol.setAlpha(t),lnz.background(bgCol),2==wgl&&shCnvs.background(bgCol),msk.push(),msk.background(20),msk.translate(ww/2,wh/2),msk.imageMode(CENTER),mlt.push(),mlt.background(0),mlt.translate(ww/2,wh/2),mlt.imageMode(CENTER);for(let t=0;t<e;t++){let r=PHI*PI*2*t+(dcP[5]/128-1)*frameCount/2e3,n=myr/(1e6+5*frameCount)-myr/200+lerp(e*myr/(800+4*t),0,easeInQuad(t/e)),s=n*cos(r),a=n*sin(r),o=frameCount*(cos(PI*cNDr/180)*cNSp*.001),l=frameCount*(sin(PI*cNDr/180)*cNSp*.001),i=noise(s/cNSz-o,a/cNSz+l)*cNRg,c=noise(46*s/cNSz-o/2,46*a/cNSz+l/2)*cNRg*1.6,m=n/myr<.5?8-8*easeOutExpo(n/myr):0,h=noise(s/80+.01*frameCount*pSzSp,a/80+.01*frameCount*pSzSp)*m**1.05*pSzRg,u=myr/1024+myr/8*(n/myr)*(1+n**1.2/myr)*(.8+h);msk.push(),msk.translate(s,a),msk.rotate(r),msk.strokeWeight(myr/60*(n/myr)),msk.stroke(100,.5),msk.fill(255),drawMask(.006*u,leaf,n/myr),msk.pop(),mlt.push(),mlt.blendMode(BLEND),mlt.translate(s,a),mlt.rotate(r+.05);let g,d,p,w,f,b=(frameCount/60+int(n/2)+90*i+90*sin(r-frameCount/270))%360;mlt.strokeWeight(myr/32*easeInQuad(n/myr)*i),mlt.stroke(b,100,20+40*h,.5),mlt.fill(0),drawLip(.006*u,leaf,n/myr),mlt.rotate(-.1),mlt.translate(myr/600,i*myr/800),mlt.fill(0,.1),mlt.blendMode(SCREEN),drawLip(.006*u,leaf,n/myr),mlt.rotate(.05),mlt.stroke(b,50,60+50*h,.7),mlt.strokeWeight(myr/64*easeInQuad(n/myr)*i),mlt.translate(i*myr/900,-myr/1200),drawLip(.0059*u,leaf,n/myr),mlt.blendMode(BLEND),mlt.stroke(0),mlt.strokeWeight(i*(myr/30)*easeInQuad(n/myr)),mlt.rotate(h/10-.08),mlt.translate(-myr/400,i*myr/800),drawLip(.0062*u,leaf,n/myr),mlt.pop(),bas.push(),bas.translate(s,a),bas.rotate(r),bas.noStroke();let v=30*cos(r-PI/4)*(n/myr),C=15*cos(r-PI/4)*(1-n/(.5*myr))+5*i-10;if("Spiral"==clrOrd)w=clrs[t%clrs.length],g=w.h,d=w.s+v,p=w.l+C,f=color(g,d,p);else{let e=40*n/myr-frameCount/60%clrs.length-fl(40*n/myr-frameCount/60%clrs.length),t=clrs.length-fl(40*n/myr-frameCount/60%clrs.length)%clrs.length-1;t=t>=clrs.length?t-clrs.length:t,w=clrs[t];let r=t<clrs.length-1?clrs[t+1]:clrs[0];g=w.h,d=w.s+v,p=w.l+C,f=color(g,d,p);let s=color(r.h,r.s+v,r.l+C);e<.2&&e>0&&(bas.colorMode(RGB),f=bas.lerpColor(s,f,5*e),bas.colorMode(HSL))}bas.fill(f),bas.stroke(g,d,.95*p,.2),bas.strokeWeight(myr/120*(n/myr)),drawPetal(.006*u,leaf,n/myr),bas.noFill(),bas.stroke(g,d,.9*p,.2),bas.strokeWeight(myr/240*(n/myr)),drawPetal(.006*u,leaf,n/myr),bas.pop(),lnz.push(),lnz.translate(s,a),lnz.rotate(r);let y=(frameCount/60+int(n/2)+90*i+90*sin(r-frameCount/270))%360,S=65*easeInOutCubic(cos(2*r+noise(frameCount/480)*PI*4)/2+.2)*(1-n/(.5*myr))+3*easeOutCubic(c);bgc.l>45?lnz.fill(y,50+v,.4*S):lnz.fill(0),lnz.strokeWeight(myr/900+n/20),lnz.stroke(y,50+v,S,.3),drawGlow(.005*u,leaf,n/myr),lnz.noFill(),lnz.strokeWeight(myr/2100+n/40),lnz.stroke(y,50+v,S,.3),drawGlow(.005*u,leaf,n/myr),lnz.strokeWeight(myr/4800+n/120),lnz.stroke(y,50+v,S,.3),drawGlow(.005*u,leaf,n/myr),lnz.pop()}2==wgl&&(shCnvs.shader(shdr),shdr.setUniform("iResolution",[width,height]),shdr.setUniform("iPixelDensity",pixelDensity()),shdr.setUniform("iCanvas",lnz),shdr.setUniform("iBas",bas),shdr.setUniform("iMask",msk),shdr.setUniform("iGlow",mlt),shdr.setUniform("iRadius",16),shdr.setUniform("iSigma",4),shdr.setUniform("iTime",.1*frameCount),shCnvs.rect(0,0,width,height)),bas.pop(),msk.pop(),mlt.pop(),blendMode(BLEND),bgc.l,bas.blendMode(SCREEN),image(bas,0,0),bas.blendMode(BLEND),2==wgl?(blendMode(OVERLAY),image(shCnvs,0,0,width,height)):image(bas,0,0,width,height),blendMode(BLEND)}function drawPetal(e,t,r){let n=lerp(t.bct,t.mct,r);bas.curveTightness(n),bas.rotate(PI/2),bas.beginShape();for(let n=1;n<t.hja.length;n++){let s=lerp(t.pts[n].x,t.hja[n].x,r),a=lerp(t.pts[n].y,t.hja[n].y,r);bas.curveVertex(s*e,a*e)}bas.endShape(CLOSE),bas.rotate(-PI/2)}function drawMask(e,t,r){let n=lerp(t.bct,t.mct,r);msk.curveTightness(n),msk.rotate(PI/2),msk.beginShape();for(let n=1;n<t.hja.length;n++){let s=lerp(t.pts[n].x,t.hja[n].x,r),a=lerp(t.pts[n].y,t.hja[n].y,r);msk.curveVertex(s*e,a*e)}msk.endShape(CLOSE),msk.rotate(-PI/2)}function drawLip(e,t,r){let n=lerp(t.bct,t.mct,r);mlt.curveTightness(n),mlt.rotate(PI/2),mlt.beginShape();for(let n=1;n<t.hja.length;n++){let s=lerp(t.pts[n].x,t.hja[n].x,r),a=lerp(t.pts[n].y,t.hja[n].y,r);mlt.curveVertex(s*e,a*e)}mlt.endShape(CLOSE),mlt.rotate(-PI/2)}function drawGlow(e,t,r){let n=lerp(t.bct,t.mct,r);lnz.curveTightness(n),lnz.rotate(PI/2),lnz.beginShape();for(let n=1;n<t.hja.length;n++){let s=lerp(t.pts[n].x,t.hja[n].x,r),a=lerp(t.pts[n].y,t.hja[n].y,r);lnz.curveVertex(s*e,a*e)}lnz.endShape(CLOSE),lnz.rotate(-PI/2)}function hsbPal(e){let t=[];for(c of e){let e=toHSL(c);t.push(e)}return t}function toHSL(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e),r=parseInt(t[1],16),n=parseInt(t[2],16),s=parseInt(t[3],16);r/=255,n/=255,s/=255;let a,o,l=Math.max(r,n,s),i=Math.min(r,n,s),c=(l+i)/2;if(l==i)a=o=0;else{let e=l-i;switch(o=c>.5?e/(2-l-i):e/(l+i),l){case r:a=(n-s)/e+(n<s?6:0);break;case n:a=(s-r)/e+2;break;case s:a=(r-n)/e+4;break}a/=6}return a=Math.round(360*a),o=Math.round(100*o),c=Math.round(100*c),{h:a,s:o,l:c}}function mouseClicked(){}function touchEnded(){}keyPressed=()=>{"s"===key&&save(tokenData.hash+"-"+frameCount),"p"===key&&noLoop()};
let swatches=[{colors:["66ff6d","3add3a","2ebc2e","1ea51e","129112","087c08","006d00","005400","d9ff39","c9e525","b9c91f","a6ad17","9b9b10","898506","726c01","5b5400","9cffec","5ae5c0","48cca6","39b790","2ba079","208c65","136d48","055635"]},{colors:["cf69ff","22d3c6","8d41c4","22d3c6","5f2999","22d3c6","37156d","22d3c6","180644","22d3c6","180644","22d3c6","37156d","22d3c6","5f2999","22d3c6","8d41c4","22d3c6"]},{colors:["bbff00","45b4ff","bbff00","45b4ff","bbff00","45b4ff","bbff00","45b4ff","6cff8b","4638fc","6cff8b","4638fc","6cff8b","4638fc","6cff8b","4638fc","4affe9","158918","4affe9","158918","4affe9","158918","4affe9","158918"]},{colors:["8abfff","005e00","229bff","5e9e1b","0b6fff","65d800","0b6fff","cbed00","229bff","ffce00","5caeff","d88500","8abfff","776b00","d2e9ff","3b4900","e0e0e0","353535","e0e0e0","353535","e0e0e0","353535","e0e0e0","353535","a3a3a3","515151","a3a3a3","515151","a3a3a3","515151","a3a3a3","515151"]},{colors:["f4ff0d","005e00","f4ff0d","5e9e1b","f4ff0d","65d800","f4ff0d","cbed00","f4ff0d","ffce00","f4ff0d","d88500","f4ff0d","776b00","f4ff0d","3b4900"]},{colors:["0e033c","3bbb06","0e0942","60c902","090948","85d603","090e4e","ace405","091354","d1f106","09185a","faff08","091e5f","fbf10e","092465","f7e214","092c6b","f4d318","093571","f0c90c","093d77","ecbe00","09447d","ebb202","094c83","e9a303","095489","e89705","095b8f","e68906","096494","ff8508","096c9a","ff7d07","0975a0","ff7506","097ca6","ff6b04","0984ac","ff6303","098cb2","ff5602","098cb2","ff6303","0984ac","ff6b04","097ca6","ff7506","0975a0","ff7d07","096c9a","ff8508","096494","e68906","095b8f","e89705","095489","e9a303","094c83","ebb202","09447d","ecbe00","093d77","f0c90c","093571","f4d318","092c6b","f7e214","092465","fbf10e","091e5f","faff08","09185a","d1f106","091354","ace405","090e4e","85d603","090948","60c902","0e0942","3bbb06"]},{colors:["c4d3f5","b9b4f8","af95fc","a476ff","f55757","f2768a","f096bd","edb5f0","18bc62","279d4d","367d37","455e22","887f4b","9a9434","adaa1d","bfbf06"]},{colors:["00f3ff","03efef","05e2dc","05d8cd","06ccbe","06bfad","05af9a","05a089","05937b","04876e","03755f","046351","064c3f","053a30","042821","000000","fff200","efdd06","e2cc03","ceb605","bfa404","ad9104","9e8004","8e7303","776105","665304","544504","443703","382e04","282102","191502","000000","ff5ae8","ef56e1","e256dc","d353d3","c14ec4","ac47b2","9c41a3","8a3d93","723b7a","5a3866","51325b","3c2542","2f1d33","251728","100a11","000000"]},{colors:["ff9d00","f29003","e28305","d37505","c66a05","b75e06","a35005","934606","843c06","723105","632b04","512303","3f1b02","331602","160901","000000","00ff42","03f43b","05e530","07d629","05c91c","06b712","04a808","049904","048904","047a04","056b05","045904","034703","033303","021902","000000","c35cff","b45bf4","a558e8","9857dd","8b54d1","7f53c4","724fb7","684dad","5b48a0","514493","464087","3c3b7a","323263","232344","141426","000000"]},{colors:["2e3dff","4143cc","534899","664e66","785333","8b5900","a25a33","b95b66","d15c98","e85dcb","ff5efe","f564f9","eb6bf4","e071f0","d678eb","cc7ee6","999ece","66bfb6","33df9e","00ff86","33df9e","66bfb6","999ece","cc7ee6","d678eb","e071f0","eb6bf4","f564f9","ff5efe","e85dcb","d15c98","b95b66","a25a33","8b5900","785333","664e66","534899","4143cc"]},{colors:["3bfffa","ffff00","3bfffa","00d88a","006b56","00d88a"]},{colors:["96ea03","ffff00","96ea03","00a804","0065c1","00a804","96ea03","ffff00","96ea03","00a804","0065c1","00a804","8ac110","dbd50e","8ac110","168916","09558e","168916","66891a","999504","66891a","1f5b1f","02375e","1f5b1f","66891a","999504","66891a","168916","09558e","168916","8ac110","dbd50e","8ac110","00a804","0065c1","00a804","96ea03","ffff00","96ea03","00a804","0065c1","00a804","96ea03","ffff00","96ea03"]},{colors:["00a804","0065c1","00a804","96ea03","ffff00","96ea03"]},{colors:["3bfffa","ffff00","3bfffa","00d88a","006b56","00d88a","3bfffa","ffff00","3bfffa","00d88a","006b56","00d88a","3bfffa","ffff00","3bfffa","00d88a","006b56","00d88a","ffff2e","50ff69","ffff2e","ffba1f","ff603b","ffba1f","ddd82c","47e25a","ddd82c","ce921b","e05338","ce921b","bfbb25","39bc48","bfbb25","aa7918","ad402a","aa7918","25afa8","a09c08","25afa8","049e63","01473a","049e63","2fd1c9","cec809","2fd1c9","04bc75","015646","04bc75","3bfffa","ffff2e","3bfffa","00d88a","006b56","00d88a","ffff2e","50ff69","ffff2e","ffba1f","ff603b","ffba1f","ffff2e","50ff69","ffff2e","ffba1f","ff603b","ffba1f","ffff00","50ff69","ffff2e","ffba1f","ff603b","ffba1f"]},{colors:["a6ffa4","ffc878","e0b8ff","ffff9f","048e00","b56700","7226bc","999500","a6ffa4","ffc878","e0b8ff","ffff9f","048e00","b56700","7226bc","999500"]},{colors:["f761ff","b80ac1","760c7c","000000","ff6c00","c16623","833700","000000","ffb500","c1972f","835d00","000000","deff5c","a8c145","78834d","000000","3efd51","00c013","00830d","000000","31eea8","00b673","007e4f","000000","355cf6","3f58bb","1b3080","000000","d8d8d8","aaaaaa","5e5e5e","000000","d8d8d8","aaaaaa","5e5e5e","000000","d8d8d8","aaaaaa","5e5e5e","000000","d8d8d8","aaaaaa","5e5e5e","000000","d8d8d8","aaaaaa","5e5e5e","000000","d8d8d8","aaaaaa","5e5e5e","000000"]},{colors:["fffb76","ffd6a1","ffb9ab","d69cff","a1a1ff","62d362","827b00","914c00","8e0000","710089","00139e","002600"]},{colors:["413248","31224c","221251","100055","0b0f5f","061f69","003073","003c68","00475e","005053","006142","00752f","5b7d08","8e7e00","9e8416","ad892c","bd8e44","bd7c4e","bd6a58","bd5862","b2517f","a64999","a446bd","8b43a0","733f82","593a65"]},{colors:["96ea03","ffff00","96ea03","00a804","0065c1","00a804","96ea03","ffff00","96ea03","00a804","0065c1","00a804","96ea03","ffff00","96ea03","00a804","0065c1","00a804","141414","e2e2e2","141414","cecece","141414","afafaf","141414","999999","141414","7f7f7f","141414","666666","141414","515151","141414","666666","141414","7f7f7f","141414","999999","141414","cecece","141414","ededed"]},{colors:["46004e","430077","764067","bb4444","ff6c41","d67534","ae752a","9a6e0f","97832e","69952c","079261","69952c","97832e","9a6e0f","ae752a","d67534","ff6c41","bb4444","764067","430077"]},{colors:["7af464","51d498","29b4cb","0094ff","0075e0","00508b","000000","00508b","0075e0","0094ff","29b4cb","51d498","7af464","51d498","29b4cb","0094ff","0075e0","00508b","000000","00508b","0075e0","0094ff","29b4cb","51d498"]},{colors:["f272fc","ae8ff9","78a7f9","5abcf9","67dbdb","69f4a2","ccff7b","fffdb3","ffe783","fcc665","f99d5f","f98a8a"]},{colors:["93f706","00db63","00bdc6","129aff","3976ff","8648ff","de00ea","ff2c2c","ff790b","ffae0b","ffdc0d","ffff08","9be732","27cb71","21aeb5","288eda","3f6dd3","6f41ca","bb14c3","da3c3c","e07b29","e6a92f","edd237","eeee35","a4d65e","4dbb7f","41a0a4","3f83b5","4563a8","593a95","97289d","b54c4c","c17e46","cda452","dac961","dede62","adc689","73aa8c","629193","557790","4a5a7c","423260","743c77","905b5b","a18064","b39f76","c8bf8b","cdcd8f","b5b5b5","9a9a9a","828282","6b6b6b","505050","2b2b2b","505050","6b6b6b","828282","9a9a9a","b5b5b5","bcbcbc","adc689","73aa8c","629193","557790","4a5a7c","423260","743c77","905b5b","a18064","b39f76","c8bf8b","cdcd8f","a4d65e","4dbb7f","41a0a4","3f83b5","4563a8","593a95","97289d","b54c4c","c17e46","cda452","dac961","dede62","9be732","27cb71","21aeb5","288eda","3f6dd3","6f41ca","bb14c3","da3c3c","e07b29","e6a92f","edd237","eeee35"]},{colors:["ffff08","bfbf06","808004","404002","000000","ffdc0d","cab015","95841c","605724","2b2b2b","ffae0b","d2951b","a67d2c","79653c","4c4c4c","ff790b","db7624","b6733c","927055","6d6d6d","ff2c2c","d23434","a63c3c","794444","4c4c4c","de00ea","b10bba","85168b","58205b","2b2b2b","8648ff","6536bf","432480","221240","000000","3976ff","3663ca","325195","2f3e60","2b2b2b","129aff","2186d2","2f73a6","3d6079","4c4c4c","00bdc6","1ba9b0","37959a","528183","6d6d6d","00db63","13b75d","269358","397052","4c4c4c","93f706","79c40f","5f9119","455e22","2b2b2b"]},{colors:["ffff08","bfbf06","808004","404002","000000","ffdc0d","d7bd22","b09e37","887f4b","606060","ffae0b","e2a52b","c59d4c","a8946c","8b8b8c","ff790b","ec8735","d9955e","c5a488","b2b2b2","ff2c2c","f55757","eb8181","e0abab","d6d6d6","de00ea","e33dec","e879ee","edb5f0","f2f2f2","8648ff","a476ff","c3a3ff","e1d1ff","ffffff","3976ff","6795fc","96b4f9","c4d3f5","f2f2f2","129aff","43a9f5","74b8eb","a5c7e0","d6d6d6","00bdc6","28b5bc","4faeb2","77a6a8","9e9e9e","00db63","18bc62","309e62","487f61","606060","93f706","79c40f","5f9119","455e22","2b2b2b"]},{colors:["6904aa","a366f2","4564ff","00b3dd","699319","91e205","a29f36","ffff2c","a84f25","ffa300","8e230a","ff4310"]},{colors:["e48100","f9491b","f91b7d","d600c8","a000c0","5600d5","0043f1","0079f4","008bf6","00aff8","3acddd","38e0cf","000000","3dea6a","000000","3dea6a","000000","3dea6a","000000","3dea6a","000000","3dea6a","000000","3dea6a","8df900","f9e800","f2c600","eba300"]},{colors:["f761ff","ff6c00","ffb500","cfff5c","31eea8","355cf6","eba1f1","e59c67","dab65d","b8d181","5fbf9d","586cba","dedede","c4c4c4","ababab","919191","787878","5e5e5e","eba1f1","e59c67","dab65d","b8d181","5fbf9d","586cba"]},{colors:["0038ad","4d64c1","9494d1","d0b5dd","ffb8e5","0038ad","3f5aca","767bdc","b3a5ee","d6b3ff","0038ad","306bc8","5a95da","80bceb","a1efff","0038ad","3772c1","69a7d2","92e7cd","c1ffb6","0038ad","457fb7","86d0a4","e7e2b7","ffe9b6","0038ad","4e76b7","9fc9ca","d8cebe","ffd3b3"]},{colors:["8d3400","a16a40","b59e80","c9c5a4","eaffb8","8d3400","aa6835","c69b6a","e3cc9e","fff0b3","8d3400","a85428","c37551","df9579","ffb1a1","8d3400","a1542e","b6735b","d9898c","ffb6f8","8d3400","975539","b37386","b1acd9","b6ccff","8d3400","975e40","a38480","a9b7c0","b3fff4"]},{colors:["deb3ff","c0a9bf","a3a080","859740","678d00","ffb6e5","d9acac","b3a273","8d9739","678d00","ffdeb6","d9ca89","b3b65b","8da12e","678d00","fffaa1","d9df79","b3c351","8da828","678d00","b3ffd3","a0e39e","8dc66a","7aaa35","678d00","b8ddff","a4c9bf","90b580","7ba140","678d00"]},{colors:["9f1ac1","9fffc1","c11b30","9fffc1","c14a08","9fffc1","c18308","9fffc1","c19f4c","9fffc1","bac14e","9fffc1","0fbe08","9fffc1","2e4fb4","9fffc1"]},{colors:["007732","226576","4453bb","6641ff","772bd6","8916ae","9a0085","972559","95492c","926e00","658e55","37adaa","0acdff","08b8cc","05a299","038d65"]},{colors:["fffb76","eae662","d5d04f","c1bb3b","aca627","979014","827b00","ffd6a1","edbf86","daa86b","c89151","b67a36","a3631b","914c00","ffb9ab","ec9a8e","d97b72","c75d56","b43e39","a11f1d","8e0000","d69cff","c582eb","b468d8","a34ec4","9334b0","821a9d","710089","a1a1ff","8689ef","6b72df","515acf","3642be","1b2bae","00139e","62d362","52b652","419941","317d31","216021","104310","002600"]},{colors:["5b1088","84106c","ad104f","d61033","ff1016","ff7398","ffadfe","fffe9d","e3d169","c7a434","ab7700","8b6d00","6a6300","4a5800","2a4e00","204a8a","446c68","688d45","8baf23","91e02f","72ef5f","54ff8e","69d2ff","698cff","6900ff","6946ff","4600aa","000000"]},{colors:["ccd4d2","a5bba5","87a79e","6b999f","56639d","60488d","562068","000000","5b3482","893b72","9d4f5f","b17652","cb9c44","cdb960","a9da46","b6e66e","c5f394","d2ffb9","ceefbf","cbe1c5","ccd4d2"]},{colors:["bbff15","fcfc03","ffcc29","ff8517","ff0000","b900d3","6f00ff","0000e0","003d03","0d1900","14a000","28ed18","fcfc03","28ed18","14a000","0d1900","14a000","28ed18","bbff15"]},{colors:["ba9393","d6a478","dddb8e","97c6a1","8898bf","927e9e"]},{colors:["9eb79e","8aa8a7","728c8b","577382","50537f","4d3568","401542","632b04","7f4040","9b6f48","bfa051","b1c97b","aaaaaa","828282","6b6b6b","4f4f4f","2d2d2d","000000","2d2d2d","4f4f4f","6b6b6b","828282","aaaaaa","cecece"]},{colors:["ff9d00","595959","494949","3d3d3d","303030","282828","111111","000000","00ff42","595959","494949","3d3d3d","303030","282828","111111","000000","c35cff","595959","494949","3d3d3d","303030","282828","111111","000000"]},{colors:["70e9f9","007c17","faff17","ff440b","5cff6f","f91cf4"]},{colors:["ffa6fd","3d9b53","f6ff80","ff2266","75a5fc","821afc"]},{colors:["a6ffa4","ffc878","e0b8ff","ffff9f","048e00","b56700","7226bc","999500","a6ffa4","ffc878","e0b8ff","ffff9f","048e00","b56700","7226bc","999500"]},{colors:["171717","363636","636363","7d7d7d","949494","b0b0b0","cccccc","e6e6e6","fff6ab","e3d169","c7a434","ab7700","e4100b","ff4574","fe7fe8","ffbffe","e6e6e6","cccccc","b0b0b0","949494","7d7d7d","636363","363636","171717","363636","636363","7d7d7d","949494","b0b0b0","cccccc","e6e6e6","a1a3ff","7d6de2","3c278b","0c1746","4e5300","68972f","45d05f","54ff86","e6e6e6","cccccc","b0b0b0","949494","7d7d7d","636363","363636"]},{colors:["ffff64","ea7103","ff83ff","1764e0","76ff89","ffc91f","20dbef","59037c","ff22b0","ffc610","016b06","ffcba4","ff0068","e8bbff","ff6b3e","ffff64","5bba00","ff83ff","ffc610","ff1a1a","20dbef","59037c","ff83ff","2626f9","ffe70b","0cbf10","374c82","374c82","eac5db","dbaf7f","9e9c5a","638463","434d7a","350074","d5d8c0","9ab79c","75999b","666b9e","513768","51001d","afcfdd","8faf80","93895c","8c6464","594263","1e194c","ffedd7","dccde8","91b5c9","899962","776b37","7c3200","e5dfea","d8b2d7","b2a360","6ca89d","486972","004e43","e1ffef","d4bfe8","8899b5","9e886f","4a5e43","472128","fffed4","d9ccea","9bc68b","a5889b","727246","23386d","b7e5a8","d8a7c2","ba9c78","5c8989","6b6143","422456","bccece","aaa97d","678c5d","896478","544734","292f4c"]},{colors:["002102","281dff","00aab2","47ff33","ffff55","ff5555","ffff55","47ff33","00aab2","281dff"]},{colors:["c5e3ff","8fe7ff","00e2ed","02c6a1","02a06f","067200","02a06f","02c6a1","00e2ed","8fe7ff","c5e3ff","e6eaff"]},{colors:["a0e0ad","7fbf94","69a482","53896f","376352","21443d","376352","53896f","69a482","7fbf94","a0e0ad","baf7c3"]},{colors:["000000","1c3312","2e531f","41752b","4e9830","66ba44","7add52","7fe755"]},{colors:["00ff18","17dd24","20bc24","2ea02e","367f36","2d5e2d","254425","1d301d","101910","000000","101910","1d301d","254425","2d5e2d","367f36","2ea02e","20bc24","17dd24"]},{colors:["0ff20f","00bc00","008e00","016801","004c00","002800","004c00","016801","008e00","00bc00","0ff20f","a4ffa4"]},{colors:["29f5ff","00c8dd","00a6b7","00878e","006070","003c4c","006070","00878e","00a6b7","00c8dd","29f5ff","8fffff"]},{colors:["9dad95","8b9981","738466","5e6d50","404c34","2b3322","404c34","5e6d50","738466","8b9981","9dad95","b6bfb2"]},{colors:["9dad95","8b9981","738466","5e6d50","404c34","2b3322","404c34","5e6d50","738466","8b9981","9dad95","b6bfb2","f4e4b0","edd383","e8c76b","dbb153","c99735","ba851c","c99735","dbb153","e8c76b","edd383","f4e4b0","f9edcf"]},{colors:["bab050","968e2d","7c771a","5e5c0d","444406","252605","444406","5e5c0d","7c771a","968e2d","bab050","d8cc77"]},{colors:["9e7d7d","896262","704343","563131","3f2222","0f0606","3f2222","563131","704343","896262","9e7d7d","bca2a2"]},{colors:["fffa43","efe800","dbd500","c6bc00","a59d00","898900","a59d00","c6bc00","dbd500","efe800","fffa43","fffaa4"]},{colors:["eb87b7","c47098","9d5a7a","76445c","4e2d3d","76445c","9d5a7a","c47098","9d5a7a","76445c","9d5a7a","c47098","91ad2d","aed036","91ad2d","748b24","57681b","3a4512","57681b","748b24","91ad2d","748b24","57681b","748b24","a8780e","d29611","fcb415","d29611","a8780e","7e5a0b","543c07","7e5a0b","a8780e","d29611","a8780e","7e5a0b","7c7735","a59f46","cfc657","f8ee69","cfc657","a59f46","7c7735","534f23","7c7735","a59f46","cfc657","a59f46","378493","2a636f","378493","45a5b8","53c6dd","45a5b8","378493","2a636f","1c424a","2a636f","378493","45a5b8"]},{colors:["2e2e59","6c40f4","c240ff","ff57ff","2e2e59","6c40f4","c240ff","ff57ff"]},{colors:["002d01","005e00","408200","79a500","b2c400","dde800","002d01","005e00","408200","79a500","b2c400","dde800","002d01","005e00","408200","79a500","b2c400","dde800","002d01","005e00","408200","79a500","b2c400","dde800"]},{colors:["277af4","3b78d1","4b74af","556b8c","4f5a6a","3d4147","232425","020202","277af4","3b78d1","4b74af","556b8c","4f5a6a","3d4147","232425","020202","277af4","3b78d1","4b74af","556b8c","4f5a6a","3d4147","232425","020202"]},{colors:["0e2d13","2a3921","564b2a","a98323","b8a949","c0c842","184c21","435435","756639","c89c2a","d7c655","dee74c","20642c","576c44","8d7b45","e0af2f","efdc5f","f5ff54","287d37","6c8554","a69151","e9b631","f4e061","f5ff54","329c45","86a468","c5ac60","f1bc33","f8e463","f5ff54","38af4e","96b774","d8bd69","efd220","fbe764","f5ff54","000000","3f3f3f","595959","7c7c7c","a5a5a5","c6c6c6","e5e5e5","f4f4f4","000000","303030","4c4c4c","727272","a5a5a5","d8d8d8","f4f4f4","000000","383838","606060","939393","cecece","f4f4f4","000000","3f3f3f","777777","c1c1c1","f4f4f4"]},{colors:["bcffb1","5f815a","020202","bcffb1","7eab77","40563c","020202","bcffb1","8ec085","5f815a","31412e","020202","bcffb1","97cc8e","729a6b","4c6748","273525","020202","bcffb1","9dd594","7eab77","5f815a","40563c","212c1f","020202","bcffb1","a1db98","87b77f","6c9366","526e4d","374a34","1d261b","020202","bcffb1","a5df9b","8ec085","76a06f","5f815a","486144","31412e","192218","020202"]},{colors:["2d145a","2d205a","2d2d5a","2d395a","2d465a","2d525a","2d5e5a","2d6b5a","2d775a","2d835a","2d905a","2d9c5a","2da95a","2db55a","3bbb57","4ac053","58c650","67cc4c","75d149","83d746","92dd42","a0e33f","aee83c","bdee38","cbf435","daf931","e8ff2e"]},{colors:["0572dd","fcbd83","fc4c62","a4f236","0061d6","ffb56c","ff3140","8ce815","0061d6","ffb56c","ff3140","8ce815","0457aa","d89456","db283d","7dc614","0457aa","d89456","db283d","7dc614","024c96","b57740","b22234","65a010","024c96","b57740","b22234","65a010","0457aa","d89456","db283d","7dc614","0457aa","d89456","db283d","7dc614","0061d6","ffb56c","ff3140","8ce815","0061d6","ffb56c","ff3140","8ce815","0572dd","fcbd83","fc4c62","a4f236"]},{colors:["efefef","e0b8ff","a6ffa4","d2d2d2","e0b8ff","a6ffa4","b2b2b2","e0b8ff","a6ffa4","959595","e0b8ff","a6ffa4","828282","e0b8ff","a6ffa4","959595","e0b8ff","a6ffa4","b2b2b2","e0b8ff","a6ffa4","d2d2d2","e0b8ff","a6ffa4"]},{colors:["002d01","005e00","408200","5e9e1b","60b70d","65d800","95ea00","cbed00","fff200","ffce00","ffa300","d88500","b26900","776b00","575e00","3b4900"]},{colors:["fff1ab","ffcb8d","ff952c","ff7900","ff952c","ffcb8d","f2ffde","c2ccff","557aff","00668e","00a6ef","7dcaff","d9ecff","6fff5f","15d800","148900","15d800","6fff5f","d5ff6e","eade00","a5a500","707000","a5a500","eade00"]},{colors:["4f0e0d","771514","9e1c1b","c52321","ed2a28","244344","366566","488687","5aa7a9","6cc9cb","51270b","793a11","a14d16","ca611b","f27421","483e48","6c5d6d","907c91","b49bb5","d8bad9","053518","085025","0a6b31","0c853d","0fa049","524e10","7b7619","a49d21","cdc429","f6eb31","171f38","222e55","2d3d71","2d3d71","394d8d","445ca9","4e2d3d","76445c","9d5a7a","c47098","eb87b7","3a4512","57681b","748b24","91ad2d","aed036","543c07","7e5a0b","a8780e","d29611","fcb415","4f0823","760c35","9d1047","c51458","ec186a","534f23","7c7735","a59f46","cfc657","f8ee69","1c424a","2a636f","378493","45a5b8","53c6dd"]},{colors:["31e7ff","2ccde3","26b4c6","219aaa","1b808e","166771","104d55","ff7712","e36a10","c65d0e","aa4f0c","8e420a","713508","552806","f9ff00","dde300","c2c600","a6aa00","8a8e00","6f7100","535500","373900","d80ae8","c009ce","a808b4","90079b","780681","600467","48034d","9cff33","8be32d","79c628","68aa22","578e1c","457117","345511","23390b","0f52e8","0d49ce","0c40b4","0a379b","082e81","072467","051b4d","ff877b","e3786d","c66960","aa5a52","8e4b44","713c37","552d29","391e1b","1ddd1d","1ac41a","17ac17","139313","107b10","0d620d","0a4a0a","063106","ff57eb","e34dd1","c644b7","aa3a9d","8e3083","712768","551d4e","391334","6a18ea","5e15d0","5213b6","47109c","3b0d82","2f0b68","23084e","180534"]},{colors:["000000","66320a","853b0b","a8460d","c94d10","e86112","ff8c5e","ffd3b5","000000","355707","25b84f","4ef581","6fff9b","9dffaf","c1ffd4","e4ffec","000000","4a4006","6e5d09","947b0c","bc9b0f","e3be20","ffdf56","fff3c1","000000","000040","3b1975","4c0fb6","6613f1","9456ff","b487ff","ccaeff","000000","193104","4a860b","82bc10","99dd19","acec70","daffb1","f3ffd3","000000","350000","5c072d","940c5a","c61077","e8129a","ff3fc4","ffa0ec","000000","0a417b","0e68b2","24b7ff","79ebff","a8f9ff","cffeff","edfffd"]},{colors:["009907","ff69b8","ffce00","009907","ff69b8","ffce00"]},{colors:["0061d6","ffb56c","ff3140","8ce815"]},{colors:["e7ff00","d3dd17","c1c129","aaa733","938e3d","7c783e","605c39","494632","333127","1c1b18","050505","1c1b18","333127","494632","605c39","7c783e","938e3d","aaa733","c1c129","d3dd17"]},{colors:["ff542c","50bcf9","ffff00","ff542c","50bcf9","ffff00","ed4726","4ab0dd","f4ed03","ed4726","4ab0dd","f4ed03","dd482a","47aad6","e8e205","dd482a","47aad6","e8e205","aa3721","3f8daf","bcb704","aa3721","3f8daf","bcb704","772717","2f6f8c","848003","772717","2f6f8c","848003","aa3721","3f8daf","bcb704","aa3721","3f8daf","bcb704","dd482a","47aad6","e8e205","dd482a","47aad6","e8e205","ed4726","4ab0dd","f4ed03","ed4726","4ab0dd","f4ed03","ff542c","50bcf9","ffff00","ff542c","50bcf9","ffff00","ff6648","62cbf9","fffc92","ff6648","62cbf9","fffc92"]},{colors:["b28e47","663e14","b28e47","94c979","4a7c47","94c979"]},{colors:["6b6b6b","595959","494949","3d3d3d","303030","282828","111111","000000","0aa511","ffff17","00897c","00d800","caff4a","22a028","000000","111111","282828","303030","3d3d3d","494949","595959","6b6b6b","7c7c7c"]},{colors:["026689","ff71f5","ff3600","026689","ff71f5","ff3600","03556b","e266df","e22c03","03556b","e266df","e22c03","035568","d860d5","e02f05","035568","d860d5","e02f05","024759","bc55ba","c62905","024759","bc55ba","c62905","023a49","8e428c","911e03","023a49","8e428c","911e03","024759","bc55ba","c62905","024759","bc55ba","c62905","035568","d860d5","e02f05","035568","d860d5","e02f05","03556b","e266df","e22c03","03556b","e266df","e22c03","026689","ff71f5","ff3600","026689","ff71f5","ff3600","067593","ff8dfc","fc5029","067593","ff8dfc","fc5029"]},{colors:["eca52b","d4a54a","c89c53","b59a63","90a09f","6da7b1","54a8db","43a9f5","54a8db","6da7b1","90a09f","b59a63","c89c53","d4a54a"]},{colors:["a03eff","3194ff","00d100"]}];
let leaves=[{pts:[{x:0,y:0},{x:0,y:0},{x:-30,y:-6},{x:-60,y:-30},{x:-48,y:-60},{x:-36,y:-52},{x:-12,y:-108},{x:12,y:-108},{x:36,y:-52},{x:48,y:-60},{x:60,y:-30},{x:30,y:-6}],hja:[{x:0,y:0},{x:0,y:0},{x:-30,y:6},{x:-90,y:-30},{x:-180,y:-210},{x:-36,y:-132},{x:-18,y:-228},{x:18,y:-228},{x:36,y:-132},{x:180,y:-210},{x:90,y:-30},{x:30,y:6}],bct:1.6,mct:-.1},{pts:[{x:0,y:0},{x:0,y:0},{x:-30,y:-24},{x:-42,y:-66},{x:-12,y:-96},{x:0,y:-108},{x:12,y:-96},{x:42,y:-66},{x:30,y:-24}],hja:[{x:0,y:0},{x:0,y:0},{x:-84,y:-30},{x:-114,y:-108},{x:-72,y:-162},{x:0,y:-204},{x:72,y:-162},{x:114,y:-108},{x:84,y:-30}],bct:0,mct:0},{pts:[{x:0,y:0},{x:0,y:0},{x:-60,y:-30},{x:-30,y:-30},{x:-60,y:-60},{x:-30,y:-60},{x:-48,y:-102},{x:-18,y:-84},{x:-12,y:-120},{x:0,y:-96},{x:12,y:-120},{x:18,y:-84},{x:48,y:-102},{x:30,y:-60},{x:60,y:-60},{x:30,y:-30},{x:60,y:-30}],hja:[{x:0,y:0},{x:0,y:0},{x:-120,y:-42},{x:-78,y:-48},{x:-102,y:-96},{x:-72,y:-90},{x:-84,y:-150},{x:-42,y:-138},{x:-30,y:-204},{x:0,y:-162},{x:30,y:-204},{x:42,y:-138},{x:84,y:-150},{x:72,y:-90},{x:102,y:-96},{x:78,y:-48},{x:120,y:-42}],bct:0,mct:.9},{pts:[{x:0,y:0},{x:0,y:0},{x:-24,y:-12},{x:-48,y:-42},{x:-42,y:-72},{x:-24,y:-90},{x:0,y:-48},{x:24,y:-90},{x:42,y:-72},{x:48,y:-42},{x:24,y:-12}],hja:[{x:0,y:0},{x:0,y:0},{x:-66,y:-12},{x:-102,y:-54},{x:-108,y:-132},{x:-48,y:-162},{x:0,y:-210},{x:48,y:-162},{x:108,y:-132},{x:102,y:-54},{x:66,y:-12}],bct:0,mct:.3},{pts:[{x:0,y:0},{x:0,y:0},{x:-24,y:-60},{x:-60,y:-72},{x:-42,y:-78},{x:-42,y:-108},{x:-12,y:-84},{x:0,y:-108},{x:12,y:-84},{x:42,y:-108},{x:42,y:-78},{x:60,y:-72},{x:24,y:-60}],hja:[{x:0,y:0},{x:0,y:0},{x:-42,y:-42},{x:-120,y:-84},{x:-66,y:-102},{x:-66,y:-180},{x:-42,y:-204},{x:0,y:-150},{x:42,y:-204},{x:66,y:-180},{x:66,y:-102},{x:120,y:-84},{x:42,y:-42}],bct:0,mct:-.3},{pts:[{x:0,y:0},{x:0,y:0},{x:-60,y:-12},{x:-18,y:-36},{x:-42,y:-102},{x:0,y:-90},{x:42,y:-102},{x:18,y:-36},{x:60,y:-12}],hja:[{x:0,y:0},{x:0,y:0},{x:-114,y:-18},{x:-108,y:-102},{x:-78,y:-186},{x:0,y:-156},{x:78,y:-186},{x:108,y:-102},{x:114,y:-18}],bct:0,mct:0},{pts:[{x:0,y:0},{x:0,y:0},{x:-48,y:-6},{x:-30,y:-30},{x:-60,y:-90},{x:-24,y:-72},{x:-42,y:-120},{x:-18,y:-102},{x:-6,y:-114},{x:0,y:-78},{x:6,y:-114},{x:18,y:-102},{x:42,y:-120},{x:24,y:-72},{x:60,y:-90},{x:30,y:-30},{x:48,y:-6}],hja:[{x:0,y:0},{x:0,y:0},{x:-120,y:-12},{x:-96,y:-60},{x:-120,y:-180},{x:-96,y:-180},{x:-90,y:-240},{x:-30,y:-180},{x:-18,y:-228},{x:0,y:-174},{x:18,y:-228},{x:30,y:-180},{x:90,y:-240},{x:96,y:-180},{x:120,y:-180},{x:96,y:-60},{x:120,y:-12}],bct:0,mct:.8},{pts:[{x:0,y:0},{x:0,y:0},{x:-60,y:-90},{x:-30,y:-66},{x:-42,y:-108},{x:-18,y:-78},{x:-18,y:-120},{x:0,y:-54},{x:18,y:-120},{x:18,y:-78},{x:42,y:-108},{x:30,y:-66},{x:60,y:-90}],hja:[{x:0,y:0},{x:0,y:0},{x:-120,y:-150},{x:-78,y:-150},{x:-78,y:-234},{x:-42,y:-186},{x:-18,y:-240},{x:0,y:-210},{x:18,y:-240},{x:42,y:-186},{x:78,y:-234},{x:78,y:-150},{x:120,y:-150}],bct:0,mct:.9},{pts:[{x:0,y:0},{x:0,y:0},{x:-60,y:-18},{x:-36,y:-24},{x:-60,y:-60},{x:-30,y:-48},{x:-36,y:-96},{x:-12,y:-60},{x:0,y:-36},{x:12,y:-60},{x:36,y:-96},{x:30,y:-48},{x:60,y:-60},{x:36,y:-24},{x:60,y:-18}],hja:[{x:0,y:0},{x:0,y:0},{x:-120,y:-18},{x:-96,y:-54},{x:-108,y:-108},{x:-72,y:-114},{x:-60,y:-180},{x:-12,y:-102},{x:0,y:-114},{x:12,y:-102},{x:60,y:-180},{x:72,y:-114},{x:108,y:-108},{x:96,y:-54},{x:120,y:-18}],bct:0,mct:.2},{pts:[{x:0,y:0},{x:0,y:0},{x:-60,y:-120},{x:-30,y:-90},{x:-30,y:-108},{x:-18,y:-84},{x:-12,y:-102},{x:-6,y:-72},{x:0,y:-90},{x:6,y:-72},{x:12,y:-102},{x:18,y:-84},{x:30,y:-108},{x:30,y:-90},{x:60,y:-120}],hja:[{x:0,y:0},{x:0,y:0},{x:-120,y:-180},{x:-96,y:-216},{x:-66,y:-198},{x:-48,y:-222},{x:-30,y:-204},{x:-12,y:-222},{x:0,y:-180},{x:12,y:-222},{x:30,y:-204},{x:48,y:-222},{x:66,y:-198},{x:96,y:-216},{x:120,y:-180}],bct:.8,mct:.3},{pts:[{x:0,y:0},{x:0,y:0},{x:-48,y:-30},{x:-54,y:-54},{x:-48,y:-84},{x:-24,y:-114},{x:0,y:-120},{x:24,y:-114},{x:48,y:-84},{x:54,y:-54},{x:48,y:-30},{x:0,y:0}],hja:[{x:0,y:0},{x:0,y:0},{x:-96,y:-48},{x:-120,y:-132},{x:-90,y:-192},{x:-30,y:-234},{x:0,y:-240},{x:30,y:-234},{x:90,y:-192},{x:120,y:-132},{x:96,y:-48}],bct:0,mct:0},{pts:[{x:0,y:0},{x:0,y:0},{x:-30,y:-24},{x:-42,y:-60},{x:-18,y:-96},{x:0,y:-120},{x:18,y:-96},{x:42,y:-60},{x:30,y:-24}],hja:[{x:0,y:0},{x:0,y:0},{x:-78,y:-42},{x:-84,y:-132},{x:-42,y:-186},{x:0,y:-240},{x:42,y:-186},{x:84,y:-132},{x:78,y:-42}],bct:0,mct:.3},{pts:[{x:0,y:0},{x:0,y:0},{x:-30,y:-12},{x:-48,y:-30},{x:-54,y:-54},{x:-48,y:-72},{x:-30,y:-90},{x:-12,y:-102},{x:0,y:-108},{x:12,y:-102},{x:30,y:-90},{x:48,y:-72},{x:54,y:-54},{x:48,y:-30},{x:30,y:-12}],hja:[{x:0,y:0},{x:0,y:0},{x:-60,y:-6},{x:-96,y:-30},{x:-102,y:-66},{x:-84,y:-108},{x:-54,y:-144},{x:-24,y:-162},{x:0,y:-168},{x:24,y:-162},{x:54,y:-144},{x:84,y:-108},{x:102,y:-66},{x:96,y:-30},{x:60,y:-6}],bct:0,mct:0}];
The Fractal Bloom generative collection draws inspiration from sacred geometry, plant growth, and the shimmering brilliance of akoya pearls. Each shape unfurls into logarithmic spirals, mimicking blooming flowers, fractals, and patterns of the universe. Born from an infinite cycle, these colorful petals grow into bejeweled blooms vibrating with ethereal energy. Artwork and concept created by Jen Stark. Coding by Jorge Ledezma.
The Fractal Bloom collection draws inspiration from sacred geometry, plant growth, and the shimmering brilliance of akoya pearls. Each shape unfurls into logarithmic spirals, mimicking blooming flowers, fractals, and patterns of the universe. Born from an infinite cycle, these colorful petals grow into bejeweled blooms vibrating with ethereal energy. Artwork and concept created by Jen Stark. Coding by Jorge Ledezma.
Gravity maintains a dynamic balance in the universe, but it also causes drastic changes, creation and destruction. Similarly, the will, emotions, or one's own identity often need to be painfully twisted to fit the reality of the world and its laws. In 'Dolor Gravitacional,' I explore the profound analogy between the universe's gravitational forces—both creative and destructive—and the intense attractions in human relationships. These forces, powerful enough to warp planets and alter our very identities, reflect the delicate balance of creation, destruction, and the emotional contortions we undergo to fit into the world's reality. Through sweeping lines and bending forms in 'Dolor Gravitacional,' the oscillating patterns echo the internal human struggles, akin to celestial bodies responding to gravitational pulls. As viewers, we're drawn into a contemplative journey, recognizing the deep interplay between cosmic dynamics and our personal existential challenges, all within a universe marked by both chaos and serenity.
p5.disableFriendlyErrors=!0;const qPrms=new URLSearchParams(window.location.search);qPrms.get("h")&&(tokenData.hash=qPrms.get("h"));let eFr=null;qPrms.get("ef")&&(eFr=qPrms.get("ef"));const hashPairs=[];for(let e=0;e<32;e++)hashPairs.push(tokenData.hash.slice(2+2*e,4+2*e));const dcP=hashPairs.map((e=>parseInt(e,16)));fl=e=>Math.floor(e),sq=e=>Math.sqrt(e),ab=e=>Math.abs(e);const seed=parseInt(tokenData.hash.slice(2,10),16);class Random{constructor(){this.useA=!1;let e=function(e){let r=parseInt(e.substr(0,8),16),l=parseInt(e.substr(8,8),16),t=parseInt(e.substr(16,8),16),n=parseInt(e.substr(24,8),16);return function(){r|=0,l|=0,t|=0,n|=0;let e=(r+l|0)+n|0;return n=n+1|0,r=l^l>>>9,l=t+(t<<3)|0,t=t<<21|t>>>11,t=t+e|0,(e>>>0)/4294967296}};this.prngA=new e(tokenData.hash.substr(2,32)),this.prngB=new e(tokenData.hash.substr(34,32));for(let e=0;e<1e6;e+=2)this.prngA(),this.prngB()}r_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}r_num(e,r){return e+(r-e)*this.r_dec()}r_int(e,r){return Math.floor(this.r_num(e,r+1))}r_bool(e){return this.r_dec()<e}r_choice(e){return e[this.r_int(0,e.length-1)]}}let cla,clb,clc,cld,bgCol,ww,wh,un,mnr,myr,lnz,vgn,grv,bgCntSrt,bgCntEnd,ns,R=new Random(seed),S=new Random(3*seed),N=new Random(seed-9),palettes=[{c:["8ecae7","3FA4BD","023047","F3C652","DA7131"]},{c:["e63945","f1faee","a8dadc","457B9D","1D3557"]},{c:["1A7F8C","F3C648","456990","f45b69"]},{c:["006d76","83c5be","edf6f9","ffddd2","e29578"]},{c:["003048","d62828","fcbf49","eae2b7"]},{c:["f4f1dd","3d405b","81b29a","f2cc8f"]},{c:["ef476e","ffd166","118ab2","073b4c"]},{c:["283d3b","772e25","197278","edddd4","c44536"]},{c:["f3c032","f56f32","9452f1","4c8cf3"]},{c:["ecb857","e43877","8f2d56","218380"]},{c:["335c67","fff3b0","e09f3e","9e2a2b"]},{c:["227c9d","17c3b2","ffcb77","fef9ef","fe6d73"]},{c:["edae49","d1495b","00798c","30638e","003d5b"]},{c:["f8ffe5","31a8b8","f85d81","f1c55c"]},{c:["586ba4","324376","f5dd90","f76c5e"]},{c:["fbd1a2","ade1d7","5bc5d3","3b7ca4"]},{c:["3a2e39","1e555c","f4d8cd","f15152"]},{c:["a4243b","d8c99b","d8973c","bd632f","273e47"]},{c:["495867","577399","bdd5ea","fe5f55"]},{c:["d62839","ba324f","175676","4ba3c3","cce6f4"]}],curvasA=setCurvas(1),curvasB=setCurvas(.5),palette=palettes[dcP[2]%palettes.length],jColors=JSON.parse(JSON.stringify(palette.c)),hxClrs=shuffPal([...jColors]),pnts=[],spder=0,dolor="Pasajero",clrStl="Full",pCntrl=corte=destello=suaves=accentA=accentB=keepBG=!1;function easeInQuad(e){return e*e}function setup(){ww=innerWidth,wh=innerHeight,mnr=ww<wh?ww:wh,myr=ww>wh?ww:wh,un=myr/100,createCanvas(ww,wh),lnz=createGraphics(ww,wh),vgn=createGraphics(ww,wh),grv=createGraphics(ww,wh),pixelDensity(2),lnz.pixelDensity(2),vgn.pixelDensity(2),grv.pixelDensity(2),bgCntSrt={x:R.r_int(-4,4)*myr/16,y:R.r_int(-4,4)*myr/16},bgCntEnd={x:bgCntSrt.x+R.r_int(-3,3)*myr/32,y:bgCntSrt.y+R.r_int(-3,3)*myr/32},noiseSeed(seed),bgCol=color("#"+hxClrs[0]),cla=color("#"+hxClrs[1]),clb=color("#"+hxClrs[2]),clc=color("#"+hxClrs[3]),cld=hxClrs.length>4?color("#"+hxClrs[4]):color("#"+hxClrs[dcP[8]%2]),translate(ww/2,wh/2),lnz.translate(ww/2,wh/2),vgn.translate(ww/2,wh/2),grv.translate(ww/2,wh/2),lnz.noFill(),lnz.rectMode(CENTER),vgn.rectMode(CENTER),grv.rectMode(CENTER);let e=ceClr=bgCol;colorMode(HSL),ceClrOBJ={h:hue(e),s:.7*saturation(e),l:.2*lightness(e)},lnz.colorMode(HSL),ab(ceClrOBJ.h-45)<15&&lightness(e)<80&&(e=color(hue(e),1.1*saturation(e),1.1*lightness(e)),ceClrOBJ.s=1.1*ceClrOBJ.s),ab(ceClrOBJ.h-45)<15&&ceClrOBJ.h;let r=color(ceClrOBJ.h,ceClrOBJ.s,ceClrOBJ.l,.1);ceClr=lerpColor(e,r,.95),colorMode(RGB),"Positive"==clrStl&&(bgCol=keepBG&&lightness(bgCol)<30?bgCol:color(lightness(bgCol)+20),e=ceClr=bgCol,accentA||(cla=color(120),clb=color(250)),accentB||(clc=color(90),cld=color(230))),"Negative"==clrStl&&(bgCol=keepBG&&lightness(bgCol)>70?bgCol:color(lightness(bgCol)+185),e=ceClr=bgCol,accentA||(cla=color(5),clb=color(75)),accentB||(clc=color(20),cld=color(100))),lnz.background(bgCol),lnz.blendMode(BLEND);let l=yOff=0,t={h:hue(e),s:.8*saturation(e),l:lightness(e)/8};ab(t.h-45)<15&&(t.h=.2*t.h),lnz.colorMode(HSL);let n,c,o=lnz.color(t.h,t.s,t.l/2);lnz.colorMode(RGB);let s=[];for(let e=0;e<257;e++){for(let e=0;e<257;e++){let e=noise(l/196,yOff/196)**2;s.push(e),n=n>e?n:e,c=c<e?c:e,l++}l=0,yOff++}for(let r=0;r<257;r++){let t=r*myr/256-myr/2,a=r/257;for(let d=0;d<257;d++){let i=d*myr/256-myr/2,y=d/257,u=map(s[257*r+d],c,n,0,1,!0),h=1-16*y*(1-y)*a*(1-a),m=easeInQuad(dist(i,t,0,0)/myr*sqrt(2));u="Full"==clrStl?easeInQuad(.2*m+.5*u+.3*h)-.1:.3*m+.6*u+.1*h;let b=lerpColor(e,o,u);lnz.noStroke(),lnz.fill(b),doDust(i,t,lnz),l++}l=0,yOff++}for(let r=0;r<180;r++){let l=lerpColor(e,ceClr,r/180);lnz.noFill(),l.setAlpha(10+r/2),lnz.stroke(l);let t=lerp(bgCntSrt.x,bgCntEnd.x,r/180),n=lerp(bgCntSrt.y,bgCntEnd.y,r/180),c=lerp(bgCntSrt.y,bgCntEnd.x,sin(r/90)),o=lerp(bgCntEnd.y,bgCntSrt.x,cos(r/360)),s=myr/16+r*myr/64,a=l,d=12;for(let e=1;e<d;e++)a.setAlpha(alpha(l)*(1-e*(1/(d+2)))*.9),lnz.stroke(a),lnz.strokeWeight(myr/180*e),lnz.circle(t,n,.89*s),lnz.circle(c,o,s),lnz.circle(-(t+o)/3,-(n+c)/2,.73*s)}vgn.noFill(),vgn.stroke(207),vgn.strokeWeight(.35*myr),vgn.rect(0,0,1.2*ww,1.2*wh);for(let e=0;e<64;e++)vgn.stroke(.75*e+207),vgn.fill(.75*e+207),vgn.strokeJoin(ROUND),vgn.strokeWeight(.35*myr-e*myr/384),vgn.rect(0,0,.7*ww,.7*wh);noFill(),imageMode(CENTER),image(lnz,0,0)}function draw(){spder+=noise(.008*(frameCount/90-.3)),translate(ww/2,wh/2),imageMode(CENTER),"Pasajero"==dolor?(image(lnz,0,0),null!=eFr&&frameCount>eFr-1&&noLoop()):(frameCount>2700&&!pCntrl&&frameRate((3300-frameCount)/10),(null==eFr&&frameCount>3200&&!pCntrl||null!=eFr&&frameCount>eFr-1&&!pCntrl)&&noLoop()),noFill(),suaves?(push(),rotate(PI/24*dcP[11]%12),rotate(frameCount/4e3-.01*noise(frameCount/200)),drawCurvas(curvasA,cla,clb),pop(),push(),rotate(PI/12*dcP[17]%6),rotate(-frameCount/3500+.02*noise(frameCount/300)),"Full"==clrStl&&hxClrs.length<5?drawCurvas(curvasB,clb,clc):drawCurvas(curvasB,clc,cld),pop()):l2(),destello&&l1(),"Pasajero"==dolor&&(blendMode(MULTIPLY),image(vgn,0,0)),blendMode(BLEND)}function doDust(e,r,l){let t=myr/72,n=myr/56;l.push(),l.translate(e+N.r_int(-myr/256,myr/256),r+N.r_int(-myr/256,myr/256));let c=N.r_int(3,5);l.beginShape();let o=N.r_int(-60,60);for(let s=0;s<c;s++){let a=s*(360/c)*PI/180+o;l.vertex(e+N.r_int(t,n)*sin(a),r+N.r_int(t,n)*cos(a))}l.endShape(CLOSE),l.noStroke(),l.pop()}function l2(){let e=frameCount/20+spder,r=dcP[4]%2*2-1,l=myr/(dcP[5]%5+1),t=myr/(dcP[6]%5+1),n=myr/(dcP[7]%5+1),c=myr/(dcP[8]%5+1),o=frameCount<120?frameCount:120;for(let s=0;s<o;s++){let a=lerpColor(cla,clb,s/o);stroke(a),strokeWeight((dcP[9]/80+s/40)/1080*myr);let d=s*myr/(80+dcP[10]/10)-myr/2,i={x:r*-myr*.75,y:d*(20*(noise(s/90)+.2))},y={x:cos(d/(.4*myr))*(1+dcP[11]/5)-dcP[7]%7*un*(cos(e/(195*(dcP[6]%4+4)))/3),y:1.2*myr-d*(dcP[12]/64)+10*sin(e/1950)+dcP[12]/8*un-s*un},u={x:myr-s/200+.2*myr*(dcP[12]%3+1)+s*s/(dcP[13]%5+1)*un*cos((s/80)**2),y:d*(1.8*cos(e/1700))-250*sin(e/1200)};dcP[13]%2==0&&(y={x:r*myr/4+(l+noise(s/80)*myr/4)*cos((s/60)**3),y:(t+noise(s/75)*myr/6)*sin(s/60)},u={x:r*-myr/4+(n+noise(s/90)*myr/4)*cos((s+60)/60),y:(c+noise(s/75)*myr/6)*sin((s+60)/60)**2}),r=dcP[14]%2*2-1;let h={x:r*myr*1.25,y:r*d*1.2*(cos(e/(95*(dcP[9]%4+4)))*sin(e/(155*(dcP[8]%5+4))))};a=hxClrs.length<5?lerpColor(clb,clc,s/o):lerpColor(clc,cld,s/o),stroke(a),push(),rotate(PI/2*dcP[15]%4),bezier(i.x,i.y,y.x,y.y,u.x,u.y,h.x,h.y),pop(),strokeWeight((dcP[15]/100+s/80)/2e3*myr),i={x:.75*-myr,y:d*(noise(dcP[16])/2+.5)},y={x:40*cos(d/(myr/(dcP[17]%9)))*un,y:d*(dcP[18]/128)+5*sin(e/1100)},u={x:myr-s/100,y:2*myr-d*(1.8+cos(e/960))-250*sin(e/1200)},h={x:1.25*myr,y:myr-1.2*d},push(),rotate(cos(e/3200)+sin(e/2800)*s/24+PI/4*dcP[19]%6),bezier(i.x,i.y,y.x,y.y,u.x,u.y,h.x,h.y),pop()}}function l1(){let e=frameCount/10+spder;blendMode(SCREEN);for(let r=0;r<300;r++){push(),clr=lerpColor(clc,cld,r/300),"Permanente"==dolor&&dcP[20]%3==0&&clr.setAlpha(50*(sin(frameCount/600)/2+.5)),stroke(clr),strokeWeight((r/150+dcP[20]/128)/1e3*myr),rotate(dcP[21]/128*PI/2);let l=-myr/2+r*myr/(60+dcP[22]/10),t={x:.75*-myr,y:l*(2*noise(dcP[23])+.2)},n={x:20*cos(l/(myr/8))*un+10*un,y:l*(dcP[24]/128)-1.5*sin(10*e/620)*un},c={x:.4*myr-r/200-80*sin(r/50),y:1.8*myr-l+un*(.4+cos(e/(420+dcP[21])))+18*r-myr/4},o={x:1.25*myr,y:.72*l};frameCount/2>r&&bezier(t.x,t.y,n.x,n.y,c.x,c.y,o.x,o.y),pop()}blendMode(BLEND)}function shuffPal(e){let r=[];for(;e.length>0;){let l=R.r_int(0,e.length-1),t=e.splice(l,1);r.push(t)}return r}function drawCurvas(e,r,l){let t=.98*myr,n=frameCount/10+spder;pnts=[];let c=[sin(n/1231),-2*cos(n/2146),sin(n/1658),2*cos(n/2928)],o=(lightness(r)+lightness(l))/2+lightness(bgCol)<105?"ADD":"BLEND";o=(lightness(r)+lightness(l))/2+lightness(bgCol)<75?"SCREEN":o;for(let r=0;r<4;r++){let l=e[r],o=e[r+4],s=sin(n/1720)/2+.5,a=cos(n/1960)/2+.5,d=sin(n/1280)/2+.5,i=cos(n/1080)/2+.5,y=lerp(l.ax,o.ax,s),u=lerp(l.ay,o.ay,a),h=lerp(l.bx,o.bx,s),m=lerp(l.by,o.by,a),b=lerp(l.cx,o.cx,d),p=lerp(l.cy,o.cy,i),f=lerp(l.dx,o.dx,d),C=lerp(l.dy,o.dy,i);pnts.push({pax:t*y,pay:t*u*c[r],cax:t*h,cay:t*m*c[r],cbx:t*b,cby:t*p*c[r],pbx:t*f,pby:t*C*c[r]})}let s=frameCount<120?frameCount:120;colorMode(RGB),blendMode(BLEND);for(let e=0;e<s;e++){let t=pnts[0],n=bezierPoint(t.pax,t.cax,t.cbx,t.pbx,e/s),c=bezierPoint(t.pay,t.cay,t.cby,t.pby,e/s);t=pnts[1];let a=bezierPoint(t.pax,t.cax,t.cbx,t.pbx,e/s),d=bezierPoint(t.pay,t.cay,t.cby,t.pby,e/s);t=pnts[3];let i=bezierPoint(t.pax,t.cax,t.cbx,t.pbx,e/s),y=bezierPoint(t.pay,t.cay,t.cby,t.pby,e/s);t=pnts[2];let u=bezierPoint(t.pax,t.cax,t.cbx,t.pbx,e/s),h=bezierPoint(t.pay,t.cay,t.cby,t.pby,e/s);clr=lerpColor(r,l,e/s),clr.setAlpha(40),stroke(clr),"ADD"==o?(blendMode(SCREEN),strokeWeight(dcP[9]/255*myr/1200+e*myr/21e3)):(blendMode(BLEND),strokeWeight(dcP[9]/255*myr/1200+e*myr/21e3)),bezier(n,c,a,d,i,y,u,h),clr.setAlpha(120),stroke(clr),strokeWeight(dcP[9]/255*myr/1500+e*myr/36e3),"SCREEN"==o?blendMode(SCREEN):blendMode(BLEND),bezier(n,c,a,d,i,y,u,h),clr.setAlpha(255),stroke(clr),blendMode(BLEND),strokeWeight(dcP[9]/255*myr/1800+e*myr/96e3),bezier(n,c,a,d,i,y,u,h)}blendMode(BLEND)}function setCurvas(e){let r=[],l=R.r_num(.25*e,1*e),t=R.r_num(-.5,.5);for(let e=0;e<4;e++){let n=-1*(e%2*2-1),c={ax:R.r_num(-1.8,-1.2)*n,ay:R.r_num(-1.8,-1.2),bx:R.r_num(-1.8,-1.2)*n,by:R.r_num(-1.5,.5),cx:R.r_num(-1.8,-1.2)*n,cy:R.r_num(-.5,1.5),dx:R.r_num(-1.8,-1.2)*n,dy:R.r_num(1.2,1.8)};r.push(c);let o={ax:R.r_num(-1.2,1.2)*n,ay:R.r_num(-2,-1.2)*l+t,bx:R.r_num(-1.2,1.2)*n,by:R.r_num(-2,2)*l+t,cx:R.r_num(-1.2,1.2)*n,cy:R.r_num(-2,2)*l+t,dx:R.r_num(-1.2,1.2)*n,dy:R.r_num(1.2,2)*l+t};r.push(o)}return r}function newSize(){location.reload()}clrStl=dcP[25]>248?"Positive":clrStl,clrStl=dcP[25]<12?"Negative":clrStl,accentA=dcP[26]%4<1,accentB=dcP[26]%3<1,suaves=dcP[11]%12<6,destello=dcP[12]%2<1,dolor=dcP[27]>192?"Permanente":dolor,dolor=dcP[27]>128&&"Full"==clrStl?"Permanente":dolor,dolor=dcP[27]>96&&"Full"==clrStl&&1==suaves?"Permanente":dolor,"Full"!=clrStl&&!accentA&&!accentB&&dcP[12]>128&&(keepBG=!0),window.onresize=function(){clearTimeout(ns),ns=setTimeout((function(){newSize()}),90)},keyPressed=()=>{"s"===key&&save(tokenData.hash+"-"+frameCount),"c"===key&&(eFr=null,pCntrl=!0,loop(),frameRate(24)),"p"===key&&noLoop()};
p5.disableFriendlyErrors=!0;const qPrms=new URLSearchParams(window.location.search),hashPairs=[];for(let j=0;j<32;j++)hashPairs.push(tokenData.hash.slice(2+2*j,4+2*j));const dcP=hashPairs.map(x=>parseInt(x,16)),seed=parseInt(tokenData.hash.slice(2,10),16);class Random{constructor(){this.useA=!1;function sfc32(uint128Hex){let a=parseInt(uint128Hex.substr(0,8),16),b=parseInt(uint128Hex.substr(8,8),16),c=parseInt(uint128Hex.substr(16,8),16),d=parseInt(uint128Hex.substr(24,8),16);return function(){a|=0,b|=0,c|=0,d|=0;var t=(a+b|0)+d|0;return d=d+1|0,a=b^b>>>9,b=c+(c<<3)|0,c=c<<21|c>>>11,c=c+t|0,(t>>>0)/4294967296}}this.prngA=new sfc32(tokenData.hash.substr(2,32)),this.prngB=new sfc32(tokenData.hash.substr(34,32));for(let i=0;i<1e6;i+=2)this.prngA(),this.prngB()}r_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}r_num(a,b){return a+(b-a)*this.r_dec()}r_int(a,b){return Math.floor(this.r_num(a,b+1))}r_bool(p){return this.r_dec()<p}r_choice(list){return list[this.r_int(0,list.length-1)]}}let R=new Random(seed),S=new Random(3*seed),N=new Random(seed-9),palettes=[{name:"Suchil",colors:["8ecae7","3FA4BD","023047","F3C652","DA7131"]},{name:"Molnar",colors:["e63945","f1faee","a8dadc","457B9D","1D3557"]},{name:"Ture",colors:["1A7F8C","F3C648","456990","f45b69"]},{name:"Serene",colors:["006d76","83c5be","edf6f9","ffddd2","e29578"]},{name:"Altaar",colors:["003048","d62828","fcbf49","eae2b7"]},{name:"Arella",colors:["f4f1dd","3d405b","81b29a","f2cc8f"]},{name:"Abasia",colors:["ef476e","ffd166","118ab2","073b4c"]},{name:"Tsngal",colors:["283d3b","772e25","197278","edddd4","c44536"]},{name:"Qawwal",colors:["f3c032","f56f32","9452f1","4c8cf3"]},{name:"Nagyso",colors:["ecb857","e43877","8f2d56","218380"]},{name:"Qigong",colors:["335c67","fff3b0","e09f3e","9e2a2b"]},{name:"Ayagwe",colors:["227c9d","17c3b2","ffcb77","fef9ef","fe6d73"]},{name:"Surung",colors:["edae49","d1495b","00798c","30638e","003d5b"]},{name:"Hegguk",colors:["f8ffe5","31a8b8","f85d81","f1c55c"]},{name:"Musyes",colors:["586ba4","324376","f5dd90","f76c5e"]},{name:"Tarwiv",colors:["fbd1a2","ade1d7","5bc5d3","3b7ca4"]},{name:"Urraca",colors:["3a2e39","1e555c","f4d8cd","f15152"]},{name:"Triz",colors:["a4243b","d8c99b","d8973c","bd632f","273e47"]},{name:"Nibdae",colors:["495867","577399","bdd5ea","fe5f55"]},{name:"Natz",colors:["d62839","ba324f","175676","4ba3c3","cce6f4"]},{name:"Niemeyer",colors:["fefbf9","7e7a70"]},{name:"Lina",colors:["982125","7c7871"]},{name:"Zaha",colors:["bb513e","d28d37","4495bf","7b7b86"]}],palette=palettes[dcP[4]%palettes.length],paletteName=palette.name,avColors=JSON.parse(JSON.stringify(palette.colors)),hxClrs=shuffPal(avColors.slice(0)),clrs=hsbPal(hxClrs.slice(0)),realTime=!1,ft=!0,bsop=sop=.5,rts,rtm,rth,rtd,rtM,lastDrawn,mc=0,hc=0,mrow=mcol=-9,csg,clo,ppt,prb,sprb;if(196<dcP[5]&&dcP[5]<=255&&25<clrs[0].l?(cst="mono",clrs.splice(1),clrs.push(clrs[0]),bsop=sop=.7):72<dcP[5]&&dcP[5]<=196||clrs.length<3?(cst="duo",clrs.splice(2),clrs[1].l=156<dcP[5]&&clrs[0].l<50?95:clrs[1].l):24<dcP[5]&&dcP[5]<=72||clrs.length<4?(cst="tri",clrs.splice(3)):cst="full","mono"!=cst)for(let i=0;i<clrs.length;i++)clrs[0].l>clrs[i].l&&([clrs[0],clrs[i]]=[clrs[i],clrs[0]]);ppt=248<dcP[9]&&dcP[9]<=255?"sm":152<dcP[9]&&dcP[9]<=248?"fr":96<dcP[9]&&dcP[9]<=152?"cr":32<dcP[9]&&dcP[9]<=96?"ld":"sn",bdr=128<dcP[16]&&dcP[16]<=255?["h"]:["v"];let gtp=dcP[18]%2<1?"q":"c",avr=dcP[19]%2<1?0:1;function shuffPal(colors){let colorArray=[];for(;0<colors.length;){var hexColor=colors.splice(R.r_int(0,colors.length-1),1);colorArray.push(hexColor)}return colorArray}function hsbPal(hexPal){let colorArray=[];for(c of hexPal){var hsvColor=toHSL(c);colorArray.push(hsvColor)}return colorArray}vrng=156<dcP[20]&&dcP[20]<=255?0:96<dcP[20]&&dcP[20]<=156?1:2,hrng=156<dcP[21]&&dcP[21]<=255?0:96<dcP[21]&&dcP[21]<=156?1:2,vrng+hrng<1&&(dcP[20]%2<1?vrng=1:hrng=1),sprb=dcP[20]%3,dcP[21]<76&&(mcol=dcP[21]%4*4),dcP[22]<76&&(mrow=dcP[22]%4*4),clo=bdr.length<2&&2<clrs.length?128<dcP[6]&&vrng<1?"v":dcP[6]<=128&&hrng<1?"h":"n":"n";let uc,fr,gtr,hasGap=!1;const cols=rows=16,qds=Array(rows).fill(0).map(()=>new Array(cols).fill(0));function setGrid(){for(let r=0;r<rows;r++)for(let c=0;c<cols;c++){var bl=new Blq(0,0,5,5,c+1,r+1,1,1);qds[c][r]=bl,qds[c][r].sh=qds[c][r].sv=1,qds[c][r].vd=!1,qds[c][r].rot=N.r_int(-4,4),qds[c][r].bdr=N.r_choice(bdr),qds[c][r].clr=N.r_int(1,clrs.length-1),"v"==clo?qds[c][r].clr=1+fl(r/2)%(clrs.length-1):"h"==clo?qds[c][r].clr=1+fl(c/2)%(clrs.length-1):qds[c][r].clr=N.r_int(1,clrs.length-1)}}function merge(){for(let r=0;r<rows-1;r++)for(let c=0;c<cols-1;c++){let ok=0;if(r%4==0&&c%4==0&&0<vrng&&0<hrng){for(let d=0;d<4;d++)for(let f=0;f<4;f++)ok=0==qds[c+d][r+f].spn?ok+1:ok;var bo=1==vrng&&1==hrng?-1:5;if(1==qds[c][r].spn&&ok<1&&0!=qds[c][r+1].spn&&0!=qds[c+1][r].spn&&3!=r&&11!=r&&3!=c&&11!=c&&R.r_int(0,12)%10>bo){for(let d=0;d<4;d++)for(let f=0;f<4;f++)qds[c+d][r+f].spn=0;qds[c][r].spn=qds[c][r].sh=qds[c][r].sv=4}}r%2==0&&c%2==0&&(1==qds[c][r].spn&&(0<vrng||0<hrng)&&0!=qds[c][r+1].spn&&0!=qds[c+1][r].spn&&0!=qds[c+1][r+1].spn&&3!=r&&11!=r&&3!=c&&11!=c&&4<R.r_int(0,9)%9&&(qds[c+1][r].spn=qds[c][r+1].spn=qds[c+1][r+1].spn=0,qds[c][r].spn=qds[c][r].sh=qds[c][r].sv=2),5<R.r_int(0,9)%10&&1==qds[c][r].spn&&(qds[c][r].spn=R.r_int(0,9)%2<sprb?"v":"h","v"==qds[c][r].spn&&0!=qds[c][r+1].spn&&3!=r&&11!=r&&0<vrng?(qds[c][r+1].spn=0,qds[c][r].sv=2):"h"==qds[c][r].spn&&0!=qds[c+1][r].spn&&3!=c&&11!=c&&0<hrng?(qds[c+1][r].spn=0,qds[c][r].sh=2):qds[c][r].spn=1))}}function corta(){for(let r=0;r<rows;r++)for(let c=0;c<cols;c++)4==qds[c][r].spn&&(5<R.r_int(0,9)%10?(qds[c][r].spn=R.r_int(0,5)%2<1?24:42,42==qds[c][r].spn?(qds[c][r+2].spn=42,qds[c][r+2].sv=qds[c][r].sv=2,qds[c][r+2].sh=qds[c][r].sh=4):24==qds[c][r].spn?(qds[c+2][r].spn=24,qds[c+2][r].sh=qds[c][r].sh=2,qds[c+2][r].sv=qds[c][r].sv=4):qds[c][r].spn=4):(qds[c][r].spn=4,c<4&&r<4||c<4&&11<r||11<c&&r<4||11<c&&11<r||1<dcP[25]&&!hasGap&&(qds[c][r].vd=gtp,hasGap=!0))),-8<mrow+mcol&&(c>=mcol&&c<mcol+4&&0<vrng&&0<hrng&&(qds[c][r].vd="e"),r>=mrow&&r<mrow+4&&0<vrng&&0<hrng&&(qds[c][r].vd="e"))}class Blq{constructor(xc,yc,w,h,col,row,lvl,spn){this.x=xc,this.y=yc,this.w=w,this.h=h,this.row=row,this.col=col,this.lvl=lvl,this.spn=spn}shw(){rectMode(CORNER),rect(this.x,this.y,this.w,this.h)}resize(xo,yo,w,h){this.x=xo,this.y=yo,this.w=w,this.h=h}}function fl(d){return Math.floor(d)}function ab(d){return Math.abs(d)}function aGr(r){return 180*r/Math.PI}function aRd(g){return Math.PI*g/180}let lat=dcP[13]%24*5-60,d=lat<0?fl(dcP[10]/255*185+80):fl(dcP[10]/255*180+264);d=365<d?d-365:d,d=Math.abs(lat)<20&&(Math.abs(d-79)<15||Math.abs(d-264)<15)?d+20*(dcP[10]%2*2-1):d;let h=dcP[11]%12+6,m=dcP[12]%2*30,dfo=dcP[14]%9*(45/4)+45;function orbitLoc(dia,h){return 2*Math.PI/365*(dia-1+(h-12)/24)}function eqTime(l){return 229.18*(75e-6+.001868*Math.cos(l)-.032077*Math.sin(l)-.014615*Math.cos(2*l)-.040849*Math.sin(2*l))}function decl(l){return aGr(.006918-.399912*Math.cos(l)+.070257*Math.sin(l)-.006758*Math.cos(2*l)+907e-6*Math.sin(2*l)-.002697*Math.cos(3*l)+.00148*Math.sin(3*l))}function s_decl(adcl){adcl=Math.sin(aRd(-23.44))*Math.cos(aRd(360/365*(adcl+10)));return Math.asin(adcl)}function sunPos(decl,lat,hr,azDenom,zen,dzen){let tst=60*hr+azDenom+zen/60+(dzen+-316- -300);for(;1440<tst;)tst-=1440;let ha=tst/4-180;ha=ha<-180?ha+360:ha,ha=aRd(ha);var azimuth,azDenom=Math.sin(aRd(lat))*Math.sin(aRd(decl))+Math.cos(aRd(lat))*Math.cos(aRd(decl))*Math.cos(ha),zen=Math.acos(azDenom),dzen=aGr(zen),azDenom=Math.cos(aRd(lat))*Math.sin(zen);return.001<Math.abs(azDenom)?(azimuth=(Math.sin(aRd(lat))*Math.cos(zen)-Math.sin(aRd(decl)))/azDenom,1<Math.abs(azimuth)&&(azimuth=azimuth<0?-1:1),azimuth=180-aGr(Math.acos(azimuth)),0<ha&&(azimuth=-azimuth)):azimuth=0<lat?180:0,azimuth<0&&(azimuth+=360),{z:dzen,a:azimuth,e:90-dzen}}function toCart(e,v){v=decomp(e,v);return createVector(v.x,v.y,v.z)}function decomp(e,zp){var PI=Math.PI;let c=450-zp;for(c=360<c?c-360:c,c=c+dfo+90;360<=c;)c-=360;for(c=540-c;360<=c;)c-=360;var xp=Math.cos(e*PI/180)*Math.cos(c*PI/180),zp=Math.cos(e*PI/180)*Math.sin(c*PI/180);return{x:xp,y:Math.sin(e*PI/180),z:zp}}dfo=lat<0?dfo:dfo+180;let tdy=new Date,nyd=new Date(tdy.getFullYear(),0,0),tDate=new Date(tdy.getFullYear(),0,0);tDate.setDate(nyd.getDate()+d);let l,eqt,dcl,sunAt,luz,sd;function locateSun(dy,hr,mn){l=orbitLoc(dy,hr),eqt=eqTime(l),dcl=decl(l),sunAt=sunPos(dcl,lat,hr,mn,0,eqt)}for(locateSun(d,h,m);sunAt.e<5;)h=h<12?h+1:h-1,sunAt=sunPos(dcl,lat,h,m,0,eqt);let lz=decomp(sunAt.e,sunAt.a),atmp=0;for(;0<lz.z&&atmp<8;)dfo=lz.x<0?dfo+11.25:dfo-11.25,lz=decomp(sunAt.e,sunAt.a),atmp++;let qw,qh,ax=ay=50,pCnvs,timg,bGpcs,ppr,shdw,hueco,glow,g,bG,sG,s,brises=[],frameDone,bgDone,briseSet,shadowsDone,briseDone,tintDone,vrt=`#ifdef GL_ES precision highp float; #endif varying vec2 vPos; attribute vec3 aPosition; void main() { vec4 positionVec4 = vec4(aPosition, 1.0); positionVec4.xy = positionVec4.xy * 2.0 - 1.0; gl_Position = positionVec4; }`,frg=`#ifdef GL_ES precision highp float; #endif uniform vec2 u_res; uniform vec2 u_luz; uniform float u_op; uniform sampler2D u_tex; vec4 addVec4(vec4 a, vec4 b){ vec4 sum; float alpha = max(a.a,b.a); sum = vec4(a.rgb+b.rgb,alpha); return sum; } void main() { vec2 st = gl_FragCoord.xy/u_res.xy*0.5; st.y = 1.-st.y; vec2 luz = u_luz/u_res.xy*0.5; vec4 tex = texture2D(u_tex, st.xy); tex = vec4(vec3(0.),tex.a*1.); vec4 lyr; float smbr = 0.0; for (float i = 9.; i < 200.; i++) { lyr = texture2D(u_tex, st.xy-luz/500.*i); if (i > 150.) { smbr=1.-0.002*(i-151.); } else { smbr=1.-0.002; } lyr = vec4(vec3(0.),lyr.a*smbr); tex = addVec4(tex,lyr); } gl_FragColor = vec4(tex.rgb,tex.a*u_op); }`;function setup(){luz=toCart(sunAt.e,sunAt.a),ld=1.5+luz.z,colorMode(HSL),ww=innerWidth,wh=innerHeight,wmin=ww<wh?ww:wh,wmaj=ww<wh?wh:ww,fr=framer(ww,wh),uc=wmin/100,createCanvas(ww,wh),pixelDensity(2),g=createGraphics(ww,wh,WEBGL),ppr=createGraphics(wmaj,wmaj),pCnvs=createGraphics(ww,wh),blrCn=createGraphics(ww,wh,WEBGL),timg=createGraphics(ww,wh),bGpcs=createGraphics(ww,wh),hueco=createGraphics(ww,wh),glow=createGraphics(ww,wh),shdw=createGraphics(ww,wh),rShdw=createGraphics(ww,wh),pCnvs.pixelDensity(2),bGpcs.pixelDensity(2),rShdw.pixelDensity(2),g.pixelDensity(2),s=blrCn.createShader(vrt,frg),ppr.pixelDensity(2),ppr.colorMode(HSL),background(clrs[0].h,clrs[0].s,clrs[0].l),ppr.background(clrs[0].h,clrs[0].s,clrs[0].l),ppr.noStroke()}function mouseClicked(){goRT()}function touchEnded(){goRT()}function goRT(){realTime=!0}function draw(){tdy=new Date,rts=tdy.getSeconds(),rtm=tdy.getMinutes()+mc,rth=tdy.getHours()+hc,rtd=tdy.getDate(),rtM=tdy.getMonth();var o,c,fc=frameCount;realTime?(lastDrawn!=rtm&&showRT(),frameRate(1)):(!tintDone&&briseSet&&(background(clrs[0].h,clrs[0].s,clrs[0].l),image(ppr,(ww-wmaj)/2,(wh-wmaj)/2,wmaj,wmaj),timg.image(blrCn,0,0,ww,wh),hasGap?(doHueco(),image(rShdw,0,0,ww,wh)):image(timg,0,0,ww,wh),sunAt.e<-8&&(c=-16<sunAt.e?.1*ab(sunAt.e)-.8:.8,colorMode(HSL),noStroke(),fill(220,20,5,c),blendMode(MULTIPLY),rect(0,0,ww,wh)),image(bGpcs,0,0,ww,wh),sunAt.e<15&&(colorMode(RGB),fill(200,120,80,100-15*sunAt.e),sunAt.e<0&&(o=color(200,120,80,100),c=color(70,90,120,200),c=lerpColor(o,c,ab(sunAt.e)/10),fill(c)),blendMode(MULTIPLY),noStroke(),rect(0,0,ww,wh),colorMode(HSL),blendMode(BLEND)),tintDone=fc,frameRate(1),qPrms.get("rt")&&(realTime=!0)),!briseSet&&bgDone&&(putBrises(),briseSet=fc),!bgDone&&frameDone&&("sn"==ppt?doSand(ppr,120):"fr"==ppt?(bG=setGrva(3200,5),sG=setGrva(3200,3),drwGrva(ppr,bG),drwGrva(ppr,sG)):"cr"==ppt?(bG=setGrva(2400,9),sG=setGrva(2400,5),drwGrva(ppr,bG),drwGrva(ppr,sG)):"ld"==ppt&&doLines(ppr,160),setBrises(),throwShdws(g,blrCn,200*uc),bgDone=fc),frameDone||(neoFrm(),frameDone=fc,frameRate(60)))}function showRT(){var c,o=tdy-nyd+60*(nyd.getTimezoneOffset()-tdy.getTimezoneOffset())*1e3;locateSun(Math.floor(o/864e5),rth,rtm),luz=toCart(sunAt.e,sunAt.a),sop=sunAt.e<5?(sop=bsop-(1-sunAt.e/5)*bsop,sop<.1?.1:sop):bsop;let zatt=0;if(-.008<luz.z?(sop=bsop-(1-luz.z/-.008)*bsop,sop=sop<0?0:sop,zatt=0<luz.z?10:10*(1-luz.z/-.008)):sop=bsop,setBrises(),throwShdws(g,blrCn,200*uc),putBrises(),background(clrs[0].h,clrs[0].s,clrs[0].l-zatt),image(ppr,(ww-wmaj)/2,(wh-wmaj)/2,wmaj,wmaj),timg.image(blrCn,0,0,ww,wh),doHueco(),image(rShdw,0,0,ww,wh),sunAt.e<-8&&(c=-16<sunAt.e?.1*ab(sunAt.e)-.8:.8,colorMode(HSL),noStroke(),fill(220,20,5,c),blendMode(MULTIPLY),rect(0,0,ww,wh)),image(bGpcs,0,0,ww,wh),sunAt.e<15){colorMode(RGB);let al=5<sunAt.e?100-10*(sunAt.e-5):100;fill(200,120,80,al),sunAt.e<0&&(o=color(220,120,60,100),c=color(24,36,64,220),c=lerpColor(o,c,ab(sunAt.e)/10),fill(c)),blendMode(MULTIPLY),noStroke(),rect(0,0,ww,wh),colorMode(HSL),blendMode(BLEND)}lastDrawn=rtm}function setBrises(){pCnvs.clear(),blrCn.clear(),timg.clear(),bGpcs.clear(),hueco.clear(),shdw.clear(),rShdw.clear(),brises=[],set3D(g);for(let r=fr.n;r<fr.s;r++)for(let c=fr.o;c<fr.e;c++){var qi=qds[c][r],cl={...clrs[qi.clr]};let q,a;g.ambientMaterial(cl.h,.94*cl.s,1.02*cl.l),a="v"==qi.bdr?(q=2*qi.sh,PI/2+qi.rot*PI/30):(q=2*qi.sv,25*PI/18-qi.rot*PI/36);var xi=qi.x-ww/2+qi.w/2,yi=qi.y-wh/2+qi.h/2;if("e"!=qi.vd)if(0!=qi.vd)vacio(qi);else if("v"==qi.bdr)for(let n=0;n<q;n++){var x=xi+n*qi.w/q-qi.w/2+qi.w/q/2,y=yi;g.push(),g.translate(x,y),g.rotateY(a),g.box(qi.w/q,qi.h,.16*qi.w/q),g.pop()}else for(let n=0;n<q;n++){let x=xi-qi.w/qi.sh/12+gtr,y=yi+n*qi.h/q-qi.h/2+qi.h/qi.sv/12;g.push(),g.translate(x,y),g.rotateX(a),g.box(qi.w,qi.h/q,.16*qi.h/q),g.pop()}}bGpcs.image(g,0,0),throwShdws(g,blrCn,+uc)}function doHueco(){hueco.loadPixels(),timg.loadPixels();for(let i=0;i<timg.pixels.length;i+=4)timg.pixels[i+3]=1<hueco.pixels[i+3]?0:timg.pixels[i+3];timg.updatePixels(),tint(255,sop),image(timg,0,0,ww,wh),noTint(),timg.clear(),rShdw.image(blrCn,luz.x*ld*6*uc,luz.y*ld*6*uc),pCnvs.image(shdw,luz.x*ld*6*uc,luz.y*ld*6*uc),rShdw.loadPixels(),pCnvs.loadPixels();for(let i=0;i<rShdw.pixels.length;i+=4)rShdw.pixels[i+3]=pCnvs.pixels[i+3]>rShdw.pixels[i+3]?pCnvs.pixels[i+3]*sop:rShdw.pixels[i+3]*sop;rShdw.updatePixels(),rShdw.image(glow,0,0),rShdw.loadPixels();for(let i=0;i<rShdw.pixels.length;i+=4)rShdw.pixels[i+3]=hueco.pixels[i+3]<1?0:rShdw.pixels[i+3];rShdw.updatePixels()}function throwShdws(sc,tc,d){s.setUniform("u_op",1),s.setUniform("u_res",[ww,wh]),s.setUniform("u_tex",sc),s.setUniform("u_luz",[luz.x*ld*d,luz.y*ld*d]),tc.shader(s),tc.rect(-ww/2,-wh/2,ww,wh),sc.texture(tc),tc.resetShader()}function putBrises(){briseDone=frameCount}function set3D(gc){gc.noLights(),gc.clear(),gc.smooth(),gc.colorMode(HSL),gc.pixelDensity(2),gc.ortho(),gc.ambientLight(195,10,75),gc.directionalLight(40,60,90,luz),gc.directionalLight(40,20,40,luz),gc.noStroke(),gc.ambientMaterial(0,0,0,0),gc.box(.01,.01,.01)}function vacio(b){hueco.clear(),shdw.clear(),glow.clear(),hueco.fill(120),hueco.noStroke();var gcl={...clrs[0]},r=.9*b.w,ctr={x:b.x+b.w/2,y:b.y+b.h/2};hueco.rectMode(CENTER),glow.rectMode(CENTER),shdw.rectMode(CENTER),"c"==gtp?hueco.circle(ctr.x,ctr.y,r):hueco.rect(ctr.x,ctr.y,r,r),glow.noFill(),glow.strokeWeight(r/60),glow.stroke(gcl.h,gcl.s/2,.4*gcl.l);var a=2**(6-fl(gcl.l/20)),d=32/a;if("c"==gtp)for(let c=0;c<32;c++)glow.stroke(0,a-c/d),glow.circle(ctr.x,ctr.y,r-r/60*c);else for(let c=0;c<32;c++)glow.stroke(0,a-c/d),glow.square(ctr.x,ctr.y,r-r/60*c);if(shdw.noFill(),shdw.strokeWeight(wmin/6),shdw.stroke(0),"c"==gtp)for(let c=0;c<10;c++)shdw.circle(ctr.x,ctr.y,r+wmin/6+c*uc/8);else for(let c=0;c<10;c++)shdw.rect(ctr.x,ctr.y,r+wmin/6+c*uc/8,r+wmin/6+c*uc/8)}function neoFrm(){var mod=(fr.w<fr.h?fr.w:fr.h)/8,gp=mod/6;gtr=gp;for(let r=fr.n;r<fr.s;r++)for(let c=fr.o;c<fr.e;c++){let qd=qds[c][r];var xo=ww/2-9*mod+mod*qd.col+2+gp/2,yo=wh/2-9*mod+mod*qd.row+2+gp/2;let qw="h"==qd.spn?2*mod-gp:mod-gp,qh="v"==qd.spn?2*mod-gp:mod-gp;if(2==qd.spn&&(qw=qh=2*mod-gp),4==qd.spn&&(qw=qh=4*mod-gp),42==qd.spn&&(qw=4*mod-gp,qh=2*mod-gp),24==qd.spn&&(qw=2*mod-gp,qh=4*mod-gp),qd.resize(xo,yo,qw,qh),0!=qd.spn){noFill();let cl={...clrs[qd.clr]};cl.l=50<cl.l?.8*cl.l:1.2*cl.l,stroke(cl.h,cl.s,cl.l/2),qd.shw()}else qd.w=qd.h=0,qd.x=qd.y=null}}setGrid(),merge(),corta();let ns;function newSize(){location.reload()}function framer(w,h){let f={w:0,h:0,f:"q",n:4,e:12,s:12,o:4};var mnr=w<h?w:h,r=w/h;return 1.5<=r?(f.f="h",f.o=0,(f.e=16)/9<=r?(f.h=h/9*7,f.w=2*f.h):(f.w=w/16*14,f.h=f.w/2),f.m=f.h/8):(r<=2/3?(f.f="v",f.n=0,r<=9/(f.s=16)?(f.w=w/9*7,f.h=2*f.w):(f.h=h/16*14,f.w=f.h/2)):f.w=f.h=mnr/9*7,f.m=f.w/8),f}function drwGrva(c,s){var e,f=uc/8;for(e of s){c.fill(clrs[0].h,clrs[0].s-10,clrs[0].l+e.l),c.push(),c.translate(e.o.x*c.width/1e4,e.o.y*c.height/1e4),c.rotate(e.r);var p,pts=e.pts;c.beginShape();for(p of pts)c.vertex(p.x*f,p.y*f);c.endShape(CLOSE),c.pop()}}function setGrva(q,r){let a=[];for(let i=0;i<q;i++){var n=N.r_choice([3,4]);let lo=N.r_int(-12,-4);ppt="cr",lo=fl(lo/2);var pos={x:N.r_int(0,1e4),y:N.r_int(0,1e4)},grava=N.r_num(0,PI);let pt=[];for(let p=0;p<n;p++)pt[p]=createVector(N.r_int(r/4,r/2),0),4==n&&i%9==0&&p%2==0&&(pt[p].x=pt[p].x+r/2),pt[p].rotate(TWO_PI/n*p-PI),0<p&&pt[p].add(pt[p-1]);grava={l:lo,o:pos,r:grava,pts:pt};a.push(grava)}return a}function doLines(c,q){var ch=c.height,cw=c.width,m=ch/q,cl={...clrs[0]};c.noFill(),c.strokeWeight(m/3);for(let l=0;l<q;l++){c.stroke(cl.h,cl.s,.8*cl.l,.5);var y1=l*m;c.line(0,y1,cw,y1),stroke(cl.h,cl.s,1.2*cl.l,.5),c.line(0,y1+m/2,cw,y1+m/2)}}function doSand(c,sc){sc=fl(c.width/sc);c.width=c.width/sc,c.height=c.height/sc,c.loadPixels();for(let i=0;i<c.pixels.length;i+=4)noiseVal=N.r_int(10,245),c.pixels[i]=c.pixels[i+1]=c.pixels[i+2]=noiseVal,c.pixels[i+3]=30;c.updatePixels(),c.width=c.width*sc,c.height=c.height*sc}function toHSL(min){var l=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(min),r=parseInt(l[1],16),g=parseInt(l[2],16),b=parseInt(l[3],16);r/=255,g/=255,b/=255;var h,max=Math.max(r,g,b),min=Math.min(r,g,b),l=(max+min)/2;if(max==min)h=s=0;else{var d=max-min,s=.5<l?d/(2-max-min):d/(max+min);switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4}h/=6}return{h:h=Math.round(360*h),s:s=Math.round(100*s),l:l=Math.round(100*l)}}function keyPressed(){keyCode==SHIFT&&(realTime=!0,frameRate(10)),32==keyCode&&(realTime=!1),"s"===key&&save(tokenData.hash)}window.onresize=function(){clearTimeout(ns),ns=setTimeout(function(){newSize()},90)};
For millennia, cultures around the world have been fascinated by the movement of the sun. A key element in 20th century modernist architecture were these 'brise soleil', an architectural technique used to minimize direct sunlight into the building while allowing the sky's indirect light. When in real time mode, the shadows' slow transformation along the day invites the viewer to contemplate the evolving composition. Hit SHIFT or tap on screen to activate real-time mode. Hit S to save to current frame as PNG.
Aithérios explores the notion of ethereality as seen through the transformation of our thoughts and memories. Thoughts that emerge from our foggy inner state coalesce and become concrete by our minds. At the same time, memories that were once so tangible to us fade into the recesses before their eventual oblivion. Thoughts and memories share an intimacy within the labyrinth of the mind, sometimes they work together to cover ground beyond the horizon of what is understandable.
Aithérios explores the notion of ethereality as seen through the transformation of our thoughts and memories. Thoughts that emerge from our foggy inner state coalesce and become concrete by our minds. At the same time, memories that were once so tangible to us eventually fade into the recesses before their eventual oblivion. Thoughts and memories share an intimacy within the labyrinth of the mind, sometimes they work together to cover ground beyond the horizon of what is understandable. Dutch auction prices adjusted every 10 minutes. Tiers: 10.49 > 5.37 > 3.81 > 1.53 > 0.89 > 0.57 > 0.41 > 0.33 > 0.29 > 0.27 > 0.26 > 0.25
const hashPairs=[];for(let j=0;j<32;j++)hashPairs.push(tokenData.hash.slice(2+2*j,4+2*j));const dcP=hashPairs.map(x=>parseInt(x,16)),seed=parseInt(tokenData.hash.slice(2,10),16);class Random{constructor(seed){this.seed=seed}random_dec(){return this.seed^=this.seed<<13,this.seed^=this.seed>>17,this.seed^=this.seed<<5,(this.seed<0?1+~this.seed:this.seed)%1e3/1e3}rango(a,b){return a+(b-a)*this.random_dec()}r_int(a,b){return Math.floor(this.rango(a,b+1))}pick(x){return x[Math.floor(this.rango(0,.99*x.length))]}}let R=new Random(seed),palettes=[{clrs:["8ecae7","219ebc","023047","ffb703","fb8503"]},{clrs:["e63945","f1faee","a8dadc","457B9D","1D3557"]},{clrs:["114b5f","028090","e4fde1","456990","f45b69"]},{clrs:["006d76","83c5be","edf6f9","ffddd2","e29578"]},{clrs:["003048","d62828","f77f00","fcbf49","eae2b7"]},{clrs:["f4f1dd","3d405b","81b29a","f2cc8f"]},{clrs:["ef476e","ffd166","06d6a0","118ab2","073b4c"]},{clrs:["283d3b","772e25","197278","edddd4","c44536"]},{clrs:["ffbe0b","fb5607","8338ec","3a86ff"]},{clrs:["ffbe0b","ff006e","8338ec","3a86ff"]},{clrs:["9b5de5","f15bb5","fee440","00bbf9","00f5d4"]},{clrs:["ffbc42","d81159","8f2d56","218380","73d2de"]},{clrs:["335c67","fff3b0","e09f3e","9e2a2b","540b0e"]},{clrs:["233d4d","fe7f2d","fcca46","619b8a"]},{clrs:["227c9d","17c3b2","ffcb77","fef9ef","fe6d73"]},{clrs:["edae49","d1495b","00798c","30638e","003d5b"]},{clrs:["ff595e","ffca3a","8ac926","1982c4","6a4c93"]},{clrs:["2A9D8F","264652","E9C46A","E76F51"]},{clrs:["2364aa","3da5d9","73bfb8","fec601","ea7317"]},{clrs:["f8ffe5","06d6a0","1b9aaa","ef476f","ffc43d"]},{clrs:["586ba4","324376","f5dd90","f76c5e"]},{clrs:["fbd1a2","7dcfb6","00b2ca","1d4e89"]},{clrs:["114b5f","028090","e4fde1","456990","f45b69"]},{clrs:["3a2e39","1e555c","f4d8cd","edb183","f15152"]},{clrs:["a4243b","d8c99b","d8973c","bd632f","273e47"]},{clrs:["495867","577399","bdd5ea","fe5f55"]},{clrs:["d62839","ba324f","175676","4ba3c3","cce6f4"]}],wmenor,menor,grdSz,nvl,ww,wh,qw,qh,csc,ld,ang,fr,cw,ch,mr=0,oStrt=0,oF,cellsArr=[],bks=[],rumbos=[],clSt;function fl(d){return Math.floor(d)}function ab(d){return Math.abs(d)}grdSz=250<dcP[12]&&dcP[12]<=255?.5:230<dcP[12]&&dcP[12]<=250?1:35<dcP[12]&&dcP[12]<=230?2:15<dcP[12]&&dcP[12]<=35?4:6,crad=215<dcP[13]&&dcP[12]<=255?.01:24<dcP[12]&&dcP[12]<=215?.12:.2,crad=2<grdSz&&.12<crad?.12:crad,nvl=216<dcP[14]&&dcP[14]<=255?"flat":36<dcP[14]&&dcP[14]<=216?"str":"pir",ang=dcP[14]%10==7||dcP[14]%10<4?Math.PI/6:Math.PI/(dcP[14]%10),ang=ang>Math.PI/6&&grdSz<1?Math.PI/(dcP[14]%10+2):ang;let capStyle=64<dcP[16]?"sld":"wf",blkSt=48<dcP[17]?"Gel":"mbrn";"sld"!=capStyle&&"Gel"==blkSt&&dcP[17]%13!=0&&(capStyle="sld");let hasGlitch=1<grdSz&&dcP[12]%51<1&&"sld"==capStyle,tpad=.12,rpad=.18,bpad=.88+.04*grdSz,lpad=.18,dir=dcP[17]%2==0?"l":"r",brickOrder=dcP[17]%93==0?"Neat":"Random";nvl="Neat"==brickOrder&&"pir"==nvl?"str":nvl,96<dcP[18]&&dcP[18]<=128||grdSz<.9?(tpad=-.4,rpad=-.4,bpad=1.6,lpad=-.4):32<dcP[18]&&dcP[18]<=96&&(rpad=-.2,lpad=-.2),3<grdSz&&(tpad=-.2,rpad=-.2,bpad=1.4,lpad=-.2);let brickPacker=2<dcP[18]%5?"fail":"Full",palette=palettes[dcP[15]%palettes.length],avclrs=JSON.parse(JSON.stringify(palette.clrs)),crs=createCycle([...avclrs]);function createCycle(clrs){let colorArray=[];for(;0<clrs.length;){var hsvColor=toHSL(clrs.splice(R.r_int(0,clrs.length-1),1));colorArray.push(hsvColor)}return colorArray}192<dcP[19]&&dcP[19]<257?clSt="fh":96<dcP[19]&&dcP[19]<=192?(clSt="tt",crs=crs.slice(0,3)):24<dcP[19]&&dcP[19]<=96?(clSt="dt",crs=crs.slice(0,2)):8<dcP[19]&&dcP[19]<=24?(clSt="tnt",crs=crs.slice(0,2),crs[1].s=0,crs[1].l=70<crs[0].l?5:95,0<dcP[19]%5&&crs[1].l<50&&(capStyle="wf",blkSt="mbrn")):(clSt="bw",crs=crs.slice(0,2),crs[0].s=2,crs[1].s=2,crs[0].l=40<crs[0].l?88:8,crs[1].l=40<crs[0].l?8:88,dcP[19]%3!=0&&crs[1].l<50&&(capStyle="wf",blkSt="mbrn")),245<dcP[20]&&dcP[20]<257?rumbos=["up","dn"]:200<dcP[20]&&dcP[20]<=245?rumbos=["dn"]:-1<dcP[20]&&dcP[20]<=200&&(rumbos=["up"]),1<rumbos.length&&grdSz<3&&0<tpad&&"Gel"==blkSt&&(rumbos=["up"]);let skips=fl(dcP[20]/255*10+4);function setup(){colorMode(HSL),background(crs[0].h,crs[0].s,crs[0].l),ww=windowWidth,wh=windowHeight,ws=ww/100,wmenor=ww<wh?ww:wh,1.5<=ww/wh?ww/wh>=16/9?createCanvas(16*wh/9,wh):createCanvas(3*wh/2,wh):ww/wh<=2/3?ww/wh<=9/16?createCanvas(ww,16*ww/9):createCanvas(ww,3*ww/2):createCanvas(wmenor,wmenor),menor=width<height?width:height,cw=2*menor/grdSz*.2*cos(ang),ch=2*menor/grdSz*.2*sin(ang),u=width/100,v=height/100,csc=menor/100,background(crs[0].h,crs[0].s,crs[0].l),ruido(),cellsArr=setGrid(ang,menor/grdSz*.2),noStroke();var fst=cellsArr.length/2,fst=R.r_int(fst-fst/2,fst+fst/2);placeBrick(fst,fst,[dir]),"Neat"==brickOrder?"fail"==brickPacker?arrangeBricks([dir,"pass"]):arrangeBricks([dir]):arrangeBricks(),bks.length<1&&reacomoda(),skipper(),cleanUp(),bks.length<1&&(placeBrick(fst,fst,[dir]),reacomoda(),skipper(),cleanUp()),bks.length<1&&(grdSz=2,placeBrick(fst,fst,[dir]),reacomoda()),ruido(),gm(),frameRate(fr)}function draw(){drawbks(),frameCount>5*bks.length+100&&frameCount<15*bks.length+1200&&(fr<60&&(fr=fr<30?fr+.08:fr+.04),frameRate(fr),dust(400,1200,crs[1]),dust(),dust(400,1200,crs[0]),2<crs.length&&dust(400,1200,crs[2])),frameCount>20*bks.length+1200&&noLoop()}function arrangeBricks(arrangement=["l","r","pass"]){var max=cellsArr.length-1;for(let m=1;m<max;m++){let i=0;for(let n=m;0<n;n--)mx=max-i,placeBrick(mx,n,arrangement),placeBrick(n,mx,arrangement),i++}for(let m=max;0<m;m--)placeBrick(m,m,arrangement)}function gm(){mr=0;for(let i=bks.length-1;-1<i;i--)b=bks[i],mr=b.r+b.c>mr?b.r+b.c:mr;oF=40/grdSz,oStrt=(2*cellsArr.length-mr)*oF}function reacomoda(){cellsArr=setGrid(ang,menor/grdSz*.2);for(let go=0;go<5;go++)1<go&&(tpad=-.2,rpad=-.2,bpad=1.25,lpad=-.2),bks.length<1&&(ruido(1,1,crs[0]),arrangeBricks(["l","r"]))}function placeBrick(r,c,clr=["l","r","pass"]){var psc=R.pick(clr),clr=crs[R.r_int(1,crs.length-1)];fill(clr.h,clr.s,clr.l,.8);cellsArr[r][c];"l"==psc&&0==cellsArr[r][c].state&&0==cellsArr[r-1][c].state&&putBrick(r,c,"l",clr),"r"==psc&&0==cellsArr[r][c].state&&0==cellsArr[r][c-1].state&&putBrick(r,c,"r",clr)}function bloque(alto,xc,yc,cl,a,w,h,dir,go,idx,r,c){var pres=menor/500,steps=fl(alto*menor/pres);alto=(steps-1)*(pres/menor);var i=0==bks[idx].skp?oF:1.5*oF,i=frameCount-(2*cellsArr.length-(r+c)-fl(ab(r-c)/2))*i+oStrt;1<i&&i<steps&&(op=100**(i/steps-1)*.15,"Gel"!=blkSt?(stroke(cl.h,cl.s,cl.l,2*op),strokeWeight(menor/500),noFill()):(fill(cl.h,cl.s,cl.l-3,op),noStroke()),"sld"==capStyle&&"Gel"==blkSt&&fill(cl.h,cl.s,cl.l-8,op),crBlk(w,h,xc/csc,"up"==go?(yc-i*pres)/csc:(yc-(steps-i-1)*pres-alto*menor)/csc,a,dir,cl,op,go)),steps<=i&&i<=steps+20&&("sld"!=capStyle?(steps+7<=i&&(stroke(cl.h,cl.s,cl.l,.12),strokeWeight(menor/500)),noFill()):(hasGlitch?steps<=i&&i<=steps+8&&idx%13==0?i%2==0?fill(crs[0].h,crs[0].s,crs[0].l,1):fill(cl.h,cl.s,cl.l,1):fill(cl.h,cl.s,cl.l,.1):fill(cl.h,cl.s,cl.l,.08),noStroke()),"sld"==capStyle&&"Gel"==blkSt&&dcP[19]<=96&&(stroke(cl.h,cl.s,cl.l-2,.15),strokeWeight(menor/1200)),crBlk(w,h,xc/csc,(yc-alto*menor)/csc,a,dir,cl,op,"dont")),steps+20<=i&&i<=steps+30&&hasGlitch&&"sld"==capStyle&&(noStroke(),fill(cl.h,cl.s,cl.l,.2),crBlk(w,h,xc/csc,(yc-alto*menor)/csc,a,dir,cl,op,"dont"))}function setGrid(a,cell_w){var rows=16*grdSz;let cols=16*grdSz,cells=Array(rows).fill(0).map(()=>new Array(cols).fill(0));var x,y,xi=.5*width,yi=-1<grdSz?height/2+cell_w*sin(a)*(1+rows):+height;for(let j=0;j<rows;j++)for(let i=0;i<cols;i++)stroke(0,0,0),x=xi-i*cell_w*cos(a)+j*cell_w*cos(a),y=yi-j*cell_w*sin(a)-i*cell_w*sin(a),cells[j][i]={x:x,y:y,state:0};return cells}function putBrick(c,r,dir,clr){rectMode(CENTER);var w=cellsArr[c][r];cellsArr[c][r].state=1,x=w.x,y=w.y,"l"==dir?cellsArr[c-1][r].state=1:cellsArr[c][r-1].state=1;var go=R.pick(rumbos),h=.09*menor/grdSz,w=.19*menor/grdSz;let tall=.4;"str"==nvl?tall=24*(c+r)/1e3/grdSz:"pir"==nvl&&(tall=(1.6*(2.4*(c+r)-ab(c-r))*fl(3+grdSz)+80)/1e3/grdSz),bks.push({tall:tall,x:x,y:y,clr:clr,ang:ang,h:h,w:w,dir:dir,go:go,c:c,r:r})}function drawbks(){for(let i=bks.length-1;-1<i;i--){b=bks[i],mr=b.r+b.c>mr?b.r+b.c:mr;var o="r"==b.dir?.25*cw:-.25*cw;b.x+o>menor*lpad&&b.x+o<width-menor*rpad&&("dn"!=b.go?b.y-b.tall*menor>height*tpad&&b.y<height*bpad&&bloque(b.tall,b.x,b.y,b.clr,b.ang,b.h,b.w,b.dir,b.go,i,b.r,b.c):b.y-.8*ch-b.tall*menor>height*tpad&&b.y+1.5*ch-b.tall*menor<height*bpad&&bloque(b.tall,b.x,b.y,b.clr,b.ang,b.h,b.w,b.dir,b.go,i,b.r,b.c))}}function skipper(){for(let i=bks.length-1;-1<i;i--)b=bks[i],b.skp=0,i%skips==0&&(b.skp=1,bks.push(bks.splice(i,1)[0]))}function cleanUp(){for(let i=bks.length-1;-1<i;i--){b=bks[i];var o="r"==b.dir?.25*cw:-.25*cw;b.x+o>menor*lpad&&b.x+o<width-menor*rpad?"dn"!=b.go?b.y-b.tall*menor>height*tpad&&b.y<height*bpad||bks.splice(i,1):b.y-.8*ch-b.tall*menor>height*tpad&&b.y+1.5*ch-b.tall*menor<height*bpad||bks.splice(i,1):bks.splice(i,1)}}function ruido(lin=2e3,dot=3e3,clr=null){for(let i=1;i<lin;i++)x=R.rango(0,1)*width,y=R.rango(0,1)*height,dx=R.rango(-1,1)*menor/200,dy=R.rango(-1,1)*menor/200,strokeWeight(menor/400),null!=clr?(op=R.rango(.2,.4),stroke(clr.h,clr.s,clr.l,op),strokeWeight(menor/750)):stroke(0,0,0,.05),noFill(),line(x,y,x+dx,y+dy);for(let i=1;i<dot;i++)x=R.rango(0,1)*width,y=R.rango(0,1)*height,noStroke(),null!=clr?(op=R.rango(.3,.5),fill(clr.h,clr.s,clr.l,op),circle(x,y,menor/750)):(fill(0,0,0,.05),circle(x,y,menor/400))}function dust(lin=2e3,dot=3e3,clr=null){i=frameCount,i<lin+bks.length+100&&(x=R.rango(0,1)*width,y=R.rango(0,1)*height,dx=R.rango(-1,1)*menor/200,dy=R.rango(-1,1)*menor/200,strokeWeight(menor/500),null!=clr?(op=R.rango(.15,.3),stroke(clr.h,clr.s,clr.l,op),strokeWeight(menor/800)):stroke(0,0,0,.05),noFill(),line(x,y,x+dx,y+dy)),i<dot+bks.length+100&&(x=R.rango(0,1)*width,y=R.rango(0,1)*height,noStroke(),null!=clr?(op=R.rango(.2,.4),fill(clr.h,clr.s,clr.l,op),circle(x,y,menor/800)):(fill(0,0,0,.05),circle(x,y,menor/500)))}function crBlk(yw,elh,xw,xh,yh,dir,cl,op,go){mx=xw*csc,my=xh*csc,mn=crad,mj=2*crad;xw=(yw="l"==dir?[elh,elh=yw][0]:yw)*cos(yh),xh=elh*cos(yh),yw*=sin(yh),yh=elh*sin(yh);"l"==dir?(p=xw*mj,q=yw*mj,r=xw*mn,s=yw*mn,mx-=.55*xw,my+=.55*yw):(p=xh*mj,q=yh*mj,r=xh*mn,s=yh*mn,mx+=1.1*xw,my+=1.1*yw),ax=mx-xw+xh,ay=my+yw+yh,aix=ax-p,aiy=ay-q,a1x=ax-r,a1y=ay-s,a2x=ax+r,a2y=ay-s,afx=ax+p,afy=ay-q,bx=mx+xw+xh,by=my-yw+yh,bix=bx-p,biy=by+q,b1x=bx-r,b1y=by+s,b2x=bx-r,b2y=by-s,bfx=bx-p,bfy=by-q,cx=mx+xw-xh,cy=my-yw-yh,cix=cx+p,ciy=cy+q,c1x=cx+r,c1y=cy+s,c2x=cx-r,c2y=cy+s,cfx=cx-p,cfy=cy+q,dx=mx-xw-xh,dy=my+yw-yh,dix=dx+p,diy=dy-q,d1x=dx+r,d1y=dy-s,d2x=dx+r,d2y=dy+s,dfx=dx+p,dfy=dy+q,beginShape(),vertex(aix,aiy),bezierVertex(a1x,a1y,a2x,a2y,afx,afy),vertex(bix,biy),bezierVertex(b1x,b1y,b2x,b2y,bfx,bfy),vertex(cix,ciy),bezierVertex(c1x,c1y,c2x,c2y,cfx,cfy),vertex(dix,diy),bezierVertex(d1x,d1y,d2x,d2y,dfx,dfy),endShape(CLOSE),crad<.05&&"Gel"==blkSt&&(stroke(cl.h,.8*cl.s,.6*cl.l,2*op),strokeWeight(menor/500),noFill(),"up"==go?line(afx,afy,bix,biy):"dn"==go&&line(bfx,bfy,cix,ciy))}function toHSL(min){var l=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(min),r=parseInt(l[1],16),g=parseInt(l[2],16),b=parseInt(l[3],16);r/=255,g/=255,b/=255;var h,max=Math.max(r,g,b),min=Math.min(r,g,b),l=(max+min)/2;if(max==min)h=s=0;else{var d=max-min,s=.5<l?d/(2-max-min):d/(max+min);switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4}h/=6}return{h:h=Math.round(360*h),s:s=Math.round(100*s),l:l=Math.round(100*l)}}function keyPressed(){keyCode==SHIFT&&loop(),32==keyCode&&noLoop(),"s"===key&&save(tokenData.hash)}fr=5*fl(dcP[21]/255*5)+24,fr=crad<.05&&"Gel"==blkSt||hasGlitch?fl(.8*fr):fr;
Aithérios pertains to notions of the ethereal. This project is about that very state of our thoughts and memories. Thoughts that emerge from our own foggy inner state and are turned concrete by us. Memories that were once tangible to us – external even – but long since faded into the recesses before their eventual oblivion. Thoughts and memories share an intimacy within the labyrinth of the mind. Sometimes, these entities of being work to cover ground beyond the horizon of that which is known. Dutch auction prices adjusted every 10 minutes. Tiers: 10.74 > 5.62 > 3.06 > 1.78 > 1.14 > 0.82 > 0.66 > 0.58 > 0.54 > 0.52 > 0.51 > 0.50
const hashPairs=[];for(let j=0;j<32;j++)hashPairs.push(tokenData.hash.slice(2+2*j,4+2*j));const dcP=hashPairs.map(x=>parseInt(x,16));let pts=[{c:["8ecae7","219ebc","023047","ffb703","fb8503"]},{c:["e63945","f1faee","a8dadc","457B9D","1D3557"]},{c:["8ecae7","219ebc","023047","ffb703","fb8500"]},{c:["006d76","83c5be","edf6f9","ffddd2","e29578"]},{c:["003048","d62828","f77f00","fcbf49","eae2b7"]},{c:["f4f1dd","3d405b","81b29a","f2cc8f"]},{c:["ef476e","ffd166","06d6a0","118ab2","073b4c"]},{c:["283d3b","772e25","197278","edddd4","c44536"]},{c:["ffbe0b","fb5607","ff006e","8338ec","3a86ff"]},{c:["9b5de5","f15bb5","fee440","00bbf9","00f5d4"]},{c:["ffbc42","d81159","8f2d56","218380","73d2de"]},{c:["335c67","fff3b0","e09f3e","9e2a2b","540b0e"]},{c:["233d4d","fe7f2d","fcca46","619b8a"]},{c:["227c9d","17c3b2","ffcb77","fef9ef","fe6d73"]},{c:["edae49","d1495b","00798c","30638e","003d5b"]},{c:["ff595e","ffca3a","8ac926","1982c4","6a4c93"]},{c:["2A9D8F","264652","E9C46A","E76F51"]},{c:["2364aa","3da5d9","73bfb8","fec601","ea7317"]},{c:["f8ffe5","06d6a0","1b9aaa","ef476f","ffc43d"]},{c:["586ba4","324376","f5dd90","f68e5f","f76c5e"]},{c:["fbd1a2","7dcfb6","00b2ca","1d4e89"]},{c:["114b5f","028090","e4fde1","456990","f45b69"]},{c:["3a2e39","1e555c","f4d8cd","edb183","f15152"]},{c:["a4243b","d8c99b","d8973c","bd632f","273e47"]},{c:["495867","577399","bdd5ea","f7f7ff","fe5f55"]},{c:["d62839","ba324f","175676","4ba3c3","cce6f4"]}],c_a=[],c_b=[],c_c=[],xa_s=[],xb_s=[],xc_s=[],ya_s=[],yb_s=[],yc_s=[];for(let p=0;p<200;p++)xa_s[p]=p,xb_s[p]=p,xc_s[p]=p,ya_s[p]=p,yb_s[p]=p,yc_s[p]=p;let dn=Math.floor(dcP[1]/265*60+2),m=Math.cbrt(dcP[2]/265*3-1.5);Math.abs(m)<.5&&(m*=3);let bg={h:0,s:0,l:0},qc={h:0,s:0,l:0},lado,clrStl,qFl,stl,op=1,s=1.1,lnta=!1,vg=!1,y_s=0,tlin=.012,tlex=.012,blin=.016,blex=.008,r1=.4,r2=.5,plt=pts[dcP[3]%pts.length],avclrs=JSON.parse(JSON.stringify(plt.c));for(let n=0;n<avclrs.length;n++)avclrs[n]=toHSL(avclrs[n]);function bt(){for(let n=0;n<avclrs.length;n++){var tst=avclrs[n];Math.abs(bg.l-qc.l)<Math.abs(tst.l-qc.l)&&Math.abs(qc.l-bg.l)<26&&(bg={h:tst.h,s:tst.s,l:tst.l})}fr={h:qc.h,s:qc.s,l:qc.l};for(let n=0;n<avclrs.length;n++){let tst=avclrs[n];Math.abs(fr.l-qc.l)<Math.abs(tst.l-qc.l)&&Math.abs(qc.l-fr.l)<25&&tst.l!=bg.l&&(fr={h:tst.h,s:tst.s,l:tst.l})}}let bga=avclrs.splice([dcP[4]%avclrs.length],1);bg=bga[0];let qca=avclrs.splice([dcP[5]%avclrs.length],1);qc=qca[0],bt();let qh,gl={h:qc.h,s:qc.s,l:qc.l},enCapa="0";function fg(){var mc=Math.abs(qc.l-bg.l),sc=Math.abs(qc.l-fr.l);mc<30&&(50<qc.l?bg.l=qc.l-35:bg.l=qc.l+35),sc<20&&(50<qc.l?fr.l=qc.l-25:fr.l=qc.l+25)}let elw=12,elh=28+dcP[7]/256*20,grav=dcP[8]/256*1.2-.6,wind=dcP[9]/256*1.2-.6;64<dcP[10]&&(lnta=!0,vg=!0),192<dcP[10]&&(lnta=!0,vg=!1);let ws,hs,pad=10;dcP[11]<128&&(pad=17,36<elh&&(elh=36));let lbr=pad/100+.05,rbr=1-lbr,hoyo=dcP[6]>205+2*pad;dcP[12]<257&&216<=dcP[12]&&(clrStl="Rumba",80<bg.l&&(bg.l=95)),dcP[12]<208&&(clrStl="Tritone"),dcP[12]<160&&(clrStl="Duotone",95<dcP[12]&&(fr={h:bg.h,s:bg.s/2,l:bg.l},50<=fr.l&&fr.l<=80?fr.l=(100-fr.l)/2+fr.l:fr.l<=50&&20<fr.l?fr.l=fr.l/2:80<fr.l?fr.l=bg.l-20:fr.l<=20&&(fr.l=bg.l+20))),dcP[12]<64&&30<dcP[12]&&(dcP[12]<=48&&30<dcP[12]&&bg.l<75?(clrStl="Mi-Teintes Fun",qc.s=0,dcP[13]<200&&(qFl="Wireframes"),60<bg.l?(qc.l=0,fr.l=100):(qc.l=100,fr.l=0)):(clrStl="Monochrome",qc.l<75&&20<qc.l?(bg={h:qc.h,s:qc.s,l:qc.l},fr={h:qc.h,s:qc.s,l:qc.l}):(bg={h:fr.h,s:fr.s,l:fr.l},qc={h:bg.h,s:bg.s,l:bg.l}),50<qc.l?(bg.l=qc.l-40,fr.l=qc.l+(100-qc.l/2)):(bg.l=qc.l+40,fr.l=qc.l/2),bg.s=5,70<qc.l?fr.l=qc.l-50:qc.l<30&&(fr.l=qc.l+50),80<qc.s&&Math.abs(bg.l-40)<15&&(bg.s=bg.s/4,fr.s=bg.s/2),23<Math.abs(bg.l-50)&&(bg.s=2,fr.s=bg.s/2))),dcP[12]<=30&&(clrStl="Grayscale",bg.s=0,qc.s=0,fr.s=fr.s+(100-fr.s)/2,dcP[12]<28&&(fr.s=0),fg()),dcP[12]<28&&(clrStl="B&W",bg.l=5,fr.l=90,qc.l=95),dcP[12]<17&&(bg.l=95,fr.l=10,qc.l=5),-1<dcP[13]&&(qFl="Wireframes",op=1),95<dcP[13]&&(qFl="Filled",op=1),140<dcP[13]&&(qFl="Translucent",op=.6,"Rumba"==clrStl&&(bg.s=0,fr.s=0,dn<20&&(dn+=10),bg.l<20?fr.l=80:80<bg.l?fr.l=30:bg.l<50?bg.l=bg.l/4:bg.l=.75*(100-bg.l)+bg.l));const seed=parseInt(tokenData.hash.slice(0,16),16);stl=dcP[18]<112?"sharp":"rounded",240<dcP[18]&&(stl="pills");let mg=dcP[21]<96;class Random{constructor(seed){this.seed=seed}random_dec(){return this.seed^=this.seed<<13,this.seed^=this.seed>>17,this.seed^=this.seed<<5,(this.seed<0?1+~this.seed:this.seed)%1e3/1e3}random_between(a,b){return a+(b-a)*this.random_dec()}random_int(a,b){return floor(this.random_between(a,b+1))}random_choice(x){return x[floor(this.random_between(0,.99*x.length))]}}let R=new Random(seed);function setup(){colorMode(HSL),lado=windowWidth<windowHeight?windowWidth:windowHeight,createCanvas(lado,lado),ws=lado/100,hs=lado/100,elw=elw*ws/10,elh=elh*ws/10,dn<24&&15<pad?(elh*=1.8,elw*=1.8):dn<20&&pad<15?(elh*=1.6,elw*=1.6,pad=20,lbr=pad/100+.05,rbr=1-lbr):pad<15&&dcP[12]<196&&(lnta=!0),background(bg.h,bg.s,bg.l);for(let p=0;p<200;p++){var la_x=xa_s.splice(R.random_int(0,xa_s.length),1)/2,la_y=ya_s.splice(R.random_int(0,ya_s.length),1)/2;c_a[p]={xPos:la_x,yPos:la_y}}for(let p=0;p<180;p++){let la_x=xb_s.splice(R.random_int(0,xb_s.length),1)/2,la_y=yb_s.splice(R.random_int(0,yb_s.length),1)/2;c_b[p]={xPos:la_x,yPos:la_y}}for(let p=0;p<160;p++){let la_x=xc_s.splice(R.random_int(0,xc_s.length),1)/2,la_y=yc_s.splice(R.random_int(0,yc_s.length),1)/2;c_c[p]={xPos:la_x,yPos:la_y}}dn<=30&&(y_s="Rumba"==clrStl&&1==hoyo?0:dcP[4]/256-.5)}function draw(){noStroke(),background(bg.h,bg.s,bg.l),enCapa="a";for(let p=0;p<3*dn;p++){p%6==0&&(noStroke(),fill(bg.h,bg.s,bg.l,.06),rect(0,0,windowWidth,windowHeight)),ccx=c_a[p].xPos/100,ccx=(ccx+wind*ccx*(1-ccx))**(1-.5*wind)*(100-2*pad)+pad,c_a[p].yPos=c_a[p].yPos+3*y_s,100<c_a[p].yPos&&(c_a[p].yPos=0),c_a[p].yPos<0&&(c_a[p].yPos=100);let fd=1;c_a[p].yPos<5&&0!=y_s&&(fd=c_a[p].yPos/5),95<c_a[p].yPos&&0!=y_s&&(fd=(100-c_a[p].yPos)/5),stroke(qc.h,qc.s,qc.l,fd),fill(qc.h,qc.s,qc.l,fd),ccy=c_a[p].yPos/100,ccy=(ccy+grav*ccy*(1-ccy))**(1-.5*grav)*(100-2*pad)+pad,cPt(.64*elw,.64*elh,ccx,ccy,m,p)}enCapa="b";for(let p=0;p<2*dn+1;p++){p%4==0&&(noStroke(),fill(bg.h,bg.s,bg.l,.04),rect(0,0,windowWidth,windowHeight)),ccx=c_b[p].xPos/100,ccx=(ccx+wind*ccx*(1-ccx))**(1-.5*wind)*(100-2*pad)+pad,c_b[p].yPos=c_b[p].yPos+2*y_s,100<c_b[p].yPos&&(c_b[p].yPos=0),c_b[p].yPos<0&&(c_b[p].yPos=100);let fd=1;c_b[p].yPos<5&&0!=y_s&&(fd=c_b[p].yPos/5),95<c_b[p].yPos&&0!=y_s&&(fd=(100-c_b[p].yPos)/5),stroke(qc.h,qc.s,qc.l,fd),fill(qc.h,qc.s,qc.l,fd),ccy=c_b[p].yPos/100,ccy=(ccy+grav*ccy*(1-ccy))**(1-.5*grav)*(100-2*pad)+pad,cPt(elw,elh,ccx,ccy,m,p,fd)}var or=pad/100+.05,ld=1-2*or;1==vg&&"Tritone"!=clrStl&&aPt(bg),"Tritone"==clrStl&&(aPt(fr),bg.l<90&&fr.l<90?stroke(255):stroke(fr.h,fr.s-10,fr.l-20),strokeWeight(1+floor(lado/200)),noFill(),hoyo?(circle(lado/2,lado/2,lado*ld),r1=ld/2,r2=.6*ld):rect(lado*or,lado*or,lado*ld,lado*ld)),1==lnta&&"Tritone"!=clrStl&&(stroke(fr.h,fr.s,fr.l),strokeWeight(1+floor(lado/200)),noFill(),hoyo?(circle(lado/2,lado/2,lado*ld),r1=ld/2,r2=.6*ld):rect(lado*or,lado*or,lado*ld,lado*ld)),enCapa="c";for(let p=0;p<dn+2;p++){ccx=c_c[p].xPos/100,ccx=(ccx+wind*ccx*(1-ccx))**(1-.5*wind)*(100-2*pad)+pad,c_c[p].yPos=c_c[p].yPos+y_s,100<c_c[p].yPos&&(c_c[p].yPos=0),c_c[p].yPos<0&&(c_c[p].yPos=100);let fd=1;c_c[p].yPos<5&&0!=y_s&&(fd=c_c[p].yPos/5),95<c_c[p].yPos&&0!=y_s&&(fd=(100-c_c[p].yPos)/5),ccy=c_c[p].yPos/100,ccy=(ccy+grav*ccy*(1-ccy))**(1-.5*grav)*(100-2*pad)+pad;var dist=sqrt(abs(ccx*ws-lado/2)**2+abs(ccy*hs-lado/2)**2);1==hoyo&&dist>lado*r1&&(fd=10*(r2-dist/ws/100),dist>lado*r2&&(fd=0)),stroke(qc.h,qc.s,qc.l,fd),fill(qc.h,qc.s,qc.l,fd),cPt(1.36*elw,1.36*elh,ccx,ccy,m,p,fd)}}function cPt(elw,elh,ccx,ccy,m,p,fd=1){if(r=.5*elw,"pills"==stl&&(r=.98*elw),"sharp"==stl&&(r=0*elw),lHz=(ccx+elw/ws)/100-lbr,rHz=(ccx-elw/ws)/100-rbr,tHz=(ccy+elh/ws)/100-lbr,bHz=(ccy-elh/ws)/100-rbr,-.001<lHz&&lHz<.008&&(ccx=ccx+2e3*lHz+1),-.008<rHz&&rHz<.001&&(ccx=ccx+2e3*rHz+1),0==y_s&&1==lnta){if(tHz>-1*tlex&&tHz<tlin)return;if(bHz>-1*blin&&bHz<blex)return}cx=ccx*ws,cy=ccy*ws-elw*m/2,aix=cx-elw,aiy=cy-elh+r,a1x=cx-elw,a1y=cy-elh+r/3,a2x=cx-elw+r/3,a2y=cy-elh+r/3*(m/2),afx=cx-elw+r,afy=cy-elh+r*m/2,bix=cx+elw-r,biy=cy-elh+elw*m-r*m/2,b1x=cx+elw-r/3,b1y=cy-elh+elw*m-r/3*(m/2),b2x=cx+elw,b2y=cy-elh+elw*m+r/3,bfx=cx+elw,bfy=cy-elh+elw*m+r,cix=cx+elw,ciy=cy+elh+elw*m-r,c1x=cx+elw,c1y=cy+elh+elw*m-r/3,c2x=cx+elw-r/3,c2y=cy+elh+elw*m-r/3*(m/2),cfx=cx+elw-r,cfy=cy+elh+elw*m-r*m/2,dix=cx-elw+r,diy=cy+elh+r*m/2,d1x=cx-elw+r/3,d1y=cy+elh+r/3*(m/2),d2x=cx-elw,d2y=cy+elh-m-r/3,dfx=cx-elw,dfy=cy+elh-r,360<p&&(p-=360),h=floor((ccx+ccy)*s+bg.h+p*s),359<h&&(h-=360),"Wireframes"==qFl?(strokeWeight(.5+lado/500),noFill()):noStroke(),"Rumba"==clrStl?(stroke(h,85,50,fd*op),fill(h,85,50,fd*op),"Wireframes"==qFl?(strokeWeight(.5+lado/500),noFill()):noStroke()):"Tritone"!=clrStl&&"c"==enCapa&&p==dn+1&&abs(gl.l-45)<20&&50<gl.s&&1==mg&&25<ccx&&ccx<75&&25<ccy&&ccy<75&&(fill(gl.h,gl.s,gl.l),"Wireframes"==qFl&&15<dn?(fill(gl.h,gl.s,gl.l,fd),noStroke()):"B&W"==clrStl&&bg.h<180&&strokeWeight(.5+lado/500),(ccy<29||71<ccy)&&(floor(5*ccy)%2!=1&&floor(2*ccy)%3!=2||noFill()),(ccy<27||73<ccy)&&(floor(5*ccy)%3!=0&&floor(2*ccy)%3!=1||noFill())),"sharp"!=stl?(beginShape(),vertex(aix,aiy),bezierVertex(a1x,a1y,a2x,a2y,afx,afy),vertex(bix,biy),bezierVertex(b1x,b1y,b2x,b2y,bfx,bfy),vertex(cix,ciy),bezierVertex(c1x,c1y,c2x,c2y,cfx,cfy),vertex(dix,diy),bezierVertex(d1x,d1y,d2x,d2y,dfx,dfy)):(beginShape(),vertex(aix,aiy),vertex(bix,biy),vertex(cix,ciy),vertex(dix,diy)),endShape(CLOSE)}function toHSL(min){var l=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(min),r=parseInt(l[1],16),g=parseInt(l[2],16),b=parseInt(l[3],16);r/=255,g/=255,b/=255;var h,max=Math.max(r,g,b),min=Math.min(r,g,b),l=(max+min)/2;if(max==min)h=s=0;else{var d=max-min,s=.5<l?d/(2-max-min):d/(max+min);switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4}h/=6}return{h:h=Math.round(360*h),s:s=Math.round(100*s),l:l=Math.round(100*l)}}function aPt(fr){noFill(),stroke(fr.h,fr.s,fr.l),strokeWeight(lado*lbr),rect(lado*lbr/2,lado*lbr/2,lado-lado*lbr,lado-lado*lbr),!0===hoyo&&circle(lado/2,lado/2,lado-lado*lbr)}function keyPressed(){keyCode==RIGHT_ARROW&&wind<.8?wind+=.04:keyCode==LEFT_ARROW&&-.8<wind&&(wind-=.04),keyCode==DOWN_ARROW&&y_s<1&&(y_s+=.01),keyCode==UP_ARROW&&-1<y_s&&(y_s-=.01)," "==key&&(y_s=0),"m"==key&&dn<60&&(dn+=1),"l"==key&&1<dn&&(dn-=1),"s"===key&&save(tokenData.hash+"png")}
Leaving a room doesn't free you, it only shifts you to a newly constrained space. Your freedom is bound by parameters. This is Parametric Freedom. Use arrows to control wind and gravity and space bar to stop animation. Type M or L to increase or decrease density. Would you like a PNG? Just hit S.
const hashPairs=[];for(let j=0;j<32;j++)hashPairs.push(tokenData.hash.slice(2+2*j,4+2*j));const dcP=hashPairs.map(x=>parseInt(x,16));let pts=[{c:["8ecae7","219ebc","023047","ffb703","fb8503"]},{c:["e63945","f1faee","a8dadc","457B9D","1D3557"]},{c:["8ecae7","219ebc","023047","ffb703","fb8500"]},{c:["006d76","83c5be","edf6f9","ffddd2","e29578"]},{c:["003048","d62828","f77f00","fcbf49","eae2b7"]},{c:["f4f1dd","3d405b","81b29a","f2cc8f"]},{c:["ef476e","ffd166","06d6a0","118ab2","073b4c"]},{c:["283d3b","772e25","197278","edddd4","c44536"]},{c:["ffbe0b","fb5607","ff006e","8338ec","3a86ff"]},{c:["9b5de5","f15bb5","fee440","00bbf9","00f5d4"]},{c:["ffbc42","d81159","8f2d56","218380","73d2de"]},{c:["335c67","fff3b0","e09f3e","9e2a2b","540b0e"]},{c:["233d4d","fe7f2d","fcca46","619b8a"]},{c:["227c9d","17c3b2","ffcb77","fef9ef","fe6d73"]},{c:["edae49","d1495b","00798c","30638e","003d5b"]},{c:["ff595e","ffca3a","8ac926","1982c4","6a4c93"]},{c:["2A9D8F","264652","E9C46A","E76F51"]},{c:["2364aa","3da5d9","73bfb8","fec601","ea7317"]},{c:["f8ffe5","06d6a0","1b9aaa","ef476f","ffc43d"]},{c:["586ba4","324376","f5dd90","f68e5f","f76c5e"]},{c:["fbd1a2","7dcfb6","00b2ca","1d4e89"]},{c:["114b5f","028090","e4fde1","456990","f45b69"]},{c:["3a2e39","1e555c","f4d8cd","edb183","f15152"]},{c:["a4243b","d8c99b","d8973c","bd632f","273e47"]},{c:["495867","577399","bdd5ea","f7f7ff","fe5f55"]},{c:["d62839","ba324f","175676","4ba3c3","cce6f4"]}],c_a=[],c_b=[],c_c=[],xa_s=[],xb_s=[],xc_s=[],ya_s=[],yb_s=[],yc_s=[];for(let p=0;p<200;p++)xa_s[p]=p,xb_s[p]=p,xc_s[p]=p,ya_s[p]=p,yb_s[p]=p,yc_s[p]=p;let dn=Math.floor(dcP[1]/265*60+2),m=Math.cbrt(dcP[2]/265*3-1.5);Math.abs(m)<.5&&(m*=3);let bg={h:0,s:0,l:0},qc={h:0,s:0,l:0},lado,clrStl,qFl,stl,op=1,s=1.1,lnta=!1,vg=!1,y_s=0,tlin=.012,tlex=.012,blin=.016,blex=.008,r1=.4,r2=.5,plt=pts[dcP[3]%pts.length],avclrs=JSON.parse(JSON.stringify(plt.c));for(let n=0;n<avclrs.length;n++)avclrs[n]=toHSL(avclrs[n]);function bt(){for(let n=0;n<avclrs.length;n++){var tst=avclrs[n];Math.abs(bg.l-qc.l)<Math.abs(tst.l-qc.l)&&Math.abs(qc.l-bg.l)<26&&(bg={h:tst.h,s:tst.s,l:tst.l})}fr={h:qc.h,s:qc.s,l:qc.l};for(let n=0;n<avclrs.length;n++){let tst=avclrs[n];Math.abs(fr.l-qc.l)<Math.abs(tst.l-qc.l)&&Math.abs(qc.l-fr.l)<25&&tst.l!=bg.l&&(fr={h:tst.h,s:tst.s,l:tst.l})}}let bga=avclrs.splice([dcP[4]%avclrs.length],1);bg=bga[0];let qca=avclrs.splice([dcP[5]%avclrs.length],1);qc=qca[0],bt();let qh,gl={h:qc.h,s:qc.s,l:qc.l},enCapa="0";function fg(){var mc=Math.abs(qc.l-bg.l),sc=Math.abs(qc.l-fr.l);mc<30&&(50<qc.l?bg.l=qc.l-35:bg.l=qc.l+35),sc<20&&(50<qc.l?fr.l=qc.l-25:fr.l=qc.l+25)}let elw=12,elh=28+dcP[7]/256*20,grav=dcP[8]/256*1.2-.6,wind=dcP[9]/256*1.2-.6;64<dcP[10]&&(lnta=!0,vg=!0),192<dcP[10]&&(lnta=!0,vg=!1);let ws,hs,pad=10;dcP[11]<128&&(pad=17,36<elh&&(elh=36));let lbr=pad/100+.05,rbr=1-lbr,hoyo=dcP[6]>205+2*pad;dcP[12]<257&&(clrStl="Rumba",207<dcP[12]&&(49<bg.l&&bg.l<70&&(bg.l=bg.l+(78-bg.l)/2+25,bg.s=2,fr.l=bg.l-20,fr.s=10,s=Math.floor(10)/15+.4),30<bg.l&&bg.l<51&&(bg.l=bg.l+(25-bg.l)/2-25,bg.s=2,fr.l=bg.l+20,fr.s=10,s=Math.floor(10)/15+.4))),dcP[12]<208&&(clrStl="Tritone"),dcP[12]<160&&(clrStl="Duotone",95<dcP[12]&&(fr={h:bg.h,s:bg.s/2,l:bg.l},50<=fr.l&&fr.l<=80?fr.l=(100-fr.l)/2+fr.l:fr.l<=50&&20<fr.l?fr.l=fr.l/2:80<fr.l?fr.l=bg.l-20:fr.l<=20&&(fr.l=bg.l+20))),dcP[12]<64&&(clrStl="Monochrome",qc.l<75&&20<qc.l?(bg={h:qc.h,s:qc.s,l:qc.l},fr={h:qc.h,s:qc.s,l:qc.l}):(bg={h:fr.h,s:fr.s,l:fr.l},qc={h:bg.h,s:bg.s,l:bg.l}),50<qc.l?(bg.l=qc.l-40,fr.l=qc.l+(100-qc.l/2)):(bg.l=qc.l+40,fr.l=qc.l/2),bg.s=5,70<qc.l?fr.l=qc.l-50:qc.l<30&&(fr.l=qc.l+50),80<qc.s&&Math.abs(bg.l-40)<15&&(bg.s=bg.s/4,fr.s=bg.s/2),23<Math.abs(bg.l-50)&&(bg.s=2,fr.s=bg.s/2)),dcP[12]<32&&(clrStl="Grayscale",bg.s=0,qc.s=0,fr.s=fr.s+(100-fr.s)/2,dcP[12]<28&&(fr.s=0),fg()),dcP[12]<24&&(clrStl="B&W",bg.l=5,qc.l=95),dcP[12]<12&&(bg.l=95,qc.l=5),-1<dcP[13]&&(qFl="Wireframes",op=1),95<dcP[13]&&(qFl="Filled",op=1),127<dcP[13]&&(qFl="Translucent",op=.6,"Rumba"==clrStl&&(bg.s=0,fr.s=0,dn<20&&(dn+=10),bg.l<20&&(fr.l=80),80<bg.l&&(fr.l=30)));const seed=parseInt(tokenData.hash.slice(0,16),16);stl=dcP[18]<112?"sharp":"rounded",224<dcP[18]&&(stl="pills");let mg=dcP[21]<96;class Random{constructor(seed){this.seed=seed}random_dec(){return this.seed^=this.seed<<13,this.seed^=this.seed>>17,this.seed^=this.seed<<5,(this.seed<0?1+~this.seed:this.seed)%1e3/1e3}random_between(a,b){return a+(b-a)*this.random_dec()}random_int(a,b){return floor(this.random_between(a,b+1))}random_choice(x){return x[floor(this.random_between(0,.99*x.length))]}}let R=new Random(seed);function setup(){colorMode(HSL),lado=windowWidth<windowHeight?windowWidth:windowHeight,createCanvas(lado,lado),ws=lado/100,hs=lado/100,elw=elw*ws/10,elh=elh*ws/10,dn<24&&15<pad?(elh*=1.8,elw*=1.8):dn<20&&pad<15?(elh*=1.6,elw*=1.6,pad=20,lbr=pad/100+.05,rbr=1-lbr):pad<15&&dcP[12]<196&&(lnta=!0),background(bg.h,bg.s,bg.l);for(let p=0;p<200;p++){var la_x=xa_s.splice(R.random_int(0,xa_s.length),1)/2,la_y=ya_s.splice(R.random_int(0,ya_s.length),1)/2;c_a[p]={xPos:la_x,yPos:la_y}}for(let p=0;p<180;p++){let la_x=xb_s.splice(R.random_int(0,xb_s.length),1)/2,la_y=yb_s.splice(R.random_int(0,yb_s.length),1)/2;c_b[p]={xPos:la_x,yPos:la_y}}for(let p=0;p<160;p++){let la_x=xc_s.splice(R.random_int(0,xc_s.length),1)/2,la_y=yc_s.splice(R.random_int(0,yc_s.length),1)/2;c_c[p]={xPos:la_x,yPos:la_y}}dn<=30&&(y_s="Rumba"==clrStl&&1==hoyo?0:dcP[4]/256-.5)}function draw(){noStroke(),background(bg.h,bg.s,bg.l),enCapa="a";for(let p=0;p<3*dn;p++){p%6==0&&(noStroke(),fill(bg.h,bg.s,bg.l,.06),rect(0,0,windowWidth,windowHeight)),ccx=c_a[p].xPos/100,ccx=(ccx+wind*ccx*(1-ccx))**(1-.5*wind)*(100-2*pad)+pad,c_a[p].yPos=c_a[p].yPos+3*y_s,100<c_a[p].yPos&&(c_a[p].yPos=0),c_a[p].yPos<0&&(c_a[p].yPos=100);let fd=1;c_a[p].yPos<5&&0!=y_s&&(fd=c_a[p].yPos/5),95<c_a[p].yPos&&0!=y_s&&(fd=(100-c_a[p].yPos)/5),stroke(qc.h,qc.s,qc.l,fd),fill(qc.h,qc.s,qc.l,fd),ccy=c_a[p].yPos/100,ccy=(ccy+grav*ccy*(1-ccy))**(1-.5*grav)*(100-2*pad)+pad,cPt(.64*elw,.64*elh,ccx,ccy,m,p)}enCapa="b";for(let p=0;p<2*dn+1;p++){p%4==0&&(noStroke(),fill(bg.h,bg.s,bg.l,.04),rect(0,0,windowWidth,windowHeight)),ccx=c_b[p].xPos/100,ccx=(ccx+wind*ccx*(1-ccx))**(1-.5*wind)*(100-2*pad)+pad,c_b[p].yPos=c_b[p].yPos+2*y_s,100<c_b[p].yPos&&(c_b[p].yPos=0),c_b[p].yPos<0&&(c_b[p].yPos=100);let fd=1;c_b[p].yPos<5&&0!=y_s&&(fd=c_b[p].yPos/5),95<c_b[p].yPos&&0!=y_s&&(fd=(100-c_b[p].yPos)/5),stroke(qc.h,qc.s,qc.l,fd),fill(qc.h,qc.s,qc.l,fd),ccy=c_b[p].yPos/100,ccy=(ccy+grav*ccy*(1-ccy))**(1-.5*grav)*(100-2*pad)+pad,cPt(elw,elh,ccx,ccy,m,p,fd)}var or=pad/100+.05,ld=1-2*or;1==vg&&"Tritone"!=clrStl&&aPt(bg),"Tritone"==clrStl&&(aPt(fr),bg.l<90&&fr.l<90?stroke(255):stroke(fr.h,fr.s-10,fr.l-20),strokeWeight(1+floor(lado/200)),noFill(),hoyo?(circle(lado/2,lado/2,lado*ld),r1=ld/2,r2=.6*ld):rect(lado*or,lado*or,lado*ld,lado*ld)),1==lnta&&"Tritone"!=clrStl&&(stroke(fr.h,fr.s,fr.l),strokeWeight(1+floor(lado/200)),noFill(),hoyo?(circle(lado/2,lado/2,lado*ld),r1=ld/2,r2=.6*ld):rect(lado*or,lado*or,lado*ld,lado*ld)),enCapa="c";for(let p=0;p<dn+2;p++){ccx=c_c[p].xPos/100,ccx=(ccx+wind*ccx*(1-ccx))**(1-.5*wind)*(100-2*pad)+pad,c_c[p].yPos=c_c[p].yPos+y_s,100<c_c[p].yPos&&(c_c[p].yPos=0),c_c[p].yPos<0&&(c_c[p].yPos=100);let fd=1;c_c[p].yPos<5&&0!=y_s&&(fd=c_c[p].yPos/5),95<c_c[p].yPos&&0!=y_s&&(fd=(100-c_c[p].yPos)/5),ccy=c_c[p].yPos/100,ccy=(ccy+grav*ccy*(1-ccy))**(1-.5*grav)*(100-2*pad)+pad;var dist=sqrt(abs(ccx*ws-lado/2)**2+abs(ccy*hs-lado/2)**2);1==hoyo&&dist>lado*r1&&(fd=10*(r2-dist/ws/100),dist>lado*r2&&(fd=0)),stroke(qc.h,qc.s,qc.l,fd),fill(qc.h,qc.s,qc.l,fd),cPt(1.36*elw,1.36*elh,ccx,ccy,m,p,fd)}}function cPt(elw,elh,ccx,ccy,m,p,fd=1){if(r=.5*elw,"pills"==stl&&(r=.98*elw),"sharp"==stl&&(r=0*elw),lHz=(ccx+elw/ws)/100-lbr,rHz=(ccx-elw/ws)/100-rbr,tHz=(ccy+elh/ws)/100-lbr,bHz=(ccy-elh/ws)/100-rbr,-.001<lHz&&lHz<.008&&(ccx=ccx+2e3*lHz+1),-.008<rHz&&rHz<.001&&(ccx=ccx+2e3*rHz+1),0==y_s&&1==lnta){if(tHz>-1*tlex&&tHz<tlin)return;if(bHz>-1*blin&&bHz<blex)return}cx=ccx*ws,cy=ccy*ws-elw*m/2,aix=cx-elw,aiy=cy-elh+r,a1x=cx-elw,a1y=cy-elh+r/3,a2x=cx-elw+r/3,a2y=cy-elh+r/3*(m/2),afx=cx-elw+r,afy=cy-elh+r*m/2,bix=cx+elw-r,biy=cy-elh+elw*m-r*m/2,b1x=cx+elw-r/3,b1y=cy-elh+elw*m-r/3*(m/2),b2x=cx+elw,b2y=cy-elh+elw*m+r/3,bfx=cx+elw,bfy=cy-elh+elw*m+r,cix=cx+elw,ciy=cy+elh+elw*m-r,c1x=cx+elw,c1y=cy+elh+elw*m-r/3,c2x=cx+elw-r/3,c2y=cy+elh+elw*m-r/3*(m/2),cfx=cx+elw-r,cfy=cy+elh+elw*m-r*m/2,dix=cx-elw+r,diy=cy+elh+r*m/2,d1x=cx-elw+r/3,d1y=cy+elh+r/3*(m/2),d2x=cx-elw,d2y=cy+elh-m-r/3,dfx=cx-elw,dfy=cy+elh-r,360<p&&(p-=360),h=floor((ccx+ccy)*s+bg.h+p*s),359<h&&(h-=360),"Wireframes"==qFl?(strokeWeight(.5+lado/500),noFill()):noStroke(),"Rumba"==clrStl?(stroke(h,85,50,fd*op),fill(h,85,50,fd*op),"Wireframes"==qFl?(strokeWeight(.5+lado/500),noFill()):noStroke()):"Tritone"!=clrStl&&"c"==enCapa&&p==dn+1&&abs(gl.l-45)<20&&50<gl.s&&1==mg&&25<ccx&&ccx<75&&25<ccy&&ccy<75&&(fill(gl.h,gl.s,gl.l),"Wireframes"==qFl&&15<dn?(fill(gl.h,gl.s,gl.l,fd),noStroke()):"B&W"==clrStl&&bg.h<180&&strokeWeight(.5+lado/500),(ccy<29||71<ccy)&&(floor(5*ccy)%2!=1&&floor(2*ccy)%3!=2||noFill()),(ccy<27||73<ccy)&&(floor(5*ccy)%3!=0&&floor(2*ccy)%3!=1||noFill())),"sharp"!=stl?(beginShape(),vertex(aix,aiy),bezierVertex(a1x,a1y,a2x,a2y,afx,afy),vertex(bix,biy),bezierVertex(b1x,b1y,b2x,b2y,bfx,bfy),vertex(cix,ciy),bezierVertex(c1x,c1y,c2x,c2y,cfx,cfy),vertex(dix,diy),bezierVertex(d1x,d1y,d2x,d2y,dfx,dfy)):(beginShape(),vertex(aix,aiy),vertex(bix,biy),vertex(cix,ciy),vertex(dix,diy)),endShape(CLOSE)}function toHSL(min){var l=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(min),r=parseInt(l[1],16),g=parseInt(l[2],16),b=parseInt(l[3],16);r/=255,g/=255,b/=255;var h,max=Math.max(r,g,b),min=Math.min(r,g,b),l=(max+min)/2;if(max==min)h=s=0;else{var d=max-min,s=.5<l?d/(2-max-min):d/(max+min);switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4}h/=6}return{h:h=Math.round(360*h),s:s=Math.round(100*s),l:l=Math.round(100*l)}}function aPt(fr){noFill(),stroke(fr.h,fr.s,fr.l),strokeWeight(lado*lbr),rect(lado*lbr/2,lado*lbr/2,lado-lado*lbr,lado-lado*lbr),!0===hoyo&&circle(lado/2,lado/2,lado-lado*lbr)}function keyPressed(){keyCode==RIGHT_ARROW&&wind<.8?wind+=.04:keyCode==LEFT_ARROW&&-.8<wind&&(wind-=.04),keyCode==DOWN_ARROW&&y_s<1&&(y_s+=.01),keyCode==UP_ARROW&&-1<y_s&&(y_s-=.01)," "==key&&(y_s=0),"m"==key&&dn<60&&(dn+=1),"l"==key&&1<dn&&(dn-=1),"s"===key&&save(tokenData.hash+"png")}