memoscan
← all memos

Memo 0x4b8a5fba…47c37f on Ethereum

///12 function convertAsm(){let e=atob(asm64),i=e.length,g=new Uint8Array(i);for(let m=0;m<i;m++)g[m]=e[m].charCodeAt(0);asmImgW=1920,asmImgH=128,asmImg=createImage(asmImgW,asmImgH),asmImg.loadPixels();let m=0;for(let e=0;e<g.length;e++){let i=g[e];for(let e=7;e>=0;e--){let g=~~(m/asmImgW),a=m%asmImgW,t=color(0,0,0,255-255*((i&1<<e)>>e));asmImg.set(a,g,t),m++}}asmImg.updatePixels()} function loadAsm(){glyCL=[36,36,37,29,31,35,27,39,8,63,0,60,55,18,59,12,33,12,61,12];glyCR=[73,65,65,68,73,67,73,72,47,76,43,96,93,53,85,63,70,48,82,50]; let encAsm=";/762;5;/318;+AB;/317;8AB;/141;+B;/174;wAA;/141;4Af;/173;gAA;/141;wAP;/173;AAA;/141;gAP;/173;AAA;/141;AAH;/172;+AAA;/140;+AAH;/172;8AAA;/140;8AAD;/172;4AAA;/140;4AAD;/172;4AAA;/140;wAAH;/172;wAAB;/140;gAAH;/172;gAAB;/112;+P;/26;AAAH;/172;gAAD;/112;8H;/25;+AAAP;/172;AAAH;/112;4H;/25;+AAAP;/172;AAAf;/112;wD;/25;8AAAf;/171;+AA;/114;wB;/25;4AAB;/172;+AB;/34;f;/79;gB;/25;4AAH;/172;+AD;/33;wH;/79;gB;/25;4AA;/173;+AD;/33;AD;/79;AA;/25;wAH;/173;+AH;/32;+AD;/78;+AA;/25;wAf;/173;8AH;/32;8AD;/78;8AA;/25;wA;/174;8AH;/32;8AD;/58;wf;/18;8AAf;/24;wB;/174;8AP;/32;8AH;/58;AH;/18;8AAf;/24;gB;/174;8AP;/32;8AH;/57;8AD;/18;+AAf;/24;gD;/174;4AP;/32;8AH;/57;gAB;/19;AAf;/24;gD;/174;4Af;/32;4AP;/56;8AAB;/19;gAf;/24;gD;/174;4Af;/32;4AP;/56;wAAB;/19;gA;/25;gH;/174;4Af;/32;8Af;/56;gAAD;/19;wA;/25;AH;/35;8f;/137;4A;/33;8Af;/56;AAAD;/19;wA;/25;AH;/35;gH;/137;wA;/33;8A;/56;+AAAD;/19;wB;/24;+AD;/35;gD;/137;wA;/33;8A;/56;+AAAD;/19;wB;/24;8AB;/35;AD;/137;wB;/33;+B;/56;8AAAD;/19;wB;/24;gAAA;/34;AD;/137;wB;/91;8AAAD;/19;wD;/23;+AAAAP;/32;+AD;/137;wB;/91;4AGAD;/19;wD;/23;8AAAAP;/32;+AD;/137;gD;/91;4A;/1;AH;/19;gH;/23;4AAAAf;/32;8AD;/137;gD;/91;wD;/1;AH;/19;gH;/23;4AAAAf;/32;8AD;/137;gD;/91;wH;/1;AH;/19;gP;/23;8AAAA;/33;4AD;/137;gD;/91;wP+AP;/19;AP;/24;gAB;/34;wAH;/137;gH;/91;gf+AP;/19;Af;/24;8Af;/34;wAH;/29;f;/107;AH;/91;gf+AP;/18;+Af;/24;+Af;/34;gAP;/27;+AH;/29;h;/32;9;/13;+B;/16;4D;/11;AH;/91;A;/1;+Af;/18;8A;/25;+Af;/33;8AAf;/27;8AH;/12;8Af;/13;8AP;/12;v;/15;7;/2;w;/13;4AP;/12;g;/2;wB;/11;AH;/84;8P;/5;A;/1;+Af;/18;4B;/25;+Af;/33;gA4;/28;wAD;/12;gAH;/13;4AH;/11;8D;/1;+B;/12;A;/2;gf;/12;wAH;/12;Af;/1;wB;/11;AH;/84;wH;/4;+B;/1;8Af;/18;4D;/25;+A;/34;gB;/28;+AAD;/11;+AAD;/13;gAD;/11;4B;/1;8A;/11;+Af;/1;Af;/12;gAD;/11;+Af;/1;wB;/10;+AP;/67;8H;/15;gD;/4;8B;/1;8Af;/18;wD;/25;+A;/34;gD;/28;wAAD;/11;4AAD;/12;+AAD;/11;gB;/1;wAf;/10;4Af+AP;/12;AAD;/11;8Af;/1;wB;/10;+AP;/67;wD;/15;AD;/4;8D;/1;4Af;/17;zgH;/25;+A;/34;gH;/28;gAAH;/11;wAAB;/12;8AAB;/11;AB;/1;gAf;/10;wAf8AP;/11;+AAB;/11;4Af;/1;wB;/10;+AP;/67;gB;/14;+AD;/4;4D;/1;4Af;/17;gAP;/25;8A;/34;gP;/27;+AAAH;/11;gAAB;/12;4AAB;/10;+AB;/1;AAf;/10;gAf4AP;/11;8AAB;/11;wA;/2;gB;/10;+AP;/67;AA;/14;8AD;/4;4D;/1;wAf;/17;gAf;/25;8B;/34;gf;/27;+AAAH;/11;AAAB;/12;wAAB;/10;8AB+AAP;/10;AAfwAP;/11;4AAA;/11;gA;/2;gB;/10;8Af;/66;+AA;/14;4AD;/4;4H;/1;gA;/18;gA;/26;8B;/15;9;/18;w;/28;8AAAH;/11;AAAB;/12;gDwB;/10;4AD8AAP;/9;+AA;/1;wAP;/11;wAAA;/11;AA;/2;gB;/10;8Af;/66;8AAf;/13;wAD;/4;wH;/1;gA;/18;gD;/26;8B;/15;5;/18;w;/28;4AAAP;/11;AAAD;/12;gH4B;/10;wAD4AAP;/9;8AA;/1;gAP;/11;wAAAf;/9;+AA;/2;gD;/10;8Af;/66;4AAf;/13;gAD;/4;wH;/1;AA;/18;gH;/26;8D;/15;x;/18;9;/28;wBwAP;/10;+AAAD;/12;AH4B;/10;gADgAAP;/9;4AA;/1;AAP;/11;gAAAf;/9;4AB;/2;AD;/10;8Af;/66;AAAf;/13;AAH;/4;gH+AA;/18;gP;/26;8D;/15;x;/47;gD4AP;/10;+AAAH;/12;AP4B;/10;gADAAAP;/9;4AA+AAf;/11;AAAAf;/9;wAB;/2;AD;/10;8A;/66;4AAAf;/12;+AAH;/4;gP8AA;/18;Af;/26;8D;/15;h;/47;AH4AP;/10;+AAAP;/11;+APwD;/10;AACAAAP;/9;wAA8AAf;/11;ADwAf;/9;gAB;/2;AD;/10;8A;/66;wBwAf;/12;4AAH;/4;gP8AA;/18;A;/27;8;/16;h;/46;+AP4Af;/10;8AH;/13;+APwD;/9;+AACAAAP;/9;gAA4AAf;/10;+AH4Af;/9;AAB;/1;+AD;/10;4B;/66;gD4Af;/12;gAAH;/4;AP4AA;/17;+H;/27;4;/16;B;/46;+Af4Af;/10;8Af;/13;+APgP;/9;+AAAAcAP;/9;gAAQAAf;/10;+AP4Af;/8;8AAD;/1;+AH;/10;4B;/66;gH4Af;/12;AAAH;/4;APwAB;/46;4;/16;B;/46;8Af4Af;/10;8Af;/13;8AOAf;/9;+AAAA+AP;/9;gAAAAAf;/10;8Af8Af;/8;8AAD;/1;+AH;/10;4D;/66;AP4A;/12;8AAAP;/4;APgIB;/46;5;/15;+B;/46;4A;/1;4Af;/10;4A;/14;8AAA;/10;+PAAD+AP;/9;jwAAAA;/11;8A;/1;8Af;/8;4AAD;/1;8AH;/10;4H;/66;AP4A;/12;4AcAP;/4;AHAYB;/46;5;/15;+B;/46;4B;/1;4A;/11;4A;/14;4AAD;/12;AAH;/1;AP;/10;wABwA;/11;4B;/1;8Af;/8;4AAH;/1;8AP;/10;4P;/66;Af4B;/12;gB+AP;/4;AGA4B;/62;8B;/46;wB;/1;4A;/11;4B;/14;4AAH;/12;AAP;/1;AP;/10;wAH4A;/11;4D;/1;+Af;/8;8PAH;/1;4AP;/10;4;/67;Af4B;/12;AD+AP;/4;AAB4B;/62;8D;/46;wD;/1;wA;/11;4B;/14;4AAf;/12;AAf;/1;AP;/10;wAP4A;/11;wD;/1;+Af;/10;AH;/1;4Af;/10;5;/67;AfwD;/11;+AH+AP;/4;AADwD;/62;4D;/46;wD;/1;wB;/11;4B;/14;4AB;/12;+AA;/2;AP;/10;wAP4A;/11;wH;/1;+Af;/10;AH;/1;wAf;/10;5;/67;AfgD;/11;+AP+Af;/4;AAHwD;/62;4H;/46;gH;/1;gB;/11;wB;/14;wAH;/12;+AA;/2;AP;/10;wAf4B;/11;gH;/1;+A;/11;AP;/1;wA;/59;x;/19;AfgH;/11;8Af+Af;/4;AAPwD;/62;4H;/46;gH;/1;gB;/11;wB;/14;wAP;/12;+AB;/2;AP;/10;wAf4B;/11;gP;/1;+A;/11;AP;/1;gA;/59;g;/19;AeAP;/11;8A;/1;+Af;/4;AAfwH;/62;wP;/46;gP;/1;AB;/11;wD;/14;wAf;/12;+AD;/2;AP;/10;wA;/1;4B;/11;gP;/1;8A;/11;AP;/1;gA;/59;g;/19;AAAP;/11;8A;/1;+Af;/4;AA;/1;wH;/62;wP;/46;gP;/1;AB;/11;wD;/14;wA;/13;8AD;/2;AP;/10;wA;/1;4B;/11;AP;/1;8B;/10;+AP;/1;AB;/59;Af;/18;AAAP;/11;8B;/1;8A;/5;gB;/1;gH;/62;wP;/46;gP+AB;/11;gD;/14;wB;/13;8AH;/1;+Af;/10;gB;/1;wD;/11;Af;/1;8B;/10;+Af;/1;AB;/59;Af;/18;gAAP;/11;8B;/1;8A;/5;gB;/1;gP;/62;wP;/31;f;/14;AP+AB;/11;gD;/14;wB;/13;8AH;/1;+Af;/10;gB;/1;wD;/11;Af;/1;4B;/10;+Af;/1;AD;/59;Af;/18;gAAP;/11;8D;/1;8A;/5;gD;/1;gP;/62;gf;/29;+Af;/14;AP8AB;/11;gD;/14;wB;/13;8AP;/1;+Af;/10;gD;/1;wD;/11;Af;/1;4D;/10;8Af+AD;/59;Af;/18;wAAP;/11;4D;/1;8A;/5;wH;/1;gP;/62;gf;/29;8Af;/14;AP8AB;/11;gH;/14;gB;/13;4AP;/1;8Af;/10;gD;/1;wD;/10;+Af;/1;wD;/10;8Af8AD;/59;Af;/18;58AP;/11;4D;/1;4B;/5;wP;/1;gP;/62;gf;/29;AAf;/14;AP4AB;/11;AH;/14;gD;/13;4AP;/1;8Af;/10;AD;/1;gH;/10;+Af;/1;wH;/10;8Af8AH;/59;Af;/19;+AH;/11;wH;/1;4B;/5;4f;/1;gf;/62;gf;/28;4AAf;/14;AHwAB;/1;f;/9;AH;/14;gD;/13;4Af;/1;4Af;/10;AD;/1;gH;/10;+A;/2;wH;/10;8Af4AH;/59;Af;/20;AH;/1;4;/9;wH;/1;4B;/8;gf;/62;Af;/28;wAAf;/14;AHgAB+f;/9;AH;/14;gD;/13;4Af;/1;4A;/11;AD;/1;gH8f;/8;+A;/2;gP;/10;4AfwAH+;/58;Af;/20;AD;/1;w;/9;wH;/1;4B;/1;H;/6;gf;/62;Af;/28;gAAf;/14;ADAMB8f;/9;AH;/1;4P;/11;gD;/13;4Af;/1;wA;/11;AH;/1;gH4f;/8;+Af;/1;gf;/10;4AfgAH4f;/57;Af;/20;gD;/1;g;/9;gH;/1;4B+H;/6;gf;/30;v;/31;Af;/27;+AAAf;/14;AAAcB4f;/9;AH;/1;wP;/11;gD;/1;w;/11;wAf;/1;wB;/11;AH;/1;APgf;/9;Af;/1;Af;/10;4AfAAHwf;/25;5;/30;+Af;/20;gB;/1;B;/9;gP;/1;wD4H;/6;gf;/30;n;/30;+Af;/27;8AAA;/15;AAA8Bwf;/9;AH;/1;gP;/11;gB;/1;A;/11;wA;/2;gB;/11;AH;/1;APA;/10;AP8A;/11;4AcAAHg;/26;g;/30;+Af;/20;wB+B;/9;4P;/1;wDwP;/6;gf;/30;D;/30;+Af;/27;wAAA;/15;AAA8Ag;/10;AD;/1;Af;/11;gB+A;/11;wA;/2;AD;/11;AH;/1;AMA;/10;AP4A;/11;4AAAAHA;/26;A;/30;8Af;/20;wA+B;/9;4f;/1;wDAP;/6;w;/31;D;/30;+Af;/27;gAAA;/15;AAB8AA;/10;AD+Af;/11;gA4A;/11;wA;/1;+AD;/10;+AP+AAB;/10;AHgB;/11;wAAOAAB;/26;A;/30;8Af;/20;wAMD;/9;8f;/1;gAAf;/6;x;/31;B;/30;+Af;/27;AAwA;/15;AAD8AB;/10;AB4A;/12;gAAB;/11;wA;/1;8AH;/10;+AP+AAD;/10;AAAB;/11;wAAOAAD;/26;A;/30;8Af;/20;4AAD;/9;8;/2;gAA;/7;x;/31;A;/30;8Af;/26;+AD4A;/15;AAH8AD;/10;AAgB;/12;gAAB;/11;wA;/1;4AH;/10;8AP+AAH;/10;AAAB;/11;wAAeAAD;/26;A;/30;8Af;/20;4AAH;/12;gAB;/7;z;/30;+A;/30;8Af;/26;+AH8B;/15;AAH4AH;/10;AAAB;/12;gAAD;/11;wB;/1;wAP;/10;8Af+AAP;/10;AAAD;/11;wAA+AAH;/25;+B;/30;8Af;/20;4AAP;/12;gAD;/38;+A;/30;8A;/27;8AP8B;/15;AAP4AP;/10;AAAD;/12;gAAH;/11;wB;/1;gAP;/10;8Af8AAf;/10;AAAH;/11;wAB8AAP;/25;+B;/30;8Af;/20;8AAP;/12;AAH;/38;+Af;/29;8A;/27;8Af8B;/15;AAf4Af;/10;gAAH;/12;gAAP;/11;wB;/1;AAf;/10;4Af8AA;/11;AAAP;/11;wAD8AAP;/25;+B;/30;8A;/21;8AAf;/12;AAP;/38;8Af;/29;8A;/27;8A;/1;8B;/15;AAf4A;/11;gAAP;/12;gAAf;/11;wB+AAf;/10;4A;/1;8AB;/11;AAAf;/11;wAH8AAf;/25;8B;/30;8A;/21;+AAf;/12;AAf;/38;8Af;/29;8A;/27;4B;/1;8B;/15;AA;/1;4A;/11;gAAf;/12;gAA;/12;4B+AA;/11;4A;/1;8AB;/11;gAAf;/11;wAP4AA;/26;wB;/30;4A;/21;+AA;/13;AAf;/38;8Af;/29;4A;/27;4B;/1;8B;/15;AB;/1;4B;/11;gAA;/13;gAD;/12;4D8AB;/11;4A;/1;8AD;/11;gAA;/12;wAf4AD;/26;gA;/30;4A;/22;AB;/13;AA;/39;4A;/30;4A;/27;4D;/1;4B;/15;gD;/1;4D;/11;gAD;/13;wAH;/12;4D8AB;/11;4B;/1;+AH;/11;gAD;/12;wA;/1;4AH;/26;AA;/30;4A;/22;AB;/13;gB;/39;4A;/30;4A;/27;wD;/1;4B;/15;gH;/1;4H;/11;wAH;/13;wAP;/12;4D8AB;/11;4B;/1;+AP;/11;wAH;/12;wB;/1;4AP;/25;+AA;/30;4A;/22;gD;/13;gD;/39;4A;/30;4A;/27;wH;/1;4B;/15;gP;/1;4P;/11;wAf;/13;4A;/13;8H8AD;/11;8B;/2;Af;/11;4Af;/12;wD;/1;4AP;/25;8AAf;/29;4A;/22;wH;/13;wH;/39;wB;/30;4A;/27;wH;/1;4D;/15;wf;/1;4P;/11;4B;/14;8B;/13;+f8AD;/12;j;/2;g;/12;8B;/13;4H;/1;8Af;/25;4AAf;/29;wA;/22;4P;/13;4P;/39;wB;/30;wB;/27;wH;/1;wD;/15;8;/2;4f;/11;8H;/31;+AH;/29;H;/13;4P;/1;+A;/26;gAAf;/29;wB;/22;8f;/54;gD;/30;wB;/27;gH;/1;wD;/18;4f;/45;Af;/43;8;/3;H;/25;+AAAP;/29;wB;/77;+AH;/30;wB;/27;gH;/1;gD;/18;8;/46;x;/74;4AcAP;/29;wB;/77;wAf;/30;wB;/27;gH;/1;gD;/140;wA+AH;/29;wD;/77;AA;/31;gB;/27;gP;/1;AD;/140;gB;/1;AH;/29;gD;/76;wAB;/31;gB;/27;gP;/1;AD;/139;+AD;/1;AH;/29;gD;/75;4AAD;/31;gB;/27;AH+AD;/1;P;/137;8AH;/1;gH;/29;gD;/75;wAAD;/31;gB;/27;AH8AD+P;/137;wAP;/1;gD;/29;gD;/75;gAAA;/3;8f;/26;gD;/27;AH4AD8P;/137;wAf;/1;gD;/29;gH;/75;gAAAf;/2;wH;/26;gD;/27;ABAAD4P;/137;gA;/2;gD;/29;AH;/75;AAAAH;/2;gH;/26;gD;/27;AAAADgf;/137;AB;/2;gD;/29;AH;/75;AAAAB;/2;AH;/26;gD;/26;+AAAAAA;/138;AB;/2;wB;/29;AP;/75;AAAAA;/1;+AH;/26;AD;/26;+AAAAAA;/137;+AD;/2;wB;/28;+AP;/75;AAAAAH4AH;/26;AD;/26;+AAAAAA;/137;8AD;/2;wB;/28;+Af;/75;AAgAAAAAH;/26;AD;/26;+AAAAAB;/137;8AH;/2;wB;/28;8Af;/75;gP8AAAAAP;/26;AD;/26;+AABAAB;/137;4AH;/2;wB;/28;8A;/76;wf;/1;AAAAAP;/26;AD;/26;+AAHAAD;/137;4AH;/2;gB;/28;4A;/79;wAAAAP;/26;AD;/26;+AAPAAH;/137;4AH;/2;gB;/25;9;/2;gB;/79;8AAAAf;/26;AD;/26;+AAfAAH;/137;4AH;/2;gB;/25;gP;/1;AD;/79;+AAAAf;/25;+AD;/26;+AA;/1;AAP;/137;wAH;/2;AB;/25;AB8AD;/80;gAAA;/26;+AB;/26;+AB;/1;AAf;/137;wAD;/1;+AB;/24;+AAAAH;/80;wAAD;/26;8AAf;/25;+AD;/1;AA;/138;wAA;/1;8AB;/24;8AAAAP;/80;8AAP;/26;wAAD;/25;+AH;/1;AA;/138;wAAP4AD;/24;4AAAAf;/80;+AB;/27;AAAB;/25;+AH;/1;AB;/138;4AAAAAD;/24;wAAAA;/110;gAAAB;/25;+AP;/1;AD;/138;4AAAAAH;/24;gAAAB;/109;4AAAAA;/26;Af;/1;AP;/138;8AAAAAP;/24;gAAAD;/109;wAAAAA;/26;g;/2;Af;/138;8AAAAAf;/24;AAAAH;/109;gAAAAA;/29;h;/139;+AAAAA;/25;AAAAP;/109;gAAD;/1;w;/29;3;/140;AAAAB;/25;AAAAf;/109;AAAP;/172;gAAAH;/25;wAAB;/110;AAA;/173;wAAAP;/25;8AAf;/110;gAB;/173;4AAAf;/139;wAP;/173;8AAB;/140;4H;/174;+AB;/827;"; asm64=rleDecode(encAsm);} function rleDecode(e){let t="",l=split(e,";");for(let e=0;e<l.length;e++){let n=l[e];if(n.length>0)if("/"==n[0]&&n.length>1){let e=Number(n.substring(1));for(let l=0;l<e;l++)t+="/"}else t+=n}return t} //PAPER let uNoiOff=[0,0],uGLNoi=.05,uCNoi=.05,uLFF=.55,uLFB=.85,uLFA=2.75,uSCC=.95,uHV=7,uSBP=.25,uFxS=8,uFxT=.03,uFxA=.5,uMil=.05; function updatePapU(){uNoiOff=[myRA(10),myRA(10)],uGLNoi=myRAB(.02,.06),uCNoi=myRAB(.03,.07),uLFF=myRAB(.49,.61),uLFB=myRAB(.78,.92),uLFA=myRAB(2.25,3.25),uSCC=pow(myRAB(.1,1),.1),uHV=myRAB(4,10),uSBP=myRAB(.2,.3),uFxS=myRAB(5,11),uMil=myR01()<.72?0:min(.05,pow(myRA(.13),1.55));let m=myR01();uFxT=map(m,0,1,.01,.3),uFxA=map(m,0,1,.42,.03)} function designOffscreenGraphicsForPaper(){ogP.shader(shPaper),shPaper.setUniform("uNoiOff",uNoiOff),shPaper.setUniform("uGLNoi",uGLNoi),shPaper.setUniform("uCNoi",uCNoi),shPaper.setUniform("uLFF",uLFF),shPaper.setUniform("uLFB",uLFB),shPaper.setUniform("uLFA",uLFA),shPaper.setUniform("uSCC",uSCC),shPaper.setUniform("uHV",uHV),shPaper.setUniform("uSBP",uSBP),shPaper.setUniform("uFxS",uFxS),shPaper.setUniform("uFxT",uFxT),shPaper.setUniform("uFxA",uFxA),shPaper.setUniform("uMil",uMil),ogP.rect(0,0,SHW,SHH)} //RANDOM class Random { constructor(){ this.useA=false; let sfc32=function(uint128Hex){ let a=parseInt(uint128Hex.substring(0,8),16); let b=parseInt(uint128Hex.substring(8,16),16); let c=parseInt(uint128Hex.substring(16,24),16); let d=parseInt(uint128Hex.substring(24,32),16); return function(){ a|=0;b|=0;c|=0;d|=0; let t=(((a+b)|0)+d)|0; d=(d+1)|0; a=b^(b>>>9); b=(c+(c<<3))|0; c=(c<<21)|(c>>>11); c=(c+t)|0; return(t>>>0)/4294967296; }; }; this.prngA=new sfc32(tokenData.hash.substring(2,34)); this.prngB=new sfc32(tokenData.hash.substring(34,66)); for(let i=0;i<106;i+=2){this.prngA();this.prngB();} } random_dec(){ this.useA=!this.useA; return this.useA?this.prngA():this.prngB(); } } function getPseudoRandomHash(){let t="0x";for(var o=0;o<64;o++)t+=Math.floor(16*myR01()).toString(16);let e={};e.hash=t;let a=1e6*~~(tokenData.tokenId/1e6);return e.tokenId=(1e6*a+Math.floor(1e3*myR01())).toString(),e} function resetRnd(t){tokenData.hash=t||PHASH,myABRandom=new Random,_gaussPrev=F,_y2=0} function myR01(){let n=myABRandom.random_dec();return n=~~(32768*n)/32768,n} function myRA(n){return n*myR01()}function myRAB(n,t){return n+(t-n)*myR01()} function myRI(n,t){return ~~(myRAB(n,t+1))} function getSGauss(n,t,r,u){let e=t-n,m=n+e/2,o=myRGauss(0,1),y=Math.exp(u);return m+e*(y/(y+Math.exp(-o/r))-.5)} let _gaussPrev=F,_y2=0; function myRGauss(n,e=1){let t,s,a,i;if(_gaussPrev)t=_y2,_gaussPrev=F;else{do{s=myRA(2)-1,a=myRA(2)-1,i=s*s+a*a}while(i>=1);i=Math.sqrt(-2*Math.log(i)/i),t=s*i,_y2=a*i,_gaussPrev=T}return t*e+(n||0)} const randPick=n=>n[myR01()*n.length|0],getWop=function(n){let e=[];for(let t in n)e=e.concat(new Array(n[t][1]).fill(n[t][0]));return(t=e)[myR01()*t.length|0];var t}; // OLD END function createStampImage(){ resetRnd(CHASH); ogForStamp=null; ogForStamp=createGraphics(stampW,stampW); ogForStamp.background(255); if (StSh.bDoStamp || stampTB4Bad){ const frag_corrupterb64 = "I2RlZmluZSBGIGZsb2F0IAojZGVmaW5lIFYgdmVjMiAKcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7IHZhcnlpbmcgViB2VGV4Q29vcmQ7IHVuaWZvcm0gc2FtcGxlcjJEIGlucHV0VGV4OyB1bmlmb3JtIEYgdU5vaXNlVGhyZXNob2xkOyB1bmlmb3JtIEYgdU5vaXNlU2hhcnBuZXNzOyB1bmlmb3JtIEYgdU5vaXNlU2NhbGU7IHVuaWZvcm0gViB1Tm9pc2VPZmZzZXQ7IHVuaWZvcm0gRiB1Wm9vbVNjYWxlOyBGIGhhc2goViBwKXsgICByZXR1cm4gMi4wKmZyYWN0KHNpbihkb3QocCxWKDEyLjk4OTgsNzguMjMzKSkpKjQzNzU4LjU0NTMpLTEuMDt9IEYgaXFOb2lzZShpbiBWIHApeyAgIFYgaT1mbG9vcihwKTsgICBWIGY9ZnJhY3QocCk7ICAgViB1PWYqZiooMy4wLTIuMCpmKTsgICByZXR1cm4gbWl4KG1peChoYXNoKGkrVigwLjAsMC4wKSksaGFzaChpK1YoMS4wLDAuMCkpLHUueCksICAgICBtaXgoaGFzaChpK1YoMC4wLDEuMCkpLGhhc2goaStWKDEuMCwxLjApKSx1LngpLHUueSk7IH0gRiBpcVBOb2lzZShpbiBWIHAsaW50IG5vY3QsRiBmYWxsb2ZmKXsgICBWIHV2PXA7ICAgbWF0MiBtPW1hdDIoMS42LDEuMiwtMS4yLDEuNik7ICAgRiBhbXBsPWZhbGxvZmY7ICAgRiBmPTAuMDsgICBmb3IgKGludCBvPTA7bzwxMDtvKyspeyAgICAgaWYobz49bm9jdCl7YnJlYWs7fSAgICAgZis9aXFOb2lzZSh1dikqYW1wbDsgICAgIGFtcGwqPWZhbGxvZmY7ICAgICB1dj1tKnV2OyAgIH0gICByZXR1cm4gKDAuNSswLjUqZik7IH0gRiBzaWdtIChGIHgsRiBhLEYgYil7ICAgYT0xLjAtYTsgICBGIHk9MC4wOyAgIEYgdz1tYXgoMC4wLG1pbigxLjAseC0oYi0wLjUpKSk7ICAgaWYodzw9MC41KXt5PShwb3coMi4wKncsMS4wL2EpKS8yLjA7ICAgfSBlbHNle3k9MS4wLShwb3coMi4wKigxLjAtdyksMS4wL2EpKS8yLjA7fSAgIHJldHVybiB5OyB9IHZvaWQgbWFpbigpeyAgIHZlYzMgc3JjID0gdGV4dHVyZTJEKGlucHV0VGV4LCBWKHZUZXhDb29yZC54LCAxLjAtdlRleENvb3JkLnkpKS5yZ2I7ICAgRiBzcmNHcmF5ID0gc3JjLnI7ICAgRiBzY2FsZXggPSAzMDAuMCp1Tm9pc2VTY2FsZSAvIHVab29tU2NhbGU7ICAgRiBzY2FsZXkgPSAxMDAuMCp1Tm9pc2VTY2FsZSAvIHVab29tU2NhbGU7ICAgRiBueCA9IHNjYWxleCoodlRleENvb3JkLnggLSAwLjUpKyB1Tm9pc2VPZmZzZXQueDsgICBGIG55ID0gc2NhbGV5Kih2VGV4Q29vcmQueSAtIDAuNSkrIHVOb2lzZU9mZnNldC55OyAgIEYgbm9pc2UgPSBpcVBOb2lzZShWKG54LG55KSw1LDAuNSk7ICAgRiB0aHJlc2hlZE5vaXNlID0gc2lnbShub2lzZSwgdU5vaXNlU2hhcnBuZXNzLCB1Tm9pc2VUaHJlc2hvbGQpOyAgIEYgZHN0ID0gbWl4KHNyY0dyYXksIDEuMCwgcG93KDEuMC10aHJlc2hlZE5vaXNlLDIuMCkpOyAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoZHN0LGRzdCxkc3QsMS4wKTsgfSA="; let frag_corrupter = atob(frag_corrupterb64); let ogCorruptedStamp=createGraphics(stampW,stampW,WEBGL); let shaderStampCorrupter=ogCorruptedStamp.createShader(myShVert,frag_corrupter); let SSC=shaderStampCorrupter,OCS=ogCorruptedStamp; let sw2=stampW/2; ogForStamp.blendMode(BLEND); ogForStamp.ellipseMode(CENTER); ogForStamp.push(); ogForStamp.translate(sw2,sw2); ogForStamp.noStroke().fill(0); let thA=myRAB(.04,.06); let thB=myRAB(.01,.013); let thS=((myRA(1)<0.5)?-1:1)*myRAB(.002,.009); for(let i=0;i<360;i++){ let t=TWO_PI*i/360;let ct=cos(t),st=sin(t); let xA=sw2*.6*ct,yA=sw2*.8*st; let xB=sw2*.3*ct,yB=sw2*.5*st; let dA=pow(myRAB(.5,1),.5)*stampW*(thA+ct*thS); let dB=pow(myRAB(.5,1),.5)*stampW*(thB+st*thS); ogForStamp.circle(xA,yA,dA);ogForStamp.circle(xB,yB,dB);} let b=myRAB(1.4,2); ogForStamp.stroke(0).noFill().strokeWeight(0.75*(stampW/96)); ogForStamp.beginShape(); for(let i=0;i<360;i++){ let t=TWO_PI*i/360,r=.08*sw2*(1/b)*(4*(b-sq(sin(t)))); ogForStamp.vertex(r*sin(t),r*cos(t));} ogForStamp.endShape(CLOSE); let nt=~~(myRAB(27,36)); let ellipsePolyline=new ofPolyline(); for(let i=0;i<nt;i++){ let t=TWO_PI*i/nt; let tx=sw2*.44*cos(t),ty=sw2*.64*sin(t); ellipsePolyline.add(tx,ty);} ellipsePolyline.close(); let rsmpEllPts=(ellipsePolyline.getRsmpByNum(nt)).points; let nRP=rsmpEllPts.length; let glyW=.12*(stampW/128); let gH=glyW*asmImg.height,gW=glyW*glyCW; const codes=[1056,2049,2050,2052,2056,2064,2080,2112,4097,4098,4100,4104,4160,4612,8224,8256,32769,32776,32784,34880,262145,262146,262152]; for(let i=0;i<nRP;i++){ let tx=rsmpEllPts[i].x; let ty=rsmpEllPts[i].y; let sx=rsmpEllPts[(i-1+nRP)%nRP].x,ux=rsmpEllPts[(i+1)%nRP].x; let sy=rsmpEllPts[(i-1+nRP)%nRP].y,uy=rsmpEllPts[(i+1)%nRP].y; ogForStamp.push(); ogForStamp.translate(tx,ty).rotate(atan2(uy-sy,ux-sx)).translate(-gW/2,-gH/2); ogForStamp.scale(-1,1).translate(-gW,0); let aCode=codes[~~myRA(codes.length)]; for(let i=0;i<nGlyCs;i++){ if((1<<i)&aCode){ogForStamp.image(glyImgs[i],0,0,gW,gH);} }ogForStamp.pop();}ogForStamp.pop(); OCS.shader(SSC); SSC.setUniform('inputTex',ogForStamp); SSC.setUniform('uZoomScale',1.); SSC.setUniform('uNoiseThreshold',myRAB(0.25,0.33)); SSC.setUniform('uNoiseSharpness',myRAB(0.80,0.97)); SSC.setUniform('uNoiseScale', myRAB(0.12,0.36) ); SSC.setUniform('uNoiseOffset',[myRAB(2,9),myRAB(2,9)]); SSC.setUniform('uFlipVertical',false); OCS.background(255); OCS.fill(255).rect(0,0,stampW,stampW); OCS.loadPixels(); ogForStamp.background(255); ogForStamp.loadPixels(); let d=pixelDensity(); let nBytes=stampW*stampW*4*d*d; let c=(myRA(1)<0.7)?0:1; let cols=[[206,172,223],[134,165,170]]; let dir=(myRA(1)<.5)?0:1; let fA=(myRA(1)<.5)?0:255; let aA=myRAB(.1,.3); if(dir>0){aA=myRAB(.08,.2);} if(c==1)aA=.06; let fPow=(c==1)?.6:myRAB(.8,1.4); for(let i=0;i<nBytes;i+=4){ let x=(i/(4*d))%stampW,y=int((i/(4*d))/(stampW*d)); let v=((dir>0)?y:x)/stampW; let src=OCS.pixels[i]; ogForStamp.pixels[i ]=~~map(src,0,255,cols[c][0],255); ogForStamp.pixels[i+1]=~~map(src,0,255,cols[c][1],255); ogForStamp.pixels[i+2]=~~map(src,0,255,cols[c][2],255); ogForStamp.pixels[i+3]=~~(pow(constrain(map(v,aA,1-aA,fA,255-fA),0,255)/255,fPow)*255); }ogForStamp.updatePixels(); let blurAmt = map(pow(1-myRA(1),2.5),0,1, 2.0,4.5); ogForStamp.filter(BLUR, blurAmt); shaderStampCorrupter=null; ogCorruptedStamp=null; }} function expSigm(x,a){if(x<=.5){return (pow(2*x,1/a))/2;}return 1-(pow(2*(1-x),1/a))/2;} function drawStamp(GFXP5){ if (StSh.bDoStamp){ if (GFXP5){ resetRnd(CHASH); let rx=0.5,ry=0.5; while(dist(rx,ry,0.5,0.5)<0.37){ rx=map(expSigm(myRA(1),.15),0,1,.15,.85); ry=map(expSigm(myRA(1),.2),0,1,.12,.88);} let rs=myRAB(1.9,2.2)/(stampW/96); let ra=0.15*myRAB(-1,1); if(myRA(1)<0.666){ra+=HALF_PI;} GFXP5.push(); GFXP5.translate(BDM*rx,BDM*ry).rotate(ra).scale(rs).translate(-stampW/2,-stampW/2); GFXP5.blendMode(MULTIPLY); GFXP5.image(ogForStamp,0,0); GFXP5.pop();} }} ///EOF