[
  {
    "path": ".github/workflows/claude.yml",
    "content": "name: Claude PR Assistant\n\non:\n  issue_comment:\n    types: [created]\n  pull_request_review_comment:\n    types: [created]\n  issues:\n    types: [opened, assigned]\n  pull_request_review:\n    types: [submitted]\n\njobs:\n  claude-code-action:\n    if: |\n      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||\n      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||\n      (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||\n      (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n      pull-requests: read\n      issues: read\n      id-token: write\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v4\n        with:\n          fetch-depth: 1\n\n      - name: Run Claude PR Action\n        uses: anthropics/claude-code-action@beta\n        with:\n          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}\n          timeout_minutes: \"60\"\n"
  },
  {
    "path": ".github/workflows/test.yml",
    "content": "name: Test\n\non:\n  push:\n    branches:\n      - main\n      - \"codex/**\"\n  pull_request:\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: actions/checkout@v4\n\n      - uses: actions/setup-node@v4\n        with:\n          node-version: 20\n          cache: npm\n\n      - run: npm ci\n      - run: npm test\n      - run: npm run build\n"
  },
  {
    "path": ".gitignore",
    "content": "# for build\ncss/xterm.css\njs/xterm*.js*\njs/aalib.js*\n\nimages/*Zone.Identifier\n\n# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\nlerna-debug.log*\n\n# Diagnostic reports (https://nodejs.org/api/report.html)\nreport.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n*.lcov\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# TypeScript v1 declaration files\ntypings/\n\n# TypeScript cache\n*.tsbuildinfo\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Microbundle cache\n.rpt2_cache/\n.rts2_cache_cjs/\n.rts2_cache_es/\n.rts2_cache_umd/\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variables file\n.env\n.env.test\n\n# parcel-bundler cache (https://parceljs.org/)\n.cache\n\n# Next.js build output\n.next\n\n# Nuxt.js build / generate output\n.nuxt\ndist\n\n# Gatsby files\n.cache/\n# Comment in the public line in if your project uses Gatsby and *not* Next.js\n# https://nextjs.org/blog/next-9-1#public-directory-support\n# public\n\n# vuepress build output\n.vuepress/dist\n\n# Serverless directories\n.serverless/\n\n# FuseBox cache\n.fusebox/\n\n# DynamoDB Local files\n.dynamodb/\n\n# TernJS port file\n.tern-port\n# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pnp\n.pnp.js\n\n# testing\n/coverage\n\n# production\n/build\n\n# misc\n.DS_Store\n.env.local\n.env.development.local\n.env.test.local\n.env.production.local\n\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n.vscode/settings.json\n\n# Local Netlify folder\n.netlify\n\n.DS_Store\n**/.DS_Store\n"
  },
  {
    "path": ".stignore",
    "content": ".git\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules\njspm_packages\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# parcel-bundler cache (https://parceljs.org/)\n.cache\n\n# next.js build output\n.next\n\n# nuxt.js build output\n.nuxt\n\n# vuepress build output\n.vuepress/dist\n\n# Serverless directories\n.serverless\n\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License With Custom Attribution Condition\n\nCopyright (c) 2025 Root Ventures\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\n> You must give Root Ventures a shoutout on at least one (1) of: LinkedIn, X,\npodcast interview, television news interview, your next Annual General Meeting,\nor OnlyFans.\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# cli-website\nWho needs a website when you have a terminal.\n\n[![Netlify Status](https://api.netlify.com/api/v1/badges/f3bfb854-9bc6-40a7-8d4c-2cccd3850764/deploy-status)](https://app.netlify.com/sites/rootvc-cli-website/deploys)\n\n## Basic Commands\n  - help: list all commands\n  - whois root: learn about us\n  - whois [partner]: learn about a partner\n  - tldr: list all portfolio companies\n  - tldr: [company_name]\": learn about a portfolio company\n  - email: reach out to us\n  - twitter: twitter accounts\n  - instagram: instagram account\n  - git: this repo\n  - github: all repos\n  - test: do not use\n  - other: try your favorite linux commands\n\n## Advanced Commands\n - alias\n - cat\n - cd\n - chmod\n - chown\n - clear\n - cp\n - curl\n - df\n - echo\n - emacs\n - exit\n - fdisk\n - find\n - finger\n - free\n - ftp\n - grep\n - groups\n - gzip\n - head\n - history\n - kill\n - less\n - ls\n - man (alias: woman)\n - mkdir\n - more\n - mv\n - nano\n - open\n - passwd\n - pico\n - pine\n - ps\n - pwd\n - quit\n - rm\n - say\n - sftp\n - ssh\n - stop\n - su\n - sudo\n - tail\n - top\n - touch\n - uname\n - vi\n - vim\n - zsh\n\nMissing a favorite one? Make a PR!\n\n## Portfolio CLIs\nFuture project: get the Hello Worlds working for every portfolio company with a CLI or npm/pypi/cargo package\n - esper\n - great_expectations (alias: ge)\n - meroxa\n - okteto\n - particle\n - privacy_dynamics (alias: privacy)\n - zed\n\n## Build Notes\nRun `npm run build` before serving the site locally or deploying.\n\nThat build now:\n - copies and minifies the xterm vendor assets\n - bundles the app boot/runtime code into `js/app.bundle.js`\n - emits a minified lazy-load asset for the RickRoll animation\n\n## Performance Notes\nThe terminal now initializes on `DOMContentLoaded` instead of waiting for `window.onload`, and optional work such as ASCII art preloading happens after the terminal is already usable.\n\nIn local repeated Chromium benchmarks against the previous `HEAD`, median startup timings improved roughly:\n - homepage prompt visible: `1941.7ms` -> `70.1ms`\n - homepage first command rendered: `2076.5ms` -> `223.5ms`\n - `#whois-lee` deep link rendered: `1159.9ms` -> `151.9ms`\n\nLive at: [https://root.vc](https://root.vc).\n\nSpecial thanks to [Jerry Neumann](https://www.linkedin.com/in/jerryneumann/) at [Neu Venture Capital](https://neuvc.com/) for the inspiration for this website concept.\n\nThanks to the team at [divshot](https://www.divshot.com) for the awesome and hilarious [Geocities Bootstrap Theme](https://github.com/divshot/geo-bootstrap).\n\n_aut viam inveniam aut faciam_\n"
  },
  {
    "path": "config/commands.js",
    "content": "// commands.js — Terminal command definitions for the Root Ventures interactive CLI.\n//\n// Each key in `commands` maps to a function that runs when the user types that\n// command. Commands receive `args` as an array of whitespace-split tokens\n// (everything after the command name). They communicate with the user via the\n// global `term` object (see terminal-ext.js for its API).\n//\n// To add a new command, add an entry to `commands` below.\n// To add a simple redirect (alias), add an entry to `_aliases` at the bottom.\n\n// Blurb displayed by `whois root`.\nconst whoisRoot =\n  \"Root Ventures is a San Francisco-based deep tech seed fund. As engineers ourselves, we specialize in leading initial funding for founders tackling new technical opportunities. Our initial investments typically range from $3-5M. With a selective few new deals a year and 2/3 of our funds in reserve, we are committed to being a long-term partner. Try %whois% and one of avidan, kane, chrissy, lee, ben, zodi, or laelah to learn more about our team.\";\n\n// Set to 10 during development to speed up animated sequences (upgrade, etc.).\nconst timeUnit = 1000;\n\n// Tracks whether the user has \"killed\" the fake crypto miner easter egg (pid 337).\nlet killed = false;\n\n// Emits a series of styled strings that the RickRoll animation in rickroll.js\n// interprets as frame pointers. Triggered by `cat id_rsa` or `test`.\nfunction SpawnRickRollPointers() {\n  function padNumber(num, length) {\n    let str = num.toString();\n    while (str.length < length) {\n      str = \"0\" + str;\n    }\n    return str;\n  }\n\n  const colSize = term.cols >= 90 ? 39 : 24;\n\n  for (let i = 0; i <= colSize; i++) {\n    term.stylePrint(\n      `${colorText(`vsabnBRXofjub${padNumber(i, 2)}`, \"command\")}`,\n      false\n    );\n  }\n}\n\nconst commands = {\n\n  // ── Info & Discovery ────────────────────────────────────────────────────────\n\n  // Lists all public commands from help.js, aligned to terminal width.\n  help: function () {\n    const maxCmdLength = Math.max(...Object.keys(help).map((x) => x.length));\n    Object.entries(help).forEach(function (kv) {\n      const cmd = kv[0];\n      const desc = kv[1];\n      if (term.cols >= 80) {\n        const rightPad = maxCmdLength - cmd.length + 2;\n        const sep = \" \".repeat(rightPad);\n        term.stylePrint(`${cmd}${sep}${desc}`);\n      } else {\n        if (cmd != \"help\") {\n          // skip second leading newline\n          term.writeln(\"\");\n        }\n        term.stylePrint(cmd);\n        term.stylePrint(desc);\n      }\n    });\n  },\n\n  // Displays bio and ASCII art portrait for a team member, or the firm blurb.\n  whois: function (args) {\n    const name = args[0];\n    const people = Object.keys(team);\n\n    if (!name) {\n      term.stylePrint(\n        \"%whois%: Learn about the firm, or a partner - usage:\\r\\n\"\n      );\n      term.stylePrint(\"%whois% root\");\n      for (const p of people) {\n        term.stylePrint(`%whois% ${p}`);\n      }\n    } else if (name == \"root\") {\n      const description = whoisRoot;\n      term.printArt(\"rootvc-square\");\n      term.stylePrint(description);\n    } else if (Object.keys(team).includes(name)) {\n      const person = team[name];\n      term.printArt(name);\n      term.stylePrint(\n        `\\r\\n${person[\"name\"]}, ${person[\"title\"]} - ${name}@root.vc`\n      );\n      term.stylePrint(`${person[\"linkedin\"]}\\r\\n`);\n      term.stylePrint(person[\"description\"]);\n    } else {\n      term.stylePrint(`User ${name || \"\"} not found. Try:\\r\\n`);\n      term.stylePrint(\"%whois% root\");\n      for (const p of people) {\n        term.stylePrint(`%whois% ${p}`);\n      }\n    }\n  },\n\n  // Displays info about a portfolio company, or lists all companies.\n  // Each entry is sourced from portfolio.js; companies with a `demo` field\n  // also get a runnable command registered at the bottom of this file.\n  tldr: function (args) {\n    const name = args[0] || \"\";\n    if (!name) {\n      const companies = Object.keys(portfolio);\n      term.stylePrint(\"%tldr%: Learn about a portfolio company - usage:\\r\\n\");\n      for (const c of companies.sort()) {\n        const data = portfolio[c];\n        const tabs = c.length > 10 ? \"\\t\" : \"\\t\\t\";\n        const sep = term.cols >= 76 ? tabs : \"\\r\\n\";\n        term.stylePrint(`%tldr% ${c}${sep}${data[\"url\"]}`);\n        if (term.cols < 76 && c != companies[companies.length - 1]) {\n          term.writeln(\"\");\n        }\n      }\n    } else if (!portfolio[name]) {\n      term.stylePrint(\n        `Portfolio company ${name} not found. Should we talk to them? Email us: hello@root.vc`\n      );\n    } else {\n      const company = portfolio[name];\n      term.cols >= 60 ? term.printArt(name) : term.writeln(\"\");\n      term.stylePrint(company[\"name\"]);\n      term.stylePrint(company[\"url\"]);\n      if (company[\"memo\"]) {\n        term.stylePrint(`Investment Memo: ${company[\"memo\"]}`);\n      }\n      term.stylePrint(\"\");\n      term.stylePrint(company[\"description\"]);\n      if (company[\"demo\"]) {\n        term.stylePrint(`Try it with command: %${name}%`);\n      }\n    }\n  },\n\n  // ── Social & Contact ────────────────────────────────────────────────────────\n\n  git: function () {\n    term.displayURL(\"https://github.com/rootvc/cli-website\");\n  },\n\n  agm: function () {\n    term.openURL(\"http://annualmeeting.root.vc\");\n  },\n\n  github: function () {\n    term.displayURL(\"https://github.com/rootvc\");\n  },\n\n  twitter: function () {\n    term.displayURL(\"https://twitter.com/rootvc\");\n    term.displayURL(\"https://twitter.com/machinepix\");\n  },\n\n  instagram: function () {\n    term.displayURL(\"https://instagram.com/machinepix/\");\n  },\n\n  pine: function () {\n    term.openURL(\"mailto:hello@root.vc\");\n  },\n\n  // ── File System ─────────────────────────────────────────────────────────────\n  // The virtual file system is defined in fs.js. Files are stored as hidden\n  // DOM elements and fetched from GitHub on first load.\n\n  other: function () {\n    term.stylePrint(\n      \"Yeah, I didn't literally mean %other%. I mean try some Linux commands\"\n    );\n  },\n\n  echo: function (args) {\n    const message = args.join(\" \");\n    term.stylePrint(message);\n  },\n\n  say: function (args) {\n    const message = args.join(\" \");\n    term.stylePrint(`(Robot voice): ${message}`);\n  },\n\n  // Expands ~ to /home/<user> to mimic a real shell.\n  pwd: function () {\n    term.stylePrint(\"/\" + term.cwd.replaceAll(\"~\", `home/${term.user}`));\n  },\n\n  ls: function () {\n    term.stylePrint(_filesHere().join(\"   \"));\n  },\n\n  // Simulates a minimal Unix directory tree:\n  //   /\n  //   ├── bin/   (contains zsh)\n  //   └── home/  (contains guest, root, and each team member)\n  //       └── ~/  (the current user's home)\n  //\n  // Team member home dirs are always permission-denied to keep things fun.\n  // Paths are matched by regex before the switch so we don't have to hardcode\n  // team member names here — they're derived from team.js at runtime.\n  cd: function (args) {\n    let dir = args[0] || \"~\";\n    if (dir !== \"/\") {\n      dir = dir.replace(/\\/$/, \"\"); // strip trailing slash\n    }\n\n    const teamMembers = Object.keys(team);\n\n    // ../home/<member> — relative path from ~ or /bin\n    const relativeHomeMatch = dir.match(/^\\.\\.\\/home\\/(.+)$/);\n    if (relativeHomeMatch) {\n      if (term.cwd === \"~\" || term.cwd === \"bin\") {\n        term.command(`cd ${relativeHomeMatch[1]}`);\n      } else {\n        term.stylePrint(`No such directory: ${dir}`);\n      }\n      return;\n    }\n\n    // /home/<member> — absolute path to a home dir\n    const absoluteHomeMatch = dir.match(/^\\/home\\/(.+)$/);\n    if (absoluteHomeMatch) {\n      const member = absoluteHomeMatch[1];\n      if (teamMembers.includes(member)) {\n        term.stylePrint(`You do not have permission to access this directory`);\n      } else {\n        term.stylePrint(`No such directory: ${dir}`);\n      }\n      return;\n    }\n\n    // Bare team member name (e.g. `cd avidan`)\n    if (teamMembers.includes(dir)) {\n      term.stylePrint(`You do not have permission to access this directory`);\n      return;\n    }\n\n    switch (dir) {\n      case \"~\":\n        term.cwd = \"~\";\n        break;\n      case \"..\":\n        if (term.cwd === \"~\") {\n          term.command(\"cd /home\");\n        } else if (term.cwd === \"home\" || term.cwd === \"bin\") {\n          term.command(\"cd /\");\n        }\n        break;\n      // Any deeply nested upward traversal just lands at root.\n      case \"../..\":\n      case \"../../..\":\n      case \"../../../..\":\n      case \"/\":\n        term.cwd = \"/\";\n        break;\n      case \"home\":\n        // `home` alone is only reachable from /\n        if (term.cwd === \"/\") {\n          term.command(\"cd /home\");\n        } else {\n          term.stylePrint(`You do not have permission to access this directory`);\n        }\n        break;\n      case \"/home\":\n        term.cwd = \"home\";\n        break;\n      // guest and root can only cd to their own home\n      case \"guest\":\n      case \"root\":\n        if (term.cwd === \"home\") {\n          if (term.user === dir) {\n            term.command(\"cd ~\");\n          } else {\n            term.stylePrint(`You do not have permission to access this directory`);\n          }\n        } else {\n          term.stylePrint(`No such directory: ${dir}`);\n        }\n        break;\n      case \"/bin\":\n        term.cwd = \"bin\";\n        break;\n      case \"bin\":\n        if (term.cwd === \"/\") {\n          term.cwd = \"bin\";\n        } else {\n          term.stylePrint(`No such directory: ${dir}`);\n        }\n        break;\n      case \".\":\n        break; // no-op\n      default:\n        term.stylePrint(`No such directory: ${dir}`);\n        break;\n    }\n  },\n\n  // Reinitializes the terminal under the current user (simulates a new shell).\n  zsh: function () {\n    term.init(term.user);\n  },\n\n  // Reading id_rsa triggers the RickRoll easter egg.\n  cat: function (args) {\n    const filename = args[0];\n\n    if (_filesHere().includes(filename)) {\n      term.writeln(getFileContents(filename));\n    } else {\n      term.stylePrint(`No such file: ${filename}`);\n    }\n    if (filename == \"id_rsa\") {\n      SpawnRickRollPointers();\n    }\n  },\n\n  // Grepping id_rsa redirects to an appropriate reaction GIF instead.\n  grep: function (args) {\n    const q = args[0];\n    const filename = args[1];\n\n    if (filename == \"id_rsa\") {\n      term.openURL(\"https://i.imgur.com/Q2Unw.gif\");\n    }\n\n    if (!q || !filename) {\n      term.stylePrint(\"usage: %grep% [pattern] [filename]\");\n      return;\n    }\n\n    if (_filesHere().includes(filename)) {\n      let file = getFileContents(filename);\n      const matches = file.matchAll(q);\n      for (const match of matches) {\n        file = file.replaceAll(match[0], colorText(match[0], \"files\"));\n      }\n      term.writeln(file);\n    } else {\n      term.stylePrint(`No such file or directory: ${filename}`);\n    }\n  },\n\n  // `open test.htm` is an easter egg; all other .htm files open in-page.\n  open: function (args) {\n    if (!args.length) {\n      term.stylePrint(\"%open%: open a file - usage:\\r\\n\");\n      term.stylePrint(\"%open% test.htm\");\n    } else if (\n      args[0].split(\".\")[0] == \"test\" &&\n      args[0].split(\".\")[1] == \"htm\"\n    ) {\n      term.openURL(\"https://i.imgur.com/Q2Unw.gif\");\n    } else if (args[0].split(\".\")[1] == \"htm\") {\n      term.openURL(`./${args[0]}`, false);\n    } else if (args.join(\" \") == \"the pod bay doors\") {\n      term.stylePrint(\"I'm sorry Dave, I'm afraid I can't do that.\");\n    } else {\n      term.command(`cat ${args.join(\" \")}`);\n    }\n  },\n\n  find: function (args) {\n    const file = args[0];\n    if (Object.keys(_FILES).includes(file)) {\n      term.stylePrint(_FULL_PATHS[file]);\n    } else {\n      term.stylePrint(`%find%: ${file}: No such file or directory`);\n    }\n  },\n\n  // ── Users & Permissions ─────────────────────────────────────────────────────\n  // These mimic standard Unix user commands. guest and root are the only two\n  // switchable users; team member home dirs are always permission-denied.\n\n  // Reports login info. Team member data comes from team.js.\n  finger: function (args) {\n    const user = args[0];\n    if (user === \"guest\") {\n      term.stylePrint(\"Login: guest            Name: Guest\");\n      term.stylePrint(\"Directory: /home/guest  Shell: /bin/zsh\");\n    } else if (user === \"root\") {\n      term.stylePrint(\"Login: root             Name: That's Us!\");\n      term.stylePrint(\"Directory: /home/root   Shell: /bin/zsh\");\n    } else if (team[user]) {\n      term.stylePrint(`Login: ${user}   Name: ${team[user][\"name\"]}`);\n      term.stylePrint(`Directory: /home/${user}   Shell: /bin/zsh`);\n    } else {\n      term.stylePrint(\n        user ? `%finger%: ${user}: no such user` : \"usage: %finger% [user]\"\n      );\n    }\n  },\n\n  // Group memberships live in each person's entry in team.js.\n  // guest and root have their own special groups defined inline here.\n  groups: function (args) {\n    const user = args[0];\n    const specialGroups = {\n      guest: \"guest lps founders engineers investors\",\n      root: \"wheel investors engineers deep tech firms\",\n    };\n    if (specialGroups[user] !== undefined) {\n      term.stylePrint(specialGroups[user]);\n    } else if (team[user]) {\n      term.stylePrint(team[user].groups);\n    } else {\n      term.stylePrint(\n        user ? `%groups%: ${user}: no such user` : \"usage: %groups% [user]\"\n      );\n    }\n  },\n\n  whoami: function () {\n    term.stylePrint(term.user);\n  },\n\n  passwd: function () {\n    term.stylePrint(\n      \"Wow. Maybe don't enter your password into a sketchy web-based term.command prompt?\"\n    );\n  },\n\n  // Only root can sudo; otherwise logs an incident (just like real life).\n  sudo: function (args) {\n    if (term.user == \"root\") {\n      term.command(args.join(\" \"));\n    } else {\n      term.stylePrint(\n        `${colorText(\n          term.user,\n          \"user\"\n        )} is not in the sudoers file. This incident will be reported`\n      );\n    }\n  },\n\n  // Switch between the two valid users: guest and root.\n  su: function (args) {\n    const user = args[0] || \"root\";\n\n    if (user == \"root\" || user == \"guest\") {\n      term.user = user;\n      term.command(\"cd ~\");\n    } else {\n      term.stylePrint(\"su: Sorry\");\n    }\n  },\n\n  chown: function () {\n    term.stylePrint(\"You do not have permission to %chown%\");\n  },\n\n  chmod: function () {\n    term.stylePrint(\"You do not have permission to %chmod%\");\n  },\n\n  mv: function (args) {\n    const src = args[0];\n\n    if (_filesHere().includes(src)) {\n      term.stylePrint(`You do not have permission to move file ${src}`);\n    } else {\n      term.stylePrint(`%mv%: ${src}: No such file or directory`);\n    }\n  },\n\n  cp: function (args) {\n    const src = args[0];\n\n    if (_filesHere().includes(src)) {\n      term.stylePrint(`You do not have permission to copy file ${src}`);\n    } else {\n      term.stylePrint(`%cp%: ${src}: No such file or directory`);\n    }\n  },\n\n  touch: function () {\n    term.stylePrint(\"You can't %touch% this\");\n  },\n\n  // ── Process & System ────────────────────────────────────────────────────────\n\n  // Shows a fake process list. PID 337 is a fake crypto miner that stays\n  // visible until the user runs `kill 337`.\n  ps: function () {\n    term.stylePrint(\"PID TTY       TIME CMD\");\n    term.stylePrint(\"424 ttys00 0:00.33 %-zsh%\");\n    term.stylePrint(\"158 ttys01 0:09.70 %/bin/npm start%\");\n    term.stylePrint(\"767 ttys02 0:00.02 %/bin/sh%\");\n    if (!killed) {\n      term.stylePrint(\"337 ttys03 0:13.37 %/bin/cgminer -o pwn.d%\");\n    }\n  },\n\n  // `kill 337` disables the fake crypto miner shown in `ps`.\n  kill: function (args) {\n    if (args && args.slice(-1) == 337) {\n      killed = true;\n      term.stylePrint(\"Root Ventures crypto miner disabled.\");\n    } else {\n      term.stylePrint(\"You can't kill me!\");\n    }\n  },\n\n  locate: function () {\n    term.stylePrint(\"Root Ventures\");\n    term.stylePrint(\"2670 Harrison St\");\n    term.stylePrint(\"San Francisco, CA 94110\");\n  },\n\n  history: function () {\n    term.history.forEach((element, index) => {\n      term.stylePrint(`${1000 + index}  ${element}`);\n    });\n  },\n\n  uname: function (args) {\n    switch (args[0]) {\n      case \"-a\":\n        term.stylePrint(\n          \"RootPC rootpc 0.0.1 RootPC Kernel Version 0.0.1 root:xnu-31415.926.5~3/RELEASE_X86_64 x86_64\"\n        );\n        break;\n      case \"-mrs\":\n        term.stylePrint(\"RootPC 0.0.1 x86_64\");\n        break;\n      default:\n        term.stylePrint(\"RootPC\");\n    }\n  },\n\n  ping: function () {\n    term.stylePrint(\"pong\");\n  },\n\n  // Opens the GeoCities-style welcome page (welcome.htm).\n  exit: function () {\n    term.command(\"open welcome.htm\");\n  },\n\n  // Reinitializes the terminal, clearing history and resetting the prompt.\n  clear: function () {\n    term.init();\n  },\n\n  // ── Easter Eggs & Jokes ─────────────────────────────────────────────────────\n\n  gzip: function () {\n    term.stylePrint(\n      \"What are you going to do with a zip file on a fake terminal, seriously?\"\n    );\n  },\n\n  free: function () {\n    term.stylePrint(\"Honestly, our memory isn't what it used to be.\");\n  },\n\n  rm: function () {\n    term.stylePrint(\"I'm sorry Dave, I'm afraid I can't do that.\");\n  },\n\n  mkdir: function () {\n    term.stylePrint(\"Come on, don't mess with our immaculate file system.\");\n  },\n\n  alias: function () {\n    term.stylePrint(\"Just call me HAL.\");\n  },\n\n  df: function () {\n    term.stylePrint(\"Nice try. Just get a Dropbox.\");\n  },\n\n  // Editor wars — each editor points you to a different one.\n  emacs: function () {\n    term.stylePrint(\"%emacs% not installed. try: %vi%\");\n  },\n\n  vim: function () {\n    term.stylePrint(\"%vim% not installed. try: %emacs%\");\n  },\n\n  vi: function () {\n    term.stylePrint(\"%vi% not installed. try: %emacs%\");\n  },\n\n  pico: function () {\n    term.stylePrint(\"%pico% not installed. try: %vi% or %emacs%\");\n  },\n\n  nano: function () {\n    term.stylePrint(\"%nano% not installed. try: %vi% or %emacs%\");\n  },\n\n  // Cross-origin policy joke — all network commands hit this wall.\n  curl: function (args) {\n    term.stylePrint(\n      `Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource ${args[0]}. Use a real terminal.`\n    );\n  },\n\n  // scp gets a more redacted treatment than curl.\n  scp: function (args) {\n    term.stylePrint(\n      `████████████ Request Blocked: The ███████████ Policy disallows reading the ██████ resource ${args[0]}.`\n    );\n  },\n\n  zed: function () {\n    term.stylePrint(\"Coming soon! ;)\");\n  },\n\n  eval: function (args) {\n    term.stylePrint(\n      \"please instead build a webstore with macros. in the meantime, the result is: \" +\n        eval(args.join(\" \"))\n    );\n  },\n\n  test: function () {\n    SpawnRickRollPointers();\n    if (typeof window.ensureRickRollLoaded === \"function\") {\n      window.ensureRickRollLoaded().then(() => {\n        window.requestAnimationFrame(() => {\n          window.requestAnimationFrame(() => {\n            if (typeof RickRoll === \"function\") {\n              RickRoll();\n            }\n          });\n        });\n      });\n    }\n  },\n\n  // ── Upgrade ─────────────────────────────────────────────────────────────────\n\n  // Animated sequence that \"upgrades\" the terminal to fund version 4.0.\n  // Locks the terminal during the animation to block user input.\n  upgrade: async function (args) {\n    term.VERSION = 4;\n    term.init();\n    term.locked = true;\n    term.write(\n      `\\r\\n${colorText(\n        \"==>\",\n        \"hyperlink\"\n      )} Downloading https://ghcr.io/v2/homebrew/core/rootvc/manifests/4.0.0`\n    );\n    await term.progressBar(4 * timeUnit);\n    term.write(\n      `\\r\\n${colorText(\n        \"==>\",\n        \"hyperlink\"\n      )} Downloading https://ghcr.io/v2/homebrew/core/go/blobs/sha256:51869c798355307b59992918e9a595c53072d7a29458dbe5b8d105b63d3dd1c0`\n    );\n    await term.progressBar(2 * timeUnit);\n    term.write(\n      `\\r\\n${colorText(\n        \"==>\",\n        \"hyperlink\"\n      )} Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:51869c798355307b59992918e9a595c53072d7a29458dbe5b8d105b6`\n    );\n    await term.progressBar(1 * timeUnit);\n    term.write(\n      `\\r\\n${colorText(\"==>\", \"hyperlink\")} npm install left-pad@latest`\n    );\n    await term.progressBar(0.5 * timeUnit);\n\n    await term.delayStylePrint(\"\\r\\n\", 1 * timeUnit);\n    await term.dottedPrint(\"Calculating new fund size\", 3);\n    await term.delayPrint(\n      `Updated fund size:          ${colorText(\"$190M\", \"prompt\")}\\r\\n`,\n      1 * timeUnit\n    );\n    await term.delayPrint(\n      `Updated typical check size: ${colorText(\"up to $5M\", \"prompt\")}\\r\\n`,\n      1 * timeUnit\n    );\n    await term.delayPrint(\n      `Found mission:              ${colorText(\n        \"Seeding bold engineers.\",\n        \"user\"\n      )}\\r\\n`,\n      1 * timeUnit\n    );\n    await term.delayPrint(\n      `Thesis (no update):         ${colorText(\n        \"Investing at the earliest stages of technical founders taking engineering risk.\",\n        \"user\"\n      )}\\r\\n`,\n      1 * timeUnit\n    );\n\n    await term.delayStylePrint(\n      `\\r\\n${colorText(\n        \"You are now running Root Ventures version 4.0.\",\n        \"hyperlink\"\n      )}\\r\\n`,\n      1 * timeUnit\n    );\n    await term.delayStylePrint(\n      `To learn more about this release, RTFM at: ${colorText(\n        \"https://bit.ly/rvfund4\",\n        \"hyperlink\"\n      )}\\r\\n`,\n      0.5 * timeUnit\n    );\n    await term.delayStylePrint(\n      `or remote into our coffee grinder at: ${colorText(\n        \"https://rootventures.coffee\",\n        \"hyperlink\"\n      )}\\r\\n`,\n      0.5 * timeUnit\n    );\n    await term.delayPrint(\n      \"Note that VERSION 4.0 is an unstable build of the terminal.\\r\\n\",\n      1 * timeUnit\n    );\n    await term.delayPrint(\"Please report any bugs you find.\\r\\n\", 1 * timeUnit);\n\n    term.stylePrint(\n      `\\r\\nType ${colorText(\n        \"help\",\n        \"command\"\n      )} to get started. Or type ${colorText(\n        \"exit\",\n        \"command\"\n      )} for web version.`,\n      false\n    );\n\n    term.prompt();\n    term.clearCurrentLine();\n    term.locked = false;\n  },\n\n  // ── Jobs & Recruiting ────────────────────────────────────────────────────────\n  // Job data lives in jobs.js. Each job is an array of lines where index 0\n  // is the title and the rest is the description shown by `fg`.\n\n  jobs: function () {\n    const jobIds = Object.keys(jobs);\n    if (jobIds.length === 0) {\n      term.stylePrint(`No jobs currently found. Check back later.`);\n    } else {\n      term.stylePrint(`Open positions:\\r\\n`);\n      jobIds.forEach((id) => {\n        const jobTitle = jobs[id][0];\n        term.stylePrint(`[${id}] ${jobTitle}`);\n      });\n      term.stylePrint(`\\r\\nUse %fg% [job_id] to view details, or %apply% [job_id] to apply.`);\n    }\n  },\n\n  bg: function (args) {\n    term.stylePrint(\n      `Sorry. If you want to background one of these jobs, you'll need to help us fill it. Try %fg% ${args} instead.`\n    );\n  },\n\n  // Prints all lines of a job listing.\n  fg: function (args) {\n    const job = jobs[args];\n\n    if (job) {\n      job.map((line) => term.stylePrint(line));\n      term.stylePrint(`\\r\\n%apply% ${args} to apply!`);\n    } else {\n      term.stylePrint(`job id ${args} not found.`);\n    }\n  },\n\n  // Multi-step async application form. The terminal is locked during collection\n  // so normal keypress handling is suspended. Returns 1 to tell the main input\n  // loop not to re-render the prompt — the async IIFE does that itself when done.\n  //\n  // collectInput() resolves to: a string on submit, \"\" if skipped (optional\n  // fields), or null on Ctrl+C. Null means the user cancelled.\n  apply: function (args) {\n    if (args == 1 || (args.length > 0 && args[0] == 1)) {\n      term.locked = true;\n\n      (async () => {\n        // Shared cancellation handler — restores the terminal to a usable state.\n        const cancel = () => {\n          term.stylePrint(\"\\r\\nApplication cancelled.\");\n          term.prompt();\n          term.clearCurrentLine(true);\n          term.locked = false;\n        };\n\n        term.stylePrint(\n          \"Great! Let's get your application started. (Press Ctrl+C to cancel at any time)\\r\\n\"\n        );\n\n        const name = await term.collectInput(\"What's your name?\");\n        if (!name) { cancel(); return; }\n\n        const email = await term.collectInput(\"Email address\");\n        if (!email) { cancel(); return; }\n\n        const linkedin = await term.collectInput(\"LinkedIn profile URL\", true);\n        if (linkedin === null) { cancel(); return; }\n\n        const github = await term.collectInput(\"GitHub username\", true);\n        if (github === null) { cancel(); return; }\n\n        const notes = await term.collectInput(\n          \"Why Root? What makes you a great fit?\",\n          true\n        );\n        if (notes === null) { cancel(); return; }\n\n        term.stylePrint(\"\\r\\nSubmitting application...\");\n\n        try {\n          const response = await fetch(\"/.netlify/functions/submit-application\", {\n            method: \"POST\",\n            headers: { \"Content-Type\": \"application/json\" },\n            body: JSON.stringify({\n              name,\n              email,\n              linkedin: linkedin || undefined,\n              github: github || undefined,\n              notes: notes || undefined,\n              position: \"Venture Capital Associate\",\n            }),\n          });\n\n          const result = await response.json();\n\n          if (response.ok) {\n            term.stylePrint(\n              `\\r\\n${colorText(\"✓\", \"prompt\")} Application submitted successfully!`\n            );\n            term.stylePrint(\n              \"\\r\\nThanks for applying! We'll review your application and get back to you soon.\"\n            );\n            term.stylePrint(\n              `\\r\\nIn the meantime, check out our portfolio with ${colorText(\n                \"tldr\",\n                \"command\"\n              )} or learn more about the team with ${colorText(\n                \"whois\",\n                \"command\"\n              )}.`\n            );\n          } else {\n            throw new Error(result.error || \"Submission failed\");\n          }\n        } catch (error) {\n          term.stylePrint(\n            `\\r\\n${colorText(\"✗\", \"user\")} Error submitting application: ${error.message}`\n          );\n          term.stylePrint(\n            \"\\r\\nPlease try again or email us directly at hello@root.vc\"\n          );\n        }\n\n        term.prompt();\n        term.clearCurrentLine(true);\n        term.locked = false;\n      })();\n\n      // Return 1 synchronously so terminal.js skips its automatic prompt render.\n      return 1;\n    } else if (!args || args == \"\" || args.length === 0) {\n      term.stylePrint(\n        \"Please provide a job id. Use %jobs% to list all current jobs.\"\n      );\n    } else {\n      term.stylePrint(\n        `Job id ${args[0]} not found. Use %jobs% to list all current jobs.`\n      );\n    }\n  },\n};\n\n// ── Portfolio Demo Commands ────────────────────────────────────────────────────\n// For any portfolio company that has a `demo` URL, register a command with the\n// company's key that opens the demo. E.g. `meroxa` opens meroxa's demo URL.\nfor (const [key, val] of Object.entries(portfolio)) {\n  if (val[\"demo\"]) {\n    commands[key] = () => term.displayURL(val[\"demo\"]);\n  }\n}\n\n// Returns the list of files visible in the current directory.\n// README.md is hidden from guest — root can see everything.\nfunction _filesHere() {\n  return _DIRS[term.cwd].filter((e) => e != \"README.md\" || term.user == \"root\");\n}\n\n// ── Aliases ───────────────────────────────────────────────────────────────────\n// Simple one-to-one redirects. Each alias forwards its args to the target\n// command. Chains are fine — ge → great_expectations → superconductive.\nconst _aliases = {\n  // Standard file viewing aliases\n  tail: \"cat\", less: \"cat\", head: \"cat\", more: \"cat\",\n  // Network commands all hit the same CORS wall\n  ftp: \"curl\", ssh: \"curl\", sftp: \"curl\",\n  // man/woman both show the tldr for a portfolio company\n  man: \"tldr\", woman: \"tldr\",\n  // Session control\n  quit: \"exit\", stop: \"exit\",\n  // Process management\n  killall: \"kill\",\n  top: \"ps\",\n  fdisk: \"rm\",\n  // Contact shortcuts\n  email: \"pine\",\n  insta: \"instagram\",\n  // Portfolio easter egg chains\n  ge: \"great_expectations\",\n  great_expectations: \"superconductive\",\n  privacy: \"privacy_dynamics\",\n};\nfor (const [alias, target] of Object.entries(_aliases)) {\n  commands[alias] = (args) => term.command([target, ...args].join(\" \").trim());\n}\n"
  },
  {
    "path": "config/fs.js",
    "content": "// fs.js — Virtual file system for the Root Ventures terminal.\n//\n// Since there's no real file system in the browser, files are stored as hidden\n// <div> elements in the DOM (inside #files-all). Content is written to\n// div.innerText on load and read back via div.innerHTML when accessed —\n// the browser's HTML entity encoding/decoding is what necessitates the\n// replaceAll() calls in getFileContents().\n//\n// Remote files (README.md, welcome.htm) are fetched from GitHub on first load\n// and inserted into the DOM the same way. Local files are inserted directly.\n\n// Files with hardcoded content that don't need to be fetched.\nconst _LOCAL_FILES = {\n  \"id_rsa\": \"Nice try!\",\n};\n\n// Files fetched from GitHub at startup. The key is used as the DOM element ID.\nconst _REMOTE_FILES = {\n  \"README.md\": \"https://raw.githubusercontent.com/rootvc/cli-website/main/README.md\",\n  \"welcome.htm\": \"https://raw.githubusercontent.com/rootvc/cli-website/main/welcome.htm\",\n};\n\n// Combined map of all known files (used by `find`).\nconst _FILES = {\n  ..._LOCAL_FILES,\n  ..._REMOTE_FILES,\n}\n\n// Directory structure. \"home\" is populated dynamically from team.js so we\n// don't have to update it when team members are added or removed.\nconst _DIRS = {\n  \"~\": [\"id_rsa\", \"welcome.htm\", \"README.md\"],\n  \"bin\": [\"zsh\"],\n  \"home\": Object.keys(team).concat(\"guest\", \"root\").sort(),\n  \"/\": [\"bin\", \"home\"],\n};\n\n// Pre-compute absolute paths for every known file, used by `find`.\nlet _FULL_PATHS = {};\nlet _LOADING_FILES = {};\nfor (const [key, values] of Object.entries(_DIRS)) {\n  for (const value of values) {\n    switch (key) {\n      case \"~\":\n        _FULL_PATHS[value] = `${key}/${value}`;\n        break;\n      case \"/\":\n        _FULL_PATHS[value] = `/${value}`;\n        break;\n      default:\n        _FULL_PATHS[value] = `/${key}/${value}`;\n    }\n  }\n}\n\n// Called at terminal init to populate the DOM with file content.\nfunction preloadFiles() {\n  for (const name of Object.keys(_REMOTE_FILES)) {\n    _loadFile(name);\n  }\n\n  for (const [name, content] of Object.entries(_LOCAL_FILES)) {\n    _insertFileToDOM(name, content);\n  }\n}\n\n// Fetches a remote file and inserts it into the DOM when ready.\nfunction _loadFile(name) {\n  if (document.getElementById(name)) {\n    return Promise.resolve();\n  }\n\n  if (_LOADING_FILES[name]) {\n    return _LOADING_FILES[name];\n  }\n\n  _LOADING_FILES[name] = fetch(_REMOTE_FILES[name])\n    .then(response => response.text())\n    .then((body) => _insertFileToDOM(name, body))\n    .finally(() => {\n      delete _LOADING_FILES[name];\n    });\n\n  return _LOADING_FILES[name];\n}\n\nfunction ensureFileLoaded(name) {\n  if (!_FILES[name]) {\n    return Promise.resolve();\n  }\n\n  if (document.getElementById(name)) {\n    return Promise.resolve();\n  }\n\n  if (_REMOTE_FILES[name]) {\n    return _loadFile(name);\n  }\n\n  if (_LOCAL_FILES[name]) {\n    _insertFileToDOM(name, _LOCAL_FILES[name]);\n  }\n\n  return Promise.resolve();\n}\n\nfunction getPreloadFileForCommand(cmd, args) {\n  const filename = args[0];\n  if (!filename) {\n    return null;\n  }\n\n  if ([\"cat\", \"grep\"].includes(cmd) && _REMOTE_FILES[filename]) {\n    return filename;\n  }\n\n  return null;\n}\n\n// Stores file content as the innerText of a <div id=\"{name}\"> inside #files-all.\n// innerText is used (vs innerHTML) so the content is treated as plain text and\n// won't be interpreted as HTML markup.\nfunction _insertFileToDOM(name, txt) {\n  const parentDiv = document.getElementById(\"files-all\");\n  let div = document.getElementById(name);\n\n  if (!div) {\n    div = document.createElement(\"div\");\n    div.id = name;\n    parentDiv.appendChild(div);\n  }\n  div.innerText = txt;\n  return txt;\n}\n\n// Retrieves file content from the DOM. We read innerHTML (not innerText) because\n// the browser HTML-encodes the plain text when it was written — innerHTML gives\n// us the encoded form, which we then manually decode back to the original chars.\nfunction getFileContents(filename) {\n  const div = document.getElementById(filename);\n  if (!div) {\n    if (_REMOTE_FILES[filename]) {\n      _loadFile(filename);\n      return `Loading ${filename}. Try again in a moment.`;\n    }\n\n    return `File not found: ${filename}`;\n  }\n\n  return div.innerHTML\n    .replaceAll(\"<br>\", \"\\r\\n\")\n    .replaceAll(\"&gt;\", \">\")\n    .replaceAll(\"&lt;\", \"<\");\n}\n"
  },
  {
    "path": "config/help.js",
    "content": "const help = {\n  \"%help%\": \"list all commands (you're looking at it)\",\n  \"%whois%\": \"list all partners\",\n  \"%whois% [partner]\": \"learn about a partner\",\n  \"%whois% root\": \"learn about us\",\n  \"%tldr%\": \"list all portfolio companies\",\n  \"%tldr% [company_name]\": \"learn about a portfolio company\",\n  \"%email%\": \"reach out to us\",\n  \"%twitter%\": \"twitter accounts\",\n  \"%instagram%\": \"instagram account\",\n  \"%git%\": \"this repo\",\n  \"%github%\": \"all repos\",\n  \"%locate%\": \"physical address\",\n  \"%jobs%\": \"check out our job openings\",\n  \"%test%\": \"do not use\",\n  \"%upgrade%\": \"upgrade to the latest version of Root Ventures\",\n  \"%other%\": \"try your fav commands (e.g. %ls%, %groups%, %su%)\",\n};\n"
  },
  {
    "path": "config/jobs.js",
    "content": "const jobs = {\n  1: [\n    \"Venture Capital Associate\",\n    \"\",\n    \"Root Ventures is looking for a technical associate to join our team in San Francisco.\",\n    \"\",\n    \"We're a deep tech seed fund that invests in bold engineers building the future.\",\n    \"As an associate, you'll work directly with partners to source deals, conduct\",\n    \"technical diligence, and support portfolio companies.\",\n    \"\",\n    \"What we're looking for:\",\n    \"  • Strong technical background (CS degree, engineering experience, or equivalent)\",\n    \"  • Genuine curiosity about emerging technologies and startups\",\n    \"  • Excellent communication skills - you can explain complex tech simply\",\n    \"  • Hustle and resourcefulness - you figure things out\",\n    \"  • Passion for working with technical founders\",\n    \"\",\n    \"Bonus points:\",\n    \"  • You've built side projects or contributed to open source\",\n    \"  • You're active in technical communities\",\n    \"  • You have startup experience\",\n    \"\",\n    \"This is a rare opportunity to learn venture capital from experienced operators\",\n    \"and work with some of the most innovative technical founders in the world.\",\n  ],\n};\n"
  },
  {
    "path": "config/portfolio.js",
    "content": "const portfolio = {\n  esper: {\n    name: \"Esper\",\n    url: \"https://esper.io\",\n    description:\n      \"Esper is devops for devices, allowing teams to seamlessly build and manage enterprise hardware.\",\n    memo: null,\n    demo: \"https://esper.io/signup\",\n  },\n\n  meroxa: {\n    name: \"Meroxa\",\n    url: \"https://meroxa.com\",\n    description:\n      \"Meroxa is a platform for software engineers to build mature, scalable data engineering infrastructure with a single command.\",\n    memo: \"https://github.com/rootvc/investment-memos/blob/main/meroxa.md\",\n    demo: \"https://meroxa.com/#data-warehouse\",\n  },\n\n  particle: {\n    name: \"Particle\",\n    url: \"https://particle.io\",\n    description:\n      \"Particle is the largest professional IoT development platform.\",\n    demo: \"https://docs.particle.io/\",\n  },\n\n  daily: {\n    name: \"Daily\",\n    url: \"https://daily.co\",\n    description:\n      \"Daily makes it easier for developers to add video to websites and apps.\",\n    demo: \"https://docs.daily.co/docs/introduction-1\",\n  },\n\n  hash: {\n    name: \"HASH\",\n    url: \"https://hash.ai\",\n    description:\n      \"HASH is an open-source, self-building database that grows and maintains a typed graph of entities on your behalf.\",\n    demo: \"https://app.hash.ai/\",\n  },\n\n  superconductive: {\n    name: \"Superconductive\",\n    url: \"https://superconductive.ai\",\n    description:\n      \"Superconductive is a SaaS platform for verifying and enforcing data integrity at every stage of the lifecycle of data in an organization.\",\n    demo: \"https://docs.greatexpectations.io/en/latest/guides/tutorials/quick_start.html#tutorials-quick-start\",\n  },\n\n  okteto: {\n    name: \"Okteto\",\n    url: \"https://okteto.com\",\n    description: \"Okteto is the best emphemeral environment for developers.\",\n    demo: \"https://okteto.com/docs/getting-started/index.html\",\n  },\n\n  privacy_dynamics: {\n    name: \"Privacy Dynamics\",\n    url: \"https://privacydynamics.io\",\n    description:\n      \"Privacy Dynamics ensures your customers' data privacy without slowing down your team.\",\n    demo: \"https://privacydynamics.io/demo/contact\",\n  },\n\n  nautilus: {\n    name: \"Nautilus Labs\",\n    url: \"https://nautiluslabs.com\",\n    description:\n      \"Nautilus Labs allows maritime fleets to optimize shipping routes and energy costs in real time.\",\n  },\n\n  ntopology: {\n    name: \"nTopology\",\n    url: \"https://ntopology.com\",\n    description: \"nTopology is the future of mechanical engineering software.\",\n  },\n\n  tortuga: {\n    name: \"Tortuga AgTech\",\n    url: \"https://tortugaagtech.com\",\n    description: \"Tortuga automates agriculture for high value produce.\",\n  },\n\n  instrumental: {\n    name: \"Instrumental\",\n    url: \"https://instrumental.com\",\n    description:\n      \"Instrumental generates real time insights for mass manufacturing.\",\n  },\n\n  stellar: {\n    name: \"Stellar Pizza\",\n    url: \"https://eatstellarpizza.com\",\n    description:\n      \"Stellar Pizza is building the future of automated food production.\",\n  },\n\n  versatile: {\n    name: \"Versatile\",\n    url: \"https://versatile.ai\",\n    description:\n      \"Versatile is an onsite construction data provider for accelerating schedules.\",\n  },\n\n  dusty: {\n    name: \"Dusty Robotics\",\n    url: \"https://dustyrobotics.com\",\n    description:\n      \"Dusty Robotics automates layout in complex construction projects.\",\n  },\n\n  thruwave: {\n    name: \"ThruWave\",\n    url: \"https://thruwave.com\",\n    description:\n      \"Thruwave increases the efficiency and transparency of high volume logistics operations.\",\n  },\n\n  seismic: {\n    name: \"Seismic\",\n    url: \"https://myseismic.com\",\n    description:\n      \"Seismic augments strength and safety for workers through soft robotics.\",\n  },\n\n  seam: {\n    name: \"Seam\",\n    url: \"https://getseam.com\",\n    description: \"Seam provides an API for managing building systems.\",\n  },\n\n  chargelab: {\n    name: \"ChargeLab\",\n    url: \"https://chargelab.co\",\n    description:\n      \"ChargeLab builds API- and software-defined EV charging networks.\",\n  },\n\n  wildtype: {\n    name: \"Wildtype Foods\",\n    url: \"https://wildtypefoods.com\",\n    description:\n      \"Wildtype creates organic, clean, high-quality, animal-free meat.\",\n  },\n\n  nordsense: {\n    name: \"Nordsense\",\n    url: \"https://nordsense.com\",\n    description:\n      \"Nordsense optimizes pickup routes for waste management fleets.\",\n  },\n\n  trucklabs: {\n    name: \"TruckLabs\",\n    url: \"https://trucklabs.com\",\n    description:\n      \"Trucklabs reduces fuel costs and increases profit margins for long haul trucking fleets.\",\n  },\n\n  sensable: {\n    name: \"Sensable\",\n    url: \"https://getsensable.com\",\n    description:\n      \"Sensable generates real-time industrial engineering insights.\",\n  },\n\n  crux: {\n    name: \"Crux\",\n    url: \"https://cruxocm.com\",\n    description: \"Crux automates critical energy infrastructure.\",\n  },\n\n  iasql: {\n    name: \"IaSQL\",\n    url: \"https://iasql.com\",\n    description:\n      \"IaSQL is the next evolution of infrastructure management, allowing you to manage your infra in a database instead of stateless config files.\",\n  },\n\n  mashgin: {\n    name: \"Mashgin\",\n    url: \"https://mashgin.com\",\n    description: \"Mashgin automates self-checkout.\",\n  },\n\n  creator: {\n    name: \"Creator\",\n    url: \"https://creator.rest\",\n    description: \"Creator builds fully autonomous hamburger robots.\",\n  },\n\n  apolloshield: {\n    name: \"ApolloShield\",\n    url: \"https://apolloshield.com\",\n    description:\n      \"ApolloShield safeguards airspace from autonomous and remote piloted aircraft.\",\n  },\n\n  skycatch: {\n    name: \"Skycatch\",\n    url: \"https://skycatch.com\",\n    description:\n      \"Skycatch provides high resolution 3D mapping and modeling of high-value infrastructure.\",\n  },\n\n  shaper: {\n    name: \"Shaper\",\n    url: \"https://shapertools.com\",\n    description:\n      \"Shaper Tools makes the Origin, a handheld, auto-correcting CNC.\",\n  },\n\n  cape: {\n    name: \"Cape\",\n    url: \"https://capenetworks.com\",\n    description:\n      \"Cape Networks allows IT professionals to monitor, text, and repair enterprise networks remotely.\",\n  },\n\n  righthook: {\n    name: \"Righthook\",\n    url: \"https://righthook.io\",\n    description:\n      \"Righthook reduces the time and cost required to develop autonomous vehicles.\",\n  },\n\n  sixwheel: {\n    name: \"SixWheel\",\n    url: \"https://sixwheel.com\",\n    description:\n      \"SixWheel brings autonomy and electrification to long haul trucking operations.\",\n  },\n\n  radical: {\n    name: \"Radical\",\n    url: \"https://radicalsemiconductor.com\",\n    description:\n      \"Radical Semiconductor provides hardware security down to the individual IC.\",\n  },\n\n  zed: {\n    name: \"Zed\",\n    url: \"https://zed.dev\",\n    description:\n      \"Zed is a fully-native desktop code editor focused on high performance, clean design, and real-time collaboration.\",\n  },\n\n  kayhan: {\n    name: \"Kayhan\",\n    url: \"https://kayhan.space\",\n    description:\n      \"Kayhan’s spaceflight operations platform allows satellite operators to focus on their core mission.\",\n  },\n\n  allspice: {\n    name: \"AllSpice\",\n    url: \"https://allspice.io\",\n    description: \"Collaboration and testing platform for hardware teams.\",\n  },\n\n  quilter: {\n    name: \"Quilter\",\n    url: \"https://quilter.ai\",\n    description: \"Automated design tools for electrical engineers.\",\n  },\n\n  adept: {\n    name: \"Adept\",\n    url: \"https://adept.ai\",\n    description: \"Useful general intelligence.\",\n  },\n\n  aperture: {\n    name: \"Aperture Data\",\n    url: \"https://aperturedata.io\",\n    description:\n      \"Aperture manage images and videos with a database purpose-built for data science and machine learning.\",\n  },\n\n  supertokens: {\n    name: \"SuperTokens\",\n    url: \"https://supertokens.io\",\n    description:\n      \"SuperTokens is the best Open Source solution for user authentication.\",\n  },\n\n  fudge: {\n    name: \"Fudge\",\n    url: \"https://fudge.ai\",\n    description:\n      \"Fudge is the best way to speed up your website to improve conversion rates and increase revenue.\",\n  },\n\n  kodra: {\n    name: \"Kodra\",\n    url: \"https://kodra.ai\",\n    description: \"Fast dataset curation for machine learning.\",\n  },\n\n  topologic: {\n    name: \"Topologic\",\n    url: \"https://topologic.io\",\n    description: \"Design and automation software for textile manufacturing.\",\n  },\n\n  ruby: {\n    name: \"Ruby Robotics\",\n    url: \"https://ruby-robotics.com\",\n    description:\n      \"Robotics and AI to autonomously prepare, image, and assess tissue during biopsy procedures.\",\n  },\n\n  instance: {\n    name: \"Instance\",\n    url: \"https://instance.bio\",\n    description: \"Instance is the fastest way to synthesize DNA.\",\n  },\n\n  cady: {\n    name: \"CADY Solutions\",\n    url: \"https://cadysolutions.com\",\n    description: \"CADY automates the electrical schematic analysis process.\",\n  },\n\n  sublayer: {\n    name: \"Sublayer\",\n    url: \"https://sublayer.com\",\n    description: \"Sublayer is AI-assisted coding that works the way you do.\",\n  },\n\n  nullify: {\n    name: \"Nullify\",\n    url: \"https://nullify.ai\",\n    description:\n      \"Nullify performs product security tasks alongside your developers.\",\n  },\n\n  trieve: {\n    name: \"Trieve\",\n    url: \"https://trieve.ai\",\n    description:\n      \"Trieve provides infrastructure for building AI search into your applications.\",\n  },\n\n  breakpoint: {\n    name: \"Breakpoint AI\",\n    url: \"https://setbreakpoint.com\",\n    description:\n      \"Breakpoint uses AI to detect failures in computer vision models and re-trains them to prevent future issues.\",\n  },\n\n  determinate: {\n    name: \"Determinate Systems\",\n    url: \"https://determinate.systems\",\n    description:\n      \"Determinate provides enterprise-grade solutions for Nix package management.\",\n  },\n\n  genalpha: {\n    name: \"Gen Alpha\",\n    url: \"https://www.generation-alpha-transistor.com\",\n    description:\n      \"Gen Alpha builds AI copilots for analog and mixed-signal chip design to streamline workflows.\",\n  },\n\n  hunch: {\n    name: \"Hunch\",\n    url: \"https://hunchdata.com\",\n    description:\n      \"Hunch provides collaborative data exploration and visualization tools for non-technical users.\",\n  },\n\n  illoca: {\n    name: \"Illoca\",\n    url: \"https://illoca.com\",\n    description:\n      \"Illoca accelerates commercial architecture workflows with generative AI for AEC software.\",\n  },\n\n  integrated: {\n    name: \"Integrated Biosciences\",\n    url: \"https://integratebio.co\",\n    description:\n      \"Integrated uses optogenetics and ML to discover drugs for neurodegenerative and age-related diseases.\",\n  },\n\n  latent: {\n    name: \"Latent Technology\",\n    url: \"https://latent-technology.com\",\n    description:\n      \"Latent helps animators and game developers create life-like 3D assets with AI-powered tools.\",\n  },\n\n  patterns: {\n    name: \"Patterns\",\n    url: \"https://patterns.app\",\n    description:\n      \"Patterns provides tools and infrastructure for developing modern AI applications efficiently.\",\n  },\n\n  subtrace: {\n    name: \"Subtrace\",\n    url: \"https://subtrace.dev\",\n    description:\n      \"Subtrace automatically tracks all HTTP requests coming in and going out of your production backend.\",\n  },\n\n  digichem: {\n    name: \"Digichem\",\n    url: \"https://www.digichem.com/\",\n    description:\n      \"Digichem prototypes and manufactures custom molecules online.\",\n  },\n\n  loopwork: {\n    name: \"Loopwork\",\n    url: \"https://loopwork.com/\",\n    description:\n      \"Loopwork is building the next generation of agents.\",\n  },\n\n  feather: {\n    name: \"Feather\",\n    url: \"https://feather.solutions/\",\n    description:\n      \"Feather provides FEA that runs in the browser.\",\n  },\n\n  vibe_robotics: {\n    name: \"Vibe Robotics\",\n    url: \"https://vbr.sh/\",\n    description:\n      \"Vibe Robotics, founded by Kai Backman and Luke Church, builds novel programming interfaces for robotics.\",\n  }\n};\n"
  },
  {
    "path": "config/team.js",
    "content": "const team = {\n  avidan: {\n    name: \"Avidan Ross\",\n    title: \"Managing Partner\",\n    description:\n      \"Avidan is the Founding Partner of Root Ventures. Previously, he designed industrial robotics for Food Network's kitchens and was CTO of CIM Group, where he focused on industrial investing, and worked as an embedded application developer at Excite@Home. Avidan has a BA in Computer Science from Columbia University.\",\n    linkedin: \"https://www.linkedin.com/in/avidanross/\",\n    groups: \"wheel investors engineers managingpartner handypersons tinkers agtech foodtech foodies coffeesnobs\",\n  },\n  kane: {\n    name: \"Kane Hsieh\",\n    title: \"Partner\",\n    description:\n      \"Before joining Root Ventures, Kane was founder and Head of Product at Brilliant Bicycle Co. He has also worked as an early-stage investor at RRE Ventures, a software engineer at Romotive, and a Project Manager at Microsoft. Kane has an AB in Computer Science from Harvard.\",\n    linkedin: \"https://www.linkedin.com/in/kanehsieh/\",\n    groups: \"wheel investors engineers partners tinkerers cad motorcyclists gearheads machinepix sportshooters gamers\",\n  },\n  chrissy: {\n    name: \"Chrissy Meyer\",\n    title: \"Partner\",\n    description:\n      \"Chrissy has spent the past decade developing and shipping hardware as an engineering manager at Apple and Square. She was a founding team member at Pearl Automation, a vehicle technology startup. Chrissy has an MS in Electrical Engineering from Stanford and a BSEE from Rose-Hulman.\",\n    linkedin: \"https://www.linkedin.com/in/chrissymeyer/\",\n    groups: \"wheel investors engineers partners electrical manufacturing ecad wearables healthtech gearheads automotive sportshooters\",\n  },\n  lee: {\n    name: \"Lee Edwards\",\n    title: \"Partner\",\n    description:\n      \"Lee was most recently CTO at Teespring. Previously, Lee was a mechanical engineer at iRobot, a software engineer at Pivotal Labs, Lead Engineer at SideTour (acquired by Groupon in 2013), and engineering manager for GrouponLive. He graduated from Olin College of Engineering with a degree in Systems Engineering.\",\n    linkedin: \"https://www.linkedin.com/in/leeredwards/\",\n    groups: \"wheel investors engineers partners software devtools data ai+ml gamers winesnobs\",\n  },\n  zodi: {\n    name: \"Zodi Chalat\",\n    title: \"Associate\",\n    description:\n      \"Zodi began his career as an engineer working on ML infrastructure at Netflix before moving into venture investing. He previously studied CS and comparative literature at Yale.\",\n    linkedin: \"https://linkedin.com/in/zodi\",\n    groups: \"wheel investors engineers ai+ml simulation terraforming maine\",\n  },\n  ben: {\n    name: \"Ben Lovell\",\n    title: \"Head of Operations\",\n    description:\n      \"Ben worked at a16z, Menlo Ventures, and FT Partners to build operational automation and data pipelines. He also cofounded an adtech startup for rideshare companies. Ben graduated with a BA from Stanford University.\",\n    linkedin: \"https://www.linkedin.com/in/lovellb/\",\n    groups: \"wheel operations photography ironman racecars canyoneering\",\n  },\n  laelah: {\n    name: \"Laelah Reino\",\n    title: \"Operations Manager\",\n    description:\n      \"Laelah has spent over 15 years in marketing for films, consumer products, and subscription-based services. Laelah Reino has a BA in Business Administration with a Marketing concentration from Drexel University.\",\n    linkedin: \"https://www.linkedin.com/in/laelah-reino-78b6a51/\",\n    groups: \"wheel admin operations miracleworkers gamers\",\n  },\n};\n"
  },
  {
    "path": "css/bootstrap.css",
    "content": "/*!\n * Bootstrap v2.3.1\n *\n * Copyright 2012 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n\n.clearfix {\n  *zoom: 1;\n}\n\n.clearfix:before,\n.clearfix:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.clearfix:after {\n  clear: both;\n}\n\n.hide-text {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n.input-block-level {\n  display: block;\n  width: 100%;\n  min-height: 30px;\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nnav,\nsection {\n  display: block;\n}\n\naudio,\ncanvas,\nvideo {\n  display: inline-block;\n  *display: inline;\n  *zoom: 1;\n}\n\naudio:not([controls]) {\n  display: none;\n}\n\nhtml {\n  font-size: 100%;\n  -webkit-text-size-adjust: 100%;\n      -ms-text-size-adjust: 100%;\n}\n\na:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n\na:hover,\na:active {\n  outline: 0;\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nimg {\n  width: auto\\9;\n  height: auto;\n  max-width: 100%;\n  vertical-align: middle;\n  border: 0;\n  -ms-interpolation-mode: bicubic;\n}\n\n#map_canvas img,\n.google-maps img {\n  max-width: none;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n  margin: 0;\n  font-size: 100%;\n  vertical-align: middle;\n}\n\nbutton,\ninput {\n  *overflow: visible;\n  line-height: normal;\n}\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\n\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  cursor: pointer;\n  -webkit-appearance: button;\n}\n\nlabel,\nselect,\nbutton,\ninput[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"],\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  cursor: pointer;\n}\n\ninput[type=\"search\"] {\n  -webkit-box-sizing: content-box;\n     -moz-box-sizing: content-box;\n          box-sizing: content-box;\n  -webkit-appearance: textfield;\n}\n\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-cancel-button {\n  -webkit-appearance: none;\n}\n\ntextarea {\n  overflow: auto;\n  vertical-align: top;\n}\n\n@media print {\n  * {\n    color: #000 !important;\n    text-shadow: none !important;\n    background: transparent !important;\n    box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  .ir a:after,\n  a[href^=\"javascript:\"]:after,\n  a[href^=\"#\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  @page  {\n    margin: 0.5cm;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n}\n\nbody {\n  margin: 0;\n  font-family: \"Comic Sans\", \"Comic Sans MS\", \"Chalkboard\", \"ChalkboardSE-Regular\", \"Marker Felt\", \"Purisa\", \"URW Chancery L\", cursive, sans-serif;\n  font-size: 16px;\n  line-height: 20px;\n  color: #ffff00;\n  background-color: #0000ff;\n}\n\na {\n  color: #00eeee;\n  text-decoration: none;\n}\n\na:hover,\na:focus {\n  color: #00eeee;\n  text-decoration: underline;\n}\n\n.img-rounded {\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n}\n\n.img-polaroid {\n  padding: 4px;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n\n.img-circle {\n  -webkit-border-radius: 500px;\n     -moz-border-radius: 500px;\n          border-radius: 500px;\n}\n\n.row {\n  margin-left: -20px;\n  *zoom: 1;\n}\n\n.row:before,\n.row:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.row:after {\n  clear: both;\n}\n\n[class*=\"span\"] {\n  float: left;\n  min-height: 1px;\n  margin-left: 20px;\n}\n\n.container,\n.navbar-static-top .container,\n.navbar-fixed-top .container,\n.navbar-fixed-bottom .container {\n  width: 940px;\n}\n\n.span12 {\n  width: 940px;\n}\n\n.span11 {\n  width: 860px;\n}\n\n.span10 {\n  width: 780px;\n}\n\n.span9 {\n  width: 700px;\n}\n\n.span8 {\n  width: 620px;\n}\n\n.span7 {\n  width: 540px;\n}\n\n.span6 {\n  width: 460px;\n}\n\n.span5 {\n  width: 380px;\n}\n\n.span4 {\n  width: 300px;\n}\n\n.span3 {\n  width: 220px;\n}\n\n.span2 {\n  width: 140px;\n}\n\n.span1 {\n  width: 60px;\n}\n\n.offset12 {\n  margin-left: 980px;\n}\n\n.offset11 {\n  margin-left: 900px;\n}\n\n.offset10 {\n  margin-left: 820px;\n}\n\n.offset9 {\n  margin-left: 740px;\n}\n\n.offset8 {\n  margin-left: 660px;\n}\n\n.offset7 {\n  margin-left: 580px;\n}\n\n.offset6 {\n  margin-left: 500px;\n}\n\n.offset5 {\n  margin-left: 420px;\n}\n\n.offset4 {\n  margin-left: 340px;\n}\n\n.offset3 {\n  margin-left: 260px;\n}\n\n.offset2 {\n  margin-left: 180px;\n}\n\n.offset1 {\n  margin-left: 100px;\n}\n\n.row-fluid {\n  width: 100%;\n  *zoom: 1;\n}\n\n.row-fluid:before,\n.row-fluid:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.row-fluid:after {\n  clear: both;\n}\n\n.row-fluid [class*=\"span\"] {\n  display: block;\n  float: left;\n  width: 100%;\n  min-height: 30px;\n  margin-left: 2.127659574468085%;\n  *margin-left: 2.074468085106383%;\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\n\n.row-fluid [class*=\"span\"]:first-child {\n  margin-left: 0;\n}\n\n.row-fluid .controls-row [class*=\"span\"] + [class*=\"span\"] {\n  margin-left: 2.127659574468085%;\n}\n\n.row-fluid .span12 {\n  width: 100%;\n  *width: 99.94680851063829%;\n}\n\n.row-fluid .span11 {\n  width: 91.48936170212765%;\n  *width: 91.43617021276594%;\n}\n\n.row-fluid .span10 {\n  width: 82.97872340425532%;\n  *width: 82.92553191489361%;\n}\n\n.row-fluid .span9 {\n  width: 74.46808510638297%;\n  *width: 74.41489361702126%;\n}\n\n.row-fluid .span8 {\n  width: 65.95744680851064%;\n  *width: 65.90425531914893%;\n}\n\n.row-fluid .span7 {\n  width: 57.44680851063829%;\n  *width: 57.39361702127659%;\n}\n\n.row-fluid .span6 {\n  width: 48.93617021276595%;\n  *width: 48.88297872340425%;\n}\n\n.row-fluid .span5 {\n  width: 40.42553191489362%;\n  *width: 40.37234042553192%;\n}\n\n.row-fluid .span4 {\n  width: 31.914893617021278%;\n  *width: 31.861702127659576%;\n}\n\n.row-fluid .span3 {\n  width: 23.404255319148934%;\n  *width: 23.351063829787233%;\n}\n\n.row-fluid .span2 {\n  width: 14.893617021276595%;\n  *width: 14.840425531914894%;\n}\n\n.row-fluid .span1 {\n  width: 6.382978723404255%;\n  *width: 6.329787234042553%;\n}\n\n.row-fluid .offset12 {\n  margin-left: 104.25531914893617%;\n  *margin-left: 104.14893617021275%;\n}\n\n.row-fluid .offset12:first-child {\n  margin-left: 102.12765957446808%;\n  *margin-left: 102.02127659574467%;\n}\n\n.row-fluid .offset11 {\n  margin-left: 95.74468085106382%;\n  *margin-left: 95.6382978723404%;\n}\n\n.row-fluid .offset11:first-child {\n  margin-left: 93.61702127659574%;\n  *margin-left: 93.51063829787232%;\n}\n\n.row-fluid .offset10 {\n  margin-left: 87.23404255319149%;\n  *margin-left: 87.12765957446807%;\n}\n\n.row-fluid .offset10:first-child {\n  margin-left: 85.1063829787234%;\n  *margin-left: 84.99999999999999%;\n}\n\n.row-fluid .offset9 {\n  margin-left: 78.72340425531914%;\n  *margin-left: 78.61702127659572%;\n}\n\n.row-fluid .offset9:first-child {\n  margin-left: 76.59574468085106%;\n  *margin-left: 76.48936170212764%;\n}\n\n.row-fluid .offset8 {\n  margin-left: 70.2127659574468%;\n  *margin-left: 70.10638297872339%;\n}\n\n.row-fluid .offset8:first-child {\n  margin-left: 68.08510638297872%;\n  *margin-left: 67.9787234042553%;\n}\n\n.row-fluid .offset7 {\n  margin-left: 61.70212765957446%;\n  *margin-left: 61.59574468085106%;\n}\n\n.row-fluid .offset7:first-child {\n  margin-left: 59.574468085106375%;\n  *margin-left: 59.46808510638297%;\n}\n\n.row-fluid .offset6 {\n  margin-left: 53.191489361702125%;\n  *margin-left: 53.085106382978715%;\n}\n\n.row-fluid .offset6:first-child {\n  margin-left: 51.063829787234035%;\n  *margin-left: 50.95744680851063%;\n}\n\n.row-fluid .offset5 {\n  margin-left: 44.68085106382979%;\n  *margin-left: 44.57446808510638%;\n}\n\n.row-fluid .offset5:first-child {\n  margin-left: 42.5531914893617%;\n  *margin-left: 42.4468085106383%;\n}\n\n.row-fluid .offset4 {\n  margin-left: 36.170212765957444%;\n  *margin-left: 36.06382978723405%;\n}\n\n.row-fluid .offset4:first-child {\n  margin-left: 34.04255319148936%;\n  *margin-left: 33.93617021276596%;\n}\n\n.row-fluid .offset3 {\n  margin-left: 27.659574468085104%;\n  *margin-left: 27.5531914893617%;\n}\n\n.row-fluid .offset3:first-child {\n  margin-left: 25.53191489361702%;\n  *margin-left: 25.425531914893618%;\n}\n\n.row-fluid .offset2 {\n  margin-left: 19.148936170212764%;\n  *margin-left: 19.04255319148936%;\n}\n\n.row-fluid .offset2:first-child {\n  margin-left: 17.02127659574468%;\n  *margin-left: 16.914893617021278%;\n}\n\n.row-fluid .offset1 {\n  margin-left: 10.638297872340425%;\n  *margin-left: 10.53191489361702%;\n}\n\n.row-fluid .offset1:first-child {\n  margin-left: 8.51063829787234%;\n  *margin-left: 8.404255319148938%;\n}\n\n[class*=\"span\"].hide,\n.row-fluid [class*=\"span\"].hide {\n  display: none;\n}\n\n[class*=\"span\"].pull-right,\n.row-fluid [class*=\"span\"].pull-right {\n  float: right;\n}\n\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  *zoom: 1;\n}\n\n.container:before,\n.container:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.container:after {\n  clear: both;\n}\n\n.container-fluid {\n  padding-right: 20px;\n  padding-left: 20px;\n  *zoom: 1;\n}\n\n.container-fluid:before,\n.container-fluid:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.container-fluid:after {\n  clear: both;\n}\n\np {\n  margin: 0 0 10px;\n}\n\n.lead {\n  margin-bottom: 20px;\n  font-size: 24px;\n  font-weight: 200;\n  line-height: 30px;\n}\n\nsmall {\n  font-size: 85%;\n}\n\nstrong {\n  font-weight: bold;\n}\n\nem {\n  font-style: italic;\n}\n\ncite {\n  font-style: normal;\n}\n\n.muted {\n  color: #999999;\n}\n\na.muted:hover,\na.muted:focus {\n  color: #808080;\n}\n\n.text-warning {\n  color: #000000;\n}\n\na.text-warning:hover,\na.text-warning:focus {\n  color: #000000;\n}\n\n.text-error {\n  color: #ffffff;\n}\n\na.text-error:hover,\na.text-error:focus {\n  color: #e6e6e6;\n}\n\n.text-info {\n  color: #000000;\n}\n\na.text-info:hover,\na.text-info:focus {\n  color: #000000;\n}\n\n.text-success {\n  color: #ffffff;\n}\n\na.text-success:hover,\na.text-success:focus {\n  color: #e6e6e6;\n}\n\n.text-left {\n  text-align: left;\n}\n\n.text-right {\n  text-align: right;\n}\n\n.text-center {\n  text-align: center;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  margin: 10px 0;\n  font-family: inherit;\n  font-weight: bold;\n  line-height: 20px;\n  color: inherit;\n  text-rendering: optimizelegibility;\n}\n\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small {\n  font-weight: normal;\n  line-height: 1;\n  color: #999999;\n}\n\nh1,\nh2,\nh3 {\n  line-height: 40px;\n}\n\nh1 {\n  font-size: 44px;\n}\n\nh2 {\n  font-size: 36px;\n}\n\nh3 {\n  font-size: 28px;\n}\n\nh4 {\n  font-size: 20px;\n}\n\nh5 {\n  font-size: 16px;\n}\n\nh6 {\n  font-size: 13.6px;\n}\n\nh1 small {\n  font-size: 28px;\n}\n\nh2 small {\n  font-size: 20px;\n}\n\nh3 small {\n  font-size: 16px;\n}\n\nh4 small {\n  font-size: 16px;\n}\n\n.page-header {\n  padding-bottom: 9px;\n  margin: 20px 0 30px;\n  border-bottom: 1px solid #eeeeee;\n}\n\nul,\nol {\n  padding: 0;\n  margin: 0 0 10px 25px;\n}\n\nul ul,\nul ol,\nol ol,\nol ul {\n  margin-bottom: 0;\n}\n\nli {\n  line-height: 20px;\n}\n\nul.unstyled,\nol.unstyled {\n  margin-left: 0;\n  list-style: none;\n}\n\nul.inline,\nol.inline {\n  margin-left: 0;\n  list-style: none;\n}\n\nul.inline > li,\nol.inline > li {\n  display: inline-block;\n  *display: inline;\n  padding-right: 5px;\n  padding-left: 5px;\n  *zoom: 1;\n}\n\ndl {\n  margin-bottom: 20px;\n}\n\ndt,\ndd {\n  line-height: 20px;\n}\n\ndt {\n  font-weight: bold;\n}\n\ndd {\n  margin-left: 10px;\n}\n\n.dl-horizontal {\n  *zoom: 1;\n}\n\n.dl-horizontal:before,\n.dl-horizontal:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.dl-horizontal:after {\n  clear: both;\n}\n\n.dl-horizontal dt {\n  float: left;\n  width: 160px;\n  overflow: hidden;\n  clear: left;\n  text-align: right;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.dl-horizontal dd {\n  margin-left: 180px;\n}\n\nhr {\n  margin: 20px 0;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n  border-bottom: 1px solid #ffffff;\n}\n\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #999999;\n}\n\nabbr.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n\nblockquote {\n  padding: 0 0 0 15px;\n  margin: 0 0 20px;\n  border-left: 5px solid #eeeeee;\n}\n\nblockquote p {\n  margin-bottom: 0;\n  font-size: 20px;\n  font-weight: 300;\n  line-height: 1.25;\n}\n\nblockquote small {\n  display: block;\n  line-height: 20px;\n  color: #999999;\n}\n\nblockquote small:before {\n  content: '\\2014 \\00A0';\n}\n\nblockquote.pull-right {\n  float: right;\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n}\n\nblockquote.pull-right p,\nblockquote.pull-right small {\n  text-align: right;\n}\n\nblockquote.pull-right small:before {\n  content: '';\n}\n\nblockquote.pull-right small:after {\n  content: '\\00A0 \\2014';\n}\n\nq:before,\nq:after,\nblockquote:before,\nblockquote:after {\n  content: \"\";\n}\n\naddress {\n  display: block;\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 20px;\n}\n\ncode,\npre {\n  padding: 0 3px 2px;\n  font-family: \"Courier New\", Courier, monospace;\n  font-size: 14px;\n  color: #333333;\n  -webkit-border-radius: 3px;\n     -moz-border-radius: 3px;\n          border-radius: 3px;\n}\n\ncode {\n  padding: 2px 4px;\n  color: #d14;\n  white-space: nowrap;\n  background-color: #f7f7f9;\n  border: 1px solid #e1e1e8;\n}\n\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 15px;\n  line-height: 20px;\n  word-break: break-all;\n  word-wrap: break-word;\n  white-space: pre;\n  white-space: pre-wrap;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\npre.prettyprint {\n  margin-bottom: 20px;\n}\n\npre code {\n  padding: 0;\n  color: inherit;\n  white-space: pre;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border: 0;\n}\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n\nform {\n  margin: 0 0 20px;\n}\n\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 24px;\n  line-height: 40px;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\n\nlegend small {\n  font-size: 15px;\n  color: #999999;\n}\n\nlabel,\ninput,\nbutton,\nselect,\ntextarea {\n  font-size: 16px;\n  font-weight: normal;\n  line-height: 20px;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: \"Comic Sans\", \"Comic Sans MS\", \"Chalkboard\", \"ChalkboardSE-Regular\", \"Marker Felt\", \"Purisa\", \"URW Chancery L\", cursive, sans-serif;\n}\n\nlabel {\n  display: block;\n  margin-bottom: 5px;\n}\n\nselect,\ntextarea,\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"datetime\"],\ninput[type=\"datetime-local\"],\ninput[type=\"date\"],\ninput[type=\"month\"],\ninput[type=\"time\"],\ninput[type=\"week\"],\ninput[type=\"number\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"search\"],\ninput[type=\"tel\"],\ninput[type=\"color\"],\n.uneditable-input {\n  display: inline-block;\n  height: 20px;\n  padding: 4px 6px;\n  margin-bottom: 10px;\n  font-size: 16px;\n  line-height: 20px;\n  color: #555555;\n  vertical-align: middle;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\ninput,\ntextarea,\n.uneditable-input {\n  width: 206px;\n}\n\ntextarea {\n  height: auto;\n}\n\ntextarea,\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"datetime\"],\ninput[type=\"datetime-local\"],\ninput[type=\"date\"],\ninput[type=\"month\"],\ninput[type=\"time\"],\ninput[type=\"week\"],\ninput[type=\"number\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"search\"],\ninput[type=\"tel\"],\ninput[type=\"color\"],\n.uneditable-input {\n  background-color: #000000;\n  border: 1px solid #00ff00;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;\n     -moz-transition: border linear 0.2s, box-shadow linear 0.2s;\n       -o-transition: border linear 0.2s, box-shadow linear 0.2s;\n          transition: border linear 0.2s, box-shadow linear 0.2s;\n}\n\ntextarea:focus,\ninput[type=\"text\"]:focus,\ninput[type=\"password\"]:focus,\ninput[type=\"datetime\"]:focus,\ninput[type=\"datetime-local\"]:focus,\ninput[type=\"date\"]:focus,\ninput[type=\"month\"]:focus,\ninput[type=\"time\"]:focus,\ninput[type=\"week\"]:focus,\ninput[type=\"number\"]:focus,\ninput[type=\"email\"]:focus,\ninput[type=\"url\"]:focus,\ninput[type=\"search\"]:focus,\ninput[type=\"tel\"]:focus,\ninput[type=\"color\"]:focus,\n.uneditable-input:focus {\n  border-color: rgba(82, 168, 236, 0.8);\n  outline: 0;\n  outline: thin dotted \\9;\n  /* IE6-9 */\n\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  *margin-top: 0;\n  line-height: normal;\n}\n\ninput[type=\"file\"],\ninput[type=\"image\"],\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"],\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  width: auto;\n}\n\nselect,\ninput[type=\"file\"] {\n  height: 30px;\n  /* In IE7, the height of the select element cannot be changed by height, only font-size */\n\n  *margin-top: 4px;\n  /* For IE7, add top margin to align select with labels */\n\n  line-height: 30px;\n}\n\nselect {\n  width: 220px;\n  background-color: #000000;\n  border: 1px solid #00ff00;\n}\n\nselect[multiple],\nselect[size] {\n  height: auto;\n}\n\nselect:focus,\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n\n.uneditable-input,\n.uneditable-textarea {\n  color: #999999;\n  cursor: not-allowed;\n  background-color: #000000;\n  border-color: #00ff00;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n}\n\n.uneditable-input {\n  overflow: hidden;\n  white-space: nowrap;\n}\n\n.uneditable-textarea {\n  width: auto;\n  height: auto;\n}\n\ninput:-moz-placeholder,\ntextarea:-moz-placeholder {\n  color: #999999;\n}\n\ninput:-ms-input-placeholder,\ntextarea:-ms-input-placeholder {\n  color: #999999;\n}\n\ninput::-webkit-input-placeholder,\ntextarea::-webkit-input-placeholder {\n  color: #999999;\n}\n\n.radio,\n.checkbox {\n  min-height: 20px;\n  padding-left: 20px;\n}\n\n.radio input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"] {\n  float: left;\n  margin-left: -20px;\n}\n\n.controls > .radio:first-child,\n.controls > .checkbox:first-child {\n  padding-top: 5px;\n}\n\n.radio.inline,\n.checkbox.inline {\n  display: inline-block;\n  padding-top: 5px;\n  margin-bottom: 0;\n  vertical-align: middle;\n}\n\n.radio.inline + .radio.inline,\n.checkbox.inline + .checkbox.inline {\n  margin-left: 10px;\n}\n\n.input-mini {\n  width: 60px;\n}\n\n.input-small {\n  width: 90px;\n}\n\n.input-medium {\n  width: 150px;\n}\n\n.input-large {\n  width: 210px;\n}\n\n.input-xlarge {\n  width: 270px;\n}\n\n.input-xxlarge {\n  width: 530px;\n}\n\ninput[class*=\"span\"],\nselect[class*=\"span\"],\ntextarea[class*=\"span\"],\n.uneditable-input[class*=\"span\"],\n.row-fluid input[class*=\"span\"],\n.row-fluid select[class*=\"span\"],\n.row-fluid textarea[class*=\"span\"],\n.row-fluid .uneditable-input[class*=\"span\"] {\n  float: none;\n  margin-left: 0;\n}\n\n.input-append input[class*=\"span\"],\n.input-append .uneditable-input[class*=\"span\"],\n.input-prepend input[class*=\"span\"],\n.input-prepend .uneditable-input[class*=\"span\"],\n.row-fluid input[class*=\"span\"],\n.row-fluid select[class*=\"span\"],\n.row-fluid textarea[class*=\"span\"],\n.row-fluid .uneditable-input[class*=\"span\"],\n.row-fluid .input-prepend [class*=\"span\"],\n.row-fluid .input-append [class*=\"span\"] {\n  display: inline-block;\n}\n\ninput,\ntextarea,\n.uneditable-input {\n  margin-left: 0;\n}\n\n.controls-row [class*=\"span\"] + [class*=\"span\"] {\n  margin-left: 20px;\n}\n\ninput.span12,\ntextarea.span12,\n.uneditable-input.span12 {\n  width: 926px;\n}\n\ninput.span11,\ntextarea.span11,\n.uneditable-input.span11 {\n  width: 846px;\n}\n\ninput.span10,\ntextarea.span10,\n.uneditable-input.span10 {\n  width: 766px;\n}\n\ninput.span9,\ntextarea.span9,\n.uneditable-input.span9 {\n  width: 686px;\n}\n\ninput.span8,\ntextarea.span8,\n.uneditable-input.span8 {\n  width: 606px;\n}\n\ninput.span7,\ntextarea.span7,\n.uneditable-input.span7 {\n  width: 526px;\n}\n\ninput.span6,\ntextarea.span6,\n.uneditable-input.span6 {\n  width: 446px;\n}\n\ninput.span5,\ntextarea.span5,\n.uneditable-input.span5 {\n  width: 366px;\n}\n\ninput.span4,\ntextarea.span4,\n.uneditable-input.span4 {\n  width: 286px;\n}\n\ninput.span3,\ntextarea.span3,\n.uneditable-input.span3 {\n  width: 206px;\n}\n\ninput.span2,\ntextarea.span2,\n.uneditable-input.span2 {\n  width: 126px;\n}\n\ninput.span1,\ntextarea.span1,\n.uneditable-input.span1 {\n  width: 46px;\n}\n\n.controls-row {\n  *zoom: 1;\n}\n\n.controls-row:before,\n.controls-row:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.controls-row:after {\n  clear: both;\n}\n\n.controls-row [class*=\"span\"],\n.row-fluid .controls-row [class*=\"span\"] {\n  float: left;\n}\n\n.controls-row .checkbox[class*=\"span\"],\n.controls-row .radio[class*=\"span\"] {\n  padding-top: 5px;\n}\n\ninput[disabled],\nselect[disabled],\ntextarea[disabled],\ninput[readonly],\nselect[readonly],\ntextarea[readonly] {\n  cursor: not-allowed;\n  background-color: #cccccc;\n}\n\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"][readonly],\ninput[type=\"checkbox\"][readonly] {\n  background-color: transparent;\n}\n\n.control-group.warning .control-label,\n.control-group.warning .help-block,\n.control-group.warning .help-inline {\n  color: #000000;\n}\n\n.control-group.warning .checkbox,\n.control-group.warning .radio,\n.control-group.warning input,\n.control-group.warning select,\n.control-group.warning textarea {\n  color: #000000;\n}\n\n.control-group.warning input,\n.control-group.warning select,\n.control-group.warning textarea {\n  border-color: #000000;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n\n.control-group.warning input:focus,\n.control-group.warning select:focus,\n.control-group.warning textarea:focus {\n  border-color: #000000;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #333333;\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #333333;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #333333;\n}\n\n.control-group.warning .input-prepend .add-on,\n.control-group.warning .input-append .add-on {\n  color: #000000;\n  background-color: #ffff00;\n  border-color: #000000;\n}\n\n.control-group.error .control-label,\n.control-group.error .help-block,\n.control-group.error .help-inline {\n  color: #ffffff;\n}\n\n.control-group.error .checkbox,\n.control-group.error .radio,\n.control-group.error input,\n.control-group.error select,\n.control-group.error textarea {\n  color: #ffffff;\n}\n\n.control-group.error input,\n.control-group.error select,\n.control-group.error textarea {\n  border-color: #ffffff;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n\n.control-group.error input:focus,\n.control-group.error select:focus,\n.control-group.error textarea:focus {\n  border-color: #e6e6e6;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;\n}\n\n.control-group.error .input-prepend .add-on,\n.control-group.error .input-append .add-on {\n  color: #ffffff;\n  background-color: #ff0000;\n  border-color: #ffffff;\n}\n\n.control-group.success .control-label,\n.control-group.success .help-block,\n.control-group.success .help-inline {\n  color: #ffffff;\n}\n\n.control-group.success .checkbox,\n.control-group.success .radio,\n.control-group.success input,\n.control-group.success select,\n.control-group.success textarea {\n  color: #ffffff;\n}\n\n.control-group.success input,\n.control-group.success select,\n.control-group.success textarea {\n  border-color: #ffffff;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n\n.control-group.success input:focus,\n.control-group.success select:focus,\n.control-group.success textarea:focus {\n  border-color: #e6e6e6;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;\n}\n\n.control-group.success .input-prepend .add-on,\n.control-group.success .input-append .add-on {\n  color: #ffffff;\n  background-color: #008000;\n  border-color: #ffffff;\n}\n\n.control-group.info .control-label,\n.control-group.info .help-block,\n.control-group.info .help-inline {\n  color: #000000;\n}\n\n.control-group.info .checkbox,\n.control-group.info .radio,\n.control-group.info input,\n.control-group.info select,\n.control-group.info textarea {\n  color: #000000;\n}\n\n.control-group.info input,\n.control-group.info select,\n.control-group.info textarea {\n  border-color: #000000;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n\n.control-group.info input:focus,\n.control-group.info select:focus,\n.control-group.info textarea:focus {\n  border-color: #000000;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #333333;\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #333333;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #333333;\n}\n\n.control-group.info .input-prepend .add-on,\n.control-group.info .input-append .add-on {\n  color: #000000;\n  background-color: #00ffff;\n  border-color: #000000;\n}\n\ninput:focus:invalid,\ntextarea:focus:invalid,\nselect:focus:invalid {\n  color: #b94a48;\n  border-color: #ee5f5b;\n}\n\ninput:focus:invalid:focus,\ntextarea:focus:invalid:focus,\nselect:focus:invalid:focus {\n  border-color: #e9322d;\n  -webkit-box-shadow: 0 0 6px #f8b9b7;\n     -moz-box-shadow: 0 0 6px #f8b9b7;\n          box-shadow: 0 0 6px #f8b9b7;\n}\n\n.form-actions {\n  padding: 19px 20px 20px;\n  margin-top: 20px;\n  margin-bottom: 20px;\n  background-color: #0000ff;\n  border-top: 1px solid #e5e5e5;\n  *zoom: 1;\n}\n\n.form-actions:before,\n.form-actions:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.form-actions:after {\n  clear: both;\n}\n\n.help-block,\n.help-inline {\n  color: #ffff4d;\n}\n\n.help-block {\n  display: block;\n  margin-bottom: 10px;\n}\n\n.help-inline {\n  display: inline-block;\n  *display: inline;\n  padding-left: 5px;\n  vertical-align: middle;\n  *zoom: 1;\n}\n\n.input-append,\n.input-prepend {\n  display: inline-block;\n  margin-bottom: 10px;\n  font-size: 0;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n\n.input-append input,\n.input-prepend input,\n.input-append select,\n.input-prepend select,\n.input-append .uneditable-input,\n.input-prepend .uneditable-input,\n.input-append .dropdown-menu,\n.input-prepend .dropdown-menu,\n.input-append .popover,\n.input-prepend .popover {\n  font-size: 16px;\n}\n\n.input-append input,\n.input-prepend input,\n.input-append select,\n.input-prepend select,\n.input-append .uneditable-input,\n.input-prepend .uneditable-input {\n  position: relative;\n  margin-bottom: 0;\n  *margin-left: 0;\n  vertical-align: top;\n  -webkit-border-radius: 0 0 0 0;\n     -moz-border-radius: 0 0 0 0;\n          border-radius: 0 0 0 0;\n}\n\n.input-append input:focus,\n.input-prepend input:focus,\n.input-append select:focus,\n.input-prepend select:focus,\n.input-append .uneditable-input:focus,\n.input-prepend .uneditable-input:focus {\n  z-index: 2;\n}\n\n.input-append .add-on,\n.input-prepend .add-on {\n  display: inline-block;\n  width: auto;\n  height: 20px;\n  min-width: 16px;\n  padding: 4px 5px;\n  font-size: 16px;\n  font-weight: normal;\n  line-height: 20px;\n  text-align: center;\n  text-shadow: 0 1px 0 #ffffff;\n  background-color: #eeeeee;\n  border: 1px solid #ccc;\n}\n\n.input-append .add-on,\n.input-prepend .add-on,\n.input-append .btn,\n.input-prepend .btn,\n.input-append .btn-group > .dropdown-toggle,\n.input-prepend .btn-group > .dropdown-toggle {\n  vertical-align: top;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.input-append .active,\n.input-prepend .active {\n  background-color: #99ff99;\n  border-color: #00ff00;\n}\n\n.input-prepend .add-on,\n.input-prepend .btn {\n  margin-right: -1px;\n}\n\n.input-prepend .add-on:first-child,\n.input-prepend .btn:first-child {\n  -webkit-border-radius: 0 0 0 0;\n     -moz-border-radius: 0 0 0 0;\n          border-radius: 0 0 0 0;\n}\n\n.input-append input,\n.input-append select,\n.input-append .uneditable-input {\n  -webkit-border-radius: 0 0 0 0;\n     -moz-border-radius: 0 0 0 0;\n          border-radius: 0 0 0 0;\n}\n\n.input-append input + .btn-group .btn:last-child,\n.input-append select + .btn-group .btn:last-child,\n.input-append .uneditable-input + .btn-group .btn:last-child {\n  -webkit-border-radius: 0 0 0 0;\n     -moz-border-radius: 0 0 0 0;\n          border-radius: 0 0 0 0;\n}\n\n.input-append .add-on,\n.input-append .btn,\n.input-append .btn-group {\n  margin-left: -1px;\n}\n\n.input-append .add-on:last-child,\n.input-append .btn:last-child,\n.input-append .btn-group:last-child > .dropdown-toggle {\n  -webkit-border-radius: 0 0 0 0;\n     -moz-border-radius: 0 0 0 0;\n          border-radius: 0 0 0 0;\n}\n\n.input-prepend.input-append input,\n.input-prepend.input-append select,\n.input-prepend.input-append .uneditable-input {\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.input-prepend.input-append input + .btn-group .btn,\n.input-prepend.input-append select + .btn-group .btn,\n.input-prepend.input-append .uneditable-input + .btn-group .btn {\n  -webkit-border-radius: 0 0 0 0;\n     -moz-border-radius: 0 0 0 0;\n          border-radius: 0 0 0 0;\n}\n\n.input-prepend.input-append .add-on:first-child,\n.input-prepend.input-append .btn:first-child {\n  margin-right: -1px;\n  -webkit-border-radius: 0 0 0 0;\n     -moz-border-radius: 0 0 0 0;\n          border-radius: 0 0 0 0;\n}\n\n.input-prepend.input-append .add-on:last-child,\n.input-prepend.input-append .btn:last-child {\n  margin-left: -1px;\n  -webkit-border-radius: 0 0 0 0;\n     -moz-border-radius: 0 0 0 0;\n          border-radius: 0 0 0 0;\n}\n\n.input-prepend.input-append .btn-group:first-child {\n  margin-left: 0;\n}\n\ninput.search-query {\n  padding-right: 14px;\n  padding-right: 4px \\9;\n  padding-left: 14px;\n  padding-left: 4px \\9;\n  /* IE7-8 doesn't have border-radius, so don't indent the padding */\n\n  margin-bottom: 0;\n  -webkit-border-radius: 15px;\n     -moz-border-radius: 15px;\n          border-radius: 15px;\n}\n\n/* Allow for input prepend/append in search forms */\n\n.form-search .input-append .search-query,\n.form-search .input-prepend .search-query {\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.form-search .input-append .search-query {\n  -webkit-border-radius: 14px 0 0 14px;\n     -moz-border-radius: 14px 0 0 14px;\n          border-radius: 14px 0 0 14px;\n}\n\n.form-search .input-append .btn {\n  -webkit-border-radius: 0 14px 14px 0;\n     -moz-border-radius: 0 14px 14px 0;\n          border-radius: 0 14px 14px 0;\n}\n\n.form-search .input-prepend .search-query {\n  -webkit-border-radius: 0 14px 14px 0;\n     -moz-border-radius: 0 14px 14px 0;\n          border-radius: 0 14px 14px 0;\n}\n\n.form-search .input-prepend .btn {\n  -webkit-border-radius: 14px 0 0 14px;\n     -moz-border-radius: 14px 0 0 14px;\n          border-radius: 14px 0 0 14px;\n}\n\n.form-search input,\n.form-inline input,\n.form-horizontal input,\n.form-search textarea,\n.form-inline textarea,\n.form-horizontal textarea,\n.form-search select,\n.form-inline select,\n.form-horizontal select,\n.form-search .help-inline,\n.form-inline .help-inline,\n.form-horizontal .help-inline,\n.form-search .uneditable-input,\n.form-inline .uneditable-input,\n.form-horizontal .uneditable-input,\n.form-search .input-prepend,\n.form-inline .input-prepend,\n.form-horizontal .input-prepend,\n.form-search .input-append,\n.form-inline .input-append,\n.form-horizontal .input-append {\n  display: inline-block;\n  *display: inline;\n  margin-bottom: 0;\n  vertical-align: middle;\n  *zoom: 1;\n}\n\n.form-search .hide,\n.form-inline .hide,\n.form-horizontal .hide {\n  display: none;\n}\n\n.form-search label,\n.form-inline label,\n.form-search .btn-group,\n.form-inline .btn-group {\n  display: inline-block;\n}\n\n.form-search .input-append,\n.form-inline .input-append,\n.form-search .input-prepend,\n.form-inline .input-prepend {\n  margin-bottom: 0;\n}\n\n.form-search .radio,\n.form-search .checkbox,\n.form-inline .radio,\n.form-inline .checkbox {\n  padding-left: 0;\n  margin-bottom: 0;\n  vertical-align: middle;\n}\n\n.form-search .radio input[type=\"radio\"],\n.form-search .checkbox input[type=\"checkbox\"],\n.form-inline .radio input[type=\"radio\"],\n.form-inline .checkbox input[type=\"checkbox\"] {\n  float: left;\n  margin-right: 3px;\n  margin-left: 0;\n}\n\n.control-group {\n  margin-bottom: 10px;\n}\n\nlegend + .control-group {\n  margin-top: 20px;\n  -webkit-margin-top-collapse: separate;\n}\n\n.form-horizontal .control-group {\n  margin-bottom: 20px;\n  *zoom: 1;\n}\n\n.form-horizontal .control-group:before,\n.form-horizontal .control-group:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.form-horizontal .control-group:after {\n  clear: both;\n}\n\n.form-horizontal .control-label {\n  float: left;\n  width: 160px;\n  padding-top: 5px;\n  text-align: right;\n}\n\n.form-horizontal .controls {\n  *display: inline-block;\n  *padding-left: 20px;\n  margin-left: 180px;\n  *margin-left: 0;\n}\n\n.form-horizontal .controls:first-child {\n  *padding-left: 180px;\n}\n\n.form-horizontal .help-block {\n  margin-bottom: 0;\n}\n\n.form-horizontal input + .help-block,\n.form-horizontal select + .help-block,\n.form-horizontal textarea + .help-block,\n.form-horizontal .uneditable-input + .help-block,\n.form-horizontal .input-prepend + .help-block,\n.form-horizontal .input-append + .help-block {\n  margin-top: 10px;\n}\n\n.form-horizontal .form-actions {\n  padding-left: 180px;\n}\n\ntable {\n  max-width: 100%;\n  background-color: transparent;\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\n.table {\n  width: 100%;\n  margin-bottom: 20px;\n}\n\n.table th,\n.table td {\n  padding: 8px;\n  line-height: 20px;\n  text-align: left;\n  vertical-align: top;\n  border-top: 1px solid #008000;\n}\n\n.table th {\n  font-weight: bold;\n}\n\n.table thead th {\n  vertical-align: bottom;\n}\n\n.table caption + thead tr:first-child th,\n.table caption + thead tr:first-child td,\n.table colgroup + thead tr:first-child th,\n.table colgroup + thead tr:first-child td,\n.table thead:first-child tr:first-child th,\n.table thead:first-child tr:first-child td {\n  border-top: 0;\n}\n\n.table tbody + tbody {\n  border-top: 2px solid #008000;\n}\n\n.table .table {\n  background-color: #0000ff;\n}\n\n.table-condensed th,\n.table-condensed td {\n  padding: 4px 5px;\n}\n\n.table-bordered {\n  border: 1px solid #008000;\n  border-collapse: separate;\n  *border-collapse: collapse;\n  border-left: 0;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.table-bordered th,\n.table-bordered td {\n  border-left: 1px solid #008000;\n}\n\n.table-bordered caption + thead tr:first-child th,\n.table-bordered caption + tbody tr:first-child th,\n.table-bordered caption + tbody tr:first-child td,\n.table-bordered colgroup + thead tr:first-child th,\n.table-bordered colgroup + tbody tr:first-child th,\n.table-bordered colgroup + tbody tr:first-child td,\n.table-bordered thead:first-child tr:first-child th,\n.table-bordered tbody:first-child tr:first-child th,\n.table-bordered tbody:first-child tr:first-child td {\n  border-top: 0;\n}\n\n.table-bordered thead:first-child tr:first-child > th:first-child,\n.table-bordered tbody:first-child tr:first-child > td:first-child,\n.table-bordered tbody:first-child tr:first-child > th:first-child {\n  -webkit-border-top-left-radius: none;\n          border-top-left-radius: none;\n  -moz-border-radius-topleft: none;\n}\n\n.table-bordered thead:first-child tr:first-child > th:last-child,\n.table-bordered tbody:first-child tr:first-child > td:last-child,\n.table-bordered tbody:first-child tr:first-child > th:last-child {\n  -webkit-border-top-right-radius: none;\n          border-top-right-radius: none;\n  -moz-border-radius-topright: none;\n}\n\n.table-bordered thead:last-child tr:last-child > th:first-child,\n.table-bordered tbody:last-child tr:last-child > td:first-child,\n.table-bordered tbody:last-child tr:last-child > th:first-child,\n.table-bordered tfoot:last-child tr:last-child > td:first-child,\n.table-bordered tfoot:last-child tr:last-child > th:first-child {\n  -webkit-border-bottom-left-radius: none;\n          border-bottom-left-radius: none;\n  -moz-border-radius-bottomleft: none;\n}\n\n.table-bordered thead:last-child tr:last-child > th:last-child,\n.table-bordered tbody:last-child tr:last-child > td:last-child,\n.table-bordered tbody:last-child tr:last-child > th:last-child,\n.table-bordered tfoot:last-child tr:last-child > td:last-child,\n.table-bordered tfoot:last-child tr:last-child > th:last-child {\n  -webkit-border-bottom-right-radius: none;\n          border-bottom-right-radius: none;\n  -moz-border-radius-bottomright: none;\n}\n\n.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {\n  -webkit-border-bottom-left-radius: 0;\n          border-bottom-left-radius: 0;\n  -moz-border-radius-bottomleft: 0;\n}\n\n.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {\n  -webkit-border-bottom-right-radius: 0;\n          border-bottom-right-radius: 0;\n  -moz-border-radius-bottomright: 0;\n}\n\n.table-bordered caption + thead tr:first-child th:first-child,\n.table-bordered caption + tbody tr:first-child td:first-child,\n.table-bordered colgroup + thead tr:first-child th:first-child,\n.table-bordered colgroup + tbody tr:first-child td:first-child {\n  -webkit-border-top-left-radius: none;\n          border-top-left-radius: none;\n  -moz-border-radius-topleft: none;\n}\n\n.table-bordered caption + thead tr:first-child th:last-child,\n.table-bordered caption + tbody tr:first-child td:last-child,\n.table-bordered colgroup + thead tr:first-child th:last-child,\n.table-bordered colgroup + tbody tr:first-child td:last-child {\n  -webkit-border-top-right-radius: none;\n          border-top-right-radius: none;\n  -moz-border-radius-topright: none;\n}\n\n.table-striped tbody > tr:nth-child(odd) > td,\n.table-striped tbody > tr:nth-child(odd) > th {\n  background-color: #000000;\n}\n\n.table-hover tbody tr:hover > td,\n.table-hover tbody tr:hover > th {\n  background-color: #0000ff;\n}\n\ntable td[class*=\"span\"],\ntable th[class*=\"span\"],\n.row-fluid table td[class*=\"span\"],\n.row-fluid table th[class*=\"span\"] {\n  display: table-cell;\n  float: none;\n  margin-left: 0;\n}\n\n.table td.span1,\n.table th.span1 {\n  float: none;\n  width: 44px;\n  margin-left: 0;\n}\n\n.table td.span2,\n.table th.span2 {\n  float: none;\n  width: 124px;\n  margin-left: 0;\n}\n\n.table td.span3,\n.table th.span3 {\n  float: none;\n  width: 204px;\n  margin-left: 0;\n}\n\n.table td.span4,\n.table th.span4 {\n  float: none;\n  width: 284px;\n  margin-left: 0;\n}\n\n.table td.span5,\n.table th.span5 {\n  float: none;\n  width: 364px;\n  margin-left: 0;\n}\n\n.table td.span6,\n.table th.span6 {\n  float: none;\n  width: 444px;\n  margin-left: 0;\n}\n\n.table td.span7,\n.table th.span7 {\n  float: none;\n  width: 524px;\n  margin-left: 0;\n}\n\n.table td.span8,\n.table th.span8 {\n  float: none;\n  width: 604px;\n  margin-left: 0;\n}\n\n.table td.span9,\n.table th.span9 {\n  float: none;\n  width: 684px;\n  margin-left: 0;\n}\n\n.table td.span10,\n.table th.span10 {\n  float: none;\n  width: 764px;\n  margin-left: 0;\n}\n\n.table td.span11,\n.table th.span11 {\n  float: none;\n  width: 844px;\n  margin-left: 0;\n}\n\n.table td.span12,\n.table th.span12 {\n  float: none;\n  width: 924px;\n  margin-left: 0;\n}\n\n.table tbody tr.success > td {\n  background-color: #008000;\n}\n\n.table tbody tr.error > td {\n  background-color: #ff0000;\n}\n\n.table tbody tr.warning > td {\n  background-color: #ffff00;\n}\n\n.table tbody tr.info > td {\n  background-color: #00ffff;\n}\n\n.table-hover tbody tr.success:hover > td {\n  background-color: #006700;\n}\n\n.table-hover tbody tr.error:hover > td {\n  background-color: #e60000;\n}\n\n.table-hover tbody tr.warning:hover > td {\n  background-color: #e5e600;\n}\n\n.table-hover tbody tr.info:hover > td {\n  background-color: #00e5e6;\n}\n\n[class^=\"icon-\"],\n[class*=\" icon-\"] {\n  display: inline-block;\n  width: 14px;\n  height: 14px;\n  margin-top: 1px;\n  *margin-right: .3em;\n  line-height: 14px;\n  vertical-align: text-top;\n  /* background-image: url(\"../images/geo/glyphicons-halflings.png\"); */\n  background-position: 14px 14px;\n  background-repeat: no-repeat;\n}\n\n/* White icons with optional class, or on hover/focus/active states of certain elements */\n\n.icon-white,\n.nav-pills > .active > a > [class^=\"icon-\"],\n.nav-pills > .active > a > [class*=\" icon-\"],\n.nav-list > .active > a > [class^=\"icon-\"],\n.nav-list > .active > a > [class*=\" icon-\"],\n.navbar-inverse .nav > .active > a > [class^=\"icon-\"],\n.navbar-inverse .nav > .active > a > [class*=\" icon-\"],\n.dropdown-menu > li > a:hover > [class^=\"icon-\"],\n.dropdown-menu > li > a:focus > [class^=\"icon-\"],\n.dropdown-menu > li > a:hover > [class*=\" icon-\"],\n.dropdown-menu > li > a:focus > [class*=\" icon-\"],\n.dropdown-menu > .active > a > [class^=\"icon-\"],\n.dropdown-menu > .active > a > [class*=\" icon-\"],\n.dropdown-submenu:hover > a > [class^=\"icon-\"],\n.dropdown-submenu:focus > a > [class^=\"icon-\"],\n.dropdown-submenu:hover > a > [class*=\" icon-\"],\n/* .dropdown-submenu:focus > a > [class*=\" icon-\"] {\n  background-image: url(\"../images/geo/glyphicons-halflings-white.png\");\n} */\n\n.icon-glass {\n  background-position: 0      0;\n}\n\n.icon-music {\n  background-position: -24px 0;\n}\n\n.icon-search {\n  background-position: -48px 0;\n}\n\n.icon-envelope {\n  background-position: -72px 0;\n}\n\n.icon-heart {\n  background-position: -96px 0;\n}\n\n.icon-star {\n  background-position: -120px 0;\n}\n\n.icon-star-empty {\n  background-position: -144px 0;\n}\n\n.icon-user {\n  background-position: -168px 0;\n}\n\n.icon-film {\n  background-position: -192px 0;\n}\n\n.icon-th-large {\n  background-position: -216px 0;\n}\n\n.icon-th {\n  background-position: -240px 0;\n}\n\n.icon-th-list {\n  background-position: -264px 0;\n}\n\n.icon-ok {\n  background-position: -288px 0;\n}\n\n.icon-remove {\n  background-position: -312px 0;\n}\n\n.icon-zoom-in {\n  background-position: -336px 0;\n}\n\n.icon-zoom-out {\n  background-position: -360px 0;\n}\n\n.icon-off {\n  background-position: -384px 0;\n}\n\n.icon-signal {\n  background-position: -408px 0;\n}\n\n.icon-cog {\n  background-position: -432px 0;\n}\n\n.icon-trash {\n  background-position: -456px 0;\n}\n\n.icon-home {\n  background-position: 0 -24px;\n}\n\n.icon-file {\n  background-position: -24px -24px;\n}\n\n.icon-time {\n  background-position: -48px -24px;\n}\n\n.icon-road {\n  background-position: -72px -24px;\n}\n\n.icon-download-alt {\n  background-position: -96px -24px;\n}\n\n.icon-download {\n  background-position: -120px -24px;\n}\n\n.icon-upload {\n  background-position: -144px -24px;\n}\n\n.icon-inbox {\n  background-position: -168px -24px;\n}\n\n.icon-play-circle {\n  background-position: -192px -24px;\n}\n\n.icon-repeat {\n  background-position: -216px -24px;\n}\n\n.icon-refresh {\n  background-position: -240px -24px;\n}\n\n.icon-list-alt {\n  background-position: -264px -24px;\n}\n\n.icon-lock {\n  background-position: -287px -24px;\n}\n\n.icon-flag {\n  background-position: -312px -24px;\n}\n\n.icon-headphones {\n  background-position: -336px -24px;\n}\n\n.icon-volume-off {\n  background-position: -360px -24px;\n}\n\n.icon-volume-down {\n  background-position: -384px -24px;\n}\n\n.icon-volume-up {\n  background-position: -408px -24px;\n}\n\n.icon-qrcode {\n  background-position: -432px -24px;\n}\n\n.icon-barcode {\n  background-position: -456px -24px;\n}\n\n.icon-tag {\n  background-position: 0 -48px;\n}\n\n.icon-tags {\n  background-position: -25px -48px;\n}\n\n.icon-book {\n  background-position: -48px -48px;\n}\n\n.icon-bookmark {\n  background-position: -72px -48px;\n}\n\n.icon-print {\n  background-position: -96px -48px;\n}\n\n.icon-camera {\n  background-position: -120px -48px;\n}\n\n.icon-font {\n  background-position: -144px -48px;\n}\n\n.icon-bold {\n  background-position: -167px -48px;\n}\n\n.icon-italic {\n  background-position: -192px -48px;\n}\n\n.icon-text-height {\n  background-position: -216px -48px;\n}\n\n.icon-text-width {\n  background-position: -240px -48px;\n}\n\n.icon-align-left {\n  background-position: -264px -48px;\n}\n\n.icon-align-center {\n  background-position: -288px -48px;\n}\n\n.icon-align-right {\n  background-position: -312px -48px;\n}\n\n.icon-align-justify {\n  background-position: -336px -48px;\n}\n\n.icon-list {\n  background-position: -360px -48px;\n}\n\n.icon-indent-left {\n  background-position: -384px -48px;\n}\n\n.icon-indent-right {\n  background-position: -408px -48px;\n}\n\n.icon-facetime-video {\n  background-position: -432px -48px;\n}\n\n.icon-picture {\n  background-position: -456px -48px;\n}\n\n.icon-pencil {\n  background-position: 0 -72px;\n}\n\n.icon-map-marker {\n  background-position: -24px -72px;\n}\n\n.icon-adjust {\n  background-position: -48px -72px;\n}\n\n.icon-tint {\n  background-position: -72px -72px;\n}\n\n.icon-edit {\n  background-position: -96px -72px;\n}\n\n.icon-share {\n  background-position: -120px -72px;\n}\n\n.icon-check {\n  background-position: -144px -72px;\n}\n\n.icon-move {\n  background-position: -168px -72px;\n}\n\n.icon-step-backward {\n  background-position: -192px -72px;\n}\n\n.icon-fast-backward {\n  background-position: -216px -72px;\n}\n\n.icon-backward {\n  background-position: -240px -72px;\n}\n\n.icon-play {\n  background-position: -264px -72px;\n}\n\n.icon-pause {\n  background-position: -288px -72px;\n}\n\n.icon-stop {\n  background-position: -312px -72px;\n}\n\n.icon-forward {\n  background-position: -336px -72px;\n}\n\n.icon-fast-forward {\n  background-position: -360px -72px;\n}\n\n.icon-step-forward {\n  background-position: -384px -72px;\n}\n\n.icon-eject {\n  background-position: -408px -72px;\n}\n\n.icon-chevron-left {\n  background-position: -432px -72px;\n}\n\n.icon-chevron-right {\n  background-position: -456px -72px;\n}\n\n.icon-plus-sign {\n  background-position: 0 -96px;\n}\n\n.icon-minus-sign {\n  background-position: -24px -96px;\n}\n\n.icon-remove-sign {\n  background-position: -48px -96px;\n}\n\n.icon-ok-sign {\n  background-position: -72px -96px;\n}\n\n.icon-question-sign {\n  background-position: -96px -96px;\n}\n\n.icon-info-sign {\n  background-position: -120px -96px;\n}\n\n.icon-screenshot {\n  background-position: -144px -96px;\n}\n\n.icon-remove-circle {\n  background-position: -168px -96px;\n}\n\n.icon-ok-circle {\n  background-position: -192px -96px;\n}\n\n.icon-ban-circle {\n  background-position: -216px -96px;\n}\n\n.icon-arrow-left {\n  background-position: -240px -96px;\n}\n\n.icon-arrow-right {\n  background-position: -264px -96px;\n}\n\n.icon-arrow-up {\n  background-position: -289px -96px;\n}\n\n.icon-arrow-down {\n  background-position: -312px -96px;\n}\n\n.icon-share-alt {\n  background-position: -336px -96px;\n}\n\n.icon-resize-full {\n  background-position: -360px -96px;\n}\n\n.icon-resize-small {\n  background-position: -384px -96px;\n}\n\n.icon-plus {\n  background-position: -408px -96px;\n}\n\n.icon-minus {\n  background-position: -433px -96px;\n}\n\n.icon-asterisk {\n  background-position: -456px -96px;\n}\n\n.icon-exclamation-sign {\n  background-position: 0 -120px;\n}\n\n.icon-gift {\n  background-position: -24px -120px;\n}\n\n.icon-leaf {\n  background-position: -48px -120px;\n}\n\n.icon-fire {\n  background-position: -72px -120px;\n}\n\n.icon-eye-open {\n  background-position: -96px -120px;\n}\n\n.icon-eye-close {\n  background-position: -120px -120px;\n}\n\n.icon-warning-sign {\n  background-position: -144px -120px;\n}\n\n.icon-plane {\n  background-position: -168px -120px;\n}\n\n.icon-calendar {\n  background-position: -192px -120px;\n}\n\n.icon-random {\n  width: 16px;\n  background-position: -216px -120px;\n}\n\n.icon-comment {\n  background-position: -240px -120px;\n}\n\n.icon-magnet {\n  background-position: -264px -120px;\n}\n\n.icon-chevron-up {\n  background-position: -288px -120px;\n}\n\n.icon-chevron-down {\n  background-position: -313px -119px;\n}\n\n.icon-retweet {\n  background-position: -336px -120px;\n}\n\n.icon-shopping-cart {\n  background-position: -360px -120px;\n}\n\n.icon-folder-close {\n  width: 16px;\n  background-position: -384px -120px;\n}\n\n.icon-folder-open {\n  width: 16px;\n  background-position: -408px -120px;\n}\n\n.icon-resize-vertical {\n  background-position: -432px -119px;\n}\n\n.icon-resize-horizontal {\n  background-position: -456px -118px;\n}\n\n.icon-hdd {\n  background-position: 0 -144px;\n}\n\n.icon-bullhorn {\n  background-position: -24px -144px;\n}\n\n.icon-bell {\n  background-position: -48px -144px;\n}\n\n.icon-certificate {\n  background-position: -72px -144px;\n}\n\n.icon-thumbs-up {\n  background-position: -96px -144px;\n}\n\n.icon-thumbs-down {\n  background-position: -120px -144px;\n}\n\n.icon-hand-right {\n  background-position: -144px -144px;\n}\n\n.icon-hand-left {\n  background-position: -168px -144px;\n}\n\n.icon-hand-up {\n  background-position: -192px -144px;\n}\n\n.icon-hand-down {\n  background-position: -216px -144px;\n}\n\n.icon-circle-arrow-right {\n  background-position: -240px -144px;\n}\n\n.icon-circle-arrow-left {\n  background-position: -264px -144px;\n}\n\n.icon-circle-arrow-up {\n  background-position: -288px -144px;\n}\n\n.icon-circle-arrow-down {\n  background-position: -312px -144px;\n}\n\n.icon-globe {\n  background-position: -336px -144px;\n}\n\n.icon-wrench {\n  background-position: -360px -144px;\n}\n\n.icon-tasks {\n  background-position: -384px -144px;\n}\n\n.icon-filter {\n  background-position: -408px -144px;\n}\n\n.icon-briefcase {\n  background-position: -432px -144px;\n}\n\n.icon-fullscreen {\n  background-position: -456px -144px;\n}\n\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n.dropdown-toggle {\n  *margin-bottom: -3px;\n}\n\n.dropdown-toggle:active,\n.open .dropdown-toggle {\n  outline: 0;\n}\n\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  vertical-align: top;\n  border-top: 4px solid #000000;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n  content: \"\";\n}\n\n.dropdown .caret {\n  margin-top: 8px;\n  margin-left: 2px;\n}\n\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  background-color: #ffffff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  *border-right-width: 2px;\n  *border-bottom-width: 2px;\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  -webkit-background-clip: padding-box;\n     -moz-background-clip: padding;\n          background-clip: padding-box;\n}\n\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n\n.dropdown-menu .divider {\n  *width: 100%;\n  height: 1px;\n  margin: 9px 1px;\n  *margin: -5px 0 5px;\n  overflow: hidden;\n  background-color: #e5e5e5;\n  border-bottom: 1px solid #ffffff;\n}\n\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 20px;\n  color: #333333;\n  white-space: nowrap;\n}\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus,\n.dropdown-submenu:hover > a,\n.dropdown-submenu:focus > a {\n  color: #ffffff;\n  text-decoration: none;\n  background-color: #00e4e4;\n  background-image: -moz-linear-gradient(top, #00eeee, #00d4d5);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#00eeee), to(#00d4d5));\n  background-image: -webkit-linear-gradient(top, #00eeee, #00d4d5);\n  background-image: -o-linear-gradient(top, #00eeee, #00d4d5);\n  background-image: linear-gradient(to bottom, #00eeee, #00d4d5);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00eeee', endColorstr='#ff00d4d5', GradientType=0);\n}\n\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #333333;\n  text-decoration: none;\n  background-color: #00e4e4;\n  background-image: -moz-linear-gradient(top, #00eeee, #00d4d5);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#00eeee), to(#00d4d5));\n  background-image: -webkit-linear-gradient(top, #00eeee, #00d4d5);\n  background-image: -o-linear-gradient(top, #00eeee, #00d4d5);\n  background-image: linear-gradient(to bottom, #00eeee, #00d4d5);\n  background-repeat: repeat-x;\n  outline: 0;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00eeee', endColorstr='#ff00d4d5', GradientType=0);\n}\n\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #999999;\n}\n\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  cursor: default;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.open {\n  *z-index: 1000;\n}\n\n.open > .dropdown-menu {\n  display: block;\n}\n\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px solid #000000;\n  content: \"\";\n}\n\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 1px;\n}\n\n.dropdown-submenu {\n  position: relative;\n}\n\n.dropdown-submenu > .dropdown-menu {\n  top: 0;\n  left: 100%;\n  margin-top: -6px;\n  margin-left: -1px;\n  -webkit-border-radius: 0 6px 6px 6px;\n     -moz-border-radius: 0 6px 6px 6px;\n          border-radius: 0 6px 6px 6px;\n}\n\n.dropdown-submenu:hover > .dropdown-menu {\n  display: block;\n}\n\n.dropup .dropdown-submenu > .dropdown-menu {\n  top: auto;\n  bottom: 0;\n  margin-top: 0;\n  margin-bottom: -2px;\n  -webkit-border-radius: 5px 5px 5px 0;\n     -moz-border-radius: 5px 5px 5px 0;\n          border-radius: 5px 5px 5px 0;\n}\n\n.dropdown-submenu > a:after {\n  display: block;\n  float: right;\n  width: 0;\n  height: 0;\n  margin-top: 5px;\n  margin-right: -10px;\n  border-color: transparent;\n  border-left-color: #cccccc;\n  border-style: solid;\n  border-width: 5px 0 5px 5px;\n  content: \" \";\n}\n\n.dropdown-submenu:hover > a:after {\n  border-left-color: #ffffff;\n}\n\n.dropdown-submenu.pull-left {\n  float: none;\n}\n\n.dropdown-submenu.pull-left > .dropdown-menu {\n  left: -100%;\n  margin-left: 10px;\n  -webkit-border-radius: 6px 0 6px 6px;\n     -moz-border-radius: 6px 0 6px 6px;\n          border-radius: 6px 0 6px 6px;\n}\n\n.dropdown .dropdown-menu .nav-header {\n  padding-right: 20px;\n  padding-left: 20px;\n}\n\n.typeahead {\n  z-index: 1051;\n  margin-top: 2px;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #000000;\n  border: 1px solid #000000;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n\n.well-large {\n  padding: 24px;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.well-small {\n  padding: 9px;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n     -moz-transition: opacity 0.15s linear;\n       -o-transition: opacity 0.15s linear;\n          transition: opacity 0.15s linear;\n}\n\n.fade.in {\n  opacity: 1;\n}\n\n.collapse {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition: height 0.35s ease;\n     -moz-transition: height 0.35s ease;\n       -o-transition: height 0.35s ease;\n          transition: height 0.35s ease;\n}\n\n.collapse.in {\n  height: auto;\n}\n\n.close {\n  float: right;\n  font-size: 20px;\n  font-weight: bold;\n  line-height: 20px;\n  color: #000000;\n  text-shadow: 0 1px 0 #ffffff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n\n.close:hover,\n.close:focus {\n  color: #000000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.4;\n  filter: alpha(opacity=40);\n}\n\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n\n.btn {\n  display: inline-block;\n  *display: inline;\n  padding: 4px 12px;\n  margin-bottom: 0;\n  *margin-left: .3em;\n  font-size: 16px;\n  line-height: 20px;\n  color: #333333;\n  text-align: center;\n  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);\n  vertical-align: middle;\n  cursor: pointer;\n  background-color: #e6e6e6;\n  *background-color: #e6e6e6;\n  background-image: -moz-linear-gradient(top, #e6e6e6, #e6e6e6);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#e6e6e6));\n  background-image: -webkit-linear-gradient(top, #e6e6e6, #e6e6e6);\n  background-image: -o-linear-gradient(top, #e6e6e6, #e6e6e6);\n  background-image: linear-gradient(to bottom, #e6e6e6, #e6e6e6);\n  background-repeat: repeat-x;\n  border: 1px solid #bbbbbb;\n  *border: 0;\n  border-color: #e6e6e6 #e6e6e6 #bfbfbf;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  border-bottom-color: #a2a2a2;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffe6e6e6', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  *zoom: 1;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.btn:hover,\n.btn:focus,\n.btn:active,\n.btn.active,\n.btn.disabled,\n.btn[disabled] {\n  color: #333333;\n  background-color: #e6e6e6;\n  *background-color: #d9d9d9;\n}\n\n.btn:active,\n.btn.active {\n  background-color: #cccccc \\9;\n}\n\n.btn:first-child {\n  *margin-left: 0;\n}\n\n.btn:hover,\n.btn:focus {\n  color: #333333;\n  text-decoration: none;\n  background-position: 0 -15px;\n  -webkit-transition: background-position 0.1s linear;\n     -moz-transition: background-position 0.1s linear;\n       -o-transition: background-position 0.1s linear;\n          transition: background-position 0.1s linear;\n}\n\n.btn:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n\n.btn.active,\n.btn:active {\n  background-image: none;\n  outline: 0;\n  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.btn.disabled,\n.btn[disabled] {\n  cursor: default;\n  background-image: none;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n     -moz-box-shadow: none;\n          box-shadow: none;\n}\n\n.btn-large {\n  padding: 11px 19px;\n  font-size: 20px;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.btn-large [class^=\"icon-\"],\n.btn-large [class*=\" icon-\"] {\n  margin-top: 4px;\n}\n\n.btn-small {\n  padding: 2px 10px;\n  font-size: 13.6px;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.btn-small [class^=\"icon-\"],\n.btn-small [class*=\" icon-\"] {\n  margin-top: 0;\n}\n\n.btn-mini [class^=\"icon-\"],\n.btn-mini [class*=\" icon-\"] {\n  margin-top: -1px;\n}\n\n.btn-mini {\n  padding: 1px 6px;\n  font-size: 12px;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n  padding-right: 0;\n  padding-left: 0;\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\n\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n\n.btn-primary.active,\n.btn-warning.active,\n.btn-danger.active,\n.btn-success.active,\n.btn-info.active,\n.btn-inverse.active {\n  color: rgba(255, 255, 255, 0.75);\n}\n\n.btn-primary {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #00eeee;\n  *background-color: #00eeee;\n  background-image: -moz-linear-gradient(top, #00eeee, #00eeee);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#00eeee), to(#00eeee));\n  background-image: -webkit-linear-gradient(top, #00eeee, #00eeee);\n  background-image: -o-linear-gradient(top, #00eeee, #00eeee);\n  background-image: linear-gradient(to bottom, #00eeee, #00eeee);\n  background-repeat: repeat-x;\n  border-color: #00eeee #00eeee #00a1a2;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00eeee', endColorstr='#ff00eeee', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-primary:hover,\n.btn-primary:focus,\n.btn-primary:active,\n.btn-primary.active,\n.btn-primary.disabled,\n.btn-primary[disabled] {\n  color: #ffffff;\n  background-color: #00eeee;\n  *background-color: #00d4d5;\n}\n\n.btn-primary:active,\n.btn-primary.active {\n  background-color: #00bbbb \\9;\n}\n\n.btn-warning {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #ffaa00;\n  *background-color: #ffaa00;\n  background-image: -moz-linear-gradient(top, #ffaa00, #ffaa00);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffaa00), to(#ffaa00));\n  background-image: -webkit-linear-gradient(top, #ffaa00, #ffaa00);\n  background-image: -o-linear-gradient(top, #ffaa00, #ffaa00);\n  background-image: linear-gradient(to bottom, #ffaa00, #ffaa00);\n  background-repeat: repeat-x;\n  border-color: #ffaa00 #ffaa00 #b37700;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffaa00', endColorstr='#ffffaa00', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-warning:hover,\n.btn-warning:focus,\n.btn-warning:active,\n.btn-warning.active,\n.btn-warning.disabled,\n.btn-warning[disabled] {\n  color: #ffffff;\n  background-color: #ffaa00;\n  *background-color: #e69900;\n}\n\n.btn-warning:active,\n.btn-warning.active {\n  background-color: #cc8800 \\9;\n}\n\n.btn-danger {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #ff0000;\n  *background-color: #ff0000;\n  background-image: -moz-linear-gradient(top, #ff0000, #ff0000);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ff0000), to(#ff0000));\n  background-image: -webkit-linear-gradient(top, #ff0000, #ff0000);\n  background-image: -o-linear-gradient(top, #ff0000, #ff0000);\n  background-image: linear-gradient(to bottom, #ff0000, #ff0000);\n  background-repeat: repeat-x;\n  border-color: #ff0000 #ff0000 #b30000;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff0000', endColorstr='#ffff0000', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-danger:hover,\n.btn-danger:focus,\n.btn-danger:active,\n.btn-danger.active,\n.btn-danger.disabled,\n.btn-danger[disabled] {\n  color: #ffffff;\n  background-color: #ff0000;\n  *background-color: #e60000;\n}\n\n.btn-danger:active,\n.btn-danger.active {\n  background-color: #cc0000 \\9;\n}\n\n.btn-success {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #00ff00;\n  *background-color: #00ff00;\n  background-image: -moz-linear-gradient(top, #00ff00, #00ff00);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#00ff00), to(#00ff00));\n  background-image: -webkit-linear-gradient(top, #00ff00, #00ff00);\n  background-image: -o-linear-gradient(top, #00ff00, #00ff00);\n  background-image: linear-gradient(to bottom, #00ff00, #00ff00);\n  background-repeat: repeat-x;\n  border-color: #00ff00 #00ff00 #00b300;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff00', endColorstr='#ff00ff00', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-success:hover,\n.btn-success:focus,\n.btn-success:active,\n.btn-success.active,\n.btn-success.disabled,\n.btn-success[disabled] {\n  color: #ffffff;\n  background-color: #00ff00;\n  *background-color: #00e600;\n}\n\n.btn-success:active,\n.btn-success.active {\n  background-color: #00cc00 \\9;\n}\n\n.btn-info {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #00ffff;\n  *background-color: #00ffff;\n  background-image: -moz-linear-gradient(top, #00ffff, #00ffff);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#00ffff), to(#00ffff));\n  background-image: -webkit-linear-gradient(top, #00ffff, #00ffff);\n  background-image: -o-linear-gradient(top, #00ffff, #00ffff);\n  background-image: linear-gradient(to bottom, #00ffff, #00ffff);\n  background-repeat: repeat-x;\n  border-color: #00ffff #00ffff #00b2b3;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ffff', endColorstr='#ff00ffff', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-info:hover,\n.btn-info:focus,\n.btn-info:active,\n.btn-info.active,\n.btn-info.disabled,\n.btn-info[disabled] {\n  color: #ffffff;\n  background-color: #00ffff;\n  *background-color: #00e5e6;\n}\n\n.btn-info:active,\n.btn-info.active {\n  background-color: #00cccc \\9;\n}\n\n.btn-inverse {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #000000;\n  *background-color: #000000;\n  background-image: -moz-linear-gradient(top, #000000, #000000);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#000000), to(#000000));\n  background-image: -webkit-linear-gradient(top, #000000, #000000);\n  background-image: -o-linear-gradient(top, #000000, #000000);\n  background-image: linear-gradient(to bottom, #000000, #000000);\n  background-repeat: repeat-x;\n  border-color: #000000 #000000 #000000;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff000000', endColorstr='#ff000000', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-inverse:hover,\n.btn-inverse:focus,\n.btn-inverse:active,\n.btn-inverse.active,\n.btn-inverse.disabled,\n.btn-inverse[disabled] {\n  color: #ffffff;\n  background-color: #000000;\n  *background-color: #000000;\n}\n\n.btn-inverse:active,\n.btn-inverse.active {\n  background-color: #000000 \\9;\n}\n\nbutton.btn,\ninput[type=\"submit\"].btn {\n  *padding-top: 3px;\n  *padding-bottom: 3px;\n}\n\nbutton.btn::-moz-focus-inner,\ninput[type=\"submit\"].btn::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\n\nbutton.btn.btn-large,\ninput[type=\"submit\"].btn.btn-large {\n  *padding-top: 7px;\n  *padding-bottom: 7px;\n}\n\nbutton.btn.btn-small,\ninput[type=\"submit\"].btn.btn-small {\n  *padding-top: 3px;\n  *padding-bottom: 3px;\n}\n\nbutton.btn.btn-mini,\ninput[type=\"submit\"].btn.btn-mini {\n  *padding-top: 1px;\n  *padding-bottom: 1px;\n}\n\n.btn-link,\n.btn-link:active,\n.btn-link[disabled] {\n  background-color: transparent;\n  background-image: none;\n  -webkit-box-shadow: none;\n     -moz-box-shadow: none;\n          box-shadow: none;\n}\n\n.btn-link {\n  color: #00eeee;\n  cursor: pointer;\n  border-color: transparent;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.btn-link:hover,\n.btn-link:focus {\n  color: #00eeee;\n  text-decoration: underline;\n  background-color: transparent;\n}\n\n.btn-link[disabled]:hover,\n.btn-link[disabled]:focus {\n  color: #333333;\n  text-decoration: none;\n}\n\n.btn-group {\n  position: relative;\n  display: inline-block;\n  *display: inline;\n  *margin-left: .3em;\n  font-size: 0;\n  white-space: nowrap;\n  vertical-align: middle;\n  *zoom: 1;\n}\n\n.btn-group:first-child {\n  *margin-left: 0;\n}\n\n.btn-group + .btn-group {\n  margin-left: 5px;\n}\n\n.btn-toolbar {\n  margin-top: 10px;\n  margin-bottom: 10px;\n  font-size: 0;\n}\n\n.btn-toolbar > .btn + .btn,\n.btn-toolbar > .btn-group + .btn,\n.btn-toolbar > .btn + .btn-group {\n  margin-left: 5px;\n}\n\n.btn-group > .btn {\n  position: relative;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.btn-group > .btn + .btn {\n  margin-left: -1px;\n}\n\n.btn-group > .btn,\n.btn-group > .dropdown-menu,\n.btn-group > .popover {\n  font-size: 16px;\n}\n\n.btn-group > .btn-mini {\n  font-size: 12px;\n}\n\n.btn-group > .btn-small {\n  font-size: 13.6px;\n}\n\n.btn-group > .btn-large {\n  font-size: 20px;\n}\n\n.btn-group > .btn:first-child {\n  margin-left: 0;\n  -webkit-border-bottom-left-radius: none;\n          border-bottom-left-radius: none;\n  -webkit-border-top-left-radius: none;\n          border-top-left-radius: none;\n  -moz-border-radius-bottomleft: none;\n  -moz-border-radius-topleft: none;\n}\n\n.btn-group > .btn:last-child,\n.btn-group > .dropdown-toggle {\n  -webkit-border-top-right-radius: none;\n          border-top-right-radius: none;\n  -webkit-border-bottom-right-radius: none;\n          border-bottom-right-radius: none;\n  -moz-border-radius-topright: none;\n  -moz-border-radius-bottomright: none;\n}\n\n.btn-group > .btn.large:first-child {\n  margin-left: 0;\n  -webkit-border-bottom-left-radius: none;\n          border-bottom-left-radius: none;\n  -webkit-border-top-left-radius: none;\n          border-top-left-radius: none;\n  -moz-border-radius-bottomleft: none;\n  -moz-border-radius-topleft: none;\n}\n\n.btn-group > .btn.large:last-child,\n.btn-group > .large.dropdown-toggle {\n  -webkit-border-top-right-radius: none;\n          border-top-right-radius: none;\n  -webkit-border-bottom-right-radius: none;\n          border-bottom-right-radius: none;\n  -moz-border-radius-topright: none;\n  -moz-border-radius-bottomright: none;\n}\n\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active {\n  z-index: 2;\n}\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n\n.btn-group > .btn + .dropdown-toggle {\n  *padding-top: 5px;\n  padding-right: 8px;\n  *padding-bottom: 5px;\n  padding-left: 8px;\n  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n          box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.btn-group > .btn-mini + .dropdown-toggle {\n  *padding-top: 2px;\n  padding-right: 5px;\n  *padding-bottom: 2px;\n  padding-left: 5px;\n}\n\n.btn-group > .btn-small + .dropdown-toggle {\n  *padding-top: 5px;\n  *padding-bottom: 4px;\n}\n\n.btn-group > .btn-large + .dropdown-toggle {\n  *padding-top: 7px;\n  padding-right: 12px;\n  *padding-bottom: 7px;\n  padding-left: 12px;\n}\n\n.btn-group.open .dropdown-toggle {\n  background-image: none;\n  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.btn-group.open .btn.dropdown-toggle {\n  background-color: #e6e6e6;\n}\n\n.btn-group.open .btn-primary.dropdown-toggle {\n  background-color: #00eeee;\n}\n\n.btn-group.open .btn-warning.dropdown-toggle {\n  background-color: #ffaa00;\n}\n\n.btn-group.open .btn-danger.dropdown-toggle {\n  background-color: #ff0000;\n}\n\n.btn-group.open .btn-success.dropdown-toggle {\n  background-color: #00ff00;\n}\n\n.btn-group.open .btn-info.dropdown-toggle {\n  background-color: #00ffff;\n}\n\n.btn-group.open .btn-inverse.dropdown-toggle {\n  background-color: #000000;\n}\n\n.btn .caret {\n  margin-top: 8px;\n  margin-left: 0;\n}\n\n.btn-large .caret {\n  margin-top: 6px;\n}\n\n.btn-large .caret {\n  border-top-width: 5px;\n  border-right-width: 5px;\n  border-left-width: 5px;\n}\n\n.btn-mini .caret,\n.btn-small .caret {\n  margin-top: 8px;\n}\n\n.dropup .btn-large .caret {\n  border-bottom-width: 5px;\n}\n\n.btn-primary .caret,\n.btn-warning .caret,\n.btn-danger .caret,\n.btn-info .caret,\n.btn-success .caret,\n.btn-inverse .caret {\n  border-top-color: #ffffff;\n  border-bottom-color: #ffffff;\n}\n\n.btn-group-vertical {\n  display: inline-block;\n  *display: inline;\n  /* IE7 inline-block hack */\n\n  *zoom: 1;\n}\n\n.btn-group-vertical > .btn {\n  display: block;\n  float: none;\n  max-width: 100%;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.btn-group-vertical > .btn + .btn {\n  margin-top: -1px;\n  margin-left: 0;\n}\n\n.btn-group-vertical > .btn:first-child {\n  -webkit-border-radius: none none 0 0;\n     -moz-border-radius: none none 0 0;\n          border-radius: none none 0 0;\n}\n\n.btn-group-vertical > .btn:last-child {\n  -webkit-border-radius: 0 0 none none;\n     -moz-border-radius: 0 0 none none;\n          border-radius: 0 0 none none;\n}\n\n.btn-group-vertical > .btn-large:first-child {\n  -webkit-border-radius: none none 0 0;\n     -moz-border-radius: none none 0 0;\n          border-radius: none none 0 0;\n}\n\n.btn-group-vertical > .btn-large:last-child {\n  -webkit-border-radius: 0 0 none none;\n     -moz-border-radius: 0 0 none none;\n          border-radius: 0 0 none none;\n}\n\n.alert {\n  padding: 8px 35px 8px 14px;\n  margin-bottom: 20px;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n  background-color: #ffff00;\n  border: 1px solid #ff0000;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.alert,\n.alert h4 {\n  color: #000000;\n}\n\n.alert h4 {\n  margin: 0;\n}\n\n.alert .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  line-height: 20px;\n}\n\n.alert-success {\n  color: #ffffff;\n  background-color: #008000;\n  border-color: #00aa00;\n}\n\n.alert-success h4 {\n  color: #ffffff;\n}\n\n.alert-danger,\n.alert-error {\n  color: #ffffff;\n  background-color: #ff0000;\n  border-color: #aa0000;\n}\n\n.alert-danger h4,\n.alert-error h4 {\n  color: #ffffff;\n}\n\n.alert-info {\n  color: #000000;\n  background-color: #00ffff;\n  border-color: #aaaa00;\n}\n\n.alert-info h4 {\n  color: #000000;\n}\n\n.alert-block {\n  padding-top: 14px;\n  padding-bottom: 14px;\n}\n\n.alert-block > p,\n.alert-block > ul {\n  margin-bottom: 0;\n}\n\n.alert-block p + p {\n  margin-top: 5px;\n}\n\n.nav {\n  margin-bottom: 20px;\n  margin-left: 0;\n  list-style: none;\n}\n\n.nav > li > a {\n  display: block;\n}\n\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n\n.nav > li > a > img {\n  max-width: none;\n}\n\n.nav > .pull-right {\n  float: right;\n}\n\n.nav-header {\n  display: block;\n  padding: 3px 15px;\n  font-size: 11px;\n  font-weight: bold;\n  line-height: 20px;\n  color: #999999;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n  text-transform: uppercase;\n}\n\n.nav li + .nav-header {\n  margin-top: 9px;\n}\n\n.nav-list {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-bottom: 0;\n}\n\n.nav-list > li > a,\n.nav-list .nav-header {\n  margin-right: -15px;\n  margin-left: -15px;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n}\n\n.nav-list > li > a {\n  padding: 3px 15px;\n}\n\n.nav-list > .active > a,\n.nav-list > .active > a:hover,\n.nav-list > .active > a:focus {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n  background-color: #00eeee;\n}\n\n.nav-list [class^=\"icon-\"],\n.nav-list [class*=\" icon-\"] {\n  margin-right: 2px;\n}\n\n.nav-list .divider {\n  *width: 100%;\n  height: 1px;\n  margin: 9px 1px;\n  *margin: -5px 0 5px;\n  overflow: hidden;\n  background-color: #e5e5e5;\n  border-bottom: 1px solid #ffffff;\n}\n\n.nav-tabs,\n.nav-pills {\n  *zoom: 1;\n}\n\n.nav-tabs:before,\n.nav-pills:before,\n.nav-tabs:after,\n.nav-pills:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.nav-tabs:after,\n.nav-pills:after {\n  clear: both;\n}\n\n.nav-tabs > li,\n.nav-pills > li {\n  float: left;\n}\n\n.nav-tabs > li > a,\n.nav-pills > li > a {\n  padding-right: 12px;\n  padding-left: 12px;\n  margin-right: 2px;\n  line-height: 14px;\n}\n\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs > li {\n  margin-bottom: -1px;\n}\n\n.nav-tabs > li > a {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  line-height: 20px;\n  border: 1px solid transparent;\n  -webkit-border-radius: 4px 4px 0 0;\n     -moz-border-radius: 4px 4px 0 0;\n          border-radius: 4px 4px 0 0;\n}\n\n.nav-tabs > li > a:hover,\n.nav-tabs > li > a:focus {\n  border-color: #eeeeee #eeeeee #dddddd;\n}\n\n.nav-tabs > .active > a,\n.nav-tabs > .active > a:hover,\n.nav-tabs > .active > a:focus {\n  color: #555555;\n  cursor: default;\n  background-color: #0000ff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n}\n\n.nav-pills > li > a {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  margin-top: 2px;\n  margin-bottom: 2px;\n  -webkit-border-radius: 5px;\n     -moz-border-radius: 5px;\n          border-radius: 5px;\n}\n\n.nav-pills > .active > a,\n.nav-pills > .active > a:hover,\n.nav-pills > .active > a:focus {\n  color: #ffffff;\n  background-color: #00eeee;\n}\n\n.nav-stacked > li {\n  float: none;\n}\n\n.nav-stacked > li > a {\n  margin-right: 0;\n}\n\n.nav-tabs.nav-stacked {\n  border-bottom: 0;\n}\n\n.nav-tabs.nav-stacked > li > a {\n  border: 1px solid #ddd;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.nav-tabs.nav-stacked > li:first-child > a {\n  -webkit-border-top-right-radius: 4px;\n          border-top-right-radius: 4px;\n  -webkit-border-top-left-radius: 4px;\n          border-top-left-radius: 4px;\n  -moz-border-radius-topright: 4px;\n  -moz-border-radius-topleft: 4px;\n}\n\n.nav-tabs.nav-stacked > li:last-child > a {\n  -webkit-border-bottom-right-radius: 4px;\n          border-bottom-right-radius: 4px;\n  -webkit-border-bottom-left-radius: 4px;\n          border-bottom-left-radius: 4px;\n  -moz-border-radius-bottomright: 4px;\n  -moz-border-radius-bottomleft: 4px;\n}\n\n.nav-tabs.nav-stacked > li > a:hover,\n.nav-tabs.nav-stacked > li > a:focus {\n  z-index: 2;\n  border-color: #ddd;\n}\n\n.nav-pills.nav-stacked > li > a {\n  margin-bottom: 3px;\n}\n\n.nav-pills.nav-stacked > li:last-child > a {\n  margin-bottom: 1px;\n}\n\n.nav-tabs .dropdown-menu {\n  -webkit-border-radius: 0 0 6px 6px;\n     -moz-border-radius: 0 0 6px 6px;\n          border-radius: 0 0 6px 6px;\n}\n\n.nav-pills .dropdown-menu {\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n}\n\n.nav .dropdown-toggle .caret {\n  margin-top: 6px;\n  border-top-color: #00eeee;\n  border-bottom-color: #00eeee;\n}\n\n.nav .dropdown-toggle:hover .caret,\n.nav .dropdown-toggle:focus .caret {\n  border-top-color: #00eeee;\n  border-bottom-color: #00eeee;\n}\n\n/* move down carets for tabs */\n\n.nav-tabs .dropdown-toggle .caret {\n  margin-top: 8px;\n}\n\n.nav .active .dropdown-toggle .caret {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n\n.nav-tabs .active .dropdown-toggle .caret {\n  border-top-color: #555555;\n  border-bottom-color: #555555;\n}\n\n.nav > .dropdown.active > a:hover,\n.nav > .dropdown.active > a:focus {\n  cursor: pointer;\n}\n\n.nav-tabs .open .dropdown-toggle,\n.nav-pills .open .dropdown-toggle,\n.nav > li.dropdown.open.active > a:hover,\n.nav > li.dropdown.open.active > a:focus {\n  color: #ffffff;\n  background-color: #999999;\n  border-color: #999999;\n}\n\n.nav li.dropdown.open .caret,\n.nav li.dropdown.open.active .caret,\n.nav li.dropdown.open a:hover .caret,\n.nav li.dropdown.open a:focus .caret {\n  border-top-color: #ffffff;\n  border-bottom-color: #ffffff;\n  opacity: 1;\n  filter: alpha(opacity=100);\n}\n\n.tabs-stacked .open > a:hover,\n.tabs-stacked .open > a:focus {\n  border-color: #999999;\n}\n\n.tabbable {\n  *zoom: 1;\n}\n\n.tabbable:before,\n.tabbable:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.tabbable:after {\n  clear: both;\n}\n\n.tab-content {\n  overflow: auto;\n}\n\n.tabs-below > .nav-tabs,\n.tabs-right > .nav-tabs,\n.tabs-left > .nav-tabs {\n  border-bottom: 0;\n}\n\n.tab-content > .tab-pane,\n.pill-content > .pill-pane {\n  display: none;\n}\n\n.tab-content > .active,\n.pill-content > .active {\n  display: block;\n}\n\n.tabs-below > .nav-tabs {\n  border-top: 1px solid #ddd;\n}\n\n.tabs-below > .nav-tabs > li {\n  margin-top: -1px;\n  margin-bottom: 0;\n}\n\n.tabs-below > .nav-tabs > li > a {\n  -webkit-border-radius: 0 0 4px 4px;\n     -moz-border-radius: 0 0 4px 4px;\n          border-radius: 0 0 4px 4px;\n}\n\n.tabs-below > .nav-tabs > li > a:hover,\n.tabs-below > .nav-tabs > li > a:focus {\n  border-top-color: #ddd;\n  border-bottom-color: transparent;\n}\n\n.tabs-below > .nav-tabs > .active > a,\n.tabs-below > .nav-tabs > .active > a:hover,\n.tabs-below > .nav-tabs > .active > a:focus {\n  border-color: transparent #ddd #ddd #ddd;\n}\n\n.tabs-left > .nav-tabs > li,\n.tabs-right > .nav-tabs > li {\n  float: none;\n}\n\n.tabs-left > .nav-tabs > li > a,\n.tabs-right > .nav-tabs > li > a {\n  min-width: 74px;\n  margin-right: 0;\n  margin-bottom: 3px;\n}\n\n.tabs-left > .nav-tabs {\n  float: left;\n  margin-right: 19px;\n  border-right: 1px solid #ddd;\n}\n\n.tabs-left > .nav-tabs > li > a {\n  margin-right: -1px;\n  -webkit-border-radius: 4px 0 0 4px;\n     -moz-border-radius: 4px 0 0 4px;\n          border-radius: 4px 0 0 4px;\n}\n\n.tabs-left > .nav-tabs > li > a:hover,\n.tabs-left > .nav-tabs > li > a:focus {\n  border-color: #eeeeee #dddddd #eeeeee #eeeeee;\n}\n\n.tabs-left > .nav-tabs .active > a,\n.tabs-left > .nav-tabs .active > a:hover,\n.tabs-left > .nav-tabs .active > a:focus {\n  border-color: #ddd transparent #ddd #ddd;\n  *border-right-color: #ffffff;\n}\n\n.tabs-right > .nav-tabs {\n  float: right;\n  margin-left: 19px;\n  border-left: 1px solid #ddd;\n}\n\n.tabs-right > .nav-tabs > li > a {\n  margin-left: -1px;\n  -webkit-border-radius: 0 4px 4px 0;\n     -moz-border-radius: 0 4px 4px 0;\n          border-radius: 0 4px 4px 0;\n}\n\n.tabs-right > .nav-tabs > li > a:hover,\n.tabs-right > .nav-tabs > li > a:focus {\n  border-color: #eeeeee #eeeeee #eeeeee #dddddd;\n}\n\n.tabs-right > .nav-tabs .active > a,\n.tabs-right > .nav-tabs .active > a:hover,\n.tabs-right > .nav-tabs .active > a:focus {\n  border-color: #ddd #ddd #ddd transparent;\n  *border-left-color: #ffffff;\n}\n\n.nav > .disabled > a {\n  color: #999999;\n}\n\n.nav > .disabled > a:hover,\n.nav > .disabled > a:focus {\n  text-decoration: none;\n  cursor: default;\n  background-color: transparent;\n}\n\n.navbar {\n  *position: relative;\n  *z-index: 2;\n  margin-bottom: 20px;\n  overflow: visible;\n}\n\n.navbar-inner {\n  min-height: 40px;\n  padding-right: 20px;\n  padding-left: 20px;\n  background-color: #000000;\n  background-image: -moz-linear-gradient(top, #000000, #000000);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#000000), to(#000000));\n  background-image: -webkit-linear-gradient(top, #000000, #000000);\n  background-image: -o-linear-gradient(top, #000000, #000000);\n  background-image: linear-gradient(to bottom, #000000, #000000);\n  background-repeat: repeat-x;\n  border: 1px solid #000000;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff000000', endColorstr='#ff000000', GradientType=0);\n  *zoom: 1;\n  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);\n     -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);\n          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);\n}\n\n.navbar-inner:before,\n.navbar-inner:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.navbar-inner:after {\n  clear: both;\n}\n\n.navbar .container {\n  width: auto;\n}\n\n.nav-collapse.collapse {\n  height: auto;\n  overflow: visible;\n}\n\n.navbar .brand {\n  display: block;\n  float: left;\n  padding: 10px 20px 10px;\n  margin-left: -20px;\n  font-size: 20px;\n  font-weight: 200;\n  color: #00ff00;\n  text-shadow: 0 1px 0 #000000;\n}\n\n.navbar .brand:hover,\n.navbar .brand:focus {\n  text-decoration: none;\n}\n\n.navbar-text {\n  margin-bottom: 0;\n  line-height: 40px;\n  color: #ff00ff;\n}\n\n.navbar-link {\n  color: #00ff00;\n}\n\n.navbar-link:hover,\n.navbar-link:focus {\n  color: #333333;\n}\n\n.navbar .divider-vertical {\n  height: 40px;\n  margin: 0 9px;\n  border-right: 1px solid #000000;\n  border-left: 1px solid #000000;\n}\n\n.navbar .btn,\n.navbar .btn-group {\n  margin-top: 5px;\n}\n\n.navbar .btn-group .btn,\n.navbar .input-prepend .btn,\n.navbar .input-append .btn,\n.navbar .input-prepend .btn-group,\n.navbar .input-append .btn-group {\n  margin-top: 0;\n}\n\n.navbar-form {\n  margin-bottom: 0;\n  *zoom: 1;\n}\n\n.navbar-form:before,\n.navbar-form:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.navbar-form:after {\n  clear: both;\n}\n\n.navbar-form input,\n.navbar-form select,\n.navbar-form .radio,\n.navbar-form .checkbox {\n  margin-top: 5px;\n}\n\n.navbar-form input,\n.navbar-form select,\n.navbar-form .btn {\n  display: inline-block;\n  margin-bottom: 0;\n}\n\n.navbar-form input[type=\"image\"],\n.navbar-form input[type=\"checkbox\"],\n.navbar-form input[type=\"radio\"] {\n  margin-top: 3px;\n}\n\n.navbar-form .input-append,\n.navbar-form .input-prepend {\n  margin-top: 5px;\n  white-space: nowrap;\n}\n\n.navbar-form .input-append input,\n.navbar-form .input-prepend input {\n  margin-top: 0;\n}\n\n.navbar-search {\n  position: relative;\n  float: left;\n  margin-top: 5px;\n  margin-bottom: 0;\n}\n\n.navbar-search .search-query {\n  padding: 4px 14px;\n  margin-bottom: 0;\n  font-family: \"Comic Sans\", \"Comic Sans MS\", \"Chalkboard\", \"ChalkboardSE-Regular\", \"Marker Felt\", \"Purisa\", \"URW Chancery L\", cursive, sans-serif;\n  font-size: 13px;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-border-radius: 15px;\n     -moz-border-radius: 15px;\n          border-radius: 15px;\n}\n\n.navbar-static-top {\n  position: static;\n  margin-bottom: 0;\n}\n\n.navbar-static-top .navbar-inner {\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n  margin-bottom: 0;\n}\n\n.navbar-fixed-top .navbar-inner,\n.navbar-static-top .navbar-inner {\n  border-width: 0 0 1px;\n}\n\n.navbar-fixed-bottom .navbar-inner {\n  border-width: 1px 0 0;\n}\n\n.navbar-fixed-top .navbar-inner,\n.navbar-fixed-bottom .navbar-inner {\n  padding-right: 0;\n  padding-left: 0;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.navbar-static-top .container,\n.navbar-fixed-top .container,\n.navbar-fixed-bottom .container {\n  width: 940px;\n}\n\n.navbar-fixed-top {\n  top: 0;\n}\n\n.navbar-fixed-top .navbar-inner,\n.navbar-static-top .navbar-inner {\n  -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);\n     -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);\n          box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);\n}\n\n.navbar-fixed-bottom {\n  bottom: 0;\n}\n\n.navbar-fixed-bottom .navbar-inner {\n  -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);\n     -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);\n          box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);\n}\n\n.navbar .nav {\n  position: relative;\n  left: 0;\n  display: block;\n  float: left;\n  margin: 0 10px 0 0;\n}\n\n.navbar .nav.pull-right {\n  float: right;\n  margin-right: 0;\n}\n\n.navbar .nav > li {\n  float: left;\n}\n\n.navbar .nav > li > a {\n  float: none;\n  padding: 10px 15px 10px;\n  color: #00ff00;\n  text-decoration: none;\n  text-shadow: 0 1px 0 #000000;\n}\n\n.navbar .nav .dropdown-toggle .caret {\n  margin-top: 8px;\n}\n\n.navbar .nav > li > a:focus,\n.navbar .nav > li > a:hover {\n  color: #333333;\n  text-decoration: none;\n  background-color: transparent;\n}\n\n.navbar .nav > .active > a,\n.navbar .nav > .active > a:hover,\n.navbar .nav > .active > a:focus {\n  color: #555555;\n  text-decoration: none;\n  background-color: #000000;\n  -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);\n     -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);\n          box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);\n}\n\n.navbar .btn-navbar {\n  display: none;\n  float: right;\n  padding: 7px 10px;\n  margin-right: 5px;\n  margin-left: 5px;\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #000000;\n  *background-color: #000000;\n  background-image: -moz-linear-gradient(top, #000000, #000000);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#000000), to(#000000));\n  background-image: -webkit-linear-gradient(top, #000000, #000000);\n  background-image: -o-linear-gradient(top, #000000, #000000);\n  background-image: linear-gradient(to bottom, #000000, #000000);\n  background-repeat: repeat-x;\n  border-color: #000000 #000000 #000000;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff000000', endColorstr='#ff000000', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n}\n\n.navbar .btn-navbar:hover,\n.navbar .btn-navbar:focus,\n.navbar .btn-navbar:active,\n.navbar .btn-navbar.active,\n.navbar .btn-navbar.disabled,\n.navbar .btn-navbar[disabled] {\n  color: #ffffff;\n  background-color: #000000;\n  *background-color: #000000;\n}\n\n.navbar .btn-navbar:active,\n.navbar .btn-navbar.active {\n  background-color: #000000 \\9;\n}\n\n.navbar .btn-navbar .icon-bar {\n  display: block;\n  width: 18px;\n  height: 2px;\n  background-color: #f5f5f5;\n  -webkit-border-radius: 1px;\n     -moz-border-radius: 1px;\n          border-radius: 1px;\n  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n     -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n          box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n}\n\n.btn-navbar .icon-bar + .icon-bar {\n  margin-top: 3px;\n}\n\n.navbar .nav > li > .dropdown-menu:before {\n  position: absolute;\n  top: -7px;\n  left: 9px;\n  display: inline-block;\n  border-right: 7px solid transparent;\n  border-bottom: 7px solid #ccc;\n  border-left: 7px solid transparent;\n  border-bottom-color: rgba(0, 0, 0, 0.2);\n  content: '';\n}\n\n.navbar .nav > li > .dropdown-menu:after {\n  position: absolute;\n  top: -6px;\n  left: 10px;\n  display: inline-block;\n  border-right: 6px solid transparent;\n  border-bottom: 6px solid #ffffff;\n  border-left: 6px solid transparent;\n  content: '';\n}\n\n.navbar-fixed-bottom .nav > li > .dropdown-menu:before {\n  top: auto;\n  bottom: -7px;\n  border-top: 7px solid #ccc;\n  border-bottom: 0;\n  border-top-color: rgba(0, 0, 0, 0.2);\n}\n\n.navbar-fixed-bottom .nav > li > .dropdown-menu:after {\n  top: auto;\n  bottom: -6px;\n  border-top: 6px solid #ffffff;\n  border-bottom: 0;\n}\n\n.navbar .nav li.dropdown > a:hover .caret,\n.navbar .nav li.dropdown > a:focus .caret {\n  border-top-color: #333333;\n  border-bottom-color: #333333;\n}\n\n.navbar .nav li.dropdown.open > .dropdown-toggle,\n.navbar .nav li.dropdown.active > .dropdown-toggle,\n.navbar .nav li.dropdown.open.active > .dropdown-toggle {\n  color: #555555;\n  background-color: #000000;\n}\n\n.navbar .nav li.dropdown > .dropdown-toggle .caret {\n  border-top-color: #00ff00;\n  border-bottom-color: #00ff00;\n}\n\n.navbar .nav li.dropdown.open > .dropdown-toggle .caret,\n.navbar .nav li.dropdown.active > .dropdown-toggle .caret,\n.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {\n  border-top-color: #555555;\n  border-bottom-color: #555555;\n}\n\n.navbar .pull-right > li > .dropdown-menu,\n.navbar .nav > li > .dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n\n.navbar .pull-right > li > .dropdown-menu:before,\n.navbar .nav > li > .dropdown-menu.pull-right:before {\n  right: 12px;\n  left: auto;\n}\n\n.navbar .pull-right > li > .dropdown-menu:after,\n.navbar .nav > li > .dropdown-menu.pull-right:after {\n  right: 13px;\n  left: auto;\n}\n\n.navbar .pull-right > li > .dropdown-menu .dropdown-menu,\n.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {\n  right: 100%;\n  left: auto;\n  margin-right: -1px;\n  margin-left: 0;\n  -webkit-border-radius: 6px 0 6px 6px;\n     -moz-border-radius: 6px 0 6px 6px;\n          border-radius: 6px 0 6px 6px;\n}\n\n.navbar-inverse .navbar-inner {\n  background-color: #ff00ff;\n  background-image: -moz-linear-gradient(top, #ff00ff, #ff00ff);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ff00ff), to(#ff00ff));\n  background-image: -webkit-linear-gradient(top, #ff00ff, #ff00ff);\n  background-image: -o-linear-gradient(top, #ff00ff, #ff00ff);\n  background-image: linear-gradient(to bottom, #ff00ff, #ff00ff);\n  background-repeat: repeat-x;\n  border-color: #008000;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00ff', endColorstr='#ffff00ff', GradientType=0);\n}\n\n.navbar-inverse .brand,\n.navbar-inverse .nav > li > a {\n  color: #0000ff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n\n.navbar-inverse .brand:hover,\n.navbar-inverse .nav > li > a:hover,\n.navbar-inverse .brand:focus,\n.navbar-inverse .nav > li > a:focus {\n  color: #0000ff;\n}\n\n.navbar-inverse .brand {\n  color: #0000ff;\n}\n\n.navbar-inverse .navbar-text {\n  color: #000000;\n}\n\n.navbar-inverse .nav > li > a:focus,\n.navbar-inverse .nav > li > a:hover {\n  color: #0000ff;\n  background-color: transparent;\n}\n\n.navbar-inverse .nav .active > a,\n.navbar-inverse .nav .active > a:hover,\n.navbar-inverse .nav .active > a:focus {\n  color: #0000ff;\n  background-color: #ff00ff;\n}\n\n.navbar-inverse .navbar-link {\n  color: #0000ff;\n}\n\n.navbar-inverse .navbar-link:hover,\n.navbar-inverse .navbar-link:focus {\n  color: #0000ff;\n}\n\n.navbar-inverse .divider-vertical {\n  border-right-color: #ff00ff;\n  border-left-color: #ff00ff;\n}\n\n.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,\n.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,\n.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {\n  color: #0000ff;\n  background-color: #ff00ff;\n}\n\n.navbar-inverse .nav li.dropdown > a:hover .caret,\n.navbar-inverse .nav li.dropdown > a:focus .caret {\n  border-top-color: #0000ff;\n  border-bottom-color: #0000ff;\n}\n\n.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {\n  border-top-color: #0000ff;\n  border-bottom-color: #0000ff;\n}\n\n.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,\n.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,\n.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {\n  border-top-color: #0000ff;\n  border-bottom-color: #0000ff;\n}\n\n.navbar-inverse .navbar-search .search-query {\n  color: #ffffff;\n  background-color: #ff80ff;\n  border-color: #ff00ff;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\n     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\n          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\n  -webkit-transition: none;\n     -moz-transition: none;\n       -o-transition: none;\n          transition: none;\n}\n\n.navbar-inverse .navbar-search .search-query:-moz-placeholder {\n  color: #cccccc;\n}\n\n.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {\n  color: #cccccc;\n}\n\n.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {\n  color: #cccccc;\n}\n\n.navbar-inverse .navbar-search .search-query:focus,\n.navbar-inverse .navbar-search .search-query.focused {\n  padding: 5px 15px;\n  color: #333333;\n  text-shadow: 0 1px 0 #ffffff;\n  background-color: #ffffff;\n  border: 0;\n  outline: 0;\n  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n     -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n          box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n}\n\n.navbar-inverse .btn-navbar {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #e600e5;\n  *background-color: #e600e5;\n  background-image: -moz-linear-gradient(top, #e600e5, #e600e5);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e600e5), to(#e600e5));\n  background-image: -webkit-linear-gradient(top, #e600e5, #e600e5);\n  background-image: -o-linear-gradient(top, #e600e5, #e600e5);\n  background-image: linear-gradient(to bottom, #e600e5, #e600e5);\n  background-repeat: repeat-x;\n  border-color: #e600e5 #e600e5 #990099;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe600e5', endColorstr='#ffe600e5', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.navbar-inverse .btn-navbar:hover,\n.navbar-inverse .btn-navbar:focus,\n.navbar-inverse .btn-navbar:active,\n.navbar-inverse .btn-navbar.active,\n.navbar-inverse .btn-navbar.disabled,\n.navbar-inverse .btn-navbar[disabled] {\n  color: #ffffff;\n  background-color: #e600e5;\n  *background-color: #cc00cc;\n}\n\n.navbar-inverse .btn-navbar:active,\n.navbar-inverse .btn-navbar.active {\n  background-color: #b300b2 \\9;\n}\n\n.breadcrumb {\n  padding: 8px 15px;\n  margin: 0 0 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.breadcrumb > li {\n  display: inline-block;\n  *display: inline;\n  text-shadow: 0 1px 0 #ffffff;\n  *zoom: 1;\n}\n\n.breadcrumb > li > .divider {\n  padding: 0 5px;\n  color: #ccc;\n}\n\n.breadcrumb > .active {\n  color: #999999;\n}\n\n.pagination {\n  margin: 20px 0;\n}\n\n.pagination ul {\n  display: inline-block;\n  *display: inline;\n  margin-bottom: 0;\n  margin-left: 0;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n  *zoom: 1;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.pagination ul > li {\n  display: inline;\n}\n\n.pagination ul > li > a,\n.pagination ul > li > span {\n  float: left;\n  padding: 4px 12px;\n  line-height: 20px;\n  text-decoration: none;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-left-width: 0;\n}\n\n.pagination ul > li > a:hover,\n.pagination ul > li > a:focus,\n.pagination ul > .active > a,\n.pagination ul > .active > span {\n  background-color: #f5f5f5;\n}\n\n.pagination ul > .active > a,\n.pagination ul > .active > span {\n  color: #999999;\n  cursor: default;\n}\n\n.pagination ul > .disabled > span,\n.pagination ul > .disabled > a,\n.pagination ul > .disabled > a:hover,\n.pagination ul > .disabled > a:focus {\n  color: #999999;\n  cursor: default;\n  background-color: transparent;\n}\n\n.pagination ul > li:first-child > a,\n.pagination ul > li:first-child > span {\n  border-left-width: 1px;\n  -webkit-border-bottom-left-radius: none;\n          border-bottom-left-radius: none;\n  -webkit-border-top-left-radius: none;\n          border-top-left-radius: none;\n  -moz-border-radius-bottomleft: none;\n  -moz-border-radius-topleft: none;\n}\n\n.pagination ul > li:last-child > a,\n.pagination ul > li:last-child > span {\n  -webkit-border-top-right-radius: none;\n          border-top-right-radius: none;\n  -webkit-border-bottom-right-radius: none;\n          border-bottom-right-radius: none;\n  -moz-border-radius-topright: none;\n  -moz-border-radius-bottomright: none;\n}\n\n.pagination-centered {\n  text-align: center;\n}\n\n.pagination-right {\n  text-align: right;\n}\n\n.pagination-large ul > li > a,\n.pagination-large ul > li > span {\n  padding: 11px 19px;\n  font-size: 20px;\n}\n\n.pagination-large ul > li:first-child > a,\n.pagination-large ul > li:first-child > span {\n  -webkit-border-bottom-left-radius: none;\n          border-bottom-left-radius: none;\n  -webkit-border-top-left-radius: none;\n          border-top-left-radius: none;\n  -moz-border-radius-bottomleft: none;\n  -moz-border-radius-topleft: none;\n}\n\n.pagination-large ul > li:last-child > a,\n.pagination-large ul > li:last-child > span {\n  -webkit-border-top-right-radius: none;\n          border-top-right-radius: none;\n  -webkit-border-bottom-right-radius: none;\n          border-bottom-right-radius: none;\n  -moz-border-radius-topright: none;\n  -moz-border-radius-bottomright: none;\n}\n\n.pagination-mini ul > li:first-child > a,\n.pagination-small ul > li:first-child > a,\n.pagination-mini ul > li:first-child > span,\n.pagination-small ul > li:first-child > span {\n  -webkit-border-bottom-left-radius: none;\n          border-bottom-left-radius: none;\n  -webkit-border-top-left-radius: none;\n          border-top-left-radius: none;\n  -moz-border-radius-bottomleft: none;\n  -moz-border-radius-topleft: none;\n}\n\n.pagination-mini ul > li:last-child > a,\n.pagination-small ul > li:last-child > a,\n.pagination-mini ul > li:last-child > span,\n.pagination-small ul > li:last-child > span {\n  -webkit-border-top-right-radius: none;\n          border-top-right-radius: none;\n  -webkit-border-bottom-right-radius: none;\n          border-bottom-right-radius: none;\n  -moz-border-radius-topright: none;\n  -moz-border-radius-bottomright: none;\n}\n\n.pagination-small ul > li > a,\n.pagination-small ul > li > span {\n  padding: 2px 10px;\n  font-size: 13.6px;\n}\n\n.pagination-mini ul > li > a,\n.pagination-mini ul > li > span {\n  padding: 1px 6px;\n  font-size: 12px;\n}\n\n.pager {\n  margin: 20px 0;\n  text-align: center;\n  list-style: none;\n  *zoom: 1;\n}\n\n.pager:before,\n.pager:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.pager:after {\n  clear: both;\n}\n\n.pager li {\n  display: inline;\n}\n\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  -webkit-border-radius: 15px;\n     -moz-border-radius: 15px;\n          border-radius: 15px;\n}\n\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\n\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #999999;\n  cursor: default;\n  background-color: #fff;\n}\n\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000000;\n}\n\n.modal-backdrop.fade {\n  opacity: 0;\n}\n\n.modal-backdrop,\n.modal-backdrop.fade.in {\n  opacity: 0.8;\n  filter: alpha(opacity=80);\n}\n\n.modal {\n  position: fixed;\n  top: 10%;\n  left: 50%;\n  z-index: 1050;\n  width: 560px;\n  margin-left: -280px;\n  background-color: #ffffff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.3);\n  *border: 1px solid #999;\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n  outline: none;\n  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  -webkit-background-clip: padding-box;\n     -moz-background-clip: padding-box;\n          background-clip: padding-box;\n}\n\n.modal.fade {\n  top: -25%;\n  -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;\n     -moz-transition: opacity 0.3s linear, top 0.3s ease-out;\n       -o-transition: opacity 0.3s linear, top 0.3s ease-out;\n          transition: opacity 0.3s linear, top 0.3s ease-out;\n}\n\n.modal.fade.in {\n  top: 10%;\n}\n\n.modal-header {\n  padding: 9px 15px;\n  border-bottom: 1px solid #eee;\n}\n\n.modal-header .close {\n  margin-top: 2px;\n}\n\n.modal-header h3 {\n  margin: 0;\n  line-height: 30px;\n}\n\n.modal-body {\n  position: relative;\n  max-height: 400px;\n  padding: 15px;\n  overflow-y: auto;\n}\n\n.modal-form {\n  margin-bottom: 0;\n}\n\n.modal-footer {\n  padding: 14px 15px 15px;\n  margin-bottom: 0;\n  text-align: right;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  -webkit-border-radius: 0 0 6px 6px;\n     -moz-border-radius: 0 0 6px 6px;\n          border-radius: 0 0 6px 6px;\n  *zoom: 1;\n  -webkit-box-shadow: inset 0 1px 0 #ffffff;\n     -moz-box-shadow: inset 0 1px 0 #ffffff;\n          box-shadow: inset 0 1px 0 #ffffff;\n}\n\n.modal-footer:before,\n.modal-footer:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.modal-footer:after {\n  clear: both;\n}\n\n.modal-footer .btn + .btn {\n  margin-bottom: 0;\n  margin-left: 5px;\n}\n\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n\n.tooltip {\n  position: absolute;\n  z-index: 1030;\n  display: block;\n  font-size: 11px;\n  line-height: 1.4;\n  opacity: 0;\n  filter: alpha(opacity=0);\n  visibility: visible;\n}\n\n.tooltip.in {\n  opacity: 0.8;\n  filter: alpha(opacity=80);\n}\n\n.tooltip.top {\n  padding: 5px 0;\n  margin-top: -3px;\n}\n\n.tooltip.right {\n  padding: 0 5px;\n  margin-left: 3px;\n}\n\n.tooltip.bottom {\n  padding: 5px 0;\n  margin-top: 3px;\n}\n\n.tooltip.left {\n  padding: 0 5px;\n  margin-left: -3px;\n}\n\n.tooltip-inner {\n  max-width: 200px;\n  padding: 8px;\n  color: #ffffff;\n  text-align: center;\n  text-decoration: none;\n  background-color: #000000;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-top-color: #000000;\n  border-width: 5px 5px 0;\n}\n\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-right-color: #000000;\n  border-width: 5px 5px 5px 0;\n}\n\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-left-color: #000000;\n  border-width: 5px 0 5px 5px;\n}\n\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-bottom-color: #000000;\n  border-width: 0 5px 5px;\n}\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1010;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  text-align: left;\n  white-space: normal;\n  background-color: #ffffff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  -webkit-background-clip: padding-box;\n     -moz-background-clip: padding;\n          background-clip: padding-box;\n}\n\n.popover.top {\n  margin-top: -10px;\n}\n\n.popover.right {\n  margin-left: 10px;\n}\n\n.popover.bottom {\n  margin-top: 10px;\n}\n\n.popover.left {\n  margin-left: -10px;\n}\n\n.popover-title {\n  padding: 8px 14px;\n  margin: 0;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 18px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  -webkit-border-radius: 5px 5px 0 0;\n     -moz-border-radius: 5px 5px 0 0;\n          border-radius: 5px 5px 0 0;\n}\n\n.popover-title:empty {\n  display: none;\n}\n\n.popover-content {\n  padding: 9px 14px;\n}\n\n.popover .arrow,\n.popover .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.popover .arrow {\n  border-width: 11px;\n}\n\n.popover .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n\n.popover.top .arrow {\n  bottom: -11px;\n  left: 50%;\n  margin-left: -11px;\n  border-top-color: #999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  border-bottom-width: 0;\n}\n\n.popover.top .arrow:after {\n  bottom: 1px;\n  margin-left: -10px;\n  border-top-color: #ffffff;\n  border-bottom-width: 0;\n}\n\n.popover.right .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-right-color: #999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n  border-left-width: 0;\n}\n\n.popover.right .arrow:after {\n  bottom: -10px;\n  left: 1px;\n  border-right-color: #ffffff;\n  border-left-width: 0;\n}\n\n.popover.bottom .arrow {\n  top: -11px;\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-color: #999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  border-top-width: 0;\n}\n\n.popover.bottom .arrow:after {\n  top: 1px;\n  margin-left: -10px;\n  border-bottom-color: #ffffff;\n  border-top-width: 0;\n}\n\n.popover.left .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-left-color: #999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n  border-right-width: 0;\n}\n\n.popover.left .arrow:after {\n  right: 1px;\n  bottom: -10px;\n  border-left-color: #ffffff;\n  border-right-width: 0;\n}\n\n.thumbnails {\n  margin-left: -20px;\n  list-style: none;\n  *zoom: 1;\n}\n\n.thumbnails:before,\n.thumbnails:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.thumbnails:after {\n  clear: both;\n}\n\n.row-fluid .thumbnails {\n  margin-left: 0;\n}\n\n.thumbnails > li {\n  float: left;\n  margin-bottom: 20px;\n  margin-left: 20px;\n}\n\n.thumbnail {\n  display: block;\n  padding: 4px;\n  line-height: 20px;\n  border: 1px solid #ddd;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);\n     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);\n          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);\n  -webkit-transition: all 0.2s ease-in-out;\n     -moz-transition: all 0.2s ease-in-out;\n       -o-transition: all 0.2s ease-in-out;\n          transition: all 0.2s ease-in-out;\n}\n\na.thumbnail:hover,\na.thumbnail:focus {\n  border-color: #00eeee;\n  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n     -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n          box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n}\n\n.thumbnail > img {\n  display: block;\n  max-width: 100%;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n.thumbnail .caption {\n  padding: 9px;\n  color: #555555;\n}\n\n.media,\n.media-body {\n  overflow: hidden;\n  *overflow: visible;\n  zoom: 1;\n}\n\n.media,\n.media .media {\n  margin-top: 15px;\n}\n\n.media:first-child {\n  margin-top: 0;\n}\n\n.media-object {\n  display: block;\n}\n\n.media-heading {\n  margin: 0 0 5px;\n}\n\n.media > .pull-left {\n  margin-right: 10px;\n}\n\n.media > .pull-right {\n  margin-left: 10px;\n}\n\n.media-list {\n  margin-left: 0;\n  list-style: none;\n}\n\n.label,\n.badge {\n  display: inline-block;\n  padding: 2px 4px;\n  font-size: 13.536px;\n  font-weight: bold;\n  line-height: 14px;\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  white-space: nowrap;\n  vertical-align: baseline;\n  background-color: #999999;\n}\n\n.label {\n  -webkit-border-radius: 3px;\n     -moz-border-radius: 3px;\n          border-radius: 3px;\n}\n\n.badge {\n  padding-right: 9px;\n  padding-left: 9px;\n  -webkit-border-radius: 9px;\n     -moz-border-radius: 9px;\n          border-radius: 9px;\n}\n\n.label:empty,\n.badge:empty {\n  display: none;\n}\n\na.label:hover,\na.label:focus,\na.badge:hover,\na.badge:focus {\n  color: #ffffff;\n  text-decoration: none;\n  cursor: pointer;\n}\n\n.label-important,\n.badge-important {\n  background-color: #ffffff;\n}\n\n.label-important[href],\n.badge-important[href] {\n  background-color: #e6e6e6;\n}\n\n.label-warning,\n.badge-warning {\n  background-color: #ffaa00;\n}\n\n.label-warning[href],\n.badge-warning[href] {\n  background-color: #cc8800;\n}\n\n.label-success,\n.badge-success {\n  background-color: #ffffff;\n}\n\n.label-success[href],\n.badge-success[href] {\n  background-color: #e6e6e6;\n}\n\n.label-info,\n.badge-info {\n  background-color: #000000;\n}\n\n.label-info[href],\n.badge-info[href] {\n  background-color: #000000;\n}\n\n.label-inverse,\n.badge-inverse {\n  background-color: #333333;\n}\n\n.label-inverse[href],\n.badge-inverse[href] {\n  background-color: #1a1a1a;\n}\n\n.btn .label,\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.btn-mini .label,\n.btn-mini .badge {\n  top: 0;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n@-moz-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n@-ms-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n@-o-keyframes progress-bar-stripes {\n  from {\n    background-position: 0 0;\n  }\n  to {\n    background-position: 40px 0;\n  }\n}\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n.progress {\n  height: 20px;\n  margin-bottom: 20px;\n  overflow: hidden;\n  background-color: #f7f7f7;\n  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));\n  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);\n  background-repeat: repeat-x;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n.progress .bar {\n  float: left;\n  width: 0;\n  height: 100%;\n  font-size: 12px;\n  color: #ffffff;\n  text-align: center;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #0e90d2;\n  background-image: -moz-linear-gradient(top, #149bdf, #0480be);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));\n  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);\n  background-image: -o-linear-gradient(top, #149bdf, #0480be);\n  background-image: linear-gradient(to bottom, #149bdf, #0480be);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n     -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n  -webkit-transition: width 0.6s ease;\n     -moz-transition: width 0.6s ease;\n       -o-transition: width 0.6s ease;\n          transition: width 0.6s ease;\n}\n\n.progress .bar + .bar {\n  -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n     -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n          box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n}\n\n.progress-striped .bar {\n  background-color: #149bdf;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  -webkit-background-size: 40px 40px;\n     -moz-background-size: 40px 40px;\n       -o-background-size: 40px 40px;\n          background-size: 40px 40px;\n}\n\n.progress.active .bar {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n     -moz-animation: progress-bar-stripes 2s linear infinite;\n      -ms-animation: progress-bar-stripes 2s linear infinite;\n       -o-animation: progress-bar-stripes 2s linear infinite;\n          animation: progress-bar-stripes 2s linear infinite;\n}\n\n.progress-danger .bar,\n.progress .bar-danger {\n  background-color: #dd514c;\n  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));\n  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);\n}\n\n.progress-danger.progress-striped .bar,\n.progress-striped .bar-danger {\n  background-color: #ee5f5b;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n\n.progress-success .bar,\n.progress .bar-success {\n  background-color: #5eb95e;\n  background-image: -moz-linear-gradient(top, #62c462, #57a957);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));\n  background-image: -webkit-linear-gradient(top, #62c462, #57a957);\n  background-image: -o-linear-gradient(top, #62c462, #57a957);\n  background-image: linear-gradient(to bottom, #62c462, #57a957);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);\n}\n\n.progress-success.progress-striped .bar,\n.progress-striped .bar-success {\n  background-color: #62c462;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n\n.progress-info .bar,\n.progress .bar-info {\n  background-color: #4bb1cf;\n  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));\n  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: linear-gradient(to bottom, #5bc0de, #339bb9);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);\n}\n\n.progress-info.progress-striped .bar,\n.progress-striped .bar-info {\n  background-color: #5bc0de;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n\n.progress-warning .bar,\n.progress .bar-warning {\n  background-color: #ffb92e;\n  background-image: -moz-linear-gradient(top, #ffc34d, #ffaa00);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffc34d), to(#ffaa00));\n  background-image: -webkit-linear-gradient(top, #ffc34d, #ffaa00);\n  background-image: -o-linear-gradient(top, #ffc34d, #ffaa00);\n  background-image: linear-gradient(to bottom, #ffc34d, #ffaa00);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffc34d', endColorstr='#ffffaa00', GradientType=0);\n}\n\n.progress-warning.progress-striped .bar,\n.progress-striped .bar-warning {\n  background-color: #ffc34d;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n\n.accordion {\n  margin-bottom: 20px;\n}\n\n.accordion-group {\n  margin-bottom: 2px;\n  border: 1px solid #e5e5e5;\n  -webkit-border-radius: none;\n     -moz-border-radius: none;\n          border-radius: none;\n}\n\n.accordion-heading {\n  border-bottom: 0;\n}\n\n.accordion-heading .accordion-toggle {\n  display: block;\n  padding: 8px 15px;\n}\n\n.accordion-toggle {\n  cursor: pointer;\n}\n\n.accordion-inner {\n  padding: 9px 15px;\n  border-top: 1px solid #e5e5e5;\n}\n\n.carousel {\n  position: relative;\n  margin-bottom: 20px;\n  line-height: 1;\n}\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n\n.carousel-inner > .item {\n  position: relative;\n  display: none;\n  -webkit-transition: 0.6s ease-in-out left;\n     -moz-transition: 0.6s ease-in-out left;\n       -o-transition: 0.6s ease-in-out left;\n          transition: 0.6s ease-in-out left;\n}\n\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  line-height: 1;\n}\n\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n\n.carousel-inner > .active {\n  left: 0;\n}\n\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n\n.carousel-inner > .next {\n  left: 100%;\n}\n\n.carousel-inner > .prev {\n  left: -100%;\n}\n\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n\n.carousel-inner > .active.left {\n  left: -100%;\n}\n\n.carousel-inner > .active.right {\n  left: 100%;\n}\n\n.carousel-control {\n  position: absolute;\n  top: 40%;\n  left: 15px;\n  width: 40px;\n  height: 40px;\n  margin-top: -20px;\n  font-size: 60px;\n  font-weight: 100;\n  line-height: 30px;\n  color: #ffffff;\n  text-align: center;\n  background: #222222;\n  border: 3px solid #ffffff;\n  -webkit-border-radius: 23px;\n     -moz-border-radius: 23px;\n          border-radius: 23px;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n\n.carousel-control.right {\n  right: 15px;\n  left: auto;\n}\n\n.carousel-control:hover,\n.carousel-control:focus {\n  color: #ffffff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n\n.carousel-indicators {\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  z-index: 5;\n  margin: 0;\n  list-style: none;\n}\n\n.carousel-indicators li {\n  display: block;\n  float: left;\n  width: 10px;\n  height: 10px;\n  margin-left: 5px;\n  text-indent: -999px;\n  background-color: #ccc;\n  background-color: rgba(255, 255, 255, 0.25);\n  border-radius: 5px;\n}\n\n.carousel-indicators .active {\n  background-color: #fff;\n}\n\n.carousel-caption {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 15px;\n  background: #333333;\n  background: rgba(0, 0, 0, 0.75);\n}\n\n.carousel-caption h4,\n.carousel-caption p {\n  line-height: 20px;\n  color: #ffffff;\n}\n\n.carousel-caption h4 {\n  margin: 0 0 5px;\n}\n\n.carousel-caption p {\n  margin-bottom: 0;\n}\n\n.hero-unit {\n  padding: 60px;\n  margin-bottom: 30px;\n  font-size: 18px;\n  font-weight: 200;\n  line-height: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n}\n\n.hero-unit h1 {\n  margin-bottom: 0;\n  font-size: 60px;\n  line-height: 1;\n  letter-spacing: -1px;\n  color: inherit;\n}\n\n.hero-unit li {\n  line-height: 30px;\n}\n\n.pull-right {\n  float: right;\n}\n\n.pull-left {\n  float: left;\n}\n\n.hide {\n  display: none;\n}\n\n.show {\n  display: block;\n}\n\n.invisible {\n  visibility: hidden;\n}\n\n.affix {\n  position: fixed;\n}\n\nh1 {\n  color: #ff0000;\n}\n\nh2 {\n  color: #ffcc00;\n}\n\nh3 {\n  color: #ffff00;\n}\n\nh4 {\n  color: #66ff00;\n}\n\nh5 {\n  color: #0000ff;\n}\n\nh6 {\n  color: #ff00ff;\n}\n\n.page-header {\n  border-bottom: 1px solid #B6B2A3;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.2), 0 1px 0 #eae7d8;\n     -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.2), 0 1px 0 #eae7d8;\n          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.2), 0 1px 0 #eae7d8;\n}\n\na {\n  text-decoration: underline;\n}\n\na:hover {\n  text-decoration: underline !important;\n}\n\nblink {\n  -webkit-animation: blink 1s linear infinite;\n     -moz-animation: blink 1s linear infinite;\n      -ms-animation: blink 1s linear infinite;\n       -o-animation: blink 1s linear infinite;\n          animation: blink 1s linear infinite;\n}\n\nbody {\n  -webkit-font-smoothing: none;\n  background: #0000ff url('../images/geo/microfab.gif') top left;\n}\n\n.navbar {\n  border-bottom: 1px solid #fff;\n  -webkit-box-shadow: 0 2px 0 #D4D0C8, 0 3px 0 #808080, 0 4px 0 #404040;\n     -moz-box-shadow: 0 2px 0 #D4D0C8, 0 3px 0 #808080, 0 4px 0 #404040;\n          box-shadow: 0 2px 0 #D4D0C8, 0 3px 0 #808080, 0 4px 0 #404040;\n}\n\n.navbar-inner {\n  background: #000000 url('../images/geo/stars.gif') top left;\n  border-bottom: 1px solid #D4D0C8;\n}\n\n.btn {\n  border: 6px ridge #bbbbbb;\n}\n\n.btn-primary {\n  background: #000000 url('../images/geo/rainbow.gif') top left;\n}\n\nlegend {\n  font-weight: bold;\n  color: yellow;\n}\n\n.control-group.error input {\n  background: #000000 url('../images/geo/flames.gif') 0 -30px repeat-x;\n}\n\n.dropdown-menu {\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.label-important,\n.badge-important {\n  background-color: red;\n}\n\n.label-important[href],\n.badge-important[href] {\n  background-color: red;\n}\n\n.label-warning,\n.badge-warning {\n  color: black;\n  background-color: yellow;\n}\n\n.label-warning[href],\n.badge-warning[href] {\n  color: black;\n  background-color: yellow;\n}\n\n.label-success,\n.badge-success {\n  background-color: green;\n}\n\n.label-success[href],\n.badge-success[href] {\n  background-color: green;\n}\n\n.label-info,\n.badge-info {\n  background-color: #00ffff;\n}\n\n.label-info[href],\n.badge-info[href] {\n  background-color: #00ffff;\n}\n\n.label-inverse,\n.badge-inverse {\n  background-color: black;\n}\n\n.label-inverse[href],\n.badge-inverse[href] {\n  background-color: black;\n}\n\n.hero-unit,\n.well {\n  background: #000000 url('../images/geo/stars.gif') top left;\n}\n\n.breadcrumb {\n  color: white;\n  background: black;\n}\n\n.nav-tabs > li > a:hover,\n.nav-tabs > li > a:focus {\n  background: black;\n  border-color: black;\n}\n\n.progress .bar {\n  background: #c0c0c0 url('../images/geo/progress.gif') top left repeat-x !important;\n  border: 1px solid #fff;\n  border-top: 1px solid #808080;\n  border-left: 1px solid #808080;\n}\n\n@-webkit-keyframes blink {\n  0% {\n    opacity: 0;\n  }\n  40% {\n    opacity: 0;\n  }\n  41% {\n    opacity: 1;\n  }\n  99% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n\n@-moz-keyframes blink {\n  0% {\n    opacity: 0;\n  }\n  40% {\n    opacity: 0;\n  }\n  41% {\n    opacity: 1;\n  }\n  99% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n\n@-ms-keyframes blink {\n  0% {\n    opacity: 0;\n  }\n  40% {\n    opacity: 0;\n  }\n  41% {\n    opacity: 1;\n  }\n  99% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n\n@-o-keyframes blink {\n  0% {\n    opacity: 0;\n  }\n  40% {\n    opacity: 0;\n  }\n  41% {\n    opacity: 1;\n  }\n  99% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n\n@keyframes blink {\n  0% {\n    opacity: 0;\n  }\n  40% {\n    opacity: 0;\n  }\n  41% {\n    opacity: 1;\n  }\n  99% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n\n.pull-right {\n  float: right;\n}\n\n.pull-left {\n  float: left;\n}\n\n.hide {\n  display: none;\n}\n\n.show {\n  display: block;\n}\n\n.invisible {\n  visibility: hidden;\n}\n\n.affix {\n  position: fixed;\n}\n"
  },
  {
    "path": "css/styles.css",
    "content": "@import url(https://fonts.googleapis.com/css?family=Abel|Source+Code+Pro&display=swap);\n\nbody, html {\n  height: 100%;\n  overflow: hidden;\n}\n\nbody {\n  background-color: #2c2c2c;\n  font-family: \"Abel\";\n  margin: 0;\n}\n\n.terminal {\n  height: 100%;\n  padding: 24px;\n}\n\n#terminal {\n  height: 100%;\n}\n\n:root {\n  --brand-bg-color: #2c2c2c;\n  --brand-txt-color: #fff;\n  --brand-link-color: #fff;\n}"
  },
  {
    "path": "index.html",
    "content": "<!doctype html>\n  <html>\n    <head>\n      <meta charset=\"utf-8\" />\n      <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\" />\n      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n      <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n      <link rel=\"shortcut icon\" href=\"/favicon.png\">\n      <title>Root Ventures</title>\n      <link rel=\"canonical\" href=\"https://www.root.vc\"/>\n      <meta property=\"og:site_name\" content=\"Root Ventures\"/>\n      <meta property=\"og:title\" content=\"Root Ventures\"/>\n      <meta property=\"og:url\" content=\"https://www.root.vc\"/>\n      <meta property=\"og:type\" content=\"website\"/>\n      <meta property=\"og:description\" content=\"Deep tech seed investors supporting founders at the earliest stages. Best coffee in San Francisco ☕️\"/>\n      <meta property=\"og:image\" content=\"images/og-image.png\"/>\n      <meta property=\"og:image:width\" content=\"1200\"/>\n      <meta property=\"og:image:height\" content=\"630\"/>\n      <meta itemprop=\"name\" content=\"Root Ventures\"/>\n      <meta itemprop=\"url\" content=\"https://www.root.vc\"/>\n      <meta itemprop=\"description\" content=\"Deep tech seed investors supporting founders at the earliest stages. Best coffee in San Francisco ☕️\"/>\n      <meta itemprop=\"thumbnailUrl\" content=\"images/og-image.png\"/>\n      <link rel=\"image_src\" href=\"images/og-image.png\" />\n      <meta itemprop=\"image\" content=\"images/og-image.png\"/>\n      <meta name=\"twitter:card\" content=\"summary_large_image\">\n      <meta name=\"twitter:url\" content=\"https://www.root.vc\">\n      <meta name=\"twitter:creator\" content=\"@rootvc\">\n      <meta name=\"twitter:site\" content=\"@rootvc\">\n      <meta name=\"twitter:title\" content=\"Root Ventures\">\n      <meta name=\"twitter:description\" content=\"Join us! Investing in deep tech, automation, manufacturing, hardware, robotics, and more.\">\n      <meta name=\"twitter:image\" content=\"https://root.vc/images/og-image.png\">\n      <meta name=\"description\" content=\"Deep tech seed investors supporting founders at the earliest stages. Best coffee in San Francisco ☕️\" />\n\n      <!-- Google Tag Manager -->\n      <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n        })(window,document,'script','dataLayer','GTM-TQ954FQ');</script>\n      <!-- End Google Tag Manager -->\n\n      <link rel=\"stylesheet\" href=\"css/xterm.css\" />\n      <link rel=\"stylesheet\" href=\"css/styles.css\" />\n      <script defer src=\"js/xterm.js\"></script>\n      <script defer src=\"js/addon-fit.js\"></script>\n      <script defer src=\"js/addon-web-links.js\"></script>\n      <script defer src=\"js/app.bundle.js\"></script>\n    </head>\n    <body>\n      <h1 style=\"display: none;\">Root Ventures | Seeding bold engineers</h1>\n      <h2 style=\"display: none;\">Seed stage venture capital firm investing in deep tech. San Francisco, CA</h2>\n      <img id=\"logo\" src = \"images/logo.png\" alt=\"Root Ventures\" style=\"display: none;\"/>\n      <!-- Google Tag Manager (noscript) -->\n      <noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-TQ954FQ\"\n        height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\n      <!-- End Google Tag Manager (noscript) -->\n      <div id=\"aa-all\" style=\"display: none;\"></div>\n      <div id=\"files-all\" style=\"display: none;\"></div>\n      <div id=\"terminal\"></div>\n    </body>\n  </html>\n"
  },
  {
    "path": "js/addon-fit.js",
    "content": "!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.FitAddon=t():e.FitAddon=t()}(self,()=>(()=>{\"use strict\";var e,t={};return e=t,Object.defineProperty(e,\"__esModule\",{value:!0}),e.FitAddon=void 0,e.FitAddon=class{activate(e){this._terminal=e}dispose(){}fit(){const e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;const t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal)return;if(!this._terminal.element||!this._terminal.element.parentElement)return;const e=this._terminal._core,t=e._renderService.dimensions;if(0===t.css.cell.width||0===t.css.cell.height)return;const r=0===this._terminal.options.scrollback?0:e.viewport.scrollBarWidth,i=window.getComputedStyle(this._terminal.element.parentElement),o=parseInt(i.getPropertyValue(\"height\")),s=Math.max(0,parseInt(i.getPropertyValue(\"width\"))),n=window.getComputedStyle(this._terminal.element),l=o-(parseInt(n.getPropertyValue(\"padding-top\"))+parseInt(n.getPropertyValue(\"padding-bottom\"))),a=s-(parseInt(n.getPropertyValue(\"padding-right\"))+parseInt(n.getPropertyValue(\"padding-left\")))-r;return{cols:Math.max(2,Math.floor(a/t.css.cell.width)),rows:Math.max(1,Math.floor(l/t.css.cell.height))}}},t})());"
  },
  {
    "path": "js/addon-web-links.js",
    "content": "!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.WebLinksAddon=t():e.WebLinksAddon=t()}(self,()=>(()=>{\"use strict\";var e={6:(e,t)=>{function n(e){try{const t=new URL(e),n=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(n.toLocaleLowerCase())}catch(e){return!1}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkComputer=t.WebLinkProvider=void 0,t.WebLinkProvider=class{constructor(e,t,n,o={}){this._terminal=e,this._regex=t,this._handler=n,this._options=o}provideLinks(e,t){const n=o.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(n))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(t,n)=>{if(this._options.hover){const{range:o}=e;this._options.hover(t,n,o)}},e))}};class o{static computeLink(e,t,r,i){const s=new RegExp(t.source,(t.flags||\"\")+\"g\"),[a,c]=o._getWindowedLineStrings(e-1,r),l=a.join(\"\");let d;const p=[];for(;d=s.exec(l);){const e=d[0];if(!n(e))continue;const[t,s]=o._mapStrIdx(r,c,0,d.index),[a,l]=o._mapStrIdx(r,t,s,e.length);if(-1===t||-1===s||-1===a||-1===l)continue;const h={start:{x:s+1,y:t+1},end:{x:l,y:a+1}};p.push({range:h,text:e,activate:i})}return p}static _getWindowedLineStrings(e,t){let n,o=e,r=e,i=0,s=\"\";const a=[];if(n=t.buffer.active.getLine(e)){const e=n.translateToString(!0);if(n.isWrapped&&\" \"!==e[0]){for(i=0;(n=t.buffer.active.getLine(--o))&&i<2048&&(s=n.translateToString(!0),i+=s.length,a.push(s),n.isWrapped&&-1===s.indexOf(\" \")););a.reverse()}for(a.push(e),i=0;(n=t.buffer.active.getLine(++r))&&n.isWrapped&&i<2048&&(s=n.translateToString(!0),i+=s.length,a.push(s),-1===s.indexOf(\" \")););}return[a,o]}static _mapStrIdx(e,t,n,o){const r=e.buffer.active,i=r.getNullCell();let s=n;for(;o;){const e=r.getLine(t);if(!e)return[-1,-1];for(let n=s;n<e.length;++n){e.getCell(n,i);const s=i.getChars();if(i.getWidth()&&(o-=s.length||1,n===e.length-1&&\"\"===s)){const e=r.getLine(t+1);e&&e.isWrapped&&(e.getCell(0,i),2===i.getWidth()&&(o+=1))}if(o<0)return[t,n]}t++,s=0}return[t,s]}}t.LinkComputer=o}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}var o={};return(()=>{var e=o;Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebLinksAddon=void 0;const t=n(6),r=/(https?|HTTPS?):[/]{2}[^\\s\"'!*(){}|\\\\\\^<>`]*[^\\s\"':,.!?{}|\\\\\\^~\\[\\]`()<>]/;function i(e,t){const n=window.open();if(n){try{n.opener=null}catch{}n.location.href=t}else console.warn(\"Opening link blocked as opener could not be cleared\")}e.WebLinksAddon=class{constructor(e=i,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;const n=this._options,o=n.urlRegex||r;this._linkProvider=this._terminal.registerLinkProvider(new t.WebLinkProvider(this._terminal,o,this._handler,n))}dispose(){this._linkProvider?.dispose()}}})(),o})());"
  },
  {
    "path": "js/app.bundle.js",
    "content": "function runRootTerminal(e){if(e._initialized)return;e.init(),e._initialized=!0,e.locked=!1,e.prompt(),e.runDeepLink();let t=!1;window.addEventListener(\"resize\",()=>{t||(t=!0,window.requestAnimationFrame(()=>{t=!1,e.resizeListener()}))},{passive:!0}),e.onData(t=>{if(e._initialized&&!e.locked&&!e.busy){switch(t){case\"\\r\":e.tabIndex=0,e.tabOptions=[],e.tabBase=\"\",e.executeCommandLine(e.currentLine);break;case\"\u0001\":e.write(\"\u001b[D\".repeat(e.pos()));break;case\"\u0005\":e.pos()<e.currentLine.length&&e.write(\"\u001b[C\".repeat(e.currentLine.length-e.pos()));break;case\"\u0003\":e.tabIndex=0,e.tabOptions=[],e.tabBase=\"\",e.prompt(),e.clearCurrentLine(!0);break;case\"\\b\":case\"\":if(e.tabIndex=0,e.tabOptions=[],e.tabBase=\"\",e.pos()>0){const t=e.currentLine.slice(0,e.pos()-1)+e.currentLine.slice(e.pos());e.setCurrentLine(t,!0)}break;case\"\u001b[A\":e.tabIndex=0,e.tabOptions=[],e.tabBase=\"\";var r=[...e.history].reverse();e.historyCursor<r.length-1&&(e.historyCursor+=1,e.setCurrentLine(r[e.historyCursor],!1));break;case\"\u001b[B\":e.tabIndex=0,e.tabOptions=[],e.tabBase=\"\",r=[...e.history].reverse(),e.historyCursor>0?(e.historyCursor-=1,e.setCurrentLine(r[e.historyCursor],!1)):e.clearCurrentLine(!0);break;case\"\u001b[C\":e.pos()<e.currentLine.length&&e.write(\"\u001b[C\");break;case\"\u001b[D\":e.pos()>0&&e.write(\"\u001b[D\");break;case\"\\t\":const o=e.currentLine.split(\" \"),n=o[0],i=o.slice(1).join(\" \");if(e.tabBase!==e.currentLine&&(e.tabIndex=0,e.tabOptions=[],e.tabBase=e.currentLine,1===o.length?e.tabOptions=Object.keys(commands).filter(e=>e.startsWith(n)).sort():[\"cat\",\"tail\",\"less\",\"head\",\"open\",\"mv\",\"cp\",\"chown\",\"chmod\",\"ls\"].includes(n)?e.tabOptions=_filesHere().filter(e=>e.startsWith(i)).sort():[\"whois\",\"finger\",\"groups\"].includes(n)?e.tabOptions=Object.keys(team).filter(e=>e.startsWith(i)).sort():[\"man\",\"woman\",\"tldr\"].includes(n)?e.tabOptions=Object.keys(portfolio).filter(e=>e.startsWith(i)).sort():[\"cd\"].includes(n)&&(e.tabOptions=_filesHere().filter(t=>t.startsWith(i)&&!_DIRS[e.cwd].includes(t)).sort())),0===e.tabOptions.length);else if(1===e.tabOptions.length)1===o.length?(e.tabOptions[0],e.setCurrentLine(`${e.tabOptions[0]} `)):e.setCurrentLine(`${n} ${e.tabOptions[0]}`),e.tabBase=\"\",e.tabIndex=0,e.tabOptions=[];else if(0===e.tabIndex)e.writeln(`\\r\\n${e.tabOptions.join(\"   \")}`),e.prompt(),e.setCurrentLine(e.currentLine),e.tabIndex=1;else{const t=e.tabOptions[(e.tabIndex-1)%e.tabOptions.length];1===o.length?e.setCurrentLine(t):e.setCurrentLine(`${n} ${t}`),e.tabIndex++,e.tabBase=e.currentLine}break;default:if(e.tabIndex=0,e.tabOptions=[],e.tabBase=\"\",1===t.length&&t.charCodeAt(0)>=32){const r=e.pos(),o=e.currentLine.slice(r);e.currentLine=e.currentLine.slice(0,r)+t+o,e.write(t),o.length>0&&(e.write(o),e.write(\"\u001b[D\".repeat(o.length)))}}e.scrollToBottom()}})}function colorText(e,t){return`${{command:\"\u001b[1;35m\",hyperlink:\"\u001b[1;34m\",user:\"\u001b[1;33m\",prompt:\"\u001b[1;32m\",bold:\"\u001b[1;37m\"}[t]||\"\"}${e}\u001b[0;38m`}const extend=e=>{e.VERSION=e.VERSION||3,e.currentLine=\"\",e.user=\"guest\",e.host=\"rootpc\",e.cwd=\"~\",e.sep=\":\",e._promptChar=\"$\",e.history=[],e.historyCursor=-1,e.busy=!1,e.tabIndex=0,e.tabOptions=[],e.tabBase=\"\",e.pos=()=>e._core.buffer.x-e._promptRawText().length-1,e._promptRawText=()=>`${e.user}${e.sep}${e.host} ${e.cwd} $`,e.deepLink=window.location.hash.replace(\"#\",\"\").split(\"-\").join(\" \"),e.promptText=()=>e._promptRawText().replace(e.user,colorText(e.user,\"user\")).replace(e.sep,colorText(e.sep,\"\")).replace(e.host,colorText(e.host,\"\")).replace(e.cwd,colorText(e.cwd,\"hyperlink\")).replace(e._promptChar,colorText(e._promptChar,\"prompt\")),e.prompt=(t=\"\\r\\n\",r=\" \")=>{e.write(`${t}${e.promptText()}${r}`)},e.clearCurrentLine=(t=!1)=>{e.write(\"\u001b[2K\\r\"),e.prompt(\"\",\" \"),e.currentLine=\"\",t&&(e.historyCursor=-1,e.scrollToBottom())},e.setCurrentLine=(t,r=!1)=>{const o=e.pos(),n=e.currentLine.length;e.clearCurrentLine(),e.currentLine=t,e.write(t),r&&e.write(\"\u001b[D\".repeat(n-o))},e.stylePrint=(t,r=!0)=>{const o=t.matchAll(/https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,24}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)/g);let n=!0;for(const e of o)n=e[0].length<76,t=t.replace(e[0],colorText(e[0],\"hyperlink\"));n&&r&&(t=_wordWrap(t,Math.min(e.cols,76)));const i=Object.keys(commands);for(const e of i){const r=t.matchAll(`%${e}%`);for(const o of r)t=t.replace(o[0],colorText(e,\"command\"))}e.writeln(t)},e.printArt=t=>{if(e.cols>=40){const r=getArt(t);r?e.writeln(`\\r\\n${r}\\r\\n`):ensureASCIIArt(t)}},e.printLogoType=()=>{e.writeln(e.cols>=40?LOGO_TYPE:\"[Root Ventures]\\r\\n\")},e.openURL=(t,r=!0)=>{e.stylePrint(`Opening ${t}`),e._initialized&&(r?window.open(t,\"_blank\"):window.location.href=t)},e.displayURL=t=>{e.stylePrint(colorText(t,\"hyperlink\"))},e.timer=e=>new Promise(t=>setTimeout(t,e)),e.dottedPrint=async(t,r,o=!0)=>{e.write(t);for(let t=0;t<r;t++)await e.delayPrint(\".\",1e3);o&&e.write(\"\\r\\n\")},e.progressBar=async(t,r)=>{var o;r&&e.write(r),e.write(\"\\r\\n[\");for(let r=0;r<e.cols/2;r+=1)t-=o=Math.round(Math.random()*t/20),await e.delayPrint(\"█\",o);e.write(\"]\\r\\n\")},e.delayPrint=async(t,r)=>{await e.timer(r),e.write(t)},e.delayStylePrint=async(t,r,o)=>{await e.timer(r),e.stylePrint(t,o)},e.command=t=>{const r=t.split(/\\s+/),o=r[0].toLowerCase(),n=r.slice(1,r.length),i=commands[o];if(void 0!==i)return i(n);e.stylePrint(`Command not found: ${o}. Try 'help' to get started.`)},e.parseCommandLine=e=>{const t=e.trim(),r=t?t.split(/\\s+/):[\"\"];return{line:t,cmd:(r[0]||\"\").toLowerCase(),args:r.slice(1)}},e.normalizeCommandForPreload=(e,t)=>{switch(e){case\"man\":case\"woman\":return{cmd:\"tldr\",args:t};case\"tail\":case\"less\":case\"head\":case\"more\":return{cmd:\"cat\",args:t};case\"open\":return t.length?\"test\"==t[0].split(\".\")[0]&&\"htm\"==t[0].split(\".\")[1]||\"htm\"==t[0].split(\".\")[1]||\"the pod bay doors\"==t.join(\" \")?{cmd:e,args:t}:{cmd:\"cat\",args:t}:{cmd:e,args:t};default:return{cmd:e,args:t}}},e.preloadCommandAssets=async t=>{const r=e.parseCommandLine(t),o=e.normalizeCommandForPreload(r.cmd,r.args),n=[],i=getASCIIArtIdForCommand(o.cmd,o.args),s=getPreloadFileForCommand(o.cmd,o.args);i&&n.push(ensureASCIIArt(i)),s&&n.push(ensureFileLoaded(s)),n.length>0&&await Promise.all(n)},e.executeCommandLine=async(t,r={})=>{const o={addToHistory:!0,manageBusy:!0,promptAfter:!0,showLeadingNewline:!0,trackAnalytics:!0,...r},n=e.parseCommandLine(t);let i;try{o.manageBusy&&(e.busy=!0),await e.preloadCommandAssets(n.line),o.showLeadingNewline&&\"upgrade\"!=n.cmd&&e.writeln(\"\"),n.line.length>0&&(o.addToHistory&&e.history.push(n.line),i=e.command(n.line),o.trackAnalytics&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:\"commandSent\",command:n.cmd,args:n.args.join(\" \")})))}catch(t){console.error(\"Command preparation failed\",t),e.stylePrint(\"Command failed to load required assets. Please try again.\")}finally{o.promptAfter&&1!=i&&\"upgrade\"!=n.cmd&&(e.prompt(),e.clearCurrentLine(!0)),o.manageBusy&&(e.busy=!1),e.scrollToBottom()}return i},e.resizeListener=()=>{e._initialized=!1,e.init(e.user,!0),\"function\"==typeof preloadASCIIArt&&window.scheduleIdleTask(()=>preloadASCIIArt(),1500),e.runDeepLink();for(const t of e.history)e.prompt(\"\\r\\n\",` ${t}\\r\\n`),e.command(t);e.prompt(),e.scrollToBottom(),e._initialized=!0},e.init=(t=\"guest\",r=!1)=>{window.fitAddon.fit(),e.reset(),e.printLogoType(),3==e.VERSION?(e.stylePrint(`\\n${colorText(\"New version of Root Ventures detected.\",\"user\")}`),e.stylePrint(`Please upgrade your terminal with ${colorText(\"upgrade\",\"command\")}.`)):(e.stylePrint(\"Welcome to the Root Ventures terminal. Seeding bold engineers!\"),e.stylePrint(`Type ${colorText(\"help\",\"command\")} to get started. Or type ${colorText(\"exit\",\"command\")} for web version.`,!1)),Object.keys(jobs).length>0&&e.stylePrint(`\\r\\nOpen jobs detected. Type ${colorText(\"jobs\",\"command\")} for more info.`,!1),e.user=t,r||(e.history=[]),e.focus()},e.runDeepLink=()=>{\"\"!=e.deepLink&&e.executeCommandLine(e.deepLink,{addToHistory:!1,promptAfter:!1,showLeadingNewline:!1,trackAnalytics:!1}).catch(e=>{console.error(\"Deep link failed\",e)})},e.collectInput=(t,r=!1)=>new Promise(o=>{e.locked=!0,e.write(`\\r\\n${t}${r?\" (optional)\":\"\"}: `);let n=\"\";const i=e.onData(t=>{switch(t){case\"\\r\":e.write(\"\\r\\n\"),i.dispose(),e.locked=!1,o(n.trim());break;case\"\u0003\":e.write(\"^C\\r\\n\"),i.dispose(),e.locked=!1,o(null);break;case\"\":case\"\\b\":n.length>0&&(n=n.slice(0,-1),e.write(\"\\b \\b\"));break;case\"\u0015\":for(;n.length>0;)e.write(\"\\b \\b\"),n=n.slice(0,-1);break;case\"\u001b[A\":case\"\u001b[B\":case\"\u001b[C\":case\"\u001b[D\":break;default:1===t.length&&t.charCodeAt(0)>=32&&t.charCodeAt(0)<127&&(n+=t,e.write(t))}})})};function _wordWrap(e,t){const r=\"\\r\\n\";let o=\"\";for(;e.length>t;){let n=!1;for(let i=t-1;i>=0;i--)if(_testWhite(e.charAt(i))){o+=[e.slice(0,i),r].join(\"\"),e=e.slice(i+1),n=!0;break}n||(o+=[e.slice(0,t),r].join(\"\"),e=e.slice(t))}return o+e}function _testWhite(e){return/^\\s$/.test(e.charAt(0))}const LOGO_TYPE=\" _____                                 \\n|  __ \\\\            _                   \\n| |__) |___   ___ | |_                  \\n|  _  // _ \\\\ / _ \\\\| __|                 \\n| | \\\\ | (_) | (_) | |_                  \\n|_|  \\\\_\\\\___/ \\\\___/_\\\\__|                 \\n__    __         _\\n\\\\ \\\\  / /__ _ __ | |_ _   _ _ __ ___ ___ \\n \\\\ \\\\/ / _ | '_ \\\\| __| | | | '__/ _ / __|\\n  \\\\  |  __| | | | |_| |_| | | |  __\\\\__ \\\\\\n   \\\\/ \\\\___|_| |_|\\\\__|\\\\__,_|_|  \\\\___|___/\\n\\n\".replaceAll(\"\\n\",\"\\r\\n\");let asciiArtPreloadPromise=null,asciiArtLoadPromises={};function isASCIIArtLoaded(e){const t=document.getElementById(e);return!!t&&\"true\"===t.dataset.loaded}function _asciiArtScale(){return term.cols>=60?.5:1}function _getASCIIArtSpec(e){return\"rootvc-square\"===e?[e,1,_asciiArtScale(),\"png\",!1]:team[e]?[e,1,_asciiArtScale(),\"png\",!0]:portfolio[e]?[e,.5,1,\"jpg\",!1]:null}function getASCIIArtIdForCommand(e,t){const r=t[0];if(\"whois\"===e&&term.cols>=40){if(\"root\"===r)return\"rootvc-square\";if(team[r])return r}return\"tldr\"===e&&term.cols>=60&&portfolio[r]?r:null}function _queueASCIIArtWork(e,t=1e3){\"function\"==typeof window.scheduleIdleTask?window.scheduleIdleTask(e,t):window.setTimeout(e,t)}function preloadASCIIArt(){if(asciiArtPreloadPromise)return asciiArtPreloadPromise;const e=[_getASCIIArtSpec(\"rootvc-square\"),...Object.keys(team).map(e=>_getASCIIArtSpec(e)),...Object.keys(portfolio).map(e=>_getASCIIArtSpec(e))].filter(Boolean);return asciiArtPreloadPromise=window.ensureAALibLoaded().then(()=>new Promise(t=>{let r=0;const o=()=>{const n=e.slice(r,r+2).map(e=>e[0]);r+=n.length,0!==n.length?Promise.all(n.map(e=>ensureASCIIArt(e))).finally(()=>{r<e.length?_queueASCIIArtWork(o,1e3):t()}):t()};o()})).catch(e=>{console.warn(\"Failed to preload ASCII art\",e)}).finally(()=>{asciiArtPreloadPromise=null}),asciiArtPreloadPromise}function ensureASCIIArt(e){const t=_getASCIIArtSpec(e);return!t||isASCIIArtLoaded(e)?Promise.resolve():(asciiArtLoadPromises[e]||(asciiArtLoadPromises[e]=window.ensureAALibLoaded().then(()=>_loadArt(...t)).finally(()=>{delete asciiArtLoadPromises[e]})),asciiArtLoadPromises[e])}function _loadArt(e,t,r,o,n,i){const s=document.getElementById(\"aa-all\"),a=Math.floor(term.cols*r),l=Math.floor(a/2*t);var c=`/images/${e}.${o}`,m=document.getElementById(e);return m||((m=document.createElement(\"div\")).id=e,s.appendChild(m)),isASCIIArtLoaded(e)?Promise.resolve():(m.dataset.loaded=\"false\",new Promise(t=>{if(term.cols>=40){const e=aalib.charset.SIMPLE_CHARSET+\" \";var r=aalib.read.image.fromURL(c).map(aalib.aa({width:a,height:l}));n&&(r=r.map(aalib.filter.inverse())),r.map(aalib.render.html({el:m,charset:e})).subscribe(()=>{m.dataset.loaded=\"true\",i&&i(),t()})}else m.innerText=`[ Photo: ${document.location.href}images/${e}.${o} ]`,m.dataset.loaded=\"true\",i&&i(),t()}))}function getArt(e){const t=document.getElementById(e);return isASCIIArtLoaded(e)?t.innerText.replaceAll(\"\\n\",\"\\n\\r\"):\"\"}const help={\"%help%\":\"list all commands (you're looking at it)\",\"%whois%\":\"list all partners\",\"%whois% [partner]\":\"learn about a partner\",\"%whois% root\":\"learn about us\",\"%tldr%\":\"list all portfolio companies\",\"%tldr% [company_name]\":\"learn about a portfolio company\",\"%email%\":\"reach out to us\",\"%twitter%\":\"twitter accounts\",\"%instagram%\":\"instagram account\",\"%git%\":\"this repo\",\"%github%\":\"all repos\",\"%locate%\":\"physical address\",\"%jobs%\":\"check out our job openings\",\"%test%\":\"do not use\",\"%upgrade%\":\"upgrade to the latest version of Root Ventures\",\"%other%\":\"try your fav commands (e.g. %ls%, %groups%, %su%)\"},portfolio={esper:{name:\"Esper\",url:\"https://esper.io\",description:\"Esper is devops for devices, allowing teams to seamlessly build and manage enterprise hardware.\",memo:null,demo:\"https://esper.io/signup\"},meroxa:{name:\"Meroxa\",url:\"https://meroxa.com\",description:\"Meroxa is a platform for software engineers to build mature, scalable data engineering infrastructure with a single command.\",memo:\"https://github.com/rootvc/investment-memos/blob/main/meroxa.md\",demo:\"https://meroxa.com/#data-warehouse\"},particle:{name:\"Particle\",url:\"https://particle.io\",description:\"Particle is the largest professional IoT development platform.\",demo:\"https://docs.particle.io/\"},daily:{name:\"Daily\",url:\"https://daily.co\",description:\"Daily makes it easier for developers to add video to websites and apps.\",demo:\"https://docs.daily.co/docs/introduction-1\"},hash:{name:\"HASH\",url:\"https://hash.ai\",description:\"HASH is an open-source, self-building database that grows and maintains a typed graph of entities on your behalf.\",demo:\"https://app.hash.ai/\"},superconductive:{name:\"Superconductive\",url:\"https://superconductive.ai\",description:\"Superconductive is a SaaS platform for verifying and enforcing data integrity at every stage of the lifecycle of data in an organization.\",demo:\"https://docs.greatexpectations.io/en/latest/guides/tutorials/quick_start.html#tutorials-quick-start\"},okteto:{name:\"Okteto\",url:\"https://okteto.com\",description:\"Okteto is the best emphemeral environment for developers.\",demo:\"https://okteto.com/docs/getting-started/index.html\"},privacy_dynamics:{name:\"Privacy Dynamics\",url:\"https://privacydynamics.io\",description:\"Privacy Dynamics ensures your customers' data privacy without slowing down your team.\",demo:\"https://privacydynamics.io/demo/contact\"},nautilus:{name:\"Nautilus Labs\",url:\"https://nautiluslabs.com\",description:\"Nautilus Labs allows maritime fleets to optimize shipping routes and energy costs in real time.\"},ntopology:{name:\"nTopology\",url:\"https://ntopology.com\",description:\"nTopology is the future of mechanical engineering software.\"},tortuga:{name:\"Tortuga AgTech\",url:\"https://tortugaagtech.com\",description:\"Tortuga automates agriculture for high value produce.\"},instrumental:{name:\"Instrumental\",url:\"https://instrumental.com\",description:\"Instrumental generates real time insights for mass manufacturing.\"},stellar:{name:\"Stellar Pizza\",url:\"https://eatstellarpizza.com\",description:\"Stellar Pizza is building the future of automated food production.\"},versatile:{name:\"Versatile\",url:\"https://versatile.ai\",description:\"Versatile is an onsite construction data provider for accelerating schedules.\"},dusty:{name:\"Dusty Robotics\",url:\"https://dustyrobotics.com\",description:\"Dusty Robotics automates layout in complex construction projects.\"},thruwave:{name:\"ThruWave\",url:\"https://thruwave.com\",description:\"Thruwave increases the efficiency and transparency of high volume logistics operations.\"},seismic:{name:\"Seismic\",url:\"https://myseismic.com\",description:\"Seismic augments strength and safety for workers through soft robotics.\"},seam:{name:\"Seam\",url:\"https://getseam.com\",description:\"Seam provides an API for managing building systems.\"},chargelab:{name:\"ChargeLab\",url:\"https://chargelab.co\",description:\"ChargeLab builds API- and software-defined EV charging networks.\"},wildtype:{name:\"Wildtype Foods\",url:\"https://wildtypefoods.com\",description:\"Wildtype creates organic, clean, high-quality, animal-free meat.\"},nordsense:{name:\"Nordsense\",url:\"https://nordsense.com\",description:\"Nordsense optimizes pickup routes for waste management fleets.\"},trucklabs:{name:\"TruckLabs\",url:\"https://trucklabs.com\",description:\"Trucklabs reduces fuel costs and increases profit margins for long haul trucking fleets.\"},sensable:{name:\"Sensable\",url:\"https://getsensable.com\",description:\"Sensable generates real-time industrial engineering insights.\"},crux:{name:\"Crux\",url:\"https://cruxocm.com\",description:\"Crux automates critical energy infrastructure.\"},iasql:{name:\"IaSQL\",url:\"https://iasql.com\",description:\"IaSQL is the next evolution of infrastructure management, allowing you to manage your infra in a database instead of stateless config files.\"},mashgin:{name:\"Mashgin\",url:\"https://mashgin.com\",description:\"Mashgin automates self-checkout.\"},creator:{name:\"Creator\",url:\"https://creator.rest\",description:\"Creator builds fully autonomous hamburger robots.\"},apolloshield:{name:\"ApolloShield\",url:\"https://apolloshield.com\",description:\"ApolloShield safeguards airspace from autonomous and remote piloted aircraft.\"},skycatch:{name:\"Skycatch\",url:\"https://skycatch.com\",description:\"Skycatch provides high resolution 3D mapping and modeling of high-value infrastructure.\"},shaper:{name:\"Shaper\",url:\"https://shapertools.com\",description:\"Shaper Tools makes the Origin, a handheld, auto-correcting CNC.\"},cape:{name:\"Cape\",url:\"https://capenetworks.com\",description:\"Cape Networks allows IT professionals to monitor, text, and repair enterprise networks remotely.\"},righthook:{name:\"Righthook\",url:\"https://righthook.io\",description:\"Righthook reduces the time and cost required to develop autonomous vehicles.\"},sixwheel:{name:\"SixWheel\",url:\"https://sixwheel.com\",description:\"SixWheel brings autonomy and electrification to long haul trucking operations.\"},radical:{name:\"Radical\",url:\"https://radicalsemiconductor.com\",description:\"Radical Semiconductor provides hardware security down to the individual IC.\"},zed:{name:\"Zed\",url:\"https://zed.dev\",description:\"Zed is a fully-native desktop code editor focused on high performance, clean design, and real-time collaboration.\"},kayhan:{name:\"Kayhan\",url:\"https://kayhan.space\",description:\"Kayhan’s spaceflight operations platform allows satellite operators to focus on their core mission.\"},allspice:{name:\"AllSpice\",url:\"https://allspice.io\",description:\"Collaboration and testing platform for hardware teams.\"},quilter:{name:\"Quilter\",url:\"https://quilter.ai\",description:\"Automated design tools for electrical engineers.\"},adept:{name:\"Adept\",url:\"https://adept.ai\",description:\"Useful general intelligence.\"},aperture:{name:\"Aperture Data\",url:\"https://aperturedata.io\",description:\"Aperture manage images and videos with a database purpose-built for data science and machine learning.\"},supertokens:{name:\"SuperTokens\",url:\"https://supertokens.io\",description:\"SuperTokens is the best Open Source solution for user authentication.\"},fudge:{name:\"Fudge\",url:\"https://fudge.ai\",description:\"Fudge is the best way to speed up your website to improve conversion rates and increase revenue.\"},kodra:{name:\"Kodra\",url:\"https://kodra.ai\",description:\"Fast dataset curation for machine learning.\"},topologic:{name:\"Topologic\",url:\"https://topologic.io\",description:\"Design and automation software for textile manufacturing.\"},ruby:{name:\"Ruby Robotics\",url:\"https://ruby-robotics.com\",description:\"Robotics and AI to autonomously prepare, image, and assess tissue during biopsy procedures.\"},instance:{name:\"Instance\",url:\"https://instance.bio\",description:\"Instance is the fastest way to synthesize DNA.\"},cady:{name:\"CADY Solutions\",url:\"https://cadysolutions.com\",description:\"CADY automates the electrical schematic analysis process.\"},sublayer:{name:\"Sublayer\",url:\"https://sublayer.com\",description:\"Sublayer is AI-assisted coding that works the way you do.\"},nullify:{name:\"Nullify\",url:\"https://nullify.ai\",description:\"Nullify performs product security tasks alongside your developers.\"},trieve:{name:\"Trieve\",url:\"https://trieve.ai\",description:\"Trieve provides infrastructure for building AI search into your applications.\"},breakpoint:{name:\"Breakpoint AI\",url:\"https://setbreakpoint.com\",description:\"Breakpoint uses AI to detect failures in computer vision models and re-trains them to prevent future issues.\"},determinate:{name:\"Determinate Systems\",url:\"https://determinate.systems\",description:\"Determinate provides enterprise-grade solutions for Nix package management.\"},genalpha:{name:\"Gen Alpha\",url:\"https://www.generation-alpha-transistor.com\",description:\"Gen Alpha builds AI copilots for analog and mixed-signal chip design to streamline workflows.\"},hunch:{name:\"Hunch\",url:\"https://hunchdata.com\",description:\"Hunch provides collaborative data exploration and visualization tools for non-technical users.\"},illoca:{name:\"Illoca\",url:\"https://illoca.com\",description:\"Illoca accelerates commercial architecture workflows with generative AI for AEC software.\"},integrated:{name:\"Integrated Biosciences\",url:\"https://integratebio.co\",description:\"Integrated uses optogenetics and ML to discover drugs for neurodegenerative and age-related diseases.\"},latent:{name:\"Latent Technology\",url:\"https://latent-technology.com\",description:\"Latent helps animators and game developers create life-like 3D assets with AI-powered tools.\"},patterns:{name:\"Patterns\",url:\"https://patterns.app\",description:\"Patterns provides tools and infrastructure for developing modern AI applications efficiently.\"},subtrace:{name:\"Subtrace\",url:\"https://subtrace.dev\",description:\"Subtrace automatically tracks all HTTP requests coming in and going out of your production backend.\"},digichem:{name:\"Digichem\",url:\"https://www.digichem.com/\",description:\"Digichem prototypes and manufactures custom molecules online.\"},loopwork:{name:\"Loopwork\",url:\"https://loopwork.com/\",description:\"Loopwork is building the next generation of agents.\"},feather:{name:\"Feather\",url:\"https://feather.solutions/\",description:\"Feather provides FEA that runs in the browser.\"},vibe_robotics:{name:\"Vibe Robotics\",url:\"https://vbr.sh/\",description:\"Vibe Robotics, founded by Kai Backman and Luke Church, builds novel programming interfaces for robotics.\"}},team={avidan:{name:\"Avidan Ross\",title:\"Managing Partner\",description:\"Avidan is the Founding Partner of Root Ventures. Previously, he designed industrial robotics for Food Network's kitchens and was CTO of CIM Group, where he focused on industrial investing, and worked as an embedded application developer at Excite@Home. Avidan has a BA in Computer Science from Columbia University.\",linkedin:\"https://www.linkedin.com/in/avidanross/\",groups:\"wheel investors engineers managingpartner handypersons tinkers agtech foodtech foodies coffeesnobs\"},kane:{name:\"Kane Hsieh\",title:\"Partner\",description:\"Before joining Root Ventures, Kane was founder and Head of Product at Brilliant Bicycle Co. He has also worked as an early-stage investor at RRE Ventures, a software engineer at Romotive, and a Project Manager at Microsoft. Kane has an AB in Computer Science from Harvard.\",linkedin:\"https://www.linkedin.com/in/kanehsieh/\",groups:\"wheel investors engineers partners tinkerers cad motorcyclists gearheads machinepix sportshooters gamers\"},chrissy:{name:\"Chrissy Meyer\",title:\"Partner\",description:\"Chrissy has spent the past decade developing and shipping hardware as an engineering manager at Apple and Square. She was a founding team member at Pearl Automation, a vehicle technology startup. Chrissy has an MS in Electrical Engineering from Stanford and a BSEE from Rose-Hulman.\",linkedin:\"https://www.linkedin.com/in/chrissymeyer/\",groups:\"wheel investors engineers partners electrical manufacturing ecad wearables healthtech gearheads automotive sportshooters\"},lee:{name:\"Lee Edwards\",title:\"Partner\",description:\"Lee was most recently CTO at Teespring. Previously, Lee was a mechanical engineer at iRobot, a software engineer at Pivotal Labs, Lead Engineer at SideTour (acquired by Groupon in 2013), and engineering manager for GrouponLive. He graduated from Olin College of Engineering with a degree in Systems Engineering.\",linkedin:\"https://www.linkedin.com/in/leeredwards/\",groups:\"wheel investors engineers partners software devtools data ai+ml gamers winesnobs\"},zodi:{name:\"Zodi Chalat\",title:\"Associate\",description:\"Zodi began his career as an engineer working on ML infrastructure at Netflix before moving into venture investing. He previously studied CS and comparative literature at Yale.\",linkedin:\"https://linkedin.com/in/zodi\",groups:\"wheel investors engineers ai+ml simulation terraforming maine\"},ben:{name:\"Ben Lovell\",title:\"Head of Operations\",description:\"Ben worked at a16z, Menlo Ventures, and FT Partners to build operational automation and data pipelines. He also cofounded an adtech startup for rideshare companies. Ben graduated with a BA from Stanford University.\",linkedin:\"https://www.linkedin.com/in/lovellb/\",groups:\"wheel operations photography ironman racecars canyoneering\"},laelah:{name:\"Laelah Reino\",title:\"Operations Manager\",description:\"Laelah has spent over 15 years in marketing for films, consumer products, and subscription-based services. Laelah Reino has a BA in Business Administration with a Marketing concentration from Drexel University.\",linkedin:\"https://www.linkedin.com/in/laelah-reino-78b6a51/\",groups:\"wheel admin operations miracleworkers gamers\"}},whoisRoot=\"Root Ventures is a San Francisco-based deep tech seed fund. As engineers ourselves, we specialize in leading initial funding for founders tackling new technical opportunities. Our initial investments typically range from $3-5M. With a selective few new deals a year and 2/3 of our funds in reserve, we are committed to being a long-term partner. Try %whois% and one of avidan, kane, chrissy, lee, ben, zodi, or laelah to learn more about our team.\",timeUnit=1e3;let killed=!1;function SpawnRickRollPointers(){function e(e,t){let r=e.toString();for(;r.length<t;)r=\"0\"+r;return r}const t=term.cols>=90?39:24;for(let r=0;r<=t;r++)term.stylePrint(`${colorText(`vsabnBRXofjub${e(r,2)}`,\"command\")}`,!1)}const commands={help:function(){const e=Math.max(...Object.keys(help).map(e=>e.length));Object.entries(help).forEach(function(t){const r=t[0],o=t[1];if(term.cols>=80){const t=e-r.length+2,n=\" \".repeat(t);term.stylePrint(`${r}${n}${o}`)}else\"help\"!=r&&term.writeln(\"\"),term.stylePrint(r),term.stylePrint(o)})},whois:function(e){const t=e[0],r=Object.keys(team);if(t)if(\"root\"==t){const e=whoisRoot;term.printArt(\"rootvc-square\"),term.stylePrint(e)}else if(Object.keys(team).includes(t)){const e=team[t];term.printArt(t),term.stylePrint(`\\r\\n${e.name}, ${e.title} - ${t}@root.vc`),term.stylePrint(`${e.linkedin}\\r\\n`),term.stylePrint(e.description)}else{term.stylePrint(`User ${t||\"\"} not found. Try:\\r\\n`),term.stylePrint(\"%whois% root\");for(const e of r)term.stylePrint(`%whois% ${e}`)}else{term.stylePrint(\"%whois%: Learn about the firm, or a partner - usage:\\r\\n\"),term.stylePrint(\"%whois% root\");for(const e of r)term.stylePrint(`%whois% ${e}`)}},tldr:function(e){const t=e[0]||\"\";if(t)if(portfolio[t]){const e=portfolio[t];term.cols>=60?term.printArt(t):term.writeln(\"\"),term.stylePrint(e.name),term.stylePrint(e.url),e.memo&&term.stylePrint(`Investment Memo: ${e.memo}`),term.stylePrint(\"\"),term.stylePrint(e.description),e.demo&&term.stylePrint(`Try it with command: %${t}%`)}else term.stylePrint(`Portfolio company ${t} not found. Should we talk to them? Email us: hello@root.vc`);else{const e=Object.keys(portfolio);term.stylePrint(\"%tldr%: Learn about a portfolio company - usage:\\r\\n\");for(const t of e.sort()){const r=portfolio[t],o=t.length>10?\"\\t\":\"\\t\\t\",n=term.cols>=76?o:\"\\r\\n\";term.stylePrint(`%tldr% ${t}${n}${r.url}`),term.cols<76&&t!=e[e.length-1]&&term.writeln(\"\")}}},git:function(){term.displayURL(\"https://github.com/rootvc/cli-website\")},agm:function(){term.openURL(\"http://annualmeeting.root.vc\")},github:function(){term.displayURL(\"https://github.com/rootvc\")},twitter:function(){term.displayURL(\"https://twitter.com/rootvc\"),term.displayURL(\"https://twitter.com/machinepix\")},instagram:function(){term.displayURL(\"https://instagram.com/machinepix/\")},pine:function(){term.openURL(\"mailto:hello@root.vc\")},other:function(){term.stylePrint(\"Yeah, I didn't literally mean %other%. I mean try some Linux commands\")},echo:function(e){const t=e.join(\" \");term.stylePrint(t)},say:function(e){const t=e.join(\" \");term.stylePrint(`(Robot voice): ${t}`)},pwd:function(){term.stylePrint(\"/\"+term.cwd.replaceAll(\"~\",`home/${term.user}`))},ls:function(){term.stylePrint(_filesHere().join(\"   \"))},cd:function(e){let t=e[0]||\"~\";\"/\"!==t&&(t=t.replace(/\\/$/,\"\"));const r=Object.keys(team),o=t.match(/^\\.\\.\\/home\\/(.+)$/);if(o)return void(\"~\"===term.cwd||\"bin\"===term.cwd?term.command(`cd ${o[1]}`):term.stylePrint(`No such directory: ${t}`));const n=t.match(/^\\/home\\/(.+)$/);if(n){const e=n[1];return void(r.includes(e)?term.stylePrint(\"You do not have permission to access this directory\"):term.stylePrint(`No such directory: ${t}`))}if(r.includes(t))term.stylePrint(\"You do not have permission to access this directory\");else switch(t){case\"~\":term.cwd=\"~\";break;case\"..\":\"~\"===term.cwd?term.command(\"cd /home\"):\"home\"!==term.cwd&&\"bin\"!==term.cwd||term.command(\"cd /\");break;case\"../..\":case\"../../..\":case\"../../../..\":case\"/\":term.cwd=\"/\";break;case\"home\":\"/\"===term.cwd?term.command(\"cd /home\"):term.stylePrint(\"You do not have permission to access this directory\");break;case\"/home\":term.cwd=\"home\";break;case\"guest\":case\"root\":\"home\"===term.cwd?term.user===t?term.command(\"cd ~\"):term.stylePrint(\"You do not have permission to access this directory\"):term.stylePrint(`No such directory: ${t}`);break;case\"/bin\":term.cwd=\"bin\";break;case\"bin\":\"/\"===term.cwd?term.cwd=\"bin\":term.stylePrint(`No such directory: ${t}`);break;case\".\":break;default:term.stylePrint(`No such directory: ${t}`)}},zsh:function(){term.init(term.user)},cat:function(e){const t=e[0];_filesHere().includes(t)?term.writeln(getFileContents(t)):term.stylePrint(`No such file: ${t}`),\"id_rsa\"==t&&SpawnRickRollPointers()},grep:function(e){const t=e[0],r=e[1];if(\"id_rsa\"==r&&term.openURL(\"https://i.imgur.com/Q2Unw.gif\"),t&&r)if(_filesHere().includes(r)){let e=getFileContents(r);const o=e.matchAll(t);for(const t of o)e=e.replaceAll(t[0],colorText(t[0],\"files\"));term.writeln(e)}else term.stylePrint(`No such file or directory: ${r}`);else term.stylePrint(\"usage: %grep% [pattern] [filename]\")},open:function(e){e.length?\"test\"==e[0].split(\".\")[0]&&\"htm\"==e[0].split(\".\")[1]?term.openURL(\"https://i.imgur.com/Q2Unw.gif\"):\"htm\"==e[0].split(\".\")[1]?term.openURL(`./${e[0]}`,!1):\"the pod bay doors\"==e.join(\" \")?term.stylePrint(\"I'm sorry Dave, I'm afraid I can't do that.\"):term.command(`cat ${e.join(\" \")}`):(term.stylePrint(\"%open%: open a file - usage:\\r\\n\"),term.stylePrint(\"%open% test.htm\"))},find:function(e){const t=e[0];Object.keys(_FILES).includes(t)?term.stylePrint(_FULL_PATHS[t]):term.stylePrint(`%find%: ${t}: No such file or directory`)},finger:function(e){const t=e[0];\"guest\"===t?(term.stylePrint(\"Login: guest            Name: Guest\"),term.stylePrint(\"Directory: /home/guest  Shell: /bin/zsh\")):\"root\"===t?(term.stylePrint(\"Login: root             Name: That's Us!\"),term.stylePrint(\"Directory: /home/root   Shell: /bin/zsh\")):team[t]?(term.stylePrint(`Login: ${t}   Name: ${team[t].name}`),term.stylePrint(`Directory: /home/${t}   Shell: /bin/zsh`)):term.stylePrint(t?`%finger%: ${t}: no such user`:\"usage: %finger% [user]\")},groups:function(e){const t=e[0],r={guest:\"guest lps founders engineers investors\",root:\"wheel investors engineers deep tech firms\"};void 0!==r[t]?term.stylePrint(r[t]):team[t]?term.stylePrint(team[t].groups):term.stylePrint(t?`%groups%: ${t}: no such user`:\"usage: %groups% [user]\")},whoami:function(){term.stylePrint(term.user)},passwd:function(){term.stylePrint(\"Wow. Maybe don't enter your password into a sketchy web-based term.command prompt?\")},sudo:function(e){\"root\"==term.user?term.command(e.join(\" \")):term.stylePrint(`${colorText(term.user,\"user\")} is not in the sudoers file. This incident will be reported`)},su:function(e){const t=e[0]||\"root\";\"root\"==t||\"guest\"==t?(term.user=t,term.command(\"cd ~\")):term.stylePrint(\"su: Sorry\")},chown:function(){term.stylePrint(\"You do not have permission to %chown%\")},chmod:function(){term.stylePrint(\"You do not have permission to %chmod%\")},mv:function(e){const t=e[0];_filesHere().includes(t)?term.stylePrint(`You do not have permission to move file ${t}`):term.stylePrint(`%mv%: ${t}: No such file or directory`)},cp:function(e){const t=e[0];_filesHere().includes(t)?term.stylePrint(`You do not have permission to copy file ${t}`):term.stylePrint(`%cp%: ${t}: No such file or directory`)},touch:function(){term.stylePrint(\"You can't %touch% this\")},ps:function(){term.stylePrint(\"PID TTY       TIME CMD\"),term.stylePrint(\"424 ttys00 0:00.33 %-zsh%\"),term.stylePrint(\"158 ttys01 0:09.70 %/bin/npm start%\"),term.stylePrint(\"767 ttys02 0:00.02 %/bin/sh%\"),killed||term.stylePrint(\"337 ttys03 0:13.37 %/bin/cgminer -o pwn.d%\")},kill:function(e){e&&337==e.slice(-1)?(killed=!0,term.stylePrint(\"Root Ventures crypto miner disabled.\")):term.stylePrint(\"You can't kill me!\")},locate:function(){term.stylePrint(\"Root Ventures\"),term.stylePrint(\"2670 Harrison St\"),term.stylePrint(\"San Francisco, CA 94110\")},history:function(){term.history.forEach((e,t)=>{term.stylePrint(`${1e3+t}  ${e}`)})},uname:function(e){switch(e[0]){case\"-a\":term.stylePrint(\"RootPC rootpc 0.0.1 RootPC Kernel Version 0.0.1 root:xnu-31415.926.5~3/RELEASE_X86_64 x86_64\");break;case\"-mrs\":term.stylePrint(\"RootPC 0.0.1 x86_64\");break;default:term.stylePrint(\"RootPC\")}},ping:function(){term.stylePrint(\"pong\")},exit:function(){term.command(\"open welcome.htm\")},clear:function(){term.init()},gzip:function(){term.stylePrint(\"What are you going to do with a zip file on a fake terminal, seriously?\")},free:function(){term.stylePrint(\"Honestly, our memory isn't what it used to be.\")},rm:function(){term.stylePrint(\"I'm sorry Dave, I'm afraid I can't do that.\")},mkdir:function(){term.stylePrint(\"Come on, don't mess with our immaculate file system.\")},alias:function(){term.stylePrint(\"Just call me HAL.\")},df:function(){term.stylePrint(\"Nice try. Just get a Dropbox.\")},emacs:function(){term.stylePrint(\"%emacs% not installed. try: %vi%\")},vim:function(){term.stylePrint(\"%vim% not installed. try: %emacs%\")},vi:function(){term.stylePrint(\"%vi% not installed. try: %emacs%\")},pico:function(){term.stylePrint(\"%pico% not installed. try: %vi% or %emacs%\")},nano:function(){term.stylePrint(\"%nano% not installed. try: %vi% or %emacs%\")},curl:function(e){term.stylePrint(`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource ${e[0]}. Use a real terminal.`)},scp:function(e){term.stylePrint(`████████████ Request Blocked: The ███████████ Policy disallows reading the ██████ resource ${e[0]}.`)},zed:function(){term.stylePrint(\"Coming soon! ;)\")},eval:function(args){term.stylePrint(\"please instead build a webstore with macros. in the meantime, the result is: \"+eval(args.join(\" \")))},test:function(){SpawnRickRollPointers(),\"function\"==typeof window.ensureRickRollLoaded&&window.ensureRickRollLoaded().then(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{\"function\"==typeof RickRoll&&RickRoll()})})})},upgrade:async function(e){term.VERSION=4,term.init(),term.locked=!0,term.write(`\\r\\n${colorText(\"==>\",\"hyperlink\")} Downloading https://ghcr.io/v2/homebrew/core/rootvc/manifests/4.0.0`),await term.progressBar(4*timeUnit),term.write(`\\r\\n${colorText(\"==>\",\"hyperlink\")} Downloading https://ghcr.io/v2/homebrew/core/go/blobs/sha256:51869c798355307b59992918e9a595c53072d7a29458dbe5b8d105b63d3dd1c0`),await term.progressBar(2*timeUnit),term.write(`\\r\\n${colorText(\"==>\",\"hyperlink\")} Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:51869c798355307b59992918e9a595c53072d7a29458dbe5b8d105b6`),await term.progressBar(1*timeUnit),term.write(`\\r\\n${colorText(\"==>\",\"hyperlink\")} npm install left-pad@latest`),await term.progressBar(.5*timeUnit),await term.delayStylePrint(\"\\r\\n\",1*timeUnit),await term.dottedPrint(\"Calculating new fund size\",3),await term.delayPrint(`Updated fund size:          ${colorText(\"$190M\",\"prompt\")}\\r\\n`,1*timeUnit),await term.delayPrint(`Updated typical check size: ${colorText(\"up to $5M\",\"prompt\")}\\r\\n`,1*timeUnit),await term.delayPrint(`Found mission:              ${colorText(\"Seeding bold engineers.\",\"user\")}\\r\\n`,1*timeUnit),await term.delayPrint(`Thesis (no update):         ${colorText(\"Investing at the earliest stages of technical founders taking engineering risk.\",\"user\")}\\r\\n`,1*timeUnit),await term.delayStylePrint(`\\r\\n${colorText(\"You are now running Root Ventures version 4.0.\",\"hyperlink\")}\\r\\n`,1*timeUnit),await term.delayStylePrint(`To learn more about this release, RTFM at: ${colorText(\"https://bit.ly/rvfund4\",\"hyperlink\")}\\r\\n`,.5*timeUnit),await term.delayStylePrint(`or remote into our coffee grinder at: ${colorText(\"https://rootventures.coffee\",\"hyperlink\")}\\r\\n`,.5*timeUnit),await term.delayPrint(\"Note that VERSION 4.0 is an unstable build of the terminal.\\r\\n\",1*timeUnit),await term.delayPrint(\"Please report any bugs you find.\\r\\n\",1*timeUnit),term.stylePrint(`\\r\\nType ${colorText(\"help\",\"command\")} to get started. Or type ${colorText(\"exit\",\"command\")} for web version.`,!1),term.prompt(),term.clearCurrentLine(),term.locked=!1},jobs:function(){const e=Object.keys(jobs);0===e.length?term.stylePrint(\"No jobs currently found. Check back later.\"):(term.stylePrint(\"Open positions:\\r\\n\"),e.forEach(e=>{const t=jobs[e][0];term.stylePrint(`[${e}] ${t}`)}),term.stylePrint(\"\\r\\nUse %fg% [job_id] to view details, or %apply% [job_id] to apply.\"))},bg:function(e){term.stylePrint(`Sorry. If you want to background one of these jobs, you'll need to help us fill it. Try %fg% ${e} instead.`)},fg:function(e){const t=jobs[e];t?(t.map(e=>term.stylePrint(e)),term.stylePrint(`\\r\\n%apply% ${e} to apply!`)):term.stylePrint(`job id ${e} not found.`)},apply:function(e){if(1==e||e.length>0&&1==e[0])return term.locked=!0,(async()=>{const e=()=>{term.stylePrint(\"\\r\\nApplication cancelled.\"),term.prompt(),term.clearCurrentLine(!0),term.locked=!1};term.stylePrint(\"Great! Let's get your application started. (Press Ctrl+C to cancel at any time)\\r\\n\");const t=await term.collectInput(\"What's your name?\");if(!t)return void e();const r=await term.collectInput(\"Email address\");if(!r)return void e();const o=await term.collectInput(\"LinkedIn profile URL\",!0);if(null===o)return void e();const n=await term.collectInput(\"GitHub username\",!0);if(null===n)return void e();const i=await term.collectInput(\"Why Root? What makes you a great fit?\",!0);if(null!==i){term.stylePrint(\"\\r\\nSubmitting application...\");try{const e=await fetch(\"/.netlify/functions/submit-application\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({name:t,email:r,linkedin:o||void 0,github:n||void 0,notes:i||void 0,position:\"Venture Capital Associate\"})}),s=await e.json();if(!e.ok)throw new Error(s.error||\"Submission failed\");term.stylePrint(`\\r\\n${colorText(\"✓\",\"prompt\")} Application submitted successfully!`),term.stylePrint(\"\\r\\nThanks for applying! We'll review your application and get back to you soon.\"),term.stylePrint(`\\r\\nIn the meantime, check out our portfolio with ${colorText(\"tldr\",\"command\")} or learn more about the team with ${colorText(\"whois\",\"command\")}.`)}catch(e){term.stylePrint(`\\r\\n${colorText(\"✗\",\"user\")} Error submitting application: ${e.message}`),term.stylePrint(\"\\r\\nPlease try again or email us directly at hello@root.vc\")}term.prompt(),term.clearCurrentLine(!0),term.locked=!1}else e()})(),1;e&&\"\"!=e&&0!==e.length?term.stylePrint(`Job id ${e[0]} not found. Use %jobs% to list all current jobs.`):term.stylePrint(\"Please provide a job id. Use %jobs% to list all current jobs.\")}};for(const[e,t]of Object.entries(portfolio))t.demo&&(commands[e]=()=>term.displayURL(t.demo));function _filesHere(){return _DIRS[term.cwd].filter(e=>\"README.md\"!=e||\"root\"==term.user)}const _aliases={tail:\"cat\",less:\"cat\",head:\"cat\",more:\"cat\",ftp:\"curl\",ssh:\"curl\",sftp:\"curl\",man:\"tldr\",woman:\"tldr\",quit:\"exit\",stop:\"exit\",killall:\"kill\",top:\"ps\",fdisk:\"rm\",email:\"pine\",insta:\"instagram\",ge:\"great_expectations\",great_expectations:\"superconductive\",privacy:\"privacy_dynamics\"};for(const[e,t]of Object.entries(_aliases))commands[e]=e=>term.command([t,...e].join(\" \").trim());const _LOCAL_FILES={id_rsa:\"Nice try!\"},_REMOTE_FILES={\"README.md\":\"https://raw.githubusercontent.com/rootvc/cli-website/main/README.md\",\"welcome.htm\":\"https://raw.githubusercontent.com/rootvc/cli-website/main/welcome.htm\"},_FILES={..._LOCAL_FILES,..._REMOTE_FILES},_DIRS={\"~\":[\"id_rsa\",\"welcome.htm\",\"README.md\"],bin:[\"zsh\"],home:Object.keys(team).concat(\"guest\",\"root\").sort(),\"/\":[\"bin\",\"home\"]};let _FULL_PATHS={},_LOADING_FILES={};for(const[e,t]of Object.entries(_DIRS))for(const r of t)switch(e){case\"~\":_FULL_PATHS[r]=`${e}/${r}`;break;case\"/\":_FULL_PATHS[r]=`/${r}`;break;default:_FULL_PATHS[r]=`/${e}/${r}`}function preloadFiles(){for(const e of Object.keys(_REMOTE_FILES))_loadFile(e);for(const[e,t]of Object.entries(_LOCAL_FILES))_insertFileToDOM(e,t)}function _loadFile(e){return document.getElementById(e)?Promise.resolve():(_LOADING_FILES[e]||(_LOADING_FILES[e]=fetch(_REMOTE_FILES[e]).then(e=>e.text()).then(t=>_insertFileToDOM(e,t)).finally(()=>{delete _LOADING_FILES[e]})),_LOADING_FILES[e])}function ensureFileLoaded(e){return _FILES[e]?document.getElementById(e)?Promise.resolve():_REMOTE_FILES[e]?_loadFile(e):(_LOCAL_FILES[e]&&_insertFileToDOM(e,_LOCAL_FILES[e]),Promise.resolve()):Promise.resolve()}function getPreloadFileForCommand(e,t){const r=t[0];return r&&[\"cat\",\"grep\"].includes(e)&&_REMOTE_FILES[r]?r:null}function _insertFileToDOM(e,t){const r=document.getElementById(\"files-all\");let o=document.getElementById(e);return o||(o=document.createElement(\"div\"),o.id=e,r.appendChild(o)),o.innerText=t,t}function getFileContents(e){const t=document.getElementById(e);return t?t.innerHTML.replaceAll(\"<br>\",\"\\r\\n\").replaceAll(\"&gt;\",\">\").replaceAll(\"&lt;\",\"<\"):_REMOTE_FILES[e]?(_loadFile(e),`Loading ${e}. Try again in a moment.`):`File not found: ${e}`}const jobs={1:[\"Venture Capital Associate\",\"\",\"Root Ventures is looking for a technical associate to join our team in San Francisco.\",\"\",\"We're a deep tech seed fund that invests in bold engineers building the future.\",\"As an associate, you'll work directly with partners to source deals, conduct\",\"technical diligence, and support portfolio companies.\",\"\",\"What we're looking for:\",\"  • Strong technical background (CS degree, engineering experience, or equivalent)\",\"  • Genuine curiosity about emerging technologies and startups\",\"  • Excellent communication skills - you can explain complex tech simply\",\"  • Hustle and resourcefulness - you figure things out\",\"  • Passion for working with technical founders\",\"\",\"Bonus points:\",\"  • You've built side projects or contributed to open source\",\"  • You're active in technical communities\",\"  • You have startup experience\",\"\",\"This is a rare opportunity to learn venture capital from experienced operators\",\"and work with some of the most innovative technical founders in the world.\"]};!function(){const e={};function t(t){return e[t]||(e[t]=new Promise((e,r)=>{const o=document.createElement(\"script\");o.src=t,o.async=!0,o.onload=e,o.onerror=r,document.head.appendChild(o)})),e[t]}window.scheduleIdleTask=(e,t=1e3)=>{\"requestIdleCallback\"in window?window.requestIdleCallback(()=>e(),{timeout:t}):window.setTimeout(e,t)},window.ensureAALibLoaded=()=>t(\"js/aalib.js\"),window.ensureRickRollLoaded=()=>t(\"js/rickroll.min.js\");const r=document.getElementById(\"terminal\"),o=new Terminal({cursorBlink:!0}),n=new FitAddon.FitAddon,i=new WebLinksAddon.WebLinksAddon;window.term=o,window.fitAddon=n,o.open(r),o.loadAddon(n),o.loadAddon(i),extend(o),window.deepLinkAssetPromise=Promise.resolve(),o.deepLink&&(window.deepLinkAssetPromise=o.preloadCommandAssets(o.deepLink).catch(e=>{console.warn(\"Failed to preload deep link assets\",e)})),runRootTerminal(o),window.scheduleIdleTask(()=>{preloadASCIIArt(),preloadFiles()},1500)}();"
  },
  {
    "path": "js/ascii-art.js",
    "content": "const LOGO_TYPE =\n` _____                                 \n|  __ \\\\            _                   \n| |__) |___   ___ | |_                  \n|  _  // _ \\\\ / _ \\\\| __|                 \n| | \\\\ | (_) | (_) | |_                  \n|_|  \\\\_\\\\___/ \\\\___/_\\\\__|                 \n__    __         _\n\\\\ \\\\  / /__ _ __ | |_ _   _ _ __ ___ ___ \n \\\\ \\\\/ / _ | '_ \\\\| __| | | | '__/ _ / __|\n  \\\\  |  __| | | | |_| |_| | | |  __\\\\__ \\\\\n   \\\\/ \\\\___|_| |_|\\\\__|\\\\__,_|_|  \\\\___|___/\n\n`.replaceAll(\"\\n\", \"\\r\\n\");\n\nlet asciiArtPreloadPromise = null;\nlet asciiArtLoadPromises = {};\n\nfunction isASCIIArtLoaded(id) {\n  const div = document.getElementById(id);\n  return div ? div.dataset.loaded === \"true\" : false;\n}\n\nfunction _asciiArtScale() {\n  return term.cols >= 60 ? 0.5 : 1.0;\n}\n\nfunction _getASCIIArtSpec(id) {\n  if (id === \"rootvc-square\") {\n    return [id, 1.0, _asciiArtScale(), \"png\", false];\n  }\n\n  if (team[id]) {\n    return [id, 1.0, _asciiArtScale(), \"png\", true];\n  }\n\n  if (portfolio[id]) {\n    return [id, 0.5, 1.0, \"jpg\", false];\n  }\n\n  return null;\n}\n\nfunction getASCIIArtIdForCommand(cmd, args) {\n  const name = args[0];\n\n  if (cmd === \"whois\" && term.cols >= 40) {\n    if (name === \"root\") {\n      return \"rootvc-square\";\n    }\n\n    if (team[name]) {\n      return name;\n    }\n  }\n\n  if (cmd === \"tldr\" && term.cols >= 60 && portfolio[name]) {\n    return name;\n  }\n\n  return null;\n}\n\nfunction _queueASCIIArtWork(task, timeout = 1000) {\n  if (typeof window.scheduleIdleTask === \"function\") {\n    window.scheduleIdleTask(task, timeout);\n  } else {\n    window.setTimeout(task, timeout);\n  }\n}\n\nfunction preloadASCIIArt() {\n  if (asciiArtPreloadPromise) {\n    return asciiArtPreloadPromise;\n  }\n\n  const specs = [\n    _getASCIIArtSpec(\"rootvc-square\"),\n    ...Object.keys(team).map((person) => _getASCIIArtSpec(person)),\n    ...Object.keys(portfolio).map((company) => _getASCIIArtSpec(company)),\n  ].filter(Boolean);\n\n  asciiArtPreloadPromise = window\n    .ensureAALibLoaded()\n    .then(\n      () =>\n        new Promise((resolve) => {\n          let index = 0;\n\n          const loadNextBatch = () => {\n            const batch = specs.slice(index, index + 2).map((spec) => spec[0]);\n            index += batch.length;\n\n            if (batch.length === 0) {\n              resolve();\n              return;\n            }\n\n            Promise.all(batch.map((id) => ensureASCIIArt(id))).finally(() => {\n              if (index < specs.length) {\n                _queueASCIIArtWork(loadNextBatch, 1000);\n              } else {\n                resolve();\n              }\n            });\n          };\n\n          loadNextBatch();\n        })\n    )\n    .catch((error) => {\n      console.warn(\"Failed to preload ASCII art\", error);\n    })\n    .finally(() => {\n      asciiArtPreloadPromise = null;\n    });\n\n  return asciiArtPreloadPromise;\n}\n\nfunction ensureASCIIArt(id) {\n  const spec = _getASCIIArtSpec(id);\n  if (!spec || isASCIIArtLoaded(id)) {\n    return Promise.resolve();\n  }\n\n  if (asciiArtLoadPromises[id]) {\n    return asciiArtLoadPromises[id];\n  }\n\n  asciiArtLoadPromises[id] = window\n    .ensureAALibLoaded()\n    .then(() => _loadArt(...spec))\n    .finally(() => {\n      delete asciiArtLoadPromises[id];\n    });\n\n  return asciiArtLoadPromises[id];\n}\n\n// TODO: Here is where we should insert alternatives to ASCII as text\nfunction _loadArt(id, ratio, scale, ext, inverse, callback) {\n  const parentDiv = document.getElementById(\"aa-all\");\n  const width = Math.floor(term.cols * scale);\n  const height = Math.floor(width / 2 * ratio);\n  var filename = `/images/${id}.${ext}`;\n\n  var div = document.getElementById(id);\n  \n  if (!div) {\n    div = document.createElement(\"div\");\n    div.id = id;\n    parentDiv.appendChild(div);\n  }\n\n  if (isASCIIArtLoaded(id)) {\n    return Promise.resolve();\n  }\n\n  div.dataset.loaded = \"false\";\n\n  return new Promise((resolve) => {\n    if (term.cols >= 40) {\n      const NICE_CHARSET = aalib.charset.SIMPLE_CHARSET + \" \";\n      var aa = aalib.read.image.fromURL(filename)\n        .map(aalib.aa({ width: width, height: height }));\n      if (inverse) {\n        aa = aa.map(aalib.filter.inverse());\n      }\n      aa.map(\n        aalib.render.html({\n          el: div,\n          charset: NICE_CHARSET,\n        })\n      ).subscribe(() => {\n        div.dataset.loaded = \"true\";\n        if (callback) {\n          callback();\n        }\n        resolve();\n      });\n    } else {\n      div.innerText = `[ Photo: ${document.location.href}images/${id}.${ext} ]`;\n      div.dataset.loaded = \"true\";\n      if (callback) {\n        callback();\n      }\n      resolve();\n    }\n  });\n}\n\nfunction getArt(id) {\n  const div = document.getElementById(id);\n  return isASCIIArtLoaded(id) ? div.innerText.replaceAll(\"\\n\", \"\\n\\r\") : \"\";\n}\n"
  },
  {
    "path": "js/bootstrap.js",
    "content": "(function bootstrapTerminal() {\n  const optionalScriptPromises = {};\n\n  function loadOptionalScript(src) {\n    if (optionalScriptPromises[src]) {\n      return optionalScriptPromises[src];\n    }\n\n    optionalScriptPromises[src] = new Promise((resolve, reject) => {\n      const script = document.createElement(\"script\");\n      script.src = src;\n      script.async = true;\n      script.onload = resolve;\n      script.onerror = reject;\n      document.head.appendChild(script);\n    });\n\n    return optionalScriptPromises[src];\n  }\n\n  window.scheduleIdleTask = (task, timeout = 1000) => {\n    if (\"requestIdleCallback\" in window) {\n      window.requestIdleCallback(() => task(), { timeout });\n    } else {\n      window.setTimeout(task, timeout);\n    }\n  };\n\n  window.ensureAALibLoaded = () => loadOptionalScript(\"js/aalib.js\");\n  window.ensureRickRollLoaded = () => loadOptionalScript(\"js/rickroll.min.js\");\n\n  const terminalElement = document.getElementById(\"terminal\");\n  const term = new Terminal({ cursorBlink: true });\n  const fitAddon = new FitAddon.FitAddon();\n  const webLinksAddon = new WebLinksAddon.WebLinksAddon();\n\n  window.term = term;\n  window.fitAddon = fitAddon;\n\n  term.open(terminalElement);\n  term.loadAddon(fitAddon);\n  term.loadAddon(webLinksAddon);\n  extend(term);\n  window.deepLinkAssetPromise = Promise.resolve();\n  if (term.deepLink) {\n    window.deepLinkAssetPromise = term.preloadCommandAssets(term.deepLink).catch(\n      (error) => {\n        console.warn(\"Failed to preload deep link assets\", error);\n      }\n    );\n  }\n  runRootTerminal(term);\n\n  window.scheduleIdleTask(() => {\n    preloadASCIIArt();\n    preloadFiles();\n  }, 1500);\n})();\n"
  },
  {
    "path": "js/comcastify.js",
    "content": "var comcastifyjs = (function () {\n\n  // setup slowload modifier callback, structure avoids some annoying timer/closure problems\n  var slowloadModiferCallback = function (slowloadDiv, args) {\n    return function () {\n      (function (slowloadDiv, args) {\n        // calculate new height for box based on args\n        var img = slowloadDiv.slothifyData.img;\n        var newTopClip = slowloadDiv.slothifyData.imageTopClip + args.loadIncrement;\n        if (args.randomPause === 0.0 || Math.random() > args.randomPause) {\n          slowloadDiv.style.width = img.offsetWidth + 'px';\n          slowloadDiv.style.height = img.offsetHeight + 'px';\n          slowloadDiv.style.top = img.offsetTop + 'px';\n          slowloadDiv.style.left = img.offsetLeft + 'px';\n\n          // update slowload div\n          slowloadDiv.style.clip = 'rect(' + newTopClip + 'px auto auto auto)';\n\n          // check stopping conditions\n          var maxImageHeight = img.height * args.loadMaxPercent;\n        }\n\n        if (!img.complete) {\n          setTimeout(slowloadModiferCallback(slowloadDiv, args), args.loadSpeed);\n        } else if (typeof img.naturalHeight !== \"undefined\" && img.naturalWidth === 0) {\n          setTimeout(slowloadModiferCallback(slowloadDiv, args), args.loadSpeed);\n        } else if (!maxImageHeight || maxImageHeight === 0 || newTopClip < maxImageHeight) {\n          // create new update timeout\n          slowloadDiv.slothifyData.imageTopClip = newTopClip;\n          setTimeout(slowloadModiferCallback(slowloadDiv, args), args.loadSpeed);\n        }\n      })(slowloadDiv, args);\n    };\n  };\n\n  var prepare = function () {\n    // hide images so image doesn't show up before box\n    var imgs = document.getElementsByTagName('img');\n    for(var i = 0; i < imgs.length; i++) {\n      var img = imgs[i];\n      img.style.visibility = 'hidden';\n    }\n  };\n\n  var slowImages = function (args) {\n    return function () {\n\n      var params = {\n        elements: args.elements || document.getElementsByTagName('img'),  // elements affected\n        boxColor: args.boxColor || '#000000',                 // color of box overlay\n        loadMaxPercent: args.loadMaxPercent || 0.0,           // max percentage to load images\n        loadSpeed: args.loadSpeed || 300,                     // how often in ms to pass\n        randLoadIncrement: args.randLoadIncrement || false,   // true to randomize load increment\n        loadIncrement: args.loadIncrement || 1,               // pixels to load per pass\n        randomPause: args.randomPause || 0.0                  // probability of skipping a pass\n      };\n\n      // make 'em load slow\n      for(var i = 0; i < params.elements.length; i++) {\n        // get some things we need\n        var img = params.elements[i],\n            parent = img.parentNode,\n            slowload = document.createElement('DIV');\n\n        // set up initial state of box\n        slowload.style.backgroundColor = params.boxColor;\n        slowload.style.width = img.offsetWidth + 'px';\n        slowload.style.height = img.offsetHeight + 'px';\n        slowload.style.position = 'absolute';\n        slowload.style.top = img.offsetTop + 'px';\n        slowload.style.left = img.offsetLeft + 'px';\n        slowload.style.clip = 'rect(0 auto auto auto)';\n\n        // remember what the max height should be for later calculation\n        slowload.slothifyData = {\n            img: img,\n            imageTopClip: 0,\n            maxImageHeight: img.height * params.loadMaxPercent\n        };\n\n        // put box over image\n        parent.appendChild(slowload);\n\n        // show image again\n        img.style.visibility = 'visible';\n\n        if (params.loadMaxPercent > 0.0) {\n\n          // allow for some changing of params per image\n          var modParamPerImg = Object.create(params);\n          if(modParamPerImg.randLoadIncrement) {\n            // randomize load increment\n            modParamPerImg.loadIncrement = Math.floor((Math.random() * 20) + 1);\n          }\n\n          // slowload using timeout since this is nicer to the browser :)\n          setTimeout(slowloadModiferCallback(slowload, modParamPerImg), params.loadSpeed);\n        }\n      }\n    }\n  };\n\n  return {\n    letsPrepareTheseImages: prepare,\n    fixMyImagesLoadingSoFast: slowImages\n  };\n\n})();"
  },
  {
    "path": "js/geo.js",
    "content": "function buildGeoPage() {\n  const whois = document.getElementById(\"whois\");\n  whois.innerHTML = whoisRoot.split(\" Try\")[0];\n\n  const portfolioTable = document.getElementById(\"portfolio\");\n  const sortedPortfolioKeys = Object.keys(portfolio).sort((a, b) => \n    portfolio[a].name.localeCompare(portfolio[b].name)\n  );\n  for (const p of sortedPortfolioKeys) {\n    const row = portfolioTable.insertRow(-1);\n    const logoCell = row.insertCell();\n    const descriptionCell = row.insertCell();\n    const urlCell = row.insertCell();\n\n    logoCell.setAttribute(\"class\", \"portfolio-photo\");\n    descriptionCell.setAttribute(\"class\", \"portfolio-description\");\n\n    // <img> of company logo\n    const logoImgTag = document.createElement(\"img\");\n    logoImgTag.setAttribute(\"src\", `images/${p}.jpg`);\n    logoImgTag.setAttribute(\"alt\", `${portfolio[p].name}`);\n\n    if (portfolio[p].url != \"(inactive)\") {\n      // add logo w company link to table\n      const logoLinkImgTag = document.createElement(\"a\");\n      logoLinkImgTag.setAttribute(\"href\", portfolio[p].url);\n      logoLinkImgTag.setAttribute(\"target\", `_blank`);\n      logoLinkImgTag.setAttribute(\"alt\", `${portfolio[p].name}`);\n      logoLinkImgTag.appendChild(logoImgTag);\n      logoCell.appendChild(logoLinkImgTag);\n\n      // add company URL to table\n      const urlATag = document.createElement(\"a\");\n      urlATag.setAttribute(\"href\", portfolio[p].url);\n      urlATag.setAttribute(\"alt\", `${portfolio[p].name}`);\n      urlATag.setAttribute(\"target\", \"_blank\");\n      urlATag.innerHTML = portfolio[p].url;\n      urlCell.appendChild(urlATag);\n    } else {\n      // inactive company doesn't have links\n      logoCell.appendChild(logoImgTag);\n\n      urlCell.innerHTML = portfolio[p].url;\n    }\n\n    // add company description to table\n    descriptionCell.innerHTML = portfolio[p].description;\n  }\n\n  const teamTable = document.getElementById(\"team\");\n  for (const t of Object.keys(team)) {\n    const row = teamTable.insertRow(-1);\n    const photoCell = row.insertCell();\n    const nameCell = row.insertCell();\n    const titleCell = row.insertCell();\n    const descriptionCell = row.insertCell();\n\n    photoCell.setAttribute(\"class\", \"team-photo\");\n    descriptionCell.setAttribute(\"class\", \"team-description\");\n\n    const photoImgTag = document.createElement(\"img\");\n    photoImgTag.setAttribute(\"src\", `images/geo/${t}2.jpg`);\n    photoImgTag.setAttribute(\"alt\", `${team[t].name}`);\n    photoCell.appendChild(photoImgTag);\n\n    const linkedinATag = document.createElement(\"a\");\n    linkedinATag.setAttribute(\"href\", team[t].linkedin);\n    linkedinATag.setAttribute(\"alt\", `${team[t].name}`);\n    linkedinATag.innerHTML = team[t].name;\n    nameCell.appendChild(linkedinATag);\n\n    titleCell.innerHTML = team[t].title;\n    descriptionCell.innerHTML = team[t].description\n      .replaceAll(\"\\n\\r\", \"<br>\")\n      .replaceAll(\"\\t\", \"&nbsp;&nbsp;&nbsp;&nbsp;\");\n  }\n\n  comcastifyjs.letsPrepareTheseImages();\n  comcastifyjs.fixMyImagesLoadingSoFast({\n    boxColor: \"#000000\",\n    loadMaxPercent: 1.0,\n    loadSpeed: 800,\n    loadIncrement: 5,\n  })();\n}\n"
  },
  {
    "path": "js/rickroll.js",
    "content": "let currentFrame = 0;\nlet intervalId = null;\n\nconst baseSearchText = \"vsabnBRXofjub\";\nconst xpathExpression = `//span[starts-with(text(),'${baseSearchText}') and string-length(text())=string-length('${baseSearchText}')+2 and substring(text(), string-length('${baseSearchText}')+1) >= '00' and substring(text(), string-length('${baseSearchText}')+1) <= '99']`;\n\nfunction RickRoll() {\n  const isMobile = term && term.cols >= 90 ? false : true;\n  const colSize = isMobile ? RickRollPhone[0].length : RickRollDesktop[0].length;\n\n  const frameArray = isMobile ? RickRollPhone : RickRollDesktop;\n  const frameLength = frameArray.length;\n\n  let result;\n  try {\n    result = document.evaluate(\n      xpathExpression,\n      document,\n      null,\n      XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,\n      null\n    );\n  } catch (e) { return; }\n\n  const spanElements = [];\n  for (let i = 0; i < result.snapshotLength; i++) {\n    spanElements.push(result.snapshotItem(i));\n  }\n\n  if (spanElements.length === 0) { return }\n\n  // Clear any existing interval\n  if (intervalId !== null) {\n    clearInterval(intervalId);\n  }\n\n  let ColArray = []\n  for (let i = 0; i < spanElements.length; i++) {\n    let colnumber = parseInt(spanElements[i].innerText.match(/\\d+/g), 10);\n    ColArray.push(colnumber)\n  }\n\n  intervalId = setInterval(() => {\n    for (let i = 0; i < ColArray.length; i++) {\n      spanElements[i].innerText = frameArray[currentFrame][ColArray[i]];\n    }\n    currentFrame = (currentFrame + 1) % frameLength;\n  }, 40);\n}\n\nconst RickRollPhone = [\n  [\n    \"8988$8$889999944449988889499455559988$#8\",\n    \"998$89999889994989498889998954559454988$\",\n    \"988899#89889998953}}1499888894559954449$\",\n    \"999898$899999997)))_)+188888945544499449\",\n    \"98988889$#89992+))+7}=)49998945549449599\",\n    \"98889#080&899977}11232+25499455598849445\",\n    \"999998#88#89941===}1}1}49454555548998949\",\n    \"8899898#8889995177}223154499945549988994\",\n    \"8899999988999851777122354994995555599989\",\n    \"89499449889994551}}}11559885555359944494\",\n    \"44989445989449545}=}1131}499555359955499\",\n    \"498899849894495351=7113=*;_)=}2559559599\",\n    \"44989999999555535}}}7}4+;;;;;;;_+5559448\",\n    \"54494994945551+_1531}53_;;;;;;;;;=455958\",\n    \"99454488955});;;=13}}});;;;;;;;;;)544554\",\n    \"9994988889+;;;;;;;+++);;;;;--;;;;_499459\",\n    \"9994498894);;;;-;;+++);;;;;-;--;;_599959\",\n    \"9994999945+;;;;;;-)))_;;;;--;-;;;;344559\",\n    \"9994989999+;;-;;--)));;;;;--;--;;;+55944\",\n    \"9994999999);;-----)));;;;;--;--;;;_55955\",\n    \"9994999944=)=;----)__;;;;;-;;--;;;;35555\",\n    \"99999988951}7;----)__;;;;;;;;--;;;;14555\",\n    \"5444999942==};----)__;;;;;;;-----;;}4455\",\n    \"554499994}++7;----);;;-;;;;-----;;;74445\",\n    \"554499995+;__-----_;;;--;;;--:--;;;}4444\"\n  ],\n  [\n    \"8988$8$889999944449988889499455559988##8\",\n    \"998#8999988999498955988999895455945498$$\",\n    \"98$899#8988999892=+)))}4888894559954949$\",\n    \"999898#898999995+___)))+9888945544499949\",\n    \"98988888$#89999}+7}1231+5988995549449599\",\n    \"98899#080&89995==77111173499455598849945\",\n    \"9999980$8#899942777711114454555548998849\",\n    \"8899898#88899991}77712324499945549998994\",\n    \"88999999889998953}7712254994995555599989\",\n    \"894994498899944593}}12133995555359944494\",\n    \"499894949894495994=7}123)_+}135559955499\",\n    \"498899899894495355=7}}15_;;;;;_)}5559598\",\n    \"449898899995555}+31}=752_;;;;;;;;_559448\",\n    \"4499999994553});;132}11_;;;;;;;;;;255958\",\n    \"99944488945=);;;;)1}++);;;;;;;;;;;}94554\",\n    \"99949888893*;;;;;;)++);;;;;--;-;;;}99459\",\n    \"99894988943_;;;;;-)++);;;;;-;--;;;=99959\",\n    \"99949999445);;----)))_;;;;--;--;;;;34554\",\n    \"99949899995);-----)))_;;;;--;--;;;;75944\",\n    \"99949999995};-----__)_;;;;--;--;;;;)5955\",\n    \"998999894453_-----___;;;;--;;--;;;;_5555\",\n    \"998999889551;-----___;;;;;;;-----;;_4555\",\n    \"5444999941}}_-----___;;;;;;;-----;;)4455\",\n    \"5544999947=}+-----_;-;-;;;;-----;;;+4444\",\n    \"5544999941+7+-----_)_;-;;---:---;;;14444\"\n  ],\n  [\n    \"8988$8#889994944444988889499455559988##8\",\n    \"998#89999889994995}}+=}549895455945498$$\",\n    \"988898#8988999895+_*;__)288994559954449$\",\n    \"999898#898999989=)+=7}17+988945544499449\",\n    \"98988888$#899999)77}1232+489945559444599\",\n    \"98889#080&899944====71}11599555548849445\",\n    \"9999980$80899945}777=1233554555548998849\",\n    \"8899898#888999892}7771235549945559498995\",\n    \"88999999889998944477}1225945995555599989\",\n    \"894994498899945594}}=}12}+23545559955445\",\n    \"449894959894495495=77}12=;;;;)+}39955599\",\n    \"49889984489459531}=77=}4+;;;;;;;;)359599\",\n    \"549899999945551);)11=}5};;;;;;;;;;=59448\",\n    \"544949449453});;;*317=+;;;;;;-;;;;+55959\",\n    \"99454488955);;;--;}7++);;;;-----;;)44554\",\n    \"99949888895);;----))+);;;;;--;--;;_49454\",\n    \"999449889457;;----))+);;;;---;--;;;79954\",\n    \"999499994451;-----)_)_;;;;--;---;;;_5554\",\n    \"999498999953;-----););;;;;--;---;;;;}954\",\n    \"999499999955+;----);_;;;;---;---;;;;+455\",\n    \"9989998944537;----);;;;;;---------;;1555\",\n    \"998999889553;-----_;;;;;;;-------;;_4555\",\n    \"544499995127_;----_;;;;;--;-:---;;;=4455\",\n    \"554499947711)-----_;;---;;--:---;;)54445\",\n    \"554499941+71+--:--)))_--;++)_--;;)344444\"\n  ],\n  [\n    \"8988$8#889999944445532349499555559988##8\",\n    \"99$#89999889994984+____)74995455945498$$\",\n    \"988898#89889998857))))++)18994559954449$\",\n    \"999898#8889999883)7}1223}798945544499449\",\n    \"98988888$#8999985+==711}1199945559444599\",\n    \"98889#080&89994937777}212599555548849445\",\n    \"9999980$808999495}777}122554555549998849\",\n    \"8899898#888999899517=}125549945359498995\",\n    \"8899999988999894491==7113155995555599989\",\n    \"894994498899945599}}=7112__)713559955445\",\n    \"449894959894445443=777721;;;;;;*+1455594\",\n    \"4988998448945937)+=77715+;;;;;-;;;+59599\",\n    \"44989999994527_;;*}1}}}+;;;;;;-;;;)49448\",\n    \"544949449457_;;-;;1}=++;;;;;--;;;;_55959\",\n    \"99454488955+;;---;}=++);;;;-----;;;54554\",\n    \"999498888957;-----)_));;;;;--;--;;;19454\",\n    \"998449889451;-----)_+);;;;---;--;;;_9954\",\n    \"999499994451;-----);)_;;;;---;--;;;;}554\",\n    \"999498999953_;----);_;;;;;--;---;;;;_455\",\n    \"999499999953+;----);_;;;);;-;-----;;)455\",\n    \"998999894453+-----);;;;;}7+)------;;2555\",\n    \"998999889553);----);;;;;7}}7;--;;;;=4555\",\n    \"544499991111_;--;-_;----+777*;;;;;)34455\",\n    \"554499957111=-----___--:_+++;;;;;3444445\",\n    \"354499941=}1)-;)--)));::--;---;;;1444444\"\n  ],\n  [\n    \"898888$8899999444457+)))7344555559988$#8\",\n    \"998#89999889994995})_*___+5954559554988$\",\n    \"988899#89889998891)=7}111+2995559954449$\",\n    \"999898$89999998887+77}222}29945545499449\",\n    \"98988889$#89999881=777111199945559449599\",\n    \"98899$08#&8999499}}77=}23299555549949445\",\n    \"999998#88#899999452777122555555549998949\",\n    \"8899898#88899989955}77122549945559498995\",\n    \"88999999889998944957==}12772995555599989\",\n    \"8949944988994455991}77113);;_)7159955445\",\n    \"44989495989444537=7=}7725_;;;;;;;)155594\",\n    \"49889984489553+_;_==1}35);;;;;;;;;_39599\",\n    \"449899999941)*;;;;+7===);;;;;;;;;;;39449\",\n    \"54494944945+;;;;;;+1==+_;;;;;-;;;;;25959\",\n    \"99454488955=;;;;;;+}++);;;;;----;;;14554\",\n    \"99949888895};;;;;;_)))_;;;;--;--;;;+4454\",\n    \"99944988945};;---;_)+);*}+_;-;--;;;;1954\",\n    \"999499994451;;----*)__;_1}7);;---;;;_354\",\n    \"999498999953;;----*)_;;_77}=;;----;;;+55\",\n    \"999499999953_-----*)_;;_+=7=;;;;;--;;}55\",\n    \"999999994453);----___;;-;_));;;;;;-;=555\",\n    \"998999889223+*----*;;;-------;;;;;;)4555\",\n    \"5444999937}}7;--;-_;;-----:-----;=144455\",\n    \"5544999957=7=;-_;-_));---------;;}444445\",\n    \"55449999451+;_12;-_++;-------;;;;)544444\"\n  ],\n  [\n    \"898888$889999944455=_____+34555559988$#8\",\n    \"998#899998899949857)))))+)=454559554988$\",\n    \"988899#89889998884)=712331+995559954449$\",\n    \"999898$89999998885)7==}1}1}9945544499449\",\n    \"98988889$#899998837777721259945559444599\",\n    \"98899$08#&89994993}777}13249555549949445\",\n    \"999998#88#899949454}77}12555555549998949\",\n    \"8899898$88899989955}==}11349945359498995\",\n    \"8899999988999994495}77112=)}595555599989\",\n    \"8949944988994553521}}7}}5);;;_)729955445\",\n    \"44989445989455})_)7=}7}53_;;;;;;;_755594\",\n    \"498899844892=);;;*==}}11_;;;;;;;;;*39599\",\n    \"45989999994);;;;;;)7===);;;;;;-;;;;39448\",\n    \"54494944955);;;;;;)17=+;_);;--;-;;;15959\",\n    \"99455488955);;---;)}+)_;7}=);---;;;}4534\",\n    \"99949888895);-----;+));_7777;;;-;;;)4454\",\n    \"99944988945);-----;+));_+=}7;;;--;;;)454\",\n    \"99949999445=;-----;))_;;;)77;;;---;;;754\",\n    \"99949899995};-----;));;;;;;;;_;;;;-;;;25\",\n    \"99949999995};-----*));-------_;;;;;-;=55\",\n    \"998999994427+_----;)*;------------;;+355\",\n    \"998999889177=_--;-;_;;--------:----+4555\",\n    \"5444999993=}7)-;--_)------------;3544455\",\n    \"55449999943+_)11;-)++;;-------;;;=444444\",\n    \"354499994551}55}_;=++;;;;-----;;;*544444\"\n  ],\n  [\n    \"8988$8#889999944455}_**__)75555554988$#8\",\n    \"99$#89999889994989}++++=7=)55455945498$$\",\n    \"98$898#89889998889)=}}2333=595559954449$\",\n    \"999898#89899998889=7==71}119945544499449\",\n    \"98988888$089999885}}}}713339945559449599\",\n    \"98899#&80&899949941}77}12349555599949445\",\n    \"9999980$8#899999459177}12555555549998949\",\n    \"8899898$8889998995517=}11259945549498994\",\n    \"8899999988999994443}77112=)7395555599989\",\n    \"8949944988994551=}1}}}}15);;;*)=19955445\",\n    \"4498944598951=_;;)==1}241_;;;;;;;_}55594\",\n    \"49889984495);;;;;_+=}}1}**;;;;;;;;_39599\",\n    \"44989999993*;;;;;;)}==+_)}7+_;;;;;_59448\",\n    \"44494944951;;;;;;;+1++);7}}});;;;;*34959\",\n    \"9945448895};;;;;;;+}=+_;)7}});;-;;;14554\",\n    \"99949888891;;;;;;;_++);;;)7}+;;;;;;)4454\",\n    \"99944988942;;;;;;;_)));;;;_)_;;;;;;;)554\",\n    \"99949999443_;---;;_)));;;---;)+;;;;;;+35\",\n    \"9994989999};*;--;;_+);--------;;;;;-;;}5\",\n    \"9994999999}}});;--_)_;----------;-;;;)55\",\n    \"998999894417}7;;--_)_;--------:----;_255\",\n    \"99899988941=7};---)_;------;;---;_*)5555\",\n    \"54949999945+))};;;))--;-------;-;3444455\",\n    \"544499999453}33;;;+=+;;;------;;;+444444\",\n    \"554499999455557)__==+*;;;-----;;;;344444\"\n  ],\n  [\n    \"8988$8#8899999444551);;;__+5555354988$#8\",\n    \"99$#89999889994989})+=77}7)15455945498$$\",\n    \"98$898#89889998889=+7}12337195559954449$\",\n    \"999898#89899998889}7===1}}19945544499449\",\n    \"98988888$089999884}}7}=13339945559449599\",\n    \"98899#&80&899949942}77712349555599949945\",\n    \"9999980$8#899999459277}12354555549998849\",\n    \"8899898$8889999995517=711349945549498994\",\n    \"8899999988999994553777112=)}595555599989\",\n    \"894994498894451=)71}7}}15_;;;_+}39955445\",\n    \"44989445984}+_;;;++71}34}*;;;;;;;)155594\",\n    \"49889984491;;;;;;)+=77}7;_=7+_;;;;_59599\",\n    \"44989999997;;;;;;;+===+**}}}1);;;;;59448\",\n    \"5449494495+;;;;;;;}}+));;_=}1);;;;;34959\",\n    \"9995448895);;;;;;;77))_;;;)7});-;;;24554\",\n    \"9994988899);;--;--)++);;;--;__;;;;;}9454\",\n    \"9984498895);------)))_;;-----;_*;;;;=454\",\n    \"9994999941_;--_;--))__---------;;;;;;)25\",\n    \"999498999+_*=}})--_));----------;;;;-;)5\",\n    \"999499999=)+7=7)--)));------------;;;;25\",\n    \"998999894=_))+=_--))_;---------:----;}55\",\n    \"9989998893=;;*;--;)__;-----------;;_2455\",\n    \"449499999453}1)-;;);;;--------;--}444445\",\n    \"54449999945555);;;++);;;-------;;_344444\",\n    \"55449999955555_-;;+=+*;;;------;;;=44444\"\n  ],\n  [\n    \"8988$8#$898999444451);;;__+5555559988$#8\",\n    \"99$#899998899949891)++==7=)15455945498$$\",\n    \"98$898#89889998888=+7}12337195559954449#\",\n    \"999898#88899998888}7===1}}}4945544499449\",\n    \"98988888$089998884}}7}=13339945559449599\",\n    \"88899#&80&899949942}77712359555548949445\",\n    \"9999980$8#899949459177}11555555549998849\",\n    \"8899898#8889998995517=712549945549498994\",\n    \"8899999989994995553}77113=}5995555599989\",\n    \"89499454889453}+)}}}}7}13_;;)72559955445\",\n    \"44989445992+);;;;++}}}34};;__;;;+1455594\",\n    \"4988998449);;;;;;)+}7}2};;)7}});;;=59599\",\n    \"4598999445_;;;;;;;=7==+_;;+711_;;;)49448\",\n    \"544949444};;;;---;17++);;-;+11_;;;_54959\",\n    \"994554989+;;-----;1=++_;---_=}_;;;_44554\",\n    \"999448889+;-------)++);;-----;;;;;;59454\",\n    \"999449884);-------))));--------;;;;)4454\",\n    \"99949495);---_===)))))----------;;;;;}35\",\n    \"99949847_)__)}7=7;)));-------:---;;;-;+5\",\n    \"99949942_;;*;)+=+;))_;--------:------;15\",\n    \"99899994);;;;;;;--)));--------::----;+55\",\n    \"9989998892}}=)---;))_;-------------;=555\",\n    \"5444999994555}--;;);;------------1554444\",\n    \"5544999994555};-;;))_;;;-------;;_344444\",\n    \"55449999455557;--;)=+;;;;-------;;+44444\"\n  ],\n  [\n    \"8988$8#$898999444451_*___)14555559988$#8\",\n    \"99$#899998899949891+))))+))35455945498$$\",\n    \"98$898#89889998889+=7}2333+595559954449$\",\n    \"999898#88899998889=7==}11174945544499449\",\n    \"98988888$#899988851}}}721239945559449599\",\n    \"98899#&80&899949951}77}13259555598949945\",\n    \"9999980$8#899949454177}12555555549998849\",\n    \"8899898$9889999995577=}13549945549488994\",\n    \"889999998999499554377}113155995555599989\",\n    \"89449459889453}+=1}}7}113_)=255559955445\",\n    \"4498944599}+_;;;;7=}}}24};;;;;)739955599\",\n    \"4988999453;;;;;;;=+}}142_;;)77+;;)559598\",\n    \"559899944=;;;;;;;;77=77_;;;+}11_;;}59448\",\n    \"554949452_;;;;---;277=);;;-;=1};;;755959\",\n    \"99455499=;;;-----;1=++_;;---)}};;;}44554\",\n    \"99944989);--------))++;;;----;_;;;+49454\",\n    \"99944992_;-----;;;)++);-------;;;;_39954\",\n    \"9994457_;--;;;)77}+))_----------;;;)3554\",\n    \"999494;;_;;_;;==77+))_-----------;;;;+35\",\n    \"499499=;;;;;-;)))_)));------------;;;;15\",\n    \"9994943_;;;;;;----))_;--------:-----;+55\",\n    \"9984998951}}7-----))_;--------------)555\",\n    \"5444999995531;---;)_*;----------;++}4444\",\n    \"5544999995551;---;)_;-;;-------;;1544444\",\n    \"5544999945531;---;)++;;;;-------;;344444\"\n  ],\n  [\n    \"8988$8#$898999444441)___)=54555559988#08\",\n    \"99$#889998899949891+)__)))=45455945498$#\",\n    \"98$898#89889998889+7}12331+994559954949#\",\n    \"999898#89899998884+7771111=9945544499949\",\n    \"98988888$0899988831}77}11159995549449599\",\n    \"88889#&80&89994993}}77}23249455598849944\",\n    \"9999980$8#899949454}77123554555548998849\",\n    \"8899898#88899989953777113549945549988994\",\n    \"889999998999499554177}123445995555499989\",\n    \"89499459889453}=73}}7}112)}2545559944444\",\n    \"4498944594}+_;;;)1=}1}157_;;_+}359955499\",\n    \"498899945+;;;;;;_7+}1543_;;;;_;;)3559598\",\n    \"459899943*;;;;;;;_777=}_;;;;)}1=__559948\",\n    \"55494945+;;;;;;--;2}=7+;;;;;)}11_;355958\",\n    \"99455492;;;--;---;1=77_;;;;-;+17;;594554\",\n    \"99954997;---------+=+);;;;---)}=;;599459\",\n    \"9994593);------;;;)+));;-----;_);;199954\",\n    \"99944}_;------_=77+)+)---------;;;_44554\",\n    \"99945_;*;;;_;;+=7}+));-----------;;)}954\",\n    \"49949=;;;;;--;_)__))_;------------;;;755\",\n    \"999442_;;;;;;;----)));--------:---;;;155\",\n    \"999499942}7};-----))_;--------:----;7455\",\n    \"554499994553;-----)_;-------------;=4445\",\n    \"554499999553;-----);----------;;15544444\",\n    \"554499994553;-----))=;;;-------;*1444444\"\n  ],\n  [\n    \"8988$8#$898999444457))))=344455559988#08\",\n    \"99$#88999889999985})_____)595455945998$#\",\n    \"98$898089889998883+7}1121+2994559954948#\",\n    \"999898#8989999888}=771223}29995544499949\",\n    \"98988888$#89998892}7}71}1199995549499499\",\n    \"88889#&80&899949411777133299445598849944\",\n    \"9999980$8#89999945277}223554555598998849\",\n    \"8899898#88899989951771224499945549988994\",\n    \"889999998999499554}7=}125945994554499989\",\n    \"894994498894531715}}7112}}45545559944994\",\n    \"4498944593}+_;;;=2=}}}14)*;_+}3559955499\",\n    \"498899941_;;;;;;+}+}1592_;;;;;;)}9459598\",\n    \"44989994+;;;;;;;;)77=11_;;;;;;;;;}559998\",\n    \"54494951_;;;;;;;;)2}}7);;;;;;)7=)+455958\",\n    \"9945559);;;;;;;--_17=+_;;;;;;+111=494559\",\n    \"9995499_;;-------_=+++;;;;;--)}17=999949\",\n    \"999454};;-----;;;;+++);;;;---_=}_+499949\",\n    \"99953+_;-----;+}=)++);;;;;---;)=__549559\",\n    \"99957;;_;-;;;)=7+))));---------;;-=35944\",\n    \"49953;;;;;;-;)+)_;)_);------------;_3955\",\n    \"99944+;;;;;;------))_-------------;;7555\",\n    \"999499517+=;------))_-------------;)4555\",\n    \"54449999453;------)_;---------:---_34445\",\n    \"55449999453;------_---;-------;7}}444444\",\n    \"55449999452;;-----))+;;-------;)34444444\"\n  ],\n  [\n    \"8988$8#$89899944451=+++75499455559988#08\",\n    \"99$#89999889994993+_____)1995455945998$#\",\n    \"98$898#89889998897=7}}11+=9994559954948#\",\n    \"999898#8999999885+7712331=98995544499949\",\n    \"98988888$#8999984}77=1}11399995549499499\",\n    \"98899#&80&89994912}77}332599445598849944\",\n    \"999998#88#89994943}771235454545548998849\",\n    \"8899898$8889999995}7}1234499945549988994\",\n    \"8899999989994994537771154945995554499989\",\n    \"894994498894552132}}}123=595545559944994\",\n    \"449894459417);;;13=}}}13_;_+}35559954499\",\n    \"49889995=_;;;;;;21+}159}_;;;;;)759459598\",\n    \"44989995_;;;;;;;;+77}3}_;;;;;;;;)5559998\",\n    \"5449495=;;;;;;;;;)2}7=_;;;;;;;;;;2455948\",\n    \"9945555_;;;;;;;;;+27==;;;;;;;;_;;2494559\",\n    \"9995493;;;;;-;--;_++=);;;;;;-;=}=3999949\",\n    \"9994541;;--------_==)_;;;;;-;_}115998949\",\n    \"999541);----_))+_;+));;;;;--;_71}1449449\",\n    \"9995}_;;;;_)7}77;;)));;;;;--;_+=_}455944\",\n    \"4495};_;;;;;+=7=;;))_;;;------;_-;+55945\",\n    \"99945_;;;;-;__;---));------------;;+5555\",\n    \"999443=)___;------));------------;_59555\",\n    \"5444499455)-------));--------:---;144455\",\n    \"5544999945_-------_;---------;+)+1444444\",\n    \"5544999453;;------)));;-;;--;;1544444444\"\n  ],\n  [\n    \"8988$8#889999944452}}}299499445559988#08\",\n    \"99$#89999889994997_____)19995455945998##\",\n    \"98$898#8988999892++++==+)98994559954949#\",\n    \"999898#898999989+7}12232+588995544499999\",\n    \"98988888$#899998}7==1111}988995549449599\",\n    \"98899#080&89994531}7}2232499445598849944\",\n    \"999998#88#8999493177}2335454555598998849\",\n    \"8899898$888999999277}2259499945549988994\",\n    \"8899999989999995417=}1254995994555499989\",\n    \"894994598894455351}}11222995555559944494\",\n    \"449894459951=)_)51=}}121__+}255559954489\",\n    \"49889995=)_;;;;_51+}}34=_;;;;_=159559598\",\n    \"55989991;;;;;;;;)=}}15}_;;;;;;;;}4559998\",\n    \"5549495+;;;;;;;;;=3777_;;;;;;;;;)5455948\",\n    \"9945555*;;;;;;;;;+27}+;;;;;;;;;;_5594559\",\n    \"9995492;;;;;;;--;)==+_;;;;;;;;;;_4999949\",\n    \"9994541;;;;-----;_=++_;;;;;-;+=)_4998949\",\n    \"999545};--------;;++);;;;;;-_}11+5449449\",\n    \"999591_;--;+==*-;;+)_;;;;;-;)}1})5455994\",\n    \"44953_)_;)}=7=;-;;))_;;;;;-;)+=_;+555944\",\n    \"99945+_;;_++==;--;));--------;;-;;)54555\",\n    \"999447;;;;;)_;----));-----------;;749555\",\n    \"5545445}7+;;------)_;-------:---;+444455\",\n    \"554499944};-------);;-------;)__+5444445\",\n    \"555449945+;-------))_-------;35444444444\"\n  ],\n  [\n    \"8988$8#889999944455459889499445559988#08\",\n    \"99$#8999988999495+))))=249995455945998##\",\n    \"98$898#898899984})__))))588894559954998#\",\n    \"999898#8999999837}11233=1888995544499999\",\n    \"98988888$#8999927771112}1988995549449499\",\n    \"98899#080&899945177721215499445598849944\",\n    \"999998088#899943277713324454545598998849\",\n    \"8899898#888999995}7}12349499945549988994\",\n    \"88999999899999945}7}11354994994554499989\",\n    \"894994498894455551}}12339895555559944994\",\n    \"4498944599953}==5}=}113=)725555559954489\",\n    \"49889995537)*;;)51=}}14+_;;;)=1559559598\",\n    \"55989993_;;;;;;_11}1543_;;;;;;;_34559998\",\n    \"5549495+;;;;;;;;*73}=}_;;;;;;;;;=5455948\",\n    \"9945559);;;;;;;;;=277+;;;;;;;;;;)5544559\",\n    \"9995495;;;;;;;;;;+=}=_;;;;;;;;;;)4999949\",\n    \"9994595;;;;;;;-;;)=+);;;;;_+);;;_4998949\",\n    \"9994453;;-------;_++);;;;;+}1}_;_5449449\",\n    \"9995992;;-------;;++_;;;;;+}}=;;)4454999\",\n    \"449595);-;+)----;;));;;;;-_+=_;;_3455944\",\n    \"999447))}}})------));------;_;;;;;244554\",\n    \"999441))++7+------));-------;-*;;*299555\",\n    \"554543)_)++_------)_;;-----:--;;_3444455\",\n    \"55444941);;-------);;;;-----_;;)24444455\",\n    \"555449453;--------)_;-;----;154444444455\"\n  ],\n  [\n    \"8988$8#$89899944454988889999445559988#08\",\n    \"99$#8999988999493}7+739999895955945998##\",\n    \"98$898#898899993)____)+2888894559954998#\",\n    \"999898#89899999}++=}}1+=9888995544499999\",\n    \"98988888$#89995=}}1233}+9888995549449499\",\n    \"98899#&80&89995}==71}1115499445598849944\",\n    \"9999980$8#899953}77133239444545598998849\",\n    \"8899898#88899995177123349498945549988994\",\n    \"889999998899989427}122454994994554499989\",\n    \"89499449889945551}}112549885545559944994\",\n    \"44989445989455221}=1123)}599555359954489\",\n    \"498899944951+_;+5}=}}15_;;;)=25559459598\",\n    \"55989995}+_;;;;+55}}243_;;;;;;_=54559998\",\n    \"5549495=;;;;;;;;+}3}12);;;;;;;;;15455948\",\n    \"9945559);;;;;;;;;727=);;;;;;;;;;}5544559\",\n    \"9995495;;;;;;;;;;+==+_;;;;;;;;;;74999949\",\n    \"9994595;;;-;;;;;;+==);;*+7);;;;;+4998949\",\n    \"9994453;;---;;-;;_+));;_}}}=;;;;+4549449\",\n    \"9995995;;-------;;++_-;_=}})--;;}4454999\",\n    \"4994992;---------;+);---_+=_;-;;)4455944\",\n    \"999445))_---------));-----;;;;;-;=454544\",\n    \"999443}}})--------));;----;;;;;--)599555\",\n    \"554543==}};-------))*;---:---;;;)5444455\",\n    \"5544447+=7--------)_;;;--;--;-;=44444455\",\n    \"3555441_;---------_;--;;;--)554444444455\"\n  ],\n  [\n    \"8988$8#889999944449988889999445559988#08\",\n    \"99$#8999988999495312988999895955945998##\",\n    \"98$898#89889999})))_)=39888894559954998#\",\n    \"999898#89899993+)))+=))98888995544499999\",\n    \"98988888$08999}}}11231)59888995549499599\",\n    \"98899#&80&8999}}=71}11+55499445598849944\",\n    \"9999980$8#899451=71113199444545598998849\",\n    \"8899898#88899932771332399498945549988994\",\n    \"889999998899989577}223954994994554499989\",\n    \"89499449889944557}}113549885545559944494\",\n    \"4498944598945435=}=1221}5999555359954489\",\n    \"49889994499527)1}}=}12}_;_)=}55559559598\",\n    \"5598999445});;;751}}141_;;;;;;)154559998\",\n    \"5549495});;;;;;+223133);;;;;;;;_55455948\",\n    \"9945559_;;;;;;;-_=27=);;;;;;;;;;35544559\",\n    \"9995495;;;;;;;;;;+++);;;;;;;;;;;24999949\",\n    \"9994592;;--;;;;;;)+));+}=);;;;;;}4998949\",\n    \"999445};;---;;;;;)++);7}}=;;;-;;}4549449\",\n    \"9995991;;--------;+);;)7}=;---;;24454999\",\n    \"499499};---------;+)_--)=);;--;;=4455944\",\n    \"999445=;----------+);-----;;;;--;1454554\",\n    \"999445}+;---------));;----;;;;;-;+499555\",\n    \"55453111};-----;;-))_;--:----;;;+4444455\",\n    \"55453=111_--------)_;;;;---;--_}44444455\",\n    \"355543+=_---------);--;;;--1554444444455\"\n  ],\n  [\n    \"8988$8#889994944449988889999445559988#08\",\n    \"99$#8999988999499454888998895955945998##\",\n    \"988898#898899937+)))7399888894559954948#\",\n    \"999898#8989994}____)))}88888995544499949\",\n    \"98988888$08995}7}}132)799888995549449599\",\n    \"98899#&80&899517}11127745499445598849944\",\n    \"9999980$8#899437=}1}2}299454555598998849\",\n    \"8899898#888994577}2222399498945549988994\",\n    \"889999998899994}7}1225454994995554499989\",\n    \"89449449889945517}}115549884555559944494\",\n    \"4498944598945451=}=}23159889555559954489\",\n    \"49889994494531=1=}=}13)__+71395559459598\",\n    \"55989994442+_;;327}}14+*;;;;;_=554559998\",\n    \"554949527);;;;;}553245_;;;;;;;;755455948\",\n    \"9945555_;;;;;;-;)+17+_;;;;;;;;;)55594559\",\n    \"4495492;;;;;;;;-_+=+);;;;;;;;;;_54999949\",\n    \"9994541;;--;;;;;;+=+))7+_;;;;;;;54998949\",\n    \"9995457;----;;;--_+)_=}}7;;;--;;34549449\",\n    \"999599};---------;+)_)7}7;;---;;54454999\",\n    \"449599=;---------;));-)==;;---;;74455944\",\n    \"999445+;----------));---;;;;;;--;1554544\",\n    \"9994531=;-----;;--))_;---;;;;;;--+499555\",\n    \"554511117;-----;;-));;-------;;-)4444555\",\n    \"55452711};-----;;-)_;;;;-:----*754444455\",\n    \"355543+);-------;-);---;;--1554444444455\"\n  ],\n  [\n    \"8988$8#889994944449888889999445559988#08\",\n    \"99$#8999988999499949888998895955945998##\",\n    \"98$898#89889993}=)+72998888894559954948#\",\n    \"999898#8989995+____)))488888995544499949\",\n    \"98988888$08993}=7}11=_299888995549499499\",\n    \"98889#&80&89931}11231)395499444598849944\",\n    \"9999980$8#8995}+71712+499444545598998849\",\n    \"8899898#88899517712221499498945549988994\",\n    \"8899999988999937712225954994994554499989\",\n    \"894494498899455}71}125549884555559944994\",\n    \"4498944598945457+}=}23499889555359954489\",\n    \"498899944945311==}=}12_)=135595559459598\",\n    \"55989994441+_;=3}}}733_;;;;;)73554559998\",\n    \"554949527);;;;)3533341;;;;;;;;)555455948\",\n    \"994555=;;;;;;;;)+=2}}_;;;;;;;;;255594559\",\n    \"449549);;;;;;;-;)7==);;;;;;;;;;155999949\",\n    \"999454_;--;;;;;;_)+)_))_;;;;;;;=55498949\",\n    \"999545_;---;;;;;;+++_)}}7;;;--;)45549449\",\n    \"999599);----;----)+);+}}};;---;)44454999\",\n    \"449594);---------;));-)77_;---;;24455994\",\n    \"9994452})--------;+);--;);;;;;--_2554544\",\n    \"999451111_----;--;));;---;;;;;;--+499555\",\n    \"55454}711+-----;;;)_*;------;;;-)4444555\",\n    \"554542)+);-----;;-));;;--:----;+54444455\",\n    \"555545);------:-;-)_;--;;--7225444444455\"\n  ],\n  [\n    \"8988$8#889999944449888889999445559988#08\",\n    \"99$#8999988999498999888998895945945998##\",\n    \"98$898#898899952}=}34998888894559944998#\",\n    \"999898#8989993)____))}988888995594499999\",\n    \"98988888$#8993=++7}7))399888995549999499\",\n    \"98889#&80&89931}1133=)495499444598899944\",\n    \"9999980$8#8995==}}}1}+999444544598998849\",\n    \"8899898#888945}7122311999498945549988994\",\n    \"88999999889994}7}22225944994994554499989\",\n    \"894994498899451=}1}135599884545559944994\",\n    \"449894459894441==}=155999889555559954989\",\n    \"498899944995311==}=}3=715995595559459498\",\n    \"5598999445})*_3}7}}}5+;;;_)=145554559998\",\n    \"5549493})_;;;;1531354+;;;;;;;_5555455948\",\n    \"994551_;;;;;;;)7}}237;;;;;;;;;7555594549\",\n    \"94954=;;;;;;;;-_==++_;;;;;;;;;)455999949\",\n    \"99955);;;-;;;;;;+7=+_;;;;;;;;;)455998999\",\n    \"99955);---;;;;;;)7+);;_++_;;-;_545599449\",\n    \"99954+;-;_-;-;;;_++);;_}}})--;;544454999\",\n    \"44954)_=17;-;---;)+);-_7}}_---;144455994\",\n    \"99945)+=7}_------_+_;--;+7_;;;;;}4554544\",\n    \"99945)++=})------;));---;;;;;;;-;1499555\",\n    \"55452_)_)+;------;))_;----;;;;;;+4444455\",\n    \"55453));-------;;;))*;;-:-----;)44444455\",\n    \"35554}_;--------;;)_;;-;---)+=1444444455\"\n  ],\n  [\n    \"8988$8#889999944449888889999445559988#08\",\n    \"99$#8999988999498899888998895955945998##\",\n    \"988898#89889999533599998888894559944998#\",\n    \"999898#8989993+))_)+73988888895544499999\",\n    \"98988888$08993+)))))_)599888995549999499\",\n    \"98889#&80&8945111232))995499444598899944\",\n    \"999998088#8993=7}}22+)999444545598998849\",\n    \"8899898#8889437}3}1271999498945549988994\",\n    \"889999998899437}112225944994994554499989\",\n    \"8949944988994377111155599884445559994994\",\n    \"44989445989444}=}}=295999889555559954989\",\n    \"49889994494523=+7}=131549995595559459498\",\n    \"5598999452+)_1}=7}}11__)7135545559559998\",\n    \"5549441+_;;;;}521}351_;;;;;_=54555455948\",\n    \"99453);;;;;;;)}11125);;;;;;;;+4553594549\",\n    \"4495};;;;;;;;;;+77=+;;;;;;;;;*5555999949\",\n    \"9995+;;;;;;;;;;+}7+);;;;;;;;;;5555998899\",\n    \"9995+;;--;;;;;;)==+);;;;;;;;;;5455599449\",\n    \"99957;;-;)7});;_}=+_;;;;*++_;;5454454999\",\n    \"4495+;--)+=});;;))+_;;;;;=11+;1444454994\",\n    \"9995);-;_++=*;;;_)+);;;;;=}});)344554444\",\n    \"9995_;;_;_+)----;)+);----_+=;;;;}4499455\",\n    \"5551*;*_;;-------)));-----;;;;;;14444555\",\n    \"5551;;;;---------*))_---:-;-;;;+44444555\",\n    \"5555};;;--------;;)_;;;;----;;+544444455\"\n  ],\n  [\n    \"8988$8#$8989994494988$889999445549988#08\",\n    \"99$#89999889999988998$8998894945945998##\",\n    \"98$898#898899999999899988$8894559944998#\",\n    \"999898#8889994}7))+}34988888895594999999\",\n    \"98988888$08993)____))=499888995549999499\",\n    \"8$889#&80&89951}112}))594488444598899994\",\n    \"9999980$8#89937}1232))999449444598998899\",\n    \"8899898#8889417}1712)}999998845598988994\",\n    \"88999999889941712222}5949994994544499989\",\n    \"894994498899417}111155599884445549899999\",\n    \"449894959894437}1}=395999889555559944989\",\n    \"49889994499531=+}}=255549894595559459498\",\n    \"5598999451=)71==}1}3+=134455545559559998\",\n    \"554955})_;;;+52}}135)*;;)+15554555455948\",\n    \"9945+;;;;;;;)1221332_;;;;;;_744555599549\",\n    \"4443_;;;;;;;;;===}7);;;;;;;;_54555999999\",\n    \"999};;;;;;;;;;)=}}=*;;;;;;;;;14555998899\",\n    \"999};;-;;;;;;_)}7=+;;;;;;;;;;14455599999\",\n    \"999=;;----;=}}77==+;;;;;;;;;;14454454999\",\n    \"444);;----_==7=+7++;;;;;;;;;)24454454994\",\n    \"995*;;----_++)_;+));;;;;;;-_=13444549444\",\n    \"992;;;---;__;--;))+_;;;----)711544499455\",\n    \"55+;;;-;;;;----;_)+_;-;----_)7=744444555\",\n    \"55=;;-----------;))_;------;;;;144444455\",\n    \"555=;;;;---------_)_;;----:-;-;344444455\"\n  ],\n  [\n    \"8988$8#889999944449888889999445559988#08\",\n    \"99$#89999889994988998$8998894945945998##\",\n    \"98$898#898899988888899988888945599449980\",\n    \"999898#8989999327=}599988888895594499999\",\n    \"98988888$08995+_)_))+1999888995549999499\",\n    \"98889#&80&8995}====+_)595499444598899944\",\n    \"999998088#8993}11331))499944444598998849\",\n    \"8899898$88894}=}7}21)+999498845598988994\",\n    \"8899999988995}}21121=3944994994544499989\",\n    \"8949944988995}71111125599884445549894994\",\n    \"449894459894517}}}=195999889555559944989\",\n    \"4988999449953}==}}=155549894595559459498\",\n    \"55989995317+17==11}215455455545559559998\",\n    \"5549537);;;;15}7}}31__)}3545554555455948\",\n    \"9952_;;;;;;;2551}33=*;;;;_=3955533599549\",\n    \"444+;;;;;;;;;_+=157_;;;;;;;_395535999949\",\n    \"994_;;;;;;;;;*}777=;;;;;;;;;744555998899\",\n    \"943;;;-;;---;;+=}}+;;;;;;;;;=44555599999\",\n    \"99};----;---_7}}}++;;;;;;;;;=44554454999\",\n    \"44);;------_+}}}+++;;;;;;;;;=44454454994\",\n    \"95*;;------)+=++)));;;;-;;-;745555549444\",\n    \"91;--------__;-;)));;;;-;;--_3}+}5499455\",\n    \"5);;;---;_;;---;)));-;-----;;)+=13445555\",\n    \"5+;------------;_))_--------;))=15444555\",\n    \"55);;;;;-------;*))_;-----:--;__}4444455\"\n  ],\n  [\n    \"8988$8#889994944449888889999445559988#08\",\n    \"99$#89999889994988998$8998895955945998##\",\n    \"988898#898899988888899988888945599449480\",\n    \"999898#8989999531}2994988888895544499949\",\n    \"98988888$08995)))__)=3999888995549999499\",\n    \"98889#&80&89957+))))_)495499444598849944\",\n    \"999998088#8945}11231)_499444544598998849\",\n    \"8899898$88894}=}712})+999498845548988994\",\n    \"8899999988995}}2111}+5944994994554499989\",\n    \"894494498894577111}115599884445549844994\",\n    \"4498944598945}7}}1=}95999889555559944989\",\n    \"49889994494537=7}}=}53549894595559459498\",\n    \"5598999551}=1===11}155455455545359559998\",\n    \"555932=);;;;3177}}3}_)}55545554555455948\",\n    \"9957;;;;;;-_342}}33+;;;;)734955533599549\",\n    \"443_;;;;;;--;)=7241_;;;;;;;7945535999949\",\n    \"99};;-;;;----_=+=7+*;;;;;;;_444535998899\",\n    \"94=----;-----;+=7++;;;;;;;;;555555599949\",\n    \"94);--------)}}7+++;;;;;;;;;544554454999\",\n    \"41;--------_+}}}+));;;;;;;;_544554454994\",\n    \"4+;--------)++)))_);;;--;-;)444555559444\",\n    \"3;---------;;--;)));;;-----;544455599555\",\n    \"+--------;-----;)));-;------+551++155555\",\n    \"=;---------::--;_));---------)+++=145555\",\n    \"5);-------------__);;------:-;+++7344555\"\n  ],\n  [\n    \"8988$8#889999944949888889999445559988#08\",\n    \"998#89999889994988998$8998894945945998##\",\n    \"988898#89889998888889998888894559944998#\",\n    \"999898$8999999531}2999988888895594499999\",\n    \"98988888$#8995)))__)=5999888995549999499\",\n    \"98899#&80&89957++)))_)995499444598899944\",\n    \"999998088#8953}11231))999949444598998849\",\n    \"8899898$88895}=}}121)}999498845598988994\",\n    \"8899999988993}}2111}+9944994984544499989\",\n    \"8949944988945771111125599884445549894994\",\n    \"4498944598945}7}}1=795999888545559944989\",\n    \"49889994499537=7}1=755549894595559459498\",\n    \"55989995317+2===11}155455455545559559998\",\n    \"555931+_;;;;5177}}21_+145545554555455948\",\n    \"995+;;;;;;;_342}135=;;;*+154955533599549\",\n    \"441;;;;;;;;-;)=}251_;;;;;;_3995535999999\",\n    \"99);;;;;;---;)===}=_;;;;;;;=994555998899\",\n    \"94)----;;--;;_==7++_;;;;;;;+455555599999\",\n    \"95_----;--;7}}7++++_;;;;;;;=444554454999\",\n    \"4=;;;---;-)=}}7++++_;;;;;;;7444554454994\",\n    \"5_;-------_+=)_))_);;;-;;;;1444555549444\",\n    \"7;--------;_;--_)));;;-;--;}444455499455\",\n    \";--------;-----;)));-------_54517}544555\",\n    \"_----------:---;_));--------+}=++}544555\",\n    \"2*;-;----------;__);--------;)++=}544555\"\n  ],\n  [\n    \"8988$8#889899944449888889999445559988008\",\n    \"998#89999889994988998$8998894945945998##\",\n    \"988899#898899989888899988888945599449980\",\n    \"999898$89999951}=+}499988888895594499999\",\n    \"98988888$#8941)____)+5999888995549999499\",\n    \"98899#080&89537====)_7895489444598899944\",\n    \"999998088#8952}11331)1999949444598998849\",\n    \"8899898$888957=}}}1})4899998845548988994\",\n    \"8899999989943}71212119944994984544499989\",\n    \"894994498894577}11}155599884445549899999\",\n    \"4498944598945}=}}1=}95999889545559944989\",\n    \"4988999449432=+=}1=}53549894595559459498\",\n    \"559899951=))2===11}}35455455545359559998\",\n    \"55541=);;;;;52}7}}3};_+25545554355455948\",\n    \"993);;;;;;;;1531245+;;;;_=34955333599549\",\n    \"447;;;;;;;;-;)+=15}_;;;;;;;3995535999999\",\n    \"99_;--;;;;;;;_7}}7=_;;;;;;;7994535998899\",\n    \"94_----;;--;;;=+=7+*;;;;;;;=455555599999\",\n    \"95;----;;)7}=;)+7++;;;;;;;;7444554459999\",\n    \"4+;-----;=777;_=))+;;;;;;;;7444554454994\",\n    \"5;;-----;+==);;))));;;-;;;;7444555549444\",\n    \"7;-------_);--;_)))-;--;--;)445555499455\",\n    \";;------;;;---;;)))-----;;-;3}=155445555\",\n    \")------;---:--;;)));-------_++=}54445555\",\n    \"5);-;---------;;_));-------)++=144444555\"\n  ],\n  [\n    \"8988$8#$8989994494988$$899994455499880&8\",\n    \"99$#89999889994988998$8998894945944998#0\",\n    \"98$898#898899999999899988$88995599449980\",\n    \"999898#8889941++))+149988888895594999999\",\n    \"98988888$0893=_____)+4999888895549999499\",\n    \"98889#&80&89}1}11227)9894488444598899994\",\n    \"9999980$80892171133}+9889949444598898899\",\n    \"8899898#88855}7}1}1138899998895598988994\",\n    \"8899999989953}7}233159949999884544499989\",\n    \"8949944988945}7}111145498889445549899999\",\n    \"4498944599943}7}11=195998888545549944989\",\n    \"49889994493}1=+=11=155549894595559459498\",\n    \"55989941+)*;3}=711}=+}555454545559559998\",\n    \"55537)_;;;;;2511}15+*;;)7345554555455948\",\n    \"993_;;;;;;;;=111343)*;;;;*+5955553599549\",\n    \"44=;;;;;;;;;;_77}1=*;;;;;;;1995555998999\",\n    \"99);;;;;;;;;;;77}}=*;;;;;;;=994555998899\",\n    \"94_;;--;;;;;;;)=}7+;;;;;;;;=455555599999\",\n    \"95_;---;;));;;)}=++;;;;;;;;=444554449899\",\n    \"47;;;--)77+;;;;++++;;;;;;;;+444554444999\",\n    \"4);;;-;++==;;;;)+++;;;;;;;*+444555549499\",\n    \"2;;;--;_++_;;;;_)));;;;;;*)7344455499455\",\n    \"+;;;;;-;__--;;;;)));;;;-;)+7154455445555\",\n    \"1;;;;;;;;----;;;)));----;)+}344455455555\",\n    \"5};;;;;-------;;)))_---:-;_)344455444555\"\n  ],\n  [\n    \"8988$8#$8989994494988$8899994455599880&8\",\n    \"99$#89999889994988998$8998894945945998#0\",\n    \"98$898#898894511}15999988$88945599449980\",\n    \"999898#888942)____)+49988888895594499999\",\n    \"98988888$0857))))++)19999888895549999499\",\n    \"98899#&80&81+}}1233}18894488444598899944\",\n    \"9999980$8#83===7111}48889949444598898849\",\n    \"8899898#8881177711219889999884559898$994\",\n    \"8899999989951777122399944894884544499989\",\n    \"89499454889437==11}245598884445549899999\",\n    \"5498944599931=+=}}=195999888545559944989\",\n    \"4988999553=_1=++}}=}13549894595559459498\",\n    \"5599442+_;;;7277}7}+;;)=2455545359559998\",\n    \"5551);;;;;;-=552}55);;;;;_75554355455948\",\n    \"993;;;;;;;;-;+7}132_;;;;;;;2955333599549\",\n    \"44=;---;;;;;;;=}}}+;;;;;;;;}995535998999\",\n    \"99)-----;;;;;;)7}7+;;;;;;;;}994535998899\",\n    \"94)------;;;;;_}}=);;;;;;-;7455535599999\",\n    \"95;-------;;;;;=+));;;;;;-;+444555449899\",\n    \"41;----_---;;;;)++);;;__;;;)444555444999\",\n    \"9+;--;}}_----;;_+));;;)7}+_)444555549499\",\n    \"4_--;+=}7----;;;)))--;)7}});544555499455\",\n    \"1;;;;))+};-----;)));--;+}=_;244555455555\",\n    \"5)--;-;_;--:----)));---;;;;1444455555555\",\n    \"52;--;--:--::---__)*-----;74444455455555\"\n  ],\n  [\n    \"8988$8#$8989994444988$$8999944554998$&&8\",\n    \"99$#89999889945999998$899889494594499800\",\n    \"98$8980898893=++)+}499988$8899559944998&\",\n    \"999898#88941=_***__799988888895594999999\",\n    \"98988888$#9))+7}}11=49999888895549999499\",\n    \"8$889#&80&9++}}1333198894988444598899994\",\n    \"9999980$8#9==777}11588889949444598898899\",\n    \"8899898#889}77}}72348889999889559898$994\",\n    \"8899999989951777}135999448998845444999$9\",\n    \"8949945488941==7}11345598884445549899999\",\n    \"44989445994}1+++}}=145999888545559944989\",\n    \"498894951=_;}7==}}=7_)=14895595559459498\",\n    \"5599437_;;;;)5}1}}}=;;;;*+15545559559998\",\n    \"555}_;;;;;;-_543155);;;;;;_5554355455948\",\n    \"993;;;-;;;;;;_7}1}1_;;;;;;;3955533599549\",\n    \"447;---;;;;;;;)7}=+;;;;;;;;2995535998999\",\n    \"99+-----;;;;;;_}}=+;;;;;;-;1994535998899\",\n    \"94)-------;;;;;==+);;;;;;-;=455555599999\",\n    \"95;-------;;;;;)))))++);-;;=444554449899\",\n    \"41;--------;;;;_+)))=}}+-;;+444554444999\",\n    \"97;--;;-----;--;)))_=}}+;;;_344555549499\",\n    \"9)--;}}+;----;--)))--)=_;;;;144555499455\",\n    \"5_;;+711+-------)));--;;;;;2444555445555\",\n    \"57;-_)71=---:-;;)));----;)14444455455555\",\n    \"53);;;__-----:-;;;);--;}5444444455444555\"\n  ],\n  [\n    \"8988$8#88999994444988$$8999944554998$&&8\",\n    \"99$#89999889521112398$899889494594499800\",\n    \"98$898#89883}_____)599988$8899559944998&\",\n    \"999898#8997)__)))+=399988888895594999999\",\n    \"989888898$}_)7}1333299999888895549999499\",\n    \"8$899#08##1_+77}}21588894988444598899994\",\n    \"999998#88$3+=7}1}12488889949444598898899\",\n    \"8899898$98917771}1249889999889559898$999\",\n    \"889999998994}=7}}135999448998845444999$9\",\n    \"894494548895}=+=}}}255598884445549899999\",\n    \"4498944599})}=+=}}=}+7249889555559944989\",\n    \"49889441+*;;717}}7=7*;;*)195595559459498\",\n    \"55992=_;;;;;)532}11+;;;;;;75545359559998\",\n    \"555);;;;;;;;;}32213);;;;;;)5554355455948\",\n    \"991;;;;;;;;;;;+7}=1);;;;;;_4955533599549\",\n    \"44+;----;;;;;;)}7++;;;;;;;*5995535998999\",\n    \"99)------;;;;;;7=++;;;;;;;;2994535998899\",\n    \"95;-------;;;;;)))+++);;-;;1455555599999\",\n    \"91;--------;;;-;)_)+}}+--;;7444554449899\",\n    \"4=;---------;;;;)))+}}+;-;;)594554444899\",\n    \"9);--------:-;;;)_)-;+_;;;-_344555549499\",\n    \"5_;--;+_------;;)_)--;-;;;_3444555499455\",\n    \"1;;;;7}}=-----;;)_);---;_+34444555445555\",\n    \"5=;-;+=11*-----;;;);;-_34444444455455555\",\n    \"53+;;;)7)-------)))-;;;54444444455444555\"\n  ],\n  [\n    \"8988$8$88999455555988$$8999944554998$&&8\",\n    \"99$#899998851+))))=48$899889494594499800\",\n    \"98$899#8983=)*__;_+999988$88945599449980\",\n    \"999898$894___)=}122999988888895594999999\",\n    \"9898888988)_)=}1233599999888895549999499\",\n    \"88899$08#8+))77}}11588894988444598899994\",\n    \"999998#8883777}1171488889949444598898899\",\n    \"8899898$9892777}11249889999889559898$999\",\n    \"884999999995}==7}135999449948845444999$9\",\n    \"89449554885}7===}}}135549884445549899999\",\n    \"549995452=;_1==71}=7);)=2989555559944989\",\n    \"4999437);;;;73}1}7=7_;;;;)95595559459498\",\n    \"559});;;;;;;)543131+;;;;;;25545559559998\",\n    \"55};;;;;;;;;;+}}172=;;;;;;15554555455948\",\n    \"94);;;-;;;;;;;=}7+}+;;;;;;19955555599549\",\n    \"43;------;;;;;)}=++*;;;;;;=9995555998999\",\n    \"9=;-------;;;;;=+))+));;-;)9995555988899\",\n    \"4_;--------;;;;))_)+7}};;;_4455555599999\",\n    \"2;;---------;;;_);))}}};;;;7444554449899\",\n    \"};---------:-;;*);_-;++;;;;)494554444899\",\n    \"};----------:-;__;_--;-;;;)4444555549499\",\n    \"_;-----;)_----;;_;)----;_+54944555499455\",\n    \"=-----_+77;----;;;);--+24444444555445555\",\n    \"5_----;)=};-----;;);;;)44444444455455555\",\n    \"557;---;)+;----)+));;;;14444444455444555\"\n  ],\n  [\n    \"8988$8$8999431+=7}298888999944554998$&&8\",\n    \"99$#89999891)_;___)3888998894945945998#0\",\n    \"98$899$899+___))++}999988$88945599449980\",\n    \"999898$895___+}1355999988888895594999999\",\n    \"9898889984___+7}112399999888895549999499\",\n    \"98899$#8$9=++=}1211588894488444598899994\",\n    \"999998$88857777}111588889949444598898899\",\n    \"8899998898927==711149889999889559898$999\",\n    \"884999499953====7155999449948845444999$9\",\n    \"8954455491_=7=7}12}}7}149884445549899999\",\n    \"5499951+*;;)37}}}1==);;_=989555559944989\",\n    \"5995=_;;;;;;153113=7);;;*}95595559459498\",\n    \"55+;;;;;;;;;+5312}7=;;;;;)55545559559998\",\n    \"53;;;;--;;;;;)}}}+1};;;;;)45554555455948\",\n    \"4+;------;;;;*}}=+=+;;;;;)44955553599549\",\n    \"5_;-------;;;;+}=+)_;;;;;;59995555998999\",\n    \"};---------;;;)++)_)+=+)_;39995555988899\",\n    \");---------;;;;));_))=}17;)4455555599999\",\n    \";;----------;;;)_-;;_)}1=;;1444554449899\",\n    \"_----------:-;;_*-*;--;);;+5544555444899\",\n    \";---------;*-;;_;-_-----;)54454555549499\",\n    \";-------;)=+;-;;;;_;--_+1554944555499455\",\n    \"7;------;)+=)----;);-;144544444555445555\",\n    \"51);-----_)+;--;;;);;;)54444444555455555\",\n    \"55=;---;-------)););;;;14444444455444455\"\n  ],\n  [\n    \"8988$8$89995}+)___+58888999944554998$0&8\",\n    \"99$#8999992+______)2888998894945945998#0\",\n    \"98$899$895___)=}122999988$88945599449980\",\n    \"999898$893___)71233499988888895594999999\",\n    \"9898899982_)_+7}111399999888895549999499\",\n    \"98899$#8$877777}22}588894488444598899994\",\n    \"999998$888577=7}111488889949444598898899\",\n    \"8899998898917==7}1399889999889559898$999\",\n    \"8949994493}77777}125999449948845444999$9\",\n    \"9954453});*177}}157}++}39884445549899999\",\n    \"5594});;;;;+5}1}14==+;;_}889555559944989\",\n    \"55+_;;;;;;;)543153=7);;*_995595559459498\",\n    \"5+;;;;;-;;;;+1}17))7*;;;;255545559559998\",\n    \"2;;;-----;;;;=}7+)71;;;;;345554555455948\",\n    \"7;-------;;;;)}}=)+=;;;;;354955553599549\",\n    \"_;--------;;;_}=+___;;;;;199995555998999\",\n    \";;--------;;;;+));__;;;__749995555988899\",\n    \";;---------;;;)));__;;*+}134455555599999\",\n    \";----------;;;_);-;;--*+}124544554449899\",\n    \"-----------;)))_;-*;---;)+15444555444999\",\n    \"----------_++77);-_;-:---;34454555549499\",\n    \";---------_)+=+;;;_;;;=71554944555499455\",\n    \"1);--------_));--;);-;345444444555445555\",\n    \"45}_----;---:-;_;;);;;+44444444455445555\",\n    \"55+;-----------_;;);;;*54444444455444455\"\n  ],\n  [\n    \"8988$8$89993=_**___}8888999944554998$&&8\",\n    \"99$#899999}_____)))28889988949459449980&\",\n    \"98$899$893___)=1353499988$8894559849998&\",\n    \"999898$891*;_)7}112599988888895599998999\",\n    \"9898889982)+)+}}121599999888895548999499\",\n    \"98899$#8$8=7}=7}131588894488444598899994\",\n    \"999998$888477=7711198888994944459888$899\",\n    \"88999988995}77==71399889999889559898$999\",\n    \"894994441)777}}}2113999448998845444999$9\",\n    \"995551+_;;)3}}}1317}++739884445549899999\",\n    \"53}+;;;;;;;1511}43+=)*;_3889555559944989\",\n    \"3);;;;;;;;;+53111++=);;;+995595559459498\",\n    \"};;;---;;;;;)7}7+*)7;;;;)455545559559998\",\n    \");------;;;;_}}}+;71;;;;)445554555455998\",\n    \"_--------;;;;)=+_;)=;;;;)459955553599549\",\n    \";---------;;;_=+);__;;;;)499995555998999\",\n    \";----------;;;++_;__;;--;249994555988899\",\n    \"------------;;_);;__;;---)54455555599999\",\n    \"------------_++++___;----;+=+}5554449899\",\n    \"-----------_+==7=;_;---:-;))+15454444899\",\n    \"-----------;)++=_;_;-;-:--;)}54455549999\",\n    \";------------;;;-;_;__7))_)+344555499455\",\n    \"52}*-----;--:----;_;--544444444455444555\",\n    \"553);-------:--;;;_;-;744444444455444455\",\n    \"552_---------:-_;-_;;;)44444444454444455\"\n  ],\n  [\n    \"8988$8$89941+_;*___}8888999944554998$&&8\",\n    \"99$#8999997_*__))))18889988949459449980&\",\n    \"988899$892___)=1353499988$8894559849998&\",\n    \"999898$89}*;_)7}112599988888895594998999\",\n    \"9898899981)=++}1121599999888895548999499\",\n    \"988998#8$8+7}77}131588894488444598899994\",\n    \"999998$88857777711298888994944459888$899\",\n    \"88999988953777==}1399889999889559898$999\",\n    \"89499451+;177}}13135999448998845444999$9\",\n    \"9953}+_;;;+3}11}577}+=159884445549899999\",\n    \"57);;;;;;;_553}191+7)**)4889555559944989\",\n    \"7;;;;;;;;;;+1111})+7);;;1995595559459498\",\n    \"_;;;--;;;;;;)777)*+7;;;;=455545559559998\",\n    \";;-----;;;;;;+=});}1;;;;+445554555455998\",\n    \";-------;;;;;+7=_;+=;;;;)459955553599549\",\n    \";;--------;;;;+)_;)_;;;;)499995555998999\",\n    \"--;----------;))_;__;;;;*549994555988899\",\n    \"------------;)=7=+)_;;;;;}54455555599999\",\n    \"-----------;)+7}}))_;;--;)35554554449899\",\n    \"-----------;)+77=;);;;-----;+=}}25454899\",\n    \"------------;;;;-;_;;---::-;)+++}1349444\",\n    \");;------;;------;_;_;);----;)+7}3349455\",\n    \"445+;------------;_;--24517+))}545444555\",\n    \"555+;----------;;;);--744444444444444455\",\n    \"553+;----------;_;_;--)44444444444444455\"\n  ],\n  [\n    \"8988$8$89942=_*___)1888899994455499880&8\",\n    \"99$#8999997_____)__1888998894945945998#0\",\n    \"988899$891___)=1233999988888945599449980\",\n    \"999898889=;;_)7}113499988888895594999999\",\n    \"9898899987)+)+}1111599999888895549999499\",\n    \"988998#889)}}77}131588894488444598899994\",\n    \"999998888837777}112988889949444598898899\",\n    \"88999988942777==}1599889999889559898$999\",\n    \"89499451))17}}}}5445999449948845444999$9\",\n    \"9952})_;;;}2}11}5+}1}2549884445559899999\",\n    \"2=);;;;;;;+552}197=7)*)}9889555559944989\",\n    \");;;;;;;;;;711121)+7);*_5995595559459498\",\n    \";;;;;;;;;;;;+}7})_+=;;;;}455545559559998\",\n    \";;;----;;;;;)=}}_;1};;;;=445554555455948\",\n    \";------;;;;;;===_;=+;;;;)454955553599549\",\n    \";;--------;;;_+7_;)_;;;;_499995555998999\",\n    \"--;----------;++)_)_;;;;;349994555998899\",\n    \"------------_+}}7))_;;;;;}54455555599999\",\n    \"-----------;)+7}=;);;;;-;794444554459899\",\n    \"------------))))_;);;;---;=1545554454994\",\n    \"---------;;------;);;;-------)+712234444\",\n    \")__;-------------;);;_-------_+++=}13555\",\n    \"455=;-------------);;-)1+_;--;_)=}112355\",\n    \"555=;;----------););--)444452}==55454455\",\n    \"555=;---------:-)_);--_44444444444444455\"\n  ],\n  [\n    \"8988$8$899937)____)38888999944554998$0&8\",\n    \"99$#899999})_______1888998894945945998#0\",\n    \"988899$892____+}121999988$88945599449980\",\n    \"9998988897;;_)7}123499988888895594999999\",\n    \"989889998=)))+}}111599999888895548999499\",\n    \"988998#884)}7=7}131588894488444598899994\",\n    \"999998888817777}112988889949444598898899\",\n    \"88999988993777==}2599889999889559898$999\",\n    \"89499455=)}7}}}}3445999449948845444999$9\",\n    \"99531=_;;;11}1115=}135549884445559894999\",\n    \"3})_;;;;;;=421}}4}+7__=59889555559944989\",\n    \");;;;;;;;;_121142++7_;;_5995595559459498\",\n    \";;;;--;;;;;;=}7=)_=+;;;;}455545559559998\",\n    \";;-----;;;;;+}77_;17;;;;+445554555455948\",\n    \";-------;;;;;+=}_;7);;;;)454955553599549\",\n    \";;--------;;;)==;;);;;;;_599995555998999\",\n    \"-------------;+=););;;;;;349994555998899\",\n    \"------------_)}}7_);;;;;;754455555599999\",\n    \"-----------;)+7}=;);;;;;;+45544554459899\",\n    \"-----------;))+)_;);;;---_54444454454994\",\n    \"---------;;------;);;;-----;+23}25549444\",\n    \";;;--------------;);;;-------;)+7=}13355\",\n    \"555};-------------);;;-_-----;)+==7}2255\",\n    \"555};----------;+_);--;5437)*-;;71132555\",\n    \"555};---------:;=));---34444443144444455\"\n  ],\n  [\n    \"8988$8$89995}))__)+5888899994455499880&8\",\n    \"99$#8999992)__;____}888998894945945998#0\",\n    \"988899$895____+7}11999988$88945599449480\",\n    \"999898889};*_)71233999988888895594999999\",\n    \"9898899987_)_+}}}}1399999888895548999499\",\n    \"988998#884+}7=7}22}588894488444598899994\",\n    \"999998888817777}111988889949444598898899\",\n    \"88999988995777=7}2399889999889559898$999\",\n    \"894994441+}77}}72555999449998845444999$9\",\n    \"99553}+_;;1}}1}137}155549884445549894999\",\n    \"51=);;;;;;=511}74}+7_)759889555559944989\",\n    \"7;;;;;;;;;)333155++7_;;*2995595559459498\",\n    \"_;;;;;;;;;;_7}==)_=+;;;;+455545559559998\",\n    \";;----;;;;;;)=7});1=;;;;)445554555455948\",\n    \";------;;;;;_=}7_;7);;;;;554955553599549\",\n    \";;------;;;;;+++_;);;;;;;399995555998999\",\n    \"-------------;)+*;);;;;;;149994555998899\",\n    \"------------;_+=+_);;;;;;+54455555599999\",\n    \"-----------;)+}77_);;;;;;_44544554459899\",\n    \"-----------;)+}7););;;---_44444554454999\",\n    \"-----------;_)));;);;;---;;+143255549444\",\n    \"---------;--------_;---------)+=7}159455\",\n    \"3117--------------);--;------)+++=}14455\",\n    \"5553;----------;)));--)51);--;_+}}254455\",\n    \"5551;---------:-=));--;54443}+_145444455\"\n  ],\n  [\n    \"8988$8$89995}7)_)+}9888899994455499880&8\",\n    \"99$#8999992+_*;____1888998894945945998#0\",\n    \"988899$893___)+=771999988$88945599449480\",\n    \"999898889}*__+}1333999988888895594999999\",\n    \"989889998=___=7}}11599999888895549999499\",\n    \"988998#88577=7}1311488894488944598899994\",\n    \"999998888817777}111988889949444598898899\",\n    \"88999988984777=711399889999889559898$999\",\n    \"89499444571777771545999449998845444999$9\",\n    \"9955527);;1}}}}137}155549884445559894999\",\n    \"531+_;;;;;+5}1}74}=}))}59889555559944989\",\n    \"1_;;;;;;;;)5431547+7_;;_2995595559459498\",\n    \");;;;;;;;;;_=77}=_=+;;;;+455545559559998\",\n    \";;;---;;;;;;)7}7_;1=;;;;_545554555455948\",\n    \";------;;;;;_==+_;7);;;;;554955553599549\",\n    \";;------;;;;;)+=_;);;;;;;599995555998999\",\n    \";;;------;;;;;+);;);;;;;;149994555998899\",\n    \"----------;;-;));;);;;;;;=54455555599999\",\n    \"-----------;;_)+););;;;;;_44544554459899\",\n    \"-----------_+777=;);;;---_44444554454999\",\n    \"-----------)+77}_;);;;----)}123555549444\",\n    \"-----------_))+)--_;-------;)+++24499455\",\n    \"7+)_----;;--------);--;----;)++=14445555\",\n    \"555};-----------;;_---11+;--;_7154445555\",\n    \"555};---------::;_)---_54437+=4444444455\"\n  ],\n  [\n    \"8988$8$899952})=7}39888899994445499880&8\",\n    \"99$#8999995=)_____)4888998894945944998#0\",\n    \"988899$892___))+++2999988$88945599499980\",\n    \"999898$891__)=12355899988888895599999999\",\n    \"989889998}__)7}1121499999888894548999499\",\n    \"988998#8857+=7}12}2488894988944598899994\",\n    \"999998$8882}7771113988889949444598898899\",\n    \"88999988989}777}11599889999889559898$999\",\n    \"89499944922777==1545999499998845444999$9\",\n    \"99544527);}77}}13}}155599889445549899999\",\n    \"5553=_;;;;)5}1}}52=7))}59889545559944989\",\n    \"5+_;;;;;;;)543}291=7)*;_}994595559459498\",\n    \"};;;;;;;;;;)7}11}_++;;;;)455545559559998\",\n    \");;;-;-;;;;;)7}=)*}7;;;;_545554555455998\",\n    \";;-----;;;;;_==7);=+;;;;;359955553599549\",\n    \";-------;;;;;)+7);)_;;;;;399995555998999\",\n    \";;-------;;;;_=)_;)_;;;;;149994555998899\",\n    \";---------;;;;))_;)_;;;;;=54455555599999\",\n    \";---------;;;;;);;);;;;;;)94544554449899\",\n    \"-----------;;;_);;);;;--;_44494554454899\",\n    \"----------;)++==_;);;;---_+}144455549444\",\n    \"----------)+==7+;;_;-----*+}154455499455\",\n    \"_;--------_)===;--_-------_+144455444555\",\n    \"452);--;;--;;;--;;_---1});;;244444444555\",\n    \"5557;---------:-;__---_54455444444444455\"\n  ],\n  [\n    \"8988$8$899943}1223988$8899994445499880&8\",\n    \"99$#89999991)____)}98$8998894945944998#0\",\n    \"988899$891))__)))+1999988$88995599499980\",\n    \"999898$89}__+}13353889988888894599999999\",\n    \"9898899982_)=7}1223999999888894548999499\",\n    \"988998#885++7}11}23988894988944598899994\",\n    \"999998$8881}77}1}15988889949444598898899\",\n    \"88999988989}77}}12599889999889559898$999\",\n    \"89499949995}7==71545999499998845444999$9\",\n    \"995445553+=7777}12}}55599889445549899999\",\n    \"55995}+*;;)3}}}}15===+}59889545559944989\",\n    \"55});;;;;;;3521}45+7)*;_+994595559459498\",\n    \"5);;;;;;;;;=32125+)7*;;;*255545559559998\",\n    \"1;;;-;;;;;;;)7}}=_71;;;;;}45554555455998\",\n    \"7;-----;;;;;_7}}+;)=;;;;;}59955553599549\",\n    \");------;;;;;+7+);_);;;;;}99995555998999\",\n    \"_;------;;;;;_7+);_);;;;;+49994555998899\",\n    \";;-------;;;;;++_;__;;;;;)54455555599999\",\n    \";---------;;;;;)*;__;;___)45544554449899\",\n    \"-----------;;;;_*;__;;)}1155594554449899\",\n    \"------------;;;;;-_;--)=}154454555549999\",\n    \"----------;_)_;;;-;;---;)+14944555499455\",\n    \";--------)++=7_-;-*;--:--;14444555444555\",\n    \"2+;;-----)++=+---;_;--=}}344444455455555\",\n    \"555);----;)));--))_;-;_54444444454444455\"\n  ],\n  [\n    \"8988$8$89994555444988$$899994455499880&8\",\n    \"99$#89999891+)))+}498$8998894945945998#0\",\n    \"988899$895}+_____)5999988$88945599449480\",\n    \"999898$897_)+7}}211889988888895594999999\",\n    \"9898889983_+}}13331999999888895548999499\",\n    \"98899$#8$4)=77}}115488894488944598899994\",\n    \"999998$884777}}=134988889949444598898899\",\n    \"88999988985}77}}13498889999889559898$999\",\n    \"88499949994}==7}2545999449998845444999$9\",\n    \"89544554941}===}13}}35599884445549899999\",\n    \"5499953}+;_1777}}5==7+149889555559944989\",\n    \"59991);;;;;13}1714==+;;;)595595559459498\",\n    \"53+*;;;;;;;}451143)};;;;;)55545559559998\",\n    \"57;;;;;;;;;;+}}77)+1;;;;;_45554555455948\",\n    \"4);----;;;;;;=}}=_)=;;;;;_59955553599549\",\n    \"3;------;;;;;)1}+;_);;;;;;59995555998999\",\n    \"1;------;;;;;;==);_);;;;;;29995555998899\",\n    \"=;-------;;;;;+=);_))__;;;14455555599999\",\n    \");--------;;;;_)_;_+7}1}_;35544554449899\",\n    \"*----------;;--__-;)+7}1);)5444555454899\",\n    \";--------------;_-;;-;)+;;74454555549499\",\n    \";--------------;;-;;:---;_54945555499455\",\n    \")-------;;;-----;-;;-;-;7344444555445555\",\n    \"1;-----_++__--;---;*--}54444444455455555\",\n    \"53=;--;)+=7)-:--)))_;;)54444444455444555\"\n  ],\n  [\n    \"8988$8$89999494444988$$889994455499880&8\",\n    \"99$#8999988521}159998$8998894945945998#0\",\n    \"98$899$8993)____)=9899988$88945599449480\",\n    \"999898$891+))))+7+2889988888895594999999\",\n    \"9898888982)}}13331}999999888895548999499\",\n    \"98899$08$4+77711113488894488444598899994\",\n    \"999998#884=77}72235988889949444598898899\",\n    \"8899998899}7777133598889999889559898$999\",\n    \"88499949994177712555999449998845444999$9\",\n    \"89549554984}==7115}}35549884445549899999\",\n    \"5499954541)}===}13==}7299889555559944989\",\n    \"5999951+;;;1}77}75==+;;;)195595559459498\",\n    \"5595=_;;;;;=421734}};;;;;;15545559559998\",\n    \"55+;;;;;;;;)13112=+1;;;;;;+5554555455948\",\n    \"95;;---;;;;;;+77=_)=;;;;;;+9955553599549\",\n    \"41;-----;;;;;)7}=__);;;;;;)4995555998999\",\n    \"9=;-----;;;;;;=7);_);;;;-;;5995555998899\",\n    \"4)-------;;;;;)));)=7=);-;;3455555599999\",\n    \"4_--------;;--;))_+=}1};-;_5444554449899\",\n    \"5;-------------__-;)+}+;;;;=494555454899\",\n    \"3;-------------;_-;;-_;;;;;+444555549494\",\n    \"};--------------_;;;---;;;=4444555499455\",\n    \"1;-----------;;-_;;;---;=}44444555445555\",\n    \"5_;--;+)------;-;;_*--744444444455455555\",\n    \"52_;)}=})----:--;;)*;;_54444444455444555\"\n  ],\n  [\n    \"8988$8#88999994494988$$889994455499880&8\",\n    \"99$#89999884445988998#$898894945945998#0\",\n    \"98$899$89837+)))739899988$88945599449480\",\n    \"999898$895=_**__))3889988888895594999999\",\n    \"9898888983+=7}132+}999999888895548999499\",\n    \"88899$08$3=}}1123}1488894988944598899994\",\n    \"999998#889}=+=1}113988889949444598898899\",\n    \"889989889517771232598888999889559898$999\",\n    \"88499999995177122445999448998845444999$9\",\n    \"894494548892771115}}55549884445549899999\",\n    \"549894459921+==}11==21499889555559944989\",\n    \"49989995});}7==}}1==);;_+145595559459498\",\n    \"559943=_;;;+5}}77457;;;;;;)5545559559998\",\n    \"555});;;;;-)542}331};;;;;;;2554555455948\",\n    \"99};;;;;;;;;_=777))+;;;;;;;}955533599549\",\n    \"44=;---;;;;;;_+=+___;;;;;;;+995535998999\",\n    \"99)-----;;;;;;=7+)_);;;;;-;_494555998899\",\n    \"94_------;;;;;_))_)==+);--;;345555599999\",\n    \"94*-------;;--;))_++}}};-;;*544554459899\",\n    \"45;-------;----_);_+=}};--;;}44554454899\",\n    \"95;;-----------;_;;;-*);;;;-_54555549494\",\n    \"93;-------------_;_;---;;;;)544555499455\",\n    \"51;----------;;-___;----;_+5444455445555\",\n    \"55)+}7)-------;-;*_;;--}5444444455455555\",\n    \"5511}}1)---:::--;-_;;;;74444444455444455\"\n  ],\n  [\n    \"8988$8$88999994494988$$889994455499880&8\",\n    \"99$#89999889994988998#$898894945945998#0\",\n    \"98$899$89891}==}398899988$88945599449480\",\n    \"999898$899=____)))3889988888895594999949\",\n    \"9898888989=+++7}})}999999888895548999499\",\n    \"98899$08#37}}1233=7488894988944598899994\",\n    \"999998#889}=+}}}1}2988889949444598898899\",\n    \"8899998899377}2232298889999889559898$999\",\n    \"88499999993}7}122545999449998845444999$9\",\n    \"894494548892771112}155549884445559894999\",\n    \"549894459942==711}=745499889555559944989\",\n    \"4998999555+}===}1}=7)_)+}595595559459498\",\n    \"5599494});;+2777733+;;;;;;_2545559559998\",\n    \"55541+_;;;;_5527295=;;;;;;;)554555455948\",\n    \"995);;;;;;-;=}}7}}7);;;;;;;_445553599549\",\n    \"445;-;;;;;;;;)777+)_;;;;;;;;395555998999\",\n    \"993;----;;;;;;+++))_;;;;;;;;}94555998899\",\n    \"991;----;;;;;;)=+))_)_;;;-;;)44555599999\",\n    \"991;-----;;;;;;)))))+7}})-;;_44554454899\",\n    \"441;------;----*)_))+=}17;;;_14454454999\",\n    \"99};;------;---;)));;_+}+;;;-;5455549494\",\n    \"99};--------;---)))-::-;;;;;;34455499455\",\n    \"551+)_-------;--_));----;;;_144455445555\",\n    \"553}}1+-:-----;-;));;;--+}54444455455555\",\n    \"55}}11};----::--;;);-;;;1444444454444455\"\n  ],\n  [\n    \"8988$8#88989994494988$$889999445499880&8\",\n    \"99$#89999889994988998#$898894945945998#0\",\n    \"98$898#898853125988899988$88945598449480\",\n    \"999898#8991)))_))=5889888888895594999949\",\n    \"9898888889})))+=+)+499999888895548999499\",\n    \"88899#&8#9}}112337+488894988944598899994\",\n    \"999998#88817=}}1217988889949444598898899\",\n    \"8899898$9857=}2122148889999889559898$999\",\n    \"88999999893}7}122255999448998845444999$9\",\n    \"894494448892771111}155599884445559894999\",\n    \"44989445989577}11}=}95499888555559944989\",\n    \"498899944931==+}1}=}++715995595559459498\",\n    \"55989995}+_+17=71}1+;;;;;_)1545559559998\",\n    \"554953=_;;;_5317}55+;;;;;;;_354555455948\",\n    \"9951);;;;;-;1317131);;;;;;;;}45553599549\",\n    \"444+;;;;;;;;;)==7=+;;;;;;;;;)94555998949\",\n    \"999);;;;;;;;;;=}}=+;;;;;;;;;_54555998899\",\n    \"994_;---;;;;;;)++));;;;;;;-;;14555599999\",\n    \"994_-----;;;;;;++++;;;;_;;-;;=4454454899\",\n    \"444_;-----;;-;;_)));;;_+7=);;+4454454999\",\n    \"994_;------;-;;;)));;;)=}11+;;_555549444\",\n    \"994}7+;---------)));--;)=}}+;;2455499455\",\n    \"553111};--------_));--:--_)_;+4455445555\",\n    \"5551211_--------;))_------;+144455445555\",\n    \"5551}}+;--------;_)*;-;--}54444455444555\"\n  ],\n  [\n    \"8988$8#88989994994988#$889999445499880&8\",\n    \"99$#89999889999988998#$898894945944998#0\",\n    \"98$898#898894499888899988#88994498499980\",\n    \"999898#8884}=)))+}58898$8888894599998999\",\n    \"98988888$$3)__)))))599999888894548999499\",\n    \"8$899#&80#3}}1233})388894988944598899994\",\n    \"9999980$8$21711131+588889949444598898899\",\n    \"8899898$889}=72}12748889999889559898$999\",\n    \"88999999895177123225999498998845444999$9\",\n    \"894994498893771121}145599889445549899999\",\n    \"449894959895}7111}=195999888545559944989\",\n    \"498899944943}=+}1}=}11349994595559459498\",\n    \"5598999451++}==71}}+;;;_)=}3545559559998\",\n    \"5549441+*;;_51}7725+;;;;;;;_254555455948\",\n    \"9943=);;;;;;243}243);;;;;;;;+44555599549\",\n    \"444};;;;;;;;*)+==}=;;;;;;;;;*54555999999\",\n    \"999=;;;;;;;;;;+===+;;;;;;;;;;}4555998899\",\n    \"999+;---;;;;;;+}7++;;;;;;;;;;+4455599999\",\n    \"999+;----;;;;;_++)+;;;;;;;;;;_5454454899\",\n    \"444+;)_--;;;;;;++++;;;;;;;-;;;3454454999\",\n    \"99977}});-;;;;;_++);;;;;;;_)_;_144549494\",\n    \"9997}11};--;;;;;)));;;;;;;)=}})144499455\",\n    \"555+7}}1_---;;;;)))_-;;--_+711}444444555\",\n    \"555=+)+);----;;;)++);----:;)7}}544444455\",\n    \"555}+;;-------;-;)));-----;;;)3444444455\"\n  ],\n  [\n    \"8988$8$88989994494988$$899994455499880&8\",\n    \"99$#89999889994988998$$998894945945998#0\",\n    \"988899#898899998888899988$88945599449480\",\n    \"999898$898951}++734889988888895594999949\",\n    \"98988888$#97____)))199999888895549999499\",\n    \"98899#&80&9}==711})=88894488944598899994\",\n    \"9999980$8#51}11233==98889949444598898899\",\n    \"8899898$8893+=1}}1}198899998845598988999\",\n    \"88999999894377122212999449948845444999$9\",\n    \"89449449889377}111}155599884445559844999\",\n    \"44989445989417}11}=}95999888555559954989\",\n    \"4988999449951==71}=}55549895595559459498\",\n    \"55989994451=1===11}+_)+71555545559559998\",\n    \"5549593}+;;;3}7=}}3=;;;;;;_+254555455948\",\n    \"99551+_;;;;;1527}53+;;;;;;;;)54555599559\",\n    \"4443;;;;;;--)==7}3};;;;;;;;;;24555999949\",\n    \"9991;;;;;;;--;====+;;;;;;;;;;+4555998899\",\n    \"9947;---;;---;+==7+;;;;;;;;-;_4455599949\",\n    \"999=;--;));--;)}=++;;;;;;;;-;;3454454999\",\n    \"444};;+77+;--;;+))+;;;;;;;;;;;}454454994\",\n    \"9997;*=71=;--;;)+)+;;;;;;;--;;_244549444\",\n    \"999=;;+=})-;-;;_)));;;;;------;;54499455\",\n    \"555))+;)=;--;;;;)))_;;;;-----;))54444555\",\n    \"555)));;-----;;;))));-;;---:-)+=}5444455\",\n    \"5557;;--------;;_)))_------:-)=}15444455\"\n  ],\n  [\n    \"898888$88999994494988$889999445559988#08\",\n    \"998$89999889994988998$8998894945945998##\",\n    \"988899$898899988888899988$8894559944949#\",\n    \"999898$89899532}159889988888895594999949\",\n    \"98988888$#85=)))_)+749999888895549999499\",\n    \"98899$&8#&83+))+77+)58894488444598899994\",\n    \"999998#88#811}11331)38889949444598998899\",\n    \"8899898$98831+71}11+48899998845598988999\",\n    \"8899999989951772122159944994984544499989\",\n    \"894494498895177111}}55599884445559944999\",\n    \"44989445989437=}11=745499889555559954989\",\n    \"4988999449955}=7}}=755549894595559459498\",\n    \"55989994495237=+}11})7134455545359559998\",\n    \"554959531+_;}1==7}23_;;;_)71554555455948\",\n    \"99453}+_;;;;}52}=131_;;;;;;;_35533599559\",\n    \"4445=;;;;;-;)7}7}32);;;;;;;;;=4555999949\",\n    \"9995);;;;;;--;++=77_;;;;;;;;;_4555998899\",\n    \"9993;---;;---;+7=++_;;;;;;;;;;1455599449\",\n    \"9991;----_+=+;)++++_;;;;;;;;;;=454454999\",\n    \"4441;---)7=7+;_7=++_;;;;-;;;;;)444455994\",\n    \"9991;---)+=7);;)+))*;;;;-;;-;;;144554444\",\n    \"9997;-;;_++_-;;*))+_;;;;-;;--;;;14499555\",\n    \"555);__;;;;--;;;))));;;;;-------+4444555\",\n    \"553_;;_;-----;;;))))_-;;;------;+5444455\",\n    \"335};;-------;;;_)))_;-;;;--:--;)=}34455\"\n  ],\n  [\n    \"898888$88989994444988$889999445559988#08\",\n    \"998#89999889994988998$8998894945945998##\",\n    \"988899#898899988888899988$8894559944948#\",\n    \"999898$898999443259889988888895594499949\",\n    \"98988888$#893+))__)739999888895549999499\",\n    \"98899#&80&841))))++)+9895488444598899944\",\n    \"9999980$8#84}}}11337)9889444544598898899\",\n    \"8899898$98841}=}}}11+9899498845549988994\",\n    \"88999999899437=7211119944994984554499989\",\n    \"8944944988943}7711}}25599884445559944994\",\n    \"44989445989451==}1+755499889555559954989\",\n    \"498899944995557=7}=735549895595559459498\",\n    \"55989994494532=+=1117}555455545359559998\",\n    \"5549494551+))3=+=}257;;_)725554335455948\",\n    \"9945531+_;--)5377713=;;;;;;;)24533594559\",\n    \"44455);;----_}11}33}*;;;;;;;;_5555999949\",\n    \"99951;--------)+++7);;;;;;;;;;3455998849\",\n    \"9995=;--------_++==);;;---;;-;+455549449\",\n    \"9993)------;*_)7==+_;;;;--;---;554454999\",\n    \"4443)-----)=+=)=+)));;;;--;---;144455994\",\n    \"9995_----;+==7+)+)+);;;--------)44554544\",\n    \"9992_--;-_+)__;;)))_;;;;------;;14499535\",\n    \"555+;;;;;;;---;;_)));-;;--------*5444555\",\n    \"555);-;*---:--;;__))_;-;--------;5444455\",\n    \"3351;;----::--;;_)))_;------:---;1554455\"\n  ],\n  [\n    \"898888$889999944449888889999445559988#08\",\n    \"998$89999889994988998$8998894455945498$#\",\n    \"988899$898899988888899988$8894559944949#\",\n    \"999898$898999994335999988888895544499949\",\n    \"98988888$#8941+))_)+}4999888895549499599\",\n    \"98899$080&8957)_)+++)1895489444598849944\",\n    \"999998#88#892}}}1132+7999444544598998849\",\n    \"8899898$88893}==}}1171899498845549988994\",\n    \"88999999899952==}21212954994994554499989\",\n    \"894494548899537=71}}13549884545559944994\",\n    \"44989445989444}==}=755499889555559954489\",\n    \"498899944995591==}=755549995595559459598\",\n    \"55989994494535}=+}112=355455545354559998\",\n    \"5549494443}))1}+=7215);;)=25554335455948\",\n    \"9945553});;;;}5}7=135_;;;;;;)}5533594559\",\n    \"444545;;;----=}1}113+;;;;;;;;;}555999949\",\n    \"999557;;------;+++==_;;;;;;;;;+555498949\",\n    \"99955)--------;)+==+;;;;--;;-;_555549449\",\n    \"99953;-----;)=)+==+);;;;--;;--;754454999\",\n    \"44453;----+7++))+)++_;;;---;--;)44455944\",\n    \"99951_---;=77=))+++)_;;;--;-;;-;34554555\",\n    \"9995=;-;;;+=));;))))_;;;-----;;;+4449555\",\n    \"5551*;;;-;_;--;;_)))_;;;--------;2445555\",\n    \"5551;;-;;;;----;__)));-;--------;1444455\",\n    \"3355+;;----:---;_))_)_----------;2444455\"\n  ],\n  [\n    \"898888$899994944449988889999445559988##8\",\n    \"998$8999988999498899888998895455945498$#\",\n    \"988899$89889998888889998888894559954949#\",\n    \"999898$89999999327}244988888895544499449\",\n    \"98988889$#8995=)___))7499888995549449599\",\n    \"98899$080&8993+))+7}=)595499444598849944\",\n    \"999998#88#894}}}11231+399444555598998849\",\n    \"8899998$8889417+=}}}17499498845549988994\",\n    \"88999999889995177}2221554994994554499989\",\n    \"8944945488999327=}}}13549884555559944994\",\n    \"5498944598944457+7=725499889553359954489\",\n    \"498899944995595}=7=725549995595359459598\",\n    \"559899944945323===}}12)}3455545354559998\",\n    \"5549494443})__2}==2115_;;;)7155535555948\",\n    \"9945559})*;;;;351}1242;;;;;;;_=553544559\",\n    \"444549};;;---;+7}}}33_;;;;;;;;;155499949\",\n    \"999554);-------_+==7=;;;;;;;;-;755498949\",\n    \"999545*--------;77=+);;;;--;;-;)55549449\",\n    \"999545;--;___;-;+++++_;;;--;---;34455944\",\n    \"449595;-;7)=+;-;+7++);;;;------;}4455944\",\n    \"999551;-)=7}=);-_++))_;;;------;+4555555\",\n    \"99955+;;)==7=;--;)++)_;;;------;;5449535\",\n    \"55552___;)+;----;))))_;-;--------+445555\",\n    \"55555);;;;;-----;)))));----------_545555\",\n    \"33555+;;;---:---;_))));-----:---;}444455\"\n  ],\n  [\n    \"898888$899994944449988889999445559988##8\",\n    \"998$8999988999498949888998895455945498$#\",\n    \"988899$89889998999999998888894559954949#\",\n    \"999898$89999994}=)))=1988888845544499449\",\n    \"98988989$#89991);;_)))}99888995549449599\",\n    \"98899$080&89947=7}1227+55499445598849945\",\n    \"999998#88#8995+77}1111+99454555548998849\",\n    \"8899998$8889991=+=1}12199498845549988994\",\n    \"889999998899992}7=}122254994994555499989\",\n    \"8944945488999432=7}}12549884555559944994\",\n    \"54989445989444557}+712499889553359955489\",\n    \"4988999449955953=7+711224995595359559598\",\n    \"5598999949452}72+=}}112__)71545354559998\",\n    \"5549494443});;;32=21}52;;;;;;)7355555958\",\n    \"99455595);;---;2552254);;;;;;;;_55544559\",\n    \"44454997;;-----;)+=72};;;;;;;;;;14499949\",\n    \"9994599+;-------_7777+;;;;;;;;-;74498949\",\n    \"9995444_--------;==+++;;;;--;--;+5549449\",\n    \"9995995_--------;+=+++;;;;--;--;_5455944\",\n    \"4495995);_;------)+++);;;------;;1455945\",\n    \"9994445=)=)------*)++);;;-------;7455555\",\n    \"999449}}}}=;-----;)++)_;;-------;_549535\",\n    \"554544}=7}+------;)))));----------}45555\",\n    \"5555447)+7_------;)))));---------_345555\",\n    \"3555441_;_;--:---;)))));-----;)_;}444455\"\n  ],\n  [\n    \"898888$899994944449988889499455559988##8\",\n    \"998$8999988999498949888998895455945498$#\",\n    \"988899$898899989327}1599888894559954949#\",\n    \"999898$89999999=)____)798888945544499449\",\n    \"98988989$#89993+))+=7=)39888995549449599\",\n    \"98899$080&899977}}1132+}5499455598849945\",\n    \"999998#88#89941===}1}1}59454555598998849\",\n    \"8899998$88899951==7122134498945549488994\",\n    \"8899999989999841777122234994995555599989\",\n    \"89449459889994551}}}11549884555359944494\",\n    \"54989445989444543}=711339889553359955489\",\n    \"498899944895595227+71127)+}1345559559598\",\n    \"5598999449451=))37}}}}51;;;;;_=154559498\",\n    \"55494944437);;;*5531}54+;;;;;;;;)5555958\",\n    \"994554981;;;---;7}2115};;;;;;;;;;1544554\",\n    \"99454989=;;;;----_+=7=);;;;;;;;;;7499959\",\n    \"99945989+;--;----*=77=);;;;;-;--;)499949\",\n    \"99954494);-------;++++);;;;--;--;;544559\",\n    \"99959945+;-------;)+++);;;;----;;;155944\",\n    \"449599457;--------)+++);;;------;;755945\",\n    \"99944494=;-------;))++);;;------;;+55555\",\n    \"99944995_--------;)))+)_;;--------;39535\",\n    \"554544517)-------;)))))_-;_)_;----_34555\",\n    \"555553111=;------;__)))_-;)=}7_;;_544455\",\n    \"355545}}1=;----:--__))_;;-)+77);;1444555\"\n  ]\n]\nconst RickRollDesktop = [\n  [\n    \"8888999888888888$$$889999994449444449445499988888888889944999944555555554999998888$$#89999\",\n    \"99999998888888888899999889999999455499994444988888889944444455555995555555554998888$$#$899\",\n    \"9999988$$$88899999999988$99999944499998894449988888899999888994554455554945555499988888889\",\n    \"99999$$##$8999988899998$$99999999989999995555549999999988888889455555559999555555549888$$8\",\n    \"889998899999998$$$889988$999999989953}}}+))))+=1254888988888999999555554994554999454498$#$\",\n    \"889999999999988$8889999999999999891+))))_)))__))+=1988988899999995555554955599999944449998\",\n    \"8999989988889998889988$89999999995}+____*___)))))))298999999999994555555549554999994449944\",\n    \"88998$8998889888999$0###8999994531=+)+++==}11111}+)}54499899999994555555999945444555999944\",\n    \"999988$899999$$##8980#0&$99999951++7}}}1111222332}++35554999899555553555999884549945494549\",\n    \"9998988888998$#$0$98###0899999892)+}}7}}1111122221=+54555549455559955555999894988999555499\",\n    \"999999999999998$$089$#$#899999455}===+===711}7}}11}299994554445555455555999894988899459999\",\n    \"89988889998899988#$98$$$8999944995}}7====7}22112321249994549999945555555999949888894455555\",\n    \"888888899988999988899988999999885131}77777}11223321155555554999999555555999459888999994499\",\n    \"888888999889999999998899999999889211}7777=}11222222555549995549999955555555554989499889549\",\n    \"8888899444444444449888889999444995321}7}}}111112225335998889555999533335549995544449989554\",\n    \"988999444999945554988888994449555555417}}}}}}111115559998889455553553333499999554444445555\",\n    \"44444449989994445559998894444444554995}}}==7}11111251}399999945335553333599995555549999555\",\n    \"4444499888899499945599889444449943554421}===}1111125}__)=}25545554455333599955554554999994\",\n    \"89449988888994989944498894455599533335517=+=}1111135+__;;;;;__)+=}125555599455359455999988\",\n    \"994444988889998889494998445555544555353}===7}}}}7245)_*;;;;;;;;;;;;;_)71344553549955499888\",\n    \"99455549889998899449949945555453331}}551=1117=+72445+_;;;;;;;;;;;;;;;;;;_75555554995599889\",\n    \"945545549994999444499444555554517))_)15453337=}3545+_*;;;;;;;;;;;;;;;;;;*_2445535495549889\",\n    \"55499995544544499999455555331}+_*;;;*}535552}12355=_;;;;;;;;;;;;;;;;;;;;;_}555455555359944\",\n    \"499999945555549888889455317+)*;;;;;;;+2}}127=7=+++*;;;;;;;;;;;;;;;;;;;;;;*+544999553355448\",\n    \"999999999454999888899993+_*;;;;;;;;;;;;;)+++++++)_;;;;;;;;;;-;--;;;;;;;;;;)544999945554998\",\n    \"999999994554988888888893);;;;;;;;;;;;;;;_++++++));;;;;;;;;;----;;;;-;;;;;;_344499994554999\",\n    \"999999999444499888889453);;;;;;;;;;;;;;;;++++++)_;;;;;;;;;;----;;---;;;;;;_344999994554988\",\n    \"999999999444444988994553+;;;;;;;;;;;;;;;;)++++))_;;;;;;;;;;----;;--;;;;;;;_144999455555988\",\n    \"999999999449994444444943=*;;;;;;;;;;;;;-;)+))))_*;;;;;;;;;;---;;;-;;;;;;;;;)55555554555988\",\n    \"999999999449989944999993);;;;;;;;;;;;---;_+))))_;;;;;;;;;;----;;;---;;;;;;;;75533499455988\",\n    \"499949994449888994999993);;;;;--;;;;;----_+)))__;;;;;;;;;;----;;;--;;;;;;;;;)5555999555499\",\n    \"444449999449899444449993);;;;;;-;;;------_+))__*;;;;;;;;;;---;;;;--;;;;;;;;;_1555549555444\",\n    \"999999999449949999944945=;;*));--;;------_+)___;;;;;;;;;;;---;;;----;;;;;;;;;7553334553499\",\n    \"9999999994444498888955531=}22}_;---------_+____;;;;;;;;;;---;;;;----;;;;;;;;;+444533333499\",\n    \"999999999449999888999451}77}}+;----------_)____;;;;;;;;;;;;;;;;;-----;;;;;;;;)544455533544\",\n    \"444444494449999999994437===7}7;----------_)__*_;-;;;;;;;;;;;;;;;-------;;;;;;_344444555554\",\n    \"5555554444499999999945177===7}_----------_)____*;-;;;;;;;;;;;;;---------;;;;;_144444555555\",\n    \"555555444449999999994317+=++7}_----------_)_____;--;;;;;;;;;;;;--------;;;;;;*144444455555\",\n    \"555555444449999999945}+)_)++7);----------_);;;;;;---;;;;;;;;-----------;;;;;;_144444455555\",\n    \"3333355554444999444452));;;;;------------_)*--;*;---;;;;;;;-----:------;;;;;;_354444455555\"\n  ],\n  [\n    \"8888999888888888$$$889999994449444499445499988888888889944999944555555554999998888$$#89999\",\n    \"9999999888888888889999988899999945549999444498888888994449445555599555555555499888$####899\",\n    \"9999988$$$$$899999999988$999999444998999455559988888999998889945544555549455554999888$8889\",\n    \"89999$$##$8999988899998$$999999999888432}77+))++=1554998888888945555555999955555554988$$$8\",\n    \"889998889999998$$$889988$999999989895=))_))_)))_))+739988888999994555554994554999454498$#$\",\n    \"889999999999988#$$8899999999999989951+)___*;____)))))2988899999995555554955599999944449998\",\n    \"8999989988$89998889988$8999999988431=+))++++=}}111}+)=499998899999555555549554999994499944\",\n    \"88998$89988898889998&0#089999999995+)=}}}1112222332}++599899999994555555999945494555999944\",\n    \"99998$$899999$$##898&00&$9999994551)+7777}}111223321=+355999999555555555999884549945494559\",\n    \"9998988888999$##&#88##$089999989453=+7=====7}1177}}1}1555549455559955555999894988999555499\",\n    \"99999999999998$$$089$###8999994454917777==7=7121112212494555445555455555999894988899449999\",\n    \"8898888899889998$#$98$$#89999449993}}}7777777122233222494549999945555555999949888899455555\",\n    \"888888899988999988899988999999888991}77777777}12222225555554999999555555999459888999994499\",\n    \"88888899988999999998889999999988999522}777==7}11122355549995559999955555555555989499889549\",\n    \"8888889449444444449888889999944994555951}}}}}112211255498889555999533333549995554449989555\",\n    \"98889944499994554498888899999955555599931}}7}}11111235729989453555553333499999555444455555\",\n    \"44445449989994445559888899444444554999941===}1}1111223)__+}1333555555533599995555549999555\",\n    \"4444499888899499945599889444449943554999}===}}}111115}__*;;;;*_)+7}13555499945554554999994\",\n    \"88949988888994989944498894455599433335547=+=}}}}}}}54+__;;;;;;;;;;;;;_)=134455359955998888\",\n    \"9945599888899988899949984455555495532}1517=7}7===}344}_*;;;;;;;;;;;;;;;;;_+555549955498888\",\n    \"99455549888998899449949945555453317)__+55311====}345=_*;;;;;;;;;;;;;;;;;;__755554995599889\",\n    \"9455455998949994444994545555552}+__;;;_133331771235=_;;;;;;;;;;;;;;;;;;;;;*+45555495549889\",\n    \"5549999554444449999945555531}+);;;;;;;;735527==7=+);;;;;;;;;;;;;;;;;;;;;;;*)55455555359944\",\n    \"4999999455554498888894555}+)_;;;;;;;;;;;_}1}=+==++_;;;;;;;;;;;;-;;;;;;;;;;;_34999553555449\",\n    \"9999999994549988888899955=_;;;;;;;;;;;;;;_+++++++);;;;;;;;;;----;;;;-;;;;;;_34999945554998\",\n    \"99999999955498888888889557*;;;;;;;;;;;;;;_++++++)_;;;;;;;;;;---;;----;;;;;;_54499994554999\",\n    \"9999999994444998888894555}_;;;;;;;;;;;;;;_++++++)_;;;;;;;;;----;;---;;;;;;;*74999994555988\",\n    \"99999999944444498889445552_;;;;;;;;;;;;;;_+)+))));;;;;;;;;;----;;--;;;;;;;;;_1499455555988\",\n    \"99999999944999444944499553);;;;;;;;;;;;;;_+)++))_;;;;;;;;;----;;;---;;;;;;;;;)555354555988\",\n    \"99999999944988899499999553);;;----;;;;--;_+))))__;;;;;;;;;----;;;---;;;;;;;;;_253599455998\",\n    \"99494999444988899998989553};;;--;-------;_+))))_;;;;;;;;;;----;;;----;;;;;;;;;+55999455499\",\n    \"494949999449899944449995533+;;;;--------;_+_))__;;;;;;;;;;---;;;;---;;;;;;;;;;_25549555549\",\n    \"9999999994499999999449955531_;-----------_+_))__;;;;;;;;;----;;;-----;;;;;;;;;;15335433499\",\n    \"9999999894444998888945555531);-----------_)_)___;;;;;;;;;;-;;;;;------;;;;;;;;;14533333599\",\n    \"999999989449998888999455551);------------_)_____;;;;;;;;;;;;;;;---------;;;;;;_24455555549\",\n    \"5444449944499999999945311}}7_;-----------_)_____;;;;;;;;;;;;;;----------;;;;;;_24444555545\",\n    \"555555444449999999995}===}}}=_;----------_)*__;;;-;;;;;;;;;;_*----------;;;;;;)54444555555\",\n    \"555555444449999999995}===7}1}_;----------_);;-;;;--;;;;;;;;;;----------;;;;;;;+54444455555\",\n    \"5555554444499999999945}=++711)-----------_);_---;--;;;;;;;-----------;;;;;;;;*}44444455555\",\n    \"33333555544499999444551=++7}=;-----------_)))))__;--;;;;;------:------;;;;;;;+544444445555\"\n  ],\n  [\n    \"8888999888888888$$$889999994449444449445599988888888889944999944555535554999988888$$#88999\",\n    \"9999999888888888889999988999999945549999555599999898994444445555599555555555499888$#$##899\",\n    \"9999988$$$88899999999988$99999944499999511==7+)))+=1554998889945544555599455554999888$8889\",\n    \"89999$$##$8999988899998$$99999999988893+)______)___)+758888888945555555999955555554988$8$8\",\n    \"889998899999998$$$889988$9999999898952})__;;;;;____)))+59898999999555554994554999454498$#8\",\n    \"889999998899988#$$88999999999999888527+))++====}1111}))19999999995555554955599999944449998\",\n    \"8999989988$89998889988$8999999988889}))77}}1112222332}+=4998999999555555549554999945449944\",\n    \"88998$89998898889998&0#08999999999997)+7777}}111123221+=4999999994555555999945444555999944\",\n    \"99998$$899999$$##898&00&$999999444992)+7======}1177}11735999999555555555999884549945494559\",\n    \"9999988888999$##&#88##$089999989455537=77==77=71211122155544455359955555999894988999555499\",\n    \"99999999999999$$$089$###899999444995}7}777777==1122332154555445555555555999894988899444999\",\n    \"8898888899889998$#$98$$#8999944998993}7777777=71122222394559999945553355999949888894455555\",\n    \"8888888999889999888999889999998889995531}777==7}111225555554999999553355999459888949994599\",\n    \"88888899998999999999889999999988999554991}7777}1222115549945559999955555555555999499889549\",\n    \"88888894494444444498888899999449945559993111}77}111113572999555499553333549995555449999555\",\n    \"9889994449999455549888889999995555559999}7==7==7}111223)__+}123555555333599999555544455555\",\n    \"4444544998999454555988889944444455549999}===}}=}111115}__;;;;;*_)=711355599995555559999533\",\n    \"94444998888994999555998894445499435549957+==}}=7}}7}54+_*;;;;;;;;;;;;;_+}25955354554999994\",\n    \"889499888889949899444988944555994333217}==+=}77===}5447_;;;;;;;;;;;;;;;;;;_755559955999888\",\n    \"99455498888999888999449845555554431=)__+}}=}}+==71543+_;;;;;;;;;;;;;;;;;;;;_15549955599888\",\n    \"994555498889998994499449455555317)_;;;;_1211317}1233)*;;;;;;;;;;;;;;;;;;;;;*}5554995599889\",\n    \"94554554999499944444945455531}+_;;;;;;;;73317===7=+_;;;;;;;;;;;;;;;;;;;;;;;;=5555495549889\",\n    \"554999955445444999994555557)_;;;;;;;;;;;_25}=====+);;;;;;;;;;;;;-;;;;;;;;;;;)4455555359944\",\n    \"49999994555544988888945553);;;;;;;;;;;;;;71==+=+++_;;;;;;;;;;;---;;;;;;;;;;;)4449453355449\",\n    \"99999999945499988889899553);;;;;;;;;;;;;;_+)+++++);;;;;;;;;;;---;;----;;;;;;)4499945555498\",\n    \"99999999955498888888889555=;;;;;;;;;;;;;;)+_++++)_;;;;;;;;;;----;;---;;;;;;;;7499994554999\",\n    \"999999999444499888889455552_;;;;;;;;;;;;;)+;)++));;;;;;;;;;----;;;--;;;;;;;;;;199994555988\",\n    \"999999999444444988894455553+;;;;;;-;;;;;;_);)+))_;;;;;;;;;;----;;;---;;;;;;;;;)59455555988\",\n    \"999999999449994449444995553+;;;;;;;;;;;;;));))))_;;;;;;;;;;---;;;;---;;;;;;;;;;=5354555998\",\n    \"999999999449888994999995553};;;;;;--;;;;;));_))_;;;;;;;;;;----;;;-----;;;;;;;;;_1599555498\",\n    \"4949499994498889999898955553);;;;-----;;;_);_)__;;;;;;;;;;---;;;;----;;;;;;;;;;;)499555499\",\n    \"49494999944989994444999555532_;;--------;));____;;;;;;;;;----;;;;-----;;;;;;;;;;+549533549\",\n    \"99999998944999999994499555332+;---------;));___*;;;;;;;;;-;;;;;;---------;;;;;;_2335533599\",\n    \"9999999894444998888945555533+;;----------));;;;;;;;;;;;;;;-;;;;----------;;;;;;)4433333599\",\n    \"9999999894499988888994555531_;-----------));;;__;;;;;;;;;;;;;;----------;;;;;;_14455555549\",\n    \"554444994449999999994323331)_;;----------));;;;;;;;;;;;;;;;;;---------;;;;;;;;+54444555555\",\n    \"55555544444999999995311111}+_;;;-----;---));;--;;;;;;;;;;;;-;-:-------;;;;;;;)144444555555\",\n    \"5555554444499999995}==711111);-------;---));_-----;;;;;;;;;---:------;;;;;;;)2544444555555\",\n    \"55555544444999999941=++711111_-----------)))))));-;----)))))__;-----;;;;;;;+25444444455555\",\n    \"3333355554449999444517=+=}117;-----------))))+++_;;----)+===++));;;;;;;;;)}354444444445555\"\n  ],\n  [\n    \"8888999888888888$$$889999994449444449445549999999998889944999944555333554999988888$##88999\",\n    \"9999999888888888889999988999999945549994521}++=))))+=155544555535995555555554998888#$##899\",\n    \"9999988$$$88899999999988$9999994449999941)_____;_)___)+15999995354455554945555499998888889\",\n    \"99999$$##$8999988899998$$999999999889431+)_*;;;;;____)))}9889995555555599995555555498888$8\",\n    \"889998899999998$$$889988$9999999898943}+))++=7777}111}=)+499999994555554994554999455498$#8\",\n    \"889999999999988#8$88999999999999888885))+777}1112223321=)399999995555554955599999945449998\",\n    \"8999989988$89998889988$899999998888883))=77777}111223217+299999999555555549555999945549944\",\n    \"88998$89998898889998&0#089999999998885=)===+===711}=7}1}1999999995555555999945444555999954\",\n    \"999988$899999$$##898&00&89999994549994}=777777==}12111215999999555555355999894549945595559\",\n    \"9999998888999$##&#98###0899999894555517}777777==712222213544455359953355999894988999555499\",\n    \"99999999999999$$$0898###89999944599995177777777=}12222135555445335553335999894988899454999\",\n    \"99988888998899988#$98$$#89999449989889532}777===}11122394559999945333335999949888894455555\",\n    \"888888899988999988899988999999888999455551}7777}112211555554999999533333999459888949994599\",\n    \"8888889999899999999988999999998899955499927===77}11111321455559999955533555555999499889559\",\n    \"88888994444444444498888899994449945559994511}=+=7}111131__+}135494555333549995555449999555\",\n    \"9989994549999455559888889994495555559999}===7===}111115+_;;;;;_)+}123555599999555544555335\",\n    \"4444554998999454555999889444444433549995}===1}==7}}7}53__;;;;;;;;;;;;_)=154995335559994333\",\n    \"44554998888994999555998894455499535551717++=}77====}545);;;;;;;;;;;;;;;;;;)=55354535999995\",\n    \"99949988888994989944499844555544531=)_;==++=}7===72541)*;;;;;;;;;;;-;;;;;;;;+5559455999988\",\n    \"99455498888999888949449845555531=);;;;;_=}=}33}7}2351_;;;;;;;;;;;;--;;;;;;;;)5549955599888\",\n    \"994555498889998944499549555317)_;;;;;;;;)11}77==77=)*;;;;;;;;;;;;;-;;;;;;;;;)5554995599889\",\n    \"94555554999499945454945455})_;;;;;-;;;;;;121======+_;;;;;;;;;;-;---;;;;;;;;;_3555495549889\",\n    \"55499995545545599999455553+;;;;;;---;-;;;25}++++++);;;;;;;;;;-----;;----;;;;*1455555359944\",\n    \"54999994555554988888945553=;;;;;;------;;=}=+++++)_;;;;;;;;;;----;;-----;;;;;2449453355549\",\n    \"99999999945499988889999553}_;;;;---------_+;)+++));;;;;;;;;;-----;;----;;;;;;7449945555498\",\n    \"999999999554988888888895533);;-----------_+;)++))_;;;;;;;;;-----;;-----;;;;;;;}49994555999\",\n    \"999999999444499888889455553);;----------;_+;)))));;;;;;;;;;-----;;----;;;;;;;;;19994555988\",\n    \"999999999444944988894555553);;----------;_);_)))_;;;;;;;;;;----;;;----;;;;;;;;;_5555555988\",\n    \"999999999449994444444945553};;;---------;_);_))_;;;;;;;;;;;----;;;-----;;;;;;;;;)335555998\",\n    \"9999999994499889449999955532_;;;---------_);_)__;;;;;;;;;;-----;;-----;;;;;;;;;;;}49555498\",\n    \"4949499994498889949999955533+;;;---------_);___*;;;;;;;;;-----;;;--------;;;;;;;;+49555599\",\n    \"49444999944989994444999555337+_----------_);___;;;;;;_=)_;;;;;;;;----------;;;;;)349533544\",\n    \"9999999994499499999449955533}_;----------_+;;;;;;;;;;)17=+)))*;------------;;;;_2335533599\",\n    \"99999998944444988889455555337_;----------_+;;;;;-;;;;_17}7===+;-------;;;---;;_14533333599\",\n    \"9999999894499988889994555531)_;;---------_);;;;;-;;;;;177}}}}7_;----;;;;;;;;;;244455555544\",\n    \"544444994449999999951123331=)_;;-----;---_);;--;--;;-;+=7777}7);;;;;;;;;;;;;;_344445555555\",\n    \"55555544444999999943}}}1111}_;-------;---_)-;;--------)==7777=);;;;;;;;;;;_+}5444444555555\",\n    \"555555444449999999277}121111}_-------;---_)_))_;------_++++=+)_;-;;_;;;;)25444444445555555\",\n    \"5555554444499999995}=+7111111+-----------_)))))_--:----;_))));;---;;;;;;;25444444444555555\",\n    \"333335555544499944451}++7}1});--;_1+-----_)))))_-----------;-------;;;;;;+5554444444555555\"\n  ],\n  [\n    \"8888999888888888$$$8889999944494444994455452}}++=)))+=7355499944555535554999998888$##89999\",\n    \"999999988888888888999998889999994554999453})_______)__))=25555535495555555554998888#$#$899\",\n    \"9999988$$$$$89999999998$$9999994449989451}+)__**;;;____))+399953544555549455554999888$8889\",\n    \"89999$$##$8999888899998$$9999999998889527+)))++====7}}}=))}999955555555499955555554988$8$8\",\n    \"889998889999998$$$889988$999999989888991))=77}}112233332})=9999994555554994554999454498$#8\",\n    \"889999999999988#$$8899999999999988888897))7777}}122233321==4999995555554955599999944449998\",\n    \"8899989988$89998889988$89999999888888991)+7======}11}7}11739999999555555549554999945449944\",\n    \"88998$8998889888999$&0#08999999999888892=77777}7=7121}112299999994555555999945444555999944\",\n    \"99998$$899999$$##898&00&$99999945499891}7}777}77==1233332149999555555555999894549945494559\",\n    \"9999988888998$##&#88###&8999998945554451}7777777=7}122222344455359955555999894988999555499\",\n    \"99999999999999$$$089$#$#8999994449999455551777===}}111235555545355455355999994988899454999\",\n    \"8898888899889998$##98$$#8999944998888945442}7777}}1222154559999945553355999949888894455555\",\n    \"888888899988999988899988899999888999455553177==77}1111133554999999533355999459888949994599\",\n    \"88888899998999999999889999999988999554999537===+=7}11113})=1359999955555555555999499889559\",\n    \"888888944944444444988888999944499455599995511}7==}111115+_*;_)=}15555553549995555549999555\",\n    \"99899944499994555498888899944955555599943}===77==}}1}}53)_;;;;;;;;_)+7}2599994555545555335\",\n    \"444454499899944455598988944445443355517=17==71777===}541_*;;;;;;;;;;;;;;_+}245335559994333\",\n    \"44444998888994999555998894455494531=)_;_}=+==1==7=725457_;;;;;;;;;;;;;;;;;;*)3554534999945\",\n    \"99949988888994989944498844555531=);;;;;;7=++=11}}15441_;;;;;;;;;;;;;;;;;;;;;_7559455999988\",\n    \"9945549888899988899944984552}=)_;;;;;;;;)7===77=7}7==_;;;;;;;;;;;;;;;;;;;;;;;7449955599888\",\n    \"99455549888999899449944955})*;;;;;;;;;;;;_}17=77===+_;;;;;;;;;;;;;-;;;;;;;;;;}544995599889\",\n    \"945545549894999444449454537_;;;;;;;;;;;;;_23}=====+);;;;;;;;;;;;;--;;;;;;;;;;+555495549889\",\n    \"554999955445444999994555537*;;;;;;;;;;;;;)33=+++++)_;;;;;;;;;;;---;;---;;;;;;)555555359944\",\n    \"54999994555544988888945553}_;;;;;;;;;;;;;_71++++++);;;;;;;;;;;---;;;---;;;;;;)549453355549\",\n    \"999999999454999888888995533);;;;;;;;;;;;;;)+++)++)_;;;;;;;;;;----;;;--;;;;;;;_149945555498\",\n    \"999999999554988888888895552);;;;;;;;;;;;;;)+)+)++);;;;))_;;;----;;;;---;;;;;;;;}4494555999\",\n    \"999999999444499888889455552_;;;;;;--;;;;;;)+)))))_;;;)1}=))*;---;;;;---;;;;;;;;;1994555988\",\n    \"999999999444949988894455553);;;;;-----;;;;)+))))_;;;;=11}==++_-;;;;;----;;;;;;;;_133555988\",\n    \"999999999449994449444995553+;;;;;----;;;;;)+))___;;;;}}}}}}77+;;;;;;----;;;;;;;;;)35555998\",\n    \"999999999449888994999995553};;;;--------;;)))___;;;;*77777}}}=;;;;;-------;;;;;;;;)5555498\",\n    \"4949499994498889999899955531_;;;---------;))____;;;;*===77}77=;;;;;;-------;;;;;;;)2555599\",\n    \"4949499994498999444499955533);;----------;))__**;;;;;))++=777=_;;;;;;;;;;;---;;;;_34533549\",\n    \"9999999894499999999449955533=_;----------;)_____;;;;;;;_))+++)_;;;;;;;;;;;;;--;;_235533599\",\n    \"9999999894444998888945555531))_;---------;)____;;-------;;___;;-;_)_;;;;;;;;;;;)5433333599\",\n    \"9999999894499988888995112331=)_;;----;---;)_;-;;--------------;--;__;;;;;;;;;;)54455555599\",\n    \"44444499444999999999517}}}}1}+;;-----;---;);-;--------------------------;;;_=2544444555544\",\n    \"55555544444999999995}==7}7}}}7);-----;---;)_;_--------------:----------;_35444444444555555\",\n    \"5555554444499999999457====7===)----_;----;))++)_---------------------;;;;=5544444444555554\",\n    \"55555544444999999999452}==++)_;;;)75=;---;))+++_-----------------;;;;;;;;;1544444444455555\",\n    \"33333555544499994444455532+;;;;}5551)----_+++++_;;;;;----------;;;;;;;;;;;)554444444445555\"\n  ],\n  [\n    \"8888999888888888$$$8899999944494444494555441)_______)__))}349444535333555999998888$$#89999\",\n    \"9999999888888888889999988999999945549995321=)_*;;;;;__*__)+355335445335555555998888#$#$899\",\n    \"9999988$$$$8899999999988$99999944499899317+))))))))))++))))}445355453354945555499988888889\",\n    \"99999$$##$8999988899998$$9999999998888891))+777}112223321=)=9995555535549995555555498888$8\",\n    \"889998899999998$$$889998$999999989898884=_)7777}}122233321++5999945535549945549994554988#8\",\n    \"889999999999988#8$89999999999999888888847)+7=====7}11}}111+}999995553554955549999945449998\",\n    \"89999899888899988899888899999998888888891+=77==77==11}7}1119999994553555549555999945549944\",\n    \"88998889998898899998&##0899999999988889}77}77}}}7=7122233219999995555555999945544555999954\",\n    \"999988$899999$$##898&00&8999999454998893}77777777==}12332159999555553355999894554955595559\",\n    \"9999988888998$##&#98###08999998945554455321}777==7}122222354455354953335999894988994555499\",\n    \"999999999999998$$0898#$#8999994459999455945177777}}111125335555335553335999994988899454999\",\n    \"99988888998899988#$98$$#8999944999988945445}}7777}1121125559999945533335999954888894455555\",\n    \"8888888999889999888999889999998899994555533}7===+=7}11122}35499994553333999459988949994599\",\n    \"8888889999899999999988999999499899955599953177777}1111231__+}34999955533555555994499889559\",\n    \"88888994444444444498888899944549945359945521}}777}111125+_*;;;_)+}133533549995555549999555\",\n    \"99899944499994555598888899444455533332}}1}777}7777}}7152__;;;;;;;;;;_)+}349994555555553335\",\n    \"4444554998999454555999889444555532}+)_;_}7===}}}77=}5442_*;;;;;;;;;;;;;;;_)=35333559994333\",\n    \"4455499888899499955599884455532}+_;;;;;;=7++=}}77}3545})*;;;;;;;;;;;;;;;;;;;_2554535999945\",\n    \"994499888889949899454998452}=)_;;;;;;;;;+=+++}1}11233+_;;;;;;;;;;;;;;;;;;;;;*=559455999989\",\n    \"99455499888999888949449945)_;;;;;;;;;;;;_)+===++++++);;;;;;;;;;;;;--;;;;;;;;;=549955599888\",\n    \"99455549888999894449954953);;;;;;;;;;;;;;;717===++++_;;;;;;;;;;;;--;;;;;;;;;*7554995599889\",\n    \"94555554999499945454945552_;;;;;;;;;;;;;;;12}===+++);;*_)_;;;;;-;--;;;;;;;;;;)555495359989\",\n    \"55499995545545599999455533);;;;;;;;;;;;;;_23}7=++))_;*=11=+)_;;---;;----;;;;;_355555359944\",\n    \"54999994555554988888945553+;;;;;;;;;;;;;;;}1=++++)_;;)}}}}77=+;---;;---;;;;;;*344453355559\",\n    \"99999999955499988889999533_;;;;;;;;;;;;;;;)=++++));;;7777777}7;-;;;;--;;;;;;;;+59945355498\",\n    \"99999999955498888888889553);;;;;---;;;;;;;)=+))))_;;_7=7=777}7;;;;;;----;;;;;;;)3494555999\",\n    \"99999999944444988888945553+;;;;---------;;)=)))))*;;_)++=7}}}7_;;;;;----;;;;;;;;_345555998\",\n    \"999999999444444988894555537;;;;---------;;)+))))_;;;;;_)+=7777_;;;;;;----;;;;;;;;)23355998\",\n    \"999999999449994444444945531_;;;---------;;)+)))__;;;;;;;_)+=7+_;;;;;;;;-----;;;;;;)3335499\",\n    \"999999999449988944999995531_;;;----------;)+)))_;;;;;;;;;;;__;;;;__;;;;;;;;--;;;;;;_135498\",\n    \"494949994449888994999995551_;;----------;;))____;;;;;;;---------;)};;;;;;;;;---;;;*7533599\",\n    \"494449999449899444449995533+_;----------;;))____;----------------;*;;;;;;;;;;--;;*74533544\",\n    \"99999999944994999994499531}+++_;---------;)))_*;---------------------;;;---;;;-;_}35533599\",\n    \"999999989444449888894553}====+);;---;;---;));;;;-----------------------------;;_2533333599\",\n    \"9999999894499988888995}7=7}7=+);----;----;));;;;-------------;;---:::--------;754455555544\",\n    \"54444499444999999999451==7}}7=+)----;----;)__;-------------------------;+11}15444445555555\",\n    \"5555554444499999999994527=7}}=+;-;)_;----_)))*;------------------------;*}5544444444555555\",\n    \"55555544444999999999945551++)_;)7251_----)+++++_-;;---------------;;;;;;;_3544444444555555\",\n    \"55555544444999999999445553=*;)254457+;;;;++++++_;;;;;;;------------;;;;;;;+554444444455555\",\n    \"33333555554499999444455555323555531}=;;;)7+++++_;;;;;;;;---;;;;-;;;;;;;;;;*154444444444444\"\n  ],\n  [\n    \"8888999888888888$$$88999999444944444945554457_*;_____)__))+34454535333355999998888$$$89999\",\n    \"9999999888888888889999988999999945549994127+))_*_;;;;____))+33335443333533555998888$$#$899\",\n    \"9999988$$$88899999999988$9999994449999993}+))++=777=7}}}7+))145355433354945555499998888889\",\n    \"99999$$##$8999988899998$$9999999998888895))+777}1122233331=)1995555335549995555555498888$8\",\n    \"889998899999998$$$889998$9999999898988893))=7777}}12223332}+}999945535549945549994554988$8\",\n    \"899999999999988$$$89999999999999888888893++77=++===}1}7}}1}7499995553555955549999945449998\",\n    \"8999989988889998889988$899999998888889842777777}}7=}21}}1214999994553555544555999945549944\",\n    \"889988899988988999980###8999999999888893}}1}777}77=}12333213999995553555999945545555999954\",\n    \"999988$899999$$##8980##089999994549988942}777777777}12222239999555553335999894554955595559\",\n    \"9999988888999$##&#98##$0899999895555445555527777==7}11122354555359953335999895988994555499\",\n    \"999999999999998$$0898#$#89999945599994559491}7777}1122115335555335553335999994988899454999\",\n    \"99988888998899988$$98$$$8999944999988955454}77==77}111125559999945533335999954888894455555\",\n    \"88888889998899998889999899994988999945555331777===}}11122+15499994553333999459988949994599\",\n    \"8888889499899994999988999994499899955599552177777}1111131__)715499955553555555994499889559\",\n    \"8888894444444444449888889944454995333532352}}}777}}11}35)_*;;;;_)=113553549995555549999555\",\n    \"998999444499955555988888944444555317+)_+1777}}7}7777}54}__;;;;;;;;;;*_)7249994555555553335\",\n    \"4444554998999554555499889455531}+);*;;;_}=+=717777}3544}_;;;;;;;;;;;;;;;;_)=35333559994333\",\n    \"445549988889949995559998451}=)_;;;;;;;;;}+++=11}135442)_;;;;;;;;;;;;;;;;;;;*)3554535999945\",\n    \"9994998888899498995559995}_;;;;;;;;;;;;;++++=}77777}7_;;;;;;;;;;;;;;;;;;;;;;_}559455999999\",\n    \"9945549988894988894444995=;;;;;;;;;;;;;;))+=7}7777=+);;)7}=+)_;;;;-;;;;;;;;;;}549955599888\",\n    \"9945554988999989444995493);;;;;;;;;;;;;;;_}1=+====+);;_1}}}777=_;--;;;;;;;;;_1554995549889\",\n    \"9455555499949994545494553);;;;;;;;;;;;;;;)127+++++)_;;}}}}777}});--;;;;;;;;;*7555495359989\",\n    \"5549999555554559999955533);;;;;;;;;;;;;;;)337=+))));;)7777}}}}}_;-;;----;;;;;)555555359944\",\n    \"5499999455555498898895532_;;;;;;;;;;;;;;;)}1+++)))*;;;_)=7}}}}});;;;--;;;;;;;_344453355559\",\n    \"9999999995549998899999953_;;;;;;;-;;;;;;;;)+)))))_;;;;;;)+=}}}});;;;-;;;;;;;;;754945355498\",\n    \"9999999995549888888888953);;;;;;--;;;;;;;;++)))))_;;;;;;;)+=7}7);;;;;;--;;;;;;;)2494555999\",\n    \"9999999994444498888894553+;;;;;;----;;;;;;)))))));;;;;---;;_)___;;;;;;;;;;;;;;;;;745555998\",\n    \"99999999954444498889455537;;;;--------;;;;+)))))_;;;;;;-------;;;_+);;;;;;;;;;;;;*73335998\",\n    \"99999999944999444444494537_;;;--------;;;;+))))_;;;;;;;----------_=};;;;;;;;--;;;;*+133499\",\n    \"9999999994499889449999951);;;;----------;;)+))__;-----------------;;;;;;;;;;;--;;;;;)35499\",\n    \"494949994449888944999993}))+}=);--;;-----;+))))_;--------------------;;;;;;;;;--;;;)233599\",\n    \"4944499994498994444499937}11}7=);-;;;----;+))))_;---------------------------;;;-;;_3533544\",\n    \"9999999994499499999449951}7}}}}+_;;;-----;+)____-------------------:----------;;;)25533599\",\n    \"999999989444449888894553}===}1}=);;------_+___;;------------;))----::----------;=333333599\",\n    \"99999998944999888899945527===}17);-------_+);_;;-------------;;---------;__;;;+34455555544\",\n    \"5444449944499999999994555}+++=+)_)_-----;*++;---------------------------+35555444455555555\",\n    \"55555544444999999999945553=__;;755+;;;;;;)++_;;---;;--------------;;;;;;;75554444444555555\",\n    \"5555554444499999999994455551772553_;;;;;_++==++_;;;;;;------------;;;;;;;*}554444444455555\",\n    \"555555444449999999994455555535555};*_;;;)=+++++_;;;;;;;------------;;;;;;;_354444444455555\",\n    \"333335555544999994444455555335553)_))_;;=7+++++_;;;;;;;;-----------;;;;;;;;755444444444444\"\n  ],\n  [\n    \"8888999888888888$$$8899999944494444494555455})_;;;*;______+=5454535333355999998888$$$89999\",\n    \"999999988888888888999998899999994554999421}=+)____;;;____)))75335443333535555998888$$#$899\",\n    \"9999988$$$88899999999988$99999944499899941+))+==}}}}}}11}7+)+55355433354945555499998888889\",\n    \"99999$$##$8999988899998$$9999999998888899}_)=777}112222332}++495555335549995555555498888$8\",\n    \"889998899999998$$$889998$9999999898988884=)+77===7}12123321++499945535549945549994554988$8\",\n    \"889999999999988$$$89999999999999888888889}+=7==+===71}==}}17599995553554955599999945449998\",\n    \"8999989988889998889988$899999998888889891}}}77}}}7=712111213999994553555544555999945549944\",\n    \"889988899988988999980###89999999998888891}}}777777==}1233322999995553555999945544555999954\",\n    \"999988$899999$$#$8980##0899999945499889431}}7777777112222229999535553335999894559955595559\",\n    \"9999988889999$##&#98##$089999989455544555545}777==7}}1122354555359953335999894988994555499\",\n    \"999999999999998$$#898#$#89999945599994559492}7777}}112213535555335553335999994988899454999\",\n    \"99988888998899988$$98$$$8999444999988955559277====7}11115559999945533335999944888894455555\",\n    \"88888889998899998889999899994988999945555332777==7}}11122=15499994553333999459988949994599\",\n    \"8888889499899994999988999994499999955545551}77777}1111131__)}34999955553555555994499889559\",\n    \"8888894444444444449888889444455995321}71352}}7777}}1}}35)_*;;;_)=1335553549995555549999555\",\n    \"9989994444999555554988889444543217))_;_=}7==777}77771547__;;;;;;;;;_)+71599994555555555335\",\n    \"4444554998999554555499884531}=)_;;;;;;;)}++=}1777}25445=_;;;;;;;;;;;;;;;*)7145333559994333\",\n    \"4455499888899449955599995+)_;;;;;;;;;;;_7++=}31}254441);;;_)));;;;;;;;;;;;;_=5554535999945\",\n    \"9994998888899498945559992);;;;;;;;;;;;;_++++77+====}=_;;;)=7777=+_;;;;;;;;;;_1559455999988\",\n    \"994554998889498889444499}_;;;;;;;;;;;;;;)++=++++++++_;;_7}7777}}});;;;;;;;;;;}549955599888\",\n    \"994555498899998944499554=*;;;;;;;;;;;;;;;+1}++++++));;;)777}}}}}}_;;;;;;;;;;*}554995599889\",\n    \"945555549994999454549555+_;;;;;;;;;;;;;;;721=++++));;;;;;)=7}}}}7_;;;;;;;;;;*}555495359989\",\n    \"554999955555455999995532_;;;;;;;;;;;;;;;;}31=++))));;;;--_+=}}}}});;----;;;;;=555555359944\",\n    \"549999945555549889889531_;;;;;;-;-;;;;;;;=}7++))))*;;;;--;_)=7}}});;;--;;;;;;)544453355549\",\n    \"999999999554999989999941_;;;;;;---;;;---;_+)++))));;;;;----;_))))_;;;;;;;;;;;)549945355498\",\n    \"999999999554988888888942_;;;;-----------;_+))))))_;;;;;--------;;;;;;;;;;;;;;;)14494555999\",\n    \"999999999455449888894533_;;;--------;---;_+))))));;;;;;-----------;_)_;;;;;;;;;;)245555998\",\n    \"999999999544444988945531_;;;------;;-----_+)))))_;-;;;--------------;;;;;;;;;-;;;*73335998\",\n    \"9999999994499944445555=_;;-----;)7+_;----_+))))__;-------------------;;;;;;;;;-;;;;_=33499\",\n    \"9999999994499889444992))_;;;+}121}+);----_+))))_;---------------------;;;;-;;;;--;;;*}3499\",\n    \"499949994449888944999+++)_)}}===77=_;----_+))))_;---------------------------;;;--;-;=33599\",\n    \"4944499994498999444493)+)_+}7=+=77=_-----_+))))_;---------------------------;;;;;;;=533544\",\n    \"9999999994499499999553)__)))++++=77_-----_+)))__-------------------------------;;;+5533599\",\n    \"99999998944444988889557_));;_))+++;------_+____;---------------------::---------_753333599\",\n    \"99999998944999888899945}=);;;;;;;----;;;;_+__;;;-------------------------;;;;;_}5455555544\",\n    \"54444499444999999999945552}=)__+7;---;;;;_+;;-;;------------------------;}5555444444555544\",\n    \"555555444449999999999455555335551;--;;;;;_+_--;;--;;---------------;;;;;;_2554444444555555\",\n    \"555555444449999999999455555555551;;-;;;;;++=++)*-;;;;;-------------;;;;;;;_155444444455454\",\n    \"55555544444999999999445555553555=;;-;;;;;++=+++);;;;;;;-------------;;;;;;;)55444444444455\",\n    \"33333555554499999444445555533555);;-;;;;_=+=+++_;;;;;;;;-------------;;;;;;;}5544444444444\"\n  ],\n  [\n    \"8888999888888888#$$88999999444944449945554441+_*;**;_____)+}4454535333355999998888$$#89999\",\n    \"9999999888888888889999988999999945544994321=+)__**;;;*____))}5335443333555554998888$$#$899\",\n    \"9999988$$$88899999999988$99999944499999951=))++=7777=7}}7=))+55355433354945555499998888889\",\n    \"99999$$##$8999988899998$$9999999998888889}_)=777}112222332})+49555533554999555555549888888\",\n    \"889998899999998#$8889998$9999999898988894=)+77==7}122223321++599945535549945549994554988#8\",\n    \"889999999999988#8889999999999999888888889}+=7=++=+=}1}77}11+299995553555955549999945444998\",\n    \"89999899888899988899888899999998888889893}}}777}}7=7121}1113999994555555544555999945549944\",\n    \"889988899988988999980##08999999999888884}}}}777777=712333321999995555555499945544555999954\",\n    \"99998888999998$#$898&00&89999994549988993}}77777777}11222224999535553335999994554955595559\",\n    \"9999988889999$##&#98##$089999989555544455543}777==7}11122354455354953335999994988994555499\",\n    \"999999999999998$$0898#$#89999945549994559491}7777}}112113535555335553335999994988899454999\",\n    \"99988889998899988$$98$8$8999444499988955559177====7}11135559999945533335999954888894455555\",\n    \"88888889998899998889999899994998999945555351777===}}11133555999994533333999459988949994599\",\n    \"8888889499899994999988994444449999955555551}77777}}11113})73359999955333555555994499889559\",\n    \"888889444444455555999888944455549531}}}3351}}7777}}11}35)_*_)=1349555333549995555549999555\",\n    \"998999454499955555499988445555217))__;)}7===77}}7777154+_;;;;;;;_)=}1355599994555555553335\",\n    \"44445549989995545554999951}7+)_;;;;;;;;7+++=17}}7}25445)*;;;;;;;;;;;;;)+154995335559994333\",\n    \"445549988899954995559999=_;;;;;;;;;;;;;=+++=12}1354443);;;;_+=7=)_;;;;;;;;)}55554535999945\",\n    \"994499988889449894555993);;;;;;;;;;;;;;++++=}=7777127_;;;;)=777}}}});;;;;;;_75559455999988\",\n    \"994554998889498889445547_;;;;;;;;;;;;;;_)+=7===777=+_;;;;_+777}111}_;;;;;;;;)5549955599888\",\n    \"99455549989449894559953+;;;;;;;;;;;;;;;;_}17++====+);;;;;;;)=711117;;;;;;;;;_3554995599889\",\n    \"9455555499954994555495});;;;;;;;----;;;;_127+++==++*;;;;---;+=}11}7*;;;;;;;;_3555495359989\",\n    \"5549994555555554999953);;;;;;--;-------;)337+++++));;;;-----_+7}}}=_;;;;;;;;_5555555359944\",\n    \"5499999455555599999943_;;;;;------------*71+=++)))*;;;;------_)+777);;;;;;;;*2444553355549\",\n    \"9999949995559999899995_;;;;;------------;))+++))));;;;;;---------;;;;;;;;;;;;}449945355498\",\n    \"9999449945559888888995_;;---------------;)+))))))_;;------------;;;;;_;;;;;;;+344445555999\",\n    \"9999999995555498898951_;;----------------)+)))))_;-------------------;;;;;;;;;_14945555998\",\n    \"99999999955445499893=);;--------_))++++);)+)))))_;-------------------;;;;;;;;;;;)}33335998\",\n    \"9999999995549945551)_*;;---;;;_}}7==77+_;)+)))___---------------------;;;;;;;;;;-;_7233499\",\n    \"999999999549999953);_)+)*;_+)+1177=777+;;)+))))_;----------------:-----;;;;;;;;--;;;_}3499\",\n    \"494449994549998953+)_*__;;))*;)=====77);-)+))))_;-----------------:----------;;;-;-;)23599\",\n    \"4944449994498944552);;;;;*;;;;;)++++=+;--)+))))_;----------------------------;-;;;;_333544\",\n    \"9999999994499449993);;;;*;;;;--;__*;----;)))))__-------------------::----------;;;_3533599\",\n    \"99999998944444988893=)*;;;__;;;;------;;;)))))_*----------------------:---------;_15333599\",\n    \"999999989449999888999453211}}}+;------;;;)))))_;---;;-------------------------;_}555555544\",\n    \"5444449944499999999944555533355_;----;;;;))**_*;---;--------------------;7}}}}254444555544\",\n    \"5555554455499999999944555553355);---;;;;;))-;_;----;----------------;;;;;)3554444444455555\",\n    \"5555554444499999999994555553355);---;;;;;)))__;;--;;;;---------------;;;;;+255444444445454\",\n    \"5555554444499999999444555553355);;---;;;;)+=++)_;;;;;;;---------------;;;;;_35444444444444\",\n    \"3333355555549999444445555533353_;;----;;;)+=+++_;;;;;;;;--------------;;;;;;=5544444444444\"\n  ],\n  [\n    \"8888999888888888#$$8899999944495444494555445})_______)__)+154454535333355999998888$$#89999\",\n    \"9999999888888888889999988999999945544994331}+)_;;;;;*__*_))=33335443333555555998888$$#$899\",\n    \"9999988$$$88899999999988$999999444998999327+)))))))))+++))))145355433354945555599998888889\",\n    \"99999$$##$8999988899998$$9999999998888894=))=77}112223332}))}995555335549995555555498888$8\",\n    \"889998899999998$$$889998$9999999898988895))=777}}1122233327)}999945535549945549994554988#8\",\n    \"899999999999988$8889999999999999888888895++7======}11}}1117+299995553555955549999945444998\",\n    \"8999989988889998889988889999999888888989577777==7==}2}=}}1}5999994555555544555999945549944\",\n    \"889988899988988999980##08999999999888892}}2}77}}777}23233215999994553555999945544555999954\",\n    \"99998888999998$#$8980##0899999945499899517}}77777==}}2222229999535553335999994554955595559\",\n    \"99999988899998##&#98##$08999998955555455533}777==7}122222354455354953355999994988999555499\",\n    \"999999999999998$$0898#$#89999945549994554451777777}111125335555335553335999994988899454999\",\n    \"99988889999999988$$98$8$8999444499998955553777777}1111135559999945333335999944888894455555\",\n    \"8888888999899999888999989994499899994555532777=++=7}11155555999994533333999459888949994599\",\n    \"888889949989999499998899444444999945354453177777}11112151555559999955333555555994499889549\",\n    \"888889444444455555998888944555544532112353}}}777}}111123_)72335499553333549995555549999555\",\n    \"9999995554999555554999884555552}=+)__)7}77777777}}}}}35+_*;;_)=}35553333599999555544555335\",\n    \"44555549989995545554999931}=+)*;;;;;;;+}++=71}}777}3441_*;;;;;;;;_)+}135544995335559994533\",\n    \"445549989899954995554997_*;;;;;;;;;;;;)1+++71}}}154445=_;;;;;;_))_;;;;_+}34945354534999995\",\n    \"99454999889944999455542);;;;;;;;;;;;;;*=+++=}7}135442);;;;;;_+7}}}7=);;;;;)355559455999988\",\n    \"9955549989894988895555+*;;;;;;;;;;;;;;;))+=}=++++=17_;;;;;;;+777}}}1}_;;;;*)55549955599888\",\n    \"9945554999944999455943);;;;;;;;;;;;;;-;;)}17777===+);;;;;;;;)+=71111=_;;;;;_35554995599889\",\n    \"945555549995499455553)_;;;;;;;;;;------;)127=====+);;;;;;;;;-;+=}11}+;;;;;;*15555495359989\",\n    \"55499945555555549995+;;;;;-;-;;;-------;+33=+===++_;;;;;-----;)=}}}}+;;;;;;_15555555359944\",\n    \"54999995555555499995_;;;;;--------------)}1++++++);;;;;;;-----;)=}}}+;;;;;;_34444553355549\",\n    \"49444499955599999993_;;-----------------;))+++++));;;;;--------;__)));;;;;;;}4499945555498\",\n    \"49994499455599999957;;;-----------------;))+++)))_;;--------------;__;;;;;;;+4449494555999\",\n    \"999999999555549993}+;;;-------------;;;;;))))+)));--------------------;;_;;;_7549994555998\",\n    \"9999999995554555})_*;------------*)=77777+))))))_;---------------------;;;;;;;744533555998\",\n    \"999999999554943+_*;;;;;;;-;)___;+777777}}+))))))_-----------------------;;;;;;;)7235333499\",\n    \"999999999554991*;;_____;;;))*;;_++=77=7}}+))))))*----------------:-------;;;;;;;;;+2333499\",\n    \"494449994554994+**;;;--;;_;;---;)++====7)))))))_;-----------------:------;;;;;;;;;;;733599\",\n    \"4444449995499952);;;;;;;;;;---;;_))_*;;;;))))))_;----------------------------;;;-;;_133544\",\n    \"9999999994444455+;;;;;;;;;**;;;---------;)))))_*-------------------::----------;;;_3533599\",\n    \"999999999444449993}+)_;;;;;;_;----------;)))))_;--------------------:-----------;;15333599\",\n    \"99999999944999999999953222233);---------;))))__;---;---------------------------;_155555544\",\n    \"55555449454499999994445533333+;--------;;))___;;---;-------------------------;)}5444555544\",\n    \"55555544554499999999445555333+;;------;;;)_*_;;;---;----------------;---733335544444455555\",\n    \"555555445549999999944455553337;;-------;;)_;_-----;;;---------------;;;;_15555444444455544\",\n    \"55555544544999999994445555333};;;------;;)))))));;;;;;---------------;;;;*+355444444444444\",\n    \"333335555554999444444555533337;;;------;;)+==++);;;;;;;;--------------;;;;;=55444444444444\"\n  ],\n  [\n    \"88$89998888888$8###88899999444944444945554957)))_))_))))=1499454555535555999998888##088999\",\n    \"9999999888888888889999988999999944449999532}+)_**_;___*_)+=355355495555555554988888##0#899\",\n    \"9999988#$#$$899999999988$999999444998884327+))_______))))))=4455554555549455554999888$$$89\",\n    \"99999$#00$899998$899998$$9999999998888893=++=77}11111221}+)+49945555555499955555554988$$$8\",\n    \"889998899999988#$$8$9998#999999988888889})+777}}1122233331++599994555554999554999454498$0$\",\n    \"889999998899988#$$8999999999999988888889})+7====7}22123331+=499995555554945599999944449998\",\n    \"8899989988$8999888998888999999988888888927777==7==}2}==}1175999999555555549555999944499944\",\n    \"88998$899988988899980##&8999999999888891}22}}}}}77}222223139999994555555999945444555999944\",\n    \"99998$$899999$$00898&0#0$999999454998991}}177777==}}23333229999555555555999884549945494559\",\n    \"9999998888999$##&#880##08999998945555445211}77777}1333322354455359955555999894988899555498\",\n    \"999999999999998$$0898#$#8999994459999955993}777=77}111235555445555455555999894988899459999\",\n    \"88888888998899988##98$$#8999944998988945541}777}}11221244559999945555555999949888899445555\",\n    \"888888899988999988899998999949889999455553}77====7}111355554999999455555999459888949994599\",\n    \"888888949989999499998899994449999995554443}77777}11122359945559999955555555555989499889549\",\n    \"8888889444444444449888889444555495333325511}}7771111215}+399555499555555549995554449999555\",\n    \"9989994549999455559999884455552}7+)))+}5}777777}}111}35+__)=}13555553333599999554444455555\",\n    \"44455549989995545554999531}=+)_;;;;;;_}5===711}7}}7154}__*;;;;*)+}235555599995555559999535\",\n    \"4455499888899549955549})_*;;;;;;;;;;;;33=++=11}7}25444=_*;;;;;;;;;;*)=13599945554554999994\",\n    \"9994998888894498945552);;;;;*;;;;;;;;;+7+++=112554443+_;;;;;;;;;*__;;;;*)75455559955998888\",\n    \"994554998889498889553+_;;;;;;;;;;;;;;;;)++===777}231)*;;;;;;;;;)=}}}=)_;;*+555599945498888\",\n    \"994555498894498945593_;;;;;;;;;;;;;;;;;;)}17===777=);;;;;;;;;;_=}}}111});*_145554995599889\",\n    \"9455555499954994555}+_;;;;;;;;;;;;;;;;;;)23}===77=+_;;;;;;;;;;_+}}}111});;*}45555994549889\",\n    \"5549999555555554993_;;;;;;;-;;;;;;;;;;;;)337=====+);;;;;;;;;--;_)=}11}=;;;*}55455555359944\",\n    \"549999945555554999=;;;;;;;---;;;-------;_}1=++===+_;;;;;;;;----;)+7}1});;;_244999453555448\",\n    \"994444999555999994);;;;;;;----;;--------;++++++++);;;;;;;;;-----_+=}}7_;;;*144999945554998\",\n    \"999999994555999991_;;;;-----------------;)+++++))_;;;;;;;;;-----;)+7}7+;;;;=44499999554999\",\n    \"9999999995555545}=_;;;-------------;;;;;;)+++))));;;;;;;;;--------;;___;-;;)54999994555988\",\n    \"99999999955555}))_;;-------------;)=77===++++)))_;------------------;**;;;_;+5499455555988\",\n    \"9999999995545+_*;;;;;-;---;;;--;)++=}7777++)))))_;----------------------;;;;*1455354555988\",\n    \"9999999995551_;;;____;;;-;);;;;;+++7}77}}=+)))));-----------------------;;;;;*)73599555498\",\n    \"4944499945544);;;;;;;;;;;;;---;_)++=7=77))+))))_;------------------------;;;;;;;;+59535599\",\n    \"44444999955992_;;;;;;;;;;;;;;;;;;__;;;---)))))__;-------------------------;;;;;;;;_3533549\",\n    \"99999999944445);;;;;;;;;;_*_;;;;---------)))))_;------------------:--------;;;;;;*}5533599\",\n    \"9999999994444543}+_*;;;;;;;;-------------)))))_;-------------------:--------;;;;;}53333599\",\n    \"9999999994449999999453111237;------------)))))_;--;;;;--------------:---------;;}455555599\",\n    \"555554494449999999944455333};;-----------)))))_;--;;;---------;--------------;*}4444455544\",\n    \"555555444544999999994455533};;;---------;));;;;---;;--------------;;--;__*;;)}544444455544\",\n    \"5555554444499999999944555331;;;---------;));-------;---------------;;;;1555544444444444444\",\n    \"5555554444499999999944555332*;;;;-------;)_))))_;;;;;--------------;;;;_}35544444444444444\",\n    \"3333355555449999444455553331;;;;;-------;)_+===);;;;;;--------------;;;;;)3544444444444444\"\n  ],\n  [\n    \"88$8999888$8$8$$###88899999444944449944554417=+)+))))+7155999944555555554999988888##088999\",\n    \"99999998888$8888889999988899999944449999531+______))__))=1555555599555555555498888$##0#$99\",\n    \"9999988#$#$$89999999998$$9999994449989952}+)____;;*____))+199955544555549455554999888$$$89\",\n    \"89999$#0#$899988$89999$$$999999999888895}=+===777=7}}}7=))=999945555555999955555554988$$$8\",\n    \"$89998889999988$$$$$9988$999999988888991))7}}}1122233332})=9999999555554999554999444998$0$\",\n    \"889999998899988#$$8999999999999988888897)+77777}122233331+=4999994555554945599999994449998\",\n    \"8899989988$89998889988889999999888888891=77==77==11}}}111+29999999555555549554999994499944\",\n    \"88998$899888988899980##&899999999988895121}777777}21}1221399999994555555999945494555999944\",\n    \"99998$$899999$$0#898&0#&$99999944499891}21}77777=}1333332299999555455555998884549945494549\",\n    \"9999988888998$##&#88###08999998945554451}1}77777}11233221544455559955555998894988899555998\",\n    \"99999999999999$$$089$#$#899999444999995595}77===}}1122355555445555455555999894988889449999\",\n    \"88888888998899988$$98$$#899994499898894552}777}}112212594559999945555555999949888899945555\",\n    \"88888889998899998889999899994988999945555}77==77}11113555554999999455555999459888999894499\",\n    \"88888899998999999999899999444988999555495}777==7}}1123549945559999955555555554989998889549\",\n    \"8888889444444444449888889444455995333354211}}771111223219999555999555555549995544499989554\",\n    \"988999444499945555998988444555217++)+}55}777}77}1111157_)725555555555555499999544444455555\",\n    \"44445449989995545554999531}=))_;;;;;_=557===1}}}}}7145)__;;;_)=}25555555599995555549999555\",\n    \"945549988889954995555}))__;;;;;;;;;;;}52=+==11}7}25441__*;;;;;;;;_)=}355599945559554999994\",\n    \"999499888889449894551);;;;;;;;;;;;;;;=1}=++=}12544443)_;;;;;;;;;;;;;;;)=149455559955998888\",\n    \"99455499888949888953)_;;;;;;;;;;;;;;;;;)++=7}}}1545}_;;;;;;;;;;;;;;;;;;;_74555599945498888\",\n    \"99455549889449894551_;;;;;;;;;;;;;;;;;;)+}1}77===7+_;;;;;;;;;;;;;;;__;;;;_2545559995599889\",\n    \"945555549995499555})_;;;;;;;;;;;;;;;;;;_=23}77777+);;;;;;;;;;;;;;)+7}7)_;_}495555994549889\",\n    \"554999955555555493_;;;;;;;;;;;;;;;;;;;;_=33}=777=+_;;;;;;;;;;;;;;)}}111}=_}555455555559994\",\n    \"54999994555555499=;;;;;;;;;;;;;;;;----;;+}1=====+);;;;;;;;;;;;;;;+}11111})1449999455554448\",\n    \"99994999955599999);;;;;;;;;---;;------;;+=++++=++_;;;;;;;;;;----;+7}}111=_1499999994554998\",\n    \"99999499455599992_;;;;---------;------;;)==+++++);;;;;;;;;;;-----_+=}}}=__1449999999554999\",\n    \"99999999955555517_;;;-------------;;;;;;_+==+))));;;;;;;;;;-----;_++7}});;}449999999444988\",\n    \"99999999955552=+);;;;----------;_+77===+)++++)))_;;;;;;;;;-------;)+=}});;+544999955555988\",\n    \"999999994553=_;;;;;;----------;)+=}7=++)*)++))));;;;;;;;;;--------;;_)))--;=55545554555988\",\n    \"99999999955});;;;;_*;;--;)_;;;)++=}7===);)+))))_;--;-----------------;;;;--_15335499455988\",\n    \"494449994553_;;;_;;;;;;;;;;--;)++==7==+;;))_)));-------------------------;;;;_755999555498\",\n    \"4444499995541_;;;;;;;;;;;;--;;_))))_;;---_+)___;--------------------------;;;;;_1449555599\",\n    \"9999999995545);;;;;;;;;;;;_;;;-----------))))_;;--------------------------;;;;;;)554533499\",\n    \"99999999945552=)_;;;;;;;;*;;-------------)))))_;--------------------------;;;;;+5533333599\",\n    \"99999999944499999521}7==}};--------------))))__;---------------------------;;;+54455555599\",\n    \"55555499444499949444455331;;-------------))))__;------------------:--------;;)544444555544\",\n    \"5555554445499999999444533};;------------;));_;;--;;;----------------------;_75444444455544\",\n    \"5555554444499999999444533};;;-----------;)_-------;;-------------;;-_}1}7=1544444444444444\",\n    \"55555544444999999994455337;;;;;---------;)__)));-;;;-------------;;;;755444444444444444444\",\n    \"3333355554449999444455533);;;;;;--------;)_)==+;;;;;;-------------;;;;)1544444444444444444\"\n  ],\n  [\n    \"88$8999888$8$8$$###8899999944494494994555531}=77+)+7159944999944555555554999988888##088999\",\n    \"99999998888$888888999998889999994544999437)___)_))))))=}55455555599555555554498888$##&#899\",\n    \"9999988###$$89999999998$#999999444999943}+)_***;*____))+74999955544555599455554999888$$$89\",\n    \"89999##00#899988889999$##999999999889451=++++++))+==++)))29899945555555999955555544988$$#8\",\n    \"889998889999988##$$89988#9999999888989})=7}}}1222333331+)199999999555559989554999444998#0$\",\n    \"889999999999988#$$88999999999999888885+)7}7}}}1222333327+}99999994555554945599999994449988\",\n    \"8999989988$899988$99888899999998888884}+7=====7}1}}}1117+599999999555555549554999994499944\",\n    \"88998$899988988999980##&8999999999888421}777}77}22}}111}5999999994555555999945494555999944\",\n    \"99998$$899999$###898&00&$999999444994}}517}}777}133333313999999555555555988894549945494549\",\n    \"9999988888999#00&#980##089999989455552}1177777=7}12332215549445559955555999894988899555498\",\n    \"99999999999999$#$089$###89999945549994333}77==7}122233344555445555455555999894988889449999\",\n    \"99988888998899988#$98$8#89994444989889553}7777}}122224994559999945555555999949888899445555\",\n    \"8888888999889999888999989999498899994555}}7777}1221135555554999999455555999459888999894499\",\n    \"8888889999899994999988999944499999955545}77====7}11255549945559999955555555554989998889549\",\n    \"8888884444444454449888889444555995553343}1}}}711122233298889555999555555549995544499989554\",\n    \"988999454499945555988988444555321}77}342}77}}7}1111132)+1499555555555553499999544444455555\",\n    \"444454499899955455549999531}=)_*;;;_+2557==71}}}1}}34=__*;_)=}2555555553599995555549999555\",\n    \"445549988889954995553}7+))_;;;;;;;;;)553=+=71}}7}2445)__;;;;;;;_)=}35555599945559554999994\",\n    \"99949988889944999452);;;;;;;;;;;;;;;+331+++=1}1544441__;;;;;;;;;;;;;_+}3499455559955998888\",\n    \"9945549988894988895+_;;;;;;;;;;;;;;;;_)77==7}135445+_;;;;;;;;;;;;;;;;;;_}49555599945498888\",\n    \"9945554988944989551_;;;;;;;;;;;;;;;;;;*+=}17+++=11)*;;;;;;;;;;;;;;;;;;;*_25555559995599889\",\n    \"945555549995499532)*;;;;;;;;;;;;;;;;;;;+723}77=7=+_;;;;;;;;;;;;;;;;;;;;;_}5495555994599889\",\n    \"55499945555555554+*;;;;;;;;;;;;;;;;;;;;+}33}77==+);;;;;;;;;;;;;;;;;;;;;;*74555555555559994\",\n    \"54999994555555493_;;;;;;;;;;;;;;;;-;;;;)7}27====+_;;;;;;;;;;;;;;;;____;;*74549999455554448\",\n    \"99944999955599997;;;;;;;;;;;-;;;;----;;_=+++==++);;;;;;;;;;;;;--;;)=7}7+)}4499999994544998\",\n    \"49994499455599997;;;;;;;;;;---;;------;*+==++++)_;;;;;;;;;;;;---;;)}1111}24449999999544999\",\n    \"9999999995555545+;;;-----------;------;;)+==+)));;;;;;;;;;;;---;;*=}1111134449998899444988\",\n    \"999999999555552});;;----------;;;;_)_;;;_+=++))_;;;;;;;;;;;----;;)7}1111114444999945544988\",\n    \"9999999945555=)_;;---------;)7}77777+_;;;)+++))*;;;;;;;;;;-----;;)+=7}}7))5455545559555988\",\n    \"999999994552+__;;;;;---;;*)+}}}}77}7+;;;;)+))));;;;;;;;;;;-----;;)+++==_;)5445335499455988\",\n    \"444449995557;;;_))_;;;;))__++=7777}7);;;;)))))_;;;;;;;;;;--------;_)+++;-;+154535999455998\",\n    \"444444494553);*;;;;;;-;;;;;_)+====7+;--;;))__)_;;;;;;---------------;;;----;_}533549455599\",\n    \"9999999995541_;;;;;;;;;;-;;;_)))_;;-----;)))__;----------------::-----;;-;-;;;=55354455499\",\n    \"9999999994553);;;;;;;;;;;;;;;;----------;))))_;-----------------:---------;;;_}49433333599\",\n    \"999999999444993}=)_*;;;));;;------------;)))_*;-----------------:---------;;)3449455555599\",\n    \"555554994554999444553323+;--------------;))__;;-----------------:::------;;_24444444555544\",\n    \"555555444554999994445533_;--------------;)))_;;------------------::------;;754444444555544\",\n    \"555555444544999994444531*;--------------;)_;--;------------------;)+)___)}3444444444455444\",\n    \"55555544444999999444553};;--------------;)_*_*;--;;-------------;;=35544444444444444544444\",\n    \"33333555554449944455553+;;;;;-----------;)_+==);;;;;--;;;------;;;_15544444444444444444444\"\n  ],\n  [\n    \"88$8999888$8$8$$#$$888999994449444499455553333113598889944999944555555554999988888##088999\",\n    \"9999999888888888889999988899999945449941=+)))))))))+}25454455555599555545554498888$##00$99\",\n    \"9999988#$#$$89999999998$$99999944499995})____;_____))+739888994554455559945555499988$$$$89\",\n    \"89999$###$899988$899998$$9999999998953}+)_______)))))))=988889945555555999955555549988$$#8\",\n    \"$89998889999988#$$$$9988$9999999888941==77}}111122221+)+4888999999555559989544999444998#0$\",\n    \"889999998899988#$$8899999999999988892)+7}}}}112223333}++5998999994555554945599999994499998\",\n    \"8899989988$89998889988$89999999888893+=77===}111123321++5998888999555555599554999994499944\",\n    \"88998$899888988899980##&8999999999899177==77=711}7}111=39988888994555555999945494555998944\",\n    \"99998$$899998$$##898&00&$999999444942331}}777712211232135999889555455555988884549945494549\",\n    \"9999988888998$##&#88###0899999894555}13}7777==}1233332155549445559955555998884988899555998\",\n    \"99999999999999$$$089$###8999994449994131}7777}13332222599554445555455555998894888889449999\",\n    \"8888888899889998$#$98$$#8999944998988952}77==7}1112259999549999945555555999949888899444544\",\n    \"8888888999889999888999889999998899994551}777}}12221245555554999999455555999959888999894499\",\n    \"888888999989999499998899999449889995554}7====7}1111355549995559999955555555554989998889549\",\n    \"8888889444444444449888889944454995555451}1}}7}11122355998889555999555555549995544499989554\",\n    \"9889994449999455559888889444445533211511}77}}}1112215)759889455555555555499999544449445554\",\n    \"44445449989995545554998945531}=)))_)7452===71}111}}53)___)71545555555553599994555549999555\",\n    \"445549988899954995555531}=))_;;;;;;*=542===71}}}7144=___;;;;;_)=}3555553599945559459999994\",\n    \"9994998888994499945}))_*;;;;;;;;;;;;235}=++=17}24444+__;;;;;;;;;;;_)7155499455559955998888\",\n    \"9945549988894988891);;;;;;;;;;;;;;;;7}}====}1354445=_;;;;;;;;;;;;;;;;;_}499555599945498888\",\n    \"994555498894498955);;;;;;;;;;;;;;;;;;;)+7117777131)*;;;;;;;;;;;;;;;;;;;_145555554995599889\",\n    \"945555549995499551_;;;;;;;;;;;;;;;;;;;)+}33777}}7)*;;;;;;;;;;;;;;;;;;;;;+55595535994598889\",\n    \"55499995555555545)_;;;;;;;;;;;;;;;;;;;_=133=7777+_;;;;;;;;;;;;;;;;;;;;;;)55555555555549999\",\n    \"54999994555555491_;;;;;;;;;;;;;;;;;;;;;+}}1=====);;;;;;;;;;;;;;;;;;;;;;;)55549999455544498\",\n    \"99944999955599997;;;;;;;;;;;;;;;;--;-;;)7+===+++_;;;;;;;;;;;;;;;;;;;;;;;)54999999994544998\",\n    \"9999999995559999+;;;;;;;;;;-;;;;----;;;)====+++);;;;;;;;;;;;;;;;___;;;;;)54449999999444999\",\n    \"9999999995555549+;;;;;;-;;-----------;;;++==+))_;;;;;;;;;;;;--;;)+7}7)_;)54499998899444988\",\n    \"9999999995555554+;;;;----------------;;;)+=++));;;;;;;;;;;;---;*+}1111}+)54554999944444988\",\n    \"9999999995549451);;;----------;;;----;;;_+++))_;;;;;;;;;;;;--;;)7}11111=)34455545549444988\",\n    \"99999999955495+_;;-------_)+=77=);---;;;_++)))_;;;;;;;;;;;---;;+}}1111=_)54445355499444988\",\n    \"4444499945543)__;;;;;;;_71}77}7=_;---;;;;))))_;;;;;;;;;;;;---;;)+=7}7);;)15494554999955988\",\n    \"444449994555=;*)+)___))7}7===77=);---;;;;))))_;;;;;;;;;;-----;;))++=+;;;;;)145535599455499\",\n    \"9999999995552))___;;_)_)++====7=_-----;;;)))_*;-;;;;;;---------;;;__;--;;;;;+5545554455999\",\n    \"9999999995555=;;;;;;;;;;))+++==);-------;)))_;;--------------:----;;;---;;;;;1499455555499\",\n    \"99999998944441_;;;;;;;;;;_))_;----------;)))__;---------------:--------;__;)34499455555599\",\n    \"5555549945549451=))_;;;;;;;;------------;)))__;---------------:::------;;;+544444444555544\",\n    \"55555544454499999445532);;--------------;)))__;----------------:--------;)3444444444555555\",\n    \"55555544454499999444451;;---------------;));;;-----------------;)_;---;_+34444444444455544\",\n    \"5555554444499999944455=;;---------------;)_;;;---;-------------;15553554444444444444455555\",\n    \"3333355555444444445553);;---------------;)=++));;;-----;;-----;;+3555444444444444444454455\"\n  ],\n  [\n    \"88$8999888888888#$$888999994449444449445549999988888889944999944555555554999988888###88999\",\n    \"99999998888888888899999889999999454444532}}}=+=}1399944444445555499555545554498888$##0#$99\",\n    \"9999988$$#$$899999999988$9999994449993=)))))))))))+=154998889945544555599455554999888$$$89\",\n    \"99999$$##$8999888899998$$9999999999951+)___*______))+=58888889945555555999955555449988$$$8\",\n    \"889998889999998$$$$$9988$999999989952=+))))))+==77=)))198888999999555559999544999444998##$\",\n    \"889999999999988#$$8899999999999988927=}}}11112223331+)}98888999994555554945599999994499998\",\n    \"8999989988$8999888998888999999988897+7}}}}11112233327)=99998888999555555599554999994499944\",\n    \"88998$899988988999980##0899999999992=77====}11}}1111}+199898899994555555999945494555998944\",\n    \"99998$$899999$$##898&0#&8999999444942}77777=}21}}122}}554999999555455555988884549945494549\",\n    \"9999988888998$##&#98###089999989453153}}}777}133333311355549445559955555998894988899555998\",\n    \"99999999999998$$$0898#$#89999944499113}7777=}112332222499554444555455555999894988899449999\",\n    \"8988888899889998$#$98$$$899944499999542}}77}1122233359999549999945555555999949888899444544\",\n    \"888888899988999988899998999949889999453}7777}122222945555544999999455555999459888999994499\",\n    \"888888949989999999998899999449889995551}777}1122112455549995549999955555555554989998889549\",\n    \"8888889444444444449888889944444994555411}}}}7}11123555998889555999555555549994544499989454\",\n    \"98899944499994555498888894444455553355}1}77}}112222513998889455555555555499999444444445554\",\n    \"444444499899955455549998444555321}}}35}1===}11112114=_)71599945555555333599994554449999555\",\n    \"4455499888999549955599995531}+)__;_)2451===}1}11}155)___;;_)+}1344455555599945559454999994\",\n    \"99949999889944989455532}=))_;;;;;;;_354}=++71}7}3445)___;;;;;;;;_)715555599455559955998888\",\n    \"9945549988894988893+)__*;;;;;;;;;;;)53511==}}134444}__*;;;;;;;;;;;;;_)}5499555599945498888\",\n    \"994555498894498955=_;;;;;;;;;;;;;;;;+=77}111135444=_*;;;;;;;;;;;;;;;;;_=445555554995599889\",\n    \"945555549995499552_;;;;;;;;;;;;;;;;;;;+=133====}1+_;;;;;;;;;;;;;;;;;;;*_355545535994598889\",\n    \"55499995555555549}_;;;;;;;;;;;;;;;;;;;)=1337777=+_;;;;;;;;;;;;;;;;;;;;;_155555555555549999\",\n    \"54999994555555494)*;;;;;;;;;;;;;;;;;;;_7}}1777=+);;;;;;;;;;;;;;;;;;;;;;_}55544999455544498\",\n    \"99444999955599993_;;;;;;;;;;;;;;;;;;;;;+7+=77++)*;;;;;;;;;;;;;;;;;;;;;;*=44999999994544998\",\n    \"99999999455599993_;;;;;;;;;;;;;;;;;;;;;)}==7+++);;;;;;;;;;;;;;;;;;;;;;;*)54449999999444999\",\n    \"99999999955554492_;;;;;;;;;;;;;;;;;;;;;)7===++)_;;;;;;;;;;_)=7=+_;;;;;;;)54449998899444988\",\n    \"99999999955555543_;;;;;-;;;-;;;;---;;;;*++++++);;;;;;;;;;;_+}}1117)_;;;;)54554999944444988\",\n    \"99999999955494552_;;;;-------;;;----;;;;)++++)_;;;;;;;;;;;)7}11}1}=);;;*)54455545549444988\",\n    \"99999999955499951_;;;---------;-----;;;;)+++))_;;;;;;;;;;_+7}}}1}7);;;;*744445355999944988\",\n    \"444449994554999});;-----;;_;--------;;;;_++)));;;;;;;;;;;;_)=7}}=);;;;;_144444554999955988\",\n    \"444444994559947)_;;--;_+11=);--------;;;;+)))_;--;;;;;;;--;))+++);;;;;;;*75445335499455499\",\n    \"9999999995545})))_)=111}}7+;------------;))))_;------------;*_)));;;;;;;;;)155545554455999\",\n    \"99999999945551++__+77+==77=_------------;)))__;---------------;----;;;;;;;;_24499455555499\",\n    \"99999999944495))_;+=+++=7}=_------------;)))__;--------------;;;--;__;;;;;_}54999455333599\",\n    \"55555449455445+____))+++=}+;------------;)))__;;;-----------------;;;;;;;)5444444445555554\",\n    \"5555554455549451=)_*_))++_--------------;+)___;-;;----------:------;;;;;=54444444445555555\",\n    \"555555444544999445});;*;;---------------;+)_;;;-;;;-----------;;----;;_}544444444444555555\",\n    \"555555444444999444552+;-----------------;);-;;--;;;;----------+331}13544444444444444555555\",\n    \"333335555554444445555);;----------------;+)__;;;;;;;;;;;;;;;;;)354444444444444444444555555\"\n  ],\n  [\n    \"88$899988888888$#$$888999994449544499445599888888888889994999949555555554999988888##088999\",\n    \"9999999888888888889999988999999945444455555549988888994449445555599555545554498888$0#0#$99\",\n    \"9999988$$$$$89999999998$$999999444995217}=))))+7159994499888994554955559945555499988$$$$89\",\n    \"99999$$##$8999888899998$$999999999957)_____))__))+=15998888889945555555999955555549988$$$8\",\n    \"889998889999998$$$889988$9999999995}+___*;*_____))))79988888999999555559989554999444998##$\",\n    \"889999999999988#$$88999999999999995}=++++==7}111}7)))4988888889994555554945599999994499988\",\n    \"8999989988$89998889988889999999885==}}}}11112223327))3999998888999555555599554999994499944\",\n    \"88998$899988988899980##08999999993+=}}7}}1111233331++2499888888994555555999945494555998944\",\n    \"99998$$899998$$##898&00&$99999945517}===+=}1}77}111=75554999899555455554988884549945494549\",\n    \"9999988888998$##&#98###&899999894532}7====7121}1222725555549445559955555998894988899555498\",\n    \"99999999999998$$$089$#$#8999994552151}7777712223332124999554445555455555998894988889449999\",\n    \"8998888899889998$##98$$$8999944499233}777=711222222259999549999945555555999949888899445555\",\n    \"8888888999889999888999889999998899955177==7}1112225995555449999999455555999959888999994499\",\n    \"888888949989999999998899999949889995517777}11221129455549995549999955555555554989998889549\",\n    \"88888844444444444498888899944449945351}1}1111111135355998889555999555555549995544499989554\",\n    \"9889994449999455559888889444445553354}7}777}}112225549998889455555555335499999444444455554\",\n    \"4444554998999554555999889445555533325}71===}2111215})}399999945355553333599994554449999555\",\n    \"445549988889954995559998455553217++}5}71===}1111}147____)=}2545544455333599945559454999994\",\n    \"994599998889449894555999531}+)_;;;;+542}+++71}}7154+__;;;;;;;_)+}2555555599455559955998888\",\n    \"99455499888949888955531}=)_;;;;;;;;=5541}=7}77}3444=__;;;;;;;;;;;;_)=155599553599945498888\",\n    \"994555498894498955}+)__;;;;;;;;;;;;=3354511}1344441_;;;;;;;;;;;;;;;;;;+5545553354995599889\",\n    \"945555549995499552);;;;;;;;;;;;;;;;;++77133}}}135}_;;;;;;;;;;;;;;;;;;;_}555545335994598889\",\n    \"55499995555555544};;;;;;;;;;;;;;;;;;;;+=133=====);;;;;;;;;;;;;;;;;;;;;;+555555555355549999\",\n    \"54999994555555499+;;;;;;;;;;;;;;;;;;;;)=}}1777=+_;;;;;;;;;;;;;;;;;;;;;;)555544999455554498\",\n    \"99944999955599993_;;;;;;;;;;;;;;;;;;;;_=7+=77=+);;;;;;;;;;;;;;;;;;;;;;;)554999999994544998\",\n    \"49994499455599991_;;;;;;;;;;;;;;;;;;;;;+7==7+++);;;;;____;;;;;;;;;;;;;;_344449999999444999\",\n    \"99999999955555491*;;;;;;---;;;;;;;;;;;;)=+++++)_;;;;;)+7}}=);;;;;;;;;;;_244449998899444988\",\n    \"99999999955555541_;;;;;;---;;;;;;;;;;;;_=++++));;;;;*)7}}}}}}+*;;;;;;;;*144554999944444988\",\n    \"99999999955494552_;;;;------;;;;;;;;;;;;+++++)_;;;;;)+}}}}}}7);;;;;;;;;_244455545559444988\",\n    \"99999999955499943_;;;--------;;-----;;;;)+++))_-;;;;)+7}}}}}=_;---;;;;;)544445355999944988\",\n    \"44444999455499942);;;------------------;)++)));----;;;_+=77=+;;----;;;;+544444534999955988\",\n    \"4444499945599953}_;;--------------------_+)))_;-------;))+==);;;;;;;;;;;)54445335499455499\",\n    \"999999999554453+_;;_;-------------------;+)))_;----------;_*;;;;;;;;;-;;;=5455555554455999\",\n    \"99999999955555}++7}}+_;-----------------;)))__;----------;---;;;;;;;;;--;;_344499455555499\",\n    \"999999999554941111}}}});----------------;)))__;;;--------;;--;__;;;;;;-;;;+544999455333599\",\n    \"5555544945544517777}}1});---------------;)))__;;;;------:-----;;;;;;;;;;_14444444455533555\",\n    \"55555554555445}=++=7}11=;----------;;---;+)___;;;;------:::--------;;;;+544444555555555555\",\n    \"5555554455449437=+++=}})-----------;;---;))__;;;-;;;----;;---------;;)15444444444445555555\",\n    \"5555554455449443+)))));-------------;---;)_;;----;;;;;;------711}7}25444444444444545555555\",\n    \"3333355555544445}_;;--------------------;);;_-;;-;;;;;;;;;;;;=5554444444444444444444555555\"\n  ],\n  [\n    \"88$8999888888888#$$888999994449544499455499888888888889994999949455555554999988888###88999\",\n    \"9999999888888888889999988999999945549999554498888888999449945555599555545554498888$000#$99\",\n    \"9999988$$$$$899999999988$9999994449945531}}125988888999998889945549555599455554999888$$$89\",\n    \"99999$$##$8999888899998$$9999999993}7+=+)_))))+715499998888888945555555999955555549988$$$8\",\n    \"889998889999988$$$$$9988$9999999941+___*_)____)))+7498988888999999555559989554999444998##$\",\n    \"889999999999988#$$8899999999999942=)______))))+))_)798988888899994555554945599999994499998\",\n    \"8999989988$89998889988$899999999427777}}}11223317))=98999888888999555555599554999994499944\",\n    \"88998$899988988899980##089999945}+}}}}}1111123331+)+54499888888994555555999945494555998944\",\n    \"99998$$899999$$##898&0#&$99999951=}1===}111112221=)755554999889555455554988884549945494549\",\n    \"9999988888998$##&#98###&89999989511}=++=711}=7}11}+549555549445559955555998894988899555998\",\n    \"99999999999998$$$0898#$#89999945355}77777122222331}299999554445555455555998894888889449999\",\n    \"8998888899889998$#$98$$#89999444225}777==}122222221399999549999945555555999949888899445555\",\n    \"888888899988999988899988999999889352}777}1232222235995554449999999455555999959888999994499\",\n    \"888888949989999999998899999949889993}7===}111222299955599995549999955555555554989998889549\",\n    \"888888444444444444988888999444499455177111222111353355998889555999555555549995544499989554\",\n    \"988999444999945554988888944444555335}==}77=}}112355999998889455555555335499989444444455554\",\n    \"444555499899955455599988944455553354}==1===73222251}59999999945355553333599994554449999555\",\n    \"4455499888899549955599984555554431}5}==1===7211115}__)+}2549995554453333599945559454999994\",\n    \"99959999888944989455599945552}7+)))5377}=++=11}7347___;;;;;_)+7134455533599455559955998888\",\n    \"99455499888949888954549931}+_;;;;;_3551}7==}}773441___;;;;;;;;;;;_+71555599533599945498888\",\n    \"9945554988944989455431}+)_;;;;;;;;;13545111}715444}_*;;;;;;;;;;;;;;;;+55545553354995599889\",\n    \"945555549995499553=+)_;;;;;;;;;;;;;}2355533125444}_;;;;;;;;;;;;;;;;;;*=5555545335994598889\",\n    \"554999955555555447_;;;;;;;;;;;;;;-;;_)++}5577===);;;;;;;;;;;;;;;;;;;;;)5555555555355549999\",\n    \"54999994555555494);;;;;;;;;;;;;;;;--;*++}}1=77+)_;;;;;;;;;;;;;;;;;;;;;_3555544999455554498\",\n    \"49444499955599993_;;;;;;;;;;;;;;;;;;;;)+=++=++));;;;;;;;;;;;;;;;;;;;;;*1554499999994544998\",\n    \"4994449945559999}*;;;;;;;;;;;;;;;;;;;;_+===++))_;_)))_;;;;;;;;;;;;;;;;;7454449999999444999\",\n    \"9999999995555549+;;;;;----;;;;;;;;;;;;;)=++))));;_+}}}}=)_;;;;;;;;;;;;;+544449998899444988\",\n    \"9999999995555554);;;;;-----;;;;;;;;;;;;)+++)))_;;+7}}}}}}+;;;;;;;-;;;;;)544554999954444988\",\n    \"9999999995549453);;;;;------;;;;;;---;;;)++)))_;*+7}}}}}7);;;;;--;;;;;;+544455545559454988\",\n    \"9999999995549995+;;;;;-----------------;)++))_;-;)=77}}}7);;;------;;;;}444455355999944988\",\n    \"4444499945549995+;;;;-------------------_)+))_;---;)+=77=_;;;------;;;;1544444554999955988\",\n    \"4444449945549953);;;--------------------_)+))_;----;_)==+_;;;;;;;-;;;;;;144445335499455499\",\n    \"9999999995544551)_;---------------------*))))_;-------;;--;;;;;;;;;---;;)34455555554455999\",\n    \"9999999995555557_;;---------------------;))))_;;;-----;--;_;;;;;;;;;----;;}454499455555499\",\n    \"999999999554953117+);;-----------;;;;---;)))__;;;---------;*;;;;;;;;;---;_}444999455333599\",\n    \"555554494555531}}111+_;----------;;;;;--;))))_;;;;---:-------;;;;;;;;-;;+54444444455535555\",\n    \"555555545552}}}11}111+;;----------;;;;--;)))__;;;;;;---::---------;;;;;7444444554555555555\",\n    \"555555445555}==}11111};;-----------;;;--;)))__;;-;;;;;;-----------;;_+34444444444445555555\",\n    \"55555544555551==}}117_;-------------;---;)_;;;;;-;;;;;------)1}777135444444444444445555555\",\n    \"333335555554453+++)_;-------------------;);;_--;--;;;;;;;;;;)55444444444444444444444555555\"\n  ],\n  [\n    \"8888999888888888#$$889999994449544449445599888888888889994999944555555554999988888##088999\",\n    \"9999999888888888889999988999999945549999554498888888999449445555599555545555498888$0000$99\",\n    \"9999998$$#$$899999999988$999999454999994555549888888999998889945549555599455554999888$$$89\",\n    \"99999$$##$8999888899998$$99994499451}1=)))++=13499999998888888945555555999955555554988$$$8\",\n    \"889998899999998$$$889998$99994995})))))))__))))+=14988988888999999555554999554999444498##$\",\n    \"889999999999988#$$8999999999944527)__*;______)__))}988988888999994555554945599999944449998\",\n    \"8999989988889998889988889999944527++++++=7}}1}=)__=998999888888999555555599554999994499944\",\n    \"88998$899988988899980##0899999527}}}}}1111233327))+554499888899994555555999945444555999944\",\n    \"999988$899999$$##898&00&8999999}73}}}}1111233321+)+455555999899555455555988884549945494549\",\n    \"9999988888998$##&#98###&8999999513}=++7}}777}1117)1994555549445559955555988894988899555998\",\n    \"999999999999998$$0898#$#89999945537====}22}}}122}=3999999554445555455555999894988889449999\",\n    \"99988889998899988##98$$#8999945155}7777}22222222112499999549999945555555999949888899445555\",\n    \"8888888999889999888999989999498925}777=7}1222222225995555549999999455555999459888999994499\",\n    \"8888889499899994999988999999498844277=77}1112222599455549995559999955555555554989998889549\",\n    \"88888944444444444498888899944449943}777}12322112453355998889555999555555549995544449989554\",\n    \"99999945449994555598888894444455533177=}}777}112555499998888955555553335499999444444455555\",\n    \"44455549989995545559998894445555335}==+}7==71322533999999899945355353333599994555449999555\",\n    \"44554998889995499555999845555544525}===1=+=7121131_)71259999995554453333599945559454999994\",\n    \"99454999889944999455599945553317++3}===}=++=}1}}41___;;;__)+7}2349455533599455559955998888\",\n    \"995554998889498889545499532}+)_;;*15377}7=7}}7}542)_*;;;;;;;;;;_)=135553599533599945498888\",\n    \"994555498994498945594331=)_;;;;;;;=3551}}11}=15445)_*;;;;;;;;;;;;;;;+355545555354995599889\",\n    \"94555554999549955331}+)_;;;;;;;;;;+13545333135445=_;;;;;;;;;;;;;;;;;*+55553545335994598889\",\n    \"55499945555555545+_;;;;;;;;;;;;;-;;=77==735}7=77);;;;;;;;;;;;;;;;;;;;_25555555553355549999\",\n    \"54999995555555491_;;;;;;;;;;;;;;;---;)+==}1===+);;;;;;;;;;;;;;;;;;;;;;15555549999455544498\",\n    \"49444499955599997;;;;;;;;;;;;;;;;;--;_++7=+=++)_;;;;;;;;;;;;;;;;;;;;;;75554999999994544998\",\n    \"4944449945559999+;;;;;;;-;;;;;;;;;;;;;)====+++))_)_;;;;;;;;;;;;;;;;;;;)5554449999999444999\",\n    \"9999999995555544);;;;-----;;;;;;;;;;;;_+++++))__+7}}7+_;;;;;;;;;;;-;;;_5555449998899444988\",\n    \"9999999995555555_;;;;------;;;;;;;;;;;;)+++)))_)7}}}}}});;;;;;;;--;;;;_3555554999944444988\",\n    \"9949499945549453_;;;;------;;;;;-------_)++))__+77}}}}});;;;;;;--;;;;;_3554553545559444988\",\n    \"9999999945549995);;;;-------;;;--------;))+))__+=777}}}+;;;;-------;;;_5444455355999944988\",\n    \"4444449945549995);;;---------;;---------))+))_;--)+7}}7+;;;;-------;;;_2544444554999955988\",\n    \"444444494554995}_;;;;-------------------_)+))_;---_)=77);;;;;;----;;;;;;244445335499455499\",\n    \"9999499995544557*;;;--------------------;)+))_;-----;;;;;;;;;;;;;;----;;)24455555554455499\",\n    \"999999999555555});;-------------;-------;)+))_;;;-------;;;;;;;;;;;;----;;=554499455555499\",\n    \"99999999955553}}11=);-----------;;;;;;--;)+))_;;;;------;;;;;;;;;;;;----;_}544499455333599\",\n    \"5555554455521111}}1}+;;----------;;;;;--;)+))_;;;;---------;;;;;;;;;--;-)34444445555533555\",\n    \"555555555537=}1211111);-----------;;;;--;))___;;;;;;-------------;;;;;;+544444555555555555\",\n    \"5555555555527=}111111+;------------;;;--;))_*;;;-;;;;;;-:----------;;)15444444555555555555\",\n    \"5555555555555177}}}7);--------------;;--;))__;;;;-;;;;;-----)}7=++715444454445555555555555\",\n    \"333335555555553)__;------------------;---)_;_;-----;;;;;;;;;)55544444444554445555555555555\"\n  ],\n  [\n    \"8888999888888888#$$889999994449544449455599888888888889994999949555555554999988888##088999\",\n    \"9999999888888888889999988999999945549999554498888888999449445555599555545555498888$0000$99\",\n    \"9999998$$#8$899999999988$999999454999999944499888888999998889945549555599455554999888$$$89\",\n    \"99999$$##$8999888899998$$99994499452317=77}1554989999998888888945555555999955555554988$$$8\",\n    \"889998889999998$$$889988$9999445}=+++)))))))++71349888888888899999555559989554999444498#0$\",\n    \"889999999999988#8$88999999999453})______**_))))))19888988888899994555554945599999944449998\",\n    \"899998998888999888998888999994527)))))))+++==)___+5998989888888999555555599554999994499944\",\n    \"88998$899988988899980##0899994311}}}}}11122331=)_+5549999888888994555555999945494555999944\",\n    \"9999888899999$$##898&00&899999113}}}}111123332}+))5955554999899555455554988884549945494549\",\n    \"9999988888998$##&#98###&899999433}===}}}}}11221+)+4999555599945559955555988894988899555998\",\n    \"999999999999998$$0898#$#8999995327++==12}77}122=)19999999554445555455555999894988889449999\",\n    \"99988888998899988#$98$$#899944353}77771232223321}15999999549999945555555999949888899445555\",\n    \"888888899988999988899988999949953}77==}112222222139995554449999999455555999959888999994499\",\n    \"8888889499899999999988999999499941777}}122222213499955549995549999955555555554989998889549\",\n    \"888889444444444444988888999445499377==7112332225453355998889455999555555549995544449989554\",\n    \"9989994544999455559888889444445553177771}7=7}135335499998888955553553335499989444444455555\",\n    \"4444554998999554555999889444555533}==++17==71225559999998899995355353333499994555449999555\",\n    \"4455499888899549955599984555554435}=+==1=+=712131+1549999999995554453333599945559459999994\",\n    \"99454999889944999455599945553217+37====}=++=11}52__*__)+}133353549455333599955559955998888\",\n    \"9955549988894988895454995317))_;_331=77}7=7}}=241__*;;;;;;;;_)+}35455533599553599945498888\",\n    \"994555498894498945594331=)*;;;;;;7353}7}111}73445)_*;;;;;;;;;;;;;;)15533545555359995598888\",\n    \"945555549995499555317+)*;;;;;;;;;+135432133154441_;;;;;;;;;;;;;;;;;_1555553545335999598889\",\n    \"55499945555555557)_*;;;;;;;;;;;-;_1111122551355}_;;;;;;;;;;;;;;;;;;;)555553555553355549999\",\n    \"549999955555554}_;;;;;;;;;;;;;;;--;;_)+++}1++=+;;;;;;;;;;;;;;;;;;;;;_255553354999555544498\",\n    \"494444999555999+;;;;;;;;;;;;;;;;;--;_)+==++++));;;;;;;;;;;;;;;;;;;;;;155554499999994544998\",\n    \"494944994555994);;;;;;;-;;;;;;;;;;;;;))+===++)_;;;;;;;;;;;;;;;;;;;;;;=55554449999999449999\",\n    \"999999999555553_;;;;;----;;;;;;;;;;;;_+++==+))_))+))_;;;;;;;;;;;;-;;;)55555449998899444988\",\n    \"999999999555553_;;;;-----;;;;;;;;;;;;;)++++)));;)7}}}}=);;;;;;;;--;;;_34555554999944444988\",\n    \"994949994554943_;;;;------;;;;;;;;--;;_++++))_;;=7}}}}}7;;;;;;--;;;;;*14454553545549444988\",\n    \"999999999554994);;;--------;;;;-------;))++))_;_=77}}}}7;;;;-------;;*24444455355999944988\",\n    \"444444994554995+;;;----------;---------_))+)__;;)+77}}77_;;-------;;;*15444444554999955988\",\n    \"444444494554941)+);;-------------------;))+)_*;---_+=}}=_;;;;-----;;;;;=544445335499455499\",\n    \"99994999955445332}=);------------------;))+))*;----;)+=+*;;;;;;;-;---;;;=54453555559955999\",\n    \"9999999995555311}}1}=_------------------_)+)__;----------;;;;;;;;;;;----;*}555499455555499\",\n    \"9999999995555}7}11}117_---------;;;;;---_)+))_;;;-----;-;__;;;;;;;;;----;_1444499455333599\",\n    \"5555544445545}=7111111);---------;;;;;;-*))))_;;-;--------;;;;;;;;;;---;)54444455555533555\",\n    \"55555554555442=+=}1111+;----------;;;;;-;))))__;-;;--:-----------;;;;;;)544445555555555555\",\n    \"55555555555445=+++77+_;;--------:--;;;;-;)))__**;;;;----:----------;;_}5444444555555555555\",\n    \"555555555555457);;;-----------------;;;-;))__*;;;-;;;;;-----;)))__)72544554445555555555555\",\n    \"333335555555453=_;;---------------:--;;-;)_;*;----;;;;;;;;;;)35544454444554445555555555555\"\n  ],\n  [\n    \"88$899988888888$#$$888999994449444499445499888888888889994999949555555554998888888##088999\",\n    \"9999999888888888889999988999999945549999444498888888999949944555499555545554498888$0000$89\",\n    \"9999988$$#$$899999999988$99999944499888899449988888899999888994554955559945555499988$$$$89\",\n    \"99999$$##$899988889999$$$9999999999445335559999989999998888888945555555999955555449988$$$8\",\n    \"889998889999988$$$889988$99994451}=7+)_))))=}135449888888888889999555559989544999944998#0$\",\n    \"889999999999988#$$88999999999451+____))___))))++149888988888888994555554945599999994499998\",\n    \"8999989988$89998889988$899999531+)________))___))74988988888888999555555599554999994499944\",\n    \"88998$899988988899980##08999943217777}111121}+___75549999888888994555555999945494555998944\",\n    \"99998$$899999$$##898&00&899994231}}}1111233331+))}9945554998889555455554988884549945494549\",\n    \"9999988888998$##&#88###&89999455177}}}}1233321+))}9999455599945559955555988894988899554998\",\n    \"99999999999999$$$089$###899999537+++71}===}1127))39999999554444555455555998894888889449999\",\n    \"8998888899889998$#$98$$#89994553}777}1311112227+}49998999549989945555555999949888899444545\",\n    \"88888889998899998889998899994453}77=}11211222111159994444449999999455555999959888999894499\",\n    \"88888894998999999999889999994994}777}11212222122599955599994449999955555555554989998889549\",\n    \"8888889444444444449888889994444417===}1213322135455555998889455999555555549994544499989554\",\n    \"988999444999945554988888944444553}7=7}11777}1253355999988888955555555555499989444499445554\",\n    \"44445549989995545559998894445545317===}1===}3394559999998889995355553555499994554449899555\",\n    \"4455499888899449955599984455554557=+++=1===}3152354999998888995549453355499945549459998999\",\n    \"999499888889449894555999455531}}37====7}=++71}51_)=713599995333349955555599955549955988888\",\n    \"994554998889498889445499517+)__+51====77}=7}7}41__;;;;*_)=7}135549455555599555599945988888\",\n    \"9945554988944989455952}+);;;;;;*25517}}}11171541__;;;;;;;;;;;*)+}3555533545555359995598888\",\n    \"9455555499954995521=)_;;;;;;;;;;}254511113324443__;;;;;;;;;;;;;;;_}55553553595335994598889\",\n    \"554999455555551+)_;;;;;;;;;;;;;;=13555312555443)_;;;;;;;;;;;;;;;;;_15555553555553355549999\",\n    \"54999995555553+;;;;;;;;;;;;;;;;;;_))++=7}}1}3}_;;;;;;;;;;;;;;;;;;;;+5555553349999455544498\",\n    \"99444999455541_;;;;;;;;;;;;;;;;;-;;_+==77+=7=);;;;;;;;;;;;;;;;;;;;;_3455555999999994444998\",\n    \"49994499455547*;;;;;;;;;;;;;;;;;;-;;)+==7===+);;;;;;;;;;;;;;;;;;;;;_2455554449999999449999\",\n    \"9999999995553+;;;;;;;--;;;;;;;;;;;;;)+=7==++)_;;;;;;;;;;;;;;;;;;;;;;}455555449998899444988\",\n    \"9999999995555);;;;;-----;;;;;;;;;;;;_+=7=+++)_;;;;)))_*;;;;;;;;;-;;;7445555554998944444988\",\n    \"9999999945554+;;;;;------;;;;;;;;;;;;)+=++++)_;;;;_+7}}}=);;;;--;;;;+545554555594549444988\",\n    \"9999999945544=;;;;---;_;--;;;-;;;;;;;_+++++))*;;;;_=}}}}}}=;;--;;;;;)544554455555999944988\",\n    \"4444499945544=;;;;)711=_---;;;;;;;-;;;)))++)_;--;;)=}}}}}}+;-----;;;)544544444554999944988\",\n    \"4444444945545);*+}77}}}+;---;;;-------_))++)_;----_+7}}}}});-----;;;;+54444445335499955499\",\n    \"9999999995553__+====7}}7_----;;-------;))+))_*;-----;)=77=);;;--;;;;;;_1544453545559955999\",\n    \"9999999995553)_++++=7}}})--------------_)+))_*;------_)+=+_;;;;;;;;---;;)15554999455555499\",\n    \"9999999995552_*)++++=}}});-------------;)+)))_;---------;;-;;;;;;;;;---;;)5444999455333599\",\n    \"5555544945557)_=))))+}}})--------------;)))___;;-------;;--;_;;;;;;;;-;;+54444445455533555\",\n    \"555555545555+____;;;;__;---------;;----;)+)___;;-;------;---;;;;;;;;;;;=544444554455555555\",\n    \"5555555555557_)));;;--------------;;;;;-))))___;;-;----:---------;;;;;}4444444444555555555\",\n    \"5555555555545=)+);;----------------;;;;;_))))_;;;-;;;----::-------;_=344444444455555555555\",\n    \"33333555555553)*;;------------------;;;;_)__;;;;;;-;;;;-----)11111554444444444444445555555\"\n  ],\n  [\n    \"88$8999888888888#$$889999994449444499445499888888888889994999949555555554999988888##088999\",\n    \"9999999888888888889999988999999945449999444488888888999949944555499555545554498888$000#$89\",\n    \"9999988$$#$$899999999988$999999444998888994499888888999998889945549555599455554999888$$$89\",\n    \"89999$$##$899988889999$$$9999999999999999999999989999998888888945555555999955555449988$$#8\",\n    \"889998899999988$$$889988$99994994311}=)+==}39944449888888888889999555559989544999444998##$\",\n    \"889999999999988#8$88999999999452+))))))))))))+72599888988888888994555554945599999994499998\",\n    \"8999989988$89998889988$899999431)______*__))))))=54988989888888999555555599554999994499944\",\n    \"88998$899988988899980##089999432}+++)++====+)___)=5449999888888994555555999945494555998944\",\n    \"99998$$899999$$##898&00&$99995551}}1111233331+)_)19945554998889455455554988884549945494549\",\n    \"9999988888998$##&#98##$089999495}}}1111233332=)))19999455599945559955555988894988899554998\",\n    \"99999999999999$$$089$###89999451===7}77}}12227)))39999999554444555455555999894988889449999\",\n    \"8998888899889998$#$98$$#89994551===712}7}}112}))}99998999449989945555555999949888899444544\",\n    \"8888888999889999888999889999455}}77}2321122221}1299994444449999999455555999959888999894499\",\n    \"8888889499899999999988999999445}77=}}11111221111599955599994449999955555555554989998889549\",\n    \"88888894444444444498888899944551777}112233321135453554998889454999555555599994544499989554\",\n    \"9889994449999455559888889444445277=7}11}777}1555355999988888955555555555499989444499445554\",\n    \"4445554998999554555999889444555517=7}11}==7}5994559999998889995555553555499994554449899555\",\n    \"44554998889995499555999844555544}7=++=1}===}5955354999998888895549455555499945549459998999\",\n    \"999499888889449894555999455531337====717=+=}15}1355559999894533349955555599955549955988888\",\n    \"9945549988894988895455942}=+))137=====}}}=7}}57__)+=}2549453533549455333599555599945988888\",\n    \"994555499894498955551}+)_;;;;;+5517777}}111}54=__;;;;;;_)+71355555555333545555359995598888\",\n    \"94555554994549451}+)_;;;;;;;;;+3545111}}233544=__;;;;;;;;;;;;_+735445533553595335994598889\",\n    \"55499945555557)__;;;;;;;;;;;;;+2354452}}353545)_;;;;;;;;;;;;;;;;)1445553333555555355549999\",\n    \"5499999555537_;;;;;;;;;;;;;;;;;)++++7}1111153);;;;;;;;;;;;;;;;;;;)545555333349999455544498\",\n    \"994444494533);;;;;;;;;;;;;;;;;-;;_+7==++++7});;;;;;;;;;;;;;;;;;;;;}55555355999999994444998\",\n    \"499444494531_;;;;;;;;;;;;;;;;;;;;;)777777=++_;;;;;;;;;;;;;;;;;;;;;+54555554449999999449999\",\n    \"999999999537;;;;;;;;;;;;;;;;;;;;;;)+77777=+)_;;;;;;;;;;;;;;;;;;;;;)54555555449998899444988\",\n    \"99999999953=;;;;;-----;;;;;;;;;;;;_+77777++);;;;;;;;;;;;;;;;;;;;;;+54555555554998944444988\",\n    \"99999999433};;;;;;-----;;;___;;;;;;)=}7==++);;;;;;;;;;;;;;;;;;-;;;+54555554535594549444988\",\n    \"999999994531_;;;-----;)7}11}+_;;;;;_+}7++++);;;;;;;;;;;)+++)*;;;;;=54455554455555999944988\",\n    \"44445449533}_;;----;+==+=7}7+;;;;;;;)==++++);;;;;;;;;;;_+7}11}+_;;)54445554449554999944988\",\n    \"44444444533+_;;----;+=++=7}7+;;;;;;;_)++++));;;;;;;;;;-)=}}111}+;;_15445554445355499955499\",\n    \"99994999433)*;;----;_)+++7}7);;;;;;;;_)+++))_;;;;;;;;-;)=}}11}7+_;;)1544554453545559955999\",\n    \"99999999452);;;--;_)__)++==_;--------;))++))_;--;;;;---;)7}}}7+_;;;;;+15455554999955555499\",\n    \"99999999451_;;;__)*_;;_)+=);----------_))+))_;;---------_))==+_;;;;;;;;)244444999455333599\",\n    \"5555555453)__;;;_;_;;;;;;;------------;))+)))_;----------;_))_;;;;;;-;;_144444455555533555\",\n    \"5555555531_;;;;;_));;;----------------;))+)))_;-----------;---;;;;;;;;)5444444545555555555\",\n    \"5555555532);;;;;*_;--------------------_)+)))_;;----------;;--;__;;;;_34444444555555555555\",\n    \"55555555553=;;;;;;---------------------;)+))_;;;;-;;------------;;;;_}44444445555555555555\",\n    \"333333555553);;;;;-----------------;;;;;)+)_))*;;;-;;;----:----;;_)73444444444555555555555\"\n  ],\n  [\n    \"88$8999888888888#$$889999994449444499445499888888888888994999949455555554999988888##088999\",\n    \"9999999888888888889999988999999944449999444498888888999949944555499555545554498888$0000$89\",\n    \"9999988$$#$$899999999988$999999444998888994499888$88999998888945549555599455554999888$$$89\",\n    \"89999$$##$899988889999$$$9999999998888888999999989999988888888944555555999945555449988$$#8\",\n    \"889998889999988$$$889988$99999999945552355988899499888888888889999555559989544999944998##$\",\n    \"889999998999988#$$88999999999995177}+))))))=1544499888888888888994555554945599999994499998\",\n    \"8999989988$89998889988$899999453+)__)))__))))))=344988989888888999555555599554999994499944\",\n    \"88998$899988988899980##089999452=)________)__))))24449999888888994555555999945494555998944\",\n    \"99998$$899999$$##898&00&$99994552}}}}}11111}+)__)+9945554998889455455554988884449945494549\",\n    \"9999988888998$##&#98###0899994931}}1111233331+)_)}9999455599945549945554988884988899554998\",\n    \"999999999999998$$089$###8999945177}}}11233321+)))29999999554444555455555998894888889449999\",\n    \"8998888899889998$#$98$$#899944277==}}7=7}1121+))+49998999449989945555555998899888899944444\",\n    \"8888888999889999888999889999443}77}132}}11221+)+599994444449998999455555999949888999899499\",\n    \"8888889499899999999988999994451}7=}1111122211}}1599955499994449999945555455454989998889499\",\n    \"8888889444444444449888889994451}7}}1111223321213455554998889444999455555599994444499989454\",\n    \"99899944499994555498888894444417===}1}1}}77}1555554999988888955555555555499989444499445554\",\n    \"44445449989995545559998894445551777}1111==7}4994559999998888994555555555499994444449889555\",\n    \"44554998889994499555999844455541}7=7}}1}===}4945554999998888895549455555499995549459888999\",\n    \"99444999889944989455599945532337==++=}17=+=}5555555559999894555549955555499955549955988888\",\n    \"994554998989498889445544217==21======}1}}=}15771355555499955555549455555599555599945988888\",\n    \"99455549999449994532}=)__*;;_1527====}}112124=___)+=13555555955555555333595555549995498888\",\n    \"9455555499454951}+)_;;;;;;;;*1545}}}}}}}23355)__;;;;;;_)+}25555555445533553595535999598889\",\n    \"554999455551+)_;;;;;;;;;;;;;_33544311}7}35355)_*;;;;;;;;;;;_)=1555445553333555455554549999\",\n    \"54999995532);;;;;;;;;;;;;;;;;+7}}}1211355113+_;;;;;;;;;;;;;;;;*+54555553333549999455444998\",\n    \"4444444445=_;;;;;;;;;;;;;;;;;;;*)+++=77}2=7)*;;;;;;;;;;;;;;;;;;_}4445555354999999999449988\",\n    \"4444444452);;;;;;;;;;;;;;;;;;;;;)===77}77=+_;;;;;;;;;;;;;;;;;;;;)5445555554449999999499999\",\n    \"999999994};;;;;;;;;;;;;;;;;;;;;;_+===7}}}=)_;;;;;;;;;;;;;;;;;;;;_3444555555449998899449988\",\n    \"999949994};;;;;---;;;;;;;;;;;;;;;)=7777}7+);;;;;;;;;;;;;;;;;;;;;_344455555555499894444498$\",\n    \"994944445};;;;;;---;-;;;;-;;)+++++}7==77=+);;;;;;;;;;;;;;;;;;;;;_3444555554535494449444988\",\n    \"999949995+;;;----------;;)7}}77}7==}7===++);;;;;;;;;;;;;;;;;;;;;_3444455554445554998944988\",\n    \"444444443);;;-----------*+77777}}=)77=++++);;;;;;;;;;;;;;;;;;;;;)5444555554449554999944988\",\n    \"44444444}*;;;;----------*)+====77+_)=+++++);;;;;;;;;;;;;;;--;_)+73544455554445555499944499\",\n    \"99494944+;;;;;---------;_)++====+);*++))++);;;;;;;;;;--;;;--;_)=}}125455554453545559955999\",\n    \"99999995);;;;-----------;))++);--;;;_))+++)_;;;;;;;;---;;--;_)+7}1113555555554999955555499\",\n    \"99999942_;;;----------;;____;-----;;;_)))+)_;;-;;;;;-------;_)+7}1111545555444999455333599\",\n    \"5555555+*;;;;;;---;;;;;;;;---------;;__))+))*;--;;;;--------*_)+}1}}=754454444445555533554\",\n    \"5555552_;;;;;;----;_;---------------;*)_)+))_;---;----------;_)))++)_)34444444445555555555\",\n    \"5555553);;;;;------------------------;)))+)_;;;---------:----;;_*;;;_244444444445555555555\",\n    \"555555557*;;;--;----------------------;))+)__;;;--------:-:--;;----;_344444444445555555555\",\n    \"3333333331_;;;;;;-;;------------------;_)+___*;;;---------::---;--;;+544444444444555555555\"\n  ],\n  [\n    \"88$8999888888888#$$889999994449444499445499888888888888994999999454555554999988888##088999\",\n    \"9999999888888888889999988999999944449999444488888888999999944555499555545554498888$0000$89\",\n    \"9999988$$#$$899999999988$99999944499888899449988888899999888894554955559945555499988$$$#89\",\n    \"99999$$##$8999988899998$$9999999998888888999999989999988888888944555555999945555449988#$#8\",\n    \"889998889999988$$$889988$99999998999999999888899999888888888889999555559989444999944998#0$\",\n    \"889999999999988$$$8899999999999945321}++77149899499888888888888994555554945499999994499988\",\n    \"8999989988$89998889988$8999999457)))+)))_))))7}3449988988888888999555555599554999994499944\",\n    \"88998$899988988899980##089999453=)_____;*_))))))}44449998888888994555555999945494555998944\",\n    \"99998$$899999$$##898&00&8999995317++))))))))___))79945554988889455455554988884449945494549\",\n    \"9999988888998$##&#98###0899999951}}}111233317)___+4999455599945559945554988884988899554998\",\n    \"999999999999998$$089$#$#89999452}}}111133332}+)_)19999999554444555445555988894888889449999\",\n    \"8998888899889998$#$98$$$89994517==7}7}}12322}+)))59898999449989945555555998899888899944444\",\n    \"88888889998899998889998899994427=7}21}=7}}12})))}99994444449998999455555999949888999899499\",\n    \"888888949989999999998899999443}7}}1331112222}++7999955599994449999945555455554989998889499\",\n    \"888888444444444444988888999445}7=7}}111323321111455554998889444999455555599994444499989454\",\n    \"988999444999945554988888944445}==7}11111}77}1235554999988888945545555555499989444499444554\",\n    \"444454499899955455599988944455177=}}}}11===}5994559999998888994555555555499994444499889455\",\n    \"4455499888999449955599984445555}7}}}}}}1===}5945554998998888894549455555499995549449888999\",\n    \"994449998899449994555999455525}7=+++=}}1=+=73553333359998884555549955555499955549955988888\",\n    \"99455499898949988944554931}}137===+=}111}=712555555555499945553599455555599555599945988888\",\n    \"99455549999449995531}+)))__)}51=====7}1111251)=}259945555555955555555333595555549994498888\",\n    \"94555354994554517+)_;;;;;;;_7542777=7}111335}_*;;_)713555499555535445333553595555999598889\",\n    \"55549945552=))_;;;;;;;;;;;;_3354311}}}}71552)_*;;;;;;;_)7155544455545533333555455554549999\",\n    \"5499999532)*;;;;;;;;;;;;;;;_13355521}125412}_*;;;;;;;;;;;;_)734995555533333549999455444998\",\n    \"444444445+*;;;;;;;;;;;;;;;;;;;*)++=}13544}+_;;;;;;;;;;;;;;;;;_}494455533354999999999449988\",\n    \"444444441);;;;;;;;;;;;;;;;;;;;;)77=++)+127+*;;;;;;;;;;;;;;;;;*)344445553354449999999499998\",\n    \"99999994=;;;;;;;;;;;;;;;;;;;;;;_=777}}7}7=+;;;;;;;;;;;;;;;;;;;*}44445555355499998899949888\",\n    \"99494444+;;;;;;--;;;;;-----;;;;;+7=77777=+);;;;;;;;;;;;;;;;;;;;74454455555555999894444498$\",\n    \"99444445);;-;;;---;;---------;;;)=+=777=++);;;;;;;;;;;;;;;;;;;;754444555554555494449444988\",\n    \"4999444}_;;-------;;--------;)7}}}}1}}7+++);;;;;;;;;;;;;;;;;;;;744444555554445554998944988\",\n    \"4444445);;;;;------;-------_++}}}}}}}=+++++;;;;;;;;;;;;;;;;;;;;}44444555554449454999944988\",\n    \"4444441_;;;;;-------------_++=7}}7}}7++)+++;;;;;;;;;;;;;;;;;;;*}44444455554445555499944499\",\n    \"944444+;;;;;;;------------)+++=}}77}+))))++;;;;;;;;;-;;;;;;;;;_144444555554453545549945999\",\n    \"994443_;;;;;-------------;_)+++_;;;))))))));;;;;;;;--;;;;----;;}54552112555554999955555499\",\n    \"999947;;;----------------;__;;----;;)))))))_;;;;;;---;;;;------;}32}++=7}25444999955333599\",\n    \"55552_;;--;;;-------;;));;;;-----;;;_))))+)*;-;;;;---;----;;;;;;*=+)++7}125444445455533545\",\n    \"5555+;;;--;;--------;;------------;;_))))))_;--;;;---;;--------;_))++=}}125454445555535555\",\n    \"5555}_;;;-------------------------;;;)))))));;--;;---;;--------;)))))+}1154444445555555555\",\n    \"555551_;;;---;;-------------------;;;*)_)))_;;-----------------;_))+))+1544444445555555555\",\n    \"3555552);;;;;;;;-;;----------------;;*)))))__;;;----------::-----;;;;;;)344444444555555555\"\n  ],\n  [\n    \"88$8999888888888#$$889999994449444499445499888888888888994999999455555554998988888##088999\",\n    \"9999999888888888889999988999999945549999444488888888999999944555499555545554498888$0000$89\",\n    \"9999988$$#$$899999999988$999999444998888994499888$8899999888894554955559945555499988$$$#89\",\n    \"99999$$##$8999988899998$$9999999998888888999999989999988888888944555555999945555449988#$#8\",\n    \"889998889999988$$$889988$99999998989998889888899999888888888889999555559989444999944998#0$\",\n    \"889999998999988$$$889999999999999453321123498899499888888888888994555554945599999994499998\",\n    \"8999989988$89998889988$899999995}++=+)___))+7354449988988888888999555555599554999994499944\",\n    \"88998$899988988899980##089999453=)___)__*_)))))=594449999888888994555555999945494555998944\",\n    \"99998$$899999$$##898&00&$9999953}+))__________)))39945554988889455455554988889549945494549\",\n    \"9999988888998$##&#98###0899994451}}}}}1111}7+___)+9999455599945559955554988884988899554998\",\n    \"999999999999998$$089$#$#89999551}}}111123332})__)19999999554494555445555988894888889449999\",\n    \"9898888899889998$#$98$$$89994517==}}}11333327))))59898999449989995555555998899888899944444\",\n    \"8888888999889999888999889999451===71}==7}1117)))}99994444449998999455555999949888999899499\",\n    \"888888949989999499998899999452}7}}1331}}1121=))7999955599994449999945555455554989998889499\",\n    \"888888444444444444988888999452}777}111122332}}11455555998889444999455555599994444499989454\",\n    \"988999454999945555988888944442777}111111}777}125554999988888955555555555499989444499445554\",\n    \"444555499899955455549988944452}7==7}}}11}==71994559999998888994555555555499994444449889555\",\n    \"445549988899954995559998445555177}}}}}}1}==71945354998998888894549455555499995549459888999\",\n    \"9945499988994499945559994553237==+==77}17++=}533333359998889555349955555499955549955988888\",\n    \"99555499898949988954559932}73}===++=}111}7=}3555355335599945553599455335599555599945988888\",\n    \"99555559999449995533}=)))_))52======}1111122+}55559945555335953355553333595555549994498888\",\n    \"945553549945553}=)__;;;;;;;_35377===}}11}235)__)+}1544555599535335445333553595555999598889\",\n    \"33549443337+)_*;;;;;;;;;;;;73545}}}7}}771552_;;;;;;_)=135555554455545333333555455554548999\",\n    \"549999953+*;;;;;;;;;;;;;;;;73554531}}}254317_;;;;;;;;;;;)=15499995555333333349999455544998\",\n    \"444444457*;;;;;;;;;;;;;;---;;;))+=}1354443=_;;;;;;;;;;;;;;;_+5499445553333599999899944998$\",\n    \"44444442);;;;;;;;;;;;;;;;;;-;;;=+)))+=13}7=_;;;;;;;;;;;;;;;;;+4444445533354449999989999988\",\n    \"99999947;;;;;;;;;;;;;---;;;;;;;)7====777=+=*;;;;;;;;;;;;;;;;;_3444455553335499998899999888\",\n    \"9949444=;;;;;----;;;;--------;;_==+===7=+++;;;;;;;;;;;;;;;;;;;144555555533335998894444498$\",\n    \"9944445);;-------;;;---------;;_+======++++;;;;;;;;;;;;;;;;;;;1455455555554535494449444988\",\n    \"499944}_;;--------;;-------;)=}}}}}7===+)++;;;;;;;;;;;;;;;;;;;1444444555554455554998944988\",\n    \"444443);;;;--------;------;)+=}}}}}}=++))++;;;;;;;;;;;;;;;;;;_2444444555554449554999944988\",\n    \"44445=;;;;;;;------------;)++=7}}}}}+)))))+;;;;;;;;;;;;;;;;;;_3444444555554455555499945499\",\n    \"99443_;;;;;;;-------------)+++=}}7=+))))))+;;;;;;;---;;;;;;;;)5444444555554553545559955999\",\n    \"9944=;;;;-----------------_)++)_--;__)))_));-;;;;;---;;;-;;;;+5544444455555554999955555499\",\n    \"9942_;;------------------;;;;;----;_))))))+;-;;;;------------_1544444455555544999955333599\",\n    \"555);;----------------;+;-;;------;;_))))));--;;;-------------_15444552}=+=}35455555533555\",\n    \"557;;----------------;;-----------;;_))))));;--;;--------;;-;;;)2553}=++)+7}13455555535555\",\n    \"552_;----------------------:------;;;_)))));;-------------------)++)+++++=7}15455555555555\",\n    \"5552_;;----------------------------;;__))));;;-------------------_)++++++7}}15455555555555\",\n    \"35551);;;-;;;;---------------------;;__)_));;;;---;----------:---_)++++))+}154445555555555\"\n  ],\n  [\n    \"88$8999888888888#$$889999994449444499445499888888888888994999999455555554999988888##088999\",\n    \"9999999888888888889999988999999945549999444498888888999999944555599555545554498888$0000$89\",\n    \"9999988$$#$$899999999988$9999994449988889944998$8$88999998889945549555599455554999888$$$89\",\n    \"99999$$##$8999988899998$$9999999998888888999999989999988888888944555555999945555449988$$#8\",\n    \"889998899999998$$$889988$99999998989998889888899999888888888889999555559989444999944998#0$\",\n    \"889999999899988$8$889999999999999452321123498899499888888888888994555554945599999994499998\",\n    \"8999989988$8999888998888999999957))=+))_)))+}354449988988888888999555555599554999994499944\",\n    \"88998$899988988899980##089999452+)___)____)))))7499449999888888994555555999945494555998944\",\n    \"99998$$899999$$##898&00&$99994527+))______)__)))+49945554988889455455554988889549945494549\",\n    \"9999988888998$##&#98###0899945451}}}}11111}7+___)}9999455599945559945555988884988899554998\",\n    \"999999999999998$$0898#$#89994551}}1111123332}))_+49999999554494555445555988894888889449999\",\n    \"8998888899889998$#$98$$$89994517==}}}12333327+))}99898999449889995555555998899888899944444\",\n    \"888888899988999988899988999955}===71}==7}1117))+599994444449998999455555999949888999899499\",\n    \"888888949989999499998899999452}7771331}}1122=)+5999955599994449999945555455554989998889499\",\n    \"888889444444444444988888999452}7=7}1111233331113455554998889444999455555599994444499989454\",\n    \"998999454999945555988888944451777}111111}777}155554999988888945555555555499989444499945554\",\n    \"44455549989995545554998894445177==7}}}11}==7}494559999988888894555555555499994544499889555\",\n    \"445549988899954995559998445555177}}11}}1}===}445354998998888894549455555499995549459888999\",\n    \"99454999899944989455599945533177=+=77}}17=+=}533333359998889555549955555499955549955988888\",\n    \"99555499898949888954559431}}5}===++=}111}}7}3555355335499945553599455335599555599945988888\",\n    \"995535599994499453217+))___+51======}11111227155354945555355953355553333595555549994498888\",\n    \"9553535599455517+)_;;;;;;;;)541777==}}1}}135+__)=}3544555599533335445333553595535999598889\",\n    \"3354945331+))_;;;;;;;;;;;;;}3543}1}7}}7}2555)*;;;;;)+1355555554455545333333555455554548999\",\n    \"549999451);;;;;;;;;;;;;;;;;}3554531}}134451}_;;;;;;;;;;)=155449995555333333349999455544998\",\n    \"44444443);;;;;;;;;;;;;;;;--;;*)++7}1344443=);;;;;;;;;;;;;;_+39999445553333599999899944998$\",\n    \"5444445)_;;;;;;;;;;;;;;;;;;-;;_==+)++723}7=_;;;;;;;;;;;;;;;;)54944445533354449999989999998\",\n    \"9949945_;;;;;;;;;;;;;;---;;;;;;+7====77}7+=_;;;;;;;;;;;;;;;;_14994455533335449998899999888\",\n    \"4944442;;-;-----;;;;;------;;;;_==+===77=++_;;;;;;;;;;;;;;;;;}444555555333335998894444998$\",\n    \"4944441;;--------;;;-----;;))+++7}7+==7=+++_;;;;;;;;;;;;;;;;;}4455555553355535494449944988\",\n    \"494445+;;--------;;;----;)7}}}}}}=+++==++++_;;;;;;;;;;;;;;;;;14444445555554955554998944988\",\n    \"444457_;;;;-------;;----_+=7}}}}}}+++++))++_;;;;;;;;;;;;;;;;_24444445555554449559999944988\",\n    \"44442_;;;;;;-------;;--;)++7}}}}}7+++)))+++_;;;;;;;;;;;;;;;;_54444445555554455555499955499\",\n    \"4445+;;;---;-----------;)+++7}7+))))))))))+;;;;;;;--;;;;;;;;)54444444555554553545559955999\",\n    \"4441_;;;----------------_))++_;--;))))))_)+;;;;;;---;;;;;;;;+54444444555555555999955555499\",\n    \"445);;------------------;__;-----;;)))))))+;-;;;----;;---;;;_34444444555555544999955333599\",\n    \"55+;;-----------------;--;;------;;_))))))+;--;;---;;;------;+5444445532}}2544455555533555\",\n    \"51;;----------------;;_-----------;;)))))));---;---;--;;;;;;;;}554551=+++=}254555555533555\",\n    \"53);;---------------------:-------;;_))))));;------;----------_1117+++++=7}154555555555555\",\n    \"553);;;-----;---------------------;;___))));;-----;;------------_)++++++=7}254555555555555\",\n    \"3553+;;;;;;;;---------------------;;*_))_));;;----;------------;))++++++7}1354445555555555\"\n  ],\n  [\n    \"8888999888888888#$$889999994449444499445499888888888888994999999455555554999988888##088999\",\n    \"9999999888888888889999988999999945549999444498888888999999944555599555545554498888$0000$89\",\n    \"9999988$$$$$899999999988$9999994449988889944998$8$8899999888994554955559995555499988$$$$89\",\n    \"99999$$##$8999988899998$$9999999998888888999999989999988888888944555555999945555449988#$#8\",\n    \"889998899999998$$$889988$99999999994999989888899999888888888889999555559989444999944998#0$\",\n    \"889999999999988$$$88999999999445321}}7++7}248899498888888888888994555554945599999994499998\",\n    \"8999989988$89998889988889999945})_)))))__)))+=14449988988888888999555555599554999994499944\",\n    \"88998$899888988899980##089994527)______;;__))))=494449998888888994555555999945494555998949\",\n    \"99998$$899999$$##898&0#&899945317=+)))))))))___)799945554988889455455554988889449945494549\",\n    \"9999988888999$##&#88##$089993352}}}112223331+__)299899455599945559945554988884988899554998\",\n    \"999999999999998$$089$#$#8999553}}}11111233327)))599998999554994555445555988899888889449999\",\n    \"9998888999889998$#$98$$$899455}===7}}}}12321=))=999888999449888995555555998899888899944444\",\n    \"888888899988999988899998999553}===712}=7}}117)=4989894444449998999455555999949888999899499\",\n    \"8888889499899994999988999945317777}2321122227719999955599994449999945555455554989998889499\",\n    \"888889444444444444988888994452}7==7}111223332135455554998889444999455555599994444499888454\",\n    \"9989994549999455559988889444527==7}11111}77=}555554999988888945555555555499989444499444554\",\n    \"444555499899955455549988944553}7==7}}}}1}==7}994559999988888994555555555499994544499889555\",\n    \"445549989899954995554998455552}777}}}}}1}==7}945354998998888894549455555499995549449888999\",\n    \"99454999899944999455599955315}==+++=7}117=+=}533333359998894555549955555499955549955988888\",\n    \"995554998994499989555532}=+=37===++=}111}}=}2555355335499945553599455335599555599945988888\",\n    \"995535599994499431}+)___;;;)537=====}1111122)+}2354945555355953355553333595555549994498888\",\n    \"9553535599531}=)_*;;;;;;;;;)345}7}77}}}}7335)_;;_)7254555599533335445333553595535999598889\",\n    \"335494533=)_;;;;;;;;;;;;;;;=3545211}}}}25453_;;;;;;;*)=15555554455545333333555455554548999\",\n    \"54999943+_;;;;;;;;;;;;;;;;;)}123331}15444317_;;;;;;;;;;;_+}3449995555333333349999455544998\",\n    \"4444444}_;;;;;;;;;;;;;;;;;--;;_+++=7715452=_;;;;;;;;;;;;;;;_19999445553333599999899944998$\",\n    \"4444443_;;;;;;;;;;;;;;;;;;;;;;;+7=77==71}==_;;;;;;;;;;;;;;;;)54994445533354449999989999988\",\n    \"9949941;;;-----;;;;;;;;;;;;;;;;)===7}}}7=+=_;;;;;;;;;;;;;;;;_3499445553333549998888999988$\",\n    \"4944447;;-------;;;;;;----;;;;;;=7==7}}7+++*;;;;;;;;;;;;;;;;*2444555555333335998894449998$\",\n    \"494444=;;--------;;;;;--;_))))_;)7=+=77=+++_;;;;;;;;;;;;;;;;_34455555553355535494449944988\",\n    \"494445+;;--------;;;-_+7}}}}7+;;;+=++==++++;;;;;;;;;;;;;;;;;_34444445555554945554998944988\",\n    \"444457*;;;--------;;;+=7777}}=_;;)=++++++++;;;;;;;;;;;;;;;;;_34444445555554499459998944988\",\n    \"44451;;;-;;;-------;_+==777}7+_;;*+++++)))+;;;;;;;;;;;;;;;;;_54444445555554445555499944499\",\n    \"4445);;;;--;--------;)++=7777);;;;)+))))))+;;;;;;;-;;;;;;;;;_54444444555554553544549944989\",\n    \"444}_;;;-------------_)++=+*----;;*)+))))));;;;;;--;;;;;;;;;;14444444555555554999955555499\",\n    \"443);;---------------;_)));-----;;;_)))))))--;;;---;;----;;;;75444553555555544999955333599\",\n    \"55);;;--;;------------;;;------;;;;;)))))))--;;;---;--;;-;;;;_5552}77}35555444555555533555\",\n    \"52;;;--------------;_-;;;-------;;;;_))))));------;---;;;;--;;7}=++=7}15455454555555533555\",\n    \"557;;------------;_;------:-----;;;;))_))));------;---------;_)+++++7}13455454555555555555\",\n    \"555}_;;----;;--------------------;;;_))))));;----;;--------;_)+++++=7}25455455555555555555\",\n    \"55551_;;;;;;;--------------------;;;;)))_));*----;----------_))+++)+}135455555555555555555\"\n  ],\n  [\n    \"8888999888888888#$$889999994449444499445499888888888888994999999455555554999988888##088999\",\n    \"9999999888888888889999988999999944449999444498888888999999944555499555545554498888$0000$89\",\n    \"9999988$$$$$899999999988$9999994449988889944998$8$8899999888994554955559995555499988$$$$89\",\n    \"99999$$##$8999988899998$$9999449999988888999999989999988888888944555555999945554449988$$#8\",\n    \"889998899999998$$$889998$99994495533321254988899999888888888889999555559989444999944998#0$\",\n    \"889999999999988$$$8899999999451==)++))_)))+13499498888888888888994555554945499999994499998\",\n    \"8999989988$89998889988889994531+_____)____)))+}5449888988888888999555555599454999994499944\",\n    \"88998$8999889888999800#0899433}+))________)))))1999449998888888994555555999945494555998949\",\n    \"99998$$899999$$##898&##&8995}}1}}}}}}}111117)_)3989945554988889455455554988889449945494549\",\n    \"9999988888999$##&#98##$089937}2}}}1111223331=))3988899455599945549945554988884988899444998\",\n    \"999999999999998$$0898#$#8995122==7}111123331=)+4989998999554994555445555988899888889449999\",\n    \"89988889998899988$$98$$$894553}====71}=7}111=+59988898999449888995555555999899888899944444\",\n    \"888888899988999988899998995152}7777}231}12227}49889894444449998999455555999949888999899499\",\n    \"888888949989999499998899994231}77771122222211249989955499994449999945555455454989998889499\",\n    \"888889444444444444988888994452}777}}121313323555455554998889444999455555499994444499888454\",\n    \"998999444999945555498888944445}7===71111}7771955554999988888945545545555499989444499444554\",\n    \"444555499899955455549998444552}7777}11117==}3994559999988888894555555555499994444499889455\",\n    \"44554998989995499555499945535}=====7}}}2===73945554998998888894549455555499995549449888999\",\n    \"994549998999449994555999317=5}==++++}111=++72553333359998894555549955555499955549955988888\",\n    \"995554999994499994531}=+)__)51===++=}111}77}=}25555555499945553599455555599555599945988888\",\n    \"9955555999955452}+)_*;;;;;;*243}7777}}1}}12}_**_)=1345555355955355553333595555549994498888\",\n    \"94555355952}=))_;;;;;;;;;;;;1545}}1}}}}}353}_*;;;;;;_+}25499555335445333553595555999598889\",\n    \"335494531)_;;;;;;;;;;;;;;;;_13544521}134455=_**;;;;;;;;;_+}3554455545533333555455544548999\",\n    \"54999943);;;;;;;;;;;;;;;;;;;))+7=7}}2544411)_*;;;;;;;;;;;;;_249995555333333349999455444998\",\n    \"4444444=_;;;;;;;;;;;;;;;;;;;;;;+}=++==}327+*;;;;;;;;;;;;;;;*)4999445553333499999899944998$\",\n    \"4444443_;;;;;;;;;;;;;;;;;;;;;;;_7}}}}}}}7=+*;;;;;;;;;;;;;;;;_34994445533354449998989999988\",\n    \"9949941;;;;----;;;;;;;;;;;;;;;;;+}}7}}}}=++;;;;;;;;;;;;;;;;;_1499445553333549998888999988$\",\n    \"494444};;;;;;---;;;;;;;;;;;;;;;;_=}7=}}7+++;;;;;;;;;;;;;;;;;*1444555555533335998894999998$\",\n    \"494444};;---;----;;;;;;;;;;;;;;;;+}7==7=+++;;;;;;;;;;;;;;;;;*14455555553354535494449944988\",\n    \"494444=;;--------;;;-;)))*;;;;;;;)}7===++++;;;;;;;;;;;;;;;;;*14444445555554945554998944988\",\n    \"44444}_;;;-------;*)7}}=);;;;;;;;*=7++++)+);;;;;;;;;;;;;;;;;*}4444445555554499459998944988\",\n    \"44445);;;;;;----;+7=====+);;;;;;;;)=++)))+);;;;;;;;;;;;;;;;;;=4444444555554445555499944499\",\n    \"4444}_;;;;;;----_+++++===);;;;;;;;_++))))));;;;;;;;;;;;;;;;;*+4444444555554555544549944988\",\n    \"9445);;;--------_)++++===);;;;;;;;;)++)))));;;;;;;;;;;;;;;_))+5444444555555554999945555499\",\n    \"994}_;--;;;----;;*))++++*--;;;;;;;;_)+)))));-;;;;;;;;--;;_)+=7}254444555555544999945533599\",\n    \"553_;;;;;;;---;---;_))+_-----;;;;;;;)))))));-;;;;;;;---;_)++=}}135444555555444555455533544\",\n    \"55};;;-;;;;--------;;;;------;;;;;;;)))))));---;;;;---;;))+=77}135444555555445555555555555\",\n    \"555=*;---------;;;;;;;--------;;;;;;_))))));-----------*))+=}}1354444455555555555555555555\",\n    \"55551_;;;;;;;-;__;-------------;;;;;;)))_));;----------;_)))+}2554444455555555555555555555\",\n    \"35555}_;;;;;;;------------------;;;;;___)))__-------:----;;;;_}544444555555445555555555555\"\n  ],\n  [\n    \"8888999888888888#$$888999994449544499445499888888888889994999949555555554999988888#0088999\",\n    \"9999999888888888889999988999999945544999454498888888999449944555599555545554498888$0000$89\",\n    \"9999998$$$888999999999888999999454999888944499888888999998888945549555599455554999888$$$89\",\n    \"99999$$##$8999988899998$89999445355544499999999989999998888888945555555999955555549988#$#8\",\n    \"889998899999998$$$88999889994311}+)=+))++7159999999888888888889999555559989544999954498#0$\",\n    \"889999999999988$88889999994531)______))__))+=599499888988888888994555554945599999944449998\",\n    \"89999899888899988899888899531=)_*;;;;*_**_)))+54449988988888888999555555599554999994499944\",\n    \"88998$899988988999980###89517+++++++++=7777)))59994449999888888994555555999945494555998944\",\n    \"9999888899999$$##898&##0893+)=}}}}1122223331+)58888945554988889455455554988889449945494549\",\n    \"9999988889999$##&#98##$#893++7}}7}}111223331++58888899455599945559945554988884988899554998\",\n    \"999999999999998$$0898#$$895}=7=++==7}1}}}}11=598889998999554444555445555988894888889449999\",\n    \"99988889998899988$$98$8$951}1}7777==}21}}111}598888898999449889945555555999849888899944444\",\n    \"888888899989999988899998941}1}77}777}12233221498989894444449998999455555999959888999899499\",\n    \"8888889449899994999988999451}}7777==7}1112125499999955599994449999945555455554989998889499\",\n    \"88888944444455555549888894445277===7}11223355555455555998889454999455555599994544499989454\",\n    \"999999555499955555499988944551}===+=7}117==}3955355999988888955555555555499989444499445554\",\n    \"54555549999995555554999945533}=+====}111===75994359999998888994555553355499994544449889555\",\n    \"455559999899954945554999531737=+++)+=}11++=75953334999998888895549453555499995549459888999\",\n    \"99454999999945999555553}+_;_1}=+++++711}=++=}713333359999894553349955555499955549955988888\",\n    \"99555499999454999317)_*;;;;;=517====}}1}==7});;;_+7135499955533549453333599555599945988888\",\n    \"99553359999532}=)_;;;;;;;;;;_253}7}}}}}=111=*;;;;;;;;_)}2335953355553333545355559995498888\",\n    \"9533533541=));;;;;;;;;;;;;;;)2545321}7}3533=*;;;;;;;;;;;;)+2533333445333553595335999598889\",\n    \"33544453}_;;;;;;;;;;;;;;;;;;_12322211354455);;;;;;;;;;;;;;;_154453545333333555453354549999\",\n    \"55999943_;;;;;;;;;;;;;;;;;;;-;;)++=7}}}13}}_;;;;;;;;;;;;;;;;+49995553333333349999455544998\",\n    \"4455544=;;;;;---;;;;;;;;;;;;;;;;+777}}}}7+);;;;;;;;;;;;;;;;;_54994455333335999998999449988\",\n    \"5444445_;;------;;;;;;;;;;;;;;;;)=77}}}}=+);;;;;;;;;;;;;;;;;_54944455533354449999989499998\",\n    \"9949445;;--------;;-;;;;;;;;;;;;;+77}}}=++);;;;;;;;;;;;;;;;;_54994455533335549998899949988\",\n    \"4444443;;---------;--;;;;;;;;;;;;)77}}=+++);;;;;;;;;;;;;;;;;_5444555553333335999894444998$\",\n    \"4444441;;-------------;;;;;;;;;;;;=}}=++++);;;;;;;;;;;;;-;;;_24555555533355535494449944988\",\n    \"494445+;---------------;;;;;;;;;;;+7=+++)+);;;;;;;;;;;;-;;;;;}5544445553354455554998994988\",\n    \"545451*;;---------------;;;;;;;;;;_=+++))+);;;;;;;;;;;;-;;;;;+5444445555554449459999944988\",\n    \"54545+;;--------;++_-----;;;;;;;;;;))))))));;;;;;_))))_;;;;;;+5444445555554455555499944499\",\n    \"44445);;;-----;)1}=);----;;;;;;;;;;))++))));;;;;;_)+=}}7+_;;;)5555545555555533544549944988\",\n    \"44441_;;-----)}}}}}}+;-----;;;;;;;;_))))))_;-;;;;_)+=7}}}7+_;)5445555555555554999955555499\",\n    \"4945);------)++++=}}}_------;;;;;;;;))))))_;---;;)+=777}}7+_;;1444555555555544999955333599\",\n    \"5551_;;;;;;-;)++++7}}=;------;;;---;))))))_;-----;)=7}}}}=);;;_544445555555555555555533555\",\n    \"5557;;-;;;;;_*_)))+=}+;-------;-----))))))_;-----:-*)+==+)*;;)1445555555555555555555533555\",\n    \"5553=;;----;;-;;;_))_----------;----_)))))_;;----:--;;;;;;;;)54444555555555555555555555555\",\n    \"55555};;--;;;---;;------------------_))))))_;-------;---;;;)344455545555555555555555555555\",\n    \"335553+;;;;;;_);--------------:--;--;;;;;)__;----;;-;;--;_73444555555555555555555555555555\"\n  ],\n  [\n    \"8888999888888888#$$88999994444954449944549988888888888899499999945555555499898888800088999\",\n    \"9999999888888888889999988999999945549999444498888888999999944555499555545554498888$&0&0#89\",\n    \"9999998$$$$$899999999988$9999995554999999444998$8$8899999888994554955559995555499988$#$#89\",\n    \"99999$###$8999988899998$8994531}1}7}}==}1259999989999988888888944555555999955555449988###8\",\n    \"889998899999998$$$88999889552=)______)))))+}9999999888888888889999555559889544999944998#0#\",\n    \"889999999999988$$$889999932}}+)__;;*;;__*_)+2999498888888888888994555554945499999944499998\",\n    \"8999989988$899988899888857+))))_)))))))++++)=444449888988888888999555555599554999994499944\",\n    \"88998$899988988999980#$$93)__+=7}}1222333327+599899449998888888994555555998945494555998949\",\n    \"99998$8899999$$##8980###83)_)7}}}}1122233321=598888945554988889455455554888889449945494549\",\n    \"9999988889999$##&#98##$$93))+777=777111111115988888899455599945549945554988884988899454998\",\n    \"999999999999998$$0898#$893=)+77==7}==}11}1119998889998999554444555445555988899888889449999\",\n    \"89988889998899988$$98$8891}=7777}11}=7122333999888889899944988894555555599889988$899944444\",\n    \"88888889998899998889999895}}7=777}77==}122254999889894444449998999455555999949888999899499\",\n    \"8888889499899994999988994453}}777777711222355499999955599994449999945555455554989998889499\",\n    \"88888944444445555499888894452}===7===7}213555555455554998889444999455555599994444999888454\",\n    \"998999555499955555499988944537=++==7}}1177=73955355999988888955555555555499989444499944554\",\n    \"44555549999995555554999945313==++++++711===75994559999998888994555553555499994544499889555\",\n    \"4455499998999549455549941=))17=+++++7}11++=71}12354999998888895549453555499995549449888999\",\n    \"9945499999994599955317)_;;;;=3}=====7}17+++==*;;__+=15499894553549955555499955549955988888\",\n    \"99555499999454952}+_;;;;;;;;_25177}}}}1=7=71)*;;;;;;;;_+}553533349453333599555599945988888\",\n    \"99553359999317)_;;;;;;;;;;;;;}3451111}=}3111_;;;;;;;;;;;;;)1453355553333595555549995498888\",\n    \"9553535547)_;;;;;;;;;;;;;;;;;73544431}34433);;;;;;;;;;;;;;;)555335445333553595335999598889\",\n    \"335494537_;;;;;;;;;;;;;;;;;;;;+}1}77}11}253);;;;;;;;;;;;;;;;}44455545333333555455554548999\",\n    \"55999943);;;;;;-;;;;;;;;;;;;;;;;+7}}1111}}1_;;;;;;;;;;;;;;;;749995555333333349999455544998\",\n    \"44444447;;;;;----;;;;;;;;;;;;;;;_=7}}}}}++);;;;;;;;;;;;;;;;;=4999445553333599999889944998$\",\n    \"4444445);;--------;;;;;;;;;;;;;;;+7}}}}=++);;;;;;;;;;;;;;;;;+44994445533354449999989999988\",\n    \"9949945);----------;-;;;;;;;;;;;;_=7}}=+++);;;;;;;;;;;;;;-;;)5499445553333549999888999988$\",\n    \"4944443_;----------;--;;;;;;;;;;;;+7}=++++);;;;;;;;;;;;--;;;_3444555553333335998899999998$\",\n    \"444444=_;--------------;;;;;;;;;;;)7=+++++);;;;;;;;;;;;-;;;;;14455555533355535494449944988\",\n    \"494445);;---------------;;;;;;;;;;;++)+)))))+++++)*;;;--;;;;;14444445555354945554998994988\",\n    \"444451;;;----------------;;;;;;;;;;))))))))_)+=77}}7);--;;;;;74444445555554499459988944988\",\n    \"444447;;;-----------------;;;;;;;;;_)))))))))+=}}}}}=_;;;;;;;74444445555554445555998944499\",\n    \"44444);;;------------------;;;-----;)))))))_)+77}}}}=_;---;;;)5555445555554555594449944988\",\n    \"99445_;;-----;7=);----------;;;----;))))))_;;)+7}}}}+;;;;;;;;;_345555555555554999955555999\",\n    \"9944};;----;*71}}7+_---------;;;----))))))_;---;)+==_;;;;;;-;;=544455555555559999945333599\",\n    \"5555)_;;;;;71}111}}}_---------;;;---))))))_;-----;_;;;;;;;;;)25444445555555445555555533555\",\n    \"5555);-;;;;)++=}11117;---------;;;--))))))_;--;--;--;;;;;;;)344445555555555555555555533555\",\n    \"55553+;;;;;_))+=}111};-------:--;;;;_)))))_;---;--;--;;;;_=3444444544555555555555555555555\",\n    \"555553_;---;;_))+7=);------------;;;;;;;_)_;------;;;)+13544444444444555555555555555555555\",\n    \"3555531);;;;;--;;;----------------;;;-_;_)_;----;-;255444444444444444555555555555555555555\"\n  ],\n  [\n    \"8888999888888888#$$88999999444954444944549988888888$888999999999455555554998888888&&&$8999\",\n    \"9999999888888888889999988999999955554999444498888$88999999944555499555545554498888#&&&&#89\",\n    \"9999988#$#$$899999999988$994552771}}1}}11254998$8$8899998888894554955559995555499988$###89\",\n    \"99999$#00#8999988899998889453})))_____))))=599998999998$$$8888944555555999944554449988##08\",\n    \"889998899999998$$$8899989517=)_****_*;*___)399999998888888888899995555598894449999449980&#\",\n    \"889999998999988$8$889995=)))___________)+++}9899498888888888888994555554945499999994499988\",\n    \"8899989988$8999888999889=____)++7}112113331}4949999888988888888999555555599454999994499994\",\n    \"88998$899988988999980#881)__)+7}}}11233333315498899499998888888999555555988994494555998949\",\n    \"99998$$899999$$##8980#$81)__)+7}7}}}}12221124988888944544988888455455554888889449945494449\",\n    \"9999988889999$##&#98#$882))))777=7}}77}11}129988888899445599945549945554988884988899444998\",\n    \"999999999999998$$0898#$83}=++7}7}}11177}23339998889898999554994555445555988899888889449999\",\n    \"89988889998899988$$98$8841}}77777}11}==71235999888888899944988899555555598889988$899944444\",\n    \"8888888999889999888999989531777777}}}}1122354998889894444449988899455555999949888999889499\",\n    \"8888889499899994999988994445}===77}}77}111355499989955499994449898945555455454989998889499\",\n    \"88888944444455545449888894451======7}}1113455555455554998889444999455555599994444999888444\",\n    \"98899945549995555549998944551====++++7}}7==71955555999988888945545555555999989444999944554\",\n    \"44455549999995555554999937)+1==++++=7}11===717}1254999998888995555555555499994444499889455\",\n    \"4455499898999549453553}+_;;*117=====7}1}++=7}_;;;_)+}3498888895549455555499995549449888999\",\n    \"994549999999559952}+_;;;;;;;)53}=7}}}}}7=++=7_;;;;;;;;_)=294555349955555499955549955988888\",\n    \"995554999994531=)_;;;;;;;;;;;7552}}11}=71777);;;;;;;;;;;**+555359945533359955559994598888$\",\n    \"995533599517)_;;;;;;;;;;;;;;;+2544531}15421=_;;;;;;;;;;;;;_1455555553333595555549995498888\",\n    \"955353551);;;;;;;;;;;;;;;;;;;*155311111}}33=_;;;;;;;;;;;;;*=5555354453335535955559894988$9\",\n    \"33549453);;;;;;;;;;;;;;;;;;;;;;_+=7}}}}}}55+*;;;;;;;;;;;;;;)449455545533333555455554548999\",\n    \"55999941_;;;;;;;;;;;;;;;;;;;;;;;)7}}}}}==71);;;;;;;;;;;;;;;)499995555533333349999455449998\",\n    \"4444445);;;;;;;--;;;;;;;;;;;;;;;;+}}}}7++++;;;;;;;;;;;;;;;;_59999945553333499999889949998$\",\n    \"4444445_;;;-------;;;;;;;;;;;;;;;_7}}7+++++;;;;;;;;;;;;;;;;*144999945533354499998989999988\",\n    \"9999941_;;---------;;-;;;;;;;;;;;;+77=++)++;;;;;;;;;;;;-;;;;=4499445553335549998888999988$\",\n    \"999945+;;--------------;;;;;;;;;;;_7+++)))+)))__;;;;;;--;;;;+4494555555333335998899999998#\",\n    \"494443_;;---------------;;;;;;;;;;;)+)))++==7}}}}=_;;--;;;;;)54455555555554535494499949988\",\n    \"99444};;;----------------;;;;;;;;;-_))))_)++7}}}}}+;---;;;;;_54444445555354945544988999988\",\n    \"44445);;;-----------------;;;;;;;--;)))__)++7}}}}}+;----;;;;*24444945555554499459988944988\",\n    \"44445_;;;-------------------;;;;;;-;)))__)+)+7}}}}+;;;;;;;;;;_}544445555554445555998944999\",\n    \"99441_;;;;-------------------;;;;;--))));))---_+=7_;;;;;;;;;;;)545444555554555494449944988\",\n    \"9944}*;--------------------:--;;;;;;_))_;)_----;__;;;;;;;;;;_}5445554555555554999944555999\",\n    \"9995+*;;------)1}+_;-----------;;;;;)))_*));---;;--;_;;;;;;)344444555555555549999945555599\",\n    \"555}_;;;;;;-;)}}}}7});----------;;;;))))_));;---;--;;;;;;*+3444444445555555444555455533544\",\n    \"5552);;;;;-;}1}111}}})-----------;;;))))_));;;----;;;_+}2544444444445555555445555555555555\",\n    \"55555);;;--;_++=}11117;-----------;;;;;;;)_;;;;---)135444444444444444555555555555555555555\",\n    \"55555}_;;--;;_)+=}11})-------------;;*;_;)_;;;;;;;_244444444444444444555555555555555555555\",\n    \"5555532}+*;;;;;_)+7+*--------------;)))+_));-;;;;;;+54444444444444444455555545555555555555\"\n  ],\n  [\n    \"8888999888888888$8$88999994444455454445559988888888888899499999945555555499898888800088999\",\n    \"9999999888888888889999988944533}=}1}2111235498888888999949944555499555545554498888$00&0$89\",\n    \"9999998$$$8889999999998889521}+)_______)))=54988888899999888894554955559995555499988$#$#89\",\n    \"99999$$##$899998889999889527+)_;**___*;___)3449989999998888888945555555999945555449988###8\",\n    \"889998899999998$88889993=)))____________)+}99999999888888888889999555559989544999944498#&#\",\n    \"899999999999988$8889994+______))+=}}122133248899498888888888888994555554945499999944499988\",\n    \"899999998888999888999891_____)+7}}11233333359944449888988888888999555555599554999994499994\",\n    \"88998889998898899998#882)____)+77}11112333125499999449998888888994555555998945494555998949\",\n    \"999988889999988$$898#882)___)+=7777}}}7}21124988888945554988889455455554888889449945494549\",\n    \"99999988899998$$0$98$8837++))+77}}}111}}}2239988888899455599945559945554988884988899454998\",\n    \"9999994444999988$#898$883}77777777}111}==1239998889998999554494555445555988899888889449999\",\n    \"99988889999999988$89888893}}7777777}111}12259998888898999449888995555555998899888899944444\",\n    \"88888889498999998889999894517===777}1}}}}1254999889894444449998999455555999949888999889499\",\n    \"88888944498999449949999444557======7}}1112555499999955549994449999945555455554989998889499\",\n    \"8888894454455555554998884533}=====+++=7}}3555555455355998889454999455555599994444999888454\",\n    \"9999945554949555554999993=+17=======71117===}113335499998888955555555555499989444499445554\",\n    \"5555555999999555535543}+*;;=17=====7}}11====}+**_)+715498889995555353355499994554499889555\",\n    \"4555599999994559531=);;;;;;_13}==777}1}==++=})*;;;;;;*_+1988995349453555499995549459888999\",\n    \"9945499999945317)_;;;;;;;;;;)352}7}11}=}==+=7)*;;;;;;;*__795553349955555599955549955988888\",\n    \"99555599943}+_;;;;;;;;;;;;;;*}354521}7152}7=+*;;;;;;;;;;;_23533349453333599555599945988888\",\n    \"995333547_*;;;;;;;;;;;;;;;;;;+3554531321}12}_;;;;;;;;;;;;*74453355553333595355549995498888\",\n    \"4533533}_;;;;;;;;;;;;;;;;;;;;;)7}}77}}}=+231_;;;;;;;;;;;;;=4555335445333553595535999598889\",\n    \"3354445);;;;;;;;;;;;;;;;;;;;;;;_=77}}}7+=351_;;;;;;;;;;;;;+5544455545333333555455554548999\",\n    \"5599447;;;;;;;;--;;;;;;;;;;;;;;;)7}}}}=++=}+*;;;;;;;;;;;;;+5449995555333333349999455549998\",\n    \"545553);;---------;--;;;;;;;;;;;;+7}}=+++)+*;;;;;;;;;;;;;;_349999945553333499999889949998$\",\n    \"54445=_;;-------------;;;;;;;;;;;_777+++))+_;;;;;;;;;;-;;;;}444944455533354449998989999988\",\n    \"49443_;;;--------------;;;;;;;;;;;+7+++)))+==+))_*;;;--;;;;744499445553333549998888999988$\",\n    \"44447;;;----------------;;;;;;;;;;)+++))_)+++7}}}}7);-;;;;;)54444555553333335998899999998$\",\n    \"4445);;;------------------;;;;;;;;;))+)_;_+)+7}}}}}+;;;;;;;_244555555533355535494449944988\",\n    \"4441;;;;-------------------;;;;;;;;))));-_+)+7}}}}});;-;;;;;+35544445553354945544998999988\",\n    \"545+;;;;--------------------;;;;;;-_))_;-_+*_)+7}}7_;;;;;;;;;*3444445555554499459998944988\",\n    \"445);;;----------------------;;;;;;_))*--_)----_+=+;;;;;;;;;_75444445555554455555998944499\",\n    \"445+;;---------------------::--;;;;___;--_)----;;;--;;;;;;;)344555445555555535494449944988\",\n    \"442_;;-----------------------:--;;;_);;;;_)----;;--;_;;;;;)3444445555555555334999945555999\",\n    \"45)*;;------------;)+)_----------;;___*;;_);----;--;;;*)+}54444444555555555549999945333599\",\n    \"55+;---;--------*)++=7=;----------;____;;_);------_)=1555544444444455555555545555555533555\",\n    \"555};-;--------_+==}}}}+;----------;;-;;-_);;;---;1544455544445555555555555555555555533555\",\n    \"5555);;--------;_)++=}}=;-----------;-;;;_);;;;;;;)544444444444455555555555555555555555555\",\n    \"555551+_;-------;_))+7}+*----------_)__;;));;;;;;;;754444444444444445555555555555555555555\",\n    \"55555551_;--------;_)))*-----------+==+)_));;;;;;;;;15444444444444445555555555555555555555\"\n  ],\n  [\n    \"8888999988888888$888999999455332}7}1131135998888888888899499999945555555499898888800088999\",\n    \"9999999888888888889999988953}}=+_*_*___)))+398888888999949944555599555545554498888$00&0$89\",\n    \"9999998$$$888999999999889517)__;;*_____;__)}49888888999998888945549555599455554999888#$#89\",\n    \"999998$##$899998889999847+____**_________)}4949989999998888888945555555999945555449988###8\",\n    \"88999889999999888888944=__**___))+=7}11112398999999888888888889999555559889544999944498#&#\",\n    \"89999999999998888889995=______)=7}11233533348899498888888888888994555554945499999994499998\",\n    \"899999998888999988999847_**___)==7}1122333339944449888988888888999555555599554999994499994\",\n    \"88998889998898899998$84+__*__)+=777}}}}}12}15499999449998888888994555555998945494555998949\",\n    \"999988889999988$$898$84+)++)))+77}}11111}1139988888945554988889455455554888889449945494449\",\n    \"99999988899998$8#$99888417777=7777}}122177}29998888899455599945559945554988884988899454998\",\n    \"44499944444499888$89888841777===777}}12111139998889998999554444555445555988894888889449999\",\n    \"9998888999999498888998889517====7777}1}}}1159998889898999449888995555555999849888899944444\",\n    \"8888888949899949888999999451========7}1112354999999994444449998999455555999949888999889499\",\n    \"8888894449899944994999945531======+++=7}13535499999955549994449999945555455554989998889499\",\n    \"8888894554555555554999957+17=======77}1212335355453355998889454999455555599994444999888454\",\n    \"9999945554944553355951=_;;+177==777}}1121===7=))+=}349998888955555555555499989444499444554\",\n    \"555555549994933531=)*;;;;;*13}7=77}}}}73}===77_;;;;*_)759899995555353355499994554499889555\",\n    \"455559999994517)_;;;;;;;;;;)352}7}11}=}57+++7=_;;;;;**__3988995349453555499995549459888999\",\n    \"9945499943}+_;;;;;;;;;;;;;;;}354322}71547=+=7+**;;;;;;**+995553349955555599955549955988888\",\n    \"99533557_*;;;;;;;;;;;;;;;;;;+35444312322}+=7+_;;;;;;;;;;_253533349453333599555599945988888\",\n    \"995333}_;;;;;;;;;;;;;;;;;;;;;)}11}7}1}7++=11)*;;;;;;;;;;;}55453355553333595355549995498888\",\n    \"453353);;;;;;;;;;;-;;;;;;;;;;;_=7}7}}}=++}33)*;;;;;;;;;;;}44555335445333553595535999598889\",\n    \"33545+;;;;;;;;------;;;;;;;;;;;)7}}}77+++}53)*;;;;;;;;;;;}55554455545333333555455554548999\",\n    \"55441_;;;------------;;;;;;;;;;;=77}7+++))+7_;;;;;;;;;;;;=55449995555333333349999455549998\",\n    \"5555);;;--------------;;;;;;;;;;)777=+++)_+);;;;;;;;;;;;;)5499999945553333499999889949998$\",\n    \"545}*;;;---------------;;;;;;;;;*=77+++)_*+);;**;;;;;-;;;_34499944455533354449998989999988\",\n    \"495);;;------------------;;;;;;;;+7++++)*;+)_)=}}77=+)_;;*1499999445553333549998888999988$\",\n    \"441*;;;-------------------;;;;;;;_++++)_;;)__))+=7}}117);;)544994555553333335998899999998$\",\n    \"45+;;;;--------------------;;;;;;;))++);-;))_)++=7}}}1}+;;;_254555555533355535494449944988\",\n    \"45_;;;----------------------;;;;;;_)));--;)_;_)++7}}}}7);;;;)55544445553354945544998999988\",\n    \"45);;---------------------:--;;;;;;_)_;--;);-----;_+==);;;;)255544445553554499459988944988\",\n    \"45+;--------------------------;;;;;__;---;);------;__*;;;;_2555554445555354455555998944499\",\n    \"57;;--------------------;;;;--;;;;;__;---;);----;;----;;;_25555555445555355535494449944988\",\n    \"2;;;-----------------;_))));---;;;;*;;;;;*);-----;---;;_+235444455555555555334999945555999\",\n    \"5=;;----------------;)++==++);--;;;_;;;;;_);---:-*_)=}333555444445555555555544999945333599\",\n    \"55}*----------------_)++==+7+;--;;;;---;;_+;----;+5445555544444444455555555544555555533554\",\n    \"5557;;--------------;)))++=7+;---;;----;;_+;;;;;;;}544455544555555555555555555555555533555\",\n    \"55553}+_;------------__)))+7)-----;;;;-;;_);;;;;;;)344455544455555545555555555555555555555\",\n    \"5555555});--------;----;;;;-------_)));;;_+;;;;;;;;)54444444444444555555555555555555555555\",\n    \"5555553);;------;;;---------------_+))*;;_);;;;;;;;*14444444444444444555555555555555555555\"\n  ],\n  [\n    \"8888999888888888$8$8899999532}}++)____)_)+739888888888899999999945555555499888888800088999\",\n    \"9999999888888888889999999421+)____________)+48888888999999944555499555545554498888$00&0$89\",\n    \"9999988$$$$$8999999999891=)_______________)}49888888999998888945549555599955554999888#$#89\",\n    \"99999$$##$89999888999991)______)))++=7777714999989999988888888944555555999944555449988###8\",\n    \"889998899999998$8888945+______))=}11233555358999999888888888889999555559889444999944998#&#\",\n    \"88999999999998888889992)_*____)+77}1123333359899498888888888888994555554945499999994499988\",\n    \"89999899888899998899991)______)+7777}}}}}2114944449888988888888999555555599454999994499994\",\n    \"88998889998898999998$81)_))))))=7}}1111111125499999449998888888994555555988994494555998949\",\n    \"999988889999988$$898$89}=7777==777}112321}129988888944554988888455455554888889449994499449\",\n    \"99999988899998$8#$998889}=7777=7777}}12211}29988888899455599945549945554988884988899444998\",\n    \"94499944444999888$8988889}===7==777}}11}11159998889998999554494555445555988899888889449999\",\n    \"99988889999999988889988895277======7}}111239999888888899944988899555555598889988$899944444\",\n    \"888888894989994988899999452777========}}12554999989994444449988899455555999949888999889499\",\n    \"88888944498999444949995}717====777===71233555499999955599994449999945555455454989998889499\",\n    \"889999455455555555552=_;*}}=7777}7}}1125=7}12212555355998889454999455555599994444999888454\",\n    \"999994555494453317)_;;;;;)32}77}}}}}1}341===7=___)+729998888955555555555499989444999944554\",\n    \"55555554994517)_;;;;;;;;;;+55177}1}}=}542===7}_*;;;*__799899995555553555499994444499889455\",\n    \"555554943}+_;;;;;;;;;;;;;;_1545112}7}5441++=7}__;;*____29888895549453555499995549459888999\",\n    \"995553+_*;;;;;;;;;;;;;;;;;;}3544431254447===}=__;;;*_*_)4994553349955555499955549955988888\",\n    \"99533+_;;;;;;;;;;;;;;;;;;;;;7232}}11}7++))=7+_*;*;;;;;;_345553354945535559955559994598888$\",\n    \"9453}_;;;;;;;;;;;---;;;;;;;;;)7}}}}}}7+)_)12=_;;;;;;;;;_2555453355553333595555549994498888\",\n    \"4532_;;;;;;---------;;;;;;;;;*=}}}}7}=+)_+33=_;;;;;;;;;_24995553354453335535955359895988$9\",\n    \"3357;;;;;------------;;;;;;;;;_7}777=+))_+53=_;;;;;;;;;_3455544455545533333555455544548999\",\n    \"552);;;---------------;;;;;;;;;+7777+)));_+7);;;;;;;;;;_3555499995555333333349999455449998\",\n    \"45+;;;;---------------;;;;;;;;;_777+)))_;;));;;;;;;;;;;;}44999999945553335499999889949998$\",\n    \"52_;;;;;---------------;;;;;;;;;=77++));;;+);;;;;;;;;;;;+444999999945533354499998889999988\",\n    \"4+;;;;;-----------------;;;;;;;;)=+)))_;;;+);;;;;;;;)))_)34499999445553333549998888999988$\",\n    \"3_;;;;-------------------;;;;;;;_)))));;;;+);;;;;;;;)+7}}12549994555555333335998899999988$\",\n    \"1_;;;;--------------------;;;;;;;))))_;;;;+);;;;;*)+=}}11112544555555553354535499449949988\",\n    \"2);;----------------------;;;;;;;_)))_---;)_;;;--;_+=}}}1113455544945553354945544988999988\",\n    \"3);------------------------;__)))))));---;)*-------;_+7}}}15455444945555554499459988944988\",\n    \");-----------------------;_)++))))))_;---;);---------;;_))+5555544445555554445555998944499\",\n    \";;;---------------------_)++++=77=+)*;---;+;---:---;;----;=5554555445555554555494449944988\",\n    \");;--------------------;)+++++=7}=)_;;;;-;);-;-------;;_+155444445555555555554999945555999\",\n    \"5+;;--------------------_))++++=7)*;;-;;;_+;;;--_11111353555444444555555555549999945553599\",\n    \"557_;;------------------;;))))+=+;;---;;;_+;----;14445555544444444445555555444445555533544\",\n    \"55553}+);-----------------;;;;;;;;;---;;;_+;;;;;;)5444455444444445544555555445555555553555\",\n    \"5555555}__;-------;__;----------;;;_*-;;;_+;;;;;;;=544444444444444444555555555555555555555\",\n    \"5555555+__;----------------------;_)_;;;;_+;;;;;;;_244444444444444444555555555555555555555\",\n    \"5555551);;;----------------------;;)_;;;;_+;;;;;;;;+54444444444444444555555555555555555555\"\n  ],\n  [\n    \"8888999888888888$888999994521))____**__)_))=4888888888999999999945555555499888888800&88999\",\n    \"99999998888888888899999953}+))_;;;*_____*;_)39888888999949944555599555545554498888$&0&&$89\",\n    \"9999988$$#$8899999999995}_***_______))))__)159888888999998888945549555599955554999888###89\",\n    \"99999$$##$8999988899995+________)=7}11233125499989999998888888945555555999944555449988###8\",\n    \"88999889999999888888943)_*____))=}}1223353359999999888888888889999555559889444999944998#&#\",\n    \"89999999999998888889941)*;;___))=}}}111123339899498888888888888994555554945499999994499988\",\n    \"89999999888899998899997__*____)+7}7}}}}}111}4944449888988888888999555555599454999994499994\",\n    \"88998889998898999998$83))=}7=++=7}}1123321135499999449998888888994555555998994494555998949\",\n    \"999988889999988$$898$891)=}}7777777}}1231}}14988888945554988889455455554888889449994494449\",\n    \"99999988899998$8#8998888})=7}7==777}}11222259988888899455599945549945554988884988899444998\",\n    \"44449444444449888$898888917777===777}11111149998889998999554994555445555988899888889949999\",\n    \"99988889499944988889988895}777======7}112259999888889899949988899555555598884988$899944444\",\n    \"8888889949899949888949513}77=7777===+7}113554999989994444449988899455555999949888999889499\",\n    \"888899454999995544543=__}7===77777}}}15112355499999955599994449999945555455454989998889499\",\n    \"889999555555555317+)*;;;)31777}1}}}11247+=}}11}1555335998889454999455555599994444999888454\",\n    \"9999945555452}+_*;;;;;;;;753}7}1}}117343+===77_*_)+729998888955555555555499989444999944554\",\n    \"5555333317)_;;;;;;;;;;;;;_1542}111}+1444}===7}__***__)599889995555553555499994544499889455\",\n    \"55533=)_*;;;;;;;;;;;;;;;;_1344432}}3444}=+++=}__***___=99888895549455355499995549459888999\",\n    \"9953+_;;;;;;;;;;;;;;;;;;;;)1551}}11}}1}_+=+=}=_*****;*_39994553349955555499955549955988888\",\n    \"9457_;;;;;;;;;;;;;;;;;;;;;;;)7}}777=7+_*__=7+_*;**;;;;*}995553354945535559955559994598888$\",\n    \"943_;;;;;;;;;;----;;;;;;;;;;_+}}}}}77+_;*)117_;;;;;;;;*}5555453355553333595555549995498888\",\n    \"45};;;;;;----------;;;;;;;;;;)7}}}77=+_;;+337_;;;;;;;;;}54995553354453335535955359895988$9\",\n    \"32+;;;;;------------;;;;;;;;;;+}}}77=)_;*+337_;;;;;;;;;}4555549455545533333555455554548999\",\n    \"5+_;;;---------------;;;;;;;;;_=777=+)*;;_+=);;;;;;;;;;}5555499995555333333349999455449998\",\n    \"2_;;;;----------------;;;;;;;;;)77=+));;;;));;;;;;;;;;;1544999999945553335499999889949998$\",\n    \");;;;;-----------------;;;;;;;;;+7+)));;;;+);;;;;;;;;;;+5444999999945533354499998889999988\",\n    \"*;;;;;-------------------;;;;;;;_=+))_;;;;+);;;;;;;-;;;;154499999445553333549998888999988$\",\n    \";;;;;---------------------;;;;;;;))))_;;;;));;;;;;-;;;;;_25544944555553333335998899999998$\",\n    \";;--------------------------;;;*_))++*;;;;)_;;;;;------;;121355555555533354535494449944988\",\n    \"_;--------------------------_)+++++++++_;*+_;;;;--------;))+==++=}235555554945544988999988\",\n    \";-------------------------;)+++====777+*;*+_;;;---------;_))))))+}255555554449459988944988\",\n    \";;------------------------_++++=7==777_;;;);;-----------;*)))++=}2555555554445555998944499\",\n    \";;------------------------;))++====77);;;*);--------------;_)+=}25544555554555594449944988\",\n    \"*;------------------------;_)))++++=)-;;;*);-;_;=)----------;;)154445555555554999955555499\",\n    \"3);;--------------------------;;;;;;---;;;+;-__-_3}==+)____))72544455555555549999945553599\",\n    \"55317+));;;---------;_;_--------;;;----;;*+;----;14444555444444444445555555444445455533544\",\n    \"55555555=_);--------------------;;;----;;_+;----;+5444445444444444444555555445555555555555\",\n    \"55555555++_;------------------:-;;;__;-;;_);;--;;;1444444444444444444555555555555555555555\",\n    \"55555553+);;---------------------;;__;-;;_);;;;;;;+544444444444444444455555545555555555555\",\n    \"55555552+*;;---------------------;;_)*-;;_);;;;;;;_344444444444444444455555444545555555555\"\n  ],\n  [\n    \"8888999888888888$88899999531})__;*****_)__)+5888888888999499999955555555499888888800&88999\",\n    \"999999988888888888999999317))__*;;**____;;_)29888888999949944555599555545554498888$&0&&$89\",\n    \"9999988$$#$88999999999937_;***_____))))))_)159888888999998888945549555599955554999888###89\",\n    \"99999$$##$8999988899493+__*_____)=7111233225449989999998888888945555555999944555449988###8\",\n    \"88999889999999888888941)*;*___))+}}1123333359999999888888888889999555559889444999944998#&#\",\n    \"89999999999998888889457_;;;*__))+}}}111112339899498888888888888994555554945499999994449998\",\n    \"8999999988889999889999+___)___)+7}}}}}}}11119944449888988888888999555555599454999994499994\",\n    \"88998889998998999998881))=}7=++=7}}1123321135499999449998888888994555555998994494555998949\",\n    \"999988889999988$$898$89})+}}}7==777}}1231}}15988888945554988889455455554888889449994494449\",\n    \"99999988899998$8#89988897)=7}7===77}}11222359988888899455599945549945554988884988899444998\",\n    \"44449444444449888$898888917777=====7}11111299998889998999554994555445555988899888889949999\",\n    \"999888894999449888899894517777======7}112259999888888899949988899555555599889988$899944444\",\n    \"8888889449899949989452+1}777=77777===}1113554999989994444449988999455555999949888999889499\",\n    \"8888994549999955453})*;)2}7777}}}}}}133355555499999955599994449999945555455454989998889499\",\n    \"889999555555531=)_;;;;;;751777}1}}11153)+}113213453335998889454999455555599994444999888454\",\n    \"9999455332}=)_;;;;;;;;;;*143}7}1}}17149+++==7=__)+}349998888955555555555499989444999944554\",\n    \"555531}+)*;;;;;;;;;;;;;;;}3442111}+75442=++=77_**;**)2499888995555553555499994554499889455\",\n    \"5531);;;;;;;;;;;;;;;;;;;;+5444451}34441)++++7=_*****_)599888895549455355499995549459888999\",\n    \"993);;;;;;;;;;;;;;;;;;;;;;)+}}77}}77}}__+++=}+*;;;;;;*799994553349955555499955549955988888\",\n    \"94=*;;;;;;;;;;-;;;;;;;;;;;;;)=}}}}777)**_)=7)_;;;;;;;;)4995553354945535559955559994598888$\",\n    \"43_;;;;;;;------;;;;;;;;;;;;*++7}}}7=);;*)11+*;;;;;;;;)55555453355553333595555549994498888\",\n    \"5}*;;;;----------;;;;;;;;;;;;_=+=7}}7);;;=23+;;;;;;;;;_354995553354453335535955359895988$9\",\n    \"7);;;-;;-----------;;;;;;;;;;;)=====7);;;733+;;;;;;;;;*24455549455545533333555455544548999\",\n    \");;;;---------------;;;;;;;;;;*++===+_;;;_+=_;;;;;;;;;;15555499995555333333349999455449998\",\n    \";;;;;;----------------;;;;;;;;;_+++++_;;;*+);;;;;;;;;;;1544999999945553335499999889949998$\",\n    \";;;;;;;------------------;;;;;;;)+)));;;;_+);;;;;;;;;;;}5444999999945533354499998889999988\",\n    \";;-----;;---------------------;;;))))_;;;*+);;;;;;;;;;;)354499999445553333549998888999988$\",\n    \";---------------------------;;;;_++==++))_+_;;;;;;;;;;;;=55544444555555533335998899999998$\",\n    \";;-------------------------;*))+=}77==7=)_+_;;;;;;;;;;;;)555544555555555354535494449944988\",\n    \"---------------------------_)+++=}}}}}}+;_+_;;;;;;----;;_244555555445555554945554988999988\",\n    \"---------------------------*)++++}}77}+;;_+_;;;;;---------;;)=11}}133555554449459988944988\",\n    \"---------------------------;)))++777==_;;_);;;;;;------------;_)++====7}123555555498944499\",\n    \"---------------------------;_______;;-;;;_);;;;;--------::---;_))++++++=}35335545549944989\",\n    \";;----------------------;--------------;;_);;;;;------::-----;_))++++++71}}}15999955555499\",\n    \"1=)_;;;;--------------_;;--------;;----;;_);-;))-))*-----------;_)))+=1}=25535499955533599\",\n    \"554555532));---------------------;;-:--;;_);-----+5451}=+);;;-----;)7154535444554455533545\",\n    \"555555552));---------------------;;--;-;;_);-----_5544444444555322355444554455555555555555\",\n    \"555555551+);----------------------;;__-;;_);-----;1444444444444444444445554445555555555555\",\n    \"555555551=_;-----------------------;__;-;_);------)544444444444444444455555445555555555555\",\n    \"555555331+;;-----------------------;)_;-;_);-----;_344444444444444444455555444445555555555\"\n  ],\n  [\n    \"8888999888888888$888999995321+__*__**__)_)+}9888888888994499999945555555499888888800&88999\",\n    \"99999998888888888899999932}+)__*;;**____*;_)59888888999949944555599555545554498888$&0&&$89\",\n    \"9999988$$$$8899999999995})****____________)}59888888999998888945549555599955554999888###89\",\n    \"99999$$##$8999988899492)________)+7}}1121}14999989999998888888944555555999945555449988###8\",\n    \"8899988999999988888895}_*;*___))+}}1123333359999999888888888888999555559889444999944998#&#\",\n    \"8999999999999888888945+_;;;___))=}}}112233359899498888888888888994555554945499999994449998\",\n    \"8999999988889999889993)_**____)+7}}}}}}}}1119944449888988888888899555555599454999994499994\",\n    \"8899888999899899999889+_)=}=+)+=7}}1122221155499999449998888888994555555988994494555998949\",\n    \"999988889999988$$898$85+)=}}77==777}11231}}14988888945554988888455455554988889449994494449\",\n    \"99999988899998$8#8998885)+=}}7===77}}12222159988888899455599945549945554988884988899444998\",\n    \"44449444444449888$8988883}77777==77}}11111399998889998999554994555445555988899888889949999\",\n    \"9998888949994498888998995}77777====7}}122299999888888899949988899555555598889988$899944444\",\n    \"8888889949899449989452}3}77777777==+=}}123554999989894444449988899455555999949888999889499\",\n    \"8888994549999955453})__1}7777}}}}}}}154995555499999955499994449999945555455454989998889499\",\n    \"889999555555321=)_*;;;;)33}77}1}}}1115=+13535555455335998889454999455555599994444999888454\",\n    \"9999455331}+)_;;;;;;;;;;+5517}11}11=143)+===7=+}135499998888955555555555499989444999944554\",\n    \"55531}=)_;;;;;;;;;;;;;;;)25431111}+}544+=+==}+_**_)739998888995555553555499994554499889455\",\n    \"553+_;;;;;;;;;;;;;;;;;;;_2544452}}24441++++=7+_**;**_1499888895549455355499995549459888999\",\n    \"94+_;;;;;;;;;;;;;;;;;;;;;_+}}77}111251_)+++=})*;;;***)599994555349955555499955549955988888\",\n    \"91_;;;;;;;;;;;;;;;;;;;;;;;;_=}}}=++=}_*__)=7)*;;;;;;;;74995553354945533559955559999598888$\",\n    \"4);;;;;;;;--;;-;;;;;;;;;;;;;)=71}}7==_;**=11);;;;;;;;;+55555453355553333595555549994498888\",\n    \"2);;;;;------;--;;;;;;;;;;;;*+=7}}}7+*;;*}23);;;;;;;;;)554995553354453335535955359895988$9\",\n    \")_;;--;;---------;;;;;;;;;;;;_===777+;;;_153);;;;;;;;;_34455554455545533333555455554548999\",\n    \";;;;;-------------;;;;;;;;;;;;)====7+;;;;)==_;;;;;;;;;;15555499995555533333349999455449998\",\n    \";;;;;;--------------;;;;;;;;;;;+++=7);;;;_+_;;;;;;;;;;;7544999999945553335499999889949998$\",\n    \";;;;;;;;-------------------;;;;_+++=);;;;_+_;;;;;;;;;;;+5444999999945533354499998889999988\",\n    \";-------;---------------------;;)++=7+)_;_+_;;;;;;;;;;;_354499999445555333549998888999998$\",\n    \";---------------------------;;_)=}}7===+__+_;;;;;;;;;;;;}55544944555555533335998899999998$\",\n    \";--------------------------;)+++=}}}}}=;;_+_;;;;;;;;;;;;)455554555455555354535494449944988\",\n    \"---------------------------;)+++=}}}}});;_+;;;;;;;;-;;;;)494555544445555554945554988944988\",\n    \"---------;;-----;----------;)++++7}=7+;;;_+;;;;;;;----;;;}54445444444555554449559988944988\",\n    \"---------------------------;))))))_;;;;;;_);;;;;;;-----;;;;)+71544453235554445555498944499\",\n    \"--------------------------------------;;;_);;;;;;--------------;)=7++713335553545549944989\",\n    \";---------------------;;;;------;;--;-;;;_);;;;;;---------------;_)+++++===7}1113555555499\",\n    \"7+)__**;;;----------------------;------;;_);;;)+_---------------;_))++++++=7}1354545333599\",\n    \"544445555));----------------------------;_);;;;;--_+);-----------;))+++===77121}}135533545\",\n    \"555555555));----------------------------;_);------)5445317+)_;-----;;*)}7=1317}55535555555\",\n    \"555555553)+;;;;-----------------:---_)_;;_);;-----)54444444445531}=+))}5453444554455555555\",\n    \"555555553));;--------------------:--_));-_);;;----;344444444444444444445554444445555555555\",\n    \"555555331+_;---------------------::-_))_;));;;----;244444444444444444445444444444445555555\"\n  ],\n  [\n    \"8888999888888888$888999994532=))___*_____)=29888888888899499999945555555499888888800&88999\",\n    \"999999988888888888999999431=)__;;;**_____*_)39888888999949944555499555545554498888$&0&&$89\",\n    \"9999998$$#$88999999999951)_**_____________)=59888888999998888945549555599955554999888###89\",\n    \"99999$$##$8999988899493+__**____)++=77}}}=}4999989999998888888944555555999945555449988###8\",\n    \"88999889999999888888951)_**____)+}}1223333359999999888888888889999555559889444999944498#&#\",\n    \"8899999999999888888945=_;;;___))=}}}123333358899498888888888888994555554945499999994449988\",\n    \"8999999988889999889995)_*;;*__)+7}77}}}}}1119944449888988888888899555555599454999994499994\",\n    \"8899888999889899999889+_)+=+)))=}}}1111121155498899499998888888994555555988994999555998949\",\n    \"999988889999988$$898$83))7}777==77}}113311134988888945554988888455455554888889449944494449\",\n    \"99999988899998$8#8998881)+7}}7===77}}12211139988888899455599945549945554988884988899444998\",\n    \"44449444444449888$898888277=7777==7}}11111399998889998999554994555445555988899888889949999\",\n    \"9998888949994498888998884}77777====7}1122249999888888899944988899555555598889988$899944444\",\n    \"888888994989944998944525177777777====7}113554999989894444449988899455555999949888999889499\",\n    \"888889454999995544537))177777}}}}}}7}54995555499999955499994449998945555455454989998889499\",\n    \"8899995555555331=+);;;;=3}777}1}}111151133535555455355998889454999455555599994444999888454\",\n    \"99994553531}+)_;;;;;;;;*152}7}1}}11}}53)+===}123355499998888955545555555499989444999944554\",\n    \"5555321=)_;;;;;;;;;;;;;;=345}}111}=+344=++==})__)71599998888995555553555499994554499889455\",\n    \"5537)*;;;;;;;;;;;;;;;;;;+3544532}7}34457+++=})_*;;;_+3499888895549455355499995549459888999\",\n    \"94=_;;;;;;;;;;;;;;;;;;;;;=}1}}11134442))+++=})**;;;;_)599994553349955555499955549955988888\",\n    \"91_;;;;;;;;;;;;;;;;;;;;;;;;+}}==7==}1)___+==);;;;;;;;*}4995555354945533559955559994598888$\",\n    \"4+;;;;;;;-------;;;;;;;;;;;_+7}777777_**_711_;;;;;;;;;)55555453355553333595555549995498888\",\n    \"5);;;;;----------;;;;;;;;;;;)7777777=*;;_122_;;;;;;;;;_554995553354453335535955559895988$9\",\n    \"=_;;-;;;----------;;;;;;;;;;;+7=7777+;;;_252_;;;;;;;;;*14455554455545533333555455554548999\",\n    \";;;;;--------------;;;;;;;;;;_====77+;;;;)=+;;;;;;;;;;;75555499995555333333349999455449998\",\n    \";;;;;;--------------;;;;;;;;;;)7++==);;;;_+;;;;;;;;;;;;+544999999945553335499999889949998$\",\n    \";;;;;;;;-----------------;;;;;;+=)+=);;;;)+*;;;;;;;;;;;)5444999999945533354499998889999988\",\n    \";------;;---------------------;;++++=)_;;_+;;;;;;;;;;;;*254499499445553333549998888999998$\",\n    \"----------------------------;;_)=}}7777);_+;;;;;;;;;;;;;=55544994555555333335998899999998$\",\n    \";;;------------------------_))++7}}}}}=;;)+;;;;;;;;;;;;;_555554555555553354535494449944988\",\n    \"---------------------------_)+++=}}}}}_;;)+;;;;;;;;;;;;;;244555544445555554945554988944988\",\n    \"---------;;-----;----------*)++++}}=7+;;;)+;;;;;;;;---;;;149455544445555554499559988944988\",\n    \"---------------------------;)))))))_*;;;;));;;;;;;-----;;)15554444444555554445555498944499\",\n    \"-----------------------------------;--;;;));;;;;;;------;;;;_)=154445311554455545549944989\",\n    \";---------------------_;;;------;--;;--;;));;;;;;---------------;)77+)+}222335499955555499\",\n    \"_;;;----------------------------;--;;--;;_);;;;;;----------------;))++===+===}}}}125333599\",\n    \"5553332217_---------------------;-------;));;;_);;---------------;))++++=++=7}}12535533545\",\n    \"5555555551);-----------------------;;---;));;;;;---7}=);---------;*))+++===7}7}111}1555555\",\n    \"555555553});;;;;-------------------;++)_;));;-----;1544451}+)*;-----;;_+1}}=1531}555555555\",\n    \"5555555537+;;----;-----------------;==))_));-------=5444444444531}=+)_)2444334445455555555\",\n    \"555555333}_;-----;;-------------::-;=7+))));;------_54444444444444444445554444444455555555\"\n  ],\n  [\n    \"8888999888888888$888999994533}7+))____)))+}59888888888899499999945555555499888888800&88999\",\n    \"9999999888888888889999999511=)_*;**____)__))58888888999949944555599555545554498888$00&&#89\",\n    \"9999998#$$$88999999999891+)_*___;**_____*__+59888888999998888945549555599955554999888###89\",\n    \"99999$$##$8999988899494})_______)))+++==++74949989999998888888944555555999945555444988###8\",\n    \"88999889999999888888943)_______)+}}1223353348999999888888888888999555559889444999944498#&#\",\n    \"8899999999999888888945}_;;*___)+=}}1123333358899498888888888888894555554945499999994449988\",\n    \"8999999988889999889994+_*;;___)+7}}}}}}}}2219944499888988888888899555555599454999994499994\",\n    \"8899888999889899999889+__))))))=7}}1111111135498899449998888888994555555988944494555998949\",\n    \"999988889999988$$898$83++}}77==777}112331}134988888945554988888455455554888889449944494449\",\n    \"99999988899998$8#8998882)=}}}7=7777}}1231}}39988888899455599945549945554988884988899444998\",\n    \"44449444444449888$89888817=777=7777}}11111399998889998999554994555445555988899888889949999\",\n    \"99988889499944988889988891777777==77}1111159999888888899944988899555555598889988$899944444\",\n    \"8888889949899949988944553}7777777===77}123554999989894444449988899455555999949888999889499\",\n    \"8888894549899955445437)2}7777777777=725545555499999955499994449998945555455454989998889499\",\n    \"88999955555555331}+);;;+3}777}}}}}11133233535555455355998889454999455555599994444999888454\",\n    \"99999555555317)_;;;;;;;_15177}1}}}11}55)====}333335499988888955545555555499989444999944554\",\n    \"555533317+__;;;;;;;;;;;;+343}}11}1}+1447=+==})__+73499998888994555553555499994554499889455\",\n    \"5532+)_;;;;;;;;;;;;;;;;;=354522217=1444}+++=})_*;;*_+2499888895549455355499995549459888999\",\n    \"992);;;;;;;;;;;;;;;;;;;;*1553332125445=+++=7}___*****_199994555349955555499955549955988888\",\n    \"95)*;;;;;;;;;;;;;;;;;;;;;;*+=77}7==}1+___+==)*;;;;;;;*)4995553354945533559955559999598888$\",\n    \"41*;;;;;;;;;;--;;;;;;;;;;;;_+=77}}777_**_711_;;;;;;;;;_25555453355553333595555549994498888\",\n    \"5};;;;;;;---;---;;;;;;;;;;;;)+=77}}7=_;*_131_;;;;;;;;;*}54995553354453335535955559895988$9\",\n    \"3+;;-;;;---------;;;;;;;;;;;_===77}7+*;;_251_;;;;;;;;;;+5455544455545533333555455544548999\",\n    \"+_;;;-;;----------;;;;;;;;;;;)=++=77+;;;;)7+;;;;;;;;;;;)5555499995555533333349999455449998\",\n    \";;;;;;-------------;;;;;;;;;;;+=)+=7+;;;;)+*;;;;;;;;;;;_344999999945553335499999889944998$\",\n    \";;;;;;;--------------;;;;;;;;;*=+)+=);;;;)+*;;;;;;;;;;;_3444999999945533354499998889999988\",\n    \";;---;;;;---------------------;_+))));;;;)+;;;;;;;;;;;;;}54499499445555333549998888999988$\",\n    \";-;----;;---------------------;;)))+=_*;;_+;;;;;;;;;;;;;)55544994555555333335998899999998$\",\n    \";;;;------------------------;_)+7}77777);_+;;;;;;;;;;;;;;155554555555555354535494449944988\",\n    \";--------------------------_)++=}}7777=_;_+;;;;;;;;;;;;;;=44555544445555554945554988944988\",\n    \"-;;-----------------------;)++++7}}7}7_;;)+;;;;;;;;---;;;=49455444444555554449559988944988\",\n    \"--------;;----------------;)))++7}777);;;));;;;;;;-----;;)54555444444555554445555498944999\",\n    \"--------------------------;_))))+=++);;;;));;;;;;;-----;;;;+715554445555554455545549944988\",\n    \";---------------------------;;;;;;-;;--;;_);;;;;;;------------;)7117++13355554999955555499\",\n    \";;-------------------;;;;-------;;-;;---;_);;-;;;---------------;))+=7=====}13499455333599\",\n    \"21}7=++)));---------------------;;------;));;--;---------------;_))+++++++=7}1154455533555\",\n    \"5555555555+;------------------------;---;));;;----)+_-----------;))+++===+=777154455555555\",\n    \"5555555535+;;-----------------------++));));;;----)5551=);-------;;_))====}221544455555555\",\n    \"5555555533+;;;;---------------------+=+))));;-----;354444551=);;-;;--)54431344444455555555\",\n    \"5555553331_;;----;---------------:--+7=+)));;------)5444444444452}+)+344554444444455555555\"\n  ],\n  [\n    \"8888999888888888$8889999945531}}=)_))+++71599888888888899499999945555555499888888800&88999\",\n    \"9999999888888888889999999521+)))_**;*_)__))}98888888999949944555599555545554498888$00&&#89\",\n    \"9999998#$$$889999999999417+))_*;;*____*;*_)749888888999998888945549555599955554999888###89\",\n    \"99999$$##$8999988899499}_***_____)))))))))14949989999998888888944555555999945555444988###8\",\n    \"88999889999999888888951_______))=}11233333598999999888888888888999555559889444999954498#&#\",\n    \"88999999999998888889957_;*___))=7}11233333398899498888888888888894555554945499999994449988\",\n    \"8999999988889999889994=_*;*__))=77}}111123239944449888988888888899555555599454999994499994\",\n    \"8899888999889899999884)______)+7777}}}1}11}35499899449998888888994555555988945494555998949\",\n    \"999988889999988$$898$81+=7==++=7}}11233211259988888945554988888455455554888889449944494449\",\n    \"99999988899998$8#89988927777777777}}1231}}159988888899455599945549945554988884988899444998\",\n    \"44444444444449888$898888}=777=7777}}112223399998889998999554994555445555988899888889949999\",\n    \"9998888949994498888998889177777=777}111}1159999888888899944988899555555598889988$899944444\",\n    \"8888889949899949988999945177777====7711223554999989894444449988899455555999949888999889499\",\n    \"8888894549899955444992=2}777777777=+=12355555499999955599994449998945555455454989998889499\",\n    \"88999955555553353317)_;+177777}7}}}1133333535555455555998889454999455555599994444999888454\",\n    \"99999555554531}+__;;;;;_15}77}1}}}11}55)====}555355499988888955545555555499989444999944554\",\n    \"555533532}=)_;;;;;;;;;;;)3527}11}}}=}447=+==1)_)+}3999998888994555553555499994554499889455\",\n    \"553317+)*;;;;;;;;;;;;;;;)25451121}+}5441+++=})_**;*_+2499888895549455355499995549459888999\",\n    \"995=_;;;;;;;;;;;;;;;;;;;_2544453}134441+++=7}___**;*__}99894555349955555499955549955988888\",\n    \"94}_;;;;;;;;;;;;;;;;;;;;;_)7}777}}}131__)+==)*;;;;;;;*)5995553354945533359955559999598888$\",\n    \"45);;;;;;;;;;-;;;;;;;;;;;;;_+}}}7====__*_71}_;;;;;;;;;*15555453355553333595555549994498888\",\n    \"41*;;;;;;;--;--;;;;;;;;;;;;;)+=}}77==_;*_131_;;;;;;;;;;754995553354453335535955559895988$9\",\n    \"57;;;;;---------;;;;;;;;;;;;*++=}}77+_;;_25}_;;;;;;;;;;)5455544455545533333555455554548999\",\n    \"});;;-;;---------;;;;;;;;;;;;_=+=77=+*;;;)7+;;;;;;;;;;;)5555499995555533333349999455549998\",\n    \"_;;;;-------------;;;;;;;;;;;;)+++==)*;;;)+;;;;;;;;;;;;)544999999945553335499999889944998$\",\n    \";;;;;;;-------------;;;;;;;;;;;+++++);;;;)+*;;;;;;;;;;;_3444999999945533354499998889999988\",\n    \";;;;;;;;;-------------;;;;;;;;;_+))));;;;)+;;;;;;;;;;;;;}54499499445555333549999888999988$\",\n    \";;;----;;--------------;;;;;--;;))))_;;;;_+;;;;;;;;;;;;;)55544994555555333335498899999998$\",\n    \";------;;----------------;;;;;-;;))));;;;)+;;;;;;;;;;;;;_355554555555555554535494449944988\",\n    \";-------------------------;;;;;_))++)_;;;_+;;;;;;;;;;;;;;744555544445555554945554988944988\",\n    \"--------------------------;_)+=7777777+;;)+;;;;;;;;---;;;=49455444445555554499559988944988\",\n    \"-;-;;------;-------------;)+++=}}77777_;;));;;;;;;-----;;754555444444555554445555998944999\",\n    \"-------------------------;)+++=7}77}7_;;;));;;;;;-----;;-;)7155535444555554455544549944988\",\n    \";------------------------;))))+77777);-;;));;;;;;-----------;_+++=777}15555554999955555499\",\n    \";------------------------;__)))+++));---;));--;;------------;_))++++)+=1355544999955333599\",\n    \"7)_;;;--------------;;;---------;;---:--;_);----------------;_))++++++=}254444555555533555\",\n    \"555555332=_--------;_;;-----------------;_);;----+);---------;))+++++=}1544444555555555555\",\n    \"5555555557);-------------------------*_*;_);-----)5527);-------;;_)==725444444555555555555\",\n    \"555555555}+;-------------------------___;));-----;7555553}+_;-;;-;754444444444455555555555\",\n    \"555555335=);----------------------::-;)__));------;}554444445317=1544445544444444455555555\"\n  ],\n  [\n    \"8888999888888888$88889999945333}++7}111135988888888888899999999945455555499888888800&$8899\",\n    \"999999988888888888999999843}}=+)_;;____)++}498888888999999944555599555545554498888$00&&#89\",\n    \"9999988#$$$$8999999999895}=+__*;______;___+54988888899999888899554955559995555499988$###89\",\n    \"99999$$##$8999988899994=________________)+3999998999998$$$888889455555599894555444998$###8\",\n    \"88999889999999888888957______))+=77}111112488999999888888888888999555559889444999944998#&#\",\n    \"889999999999988$8889951)_____)=}}112355553598899998888888888888894555554945499999994499988\",\n    \"8999989988889999889999}_____))=77}11223333399949999888988888888889455555599454999994499994\",\n    \"8899888999889889999889+_____)+=777}}}}}11}155498899499998888888999555554988994499555998949\",\n    \"999988889999988$$898$9}7==+)+=77}111121}12359988888945554988888455445554888889499994999499\",\n    \"99999988899998$$#$998883}77}77777}1121}7}1349988888899445599944549945554988884988899444998\",\n    \"99999999444999888$8988882}}7777777}1111111599998888898999554994555445554988899888$89949999\",\n    \"9998888949999498888998889177777777}11}}11249999888888899949888899555555598889988$$99994444\",\n    \"888888894989994988899999437777====7}111235559998889894444449988899455555989949888999889998\",\n    \"8888894449899945494999322}777777====7}1345555499999955499994449898945555455454989998889499\",\n    \"889899455555555555541+_)1777777777}}125535555555455555998889444999455555499994444999888444\",\n    \"9999945555944532}+)_;;;;}2777}}}}}11115+====}555555999988888945545545555999989444999944454\",\n    \"5555555449517)_;;;;;;;;;)3517}1}}}1}7591====}=)+=15999998888994555555555499994444499889455\",\n    \"55555531=)_;;;;;;;;;;;;;_1543}}11}7+2495=+==}+_**;_)72498888895549455555499995549449888999\",\n    \"99557)*;;;;;;;;;;;;;;;;;;1544453}715444}+===})_***;;__+99894555349955555499955549955988888\",\n    \"945}_;;;;;;;;;;;;;;;;;;;;)}12}}1123544=_))=7)_;;*;;;*__199555535994555555995555998959888$$\",\n    \"943);;;;;;;;;;;;;;;;;;;;;;;_+}}=====7+___+11)_;;;;;;;;;+5555953555553333595555549994498888\",\n    \"457;;;;;;;;;;;;-;;;;;;;;;;;;)=7}77===);*_}22_;;;;;;;;;;)54995555354453335435955559894988$9\",\n    \"53);;;;;---------;;;;;;;;;;;;+==777=+);;_152_;;;;;;;;;;)5455549455545553333555455544548999\",\n    \"51_;;;;-----------;;;;;;;;;;;_===77=+);;;)==*;;;;;;;;;;_5555499995555533333349999955449998\",\n    \"3)*;;--------------;;;;;;;;;;;)7++==)_;;;_+_;;;;;;;;;;;_549999999945555335499999889949998$\",\n    \"+*;;;;--------------;;;;;;;;;;;+=+++)_;;;_+_;;;;;;;;;;;_3449999999945553354499998889999988\",\n    \"*;;;;;---------------;;;;;;;;;;_=+)))_;;;_+_;;;;;;;;;;;;}54499999445555333549998888999988$\",\n    \";;;;;;;;--------------;;;;;;;;;;)=)))_;;;_+_;;;;;;;;;;;;)5554999455555535333599889999998$#\",\n    \";;;;;;;;;--------------;;;;;;;;;;)))_;;;;_+_;;;;;;;;;;;;_35555455545555555455549949994998$\",\n    \";;;;;-------------------;;;;;;;;;;))_;;;;_+_;;;;;;;;;;;;;194455544945555554945554988999988\",\n    \";------------------------;;;;;;;;;_)_;;;;_+*;;;;;;;---;;;)49455444945555554499459988944988\",\n    \"--------------------------;;;;;___))_;;;;_+;;;;;;-----;;_+54555544945555554945555998944999\",\n    \";------------------------;_)++++++=+)*;;;_);;;;;;------;;)+7}1}254444555554455594449944988\",\n    \";;--------;;------------_)++=====7}});;;;_);;;;;-------;_))+=}}135444555555554999955555999\",\n    \";;---------------------;)+++=====77)_;;-;_);------------;_)+7}1135444555555549999945533599\",\n    \"};;;-------------------;_))+=====7+------_);-------------;_)+7}254444555555444445455533544\",\n    \"531=)_;;---------------;;_))++++=+;-----;_)-----;);--------;;_+254444455555455555555555555\",\n    \"555545531);;;-----;;;-----;;;;;;;----;;;-_)------=517+_;---;;;+344444445454444555555555555\",\n    \"555555555=);-----;__;----------------___;_)------;}5444531}==}3444444445555455555555555555\",\n    \"555555535=+;----------------------:--;)_;_);------;}54444444444444444445555444444445555555\"\n  ],\n  [\n    \"88$8999888888888$8$88999994553213554455549988888888$88889999999945455555499888888800&$8899\",\n    \"999999988888888888999999895317))))))))+=}354988$8888999999944455499555545554498888$00&&#89\",\n    \"9999988#$$$$89999999998993}7)__**_____)_)+5499888$8899998888899554955559995555499988$###89\",\n    \"99999$$##$89999888999941=+))_______*;;_))79999998999998$$$888889455555599894455444998$###8\",\n    \"889998899999998$888895)______))))++=++7}}}488899999888888888888999555559889444999944998#&#\",\n    \"889999999999988$888994}_____)=}}1133355532588899998888888888888894555559945499999994499988\",\n    \"89999899888899998899991)___)+77}}112333333599949999888888888888889455555599454999994499994\",\n    \"88998889998898899998881)___)=7777}}}}12111554998899499998888888999555554988994999554998949\",\n    \"999988889999988$$898$82=)))+777}}}11}}1112559888888944554988888455445554888889499994999499\",\n    \"99999988899998$$#$99889}7===777}1121}7}133599988888899445599944549945554988889988899444998\",\n    \"99999999444999888$8988891}}777777}11}77123999998888898999554994555445554988899888$89949999\",\n    \"99988889499994988889988891}777777}1}}1112399998888888899949888889555555598889988$$99994444\",\n    \"88888889498999498889999895}77===77}}}11235559998889894444449988899455555989949888999889998\",\n    \"888889444989994449499945537777====7}}12395555499999955499994449898945555455454989998889499\",\n    \"88988945545555555549993=2}7777=====7}15552323355455555998889444999455555499994444999888444\",\n    \"99999455549445333353})_;+1==777777}11131+===7355555999988888945545545555999989444999944454\",\n    \"555555549999931}+);;;;;;_15}7}}}}}}1}}547+==71)+715999998888994555555555499994444499889455\",\n    \"45555999942}+_*;;;;;;;;;;+5517}1}}}}=2441++=7}_;;;_)=1598888895549455555499995549449888999\",\n    \"99555517)_;;;;;;;;;;;;;;;+3545112}773494}=+=}7_***;;;*_}9894555349955555499955549955988888\",\n    \"99532);;;;;;;;;;;;;;;;;;;_2544452124444}))=7+_;;;;;;;*__59555535994555555995555998959888$$\",\n    \"9953);;;;;;;;;;;;;;;;;;;;;_)7}}}}}}}12=__)11+_;;;;;;;;;;7555953555553333595555549994498888\",\n    \"455}_;;;;;;;;;;;;;;;;;;;;;;;_+7}}}}}}=)*_)33+_;;;;;;;;;;=4995555354453335435955559894988$9\",\n    \"355);;;;---------;;;;;;;;;;;;)==}}}77=_;*)53+;;;;;;;;;;;+455549455545533333555455544548999\",\n    \"555_;;;;----------;;;;;;;;;;;*=}77777+_;;_+7_;;;;;;;;;;;+555499995555533333349999955449998\",\n    \"44};;;-------------;;;;;;;;;;;)77====)*;;;));;;;;;;;;;;;+49999999945553335499999889949998$\",\n    \"55+;;;-------------;;;;;;;;;;;;+77==+);;;;));;;;;;;;;;;;)544999999945553354999998889999988\",\n    \"4});;---------------;;;;;;;;;;;_=7++));;;;));;;;;;;;;;;;_34499999445553333549998888999988$\",\n    \"5);;;;---------------;;;;;;;;;;;)=+)));;;;));;;;;;;;;;;;;}5549994555555353335998899999988#\",\n    \"2_;;;;----------------;;;;;;;;;;;)+))_;;;;));;;;;;;;;;;;;75555455545555355455549949999998$\",\n    \"};;;;------------------;;;;;;;;;;_)))_;;;;));;;;;_)_;;;;_79455554494555555494554498899998$\",\n    \"+;;;--------------------;;;;;;;;;;_)_;;;;;));;;;;_)=777}}}39455544945555554499459888944988\",\n    \"_;------------------------;;;;;;;;;__;;;;;)_;;;;;_)=}}111114555544945555554945554998944999\",\n    \";--------------------------;;;;;;;;__;-;;;)_;;--;_)=7}}11135554555445555554555594449944988\",\n    \";;;------------------------;;;;;;--__;;--;);------;)+=}}}}24449445555555555554999945555999\",\n    \"+;;----;--;;-----------;_))))))_;--;_;;--;);--------;_)+++=5444944554555555549999945555599\",\n    \"5=;------------------;)++++))+===_--;;;--;);-----::------;+5444444444555555444445455533544\",\n    \"52);;;--------------;))+++++=7}});-------;);-----------;;+25444444444555555555555555555555\",\n    \"5551+_;;;;----------;_))++++=7});-----;--;)*-----)11}}}12544444444444455555555555555555555\",\n    \"55555531=*;;;;-------;_)))))+7+;----;)));;)_-----;=544444444444444444455555455555555555555\",\n    \"555555535);;;---;------;_))))_------;)))_;)_--;;;;;=54444444444444444455555444455555555555\"\n  ],\n  [\n    \"8888999888888888$8$88999994444955444944549988888888888889999999945555555499888888800&88999\",\n    \"9999999888888888889999988945113233112354544498888888999999944455499555545554498888$00&&#89\",\n    \"9999988#$#$$899999999988852=++)_)__)))+=244499888$88999988888995549555599955554999888###89\",\n    \"99999$$#0$8999988899998951=)___________)=599999989999998$$8888944555555999944555454988###8\",\n    \"8899988999999988888893}=+))______**__))))}988899999888888888888999555559889444999954498#&#\",\n    \"889999999999988$888993+)___))+=7}}}}22327=488899998888888888888894555554945499999994499988\",\n    \"89999899888899988899992)__+7}}}12333333327399999999888988888888889555555599454999994499999\",\n    \"88998889998898899998$85)_)+7}}}}1123333221555498899499998888888999555555988995494555998949\",\n    \"999988889999988$$898$85+))=77==7777}1}}}13559988888944554988888455445554888889449994494449\",\n    \"99999988899998$$0$998847))=7777}1}77122235499888888899445599945549945554988884988899444998\",\n    \"99999994444999888#89885}777777}}}}==}12335999998889898999554994555445555988894888889949999\",\n    \"9998888999999998888998841}777777}}77}1233499999888888899949988889555555598889988$899994444\",\n    \"88888889498999498889999895}77777}7=7}11235554998889894444449988899455555999949888999889499\",\n    \"88888944498999449949999445}7===77}}1122595555499999955499994449999945555455454989998889499\",\n    \"88888945545555555549998953}=======7}}13992322355455555998889444999455555599994444999888444\",\n    \"999994555494955555499957+27=======7}11137====}55355999988888945545555555499989444999944554\",\n    \"555555549999955533317)*;*}}=7777==7}11141===7}}7}35999998888994555553555499994554499889455\",\n    \"4555599999994331=)*;;;;;;+53}7}}77}}}7343=++=})*;*_)72599888895549455555499995549459888999\",\n    \"994549999951=)_;;;;;;;;;;*15517}1}}7+2495=+=7}_;;;;;;;_)1994555349955555499955549955988888\",\n    \"99555531=)_;;;;;;;;;;;;;;_1344532}7}34442)+7=_*;;;;;;*___25555354945533559955559999598888$\",\n    \"995331);;;;;;;;;;;;;;;;;;;+3555331135541__}2}_;;;;;;;;;;*+55953355553333595555549994498888\",\n    \"45355+;;;;;;;;;;;;;;;;;;;;;_)=7777}77}7___23}_;;;;;;;;;;;)595553354453335535955559895988$9\",\n    \"33542_;;;;;-;;;-;;;;;;;;;;;;;)=}}}7777)**_237_;;;;;;;;;;;)55554455545533333555455554548999\",\n    \"5594+;;;;--------;;;;;;;;;;;;_+7}}777=);;;)=);;;;;;;;;;;;)55499995555533333349999455449998\",\n    \"5443_;;;----------;;;;;;;;;;;;_=}}}7=+);;;)+;;;;;;;;;;;;;_5999999945553335499999889949998$\",\n    \"4441*;;;-----------;;;;;;;;;;;;+7}}7+)_;;;)+;;;;;;;;;;;;;_24999999945533354499998889999988\",\n    \"4947;;--------------;;;;;;;;;;;_=7}=+)_;;;)+;;;;;;;;;;;;;;7499999445553333549998888999988$\",\n    \"445);;---------------;;;;;;;;;;;)77+))*;;;)+_)_;;;;;;;;;;;+449994555553333335998899999998#\",\n    \"441_;;----------------;;;;;;;;;;_+=+));;;;)+)+7==+++);;;;;+5554555555533354535499499999988\",\n    \"447;;;-----------------;;;;;;;;;;_)))_;;;;)++77}}}}11=*;;_24555544945553354955544988999988\",\n    \"45);;;------------------;;;;;;;;;;)))_;;;;)+++77}}111}+;;;+5455544945555554449459988944988\",\n    \"43_;;--------------------;;;;-----_))_;---))_)+=7}}}1}+;;;;_555544945555554445555998944999\",\n    \"47;;------------------------------;_)_;---))---;)+=77+_;;;_7544555445555554553594449944988\",\n    \"3_;--------------------------------*__;---)_-----;;_*;;;;_35444445555555555554999955555999\",\n    \"2_;;-------------------------------;_*;;--)_----;;----__;+55444444555555555549999945533599\",\n    \"53+;---;--;;------------------------_;;;-;)_------;--;*)=544444444455555555444555555533555\",\n    \"551;;;;;----------;;))))_*-----;;;--;;;;-;)_---__-;;+2544444444444555555555555555555555555\",\n    \"555+;;;;---------;)++++);__;----;;-------;)_;----+5544444444444444444455555555555555555555\",\n    \"55551+_;--------;)++======+*----;;--;;;;;;));;;;;;}544444444444444444455555555555555555555\",\n    \"55555551+;;;----;_)++++=77);---:----;+++)_)_;;;;;;_}54444444444444444455555444555555555555\"\n  ],\n  [\n    \"8888999888888888$8$899999944449444449445499888888$8888889999999945555555499888888800&88999\",\n    \"9999999888888888889999988994449955544999444498888$88999999944455499555545554498888$00&&#89\",\n    \"9999988#$#$$8999999999888432211}==}}13499944998$8$88999988888995549555599955554999888###89\",\n    \"99999$$##$899998889999889}++)_)__)))))+75999999989999988$$8888944555555999944555454988###8\",\n    \"8899988999999988888899953=)____**_____))+3988899999888888888888999555559889444999954498#&#\",\n    \"889999999999988$88899227+))______))++=+))}988899998888888888888894555554945499999994449988\",\n    \"89999899888899988899991)))+=7}111133332}++499999999888988888888889555555599454999994499994\",\n    \"88998889998898899998$81))=}}}}11222233327+355998899499998888888999555555988994494555998949\",\n    \"99998888999998$#$898$85))=}7777}11111111}1559988888944554988888455445554888889449994494449\",\n    \"99999988899998$$0#998897)77======}117}1112499888888899445599945549945554988884988899444998\",\n    \"9999999444999988$#89883}+7777}}77712233322999998889898999554994555445555988894888889949999\",\n    \"99988889999999988889984}}7777777==}123322599999888888899949988889555555599889988$899994444\",\n    \"8888888949899999888999941}7777777}12222355554998889894444449988899455555999949888999889499\",\n    \"888889444989994499499994451777====}1112595555499999955499994449999945555455454989998889499\",\n    \"8888894454455555554998884517==777}11212992322355455555998889444999455555599994444999888444\",\n    \"99999455549995555549999955}==++++=7}11151====}53355999988888945545555555499989444999944554\",\n    \"55555559999995555554995})}}=======7}11}32=+==122354999998888994555553555499994554499889455\",\n    \"45555999999995494531}+_;;)17======7}11755+++=})*__)=}3499888895549455555499995549459888999\",\n    \"9945499999995553}+_;;;;;;;15177}}77}}+143=+=7}_;;;;;;;*)=395553349955555599955549955988888\",\n    \"995555999993}+)*;;;;;;;;;;+345}7117=+15442+7=_;;;;;;;;;;;_1553354945533559955559999598888$\",\n    \"995333551=)_;;;;;;;;;;;;;;=254453}7}34442)}2}_;;;;;;;;;;;;)5453355553333595555549995498888\",\n    \"4533533);;;;;;;;;;;;;;;;;;*1333111}1}11}__23}_;;;;;;;;;;;;*15553354453335535955559895988$9\",\n    \"335444=;;;;;;;;;;;;;;;;;;;;;;)=}}77777=);_33=*;;;;;;;;;;;;;1449455545533333555455554548999\",\n    \"559995);;;-----;-;;;;;;;;;;;;*+=}}}}77+_;;)=);;;;;;;;;;;;;;}499995555533333349999455449998\",\n    \"444441_;;---------;;;;;;;;;;;;_=77777=)_;;)+;;;;;;;;;;;;;;;+49999945553335499999889949998$\",\n    \"44445);;-----------;;;;;;;;;;;;)=7777+)*;;)+;;;;;;;;;;;;;;;)549999945533354449998889999988\",\n    \"49945_;;------------;;;;;;;;;;;*+=77++);;;)+;;;;;;;;;;-;;;;_14499445553333549998888999988$\",\n    \"44443_;;-------------;;;;;;;;;;;_==+)));;_)=+))))_;;;--;;;;;74994555553333335998899999998#\",\n    \"4444};;---------------;;;;;;;;;;;)+)))_;)++=7}}}117;---;;;;;744555555533354535499499944988\",\n    \"4444=;;;--------------;;;;;;;---;;)))___)++==}}}11})--;;;;;_355544945555554945554988999988\",\n    \"4445);;-----------------;;;-------_))_;;*_)++=}}}1}*;--;;;;)355444945555554449459988944988\",\n    \"4453);;;;----------------;;-------;))_;---))_)+7}}+;;;;;;;--;)3444945555554445555998944999\",\n    \"9442_;;;------------------;;-------_));;--)_--;_));;;;;;;;-;;)3455445555554553544449944988\",\n    \"994};;---------------------;-------;__*;--)_-------;;;;;;;;_154445555555555554999955555499\",\n    \"445+;;-----------------------;------_*;;-;)_---;;--;_;;;;;)3444444555555555544999945533599\",\n    \"555+*;-----------:-----------;;;;;--__;;;;)_-------;;;;;_+34444444455555555444555555533555\",\n    \"5553);-------------------------;;;--;__;;;)_------;;)1544444444444555555555555555555553555\",\n    \"5555+;;;------_))+);------------;;---;;;;;)_;----_3444444444444444444455555555555555555555\",\n    \"55553);;;---;+77=77+;------------;-----;-_)_;;;;;;+544444444444444444455555555555555555555\",\n    \"5555537);;;)}1}77}}});---------:-----____))_;;;;;;;=54444444444444444455555444555555555555\"\n  ],\n  [\n    \"8888999888888888$$$88999999444944449944549988888888$88889999999945555555499888888800&88999\",\n    \"9999999888888888889999988999999945549999444498888$88899999994455499555545554498888$00&&#89\",\n    \"9999988#$#$$89999999998889445545559998889944998$$$88999988888995549555599955554999888###89\",\n    \"99999$$00#89999888999988952}7}++)+++}259899999998999998$$$8888944555555999945555454988###8\",\n    \"889998899999998$888899947)))))_)))_))++=14988899999888888888888999555559889444999954498#&#\",\n    \"889999999999988$88899453=)____;_____)))))1988899998888888888888894555554945499999994449988\",\n    \"89999899888899988899995}+)))))))+=}}}}=))7999999999888988888888889555555599454999994499994\",\n    \"88998$89998898899998$82++}}}}1112223331=)+555998899499998888888999555555988995494555998949\",\n    \"99998$$899999$$##898$8})=}}}}}111223333}++359988888944554988888455455554888889449994994449\",\n    \"99999988899998##&#98884==7====7}1}}}1111+2499888888899445599945549945554988884988899444998\",\n    \"999999999999998$$#898893}7==+===121}}122}1499998889898999554994555445555988894888889949999\",\n    \"99988889999999988889882}3}777777122233221299999888888899949988889555555599889988$899994444\",\n    \"888888899989999988899941}17777==}112222235554998888894444449988899455555999949888999889499\",\n    \"88888844998999449949999433}7777}}111222595555499999955499994449999945555455454989998889499\",\n    \"888889444445555555499888943}}7==7}12112443333555455555998889444999455555599994444999888444\",\n    \"9999995554999555554999894527==77}11111153===7253355999988888945545555555499989444999944554\",\n    \"445555499899955555549999531=++=+==}111111===7345554999998888994555553555499994554499889455\",\n    \"455549999899954945554941++1=======}1111}1++=7}))+=}259999888895549455555499995559459888999\",\n    \"994549999999449995317+_;;*11=7====7}1}72}=+=}7*;;;;;;*)+}245553349955555599955549955988888\",\n    \"99555499999459951=);;;;;;;+55}77}}7}7+}555}7+_;;;;;;;;;;;;)155354945533559955559994598888$\",\n    \"99553559999517)_;;;;;;;;;;_15431}17==1544432+*;;;;;;;;;;;;*)353555553333595555549995498888\",\n    \"9553535531=)*;;;;;;;;;;;;;_1354452}}25443733+*;;;;;;;;;;;;;;7555354455335535955559895988$9\",\n    \"33544452);;;;;;;;;;;;;;;;;;)}}11}77777}=_+53)*;;;;;;;;;;;;;;)44455545533333555455554549999\",\n    \"5599994=;;;;;;;;;;;;;;;;;;;;;;)=}}}}}7=)__+=_;;;;;;;;;;;;;;;)54995555533333349999455549998\",\n    \"4444445+;;;;-;;;-;;;;;;;;;;;;;_+=7777=+)*;));;;;;;;;;;;;;;;;*1499945553335499999889944998$\",\n    \"4444443);;;--;;;--;;;;;;;;;;;;;)==77=++);;));;;;;;;;;;;;;;;;;=4449945553354449998989999988\",\n    \"9999941;;;---------;;;;;;;;;;;;;)===++));;+);;;;;;;;;;;;;;;;;)544445553333549998888999988$\",\n    \"494444};;;----------;;;;;;;;;;;;*+++++)_;*+++)))_;;;;;;-;;;;;;}44555555553335998899999998$\",\n    \"4944447;;------------;;;;;;;;;;;;_)))))_)++==}}}11}_;;---;;;;;=445455555354535494499944988\",\n    \"499944=;;-------------;;;;;;;----;))))__))+++}}}}}}+;---;;;;;*}444945555554945554988999988\",\n    \"444445+;;--------------;;;;-------;)))__))+++7}}}}1+;---;;;;;)3444444555554449459988944988\",\n    \"444445+;;---------------;;;--------)))_;-;))))=7}}});;;;;;;;-;;+34444555554445555998944999\",\n    \"994445);;;;---------------;;-------;))_;;;);---;)++_;;;;;;;;---;+5444555554553544549944988\",\n    \"999445);;;-----------------;;-------___;;;);-----;;;;;;;;;;;-;_}54454555555554999955555499\",\n    \"999945_;--------------------;;;-----*__;;;);---;---;_;;;;;;;;=5444455555555544999945533599\",\n    \"555551_;---------------------;;;;;--;)_*;;)_----------;;;;;*=54444444555555444545555533555\",\n    \"555551*;;--;;;;---------------;;;;--;))_*_)_;--------;;)=135444444444555555555555555553555\",\n    \"555555)))+=1}}7+_;--------------;;---_____)*;;;----)13544444444444444455555555555555555555\",\n    \"5555551)+}}}77}}});--------------;---;;--;);;;;;;;;_35444444444444444455555555555555555555\",\n    \"55555552221}}}}11}_------------:-----;-;;*);-;;;;;;;=5444444444444444455555444555555555555\"\n  ],\n  [\n    \"8888999888888888$$$88999999944944449944449988888888$88889999999945555555499888888800&88999\",\n    \"9999999888888888889999988999999945449999444498888$88899999994455499555545554498888$00&&#89\",\n    \"9999988#$#$$89999999998889999994549988889944988$$$88999988888995549555599955554999888###89\",\n    \"99999$$00#899998889999888955332111359998899999998899998$$$8888894555555999945555444988###8\",\n    \"889998899999998888889999317+7)))))))+=}149988899999888888888888999555559889444999954498#&#\",\n    \"889999999999988$88889943=)____))____))))+1988899998888888888888894555554945499999994449988\",\n    \"899998998888999888999941+)___;___)))+)__)+999999999888988888888889555555599454999994499994\",\n    \"88998889998898899998#841======7}1123317)))555998899499998888888994555555988994494555998949\",\n    \"99998$$8999998$##898#82+7}}}}1111223331=))259888888944554988888455455554888889449994494449\",\n    \"99999988899998##&#98885+=}77}}111123332})+599888888899445599945549945554988884988899444998\",\n    \"999999994999998$$#898882}7++++=}17+=}111+}999998889898999554994555445555988894888889949999\",\n    \"9998888999999998888988953}7===7}22112322}139999888888899949988899555555599889988$899944444\",\n    \"88888889998999998889995}51}7777}1212222222554998889894444449988899455555999949888999889499\",\n    \"88888894498999449949999513}777=}1122222355555499999955499994449999945555455454989998889499\",\n    \"8888894444455555559998889517===7}111111555555555455555998889444999455555599994444999888444\",\n    \"999999555499955555499988943}7777}1111113}===}555355999988888945555555555499989444499444554\",\n    \"4455554998999554555499994537====7}}11111====}495554999998888994555553555499994554499889455\",\n    \"4555499998999549955549995157=++++=}11111=++=}1}}125999999888895549455555499995559459888999\",\n    \"99454999999944999455545}))1}====++7}111}====});;;;*_))=13495533349955555599955549955988888\",\n    \"99555499999459999431+)_;;;+31======}}}=}3177)_;;;;;;;;;;;*)=35354945533359955559994598888$\",\n    \"9955355999955993}+_;;;;;;;;155}7}}}77=}54521_;;;;;;;;;;;;;;;)35555553333595555549995498888\",\n    \"95555355995317)_;;;;;;;;;;;}3545117=71544531_;;;;;;;;;;;;;;;*755554455335535955359895988$9\",\n    \"335494533}+);;;;;;;;;;;;--;+235553}}12353351_;;;;;;;;;;;;;;;;)5455545533333555455554549999\",\n    \"54999945}_;;;;;;;;;;;;;;;--;))+==++=====))=+;;;;;;;;;;;;;;;;;_2495555533333349999455544998\",\n    \"44444445+;;;;;;;;;;;;;;;;;;-;;_)+======+)_+_;;;;;;;;;;;;;;;;;;=49945555335499999889944998$\",\n    \"44444445);;---;;--;;;;;;;;;;;;;)++====+))_+_;;;;;;;;;;;;;;;;;;)549945553354449998989999988\",\n    \"99999995_;;--------;;;;;;;;;;;;;)====++))_+_;;;;;;;;;;;;;;;;;;*14445555333549998888999988$\",\n    \"99994442_;;---------;;;;;;;;;;;;_++=+++))_+_;__;;;;;;;;;--;;;;;)5555555533335998899999998$\",\n    \"49444441*;;----------;;;;;;;;;;;;_++))))_)+_;_++)__;;;;;--;;;;;*24445555554535494449944988\",\n    \"99994441*;;-----------;;;;;;;;;;;;))))))__+_))+=7}}}}=);--;;;;;*14444555554945554988944988\",\n    \"44444441*;;------------;;;;;-;;;;;;)))))__+_)+++7}}}}1});-;;;;;)54444555554449554988944988\",\n    \"44444441*;;;------------;;;--------_))))__+))+++=}}}}1}+;;-;;;;;)}544555554445555498944999\",\n    \"99994941;;;;;------------;;--------;))))_)+;-;))+=}}}}=);;;;;;---;)54455554553544549944989\",\n    \"9999994};;;;---------------;--------_)))__)------;_)+=)*;;;;;;-;;)144455555554999955555499\",\n    \"9999994};;;-----------------;;------*)))__);--::----;;;;;;;;;;;;}5444455555544999945533599\",\n    \"55555557_;;;;----------------;;-----;))))));;-----;---;_;;;;;;*}54444455555444555555533555\",\n    \"55555551111}}}+_;-------------;;;;---))))));;;----------;;;)+73444444555555555555555533555\",\n    \"555555531}}}}11}_;--:----------;;;---_)))));-;;;;----;))=154444444444455555555555555555555\",\n    \"555555311}}11111=;;-------------;;;--;___));;-;;;----_254444444444444455555555555555555555\",\n    \"33355317}}111111}_-----:-----:-:--;---_;;_)*;--;;;;;;;754444444444444455555444555555555555\"\n  ],\n  [\n    \"8888999888888888$$$889999999449444499444499888888$8$88889999999945555555499888888800&88999\",\n    \"99999998888888888899999889999999454499994444888$8$88899999994455499555545554498888$00&&#89\",\n    \"9999988#$#$$89999999998889999994449988889944988$$$8899998888899554955559995555499988$###89\",\n    \"99999$$00#8999988899998$8994555549998888899999998899998$$$8888894555555999944555444988###8\",\n    \"889998899999998$$$889998853}1}=++++=1254898888999998888$8888888999555559889444999954498#&#\",\n    \"889999999999988$88889995}++)+))))_))++++=3988899998888888888888894555554945499999994449988\",\n    \"8899989988$89998889988851+___*______))_)))299999999888988888888899555555599454999994499994\",\n    \"88998$89998898889998#$95}+)))))+=7}}}}+)_)155998899499998888888994555555988994494555998949\",\n    \"99998$$899999$$##898##92}}}}}1112223331=))759888888844554988888455455554888889449994494449\",\n    \"9999988888999$##&#98#$9==}}}}1111233332}+)799888888899445599945549945554988884988899444998\",\n    \"999999999999998$$#898$83}1=+==}}}}7}1121+)399998889898999554994555445555988899888889949999\",\n    \"99988889998899988$$98$8951=++==1317712227739998888888899949988889555555599889988$899944444\",\n    \"88888889998999998889999351}777713322332221254998888894444449988899455555999949888999889499\",\n    \"88888894998999949999899513}77==}1112222223555499989955499994449998945555455454989998889499\",\n    \"88888944444445544499988855}7777}1111222125555555455555998889444999455555599994444999888454\",\n    \"998999555499955555999988943}7===}111111}===71955355999988888945555555555499989444499944554\",\n    \"44455549989995545554999844517777}1111111===71994559999998888994555553555499994554499889455\",\n    \"4455499888999549955599994552===++=7}1111++==1455554999998888895549455555499995559459888999\",\n    \"9945999999994499945559993}}2====++7}111}===7}___)+=}13549994555349955555599955549955988888\",\n    \"99555499899949998955521=)_)37======}}11}}}7=)*;;;;;;;;;_)+7135354945533359955559994598888$\",\n    \"9945555999944994531=_*;;;;*151777777}}7}5327_*;;;;;;;;;;;;;;_}5555555333595555549995498888\",\n    \"945553549945443}+)*;;;;;;;;+34517}}7==15453}_;;;;;;;;;;;;;;;;_}555445533553595535999598889\",\n    \"3554994335317)_;;;;;;;;;;;;+235453}7}3544557_;;;;;;;;;;;;;;;;;)555445533333555455554549999\",\n    \"549999953});;;;;;;;;;;;;;;;;}111}7==77}12}});;;;;;;;;;;;;;;;;;*145555533333349999455544998\",\n    \"444444445);;;;;;;;;;;;;;;;;;;;_+=7==7777+++;;;;;;;;;;;;;;;;;;;;+4945555335499999889944998$\",\n    \"444444445_;;;;;;;;;;;;;;;;;;;;;)+777777=+++;;;;;;;;;;;;;;;;;;;;_54445553354449999989999988\",\n    \"999999993_;;;;;;;-;;;;;;;;;;;;;;+==777=++++;;;;;;;;;;;;;;;;;;;;;}445555335549999888999988$\",\n    \"99994444};;;-------;;;;;;;;;;;;;_+==7=+++++;;;;;;;;;;;;;;;;;;;;;)555455555335499899444998$\",\n    \"99444444};;;;-------;;;;;;;;;;;;;)+==++++++;;;;;;;;;;;;;;;-;;;;;;1445555554555594449944988\",\n    \"99994994};;;---------;;;;;;;;;;;;*+=++++))+;;;;;;;;;;;;;;---;;;;;+444555554945554998949988\",\n    \"444444441*;;;---------;;;;;;;;;;;;_)))++))+;;;;;;;;_++)__;;;;;;;;7444455554499554988944988\",\n    \"444444441*;;;;---------;;;;--;;;;;;))))))));;;;;;_)+=7}}}}}+_;;;;)154455554945555498944999\",\n    \"99999994};;;;;----------;;;;--;;;;;*)))))));;;;;*_)+=7}}11117);;;;;;}455554455544549944989\",\n    \"99999994}))_*;------------;;;--;;;-;)))))));--;;;_)+==7}}1117+*;;;;_1545555554999955555499\",\n    \"999999991}77}7+_;----------;;;------_))))));------;*)+=7}}}}=);;;;+54455555544999955533599\",\n    \"555555551}}}111}+;-----------;------;))))));-------:--;_)+++)_;;;_244455555444455555533555\",\n    \"55555552}}111111});------------------_)))))*;------:-----;;;;;;;_1444455555554555555553555\",\n    \"555555551}1211111+;------------;-----_)))))_;----------;---;_)=154444455555555555555555555\",\n    \"555555553}}}11111);-------------;;---;_))))_;;--;;-----;))+}354444444445555555555555555555\",\n    \"33333333377777=+_;---------------;;---___))_;;;--;;;---;1554444444444445555544555555555555\"\n  ],\n  [\n    \"8888999888888888$$$889999999449444499444499888888$8$88889999999945555555499888888800088999\",\n    \"99999998888888888899999889999999444499994449888$8$88899999994455499555545554498888$00&&#89\",\n    \"9999988$$#$$89999999998889999994449988889944988$$$8899998888899554955559995555499988$###89\",\n    \"99999$$##$8999988899998$$999944999888888899999998899998$$$8888894555555999944555449988#$#8\",\n    \"889998899999998$$$8899988945333211113999898888999998888$8888888999555559889444999954998#&#\",\n    \"889999999999988$88889999931}77+))))))+=}15988899998888888888888894555559945499999994449988\",\n    \"8899989988$89998889988$95})____))___)))))+}99999999888988888888899555555599454999994499994\",\n    \"88998$899888988899980#$937)_____))))++))_))25998899499998888888994555555988995494555998949\",\n    \"99998$$899999$$##8980#$851}7}}}}1223332})))24888888844544988888455455554888889449994994449\",\n    \"9999988888999$##&088##$9711}}11111233331=))19888888899445599944549945554988884988899444998\",\n    \"999999999999998$$0898#$912177}}111122332}++39998889898999554994555445555988899888889949999\",\n    \"99988889998899988$$98$8855}++++}11==7}121+=4998888888899949988899555555599889988$899944444\",\n    \"8888888999889999888999984517777}232123331}119998888894444449988899455555999949888999889499\",\n    \"88888894998999999999889425}}77=}1122222222155499989955499994449998945555455454989998889499\",\n    \"888889444444444444988888432}777}1222222112355555455555998889444999455555499994444999888444\",\n    \"998999455999955555998888945}7===711111117==71955354999988888945555555555499989444499944554\",\n    \"4445554998999554555499884453}777}1111111===72994559999998888994555553555499994554499889455\",\n    \"4455499888999549955599984555}77=7}}}111}===72945554999998888895549455555499945559459888999\",\n    \"9945999989994498945559994535}===++=}111}===71}}1235559499894555549955555599955549955988888\",\n    \"9955549989894988894455951=+3}======}1111777=)_;;;__)+=}1355555354945555359955559994598888$\",\n    \"994555499994499945551+))_;_13}=====7}11}}227__;;;;;;;;;;;*)+=15555555333595555549995498888\",\n    \"945555549945494317+_;;;;;;;+54277}}777=15537_*;;;;;;;;;;;;;;;_=555445533553595535999598889\",\n    \"5549994555533}+)_;;;;;;;;;;)254521}7=}24445=_;;;;;;;;;;;;;;;;;_}55545533333555455554549999\",\n    \"54999995537)_;;;;;;;;;;;;;;_1355531}135441});;;;;;;;;;;;;;;;;;;)54555553333349999455544998\",\n    \"4944444451_;;;;;;;;;;;;;;;;;_))+++++==7117+;;;;;;;;;;;;;;;;;;;;*}445555535499999899944998$\",\n    \"4944444457_;;;;;;;;;;;;;;;;;;;;)+===7777=++;;;;;;;;;;;;;;;;;;;;;)5445555354449999989999988\",\n    \"999999994=;;;;;;;;;;;;;;;;;;;;;_++==7=7=+++;;;;;;;;;;;;;;;;;;;;;_144455555549999888999998$\",\n    \"999999995);;;;;;;;;;;;;;;;;;;;;;)+=777=++++;;;;;;;;;;;;;;;;;;;;;;=44455555335499899444998$\",\n    \"999944445);;;;----;;;;;;;;;;;;;;;+=77++++++;;;;;;;;;;;;;;;;;;;;;;_544555554555494449944988\",\n    \"999999995);;;;------;;;;;;;;;;;;;)+==++++++;;;;;;;;;;;;;;;;;;;;;;;}44455554945554998944988\",\n    \"444444445);;;;;;;-----;;;;;;;;;;;;)=+++))++;;;;;;;;;;;;;;;--;;;;;;+54455554499554998944988\",\n    \"444444445+;;)+=+);----;;;;;-;;;;;;)++)))))+;;;;;;;;;;;;;;;--;;;;;;)54445554445555498944499\",\n    \"999949995))=}}}}7);;----;;;;;;;;;;;))))))));;;;;;;;;;;;;;;;))_;;;;;_=345554455544549944989\",\n    \"999999995777}}111}+_;---;;;;;;;;;;;_)))))));;;;;;;;;;;;;;;;)+==+)_;;;)54555554999955555499\",\n    \"999999995+=}}111}1}+;-----;;;;;;;;;;)))))))*;;;;;;;;;;;;;;_)+7}}}17))345555444999955533599\",\n    \"555555551)=7}11}}11=;------;;;;;;;;;_))))))_;;;;;;;;;;;;_)+==7}}11}7}545554444444455533545\",\n    \"55555555}++7=7}}111+;--------;;;;;;;;)))))+)_;---;-------_)+=7}}11}72445554444445555555555\",\n    \"555555552++7+)+7}7);;---------;;;;;;;)))))+)_;----------:--;)+7}}}7=1544444444545555555555\",\n    \"555555555+)=_;;;;--------------;;;;--)++++++)_;--------------;;_)+=}3544554555555555555555\",\n    \"3333333331+=_;;;;----------------;---;)))))))_;;----;;----)_;;--;)135444554444555555555555\"\n  ],\n  [\n    \"8888999888888888$$$889999999449444499444499888888$8$88889999999945555555499888888800088999\",\n    \"99999998888888888899999889999999444499994449888$8$88899999994455499555545554498888$00&&#89\",\n    \"9999988$$#$$89999999998889999994449988889944988$$$8899998888899554955559995555499988$###89\",\n    \"99999$$##$8999988899998$$999999999888888899999998899998$$$8888844555555999944555449988#$#8\",\n    \"889998899999998$$$889988$999444999999888888888999998888$8888888999555559889444999954498#&#\",\n    \"889999999999988$888899999955211}+++++=1344988899998888888888888894555559945499999994449988\",\n    \"8899989988$89998889988$8951+))+))))_))+)+=}59999999888988888888899555555599454999994499994\",\n    \"88998$8998889888999$0###85})___*_____))))))+3498899499998888888994555555988994494555998949\",\n    \"99998$$899999$$0#89$&00#93}+))))+=7}}}}7+__)3988888844544988888455445554888889449944994549\",\n    \"9999988888999$##&088####91}1}}11112233331+))1988888899445599944549945554988884988899444998\",\n    \"999999999999998$$0898#$$4721}}}1111233331=))1998888898999554994555445555988894888889949999\",\n    \"9998888899889998$$$98$$$9331====}}}7}}112})+598888888899949988889555555599889988$899944444\",\n    \"888888899988999988899988955}=+==}22}7}1221+}5998888894444449988899455555999949888999889499\",\n    \"8888889498899999999988994351}777}232222222113499989955499994449998945555455454989998889499\",\n    \"8888884444444444449888889331777=7}11122212225555455555998889444999455555499994444999888454\",\n    \"9889994559999555559988889453}7=77}1111117===}455354999988888945555555555499989444499944554\",\n    \"4444554998999554555999889445177=7}111111===71994559999998888894555553555499994554499889455\",\n    \"44554998889995499555999844555}777}111111====1955354999998888895549455555499945559459888999\",\n    \"994599998899449894555999455537==+++=}111====}555555559999894555549955555599955549955988888\",\n    \"995554998889498889445499551}37===++71111}7=7+)+=}1135549995555354945555359955559994598888$\",\n    \"99455549999449994559431}+))+3}======}111}121_*;;;;;;_))+7}25455555555333595555549995498888\",\n    \"94555554994549955317)_;;;;;_55}=====7}}77331_*;;;;;;;;;;;;;_)=1555445533553595535999598889\",\n    \"5549994555555317+);;;;;;;;;;1545}7}7===15451_;;;;;;;;;;;;;;;;;*=55445553333555455554549999\",\n    \"549999955337+)_;;;;;;;;;;;;;1354431=7}3543}+;;;;;;;;;;;;;;;;;;;_14555555333349999455544998\",\n    \"49444444457*;;;;;;;;;;;;;;;;+}}}7=77}12552=_;;;;;;;;;;;;;;;;;;;;+445555555499999899944998$\",\n    \"4944444453);;;;;;;;;;;;;;;;--;;)+++++++=}7+;;;;;;;;;;;;;;;;;;;;;_1444555554449999989449988\",\n    \"9999999943_;;;;;;;;;;;;;;;;--;;_+=7=7777==+;;;;;;;;;;;;;;;;;;;;;;)54455555549999888944998$\",\n    \"999999995}_;;;;;;;;;;;;;;;;;;;;;)=======+++;;;;;;;;;;;;;;;;;;;;;;*24445555555499894444998$\",\n    \"999944445=;;;;-----;;;;;;;;;;;;;_=7=====+++;;;;;;;;;;;;;;;;;;;;;;;}44455554555594449944988\",\n    \"999999995=;;;;;---;_)));;;;;;;;;;+77=++++++;;;;;;;;;;;;;;;;;;;;;;;)54455554945554998944988\",\n    \"4444444457;;;;;;)+}}}=);;;;;;;;;;)77=++++++;;;;;;;;;;;;;;;;;;;;;;;_24445554449554998944988\",\n    \"4444444451_;;;_====7}7+_;;;--;;;;;+7+++))++;;;;;;;;;;;;;;;;;-;;;;;;}4444554445555499944499\",\n    \"9999499957_;;;)=777}1}=);;---;;;;;_+++))))+;;;;;;;;;;;;;;;;--;;;;;;_1544454455545549944989\",\n    \"999999994+_;;;)++=7}1}+;;;;;-;;;;;;))++)))+;;;;;;;;;;;;;;;;----;;;;;;)15445554999955555499\",\n    \"999999994+_;;;)=++=}}});-;;;;;;;;;;_))))))+_;;;;;;;;;;;;;;;-------;;;;_3444444999955533599\",\n    \"555555551_;;_++)))+7}7_----;;;;;;;;;))))))+)*;;;;;;;;;;;;;-------;;_)_75444444444455533545\",\n    \"555555557)_)++);;;_))*------;;;;;;;;_)))))+)_;;;;;;;;;;;;;------;;_)))75544444444555555555\",\n    \"55555555})_*++_;;;;----------;;;;;;;_)))))+))_;--;;;;;;;;-------_))++=7}134444444445555555\",\n    \"555555553+;;)_;;;-------------;;;;;;;))))))))_;;---;;;;----::--;_)+==777}35444445555555555\",\n    \"3333333331_;;;;;---------------;;;;;;_)))))__)_;;---------------;)+=7}}1254444444455555555\"\n  ],\n  [\n    \"8888999888888888$8$88999999944944449944549988888888888899999999945555555499898888800088999\",\n    \"9999999888888888889999988999999945449999444498888$88899999944455499555545554498888$00&&#89\",\n    \"9999988$$#$889999999998889999994449988889944998$8$88999988888995549555599955554999888###89\",\n    \"99999$$##$8999988899998$$999999999888888899999998999998$$$8888945555555999944555544988#$#8\",\n    \"8899988999999988$8889998$999949989898888898888999998888$8888889999555559889444999954498#&#\",\n    \"889999999999988$8888999999994533521}112499988899998888888888888994555554945599999944449998\",\n    \"8999989988889998889988$89943}}===)))))))+7}39999949888988888888899555555599554999994499944\",\n    \"88998$89998898889998&0#089527)____)____)))))=399899449998888888994555555998945494555998949\",\n    \"99998$$899999$$0#898&&0&8451+)____)))++++)__)}98888945554988888455455554988889449945494549\",\n    \"9999988889999$##&098###08431}77}}}11223321+))798888899445599945549945554988884988899444998\",\n    \"999999994999998$$0898#$$84}71}}}}1111333327))+98889998999554994555445555988894888889449999\",\n    \"99988889998899988$#98$8$841137==}}1}1112221+)}98888888999449888995555555999849888899944444\",\n    \"88888889998999998889999899532=+++=11}==}112=+599989894444449988899455555999949888999889499\",\n    \"88888894998999949999889994552}7777122112332}1199999955599994449999945555455554989998889499\",\n    \"88888944444444444498888894331777==}1112211221355455555998889444999455555599994444499888454\",\n    \"99899955549995555599888894533}777}}12111}===}355354999988888945555555555499989444499444554\",\n    \"4445554998999554555499889445517====}}}}1}===}595359999998888994555553555499994554449889555\",\n    \"445549989899954995559998455555}777}}11117++=}555354999998888895549453355499945559459888999\",\n    \"994549998999449894555999455555}7==+=7}117===}355533559999894555349955355599955549955988888\",\n    \"995554998989498889445499455535}==+++7}11}}=7}+}3555555499955533549455333599555599945498888\",\n    \"995555599994499945599555217=}57===++7}1111221__*_)+7}1355335455355555333595355549995598888\",\n    \"9455555499454995555527+___;_=51====+=7}111331__;;;;;;;;_)+71355555445533553595335994598889\",\n    \"554999455555553317+);;;;;;;;)545}=77=77773552_*;;;;;;;;;;;;;;_)755545533333555455554549999\",\n    \"549999955553}=+)*;;;;;;;;;;;+33443}}7=7155}17_;;;;;;;;;;;;;;;;;;)5555553333349999455544998\",\n    \"444444444531_;;;;;;;;;;;;;;;)1232331}15444}+_;;;;;;;;;;;;;;;;;;;;}455553354999999999449988\",\n    \"49444444533);;;;;;;;;;;;;;;-;;;_)+++==7}327);;;;;;;;;;;;;;;;;;;;;+544555354449999999449999\",\n    \"99999999433_;;;;;;;;;;;;;;;---;;)======777=);;;;;;;;;;;;;;;;;;;;;*144555555449998899444988\",\n    \"99994999437*;;;;;;;;;;;;-;;---;;)=++====7=+_;;;;;;;;;;;;;;;;;;;;;;)5445555555499894444498$\",\n    \"9999444953);;;------;;;;-;;;;;;;_+==+====++_;;;;;;;;;;;;;;;;;;;;;;;}4455554555594449444988\",\n    \"9999499953_;;;-------;_))=}}7+_;;+===++=+++_;;;;;;;;;;;;;;;;;;;;;;;+5455554955555998944988\",\n    \"4444544453_;;-------*+77=+++);;;;_===++++++_;;;;;;;;;;;;;;;;;;;;;;;)5445554444554999944988\",\n    \"4444544453);;------;+7=+=7}}}=);;;+7=++))++_;;;;;;;;;;;;;;;;;;;;;;;_3444554445335499955499\",\n    \"9999499952);;------*)+++=7}7+_;;;;_+=+))))+_;;;;;;;;;;--;;;;;;;;;;;;)344554455545559955999\",\n    \"999999995})*;------;)+++=77+_;;;;;;)+)))))+_;;;;;;;;;;--;;;;---;;;;;;_34444554499955555499\",\n    \"9999999957_;;--*_;;;_++++_;---;;;;;*))))))+)_;;;;;;;;;--;;;;-----;;;;;;7544444999455333599\",\n    \"555555552_;;;*____;;*)))_-----;;;;;;__))))+)_;;;;;;;;;;;;;;;---------;;;244444445555533555\",\n    \"55555555=__;;;__)*;;;;--------;;;;;;__))))+))*;-;;;;;;;;;;-----------;;_344444445555555555\",\n    \"55555555+*;;;;)+_;;;---------;;;;;;;____))+))_;;-;;;;;;;;;;-----------;;155444455555555555\",\n    \"555555551+;;-;;;;-------------;;;;;;*)))_))))__;;--;;;;;;;;----------;;_+7}254445555555555\",\n    \"3333333332_;;;;;;-------------;;;;;;;))))))))))*;---;;;;;;----::::--;*))++==7}255455555555\"\n  ],\n  [\n    \"8888999888888888$8$88999999944944449944549988888888888899999999945555555499898888800088999\",\n    \"9999999888888888889999988999999944449999444498888$88899999944455499555545554498888$00&&#89\",\n    \"9999988$$#$$89999999998889999994449988889944998$$$88999988888995549555599955554999888###89\",\n    \"99999$$##$8999988899998$$999999999888888899999998899998$$$8888944555555999944555544988#$#8\",\n    \"889998899999998$$$889998$999999888888888898888999998888$8888888999555559889444999954498#&#\",\n    \"889999999999988$8$889999999999499994554999888899998888888888888994555554945599999944449998\",\n    \"8899989988$89998889988$899994321}}=))))))=}35949949888988888888899555555599554999994499994\",\n    \"88998$8999889888999$&0#089993}+)___))___)))++=59899449998888888994555555998945494555998949\",\n    \"99998$$899999$$0#89$&&0&899527)___;_____)))__)+9888945554988888455455554988889449945494549\",\n    \"9999988888999$##&088###089952}=++===}11122}+)_)4988899455599945549945554988884988899444998\",\n    \"999999999999998$$089$###8942=}}}}}1111233331+))3989998999554994555445555988894888889449999\",\n    \"88988888998899988##98$$#8942=1}77}}111233331=)+598888899944988899555555599984988$899944444\",\n    \"8888888999889999888999889995131++++71}=+=}11})}9989894444449988899455555999949888999889499\",\n    \"888888999989999999998899999453}====7131111221715999955599994449999945555455554989998889499\",\n    \"888889444444444444988888994323}777=7111121322115455555998889444999455555599994444499888454\",\n    \"998999544999945555998888944525177==7}111}===7155354999988888945555553555499989444499444554\",\n    \"44445549989995545554998894445537===+=}1}}+==7394359999998888994555353335499994554449889555\",\n    \"445549988899954995559998444554417===7}11}++=7343334999998888895549453335499945559459888999\",\n    \"99459999889944989945499845555542}7=+=7}}}=++7333333359999894553349953333599955549955988888\",\n    \"99555499888949888944449945555551=+++++711}=711}3555555499953333549455333599533599945988888\",\n    \"9945554999944989455995495321115}==+++=}1112233__)71355555335455355553333595355549995598888\",\n    \"94555554999549955555431}+))_)751+++++=}}113535)*;;;;*)+=}254555555445333553595335994598889\",\n    \"5549994555555554452}+)*;;;;;;+552=+===7}}15535);;;;;;;;;;;;_)71355545533333555453354549999\",\n    \"54999995555552}7+)_;;;;;;-;;;}3545}7}7==}2}233_;;;;;;;;;;;;;;;;;)1555533333349999455544998\",\n    \"4944444445555);;;;;;;-------;7235553}7}355}}1);;;;;;;;;;;;;;;;;;;_244555354999999999449988\",\n    \"494944444333}_;;;;;;;--------;__)++++=7}35}=);;;;;;;;;;;;;;;;;;;;;=44555554449999999449999\",\n    \"999999999533+;;;;;;-;----------;;)+++++++7=+_;;;;;;;;;;;;;;;;;-;;;)54455555499998899444988\",\n    \"999949994531_;;---;------------;;)++=+====+)_;;;;;;;;;;;;;;;;;--;;;}4455555554998944444988\",\n    \"99994449433+;;-----------------;;)=++++==++);;;;;;;;;-----;;;----;;_3455554553544449444988\",\n    \"99999999433_;;--------------;;;;_)+=+++++++);;;;;;;;;;----;;;;---;;;+545554955555998944988\",\n    \"44445449533_;-----------;))+====++7}=++++++)_;;;;;;;;;----;;;;----;;_344454444554999944988\",\n    \"44445444533);----------;+===++==+_)==++)))+)_;;;;;;;;-----;;;;;;-;;;;}54444445335499455499\",\n    \"99994999431);;--------;)+====7}7===+=+))))+)_;;;;;;;;-----;;;;;;;--;;_34444453545559955999\",\n    \"99999999437_;;--------)++=====77);;_++))))+);;;;;;;;;-----;;---;;;;;;;+5444554499955555499\",\n    \"9999999943+_;----;;--;)++++)__;;;;;;_)))))+)_;;;;;;;;-----;------;;;;;;=544444999455333599\",\n    \"555555553=;;;_;;;;;;;;__)_;-----;;;;__))))+)_;;-;;;;;--------------;;;;;=54444445555533555\",\n    \"555555552_;;;;-;;;_*;;;;--------;;;;___)))+))_;;-;;;;;-----------------;;34444445555555555\",\n    \"55555555};;;;--;;);;;;----------;;;;;___))+)))_;--;;;;-----------------;)55444444445555555\",\n    \"555555553+_;--;-----------:-----;;;;;_)__)+))))_;---;;;-------:--------;_35444444455555555\",\n    \"3333333333+;;;;;----------------;;;;;_))))))))_*;;---;;;------::-------;;+3555544444555555\"\n  ],\n  [\n    \"8888999888888888$88889999994449444449445499888888888888994999999555555554999998888##088999\",\n    \"9999999888888888889999988999999945549999444498888888999999944555599555545554499888$0#00$89\",\n    \"9999998$8$8889999999998889999994449989889944998$8$88999998888945549555599455554999888$$#89\",\n    \"99999$$##$8999988899998$$9999999998888888999999989999988$$8888945555555999945555554988$$#8\",\n    \"889998899999998$$$889998899999998989888889888899999888888888889999555559989544999954498#0#\",\n    \"889999999999988$88889999999999999999955499988899998888888888888994555554945599999944449998\",\n    \"8899989988889998889988$8999999453}}}+)))))+}2544449988988888888899555555599554999994499944\",\n    \"88998889998898899998&00&8999951=))___))___)))+=3994449998888888994555555999945494555999944\",\n    \"99998$$899999$$##898&00&899953})___*;____)))__))588945554998889455455554988884449945494549\",\n    \"9999988888999$##&088#0#0899953}=++===7}11111})_)398899455599945549945555988884988899454998\",\n    \"999999999999998$$0898###899957=}}}}}1111233327))}99999999554444555445555988894988889449999\",\n    \"99988889998899988$#98$$#89995==}}7}}}111233321+)}99898999449888945555555999949888899944444\",\n    \"88888889998899998889998899995271=++++}1}=+7}11=+499995554449998999455555999959888999899499\",\n    \"888888949989999499998899999945517====}12111222}}399955549994449999945555555554989998889449\",\n    \"88888944444444444498888899445152777==71122322211355555998889454999555555599994544499989454\",\n    \"99899954499994555599888894444515}7===7}1}7==7123555999988888955555553555499989444499445555\",\n    \"4445554998999554555499889444455517++++=}}===}545359999998888995555353355499994554449989555\",\n    \"445549988899954995559998444554995}==+=71}++=}553334999998888895549453355499945559459988999\",\n    \"994599998899449899454998455555445}7=++=}}=++7353333359499894553349955333599955549955998888\",\n    \"995554998899498889444499455555545==++++7}}=7123}355555449955333549455333599533599945498888\",\n    \"995555499994498945599549553321}51=++++=}1222115+_)7135555335455355553333545355359995598888\",\n    \"94555554999549955555953317))))+51+++++=7}233}24+_;;;;_)+7154555555445333553595335994598889\",\n    \"55499945555555549951}=)_;;;;;;)553=++===}255244+_;;;;;;;;;;_)=1355545533333555553355549999\",\n    \"5499999555555551}+)_;;;;;;;;;;+5545}7}7==}}1545)*;;;;;;;;;;;;;;;_+255553333349999455544498\",\n    \"444444444555991_;;;;;;;;;;--;;=235553}7}257155);;;;;;;;;;;;;;;;;;;_15555554999999994544998\",\n    \"49494444455595);;;;;;---------;)_)+++=7}13712+;;;;;;;;;;;;;;;;;;;;;+5555554449999999449999\",\n    \"99999999955551_;;;;;;;----------;;)+++++++==+);;;;;;;;;;;;;;;;;-;;;)5555555449998899444988\",\n    \"9999999995555=;;;-;;;;----------;;)+++=+==++)_;;;;;;;;;;;;;;;;--;;;;1555555554999944444988\",\n    \"9999499945553_;;-----;----------;;)===+=+++))_;;;;;;;;---;;;;;----;;_355554553544549444988\",\n    \"9999999945557;;;----------;;)+777))+=+++++++));;;;;;;;-----;;;;----;;=55554455555999944988\",\n    \"444444495555};;---------;)=7=++++)*+==+++++)));;;;;;;;-----;;;;----;;_34444444554999955988\",\n    \"445454444555};;--------_}===+===)_;)==+))++)));;;;;;;;----;;;;;;;;-;;;75444445335499455499\",\n    \"999949994555=_;--------)=7=====++==++=+)))+)))*;;;;;;;;---;;;;;;;;;;;;_5444455555559455999\",\n    \"999999994552)_;-------;)+7}777}});;;)++)))+))_*;;;;;;;----;;;---;;;;;;;7554554499455555499\",\n    \"999999994537_;;---*;;;;++===+))_;;;;_)))))+))_;;;;;;;;----;;;----;;;;;;*254444499455333599\",\n    \"55555554537;;;__;;;;--;))))------;;;;_))))+))_*;;;;;;;-------------;;;;;)34444455555533555\",\n    \"5555555552)_;;;;;;;;;;;;;;-------;;;;__)))+)))_;;--;;;------------------;)5444555555555555\",\n    \"5555555553_*;;;-;;;_*;;;;--------;;;;___))+)))__;--;;;------------------;)5444445555555555\",\n    \"55555555551);;;;;;;;-------:-----;;;;_))))+)))))_;---;;;--------------;;;}5444454455555555\",\n    \"333333355537;;;;;;;--------:-----;;;;__))))))))_*;;---;;----------------;}5444444444555555\"\n  ],\n  [\n    \"8888999888888888$88889999994449444449445499888888888889944999949555555554999998888###88999\",\n    \"9999999888888888889999988999999945549999444498888888999449944555599555555554499888$##0#$89\",\n    \"9999998$8$888999999999888999999444999988994499888888999998888945549555599455554999888$$$89\",\n    \"999998$##$8999988899998$89999999998888888999999989999998888888945555555999955555554988$$$8\",\n    \"889998899999998$$8889998899999998989898889888899999888888888889999555559989554999455498$0$\",\n    \"889999999999988$88889999999999999945521}}}124999498888888888888994555554945599999944449998\",\n    \"899998998888999888998888999999941}=+++))))))++}1549988988888888999555555599554999994499944\",\n    \"889988899988988999980##089999943}+___*___*__))))+35449999888888994555555999945494555999944\",\n    \"99998$$899999$$##898&00&89999451=)_____))++==+)_)79945554998889455455555988884549945494549\",\n    \"9999988888999$##&#98###089999451777}}}}1112332}))+9999455599945549945555988894988899555498\",\n    \"999999999999998$$#898###899994})7}}}}}111123331=))5999999554444555455555998894988889449999\",\n    \"99988889999999988$$98$$$8999451+=}===7}1}}}1111})=9998999549989945555555999949888899944445\",\n    \"88888889998999998889998899999991}7++++=}1177}121+29995554449998999455555999959888999899499\",\n    \"888888949989999499998899999949455}77=7=}12112222115955549994449999955555555554989998889449\",\n    \"8888894444444454449888889994453}5177==+}12333211125355998889454999555555599995544499989454\",\n    \"9989995544999555559988889444495313}====}}===}122355999998888955555553555499989444499445555\",\n    \"4445554999999554555499889444444453}=+++=}===}315354999998889995335333333599994555449989555\",\n    \"44554998989995499555999844455499532}===7}++=}215335999998888895349453333499945559454998994\",\n    \"99454999899944989945499945555594531=+++=7=++}213553359499894553349953333599455559955998888\",\n    \"99555499899949888944549945555555551=+++=7}=711123+}355449953333349555333599533599945498888\",\n    \"995555499994498945499549553311}7}57++====11111}25)**_)=}2355453555555333545353359995599888\",\n    \"9455555499954994555495331}+)__;_751+++===133}7155)*;;;;;;;)+713555445533553545335994598889\",\n    \"5549994555555554994217+)*;;;;;;;=555}=77725272545)*;;;;;;;;;;;;_)7155553333535553355559999\",\n    \"54999995555555995=)_;;;;;;;;;;;;133552}}7}}154447_;;;;;;;;;;;;;;;;;_}555553354999455554498\",\n    \"4444444445554994+;;;;;;;;;-----;}1111221}1=2445=*;;;;;;;;;;;;;;;;;;;_155555499999994544998\",\n    \"4999444945559992_;;;;;;---------;;;_+++=77=131=);;;;;;;;;;;;;;;;;;;;;755554449999999444999\",\n    \"9999999995555557;;;--;;-----------;_+=======7=+_;;;;;;;;;;;;;;;;--;;;+55555549998899444988\",\n    \"999999999555553);;;;;;;------------_+=====+==++_;;;;;;;;;;;;;;;;-;;;;_25555554999944444988\",\n    \"999999994554951*;;-----------------;+=7===++++)_;;;;;;;;--;;;;;----;;;=5555553545559454988\",\n    \"99999999455499};;;-----;;_____;----;)=7=++++++));;;;;;;;---;;;;----;;;_3544455355499444988\",\n    \"44445449455499};;----_=}=)+==);----;_=7=+++++++);;;;;;;;----;;;-----;;;}544444535999455498\",\n    \"444454494554941;;---_==+))=7=)_;---;;+7=+++++++);;;;;;;;----;;;;---;;;;)544455333599455499\",\n    \"99994999955443}_;--;)7==77}}=++);---;_++++++++))_;;;;;;-----;;;;;;;;;;;*244455555554455499\",\n    \"99999999955552+);--;+=+++7}}7+);---;;_))++++++)_;;;;;;;-----;-----;--;;;754555449455333599\",\n    \"9999999995555+_;--;)+7=+++=}});----;;;_))+++++))_;;;;;;-----;--------;;;_25444499455333599\",\n    \"555555445555}_*___)_;)++++);------;;;;___)+)))))_*;-;;;---------------;;;)5444455555533555\",\n    \"5555555555557)__;;;;;;_)));-------;;;;_)))+))))))_;--;;------------------;)545555555555555\",\n    \"5555555555552);;;;;;;;;;;---------;;;;_))))))))))_;---;------------------;_555455555555555\",\n    \"5555555555555+;;;;;__;;*;;--:-----;;;;*)))))))))__;;-------------------;;)3545555555555555\",\n    \"33333355555551_;;;;;;------::------;;;;))))))))))__;;----------:--------;)5444554445555555\"\n  ],\n  [\n    \"8888999888888888$88889999994449544449455499888888888889944999949555555554999998888###88999\",\n    \"99999998888888888899999889999999455499994444988888889994499445555995555555554998888##0#$89\",\n    \"9999998$8$888999999999888999999444999988994499888888999998888945549555599455554999988$$$89\",\n    \"999998$##$8999988899998$89999999998888888999999989999998888888945555555999955555554988$$$8\",\n    \"889998899999998$$$889998$99999998999444532355944499888888888889999555559989554999455498$0$\",\n    \"889999999999988$88889999999999999431=7=))))))+71349888988888888994555554945599999944449998\",\n    \"8999989988889998889988889999999941+)_____)___))))=3988988888888999555555599554999994499944\",\n    \"889988899988988999980##08999994537)_**;;__))))))_)=549999888888994555555999945494555999944\",\n    \"9999888899999$$##898&00&8999999527+++=77}111222}+))555554998889455455555988884549945494549\",\n    \"9999988888999$##&#98###089999993++}}}}}111123332}))149555549945549945555988894988899555498\",\n    \"999999999999998$$#898###89999952)+77777}111111111+)399999554444555455555999894988889449999\",\n    \"99988889999999988$$98$$$899994451==+++++7117=7}1177999999549989945555555999949888899944445\",\n    \"8888888999889999888999889999998952}7====7}111123211245555449998999455555999959888999899499\",\n    \"88888894998999949999889999994984}3277====}111222111355549994449999955555555555989998889449\",\n    \"88888944444555544498888899944449513}77=7}1222222233335998889454999555555549995544499989454\",\n    \"9989995544999555559988889944495553537=+=}===}111255499998888955553553335499999454499445555\",\n    \"444555499999955455549988944444445355}==7}+==}311254999998889995335333333599995555449989555\",\n    \"445549989899954995559998444554995335}==}7++=}211254999998888895349453333599945559454998994\",\n    \"994549998999449899455999455555445333}==}=+++}111131714499995333349953333599455559955998888\",\n    \"9955549989994988894444994555555531237==7===71111}33___)=1335333544455333599533599945498888\",\n    \"995555499994498944499549553217))))13}++==111}}}7143)*;;;;;;_)=}155555533545353359995599889\",\n    \"94555554999549945554953317+_*;;;;;}5527==232}=72545);;;;;;;;;;;;;)=}2553553545335994598889\",\n    \"55499945555555549942}=)_;;;;;;;-;;135451}3527154447_;;;;;;;;;;;;;;;;;)15553535553355559999\",\n    \"5499999555555599991_;;;;;;---;--;;1125553211554457*;;;;;;;;;;;;;;;;;;;)3555554999535554498\",\n    \"494444944555999994);;;;;;---------_))+====+7}2527);;;;;;;;;;;;;;;;;;;;;}554499999994554998\",\n    \"499944994555999995_;;-;;------------;)+77===7}}7+_;;;;;;;;;;;;;;;;;;;;;=554449999999444999\",\n    \"999999999555549991;;;-;;-------------_+777=777=++_;;;;;;;;;;;;;;;;-;;;;)555549998899444988\",\n    \"99999999955555499=;;------;;---------;+77=+===+++_;;;;;;;;;---;;;----;;_255554999944444988\",\n    \"99999999455494553);;;----------------;)=7=+++++++_;;;;;;;;;---;;;---;;;;754555545559454988\",\n    \"99999999455499943);------------------;_=}7+++++++_;;;;;;;-----;;;---;;;;)54455335499444988\",\n    \"44444499455999993+;;---;--------------;)==++++++));;;;;;;----;;;----;;;;;15444535999455498\",\n    \"444454494559994537;;;_))_;------------;_)+++++++));;;;;;;-----;-----;;;;;=5455333599455499\",\n    \"99994999955444445});_)=+_;------------;;))++++++)_;;;;;;;-------------;;;)5455555554455499\",\n    \"999999999555549417777}}7+);-----------;;))++++++))_;;;;;;-------------;;;_1544449455533599\",\n    \"9999999995449991+}}}7}}}7);-----------;;))+)++++))_;-;;;---------------;;;)344499455333599\",\n    \"5555554455549451}=+=}111})------------;;_)+))+++)));--;;------------------;+54445555533555\",\n    \"555555555554445}==++=7}}+;------------;;*)+))))++))_;--;-------------------;24445555555555\",\n    \"5555555555544441+))++7}})------------;;;;)+))))))))_;-----------------;;-;)}54445555555555\",\n    \"5555555555544443))___))_;-------------;;;))))))))))_;;-----------;;;;--;;_3445555555555555\",\n    \"33333355555444451)__;*__;------:-------;;_))))))))__;;----------;_)+)));;=5444444445555555\"\n  ],\n  [\n    \"8888999888888888$88889999999449444449445499888888888888994999944555555554999998888##088999\",\n    \"9999999888888888889999988999999945449999444498888888999949944555599555555554499888$0#00$89\",\n    \"9999988$$$888999999999888999999444998988994499888888999998889945549555599455554999888$$$89\",\n    \"99999$$##$8999988899998$$9999999998999994535554989999998888888945555555999955555554988$$#8\",\n    \"889998899999998$$$889998$9999998899537}7))))))+}134888888888889999555559989544999454498#0#\",\n    \"889999999999988$$$8899999999999984}+))))_))___)))+7598988888888994555554945599999944449998\",\n    \"8999989988889998889988$89999999995})___;;____))))_)=98989998888999555555599554999994499944\",\n    \"8899888998889888999$&0&&89999995517+))+++=}11121}+))59999888888994555555999945494555999944\",\n    \"99998$$899999#$##898&0&&$99999953=+7}}}1111123332}))15554998889455455554988884449945494549\",\n    \"9999988888999$##&098#0#&899999892)+7777}1111222221=)24555599945549945555988894988899455498\",\n    \"999999999999998#$089$###899999445}=7=++++=11}==}11}=99999554444555455555989894988889449999\",\n    \"89988888998899988##98#$#89999449941}7=+===}22112331129999449888945555555999949888899944445\",\n    \"888888899988999988899988999999889133777777}11222221135555449998999455555999459888999899499\",\n    \"8888889499899999999988999999998895121777==711222222355549994449999955555555554989998889499\",\n    \"8888894444444444449888889999444994333}7}}}111111225335998889454999555555599995554499989454\",\n    \"9889995449999455559988889994495555554177}777}111115999998888955555553335499999554499445554\",\n    \"444455499899944455599988944444445354937}}===}211113449999889995355353333599995555449999555\",\n    \"44554998889995999555998844455499535545=}7+==}1111125==249999995349453333599945559459999994\",\n    \"994599998899449899444999445555945332337}=++=}11111147____)=}123549455553599453559955998888\",\n    \"99555499888949888944449945555552}=++337====7}}11}}541_*;;;;;;;_)+7135555599533599955498888\",\n    \"9955554998944989444995495531}+);;;;_1551=111777=}5442_;;;;;;;;;;;;;;_)=1545555359995599889\",\n    \"9455555499959994545495331=+_;;;;;;;;15543333}=724445+_;;;;;;;;;;;;;;;;;_755545335994598889\",\n    \"554999455555555999993=)_;;;;;;;;;;;;13355553}154445+*;;;;;;;;;;;;;;;;;;;_15555553355549999\",\n    \"499999955555559999897;;;;;;;;-;;;--;)++=712}}}1251=_;;;;;;;;;;;;;;;;;;;;;=5549999533554498\",\n    \"99999999955499999994);;;;;;;;;;-------;)+=+=777}7=);;;;;;;;;;;;;;;;;;;;;;)5499999995554998\",\n    \"99999999455499888895);;;;;;;;;;-------;_+==7}}7==+);;;;;;;;;;;;;;;;;;;;;;_2444999999559999\",\n    \"99999999955554999993_;;;;;-;;;;--------;)+=777===+);;;;;;;;;;;;;;;;;---;;;=549998999554988\",\n    \"99999999955445499992_;;-----;;;--------;_++====+++);;;;;;;;;;---;;;---;;;;)344999455554988\",\n    \"99999999455499554551;;;------;---------;;)++++++++);;;;;;;;;---;;;---;;;;;;}55555559555988\",\n    \"99999999955999995555_;;;---------------;;)+++++++));;;;;;;;;---;;;---;;;;;;+55335499454988\",\n    \"49444499455999994545);;;;--------------;;_+++++++));;;;;;;;----;;----;;;;;;)34535999455988\",\n    \"44444449455999445555+;;----------------;;_+))++++));;;;;;;;----;----;;;;;;;_15533599455499\",\n    \"99999999955444499951+_;----------------;;_+))++++))_;;;;;;----;;------;;;;;;}5555354455999\",\n    \"9999999994444499999});-----------------;;_+)))+++)));;;;;;----;-----------;;)3449535335499\",\n    \"9999999995449999995);------------------;;_+))))+++))_;;;;;;;-;;-------------;+599455333599\",\n    \"555554444554944553}7+);----------------;;))))))))+))_;-;;;;_);;-------------;)544455533555\",\n    \"555555545555455531}}1}+_;--------------;;))))+))))))_;--;;_)+=+)));---;;;;;_}5444455555555\",\n    \"55555554555555211}111}=*;--------------;;_)))++)))))_;--;_))+=}}}}+_;;;;;;)544444445555555\",\n    \"5555555455555517}11111}_;;-------------;;_);_))))))_;;;-;_)++=7}}}7);;;;;_2444444445555555\",\n    \"33333355555455517}11117;;----------:----;__;)))___;;;;;---_++=77}7=);;;;)14444444455555555\"\n  ]\n]"
  },
  {
    "path": "js/terminal-ext.js",
    "content": "// terminal-ext.js — Extends an xterm.js Terminal instance with all the custom\n// behavior needed to run the Root Ventures CLI.\n//\n// Usage: call extend(term) once after creating the Terminal, before calling\n// runRootTerminal(). This monkey-patches the term object in place rather than\n// subclassing, which keeps it compatible with xterm addons.\n//\n// TODO: make this a proper xterm addon\n\nconst extend = (term) => {\n\n  // ── State ──────────────────────────────────────────────────────────────────\n\n  term.VERSION = term.VERSION || 3;  // bumped to 4 by `upgrade`\n  term.currentLine = \"\";             // text the user has typed so far\n  term.user = \"guest\";\n  term.host = \"rootpc\";\n  term.cwd = \"~\";\n  term.sep = \":\";\n  term._promptChar = \"$\";\n  term.history = [];\n  term.historyCursor = -1;\n  term.busy = false;\n\n  // Tab completion state — reset on any non-tab keypress.\n  term.tabIndex = 0;\n  term.tabOptions = [];\n  term.tabBase = \"\";\n\n  // Cursor position relative to the start of the user's input (after the prompt).\n  // Uses the raw xterm buffer position minus the prompt's character length.\n  term.pos = () => term._core.buffer.x - term._promptRawText().length - 1;\n\n  // Plain-text prompt string used for length calculations.\n  term._promptRawText = () =>\n    `${term.user}${term.sep}${term.host} ${term.cwd} $`;\n\n  // Deep link: parse the URL hash as a command to run on load.\n  // E.g. /#whois-avidan → runs `whois avidan` (hyphens become spaces).\n  term.deepLink = window.location.hash.replace(\"#\", \"\").split(\"-\").join(\" \");\n\n  // ── Prompt ─────────────────────────────────────────────────────────────────\n\n  // Returns the colorized prompt string for display.\n  term.promptText = () => {\n    var text = term\n      ._promptRawText()\n      .replace(term.user, colorText(term.user, \"user\"))\n      .replace(term.sep, colorText(term.sep, \"\"))\n      .replace(term.host, colorText(term.host, \"\"))\n      .replace(term.cwd, colorText(term.cwd, \"hyperlink\"))\n      .replace(term._promptChar, colorText(term._promptChar, \"prompt\"));\n    return text;\n  };\n\n  // Writes a newline + prompt (default) or a custom prefix/suffix pair.\n  term.prompt = (prefix = \"\\r\\n\", suffix = \" \") => {\n    term.write(`${prefix}${term.promptText()}${suffix}`);\n  };\n\n  // Erases the current input line and redraws the prompt, optionally resetting\n  // the history cursor so the next Up arrow starts from the most recent entry.\n  term.clearCurrentLine = (goToEndofHistory = false) => {\n    term.write(\"\\x1b[2K\\r\");\n    term.prompt(\"\", \" \");\n    term.currentLine = \"\";\n    if (goToEndofHistory) {\n      term.historyCursor = -1;\n      term.scrollToBottom();\n    }\n  };\n\n  // Replaces the current input with newLine, preserving cursor position if asked.\n  term.setCurrentLine = (newLine, preserveCursor = false) => {\n    // Capture position before clearCurrentLine() because the xterm buffer\n    // cursor moves during the erase, making pos() unreliable immediately after.\n    const oldPos = term.pos();\n    const length = term.currentLine.length;\n    term.clearCurrentLine();\n    term.currentLine = newLine;\n    term.write(newLine);\n    if (preserveCursor) {\n      term.write(\"\\x1b[D\".repeat(length - oldPos));\n    }\n  };\n\n  // ── Output ─────────────────────────────────────────────────────────────────\n\n  // Prints a line of text with three processing passes applied in order:\n  //   1. URLs are detected and colorized as hyperlinks (disables wrapping for\n  //      long URLs since wrapping mid-URL would break clickability).\n  //   2. Long lines are word-wrapped to fit the terminal width (max 76 cols).\n  //   3. %command% tokens are replaced with colorized command names.\n  term.stylePrint = (text, wrap = true) => {\n    const urlRegex =\n      /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,24}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)/g;\n    const urlMatches = text.matchAll(urlRegex);\n    let allowWrapping = true;\n    for (const match of urlMatches) {\n      allowWrapping = match[0].length < 76; // don't wrap lines that contain long URLs\n      text = text.replace(match[0], colorText(match[0], \"hyperlink\"));\n    }\n\n    if (allowWrapping && wrap) {\n      text = _wordWrap(text, Math.min(term.cols, 76));\n    }\n\n    // Replace %commandName% tokens with styled command names.\n    const cmds = Object.keys(commands);\n    for (const cmd of cmds) {\n      const cmdMatches = text.matchAll(`%${cmd}%`);\n      for (const match of cmdMatches) {\n        text = text.replace(match[0], colorText(cmd, \"command\"));\n      }\n    }\n\n    term.writeln(text);\n  };\n\n  // Renders the preloaded ASCII art for id into the terminal.\n  // Silently skipped on narrow terminals (< 40 cols).\n  term.printArt = (id) => {\n    if (term.cols >= 40) {\n      const art = getArt(id);\n      if (art) {\n        term.writeln(`\\r\\n${art}\\r\\n`);\n      } else {\n        ensureASCIIArt(id);\n      }\n    }\n  };\n\n  // Prints the Root Ventures ASCII logotype, or a plain-text fallback on\n  // very narrow terminals.\n  term.printLogoType = () => {\n    term.writeln(term.cols >= 40 ? LOGO_TYPE : \"[Root Ventures]\\r\\n\");\n  };\n\n  // Opens a URL in a new tab (default) or navigates the current page.\n  term.openURL = (url, newWindow = true) => {\n    term.stylePrint(`Opening ${url}`);\n    if (term._initialized) {\n      if (newWindow) {\n        window.open(url, \"_blank\");\n      } else {\n        window.location.href = url;\n      }\n    }\n  };\n\n  // Prints a URL as a styled hyperlink without opening it.\n  term.displayURL = (url) => {\n    term.stylePrint(colorText(url, \"hyperlink\"));\n  };\n\n  // ── Animation Helpers ──────────────────────────────────────────────────────\n\n  term.timer = (ms) => new Promise((res) => setTimeout(res, ms));\n\n  // Prints phrase followed by n dots at 1-second intervals.\n  term.dottedPrint = async (phrase, n, newline = true) => {\n    term.write(phrase);\n\n    for (let i = 0; i < n; i++) {\n      await term.delayPrint(\".\", 1000);\n    }\n    if (newline) {\n      term.write(\"\\r\\n\");\n    }\n  };\n\n  // Renders an animated progress bar that fills over time t (ms).\n  // Randomizes the fill speed to look more authentic.\n  term.progressBar = async (t, msg) => {\n    var r;\n\n    if (msg) {\n      term.write(msg);\n    }\n    term.write(\"\\r\\n[\");\n\n    for (let i = 0; i < term.cols / 2; i = i + 1) {\n      r = Math.round((Math.random() * t) / 20);\n      t = t - r;\n      await term.delayPrint(\"█\", r);\n    }\n    term.write(\"]\\r\\n\");\n  };\n\n  term.delayPrint = async (str, t) => {\n    await term.timer(t);\n    term.write(str);\n  };\n\n  term.delayStylePrint = async (str, t, wrap) => {\n    await term.timer(t);\n    term.stylePrint(str, wrap);\n  };\n\n  // ── Command Dispatch ───────────────────────────────────────────────────────\n\n  // Parses and executes a command line string. Called both by the Enter handler\n  // in terminal.js and internally by commands that redirect to other commands.\n  term.command = (line) => {\n    const parts = line.split(/\\s+/);\n    const cmd = parts[0].toLowerCase();\n    const args = parts.slice(1, parts.length);\n    const fn = commands[cmd];\n    if (typeof fn === \"undefined\") {\n      term.stylePrint(`Command not found: ${cmd}. Try 'help' to get started.`);\n    } else {\n      return fn(args);\n    }\n  };\n\n  term.parseCommandLine = (line) => {\n    const trimmedLine = line.trim();\n    const parts = trimmedLine ? trimmedLine.split(/\\s+/) : [\"\"];\n    return {\n      line: trimmedLine,\n      cmd: (parts[0] || \"\").toLowerCase(),\n      args: parts.slice(1),\n    };\n  };\n\n  term.normalizeCommandForPreload = (cmd, args) => {\n    switch (cmd) {\n      case \"man\":\n      case \"woman\":\n        return { cmd: \"tldr\", args };\n      case \"tail\":\n      case \"less\":\n      case \"head\":\n      case \"more\":\n        return { cmd: \"cat\", args };\n      case \"open\":\n        if (!args.length) {\n          return { cmd, args };\n        }\n\n        if (\n          (args[0].split(\".\")[0] == \"test\" && args[0].split(\".\")[1] == \"htm\") ||\n          args[0].split(\".\")[1] == \"htm\" ||\n          args.join(\" \") == \"the pod bay doors\"\n        ) {\n          return { cmd, args };\n        }\n\n        return { cmd: \"cat\", args };\n      default:\n        return { cmd, args };\n    }\n  };\n\n  term.preloadCommandAssets = async (line) => {\n    const parsed = term.parseCommandLine(line);\n    const normalized = term.normalizeCommandForPreload(parsed.cmd, parsed.args);\n    const tasks = [];\n    const artId = getASCIIArtIdForCommand(normalized.cmd, normalized.args);\n    const preloadFile = getPreloadFileForCommand(normalized.cmd, normalized.args);\n\n    if (artId) {\n      tasks.push(ensureASCIIArt(artId));\n    }\n\n    if (preloadFile) {\n      tasks.push(ensureFileLoaded(preloadFile));\n    }\n\n    if (tasks.length > 0) {\n      await Promise.all(tasks);\n    }\n  };\n\n  term.executeCommandLine = async (line, options = {}) => {\n    const settings = {\n      addToHistory: true,\n      manageBusy: true,\n      promptAfter: true,\n      showLeadingNewline: true,\n      trackAnalytics: true,\n      ...options,\n    };\n    const parsed = term.parseCommandLine(line);\n    let exitStatus;\n\n    try {\n      if (settings.manageBusy) {\n        term.busy = true;\n      }\n\n      await term.preloadCommandAssets(parsed.line);\n\n      if (settings.showLeadingNewline && parsed.cmd != \"upgrade\") {\n        term.writeln(\"\");\n      }\n\n      if (parsed.line.length > 0) {\n        if (settings.addToHistory) {\n          term.history.push(parsed.line);\n        }\n\n        exitStatus = term.command(parsed.line);\n\n        if (settings.trackAnalytics) {\n          window.dataLayer = window.dataLayer || [];\n          window.dataLayer.push({\n            event: \"commandSent\",\n            command: parsed.cmd,\n            args: parsed.args.join(\" \"),\n          });\n        }\n      }\n    } catch (error) {\n      console.error(\"Command preparation failed\", error);\n      term.stylePrint(\"Command failed to load required assets. Please try again.\");\n    } finally {\n      if (settings.promptAfter && exitStatus != 1 && parsed.cmd != \"upgrade\") {\n        term.prompt();\n        term.clearCurrentLine(true);\n      }\n\n      if (settings.manageBusy) {\n        term.busy = false;\n      }\n\n      term.scrollToBottom();\n    }\n\n    return exitStatus;\n  };\n\n  // ── Lifecycle ──────────────────────────────────────────────────────────────\n\n  // Called on window resize. xterm clears its buffer on resize, so we\n  // reinitialize the terminal and replay the entire command history to restore\n  // the visible output, then re-render the prompt at the bottom.\n  term.resizeListener = () => {\n    term._initialized = false;\n    term.init(term.user, true);\n    if (typeof preloadASCIIArt === \"function\") {\n      window.scheduleIdleTask(() => preloadASCIIArt(), 1500);\n    }\n    term.runDeepLink();\n    for (const c of term.history) {\n      term.prompt(\"\\r\\n\", ` ${c}\\r\\n`);\n      term.command(c);\n    }\n    term.prompt();\n    term.scrollToBottom();\n    term._initialized = true;\n  };\n\n  // Resets the terminal to its initial state. If VERSION < 4, shows an upgrade\n  // prompt instead of the welcome message. Announces open jobs if any exist.\n  term.init = (user = \"guest\", preserveHistory = false) => {\n    window.fitAddon.fit();\n    term.reset();\n    term.printLogoType();\n    if (term.VERSION == 3) {\n      term.stylePrint(\n        `\\n${colorText(\"New version of Root Ventures detected.\", \"user\")}`\n      );\n      term.stylePrint(\n        `Please upgrade your terminal with ${colorText(\"upgrade\", \"command\")}.`\n      );\n    } else {\n      term.stylePrint(\n        \"Welcome to the Root Ventures terminal. Seeding bold engineers!\"\n      );\n      term.stylePrint(\n        `Type ${colorText(\n          \"help\",\n          \"command\"\n        )} to get started. Or type ${colorText(\n          \"exit\",\n          \"command\"\n        )} for web version.`,\n        false\n      );\n    }\n    if (Object.keys(jobs).length > 0) {\n      term.stylePrint(\n        `\\r\\nOpen jobs detected. Type ${colorText(\n          \"jobs\",\n          \"command\"\n        )} for more info.`,\n        false\n      );\n    }\n\n    term.user = user;\n    if (!preserveHistory) {\n      term.history = [];\n    }\n    term.focus();\n  };\n\n  // Runs the deep-link command parsed from the URL hash on page load.\n  term.runDeepLink = () => {\n    if (term.deepLink != \"\") {\n      term.executeCommandLine(term.deepLink, {\n        addToHistory: false,\n        promptAfter: false,\n        showLeadingNewline: false,\n        trackAnalytics: false,\n      }).catch((error) => {\n        console.error(\"Deep link failed\", error);\n      });\n    }\n  };\n\n  // ── Interactive Input ──────────────────────────────────────────────────────\n\n  // Prompts the user for a single line of input, suspending the normal input\n  // handler while waiting. Returns a Promise that resolves to:\n  //   - A trimmed string if the user pressed Enter (may be \"\" for optional fields)\n  //   - null if the user pressed Ctrl+C (cancelled)\n  term.collectInput = (prompt, isOptional = false) => {\n    return new Promise((resolve) => {\n      term.locked = true;\n      term.write(`\\r\\n${prompt}${isOptional ? ' (optional)' : ''}: `);\n      let inputBuffer = '';\n\n      const inputHandler = term.onData((e) => {\n        switch (e) {\n          case '\\r': // Enter — submit\n            term.write('\\r\\n');\n            inputHandler.dispose();\n            term.locked = false;\n            resolve(inputBuffer.trim());\n            break;\n          case '\\u0003': // Ctrl+C — cancel, resolves to null\n            term.write('^C\\r\\n');\n            inputHandler.dispose();\n            term.locked = false;\n            resolve(null);\n            break;\n          case '\\u007F': // Backspace\n          case '\\u0008': // Ctrl+H\n            if (inputBuffer.length > 0) {\n              inputBuffer = inputBuffer.slice(0, -1);\n              term.write('\\b \\b'); // erase character from display\n            }\n            break;\n          case '\\u0015': // Ctrl+U — clear entire input line\n            while (inputBuffer.length > 0) {\n              term.write('\\b \\b');\n              inputBuffer = inputBuffer.slice(0, -1);\n            }\n            break;\n          case '\\033[A': // Up arrow\n          case '\\033[B': // Down arrow\n          case '\\033[C': // Right arrow\n          case '\\033[D': // Left arrow\n            // Ignore — cursor movement not supported in collectInput\n            break;\n          default:\n            // Only accept printable ASCII characters\n            if (e.length === 1 && e.charCodeAt(0) >= 32 && e.charCodeAt(0) < 127) {\n              inputBuffer += e;\n              term.write(e);\n            }\n            break;\n        }\n      });\n    });\n  };\n};\n\n// ── Helpers ──────────────────────────────────────────────────────────────────\n\n// Wraps str at word boundaries to fit within maxWidth characters per line.\n// Falls back to a hard break at maxWidth if no whitespace is found.\n// TODO: This doesn't work well at detecting existing newlines in the input.\n// https://stackoverflow.com/questions/14484787/wrap-text-in-javascript\nfunction _wordWrap(str, maxWidth) {\n  const newLineStr = \"\\r\\n\";\n  let res = \"\";\n  while (str.length > maxWidth) {\n    let found = false;\n    // Scan backwards from maxWidth to find a whitespace break point.\n    for (let i = maxWidth - 1; i >= 0; i--) {\n      if (_testWhite(str.charAt(i))) {\n        res = res + [str.slice(0, i), newLineStr].join(\"\");\n        str = str.slice(i + 1);\n        found = true;\n        break;\n      }\n    }\n    // No whitespace found — hard-break at maxWidth.\n    if (!found) {\n      res += [str.slice(0, maxWidth), newLineStr].join(\"\");\n      str = str.slice(maxWidth);\n    }\n  }\n  return res + str;\n}\n\nfunction _testWhite(x) {\n  const white = /^\\s$/;\n  return white.test(x.charAt(0));\n}\n"
  },
  {
    "path": "js/terminal.js",
    "content": "function runRootTerminal(term) {\n  if (term._initialized) {\n    return;\n  }\n\n  term.init();\n  term._initialized = true;\n  term.locked = false;\n\n  term.prompt();\n  term.runDeepLink();\n\n  let resizeQueued = false;\n  window.addEventListener(\n    \"resize\",\n    () => {\n      if (resizeQueued) {\n        return;\n      }\n\n      resizeQueued = true;\n      window.requestAnimationFrame(() => {\n        resizeQueued = false;\n        term.resizeListener();\n      });\n    },\n    { passive: true }\n  );\n\n  term.onData((e) => {\n    if (term._initialized && !term.locked && !term.busy) {\n      switch (e) {\n        case \"\\r\": // Enter\n          // Reset tab state\n          term.tabIndex = 0;\n          term.tabOptions = [];\n          term.tabBase = \"\";\n          term.executeCommandLine(term.currentLine);\n          break;\n        case \"\\u0001\": // Ctrl+A\n          term.write(\"\\x1b[D\".repeat(term.pos()));\n          break;\n        case \"\\u0005\": // Ctrl+E\n          if (term.pos() < term.currentLine.length) {\n            term.write(\"\\x1b[C\".repeat(term.currentLine.length - term.pos()));\n          }\n          break;\n        case \"\\u0003\": // Ctrl+C\n          // Reset tab state\n          term.tabIndex = 0;\n          term.tabOptions = [];\n          term.tabBase = \"\";\n\n          term.prompt();\n          term.clearCurrentLine(true);\n          break;\n        case \"\\u0008\": // Ctrl+H\n        case \"\\u007F\": // Backspace (DEL)\n          // Reset tab state\n          term.tabIndex = 0;\n          term.tabOptions = [];\n          term.tabBase = \"\";\n\n          // Do not delete the prompt\n          if (term.pos() > 0) {\n            const newLine =\n              term.currentLine.slice(0, term.pos() - 1) +\n              term.currentLine.slice(term.pos());\n            term.setCurrentLine(newLine, true);\n          }\n          break;\n        case \"\\033[A\": // up\n          // Reset tab state\n          term.tabIndex = 0;\n          term.tabOptions = [];\n          term.tabBase = \"\";\n\n          var h = [...term.history].reverse();\n          if (term.historyCursor < h.length - 1) {\n            term.historyCursor += 1;\n            term.setCurrentLine(h[term.historyCursor], false);\n          }\n          break;\n        case \"\\033[B\": // down\n          // Reset tab state\n          term.tabIndex = 0;\n          term.tabOptions = [];\n          term.tabBase = \"\";\n\n          var h = [...term.history].reverse();\n          if (term.historyCursor > 0) {\n            term.historyCursor -= 1;\n            term.setCurrentLine(h[term.historyCursor], false);\n          } else {\n            term.clearCurrentLine(true);\n          }\n          break;\n        case \"\\033[C\": // right\n          if (term.pos() < term.currentLine.length) {\n            term.write(\"\\x1b[C\");\n          }\n          break;\n        case \"\\033[D\": // left\n          if (term.pos() > 0) {\n            term.write(\"\\x1b[D\");\n          }\n          break;\n        case \"\\t\": // tab\n          const tabParts = term.currentLine.split(\" \");\n          const tabCmd = tabParts[0];\n          const tabRest = tabParts.slice(1).join(\" \");\n\n          // Check if we need to reset tab state (input changed)\n          if (term.tabBase !== term.currentLine) {\n            term.tabIndex = 0;\n            term.tabOptions = [];\n            term.tabBase = term.currentLine;\n\n            // Get completions based on context\n            if (tabParts.length === 1) {\n              // Completing command\n              term.tabOptions = Object.keys(commands)\n                .filter((c) => c.startsWith(tabCmd))\n                .sort();\n            } else if (\n              [\n                \"cat\",\n                \"tail\",\n                \"less\",\n                \"head\",\n                \"open\",\n                \"mv\",\n                \"cp\",\n                \"chown\",\n                \"chmod\",\n                \"ls\",\n              ].includes(tabCmd)\n            ) {\n              term.tabOptions = _filesHere()\n                .filter((f) => f.startsWith(tabRest))\n                .sort();\n            } else if ([\"whois\", \"finger\", \"groups\"].includes(tabCmd)) {\n              term.tabOptions = Object.keys(team)\n                .filter((f) => f.startsWith(tabRest))\n                .sort();\n            } else if ([\"man\", \"woman\", \"tldr\"].includes(tabCmd)) {\n              term.tabOptions = Object.keys(portfolio)\n                .filter((f) => f.startsWith(tabRest))\n                .sort();\n            } else if ([\"cd\"].includes(tabCmd)) {\n              term.tabOptions = _filesHere()\n                .filter(\n                  (dir) =>\n                    dir.startsWith(tabRest) && !_DIRS[term.cwd].includes(dir)\n                )\n                .sort();\n            }\n          }\n\n          // Handle tab completion\n          if (term.tabOptions.length === 0) {\n            // No completions\n          } else if (term.tabOptions.length === 1) {\n            // Single match - complete it\n            if (tabParts.length === 1) {\n              // Check if it's already an exact match (like typing \"ls\" completely)\n              if (tabCmd === term.tabOptions[0]) {\n                // Exact match - just add a space\n                term.setCurrentLine(`${term.tabOptions[0]} `);\n              } else {\n                // Partial match - complete it\n                term.setCurrentLine(`${term.tabOptions[0]} `);\n              }\n            } else {\n              term.setCurrentLine(`${tabCmd} ${term.tabOptions[0]}`);\n            }\n            term.tabBase = \"\";\n            term.tabIndex = 0;\n            term.tabOptions = [];\n          } else {\n            // Multiple matches\n            if (term.tabIndex === 0) {\n              // First tab - show options\n              term.writeln(`\\r\\n${term.tabOptions.join(\"   \")}`);\n              term.prompt();\n              term.setCurrentLine(term.currentLine);\n              term.tabIndex = 1;\n            } else {\n              // Cycling through options\n              const option =\n                term.tabOptions[(term.tabIndex - 1) % term.tabOptions.length];\n              if (tabParts.length === 1) {\n                term.setCurrentLine(option);\n              } else {\n                term.setCurrentLine(`${tabCmd} ${option}`);\n              }\n              term.tabIndex++;\n              term.tabBase = term.currentLine; // Update base to current selection\n            }\n          }\n          break;\n        default: // Print all other characters\n          // Reset tab state on any other key\n          term.tabIndex = 0;\n          term.tabOptions = [];\n          term.tabBase = \"\";\n\n          // Optimize: just write the character instead of redrawing entire line\n          if (e.length === 1 && e.charCodeAt(0) >= 32) {\n            const pos = term.pos();\n            const restOfLine = term.currentLine.slice(pos);\n            term.currentLine = term.currentLine.slice(0, pos) + e + restOfLine;\n            term.write(e);\n            if (restOfLine.length > 0) {\n              term.write(restOfLine);\n              term.write(\"\\x1b[D\".repeat(restOfLine.length));\n            }\n          }\n          break;\n      }\n      term.scrollToBottom();\n    }\n  });\n}\n\nfunction colorText(text, color) {\n  const colors = {\n    command: \"\\x1b[1;35m\",\n    hyperlink: \"\\x1b[1;34m\",\n    user: \"\\x1b[1;33m\",\n    prompt: \"\\x1b[1;32m\",\n    bold: \"\\x1b[1;37m\",\n  };\n  return `${colors[color] || \"\"}${text}\\x1b[0;38m`;\n}\n"
  },
  {
    "path": "netlify/functions/submit-application.js",
    "content": "exports.handler = async (event, context) => {\n  // Only allow POST\n  if (event.httpMethod !== 'POST') {\n    return {\n      statusCode: 405,\n      body: JSON.stringify({ error: 'Method not allowed' }),\n    };\n  }\n\n  try {\n    const data = JSON.parse(event.body);\n\n    // Validate required fields\n    if (!data.name || !data.email) {\n      return {\n        statusCode: 400,\n        body: JSON.stringify({ error: 'Name and email are required' }),\n      };\n    }\n\n    // Forward to Attio webhook\n    const attioWebhookUrl = process.env.ATTIO_WEBHOOK_URL;\n\n    if (!attioWebhookUrl) {\n      throw new Error('ATTIO_WEBHOOK_URL environment variable not set');\n    }\n\n    const attioResponse = await fetch(\n      attioWebhookUrl,\n      {\n        method: 'POST',\n        headers: {\n          'Content-Type': 'application/json',\n        },\n        body: JSON.stringify(data),\n      }\n    );\n\n    if (!attioResponse.ok) {\n      throw new Error(`Attio API error: ${attioResponse.status}`);\n    }\n\n    return {\n      statusCode: 200,\n      body: JSON.stringify({\n        success: true,\n        message: 'Application submitted successfully'\n      }),\n    };\n  } catch (error) {\n    console.error('Error submitting application:', error);\n    return {\n      statusCode: 500,\n      body: JSON.stringify({\n        error: 'Failed to submit application',\n        details: error.message\n      }),\n    };\n  }\n};\n"
  },
  {
    "path": "netlify.toml",
    "content": "[build]\n  publish = \".\"\n\n[functions]\n  directory = \"netlify/functions\"\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"rootvc-cli-website\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Root Ventures' awesome website\",\n  \"dependencies\": {\n    \"@xterm/addon-fit\": \"^0.10.0\",\n    \"@xterm/addon-web-links\": \"^0.11.0\",\n    \"@xterm/xterm\": \"^5.5.0\",\n    \"aalib.js\": \"^2.0.0\",\n    \"ai\": \"^3.0.18\",\n    \"netlify-cli\": \"^6.14.7\"\n  },\n  \"license\": \"MIT\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git@github.com:rootvc/cli-website.git\"\n  },\n  \"scripts\": {\n    \"build\": \"node scripts/build-assets.js\",\n    \"start\": \"netlify dev\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest\"\n  },\n  \"devDependencies\": {\n    \"jsdom\": \"^29.0.2\",\n    \"terser\": \"^5.46.1\",\n    \"vitest\": \"^4.1.4\"\n  }\n}\n"
  },
  {
    "path": "scripts/build-assets.js",
    "content": "const fs = require(\"fs\");\nconst path = require(\"path\");\nconst { minify } = require(\"terser\");\n\nconst rootDir = path.resolve(__dirname, \"..\");\n\nconst vendorScripts = [\n  {\n    src: \"node_modules/@xterm/xterm/lib/xterm.js\",\n    dest: \"js/xterm.js\",\n    minify: true,\n  },\n  {\n    src: \"node_modules/@xterm/addon-fit/lib/addon-fit.js\",\n    dest: \"js/addon-fit.js\",\n    minify: true,\n  },\n  {\n    src: \"node_modules/@xterm/addon-web-links/lib/addon-web-links.js\",\n    dest: \"js/addon-web-links.js\",\n    minify: true,\n  },\n  {\n    src: \"node_modules/aalib.js/dist/aalib.js\",\n    dest: \"js/aalib.js\",\n    minify: true,\n  },\n];\n\nconst appBundleSources = [\n  \"js/terminal.js\",\n  \"js/terminal-ext.js\",\n  \"js/ascii-art.js\",\n  \"config/help.js\",\n  \"config/portfolio.js\",\n  \"config/team.js\",\n  \"config/commands.js\",\n  \"config/fs.js\",\n  \"config/jobs.js\",\n  \"js/bootstrap.js\",\n];\n\nasync function minifyJavaScript(source, options = {}) {\n  const result = await minify(source, {\n    compress: {\n      passes: 2,\n    },\n    mangle: true,\n    ...options,\n  });\n\n  if (!result.code) {\n    throw new Error(\"Terser did not return output\");\n  }\n\n  return result.code;\n}\n\nfunction readText(relativePath) {\n  return fs.readFileSync(path.join(rootDir, relativePath), \"utf8\");\n}\n\nfunction writeText(relativePath, content) {\n  const absolutePath = path.join(rootDir, relativePath);\n  fs.mkdirSync(path.dirname(absolutePath), { recursive: true });\n  fs.writeFileSync(absolutePath, content);\n}\n\nasync function copyVendorScript(asset) {\n  const source = readText(asset.src);\n  let output = source;\n\n  if (asset.minify) {\n    const minified = await minifyJavaScript(source);\n    if (minified.length < source.length) {\n      output = minified;\n    }\n  }\n\n  writeText(asset.dest, output);\n  console.log(`${asset.dest}: ${source.length} -> ${output.length} bytes`);\n}\n\nasync function buildAppBundle() {\n  const source = appBundleSources\n    .map((file) => `// ${file}\\n${readText(file)}`)\n    .join(\"\\n;\\n\");\n  const output = await minifyJavaScript(source, {\n    compress: {\n      passes: 2,\n      unsafe_arrows: false,\n    },\n  });\n\n  writeText(\"js/app.bundle.js\", output);\n  console.log(`js/app.bundle.js: ${source.length} -> ${output.length} bytes`);\n}\n\nasync function buildRickRollBundle() {\n  const source = readText(\"js/rickroll.js\");\n  const output = await minifyJavaScript(source);\n  writeText(\"js/rickroll.min.js\", output);\n  console.log(`js/rickroll.min.js: ${source.length} -> ${output.length} bytes`);\n}\n\nfunction copyXtermCss() {\n  const cssSource = path.join(\n    rootDir,\n    \"node_modules/@xterm/xterm/css/xterm.css\"\n  );\n  const cssTarget = path.join(rootDir, \"css/xterm.css\");\n\n  fs.mkdirSync(path.dirname(cssTarget), { recursive: true });\n  fs.copyFileSync(cssSource, cssTarget);\n  console.log(\"css/xterm.css copied\");\n}\n\nasync function main() {\n  copyXtermCss();\n\n  for (const asset of vendorScripts) {\n    await copyVendorScript(asset);\n  }\n\n  await buildAppBundle();\n  await buildRickRollBundle();\n}\n\nmain().catch((error) => {\n  console.error(error);\n  process.exit(1);\n});\n"
  },
  {
    "path": "tests/ascii-art.test.js",
    "content": "import { afterEach, describe, expect, it, vi } from \"vitest\";\nimport { createBrowserEnv } from \"./helpers/browser-env\";\n\nlet env;\n\nfunction loadAsciiArt(globals = {}) {\n  env = createBrowserEnv({\n    html: `\n      <!doctype html>\n      <html>\n        <head></head>\n        <body>\n          <div id=\"aa-all\"></div>\n        </body>\n      </html>\n    `,\n    globals: {\n      ensureAALibLoaded: vi.fn(() => Promise.resolve()),\n      portfolio: { esper: { name: \"Esper\" } },\n      scheduleIdleTask: vi.fn((task) => task()),\n      team: { lee: { name: \"Lee\" } },\n      term: { cols: 80 },\n      ...globals,\n    },\n  });\n  env.loadScripts([\"js/ascii-art.js\"]);\n  return env.exportValues([\n    \"ensureASCIIArt\",\n    \"getArt\",\n    \"getASCIIArtIdForCommand\",\n    \"isASCIIArtLoaded\",\n    \"preloadASCIIArt\",\n  ]);\n}\n\nafterEach(() => {\n  if (env) {\n    env.cleanup();\n    env = null;\n  }\n});\n\ndescribe(\"ascii-art\", () => {\n  it(\"maps commands to their preloadable ASCII art ids\", () => {\n    const { getASCIIArtIdForCommand } = loadAsciiArt();\n\n    expect(getASCIIArtIdForCommand(\"whois\", [\"root\"])).toBe(\"rootvc-square\");\n    expect(getASCIIArtIdForCommand(\"whois\", [\"lee\"])).toBe(\"lee\");\n    expect(getASCIIArtIdForCommand(\"tldr\", [\"esper\"])).toBe(\"esper\");\n\n    env.window.term.cols = 39;\n    expect(getASCIIArtIdForCommand(\"whois\", [\"lee\"])).toBeNull();\n\n    env.window.term.cols = 59;\n    expect(getASCIIArtIdForCommand(\"tldr\", [\"esper\"])).toBeNull();\n  });\n\n  it(\"deduplicates concurrent art loads and marks the art as loaded\", async () => {\n    const { ensureASCIIArt, getArt, isASCIIArtLoaded } = loadAsciiArt({\n      term: { cols: 30 },\n    });\n\n    const first = ensureASCIIArt(\"lee\");\n    const second = ensureASCIIArt(\"lee\");\n\n    expect(first).toBe(second);\n\n    await Promise.all([first, second]);\n\n    expect(env.window.ensureAALibLoaded).toHaveBeenCalledTimes(1);\n    expect(isASCIIArtLoaded(\"lee\")).toBe(true);\n    expect(getArt(\"lee\")).toContain(\"images/lee.png\");\n  });\n\n  it(\"preloads root, team, and portfolio art in idle batches\", async () => {\n    const { preloadASCIIArt, isASCIIArtLoaded } = loadAsciiArt({\n      term: { cols: 30 },\n    });\n\n    await preloadASCIIArt();\n\n    expect(isASCIIArtLoaded(\"rootvc-square\")).toBe(true);\n    expect(isASCIIArtLoaded(\"lee\")).toBe(true);\n    expect(isASCIIArtLoaded(\"esper\")).toBe(true);\n    expect(env.window.scheduleIdleTask).toHaveBeenCalled();\n  });\n});\n"
  },
  {
    "path": "tests/bootstrap.test.js",
    "content": "import { afterEach, describe, expect, it, vi } from \"vitest\";\nimport { createBrowserEnv } from \"./helpers/browser-env\";\n\nlet env;\n\nfunction loadBootstrap(overrides = {}) {\n  const term = {\n    loadAddon: vi.fn(),\n    open: vi.fn(),\n  };\n  const fitAddon = { fit: vi.fn() };\n  const webLinksAddon = { open: vi.fn() };\n  const preloadCommandAssets = vi.fn(() => Promise.resolve());\n  const extend = vi.fn((instance) => {\n    instance.deepLink = \"whois lee\";\n    instance.preloadCommandAssets = preloadCommandAssets;\n  });\n  const runRootTerminal = vi.fn();\n  const preloadASCIIArt = vi.fn();\n  const preloadFiles = vi.fn();\n  const idleCalls = [];\n  const requestIdleCallback = vi.fn((task, options) => {\n    idleCalls.push({ options, task });\n  });\n  const Terminal = vi.fn(function Terminal() {\n    return term;\n  });\n  const FitAddonCtor = vi.fn(function FitAddon() {\n    return fitAddon;\n  });\n  const WebLinksAddonCtor = vi.fn(function WebLinksAddon() {\n    return webLinksAddon;\n  });\n\n  env = createBrowserEnv({\n    html: `\n      <!doctype html>\n      <html>\n        <head></head>\n        <body>\n          <div id=\"terminal\"></div>\n        </body>\n      </html>\n    `,\n    url: \"https://www.root.vc/#whois-lee\",\n    globals: {\n      FitAddon: { FitAddon: FitAddonCtor },\n      Terminal,\n      WebLinksAddon: { WebLinksAddon: WebLinksAddonCtor },\n      extend,\n      preloadASCIIArt,\n      preloadFiles,\n      requestIdleCallback,\n      runRootTerminal,\n      ...overrides,\n    },\n  });\n\n  env.loadScripts([\"js/bootstrap.js\"]);\n\n  return {\n    extend,\n    fitAddon,\n    idleCalls,\n    preloadASCIIArt,\n    preloadCommandAssets,\n    preloadFiles,\n    requestIdleCallback,\n    runRootTerminal,\n    term,\n    Terminal,\n    webLinksAddon,\n  };\n}\n\nafterEach(() => {\n  if (env) {\n    env.cleanup();\n    env = null;\n  }\n});\n\ndescribe(\"bootstrap\", () => {\n  it(\"boots the terminal and preloads deep-link assets before idle work\", async () => {\n    const state = loadBootstrap();\n\n    await env.window.deepLinkAssetPromise;\n\n    expect(state.term.open).toHaveBeenCalledWith(\n      env.document.getElementById(\"terminal\")\n    );\n    expect(state.term.loadAddon).toHaveBeenNthCalledWith(1, state.fitAddon);\n    expect(state.term.loadAddon).toHaveBeenNthCalledWith(\n      2,\n      state.webLinksAddon\n    );\n    expect(state.extend).toHaveBeenCalledWith(state.term);\n    expect(state.preloadCommandAssets).toHaveBeenCalledWith(\"whois lee\");\n    expect(state.runRootTerminal).toHaveBeenCalledWith(state.term);\n    expect(state.idleCalls).toHaveLength(1);\n    expect(state.idleCalls[0].options).toEqual({ timeout: 1500 });\n\n    state.idleCalls[0].task();\n\n    expect(state.preloadASCIIArt).toHaveBeenCalledTimes(1);\n    expect(state.preloadFiles).toHaveBeenCalledTimes(1);\n  });\n\n  it(\"deduplicates optional script loading for aalib and rickroll\", async () => {\n    const state = loadBootstrap();\n    const originalAppendChild = env.document.head.appendChild.bind(\n      env.document.head\n    );\n    const appendedScripts = [];\n\n    vi.spyOn(env.document.head, \"appendChild\").mockImplementation((node) => {\n      appendedScripts.push(node);\n      return originalAppendChild(node);\n    });\n\n    const aalibFirst = env.window.ensureAALibLoaded();\n    const aalibSecond = env.window.ensureAALibLoaded();\n\n    expect(aalibFirst).toBe(aalibSecond);\n    expect(appendedScripts).toHaveLength(1);\n    expect(appendedScripts[0].src).toBe(\"https://www.root.vc/js/aalib.js\");\n\n    appendedScripts[0].onload();\n    await aalibFirst;\n\n    const rickrollPromise = env.window.ensureRickRollLoaded();\n\n    expect(appendedScripts).toHaveLength(2);\n    expect(appendedScripts[1].src).toBe(\n      \"https://www.root.vc/js/rickroll.min.js\"\n    );\n\n    appendedScripts[1].onload();\n    await rickrollPromise;\n  });\n});\n"
  },
  {
    "path": "tests/fs.test.js",
    "content": "import { afterEach, describe, expect, it, vi } from \"vitest\";\nimport { createBrowserEnv } from \"./helpers/browser-env\";\n\nlet env;\n\nfunction loadFs(globals = {}) {\n  env = createBrowserEnv({\n    html: `\n      <!doctype html>\n      <html>\n        <head></head>\n        <body>\n          <div id=\"files-all\"></div>\n        </body>\n      </html>\n    `,\n    globals: {\n      fetch: vi.fn(async () => ({\n        text: async () => \"remote body\",\n      })),\n      team: { lee: { name: \"Lee\" } },\n      ...globals,\n    },\n  });\n  env.loadScripts([\"config/fs.js\"]);\n  return env.exportValues([\n    \"_insertFileToDOM\",\n    \"_loadFile\",\n    \"ensureFileLoaded\",\n    \"getFileContents\",\n    \"getPreloadFileForCommand\",\n  ]);\n}\n\nafterEach(() => {\n  if (env) {\n    env.cleanup();\n    env = null;\n  }\n});\n\ndescribe(\"virtual fs\", () => {\n  it(\"deduplicates concurrent remote file loads\", async () => {\n    const { _loadFile } = loadFs();\n\n    const first = _loadFile(\"README.md\");\n    const second = _loadFile(\"README.md\");\n\n    expect(first).toBe(second);\n\n    await Promise.all([first, second]);\n\n    expect(env.window.fetch).toHaveBeenCalledTimes(1);\n    expect(env.document.getElementById(\"README.md\")).not.toBeNull();\n  });\n\n  it(\"loads local files synchronously without fetching\", async () => {\n    const { ensureFileLoaded, getFileContents } = loadFs();\n\n    await ensureFileLoaded(\"id_rsa\");\n\n    expect(env.window.fetch).not.toHaveBeenCalled();\n    expect(getFileContents(\"id_rsa\")).toBe(\"Nice try!\");\n  });\n\n  it(\"reuses existing DOM nodes when inserting file contents\", () => {\n    const { _insertFileToDOM } = loadFs();\n\n    _insertFileToDOM(\"README.md\", \"first\");\n    _insertFileToDOM(\"README.md\", \"second\");\n\n    expect(env.document.querySelectorAll(\"#README\\\\.md\")).toHaveLength(1);\n    expect(env.document.getElementById(\"README.md\").innerText).toBe(\"second\");\n  });\n\n  it(\"preloads only remote files for cat and grep\", () => {\n    const { getPreloadFileForCommand } = loadFs();\n\n    expect(getPreloadFileForCommand(\"cat\", [\"README.md\"])).toBe(\"README.md\");\n    expect(getPreloadFileForCommand(\"grep\", [\"welcome.htm\"])).toBe(\n      \"welcome.htm\"\n    );\n    expect(getPreloadFileForCommand(\"cat\", [\"id_rsa\"])).toBeNull();\n    expect(getPreloadFileForCommand(\"open\", [\"README.md\"])).toBeNull();\n  });\n\n  it(\"returns a loading message for remote files that have not landed yet\", () => {\n    const { getFileContents } = loadFs();\n\n    expect(getFileContents(\"README.md\")).toBe(\n      \"Loading README.md. Try again in a moment.\"\n    );\n    expect(env.window.fetch).toHaveBeenCalledTimes(1);\n  });\n});\n"
  },
  {
    "path": "tests/helpers/browser-env.js",
    "content": "import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { JSDOM } from \"jsdom\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nexport const REPO_ROOT = path.resolve(__dirname, \"..\", \"..\");\n\nexport function inlineScript(source, label = \"inline-script.js\") {\n  return { source, label };\n}\n\nexport function createBrowserEnv(options = {}) {\n  const {\n    url = \"https://www.root.vc/\",\n    html = \"<!doctype html><html><head></head><body></body></html>\",\n    globals = {},\n  } = options;\n\n  const dom = new JSDOM(html, {\n    pretendToBeVisual: true,\n    runScripts: \"dangerously\",\n    url,\n  });\n  const { window } = dom;\n\n  window.console = console;\n  Object.defineProperty(window.HTMLElement.prototype, \"innerText\", {\n    configurable: true,\n    get() {\n      return this.textContent || \"\";\n    },\n    set(value) {\n      this.textContent = value;\n    },\n  });\n\n  for (const [key, value] of Object.entries(globals)) {\n    window[key] = value;\n  }\n\n  function loadScript(script) {\n    let source;\n    let label;\n\n    if (typeof script === \"string\") {\n      label = script;\n      source = fs.readFileSync(path.join(REPO_ROOT, script), \"utf8\");\n    } else {\n      source = script.source;\n      label = script.label || \"inline-script.js\";\n    }\n\n    const element = window.document.createElement(\"script\");\n    element.textContent = `${source}\\n//# sourceURL=${label}`;\n    window.document.head.appendChild(element);\n    return element;\n  }\n\n  function loadScripts(scripts) {\n    scripts.forEach((script) => loadScript(script));\n    return window;\n  }\n\n  function exportValues(names, target = \"__testExports\") {\n    const entries = names\n      .map(\n        (name) =>\n          `${JSON.stringify(name)}: typeof ${name} === \"undefined\" ? undefined : ${name}`\n      )\n      .join(\",\\n\");\n\n    loadScript(\n      inlineScript(`window.${target} = {${entries}};`, `${target}.js`)\n    );\n\n    return window[target];\n  }\n\n  function cleanup() {\n    window.close();\n  }\n\n  return {\n    cleanup,\n    document: window.document,\n    dom,\n    exportValues,\n    loadScript,\n    loadScripts,\n    window,\n  };\n}\n"
  },
  {
    "path": "tests/terminal-ext.test.js",
    "content": "import { afterEach, describe, expect, it, vi } from \"vitest\";\nimport { createBrowserEnv } from \"./helpers/browser-env\";\n\nlet env;\n\nfunction loadTerminalExt(globals = {}) {\n  env = createBrowserEnv({\n    globals: {\n      LOGO_TYPE: \"ROOT\",\n      colorText: (text) => text,\n      commands: { help: vi.fn() },\n      ensureASCIIArt: vi.fn(() => Promise.resolve()),\n      ensureFileLoaded: vi.fn(() => Promise.resolve()),\n      fitAddon: { fit: vi.fn() },\n      getASCIIArtIdForCommand: vi.fn(() => null),\n      getArt: vi.fn(() => \"\"),\n      getPreloadFileForCommand: vi.fn(() => null),\n      jobs: {},\n      preloadASCIIArt: vi.fn(() => Promise.resolve()),\n      scheduleIdleTask: vi.fn((task) => task()),\n      ...globals,\n    },\n  });\n  env.loadScripts([\"js/terminal-ext.js\"]);\n  return env.exportValues([\"extend\"]);\n}\n\nfunction createTerm(overrides = {}) {\n  const term = {\n    VERSION: 4,\n    _core: { buffer: { x: 0 } },\n    cols: 80,\n    command: vi.fn(() => 0),\n    currentLine: \"\",\n    focus: vi.fn(),\n    history: [],\n    loadAddon: vi.fn(),\n    open: vi.fn(),\n    reset: vi.fn(),\n    scrollToBottom: vi.fn(),\n    write: vi.fn(),\n    writeln: vi.fn(),\n  };\n\n  return Object.assign(term, overrides);\n}\n\nafterEach(() => {\n  if (env) {\n    env.cleanup();\n    env = null;\n  }\n});\n\ndescribe(\"terminal-ext\", () => {\n  it(\"normalizes preload-only aliases before resolving assets\", async () => {\n    const { extend } = loadTerminalExt({\n      getASCIIArtIdForCommand: vi.fn(() => \"lee\"),\n      getPreloadFileForCommand: vi.fn(() => \"README.md\"),\n    });\n    const term = createTerm();\n\n    extend(term);\n    await term.preloadCommandAssets(\"open README.md\");\n\n    expect(term.normalizeCommandForPreload(\"open\", [\"README.md\"])).toEqual({\n      args: [\"README.md\"],\n      cmd: \"cat\",\n    });\n    expect(term.normalizeCommandForPreload(\"open\", [\"welcome.htm\"])).toEqual({\n      args: [\"welcome.htm\"],\n      cmd: \"open\",\n    });\n    expect(env.window.getASCIIArtIdForCommand).toHaveBeenCalledWith(\"cat\", [\n      \"README.md\",\n    ]);\n    expect(env.window.getPreloadFileForCommand).toHaveBeenCalledWith(\"cat\", [\n      \"README.md\",\n    ]);\n    expect(env.window.ensureASCIIArt).toHaveBeenCalledWith(\"lee\");\n    expect(env.window.ensureFileLoaded).toHaveBeenCalledWith(\"README.md\");\n  });\n\n  it(\"waits for asset preloading before dispatching a command\", async () => {\n    const { extend } = loadTerminalExt();\n    const term = createTerm();\n    const order = [];\n\n    extend(term);\n    term.preloadCommandAssets = vi.fn(async () => {\n      order.push(\"preload\");\n    });\n    term.command = vi.fn(() => {\n      order.push(\"command\");\n      return 0;\n    });\n\n    await term.executeCommandLine(\"help\");\n\n    expect(order).toEqual([\"preload\", \"command\"]);\n    expect(term.history).toEqual([\"help\"]);\n    expect(env.window.dataLayer).toEqual([\n      { args: \"\", command: \"help\", event: \"commandSent\" },\n    ]);\n    expect(term.busy).toBe(false);\n    expect(term.command).toHaveBeenCalledWith(\"help\");\n  });\n\n  it(\"routes deep links through executeCommandLine without double prompts\", () => {\n    const { extend } = loadTerminalExt();\n    const term = createTerm();\n\n    extend(term);\n    term.deepLink = \"whois lee\";\n    term.executeCommandLine = vi.fn(() => Promise.resolve());\n    term.runDeepLink();\n\n    expect(term.executeCommandLine).toHaveBeenCalledWith(\"whois lee\", {\n      addToHistory: false,\n      promptAfter: false,\n      showLeadingNewline: false,\n      trackAnalytics: false,\n    });\n  });\n\n  it(\"prints cached art immediately and falls back to loading on cache miss\", () => {\n    const { extend } = loadTerminalExt({\n      getArt: vi.fn()\n        .mockReturnValueOnce(\"ASCII\")\n        .mockReturnValueOnce(\"\"),\n    });\n    const term = createTerm();\n\n    extend(term);\n    term.printArt(\"lee\");\n    term.printArt(\"rootvc-square\");\n\n    expect(term.writeln).toHaveBeenCalledWith(\"\\r\\nASCII\\r\\n\");\n    expect(env.window.ensureASCIIArt).toHaveBeenCalledWith(\"rootvc-square\");\n  });\n});\n"
  },
  {
    "path": "tests/terminal.test.js",
    "content": "import { afterEach, describe, expect, it, vi } from \"vitest\";\nimport { createBrowserEnv } from \"./helpers/browser-env\";\n\nconst baseGlobals = {\n  _DIRS: { \"~\": [] },\n  _filesHere: () => [],\n  commands: { help: () => {} },\n  portfolio: {},\n  team: {},\n};\n\nlet env;\n\nfunction loadTerminalScript(globals = {}) {\n  env = createBrowserEnv({\n    globals: {\n      ...baseGlobals,\n      ...globals,\n    },\n  });\n  env.loadScripts([\"js/terminal.js\"]);\n  return env.exportValues([\"runRootTerminal\"]);\n}\n\nfunction createTerm(overrides = {}) {\n  const term = {\n    _initialized: false,\n    busy: false,\n    clearCurrentLine: vi.fn(),\n    currentLine: \"\",\n    executeCommandLine: vi.fn(),\n    history: [],\n    historyCursor: -1,\n    init: vi.fn(),\n    locked: false,\n    pos: vi.fn(() => 0),\n    prompt: vi.fn(),\n    resizeListener: vi.fn(),\n    runDeepLink: vi.fn(),\n    scrollToBottom: vi.fn(),\n    setCurrentLine: vi.fn((line) => {\n      term.currentLine = line;\n    }),\n    tabBase: \"\",\n    tabIndex: 0,\n    tabOptions: [],\n    write: vi.fn(),\n  };\n\n  term.onData = vi.fn((handler) => {\n    term._onData = handler;\n    return { dispose: vi.fn() };\n  });\n\n  return Object.assign(term, overrides);\n}\n\nafterEach(() => {\n  if (env) {\n    env.cleanup();\n    env = null;\n  }\n});\n\ndescribe(\"runRootTerminal\", () => {\n  it(\"initializes once and prompts immediately\", () => {\n    const { runRootTerminal } = loadTerminalScript();\n    const term = createTerm();\n\n    runRootTerminal(term);\n\n    expect(term.init).toHaveBeenCalledTimes(1);\n    expect(term.prompt).toHaveBeenCalledTimes(1);\n    expect(term.runDeepLink).toHaveBeenCalledTimes(1);\n    expect(term.onData).toHaveBeenCalledTimes(1);\n    expect(term._initialized).toBe(true);\n  });\n\n  it(\"sends the current line through executeCommandLine on Enter\", () => {\n    const { runRootTerminal } = loadTerminalScript();\n    const term = createTerm({\n      currentLine: \"help\",\n      tabBase: \"hel\",\n      tabIndex: 2,\n      tabOptions: [\"help\"],\n    });\n\n    runRootTerminal(term);\n    term._onData(\"\\r\");\n\n    expect(term.executeCommandLine).toHaveBeenCalledWith(\"help\");\n    expect(term.tabBase).toBe(\"\");\n    expect(term.tabIndex).toBe(0);\n    expect(term.tabOptions).toEqual([]);\n    expect(term.scrollToBottom).toHaveBeenCalled();\n  });\n\n  it(\"debounces resize handling with requestAnimationFrame\", () => {\n    const rafCallbacks = [];\n    const requestAnimationFrame = vi.fn((callback) => {\n      rafCallbacks.push(callback);\n      return rafCallbacks.length;\n    });\n    const { runRootTerminal } = loadTerminalScript({ requestAnimationFrame });\n    const term = createTerm();\n\n    runRootTerminal(term);\n    env.window.dispatchEvent(new env.window.Event(\"resize\"));\n    env.window.dispatchEvent(new env.window.Event(\"resize\"));\n\n    expect(requestAnimationFrame).toHaveBeenCalledTimes(1);\n    expect(term.resizeListener).not.toHaveBeenCalled();\n\n    rafCallbacks[0]();\n\n    expect(term.resizeListener).toHaveBeenCalledTimes(1);\n  });\n\n  it(\"does nothing when the terminal is already initialized\", () => {\n    const { runRootTerminal } = loadTerminalScript();\n    const term = createTerm({ _initialized: true });\n\n    runRootTerminal(term);\n\n    expect(term.init).not.toHaveBeenCalled();\n    expect(term.prompt).not.toHaveBeenCalled();\n    expect(term.onData).not.toHaveBeenCalled();\n  });\n});\n"
  },
  {
    "path": "welcome.htm",
    "content": "<!doctype html>\n<html>\n    <head>\n        <meta charset=\"utf-8\" />\n        <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\" />\n        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n        <link rel=\"shortcut icon\" href=\"/favicon.png\" />\n        <title>Root Ventures</title>\n        <link rel=\"canonical\" href=\"https://www.root.vc\" />\n        <meta property=\"og:site_name\" content=\"Root Ventures\" />\n        <meta property=\"og:title\" content=\"Root Ventures\" />\n        <meta property=\"og:url\" content=\"https://www.root.vc\" />\n        <meta property=\"og:type\" content=\"website\" />\n        <meta\n            property=\"og:description\"\n            content=\"Hard tech seed investors supporting founders at the earliest stages. Best coffee in San Francisco ☕️\"\n        />\n        <meta property=\"og:image\" content=\"images/geo/share.png\" />\n        <meta property=\"og:image:width\" content=\"1581\" />\n        <meta property=\"og:image:height\" content=\"826\" />\n        <meta itemprop=\"name\" content=\"Root Ventures\" />\n        <meta itemprop=\"url\" content=\"https://www.root.vc\" />\n        <meta\n            itemprop=\"description\"\n            content=\"Hard tech seed investors supporting founders at the earliest stages. Best coffee in San Francisco ☕️\"\n        />\n        <meta itemprop=\"thumbnailUrl\" content=\"images/geo/share.png\" />\n        <link rel=\"image_src\" href=\"images/geo/share.png\" />\n        <meta itemprop=\"image\" content=\"images/geo/share.png\" />\n        <meta name=\"twitter:title\" content=\"Root Ventures\" />\n        <meta name=\"twitter:image\" content=\"images/geo/share.png\" />\n        <meta name=\"twitter:url\" content=\"https://www.root.vc/welcome.htm\" />\n        <meta name=\"twitter:card\" content=\"summary\" />\n        <meta name=\"twitter:creator\" content=\"@rootvc\" />\n        <meta name=\"twitter:site\" content=\"@rootvc\" />\n        <meta\n            name=\"twitter:description\"\n            content=\"Hard tech seed investors supporting founders at the earliest stages. Best coffee in San Francisco ☕️\"\n        />\n\n        <!-- Google Tag Manager -->\n        <script>\n            (function (w, d, s, l, i) {\n                w[l] = w[l] || [];\n                w[l].push({\n                    \"gtm.start\": new Date().getTime(),\n                    event: \"gtm.js\",\n                });\n                var f = d.getElementsByTagName(s)[0],\n                    j = d.createElement(s),\n                    dl = l != \"dataLayer\" ? \"&l=\" + l : \"\";\n                j.async = true;\n                j.src = \"https://www.googletagmanager.com/gtm.js?id=\" + i + dl;\n                f.parentNode.insertBefore(j, f);\n            })(window, document, \"script\", \"dataLayer\", \"GTM-TQ954FQ\");\n        </script>\n        <!-- End Google Tag Manager -->\n\n        <script src=\"js/geo.js\"></script>\n        <script src=\"js/comcastify.js\"></script>\n        <script src=\"config/portfolio.js\"></script>\n        <script src=\"config/team.js\"></script>\n        <script src=\"config/commands.js\"></script>\n        <link rel=\"stylesheet\" href=\"css/bootstrap.css\" />\n\n        <style>\n            body {\n                margin: 25px;\n            }\n\n            .team-photo {\n                width: 25%;\n            }\n\n            .team-photo img {\n                min-width: 100px;\n            }\n\n            .portfolio-photo img {\n                max-width: 100px;\n            }\n\n            .team-description,\n            .portfolio-description {\n                width: 50%;\n            }\n\n            .hammertime {\n                margin: 50px 0;\n            }\n\n            td {\n                position: relative;\n            }\n        </style>\n    </head>\n    <body>\n        <p class=\"pull-right\">\n            <a href=\"https://github.com/divshot/geo-bootstrap\" target=\"_blank\">\n                <img src=\"images/geo/geocities.jpg\" />\n            </a>\n        </p>\n\n        <p class=\"pull-left\">\n            <a href=\"index.html\">< Back</a>\n        </p>\n\n        <br /><br /><br />\n\n        <center>\n            <img src=\"images/geo/construction.gif\" />\n\n            <h1>\n                <font color=\"#FF0000\">R</font>\n                <font color=\"#FF5A00\">o</font>\n                <font color=\"#FFB400\">o</font>\n                <font color=\"#FFff00\">t</font>\n                &nbsp;\n                <font color=\"#A5ff00\">V</font>\n                <font color=\"#4Bff00\">e</font>\n                <font color=\"#00ff00\">n</font>\n                <font color=\"#00ffff\">t</font>\n                <font color=\"#00B4ff\">u</font>\n                <font color=\"#0000ff\">r</font>\n                <font color=\"#A500ff\">e</font>\n                <font color=\"#FF00B4\">s</font>\n            </h1>\n            <h2><blink>Seeding bold engineers</blink></h2>\n            <h3>\n                <marquee>\n                    Seed stage venture capital firm investing in hard tech.\n                </marquee>\n            </h3>\n            <h4>\n                <img src=\"images/geo/banana.gif\" /> San Francisco, CA\n                <img src=\"images/geo/banana.gif\" />\n            </h4>\n            <img\n                id=\"logo\"\n                src=\"images/logo.png\"\n                alt=\"Root Ventures\"\n                style=\"display: none\"\n            />\n            <br />\n            <img src=\"images/geo/divider.gif\" />\n        </center>\n\n        <h2>About Us</h2>\n        <p id=\"whois\"></p>\n\n        <center>\n            <br />\n            <img src=\"images/geo/rainbow.gif\" />\n            <br />\n        </center>\n\n        <div class=\"well\">\n            <h2>\n                <img src=\"images/geo/underconstruction.gif\" />\n                Portfolio\n                <img src=\"images/geo/underconstruction.gif\" />\n            </h2>\n            <table\n                id=\"portfolio\"\n                cellpadding=\"2\"\n                cellspacing=\"2\"\n                class=\"table table-bordered\"\n            ></table>\n        </div>\n\n        <center class=\"hammertime\">\n            <img src=\"images/geo/mchammer.gif\" />&nbsp;&nbsp;\n            <img src=\"images/geo/mchammer.gif\" />&nbsp;&nbsp;\n            <img src=\"images/geo/mchammer.gif\" />\n        </center>\n\n        <div>\n            <h2>Team</h2>\n            <table\n                id=\"team\"\n                cellpadding=\"2\"\n                cellspacing=\"2\"\n                class=\"table table-bordered\"\n            ></table>\n        </div>\n\n        <br />\n        <center>\n            <img src=\"images/geo/flames.gif\" />\n        </center>\n        <br /><br />\n\n        <footer class=\"footer\">\n            <span class=\"pull-left\">\n                <table cellpadding=\"2\" cellspacing=\"2\">\n                    <tbody>\n                        <tr>\n                            <td>\n                                <img src=\"images/geo/ie_logo.gif\" />\n                            </td>\n                            <td>\n                                <img src=\"images/geo/ns_logo.gif\" />\n                            </td>\n                            <td>\n                                <img src=\"images/geo/notepad.gif\" />\n                            </td>\n                        </tr>\n                    </tbody>\n                </table>\n            </span>\n\n            <span class=\"pull-right\">\n                <img src=\"images/geo/hacker.gif\" />Built by\n                <a href=\"http://github.com/rootvc/cli-website\" tagret=\"_blank\"\n                    >Root Ventures Team</a\n                >\n            </span>\n        </footer>\n\n        <center>\n            <img src=\"images/geo/counter2.gif\" />\n        </center>\n\n        <br /><br />\n\n        <script>\n            buildGeoPage();\n        </script>\n\n        <!-- Google Tag Manager (noscript) -->\n        <noscript\n            ><iframe\n                src=\"https://www.googletagmanager.com/ns.html?id=GTM-TQ954FQ\"\n                height=\"0\"\n                width=\"0\"\n                style=\"display: none; visibility: hidden\"\n            ></iframe\n        ></noscript>\n        <!-- End Google Tag Manager (noscript) -->\n    </body>\n</html>\n"
  }
]