File: blk03470.txt

text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"bloom.sats"}h!
4j2DC-L5:/7/JorQyshwCeV9IKOOY5euQ79TB4+b1+dfIKV+LRY8=
FjDOUT:04BAD47C6CDD0F97155638C265991D1DAC822712E817CE3008E446C6A5A128E5
FjDOUT:C5913172E841F1B78D429493DE954005898776F1DB69B7C761D630161E0DDCEA
KjISWAPTX:0xa691890c386a92655276e986009ee00d358d1c8f79e1c06446cef04b82694ee2
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
Aj?=:ETH.ETH:0x95075320905C81c538dD8210D37BA60e31Fe9268:2525015::0
Aj?=:ETH.ETH:0xbA51e0c8Cb4AFBaD559970F64aAc1B21305B26B8:8250024::0
IjGREFUND:A4CF2D781FEC8865BF89C53FBD850D89615FA66C09F833CB535E4003A6418D45
FjDOUT:EA47F32CC3AEAA47E478F6D102290162988ACD4B89F0B23C9C7DAE83CDA99032
FjDOUT:9D8ACA6AFF55964579C25224C339E4302E4DBDDFD094FFEAF8A571907BDB9F74
Aj?=:ETH.ETH:0x47FB12a0A18Ff1E07386e18D5BD8ab30Bc036a6F:6079260::0
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-defaulM
t'>TwelveFold 11/300 inscribed at satpoint 1930482801531612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>11</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParMf
entInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>1</xmp:Series>
  <xmp:Signature>H05XzXgaQQd9J3jPD8pii2yM+MQm+yzrrKPNC8q46VELWDzsvAW18Mi9F0H82QpQOBkZEp3dPByDrK8a/zEC49o=</xmp:Signature>
<?xpacket end='w'?>PSAIN
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 3/300 inscribed at satpoint 1930482781400012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>3</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>1</xmp:Series>
  <xmp:Signature>H04457rYggspk5Ope7NMhcbgZetPxoP51UPaHKxheaIWd0uD2BjZH0bWeqFvv55ma/DIvRFfFZ8X1CDYOHnHJLU=</xmp:Signature>
<?xpacket end='w'?>PSAIN
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
CjA=:ETH.ETH:0x6Ae20f7b08ebDe2950eF130eAACCb41C7Ca40c17:134851374::0
Aj?=:ETH.ETH:0x407D29Bdb88b95E64074aA5E99D8777D2296d12d:3902373::0
Bj@=:BNB.BNB:bnb1d3ztmmxd0c343vmw308lppucnem6wzjczg3nrz:69102382::0
Bj@=:BNB.BNB:bnb1p3e50dq2pfqz54eg2zvxlcsdaepy85gssjsg7v:98154442::0
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"ldn.sats"}h!
CjA=:ETH.ETH:0xEb016922Cbf03a53EE262CbBA4A16A5313D185E7:6316261:te:0
DjB=:ETH.ETH:0x25D13c377C37f83459fFa423319E60C883B84981:97692099:te:0
OiCCPPhotoshop ICC profile
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"pepe","amt":"420"}h!
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"bc1p6529.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"bc1p000.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"bc1p555.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"bc1p999.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"bc1p420.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"bc1p111.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"bc1p888.sats"}h!
        "name": "Satoshi Wands II",
        "description": "An ancient suite of nine stones, gathered from around the globe, embodying the spirit of the collective world, scattered and lost to time, reunited and crafted into nine wands to heal tomorrow.",
        "creator": "PatternHungry",
        "max_supply": 9,
        "first_inscribed": "2023-03-12 08:14:31 UTC",
        "last_inscribed": "2023-03-12 08:14:31 UTC",
        "collection_image_inscription_id": "2eda11c830af4c229b7971ee594facM
