@pensar/apex 0.0.30-canary.0 → 0.0.31-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/pensar.js CHANGED
@@ -11,7 +11,9 @@
11
11
 
12
12
  import { fileURLToPath } from "url";
13
13
  import { dirname, join } from "path";
14
- import { readFileSync } from "fs";
14
+
15
+ // Import package.json directly so Bun can embed it at compile time
16
+ import packageJson from "../package.json";
15
17
 
16
18
  const __filename = fileURLToPath(import.meta.url);
17
19
  const __dirname = dirname(__filename);
@@ -20,9 +22,6 @@ const __dirname = dirname(__filename);
20
22
  const args = process.argv.slice(2);
21
23
  const command = args[0];
22
24
 
23
- // Read package.json for version
24
- const packageJsonPath = join(__dirname, "..", "package.json");
25
- const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
26
25
  const version = packageJson.version;
27
26
 
28
27
  // Handle different commands
@@ -57,7 +56,11 @@ if (command === "benchmark") {
57
56
 
58
57
  // Import and run pentest
59
58
  await import(pentestPath);
60
- } else if (command === "version" || command === "--version" || command === "-v") {
59
+ } else if (
60
+ command === "version" ||
61
+ command === "--version" ||
62
+ command === "-v"
63
+ ) {
61
64
  // Show version
62
65
  console.log(`v${version}`);
63
66
  } else if (command === "help" || command === "--help" || command === "-h") {
@@ -113,9 +116,7 @@ if (command === "benchmark") {
113
116
  );
114
117
  console.log();
115
118
  console.log("Pentest Usage:");
116
- console.log(
117
- " pensar pentest --target <target> [options]"
118
- );
119
+ console.log(" pensar pentest --target <target> [options]");
119
120
  console.log();
120
121
  console.log("Pentest Options:");
121
122
  console.log(
@@ -149,9 +150,7 @@ if (command === "benchmark") {
149
150
  );
150
151
  console.log();
151
152
  console.log("Header Modes (for quicktest, pentest, swarm):");
152
- console.log(
153
- " none No custom headers added to requests"
154
- );
153
+ console.log(" none No custom headers added to requests");
155
154
  console.log(
156
155
  " default Add 'User-Agent: pensar-apex' to all offensive requests"
157
156
  );
@@ -170,9 +169,7 @@ if (command === "benchmark") {
170
169
  console.log(
171
170
  " pensar quicktest --target api.example.com --objective 'API testing' --headers custom --header 'User-Agent: pensar_client123'"
172
171
  );
173
- console.log(
174
- " pensar pentest --target example.com"
175
- );
172
+ console.log(" pensar pentest --target example.com");
176
173
  console.log(
177
174
  " pensar pentest --target example.com --headers custom --header 'User-Agent: pensar_client123'"
178
175
  );
package/build/index.js CHANGED
@@ -27102,82 +27102,10 @@ async function render(node, rendererConfig = {}) {
27102
27102
  _render(import_react7.default.createElement(AppContext.Provider, { value: { keyHandler: renderer.keyInput, renderer } }, import_react7.default.createElement(ErrorBoundary, null, node)), renderer.root);
27103
27103
  }
27104
27104
 
27105
- // src/tui/components/ascii-art.tsx
27106
- import sharp from "sharp";
27107
-
27108
27105
  // node_modules/@opentui/react/jsx-dev-runtime.js
27109
27106
  var import_jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
27110
27107
 
27111
- // src/tui/components/ascii-art.tsx
27112
- var ASCII_SETS = {
27113
- simple: " .:-=+*#%@",
27114
- detailed: " .'`^\",:;Il!i><~+_-?][}{1)(|\\/tfjrxnuvczXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$",
27115
- medium: " .,:;i1tfLCG08@",
27116
- blocks: " ░▒▓█",
27117
- default: " .:-=+*#%@"
27118
- };
27119
- var ASCII_CHARS = ASCII_SETS.medium;
27120
- async function convertImageToColoredAscii(path2, scale = 1, maxWidth, aspectRatio = 0.5, invert = false) {
27121
- const metadata = await sharp(path2, { density: 300 }).metadata();
27122
- const originalWidth = metadata.width ?? 100;
27123
- const originalHeight = metadata.height ?? 100;
27124
- let scaledWidth = Math.round(originalWidth * scale);
27125
- let scaledHeight = Math.round(originalHeight * scale);
27126
- scaledHeight = Math.round(scaledHeight * aspectRatio);
27127
- if (maxWidth && scaledWidth > maxWidth) {
27128
- const ratio = maxWidth / scaledWidth;
27129
- scaledWidth = maxWidth;
27130
- scaledHeight = Math.round(scaledHeight * ratio);
27131
- }
27132
- const resizeOptions = {
27133
- width: scaledWidth,
27134
- height: scaledHeight,
27135
- fit: "fill",
27136
- kernel: "lanczos3",
27137
- background: { r: 0, g: 0, b: 0, alpha: 0 }
27138
- };
27139
- const colorBuffer = await sharp(path2, { density: 300 }).resize(resizeOptions).ensureAlpha().raw().toBuffer({ resolveWithObject: true });
27140
- const grayscaleBuffer = await sharp(colorBuffer.data, {
27141
- raw: {
27142
- width: colorBuffer.info.width,
27143
- height: colorBuffer.info.height,
27144
- channels: 4,
27145
- premultiplied: false
27146
- }
27147
- }).grayscale().raw().toBuffer({ resolveWithObject: true });
27148
- const { width: w, height: h2 } = grayscaleBuffer.info;
27149
- const result = [];
27150
- for (let y = 0;y < h2; y++) {
27151
- const row = [];
27152
- for (let x = 0;x < w; x++) {
27153
- const grayIdx = y * w + x;
27154
- const colorIdx = (y * w + x) * 4;
27155
- const alpha = colorBuffer.data[colorIdx + 3] ?? 0;
27156
- if (alpha < 128) {
27157
- row.push({
27158
- char: " ",
27159
- r: 0,
27160
- g: 0,
27161
- b: 0
27162
- });
27163
- continue;
27164
- }
27165
- let brightness = grayscaleBuffer.data[grayIdx] ?? 0;
27166
- if (invert) {
27167
- brightness = 255 - brightness;
27168
- }
27169
- const charIndex = Math.floor(brightness / 255 * (ASCII_CHARS.length - 1));
27170
- row.push({
27171
- char: ASCII_CHARS[charIndex] ?? " ",
27172
- r: colorBuffer.data[colorIdx] ?? 0,
27173
- g: colorBuffer.data[colorIdx + 1] ?? 0,
27174
- b: colorBuffer.data[colorIdx + 2] ?? 0
27175
- });
27176
- }
27177
- result.push(row);
27178
- }
27179
- return result;
27180
- }
27108
+ // src/tui/components/ascii-art-component.tsx
27181
27109
  function ColoredAsciiArt({ ascii, title }) {
27182
27110
  return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
27183
27111
  position: "absolute",
@@ -76874,33 +76802,11 @@ function ModelsDisplay({
76874
76802
  }, undefined, false, undefined, this);
76875
76803
  }
76876
76804
 
76805
+ // src/tui/generated-ascii-art.json
76806
+ var generated_ascii_art_default = [[{ char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 195, b: 91 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 91 }, { char: ";", r: 32, g: 196, b: 91 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 31, g: 194, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }], [{ char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 30, g: 193, b: 91 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 35, g: 208, b: 98 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 30, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 203, b: 95 }, { char: ";", r: 33, g: 198, b: 94 }, { char: ";", r: 32, g: 195, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ":", r: 35, g: 210, b: 99 }, { char: ";", r: 32, g: 196, b: 91 }, { char: ";", r: 32, g: 196, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 34, g: 204, b: 96 }, { char: ";", r: 31, g: 196, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }], [{ char: ";", r: 30, g: 195, b: 90 }, { char: ";", r: 35, g: 207, b: 98 }, { char: ";", r: 32, g: 196, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 35, g: 207, b: 98 }, { char: ";", r: 31, g: 196, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 197, b: 91 }, { char: ";", r: 34, g: 202, b: 96 }, { char: ";", r: 32, g: 196, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 34, g: 205, b: 97 }, { char: ";", r: 32, g: 195, b: 91 }], [{ char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 195, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 34, g: 202, b: 95 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 198, b: 94 }, { char: ";", r: 33, g: 197, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 91 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 196, b: 91 }], [{ char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 195, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 195, b: 92 }], [{ char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 196, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 196, b: 91 }], [{ char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 196, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 193, b: 91 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 195, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 196, b: 92 }], [{ char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 30, g: 194, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 195, b: 91 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 33, g: 201, b: 95 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 200, b: 94 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 31, g: 196, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 196, b: 91 }], [{ char: ";", r: 31, g: 195, b: 91 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 195, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 195, b: 92 }, { char: ";", r: 35, g: 208, b: 98 }, { char: ";", r: 32, g: 195, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 196, b: 90 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 34, g: 202, b: 95 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 34, g: 204, b: 96 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 195, b: 91 }, { char: ";", r: 35, g: 209, b: 99 }, { char: ";", r: 32, g: 196, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 90 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 91 }], [{ char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 34, g: 207, b: 98 }, { char: ";", r: 32, g: 195, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 30, g: 194, b: 91 }, { char: ";", r: 33, g: 199, b: 94 }, { char: ";", r: 33, g: 196, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 34, g: 203, b: 96 }, { char: ";", r: 30, g: 195, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 195, b: 91 }, { char: ";", r: 35, g: 208, b: 98 }, { char: ";", r: 31, g: 195, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 92 }, { char: ";", r: 33, g: 198, b: 93 }, { char: ";", r: 31, g: 194, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 200, b: 94 }, { char: ";", r: 34, g: 205, b: 97 }, { char: ";", r: 31, g: 194, b: 92 }], [{ char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 197, b: 91 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 33, g: 202, b: 95 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 197, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 33, g: 199, b: 93 }, { char: ";", r: 34, g: 202, b: 95 }, { char: ";", r: 32, g: 196, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 194, b: 91 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ":", r: 35, g: 210, b: 99 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 33, g: 197, b: 92 }, { char: ";", r: 33, g: 196, b: 91 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 34, g: 205, b: 97 }, { char: ";", r: 33, g: 195, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }], [{ char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 196, b: 92 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 31, g: 196, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 197, b: 93 }, { char: ";", r: 33, g: 196, b: 91 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 195, b: 91 }, { char: ";", r: 31, g: 197, b: 91 }, { char: ";", r: 31, g: 197, b: 91 }, { char: ";", r: 31, g: 197, b: 91 }, { char: ";", r: 31, g: 197, b: 91 }, { char: ";", r: 31, g: 197, b: 91 }, { char: ";", r: 31, g: 197, b: 91 }, { char: ";", r: 31, g: 195, b: 91 }, { char: ";", r: 31, g: 195, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }], [{ char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 196, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }], [{ char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 196, b: 91 }, { char: ";", r: 31, g: 197, b: 92 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 195, b: 91 }, { char: ";", r: 33, g: 195, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 194, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 195, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }], [{ char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 34, g: 205, b: 97 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ":", r: 35, g: 210, b: 99 }, { char: ";", r: 32, g: 196, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 194, b: 92 }, { char: ";", r: 32, g: 197, b: 93 }, { char: ":", r: 35, g: 210, b: 99 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ":", r: 35, g: 210, b: 99 }, { char: ";", r: 31, g: 195, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }], [{ char: ";", r: 31, g: 194, b: 90 }, { char: ";", r: 34, g: 204, b: 96 }, { char: ";", r: 33, g: 198, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 30, g: 193, b: 90 }, { char: ";", r: 34, g: 200, b: 94 }, { char: ";", r: 33, g: 196, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 34, g: 207, b: 98 }, { char: ";", r: 31, g: 195, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 195, b: 91 }, { char: ";", r: 35, g: 208, b: 98 }, { char: ";", r: 32, g: 195, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 92 }, { char: ";", r: 33, g: 199, b: 94 }, { char: ";", r: 31, g: 193, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 34, g: 207, b: 98 }, { char: ";", r: 30, g: 195, b: 90 }], [{ char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 30, g: 194, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 35, g: 208, b: 98 }, { char: ";", r: 33, g: 196, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 91 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 34, g: 204, b: 96 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 34, g: 202, b: 96 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ":", r: 35, g: 210, b: 99 }, { char: ";", r: 32, g: 196, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 90 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 196, b: 91 }], [{ char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 196, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 197, b: 92 }, { char: ";", r: 31, g: 196, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 196, b: 90 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 195, b: 91 }], [{ char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 196, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 194, b: 90 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 195, b: 91 }], [{ char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 195, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 91 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 195, b: 91 }], [{ char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 195, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 33, g: 196, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 33, g: 197, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 91 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 32, g: 195, b: 91 }], [{ char: ";", r: 33, g: 199, b: 94 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 195, b: 89 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 34, g: 200, b: 95 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 198, b: 94 }, { char: ";", r: 33, g: 196, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 90 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 31, g: 195, b: 92 }], [{ char: ";", r: 31, g: 195, b: 91 }, { char: ";", r: 35, g: 207, b: 98 }, { char: ";", r: 32, g: 196, b: 93 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 195, b: 92 }, { char: ";", r: 34, g: 205, b: 97 }, { char: ";", r: 32, g: 195, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 34, g: 203, b: 96 }, { char: ";", r: 31, g: 195, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 195, b: 91 }, { char: ";", r: 35, g: 206, b: 97 }, { char: ";", r: 31, g: 195, b: 91 }], [{ char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 194, b: 91 }, { char: ";", r: 33, g: 200, b: 95 }, { char: ";", r: 33, g: 202, b: 95 }, { char: ";", r: 31, g: 196, b: 92 }, { char: ";", r: 31, g: 195, b: 91 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 33, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 34, g: 206, b: 97 }, { char: ";", r: 32, g: 195, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 35, g: 208, b: 98 }, { char: ";", r: 32, g: 196, b: 91 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 31, g: 195, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 32, g: 194, b: 92 }, { char: ";", r: 32, g: 196, b: 91 }, { char: ";", r: 33, g: 197, b: 93 }, { char: ";", r: 34, g: 202, b: 95 }, { char: ";", r: 31, g: 195, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }], [{ char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 196, b: 92 }, { char: ";", r: 32, g: 197, b: 93 }, { char: ";", r: 31, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 32, g: 195, b: 91 }, { char: ";", r: 32, g: 195, b: 92 }, { char: ";", r: 31, g: 196, b: 93 }, { char: ";", r: 32, g: 196, b: 90 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 31, g: 196, b: 91 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 32, g: 196, b: 92 }, { char: ";", r: 33, g: 196, b: 92 }, { char: ";", r: 30, g: 194, b: 92 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }, { char: " ", r: 0, g: 0, b: 0 }]];
76807
+
76877
76808
  // src/tui/index.tsx
76878
- import { fileURLToPath as fileURLToPath2 } from "url";
76879
- import { dirname as dirname2, join as join8 } from "path";
76880
- import { existsSync as existsSync13 } from "fs";
76881
- var __filename2 = fileURLToPath2(import.meta.url);
76882
- var __dirname2 = dirname2(__filename2);
76883
- function findImagePath() {
76884
- const bundledPath = join8(__dirname2, "..", "pensar.svg");
76885
- if (existsSync13(bundledPath)) {
76886
- return bundledPath;
76887
- }
76888
- const devPath = join8(__dirname2, "..", "..", "pensar.svg");
76889
- if (existsSync13(devPath)) {
76890
- return devPath;
76891
- }
76892
- throw new Error("Could not find pensar.svg");
76893
- }
76894
- var CONFIG = {
76895
- imagePath: findImagePath(),
76896
- scale: 1,
76897
- maxWidth: 50,
76898
- aspectRatio: 0.5,
76899
- invert: true,
76900
- title: "Pensar Logo"
76901
- };
76902
- var coloredAscii = await convertImageToColoredAscii(CONFIG.imagePath, CONFIG.scale, CONFIG.maxWidth, CONFIG.aspectRatio, CONFIG.invert);
76903
- console.log(`Generated colored ASCII: ${coloredAscii.length} rows x ${coloredAscii[0]?.length || 0} columns (scale: ${CONFIG.scale * 100}%)`);
76809
+ var coloredAscii = generated_ascii_art_default;
76904
76810
  function App() {
76905
76811
  const [appConfig, setAppConfig] = import_react30.useState(null);
76906
76812
  const [focusIndex, setFocusIndex] = import_react30.useState(0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pensar/apex",
3
- "version": "0.0.30-canary.0",
3
+ "version": "0.0.31-canary.0",
4
4
  "description": "AI-powered penetration testing CLI tool with terminal UI",
5
5
  "module": "src/tui/index.tsx",
6
6
  "main": "build/index.js",
@@ -20,6 +20,13 @@
20
20
  ],
21
21
  "scripts": {
22
22
  "build": "bun build src/tui/index.tsx --outdir build --target node --format esm --external sharp && bun build scripts/benchmark.ts --outdir build --target node --format esm --external sharp && bun build scripts/quicktest.ts --outdir build --target node --format esm --external sharp && bun build scripts/pentest.ts --outdir build --target node --format esm --external sharp && bun build scripts/swarm.ts --outdir build --target node --format esm --external sharp",
23
+ "generate:ascii": "bun run scripts/generate-ascii-art.ts",
24
+ "build:binary": "bun run generate:ascii && bun build src/cli.ts --compile --outfile pensar",
25
+ "build:binary:macos-arm64": "bun build src/cli.ts --compile --target=bun-darwin-arm64 --outfile dist/pensar-darwin-arm64",
26
+ "build:binary:macos-x64": "bun build src/cli.ts --compile --target=bun-darwin-x64 --outfile dist/pensar-darwin-x64",
27
+ "build:binary:linux-x64": "bun build src/cli.ts --compile --target=bun-linux-x64 --outfile dist/pensar-linux-x64",
28
+ "build:binary:linux-arm64": "bun build src/cli.ts --compile --target=bun-linux-arm64 --outfile dist/pensar-linux-arm64",
29
+ "build:binaries": "bun run generate:ascii && mkdir -p dist && bun run build:binary:macos-arm64 && bun run build:binary:macos-x64 && bun run build:binary:linux-x64 && bun run build:binary:linux-arm64",
23
30
  "dev": "bun run scripts/watch.ts",
24
31
  "dev:debug": "SHOW_CONSOLE=true bun run scripts/watch.ts",
25
32
  "start": "bun run src/tui/index.tsx",