0xf7d96d2d…484dsent to0xd8b7cc75…bde6·#13,992,128·view on Etherscan
<!DOCTYPE html><html><head> <title>Imagination</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <style>body{width: 100%; height: 100%; margin: 0; padding: 0; display: flex; justify-content: center; align-items: center; flex-direction: row; overflow: hidden; background: #000}canvas{margin: auto; display: block}</style> <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.0.0/p5.min.js"></script></head><body> <script>let hash="{{hash}}";console.log("By Hevey (@HeveyArt) - " + hash); let e, x, fa, bb, S, ba, m, b, R, T, Kb=(t, i, e, s, a, h)=> a > t && a < e && h > i && h < s, kb=(t, i, e, s)=> sqrt(abs(t - e) ** 2 + abs(i - s) ** 2), Mb=(t, i, e, s)=> [e + (t - e) / 2, s + (i - s) / 2], Lb=t=> t.reduce(((t, i)=> t + i)), C=(t, i, e, s, a)=> a - (a - s) * (i - (e > i ? i : e)) / (i - t), g=255, p=238, s=[40, 40, 40], ha=[g, g, g], K=[244, 237, 228], Ib=hash.slice(2), vb=2e3, Ba=[], j=200, P=h(22, 24, 5) ? 0 : 1, ma=h(49, 51, 22, 8), Q=h(52, 53, P ? 8 : 4) ? 1 : 0, ga=h(24, 26, Q ? P ? 4 : 260 : P ? 260 : 4) ? 1 : 0, ra=!ga && !Q, ia=ra ? [2, 2, 2, 2, 8, 8][h(54, 55)] ?? 1 : [P || !Q ? 1 : 4, 4, 4, 4, 4, 4, 6, 6, 8, 8, 16][h(54, 55)] ?? 2; 1===P && 16==ia && (ia=8); let O=h(16, 18) < 10, Y=O ? 3 : [1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4][h(39, 41, 30)] ?? 0, za=!O && h(18, 20) < 10, E=h(45, 46, 3) ? 1 : 0, wb=ga && h(46, 47) > 1, na=!za && h(33, 34) > 3 ? ~~(.6 * ma) - 1 : 0, aa=[1, ra ? 0 : 2][h(20, 22, 20)] ?? 0, sb=[0, 0, 1, 2==aa ? 0 : 2, 2==aa ? 1 : 2][h(26, 28, 5)], Aa=2==aa ? 3 : [0, 1, 1, 2][h(51, 52, 4)], ta=E && h(55, 56, 4) ? 0 : 1, mb=h(31, 33, 6, 1), Ja=.6 + .2 * mb, Oa=[1, 2, 3, 4, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8][h(60, 61)], nb=.2 * Oa, Ra=[0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9][h(58, 60, 25)], tb=.2 * Ra, Ta=h(48, 49, 4), sa=h(44, 45, 2), xa=3.5 + h(57, 58) / 10, ya=2 + h(56, 57) / 10; ya + .5 > xa && (ya=xa - .5); let ob=[[[220, 220, 220], ha, [20, 20, 20], [240, 240, 240], [190, 190, 190]], [K, [20, 19, 17], [182, 176, 170], [86, 83, 80], K], [[23, 126, 137], [219, 58, 52], [g, 200, 87], s, [8, 76, 97], [14, 164, 181]], [K, [33, 123, 116], [g, p, 173], [150, 206, 180], [217, 83, 79], [g, 173, 96]], [[240, 120, 16], [197, 13, 102], [11, 139, 155], [245, 244, 232], [p, 198, 10]], [[245, 244, 232], [p, 198, 10], [197, 13, 102], [240, 120, 16], [11, 139, 155]], [[245, 244, 232], [p, 198, 10], [11, 139, 155], [197, 13, 102], [240, 120, 16]], [[0, 157, 174], s, [194, g, 249], [g, 230, 82]], [[48, 59, 40], [86, 84, 73], [p, p, p], [83, 223, 19], s], [[8, 76, 97], [23, 126, 137], s, [219, 58, 52], [g, 200, 87], [14, 164, 181]], [K, s, [228, 137, 0], [247, 234, 0], [158, 222, 115]], [[220, 183, 138], [204, 147, 80], [63, 19, 15], [94, 32, 16], [161, 65, 33], [39, 19, 15], [186, 116, 40], [112, 63, 15], [0, 0, 0]], [[99, 28, 35], [237, 236, 244], [56, 31, 33], [209, 28, 22]], [[60, 31, 52], [99, 28, 82], [242, 246, 250], [199, 23, 134]], [[28, 99, 99], [242, 244, 236], [31, 59, 60], [23, 178, 199]], [[192, 134, 104], [131, 125, 116], [235, 227, 207], [74, 95, 125], [176, 184, 179], K], [[g, 231, 0], [230, 20, 132], [0, 158, 239], s], [[0, 158, 239], [g, 231, 0], [230, 20, 132], s], [s, [230, 20, 132], [g, 231, 0], [0, 158, 239]], [s, [230, 20, 132], [0, 158, 239], [g, 231, 0]], [s, [0, 158, 239], [g, 231, 0], [230, 20, 132]], [[240, 240, 240], [23, 148, 172], [186, 184, 189], [45, 45, 45], [161, 212, 226]], [s, [254, 244, 169], [59, 154, 156], [75, 194, 197], [120, 254, 224]], [[63, 19, 15], [247, 253, 4], [249, 132, 4], [249, 178, 8]], [s, [241, 246, 249], [20, 39, 78], [57, 72, 103], [155, 164, 180]], [ha, [0, 136, 145], [15, 48, 87], [231, 231, 222], [0, 88, 122]], [s, [76, 96, 133], [57, 160, 237], [19, 196, 163], [54, 241, 205]], [[44, 50, 59], [253, 112, 19], [73, 78, 86], [p, p, p]], [[73, 78, 86], [44, 50, 59], [p, p, p], [253, 112, 19]], [[73, 78, 86], [44, 50, 59], [253, 112, 19], [p, p, p]], [[99, 28, 35], [192, 0, 0], [247, 179, 45], [248, 249, 252], [222, 60, 60]], [[48, 16, 24], [216, 50, 33], [85, 30, 29], [175, 144, 133], [145, 39, 32], [244, p, 227]], [K, [45, 45, 45], [188, 132, 32], [15, 15, 15], [163, 158, 158]], [[45, 45, 45], [188, 132, 32], [15, 15, 15], K, [163, 158, 158]], [[188, 132, 32], [30, 30, 30], [237, 163, 35], [244, 205, 42], [g, 253, 184]], [[0, 24, 113], [65, 182, 230], [g, 88, 93], [g, 181, 73]], [[61, 45, 1], [242, 156, 43], [139, 194, 76], [222, 67, 7], [246, 208, 77]], [[61, 45, 1], [242, 156, 43], [222, 67, 7], [139, 194, 76], [246, 208, 77]], [[3, 7, 30], [244, 140, 6], [157, 2, 8], [106, 4, 15], [208, 0, 0], [220, 47, 2], [232, 93, 4], [250, 163, 7], [g, 186, 8], [55, 6, 23]], [[55, 6, 23], [106, 4, 15], [250, 163, 7], [157, 2, 8], [208, 0, 0], [220, 47, 2], [232, 93, 4], [244, 140, 6], [g, 186, 8]], [[157, 2, 8], [250, 163, 7], [208, 0, 0], [g, 186, 8], [106, 4, 15], [220, 47, 2], [232, 93, 4], [244, 140, 6]], [[7, 59, 76], [17, 138, 178], [g, 209, 102], [6, 214, 160]], 0, [s, [7, 59, 76], [g, 209, 102], [6, 214, 160], [17, 138, 178]], [s, [6, 214, 160], [7, 59, 76], [g, 209, 102], [17, 138, 178]], [K, [0, 29, 61], [g, 195, 0], [0, 53, 102], [g, 214, 10]], [[36, 0, 70], [123, 44, 191], [g, 158, 0], [157, 78, 221], [g, 109, 0], [g, 121, 0], [g, 133, 0], [g, 145, 0], [60, 9, 108], [90, 24, 154]], [[60, 9, 108], [36, 0, 70], [g, 158, 0], [g, 109, 0], [g, 121, 0], [g, 133, 0], [g, 145, 0], [90, 24, 154], [123, 44, 191], [157, 78, 221]], [[0, 77, 97], [g, 80, 47], [52, 132, 152], [91, 209, 215]], [[128, 120, 89], [235, 220, 187], [75, 64, 61], [153, 78, 60], [190, 155, 55]], [[235, 220, 187], [75, 64, 61], [128, 120, 89], [190, 155, 55], [153, 78, 60]], [[245, 244, 232], [197, 13, 102], [240, 183, 117], [240, 120, 16], [p, 198, 10]], [[249, p, 211], [102, 139, 138], [159, 176, 131], [164, 124, 100]], 0, 0, [[91, 96, 68], [15, 13, 33], [207, 155, 97], [249, p, 211]], [[114, 13, 32], [5, 38, 0], [242, 231, 218], [191, 51, 63], [165, 54, 54]], [[37, 42, 52], [8, 217, 214], [g, 46, 99], [234, 234, 234]], [[151, 142, 67], [53, 6, 8], [199, 59, 11], [242, 197, 69], K], [[53, 6, 8], K, [199, 59, 11], [242, 197, 69], [151, 142, 67]], [[102, 102, 51], [176, 0, 59], s, [204, 204, 153]], [[46, 148, 185], [240, 183, 117], [210, 85, 101], [g, 253, 192]], [ha, s, [202, 62, 71], [82, 82, 82], [65, 65, 65]], [[228, 209, 211], [1, 73, 85], [221, 10, 53], [22, 135, 167]], [[242, 232, 207], [56, 102, 65], [106, 153, 78], [167, 201, 87], [188, 71, 73]]]; S=E ? ra ? [0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 24, 25, 27, 31, 32, 32, 33, 38, 39, 40, 44, 45, 47, 49, 55, 62][h(41, 44, 35)] : ta ? [0, 0, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 51, 56, 57, 59, 61, 62, 63][h(41, 44, 51)] : [0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 9, 10, 11, 12, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 62, 63, 63, 64][h(41, 44, 65)] : [0, 1, 2, 2, 2, 3, 3, 4, 5, 6, 9, 9, 11, 12, 13, 18, 24, 27, 31, 33, 36, 38, 38, 39, 45, 49, 50, 57, 58, 62, 64][h(41, 44, 31)], 11==S && (s=[20, 20, 20]); let Ca=ob[S], f={fb: Ca.shift(), k: Ca, H: Ca.length}, Z=(!Q || ia > 2) && [4, 5, 6, 9, 11, 17, 18, 19, 20, 38, 47, 63, 64].indexOf(S) > -1 && h(36, 37) < 4 ? ha : s; window.METADATA={Palette: ["Black & White", "Paper", "Oxide", "Vintage", "Sherbets", "Sherbets", "Sherbets", "Lagoon", "Grass", "Oxide", "Honey & Plants", "Coffee", "Blood", "Pink", "Blue", "Middle Ages", "CMYK", "CMYK", "CMYK", "CMYK", "CMYK", "Winter", "Tropical Water", "Gold", "Porcelain", "Deep Water", "Night Water", "Metallurgy", "Metallurgy", "Metallurgy", "Jam", "Samurai", "Inkstick", "Inkstick", "Medieval Coins", "Circus", "Warm Light", "Warm Light", "Fire", "Fire", "Fire", "Seaside", 0, "Seaside", "Seaside", "Gold & Blue", "Night Lights", "Night Lights", "Vacation", "Fresco", "Fresco", "Honey & Pink", "Nature", 0, 0, "Desert", "Watermelon", "Pink & Blue", "Hamburger", "Hamburger", "Olives", "Pastel", "Redback Spider", "Blood Water", "Plants"][S], Style: ["M", "V"][P], Tentacles: ["Few", "Some", "Many"][~~((ma - 8) / 7.1)], Thickness: ["Thin", "Moderately Thin", "Moderately Thick", "Thick"][[0, 0, 1, 1, 2, 2, 3, 3][Oa - 1]], Curvature: ["None", "Very Light", "Light", "Medium", "Medium", "Moderately Strong", "Moderately Strong", "Strong", "Very Strong", "Maximum"][Ra], Space:{1: "Very Thin", 2: "Thin", 4: "Medium", 6: "Moderately Large", 8: "Large", 16: "Very Large"}[ia], Position: ["Bottom Left", "Top Left", "Top Right", "Bottom Right", "Corners", "Special", "Bottom"][O ? 6 : za ? 5 : Y], "Color Mode": ["Random", ta ? "Same Gradient" : "Variable Gradient"][E], Frame: na ? [["Small", "Medium", "Large"][Aa], "Circle", "Inside"][aa] : "None", Borders: ga ? Q ? "Both" : "Vertical" : Q ? "Horizontal" : "None", "Borders Color": ra ? "None" : Z==ha ? "White" : "Black"}; class yb{constructor(t){this.z=t, this.Cb=O ? 0 : .1 * -e, this.Bb=O ? e : 1.1 * e, this.ib=h(0 + t, 1 + t, 2), this.ua=[[this.Cb, this.Bb]], this.Wa=[bb], this.t=[], this.v=[], this.i=[], this.F=[], this.G=[], this.Na=t % 2, this.M=ta ? 0 : h(3 + t, 5 + t, f.H), this.I=ta ? 1 : h(4 + t, 6 + t, f.H), this.M===this.I && (this.I=(this.I + 1) % f.H); let i=j / 2, s=~~(j / xa), a=~~(j / ya); this.la=h(0 + t, 2 + t, 25, O ? 6 : 10) / 10; let r=e / j * this.la, o=TWO_PI / j * (this.ib ? -1 : 1) / (this.la / tb), l=o, b=radians(h(0 + t, 3 + t, 90, 270 + (h(0 + t, 2 + t, 30, 5) - 10) * (this.ib ? -1 : 1))), n=e / (h(61, 62) + 10), g=e * this.la ** 1.2 / 10; for (let t=0; t < j; t++){this.Na && t >=s && t <=a && (o=C(s, a, t, l, -1 * l)); let e=this.Wa[t].copy().add(createVector(cos(b), sin(b)).setMag((t / j) ** (this.Na ? 2 : 1.5))).normalize(), h=this.ua[t], f=((j - t) / j + .1) ** nb, m=h[0] + e.x * r * f, d=h[1] + e.y * r * f, k=(abs(i - t) / i) ** 2, p=n * k + g * (1 - k), c=e.copy().rotate(90).setMag(p * ((j - t) / j) ** 1.5); this.t.push([m + c.x, d + c.y]), this.v.push([m - c.x, d - c.y]), this.i.push([m, d]), this.F.push([m + c.x / 2, d + c.y / 2]), this.G.push([m - c.x / 2, d - c.y / 2]), this.ua.push([m, d]), this.Wa.push(e), b +=o}this.Ka=this.v.slice().reverse()}Ab(){noStroke(); if (wb && (ba.save(), ba.shadowOffsetX=10 * x, ba.shadowOffsetY=10 * x, ba.shadowBlur=30 * x, ba.shadowColor=color(0, 0, 0, 30), fill(g), R(), this.t.forEach((t=> m(...t))), this.Ka.forEach((t=> m(...t))), T(CLOSE), ba.restore()), !P){randomSeed(Ea((parseInt(hash, 16) * (this.z + 1.234)).toString())); let t=2 * ia, i=~~(j / 25), e=i * x * Ja, s=1.8; for (let a=0; a < j; a++)if (a % t==0 && a < j - i - t){let h=e * ((1 - a / j) ** 2 + .5), r=[C(0, j - 1, a * s, f.k[this.M][0], f.k[this.I][0]), C(0, j - 1, a * s, f.k[this.M][1], f.k[this.I][1]), C(0, j - 1, a * s, f.k[this.M][2], f.k[this.I][2])]; 1===E && fill(r), E || (r=f.k[~~b(f.H)], fill(r)), N([this.t[a + t][0] + b(-h, h), this.t[a + t][1] + b(-h, h)], [this.t[a][0] + b(-h, h), this.t[a][1] + b(-h, h)], [this.F[a + i][0] + b(-h, h), this.F[a + i][1] + b(-h, h)], [this.F[a + i + t][0] + b(-h, h), this.F[a + i + t][1] + b(-h, h)], r), E || fill(f.k[~~b(f.H)]), N([this.i[a + t][0] + b(-h, h), this.i[a + t][1] + b(-h, h)], [this.i[a][0] + b(-h, h), this.i[a][1] + b(-h, h)], [this.G[a + i][0] + b(-h, h), this.G[a + i][1] + b(-h, h)], [this.G[a + i + t][0] + b(-h, h), this.G[a + i + t][1] + b(-h, h)], r), r=[C(0, j - 1, a * s, f.k[this.I][0], f.k[this.M][0]), C(0, j - 1, a * s, f.k[this.I][1], f.k[this.M][1]), C(0, j - 1, a * s, f.k[this.I][2], f.k[this.M][2])], 1===E && fill(r), E || (r=f.k[~~b(f.H)], fill(r)), N([this.i[a + t][0] + b(-h, h), this.i[a + t][1] + b(-h, h)], [this.i[a][0] + b(-h, h), this.i[a][1] + b(-h, h)], [this.F[a + i][0] + b(-h, h), this.F[a + i][1] + b(-h, h)], [this.F[a + i + t][0] + b(-h, h), this.F[a + i + t][1] + b(-h, h)], r), E || fill(f.k[~~b(f.H)]), N([this.v[a + t][0] + b(-h, h), this.v[a + t][1] + b(-h, h)], [this.v[a][0] + b(-h, h), this.v[a][1] + b(-h, h)], [this.G[a + i][0] + b(-h, h), this.G[a + i][1] + b(-h, h)], [this.G[a + i + t][0] + b(-h, h), this.G[a + i + t][1] + b(-h, h)], r)}if (noFill(), strokeWeight(1.3 * fa), ga){stroke(...Z, 140); for (let t=0; t < 3; t++)R(), this.ua.forEach((t=> m(t[0] + x * b(-1, 1), t[1] + x * b(-1, 1)))), T(), R(), this.F.forEach((t=> m(t[0] + x * b(-1, 1), t[1] + x * b(-1, 1)))), T(), R(), this.G.forEach((t=> m(t[0] + x * b(-1, 1), t[1] + x * b(-1, 1)))), T()}if (Q){stroke(Z); for (let e=0; e < j; e++)e % t==0 && e < j - i && (line(...this.G[e + i], ...this.v[e]), line(...this.F[e + i], ...this.i[e]), line(...this.i[e], ...this.G[e + i]), line(...this.t[e], ...this.F[e + i]))}}if (1===P){randomSeed(Ea((parseInt(hash, 16) * (this.z + 1.234)).toString())); let t=8 * ia, i=~~(.75 * t), e=~~(t / 2), s=~~(.375 * t), a=~~(.125 * t), h=s * x * 2 * Ja, r=1.8; for (let o=0; o < j; o++)if (o % t==0 && o < j - i - t - a){let a=h * ((1 - o / j) ** 2 + .5), l=[C(0, j - 1, o * r, f.k[this.M][0], f.k[this.I][0]), C(0, j - 1, o * r, f.k[this.M][1], f.k[this.I][1]), C(0, j - 1, o * r, f.k[this.M][2], f.k[this.I][2])]; 1===E && fill(l), E || (l=f.k[~~b(f.H)], fill(l)); let n=[this.v[o][0] + b(-a, a), this.v[o][1] + b(-a, a)], g=[this.i[o + s][0] + b(-a, a), this.i[o + s][1] + b(-a, a)]; N(n, sa ? n : g, g, [this.v[o + i][0] + b(-a, a), this.v[o + i][1] + b(-a, a)], l), E || fill(f.k[~~b(f.H)]), n=[this.t[o + e][0] + b(-a, a), this.t[o + e][1] + b(-a, a)], g=[this.i[o + s + e][0] + b(-a, a), this.i[o + s + e][1] + b(-a, a)], N(n, sa ? n : g, g, [this.t[o + i + e][0] + b(-a, a), this.t[o + i + e][1] + b(-a, a)], l), E || fill(f.k[~~b(f.H)]), n=[this.i[o + e][0] + b(-a, a), this.i[o + e][1] + b(-a, a)], g=[this.v[o + s + e][0] + b(-a, a), this.v[o + s + e][1] + b(-a, a)], N(n, sa ? n : g, g, [this.i[o + i + e][0] + b(-a, a), this.i[o + i + e][1] + b(-a, a)], l), E || fill(f.k[~~b(f.H)]), n=[this.i[o + t][0] + b(-a, a), this.i[o + t][1] + b(-a, a)], g=[this.t[o + s + t][0] + b(-a, a), this.t[o + s + t][1] + b(-a, a)], N(n, sa ? n : g, g, [this.i[o + i + t][0] + b(-a, a), this.i[o + i + t][1] + b(-a, a)], l)}if (noFill(), strokeWeight(1.3 * fa), stroke(...Z, 140), ga) for (let t=0; t < 3; t++)R(), this.ua.forEach((t=> m(...t))), T(); if (Q){stroke(Z); for (let h=0; h < j; h++)h % t==0 && h < j - i - t - a && (line(...this.v[h], ...this.i[h + s]), line(...this.v[h + i], ...this.i[h + s]), line(...this.t[h + e], ...this.i[h + s + e]), line(...this.t[h + i + e], ...this.i[h + s + e]), line(...this.i[h + e], ...this.v[h + s + e]), line(...this.i[h + i + e], ...this.v[h + s + e]), line(...this.i[h + t], ...this.t[h + s + t]), line(...this.i[h + i + t], ...this.t[h + s + t]))}}if (ga){noFill(), stroke(...Z, 140); for (let t=0; t < 3; t++)R(), this.t.forEach((t=> m(t[0] + x * b(-1, 1), t[1] + x * b(-1, 1)))), this.Ka.forEach((t=> m(t[0] + x * b(-1, 1), t[1] + x * b(-1, 1)))), T()}}}function setup(){e=min(windowWidth, windowHeight), x=e / vb, fa=3 * x, createCanvas(e, e), noLoop(), strokeWeight(fa), ba=drawingContext, m=vertex, b=random, R=beginShape, T=endShape, randomSeed(Ea(hash)), bb=createVector(e, -e).normalize(); for (let t=0; t < ma; t++)Ba.push(new yb(t)); Ba.sort(((t, i)=> i.la - t.la))}function draw(){if (background(f.fb), N([0, 0], [e, 0], [e, e], [0, e], f.fb, .2 * Ta + .4), 4==Y) for (let t=0; t < ma; t++){if (Y=(Y + 1) % 4, push(), Y){let t=[[e, 0, PI / 2], [e, e, PI], [0, e, 3 * PI / 2]][Y - 1]; translate(t[0], t[1]), rotate(t[2])}Qa(t), pop()}else{if (Y){let t=[[e, 0, PI / 2], [e, e, PI], [0, e, 3 * PI / 2]][Y - 1]; translate(t[0], t[1]), rotate(t[2])}for (let t=0; t < ma; t++)Qa(t)}window.top && window.top.postMessage("genart:done", "*");}function Qa(t){if (O && push(), (za || O) && (translate(e / 2, -((e ** 2 * 2) ** .5 - e) / 2), rotate(PI / 4)), Ba[t].Ab(), O && pop(), na && na===t){strokeCap(PROJECT); let t=e * [.05, .08, .11, .125][Aa]; if (fill([ha, K, f.k[h(28, 30, f.H)]][sb]), stroke(Z), R(), 2==aa){let i=t / 2; m(i, i), m(e - i, i), m(e - i, e - i), m(i, e - i)}else m(-t, -t), m(e + t, -t), m(e + t, e + t), m(-t, e + t); if (beginContour(), 1===aa){let t=0; for (let i=0; i < 1200; i++){let i=e / 2 + cos(t) * e * .45, s=e / 2 + sin(t) * e * .45; m(i, s), t -=TWO_PI / 1200}}else m(t, e - t), m(e - t, e - t), m(e - t, t), m(t, t); endContour(), T(CLOSE), strokeCap(ROUND)}}function N(t, i, e, s, a, h=Ta / (P ? 2 : 1.33) + 1){let r=~~(max(kb(...t, ...i), kb(...e, ...s)) / fa * 2); for (let o=0; o <=r; o++){strokeWeight(fa); let l=b(-h, h); a=a.map((t=> t + l)), stroke(a), line(C(0, r, o, i[0], t[0]), C(0, r, o, i[1], t[1]), C(0, r, o, e[0], s[0]), C(0, r, o, e[1], s[1]))}}function Ea(t){let i, e, s=0; for (i=0; i < t.length; i++)e=t.charCodeAt(i), s=(s << 5) - s + e, s |=0; return s}function h(t, i, e, s=0){let a=parseInt(Ib.substring(t, i), 16); return (e ? a % e : a) + s}</script></body></html>P5JS