79ae00c2c0b89f0d398580154d33e41e02i0"
            "name": "Satoshi Wand #10",
            "collection_item_id": "1",
            "inscription_id": "2eda11c830af4c229b7971ee594fac79ae00c2c0b89f0d398580154d33e41e02i0",
            "image_hash": "50eafa855ed7174a6f2e073b702bcd32",
            "attributes": [
                    "trait_type": "Wood",
                    "value": "Cedar"
                    "trait_type": "Crystal",
                  "value": "Carnelian"
            "name": "Satoshi Wand #11",
            "collection_item_id": "2",
            "inscription_id": "fbbfa6742dc4188ae5b352bd73fc35d42d9a7249daa4091c5907ecec2767860fi0",
            "image_hash": "50968800093508df78b5ce895b87a9a6",
            "attributes": [
                    "trait_type": "Wood",
                    "value": "Cedar"
                    "traiM
                    "value": "Diopside"
            "name": "Satoshi Wand #12",
            "collection_item_id": "3",
            "inscription_id": "34102745a97aff335bc7d65e6802be7870c0a6c832b5faee0d6096d85f4f6d31i0",
            "image_hash": "57e9cf9ea9bd0bfe3ec7cb54fdbce62d",
            "attributes": [
                    "trait_type": "Wood",
                    "value": "Cedar"
                "trait_type": "Crystal",
                    "value": "Amethyst"
            "name": "Satoshi Wand #13",
            "collection_item_id": "4",
            "inscription_id": "8e54f550d5190f3cb136cfce5bb779bcd43000cfd51743f1c72d2baaea06333fi0",
            "image_hash": "d49d4477c59a9da633915f00a86dbf1b",
            "attributes": [
                    "trait_type": "Wood",
                    "value": "Cedar"
                    "trait_type": "Crystal",
                    "value": "Fluorite"
            "name": "Satoshi Wand #14",
            "collection_item_id": "5",
            "inscription_id": "8a119e18996635ff897cdca01bc696e12b946a6a0a703157c0d6f8f8e3a22f49i0",
            "image_hash": "f4f98627a665dfd7b41385d5521b0a5b",
            "attributes": [
                    "trait_type": "Wood",
                    "value": "Cedar"M
                    "trait_type": "Crystal",
                    "value": "Garnet"
            "name": "Satoshi Wand #15",
            "collection_item_id": "6",
            "inscription_id": "a8379448082e8f97e21c8b4d15d26214d29ac94a23eedd5eeb167a3ec8ef9f61i0",
            "image_hash": "8fe70282d196ef161d1b930fa71305a7",
            "attributes": [
                    "trait_type": "Wood",
                    "trait_type": "Crystal",
                    "value": "Topaz"
            "name": "Satoshi Wand #16",
            "collection_item_id": "7",
            "inscription_id": "5955a3d2a8a417c14dc08d7a41f6820c0bb36bf644de0275f05517db8ccac67ai0",
            "image_hash": "0fa22cecebdd0de7fcde1eddd53157a5",
            "attributes": [
                    "trait_type": "Wood",M
                    "value": "Cedar"
                    "trait_type": "Crystal",
                    "value": "Malachite"
            "name": "Satoshi Wand #17",
            "collection_item_id": "8",
            "inscription_id": "183ac9fa08c65e2119429d681205ca38f1be0c6d331da866d8dbcfe24982f17ai0",
            "image_hash": "c8886a907c28b47c2676f32cb1122051",
            "attributes": [
                   M
 "trait_type": "Wood",
                    "value": "Cedar"
                    "trait_type": "Crystal",
                    "value": "Peridot"
            "name": "Satoshi Wand #18",
            "collection_item_id": "9",
            "inscription_id": "ec48db1dc5acf0a41dcc087d9f708fdf90b69146c7972aec616feab900552195i0",
            "image_hash": "03058e9ee6775b64490b943df585fc85",
            "attributes": [
                    "trait_type": "Wood",
                    "value": "Cedar"
                    "trait_type": "Crystal",
                    "value": "Sapphire"
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"77880.sats"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"bc1p55.sats"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"bc1p00.sats"}h!
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"bc1p99.sats"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"bc1p42069.sats"}h!
Copyright (c) 1998 Hewlett-Packard Company
IEC http://www.iec.ch
IEC http://www.iec.ch
.IEC 61966-2.1 Default RGB colour space - sRGB
.IEC 61966-2.1 Default RGB colour space - sRGB
,Reference Viewing Condition in IEC61966-2.1
,Reference Viewing Condition in IEC61966-2.1
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"bc1p88.sats"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"bc1p11.sats"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
H{"p":"brc-20","op":"deploy","tick":"UTXO","max":"21000000","lim":"1000"}h!
text/plain;charset=utf-8
H{"p":"brc-20","op":"deploy","tick":"GTP4","max":"21000000","lim":"1000"}h!
FjDOUT:EAC2B18C69D3A593DE89F97FB5EFF588445F9EC9AF9403D89E1D55AE17EF1455
FjDOUT:E4DFB59F29292648F4E7BB97C3B557F0A44B9A2E4AD545071B72C79CFDB9688A
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 42/300 inscribed at satpoint 1930482891831612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>42</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>M
  <xmp:Signature>H1vqaPFKz0YmY7IceJYwADOpaRpdH6j5U/v3lxt1xK5eOVTviPZvN2qgiuO6mBWjeoWGBn+C8kqZh9X0c4LWfBM=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptM
k='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 41/300 inscribed at satpoint 1930482889731612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs M
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>41</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>IHA6Ppt01Ng5ga/jxlQHDHgxeVeXIZDj0f8ShmMVSPfAdBhD1mYwJFQ1rkdtK/wcdu1kW/SpSMbGCA9PCpgYtg4=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02M
/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 44/300 inscribed at satpoint 1930482896031612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
df:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>44</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>IC5UI1cFPdkG3yYsZ/L+zQ83biy26YMv8uTuBOgm0IdLdCDUZyw1Ck1/4xJqavKibV0nagB13a7wi84Gm4OlJrc=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 39/300 inscribed at satpoint 1930482885531612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
p='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>39</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>H3LzbXHbrGWMAXsYAq2YdPyo+WrqkCDGDXcAOloTwKzqZ3IF7l1sn666z3bshC9IIjNqQxsbs2WKpLjEze5ZXIs=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 45/300 inscribed at satpoint 1930482898131612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>45</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>HwgG/bGORzsGOlvkB1XfUwZ9/Kp76kSeZlYQW6FPpu9AW006iJVUd94UR3l4LfaJJuEoHRVvD2OQLKgn3/oPDM8=</xmp:SignaturL
<?xpacket end='w'?>PSAIN
6j4ion:6.QmZJYJL1Duviidz5vxyzqxk5jjz3SGkwvBdsCFgQqut2LC[
text/plain;charset=utf-8
https://discord.gg/AjqbfqVUh!
FjDOUT:EAF3F6F06CC2FD30939432EF4399BAD71D5D2F1BF71BBDCCFE6605F8EA52B325
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Bj@=:ETH.ETH:0x009ae2C961BBFD45d7A48589786F7145f43EA8BC:67207173::0
Bj@=:ETH.ETH:0x5196D1ea539311CC90267Bcf6888407E67561C5E:64498483::0
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"domainplug.sats"}h!
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:abM
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 48/300 inscribed at satpoint 1930482904431612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
//ns.adobe.com/xap/1.0/'>
  <xmp:Edition>48</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>HzTBS5wLByMu1MeIGUB/9I9JTz1w5RUIFu93tiKsbJh4fZ6pIQU6yab1YOtG7ZKnSGF4M28mAyENt6btE1Ec/xQ=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/plain;charset=utf-8
text/plain;charset=utf-8
The DeGods X+ Manifesto
We are so early. Yet we have arrived on a stage that we alone have defined for ourselves:  The manifestation of the maximum potential of being a DeGod.
We shall continue to carve out the upper echelon of what it means to live our best lives together, enjoying the fruits of conviction, sacrifice, focus and determination.
We shall hold each other accountable, and do so with grace; each of us helping the other become better men and women within the community, and beyond.
We shall not chase the pace and grind of Web3. Instead we move at the speed of X+, characterized by balance, health, well-being and longevity. Both the longevity of our members, and the longevity of our club well into the future.
The Veblen gates through which one must pass to be in our club, will become narrower over time. Curating a collection of ten DeGods is only the first gate, but it will not be the last. There will be many along the way.
We will continue to align our vision with that of DM
eGods. We were born through that crucible and we will honor that provenance. We will remain degenerates. We will remain Gods. Our journey traverses only Bitfrost. Our final resting place will always be Valhalla and no other.
We are not bound to the confines of NFTs, web3 nor even technology
s promise for a better world. We are not bound by any paradigm or meta other than that which we define for ourselves. DeGods is the alchemy of Art, Culture, Community, and Technology.  X+, then, shall be the polish ofM
 that new metal. The shine. The eternal glimmer of attraction, for those who crave access to the ultimate experience.
Image, brand and exclusivity alone will never be enough. We shall manifest beyond these facades, into face to face encounters, shared experiences, adventures, empowerment of one another, and celebrations. An X+ member will always be able to look another member in the eyes, and see the earnest appreciation and pride of belonging. Of living this X+ life together.
e responsibility of a child is to create positive memories never to be forgotten. Experiences that define who they grow up to be, and how they identify themselves. X+ shall always strive to be the guardian of DeGods, so that all DeGods around the world always know exactly who they are, why they belong, and what they aspire to along their journey.
We are in a position of responsibility. It was not assigned to us. We choose this responsibility, and we adore it. Humility, and servitude towards one another, are M
t have diamond hands for HODL
s sake. Instead our hands are meant to forge the diamond that is X+.
We shall always remember that the
. Rather it is life-long symbol of being
 we ever could alone as individuals.
We are X+. We are DeGods. This is our manifesto.
X+ 2nd President (13-3-2023)h!
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:abM
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 48/300 inscribed at satpoint 1930482904431612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
//ns.adobe.com/xap/1.0/'>
  <xmp:Edition>48</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>HzTBS5wLByMu1MeIGUB/9I9JTz1w5RUIFu93tiKsbJh4fZ6pIQU6yab1YOtG7ZKnSGF4M28mAyENt6btE1Ec/xQ=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 38/300 inscribed at satpoint 1930482984249912</rdf:lM
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>38</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
eries>4</xmp:Series>
  <xmp:Signature>IEXfQH7ZDEDzuQ27H9Gd0dFn629FgtsJby9DtbFmD4G+QYKcv4BXK11WxIYjrhbHYT5qFITwVLD4l3WesmhqsgM=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExM
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 46/300 inscribed at satpoint 1930482900231612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:liM
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>46</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>IBVlQgYJc+RgzBwXqCBQe2dmtOVsJ7Zbs3Xp7gVn0o01BQDr4r9BH/YwkwKu25DD6FSpWyJ8kAB9WuxZlB3hnUc=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
f:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 37/300 inscribed at satpoint 1930482982149912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>37</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>Hzr/mGqz4/21oBm0oEduPhPigHpXDNtuGn9chQadm0ZgfLmANvN2UYejl99w6X0VPhiSNEwef2oKtytF9mpSRg0=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmM
ptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 40/300 inscribed at satpoint 1930482887631612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga LabM
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>40</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>IC00+Rx/0guEzuOuj5yZkUrfoZ81ZmOPjfQDKOKKqR92bDu+pekMgKMIcZwxteLjfL37Nl0+J6zo2PfoaBnZAIw=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 43/300 inscribed at satpoint 1M
930482893931612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>43</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>WinterM:
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>H3c+zoAKWcIRZq3Bw4HWHTBMll1ZQstZvTYVpmNFWvcKUTGVFWKS4OQssaqBWJe6/w8kq6czCtwHPhRI06ZqL0E=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/M
02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 47/300 inscribed at satpoint 1930482902331612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
<rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>47</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>4</xmp:Series>
  <xmp:Signature>ICVZpf0XUYvTxoBK7Pt1R4viLYjVR9d6cfV2a5lCYX56Nmm82pSEuZcHFUc5MZ128EL6wx/T3Qj+zMgAYidXcS4=</xmp:Signature>
<?xpacket end='w'?>PSAIN
>j<=:ETH.USDC:0x7114fe55b5a3b85dd7d0ce468af209edc0c4c6c6::wr:30
FjDOUT:A077D48D66EC33BAE575767967666FD53CC232102E2839AD30456A658DB33261
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://M
www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 9/300 inscribed at satpoint 1930482797331612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>9</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>1</xmp:Series>
  <xmp:Signature>IGnNVB6YXMX6WW1PMvCNrIO+1DA5kTh85kdnjZUv5tclWAFFLw2ZZ4NQ5Iv5mv3wuVUS+fm17N7ZVlGnXD66a18=</xmp:Signature>
<?xpacket end='w'?>PSAIN
Lavc58.42.100 libvpx-vp9ss
Lavc58.42.100 libvpx-vp9ss
KjI=:BNB.BUSD-BD1:bnb1vcekp20yggk6gcwzuy9ju7fcexeflsu2yjvu0h:236266152001::0
CjA=:ETH.ETH:0x1b07461c1f8039D3b492498e67E71dE97A4Cff6D:325851825::0
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"csp.sats"}h!
text/plain;charset=utf-8
8{"p":"sns","op":"reg","name":"satoshitrillionaire.sats"}h!
text/plain;charset=utf-8
7{"p":"sns","op":"reg","name":"satoshibillionaire.sats"}h!
text/plain;charset=utf-8
7{"p":"sns","op":"reg","name":"satoshimillionaire.sats"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"pepe","amt":"1000"}h!
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
+&-,*&))/5D:/2@3));Q<@FILML.9TZSJYDKLI
#I1)1IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
text/plain;charset=utf-8
-{"p": "sns","op": "reg","name": "-142.sats"}
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02M
/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 34/300 inscribed at satpoint 1930482720481712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
df:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>34</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>3</xmp:Series>
  <xmp:Signature>H0N2rrYmXXpzjz0qvgZmcwnmvqEiKnHuZGyZ0KpuR6B7e0hQchQokI310qbv4jRIdANzmrRAQJbJHv9OI8PvcVo=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='IM
mage::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 25/300 inscribed at satpoint 1930483057749912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023M
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>25</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>3</xmp:Series>
  <xmp:Signature>ICvWEyuiyWwpgRaV9n7I7D/gb5J1v+JTv9aJkXvWN3QaZgDAVqYbWmangzTQXPhPtsbXPi4qcQgWTne30SHl+VA=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 27/300 inscribed at satpoint 1930482705781712</rdf:li>
 <rdf:Description rdf:about=''
iff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>27</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>3</xmp:Series>
  <xmp:Signature>H0OMPVJ7EAHumAFDsDrcl0gLyreYxqYQYMJVDquI1t0ZfyoNo6ZMvRp8/CWeL
b2xLaCqdz/UboJ6FDh1/YY8CkVc=</xmp:Signature>
<?xpacket end='w'?>PSAIN
CehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 29/300 inscribed at satpoint 1930482709981712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>29</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>3</xmp:Series>
  <xmp:Signature>H2Hm1lDJzIAtccilBCjySxDfms8Cu2FiLIhl3QxG/XAkOq/dvgHvjjDhBwFU3st1B/Ci8syXVyUBnYnc5bhjB0I=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 36/300 inscribed at satpoint 1930482724681712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>36</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>3</xmp:Series>
  <xmp:Signature>IGXk99iZg5qAIJRts13lQ2P/qQuTNlwnsPPXk/sCHbV1QbYeISBpVqaNsxJbSyscw40qx1cENmGnoXl2dCXOuYU=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 28/300 iM
nscribed at satpoint 1930482707881712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>28</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpointMP
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>3</xmp:Series>
  <xmp:Signature>IE9FR7y+P5CEyqdI4MZPFfnpkRwPbJ63qol8bl2Iut7dPqJZjqHNQ+foJG1aJd/Czi8KtINmPgh0V+vUZFbdg/I=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"781551.sats"}h!
text/plain;charset=utf-8
G{"p":"brc-20","op":"deploy","tick":"APES","max":"21000000","lim":"100"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"88900.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"88100.sats"}h!
text/plain;charset=utf-8
KThe Silicon Valley Bank Bailout - The Wall Street Journal, March 12th, 2023h!
 08e8c96802f90b39c5feb966e9722fcfH0E
!Powered by Luxor Tech1003
FjDOUT:772C84D76D58B0405D5B149171679E5B52A8FB2A8152DC5804249727A8F76145
wwwwwwwwwwwwwwwwwwwwwfy
wwwwwwwwwwwwwwwwwwwwwwvZ}?R
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1M
999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 52/300 inscribed at satpoint 1930483114449912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>52</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:Series>
  <xmp:Signature>Hw+TudjLdcLjX09S9vRx/dUa67CAO8wI50PNk7ERa1sAT1iFZF7bj1egxD+uyHikl+sfjq5QcHH7ftuU06tvLb8=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmM
ptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 53/300 inscribed at satpoint 1930483116549912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga LabM
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>53</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:Series>
  <xmp:Signature>H0NdvPGQizBgH3ZTob8LgGJTJ4Xe+i1NTrk/qd65v7xnHogZMJiY7YgO/7MONKwdz5y00iMntEE2BAQ9AstgQqU=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TM
welveFold 59/300 inscribed at satpoint 1930483103931612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>59</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentIMb
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:Series>
  <xmp:Signature>IFFuo4a4nHrjs0wO+RnBbWxJ1fBXIstXs/dNsjkswpmxA85q0PYMMeZUqs8z8LpIxkY/X4pEdJnr0W1Kx1VfUGA=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 55/300 inscribed at satpoint 1930483120749912</rdfM
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>55</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
:Series>5</xmp:Series>
  <xmp:Signature>IHAMvGdJk2/bFvCtCnWEEw034pm/uj3Uw3rCFAn3BUJWCpF0+aUDmTtFcNYCt4AOijROp2mSfWXKmP08ZVRQ4Fc=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-M
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 57/300 inscribed at satpoint 1930483099731612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
escription rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>57</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:Series>
  <xmp:Signature>IC7WLlyR1s4kLLEKStq8dXjeIt8tEhsAv7kSb+TDKe5gJZf1h76mlxmubF+9VBfCYSx53XJisrOJ2ezAjk7Oda0=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='hM
ttp://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 54/300 inscribed at satpoint 1930483118649912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>54</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:Series>
  <xmp:Signature>IH3ynNoqP3UZqw5nKcjFK5ZyTzeqHyxg8p2luS+4y4kWA2OgVIV9KC4dW4xU87fh9B6rVZvZnkYs6TPthJr0x7A=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 49/300 inscribed at satpoint 1930483108149912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>49</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:Series>
xmp:Signature>IEO/Rwf4Fnm8Y90k5Q6c19L0/npNHqOr/ADauR8SP9jDRCmA5OnnDXuHmrbxb1aHdlICD88Px3fMQWNFSlkgUGY=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifToolM
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 56/300 inscribed at satpoint 1930483097631612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>56</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:Series>
  <xmp:Signature>IFzMvW+OoTQwUNVxrCnObRDkO+myV/iNhjMMuEP4OON6OuglqBgbfL/Ga/Hr3gnttnow9SHIF9FXEt9QI+kU1ys=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
mlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 60/300 inscribed at satpoint 1930483106031612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobeM
  <xmp:Edition>60</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:Series>
  <xmp:Signature>IDdoKUL+NJmbysf2tGeUt6qNbtBdjvlO87WfEZBZJKEfGAXpuQDZvbRe4+4NMcoJyiIS1LW8LQpFNZyXiTJEgo8=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
f:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 50/300 inscribed at satpoint 1930483110249912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>50</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:Series>
  <xmp:Signature>IF74DtQcsVD0OTC7usdiIWreWcHmnVA224Vbk7AYNVUcSPwDhpEc+BLYabMPzUUrkSjsl7S7mUGikHVn5BVK648=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 51/300 inscribed at satpoint 1930483112349912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>51</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:SerieM
  <xmp:Signature>IDZIoGLD/RACF6XpG5EJobYrX79RCeBPILsWO0yrH6MfFXv5r2C4phJFU8K60zLBomZOhZ/+ccQtbSs28hk9EUw=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?M
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 58/300 inscribed at satpoint 1930483101831612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>58</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>5</xmp:Series>
  <xmp:Signature>ICpiGSpPUgBAlZJvMCiDqHRyANIjiSK7hEmp+mqoGSQUcIQ8/9tW8H91ROc5V+7UrkmGX+5GPEFkkGaAvkX0J8I=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
FjDOUT:75DDBCD3AF0FD79045CD1596B9D8537521C8229C47421713BC54D1BADAA109BD
text/plain;charset=utf-8
  "to": "bc1pdsfuypwemkkge8npya4l70j7gqx5jhqyet0rqn7ujftfj6jlgelsq8h68d"
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-911.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-010.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
Ahead of My Time, LLCh!
d/Foundry USA Pool #dropgold/	:
Aj?=:ETH.ETH:0x1AfA0e0AF3d44751f865C25B77850C6890b3B09A:8111801::0
FjDOUT:912CA6733F9453F1C63DAE9282E4AF1D1B91D245C3E83D31E528E337848B599B
FjDOUT:D310352E58CBA3407E16F2CA873063DA727939377ED02065AF5F2D3568D46B4C
EjC=:BNB.BTCB-1DE:bnb1px804r640we9emajcm2l4j5fuyqsh96rejrj6c:161744::0
CjA=:ETH.ETH:0x6d872D89da212556e6DCa4459047eAF94d4161C4:2100795:te:0
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"dra.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"exi.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"csi.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"elo.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"emt.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"deu.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"daz.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"dri.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"cna.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"duk.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"eck.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"10057.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"10051.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"10078.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"10074.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"10084.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"cna.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"elo.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"dra.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"exi.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"duk.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"csi.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"emt.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"eck.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"dri.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"deu.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-305.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-245.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-251.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-284.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-302.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-307.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-304.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-236.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-259.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-237.sats"}h!
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"55661.sats"}h!
PjLM12/Mar/2023 Fed Reserve announces it will help banks meet needs of depositors
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
  "name": "18898.sats"
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "18895.sats"
((((((((((((((((((((((((((((((((((((((((((((((((((
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "18900.sats"
text/plain;charset=utf-8
  "name": "18896.sats"
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
w}yQ?K2RI,\I]nVa|TL0@Z
text/plain;charset=utf-8
4March 2023, Mastery the Year of the Dragon 2024-6266h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "18897.sats"
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
{"type":"btcdomain","name":"98648.btc","first_owner":"bc1pptenj4m9xuzz82k2q9uv7gyflwlee5ngf0yc949lxjze72um5kxsycj56n","createDate":1678675993721,"registerDate":1678675993721,"expireDate":1710211993721,"img_url":"https://btcdomains.io/images/domain/98648.jpeg","sig":"3044022075e0e298138b3698ab2f3ae209aec0e256a83c6b24561e2472ff83e495e5222b02200ce156934727ed454f44a313cb8a388b226d3c4ad8b98bbfacf4c654590b6ab9"}h!
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
WALK AWAY FROM THE 99%h!
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
ZiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.2-c000 79.1b65a79b4, 2022/06/13-22:01:01        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sM
Type/ResourceEvent#" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmlns:tiff="http://ns.adobe.com/tiff/1.0/" xmlns:exif="http://ns.adobe.com/exif/1.0/" xmp:CreatorTool="Adobe Photoshop 23.5 (Macintosh)" xmp:CreateDate="2023-02-22T14:32:46-05:00" xmp:MetadataDate="2023-03-12T21:59:04-04:00" xmp:ModifyDate="2023-03-12T21:59:04-04:00" dc:format="image/png" xmpMM:InstanceID="xmp.iid:cd1467de-09e2-4b61-8655-c2314358aef1" xmpMM:DocumentID="adobe:docid:pM
hotoshop:52a4115a-11bd-0d47-a781-8e2e991f546b" xmpMM:OriginalDocumentID="xmp.did:9db39a12-2557-4be4-9398-09c84b18dc89" photoshop:ColorMode="3" tiff:Orientation="1" tiff:XResolution="720000/10000" tiff:YResolution="720000/10000" tiff:ResolutionUnit="2" exif:ColorSpace="65535" exif:PixelXDimension="60" exif:PixelYDimension="60"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:9db39a12-2557-4be4-9398-09c84b18dc89" stEvt:when="2023-02-22T14:32:46-05:00" stEvt:softwareAgent="Adobe PhotM
oshop 23.5 (Macintosh)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:f278264c-36a7-4af4-bac6-cdcf33f81d52" stEvt:when="2023-02-22T16:55:11-05:00" stEvt:softwareAgent="Adobe Photoshop 23.5 (Macintosh)" stEvt:changed="/"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:9c2e9332-154f-4be1-9e88-4d9af8dd2c67" stEvt:when="2023-03-12T21:59:04-04:00" stEvt:softwareAgent="Adobe Photoshop 23.5 (Macintosh)" stEvt:changed="/"/> <rdf:li stEvt:action="converted" stEvt:parameters="from application/vnd.adobe.phM
otoshop to image/png"/> <rdf:li stEvt:action="derived" stEvt:parameters="converted from application/vnd.adobe.photoshop to image/png"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:cd1467de-09e2-4b61-8655-c2314358aef1" stEvt:when="2023-03-12T21:59:04-04:00" stEvt:softwareAgent="Adobe Photoshop 23.5 (Macintosh)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:9c2e9332-154f-4be1-9e88-4d9af8dd2c67" stRef:documentID="adobe:docid:photoshop:e190bb6f-5fde-d34b-af69-3fM
390a60960c" stRef:originalDocumentID="xmp.did:9db39a12-2557-4be4-9398-09c84b18dc89"/> <photoshop:DocumentAncestors> <rdf:Bag> <rdf:li>adobe:docid:photoshop:45ef2090-6c28-df4e-a484-c915a6e47a4c</rdf:li> <rdf:li>xmp.did:debed850-20ec-49a5-a27e-59e926c01149</rdf:li> </rdf:Bag> </photoshop:DocumentAncestors> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"pepe","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"pepe","amt":"1000"}h!
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
"3 %  % 3-7,),7-Q@88@Q^OJO^qeeq
"3 %  % 3-7,),7-Q@88@Q^OJO^qeeq
,9,9,9,9,9,9,9,9,9,9,9,9,9
RRRRRRRRRRRRRRRRRRRR]
HHHHHHHHHHHHHHHHHHHHHHITh
I																																																						)!!%###  #
d/Foundry USA Pool #dropgold/
:j8=:RUNE:thor1dxgtwlr9en2lu9nq3zgkj5u3e02y7mm0ray9y6::wr:0
text/plain;charset=utf-8
5{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
4{"p":"sns","op":"reg","name":"888888
text/plain;charset=utf-8
3{"p":"sns","op":"reg","name":"18888
text/plain;charset=utf-8
3{"p":"sns","op":"reg","name":"98888
CjA=:ETH.ETH:0xEb016922Cbf03a53EE262CbBA4A16A5313D185E7:1880297:te:0
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"Hawkeye.sats"}h!
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"Rapunzel.sats"}h!
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"WarMachine.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"Timon.sats"}h!
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"Pumbaa.sats"}h!
text/plain;charset=utf-8
0{"p":"sns","op":"reg","name":"ThorOdinson.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"Moana.sats"}h!
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"Cinderella.sats"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"MayParker.sats"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"GwenStacy.sats"}h!
text/plain;charset=utf-8
0{"p":"sns","op":"reg","name":"PeggyCarter.sats"}h!
text/plain;charset=utf-8
2{"p":"sns","op":"reg","name":"BuzzLightyear.sats"}h!
text/plain;charset=utf-8
0{"p":"sns","op":"reg","name":"JamesRhodes.sats"}h!
text/plain;charset=utf-8
5{"p":"sns","op":"reg","name":"TheLittleMermaid.sats"}h!
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"PeterPan.sats"}h!
text/plain;charset=utf-8
1{"p":"sns","op":"reg","name":"JanetVanDyne.sats"}h!
text/plain;charset=utf-8
4{"p":"sns","op":"reg","name":"LadyAndTheTramp.sats"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"DaisyDuck.sats"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"SnowWhite.sats"}h!
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"NickFury.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"FayKong.sats"}h!
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"Merida.sats"}h!
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"Maleficent.sats"}h!
text/plain;charset=utf-8
0{"p":"sns","op":"reg","name":"SteveRogers.sats"}h!
text/plain;charset=utf-8
0{"p":"sns","op":"reg","name":"HopevanDyne.sats"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"Pinocchio.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"HankPym.sats"}h!
text/plain;charset=utf-8
4{"p":"sns","op":"reg","name":"ladyandthetramp.sats"}h!
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"MaryJane.sats"}h!
text/plain;charset=utf-8
2{"p":"sns","op":"reg","name":"WandaMaximoff.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"Mulan.sats"}h!
text/plain;charset=utf-8
1{"p":"sns","op":"reg","name":"ScarletWitch.sats"}h!
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"Pocahontas.sats"}h!
text/plain;charset=utf-8
0{"p":"sns","op":"reg","name":"ClintBarton.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"fayy.sats"}h!
text/plain;charset=utf-8
2{"p":"sns","op":"reg","name":"LokiLaufeyson.sats"}h!
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"HappyHogan.sats"}h!
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"DonaldDuck.sats"}h!
text/plain;charset=utf-8
3{"p":"sns","op":"reg","name":"SleepingBeauty.sats"}h!
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"Aladin.sats"}h!
text/plain;charset=utf-8
0{"p":"sns","op":"reg","name":"PepperPotts.sats"}h!
text/plain;charset=utf-8
4{"p":"sns","op":"reg","name":"NatashaRomanoff.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"faykong.sats"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"ScottLang.sats"}h!
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"BlackWidow.sats"}h!
text/plain;charset=utf-8
0{"p":"sns","op":"reg","name":"Quicksilver.sats"}h!
text/plain;charset=utf-8
3{"p":"sns","op":"reg","name":"PietroMaximoff.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"Fayy.sats"}h!
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"RedSkull.sats"}h!
FjDOUT:872389746960B4C431D8C3D9C615938C492BADF93361880FD451555432795F84
FjDOUT:71113D1A9BA92C27D908462FAD46DCCB446FFA898CD47077F42CB95A5255F33B
text/plain;charset=utf-8
+{"p": "sns","op": "reg","name": "{o}.sats"}h!
text/plain;charset=utf-8
H{"p":"brc-20","op":"deploy","tick":"lite","max":"21000000","lim":"1000"}h!
text/plain;charset=utf-8
  "name": "44431.sats"
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="28" viewBox="0 0 150 28">
    <path data-name="
 810" d="M52.951 368.723h-2.724v-14h.724l6.877 7.893v-7.893h2.743v14h-.724l-6.9-7.592z" transform="translate(19.773 -347.723)" style="fill:#fff"/>
    <path data-name="
 811" d="M102.06 363.931v-9.208h2.861v9.189c0 2.819 4.642 2.819 4.642 0v-9.189h2.837v9.208c0 6.389-10.34 6.389-10.34 0z" transform="translate(-19.647 -347.723)" style="fill:#fff"/>
    <path data-name="
 812" d="m155.628 368.723M
-5.632-14h3.095l2.768 7.141 2.691-7.141h.135l2.691 7.141 2.768-7.141h3.095l-5.612 14h-.5l-2.518-6.014-2.5 6.014z" transform="translate(-55.859 -347.723)" style="fill:#fff"/>
    <path data-name="
 813" d="M231.8 368.723V357.48h-3.959v-2.757h10.69v2.757h-3.959v11.243z" transform="translate(-115.083 -347.723)" style="fill:#fff"/>
    <path data-name="
 814" d="M283.529 354.723c9.2 0 9.2 14 0 14s-9.196-14 0-14zm0 2.792c-5.346 0-5.346 8.4 0 8.4s5.345-8.4 0-8.4z" transform="translate(-152.496 -347.723)" style=M
    <path data-name="
 815" d="M343.8 368.723h-2.724v-14h.724l6.878 7.893v-7.893h2.743v14h-.721l-6.9-7.592z" transform="translate(-201.42 -347.723)" style="fill:#fff"/>
    <path data-name="
 845" d="M372.069 111.113a.99.99 0 0 0 .642-.339l.025-.034c.414-.568.419-1.028.017-1.368a3.858 3.858 0 0 1-1.449-2.645 4.11 4.11 0 0 1 .223-1.778 11.921 11.921 0 0 1 .875-1.705c.116-.2.232-.4.344-.6a.426.426 0 0 1 .139-.151 8.724 8.724 0 0 1 3.182.318c0 .257-.005.514-.009.771-.011.671-.023 1.365.021 2.04M
7a10.642 10.642 0 0 0 1.538 4.746 1.74 1.74 0 0 0 1.066.743 4.377 4.377 0 0 0 .8.068 8.138 8.138 0 0 0 .965-.066 1.2 1.2 0 0 0 1.013-1.31 7.934 7.934 0 0 1 .157-3.048 9.145 9.145 0 0 1 1.382 3.254 1.343 1.343 0 0 0 1.346 1.109s1.406.035 1.987-.034a1.194 1.194 0 0 0 1.054-.818 13.525 13.525 0 0 0 .314-5.7 13.26 13.26 0 0 0-1.392-4.436c-.108-.2-.1-.253.048-.359.406-.288.806-.585 1.205-.882.459-.341.918-.682 1.387-1.009a6.116 6.116 0 0 1 .8-.445l.171-.084a16.081 16.081 0 0 1-.02 4.611c-.058 1.067 1.674 2.351 2.456 2.5M
a5.7 5.7 0 0 0 3.535-1.006 11.328 11.328 0 0 0 1.135-2.536s.495-1.427 1.028-2.654a6.928 6.928 0 0 0 3.233.213 7.4 7.4 0 0 0 4.73-2.813 6.276 6.276 0 0 0 .559-.866l.066-.127-.1-.106s-.294-.324-.605-.657l-.368-.4-.136.056a6.868 6.868 0 0 1-6.019-.267 3.647 3.647 0 0 1-1.434-1.656 11.969 11.969 0 0 0-3.151-3.693c-3.2-2.55-8.1-2.628-11.872-1.862a8.344 8.344 0 0 0-3.8 1.694 43.1 43.1 0 0 1-6.668 4.358l-.1.049a12.807 12.807 0 0 1-1.352.572l-.147-.23-.9-1.409c-.3-.469-.593-.928-.887-1.394-.687-1.089-1.4-2.215-2.164-3.278aM
7.177 7.177 0 0 0-5.62-3.222c-2.871-.075-5.789-.048-8.613-.022-1.918.018-3.9.036-5.849.022h-.211v1.621l3.7-.007c3.214-.007 6.537-.015 9.805.007a6.836 6.836 0 0 1 4.241 1.3 15.342 15.342 0 0 0-3.736-.313h-.51a709.99 709.99 0 0 0-9.115 0h-.207v1.592h.21c1.981-.013 3.767-.007 5.563 0 1.6 0 3.2.01 4.967 0h.065a6.934 6.934 0 0 1 4.154 1.092c.066.046.128.093.186.141l-.084-.012c-.3-.035-.6-.074-.9-.113a25 25 0 0 0-2.653-.249 150.598 150.598 0 0 0-4.743-.012c-.77.006-1.553.012-2.372.012h-.209v1.6h8.342a7.01 7.01 0 0 1 4.07M
6 1.217 24.284 24.284 0 0 0-5.076-.314c-.609.006-1.213.012-1.818 0h-1.341l.005 1.616 1.146-.007c1.564-.008 2.8-.014 4.547 0a8.286 8.286 0 0 1 3.49.714c-.475.029-.965.061-1.445.121a21.77 21.77 0 0 0-3.291.581 14.223 14.223 0 0 0-8.273 6.158 1.759 1.759 0 0 1-1.457.891c-1.07.052-1.616-.53-1.863-1.768l-.033-.167-1.888-.02.018.44a4.6 4.6 0 0 0 1.217 2.291 3.325 3.325 0 0 0 2.882.9 3.6 3.6 0 0 0 2.639-1.681 12.251 12.251 0 0 1 5.7-4.853c.177-.078.361-.145.553-.21l-.013.014c-.373.411-.727.8-1.06 1.209a14.75 14.75 0 0 0-3M
.332 8.285 21.078 21.078 0 0 0 .141 3.677l.048.5a1.731 1.731 0 0 0 1.881 1.638c.371 0 1.687.013 2 0a1.191 1.191 0 0 0 .734-.286 2.177 2.177 0 0 0 .632-1.195l.048-.167a9.508 9.508 0 0 1 1.452-3 7.7 7.7 0 0 0 2.266 3.883 3.679 3.679 0 0 0 1.931.77c.634.054 2.203-.018 2.203-.018zm-11.593-5.665a16.3 16.3 0 0 1 1.05-4.157c.835-2.255 3.334-5.8 5.075-6.079l3.158-.524c.384 0 .384 0 .825.835a8.288 8.288 0 0 1 .963 4.487v.06a2.375 2.375 0 0 1-.107.7.468.468 0 0 1-.28.2 11.059 11.059 0 0 0-5.618 2.986 10.738 10.738 0 0 0-3.01M
 5.129c-.074.292-.112.345-.423.345-.5 0-1.19 0-1.516-.009s-.264-2.391-.117-3.973zm18.566-15.267A50.142 50.142 0 0 1 376.43 101l-3.084-.36a34.551 34.551 0 0 1-.037-.861 14.37 14.37 0 0 0-.225-2.421 13.631 13.631 0 0 0-.759-2.272c-.108-.271-.217-.543-.321-.821a29.641 29.641 0 0 0 7.038-4.084zm.548 19.195c-.542.046-.748-.168-1.029-.747l-.045-.092a7.372 7.372 0 0 1-.928-3.139 15.468 15.468 0 0 1 .069-2.033 8.39 8.39 0 0 1 2.556 1.767.179.179 0 0 1 .023.087 10.521 10.521 0 0 0-.646 4.157zm6.4-1.587a7.914 7.914 0 0 1-.17M
5 1.385l-.024.128a.364.364 0 0 1-.128.075 5.753 5.753 0 0 1-.772.03c-.211 0-.242-.058-.277-.21a10.3 10.3 0 0 0-2.064-4.126c-.157-.195-.171-.3-.064-.456q.9-1.335 1.79-2.678l.549-.824a11.163 11.163 0 0 1 1.066 3.654c.098 1.054.109 2.119.102 3.022zm8.639-5.491a6.457 6.457 0 0 1-1.94.483c-.467-.093-1.155-1.083-1.155-1.083a10.656 10.656 0 0 0-1.468-8.525 12.149 12.149 0 0 0-7.092-5.282l.162-.034a10.585 10.585 0 0 1 1.616-.255c.2-.011.407-.016.609-.016 2.566 0 6.27.023 8.323 1.7a9.39 9.39 0 0 1 2.982 3.677c.717 1.7.422 3M
.024-.109 4.719m-18.443 3.787a48.491 48.491 0 0 0 2.253-8.22c.179-.933.3-1.889.426-2.815.048-.365.1-.73.147-1.1 2.926.025 7 2.568 8.419 6.324a19.025 19.025 0 0 0-8.255 7.8l-.44-.292c-.537-.357-1.06-.7-1.589-1.043a3.582 3.582 0 0 0-.842-.424c-.132-.041-.15-.076-.15-.076s-.013-.023.034-.151zm-10.662 3.141a8.958 8.958 0 0 1 3.257-1.727c-.109.2-.226.4-.342.594a4.53 4.53 0 0 0-.87 2.544 6.814 6.814 0 0 0 .96 3.383 1.574 1.574 0 0 1-1.447-.425 6 6 0 0 1-1.751-3.907.679.679 0 0 1 .196-.459zm36.134-8.9a5.026 5.026 0 0 1-5.Lp163.861l.327-1.706a9.6 9.6 0 0 0 4.839.847z" transform="translate(-346.644 -83.186)" style="fill:#fff"/>
text/plain;charset=utf-8
B{"p":"brc-20","op":"deploy","tick":"RAJU","max":"10000","lim":"1"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"deploy","tick":"KONG","max":"10000","lim":"1"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"deploy","tick":"EMMA","max":"10000","lim":"1"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"deploy","tick":"Rizz","max":"10000","lim":"1"}h!
text/plain;charset=utf-8
  "name": "18904.sats"
text/plain;charset=utf-8
  "name": "18901.sats"
text/plain;charset=utf-8
  "name": "18905.sats"
text/plain;charset=utf-8
  "name": "18902.sats"
text/plain;charset=utf-8
  "name": "18903.sats"
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "18906.sats"
text/plain;charset=utf-8
Copyright (c) 1998 Hewlett-Packard Company
IEC http://www.iec.ch
IEC http://www.iec.ch
.IEC 61966-2.1 Default RGB colour space - sRGB
.IEC 61966-2.1 Default RGB colour space - sRGB
,Reference Viewing Condition in IEC61966-2.1
,Reference Viewing Condition in IEC61966-2.1
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
  "name": "18907.sats"
text/plain;charset=utf-8
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
text/plain;charset=utf-8
)$+*($''-2@7-0=0''8L9=CEHIH+6OUNFT@GHE
!E.'.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
&'()*56789:CDEFGHIJSTUVWXYM
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Mandala</title>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script type="text/javascript" >
        // !!!!!!!!!!!!M
!!!!!!!!!!!!!!!!!!!!!!!!
        // INSERT YOUR GENERATIVE CODE HERE
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get(M
"seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 10139042M
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfM
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
  <script type="module" crossorigin>
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{chM
ildList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();class A{constructor(e,t,a,s=255){this._rgba=[e/255,t/255,a/255,s/255],this._hsla=rt(this._rgba)}set hsla(e){this._hsla=e}get hsla(){return[...this._hsla]}get h(){rM
eturn this._hsla[0]}get s(){return this._hsla[1]}get l(){return this._hsla[2]}get a(){return this._hsla[3]}sat(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[1]=e,t}hue(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[0]=e,t}lum(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[2]=e,t}alpha(e){const t=new A(0,0,0);return t._hsla=[...this.hsla],t._hsla[3]=e,t}toString(){return this.a<1?`hsl(${this.h*360}deg ${this.s*100}% ${this.l*100}% / ${this.a*100}%)`:`hsl(${this.h*360}degM
 ${this.s*100}% ${this.l*100}%)`}static from(e){if(e instanceof A)return e;if(typeof e=="number")return new A(255,0,0);{let t;switch(e.length){case 9:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})(?<a>[0-9a-f]{2})$/i),t&&t.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16),parseInt(t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 7:if(t=e.match(/^[#](?<r>[0-9a-f]{2})(?<g>[0-9a-f]{2})(?<b>[0-9a-f]{2})$/i),t&&tM
.groups){if(t.groups)return new A(parseInt(t.groups.r,16),parseInt(t.groups.g,16),parseInt(t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;case 5:if(t=e.match(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])(?<a>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16),parseInt(""+t.groups.a+t.groups.a,16));throw new Error(`Error parsing color string '${e}'`)}break;case 4:if(t=e.matcM
h(/^[#](?<r>[0-9a-f])(?<g>[0-9a-f])(?<b>[0-9a-f])$/i),t&&t.groups){if(t.groups)return new A(parseInt(""+t.groups.r+t.groups.r,16),parseInt(""+t.groups.g+t.groups.g,16),parseInt(""+t.groups.b+t.groups.b,16));throw new Error(`Error parsing color string '${e}'`)}break;default:throw new Error(`Error parsing color string '${e}'`)}}}}function rt([n,e,t,a]){const s=Math.max(n,e,t),o=Math.min(n,e,t);let h;if(s===o)h=0;else{const F=s-o;s===n?h=(e-t)/F%6:s===e?h=(t-n)/F+2:h=(n-e)/F+4,h*=60,h<0&&(h+=360)}const E=s-o,g=(s+o)/2M
,O=E===0?0:E/(1-Math.abs(2*g-1));return[h/360,O,g,a]}const{sin:X,cos:st,abs:ut,PI:mt,acos:Bt,asin:wt,sqrt:ot,round:Dt,floor:Et}=Math,x=(n,e)=>[n[0]+e[0],n[1]+e[1]],it=(n,e)=>[n[0]*e,n[1]*e],lt=n=>ot(n[0]**2+n[1]**2),v=(n,e,t)=>[n[0]+e[0]*t,n[1]+e[1]*t],D=(n,e=1)=>{const t=lt(n);return t===0?[0,0]:it(n,e/t)},at=(n,e,t=2)=>(a,s)=>{let o=0,h=1,E=1;for(let g=0;g<t;g++)o+=h*X(X(a/n*E)+st(s/e*E)),E*=1.97834,h*=.5;return o},C=(n,[e,t])=>{const s=n(e+1e-4,t),o=n(e-1e-4,t),h=n(e,t+1e-4),E=n(e,t-1e-4);return[(s-o)/(2*1e-4),(M
h-E)/(2*1e-4)]},b=(n,e)=>{const[t,a]=C(n,e);return[a,-t]},Y=(n,e,t)=>{const a=[e];for(let s=0;s<t;s++)e=x(e,n(e)),a.push(e);return a},Z=n=>Array.from(n,(e,t)=>n[n.length-1-t]),ct=([n,...e],t=!1)=>{let a=`M ${n.join(" ")}`;return a+=e.map(s=>`L ${s.join(" ")}`).join(" "),a+=t?"z":"",a};class pt{constructor(){this.prng=sfc32(...cyrb128(seed))}unit(){return this.prng()}prob(e){return this.prng()<e}float(e,t){return this.prng()*(t-e)+e}int(e,t){return Math.floor(this.prng()*(t-e)+e)}pick(e){return e[this.int(0,e.lengthM
)]}}const z={SteamPunk:["#696969","#ebcc23","#F5F5DC","#AF9B60","#4F2A0C","#FF7034","#8B2800"],Colorful:["#C6EEFA","#db504a","#084c61","#e3b505","#4f6d7a","#56a3a6"],pal0:["#DEC78E","#192220","#BE3C39","#7E2925","#CCB477","#647657","#2D4C40","#6AB29B"],pal1:["#B4BCA4","#0E525A","#C2502E","#D47651","#0C353B","#F5AF6B","#897563","#6A402B"],pal2:["#F1D8AF","#785C74","#323666","#298D98","#E36075","#CF9A94","#5BE6CA","#F5BA6A"],pal3:["#6D9995","#516F6B","#233C45","#EDDC8D","#E69837","#7ED0D6","#A89E7A","#3E371D"],pal4:[M
"#BDD8C1","#20343C","#3C7179","#EDCD41","#DE694E","#8A3831","#79A791","#33B7C4"],pal5:["#E2DD91","#272C50","#3E9890","#2D5E78","#D53154","#69CFA0","#7C3067","#D78E65"],pal6:["#347179","#20414B","#E9A345","#3BA0A6","#36D8DB","#C7B689","#85B9B3","#975836"],pal7:["#6C95A7","#436FA7","#98A5BB","#EDCDC0","#483F6B","#E8A094","#DC46AB","#AE6362"],pal8:["#9BD7D0","#2C4D57","#172734","#7D5440","#337686","#C59B60","#E18C1F","#27C4CB"],pal9:["#735A82","#B5A5B1","#2D5570","#4CC9D4","#2893A5","#282C4A","#D74855","#EBB137"],pal1M
0:["#6D7B7E","#880B5B","#B28A96","#63BE9F","#27A188","#0D5B50","#C9367B","#CCEDD5"],pal11:["#09272F","#DDAF37","#67A793","#9ED8C7","#53B7AC","#409289","#34736E","#1A514F"],pal12:["#AAB29C","#C95734","#973819","#D27855","#776250","#F5B06B","#0F3438","#0E525A"],pal13:["#A4B1C7","#BD6F68","#EEB5A7","#6C95A7","#2D72C1","#3D3C57","#554A7D","#DC47AB"],pal14:["#101C39","#642E3D","#E14A47","#D7B176","#2EB1B8","#3A5F75","#5D7282","#20415F"],pal15:["#B7BEBC","#C7B55E","#5D9283","#88BCB7","#69AFAB","#2F4047","#51606B","#8F698M
D"],pal16:["#877855","#FBF6CD","#B86B42","#30200E","#5F4D37","#C3A064","#DDC081","#F1DE9A"],pal17:["#100B2C","#119065","#28224B","#160B5B","#433E74","#7F7AA1","#C2BDD9","#B70D44"]},ht=(n,{Palette:e})=>{var Q;const t=new pt,[a,s,...o]=z[e],h=z[e],E=[t.pick(h),t.pick(h)];[t.int(0,h.length/3),t.int(h.length/3,2*h.length/3),t.int(2*h.length/3,h.length)].map(m=>h[m]);const g=at(t.float(89,300),t.float(100,300),t.int(1,5)),O=Y(m=>D(C(g,m),5),[200,200],10).map(m=>Y(i=>D(b(g,i),5),m,140)),F=.67,W=innerWidth/innerHeight>F?(M
innerHeight-10)*F:innerWidth-10,K=W/F,L=600,R=L/F,B=L/2,w=R/2,u=(m,i,f,d)=>{const l=document.getElementById(m),r=document.createElementNS(G,i);return Object.keys(f).forEach(c=>c==="xlink:href"?r.setAttributeNS(J,c,f[c]):r.setAttribute(c,f[c])),l&&(d===void 0?l.appendChild(r):l.insertBefore(r,d)),r},G="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xlink";document.createElementNS(G,"svg");const j=document.createElement("div");j.setAttribute("id","svgC"),n.style.background="#ddd",n.style.width=`${innerWidth-10M
}px`,n.style.height=`${innerHeight-10}px`,n.style.padding="5px",j.style.width=`${W}px`,j.style.height=`${K}px`,j.style.margin="0 auto",j.style.boxShadow="2px 3px 6px rgba(0,0,0,0.5)",j.style.borderRadius="0.5vh",n.appendChild(j),u("svgC","svg",{id:"art",xmlns:G,"xmlns:xlink":J,"shape-rendering":"geometricPrecision",width:L,height:R,viewBox:`${-B} ${-w} ${L} ${R} `,style:`display:block; width:${W}; height:${K}`}),u("art","defs",{id:"df"}),u("df","filter",{id:"blur"}),u("blur","feGaussianBlur",{stdDeviation:t.int(1,5M
)}),u("df","filter",{id:"colorF"}),u("colorF","feColorMatrix",{type:"matrix",values:`${t.float(.2,.8)} 1 0 0 0
        0 0 0 1 0`}),u("df","pattern",{id:"hash0",x:0,y:0,width:t.float(1,3),height:5,stroke:t.pick(o),patternTransform:`rotate(${t.int(0,90)} 0 0)`,patternUnits:"userSpaceOnUse"}),u("hash0","line",{x1:0,y1:0,x2:0,y2:5,fill:"none","stroke-width":.3}),u("df","linearGradient",{id:"grad2",x1:"0%",x2:"100%",y1:"0",y2:"0"}),u("grad2","stop",{offset:"0%","stop-color":E[0]}M
),u("grad2","stop",{offset:"100%","stop-color":E[1]}),u("art","rect",{x:-B,y:-w,width:L,height:R,fill:a,id:"bg"}),t.int(30,70),t.int(150,250);for(let m=0;m<200;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){conM
st c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}l+=" z",u("art","path",{d:l,stroke:"none",fill:t.pick(o),"fill-opacity":.1})}u("art","g",{id:"stripes",filter:"url(#blur)"});for(let m=0;m<100;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<5;l++){let r=v(d,C(g,d),400);f.push(r),d=r}for(let l=0;l<20;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let $=0;$<5;$++){let M=v(p,b(g,p),400),S=v(I,b(g,I),400);r.push(M),c.unshift(S),p=M,I=S}d=c[0];let y=[];for(let $=0;$<5;$++){let M=v(d,C(g,d),400);y.unshM
ift(M),d=M}const[T,..._]=[...f,...r,...y,...c];let H=`M ${T.join(" ")}`;H+=_.map($=>`L ${$.join(" ")}`).join(" "),u("stripes","path",{d:H,fill:t.prob(.9)?t.pick(h):"url(#grad2)",stroke:"none"}),f=[c[0],...Z(y)]}}for(let m=0;m<80;m++){let i=[t.float(-B,B),t.float(-w,w)];const f=t.int(10,50),d=t.int(160,200);let l=`M ${i.join(" ")}`;for(let r=0;r<f;r++){const c=D(C(g,i),5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<f;r++){const c=D(C(M
g,i),-5),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}for(let r=0;r<d;r++){const c=D(b(g,i),-3),p=x(i,c);l+=` L ${p.join(" ")}`,i=p}u("art","path",{d:l,stroke:t.pick(o),fill:"none"})}const et=60,nt=10,U=t.float(1,3);for(let m=0;m<nt;m++){let f=[[t.float(-B,B),t.float(-w,w)]],d=f[0];for(let l=0;l<20;l++){let r=v(d,D(b(g,d)),U);f.push(r),d=r}for(let l=0;l<et;l++){let r=[],c=[],p=f[f.length-1],I=f[0];for(let k=0;k<20;k++){let N=v(p,D(C(g,p)),U),V=v(I,D(C(g,I)),U);r.push(N),c.unshift(V),p=N,I=V}d=c[0];let y=[];const T=r[r.lengtM
h-1];let _=1/0,H=(d[0]-T[0])**2+(d[1]-T[1])**2;for(;H<_;){let k=v(d,D(b(g,d)),U);y.unshift(k),d=k,_=H,H=(d[0]-T[0])**2+(d[1]-T[1])**2}const[$,...M]=[...f,...r,...y,...c];let S=`M ${$.join(" ")}`;S+=M.map(k=>`L ${k.join(" ")}`).join(" "),u("art","path",{d:S,fill:t.prob(.1)?"url(#grad2)":E[l%2],stroke:"none"}),f=[c[0],...Array.from(y,(k,N)=>y[y.length-1-N])]}}u("art","g",{id:"grid"}),O.forEach((m,i)=>{if(i===0)return;const f=O[i-1],d=4;for(let l=0,r=0;l<f.length;l+=d-1,r++){const c=Z(O[i].slice(l,l+d)),p=ct([...f.sliM
ce(l,l+d),...c],!0);u("grid","path",{d:p,fill:(i+r)%2===0?t.pick(o):s,stroke:"none"})}}),u("art","g",{id:"border",filter:"url(#colorF)"}),u("border","rect",{x:-B,y:-w,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:w-10,width:L,height:10,fill:a,"fill-opacity":.6}),u("border","rect",{x:-B,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),u("border","rect",{x:B-10,y:-w,width:10,height:R,fill:a,"fill-opacity":.6}),(Q=A.from(s))==null||Q.sat(1)},dt=n=>typeof n=="string",tt=(n,e,t)=>{const a={expiM
re:1e4,utf8:!1,...t};dt(e)&&a.utf8&&(e=new TextEncoder().encode(e),a.mime+=";charset=UTF-8");const s=URL.createObjectURL(e instanceof Blob?e:new Blob([e],{type:a.mime})),o=document.createElement("a");o.setAttribute("download",n),o.setAttribute("href",s),document.body.appendChild(o),o.click(),document.body.removeChild(o),a.expire>0&&setTimeout(()=>URL.revokeObjectURL(s),a.expire)},ft=(n,e,t="png",a=.95)=>{const s=`image/${t}`;n.toBlob(o=>o?tt(`${e}.${t}`,o,{mime:s}):console.warn("can't download canvas"),s,a)};mathRaM
nd();window.$generativeTraits={Palette:Object.keys(z)[Math.floor(mathRand()*Object.keys(z).length)]};console.log(window.$generativeTraits);function gt(){const n=document.getElementById("art");let[e,t]=[n.getAttribute("width"),n.getAttribute("height")],a=new Blob([n.outerHTML],{type:"image/svg+xml;charset=utf-8"}),s=URL.createObjectURL(a),o=new Image;o.onload=()=>{const h=document.createElement("canvas");h.width=e*P,h.height=t*P,h.getContext("2d").drawImage(o,0,0,e*P,t*P),ft(h,`${seed} - ${new Date().getTime()}-art.M
png`)},o.src=s}const q=document.createElement("div");q.setAttribute("id","app");document.body.prepend(q);ht(q,window.$generativeTraits);const P=parseInt(new URLSearchParams(window.location.search).get("zoom")||"8");window.addEventListener("keyup",n=>{switch(n.key){case"s":tt(`${seed} - ${new Date().getTime()}-art.svg`,document.getElementById("art").outerHTML,{mime:"image/svg+xml"});return;case"x":gt();return}});
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
FjDOUT:D27FDD1D4357444FBFAD349701D8BA460452D2E42ED2A29E336F4C41F727D71D
FjDOUT:A121852067225E1016A999AC42CFC77855159DA19DF35C08BF44DF0EAC84D21F
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-135.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-139.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-145.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-138.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-141.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-146.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-130.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-131.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-129.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"-147.sats"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
Lv{"p":"sns","op":"reg","name":"
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 65/300 inscribed at satpoint 1930482760400012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.M
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>65</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>HyxHRa0FJ93uiIT8RQ1hmBkt3AZVy6KX2QsNZIgsTZqCMH/jSwTtXynwG9JowMw6Bz60X8gAgmub/wngIpEDfZI=</xmL
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elemM
    <rdf:li xml:lang='x-default'>TwelveFold 66/300 inscribed at satpoint 1930482762500012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>H3eBSkLhAgfJFLs8lmmVtAZC76hEyRFnlJRFGqGIYZNWQFbO6TK6TrtkdlI1H49bSMZf12Ccn+QyVjS+2Z+uiFM=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='ImaM
ge::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 68/300 inscribed at satpoint 1930482766700012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</M
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>68</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>ICzjJSgfJd3VYRKmSAlu6PmAIqMSQ8rZbGV+kyfdITppZhSoqlb2AeCnpB1uVpjbuFZfQvCCoXTtYz43TX1BfwI=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifToolM
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 69/300 inscribed at satpoint 1930482768800012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>69</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>H2drHBvotRY5dSntsp19EOxLqOgJ/Yp8mVmK5tyk9x1HX1i/Bg+elRqpz923bQ6SwZgvubS0EL6LBiUll2XRzQg=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 71/300 inscribed at satpoint 1930482773000012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>71</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>IExFnxt2B/KxpveHCmUaycN1e+J5OTY9C4B8Z0NnSSCHQ9Eq/GUenLHHEOKd5a04QQBWYltxdEm5qV9rnWV9zmA=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 62/300 inscribed at satpoint 1930482754100012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>62</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
HxYYynCqsI9EAFyAjUhCVtQofoCQBCFdZ8qAyhTvp8EBaLWutvy7jgi4C24+ilgbeIfQ7z+CRoNT6yClVNGCJhc=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>M
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 64/300 inscribed at satpoint 1930482758300012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>64</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>HwQcB3UZj7vs+2XubE23IfNTmKkAp+wRZvTJlDy3/TOicGm31olC9eN7i0UogKjCAsfTlXo6n37ks4jPgANwhQI=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='ImageM
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 72/300 inscribed at satpoint 1930482775100012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdM
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>72</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>IEoZyFpiae/6ZB2mZlmOQh6kCFLCiYSuaA8S1xbE2h/VJ2Tf6NGcjAccyUFwviJ4GuDaaMC6ihqS+BTwU9nNbw4=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold M
61/300 inscribed at satpoint 1930482752000012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>61</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionMX
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>IGYMDQFM0GUffH5sB0W5FCVqeUVYLZxsYrWktdmCSFpWZUWRHuDVirOGgkDDEBaWtVEosNYZ79aEGIv4HhTW2Aw=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:M
ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 63/300 inscribed at satpoint 1930482756200012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>CopyM
right Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>63</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>HzwAiuIVCt0dHDi6b4c6hPbEYOHmSoMRUaZrcyyXh7DFNwVMGlIk7ljq+7bVCHZdw166EqXfRjPmhQow7r3AxaI=</xmp:Signature>
<?xpacket end='w'LX?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk=M
'Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 70/300 inscribed at satpoint 1930482770900012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 20M
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>70</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>H0EJL+t2YoPCQxk5N3DQua3ocAdMixmLLEOx1vd0oYNLdW6EvwXldbfhji271d5lQT0hhMldAr3l/kfKmLifrOc=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#M
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 67/300 inscribed at satpoint 1930482764600012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdfM
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>67</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Winter</xmp:Season>
  <xmp:Series>6</xmp:Series>
  <xmp:Signature>H2OICOOVWGh45J9jZMFwFYZM89D+OJMvHU7UPd3rXf78OyUxEP6XVOtjhbMJ3PAogi2WnjmUnK2qLf1XSElXK4M=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
        "name": "Satoshi Wands III",
        "description": "An ancient suite of nine stones, gathered from around the globe, embodying the spirit of the collective world, scattered and lost to time, reunited and crafted into nine wands to transform tomorrow.",
        "creator": "PatternHungry",
        "max_supply": 9,
        "first_inscribed": "2023-03-13 02:17:17 UTC",
        "last_inscribed": "2023-03-13 02:17:17 UTC",
        "collection_image_inscription_id": "6ceb8ad2263904b463af366cM
ba9183864190a88a8d2aea719d6ed767a9e3382bi0"
            "name": "Satoshi Wand #19",
            "collection_item_id": "1",
            "inscription_id": "6ceb8ad2263904b463af366cba9183864190a88a8d2aea719d6ed767a9e3382bi0",
            "image_hash": "ddf6041f259532e44e455b83fb546a80",
            "attributes": [
                    "trait_type": "Wood",
                    "value": "White Oak"
                    "trait_type": "CrM
                    "value": "Charoite"
            "name": "Satoshi Wand #20",
            "collection_item_id": "2",
            "inscription_id": "c55657cdabb441e2b1a826ce346553e231f288e139f212ff29e0070f4555fe2bi0",
            "image_hash": "a6e025356727f60f856532b33448ae74",
            "attributes": [
                    "trait_type": "Wood",
                    "value": "White Oak"
        "trait_type": "Crystal",
                    "value": "Spinel"
            "name": "Satoshi Wand #21",
            "collection_item_id": "3",
            "inscription_id": "8b409085805b263e0936b6aab726b1074dafd25aa79615ebbd72d9c571b47549i0",
            "image_hash": "39ef5917e56a098ba85410a9bb8d49bf",
            "attributes": [
                    "trait_type": "Wood",
                    "value": "White Oak"
                    "trait_type": "Crystal",
                    "value": "Chalcanthite"
            "name": "Satoshi Wand #22",
            "collection_item_id": "4",
            "inscription_id": "28446d9261503f36a754a177ed636c5402a606c841ad26e59b2a8ba053182873i0",
            "image_hash": "3276816b1059a939cccf08ae2222020a",
            "attributes": [
                    "trait_type": "Wood",
                    "value": "White OaM
                    "trait_type": "Crystal",
                    "value": "Vanadinite"
            "name": "Satoshi Wand #23",
            "collection_item_id": "5",
            "inscription_id": "09df53f2be41a0b7e51c396eb6ea413078bca4578f809cfdb9ac5ec662afcd7bi0",
            "image_hash": "246471f6da3ae4ccb44ebb48723b5c88",
            "attributes": [
                    "trait_type": "Wood",
         "value": "White Oak"
                    "trait_type": "Crystal",
                    "value": "Calcite"
            "name": "Satoshi Wand #24",
            "collection_item_id": "6",
            "inscription_id": "d806a3020180124b9b68d65c33e002f6414bb3dbc71d944d95c74531216e64a0i0",
            "image_hash": "3e7b5955ace47ab399f332ed458f2355",
            "attributes": [
                    "trait_tyM
                    "value": "White Oak"
                    "trait_type": "Crystal",
                    "value": "Apatite"
            "name": "Satoshi Wand #25",
            "collection_item_id": "7",
            "inscription_id": "c8cf1223a939035955561ef2b2d26a298c97908219405ce95e61fa9b87051ca1i0",
            "image_hash": "eea3e0617e5337f79babd1b6b0013e3b",
            "attributes": [
               "trait_type": "Wood",
                    "value": "White Oak"
                    "trait_type": "Crystal",
                    "value": "Citrine"
            "name": "Satoshi Wand #26",
            "collection_item_id": "8",
            "inscription_id": "c3f89261205bddefb9ee1feaf378f1c83492886b525b64317e5d7363885af5cci0",
            "image_hash": "fc2c2843bb85364b6375968fa81663ff",
            "attributes": [M
                    "trait_type": "Wood",
                    "value": "White Oak"
                    "trait_type": "Crystal",
                    "value": "Brucite"
            "name": "Satoshi Wand #27",
            "collection_item_id": "9",
            "inscription_id": "5e53fbc012a9b5c40994bdd7b1bf38fa9c95f4eed4215f4487840749ea99c0f7i0",
            "image_hash": "6f2a78b5025ed06ca8e4296c1122b802",
         "attributes": [
                    "trait_type": "Wood",
                    "value": "White Oak"
                    "trait_type": "Crystal",
                    "value": "Sulfur"
text/plain;charset=utf-8
  "name": "18910.sats"
text/plain;charset=utf-8
  "name": "18911.sats"
text/plain;charset=utf-8
  "name": "18912.sats"
text/plain;charset=utf-8
  "name": "18913.sats"
text/plain;charset=utf-8
  "name": "18908.sats"
text/plain;charset=utf-8
  "name": "18914.sats"
text/plain;charset=utf-8
  "name": "18915.sats"
)$+*($''-2@7-0=0''8L9=CEHIH+6OUNFT@GHE
!E.'.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
&'()*56789:CDEFGHIJSTUVWXYM
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"
"3 %  % 3-7,),7-Q@88@Q^OJO^qeeq
"3 %  % 3-7,),7-Q@88@Q^OJO^qeeq
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
"3 %  % 3-7,),7-Q@88@Q^OJO^qeeq
"3 %  % 3-7,),7-Q@88@Q^OJO^qeeq
((((((((((((((((((((((((((((((((((((((((((((((((((
9'wwwwwwwwwwwwwwwwwwwwwwwwwwww
((((((((((((((((((((((((((((((((((((((((((((((((((
"3 %  % 3-7,),7-Q@88@Q^OJO^qeeq
"3 %  % 3-7,),7-Q@88@Q^OJO^qeeq
{"event":"The Whitepaper","event_year":2008,"rarity":"common","boost":2.1,"sats_name":{"id":"9beb67b9a2cde11efb0d6e109e1d0700e>d231cb459acc2916c50b35d1564090ci0","name":"btc-relics.sats"}}
text/plain;charset=utf-8
  "name": "ner.sats"
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:EAAD4EF4B23F11EDA3F28D2E7D1B81DB" xmpMM:DocumentID="xmp.did:EAAD4EF5B23F11EDA3F28D2E7D1B81DB"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:EAAD4EF2B23F11EDA3F28D2E7D1B81DB" stRef:documentID="xmp.did:EAAD4EF3B23F11EDA3F28D2E7D1B81DB"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"sundae.sats"}h!
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
"3 %  % 3-7,),7-Q@88@Q^OJO^qeeq
"3 %  % 3-7,),7-Q@88@Q^OJO^qeeq
((((((((((((((((((((((((((((((((((((((((((((((((((
{"event":"The Whitepaper","event_year":2008,"rarity":"common","boost":2.1,"sats_name":{"id":"9beb67b9a2cde11efb0d6e109e1d0700ed231cb459a4cc2916c50b35d1564090ci0","name":"btc-relics.sats"}}
{"event":"The Whitepaper","event_year":2008,"rarity":"common","boost":2.1,"sats_name":{"id":"9beb67b9a2cde11efb0d6e109e1d0700ed231cb459acc2916c50b35d1564090ci0","name":"btc-relics.sats"}}
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"stag.sats"}h!
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:EB032624B23F11ED9D80E79705DCBAE8" xmpMM:DocumentID="xmp.did:EB032625B23F11ED9D80E79705DCBAE8"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:EB032622B23F11ED9D80E79705DCBAE8" stRef:documentID="xmp.did:EB032623B23F11ED9D80E79705DCBAE8"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
((((((((((((((((((((((((((((((((((((((((((((((((((
{"event":"The Whitepaper","event_year":2008,"rarity":"common","boost":2.1,"sats_name":{"id":"9beb67b9a2cde11efb0d6e109e1d0700ed231cb459acc2916c50b35d1564090ci0","name":"btc-relics.sats"}}
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
(:3=<9387@H\N@DWE78PmQW_bghg>Mqypdx\egc
/cB8Bcccccccccccccccccccccccccccccccccccccccccccccccccc
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
{"event":"The Whitepaper","event_year":2008,"rarity":"common","boost":2.1,"sats_name":{"id":"9beb67b9a2cde11efb0d6e109e1d0700ed231cb459acc2916c50b35d1564090ci0","name":"btc-relics.sats"}}
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"Robocop.sats"}h!
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 3/300 inscribed at satpoint 1930482781400012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>3</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>1</xmp:Series>
  <xmp:Signature>H04457rYggspk5Ope7NMhcbgZetPxoP51UPaHKxheaIWd0uD2BjZH0bWeqFvv55ma/DIvRFfFZ8X1CDYOHnHJLU=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/plain;charset=utf-8
  "name": "82555.sats"
text/plain;charset=utf-8
  "name": "26555.sats"
text/plain;charset=utf-8
  "name": "07555.sats"
text/plain;charset=utf-8
  "name": "29555.sats"
text/plain;charset=utf-8
  "name": "32555.sats"
text/plain;charset=utf-8
  "name": "36555.sats"
text/plain;charset=utf-8
  "name": "23555.sats"
text/plain;charset=utf-8
  "name": "08555.sats"
text/plain;charset=utf-8
  "name": "37555.sats"
text/plain;charset=utf-8
  "name": "27555.sats"
text/plain;charset=utf-8
  "name": "39555.sats"
text/plain;charset=utf-8
H{"p":"brc-20","op":"deploy","tick":"XHCX","max":"21000000","lim":"1000"}h!
text/plain;charset=utf-8
  "max": "21000000",
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
d/Foundry USA Pool #dropgold/
KjI=:BNB.BUSD-BD1:bnb1xn3zdy9klwl49phcggz69x7zxcvkhyt3fdlwzw:369663332042::0
tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"0xt.sats"}h!
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 1M
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 30/300 inscribed at satpoint 1930482712081712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>30</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>3</xmp:Series>
  <xmp:Signature>IGr+v2ABhDuxxfrUU05khnIklw0xqDDFsuUyC3dBhQ28RLJ9o/vlDGBW+KYp0HmT2c9ui8hReTTio5uvxCOjJSg=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/plain;charset=utf-8
  "name": "18916.sats"
text/plain;charset=utf-8
  "name": "18920.sats"
text/plain;charset=utf-8
  "name": "18922.sats"
text/plain;charset=utf-8
  "name": "18918.sats"
text/plain;charset=utf-8
  "name": "18919.sats"
text/plain;charset=utf-8
  "name": "18921.sats"
text/plain;charset=utf-8
  "name": "18917.sats"
text/plain;charset=utf-8
text/plain;charset=utf-8
{"event":"The Whitepaper","event_year":2008,"rarity":"common","boost":2.1,"sats_name":{"id":"9beb67b9a2cde11efb0d6e109e1d0700ed231cb459acc2916c50b35d1564090ci0","name":"btc-relics.sats"}}
text/html;charset=utf-8
<iframe width="560" height="315" src="https://www.youtube.com/embed/rBG5L7UsUxA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
{"event":"The Whitepaper","event_year":2008,"rarity":"common","boost":2.1,"sats_name":{"id":"9beb67b9a2cde11efb0d6e109e1d0700ed231cb459acc2916c50b35d1564090ci0","name":"btc-relics.sats"}}
{"event":"The Whitepaper","event_year":2008,"rarity":"common","boost":2.1,"sats_name":{"id":"9beb67b9a2cde11efb0d6e109e1d0700ed231cb459acc2916c50b35d1564090ci0","name":"btc-relics.sats"}}
text/plain;charset=utf-8
{"event":"The Whitepaper","event_year":2008,"rarity":"common","boost":2.1,"sats_name":{"id":"9beb67b9a2cde11efb0d6e109e1d0700ed231cb459acc2916c50b35d1564090ci0","name":"btc-relics.sats"}}
((((((((((((((((((((((((((((((((((((((((((((((((((
text/html;charset=utf-8
  <meta charset="UTF-8">
    box-sizing: border-box
  @-webkit-keyframes pulse {
      box-shadow: 0 0 0 45px rgba(232, 76, 61, 0);
  @-moz-keyframes pulse {
      box-shadow: 0 0 0 45px rgba(232, 76, 61, 0);
  @-ms-keyframes pulse {
      box-shadow: 0 0 0 45px rgba(232, 76, 61, 0);
  @keyframes pulse {
      box-shadow: 0 0 0 45px rgbaM
  @keyframes gradient {
      background-position: 0% 50%;
      background-position: 100% 50%;
      background-position: 0% 50%;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px !important;
    align-items: center;
    justify-content: center;
    margin-top: 20px !important;
    margin-bottom: 0 !important
<div class="wrap" style=" width: 100%;height: 100vh;padding: 5vw;margin: 0 auto ;background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); background-size: 200% 200%; animation: gradient 15s ease infinite;">
  <div class="inner">
    <div class="pulse-button" style="position: relative; width: 30vw; height: 30vw; margin: 0 auto; box-shadow: 0 0 0 0 rgba(247, 247, 247, 0.7); border-radius: 50%; background-color: #fffdf8; font-size: 12vw; text-align: center; -webkiM
t-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1); -moz-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1); -ms-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1); animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1); ">
        <svg style=" width: 15vw;     height: 15vw;" enable-background="new 0 0 21.6 21.6" version="1.1" viewBox="0 0 21.6 21.6" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
            <g id="Layer_2_1_">
                <g id="Layer_1-2">
           <path style="fill:#666666;"
                        d="M0.9,20.7c0.1-0.1,0.1-0.1,0.2-0.2c3.9-3.9,7.7-7.7,11.6-11.6c0.1-0.1,0.2-0.1,0.2-0.2l0.1,0c0.1,0.6,0.3,1.2,0.5,1.7c-1.8,1.9-3.7,3.7-5.5,5.6c-1.7,1.7-3.5,3.5-5.2,5.2c-0.2,0.2-0.3,0.3-0.5,0.4H1.9C1.4,21.4,1.2,21,0.9,20.7z" />
                    <g>
                        <path style="fill:#8E8E8E;"
                            d="M7.5,11.8c-0.1,0.1-0.2,0.1-0.3,0C6.5,11.1,5.7,10.4,5,9.6c-0.3-0.3-0.7-0.3-1,0c-0.4,0.4-0.8,0.8-1.2,1.2c-0.4,0.4-0.4,0.7,0,1.M
1c0.7,0.7,1.5,1.5,2.2,2.2c0.1,0.1,0.1,0.2,0,0.3c-0.2,0.2-0.4,0.4-0.6,0.6c-0.1,0.1-0.1,0.1-0.2,0c-0.5-0.5-0.9-0.9-1.4-1.4c-0.3-0.3-0.7-0.3-1,0c-0.4,0.4-0.8,0.8-1.3,1.3c-0.3,0.3-0.3,0.7,0,1c0.4,0.4,0.9,0.9,1.3,1.3c0.1,0.1,0.2,0.2,0,0.4c-0.5,0.5-1,1-1.5,1.4c-0.1,0.1-0.3,0.3-0.3,0.4l0,0.3c0.2,0.4,0.6,0.7,0.9,1c0.1-0.1,0.1-0.1,0.2-0.2c3.9-3.9,7.7-7.7,11.6-11.6c0.1-0.1,0.2-0.1,0.2-0.2c-0.6-0.1-1.1-0.3-1.6-0.6C9.9,9.4,8.7,10.6,7.5,11.8z" />
                        <path style="fill:#8E8E8E;"
                            d=M
"M20.7,6.5C21.7,5.2,21.9,3.4,21,2c-0.2-0.3-0.4-0.6-0.7-0.8c0-0.1-0.1-0.1-0.1-0.1c-0.7-0.6-1.5-1-2.4-1c-1,0-2,0.3-2.8,0.9c-0.1,0.1-0.2,0.1-0.4,0.1c-1.1-0.4-2.2-0.4-3.2,0.2c-1.6,0.9-2.3,2.2-2.1,4c0.1,1,0.6,1.8,1.3,2.5C10.8,7.9,11,8,11.2,8.1c0.5,0.2,1.1,0.5,1.6,0.6l0.1,0c0.1,0.6,0.3,1.2,0.5,1.7c0.1,0,0.1,0.1,0.1,0.1c1,1.4,2.4,2,4.1,1.7c2.4-0.4,3.8-3,2.9-5.3C20.5,6.7,20.5,6.6,20.7,6.5z M17.7,6.5c0,0.1-0.1,0.1-0.1,0.2c-0.7,0.8-1.9,0.9-2.7,0.2l-0.1-0.1c-0.1,0-0.1,0-0.1,0.1c0,0,0.1-0.1,0.1-0.1c-0.6-0.6-0.7-1.4-0.4-2.2c0.5M
-1.2,2.1-1.4,3.1-0.5C18.2,4.9,18.2,5.8,17.7,6.5z" />
                    </g>
                </g>
  <div align="center" style=" padding:5px; color:#ffffff; font-size:8vw; font-family: Arial, sans-serif; padding-top:20px;">You've got a<br />
    <font style="font-size: 12vw;">SILVER KEY</font>
    <p class="link">
      <a href="https://generative.xyz" target="_blank">generative.xyz</a>
text/plain;charset=utf-8
Joint Statement by Treasury, Federal Reserve, and FDIC
For release at 6:15 p.m. EDT
Washington, DC -- The following statement was released by Secretary of the Treasury Janet L. Yellen, Federal Reserve Board Chair Jerome H. Powell, and FDIC Chairman Martin J. Gruenberg:
Today we are taking decisive actions to protect the U.S. economy by strengthening public confidence in our banking system. This step will ensure that the U.S. banking system continues to perform its vital roles of protecting deposits and providingM
 access to credit to households and businesses in a manner that promotes strong and sustainable economic growth.
After receiving a recommendation from the boards of the FDIC and the Federal Reserve, and consulting with the President, Secretary Yellen approved actions enabling the FDIC to complete its resolution of Silicon Valley Bank, Santa Clara, California, in a manner that fully protects all depositors. Depositors will have access to all of their money starting Monday, March 13. No losses associated with the reM
solution of Silicon Valley Bank will be borne by the taxpayer.
We are also announcing a similar systemic risk exception for Signature Bank, New York, New York, which was closed today by its state chartering authority. All depositors of this institution will be made whole. As with the resolution of Silicon Valley Bank, no losses will be borne by the taxpayer.
Shareholders and certain unsecured debtholders will not be protected. Senior management has also been removed. Any losses to the Deposit Insurance Fund to suM
pport uninsured depositors will be recovered by a special assessment on banks, as required by law.
Finally, the Federal Reserve Board on Sunday announced it will make available additional funding to eligible depository institutions to help assure banks have the ability to meet the needs of all their depositors.
The U.S. banking system remains resilient and on a solid foundation, in large part due to reforms that were made after the financial crisis that ensured better safeguards for the banking industry. Those reL
forms combined with today's actions demonstrate our commitment to take the necessary steps to ensure that depositors' savings remain safe.
Last Update: March 12, 2023
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
  "name": "improbable.sats"
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
2023-03-13T03:14:19+00:00
2023-03-13T03:14:19+00:00e
text/plain;charset=utf-8
  "name": "walletconnect.sats"
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.5.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 700 700" style="enable-background:new 0 0 700 700;" xml:space="preserve">
<style type="text/css">
	.st0{fill:#303030;}
	.st1{fill:#00FFE6;}
	.st2{fill:#191919;}
	.st3{fill:#FFFFFF;}
	.st4{font-family:'ArialMT';}
	.st5{font-size:24px;}
	.st7{fill:#FFFF00;}
	.st8{fill:#008000;}
	.st9{fill:#6D3719;}
	.st10{fill:#FF7E19;}
	.st11{fill:#020202;}
	.st12{fill:#BFBF00;}
		<rect x="1.5" y="1.5" class="st0" width="697" height="697"/>
		<path class="st1" d="M697,3v694H3V3H697 M700,0H0v700h700V0L700,0z"/>
		<rect x="1.47" y="3.47" class="st2" width="697.07" height="190.07"/>
		<path class="st1" d="M697.07,4.93v187.14H2.93V4.93H697.07 M700,2H0v193h700V2L700,2z"/>
	<text transform="matriM
x(1 0 0 1 32.0731 48.2295)"><tspan x="0" y="0" class="st3 st4 st5">DogePunks are minting soon &amp; there is a strange electricity</tspan><tspan x="0" y="28.8" class="st3 st4 st5">in the air. They will be far from the fist collection inscribed </tspan><tspan x="0" y="57.6" class="st3 st4 st5">on Satoshis, but will grow to become the face of Bitcoin </tspan><tspan x="0" y="86.4" class="st3 st4 st5">Ordinals. Let it be know, a legend nobody sees coming is </tspan><tspan x="0" y="115.2" class="st3 st4 st5">on the way.M
<g id="face_outline">
	<rect x="67.88" y="540.55" width="15.63" height="159.45"/>
	<rect x="199.19" y="628.09" width="15.63" height="71.91"/>
	<rect x="184.34" y="626.53" width="73.47" height="15.63"/>
	<rect x="154.64" y="611.68" width="32.83" height="15.63"/>
	<rect x="140.57" y="596.83" width="15.63" height="15.63"/>
	<rect x="257.81" y="612.46" width="29.7" height="15.63"/>
	<rect x="287.52" y="537.42" width="15.63" height="75.04"/>
	<rect x="273.45" y="507.72" width="15.63" heighM
	<rect x="154.64" y="464.97" class="st6" width="29.7" height="16.17"/>
	<path class="st6" d="M273.45,540.55v25.01h-29.7v-10.94h-14.07v-14.07H273.45v-17.2h-57.84v14.07h-31.26v-14.07h-43.77v14.07H126.5
		v17.2h-17.2v20.32v7.82v7.82v6.25v15.63h15.63v15.63h15.63v14.07h12.51V700h46.9v-62.53h-15.63v-10.94h-29.7v-14.07h-14.07v-15.63
		h15.63v15.63h31.26v14.07h70.35v-14.07h29.7v-10.94v-4.69v-56.28H273.45z M273.45,596.83h-43.77v15.63h-14.07v-29.7h28.14h29.7
"516.97" y="464.97" transform="matrix(-1 -4.620849e-11 4.620849e-11 -1 1063.8574 946.1194)" class="st7" width="29.92" height="16.17"/>
<g id="outerfacefill">
	<path class="st8" d="M270.32,507.72H258.6v-42.21h-13.29v-14.07h-15.63v-17.2h-14.07h-15.63h-15.63v17.2h15.63v14.07h-15.63v42.21
		h-29.7v-42.21h17.2v-14.07h-17.2h-6.25h-7.82v12.51H126.5v15.63h-14.07v14.07H96.8v46.9H82.73V700h26.58h43.77v-60.97h-12.51
		v-12.51h-15.63v-14.07h-15.63v-57.84h17.2v-14.07h14.07v-17.2h43.77v14.07h15.63h7.82h7.82v-14.07H250hM
20.32h3.13v-15.63H270.32z
		 M241.4,507.72h-25.79v-42.21h25.79V507.72z"/>
	<rect x="215.61" y="596.83" class="st8" width="14.07" height="15.63"/>
	<rect x="214.04" y="464.97" class="st6" width="28.14" height="16.17"/>
	<rect x="245.31" y="362.34" class="st9" width="43.77" height="17.2"/>
	<path d="M273.45,392.04v-12.51h15.63v-17.2h-15.63h-6.25h-23.45v29.7h-28.14v-14.07h14.07v-15.63h-75.04v15.63h-26.58v-15.63H96.8
		v15.63H68.66v-15.63H53.03v45.33h9.38h4.69v14.07H38.96v14.07h-17.2v15.63h17M
.2h14.07v3.13v9.38v1.56H38.96v29.7h14.07v-14.07H67.1
		v28.14H53.03v31.26H96.8V517.1v-7.82v-15.63h17.2v-14.07h12.51v-15.63h14.07v-12.51h1.56h14.07h15.63v14.07h28.14v-14.07h-15.63
		v-15.63h45.33v15.63h15.63v14.07h12.51v42.21h15.63v-12.51h14.07v-29.7v-6.25v-9.38h-14.07v-14.07h14.07v-4.69v-7.82v-15.63h15.63
		v-15.63H273.45z M82.73,479.58H68.66v-14.07h14.07V479.58z"/>
	<rect x="154.64" y="481.15" class="st10" width="29.7" height="14.07"/>
	<rect x="214.04" y="481.15" class="st10" width="28.1M
	<rect x="154.64" y="495.21" class="st3" width="15.63" height="12.51"/>
	<rect x="170.27" y="495.21" class="st11" width="14.07" height="12.51"/>
	<rect x="226.55" y="495.21" class="st11" width="15.63" height="12.51"/>
	<rect x="214.04" y="495.21" class="st3" width="15.63" height="12.51"/>
	<rect x="68.66" y="465.51" class="st7" width="14.07" height="14.07"/>
	<rect x="215.61" y="582.76" width="57.84" height="14.07"/>
	<polygon points="229.68,54M
0.55 229.68,554.62 243.74,554.62 243.74,565.56 273.45,565.56 273.45,554.62 273.45,549.93
		273.45,540.55 	"/>
		<rect x="618.02" y="540.55" transform="matrix(-1 -4.491486e-11 4.491486e-11 -1 1251.6626 1240.5488)" width="15.63" height="159.45"/>
		<rect x="486.7" y="628.09" transform="matrix(-1 -4.491486e-11 4.491486e-11 -1 989.0372 1328.0907)" width="15.63" height="71.91"/>
		<rect x="443.71" y="626.53" transform="matrix(-1 -4.488511e-11 4.488511e-11 -1 960.8987 1268.6873)" width="73.47" height="15.63M
		<rect x="514.06" y="611.68" transform="matrix(-1 -4.482649e-11 4.482649e-11 -1 1060.9465 1238.9856)" width="32.83" height="15.63"/>
		<rect x="545.32" y="596.83" transform="matrix(-1 -4.479851e-11 4.479851e-11 -1 1106.2806 1209.2839)" width="15.63" height="15.63"/>
		<rect x="414.01" y="612.46" transform="matrix(-1 -4.495172e-11 4.495172e-11 -1 857.7245 1240.5488)" width="29.7" height="15.63"/>
		<rect x="398.38" y="537.42" transform="matrix(-1 -4.491486e-11 4.491486e-11 -1 812.3903 1149.8805)M
" width="15.63" height="75.04"/>
		<rect x="412.45" y="507.72" transform="matrix(-1 -4.491486e-11 4.491486e-11 -1 840.5287 1048.2695)" width="15.63" height="32.83"/>
	<path class="st7" d="M414.01,540.55v56.28v4.69v10.94h29.7v14.07h70.35v-14.07h31.26v-15.63h15.63v15.63h-14.07v14.07h-29.7v10.94
		h-15.63V700h46.9v-57.84h12.51v-14.07h15.63v-15.63h15.63v-15.63v-6.25v-7.82v-7.82v-20.32h-17.2v-17.2h-14.07v-14.07h-43.77v14.07
		h-31.26v-14.07h-57.84v17.2h43.77v14.07h-14.07v10.94h-29.7v-25.01H414.01z M428.08,582.76hM
29.7h28.14v29.7h-14.07v-15.63h-43.77
	<path class="st12" d="M428.08,507.72v15.63h3.13h20.32h34.39v14.07h7.82h7.82h15.63v-14.07h43.77v17.2h14.07v14.07h17.2v57.84
		h-15.63v14.07h-15.63v12.51h-12.51V700h43.77h26.58V540.55h-14.07v-46.9H589.1v-14.07h-14.07v-15.63h-14.07v-12.51h-7.82h-6.25
		h-17.2v14.07h17.2v42.21h-29.7v-42.21h-15.63v-14.07h15.63v-17.2h-15.63h-15.63h-14.07v17.2h-15.63v14.07h-13.29v42.21h-11.72
		H428.08z M460.13,465.51h25.79v42.21h-25.79V465.51z"/>
		<rect x="471.85" y="596.83" tM
ransform="matrix(-1 -4.512181e-11 4.512181e-11 -1 957.7722 1209.2839)" class="st12" width="14.07" height="15.63"/>
		<rect x="459.35" y="464.97" transform="matrix(-1 -4.641455e-11 4.641455e-11 -1 946.8295 946.1194)" class="st7" width="28.14" height="16.17"/>
		<rect x="412.45" y="362.34" transform="matrix(-1 -4.492330e-11 4.492330e-11 -1 868.6672 741.8732)" class="st9" width="43.77" height="17.2"/>
	<path d="M398.38,392.04v15.63h15.63v15.63v7.82v4.69h14.07v14.07h-14.07v9.38v6.25v29.7h14.07v12.51h15.63v-42.M
		h15.63v-15.63h45.33v15.63h-15.63v14.07h28.14v-14.07h15.63h14.07h1.56v12.51h14.07v15.63h12.51v14.07h17.2v15.63v7.82v23.45h43.77
		v-31.26h-14.07v-28.14h14.07v14.07h14.07v-29.7H648.5v-1.56v-9.38v-3.13h14.07h17.2v-15.63h-17.2v-14.07h-28.14v-14.07h4.69h9.38
		v-45.33h-15.63v15.63h-28.14v-15.63h-31.26v15.63h-26.58v-15.63h-75.04v15.63h14.07v14.07h-28.14v-29.7h-23.45h-6.25h-15.63v17.2
		h15.63v12.51H398.38z M618.8,465.51h14.07v14.07H618.8V465.51z"/>
		<rect x="516.97" y="481.15" transform="matrixM
(-1 -4.456714e-11 4.456714e-11 -1 1063.8574 976.3602)" class="st10" width="29.92" height="14.07"/>
		<rect x="459.35" y="481.15" transform="matrix(-1 -4.492774e-11 4.492774e-11 -1 946.8295 976.3602)" class="st10" width="28.14" height="14.07"/>
		<rect x="531.25" y="495.21" transform="matrix(-1 -4.491486e-11 4.491486e-11 -1 1078.1422 1002.9354)" class="st3" width="15.63" height="12.51"/>
		<rect x="517.19" y="495.21" transform="matrix(-1 -4.486335e-11 4.486335e-11 -1 1048.4406 1002.9354)" class="st11" wiM
dth="14.07" height="12.51"/>
		<rect x="459.35" y="495.21" transform="matrix(-1 -4.491486e-11 4.491486e-11 -1 934.3235 1002.9354)" class="st11" width="15.63" height="12.51"/>
		<rect x="471.85" y="495.21" transform="matrix(-1 -4.491486e-11 4.491486e-11 -1 959.3355 1002.9354)" class="st3" width="15.63" height="12.51"/>
		<rect x="618.8" y="465.51" transform="matrix(-1 -4.486335e-11 4.486335e-11 -1 1251.6626 945.0953)" class="st6" width="14.07" height="14.07"/>
		<rect x="428.08" y="582.76" transform=L
"matrix(-1 -4.494017e-11 4.494017e-11 -1 914.0013 1179.5823)" width="57.84" height="14.07"/>
	<polygon points="471.85,540.55 471.85,554.62 457.78,554.62 457.78,565.56 428.08,565.56 428.08,554.62 428.08,549.93
		428.08,540.55 	"/>
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
text/html;charset=utf-8
  <meta charset="UTF-8">
    box-sizing: border-box
  @-webkit-keyframes pulse {
      box-shadow: 0 0 0 45px rgba(232, 76, 61, 0);
  @-moz-keyframes pulse {
      box-shadow: 0 0 0 45px rgba(232, 76, 61, 0);
  @-ms-keyframes pulse {
      box-shadow: 0 0 0 45px rgba(232, 76, 61, 0);
  @keyframes pulse {
      box-shadow: 0 0 0 45px rgbaM
  @keyframes gradient {
      background-position: 0% 50%;
      background-position: 100% 50%;
      background-position: 0% 50%;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px !important;
    align-items: center;
    justify-content: center;
    margin-top: 20px !important;
    margin-bottom: 0 !important
<div class="wrap" style=" width: 100%;height: 100vh;padding: 5vw;margin: 0 auto ;background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); background-size: 200% 200%; animation: gradient 15s ease infinite;">
  <div class="inner">
    <div class="pulse-button" style="position: relative; width: 30vw; height: 30vw; margin: 0 auto; box-shadow: 0 0 0 0 rgba(247, 247, 247, 0.7); border-radius: 50%; background-color: #fffdf8; font-size: 12vw; text-align: center; -webkiM
t-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1); -moz-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1); -ms-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1); animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1); ">
        <svg style=" width: 15vw;     height: 15vw;" enable-background="new 0 0 21.6 21.6" version="1.1" viewBox="0 0 21.6 21.6" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
            <g id="Layer_2_1_">
                <g id="Layer_1-2">
           <path style="fill:#666666;"
                        d="M0.9,20.7c0.1-0.1,0.1-0.1,0.2-0.2c3.9-3.9,7.7-7.7,11.6-11.6c0.1-0.1,0.2-0.1,0.2-0.2l0.1,0c0.1,0.6,0.3,1.2,0.5,1.7c-1.8,1.9-3.7,3.7-5.5,5.6c-1.7,1.7-3.5,3.5-5.2,5.2c-0.2,0.2-0.3,0.3-0.5,0.4H1.9C1.4,21.4,1.2,21,0.9,20.7z" />
                    <g>
                        <path style="fill:#8E8E8E;"
                            d="M7.5,11.8c-0.1,0.1-0.2,0.1-0.3,0C6.5,11.1,5.7,10.4,5,9.6c-0.3-0.3-0.7-0.3-1,0c-0.4,0.4-0.8,0.8-1.2,1.2c-0.4,0.4-0.4,0.7,0,1.M
1c0.7,0.7,1.5,1.5,2.2,2.2c0.1,0.1,0.1,0.2,0,0.3c-0.2,0.2-0.4,0.4-0.6,0.6c-0.1,0.1-0.1,0.1-0.2,0c-0.5-0.5-0.9-0.9-1.4-1.4c-0.3-0.3-0.7-0.3-1,0c-0.4,0.4-0.8,0.8-1.3,1.3c-0.3,0.3-0.3,0.7,0,1c0.4,0.4,0.9,0.9,1.3,1.3c0.1,0.1,0.2,0.2,0,0.4c-0.5,0.5-1,1-1.5,1.4c-0.1,0.1-0.3,0.3-0.3,0.4l0,0.3c0.2,0.4,0.6,0.7,0.9,1c0.1-0.1,0.1-0.1,0.2-0.2c3.9-3.9,7.7-7.7,11.6-11.6c0.1-0.1,0.2-0.1,0.2-0.2c-0.6-0.1-1.1-0.3-1.6-0.6C9.9,9.4,8.7,10.6,7.5,11.8z" />
                        <path style="fill:#8E8E8E;"
                            d=M
"M20.7,6.5C21.7,5.2,21.9,3.4,21,2c-0.2-0.3-0.4-0.6-0.7-0.8c0-0.1-0.1-0.1-0.1-0.1c-0.7-0.6-1.5-1-2.4-1c-1,0-2,0.3-2.8,0.9c-0.1,0.1-0.2,0.1-0.4,0.1c-1.1-0.4-2.2-0.4-3.2,0.2c-1.6,0.9-2.3,2.2-2.1,4c0.1,1,0.6,1.8,1.3,2.5C10.8,7.9,11,8,11.2,8.1c0.5,0.2,1.1,0.5,1.6,0.6l0.1,0c0.1,0.6,0.3,1.2,0.5,1.7c0.1,0,0.1,0.1,0.1,0.1c1,1.4,2.4,2,4.1,1.7c2.4-0.4,3.8-3,2.9-5.3C20.5,6.7,20.5,6.6,20.7,6.5z M17.7,6.5c0,0.1-0.1,0.1-0.1,0.2c-0.7,0.8-1.9,0.9-2.7,0.2l-0.1-0.1c-0.1,0-0.1,0-0.1,0.1c0,0,0.1-0.1,0.1-0.1c-0.6-0.6-0.7-1.4-0.4-2.2c0.5M
-1.2,2.1-1.4,3.1-0.5C18.2,4.9,18.2,5.8,17.7,6.5z" />
                    </g>
                </g>
  <div align="center" style=" padding:5px; color:#ffffff; font-size:8vw; font-family: Arial, sans-serif; padding-top:20px;">You've got a<br />
    <font style="font-size: 12vw;">SILVER KEY</font>
    <p class="link">
      <a href="https://generative.xyz" target="_blank">generative.xyz</a>
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"meme","amt":"1"}h!
d/Foundry USA Pool #dropgold/
6j4ion:5.QmZ17GzGLSkWRkuMTeTDgxyAtbQj4hov9LVPw1VAuh1gZM
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"knicks.sats"}h!
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
E<8I@<LC>OFBQE=A96RJESHATLH
HFFVJB?=<_VQDCCNA9;99
qbOMLA71(#!\SNo[MdUMbOB
text/plain;charset=utf-8
text/plain;charset=utf-8
  "to": "bc1pdsfuypwemkkge8npya4l70j7gqx5jhqyet0rqn7ujftfj6jlgelsq8h68d"
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::z
::::::::::::::::::::::zPw{=;^
:::::::::::::::::::::
@GGGGGGGGGGGGGGGGGGGGGGG
>*ttttttttttttttttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
((((((((((((((((((((((((((((((((((((((((((((((((((
text/html;charset=utf-8
    <meta charset="UTF-8">
    Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below.
    Are we missing an important library? Let us know @generative_xyz.
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script>
    <!-- c2.min.js@1.0.0
    <script sandbox="allow-scripts" type="text/javascript" srcM
="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <!-- threejs@r124
    <script sandbox="allow-scripts" type="text/javascript" src="M
https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <!-- tonejs@14.8.49
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script>
    <!-- svgjs@3.1.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/3.1.2/svg.min.js"></script>
    <!-- aframejs@1.2.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdM
njs.cloudflare.com/ajax/libs/aframe/1.2.0/aframe.min.js"></script>
    <!-- babylonjs@5.47.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/5.47.0/babylon.js"></script>
    <!-- paperjs@0.12.17
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.17/paper-full.min.js"></script>
    <!-- regljs@2.1.0
    <script sandbox="allow-scripts" type="text/javascript" srcM
="https://cdnjs.cloudflare.com/ajax/libs/regl/2.1.0/regl.min.js"></script>
    <script type="text/javascript">
 Add your script here
 Add your script here
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.M
split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
  seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l M
^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
        let mathRand = sfc32(...cyrb128(seed));
  justify-content: center;
  align-items: center;
<script type="text/javascript">
    const rand = mathRand();
    function T1(rand) {
        // calculate rarity by yourself
        if (rand > 0.5) {
            return true;
            return false
    // window.$generativeTraits contain list traits for tokenM
    // you need to populate a $generativeTraits object in the window object
 Add your code here
 var col = rnd(0,210)
   if(bac>40&bac<60){
    if(bac>60&bac<80){
  createCanvas(1200, 1200,WEBGL);
  angleMode(DEGREES)
  w=rnd(-width/2+300,width/2-400)
  h=rnd(-height/2+600,height/2)
  w=rnd(-width/2+500,width/2-100)
  h=rnd(-height/2+500,height/2-200)
  w=rnd(-width/2+350,width/2-100)
  h=rnd(-height/2+5M
  w=rnd(-width/2+200,width/2-400)
  h=rnd(-height/2+500,height/2-200)
  if(rnd(0,120)<50){
   var l = rnd(0,g2)
       fill("#FFD32D")
        fill("#FF8B13")
          if(l>20&l<30){
         fill("#DA1212")
       if(l>30&l<40){
            fill("#733C3C")
       if(l>40&l<50){
     fill("#10A19D")
       if(l>50&l<60){
       fill("#001E6C")
       if(l>60&l<70){
       fill("#367E18")
       if(l>70&l<80){
       fill("#990000")
   if(col>20&col<40){
   var l = rnd(0,g2)
       fill("#FFD32M
       if(l>10&l<20){
        fill("#D61355")
          if(l>20&l<30){
         fill("#DA1212")
       if(l>30&l<40){
            fill("#30E3DF")
       if(l>40&l<50){
     fill("#10A19D")
       if(l>50&l<60){
       fill("#F2CD5C")
       if(l>60&l<70){
       fill("#CD0404")
       if(l>70&l<80){
       fill("#990000")
    if(col>40&col<60){
   var l = rnd(0,g2)
       fill("#FFD32D")
       if(l>10&l<20){
        fill("#939B62")
          if(l>20&l<30){
         fill("#FFD56F")
       if(l>30&l<40){
            fill("#FFB26B")
       if(l>40&l<50){
     fill("#FF7B54")
       if(l>50&l<60){
       fill("#F2CD5C")
       if(l>60&l<70){
       fill("#CD0404")
       if(l>70&l<80){
       fill("#990000")
   var l = rnd(0,g2)
       fill("#6C00FF")
       if(l>10&l<20){
        fill("#3C79F5")
          if(l>20&l<30){
         fill("#2DCDDF")
       if(l>30&l<40){
            fill("#579BB1")
       if(l>40&l<50){
     fill("#2C74B3")
       if(l>50&l<60){
       fill("#EAFDFC")
       if(l>60&l<70){
       fill("#BAD7E9")
       if(l>70&l<80){
       fill("#990000")
  if(col>80&col<100){
   var l = rnd(0,g2)
       fill("#A75D5D")
       if(l>10&l<20){
        fill("#D3756B")
          if(l>20&l<30){
         fill("#F0997D")
       if(l>30&l<40){
            fill("#FFC3A1")
       if(l>40&l<50){
     fill("#FF7B54")
       if(l>50&l<60){
       fill("#FFB26B")
       if(l>60&l<70){
       fill("#FFD56F")
       if(l>70&l<80){
       fill("#990000")
     if(col>100&col<120){
   var l = rnd(0,g2)
       fill("#39B5E0")
       if(l>10&l<20){
        fill("#A31ACB")
          if(l>20&l<30){
         fill("#FF78F0")
       if(l>30&l<40){
            fill("#F5EA5A")
       if(l>40&l<50){
     fill("#FFB100")
       if(l>50&l<60){
       fill("#FBC252")
       if(l>60&l<70){
       fill("#FFD56F")
       fill("#2DCDDF")
   if(col>120&col<140){
   var l = rnd(0,g2)
       fill("#FFDB89")
       if(l>10&l<20){
        fill("#DC0000")
          if(l>20&l<30){
         fill("#CB1C8D")
       if(l>30&l<40){
            fill("#FB2576")
       if(l>40&l<50){
     fill("#FFB100")
       if(l>50&l<60){
       fill("#FFBF00")
       if(l>60&l<70){
       if(l>70&l<80){
       fill("#2DCDDF")
  if(col>140&col<160){
   var l = rnd(0,g2)
       fill("#344D67")
       if(l>10&l<20){
        fill("#6ECCAF")
          if(l>20&l<30){
         fill("#ADE792")
       if(l>30&l<40){
            fill("#68B984")
       if(l>40&l<50){
     fill("#00FFF6")
       if(l>50&l<60){
       fill("#0014FF")
       if(l>60&l<70){
       fill("#10A19D")
       if(l>70&l<80){
       fill("#2DCDDF")
    if(col>160&col<180){
   var l = rnd(0,g2)
       fill("#562B08")
       if(l>10&l<20){
        fill("#F96666")
          if(l>20&l<30){
         fill("#9E7676")
       if(l>30&l<40){
            fill("#FFF8EA")
       if(l>40&l<50){
     fill("#815B5B")
       fill("#CC3636")
       if(l>60&l<70){
       fill("#9E7676")
       if(l>70&l<80){
       fill("#E3C770")
    if(col>180&col<210){
   var l = rnd(0,g2)
       fill("#FFE9A0")
       if(l>10&l<20){
        fill("#367E18")
          if(l>20&l<30){
         fill("#F57328")
       if(l>30&l<40){
            fill("#CC3636")
     fill("#00FFD1")
       if(l>50&l<60){
       fill("#31C6D4")
       if(l>60&l<70){
       fill("#FFFF00")
       if(l>70&l<80){
       fill("#FF1E1E")
 var r = floor(rnd(0,4))
  for(i= 0 ; i<400;i++){
  rotateX(frameCount)
  rotateY(frameCount)
  if(frameCount>rnd(170,195)){
 var r = floor(rnd(0,4))
  for(i= 0 ; i<800;i++){
  rotateX(frameCount)
  rotate(frameCount)
  if(frameCount>rnd(410,500)){
 var r = floor(rnd(0,4))
  for(i= 0 ; i<1000;i++){
  translate(-frameCount/2,-M
  rotate(frameCount)
  translate(frameCount/2,frameCount/2)
  rotateY(frameCount)
  if(frameCount>rnd(800,900)){
 var r = floor(rnd(0,4))
  for(i= 0 ; i<300;i++){
  rotateY(frameCount)
  rotate(frameCount)
function rnd(min,max){
  return mathRand()*(max-min) + min;
 Add your code here
d/Foundry USA Pool #dropgold/
Bj@=:ETH.ETH:0x3Ed97978121068856a717016D79D354D7C2fd9dd:60217624::0
text/plain;charset=utf-8
4Trade TwelveFold Ordinals at https://ordinals.marketh!
text/plain;charset=utf-8
4Trade TwelveFold Ordinals at https://ordinals.marketh!
text/plain;charset=utf-8
4Trade TwelveFold Ordinals at https://ordinals.marketh!
text/plain;charset=utf-8
4Trade TwelveFold Ordinals at https://ordinals.marketh!
text/plain;charset=utf-8
4Trade TwelveFold Ordinals at https://ordinals.marketh!
text/html;charset=utf-8
    <meta charset="UTF-8">
    Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below.
    Are we missing an important library? Let us know @generative_xyz.
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script>
    <!-- c2.min.js@1.0.0
    <script sandbox="allow-scripts" type="text/javascript" srcM
="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <!-- threejs@r124
    <script sandbox="allow-scripts" type="text/javascript" src="M
https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <!-- tonejs@14.8.49
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script>
    <!-- svgjs@3.1.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/3.1.2/svg.min.js"></script>
    <!-- aframejs@1.2.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdM
njs.cloudflare.com/ajax/libs/aframe/1.2.0/aframe.min.js"></script>
    <!-- babylonjs@5.47.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/5.47.0/babylon.js"></script>
    <!-- paperjs@0.12.17
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.17/paper-full.min.js"></script>
    <!-- regljs@2.1.0
    <script sandbox="allow-scripts" type="text/javascript" srcM
="https://cdnjs.cloudflare.com/ajax/libs/regl/2.1.0/regl.min.js"></script>
    <script type="text/javascript">
 Add your script here
 Add your script here
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.M
split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
  seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l M
^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
        let mathRand = sfc32(...cyrb128(seed));
  justify-content: center;
  align-items: center;
<script type="text/javascript">
    const rand = mathRand();
    function T1(rand) {
        // calculate rarity by yourself
        if (rand > 0.5) {
            return true;
            return false
    // window.$generativeTraits contain list traits for tokenM
    // you need to populate a $generativeTraits object in the window object
 Add your code here
 var col = rnd(0,210)
   if(bac>40&bac<60){
    if(bac>60&bac<80){
  createCanvas(1200, 1200,WEBGL);
  angleMode(DEGREES)
  w=rnd(-width/2+300,width/2-400)
  h=rnd(-height/2+600,height/2)
  w=rnd(-width/2+500,width/2-100)
  h=rnd(-height/2+500,height/2-200)
  w=rnd(-width/2+350,width/2-100)
  h=rnd(-height/2+5M
  w=rnd(-width/2+200,width/2-400)
  h=rnd(-height/2+500,height/2-200)
  if(rnd(0,120)<50){
   var l = rnd(0,g2)
       fill("#FFD32D")
        fill("#FF8B13")
          if(l>20&l<30){
         fill("#DA1212")
       if(l>30&l<40){
            fill("#733C3C")
       if(l>40&l<50){
     fill("#10A19D")
       if(l>50&l<60){
       fill("#001E6C")
       if(l>60&l<70){
       fill("#367E18")
       if(l>70&l<80){
       fill("#990000")
   if(col>20&col<40){
   var l = rnd(0,g2)
       fill("#FFD32M
       if(l>10&l<20){
        fill("#D61355")
          if(l>20&l<30){
         fill("#DA1212")
       if(l>30&l<40){
            fill("#30E3DF")
       if(l>40&l<50){
     fill("#10A19D")
       if(l>50&l<60){
       fill("#F2CD5C")
       if(l>60&l<70){
       fill("#CD0404")
       if(l>70&l<80){
       fill("#990000")
    if(col>40&col<60){
   var l = rnd(0,g2)
       fill("#FFD32D")
       if(l>10&l<20){
        fill("#939B62")
          if(l>20&l<30){
         fill("#FFD56F")
       if(l>30&l<40){
            fill("#FFB26B")
       if(l>40&l<50){
     fill("#FF7B54")
       if(l>50&l<60){
       fill("#F2CD5C")
       if(l>60&l<70){
       fill("#CD0404")
       if(l>70&l<80){
       fill("#990000")
   var l = rnd(0,g2)
       fill("#6C00FF")
       if(l>10&l<20){
        fill("#3C79F5")
          if(l>20&l<30){
         fill("#2DCDDF")
       if(l>30&l<40){
            fill("#579BB1")
       if(l>40&l<50){
     fill("#2C74B3")
       if(l>50&l<60){
       fill("#EAFDFC")
       if(l>60&l<70){
       fill("#BAD7E9")
       if(l>70&l<80){
       fill("#990000")
  if(col>80&col<100){
   var l = rnd(0,g2)
       fill("#A75D5D")
       if(l>10&l<20){
        fill("#D3756B")
          if(l>20&l<30){
         fill("#F0997D")
       if(l>30&l<40){
            fill("#FFC3A1")
       if(l>40&l<50){
     fill("#FF7B54")
       if(l>50&l<60){
       fill("#FFB26B")
       if(l>60&l<70){
       fill("#FFD56F")
       if(l>70&l<80){
       fill("#990000")
     if(col>100&col<120){
   var l = rnd(0,g2)
       fill("#39B5E0")
       if(l>10&l<20){
        fill("#A31ACB")
          if(l>20&l<30){
         fill("#FF78F0")
       if(l>30&l<40){
            fill("#F5EA5A")
       if(l>40&l<50){
     fill("#FFB100")
       if(l>50&l<60){
       fill("#FBC252")
       if(l>60&l<70){
       fill("#FFD56F")
       fill("#2DCDDF")
   if(col>120&col<140){
   var l = rnd(0,g2)
       fill("#FFDB89")
       if(l>10&l<20){
        fill("#DC0000")
          if(l>20&l<30){
         fill("#CB1C8D")
       if(l>30&l<40){
            fill("#FB2576")
       if(l>40&l<50){
     fill("#FFB100")
       if(l>50&l<60){
       fill("#FFBF00")
       if(l>60&l<70){
       if(l>70&l<80){
       fill("#2DCDDF")
  if(col>140&col<160){
   var l = rnd(0,g2)
       fill("#344D67")
       if(l>10&l<20){
        fill("#6ECCAF")
          if(l>20&l<30){
         fill("#ADE792")
       if(l>30&l<40){
            fill("#68B984")
       if(l>40&l<50){
     fill("#00FFF6")
       if(l>50&l<60){
       fill("#0014FF")
       if(l>60&l<70){
       fill("#10A19D")
       if(l>70&l<80){
       fill("#2DCDDF")
    if(col>160&col<180){
   var l = rnd(0,g2)
       fill("#562B08")
       if(l>10&l<20){
        fill("#F96666")
          if(l>20&l<30){
         fill("#9E7676")
       if(l>30&l<40){
            fill("#FFF8EA")
       if(l>40&l<50){
     fill("#815B5B")
       fill("#CC3636")
       if(l>60&l<70){
       fill("#9E7676")
       if(l>70&l<80){
       fill("#E3C770")
    if(col>180&col<210){
   var l = rnd(0,g2)
       fill("#FFE9A0")
       if(l>10&l<20){
        fill("#367E18")
          if(l>20&l<30){
         fill("#F57328")
       if(l>30&l<40){
            fill("#CC3636")
     fill("#00FFD1")
       if(l>50&l<60){
       fill("#31C6D4")
       if(l>60&l<70){
       fill("#FFFF00")
       if(l>70&l<80){
       fill("#FF1E1E")
 var r = floor(rnd(0,4))
  for(i= 0 ; i<400;i++){
  rotateX(frameCount)
  rotateY(frameCount)
  if(frameCount>rnd(170,195)){
 var r = floor(rnd(0,4))
  for(i= 0 ; i<800;i++){
  rotateX(frameCount)
  rotate(frameCount)
  if(frameCount>rnd(410,500)){
 var r = floor(rnd(0,4))
  for(i= 0 ; i<1000;i++){
  translate(-frameCount/2,-M
  rotate(frameCount)
  translate(frameCount/2,frameCount/2)
  rotateY(frameCount)
  if(frameCount>rnd(800,900)){
 var r = floor(rnd(0,4))
  for(i= 0 ; i<300;i++){
  rotateY(frameCount)
  rotate(frameCount)
function rnd(min,max){
  return mathRand()*(max-min) + min;
 Add your code here
*PLTEwxu|}zpqnhjf^`]
LjJ=:BNB.BUSD-BD1:bnb1tkre0vrst5x20ju6x6ghkagrwcghgt7dexusuh:53617054372:te:0
fffffffffffffffffffbF
fffffffffffffffffffe
DDDDDDDDDDDDDDDDDDDDD;
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwd
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"punk","amt":"1"}h!
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 84/300 inscribed at satpoint 1930483030431612</rdf:li>
 <rdf:Description rdf:about=''
p://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>84</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>7</xmp:Series>
  <xmp:Signature>H0X/lHSUOhsFBgIENxXei54+SCfOojNZnUZtG6hLzGjiKPabJsOVvptnV5EkBqq8MeqoL
8LvX6DZL18uXqVgsdMs=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 73/300 inscribed at satpoint 1930482931749912</rdf:li>
 <rdf:Description rdf:about=''
'http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>73</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>7</xmp:Series>
  <xmp:Signature>IFsNP8fTZ2ppzLXLm+aPWjIwffzujM7j55JUQfhdSbqtd72h+K3oH60WsGDb/IgHL
Gju1qLHxPydpaZAqT5TVC3o=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold M
77/300 inscribed at satpoint 1930483015731612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>77</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionMX
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>7</xmp:Series>
  <xmp:Signature>H1wWRoCxwiGni0/j1aySyanuPBXxtRhdgFEb3OoILCKCLfsLp5nSIXA/CqxQ3SBcUUQ5g53ChTZEaaAEEuNS/gE=</xmp:Signature>
<?xpacket end='w'?>PSAIN
d/Foundry USA Pool #dropgold/
' id='W5M0MpCehiHzreSzNTczkc9d'?>
:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 95/300 inscribed at satpoint 1930482596581712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
ml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>95</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>IC1l4KOyXzeC0asmJD7QOhyHbBo5YbSFwyB/AKFajw1WHVXtACPQ6IUYzeVTUjLgWh6HfhQ5OXSvYasAz03dBM4=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/plain;charset=utf-8
text/plain;charset=utf-8
  "to": "bc1pdsfuypwemkkge8npya4l70j7gqx5jhqyet0rqn7ujftfj6jlgelsq8h68d"
text/plain;charset=utf-8
text/plain;charset=utf-8
  "to": "bc1pdsfuypwemkkge8npya4l70j7gqx5jhqyet0rqn7ujftfj6jlgelsq8h68d"
text/plain;charset=utf-8
  "title": "At my direction,  @SecYellen  and my National Economic Council Director worked with banking regulators to address problems at Silicon Valley Bank and Signature Bank.  I
m pleased they reached a solution that protects workers, small businesses, taxpayers, and our financial system.",
  "url": "https://twitter.com/POTUS/status/1635080376572956672?s=20",
  "author": "President Biden @POTUS"
text/plain;charset=utf-8
AGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
f:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 75/300 inscribed at satpoint 1930482935949912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>75</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>7</xmp:Series>
  <xmp:Signature>H0ou9kMNmch96vPDM8emSzyRbzyYdjXqQ9DklZlNXnmPbhMyLR0DkqvFt9adWr21Vv7qzNqVlSDrLqsygEt7rDY=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.oM
rg/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 79/300 inscribed at satpoint 1930483019931612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
:Edition>79</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>7</xmp:Series>
  <xmp:Signature>Hxon7p9WkKW2cSmOcMvmsXhFBX4BQo9a2n0dbK36jAyrbebA6rcxTVTYXwAZhWRET+Att+UBMehjHUjEkBqaQa4=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 81/300 inscribed at satpoint 1930483024131612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>81</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>7</xmp:Series>
  <xmp:Signature>Hw2WuV1sBwL
wwK6bdZ5QFMXdzzjZcYrVI4eThwRNgN8jOZFuqejooHfH3G1aLnT2gwuMCREHBjh0+dNTebqiFdeo=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
<rdf:li xml:lang='x-default'>TwelveFold 83/300 inscribed at satpoint 1930483028331612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>83</xmp:Edition>
  <xmp:ParentInscriptionSatpointM
>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>7</xmp:Series>
  <xmp:Signature>IGO5h3DIEE2mefxr9hFOm9jWsTyj/tsZfOOQKuaI6AX+ZZtLdEIG4QT+2/w6f2bh4poTJ+ZopI8L36bTWWPudaY=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='IM
mage::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 76/300 inscribed at satpoint 1930482938049912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023M
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>76</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>7</xmp:Series>
  <xmp:Signature>HxKqOqVxJ29nDt0KfbheCpuU6QSU9hrxWWAjmlTVf9lwAp1IfGWHeBPmEU3PUelBpXX/Kmk7eyM3BBxvrKvVde0=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:mM
eta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 82/300 inscribed at satpoint 1930483026231612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>CopyrighM
t Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>82</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>7</xmp:Series>
  <xmp:Signature>H2ljz4EN1oAFm/MnEWYyxUsrjsi9t8vbSRIrjHbV7BSBWoS4FkMldRsds92BH9Yw/PJS2//jdEnF3LzfDKMgxio=</xmp:Signature>
<?xpacket end='w'?>PSLTAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 78/300 inscribed at satpoint 1930483017831612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>78</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Signature>ICNUM2OTwEmkyxmeUglxt1zEQ9M6pq+9OBKKjpU61Mi0V/J2ag/nWvTd81+EoTwwoUbeagHq81mHPhxxy7g0HHg=</xmp:Signature>
<?xpacket end='w'?>PSAIN
id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 80/300 inscribed at satpoint 1930483022031612</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>80</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>7</xmp:Series>
  <xmp:Signature>Hwe3VPp4dL+i6b60DE4E4BMt65Ok5A4yzHzwdbtkY/AJIWdXpeAxxqQaQ2Pcky/miSqz/uU3eP5Q6NiUCTKwpgk=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 74/300 inscribed at satpoint 1930482933849912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>74</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Signature>IEBNSmUcG2j9WsMugZEhxQ3TfNqpGqFRlFj0OmbExjg9F6zAR0cB5f4FvSzkVzETxdrYHPJkdDEEGErNGD2zIcQ=</xmp:Signature>
<?xpacket end='w'?>PSAIN
GjE=:THOR.RUNE:thor1wx5av89rghsmgh2vh40aknx7csvs7xj2cr474n:1383568992911
4j2DC-L5:v6eD2hbmWe1KPkz8rIb7duMCXFvr2lMN6DOm2+RcmfM=
FjDOUT:B4EDDDAF5A4B1A05724769B6872ACB7CD630399E723174E72F940CBE0D8A4677
FjDOUT:877762D875961FAEB27E5895CE411F1949E6FDDFAE274130F63CBE46B1C75B35
FjDOUT:FADB6D261E22792430C35B19111851F82148269C5D0F7B1AFAA65D158DFE2040
JjH=:BNB.TWT-8C2:bnb1ayf7lfsrelv76fr4qqfgypj9ytqutc0j8r749m:2545415691:te:0
FjDOUT:424FB40834448382186B311F965553DB808B24E7AB9ED9AA0F6C8E50B48F3498
FjDOUT:10E121ED33F6B712114D09A9BC115A7230FB46190D3079369A2CC24008AC279D
text/plain;charset=utf-8
420420420420420420420420420420420420420420420420
420420420420420420420420420420420420420420420420
420420420420420420420420420420420420420420420420
420420420420420420420420420420420420420420420420
420420420420420420420420420420420420420420420420
420420420420420420420420420420420420420420420420
420420420420420420420420420420420420420420420420
420420               420420               420420
420420   420420420420420420   420420420   420420
420420   420420420420420420   420420420   420420
0420420420   420420420   420420
420420   420420420420420420   420420420   420420
420420               420420               420420
420420   420420420   420420420420420420   420420
420420   420420420   420420420420420420   420420
420420   420420420   420420420420420420   420420
420420   420420420   420420420420420420   420420
420420               420420               420420
420420420420420420420420420420420420420420420420
420420420420420420420420420420420420420420420420
4204204204204204204204204204204204204L
420420420420420420420420420420420420420420420420
420420420420420420420420420420420420420420420420
420420420420420420420420420420420420420420420420
420420420420420420420420420420420420420420420420
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"pepe","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"pepe","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"pepe","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"pepe","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"pepe","amt":"1000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
6969696969696969696969696969696969696969696969
6969696969696969696969696969696969696969696969
6969696969696969696969696969696969696969696969
6969696969696969696969696969696969696969696969
6969696969696969696969696969696969696969696969
6969696969696969696969696969696969696969696969
6969696969696969696969696969696969696969696969
6969  696969  6969          6969          6969
6969  696969  696969696969  6969  696969  6969
6969  696969  696969696969  6969  696969  6969
6969  696969  696969696969  6969  696M
6969          6969          6969  696969  6969
696969696969  6969  696969696969  696969  6969
696969696969  6969  696969696969  696969  6969
696969696969  6969  696969696969  696969  6969
696969696969  6969          6969          6969
6969696969696969696969696969696969696969696969
6969696969696969696969696969696969696969696969
6969696969696969696969696969696969696969696969
6969696969696969696969696969696969696969696969
6969696969696969696969696969696969696969696969
69696969696969696969696969696A96969696969696969
6969696969696969696969696969696969696969696969h!
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"ordicoin.sats"}h!
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 90/300 inscribed at satpoint 1930482560900012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
p='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>90</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>H1KC3NUYkU9XVo5T0jWM2R1H4CiYfZ+O5WdWKk6BebcYArutITZHq1wbssfLXaIZoNLoINDHIdAXlPVPadprrJs=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/plain;charset=utf-8
  "name": "5666.sats"
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 88/300 inscribed at satpoint 1930482556700012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>88</xmp:Edition>
arentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>IB1zn87Uuak+wFzbzeXmju33WVdkloPlH7DjTw8tD+kSFRNUNua5yzVdkCJUHIb2blxqZ+zaLPuiYF2RBZGEu2c=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/plain;charset=utf-8
#@(!@(!@(!@(!@(!@(!@
text/plain;charset=utf-8
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
f:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 102/300 inscribed at satpoint 1930482611281712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>102</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>IA8K4yPCa87HFYBPG5xCP+GcBLsDacakENg92G9swUcpZoPAq+8M+nL9bRvnRoAKPkKobVQ3U5malJJ/AzYxxVI=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 100/300 inscribed at satpoint 1930482607081712</rdf:li>
:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>100</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>H0H7hXQ9daSmU/Ln1pVSBF1PL
6wdkxubiNsHm4qA4XwqTcYzsRzKMpGSXekkSdPV/a2WetdJCNdOzCvoywL72cAY=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 90/300 inscribed at satpoint 1930482560900012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
p='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>90</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>H1KC3NUYkU9XVo5T0jWM2R1H4CiYfZ+O5WdWKk6BebcYArutITZHq1wbssfLXaIZoNLoINDHIdAXlPVPadprrJs=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/M
    <rdf:li xml:lang='x-default'>TwelveFold 107/300 inscribed at satpoint 1930482621781712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
ion>107</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>IC3+xbL7ePv8XgCAMqKttjCp7cXD8eqZ6yilXB2eV6kSZPiFqjkYtKF1QcZGdxOM/wnIvw3gCou2eqAkc2d0IP8=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 85/300 inscribed at satpointM
 1930482550400012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>85</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>SummM<
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>H1bUWnp/BV8m4AXo+ozVi1t33o2SNKAEFz0SMMshra+YafDt/rxy+eRYQ1SMD0m/9gkQGp3zi3d8trvhRSfoyYg=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elM
    <rdf:li xml:lang='x-default'>TwelveFold 93/300 inscribed at satpoint 1930482567200012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>H0IeJp8IZ7C76nR9gorfUltrVmuJwhFJDQPoTyDb6eQ4UvKnkADzRZ1eNbLssZll8CwB0RXX9vcnH2vypLdtDuc=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 94/300 inscribed at satpoint 1930482569300012</rdf:li>
 <rdf:Description rdf:about=''
'http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>94</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>IAm8yx+DcE9F6qFcBKpgLRgx0sPRvPqbIMQB9ZbFsz4KFAM2h6HGXz1Yz57O8VxzL
53IANQwuE4MzqkPtd5Jr1ns=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 105/300 inscribed at satpoint 1930482617581712</rdf:li>
 <rdf:Description rM
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>105</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>HzLlzYDubhmVGZW3OTsxNoM7vKqZZQenE8NRbpL
ctr9PZMoVIyN+v00hJZhve8BFfhSdieW7J3gxKdKd3eMK9hxg=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk=M
'Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 98/300 inscribed at satpoint 1930482833049912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 20M
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>98</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>ICWzkmSydBr0r0rNtbaibH96V5Qvr6GnjXRRX6+f1IG4Yl70BnenuvC/mo4jwMv2IwLLKd+TNUbN8rvBZudkeHQ=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdM
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 101/300 inscribed at satpoint 1930482609181712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
scription rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>101</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>ID1sV1P7kFfLBoHj6xXS8n3hsRYC1bj79SauTMrCoBWaFtIB8TLTzdFUFsPHSPtEDxjBF2UBSjllvq6a2ZZY7rM=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 99/300 inscribed at satpoint 1930482604981712</rdf:li>
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>99</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>H38kLDZI5kf49SoXl4JS1+z9R+YuonrC/OL
3hxUeLrmMlfHXGhzmRlhEDUfsKhU4819ztxliK2NE75lVp4t+qrd8=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 89/300 inscribed at satpoint 1930482558800012</rdf:li>
 </rdf:Description>M
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>89</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>HyEywF3enGL092AK5hL
sSYMvxBTJj4+LmNeN6qZgog4zOXbQo/ZwfMaeof+5kBI7q1lid+8qqhA9cEtfV2dR8pro=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 103/300 inscribed at satpoint 1930482613381712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>103</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>IFeCZuTbOGYdSb+P2aGdm85wO7C0xZsUa1/n+/Ln8KW+E7oN4G/bnGU81yZ9fbFhrxNUAPWRS76felCQb6lkfHI=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 91/300 inscribed at satpoint 1930482563000012</rdf:li>
 <rdf:Description rdf:about=M
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>91</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>H3VbtBlg5oAZv8DxZMLbE+cUYGzxuP5f/PcFqzxs9cfQKbKcL
tygYIWE/J4vEzSo/DwYptFhQuCrZbu1lzVVKoSw=</xmp:Signature>
<?xpacket end='w'?>PSAIN
Mined by AntPool965K
text/plain;charset=utf-8
  "name": "gazprom.sats"
FjDOUT:8A3783E68DCB60A4EA722DAFACB5225CB4460170BE1C1529F3089B87C9D4D65C
text/plain;charset=utf-8
  "max": "21000000",
:j8=:RUNE:thor18azwr98z8vhekfydqk9k9gy34hal0f5vecslp8::wr:0;h
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"tushu.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"empower.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"gmbh.sats"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"mortgages.sats"}h!
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"apuestas.sats"}h!
DjB=:BNB.BNB:bnb19yquzsx8w2qc5vqdc3mhfh4knthhzh0l0m9hgv:11422334:te:0
text/plain;charset=utf-8
  "max": "21000000",
text/plain;charset=utf-8
  "max": "21000000",
FjDOUT:B1A5464C2C9EFE2E991612E5BC364C5472980AED3396DFDBA7D8DBB0DC11DE0F
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 105/300 inscribed at satpoint 1930482617581712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>105</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>HzLlzYDubhmVGZW3L
OTsxNoM7vKqZZQenE8NRbpctr9PZMoVIyN+v00hJZhve8BFfhSdieW7J3gxKdKd3eMK9hxg=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/plain;charset=utf-8
  "name": "YUS.sats"
text/plain;charset=utf-8
  "max": "21000000",
text/plain;charset=utf-8
  "name": "BankofSatoshi.sats"
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 106/300 inscribed at satpoint 1930482619681712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>106</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>IBfFFX3Y4uWYgmsxeIlwVmyBa0ZN+c9XOVgyRk3GlnhNH+S5l8N4ood2YNOgmHUWQo7fI2W2nPor3IgLlUojB04=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 88/300 inscribed at satpoint 1930482556700012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>88</xmp:Edition>
arentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>IB1zn87Uuak+wFzbzeXmju33WVdkloPlH7DjTw8tD+kSFRNUNua5yzVdkCJUHIb2blxqZ+zaLPuiYF2RBZGEu2c=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elemenM
    <rdf:li xml:lang='x-default'>TwelveFold 104/300 inscribed at satpoint 1930482615481712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>H3Jfif1bP4GazuEpiXPsRje7MmRx1YV2ygPrgGfZJ9j6QZ6sqJnsWexPqGIsSRWJoTkTe2s4n2cbL+HJWcJkkUw=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='IM
mage::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 86/300 inscribed at satpoint 1930482552500012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023M
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>86</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>H0DDD4GOBK1BPAQrbi1N+OEMdb00avfGCPNq34z7kfrcK2VcypmE3O63ar2XR3/vXhDrHgaGIcy59DUgAOj4qTI=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 108/300 inscribed at satpoint 1930482623881712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
mp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>108</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>HyeHFN/ZJSjXNLHfLdRWVFsHI4FOwztGS1a2yz1Ex56JNYuy6p+C9vCPnv4i0Gr8P1SEtGArpXTEwoxmnX5gOJM=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobM
e:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 95/300 inscribed at satpoint 1930482596581712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>CoM
pyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>95</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>IC1l4KOyXzeC0asmJD7QOhyHbBo5YbSFwyB/AKFajw1WHVXtACPQ6IUYzeVTUjLgWh6HfhQ5OXSvYasAz03dBM4=</xmp:Signature>
<?xpacket end='LZw'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 96/300 inscribed at satpoint 1930482598681712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http:M
//ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>96</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>HzfVt05dlrF7VH4FR0b/MDzR46bL436PDB8ycWIyInSpbbV0JcAtQaSVAK4ZbDsa2417QlL
qc1CDuNMiXs/mBf7U=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-deM
fault'>TwelveFold 97/300 inscribed at satpoint 1930482830949912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>97</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmpMj
:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>9</xmp:Series>
  <xmp:Signature>IHQS2MfM0GDjQlHDhwgH1Irc7NgbPFjCTR1YCN2Oe+gNHopDLizsbbPBJ6HVu6yq9Vyw6VSLGUUYaZnkGcEha10=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:abM
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 92/300 inscribed at satpoint 1930482565100012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
//ns.adobe.com/xap/1.0/'>
  <xmp:Edition>92</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>IEnwuCd4kvI1I1hYqYaLn7dlv57pUN51xeIVERI3mUhpaunT0v6AC7c2Qap/UVkCKGd+wR+hwu3omz+qzlGcGFM=</xmp:Signature>
<?xpacket end='w'?>PSAIN
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:M
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 87/300 inscribed at satpoint 1930482554600012</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
p://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>87</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Summer</xmp:Season>
  <xmp:Series>8</xmp:Series>
  <xmp:Signature>HwjUykRU09CLdafQulRduY25caCXdPNF1FV6EU8KN0o5E+bSb2Cjr7jAnkr0CcK7U5qRLWd50JNDnA4a9OVIXoU=</xmp:Signature>
<?xpacket end='w'?>PSAIN
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Generative.xyz project</title>
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script>
    <script type="text/javascript">
var colors1 = "f10-e07a1a-364156-7d4e57-e0d21a".split("-").map(a=>"#"+a)
let colors2 = "5fe01a-ada296-1adce0-e01ad6-e01a1a-1a181b-564d65-3e8989-2cda9d-05f140-fff-ff622d".split("-").map(a=>"#"+a)
            p: createVector(0,0),
            v: createVector(0,0),
            // size: createVector(0,0),
            // a: createVector(0,0),
            // color: color(255),
            angV: random(-40.1,120.02),
        Object.assign(def,args)
        Object.assign(this,def)
        mainCanvas.push()
            mainCanvas.translate(this.p.x,this.p.y)
            mainCanvas.fill(this.color)
            mainCanvas.rect(3,5,this.sizM
        mainCanvas.pop()
        this.p.add(this.v)
        this.p.x+=random()/2
        this.p.y+=random()/2
        this.p.x+=sin(this.p.y/(400+this.size.x*1) )
        this.p.y+=cos(this.p.x/(320+this.size.y*1))
        this.v.add(this.a)
        this.v.mult(0.8999)
        this.size.mult(0.99)
        this.ang+=this.angV+2+random()/3
function divide(x,y,w,h,z,colors=colors1){
    if (random()<0.5){
        colors = random([colors1,colors2])M
    if (random()<0.2+z/15 && w > 15 && h > 15 && z>1){
        mainCanvas.translate(width/2,height/2)
        mainCanvas.rotate(-sin(z/60)/60)
        mainCanvas.translate(-width/2,-height/2)
        let ratio = random()
        if (random()<0.5){
            divide(x,y,w*ratio,h,z-1,colors)
            divide(x+w*ratio,y,w*(1-ratio),h,z-1,colors)
            divide(x,y,w,h*ratio,z-1,colors)
            divide(x,y+h*ratio,w,h*(1-ratio),z-1,colors)
        let clr = random(colors)
        particles.push(new Particle({
            p: createVector(x,y),
            v: createVector(x/1000,y/1000),
            size: createVector(w,h),
            color: clr
        mainCanvas.fill(clr)
        mainCanvas.rect(x,y,w,h)
  let seed=floor(999999*mathRand());
    createCanvas(1000, 1000);
    mainCanvas = createGraphics(width,height)
    divide(30,25,wiM
    mainCanvas.noStroke()
    mainCanvas.drawingContext.shadowBlur= 40
    mainCanvas.drawingContext.shadowColor= color(0,120)
    overAllTexture=createGraphics(width,height)
    overAllTexture.loadPixels()
    for(var i=0;i<width+100;i++){
        for(var o=0;o<height+50;o++){
            overAllTexture.set(i,o,color(1,noise(i/10,i*o/1)*random([2,220,380])))
    // overAllTexture.updatePixels()
    particles.forEach(p=>{
    image(mainCanvas,0,0)
        blendMode(MULTIPLY)
        image(overAllTexture,0,0)
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).getM
("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904M
242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
 let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
            width: 100% !important;
            height: 100% !important;
            object-fit: contain;
            position: fixed;
            left: 0;
<script type="text/javascript">
    const rand = mathRand();
    function T1(rand) {
        // calculate rarity by yourself
        if (rand > 0.5) {
            return true;
            return false
    // window.$generativeTraits contain list traits for token
    // you need to populate a $generativeTraits object in the window object
    window.$generativeTraits = {
        "T1": T1(rand),
    console.log(window.$generativeTraits)
 Add your code here
    const container = document.createElement("div")
    // container.innerHTML = "<span>seed: " + seed + "</span><br>";
    document.body.prepend(container)
 Add your code here
text/html;charset=utf-8
    <meta charset="UTF-8">
    Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below.
    Are we missing an important library? Let us know @generative_xyz.
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script>
    <!-- c2.min.js@1.0.0
    <script sandbox="allow-scripts" type="text/javascript" srcM
="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <!-- threejs@r124
    <script sandbox="allow-scripts" type="text/javascript" src="M
https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <!-- tonejs@14.8.49
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script>
    <!-- svgjs@3.1.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/3.1.2/svg.min.js"></script>
    <!-- aframejs@1.2.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdM
njs.cloudflare.com/ajax/libs/aframe/1.2.0/aframe.min.js"></script>
    <!-- babylonjs@5.47.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/5.47.0/babylon.js"></script>
    <!-- paperjs@0.12.17
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.17/paper-full.min.js"></script>
    <!-- regljs@2.1.0
    <script sandbox="allow-scripts" type="text/javascript" srcM
="https://cdnjs.cloudflare.com/ajax/libs/regl/2.1.0/regl.min.js"></script>
    <script type="text/javascript">
 Add your script here
 Add your script here
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.M
split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
  seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l M
^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
        let mathRand = sfc32(...cyrb128(seed));
  justify-content: center;
  align-items: center;
<script type="text/javascript">
    const rand = mathRand();
    function T1(rand) {
        // calculate rarity by yourself
        if (rand > 0.5) {
            return true;
            return false
    // window.$generativeTraits contain list traits for tokenM
    // you need to populate a $generativeTraits object in the window object
 Add your code here
 var col = rnd(0,210)
   if(bac>40&bac<60){
    if(bac>60&bac<80){
  createCanvas(1200, 1200,WEBGL);
  angleMode(DEGREES)
  w=rnd(-width/2+300,width/2-400)
  h=rnd(-height/2+600,height/2)
  w=rnd(-width/2+500,width/2-100)
  h=rnd(-height/2+500,height/2-200)
  w=rnd(-width/2+350,width/2-100)
  h=rnd(-height/2+5M
  w=rnd(-width/2+200,width/2-400)
  h=rnd(-height/2+500,height/2-200)
  if(rnd(0,120)<50){
   var l = rnd(0,g2)
       fill("#FFD32D")
        fill("#FF8B13")
          if(l>20&l<30){
         fill("#DA1212")
       if(l>30&l<40){
            fill("#733C3C")
       if(l>40&l<50){
     fill("#10A19D")
       if(l>50&l<60){
       fill("#001E6C")
       if(l>60&l<70){
       fill("#367E18")
       if(l>70&l<80){
       fill("#990000")
   if(col>20&col<40){
   var l = rnd(0,g2)
       fill("#FFD32M
       if(l>10&l<20){
        fill("#D61355")
          if(l>20&l<30){
         fill("#DA1212")
       if(l>30&l<40){
            fill("#30E3DF")
       if(l>40&l<50){
     fill("#10A19D")
       if(l>50&l<60){
       fill("#F2CD5C")
       if(l>60&l<70){
       fill("#CD0404")
       if(l>70&l<80){
       fill("#990000")
    if(col>40&col<60){
   var l = rnd(0,g2)
       fill("#FFD32D")
       if(l>10&l<20){
        fill("#939B62")
          if(l>20&l<30){
         fill("#FFD56F")
       if(l>30&l<40){
            fill("#FFB26B")
       if(l>40&l<50){
     fill("#FF7B54")
       if(l>50&l<60){
       fill("#F2CD5C")
       if(l>60&l<70){
       fill("#CD0404")
       if(l>70&l<80){
       fill("#990000")
   var l = rnd(0,g2)
       fill("#6C00FF")
       if(l>10&l<20){
        fill("#3C79F5")
          if(l>20&l<30){
         fill("#2DCDDF")
       if(l>30&l<40){
            fill("#579BB1")
       if(l>40&l<50){
     fill("#2C74B3")
       if(l>50&l<60){
       fill("#EAFDFC")
       if(l>60&l<70){
       fill("#BAD7E9")
       if(l>70&l<80){
       fill("#990000")
  if(col>80&col<100){
   var l = rnd(0,g2)
       fill("#A75D5D")
       if(l>10&l<20){
        fill("#D3756B")
          if(l>20&l<30){
         fill("#F0997D")
       if(l>30&l<40){
            fill("#FFC3A1")
       if(l>40&l<50){
     fill("#FF7B54")
       if(l>50&l<60){
       fill("#FFB26B")
       if(l>60&l<70){
       fill("#FFD56F")
       if(l>70&l<80){
       fill("#990000")
     if(col>100&col<120){
   var l = rnd(0,g2)
       fill("#39B5E0")
       if(l>10&l<20){
        fill("#A31ACB")
          if(l>20&l<30){
         fill("#FF78F0")
       if(l>30&l<40){
            fill("#F5EA5A")
       if(l>40&l<50){
     fill("#FFB100")
       if(l>50&l<60){
       fill("#FBC252")
       if(l>60&l<70){
       fill("#FFD56F")
       fill("#2DCDDF")
   if(col>120&col<140){
   var l = rnd(0,g2)
       fill("#FFDB89")
       if(l>10&l<20){
        fill("#DC0000")
          if(l>20&l<30){
         fill("#CB1C8D")
       if(l>30&l<40){
            fill("#FB2576")
       if(l>40&l<50){
     fill("#FFB100")
       if(l>50&l<60){
       fill("#FFBF00")
       if(l>60&l<70){
       if(l>70&l<80){
       fill("#2DCDDF")
  if(col>140&col<160){
   var l = rnd(0,g2)
       fill("#344D67")
       if(l>10&l<20){
        fill("#6ECCAF")
          if(l>20&l<30){
         fill("#ADE792")
       if(l>30&l<40){
            fill("#68B984")
       if(l>40&l<50){
     fill("#00FFF6")
       if(l>50&l<60){
       fill("#0014FF")
       if(l>60&l<70){
       fill("#10A19D")
       if(l>70&l<80){
       fill("#2DCDDF")
    if(col>160&col<180){
   var l = rnd(0,g2)
       fill("#562B08")
       if(l>10&l<20){
        fill("#F96666")
          if(l>20&l<30){
         fill("#9E7676")
       if(l>30&l<40){
            fill("#FFF8EA")
       if(l>40&l<50){
     fill("#815B5B")
       fill("#CC3636")
       if(l>60&l<70){
       fill("#9E7676")
       if(l>70&l<80){
       fill("#E3C770")
    if(col>180&col<210){
   var l = rnd(0,g2)
       fill("#FFE9A0")
       if(l>10&l<20){
        fill("#367E18")
          if(l>20&l<30){
         fill("#F57328")
       if(l>30&l<40){
            fill("#CC3636")
     fill("#00FFD1")
       if(l>50&l<60){
       fill("#31C6D4")
       if(l>60&l<70){
       fill("#FFFF00")
       if(l>70&l<80){
       fill("#FF1E1E")
 var r = floor(rnd(0,4))
  for(i= 0 ; i<400;i++){
  rotateX(frameCount)
  rotateY(frameCount)
  if(frameCount>rnd(170,195)){
 var r = floor(rnd(0,4))
  for(i= 0 ; i<800;i++){
  rotateX(frameCount)
  rotate(frameCount)
  if(frameCount>rnd(410,500)){
 var r = floor(rnd(0,4))
  for(i= 0 ; i<1000;i++){
  translate(-frameCount/2,-M
  rotate(frameCount)
  translate(frameCount/2,frameCount/2)
  rotateY(frameCount)
  if(frameCount>rnd(800,900)){
 var r = floor(rnd(0,4))
  for(i= 0 ; i<300;i++){
  rotateY(frameCount)
  rotate(frameCount)
function rnd(min,max){
  return mathRand()*(max-min) + min;
 Add your code here
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/html;charset=utf-8
    <title>Ord Lava Lamp - Lingle Edition</title>
  box-sizing: border-box;
  background: #1c0136;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow-x: hidden;
  position: absolute;
  transform: translate(-69.5%, -26%);
  width: calc(var(--width) * 1px);
  position: relative;
  position: absolute;
  background: radial-gradient(circle at 50% 50%, #CCCCCC, transparent 60%);
  transform: translate(-50%, -50%);
  filter: blur(10px);
  border-radius: 100%;
  background: radial-gradient(ellipse at 50% 50%, #bM
ab5b9, transparent 60%);
  position: absolute;
  transform: translate(-50%, 0);
  filter: blur(10px);
  border-radius: 50% 50% 50% 50%/60% 60% 40% 40%;
  position: relative;
.lava-lamp__main:after,
.lava-lamp__main:before {
  background: #000000;
  position: absolute;
.lava-lamp__main:after {
.lava-lamp__main:before {
  background: radial-gradient(circle at 50% 50%, #3a529b7b 25%, #19b5fe);
  border-radius: 50%/10%;
  position: absolute;
  position: absolute;
  border-radius: 0 0 50% 50%/0 0 35% 35%;
.lava-lamp__base:before {
  border-radius: 50% 50% 50% 50%/60% 60% 40% 40%;
  position: absolute;
  height: calc(var(--height) * 1px);
  width: calc(var(--width) * 1px);
  border-radius: 50%/10%;
  position: absolute;
  filter: url("#goo");
.lava-lamp__lava svg {
  -webkit-animation-delay: calc(var(--delay) * 1s);
          animation-delay: calc(var(--delay) * 1s);
  -webkit-animationM
-direction: var(--direction);
          animation-direction: var(--direction);
  -webkit-animation-duration: calc(var(--speed) * 1s);
          animation-duration: calc(var(--speed) * 1s);
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: blob;
          animation-name: blob;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  transform-box: fill-box;
  -webkit-animation: none;
          animation: none;
  -webkit-animation: sway 20s infinite linear;
          animation: sway 20s infinite linear;
@-webkit-keyframes sway {
    transform: translate(50%, 0);
    transform: translate(50%, 0);
@-webkit-keyframes blob {
    transform: skew(calc(var(--skewX) * 1deg), calc(var(--skewY) * 1deg)) translate(0, 0);
    transform: skew(calc(var(--skewX) * 1deg), calM
c(var(--skewY) * 1deg)) translate(0, calc((400 + (var(--height) * 2)) * -1px));
    transform: skew(calc(var(--skewX) * 1deg), calc(var(--skewY) * 1deg)) translate(0, 0);
    transform: skew(calc(var(--skewX) * 1deg), calc(var(--skewY) * 1deg)) translate(0, calc((400 + (var(--height) * 2)) * -1px));
  color: rgb(255, 255, 255);
  margin: 40px 0px 20px;
  color: rgb(255, 255, 255);
  margin: 40px 0px 20px;
    <div class="scene">
        <div class="lava-lamp" style="--height: 400; --width: 150">
          <div class="lava-lamp__main">
            <div class="lava-lamp__glass">
                <div class="lava-lamp__lava">
                  <svg>
                    <ellipse class="blob blob--top" cx="35" cy="0" rx="35" ry="10"></ellipse>
                    <ellipse class="blob blob--bottom" cx="75" cy="270" rM
x="75" ry="10"></ellipse>
                    <circle class="blob" r="21" cx="72" cy="400" style="--skewX: -5; --skewY: -1; --height: 42; --speed: 41; --delay: -5; --direction: alternate;"></circle>
                    <circle class="blob" r="16.5" cx="79" cy="400" style="--skewX: -5; --skewY: -1; --height: 33; --speed: 44; --delay: -6; --direction: alternate-reverse;"></circle>
                    <circle class="blob" r="23.5" cx="70" cy="400" style="--skewX: -4; --skewY: -4; --height: 47; --speed: 40; --delay:M
 -8; --direction: alternate;"></circle>
                  </svg>
                </div>
                <div class="lava-lamp__lava">
                  <svg>
                    <ellipse class="blob blob--top" cx="35" cy="0" rx="35" ry="10"></ellipse>
                    <ellipse class="blob blob--bottom" cx="75" cy="270" rx="75" ry="10"></ellipse>
                    <circle class="blob" r="38" cx="130" cy="400" style="--skewX: -3; --skewY: -2; --height: 76; --speed: 47; --delay: -7; --direction: alternate;M
                    <circle class="blob" r="17" cx="74" cy="400" style="--skewX: 2; --skewY: 5; --height: 34; --speed: 11; --delay: -10; --direction: alternate-reverse;"></circle>
                    <circle class="blob" r="26.5" cx="114" cy="400" style="--skewX: -5; --skewY: -4; --height: 53; --speed: 23; --delay: 0; --direction: alternate-reverse;"></circle>
                    <circle class="blob" r="37" cx="100" cy="400" style="--skewX: 2; --skewY: 3; --height: 74; --speed: 18; --delay: -6; --dirM
ection: alternate-reverse;"></circle>
                  </svg>
                </div>
                <div class="lava-lamp__lava">
                  <svg>
                    <ellipse class="blob blob--top" cx="35" cy="0" rx="35" ry="10"></ellipse>
                    <ellipse class="blob blob--bottom" cx="75" cy="270" rx="75" ry="10"></ellipse>
                    <circle class="blob" r="18" cx="118" cy="400" style="--skewX: -3; --skewY: 4; --height: 36; --speed: 37; --delay: 0; --direction: alternate-reveM
                    <circle class="blob" r="18" cx="59" cy="400" style="--skewX: -3; --skewY: -3; --height: 36; --speed: 48; --delay: -7; --direction: alternate;"></circle>
                  </svg>
                </div>
                <div class="lava-lamp__lava">
                  <svg>
                    <ellipse class="blob blob--top" cx="35" cy="0" rx="35" ry="10"></ellipse>
                    <ellipse class="blob blob--bottom" cx="75" cy="270" rx="75" ry="10"></ellipse>
        <circle class="blob" r="24" cx="94" cy="400" style="--skewX: 1; --skewY: -1; --height: 48; --speed: 31; --delay: -8; --direction: alternate;"></circle>
                  </svg>
                </div>
          <div class="lava-lamp__base"></div>
        <svg style="position: absolute; left: 100%">
            <filter id="goo">
              <feGaussianBlur in="SourceGraphic" stdDeviation="10" result="BLUR"></feGaussianBlur>
         <feColorMatrix in="BLUR" mode="matrix" values="1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 18 -7" result="GOO"></feColorMatrix>
              <feBlend in="SourceGraphic" in2="goo"></feBlend>
            </filter>
<h2>Lingle's Sphynx Edition</h2>
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"BAYC","amt":"1"}h!
Bj@=:BNB.BNB:bnb1fvm2tga7afzfjcwmxhqyppwfqh9uky7gk54ly0:42315944::0
!22222222222222222222222222222222222222222222222222
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"bento.sats"}h!
text/plain;charset=utf-8
  "name": "IOR.sats"
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 119/300 inscribed at satpoint 1930482646981712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>119</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
  <xmp:Signature>HzAL
0Vuck62UU5/E0E7DZkdOmZsUWvBH21T7ebFUzTHaKZbQdsV2zYH0av4sCgywP9+Qzgyf/hkLYP7w6xNTSVQw=</xmp:Signature>
='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 111/300 inscribed at satpoint 1930482961149912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>111</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
  <xmp:Signature>IEKy6kOeASNeCDF+rDl9js/vxLJef4XTQUC365tW6gfGeuWYdsKVj2To9mA+90qg4d/5Su2kkpbEdJtPtWYupa4=</xmp:Signature>
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdM
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 115/300 inscribed at satpoint 1930482638581712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>115</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
  <xmp:Signature>IE13BaD4m8jJxSGq9oT2BRtdH2h/MhOFxc4DbKllDZDubBvqOIDf4ohv1B3UED1xeH3/S5f3vCCqF8S9NYZdzvA=</xmp:Signature>
' id='W5M0MpCehiHzreSzNTczkc9d'?M
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 117/300 inscribed at satpoint 1930482642781712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>117</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
  <xmp:Signature>IAX9SC4ObihE6DyEuY8oNN7nB48Px6hqWphFfU5SS7JscypSc9pOQhj76Fl1A86zmPHw+O2umfqZHDLXhXazXPU=</xmp:Signature>
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02M
/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 118/300 inscribed at satpoint 1930482644881712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>118</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
  <xmp:Signature>IF8nZSYaOsm+zHx7w1lJArrKYnzQ/E68qJ/6HDQlzDxKW6LAB8rfrOTRlT9Qu049M15Fdro6f9aXPsYgaNzFCiQ=</xmp:Signature>
' id='W5M0MpCehiHzreSzNTczkc9d'?>
ns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 109/300 inscribed at satpoint 1930482956949912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-M
default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>109</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
  <xmp:Signature>H06BKKBLHRNq+e0nR/Fyt2j00h62psGaWou7FakLUhxWOIIjX0NUyWaWp663ck79LS/Pnj5kqJnWal4tq68x7ng=</xmp:Signature>
<?Lhxpacket end='w'?>
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:M
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 112/300 inscribed at satpoint 1930482963249912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
tp://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>112</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
  <xmp:Signature>HzfeCocfJpraCoV9+eFgOGNCJ3zuTPTBFqUWlx/zXsbMMjG2tAQY0DhUZDFeP2zi15CfzZzPq1ICuTWuRN4U/L0=</xmp:Signature>
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 114/300 inscribed at satpoint 1930482967449912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>114</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
:Signature>IFc2jX6VduVv0lPkrfNQuSM8B6igaqDD41xpm+TFHmAjQ74DuS+7OACo7b/7R63ptR8JLHMy1mxxNCqerYUNQ6E=</xmp:Signature>
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 110/300 inscribed at satpoint 1930482959049912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>110</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
  <xmp:Signature>IGnwKHFs1oJYR/W+wU1scWhWr+3S+NvuyW4LfSf+NoGmc5z7HieBXvDFwmvI0P8FjLA8k+NPUI0c6Akr8q5y7Xo=</xmp:SignatureL
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='IM
mage::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 116/300 inscribed at satpoint 1930482640681712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 202M
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>116</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
  <xmp:Signature>H1bRKxxJEQ0FrEhQhbCjrvA6cssiKlD+zSNmVdGRvUk3QJrfJXRLdN8XxziB0zDTieFSzv7WOlU6WtnqAC+dExQ=</xmp:Signature>
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-M
default'>TwelveFold 113/300 inscribed at satpoint 1930482965349912</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Edition>113</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004<Mp
/xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>
  <xmp:Signature>H0LlG9pkkmu0vB4Y5yfaetacdh/7mlp85psGHMSq/TY1Br5Zy7OvcqF5KHp8noDbHfNE0/Dm2NqQbZJ5ly5unCU=</xmp:Signature>
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.50'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:abouM
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <rdf:li xml:lang='x-default'>TwelveFold 120/300 inscribed at satpoint 1930482649081712</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
    <rdf:li xml:lang='x-default'>Copyright Yuga Labs 2023</rdf:li>
 <rdf:Description rdf:about=''
  xmlns:xmp='http:/M
/ns.adobe.com/xap/1.0/'>
  <xmp:Edition>120</xmp:Edition>
  <xmp:ParentInscriptionSatpoint>1930021603954004</xmp:ParentInscriptionSatpoint>
  <xmp:Season>Autumn</xmp:Season>
  <xmp:Series>10</xmp:Series>