0x85582125…5972sent to0x99a9b7c1…b069·#16,454,479·view on Etherscan
let e=window.p5;class t{constructor(e){this.useA=!1,this.hash=e;let t=function(e){let t=parseInt(e.substr(0,8),16),n=parseInt(e.substr(8,8),16),l=parseInt(e.substr(16,8),16),o=parseInt(e.substr(24,8),16);return function(){t|=0,n|=0,l|=0,o|=0;let e=(t+n|0)+o|0;return o=o+1|0,t=n^n>>>9,n=l+(l<<3)|0,l=l<<21|l>>>11,l=l+e|0,(e>>>0)/4294967296}};console.log("Using hash: "+this.hash),this.prngA=t(this.hash.substr(2,32)),this.prngB=t(this.hash.substr(34,32));for(let e=0;e<1e6;e+=2)this.prngA(),this.prngB()}dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}num(e,t){return e+(t-e)*this.dec()}int(e,t){return Math.floor(this.num(e,t))}bool(e=50){return this.dec()<e/100}choice(e){return e[this.int(0,e.length)]}easedDec(e){return e(this.dec())}easedInt(e,t,n){return Math.floor(this.easedNum(e,t,n))}easedNum(e,t,n){return t+(n-t)*this.easedDec(e)}weightedChoice(...e){let t=0,n=[];for(t=0;t<e.length;t++)n[t]=e[t][0]+(n[t-1]||0);const l=this.dec()*n[n.length-1];for(t=0;t<n.length&&!(n[t]>l);t++);return e[t][1]}}let n;n="undefined"!=typeof tokenData?"string"==typeof tokenData?tokenData:tokenData.hash:function(){const e=new URLSearchParams(globalThis.location.search).get("hash");if(e)return e;let t="0x";for(var n=0;n<64;n++)t+=Math.floor(16*Math.random()).toString(16);return window.tokenData={hash:t},t}();let l=null,o=null,i={obj:[]},r=null,a=null,s=null,h=null,c=null,g=null,f=null,d=[{name:"Sin",bg:["#ece1cf"],stroke:["#ece1cf"],line:["#131F2A"],highlight:["#fff"],lowlight:["#05080B"],base:["#ece1cf"],accent:["#ece1cf","#ece1cf","#be2a19"]},{name:"Beach",bg:["#DDC7B1"],stroke:["#F4E8DC"],line:["#131F2A"],highlight:["#fff"],lowlight:["#05080B"],base:["#e9d2bc"],accent:["#3c534b","#45525c","#b2780f","#d6966a","#a2b6ad"]},{name:"Citronello",bg:["#BBB7A5"],stroke:["#f3efdd"],line:["#162022"],highlight:["#E6E3D6"],lowlight:["#05080B"],base:["#E6E3D6","#DAD7C8","#D2CEBC","#efd492"],accent:["#f8d46e","#86A2BB","#95333c"]},{name:"Poster",bg:["#8b8b89"],stroke:["#F2F1ED"],line:["#162022"],highlight:["#fff"],lowlight:["#05080B"],base:["#dddbd1","#dddbd1","#babfb6","#B0B4AC"],accent:["#f8d46e","#de786f","#70955a","#505b7f"]},{name:"Dark Crystals",bg:["#C3BFB1"],stroke:["#dddbd1"],line:["#16232C"],highlight:["#fff"],lowlight:["#000"],base:["#dddbd1","#e3e0d5","#d2d6e2"],accent:["#066278","#e28a91","#eac4c5","#f2cd43","#d94939","#e9aa26","#0b2732","#065773","#e7d4da"]},{name:"Stone",bg:["#9e9995"],stroke:["#F0EDE6"],line:["#0D0F12"],highlight:["#F0EDE6"],lowlight:["#000"],base:["#F0EDE6","#9e9995","#b4b0a7","#d8d2c4","#F0EDE6"],accent:["#1A191F","#443F3F"]},{name:"Charcoal",bg:["#C1C3C8"],stroke:["#E1E4EA"],line:["#000"],highlight:["#fff"],lowlight:["#000"],base:["#E1E4EA","#E1E4EA","#62646A","#62646A","#2F3237"],accent:["#14171E","#22252A"]},{name:"Accents",bg:["#2963A2"],stroke:["#2963A2"],line:["#14171E"],highlight:["#fff"],lowlight:["#000"],base:["#2963A2","#2963A2"],accent:["#14171E","#F4C1C4","#ECAA13","#DB4D2C","#088969"]},{name:"Frank Minimal",bg:["#C3BAAC"],line:["#1F2228"],highlight:["#fff"],lowlight:["#05080B"],base:["#d7d2c9","#edeae2"],stroke:["#edeae2"],accent:["#181e3e","#1d3359","#dfa82e","#be2a19","#e0a453","#2d5d7d"]},{name:"Beige Box",bg:["#E2DDCD"],line:["#1d1e20"],highlight:["#fff"],lowlight:["#05080B"],base:["#E2DDCD"],stroke:["#C96997"],accent:["#7f716c","#e08f38","#679e6b","#6889ba","#e9c835"]},{name:"Master",bg:["#d7d2c9"],suitability:["Giant","Deconstruct"],line:["#25211d"],highlight:["#fff"],lowlight:["#05080B"],base:["#d7d2c9"],stroke:["#e8dddc"],accent:["#b9792a","#9fc6e1","#7287a4","#25574a","#98aea0","#e35a2e"]},{name:"Aubergine Mono",bg:["#7858A2"],stroke:["#7858A2"],line:["#1A191F"],highlight:["#fff"],lowlight:["#000"],base:["#9377B5","#8B6EB0","#7858A2","#684c8c"],accent:["#684c8c"]},{name:"New York Autumn",bg:["#e4d7cb"],stroke:["#EECD91"],line:["#141517"],highlight:["#fff"],lowlight:["#000"],base:["#e6d4c7","#ebe1d1"],accent:["#3e5e57","#bcb174","#4b79a0","#5f4c30","#e0c0b0","#e4af50","#eecc61","#b7555a","#af474a"]},{name:"Aged",bg:["#eadcbb"],stroke:["#F0EBE0"],line:["#282625"],highlight:["#F0EBE0"],lowlight:["#000"],base:["#EBE5D6","#eadcbb","#DBCCA9","#C0B291"],accent:["#d97142","#447d5b","#AA3631","#e3a841","#d3b29f","#32626f"]},{name:"Ink & Colour",bg:["#d0d3d7"],stroke:["#F1F0EE"],line:["#1b201d"],highlight:["#F1F0EE"],lowlight:["#000"],base:["#DFE0E2","#d0d3d7","#C4C9CF"],accent:["#d94c41","#4e4374","#e8abb5","#33584b","#1e2b3b","#b5843c"]},{name:"Flare",bg:["#ecdac3"],stroke:["#d6d3d1"],line:["#1F1E1E"],highlight:["#FFFDF4"],lowlight:["#060102"],base:["#eae9dd","#ecdac3"],accent:["#2d68a5","#e3bc48","#35695f","#d04b29"]},{name:"Screenprint",bg:["#d9c8af"],stroke:["#e4d4ca"],line:["#37252A"],highlight:["#FFFDF4"],lowlight:["#271D20"],base:["#c18596","#9c5a72","#894f65"],accent:["#677885","#e7a33e"]},{name:"Henri",bg:["#eee5d7"],stroke:["#8b93c1"],line:["#221f20"],highlight:["#f4f3e7"],lowlight:["#221f20"],base:["#f4f3e7","#ebdecc"],accent:["#d14434","#dd924c","#d6a146","#1a4249","#e7b4a6"]},{name:"Henri Dark",bg:["#eee5d7"],stroke:["#d78c7a"],line:["#221f20"],highlight:["#f4f3e7"],lowlight:["#221f20"],base:["#f1dfc6"],accent:["#2a646f","#1e4c4a","#e9af5f","#8cacb7","#295d7c"]},{name:"Olivetti",bg:["#1d1e20"],darkBg:!0,line:["#231e1a"],highlight:["#f4f3e7"],lowlight:["#231e1a"],stroke:["#e08f38"],base:["#E2DDCD","#b9b5aa","#726e6d"],accent:["#e08f38","#679e6b","#6889ba","#db6438","#C96997","#e9c835"]},{name:"Rand-ey",bg:["#14171e"],darkBg:!0,line:["#151418"],highlight:["#fff"],lowlight:["#14171e"],stroke:["#e6e0d2"],base:["#686e6e","#e9d9d2","#e6e0d2"],accent:["#c03145","#295b86","#6e548b","#e8940e","#077152"]},{name:"Fisherprice",bg:["#9e9995"],highlight:["#fff"],lowlight:["#0D0F12"],line:["#1A191F"],stroke:["#F0EDE6"],base:["#b4b0a7","#d8d2c4","#F0EDE6","#9e9995"],accent:["#F4C1C4","#2963A2","#ECAA13","#DB4D2C","#088969"]}];const{pow:b,cos:u,sin:m,sqrt:p,PI:k}=Math,w=e=>e*e*e,E=e=>e*e*e*e*e,x=e=>1-u(e*k/2),y=e=>m(e*k/2);function C(e,t){let n=null;for(const l in t){let t=parseFloat(l);t<=e&&(n=t)}return t[n]}let D,F,A,M,S={},B=!1,Y="default",j=60,v=60,I=!0,L=!1,W=!1,X=!1,N=!0,O=1,R=80,P=!1,V=100,H=16,T=0,U=70,q=200,G=1,z=140,J=!1,$=!1,Q=1,_=0,K=6,Z=700,ee=1.5,te=1.9,ne=0,le=10,oe=6,ie=6,re=2e3,ae=1e3,se=15,he=10,ce=1,ge=1,fe=!0,de=0,be=.35,ue=1.2,me=!1,pe=2.5,ke=.99,we=!1,Ee=1,xe=1,ye=.0013,Ce=800,De=3,Fe=.6,Ae=1,Me=0,Se=0;const Be=()=>{let e=l.num(-.4,-.15);const t=l.num(-.05,.05);ce=e,ge=e+t,I||(ce=Math.abs(ce),ge=Math.abs(ge))},Ye=e=>{M=e,le=Math.floor(le/e*1.5),Z*=.6*e,T*=e,ie*=.8*e,oe*=.8*e,be/=.8*e,ue/=.8*e,he/=2.5*e,se/=e,ee+=e/5,te+=e/5,pe*=e,ye*=.8*e},je=()=>{Ce=l.num(40,100),De=2,Fe=.7,Ee=l.num(.21,1.1),xe=l.num(.19,.21),Ae=l.num(.5,.1),Me=l.easedNum(x,-.21,-.12),I||(xe*=2.75,Ee*=1.9)};let ve=e=>{Y="Filled",I=l.bool(50),Be(),je(),U=l.int(20,80),T=l.bool(4)?0:l.easedInt(y,150,500),le=l.int(8,14),z=100,he=9,se=9,de=l.bool(30)?0:l.easedInt(x,1,3),ie=l.int(15,25)-de,oe=l.int(15,25)-de,H=6,Z=l.int(560,710),q=l.int(100,1e3),Se=l.num(0,.25),me=l.bool(35),me&&(N=!0),G=l.bool(30)?l.num(.05,.4):0,re=l.int(100,300),ae=l.int(100,300),P=!1,ne=l.bool(5)?l.num(.03,.1):0,v=0,j=500,me||(L=!0),G>0&&!me&&l.bool(60)&&(G*=1.8),0==G&&(N=l.bool(35),N&&(L=!0)),!e&&l.bool(20)&&Ye(l.num(2,2.5))},Ie=()=>{ve(!0),Be(),Y="Giant",we=!0,de=0,T=l.easedInt(y,100,400),U=l.int(30,60),Z=710,ie=l.int(15,20),oe=l.int(8,15),ae=l.num(300,1e3),re=600,G=0,R=0,V=0,H=10,Ee=l.num(10,15),xe=l.num(.17,.2),Ce=l.int(30,150),Me=-.1,he=l.int(100,210),se=l.int(500,800),j=93,v=30,fe=l.bool(90),ne=0,L=l.bool(50),W=!0,N=!1,he<190&&l.bool(60)&&(L=!1,N=!0,O=1.25,V=0),X=!0,l.bool(30)&&!M&&(le*=1.5,Ye(l.num(1.9,2.1)))},Le=()=>{Y="Deconstruct",Be(),pe=l.num(2,4),J=!0,$=!0,_=0,Q=l.int(3,5),K=l.num(1,2.7),U=l.int(30,60),T=l.easedInt(y,100,250),le=8,ie=l.int(8,10),oe=l.int(8,10),de=1,R=10,H=4,Z=l.int(700,710),Se=l.num(0,.3),me=!0,G=l.num(.6,1.35),N=!0,O=1.5,re=l.easedInt(x,0,800),ae=l.easedInt(x,0,450),P=G>0,ne=l.bool(50)?0:.01,q=l.num(100,1200),j=500,v=5,Ee=50,xe=.15,Ce=l.int(80,200),Me=-.15,he=l.num(80,150),se=l.num(80,150),0==G&&(L=l.bool(50)),fe=l.bool(87),l.bool(30)&&Ye(l.num(1.7,2))},We=()=>{je(),Be(),Y="Fragment",N=!1,U=l.int(30,90),T=l.bool(5)?0:l.int(100,250),le=l.int(7,10),de=l.bool(20)?0:l.int(0,2),ie=l.easedInt(x,15,25)-1.5*de,oe=l.easedInt(x,15,25)-1.5*de,V=80,Ee=l.num(.8,1.8),xe=l.num(.5,.8),H=5,Z=l.int(690,700),q=l.int(400,1e3),Se=l.num(0,.3),me=!1,G=0,re=l.int(0,600),ae=l.int(0,600),P=G>0,ne=0,v=5,j=l.bool(5)?l.num(40,50):l.num(65,90),L=!0,Me=l.num(-.18,-.05),fe=l.bool(95),l.bool(40)&&(ee-=.5,te-=.5,Ye(l.num(2,2.1)))};function Xe(){A=l.int(0,9e9);let e=l.weightedChoice([50,ve],[15,We],[25,Ie],[20,Le]);pe=l.num(3,6),ke=l.num(.2,.4),e();let t=d.filter((e=>!e.suitability||!e.suitability.includes(Y)));D=l.choice(t),D.darkBg&&(B=!0,me&&(me=!1,L=!0),"Filled"==Y&&G>0&&(G/=2),"Deconstruct"==Y&&(R=0)),F=l.choice(D.bg),((e=700)=>{o&&(a=o.floor(.72*e),s=o.floor(e),o.windowWidth<.72*o.windowHeight?(f=o.ceil(o.windowWidth*(1/.72)),g=o.windowWidth+1):(f=o.ceil(o.windowHeight-0),g=o.ceil(.72*(o.windowHeight-0))+1),r=g/a)})(Z);let n="High",i="Medium",h="Tiny",c="Small",b="Large",u="Huge",m="Very High";return S={"Genome Base":Y,Palette:D.name,"Colours & Details":C(T,{0:"None",1:"Few",50:"Some",150:i,200:n,300:m,350:"Loads"}),"Pen Weight":C(Z,{500:b,600:i,700:c,730:h}),"Fragment Scale":C(he*xe,{0:h,2:c,5:i,15:b,8e3:u}),"Fragment Range":C(he*Ee,{0:h,2:c,5:i,15:b,30:u}),Scale:M?C(M,{0:i,2.1:c,2.3:h}):"Regular",Border:(()=>{let e="None";return G>0&&me?e="Natural":G>0&&!me?e="Construction lines":0==G&&L?e="Margin":N&&(e="Detail gap"),e})(),Tension:C(Math.abs(ce),{0:"Very Low",.2:"Low",.3:i,.4:n,.6:m}),"Contrast Range":C(Math.abs(Me),{0:"Light",.12:i,.18:"Strong",.25:"Mega"})},fe||(S.Straussian=!0),S}function Ne(e,t,n,l,i){let r=e+n/2*o.cos(i),a=t+l/2*o.sin(i);return o.createVector(r,a)}function Oe(e,t=0){return e[0]>-t&&e[0]<a+t&&e[1]>-t&&e[1]<s+t}function Re(t,n=1){let l=Pe(t),o=[];for(let i of t)o.push(e.Vector.lerp(l,i,n));return o}function Pe(e){let t=o.createVector(0,0);for(let n of e)t.add(n);return t.div(e.length)}function Ve(e){let t=Pe(function(e){let t=[];for(let n of e)t.push(o.createVector(n[0],n[1]));return t}(e));return[t.x,t.y]}function He(e){let t=0;for(le