diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 671f480..28c9ae7 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -20,6 +20,9 @@ jobs: release: name: Publish release runs-on: ubuntu-latest + env: + HAS_OVSX_PAT: ${{ secrets.OVSX_PAT != '' }} + HAS_VSCE_PAT: ${{ secrets.VSCE_PAT != '' }} permissions: contents: write id-token: write @@ -52,7 +55,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6 with: - node-version: 24 + node-version: 24.11.0 registry-url: https://registry.npmjs.org/ - name: Set up Bun @@ -71,14 +74,24 @@ jobs: set -euo pipefail release_date="$(date -u +%F)" git tag --list | bun scripts/release-metadata.ts \ - --package-json package.json \ + --package-json packages/opencode-vpet/package.json \ --changelog CHANGELOG.md \ --bump "$BUMP" \ --date "$release_date" + - name: Sync workspace versions + env: + RELEASE_VERSION: ${{ steps.metadata.outputs.release_version }} + run: | + bun scripts/release-metadata.ts set-package-stable-version packages/vpet-core/package.json "$RELEASE_VERSION" + bun scripts/release-metadata.ts set-package-stable-version packages/cursor-vpet/package.json "$RELEASE_VERSION" + - name: Run release checks run: bun run release:check + - name: Build cursor-vpet + run: bun run --filter cursor-vpet build + - name: Pack release id: pack run: | @@ -86,13 +99,23 @@ jobs: package_directory="$RUNNER_TEMP/opencode-vpet-package" mkdir -p "$package_directory" - tarball_name="$(npm pack --loglevel silent --ignore-scripts \ - --pack-destination "$package_directory")" + tarball_name="$(npm pack --loglevel silent \ + --pack-destination "$package_directory" \ + --workspace @sbugallo/opencode-vpet)" test -f "$package_directory/$tarball_name" printf 'tarball_name=%s\n' "$tarball_name" >> "$GITHUB_OUTPUT" + - name: Pack VSIX + id: vsix + run: | + set -euo pipefail + vsix_path="$RUNNER_TEMP/cursor-vpet.vsix" + cd packages/cursor-vpet + npx @vscode/vsce package --no-dependencies -o "$vsix_path" + printf 'vsix_path=%s\n' "$vsix_path" >> "$GITHUB_OUTPUT" + - name: Set up Git run: | git config user.name "github-actions[bot]" @@ -104,7 +127,7 @@ jobs: run: | set -euo pipefail - git add package.json CHANGELOG.md + git add packages/opencode-vpet/package.json packages/vpet-core/package.json packages/cursor-vpet/package.json CHANGELOG.md git commit -m "chore(release): v$RELEASE_VERSION" @@ -116,9 +139,11 @@ jobs: run: | set -euo pipefail - bun scripts/release-metadata.ts set-package-version package.json "$NEXT_DEV_VERSION" + bun scripts/release-metadata.ts set-package-version packages/opencode-vpet/package.json "$NEXT_DEV_VERSION" + bun scripts/release-metadata.ts set-package-version packages/vpet-core/package.json "$NEXT_DEV_VERSION" + bun scripts/release-metadata.ts set-package-version packages/cursor-vpet/package.json "$NEXT_DEV_VERSION" - git add package.json + git add packages/opencode-vpet/package.json packages/vpet-core/package.json packages/cursor-vpet/package.json git commit -m "chore: bump v$NEXT_DEV_VERSION" @@ -156,5 +181,24 @@ jobs: run: | gh release create "v$RELEASE_VERSION" \ "$TARBALL" \ + "${{ steps.vsix.outputs.vsix_path }}" \ --title "v$RELEASE_VERSION" \ --generate-notes + + - name: Create Open VSX namespace + if: env.HAS_OVSX_PAT == 'true' + run: npx ovsx create-namespace sbugallo -p "$OVSX_PAT" || true + env: + OVSX_PAT: ${{ secrets.OVSX_PAT }} + + - name: Publish release (Open VSX) + if: env.HAS_OVSX_PAT == 'true' + run: npx ovsx publish "${{ steps.vsix.outputs.vsix_path }}" -p "$OVSX_PAT" + env: + OVSX_PAT: ${{ secrets.OVSX_PAT }} + + - name: Publish release (VS Code Marketplace) + if: env.HAS_VSCE_PAT == 'true' + run: npx @vscode/vsce publish --packagePath "${{ steps.vsix.outputs.vsix_path }}" + env: + VSCE_PAT: ${{ secrets.VSCE_PAT }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8457600..db4554b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6 with: - node-version: 24 + node-version: 24.11.0 - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: @@ -40,10 +40,21 @@ jobs: run: bun run check - name: Tests - run: bun test + run: bun run test + + - name: Persistence tests + run: bun run test:persistence + + - name: Build cursor-vpet + run: bun run --filter cursor-vpet build - name: Prepack run: bun run prepack - - - name: Pack + + - name: Pack npm + working-directory: packages/opencode-vpet run: npm pack --dry-run --json + + - name: Pack VSIX + working-directory: packages/cursor-vpet + run: npx @vscode/vsce package --no-dependencies diff --git a/.gitignore b/.gitignore index 4af8649..ee46c7c 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,8 @@ Thumbs.db # Release workflow artifacts *.tgz +*.vsix npm-pack.json +.package.json.publish.bak +packages/opencode-vpet/CHANGELOG.md +packages/cursor-vpet/CHANGELOG.md diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..a430851 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,4 @@ +# Authors sorted by whether or not they're me + +Sergio Bugallo Enjamio (https://www.linkedin.com/in/sbugallo/) +Jorge Cendal Prego (https://www.linkedin.com/in/jcendal/) diff --git a/README.md b/README.md index 8632212..bf4862f 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ Settings | Storage | Partner list | + Author | + Contributors | License | Attributions @@ -63,8 +65,8 @@ options in that Digimon's line. Requirements: - OpenCode `>=1.18.10` -- Node `>=20` to run `npx` -- Bun `>=1.3.5` only for local development +- Node `24.11.0` to run `npx` (pinned via Volta in this repo) +- Bun `1.3.5` for local development and builds (pinned via Volta in this repo) 1. Install both plugins: @@ -138,14 +140,14 @@ Default values are: "notifications": true, "language": "jp", "stageThresholds": { - "egg": 500000, - "babyI": 1000000, - "babyII": 2000000, - "child": 4000000, - "adult": 7500000, - "perfect": 12500000, - "ultimate": 20000000, - "superUltimate": 30000000 + "egg": 5000000, + "babyI": 10000000, + "babyII": 20000000, + "child": 40000000, + "adult": 75000000, + "perfect": 125000000, + "ultimate": 200000000, + "superUltimate": 300000000 } } ``` @@ -816,9 +818,17 @@ To persist your partner, history, and control state, VPet uses a SQLite database | 7-044 | Ogudomon X | Ogudomon X | | 7-045 | Chaosdramon | Chaosdramon | -Check out the [Digimon Data List](src/data/digimon-data.ts) for more information about evolution +Check out the [Digimon Data List](packages/vpet-core/src/data/digimon-data.ts) for more information about evolution lines. +## Author + +- [Sergio Bugallo](https://github.com/sbugallo) + +## Contributors + +- [Jorge Cendal](https://github.com/jcendal) + ## License This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details. diff --git a/biome.json b/biome.json index 6d28508..1dacf5b 100644 --- a/biome.json +++ b/biome.json @@ -2,15 +2,15 @@ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", "files": { "includes": [ - "src/**", - "tests/**", + "packages/**", "scripts/**", "package.json", "tsconfig*.json", - "!src/data/monster-frame-data.ts", + "!packages/**/dist/**", + "!packages/cursor-vpet/hook-bridge.js", + "!packages/vpet-core/src/data/monster-frame-data.ts", "!tests/**/*.jsonc", "!.omo/", - "!dist/", "!node_modules/", "!coverage/", "!**/generated/" @@ -44,7 +44,11 @@ }, "overrides": [ { - "includes": ["src/tui/sidebar-card.tsx", "src/tui/vpet-dex-dialog.tsx", "src/tui/vpet-history-dialog.tsx"], + "includes": [ + "packages/opencode-vpet/src/tui/sidebar-card.tsx", + "packages/opencode-vpet/src/tui/vpet-dex-dialog.tsx", + "packages/opencode-vpet/src/tui/vpet-history-dialog.tsx" + ], "linter": { "rules": { "a11y": { diff --git a/bun.lock b/bun.lock index 740fed9..db27d28 100644 --- a/bun.lock +++ b/bun.lock @@ -4,7 +4,39 @@ "workspaces": { "": { "name": "opencode-vpet", + "devDependencies": { + "@biomejs/biome": "2.5.10", + "@types/bun": "1.3.14", + "@types/node": "24.10.1", + "@types/semver": "7.7.1", + "semver": "7.7.4", + "typescript": "5.9.3", + }, + }, + "packages/cursor-vpet": { + "name": "cursor-vpet", + "version": "0.2.0-dev.0", + "dependencies": { + "@sbugallo/vpet-core": "workspace:*", + "sql.js": "^1.12.0", + }, + "devDependencies": { + "@types/bun": "1.3.14", + "@types/node": "24.10.1", + "@types/vscode": "1.90.0", + "@vscode/vsce": "3.2.1", + "ovsx": "0.10.0", + "typescript": "5.9.3", + }, + }, + "packages/opencode-vpet": { + "name": "@sbugallo/opencode-vpet", + "version": "0.2.0-dev.0", + "bin": { + "opencode-vpet": "./dist/cli.js", + }, "dependencies": { + "@sbugallo/vpet-core": "workspace:*", "solid-js": "^1.9.14", }, "devDependencies": { @@ -14,10 +46,11 @@ "@opentui/core": "^0.4.5", "@opentui/keymap": "^0.4.5", "@opentui/solid": "^0.4.5", - "@types/bun": "latest", - "@types/semver": "^7.7.1", - "semver": "^7.7.4", - "typescript": "^5.9.3", + "@types/bun": "1.3.14", + "@types/node": "24.10.1", + "@types/semver": "7.7.1", + "semver": "7.7.4", + "typescript": "5.9.3", }, "peerDependencies": { "@opencode-ai/plugin": ">=1.18.10", @@ -26,12 +59,44 @@ "@opentui/solid": ">=0.4.5", }, }, + "packages/vpet-core": { + "name": "@sbugallo/vpet-core", + "version": "0.2.0-dev.0", + "devDependencies": { + "@types/bun": "1.3.14", + "typescript": "5.9.3", + }, + }, }, "packages": { "@ai-sdk/provider": ["@ai-sdk/provider@3.0.8", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-oGMAgGoQdBXbZqNG0Ze56CHjDZ1IDYOwGYxYjO5KLSlz5HiNQ9udIXsPZ61VWaHGZ5XW/jyjmr6t2xz2jGVwbQ=="], "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], + "@azure/abort-controller": ["@azure/abort-controller@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-fNAjWnA/nZ2jz31kxR/AqRaUT8ewHBw/WuBIosK0moMy1C9e5ValbDfFdIxJzVOOYaYkV/b2F1S4H/aHiqfVQg=="], + + "@azure/core-auth": ["@azure/core-auth@1.11.0", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" } }, "sha512-IUZydyTUkDnYdstOW9pFOOUQlBjAepK5teihDE3x6yxsPJs/hsAaaYpeGxdxrgtOiJbBKSjKW7MDk7AEhb4LRg=="], + + "@azure/core-client": ["@azure/core-client@1.11.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.10.0", "@azure/core-rest-pipeline": "^1.22.0", "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", "tslib": "^2.6.2" } }, "sha512-2QygG2F76ZpMP2eMztiJvAiFMu71M9rDeU7vO/QKg5Css7MgM4frUOslFjhVjRhbGaCNPtz/S8M6y46/fFKVuQ=="], + + "@azure/core-process": ["@azure/core-process@1.0.0", "", {}, "sha512-/shnJ+ooO8WPxDhPEeI/2oRQuubn16gZ6CvlbpWbEswZfzwI9tI/sMAHmF3x1LuQ9yZYXfLW3TjzGMLEC5blKg=="], + + "@azure/core-rest-pipeline": ["@azure/core-rest-pipeline@1.25.0", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.10.0", "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", "@typespec/ts-http-runtime": "^0.3.4", "tslib": "^2.6.2" } }, "sha512-bMs8ekJLjX8wPV+9IPBges1SLPyuDtE9g5gLDWOpxzKcoOFQnpLGkbcT1tdw3FaAmDS1gnPmMmJ6y/T5B96kIA=="], + + "@azure/core-tracing": ["@azure/core-tracing@1.4.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-eGwxD0AtncrxeBM4tG8R55Pc3rdX1hNW2WibJAgYpCVA6E93mvvVH+LcssoVjOBrSKWS55yEIHsk0X8ctHmfOQ=="], + + "@azure/core-util": ["@azure/core-util@1.14.0", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-9n2pWK61veAuN0V20t9lOuoV4CFMdyAZ1ygZzvBGk/pBBJRib/PjL9PLXa/aI2CcPpyHfqVsxxqLCYl6uZlfDw=="], + + "@azure/identity": ["@azure/identity@4.13.2", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.9.0", "@azure/core-client": "^1.9.2", "@azure/core-process": "^1.0.0", "@azure/core-rest-pipeline": "^1.17.0", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", "@azure/msal-browser": "^5.5.0", "@azure/msal-node": "^5.1.5", "open": "^10.1.0", "tslib": "^2.2.0" } }, "sha512-NXL2/pCJctLxgw8bvrwwgge743kEq8LBT+O1pmV0vyUwetzFPH9auP6jhkU/cgZCPPtWoewAe3ncaGCgPo07fA=="], + + "@azure/logger": ["@azure/logger@1.4.0", "", { "dependencies": { "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-rbAE25KUfjU/s3XHUdJgceoCP5dEOpMx85J04kF+QMdta73XkuG9JGHHinch+XIoKpBdqljin+KqURpJriSzLA=="], + + "@azure/msal-browser": ["@azure/msal-browser@5.21.0", "", { "dependencies": { "@azure/msal-common": "16.14.0" } }, "sha512-80OcuXDErmcEDAIH9pBtSqBsed2sPT/IWmbG3xHLoPMl5zc8TINd6SlJAbVSmN5huGa3xGAg5qR7VnpaIEK0Zw=="], + + "@azure/msal-common": ["@azure/msal-common@16.14.0", "", {}, "sha512-A4rb55hI86Q9tBl/+jBj7TMz7iX2RFgQs/nExFzcAtoI/BFRVdaH5SL/MivrYD7qvweMpN8AgVvVMHV8UBYxew=="], + + "@azure/msal-node": ["@azure/msal-node@5.6.0", "", { "dependencies": { "@azure/msal-common": "16.13.0", "jsonwebtoken": "^9.0.0" } }, "sha512-uFY9NxrWHw8PwZx7gAX6PDn+9vdfS05+levc/kwkx77IkjfaldnQbbcQzzDIZ5Hq5Zdr6/z92oAIoRWKp6MnOA=="], + "@babel/code-frame": ["@babel/code-frame@7.29.7", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw=="], "@babel/compat-data": ["@babel/compat-data@7.29.7", "", {}, "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg=="], @@ -106,6 +171,8 @@ "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.5.10", "", { "os": "win32", "cpu": "x64" }, "sha512-M+2dgBsl3lXRiTfgPVc2p3anS4Tocojke4rzFLScZ2Y/wmF+36dRb1iHCLiyGqOzQGyTplZH1HnEYviiAqi3nA=="], + "@isaacs/cliui": ["@isaacs/cliui@9.0.0", "", {}, "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg=="], + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], @@ -152,16 +219,56 @@ "@opentui/solid": ["@opentui/solid@0.4.5", "", { "dependencies": { "@babel/core": "7.28.0", "@babel/preset-typescript": "7.27.1", "@opentui/core": "0.4.5", "babel-plugin-module-resolver": "5.0.2", "babel-preset-solid": "1.9.12", "entities": "7.0.1", "s-js": "^0.4.9" }, "peerDependencies": { "solid-js": "1.9.12" } }, "sha512-B0RSkXnrtPVfEJOX+Hj+axjLJ3lzbG1BZw5I7Pvb9OPp48Vzg2cW2a3cSa86/q48ndLt647i/XwFPIw/jqnI5g=="], + "@sbugallo/opencode-vpet": ["@sbugallo/opencode-vpet@workspace:packages/opencode-vpet"], + + "@sbugallo/vpet-core": ["@sbugallo/vpet-core@workspace:packages/vpet-core"], + "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], "@types/bun": ["@types/bun@1.3.14", "", { "dependencies": { "bun-types": "1.3.14" } }, "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw=="], - "@types/node": ["@types/node@26.1.2", "", { "dependencies": { "undici-types": "~8.3.0" } }, "sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg=="], + "@types/node": ["@types/node@24.10.1", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ=="], + + "@types/semver": ["@types/semver@7.7.1", "", {}, "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA=="], + + "@types/vscode": ["@types/vscode@1.90.0", "", {}, "sha512-oT+ZJL7qHS9Z8bs0+WKf/kQ27qWYR3trsXpq46YDjFqBsMLG4ygGGjPaJ2tyrH0wJzjOEmDyg9PDJBBhWg9pkQ=="], + + "@typespec/ts-http-runtime": ["@typespec/ts-http-runtime@0.3.9", "", { "dependencies": { "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "tslib": "^2.6.2" } }, "sha512-edSdeAqkdxBVzA1yL1LrLCml1YjyCVvPMtMqJpbF+6K609tHe8V6sQUzFQSGcYNhcuhOceZtjvN32+mpIth30A=="], + + "@vscode/vsce": ["@vscode/vsce@3.2.1", "", { "dependencies": { "@azure/identity": "^4.1.0", "@vscode/vsce-sign": "^2.0.0", "azure-devops-node-api": "^12.5.0", "chalk": "^2.4.2", "cheerio": "^1.0.0-rc.9", "cockatiel": "^3.1.2", "commander": "^6.2.1", "form-data": "^4.0.0", "glob": "^11.0.0", "hosted-git-info": "^4.0.2", "jsonc-parser": "^3.2.0", "leven": "^3.1.0", "markdown-it": "^14.1.0", "mime": "^1.3.4", "minimatch": "^3.0.3", "parse-semver": "^1.1.1", "read": "^1.0.7", "semver": "^7.5.2", "tmp": "^0.2.3", "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", "xml2js": "^0.5.0", "yauzl": "^2.3.1", "yazl": "^2.2.2" }, "optionalDependencies": { "keytar": "^7.7.0" }, "bin": { "vsce": "vsce" } }, "sha512-AY9vBjwExakK1c0cI/3NN2Ey0EgiKLBye/fxl/ue+o4q6RZ7N+xzd1jAD6eI6eBeMVANi617+V2rxIAkDPco2Q=="], + + "@vscode/vsce-sign": ["@vscode/vsce-sign@2.1.0", "", { "optionalDependencies": { "@vscode/vsce-sign-alpine-arm64": "2.0.6", "@vscode/vsce-sign-alpine-x64": "2.0.6", "@vscode/vsce-sign-darwin-arm64": "2.0.6", "@vscode/vsce-sign-darwin-x64": "2.0.6", "@vscode/vsce-sign-linux-arm": "2.0.6", "@vscode/vsce-sign-linux-arm64": "2.0.6", "@vscode/vsce-sign-linux-x64": "2.0.6", "@vscode/vsce-sign-win32-arm64": "2.0.6", "@vscode/vsce-sign-win32-x64": "2.0.6" } }, "sha512-9AQrqazrBgTgRSuwleLVXUrIUphY02/SFCh2TKYoLV/xifJAdblhdmEmw5gUrYSPQ3sRwNs9iyCMD14sATEE6g=="], + + "@vscode/vsce-sign-alpine-arm64": ["@vscode/vsce-sign-alpine-arm64@2.0.6", "", { "os": "none", "cpu": "arm64" }, "sha512-wKkJBsvKF+f0GfsUuGT0tSW0kZL87QggEiqNqK6/8hvqsXvpx8OsTEc3mnE1kejkh5r+qUyQ7PtF8jZYN0mo8Q=="], + + "@vscode/vsce-sign-alpine-x64": ["@vscode/vsce-sign-alpine-x64@2.0.6", "", { "os": "none", "cpu": "x64" }, "sha512-YoAGlmdK39vKi9jA18i4ufBbd95OqGJxRvF3n6ZbCyziwy3O+JgOpIUPxv5tjeO6gQfx29qBivQ8ZZTUF2Ba0w=="], + + "@vscode/vsce-sign-darwin-arm64": ["@vscode/vsce-sign-darwin-arm64@2.0.6", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5HMHaJRIQuozm/XQIiJiA0W9uhdblwwl2ZNDSSAeXGO9YhB9MH5C4KIHOmvyjUnKy4UCuiP43VKpIxW1VWP4tQ=="], + + "@vscode/vsce-sign-darwin-x64": ["@vscode/vsce-sign-darwin-x64@2.0.6", "", { "os": "darwin", "cpu": "x64" }, "sha512-25GsUbTAiNfHSuRItoQafXOIpxlYj+IXb4/qarrXu7kmbH94jlm5sdWSCKrrREs8+GsXF1b+l3OB7VJy5jsykw=="], + + "@vscode/vsce-sign-linux-arm": ["@vscode/vsce-sign-linux-arm@2.0.6", "", { "os": "linux", "cpu": "arm" }, "sha512-UndEc2Xlq4HsuMPnwu7420uqceXjs4yb5W8E2/UkaHBB9OWCwMd3/bRe/1eLe3D8kPpxzcaeTyXiK3RdzS/1CA=="], + + "@vscode/vsce-sign-linux-arm64": ["@vscode/vsce-sign-linux-arm64@2.0.6", "", { "os": "linux", "cpu": "arm64" }, "sha512-cfb1qK7lygtMa4NUl2582nP7aliLYuDEVpAbXJMkDq1qE+olIw/es+C8j1LJwvcRq1I2yWGtSn3EkDp9Dq5FdA=="], + + "@vscode/vsce-sign-linux-x64": ["@vscode/vsce-sign-linux-x64@2.0.6", "", { "os": "linux", "cpu": "x64" }, "sha512-/olerl1A4sOqdP+hjvJ1sbQjKN07Y3DVnxO4gnbn/ahtQvFrdhUi0G1VsZXDNjfqmXw57DmPi5ASnj/8PGZhAA=="], - "@types/semver": ["@types/semver@7.8.0", "", {}, "sha512-1mAINjtQCXXeLkJ9ehXkwOcBpqtLxiVtKhpUf83DdRNdQKV0iXZpaHYqRr7nj+wvxuJzoAmAwXI+sCNMv1CzLQ=="], + "@vscode/vsce-sign-win32-arm64": ["@vscode/vsce-sign-win32-arm64@2.0.6", "", { "os": "win32", "cpu": "arm64" }, "sha512-ivM/MiGIY0PJNZBoGtlRBM/xDpwbdlCWomUWuLmIxbi1Cxe/1nooYrEQoaHD8ojVRgzdQEUzMsRbyF5cJJgYOg=="], + + "@vscode/vsce-sign-win32-x64": ["@vscode/vsce-sign-win32-x64@2.0.6", "", { "os": "win32", "cpu": "x64" }, "sha512-mgth9Kvze+u8CruYMmhHw6Zgy3GRX2S+Ed5oSokDEK5vPEwGGKnmuXua9tmFhomeAnhgJnL4DCna3TiNuGrBTQ=="], + + "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], "ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + "ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], + + "azure-devops-node-api": ["azure-devops-node-api@12.5.0", "", { "dependencies": { "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } }, "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og=="], + "babel-plugin-jsx-dom-expressions": ["babel-plugin-jsx-dom-expressions@0.40.7", "", { "dependencies": { "@babel/helper-module-imports": "7.18.6", "@babel/plugin-syntax-jsx": "^7.18.6", "@babel/types": "^7.20.7", "html-entities": "2.3.3", "parse5": "^7.1.2" }, "peerDependencies": { "@babel/core": "^7.20.12" } }, "sha512-/O6JWUmjv03OI9lL2ry9bUjpD5S3PclM55RRJEyCdcFZ5W2SEA/59d+l2hNsk3gI6kiWRdRPdOtqZmsQzFN1pQ=="], "babel-plugin-module-resolver": ["babel-plugin-module-resolver@5.0.2", "", { "dependencies": { "find-babel-config": "^2.1.1", "glob": "^9.3.3", "pkg-up": "^3.1.0", "reselect": "^4.1.7", "resolve": "^1.22.8" } }, "sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg=="], @@ -170,50 +277,144 @@ "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + "baseline-browser-mapping": ["baseline-browser-mapping@2.11.8", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-zAgkquC2WYF0PIc6XbNYkA2uuxxFavzgmX61R+dHDUa558V8Ejf8ozTZFR6QzM24RWu4kBcRkhJ5kpz77j9fnQ=="], - "brace-expansion": ["brace-expansion@2.1.4", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg=="], + "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], + + "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], + + "brace-expansion": ["brace-expansion@1.1.18", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw=="], "browserslist": ["browserslist@4.28.7", "", { "dependencies": { "baseline-browser-mapping": "^2.10.44", "caniuse-lite": "^1.0.30001806", "electron-to-chromium": "^1.5.393", "node-releases": "^2.0.51", "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw=="], + "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], + + "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], + + "buffer-equal-constant-time": ["buffer-equal-constant-time@1.0.1", "", {}, "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="], + "bun-ffi-structs": ["bun-ffi-structs@0.2.4", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-AJzsqoVFs1KBbJbWHIYrVZLDC3NhTqqh25awRXqzoLzmBAKr5oqk6+CwuYHAekKx+VBCYVohBoKuRq40dV+TYg=="], "bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="], + "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="], + + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + "caniuse-lite": ["caniuse-lite@1.0.30001806", "", {}, "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw=="], + "chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + + "cheerio": ["cheerio@1.2.0", "", { "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "encoding-sniffer": "^0.2.1", "htmlparser2": "^10.1.0", "parse5": "^7.3.0", "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", "undici": "^7.19.0", "whatwg-mimetype": "^4.0.0" } }, "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg=="], + + "cheerio-select": ["cheerio-select@2.1.0", "", { "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", "css-what": "^6.1.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.0.1" } }, "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g=="], + + "chownr": ["chownr@1.1.4", "", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="], + + "ci-info": ["ci-info@2.0.0", "", {}, "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="], + + "cockatiel": ["cockatiel@3.2.1", "", {}, "sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q=="], + + "color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], + + "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], + + "commander": ["commander@6.2.1", "", {}, "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA=="], + + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + "css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="], + + "css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="], + "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], + "cursor-vpet": ["cursor-vpet@workspace:packages/cursor-vpet"], + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="], + + "deep-extend": ["deep-extend@0.6.0", "", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="], + + "default-browser": ["default-browser@5.5.1", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw=="], + + "default-browser-id": ["default-browser-id@5.0.1", "", {}, "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q=="], + + "define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], + + "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], "diff": ["diff@9.0.0", "", {}, "sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw=="], + "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], + + "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], + + "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="], + + "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], + + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + + "ecdsa-sig-formatter": ["ecdsa-sig-formatter@1.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ=="], + "effect": ["effect@4.0.0-beta.83", "", { "dependencies": { "@standard-schema/spec": "^1.1.0", "fast-check": "^4.8.0", "find-my-way-ts": "^0.1.6", "ini": "^7.0.0", "kubernetes-types": "^1.30.0", "msgpackr": "^2.0.1", "multipasta": "^0.2.7", "toml": "^4.1.1", "uuid": "^14.0.0", "yaml": "^2.9.0" } }, "sha512-0wsak8RtgGAr9UWSbVDgJHZcUqMSvicHcvaZv1MbMM7MCGgW4Rn/137J1MHQbwYPcwYGxT/IqehFd+UbYuj78w=="], "electron-to-chromium": ["electron-to-chromium@1.5.398", "", {}, "sha512-AsvhAxopJGh6museTDMIjn6JpDYOfgu4RLlygomt87MUwBUqTfd/1EiPtx10/LZE8xpTvkP2E9Gafq7lkLtodQ=="], "emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], + "encoding-sniffer": ["encoding-sniffer@0.2.1", "", { "dependencies": { "iconv-lite": "^0.6.3", "whatwg-encoding": "^3.1.1" } }, "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw=="], + + "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], + "entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="], + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + "es-object-atoms": ["es-object-atoms@1.1.2", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw=="], + + "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + "escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], + + "expand-template": ["expand-template@2.0.3", "", {}, "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="], + "fast-check": ["fast-check@4.9.0", "", { "dependencies": { "pure-rand": "^8.0.0" } }, "sha512-7ms6T7SybUev/PQITciI0yLM2pOSFy5zpG8Ty7tQofcVaQUvrMXp6CBwqF6fThLCLOrfBtuHAtwq6Yu4XPCllg=="], + "fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="], + "find-babel-config": ["find-babel-config@2.1.2", "", { "dependencies": { "json5": "^2.2.3" } }, "sha512-ZfZp1rQyp4gyuxqt1ZqjFGVeVBvmpURMqdIWXbPRfB97Bf6BzdK/xSIbylEINzQ0kB5tlDQfn9HkNXXWsqTqLg=="], "find-my-way-ts": ["find-my-way-ts@0.1.6", "", {}, "sha512-a85L9ZoXtNAey3Y6Z+eBWW658kO/MwR7zIafkIUPUMf3isZG0NCs2pjW2wtjxAKuJPxMAsHUIP4ZPGv0o5gyTA=="], "find-up": ["find-up@3.0.0", "", { "dependencies": { "locate-path": "^3.0.0" } }, "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="], + "follow-redirects": ["follow-redirects@1.16.0", "", { "peerDependencies": { "debug": "*" }, "optionalPeers": ["debug"] }, "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw=="], + + "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], + + "form-data": ["form-data@4.0.6", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.4", "mime-types": "^2.1.35" } }, "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ=="], + + "fs-constants": ["fs-constants@1.0.0", "", {}, "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="], + "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], @@ -222,18 +423,56 @@ "get-east-asian-width": ["get-east-asian-width@1.6.0", "", {}, "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA=="], - "glob": ["glob@9.3.5", "", { "dependencies": { "fs.realpath": "^1.0.0", "minimatch": "^8.0.2", "minipass": "^4.2.4", "path-scurry": "^1.6.1" } }, "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q=="], + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + + "github-from-package": ["github-from-package@0.0.0", "", {}, "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="], + + "glob": ["glob@11.1.0", "", { "dependencies": { "foreground-child": "^3.3.1", "jackspeak": "^4.1.1", "minimatch": "^10.1.1", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw=="], + + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], + + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], "hasown": ["hasown@2.0.4", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A=="], + "hosted-git-info": ["hosted-git-info@4.1.0", "", { "dependencies": { "lru-cache": "^6.0.0" } }, "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA=="], + "html-entities": ["html-entities@2.3.3", "", {}, "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA=="], + "htmlparser2": ["htmlparser2@10.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "entities": "^7.0.1" } }, "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ=="], + + "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], + + "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], + + "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + + "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], + + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + "ini": ["ini@7.0.0", "", {}, "sha512-ifK0CgjALofS5bkrcTy4RaQ9Vx2Knf/eLeIO+NaswQEpH1UblrtTSCIvN71qQDMq0PeQ/SSPojvEJp9vvvfr+w=="], + "is-ci": ["is-ci@2.0.0", "", { "dependencies": { "ci-info": "^2.0.0" }, "bin": { "is-ci": "bin.js" } }, "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w=="], + "is-core-module": ["is-core-module@2.16.2", "", { "dependencies": { "hasown": "^2.0.3" } }, "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA=="], + "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + + "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], + + "is-wsl": ["is-wsl@3.1.1", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw=="], + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + "jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], @@ -242,17 +481,63 @@ "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], + "jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="], + + "jsonwebtoken": ["jsonwebtoken@9.0.3", "", { "dependencies": { "jws": "^4.0.1", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", "lodash.isinteger": "^4.0.4", "lodash.isnumber": "^3.0.3", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.once": "^4.0.0", "ms": "^2.1.1", "semver": "^7.5.4" } }, "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g=="], + + "jwa": ["jwa@2.0.1", "", { "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg=="], + + "jws": ["jws@4.0.1", "", { "dependencies": { "jwa": "^2.0.1", "safe-buffer": "^5.0.1" } }, "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA=="], + + "keytar": ["keytar@7.9.0", "", { "dependencies": { "node-addon-api": "^4.3.0", "prebuild-install": "^7.0.1" } }, "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ=="], + "kubernetes-types": ["kubernetes-types@1.30.0", "", {}, "sha512-Dew1okvhM/SQcIa2rcgujNndZwU8VnSapDgdxlYoB84ZlpAD43U6KLAFqYo17ykSFGHNPrg0qry0bP+GJd9v7Q=="], + "leven": ["leven@3.1.0", "", {}, "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A=="], + + "linkify-it": ["linkify-it@5.0.2", "", { "dependencies": { "uc.micro": "^2.0.0" } }, "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q=="], + "locate-path": ["locate-path@3.0.0", "", { "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="], - "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], + "lodash.includes": ["lodash.includes@4.3.0", "", {}, "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="], + + "lodash.isboolean": ["lodash.isboolean@3.0.3", "", {}, "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="], + + "lodash.isinteger": ["lodash.isinteger@4.0.4", "", {}, "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="], + + "lodash.isnumber": ["lodash.isnumber@3.0.3", "", {}, "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="], + + "lodash.isplainobject": ["lodash.isplainobject@4.0.6", "", {}, "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="], + + "lodash.isstring": ["lodash.isstring@4.0.1", "", {}, "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="], + + "lodash.once": ["lodash.once@4.1.1", "", {}, "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="], + + "lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="], + + "markdown-it": ["markdown-it@14.3.1", "", { "dependencies": { "argparse": "^2.0.1", "entities": "^4.5.0", "linkify-it": "^5.0.2", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" }, "bin": { "markdown-it": "bin/markdown-it.mjs" } }, "sha512-4Ej49aYTDFIQ+uBkfX8GBvJGccoARxxPep+7aWTs55ozbjQJpW9M26Fe53vnGgvLeVzva/amzjQQaQu9w0vMhA=="], "marked": ["marked@17.0.1", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-boeBdiS0ghpWcSwoNm/jJBwdpFaMnZWRzjA6SkUMYb40SVaN1x7mmfGKp0jvexGcx+7y2La5zRZsYFZI6Qpypg=="], - "minimatch": ["minimatch@8.0.7", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-V+1uQNdzybxa14e/p00HZnQNNcTjnRJjDxg2V8wtkjFctq4M7hXFws4oekyTP0Jebeq7QYtpFyOeBAjc88zvYg=="], + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + + "mdurl": ["mdurl@2.1.0", "", {}, "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg=="], + + "mime": ["mime@1.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="], + + "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + + "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="], - "minipass": ["minipass@4.2.8", "", {}, "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ=="], + "minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], + + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + + "minipass": ["minipass@7.1.3", "", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="], + + "mkdirp-classic": ["mkdirp-classic@0.5.3", "", {}, "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="], "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], @@ -262,39 +547,89 @@ "multipasta": ["multipasta@0.2.8", "", {}, "sha512-ZPWuMKyv0cSO29f7hozp+k6+crZbQijV8ipMvxNxRf2SwtYGTX1ZX89Kd20VV4H9Znonx+EQn+iy1wGQsJ+b+Q=="], + "mute-stream": ["mute-stream@0.0.8", "", {}, "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="], + + "napi-build-utils": ["napi-build-utils@2.0.0", "", {}, "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA=="], + + "node-abi": ["node-abi@3.96.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-rebQ/lz7i0EkoLzUVSrKRzA69zMkwLp95kKMWoMDkkM00Suxz0D7zEQPwRml5fQum24mj7bPvmlgLAmu2JCiYg=="], + + "node-addon-api": ["node-addon-api@4.3.0", "", {}, "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ=="], + "node-gyp-build-optional-packages": ["node-gyp-build-optional-packages@5.2.2", "", { "dependencies": { "detect-libc": "^2.0.1" }, "bin": { "node-gyp-build-optional-packages": "bin.js", "node-gyp-build-optional-packages-optional": "optional.js", "node-gyp-build-optional-packages-test": "build-test.js" } }, "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw=="], "node-releases": ["node-releases@2.0.51", "", {}, "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ=="], + "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], + + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], + + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + + "open": ["open@10.2.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "wsl-utils": "^0.1.0" } }, "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA=="], + + "ovsx": ["ovsx@0.10.0", "", { "dependencies": { "@vscode/vsce": "^3.1.0", "commander": "^6.2.1", "follow-redirects": "^1.14.6", "is-ci": "^2.0.0", "leven": "^3.1.0", "semver": "^7.6.0", "tmp": "^0.2.3", "yauzl": "^3.1.3" }, "bin": "lib/ovsx" }, "sha512-DSgNXGQ444nGKag+LZh92R/hM2PfRSu+6VKfVawoZ+JzFDiGX8yhMkAuyVlHrlxLCpfQOsqs80GcHje/h2SpmA=="], + "p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], "p-locate": ["p-locate@3.0.0", "", { "dependencies": { "p-limit": "^2.0.0" } }, "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="], "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + + "parse-semver": ["parse-semver@1.1.1", "", { "dependencies": { "semver": "^5.1.0" } }, "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ=="], + "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], + "parse5-htmlparser2-tree-adapter": ["parse5-htmlparser2-tree-adapter@7.1.0", "", { "dependencies": { "domhandler": "^5.0.3", "parse5": "^7.0.0" } }, "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g=="], + + "parse5-parser-stream": ["parse5-parser-stream@7.1.2", "", { "dependencies": { "parse5": "^7.0.0" } }, "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow=="], + "path-exists": ["path-exists@3.0.0", "", {}, "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="], "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], - "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + "path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], + + "pend": ["pend@1.2.0", "", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="], "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], "pkg-up": ["pkg-up@3.1.0", "", { "dependencies": { "find-up": "^3.0.0" } }, "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA=="], + "prebuild-install": ["prebuild-install@7.1.3", "", { "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", "tar-fs": "^2.0.0", "tunnel-agent": "^0.6.0" }, "bin": { "prebuild-install": "bin.js" } }, "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug=="], + + "pump": ["pump@3.0.4", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA=="], + + "punycode.js": ["punycode.js@2.3.1", "", {}, "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA=="], + "pure-rand": ["pure-rand@8.4.2", "", {}, "sha512-vvuOGgcuPJAirlHvuQw1TrOiw7ptaIXXmIbNuiNOY6lNGJJH49PQ1Kj4nd783nPdQhQdicgOjVI2yI/9BD6/Ng=="], + "qs": ["qs@6.16.0", "", { "dependencies": { "es-define-property": "^1.0.1", "side-channel": "^1.1.1" } }, "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA=="], + + "rc": ["rc@1.2.8", "", { "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "./cli.js" } }, "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="], + + "read": ["read@1.0.7", "", { "dependencies": { "mute-stream": "~0.0.4" } }, "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ=="], + + "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], + "reselect": ["reselect@4.1.8", "", {}, "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ=="], "resolve": ["resolve@1.22.12", "", { "dependencies": { "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA=="], + "run-applescript": ["run-applescript@7.1.0", "", {}, "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q=="], + "s-js": ["s-js@0.4.9", "", {}, "sha512-RtpOm+cM6O0sHg6IA70wH+UC3FZcND+rccBZpBAHzlUgNO2Bm5BN+FnM8+OBxzXdwpKWFwX11JGF0MFRkhSoIQ=="], - "semver": ["semver@7.8.5", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA=="], + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], + + "sax": ["sax@1.6.1", "", {}, "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q=="], + + "semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "seroval": ["seroval@1.5.6", "", {}, "sha512-rVQVWjjSvlINzaQPZH5JFqsqEsIWdTxY3iJZCnTL/5gQbXIRooVZKI60tVCkOVfzcRPejboxO2t0P89dg5mQaA=="], @@ -304,46 +639,146 @@ "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + "side-channel": ["side-channel@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4", "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ=="], + + "side-channel-list": ["side-channel-list@1.0.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4" } }, "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w=="], + + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], + + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], + + "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "simple-concat": ["simple-concat@1.0.1", "", {}, "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="], + + "simple-get": ["simple-get@4.0.1", "", { "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } }, "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA=="], + "solid-js": ["solid-js@1.9.14", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.5.4", "seroval-plugins": "~1.5.4" } }, "sha512-sAEXC0Kk0S1EDg+8ysEWJDbYhA3RRoEjwuySUGlKIemeo0I5YZfOyumNjNs9Sv3y2nmhD+0rW66ag2HsMuQiGQ=="], + "sql.js": ["sql.js@1.14.2", "", {}, "sha512-3ZGPovObMFrdw79zrUHbfdE/DLIsy8jdNdssmMSQuRAymedU6q84asPt0kgiqrdMYlPegDItiIMfmIXzZnYFcw=="], + "string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], + "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], + "strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + "strip-json-comments": ["strip-json-comments@2.0.1", "", {}, "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="], + + "supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], + "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], + "tar-fs": ["tar-fs@2.1.5", "", { "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" } }, "sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw=="], + + "tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="], + + "tmp": ["tmp@0.2.7", "", {}, "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw=="], + "toml": ["toml@4.3.0", "", {}, "sha512-lVb8X9BsPVuH0M4BKeS91tXAmJvCjQ5UIyAbQFaxkKGyUFK2RPkhwaFSQH8vbpl1d23eu/IBH+dwVMHWaq9A5A=="], + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "tunnel": ["tunnel@0.0.6", "", {}, "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="], + + "tunnel-agent": ["tunnel-agent@0.6.0", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="], + + "typed-rest-client": ["typed-rest-client@1.8.11", "", { "dependencies": { "qs": "^6.9.1", "tunnel": "0.0.6", "underscore": "^1.12.1" } }, "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA=="], + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - "undici-types": ["undici-types@8.3.0", "", {}, "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ=="], + "uc.micro": ["uc.micro@2.1.0", "", {}, "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A=="], + + "underscore": ["underscore@1.13.8", "", {}, "sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ=="], + + "undici": ["undici@7.29.1", "", {}, "sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q=="], + + "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], "update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="], + "url-join": ["url-join@4.0.1", "", {}, "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + "uuid": ["uuid@14.0.1", "", { "bin": { "uuid": "dist-node/bin/uuid" } }, "sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew=="], "web-tree-sitter": ["web-tree-sitter@0.25.10", "", { "peerDependencies": { "@types/emscripten": "^1.40.0" }, "optionalPeers": ["@types/emscripten"] }, "sha512-Y09sF44/13XvgVKgO2cNDw5rGk6s26MgoZPXLESvMXeefBf7i6/73eFurre0IsTW6E14Y0ArIzhUMmjoc7xyzA=="], + "whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="], + + "whatwg-mimetype": ["whatwg-mimetype@4.0.0", "", {}, "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="], + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], - "yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + + "wsl-utils": ["wsl-utils@0.1.0", "", { "dependencies": { "is-wsl": "^3.1.0" } }, "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw=="], + + "xml2js": ["xml2js@0.5.0", "", { "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA=="], + + "xmlbuilder": ["xmlbuilder@11.0.1", "", {}, "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="], + + "yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="], "yaml": ["yaml@2.9.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA=="], + "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="], + + "yazl": ["yazl@2.5.1", "", { "dependencies": { "buffer-crc32": "~0.2.3" } }, "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw=="], + "zod": ["zod@4.1.8", "", {}, "sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ=="], + "@azure/msal-node/@azure/msal-common": ["@azure/msal-common@16.13.0", "", {}, "sha512-rOAy0KUcyBbdwVJ+f3uPpthXatFLLZN+/KWAsTLzk1aB23Xl9DRmmXYwSvBFOZyXj4jUQQ5FKxxRkhAFW1fOow=="], + "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], + "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "babel-plugin-jsx-dom-expressions/@babel/helper-module-imports": ["@babel/helper-module-imports@7.18.6", "", { "dependencies": { "@babel/types": "^7.18.6" } }, "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="], + "babel-plugin-module-resolver/glob": ["glob@9.3.5", "", { "dependencies": { "fs.realpath": "^1.0.0", "minimatch": "^8.0.2", "minipass": "^4.2.4", "path-scurry": "^1.6.1" } }, "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q=="], + + "bun-types/@types/node": ["@types/node@26.1.2", "", { "dependencies": { "undici-types": "~8.3.0" } }, "sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg=="], + + "dom-serializer/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + + "glob/minimatch": ["minimatch@10.2.6", "", { "dependencies": { "brace-expansion": "^5.0.8" } }, "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A=="], + + "markdown-it/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + + "ovsx/yauzl": ["yauzl@3.4.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw=="], + + "parse-semver/semver": ["semver@5.7.2", "", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], + "parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], - "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + "path-scurry/lru-cache": ["lru-cache@11.5.2", "", {}, "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g=="], + + "rc/ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], + + "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + + "babel-plugin-module-resolver/glob/minimatch": ["minimatch@8.0.7", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-V+1uQNdzybxa14e/p00HZnQNNcTjnRJjDxg2V8wtkjFctq4M7hXFws4oekyTP0Jebeq7QYtpFyOeBAjc88zvYg=="], + + "babel-plugin-module-resolver/glob/minipass": ["minipass@4.2.8", "", {}, "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ=="], + + "babel-plugin-module-resolver/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + + "bun-types/@types/node/undici-types": ["undici-types@8.3.0", "", {}, "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ=="], + + "glob/minimatch/brace-expansion": ["brace-expansion@5.0.9", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg=="], + + "babel-plugin-module-resolver/glob/minimatch/brace-expansion": ["brace-expansion@2.1.4", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg=="], + + "babel-plugin-module-resolver/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "babel-plugin-module-resolver/glob/path-scurry/minipass": ["minipass@7.1.3", "", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="], - "path-scurry/minipass": ["minipass@7.1.3", "", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="], + "glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], } } diff --git a/bunfig.toml b/bunfig.toml index 0d8b3d7..08e479b 100644 --- a/bunfig.toml +++ b/bunfig.toml @@ -1,6 +1,3 @@ [jsx] runtime = "automatic" importSource = "@opentui/solid" - -[test] -preload = ["@opentui/solid/preload"] diff --git a/docs/cursor-extension-plan.md b/docs/cursor-extension-plan.md new file mode 100644 index 0000000..7bdb0d8 --- /dev/null +++ b/docs/cursor-extension-plan.md @@ -0,0 +1,976 @@ +# Plan de implementación: opencode-vpet como extensión Cursor/VS Code + +> Documento de planificación técnica — versión 1.0 +> Fecha: 2026-09-09 +> Alcance: extender opencode-vpet para publicar dos artefactos (npm + VSIX) desde un monorepo compartido. + +--- + +## 1. Resumen ejecutivo + +**opencode-vpet** es hoy un plugin dual de OpenCode (servidor + TUI) que evoluciona un Digimon virtual según el consumo de tokens de IA. La arquitectura hexagonal existente (~60–70 % reutilizable) permite extraer el núcleo de dominio y aplicación a un paquete compartido (`vpet-core`) y añadir un adaptador Cursor (`cursor-vpet`) sin duplicar lógica de evolución, persistencia ni view-models. + +El **riesgo crítico** es la obtención de tokens en Cursor: **no existe API oficial de extensión para eventos por mensaje**. OpenCode expone `message.updated` y `session.idle` con tokens fiables; Cursor obliga a estrategias no documentadas (lectura de `state.vscdb`, endpoints internos de `api2.cursor.sh` / `cursor.com`) con alta fragilidad y cobertura incompleta. + +**Recomendación:** adoptar un port `UsageEventSource` con estrategia en capas — (1) hooks Cursor `beforeSubmitPrompt` + `stop`, (2) **delta API watermark** al final de cada turno (snapshot al inicio, suma de eventos nuevos tras delay de 4–20 s), (3) reconciliación periódica — con idempotencia vía `receiptKey` ya presente en el dominio. Ver §5.12. + +**Entregables:** monorepo con tres paquetes, extensión VS Code publicable en Marketplace (compatible con Cursor), CI dual en PR/push, CD con semver unificado (npm + VSIX + GitHub Release). + +--- + +## 2. Estado actual del proyecto + +### 2.1 Arquitectura + +``` +packages/ +├── vpet-core/ +│ ├── domain/ # Evolución, etapas, partner, nodos Digimon +│ ├── application/ # Casos de uso, ports, modelos +│ │ ├── ports/ # UsageLedger, PartnerLifecycle, VpetControl, … +│ │ └── use-cases/ # recordUsage, reconcileUsage, spawn, freeze, … +│ ├── adapters/sqlite/ # Schema, migraciones, write-store (SqliteExecutor) +│ ├── data/ # Catálogo Digimon, sprites, frames +│ ├── config/ # Settings globales +│ └── view-models/ # sidebar, dex, history (sin JSX de host) +├── opencode-vpet/ +│ ├── src/adapters/opencode/ # Hooks servidor, mapeo de eventos, toasts +│ ├── src/adapters/sqlite/ # bun-sqlite-driver + factory delgada +│ ├── src/tui/ # OpenTUI + Solid: sidebar, dex, history +│ └── src/commands/ # /vpet-spawn, freeze, unfreeze, set +└── cursor-vpet/ + ├── src/adapters/cursor/ # UsageEventSource, auth, paths + ├── src/adapters/sqlite/ # sql.js driver + factory delgada + └── src/webview/ # UI embebida +``` + +**Patrón hexagonal:** `application/` no importa frameworks; `adapters/` implementan ports; tests `architecture-boundary` y `hexagonal-boundary` validan dirección de dependencias. + +### 2.2 Flujo de tokens (OpenCode) + +```mermaid +sequenceDiagram + participant OC as OpenCode SDK + participant Hooks as createServerHooks + participant Mapper as usage-event-mapper + participant UC as recordUsage / reconcileUsage + participant DB as SqliteVpetRepository + + OC->>Hooks: event message.updated + Hooks->>Mapper: toCompletedUsageFromEvent + Mapper->>UC: CompletedUsage (receiptKey, tokenDelta, …) + UC->>DB: applyUsageReceipt + + OC->>Hooks: event session.idle + Hooks->>OC: fetchMessages(sessionID) + Hooks->>Mapper: toCompletedUsageFromMessage (×N) + Hooks->>UC: reconcileUsage +``` + +Referencias clave: + +- `packages/opencode-vpet/src/adapters/opencode/create-server-hooks.ts` — suscripción a `message.updated` y `session.idle` +- `packages/opencode-vpet/src/adapters/opencode/usage-event-mapper.ts` — `tokenDelta` = input + output + reasoning + cache read/write +- `packages/vpet-core/src/application/use-cases/record-usage.ts` — idempotencia por `receiptKey` + +### 2.3 Build y runtime + +| Aspecto | Detalle | +|---------|---------| +| Package | `@sbugallo/opencode-vpet` (single package) | +| Build | `bun scripts/build.ts` — ESM, target `bun` (plugin) + `node` (CLI) | +| SQLite | `bun:sqlite` vía `SqliteExecutor` en `bun-sqlite-driver.ts` | +| UI | Solid + OpenTUI (`@opentui/solid`) — acoplada a OpenCode TUI | +| Tests | `bun test` — unitarios, persistencia, boundaries arquitectónicos | +| Datos | `~/Library/Application Support/opencode-vpet/pet.db` (macOS) | + +### 2.4 CI/CD actual + +**CI** (`.github/workflows/ci.yml`): en PR y push a `main` — format, lint, `bun run check`, tests, prepack, `npm pack --dry-run`. + +**CD** (`.github/workflows/cd.yml`): `workflow_dispatch` manual — bump semver estable, tag, publish npm con provenance, GitHub Release con tarball. + +No hay publicación VSIX ni jobs matriciales por paquete. + +--- + +## 3. Arquitectura propuesta + +### 3.1 Estructura monorepo + +``` +packages/ +├── vpet-core/ # Dominio + aplicación + data + view-models + SQLite compartido +│ ├── domain/ +│ ├── application/ +│ ├── adapters/sqlite/ # schema, migraciones, write-store (SqliteExecutor) +│ ├── data/ +│ ├── view-models/ # sidebar, dex, history (sin JSX de host) +│ └── package.json # @sbugallo/vpet-core +├── opencode-vpet/ # Plugin OpenCode (server + tui) +│ ├── src/adapters/opencode/ +│ ├── src/adapters/sqlite/ # bun-sqlite-driver + factory +│ ├── src/tui/ # OpenTUI wrappers +│ └── package.json # @sbugallo/opencode-vpet (mismo nombre público) +└── cursor-vpet/ # Extensión VS Code / Cursor + ├── src/ + │ ├── extension.ts + │ ├── adapters/cursor/ # UsageEventSource, auth, paths + │ ├── adapters/sqlite/ # node-sqlite-driver (sql.js) + │ └── webview/ # UI Solid/HTML embebida + ├── package.json # cursor-vpet o @sbugallo/cursor-vpet + └── .vscodeignore +``` + +**Workspace root:** `package.json` con `workspaces: ["packages/*"]`, scripts agregados (`bun run test --filter '*'`), Biome/TS config compartidos. + +### 3.2 Dependencias entre paquetes + +```mermaid +graph TD + Core[vpet-core] + OC[opencode-vpet] + CV[cursor-vpet] + + OC --> Core + CV --> Core + + OC --> BunSQLite[bun:sqlite] + OC --> OpenTUI[OpenTUI / Solid] + OC --> OpenCodeSDK[@opencode-ai/plugin] + + CV --> SqlJs[sql.js] + CV --> VSCodeAPI[vscode] + CV --> SolidWeb[Solid webview] +``` + +### 3.3 Principios de extracción + +1. Mover `domain/`, `application/`, `data/` y view-models puros (`sidebar-view-model`, `dex-view-model`, `history-view-model`) a `vpet-core`. +2. Mantener `SqliteExecutor` como interfaz en `vpet-core` (o `vpet-core/ports`); drivers en cada adaptador host. +3. `CompletedUsage` y `UsageLedger` permanecen en core; cada host implementa su `UsageEventSource`. +4. Config: tipos compartidos en core; loaders específicos por host (`global-vpet-settings` OpenCode vs `vscode.workspace.getConfiguration`). + +--- + +## 4. Mapa de equivalencias OpenCode ↔ Cursor + +| Concepto | OpenCode | Cursor / VS Code | +|----------|----------|------------------| +| Punto de entrada plugin | `@opencode-ai/plugin` (`server` + `tui`) | `package.json` `activationEvents`, `extension.ts` | +| Eventos de uso IA | `message.updated`, `session.idle` (SDK oficial) | **No oficial** — SQLite `bubbleId:*`, APIs dashboard | +| Sesión / conversación | `sessionID`, `message.id` | `composerId`, `bubbleId` | +| Identificador estable mensaje | `message:${message.id}` | `bubble:${composerId}:${bubbleId}` o `usage-event:${timestamp}:${hash}` | +| Tokens por mensaje | `message.tokens.*` (fiable) | `tokenCount` en bubble JSON (~4 % poblado) o API agregada | +| Reconciliación al idle | `session.idle` + `fetchMessages` | Poll API / scan incremental DB al detectar fin de stream | +| Notificaciones | `client.tui.showToast` | `vscode.window.showInformationMessage` / webview toast | +| Sidebar UI | OpenTUI `sidebar-card.tsx` | `WebviewView` + HTML/Solid | +| Comandos | `/vpet-spawn`, etc. | `contributes.commands` + palette | +| Persistencia VPET | `opencode-vpet/pet.db` | Mismo path o `cursor-vpet/pet.db` (configurable; recomendar compartir si coexisten) | +| SQLite driver | `bun:sqlite` | `sql.js` (lectura `state.vscdb`) + `better-sqlite3` opcional solo para `pet.db` escribible | +| Config usuario | OpenCode settings JSON | `contributes.configuration` | +| Instalación | `npx @sbugallo/opencode-vpet init` | Marketplace / `.vsix` | +| API Cursor específica | N/A | `vscode.cursor.mcp.*`, `vscode.cursor.plugins.addPlugin` (MCP/plugins, **no usage**) | + +```mermaid +flowchart LR + subgraph OpenCode + OCE[SDK Events] + OCH[createServerHooks] + OCM[usage-event-mapper] + end + + subgraph Cursor + CDB[state.vscdb watcher] + CAPI[api2.cursor.sh] + CMAP[cursor-usage-mapper] + end + + subgraph Shared + UES[UsageEventSource port] + RU[recordUsage] + DB[(pet.db)] + end + + OCE --> OCH --> OCM --> UES + CDB --> UES + CAPI --> UES + CMAP --> UES + UES --> RU --> DB +``` + +--- + +## 5. Análisis detallado: obtención de tokens en Cursor + +> **Esta sección es el área de mayor riesgo técnico y de producto.** Define la viabilidad del VPET en Cursor. + +### 5.1 APIs oficiales de extensión Cursor + +Según la [documentación de Extension API](https://cursor.com/docs/extension-api), el namespace `vscode.cursor` expone únicamente: + +| API | Propósito | +|-----|-----------| +| `vscode.cursor.mcp.registerServer` / `unregisterServer` | Registrar servidores MCP | +| `vscode.cursor.plugins.addPlugin` / `removePlugin` | Registrar carpetas de plugin (`.cursor-plugin/plugin.json`) | + +**No hay** métodos para: uso de tokens, eventos de chat, hooks de agente, ni métricas de billing. + +> Nota: la documentación histórica mencionaba `registerPath`; en la práctica la API real es `addPlugin({ path })` apuntando al directorio raíz de un plugin individual, no a un directorio padre. + +VS Code estándar ofrece `vscode.lm.*` y MCP server definitions, pero **no** expone consumo de tokens del proveedor Cursor. + +**Conclusión:** cualquier tracking de tokens en extensión es **reverse-engineering**, no contrato estable. + +### 5.2 Extensiones comunitarias (patrones observados) + +| Proyecto | Enfoque | Granularidad | Notas | +|----------|---------|--------------|-------| +| [Sammy970/cursor-usage-extension](https://github.com/Sammy970/cursor-usage-extension) | Token JWT de `state.vscdb` → `GET api2.cursor.sh/auth/usage` | Cuota mensual por modelo (requests) | Enterprise-style buckets | +| [ClearMeasureLabs/cursor-usage-status](https://marketplace.visualstudio.com/items?itemName=ClearMeasureLabs.cursor-usage-status) | Connect RPC `GetCurrentPeriodUsage` + `/auth/usage` | Spend del periodo / requests restantes | Multi-endpoint según plan | +| [kovaren/cursor-usage-pace](https://github.com/kovaren/cursor-usage-pace) | `cursor.com/api/usage-summary` + SQLite local | Porcentajes Auto/API del ciclo | API no documentada | +| [NaumanMoazzam/cursor-limits](https://github.com/NaumanMoazzam/cursor-limits) | sql.js + APIs dashboard | Cuotas Fast/Premium | Sin dependencia de CLI sqlite3 | +| [lixwen/cursor-usage-monitor](https://github.com/lixwen/cursor-usage-monitor) | sql.js para token; polling API | Límites y alertas | Migró de sqlite3 CLI a sql.js | +| [Dwtexe/cursor-stats](https://github.com/Dwtexe/cursor-stats) | SQLite + APIs | Estadísticas de uso | Referenciado por la comunidad | +| [tokentopapp/agent-cursor](https://github.com/tokentopapp/agent-cursor) | Parser `composerData` + `bubbleId`, fs.watch | Por burbuja asistente | Estimación cuando `tokenCount` es 0 | +| [chat-grabber](https://www.npmjs.com/package/chat-grabber) | better-sqlite3 scan global DB | Export chat; tokens ~96 % cero | Documenta fragilidad de `tokenCount` | + +**Patrón común:** leer `cursorAuth/accessToken` de `ItemTable` en `state.vscdb`, llamar APIs internas, mostrar en status bar. Ninguna replica fielmente el modelo event-driven de OpenCode. + +### 5.3 Almacenamiento interno de Cursor + +#### Ubicaciones + +| Plataforma | Ruta `state.vscdb` | +|------------|-------------------| +| macOS | `~/Library/Application Support/Cursor/User/globalStorage/state.vscdb` | +| Windows | `%APPDATA%\Cursor\User\globalStorage\state.vscdb` | +| Linux | `~/.config/Cursor/User/globalStorage/state.vscdb` | + +Archivos relacionados: `state.vscdb-wal`, `state.vscdb-shm` (modo WAL activo). La base puede crecer a **decenas de GB** en uso intensivo. + +#### Esquema relevante + +```sql +CREATE TABLE ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB); +CREATE TABLE cursorDiskKV (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB); +``` + +#### Claves de autenticación (`ItemTable`) + +| Key | Contenido | +|-----|-----------| +| `cursorAuth/accessToken` | JWT Bearer (corto plazo) | +| `cursorAuth/refreshToken` | Refresh OAuth | +| `cursorAuth/cachedEmail` | Email | +| `cursorAuth/stripeMembershipType` | Plan (`pro`, `ultra`, …) | + +#### Claves de conversación (`cursorDiskKV`) + +| Patrón | Contenido | +|--------|-----------| +| `composerData:{composerId}` | Metadatos sesión, `fullConversationHeadersOnly`, modelo, timestamps | +| `bubbleId:{composerId}:{bubbleId}` | Mensaje individual: `text`, `type`, `tokenCount`, `toolFormerData`, `modelInfo` | +| `checkpointId:{composerId}:{id}` | Snapshots de workspace | +| `messageRequestContext:{composerId}:{messageId}` | Contexto de prompt | +| `agentKv:*` | Mensajes/metadata adicionales (familia menos documentada) | + +#### `tokenCount` en burbujas + +Estructura observada (cuando está poblada): + +```json +{ + "tokenCount": { + "inputTokens": 41263, + "outputTokens": 4901 + } +} +``` + +**Problemas documentados por la comunidad:** + +- Cursor rellena `tokenCount` de forma **asíncrona** vía polling interno (`getTokenUsage`); en agent mode a menudo no hay `usageUuid` → queda en `{0,0}`. +- [chat-grabber](https://www.npmjs.com/package/chat-grabber) reporta **~96 %** de burbujas asistente con tokens cero. +- [agent-cursor](https://github.com/tokentopapp/agent-cursor) estima `text.length / 4` como fallback de output. + +**Implicación para VPET:** la lectura local por burbuja es útil como señal temprana pero **insuficiente** como única fuente de verdad. + +### 5.4 Endpoints HTTP internos + +Base: `https://api2.cursor.sh` (Connect RPC v1, JSON). + +Documentación reverse-engineered: [openusage-opencode/docs/providers/cursor.md](https://github.com/Noisemaker111/openusage-opencode/blob/main/docs/providers/cursor.md). + +| Endpoint | Uso | Granularidad | +|----------|-----|--------------| +| `GET /auth/usage` | Cuota por modelo (`numRequests`, `maxRequestUsage`) | Agregado mensual | +| `POST /aiserver.v1.DashboardService/GetCurrentPeriodUsage` | Spend en centavos, % Auto/API | Periodo de facturación | +| `POST /aiserver.v1.DashboardService/GetPlanInfo` | Nombre plan, límite incluido | Metadatos | +| `cursor.com/api/usage-summary` | Resumen dashboard web | Agregado (no documentado) | +| `POST cursor.com/api/dashboard/get-filtered-usage-events` | Eventos paginados con `tokenUsage` | **Por llamada al modelo** (no por mensaje UI) | + +Headers típicos: `Authorization: Bearer `, `Connect-Protocol-Version: 1`, `Content-Type: application/json`. + +Refresh token: `POST /oauth/token` con `client_id` conocido (`KbZUR41cY7W6zRSdpSUJ7I7mLYBKOCmB`). + +#### APIs Enterprise (oficiales, no aplicables a usuario individual) + +- [Admin API](https://cursor.com/docs/account/teams/admin-api): `POST /teams/filtered-usage-events` con API key de equipo. +- [Analytics API](https://cursor.com/docs/account/teams/analytics-api): métricas agregadas por usuario, no eventos en tiempo real. + +Incluyen `tokenUsage` fiable pero requieren rol admin y agregación horaria — **no viable** como fuente principal para VPET consumer. + +#### Cambio de política de costes (julio 2026) + +Cursor eliminó campos de coste por solicitud (`chargedCents`, `usageBasedCosts`, `totalCents`) en planes self-service del endpoint de usage events. Los **tokens** siguen disponibles; el coste en dólares ya no es fiable para extensiones que dependían de esos campos. + +### 5.5 Enfoques evaluados + +#### Opción A — Solo API agregada (`/auth/usage`, `GetCurrentPeriodUsage`) + +| Pros | Contras | +|------|---------| +| Implementación simple | No hay eventos por mensaje → VPET no evoluciona por interacción | +| Datos alineados con dashboard | Solo sirve para UI de cuota, no para gameplay | +| Bajo riesgo de parseo SQLite | Requiere leer JWT de `state.vscdb` igualmente | + +**Veredicto:** complemento útil (status bar de cuota), **insuficiente** para mecánica de evolución. + +#### Opción B — Lectura incremental de `bubbleId:*` en `state.vscdb` + +| Pros | Contras | +|------|---------| +| Latencia baja vía `fs.watch` + queries indexadas | `tokenCount` ausente o cero en >90 % casos | +| Alineado con modelo mental de “mensaje completado” | DB enorme; WAL isolation en lectores | +| No requiere red tras lectura local | Esquema JSON cambia sin aviso | +| Comunidad probó el patrón (agent-cursor, tracedecay) | Subagentes pueden no reflejarse en una burbuja | + +**Veredicto:** **capa primaria** con deduplicación y reintentos hasta que `tokenCount` se pueble o timeout. + +#### Opción C — Polling `get-filtered-usage-events` + +| Pros | Contras | +|------|---------| +| Tokens por llamada al modelo (más fiable que bubble) | API no documentada; paginación; latencia minutos | +| Incluye cache read/write | No mapea 1:1 a burbuja UI; varios eventos por “turno” | +| Cookie/session alternativa: `WorkosCursorSessionToken` solo en browser | Requiere JWT local de todas formas para extensión | + +**Veredicto:** **capa de reconciliación** periódica (cada 5–15 min) para corregir subconteos. + +#### Opción D — FileSystemWatcher sin SQLite (solo detectar cambios) + +| Pros | Contras | +|------|---------| +| Mínimo acoplamiento al esquema | Igualmente necesita abrir SQLite para leer valores | +| Eficiente para “dirty flag” | Falsos positivos en WAL; debounce necesario | + +**Veredicto:** **mecanismo de señal**, no fuente de datos por sí solo. + +#### Opción E — Hooks oficiales de agente Cursor (`afterAgentResponse`, SDK) + +Según el foro de Cursor, hooks del SDK/agent reportan tokens del agente principal pero **no subagentes**; campos opcionales; no expuestos a extensiones VS Code estándar. + +**Veredicto:** no aplicable al packaging VSIX objetivo. + +#### Opción F — Admin API Enterprise + +**Veredicto:** fuera de alcance para extensión pública; mencionar en docs para equipos que quieran integración custom. + +### 5.6 sql.js vs better-sqlite3 + +| Criterio | sql.js | better-sqlite3 | +|----------|--------|----------------| +| Distribución en VSIX | WASM/JS puro, sin rebuild por Electron | Binario nativo — **NODE_MODULE_VERSION** debe coincidir con el host | +| Lectura `state.vscdb` grande | Carga archivo completo en memoria → riesgo OOM en DBs >2–5 GB | Lectura por archivo, queries indexadas eficientes | +| Modo WAL | No ve commits recientes del writer sin copiar WAL | Con conexión RW evita snapshot isolation (patrón agent-cursor) | +| Mantenimiento | Usado por cursor-limits, cursor-usage-monitor | Usado por chat-grabber; problemas reportados en Cursor agent worker (ABI 127 vs 137) | +| Recomendación VPET | **Lectura token + queries puntuales** (`key = ?`) | **Solo `pet.db` propio** si se necesita rendimiento de escritura (evaluar `sql.js` también para pet.db por simplicidad) | + +**Estrategia recomendada:** + +1. `state.vscdb`: sql.js con lectura de buffer + queries por clave; nunca `SELECT *` ni full scan. +2. Alternativa avanzada (fase 2): abrir URI `file:path?mode=ro&immutable=1` vía better-sqlite3 **solo si** se empaqueta prebuild para múltiples targets VS Code — alto coste de mantenimiento. +3. Evitar depender del binario `sqlite3` CLI (fragilidad Windows, sandbox). + +### 5.7 Fragilidad y compatibilidad de versiones + +| Riesgo | Probabilidad | Impacto | +|--------|--------------|---------| +| Cambio de esquema `bubbleId` JSON | Media | Parser falla; necesita actualización extensión | +| Renombre de keys `cursorAuth/*` | Baja | Auth rota; fallback a SecretStorage manual | +| Rotura endpoints Connect RPC | Media | Reconciliación API falla; modo degradado local | +| DB multi-GB | Alta en power users | OOM con sql.js; necesita path override y límites | +| Cursor vs VS Code puro | Media | Extensión funciona en VS Code pero sin `state.vscdb` de Cursor | +| Política Marketplace | Baja-Media | Lectura de tokens locales puede requerir disclosure claro | + +**Mitigaciones:** feature flags por fuente, versión de parser (`cursorStorageSchemaVersion`), telemetría **opt-in** de errores de parseo (sin tokens), tests con fixtures SQLite anonimizados. + +### 5.8 Privacidad y seguridad + +| Tema | Directriz | +|------|-----------| +| Access token | Leer solo `cursorAuth/accessToken`; **nunca** persistir en logs ni `globalState` sin cifrar | +| Alternativa | `vscode.SecretStorage` para token manual si auto-detección falla | +| Destinos red | Solo `api2.cursor.sh` / `cursor.com` — documentar en README y `package.json` | +| Permisos extensión | Evitar `readFile` amplio; rutas limitadas a globalStorage Cursor | +| Datos chat | VPET no necesita almacenar `text` de burbujas — solo IDs y conteos | +| Cumplimiento Marketplace | Sección “Privacy” explícita; no enviar datos a terceros | + +### 5.9 Recomendación concreta + +Implementar **`CursorUsageEventSource`** con tres capas, en orden de prioridad: + +```mermaid +flowchart TD + H[Cursor Hooks beforeSubmitPrompt + stop] + API[ApiWatermarkDelta] + REC[Reconciliación periódica] + OUT[CompletedUsage → recordUsage] + + H -->|"tokens en stop (rápido)"| OUT + H -->|"sin tokens / subagentes"| API + API -->|"delta por turno"| OUT + REC -->|"corregir huecos"| OUT +``` + +| Capa | Rol | Latencia | Cubre subagentes | +|------|-----|----------|------------------| +| **Hooks `stop`** | Fuente primaria cuando hay tokens en el payload | ~0 s | No (solo agente padre) | +| **API watermark delta** | Fuente secundaria por turno; suma todas las llamadas al modelo | 4–15 s | Sí | +| **Reconciliación periódica** | Corrige huecos si hooks o delta fallan | 10–60 min | Sí | + +La capa central es la **estrategia API watermark** (§5.12). Los hooks acortan la latencia y evitan polling cuando Cursor incluye tokens en `stop`; la API completa el turno cuando hay subagentes o tokens ausentes en el hook. + +### 5.12 Estrategia API watermark (delta por turno) + +> Propuesta validada: snapshot al inicio del turno, delta al final con delay para que Cursor persista los eventos. + +#### Idea + +Cada **turno de agente** (usuario envía prompt → agente termina) se trata como una ventana temporal sobre el listado de `get-filtered-usage-events`: + +1. **Inicio de ejecución** (`beforeSubmitPrompt` o equivalente): consultar la API y guardar un **watermark** — la última fila con tokens válidos. +2. **Fin de ejecución** (`stop`): esperar un delay (4 s inicial), consultar el listado desde el watermark, **sumar tokens de todas las filas nuevas** y emitir un único `CompletedUsage` por turno. + +Esto alinea la granularidad con OpenCode (un receipt por interacción completada) mientras captura **todas las llamadas al modelo** del turno (incluidos subagentes), que el hook `stop` no incluye. + +#### Detección de inicio y fin + +| Señal | Fuente | Fiabilidad | +|-------|--------|------------| +| Inicio | Hook `beforeSubmitPrompt` | Alta (oficial) | +| Fin | Hook `stop` con `status: completed` | Alta (oficial) | +| Fin (fallback) | Cambio en `composerData` / última burbuja asistente en `state.vscdb` | Media | +| Fin (fallback) | `FileSystemWatcher` en `state.vscdb-wal` tras periodo de inactividad | Baja | + +**Recomendación:** la extensión instala un hook global en `~/.cursor/hooks.json` (comando bundled en el VSIX) que escribe eventos en un archivo bajo `globalStorageUri` (`vpet-hook-events.jsonl`). La extensión observa ese archivo con `FileSystemWatcher`. Esto evita parsear `state.vscdb` solo para detectar ciclo de vida. + +El hook `stop` también puede incluir (no documentado aún en cursor.com/docs/hooks, pero presente en runtime): + +```json +{ + "hook_event_name": "stop", + "conversation_id": "a1b2c3d4-...", + "generation_id": "f0e1d2c3-...", + "input_tokens": 1180993, + "output_tokens": 8146, + "cache_read_tokens": 1007022, + "cache_write_tokens": 173957 +} +``` + +> `input_tokens` **incluye** cache read/write. Para alinear con OpenCode: +> `tokenDelta = input_tokens + output_tokens` (no sumar cache por separado). + +Si `stop` trae tokens y `vpet.usage.subagentTracking` es `false`, usar el hook directamente y **saltar** el delta API. Si es `true` (default), siempre ejecutar delta API al final del turno. + +#### Algoritmo watermark + +```typescript +type UsageWatermark = { + readonly timestampMs: number // timestamp del último evento visto + readonly fingerprint: string // hash estable del último evento (anti-colisión) + readonly conversationId?: string +} + +// Al inicio del turno (beforeSubmitPrompt) +async function captureWatermark(auth: CursorAuth): Promise { + const events = await fetchUsageEvents({ page: 1, pageSize: 1 }) // más reciente primero + const latest = events.find(hasValidTokens) + return { + timestampMs: Number(latest?.timestamp ?? Date.now()), + fingerprint: fingerprintEvent(latest), + conversationId: prompt.conversation_id, + } +} + +// Al fin del turno (stop) +async function settleTurnDelta( + watermark: UsageWatermark, + generationId: string, +): Promise { + const newEvents = await pollNewEventsSince(watermark, { + initialDelayMs: 4000, + retries: [4000, 6000, 10000], // hasta ~20 s total + minNewEvents: 1, + }) + + if (newEvents.length === 0) return null + + const tokenDelta = sumTokenDelta(newEvents) + return { + receiptKey: `cursor-turn:${generationId}`, + eventId: `cursor-api-delta:${generationId}`, + tokenDelta, + cost: null, + createdAt: new Date().toISOString(), + } +} +``` + +#### Consulta API al fin del turno + +```http +POST https://cursor.com/api/dashboard/get-filtered-usage-events +Authorization: Bearer +Origin: https://cursor.com +Content-Type: application/json + +{ + "startDate": "", + "endDate": "", + "page": 1, + "pageSize": 100 +} +``` + +Paginar mientras `page * pageSize < totalUsageEventsCount` y `hasNextPage` (Admin API) o hasta que no haya más filas. + +**Filtrado client-side:** + +```typescript +function isNewEvent(event: UsageEvent, watermark: UsageWatermark): boolean { + const ts = Number(event.timestamp) + if (ts < watermark.timestampMs) return false + if (ts === watermark.timestampMs && fingerprintEvent(event) === watermark.fingerprint) return false + return hasValidTokens(event) +} + +function hasValidTokens(event: UsageEvent): boolean { + if (!event.isTokenBasedCall || !event.tokenUsage) return false + const { inputTokens, outputTokens, cacheWriteTokens = 0, cacheReadTokens = 0 } = event.tokenUsage + return inputTokens + outputTokens + cacheWriteTokens + cacheReadTokens > 0 +} + +function sumTokenDelta(events: UsageEvent[]): number { + return events.reduce((sum, e) => { + const t = e.tokenUsage! + return sum + t.inputTokens + t.outputTokens + (t.cacheWriteTokens ?? 0) + (t.cacheReadTokens ?? 0) + }, 0) +} + +function fingerprintEvent(event: UsageEvent | undefined): string { + if (!event) return "none" + const t = event.tokenUsage + return `${event.timestamp}:${event.model}:${t?.inputTokens ?? 0}:${t?.outputTokens ?? 0}` +} +``` + +#### Delay y reintentos + +| Intento | Espera acumulada | Motivo | +|---------|------------------|--------| +| 1 | 4 s | Tiempo mínimo para que Cursor persista eventos (propuesta inicial) | +| 2 | +6 s (10 s total) | Agregación horaria puede tardar varios segundos | +| 3 | +10 s (20 s total) | Turnos con muchas tool calls / subagentes | +| Timeout | — | Emitir con tokens del hook `stop` si existen; si no, encolar reconciliación | + +No usar un único delay fijo: **poll hasta que aparezca ≥1 evento nuevo** o se agoten reintentos. + +#### Idempotencia y anti-doble-conteo + +| Riesgo | Mitigación | +|--------|------------| +| Mismo turno procesado dos veces | `receiptKey: cursor-turn:${generation_id}` (único por turno) | +| Evento en el límite del watermark | `fingerprint` del último evento + comparación `>` estricta en timestamp | +| Hook `stop` + delta API cuentan lo mismo | Si hook usado como primario, delta solo suma eventos **post-watermark**; el watermark se captura **antes** del turno | +| Turnos concurrentes en distintas conversaciones | Watermark **por `conversation_id`**, no global | +| Eventos sin ID estable | `fingerprint` = `timestamp:model:input:output`; dedup en `recordUsage` por `receiptKey` | + +#### Flujo completo (secuencia) + +```mermaid +sequenceDiagram + participant User + participant Hook as ~/.cursor/hooks + participant Ext as cursor-vpet ext + participant API as get-filtered-usage-events + participant DB as pet.db + + User->>Hook: beforeSubmitPrompt + Hook->>Ext: evento inicio + conversation_id + Ext->>API: GET último evento con tokens + API-->>Ext: watermark W + + User->>Hook: (agente trabaja…) + User->>Hook: stop (generation_id, tokens opcionales) + Hook->>Ext: evento fin + + Note over Ext: delay 4s + poll + Ext->>API: eventos desde W.timestamp + API-->>Ext: [e1, e2, e3] (subagentes incluidos) + Ext->>Ext: sum(tokenDelta) + Ext->>DB: recordUsage(receiptKey=cursor-turn:gen_id) +``` + +#### Integración con hooks (instalación) + +Al activar la extensión, registrar en `~/.cursor/hooks.json`: + +```json +{ + "version": 1, + "hooks": { + "beforeSubmitPrompt": [{ "command": "node /dist/hook-bridge.js", "args": ["beforeSubmitPrompt"] }], + "stop": [{ "command": "node /dist/hook-bridge.js", "args": ["stop"] }] + } +} +``` + +`hook-bridge.js` lee JSON por stdin, append a `globalStorageUri/vpet/hook-events.jsonl`, responde `{}` por stdout (fail-open). + +#### Configuración VS Code + +```json +{ + "vpet.usage.settleDelayMs": 4000, + "vpet.usage.settleMaxWaitMs": 20000, + "vpet.usage.subagentTracking": true, + "vpet.usage.preferHookTokens": false +} +``` + +- `subagentTracking: true` → siempre delta API al `stop` (recomendado para VPET). +- `preferHookTokens: true` → usar solo `stop` si trae tokens (más rápido, sin subagentes). + +#### Limitaciones conocidas + +| Limitación | Impacto | Mitigación | +|------------|---------|------------| +| API no documentada | Puede romperse | Contract tests + flag para desactivar capa API | +| Latencia 4–20 s por turno | XP no es instantáneo | Toast/notificación al aplicar; animación sidebar en pending | +| Cmd+K inline sin hooks Agent | Turnos Tab no disparan `stop` | Excluir o tratar Tab por separado (`beforeTabFileRead` no aporta tokens) | +| Cloud agents sin hooks de usuario | Sin watermark local | Reconciliación periódica solo | +| `input_tokens` del hook incluye cache | Conteo inflado vs OpenCode | Usar misma fórmula en ambos lados; documentar | + +### 5.9 (legacy) Capas auxiliares + +1. **Reconciliación periódica:** cada 10–60 min, `get-filtered-usage-events` desde último `receiptKey` API conocido; emite eventos huérfanos con `receiptKey: usage-event:${fingerprint}`. +2. **Parser de burbujas (opcional):** solo si hooks no están instalados; ver §5.5 opción B. Menor prioridad que watermark API. +3. **Delta vs absoluto:** nunca diferenciar cuotas agregadas (`/auth/usage`); solo deltas por evento o por turno. + +### 5.10 Diseño del port `UsageEventSource` + +```typescript +// packages/vpet-core/src/application/ports/usage-event-source.ts + +export type UsageObservation = { + readonly receiptKey: string + readonly eventId: string + readonly tokenDelta: number + readonly cost?: number | null + readonly createdAt: string + readonly source: "bubble" | "api" | "estimate" + readonly confidence: "high" | "medium" | "low" +} + +export type UsageEventSource = { + /** Suscribe callbacks; retorna dispose */ + subscribe(handler: (usage: UsageObservation) => void): { dispose(): void } + /** Fuerza reconciliación (comando manual / al activar extensión) */ + reconcile(): Promise +} +``` + +Adaptadores: + +| Paquete | Implementación | +|---------|----------------| +| `opencode-vpet` | `OpenCodeUsageEventSource` — envuelve hooks existentes | +| `cursor-vpet` | `CursorUsageEventSource` — hooks + API watermark delta + reconciliación | + +El caso de uso `recordUsage` acepta `CompletedUsage` (subset sin `source`/`confidence`); el adaptador Cursor puede filtrar observaciones `confidence: "low"` según setting `vpet.acceptEstimatedTokens`. + +### 5.11 Estrategia de tests + +| Nivel | Qué probar | +|-------|------------| +| Unit | Parsers JSON de bubble con fixtures grabados (versiones Cursor N, N-1) | +| Unit | Mapeo `tokenCount` → `tokenDelta` alineado con OpenCode (incl. cache) | +| Unit | Generación `receiptKey` estable | +| Integration | DB SQLite sintética en tmp con `ItemTable` + `cursorDiskKV` | +| Integration | Mock HTTP Connect RPC con respuestas grabadas | +| Contract | Golden files de `get-filtered-usage-events` (actualizar en CI weekly cron opcional) | +| E2E manual | Matriz: Pro, Ultra, Agent mode, Composer, subagente | +| Regression | Cuando Cursor actualiza, issue template para adjuntar bubble anonimizado | + +Fixtures: repositorio `packages/cursor-vpet/fixtures/state-vscdb-samples/` con bases mínimas (<1 MB), nunca tokens reales. + +--- + +## 6. Persistencia + +### 6.1 Abstracción `SqliteExecutor` + +Mantener la interfaz actual (`run`, `get`, `all`, `transaction`) en `vpet-core`. Implementaciones: + +| Driver | Host | Archivo | +|--------|------|---------| +| `createBunSqliteExecutor` | OpenCode | `packages/opencode-vpet/src/adapters/sqlite/bun-sqlite-driver.ts` | +| `createNodeSqliteExecutor` | Cursor | `packages/cursor-vpet/adapters/sqlite/node-sqlite-driver.ts` | + +**Cursor `pet.db`:** sql.js con persistencia write-via-export (exportar buffer tras transacciones) en `packages/cursor-vpet/src/adapters/sqlite/`. + +### 6.2 Rutas de datos + +| Archivo | Propósito | Ruta propuesta | +|---------|-----------|----------------| +| `pet.db` | Estado VPET (partner, gauge, receipts) | `{appData}/opencode-vpet/pet.db` (mantener compatibilidad) o `{appData}/cursor-vpet/pet.db` | +| `state.vscdb` | Solo lectura Cursor | Auto-detect + setting `cursorVpet.stateDbPath` | + +`resolveHostDatabasePath` se generaliza en core con parámetro `appDirectoryName`. + +### 6.3 Compartir progreso OpenCode + Cursor + +Si un usuario usa ambos hosts, opciones: + +1. **Misma ruta por defecto** (`opencode-vpet/pet.db`) — experiencia unificada. +2. Setting explícito `vpet.databasePath` en ambos hosts. + +Recomendación: **opción 1** documentada; tests de path resolution cross-platform. + +### 6.4 Migraciones + +Reutilizar `sqlite-migrations.ts` sin cambios de esquema inicial. El ledger de receipts absorbe nuevas fuentes sin migración. + +--- + +## 7. UI en Cursor + +### 7.1 Contenedor: `WebviewView` + +Registrar en `package.json`: + +```json +{ + "contributes": { + "views": { + "explorer": [ + { + "id": "cursorVpet.sidebar", + "name": "VPet", + "type": "webview" + } + ] + } + } +} +``` + +### 7.2 Reutilización de view-models + +| Componente OpenCode | En Cursor | +|--------------------|-----------| +| `buildSidebarCardModel` | Webview recibe JSON del modelo; renderiza HTML | +| `dex-view-model` | Panel modal vía `createWebviewPanel` | +| `history-view-model` | Misma API de datos, distinto shell | +| Sprites / `monster-frame-catalog` | Copiar assets a `media/`; servir vía `webview.asWebviewUri` | + +### 7.3 Stack UI recomendado + +- **Fase 1:** HTML + CSS vanilla + imágenes pixel art (menor bundle). +- **Fase 2:** SolidJS embebido en webview (misma librería que TUI) si la complejidad de animación lo justifica. + +Animaciones: portar lógica de `monster-animation.ts` (máquina de estados pura en core); rendering en canvas o CSS steps. + +### 7.4 Comandos y UX + +| Comando OpenCode | Comando VS Code | +|------------------|-----------------| +| `/vpet-spawn` | `Cursor VPet: Spawn Partner` | +| `/vpet-freeze` | `Cursor VPet: Freeze` | +| `/vpet-unfreeze` | `Cursor VPet: Unfreeze` | +| `/vpet-set` | Input box para Digimon ID | +| `/vpet-dex` | Abrir Dex webview | +| `/vpet-history` | Abrir History webview | + +Toasts de evolución: `showInformationMessage` con botón “View” → foco en sidebar. + +### 7.5 Polling de sidebar + +OpenCode usa `sidebar-poll-loop.ts`. En Cursor: push desde extensión al webview tras cada `recordUsage` + poll ligero cada 30 s como fallback. + +--- + +## 8. CI/CD dual + +### 8.1 CI (PR y push a `main`) + +```yaml +jobs: + vpet-core: + steps: [checkout, setup bun, install, test --filter vpet-core] + opencode-vpet: + needs: vpet-core + steps: [..., bun run check, bun test, npm pack --dry-run] + cursor-vpet: + needs: vpet-core + steps: + - npm install -g @vscode/vsce + - bun run build --filter cursor-vpet + - xvfb-run vsce package --no-dependencies # headless + - bun test --filter cursor-vpet +``` + +Matriz opcional: `ubuntu-latest`, `macos-latest`, `windows-latest` solo para `cursor-vpet` (paths SQLite). + +### 8.2 CD (release unificado) + +Flujo propuesto (extender `cd.yml` o workflow paralelo): + +```mermaid +flowchart LR + A[workflow_dispatch bump] --> B[version bump monorepo] + B --> C[tests + build all] + C --> D[npm publish opencode-vpet] + C --> E[vsce publish cursor-vpet] + C --> F[GitHub Release assets] + F --> G[.tgz npm] + F --> H[.vsix] +``` + +| Artefacto | Target | Secreto | +|-----------|--------|---------| +| npm | `registry.npmjs.org` | `NPM_TOKEN` (OIDC provenance ya configurado) | +| VSIX | VS Code Marketplace | `VSCE_PAT` (Azure DevOps PAT con Marketplace publish) | +| Open VSX (opcional) | open-vsx.org | `OVSX_PAT` | + +**Semver:** una versión en root o changelogs sincronizados; `opencode-vpet` y `cursor-vpet` comparten número (ej. `0.3.0`). + +### 8.3 Pre-release / canales + +- npm: tag `next` para `0.x-dev.0` (ya usado). +- VSIX: `vsce publish --pre-release` con `cursor-vpet@0.3.0-dev.0`. + +### 8.4 Quality gates antes de publish + +1. `bun run check` en todos los paquetes. +2. Tests persistencia SQLite. +3. `vsce ls` sin secretos. +4. Escaneo `state.vscdb` paths hardcodeados — solo en runtime resolve. + +--- + +## 9. Plan de implementación por fases + +| Fase | Entregable | Estimación | +|------|------------|------------| +| **0 — Spike tokens** | Prototipo `CursorHybridUsageEventSource` fuera de monorepo; matriz de cobertura tokenCount; decisión sql.js write | 3–5 días | +| **1 — Monorepo** | Extraer `vpet-core`, migrar `opencode-vpet`, CI verde, npm sin cambios de comportamiento | 4–6 días | +| **2 — Extension shell** | `cursor-vpet` activación, comandos, `pet.db` con sql.js, sidebar estático | 5–7 días | +| **3 — Usage pipeline** | Port `UsageEventSource`, watcher, parser bubbles, integración `recordUsage` | 7–10 días | +| **4 — API reconcile** | Cliente Connect RPC, polling, deduplicación cross-source | 4–5 días | +| **5 — UI completa** | Webview animado, dex, history, settings | 7–10 días | +| **6 — Hardening** | Fixtures, docs privacidad, degradación graceful, matrices OS | 4–6 días | +| **7 — CD dual** | vsce publish, Release con VSIX, documentación usuario | 2–3 días | + +**Total estimado:** 36–52 días-persona (1 dev ≈ 7–10 semanas). + +### Hitos de aceptación + +- [ ] Misma evolución de partner con tokens reales en Agent mode (>80 % de turnos con delta > 0). +- [ ] Sin doble conteo entre bubble y API (receipts únicos). +- [ ] OpenCode sin regresiones; tests boundary verdes. +- [ ] VSIX instalable en Cursor 1.x y VS Code 1.9x. +- [ ] README bilingüe (es/en) con limitaciones de tokens. + +--- + +## 10. Qué NO hacer + +1. **No** depender solo de cuota agregada (`/auth/usage`) para evolución del pet. +2. **No** escanear completa `cursorDiskKV` ni cargar `state.vscdb` entero en memoria sin límite. +3. **No** empaquetar `better-sqlite3` para leer `state.vscdb` sin matriz de prebuilds Electron. +4. **No** almacenar refresh tokens ni access tokens en `globalState` sin cifrar. +5. **No** enviar contenido de chat a servidores externos. +6. **No** asumir paridad 1:1 OpenCode ↔ Cursor en tiempo real — comunicar latencia y estimaciones al usuario. +7. **No** duplicar lógica de evolución en el adaptador Cursor. +8. **No** usar APIs Enterprise como requisito para usuarios individuales. +9. **No** bloquear publicación en VS Code “puro” — degradar con mensaje “requiere Cursor” solo para fuentes de tokens. +10. **No** romper el paquete npm existente durante la migración a monorepo (mantener nombre y exports). + +--- + +## 11. Riesgos y mitigaciones + +| ID | Riesgo | Severidad | Mitigación | +|----|--------|-----------|------------| +| R1 | `tokenCount` vacío en mayoría de mensajes | **Alta** | Reintentos, API reconcile, setting estimación opt-in | +| R2 | Cambio de esquema SQLite/JSON por Cursor | **Alta** | Parser versionado, tests fixtures, release rápido | +| R3 | DB `state.vscdb` >5 GB → OOM con sql.js | **Media** | Queries por clave; setting path; documentar límites | +| R4 | Endpoints dashboard rotos | **Media** | Modo offline local; mensaje UI; feature flag API | +| R5 | Rechazo o flags Marketplace por lectura de auth | **Media** | Disclosure transparente; SecretStorage alternativo | +| R6 | Divergencia progreso OpenCode/Cursor | **Baja** | Misma `pet.db` por defecto | +| R7 | Complejidad monorepo | **Media** | Fase 1 dedicada; tooling Bun workspaces | +| R8 | Animación webview inferior a TUI | **Baja** | MVP estático; iterar en fase 5 | +| R9 | Usuario en VS Code sin Cursor | **Baja** | Extensión instalable pero usage deshabilitado | +| R10 | Subagentes no reflejados en bubbles | **Media** | API reconcile agrega tokens por `conversationId` cuando exista en eventos | + +--- + +## Apéndice A — Referencias + +- [Cursor Extension API](https://cursor.com/docs/extension-api) +- [Cursor Admin API](https://cursor.com/docs/account/teams/admin-api) +- [openusage-opencode — provider Cursor](https://github.com/Noisemaker111/openusage-opencode/blob/main/docs/providers/cursor.md) +- [cursaves — how Cursor stores chats](https://github.com/Callum-Ward/cursaves/blob/main/docs/how-cursor-stores-chats.md) +- [cursor-usage-pace README](https://github.com/kovaren/cursor-usage-pace) +- [vibe-replay — Cursor local storage](https://vibe-replay.com/blog/cursor-local-storage/) +- Código actual: `packages/opencode-vpet/src/adapters/opencode/create-server-hooks.ts`, `packages/opencode-vpet/src/adapters/sqlite/bun-sqlite-driver.ts`, `packages/vpet-core/src/view-models/sidebar-view-model.ts` + +--- + +## Apéndice B — Ejemplo de mapeo bubble → CompletedUsage + +```typescript +const toCompletedUsageFromBubble = ( + composerId: string, + bubbleId: string, + bubble: CursorBubbleJson, +): CompletedUsage | null => { + if (bubble.type !== 2) return null // solo asistente + const tokens = bubble.tokenCount + if (!tokens) return null + + const tokenDelta = + (tokens.inputTokens ?? 0) + + (tokens.outputTokens ?? 0) + + (tokens.cacheReadTokens ?? 0) + + (tokens.cacheWriteTokens ?? 0) + + if (tokenDelta <= 0) return null + + return { + receiptKey: `bubble:${composerId}:${bubbleId}`, + eventId: `cursor-bubble:${composerId}:${bubbleId}`, + tokenDelta, + cost: null, + createdAt: bubble.createdAt ?? new Date().toISOString(), + } +} +``` + +--- + +*Fin del documento.* diff --git a/docs/monorepo.md b/docs/monorepo.md new file mode 100644 index 0000000..94ceab1 --- /dev/null +++ b/docs/monorepo.md @@ -0,0 +1,60 @@ +# Monorepo structure + +El root (`@sbugallo/opencode-vpet-workspace`) **no se publica en npm** — solo orquesta workspaces. + +``` +packages/ +├── vpet-core/ # @sbugallo/vpet-core (privado, compartido) +│ └── src/adapters/sqlite/ # schema, migraciones, write-store (SqliteExecutor) +├── opencode-vpet/ # @sbugallo/opencode-vpet (publicable en npm) +│ └── src/adapters/sqlite/ # bun-sqlite-driver + factory +└── cursor-vpet/ # extensión Cursor (.vsix) + └── src/adapters/sqlite/ # sql.js driver + factory +``` + +## Toolchain (Node + Bun) + +| Herramienta | Versión fijada | Uso | +|-------------|----------------|-----| +| **Bun** `1.3.5` | `packageManager`, `engines`, Volta | install, test, build, runtime del plugin OpenCode | +| **Node** `24.11.0` | `engines`, Volta, CI | CLI publicada (`opencode-vpet`), npm publish, VSIX, host de la extensión | + +Volta en el root fija ambas versiones al trabajar en el repo: + +```bash +volta install node@24.11.0 bun@1.3.5 +``` + +Sin Volta, instala manualmente esas versiones antes de `bun install`. + +## Commands (from repo root) + +```bash +bun install +bun run check +bun run test +bun run test:persistence +bun run build +bun run --filter '@sbugallo/opencode-vpet' prepack +bun run --filter cursor-vpet package # produces .vsix +``` + +## Publicación npm + +`@sbugallo/opencode-vpet` empaqueta el JS de `vpet-core` en `dist/` y copia sus declaraciones a `dist/vpet-core/`, de modo que los `.d.ts` publicados no dependen del paquete privado del workspace. + +## Cursor extension install (dev) + +```bash +cd packages/cursor-vpet +bun run build +bun run package +# In Cursor: Extensions → Install from VSIX +``` + +## Open VSX / Marketplace (CD) + +On release, if configured in GitHub Actions secrets: + +- `OVSX_PAT` — publishes to [Open VSX](https://open-vsx.org/extension/sbugallo/cursor-vpet) (ver [openvsx-setup.md](./openvsx-setup.md)) +- `VSCE_PAT` — publishes to VS Code Marketplace (optional) diff --git a/docs/openvsx-setup.md b/docs/openvsx-setup.md new file mode 100644 index 0000000..6fb6160 --- /dev/null +++ b/docs/openvsx-setup.md @@ -0,0 +1,120 @@ +# Guía: cuenta en Open VSX y secret `OVSX_PAT` + +Esta guía es para el **propietario del repositorio** (`sbugallo`), que debe tener permisos de administrador en GitHub para añadir secrets. + +El workflow de CD publica automáticamente la extensión **Cursor VPet** en Open VSX cuando existe el secret `OVSX_PAT`. Sin ese secret, el release sigue funcionando (GitHub Release, npm, etc.), pero **no** se publica en Open VSX. + +## Resumen de lo que necesitas + +| Elemento | Valor en este repo | +|---|---| +| Publisher / namespace | `sbugallo` (definido en `packages/cursor-vpet/package.json`) | +| Secret en GitHub | `OVSX_PAT` | +| URL final de la extensión | https://open-vsx.org/extension/sbugallo/cursor-vpet | + +## Paso 1: Crear cuenta en Eclipse Foundation + +Open VSX exige una cuenta de Eclipse Foundation (no basta con GitHub). + +1. Ve a https://accounts.eclipse.org/user/register +2. Completa el registro. +3. **Importante:** en el perfil de Eclipse, indica tu **GitHub username** (`sbugallo`) y usa **el mismo GitHub** con el que iniciarás sesión en Open VSX. + +## Paso 2: Iniciar sesión en Open VSX con GitHub + +1. Abre https://open-vsx.org +2. Inicia sesión con tu cuenta de **GitHub** (`sbugallo`). + +## Paso 3: Vincular la cuenta de Eclipse + +1. Ve a tu perfil: https://open-vsx.org/user-settings/profile +2. Haz clic en **“Log in with Eclipse”** (o similar). +3. Autoriza la vinculación entre Eclipse y Open VSX. + +Si no ves la opción o falla el enlace, revisa que el GitHub username en Eclipse coincida exactamente con el de Open VSX. + +## Paso 4: Firmar el Publisher Agreement + +Sin esto **no podrás publicar** (verás errores del tipo *“You must log in with an Eclipse Foundation account and sign a Publisher Agreement”*). + +1. En https://open-vsx.org/user-settings/profile +2. Haz clic en **“Show Publisher Agreement”** +3. Lee y acepta el acuerdo (**Agree**) + +> No confundir con el Eclipse Contributor Agreement (ECA): para publicar extensiones solo hace falta el **Publisher Agreement**. + +## Paso 5: Generar el Personal Access Token (PAT) + +1. Ve a https://open-vsx.org/user-settings/tokens +2. Clic en **“Generate New Token”** +3. Pon una descripción clara, por ejemplo: `opencode-vpet-github-actions` +4. Genera el token y **cópialo de inmediato** — solo se muestra una vez. + +Guárdalo en un gestor de contraseñas hasta el paso siguiente. + +## Paso 6: Añadir el secret en GitHub + +1. Abre el repositorio: https://github.com/sbugallo/opencode-vpet +2. **Settings** → **Secrets and variables** → **Actions** +3. **New repository secret** +4. Configura: + - **Name:** `OVSX_PAT` + - **Secret:** el token del paso 5 +5. Guarda. + +El workflow de CD (`.github/workflows/cd.yml`) usa este secret para: + +- Crear el namespace `sbugallo` (si no existe) +- Publicar el `.vsix` en Open VSX + +No hace falta crear el namespace manualmente: el CD lo crea en el primer release. + +## Paso 7: Verificar que todo encaja + +Checklist antes del primer release: + +- [ ] Cuenta Eclipse creada con GitHub username `sbugallo` +- [ ] Sesión en Open VSX con GitHub (`sbugallo`) +- [ ] Cuenta Eclipse vinculada en el perfil de Open VSX +- [ ] Publisher Agreement firmado +- [ ] Token generado en Open VSX +- [ ] Secret `OVSX_PAT` añadido en GitHub Actions +- [ ] Publisher en `package.json` es `sbugallo` (ya lo es en este repo) + +## Paso 8: Probar con un release + +1. En GitHub: **Actions** → workflow **CD** → **Run workflow** +2. Elige el tipo de bump (`patch`, `minor` o `major`) +3. Ejecuta desde `main` + +Si `OVSX_PAT` está configurado, en el job verás los pasos **“Create Open VSX namespace”** y **“Publish release (Open VSX)”**. + +Tras un release correcto, la extensión debería aparecer en: + +**https://open-vsx.org/extension/sbugallo/cursor-vpet** + +## Publicación manual (opcional) + +Si quieres probar antes del CD: + +```bash +cd packages/cursor-vpet +bun run build +bun run package +export OVSX_PAT="tu-token-aqui" +npx ovsx create-namespace sbugallo -p "$OVSX_PAT" +npx ovsx publish *.vsix -p "$OVSX_PAT" +``` + +## Problemas habituales + +| Error | Qué revisar | +|---|---| +| *Must log in with Eclipse Foundation account* | Cuenta Eclipse vinculada y Publisher Agreement firmado | +| *Namespace not found* / permisos | El namespace debe ser `sbugallo`; el token debe ser del mismo usuario | +| El paso de Open VSX no aparece en Actions | Falta el secret `OVSX_PAT` o está vacío | +| Token inválido | Genera uno nuevo y actualiza el secret en GitHub | + +## Nota sobre VS Code Marketplace + +El secret `VSCE_PAT` es **opcional** y solo afecta a la publicación en el Marketplace de Microsoft. Para Open VSX solo necesitas `OVSX_PAT`. diff --git a/docs/openvsx-setup.pdf b/docs/openvsx-setup.pdf new file mode 100644 index 0000000..a3ce246 Binary files /dev/null and b/docs/openvsx-setup.pdf differ diff --git a/package.json b/package.json index 1d0e87b..caa33c4 100644 --- a/package.json +++ b/package.json @@ -1,99 +1,38 @@ { - "name": "@sbugallo/opencode-vpet", - "version": "0.2.0-dev.0", - "description": "An OpenCode virtual-pet plugin with /vpet-spawn, /vpet-freeze, /vpet-unfreeze, /vpet-set, /vpet-dex, and /vpet-history commands.", + "name": "@sbugallo/opencode-vpet-workspace", "author": "Sergio Bugallo", "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/sbugallo/opencode-vpet.git" - }, - "homepage": "https://github.com/sbugallo/opencode-vpet#readme", - "bugs": { - "url": "https://github.com/sbugallo/opencode-vpet/issues" - }, - "keywords": [ - "opencode", - "plugin", - "virtual-pet", - "vpet", - "tui" - ], - "publishConfig": { - "access": "public" - }, - "oc-plugin": [ - "server", - "tui" - ], "packageManager": "bun@1.3.5", - "engines": { - "bun": ">=1.3.5", - "node": ">=20", - "opencode": ">=1.18.10" - }, - "main": "./dist/index.js", - "bin": { - "opencode-vpet": "./dist/cli.js" - }, - "dependencies": { - "solid-js": "^1.9.14" + "workspaces": [ + "packages/*" + ], + "scripts": { + "test": "bun run --filter '@sbugallo/opencode-vpet' test && bun run --filter 'cursor-vpet' test", + "test:persistence": "bun run --filter '@sbugallo/opencode-vpet' test:persistence", + "format": "biome format --write packages scripts package.json biome.json tsconfig*.json", + "format:check": "biome format packages scripts package.json biome.json tsconfig*.json", + "lint": "biome lint packages scripts package.json biome.json tsconfig*.json", + "check": "biome ci packages scripts package.json biome.json tsconfig*.json && bun run typecheck:release-metadata && bun run --filter '@sbugallo/vpet-core' typecheck && bun run --filter '@sbugallo/opencode-vpet' check && bun run --filter 'cursor-vpet' check", + "build": "bun run --filter '@sbugallo/opencode-vpet' build && bun run --filter 'cursor-vpet' build", + "prepack": "bun run --filter '@sbugallo/opencode-vpet' prepack", + "release:check": "bun run --filter '@sbugallo/opencode-vpet' release:check", + "release-metadata": "bun scripts/release-metadata.ts", + "typecheck:release-metadata": "tsc -p tsconfig.release-metadata.json --noEmit" }, "devDependencies": { "@biomejs/biome": "2.5.10", - "@opencode-ai/plugin": "^1.18.10", - "@opencode-ai/sdk": "^1.18.10", - "@opentui/core": "^0.4.5", - "@opentui/keymap": "^0.4.5", - "@opentui/solid": "^0.4.5", - "@types/bun": "latest", - "@types/semver": "^7.7.1", - "semver": "^7.7.4", - "typescript": "^5.9.3" - }, - "peerDependencies": { - "@opencode-ai/plugin": ">=1.18.10", - "@opentui/core": ">=0.4.5", - "@opentui/keymap": ">=0.4.5", - "@opentui/solid": ">=0.4.5" - }, - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./server": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./tui": { - "types": "./dist/tui.d.ts", - "import": "./dist/tui.js", - "default": "./dist/tui.js" - } + "@types/bun": "1.3.14", + "@types/node": "24.10.1", + "@types/semver": "7.7.1", + "semver": "7.7.4", + "typescript": "5.9.3" }, - "files": [ - "dist", - "README.md", - "LICENSE" - ], - "scripts": { - "test": "bun test", - "test:persistence": "bun test ./tests/persistence/sqlite-migrations.persistence.ts ./tests/persistence/sqlite-vpet-repository.persistence.ts", - "format": "biome format --write src tests scripts package.json biome.json tsconfig*.json", - "format:check": "biome format src tests scripts package.json biome.json tsconfig*.json", - "lint": "biome lint src tests scripts package.json biome.json tsconfig*.json", - "lint:fix": "biome lint --write src tests scripts package.json biome.json tsconfig*.json", - "check": "biome ci src tests scripts package.json biome.json tsconfig*.json && bun run typecheck && bun run typecheck:tests && bun run typecheck:release-metadata", - "typecheck": "tsc --noEmit", - "typecheck:tests": "tsc -p tsconfig.test.json --noEmit", - "typecheck:release-metadata": "tsc -p tsconfig.release-metadata.json --noEmit", - "build": "bun scripts/build.ts", - "prepack": "bun scripts/prepack.ts", - "release:check": "bun run check && bun test && bun run prepack && npm pack --dry-run --json" + "engines": { + "node": "24.11.0", + "bun": "1.3.5" }, - "type": "module", - "types": "./dist/index.d.ts" + "volta": { + "node": "24.11.0", + "bun": "1.3.5" + } } diff --git a/packages/cursor-vpet/.vscodeignore b/packages/cursor-vpet/.vscodeignore new file mode 100644 index 0000000..9f6e4ce --- /dev/null +++ b/packages/cursor-vpet/.vscodeignore @@ -0,0 +1,9 @@ +** +!package.json +!README.md +!LICENSE +!CHANGELOG.md +!icon.png +!hook-bridge.js +!dist/extension.js +!dist/sql-wasm.wasm diff --git a/packages/cursor-vpet/LICENSE b/packages/cursor-vpet/LICENSE new file mode 100644 index 0000000..3d6428f --- /dev/null +++ b/packages/cursor-vpet/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or Object + form, made available under the License, as indicated by a copyright + notice that is included in or attached to the work (an example is + provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2026 Sergio Bugallo Enjamio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/cursor-vpet/README.md b/packages/cursor-vpet/README.md new file mode 100644 index 0000000..9437237 --- /dev/null +++ b/packages/cursor-vpet/README.md @@ -0,0 +1,297 @@ +
+ Cursor VPet logo +

Cursor VPet

+

+ Digimon virtual pet for Cursor that evolves as you use Agent — shares progress with OpenCode VPet +

+ +[![Version](https://img.shields.io/open-vsx/v/sbugallo/cursor-vpet?style=flat-square&label=Version)](https://open-vsx.org/extension/sbugallo/cursor-vpet) +[![Downloads](https://img.shields.io/open-vsx/dt/sbugallo/cursor-vpet?style=flat-square&label=Downloads)](https://open-vsx.org/extension/sbugallo/cursor-vpet) +[![Rating](https://img.shields.io/open-vsx/rating/sbugallo/cursor-vpet?style=flat-square&label=Rating)](https://open-vsx.org/extension/sbugallo/cursor-vpet) +[![License](https://img.shields.io/badge/License-Apache--2.0-blue?style=flat-square)](LICENSE) + +[Features](#-features) • [Installation](#-installation) • [Usage](#-usage) • +[Commands](#-commands) • [Settings](#%EF%B8%8F-settings) • [Storage](#-storage) • +[How It Works](#-how-it-works) • [Authors](#-authors) + +[![Install from Open VSX](https://img.shields.io/badge/Open%20VSX-Install-764ABC?style=for-the-badge&logo=eclipse&logoColor=white)](https://open-vsx.org/extension/sbugallo/cursor-vpet) +   +[![Download VSIX](https://img.shields.io/badge/GitHub-Releases-24292f?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sbugallo/opencode-vpet/releases) + +--- + +
+ +## 📖 About + +**Cursor Agent** turns every prompt into real work — but what if that effort also fed a partner +that grows with you? **Cursor VPet** adds a Digimon virtual pet to the Explorer sidebar. Your +partner gains experience from Agent token usage and evolves through classic Digimon stages. + +It shares the same `pet.db` database as +[@sbugallo/opencode-vpet](https://www.npmjs.com/package/@sbugallo/opencode-vpet), so progress +carries over between Cursor and OpenCode. + +
+VPet sidebar with partner artwork and evolution progress (OpenCode preview) +
+ +### 🎯 Key Highlights + +- 🐣 **Evolves with Agent usage** — Input, output, and cache tokens from Agent turns count +- 🔄 **Shared with OpenCode** — Same `pet.db`, Dex, and generation history across tools +- 🎮 **650 Digimon** — Evolution lines extracted from the original V-Pets +- 📊 **Sidebar + panels** — Live partner view, Dex browser, and generation history +- 🪝 **Reliable tracking** — Cursor hooks with API watermark fallback +- 🔒 **Privacy-first** — Local SQLite storage, no telemetry +- ⏸️ **Freeze anytime** — Pause progression without losing your partner + +--- + +## ✨ Features + +| Feature | Description | +| --- | --- | +| **Sidebar webview** | Animated ASCII partner artwork with stage gauge and evolution progress | +| **Dex panel** | Browse discovered Digimon from your collection | +| **History panel** | Review current and retired partner generations | +| **Token tracking** | Cursor hooks (`beforeSubmitPrompt` + `stop`) with API watermark fallback | +| **Shared database** | Compatible `pet.db` with the OpenCode VPet plugin | +| **Partner commands** | Spawn, freeze, unfreeze, and set Digimon by catalog ID | +| **Hook management** | Install or uninstall hooks from the Command Palette | + +--- + +## 📦 Installation + +### Open VSX (Cursor / VSCodium) + +Open Quick Open (`Ctrl+P` / `Cmd+P`) and run: + +``` +ext install sbugallo.cursor-vpet +``` + +Or search for **Cursor VPet** in the Extensions sidebar, or install from +[Open VSX](https://open-vsx.org/extension/sbugallo/cursor-vpet). + +### VSIX (manual) + +Download the `.vsix` from +[GitHub Releases](https://github.com/sbugallo/opencode-vpet/releases) and run +**Extensions → Install from VSIX…**. + +--- + +## 🚀 Usage + +### First run — install hooks + +On first activation, the extension prompts you to register hooks in `~/.cursor/hooks.json`. +Hooks are required for reliable Agent token tracking. + +You can also run **Cursor VPet: Install Hooks** from the Command Palette at any time. + +### Sidebar + +Open the **VPet** view in the Explorer sidebar to see your active partner, evolution gauge, +and animated artwork. + +### Hatch a partner + +1. Open the Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`) +2. Run **Cursor VPet: Spawn Partner** + +Your partner starts as an egg and evolves as you complete Agent turns. + +### Other access methods + +- **Command Palette** — all `Cursor VPet:` commands +- **Explorer sidebar** — **VPet** webview panel + +--- + +## 🎮 Commands + +| Command | Description | +| --- | --- | +| **Cursor VPet: Spawn Partner** | Hatches a new egg | +| **Cursor VPet: Freeze** | Pauses partner progression | +| **Cursor VPet: Unfreeze** | Resumes partner progression | +| **Cursor VPet: Set Digimon** | Overrides the partner with a catalog ID (e.g. `3-001`) | +| **Cursor VPet: Open Dex** | Opens the partner Dex panel | +| **Cursor VPet: Open History** | Opens the generation history panel | +| **Cursor VPet: Install Hooks** | Registers hooks in `~/.cursor/hooks.json` | +| **Cursor VPet: Uninstall Hooks** | Removes VPet hooks from `~/.cursor/hooks.json` | + +> **Note:** Using **Set Digimon** does not count toward Dex completion. + +--- + +## 📝 Examples + +### Shared database with OpenCode + +By default, both Cursor VPet and OpenCode VPet use the same `pet.db` location. To share a +custom file, set the same path in both tools: + + +```json +{ + "vpet.databasePath": "/path/to/shared/pet.db" +} +``` + +### Slower API watermark fallback + +If token deltas are not captured immediately after Agent turns, increase the settle delay: + +```json +{ + "vpet.usage.settleDelayMs": 8000 +} +``` + +--- + +## ⚙️ Settings + +Configure via **File → Preferences → Settings** and search for `vpet`. + +| Setting | Default | Description | +| --- | --- | --- | +| `databasePath` | _(empty)_ | Override path to `pet.db` (default: shared opencode-vpet location) | +| `usage.settleDelayMs` | `4000` | Initial delay before API watermark fallback (ms) | + +> Changing `databasePath` requires reloading the Cursor window. + +Stage labels and evolution thresholds use the built-in defaults from `@sbugallo/vpet-core` +(Japanese naming by default). The OpenCode plugin can override these via +[`opencode-vpet.json`](https://github.com/sbugallo/opencode-vpet#settings); Cursor VPet does +not read that file yet. + +--- + +## 🔧 Requirements + +| Requirement | Details | +| --- | --- | +| **Cursor** | Token tracking requires Cursor (`state.vscdb` must be present) | +| **Node.js** | Required to run `hook-bridge.js` from Cursor hooks | +| **Hooks** | `beforeSubmitPrompt` and `stop` entries in `~/.cursor/hooks.json` | + +The extension shows a warning if it cannot detect the Cursor runtime. VS Code alone is not +enough for token tracking, though the sidebar and panels still work with an existing `pet.db`. + +--- + +## 💾 Storage + +Partner state, Dex discoveries, and generation history are stored in a SQLite database named +`pet.db`. By default it uses the same location as OpenCode VPet: + +| Platform | Default path | +| --- | --- | +| **macOS** | `~/Library/Application Support/opencode-vpet/pet.db` | +| **Linux / WSL** | `~/.local/share/opencode-vpet/pet.db` | +| **Windows** | `%APPDATA%\opencode-vpet\pet.db` | + +Override with `vpet.databasePath` to use a custom file. + +--- + +## 🏗️ How It Works + +``` +┌──────────────┐ ┌───────────────┐ ┌────────────────────┐ ┌─────────┐ +│ Cursor hooks │ ──▶ │ hook-bridge.js│ ──▶ │ vpet-hook-events │ ──▶ │ pet.db │ +│ before/stop │ │ (Node) │ │ .jsonl │ │ SQLite │ +└──────────────┘ └───────────────┘ └────────────────────┘ └─────────┘ + │ + ▼ + ┌─────────────────┐ + │ Sidebar webview │ + │ Dex · History │ + └─────────────────┘ +``` + +1. Cursor hooks fire on `beforeSubmitPrompt` and `stop` for each Agent turn +2. `hook-bridge.js` appends structured events to `~/.cursor/vpet-hook-events.jsonl` +3. The extension watches the event log and maps stop payloads to completed usage +4. If stop tokens are missing, it falls back to Cursor's usage API (watermark delta) +5. Usage is applied through `@sbugallo/vpet-core` evolution logic into `pet.db` +6. The sidebar webview refreshes with updated partner state and artwork + +--- + +## 🔒 Privacy + +- ✅ No extension telemetry or analytics +- ✅ Partner data stays in your local `pet.db` +- ✅ Hook events are written only to `~/.cursor/vpet-hook-events.jsonl` +- ⚠️ API watermark fallback reads your Cursor access token from local `state.vscdb` and + queries `cursor.com/api/dashboard/get-filtered-usage-events` to compute token deltas +- ⚠️ When stop hooks include token counts, no network request is needed for that turn + +--- + +## 🐛 Known Issues + +| Issue | Workaround | +| --- | --- | +| Tokens not recorded after Agent turns | Run **Cursor VPet: Install Hooks** and retry | +| Missing token data in stop hook | Increase `vpet.usage.settleDelayMs` (e.g. `8000`) | +| Running in VS Code instead of Cursor | Token tracking is unavailable; use Cursor for Agent usage | +| Database path change not applied | Reload the Cursor window after changing settings | + +--- + +## 🤝 Contributing + +Contributions, issues, and feature requests are welcome in the monorepo! + +1. Fork the [repository](https://github.com/sbugallo/opencode-vpet) +2. Create your feature branch (`git checkout -b feature/amazing-feature`) +3. Commit your changes (`git commit -m 'feat: add amazing feature'`) +4. Push to the branch (`git push origin feature/amazing-feature`) +5. Open a Pull Request + +Package path: [`packages/cursor-vpet`](https://github.com/sbugallo/opencode-vpet/tree/main/packages/cursor-vpet) + +--- + +## 👤 Authors + +| Role | Name | +| --- | --- | +| **Author** | [Sergio Bugallo](https://github.com/sbugallo) | +| **Collaborator** | [Jorge Cendal](https://github.com/jcendal) | + +--- + +## 📜 License + +[Apache-2.0](LICENSE) + +Part of the [opencode-vpet](https://github.com/sbugallo/opencode-vpet) monorepo. Digimon +sprites were derived from community sources — see the +[root README attributions](https://github.com/sbugallo/opencode-vpet#attributions). + +--- + +
+ +**Built with ❤️ for the developer community** + +[⬆ Back to Top](#cursor-vpet) + +
diff --git a/packages/cursor-vpet/hook-bridge.js b/packages/cursor-vpet/hook-bridge.js new file mode 100644 index 0000000..9c0119a --- /dev/null +++ b/packages/cursor-vpet/hook-bridge.js @@ -0,0 +1,59 @@ +#!/usr/bin/env node +/** + * Cursor hook bridge — reads hook JSON from stdin, appends to events file, responds {}. + * Fail-open: never blocks Cursor on errors. + */ +import { appendFileSync, mkdirSync } from "node:fs" +import { homedir } from "node:os" +import { dirname, join } from "node:path" +import { Readable } from "node:stream" + +const EVENTS_PATH = + process.env.VPET_HOOK_EVENTS_PATH ?? join(homedir(), ".cursor", "vpet-hook-events.jsonl") + +const readStdin = async () => { + const chunks = [] + for await (const chunk of Readable.toWeb(process.stdin)) { + chunks.push(Buffer.from(chunk)) + } + return Buffer.concat(chunks).toString("utf8") +} + +const main = async () => { + const raw = await readStdin() + if (raw.trim().length === 0) { + process.stdout.write("{}") + return + } + + let payload + try { + payload = JSON.parse(raw) + } catch { + process.stdout.write("{}") + return + } + + const hookEventName = + typeof payload.hook_event_name === "string" ? payload.hook_event_name : process.argv[2] ?? "unknown" + + const record = { + receivedAt: new Date().toISOString(), + hookEventName, + payload, + } + + try { + mkdirSync(dirname(EVENTS_PATH), { recursive: true }) + appendFileSync(EVENTS_PATH, `${JSON.stringify(record)}\n`, "utf8") + } catch (error) { + console.error("[vpet-hook-bridge]", error) + } + + process.stdout.write("{}") +} + +main().catch((error) => { + console.error("[vpet-hook-bridge]", error) + process.stdout.write("{}") +}) diff --git a/packages/cursor-vpet/icon.png b/packages/cursor-vpet/icon.png new file mode 100644 index 0000000..bd1aab4 Binary files /dev/null and b/packages/cursor-vpet/icon.png differ diff --git a/packages/cursor-vpet/package.json b/packages/cursor-vpet/package.json new file mode 100644 index 0000000..a12ed1f --- /dev/null +++ b/packages/cursor-vpet/package.json @@ -0,0 +1,124 @@ +{ + "name": "cursor-vpet", + "displayName": "Cursor VPet", + "description": "Digimon virtual pet for Cursor that evolves with Agent token usage.", + "version": "0.2.0-dev.0", + "publisher": "sbugallo", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/sbugallo/opencode-vpet.git", + "directory": "packages/cursor-vpet" + }, + "homepage": "https://github.com/sbugallo/opencode-vpet#readme", + "bugs": { + "url": "https://github.com/sbugallo/opencode-vpet/issues" + }, + "keywords": [ + "cursor", + "vpet", + "virtual-pet", + "digimon", + "agent", + "ai", + "sidebar", + "opencode" + ], + "icon": "icon.png", + "galleryBanner": { + "color": "#1a1a2e", + "theme": "dark" + }, + "engines": { + "vscode": "^1.90.0", + "node": "24.11.0", + "bun": "1.3.5" + }, + "categories": [ + "Other" + ], + "activationEvents": [ + "onStartupFinished" + ], + "main": "./dist/extension.js", + "contributes": { + "views": { + "explorer": [ + { + "id": "cursorVpet.sidebar", + "name": "VPet", + "type": "webview" + } + ] + }, + "commands": [ + { + "command": "cursorVpet.spawn", + "title": "Cursor VPet: Spawn Partner" + }, + { + "command": "cursorVpet.freeze", + "title": "Cursor VPet: Freeze" + }, + { + "command": "cursorVpet.unfreeze", + "title": "Cursor VPet: Unfreeze" + }, + { + "command": "cursorVpet.set", + "title": "Cursor VPet: Set Digimon" + }, + { + "command": "cursorVpet.dex", + "title": "Cursor VPet: Open Dex" + }, + { + "command": "cursorVpet.history", + "title": "Cursor VPet: Open History" + }, + { + "command": "cursorVpet.installHooks", + "title": "Cursor VPet: Install Hooks" + }, + { + "command": "cursorVpet.uninstallHooks", + "title": "Cursor VPet: Uninstall Hooks" + } + ], + "configuration": { + "title": "Cursor VPet", + "properties": { + "vpet.databasePath": { + "type": "string", + "default": "", + "description": "Override path to pet.db (default: shared opencode-vpet/pet.db)" + }, + "vpet.usage.settleDelayMs": { + "type": "number", + "default": 4000, + "description": "Initial delay before API watermark fallback (ms)" + } + } + } + }, + "scripts": { + "build": "bun scripts/build.ts", + "check": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.scripts.json", + "test": "bun test", + "package": "npx @vscode/vsce package --no-dependencies", + "publish:openvsx": "npx ovsx publish *.vsix -p \"$OVSX_PAT\"", + "vscode:prepublish": "bun run build" + }, + "dependencies": { + "@sbugallo/vpet-core": "workspace:*", + "sql.js": "^1.12.0" + }, + "devDependencies": { + "@types/bun": "1.3.14", + "@types/node": "24.10.1", + "@types/vscode": "1.90.0", + "@vscode/vsce": "3.2.1", + "ovsx": "0.10.0", + "typescript": "5.9.3" + } +} diff --git a/packages/cursor-vpet/scripts/build.ts b/packages/cursor-vpet/scripts/build.ts new file mode 100644 index 0000000..126beee --- /dev/null +++ b/packages/cursor-vpet/scripts/build.ts @@ -0,0 +1,30 @@ +import { copyFile, mkdir, rm } from "node:fs/promises" +import { createRequire } from "node:module" +import { resolve } from "node:path" + +import { stageChangelog } from "./stage-changelog.ts" + +const require = createRequire(import.meta.url) +const packageRoot = resolve(import.meta.dir, "..") +const distDirectory = resolve(packageRoot, "dist") +const wasmSource = require.resolve("sql.js/dist/sql-wasm.wasm") + +await rm(distDirectory, { recursive: true, force: true }) +await mkdir(distDirectory, { recursive: true }) +await stageChangelog(packageRoot) + +const result = await Bun.build({ + entrypoints: ["./src/extension.ts"], + outdir: "./dist", + target: "node", + format: "cjs", + external: ["vscode"], + minify: true, + sourcemap: false, +}) + +if (!result.success) { + throw new Error("cursor-vpet build failed") +} + +await copyFile(wasmSource, resolve(distDirectory, "sql-wasm.wasm")) diff --git a/packages/cursor-vpet/scripts/stage-changelog.ts b/packages/cursor-vpet/scripts/stage-changelog.ts new file mode 100644 index 0000000..a3d37ea --- /dev/null +++ b/packages/cursor-vpet/scripts/stage-changelog.ts @@ -0,0 +1,33 @@ +import { copyFile, rm } from "node:fs/promises" +import { resolve } from "node:path" + +export const getMonorepoChangelogPath = (packageRoot: string): string => resolve(packageRoot, "../../CHANGELOG.md") + +export const getStagedChangelogPath = (packageRoot: string): string => resolve(packageRoot, "CHANGELOG.md") + +export const stageChangelog = async (packageRoot: string): Promise => { + const changelogSource = getMonorepoChangelogPath(packageRoot) + const changelogTarget = getStagedChangelogPath(packageRoot) + const source = Bun.file(changelogSource) + if (!(await source.exists()) || source.size === 0) { + throw new Error(`Monorepo changelog is missing or empty: ${changelogSource}`) + } + await copyFile(changelogSource, changelogTarget) +} + +export const removeStagedChangelog = async (packageRoot: string): Promise => { + await rm(getStagedChangelogPath(packageRoot), { force: true }) +} + +if (import.meta.main) { + const arguments_ = Bun.argv.slice(2) + if (arguments_[0] === "remove") { + const packageRoot = arguments_[1] + if (packageRoot === undefined) throw new Error("Expected remove .") + await removeStagedChangelog(resolve(packageRoot)) + } else { + const packageRoot = arguments_[0] + if (packageRoot === undefined) throw new Error("Expected .") + await stageChangelog(resolve(packageRoot)) + } +} diff --git a/packages/cursor-vpet/src/adapters/cursor/cursor-api-watermark.ts b/packages/cursor-vpet/src/adapters/cursor/cursor-api-watermark.ts new file mode 100644 index 0000000..00922bd --- /dev/null +++ b/packages/cursor-vpet/src/adapters/cursor/cursor-api-watermark.ts @@ -0,0 +1,142 @@ +import type { CompletedUsage, UsageApiEvent, UsageApiResponse, UsageWatermark } from "./types.ts" +import { readCursorAccessToken } from "./cursor-auth.ts" + +const USAGE_EVENTS_URL = "https://cursor.com/api/dashboard/get-filtered-usage-events" + +export const fingerprintEvent = (event: UsageApiEvent | undefined): string => { + if (event === undefined) return "none" + const tokens = event.tokenUsage + return `${event.timestamp}:${event.model}:${tokens?.inputTokens ?? 0}:${tokens?.outputTokens ?? 0}` +} + +export const hasValidTokens = (event: UsageApiEvent): boolean => { + if (!event.isTokenBasedCall || event.tokenUsage === undefined) return false + const { inputTokens = 0, outputTokens = 0, cacheWriteTokens = 0, cacheReadTokens = 0 } = event.tokenUsage + return inputTokens + outputTokens + cacheWriteTokens + cacheReadTokens > 0 +} + +export const sumTokenDelta = (events: readonly UsageApiEvent[]): number => + events.reduce((sum, event) => { + const tokens = event.tokenUsage + if (tokens === undefined) return sum + return ( + sum + + (tokens.inputTokens ?? 0) + + (tokens.outputTokens ?? 0) + + (tokens.cacheWriteTokens ?? 0) + + (tokens.cacheReadTokens ?? 0) + ) + }, 0) + +export const isNewEvent = (event: UsageApiEvent, watermark: UsageWatermark): boolean => { + const timestampMs = Number(event.timestamp) + if (timestampMs < watermark.timestampMs) return false + if (timestampMs === watermark.timestampMs && fingerprintEvent(event) === watermark.fingerprint) return false + return hasValidTokens(event) +} + +const fetchUsagePage = async ( + accessToken: string, + body: Record, +): Promise => { + const response = await fetch(USAGE_EVENTS_URL, { + method: "POST", + headers: { + Authorization: `Bearer ${accessToken}`, + "Content-Type": "application/json", + Origin: "https://cursor.com", + }, + body: JSON.stringify(body), + }) + + if (!response.ok) { + throw new Error(`Usage API failed: ${response.status}`) + } + + return (await response.json()) as UsageApiResponse +} + +export const captureWatermark = async (): Promise => { + const accessToken = await readCursorAccessToken() + if (accessToken === null) { + return { timestampMs: Date.now(), fingerprint: "none" } + } + + const response = await fetchUsagePage(accessToken, { page: 1, pageSize: 1 }) + const latest = response.usageEventsDisplay?.find(hasValidTokens) + if (latest === undefined) { + return { timestampMs: Date.now(), fingerprint: "none" } + } + + return { + timestampMs: Number(latest.timestamp), + fingerprint: fingerprintEvent(latest), + } +} + +export const fetchNewEventsSince = async ( + watermark: UsageWatermark, + endDateMs: number, +): Promise => { + const accessToken = await readCursorAccessToken() + if (accessToken === null) return [] + + const collected: UsageApiEvent[] = [] + let page = 1 + const pageSize = 100 + + while (true) { + const response = await fetchUsagePage(accessToken, { + startDate: String(watermark.timestampMs), + endDate: String(endDateMs), + page, + pageSize, + }) + + const events = response.usageEventsDisplay ?? [] + for (const event of events) { + if (isNewEvent(event, watermark)) collected.push(event) + } + + const total = response.totalUsageEventsCount ?? 0 + if (page * pageSize >= total || events.length === 0) break + page += 1 + } + + return collected.sort((a, b) => Number(a.timestamp) - Number(b.timestamp)) +} + +const sleep = (ms: number): Promise => new Promise((resolve) => setTimeout(resolve, ms)) + +export type SettleOptions = { + readonly initialDelayMs: number + readonly retryDelaysMs: readonly number[] +} + +export const settleTurnDelta = async ( + watermark: UsageWatermark, + generationId: string, + options: SettleOptions, +): Promise => { + const delays = [options.initialDelayMs, ...options.retryDelaysMs] + + for (const delayMs of delays) { + await sleep(delayMs) + const endDateMs = Date.now() + const newEvents = await fetchNewEventsSince(watermark, endDateMs) + if (newEvents.length === 0) continue + + const tokenDelta = sumTokenDelta(newEvents) + if (tokenDelta <= 0) continue + + return { + receiptKey: `cursor-turn:${generationId}`, + eventId: `cursor-api-delta:${generationId}`, + tokenDelta, + cost: null, + createdAt: new Date().toISOString(), + } + } + + return null +} diff --git a/packages/cursor-vpet/src/adapters/cursor/cursor-auth.ts b/packages/cursor-vpet/src/adapters/cursor/cursor-auth.ts new file mode 100644 index 0000000..30d5095 --- /dev/null +++ b/packages/cursor-vpet/src/adapters/cursor/cursor-auth.ts @@ -0,0 +1,36 @@ +import { readFileSync } from "node:fs" +import type { Database } from "sql.js" +import { getSqlRuntime } from "../sqlite/sqljs-config.ts" +import { resolveStateVscdbPath } from "./paths.ts" + +const ACCESS_TOKEN_KEY = "cursorAuth/accessToken" + +const queryItemTable = (database: Database, key: string): string | null => { + const statement = database.prepare("SELECT value FROM ItemTable WHERE key = ?") + statement.bind([key]) + if (!statement.step()) { + statement.free() + return null + } + const row = statement.getAsObject() as { value?: unknown } + statement.free() + const cell = row.value + if (cell === null || cell === undefined) return null + return typeof cell === "string" ? cell : String(cell) +} + +export const readCursorAccessToken = async (): Promise => { + const statePath = resolveStateVscdbPath() + try { + const SQL = await getSqlRuntime() + const buffer = readFileSync(statePath) + const database = new SQL.Database(buffer) + try { + return queryItemTable(database, ACCESS_TOKEN_KEY) + } finally { + database.close() + } + } catch { + return null + } +} diff --git a/packages/cursor-vpet/src/adapters/cursor/cursor-stop-mapper.ts b/packages/cursor-vpet/src/adapters/cursor/cursor-stop-mapper.ts new file mode 100644 index 0000000..d852622 --- /dev/null +++ b/packages/cursor-vpet/src/adapters/cursor/cursor-stop-mapper.ts @@ -0,0 +1,24 @@ +import type { CompletedUsage, CursorHookPayload } from "./types.ts" + +export const hasStopTokens = (payload: CursorHookPayload): boolean => { + const input = payload.input_tokens ?? 0 + const output = payload.output_tokens ?? 0 + return input + output > 0 +} + +export const toCompletedUsageFromStop = (payload: CursorHookPayload, receivedAt: string): CompletedUsage | null => { + if (!hasStopTokens(payload)) return null + + const generationId = payload.generation_id ?? payload.conversation_id + if (generationId === undefined || generationId.length === 0) return null + + const tokenDelta = (payload.input_tokens ?? 0) + (payload.output_tokens ?? 0) + + return { + receiptKey: `cursor-turn:${generationId}`, + eventId: `cursor-stop:${generationId}`, + tokenDelta, + cost: null, + createdAt: receivedAt, + } +} diff --git a/packages/cursor-vpet/src/adapters/cursor/cursor-usage-event-source.ts b/packages/cursor-vpet/src/adapters/cursor/cursor-usage-event-source.ts new file mode 100644 index 0000000..96325d4 --- /dev/null +++ b/packages/cursor-vpet/src/adapters/cursor/cursor-usage-event-source.ts @@ -0,0 +1,143 @@ +import { watch } from "node:fs" +import { open, stat, writeFile } from "node:fs/promises" + +import type { UsageProcessingResult } from "@sbugallo/vpet-core/application/models/usage.ts" +import type { UsageLedger } from "@sbugallo/vpet-core/application/ports/usage-ledger.ts" +import { recordUsage } from "@sbugallo/vpet-core/application/use-cases/record-usage.ts" +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { STAGE_GAUGE_THRESHOLDS } from "@sbugallo/vpet-core/domain/evolution.ts" +import { captureWatermark, settleTurnDelta } from "./cursor-api-watermark.ts" +import { hasStopTokens, toCompletedUsageFromStop } from "./cursor-stop-mapper.ts" +import { resolveHookEventsPath } from "./paths.ts" +import type { CompletedUsage, HookEventRecord, UsageWatermark } from "./types.ts" + +type TurnState = { + watermark: UsageWatermark +} + +export type CursorUsageSettleOptions = { + readonly settleDelayMs: number +} + +export type CursorUsageEventSource = { + dispose(): void +} + +const toSettleOptions = (options: CursorUsageSettleOptions) => ({ + initialDelayMs: options.settleDelayMs, + retryDelaysMs: [Math.max(options.settleDelayMs + 2000, 6000), Math.max(options.settleDelayMs + 6000, 10000)], +}) + +export const createCursorUsageEventSource = ( + ledger: UsageLedger, + onApplied?: (result: UsageProcessingResult) => void, + options: CursorUsageSettleOptions & { readonly eventsPath?: string } = { settleDelayMs: 4000 }, +): CursorUsageEventSource => { + const eventsPath = options.eventsPath ?? resolveHookEventsPath() + const settleOptions = toSettleOptions(options) + const pendingWatermarks = new Map() + const processedReceipts = new Set() + let disposed = false + let watcher: ReturnType | undefined + + const applyUsage = async (usage: CompletedUsage, source: string): Promise => { + if (processedReceipts.has(usage.receiptKey)) return + processedReceipts.add(usage.receiptKey) + const result = recordUsage({ + ledger, + usage, + digimonById: DIGIMON_CATALOG.byId, + catalogNodes: DIGIMON_CATALOG.nodes, + selector: Math.random, + thresholds: STAGE_GAUGE_THRESHOLDS, + }) + console.log(`[cursor-vpet] ${source}`, result) + if (result.kind === "applied") onApplied?.(result) + } + + const handleBeforeSubmit = async (record: HookEventRecord): Promise => { + const conversationId = record.payload.conversation_id + const watermark = await captureWatermark() + const key = conversationId ?? `turn:${record.receivedAt}` + pendingWatermarks.set(key, { watermark }) + } + + const handleStop = async (record: HookEventRecord): Promise => { + const conversationId = record.payload.conversation_id + const generationId = record.payload.generation_id ?? conversationId + if (generationId === undefined) return + + if (hasStopTokens(record.payload)) { + const usage = toCompletedUsageFromStop(record.payload, record.receivedAt) + if (usage !== null) { + await applyUsage(usage, "hook-stop") + pendingWatermarks.delete(conversationId ?? generationId) + return + } + } + + const key = conversationId ?? generationId + const state = pendingWatermarks.get(key) + pendingWatermarks.delete(key) + const usage = await settleTurnDelta( + state?.watermark ?? { timestampMs: 0, fingerprint: "none" }, + generationId, + settleOptions, + ) + if (usage !== null) { + await applyUsage(usage, "api-watermark") + } + } + + const processLine = async (line: string): Promise => { + const trimmed = line.trim() + if (trimmed.length === 0) return + let record: HookEventRecord + try { + record = JSON.parse(trimmed) as HookEventRecord + } catch { + return + } + const eventName = record.hookEventName ?? record.payload.hook_event_name + if (eventName === "beforeSubmitPrompt") await handleBeforeSubmit(record) + if (eventName === "stop") await handleStop(record) + } + + const startWatch = async (): Promise => { + let offset = 0 + try { + const fileStat = await stat(eventsPath) + offset = fileStat.size + } catch { + await writeFile(eventsPath, "", "utf8") + } + + watcher = watch(eventsPath, async () => { + if (disposed) return + try { + const fileStat = await stat(eventsPath) + if (fileStat.size <= offset) return + const handle = await open(eventsPath, "r") + const length = fileStat.size - offset + const buffer = Buffer.alloc(length) + await handle.read(buffer, 0, length, offset) + await handle.close() + offset = fileStat.size + for (const line of buffer.toString("utf8").split("\n")) { + await processLine(line) + } + } catch (error) { + console.error("[cursor-vpet] hook watch error", error) + } + }) + } + + void startWatch() + + return { + dispose() { + disposed = true + watcher?.close() + }, + } +} diff --git a/packages/cursor-vpet/src/adapters/cursor/install-hooks.ts b/packages/cursor-vpet/src/adapters/cursor/install-hooks.ts new file mode 100644 index 0000000..1fe9119 --- /dev/null +++ b/packages/cursor-vpet/src/adapters/cursor/install-hooks.ts @@ -0,0 +1,61 @@ +import { mkdirSync, readFileSync, writeFileSync } from "node:fs" +import { dirname } from "node:path" +import { resolveHooksJsonPath } from "./paths.ts" + +const VPET_MARKER = "hook-bridge.js" + +export type HooksJson = { + readonly version: number + readonly hooks: Record +} + +const parseHooksJson = (raw: string): HooksJson => { + const parsed = JSON.parse(raw) as HooksJson + if (typeof parsed.version !== "number" || typeof parsed.hooks !== "object") { + throw new Error("Invalid hooks.json shape") + } + return parsed +} + +const isVpetHook = (entry: { readonly command: string }): boolean => entry.command.includes(VPET_MARKER) + +export const installVpetHooks = (bridgePath: string): { readonly hooksPath: string } => { + const hooksPath = resolveHooksJsonPath() + const command = `node "${bridgePath}"` + + mkdirSync(dirname(hooksPath), { recursive: true }) + + let config: HooksJson + try { + config = parseHooksJson(readFileSync(hooksPath, "utf8")) + } catch { + config = { version: 1, hooks: {} } + } + + const ensureHook = (name: string): void => { + const existing = config.hooks[name] ?? [] + config.hooks[name] = [...existing.filter((entry) => !isVpetHook(entry)), { command }] + } + + ensureHook("beforeSubmitPrompt") + ensureHook("stop") + + writeFileSync(hooksPath, `${JSON.stringify(config, null, 2)}\n`, "utf8") + return { hooksPath } +} + +export const uninstallVpetHooks = (): boolean => { + const hooksPath = resolveHooksJsonPath() + try { + const config = parseHooksJson(readFileSync(hooksPath, "utf8")) + const nextHooks: HooksJson["hooks"] = {} + for (const [name, entries] of Object.entries(config.hooks)) { + const filtered = entries.filter((entry) => !isVpetHook(entry)) + if (filtered.length > 0) nextHooks[name] = filtered + } + writeFileSync(hooksPath, `${JSON.stringify({ ...config, hooks: nextHooks }, null, 2)}\n`, "utf8") + return true + } catch { + return false + } +} diff --git a/packages/cursor-vpet/src/adapters/cursor/paths.ts b/packages/cursor-vpet/src/adapters/cursor/paths.ts new file mode 100644 index 0000000..9ce4d9a --- /dev/null +++ b/packages/cursor-vpet/src/adapters/cursor/paths.ts @@ -0,0 +1,27 @@ +import { homedir } from "node:os" +import { dirname, join } from "node:path" +import { fileURLToPath } from "node:url" + +export const resolveCursorUserDir = (): string => { + if (process.platform === "darwin") { + return join(homedir(), "Library", "Application Support", "Cursor", "User") + } + if (process.platform === "win32") { + const appData = process.env.APPDATA ?? join(homedir(), "AppData", "Roaming") + return join(appData, "Cursor", "User") + } + return join(homedir(), ".config", "Cursor", "User") +} + +export const resolveStateVscdbPath = (): string => join(resolveCursorUserDir(), "globalStorage", "state.vscdb") + +export const resolveHooksJsonPath = (): string => join(homedir(), ".cursor", "hooks.json") + +export const resolveHookEventsPath = (): string => + process.env.VPET_HOOK_EVENTS_PATH ?? join(homedir(), ".cursor", "vpet-hook-events.jsonl") + +export const resolveHookBridgePath = (): string => { + const override = process.env.VPET_HOOK_BRIDGE_PATH + if (override !== undefined && override.length > 0) return override + return join(dirname(fileURLToPath(import.meta.url)), "..", "..", "..", "hook-bridge.js") +} diff --git a/packages/cursor-vpet/src/adapters/cursor/types.ts b/packages/cursor-vpet/src/adapters/cursor/types.ts new file mode 100644 index 0000000..93330fa --- /dev/null +++ b/packages/cursor-vpet/src/adapters/cursor/types.ts @@ -0,0 +1,47 @@ +export type CompletedUsage = { + readonly receiptKey: string + readonly eventId: string + readonly tokenDelta: number + readonly cost?: number | null + readonly createdAt: string +} + +export type UsageWatermark = { + readonly timestampMs: number + readonly fingerprint: string + readonly conversationId?: string +} + +export type HookEventRecord = { + readonly receivedAt: string + readonly hookEventName: string + readonly payload: CursorHookPayload +} + +export type CursorHookPayload = { + readonly hook_event_name?: string + readonly conversation_id?: string + readonly generation_id?: string + readonly input_tokens?: number + readonly output_tokens?: number + readonly cache_read_tokens?: number + readonly cache_write_tokens?: number + readonly status?: string +} + +export type UsageApiEvent = { + readonly timestamp: string + readonly model: string + readonly isTokenBasedCall?: boolean + readonly tokenUsage?: { + readonly inputTokens?: number + readonly outputTokens?: number + readonly cacheWriteTokens?: number + readonly cacheReadTokens?: number + } +} + +export type UsageApiResponse = { + readonly totalUsageEventsCount?: number + readonly usageEventsDisplay?: readonly UsageApiEvent[] +} diff --git a/packages/cursor-vpet/src/adapters/sqlite/database-change-watcher.ts b/packages/cursor-vpet/src/adapters/sqlite/database-change-watcher.ts new file mode 100644 index 0000000..4a8508b --- /dev/null +++ b/packages/cursor-vpet/src/adapters/sqlite/database-change-watcher.ts @@ -0,0 +1,64 @@ +import { watch, type FSWatcher } from "node:fs" +import { mkdirSync } from "node:fs" +import { basename, dirname } from "node:path" + +import { resolveHostDatabasePath, type HostPathOptions } from "@sbugallo/vpet-core/adapters/sqlite/app-data-path.ts" + +export type DatabaseChangeWatcherOptions = HostPathOptions & { + readonly databasePath?: string + readonly onChange: () => void + readonly debounceMs?: number +} + +export type DatabaseChangeWatcher = { + dispose(): void +} + +const isPetDatabaseFilename = (filename: string | null | undefined, databaseFileName: string): boolean => { + if (filename === undefined || filename === null) return true + return filename === databaseFileName +} + +export const createDatabaseChangeWatcher = (options: DatabaseChangeWatcherOptions): DatabaseChangeWatcher => { + const databasePath = options.databasePath ?? resolveHostDatabasePath(options) + const databaseDirectory = dirname(databasePath) + const databaseFileName = basename(databasePath) + const debounceMs = options.debounceMs ?? 200 + + let disposed = false + let debounceTimer: ReturnType | undefined + let watcher: FSWatcher | undefined + + const scheduleChange = (): void => { + if (disposed) return + if (debounceTimer !== undefined) clearTimeout(debounceTimer) + debounceTimer = setTimeout(() => { + debounceTimer = undefined + if (!disposed) options.onChange() + }, debounceMs) + } + + const handleWatchEvent = (filename: string | null | undefined): void => { + if (disposed) return + if (!isPetDatabaseFilename(filename, databaseFileName)) return + scheduleChange() + } + + mkdirSync(databaseDirectory, { recursive: true }) + watcher = watch(databaseDirectory, (eventType, filename) => { + if (eventType !== "change" && eventType !== "rename") return + handleWatchEvent(filename) + }) + + return { + dispose() { + disposed = true + if (debounceTimer !== undefined) { + clearTimeout(debounceTimer) + debounceTimer = undefined + } + watcher?.close() + watcher = undefined + }, + } +} diff --git a/packages/cursor-vpet/src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts b/packages/cursor-vpet/src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts new file mode 100644 index 0000000..aa66b1c --- /dev/null +++ b/packages/cursor-vpet/src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts @@ -0,0 +1,106 @@ +import { existsSync, readFileSync } from "node:fs" +import type { SqlJsStatic } from "sql.js" + +import type { SidebarSnapshot, SidebarSnapshotReader } from "@sbugallo/vpet-core/application/ports/sidebar-snapshot.ts" +import { resolveHostDatabasePath, type HostPathOptions } from "@sbugallo/vpet-core/adapters/sqlite/app-data-path.ts" +import type { SqliteExecutor } from "@sbugallo/vpet-core/ports/sqlite-executor.ts" +import { getSqlRuntime } from "./sqljs-config.ts" +import { + ACTIVE_PARTNER_SELECT, + toPartner, + type PersistedPartnerRow, + type TrainerStateRow, +} from "@sbugallo/vpet-core/adapters/sqlite/sqlite-vpet-schema.ts" + +export type CreateSqliteSidebarSnapshotReaderOptions = HostPathOptions & { readonly databasePath?: string } + +const TRAINER_STATE_SELECT = "SELECT total_tokens FROM trainer_state WHERE trainer_id = 1" +const CONTROL_STATE_SELECT = "SELECT frozen, cheat_node_id FROM vpet_control_state WHERE control_id = 1" + +type ControlStateRow = { + readonly frozen: number + readonly cheat_node_id: string | null +} + +const isRecoverableSqliteReadError = (error: unknown): boolean => + error instanceof Error && + (error.message.includes("sqlite") || error.message.includes("database") || error.message.includes("no such table")) + +export const readSidebarSnapshotFromExecutor = (executor: Pick): SidebarSnapshot | null => { + const trainer = executor.get(TRAINER_STATE_SELECT) + const control = executor.get(CONTROL_STATE_SELECT) + if (control?.cheat_node_id !== null && control?.cheat_node_id !== undefined) { + return { + currentNodeId: control.cheat_node_id, + gauge: 0, + isTerminal: true, + frozen: false, + isSetOverride: true, + trainerTotalTokens: trainer?.total_tokens ?? 0, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + } + } + + const partnerRow = executor.get(ACTIVE_PARTNER_SELECT) + if (partnerRow === null) return null + + const partner = toPartner(partnerRow) + return { + currentNodeId: partner.currentNodeId, + gauge: partner.gauge, + isTerminal: partner.isTerminal, + frozen: control?.frozen === 1, + isSetOverride: false, + trainerTotalTokens: trainer?.total_tokens ?? 0, + pendingEvolutionTargetId: partner.pendingEvolutionTargetId, + battleOpponentNodeId: partner.battleOpponentNodeId, + } +} + +const readSidebarSnapshotWithRuntime = (SQL: SqlJsStatic, databasePath: string): SidebarSnapshot | null => { + if (!existsSync(databasePath)) return null + + const database = new SQL.Database(readFileSync(databasePath)) + try { + const statementRunner = { + get>(sql: string): TRow | null { + const statement = database.prepare(sql) + if (!statement.step()) { + statement.free() + return null + } + const row = statement.getAsObject() as TRow + statement.free() + return row + }, + } + return readSidebarSnapshotFromExecutor(statementRunner) + } catch (error) { + if (isRecoverableSqliteReadError(error)) return null + throw error + } finally { + database.close() + } +} + +export const createSqliteSidebarSnapshotReader = async ( + options: CreateSqliteSidebarSnapshotReaderOptions = {}, +): Promise => { + const databasePath = options.databasePath ?? resolveHostDatabasePath(options) + const SQL = await getSqlRuntime() + + return { + getSidebarSnapshot(): SidebarSnapshot | null { + return readSidebarSnapshotWithRuntime(SQL, databasePath) + }, + } +} + +export const readSidebarSnapshot = async ( + options: CreateSqliteSidebarSnapshotReaderOptions = {}, +): Promise => { + const databasePath = options.databasePath ?? resolveHostDatabasePath(options) + const SQL = await getSqlRuntime() + return readSidebarSnapshotWithRuntime(SQL, databasePath) +} diff --git a/packages/cursor-vpet/src/adapters/sqlite/sqlite-vpet-archive-reader.ts b/packages/cursor-vpet/src/adapters/sqlite/sqlite-vpet-archive-reader.ts new file mode 100644 index 0000000..4dd4ff9 --- /dev/null +++ b/packages/cursor-vpet/src/adapters/sqlite/sqlite-vpet-archive-reader.ts @@ -0,0 +1,105 @@ +import { existsSync } from "node:fs" + +import type { + VpetArchiveEvent, + VpetArchivePartner, + VpetArchiveResult, +} from "@sbugallo/vpet-core/application/models/vpet-archive.ts" +import type { VpetArchiveReader } from "@sbugallo/vpet-core/application/ports/vpet-archive.ts" +import type { SqliteExecutor } from "@sbugallo/vpet-core/ports/sqlite-executor.ts" +import { resolveHostDatabasePath, type HostPathOptions } from "@sbugallo/vpet-core/adapters/sqlite/app-data-path.ts" +import { openReadonlySqlJsDatabase } from "./sqljs-driver.ts" +import { + ARCHIVE_PARTNER_EVENTS_SELECT, + ARCHIVE_PARTNERS_SELECT, + type PersistedPartnerEventRow, + type PersistedPartnerRow, +} from "@sbugallo/vpet-core/adapters/sqlite/sqlite-vpet-schema.ts" + +export type CreateSqliteVpetArchiveReaderOptions = HostPathOptions & { readonly databasePath?: string } + +const UNAVAILABLE_ARCHIVE_MESSAGE = "VPet archive is unavailable." + +const isRecoverableSqliteReadError = (error: unknown): boolean => + error instanceof Error && + (error.message.includes("sqlite") || error.message.includes("database") || error.message.includes("no such table")) + +const toArchiveEvent = (row: PersistedPartnerEventRow): VpetArchiveEvent => ({ + eventId: row.event_id, + currentNodeId: row.current_node_id, + createdAt: row.created_at, +}) + +const toArchivePartner = (row: PersistedPartnerRow, events: readonly VpetArchiveEvent[]): VpetArchivePartner => ({ + partnerId: row.partner_id, + generation: row.generation, + createdAt: row.created_at, + retiredAt: row.retired_at, + events, +}) + +const groupEventsByPartnerId = ( + rows: readonly PersistedPartnerEventRow[], +): ReadonlyMap => { + const eventsByPartnerId = new Map() + for (const row of rows) { + const events = eventsByPartnerId.get(row.partner_id) + if (events === undefined) { + eventsByPartnerId.set(row.partner_id, [toArchiveEvent(row)]) + continue + } + events.push(toArchiveEvent(row)) + } + return eventsByPartnerId +} + +export const readSqliteVpetArchive = (executor: Pick): VpetArchiveResult => { + const partners = executor.all(ARCHIVE_PARTNERS_SELECT) + if (partners.length === 0) return { kind: "empty" } + + const eventsByPartnerId = groupEventsByPartnerId( + executor.all(ARCHIVE_PARTNER_EVENTS_SELECT), + ) + return { + kind: "available", + partners: partners.map((partner) => toArchivePartner(partner, eventsByPartnerId.get(partner.partner_id) ?? [])), + } +} + +export const createSqliteVpetArchiveReader = async ( + options: CreateSqliteVpetArchiveReaderOptions = {}, +): Promise => { + const databasePath = options.databasePath ?? resolveHostDatabasePath(options) + if (!existsSync(databasePath)) { + return { getArchive: () => ({ kind: "empty" }) } + } + + const database = await openReadonlySqlJsDatabase(databasePath) + return { + getArchive(): VpetArchiveResult { + try { + return readSqliteVpetArchive(database.executor) + } catch (error) { + if (isRecoverableSqliteReadError(error)) return { kind: "unavailable", message: UNAVAILABLE_ARCHIVE_MESSAGE } + throw error + } + }, + } +} + +export const readArchive = async (options: CreateSqliteVpetArchiveReaderOptions = {}): Promise => { + const databasePath = options.databasePath ?? resolveHostDatabasePath(options) + if (!existsSync(databasePath)) return { kind: "empty" } + + try { + const database = await openReadonlySqlJsDatabase(databasePath) + try { + return readSqliteVpetArchive(database.executor) + } finally { + database.close() + } + } catch (error) { + if (isRecoverableSqliteReadError(error)) return { kind: "unavailable", message: UNAVAILABLE_ARCHIVE_MESSAGE } + throw error + } +} diff --git a/packages/cursor-vpet/src/adapters/sqlite/sqlite-vpet-write-store.ts b/packages/cursor-vpet/src/adapters/sqlite/sqlite-vpet-write-store.ts new file mode 100644 index 0000000..49520bc --- /dev/null +++ b/packages/cursor-vpet/src/adapters/sqlite/sqlite-vpet-write-store.ts @@ -0,0 +1,43 @@ +import type { SidebarSnapshotReader } from "@sbugallo/vpet-core/application/ports/sidebar-snapshot.ts" +import type { SqliteVpetWriteStore } from "@sbugallo/vpet-core/adapters/sqlite/sqlite-vpet-types.ts" +import { resolveHostDatabasePath, type HostPathOptions } from "@sbugallo/vpet-core/adapters/sqlite/app-data-path.ts" +import { createSqliteVpetWriteStore } from "@sbugallo/vpet-core/adapters/sqlite/sqlite-vpet-write-store.ts" +import { readSidebarSnapshotFromExecutor } from "./sqlite-sidebar-snapshot-reader.ts" +import { openWritableSqlJsDatabase } from "./sqljs-driver.ts" + +export type CreateSqliteVpetRepositoryOptions = HostPathOptions & { readonly databasePath?: string } + +export { resolveHostDatabasePath } +export type { HostPathOptions } from "@sbugallo/vpet-core/adapters/sqlite/app-data-path.ts" +export type { + PersistedPartnerEvent, + SqliteVpetWriteStore, +} from "@sbugallo/vpet-core/adapters/sqlite/sqlite-vpet-types.ts" + +export type CursorSqliteVpetRepository = SqliteVpetWriteStore & + SidebarSnapshotReader & { + reloadFromDisk(): void + } + +export const createSqliteVpetRepository = async ( + options: CreateSqliteVpetRepositoryOptions = {}, +): Promise => { + const databasePath = options.databasePath ?? resolveHostDatabasePath(options) + const database = await openWritableSqlJsDatabase(databasePath) + + const writeStore = createSqliteVpetWriteStore({ + databasePath, + executor: database.executor, + close: () => { + database.close() + }, + }) + + return { + ...writeStore, + getSidebarSnapshot: () => readSidebarSnapshotFromExecutor(database.executor), + reloadFromDisk: () => { + database.reloadFromDisk() + }, + } +} diff --git a/packages/cursor-vpet/src/adapters/sqlite/sqljs-config.ts b/packages/cursor-vpet/src/adapters/sqlite/sqljs-config.ts new file mode 100644 index 0000000..c189a43 --- /dev/null +++ b/packages/cursor-vpet/src/adapters/sqlite/sqljs-config.ts @@ -0,0 +1,25 @@ +import { createRequire } from "node:module" +import initSqlJs, { type SqlJsStatic } from "sql.js" + +const require = createRequire(import.meta.url) + +let sqlRuntime: SqlJsStatic | undefined +let wasmPath: string | undefined + +export const configureSqlJsWasmPath = (path: string): void => { + wasmPath = path +} + +const resolveWasmPath = (): string => { + if (wasmPath !== undefined) return wasmPath + return require.resolve("sql.js/dist/sql-wasm.wasm") +} + +export const getSqlRuntime = async (): Promise => { + if (sqlRuntime === undefined) { + sqlRuntime = await initSqlJs({ + locateFile: () => resolveWasmPath(), + }) + } + return sqlRuntime +} diff --git a/packages/cursor-vpet/src/adapters/sqlite/sqljs-driver.ts b/packages/cursor-vpet/src/adapters/sqlite/sqljs-driver.ts new file mode 100644 index 0000000..ba7c5f2 --- /dev/null +++ b/packages/cursor-vpet/src/adapters/sqlite/sqljs-driver.ts @@ -0,0 +1,210 @@ +import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs" +import { dirname } from "node:path" +import type { Database, SqlJsStatic } from "sql.js" + +import type { QueryValue, SqliteExecutor } from "@sbugallo/vpet-core/ports/sqlite-executor.ts" +import { getSqlRuntime } from "./sqljs-config.ts" + +export type SqlJsDatabase = { + readonly executor: SqliteExecutor + reloadFromDisk(): void + close(): void +} + +const persistDatabase = (database: Database, databasePath: string): void => { + mkdirSync(dirname(databasePath), { recursive: true }) + writeFileSync(databasePath, Buffer.from(database.export())) +} + +const readDatabaseMtimeMs = (databasePath: string): number => { + if (!existsSync(databasePath)) return 0 + return statSync(databasePath).mtimeMs +} + +const loadDatabaseFromDisk = (SQL: SqlJsStatic, databasePath: string): Database => { + try { + const buffer = readFileSync(databasePath) + return new SQL.Database(buffer) + } catch { + return new SQL.Database() + } +} + +const configureWriter = (database: Database): void => { + database.run("PRAGMA foreign_keys = ON") +} + +type WritableDatabaseState = { + database: Database + lastLocalPersistMs: number + transactionDepth: number +} + +const createWritableExecutor = ( + SQL: SqlJsStatic, + databasePath: string, + state: WritableDatabaseState, +): SqliteExecutor => { + const replaceDatabase = (nextDatabase: Database): void => { + state.database.close() + state.database = nextDatabase + configureWriter(state.database) + } + + const persist = (): void => { + persistDatabase(state.database, databasePath) + state.lastLocalPersistMs = readDatabaseMtimeMs(databasePath) + } + + const reloadIfStale = (): void => { + if (state.transactionDepth > 0) return + const diskMtimeMs = readDatabaseMtimeMs(databasePath) + if (diskMtimeMs <= state.lastLocalPersistMs) return + replaceDatabase(loadDatabaseFromDisk(SQL, databasePath)) + state.lastLocalPersistMs = diskMtimeMs + } + + const persistIfIdle = (): void => { + if (state.transactionDepth === 0) persist() + } + + return { + run(sql, params = []) { + reloadIfStale() + state.database.run(sql, Array.from(params)) + persistIfIdle() + }, + get>(sql: string, params: readonly QueryValue[] = []) { + reloadIfStale() + const statement = state.database.prepare(sql) + statement.bind(Array.from(params)) + if (!statement.step()) { + statement.free() + return null + } + const row = statement.getAsObject() as TRow + statement.free() + return row + }, + all>(sql: string, params: readonly QueryValue[] = []) { + reloadIfStale() + const statement = state.database.prepare(sql) + statement.bind(Array.from(params)) + const rows: TRow[] = [] + while (statement.step()) { + rows.push(statement.getAsObject() as TRow) + } + statement.free() + return rows + }, + transaction(operation) { + reloadIfStale() + state.database.run("BEGIN IMMEDIATE") + state.transactionDepth += 1 + try { + const result = operation() + state.database.run("COMMIT") + state.transactionDepth -= 1 + persist() + return result + } catch (error) { + try { + state.database.run("ROLLBACK") + } catch { + // Ignore rollback failures when the transaction is already closed. + } + state.transactionDepth -= 1 + throw error + } + }, + } +} + +const createReadonlyExecutor = (database: Database): SqliteExecutor => { + return { + run(sql, params = []) { + database.run(sql, Array.from(params)) + }, + get>(sql: string, params: readonly QueryValue[] = []) { + const statement = database.prepare(sql) + statement.bind(Array.from(params)) + if (!statement.step()) { + statement.free() + return null + } + const row = statement.getAsObject() as TRow + statement.free() + return row + }, + all>(sql: string, params: readonly QueryValue[] = []) { + const statement = database.prepare(sql) + statement.bind(Array.from(params)) + const rows: TRow[] = [] + while (statement.step()) { + rows.push(statement.getAsObject() as TRow) + } + statement.free() + return rows + }, + transaction(operation) { + database.run("BEGIN IMMEDIATE") + try { + const result = operation() + database.run("COMMIT") + return result + } catch (error) { + try { + database.run("ROLLBACK") + } catch { + // Ignore rollback failures when the transaction is already closed. + } + throw error + } + }, + } +} + +const createWritableDatabase = (SQL: SqlJsStatic, databasePath: string): SqlJsDatabase => { + const state: WritableDatabaseState = { + database: loadDatabaseFromDisk(SQL, databasePath), + lastLocalPersistMs: readDatabaseMtimeMs(databasePath), + transactionDepth: 0, + } + configureWriter(state.database) + + const reloadFromDisk = (): void => { + if (state.transactionDepth > 0) return + state.database.close() + state.database = loadDatabaseFromDisk(SQL, databasePath) + configureWriter(state.database) + state.lastLocalPersistMs = readDatabaseMtimeMs(databasePath) + } + + return { + executor: createWritableExecutor(SQL, databasePath, state), + reloadFromDisk, + close() { + persistDatabase(state.database, databasePath) + state.lastLocalPersistMs = readDatabaseMtimeMs(databasePath) + state.database.close() + }, + } +} + +export const openReadonlySqlJsDatabase = async (databasePath: string): Promise => { + const SQL = await getSqlRuntime() + const database = loadDatabaseFromDisk(SQL, databasePath) + configureWriter(database) + return { + executor: createReadonlyExecutor(database), + reloadFromDisk() {}, + close() { + database.close() + }, + } +} + +export const openWritableSqlJsDatabase = async (databasePath: string): Promise => { + const SQL = await getSqlRuntime() + return createWritableDatabase(SQL, databasePath) +} diff --git a/packages/cursor-vpet/src/adapters/sqlite/sqljs-runtime.ts b/packages/cursor-vpet/src/adapters/sqlite/sqljs-runtime.ts new file mode 100644 index 0000000..ba4b4b7 --- /dev/null +++ b/packages/cursor-vpet/src/adapters/sqlite/sqljs-runtime.ts @@ -0,0 +1,15 @@ +import { readFileSync } from "node:fs" +import type { Database } from "sql.js" + +import { getSqlRuntime } from "./sqljs-config.ts" + +export { configureSqlJsWasmPath } from "./sqljs-config.ts" + +export const openDatabaseFromPath = async (databasePath: string): Promise => { + const SQL = await getSqlRuntime() + try { + return new SQL.Database(readFileSync(databasePath)) + } catch { + return new SQL.Database() + } +} diff --git a/packages/cursor-vpet/src/config/extension-settings.ts b/packages/cursor-vpet/src/config/extension-settings.ts new file mode 100644 index 0000000..ca8b042 --- /dev/null +++ b/packages/cursor-vpet/src/config/extension-settings.ts @@ -0,0 +1,25 @@ +import * as vscode from "vscode" + +import type { HostPathOptions } from "@sbugallo/vpet-core/adapters/sqlite/app-data-path.ts" + +export type VpetExtensionSettings = { + readonly databasePath?: string + readonly settleDelayMs: number +} + +export const getVpetExtensionSettings = (): VpetExtensionSettings => { + const configuration = vscode.workspace.getConfiguration("vpet") + const databasePath = configuration.get("databasePath", "").trim() + const settings: VpetExtensionSettings = { + settleDelayMs: configuration.get("usage.settleDelayMs", 4000), + } + if (databasePath.length > 0) { + return { ...settings, databasePath } + } + return settings +} + +export const toDatabaseOptions = ( + settings: VpetExtensionSettings, +): HostPathOptions & { readonly databasePath?: string } => + settings.databasePath === undefined ? {} : { databasePath: settings.databasePath } diff --git a/packages/cursor-vpet/src/extension.ts b/packages/cursor-vpet/src/extension.ts new file mode 100644 index 0000000..806ea59 --- /dev/null +++ b/packages/cursor-vpet/src/extension.ts @@ -0,0 +1,136 @@ +import { existsSync } from "node:fs" +import { join } from "node:path" +import * as vscode from "vscode" + +import { spawnPartner } from "@sbugallo/vpet-core/application/use-cases/spawn-partner.ts" +import { freezeVpet } from "@sbugallo/vpet-core/application/use-cases/freeze-vpet.ts" +import { unfreezeVpet } from "@sbugallo/vpet-core/application/use-cases/unfreeze-vpet.ts" +import { setVpetCheatNode } from "@sbugallo/vpet-core/application/use-cases/set-vpet-cheat-node.ts" +import { createCursorUsageEventSource } from "./adapters/cursor/cursor-usage-event-source.ts" +import { installVpetHooks, uninstallVpetHooks } from "./adapters/cursor/install-hooks.ts" +import { resolveStateVscdbPath } from "./adapters/cursor/paths.ts" +import { configureSqlJsWasmPath } from "./adapters/sqlite/sqljs-config.ts" +import { createDatabaseChangeWatcher } from "./adapters/sqlite/database-change-watcher.ts" +import { createSqliteVpetRepository } from "./adapters/sqlite/sqlite-vpet-write-store.ts" +import { getVpetExtensionSettings, toDatabaseOptions } from "./config/extension-settings.ts" +import { openDexPanel } from "./webview/dex-panel.ts" +import { openHistoryPanel } from "./webview/history-panel.ts" +import { VpetSidebarProvider } from "./webview/vpet-sidebar-provider.ts" + +let sidebarProvider: VpetSidebarProvider | undefined + +const isCursorRuntime = (): boolean => existsSync(resolveStateVscdbPath()) + +const ensureHooksInstalled = async (context: vscode.ExtensionContext): Promise => { + const key = "vpet.hooksInstalled" + if (context.globalState.get(key) === true) return + + const choice = await vscode.window.showInformationMessage( + "Cursor VPet needs to register hooks in ~/.cursor/hooks.json to track Agent usage.", + "Install hooks", + "Not now", + ) + if (choice !== "Install hooks") return + + const bridgePath = join(context.extensionPath, "hook-bridge.js") + const result = installVpetHooks(bridgePath) + await context.globalState.update(key, true) + vscode.window.showInformationMessage(`VPet hooks installed at ${result.hooksPath}`) +} + +export async function activate(context: vscode.ExtensionContext): Promise { + configureSqlJsWasmPath(join(context.extensionPath, "dist", "sql-wasm.wasm")) + + if (!isCursorRuntime()) { + vscode.window.showWarningMessage("Cursor VPet: token tracking requires Cursor (state.vscdb not found).") + } + + const readSettings = () => getVpetExtensionSettings() + const databaseOptions = () => toDatabaseOptions(readSettings()) + + const repository = await createSqliteVpetRepository(databaseOptions()) + context.subscriptions.push({ dispose: () => repository.close() }) + + sidebarProvider = new VpetSidebarProvider(context.extensionUri, repository, repository) + context.subscriptions.push( + vscode.window.registerWebviewViewProvider(VpetSidebarProvider.viewType, sidebarProvider, { + webviewOptions: { retainContextWhenHidden: true }, + }), + { dispose: () => sidebarProvider?.dispose() }, + ) + + const refreshSidebar = (): void => { + void sidebarProvider?.refresh() + } + + const usageSource = createCursorUsageEventSource(repository, (result) => { + if (result.kind === "applied" && result.evolution !== undefined) { + sidebarProvider?.queueEvolutionReveal(result.evolution) + } + refreshSidebar() + }, { + settleDelayMs: readSettings().settleDelayMs, + }) + context.subscriptions.push(usageSource) + + const databaseWatcher = createDatabaseChangeWatcher({ + ...databaseOptions(), + onChange: () => { + repository.reloadFromDisk() + if (sidebarProvider?.isPresentationInProgress() !== true) { + refreshSidebar() + } + }, + }) + context.subscriptions.push({ dispose: () => databaseWatcher.dispose() }) + + context.subscriptions.push( + vscode.workspace.onDidChangeConfiguration((event) => { + if (!event.affectsConfiguration("vpet")) return + vscode.window.showInformationMessage("VPet settings changed. Reload the window to apply database path changes.") + }), + vscode.commands.registerCommand("cursorVpet.spawn", async () => { + spawnPartner(repository, new Date().toISOString()) + vscode.window.showInformationMessage("VPet partner spawned.") + refreshSidebar() + }), + vscode.commands.registerCommand("cursorVpet.freeze", async () => { + const result = freezeVpet(repository) + vscode.window.showInformationMessage(result.kind === "frozen" ? "VPet frozen." : "VPet already frozen.") + refreshSidebar() + }), + vscode.commands.registerCommand("cursorVpet.unfreeze", async () => { + const result = unfreezeVpet(repository) + vscode.window.showInformationMessage(result.kind === "unfrozen" ? "VPet unfrozen." : "VPet already active.") + refreshSidebar() + }), + vscode.commands.registerCommand("cursorVpet.set", async () => { + const nodeId = await vscode.window.showInputBox({ prompt: "Digimon node ID (e.g. 0-001)" }) + if (nodeId === undefined || nodeId.length === 0) return + const result = setVpetCheatNode(repository, nodeId) + vscode.window.showInformationMessage(`Set result: ${result.kind}`) + refreshSidebar() + }), + vscode.commands.registerCommand("cursorVpet.dex", () => openDexPanel(context, databaseOptions())), + vscode.commands.registerCommand("cursorVpet.history", () => openHistoryPanel(context, databaseOptions())), + vscode.commands.registerCommand("cursorVpet.installHooks", async () => { + const bridgePath = join(context.extensionPath, "hook-bridge.js") + installVpetHooks(bridgePath) + await context.globalState.update("vpet.hooksInstalled", true) + }), + vscode.commands.registerCommand("cursorVpet.uninstallHooks", () => { + uninstallVpetHooks() + void context.globalState.update("vpet.hooksInstalled", false) + }), + ) + + const poll = setInterval(refreshSidebar, 30_000) + context.subscriptions.push({ dispose: () => clearInterval(poll) }) + + await ensureHooksInstalled(context) + refreshSidebar() +} + +export function deactivate(): void { + sidebarProvider = undefined +} diff --git a/packages/cursor-vpet/src/types/sql.js.d.ts b/packages/cursor-vpet/src/types/sql.js.d.ts new file mode 100644 index 0000000..01dd3d5 --- /dev/null +++ b/packages/cursor-vpet/src/types/sql.js.d.ts @@ -0,0 +1,31 @@ +declare module "sql.js" { + export type SqlJsStatic = { + Database: new (data?: ArrayLike | Buffer | null) => Database + } + + export type Database = { + run(sql: string, params?: readonly (string | number | boolean | null)[]): void + prepare(sql: string): Statement + exec(sql: string, params?: readonly (string | number | boolean | null)[]): QueryExecResult[] + export(): Uint8Array + close(): void + } + + export type QueryExecResult = { + columns: string[] + values: unknown[][] + } + + export type Statement = { + bind(values?: readonly (string | number | boolean | null)[]): boolean + step(): boolean + getAsObject(): Record + free(): void + } + + export type InitSqlJsConfig = { + readonly locateFile?: (file: string) => string + } + + export default function initSqlJs(config?: InitSqlJsConfig): Promise +} diff --git a/packages/cursor-vpet/src/webview/animated-artwork.ts b/packages/cursor-vpet/src/webview/animated-artwork.ts new file mode 100644 index 0000000..f60dbba --- /dev/null +++ b/packages/cursor-vpet/src/webview/animated-artwork.ts @@ -0,0 +1,47 @@ +import { mirrorMonsterFrame } from "./monster-artwork-mirror.ts" +import type { MonsterAnimationOutput, MonsterAnimationResult } from "./monster-animation.ts" + +const ARTWORK_ROWS = 8 +const ARTWORK_COLUMNS = 16 + +const positionedOutput = (animation: MonsterAnimationOutput | MonsterAnimationResult): MonsterAnimationOutput => { + if ("result" in animation) return animation + switch (animation.kind) { + case "blank": + return { kind: "blank", result: animation, offset: 0, facing: "left" } + case "frame": + return { kind: "walking", result: animation, offset: 0, facing: "left" } + case "unavailable": + return { kind: "unavailable", result: animation, offset: 0, facing: "left" } + } +} + +export const renderPositionedArtwork = ( + animation: MonsterAnimationOutput | MonsterAnimationResult, + viewportWidth: number, +): string => { + const output = positionedOutput(animation) + switch (output.result.kind) { + case "blank": + return "" + case "frame": { + const mirrored = output.facing === "right" ? mirrorMonsterFrame(output.result.frame) : undefined + if (mirrored?.kind === "invalid") return "" + const content = mirrored?.frame.content ?? output.result.frame.content + const free = Math.max(viewportWidth - ARTWORK_COLUMNS, 0) + const left = Math.max(0, Math.min(free, Math.floor(free / 2) + output.offset)) + return content + .split("\n") + .map((row) => `${" ".repeat(left)}${row}`) + .join("\n") + } + case "unavailable": { + const key = output.result.sprite === "" ? "(empty)" : output.result.sprite + const message = `Artwork unavailable: ${key}` + const padding = Math.max(Math.floor((viewportWidth - message.length) / 2), 0) + return Array.from({ length: ARTWORK_ROWS }, (_, index) => + index === 3 ? `${" ".repeat(padding)}${message}` : "", + ).join("\n") + } + } +} diff --git a/packages/cursor-vpet/src/webview/defeat-artwork.ts b/packages/cursor-vpet/src/webview/defeat-artwork.ts new file mode 100644 index 0000000..9ae1f75 --- /dev/null +++ b/packages/cursor-vpet/src/webview/defeat-artwork.ts @@ -0,0 +1,67 @@ +import type { MonsterFrameCatalog } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import type { MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +const FRAME_ROWS = 8 +const FRAME_COLUMNS = 16 + +export const DEFEAT_CYCLE_MS = 550 +export const DEFEAT_CYCLES = 5 +export const DEFEAT_PRE_ANIMATION_MS = 300 + +const NORMAL_FRAME: MonsterFrameName = "walk_1" +const SAD_FRAMES: readonly MonsterFrameName[] = ["refuse", "injured_1"] + +export type DefeatArtworkScene = { + readonly sad: boolean + readonly sadAlt: boolean +} + +const frameLines = (catalog: MonsterFrameCatalog, sprite: string, frameName: MonsterFrameName): string[] => { + const frame = catalog.get(sprite, frameName) ?? catalog.get(sprite, "walk_1") + if (frame === undefined) return Array.from({ length: FRAME_ROWS }, () => " ".repeat(FRAME_COLUMNS)) + return frame.content.split("\n") +} + +const sadFrameFor = (catalog: MonsterFrameCatalog, sprite: string, sadAlt: boolean): MonsterFrameName => { + const preferred = sadAlt ? SAD_FRAMES[1] : SAD_FRAMES[0] + if (preferred !== undefined && catalog.get(sprite, preferred) !== undefined) return preferred + const fallback = SAD_FRAMES.find((frameName) => catalog.get(sprite, frameName) !== undefined) + return fallback ?? "injured_1" +} + +const centerArtwork = (rows: readonly string[], viewportWidth: number): string => { + const padding = Math.max(Math.floor((viewportWidth - FRAME_COLUMNS) / 2), 0) + return rows.map((row) => `${" ".repeat(padding)}${row}`).join("\n") +} + +export const renderDefeatArtwork = ( + catalog: MonsterFrameCatalog, + sprite: string, + scene: DefeatArtworkScene, + viewportWidth: number, +): string => { + const frameName = scene.sad ? sadFrameFor(catalog, sprite, scene.sadAlt) : NORMAL_FRAME + const spriteRows = frameLines(catalog, sprite, frameName) + return centerArtwork(spriteRows, viewportWidth) +} + +export const sleep = (ms: number): Promise => + new Promise((resolve) => { + setTimeout(resolve, ms) + }) + +export const runDefeatAnimation = async ( + catalog: MonsterFrameCatalog, + sprite: string, + viewportWidth: number, + onFrame: (artwork: string) => Promise, +): Promise => { + await sleep(DEFEAT_PRE_ANIMATION_MS) + + for (let cycle = 0; cycle < DEFEAT_CYCLES; cycle += 1) { + const sad = cycle % 2 === 1 + const sadAlt = cycle % 4 >= 2 + await onFrame(renderDefeatArtwork(catalog, sprite, { sad, sadAlt }, viewportWidth)) + if (cycle < DEFEAT_CYCLES - 1) await sleep(DEFEAT_CYCLE_MS) + } +} diff --git a/packages/cursor-vpet/src/webview/dex-panel.ts b/packages/cursor-vpet/src/webview/dex-panel.ts new file mode 100644 index 0000000..2a00039 --- /dev/null +++ b/packages/cursor-vpet/src/webview/dex-panel.ts @@ -0,0 +1,33 @@ +import * as vscode from "vscode" + +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { buildDexViewModel } from "@sbugallo/vpet-core/view-models/dex-view-model.ts" +import type { CreateSqliteVpetArchiveReaderOptions } from "../adapters/sqlite/sqlite-vpet-archive-reader.ts" +import { readArchive } from "../adapters/sqlite/sqlite-vpet-archive-reader.ts" + +export const openDexPanel = async ( + context: vscode.ExtensionContext, + options: CreateSqliteVpetArchiveReaderOptions = {}, +): Promise => { + const archive = await readArchive(options) + const model = buildDexViewModel(archive, DIGIMON_CATALOG, DEFAULT_VPET_SETTINGS) + + const panel = vscode.window.createWebviewPanel("cursorVpetDex", "VPet Dex", vscode.ViewColumn.One, {}) + if (model.kind !== "available") { + panel.webview.html = `${model.kind === "empty" ? "No discoveries yet." : model.message}` + context.subscriptions.push(panel) + return + } + + const discoveredCount = model.rows.filter((row) => row.discovered).length + const rows = model.rows + .map((row) => `${row.name}${row.stage}${row.discovered ? "✓" : "—"}`) + .join("") + panel.webview.html = ` +

VPet Dex

+

Discovered: ${discoveredCount} / ${model.rows.length}

+ ${rows}
NameStageFound
+ ` + context.subscriptions.push(panel) +} diff --git a/packages/cursor-vpet/src/webview/evolution-artwork.ts b/packages/cursor-vpet/src/webview/evolution-artwork.ts new file mode 100644 index 0000000..e03f034 --- /dev/null +++ b/packages/cursor-vpet/src/webview/evolution-artwork.ts @@ -0,0 +1,138 @@ +import type { MonsterFrameCatalog } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import type { MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +const FRAME_ROWS = 8 +const FRAME_COLUMNS = 16 + +export const EVOLUTION_PRE_ANIMATION_MS = 400 +export const EVOLUTION_GLOW_MS = 700 +export const EVOLUTION_MORPH_MS = 1300 +export const EVOLUTION_REVEAL_MS = 1500 +export const EVOLUTION_TICK_MS = 70 + +const GLOW_GLYPHS = "▄▀█░" + +export type EvolutionArtworkPhase = "glow" | "morph" | "reveal" + +export type EvolutionArtworkScene = { + readonly phase: EvolutionArtworkPhase + readonly progress: number +} + +const frameLines = (catalog: MonsterFrameCatalog, sprite: string, frameName: MonsterFrameName): string[] => { + const frame = catalog.get(sprite, frameName) ?? catalog.get(sprite, "walk_1") + if (frame === undefined) return Array.from({ length: FRAME_ROWS }, () => " ".repeat(FRAME_COLUMNS)) + return frame.content.split("\n") +} + +const padRow = (row: string, width: number): string => row.padEnd(width, " ").slice(0, width) + +const centerArtwork = (rows: readonly string[], viewportWidth: number): string => { + const padding = Math.max(Math.floor((viewportWidth - FRAME_COLUMNS) / 2), 0) + return rows.map((row) => `${" ".repeat(padding)}${row}`).join("\n") +} + +const glowRow = (row: string, intensity: number, tick: number): string => { + const cells = Array.from(padRow(row, FRAME_COLUMNS)) + return cells + .map((cell, column) => { + if (cell === " ") return cell + const wave = Math.sin((column + tick) * 0.85) * 0.5 + 0.5 + if (wave < intensity) return cell + const glyph = GLOW_GLYPHS[(column + tick) % GLOW_GLYPHS.length] ?? "█" + return glyph + }) + .join("") +} + +const morphRow = (fromRow: string, toRow: string, progress: number, rowIndex: number): string => { + const from = Array.from(padRow(fromRow, FRAME_COLUMNS)) + const to = Array.from(padRow(toRow, FRAME_COLUMNS)) + return from + .map((fromCell, column) => { + const toCell = to[column] ?? " " + const threshold = (column / FRAME_COLUMNS) * 0.65 + (rowIndex / FRAME_ROWS) * 0.35 + if (progress >= threshold) return toCell === " " ? fromCell : toCell + return fromCell + }) + .join("") +} + +const applyGlow = (rows: string[], progress: number, tick: number): string[] => + rows.map((row, rowIndex) => glowRow(row, progress * 0.75 + rowIndex * 0.02, tick + rowIndex)) + +const applyMorph = (fromRows: string[], toRows: string[], progress: number): string[] => + fromRows.map((fromRow, rowIndex) => morphRow(fromRow, toRows[rowIndex] ?? "", progress, rowIndex)) + +export const renderEvolutionArtwork = ( + catalog: MonsterFrameCatalog, + fromSprite: string, + toSprite: string, + scene: EvolutionArtworkScene, + viewportWidth: number, + tick = 0, +): string => { + const fromRows = frameLines(catalog, fromSprite, "walk_1") + const toRows = frameLines(catalog, toSprite, "walk_1") + const happyRows = frameLines(catalog, toSprite, "happy") + + let spriteRows: string[] + switch (scene.phase) { + case "glow": + spriteRows = applyGlow(fromRows, scene.progress, tick) + break + case "morph": + spriteRows = applyMorph(fromRows, toRows, scene.progress) + break + case "reveal": { + const revealBlend = scene.progress < 0.35 ? applyMorph(toRows, happyRows, scene.progress / 0.35) : happyRows + spriteRows = revealBlend + break + } + } + + return centerArtwork(spriteRows, viewportWidth) +} + +export const sleep = (ms: number): Promise => + new Promise((resolve) => { + setTimeout(resolve, ms) + }) + +const animatePhase = async ( + catalog: MonsterFrameCatalog, + fromSprite: string, + toSprite: string, + viewportWidth: number, + phase: EvolutionArtworkPhase, + durationMs: number, + onFrame: (artwork: string) => Promise, +): Promise => { + const steps = Math.max(1, Math.ceil(durationMs / EVOLUTION_TICK_MS)) + for (let step = 0; step <= steps; step += 1) { + const progress = step / steps + const artwork = renderEvolutionArtwork( + catalog, + fromSprite, + toSprite, + { phase, progress }, + viewportWidth, + step, + ) + await onFrame(artwork) + if (step < steps) await sleep(EVOLUTION_TICK_MS) + } +} + +export const runEvolutionAnimation = async ( + catalog: MonsterFrameCatalog, + fromSprite: string, + toSprite: string, + viewportWidth: number, + onFrame: (artwork: string) => Promise, +): Promise => { + await sleep(EVOLUTION_PRE_ANIMATION_MS) + await animatePhase(catalog, fromSprite, toSprite, viewportWidth, "glow", EVOLUTION_GLOW_MS, onFrame) + await animatePhase(catalog, fromSprite, toSprite, viewportWidth, "morph", EVOLUTION_MORPH_MS, onFrame) + await animatePhase(catalog, fromSprite, toSprite, viewportWidth, "reveal", EVOLUTION_REVEAL_MS, onFrame) +} diff --git a/packages/cursor-vpet/src/webview/evolution-battle-artwork.ts b/packages/cursor-vpet/src/webview/evolution-battle-artwork.ts new file mode 100644 index 0000000..7bc7bd0 --- /dev/null +++ b/packages/cursor-vpet/src/webview/evolution-battle-artwork.ts @@ -0,0 +1,510 @@ +import type { MonsterFrameCatalog } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import type { MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { mirrorMonsterFrame } from "./monster-artwork-mirror.ts" + +const FRAME_ROWS = 8 +const FRAME_COLUMNS = 16 +const BATTLE_GAP_COLUMNS = 12 + +export const EVOLUTION_BATTLE_HITS_TO_WIN = 3 +export const EVOLUTION_BATTLE_MAX_SHOTS = 24 +export const EVOLUTION_BATTLE_INTRO_MS = 1600 +export const EVOLUTION_BATTLE_TRAVEL_MS = 900 +export const EVOLUTION_BATTLE_PAUSE_MS = 550 +export const EVOLUTION_BATTLE_IMPACT_MS = 650 +export const EVOLUTION_BATTLE_OUTCOME_MS = 1400 +export const EVOLUTION_BATTLE_TICK_MS = 70 + +/** FIGlet-style BATTLE banner. */ +export const BATTLE_FIGLET_LINES = Object.freeze([ + "██████╗ █████╗ ████████╗████████╗██╗ ███████╗", + "██╔══██╗██╔══██╗╚══██╔══╝╚══██╔══╝██║ ██╔════╝", + "██████╔╝███████║ ██║ ██║ ██║ █████╗ ", + "██╔══██╗██╔══██║ ██║ ██║ ██║ ██╔══╝ ", + "██████╔╝██║ ██║ ██║ ██║ ███████╗███████╗", + "╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝", +]) + +export const buildBattleIntroTextLines = (): readonly string[] => BATTLE_FIGLET_LINES + +/** Block-style flame sprite matching Digimon ASCII art. */ +export const FIREBALL_LINES = Object.freeze([" ▄▀▄ ", "▄█▀▀█", " ▀▀▀ "]) + +const FIREBALL_ROWS = FIREBALL_LINES.length +const FIREBALL_COLUMNS = FIREBALL_LINES[0]?.length ?? 0 +const FIREBALL_START_ROW = Math.floor((FRAME_ROWS - FIREBALL_ROWS) / 2) + +const IMPACT_LINES = Object.freeze([" ▄█▄ ", " █▀█ ", " ▀▀▀ "]) +const IMPACT_ROWS = IMPACT_LINES.length +const IMPACT_START_ROW = FIREBALL_START_ROW + +export type EvolutionBattleShooter = "player" | "opponent" +export type EvolutionBattleOutcome = EvolutionBattleShooter +export type BattleSpritePose = "attack" | "injured" | "happy" | "idle" +export type EvolutionBattleResultLabel = "hit" | "miss" | null + +export type EvolutionBattleShot = { + readonly shooter: EvolutionBattleShooter + readonly hit: boolean +} + +export type EvolutionBattleScene = { + readonly shooter: EvolutionBattleShooter | null + readonly progress: number + readonly playerPose: BattleSpritePose + readonly opponentPose: BattleSpritePose + readonly playerInjuredAlt: boolean + readonly opponentInjuredAlt: boolean + readonly playerHits: number + readonly opponentHits: number + readonly lastResult: EvolutionBattleResultLabel + readonly outcomeLabel: string | null +} + +const poseToFrame = (pose: BattleSpritePose, injuredAlt: boolean): MonsterFrameName => { + switch (pose) { + case "attack": + return "attack" + case "injured": + return injuredAlt ? "injured_2" : "injured_1" + case "happy": + return "happy" + default: + return "walk_1" + } +} + +const frameLines = ( + catalog: MonsterFrameCatalog, + sprite: string, + facing: "left" | "right", + pose: BattleSpritePose, + injuredAlt: boolean, +): string[] => { + const frameName = poseToFrame(pose, injuredAlt) + const frame = catalog.get(sprite, frameName) ?? catalog.get(sprite, "walk_1") + if (frame === undefined) return Array.from({ length: FRAME_ROWS }, () => " ".repeat(FRAME_COLUMNS)) + if (facing === "right") { + const mirrored = mirrorMonsterFrame(frame) + if (mirrored.kind === "mirrored") return mirrored.frame.content.split("\n") + } + return frame.content.split("\n") +} + +const padRow = (row: string, width: number): string => row.padEnd(width, " ").slice(0, width) + +const overlayAt = (base: string, overlay: string, startColumn: number): string => { + const result = base.split("") + for (let index = 0; index < overlay.length; index += 1) { + const column = startColumn + index + if (column < 0 || column >= result.length) continue + const character = overlay[index] + if (character !== undefined && character !== " ") result[column] = character + } + return result.join("") +} + +const centerText = (width: number, text: string): string => { + const start = Math.max(0, Math.floor((width - text.length) / 2)) + return `${" ".repeat(start)}${text}`.padEnd(width, " ").slice(0, width) +} + +export const BATTLE_SCORE_HIT_PIP = "█" +export const BATTLE_SCORE_MISS_PIP = "░" + +export const buildBattleScorePips = ( + hits: number, + total: number = EVOLUTION_BATTLE_HITS_TO_WIN, +): string => + Array.from({ length: total }, (_, index) => + index < hits ? BATTLE_SCORE_HIT_PIP : BATTLE_SCORE_MISS_PIP, + ).join("") + +export const buildBattleScoreRow = ( + playerHits: number, + opponentHits: number, + width: number = BATTLE_GAP_COLUMNS, +): string => { + const playerPips = buildBattleScorePips(playerHits) + const opponentPips = buildBattleScorePips(opponentHits) + const spacer = Math.max(1, width - playerPips.length - opponentPips.length) + return `${playerPips}${" ".repeat(spacer)}${opponentPips}`.padEnd(width, " ").slice(0, width) +} + +const mirrorFireballLine = (line: string): string => Array.from(line).reverse().join("") + +const fireballLinesForShooter = (shooter: EvolutionBattleShooter): readonly string[] => + shooter === "opponent" ? FIREBALL_LINES.map(mirrorFireballLine) : FIREBALL_LINES + +const fireballColumn = (shooter: EvolutionBattleShooter, progress: number): number => { + const travel = BATTLE_GAP_COLUMNS - FIREBALL_COLUMNS + const clamped = Math.max(0, Math.min(1, progress)) + if (shooter === "player") return Math.round(clamped * travel) + return Math.round((1 - clamped) * travel) +} + +const impactColumn = (shooter: EvolutionBattleShooter): number => { + if (shooter === "player") return BATTLE_GAP_COLUMNS - IMPACT_LINES[0]!.length + return 0 +} + +const renderFireballInGap = (gapRows: string[], shooter: EvolutionBattleShooter, progress: number): void => { + const startColumn = fireballColumn(shooter, progress) + const fireballLines = fireballLinesForShooter(shooter) + for (let rowIndex = 0; rowIndex < FIREBALL_ROWS; rowIndex += 1) { + const gapRow = FIREBALL_START_ROW + rowIndex + const fireballLine = fireballLines[rowIndex] ?? "" + gapRows[gapRow] = overlayAt(gapRows[gapRow] ?? "", fireballLine, startColumn) + } +} + +const renderImpactInGap = (gapRows: string[], shooter: EvolutionBattleShooter): void => { + const startColumn = impactColumn(shooter) + for (let rowIndex = 0; rowIndex < IMPACT_ROWS; rowIndex += 1) { + const gapRow = IMPACT_START_ROW + rowIndex + const impactLine = IMPACT_LINES[rowIndex] ?? "" + gapRows[gapRow] = overlayAt(gapRows[gapRow] ?? "", impactLine, startColumn) + } +} + +const renderHudInGap = (gapRows: string[], scene: EvolutionBattleScene): void => { + gapRows[0] = buildBattleScoreRow(scene.playerHits, scene.opponentHits) + if (scene.outcomeLabel !== null) { + gapRows[FRAME_ROWS - 1] = centerText(BATTLE_GAP_COLUMNS, scene.outcomeLabel) + } else if (scene.lastResult !== null) { + gapRows[FRAME_ROWS - 1] = centerText(BATTLE_GAP_COLUMNS, scene.lastResult === "hit" ? "HIT!" : "MISS") + } +} + +const hitsFor = (shooter: EvolutionBattleShooter, playerHits: number, opponentHits: number): number => + shooter === "player" ? playerHits : opponentHits + +const rollShotHit = ( + outcome: EvolutionBattleOutcome, + shooter: EvolutionBattleShooter, + playerHits: number, + opponentHits: number, + random: () => number, +): boolean => { + const winner = outcome + const loser = outcome === "player" ? "opponent" : "player" + const winnerHits = hitsFor(winner, playerHits, opponentHits) + const loserHits = hitsFor(loser, playerHits, opponentHits) + + if (shooter === winner) { + if (winnerHits === EVOLUTION_BATTLE_HITS_TO_WIN - 1) return true + if (loserHits === EVOLUTION_BATTLE_HITS_TO_WIN - 1) return true + return random() < 0.65 + } + + if (loserHits === EVOLUTION_BATTLE_HITS_TO_WIN - 1) return false + return random() < 0.45 +} + +export const planEvolutionBattle = ( + outcome: EvolutionBattleOutcome, + random: () => number = Math.random, +): readonly EvolutionBattleShot[] => { + const shots: EvolutionBattleShot[] = [] + let playerHits = 0 + let opponentHits = 0 + let shooter: EvolutionBattleShooter = "player" + + while ( + playerHits < EVOLUTION_BATTLE_HITS_TO_WIN && + opponentHits < EVOLUTION_BATTLE_HITS_TO_WIN && + shots.length < EVOLUTION_BATTLE_MAX_SHOTS + ) { + const hit = rollShotHit(outcome, shooter, playerHits, opponentHits, random) + shots.push({ shooter, hit }) + if (hit) { + if (shooter === "player") playerHits += 1 + else opponentHits += 1 + } + shooter = shooter === "player" ? "opponent" : "player" + } + + return shots +} + +export const defaultBattleScene = ( + overrides: Partial = {}, +): EvolutionBattleScene => ({ + shooter: null, + progress: 0, + playerPose: "attack", + opponentPose: "attack", + playerInjuredAlt: false, + opponentInjuredAlt: false, + playerHits: 0, + opponentHits: 0, + lastResult: null, + outcomeLabel: null, + ...overrides, +}) + +const buildBattleIntroLines = (tick: number): string[] => { + const textLines = buildBattleIntroTextLines() + const visible = tick % 2 === 0 + return visible ? [...textLines] : textLines.map((line) => " ".repeat(line.length)) +} + +const padIntroRows = (rows: string[], viewportWidth: number): string[] => { + const width = rows[0]?.length ?? 0 + const horizontalPadding = Math.max(0, Math.floor((viewportWidth - width) / 2)) + const pad = " ".repeat(horizontalPadding) + return rows.map((row) => `${pad}${row}`) +} + +export const renderBattleIntroArtwork = (viewportWidth: number, _progress: number, tick = 0): string => { + const lines = buildBattleIntroLines(tick) + return padIntroRows(lines, viewportWidth).join("\n") +} + +export const renderEvolutionBattleArtwork = ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + scene: EvolutionBattleScene, + viewportWidth: number, +): string => { + const playerLines = frameLines(catalog, playerSprite, "right", scene.playerPose, scene.playerInjuredAlt) + const opponentLines = frameLines(catalog, opponentSprite, "left", scene.opponentPose, scene.opponentInjuredAlt) + + const gapRows = Array.from({ length: FRAME_ROWS }, () => " ".repeat(BATTLE_GAP_COLUMNS)) + renderHudInGap(gapRows, scene) + + if (scene.shooter !== null) { + renderFireballInGap(gapRows, scene.shooter, scene.progress) + } + if (scene.lastResult === "hit" && scene.shooter !== null) { + renderImpactInGap(gapRows, scene.shooter) + } + + const battleWidth = FRAME_COLUMNS + BATTLE_GAP_COLUMNS + FRAME_COLUMNS + const rows = Array.from({ length: FRAME_ROWS }, (_, rowIndex) => { + const left = padRow(playerLines[rowIndex] ?? "", FRAME_COLUMNS) + const gap = gapRows[rowIndex] ?? " ".repeat(BATTLE_GAP_COLUMNS) + const right = padRow(opponentLines[rowIndex] ?? "", FRAME_COLUMNS) + return `${left}${gap}${right}` + }) + + const padding = Math.max(Math.floor((viewportWidth - battleWidth) / 2), 0) + return rows.map((row) => `${" ".repeat(padding)}${row}`).join("\n") +} + +export const sleep = (ms: number): Promise => + new Promise((resolve) => { + setTimeout(resolve, ms) + }) + +const postScene = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + scene: EvolutionBattleScene, + onFrame: (artwork: string) => Promise, +): Promise => { + await onFrame(renderEvolutionBattleArtwork(catalog, playerSprite, opponentSprite, scene, viewportWidth)) +} + +const animateBattleIntro = async ( + viewportWidth: number, + onFrame: (artwork: string) => Promise, +): Promise => { + const steps = Math.max(1, Math.ceil(EVOLUTION_BATTLE_INTRO_MS / EVOLUTION_BATTLE_TICK_MS)) + for (let step = 0; step <= steps; step += 1) { + const progress = step / steps + await onFrame(renderBattleIntroArtwork(viewportWidth, progress, step)) + if (step < steps) await sleep(EVOLUTION_BATTLE_TICK_MS) + } +} + +const animateShot = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + shot: EvolutionBattleShot, + playerHits: number, + opponentHits: number, + onFrame: (artwork: string) => Promise, +): Promise => { + const steps = Math.max(1, Math.ceil(EVOLUTION_BATTLE_TRAVEL_MS / EVOLUTION_BATTLE_TICK_MS)) + for (let step = 0; step <= steps; step += 1) { + const progress = step / steps + await postScene( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + defaultBattleScene({ + shooter: shot.shooter, + progress, + playerHits, + opponentHits, + playerPose: "attack", + opponentPose: "attack", + }), + onFrame, + ) + if (step < steps) await sleep(EVOLUTION_BATTLE_TICK_MS) + } +} + +const animateImpact = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + shot: EvolutionBattleShot, + playerHits: number, + opponentHits: number, + onFrame: (artwork: string) => Promise, +): Promise => { + const playerPose = shot.hit && shot.shooter === "opponent" ? "injured" : "attack" + const opponentPose = shot.hit && shot.shooter === "player" ? "injured" : "attack" + const ticks = Math.max(1, Math.ceil(EVOLUTION_BATTLE_IMPACT_MS / EVOLUTION_BATTLE_TICK_MS)) + + for (let tick = 0; tick < ticks; tick += 1) { + await postScene( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + defaultBattleScene({ + shooter: shot.shooter, + progress: 1, + playerHits, + opponentHits, + playerPose, + opponentPose, + playerInjuredAlt: tick % 2 === 1 && playerPose === "injured", + opponentInjuredAlt: tick % 2 === 1 && opponentPose === "injured", + lastResult: shot.hit ? "hit" : "miss", + }), + onFrame, + ) + if (tick < ticks - 1) await sleep(EVOLUTION_BATTLE_TICK_MS) + } +} + +const animatePause = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + playerHits: number, + opponentHits: number, + onFrame: (artwork: string) => Promise, +): Promise => { + await postScene( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + defaultBattleScene({ + playerHits, + opponentHits, + playerPose: "attack", + opponentPose: "attack", + }), + onFrame, + ) + await sleep(EVOLUTION_BATTLE_PAUSE_MS) +} + +const animateOutcome = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + outcome: EvolutionBattleOutcome, + playerHits: number, + opponentHits: number, + onFrame: (artwork: string) => Promise, +): Promise => { + const ticks = Math.max(1, Math.ceil(EVOLUTION_BATTLE_OUTCOME_MS / EVOLUTION_BATTLE_TICK_MS)) + const playerWon = outcome === "player" + const winnerPose: BattleSpritePose = "happy" + const loserPose: BattleSpritePose = "injured" + + for (let tick = 0; tick < ticks; tick += 1) { + const loserBlink = tick % 2 === 1 ? "injured" : loserPose + await postScene( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + defaultBattleScene({ + playerHits, + opponentHits, + playerPose: playerWon ? winnerPose : loserBlink, + opponentPose: playerWon ? loserBlink : winnerPose, + playerInjuredAlt: !playerWon && tick % 2 === 1, + opponentInjuredAlt: playerWon && tick % 2 === 1, + outcomeLabel: playerWon ? "WIN!" : "LOSE!", + }), + onFrame, + ) + if (tick < ticks - 1) await sleep(EVOLUTION_BATTLE_TICK_MS) + } +} + +export const runEvolutionBattleAnimation = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + outcome: EvolutionBattleOutcome, + onFrame: (artwork: string) => Promise, + random: () => number = Math.random, +): Promise => { + await animateBattleIntro(viewportWidth, onFrame) + + const shots = planEvolutionBattle(outcome, random) + let playerHits = 0 + let opponentHits = 0 + + for (let index = 0; index < shots.length; index += 1) { + const shot = shots[index] + if (shot === undefined) continue + + await animateShot(catalog, playerSprite, opponentSprite, viewportWidth, shot, playerHits, opponentHits, onFrame) + if (shot.hit) { + if (shot.shooter === "player") playerHits += 1 + else opponentHits += 1 + } + await animateImpact( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + shot, + playerHits, + opponentHits, + onFrame, + ) + + const battleOver = + playerHits >= EVOLUTION_BATTLE_HITS_TO_WIN || opponentHits >= EVOLUTION_BATTLE_HITS_TO_WIN + const isLastShot = index === shots.length - 1 + if (!battleOver && !isLastShot) { + await animatePause(catalog, playerSprite, opponentSprite, viewportWidth, playerHits, opponentHits, onFrame) + } + if (battleOver) break + } + + await animateOutcome( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + outcome, + playerHits, + opponentHits, + onFrame, + ) + return outcome +} diff --git a/packages/cursor-vpet/src/webview/evolution-battle-session.ts b/packages/cursor-vpet/src/webview/evolution-battle-session.ts new file mode 100644 index 0000000..f903ea3 --- /dev/null +++ b/packages/cursor-vpet/src/webview/evolution-battle-session.ts @@ -0,0 +1,70 @@ +import type { SidebarSnapshot } from "@sbugallo/vpet-core/application/ports/sidebar-snapshot.ts" +import type { ResolveEvolutionBattleOutcome } from "@sbugallo/vpet-core/application/models/usage.ts" +import { + resolveEvolutionBattleForPartner, + type EvolutionBattleRepository, +} from "@sbugallo/vpet-core/application/use-cases/resolve-evolution-battle.ts" +import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" +import type { MonsterFrameCatalog } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +import { runDefeatAnimation } from "./defeat-artwork.ts" +import { runEvolutionBattleAnimation, type EvolutionBattleOutcome } from "./evolution-battle-artwork.ts" +import { runEvolutionRevealSession } from "./evolution-reveal-session.ts" + +export type EvolutionBattleSessionDependencies = { + readonly frameCatalog: MonsterFrameCatalog + readonly digimonCatalog: DigimonCatalog + readonly repository: EvolutionBattleRepository + readonly random?: () => number + readonly onArtwork: (artwork: string) => Promise + readonly onResolved?: (result: ResolveEvolutionBattleOutcome) => Promise +} + +export const runEvolutionBattleSession = async ( + snapshot: SidebarSnapshot, + viewportWidth: number, + dependencies: EvolutionBattleSessionDependencies, +): Promise => { + if (snapshot.pendingEvolutionTargetId === null || snapshot.battleOpponentNodeId === null) return false + + const player = dependencies.digimonCatalog.byId.get(snapshot.currentNodeId) + const opponent = dependencies.digimonCatalog.byId.get(snapshot.battleOpponentNodeId) + if (player === undefined || opponent === undefined) return false + + const random = dependencies.random ?? Math.random + const outcome: EvolutionBattleOutcome = random() < 0.5 ? "player" : "opponent" + const postArtwork = async (artwork: string): Promise => dependencies.onArtwork(artwork) + + await runEvolutionBattleAnimation( + dependencies.frameCatalog, + player.sprite, + opponent.sprite, + viewportWidth, + outcome, + postArtwork, + random, + ) + + if (outcome === "player") { + await runEvolutionRevealSession( + { fromNodeId: snapshot.currentNodeId, toNodeId: snapshot.pendingEvolutionTargetId }, + viewportWidth, + { + frameCatalog: dependencies.frameCatalog, + digimonCatalog: dependencies.digimonCatalog, + onArtwork: postArtwork, + }, + ) + } else { + await runDefeatAnimation(dependencies.frameCatalog, player.sprite, viewportWidth, postArtwork) + } + + const result = resolveEvolutionBattleForPartner( + dependencies.repository, + outcome === "player", + dependencies.digimonCatalog.byId, + new Date().toISOString(), + ) + await dependencies.onResolved?.(result) + return true +} diff --git a/packages/cursor-vpet/src/webview/evolution-reveal-session.ts b/packages/cursor-vpet/src/webview/evolution-reveal-session.ts new file mode 100644 index 0000000..3632b90 --- /dev/null +++ b/packages/cursor-vpet/src/webview/evolution-reveal-session.ts @@ -0,0 +1,30 @@ +import type { UsageEvolutionTransition } from "@sbugallo/vpet-core/application/models/usage.ts" +import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" +import type { MonsterFrameCatalog } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +import { runEvolutionAnimation } from "./evolution-artwork.ts" + +export type EvolutionRevealSessionDependencies = { + readonly frameCatalog: MonsterFrameCatalog + readonly digimonCatalog: DigimonCatalog + readonly onArtwork: (artwork: string) => Promise +} + +export const runEvolutionRevealSession = async ( + evolution: UsageEvolutionTransition, + viewportWidth: number, + dependencies: EvolutionRevealSessionDependencies, +): Promise => { + const from = dependencies.digimonCatalog.byId.get(evolution.fromNodeId) + const to = dependencies.digimonCatalog.byId.get(evolution.toNodeId) + if (from === undefined || to === undefined) return false + + await runEvolutionAnimation( + dependencies.frameCatalog, + from.sprite, + to.sprite, + viewportWidth, + async (artwork) => dependencies.onArtwork(artwork), + ) + return true +} diff --git a/packages/cursor-vpet/src/webview/history-panel.ts b/packages/cursor-vpet/src/webview/history-panel.ts new file mode 100644 index 0000000..2d7f2df --- /dev/null +++ b/packages/cursor-vpet/src/webview/history-panel.ts @@ -0,0 +1,34 @@ +import * as vscode from "vscode" + +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { buildHistoryViewModel } from "@sbugallo/vpet-core/view-models/history-view-model.ts" +import type { CreateSqliteVpetArchiveReaderOptions } from "../adapters/sqlite/sqlite-vpet-archive-reader.ts" +import { readArchive } from "../adapters/sqlite/sqlite-vpet-archive-reader.ts" + +export const openHistoryPanel = async ( + context: vscode.ExtensionContext, + options: CreateSqliteVpetArchiveReaderOptions = {}, +): Promise => { + const archive = await readArchive(options) + const model = buildHistoryViewModel(archive, DIGIMON_CATALOG, DEFAULT_VPET_SETTINGS) + + const panel = vscode.window.createWebviewPanel("cursorVpetHistory", "VPet History", vscode.ViewColumn.One, {}) + if (model.kind !== "available") { + panel.webview.html = `${model.kind === "empty" ? "No history yet." : model.message}` + context.subscriptions.push(panel) + return + } + + const rows = model.generations + .map( + (generation) => + `Gen ${generation.generation}${generation.path.join(" → ")}${generation.createdAt}`, + ) + .join("") + panel.webview.html = ` +

VPet History

+ ${rows}
GenPathCreated
+ ` + context.subscriptions.push(panel) +} diff --git a/src/tui/monster-action-policy.ts b/packages/cursor-vpet/src/webview/monster-action-policy.ts similarity index 94% rename from src/tui/monster-action-policy.ts rename to packages/cursor-vpet/src/webview/monster-action-policy.ts index cbe3d01..019b3d6 100644 --- a/src/tui/monster-action-policy.ts +++ b/packages/cursor-vpet/src/webview/monster-action-policy.ts @@ -1,4 +1,4 @@ -import type { MonsterFrameCatalog, MonsterFrameName } from "../data/monster-frame-catalog.ts" +import type { MonsterFrameCatalog, MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" export type CosmeticActionClip = readonly [MonsterFrameName, MonsterFrameName] export type SleepClip = readonly [MonsterFrameName, MonsterFrameName] diff --git a/packages/cursor-vpet/src/webview/monster-animation.ts b/packages/cursor-vpet/src/webview/monster-animation.ts new file mode 100644 index 0000000..2afec5b --- /dev/null +++ b/packages/cursor-vpet/src/webview/monster-animation.ts @@ -0,0 +1,334 @@ +import type { + MonsterFrame, + MonsterFrameCatalog, + MonsterFrameName, +} from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { + resolveCosmeticActions, + resolveSleepClip, + selectCosmeticAction, + type CosmeticActionClip, + type SleepClip, +} from "./monster-action-policy.ts" +import { + initialWalkingPolicy, + resizeActionBoundary, + resizeWalkingPolicy, + restartWalkingPolicy, + resumeWalkingPolicy, + tickWalkingPolicy, + type ActionBoundaryState, + type WalkFrame, + type WalkingFacing, + type WalkingPolicyState, +} from "./monster-walking-policy.ts" + +export type MonsterAnimationIdentity = { + readonly sprite: string + readonly isDigitama: boolean +} + +export type MonsterAnimationEvent = + | { readonly kind: "partner_changed"; readonly partner: MonsterAnimationIdentity | undefined } + | { readonly kind: "tick" } + | { readonly kind: "activity" } + | { readonly kind: "viewport_resized"; readonly width: number } + +export type MonsterAnimationResult = + | { readonly kind: "blank" } + | { readonly kind: "frame"; readonly frame: MonsterFrame } + | { readonly kind: "unavailable"; readonly sprite: string } + +export type MonsterFacing = WalkingFacing + +type PositionedOutput = { + readonly offset: number + readonly facing: MonsterFacing +} + +export type MonsterAnimationOutput = + | ({ readonly kind: "blank"; readonly result: { readonly kind: "blank" } } & PositionedOutput) + | ({ + readonly kind: "unavailable" + readonly result: { readonly kind: "unavailable"; readonly sprite: string } + } & PositionedOutput) + | ({ + readonly kind: "digitama" + readonly result: { readonly kind: "frame"; readonly frame: MonsterFrame } + } & PositionedOutput) + | ({ + readonly kind: "walking" + readonly result: { readonly kind: "frame"; readonly frame: MonsterFrame } + } & PositionedOutput) + | ({ + readonly kind: "action" | "sleeping" + readonly result: { readonly kind: "frame"; readonly frame: MonsterFrame } + } & PositionedOutput) + +type BlankState = { readonly kind: "blank" } +type UnavailableState = { readonly kind: "unavailable"; readonly identity: MonsterAnimationIdentity } +type DigitamaState = { + readonly kind: "digitama" + readonly identity: MonsterAnimationIdentity + readonly frameName: WalkFrame +} +type WalkingState = { + readonly kind: "walking" + readonly identity: MonsterAnimationIdentity + readonly policy: WalkingPolicyState +} +type ActionState = { + readonly kind: "action" + readonly identity: MonsterAnimationIdentity + readonly boundary: ActionBoundaryState + readonly clip: CosmeticActionClip + readonly phase: 0 | 1 +} +type SleepingState = { + readonly kind: "sleeping" + readonly identity: MonsterAnimationIdentity + readonly boundary: ActionBoundaryState + readonly clip: SleepClip + readonly phase: 0 | 1 +} + +type MonsterAnimationState = BlankState | UnavailableState | DigitamaState | WalkingState | ActionState | SleepingState +const ORIGIN = { offset: 0, facing: "left" } as const +const SLEEP_AFTER_MS = 300_000 + +const assertNever = (value: never): never => { + throw new Error(`Unexpected monster animation variant: ${JSON.stringify(value)}`) +} + +const sameIdentity = (left: MonsterAnimationIdentity, right: MonsterAnimationIdentity): boolean => + left.sprite === right.sprite && left.isDigitama === right.isDigitama + +export class MonsterAnimationController { + readonly #catalog: MonsterFrameCatalog + readonly #random: () => number + readonly #nowMs: () => number + #actions: readonly CosmeticActionClip[] = [] + #lastActivityMs: number | undefined + #latestViewportWidth: number | undefined + #state: MonsterAnimationState = { kind: "blank" } + + constructor( + catalog: MonsterFrameCatalog, + random: () => number = Math.random, + nowMs: () => number = () => performance.now(), + ) { + this.#catalog = catalog + this.#random = random + this.#nowMs = nowMs + } + + dispatch(event: MonsterAnimationEvent): MonsterAnimationOutput { + switch (event.kind) { + case "partner_changed": + this.#state = this.#changePartner(event.partner) + break + case "tick": + this.#state = this.#tick() + break + case "activity": + this.#state = this.#activity() + break + case "viewport_resized": + this.#latestViewportWidth = event.width + this.#state = this.#resize(event.width) + break + default: + return assertNever(event) + } + return this.output() + } + + output(): MonsterAnimationOutput { + const state = this.#state + switch (state.kind) { + case "blank": + return { kind: "blank", result: { kind: "blank" }, ...ORIGIN } + case "unavailable": + return { kind: "unavailable", result: { kind: "unavailable", sprite: state.identity.sprite }, ...ORIGIN } + case "digitama": + return { kind: "digitama", result: this.#frameResult(state.identity.sprite, state.frameName), ...ORIGIN } + case "walking": + return { + kind: state.kind, + result: this.#frameResult(state.identity.sprite, state.policy.frameName), + offset: state.policy.offset, + facing: state.policy.facing, + } + case "action": + return { + kind: state.kind, + result: this.#frameResult(state.identity.sprite, state.clip[state.phase]), + offset: state.boundary.offset, + facing: state.boundary.facing, + } + case "sleeping": + return { + kind: state.kind, + result: this.#frameResult(state.identity.sprite, state.clip[state.phase]), + offset: state.boundary.offset, + facing: state.boundary.facing, + } + default: + return assertNever(state) + } + } + + setSprite(sprite: string | undefined): void { + this.dispatch({ + kind: "partner_changed", + partner: sprite === undefined ? undefined : { sprite, isDigitama: false }, + }) + } + + advance(): void { + this.dispatch({ kind: "tick" }) + } + + get(): MonsterAnimationResult { + return this.output().result + } + + #changePartner(partner: MonsterAnimationIdentity | undefined): MonsterAnimationState { + if (partner === undefined) return { kind: "blank" } + const currentIdentity = this.#currentIdentity() + if (currentIdentity !== undefined && sameIdentity(currentIdentity, partner)) return this.#state + + const frameName = this.#firstWalkFrame(partner.sprite) + if (frameName === undefined) return { kind: "unavailable", identity: partner } + if (partner.isDigitama) return { kind: "digitama", identity: partner, frameName } + this.#actions = resolveCosmeticActions(partner.sprite, this.#catalog) + this.#lastActivityMs = this.#nowMs() + const policy = initialWalkingPolicy(frameName) + return { + kind: "walking", + identity: partner, + policy: + this.#latestViewportWidth === undefined + ? policy + : resizeWalkingPolicy(policy, this.#latestViewportWidth, this.#random), + } + } + + #tick(): MonsterAnimationState { + const state = this.#state + switch (state.kind) { + case "blank": + case "unavailable": + return state + case "digitama": + return { ...state, frameName: this.#nextWalkFrame(state.identity.sprite, state.frameName) } + case "walking": + if (this.#inactive()) return this.#sleep(state.identity, state.policy) + return this.#tickWalking(state) + case "action": + if (this.#inactive()) return this.#sleep(state.identity, state.boundary) + return state.phase === 0 + ? { ...state, phase: 1 } + : { kind: "walking", identity: state.identity, policy: resumeWalkingPolicy(state.boundary, this.#random) } + case "sleeping": + return { ...state, phase: state.phase === 0 ? 1 : 0 } + default: + return assertNever(state) + } + } + + #tickWalking(state: WalkingState): MonsterAnimationState { + const tick = tickWalkingPolicy(state.policy, state.identity.sprite, this.#catalog) + switch (tick.kind) { + case "walking": + return { ...state, policy: tick.walking } + case "action": + return this.#startAction(state.identity, tick.action) + default: + return assertNever(tick) + } + } + + #resize(width: number): MonsterAnimationState { + const state = this.#state + switch (state.kind) { + case "walking": + return { ...state, policy: resizeWalkingPolicy(state.policy, width, this.#random) } + case "action": + case "sleeping": + return { ...state, boundary: resizeActionBoundary(state.boundary, width) } + default: + return state + } + } + + #startAction(identity: MonsterAnimationIdentity, boundary: ActionBoundaryState): MonsterAnimationState { + const clip = selectCosmeticAction(this.#actions, this.#random) + return clip === undefined + ? { kind: "walking", identity, policy: resumeWalkingPolicy(boundary, this.#random) } + : { kind: "action", identity, boundary, clip, phase: 0 } + } + + #inactive(): boolean { + const baseline = this.#lastActivityMs + return baseline !== undefined && this.#nowMs() - baseline >= SLEEP_AFTER_MS + } + + #sleep(identity: MonsterAnimationIdentity, boundary: ActionBoundaryState): SleepingState { + return { + kind: "sleeping", + identity, + boundary, + clip: resolveSleepClip(identity.sprite, boundary.frameName, this.#catalog), + phase: 0, + } + } + + #activity(): MonsterAnimationState { + const state = this.#state + if (state.kind !== "walking" && state.kind !== "action" && state.kind !== "sleeping") return state + this.#lastActivityMs = this.#nowMs() + if (state.kind !== "sleeping") return state + const frameName = this.#firstWalkFrame(state.identity.sprite) + if (frameName === undefined) return state + return { + kind: "walking", + identity: state.identity, + policy: restartWalkingPolicy(state.boundary, frameName, this.#random), + } + } + + #currentIdentity(): MonsterAnimationIdentity | undefined { + const state = this.#state + switch (state.kind) { + case "blank": + return undefined + case "unavailable": + case "digitama": + case "walking": + return state.identity + case "action": + case "sleeping": + return state.identity + default: + return assertNever(state) + } + } + + #firstWalkFrame(sprite: string): WalkFrame | undefined { + if (this.#catalog.get(sprite, "walk_1") !== undefined) return "walk_1" + if (this.#catalog.get(sprite, "walk_2") !== undefined) return "walk_2" + return undefined + } + + #nextWalkFrame(sprite: string, current: WalkFrame): WalkFrame { + const alternate = current === "walk_1" ? "walk_2" : "walk_1" + return this.#catalog.get(sprite, alternate) === undefined ? current : alternate + } + + #frameResult(sprite: string, frameName: MonsterFrameName): { readonly kind: "frame"; readonly frame: MonsterFrame } { + const frame = this.#catalog.get(sprite, frameName) + if (frame === undefined) throw new Error(`Animation state references unavailable frame: ${sprite}/${frameName}`) + return { kind: "frame", frame } + } +} diff --git a/src/tui/monster-artwork-mirror.ts b/packages/cursor-vpet/src/webview/monster-artwork-mirror.ts similarity index 96% rename from src/tui/monster-artwork-mirror.ts rename to packages/cursor-vpet/src/webview/monster-artwork-mirror.ts index 3a3a725..c67e3bf 100644 --- a/src/tui/monster-artwork-mirror.ts +++ b/packages/cursor-vpet/src/webview/monster-artwork-mirror.ts @@ -1,4 +1,4 @@ -import { MonsterFrame } from "../data/monster-frame-catalog.ts" +import { MonsterFrame } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" const FRAME_ROWS = 8 const FRAME_COLUMNS = 16 diff --git a/src/tui/monster-walking-policy.ts b/packages/cursor-vpet/src/webview/monster-walking-policy.ts similarity index 98% rename from src/tui/monster-walking-policy.ts rename to packages/cursor-vpet/src/webview/monster-walking-policy.ts index 49a61db..192401c 100644 --- a/src/tui/monster-walking-policy.ts +++ b/packages/cursor-vpet/src/webview/monster-walking-policy.ts @@ -1,4 +1,4 @@ -import type { MonsterFrameCatalog, MonsterFrameName } from "../data/monster-frame-catalog.ts" +import type { MonsterFrameCatalog, MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" export type WalkingFacing = "left" | "right" export type WalkFrame = "walk_1" | "walk_2" diff --git a/packages/cursor-vpet/src/webview/sidebar-render.ts b/packages/cursor-vpet/src/webview/sidebar-render.ts new file mode 100644 index 0000000..6e6a02a --- /dev/null +++ b/packages/cursor-vpet/src/webview/sidebar-render.ts @@ -0,0 +1,214 @@ +import type { SidebarCardModel } from "@sbugallo/vpet-core/view-models/sidebar-view-model.ts" + +const NEXT_CHECK_PREFIX = "Next check: " +const NEXT_CHECK_BAR_WIDTH = 20 +const URL_LABEL = "Encyclopedia entry" + +export const MIN_ARTWORK_WIDTH = 16 +export const DEFAULT_ARTWORK_WIDTH = 32 + +export const pixelWidthToArtworkColumns = (pixelWidth: number, charWidthPx: number): number => { + if (!Number.isFinite(pixelWidth) || pixelWidth <= 0) return DEFAULT_ARTWORK_WIDTH + if (!Number.isFinite(charWidthPx) || charWidthPx <= 0) return DEFAULT_ARTWORK_WIDTH + return Math.max(MIN_ARTWORK_WIDTH, Math.floor(pixelWidth / charWidthPx)) +} + +const formatCount = (value: number): string => value.toLocaleString("en-US") + +export const buildNextCheckLine = (model: SidebarCardModel): string => { + if (model.kind === "no_partner") return "" + if (model.isTerminal && !model.isSetOverride) return `${NEXT_CHECK_PREFIX}None` + if (model.evolutionBattlePending) return `${NEXT_CHECK_PREFIX}Evolution battle!` + + const progress = model.isTerminal ? 1 : Math.min(Math.max(model.gauge / model.threshold, 0), 1) + const filled = Math.floor(progress * NEXT_CHECK_BAR_WIDTH) + return `${NEXT_CHECK_PREFIX}[${"█".repeat(filled)}${"░".repeat(NEXT_CHECK_BAR_WIDTH - filled)}]` +} + +export const buildGaugeLine = (model: SidebarCardModel): string => { + if (model.kind !== "partner") return "" + return model.isTerminal ? "-/-" : `${formatCount(model.gauge)}/${formatCount(model.threshold)}` +} + +export type SidebarWebviewPayload = + | { readonly type: "sidebar-model"; readonly kind: "no_partner"; readonly messageLine: string } + | { + readonly type: "sidebar-model" + readonly kind: "partner" + readonly name: string + readonly stage: string + readonly nextCheck: string + readonly gauge: string + readonly url: string + readonly urlLabel: string + readonly frozen: boolean + } + +export type AnimationFramePayload = { + readonly type: "animation-frame" + readonly artwork: string +} + +export const toSidebarWebviewPayload = (model: SidebarCardModel): SidebarWebviewPayload => { + if (model.kind === "no_partner") { + return { type: "sidebar-model", kind: "no_partner", messageLine: model.messageLine } + } + + return { + type: "sidebar-model", + kind: "partner", + name: model.isSetOverride ? `${model.name} (set)` : model.name, + stage: model.frozen ? `${model.stage} (frozen)` : model.stage, + nextCheck: buildNextCheckLine(model), + gauge: buildGaugeLine(model), + url: model.url, + urlLabel: URL_LABEL, + frozen: model.frozen, + } +} + +export const buildSidebarWebviewHtml = (nonce: string): string => ` + + + + + + + +
Loading VPet…
+ + +` diff --git a/packages/cursor-vpet/src/webview/vpet-sidebar-provider.ts b/packages/cursor-vpet/src/webview/vpet-sidebar-provider.ts new file mode 100644 index 0000000..4725b55 --- /dev/null +++ b/packages/cursor-vpet/src/webview/vpet-sidebar-provider.ts @@ -0,0 +1,238 @@ +import * as vscode from "vscode" + +import type { UsageEvolutionTransition } from "@sbugallo/vpet-core/application/models/usage.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { getSidebarCardInputs } from "@sbugallo/vpet-core/application/use-cases/get-sidebar-card-inputs.ts" +import type { SidebarSnapshotReader } from "@sbugallo/vpet-core/application/ports/sidebar-snapshot.ts" +import type { EvolutionBattleRepository } from "@sbugallo/vpet-core/application/use-cases/resolve-evolution-battle.ts" +import { buildSidebarCardModel } from "@sbugallo/vpet-core/view-models/sidebar-view-model.ts" +import { renderPositionedArtwork } from "./animated-artwork.ts" +import { runEvolutionBattleSession } from "./evolution-battle-session.ts" +import { runEvolutionRevealSession } from "./evolution-reveal-session.ts" +import { MonsterAnimationController, type MonsterAnimationOutput } from "./monster-animation.ts" +import { + buildSidebarWebviewHtml, + DEFAULT_ARTWORK_WIDTH, + MIN_ARTWORK_WIDTH, + toSidebarWebviewPayload, + type SidebarWebviewPayload, +} from "./sidebar-render.ts" + +const VISUAL_INTERVAL_MS = 500 + +export class VpetSidebarProvider implements vscode.WebviewViewProvider { + public static readonly viewType = "cursorVpet.sidebar" + + private view?: vscode.WebviewView + private cachedPayload?: SidebarWebviewPayload + private cachedArtwork = "" + private artworkWidth = DEFAULT_ARTWORK_WIDTH + private visualInterval?: ReturnType + private presentationInProgress = false + private refreshInFlight = false + private pendingRefresh = false + private pendingEvolutionReveal: UsageEvolutionTransition | undefined + private readonly animation = new MonsterAnimationController(MONSTER_FRAME_CATALOG, Math.random, () => + performance.now(), + ) + + constructor( + private readonly extensionUri: vscode.Uri, + private readonly snapshotReader: SidebarSnapshotReader, + private readonly battleRepository: EvolutionBattleRepository, + ) {} + + isPresentationInProgress(): boolean { + return this.presentationInProgress + } + + queueEvolutionReveal(evolution: UsageEvolutionTransition): void { + this.pendingEvolutionReveal = evolution + } + + resolveWebviewView(webviewView: vscode.WebviewView): void { + this.view = webviewView + webviewView.webview.options = { + enableScripts: true, + localResourceRoots: [this.extensionUri], + } + + webviewView.webview.html = buildSidebarWebviewHtml(String(Date.now())) + + webviewView.webview.onDidReceiveMessage( + (message: { readonly type?: string; readonly url?: string; readonly width?: number }) => { + if (message.type === "open-url" && typeof message.url === "string" && message.url.length > 0) { + void vscode.env.openExternal(vscode.Uri.parse(message.url)) + return + } + if (message.type === "artwork-width" && typeof message.width === "number" && Number.isFinite(message.width)) { + this.artworkWidth = Math.max(MIN_ARTWORK_WIDTH, Math.floor(message.width)) + this.syncAnimationViewport() + void this.postAnimationFrame() + } + }, + ) + + webviewView.onDidChangeVisibility(() => { + if (webviewView.visible) { + this.startVisualInterval() + void this.refresh() + } else { + this.stopVisualInterval() + } + }) + + if (this.cachedPayload !== undefined) { + void this.view.webview.postMessage(this.cachedPayload) + } + if (this.cachedArtwork.length > 0) { + void this.view.webview.postMessage({ type: "animation-frame", artwork: this.cachedArtwork }) + } + + if (webviewView.visible) { + this.startVisualInterval() + void this.refresh() + } + } + + async refresh(): Promise { + if (this.view === undefined) return + if (this.refreshInFlight) { + this.pendingRefresh = true + return + } + + this.refreshInFlight = true + try { + do { + this.pendingRefresh = false + await this.resolvePendingBattleIfNeeded() + await this.playPendingEvolutionReveal() + if (this.view === undefined) return + await this.publishSidebarModel() + } while (this.pendingRefresh) + } finally { + this.refreshInFlight = false + } + } + + dispose(): void { + this.stopVisualInterval() + delete this.view + } + + private async publishSidebarModel(): Promise { + if (this.view === undefined) return + + const snapshot = this.snapshotReader.getSidebarSnapshot() + const reader = { getSidebarSnapshot: () => snapshot } + const inputs = getSidebarCardInputs(reader, DIGIMON_CATALOG) + const model = buildSidebarCardModel(inputs, DEFAULT_VPET_SETTINGS) + const payload = toSidebarWebviewPayload(model) + this.cachedPayload = payload + await this.view.webview.postMessage(payload) + + if (this.presentationInProgress) return + + this.syncAnimationPartner(model) + await this.postAnimationFrame() + } + + private async resolvePendingBattleIfNeeded(): Promise { + if (this.presentationInProgress) return + + const snapshot = this.snapshotReader.getSidebarSnapshot() + if (snapshot === null) return + if (snapshot.pendingEvolutionTargetId === null || snapshot.battleOpponentNodeId === null) return + + this.presentationInProgress = true + this.stopVisualInterval() + this.cachedArtwork = "" + + try { + await runEvolutionBattleSession(snapshot, this.artworkWidth, { + frameCatalog: MONSTER_FRAME_CATALOG, + digimonCatalog: DIGIMON_CATALOG, + repository: this.battleRepository, + onArtwork: async (artwork) => this.postArtwork(artwork), + onResolved: async (result) => { + if (result.kind === "won") { + this.pendingEvolutionReveal = undefined + void vscode.window.showInformationMessage("Victory! Your partner evolved!") + } else if (result.kind === "lost") { + void vscode.window.showInformationMessage("Defeat! You lost all tokens for this stage.") + } + }, + }) + } finally { + this.presentationInProgress = false + if (this.view?.visible) this.startVisualInterval() + } + } + + private async playPendingEvolutionReveal(): Promise { + const evolution = this.pendingEvolutionReveal + if (evolution === undefined || this.presentationInProgress) return + + this.pendingEvolutionReveal = undefined + this.presentationInProgress = true + this.stopVisualInterval() + this.cachedArtwork = "" + + try { + const revealed = await runEvolutionRevealSession(evolution, this.artworkWidth, { + frameCatalog: MONSTER_FRAME_CATALOG, + digimonCatalog: DIGIMON_CATALOG, + onArtwork: async (artwork) => this.postArtwork(artwork), + }) + if (revealed) { + void vscode.window.showInformationMessage("Your partner evolved!") + } + } finally { + this.presentationInProgress = false + if (this.view?.visible) this.startVisualInterval() + } + } + + private async postArtwork(artwork: string): Promise { + this.cachedArtwork = artwork + await this.view?.webview.postMessage({ type: "animation-frame", artwork }) + } + + private syncAnimationPartner(model: ReturnType): void { + this.animation.dispatch({ + kind: "partner_changed", + partner: model.kind === "partner" ? { sprite: model.sprite, isDigitama: model.stageNumber === 0 } : undefined, + }) + } + + private syncAnimationViewport(): void { + this.animation.dispatch({ kind: "viewport_resized", width: this.artworkWidth }) + } + + private startVisualInterval(): void { + if (this.visualInterval !== undefined) return + this.visualInterval = setInterval(() => { + if (this.view === undefined || !this.view.visible || this.presentationInProgress) return + const nextAnimation = this.animation.dispatch({ kind: "tick" }) + void this.postAnimationFrame(nextAnimation) + }, VISUAL_INTERVAL_MS) + } + + private stopVisualInterval(): void { + if (this.visualInterval === undefined) return + clearInterval(this.visualInterval) + delete this.visualInterval + } + + private async postAnimationFrame(animation?: MonsterAnimationOutput): Promise { + if (this.view === undefined || this.presentationInProgress) return + const output = animation ?? this.animation.output() + const artwork = renderPositionedArtwork(output, this.artworkWidth) + if (artwork === this.cachedArtwork) return + this.cachedArtwork = artwork + await this.view.webview.postMessage({ type: "animation-frame", artwork }) + } +} diff --git a/packages/cursor-vpet/tests/cursor-api-watermark.test.ts b/packages/cursor-vpet/tests/cursor-api-watermark.test.ts new file mode 100644 index 0000000..fa7a49e --- /dev/null +++ b/packages/cursor-vpet/tests/cursor-api-watermark.test.ts @@ -0,0 +1,40 @@ +import { describe, expect, test } from "bun:test" +import { + fingerprintEvent, + hasValidTokens, + isNewEvent, + sumTokenDelta, +} from "../src/adapters/cursor/cursor-api-watermark.ts" +import type { UsageApiEvent, UsageWatermark } from "../src/adapters/cursor/types.ts" + +describe("cursor-api-watermark", () => { + const event: UsageApiEvent = { + timestamp: "1000", + model: "composer-2", + isTokenBasedCall: true, + tokenUsage: { + inputTokens: 10, + outputTokens: 5, + cacheWriteTokens: 2, + cacheReadTokens: 3, + }, + } + + test("sums token fields", () => { + expect(sumTokenDelta([event])).toBe(20) + }) + + test("filters new events by watermark", () => { + const watermark: UsageWatermark = { + timestampMs: 1000, + fingerprint: fingerprintEvent(event), + } + expect(isNewEvent(event, watermark)).toBe(false) + expect(isNewEvent({ ...event, timestamp: "1001" }, watermark)).toBe(true) + }) + + test("validates token based events", () => { + expect(hasValidTokens(event)).toBe(true) + expect(hasValidTokens({ timestamp: "1", model: "x" })).toBe(false) + }) +}) diff --git a/packages/cursor-vpet/tests/cursor-stop-mapper.test.ts b/packages/cursor-vpet/tests/cursor-stop-mapper.test.ts new file mode 100644 index 0000000..f0d87e2 --- /dev/null +++ b/packages/cursor-vpet/tests/cursor-stop-mapper.test.ts @@ -0,0 +1,28 @@ +import { describe, expect, test } from "bun:test" +import { hasStopTokens, toCompletedUsageFromStop } from "../src/adapters/cursor/cursor-stop-mapper.ts" + +describe("cursor-stop-mapper", () => { + test("detects tokens in stop payload", () => { + expect(hasStopTokens({ input_tokens: 100, output_tokens: 50 })).toBe(true) + expect(hasStopTokens({})).toBe(false) + }) + + test("maps stop payload to CompletedUsage", () => { + const usage = toCompletedUsageFromStop( + { + generation_id: "gen-1", + input_tokens: 1000, + output_tokens: 200, + }, + "2026-09-09T00:00:00.000Z", + ) + + expect(usage).toEqual({ + receiptKey: "cursor-turn:gen-1", + eventId: "cursor-stop:gen-1", + tokenDelta: 1200, + cost: null, + createdAt: "2026-09-09T00:00:00.000Z", + }) + }) +}) diff --git a/packages/cursor-vpet/tests/database-change-watcher.test.ts b/packages/cursor-vpet/tests/database-change-watcher.test.ts new file mode 100644 index 0000000..f72f500 --- /dev/null +++ b/packages/cursor-vpet/tests/database-change-watcher.test.ts @@ -0,0 +1,119 @@ +import { afterEach, describe, expect, test } from "bun:test" +import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises" +import { dirname, join } from "node:path" + +import { createDatabaseChangeWatcher } from "../src/adapters/sqlite/database-change-watcher.ts" + +const wait = async (milliseconds: number): Promise => { + await new Promise((resolve) => setTimeout(resolve, milliseconds)) +} + +describe("database change watcher", () => { + let tempRoot: string | undefined + let watcher: ReturnType | undefined + + afterEach(async () => { + watcher?.dispose() + watcher = undefined + if (tempRoot !== undefined) { + await rm(tempRoot, { recursive: true, force: true }) + tempRoot = undefined + } + }) + + test("Given a pet.db write When watching the data directory Then onChange fires once after debounce", async () => { + tempRoot = await mkdtemp(join(process.cwd(), ".tmp-cursor-vpet-watch-")) + const appDataRoot = join(tempRoot, "app-data") + const databasePath = join(appDataRoot, "opencode-vpet", "pet.db") + await mkdir(dirname(databasePath), { recursive: true }) + + let changeCount = 0 + watcher = createDatabaseChangeWatcher({ + appDataRoot, + databasePath, + debounceMs: 80, + onChange: () => { + changeCount += 1 + }, + }) + + await writeFile(databasePath, "first") + await wait(200) + expect(changeCount).toBe(1) + + await writeFile(databasePath, "second") + await wait(200) + expect(changeCount).toBe(2) + }) + + test("Given rapid pet.db writes When watching Then onChange coalesces into one debounced callback", async () => { + tempRoot = await mkdtemp(join(process.cwd(), ".tmp-cursor-vpet-watch-")) + const appDataRoot = join(tempRoot, "app-data") + const databasePath = join(appDataRoot, "opencode-vpet", "pet.db") + await mkdir(dirname(databasePath), { recursive: true }) + + let changeCount = 0 + watcher = createDatabaseChangeWatcher({ + appDataRoot, + databasePath, + debounceMs: 120, + onChange: () => { + changeCount += 1 + }, + }) + + await writeFile(databasePath, "a") + await wait(20) + await writeFile(databasePath, "b") + await wait(20) + await writeFile(databasePath, "c") + await wait(200) + + expect(changeCount).toBe(1) + }) + + test("Given another file in the data directory When it changes Then onChange is not called", async () => { + tempRoot = await mkdtemp(join(process.cwd(), ".tmp-cursor-vpet-watch-")) + const appDataRoot = join(tempRoot, "app-data") + const databasePath = join(appDataRoot, "opencode-vpet", "pet.db") + const otherPath = join(appDataRoot, "opencode-vpet", "notes.txt") + await mkdir(dirname(databasePath), { recursive: true }) + + let changeCount = 0 + watcher = createDatabaseChangeWatcher({ + appDataRoot, + databasePath, + debounceMs: 80, + onChange: () => { + changeCount += 1 + }, + }) + + await writeFile(otherPath, "ignore me") + await wait(200) + expect(changeCount).toBe(0) + }) + + test("Given a disposed watcher When pet.db changes Then onChange is not called", async () => { + tempRoot = await mkdtemp(join(process.cwd(), ".tmp-cursor-vpet-watch-")) + const appDataRoot = join(tempRoot, "app-data") + const databasePath = join(appDataRoot, "opencode-vpet", "pet.db") + await mkdir(dirname(databasePath), { recursive: true }) + + let changeCount = 0 + watcher = createDatabaseChangeWatcher({ + appDataRoot, + databasePath, + debounceMs: 80, + onChange: () => { + changeCount += 1 + }, + }) + watcher.dispose() + watcher = undefined + + await writeFile(databasePath, "after-dispose") + await wait(200) + expect(changeCount).toBe(0) + }) +}) diff --git a/packages/cursor-vpet/tests/defeat-artwork.test.ts b/packages/cursor-vpet/tests/defeat-artwork.test.ts new file mode 100644 index 0000000..478afe6 --- /dev/null +++ b/packages/cursor-vpet/tests/defeat-artwork.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, test } from "bun:test" + +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { renderDefeatArtwork } from "../src/webview/defeat-artwork.ts" + +describe("defeat artwork", () => { + test("Given normal and sad poses When rendering Then artwork alternates between them", () => { + const normal = renderDefeatArtwork(MONSTER_FRAME_CATALOG, "agumon", { sad: false, sadAlt: false }, 48) + const sad = renderDefeatArtwork(MONSTER_FRAME_CATALOG, "agumon", { sad: true, sadAlt: false }, 48) + + expect(normal).not.toEqual(sad) + }) + + test("Given defeat artwork When rendering Then the sprite is centered in the viewport", () => { + const artwork = renderDefeatArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + { sad: false, sadAlt: false }, + 48, + ) + const lines = artwork.split("\n").filter((line) => line.trim().length > 0) + + expect(lines.length).toBeGreaterThan(0) + expect(lines[0]?.startsWith(" ")).toBe(true) + }) +}) diff --git a/packages/cursor-vpet/tests/evolution-artwork.test.ts b/packages/cursor-vpet/tests/evolution-artwork.test.ts new file mode 100644 index 0000000..29d5743 --- /dev/null +++ b/packages/cursor-vpet/tests/evolution-artwork.test.ts @@ -0,0 +1,58 @@ +import { describe, expect, test } from "bun:test" + +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { renderEvolutionArtwork } from "../src/webview/evolution-artwork.ts" + +describe("evolution artwork", () => { + test("Given glow phase When rendering Then the sprite is still the current partner", () => { + const from = renderEvolutionArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "greymon", + { phase: "glow", progress: 0.2 }, + 48, + ) + const unchanged = renderEvolutionArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "greymon", + { phase: "glow", progress: 0 }, + 48, + ) + + expect(from.length).toBeGreaterThan(0) + expect(from).not.toEqual(unchanged) + }) + + test("Given morph phase When progress advances Then artwork moves toward the evolved sprite", () => { + const early = renderEvolutionArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "greymon", + { phase: "morph", progress: 0.1 }, + 48, + ) + const late = renderEvolutionArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "greymon", + { phase: "morph", progress: 0.9 }, + 48, + ) + + expect(early).not.toEqual(late) + }) + + test("Given reveal phase When rendering Then only the evolved sprite is shown", () => { + const artwork = renderEvolutionArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "greymon", + { phase: "reveal", progress: 0.8 }, + 48, + ) + + expect(artwork.length).toBeGreaterThan(0) + expect(artwork).not.toContain("Child") + }) +}) diff --git a/packages/cursor-vpet/tests/evolution-battle-artwork.test.ts b/packages/cursor-vpet/tests/evolution-battle-artwork.test.ts new file mode 100644 index 0000000..d5a500b --- /dev/null +++ b/packages/cursor-vpet/tests/evolution-battle-artwork.test.ts @@ -0,0 +1,130 @@ +import { describe, expect, test } from "bun:test" + +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { + buildBattleIntroTextLines, + buildBattleScorePips, + buildBattleScoreRow, + defaultBattleScene, + EVOLUTION_BATTLE_HITS_TO_WIN, + FIREBALL_LINES, + planEvolutionBattle, + renderBattleIntroArtwork, + renderEvolutionBattleArtwork, +} from "../src/webview/evolution-battle-artwork.ts" + +const countHits = (shots: readonly { readonly shooter: "player" | "opponent"; readonly hit: boolean }[]) => ({ + playerHits: shots.filter((shot) => shot.shooter === "player" && shot.hit).length, + opponentHits: shots.filter((shot) => shot.shooter === "opponent" && shot.hit).length, +}) + +describe("evolution battle artwork", () => { + test("Given battle intro When ticking Then FIGlet BATTLE banner blinks", () => { + const textLines = buildBattleIntroTextLines() + const on = renderBattleIntroArtwork(80, 1, 0) + const off = renderBattleIntroArtwork(80, 1, 1) + + expect(textLines).toHaveLength(6) + expect(textLines[0]).toContain("██████╗") + expect(on).toContain("███████╗") + expect(off).not.toContain("█") + expect(on).not.toEqual(off) + }) + + test("Given a fireball shot When rendering Then the flame uses block-style sprite art", () => { + const artwork = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "player", progress: 0.5 }), + 80, + ) + + for (const line of FIREBALL_LINES) { + for (const character of line.replaceAll(" ", "")) { + expect(artwork).toContain(character) + } + } + }) + + test("Given opponent shot When rendering Then the fireball faces the opposite direction", () => { + const playerShot = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "player", progress: 0.5 }), + 80, + ) + const opponentShot = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "opponent", progress: 0.5 }), + 80, + ) + + expect(playerShot).toContain("▄█▀▀█") + expect(opponentShot).toContain("█▀▀█▄") + expect(playerShot).not.toEqual(opponentShot) + }) + + test("Given player and opponent shots When rendering travel Then fireballs move from opposite sides", () => { + const playerStart = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "player", progress: 0 }), + 80, + ) + const playerEnd = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "player", progress: 1 }), + 80, + ) + const opponentStart = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "opponent", progress: 0 }), + 80, + ) + + expect(playerStart).not.toEqual(playerEnd) + expect(playerStart).not.toEqual(opponentStart) + expect(EVOLUTION_BATTLE_HITS_TO_WIN).toBe(3) + }) + + test("Given battle progress When rendering Then visual score pips and hit result are shown", () => { + const artwork = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ playerHits: 2, opponentHits: 1, lastResult: "hit" }), + 80, + ) + + expect(buildBattleScorePips(2)).toBe("██░") + expect(buildBattleScorePips(1)).toBe("█░░") + expect(buildBattleScoreRow(2, 1)).toContain("██░") + expect(buildBattleScoreRow(2, 1)).toContain("█░░") + expect(artwork).toContain("HIT!") + }) + + test("Given planned player victory When battle ends Then player reaches three hits first", () => { + const shots = planEvolutionBattle("player", () => 0.42) + const { playerHits, opponentHits } = countHits(shots) + + expect(playerHits).toBe(EVOLUTION_BATTLE_HITS_TO_WIN) + expect(opponentHits).toBeLessThan(EVOLUTION_BATTLE_HITS_TO_WIN) + }) + + test("Given planned opponent victory When battle ends Then opponent reaches three hits first", () => { + const shots = planEvolutionBattle("opponent", () => 0.42) + const { playerHits, opponentHits } = countHits(shots) + + expect(opponentHits).toBe(EVOLUTION_BATTLE_HITS_TO_WIN) + expect(playerHits).toBeLessThan(EVOLUTION_BATTLE_HITS_TO_WIN) + }) +}) diff --git a/packages/cursor-vpet/tests/evolution-battle-session.test.ts b/packages/cursor-vpet/tests/evolution-battle-session.test.ts new file mode 100644 index 0000000..8b43bfc --- /dev/null +++ b/packages/cursor-vpet/tests/evolution-battle-session.test.ts @@ -0,0 +1,38 @@ +import { describe, expect, test } from "bun:test" + +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { runEvolutionBattleSession } from "../src/webview/evolution-battle-session.ts" + +describe("evolution battle session", () => { + test("Given a snapshot without a pending battle When running the session Then it is a no-op", async () => { + const frames: string[] = [] + const battled = await runEvolutionBattleSession( + { + currentNodeId: "0-001", + gauge: 0, + isTerminal: false, + frozen: false, + isSetOverride: false, + trainerTotalTokens: 0, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + }, + 80, + { + frameCatalog: MONSTER_FRAME_CATALOG, + digimonCatalog: DIGIMON_CATALOG, + repository: { + getActivePartner: () => null, + resolveEvolutionBattle: () => ({ kind: "no_pending_battle" }), + }, + onArtwork: async (artwork) => { + frames.push(artwork) + }, + }, + ) + + expect(battled).toBeFalse() + expect(frames).toEqual([]) + }) +}) diff --git a/packages/cursor-vpet/tests/evolution-reveal-session.test.ts b/packages/cursor-vpet/tests/evolution-reveal-session.test.ts new file mode 100644 index 0000000..65271e8 --- /dev/null +++ b/packages/cursor-vpet/tests/evolution-reveal-session.test.ts @@ -0,0 +1,43 @@ +import { describe, expect, test } from "bun:test" + +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { runEvolutionRevealSession } from "../src/webview/evolution-reveal-session.ts" + +describe("evolution reveal session", () => { + test("Given a valid evolution transition When running the session Then it renders evolution artwork", async () => { + const frames: string[] = [] + const revealed = await runEvolutionRevealSession( + { fromNodeId: "0-001", toNodeId: "1-001" }, + 80, + { + frameCatalog: MONSTER_FRAME_CATALOG, + digimonCatalog: DIGIMON_CATALOG, + onArtwork: async (artwork) => { + frames.push(artwork) + }, + }, + ) + + expect(revealed).toBeTrue() + expect(frames.length).toBeGreaterThan(0) + }) + + test("Given an unknown node When running the session Then it is a no-op", async () => { + const frames: string[] = [] + const revealed = await runEvolutionRevealSession( + { fromNodeId: "missing", toNodeId: "1-001" }, + 80, + { + frameCatalog: MONSTER_FRAME_CATALOG, + digimonCatalog: DIGIMON_CATALOG, + onArtwork: async (artwork) => { + frames.push(artwork) + }, + }, + ) + + expect(revealed).toBeFalse() + expect(frames).toEqual([]) + }) +}) diff --git a/packages/cursor-vpet/tests/monster-animation.test.ts b/packages/cursor-vpet/tests/monster-animation.test.ts new file mode 100644 index 0000000..fca8007 --- /dev/null +++ b/packages/cursor-vpet/tests/monster-animation.test.ts @@ -0,0 +1,16 @@ +import { describe, expect, test } from "bun:test" + +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { MonsterAnimationController } from "../src/webview/monster-animation.ts" + +describe("monster animation", () => { + test("dispatches partner_changed without performance.now binding errors", () => { + const controller = new MonsterAnimationController(MONSTER_FRAME_CATALOG) + const output = controller.dispatch({ + kind: "partner_changed", + partner: { sprite: "agumon", isDigitama: false }, + }) + + expect(output.result.kind).toBe("frame") + }) +}) diff --git a/packages/cursor-vpet/tests/persistence/sqljs-vpet-repository.persistence.test.ts b/packages/cursor-vpet/tests/persistence/sqljs-vpet-repository.persistence.test.ts new file mode 100644 index 0000000..a6b0cb0 --- /dev/null +++ b/packages/cursor-vpet/tests/persistence/sqljs-vpet-repository.persistence.test.ts @@ -0,0 +1,165 @@ +import { afterEach, beforeEach, describe, expect, test } from "bun:test" +import { mkdir, mkdtemp, rm } from "node:fs/promises" +import { join } from "node:path" + +import { recordUsage } from "@sbugallo/vpet-core/application/use-cases/record-usage.ts" +import { resolveEvolutionBattleForPartner } from "@sbugallo/vpet-core/application/use-cases/resolve-evolution-battle.ts" +import { spawnPartner } from "@sbugallo/vpet-core/application/use-cases/spawn-partner.ts" +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { STAGE_GAUGE_THRESHOLDS } from "@sbugallo/vpet-core/domain/evolution.ts" +import { + createSqliteSidebarSnapshotReader, + readSidebarSnapshot, +} from "../../src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts" +import { createSqliteVpetRepository } from "../../src/adapters/sqlite/sqlite-vpet-write-store.ts" + +type TempTestRoot = { readonly root: string; readonly appDataRoot: string } + +let tempRoot: TempTestRoot | undefined + +const createTempTestRoot = async (): Promise => { + const root = await mkdtemp(join(process.cwd(), ".tmp-cursor-vpet-persistence-")) + const appDataRoot = join(root, "app-data") + await mkdir(appDataRoot, { recursive: true }) + return { root, appDataRoot } +} + +beforeEach(async () => { + tempRoot = await createTempTestRoot() +}) + +afterEach(async () => { + if (tempRoot === undefined) return + await rm(tempRoot.root, { recursive: true, force: true }) + tempRoot = undefined +}) + +describe("sql.js vpet repository persistence", () => { + test("Given usage applied through the write store When reading through the snapshot reader Then it returns fresh gauge", async () => { + if (tempRoot === undefined) throw new Error("Missing temp root.") + + const repository = await createSqliteVpetRepository({ appDataRoot: tempRoot.appDataRoot }) + const reader = await createSqliteSidebarSnapshotReader({ appDataRoot: tempRoot.appDataRoot }) + try { + spawnPartner(repository, "2026-09-09T12:00:00.000Z") + expect(reader.getSidebarSnapshot()?.gauge).toBe(0) + + recordUsage({ + usage: { + receiptKey: "receipt-1", + eventId: "event-1", + tokenDelta: 42, + cost: null, + createdAt: "2026-09-09T12:01:00.000Z", + }, + ledger: repository, + digimonById: DIGIMON_CATALOG.byId, + catalogNodes: DIGIMON_CATALOG.nodes, + selector: () => 0, + thresholds: STAGE_GAUGE_THRESHOLDS, + }) + + expect(reader.getSidebarSnapshot()?.gauge).toBe(42) + } finally { + repository.close() + } + }) + + test("Given a stale in-memory repository When another instance spawns Then usage applies to the new partner", async () => { + if (tempRoot === undefined) throw new Error("Missing temp root.") + + const writer = await createSqliteVpetRepository({ appDataRoot: tempRoot.appDataRoot }) + const staleReader = await createSqliteVpetRepository({ appDataRoot: tempRoot.appDataRoot }) + const snapshotReader = await createSqliteSidebarSnapshotReader({ appDataRoot: tempRoot.appDataRoot }) + try { + spawnPartner(writer, "2026-09-09T12:00:00.000Z") + spawnPartner(writer, "2026-09-09T12:01:00.000Z") + + recordUsage({ + usage: { + receiptKey: "receipt-cross-window", + eventId: "event-cross-window", + tokenDelta: 7, + cost: null, + createdAt: "2026-09-09T12:02:00.000Z", + }, + ledger: staleReader, + digimonById: DIGIMON_CATALOG.byId, + catalogNodes: DIGIMON_CATALOG.nodes, + selector: () => 0, + thresholds: STAGE_GAUGE_THRESHOLDS, + }) + + expect(staleReader.getActivePartner()?.generation).toBe(2) + expect(snapshotReader.getSidebarSnapshot()?.gauge).toBe(7) + } finally { + writer.close() + staleReader.close() + } + }) + + test("Given a resolved evolution battle When reading through the repository snapshot Then pending battle fields are cleared", async () => { + if (tempRoot === undefined) throw new Error("Missing temp root.") + + const battleThresholds = Object.freeze({ ...STAGE_GAUGE_THRESHOLDS, 0: 1, 1: 1 }) + const repository = await createSqliteVpetRepository({ appDataRoot: tempRoot.appDataRoot }) + try { + spawnPartner(repository, "2026-09-09T12:00:00.000Z") + recordUsage({ + usage: { + receiptKey: "receipt-hatch", + eventId: "event-hatch", + tokenDelta: 1, + cost: null, + createdAt: "2026-09-09T12:01:00.000Z", + }, + ledger: repository, + digimonById: DIGIMON_CATALOG.byId, + catalogNodes: DIGIMON_CATALOG.nodes, + selector: () => 0, + thresholds: battleThresholds, + }) + recordUsage({ + usage: { + receiptKey: "receipt-threshold", + eventId: "event-threshold", + tokenDelta: 1, + cost: null, + createdAt: "2026-09-09T12:01:30.000Z", + }, + ledger: repository, + digimonById: DIGIMON_CATALOG.byId, + catalogNodes: DIGIMON_CATALOG.nodes, + selector: () => 0, + thresholds: battleThresholds, + }) + + const pending = repository.getSidebarSnapshot() + expect(pending?.pendingEvolutionTargetId).not.toBeNull() + expect(pending?.battleOpponentNodeId).not.toBeNull() + + resolveEvolutionBattleForPartner(repository, true, DIGIMON_CATALOG.byId, "2026-09-09T12:02:00.000Z") + + const resolved = repository.getSidebarSnapshot() + expect(resolved?.pendingEvolutionTargetId).toBeNull() + expect(resolved?.battleOpponentNodeId).toBeNull() + expect(resolved?.currentNodeId).not.toBe("0-001") + } finally { + repository.close() + } + }) + + test("Given a spawned partner When reading the sidebar snapshot Then it returns the active partner", async () => { + if (tempRoot === undefined) throw new Error("Missing temp root.") + + const repository = await createSqliteVpetRepository({ appDataRoot: tempRoot.appDataRoot }) + try { + spawnPartner(repository, "2026-09-09T12:00:00.000Z") + const snapshot = await readSidebarSnapshot({ appDataRoot: tempRoot.appDataRoot }) + expect(snapshot?.currentNodeId).toBe("0-001") + expect(snapshot?.frozen).toBe(false) + } finally { + repository.close() + } + }) +}) diff --git a/packages/cursor-vpet/tests/sidebar-render.test.ts b/packages/cursor-vpet/tests/sidebar-render.test.ts new file mode 100644 index 0000000..c304592 --- /dev/null +++ b/packages/cursor-vpet/tests/sidebar-render.test.ts @@ -0,0 +1,71 @@ +import { describe, expect, test } from "bun:test" + +import { + buildGaugeLine, + buildNextCheckLine, + pixelWidthToArtworkColumns, + toSidebarWebviewPayload, +} from "../src/webview/sidebar-render.ts" + +describe("sidebar render", () => { + test("converts pixel width to monospace artwork columns", () => { + expect(pixelWidthToArtworkColumns(250, 7.5)).toBe(33) + expect(pixelWidthToArtworkColumns(120, 7.5)).toBe(16) + expect(pixelWidthToArtworkColumns(10, 7.5)).toBe(16) + }) + + test("builds next check bar for partner progress", () => { + const line = buildNextCheckLine({ + kind: "partner", + name: "Agumon", + sprite: "agumon", + stage: "Rookie", + stageNumber: 3, + url: "https://example.com", + gauge: 50, + threshold: 100, + isTerminal: false, + frozen: false, + isSetOverride: false, + }) + + expect(line).toBe("Next check: [██████████░░░░░░░░░░]") + }) + + test("maps partner model to sidebar payload without artwork", () => { + const payload = toSidebarWebviewPayload({ + kind: "partner", + name: "Agumon", + sprite: "agumon", + stage: "Rookie", + stageNumber: 3, + url: "https://example.com/agumon", + gauge: 10, + threshold: 100, + isTerminal: false, + frozen: false, + isSetOverride: false, + }) + + expect(payload.kind).toBe("partner") + if (payload.kind !== "partner") return + expect(payload.name).toBe("Agumon") + expect(payload.stage).toBe("Rookie") + expect("artwork" in payload).toBe(false) + expect( + buildGaugeLine({ + kind: "partner", + name: "Agumon", + sprite: "agumon", + stage: "Rookie", + stageNumber: 3, + url: "https://example.com/agumon", + gauge: 10, + threshold: 100, + isTerminal: false, + frozen: false, + isSetOverride: false, + }), + ).toBe("10/100") + }) +}) diff --git a/packages/cursor-vpet/tsconfig.json b/packages/cursor-vpet/tsconfig.json new file mode 100644 index 0000000..c70bb19 --- /dev/null +++ b/packages/cursor-vpet/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "strict": true, + "noUncheckedIndexedAccess": true, + "exactOptionalPropertyTypes": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "target": "ESNext", + "lib": ["ESNext"], + "types": ["node", "vscode"], + "outDir": "dist", + "rootDir": "src", + "noEmit": true, + "skipLibCheck": true + }, + "include": ["src", "src/types"] +} diff --git a/packages/cursor-vpet/tsconfig.scripts.json b/packages/cursor-vpet/tsconfig.scripts.json new file mode 100644 index 0000000..b36d54c --- /dev/null +++ b/packages/cursor-vpet/tsconfig.scripts.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "strict": true, + "noUncheckedIndexedAccess": true, + "exactOptionalPropertyTypes": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "isolatedModules": true, + "target": "ESNext", + "lib": ["ESNext"], + "types": ["bun", "node"], + "noEmit": true, + "rootDir": "scripts", + "skipLibCheck": true + }, + "include": ["scripts/**/*.ts"] +} diff --git a/packages/opencode-vpet/LICENSE b/packages/opencode-vpet/LICENSE new file mode 100644 index 0000000..3d6428f --- /dev/null +++ b/packages/opencode-vpet/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or Object + form, made available under the License, as indicated by a copyright + notice that is included in or attached to the work (an example is + provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2026 Sergio Bugallo Enjamio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/opencode-vpet/README.md b/packages/opencode-vpet/README.md new file mode 100644 index 0000000..8113e7f --- /dev/null +++ b/packages/opencode-vpet/README.md @@ -0,0 +1,832 @@ +
+ OpenCode VPet logo +

opencode-vpet

+

+ A Digimon virtual pet for OpenCode that evolves with usage. +

+

+ About | + Evolution | + Quick start | + Commands | + Settings | + Storage | + Partner list | + License | + Attributions + +

+
+ +--- + +## About + +
+ OpenCode VPet Overview +
+ +`@sbugallo/opencode-vpet` is an OpenCode v1 plugin that adds a Digimon virtual pet to your OpenCode TUI +sidebar. Your Digimon evolves as you use OpenCode, and you can browse your discoveries and +partner history. + +The plugin support multiple concurrent sessions, so every token counts to evolve your partner. + +There are more than 600 Digimon to discover, and the plugin is designed to be extensible so that new Digimon can be added in future releases. + +## Evolution + +Your active partner gains experience from the tokens reported for completed assistant +messages in OpenCode. This includes input, output, reasoning, and cache tokens. +Progress is shared across concurrent OpenCode sessions, so completed work in each +session contributes to the same partner. + +Each stage has a configurable experience threshold. When your partner reaches the +threshold for its current stage, it evolves and its experience gauge resets for the +next stage. Use `/vpet-freeze` to pause partner progression; usage while frozen is +not applied to your partner. + +The bundled evolution lines were extracted from the original V-Pets. When a Digimon +reaches an evolution threshold, the plugin randomly chooses one of the evolution +options in that Digimon's line. + +## Quick start + +Requirements: +- OpenCode `>=1.18.10` +- Node `>=20` to run `npx` +- Bun `>=1.3.5` only for local development + + +1. Install both plugins: + + ```sh + npx @sbugallo/opencode-vpet init + ``` + + The CLI delegates to `opencode plugin @sbugallo/opencode-vpet@ --global --force`. + It uses the package's installed exact version so OpenCode uses a version-specific cache key rather + than reusing a stale bare or `@latest` cache entry. `--force` replaces matching plugin + configuration registrations. + +2. Restart OpenCode when the command finishes. + +3. In OpenCode, run `/vpet-spawn` to hatch a partner. + +After that, use `/vpet-dex` to browse discoveries and `/vpet-history` to browse current and retired generations. + +--- + +## Commands + +| Command | Description | +| --- | --- | +| `/vpet-spawn` | Spawns a new egg. | +| `/vpet-freeze` | Pauses partner progression. | +| `/vpet-unfreeze` | Resumes partner progression. | +| `/vpet-set ` | Overrides the partner with the specified catalog ID. | +| `/vpet-dex` | Opens the partner Dex. | +| `/vpet-history` | Opens the partner History. | + +> [!NOTE] +> Using `/vpet-set` does not count for dex completion. + +## Update + +To update the plugin, run: + +```sh +npx @sbugallo/opencode-vpet update +``` + +Like `init`, `update` delegates to OpenCode's native global plugin installer with the installed exact +package version. If a legacy unscoped `opencode-vpet` registration is present, remove it manually. + +## Settings + +Settings are stored in `opencode-vpet.json` and control naming, notifications, and evolution +thresholds. + +The location of the settings file depends on your operating system: + +- Linux, WSL, and macOS: `~/.config/opencode-vpet.json` +- Windows: `%APPDATA%\opencode-vpet.json`, or `%USERPROFILE%\AppData\Roaming\opencode-vpet.json` + when `APPDATA` isn't set. + + +Available settings are: + +| Setting | Description | +| --- | --- | +| `notifications` | Enables or disables notifications. | +| `language` | Sets the naming convention. Valid values are `jp` (Japanese, e.g., Omegamon, Child, Adult...) and `en` (English, e.g., Omnimon, Rookie, Champion...). | +| `stageThresholds` | Defines the experience thresholds for each evolution stage. | + +Default values are: + +```json +{ + "notifications": true, + "language": "jp", + "stageThresholds": { + "egg": 5000000, + "babyI": 10000000, + "babyII": 20000000, + "child": 40000000, + "adult": 75000000, + "perfect": 125000000, + "ultimate": 200000000, + "superUltimate": 300000000 + } +} +``` + +## Storage + +To persist your partner, history, and control state, VPet uses a SQLite database named `pet.db`. The location of the database depends on your operating system: + +- Linux, WSL: `~/.local/share/opencode-vpet/pet.db` +- macOS: `~/Library/Application Support/opencode-vpet/pet.db` +- Windows: `%APPDATA%\opencode-vpet\pet.db`, or `%USERPROFILE%\AppData\Roaming\opencode-vpet\pet.db` + when `APPDATA` isn't set. + +--- + +## Partner list + +| ID | Japanese name | English name | +| --- | --- | --- | +| 0-001 | Digitama | Digiegg | +| 1-001 | Algomon | Argomon | +| 1-002 | Botamon | Botamon | +| 1-003 | Chicomon | Chibomon | +| 1-004 | Choromon | Choromon | +| 1-005 | Cocomon | Conomon | +| 1-006 | Cotsucomon | Cotsucomon | +| 1-007 | Dodomon | Dodomon | +| 1-008 | Fufumon | Fufumon | +| 1-009 | Kiimon | Keemon | +| 1-010 | Ketomon | Ketomon | +| 1-011 | Kuramon | Kuramon | +| 1-012 | Mokumon | Mokumon | +| 1-013 | Nyokimon | Nyokimon | +| 1-014 | Bubbmon | Pabumon | +| 1-015 | Petitmon | Petitmon | +| 1-016 | Pitchmon | Pichimon | +| 1-017 | Poyomon | Poyomon | +| 1-018 | Punimon | Punimon | +| 1-019 | Pururumon | Pururumon | +| 1-020 | Puttimon | Puttimon | +| 1-021 | Sakumon | Sakumon | +| 1-022 | Tsubumon | Tsubumon | +| 1-023 | Yukimibotamon | YukimiBotamon | +| 1-024 | Yuramon | Yuramon | +| 1-025 | Zerimon | Zerimon | +| 1-026 | Zurumon | Zurumon | +| 1-027 | Chibickmon | Chibickmon | +| 1-028 | Dokimon | Dokimon | +| 1-029 | Jyarimon | Jyarimon | +| 1-030 | Relemon | Relemon | +| 1-031 | Sunamon | Sandmon | +| 2-001 | Algomon | Argomon | +| 2-002 | Babydmon | Bebydomon | +| 2-003 | Budmon | Budmon | +| 2-004 | Pukamon | Bukamon | +| 2-005 | PetiMeramon | DemiMeramon | +| 2-006 | Chibimon | DemiVeemon | +| 2-007 | Dorimon | Dorimon | +| 2-008 | Gummymon | Gummymon | +| 2-009 | Hopmon | Hopmon | +| 2-010 | Kakkinmon | Kakkinmon | +| 2-011 | Capromon | Kapurimon | +| 2-012 | Chocomon | Kokomon | +| 2-013 | Koromon | Koromon | +| 2-014 | Kyokyomon | Kyokyomon | +| 2-015 | Mochimon | Motimon | +| 2-016 | Nyaromon | Nyaromon | +| 2-017 | Pagumon | Pagumon | +| 2-018 | Poromon | Poromon | +| 2-019 | Sakuttomon | Sakuttomon | +| 2-020 | Tanemon | Tanemon | +| 2-021 | Tokomon | Tokomon | +| 2-022 | Tokomon X | Tokomon X | +| 2-023 | Tsumemon | Tsumemon | +| 2-024 | Tunomon | Tsunomon | +| 2-025 | Upamon | Upamon | +| 2-026 | Wanyamon | Wanyamon | +| 2-027 | Yarmon | Yaamon | +| 2-028 | Pyocomon | Yokomon | +| 2-029 | Bibimon | Bibimon | +| 2-030 | Gigimon | Gigimon | +| 2-031 | Goromon | Tumblemon | +| 2-032 | Hiyarimon | Hiyarimon | +| 2-033 | Minomon | Minomon | +| 2-034 | Moonmon | Moonmon | +| 2-035 | Pickmon | Pickmon | +| 2-036 | Pokomon | Viximon | +| 2-037 | Sunmon | Sunmon | +| 3-001 | Agumon | Agumon | +| 3-002 | Agumon (Black) X | Agumon (Black) X | +| 3-003 | Agumon Hakase | Agumon Expert | +| 3-004 | Agumon X | Agumon X | +| 3-005 | Algomon | Argomon | +| 3-006 | Armadimon | Armadillomon | +| 3-007 | Betamon | Betamon | +| 3-008 | Piyomon | Biyomon | +| 3-009 | Blucomon | Bulucomon | +| 3-010 | BushiAgumon | BushiAgumon | +| 3-011 | Candmon | Candlemon | +| 3-012 | Coronamon | Coronamon | +| 3-013 | Ganimon | Crabmon | +| 3-014 | PicoDevimon | DemiDevimon | +| 3-015 | DORUmon | Dorumon | +| 3-016 | Dracomon | Dracomon | +| 3-017 | Dracomon X | Dracomon X | +| 3-018 | Duskmon | Duskmon | +| 3-019 | Elecmon | Elecmon | +| 3-020 | Falcomon | Falcomon | +| 3-021 | Floramon | Floramon | +| 3-022 | Gabumon | Gabumon | +| 3-023 | Gabumon X | Gabumon X | +| 3-024 | Gaomon | Gaomon | +| 3-025 | Tailmon | Gatomon | +| 3-026 | Gazimon | Gazimon | +| 3-027 | Ghostmon | Ghostmon | +| 3-028 | Gizamon | Gizamon | +| 3-029 | Gomamon | Gomamon | +| 3-030 | Gomamon X | Gomamon X | +| 3-031 | Gottsumon | Gotsumon | +| 3-032 | Guilmon | Guilmon | +| 3-033 | Hagurumon | Hagurumon | +| 3-034 | Hawkmon | Hawkmon | +| 3-035 | Herissmon | Herissmon | +| 3-036 | Hackmon | Huckmon | +| 3-037 | Impmon | Impmon | +| 3-038 | Impmon X | Impmon X | +| 3-039 | Jazamon | Jazamon | +| 3-040 | Junkmon | Junkmon | +| 3-041 | Keramon X | Keramon X | +| 3-042 | Kokuwamon | Kokuwamon | +| 3-043 | Kokuwamon X | Kokuwamon X | +| 3-044 | Kunemon | Kunemon | +| 3-045 | Labramon | Labramon | +| 3-046 | Lalamon | Lalamon | +| 3-047 | Lopmon | Lopmon | +| 3-048 | Lopmon X | Lopmon X | +| 3-049 | Ludomon | Ludomon | +| 3-050 | Lunamon | Lunamon | +| 3-051 | Monodramon | Monodramon | +| 3-052 | Morphomon | Morphomon | +| 3-053 | Mushmon | Mushroomon | +| 3-054 | Otamamon | Otamamon | +| 3-055 | Otamamon X | Otamamon X | +| 3-056 | Palmon | Palmon | +| 3-057 | Palmon X | Palmon X | +| 3-058 | Patamon | Patamon | +| 3-059 | Phascomon | Phascomon | +| 3-060 | Pomumon | Pomumon | +| 3-061 | Renamon X | Renamon X | +| 3-062 | Ryudamon | Ryudamon | +| 3-063 | Plotmon | Salamon | +| 3-064 | Plotmon X | Salamon X | +| 3-065 | Sangomon | Sangomon | +| 3-066 | Shoutmon | Shoutmon | +| 3-067 | Sistermon Blanc | Sistermon Blanc | +| 3-068 | Sunarizamon | Sunarizamon | +| 3-069 | Swimmon | Swimmon | +| 3-070 | Shakomon | Syakomon | +| 3-071 | Shakomon X | Syakomon X | +| 3-072 | Bakumon | Tapirmon | +| 3-073 | Tentomon | Tentomon | +| 3-074 | Terriermon | Terriermon | +| 3-075 | Terriermon X | Terriermon X | +| 3-076 | Tinkermon | Tinkermon | +| 3-077 | ToyAgumon | ToyAgumon | +| 3-078 | V-mon | Veemon | +| 3-079 | Vorvomon | Vorvomon | +| 3-080 | Wormmon | Wormmon | +| 3-081 | Zubamon | Zubamon | +| 3-082 | Agumon (Black) | Agumon (Black) | +| 3-083 | Dracumon | Dracmon | +| 3-084 | Pulsemon | Pulsemon | +| 3-085 | Renamon | Renamon | +| 4-001 | Agnimon | Agunimon | +| 4-002 | Airdramon | Airdramon | +| 4-003 | Allomon X | Allomon X | +| 4-004 | Angemon | Angemon | +| 4-005 | Ankylomon | Ankylomon | +| 4-006 | Hanumon | Apemon | +| 4-007 | Aquilamon | Aquilamon | +| 4-008 | Algomon | Argomon | +| 4-009 | Arresterdramon | Arresterdramon | +| 4-010 | Baboongamon | Baboongamon | +| 4-011 | Bakemon | Bakemon | +| 4-012 | Baluchimon | Baluchimon | +| 4-013 | BaoHuckmon | BaoHuckmon | +| 4-014 | Birdramon | Birdramon | +| 4-015 | Centalmon | Centarumon | +| 4-016 | Clockmon | Clockmon | +| 4-017 | Coelamon | Coelamon | +| 4-018 | Coredramon (Blue) | Coredramon (Blue) | +| 4-019 | Coredramon (Green) | Coredramon (Green) | +| 4-020 | Cyclomon | Cyclonemon | +| 4-021 | Damemon | Damemon | +| 4-022 | Darcmon | Darcmon | +| 4-023 | DarkTyranomon | DarkTyrannomon | +| 4-024 | DarkTyranomon X | DarkTyrannomon X | +| 4-025 | Deltamon | Deltamon | +| 4-026 | Revolmon | Deputymon | +| 4-027 | Devidramon | Devidramon | +| 4-028 | Devimon | Devimon | +| 4-029 | Diatrymon | Diatrymon | +| 4-030 | Dobermon | Dobermon | +| 4-031 | Dokugumon | Dokugumon | +| 4-032 | Rukamon | Dolphmon | +| 4-033 | DORUgamon | Dorugamon | +| 4-034 | Drimogemon | Drimogemon | +| 4-035 | Duskmon | Duskmon | +| 4-036 | Ebidramon | Ebidramon | +| 4-037 | Eosmon | Eosmon | +| 4-038 | XV-mon | ExVeemon | +| 4-039 | Filmon | Filmon | +| 4-040 | Firamon | Firamon | +| 4-041 | FlareLizamon | Flarerizamon | +| 4-042 | Flymon | Flymon | +| 4-043 | Yukidarumon | Frigimon | +| 4-044 | Gaogamon | Gaogamon | +| 4-045 | Galgomon | Gargomon | +| 4-046 | Garurumon | Garurumon | +| 4-047 | Tailmon | Gatomon | +| 4-048 | Tailmon X | Gatomon X | +| 4-049 | Gekomon | Gekomon | +| 4-050 | GeoGreymon | GeoGreymon | +| 4-051 | Gesomon | Gesomon | +| 4-052 | Ginryumon | Ginryumon | +| 4-053 | Golemon | Golemon | +| 4-054 | Greymon | Greymon | +| 4-055 | Growmon | Growlmon | +| 4-056 | Growmon X | Growlmon X | +| 4-057 | Guardromon | Guardromon | +| 4-058 | Hookmon | Hookmon | +| 4-059 | Hudiemon | Hudiemon | +| 4-060 | Ikkakumon | Ikkakumon | +| 4-061 | Jazardmon | Jazardmon | +| 4-062 | Kabuterimon | Kabuterimon | +| 4-063 | Kiwimon | Kiwimon | +| 4-064 | Cockatrimon | Kokatorimon | +| 4-065 | Komondomon | Komondomon | +| 4-066 | Kuwagamon | Kuwagamon | +| 4-067 | Kuwagamon X | Kuwagamon X | +| 4-068 | Lavorvomon | Lavorvomon | +| 4-069 | Lekismon | Lekismon | +| 4-070 | Leomon | Leomon | +| 4-071 | Leomon X | Leomon X | +| 4-072 | Wolfmon | Lobomon | +| 4-073 | Machmon | Machmon | +| 4-074 | MadLeomon | MadLeomon | +| 4-075 | Manbomon | Manbomon | +| 4-076 | Mantaraymon X | Mantaraymon X | +| 4-077 | Meicoomon | Meicoomon | +| 4-078 | Mechanorimon | Mekanorimon | +| 4-079 | Meramon | Meramon | +| 4-080 | Meramon X | Meramon X | +| 4-081 | Mimicmon | Mimicmon | +| 4-082 | Minotaurmon | Minotarumon | +| 4-083 | Mojyamon | Mojyamon | +| 4-084 | Monochromon | Monochromon | +| 4-085 | Nanimon | Nanimon | +| 4-086 | Nefertimon X | Nefertimon X | +| 4-087 | Igamon | Ninjamon | +| 4-088 | Numemon | Numemon | +| 4-089 | Numemon X | Numemon X | +| 4-090 | Octmon | Octomon | +| 4-091 | Orgemon | Ogremon | +| 4-092 | Orgemon X | Ogremon X | +| 4-093 | Omekamon | Omekamon | +| 4-094 | Paledramon | Paledramon | +| 4-095 | Parasaurmon | Parasaurmon | +| 4-096 | Peckmon | Peckmon | +| 4-097 | Pegasmon X | Pegasusmon X | +| 4-098 | Petermon | Petermon | +| 4-099 | Porcupamon | Porcupamon | +| 4-100 | Pteranomon X | Pteramon X | +| 4-101 | Raremon | Raremon | +| 4-102 | RedVegimon | RedVegiemon | +| 4-103 | Reppamon | Reppamon | +| 4-104 | Rhinomon X | Rhinomon X | +| 4-105 | Gokimon | Roachmon | +| 4-106 | Sangloupmon | Sangloupmon | +| 4-107 | Seadramon | Seadramon | +| 4-108 | Seadramon X | Seadramon X | +| 4-109 | Siesamon X | Seasarmon X | +| 4-110 | Shadramon | Shadramon | +| 4-111 | Shellmon | Shellmon | +| 4-112 | KaratukiNumemon | ShellNumemon | +| 4-113 | Shoutmon X3 | Shoutmon X3 | +| 4-114 | Sistermon Ciel | Sistermon Ciel | +| 4-115 | Starmon | Starmon | +| 4-116 | Stingmon | Stingmon | +| 4-117 | Strikedramon | Strikedramon | +| 4-118 | Submarimon | Submarimon | +| 4-119 | Scumon | Sukamon | +| 4-120 | Sunflowmon | Sunflowmon | +| 4-121 | Tankmon | Tankmon | +| 4-122 | Targetmon | Targetmon | +| 4-123 | Thunderballmon | Thundermon | +| 4-124 | TiaLudomon | TiaLudomon | +| 4-125 | Tobiumon | Tobiumon | +| 4-126 | Tobucatmon | TobuCatmon | +| 4-127 | Togemon | Togemon | +| 4-128 | Togemon X | Togemon X | +| 4-129 | Tortamon | Tortomon | +| 4-130 | Troopmon | Troopmon | +| 4-131 | Turuiemon | Turuiemon | +| 4-132 | Tuskmon | Tuskmon | +| 4-133 | Tylomon | Tylomon | +| 4-134 | Tylomon X | Tylomon X | +| 4-135 | Tyranomon | Tyrannomon | +| 4-136 | Tyranomon X | Tyrannomon X | +| 4-137 | Unimon | Unimon | +| 4-138 | V-dramon | Veedramon | +| 4-139 | Vegimon | Vegiemon | +| 4-140 | Velgrmon | Velgrmon | +| 4-141 | Whamon | Whamon | +| 4-142 | Witchmon | Witchmon | +| 4-143 | Wizarmon | Wizardmon | +| 4-144 | Wizarmon X | Wizardmon X | +| 4-145 | Woodmon | Woodmon | +| 4-146 | Zubaeagermon | ZubaEagermon | +| 4-147 | Bulkmon | Bulkmon | +| 4-148 | Fugamon | Fugamon | +| 4-149 | Hyougamon | Hyogamon | +| 4-150 | Pidmon | Piddomon | +| 4-151 | Rhinomon | Rhinomon | +| 4-152 | Saberdramon | Saberdramon | +| 5-001 | AeroV-dramon | AeroVeedramon | +| 5-002 | Aldamon | Aldamon | +| 5-003 | Andromon | Andromon | +| 5-004 | Angewomon | Angewomon | +| 5-005 | Angewomon X | Angewomon X | +| 5-006 | Andiramon | Antylamon | +| 5-007 | Algomon | Argomon | +| 5-008 | Archnemon | Arukenimon | +| 5-009 | Astamon | Astamon | +| 5-010 | Asuramon | Asuramon | +| 5-011 | Baalmon | Baalmon | +| 5-012 | Beowolfmon | Beowolfmon | +| 5-013 | BigMamemon | BigMamemon | +| 5-014 | Blossomon | Blossomon | +| 5-015 | Valvemon | Bulbmon | +| 5-016 | Vritramon | BurningGreymon | +| 5-017 | CannonBeemon | CannonBeemon | +| 5-018 | Cerberumon | Cerberusmon | +| 5-019 | Cerberumon X | Cerberusmon X | +| 5-020 | Jyureimon | Cherrymon | +| 5-021 | Cho-Hakkaimon | Cho-Hakkaimon | +| 5-022 | Crescemon | Crescemon | +| 5-023 | Yatagaramon | Crowmon | +| 5-024 | CrysPaledramon | CrysPaledramon | +| 5-025 | Cyberdramon | Cyberdramon | +| 5-026 | Cyberdramon X | Cyberdramon X | +| 5-027 | DarkKnightmon | DarkKnightmon | +| 5-028 | Nanomon | Datamon | +| 5-029 | Delumon | Deramon | +| 5-030 | Digitamamon | Digitamamon | +| 5-031 | Dinobeemon | Dinobeemon | +| 5-032 | Hangyomon | Divermon | +| 5-033 | NeoDevimon | DoneDevimon | +| 5-034 | DORUguremon | DoruGreymon | +| 5-035 | Dagomon | Dragomon | +| 5-036 | Duramon | Duramon | +| 5-037 | Entmon | Entmon | +| 5-038 | Eosmon | Eosmon | +| 5-039 | Etemon | Etemon | +| 5-040 | Ex-Tyranomon | ExTyrannomon | +| 5-041 | Flaremon | Flaremon | +| 5-042 | Gerbemon | Garbagemon | +| 5-043 | Garudamon | Garudamon | +| 5-044 | Garudamon X | Garudamon X | +| 5-045 | Giromon | Giromon | +| 5-046 | Gogmamon | Gogmamon | +| 5-047 | Grademon | Grademon | +| 5-048 | Groundramon | Groundramon | +| 5-049 | Gusokumon | Gusokumon | +| 5-050 | Hippogriffomon | HippoGryphonmon | +| 5-051 | Hisyaryumon | Hisyaryumon | +| 5-052 | Jyagamon | Jagamon | +| 5-053 | KaiserLeomon | JagerLoweemon | +| 5-054 | Jazarichmon | Jazarichmon | +| 5-055 | Jewelbeemon | JewelBeemon | +| 5-056 | Garummon | KendoGarurumon | +| 5-057 | Chimairamon | Kimeramon | +| 5-058 | Knightmon | Knightmon | +| 5-059 | LadyDevimon | LadyDevimon | +| 5-060 | LadyDevimon X | LadyDevimon X | +| 5-061 | Lavogaritamon | Lavogaritamon | +| 5-062 | Lilamon | Lilamon | +| 5-063 | Lilimon | Lillymon | +| 5-064 | Lilimon X | Lillymon X | +| 5-065 | LoaderLeomon | LoaderLeomon | +| 5-066 | Locomon | Locomon | +| 5-067 | Lucemon: Falldown Mode | Lucemon: Chaos Mode | +| 5-068 | MachGaogamon | MachGaogamon | +| 5-069 | HolyAngemon | MagnaAngemon | +| 5-070 | Mamemon | Mamemon | +| 5-071 | Mamemon X | Mamemon X | +| 5-072 | Mametyramon | Mametyramon | +| 5-073 | Mammon | Mammothmon | +| 5-074 | Mammon X | Mammothmon X | +| 5-075 | Manticoremon | Manticoremon | +| 5-076 | MarinChimairamon | MarineChimairamon | +| 5-077 | MarinDevimon | MarineDevimon | +| 5-078 | Meicrackmon | Maycrackmon | +| 5-079 | Meicrackmon: Vicious Mode | Maycrackmon: Vicious Mode | +| 5-080 | Megadramon | Megadramon | +| 5-081 | AtlurKabuterimon | MegaKabuterimon (Red) | +| 5-082 | MegaSeadramon | MegaSeadramon | +| 5-083 | MegaSeadramon X | MegaSeadramon X | +| 5-084 | Mephismon X | Mephistomon X | +| 5-085 | Mermaimon | Mermaimon | +| 5-086 | MetalGreymon | MetalGreymon | +| 5-087 | MetalGreymon (Vaccine) | MetalGreymon (Vaccine) | +| 5-088 | MetalGreymon (Virus) | MetalGreymon (Virus) | +| 5-089 | MetalGreymon (Virus) X | MetalGreymon (Virus) X | +| 5-090 | MetalGreymon X | MetalGreymon X | +| 5-091 | MetalMamemon | MetalMamemon | +| 5-092 | MetalFantomon | MetalPhantomon | +| 5-093 | MetalTyranomon | MetalTyrannomon | +| 5-094 | MetalTyranomon X | MetalTyrannomon X | +| 5-095 | Monzaemon | Monzaemon | +| 5-096 | Monzaemon X | Monzaemon X | +| 5-097 | Mummymon | Mummymon | +| 5-098 | Vamdemon | Myotismon | +| 5-099 | Vamdemon X | Myotismon X | +| 5-100 | NeoDevimon | NeoDevimon | +| 5-101 | Okuwamon | Okuwamon | +| 5-102 | Okuwamon X | Okuwamon X | +| 5-103 | OmegaShoutmon X | OmniShoutmon X | +| 5-104 | Orochimon | Orochimon | +| 5-105 | Paildramon | Paildramon | +| 5-106 | Parrotmon | Parrotmon | +| 5-107 | Fantomon | Phantomon | +| 5-108 | Piranimon | Piranimon | +| 5-109 | Piccolomon | Piximon | +| 5-110 | Pumpmon | Pumpkinmon | +| 5-111 | RaijiLudomon | RaijiLudomon | +| 5-112 | Rapidmon | Rapidmon | +| 5-113 | Rebellimon | Rebellimon | +| 5-114 | Raihimon | Rhihimon | +| 5-115 | RizeGreymon | RizeGreymon | +| 5-116 | RizeGreymon X | RizeGreymon X | +| 5-117 | SaviorHackmon | SaviorHuckmon | +| 5-118 | Anomalocarimon | Scorpiomon | +| 5-119 | Anomalocarimon X | Scorpiomon X | +| 5-120 | Shakkoumon | Shakkoumon | +| 5-121 | TonosamaGekomon | ShogunGekomon | +| 5-122 | Shoutmon X5 | Shoutmon X5 | +| 5-123 | Silphymon | Silphymon | +| 5-124 | Sirenmon | Sirenmon | +| 5-125 | SkullBaluchimon | SkullBaluchimon | +| 5-126 | SkullGreymon | SkullGreymon | +| 5-127 | DeathMeramon | SkullMeramon | +| 5-128 | Stiffilmon | Stefilmon | +| 5-129 | Tekkamon | Tekkamon | +| 5-130 | Toropiamon | Toropiamon | +| 5-131 | Triceramon | Triceramon | +| 5-132 | Triceramon X | Triceramon X | +| 5-133 | Vademon | Vademon | +| 5-134 | Velgrmon | Velgrmon | +| 5-135 | MegaloGrowmon | WarGrowlmon | +| 5-136 | MegaloGrowmon X | WarGrowlmon X | +| 5-137 | WaruMonzaemon | WaruMonzaemon | +| 5-138 | WaruSeadramon | WaruSeadramon | +| 5-139 | WereGarurumon | WereGarurumon | +| 5-140 | WereGarurumon X | WereGarurumon X | +| 5-141 | Whamon | Whamon | +| 5-142 | Wingdramon | Wingdramon | +| 5-143 | Zudomon | Zudomon | +| 5-144 | Boutmon | Boutmon | +| 5-145 | DarkSuperStarmon | DarkSuperStarmon | +| 5-146 | DORUguremon | Doruguremon | +| 5-147 | Pandamon | Pandamon | +| 5-148 | Scorpiomon | SkullScorpiomon | +| 5-149 | SuperStarmon | SuperStarmon | +| 6-001 | Aegisdramon | Aegisdramon | +| 6-002 | Alphamon | Alphamon | +| 6-003 | AncientBeatmon | AncientBeetlemon | +| 6-004 | AncientGarurumon | AncientGarurumon | +| 6-005 | AncientGreymon | AncientGreymon | +| 6-006 | AncientIrismon | AncientKazemon | +| 6-007 | AncientMegatheriumon | AncientMegatheriummon | +| 6-008 | AncientMermaimon | AncientMermaimon | +| 6-009 | AncientSphinxmon | AncientSphinxmon | +| 6-010 | AncientTroiamon | AncientTroymon | +| 6-011 | AncientVolcamon | AncientVolcanomon | +| 6-012 | AncientWisemon | AncientWisemon | +| 6-013 | Anubimon | Anubismon | +| 6-014 | Apoclymon | Apocalymon | +| 6-015 | Apollomon | Apollomon | +| 6-016 | Algomon | Argomon | +| 6-017 | Armagemon | Armageddemon | +| 6-018 | Qinglongmon | Azulongmon | +| 6-019 | Bagramon | Bagramon | +| 6-020 | Baihumon | Baihumon | +| 6-021 | BanchoLeomon | BanchoLeomon | +| 6-022 | BanchoMamemon | BanchoMamemon | +| 6-023 | Barbamon | Barbamon | +| 6-024 | BeelStarmon X | BeelStarmon X | +| 6-025 | Beelzebumon | Beelzemon | +| 6-026 | Belphemon: Rage Mode | Belphemon: Rage Mode | +| 6-027 | BlackWarGreymon X | BlackWarGreymon X | +| 6-028 | BlitzGreymon | BlitzGreymon | +| 6-029 | Boltmon | Boltmon | +| 6-030 | Breakdramon | Breakdramon | +| 6-031 | BryweLudramon | BryweLudramon | +| 6-032 | Chaosdramon X | Chaosdramon X | +| 6-033 | Cherubimon (Virtue) | Cherubimon (Virtue) | +| 6-034 | Cherubimon (Virtue) X | Cherubimon (Virtue) X | +| 6-035 | Cherubimon (Vice) X | Cherubimon (Vice) X | +| 6-036 | Craniummon | Craniamon | +| 6-037 | Demon | Creepymon | +| 6-038 | CresGarurumon | CresGarurumon | +| 6-039 | Darkdramon | Darkdramon | +| 6-040 | DarkKnightmon X | DarkKnightmon X | +| 6-041 | Dianamon | Dianamon | +| 6-042 | Dinorexmon | Dinorexmon | +| 6-043 | Dinotigermon | Dinotigermon | +| 6-044 | Durandamon | Durandamon | +| 6-045 | Dynasmon | Dynasmon | +| 6-046 | Ebemon X | Ebemon X | +| 6-047 | Xuanwumon | Ebonwumon | +| 6-048 | KaiserGreymon | EmperorGreymon | +| 6-049 | Eosmon | Eosmon | +| 6-050 | Huanglongmon | Fanglongmon | +| 6-051 | Gaioumon | Gaiomon | +| 6-052 | Dukemon | Gallantmon | +| 6-053 | Dukemon X | Gallantmon X | +| 6-054 | Gankoomon | Gankoomon | +| 6-055 | Deathmon | Ghoulmon | +| 6-056 | GigaSeadramon | GigaSeadramon | +| 6-057 | Goddramon | Goldramon | +| 6-058 | Goddramon X | Goldramon X | +| 6-059 | GrandisKuwagamon | GrandisKuwagamon | +| 6-060 | GrandDracumon | GranDracmon | +| 6-061 | GranKuwagamon | GranKuwagamon | +| 6-062 | GrandLocomon | GroundLocomon | +| 6-063 | Griffomon | Gryphonmon | +| 6-064 | Gundramon | Gundramon | +| 6-065 | HeavyLeomon | HeavyLeomon | +| 6-066 | HerakleKabuterimon | HerculesKabuterimon | +| 6-067 | Hexeblaumon | Hexeblaumon | +| 6-068 | HiAndromon | HiAndromon | +| 6-069 | Jesmon | Jesmon | +| 6-070 | Justimon X | Justimon X | +| 6-071 | Justimon: Blitz Arm | Justimon: Blitz Arm | +| 6-072 | Sleipmon | Kentaurosmon | +| 6-073 | KingEtemon | KingEtemon | +| 6-074 | Duftmon | Leopardmon | +| 6-075 | Leviamon | Leviamon | +| 6-076 | Lilithmon | Lilithmon | +| 6-077 | LordKnightmon | LordKnightmon | +| 6-078 | Lotusmon | Lotosmon | +| 6-079 | Lucemon: Satan Mode | Lucemon: Satan Mode | +| 6-080 | Mugendramon | Machinedramon | +| 6-081 | Holydramon | Magnadramon | +| 6-082 | Holydramon X | Magnadramon X | +| 6-083 | MagnaGarurumon | MagnaGarurumon | +| 6-084 | Magnamon | Magnamon | +| 6-085 | BelialVamdemon | MaloMyotismon | +| 6-086 | MarinAngemon | MarineAngemon | +| 6-087 | SaintGalgomon | MegaGargomon | +| 6-088 | Megidramon | Megidramon | +| 6-089 | Megidramon X | Megidramon X | +| 6-090 | MetalEtemon | MetalEtemon | +| 6-091 | MetalGarurumon | MetalGarurumon | +| 6-092 | MetalGarurumon X | MetalGarurumon X | +| 6-093 | Metallicdramon | Metallicdramon | +| 6-094 | MetalPiranimon | MetalPiranimon | +| 6-095 | MetalSeadramon | MetalSeadramon | +| 6-096 | MirageGaogamon | MirageGaogamon | +| 6-097 | Murmukusmon | Murmukusmon | +| 6-098 | Nidhoggmon | Nidhoggmon | +| 6-099 | NoblePumpmon | NoblePumpkinmon | +| 6-100 | Ofanimon | Ophanimon | +| 6-101 | Ofanimon X | Ophanimon X | +| 6-102 | Ofanimon: Falldown Mode X | Ophanimon: Falldown Mode X | +| 6-103 | Ornismon | Ornismon | +| 6-104 | Ouryumon | Ouryumon | +| 6-105 | Hououmon | Phoenixmon | +| 6-106 | Hououmon X | Phoenixmon X | +| 6-107 | Piemon | Piedmon | +| 6-108 | PlatinumNumemon | PlatinumNumemon | +| 6-109 | Plesiomon | Plesiomon | +| 6-110 | Plesiomon X | Plesiomon X | +| 6-111 | PrinceMamemon X | PrinceMamemon X | +| 6-112 | Pukumon | Pukumon | +| 6-113 | Pinochimon | Puppetmon | +| 6-114 | Rafflesimon | Rafflesimon | +| 6-115 | Raguelmon | Raguelmon | +| 6-116 | Rapidmon X | Rapidmon X | +| 6-117 | Rasenmon | Rasenmon | +| 6-118 | Rasenmon: Fury Mode | Rasenmon: Fury Mode | +| 6-119 | Rasielmon | Rasielmon | +| 6-120 | Ravmon | Ravemon | +| 6-121 | Regalecusmon | Regalecusmon | +| 6-122 | Raihimon | Rhihimon | +| 6-123 | Rosemon | Rosemon | +| 6-124 | Rosemon X | Rosemon X | +| 6-125 | RustTyranomon | RustTyrannomon | +| 6-126 | SaberLeomon | SaberLeomon | +| 6-127 | Sakuyamon X | Sakuyamon X | +| 6-128 | Seraphimon | Seraphimon | +| 6-129 | ShineGreymon | ShineGreymon | +| 6-130 | SkullMammon | SkullMammothmon | +| 6-131 | SkullMammon X | SkullMammothmon X | +| 6-132 | SlashAngemon | SlashAngemon | +| 6-133 | Slayerdramon | Slayerdramon | +| 6-134 | Susanoomon | Susanomon | +| 6-135 | TigerVespamon | TigerVespamon | +| 6-136 | Titamon | Titamon | +| 6-137 | UlforceV-dramon | UlforceVeedramon | +| 6-138 | UltimateBrachiomon | UltimateBrachiomon | +| 6-139 | Valkyrimon | Valkyrimon | +| 6-140 | Valdurmon | Varodurumon | +| 6-141 | VenomVamdemon | VenomMyotismon | +| 6-142 | Volcanicdramon | Volcanicdramon | +| 6-143 | WarGreymon | WarGreymon | +| 6-144 | WarGreymon X | WarGreymon X | +| 6-145 | Zhuqiaomon | Zhuqiaomon | +| 6-146 | Vikemon | Vikemon | +| 6-147 | ShinMonzaemon | ShinMonzaemon | +| 6-148 | Kazuchimon | Kazuchimon | +| 6-149 | BanchoLilimon | BanchoLillymon | +| 6-150 | DORUgoramon | Dorugoramon | +| 7-001 | Alphamon: Ouryuken | Alphamon: Ouryuken | +| 7-002 | Armagemon | Armageddemon | +| 7-003 | Barbamon X | Barbamon X | +| 7-004 | Beelzebumon X | Beelzemon X | +| 7-005 | Beelzebumon: Blast Mode | Beelzemon: Blast Mode | +| 7-006 | Belphemon X | Belphemon X | +| 7-007 | Voltobautamon | Boltboutamon | +| 7-008 | Chaosmon | Chaosmon | +| 7-009 | Craniummon X | Craniamon X | +| 7-010 | Demon X | Creepymon X | +| 7-011 | DarknessBagramon | DarknessBagramon | +| 7-012 | Diablomon X | Diaboromon X | +| 7-013 | Dynasmon X | Dynasmon X | +| 7-014 | Examon | Examon | +| 7-015 | Examon X | Examon X | +| 7-016 | Dukemon X | Gallantmon X | +| 7-017 | Gankoomon X | Gankoomon X | +| 7-018 | GraceNovamon | GraceNovamon | +| 7-019 | Imperialdramon: Fighter Mode | Imperialdramon: Fighter Mode | +| 7-020 | Imperialdramon: Paladin Mode | Imperialdramon: Paladin Mode | +| 7-021 | Jesmon X | Jesmon X | +| 7-022 | Sleipmon X | Kentaurosmon X | +| 7-023 | Duftmon X | Leopardmon X | +| 7-024 | Leviamon X | Leviamon X | +| 7-025 | Lilithmon X | Lilithmon X | +| 7-026 | LordKnightmon X | LordKnightmon X | +| 7-027 | Lucemon X | Lucemon X | +| 7-028 | Magnamon X | Magnamon X | +| 7-029 | Mastemon | Mastemon | +| 7-030 | Minervamon X | Minervamon X | +| 7-031 | Ogudomon | Ogudomon | +| 7-032 | Omegamon | Omnimon | +| 7-033 | Omegamon Alter-S | Omnimon Alter-S | +| 7-034 | Omegamon X | Omnimon X | +| 7-035 | Ordinemon | Ordinemon | +| 7-036 | Rafflesimon | Rafflesimon | +| 7-037 | RagnaLordmon | RagnaLoardmon | +| 7-038 | Rasenmon | Rasenmon | +| 7-039 | RustTyranomon | RustTyrannomon | +| 7-040 | UlforceV-dramon X | UlforceVeedramon X | +| 7-041 | Agumon (Bond of Bravery) | Agumon (Bond of Bravery) | +| 7-042 | Gabumon (Bond of Friendship) | Gabumon (Bond of Friendship) | +| 7-043 | Jesmon GX | Jesmon GX | +| 7-044 | Ogudomon X | Ogudomon X | +| 7-045 | Chaosdramon | Chaosdramon | + +Check out the [Digimon Data List](packages/vpet-core/src/data/digimon-data.ts) for more information about evolution +lines. + +## License + +This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details. + +## Attributions + +The bundled sprites were derived from the following sources and were later edited and +processed for this project: + +- [sundeth/omnipet](https://github.com/sundeth/omnipet/tree/main) +- [Tortoiseshel's Full Color Digimon Dot Sprites post](https://withthewill.net/threads/full-color-digimon-dot-sprites.25843/) on the [With the Will forum](https://withthewill.net/members/tortoiseshel.4767/) diff --git a/src/adapters/sqlite/app-data-path.ts b/packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/app-data-path.ts similarity index 100% rename from src/adapters/sqlite/app-data-path.ts rename to packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/app-data-path.ts diff --git a/src/adapters/sqlite/sqlite-migrations.ts b/packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-migrations.ts similarity index 92% rename from src/adapters/sqlite/sqlite-migrations.ts rename to packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-migrations.ts index cfb2312..47878cb 100644 --- a/src/adapters/sqlite/sqlite-migrations.ts +++ b/packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-migrations.ts @@ -1,10 +1,6 @@ -type QueryValue = string | number | null +import type { SqliteExecutor } from "../../ports/sqlite-executor.ts" -type SqliteMigrationExecutor = { - run: (sql: string, params?: readonly QueryValue[]) => void - all: >(sql: string, params?: readonly QueryValue[]) => readonly TRow[] - transaction: (operation: () => TReturn) => TReturn -} +type SqliteMigrationExecutor = Pick type Migration = { readonly version: number @@ -110,6 +106,13 @@ const MIGRATIONS = [ `, ], }, + { + version: 4, + sql: [ + "ALTER TABLE partners ADD COLUMN pending_evolution_target_id TEXT", + "ALTER TABLE partners ADD COLUMN battle_opponent_node_id TEXT", + ], + }, ] as const satisfies readonly Migration[] type MigrationRow = { diff --git a/src/adapters/sqlite/sqlite-vpet-schema.ts b/packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-vpet-schema.ts similarity index 89% rename from src/adapters/sqlite/sqlite-vpet-schema.ts rename to packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-vpet-schema.ts index 3b79c48..29cbf29 100644 --- a/src/adapters/sqlite/sqlite-vpet-schema.ts +++ b/packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-vpet-schema.ts @@ -7,6 +7,8 @@ export type PersistedPartnerRow = { readonly current_node_id: string readonly gauge: number readonly is_terminal: number + readonly pending_evolution_target_id: string | null + readonly battle_opponent_node_id: string | null readonly created_at: string readonly retired_at: string | null } @@ -40,15 +42,21 @@ export type MigrationRow = { readonly version: number } -export const ACTIVE_PARTNER_SELECT = ` - SELECT +const PARTNER_COLUMNS = ` partner_id, generation, current_node_id, gauge, is_terminal, + pending_evolution_target_id, + battle_opponent_node_id, created_at, retired_at +` + +export const ACTIVE_PARTNER_SELECT = ` + SELECT + ${PARTNER_COLUMNS} FROM partners WHERE retired_at IS NULL LIMIT 1 @@ -56,39 +64,21 @@ export const ACTIVE_PARTNER_SELECT = ` export const PARTNERS_SELECT = ` SELECT - partner_id, - generation, - current_node_id, - gauge, - is_terminal, - created_at, - retired_at + ${PARTNER_COLUMNS} FROM partners ORDER BY generation ASC, created_at ASC, partner_id ASC ` export const ARCHIVE_PARTNERS_SELECT = ` SELECT - partner_id, - generation, - current_node_id, - gauge, - is_terminal, - created_at, - retired_at + ${PARTNER_COLUMNS} FROM partners ORDER BY partner_id ASC ` export const PARTNER_BY_GENERATION_SELECT = ` SELECT - partner_id, - generation, - current_node_id, - gauge, - is_terminal, - created_at, - retired_at + ${PARTNER_COLUMNS} FROM partners WHERE generation = ? LIMIT 1 @@ -138,6 +128,8 @@ export const toPartner = (row: PersistedPartnerRow): Partner => { currentNodeId: row.current_node_id, gauge: row.gauge, isTerminal: row.is_terminal === 1, + pendingEvolutionTargetId: row.pending_evolution_target_id, + battleOpponentNodeId: row.battle_opponent_node_id, createdAt: row.created_at, retiredAt: row.retired_at, } diff --git a/src/adapters/sqlite/sqlite-vpet-types.ts b/packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-vpet-types.ts similarity index 86% rename from src/adapters/sqlite/sqlite-vpet-types.ts rename to packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-vpet-types.ts index 615b170..8ad9155 100644 --- a/src/adapters/sqlite/sqlite-vpet-types.ts +++ b/packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-vpet-types.ts @@ -1,6 +1,10 @@ import type { Partner, PartnerProgression } from "../../domain/partner.ts" import type { SpawnPartnerInput } from "../../application/models/spawn-partner.ts" -import type { ApplyUsageReceiptOutcome, UsageReceiptMetadata } from "../../application/models/usage.ts" +import type { + ApplyUsageReceiptOutcome, + ResolveEvolutionBattleOutcome, + UsageReceiptMetadata, +} from "../../application/models/usage.ts" import type { PartnerLifecycle } from "../../application/ports/partner-lifecycle.ts" import type { UsageLedger } from "../../application/ports/usage-ledger.ts" import type { VpetControl } from "../../application/ports/vpet-control.ts" @@ -47,6 +51,10 @@ export type SqliteVpetWriteStore = PartnerLifecycle & getPartnerByGeneration: (generation: number) => PersistedPartnerSummary | null listPartnerEvents: (partnerId: string) => readonly PersistedPartnerEvent[] listUsageReceipts: () => readonly UsageReceiptRecord[] + resolveEvolutionBattle: ( + nextState: PartnerProgression, + createdAt: string, + ) => ResolveEvolutionBattleOutcome } export type { ApplyUsageReceiptOutcome, PartnerProgression, SpawnPartnerInput, UsageReceiptMetadata } diff --git a/src/adapters/sqlite/sqlite-vpet-write-store.ts b/packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-vpet-write-store.ts similarity index 74% rename from src/adapters/sqlite/sqlite-vpet-write-store.ts rename to packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-vpet-write-store.ts index a8504fb..2ba7c10 100644 --- a/src/adapters/sqlite/sqlite-vpet-write-store.ts +++ b/packages/opencode-vpet/build/vpet-core-src/adapters/sqlite/sqlite-vpet-write-store.ts @@ -1,8 +1,7 @@ import type { SpawnPartnerInput } from "../../application/models/spawn-partner.ts" -import type { UsageReceiptMetadata } from "../../application/models/usage.ts" +import type { ResolveEvolutionBattleOutcome, UsageReceiptMetadata } from "../../application/models/usage.ts" import type { Partner, PartnerProgression } from "../../domain/partner.ts" -import { resolveHostDatabasePath, type HostPathOptions } from "./app-data-path.ts" -import { createExecutor, openWritableDatabase } from "./bun-sqlite-driver.ts" +import type { SqliteExecutor } from "../../ports/sqlite-executor.ts" import { runMigrations } from "./sqlite-migrations.ts" import { ACTIVE_PARTNER_SELECT, @@ -20,7 +19,11 @@ import { } from "./sqlite-vpet-schema.ts" import type { SqliteVpetWriteStore } from "./sqlite-vpet-types.ts" -export type CreateSqliteVpetRepositoryOptions = HostPathOptions & { readonly databasePath?: string } +export type CreateSqliteVpetWriteStoreOptions = { + readonly databasePath: string + readonly executor: SqliteExecutor + readonly close: () => Promise | void +} type ControlStateRow = { readonly frozen: number @@ -31,21 +34,14 @@ type ReceiptLedgerRow = { readonly receipt_key: string } -export { resolveHostDatabasePath } -export type { PersistedPartnerEvent, SqliteVpetWriteStore } from "./sqlite-vpet-types.ts" - -export const createSqliteVpetRepository = async ( - options: CreateSqliteVpetRepositoryOptions = {}, -): Promise => { - const databasePath = options.databasePath ?? resolveHostDatabasePath(options) - const database = openWritableDatabase(databasePath) - const executor = createExecutor(database) +export const createSqliteVpetWriteStore = (options: CreateSqliteVpetWriteStoreOptions): SqliteVpetWriteStore => { + const { databasePath, executor, close } = options const appliedMigrations = runMigrations(executor) const store = { databasePath, async close() { - database.close() + await close() }, getAppliedMigrations() { return appliedMigrations @@ -127,7 +123,7 @@ export const createSqliteVpetRepository = async ( if (generationRow === null) throw new Error("Generation allocation failed") const partnerId = `partner-${generationRow.generation}` executor.run( - "INSERT INTO partners (partner_id, generation, current_node_id, gauge, is_terminal, created_at, retired_at) VALUES (?, ?, ?, ?, ?, ?, NULL)", + "INSERT INTO partners (partner_id, generation, current_node_id, gauge, is_terminal, pending_evolution_target_id, battle_opponent_node_id, created_at, retired_at) VALUES (?, ?, ?, ?, ?, NULL, NULL, ?, NULL)", [partnerId, generationRow.generation, input.currentNodeId, input.gauge, input.isTerminal, input.createdAt], ) executor.run( @@ -141,7 +137,14 @@ export const createSqliteVpetRepository = async ( input.createdAt, ], ) - return { partnerId, generation: generationRow.generation, ...input, retiredAt: null } + return { + partnerId, + generation: generationRow.generation, + ...input, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + retiredAt: null, + } }) }, listPartnerEvents(partnerId: string) { @@ -183,12 +186,17 @@ export const createSqliteVpetRepository = async ( if (activePartnerRow === null) return { kind: "no_active_partner" } as const const activePartner = toPartner(activePartnerRow) const nextState = evolve(activePartner) - executor.run("UPDATE partners SET current_node_id = ?, gauge = ?, is_terminal = ? WHERE partner_id = ?", [ - nextState.currentNodeId, - nextState.gauge, - nextState.isTerminal, - activePartner.partnerId, - ]) + executor.run( + "UPDATE partners SET current_node_id = ?, gauge = ?, is_terminal = ?, pending_evolution_target_id = ?, battle_opponent_node_id = ? WHERE partner_id = ?", + [ + nextState.currentNodeId, + nextState.gauge, + nextState.isTerminal, + nextState.pendingEvolutionTargetId, + nextState.battleOpponentNodeId, + activePartner.partnerId, + ], + ) executor.run( "INSERT INTO partner_events (event_id, partner_id, kind, current_node_id, gauge, is_terminal, token_delta, receipt_key, created_at) VALUES (?, ?, 'usage_applied', ?, ?, ?, ?, ?, ?)", [ @@ -222,6 +230,49 @@ export const createSqliteVpetRepository = async ( listUsageReceipts() { return executor.all(USAGE_RECEIPTS_SELECT).map(toUsageReceiptRecord) }, + resolveEvolutionBattle(nextState: PartnerProgression, createdAt: string): ResolveEvolutionBattleOutcome { + return executor.transaction(() => { + const activePartnerRow = executor.get(ACTIVE_PARTNER_SELECT) + if (activePartnerRow === null) return { kind: "no_pending_battle" } as const + + const activePartner = toPartner(activePartnerRow) + if (activePartner.pendingEvolutionTargetId === null || activePartner.battleOpponentNodeId === null) { + return { kind: "no_pending_battle" } as const + } + + const fromNodeId = activePartner.currentNodeId + executor.run( + "UPDATE partners SET current_node_id = ?, gauge = ?, is_terminal = ?, pending_evolution_target_id = ?, battle_opponent_node_id = ? WHERE partner_id = ?", + [ + nextState.currentNodeId, + nextState.gauge, + nextState.isTerminal, + nextState.pendingEvolutionTargetId, + nextState.battleOpponentNodeId, + activePartner.partnerId, + ], + ) + executor.run( + "INSERT INTO partner_events (event_id, partner_id, kind, current_node_id, gauge, is_terminal, token_delta, receipt_key, created_at) VALUES (?, ?, 'usage_applied', ?, ?, ?, NULL, NULL, ?)", + [ + `event-battle-${createdAt}`, + activePartner.partnerId, + nextState.currentNodeId, + nextState.gauge, + nextState.isTerminal, + createdAt, + ], + ) + + if (nextState.currentNodeId !== fromNodeId) { + return { + kind: "won", + evolution: { fromNodeId, toNodeId: nextState.currentNodeId }, + } as const + } + return { kind: "lost" } as const + }) + }, } satisfies SqliteVpetWriteStore return store diff --git a/src/application/models/sidebar-card-inputs.ts b/packages/opencode-vpet/build/vpet-core-src/application/models/sidebar-card-inputs.ts similarity index 89% rename from src/application/models/sidebar-card-inputs.ts rename to packages/opencode-vpet/build/vpet-core-src/application/models/sidebar-card-inputs.ts index 57c1c11..cc50a18 100644 --- a/src/application/models/sidebar-card-inputs.ts +++ b/packages/opencode-vpet/build/vpet-core-src/application/models/sidebar-card-inputs.ts @@ -10,4 +10,5 @@ export type SidebarCardInputs = readonly frozen: boolean readonly isSetOverride: boolean readonly trainerTotalTokens: number + readonly evolutionBattlePending: boolean } diff --git a/src/application/models/spawn-partner.ts b/packages/opencode-vpet/build/vpet-core-src/application/models/spawn-partner.ts similarity index 100% rename from src/application/models/spawn-partner.ts rename to packages/opencode-vpet/build/vpet-core-src/application/models/spawn-partner.ts diff --git a/src/application/models/usage.ts b/packages/opencode-vpet/build/vpet-core-src/application/models/usage.ts similarity index 67% rename from src/application/models/usage.ts rename to packages/opencode-vpet/build/vpet-core-src/application/models/usage.ts index e881ce5..4779c6b 100644 --- a/src/application/models/usage.ts +++ b/packages/opencode-vpet/build/vpet-core-src/application/models/usage.ts @@ -16,11 +16,22 @@ export type UsageEvolutionTransition = { readonly toNodeId: string } +export type EvolutionBattlePending = { + readonly opponentNodeId: string + readonly targetNodeId: string +} + export type UsageProcessingResult = | { readonly kind: "applied" readonly receiptKey: string readonly evolution?: UsageEvolutionTransition + readonly evolutionBattlePending?: EvolutionBattlePending } | { readonly kind: "duplicate"; readonly receiptKey: string } | { readonly kind: "no_active_partner"; readonly receiptKey: string } + +export type ResolveEvolutionBattleOutcome = + | { readonly kind: "won"; readonly evolution: UsageEvolutionTransition } + | { readonly kind: "lost" } + | { readonly kind: "no_pending_battle" } diff --git a/src/application/models/vpet-archive.ts b/packages/opencode-vpet/build/vpet-core-src/application/models/vpet-archive.ts similarity index 100% rename from src/application/models/vpet-archive.ts rename to packages/opencode-vpet/build/vpet-core-src/application/models/vpet-archive.ts diff --git a/src/application/models/vpet-control.ts b/packages/opencode-vpet/build/vpet-core-src/application/models/vpet-control.ts similarity index 100% rename from src/application/models/vpet-control.ts rename to packages/opencode-vpet/build/vpet-core-src/application/models/vpet-control.ts diff --git a/src/application/ports/partner-lifecycle.ts b/packages/opencode-vpet/build/vpet-core-src/application/ports/partner-lifecycle.ts similarity index 100% rename from src/application/ports/partner-lifecycle.ts rename to packages/opencode-vpet/build/vpet-core-src/application/ports/partner-lifecycle.ts diff --git a/src/application/ports/sidebar-snapshot.ts b/packages/opencode-vpet/build/vpet-core-src/application/ports/sidebar-snapshot.ts similarity index 76% rename from src/application/ports/sidebar-snapshot.ts rename to packages/opencode-vpet/build/vpet-core-src/application/ports/sidebar-snapshot.ts index 0bc7f77..dc7f581 100644 --- a/src/application/ports/sidebar-snapshot.ts +++ b/packages/opencode-vpet/build/vpet-core-src/application/ports/sidebar-snapshot.ts @@ -5,6 +5,8 @@ export type SidebarSnapshot = { readonly frozen: boolean readonly isSetOverride: boolean readonly trainerTotalTokens: number + readonly pendingEvolutionTargetId: string | null + readonly battleOpponentNodeId: string | null } export type SidebarSnapshotReader = { diff --git a/src/application/ports/usage-ledger.ts b/packages/opencode-vpet/build/vpet-core-src/application/ports/usage-ledger.ts similarity index 100% rename from src/application/ports/usage-ledger.ts rename to packages/opencode-vpet/build/vpet-core-src/application/ports/usage-ledger.ts diff --git a/src/application/ports/vpet-archive.ts b/packages/opencode-vpet/build/vpet-core-src/application/ports/vpet-archive.ts similarity index 100% rename from src/application/ports/vpet-archive.ts rename to packages/opencode-vpet/build/vpet-core-src/application/ports/vpet-archive.ts diff --git a/src/application/ports/vpet-control.ts b/packages/opencode-vpet/build/vpet-core-src/application/ports/vpet-control.ts similarity index 100% rename from src/application/ports/vpet-control.ts rename to packages/opencode-vpet/build/vpet-core-src/application/ports/vpet-control.ts diff --git a/src/application/use-cases/freeze-vpet.ts b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/freeze-vpet.ts similarity index 100% rename from src/application/use-cases/freeze-vpet.ts rename to packages/opencode-vpet/build/vpet-core-src/application/use-cases/freeze-vpet.ts diff --git a/src/application/use-cases/get-sidebar-card-inputs.ts b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/get-sidebar-card-inputs.ts similarity index 87% rename from src/application/use-cases/get-sidebar-card-inputs.ts rename to packages/opencode-vpet/build/vpet-core-src/application/use-cases/get-sidebar-card-inputs.ts index d1771c4..d3ed08f 100644 --- a/src/application/use-cases/get-sidebar-card-inputs.ts +++ b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/get-sidebar-card-inputs.ts @@ -19,5 +19,7 @@ export const getSidebarCardInputs = (reader: SidebarSnapshotReader, catalog: Dig frozen: snapshot.frozen, isSetOverride: snapshot.isSetOverride, trainerTotalTokens: snapshot.trainerTotalTokens, + evolutionBattlePending: + snapshot.pendingEvolutionTargetId !== null && snapshot.battleOpponentNodeId !== null, } } diff --git a/src/application/use-cases/reconcile-usage.ts b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/reconcile-usage.ts similarity index 83% rename from src/application/use-cases/reconcile-usage.ts rename to packages/opencode-vpet/build/vpet-core-src/application/use-cases/reconcile-usage.ts index bb1a404..5c8196b 100644 --- a/src/application/use-cases/reconcile-usage.ts +++ b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/reconcile-usage.ts @@ -8,6 +8,7 @@ export type ReconcileUsageInput = { readonly usages: readonly CompletedUsage[] readonly ledger: UsageLedger readonly digimonById: ReadonlyMap + readonly catalogNodes: readonly DigimonNode[] readonly selector: EvolutionSelector readonly thresholds: StageThresholds } @@ -16,12 +17,13 @@ export const reconcileUsage = ({ usages, ledger, digimonById, + catalogNodes, selector, thresholds, }: ReconcileUsageInput): readonly UsageProcessingResult[] => { const outcomes: UsageProcessingResult[] = [] for (const usage of usages) { - outcomes.push(recordUsage({ usage, ledger, digimonById, selector, thresholds })) + outcomes.push(recordUsage({ usage, ledger, digimonById, catalogNodes, selector, thresholds })) } return outcomes } diff --git a/src/application/use-cases/record-usage.ts b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/record-usage.ts similarity index 58% rename from src/application/use-cases/record-usage.ts rename to packages/opencode-vpet/build/vpet-core-src/application/use-cases/record-usage.ts index 718e073..25583d2 100644 --- a/src/application/use-cases/record-usage.ts +++ b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/record-usage.ts @@ -9,6 +9,7 @@ export type RecordUsageInput = { readonly usage: CompletedUsage readonly ledger: UsageLedger readonly digimonById: ReadonlyMap + readonly catalogNodes: readonly DigimonNode[] readonly selector: EvolutionSelector readonly thresholds: StageThresholds } @@ -17,32 +18,66 @@ export const recordUsage = ({ usage, ledger, digimonById, + catalogNodes, selector, thresholds, }: RecordUsageInput): UsageProcessingResult => { let evolution: UsageEvolutionTransition | undefined + let evolutionBattlePending: { readonly opponentNodeId: string; readonly targetNodeId: string } | undefined + const outcome = ledger.applyUsageReceipt(usage, (partner) => { const current = digimonById.get(partner.currentNodeId) if (current === undefined) throw new Error(`Persisted partner node ${partner.currentNodeId} is missing from the catalog`) + const hadPendingBattle = + partner.pendingEvolutionTargetId != null && partner.battleOpponentNodeId != null + const next = applyTokenProgress( - { current, gauge: partner.gauge, isTerminal: partner.isTerminal }, + { + current, + gauge: partner.gauge, + isTerminal: partner.isTerminal, + pendingEvolutionTargetId: partner.pendingEvolutionTargetId, + battleOpponentNodeId: partner.battleOpponentNodeId, + }, usage.tokenDelta, selector, digimonById, + catalogNodes, thresholds, ) + if ( + !hadPendingBattle && + next.pendingEvolutionTargetId !== null && + next.battleOpponentNodeId !== null && + next.current.id === current.id + ) { + evolutionBattlePending = { + opponentNodeId: next.battleOpponentNodeId, + targetNodeId: next.pendingEvolutionTargetId, + } + } + if (next.current.id !== current.id) { evolution = { fromNodeId: current.id, toNodeId: next.current.id } } - return { currentNodeId: next.current.id, gauge: next.gauge, isTerminal: next.isTerminal } + return { + currentNodeId: next.current.id, + gauge: next.gauge, + isTerminal: next.isTerminal, + pendingEvolutionTargetId: next.pendingEvolutionTargetId, + battleOpponentNodeId: next.battleOpponentNodeId, + } }) switch (outcome.kind) { case "applied": + if (evolutionBattlePending !== undefined) { + return { kind: "applied", receiptKey: usage.receiptKey, evolutionBattlePending } + } return evolution === undefined ? { kind: "applied", receiptKey: usage.receiptKey } : { kind: "applied", receiptKey: usage.receiptKey, evolution } diff --git a/packages/opencode-vpet/build/vpet-core-src/application/use-cases/resolve-evolution-battle.ts b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/resolve-evolution-battle.ts new file mode 100644 index 0000000..a3a163c --- /dev/null +++ b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/resolve-evolution-battle.ts @@ -0,0 +1,54 @@ +import type { DigimonNode } from "../../domain/digimon-node.ts" +import { resolveEvolutionBattle } from "../../domain/evolution.ts" +import type { Partner } from "../../domain/partner.ts" +import type { ResolveEvolutionBattleOutcome } from "../models/usage.ts" + +export type EvolutionBattleRepository = { + getActivePartner: () => Partner | null + resolveEvolutionBattle: ( + nextState: import("../../domain/partner.ts").PartnerProgression, + createdAt: string, + ) => ResolveEvolutionBattleOutcome +} + +export const resolveEvolutionBattleForPartner = ( + repository: EvolutionBattleRepository, + won: boolean, + digimonById: ReadonlyMap, + createdAt: string, +): ResolveEvolutionBattleOutcome => { + const partner = repository.getActivePartner() + if (partner === null) return { kind: "no_pending_battle" } + + const current = digimonById.get(partner.currentNodeId) + if (current === undefined) { + throw new Error(`Persisted partner node ${partner.currentNodeId} is missing from the catalog`) + } + + if (partner.pendingEvolutionTargetId === null || partner.battleOpponentNodeId === null) { + return { kind: "no_pending_battle" } + } + + const next = resolveEvolutionBattle( + { + current, + gauge: partner.gauge, + isTerminal: partner.isTerminal, + pendingEvolutionTargetId: partner.pendingEvolutionTargetId, + battleOpponentNodeId: partner.battleOpponentNodeId, + }, + won, + digimonById, + ) + + return repository.resolveEvolutionBattle( + { + currentNodeId: next.current.id, + gauge: next.gauge, + isTerminal: next.isTerminal, + pendingEvolutionTargetId: next.pendingEvolutionTargetId, + battleOpponentNodeId: next.battleOpponentNodeId, + }, + createdAt, + ) +} diff --git a/src/application/use-cases/set-vpet-cheat-node.ts b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/set-vpet-cheat-node.ts similarity index 100% rename from src/application/use-cases/set-vpet-cheat-node.ts rename to packages/opencode-vpet/build/vpet-core-src/application/use-cases/set-vpet-cheat-node.ts diff --git a/src/application/use-cases/spawn-partner.ts b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/spawn-partner.ts similarity index 100% rename from src/application/use-cases/spawn-partner.ts rename to packages/opencode-vpet/build/vpet-core-src/application/use-cases/spawn-partner.ts diff --git a/src/application/use-cases/unfreeze-vpet.ts b/packages/opencode-vpet/build/vpet-core-src/application/use-cases/unfreeze-vpet.ts similarity index 100% rename from src/application/use-cases/unfreeze-vpet.ts rename to packages/opencode-vpet/build/vpet-core-src/application/use-cases/unfreeze-vpet.ts diff --git a/src/config/defaults.ts b/packages/opencode-vpet/build/vpet-core-src/config/defaults.ts similarity index 85% rename from src/config/defaults.ts rename to packages/opencode-vpet/build/vpet-core-src/config/defaults.ts index ab6eb1c..ee9c0cc 100644 --- a/src/config/defaults.ts +++ b/packages/opencode-vpet/build/vpet-core-src/config/defaults.ts @@ -28,14 +28,14 @@ export const VPET_STAGE_LABELS = Object.freeze({ } as const satisfies VpetStageLabels) export const DEFAULT_STAGE_THRESHOLDS = Object.freeze({ - egg: 500_000, - babyI: 1_000_000, - babyII: 2_000_000, - child: 4_000_000, - adult: 7_500_000, - perfect: 12_500_000, - ultimate: 20_000_000, - superUltimate: 30_000_000, + egg: 5_000_000, + babyI: 10_000_000, + babyII: 20_000_000, + child: 40_000_000, + adult: 75_000_000, + perfect: 125_000_000, + ultimate: 200_000_000, + superUltimate: 300_000_000, } as const satisfies StageThresholdSettings) export const DEFAULT_VPET_SETTINGS = Object.freeze({ diff --git a/src/config/normalize.ts b/packages/opencode-vpet/build/vpet-core-src/config/normalize.ts similarity index 100% rename from src/config/normalize.ts rename to packages/opencode-vpet/build/vpet-core-src/config/normalize.ts diff --git a/src/config/types.ts b/packages/opencode-vpet/build/vpet-core-src/config/types.ts similarity index 100% rename from src/config/types.ts rename to packages/opencode-vpet/build/vpet-core-src/config/types.ts diff --git a/src/data/catalog.ts b/packages/opencode-vpet/build/vpet-core-src/data/catalog.ts similarity index 100% rename from src/data/catalog.ts rename to packages/opencode-vpet/build/vpet-core-src/data/catalog.ts diff --git a/src/data/digimon-data.ts b/packages/opencode-vpet/build/vpet-core-src/data/digimon-data.ts similarity index 100% rename from src/data/digimon-data.ts rename to packages/opencode-vpet/build/vpet-core-src/data/digimon-data.ts diff --git a/src/data/monster-frame-catalog.ts b/packages/opencode-vpet/build/vpet-core-src/data/monster-frame-catalog.ts similarity index 100% rename from src/data/monster-frame-catalog.ts rename to packages/opencode-vpet/build/vpet-core-src/data/monster-frame-catalog.ts diff --git a/src/data/monster-frame-data.ts b/packages/opencode-vpet/build/vpet-core-src/data/monster-frame-data.ts similarity index 100% rename from src/data/monster-frame-data.ts rename to packages/opencode-vpet/build/vpet-core-src/data/monster-frame-data.ts diff --git a/src/data/stages.ts b/packages/opencode-vpet/build/vpet-core-src/data/stages.ts similarity index 100% rename from src/data/stages.ts rename to packages/opencode-vpet/build/vpet-core-src/data/stages.ts diff --git a/src/domain/digimon-node.ts b/packages/opencode-vpet/build/vpet-core-src/domain/digimon-node.ts similarity index 100% rename from src/domain/digimon-node.ts rename to packages/opencode-vpet/build/vpet-core-src/domain/digimon-node.ts diff --git a/packages/opencode-vpet/build/vpet-core-src/domain/evolution-battle.ts b/packages/opencode-vpet/build/vpet-core-src/domain/evolution-battle.ts new file mode 100644 index 0000000..af6d791 --- /dev/null +++ b/packages/opencode-vpet/build/vpet-core-src/domain/evolution-battle.ts @@ -0,0 +1,40 @@ +import type { DigimonNode } from "./digimon-node.ts" +import type { EvolutionSelector } from "./evolution.ts" + +export const pickEvolutionTarget = ( + current: DigimonNode, + selector: EvolutionSelector, +): string => { + if (current.nextEvolutions.length === 0) { + throw new Error("Evolution target selection failed: partner has no evolution options") + } + + const selection = selector() + if (!Number.isFinite(selection) || selection < 0 || selection >= 1) { + throw new Error(`Evolution selector must return a finite number in [0, 1), received ${selection}`) + } + + const targetId = current.nextEvolutions[Math.floor(selection * current.nextEvolutions.length)] + if (targetId === undefined) throw new Error("Evolution target selection failed") + return targetId +} + +export const pickRandomSameStageOpponent = ( + current: DigimonNode, + catalogNodes: readonly DigimonNode[], + selector: EvolutionSelector, +): string => { + const candidates = catalogNodes.filter((node) => node.stage === current.stage && node.id !== current.id) + if (candidates.length === 0) { + return current.id + } + + const selection = selector() + if (!Number.isFinite(selection) || selection < 0 || selection >= 1) { + throw new Error(`Evolution selector must return a finite number in [0, 1), received ${selection}`) + } + + const opponent = candidates[Math.floor(selection * candidates.length)] + if (opponent === undefined) throw new Error("Same-stage opponent selection failed") + return opponent.id +} diff --git a/packages/opencode-vpet/build/vpet-core-src/domain/evolution.ts b/packages/opencode-vpet/build/vpet-core-src/domain/evolution.ts new file mode 100644 index 0000000..f8899d1 --- /dev/null +++ b/packages/opencode-vpet/build/vpet-core-src/domain/evolution.ts @@ -0,0 +1,126 @@ +import type { DigimonNode } from "./digimon-node.ts" +import { pickEvolutionTarget, pickRandomSameStageOpponent } from "./evolution-battle.ts" +import { DIGIMON_STAGES, type DigimonStage } from "./stage.ts" + +export type StageThresholds = Readonly> + +export const STAGE_GAUGE_THRESHOLDS = Object.freeze({ + 0: 5_000_000, + 1: 10_000_000, + 2: 20_000_000, + 3: 40_000_000, + 4: 75_000_000, + 5: 125_000_000, + 6: 200_000_000, + 7: 300_000_000, +} as const satisfies StageThresholds) + +export type PartnerEvolutionState = { + readonly current: DigimonNode + readonly gauge: number + readonly isTerminal: boolean + readonly pendingEvolutionTargetId: string | null + readonly battleOpponentNodeId: string | null +} + +export type EvolutionSelector = () => number + +const isRecord = (value: unknown): value is Readonly> => { + return typeof value === "object" && value !== null +} + +const isStageThresholds = (thresholds: unknown): thresholds is StageThresholds => { + if (!isRecord(thresholds) || !Object.isFrozen(thresholds)) return false + + return DIGIMON_STAGES.every((stage) => { + const threshold = thresholds[stage] + return typeof threshold === "number" && Number.isFinite(threshold) && threshold > 0 + }) +} + +const hasPendingBattle = (state: PartnerEvolutionState): boolean => + state.pendingEvolutionTargetId != null && state.battleOpponentNodeId != null + +export const applyTokenProgress = ( + state: PartnerEvolutionState, + tokenDelta: number, + selector: EvolutionSelector, + digimonById: ReadonlyMap, + catalogNodes: readonly DigimonNode[], + thresholds: unknown, +): PartnerEvolutionState => { + if (!isStageThresholds(thresholds)) { + throw new Error("Evolution thresholds must be a complete frozen policy of positive finite numbers") + } + if (state.isTerminal) return state + if (hasPendingBattle(state)) return state + + const threshold = thresholds[state.current.stage] + const gauge = state.gauge + tokenDelta + if (gauge < threshold) return { ...state, gauge } + if (state.current.nextEvolutions.length === 0) { + return { ...state, gauge: 0, isTerminal: true, pendingEvolutionTargetId: null, battleOpponentNodeId: null } + } + + const pendingEvolutionTargetId = pickEvolutionTarget(state.current, selector) + const target = digimonById.get(pendingEvolutionTargetId) + if (target === undefined) { + throw new Error(`Evolution target ${pendingEvolutionTargetId} is missing from the catalog`) + } + + if (state.current.stage === 0) { + return { + current: target, + gauge: 0, + isTerminal: target.nextEvolutions.length === 0, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + } + } + + const battleOpponentNodeId = pickRandomSameStageOpponent(state.current, catalogNodes, selector) + if (digimonById.get(battleOpponentNodeId) === undefined) { + throw new Error(`Battle opponent ${battleOpponentNodeId} is missing from the catalog`) + } + + return { + current: state.current, + gauge: threshold, + isTerminal: false, + pendingEvolutionTargetId, + battleOpponentNodeId, + } +} + +export const resolveEvolutionBattle = ( + state: PartnerEvolutionState, + won: boolean, + digimonById: ReadonlyMap, +): PartnerEvolutionState => { + if (!hasPendingBattle(state)) { + throw new Error("Cannot resolve evolution battle without a pending battle") + } + + if (!won) { + return { + current: state.current, + gauge: 0, + isTerminal: state.isTerminal, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + } + } + + const targetId = state.pendingEvolutionTargetId + if (targetId === null) throw new Error("Pending evolution target is missing") + const current = digimonById.get(targetId) + if (current === undefined) throw new Error(`Evolution target ${targetId} is missing from the catalog`) + + return { + current, + gauge: 0, + isTerminal: current.nextEvolutions.length === 0, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + } +} diff --git a/src/domain/partner.ts b/packages/opencode-vpet/build/vpet-core-src/domain/partner.ts similarity index 65% rename from src/domain/partner.ts rename to packages/opencode-vpet/build/vpet-core-src/domain/partner.ts index d153747..5e2ed9b 100644 --- a/src/domain/partner.ts +++ b/packages/opencode-vpet/build/vpet-core-src/domain/partner.ts @@ -4,6 +4,8 @@ export type Partner = { readonly currentNodeId: string readonly gauge: number readonly isTerminal: boolean + readonly pendingEvolutionTargetId: string | null + readonly battleOpponentNodeId: string | null readonly createdAt: string readonly retiredAt: string | null } @@ -12,4 +14,6 @@ export type PartnerProgression = { readonly currentNodeId: string readonly gauge: number readonly isTerminal: boolean + readonly pendingEvolutionTargetId: string | null + readonly battleOpponentNodeId: string | null } diff --git a/src/domain/stage.ts b/packages/opencode-vpet/build/vpet-core-src/domain/stage.ts similarity index 100% rename from src/domain/stage.ts rename to packages/opencode-vpet/build/vpet-core-src/domain/stage.ts diff --git a/packages/opencode-vpet/build/vpet-core-src/ports/sqlite-executor.ts b/packages/opencode-vpet/build/vpet-core-src/ports/sqlite-executor.ts new file mode 100644 index 0000000..7c71934 --- /dev/null +++ b/packages/opencode-vpet/build/vpet-core-src/ports/sqlite-executor.ts @@ -0,0 +1,8 @@ +export type QueryValue = string | number | boolean | null + +export type SqliteExecutor = { + run: (sql: string, params?: readonly QueryValue[]) => void + get: >(sql: string, params?: readonly QueryValue[]) => TRow | null + all: >(sql: string, params?: readonly QueryValue[]) => readonly TRow[] + transaction: (operation: () => TReturn) => TReturn +} diff --git a/src/tui/dex-view-model.ts b/packages/opencode-vpet/build/vpet-core-src/view-models/dex-view-model.ts similarity index 100% rename from src/tui/dex-view-model.ts rename to packages/opencode-vpet/build/vpet-core-src/view-models/dex-view-model.ts diff --git a/src/tui/history-view-model.ts b/packages/opencode-vpet/build/vpet-core-src/view-models/history-view-model.ts similarity index 100% rename from src/tui/history-view-model.ts rename to packages/opencode-vpet/build/vpet-core-src/view-models/history-view-model.ts diff --git a/src/tui/sidebar-view-model.ts b/packages/opencode-vpet/build/vpet-core-src/view-models/sidebar-view-model.ts similarity index 93% rename from src/tui/sidebar-view-model.ts rename to packages/opencode-vpet/build/vpet-core-src/view-models/sidebar-view-model.ts index c345e99..0e77d8a 100644 --- a/src/tui/sidebar-view-model.ts +++ b/packages/opencode-vpet/build/vpet-core-src/view-models/sidebar-view-model.ts @@ -17,6 +17,7 @@ export type SidebarCardModel = readonly isTerminal: boolean readonly frozen: boolean readonly isSetOverride: boolean + readonly evolutionBattlePending: boolean } export const buildSidebarCardModel = ( @@ -38,5 +39,6 @@ export const buildSidebarCardModel = ( isTerminal: inputs.isTerminal, frozen: inputs.frozen, isSetOverride: inputs.isSetOverride, + evolutionBattlePending: inputs.evolutionBattlePending, } } diff --git a/packages/opencode-vpet/bunfig.toml b/packages/opencode-vpet/bunfig.toml new file mode 100644 index 0000000..215183d --- /dev/null +++ b/packages/opencode-vpet/bunfig.toml @@ -0,0 +1,2 @@ +[test] +preload = ["@opentui/solid/preload"] diff --git a/packages/opencode-vpet/package.json b/packages/opencode-vpet/package.json new file mode 100644 index 0000000..f2ae635 --- /dev/null +++ b/packages/opencode-vpet/package.json @@ -0,0 +1,102 @@ +{ + "name": "@sbugallo/opencode-vpet", + "version": "0.2.0-dev.0", + "description": "An OpenCode virtual-pet plugin with /vpet-spawn, /vpet-freeze, /vpet-unfreeze, /vpet-set, /vpet-dex, and /vpet-history commands.", + "author": "Sergio Bugallo", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "git+https://github.com/sbugallo/opencode-vpet.git" + }, + "homepage": "https://github.com/sbugallo/opencode-vpet#readme", + "bugs": { + "url": "https://github.com/sbugallo/opencode-vpet/issues" + }, + "keywords": [ + "opencode", + "plugin", + "virtual-pet", + "vpet", + "tui" + ], + "publishConfig": { + "access": "public" + }, + "oc-plugin": [ + "server", + "tui" + ], + "packageManager": "bun@1.3.5", + "engines": { + "bun": "1.3.5", + "node": "24.11.0", + "opencode": ">=1.18.10" + }, + "main": "./dist/index.js", + "bin": { + "opencode-vpet": "./dist/cli.js" + }, + "dependencies": { + "@sbugallo/vpet-core": "workspace:*", + "solid-js": "^1.9.14" + }, + "devDependencies": { + "@biomejs/biome": "2.5.10", + "@opencode-ai/plugin": "^1.18.10", + "@opencode-ai/sdk": "^1.18.10", + "@opentui/core": "^0.4.5", + "@opentui/keymap": "^0.4.5", + "@opentui/solid": "^0.4.5", + "@types/bun": "1.3.14", + "@types/node": "24.10.1", + "@types/semver": "7.7.1", + "semver": "7.7.4", + "typescript": "5.9.3" + }, + "peerDependencies": { + "@opencode-ai/plugin": ">=1.18.10", + "@opentui/core": ">=0.4.5", + "@opentui/keymap": ">=0.4.5", + "@opentui/solid": ">=0.4.5" + }, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + }, + "./server": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + }, + "./tui": { + "types": "./dist/tui.d.ts", + "import": "./dist/tui.js", + "default": "./dist/tui.js" + } + }, + "files": [ + "dist", + "README.md", + "LICENSE", + "CHANGELOG.md" + ], + "scripts": { + "test": "bun test", + "test:persistence": "bun test ./tests/persistence/sqlite-migrations.persistence.ts ./tests/persistence/sqlite-vpet-repository.persistence.ts ./tests/persistence/sqlite-vpet-control.persistence.ts ./tests/persistence/sqlite-usage-event-toast.persistence.test.ts", + "format": "biome format --write src tests scripts package.json", + "format:check": "biome format src tests scripts package.json", + "lint": "biome lint src tests scripts package.json", + "check": "biome ci src tests scripts package.json && bun run typecheck && bun run typecheck:scripts && bun run typecheck:tests", + "typecheck": "tsc --noEmit", + "typecheck:scripts": "tsc -p tsconfig.scripts.json --noEmit", + "typecheck:tests": "tsc -p tsconfig.test.json --noEmit", + "build": "bun scripts/build.ts", + "prepack": "bun scripts/prepack.ts", + "postpack": "bun scripts/postpack.ts", + "release:check": "bun run check && bun test && bun run test:persistence && npm pack --dry-run --json" + }, + "type": "module", + "types": "./dist/index.d.ts" +} diff --git a/scripts/build.ts b/packages/opencode-vpet/scripts/build.ts similarity index 61% rename from scripts/build.ts rename to packages/opencode-vpet/scripts/build.ts index e81b42e..ad9a8eb 100644 --- a/scripts/build.ts +++ b/packages/opencode-vpet/scripts/build.ts @@ -1,5 +1,9 @@ import { rm } from "node:fs/promises" +const stageSources = Bun.spawnSync(["bun", "scripts/stage-vpet-core-sources.ts"]) +if (stageSources.exitCode !== 0) { + throw new Error(new TextDecoder().decode(stageSources.stderr)) +} await rm("dist", { recursive: true, force: true }) const pluginResult = await Bun.build({ @@ -37,3 +41,13 @@ if (!pluginResult.success || !cliResult.success) { const declarations = Bun.spawnSync(["bunx", "tsc", "-p", "tsconfig.build.json"]) if (declarations.exitCode !== 0) throw new Error(new TextDecoder().decode(declarations.stderr)) + +const vpetCoreDeclarations = Bun.spawnSync(["bunx", "tsc", "-p", "tsconfig.vpet-core-declarations.json"]) +if (vpetCoreDeclarations.exitCode !== 0) { + throw new Error(new TextDecoder().decode(vpetCoreDeclarations.stderr)) +} + +const rewriteDeclarations = Bun.spawnSync(["bun", "scripts/rewrite-vpet-core-declarations.ts"]) +if (rewriteDeclarations.exitCode !== 0) { + throw new Error(new TextDecoder().decode(rewriteDeclarations.stderr)) +} diff --git a/packages/opencode-vpet/scripts/postpack.ts b/packages/opencode-vpet/scripts/postpack.ts new file mode 100644 index 0000000..8974463 --- /dev/null +++ b/packages/opencode-vpet/scripts/postpack.ts @@ -0,0 +1,16 @@ +import { readFile, rm } from "node:fs/promises" +import { resolve } from "node:path" + +import { removeStagedChangelog } from "./stage-changelog.ts" +import { restorePackageJson } from "./strip-workspace-deps.ts" + +const packageRoot = resolve(import.meta.dir, "..") +const backupPath = resolve(packageRoot, ".package.json.publish.bak") + +if (await Bun.file(backupPath).exists()) { + const originalSource = await readFile(backupPath, "utf8") + await restorePackageJson(packageRoot, originalSource) + await rm(backupPath, { force: true }) +} + +await removeStagedChangelog(packageRoot) diff --git a/packages/opencode-vpet/scripts/prepack.ts b/packages/opencode-vpet/scripts/prepack.ts new file mode 100644 index 0000000..edd3523 --- /dev/null +++ b/packages/opencode-vpet/scripts/prepack.ts @@ -0,0 +1,65 @@ +import { rm, writeFile } from "node:fs/promises" +import { resolve } from "node:path" + +import { removeStagedChangelog, stageChangelog } from "./stage-changelog.ts" +import { restorePackageJson, stripWorkspaceDependencies } from "./strip-workspace-deps.ts" + +type JsonObject = { readonly [key: string]: unknown } + +const isJsonObject = (value: unknown): value is JsonObject => + typeof value === "object" && value !== null && !Array.isArray(value) + +const collectPaths = (value: unknown, paths: Set): void => { + if (typeof value === "string") { + paths.add(value) + return + } + if (!isJsonObject(value)) return + for (const nestedValue of Object.values(value)) collectPaths(nestedValue, paths) +} + +const packageRoot = resolve(import.meta.dir, "..") +const backupPath = resolve(packageRoot, ".package.json.publish.bak") + +const originalSource = await stripWorkspaceDependencies(packageRoot) +if (!(await Bun.file(backupPath).exists())) { + await writeFile(backupPath, originalSource) +} + +try { + await stageChangelog(packageRoot) + await Bun.$`bun run build` + + const packageJson: unknown = JSON.parse(await Bun.file(resolve(packageRoot, "package.json")).text()) + if (!isJsonObject(packageJson)) throw new Error("package.json must contain an object.") + + const publishedPaths = new Set() + collectPaths(packageJson.main, publishedPaths) + collectPaths(packageJson.types, publishedPaths) + collectPaths(packageJson.exports, publishedPaths) + collectPaths(packageJson.bin, publishedPaths) + + for (const publishedPath of publishedPaths) { + const artifactPath = resolve(packageRoot, publishedPath) + const artifact = Bun.file(artifactPath) + if (!(await artifact.exists()) || artifact.size === 0) { + throw new Error(`Published artifact is missing or empty: ${publishedPath}`) + } + } + + const binPaths = new Set() + collectPaths(packageJson.bin, binPaths) + const cliPath = binPaths.values().next().value + if (typeof cliPath !== "string") throw new Error("Package metadata does not define a bin path.") + + const cliResult = Bun.spawnSync(["node", resolve(packageRoot, cliPath), "--help"], { + stdout: "inherit", + stderr: "inherit", + }) + if (cliResult.exitCode !== 0) throw new Error(`Node CLI help failed: ${cliPath}`) +} catch (error) { + await restorePackageJson(packageRoot, originalSource) + await rm(backupPath, { force: true }) + await removeStagedChangelog(packageRoot) + throw error +} diff --git a/packages/opencode-vpet/scripts/rewrite-vpet-core-declarations.ts b/packages/opencode-vpet/scripts/rewrite-vpet-core-declarations.ts new file mode 100644 index 0000000..f46ddf6 --- /dev/null +++ b/packages/opencode-vpet/scripts/rewrite-vpet-core-declarations.ts @@ -0,0 +1,44 @@ +import { readdir, readFile, writeFile } from "node:fs/promises" +import { dirname, join, relative, resolve } from "node:path" + +const packageRoot = resolve(import.meta.dir, "..") +const distRoot = resolve(packageRoot, "dist") +const vpetCoreImportPattern = /(?<=(?:from|export)\s+["'])@sbugallo\/vpet-core\/([^"']+)(?=["'])/g + +const toPublishedSubpath = (importPath: string): string => importPath.replace(/\.ts$/, ".js") + +const rewriteImportPath = (filePath: string, importPath: string): string => { + const target = join(distRoot, "vpet-core", toPublishedSubpath(importPath)) + const relativePath = relative(dirname(filePath), target).replace(/\\/g, "/") + return relativePath.startsWith(".") ? relativePath : `./${relativePath}` +} + +const rewriteFile = async (filePath: string): Promise => { + const original = await readFile(filePath, "utf8") + const rewritten = original.replace(vpetCoreImportPattern, (_match, importPath: string) => + rewriteImportPath(filePath, importPath), + ) + if (rewritten !== original) { + await writeFile(filePath, rewritten) + } +} + +const walkDeclarationFiles = async (directory: string): Promise => { + const entries = await readdir(directory, { withFileTypes: true }) + const files: string[] = [] + for (const entry of entries) { + const entryPath = join(directory, entry.name) + if (entry.isDirectory()) { + if (entry.name === "vpet-core") continue + files.push(...(await walkDeclarationFiles(entryPath))) + continue + } + if (entry.name.endsWith(".d.ts")) files.push(entryPath) + } + return files +} + +const declarationFiles = await walkDeclarationFiles(distRoot) +for (const declarationFile of declarationFiles) { + await rewriteFile(declarationFile) +} diff --git a/packages/opencode-vpet/scripts/stage-changelog.ts b/packages/opencode-vpet/scripts/stage-changelog.ts new file mode 100644 index 0000000..a3d37ea --- /dev/null +++ b/packages/opencode-vpet/scripts/stage-changelog.ts @@ -0,0 +1,33 @@ +import { copyFile, rm } from "node:fs/promises" +import { resolve } from "node:path" + +export const getMonorepoChangelogPath = (packageRoot: string): string => resolve(packageRoot, "../../CHANGELOG.md") + +export const getStagedChangelogPath = (packageRoot: string): string => resolve(packageRoot, "CHANGELOG.md") + +export const stageChangelog = async (packageRoot: string): Promise => { + const changelogSource = getMonorepoChangelogPath(packageRoot) + const changelogTarget = getStagedChangelogPath(packageRoot) + const source = Bun.file(changelogSource) + if (!(await source.exists()) || source.size === 0) { + throw new Error(`Monorepo changelog is missing or empty: ${changelogSource}`) + } + await copyFile(changelogSource, changelogTarget) +} + +export const removeStagedChangelog = async (packageRoot: string): Promise => { + await rm(getStagedChangelogPath(packageRoot), { force: true }) +} + +if (import.meta.main) { + const arguments_ = Bun.argv.slice(2) + if (arguments_[0] === "remove") { + const packageRoot = arguments_[1] + if (packageRoot === undefined) throw new Error("Expected remove .") + await removeStagedChangelog(resolve(packageRoot)) + } else { + const packageRoot = arguments_[0] + if (packageRoot === undefined) throw new Error("Expected .") + await stageChangelog(resolve(packageRoot)) + } +} diff --git a/packages/opencode-vpet/scripts/stage-vpet-core-sources.ts b/packages/opencode-vpet/scripts/stage-vpet-core-sources.ts new file mode 100644 index 0000000..b10fd7e --- /dev/null +++ b/packages/opencode-vpet/scripts/stage-vpet-core-sources.ts @@ -0,0 +1,14 @@ +import { existsSync } from "node:fs" +import { cp, rm } from "node:fs/promises" +import { resolve } from "node:path" + +const packageRoot = resolve(import.meta.dir, "..") +const workspaceSource = resolve(packageRoot, "../vpet-core/src") +const stagedSource = resolve(packageRoot, "build/vpet-core-src") + +if (existsSync(workspaceSource)) { + await rm(stagedSource, { recursive: true, force: true }) + await cp(workspaceSource, stagedSource, { recursive: true }) +} else if (!existsSync(stagedSource)) { + throw new Error("Missing vpet-core sources. Expected ../vpet-core/src or build/vpet-core-src.") +} diff --git a/packages/opencode-vpet/scripts/strip-workspace-deps.ts b/packages/opencode-vpet/scripts/strip-workspace-deps.ts new file mode 100644 index 0000000..736ffd5 --- /dev/null +++ b/packages/opencode-vpet/scripts/strip-workspace-deps.ts @@ -0,0 +1,39 @@ +import { readFile, writeFile } from "node:fs/promises" +import { resolve } from "node:path" + +type JsonObject = { readonly [key: string]: unknown } + +const isJsonObject = (value: unknown): value is JsonObject => + typeof value === "object" && value !== null && !Array.isArray(value) + +const withoutWorkspaceDependencies = (dependencies: unknown): JsonObject | undefined => { + if (!isJsonObject(dependencies)) return undefined + const filtered = Object.fromEntries( + Object.entries(dependencies).filter( + ([, version]) => typeof version !== "string" || !version.startsWith("workspace:"), + ), + ) + return Object.keys(filtered).length > 0 ? filtered : undefined +} + +export const stripWorkspaceDependencies = async (packageRoot: string): Promise => { + const packageJsonPath = resolve(packageRoot, "package.json") + const originalSource = await readFile(packageJsonPath, "utf8") + const packageMetadata = JSON.parse(originalSource) as JsonObject + if (!isJsonObject(packageMetadata)) throw new Error("package.json must contain an object.") + + const dependencies = withoutWorkspaceDependencies(packageMetadata.dependencies) + const publishMetadata = { ...packageMetadata } as Record + if (dependencies === undefined) { + delete publishMetadata.dependencies + } else { + publishMetadata.dependencies = dependencies + } + + await writeFile(packageJsonPath, `${JSON.stringify(publishMetadata, null, 2)}\n`) + return originalSource +} + +export const restorePackageJson = async (packageRoot: string, originalSource: string): Promise => { + await writeFile(resolve(packageRoot, "package.json"), originalSource) +} diff --git a/src/adapters/opencode/create-server-hooks.ts b/packages/opencode-vpet/src/adapters/opencode/create-server-hooks.ts similarity index 79% rename from src/adapters/opencode/create-server-hooks.ts rename to packages/opencode-vpet/src/adapters/opencode/create-server-hooks.ts index ea95956..0227583 100644 --- a/src/adapters/opencode/create-server-hooks.ts +++ b/packages/opencode-vpet/src/adapters/opencode/create-server-hooks.ts @@ -5,16 +5,20 @@ import { runVpetSpawnCommand } from "../../commands/vpet-spawn.ts" import { runVpetSetCommand } from "../../commands/vpet-set.ts" import { runVpetUnfreezeCommand } from "../../commands/vpet-unfreeze.ts" import type { VpetCommandEvent } from "../../commands/vpet-command-result.ts" -import { loadDigimonCatalog } from "../../data/catalog.ts" -import type { VpetLanguage } from "../../config/types.ts" -import type { DigimonCatalog } from "../../data/catalog.ts" -import type { PartnerLifecycle } from "../../application/ports/partner-lifecycle.ts" -import type { UsageLedger } from "../../application/ports/usage-ledger.ts" -import type { VpetControl } from "../../application/ports/vpet-control.ts" -import type { UsageProcessingResult } from "../../application/models/usage.ts" -import { reconcileUsage } from "../../application/use-cases/reconcile-usage.ts" -import { recordUsage } from "../../application/use-cases/record-usage.ts" -import { STAGE_GAUGE_THRESHOLDS, type EvolutionSelector, type StageThresholds } from "../../domain/evolution.ts" +import { loadDigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" +import type { VpetLanguage } from "@sbugallo/vpet-core/config/types.ts" +import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" +import type { PartnerLifecycle } from "@sbugallo/vpet-core/application/ports/partner-lifecycle.ts" +import type { UsageLedger } from "@sbugallo/vpet-core/application/ports/usage-ledger.ts" +import type { VpetControl } from "@sbugallo/vpet-core/application/ports/vpet-control.ts" +import type { UsageProcessingResult } from "@sbugallo/vpet-core/application/models/usage.ts" +import { reconcileUsage } from "@sbugallo/vpet-core/application/use-cases/reconcile-usage.ts" +import { recordUsage } from "@sbugallo/vpet-core/application/use-cases/record-usage.ts" +import { + STAGE_GAUGE_THRESHOLDS, + type EvolutionSelector, + type StageThresholds, +} from "@sbugallo/vpet-core/domain/evolution.ts" import type { SessionMessagesFetcher } from "./session-messages.ts" import { toCompletedUsageFromEvent, toCompletedUsageFromMessage } from "./usage-event-mapper.ts" import { formatVpetToast, type VpetToastEvent, type VpetToastNotifier } from "./vpet-toast.ts" @@ -41,6 +45,9 @@ const EMPTY_CATALOG: DigimonCatalog = Object.freeze({ nodes: Object.freeze([]), const toToastEvent = (result: UsageProcessingResult): VpetToastEvent | undefined => { switch (result.kind) { case "applied": + if (result.evolutionBattlePending !== undefined) { + return { kind: "evolution_battle", opponentNodeId: result.evolutionBattlePending.opponentNodeId } + } return result.evolution === undefined ? undefined : { kind: "evolution", ...result.evolution } case "duplicate": case "no_active_partner": @@ -70,9 +77,11 @@ const requiresCatalog = (event: VpetToastEvent): boolean => { case "spawn": case "set": case "evolution": + case "evolution_battle": return true case "freeze": case "unfreeze": + case "defeat": return false } } @@ -97,6 +106,19 @@ export const createServerHooks = ({ }: ServerHookDependencies): Hooks => { let closePromise: Promise | undefined + const notifyUsageResult = async (result: UsageProcessingResult, catalog: DigimonCatalog): Promise => { + if (result.kind !== "applied") return + + if (result.evolutionBattlePending !== undefined) { + const battleToast = toToastEvent(result) + if (battleToast !== undefined) await notifyEvent(battleToast, catalog) + return + } + + const toastEvent = toToastEvent(result) + if (toastEvent !== undefined) await notifyEvent(toastEvent, catalog) + } + const notifyEvent = async (event: VpetToastEvent, catalog?: DigimonCatalog): Promise => { if (!notificationsEnabled) return await Promise.resolve() @@ -174,11 +196,11 @@ export const createServerHooks = ({ usage, ledger: repository, digimonById: catalog.byId, + catalogNodes: catalog.nodes, selector: evolutionSelector, thresholds: evolutionThresholds, }) - const toastEvent = toToastEvent(result) - if (toastEvent !== undefined) await notifyEvent(toastEvent, catalog) + await notifyUsageResult(result, catalog) return } case "session.idle": { @@ -193,12 +215,12 @@ export const createServerHooks = ({ usages, ledger: repository, digimonById: catalog.byId, + catalogNodes: catalog.nodes, selector: evolutionSelector, thresholds: evolutionThresholds, }) for (const result of results) { - const toastEvent = toToastEvent(result) - if (toastEvent !== undefined) await notifyEvent(toastEvent, catalog) + await notifyUsageResult(result, catalog) } return } diff --git a/src/adapters/opencode/session-messages.ts b/packages/opencode-vpet/src/adapters/opencode/session-messages.ts similarity index 100% rename from src/adapters/opencode/session-messages.ts rename to packages/opencode-vpet/src/adapters/opencode/session-messages.ts diff --git a/src/adapters/opencode/usage-event-mapper.ts b/packages/opencode-vpet/src/adapters/opencode/usage-event-mapper.ts similarity index 92% rename from src/adapters/opencode/usage-event-mapper.ts rename to packages/opencode-vpet/src/adapters/opencode/usage-event-mapper.ts index fc90b92..0a105a9 100644 --- a/src/adapters/opencode/usage-event-mapper.ts +++ b/packages/opencode-vpet/src/adapters/opencode/usage-event-mapper.ts @@ -1,6 +1,6 @@ import type { AssistantMessage, Event, Message } from "@opencode-ai/sdk" -import type { CompletedUsage } from "../../application/use-cases/record-usage.ts" +import type { CompletedUsage } from "@sbugallo/vpet-core/application/use-cases/record-usage.ts" const isCompletedAssistantMessage = (message: Message): message is AssistantMessage => { return message.role === "assistant" && "time" in message && message.time.completed !== undefined diff --git a/src/adapters/opencode/vpet-toast.ts b/packages/opencode-vpet/src/adapters/opencode/vpet-toast.ts similarity index 78% rename from src/adapters/opencode/vpet-toast.ts rename to packages/opencode-vpet/src/adapters/opencode/vpet-toast.ts index beda2a6..1a1f3f8 100644 --- a/src/adapters/opencode/vpet-toast.ts +++ b/packages/opencode-vpet/src/adapters/opencode/vpet-toast.ts @@ -1,5 +1,5 @@ -import type { VpetLanguage } from "../../config/types.ts" -import type { DigimonCatalog, DigimonNode } from "../../data/catalog.ts" +import type { VpetLanguage } from "@sbugallo/vpet-core/config/types.ts" +import type { DigimonCatalog, DigimonNode } from "@sbugallo/vpet-core/data/catalog.ts" export type VpetToastPayload = Readonly<{ readonly title: string @@ -14,6 +14,8 @@ export type VpetToastEvent = | Readonly<{ readonly kind: "unfreeze" }> | Readonly<{ readonly kind: "set"; readonly nodeId: string }> | Readonly<{ readonly kind: "evolution"; readonly fromNodeId: string; readonly toNodeId: string }> + | Readonly<{ readonly kind: "evolution_battle"; readonly opponentNodeId: string }> + | Readonly<{ readonly kind: "defeat" }> export type VpetToastNotifier = (payload: VpetToastPayload) => Promise @@ -83,6 +85,24 @@ export const formatVpetToast = ( duration: 5_000, } } + case "evolution_battle": { + const opponentName = namedPayload(event.opponentNodeId, language, catalog) + return opponentName === undefined + ? undefined + : { + title: "Evolution battle", + message: `Battle against ${opponentName}! Win to evolve.`, + variant: "info", + duration: 5_000, + } + } + case "defeat": + return { + title: "Defeat", + message: "Defeat! You lost all tokens for this stage.", + variant: "info", + duration: 5_000, + } default: return assertNever(event) } diff --git a/src/adapters/sqlite/bun-sqlite-driver.ts b/packages/opencode-vpet/src/adapters/sqlite/bun-sqlite-driver.ts similarity index 77% rename from src/adapters/sqlite/bun-sqlite-driver.ts rename to packages/opencode-vpet/src/adapters/sqlite/bun-sqlite-driver.ts index 094bc24..af1dcdf 100644 --- a/src/adapters/sqlite/bun-sqlite-driver.ts +++ b/packages/opencode-vpet/src/adapters/sqlite/bun-sqlite-driver.ts @@ -2,14 +2,9 @@ import { mkdirSync } from "node:fs" import { dirname } from "node:path" import { Database } from "bun:sqlite" -export type QueryValue = string | number | boolean | null +import type { QueryValue, SqliteExecutor } from "@sbugallo/vpet-core/ports/sqlite-executor.ts" -export type SqliteExecutor = { - run: (sql: string, params?: readonly QueryValue[]) => void - get: >(sql: string, params?: readonly QueryValue[]) => TRow | null - all: >(sql: string, params?: readonly QueryValue[]) => readonly TRow[] - transaction: (operation: () => TReturn) => TReturn -} +export type { QueryValue, SqliteExecutor } from "@sbugallo/vpet-core/ports/sqlite-executor.ts" export const createExecutor = (database: Database): SqliteExecutor => ({ run(sql, params = []) { diff --git a/src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts b/packages/opencode-vpet/src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts similarity index 82% rename from src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts rename to packages/opencode-vpet/src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts index 115e367..49021b9 100644 --- a/src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts +++ b/packages/opencode-vpet/src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts @@ -1,14 +1,14 @@ import { existsSync } from "node:fs" -import type { SidebarSnapshot, SidebarSnapshotReader } from "../../application/ports/sidebar-snapshot.ts" -import { resolveHostDatabasePath, type HostPathOptions } from "./app-data-path.ts" +import type { SidebarSnapshot, SidebarSnapshotReader } from "@sbugallo/vpet-core/application/ports/sidebar-snapshot.ts" +import { resolveHostDatabasePath, type HostPathOptions } from "@sbugallo/vpet-core/adapters/sqlite/app-data-path.ts" import { createExecutor, openReadonlyDatabase } from "./bun-sqlite-driver.ts" import { ACTIVE_PARTNER_SELECT, toPartner, type PersistedPartnerRow, type TrainerStateRow, -} from "./sqlite-vpet-schema.ts" +} from "@sbugallo/vpet-core/adapters/sqlite/sqlite-vpet-schema.ts" export type CreateSqliteSidebarSnapshotReaderOptions = HostPathOptions & { readonly databasePath?: string } @@ -50,6 +50,8 @@ export const createSqliteSidebarSnapshotReader = ( frozen: false, isSetOverride: true, trainerTotalTokens: trainer?.total_tokens ?? 0, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, } } @@ -64,6 +66,8 @@ export const createSqliteSidebarSnapshotReader = ( frozen: control?.frozen === 1, isSetOverride: false, trainerTotalTokens: trainer?.total_tokens ?? 0, + pendingEvolutionTargetId: partner.pendingEvolutionTargetId, + battleOpponentNodeId: partner.battleOpponentNodeId, } } finally { database.close() diff --git a/src/adapters/sqlite/sqlite-vpet-archive-reader.ts b/packages/opencode-vpet/src/adapters/sqlite/sqlite-vpet-archive-reader.ts similarity index 87% rename from src/adapters/sqlite/sqlite-vpet-archive-reader.ts rename to packages/opencode-vpet/src/adapters/sqlite/sqlite-vpet-archive-reader.ts index d64076b..8acee45 100644 --- a/src/adapters/sqlite/sqlite-vpet-archive-reader.ts +++ b/packages/opencode-vpet/src/adapters/sqlite/sqlite-vpet-archive-reader.ts @@ -1,16 +1,20 @@ import { existsSync } from "node:fs" import { SQLiteError } from "bun:sqlite" -import type { VpetArchiveEvent, VpetArchivePartner, VpetArchiveResult } from "../../application/models/vpet-archive.ts" -import type { VpetArchiveReader } from "../../application/ports/vpet-archive.ts" -import { resolveHostDatabasePath, type HostPathOptions } from "./app-data-path.ts" +import type { + VpetArchiveEvent, + VpetArchivePartner, + VpetArchiveResult, +} from "@sbugallo/vpet-core/application/models/vpet-archive.ts" +import type { VpetArchiveReader } from "@sbugallo/vpet-core/application/ports/vpet-archive.ts" +import { resolveHostDatabasePath, type HostPathOptions } from "@sbugallo/vpet-core/adapters/sqlite/app-data-path.ts" import { createExecutor, openReadonlyDatabase, type SqliteExecutor } from "./bun-sqlite-driver.ts" import { ARCHIVE_PARTNER_EVENTS_SELECT, ARCHIVE_PARTNERS_SELECT, type PersistedPartnerEventRow, type PersistedPartnerRow, -} from "./sqlite-vpet-schema.ts" +} from "@sbugallo/vpet-core/adapters/sqlite/sqlite-vpet-schema.ts" export type CreateSqliteVpetArchiveReaderOptions = HostPathOptions & { readonly databasePath?: string } diff --git a/packages/opencode-vpet/src/adapters/sqlite/sqlite-vpet-write-store.ts b/packages/opencode-vpet/src/adapters/sqlite/sqlite-vpet-write-store.ts new file mode 100644 index 0000000..fe1f7c1 --- /dev/null +++ b/packages/opencode-vpet/src/adapters/sqlite/sqlite-vpet-write-store.ts @@ -0,0 +1,29 @@ +import type { SqliteVpetWriteStore } from "@sbugallo/vpet-core/adapters/sqlite/sqlite-vpet-types.ts" +import { resolveHostDatabasePath, type HostPathOptions } from "@sbugallo/vpet-core/adapters/sqlite/app-data-path.ts" +import { createSqliteVpetWriteStore } from "@sbugallo/vpet-core/adapters/sqlite/sqlite-vpet-write-store.ts" +import { createExecutor, openWritableDatabase } from "./bun-sqlite-driver.ts" + +export type CreateSqliteVpetRepositoryOptions = HostPathOptions & { readonly databasePath?: string } + +export { resolveHostDatabasePath } +export type { HostPathOptions } from "@sbugallo/vpet-core/adapters/sqlite/app-data-path.ts" +export type { + PersistedPartnerEvent, + SqliteVpetWriteStore, +} from "@sbugallo/vpet-core/adapters/sqlite/sqlite-vpet-types.ts" + +export const createSqliteVpetRepository = async ( + options: CreateSqliteVpetRepositoryOptions = {}, +): Promise => { + const databasePath = options.databasePath ?? resolveHostDatabasePath(options) + const database = openWritableDatabase(databasePath) + const executor = createExecutor(database) + + return createSqliteVpetWriteStore({ + databasePath, + executor, + close: () => { + database.close() + }, + }) +} diff --git a/src/cli.ts b/packages/opencode-vpet/src/cli.ts similarity index 100% rename from src/cli.ts rename to packages/opencode-vpet/src/cli.ts diff --git a/src/cli/install.ts b/packages/opencode-vpet/src/cli/install.ts similarity index 100% rename from src/cli/install.ts rename to packages/opencode-vpet/src/cli/install.ts diff --git a/src/commands/vpet-command-result.ts b/packages/opencode-vpet/src/commands/vpet-command-result.ts similarity index 100% rename from src/commands/vpet-command-result.ts rename to packages/opencode-vpet/src/commands/vpet-command-result.ts diff --git a/src/commands/vpet-freeze.ts b/packages/opencode-vpet/src/commands/vpet-freeze.ts similarity index 81% rename from src/commands/vpet-freeze.ts rename to packages/opencode-vpet/src/commands/vpet-freeze.ts index 337cbd6..af72b47 100644 --- a/src/commands/vpet-freeze.ts +++ b/packages/opencode-vpet/src/commands/vpet-freeze.ts @@ -1,5 +1,5 @@ -import type { VpetControl } from "../application/ports/vpet-control.ts" -import { freezeVpet } from "../application/use-cases/freeze-vpet.ts" +import type { VpetControl } from "@sbugallo/vpet-core/application/ports/vpet-control.ts" +import { freezeVpet } from "@sbugallo/vpet-core/application/use-cases/freeze-vpet.ts" import type { VpetCommandResult } from "./vpet-command-result.ts" export type VpetFreezeContext = { diff --git a/src/commands/vpet-set.ts b/packages/opencode-vpet/src/commands/vpet-set.ts similarity index 86% rename from src/commands/vpet-set.ts rename to packages/opencode-vpet/src/commands/vpet-set.ts index 3eb33c2..50ad975 100644 --- a/src/commands/vpet-set.ts +++ b/packages/opencode-vpet/src/commands/vpet-set.ts @@ -1,8 +1,8 @@ import type { Part } from "@opencode-ai/sdk" -import type { VpetControl } from "../application/ports/vpet-control.ts" -import { setVpetCheatNode } from "../application/use-cases/set-vpet-cheat-node.ts" -import type { DigimonCatalog } from "../data/catalog.ts" +import type { VpetControl } from "@sbugallo/vpet-core/application/ports/vpet-control.ts" +import { setVpetCheatNode } from "@sbugallo/vpet-core/application/use-cases/set-vpet-cheat-node.ts" +import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" import type { VpetCommandResult } from "./vpet-command-result.ts" export type VpetSetContext = { diff --git a/src/commands/vpet-spawn.ts b/packages/opencode-vpet/src/commands/vpet-spawn.ts similarity index 79% rename from src/commands/vpet-spawn.ts rename to packages/opencode-vpet/src/commands/vpet-spawn.ts index 51fa9a5..e8bb863 100644 --- a/src/commands/vpet-spawn.ts +++ b/packages/opencode-vpet/src/commands/vpet-spawn.ts @@ -1,5 +1,5 @@ -import type { PartnerLifecycle } from "../application/ports/partner-lifecycle.ts" -import { spawnPartner } from "../application/use-cases/spawn-partner.ts" +import type { PartnerLifecycle } from "@sbugallo/vpet-core/application/ports/partner-lifecycle.ts" +import { spawnPartner } from "@sbugallo/vpet-core/application/use-cases/spawn-partner.ts" import type { VpetCommandResult } from "./vpet-command-result.ts" export type VpetSpawnContext = { diff --git a/src/commands/vpet-unfreeze.ts b/packages/opencode-vpet/src/commands/vpet-unfreeze.ts similarity index 81% rename from src/commands/vpet-unfreeze.ts rename to packages/opencode-vpet/src/commands/vpet-unfreeze.ts index 1383760..8ba9b1d 100644 --- a/src/commands/vpet-unfreeze.ts +++ b/packages/opencode-vpet/src/commands/vpet-unfreeze.ts @@ -1,5 +1,5 @@ -import type { VpetControl } from "../application/ports/vpet-control.ts" -import { unfreezeVpet } from "../application/use-cases/unfreeze-vpet.ts" +import type { VpetControl } from "@sbugallo/vpet-core/application/ports/vpet-control.ts" +import { unfreezeVpet } from "@sbugallo/vpet-core/application/use-cases/unfreeze-vpet.ts" import type { VpetCommandResult } from "./vpet-command-result.ts" export type VpetUnfreezeContext = { diff --git a/src/config/global-vpet-settings.ts b/packages/opencode-vpet/src/config/global-vpet-settings.ts similarity index 83% rename from src/config/global-vpet-settings.ts rename to packages/opencode-vpet/src/config/global-vpet-settings.ts index 5529952..a16f4b3 100644 --- a/src/config/global-vpet-settings.ts +++ b/packages/opencode-vpet/src/config/global-vpet-settings.ts @@ -3,18 +3,16 @@ import { readFile } from "node:fs/promises" import { homedir } from "node:os" import { join } from "node:path" -import { DEFAULT_VPET_SETTINGS } from "./defaults.ts" -import { normalizeVpetSettings } from "./normalize.ts" -import type { ResolvedVpetSettings } from "./types.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" +import { normalizeVpetSettings } from "@sbugallo/vpet-core/config/normalize.ts" +import type { ResolvedVpetSettings } from "@sbugallo/vpet-core/config/types.ts" type PathApi = Readonly<{ join: (...paths: readonly string[]) => string }> export type GlobalVpetConfigOptions = Readonly<{ - readonly env?: Readonly<{ - readonly APPDATA?: string - }> + readonly env?: NodeJS.ProcessEnv readonly home?: string readonly pathApi?: PathApi readonly platform?: NodeJS.Platform diff --git a/src/index.ts b/packages/opencode-vpet/src/index.ts similarity index 86% rename from src/index.ts rename to packages/opencode-vpet/src/index.ts index e14b948..1d41a2b 100644 --- a/src/index.ts +++ b/packages/opencode-vpet/src/index.ts @@ -5,11 +5,11 @@ import { createSessionMessagesFetcher } from "./adapters/opencode/session-messag import { createBestEffortVpetToastNotifier } from "./adapters/opencode/vpet-toast.ts" import { createSqliteVpetRepository } from "./adapters/sqlite/sqlite-vpet-write-store.ts" import { loadGlobalVpetSettings } from "./config/global-vpet-settings.ts" -import type { ResolvedVpetSettings } from "./config/types.ts" -import type { StageThresholds } from "./domain/evolution.ts" +import type { ResolvedVpetSettings } from "@sbugallo/vpet-core/config/types.ts" +import type { StageThresholds } from "@sbugallo/vpet-core/domain/evolution.ts" export { createCommandConfig } from "./adapters/opencode/create-server-hooks.ts" -export { DIGIMON_DATA } from "./data/digimon-data.js" -export type { DigimonId, DigimonRecord, DigimonStage } from "./data/digimon-data.js" +export { DIGIMON_DATA } from "@sbugallo/vpet-core/data/digimon-data.ts" +export type { DigimonId, DigimonRecord, DigimonStage } from "@sbugallo/vpet-core/data/digimon-data.ts" const getStringOption = (options: PluginOptions | undefined, name: string): string | undefined => { const value = options?.[name] diff --git a/src/tui.tsx b/packages/opencode-vpet/src/tui.tsx similarity index 58% rename from src/tui.tsx rename to packages/opencode-vpet/src/tui.tsx index c9a0583..65ce3c4 100644 --- a/src/tui.tsx +++ b/packages/opencode-vpet/src/tui.tsx @@ -7,18 +7,27 @@ import { createSignal } from "solid-js" import { createSqliteSidebarSnapshotReader } from "./adapters/sqlite/sqlite-sidebar-snapshot-reader.ts" import { createSqliteVpetArchiveReader } from "./adapters/sqlite/sqlite-vpet-archive-reader.ts" -import type { SidebarCardInputs } from "./application/models/sidebar-card-inputs.ts" -import type { VpetArchiveReader } from "./application/ports/vpet-archive.ts" -import { getSidebarCardInputs } from "./application/use-cases/get-sidebar-card-inputs.ts" +import { createSqliteVpetRepository } from "./adapters/sqlite/sqlite-vpet-write-store.ts" +import type { SidebarCardInputs } from "@sbugallo/vpet-core/application/models/sidebar-card-inputs.ts" +import type { SidebarSnapshot } from "@sbugallo/vpet-core/application/ports/sidebar-snapshot.ts" +import type { VpetArchiveReader } from "@sbugallo/vpet-core/application/ports/vpet-archive.ts" +import { getSidebarCardInputs } from "@sbugallo/vpet-core/application/use-cases/get-sidebar-card-inputs.ts" +import type { EvolutionBattleRepository } from "@sbugallo/vpet-core/application/use-cases/resolve-evolution-battle.ts" import { loadGlobalVpetSettings } from "./config/global-vpet-settings.ts" -import type { ResolvedVpetSettings } from "./config/types.ts" -import { DIGIMON_CATALOG } from "./data/catalog.ts" -import { MONSTER_FRAME_CATALOG } from "./data/monster-frame-catalog.ts" +import type { ResolvedVpetSettings } from "@sbugallo/vpet-core/config/types.ts" +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" import { VpetSidebarCard } from "./tui/sidebar-card.tsx" +import { + DEFAULT_BATTLE_ARTWORK_WIDTH, + runEvolutionBattleSession, +} from "./tui/evolution-battle-session.ts" +import { runEvolutionRevealSession } from "./tui/evolution-reveal-session.ts" import { MonsterAnimationController, type MonsterAnimationOutput } from "./tui/monster-animation.ts" import { createSidebarPollLoop } from "./tui/sidebar-poll-loop.ts" -import { buildSidebarCardModel } from "./tui/sidebar-view-model.ts" +import { buildSidebarCardModel } from "@sbugallo/vpet-core/view-models/sidebar-view-model.ts" import { registerVpetCommandLayer } from "./tui/vpet-command-layer.tsx" +import { formatVpetToast, type VpetToastEvent, type VpetToastNotifier } from "./adapters/opencode/vpet-toast.ts" const VISUAL_INTERVAL_MS = 500 @@ -63,6 +72,10 @@ type TuiSchedulingOptions = { readonly random?: () => number readonly onAnimation?: (output: MonsterAnimationOutput) => void readonly archiveReader?: VpetArchiveReader + readonly battleRepository?: EvolutionBattleRepository + readonly getSnapshot?: () => SidebarSnapshot | null + readonly notify?: VpetToastNotifier + readonly closeBattleRepository?: () => Promise } const sameAnimation = (left: MonsterAnimationOutput, right: MonsterAnimationOutput): boolean => @@ -89,12 +102,99 @@ export const createTui = offset: 0, facing: "left", }) + const [customArtwork, setCustomArtwork] = createSignal() const controller = new MonsterAnimationController( MONSTER_FRAME_CATALOG, scheduling.random ?? Math.random, scheduling.nowMs, ) let disposed = false + let battleInProgress = false + let lastPresentedNodeId: string | undefined + let artworkWidth = DEFAULT_BATTLE_ARTWORK_WIDTH + const notifyEvent = async (event: VpetToastEvent): Promise => { + if (scheduling.notify === undefined) return + const payload = formatVpetToast(event, settings.language, DIGIMON_CATALOG) + if (payload !== undefined) await scheduling.notify(payload) + } + const tryResolveEvolutionBattle = async (): Promise => { + if ( + disposed || + battleInProgress || + scheduling.battleRepository === undefined || + scheduling.getSnapshot === undefined + ) { + return false + } + const snapshot = scheduling.getSnapshot() + if (snapshot === null) return false + if (snapshot.pendingEvolutionTargetId === null || snapshot.battleOpponentNodeId === null) return false + + battleInProgress = true + try { + const battled = await runEvolutionBattleSession(snapshot, artworkWidth, { + frameCatalog: MONSTER_FRAME_CATALOG, + digimonCatalog: DIGIMON_CATALOG, + repository: scheduling.battleRepository, + ...(scheduling.random === undefined ? {} : { random: scheduling.random }), + onArtwork: async (artwork) => { + setCustomArtwork(artwork) + api.renderer.requestRender() + }, + onResolved: async (result) => { + if (result.kind === "won") { + await notifyEvent({ kind: "evolution", ...result.evolution }) + } else if (result.kind === "lost") { + await notifyEvent({ kind: "defeat" }) + } + }, + }) + if (battled) { + setCustomArtwork(undefined) + const nextInputs = await Promise.resolve().then(() => loadInputs()) + if (nextInputs.kind === "partner") lastPresentedNodeId = nextInputs.node.id + setInputs(nextInputs) + syncAnimation(nextInputs) + api.renderer.requestRender() + } + return battled + } finally { + battleInProgress = false + setCustomArtwork(undefined) + } + } + const tryPlayEvolutionReveal = async (nextInputs: SidebarCardInputs): Promise => { + if (disposed || battleInProgress) return false + if (nextInputs.kind !== "partner" || nextInputs.evolutionBattlePending) return false + if (lastPresentedNodeId === undefined) { + lastPresentedNodeId = nextInputs.node.id + return false + } + if (lastPresentedNodeId === nextInputs.node.id) return false + + const evolution = { fromNodeId: lastPresentedNodeId, toNodeId: nextInputs.node.id } + battleInProgress = true + try { + const revealed = await runEvolutionRevealSession(evolution, artworkWidth, { + frameCatalog: MONSTER_FRAME_CATALOG, + digimonCatalog: DIGIMON_CATALOG, + onArtwork: async (artwork) => { + setCustomArtwork(artwork) + api.renderer.requestRender() + }, + }) + if (!revealed) return false + lastPresentedNodeId = nextInputs.node.id + setCustomArtwork(undefined) + setInputs(nextInputs) + syncAnimation(nextInputs) + api.renderer.requestRender() + return true + } finally { + battleInProgress = false + setCustomArtwork(undefined) + } + } const publish = (nextAnimation: MonsterAnimationOutput): boolean => { if (sameAnimation(animation(), nextAnimation)) return false setAnimation(nextAnimation) @@ -116,9 +216,23 @@ export const createTui = intervalMs: VISUAL_INTERVAL_MS, load: async () => loadInputs(), apply: (nextInputs) => { - setInputs(nextInputs) - syncAnimation(nextInputs) - api.renderer.requestRender() + void (async () => { + if (await tryResolveEvolutionBattle()) { + if (disposed) return + poller.refresh() + return + } + if (await tryPlayEvolutionReveal(nextInputs)) { + if (disposed) return + poller.refresh() + return + } + if (disposed || battleInProgress) return + if (nextInputs.kind === "partner") lastPresentedNodeId = nextInputs.node.id + setInputs(nextInputs) + syncAnimation(nextInputs) + api.renderer.requestRender() + })() }, schedule: (callback, intervalMs) => ( @@ -137,7 +251,7 @@ export const createTui = return () => clearInterval(handle) }) )(() => { - if (disposed) return + if (disposed || battleInProgress) return const nextAnimation = controller.dispatch({ kind: "tick" }) publish(nextAnimation) scheduling.onAnimation?.(nextAnimation) @@ -194,6 +308,7 @@ export const createTui = poller.dispose() stopVisualInterval() for (const unsubscribe of unsubscribes) unsubscribe() + void scheduling.closeBattleRepository?.() }) api.slots.register({ @@ -203,8 +318,10 @@ export const createTui = buildSidebarCardModel(inputs(), settings)} animation={animation} + customArtwork={customArtwork} onArtworkWidthChange={(width) => { if (disposed) return + artworkWidth = width if (publish(controller.dispatch({ kind: "viewport_resized", width }))) api.renderer.requestRender() }} /> @@ -215,10 +332,29 @@ export const createTui = } export const tui: TuiPlugin = async (api, options) => { - const reader = createSqliteSidebarSnapshotReader(readerOptions(options)) - const archiveReader = createSqliteVpetArchiveReader(readerOptions(options)) + const databaseOptions = readerOptions(options) + const reader = createSqliteSidebarSnapshotReader(databaseOptions) + const battleRepository = await createSqliteVpetRepository(databaseOptions) + const archiveReader = createSqliteVpetArchiveReader(databaseOptions) const settings = await loadGlobalVpetSettings() - await createTui(() => getSidebarCardInputs(reader, DIGIMON_CATALOG), settings, { archiveReader })({ + await createTui(() => getSidebarCardInputs(reader, DIGIMON_CATALOG), settings, { + archiveReader, + battleRepository, + getSnapshot: () => reader.getSidebarSnapshot(), + ...( "client" in api && api.client !== undefined && "tui" in api.client + ? { + notify: async (payload): Promise => { + void api.client.tui.showToast({ + title: payload.title, + message: payload.message, + variant: payload.variant, + duration: payload.duration, + }) + }, + } + : {}), + closeBattleRepository: () => battleRepository.close(), + })({ event: { on: (...subscription) => { switch (subscription[0]) { diff --git a/packages/opencode-vpet/src/tui/defeat-artwork.ts b/packages/opencode-vpet/src/tui/defeat-artwork.ts new file mode 100644 index 0000000..9ae1f75 --- /dev/null +++ b/packages/opencode-vpet/src/tui/defeat-artwork.ts @@ -0,0 +1,67 @@ +import type { MonsterFrameCatalog } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import type { MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +const FRAME_ROWS = 8 +const FRAME_COLUMNS = 16 + +export const DEFEAT_CYCLE_MS = 550 +export const DEFEAT_CYCLES = 5 +export const DEFEAT_PRE_ANIMATION_MS = 300 + +const NORMAL_FRAME: MonsterFrameName = "walk_1" +const SAD_FRAMES: readonly MonsterFrameName[] = ["refuse", "injured_1"] + +export type DefeatArtworkScene = { + readonly sad: boolean + readonly sadAlt: boolean +} + +const frameLines = (catalog: MonsterFrameCatalog, sprite: string, frameName: MonsterFrameName): string[] => { + const frame = catalog.get(sprite, frameName) ?? catalog.get(sprite, "walk_1") + if (frame === undefined) return Array.from({ length: FRAME_ROWS }, () => " ".repeat(FRAME_COLUMNS)) + return frame.content.split("\n") +} + +const sadFrameFor = (catalog: MonsterFrameCatalog, sprite: string, sadAlt: boolean): MonsterFrameName => { + const preferred = sadAlt ? SAD_FRAMES[1] : SAD_FRAMES[0] + if (preferred !== undefined && catalog.get(sprite, preferred) !== undefined) return preferred + const fallback = SAD_FRAMES.find((frameName) => catalog.get(sprite, frameName) !== undefined) + return fallback ?? "injured_1" +} + +const centerArtwork = (rows: readonly string[], viewportWidth: number): string => { + const padding = Math.max(Math.floor((viewportWidth - FRAME_COLUMNS) / 2), 0) + return rows.map((row) => `${" ".repeat(padding)}${row}`).join("\n") +} + +export const renderDefeatArtwork = ( + catalog: MonsterFrameCatalog, + sprite: string, + scene: DefeatArtworkScene, + viewportWidth: number, +): string => { + const frameName = scene.sad ? sadFrameFor(catalog, sprite, scene.sadAlt) : NORMAL_FRAME + const spriteRows = frameLines(catalog, sprite, frameName) + return centerArtwork(spriteRows, viewportWidth) +} + +export const sleep = (ms: number): Promise => + new Promise((resolve) => { + setTimeout(resolve, ms) + }) + +export const runDefeatAnimation = async ( + catalog: MonsterFrameCatalog, + sprite: string, + viewportWidth: number, + onFrame: (artwork: string) => Promise, +): Promise => { + await sleep(DEFEAT_PRE_ANIMATION_MS) + + for (let cycle = 0; cycle < DEFEAT_CYCLES; cycle += 1) { + const sad = cycle % 2 === 1 + const sadAlt = cycle % 4 >= 2 + await onFrame(renderDefeatArtwork(catalog, sprite, { sad, sadAlt }, viewportWidth)) + if (cycle < DEFEAT_CYCLES - 1) await sleep(DEFEAT_CYCLE_MS) + } +} diff --git a/packages/opencode-vpet/src/tui/evolution-artwork.ts b/packages/opencode-vpet/src/tui/evolution-artwork.ts new file mode 100644 index 0000000..e03f034 --- /dev/null +++ b/packages/opencode-vpet/src/tui/evolution-artwork.ts @@ -0,0 +1,138 @@ +import type { MonsterFrameCatalog } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import type { MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +const FRAME_ROWS = 8 +const FRAME_COLUMNS = 16 + +export const EVOLUTION_PRE_ANIMATION_MS = 400 +export const EVOLUTION_GLOW_MS = 700 +export const EVOLUTION_MORPH_MS = 1300 +export const EVOLUTION_REVEAL_MS = 1500 +export const EVOLUTION_TICK_MS = 70 + +const GLOW_GLYPHS = "▄▀█░" + +export type EvolutionArtworkPhase = "glow" | "morph" | "reveal" + +export type EvolutionArtworkScene = { + readonly phase: EvolutionArtworkPhase + readonly progress: number +} + +const frameLines = (catalog: MonsterFrameCatalog, sprite: string, frameName: MonsterFrameName): string[] => { + const frame = catalog.get(sprite, frameName) ?? catalog.get(sprite, "walk_1") + if (frame === undefined) return Array.from({ length: FRAME_ROWS }, () => " ".repeat(FRAME_COLUMNS)) + return frame.content.split("\n") +} + +const padRow = (row: string, width: number): string => row.padEnd(width, " ").slice(0, width) + +const centerArtwork = (rows: readonly string[], viewportWidth: number): string => { + const padding = Math.max(Math.floor((viewportWidth - FRAME_COLUMNS) / 2), 0) + return rows.map((row) => `${" ".repeat(padding)}${row}`).join("\n") +} + +const glowRow = (row: string, intensity: number, tick: number): string => { + const cells = Array.from(padRow(row, FRAME_COLUMNS)) + return cells + .map((cell, column) => { + if (cell === " ") return cell + const wave = Math.sin((column + tick) * 0.85) * 0.5 + 0.5 + if (wave < intensity) return cell + const glyph = GLOW_GLYPHS[(column + tick) % GLOW_GLYPHS.length] ?? "█" + return glyph + }) + .join("") +} + +const morphRow = (fromRow: string, toRow: string, progress: number, rowIndex: number): string => { + const from = Array.from(padRow(fromRow, FRAME_COLUMNS)) + const to = Array.from(padRow(toRow, FRAME_COLUMNS)) + return from + .map((fromCell, column) => { + const toCell = to[column] ?? " " + const threshold = (column / FRAME_COLUMNS) * 0.65 + (rowIndex / FRAME_ROWS) * 0.35 + if (progress >= threshold) return toCell === " " ? fromCell : toCell + return fromCell + }) + .join("") +} + +const applyGlow = (rows: string[], progress: number, tick: number): string[] => + rows.map((row, rowIndex) => glowRow(row, progress * 0.75 + rowIndex * 0.02, tick + rowIndex)) + +const applyMorph = (fromRows: string[], toRows: string[], progress: number): string[] => + fromRows.map((fromRow, rowIndex) => morphRow(fromRow, toRows[rowIndex] ?? "", progress, rowIndex)) + +export const renderEvolutionArtwork = ( + catalog: MonsterFrameCatalog, + fromSprite: string, + toSprite: string, + scene: EvolutionArtworkScene, + viewportWidth: number, + tick = 0, +): string => { + const fromRows = frameLines(catalog, fromSprite, "walk_1") + const toRows = frameLines(catalog, toSprite, "walk_1") + const happyRows = frameLines(catalog, toSprite, "happy") + + let spriteRows: string[] + switch (scene.phase) { + case "glow": + spriteRows = applyGlow(fromRows, scene.progress, tick) + break + case "morph": + spriteRows = applyMorph(fromRows, toRows, scene.progress) + break + case "reveal": { + const revealBlend = scene.progress < 0.35 ? applyMorph(toRows, happyRows, scene.progress / 0.35) : happyRows + spriteRows = revealBlend + break + } + } + + return centerArtwork(spriteRows, viewportWidth) +} + +export const sleep = (ms: number): Promise => + new Promise((resolve) => { + setTimeout(resolve, ms) + }) + +const animatePhase = async ( + catalog: MonsterFrameCatalog, + fromSprite: string, + toSprite: string, + viewportWidth: number, + phase: EvolutionArtworkPhase, + durationMs: number, + onFrame: (artwork: string) => Promise, +): Promise => { + const steps = Math.max(1, Math.ceil(durationMs / EVOLUTION_TICK_MS)) + for (let step = 0; step <= steps; step += 1) { + const progress = step / steps + const artwork = renderEvolutionArtwork( + catalog, + fromSprite, + toSprite, + { phase, progress }, + viewportWidth, + step, + ) + await onFrame(artwork) + if (step < steps) await sleep(EVOLUTION_TICK_MS) + } +} + +export const runEvolutionAnimation = async ( + catalog: MonsterFrameCatalog, + fromSprite: string, + toSprite: string, + viewportWidth: number, + onFrame: (artwork: string) => Promise, +): Promise => { + await sleep(EVOLUTION_PRE_ANIMATION_MS) + await animatePhase(catalog, fromSprite, toSprite, viewportWidth, "glow", EVOLUTION_GLOW_MS, onFrame) + await animatePhase(catalog, fromSprite, toSprite, viewportWidth, "morph", EVOLUTION_MORPH_MS, onFrame) + await animatePhase(catalog, fromSprite, toSprite, viewportWidth, "reveal", EVOLUTION_REVEAL_MS, onFrame) +} diff --git a/packages/opencode-vpet/src/tui/evolution-battle-artwork.ts b/packages/opencode-vpet/src/tui/evolution-battle-artwork.ts new file mode 100644 index 0000000..7bc7bd0 --- /dev/null +++ b/packages/opencode-vpet/src/tui/evolution-battle-artwork.ts @@ -0,0 +1,510 @@ +import type { MonsterFrameCatalog } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import type { MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { mirrorMonsterFrame } from "./monster-artwork-mirror.ts" + +const FRAME_ROWS = 8 +const FRAME_COLUMNS = 16 +const BATTLE_GAP_COLUMNS = 12 + +export const EVOLUTION_BATTLE_HITS_TO_WIN = 3 +export const EVOLUTION_BATTLE_MAX_SHOTS = 24 +export const EVOLUTION_BATTLE_INTRO_MS = 1600 +export const EVOLUTION_BATTLE_TRAVEL_MS = 900 +export const EVOLUTION_BATTLE_PAUSE_MS = 550 +export const EVOLUTION_BATTLE_IMPACT_MS = 650 +export const EVOLUTION_BATTLE_OUTCOME_MS = 1400 +export const EVOLUTION_BATTLE_TICK_MS = 70 + +/** FIGlet-style BATTLE banner. */ +export const BATTLE_FIGLET_LINES = Object.freeze([ + "██████╗ █████╗ ████████╗████████╗██╗ ███████╗", + "██╔══██╗██╔══██╗╚══██╔══╝╚══██╔══╝██║ ██╔════╝", + "██████╔╝███████║ ██║ ██║ ██║ █████╗ ", + "██╔══██╗██╔══██║ ██║ ██║ ██║ ██╔══╝ ", + "██████╔╝██║ ██║ ██║ ██║ ███████╗███████╗", + "╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝", +]) + +export const buildBattleIntroTextLines = (): readonly string[] => BATTLE_FIGLET_LINES + +/** Block-style flame sprite matching Digimon ASCII art. */ +export const FIREBALL_LINES = Object.freeze([" ▄▀▄ ", "▄█▀▀█", " ▀▀▀ "]) + +const FIREBALL_ROWS = FIREBALL_LINES.length +const FIREBALL_COLUMNS = FIREBALL_LINES[0]?.length ?? 0 +const FIREBALL_START_ROW = Math.floor((FRAME_ROWS - FIREBALL_ROWS) / 2) + +const IMPACT_LINES = Object.freeze([" ▄█▄ ", " █▀█ ", " ▀▀▀ "]) +const IMPACT_ROWS = IMPACT_LINES.length +const IMPACT_START_ROW = FIREBALL_START_ROW + +export type EvolutionBattleShooter = "player" | "opponent" +export type EvolutionBattleOutcome = EvolutionBattleShooter +export type BattleSpritePose = "attack" | "injured" | "happy" | "idle" +export type EvolutionBattleResultLabel = "hit" | "miss" | null + +export type EvolutionBattleShot = { + readonly shooter: EvolutionBattleShooter + readonly hit: boolean +} + +export type EvolutionBattleScene = { + readonly shooter: EvolutionBattleShooter | null + readonly progress: number + readonly playerPose: BattleSpritePose + readonly opponentPose: BattleSpritePose + readonly playerInjuredAlt: boolean + readonly opponentInjuredAlt: boolean + readonly playerHits: number + readonly opponentHits: number + readonly lastResult: EvolutionBattleResultLabel + readonly outcomeLabel: string | null +} + +const poseToFrame = (pose: BattleSpritePose, injuredAlt: boolean): MonsterFrameName => { + switch (pose) { + case "attack": + return "attack" + case "injured": + return injuredAlt ? "injured_2" : "injured_1" + case "happy": + return "happy" + default: + return "walk_1" + } +} + +const frameLines = ( + catalog: MonsterFrameCatalog, + sprite: string, + facing: "left" | "right", + pose: BattleSpritePose, + injuredAlt: boolean, +): string[] => { + const frameName = poseToFrame(pose, injuredAlt) + const frame = catalog.get(sprite, frameName) ?? catalog.get(sprite, "walk_1") + if (frame === undefined) return Array.from({ length: FRAME_ROWS }, () => " ".repeat(FRAME_COLUMNS)) + if (facing === "right") { + const mirrored = mirrorMonsterFrame(frame) + if (mirrored.kind === "mirrored") return mirrored.frame.content.split("\n") + } + return frame.content.split("\n") +} + +const padRow = (row: string, width: number): string => row.padEnd(width, " ").slice(0, width) + +const overlayAt = (base: string, overlay: string, startColumn: number): string => { + const result = base.split("") + for (let index = 0; index < overlay.length; index += 1) { + const column = startColumn + index + if (column < 0 || column >= result.length) continue + const character = overlay[index] + if (character !== undefined && character !== " ") result[column] = character + } + return result.join("") +} + +const centerText = (width: number, text: string): string => { + const start = Math.max(0, Math.floor((width - text.length) / 2)) + return `${" ".repeat(start)}${text}`.padEnd(width, " ").slice(0, width) +} + +export const BATTLE_SCORE_HIT_PIP = "█" +export const BATTLE_SCORE_MISS_PIP = "░" + +export const buildBattleScorePips = ( + hits: number, + total: number = EVOLUTION_BATTLE_HITS_TO_WIN, +): string => + Array.from({ length: total }, (_, index) => + index < hits ? BATTLE_SCORE_HIT_PIP : BATTLE_SCORE_MISS_PIP, + ).join("") + +export const buildBattleScoreRow = ( + playerHits: number, + opponentHits: number, + width: number = BATTLE_GAP_COLUMNS, +): string => { + const playerPips = buildBattleScorePips(playerHits) + const opponentPips = buildBattleScorePips(opponentHits) + const spacer = Math.max(1, width - playerPips.length - opponentPips.length) + return `${playerPips}${" ".repeat(spacer)}${opponentPips}`.padEnd(width, " ").slice(0, width) +} + +const mirrorFireballLine = (line: string): string => Array.from(line).reverse().join("") + +const fireballLinesForShooter = (shooter: EvolutionBattleShooter): readonly string[] => + shooter === "opponent" ? FIREBALL_LINES.map(mirrorFireballLine) : FIREBALL_LINES + +const fireballColumn = (shooter: EvolutionBattleShooter, progress: number): number => { + const travel = BATTLE_GAP_COLUMNS - FIREBALL_COLUMNS + const clamped = Math.max(0, Math.min(1, progress)) + if (shooter === "player") return Math.round(clamped * travel) + return Math.round((1 - clamped) * travel) +} + +const impactColumn = (shooter: EvolutionBattleShooter): number => { + if (shooter === "player") return BATTLE_GAP_COLUMNS - IMPACT_LINES[0]!.length + return 0 +} + +const renderFireballInGap = (gapRows: string[], shooter: EvolutionBattleShooter, progress: number): void => { + const startColumn = fireballColumn(shooter, progress) + const fireballLines = fireballLinesForShooter(shooter) + for (let rowIndex = 0; rowIndex < FIREBALL_ROWS; rowIndex += 1) { + const gapRow = FIREBALL_START_ROW + rowIndex + const fireballLine = fireballLines[rowIndex] ?? "" + gapRows[gapRow] = overlayAt(gapRows[gapRow] ?? "", fireballLine, startColumn) + } +} + +const renderImpactInGap = (gapRows: string[], shooter: EvolutionBattleShooter): void => { + const startColumn = impactColumn(shooter) + for (let rowIndex = 0; rowIndex < IMPACT_ROWS; rowIndex += 1) { + const gapRow = IMPACT_START_ROW + rowIndex + const impactLine = IMPACT_LINES[rowIndex] ?? "" + gapRows[gapRow] = overlayAt(gapRows[gapRow] ?? "", impactLine, startColumn) + } +} + +const renderHudInGap = (gapRows: string[], scene: EvolutionBattleScene): void => { + gapRows[0] = buildBattleScoreRow(scene.playerHits, scene.opponentHits) + if (scene.outcomeLabel !== null) { + gapRows[FRAME_ROWS - 1] = centerText(BATTLE_GAP_COLUMNS, scene.outcomeLabel) + } else if (scene.lastResult !== null) { + gapRows[FRAME_ROWS - 1] = centerText(BATTLE_GAP_COLUMNS, scene.lastResult === "hit" ? "HIT!" : "MISS") + } +} + +const hitsFor = (shooter: EvolutionBattleShooter, playerHits: number, opponentHits: number): number => + shooter === "player" ? playerHits : opponentHits + +const rollShotHit = ( + outcome: EvolutionBattleOutcome, + shooter: EvolutionBattleShooter, + playerHits: number, + opponentHits: number, + random: () => number, +): boolean => { + const winner = outcome + const loser = outcome === "player" ? "opponent" : "player" + const winnerHits = hitsFor(winner, playerHits, opponentHits) + const loserHits = hitsFor(loser, playerHits, opponentHits) + + if (shooter === winner) { + if (winnerHits === EVOLUTION_BATTLE_HITS_TO_WIN - 1) return true + if (loserHits === EVOLUTION_BATTLE_HITS_TO_WIN - 1) return true + return random() < 0.65 + } + + if (loserHits === EVOLUTION_BATTLE_HITS_TO_WIN - 1) return false + return random() < 0.45 +} + +export const planEvolutionBattle = ( + outcome: EvolutionBattleOutcome, + random: () => number = Math.random, +): readonly EvolutionBattleShot[] => { + const shots: EvolutionBattleShot[] = [] + let playerHits = 0 + let opponentHits = 0 + let shooter: EvolutionBattleShooter = "player" + + while ( + playerHits < EVOLUTION_BATTLE_HITS_TO_WIN && + opponentHits < EVOLUTION_BATTLE_HITS_TO_WIN && + shots.length < EVOLUTION_BATTLE_MAX_SHOTS + ) { + const hit = rollShotHit(outcome, shooter, playerHits, opponentHits, random) + shots.push({ shooter, hit }) + if (hit) { + if (shooter === "player") playerHits += 1 + else opponentHits += 1 + } + shooter = shooter === "player" ? "opponent" : "player" + } + + return shots +} + +export const defaultBattleScene = ( + overrides: Partial = {}, +): EvolutionBattleScene => ({ + shooter: null, + progress: 0, + playerPose: "attack", + opponentPose: "attack", + playerInjuredAlt: false, + opponentInjuredAlt: false, + playerHits: 0, + opponentHits: 0, + lastResult: null, + outcomeLabel: null, + ...overrides, +}) + +const buildBattleIntroLines = (tick: number): string[] => { + const textLines = buildBattleIntroTextLines() + const visible = tick % 2 === 0 + return visible ? [...textLines] : textLines.map((line) => " ".repeat(line.length)) +} + +const padIntroRows = (rows: string[], viewportWidth: number): string[] => { + const width = rows[0]?.length ?? 0 + const horizontalPadding = Math.max(0, Math.floor((viewportWidth - width) / 2)) + const pad = " ".repeat(horizontalPadding) + return rows.map((row) => `${pad}${row}`) +} + +export const renderBattleIntroArtwork = (viewportWidth: number, _progress: number, tick = 0): string => { + const lines = buildBattleIntroLines(tick) + return padIntroRows(lines, viewportWidth).join("\n") +} + +export const renderEvolutionBattleArtwork = ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + scene: EvolutionBattleScene, + viewportWidth: number, +): string => { + const playerLines = frameLines(catalog, playerSprite, "right", scene.playerPose, scene.playerInjuredAlt) + const opponentLines = frameLines(catalog, opponentSprite, "left", scene.opponentPose, scene.opponentInjuredAlt) + + const gapRows = Array.from({ length: FRAME_ROWS }, () => " ".repeat(BATTLE_GAP_COLUMNS)) + renderHudInGap(gapRows, scene) + + if (scene.shooter !== null) { + renderFireballInGap(gapRows, scene.shooter, scene.progress) + } + if (scene.lastResult === "hit" && scene.shooter !== null) { + renderImpactInGap(gapRows, scene.shooter) + } + + const battleWidth = FRAME_COLUMNS + BATTLE_GAP_COLUMNS + FRAME_COLUMNS + const rows = Array.from({ length: FRAME_ROWS }, (_, rowIndex) => { + const left = padRow(playerLines[rowIndex] ?? "", FRAME_COLUMNS) + const gap = gapRows[rowIndex] ?? " ".repeat(BATTLE_GAP_COLUMNS) + const right = padRow(opponentLines[rowIndex] ?? "", FRAME_COLUMNS) + return `${left}${gap}${right}` + }) + + const padding = Math.max(Math.floor((viewportWidth - battleWidth) / 2), 0) + return rows.map((row) => `${" ".repeat(padding)}${row}`).join("\n") +} + +export const sleep = (ms: number): Promise => + new Promise((resolve) => { + setTimeout(resolve, ms) + }) + +const postScene = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + scene: EvolutionBattleScene, + onFrame: (artwork: string) => Promise, +): Promise => { + await onFrame(renderEvolutionBattleArtwork(catalog, playerSprite, opponentSprite, scene, viewportWidth)) +} + +const animateBattleIntro = async ( + viewportWidth: number, + onFrame: (artwork: string) => Promise, +): Promise => { + const steps = Math.max(1, Math.ceil(EVOLUTION_BATTLE_INTRO_MS / EVOLUTION_BATTLE_TICK_MS)) + for (let step = 0; step <= steps; step += 1) { + const progress = step / steps + await onFrame(renderBattleIntroArtwork(viewportWidth, progress, step)) + if (step < steps) await sleep(EVOLUTION_BATTLE_TICK_MS) + } +} + +const animateShot = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + shot: EvolutionBattleShot, + playerHits: number, + opponentHits: number, + onFrame: (artwork: string) => Promise, +): Promise => { + const steps = Math.max(1, Math.ceil(EVOLUTION_BATTLE_TRAVEL_MS / EVOLUTION_BATTLE_TICK_MS)) + for (let step = 0; step <= steps; step += 1) { + const progress = step / steps + await postScene( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + defaultBattleScene({ + shooter: shot.shooter, + progress, + playerHits, + opponentHits, + playerPose: "attack", + opponentPose: "attack", + }), + onFrame, + ) + if (step < steps) await sleep(EVOLUTION_BATTLE_TICK_MS) + } +} + +const animateImpact = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + shot: EvolutionBattleShot, + playerHits: number, + opponentHits: number, + onFrame: (artwork: string) => Promise, +): Promise => { + const playerPose = shot.hit && shot.shooter === "opponent" ? "injured" : "attack" + const opponentPose = shot.hit && shot.shooter === "player" ? "injured" : "attack" + const ticks = Math.max(1, Math.ceil(EVOLUTION_BATTLE_IMPACT_MS / EVOLUTION_BATTLE_TICK_MS)) + + for (let tick = 0; tick < ticks; tick += 1) { + await postScene( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + defaultBattleScene({ + shooter: shot.shooter, + progress: 1, + playerHits, + opponentHits, + playerPose, + opponentPose, + playerInjuredAlt: tick % 2 === 1 && playerPose === "injured", + opponentInjuredAlt: tick % 2 === 1 && opponentPose === "injured", + lastResult: shot.hit ? "hit" : "miss", + }), + onFrame, + ) + if (tick < ticks - 1) await sleep(EVOLUTION_BATTLE_TICK_MS) + } +} + +const animatePause = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + playerHits: number, + opponentHits: number, + onFrame: (artwork: string) => Promise, +): Promise => { + await postScene( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + defaultBattleScene({ + playerHits, + opponentHits, + playerPose: "attack", + opponentPose: "attack", + }), + onFrame, + ) + await sleep(EVOLUTION_BATTLE_PAUSE_MS) +} + +const animateOutcome = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + outcome: EvolutionBattleOutcome, + playerHits: number, + opponentHits: number, + onFrame: (artwork: string) => Promise, +): Promise => { + const ticks = Math.max(1, Math.ceil(EVOLUTION_BATTLE_OUTCOME_MS / EVOLUTION_BATTLE_TICK_MS)) + const playerWon = outcome === "player" + const winnerPose: BattleSpritePose = "happy" + const loserPose: BattleSpritePose = "injured" + + for (let tick = 0; tick < ticks; tick += 1) { + const loserBlink = tick % 2 === 1 ? "injured" : loserPose + await postScene( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + defaultBattleScene({ + playerHits, + opponentHits, + playerPose: playerWon ? winnerPose : loserBlink, + opponentPose: playerWon ? loserBlink : winnerPose, + playerInjuredAlt: !playerWon && tick % 2 === 1, + opponentInjuredAlt: playerWon && tick % 2 === 1, + outcomeLabel: playerWon ? "WIN!" : "LOSE!", + }), + onFrame, + ) + if (tick < ticks - 1) await sleep(EVOLUTION_BATTLE_TICK_MS) + } +} + +export const runEvolutionBattleAnimation = async ( + catalog: MonsterFrameCatalog, + playerSprite: string, + opponentSprite: string, + viewportWidth: number, + outcome: EvolutionBattleOutcome, + onFrame: (artwork: string) => Promise, + random: () => number = Math.random, +): Promise => { + await animateBattleIntro(viewportWidth, onFrame) + + const shots = planEvolutionBattle(outcome, random) + let playerHits = 0 + let opponentHits = 0 + + for (let index = 0; index < shots.length; index += 1) { + const shot = shots[index] + if (shot === undefined) continue + + await animateShot(catalog, playerSprite, opponentSprite, viewportWidth, shot, playerHits, opponentHits, onFrame) + if (shot.hit) { + if (shot.shooter === "player") playerHits += 1 + else opponentHits += 1 + } + await animateImpact( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + shot, + playerHits, + opponentHits, + onFrame, + ) + + const battleOver = + playerHits >= EVOLUTION_BATTLE_HITS_TO_WIN || opponentHits >= EVOLUTION_BATTLE_HITS_TO_WIN + const isLastShot = index === shots.length - 1 + if (!battleOver && !isLastShot) { + await animatePause(catalog, playerSprite, opponentSprite, viewportWidth, playerHits, opponentHits, onFrame) + } + if (battleOver) break + } + + await animateOutcome( + catalog, + playerSprite, + opponentSprite, + viewportWidth, + outcome, + playerHits, + opponentHits, + onFrame, + ) + return outcome +} diff --git a/packages/opencode-vpet/src/tui/evolution-battle-session.ts b/packages/opencode-vpet/src/tui/evolution-battle-session.ts new file mode 100644 index 0000000..5c9c411 --- /dev/null +++ b/packages/opencode-vpet/src/tui/evolution-battle-session.ts @@ -0,0 +1,72 @@ +import type { SidebarSnapshot } from "@sbugallo/vpet-core/application/ports/sidebar-snapshot.ts" +import type { ResolveEvolutionBattleOutcome } from "@sbugallo/vpet-core/application/models/usage.ts" +import { + resolveEvolutionBattleForPartner, + type EvolutionBattleRepository, +} from "@sbugallo/vpet-core/application/use-cases/resolve-evolution-battle.ts" +import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" +import type { MonsterFrameCatalog } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +import { runDefeatAnimation } from "./defeat-artwork.ts" +import { runEvolutionBattleAnimation, type EvolutionBattleOutcome } from "./evolution-battle-artwork.ts" +import { runEvolutionRevealSession } from "./evolution-reveal-session.ts" + +export const DEFAULT_BATTLE_ARTWORK_WIDTH = 80 + +export type EvolutionBattleSessionDependencies = { + readonly frameCatalog: MonsterFrameCatalog + readonly digimonCatalog: DigimonCatalog + readonly repository: EvolutionBattleRepository + readonly random?: () => number + readonly onArtwork: (artwork: string) => Promise + readonly onResolved?: (result: ResolveEvolutionBattleOutcome) => Promise +} + +export const runEvolutionBattleSession = async ( + snapshot: SidebarSnapshot, + viewportWidth: number, + dependencies: EvolutionBattleSessionDependencies, +): Promise => { + if (snapshot.pendingEvolutionTargetId === null || snapshot.battleOpponentNodeId === null) return false + + const player = dependencies.digimonCatalog.byId.get(snapshot.currentNodeId) + const opponent = dependencies.digimonCatalog.byId.get(snapshot.battleOpponentNodeId) + if (player === undefined || opponent === undefined) return false + + const random = dependencies.random ?? Math.random + const outcome: EvolutionBattleOutcome = random() < 0.5 ? "player" : "opponent" + const postArtwork = async (artwork: string): Promise => dependencies.onArtwork(artwork) + + await runEvolutionBattleAnimation( + dependencies.frameCatalog, + player.sprite, + opponent.sprite, + viewportWidth, + outcome, + postArtwork, + random, + ) + + if (outcome === "player") { + await runEvolutionRevealSession( + { fromNodeId: snapshot.currentNodeId, toNodeId: snapshot.pendingEvolutionTargetId }, + viewportWidth, + { + frameCatalog: dependencies.frameCatalog, + digimonCatalog: dependencies.digimonCatalog, + onArtwork: postArtwork, + }, + ) + } else { + await runDefeatAnimation(dependencies.frameCatalog, player.sprite, viewportWidth, postArtwork) + } + + const result = resolveEvolutionBattleForPartner( + dependencies.repository, + outcome === "player", + dependencies.digimonCatalog.byId, + new Date().toISOString(), + ) + await dependencies.onResolved?.(result) + return true +} diff --git a/packages/opencode-vpet/src/tui/evolution-reveal-session.ts b/packages/opencode-vpet/src/tui/evolution-reveal-session.ts new file mode 100644 index 0000000..3632b90 --- /dev/null +++ b/packages/opencode-vpet/src/tui/evolution-reveal-session.ts @@ -0,0 +1,30 @@ +import type { UsageEvolutionTransition } from "@sbugallo/vpet-core/application/models/usage.ts" +import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" +import type { MonsterFrameCatalog } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +import { runEvolutionAnimation } from "./evolution-artwork.ts" + +export type EvolutionRevealSessionDependencies = { + readonly frameCatalog: MonsterFrameCatalog + readonly digimonCatalog: DigimonCatalog + readonly onArtwork: (artwork: string) => Promise +} + +export const runEvolutionRevealSession = async ( + evolution: UsageEvolutionTransition, + viewportWidth: number, + dependencies: EvolutionRevealSessionDependencies, +): Promise => { + const from = dependencies.digimonCatalog.byId.get(evolution.fromNodeId) + const to = dependencies.digimonCatalog.byId.get(evolution.toNodeId) + if (from === undefined || to === undefined) return false + + await runEvolutionAnimation( + dependencies.frameCatalog, + from.sprite, + to.sprite, + viewportWidth, + async (artwork) => dependencies.onArtwork(artwork), + ) + return true +} diff --git a/packages/opencode-vpet/src/tui/monster-action-policy.ts b/packages/opencode-vpet/src/tui/monster-action-policy.ts new file mode 100644 index 0000000..019b3d6 --- /dev/null +++ b/packages/opencode-vpet/src/tui/monster-action-policy.ts @@ -0,0 +1,46 @@ +import type { MonsterFrameCatalog, MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +export type CosmeticActionClip = readonly [MonsterFrameName, MonsterFrameName] +export type SleepClip = readonly [MonsterFrameName, MonsterFrameName] + +const SINGLE_FRAME_ACTIONS = ["angry", "attack", "happy"] as const + +export const resolveCosmeticActions = (sprite: string, catalog: MonsterFrameCatalog): readonly CosmeticActionClip[] => { + const actions: CosmeticActionClip[] = [] + for (const frameName of SINGLE_FRAME_ACTIONS) { + if (catalog.get(sprite, frameName) !== undefined) actions.push([frameName, frameName]) + } + const injuredFirst = catalog.get(sprite, "injured_1") === undefined ? undefined : "injured_1" + const injuredSecond = catalog.get(sprite, "injured_2") === undefined ? undefined : "injured_2" + if (injuredFirst !== undefined && injuredSecond !== undefined) actions.push([injuredFirst, injuredSecond]) + else if (injuredFirst !== undefined) actions.push([injuredFirst, injuredFirst]) + else if (injuredSecond !== undefined) actions.push([injuredSecond, injuredSecond]) + return actions +} + +export const selectCosmeticAction = ( + actions: readonly CosmeticActionClip[], + random: () => number, +): CosmeticActionClip | undefined => { + if (actions.length === 0) return undefined + return actions[Math.floor(normalizedRandom(random) * actions.length)] +} + +export const resolveSleepClip = ( + sprite: string, + fallback: MonsterFrameName, + catalog: MonsterFrameCatalog, +): SleepClip => { + const first = catalog.get(sprite, "sleep_1") === undefined ? undefined : "sleep_1" + const second = catalog.get(sprite, "sleep_2") === undefined ? undefined : "sleep_2" + if (first !== undefined && second !== undefined) return [first, second] + if (first !== undefined) return [first, first] + if (second !== undefined) return [second, second] + return [fallback, fallback] +} + +const normalizedRandom = (random: () => number): number => { + const sample = random() + if (!Number.isFinite(sample) || sample <= 0) return 0 + return sample >= 1 ? 1 - Number.EPSILON : sample +} diff --git a/src/tui/monster-animation.ts b/packages/opencode-vpet/src/tui/monster-animation.ts similarity index 98% rename from src/tui/monster-animation.ts rename to packages/opencode-vpet/src/tui/monster-animation.ts index caa222d..2454f9a 100644 --- a/src/tui/monster-animation.ts +++ b/packages/opencode-vpet/src/tui/monster-animation.ts @@ -1,4 +1,8 @@ -import type { MonsterFrame, MonsterFrameCatalog, MonsterFrameName } from "../data/monster-frame-catalog.ts" +import type { + MonsterFrame, + MonsterFrameCatalog, + MonsterFrameName, +} from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" import { resolveCosmeticActions, resolveSleepClip, diff --git a/packages/opencode-vpet/src/tui/monster-artwork-mirror.ts b/packages/opencode-vpet/src/tui/monster-artwork-mirror.ts new file mode 100644 index 0000000..c67e3bf --- /dev/null +++ b/packages/opencode-vpet/src/tui/monster-artwork-mirror.ts @@ -0,0 +1,77 @@ +import { MonsterFrame } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +const FRAME_ROWS = 8 +const FRAME_COLUMNS = 16 + +export type MalformedMonsterFrameReason = + | { readonly kind: "row_count"; readonly actual: number } + | { readonly kind: "column_count"; readonly row: number; readonly actual: number } + +export class MalformedMonsterFrameError extends Error { + readonly name = "MalformedMonsterFrameError" + + constructor(readonly reason: MalformedMonsterFrameReason) { + super("Monster frame must contain eight rows of 16 Unicode code points") + } +} + +export type MirrorMonsterFrameResult = + | { readonly kind: "mirrored"; readonly frame: MonsterFrame } + | { readonly kind: "invalid"; readonly error: MalformedMonsterFrameError } + +const mirrorGlyph = (glyph: string): string => { + switch (glyph) { + case "(": + return ")" + case ")": + return "(" + case "[": + return "]" + case "]": + return "[" + case "{": + return "}" + case "}": + return "{" + case "<": + return ">" + case ">": + return "<" + case "╱": + return "╲" + case "╲": + return "╱" + case "╭": + return "╮" + case "╮": + return "╭" + case "╰": + return "╯" + case "╯": + return "╰" + default: + return glyph + } +} + +export const mirrorMonsterFrame = (frame: MonsterFrame): MirrorMonsterFrameResult => { + const rows = frame.content.split("\n") + if (rows.length !== FRAME_ROWS) { + return { kind: "invalid", error: new MalformedMonsterFrameError({ kind: "row_count", actual: rows.length }) } + } + + for (const [row, content] of rows.entries()) { + const cells = Array.from(content) + if (cells.length !== FRAME_COLUMNS) { + return { + kind: "invalid", + error: new MalformedMonsterFrameError({ kind: "column_count", row, actual: cells.length }), + } + } + } + + return Object.freeze({ + kind: "mirrored", + frame: new MonsterFrame(rows.map((row) => Array.from(row).reverse().map(mirrorGlyph).join("")).join("\n")), + }) +} diff --git a/packages/opencode-vpet/src/tui/monster-walking-policy.ts b/packages/opencode-vpet/src/tui/monster-walking-policy.ts new file mode 100644 index 0000000..192401c --- /dev/null +++ b/packages/opencode-vpet/src/tui/monster-walking-policy.ts @@ -0,0 +1,150 @@ +import type { MonsterFrameCatalog, MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" + +export type WalkingFacing = "left" | "right" +export type WalkFrame = "walk_1" | "walk_2" + +type MovementBounds = { readonly left: number; readonly right: number } +type WalkingBout = + | { readonly kind: "suspended" } + | { readonly kind: "moving"; readonly remaining: number } + | { readonly kind: "boundary_hold" | "queued_action" } + +export type WalkingPolicyState = { + readonly frameName: WalkFrame + readonly offset: number + readonly facing: WalkingFacing + readonly bounds: MovementBounds | undefined + readonly bout: WalkingBout +} + +export type ActionBoundaryState = { + readonly frameName: MonsterFrameName + readonly offset: number + readonly facing: WalkingFacing + readonly bounds: MovementBounds | undefined +} + +export type WalkingPolicyTick = + | { readonly kind: "walking"; readonly walking: WalkingPolicyState } + | { readonly kind: "action"; readonly action: ActionBoundaryState } + +const assertNever = (value: never): never => { + throw new Error(`Unexpected walking policy variant: ${JSON.stringify(value)}`) +} + +export const initialWalkingPolicy = (frameName: WalkFrame): WalkingPolicyState => ({ + frameName, + offset: 0, + facing: "left", + bounds: undefined, + bout: { kind: "suspended" }, +}) + +export const tickWalkingPolicy = ( + state: WalkingPolicyState, + sprite: string, + catalog: MonsterFrameCatalog, +): WalkingPolicyTick => { + switch (state.bout.kind) { + case "suspended": + return { kind: "walking", walking: { ...state, frameName: nextWalkFrame(state.frameName, sprite, catalog) } } + case "moving": { + const frameName = nextWalkFrame(state.frameName, sprite, catalog) + const walking = { + ...state, + frameName, + offset: state.offset + (state.facing === "left" ? -1 : 1), + } + if (state.bout.remaining > 1) { + return { + kind: "walking", + walking: { ...walking, bout: { kind: "moving", remaining: state.bout.remaining - 1 } }, + } + } + const bout = + frameName === "walk_1" && catalog.get(sprite, "walk_2") !== undefined + ? ({ kind: "boundary_hold" } as const) + : ({ kind: "queued_action" } as const) + return { kind: "walking", walking: { ...walking, bout } } + } + case "boundary_hold": + return { kind: "walking", walking: { ...state, frameName: "walk_2", bout: { kind: "queued_action" } } } + case "queued_action": + return { kind: "action", action: state } + default: + return assertNever(state.bout) + } +} + +export const resizeWalkingPolicy = ( + state: WalkingPolicyState, + width: number, + random: () => number, +): WalkingPolicyState => { + const bounds = movementBounds(width) + if (bounds === undefined) return { ...state, offset: 0, bounds: undefined, bout: { kind: "suspended" } } + const offset = Math.min(bounds.right, Math.max(bounds.left, state.offset)) + const resized = { ...state, offset, bounds } + switch (state.bout.kind) { + case "boundary_hold": + case "queued_action": + return resized + case "moving": + case "suspended": + return planBout({ ...resized, bout: { kind: "suspended" } }, random) + default: + return assertNever(state.bout) + } +} + +export const resizeActionBoundary = (state: ActionBoundaryState, width: number): ActionBoundaryState => { + const bounds = movementBounds(width) + if (bounds === undefined) return { ...state, offset: 0, bounds: undefined } + return { ...state, offset: Math.min(bounds.right, Math.max(bounds.left, state.offset)), bounds } +} + +export const resumeWalkingPolicy = (state: ActionBoundaryState, random: () => number): WalkingPolicyState => { + const bounds = state.bounds + const frameName = state.frameName === "walk_2" ? "walk_2" : "walk_1" + if (bounds === undefined) return { ...state, frameName, bout: { kind: "suspended" } } + const atFacingEdge = state.facing === "left" ? state.offset === bounds.left : state.offset === bounds.right + const facing = atFacingEdge ? (state.facing === "left" ? "right" : "left") : state.facing + return planBout({ ...state, frameName, facing, bounds, bout: { kind: "suspended" } }, random) +} + +export const restartWalkingPolicy = ( + state: ActionBoundaryState, + frameName: WalkFrame, + random: () => number, +): WalkingPolicyState => { + const walking = { ...state, frameName, bout: { kind: "suspended" } } as const + return state.bounds === undefined ? walking : planBout(walking, random) +} + +const nextWalkFrame = (current: WalkFrame, sprite: string, catalog: MonsterFrameCatalog): WalkFrame => { + const alternate = current === "walk_1" ? "walk_2" : "walk_1" + return catalog.get(sprite, alternate) === undefined ? current : alternate +} + +const movementBounds = (width: number): MovementBounds | undefined => { + if (!Number.isFinite(width) || width < 16) return undefined + const free = Math.floor(width) - 16 + return { left: -Math.floor(free / 2), right: Math.ceil(free / 2) } +} + +const planBout = (state: WalkingPolicyState, random: () => number): WalkingPolicyState => { + const bounds = state.bounds + if (bounds === undefined) return { ...state, bout: { kind: "suspended" } } + const available = state.facing === "left" ? state.offset - bounds.left : bounds.right - state.offset + if (available === 0) { + return { ...state, bout: { kind: bounds.left === bounds.right ? "suspended" : "queued_action" } } + } + const remaining = available < 5 ? available : 5 + Math.floor(normalizedRandom(random) * (available - 4)) + return { ...state, bout: { kind: "moving", remaining } } +} + +const normalizedRandom = (random: () => number): number => { + const sample = random() + if (!Number.isFinite(sample) || sample <= 0) return 0 + return sample >= 1 ? 1 - Number.EPSILON : sample +} diff --git a/src/tui/open-in-browser.ts b/packages/opencode-vpet/src/tui/open-in-browser.ts similarity index 100% rename from src/tui/open-in-browser.ts rename to packages/opencode-vpet/src/tui/open-in-browser.ts diff --git a/src/tui/sidebar-card.tsx b/packages/opencode-vpet/src/tui/sidebar-card.tsx similarity index 89% rename from src/tui/sidebar-card.tsx rename to packages/opencode-vpet/src/tui/sidebar-card.tsx index 6a92926..22af55a 100644 --- a/src/tui/sidebar-card.tsx +++ b/packages/opencode-vpet/src/tui/sidebar-card.tsx @@ -4,7 +4,7 @@ import { createEffect, type Accessor } from "solid-js" import { openInBrowser } from "./open-in-browser.ts" import { mirrorMonsterFrame } from "./monster-artwork-mirror.ts" import type { MonsterAnimationOutput, MonsterAnimationResult } from "./monster-animation.ts" -import type { SidebarCardModel } from "./sidebar-view-model.ts" +import type { SidebarCardModel } from "@sbugallo/vpet-core/view-models/sidebar-view-model.ts" const ARTWORK_ROWS = 8 const ARTWORK_COLUMNS = 16 @@ -27,6 +27,12 @@ const positionedOutput = (animation: MonsterAnimationOutput | MonsterAnimationRe } } +const customArtworkRows = (artwork: string): readonly string[] => { + const rows = artwork.split("\n") + if (rows.length >= ARTWORK_ROWS) return rows.slice(0, ARTWORK_ROWS) + return [...rows, ...Array.from({ length: ARTWORK_ROWS - rows.length }, () => "")] +} + const artworkRows = (animation: MonsterAnimationOutput | MonsterAnimationResult, width: number): readonly string[] => { const output = positionedOutput(animation) switch (output.result.kind) { @@ -52,6 +58,7 @@ const artworkRows = (animation: MonsterAnimationOutput | MonsterAnimationResult, const buildNextCheckLine = (model: SidebarCardModel, width: number): string => { if (model.kind === "no_partner") return "" + if (model.evolutionBattlePending) return `${NEXT_CHECK_PREFIX}Evolution battle!` if (model.isTerminal && !model.isSetOverride) return `${NEXT_CHECK_PREFIX}None` const barWidth = Math.max(width - NEXT_CHECK_PREFIX.length - 2, 0) @@ -63,6 +70,7 @@ const buildNextCheckLine = (model: SidebarCardModel, width: number): string => { export const VpetSidebarCard = (props: { readonly model: Accessor readonly animation: Accessor + readonly customArtwork?: Accessor readonly onArtworkWidthChange?: (width: number) => void readonly onUrlClick?: (url: string) => void }) => { @@ -90,7 +98,11 @@ export const VpetSidebarCard = (props: { const renderCard = (): void => { const model = props.model() - for (const [index, content] of artworkRows(props.animation(), Math.floor(artworkWidth?.width ?? 0)).entries()) { + const width = Math.floor(artworkWidth?.width ?? 0) + const battleArtwork = props.customArtwork?.() + const rows = + battleArtwork === undefined ? artworkRows(props.animation(), width) : customArtworkRows(battleArtwork) + for (const [index, content] of rows.entries()) { updateText(artwork[index], content) } diff --git a/src/tui/sidebar-poll-loop.ts b/packages/opencode-vpet/src/tui/sidebar-poll-loop.ts similarity index 100% rename from src/tui/sidebar-poll-loop.ts rename to packages/opencode-vpet/src/tui/sidebar-poll-loop.ts diff --git a/src/tui/vpet-command-layer.tsx b/packages/opencode-vpet/src/tui/vpet-command-layer.tsx similarity index 83% rename from src/tui/vpet-command-layer.tsx rename to packages/opencode-vpet/src/tui/vpet-command-layer.tsx index 47fbe37..ab1664c 100644 --- a/src/tui/vpet-command-layer.tsx +++ b/packages/opencode-vpet/src/tui/vpet-command-layer.tsx @@ -1,12 +1,12 @@ /** @jsxImportSource @opentui/solid */ import type { TuiDialogStack, TuiKeymap, TuiTheme } from "@opencode-ai/plugin/tui" -import type { VpetArchiveResult } from "../application/models/vpet-archive.ts" -import type { VpetArchiveReader } from "../application/ports/vpet-archive.ts" -import type { ResolvedVpetSettings } from "../config/types.ts" -import type { DigimonCatalog } from "../data/catalog.ts" -import { buildDexViewModel } from "./dex-view-model.ts" -import { buildHistoryViewModel } from "./history-view-model.ts" +import type { VpetArchiveResult } from "@sbugallo/vpet-core/application/models/vpet-archive.ts" +import type { VpetArchiveReader } from "@sbugallo/vpet-core/application/ports/vpet-archive.ts" +import type { ResolvedVpetSettings } from "@sbugallo/vpet-core/config/types.ts" +import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" +import { buildDexViewModel } from "@sbugallo/vpet-core/view-models/dex-view-model.ts" +import { buildHistoryViewModel } from "@sbugallo/vpet-core/view-models/history-view-model.ts" import { VpetDexDialog } from "./vpet-dex-dialog.tsx" import { VpetHistoryDialog } from "./vpet-history-dialog.tsx" diff --git a/src/tui/vpet-dex-dialog.tsx b/packages/opencode-vpet/src/tui/vpet-dex-dialog.tsx similarity index 97% rename from src/tui/vpet-dex-dialog.tsx rename to packages/opencode-vpet/src/tui/vpet-dex-dialog.tsx index 614ce09..267581f 100644 --- a/src/tui/vpet-dex-dialog.tsx +++ b/packages/opencode-vpet/src/tui/vpet-dex-dialog.tsx @@ -3,7 +3,7 @@ import { createTextAttributes, type KeyEvent, type ScrollBoxRenderable } from "@ import { For, createMemo } from "solid-js" import { useKeyboard, useTerminalDimensions } from "@opentui/solid" import type { TuiTheme } from "@opencode-ai/plugin/tui" -import type { DexRow, DexViewModel } from "./dex-view-model.ts" +import type { DexRow, DexViewModel } from "@sbugallo/vpet-core/view-models/dex-view-model.ts" export type VpetDexDialogTheme = { readonly current: Pick diff --git a/src/tui/vpet-history-dialog.tsx b/packages/opencode-vpet/src/tui/vpet-history-dialog.tsx similarity index 97% rename from src/tui/vpet-history-dialog.tsx rename to packages/opencode-vpet/src/tui/vpet-history-dialog.tsx index 2f17bea..e343e7a 100644 --- a/src/tui/vpet-history-dialog.tsx +++ b/packages/opencode-vpet/src/tui/vpet-history-dialog.tsx @@ -3,7 +3,7 @@ import { createTextAttributes, type KeyEvent, type ScrollBoxRenderable } from "@ import { For } from "solid-js" import { useKeyboard, useTerminalDimensions } from "@opentui/solid" import type { TuiTheme } from "@opencode-ai/plugin/tui" -import type { HistoryViewModel } from "./history-view-model.ts" +import type { HistoryViewModel } from "@sbugallo/vpet-core/view-models/history-view-model.ts" export type VpetHistoryDialogTheme = { readonly current: Pick diff --git a/tests/architecture-boundary-helpers.ts b/packages/opencode-vpet/tests/architecture-boundary-helpers.ts similarity index 98% rename from tests/architecture-boundary-helpers.ts rename to packages/opencode-vpet/tests/architecture-boundary-helpers.ts index 64de7e7..3378ee4 100644 --- a/tests/architecture-boundary-helpers.ts +++ b/packages/opencode-vpet/tests/architecture-boundary-helpers.ts @@ -25,6 +25,7 @@ export const FORBIDDEN_APPLICATION_IMPORTS = [ "/persistence/", "/runtime/", "/adapters/sqlite/", + "@sbugallo/vpet-core/adapters/", "/adapters/opencode/", "/tui/", "/commands/", @@ -40,6 +41,7 @@ export const FORBIDDEN_TUI_PRESENTATION_IMPORTS = [ "/persistence/", "/runtime/", "/adapters/sqlite/", + "@sbugallo/vpet-core/adapters/", "bun:sqlite", "sqlite-vpet-schema", "bun-sqlite-driver", @@ -51,6 +53,7 @@ export const FORBIDDEN_TUI_ANIMATION_IMPORTS = [ "/persistence/", "/runtime/", "/adapters/sqlite/", + "@sbugallo/vpet-core/adapters/", "bun:sqlite", ] as const export const FORBIDDEN_ADAPTER_IMPORTS = ["/tui/", "../tui.tsx", "../index.ts", "/persistence/", "/runtime/"] as const diff --git a/tests/architecture-boundary.test.ts b/packages/opencode-vpet/tests/architecture-boundary.test.ts similarity index 92% rename from tests/architecture-boundary.test.ts rename to packages/opencode-vpet/tests/architecture-boundary.test.ts index 94d14b8..a82383c 100644 --- a/tests/architecture-boundary.test.ts +++ b/packages/opencode-vpet/tests/architecture-boundary.test.ts @@ -98,9 +98,13 @@ describe("application architecture boundary", () => { findForbiddenImports("malformed.ts", 'import { broken\nimport "bun:sqlite"\n', FORBIDDEN_APPLICATION_IMPORTS), ).toEqual(["malformed.ts: bun:sqlite"])) test("Given the application source tree When scanned Then it contains no forbidden imports", async () => - expect(await scanApplicationImports(join(PROJECT_ROOT, "src", "application"))).toEqual([])) + expect(await scanApplicationImports(join(PROJECT_ROOT, "..", "vpet-core", "src", "application"))).toEqual([])) test("Given the application models When scanned Then they do not redeclare Partner core state", async () => - expect(await scanDuplicateCorePartnerDeclarations(join(PROJECT_ROOT, "src", "application", "models"))).toEqual([])) + expect( + await scanDuplicateCorePartnerDeclarations(join(PROJECT_ROOT, "..", "vpet-core", "src", "application", "models")), + ).toEqual([])) test("Given the application port tree When scanned Then it has no technical lifecycle contract", async () => - expect(await scanTechnicalLifecyclePorts(join(PROJECT_ROOT, "src", "application", "ports"))).toEqual([])) + expect( + await scanTechnicalLifecyclePorts(join(PROJECT_ROOT, "..", "vpet-core", "src", "application", "ports")), + ).toEqual([])) }) diff --git a/tests/catalog-evolution.test.ts b/packages/opencode-vpet/tests/catalog-evolution.test.ts similarity index 67% rename from tests/catalog-evolution.test.ts rename to packages/opencode-vpet/tests/catalog-evolution.test.ts index af386a9..58405ac 100644 --- a/tests/catalog-evolution.test.ts +++ b/packages/opencode-vpet/tests/catalog-evolution.test.ts @@ -1,11 +1,21 @@ import { describe, expect, test } from "bun:test" -import { loadDigimonCatalog, parseDigimonCatalog, type DigimonNode } from "../src/data/catalog.ts" -import { DIGIMON_DATA } from "../src/data/digimon-data.ts" -import type { DigimonNode as DomainDigimonNode } from "../src/domain/digimon-node.ts" -import { applyTokenProgress, STAGE_GAUGE_THRESHOLDS, type StageThresholds } from "../src/domain/evolution.ts" -import type { Partner, PartnerProgression } from "../src/domain/partner.ts" -import { DIGIMON_STAGES, isDigimonStage } from "../src/domain/stage.ts" +import { loadDigimonCatalog, parseDigimonCatalog, type DigimonNode } from "@sbugallo/vpet-core/data/catalog.ts" +import { DIGIMON_DATA } from "@sbugallo/vpet-core/data/digimon-data.ts" +import type { DigimonNode as DomainDigimonNode } from "@sbugallo/vpet-core/domain/digimon-node.ts" +import { + applyTokenProgress, + resolveEvolutionBattle, + STAGE_GAUGE_THRESHOLDS, + type StageThresholds, +} from "@sbugallo/vpet-core/domain/evolution.ts" +import type { Partner, PartnerProgression } from "@sbugallo/vpet-core/domain/partner.ts" +import { DIGIMON_STAGES, isDigimonStage } from "@sbugallo/vpet-core/domain/stage.ts" + +const noBattle = { + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, +} as const const controlledCurrent: DigimonNode = { id: "controlled-current", @@ -27,6 +37,19 @@ const controlledTarget: DigimonNode = { url: "https://example.test/controlled-target", } +const controlledOpponent: DigimonNode = { + id: "controlled-opponent", + nameEn: "Controlled Opponent", + nameJp: "Controlled Opponent", + nextEvolutions: [], + sprite: "controlled-opponent.png", + stage: 0, + url: "https://example.test/controlled-opponent", +} + +const controlledCatalogNodes = [controlledCurrent, controlledTarget, controlledOpponent] +const controlledLookup = new Map(controlledCatalogNodes.map((node) => [node.id, node])) + describe("catalog and evolution", () => { test("Given domain contracts When catalog data is parsed Then normalized nodes use the domain stage and node shapes", () => { const node: DomainDigimonNode = controlledCurrent @@ -36,6 +59,8 @@ describe("catalog and evolution", () => { currentNodeId: node.id, gauge: 0, isTerminal: false, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, createdAt: "2026-07-31T00:00:00.000Z", retiredAt: null, } @@ -43,12 +68,14 @@ describe("catalog and evolution", () => { currentNodeId: node.id, gauge: 0, isTerminal: false, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, } const thresholds: StageThresholds = STAGE_GAUGE_THRESHOLDS expect(DIGIMON_STAGES.every(isDigimonStage)).toBeTrue() expect(partner.currentNodeId).toBe(progression.currentNodeId) - expect(thresholds[node.stage]).toBe(500_000) + expect(thresholds[node.stage]).toBe(5_000_000) }) test("Given a raw catalog row with a reference URL When parsing Then the normalized node preserves the URL and evolution references are immutable", () => { @@ -118,81 +145,103 @@ describe("catalog and evolution", () => { expect(() => parseDigimonCatalog([root])).toThrow(/next_evolutions/i) }) - test("Given a threshold crossing on a same-stage edge When token progress applies Then it resets after exactly one selected evolution", async () => { + test("Given a threshold crossing on a same-stage edge When token progress applies Then it opens a pending evolution battle", async () => { const catalog = await loadDigimonCatalog() const andromon = catalog.byId.get("5-003") if (andromon === undefined) throw new Error("Expected Andromon in catalog") - const evolved = applyTokenProgress( - { current: andromon, gauge: 12_499_999, isTerminal: false }, + const pending = applyTokenProgress( + { current: andromon, gauge: 124_999_999, isTerminal: false, ...noBattle }, 1, () => 0.5, catalog.byId, + catalog.nodes, STAGE_GAUGE_THRESHOLDS, ) + expect(pending.current.id).toBe("5-003") + expect(pending.pendingEvolutionTargetId).toBe("5-033") + expect(pending.battleOpponentNodeId).not.toBe("5-003") + expect(pending.gauge).toBe(STAGE_GAUGE_THRESHOLDS[5]) + + const evolved = resolveEvolutionBattle(pending, true, catalog.byId) expect(evolved.current.id).toBe("5-033") expect(evolved.gauge).toBe(0) + expect(evolved.pendingEvolutionTargetId).toBeNull() }) - test("Given a controlled immutable lookup When token progress reaches a threshold Then it selects the lookup target and marks terminal state", () => { - const lookup = new Map([[controlledTarget.id, controlledTarget]]) - + test("Given a Digitama threshold crossing When token progress applies Then it evolves immediately without a battle", () => { const evolved = applyTokenProgress( - { current: controlledCurrent, gauge: 499_999, isTerminal: false }, + { current: controlledCurrent, gauge: 4_999_999, isTerminal: false, ...noBattle }, 1, () => 0, - lookup, + controlledLookup, + controlledCatalogNodes, STAGE_GAUGE_THRESHOLDS, ) - expect(evolved).toEqual({ current: controlledTarget, gauge: 0, isTerminal: true }) + expect(evolved).toEqual({ + current: controlledTarget, + gauge: 0, + isTerminal: true, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + }) }) test("Given a controlled lookup missing the selected target When token progress reaches a threshold Then it retains the existing catalog error", () => { expect(() => applyTokenProgress( - { current: controlledCurrent, gauge: 499_999, isTerminal: false }, + { current: controlledCurrent, gauge: 4_999_999, isTerminal: false, ...noBattle }, 1, () => 0, - new Map(), + new Map([[controlledCurrent.id, controlledCurrent]]), + [controlledCurrent], STAGE_GAUGE_THRESHOLDS, ), ).toThrow("Evolution target controlled-target is missing from the catalog") }) - test("Given a custom child threshold When token progress reaches it Then evolution crosses at the supplied policy boundary", () => { + test("Given a custom Digitama threshold When token progress reaches it Then evolution crosses at the supplied policy boundary", () => { const thresholds: StageThresholds = Object.freeze({ ...STAGE_GAUGE_THRESHOLDS, 0: 1, }) - const evolved = applyTokenProgress( - { current: controlledCurrent, gauge: 0, isTerminal: false }, - 1, - () => 0, - new Map([[controlledTarget.id, controlledTarget]]), - thresholds, - ) - - expect(evolved).toEqual({ current: controlledTarget, gauge: 0, isTerminal: true }) + expect( + applyTokenProgress( + { current: controlledCurrent, gauge: 0, isTerminal: false, ...noBattle }, + 1, + () => 0, + controlledLookup, + controlledCatalogNodes, + thresholds, + ), + ).toEqual({ + current: controlledTarget, + gauge: 0, + isTerminal: true, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + }) }) test("Given an invalid selector When token progress reaches a threshold Then the existing selector error is retained", () => { expect(() => applyTokenProgress( - { current: controlledCurrent, gauge: 499_999, isTerminal: false }, + { current: controlledCurrent, gauge: 4_999_999, isTerminal: false, ...noBattle }, 1, () => 1, - new Map([[controlledTarget.id, controlledTarget]]), + controlledLookup, + controlledCatalogNodes, STAGE_GAUGE_THRESHOLDS, ), ).toThrow("Evolution selector must return a finite number in [0, 1), received 1") }) test("Given a terminal partner When token progress applies Then it preserves the existing terminal state", () => { - const state = { current: controlledTarget, gauge: 0, isTerminal: true } as const + const state = { current: controlledTarget, gauge: 0, isTerminal: true, ...noBattle } as const expect( applyTokenProgress( @@ -201,7 +250,8 @@ describe("catalog and evolution", () => { () => { throw new Error("selector must not run") }, - new Map(), + controlledLookup, + controlledCatalogNodes, STAGE_GAUGE_THRESHOLDS, ), ).toBe(state) @@ -215,24 +265,26 @@ describe("catalog and evolution", () => { expect( applyTokenProgress( - { current: controlledCurrent, gauge: 0, isTerminal: false }, + { current: controlledCurrent, gauge: 0, isTerminal: false, ...noBattle }, 1, () => { throw new Error("selector must not run") }, - new Map(), + controlledLookup, + controlledCatalogNodes, thresholds, ), - ).toEqual({ current: controlledCurrent, gauge: 1, isTerminal: false }) + ).toEqual({ current: controlledCurrent, gauge: 1, isTerminal: false, ...noBattle }) }) test("Given an incomplete untyped threshold policy When token progress applies Then it rejects the policy before evolution", () => { expect(() => applyTokenProgress( - { current: controlledCurrent, gauge: 0, isTerminal: false }, + { current: controlledCurrent, gauge: 0, isTerminal: false, ...noBattle }, 1, () => 0, - new Map([[controlledTarget.id, controlledTarget]]), + controlledLookup, + controlledCatalogNodes, {}, ), ).toThrow("Evolution thresholds must be a complete frozen policy of positive finite numbers") @@ -244,10 +296,11 @@ describe("catalog and evolution", () => { expect(() => applyTokenProgress( - { current: controlledCurrent, gauge: 0, isTerminal: false }, + { current: controlledCurrent, gauge: 0, isTerminal: false, ...noBattle }, 1, () => 0, - new Map([[controlledTarget.id, controlledTarget]]), + controlledLookup, + controlledCatalogNodes, thresholds, ), ).toThrow("Evolution thresholds must be a complete frozen policy of positive finite numbers") @@ -263,10 +316,11 @@ describe("catalog and evolution", () => { for (const thresholds of policies) { expect(() => applyTokenProgress( - { current: controlledCurrent, gauge: 0, isTerminal: false }, + { current: controlledCurrent, gauge: 0, isTerminal: false, ...noBattle }, 1, () => 0, - new Map([[controlledTarget.id, controlledTarget]]), + controlledLookup, + controlledCatalogNodes, thresholds, ), ).toThrow("Evolution thresholds must be a complete frozen policy of positive finite numbers") @@ -279,15 +333,40 @@ describe("catalog and evolution", () => { expect(Reflect.set(thresholds, 0, 1)).toBeFalse() expect( applyTokenProgress( - { current: controlledCurrent, gauge: 0, isTerminal: false }, + { current: controlledCurrent, gauge: 0, isTerminal: false, ...noBattle }, 1, () => { throw new Error("selector must not run") }, - new Map(), + controlledLookup, + controlledCatalogNodes, thresholds, ), - ).toEqual({ current: controlledCurrent, gauge: 1, isTerminal: false }) + ).toEqual({ current: controlledCurrent, gauge: 1, isTerminal: false, ...noBattle }) + }) + + test("Given a lost evolution battle When resolving Then gauge resets for the current stage", async () => { + const catalog = await loadDigimonCatalog() + const andromon = catalog.byId.get("5-003") + + if (andromon === undefined) throw new Error("Expected Andromon in catalog") + + const pending = applyTokenProgress( + { current: andromon, gauge: 124_999_999, isTerminal: false, ...noBattle }, + 1, + () => 0.5, + catalog.byId, + catalog.nodes, + STAGE_GAUGE_THRESHOLDS, + ) + + expect(resolveEvolutionBattle(pending, false, catalog.byId)).toEqual({ + current: andromon, + gauge: 0, + isTerminal: false, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + }) }) }) diff --git a/tests/cli-config.test.ts b/packages/opencode-vpet/tests/cli-config.test.ts similarity index 98% rename from tests/cli-config.test.ts rename to packages/opencode-vpet/tests/cli-config.test.ts index 3232207..c4691d5 100644 --- a/tests/cli-config.test.ts +++ b/packages/opencode-vpet/tests/cli-config.test.ts @@ -41,7 +41,7 @@ const runCli = (arguments_: readonly string[], root: string, fake: FakeOpenCode, OPENCODE_CONFIG_DIR: join(root, "opencode"), OPENCODE_FAKE_CALLS: fake.callsPath, OPENCODE_FAKE_EXIT: String(exitCode), - PATH: `${fake.binDirectory}:${process.env.PATH ?? ""}`, + PATH: `${fake.binDirectory}:${process.env["PATH"] ?? ""}`, }, stdout: "pipe", stderr: "pipe", diff --git a/tests/config-loader.test.ts b/packages/opencode-vpet/tests/config-loader.test.ts similarity index 92% rename from tests/config-loader.test.ts rename to packages/opencode-vpet/tests/config-loader.test.ts index c28ff6d..2389a56 100644 --- a/tests/config-loader.test.ts +++ b/packages/opencode-vpet/tests/config-loader.test.ts @@ -8,7 +8,7 @@ import { loadGlobalVpetSettingsSync, resolveGlobalVpetConfigPath, } from "../src/config/global-vpet-settings.ts" -import { DEFAULT_VPET_SETTINGS } from "../src/config/defaults.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" const tempRoots: string[] = [] @@ -74,23 +74,23 @@ describe("global VPet configuration paths", () => { ) test.each([ - ["missing", async (_root: string) => undefined], + ["missing", async (_root: string): Promise => undefined], [ "unreadable directory", - async (root: string) => { + async (root: string): Promise => { await mkdir(resolveConfigPath(root), { recursive: true }) }, ], [ "malformed", - async (root: string) => { + async (root: string): Promise => { await createConfigDirectory(root) await writeFile(resolveConfigPath(root), "{") }, ], [ "scalar root", - async (root: string) => { + async (root: string): Promise => { await createConfigDirectory(root) await writeFile(resolveConfigPath(root), '"jp"') }, @@ -167,23 +167,23 @@ describe("global VPet configuration loading", () => { ) test.each([ - ["missing", async (_root: string) => undefined], + ["missing", async (_root: string): Promise => undefined], [ "unreadable directory", - async (root: string) => { + async (root: string): Promise => { await mkdir(resolveConfigPath(root), { recursive: true }) }, ], [ "malformed", - async (root: string) => { + async (root: string): Promise => { await createConfigDirectory(root) await writeFile(resolveConfigPath(root), "{") }, ], [ "scalar root", - async (root: string) => { + async (root: string): Promise => { await createConfigDirectory(root) await writeFile(resolveConfigPath(root), '"jp"') }, diff --git a/tests/config-settings.test.ts b/packages/opencode-vpet/tests/config-settings.test.ts similarity index 94% rename from tests/config-settings.test.ts rename to packages/opencode-vpet/tests/config-settings.test.ts index 1a78108..b6e314f 100644 --- a/tests/config-settings.test.ts +++ b/packages/opencode-vpet/tests/config-settings.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from "bun:test" -import { normalizeVpetSettings } from "../src/config/normalize.ts" -import { STAGE_THRESHOLD_KEYS, VPET_LANGUAGES, type ResolvedVpetSettings } from "../src/config/types.ts" +import { normalizeVpetSettings } from "@sbugallo/vpet-core/config/normalize.ts" +import { STAGE_THRESHOLD_KEYS, VPET_LANGUAGES, type ResolvedVpetSettings } from "@sbugallo/vpet-core/config/types.ts" const expectedDefaults = { language: "jp", @@ -29,14 +29,14 @@ const expectedDefaults = { }, }, stageThresholds: { - egg: 500_000, - babyI: 1_000_000, - babyII: 2_000_000, - child: 4_000_000, - adult: 7_500_000, - perfect: 12_500_000, - ultimate: 20_000_000, - superUltimate: 30_000_000, + egg: 5_000_000, + babyI: 10_000_000, + babyII: 20_000_000, + child: 40_000_000, + adult: 75_000_000, + perfect: 125_000_000, + ultimate: 200_000_000, + superUltimate: 300_000_000, }, } as const satisfies ResolvedVpetSettings @@ -182,7 +182,7 @@ describe("vpet settings normalization", () => { throw new Error("root") }, }), - 4_000_000, + 40_000_000, ], [ "language getter", @@ -191,7 +191,7 @@ describe("vpet settings normalization", () => { throw new Error("language") }, }), - 4_000_000, + 40_000_000, ], [ "stageThresholds getter", @@ -200,7 +200,7 @@ describe("vpet settings normalization", () => { throw new Error("thresholds") }, }), - 4_000_000, + 40_000_000, ], [ "threshold getter with valid sibling", @@ -228,7 +228,7 @@ describe("vpet settings normalization", () => { }, }, ), - 4_000_000, + 40_000_000, ], [ "threshold Proxy get trap with valid sibling", diff --git a/packages/opencode-vpet/tests/defeat-artwork.test.ts b/packages/opencode-vpet/tests/defeat-artwork.test.ts new file mode 100644 index 0000000..f78eada --- /dev/null +++ b/packages/opencode-vpet/tests/defeat-artwork.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, test } from "bun:test" + +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { renderDefeatArtwork } from "../src/tui/defeat-artwork.ts" + +describe("defeat artwork", () => { + test("Given normal and sad poses When rendering Then artwork alternates between them", () => { + const normal = renderDefeatArtwork(MONSTER_FRAME_CATALOG, "agumon", { sad: false, sadAlt: false }, 48) + const sad = renderDefeatArtwork(MONSTER_FRAME_CATALOG, "agumon", { sad: true, sadAlt: false }, 48) + + expect(normal).not.toEqual(sad) + }) + + test("Given defeat artwork When rendering Then the sprite is centered in the viewport", () => { + const artwork = renderDefeatArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + { sad: false, sadAlt: false }, + 48, + ) + const lines = artwork.split("\n").filter((line) => line.trim().length > 0) + + expect(lines.length).toBeGreaterThan(0) + expect(lines[0]?.startsWith(" ")).toBe(true) + }) +}) diff --git a/tests/dex-view-model.test.ts b/packages/opencode-vpet/tests/dex-view-model.test.ts similarity index 92% rename from tests/dex-view-model.test.ts rename to packages/opencode-vpet/tests/dex-view-model.test.ts index a6e5a94..e5a97dd 100644 --- a/tests/dex-view-model.test.ts +++ b/packages/opencode-vpet/tests/dex-view-model.test.ts @@ -1,8 +1,8 @@ import { describe, expect, test } from "bun:test" -import { DEFAULT_VPET_SETTINGS } from "../src/config/defaults.ts" -import { DIGIMON_CATALOG } from "../src/data/catalog.ts" -import { buildDexViewModel } from "../src/tui/dex-view-model.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { buildDexViewModel } from "@sbugallo/vpet-core/view-models/dex-view-model.ts" const catalog = { nodes: [ diff --git a/tests/digimon-data.test.ts b/packages/opencode-vpet/tests/digimon-data.test.ts similarity index 96% rename from tests/digimon-data.test.ts rename to packages/opencode-vpet/tests/digimon-data.test.ts index 4fe215e..dd7237b 100644 --- a/tests/digimon-data.test.ts +++ b/packages/opencode-vpet/tests/digimon-data.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test" -import { DIGIMON_DATA } from "../src/data/digimon-data" +import { DIGIMON_DATA } from "@sbugallo/vpet-core/data/digimon-data.ts" const RAW_RECORD_KEYS = ["id", "name_en", "name_jp", "next_evolutions", "sprite", "stage", "url"] diff --git a/packages/opencode-vpet/tests/evolution-artwork.test.ts b/packages/opencode-vpet/tests/evolution-artwork.test.ts new file mode 100644 index 0000000..4f432e0 --- /dev/null +++ b/packages/opencode-vpet/tests/evolution-artwork.test.ts @@ -0,0 +1,58 @@ +import { describe, expect, test } from "bun:test" + +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { renderEvolutionArtwork } from "../src/tui/evolution-artwork.ts" + +describe("evolution artwork", () => { + test("Given glow phase When rendering Then the sprite is still the current partner", () => { + const from = renderEvolutionArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "greymon", + { phase: "glow", progress: 0.2 }, + 48, + ) + const unchanged = renderEvolutionArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "greymon", + { phase: "glow", progress: 0 }, + 48, + ) + + expect(from.length).toBeGreaterThan(0) + expect(from).not.toEqual(unchanged) + }) + + test("Given morph phase When progress advances Then artwork moves toward the evolved sprite", () => { + const early = renderEvolutionArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "greymon", + { phase: "morph", progress: 0.1 }, + 48, + ) + const late = renderEvolutionArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "greymon", + { phase: "morph", progress: 0.9 }, + 48, + ) + + expect(early).not.toEqual(late) + }) + + test("Given reveal phase When rendering Then only the evolved sprite is shown", () => { + const artwork = renderEvolutionArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "greymon", + { phase: "reveal", progress: 0.8 }, + 48, + ) + + expect(artwork.length).toBeGreaterThan(0) + expect(artwork).not.toContain("Child") + }) +}) diff --git a/packages/opencode-vpet/tests/evolution-battle-artwork.test.ts b/packages/opencode-vpet/tests/evolution-battle-artwork.test.ts new file mode 100644 index 0000000..a506254 --- /dev/null +++ b/packages/opencode-vpet/tests/evolution-battle-artwork.test.ts @@ -0,0 +1,130 @@ +import { describe, expect, test } from "bun:test" + +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { + buildBattleIntroTextLines, + buildBattleScorePips, + buildBattleScoreRow, + defaultBattleScene, + EVOLUTION_BATTLE_HITS_TO_WIN, + FIREBALL_LINES, + planEvolutionBattle, + renderBattleIntroArtwork, + renderEvolutionBattleArtwork, +} from "../src/tui/evolution-battle-artwork.ts" + +const countHits = (shots: readonly { readonly shooter: "player" | "opponent"; readonly hit: boolean }[]) => ({ + playerHits: shots.filter((shot) => shot.shooter === "player" && shot.hit).length, + opponentHits: shots.filter((shot) => shot.shooter === "opponent" && shot.hit).length, +}) + +describe("evolution battle artwork", () => { + test("Given battle intro When ticking Then FIGlet BATTLE banner blinks", () => { + const textLines = buildBattleIntroTextLines() + const on = renderBattleIntroArtwork(80, 1, 0) + const off = renderBattleIntroArtwork(80, 1, 1) + + expect(textLines).toHaveLength(6) + expect(textLines[0]).toContain("██████╗") + expect(on).toContain("███████╗") + expect(off).not.toContain("█") + expect(on).not.toEqual(off) + }) + + test("Given a fireball shot When rendering Then the flame uses block-style sprite art", () => { + const artwork = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "player", progress: 0.5 }), + 80, + ) + + for (const line of FIREBALL_LINES) { + for (const character of line.replaceAll(" ", "")) { + expect(artwork).toContain(character) + } + } + }) + + test("Given opponent shot When rendering Then the fireball faces the opposite direction", () => { + const playerShot = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "player", progress: 0.5 }), + 80, + ) + const opponentShot = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "opponent", progress: 0.5 }), + 80, + ) + + expect(playerShot).toContain("▄█▀▀█") + expect(opponentShot).toContain("█▀▀█▄") + expect(playerShot).not.toEqual(opponentShot) + }) + + test("Given player and opponent shots When rendering travel Then fireballs move from opposite sides", () => { + const playerStart = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "player", progress: 0 }), + 80, + ) + const playerEnd = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "player", progress: 1 }), + 80, + ) + const opponentStart = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ shooter: "opponent", progress: 0 }), + 80, + ) + + expect(playerStart).not.toEqual(playerEnd) + expect(playerStart).not.toEqual(opponentStart) + expect(EVOLUTION_BATTLE_HITS_TO_WIN).toBe(3) + }) + + test("Given battle progress When rendering Then visual score pips and hit result are shown", () => { + const artwork = renderEvolutionBattleArtwork( + MONSTER_FRAME_CATALOG, + "agumon", + "gabumon", + defaultBattleScene({ playerHits: 2, opponentHits: 1, lastResult: "hit" }), + 80, + ) + + expect(buildBattleScorePips(2)).toBe("██░") + expect(buildBattleScorePips(1)).toBe("█░░") + expect(buildBattleScoreRow(2, 1)).toContain("██░") + expect(buildBattleScoreRow(2, 1)).toContain("█░░") + expect(artwork).toContain("HIT!") + }) + + test("Given planned player victory When battle ends Then player reaches three hits first", () => { + const shots = planEvolutionBattle("player", () => 0.42) + const { playerHits, opponentHits } = countHits(shots) + + expect(playerHits).toBe(EVOLUTION_BATTLE_HITS_TO_WIN) + expect(opponentHits).toBeLessThan(EVOLUTION_BATTLE_HITS_TO_WIN) + }) + + test("Given planned opponent victory When battle ends Then opponent reaches three hits first", () => { + const shots = planEvolutionBattle("opponent", () => 0.42) + const { playerHits, opponentHits } = countHits(shots) + + expect(opponentHits).toBe(EVOLUTION_BATTLE_HITS_TO_WIN) + expect(playerHits).toBeLessThan(EVOLUTION_BATTLE_HITS_TO_WIN) + }) +}) diff --git a/packages/opencode-vpet/tests/evolution-battle-session.test.ts b/packages/opencode-vpet/tests/evolution-battle-session.test.ts new file mode 100644 index 0000000..f5a1491 --- /dev/null +++ b/packages/opencode-vpet/tests/evolution-battle-session.test.ts @@ -0,0 +1,38 @@ +import { describe, expect, test } from "bun:test" + +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { runEvolutionBattleSession } from "../src/tui/evolution-battle-session.ts" + +describe("evolution battle session", () => { + test("Given a snapshot without a pending battle When running the session Then it is a no-op", async () => { + const frames: string[] = [] + const battled = await runEvolutionBattleSession( + { + currentNodeId: "0-001", + gauge: 0, + isTerminal: false, + frozen: false, + isSetOverride: false, + trainerTotalTokens: 0, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + }, + 80, + { + frameCatalog: MONSTER_FRAME_CATALOG, + digimonCatalog: DIGIMON_CATALOG, + repository: { + getActivePartner: () => null, + resolveEvolutionBattle: () => ({ kind: "no_pending_battle" }), + }, + onArtwork: async (artwork) => { + frames.push(artwork) + }, + }, + ) + + expect(battled).toBeFalse() + expect(frames).toEqual([]) + }) +}) diff --git a/tests/get-sidebar-card-inputs.test.ts b/packages/opencode-vpet/tests/get-sidebar-card-inputs.test.ts similarity index 86% rename from tests/get-sidebar-card-inputs.test.ts rename to packages/opencode-vpet/tests/get-sidebar-card-inputs.test.ts index 44b6693..bd58705 100644 --- a/tests/get-sidebar-card-inputs.test.ts +++ b/packages/opencode-vpet/tests/get-sidebar-card-inputs.test.ts @@ -1,8 +1,8 @@ import { describe, expect, test } from "bun:test" -import type { DigimonCatalog, DigimonNode } from "../src/data/catalog.ts" -import type { SidebarSnapshotReader } from "../src/application/ports/sidebar-snapshot.ts" -import { getSidebarCardInputs } from "../src/application/use-cases/get-sidebar-card-inputs.ts" +import type { DigimonCatalog, DigimonNode } from "@sbugallo/vpet-core/data/catalog.ts" +import type { SidebarSnapshotReader } from "@sbugallo/vpet-core/application/ports/sidebar-snapshot.ts" +import { getSidebarCardInputs } from "@sbugallo/vpet-core/application/use-cases/get-sidebar-card-inputs.ts" const agumon: DigimonNode = { id: "3-001", @@ -32,6 +32,11 @@ const catalog: DigimonCatalog = { ]), } +const snapshotFields = { + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, +} as const + describe("get sidebar card inputs", () => { test("Given a reader without a snapshot When querying sidebar card inputs Then it returns no partner", () => { const reader: SidebarSnapshotReader = { @@ -50,6 +55,7 @@ describe("get sidebar card inputs", () => { frozen: false, isSetOverride: false, trainerTotalTokens: 40_000, + ...snapshotFields, }), } @@ -61,6 +67,7 @@ describe("get sidebar card inputs", () => { frozen: false, isSetOverride: false, trainerTotalTokens: 40_000, + evolutionBattlePending: false, }) }) @@ -73,6 +80,7 @@ describe("get sidebar card inputs", () => { frozen: false, isSetOverride: false, trainerTotalTokens: 40_000, + ...snapshotFields, }), } @@ -88,6 +96,7 @@ describe("get sidebar card inputs", () => { frozen: false, isSetOverride: true, trainerTotalTokens: 40_000, + ...snapshotFields, }), } @@ -103,6 +112,7 @@ describe("get sidebar card inputs", () => { frozen: false, isSetOverride: true, trainerTotalTokens: 40_000, + ...snapshotFields, }), } @@ -114,6 +124,7 @@ describe("get sidebar card inputs", () => { frozen: false, isSetOverride: true, trainerTotalTokens: 40_000, + evolutionBattlePending: false, }) }) @@ -126,6 +137,7 @@ describe("get sidebar card inputs", () => { frozen: false, isSetOverride: false, trainerTotalTokens: 40_000, + ...snapshotFields, }), } @@ -137,6 +149,7 @@ describe("get sidebar card inputs", () => { frozen: false, isSetOverride: false, trainerTotalTokens: 40_000, + evolutionBattlePending: false, }) }) @@ -149,6 +162,7 @@ describe("get sidebar card inputs", () => { frozen: true, isSetOverride: false, trainerTotalTokens: 40_000, + ...snapshotFields, }), } @@ -160,6 +174,7 @@ describe("get sidebar card inputs", () => { frozen: true, isSetOverride: false, trainerTotalTokens: 40_000, + evolutionBattlePending: false, }) }) }) diff --git a/tests/hexagonal-boundary.test.ts b/packages/opencode-vpet/tests/hexagonal-boundary.test.ts similarity index 84% rename from tests/hexagonal-boundary.test.ts rename to packages/opencode-vpet/tests/hexagonal-boundary.test.ts index cac04e1..8601dea 100644 --- a/tests/hexagonal-boundary.test.ts +++ b/packages/opencode-vpet/tests/hexagonal-boundary.test.ts @@ -20,17 +20,17 @@ describe("hexagonal dependency direction", () => { test("Given domain fixtures importing data, config, application, and frameworks When scanned Then each exact violation is reported", async () => { const directory = await mkdtemp(join(tmpdir(), "opencode-vpet-domain-architecture-")) const fixtures = [ - ["data.ts", 'import type { DigimonCatalog } from "../data/catalog.ts"\n'], - ["config.ts", 'import type { ResolvedVpetSettings } from "../config/types.ts"\n'], - ["application.ts", 'import type { Partner } from "../application/models/partner.ts"\n'], + ["data.ts", 'import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts"\n'], + ["config.ts", 'import type { ResolvedVpetSettings } from "@sbugallo/vpet-core/config/types.ts"\n'], + ["application.ts", 'import type { Partner } from "@sbugallo/vpet-core/application/models/partner.ts"\n'], ["framework.ts", 'import type { Plugin } from "@opencode-ai/plugin"\n'], ] as const try { await Promise.all(fixtures.map(async ([name, source]) => writeFile(join(directory, name), source))) expect(await scanForbiddenImports(directory, FORBIDDEN_DOMAIN_IMPORTS)).toEqual([ - `${join(directory, "application.ts")}: ../application/models/partner.ts`, - `${join(directory, "config.ts")}: ../config/types.ts`, - `${join(directory, "data.ts")}: ../data/catalog.ts`, + `${join(directory, "application.ts")}: @sbugallo/vpet-core/application/models/partner.ts`, + `${join(directory, "config.ts")}: @sbugallo/vpet-core/config/types.ts`, + `${join(directory, "data.ts")}: @sbugallo/vpet-core/data/catalog.ts`, `${join(directory, "framework.ts")}: @opencode-ai/plugin`, ]) } finally { @@ -39,7 +39,9 @@ describe("hexagonal dependency direction", () => { expect(await Bun.file(directory).exists()).toBeFalse() }) test("Given the domain source tree When scanned Then it has no forbidden dependencies", async () => - expect(await scanForbiddenImports(join(PROJECT_ROOT, "src", "domain"), FORBIDDEN_DOMAIN_IMPORTS)).toEqual([])) + expect( + await scanForbiddenImports(join(PROJECT_ROOT, "..", "vpet-core", "src", "domain"), FORBIDDEN_DOMAIN_IMPORTS), + ).toEqual([])) test("Given the inner TUI source tree When scanned Then it has no persistence or SQLite dependencies", async () => expect(await scanTuiPresentationImports(join(PROJECT_ROOT, "src", "tui"))).toEqual([])) test("Given animation policy and mirror modules When scanned Then they remain TUI-private without domain, application, or SQLite dependencies", async () => { @@ -84,7 +86,9 @@ describe("hexagonal dependency direction", () => { test("Given the server hook composition When scanned Then it has no SQLite or application lifecycle port dependency", async () => { const hook = join(PROJECT_ROOT, "src", "adapters", "opencode", "create-server-hooks.ts") expect( - await Bun.file(join(PROJECT_ROOT, "src", "application", "ports", "resource-lifecycle.ts")).exists(), + await Bun.file( + join(PROJECT_ROOT, "..", "vpet-core", "src", "application", "ports", "resource-lifecycle.ts"), + ).exists(), ).toBeFalse() expect(findForbiddenImports(hook, await readFile(hook, "utf8"), FORBIDDEN_SERVER_HOOK_IMPORTS)).toEqual([]) }) diff --git a/tests/history-view-model.test.ts b/packages/opencode-vpet/tests/history-view-model.test.ts similarity index 93% rename from tests/history-view-model.test.ts rename to packages/opencode-vpet/tests/history-view-model.test.ts index c6cb208..437eebc 100644 --- a/tests/history-view-model.test.ts +++ b/packages/opencode-vpet/tests/history-view-model.test.ts @@ -1,8 +1,8 @@ import { describe, expect, test } from "bun:test" -import { DEFAULT_VPET_SETTINGS } from "../src/config/defaults.ts" -import type { DigimonNode } from "../src/domain/digimon-node.ts" -import { buildHistoryViewModel } from "../src/tui/history-view-model.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" +import type { DigimonNode } from "@sbugallo/vpet-core/domain/digimon-node.ts" +import { buildHistoryViewModel } from "@sbugallo/vpet-core/view-models/history-view-model.ts" const eggNode: DigimonNode = { id: "0-001", diff --git a/tests/monster-animation-actions.test.ts b/packages/opencode-vpet/tests/monster-animation-actions.test.ts similarity index 98% rename from tests/monster-animation-actions.test.ts rename to packages/opencode-vpet/tests/monster-animation-actions.test.ts index 01a72a7..f54b673 100644 --- a/tests/monster-animation-actions.test.ts +++ b/packages/opencode-vpet/tests/monster-animation-actions.test.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from "bun:test" -import type { MonsterFrameName } from "../src/data/monster-frame-catalog.ts" +import type { MonsterFrameName } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" import { MonsterAnimationController } from "../src/tui/monster-animation.ts" import { catalogFor, diff --git a/tests/monster-animation-test-utils.ts b/packages/opencode-vpet/tests/monster-animation-test-utils.ts similarity index 93% rename from tests/monster-animation-test-utils.ts rename to packages/opencode-vpet/tests/monster-animation-test-utils.ts index e34c0d2..819f58f 100644 --- a/tests/monster-animation-test-utils.ts +++ b/packages/opencode-vpet/tests/monster-animation-test-utils.ts @@ -1,4 +1,8 @@ -import { MonsterFrame, MonsterFrameCatalog, type MonsterFrameName } from "../src/data/monster-frame-catalog.ts" +import { + MonsterFrame, + MonsterFrameCatalog, + type MonsterFrameName, +} from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" import { MonsterAnimationController, type MonsterAnimationEvent, diff --git a/tests/monster-animation-walking.test.ts b/packages/opencode-vpet/tests/monster-animation-walking.test.ts similarity index 100% rename from tests/monster-animation-walking.test.ts rename to packages/opencode-vpet/tests/monster-animation-walking.test.ts diff --git a/tests/monster-animation.test.ts b/packages/opencode-vpet/tests/monster-animation.test.ts similarity index 98% rename from tests/monster-animation.test.ts rename to packages/opencode-vpet/tests/monster-animation.test.ts index 0483089..157c84f 100644 --- a/tests/monster-animation.test.ts +++ b/packages/opencode-vpet/tests/monster-animation.test.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from "bun:test" -import { MonsterFrame } from "../src/data/monster-frame-catalog.ts" +import { MonsterFrame } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" import { MonsterAnimationController } from "../src/tui/monster-animation.ts" import { catalogFor, frameContent, partnerChanged } from "./monster-animation-test-utils.ts" diff --git a/tests/monster-artwork-mirror.test.ts b/packages/opencode-vpet/tests/monster-artwork-mirror.test.ts similarity index 96% rename from tests/monster-artwork-mirror.test.ts rename to packages/opencode-vpet/tests/monster-artwork-mirror.test.ts index 7882f0e..69ce8ec 100644 --- a/tests/monster-artwork-mirror.test.ts +++ b/packages/opencode-vpet/tests/monster-artwork-mirror.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from "bun:test" -import { MonsterFrame, MONSTER_FRAME_CATALOG } from "../src/data/monster-frame-catalog.ts" -import { MONSTER_FRAME_DATA } from "../src/data/monster-frame-data.ts" +import { MonsterFrame, MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { MONSTER_FRAME_DATA } from "@sbugallo/vpet-core/data/monster-frame-data.ts" import { mirrorMonsterFrame } from "../src/tui/monster-artwork-mirror.ts" const AGUMON_WALK_1_MIRROR = diff --git a/tests/monster-frame-catalog.test.ts b/packages/opencode-vpet/tests/monster-frame-catalog.test.ts similarity index 97% rename from tests/monster-frame-catalog.test.ts rename to packages/opencode-vpet/tests/monster-frame-catalog.test.ts index 3236e47..7853be1 100644 --- a/tests/monster-frame-catalog.test.ts +++ b/packages/opencode-vpet/tests/monster-frame-catalog.test.ts @@ -6,7 +6,7 @@ import { MonsterFrameCatalog, STANDARD_ANIMATION_SEQUENCE, type MonsterFrameName, -} from "../src/data/monster-frame-catalog.ts" +} from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" type Equal = (() => Value extends Left ? 1 : 2) extends () => Value extends Right ? 1 : 2 ? true : false diff --git a/tests/monster-frame-data.test.ts b/packages/opencode-vpet/tests/monster-frame-data.test.ts similarity index 95% rename from tests/monster-frame-data.test.ts rename to packages/opencode-vpet/tests/monster-frame-data.test.ts index 526e534..64a65ef 100644 --- a/tests/monster-frame-data.test.ts +++ b/packages/opencode-vpet/tests/monster-frame-data.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from "bun:test" -import { MONSTER_FRAME_CATALOG } from "../src/data/monster-frame-catalog.ts" -import { MONSTER_FRAME_DATA } from "../src/data/monster-frame-data.ts" +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" +import { MONSTER_FRAME_DATA } from "@sbugallo/vpet-core/data/monster-frame-data.ts" const AGUMON_WALK_1 = " ▄▄▄▄▄ \n ▄█ ▄▄ ▀▄ \n ▄▀▀ ▄██ ▀▄ \n ▀█▀▀ █ \n ▀██▀▀ ▄ █ \n █▄█ █▄▄ █ \n ▄▄▀▀▄▄▄▄▀ █ \n █▄█▄▄█ █▄█▄█▄█" diff --git a/tests/package-fixture.ts b/packages/opencode-vpet/tests/package-fixture.ts similarity index 92% rename from tests/package-fixture.ts rename to packages/opencode-vpet/tests/package-fixture.ts index 8209e7b..dd63184 100644 --- a/tests/package-fixture.ts +++ b/packages/opencode-vpet/tests/package-fixture.ts @@ -4,8 +4,9 @@ import { basename, join } from "node:path" import { fileURLToPath } from "node:url" const PROJECT_ROOT = fileURLToPath(new URL("../", import.meta.url)) +const MONOREPO_ROOT = fileURLToPath(new URL("../../../", import.meta.url)) const REQUIRED_ARTIFACTS = ["index.js", "index.d.ts", "tui.js", "tui.d.ts", "cli.js"] as const -const EXCLUDED_COPY_DIRECTORIES = new Set([".git", ".omo", "dist", "node_modules"]) +const EXCLUDED_COPY_DIRECTORIES = new Set([".git", ".omo", "node_modules"]) export type PackageFixture = { readonly root: string @@ -32,11 +33,17 @@ const runCommand = (command: Command): string => { } const copyPackage = async (root: string): Promise => { - const packageDirectory = join(root, "package") + await cp(join(MONOREPO_ROOT, "CHANGELOG.md"), join(root, "CHANGELOG.md")) + const packagesDirectory = join(root, "packages") + const packageDirectory = join(packagesDirectory, "opencode-vpet") await cp(PROJECT_ROOT, packageDirectory, { recursive: true, filter: (source) => !EXCLUDED_COPY_DIRECTORIES.has(basename(source)), }) + await cp(join(PROJECT_ROOT, "../vpet-core"), join(packagesDirectory, "vpet-core"), { + recursive: true, + filter: (source) => !EXCLUDED_COPY_DIRECTORIES.has(basename(source)), + }) await symlink(join(PROJECT_ROOT, "node_modules"), join(packageDirectory, "node_modules"), "dir") return packageDirectory } diff --git a/tests/persistence/sqlite-migrations.persistence.ts b/packages/opencode-vpet/tests/persistence/sqlite-migrations.persistence.ts similarity index 97% rename from tests/persistence/sqlite-migrations.persistence.ts rename to packages/opencode-vpet/tests/persistence/sqlite-migrations.persistence.ts index 75b6b56..cf72c86 100644 --- a/tests/persistence/sqlite-migrations.persistence.ts +++ b/packages/opencode-vpet/tests/persistence/sqlite-migrations.persistence.ts @@ -5,11 +5,10 @@ import { join } from "node:path" import { Database } from "bun:sqlite" import { createExecutor } from "../../src/adapters/sqlite/bun-sqlite-driver.ts" -import { runMigrations } from "../../src/adapters/sqlite/sqlite-migrations.ts" +import { runMigrations } from "@sbugallo/vpet-core/adapters/sqlite/sqlite-migrations.ts" +import type { QueryValue } from "@sbugallo/vpet-core/ports/sqlite-executor.ts" import { isBunSqliteAvailable } from "../sqlite-capability.ts" -type QueryValue = string | number | null - type MigrationExecutor = { readonly statements: string[] transactionCount: number diff --git a/tests/persistence/sqlite-usage-event-toast.persistence.test.ts b/packages/opencode-vpet/tests/persistence/sqlite-usage-event-toast.persistence.test.ts similarity index 93% rename from tests/persistence/sqlite-usage-event-toast.persistence.test.ts rename to packages/opencode-vpet/tests/persistence/sqlite-usage-event-toast.persistence.test.ts index efaa6be..87158f5 100644 --- a/tests/persistence/sqlite-usage-event-toast.persistence.test.ts +++ b/packages/opencode-vpet/tests/persistence/sqlite-usage-event-toast.persistence.test.ts @@ -3,8 +3,8 @@ import type { AssistantMessage, Event } from "@opencode-ai/sdk" import { createServerHooks } from "../../src/adapters/opencode/create-server-hooks.ts" import type { VpetToastPayload } from "../../src/adapters/opencode/vpet-toast.ts" -import { DIGIMON_CATALOG } from "../../src/data/catalog.ts" -import { STAGE_GAUGE_THRESHOLDS } from "../../src/domain/evolution.ts" +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" +import { STAGE_GAUGE_THRESHOLDS } from "@sbugallo/vpet-core/domain/evolution.ts" import { createSqliteVpetRepository } from "../../src/adapters/sqlite/sqlite-vpet-write-store.ts" import { isBunSqliteAvailable } from "../sqlite-capability.ts" import { createTempTestRoot, removeTempTestRoot, spawn, type TempTestRoot } from "./sqlite-vpet-repository.fixtures.ts" @@ -74,7 +74,13 @@ describe.if(isBunSqliteAvailable)("sqlite usage event toast persistence", () => expect(delivered).toEqual([ expect.objectContaining({ title: "Digi-evolution", variant: "success", duration: 5_000 }), ]) - expect(repository.getActivePartner()).toEqual(expect.objectContaining({ currentNodeId: "1-001", gauge: 0 })) + expect(repository.getActivePartner()).toEqual( + expect.objectContaining({ + currentNodeId: "1-001", + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + }), + ) expect(repository.listUsageReceipts().map((receipt) => receipt.receiptKey)).toEqual(["message:direct-only"]) expect(repository.getTrainerState()).toEqual({ totalTokens: 1 }) } finally { @@ -91,7 +97,13 @@ describe.if(isBunSqliteAvailable)("sqlite usage event toast persistence", () => await dispatch(createHooks(repository, delivered, [completedMessage("idle-only")]), idleEvent) expect(delivered).toHaveLength(1) - expect(repository.getActivePartner()).toEqual(expect.objectContaining({ currentNodeId: "1-001", gauge: 0 })) + expect(repository.getActivePartner()).toEqual( + expect.objectContaining({ + currentNodeId: "1-001", + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + }), + ) expect(repository.listUsageReceipts().map((receipt) => receipt.receiptKey)).toEqual(["message:idle-only"]) expect(repository.getTrainerState()).toEqual({ totalTokens: 1 }) } finally { @@ -214,10 +226,7 @@ describe.if(isBunSqliteAvailable)("sqlite usage event toast persistence", () => idleEvent, ) - expect(delivered.map((payload) => payload.message)).toEqual([ - "Digiegg evolved into Argomon!", - "Argomon evolved into Argomon!", - ]) + expect(delivered.map((payload) => payload.title)).toEqual(["Digi-evolution", "Evolution battle"]) expect(repository.listUsageReceipts().map((receipt) => receipt.receiptKey)).toEqual([ "message:ordered-first", "message:ordered-second", diff --git a/tests/persistence/sqlite-vpet-archive-history.persistence.ts b/packages/opencode-vpet/tests/persistence/sqlite-vpet-archive-history.persistence.ts similarity index 94% rename from tests/persistence/sqlite-vpet-archive-history.persistence.ts rename to packages/opencode-vpet/tests/persistence/sqlite-vpet-archive-history.persistence.ts index 67dbf8e..38dbf32 100644 --- a/tests/persistence/sqlite-vpet-archive-history.persistence.ts +++ b/packages/opencode-vpet/tests/persistence/sqlite-vpet-archive-history.persistence.ts @@ -5,12 +5,12 @@ import { createSqliteVpetArchiveReader } from "../../src/adapters/sqlite/sqlite- import { openWritableDatabase } from "../../src/adapters/sqlite/bun-sqlite-driver.ts" import { createSqliteVpetRepository } from "../../src/adapters/sqlite/sqlite-vpet-write-store.ts" import { runVpetSetCommand } from "../../src/commands/vpet-set.ts" -import { DEFAULT_VPET_SETTINGS } from "../../src/config/defaults.ts" -import type { ResolvedVpetSettings } from "../../src/config/types.ts" -import type { DigimonCatalog } from "../../src/data/catalog.ts" -import type { DigimonNode } from "../../src/domain/digimon-node.ts" -import { buildDexViewModel } from "../../src/tui/dex-view-model.ts" -import { buildHistoryViewModel } from "../../src/tui/history-view-model.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" +import type { ResolvedVpetSettings } from "@sbugallo/vpet-core/config/types.ts" +import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" +import type { DigimonNode } from "@sbugallo/vpet-core/domain/digimon-node.ts" +import { buildDexViewModel } from "@sbugallo/vpet-core/view-models/dex-view-model.ts" +import { buildHistoryViewModel } from "@sbugallo/vpet-core/view-models/history-view-model.ts" import { isBunSqliteAvailable } from "../sqlite-capability.ts" import { applyReceipt, diff --git a/tests/persistence/sqlite-vpet-control.persistence.ts b/packages/opencode-vpet/tests/persistence/sqlite-vpet-control.persistence.ts similarity index 100% rename from tests/persistence/sqlite-vpet-control.persistence.ts rename to packages/opencode-vpet/tests/persistence/sqlite-vpet-control.persistence.ts diff --git a/tests/persistence/sqlite-vpet-repository.control-ledger.persistence.ts b/packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.control-ledger.persistence.ts similarity index 100% rename from tests/persistence/sqlite-vpet-repository.control-ledger.persistence.ts rename to packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.control-ledger.persistence.ts diff --git a/tests/persistence/sqlite-vpet-repository.fixtures.ts b/packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.fixtures.ts similarity index 96% rename from tests/persistence/sqlite-vpet-repository.fixtures.ts rename to packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.fixtures.ts index 5a89ed1..2f10eed 100644 --- a/tests/persistence/sqlite-vpet-repository.fixtures.ts +++ b/packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.fixtures.ts @@ -2,7 +2,7 @@ import { mkdir, mkdtemp, rm } from "node:fs/promises" import { join } from "node:path" import { openReadonlyDatabase, openWritableDatabase } from "../../src/adapters/sqlite/bun-sqlite-driver.ts" -import type { UsageReceiptMetadata } from "../../src/application/models/usage.ts" +import type { UsageReceiptMetadata } from "@sbugallo/vpet-core/application/models/usage.ts" import type { createSqliteVpetRepository } from "../../src/adapters/sqlite/sqlite-vpet-write-store.ts" export type TempTestRoot = { readonly root: string; readonly appDataRoot: string } diff --git a/tests/persistence/sqlite-vpet-repository.lifecycle.persistence.ts b/packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.lifecycle.persistence.ts similarity index 99% rename from tests/persistence/sqlite-vpet-repository.lifecycle.persistence.ts rename to packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.lifecycle.persistence.ts index 4dbee42..7a3080d 100644 --- a/tests/persistence/sqlite-vpet-repository.lifecycle.persistence.ts +++ b/packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.lifecycle.persistence.ts @@ -3,7 +3,7 @@ import { join } from "node:path" import { Database } from "bun:sqlite" import { openReadonlyDatabase, openWritableDatabase } from "../../src/adapters/sqlite/bun-sqlite-driver.ts" -import type { Partner } from "../../src/domain/partner.ts" +import type { Partner } from "@sbugallo/vpet-core/domain/partner.ts" import { createSqliteVpetRepository, resolveHostDatabasePath, diff --git a/tests/persistence/sqlite-vpet-repository.persistence.ts b/packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.persistence.ts similarity index 100% rename from tests/persistence/sqlite-vpet-repository.persistence.ts rename to packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.persistence.ts diff --git a/tests/persistence/sqlite-vpet-repository.receipts.persistence.ts b/packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.receipts.persistence.ts similarity index 100% rename from tests/persistence/sqlite-vpet-repository.receipts.persistence.ts rename to packages/opencode-vpet/tests/persistence/sqlite-vpet-repository.receipts.persistence.ts diff --git a/tests/port-boundary.test.ts b/packages/opencode-vpet/tests/port-boundary.test.ts similarity index 99% rename from tests/port-boundary.test.ts rename to packages/opencode-vpet/tests/port-boundary.test.ts index 09b23d6..74dedb1 100644 --- a/tests/port-boundary.test.ts +++ b/packages/opencode-vpet/tests/port-boundary.test.ts @@ -4,7 +4,7 @@ import type { JSX } from "@opentui/solid" import { chmod, mkdir, readFile, writeFile } from "node:fs/promises" import { join } from "node:path" -import { MonsterFrame, MONSTER_FRAME_CATALOG } from "../src/data/monster-frame-catalog.ts" +import { MonsterFrame, MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" import entryPlugin, { createCommandConfig, plugin } from "../src/index.ts" import tuiPlugin from "../src/tui.tsx" import type { MonsterAnimationOutput } from "../src/tui/monster-animation.ts" @@ -359,7 +359,7 @@ process.exit(Number(process.env.OPENCODE_FAKE_EXIT ?? "0")) OPENCODE_CONFIG_DIR: join(fixture.root, "opencode"), OPENCODE_FAKE_CALLS: callsPath, OPENCODE_FAKE_EXIT: String(exitCode), - PATH: `${fakeBinDirectory}:${process.env.PATH ?? ""}`, + PATH: `${fakeBinDirectory}:${process.env["PATH"] ?? ""}`, }) const runCli = (arguments_: readonly string[], exitCode = 0) => Bun.spawnSync([process.execPath, cliPath, ...arguments_], { diff --git a/tests/record-usage.test.ts b/packages/opencode-vpet/tests/record-usage.test.ts similarity index 85% rename from tests/record-usage.test.ts rename to packages/opencode-vpet/tests/record-usage.test.ts index 432b4c3..7423195 100644 --- a/tests/record-usage.test.ts +++ b/packages/opencode-vpet/tests/record-usage.test.ts @@ -1,12 +1,12 @@ import { describe, expect, test } from "bun:test" -import type { DigimonNode } from "../src/data/catalog.ts" -import type { Partner, PartnerProgression } from "../src/domain/partner.ts" -import type { UsageReceiptMetadata } from "../src/application/models/usage.ts" -import type { UsageLedger } from "../src/application/ports/usage-ledger.ts" -import { reconcileUsage } from "../src/application/use-cases/reconcile-usage.ts" -import { recordUsage, type CompletedUsage } from "../src/application/use-cases/record-usage.ts" -import { STAGE_GAUGE_THRESHOLDS, type StageThresholds } from "../src/domain/evolution.ts" +import type { DigimonNode } from "@sbugallo/vpet-core/data/catalog.ts" +import type { Partner, PartnerProgression } from "@sbugallo/vpet-core/domain/partner.ts" +import type { UsageReceiptMetadata } from "@sbugallo/vpet-core/application/models/usage.ts" +import type { UsageLedger } from "@sbugallo/vpet-core/application/ports/usage-ledger.ts" +import { reconcileUsage } from "@sbugallo/vpet-core/application/use-cases/reconcile-usage.ts" +import { recordUsage, type CompletedUsage } from "@sbugallo/vpet-core/application/use-cases/record-usage.ts" +import { STAGE_GAUGE_THRESHOLDS, type StageThresholds } from "@sbugallo/vpet-core/domain/evolution.ts" const currentNode: DigimonNode = { id: "current", @@ -28,12 +28,16 @@ const targetNode: DigimonNode = { url: "https://example.test/target", } +const catalogNodes = [currentNode, targetNode] + const activePartner: Partner = { partnerId: "partner-1", generation: 1, currentNodeId: currentNode.id, - gauge: 499_999, + gauge: 4_999_999, isTerminal: false, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, createdAt: "2026-07-31T00:00:00.000Z", retiredAt: null, } @@ -69,7 +73,7 @@ const createLedger = (outcome: "applied" | "duplicate" | "no_active_partner", pa } describe("record usage application use case", () => { - test("Given completed usage and an active partner When recording it Then the ledger applies the transaction-scoped evolution", () => { + test("Given completed usage and an active Digitama When recording it Then the ledger evolves immediately", () => { const ledger = createLedger("applied") const outcome = recordUsage({ @@ -79,6 +83,7 @@ describe("record usage application use case", () => { [currentNode.id, currentNode], [targetNode.id, targetNode], ]), + catalogNodes, selector: () => 0, thresholds: STAGE_GAUGE_THRESHOLDS, }) @@ -94,6 +99,8 @@ describe("record usage application use case", () => { currentNodeId: targetNode.id, gauge: 0, isTerminal: true, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }, ]) }) @@ -111,6 +118,7 @@ describe("record usage application use case", () => { selector: () => { throw new Error("selector must not run") }, + catalogNodes, thresholds: STAGE_GAUGE_THRESHOLDS, }) @@ -121,6 +129,8 @@ describe("record usage application use case", () => { currentNodeId: currentNode.id, gauge: 1, isTerminal: false, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }, ]) }) @@ -135,6 +145,7 @@ describe("record usage application use case", () => { selector: () => { throw new Error("selector must not run") }, + catalogNodes, thresholds: STAGE_GAUGE_THRESHOLDS, }) @@ -152,6 +163,7 @@ describe("record usage application use case", () => { selector: () => { throw new Error("selector must not run") }, + catalogNodes, thresholds: STAGE_GAUGE_THRESHOLDS, }) @@ -178,6 +190,7 @@ describe("record usage application use case", () => { selector: () => { throw new Error("selector must not run") }, + catalogNodes, thresholds: STAGE_GAUGE_THRESHOLDS, }) @@ -201,6 +214,7 @@ describe("record usage application use case", () => { selector: () => { throw new Error("selector must not run") }, + catalogNodes, thresholds: STAGE_GAUGE_THRESHOLDS, }) @@ -210,6 +224,8 @@ describe("record usage application use case", () => { currentNodeId: targetNode.id, gauge: 0, isTerminal: true, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }, ]) }) @@ -233,6 +249,7 @@ describe("record usage application use case", () => { selector: () => { throw new Error("selector must not run") }, + catalogNodes, thresholds: STAGE_GAUGE_THRESHOLDS, }) @@ -254,6 +271,7 @@ describe("record usage application use case", () => { ledger, digimonById: new Map(), selector: () => 0, + catalogNodes, thresholds: STAGE_GAUGE_THRESHOLDS, }), ).toThrow("Persisted partner node missing is missing from the catalog") @@ -278,12 +296,13 @@ describe("record usage application use case", () => { [targetNode.id, targetNode], ]), selector: () => 0, + catalogNodes, thresholds: STAGE_GAUGE_THRESHOLDS, }), ).toThrow(writeFailure) }) - test("Given a custom child threshold When recording usage Then the ledger evolves at the supplied threshold", () => { + test("Given a custom Digitama threshold When recording usage Then the ledger evolves immediately", () => { const thresholds: StageThresholds = Object.freeze({ ...STAGE_GAUGE_THRESHOLDS, 0: 1, @@ -297,6 +316,7 @@ describe("record usage application use case", () => { [currentNode.id, currentNode], [targetNode.id, targetNode], ]), + catalogNodes, selector: () => 0, thresholds, }) @@ -311,6 +331,8 @@ describe("record usage application use case", () => { currentNodeId: targetNode.id, gauge: 0, isTerminal: true, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }, ]) }) diff --git a/tests/release-metadata.test.ts b/packages/opencode-vpet/tests/release-metadata.test.ts similarity index 95% rename from tests/release-metadata.test.ts rename to packages/opencode-vpet/tests/release-metadata.test.ts index a8e6b13..842a796 100644 --- a/tests/release-metadata.test.ts +++ b/packages/opencode-vpet/tests/release-metadata.test.ts @@ -7,7 +7,7 @@ import { calculateNextDevelopmentVersion, calculateReleaseVersion, insertReleaseIntoChangelog, -} from "../scripts/release-metadata.ts" +} from "../../../scripts/release-metadata.ts" const tempRoots: string[] = [] @@ -91,7 +91,7 @@ describe("release metadata", () => { const result = Bun.spawnSync( [ "bun", - resolve(import.meta.dir, "../scripts/release-metadata.ts"), + resolve(import.meta.dir, "../../../scripts/release-metadata.ts"), "--package-json", packageJsonPath, "--changelog", @@ -129,7 +129,7 @@ describe("release metadata", () => { const result = Bun.spawnSync( [ "bun", - resolve(import.meta.dir, "../scripts/release-metadata.ts"), + resolve(import.meta.dir, "../../../scripts/release-metadata.ts"), "--package-json", packageJsonPath, "--changelog", @@ -161,7 +161,7 @@ describe("release metadata", () => { const result = Bun.spawnSync( [ "bun", - resolve(import.meta.dir, "../scripts/release-metadata.ts"), + resolve(import.meta.dir, "../../../scripts/release-metadata.ts"), "--package-json", packageJsonPath, "--changelog", diff --git a/tests/server-hooks-lifecycle.test.ts b/packages/opencode-vpet/tests/server-hooks-lifecycle.test.ts similarity index 89% rename from tests/server-hooks-lifecycle.test.ts rename to packages/opencode-vpet/tests/server-hooks-lifecycle.test.ts index 2ec20a5..ad61ef5 100644 --- a/tests/server-hooks-lifecycle.test.ts +++ b/packages/opencode-vpet/tests/server-hooks-lifecycle.test.ts @@ -3,12 +3,12 @@ import type { Event } from "@opencode-ai/sdk" import { createServerHooks } from "../src/adapters/opencode/create-server-hooks.ts" import type { VpetToastPayload } from "../src/adapters/opencode/vpet-toast.ts" -import type { DigimonCatalog, DigimonNode } from "../src/data/catalog.ts" -import { STAGE_GAUGE_THRESHOLDS } from "../src/domain/evolution.ts" -import type { ApplyUsageReceiptOutcome, UsageReceiptMetadata } from "../src/application/models/usage.ts" -import type { PartnerLifecycle } from "../src/application/ports/partner-lifecycle.ts" -import type { UsageLedger } from "../src/application/ports/usage-ledger.ts" -import type { VpetControl } from "../src/application/ports/vpet-control.ts" +import type { DigimonCatalog, DigimonNode } from "@sbugallo/vpet-core/data/catalog.ts" +import { STAGE_GAUGE_THRESHOLDS } from "@sbugallo/vpet-core/domain/evolution.ts" +import type { ApplyUsageReceiptOutcome, UsageReceiptMetadata } from "@sbugallo/vpet-core/application/models/usage.ts" +import type { PartnerLifecycle } from "@sbugallo/vpet-core/application/ports/partner-lifecycle.ts" +import type { UsageLedger } from "@sbugallo/vpet-core/application/ports/usage-ledger.ts" +import type { VpetControl } from "@sbugallo/vpet-core/application/ports/vpet-control.ts" const createRepository = (outcome: ApplyUsageReceiptOutcome, onReceipt?: () => void) => ({ @@ -63,6 +63,8 @@ const createToastRepository = () => { currentNodeId: "0-001", gauge: 0, isTerminal: false, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, createdAt: "2026-07-31T00:00:00.000Z", retiredAt: null, }), @@ -74,9 +76,17 @@ const createToastRepository = () => { readonly currentNodeId: string readonly gauge: number readonly isTerminal: boolean + readonly pendingEvolutionTargetId: string | null + readonly battleOpponentNodeId: string | null readonly createdAt: string readonly retiredAt: string | null - }) => { readonly currentNodeId: string; readonly gauge: number; readonly isTerminal: boolean }, + }) => { + readonly currentNodeId: string + readonly gauge: number + readonly isTerminal: boolean + readonly pendingEvolutionTargetId: string | null + readonly battleOpponentNodeId: string | null + }, ) => { evolve({ partnerId: "partner-1", @@ -84,6 +94,8 @@ const createToastRepository = () => { currentNodeId: "0-001", gauge: 0, isTerminal: false, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, createdAt: "2026-07-31T00:00:00.000Z", retiredAt: null, }) @@ -240,9 +252,24 @@ describe("server hook lifecycle", () => { await eventHandler({ event: { type: "session.idle", properties: { sessionID: "session-1" } } satisfies Event }) expect(delivered).toEqual([ - { title: "Digi-evolution", message: "Digitama evolved into Koromon!", variant: "success", duration: 5_000 }, - { title: "Digi-evolution", message: "Digitama evolved into Koromon!", variant: "success", duration: 5_000 }, - { title: "Digi-evolution", message: "Digitama evolved into Koromon!", variant: "success", duration: 5_000 }, + { + title: "Digi-evolution", + message: "Digitama evolved into Koromon!", + variant: "success", + duration: 5_000, + }, + { + title: "Digi-evolution", + message: "Digitama evolved into Koromon!", + variant: "success", + duration: 5_000, + }, + { + title: "Digi-evolution", + message: "Digitama evolved into Koromon!", + variant: "success", + duration: 5_000, + }, ]) }) diff --git a/tests/server-thresholds.test.ts b/packages/opencode-vpet/tests/server-thresholds.test.ts similarity index 85% rename from tests/server-thresholds.test.ts rename to packages/opencode-vpet/tests/server-thresholds.test.ts index cf1db3a..6ceb18c 100644 --- a/tests/server-thresholds.test.ts +++ b/packages/opencode-vpet/tests/server-thresholds.test.ts @@ -6,13 +6,13 @@ import { join, posix } from "node:path" import { createServerHooks, type ServerHookDependencies } from "../src/adapters/opencode/create-server-hooks.ts" import { createSessionMessagesFetcher } from "../src/adapters/opencode/session-messages.ts" -import type { UsageReceiptMetadata } from "../src/application/models/usage.ts" -import type { PartnerLifecycle } from "../src/application/ports/partner-lifecycle.ts" -import type { UsageLedger } from "../src/application/ports/usage-ledger.ts" -import type { VpetControl } from "../src/application/ports/vpet-control.ts" +import type { UsageReceiptMetadata } from "@sbugallo/vpet-core/application/models/usage.ts" +import type { PartnerLifecycle } from "@sbugallo/vpet-core/application/ports/partner-lifecycle.ts" +import type { UsageLedger } from "@sbugallo/vpet-core/application/ports/usage-ledger.ts" +import type { VpetControl } from "@sbugallo/vpet-core/application/ports/vpet-control.ts" import { createSqliteVpetRepository } from "../src/adapters/sqlite/sqlite-vpet-write-store.ts" -import { STAGE_GAUGE_THRESHOLDS, type StageThresholds } from "../src/domain/evolution.ts" -import type { Partner, PartnerProgression } from "../src/domain/partner.ts" +import { STAGE_GAUGE_THRESHOLDS, type StageThresholds } from "@sbugallo/vpet-core/domain/evolution.ts" +import type { Partner, PartnerProgression } from "@sbugallo/vpet-core/domain/partner.ts" import { loadGlobalVpetSettings, resolveGlobalVpetConfigPath } from "../src/config/global-vpet-settings.ts" import { isBunSqliteAvailable } from "./sqlite-capability.ts" @@ -156,6 +156,8 @@ describe("server threshold policy", () => { currentNodeId: "3-001", gauge: 0, isTerminal: false, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, createdAt: "2026-08-21T00:00:00.000Z", retiredAt: null, } @@ -184,8 +186,15 @@ describe("server threshold policy", () => { await dispatch(idleHooks, { type: "session.idle", properties: { sessionID: "session-1" } } satisfies Event) expect(directRepository.progressions).toEqual(idleRepository.progressions) - expect(directRepository.progressions).toEqual([expect.objectContaining({ gauge: 0, isTerminal: false })]) - expect(directRepository.progressions[0]?.currentNodeId).not.toBe(partner.currentNodeId) + expect(directRepository.progressions).toEqual([ + expect.objectContaining({ + currentNodeId: partner.currentNodeId, + gauge: 1, + isTerminal: false, + pendingEvolutionTargetId: expect.any(String), + battleOpponentNodeId: expect.any(String), + }), + ]) }) test("Given default thresholds When direct usage arrives below the child threshold Then the existing timing is retained", async () => { @@ -195,6 +204,8 @@ describe("server threshold policy", () => { currentNodeId: "3-001", gauge: 0, isTerminal: false, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, createdAt: "2026-08-21T00:00:00.000Z", retiredAt: null, } @@ -211,6 +222,8 @@ describe("server threshold policy", () => { currentNodeId: partner.currentNodeId, gauge: 1, isTerminal: false, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }, ]) }) @@ -241,7 +254,14 @@ describe("server threshold policy", () => { databasePath: join(appDataRoot, "opencode-vpet", "pet.db"), }) try { - expect(repository.getActivePartner()?.gauge).toBe(0) + expect(repository.getActivePartner()).toEqual( + expect.objectContaining({ + gauge: 1, + currentNodeId: "0-001", + pendingEvolutionTargetId: expect.any(String), + battleOpponentNodeId: expect.any(String), + }), + ) } finally { await repository.close() } @@ -263,7 +283,14 @@ describe("server threshold policy", () => { databasePath: join(appDataRoot, "opencode-vpet", "pet.db"), }) try { - expect(repository.getActivePartner()?.gauge).toBe(0) + expect(repository.getActivePartner()).toEqual( + expect.objectContaining({ + gauge: 1, + currentNodeId: "0-001", + pendingEvolutionTargetId: expect.any(String), + battleOpponentNodeId: expect.any(String), + }), + ) } finally { await repository.close() } diff --git a/tests/sidebar-card.test.tsx b/packages/opencode-vpet/tests/sidebar-card.test.tsx similarity index 99% rename from tests/sidebar-card.test.tsx rename to packages/opencode-vpet/tests/sidebar-card.test.tsx index a6a48a5..6ca54d7 100644 --- a/tests/sidebar-card.test.tsx +++ b/packages/opencode-vpet/tests/sidebar-card.test.tsx @@ -3,7 +3,7 @@ import { describe, expect, test } from "bun:test" import { createMockMouse } from "@opentui/core/testing" import { testRender } from "@opentui/solid" -import { MONSTER_FRAME_CATALOG, type MonsterFrame } from "../src/data/monster-frame-catalog.ts" +import { MONSTER_FRAME_CATALOG, type MonsterFrame } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" import { mirrorMonsterFrame } from "../src/tui/monster-artwork-mirror.ts" import type { MonsterAnimationOutput } from "../src/tui/monster-animation.ts" import { VpetSidebarCard } from "../src/tui/sidebar-card.tsx" diff --git a/tests/sidebar-poll-loop.test.ts b/packages/opencode-vpet/tests/sidebar-poll-loop.test.ts similarity index 100% rename from tests/sidebar-poll-loop.test.ts rename to packages/opencode-vpet/tests/sidebar-poll-loop.test.ts diff --git a/tests/sidebar-state.test.ts b/packages/opencode-vpet/tests/sidebar-state.test.ts similarity index 89% rename from tests/sidebar-state.test.ts rename to packages/opencode-vpet/tests/sidebar-state.test.ts index 7729c1c..54f3117 100644 --- a/tests/sidebar-state.test.ts +++ b/packages/opencode-vpet/tests/sidebar-state.test.ts @@ -82,6 +82,12 @@ describe("SQLite sidebar snapshot reader", () => { frozen: false, isSetOverride: false, trainerTotalTokens: 100, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }) expect(closeSpy).toHaveBeenCalledTimes(1) } finally { @@ -116,6 +122,12 @@ describe("SQLite sidebar snapshot reader", () => { frozen: true, isSetOverride: false, trainerTotalTokens: 0, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }) } finally { await repository.close() @@ -149,6 +161,12 @@ describe("SQLite sidebar snapshot reader", () => { frozen: false, isSetOverride: true, trainerTotalTokens: 900, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }) const withoutPartner = new Database(databasePath) @@ -162,6 +180,12 @@ describe("SQLite sidebar snapshot reader", () => { frozen: false, isSetOverride: true, trainerTotalTokens: 900, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }) } finally { await repository.close() @@ -202,6 +226,12 @@ describe("SQLite sidebar snapshot reader", () => { frozen: false, isSetOverride: true, trainerTotalTokens: 900, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }) const afterDatabase = new Database(databasePath) @@ -248,6 +278,12 @@ describe("SQLite sidebar snapshot reader", () => { frozen: false, isSetOverride: true, trainerTotalTokens: 0, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, }) const stored = new Database(databasePath) expect(stored.query("SELECT cheat_node_id FROM vpet_control_state WHERE control_id = 1").get()).toEqual({ diff --git a/tests/sidebar-view-model.test.ts b/packages/opencode-vpet/tests/sidebar-view-model.test.ts similarity index 91% rename from tests/sidebar-view-model.test.ts rename to packages/opencode-vpet/tests/sidebar-view-model.test.ts index bd34682..ca5535d 100644 --- a/tests/sidebar-view-model.test.ts +++ b/packages/opencode-vpet/tests/sidebar-view-model.test.ts @@ -1,8 +1,8 @@ import { describe, expect, test } from "bun:test" -import { DEFAULT_VPET_SETTINGS } from "../src/config/defaults.ts" -import { normalizeVpetSettings } from "../src/config/normalize.ts" -import { buildSidebarCardModel } from "../src/tui/sidebar-view-model.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" +import { normalizeVpetSettings } from "@sbugallo/vpet-core/config/normalize.ts" +import { buildSidebarCardModel } from "@sbugallo/vpet-core/view-models/sidebar-view-model.ts" describe("static sidebar model", () => { const partnerInputs = { @@ -21,6 +21,7 @@ describe("static sidebar model", () => { frozen: false, isSetOverride: false, trainerTotalTokens: 25_000, + evolutionBattlePending: false, } as const test("Given default Japanese settings When building the sidebar model Then it renders catalog Japanese names and familiar labels", () => { @@ -29,6 +30,7 @@ describe("static sidebar model", () => { if (model.kind !== "partner") throw new Error("Expected partner sidebar model") expect(Object.keys(model).sort()).toEqual([ + "evolutionBattlePending", "frozen", "gauge", "isSetOverride", @@ -46,7 +48,7 @@ describe("static sidebar model", () => { expect(model.stageNumber).toBe(4) expect(model.url).toBe("https://example.test/tailmon") expect(model.gauge).toBe(25_000) - expect(model.threshold).toBe(7_500_000) + expect(model.threshold).toBe(75_000_000) expect(model.isTerminal).toBe(false) expect(model.frozen).toBe(false) }) @@ -121,7 +123,7 @@ describe("static sidebar model", () => { expect(model.name).toBe("Tailmon") expect(model.stage).toBe("Adult") - expect(model.threshold).toBe(7_500_000) + expect(model.threshold).toBe(75_000_000) expect(model.isTerminal).toBe(true) }) diff --git a/tests/sqlite-capability.ts b/packages/opencode-vpet/tests/sqlite-capability.ts similarity index 100% rename from tests/sqlite-capability.ts rename to packages/opencode-vpet/tests/sqlite-capability.ts diff --git a/tests/sqlite-vpet-archive-reader.test.ts b/packages/opencode-vpet/tests/sqlite-vpet-archive-reader.test.ts similarity index 100% rename from tests/sqlite-vpet-archive-reader.test.ts rename to packages/opencode-vpet/tests/sqlite-vpet-archive-reader.test.ts diff --git a/packages/opencode-vpet/tests/tsconfig.json b/packages/opencode-vpet/tests/tsconfig.json new file mode 100644 index 0000000..f34f24f --- /dev/null +++ b/packages/opencode-vpet/tests/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../tsconfig.test.json", + "include": ["./**/*"], + "exclude": ["../node_modules", "../dist"] +} diff --git a/tests/tui-composition-fixture.ts b/packages/opencode-vpet/tests/tui-composition-fixture.ts similarity index 96% rename from tests/tui-composition-fixture.ts rename to packages/opencode-vpet/tests/tui-composition-fixture.ts index 6dc9e7a..d756702 100644 --- a/tests/tui-composition-fixture.ts +++ b/packages/opencode-vpet/tests/tui-composition-fixture.ts @@ -7,9 +7,9 @@ import type { import type { TuiDialogProps, TuiTheme } from "@opencode-ai/plugin/tui" import type { JSX } from "@opentui/solid" -import type { SidebarCardInputs } from "../src/application/models/sidebar-card-inputs.ts" -import { DEFAULT_VPET_SETTINGS } from "../src/config/defaults.ts" -import type { DigimonStage } from "../src/domain/stage.ts" +import type { SidebarCardInputs } from "@sbugallo/vpet-core/application/models/sidebar-card-inputs.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" +import type { DigimonStage } from "@sbugallo/vpet-core/domain/stage.ts" import type { MonsterAnimationOutput } from "../src/tui/monster-animation.ts" import { createTui, type TuiCompositionApi } from "../src/tui.tsx" @@ -55,6 +55,7 @@ export const partnerInputs = (sprite: string, options: PartnerInputOptions = {}) frozen: false, isSetOverride: options.isSetOverride ?? false, trainerTotalTokens: 100, + evolutionBattlePending: false, }) export const settle = async (): Promise => { @@ -232,7 +233,7 @@ export class TuiCompositionHarness { for (const layer of this.layers) { if (!this.#activeLayers.has(layer) || layer.commands === undefined) continue for (const cmd of layer.commands) { - if (cmd.name === name || cmd.slashName === name) { + if (cmd["name"] === name || cmd["slashName"] === name) { if (cmd.run) { type RunFn = (context?: typeof ctx) => void const run = cmd.run as RunFn diff --git a/tests/tui-composition.test.ts b/packages/opencode-vpet/tests/tui-composition.test.ts similarity index 96% rename from tests/tui-composition.test.ts rename to packages/opencode-vpet/tests/tui-composition.test.ts index 9bbf027..c7a2715 100644 --- a/tests/tui-composition.test.ts +++ b/packages/opencode-vpet/tests/tui-composition.test.ts @@ -1,11 +1,11 @@ import { describe, expect, test } from "bun:test" import { testRender } from "@opentui/solid" -import type { SidebarCardInputs } from "../src/application/models/sidebar-card-inputs.ts" -import type { VpetArchiveResult } from "../src/application/models/vpet-archive.ts" -import type { VpetArchiveReader } from "../src/application/ports/vpet-archive.ts" -import { DEFAULT_VPET_SETTINGS } from "../src/config/defaults.ts" -import { MONSTER_FRAME_CATALOG } from "../src/data/monster-frame-catalog.ts" +import type { SidebarCardInputs } from "@sbugallo/vpet-core/application/models/sidebar-card-inputs.ts" +import type { VpetArchiveResult } from "@sbugallo/vpet-core/application/models/vpet-archive.ts" +import type { VpetArchiveReader } from "@sbugallo/vpet-core/application/ports/vpet-archive.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" +import { MONSTER_FRAME_CATALOG } from "@sbugallo/vpet-core/data/monster-frame-catalog.ts" import { createTui } from "../src/tui.tsx" import { messagePartUpdated, @@ -87,10 +87,10 @@ describe("TUI composition", () => { expect( commands.map((command) => ({ - name: command.name, - slashName: command.slashName, - namespace: command.namespace, - category: command.category, + name: command["name"], + slashName: command["slashName"], + namespace: command["namespace"], + category: command["category"], })), ).toEqual([ { name: "vpet.dex", slashName: "vpet-dex", namespace: "palette", category: "VPet" }, @@ -140,8 +140,8 @@ describe("TUI composition", () => { expect(harness.layers).toHaveLength(1) const layer = harness.layers[0] - expect(layer?.name).toBe("opencode-vpet.layer") - expect(layer?.namespace).toBe("opencode-vpet") + expect(layer?.["name"]).toBe("opencode-vpet.layer") + expect(layer?.["namespace"]).toBe("opencode-vpet") expect(layer?.commands).toEqual([]) let testCommandRun = 0 diff --git a/tests/tui-settings-composition.test.ts b/packages/opencode-vpet/tests/tui-settings-composition.test.ts similarity index 93% rename from tests/tui-settings-composition.test.ts rename to packages/opencode-vpet/tests/tui-settings-composition.test.ts index 1c1c2f5..7adb039 100644 --- a/tests/tui-settings-composition.test.ts +++ b/packages/opencode-vpet/tests/tui-settings-composition.test.ts @@ -7,12 +7,12 @@ import { testRender } from "@opentui/solid" import type { JSX } from "@opentui/solid" import { createSqliteSidebarSnapshotReader } from "../src/adapters/sqlite/sqlite-sidebar-snapshot-reader.ts" -import type { SidebarCardInputs } from "../src/application/models/sidebar-card-inputs.ts" -import type { VpetArchiveReader } from "../src/application/ports/vpet-archive.ts" -import { getSidebarCardInputs } from "../src/application/use-cases/get-sidebar-card-inputs.ts" -import { DEFAULT_VPET_SETTINGS } from "../src/config/defaults.ts" +import type { SidebarCardInputs } from "@sbugallo/vpet-core/application/models/sidebar-card-inputs.ts" +import type { VpetArchiveReader } from "@sbugallo/vpet-core/application/ports/vpet-archive.ts" +import { getSidebarCardInputs } from "@sbugallo/vpet-core/application/use-cases/get-sidebar-card-inputs.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" import { loadGlobalVpetSettings } from "../src/config/global-vpet-settings.ts" -import { DIGIMON_CATALOG } from "../src/data/catalog.ts" +import { DIGIMON_CATALOG } from "@sbugallo/vpet-core/data/catalog.ts" import { createTui } from "../src/tui.tsx" import { TuiCompositionHarness } from "./tui-composition-fixture.ts" @@ -194,10 +194,10 @@ describe("TUI settings composition", () => { }) test.each([ - ["missing", async (_configPath: string) => undefined], + ["missing", async (_configPath: string): Promise => undefined], [ "invalid", - async (configPath: string) => + async (configPath: string): Promise => writeFile(configPath, JSON.stringify({ language: "fr", stageThresholds: { adult: 0 } })), ], ] as const)( @@ -225,11 +225,11 @@ describe("TUI settings composition", () => { stage: 4, url: "https://example.test/tailmon", }, - gauge: 7_500_000, + gauge: 75_000_000, isTerminal: false, frozen: false, isSetOverride: false, - trainerTotalTokens: 7_500_000, + trainerTotalTokens: 75_000_000, }), settings, ) @@ -259,7 +259,7 @@ describe("TUI settings composition", () => { expect(frame).toContain("Tailmon") expect(frame).toContain("Adult") - expect(frame).toContain("7,500,000/7,500,000") + expect(frame).toContain("75,000,000/75,000,000") expect(frame).not.toContain("Gatomon") expect(frame).not.toContain("Champion") setup.renderer.destroy() diff --git a/tests/usage-event-ingestion.test.ts b/packages/opencode-vpet/tests/usage-event-ingestion.test.ts similarity index 96% rename from tests/usage-event-ingestion.test.ts rename to packages/opencode-vpet/tests/usage-event-ingestion.test.ts index 0016870..63af2d1 100644 --- a/tests/usage-event-ingestion.test.ts +++ b/packages/opencode-vpet/tests/usage-event-ingestion.test.ts @@ -4,10 +4,10 @@ import type { AssistantMessage, Event, Message, UserMessage } from "@opencode-ai import { toCompletedUsageFromEvent, toCompletedUsageFromMessage } from "../src/adapters/opencode/usage-event-mapper.ts" import { createServerHooks } from "../src/adapters/opencode/create-server-hooks.ts" import { createSessionMessagesFetcher } from "../src/adapters/opencode/session-messages.ts" -import type { ApplyUsageReceiptOutcome, UsageReceiptMetadata } from "../src/application/models/usage.ts" -import type { PartnerLifecycle } from "../src/application/ports/partner-lifecycle.ts" -import type { UsageLedger } from "../src/application/ports/usage-ledger.ts" -import type { VpetControl } from "../src/application/ports/vpet-control.ts" +import type { ApplyUsageReceiptOutcome, UsageReceiptMetadata } from "@sbugallo/vpet-core/application/models/usage.ts" +import type { PartnerLifecycle } from "@sbugallo/vpet-core/application/ports/partner-lifecycle.ts" +import type { UsageLedger } from "@sbugallo/vpet-core/application/ports/usage-ledger.ts" +import type { VpetControl } from "@sbugallo/vpet-core/application/ports/vpet-control.ts" const completedAssistantEvent = { type: "message.updated", diff --git a/tests/usage-event-processing-time.test.ts b/packages/opencode-vpet/tests/usage-event-processing-time.test.ts similarity index 89% rename from tests/usage-event-processing-time.test.ts rename to packages/opencode-vpet/tests/usage-event-processing-time.test.ts index 4f90a33..a2c6090 100644 --- a/tests/usage-event-processing-time.test.ts +++ b/packages/opencode-vpet/tests/usage-event-processing-time.test.ts @@ -2,10 +2,10 @@ import { describe, expect, test } from "bun:test" import type { Event, Message } from "@opencode-ai/sdk" import { createServerHooks } from "../src/adapters/opencode/create-server-hooks.ts" -import type { ApplyUsageReceiptOutcome, UsageReceiptMetadata } from "../src/application/models/usage.ts" -import type { PartnerLifecycle } from "../src/application/ports/partner-lifecycle.ts" -import type { UsageLedger } from "../src/application/ports/usage-ledger.ts" -import type { VpetControl } from "../src/application/ports/vpet-control.ts" +import type { ApplyUsageReceiptOutcome, UsageReceiptMetadata } from "@sbugallo/vpet-core/application/models/usage.ts" +import type { PartnerLifecycle } from "@sbugallo/vpet-core/application/ports/partner-lifecycle.ts" +import type { UsageLedger } from "@sbugallo/vpet-core/application/ports/usage-ledger.ts" +import type { VpetControl } from "@sbugallo/vpet-core/application/ports/vpet-control.ts" const completedAssistantEvent = { type: "message.updated", diff --git a/tests/vpet-command-layer.test.tsx b/packages/opencode-vpet/tests/vpet-command-layer.test.tsx similarity index 90% rename from tests/vpet-command-layer.test.tsx rename to packages/opencode-vpet/tests/vpet-command-layer.test.tsx index a14e5de..b78e4ae 100644 --- a/tests/vpet-command-layer.test.tsx +++ b/packages/opencode-vpet/tests/vpet-command-layer.test.tsx @@ -2,8 +2,8 @@ import { describe, expect, test } from "bun:test" import { testRender } from "@opentui/solid" -import type { VpetArchiveReader } from "../src/application/ports/vpet-archive.ts" -import { DEFAULT_VPET_SETTINGS } from "../src/config/defaults.ts" +import type { VpetArchiveReader } from "@sbugallo/vpet-core/application/ports/vpet-archive.ts" +import { DEFAULT_VPET_SETTINGS } from "@sbugallo/vpet-core/config/defaults.ts" import { createTui } from "../src/tui.tsx" import { partnerInputs, settle, TuiCompositionHarness } from "./tui-composition-fixture.ts" diff --git a/tests/vpet-control.test.ts b/packages/opencode-vpet/tests/vpet-control.test.ts similarity index 90% rename from tests/vpet-control.test.ts rename to packages/opencode-vpet/tests/vpet-control.test.ts index fecf9e5..dae5a9a 100644 --- a/tests/vpet-control.test.ts +++ b/packages/opencode-vpet/tests/vpet-control.test.ts @@ -1,9 +1,9 @@ import { describe, expect, test } from "bun:test" -import type { VpetControl } from "../src/application/ports/vpet-control.ts" -import { freezeVpet } from "../src/application/use-cases/freeze-vpet.ts" -import { setVpetCheatNode } from "../src/application/use-cases/set-vpet-cheat-node.ts" -import { unfreezeVpet } from "../src/application/use-cases/unfreeze-vpet.ts" +import type { VpetControl } from "@sbugallo/vpet-core/application/ports/vpet-control.ts" +import { freezeVpet } from "@sbugallo/vpet-core/application/use-cases/freeze-vpet.ts" +import { setVpetCheatNode } from "@sbugallo/vpet-core/application/use-cases/set-vpet-cheat-node.ts" +import { unfreezeVpet } from "@sbugallo/vpet-core/application/use-cases/unfreeze-vpet.ts" type ControlState = { frozen: boolean diff --git a/tests/vpet-dex-dialog-fixture.tsx b/packages/opencode-vpet/tests/vpet-dex-dialog-fixture.tsx similarity index 100% rename from tests/vpet-dex-dialog-fixture.tsx rename to packages/opencode-vpet/tests/vpet-dex-dialog-fixture.tsx diff --git a/tests/vpet-dex-dialog-hardening.test.tsx b/packages/opencode-vpet/tests/vpet-dex-dialog-hardening.test.tsx similarity index 96% rename from tests/vpet-dex-dialog-hardening.test.tsx rename to packages/opencode-vpet/tests/vpet-dex-dialog-hardening.test.tsx index 362f43c..701c10d 100644 --- a/tests/vpet-dex-dialog-hardening.test.tsx +++ b/packages/opencode-vpet/tests/vpet-dex-dialog-hardening.test.tsx @@ -2,7 +2,7 @@ import { describe, expect, test, mock } from "bun:test" import { testRender } from "@opentui/solid" import { VpetDexDialog } from "../src/tui/vpet-dex-dialog.tsx" -import type { DexViewModel } from "../src/tui/dex-view-model.ts" +import type { DexViewModel } from "@sbugallo/vpet-core/view-models/dex-view-model.ts" import { createMockTheme } from "./vpet-dex-dialog-fixture.tsx" describe("VpetDexDialog hardening", () => { diff --git a/tests/vpet-dex-dialog.test.tsx b/packages/opencode-vpet/tests/vpet-dex-dialog.test.tsx similarity index 98% rename from tests/vpet-dex-dialog.test.tsx rename to packages/opencode-vpet/tests/vpet-dex-dialog.test.tsx index c44285a..8a042b2 100644 --- a/tests/vpet-dex-dialog.test.tsx +++ b/packages/opencode-vpet/tests/vpet-dex-dialog.test.tsx @@ -3,7 +3,7 @@ import { describe, expect, test, mock } from "bun:test" import { ScrollBoxRenderable } from "@opentui/core" import { testRender } from "@opentui/solid" import { VpetDexDialog } from "../src/tui/vpet-dex-dialog.tsx" -import type { DexViewModel } from "../src/tui/dex-view-model.ts" +import type { DexViewModel } from "@sbugallo/vpet-core/view-models/dex-view-model.ts" import { createMockTheme, createTrackedDialogApi } from "./vpet-dex-dialog-fixture.tsx" describe("VpetDexDialog", () => { diff --git a/tests/vpet-dialog-layout.test.tsx b/packages/opencode-vpet/tests/vpet-dialog-layout.test.tsx similarity index 100% rename from tests/vpet-dialog-layout.test.tsx rename to packages/opencode-vpet/tests/vpet-dialog-layout.test.tsx diff --git a/tests/vpet-freeze.test.ts b/packages/opencode-vpet/tests/vpet-freeze.test.ts similarity index 100% rename from tests/vpet-freeze.test.ts rename to packages/opencode-vpet/tests/vpet-freeze.test.ts diff --git a/tests/vpet-history-dialog.test.tsx b/packages/opencode-vpet/tests/vpet-history-dialog.test.tsx similarity index 99% rename from tests/vpet-history-dialog.test.tsx rename to packages/opencode-vpet/tests/vpet-history-dialog.test.tsx index 32cc94c..e6eecdb 100644 --- a/tests/vpet-history-dialog.test.tsx +++ b/packages/opencode-vpet/tests/vpet-history-dialog.test.tsx @@ -3,7 +3,7 @@ import { describe, expect, test, mock } from "bun:test" import { ScrollBoxRenderable } from "@opentui/core" import { testRender } from "@opentui/solid" import { VpetHistoryDialog, type VpetHistoryDialogTheme } from "../src/tui/vpet-history-dialog.tsx" -import type { HistoryViewModel } from "../src/tui/history-view-model.ts" +import type { HistoryViewModel } from "@sbugallo/vpet-core/view-models/history-view-model.ts" import { parseColor } from "@opentui/core" import { createTrackedDialogApi } from "./vpet-dex-dialog-fixture.tsx" diff --git a/tests/vpet-set.test.ts b/packages/opencode-vpet/tests/vpet-set.test.ts similarity index 98% rename from tests/vpet-set.test.ts rename to packages/opencode-vpet/tests/vpet-set.test.ts index 7e6ef82..f3b9633 100644 --- a/tests/vpet-set.test.ts +++ b/packages/opencode-vpet/tests/vpet-set.test.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from "bun:test" import type { Part } from "@opencode-ai/sdk" -import type { DigimonCatalog } from "../src/data/catalog.ts" +import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" import { createServerHooks } from "../src/adapters/opencode/create-server-hooks.ts" import { runVpetSetCommand } from "../src/commands/vpet-set.ts" diff --git a/tests/vpet-spawn.test.ts b/packages/opencode-vpet/tests/vpet-spawn.test.ts similarity index 98% rename from tests/vpet-spawn.test.ts rename to packages/opencode-vpet/tests/vpet-spawn.test.ts index 1b7fb63..6efeaae 100644 --- a/tests/vpet-spawn.test.ts +++ b/packages/opencode-vpet/tests/vpet-spawn.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from "bun:test" import type { Part } from "@opencode-ai/sdk" -import { spawnPartner } from "../src/application/use-cases/spawn-partner.ts" +import { spawnPartner } from "@sbugallo/vpet-core/application/use-cases/spawn-partner.ts" import { createServerHooks } from "../src/adapters/opencode/create-server-hooks.ts" import { runVpetSpawnCommand } from "../src/commands/vpet-spawn.ts" diff --git a/tests/vpet-toast.test.ts b/packages/opencode-vpet/tests/vpet-toast.test.ts similarity index 93% rename from tests/vpet-toast.test.ts rename to packages/opencode-vpet/tests/vpet-toast.test.ts index 69d630a..2824991 100644 --- a/tests/vpet-toast.test.ts +++ b/packages/opencode-vpet/tests/vpet-toast.test.ts @@ -5,7 +5,7 @@ import { formatVpetToast, type VpetToastPayload, } from "../src/adapters/opencode/vpet-toast.ts" -import type { DigimonCatalog } from "../src/data/catalog.ts" +import type { DigimonCatalog } from "@sbugallo/vpet-core/data/catalog.ts" const nodes = [ { @@ -69,6 +69,16 @@ describe("VPet toast presentation", () => { evolution, { title: "Digi-evolution", message: "Digitama evolved into Koromon!", variant: "success", duration: 5_000 }, ], + [ + "defeat", + { kind: "defeat" }, + { + title: "Defeat", + message: "Defeat! You lost all tokens for this stage.", + variant: "info", + duration: 5_000, + }, + ], ] as const)( "Given an English catalog and a %s event When formatting Then it returns the approved payload", (_name, event, expected) => { diff --git a/tests/vpet-unfreeze.test.ts b/packages/opencode-vpet/tests/vpet-unfreeze.test.ts similarity index 100% rename from tests/vpet-unfreeze.test.ts rename to packages/opencode-vpet/tests/vpet-unfreeze.test.ts diff --git a/tsconfig.build.json b/packages/opencode-vpet/tsconfig.build.json similarity index 100% rename from tsconfig.build.json rename to packages/opencode-vpet/tsconfig.build.json diff --git a/packages/opencode-vpet/tsconfig.json b/packages/opencode-vpet/tsconfig.json new file mode 100644 index 0000000..cad9cc8 --- /dev/null +++ b/packages/opencode-vpet/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "strict": true, + "noUncheckedIndexedAccess": true, + "exactOptionalPropertyTypes": true, + "noFallthroughCasesInSwitch": true, + "noPropertyAccessFromIndexSignature": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "isolatedModules": true, + "target": "ESNext", + "lib": ["ESNext", "DOM"], + "types": ["bun", "node"], + "jsx": "react-jsx", + "jsxImportSource": "@opentui/solid", + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "outDir": "dist", + "rootDir": "src", + "skipLibCheck": true, + "noEmit": true + }, + "include": ["src"], + "exclude": ["node_modules", "dist", "tests"] +} diff --git a/packages/opencode-vpet/tsconfig.scripts.json b/packages/opencode-vpet/tsconfig.scripts.json new file mode 100644 index 0000000..b36d54c --- /dev/null +++ b/packages/opencode-vpet/tsconfig.scripts.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "strict": true, + "noUncheckedIndexedAccess": true, + "exactOptionalPropertyTypes": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "isolatedModules": true, + "target": "ESNext", + "lib": ["ESNext"], + "types": ["bun", "node"], + "noEmit": true, + "rootDir": "scripts", + "skipLibCheck": true + }, + "include": ["scripts/**/*.ts"] +} diff --git a/tsconfig.test.json b/packages/opencode-vpet/tsconfig.test.json similarity index 54% rename from tsconfig.test.json rename to packages/opencode-vpet/tsconfig.test.json index 5f3ad31..aadf5af 100644 --- a/tsconfig.test.json +++ b/packages/opencode-vpet/tsconfig.test.json @@ -2,8 +2,10 @@ "extends": "./tsconfig.json", "compilerOptions": { "noEmit": true, + "rootDir": ".", "jsx": "react-jsx", "jsxImportSource": "@opentui/solid" }, - "include": ["src", "tests"] + "include": ["src", "tests"], + "exclude": ["node_modules", "dist", "tests/release-metadata.test.ts"] } diff --git a/packages/opencode-vpet/tsconfig.vpet-core-declarations.json b/packages/opencode-vpet/tsconfig.vpet-core-declarations.json new file mode 100644 index 0000000..32516c5 --- /dev/null +++ b/packages/opencode-vpet/tsconfig.vpet-core-declarations.json @@ -0,0 +1,12 @@ +{ + "extends": "../vpet-core/tsconfig.json", + "compilerOptions": { + "declaration": true, + "declarationMap": true, + "emitDeclarationOnly": true, + "noEmit": false, + "outDir": "dist/vpet-core", + "rootDir": "build/vpet-core-src" + }, + "include": ["build/vpet-core-src"] +} diff --git a/packages/vpet-core/package.json b/packages/vpet-core/package.json new file mode 100644 index 0000000..3605812 --- /dev/null +++ b/packages/vpet-core/package.json @@ -0,0 +1,26 @@ +{ + "name": "@sbugallo/vpet-core", + "version": "0.2.0-dev.0", + "private": true, + "type": "module", + "engines": { + "node": "24.11.0", + "bun": "1.3.5" + }, + "exports": { + "./domain/*": "./src/domain/*", + "./application/*": "./src/application/*", + "./data/*": "./src/data/*", + "./config/*": "./src/config/*", + "./view-models/*": "./src/view-models/*", + "./ports/*": "./src/ports/*", + "./adapters/*": "./src/adapters/*" + }, + "scripts": { + "typecheck": "tsc --noEmit -p tsconfig.json" + }, + "devDependencies": { + "@types/bun": "1.3.14", + "typescript": "5.9.3" + } +} diff --git a/packages/vpet-core/src/adapters/sqlite/app-data-path.ts b/packages/vpet-core/src/adapters/sqlite/app-data-path.ts new file mode 100644 index 0000000..bef3d9d --- /dev/null +++ b/packages/vpet-core/src/adapters/sqlite/app-data-path.ts @@ -0,0 +1,30 @@ +import { homedir } from "node:os" +import { join } from "node:path" + +const APP_DIRECTORY_NAME = "opencode-vpet" +const DATABASE_FILE_NAME = "pet.db" + +export type HostPathOptions = { + readonly appDataRoot?: string +} + +const resolveDefaultAppDataRoot = (): string => { + if (process.platform === "darwin") { + return join(homedir(), "Library", "Application Support") + } + + if (process.platform === "win32") { + const { APPDATA } = process.env + return APPDATA ?? join(homedir(), "AppData", "Roaming") + } + + return join(homedir(), ".local", "share") +} + +export const resolveHostDataDirectory = (options: HostPathOptions = {}): string => { + return join(options.appDataRoot ?? resolveDefaultAppDataRoot(), APP_DIRECTORY_NAME) +} + +export const resolveHostDatabasePath = (options: HostPathOptions = {}): string => { + return join(resolveHostDataDirectory(options), DATABASE_FILE_NAME) +} diff --git a/packages/vpet-core/src/adapters/sqlite/sqlite-migrations.ts b/packages/vpet-core/src/adapters/sqlite/sqlite-migrations.ts new file mode 100644 index 0000000..47878cb --- /dev/null +++ b/packages/vpet-core/src/adapters/sqlite/sqlite-migrations.ts @@ -0,0 +1,154 @@ +import type { SqliteExecutor } from "../../ports/sqlite-executor.ts" + +type SqliteMigrationExecutor = Pick + +type Migration = { + readonly version: number + readonly sql: readonly string[] +} + +const MIGRATIONS = [ + { + version: 1, + sql: [ + ` + CREATE TABLE IF NOT EXISTS schema_migrations ( + version INTEGER PRIMARY KEY, + applied_at TEXT NOT NULL + ) + `, + ` + CREATE TABLE IF NOT EXISTS trainer_state ( + trainer_id INTEGER PRIMARY KEY CHECK (trainer_id = 1), + total_tokens INTEGER NOT NULL + ) + `, + ` + INSERT INTO trainer_state (trainer_id, total_tokens) + VALUES (1, 0) + ON CONFLICT (trainer_id) DO NOTHING + `, + ` + CREATE TABLE IF NOT EXISTS partners ( + partner_id TEXT PRIMARY KEY, + generation INTEGER NOT NULL, + current_node_id TEXT NOT NULL, + gauge INTEGER NOT NULL, + is_terminal INTEGER NOT NULL, + created_at TEXT NOT NULL, + retired_at TEXT + ) + `, + ` + CREATE UNIQUE INDEX IF NOT EXISTS partners_one_active_partner + ON partners ((1)) + WHERE retired_at IS NULL + `, + ` + CREATE TABLE IF NOT EXISTS partner_events ( + event_id TEXT PRIMARY KEY, + partner_id TEXT NOT NULL, + kind TEXT NOT NULL, + current_node_id TEXT NOT NULL, + gauge INTEGER NOT NULL, + is_terminal INTEGER NOT NULL, + token_delta INTEGER, + receipt_key TEXT, + created_at TEXT NOT NULL, + FOREIGN KEY (partner_id) REFERENCES partners (partner_id) + ) + `, + ` + CREATE INDEX IF NOT EXISTS partner_events_partner_created_at + ON partner_events (partner_id, created_at, event_id) + `, + ` + CREATE TABLE IF NOT EXISTS usage_receipts ( + receipt_key TEXT PRIMARY KEY, + partner_id TEXT NOT NULL, + event_id TEXT NOT NULL, + token_delta INTEGER NOT NULL, + cost REAL, + created_at TEXT NOT NULL, + FOREIGN KEY (partner_id) REFERENCES partners (partner_id), + FOREIGN KEY (event_id) REFERENCES partner_events (event_id) + ) + `, + ], + }, + { + version: 2, + sql: ["CREATE UNIQUE INDEX IF NOT EXISTS partners_generation_unique ON partners (generation)"], + }, + { + version: 3, + sql: [ + ` + CREATE TABLE IF NOT EXISTS vpet_control_state ( + control_id INTEGER PRIMARY KEY CHECK (control_id = 1), + frozen INTEGER NOT NULL CHECK (frozen IN (0, 1)), + cheat_node_id TEXT + ) + `, + ` + INSERT INTO vpet_control_state (control_id, frozen, cheat_node_id) + VALUES (1, 0, NULL) + ON CONFLICT (control_id) DO NOTHING + `, + ` + CREATE TABLE IF NOT EXISTS vpet_control_receipts ( + receipt_key TEXT PRIMARY KEY, + mode TEXT NOT NULL CHECK (mode IN ('frozen', 'cheat')), + token_delta INTEGER NOT NULL, + cost REAL, + created_at TEXT NOT NULL + ) + `, + ], + }, + { + version: 4, + sql: [ + "ALTER TABLE partners ADD COLUMN pending_evolution_target_id TEXT", + "ALTER TABLE partners ADD COLUMN battle_opponent_node_id TEXT", + ], + }, +] as const satisfies readonly Migration[] + +type MigrationRow = { + readonly version: number +} + +export const runMigrations = (database: SqliteMigrationExecutor): readonly number[] => { + return database.transaction(() => { + database.run(` + CREATE TABLE IF NOT EXISTS schema_migrations ( + version INTEGER PRIMARY KEY, + applied_at TEXT NOT NULL + ) + `) + + const appliedVersions = new Set( + database + .all("SELECT version FROM schema_migrations ORDER BY version ASC") + .map((row) => row.version), + ) + + for (const migration of MIGRATIONS) { + if (appliedVersions.has(migration.version)) { + continue + } + + for (const statement of migration.sql) { + database.run(statement) + } + database.run("INSERT INTO schema_migrations (version, applied_at) VALUES (?, ?)", [ + migration.version, + new Date().toISOString(), + ]) + appliedVersions.add(migration.version) + } + + return [...appliedVersions].sort((left, right) => left - right) + }) +} diff --git a/packages/vpet-core/src/adapters/sqlite/sqlite-vpet-schema.ts b/packages/vpet-core/src/adapters/sqlite/sqlite-vpet-schema.ts new file mode 100644 index 0000000..29cbf29 --- /dev/null +++ b/packages/vpet-core/src/adapters/sqlite/sqlite-vpet-schema.ts @@ -0,0 +1,160 @@ +import type { Partner } from "../../domain/partner.ts" +import type { PersistedPartnerEvent, PersistedPartnerEventKind, UsageReceiptRecord } from "./sqlite-vpet-types.ts" + +export type PersistedPartnerRow = { + readonly partner_id: string + readonly generation: number + readonly current_node_id: string + readonly gauge: number + readonly is_terminal: number + readonly pending_evolution_target_id: string | null + readonly battle_opponent_node_id: string | null + readonly created_at: string + readonly retired_at: string | null +} + +export type PersistedPartnerEventRow = { + readonly event_id: string + readonly partner_id: string + readonly kind: PersistedPartnerEventKind + readonly current_node_id: string + readonly gauge: number + readonly is_terminal: number + readonly token_delta: number | null + readonly receipt_key: string | null + readonly created_at: string +} + +export type UsageReceiptRow = { + readonly receipt_key: string + readonly partner_id: string + readonly event_id: string + readonly token_delta: number + readonly cost: number | null + readonly created_at: string +} + +export type TrainerStateRow = { + readonly total_tokens: number +} + +export type MigrationRow = { + readonly version: number +} + +const PARTNER_COLUMNS = ` + partner_id, + generation, + current_node_id, + gauge, + is_terminal, + pending_evolution_target_id, + battle_opponent_node_id, + created_at, + retired_at +` + +export const ACTIVE_PARTNER_SELECT = ` + SELECT + ${PARTNER_COLUMNS} + FROM partners + WHERE retired_at IS NULL + LIMIT 1 +` + +export const PARTNERS_SELECT = ` + SELECT + ${PARTNER_COLUMNS} + FROM partners + ORDER BY generation ASC, created_at ASC, partner_id ASC +` + +export const ARCHIVE_PARTNERS_SELECT = ` + SELECT + ${PARTNER_COLUMNS} + FROM partners + ORDER BY partner_id ASC +` + +export const PARTNER_BY_GENERATION_SELECT = ` + SELECT + ${PARTNER_COLUMNS} + FROM partners + WHERE generation = ? + LIMIT 1 +` + +export const PARTNER_EVENTS_SELECT = ` + SELECT + event_id, + partner_id, + kind, + current_node_id, + gauge, + is_terminal, + token_delta, + receipt_key, + created_at + FROM partner_events + WHERE partner_id = ? + ORDER BY created_at ASC, event_id ASC +` + +export const ARCHIVE_PARTNER_EVENTS_SELECT = ` + SELECT + event_id, + partner_id, + kind, + current_node_id, + gauge, + is_terminal, + token_delta, + receipt_key, + created_at + FROM partner_events + ORDER BY partner_id ASC, created_at ASC, event_id ASC +` + +export const USAGE_RECEIPTS_SELECT = ` + SELECT receipt_key, partner_id, event_id, token_delta, cost, created_at + FROM usage_receipts + ORDER BY created_at ASC, receipt_key ASC +` + +export const toPartner = (row: PersistedPartnerRow): Partner => { + return { + partnerId: row.partner_id, + generation: row.generation, + currentNodeId: row.current_node_id, + gauge: row.gauge, + isTerminal: row.is_terminal === 1, + pendingEvolutionTargetId: row.pending_evolution_target_id, + battleOpponentNodeId: row.battle_opponent_node_id, + createdAt: row.created_at, + retiredAt: row.retired_at, + } +} + +export const toPersistedPartnerEvent = (row: PersistedPartnerEventRow): PersistedPartnerEvent => { + return { + eventId: row.event_id, + partnerId: row.partner_id, + kind: row.kind, + currentNodeId: row.current_node_id, + gauge: row.gauge, + isTerminal: row.is_terminal === 1, + tokenDelta: row.token_delta, + receiptKey: row.receipt_key, + createdAt: row.created_at, + } +} + +export const toUsageReceiptRecord = (row: UsageReceiptRow): UsageReceiptRecord => { + return { + receiptKey: row.receipt_key, + partnerId: row.partner_id, + eventId: row.event_id, + tokenDelta: row.token_delta, + createdAt: row.created_at, + } +} diff --git a/packages/vpet-core/src/adapters/sqlite/sqlite-vpet-types.ts b/packages/vpet-core/src/adapters/sqlite/sqlite-vpet-types.ts new file mode 100644 index 0000000..8ad9155 --- /dev/null +++ b/packages/vpet-core/src/adapters/sqlite/sqlite-vpet-types.ts @@ -0,0 +1,60 @@ +import type { Partner, PartnerProgression } from "../../domain/partner.ts" +import type { SpawnPartnerInput } from "../../application/models/spawn-partner.ts" +import type { + ApplyUsageReceiptOutcome, + ResolveEvolutionBattleOutcome, + UsageReceiptMetadata, +} from "../../application/models/usage.ts" +import type { PartnerLifecycle } from "../../application/ports/partner-lifecycle.ts" +import type { UsageLedger } from "../../application/ports/usage-ledger.ts" +import type { VpetControl } from "../../application/ports/vpet-control.ts" + +export type PersistedPartner = Partner + +export type PersistedPartnerEventKind = "spawned" | "usage_applied" | "retired" + +export type PersistedPartnerEvent = { + readonly eventId: string + readonly partnerId: string + readonly kind: PersistedPartnerEventKind + readonly currentNodeId: string + readonly gauge: number + readonly isTerminal: boolean + readonly tokenDelta: number | null + readonly receiptKey: string | null + readonly createdAt: string +} + +export type UsageReceiptRecord = { + readonly receiptKey: string + readonly partnerId: string + readonly eventId: string + readonly tokenDelta: number + readonly createdAt: string +} + +export type TrainerState = { + readonly totalTokens: number +} + +export type PersistedPartnerSummary = Partner + +export type SqliteVpetWriteStore = PartnerLifecycle & + UsageLedger & + VpetControl & { + close: () => Promise + readonly databasePath: string + getAppliedMigrations: () => readonly number[] + getTrainerState: () => TrainerState + getActivePartner: () => PersistedPartner | null + listPartners: () => readonly PersistedPartnerSummary[] + getPartnerByGeneration: (generation: number) => PersistedPartnerSummary | null + listPartnerEvents: (partnerId: string) => readonly PersistedPartnerEvent[] + listUsageReceipts: () => readonly UsageReceiptRecord[] + resolveEvolutionBattle: ( + nextState: PartnerProgression, + createdAt: string, + ) => ResolveEvolutionBattleOutcome + } + +export type { ApplyUsageReceiptOutcome, PartnerProgression, SpawnPartnerInput, UsageReceiptMetadata } diff --git a/packages/vpet-core/src/adapters/sqlite/sqlite-vpet-write-store.ts b/packages/vpet-core/src/adapters/sqlite/sqlite-vpet-write-store.ts new file mode 100644 index 0000000..2ba7c10 --- /dev/null +++ b/packages/vpet-core/src/adapters/sqlite/sqlite-vpet-write-store.ts @@ -0,0 +1,279 @@ +import type { SpawnPartnerInput } from "../../application/models/spawn-partner.ts" +import type { ResolveEvolutionBattleOutcome, UsageReceiptMetadata } from "../../application/models/usage.ts" +import type { Partner, PartnerProgression } from "../../domain/partner.ts" +import type { SqliteExecutor } from "../../ports/sqlite-executor.ts" +import { runMigrations } from "./sqlite-migrations.ts" +import { + ACTIVE_PARTNER_SELECT, + PARTNERS_SELECT, + PARTNER_BY_GENERATION_SELECT, + PARTNER_EVENTS_SELECT, + USAGE_RECEIPTS_SELECT, + type PersistedPartnerEventRow, + type PersistedPartnerRow, + type TrainerStateRow, + type UsageReceiptRow, + toPartner, + toPersistedPartnerEvent, + toUsageReceiptRecord, +} from "./sqlite-vpet-schema.ts" +import type { SqliteVpetWriteStore } from "./sqlite-vpet-types.ts" + +export type CreateSqliteVpetWriteStoreOptions = { + readonly databasePath: string + readonly executor: SqliteExecutor + readonly close: () => Promise | void +} + +type ControlStateRow = { + readonly frozen: number + readonly cheat_node_id: string | null +} + +type ReceiptLedgerRow = { + readonly receipt_key: string +} + +export const createSqliteVpetWriteStore = (options: CreateSqliteVpetWriteStoreOptions): SqliteVpetWriteStore => { + const { databasePath, executor, close } = options + const appliedMigrations = runMigrations(executor) + + const store = { + databasePath, + async close() { + await close() + }, + getAppliedMigrations() { + return appliedMigrations + }, + getTrainerState() { + const trainerState = executor.get("SELECT total_tokens FROM trainer_state WHERE trainer_id = 1") + if (trainerState === null) throw new Error("Trainer state row is missing") + return { totalTokens: trainerState.total_tokens } + }, + getActivePartner() { + const activePartner = executor.get(ACTIVE_PARTNER_SELECT) + return activePartner === null ? null : toPartner(activePartner) + }, + listPartners() { + return executor.all(PARTNERS_SELECT).map(toPartner) + }, + getPartnerByGeneration(generation: number) { + const partner = executor.get(PARTNER_BY_GENERATION_SELECT, [generation]) + return partner === null ? null : toPartner(partner) + }, + freeze() { + return executor.transaction(() => { + const controlState = executor.get( + "SELECT frozen, cheat_node_id FROM vpet_control_state WHERE control_id = 1", + ) + if (controlState === null) throw new Error("VPet control state row is missing") + if (controlState.frozen === 1) return { kind: "already_frozen" } as const + executor.run("UPDATE vpet_control_state SET frozen = 1 WHERE control_id = 1") + return { kind: "frozen" } as const + }) + }, + unfreeze() { + return executor.transaction(() => { + const controlState = executor.get( + "SELECT frozen, cheat_node_id FROM vpet_control_state WHERE control_id = 1", + ) + if (controlState === null) throw new Error("VPet control state row is missing") + if (controlState.frozen === 0) return { kind: "already_unfrozen" } as const + executor.run("UPDATE vpet_control_state SET frozen = 0 WHERE control_id = 1") + return { kind: "unfrozen" } as const + }) + }, + setCheatNode(cheatNodeId: string) { + return executor.transaction(() => { + const controlState = executor.get( + "SELECT frozen, cheat_node_id FROM vpet_control_state WHERE control_id = 1", + ) + if (controlState === null) throw new Error("VPet control state row is missing") + if (controlState.cheat_node_id === cheatNodeId) return { kind: "already_set", cheatNodeId } as const + executor.run("UPDATE vpet_control_state SET cheat_node_id = ? WHERE control_id = 1", [cheatNodeId]) + return { kind: "set", cheatNodeId } as const + }) + }, + spawnPartner(input: SpawnPartnerInput) { + return executor.transaction(() => { + executor.run("UPDATE vpet_control_state SET frozen = 0, cheat_node_id = NULL WHERE control_id = 1") + const activePartnerRow = executor.get(ACTIVE_PARTNER_SELECT) + if (activePartnerRow !== null) { + const activePartner = toPartner(activePartnerRow) + executor.run("UPDATE partners SET retired_at = ? WHERE partner_id = ?", [ + input.createdAt, + activePartner.partnerId, + ]) + executor.run( + "INSERT INTO partner_events (event_id, partner_id, kind, current_node_id, gauge, is_terminal, token_delta, receipt_key, created_at) VALUES (?, ?, 'retired', ?, ?, ?, NULL, NULL, ?)", + [ + `event-retired-${activePartner.generation}`, + activePartner.partnerId, + activePartner.currentNodeId, + activePartner.gauge, + activePartner.isTerminal, + input.createdAt, + ], + ) + } + const generationRow = executor.get<{ readonly generation: number }>( + "SELECT COALESCE(MAX(generation), 0) + 1 AS generation FROM partners", + ) + if (generationRow === null) throw new Error("Generation allocation failed") + const partnerId = `partner-${generationRow.generation}` + executor.run( + "INSERT INTO partners (partner_id, generation, current_node_id, gauge, is_terminal, pending_evolution_target_id, battle_opponent_node_id, created_at, retired_at) VALUES (?, ?, ?, ?, ?, NULL, NULL, ?, NULL)", + [partnerId, generationRow.generation, input.currentNodeId, input.gauge, input.isTerminal, input.createdAt], + ) + executor.run( + "INSERT INTO partner_events (event_id, partner_id, kind, current_node_id, gauge, is_terminal, token_delta, receipt_key, created_at) VALUES (?, ?, 'spawned', ?, ?, ?, NULL, NULL, ?)", + [ + `event-spawn-${generationRow.generation}`, + partnerId, + input.currentNodeId, + input.gauge, + input.isTerminal, + input.createdAt, + ], + ) + return { + partnerId, + generation: generationRow.generation, + ...input, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + retiredAt: null, + } + }) + }, + listPartnerEvents(partnerId: string) { + return executor.all(PARTNER_EVENTS_SELECT, [partnerId]).map(toPersistedPartnerEvent) + }, + applyUsageReceipt(metadata: UsageReceiptMetadata, evolve: (partner: Partner) => PartnerProgression) { + return executor.transaction(() => { + const canonicalReceipt = executor.get( + "SELECT receipt_key FROM usage_receipts WHERE receipt_key = ? LIMIT 1", + [metadata.receiptKey], + ) + const controlReceipt = executor.get( + "SELECT receipt_key FROM vpet_control_receipts WHERE receipt_key = ? LIMIT 1", + [metadata.receiptKey], + ) + if (canonicalReceipt !== null || controlReceipt !== null) return { kind: "duplicate" } as const + const controlState = executor.get( + "SELECT frozen, cheat_node_id FROM vpet_control_state WHERE control_id = 1", + ) + if (controlState === null) throw new Error("VPet control state row is missing") + if (controlState.cheat_node_id !== null) { + executor.run( + "INSERT INTO vpet_control_receipts (receipt_key, mode, token_delta, cost, created_at) VALUES (?, 'cheat', ?, ?, ?)", + [metadata.receiptKey, metadata.tokenDelta, metadata.cost ?? null, metadata.createdAt], + ) + return { kind: "applied" } as const + } + if (controlState.frozen === 1) { + executor.run( + "INSERT INTO vpet_control_receipts (receipt_key, mode, token_delta, cost, created_at) VALUES (?, 'frozen', ?, ?, ?)", + [metadata.receiptKey, metadata.tokenDelta, metadata.cost ?? null, metadata.createdAt], + ) + executor.run("UPDATE trainer_state SET total_tokens = total_tokens + ? WHERE trainer_id = 1", [ + metadata.tokenDelta, + ]) + return { kind: "applied" } as const + } + const activePartnerRow = executor.get(ACTIVE_PARTNER_SELECT) + if (activePartnerRow === null) return { kind: "no_active_partner" } as const + const activePartner = toPartner(activePartnerRow) + const nextState = evolve(activePartner) + executor.run( + "UPDATE partners SET current_node_id = ?, gauge = ?, is_terminal = ?, pending_evolution_target_id = ?, battle_opponent_node_id = ? WHERE partner_id = ?", + [ + nextState.currentNodeId, + nextState.gauge, + nextState.isTerminal, + nextState.pendingEvolutionTargetId, + nextState.battleOpponentNodeId, + activePartner.partnerId, + ], + ) + executor.run( + "INSERT INTO partner_events (event_id, partner_id, kind, current_node_id, gauge, is_terminal, token_delta, receipt_key, created_at) VALUES (?, ?, 'usage_applied', ?, ?, ?, ?, ?, ?)", + [ + metadata.eventId, + activePartner.partnerId, + nextState.currentNodeId, + nextState.gauge, + nextState.isTerminal, + metadata.tokenDelta, + metadata.receiptKey, + metadata.createdAt, + ], + ) + executor.run( + "INSERT INTO usage_receipts (receipt_key, partner_id, event_id, token_delta, cost, created_at) VALUES (?, ?, ?, ?, ?, ?)", + [ + metadata.receiptKey, + activePartner.partnerId, + metadata.eventId, + metadata.tokenDelta, + metadata.cost ?? null, + metadata.createdAt, + ], + ) + executor.run("UPDATE trainer_state SET total_tokens = total_tokens + ? WHERE trainer_id = 1", [ + metadata.tokenDelta, + ]) + return { kind: "applied" } as const + }) + }, + listUsageReceipts() { + return executor.all(USAGE_RECEIPTS_SELECT).map(toUsageReceiptRecord) + }, + resolveEvolutionBattle(nextState: PartnerProgression, createdAt: string): ResolveEvolutionBattleOutcome { + return executor.transaction(() => { + const activePartnerRow = executor.get(ACTIVE_PARTNER_SELECT) + if (activePartnerRow === null) return { kind: "no_pending_battle" } as const + + const activePartner = toPartner(activePartnerRow) + if (activePartner.pendingEvolutionTargetId === null || activePartner.battleOpponentNodeId === null) { + return { kind: "no_pending_battle" } as const + } + + const fromNodeId = activePartner.currentNodeId + executor.run( + "UPDATE partners SET current_node_id = ?, gauge = ?, is_terminal = ?, pending_evolution_target_id = ?, battle_opponent_node_id = ? WHERE partner_id = ?", + [ + nextState.currentNodeId, + nextState.gauge, + nextState.isTerminal, + nextState.pendingEvolutionTargetId, + nextState.battleOpponentNodeId, + activePartner.partnerId, + ], + ) + executor.run( + "INSERT INTO partner_events (event_id, partner_id, kind, current_node_id, gauge, is_terminal, token_delta, receipt_key, created_at) VALUES (?, ?, 'usage_applied', ?, ?, ?, NULL, NULL, ?)", + [ + `event-battle-${createdAt}`, + activePartner.partnerId, + nextState.currentNodeId, + nextState.gauge, + nextState.isTerminal, + createdAt, + ], + ) + + if (nextState.currentNodeId !== fromNodeId) { + return { + kind: "won", + evolution: { fromNodeId, toNodeId: nextState.currentNodeId }, + } as const + } + return { kind: "lost" } as const + }) + }, + } satisfies SqliteVpetWriteStore + + return store +} diff --git a/packages/vpet-core/src/application/models/sidebar-card-inputs.ts b/packages/vpet-core/src/application/models/sidebar-card-inputs.ts new file mode 100644 index 0000000..cc50a18 --- /dev/null +++ b/packages/vpet-core/src/application/models/sidebar-card-inputs.ts @@ -0,0 +1,14 @@ +import type { DigimonNode } from "../../domain/digimon-node.ts" + +export type SidebarCardInputs = + | { readonly kind: "no_partner" } + | { + readonly kind: "partner" + readonly node: DigimonNode + readonly gauge: number + readonly isTerminal: boolean + readonly frozen: boolean + readonly isSetOverride: boolean + readonly trainerTotalTokens: number + readonly evolutionBattlePending: boolean + } diff --git a/packages/vpet-core/src/application/models/spawn-partner.ts b/packages/vpet-core/src/application/models/spawn-partner.ts new file mode 100644 index 0000000..102e05a --- /dev/null +++ b/packages/vpet-core/src/application/models/spawn-partner.ts @@ -0,0 +1,10 @@ +export type SpawnPartnerInput = { + readonly currentNodeId: string + readonly gauge: number + readonly isTerminal: boolean + readonly createdAt: string +} + +export type SpawnPartnerResult = { + readonly generation: number +} diff --git a/packages/vpet-core/src/application/models/usage.ts b/packages/vpet-core/src/application/models/usage.ts new file mode 100644 index 0000000..4779c6b --- /dev/null +++ b/packages/vpet-core/src/application/models/usage.ts @@ -0,0 +1,37 @@ +export type UsageReceiptMetadata = { + readonly receiptKey: string + readonly eventId: string + readonly tokenDelta: number + readonly cost?: number | null + readonly createdAt: string +} + +export type ApplyUsageReceiptOutcome = + | { readonly kind: "applied" } + | { readonly kind: "duplicate" } + | { readonly kind: "no_active_partner" } + +export type UsageEvolutionTransition = { + readonly fromNodeId: string + readonly toNodeId: string +} + +export type EvolutionBattlePending = { + readonly opponentNodeId: string + readonly targetNodeId: string +} + +export type UsageProcessingResult = + | { + readonly kind: "applied" + readonly receiptKey: string + readonly evolution?: UsageEvolutionTransition + readonly evolutionBattlePending?: EvolutionBattlePending + } + | { readonly kind: "duplicate"; readonly receiptKey: string } + | { readonly kind: "no_active_partner"; readonly receiptKey: string } + +export type ResolveEvolutionBattleOutcome = + | { readonly kind: "won"; readonly evolution: UsageEvolutionTransition } + | { readonly kind: "lost" } + | { readonly kind: "no_pending_battle" } diff --git a/packages/vpet-core/src/application/models/vpet-archive.ts b/packages/vpet-core/src/application/models/vpet-archive.ts new file mode 100644 index 0000000..8eb00db --- /dev/null +++ b/packages/vpet-core/src/application/models/vpet-archive.ts @@ -0,0 +1,18 @@ +export type VpetArchiveEvent = { + readonly eventId: string + readonly currentNodeId: string + readonly createdAt: string +} + +export type VpetArchivePartner = { + readonly partnerId: string + readonly generation: number + readonly createdAt: string + readonly retiredAt: string | null + readonly events: readonly VpetArchiveEvent[] +} + +export type VpetArchiveResult = + | { readonly kind: "available"; readonly partners: readonly VpetArchivePartner[] } + | { readonly kind: "empty" } + | { readonly kind: "unavailable"; readonly message: string } diff --git a/packages/vpet-core/src/application/models/vpet-control.ts b/packages/vpet-core/src/application/models/vpet-control.ts new file mode 100644 index 0000000..8ff8f37 --- /dev/null +++ b/packages/vpet-core/src/application/models/vpet-control.ts @@ -0,0 +1,7 @@ +export type FreezeVpetOutcome = { readonly kind: "frozen" } | { readonly kind: "already_frozen" } + +export type UnfreezeVpetOutcome = { readonly kind: "unfrozen" } | { readonly kind: "already_unfrozen" } + +export type SetCheatNodeOutcome = + | { readonly kind: "set"; readonly cheatNodeId: string } + | { readonly kind: "already_set"; readonly cheatNodeId: string } diff --git a/packages/vpet-core/src/application/ports/partner-lifecycle.ts b/packages/vpet-core/src/application/ports/partner-lifecycle.ts new file mode 100644 index 0000000..db72e08 --- /dev/null +++ b/packages/vpet-core/src/application/ports/partner-lifecycle.ts @@ -0,0 +1,6 @@ +import type { Partner } from "../../domain/partner.ts" +import type { SpawnPartnerInput } from "../models/spawn-partner.ts" + +export type PartnerLifecycle = { + spawnPartner: (input: SpawnPartnerInput) => Partner +} diff --git a/packages/vpet-core/src/application/ports/sidebar-snapshot.ts b/packages/vpet-core/src/application/ports/sidebar-snapshot.ts new file mode 100644 index 0000000..dc7f581 --- /dev/null +++ b/packages/vpet-core/src/application/ports/sidebar-snapshot.ts @@ -0,0 +1,14 @@ +export type SidebarSnapshot = { + readonly currentNodeId: string + readonly gauge: number + readonly isTerminal: boolean + readonly frozen: boolean + readonly isSetOverride: boolean + readonly trainerTotalTokens: number + readonly pendingEvolutionTargetId: string | null + readonly battleOpponentNodeId: string | null +} + +export type SidebarSnapshotReader = { + getSidebarSnapshot: () => SidebarSnapshot | null +} diff --git a/packages/vpet-core/src/application/ports/usage-ledger.ts b/packages/vpet-core/src/application/ports/usage-ledger.ts new file mode 100644 index 0000000..4c93089 --- /dev/null +++ b/packages/vpet-core/src/application/ports/usage-ledger.ts @@ -0,0 +1,9 @@ +import type { Partner, PartnerProgression } from "../../domain/partner.ts" +import type { ApplyUsageReceiptOutcome, UsageReceiptMetadata } from "../models/usage.ts" + +export type UsageLedger = { + applyUsageReceipt: ( + metadata: UsageReceiptMetadata, + evolve: (partner: Partner) => PartnerProgression, + ) => ApplyUsageReceiptOutcome +} diff --git a/packages/vpet-core/src/application/ports/vpet-archive.ts b/packages/vpet-core/src/application/ports/vpet-archive.ts new file mode 100644 index 0000000..461f4a3 --- /dev/null +++ b/packages/vpet-core/src/application/ports/vpet-archive.ts @@ -0,0 +1,5 @@ +import type { VpetArchiveResult } from "../models/vpet-archive.ts" + +export type VpetArchiveReader = { + getArchive: () => VpetArchiveResult +} diff --git a/packages/vpet-core/src/application/ports/vpet-control.ts b/packages/vpet-core/src/application/ports/vpet-control.ts new file mode 100644 index 0000000..9f78de1 --- /dev/null +++ b/packages/vpet-core/src/application/ports/vpet-control.ts @@ -0,0 +1,7 @@ +import type { FreezeVpetOutcome, SetCheatNodeOutcome, UnfreezeVpetOutcome } from "../models/vpet-control.ts" + +export type VpetControl = { + freeze: () => FreezeVpetOutcome + unfreeze: () => UnfreezeVpetOutcome + setCheatNode: (validatedNodeId: string) => SetCheatNodeOutcome +} diff --git a/packages/vpet-core/src/application/use-cases/freeze-vpet.ts b/packages/vpet-core/src/application/use-cases/freeze-vpet.ts new file mode 100644 index 0000000..bbd8ffc --- /dev/null +++ b/packages/vpet-core/src/application/use-cases/freeze-vpet.ts @@ -0,0 +1,4 @@ +import type { FreezeVpetOutcome } from "../models/vpet-control.ts" +import type { VpetControl } from "../ports/vpet-control.ts" + +export const freezeVpet = (control: Pick): FreezeVpetOutcome => control.freeze() diff --git a/packages/vpet-core/src/application/use-cases/get-sidebar-card-inputs.ts b/packages/vpet-core/src/application/use-cases/get-sidebar-card-inputs.ts new file mode 100644 index 0000000..d3ed08f --- /dev/null +++ b/packages/vpet-core/src/application/use-cases/get-sidebar-card-inputs.ts @@ -0,0 +1,25 @@ +import type { DigimonCatalog } from "../../domain/digimon-node.ts" +import type { SidebarCardInputs } from "../models/sidebar-card-inputs.ts" +import type { SidebarSnapshotReader } from "../ports/sidebar-snapshot.ts" + +const NO_PARTNER: SidebarCardInputs = { kind: "no_partner" } + +export const getSidebarCardInputs = (reader: SidebarSnapshotReader, catalog: DigimonCatalog): SidebarCardInputs => { + const snapshot = reader.getSidebarSnapshot() + if (snapshot === null) return NO_PARTNER + + const node = catalog.byId.get(snapshot.currentNodeId) + if (node === undefined) return NO_PARTNER + + return { + kind: "partner", + node, + gauge: snapshot.gauge, + isTerminal: snapshot.isTerminal, + frozen: snapshot.frozen, + isSetOverride: snapshot.isSetOverride, + trainerTotalTokens: snapshot.trainerTotalTokens, + evolutionBattlePending: + snapshot.pendingEvolutionTargetId !== null && snapshot.battleOpponentNodeId !== null, + } +} diff --git a/packages/vpet-core/src/application/use-cases/reconcile-usage.ts b/packages/vpet-core/src/application/use-cases/reconcile-usage.ts new file mode 100644 index 0000000..5c8196b --- /dev/null +++ b/packages/vpet-core/src/application/use-cases/reconcile-usage.ts @@ -0,0 +1,29 @@ +import type { DigimonNode } from "../../domain/digimon-node.ts" +import type { EvolutionSelector, StageThresholds } from "../../domain/evolution.ts" +import type { UsageProcessingResult } from "../models/usage.ts" +import type { UsageLedger } from "../ports/usage-ledger.ts" +import { recordUsage, type CompletedUsage } from "./record-usage.ts" + +export type ReconcileUsageInput = { + readonly usages: readonly CompletedUsage[] + readonly ledger: UsageLedger + readonly digimonById: ReadonlyMap + readonly catalogNodes: readonly DigimonNode[] + readonly selector: EvolutionSelector + readonly thresholds: StageThresholds +} + +export const reconcileUsage = ({ + usages, + ledger, + digimonById, + catalogNodes, + selector, + thresholds, +}: ReconcileUsageInput): readonly UsageProcessingResult[] => { + const outcomes: UsageProcessingResult[] = [] + for (const usage of usages) { + outcomes.push(recordUsage({ usage, ledger, digimonById, catalogNodes, selector, thresholds })) + } + return outcomes +} diff --git a/packages/vpet-core/src/application/use-cases/record-usage.ts b/packages/vpet-core/src/application/use-cases/record-usage.ts new file mode 100644 index 0000000..25583d2 --- /dev/null +++ b/packages/vpet-core/src/application/use-cases/record-usage.ts @@ -0,0 +1,89 @@ +import type { DigimonNode } from "../../domain/digimon-node.ts" +import { applyTokenProgress, type EvolutionSelector, type StageThresholds } from "../../domain/evolution.ts" +import type { UsageEvolutionTransition, UsageProcessingResult, UsageReceiptMetadata } from "../models/usage.ts" +import type { UsageLedger } from "../ports/usage-ledger.ts" + +export type CompletedUsage = UsageReceiptMetadata + +export type RecordUsageInput = { + readonly usage: CompletedUsage + readonly ledger: UsageLedger + readonly digimonById: ReadonlyMap + readonly catalogNodes: readonly DigimonNode[] + readonly selector: EvolutionSelector + readonly thresholds: StageThresholds +} + +export const recordUsage = ({ + usage, + ledger, + digimonById, + catalogNodes, + selector, + thresholds, +}: RecordUsageInput): UsageProcessingResult => { + let evolution: UsageEvolutionTransition | undefined + let evolutionBattlePending: { readonly opponentNodeId: string; readonly targetNodeId: string } | undefined + + const outcome = ledger.applyUsageReceipt(usage, (partner) => { + const current = digimonById.get(partner.currentNodeId) + if (current === undefined) + throw new Error(`Persisted partner node ${partner.currentNodeId} is missing from the catalog`) + + const hadPendingBattle = + partner.pendingEvolutionTargetId != null && partner.battleOpponentNodeId != null + + const next = applyTokenProgress( + { + current, + gauge: partner.gauge, + isTerminal: partner.isTerminal, + pendingEvolutionTargetId: partner.pendingEvolutionTargetId, + battleOpponentNodeId: partner.battleOpponentNodeId, + }, + usage.tokenDelta, + selector, + digimonById, + catalogNodes, + thresholds, + ) + + if ( + !hadPendingBattle && + next.pendingEvolutionTargetId !== null && + next.battleOpponentNodeId !== null && + next.current.id === current.id + ) { + evolutionBattlePending = { + opponentNodeId: next.battleOpponentNodeId, + targetNodeId: next.pendingEvolutionTargetId, + } + } + + if (next.current.id !== current.id) { + evolution = { fromNodeId: current.id, toNodeId: next.current.id } + } + + return { + currentNodeId: next.current.id, + gauge: next.gauge, + isTerminal: next.isTerminal, + pendingEvolutionTargetId: next.pendingEvolutionTargetId, + battleOpponentNodeId: next.battleOpponentNodeId, + } + }) + + switch (outcome.kind) { + case "applied": + if (evolutionBattlePending !== undefined) { + return { kind: "applied", receiptKey: usage.receiptKey, evolutionBattlePending } + } + return evolution === undefined + ? { kind: "applied", receiptKey: usage.receiptKey } + : { kind: "applied", receiptKey: usage.receiptKey, evolution } + case "duplicate": + return { kind: "duplicate", receiptKey: usage.receiptKey } + case "no_active_partner": + return { kind: "no_active_partner", receiptKey: usage.receiptKey } + } +} diff --git a/packages/vpet-core/src/application/use-cases/resolve-evolution-battle.ts b/packages/vpet-core/src/application/use-cases/resolve-evolution-battle.ts new file mode 100644 index 0000000..a3a163c --- /dev/null +++ b/packages/vpet-core/src/application/use-cases/resolve-evolution-battle.ts @@ -0,0 +1,54 @@ +import type { DigimonNode } from "../../domain/digimon-node.ts" +import { resolveEvolutionBattle } from "../../domain/evolution.ts" +import type { Partner } from "../../domain/partner.ts" +import type { ResolveEvolutionBattleOutcome } from "../models/usage.ts" + +export type EvolutionBattleRepository = { + getActivePartner: () => Partner | null + resolveEvolutionBattle: ( + nextState: import("../../domain/partner.ts").PartnerProgression, + createdAt: string, + ) => ResolveEvolutionBattleOutcome +} + +export const resolveEvolutionBattleForPartner = ( + repository: EvolutionBattleRepository, + won: boolean, + digimonById: ReadonlyMap, + createdAt: string, +): ResolveEvolutionBattleOutcome => { + const partner = repository.getActivePartner() + if (partner === null) return { kind: "no_pending_battle" } + + const current = digimonById.get(partner.currentNodeId) + if (current === undefined) { + throw new Error(`Persisted partner node ${partner.currentNodeId} is missing from the catalog`) + } + + if (partner.pendingEvolutionTargetId === null || partner.battleOpponentNodeId === null) { + return { kind: "no_pending_battle" } + } + + const next = resolveEvolutionBattle( + { + current, + gauge: partner.gauge, + isTerminal: partner.isTerminal, + pendingEvolutionTargetId: partner.pendingEvolutionTargetId, + battleOpponentNodeId: partner.battleOpponentNodeId, + }, + won, + digimonById, + ) + + return repository.resolveEvolutionBattle( + { + currentNodeId: next.current.id, + gauge: next.gauge, + isTerminal: next.isTerminal, + pendingEvolutionTargetId: next.pendingEvolutionTargetId, + battleOpponentNodeId: next.battleOpponentNodeId, + }, + createdAt, + ) +} diff --git a/packages/vpet-core/src/application/use-cases/set-vpet-cheat-node.ts b/packages/vpet-core/src/application/use-cases/set-vpet-cheat-node.ts new file mode 100644 index 0000000..642982d --- /dev/null +++ b/packages/vpet-core/src/application/use-cases/set-vpet-cheat-node.ts @@ -0,0 +1,7 @@ +import type { SetCheatNodeOutcome } from "../models/vpet-control.ts" +import type { VpetControl } from "../ports/vpet-control.ts" + +export const setVpetCheatNode = ( + control: Pick, + validatedNodeId: string, +): SetCheatNodeOutcome => control.setCheatNode(validatedNodeId) diff --git a/packages/vpet-core/src/application/use-cases/spawn-partner.ts b/packages/vpet-core/src/application/use-cases/spawn-partner.ts new file mode 100644 index 0000000..0037d1c --- /dev/null +++ b/packages/vpet-core/src/application/use-cases/spawn-partner.ts @@ -0,0 +1,13 @@ +import type { PartnerLifecycle } from "../ports/partner-lifecycle.ts" +import type { SpawnPartnerResult } from "../models/spawn-partner.ts" + +export const spawnPartner = (lifecycle: PartnerLifecycle, createdAt: string): SpawnPartnerResult => { + const partner = lifecycle.spawnPartner({ + currentNodeId: "0-001", + gauge: 0, + isTerminal: false, + createdAt, + }) + + return { generation: partner.generation } +} diff --git a/packages/vpet-core/src/application/use-cases/unfreeze-vpet.ts b/packages/vpet-core/src/application/use-cases/unfreeze-vpet.ts new file mode 100644 index 0000000..10d4001 --- /dev/null +++ b/packages/vpet-core/src/application/use-cases/unfreeze-vpet.ts @@ -0,0 +1,4 @@ +import type { UnfreezeVpetOutcome } from "../models/vpet-control.ts" +import type { VpetControl } from "../ports/vpet-control.ts" + +export const unfreezeVpet = (control: Pick): UnfreezeVpetOutcome => control.unfreeze() diff --git a/packages/vpet-core/src/config/defaults.ts b/packages/vpet-core/src/config/defaults.ts new file mode 100644 index 0000000..ee9c0cc --- /dev/null +++ b/packages/vpet-core/src/config/defaults.ts @@ -0,0 +1,46 @@ +import type { ResolvedVpetSettings, StageLabels, StageThresholdSettings, VpetStageLabels } from "./types.ts" + +const EN_STAGE_LABELS = Object.freeze({ + egg: "DigiEgg", + babyI: "In Training I", + babyII: "In Training II", + child: "Rookie", + adult: "Champion", + perfect: "Ultimate", + ultimate: "Mega", + superUltimate: "Ultra", +} as const satisfies StageLabels) + +const JP_STAGE_LABELS = Object.freeze({ + egg: "Digitama", + babyI: "Baby I", + babyII: "Baby II", + child: "Child", + adult: "Adult", + perfect: "Perfect", + ultimate: "Ultimate", + superUltimate: "SuperUltimate", +} as const satisfies StageLabels) + +export const VPET_STAGE_LABELS = Object.freeze({ + en: EN_STAGE_LABELS, + jp: JP_STAGE_LABELS, +} as const satisfies VpetStageLabels) + +export const DEFAULT_STAGE_THRESHOLDS = Object.freeze({ + egg: 5_000_000, + babyI: 10_000_000, + babyII: 20_000_000, + child: 40_000_000, + adult: 75_000_000, + perfect: 125_000_000, + ultimate: 200_000_000, + superUltimate: 300_000_000, +} as const satisfies StageThresholdSettings) + +export const DEFAULT_VPET_SETTINGS = Object.freeze({ + language: "jp", + notifications: true, + stageLabels: VPET_STAGE_LABELS, + stageThresholds: DEFAULT_STAGE_THRESHOLDS, +} as const satisfies ResolvedVpetSettings) diff --git a/packages/vpet-core/src/config/normalize.ts b/packages/vpet-core/src/config/normalize.ts new file mode 100644 index 0000000..cef8ed4 --- /dev/null +++ b/packages/vpet-core/src/config/normalize.ts @@ -0,0 +1,57 @@ +import { DEFAULT_STAGE_THRESHOLDS, DEFAULT_VPET_SETTINGS } from "./defaults.ts" +import type { ResolvedVpetSettings, StageThresholdKey, VpetLanguage } from "./types.ts" + +const isRecord = (value: unknown): value is Readonly> => { + return typeof value === "object" && value !== null && !Array.isArray(value) +} + +const isLanguage = (value: unknown): value is VpetLanguage => value === "en" || value === "jp" + +const isBoolean = (value: unknown): value is boolean => typeof value === "boolean" + +const isThreshold = (value: unknown): value is number => { + return typeof value === "number" && Number.isSafeInteger(value) && value > 0 +} + +const read = (input: Readonly>, key: string): unknown => { + try { + return input[key] + } catch { + return undefined + } +} + +const normalizeThreshold = (input: Readonly>, key: StageThresholdKey): number => { + const value = read(input, key) + return isThreshold(value) ? value : DEFAULT_STAGE_THRESHOLDS[key] +} + +export const normalizeVpetSettings = (input: unknown): ResolvedVpetSettings => { + try { + if (!isRecord(input)) return DEFAULT_VPET_SETTINGS + + const thresholdInput = read(input, "stageThresholds") + const thresholds = isRecord(thresholdInput) ? thresholdInput : {} + const stageThresholds = Object.freeze({ + egg: normalizeThreshold(thresholds, "egg"), + babyI: normalizeThreshold(thresholds, "babyI"), + babyII: normalizeThreshold(thresholds, "babyII"), + child: normalizeThreshold(thresholds, "child"), + adult: normalizeThreshold(thresholds, "adult"), + perfect: normalizeThreshold(thresholds, "perfect"), + ultimate: normalizeThreshold(thresholds, "ultimate"), + superUltimate: normalizeThreshold(thresholds, "superUltimate"), + } as const) + + const language = read(input, "language") + const notifications = read(input, "notifications") + return Object.freeze({ + language: isLanguage(language) ? language : DEFAULT_VPET_SETTINGS.language, + notifications: isBoolean(notifications) ? notifications : DEFAULT_VPET_SETTINGS.notifications, + stageLabels: DEFAULT_VPET_SETTINGS.stageLabels, + stageThresholds, + }) + } catch { + return DEFAULT_VPET_SETTINGS + } +} diff --git a/packages/vpet-core/src/config/types.ts b/packages/vpet-core/src/config/types.ts new file mode 100644 index 0000000..d0932b3 --- /dev/null +++ b/packages/vpet-core/src/config/types.ts @@ -0,0 +1,29 @@ +export const VPET_LANGUAGES = Object.freeze(["en", "jp"] as const) + +export type VpetLanguage = (typeof VPET_LANGUAGES)[number] + +export const STAGE_THRESHOLD_KEYS = Object.freeze([ + "egg", + "babyI", + "babyII", + "child", + "adult", + "perfect", + "ultimate", + "superUltimate", +] as const) + +export type StageThresholdKey = (typeof STAGE_THRESHOLD_KEYS)[number] + +export type StageThresholdSettings = Readonly> + +export type StageLabels = Readonly> + +export type VpetStageLabels = Readonly> + +export type ResolvedVpetSettings = Readonly<{ + readonly language: VpetLanguage + readonly notifications: boolean + readonly stageLabels: VpetStageLabels + readonly stageThresholds: StageThresholdSettings +}> diff --git a/packages/vpet-core/src/data/catalog.ts b/packages/vpet-core/src/data/catalog.ts new file mode 100644 index 0000000..5d7636e --- /dev/null +++ b/packages/vpet-core/src/data/catalog.ts @@ -0,0 +1,51 @@ +import { DIGIMON_DATA } from "./digimon-data.ts" +import { isDigimonStage } from "../domain/stage.ts" +import type { DigimonCatalog, DigimonNode } from "../domain/digimon-node.ts" + +export type { DigimonCatalog, DigimonNode } from "../domain/digimon-node.ts" + +export type RawDigimonNode = { + readonly id: string + readonly name_en: string + readonly name_jp: string + readonly next_evolutions: readonly string[] + readonly sprite: string + readonly stage: number + readonly url: string +} + +const parseNode = (input: RawDigimonNode): DigimonNode => { + if (!isDigimonStage(input.stage)) throw new Error(`Invalid stage ${input.stage} for ${input.id}`) + + return Object.freeze({ + id: input.id, + nameEn: input.name_en, + nameJp: input.name_jp, + nextEvolutions: Object.freeze([...input.next_evolutions]), + sprite: input.sprite, + stage: input.stage, + url: input.url, + }) +} + +export const parseDigimonCatalog = (input: readonly RawDigimonNode[]): DigimonCatalog => { + const nodes = input.map(parseNode) + const byId = new Map() + + for (const node of nodes) { + if (byId.has(node.id)) throw new Error(`Duplicate digimon id ${node.id}`) + byId.set(node.id, node) + } + + for (const node of nodes) { + for (const targetId of node.nextEvolutions) { + if (!byId.has(targetId)) throw new Error(`Invalid next_evolutions reference ${targetId} from ${node.id}`) + } + } + + return Object.freeze({ nodes: Object.freeze(nodes), byId }) +} + +export const DIGIMON_CATALOG = parseDigimonCatalog(DIGIMON_DATA) + +export const loadDigimonCatalog = async (): Promise => DIGIMON_CATALOG diff --git a/packages/vpet-core/src/data/digimon-data.ts b/packages/vpet-core/src/data/digimon-data.ts new file mode 100644 index 0000000..2242fad --- /dev/null +++ b/packages/vpet-core/src/data/digimon-data.ts @@ -0,0 +1,6120 @@ +export type DigimonStage = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 + +export type DigimonId = `${DigimonStage}-${number}` + +export type DigimonRecord = { + readonly name_en: string + readonly name_jp: string + readonly next_evolutions: readonly DigimonId[] + readonly stage: DigimonStage + readonly sprite: string + readonly id: DigimonId + readonly url: string +} + +export const DIGIMON_DATA: readonly DigimonRecord[] = [ + { + name_en: "Digiegg", + name_jp: "Digitama", + next_evolutions: [ + "1-001", + "1-002", + "1-003", + "1-004", + "1-005", + "1-006", + "1-007", + "1-008", + "1-009", + "1-010", + "1-011", + "1-012", + "1-013", + "1-014", + "1-015", + "1-016", + "1-017", + "1-018", + "1-019", + "1-020", + "1-021", + "1-022", + "1-023", + "1-024", + "1-025", + "1-026", + "1-027", + "1-028", + "1-029", + "1-030", + "1-031", + ], + stage: 0, + sprite: "egg", + id: "0-001", + url: "https://digimon.net/reference_en/", + }, + { + name_en: "Argomon", + name_jp: "Algomon", + next_evolutions: ["2-001"], + stage: 1, + sprite: "argomon_baby_i", + id: "1-001", + url: "https://digimon.net/reference_en/detail.php?directory_name=algomon_lv1", + }, + { + name_en: "Botamon", + name_jp: "Botamon", + next_evolutions: ["2-013", "2-026", "2-003"], + stage: 1, + sprite: "botamon", + id: "1-002", + url: "https://digimon.net/reference_en/detail.php?directory_name=botamon", + }, + { + name_en: "Chibomon", + name_jp: "Chicomon", + next_evolutions: ["2-006"], + stage: 1, + sprite: "chibomon", + id: "1-003", + url: "https://digimon.net/reference_en/detail.php?directory_name=chicomon", + }, + { + name_en: "Choromon", + name_jp: "Choromon", + next_evolutions: ["2-011"], + stage: 1, + sprite: "choromon", + id: "1-004", + url: "https://digimon.net/reference_en/detail.php?directory_name=choromon", + }, + { + name_en: "Conomon", + name_jp: "Cocomon", + next_evolutions: ["2-012"], + stage: 1, + sprite: "conomon", + id: "1-005", + url: "https://digimon.net/reference_en/detail.php?directory_name=cocomon", + }, + { + name_en: "Cotsucomon", + name_jp: "Cotsucomon", + next_evolutions: ["2-010"], + stage: 1, + sprite: "cotsucomon", + id: "1-006", + url: "https://digimon.net/reference_en/detail.php?directory_name=cotsucomon", + }, + { + name_en: "Dodomon", + name_jp: "Dodomon", + next_evolutions: ["2-007"], + stage: 1, + sprite: "dodomon", + id: "1-007", + url: "https://digimon.net/reference_en/detail.php?directory_name=dodomon", + }, + { + name_en: "Fufumon", + name_jp: "Fufumon", + next_evolutions: ["2-014"], + stage: 1, + sprite: "fufumon", + id: "1-008", + url: "https://digimon.net/reference_en/detail.php?directory_name=fufumon", + }, + { + name_en: "Keemon", + name_jp: "Kiimon", + next_evolutions: ["2-027"], + stage: 1, + sprite: "keemon", + id: "1-009", + url: "https://digimon.net/reference_en/detail.php?directory_name=keemon", + }, + { + name_en: "Ketomon", + name_jp: "Ketomon", + next_evolutions: ["2-009"], + stage: 1, + sprite: "ketomon", + id: "1-010", + url: "https://digimon.net/reference_en/detail.php?directory_name=ketomon", + }, + { + name_en: "Kuramon", + name_jp: "Kuramon", + next_evolutions: ["2-023"], + stage: 1, + sprite: "kuramon", + id: "1-011", + url: "https://digimon.net/reference_en/detail.php?directory_name=kuramon", + }, + { + name_en: "Mokumon", + name_jp: "Mokumon", + next_evolutions: ["2-005", "2-011", "2-037"], + stage: 1, + sprite: "mokumon", + id: "1-012", + url: "https://digimon.net/reference_en/detail.php?directory_name=mokumon", + }, + { + name_en: "Nyokimon", + name_jp: "Nyokimon", + next_evolutions: ["2-028", "2-003"], + stage: 1, + sprite: "nyokimon", + id: "1-013", + url: "https://digimon.net/reference_en/detail.php?directory_name=nyokimon", + }, + { + name_en: "Pabumon", + name_jp: "Bubbmon", + next_evolutions: ["2-015", "2-033"], + stage: 1, + sprite: "pabumon", + id: "1-014", + url: "https://digimon.net/reference_en/detail.php?directory_name=bubbmon", + }, + { + name_en: "Petitmon", + name_jp: "Petitmon", + next_evolutions: ["2-002"], + stage: 1, + sprite: "petitmon", + id: "1-015", + url: "https://digimon.net/reference_en/detail.php?directory_name=petitmon", + }, + { + name_en: "Pichimon", + name_jp: "Pitchmon", + next_evolutions: ["2-004"], + stage: 1, + sprite: "pichimon", + id: "1-016", + url: "https://digimon.net/reference_en/detail.php?directory_name=pitchmon", + }, + { + name_en: "Poyomon", + name_jp: "Poyomon", + next_evolutions: ["2-021"], + stage: 1, + sprite: "poyomon", + id: "1-017", + url: "https://digimon.net/reference_en/detail.php?directory_name=poyomon", + }, + { + name_en: "Punimon", + name_jp: "Punimon", + next_evolutions: ["2-024"], + stage: 1, + sprite: "punimon", + id: "1-018", + url: "https://digimon.net/reference_en/detail.php?directory_name=punimon", + }, + { + name_en: "Pururumon", + name_jp: "Pururumon", + next_evolutions: ["2-018"], + stage: 1, + sprite: "pururumon", + id: "1-019", + url: "https://digimon.net/reference_en/detail.php?directory_name=pururumon", + }, + { + name_en: "Puttimon", + name_jp: "Puttimon", + next_evolutions: ["2-022"], + stage: 1, + sprite: "puttimon", + id: "1-020", + url: "https://digimon.net/reference_en/detail.php?directory_name=puttimon", + }, + { + name_en: "Sakumon", + name_jp: "Sakumon", + next_evolutions: ["2-019"], + stage: 1, + sprite: "sakumon", + id: "1-021", + url: "https://digimon.net/reference_en/detail.php?directory_name=sakumon", + }, + { + name_en: "Tsubumon", + name_jp: "Tsubumon", + next_evolutions: ["2-025"], + stage: 1, + sprite: "tsubumon", + id: "1-022", + url: "https://digimon.net/reference_en/detail.php?directory_name=tsubumon", + }, + { + name_en: "YukimiBotamon", + name_jp: "Yukimibotamon", + next_evolutions: ["2-016", "2-032", "2-034"], + stage: 1, + sprite: "yukimibotamon", + id: "1-023", + url: "https://digimon.net/reference_en/detail.php?directory_name=yukimibotamon", + }, + { + name_en: "Yuramon", + name_jp: "Yuramon", + next_evolutions: ["2-020", "2-003"], + stage: 1, + sprite: "yuramon", + id: "1-024", + url: "https://digimon.net/reference_en/detail.php?directory_name=yuramon", + }, + { + name_en: "Zerimon", + name_jp: "Zerimon", + next_evolutions: ["2-008"], + stage: 1, + sprite: "zerimon", + id: "1-025", + url: "https://digimon.net/reference_en/detail.php?directory_name=zerimon", + }, + { + name_en: "Zurumon", + name_jp: "Zurumon", + next_evolutions: ["2-017", "2-011"], + stage: 1, + sprite: "zurumon", + id: "1-026", + url: "https://digimon.net/reference_en/detail.php?directory_name=zurumon", + }, + { + name_en: "Chibickmon", + name_jp: "Chibickmon", + next_evolutions: ["2-035"], + stage: 1, + sprite: "chibickmon", + id: "1-027", + url: "https://digimon.net/reference_en/detail.php?directory_name=chibickmon", + }, + { + name_en: "Dokimon", + name_jp: "Dokimon", + next_evolutions: ["2-029"], + stage: 1, + sprite: "dokimon", + id: "1-028", + url: "https://digimon.net/reference_en/detail.php?directory_name=dokimon", + }, + { + name_en: "Jyarimon", + name_jp: "Jyarimon", + next_evolutions: ["2-030"], + stage: 1, + sprite: "jyarimon", + id: "1-029", + url: "https://digimon.net/reference_en/detail.php?directory_name=jyarimon", + }, + { + name_en: "Relemon", + name_jp: "Relemon", + next_evolutions: ["2-036"], + stage: 1, + sprite: "relemon", + id: "1-030", + url: "https://digimon.net/reference_en/detail.php?directory_name=relemon", + }, + { + name_en: "Sandmon", + name_jp: "Sunamon", + next_evolutions: ["2-031"], + stage: 1, + sprite: "sandmon", + id: "1-031", + url: "https://digimon.net/reference_en/detail.php?directory_name=sunamon", + }, + { + name_en: "Argomon", + name_jp: "Algomon", + next_evolutions: ["3-005", "3-027", "3-045", "3-080"], + stage: 2, + sprite: "argomon_baby_ii", + id: "2-001", + url: "https://digimon.net/reference_en/detail.php?directory_name=algomon_lv2", + }, + { + name_en: "Bebydomon", + name_jp: "Babydmon", + next_evolutions: ["3-016", "3-003"], + stage: 2, + sprite: "bebydomon", + id: "2-002", + url: "https://digimon.net/reference_en/detail.php?directory_name=babydmon", + }, + { + name_en: "Budmon", + name_jp: "Budmon", + next_evolutions: ["3-046"], + stage: 2, + sprite: "budmon", + id: "2-003", + url: "https://digimon.net/reference_en/detail.php?directory_name=budmon", + }, + { + name_en: "Bukamon", + name_jp: "Pukamon", + next_evolutions: ["3-050", "3-012", "3-029", "3-013", "3-070", "3-065"], + stage: 2, + sprite: "bukamon", + id: "2-004", + url: "https://digimon.net/reference_en/detail.php?directory_name=pukamon", + }, + { + name_en: "DemiMeramon", + name_jp: "PetiMeramon", + next_evolutions: ["3-072", "3-011", "3-014", "3-031", "3-079"], + stage: 2, + sprite: "demimeramon", + id: "2-005", + url: "https://digimon.net/reference_en/detail.php?directory_name=petimeramon", + }, + { + name_en: "DemiVeemon", + name_jp: "Chibimon", + next_evolutions: ["3-078"], + stage: 2, + sprite: "demiveemon", + id: "2-006", + url: "https://digimon.net/reference_en/detail.php?directory_name=chibimon", + }, + { + name_en: "Dorimon", + name_jp: "Dorimon", + next_evolutions: ["3-015", "3-082"], + stage: 2, + sprite: "dorimon", + id: "2-007", + url: "https://digimon.net/reference_en/detail.php?directory_name=dorimon", + }, + { + name_en: "Gummymon", + name_jp: "Gummymon", + next_evolutions: ["3-015", "3-075", "3-009", "3-039", "3-057", "3-074"], + stage: 2, + sprite: "gummymon", + id: "2-008", + url: "https://digimon.net/reference_en/detail.php?directory_name=gummymon", + }, + { + name_en: "Hopmon", + name_jp: "Hopmon", + next_evolutions: ["3-051", "3-040", "3-078", "3-039"], + stage: 2, + sprite: "hopmon", + id: "2-009", + url: "https://digimon.net/reference_en/detail.php?directory_name=hopmon", + }, + { + name_en: "Kakkinmon", + name_jp: "Kakkinmon", + next_evolutions: ["3-049"], + stage: 2, + sprite: "kakkinmon", + id: "2-010", + url: "https://digimon.net/reference_en/detail.php?directory_name=kakkinmon", + }, + { + name_en: "Kapurimon", + name_jp: "Capromon", + next_evolutions: ["3-033", "3-042", "3-077"], + stage: 2, + sprite: "kapurimon", + id: "2-011", + url: "https://digimon.net/reference_en/detail.php?directory_name=capromon", + }, + { + name_en: "Kokomon", + name_jp: "Chocomon", + next_evolutions: ["3-062", "3-048", "3-009", "3-039", "3-071", "3-047"], + stage: 2, + sprite: "kokomon", + id: "2-012", + url: "https://digimon.net/reference_en/detail.php?directory_name=chocomon", + }, + { + name_en: "Koromon", + name_jp: "Koromon", + next_evolutions: ["3-001", "3-007", "3-032", "3-010", "3-051", "3-082"], + stage: 2, + sprite: "koromon", + id: "2-013", + url: "https://digimon.net/reference_en/detail.php?directory_name=koromon", + }, + { + name_en: "Kyokyomon", + name_jp: "Kyokyomon", + next_evolutions: ["3-062"], + stage: 2, + sprite: "kyokyomon", + id: "2-014", + url: "https://digimon.net/reference_en/detail.php?directory_name=kyokyomon", + }, + { + name_en: "Motimon", + name_jp: "Mochimon", + next_evolutions: ["3-073", "3-031", "3-054", "3-052", "3-046"], + stage: 2, + sprite: "motimon", + id: "2-015", + url: "https://digimon.net/reference_en/detail.php?directory_name=mochimon", + }, + { + name_en: "Nyaromon", + name_jp: "Nyaromon", + next_evolutions: ["3-063", "3-001", "3-022"], + stage: 2, + sprite: "nyaromon", + id: "2-016", + url: "https://digimon.net/reference_en/detail.php?directory_name=nyaromon", + }, + { + name_en: "Pagumon", + name_jp: "Pagumon", + next_evolutions: ["3-026", "3-028", "3-027"], + stage: 2, + sprite: "pagumon", + id: "2-017", + url: "https://digimon.net/reference_en/detail.php?directory_name=pagumon", + }, + { + name_en: "Poromon", + name_jp: "Poromon", + next_evolutions: ["3-060", "3-076", "3-020", "3-034", "3-025", "3-080"], + stage: 2, + sprite: "poromon", + id: "2-018", + url: "https://digimon.net/reference_en/detail.php?directory_name=poromon", + }, + { + name_en: "Sakuttomon", + name_jp: "Sakuttomon", + next_evolutions: ["3-081", "3-036", "3-062"], + stage: 2, + sprite: "sakuttomon", + id: "2-019", + url: "https://digimon.net/reference_en/detail.php?directory_name=sakuttomon", + }, + { + name_en: "Tanemon", + name_jp: "Tanemon", + next_evolutions: ["3-008", "3-056", "3-076", "3-060"], + stage: 2, + sprite: "tanemon", + id: "2-020", + url: "https://digimon.net/reference_en/detail.php?directory_name=tanemon", + }, + { + name_en: "Tokomon", + name_jp: "Tokomon", + next_evolutions: ["3-058", "3-044", "3-066", "3-032"], + stage: 2, + sprite: "tokomon", + id: "2-021", + url: "https://digimon.net/reference_en/detail.php?directory_name=tokomon", + }, + { + name_en: "Tokomon X", + name_jp: "Tokomon X", + next_evolutions: ["3-061", "3-004", "3-035", "3-017", "3-023", "3-067"], + stage: 2, + sprite: "tokomon_x", + id: "2-022", + url: "https://digimon.net/reference_en/detail.php?directory_name=tokomon_x", + }, + { + name_en: "Tsumemon", + name_jp: "Tsumemon", + next_evolutions: ["3-041", "3-083"], + stage: 2, + sprite: "tsumemon", + id: "2-023", + url: "https://digimon.net/reference_en/detail.php?directory_name=tsumemon", + }, + { + name_en: "Tsunomon", + name_jp: "Tunomon", + next_evolutions: ["3-022", "3-019", "3-083"], + stage: 2, + sprite: "tsunomon", + id: "2-024", + url: "https://digimon.net/reference_en/detail.php?directory_name=tunomon", + }, + { + name_en: "Upamon", + name_jp: "Upamon", + next_evolutions: ["3-069", "3-065", "3-028", "3-006", "3-058", "3-078"], + stage: 2, + sprite: "upamon", + id: "2-025", + url: "https://digimon.net/reference_en/detail.php?directory_name=upamon", + }, + { + name_en: "Wanyamon", + name_jp: "Wanyamon", + next_evolutions: ["3-068", "3-024", "3-052", "3-063", "3-028", "3-059", "3-012", "3-050"], + stage: 2, + sprite: "wanyamon", + id: "2-026", + url: "https://digimon.net/reference_en/detail.php?directory_name=wanyamon", + }, + { + name_en: "Yaamon", + name_jp: "Yarmon", + next_evolutions: ["3-030", "3-043", "3-002", "3-035", "3-018", "3-064", "3-055", "3-038", "3-037"], + stage: 2, + sprite: "yaamon", + id: "2-027", + url: "https://digimon.net/reference_en/detail.php?directory_name=yarmon", + }, + { + name_en: "Yokomon", + name_jp: "Pyocomon", + next_evolutions: ["3-008", "3-021", "3-056", "3-053", "3-039"], + stage: 2, + sprite: "yokomon", + id: "2-028", + url: "https://digimon.net/reference_en/detail.php?directory_name=pyocomon", + }, + { + name_en: "Bibimon", + name_jp: "Bibimon", + next_evolutions: ["3-084", "3-066"], + stage: 2, + sprite: "bibimon", + id: "2-029", + url: "https://digimon.net/reference_en/detail.php?directory_name=bibimon", + }, + { + name_en: "Gigimon", + name_jp: "Gigimon", + next_evolutions: ["3-032"], + stage: 2, + sprite: "gigimon", + id: "2-030", + url: "https://digimon.net/reference_en/detail.php?directory_name=gigimon", + }, + { + name_en: "Tumblemon", + name_jp: "Goromon", + next_evolutions: ["3-068"], + stage: 2, + sprite: "tumblemon", + id: "2-031", + url: "https://digimon.net/reference_en/detail.php?directory_name=goromon", + }, + { + name_en: "Hiyarimon", + name_jp: "Hiyarimon", + next_evolutions: ["3-009"], + stage: 2, + sprite: "hiyarimon", + id: "2-032", + url: "https://digimon.net/reference_en/detail.php?directory_name=hiyarimon", + }, + { + name_en: "Minomon", + name_jp: "Minomon", + next_evolutions: ["3-080"], + stage: 2, + sprite: "", + id: "2-033", + url: "https://digimon.net/reference_en/detail.php?directory_name=minomon", + }, + { + name_en: "Moonmon", + name_jp: "Moonmon", + next_evolutions: ["3-082", "3-026", "3-047", "3-050"], + stage: 2, + sprite: "moonmon", + id: "2-034", + url: "https://digimon.net/reference_en/detail.php?directory_name=moonmon", + }, + { + name_en: "Pickmon", + name_jp: "Pickmon", + next_evolutions: ["3-066"], + stage: 2, + sprite: "pickmon", + id: "2-035", + url: "https://digimon.net/reference_en/detail.php?directory_name=pickmon", + }, + { + name_en: "Viximon", + name_jp: "Pokomon", + next_evolutions: ["3-085"], + stage: 2, + sprite: "viximon", + id: "2-036", + url: "https://digimon.net/reference_en/detail.php?directory_name=pokomon", + }, + { + name_en: "Sunmon", + name_jp: "Sunmon", + next_evolutions: ["3-012", "3-019", "3-032", "3-063"], + stage: 2, + sprite: "sunmon", + id: "2-037", + url: "https://digimon.net/reference_en/detail.php?directory_name=sunmon", + }, + { + name_en: "Agumon", + name_jp: "Agumon", + next_evolutions: [ + "4-054", + "4-135", + "4-028", + "4-079", + "4-088", + "4-070", + "4-004", + "4-087", + "4-046", + "4-008", + "4-091", + "4-017", + "4-023", + "4-084", + "4-101", + "4-050", + "4-055", + "4-022", + "4-019", + "4-001", + "4-013", + "7-041", + ], + stage: 3, + sprite: "agumon", + id: "3-001", + url: "https://digimon.net/reference_en/detail.php?directory_name=agumon", + }, + { + name_en: "Agumon (Black) X", + name_jp: "Agumon (Black) X", + next_evolutions: ["4-024", "4-067", "4-089", "4-003"], + stage: 3, + sprite: "agumon_black_x", + id: "3-002", + url: "https://digimon.net/reference_en/detail.php?directory_name=agumon_b_x", + }, + { + name_en: "Agumon Expert", + name_jp: "Agumon Hakase", + next_evolutions: ["4-027", "4-019"], + stage: 3, + sprite: "agumon_expert", + id: "3-003", + url: "https://digimon.net/reference_en/detail.php?directory_name=agumonhakase", + }, + { + name_en: "Agumon X", + name_jp: "Agumon X", + next_evolutions: ["4-136", "4-126", "4-021"], + stage: 3, + sprite: "agumon_x", + id: "3-004", + url: "https://digimon.net/reference_en/detail.php?directory_name=agumon_x", + }, + { + name_en: "Argomon", + name_jp: "Algomon", + next_evolutions: ["4-008", "4-028", "4-083"], + stage: 3, + sprite: "argomon_child", + id: "3-005", + url: "https://digimon.net/reference_en/detail.php?directory_name=algomon_lv3", + }, + { + name_en: "Armadillomon", + name_jp: "Armadimon", + next_evolutions: ["4-005", "4-118", "4-111"], + stage: 3, + sprite: "armadillomon", + id: "3-006", + url: "https://digimon.net/reference_en/detail.php?directory_name=armadimon", + }, + { + name_en: "Betamon", + name_jp: "Betamon", + next_evolutions: ["4-002", "4-107", "4-028", "4-079", "4-088"], + stage: 3, + sprite: "betamon", + id: "3-007", + url: "https://digimon.net/reference_en/detail.php?directory_name=betamon", + }, + { + name_en: "Biyomon", + name_jp: "Piyomon", + next_evolutions: [ + "4-084", + "4-064", + "4-070", + "4-066", + "4-085", + "4-014", + "4-063", + "4-145", + "4-102", + "4-138", + "4-127", + "4-096", + "4-150", + ], + stage: 3, + sprite: "biyomon", + id: "3-008", + url: "https://digimon.net/reference_en/detail.php?directory_name=piyomon", + }, + { + name_en: "Bulucomon", + name_jp: "Blucomon", + next_evolutions: ["4-094", "4-109", "4-080", "4-128", "4-144", "4-052", "4-093", "4-043", "4-149"], + stage: 3, + sprite: "bulucomon", + id: "3-009", + url: "https://digimon.net/reference_en/detail.php?directory_name=bulucomon", + }, + { + name_en: "BushiAgumon", + name_jp: "BushiAgumon", + next_evolutions: ["4-103", "4-009", "4-075"], + stage: 3, + sprite: "bushiagumon", + id: "3-010", + url: "https://digimon.net/reference_en/detail.php?directory_name=bushiagumon", + }, + { + name_en: "Candlemon", + name_jp: "Candmon", + next_evolutions: ["4-046", "4-079", "4-143", "4-028", "4-006"], + stage: 3, + sprite: "candlemon", + id: "3-011", + url: "https://digimon.net/reference_en/detail.php?directory_name=candmon", + }, + { + name_en: "Coronamon", + name_jp: "Coronamon", + next_evolutions: ["4-040", "4-044", "4-070", "4-001"], + stage: 3, + sprite: "coronamon", + id: "3-012", + url: "https://digimon.net/reference_en/detail.php?directory_name=coronamon", + }, + { + name_en: "Crabmon", + name_jp: "Ganimon", + next_evolutions: ["4-032", "4-107", "4-036", "4-017", "4-051", "4-090"], + stage: 3, + sprite: "crabmon", + id: "3-013", + url: "https://digimon.net/reference_en/detail.php?directory_name=ganimon", + }, + { + name_en: "DemiDevimon", + name_jp: "PicoDevimon", + next_evolutions: ["4-028", "4-079", "4-031", "4-143", "4-011"], + stage: 3, + sprite: "demidevimon", + id: "3-014", + url: "https://digimon.net/reference_en/detail.php?directory_name=picodevimon", + }, + { + name_en: "Dorumon", + name_jp: "DORUmon", + next_evolutions: ["4-033", "4-100", "4-109", "4-080", "4-093"], + stage: 3, + sprite: "dorumon", + id: "3-015", + url: "https://digimon.net/reference_en/detail.php?directory_name=dorumon", + }, + { + name_en: "Dracomon", + name_jp: "Dracomon", + next_evolutions: ["4-050"], + stage: 3, + sprite: "dracomon", + id: "3-016", + url: "https://digimon.net/reference_en/detail.php?directory_name=dracomon", + }, + { + name_en: "Dracomon X", + name_jp: "Dracomon X", + next_evolutions: ["4-056", "4-114", "4-021"], + stage: 3, + sprite: "dracomon_x", + id: "3-017", + url: "https://digimon.net/reference_en/detail.php?directory_name=dracomon_x", + }, + { + name_en: "Duskmon", + name_jp: "Duskmon", + next_evolutions: ["4-024", "4-140", "4-089", "4-092"], + stage: 3, + sprite: "duskmon", + id: "3-018", + url: "https://digimon.net/reference_en/detail.php?directory_name=duskmon", + }, + { + name_en: "Elecmon", + name_jp: "Elecmon", + next_evolutions: ["4-014", "4-141", "4-004", "4-043", "4-139"], + stage: 3, + sprite: "elecmon", + id: "3-019", + url: "https://digimon.net/reference_en/detail.php?directory_name=elecmon", + }, + { + name_en: "Falcomon", + name_jp: "Falcomon", + next_evolutions: ["4-096", "4-029", "4-139"], + stage: 3, + sprite: "falcomon", + id: "3-020", + url: "https://digimon.net/reference_en/detail.php?directory_name=falcomon", + }, + { + name_en: "Floramon", + name_jp: "Floramon", + next_evolutions: ["4-063", "4-014", "4-138", "4-102", "4-127"], + stage: 3, + sprite: "floramon", + id: "3-021", + url: "https://digimon.net/reference_en/detail.php?directory_name=floramon", + }, + { + name_en: "Gabumon", + name_jp: "Gabumon", + next_evolutions: [ + "4-062", + "4-046", + "4-004", + "4-043", + "4-139", + "4-047", + "4-070", + "4-087", + "4-031", + "4-008", + "4-034", + "4-072", + "7-042", + ], + stage: 3, + sprite: "gabumon", + id: "3-022", + url: "https://digimon.net/reference_en/detail.php?directory_name=gabumon", + }, + { + name_en: "Gabumon X", + name_jp: "Gabumon X", + next_evolutions: ["4-104", "4-126", "4-021"], + stage: 3, + sprite: "gabumon_x", + id: "3-023", + url: "https://digimon.net/reference_en/detail.php?directory_name=gabumon_x", + }, + { + name_en: "Gaomon", + name_jp: "Gaomon", + next_evolutions: ["4-010", "4-044", "4-105", "4-040", "4-069"], + stage: 3, + sprite: "gaomon", + id: "3-024", + url: "https://digimon.net/reference_en/detail.php?directory_name=gaomon", + }, + { + name_en: "Gatomon", + name_jp: "Tailmon", + next_evolutions: ["4-007", "4-047"], + stage: 3, + sprite: "gatomon", + id: "3-025", + url: "https://digimon.net/reference_en/detail.php?directory_name=tailmon", + }, + { + name_en: "Gazimon", + name_jp: "Gazimon", + next_evolutions: ["4-023", "4-020", "4-027", "4-132", "4-101", "4-035", "4-074"], + stage: 3, + sprite: "gazimon", + id: "3-026", + url: "https://digimon.net/reference_en/detail.php?directory_name=gazimon", + }, + { + name_en: "Ghostmon", + name_jp: "Ghostmon", + next_evolutions: ["4-142", "4-008", "4-041", "4-143", "4-028", "4-011", "4-152"], + stage: 3, + sprite: "ghostmon", + id: "3-027", + url: "https://digimon.net/reference_en/detail.php?directory_name=ghostmon", + }, + { + name_en: "Gizamon", + name_jp: "Gizamon", + next_evolutions: ["4-042", "4-025", "4-027", "4-132", "4-101", "4-043", "4-111", "4-112", "4-125", "4-036"], + stage: 3, + sprite: "gizamon", + id: "3-028", + url: "https://digimon.net/reference_en/detail.php?directory_name=gizamon", + }, + { + name_en: "Gomamon", + name_jp: "Gomamon", + next_evolutions: ["4-060", "4-032", "4-036", "4-017", "4-090", "4-051"], + stage: 3, + sprite: "gomamon", + id: "3-029", + url: "https://digimon.net/reference_en/detail.php?directory_name=gomamon", + }, + { + name_en: "Gomamon X", + name_jp: "Gomamon X", + next_evolutions: ["4-076", "4-067", "4-003"], + stage: 3, + sprite: "gomamon_x", + id: "3-030", + url: "https://digimon.net/reference_en/detail.php?directory_name=gomamon_x", + }, + { + name_en: "Gotsumon", + name_jp: "Gottsumon", + next_evolutions: ["4-084", "4-129", "4-115", "4-049"], + stage: 3, + sprite: "gotsumon", + id: "3-031", + url: "https://digimon.net/reference_en/detail.php?directory_name=gottsumon", + }, + { + name_en: "Guilmon", + name_jp: "Guilmon", + next_evolutions: ["4-055", "4-012", "4-050", "4-009", "4-075", "4-027", "4-001"], + stage: 3, + sprite: "guilmon", + id: "3-032", + url: "https://digimon.net/reference_en/detail.php?directory_name=guilmon", + }, + { + name_en: "Hagurumon", + name_jp: "Hagurumon", + next_evolutions: ["4-057", "4-121", "4-054", "4-078", "4-073", "4-101"], + stage: 3, + sprite: "hagurumon", + id: "3-033", + url: "https://digimon.net/reference_en/detail.php?directory_name=hagurumon", + }, + { + name_en: "Hawkmon", + name_jp: "Hawkmon", + next_evolutions: ["4-007", "4-096", "4-064"], + stage: 3, + sprite: "hawkmon", + id: "3-034", + url: "https://digimon.net/reference_en/detail.php?directory_name=hawkmon", + }, + { + name_en: "Herissmon", + name_jp: "Herissmon", + next_evolutions: ["4-106", "4-136", "4-021", "4-067", "4-039", "4-089", "4-086"], + stage: 3, + sprite: "herissmon", + id: "3-035", + url: "https://digimon.net/reference_en/detail.php?directory_name=herissmon", + }, + { + name_en: "Huckmon", + name_jp: "Hackmon", + next_evolutions: ["4-122", "4-009", "4-018", "4-013"], + stage: 3, + sprite: "huckmon", + id: "3-036", + url: "https://digimon.net/reference_en/detail.php?directory_name=huckmon", + }, + { + name_en: "Impmon", + name_jp: "Impmon", + next_evolutions: ["4-074", "4-110", "4-130", "4-143"], + stage: 3, + sprite: "impmon", + id: "3-037", + url: "https://digimon.net/reference_en/detail.php?directory_name=impmon", + }, + { + name_en: "Impmon X", + name_jp: "Impmon X", + next_evolutions: ["4-092", "4-108", "4-089", "4-003"], + stage: 3, + sprite: "impmon_x", + id: "3-038", + url: "https://digimon.net/reference_en/detail.php?directory_name=impmon_x", + }, + { + name_en: "Jazamon", + name_jp: "Jazamon", + next_evolutions: ["4-061", "4-100", "4-093", "4-097", "4-134", "4-065", "4-073", "4-101", "4-014"], + stage: 3, + sprite: "jazamon", + id: "3-039", + url: "https://digimon.net/reference_en/detail.php?directory_name=jazamon", + }, + { + name_en: "Junkmon", + name_jp: "Junkmon", + next_evolutions: ["4-065", "4-082", "4-101"], + stage: 3, + sprite: "junkmon", + id: "3-040", + url: "https://digimon.net/reference_en/detail.php?directory_name=junkmon", + }, + { + name_en: "Keramon X", + name_jp: "Keramon X", + next_evolutions: ["7-012"], + stage: 3, + sprite: "keramon_x", + id: "3-041", + url: "https://digimon.net/reference_en/detail.php?directory_name=keramon_x", + }, + { + name_en: "Kokuwamon", + name_jp: "Kokuwamon", + next_evolutions: ["4-123", "4-057", "4-121", "4-016", "4-026"], + stage: 3, + sprite: "kokuwamon", + id: "3-042", + url: "https://digimon.net/reference_en/detail.php?directory_name=kokuwamon", + }, + { + name_en: "Kokuwamon X", + name_jp: "Kokuwamon X", + next_evolutions: ["4-067", "4-039", "4-089", "4-140", "4-003"], + stage: 3, + sprite: "kokuwamon_x", + id: "3-043", + url: "https://digimon.net/reference_en/detail.php?directory_name=kokuwamon_x", + }, + { + name_en: "Kunemon", + name_jp: "Kunemon", + next_evolutions: ["4-111", "4-034", "4-091", "4-011", "4-119"], + stage: 3, + sprite: "kunemon", + id: "3-044", + url: "https://digimon.net/reference_en/detail.php?directory_name=kunemon", + }, + { + name_en: "Labramon", + name_jp: "Labramon", + next_evolutions: ["4-030", "4-008", "4-083"], + stage: 3, + sprite: "labramon", + id: "3-045", + url: "https://digimon.net/reference_en/detail.php?directory_name=labramon", + }, + { + name_en: "Lalamon", + name_jp: "Lalamon", + next_evolutions: ["4-120", "4-059"], + stage: 3, + sprite: "lalamon", + id: "3-046", + url: "https://digimon.net/reference_en/detail.php?directory_name=lalamon", + }, + { + name_en: "Lopmon", + name_jp: "Lopmon", + next_evolutions: ["4-131"], + stage: 3, + sprite: "lopmon", + id: "3-047", + url: "https://digimon.net/reference_en/detail.php?directory_name=lopmon", + }, + { + name_en: "Lopmon X", + name_jp: "Lopmon X", + next_evolutions: ["4-097", "4-048", "4-144", "4-052"], + stage: 3, + sprite: "lopmon_x", + id: "3-048", + url: "https://digimon.net/reference_en/detail.php?directory_name=lopmon_x", + }, + { + name_en: "Ludomon", + name_jp: "Ludomon", + next_evolutions: ["4-124", "4-103"], + stage: 3, + sprite: "ludomon", + id: "3-049", + url: "https://digimon.net/reference_en/detail.php?directory_name=ludomon", + }, + { + name_en: "Lunamon", + name_jp: "Lunamon", + next_evolutions: ["4-069", "4-074", "4-044"], + stage: 3, + sprite: "lunamon", + id: "3-050", + url: "https://digimon.net/reference_en/detail.php?directory_name=lunamon", + }, + { + name_en: "Monodramon", + name_jp: "Monodramon", + next_evolutions: ["4-054", "4-101", "4-117", "4-037"], + stage: 3, + sprite: "monodramon", + id: "3-051", + url: "https://digimon.net/reference_en/detail.php?directory_name=monodramon", + }, + { + name_en: "Morphomon", + name_jp: "Morphomon", + next_evolutions: ["4-059", "4-137", "4-105"], + stage: 3, + sprite: "morphomon", + id: "3-052", + url: "https://digimon.net/reference_en/detail.php?directory_name=morphomon", + }, + { + name_en: "Mushroomon", + name_jp: "Mushmon", + next_evolutions: ["4-138", "4-145", "4-127", "4-102", "4-014"], + stage: 3, + sprite: "mushroomon", + id: "3-053", + url: "https://digimon.net/reference_en/detail.php?directory_name=mushmon", + }, + { + name_en: "Otamamon", + name_jp: "Otamamon", + next_evolutions: ["4-047", "4-115", "4-066", "4-049"], + stage: 3, + sprite: "otamamon", + id: "3-054", + url: "https://digimon.net/reference_en/detail.php?directory_name=otamamon", + }, + { + name_en: "Otamamon X", + name_jp: "Otamamon X", + next_evolutions: ["4-108", "4-039", "4-089", "4-140", "4-003"], + stage: 3, + sprite: "otamamon_x", + id: "3-055", + url: "https://digimon.net/reference_en/detail.php?directory_name=otamamon_x", + }, + { + name_en: "Palmon", + name_jp: "Palmon", + next_evolutions: [ + "4-017", + "4-083", + "4-070", + "4-066", + "4-085", + "4-127", + "4-145", + "4-063", + "4-102", + "4-014", + "4-120", + "4-095", + "4-139", + ], + stage: 3, + sprite: "palmon", + id: "3-056", + url: "https://digimon.net/reference_en/detail.php?directory_name=palmon", + }, + { + name_en: "Palmon X", + name_jp: "Palmon X", + next_evolutions: ["4-128", "4-100", "4-093"], + stage: 3, + sprite: "palmon_x", + id: "3-057", + url: "https://digimon.net/reference_en/detail.php?directory_name=palmon_x", + }, + { + name_en: "Patamon", + name_jp: "Patamon", + next_evolutions: ["4-137", "4-015", "4-091", "4-011", "4-119", "4-004", "4-113", "5-122", "4-081", "4-005"], + stage: 3, + sprite: "patamon", + id: "3-058", + url: "https://digimon.net/reference_en/detail.php?directory_name=patamon", + }, + { + name_en: "Phascomon", + name_jp: "Phascomon", + next_evolutions: ["4-099", "4-110", "4-130", "4-074", "4-070"], + stage: 3, + sprite: "phascomon", + id: "3-059", + url: "https://digimon.net/reference_en/detail.php?directory_name=phascomon", + }, + { + name_en: "Pomumon", + name_jp: "Pomumon", + next_evolutions: ["4-095", "4-064", "4-139"], + stage: 3, + sprite: "pomumon", + id: "3-060", + url: "https://digimon.net/reference_en/detail.php?directory_name=pomumon", + }, + { + name_en: "Renamon X", + name_jp: "Renamon X", + next_evolutions: ["4-071", "4-106", "4-021"], + stage: 3, + sprite: "renamon_x", + id: "3-061", + url: "https://digimon.net/reference_en/detail.php?directory_name=renamon_x", + }, + { + name_en: "Ryudamon", + name_jp: "Ryudamon", + next_evolutions: ["4-052", "4-134", "4-097", "4-144", "4-093", "4-031", "4-025", "4-088"], + stage: 3, + sprite: "ryudamon", + id: "3-062", + url: "https://digimon.net/reference_en/detail.php?directory_name=ryudamon", + }, + { + name_en: "Salamon", + name_jp: "Plotmon", + next_evolutions: ["4-077", "4-047", "4-004", "4-046", "4-087", "4-054", "4-137", "4-053", "4-013"], + stage: 3, + sprite: "salamon", + id: "3-063", + url: "https://digimon.net/reference_en/detail.php?directory_name=plotmon", + }, + { + name_en: "Salamon X", + name_jp: "Plotmon X", + next_evolutions: ["4-086", "4-108", "4-003"], + stage: 3, + sprite: "salamon_x", + id: "3-064", + url: "https://digimon.net/reference_en/detail.php?directory_name=plotmon_x", + }, + { + name_en: "Sangomon", + name_jp: "Sangomon", + next_evolutions: ["4-111", "4-058", "4-112", "4-125", "4-107", "4-090"], + stage: 3, + sprite: "sangomon", + id: "3-065", + url: "https://digimon.net/reference_en/detail.php?directory_name=sangomon", + }, + { + name_en: "Shoutmon", + name_jp: "Shoutmon", + next_evolutions: ["4-113", "5-122", "4-081", "4-022", "4-103", "4-147"], + stage: 3, + sprite: "shoutmon", + id: "3-066", + url: "https://digimon.net/reference_en/detail.php?directory_name=shoutmon", + }, + { + name_en: "Sistermon Blanc", + name_jp: "Sistermon Blanc", + next_evolutions: ["4-114", "4-104", "4-021"], + stage: 3, + sprite: "sistermon_blanc", + id: "3-067", + url: "https://digimon.net/reference_en/detail.php?directory_name=sistermonblanc", + }, + { + name_en: "Sunarizamon", + name_jp: "Sunarizamon", + next_evolutions: ["4-010", "4-053", "4-105", "4-129", "4-127"], + stage: 3, + sprite: "sunarizamon", + id: "3-068", + url: "https://digimon.net/reference_en/detail.php?directory_name=sunarizamon", + }, + { + name_en: "Swimmon", + name_jp: "Swimmon", + next_evolutions: ["4-125", "4-118", "4-112"], + stage: 3, + sprite: "swimmon", + id: "3-069", + url: "https://digimon.net/reference_en/detail.php?directory_name=swimmon", + }, + { + name_en: "Syakomon", + name_jp: "Shakomon", + next_evolutions: ["4-060", "4-107", "4-051", "4-090", "4-133"], + stage: 3, + sprite: "syakomon", + id: "3-070", + url: "https://digimon.net/reference_en/detail.php?directory_name=shakomon", + }, + { + name_en: "Syakomon X", + name_jp: "Shakomon X", + next_evolutions: ["4-134", "4-144", "4-093", "4-052"], + stage: 3, + sprite: "syakomon_x", + id: "3-071", + url: "https://digimon.net/reference_en/detail.php?directory_name=shakomon_x", + }, + { + name_en: "Tapirmon", + name_jp: "Bakumon", + next_evolutions: ["4-006", "4-079", "4-143", "4-046"], + stage: 3, + sprite: "tapirmon", + id: "3-072", + url: "https://digimon.net/reference_en/detail.php?directory_name=bakumon", + }, + { + name_en: "Tentomon", + name_jp: "Tentomon", + next_evolutions: ["4-062", "4-047", "4-129", "4-066", "4-049", "4-120"], + stage: 3, + sprite: "tentomon", + id: "3-073", + url: "https://digimon.net/reference_en/detail.php?directory_name=tentomon", + }, + { + name_en: "Terriermon", + name_jp: "Terriermon", + next_evolutions: ["4-045", "4-131"], + stage: 3, + sprite: "terriermon", + id: "3-074", + url: "https://digimon.net/reference_en/detail.php?directory_name=terriermon", + }, + { + name_en: "Terriermon X", + name_jp: "Terriermon X", + next_evolutions: ["4-109", "4-033", "4-080", "4-128"], + stage: 3, + sprite: "terriermon_x", + id: "3-075", + url: "https://digimon.net/reference_en/detail.php?directory_name=terriermon_x", + }, + { + name_en: "Tinkermon", + name_jp: "Tinkermon", + next_evolutions: ["4-098", "4-064", "4-095", "4-139"], + stage: 3, + sprite: "tinkermon", + id: "3-076", + url: "https://digimon.net/reference_en/detail.php?directory_name=tinkermon", + }, + { + name_en: "ToyAgumon", + name_jp: "ToyAgumon", + next_evolutions: ["4-054", "4-123", "4-016", "4-078", "4-026"], + stage: 3, + sprite: "toyagumon", + id: "3-077", + url: "https://digimon.net/reference_en/detail.php?directory_name=toyagumon", + }, + { + name_en: "Veemon", + name_jp: "V-mon", + next_evolutions: ["4-038", "4-065", "4-082", "4-138", "4-072"], + stage: 3, + sprite: "veemon", + id: "3-078", + url: "https://digimon.net/reference_en/detail.php?directory_name=v-mon", + }, + { + name_en: "Vorvomon", + name_jp: "Vorvomon", + next_evolutions: ["4-068", "4-014", "4-135", "4-079"], + stage: 3, + sprite: "vorvomon", + id: "3-079", + url: "https://digimon.net/reference_en/detail.php?directory_name=vorvomon", + }, + { + name_en: "Wormmon", + name_jp: "Wormmon", + next_evolutions: ["4-116", "4-028", "4-142", "4-110", "4-059", "4-105"], + stage: 3, + sprite: "wormmon", + id: "3-080", + url: "https://digimon.net/reference_en/detail.php?directory_name=wormmon", + }, + { + name_en: "Zubamon", + name_jp: "Zubamon", + next_evolutions: ["4-146", "4-122", "4-031", "4-013"], + stage: 3, + sprite: "zubamon", + id: "3-081", + url: "https://digimon.net/reference_en/detail.php?directory_name=zubamon", + }, + { + name_en: "Agumon (Black)", + name_jp: "Agumon (Black)", + next_evolutions: ["4-054", "4-023", "4-084", "4-002"], + stage: 3, + sprite: "agumon_black", + id: "3-082", + url: "https://digimon.net/reference_en/detail.php?directory_name=agumon-black", + }, + { + name_en: "Dracmon", + name_jp: "Dracumon", + next_evolutions: ["5-067"], + stage: 3, + sprite: "dracmon", + id: "3-083", + url: "https://digimon.net/reference_en/detail.php?directory_name=dracumon", + }, + { + name_en: "Pulsemon", + name_jp: "Pulsemon", + next_evolutions: ["4-147", "4-123"], + stage: 3, + sprite: "pulsemon", + id: "3-084", + url: "https://digimon.net/reference_en/detail.php?directory_name=pulsemon", + }, + { + name_en: "Renamon", + name_jp: "Renamon", + next_evolutions: ["4-148", "4-096"], + stage: 3, + sprite: "renamon", + id: "3-085", + url: "https://digimon.net/reference_en/detail.php?directory_name=renamon", + }, + { + name_en: "Agunimon", + name_jp: "Agnimon", + next_evolutions: ["5-002", "5-016", "5-145", "5-149"], + stage: 4, + sprite: "agunimon", + id: "4-001", + url: "https://digimon.net/reference_en/detail.php?directory_name=agnimon", + }, + { + name_en: "Airdramon", + name_jp: "Airdramon", + next_evolutions: ["5-088", "5-086", "5-093", "5-080"], + stage: 4, + sprite: "airdramon", + id: "4-002", + url: "https://digimon.net/reference_en/detail.php?directory_name=airdramon", + }, + { + name_en: "Allomon X", + name_jp: "Allomon X", + next_evolutions: ["5-132", "5-074", "5-072", "5-092"], + stage: 4, + sprite: "allomon_x", + id: "4-003", + url: "https://digimon.net/reference_en/detail.php?directory_name=allomon_x", + }, + { + name_en: "Angemon", + name_jp: "Angemon", + next_evolutions: ["5-126", "5-069", "5-004", "5-010", "5-120", "5-036", "5-075", "5-091"], + stage: 4, + sprite: "angemon", + id: "4-004", + url: "https://digimon.net/reference_en/detail.php?directory_name=angemon", + }, + { + name_en: "Ankylomon", + name_jp: "Ankylomon", + next_evolutions: ["5-076", "5-120", "5-049", "5-085", "5-108", "5-105"], + stage: 4, + sprite: "ankylomon", + id: "4-005", + url: "https://digimon.net/reference_en/detail.php?directory_name=ankylomon", + }, + { + name_en: "Apemon", + name_jp: "Hanumon", + next_evolutions: ["5-073", "5-139", "5-110", "5-147"], + stage: 4, + sprite: "apemon", + id: "4-006", + url: "https://digimon.net/reference_en/detail.php?directory_name=hanumon", + }, + { + name_en: "Aquilamon", + name_jp: "Aquilamon", + next_evolutions: ["5-123", "5-050", "5-106", "5-130", "5-057", "5-031"], + stage: 4, + sprite: "aquilamon", + id: "4-007", + url: "https://digimon.net/reference_en/detail.php?directory_name=aquilamon", + }, + { + name_en: "Argomon", + name_jp: "Algomon", + next_evolutions: [ + "5-007", + "5-057", + "5-097", + "5-087", + "5-070", + "5-093", + "5-003", + "5-118", + "5-139", + "5-013", + "5-138", + "5-106", + "5-015", + ], + stage: 4, + sprite: "argomon_adult", + id: "4-008", + url: "https://digimon.net/reference_en/detail.php?directory_name=algomon_lv4", + }, + { + name_en: "Arresterdramon", + name_jp: "Arresterdramon", + next_evolutions: ["5-115", "5-135", "5-117"], + stage: 4, + sprite: "arresterdramon", + id: "4-009", + url: "https://digimon.net/reference_en/detail.php?directory_name=arresterdramon", + }, + { + name_en: "Baboongamon", + name_jp: "Baboongamon", + next_evolutions: ["5-046", "5-055", "5-068"], + stage: 4, + sprite: "baboongamon", + id: "4-010", + url: "https://digimon.net/reference_en/detail.php?directory_name=baboongamon", + }, + { + name_en: "Bakemon", + name_jp: "Bakemon", + next_evolutions: ["5-045", "5-107", "5-059", "5-110", "5-011", "5-098"], + stage: 4, + sprite: "bakemon", + id: "4-011", + url: "https://digimon.net/reference_en/detail.php?directory_name=bakemon", + }, + { + name_en: "Baluchimon", + name_jp: "Baluchimon", + next_evolutions: ["5-075", "5-111", "5-036", "5-135"], + stage: 4, + sprite: "baluchimon", + id: "4-012", + url: "https://digimon.net/reference_en/detail.php?directory_name=baluchimon", + }, + { + name_en: "BaoHuckmon", + name_jp: "BaoHuckmon", + next_evolutions: ["5-117", "5-039", "5-036", "5-048"], + stage: 4, + sprite: "baohuckmon", + id: "4-013", + url: "https://digimon.net/reference_en/detail.php?directory_name=baohuckmon", + }, + { + name_en: "Birdramon", + name_jp: "Birdramon", + next_evolutions: ["5-126", "5-043", "5-001", "5-014", "5-029", "5-061", "5-041", "5-048"], + stage: 4, + sprite: "birdramon", + id: "4-014", + url: "https://digimon.net/reference_en/detail.php?directory_name=birdramon", + }, + { + name_en: "Centarumon", + name_jp: "Centalmon", + next_evolutions: ["5-045"], + stage: 4, + sprite: "centarumon", + id: "4-015", + url: "https://digimon.net/reference_en/detail.php?directory_name=centalmon", + }, + { + name_en: "Clockmon", + name_jp: "Clockmon", + next_evolutions: ["5-003", "5-087", "5-058", "5-137", "5-013"], + stage: 4, + sprite: "clockmon", + id: "4-016", + url: "https://digimon.net/reference_en/detail.php?directory_name=clockmon", + }, + { + name_en: "Coelamon", + name_jp: "Coelamon", + next_evolutions: ["5-080", "5-118", "5-141", "5-082", "5-035", "5-003", "5-100", "5-087", "5-093"], + stage: 4, + sprite: "coelamon", + id: "4-017", + url: "https://digimon.net/reference_en/detail.php?directory_name=coelamon", + }, + { + name_en: "Coredramon (Blue)", + name_jp: "Coredramon (Blue)", + next_evolutions: ["5-142", "5-048", "5-080", "5-115"], + stage: 4, + sprite: "coredramon_blue", + id: "4-018", + url: "https://digimon.net/reference_en/detail.php?directory_name=coredramon_b", + }, + { + name_en: "Coredramon (Green)", + name_jp: "Coredramon (Green)", + next_evolutions: ["5-048", "5-142", "5-080", "5-117"], + stage: 4, + sprite: "coredramon_green", + id: "4-019", + url: "https://digimon.net/reference_en/detail.php?directory_name=coredramon_g", + }, + { + name_en: "Cyclonemon", + name_jp: "Cyclomon", + next_evolutions: ["5-028"], + stage: 4, + sprite: "cyclonemon", + id: "4-020", + url: "https://digimon.net/reference_en/detail.php?directory_name=cyclomon", + }, + { + name_en: "Damemon", + name_jp: "Damemon", + next_evolutions: ["5-019", "5-067", "5-125", "5-136", "5-021", "5-064", "5-003"], + stage: 4, + sprite: "damemon", + id: "4-021", + url: "https://digimon.net/reference_en/detail.php?directory_name=damemon", + }, + { + name_en: "Darcmon", + name_jp: "Darcmon", + next_evolutions: ["5-036", "5-115", "5-122", "6-097"], + stage: 4, + sprite: "darcmon", + id: "4-022", + url: "https://digimon.net/reference_en/detail.php?directory_name=darcmon", + }, + { + name_en: "DarkTyrannomon", + name_jp: "DarkTyranomon", + next_evolutions: ["5-093", "5-040", "5-072", "5-088", "5-126", "5-087", "5-080"], + stage: 4, + sprite: "darktyrannomon", + id: "4-023", + url: "https://digimon.net/reference_en/detail.php?directory_name=darktyranomon", + }, + { + name_en: "DarkTyrannomon X", + name_jp: "DarkTyranomon X", + next_evolutions: ["5-089", "5-074", "5-132", "5-072"], + stage: 4, + sprite: "darktyrannomon_x", + id: "4-024", + url: "https://digimon.net/reference_en/detail.php?directory_name=darktyranomon_x", + }, + { + name_en: "Deltamon", + name_jp: "Deltamon", + next_evolutions: ["5-028", "5-104", "5-095", "5-039"], + stage: 4, + sprite: "deltamon", + id: "4-025", + url: "https://digimon.net/reference_en/detail.php?directory_name=deltamon", + }, + { + name_en: "Deputymon", + name_jp: "Revolmon", + next_evolutions: ["5-003", "5-025", "5-058", "5-086", "5-013"], + stage: 4, + sprite: "deputymon", + id: "4-026", + url: "https://digimon.net/reference_en/detail.php?directory_name=revolmon", + }, + { + name_en: "Devidramon", + name_jp: "Devidramon", + next_evolutions: ["5-093", "5-080", "5-142", "5-048", "5-135"], + stage: 4, + sprite: "devidramon", + id: "4-027", + url: "https://digimon.net/reference_en/detail.php?directory_name=devidramon", + }, + { + name_en: "Devimon", + name_jp: "Devimon", + next_evolutions: [ + "5-088", + "5-086", + "5-098", + "5-059", + "5-127", + "5-100", + "5-057", + "5-007", + "5-110", + "5-011", + "5-107", + ], + stage: 4, + sprite: "devimon", + id: "4-028", + url: "https://digimon.net/reference_en/detail.php?directory_name=devimon", + }, + { + name_en: "Diatrymon", + name_jp: "Diatrymon", + next_evolutions: ["5-130", "5-050"], + stage: 4, + sprite: "diatrymon", + id: "4-029", + url: "https://digimon.net/reference_en/detail.php?directory_name=diatrymon", + }, + { + name_en: "Dobermon", + name_jp: "Dobermon", + next_evolutions: ["5-018", "5-040", "5-057", "5-056", "5-012", "5-124"], + stage: 4, + sprite: "dobermon", + id: "4-030", + url: "https://digimon.net/reference_en/detail.php?directory_name=dobermon", + }, + { + name_en: "Dokugumon", + name_jp: "Dokugumon", + next_evolutions: [ + "5-059", + "5-098", + "5-110", + "5-106", + "5-013", + "5-104", + "5-139", + "5-015", + "5-051", + "5-010", + "5-036", + ], + stage: 4, + sprite: "dokugumon", + id: "4-031", + url: "https://digimon.net/reference_en/detail.php?directory_name=dokugumon", + }, + { + name_en: "Dolphmon", + name_jp: "Rukamon", + next_evolutions: ["5-143", "5-141", "5-032"], + stage: 4, + sprite: "dolphmon", + id: "4-032", + url: "https://digimon.net/reference_en/detail.php?directory_name=rukamon", + }, + { + name_en: "Dorugamon", + name_jp: "DORUgamon", + next_evolutions: ["5-034", "5-017", "5-071", "5-047", "5-146"], + stage: 4, + sprite: "dorugamon", + id: "4-033", + url: "https://digimon.net/reference_en/detail.php?directory_name=dorugamon", + }, + { + name_en: "Drimogemon", + name_jp: "Drimogemon", + next_evolutions: ["5-045", "5-139", "5-018", "5-147", "4-151"], + stage: 4, + sprite: "drimogemon", + id: "4-034", + url: "https://digimon.net/reference_en/detail.php?directory_name=drimogemon", + }, + { + name_en: "Duskmon", + name_jp: "Duskmon", + next_evolutions: ["5-067", "5-134", "5-114", "5-053", "5-065"], + stage: 4, + sprite: "duskmon", + id: "4-035", + url: "https://digimon.net/reference_en/detail.php?directory_name=duskmon", + }, + { + name_en: "Ebidramon", + name_jp: "Ebidramon", + next_evolutions: ["5-032", "5-143", "5-118", "5-077", "5-082", "5-141", "5-035", "5-124", "5-012", "5-056"], + stage: 4, + sprite: "ebidramon", + id: "4-036", + url: "https://digimon.net/reference_en/detail.php?directory_name=ebidramon", + }, + { + name_en: "Eosmon", + name_jp: "Eosmon", + next_evolutions: ["5-038", "5-066", "5-113"], + stage: 4, + sprite: "eosmon_adult", + id: "4-037", + url: "https://digimon.net/reference_en/detail.php?directory_name=eosmon_lv4", + }, + { + name_en: "ExVeemon", + name_jp: "XV-mon", + next_evolutions: ["5-093", "5-105", "5-031", "5-066", "5-113", "5-001", "5-030", "5-069"], + stage: 4, + sprite: "exveemon", + id: "4-038", + url: "https://digimon.net/reference_en/detail.php?directory_name=xv-mon", + }, + { + name_en: "Filmon", + name_jp: "Filmon", + next_evolutions: ["5-089", "5-132", "5-128", "5-072", "5-053", "5-099", "5-083", "5-003"], + stage: 4, + sprite: "filmon", + id: "4-039", + url: "https://digimon.net/reference_en/detail.php?directory_name=filmon", + }, + { + name_en: "Firamon", + name_jp: "Firamon", + next_evolutions: ["5-041", "5-068"], + stage: 4, + sprite: "firamon", + id: "4-040", + url: "https://digimon.net/reference_en/detail.php?directory_name=firamon", + }, + { + name_en: "Flarerizamon", + name_jp: "FlareLizamon", + next_evolutions: ["5-007", "5-040", "5-057", "5-097"], + stage: 4, + sprite: "flarerizamon", + id: "4-041", + url: "https://digimon.net/reference_en/detail.php?directory_name=flarelizamon", + }, + { + name_en: "Flymon", + name_jp: "Flymon", + next_evolutions: ["5-093"], + stage: 4, + sprite: "flymon", + id: "4-042", + url: "https://digimon.net/reference_en/detail.php?directory_name=flymon", + }, + { + name_en: "Frigimon", + name_jp: "Yukidarumon", + next_evolutions: ["5-091", "5-076", "5-049", "5-124", "5-073", "5-022"], + stage: 4, + sprite: "frigimon", + id: "4-043", + url: "https://digimon.net/reference_en/detail.php?directory_name=yukidarumon", + }, + { + name_en: "Gaogamon", + name_jp: "Gaogamon", + next_evolutions: ["5-068", "5-046", "5-118", "5-104", "5-022", "5-148"], + stage: 4, + sprite: "gaogamon", + id: "4-044", + url: "https://digimon.net/reference_en/detail.php?directory_name=gaogamon", + }, + { + name_en: "Gargomon", + name_jp: "Galgomon", + next_evolutions: ["5-112", "5-006"], + stage: 4, + sprite: "gargomon", + id: "4-045", + url: "https://digimon.net/reference_en/detail.php?directory_name=galgomon", + }, + { + name_en: "Garurumon", + name_jp: "Garurumon", + next_evolutions: [ + "5-091", + "5-139", + "5-073", + "5-110", + "5-069", + "5-004", + "5-015", + "5-138", + "5-106", + "5-104", + "5-018", + "5-147", + "4-151", + ], + stage: 4, + sprite: "garurumon", + id: "4-046", + url: "https://digimon.net/reference_en/detail.php?directory_name=garurumon", + }, + { + name_en: "Gatomon", + name_jp: "Tailmon", + next_evolutions: ["5-004", "5-052", "5-109", "5-069", "5-139", "5-123", "5-055", "5-068", "5-097"], + stage: 4, + sprite: "gatomon", + id: "4-047", + url: "https://digimon.net/reference_en/detail.php?directory_name=tailmon", + }, + { + name_en: "Gatomon X", + name_jp: "Tailmon X", + next_evolutions: ["5-005", "5-047", "5-071", "5-096"], + stage: 4, + sprite: "gatomon_x", + id: "4-048", + url: "https://digimon.net/reference_en/detail.php?directory_name=tailmon_x", + }, + { + name_en: "Gekomon", + name_jp: "Gekomon", + next_evolutions: ["5-121", "5-131", "5-101", "5-109"], + stage: 4, + sprite: "gekomon", + id: "4-049", + url: "https://digimon.net/reference_en/detail.php?directory_name=gekomon", + }, + { + name_en: "GeoGreymon", + name_jp: "GeoGreymon", + next_evolutions: ["5-115", "5-036", "5-122", "5-142"], + stage: 4, + sprite: "geogreymon", + id: "4-050", + url: "https://digimon.net/reference_en/detail.php?directory_name=geogreymon", + }, + { + name_en: "Gesomon", + name_jp: "Gesomon", + next_evolutions: ["5-077", "5-118", "5-035", "5-032"], + stage: 4, + sprite: "gesomon", + id: "4-051", + url: "https://digimon.net/reference_en/detail.php?directory_name=gesomon", + }, + { + name_en: "Ginryumon", + name_jp: "Ginryumon", + next_evolutions: ["5-051", "5-047", "5-119", "5-071", "5-036", "5-010", "5-104"], + stage: 4, + sprite: "ginryumon", + id: "4-052", + url: "https://digimon.net/reference_en/detail.php?directory_name=ginryumon", + }, + { + name_en: "Golemon", + name_jp: "Golemon", + next_evolutions: ["5-046", "5-068", "5-104", "5-131", "5-052", "5-097", "5-118", "5-148"], + stage: 4, + sprite: "golemon", + id: "4-053", + url: "https://digimon.net/reference_en/detail.php?directory_name=golemon", + }, + { + name_en: "Greymon", + name_jp: "Greymon", + next_evolutions: [ + "5-088", + "5-086", + "5-087", + "5-025", + "5-013", + "5-010", + "5-091", + "5-118", + "5-093", + "5-003", + "5-100", + "5-126", + "5-040", + "5-072", + ], + stage: 4, + sprite: "greymon", + id: "4-054", + url: "https://digimon.net/reference_en/detail.php?directory_name=greymon", + }, + { + name_en: "Growlmon", + name_jp: "Growmon", + next_evolutions: ["5-135", "5-075", "5-122", "5-115", "5-012"], + stage: 4, + sprite: "growlmon", + id: "4-055", + url: "https://digimon.net/reference_en/detail.php?directory_name=growmon", + }, + { + name_en: "Growlmon X", + name_jp: "Growmon X", + next_evolutions: ["5-136", "5-021", "5-094", "5-023"], + stage: 4, + sprite: "growlmon_x", + id: "4-056", + url: "https://digimon.net/reference_en/detail.php?directory_name=growmon_x", + }, + { + name_en: "Guardromon", + name_jp: "Guardromon", + next_evolutions: ["5-080", "5-058", "5-137", "5-013"], + stage: 4, + sprite: "guardromon", + id: "4-057", + url: "https://digimon.net/reference_en/detail.php?directory_name=guardromon", + }, + { + name_en: "Hookmon", + name_jp: "Hookmon", + next_evolutions: ["5-124", "5-085", "5-108"], + stage: 4, + sprite: "hookmon", + id: "4-058", + url: "https://digimon.net/reference_en/detail.php?directory_name=hookmon", + }, + { + name_en: "Hudiemon", + name_jp: "Hudiemon", + next_evolutions: ["5-008", "5-055", "5-118", "5-104", "5-105", "5-031", "5-038", "5-017", "5-148"], + stage: 4, + sprite: "hudiemon", + id: "4-059", + url: "https://digimon.net/reference_en/detail.php?directory_name=hudiemon", + }, + { + name_en: "Ikkakumon", + name_jp: "Ikkakumon", + next_evolutions: ["5-143", "5-141", "5-118", "5-076", "5-119"], + stage: 4, + sprite: "ikkakumon", + id: "4-060", + url: "https://digimon.net/reference_en/detail.php?directory_name=ikkakumon", + }, + { + name_en: "Jazardmon", + name_jp: "Jazardmon", + next_evolutions: ["5-054", "5-110", "5-044", "5-017", "5-005", "5-119"], + stage: 4, + sprite: "jazardmon", + id: "4-061", + url: "https://digimon.net/reference_en/detail.php?directory_name=jazardmon", + }, + { + name_en: "Kabuterimon", + name_jp: "Kabuterimon", + next_evolutions: ["5-126", "5-081", "5-004", "5-109", "5-052", "5-062"], + stage: 4, + sprite: "kabuterimon", + id: "4-062", + url: "https://digimon.net/reference_en/detail.php?directory_name=kabuterimon", + }, + { + name_en: "Kiwimon", + name_jp: "Kiwimon", + next_evolutions: ["5-014", "5-043", "5-063", "5-042", "5-029"], + stage: 4, + sprite: "kiwimon", + id: "4-063", + url: "https://digimon.net/reference_en/detail.php?directory_name=kiwimon", + }, + { + name_en: "Kokatorimon", + name_jp: "Cockatrimon", + next_evolutions: ["5-109", "5-050", "5-106", "5-037"], + stage: 4, + sprite: "kokatorimon", + id: "4-064", + url: "https://digimon.net/reference_en/detail.php?directory_name=cockatrimon", + }, + { + name_en: "Komondomon", + name_jp: "Komondomon", + next_evolutions: ["5-066", "5-038", "5-113", "5-137"], + stage: 4, + sprite: "komondomon", + id: "4-065", + url: "https://digimon.net/reference_en/detail.php?directory_name=komondomon", + }, + { + name_en: "Kuwagamon", + name_jp: "Kuwagamon", + next_evolutions: ["5-109", "5-101", "5-121", "5-017", "5-129"], + stage: 4, + sprite: "kuwagamon", + id: "4-066", + url: "https://digimon.net/reference_en/detail.php?directory_name=kuwagamon", + }, + { + name_en: "Kuwagamon X", + name_jp: "Kuwagamon X", + next_evolutions: ["5-102", "5-072", "5-074"], + stage: 4, + sprite: "kuwagamon_x", + id: "4-067", + url: "https://digimon.net/reference_en/detail.php?directory_name=kuwagamon_x", + }, + { + name_en: "Lavorvomon", + name_jp: "Lavorvomon", + next_evolutions: ["5-061", "5-041", "5-127"], + stage: 4, + sprite: "lavorvomon", + id: "4-068", + url: "https://digimon.net/reference_en/detail.php?directory_name=lavorvomon", + }, + { + name_en: "Lekismon", + name_jp: "Lekismon", + next_evolutions: ["5-022", "5-068"], + stage: 4, + sprite: "lekismon", + id: "4-069", + url: "https://digimon.net/reference_en/detail.php?directory_name=lekismon", + }, + { + name_en: "Leomon", + name_jp: "Leomon", + next_evolutions: ["5-080", "5-010", "5-087", "5-091", "5-086", "5-009", "5-041"], + stage: 4, + sprite: "leomon", + id: "4-070", + url: "https://digimon.net/reference_en/detail.php?directory_name=leomon", + }, + { + name_en: "Leomon X", + name_jp: "Leomon X", + next_evolutions: ["5-019", "5-090", "5-094", "5-023"], + stage: 4, + sprite: "leomon_x", + id: "4-071", + url: "https://digimon.net/reference_en/detail.php?directory_name=leomon_x", + }, + { + name_en: "Lobomon", + name_jp: "Wolfmon", + next_evolutions: ["5-012", "5-056", "5-124"], + stage: 4, + sprite: "lobomon", + id: "4-072", + url: "https://digimon.net/reference_en/detail.php?directory_name=wolfmon", + }, + { + name_en: "Machmon", + name_jp: "Machmon", + next_evolutions: ["5-113", "5-025", "5-066", "5-065", "5-091"], + stage: 4, + sprite: "machmon", + id: "4-073", + url: "https://digimon.net/reference_en/detail.php?directory_name=machmon", + }, + { + name_en: "MadLeomon", + name_jp: "MadLeomon", + next_evolutions: ["5-011", "5-009", "5-067", "5-065", "5-114", "5-053", "5-134"], + stage: 4, + sprite: "madleomon", + id: "4-074", + url: "https://digimon.net/reference_en/detail.php?directory_name=madleomon", + }, + { + name_en: "Manbomon", + name_jp: "Manbomon", + next_evolutions: ["5-115", "5-032"], + stage: 4, + sprite: "manbomon", + id: "4-075", + url: "https://digimon.net/reference_en/detail.php?directory_name=manbomon", + }, + { + name_en: "Mantaraymon X", + name_jp: "Mantaraymon X", + next_evolutions: ["5-060", "5-072", "5-102"], + stage: 4, + sprite: "mantaraymon_x", + id: "4-076", + url: "https://digimon.net/reference_en/detail.php?directory_name=mantaraymon_x", + }, + { + name_en: "Meicoomon", + name_jp: "Meicoomon", + next_evolutions: ["5-078", "5-079"], + stage: 4, + sprite: "meicoomon", + id: "4-077", + url: "https://digimon.net/reference_en/detail.php?directory_name=meicoomon", + }, + { + name_en: "Mekanorimon", + name_jp: "Mechanorimon", + next_evolutions: ["5-137", "5-013", "5-080"], + stage: 4, + sprite: "mekanorimon", + id: "4-078", + url: "https://digimon.net/reference_en/detail.php?directory_name=mechanorimon", + }, + { + name_en: "Meramon", + name_jp: "Meramon", + next_evolutions: [ + "5-070", + "5-127", + "5-110", + "5-139", + "5-107", + "5-016", + "5-002", + "5-041", + "5-048", + "5-061", + "5-145", + "5-149", + ], + stage: 4, + sprite: "meramon", + id: "4-079", + url: "https://digimon.net/reference_en/detail.php?directory_name=meramon", + }, + { + name_en: "Meramon X", + name_jp: "Meramon X", + next_evolutions: ["5-026", "5-047", "5-103", "5-071", "5-044"], + stage: 4, + sprite: "meramon_x", + id: "4-080", + url: "https://digimon.net/reference_en/detail.php?directory_name=meramon_x", + }, + { + name_en: "Mimicmon", + name_jp: "Mimicmon", + next_evolutions: ["5-036", "5-075", "5-122"], + stage: 4, + sprite: "mimicmon", + id: "4-081", + url: "https://digimon.net/reference_en/detail.php?directory_name=mimicmon", + }, + { + name_en: "Minotarumon", + name_jp: "Minotaurmon", + next_evolutions: ["5-113", "5-066"], + stage: 4, + sprite: "minotarumon", + id: "4-082", + url: "https://digimon.net/reference_en/detail.php?directory_name=minotaurmon", + }, + { + name_en: "Mojyamon", + name_jp: "Mojyamon", + next_evolutions: ["5-109", "5-018", "5-040", "5-057", "5-028", "5-009"], + stage: 4, + sprite: "mojyamon", + id: "4-083", + url: "https://digimon.net/reference_en/detail.php?directory_name=mojyamon", + }, + { + name_en: "Monochromon", + name_jp: "Monochromon", + next_evolutions: [ + "5-080", + "5-131", + "5-052", + "5-109", + "5-121", + "5-004", + "5-040", + "5-072", + "5-088", + "5-126", + "5-087", + ], + stage: 4, + sprite: "monochromon", + id: "4-084", + url: "https://digimon.net/reference_en/detail.php?directory_name=monochromon", + }, + { + name_en: "Nanimon", + name_jp: "Nanimon", + next_evolutions: ["5-030"], + stage: 4, + sprite: "nanimon", + id: "4-085", + url: "https://digimon.net/reference_en/detail.php?directory_name=nanimon", + }, + { + name_en: "Nefertimon X", + name_jp: "Nefertimon X", + next_evolutions: ["5-084", "5-072", "5-083"], + stage: 4, + sprite: "nefertimon_x", + id: "4-086", + url: "https://digimon.net/reference_en/detail.php?directory_name=nefertimon_x", + }, + { + name_en: "Ninjamon", + name_jp: "Igamon", + next_evolutions: ["5-091", "5-087", "5-139", "5-004", "5-010"], + stage: 4, + sprite: "ninjamon", + id: "4-087", + url: "https://digimon.net/reference_en/detail.php?directory_name=igamon", + }, + { + name_en: "Numemon", + name_jp: "Numemon", + next_evolutions: ["5-095", "5-051", "5-039"], + stage: 4, + sprite: "numemon", + id: "4-088", + url: "https://digimon.net/reference_en/detail.php?directory_name=numemon", + }, + { + name_en: "Numemon X", + name_jp: "Numemon X", + next_evolutions: ["5-089", "5-102", "5-060", "5-132", "5-128", "5-053", "5-099", "5-083", "5-084", "5-092"], + stage: 4, + sprite: "numemon_x", + id: "4-089", + url: "https://digimon.net/reference_en/detail.php?directory_name=numemon_x", + }, + { + name_en: "Octomon", + name_jp: "Octmon", + next_evolutions: ["5-035", "5-032", "5-077", "5-118", "5-076", "5-082", "5-049", "5-085", "5-108"], + stage: 4, + sprite: "octomon", + id: "4-090", + url: "https://digimon.net/reference_en/detail.php?directory_name=octmon", + }, + { + name_en: "Ogremon", + name_jp: "Orgemon", + next_evolutions: ["5-003", "5-057", "5-070", "5-100", "5-087", "5-118"], + stage: 4, + sprite: "ogremon", + id: "4-091", + url: "https://digimon.net/reference_en/detail.php?directory_name=orgemon", + }, + { + name_en: "Ogremon X", + name_jp: "Orgemon X", + next_evolutions: ["5-099", "5-074", "5-092", "5-072"], + stage: 4, + sprite: "ogremon_x", + id: "4-092", + url: "https://digimon.net/reference_en/detail.php?directory_name=orgemon_x", + }, + { + name_en: "Omekamon", + name_jp: "Omekamon", + next_evolutions: [ + "5-024", + "5-054", + "5-110", + "5-071", + "5-103", + "5-026", + "5-034", + "5-096", + "5-116", + "5-051", + "5-047", + "5-146", + ], + stage: 4, + sprite: "omekamon", + id: "4-093", + url: "https://digimon.net/reference_en/detail.php?directory_name=omekamon", + }, + { + name_en: "Paledramon", + name_jp: "Paledramon", + next_evolutions: ["5-024", "5-110", "5-026", "5-034", "5-116", "5-051", "5-022", "5-073", "5-146"], + stage: 4, + sprite: "paledramon", + id: "4-094", + url: "https://digimon.net/reference_en/detail.php?directory_name=paledramon", + }, + { + name_en: "Parasaurmon", + name_jp: "Parasaurmon", + next_evolutions: ["5-130", "5-050", "5-037", "5-063", "5-014", "5-055"], + stage: 4, + sprite: "parasaurmon", + id: "4-095", + url: "https://digimon.net/reference_en/detail.php?directory_name=parasaurmon", + }, + { + name_en: "Peckmon", + name_jp: "Peckmon", + next_evolutions: ["5-106", "5-050", "5-054"], + stage: 4, + sprite: "peckmon", + id: "4-096", + url: "https://digimon.net/reference_en/detail.php?directory_name=peckmon", + }, + { + name_en: "Pegasusmon X", + name_jp: "Pegasmon X", + next_evolutions: ["5-096", "5-051", "5-005", "5-047"], + stage: 4, + sprite: "pegasusmon_x", + id: "4-097", + url: "https://digimon.net/reference_en/detail.php?directory_name=pegasmon_x", + }, + { + name_en: "Petermon", + name_jp: "Petermon", + next_evolutions: ["5-062", "5-050", "5-106", "5-037"], + stage: 4, + sprite: "petermon", + id: "4-098", + url: "https://digimon.net/reference_en/detail.php?directory_name=petermon", + }, + { + name_en: "Porcupamon", + name_jp: "Porcupamon", + next_evolutions: ["5-009", "5-011", "5-027", "5-125"], + stage: 4, + sprite: "porcupamon", + id: "4-099", + url: "https://digimon.net/reference_en/detail.php?directory_name=porcupamon", + }, + { + name_en: "Pteramon X", + name_jp: "Pteranomon X", + next_evolutions: ["5-044", "5-017", "5-071"], + stage: 4, + sprite: "pteramon_x", + id: "4-100", + url: "https://digimon.net/reference_en/detail.php?directory_name=pteranomon_x", + }, + { + name_en: "Raremon", + name_jp: "Raremon", + next_evolutions: ["5-040", "5-093", "5-113", "5-038", "5-065", "5-091", "5-066"], + stage: 4, + sprite: "raremon", + id: "4-101", + url: "https://digimon.net/reference_en/detail.php?directory_name=raremon", + }, + { + name_en: "RedVegiemon", + name_jp: "RedVegimon", + next_evolutions: ["5-042", "5-029", "5-020"], + stage: 4, + sprite: "redvegiemon", + id: "4-102", + url: "https://digimon.net/reference_en/detail.php?directory_name=redvegimon", + }, + { + name_en: "Reppamon", + name_jp: "Reppamon", + next_evolutions: ["5-012", "5-115", "5-111", "5-075", "5-109", "5-030", "5-045"], + stage: 4, + sprite: "reppamon", + id: "4-103", + url: "https://digimon.net/reference_en/detail.php?directory_name=reppamon", + }, + { + name_en: "Rhinomon X", + name_jp: "Rhinomon X", + next_evolutions: ["5-140", "5-136", "5-023"], + stage: 4, + sprite: "rhinomon_x", + id: "4-104", + url: "https://digimon.net/reference_en/detail.php?directory_name=rhinomon_x", + }, + { + name_en: "Roachmon", + name_jp: "Gokimon", + next_evolutions: ["5-008", "5-118", "5-104", "5-031", "5-055", "5-105", "5-148"], + stage: 4, + sprite: "roachmon", + id: "4-105", + url: "https://digimon.net/reference_en/detail.php?directory_name=gokimon", + }, + { + name_en: "Sangloupmon", + name_jp: "Sangloupmon", + next_evolutions: ["5-067", "5-019", "5-125"], + stage: 4, + sprite: "sangloupmon", + id: "4-106", + url: "https://digimon.net/reference_en/detail.php?directory_name=sangloupmon", + }, + { + name_en: "Seadramon", + name_jp: "Seadramon", + next_evolutions: ["5-070", "5-082", "5-141", "5-032", "5-035", "5-076", "5-108", "5-049", "5-085"], + stage: 4, + sprite: "seadramon", + id: "4-107", + url: "https://digimon.net/reference_en/detail.php?directory_name=seadramon", + }, + { + name_en: "Seadramon X", + name_jp: "Seadramon X", + next_evolutions: ["5-083", "5-072", "5-074"], + stage: 4, + sprite: "seadramon_x", + id: "4-108", + url: "https://digimon.net/reference_en/detail.php?directory_name=seadramon_x", + }, + { + name_en: "Seasarmon X", + name_jp: "Siesamon X", + next_evolutions: ["5-103", "5-034", "5-044", "5-047", "5-146"], + stage: 4, + sprite: "seasarmon_x", + id: "4-109", + url: "https://digimon.net/reference_en/detail.php?directory_name=siesamon_x", + }, + { + name_en: "Shadramon", + name_jp: "Shadramon", + next_evolutions: ["5-027", "5-009", "5-031", "5-055", "5-105"], + stage: 4, + sprite: "shadramon", + id: "4-110", + url: "https://digimon.net/reference_en/detail.php?directory_name=shadramon", + }, + { + name_en: "Shellmon", + name_jp: "Shellmon", + next_evolutions: ["5-003", "5-057", "5-138", "5-049", "5-085", "5-108", "5-035", "5-076"], + stage: 4, + sprite: "shellmon", + id: "4-111", + url: "https://digimon.net/reference_en/detail.php?directory_name=shellmon", + }, + { + name_en: "ShellNumemon", + name_jp: "KaratukiNumemon", + next_evolutions: ["5-130", "5-119", "5-124", "5-085", "5-108"], + stage: 4, + sprite: "shellnumemon", + id: "4-112", + url: "https://digimon.net/reference_en/detail.php?directory_name=karatukinumemon", + }, + { + name_en: "Shoutmon X3", + name_jp: "Shoutmon X3", + next_evolutions: ["5-122", "5-115", "5-135"], + stage: 4, + sprite: "shoutmon_x3", + id: "4-113", + url: "https://digimon.net/reference_en/detail.php?directory_name=shoutmonx3", + }, + { + name_en: "Sistermon Ciel", + name_jp: "Sistermon Ciel", + next_evolutions: ["5-021", "5-140", "5-064"], + stage: 4, + sprite: "sistermon_ciel", + id: "4-114", + url: "https://digimon.net/reference_en/detail.php?directory_name=sistermon_ciel", + }, + { + name_en: "Starmon", + name_jp: "Starmon", + next_evolutions: ["5-109", "5-004", "5-131", "5-121", "5-016", "5-002", "5-129", "5-145", "5-149"], + stage: 4, + sprite: "starmon", + id: "4-115", + url: "https://digimon.net/reference_en/detail.php?directory_name=starmon", + }, + { + name_en: "Stingmon", + name_jp: "Stingmon", + next_evolutions: ["5-100", "5-031", "5-105", "5-040", "5-057", "5-097", "5-055", "5-004"], + stage: 4, + sprite: "stingmon", + id: "4-116", + url: "https://digimon.net/reference_en/detail.php?directory_name=stingmon", + }, + { + name_en: "Strikedramon", + name_jp: "Strikedramon", + next_evolutions: ["5-025", "5-066"], + stage: 4, + sprite: "strikedramon", + id: "4-117", + url: "https://digimon.net/reference_en/detail.php?directory_name=strikedramon", + }, + { + name_en: "Submarimon", + name_jp: "Submarimon", + next_evolutions: ["5-138", "5-049", "5-085", "5-108", "5-105"], + stage: 4, + sprite: "submarimon", + id: "4-118", + url: "https://digimon.net/reference_en/detail.php?directory_name=sabmarimon", + }, + { + name_en: "Sukamon", + name_jp: "Scumon", + next_evolutions: ["5-039", "5-057"], + stage: 4, + sprite: "sukamon", + id: "4-119", + url: "https://digimon.net/reference_en/detail.php?directory_name=scumon", + }, + { + name_en: "Sunflowmon", + name_jp: "Sunflowmon", + next_evolutions: ["5-062", "5-055", "5-063", "5-130", "5-014", "5-038", "5-017"], + stage: 4, + sprite: "sunflowmon", + id: "4-120", + url: "https://digimon.net/reference_en/detail.php?directory_name=sunflowmon", + }, + { + name_en: "Tankmon", + name_jp: "Tankmon", + next_evolutions: ["5-087", "5-003", "5-013", "5-080", "5-058", "5-137"], + stage: 4, + sprite: "tankmon", + id: "4-121", + url: "https://digimon.net/reference_en/detail.php?directory_name=tankmon", + }, + { + name_en: "Targetmon", + name_jp: "Targetmon", + next_evolutions: ["5-039", "5-036", "5-117"], + stage: 4, + sprite: "targetmon", + id: "4-122", + url: "https://digimon.net/reference_en/detail.php?directory_name=targetmon", + }, + { + name_en: "Thundermon", + name_jp: "Thunderballmon", + next_evolutions: ["5-013", "5-025", "5-058", "5-137", "5-045", "5-144"], + stage: 4, + sprite: "thundermon", + id: "4-123", + url: "https://digimon.net/reference_en/detail.php?directory_name=thunderballmon", + }, + { + name_en: "TiaLudomon", + name_jp: "TiaLudomon", + next_evolutions: ["5-111", "5-075", "5-030", "5-109"], + stage: 4, + sprite: "tialudomon", + id: "4-124", + url: "https://digimon.net/reference_en/detail.php?directory_name=tialudomon", + }, + { + name_en: "Tobiumon", + name_jp: "Tobiumon", + next_evolutions: ["5-076", "5-049", "5-085", "5-108", "5-035", "5-082", "5-119", "5-138"], + stage: 4, + sprite: "tobiumon", + id: "4-125", + url: "https://digimon.net/reference_en/detail.php?directory_name=tobiumon", + }, + { + name_en: "TobuCatmon", + name_jp: "Tobucatmon", + next_evolutions: ["5-125", "5-090", "5-023", "5-021", "5-140"], + stage: 4, + sprite: "tobucatmon", + id: "4-126", + url: "https://digimon.net/reference_en/detail.php?directory_name=tobucatmon", + }, + { + name_en: "Togemon", + name_jp: "Togemon", + next_evolutions: [ + "5-063", + "5-001", + "5-014", + "5-020", + "5-029", + "5-043", + "5-042", + "5-052", + "5-131", + "5-046", + "5-097", + "5-118", + "5-148", + ], + stage: 4, + sprite: "togemon", + id: "4-127", + url: "https://digimon.net/reference_en/detail.php?directory_name=togemon", + }, + { + name_en: "Togemon X", + name_jp: "Togemon X", + next_evolutions: ["5-017", "5-034", "5-026", "5-071", "5-146"], + stage: 4, + sprite: "togemon_x", + id: "4-128", + url: "https://digimon.net/reference_en/detail.php?directory_name=togemon_x", + }, + { + name_en: "Tortomon", + name_jp: "Tortamon", + next_evolutions: ["5-081", "5-052", "5-109", "5-046", "5-118", "5-097", "5-131", "5-148"], + stage: 4, + sprite: "tortomon", + id: "4-129", + url: "https://digimon.net/reference_en/detail.php?directory_name=tortamon", + }, + { + name_en: "Troopmon", + name_jp: "Troopmon", + next_evolutions: ["5-027"], + stage: 4, + sprite: "troopmon", + id: "4-130", + url: "https://digimon.net/reference_en/detail.php?directory_name=troopmon", + }, + { + name_en: "Turuiemon", + name_jp: "Turuiemon", + next_evolutions: ["5-021", "5-006", "5-112"], + stage: 4, + sprite: "turuiemon", + id: "4-131", + url: "https://digimon.net/reference_en/detail.php?directory_name=turuiemon", + }, + { + name_en: "Tuskmon", + name_jp: "Tuskmon", + next_evolutions: ["5-028"], + stage: 4, + sprite: "tuskmon", + id: "4-132", + url: "https://digimon.net/reference_en/detail.php?directory_name=tuskmon", + }, + { + name_en: "Tylomon", + name_jp: "Tylomon", + next_evolutions: [], + stage: 4, + sprite: "tylomon", + id: "4-133", + url: "https://digimon.net/reference_en/detail.php?directory_name=tylomon", + }, + { + name_en: "Tylomon X", + name_jp: "Tylomon X", + next_evolutions: ["5-116", "5-071"], + stage: 4, + sprite: "tylomon_x", + id: "4-134", + url: "https://digimon.net/reference_en/detail.php?directory_name=tylomon_x", + }, + { + name_en: "Tyrannomon", + name_jp: "Tyranomon", + next_evolutions: ["5-070", "5-127", "5-048", "5-061"], + stage: 4, + sprite: "tyrannomon", + id: "4-135", + url: "https://digimon.net/reference_en/detail.php?directory_name=tyranomon", + }, + { + name_en: "Tyrannomon X", + name_jp: "Tyranomon X", + next_evolutions: ["5-090", "5-094", "5-023"], + stage: 4, + sprite: "tyrannomon_x", + id: "4-136", + url: "https://digimon.net/reference_en/detail.php?directory_name=tyranomon_x", + }, + { + name_en: "Unimon", + name_jp: "Unimon", + next_evolutions: ["5-003", "5-057", "5-068", "5-046", "5-008"], + stage: 4, + sprite: "unimon", + id: "4-137", + url: "https://digimon.net/reference_en/detail.php?directory_name=yunimon", + }, + { + name_en: "Veedramon", + name_jp: "V-dramon", + next_evolutions: ["5-001", "5-043", "5-029", "5-031", "5-030"], + stage: 4, + sprite: "veedramon", + id: "4-138", + url: "https://digimon.net/reference_en/detail.php?directory_name=v-dramon", + }, + { + name_en: "Vegiemon", + name_jp: "Vegimon", + next_evolutions: ["5-133", "5-130", "5-037", "5-062", "5-014", "5-063", "5-055"], + stage: 4, + sprite: "vegiemon", + id: "4-139", + url: "https://digimon.net/reference_en/detail.php?directory_name=vegimon", + }, + { + name_en: "Velgrmon", + name_jp: "Velgrmon", + next_evolutions: ["5-060", "5-102", "5-053", "5-072", "5-128", "5-084", "5-092"], + stage: 4, + sprite: "velgrmon", + id: "4-140", + url: "https://digimon.net/reference_en/detail.php?directory_name=velgrmon", + }, + { + name_en: "Whamon", + name_jp: "Whamon", + next_evolutions: ["5-091"], + stage: 4, + sprite: "whamon", + id: "4-141", + url: "https://digimon.net/reference_en/detail.php?directory_name=whamon", + }, + { + name_en: "Witchmon", + name_jp: "Witchmon", + next_evolutions: ["5-100", "5-040", "5-057", "5-097"], + stage: 4, + sprite: "witchmon", + id: "4-142", + url: "https://digimon.net/reference_en/detail.php?directory_name=witchmon", + }, + { + name_en: "Wizardmon", + name_jp: "Wizarmon", + next_evolutions: ["5-110", "5-127", "5-073", "5-107", "5-139", "5-011", "5-098"], + stage: 4, + sprite: "wizardmon", + id: "4-143", + url: "https://digimon.net/reference_en/detail.php?directory_name=wizarmon", + }, + { + name_en: "Wizardmon X", + name_jp: "Wizarmon X", + next_evolutions: ["5-116", "5-096", "5-119", "5-071"], + stage: 4, + sprite: "wizardmon_x", + id: "4-144", + url: "https://digimon.net/reference_en/detail.php?directory_name=wizarmon_x", + }, + { + name_en: "Woodmon", + name_jp: "Woodmon", + next_evolutions: ["5-020", "5-029", "5-042"], + stage: 4, + sprite: "woodmon", + id: "4-145", + url: "https://digimon.net/reference_en/detail.php?directory_name=woodmon", + }, + { + name_en: "ZubaEagermon", + name_jp: "Zubaeagermon", + next_evolutions: ["5-036", "5-039", "5-117", "5-010", "5-051"], + stage: 4, + sprite: "zubaeagermon", + id: "4-146", + url: "https://digimon.net/reference_en/detail.php?directory_name=zubaeagermon", + }, + { + name_en: "Bulkmon", + name_jp: "Bulkmon", + next_evolutions: ["5-144"], + stage: 4, + sprite: "bulkmon", + id: "4-147", + url: "https://digimon.net/reference_en/detail.php?directory_name=bulkmon", + }, + { + name_en: "Fugamon", + name_jp: "Fugamon", + next_evolutions: [], + stage: 4, + sprite: "fugamon", + id: "4-148", + url: "https://digimon.net/reference_en/detail.php?directory_name=fugamon", + }, + { + name_en: "Hyogamon", + name_jp: "Hyougamon", + next_evolutions: ["5-024", "5-073"], + stage: 4, + sprite: "hyogamon", + id: "4-149", + url: "https://digimon.net/reference_en/detail.php?directory_name=hyougamon", + }, + { + name_en: "Piddomon", + name_jp: "Pidmon", + next_evolutions: ["5-043"], + stage: 4, + sprite: "piddomon", + id: "4-150", + url: "https://digimon.net/reference_en/detail.php?directory_name=pidmon", + }, + { + name_en: "Rhinomon", + name_jp: "Rhinomon", + next_evolutions: [], + stage: 4, + sprite: "rhinomon", + id: "4-151", + url: "https://digimon.net/reference_en/detail.php?directory_name=rhinomon", + }, + { + name_en: "Saberdramon", + name_jp: "Saberdramon", + next_evolutions: ["5-025", "5-098", "5-107", "5-011", "5-110"], + stage: 4, + sprite: "saberdramon", + id: "4-152", + url: "https://digimon.net/reference_en/detail.php?directory_name=saberdramon", + }, + { + name_en: "AeroVeedramon", + name_jp: "AeroV-dramon", + next_evolutions: ["6-137", "6-105", "6-114", "6-084", "7-019"], + stage: 5, + sprite: "aeroveedramon", + id: "5-001", + url: "https://digimon.net/reference_en/detail.php?directory_name=earov-dramon", + }, + { + name_en: "Aldamon", + name_jp: "Aldamon", + next_evolutions: ["6-048", "6-005", "6-011"], + stage: 5, + sprite: "aldamon", + id: "5-002", + url: "https://digimon.net/reference_en/detail.php?directory_name=aldamon", + }, + { + name_en: "Andromon", + name_jp: "Andromon", + next_evolutions: ["6-068", "6-091", "6-080", "5-033", "6-143", "6-028", "6-125"], + stage: 5, + sprite: "andromon", + id: "5-003", + url: "https://digimon.net/reference_en/detail.php?directory_name=andromon", + }, + { + name_en: "Angewomon", + name_jp: "Angewomon", + next_evolutions: ["6-081", "6-066", "6-090", "7-029", "6-100", "6-020", "6-139", "7-020"], + stage: 5, + sprite: "angewomon", + id: "5-004", + url: "https://digimon.net/reference_en/detail.php?directory_name=angewomon", + }, + { + name_en: "Angewomon X", + name_jp: "Angewomon X", + next_evolutions: ["6-101", "6-043", "6-082", "6-046"], + stage: 5, + sprite: "angewomon_x", + id: "5-005", + url: "https://digimon.net/reference_en/detail.php?directory_name=angewomon_x", + }, + { + name_en: "Antylamon", + name_jp: "Andiramon", + next_evolutions: ["6-033", "6-087"], + stage: 5, + sprite: "antylamon_deva", + id: "5-006", + url: "https://digimon.net/reference_en/detail.php?directory_name=andiramon", + }, + { + name_en: "Argomon", + name_jp: "Algomon", + next_evolutions: ["6-016", "6-055", "5-033"], + stage: 5, + sprite: "argomon_perfect", + id: "5-007", + url: "https://digimon.net/reference_en/detail.php?directory_name=algomon-ultimate", + }, + { + name_en: "Arukenimon", + name_jp: "Archnemon", + next_evolutions: ["6-114", "6-085", "6-003", "6-020", "6-098"], + stage: 5, + sprite: "arukenimon", + id: "5-008", + url: "https://digimon.net/reference_en/detail.php?directory_name=archnemon", + }, + { + name_en: "Astamon", + name_jp: "Astamon", + next_evolutions: ["6-026", "6-045", "6-007", "6-065"], + stage: 5, + sprite: "astamon", + id: "5-009", + url: "https://digimon.net/reference_en/detail.php?directory_name=astamon", + }, + { + name_en: "Asuramon", + name_jp: "Asuramon", + next_evolutions: ["6-143", "6-091", "6-044", "6-104"], + stage: 5, + sprite: "asuramon", + id: "5-010", + url: "https://digimon.net/reference_en/detail.php?directory_name=asuramon", + }, + { + name_en: "Baalmon", + name_jp: "Baalmon", + next_evolutions: ["6-025", "7-005", "6-099", "6-107"], + stage: 5, + sprite: "baalmon", + id: "5-011", + url: "https://digimon.net/reference_en/detail.php?directory_name=baalmon", + }, + { + name_en: "Beowolfmon", + name_jp: "Beowolfmon", + next_evolutions: ["6-074", "6-083", "6-004", "6-008"], + stage: 5, + sprite: "beowolfmon", + id: "5-012", + url: "https://digimon.net/reference_en/detail.php?directory_name=beowolfmon", + }, + { + name_en: "BigMamemon", + name_jp: "BigMamemon", + next_evolutions: ["6-091", "6-068", "6-141", "6-098", "6-038"], + stage: 5, + sprite: "bigmamemon", + id: "5-013", + url: "https://digimon.net/reference_en/detail.php?directory_name=bigmamemon", + }, + { + name_en: "Blossomon", + name_jp: "Blossomon", + next_evolutions: ["6-114", "6-137", "6-063"], + stage: 5, + sprite: "blossomon", + id: "5-014", + url: "https://digimon.net/reference_en/detail.php?directory_name=blossomon", + }, + { + name_en: "Bulbmon", + name_jp: "Valvemon", + next_evolutions: ["6-091", "6-038", "6-098"], + stage: 5, + sprite: "bulbmon", + id: "5-015", + url: "https://digimon.net/reference_en/detail.php?directory_name=valvemon", + }, + { + name_en: "BurningGreymon", + name_jp: "Vritramon", + next_evolutions: ["6-048", "6-005", "6-011"], + stage: 5, + sprite: "burninggreymon", + id: "5-016", + url: "https://digimon.net/reference_en/detail.php?directory_name=vritramon", + }, + { + name_en: "CannonBeemon", + name_jp: "CannonBeemon", + next_evolutions: ["6-135", "6-043", "6-116", "6-082", "6-046", "6-066", "6-061"], + stage: 5, + sprite: "cannonbeemon", + id: "5-017", + url: "https://digimon.net/reference_en/detail.php?directory_name=cannonbeemon", + }, + { + name_en: "Cerberusmon", + name_jp: "Cerberumon", + next_evolutions: ["6-013", "6-055", "6-009", "6-060"], + stage: 5, + sprite: "cerberusmon", + id: "5-018", + url: "https://digimon.net/reference_en/detail.php?directory_name=cerberumon", + }, + { + name_en: "Cerberusmon X", + name_jp: "Cerberumon X", + next_evolutions: ["6-127", "7-022", "6-085", "7-021", "6-108"], + stage: 5, + sprite: "cerberusmon_x", + id: "5-019", + url: "https://digimon.net/reference_en/detail.php?directory_name=cerberumon_x", + }, + { + name_en: "Cherrymon", + name_jp: "Jyureimon", + next_evolutions: ["6-113", "6-123"], + stage: 5, + sprite: "cherrymon", + id: "5-020", + url: "https://digimon.net/reference_en/detail.php?directory_name=jyureimon", + }, + { + name_en: "Cho-Hakkaimon", + name_jp: "Cho-Hakkaimon", + next_evolutions: ["6-024", "7-009", "6-092", "6-085", "6-108"], + stage: 5, + sprite: "cho_hakkaimon", + id: "5-021", + url: "https://digimon.net/reference_en/detail.php?directory_name=chohakkaimon", + }, + { + name_en: "Crescemon", + name_jp: "Crescemon", + next_evolutions: ["6-041", "6-067", "6-007", "6-130", "6-026", "6-096"], + stage: 5, + sprite: "crescemon", + id: "5-022", + url: "https://digimon.net/reference_en/detail.php?directory_name=crescemon", + }, + { + name_en: "Crowmon", + name_jp: "Yatagaramon", + next_evolutions: ["6-127", "6-140", "6-085", "6-108", "6-024", "6-120", "6-006", "6-010", "6-093"], + stage: 5, + sprite: "crowmon", + id: "5-023", + url: "https://digimon.net/reference_en/detail.php?directory_name=yatagaramon", + }, + { + name_en: "CrysPaledramon", + name_jp: "CrysPaledramon", + next_evolutions: ["6-067", "6-082", "6-070", "6-002", "6-058", "6-104", "6-007", "6-130"], + stage: 5, + sprite: "cryspaledramon", + id: "5-024", + url: "https://digimon.net/reference_en/detail.php?directory_name=cryspaledramon", + }, + { + name_en: "Cyberdramon", + name_jp: "Cyberdramon", + next_evolutions: ["6-068", "6-141", "6-065", "6-049", "6-143", "6-071"], + stage: 5, + sprite: "cyberdramon", + id: "5-025", + url: "https://digimon.net/reference_en/detail.php?directory_name=cyberdramon", + }, + { + name_en: "Cyberdramon X", + name_jp: "Cyberdramon X", + next_evolutions: ["6-070", "6-106", "6-082", "6-135", "6-051", "6-046"], + stage: 5, + sprite: "cyberdramon_x", + id: "5-026", + url: "https://digimon.net/reference_en/detail.php?directory_name=cyberdramon_x", + }, + { + name_en: "DarkKnightmon", + name_jp: "DarkKnightmon", + next_evolutions: ["6-026", "6-025", "7-011"], + stage: 5, + sprite: "darkknightmon", + id: "5-027", + url: "https://digimon.net/reference_en/detail.php?directory_name=darkknightmon", + }, + { + name_en: "Datamon", + name_jp: "Nanomon", + next_evolutions: ["6-045"], + stage: 5, + sprite: "datamon", + id: "5-028", + url: "https://digimon.net/reference_en/detail.php?directory_name=nanomon", + }, + { + name_en: "Deramon", + name_jp: "Delumon", + next_evolutions: ["6-063", "6-105", "6-123", "6-113"], + stage: 5, + sprite: "deramon", + id: "5-029", + url: "https://digimon.net/reference_en/detail.php?directory_name=delumon", + }, + { + name_en: "Digitamamon", + name_jp: "Digitamamon", + next_evolutions: ["6-054", "6-136", "6-137", "6-084", "7-019", "6-031", "6-107"], + stage: 5, + sprite: "digitamamon", + id: "5-030", + url: "https://digimon.net/reference_en/detail.php?directory_name=digitamamon", + }, + { + name_en: "Dinobeemon", + name_jp: "Dinobeemon", + next_evolutions: [ + "6-061", + "6-013", + "6-055", + "6-088", + "6-062", + "6-065", + "6-064", + "7-020", + "7-019", + "6-137", + "6-084", + "6-081", + ], + stage: 5, + sprite: "dinobeemon", + id: "5-031", + url: "https://digimon.net/reference_en/detail.php?directory_name=dinobeemon", + }, + { + name_en: "Divermon", + name_jp: "Hangyomon", + next_evolutions: ["6-109", "6-086", "6-008", "6-112"], + stage: 5, + sprite: "divermon", + id: "5-032", + url: "https://digimon.net/reference_en/detail.php?directory_name=hangyomon", + }, + { + name_en: "DoneDevimon", + name_jp: "NeoDevimon", + next_evolutions: ["6-055", "6-088", "6-028", "6-143"], + stage: 5, + sprite: "donedevimon", + id: "5-033", + url: "https://digimon.net/reference_en/detail.php?directory_name=neodevimon", + }, + { + name_en: "DoruGreymon", + name_jp: "DORUguremon", + next_evolutions: ["6-002", "6-051", "6-082", "6-043", "6-150"], + stage: 5, + sprite: "dorugreymon", + id: "5-034", + url: "https://digimon.net/reference_en/detail.php?directory_name=doruguremon", + }, + { + name_en: "Dragomon", + name_jp: "Dagomon", + next_evolutions: ["6-112", "6-109", "6-095", "6-121"], + stage: 5, + sprite: "dragomon", + id: "5-035", + url: "https://digimon.net/reference_en/detail.php?directory_name=dagomon", + }, + { + name_en: "Duramon", + name_jp: "Duramon", + next_evolutions: ["6-044", "6-129", "6-057", "6-004", "6-104"], + stage: 5, + sprite: "duramon", + id: "5-036", + url: "https://digimon.net/reference_en/detail.php?directory_name=duramon", + }, + { + name_en: "Entmon", + name_jp: "Entmon", + next_evolutions: ["6-047", "6-103", "6-010"], + stage: 5, + sprite: "entmon", + id: "5-037", + url: "https://digimon.net/reference_en/detail.php?directory_name=entmon", + }, + { + name_en: "Eosmon", + name_jp: "Eosmon", + next_evolutions: ["6-049", "6-062", "6-012", "6-135", "6-149"], + stage: 5, + sprite: "eosmon_perfect", + id: "5-038", + url: "https://digimon.net/reference_en/detail.php?directory_name=eosmon_lv5", + }, + { + name_en: "Etemon", + name_jp: "Etemon", + next_evolutions: ["6-021", "6-073", "6-090"], + stage: 5, + sprite: "etemon", + id: "5-039", + url: "https://digimon.net/reference_en/detail.php?directory_name=etemon", + }, + { + name_en: "ExTyrannomon", + name_jp: "Ex-Tyranomon", + next_evolutions: ["6-051", "6-113", "6-013", "6-055", "6-009"], + stage: 5, + sprite: "extyrannomon", + id: "5-040", + url: "https://digimon.net/reference_en/detail.php?directory_name=ex-tyranomon", + }, + { + name_en: "Flaremon", + name_jp: "Flaremon", + next_evolutions: ["6-015", "6-011", "6-142", "6-096", "6-065"], + stage: 5, + sprite: "flaremon", + id: "5-041", + url: "https://digimon.net/reference_en/detail.php?directory_name=flaremon", + }, + { + name_en: "Garbagemon", + name_jp: "Gerbemon", + next_evolutions: ["6-114", "6-113"], + stage: 5, + sprite: "garbagemon", + id: "5-042", + url: "https://digimon.net/reference_en/detail.php?directory_name=gerbemon", + }, + { + name_en: "Garudamon", + name_jp: "Garudamon", + next_evolutions: ["6-105", "6-137", "6-063"], + stage: 5, + sprite: "garudamon", + id: "5-043", + url: "https://digimon.net/reference_en/detail.php?directory_name=garudamon", + }, + { + name_en: "Garudamon X", + name_jp: "Garudamon X", + next_evolutions: ["6-082", "6-106", "6-135", "6-051", "6-046"], + stage: 5, + sprite: "garudamon_x", + id: "5-044", + url: "https://digimon.net/reference_en/detail.php?directory_name=garudamon_x", + }, + { + name_en: "Giromon", + name_jp: "Giromon", + next_evolutions: [], + stage: 5, + sprite: "giromon", + id: "5-045", + url: "https://digimon.net/reference_en/detail.php?directory_name=giromon", + }, + { + name_en: "Gogmamon", + name_jp: "Gogmamon", + next_evolutions: ["6-011", "6-081", "6-096", "6-042", "6-009"], + stage: 5, + sprite: "gogmamon", + id: "5-046", + url: "https://digimon.net/reference_en/detail.php?directory_name=gogmamon", + }, + { + name_en: "Grademon", + name_jp: "Grademon", + next_evolutions: ["6-051", "6-099", "6-046", "6-002", "6-070", "6-106", "6-058", "6-104", "6-150"], + stage: 5, + sprite: "grademon", + id: "5-047", + url: "https://digimon.net/reference_en/detail.php?directory_name=grademon", + }, + { + name_en: "Groundramon", + name_jp: "Groundramon", + next_evolutions: ["6-030", "6-011", "6-142", "6-069"], + stage: 5, + sprite: "groundramon", + id: "5-048", + url: "https://digimon.net/reference_en/detail.php?directory_name=groundramon", + }, + { + name_en: "Gusokumon", + name_jp: "Gusokumon", + next_evolutions: ["6-121", "6-001", "6-008", "6-095", "6-109"], + stage: 5, + sprite: "gusokumon", + id: "5-049", + url: "https://digimon.net/reference_en/detail.php?directory_name=gusokumon", + }, + { + name_en: "HippoGryphonmon", + name_jp: "Hippogriffomon", + next_evolutions: ["6-103", "6-010", "6-047", "6-145", "6-107"], + stage: 5, + sprite: "hippogryphonmon", + id: "5-050", + url: "https://digimon.net/reference_en/detail.php?directory_name=hippogriffomon", + }, + { + name_en: "Hisyaryumon", + name_jp: "Hisyaryumon", + next_evolutions: ["6-104", "6-051", "6-110", "6-082", "6-044", "6-098"], + stage: 5, + sprite: "hisyaryumon", + id: "5-051", + url: "https://digimon.net/reference_en/detail.php?directory_name=hisyaryumon", + }, + { + name_en: "Jagamon", + name_jp: "Jyagamon", + next_evolutions: ["6-066", "6-126", "6-081", "6-009", "6-042"], + stage: 5, + sprite: "jagamon", + id: "5-052", + url: "https://digimon.net/reference_en/detail.php?directory_name=jyagamon", + }, + { + name_en: "JagerLoweemon", + name_jp: "KaiserLeomon", + next_evolutions: ["6-102", "6-138", "6-122", "6-019", "6-024", "6-035", "6-042", "6-009", "6-055", "6-043"], + stage: 5, + sprite: "jagerloweemon", + id: "5-053", + url: "https://digimon.net/reference_en/detail.php?directory_name=kaiserleomon", + }, + { + name_en: "Jazarichmon", + name_jp: "Jazarichmon", + next_evolutions: ["6-093", "6-046", "6-116", "6-135", "6-106", "6-101", "6-110", "6-034", "6-105"], + stage: 5, + sprite: "jazarichmon", + id: "5-054", + url: "https://digimon.net/reference_en/detail.php?directory_name=jazarichmon", + }, + { + name_en: "JewelBeemon", + name_jp: "Jewelbeemon", + next_evolutions: ["6-003", "6-081", "6-020", "6-114", "6-061", "7-020"], + stage: 5, + sprite: "jewelbeemon", + id: "5-055", + url: "https://digimon.net/reference_en/detail.php?directory_name=jewelbeemon", + }, + { + name_en: "KendoGarurumon", + name_jp: "Garummon", + next_evolutions: ["6-083", "6-004", "6-008"], + stage: 5, + sprite: "kendogarurumon", + id: "5-056", + url: "https://digimon.net/reference_en/detail.php?directory_name=garummon", + }, + { + name_en: "Kimeramon", + name_jp: "Chimairamon", + next_evolutions: ["6-021", "6-088", "6-013", "6-055", "5-033", "6-138", "6-017", "6-139", "7-019", "7-045"], + stage: 5, + sprite: "kimeramon", + id: "5-057", + url: "https://digimon.net/reference_en/detail.php?directory_name=chimairamon", + }, + { + name_en: "Knightmon", + name_jp: "Knightmon", + next_evolutions: ["6-143", "6-141", "6-091", "6-036", "6-072", "6-077"], + stage: 5, + sprite: "knightmon", + id: "5-058", + url: "https://digimon.net/reference_en/detail.php?directory_name=knightmon", + }, + { + name_en: "LadyDevimon", + name_jp: "LadyDevimon", + next_evolutions: ["6-107", "6-037", "6-099", "7-029", "6-076"], + stage: 5, + sprite: "ladydevimon", + id: "5-059", + url: "https://digimon.net/reference_en/detail.php?directory_name=ladydevimon", + }, + { + name_en: "LadyDevimon X", + name_jp: "LadyDevimon X", + next_evolutions: ["6-102", "6-059", "6-124", "6-024"], + stage: 5, + sprite: "ladydevimon_x", + id: "5-060", + url: "https://digimon.net/reference_en/detail.php?directory_name=ladydevimon_x", + }, + { + name_en: "Lavogaritamon", + name_jp: "Lavogaritamon", + next_evolutions: ["6-142", "6-011"], + stage: 5, + sprite: "lavogaritamon", + id: "5-061", + url: "https://digimon.net/reference_en/detail.php?directory_name=lavogaritamon", + }, + { + name_en: "Lilamon", + name_jp: "Lilamon", + next_evolutions: ["6-010", "6-006", "6-120", "6-103", "6-078", "6-123"], + stage: 5, + sprite: "lilamon", + id: "5-062", + url: "https://digimon.net/reference_en/detail.php?directory_name=lilamon", + }, + { + name_en: "Lillymon", + name_jp: "Lilimon", + next_evolutions: ["6-123", "6-105", "6-114", "6-149"], + stage: 5, + sprite: "lillymon", + id: "5-063", + url: "https://digimon.net/reference_en/detail.php?directory_name=lilimon", + }, + { + name_en: "Lillymon X", + name_jp: "Lilimon X", + next_evolutions: ["6-114", "6-024", "6-140", "6-108"], + stage: 5, + sprite: "lillymon_x", + id: "5-064", + url: "https://digimon.net/reference_en/detail.php?directory_name=lilimon_x", + }, + { + name_en: "LoaderLeomon", + name_jp: "LoaderLeomon", + next_evolutions: ["6-009", "6-043", "6-055", "6-062", "6-065", "6-080"], + stage: 5, + sprite: "loaderleomon", + id: "5-065", + url: "https://digimon.net/reference_en/detail.php?directory_name=loaderleomon", + }, + { + name_en: "Locomon", + name_jp: "Locomon", + next_evolutions: ["6-062", "6-049", "6-065", "6-012", "6-080"], + stage: 5, + sprite: "locomon", + id: "5-066", + url: "https://digimon.net/reference_en/detail.php?directory_name=locomon", + }, + { + name_en: "Lucemon: Chaos Mode", + name_jp: "Lucemon: Falldown Mode", + next_evolutions: ["7-004", "6-144", "6-085", "6-114", "6-108", "6-023", "6-079"], + stage: 5, + sprite: "lucemon_chaos_mode", + id: "5-067", + url: "https://digimon.net/reference_en/detail.php?directory_name=rucemonfalldownmode", + }, + { + name_en: "MachGaogamon", + name_jp: "MachGaogamon", + next_evolutions: ["6-096", "6-081", "6-020", "6-011", "6-041"], + stage: 5, + sprite: "machgaogamon", + id: "5-068", + url: "https://digimon.net/reference_en/detail.php?directory_name=machgaogamon", + }, + { + name_en: "MagnaAngemon", + name_jp: "HolyAngemon", + next_evolutions: ["6-143", "6-091", "6-128", "6-057", "6-018", "6-084", "6-146"], + stage: 5, + sprite: "magnaangemon", + id: "5-069", + url: "https://digimon.net/reference_en/detail.php?directory_name=holyangemon", + }, + { + name_en: "Mamemon", + name_jp: "Mamemon", + next_evolutions: ["6-022", "5-033", "6-028", "6-143"], + stage: 5, + sprite: "mamemon", + id: "5-070", + url: "https://digimon.net/reference_en/detail.php?directory_name=mamemon", + }, + { + name_en: "Mamemon X", + name_jp: "Mamemon X", + next_evolutions: ["6-082", "6-043", "6-046", "6-070", "6-067", "6-093", "6-058", "6-034"], + stage: 5, + sprite: "mamemon_x", + id: "5-071", + url: "https://digimon.net/reference_en/detail.php?directory_name=mamemon_x", + }, + { + name_en: "Mametyramon", + name_jp: "Mametyramon", + next_evolutions: ["6-111", "6-027", "6-019", "6-122", "6-032", "6-094", "6-118", "6-124", "6-040", "6-051"], + stage: 5, + sprite: "mametyramon", + id: "5-072", + url: "https://digimon.net/reference_en/detail.php?directory_name=mametyramon", + }, + { + name_en: "Mammothmon", + name_jp: "Mammon", + next_evolutions: ["6-130", "6-013", "6-029", "6-007", "6-067"], + stage: 5, + sprite: "mammothmon", + id: "5-073", + url: "https://digimon.net/reference_en/detail.php?directory_name=mammon", + }, + { + name_en: "Mammothmon X", + name_jp: "Mammon X", + next_evolutions: ["6-059", "6-102", "6-056", "6-035", "6-131", "6-024", "6-124"], + stage: 5, + sprite: "mammothmon_x", + id: "5-074", + url: "https://digimon.net/reference_en/detail.php?directory_name=mammon_x", + }, + { + name_en: "Manticoremon", + name_jp: "Manticoremon", + next_evolutions: ["6-005", "6-052", "6-018", "6-031"], + stage: 5, + sprite: "manticoremon", + id: "5-075", + url: "https://digimon.net/reference_en/detail.php?directory_name=manticoremon", + }, + { + name_en: "MarineChimairamon", + name_jp: "MarinChimairamon", + next_evolutions: ["6-121", "6-086", "6-007", "6-109", "6-095", "6-056", "6-108", "6-146"], + stage: 5, + sprite: "marinechimairamon", + id: "5-076", + url: "https://digimon.net/reference_en/detail.php?directory_name=marinchimairamon", + }, + { + name_en: "MarineDevimon", + name_jp: "MarinDevimon", + next_evolutions: ["6-095", "6-112", "6-086", "6-008"], + stage: 5, + sprite: "marinedevimon", + id: "5-077", + url: "https://digimon.net/reference_en/detail.php?directory_name=marindevimon", + }, + { + name_en: "Maycrackmon", + name_jp: "Meicrackmon", + next_evolutions: ["6-119"], + stage: 5, + sprite: "maycrackmon", + id: "5-078", + url: "https://digimon.net/reference_en/detail.php?directory_name=meicrackmon", + }, + { + name_en: "Maycrackmon: Vicious Mode", + name_jp: "Meicrackmon: Vicious Mode", + next_evolutions: ["6-115"], + stage: 5, + sprite: "maycrackmon_vicious_mode", + id: "5-079", + url: "https://digimon.net/reference_en/detail.php?directory_name=meicrackmon_v", + }, + { + name_en: "Megadramon", + name_jp: "Megadramon", + next_evolutions: ["6-039", "6-001", "6-080", "6-068", "6-095"], + stage: 5, + sprite: "megadramon", + id: "5-080", + url: "https://digimon.net/reference_en/detail.php?directory_name=megadramon", + }, + { + name_en: "MegaKabuterimon (Red)", + name_jp: "AtlurKabuterimon", + next_evolutions: ["6-066", "6-123"], + stage: 5, + sprite: "megakabuterimon_red", + id: "5-081", + url: "https://digimon.net/reference_en/detail.php?directory_name=atlurkabuterimon", + }, + { + name_en: "MegaSeadramon", + name_jp: "MegaSeadramon", + next_evolutions: ["6-095", "6-086", "6-112", "6-109", "6-121"], + stage: 5, + sprite: "megaseadramon", + id: "5-082", + url: "https://digimon.net/reference_en/detail.php?directory_name=megaseadramon", + }, + { + name_en: "MegaSeadramon X", + name_jp: "MegaSeadramon X", + next_evolutions: ["6-056", "6-032", "6-131"], + stage: 5, + sprite: "megaseadramon_x", + id: "5-083", + url: "https://digimon.net/reference_en/detail.php?directory_name=megaseadramon_x", + }, + { + name_en: "Mephistomon X", + name_jp: "Mephismon X", + next_evolutions: ["6-035", "6-042", "6-124", "6-024"], + stage: 5, + sprite: "mephistomon_x", + id: "5-084", + url: "https://digimon.net/reference_en/detail.php?directory_name=mephismon_x", + }, + { + name_en: "Mermaimon", + name_jp: "Mermaimon", + next_evolutions: ["6-008", "6-001", "6-007", "6-075", "6-095", "6-109", "6-121"], + stage: 5, + sprite: "mermaimon", + id: "5-085", + url: "https://digimon.net/reference_en/detail.php?directory_name=mermaimon", + }, + { + name_en: "MetalGreymon", + name_jp: "MetalGreymon", + next_evolutions: ["6-143", "6-028", "6-080", "6-062", "6-065"], + stage: 5, + sprite: "metalgreymon_vaccine", + id: "5-086", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalgreymon", + }, + { + name_en: "MetalGreymon (Vaccine)", + name_jp: "MetalGreymon (Vaccine)", + next_evolutions: ["6-143", "6-080", "6-028", "5-033"], + stage: 5, + sprite: "metalgreymon_vaccine", + id: "5-087", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalgreymon-v", + }, + { + name_en: "MetalGreymon (Virus)", + name_jp: "MetalGreymon (Virus)", + next_evolutions: ["6-028", "6-051", "6-143"], + stage: 5, + sprite: "metalgreymon_virus", + id: "5-088", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalgreymon-web", + }, + { + name_en: "MetalGreymon (Virus) X", + name_jp: "MetalGreymon (Virus) X", + next_evolutions: ["6-027", "6-138", "6-131", "6-111", "6-094", "6-032"], + stage: 5, + sprite: "metalgreymon_virus_x", + id: "5-089", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalgreymon_vi_x", + }, + { + name_en: "MetalGreymon X", + name_jp: "MetalGreymon X", + next_evolutions: ["6-144", "7-021", "6-140", "6-108"], + stage: 5, + sprite: "metalgreymon_vaccine_x", + id: "5-090", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalgreymon_va_x", + }, + { + name_en: "MetalMamemon", + name_jp: "MetalMamemon", + next_evolutions: ["6-038", "6-143", "6-091", "6-080", "6-065", "6-062"], + stage: 5, + sprite: "metalmamemon", + id: "5-091", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalmamemon", + }, + { + name_en: "MetalPhantomon", + name_jp: "MetalFantomon", + next_evolutions: ["6-042", "6-032", "6-131", "6-094", "6-040"], + stage: 5, + sprite: "metalphantomon", + id: "5-092", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalfantomon", + }, + { + name_en: "MetalTyrannomon", + name_jp: "MetalTyranomon", + next_evolutions: ["6-080", "6-064", "6-012", "6-062", "6-143", "6-028", "5-033", "7-045"], + stage: 5, + sprite: "metaltyrannomon", + id: "5-093", + url: "https://digimon.net/reference_en/detail.php?directory_name=metaltyranomon", + }, + { + name_en: "MetalTyrannomon X", + name_jp: "MetalTyranomon X", + next_evolutions: ["7-004", "6-144", "7-022", "6-085", "6-108", "6-089", "6-092", "7-009"], + stage: 5, + sprite: "metaltyrannomon_x", + id: "5-094", + url: "https://digimon.net/reference_en/detail.php?directory_name=metaltyranomon_x", + }, + { + name_en: "Monzaemon", + name_jp: "Monzaemon", + next_evolutions: ["6-073", "6-147"], + stage: 5, + sprite: "monzaemon", + id: "5-095", + url: "https://digimon.net/reference_en/detail.php?directory_name=monzaemon", + }, + { + name_en: "Monzaemon X", + name_jp: "Monzaemon X", + next_evolutions: ["6-034", "6-101", "6-082", "6-043", "6-110", "6-046"], + stage: 5, + sprite: "monzaemon_x", + id: "5-096", + url: "https://digimon.net/reference_en/detail.php?directory_name=monzaemon_x", + }, + { + name_en: "Mummymon", + name_jp: "Mummymon", + next_evolutions: ["5-033", "6-055", "6-016", "6-009", "6-042", "6-017", "7-020", "7-019"], + stage: 5, + sprite: "mummymon", + id: "5-097", + url: "https://digimon.net/reference_en/detail.php?directory_name=mummymon", + }, + { + name_en: "Myotismon", + name_jp: "Vamdemon", + next_evolutions: ["6-107", "6-029", "7-007", "6-099"], + stage: 5, + sprite: "myotismon", + id: "5-098", + url: "https://digimon.net/reference_en/detail.php?directory_name=vamdemon", + }, + { + name_en: "Myotismon X", + name_jp: "Vamdemon X", + next_evolutions: ["6-040", "6-035", "6-094", "6-111", "6-032"], + stage: 5, + sprite: "myotismon_x", + id: "5-099", + url: "https://digimon.net/reference_en/detail.php?directory_name=vamdemon_x", + }, + { + name_en: "NeoDevimon", + name_jp: "NeoDevimon", + next_evolutions: ["5-033", "6-055", "6-088", "6-028", "6-143"], + stage: 5, + sprite: "neodevimon", + id: "5-100", + url: "https://digimon.net/reference_en/detail.php?directory_name=neodevimon", + }, + { + name_en: "Okuwamon", + name_jp: "Okuwamon", + next_evolutions: ["6-061", "6-126", "6-090", "6-066", "6-135"], + stage: 5, + sprite: "okuwamon", + id: "5-101", + url: "https://digimon.net/reference_en/detail.php?directory_name=okuwamon", + }, + { + name_en: "Okuwamon X", + name_jp: "Okuwamon X", + next_evolutions: ["6-059", "6-124", "6-024", "6-131"], + stage: 5, + sprite: "okuwamon_x", + id: "5-102", + url: "https://digimon.net/reference_en/detail.php?directory_name=okuwamon_x", + }, + { + name_en: "OmniShoutmon X", + name_jp: "OmegaShoutmon X", + next_evolutions: ["6-116", "6-002", "6-043", "6-135", "6-046"], + stage: 5, + sprite: "omnishoutmon_x", + id: "5-103", + url: "https://digimon.net/reference_en/detail.php?directory_name=omegashoutmon_x", + }, + { + name_en: "Orochimon", + name_jp: "Orochimon", + next_evolutions: ["6-098", "6-020", "6-011", "6-038", "6-091", "6-090", "6-147"], + stage: 5, + sprite: "orochimon", + id: "5-104", + url: "https://digimon.net/reference_en/detail.php?directory_name=orochimon", + }, + { + name_en: "Paildramon", + name_jp: "Paildramon", + next_evolutions: [ + "7-019", + "6-013", + "6-055", + "6-009", + "6-062", + "6-065", + "6-064", + "7-020", + "6-061", + "6-137", + "6-084", + "6-128", + ], + stage: 5, + sprite: "paildramon", + id: "5-105", + url: "https://digimon.net/reference_en/detail.php?directory_name=paildramon", + }, + { + name_en: "Parrotmon", + name_jp: "Parrotmon", + next_evolutions: ["6-120", "6-006", "6-010", "6-098", "6-091", "6-038"], + stage: 5, + sprite: "parrotmon", + id: "5-106", + url: "https://digimon.net/reference_en/detail.php?directory_name=parrotmon", + }, + { + name_en: "Phantomon", + name_jp: "Fantomon", + next_evolutions: ["6-037", "6-099", "6-107"], + stage: 5, + sprite: "phantomon", + id: "5-107", + url: "https://digimon.net/reference_en/detail.php?directory_name=fantomon", + }, + { + name_en: "Piranimon", + name_jp: "Piranimon", + next_evolutions: ["6-075", "6-008", "6-121", "6-095", "6-109"], + stage: 5, + sprite: "piranimon", + id: "5-108", + url: "https://digimon.net/reference_en/detail.php?directory_name=piranimon", + }, + { + name_en: "Piximon", + name_jp: "Piccolomon", + next_evolutions: ["6-081", "6-126", "6-061", "6-031"], + stage: 5, + sprite: "piximon", + id: "5-109", + url: "https://digimon.net/reference_en/detail.php?directory_name=picklemon", + }, + { + name_en: "Pumpkinmon", + name_jp: "Pumpmon", + next_evolutions: ["6-099", "6-043", "6-116", "6-034", "6-029", "6-013", "6-107"], + stage: 5, + sprite: "pumpkinmon", + id: "5-110", + url: "https://digimon.net/reference_en/detail.php?directory_name=pumpmon", + }, + { + name_en: "RaijiLudomon", + name_jp: "RaijiLudomon", + next_evolutions: ["6-018", "6-004", "6-057", "6-052", "6-031"], + stage: 5, + sprite: "raijiludomon", + id: "5-111", + url: "https://digimon.net/reference_en/detail.php?directory_name=raijiludomon", + }, + { + name_en: "Rapidmon", + name_jp: "Rapidmon", + next_evolutions: ["6-087", "6-033"], + stage: 5, + sprite: "rapidmon", + id: "5-112", + url: "https://digimon.net/reference_en/detail.php?directory_name=rapidmon", + }, + { + name_en: "Rebellimon", + name_jp: "Rebellimon", + next_evolutions: ["6-064", "6-012", "6-062", "6-065", "6-080"], + stage: 5, + sprite: "rebellimon", + id: "5-113", + url: "https://digimon.net/reference_en/detail.php?directory_name=rebellimon", + }, + { + name_en: "Rhihimon", + name_jp: "Raihimon", + next_evolutions: ["6-009", "6-043", "6-055"], + stage: 5, + sprite: "rhihimon", + id: "5-114", + url: "https://digimon.net/reference_en/detail.php?directory_name=raihimon", + }, + { + name_en: "RizeGreymon", + name_jp: "RizeGreymon", + next_evolutions: ["6-129", "6-005", "6-018", "6-052", "6-074", "6-133"], + stage: 5, + sprite: "rizegreymon", + id: "5-115", + url: "https://digimon.net/reference_en/detail.php?directory_name=rizegreymon", + }, + { + name_en: "RizeGreymon X", + name_jp: "RizeGreymon X", + next_evolutions: ["6-058", "6-104", "6-082", "6-110", "6-051", "6-046"], + stage: 5, + sprite: "rizegreymon_x", + id: "5-116", + url: "https://digimon.net/reference_en/detail.php?directory_name=rizegreymon_x", + }, + { + name_en: "SaviorHuckmon", + name_jp: "SaviorHackmon", + next_evolutions: ["6-069", "6-030"], + stage: 5, + sprite: "saviorhuckmon", + id: "5-117", + url: "https://digimon.net/reference_en/detail.php?directory_name=saviorhuckmon", + }, + { + name_en: "Scorpiomon", + name_jp: "Anomalocarimon", + next_evolutions: [ + "6-109", + "6-095", + "6-143", + "6-028", + "5-033", + "6-003", + "6-081", + "6-096", + "6-098", + "6-009", + "6-146", + ], + stage: 5, + sprite: "scorpiomon", + id: "5-118", + url: "https://digimon.net/reference_en/detail.php?directory_name=anomalocarimon", + }, + { + name_en: "Scorpiomon X", + name_jp: "Anomalocarimon X", + next_evolutions: ["6-110", "6-051", "6-034", "6-043", "6-046", "6-056"], + stage: 5, + sprite: "scorpiomon_x", + id: "5-119", + url: "https://digimon.net/reference_en/detail.php?directory_name=anomalocarimon-x", + }, + { + name_en: "Shakkoumon", + name_jp: "Shakkoumon", + next_evolutions: ["6-132", "6-086", "6-007", "6-121", "6-018", "6-057", "6-052", "6-085", "6-146"], + stage: 5, + sprite: "shakkoumon", + id: "5-120", + url: "https://digimon.net/reference_en/detail.php?directory_name=shakkoumon", + }, + { + name_en: "ShogunGekomon", + name_jp: "TonosamaGekomon", + next_evolutions: ["6-090", "6-061"], + stage: 5, + sprite: "shogungekomon", + id: "5-121", + url: "https://digimon.net/reference_en/detail.php?directory_name=tonosamagekomon", + }, + { + name_en: "Shoutmon X5", + name_jp: "Shoutmon X5", + next_evolutions: ["6-004", "6-018", "6-057", "6-052"], + stage: 5, + sprite: "shoutmon_x5", + id: "5-122", + url: "https://digimon.net/reference_en/detail.php?directory_name=shoutmonx5", + }, + { + name_en: "Silphymon", + name_jp: "Silphymon", + next_evolutions: ["6-139", "6-003", "6-096", "6-010", "6-006", "6-145", "6-017", "6-081"], + stage: 5, + sprite: "silphymon", + id: "5-123", + url: "https://digimon.net/reference_en/detail.php?directory_name=silphymon", + }, + { + name_en: "Sirenmon", + name_jp: "Sirenmon", + next_evolutions: ["6-008", "6-086", "6-007", "6-121", "6-004", "6-083"], + stage: 5, + sprite: "sirenmon", + id: "5-124", + url: "https://digimon.net/reference_en/detail.php?directory_name=sirenmon", + }, + { + name_en: "SkullBaluchimon", + name_jp: "SkullBaluchimon", + next_evolutions: ["6-127", "6-140", "7-022", "6-108", "6-013", "6-063"], + stage: 5, + sprite: "skullbaluchimon", + id: "5-125", + url: "https://digimon.net/reference_en/detail.php?directory_name=skullbaluchimon", + }, + { + name_en: "SkullGreymon", + name_jp: "SkullGreymon", + next_evolutions: ["6-130", "6-051", "6-143"], + stage: 5, + sprite: "skullgreymon", + id: "5-126", + url: "https://digimon.net/reference_en/detail.php?directory_name=skullgreymon", + }, + { + name_en: "SkullMeramon", + name_jp: "DeathMeramon", + next_evolutions: ["6-029", "6-130"], + stage: 5, + sprite: "skullmeramon", + id: "5-127", + url: "https://digimon.net/reference_en/detail.php?directory_name=deathmeramon", + }, + { + name_en: "Stefilmon", + name_jp: "Stiffilmon", + next_evolutions: ["6-027", "6-059", "6-118", "6-019", "6-124", "6-040", "6-056", "6-117"], + stage: 5, + sprite: "stefilmon", + id: "5-128", + url: "https://digimon.net/reference_en/detail.php?directory_name=stiffilmon", + }, + { + name_en: "Tekkamon", + name_jp: "Tekkamon", + next_evolutions: [], + stage: 5, + sprite: "tekkamon", + id: "5-129", + url: "https://digimon.net/reference_en/detail.php?directory_name=tekkamon", + }, + { + name_en: "Toropiamon", + name_jp: "Toropiamon", + next_evolutions: ["6-006", "6-145", "6-010", "6-114", "6-146"], + stage: 5, + sprite: "toropiamon", + id: "5-130", + url: "https://digimon.net/reference_en/detail.php?directory_name=toropiamon", + }, + { + name_en: "Triceramon", + name_jp: "Triceramon", + next_evolutions: ["6-126", "6-066", "6-090", "6-042", "6-009"], + stage: 5, + sprite: "triceramon", + id: "5-131", + url: "https://digimon.net/reference_en/detail.php?directory_name=triceramon", + }, + { + name_en: "Triceramon X", + name_jp: "Triceramon X", + next_evolutions: ["6-138", "6-032", "6-111", "6-131", "6-094"], + stage: 5, + sprite: "triceramon_x", + id: "5-132", + url: "https://digimon.net/reference_en/detail.php?directory_name=triceramon_x", + }, + { + name_en: "Vademon", + name_jp: "Vademon", + next_evolutions: [], + stage: 5, + sprite: "vademon", + id: "5-133", + url: "https://digimon.net/reference_en/detail.php?directory_name=vademon", + }, + { + name_en: "Velgrmon", + name_jp: "Velgrmon", + next_evolutions: ["6-043", "6-055", "6-009"], + stage: 5, + sprite: "velgrmon", + id: "5-134", + url: "https://digimon.net/reference_en/detail.php?directory_name=velgrmon", + }, + { + name_en: "WarGrowlmon", + name_jp: "MegaloGrowmon", + next_evolutions: ["6-052", "6-004", "6-129", "6-088", "6-053"], + stage: 5, + sprite: "wargrowlmon", + id: "5-135", + url: "https://digimon.net/reference_en/detail.php?directory_name=megalogrowmon", + }, + { + name_en: "WarGrowlmon X", + name_jp: "MegaloGrowmon X", + next_evolutions: ["6-089", "7-009", "7-021", "6-085", "6-108"], + stage: 5, + sprite: "wargrowlmon_x", + id: "5-136", + url: "https://digimon.net/reference_en/detail.php?directory_name=megalogrowmon_x", + }, + { + name_en: "WaruMonzaemon", + name_jp: "WaruMonzaemon", + next_evolutions: ["6-141", "6-091", "6-013", "6-126"], + stage: 5, + sprite: "warumonzaemon", + id: "5-137", + url: "https://digimon.net/reference_en/detail.php?directory_name=warumonzaemon", + }, + { + name_en: "WaruSeadramon", + name_jp: "WaruSeadramon", + next_evolutions: ["6-075", "6-008", "6-121", "6-091", "6-038", "6-098", "6-056", "6-108"], + stage: 5, + sprite: "waruseadramon", + id: "5-138", + url: "https://digimon.net/reference_en/detail.php?directory_name=waruseadramon", + }, + { + name_en: "WereGarurumon", + name_jp: "WereGarurumon", + next_evolutions: ["6-013", "6-130", "6-099", "6-091", "6-038", "6-098"], + stage: 5, + sprite: "weregarurumon", + id: "5-139", + url: "https://digimon.net/reference_en/detail.php?directory_name=weregarrumon", + }, + { + name_en: "WereGarurumon X", + name_jp: "WereGarurumon X", + next_evolutions: ["6-092", "7-021", "6-140", "6-108"], + stage: 5, + sprite: "weregarurumon_x", + id: "5-140", + url: "https://digimon.net/reference_en/detail.php?directory_name=weregarurumon_x", + }, + { + name_en: "Whamon", + name_jp: "Whamon", + next_evolutions: ["6-086", "6-109", "6-112", "6-146"], + stage: 5, + sprite: "whamon", + id: "5-141", + url: "https://digimon.net/reference_en/detail.php?directory_name=whamon", + }, + { + name_en: "Wingdramon", + name_jp: "Wingdramon", + next_evolutions: ["6-133", "6-129"], + stage: 5, + sprite: "wingdramon", + id: "5-142", + url: "https://digimon.net/reference_en/detail.php?directory_name=wingdramon", + }, + { + name_en: "Zudomon", + name_jp: "Zudomon", + next_evolutions: ["6-086", "6-056", "6-146"], + stage: 5, + sprite: "zudomon", + id: "5-143", + url: "https://digimon.net/reference_en/detail.php?directory_name=zudomon", + }, + { + name_en: "Boutmon", + name_jp: "Boutmon", + next_evolutions: ["6-148"], + stage: 5, + sprite: "boutmon", + id: "5-144", + url: "https://digimon.net/reference_en/detail.php?directory_name=boutmon", + }, + { + name_en: "DarkSuperStarmon", + name_jp: "DarkSuperStarmon", + next_evolutions: ["6-011", "6-005", "6-048"], + stage: 5, + sprite: "darksuperstarmon", + id: "5-145", + url: "https://digimon.net/reference_en/detail.php?directory_name=darksuperstarmon", + }, + { + name_en: "Doruguremon", + name_jp: "DORUguremon", + next_evolutions: ["6-002", "6-150", "6-051", "6-082", "6-043"], + stage: 5, + sprite: "doruguremon", + id: "5-146", + url: "https://digimon.net/reference_en/detail.php?directory_name=doruguremon", + }, + { + name_en: "Pandamon", + name_jp: "Pandamon", + next_evolutions: ["6-091"], + stage: 5, + sprite: "pandamon", + id: "5-147", + url: "https://digimon.net/reference_en/detail.php?directory_name=pandamon", + }, + { + name_en: "SkullScorpiomon", + name_jp: "Scorpiomon", + next_evolutions: ["6-003", "6-050", "6-096", "6-098", "6-009"], + stage: 5, + sprite: "skullscorpiomon", + id: "5-148", + url: "https://digimon.net/reference_en/detail.php?directory_name=scorpiomon", + }, + { + name_en: "SuperStarmon", + name_jp: "SuperStarmon", + next_evolutions: ["6-048", "6-011", "6-005"], + stage: 5, + sprite: "superstarmon", + id: "5-149", + url: "https://digimon.net/reference_en/detail.php?directory_name=superstarmon", + }, + { + name_en: "Aegisdramon", + name_jp: "Aegisdramon", + next_evolutions: ["7-039"], + stage: 6, + sprite: "aegisdramon", + id: "6-001", + url: "https://digimon.net/reference_en/detail.php?directory_name=ageisdramon", + }, + { + name_en: "Alphamon", + name_jp: "Alphamon", + next_evolutions: ["7-001"], + stage: 6, + sprite: "alphamon", + id: "6-002", + url: "https://digimon.net/reference_en/detail.php?directory_name=alphamon", + }, + { + name_en: "AncientBeetlemon", + name_jp: "AncientBeatmon", + next_evolutions: [], + stage: 6, + sprite: "ancientbeetlemon", + id: "6-003", + url: "https://digimon.net/reference_en/detail.php?directory_name=ancientbeatmon", + }, + { + name_en: "AncientGarurumon", + name_jp: "AncientGarurumon", + next_evolutions: [], + stage: 6, + sprite: "ancientgarurumon", + id: "6-004", + url: "https://digimon.net/reference_en/detail.php?directory_name=ancientgarurumon", + }, + { + name_en: "AncientGreymon", + name_jp: "AncientGreymon", + next_evolutions: [], + stage: 6, + sprite: "ancientgreymon", + id: "6-005", + url: "https://digimon.net/reference_en/detail.php?directory_name=ancientgreymon", + }, + { + name_en: "AncientKazemon", + name_jp: "AncientIrismon", + next_evolutions: [], + stage: 6, + sprite: "ancientkazemon", + id: "6-006", + url: "https://digimon.net/reference_en/detail.php?directory_name=ancientirismon", + }, + { + name_en: "AncientMegatheriummon", + name_jp: "AncientMegatheriumon", + next_evolutions: [], + stage: 6, + sprite: "ancientmegatheriummon", + id: "6-007", + url: "https://digimon.net/reference_en/detail.php?directory_name=ancientmegatheriumon", + }, + { + name_en: "AncientMermaimon", + name_jp: "AncientMermaimon", + next_evolutions: [], + stage: 6, + sprite: "ancientmermaimon", + id: "6-008", + url: "https://digimon.net/reference_en/detail.php?directory_name=ancientmermaimon", + }, + { + name_en: "AncientSphinxmon", + name_jp: "AncientSphinxmon", + next_evolutions: [], + stage: 6, + sprite: "ancientsphinxmon", + id: "6-009", + url: "https://digimon.net/reference_en/detail.php?directory_name=ancientsphinkmon", + }, + { + name_en: "AncientTroymon", + name_jp: "AncientTroiamon", + next_evolutions: [], + stage: 6, + sprite: "ancienttroymon", + id: "6-010", + url: "https://digimon.net/reference_en/detail.php?directory_name=ancienttroiamon", + }, + { + name_en: "AncientVolcanomon", + name_jp: "AncientVolcamon", + next_evolutions: [], + stage: 6, + sprite: "ancientvolcanomon", + id: "6-011", + url: "https://digimon.net/reference_en/detail.php?directory_name=ancientvolcamon", + }, + { + name_en: "AncientWisemon", + name_jp: "AncientWisemon", + next_evolutions: [], + stage: 6, + sprite: "ancientwisemon", + id: "6-012", + url: "https://digimon.net/reference_en/detail.php?directory_name=ancientwisetmon", + }, + { + name_en: "Anubismon", + name_jp: "Anubimon", + next_evolutions: [], + stage: 6, + sprite: "anubismon", + id: "6-013", + url: "https://digimon.net/reference_en/detail.php?directory_name=anubimon", + }, + { + name_en: "Apocalymon", + name_jp: "Apoclymon", + next_evolutions: [], + stage: 6, + sprite: "apocalymon", + id: "6-014", + url: "https://digimon.net/reference_en/detail.php?directory_name=apoclymon", + }, + { + name_en: "Apollomon", + name_jp: "Apollomon", + next_evolutions: ["7-018"], + stage: 6, + sprite: "apollomon", + id: "6-015", + url: "https://digimon.net/reference_en/detail.php?directory_name=apollomon", + }, + { + name_en: "Argomon", + name_jp: "Algomon", + next_evolutions: [], + stage: 6, + sprite: "argomon_ultimate", + id: "6-016", + url: "https://digimon.net/reference_en/detail.php?directory_name=algomon", + }, + { + name_en: "Armageddemon", + name_jp: "Armagemon", + next_evolutions: [], + stage: 6, + sprite: "armageddemon", + id: "6-017", + url: "https://digimon.net/reference_en/detail.php?directory_name=armagemon", + }, + { + name_en: "Azulongmon", + name_jp: "Qinglongmon", + next_evolutions: ["6-050"], + stage: 6, + sprite: "azulongmon", + id: "6-018", + url: "https://digimon.net/reference_en/detail.php?directory_name=qinglongmon", + }, + { + name_en: "Bagramon", + name_jp: "Bagramon", + next_evolutions: ["7-011", "7-003"], + stage: 6, + sprite: "bagramon", + id: "6-019", + url: "https://digimon.net/reference_en/detail.php?directory_name=bagramon", + }, + { + name_en: "Baihumon", + name_jp: "Baihumon", + next_evolutions: ["6-050"], + stage: 6, + sprite: "baihumon", + id: "6-020", + url: "https://digimon.net/reference_en/detail.php?directory_name=baihumon", + }, + { + name_en: "BanchoLeomon", + name_jp: "BanchoLeomon", + next_evolutions: ["7-008"], + stage: 6, + sprite: "bancholeomon", + id: "6-021", + url: "https://digimon.net/reference_en/detail.php?directory_name=bancholeomon", + }, + { + name_en: "BanchoMamemon", + name_jp: "BanchoMamemon", + next_evolutions: [], + stage: 6, + sprite: "banchomamemon", + id: "6-022", + url: "https://digimon.net/reference_en/detail.php?directory_name=banchomamemon", + }, + { + name_en: "Barbamon", + name_jp: "Barbamon", + next_evolutions: [], + stage: 6, + sprite: "barbamon", + id: "6-023", + url: "https://digimon.net/reference_en/detail.php?directory_name=barbamon", + }, + { + name_en: "BeelStarmon X", + name_jp: "BeelStarmon X", + next_evolutions: ["7-012", "7-004"], + stage: 6, + sprite: "beelstarmon_x", + id: "6-024", + url: "https://digimon.net/reference_en/detail.php?directory_name=beelstarmon_x", + }, + { + name_en: "Beelzemon", + name_jp: "Beelzebumon", + next_evolutions: ["7-005"], + stage: 6, + sprite: "beelzemon", + id: "6-025", + url: "https://digimon.net/reference_en/detail.php?directory_name=beelzebumon", + }, + { + name_en: "Belphemon: Rage Mode", + name_jp: "Belphemon: Rage Mode", + next_evolutions: ["7-031"], + stage: 6, + sprite: "belphemon_rage_mode", + id: "6-026", + url: "https://digimon.net/reference_en/detail.php?directory_name=belphemonragemode", + }, + { + name_en: "BlackWarGreymon X", + name_jp: "BlackWarGreymon X", + next_evolutions: ["7-010", "7-038", "7-003"], + stage: 6, + sprite: "blackwargreymon_x", + id: "6-027", + url: "https://digimon.net/reference_en/detail.php?directory_name=blackwargreymon_x", + }, + { + name_en: "BlitzGreymon", + name_jp: "BlitzGreymon", + next_evolutions: ["7-033"], + stage: 6, + sprite: "blitzgreymon", + id: "6-028", + url: "https://digimon.net/reference_en/detail.php?directory_name=blitzgreymon", + }, + { + name_en: "Boltmon", + name_jp: "Boltmon", + next_evolutions: [], + stage: 6, + sprite: "boltmon", + id: "6-029", + url: "https://digimon.net/reference_en/detail.php?directory_name=boltmon", + }, + { + name_en: "Breakdramon", + name_jp: "Breakdramon", + next_evolutions: ["7-014"], + stage: 6, + sprite: "breakdramon", + id: "6-030", + url: "https://digimon.net/reference_en/detail.php?directory_name=breakdramon", + }, + { + name_en: "BryweLudramon", + name_jp: "BryweLudramon", + next_evolutions: ["7-037"], + stage: 6, + sprite: "bryweludramon", + id: "6-031", + url: "https://digimon.net/reference_en/detail.php?directory_name=bryweludramon", + }, + { + name_en: "Chaosdramon X", + name_jp: "Chaosdramon X", + next_evolutions: ["7-010", "7-012", "7-027"], + stage: 6, + sprite: "chaosdramon_x", + id: "6-032", + url: "https://digimon.net/reference_en/detail.php?directory_name=chaosdramon-x", + }, + { + name_en: "Cherubimon (Virtue)", + name_jp: "Cherubimon (Virtue)", + next_evolutions: [], + stage: 6, + sprite: "cherubimon_virtue", + id: "6-033", + url: "https://digimon.net/reference_en/detail.php?directory_name=cherubimon", + }, + { + name_en: "Cherubimon (Virtue) X", + name_jp: "Cherubimon (Virtue) X", + next_evolutions: ["7-040", "7-022"], + stage: 6, + sprite: "cherubimon_virtue_x", + id: "6-034", + url: "https://digimon.net/reference_en/detail.php?directory_name=cherubimon_x", + }, + { + name_en: "Cherubimon (Vice) X", + name_jp: "Cherubimon (Vice) X", + next_evolutions: ["7-006", "7-003"], + stage: 6, + sprite: "cherubimon_vice_x", + id: "6-035", + url: "https://digimon.net/reference_en/detail.php?directory_name=cherubimondark_x", + }, + { + name_en: "Craniamon", + name_jp: "Craniummon", + next_evolutions: [], + stage: 6, + sprite: "craniamon", + id: "6-036", + url: "https://digimon.net/reference_en/detail.php?directory_name=craniummon", + }, + { + name_en: "Creepymon", + name_jp: "Demon", + next_evolutions: ["7-031"], + stage: 6, + sprite: "creepymon", + id: "6-037", + url: "https://digimon.net/reference_en/detail.php?directory_name=demon", + }, + { + name_en: "CresGarurumon", + name_jp: "CresGarurumon", + next_evolutions: ["7-033"], + stage: 6, + sprite: "cresgarurumon", + id: "6-038", + url: "https://digimon.net/reference_en/detail.php?directory_name=cresgarurumon", + }, + { + name_en: "Darkdramon", + name_jp: "Darkdramon", + next_evolutions: ["7-008", "7-045"], + stage: 6, + sprite: "darkdramon", + id: "6-039", + url: "https://digimon.net/reference_en/detail.php?directory_name=darkdramon", + }, + { + name_en: "DarkKnightmon X", + name_jp: "DarkKnightmon X", + next_evolutions: ["7-027", "7-011", "7-003"], + stage: 6, + sprite: "darkknightmon_x", + id: "6-040", + url: "https://digimon.net/reference_en/detail.php?directory_name=darkknightmon_x", + }, + { + name_en: "Dianamon", + name_jp: "Dianamon", + next_evolutions: ["7-018"], + stage: 6, + sprite: "dianamon", + id: "6-041", + url: "https://digimon.net/reference_en/detail.php?directory_name=dianamon", + }, + { + name_en: "Dinorexmon", + name_jp: "Dinorexmon", + next_evolutions: ["7-024", "7-003"], + stage: 6, + sprite: "dinorexmon", + id: "6-042", + url: "https://digimon.net/reference_en/detail.php?directory_name=dinorexmon", + }, + { + name_en: "Dinotigermon", + name_jp: "Dinotigermon", + next_evolutions: ["7-026", "7-009", "7-021", "7-022"], + stage: 6, + sprite: "dinotigermon", + id: "6-043", + url: "https://digimon.net/reference_en/detail.php?directory_name=dinotigermon", + }, + { + name_en: "Durandamon", + name_jp: "Durandamon", + next_evolutions: ["7-037"], + stage: 6, + sprite: "durandamon", + id: "6-044", + url: "https://digimon.net/reference_en/detail.php?directory_name=durandamon", + }, + { + name_en: "Dynasmon", + name_jp: "Dynasmon", + next_evolutions: [], + stage: 6, + sprite: "dynasmon", + id: "6-045", + url: "https://digimon.net/reference_en/detail.php?directory_name=dynasmon", + }, + { + name_en: "Ebemon X", + name_jp: "Ebemon X", + next_evolutions: ["7-017", "7-026", "7-015", "7-021"], + stage: 6, + sprite: "ebemon_x", + id: "6-046", + url: "https://digimon.net/reference_en/detail.php?directory_name=ebemon_x", + }, + { + name_en: "Ebonwumon", + name_jp: "Xuanwumon", + next_evolutions: ["6-050"], + stage: 6, + sprite: "ebonwumon", + id: "6-047", + url: "https://digimon.net/reference_en/detail.php?directory_name=xuanwumon", + }, + { + name_en: "EmperorGreymon", + name_jp: "KaiserGreymon", + next_evolutions: ["6-134"], + stage: 6, + sprite: "emperorgreymon", + id: "6-048", + url: "https://digimon.net/reference_en/detail.php?directory_name=kaisergreymon", + }, + { + name_en: "Eosmon", + name_jp: "Eosmon", + next_evolutions: [], + stage: 6, + sprite: "eosmon_ultimate", + id: "6-049", + url: "https://digimon.net/reference_en/detail.php?directory_name=eosmon_lv6", + }, + { + name_en: "Fanglongmon", + name_jp: "Huanglongmon", + next_evolutions: [], + stage: 6, + sprite: "fanglongmon", + id: "6-050", + url: "https://digimon.net/reference_en/detail.php?directory_name=huanglongmon", + }, + { + name_en: "Gaiomon", + name_jp: "Gaioumon", + next_evolutions: ["7-001", "7-009", "7-021"], + stage: 6, + sprite: "gaiomon", + id: "6-051", + url: "https://digimon.net/reference_en/detail.php?directory_name=gaioumon", + }, + { + name_en: "Gallantmon", + name_jp: "Dukemon", + next_evolutions: [], + stage: 6, + sprite: "gallantmon", + id: "6-052", + url: "https://digimon.net/reference_en/detail.php?directory_name=dukemon", + }, + { + name_en: "Gallantmon X", + name_jp: "Dukemon X", + next_evolutions: [], + stage: 6, + sprite: "gallantmon_x", + id: "6-053", + url: "https://digimon.net/reference_en/detail.php?directory_name=dukemon_x", + }, + { + name_en: "Gankoomon", + name_jp: "Gankoomon", + next_evolutions: [], + stage: 6, + sprite: "gankoomon", + id: "6-054", + url: "https://digimon.net/reference_en/detail.php?directory_name=gankoomon", + }, + { + name_en: "Ghoulmon", + name_jp: "Deathmon", + next_evolutions: [], + stage: 6, + sprite: "ghoulmon", + id: "6-055", + url: "https://digimon.net/reference_en/detail.php?directory_name=deathmon", + }, + { + name_en: "GigaSeadramon", + name_jp: "GigaSeadramon", + next_evolutions: ["7-024", "7-003"], + stage: 6, + sprite: "gigaseadramon", + id: "6-056", + url: "https://digimon.net/reference_en/detail.php?directory_name=gigaseadramon", + }, + { + name_en: "Goldramon", + name_jp: "Goddramon", + next_evolutions: ["6-050"], + stage: 6, + sprite: "goldramon", + id: "6-057", + url: "https://digimon.net/reference_en/detail.php?directory_name=goddramon", + }, + { + name_en: "Goldramon X", + name_jp: "Goddramon X", + next_evolutions: ["7-015", "7-021"], + stage: 6, + sprite: "goldramon_x", + id: "6-058", + url: "https://digimon.net/reference_en/detail.php?directory_name=goddramon_x", + }, + { + name_en: "GrandisKuwagamon", + name_jp: "GrandisKuwagamon", + next_evolutions: ["7-024", "7-003"], + stage: 6, + sprite: "grandiskuwagamon", + id: "6-059", + url: "https://digimon.net/reference_en/detail.php?directory_name=grandiskuwagamon", + }, + { + name_en: "GranDracmon", + name_jp: "GrandDracumon", + next_evolutions: [], + stage: 6, + sprite: "grandracmon", + id: "6-060", + url: "https://digimon.net/reference_en/detail.php?directory_name=granddracumon", + }, + { + name_en: "GranKuwagamon", + name_jp: "GranKuwagamon", + next_evolutions: [], + stage: 6, + sprite: "grankuwagamon", + id: "6-061", + url: "https://digimon.net/reference_en/detail.php?directory_name=grankuwagamon", + }, + { + name_en: "GroundLocomon", + name_jp: "GrandLocomon", + next_evolutions: [], + stage: 6, + sprite: "groundlocomon", + id: "6-062", + url: "https://digimon.net/reference_en/detail.php?directory_name=grandlocomon", + }, + { + name_en: "Gryphonmon", + name_jp: "Griffomon", + next_evolutions: [], + stage: 6, + sprite: "gryphonmon", + id: "6-063", + url: "https://digimon.net/reference_en/detail.php?directory_name=griffomon", + }, + { + name_en: "Gundramon", + name_jp: "Gundramon", + next_evolutions: ["7-002"], + stage: 6, + sprite: "gundramon", + id: "6-064", + url: "https://digimon.net/reference_en/detail.php?directory_name=gundramon", + }, + { + name_en: "HeavyLeomon", + name_jp: "HeavyLeomon", + next_evolutions: [], + stage: 6, + sprite: "heavyleomon", + id: "6-065", + url: "https://digimon.net/reference_en/detail.php?directory_name=heavyleomon", + }, + { + name_en: "HerculesKabuterimon", + name_jp: "HerakleKabuterimon", + next_evolutions: [], + stage: 6, + sprite: "herculeskabuterimon", + id: "6-066", + url: "https://digimon.net/reference_en/detail.php?directory_name=heraklekabuterimon", + }, + { + name_en: "Hexeblaumon", + name_jp: "Hexeblaumon", + next_evolutions: ["7-017", "7-028", "7-009", "7-040", "7-023", "7-021"], + stage: 6, + sprite: "hexeblaumon", + id: "6-067", + url: "https://digimon.net/reference_en/detail.php?directory_name=hexeblaumon", + }, + { + name_en: "HiAndromon", + name_jp: "HiAndromon", + next_evolutions: ["7-045"], + stage: 6, + sprite: "hiandromon", + id: "6-068", + url: "https://digimon.net/reference_en/detail.php?directory_name=hiandromon", + }, + { + name_en: "Jesmon", + name_jp: "Jesmon", + next_evolutions: ["7-021"], + stage: 6, + sprite: "jesmon", + id: "6-069", + url: "https://digimon.net/reference_en/detail.php?directory_name=jesmon", + }, + { + name_en: "Justimon X", + name_jp: "Justimon X", + next_evolutions: ["7-017", "7-026"], + stage: 6, + sprite: "justimon_x", + id: "6-070", + url: "https://digimon.net/reference_en/detail.php?directory_name=justimon_x", + }, + { + name_en: "Justimon: Blitz Arm", + name_jp: "Justimon: Blitz Arm", + next_evolutions: [], + stage: 6, + sprite: "justimon_blitz_arm", + id: "6-071", + url: "https://digimon.net/reference_en/detail.php?directory_name=justimon_blitzarm", + }, + { + name_en: "Kentaurosmon", + name_jp: "Sleipmon", + next_evolutions: [], + stage: 6, + sprite: "kentaurosmon", + id: "6-072", + url: "https://digimon.net/reference_en/detail.php?directory_name=sleipmon", + }, + { + name_en: "KingEtemon", + name_jp: "KingEtemon", + next_evolutions: [], + stage: 6, + sprite: "kingetemon", + id: "6-073", + url: "https://digimon.net/reference_en/detail.php?directory_name=kingetemon", + }, + { + name_en: "Leopardmon", + name_jp: "Duftmon", + next_evolutions: [], + stage: 6, + sprite: "leopardmon", + id: "6-074", + url: "https://digimon.net/reference_en/detail.php?directory_name=duftmon", + }, + { + name_en: "Leviamon", + name_jp: "Leviamon", + next_evolutions: ["7-002"], + stage: 6, + sprite: "leviamon", + id: "6-075", + url: "https://digimon.net/reference_en/detail.php?directory_name=leviamon", + }, + { + name_en: "Lilithmon", + name_jp: "Lilithmon", + next_evolutions: [], + stage: 6, + sprite: "lilithmon", + id: "6-076", + url: "https://digimon.net/reference_en/detail.php?directory_name=lilithmon", + }, + { + name_en: "LordKnightmon", + name_jp: "LordKnightmon", + next_evolutions: [], + stage: 6, + sprite: "lordknightmon", + id: "6-077", + url: "https://digimon.net/reference_en/detail.php?directory_name=lordknightmon", + }, + { + name_en: "Lotosmon", + name_jp: "Lotusmon", + next_evolutions: ["7-036"], + stage: 6, + sprite: "lotosmon", + id: "6-078", + url: "https://digimon.net/reference_en/detail.php?directory_name=lotusmon", + }, + { + name_en: "Lucemon: Satan Mode", + name_jp: "Lucemon: Satan Mode", + next_evolutions: [], + stage: 6, + sprite: "lucemon_satan_mode", + id: "6-079", + url: "https://digimon.net/reference_en/detail.php?directory_name=lucemonsatanmode", + }, + { + name_en: "Machinedramon", + name_jp: "Mugendramon", + next_evolutions: ["7-039", "6-014", "7-045"], + stage: 6, + sprite: "machinedramon", + id: "6-080", + url: "https://digimon.net/reference_en/detail.php?directory_name=mugendramon", + }, + { + name_en: "Magnadramon", + name_jp: "Holydramon", + next_evolutions: ["6-050"], + stage: 6, + sprite: "magnadramon", + id: "6-081", + url: "https://digimon.net/reference_en/detail.php?directory_name=holydramon", + }, + { + name_en: "Magnadramon X", + name_jp: "Holydramon X", + next_evolutions: ["7-028", "7-026", "7-040", "7-022"], + stage: 6, + sprite: "magnadramon_x", + id: "6-082", + url: "https://digimon.net/reference_en/detail.php?directory_name=holydramon_x", + }, + { + name_en: "MagnaGarurumon", + name_jp: "MagnaGarurumon", + next_evolutions: ["6-134"], + stage: 6, + sprite: "magnagarurumon", + id: "6-083", + url: "https://digimon.net/reference_en/detail.php?directory_name=magnagarurumon", + }, + { + name_en: "Magnamon", + name_jp: "Magnamon", + next_evolutions: [], + stage: 6, + sprite: "magnamon", + id: "6-084", + url: "https://digimon.net/reference_en/detail.php?directory_name=magnamon", + }, + { + name_en: "MaloMyotismon", + name_jp: "BelialVamdemon", + next_evolutions: ["7-012"], + stage: 6, + sprite: "malomyotismon", + id: "6-085", + url: "https://digimon.net/reference_en/detail.php?directory_name=belialvamdemon", + }, + { + name_en: "MarineAngemon", + name_jp: "MarinAngemon", + next_evolutions: [], + stage: 6, + sprite: "marineangemon", + id: "6-086", + url: "https://digimon.net/reference_en/detail.php?directory_name=marinangemon", + }, + { + name_en: "MegaGargomon", + name_jp: "SaintGalgomon", + next_evolutions: [], + stage: 6, + sprite: "megagargomon", + id: "6-087", + url: "https://digimon.net/reference_en/detail.php?directory_name=saintgalgomon", + }, + { + name_en: "Megidramon", + name_jp: "Megidramon", + next_evolutions: ["7-002"], + stage: 6, + sprite: "megidramon", + id: "6-088", + url: "https://digimon.net/reference_en/detail.php?directory_name=megidramon", + }, + { + name_en: "Megidramon X", + name_jp: "Megidramon X", + next_evolutions: ["7-016"], + stage: 6, + sprite: "megidramon_x", + id: "6-089", + url: "https://digimon.net/reference_en/detail.php?directory_name=megidramon_x", + }, + { + name_en: "MetalEtemon", + name_jp: "MetalEtemon", + next_evolutions: [], + stage: 6, + sprite: "metaletemon", + id: "6-090", + url: "https://digimon.net/reference_en/detail.php?directory_name=metaletemon", + }, + { + name_en: "MetalGarurumon", + name_jp: "MetalGarurumon", + next_evolutions: ["7-032"], + stage: 6, + sprite: "metalgarurumon", + id: "6-091", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalgarurumon", + }, + { + name_en: "MetalGarurumon X", + name_jp: "MetalGarurumon X", + next_evolutions: ["7-034"], + stage: 6, + sprite: "metalgarurumon_x", + id: "6-092", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalgarurumon_x", + }, + { + name_en: "Metallicdramon", + name_jp: "Metallicdramon", + next_evolutions: ["7-028", "7-013", "7-009", "7-015", "7-040", "7-022"], + stage: 6, + sprite: "metallicdramon", + id: "6-093", + url: "https://digimon.net/reference_en/detail.php?directory_name=metallicdramon", + }, + { + name_en: "MetalPiranimon", + name_jp: "MetalPiranimon", + next_evolutions: ["7-025", "7-003", "7-006"], + stage: 6, + sprite: "metalpiranimon", + id: "6-094", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalpiranimon", + }, + { + name_en: "MetalSeadramon", + name_jp: "MetalSeadramon", + next_evolutions: ["6-001", "6-014"], + stage: 6, + sprite: "metalseadramon", + id: "6-095", + url: "https://digimon.net/reference_en/detail.php?directory_name=metalseadramon", + }, + { + name_en: "MirageGaogamon", + name_jp: "MirageGaogamon", + next_evolutions: [], + stage: 6, + sprite: "miragegaogamon", + id: "6-096", + url: "https://digimon.net/reference_en/detail.php?directory_name=miragegaogamon", + }, + { + name_en: "Murmukusmon", + name_jp: "Murmukusmon", + next_evolutions: [], + stage: 6, + sprite: "murmukusmon", + id: "6-097", + url: "https://digimon.net/reference_en/detail.php?directory_name=murmukusmon", + }, + { + name_en: "Nidhoggmon", + name_jp: "Nidhoggmon", + next_evolutions: [], + stage: 6, + sprite: "nidhoggmon", + id: "6-098", + url: "https://digimon.net/reference_en/detail.php?directory_name=nidhoggmon", + }, + { + name_en: "NoblePumpkinmon", + name_jp: "NoblePumpmon", + next_evolutions: ["7-016", "7-026", "7-034", "7-023"], + stage: 6, + sprite: "noblepumpkinmon", + id: "6-099", + url: "https://digimon.net/reference_en/detail.php?directory_name=noblepumpmon", + }, + { + name_en: "Ophanimon", + name_jp: "Ofanimon", + next_evolutions: [], + stage: 6, + sprite: "ophanimon", + id: "6-100", + url: "https://digimon.net/reference_en/detail.php?directory_name=ofanimon", + }, + { + name_en: "Ophanimon X", + name_jp: "Ofanimon X", + next_evolutions: ["7-023", "7-022"], + stage: 6, + sprite: "ophanimon_x", + id: "6-101", + url: "https://digimon.net/reference_en/detail.php?directory_name=ofanimon_x", + }, + { + name_en: "Ophanimon: Falldown Mode X", + name_jp: "Ofanimon: Falldown Mode X", + next_evolutions: ["7-025", "7-003"], + stage: 6, + sprite: "ophanimon_falldown_mode_x", + id: "6-102", + url: "https://digimon.net/reference_en/detail.php?directory_name=ofanimonfdm_x", + }, + { + name_en: "Ornismon", + name_jp: "Ornismon", + next_evolutions: [], + stage: 6, + sprite: "ornismon", + id: "6-103", + url: "https://digimon.net/reference_en/detail.php?directory_name=ornismon", + }, + { + name_en: "Ouryumon", + name_jp: "Ouryumon", + next_evolutions: ["7-001", "7-021"], + stage: 6, + sprite: "ouryumon", + id: "6-104", + url: "https://digimon.net/reference_en/detail.php?directory_name=ouryumon", + }, + { + name_en: "Phoenixmon", + name_jp: "Hououmon", + next_evolutions: [], + stage: 6, + sprite: "phoenixmon", + id: "6-105", + url: "https://digimon.net/reference_en/detail.php?directory_name=hououmon", + }, + { + name_en: "Phoenixmon X", + name_jp: "Hououmon X", + next_evolutions: ["7-013", "7-026"], + stage: 6, + sprite: "phoenixmon_x", + id: "6-106", + url: "https://digimon.net/reference_en/detail.php?directory_name=hououmon_x", + }, + { + name_en: "Piedmon", + name_jp: "Piemon", + next_evolutions: ["7-007", "6-014"], + stage: 6, + sprite: "piedmon", + id: "6-107", + url: "https://digimon.net/reference_en/detail.php?directory_name=piemon", + }, + { + name_en: "PlatinumNumemon", + name_jp: "PlatinumNumemon", + next_evolutions: ["7-034"], + stage: 6, + sprite: "platinumnumemon", + id: "6-108", + url: "https://digimon.net/reference_en/detail.php?directory_name=platinumnumemon", + }, + { + name_en: "Plesiomon", + name_jp: "Plesiomon", + next_evolutions: ["6-001"], + stage: 6, + sprite: "plesiomon", + id: "6-109", + url: "https://digimon.net/reference_en/detail.php?directory_name=plesiomon", + }, + { + name_en: "Plesiomon X", + name_jp: "Plesiomon X", + next_evolutions: ["7-034", "7-022"], + stage: 6, + sprite: "plesiomon_x", + id: "6-110", + url: "https://digimon.net/reference_en/detail.php?directory_name=plesiomon_x", + }, + { + name_en: "PrinceMamemon X", + name_jp: "PrinceMamemon X", + next_evolutions: ["7-010", "7-012", "7-027"], + stage: 6, + sprite: "princemamemon_x", + id: "6-111", + url: "https://digimon.net/reference_en/detail.php?directory_name=princemamemon_x", + }, + { + name_en: "Pukumon", + name_jp: "Pukumon", + next_evolutions: [], + stage: 6, + sprite: "pukumon", + id: "6-112", + url: "https://digimon.net/reference_en/detail.php?directory_name=pukumon", + }, + { + name_en: "Puppetmon", + name_jp: "Pinochimon", + next_evolutions: ["6-014"], + stage: 6, + sprite: "puppetmon", + id: "6-113", + url: "https://digimon.net/reference_en/detail.php?directory_name=pinochimon", + }, + { + name_en: "Rafflesimon", + name_jp: "Rafflesimon", + next_evolutions: ["7-030", "7-026"], + stage: 6, + sprite: "rafflesimon", + id: "6-114", + url: "https://digimon.net/reference_en/detail.php?directory_name=rafflesimon", + }, + { + name_en: "Raguelmon", + name_jp: "Raguelmon", + next_evolutions: ["7-035"], + stage: 6, + sprite: "raguelmon", + id: "6-115", + url: "https://digimon.net/reference_en/detail.php?directory_name=raguelmon", + }, + { + name_en: "Rapidmon X", + name_jp: "Rapidmon X", + next_evolutions: ["7-028", "7-009"], + stage: 6, + sprite: "rapidmon_x", + id: "6-116", + url: "https://digimon.net/reference_en/detail.php?directory_name=rapidmon_x", + }, + { + name_en: "Rasenmon", + name_jp: "Rasenmon", + next_evolutions: [], + stage: 6, + sprite: "rasenmon", + id: "6-117", + url: "https://digimon.net/reference_en/detail.php?directory_name=rasenmon", + }, + { + name_en: "Rasenmon: Fury Mode", + name_jp: "Rasenmon: Fury Mode", + next_evolutions: ["7-038", "7-012"], + stage: 6, + sprite: "rasenmon_fury_mode", + id: "6-118", + url: "https://digimon.net/reference_en/detail.php?directory_name=rasenmon_f", + }, + { + name_en: "Rasielmon", + name_jp: "Rasielmon", + next_evolutions: [], + stage: 6, + sprite: "rasielmon", + id: "6-119", + url: "https://digimon.net/reference_en/detail.php?directory_name=rasielmon", + }, + { + name_en: "Ravemon", + name_jp: "Ravmon", + next_evolutions: [], + stage: 6, + sprite: "ravemon", + id: "6-120", + url: "https://digimon.net/reference_en/detail.php?directory_name=ravmon", + }, + { + name_en: "Regalecusmon", + name_jp: "Regalecusmon", + next_evolutions: [], + stage: 6, + sprite: "regalecusmon", + id: "6-121", + url: "https://digimon.net/reference_en/detail.php?directory_name=regalecusmon", + }, + { + name_en: "Rhihimon", + name_jp: "Raihimon", + next_evolutions: ["6-009", "7-004"], + stage: 6, + sprite: "rhihimon", + id: "6-122", + url: "https://digimon.net/reference_en/detail.php?directory_name=raihimon", + }, + { + name_en: "Rosemon", + name_jp: "Rosemon", + next_evolutions: ["7-036"], + stage: 6, + sprite: "rosemon", + id: "6-123", + url: "https://digimon.net/reference_en/detail.php?directory_name=rosemon", + }, + { + name_en: "Rosemon X", + name_jp: "Rosemon X", + next_evolutions: ["7-025", "7-003", "7-006"], + stage: 6, + sprite: "rosemon_x", + id: "6-124", + url: "https://digimon.net/reference_en/detail.php?directory_name=rosemon_x", + }, + { + name_en: "RustTyrannomon", + name_jp: "RustTyranomon", + next_evolutions: [], + stage: 6, + sprite: "rusttyrannomon", + id: "6-125", + url: "https://digimon.net/reference_en/detail.php?directory_name=rusttyranomon", + }, + { + name_en: "SaberLeomon", + name_jp: "SaberLeomon", + next_evolutions: [], + stage: 6, + sprite: "saberleomon", + id: "6-126", + url: "https://digimon.net/reference_en/detail.php?directory_name=saberleomon", + }, + { + name_en: "Sakuyamon X", + name_jp: "Sakuyamon X", + next_evolutions: ["7-016"], + stage: 6, + sprite: "sakuyamon_x", + id: "6-127", + url: "https://digimon.net/reference_en/detail.php?directory_name=sakuyamon_x", + }, + { + name_en: "Seraphimon", + name_jp: "Seraphimon", + next_evolutions: [], + stage: 6, + sprite: "seraphimon", + id: "6-128", + url: "https://digimon.net/reference_en/detail.php?directory_name=seraphimon", + }, + { + name_en: "ShineGreymon", + name_jp: "ShineGreymon", + next_evolutions: [], + stage: 6, + sprite: "shinegreymon", + id: "6-129", + url: "https://digimon.net/reference_en/detail.php?directory_name=shinegreymon", + }, + { + name_en: "SkullMammothmon", + name_jp: "SkullMammon", + next_evolutions: [], + stage: 6, + sprite: "skullmammothmon", + id: "6-130", + url: "https://digimon.net/reference_en/detail.php?directory_name=skullmammon", + }, + { + name_en: "SkullMammothmon X", + name_jp: "SkullMammon X", + next_evolutions: ["7-024", "7-003"], + stage: 6, + sprite: "skullmammothmon_x", + id: "6-131", + url: "https://digimon.net/reference_en/detail.php?directory_name=skullmammon_x", + }, + { + name_en: "SlashAngemon", + name_jp: "SlashAngemon", + next_evolutions: [], + stage: 6, + sprite: "slashangemon", + id: "6-132", + url: "https://digimon.net/reference_en/detail.php?directory_name=slashangemon", + }, + { + name_en: "Slayerdramon", + name_jp: "Slayerdramon", + next_evolutions: ["7-014"], + stage: 6, + sprite: "slayerdramon", + id: "6-133", + url: "https://digimon.net/reference_en/detail.php?directory_name=slayerdramon", + }, + { + name_en: "Susanomon", + name_jp: "Susanoomon", + next_evolutions: [], + stage: 6, + sprite: "susanomon", + id: "6-134", + url: "https://digimon.net/reference_en/detail.php?directory_name=susanoomon", + }, + { + name_en: "TigerVespamon", + name_jp: "TigerVespamon", + next_evolutions: ["7-016", "7-009"], + stage: 6, + sprite: "tigervespamon", + id: "6-135", + url: "https://digimon.net/reference_en/detail.php?directory_name=tigervespamon", + }, + { + name_en: "Titamon", + name_jp: "Titamon", + next_evolutions: [], + stage: 6, + sprite: "titamon", + id: "6-136", + url: "https://digimon.net/reference_en/detail.php?directory_name=titamon", + }, + { + name_en: "UlforceVeedramon", + name_jp: "UlforceV-dramon", + next_evolutions: [], + stage: 6, + sprite: "ulforceveedramon", + id: "6-137", + url: "https://digimon.net/reference_en/detail.php?directory_name=ulforcevdramon", + }, + { + name_en: "UltimateBrachiomon", + name_jp: "UltimateBrachiomon", + next_evolutions: ["7-024", "7-003"], + stage: 6, + sprite: "ultimatebrachiomon", + id: "6-138", + url: "https://digimon.net/reference_en/detail.php?directory_name=ultimatebrakimon", + }, + { + name_en: "Valkyrimon", + name_jp: "Valkyrimon", + next_evolutions: [], + stage: 6, + sprite: "valkyrimon", + id: "6-139", + url: "https://digimon.net/reference_en/detail.php?directory_name=valkyrimon", + }, + { + name_en: "Varodurumon", + name_jp: "Valdurmon", + next_evolutions: ["7-016"], + stage: 6, + sprite: "varodurumon", + id: "6-140", + url: "https://digimon.net/reference_en/detail.php?directory_name=valdurmon", + }, + { + name_en: "VenomMyotismon", + name_jp: "VenomVamdemon", + next_evolutions: [], + stage: 6, + sprite: "venommyotismon", + id: "6-141", + url: "https://digimon.net/reference_en/detail.php?directory_name=venomvamdemon", + }, + { + name_en: "Volcanicdramon", + name_jp: "Volcanicdramon", + next_evolutions: [], + stage: 6, + sprite: "volcanicdramon", + id: "6-142", + url: "https://digimon.net/reference_en/detail.php?directory_name=volcanicdramon", + }, + { + name_en: "WarGreymon", + name_jp: "WarGreymon", + next_evolutions: ["7-032"], + stage: 6, + sprite: "wargreymon", + id: "6-143", + url: "https://digimon.net/reference_en/detail.php?directory_name=wargreymon", + }, + { + name_en: "WarGreymon X", + name_jp: "WarGreymon X", + next_evolutions: ["7-034"], + stage: 6, + sprite: "wargreymon_x", + id: "6-144", + url: "https://digimon.net/reference_en/detail.php?directory_name=wargreymon_x", + }, + { + name_en: "Zhuqiaomon", + name_jp: "Zhuqiaomon", + next_evolutions: ["6-050"], + stage: 6, + sprite: "zhuqiaomon", + id: "6-145", + url: "https://digimon.net/reference_en/detail.php?directory_name=zhuqiaomon", + }, + { + name_en: "Vikemon", + name_jp: "Vikemon", + next_evolutions: [], + stage: 6, + sprite: "vikemon", + id: "6-146", + url: "https://digimon.net/reference_en/detail.php?directory_name=vikemon", + }, + { + name_en: "ShinMonzaemon", + name_jp: "ShinMonzaemon", + next_evolutions: [], + stage: 6, + sprite: "shinmonzaemon", + id: "6-147", + url: "https://digimon.net/reference_en/detail.php?directory_name=shinmonzaemon", + }, + { + name_en: "Kazuchimon", + name_jp: "Kazuchimon", + next_evolutions: [], + stage: 6, + sprite: "kazuchimon", + id: "6-148", + url: "https://digimon.net/reference_en/detail.php?directory_name=kazuchimon", + }, + { + name_en: "BanchoLillymon", + name_jp: "BanchoLilimon", + next_evolutions: [], + stage: 6, + sprite: "bancholillymon", + id: "6-149", + url: "https://digimon.net/reference_en/detail.php?directory_name=bancholilimon", + }, + { + name_en: "Dorugoramon", + name_jp: "DORUgoramon", + next_evolutions: [], + stage: 6, + sprite: "dorugoramon", + id: "6-150", + url: "https://digimon.net/reference_en/detail.php?directory_name=dorugoramon", + }, + { + name_en: "Alphamon: Ouryuken", + name_jp: "Alphamon: Ouryuken", + next_evolutions: [], + stage: 7, + sprite: "alphamon_ouryuken", + id: "7-001", + url: "https://digimon.net/reference_en/detail.php?directory_name=alphamon:ouryuken", + }, + { + name_en: "Armageddemon", + name_jp: "Armagemon", + next_evolutions: [], + stage: 7, + sprite: "armageddemon", + id: "7-002", + url: "https://digimon.net/reference_en/detail.php?directory_name=armagemon", + }, + { + name_en: "Barbamon X", + name_jp: "Barbamon X", + next_evolutions: [], + stage: 7, + sprite: "barbamon_x", + id: "7-003", + url: "https://digimon.net/reference_en/detail.php?directory_name=barbamon_x", + }, + { + name_en: "Beelzemon X", + name_jp: "Beelzebumon X", + next_evolutions: ["7-012"], + stage: 7, + sprite: "beelzemon_x", + id: "7-004", + url: "https://digimon.net/reference_en/detail.php?directory_name=beelzebumon_x", + }, + { + name_en: "Beelzemon: Blast Mode", + name_jp: "Beelzebumon: Blast Mode", + next_evolutions: [], + stage: 7, + sprite: "beelzemon_blast_mode", + id: "7-005", + url: "https://digimon.net/reference_en/detail.php?directory_name=beelzebumonblastmode", + }, + { + name_en: "Belphemon X", + name_jp: "Belphemon X", + next_evolutions: [], + stage: 7, + sprite: "belphemon_x", + id: "7-006", + url: "https://digimon.net/reference_en/detail.php?directory_name=belphemon_x", + }, + { + name_en: "Boltboutamon", + name_jp: "Voltobautamon", + next_evolutions: [], + stage: 7, + sprite: "boltboutamon", + id: "7-007", + url: "https://digimon.net/reference_en/detail.php?directory_name=voltobautamon", + }, + { + name_en: "Chaosmon", + name_jp: "Chaosmon", + next_evolutions: [], + stage: 7, + sprite: "chaosmon", + id: "7-008", + url: "https://digimon.net/reference_en/detail.php?directory_name=chaosmon", + }, + { + name_en: "Craniamon X", + name_jp: "Craniummon X", + next_evolutions: ["7-026", "6-002"], + stage: 7, + sprite: "craniamon_x", + id: "7-009", + url: "https://digimon.net/reference_en/detail.php?directory_name=craniummon_x", + }, + { + name_en: "Creepymon X", + name_jp: "Demon X", + next_evolutions: [], + stage: 7, + sprite: "creepymon_x", + id: "7-010", + url: "https://digimon.net/reference_en/detail.php?directory_name=demon_x", + }, + { + name_en: "DarknessBagramon", + name_jp: "DarknessBagramon", + next_evolutions: [], + stage: 7, + sprite: "darknessbagramon", + id: "7-011", + url: "https://digimon.net/reference_en/detail.php?directory_name=darknessbagramon", + }, + { + name_en: "Diaboromon X", + name_jp: "Diablomon X", + next_evolutions: ["7-044"], + stage: 7, + sprite: "diaboromon_x", + id: "7-012", + url: "https://digimon.net/reference_en/detail.php?directory_name=diablomon_x", + }, + { + name_en: "Dynasmon X", + name_jp: "Dynasmon X", + next_evolutions: [], + stage: 7, + sprite: "dynasmon_x", + id: "7-013", + url: "https://digimon.net/reference_en/detail.php?directory_name=dynasmon_x", + }, + { + name_en: "Examon", + name_jp: "Examon", + next_evolutions: [], + stage: 7, + sprite: "examon", + id: "7-014", + url: "https://digimon.net/reference_en/detail.php?directory_name=examon", + }, + { + name_en: "Examon X", + name_jp: "Examon X", + next_evolutions: [], + stage: 7, + sprite: "examon_x", + id: "7-015", + url: "https://digimon.net/reference_en/detail.php?directory_name=examon_x", + }, + { + name_en: "Gallantmon X", + name_jp: "Dukemon X", + next_evolutions: [], + stage: 7, + sprite: "gallantmon_x", + id: "7-016", + url: "https://digimon.net/reference_en/detail.php?directory_name=dukemon_x", + }, + { + name_en: "Gankoomon X", + name_jp: "Gankoomon X", + next_evolutions: ["7-043"], + stage: 7, + sprite: "gankoomon_x", + id: "7-017", + url: "https://digimon.net/reference_en/detail.php?directory_name=gankoomon_x", + }, + { + name_en: "GraceNovamon", + name_jp: "GraceNovamon", + next_evolutions: [], + stage: 7, + sprite: "gracenovamon", + id: "7-018", + url: "https://digimon.net/reference_en/detail.php?directory_name=gracenovamon", + }, + { + name_en: "Imperialdramon: Fighter Mode", + name_jp: "Imperialdramon: Fighter Mode", + next_evolutions: ["7-020"], + stage: 7, + sprite: "imperialdramon_fighter_mode", + id: "7-019", + url: "https://digimon.net/reference_en/detail.php?directory_name=imperialdramonfightermode", + }, + { + name_en: "Imperialdramon: Paladin Mode", + name_jp: "Imperialdramon: Paladin Mode", + next_evolutions: [], + stage: 7, + sprite: "imperialdramon_paladin_mode", + id: "7-020", + url: "https://digimon.net/reference_en/detail.php?directory_name=imperialdramonpaladinmode", + }, + { + name_en: "Jesmon X", + name_jp: "Jesmon X", + next_evolutions: ["6-002", "7-043"], + stage: 7, + sprite: "jesmon_x", + id: "7-021", + url: "https://digimon.net/reference_en/detail.php?directory_name=jesmon_x", + }, + { + name_en: "Kentaurosmon X", + name_jp: "Sleipmon X", + next_evolutions: ["7-030", "6-002"], + stage: 7, + sprite: "kentaurosmon_x", + id: "7-022", + url: "https://digimon.net/reference_en/detail.php?directory_name=sleipmon_x", + }, + { + name_en: "Leopardmon X", + name_jp: "Duftmon X", + next_evolutions: [], + stage: 7, + sprite: "leopardmon_x", + id: "7-023", + url: "https://digimon.net/reference_en/detail.php?directory_name=duftmon_x", + }, + { + name_en: "Leviamon X", + name_jp: "Leviamon X", + next_evolutions: [], + stage: 7, + sprite: "leviamon_x", + id: "7-024", + url: "https://digimon.net/reference_en/detail.php?directory_name=leviamon_x", + }, + { + name_en: "Lilithmon X", + name_jp: "Lilithmon X", + next_evolutions: [], + stage: 7, + sprite: "lilithmon_x", + id: "7-025", + url: "https://digimon.net/reference_en/detail.php?directory_name=lilithmon_x", + }, + { + name_en: "LordKnightmon X", + name_jp: "LordKnightmon X", + next_evolutions: [], + stage: 7, + sprite: "lordknightmon_x", + id: "7-026", + url: "https://digimon.net/reference_en/detail.php?directory_name=lordknightmon_x", + }, + { + name_en: "Lucemon X", + name_jp: "Lucemon X", + next_evolutions: [], + stage: 7, + sprite: "lucemon_x", + id: "7-027", + url: "https://digimon.net/reference_en/detail.php?directory_name=lucemon_x", + }, + { + name_en: "Magnamon X", + name_jp: "Magnamon X", + next_evolutions: [], + stage: 7, + sprite: "magnamon_x", + id: "7-028", + url: "https://digimon.net/reference_en/detail.php?directory_name=magnamon_x", + }, + { + name_en: "Mastemon", + name_jp: "Mastemon", + next_evolutions: [], + stage: 7, + sprite: "mastemon", + id: "7-029", + url: "https://digimon.net/reference_en/detail.php?directory_name=mastemon", + }, + { + name_en: "Minervamon X", + name_jp: "Minervamon X", + next_evolutions: [], + stage: 7, + sprite: "minervamon_x", + id: "7-030", + url: "https://digimon.net/reference_en/detail.php?directory_name=minervamon_x", + }, + { + name_en: "Ogudomon", + name_jp: "Ogudomon", + next_evolutions: [], + stage: 7, + sprite: "ogudomon", + id: "7-031", + url: "https://digimon.net/reference_en/detail.php?directory_name=ogudomon", + }, + { + name_en: "Omnimon", + name_jp: "Omegamon", + next_evolutions: ["7-020"], + stage: 7, + sprite: "omnimon", + id: "7-032", + url: "https://digimon.net/reference_en/detail.php?directory_name=omegamon", + }, + { + name_en: "Omnimon Alter-S", + name_jp: "Omegamon Alter-S", + next_evolutions: [], + stage: 7, + sprite: "omnimon_alter_s", + id: "7-033", + url: "https://digimon.net/reference_en/detail.php?directory_name=omegamon-alter-s", + }, + { + name_en: "Omnimon X", + name_jp: "Omegamon X", + next_evolutions: [], + stage: 7, + sprite: "omnimon_x", + id: "7-034", + url: "https://digimon.net/reference_en/detail.php?directory_name=omegamon-x", + }, + { + name_en: "Ordinemon", + name_jp: "Ordinemon", + next_evolutions: [], + stage: 7, + sprite: "ordinemon", + id: "7-035", + url: "https://digimon.net/reference_en/detail.php?directory_name=ordinemon", + }, + { + name_en: "Rafflesimon", + name_jp: "Rafflesimon", + next_evolutions: [], + stage: 7, + sprite: "rafflesimon", + id: "7-036", + url: "https://digimon.net/reference_en/detail.php?directory_name=rafflesimon", + }, + { + name_en: "RagnaLoardmon", + name_jp: "RagnaLordmon", + next_evolutions: [], + stage: 7, + sprite: "ragnaloardmon", + id: "7-037", + url: "https://digimon.net/reference_en/detail.php?directory_name=ragnaloardmon", + }, + { + name_en: "Rasenmon", + name_jp: "Rasenmon", + next_evolutions: [], + stage: 7, + sprite: "rasenmon", + id: "7-038", + url: "https://digimon.net/reference_en/detail.php?directory_name=rasenmon", + }, + { + name_en: "RustTyrannomon", + name_jp: "RustTyranomon", + next_evolutions: [], + stage: 7, + sprite: "rusttyrannomon", + id: "7-039", + url: "https://digimon.net/reference_en/detail.php?directory_name=rusttyranomon", + }, + { + name_en: "UlforceVeedramon X", + name_jp: "UlforceV-dramon X", + next_evolutions: [], + stage: 7, + sprite: "ulforceveedramon_x", + id: "7-040", + url: "https://digimon.net/reference_en/detail.php?directory_name=ulforcevdramon_x", + }, + { + name_en: "Agumon (Bond of Bravery)", + name_jp: "Agumon (Bond of Bravery)", + next_evolutions: [], + stage: 7, + sprite: "agumon_bond_of_bravery", + id: "7-041", + url: "https://digimon.net/reference_en/detail.php?directory_name=agumon_kizuna", + }, + { + name_en: "Gabumon (Bond of Friendship)", + name_jp: "Gabumon (Bond of Friendship)", + next_evolutions: [], + stage: 7, + sprite: "gabumon_bond_of_friendship", + id: "7-042", + url: "https://digimon.net/reference_en/detail.php?directory_name=gabumon_kizuna", + }, + { + name_en: "Jesmon GX", + name_jp: "Jesmon GX", + next_evolutions: [], + stage: 7, + sprite: "jesmon_gx", + id: "7-043", + url: "https://digimon.net/reference_en/detail.php?directory_name=jesmongx", + }, + { + name_en: "Ogudomon X", + name_jp: "Ogudomon X", + next_evolutions: [], + stage: 7, + sprite: "ogudomon_x", + id: "7-044", + url: "https://digimon.net/reference_en/detail.php?directory_name=ogudomon_x", + }, + { + name_en: "Chaosdramon", + name_jp: "Chaosdramon", + next_evolutions: [], + stage: 7, + sprite: "chaosdramon", + id: "7-045", + url: "https://digimon.net/reference_en/detail.php?directory_name=chaosdramon", + }, +] diff --git a/packages/vpet-core/src/data/monster-frame-catalog.ts b/packages/vpet-core/src/data/monster-frame-catalog.ts new file mode 100644 index 0000000..99685a2 --- /dev/null +++ b/packages/vpet-core/src/data/monster-frame-catalog.ts @@ -0,0 +1,63 @@ +export const MONSTER_FRAME_NAMES = Object.freeze([ + "angry", + "attack", + "eat_1", + "eat_2", + "happy", + "injured_1", + "injured_2", + "refuse", + "sleep_1", + "sleep_2", + "walk_1", + "walk_2", +] as const) + +export type MonsterFrameName = (typeof MONSTER_FRAME_NAMES)[number] + +export const STANDARD_ANIMATION_SEQUENCE = Object.freeze([ + "angry", + "attack", + "eat_1", + "eat_2", + "happy", + "injured_1", + "injured_2", + "sleep_1", + "sleep_2", + "walk_1", + "walk_2", +] as const) + +type SpriteFrames = Iterable +type CatalogFrames = Iterable + +export class MonsterFrame { + readonly content: string + + constructor(content: string) { + this.content = content + Object.freeze(this) + } +} + +export class MonsterFrameCatalog { + readonly #frames: Map> + + constructor(frames: CatalogFrames) { + this.#frames = new Map(Array.from(frames, ([sprite, spriteFrames]) => [sprite, new Map(spriteFrames)])) + Object.freeze(this) + } + + get(sprite: string, frameName: MonsterFrameName): MonsterFrame | undefined { + return this.#frames.get(sprite)?.get(frameName) + } +} + +export const MONSTER_FRAME_CATALOG = new MonsterFrameCatalog( + MONSTER_FRAME_DATA.map(([sprite, frames]) => [ + sprite, + frames.map(([frameName, content]) => [frameName, new MonsterFrame(content)]), + ]), +) +import { MONSTER_FRAME_DATA } from "./monster-frame-data.ts" diff --git a/packages/vpet-core/src/data/monster-frame-data.ts b/packages/vpet-core/src/data/monster-frame-data.ts new file mode 100644 index 0000000..9789317 --- /dev/null +++ b/packages/vpet-core/src/data/monster-frame-data.ts @@ -0,0 +1,651 @@ +// allow: SIZE_OK — generated static artwork data +import type { MonsterFrameName } from "./monster-frame-catalog.ts" + +export const MONSTER_FRAME_DATA: readonly [string, readonly [MonsterFrameName, string][]][] = [ + ["aegisdramon", [["angry", " ▄▄▄▄▄ \n ▄▄▄▄▀ ▀ ▀ ▀▄ \n ▀▄ ▄▀▀▀█▀▀▀█▄\n█▄ █▀▀█ ▀ █ ▄█\n█▀▀ ▄▀ █▀▀█▀▀█▀ \n █▀ ▄▀▀▄▄█▄▄█▄\n ▀▀██▄ █ █▄▀\n ▀▄▄▄██▀▀▀▀ "], ["attack", " ▄▄▄▄▄ \n ▄▄▄▄▀ ▀ ▀ ▀▄ \n ▄▀▄ ▄▄▄▀▀▀█▀▀█▄\n ██▄▀ ▄█ ▀ █ ▄█\n ▀▄▄ ▀▀ █▀▀█▀█▀ \n ▄█▄▄▄▄▄▀▀▄▄█▄█▄\n▀▄ ▄██▄ █▄▄▀\n ▀▀▀▄▄▄██▀▀▀▀ "], ["eat_1", " ▄▀█▀█▀▄ \n ▄▀▀▀▀ ▄▄▄▄▄▄█▄ \n▄ ▀▄▄▄█ ▄ █ ▀█\n██▄▀ ▄▀▄▄▄█▄▄▄█▀\n▀▄▄ ▀ ▀█▄ ▀▄ ▀▄ \n █▀▀▄▄▀ ▀▀█▀█▀█\n ▀█▀▀▀▄▄▄▄█▄▀▀ \n ▀▀▀▀▀ "], ["eat_2", " \n ▄▀█▀█▀▄ \n ▄▀▀▀▀ ▄▄▄▄▄▄█▄ \n▄ ▀▄▄▄█ ▄ █ ▀█\n██▄▀ ▄▀▄▄▄█▄▄▄█▀\n▀▄▄ ▀ ▀█▄ ▀▄ ▀▄ \n ▀▄▄▄▄▀ ▀▀█▀█▀█\n ▄████▄▄▄▄█▄▀▀ "], ["happy", " ▄▀█▀█▀▄ \n ▄▀▀▀▀ ▄▄▄▄▄▄█▄ \n▄ ▀▄▄▄█ ▄ █ ▀█\n██▄▀ ▄▀▄▄▄█▄▄▄█▀\n▀▄▄ ▀ █▀▀▄▀▄ ▀▄ \n ███ ▄▀▄ ▀█▀█▀█\n ▀▀███▄█▄▄█▄▀▀ \n ▀▄▄▄▄▄▀ "], ["injured_1", " ██ \n ▀ ▄▀█▀█▀▄ \n ▄▀▀▀▀ ▄▄▄▄▄▄█▄ \n▄ ▀▄▄▄█ ▄ █ ▀█\n██▄▀▄ ▀▄▄▄█▄▄▄█▀\n▀▄▄ ▀ █▄ ▀▄ ▀▄ \n ▀▄▄▄▄▀ ▀▀█▀█▀█\n █▄▄█▄▄▄▄█▄▀▀ "], ["injured_2", " ▀ ██\n ▀▄▄▄▄▄ ▄ \n ▄▄▄▄▀ ▀ ▀ ▀▄ \n ▀▄ ▄▀▀▀█▀▀▀█▄\n█▄ █▀▀█ ▀ █ ▄█\n█▀▀ ▄▄ █▀▀█▀▀█▀ \n █▀ ▄▀▀▀▀▄█▄▄█▄\n ▀████▄▄▄▄█▄█▄▀"], ["sleep_1", " \n ▄▄▄▄▄ \n ▄▄▄▄▀ ▀ ▀ ▀▄ \n ▀▄ ▄▀▀▀█▀▀▀█▄\n█▄ █▀▀█ ▀ █ ▄█\n█▀▀ ▄▄ █▀▀█▀▀█▀ \n █▀ ▄▀▀▄▄█▄▄█▄\n ▀███▄▄▄▄▄█▄█▄▀"], ["sleep_2", " \n ▄▀█▀█▀▄ \n ▄▀▀▀▀ ▄▄▄▄▄▄█▄ \n▄ ▀▄▄▄█ ▄ █ ▀█\n██▄▀ ▀▄▄▄█▄▄▄█▀\n▀▄▄ ▀▀ █▄ ▀▄ ▀▄ \n ▀▄▄▄▄▀ ▀▀█▀█▀█\n ▄███▄▄▄▄█▄▀▀ "], ["walk_1", " ▄▀█▀█▀▄ \n ▄▀▀▀▀ ▄▄▄▄▄▄█▄ \n▄ ▀▄▄▄█ ▄ █ ▀█\n██▄▀ ▄▀▄▄▄█▄▄▄█▀\n▀▄▄ ▀▀ █▄ ▀▄ ▀▄ \n ▀▄▄▄▄▀ ▀▀█▀█▀█\n ▄▀▀▀▄▄▄▄█▄▀▀ \n ▀▀▀▀▀ "], ["walk_2", " \n ▄▀█▀█▀▄ \n ▄▀▀▀▀ ▄▄▄▄▄▄█▄ \n▄ ▀▄▄▄█ ▄ █ ▀█\n██▄▀ ▄▀▄▄▄█▄▄▄█▀\n▀▄▄ ▀▀ █▄ ▀▄ ▀▄ \n ▀▄▄▄▄▀ ▀▀█▀█▀█\n ▄████▄▄▄▄█▄▀▀ "]]], + ["aeroveedramon", [["angry", " ▄▄▄▄▄▄▄▄▄▄▄\n█▀▄▄▀ ▄▄ ▀▄ ▄▄▀\n█▀ ▀▀ ████▄\n▀█▀▀▀▄ ████\n ▀█▀▀▀▄ ▀▄▀\n▄▀▀██▄█▀ ▄▀▀ █\n▀▄▄█ ▀ █▄▄▄██\n█▄█▄██▄▄▄█▄█▄█▄█"], ["attack", "█▀▄▄▄▀▀▀▀▀█▀▀▀▀█\n█▀ ▄█▀ █▄▀█▄\n██▀█▀█▄ ▀█▀▀█\n█ ██████▄ ▀ █\n ██▄█▄█▄▀ ▄▄██\n █▄▄▄▄▄▄▄▀ █ ▀█\n█▄█▀▄▀▀ ▄ ▀▄ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_1", "█▀▄▄▄▀▀▀▀▀█▀▀▀▀█\n█▀ ▄▀▄ █▄█▀ \n▀█████▄ ████▄\n █████ █ ▀\n ▄█▄▄▄▀ ▄ ▄█ █ \n ▀▄▄▄▄▄▀ █ ▄█▀█\n ▄█▀▄ █▀ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_2", " ▄▄▄▄▄▄▄▄▄▄▄\n█▀▄▄▀ ▄ ▀▄ ▄▄▀\n█▀ ▀ ▀ ███▄ \n▀█▀▀▀ ████\n ▀▀█▀▀ ▄ ▀██\n▄▀▀██▄▄█▀ ▄▀▀ ▄█\n▀▄▄█ ▀▀ █▄▄▀▄▀\n█▄█▄██▄▄▄█▄█▄█▄█"], ["happy", "█▀▄▄▄▀▀▀▀▀█▀▀▀▀█\n█▀ ▄▀▄ █▄██ \n▀█████▄ ▀████\n▄▄█████ ▄▀▀▀▀█\n█▄█▄▄▀ █ ▄ █\n▀█▄▄▄▄▄▄▀ ▀▀█▀█\n ▄█▀▄▀▀ ▀▀▀▄ \n█▄█▄▄██▀▀▀█▄▄█▄█"], ["injured_1", " ▄▄▄▄▄▄▄▄▄▄▄\n█▀▄▄▀ ▀▄ ▄▄▀\n█▀ ▄▄ ███▄ \n▀█▀▀▀ ████\n ▀█▀▀▀▄ ▀██\n ▄▀██▄█▀ ▀▄ █▀\n █▄█ ▀ ▄█▄▄█ \n█▄█▄██▄▄▄█▄█▄█▄█"], ["injured_2", " \n▄▄ ▄▀▀▀▀▀█▀▀▀▀█\n█▄▀▀ ▄ █▄██ \n█▄▄▄▄ ▀▀ ▀███▄\n ▀▄▄▄▄▄ ▀███\n ▄▄█▄ ▄█ ▄ ▀▄\n█▄▄█▀█▀ ▄▄█▄▄▀\n█▄█▄█▄▄▄▄█▄█▄█▄█"], ["sleep_1", " \n ▄█▄▀▀▀▀▀█▀▀█▄█ \n▄██ █▀████\n██ ▄ ▀█████\n▀▄▀▄ ▀▀ █ ▀█\n▄▀█▀ ▄▄▀ ▄▄▄█▄ \n█▄▀█▀▀ █ ▀ ▀ █\n█▄▄▄█▄▄▄▄▄█▄▄▄██"], ["sleep_2", " ▄ ▄▄▄▄▄▄▄▄ ▄ \n ▄██▀ ▀▄▄███\n ██▀ █████\n █▀▄ ▄▄▀ ████\n ▀█▄█ ▄ █▀█\n▄█ █▄▄▄█▀ ▄█▄▄█▄\n█▄▀█ ▀▀ █ ▀ ▀ █\n█▄▄▄█▄▄▄▄▄█▄▄▄██"], ["walk_1", "▄▄ ▄▀▀▀▀█▀▀▀▀█ \n█▄▀▀ ██▀ █▄██▄ \n█▄▄▄▄▄ ▀█████\n ▀▄▄▄▄▄ ▀█▀██\n ▄▄█ ▄█ ▄█ █▄▀\n █ █▀██▀ █ ▄█▀█\n ▄█▀▄ █▀ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄▄▄▄▄▄▄\n█▀▄▄▀ ▄▄▄ ▀▄ ▄▄▀\n█▀ ▀▀ ███▄ \n▀█▀▀▀▀ ████\n ▀▀█▀▀ ▄ ▄▀██\n▄▀▀██▄▄█▀ ▄▀▀ █\n▀▄▄█ ▀▀ █▄▄▄█▀\n█▄█▄██▄▄▄█▄█▄█▄█"]]], + ["agumon", [["angry", " \n ▄▀▀▀▀▀▄ \n ▄▄▀ ▄▀ █ \n █▄▄▄▄ █ \n █▄▄ ▀ ▄█▄ \n █▄▄▄█ ▄▄▄█\n ▄▄▀▄ ▄▀ ▀▄ \n █▄█▄▄█▀█▄█▄█▄█"], ["attack", " ▄▄▄▄▀▀▀▀▀▄ \n ▀▄▄▄ ▄█▀ █ \n █ ▀▀ █ \n ▄▀▀▀ █ \n ▀██▀▀ ▄ █ \n █▄█ █▄▄ █ \n ▄▄▀▀▄▄▄▄▀ █ \n █▄█▄▄█ █▄█▄█▄█"], ["eat_1", " ▄▄▄▄▀▀▀▀▀▄ \n ▀▄▄▄ ▀█▄ █ \n █ ▀▀▀ █ \n ▄▀▀▀ █ \n ▀██▀▀ ▄ █ \n █▄█ █▄▄ █ \n ▄▄▀▀▄▄▄▄▀ █ \n █▄█▄▄█ █▄█▄█▄█"], ["eat_2", " \n ▄▀▀▀▀▀▄ \n ▄▄▀▀ ▄▄ █ \n █▄▄▄ ▀ ▀ █ \n ▀▄▄▄▄▄▄ ▄▀ \n ▄▀█ ▄▀ ▀▄ \n █▄▀▄ ▀▄▀ ▀▄ \n █▄█▄▄█▀█▄█▄█▄█"], ["happy", " ▄▄▄▄▀▀▀▀▀▄ \n ▀▄▄▄ ▄▀▀▄ █ \n █ █ \n ▄▀▀▀ █ \n ▀██▀▀ ▄ █ \n █▄█ █▄▄ █ \n ▄▄▀▀▄▄▄▄▀ █ \n █▄█▄▄█ █▄█▄█▄█"], ["injured_1", " \n ▄▀▀▀▀▀▄ \n ▄▄▀▀ █ \n █▄▄▄ ▀▄▄ █ \n ▀▄▄▄▄▄ ▄▀ \n ▄▀█ ▄▀ ▀▄ \n █▄▀▄ ▀▄▀ ▀▄ \n █▄█▄▄█▀█▄█▄█▄█"], ["injured_2", " \n ▄▄▄▄▄ \n ▄█ ▀▄ \n ▄▀▀ ▄ ▀▄ \n ▀█▀▀ ▀▀ █ \n █▀█▀▀ ▄▀ ▀▄ \n █▄▀▄ ▀▄▀ ▀▄ \n █▄█▄▄█▀█▄█▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄ \n ▄█ ▀▄ \n ▄▀▀ ▄▄▄ █ \n ▀█▀▀ █ \n ▀██▀▀ ▄ ▀▄ \n █▀▀▄█ █ ▄▀▀█ \n ▀▄▄▄█▄▄███▄▄█ "], ["sleep_2", " \n ▄▀▀▀▀▀▄ \n ▄▄▀▀ ▀▄ \n █▄▄▄ ▀▀▀ █ \n ▀▄▄▄▄▄ ▄▀ \n ▄█ ▄ ▀▄ \n █▀▀▄█ █ ▄▀▀█ \n ▀▄▄▄█▄▄███▄▄█ "], ["walk_1", " ▄▄▄▄▄ \n ▄█ ▄▄ ▀▄ \n ▄▀▀ ▄██ ▀▄ \n ▀█▀▀ █ \n ▀██▀▀ ▄ █ \n █▄█ █▄▄ █ \n ▄▄▀▀▄▄▄▄▀ █ \n █▄█▄▄█ █▄█▄█▄█"], ["walk_2", " \n ▄▀▀▀▀▀▄ \n ▄▄▀▀ ▀█▄ █ \n █▄▄▄ ▀▀▀ █ \n ▀▄▄▄▄▄▄ ▄▀ \n ▄▀█ ▄▀ ▀▄ \n █▄▀▄ ▀▄▀ ▀▄ \n █▄█▄▄█▀█▄█▄█▄█"]]], + ["agumon_black", [["angry", " \n ▄█████▄ \n ▄▄███▀▄████ \n █▀▀▀▀████████ \n ████▄█████▀▀▄ \n █▄▄▄███████▀▀▄█\n ▄▄█████████▄ \n █▄█▄██▀█▄█▄█▄█"], ["attack", " ▄▄▄▄█████▄ \n ██████▀ ▄███ \n ▀▄ ▀█▄▄█████ \n █▄▄▄████████ \n ▀██████▀██ \n █▄████ ▀▀██ \n ▄▄██████████ \n █▄█▄██ █▄█▄█▄█"], ["eat_1", " ▄▄▄▄█████▄ \n ██████▄ ▀███ \n ▀▄ ▀█▄▄▄████ \n █▄▄▄████████ \n ▀██████▀██ \n █▄████ ▀▀██ \n ▄▄██████████ \n █▄█▄██ █▄█▄█▄█"], ["eat_2", " \n ▄█████▄ \n ▄▄████▀▀███ \n █▀▀▀██▄██▄███ \n ▀██████████▀ \n ▄▀████▀▄██▄ \n ██████▄▄▄██▄ \n █▄█▄██▀█▄█▄█▄█"], ["happy", " ▄▄▄▄█████▄ \n ███████▀▄▄▀█ \n ▀▄ ███████ \n █▄▄▄████████ \n ▀██████▀██ \n █▄████ ▀▀██ \n ▄▄██████████ \n █▄█▄██ █▄█▄█▄█"], ["injured_1", " \n ▄█████▄ \n ▄▄█████████ \n █▀▀▀██▄▀▀████ \n ▀██████████▀ \n ▄▀████▀▄██▄ \n ██████▄▄▄██▄ \n █▄█▄██▀█▄█▄█▄█"], ["injured_2", " \n ▄▄▄▄▄ \n ▄███████▄ \n ▄█████▀█████▄ \n ▀▄▄▄███▄▄████ \n ▄▀████▀▄██▄ \n ██████▄▄▄██▄ \n █▄█▄██▀█▄█▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄ \n ▄███████▄ \n ▄█████▀▀▀████ \n ▀▄▄▄█████████ \n ▀██████▀██▄ \n ██▄▀▄██ █▀▄▄█ \n ▀███▄██▄▄████ "], ["sleep_2", " \n ▄█████▄ \n ▄▄█████████▄ \n █▀▀▀██▄▄▄████ \n ▀██████████▀ \n ▄█████▀██▄ \n ██▄▀▄██ █▀▄▄█ \n ▀███▄██▄▄████ "], ["walk_1", " ▄▄▄▄▄ \n ▄██▀▀███▄ \n ▄█████▀ ███▄ \n ▀▄▄▄█████████ \n ▀██████▀██ \n █▄████ ▀▀██ \n ▄▄██████████ \n █▄█▄██ █▄█▄█▄█"], ["walk_2", " \n ▄█████▄ \n ▄▄███▄ ▀███ \n █▀▀▀██▄▄▄████ \n ▀██████████▀ \n ▄▀████▀▄██▄ \n ██████▄▄▄██▄ \n █▄█▄██▀█▄█▄█▄█"]]], + ["agumon_black_x", [["angry", " \n ▄██████▄ \n▄████████▀ ██ \n█████▀▀██████ \n▀▄▄▄▄███████ \n ▀▀████▀▀█▄█ ▄█\n █▄██ ▀▀█▄▄███\n █▄███████▄█▄█ "], ["attack", " ▄▄▄▄██████▄ \n█▀▀▀▀███▀ ███ \n █ ▄▄▀██████ \n █▄▄▄▄▄█████▄ \n ▀█▀█████▀▄ █ ▄█\n ▀▄█████▄█████\n ▄▄█████████▀ \n █▄████ ▀█▄█▄█ "], ["eat_1", " ▄▄▄▄██████▄ \n████████▀▄ ██ \n ▀▄ ▀█▄▄███ \n █▄▄▄▄█████ \n ▀████▀▀█▄█ ▄█\n █▄██ ▀▀█▄▄███\n ▄▄█████████▀ \n █▄████ ▀█▄█▄█ "], ["eat_2", " \n ▄██████▄ \n▄███████▀▄▀██ \n█████▀▀██████ \n▀▄▄▄▄███████ \n ▀▀████▀▀█▄█ ▄█\n █▄██ ▀▀█▄▄███\n █▄███████▄█▄█ "], ["happy", " ▄▄▄▄██████▄ \n████████▀▄▀██ \n ▀▄ ██████ \n █ ▄████▀▄ \n █▀██████▄█ █▄█\n ▀▄██████▄████\n ▄▄█████████▀ \n █▄████ ▀█▄█▄█ "], ["injured_1", " \n ▄██████▄ \n▄████████▀███ \n█████▀▀██▄▄██ \n▀▄▄▄▄███████ \n ▀▀█████▀█▄█ ▄█\n █▄██▀▄█▀▄▄███\n █▄███▄▄▄█▄█▄█ "], ["injured_2", " \n ▄▄▄▄▄▄ \n ▄▄▄████████▄ \n█████████ ▀██ \n█▀▀▀▀▄▄█████▀ \n ▀███████▀█▀▄ ▄█\n █▄██▀▄█▀▄▄███\n █▄███▄▄▄█▄█▄█ "], ["sleep_1", " \n ▄▄▄▄ \n ▄█ ████ \n█▀▄ █▀▄██ ████▄ \n█▀████████ █████\n█▀█▄▀███████▀███\n█▀██▄█▄▄▀███▄███\n██████▄▄▄█████▀ "], ["sleep_2", " \n ▄▄ \n ▄▄▄▀▀██ \n█▀▄ █▀▄██ ██▄ \n█▀███████ ▄████\n█▀█▄▀███████▀███\n█▀██▄█▄▄▀███▄███\n██████▄▄▄█████▀ "], ["walk_1", " ▄██████▄ \n▄███████▀▄ ██ \n█████▀▀█▄▄███ \n▀▄▄▄▄███████ \n ▀▀████▀▀█▄█ ▄█\n █▄██ ▀▀█▄▄███\n ▄▄█████████▀ \n █▄████ ▀█▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▄▄█████▀▀█▄ \n████████ ▀▄██ \n█▀▀▀▀▄▄█████▀ \n ▀█████████▀▄ ▄\n ▄▀██▀▄▄█▀▀▄██\n ████▄▄▄█████▀\n █▄████▀▀█▄█▄█ "]]], + ["agumon_bond_of_bravery", [["angry", " ▄▄ ▄▄▄▄ ▄▄ \n ▀█▀███▀██▄▀ ▄█ \n ▄███▄▄██ ▀▄██ \n ▀█▀▀▀▀██▄█▀▀ \n ▄▀█▀█▀▄▀▄ \n ▄▀█ ▄ ▄▀ █ \n █▄█ ▄ ▀▀▄█▀▄ \n █▄▄█▀ ▀█▄▄██ ██"], ["attack", " ██▄▄████▄▀█ ▄\n ▀▄██▀ ██▀▄ ██\n ██▀▀▀███ ▄██▀\n █ █▀██ \n█▀▀▀▀█▀▀▀ █▄ ▀▄▄\n▀▄▄█▄█ ▀ █ ▄█▀\n █▀ █▄ ▀█▀ \n █▄▄█ ▀▄▄▄█ "], ["eat_1", " ██▄▄████▄▀█ ▄ \n ▀▄█▀▄ ▄█▀▄ ██ \n ████████ ▄██▀ \n █ ▀█▀█▀ \n ▄█▀▀▀ █ █ \n █ █ ▀ █ █▄ \n █▀ █▄ ▀█ ▀▄▄\n █▄▄█ ▀▄▄▄█ ▀▀"], ["eat_2", " ▄▄ ▄▄▄▄ ▄▄ \n ▀█▀██▀███▄▀ ▄█ \n ▄██▄█▄██ ▀▄██ \n ▀█▀▀▀▀██▄█▀▀ \n ▄▀█▀█▀▄▀▄ \n ▄▀█ ▄ ▄▀ █ \n █▄█ ▄ ▀▀▄█▀▄ \n █▄▄█▀ ▀█▄▄██ ██"], ["happy", " ██▄▄████▄▀█ ▄ \n ▀▄█▀▄▀██▀▄ ██ \n ████████ ▄██▀ \n █ ▄█▀█▀ \n ▄█▀▀▀ █ █ \n █ █ ▀ █ █▄ \n █▀ █▄ ▀█ ▀▄▄\n █▄▄█ ▀▄▄▄█ ▀▀"], ["injured_1", " \n ▄▄ ▄▄▄▄ ▄▄ \n ▀█▀██▀███▄▀ ▄█ \n ▄███▄▄██ ▀▄██ \n ▀█▀▀▀▀██▄█▀▀ \n ▄▀█▀█▀ █ \n ▄██ ▄ ▄▀ █▄ \n █▄▄▄█▄██▄▄█ ▀██"], ["injured_2", " \n \n ██▄▄████▄▀█ ▄ \n ▀▄██ ▀██▀▄ ██ \n ████████ ▄██▀ \n ▀▄▄▄▄█▀█▀ \n ▄█▄▀ ▀▄▀ █▄ \n █▄▄▄██▄█▄▄█ ▀██"], ["sleep_1", " \n \n ██▄▄████▄▀█ ▄ \n ▀▄██▀▀██▀▄ ██ \n ████████ ▄██▀ \n █▄▄▄▄█▀█▀ \n ▄▀▀▄ ▄▄█▀▀▄ \n █▄▄█████▄▄█▀██"], ["sleep_2", " \n ▄▄ ▄▄▄▄ ▄▄ \n ▀█▀██████▄▀ ▄█ \n ▄███▄▄██ ▀▄██ \n ▀█▀▀▀▀██▄█▀▀ \n ▄▀█▀█▀▄▀▄ \n ▄▀▀▄ ▄▄█▀▀▄ \n █▄▄█████▄▄█▀██"], ["walk_1", " ██▄▄████▄▀█ ▄ \n ▀▄█▀▄ ▄█▀▄ ██ \n ████████ ▄██▀ \n ▀▄▄▄▄█▀█▀▀ \n █▄▀ ▀ █ █ \n █ █ ▀ █ █▄ \n █▀ █▄ ▀█ ▀▄▄\n █▄▄█ ▀▄▄▄█ ▀▀"], ["walk_2", " ▄▄ ▄▄▄▄ ▄▄ \n ▀█▀██▀▀▀█▄▀ ▄█ \n ▄██▄█▄██ ▀▄██ \n ▀█▀▀▀▀██▄█▀▀ \n ▄▀█▀█▀▄▀▄ \n ▄▀█ ▄ ▄▀ █ \n █▄█ ▄ ▀▀▄█▀▄ \n █▄▄█▀ ▀█▄▄██ ██"]]], + ["agumon_expert", [["angry", " ▄▄▄▄▄▄▄▄▄▄▄▄▄ \n ████████ █ \n▄▀▀▀ ▄█ █ ▀ \n█ ▀▀ █ \n █▀▀▀▀▀▄▄ ▄▄█▄ \n █▀█▀▀ ▄▀ ▄ █ \n ██▀▀▄▄█▄▀█▄▄▀▄\n █▄█▄▄█▀█▄█▄█▄█▀"], ["attack", " ▄▄▄██████████▄▄\n█▄▄▄▄▄ ▄█▀ █ █\n ▀█████ ▀▀ ▄█▄▄▀\n ▄██▄▄▀ ▀▄ █ \n █▄▄▄▄▄▄▄█▄▀ ▄▀ \n ▀▄█ ▄▀ ▀▄ \n ▄█▀▀▄▄█▄▀▀▀▄▀▄\n █▄█▄▄█ █▄█▄█▄█▀"], ["eat_1", " ▄▄▄▄███████▀▀█ \n█ ▀█▄ █ ▀ \n▀▀████▄ ▀▀▀ █ \n ▄▄███▀ █ \n █▄▄▄▄▄▀█▄▄█ \n █ ▄█ █ ▄ █▄ \n ▀██▀▀▄███▀▀▀▄▀▄\n █▄█▄▄█▀█▄█▄█▄█▀"], ["eat_2", " ▄▄▄▄▄▄▄▄▄▄▄▄▄ \n ████████ █ \n▄▀▀▀ ▄▀▄ █ \n█ ▄▄ █ \n █▀▀▀ ▄▄ ▄▄▀ \n ▀██▀▀ █▀ █▄ \n █▄▀▀▄ █▄▀▀▀▄▀▄\n █▄█▄▄█▀█▄█▄█▄█▀"], ["happy", " ▄▄▄██████████▄▄\n█ ▄▀█▀█ █\n▀▀█████ █ ▀\n ▄████▀ █▄▄ \n █▄▄▄▄▄▀▀▄▄▀ ▄ █\n █▄██ █ ██▀▀\n ▄█▀▀▄▄█▄▀▀▀▄▀▄\n █▄█▄▄█▀█▄█▄█▄█▀"], ["injured_1", " ▄▄▄▄▄▄▄▄▄▄▄▄▄ \n ████████ █ \n▄▀▀▀ ▄ █ ▀ \n█ ▀▀▀ █ \n █▀▀▀ ▄▄ ▄▄▀ \n ▀██▀▀ █▀ █▄ \n █▄▀▄ █▄▀▀▀▄▀▄\n █▄█▄▄█▀█▄█▄█▄█▀"], ["injured_2", " \n ▀▀████████▀▀█ \n ▄▄▄▀▀▀▀▀▀▀▀▄ █ \n█ ▀▄▄▄ █ \n▀▄▄▄▄ █ \n ▀▄▄▄▄▄▀█▄▀▀█▄ \n █▄▀▄ █▄▀▀▀▄▀▄\n █▄█▄▄█▀█▄█▄█▄█▀"], ["sleep_1", " \n ▄▄▀▀▀▄ \n█▀▄ █ █ █ \n█▀█▄▀▀▀█ ▀▄ ██\n█▀█▄▄▄ ▀▄ ▀ ██\n█▀ █ █ ▀ █ ██\n█▀▄█▄▄ ▀▀▀▄ ▀ ██\n▀█▄▄▀▀▀█▄▄█▀▀▀▄█"], ["sleep_2", " \n ▄▄▄ █▀▀▄ \n█▀▄ ▄▄█ █▄██ █ \n█▀█▀ █ ████ █▄\n█▀█▄▄▄▀▄ ▀▀ ██\n█▀ █ ▀█ █ ██\n█▀▄█▄▄▄ ▀▀▀▄▀ ██\n▀█▄▄▀▀▀▀█▄▄█▀███"], ["walk_1", " ▀▀████████▀▀█ \n ▄▄▄▀▀▀▀██▀▀▄ ▀ \n█ ▄██ █ \n▀▄▄▄▄▀▀ █ \n ▀▄▄▄▄▄▀█▄▄█ \n █ ▄█ █ ▄ █▄ \n ▀██▀▀▄███▀▀▀▄▀▄\n █▄█▄▄█▀█▄█▄█▄█▀"], ["walk_2", " ▄▄▄▄▄▄▄▄▄▄▄▄▄ \n ████████ █ \n▄▀▀▀ ▀█▄ █ \n█ ▄▄ ▀▀▀ █ \n █▀▀▀ ▄▄ ▄▄▀ \n ▀██▀▀ █▀ █▄ \n █▄▀▀▄ █▄▀▀▀▄▀▄\n █▄█▄▄█▀█▄█▄█▄█▀"]]], + ["agumon_x", [["angry", " ▄▄▄▄▄▄ \n ▄▄▄▀ ▄▀▄ \n█ ▄█▀ █ \n▀▄▄▄▄▄▄ █ \n ▀▄▄▄▄▄▄▀ ▀▀▀▀▄ \n █ █ ▀█▀ █ \n ▄█▀▄ ▄█ ▀▀▄ \n █▄█▄▄█▀▀█▄█▄█▄█"], ["attack", " ▄▄▄▄▀▀▀▀▀▀▄ \n█ ▄█▀ █ \n █▀█▀█▄ ▀▀ ▄▀▀▄ \n ▄█▄█▄█ ▀▄ █ \n ▀▄▄▄▄▄▄▄▄▀ ▄▀ \n ▄█ ▀▄ ▀▀█▀█\n █ ▀▄▄▄█ ▀▀█▀ \n █▄█▄▄▀ █▄█▄█▄█ "], ["eat_1", " ▄▄▄▄▀▀▀▀▀▀▄ \n█ ▀█▄ █ \n▀▀████▄ ▀▀▀ █ \n ▄▄████ ▄▀ \n ▀▄▄▄▄▄▄▀▄ ▀▄ \n █▄█ █▄▄▀▀▄▄▄\n ▄▄▀▀▄▄▄█ ▀▀█▄▀\n █▄█▄▄█ █▄█▄█▄█ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄▄▄▀ ▄ ▀▄ \n█ ▀ ▀ █ \n▀▄▄▄▄▀ █ \n ▀▄▄▄▄▄▄▄ ▀▄ \n █ █ █ ▄▀ ▀█▀█\n ▄█▀▄ ▀█▄ ▀▀█ \n █▄█▄▄█▀▀█▄█▄█▄█"], ["happy", " ▄▄▄▄▀▀▀▀▀▀▄ \n█ ▄▀▄ █ \n ▀█████ █ \n ████▀ ▄█▀▀▄\n ▀▄▄▄▄▄▄█▀ ▄▄▀ \n ▀▄█ █ ▀▀▄▄▄\n ▄▄▀▀▄▄▄█ ▀▀█▄▀\n █▄█▄▄█ █▄█▄█▄█ "], ["injured_1", " ▄▄▄▄▄▄ \n ▄▄▄▀ ▀▄ \n█ ▀▄▄▄ █ \n▀▄▄▄▄ █ \n ▀▄▄▄▄▄▄▄ ▀▄ \n █ █ █ ▄█ ▀▄▄▄\n █▀▀▄ ▀▀▄▀▀▀█▄▀\n █▄█▄▄█▀█▄█▄█▄█ "], ["injured_2", " \n ▄▀▀▀▀▀▀▄ \n▄▀▀▀ ▄ █ \n█ ▀▀▀ █ \n █▀▀▀ ▄▀ \n █▀█▀▀█▀ ▄ ▀▄▄▄\n █▀▀▄ ▀▀█ ▀█▄▀\n █▄█▄▄█▀█▄█▄█▄█ "], ["sleep_1", " \n ▄▀▀▀▀▀▀▄ \n▄▀▀▀ ▄▄▄ █ \n█ ▄ █ \n ▀█▀▀▀▀▀ ▄▀ \n ▄█▀█▀▀█▀ ▄▄█ \n█▄▄▀█ ▀▄█▄█▄█▀█\n█▄▄▄▄█▄▄▄█▄▄▄█▀ "], ["sleep_2", " \n ▄▄▄▄▀▀▀▀▀▀▄ \n█▄▄▄▄ ▄▄▄ █ \n ▀████ █ \n ▄▀▀▀▀▀ ▄▀ \n ▄█▀█▀▀█▀ ▄▄█ \n█▄▄▀█ ▀▄█▄█▄█▀█\n█▄▄▄▄█▄▄▄█▄▄▄█▀ "], ["walk_1", " ▄▀▀▀▀▀▀▄ \n▄▀▀▀ ▀█▄ █ \n█ ▄▄ ▀▀▀ █ \n █▀▀▀ ▄▄ ▄▀ \n ▀██▀▀▀▄▄ ▀▄ \n █▄█ █▄▄ ▀▀▄▄▄\n ▄▄▀▀▄▄▄█ ▀▀█▄▀\n █▄█▄▄█ █▄█▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▄▄▀ ▄▄ ▀▄ \n█ ▄██ █ \n▀▄▄▄▄▀▀ █ \n ▀▄▄▄▄▄▄▄ ▀▄ \n █ █ █ ▄▀ ▀█▀█\n ▄█▀▄ ▀█▄ ▀▀█ \n █▄█▄▄█▀▀█▄█▄█▄█"]]], + ["agunimon", [["angry", " █▀▄ ▄▄▀▀█▀▄▄▄ \n ▀▄ ███▀█▀ █▄▄█ \n ███▄▄██▀ ▄▀ \n █▄▄▄ ██▄█▀█ \n ▄▀▀▀▄█▀▄ ▀█ \n ▄▀██▀██▀▀█▀ \n ▀▄█▄▄▄█▄▄█ \n █▄▄█ ▀█▄▄▄█ "], ["attack", " ▄▄ ▄▄▄▄ \n █ ▀▄██▄▄█ █▀▀▄ \n ▀▄██▀ █▄▄▀▀█▀ \n █▀▀▀▀██ ▄█▄ \n █▀ ▄██▀▀▄█ \n ▄██▀█▄█▄▄█ \n █▄█▀ ▀█ █▄ \n █▄▄█▀▀▀▀██▄▄█ "], ["eat_1", " ▄▄ ▄▄▄▄ \n █ ▀▄██▄▄█ █▀▀▄ \n ▀▄██▄▄█▄▄▀▀█▀ \n █▀▀▀▄ █ ▄█▄ \n █▀▀ ▄█▀▀▄█ \n ▄██▀█▄█▄▄█ \n █▄█▀ ▀█ █▄ \n █▄▄█▀▀▀▀██▄▄█ "], ["eat_2", " █▀▄ ▄▄▀▀█▀▄▄▄ \n ▀▄ ███▀█▀ █▄▄█ \n ███▄▄██▀ ▄▀ \n ▀▄▄▄ ██▄█▀█ \n ▄▀▀▄█▀▄ ▀█ \n ▄▀██▀██▀▀█▀ \n ▀▄█▄▄▄█▄▄█ \n █▄▄█ ▀█▄▄▄█ "], ["happy", " █▀▄ ▄▄▀▀█▀▄▄▄ \n ▀▄ ██▀██▀ █▄▄█ \n ██▄█▄██▀ ▄▀ \n ▀▄▄▄ ██▄█▀█ \n ▄▄▄▀▀▄█▀▄▄██▄ \n █ ███▀███▄ █ \n ▀███▄▄▄████▀ \n █▄▄█ ▀█▄▄▄█ "], ["injured_1", " \n ▄▄ ▄▄▄▄ \n █ ▀▄██▄▄█ █▀▀▄ \n ▀▄██▀▀█▄▄▀▀█▀ \n █▀▀▀▀██ ▄█▄ \n █▀ ▄█▀█▀▄█ \n ▄▀▀██▀██▄▄▀▀▄ \n █▄▄█▄▄▄███▄▄█ "], ["injured_2", " \n \n █▀▄ ▄▄▀▀█▀▄▄▄ \n ▀▄ █████▀ █▄▄█ \n ███▄▄██▀ ▄▀ \n ▀▄▄ █▀▄█▀█ \n ▄▀▀▄▄▀███▄▀▀▄ \n █▄▄█▄▄▄███▄▄█ "], ["refuse", " ▄▄ ▄▄▄▄ \n █ ▀▄██▄▄█ █▀▀▄ \n ▀▄██▀ █▄▄▀▀█▀ \n █▀▀▀▀▀█ ▄█▄ \n █▀▀▀▄█▀▀▄█ \n ▄██▀█▄█▄▄█ \n █▄█▀ ▀█ █▄ \n▄ █▄▄█▀▀▀▀██▄▄█ "], ["sleep_1", " \n █▀▄ ▄▄▀▀█▀▄▄▄ \n ▀▄ █████▀ █▄▄█ \n ███▄▄██▀ ▄▀ \n ▀▄▄ ██▄█▀█ \n ▀▄▄██▀▄ ▀█ \n ▄▀▀██ ██▀▀█▀ \n █▄▄█▄▄▄█▄▄██ "], ["sleep_2", " \n ▄▄ ▄▄▄▄ \n █ ▀▄██▄▄█ █▀▀▄ \n ▀▄██▀▀█▄▄▀▀█▀ \n █▀▀▀▀██ ▄█▄ \n █▀ ▄██▀▀▄█ \n ▄▀▀██▀█▄▀▀▄▀ \n █▄▄█▄▄▄█▄▄██ "], ["walk_1", " █▀▄ ▄▄▀▀█▀▄▄▄ \n ▀▄ ███▀█▀ █▄▄█ \n ███▄▄██▀ ▄▀ \n ▀▄▄ ██▄█▀█ \n ▀▄▄██▀▄ ▀█ \n ▄▀██ ██▀▀█▀ \n ▀▄█▄▄▄█▄▄█ \n █▄▄█ ▀█▄▄▄█ "], ["walk_2", " ▄▄ ▄▄▄▄ \n █ ▀▄██▄▄█ █▀▀▄ \n ▀▄██▀ █▄▄▀▀█▀ \n █▀▀▀▀██ ▄█▄ \n █▀ ▄██▀▀▄█ \n ▄██▀█▄█▄▄█ \n █▄█▀ ▀█ █▄ \n █▄▄█▀▀▀▀██▄▄█ "]]], + ["airdramon", [["angry", " ▄▄▄ ▄▄ \n ▄▀▀▀ ▄▀ █ █ \n ▄▄▀ ▄█ ▀█ █\n█▄▄▀▀▄ ▀ █\n ▀▄▄▄▄▄▀ ▀▄█ █\n ▄▀▄▀ ▄▀ █▄▀\n █▀▄ ▄ ▀▀▀ ▄▀\n ▀▄█▄█▄█▄▀ "], ["attack", " ▄▄▀▀▀▀▀█ ▄▀█\n▄▀▀▀ ▄█ ▀█▄▀ ▄▀\n▀█▀█▀▄▀ ▄▀ █ \n ▄ ▄ █ ▄ ▄ █\n █▀▀▀▀▀█ ▄▀█ █\n ▀▀██▀ █ ▄▀▄\n ▀▄▀▄ ▄ ▀▀▀ █\n ▀▄█▄█▄█▄▀ "], ["eat_1", " ▄▄▀▀▀▀▀█ ▄▀█\n▄▀▀▀ ▄▄ ▀█▄▀ ▄▀\n▀▀▀▀▀▄ ▀ ▄▀ █ \n █ ▄ ▄ █\n █▀▀▀▀▀█ ▄▀█ █\n ▀▀██▀ █ ▄▀▄\n ▀▄▀▄ ▄ ▀▀▀ █\n ▀▄█▄█▄█▄▀ "], ["eat_2", " ▄▄ \n ▄▄▄▀▀█ █ █ \n ▄▀ ▄ ▀▄▄▀ █\n▄▀▀ ▀ ▀ ▀ █\n▀█▀▀ ▄ ▄█ █\n ▀▀█▀█▀ █▀ ▀▄▀\n █▀▄ ▄ ▀▀▀▄▄ \n ▀▄█▄█▄█▄▄▄█"], ["happy", " ▄▄▀▀▀▀▀█ ▄▀█\n▄▀▀▀ ▄▀▄ ▀█▄▀ ▄▀\n▀▀▀▀▀▄▄ ▄▀ █ \n ▄▀ ▄ ▄ █\n █▀▀▀ ▄ ▄▀█ █\n ▀▀██▀ █ ▄▀▄\n ▀▄▀▄ ▄ ▀▀▀ █\n ▀▄█▄█▄█▄▀ "], ["injured_1", " ▄▄▄ \n ▄▀▀▀ ▄▀ \n ▄▄▀ ▄ ▀█ \n█▄▄▄ ▀▀ ▀ ▀▀▄ \n ▀▄▄▄▄▀ █ ▄ ▀▄ \n ▄▀▄▀ ▄▀▀▀▄ ▀▄\n █▀▄ ▀ ▀▀▀▄█▄█\n ▀▄█▄█▄█▄▄▄▄▀"], ["injured_2", " \n ▄▄▄▀▀█ \n ▄▀ ▀▄▄ \n▄▀▀ ▀▄▄ ▄▀▄▄ \n▀█▀▀ ▄ ▄ ▄▀ \n ▀█▀█ █▄█ █ \n █▄▀▄ ▀▀ ▀▄█▄ █\n ▀▄█▄█▄█▄▄▄▄▄██"], ["sleep_1", " \n ▄▄▄ ▄▄ \n ▄▀▀▀ ▄▀ █ █ \n ▄▄▀ ▄▄ ▀█ █\n█▄▄▄ ▀ █\n ▀▄▄▄▄▄▄ ▄▀▄▄█ █\n ▄█▀▄▀ ▀▀▀▀▄█▄▀\n ▀▄█▄█▄█▄█▄▄▄▄█"], ["sleep_2", " \n ▄▄▄▀▀█ ▄▄ \n ▄▀ ▀▄▄█ █ \n▄▀▀ ▀▀ █ █\n▀█▀▀ ▄ █\n ▀█▀█▀▀ ▀▄▀▄█ █\n █▄▀▄ ▀▀▀▀▄█▄▀\n ▀▄█▄█▄█▄█▄▄▄▄█"], ["walk_1", " ▄▄▄▀▀█ █▀▄ \n ▄▀▄▄▄ ▀▄▄▀ ▀▄\n▄▀▀ ▀ ▀ ▄▀ █\n▀█▀▀ ▄ ▄ ▄ █\n ▀▀▀█▀▄ ▄▀█ █\n █▄▀ █ ▄▀▄\n ▀▄▀▄ ▄ ▀▀▀ █\n ▀▄█▄█▄█▄▀ "], ["walk_2", " ▄▄▄ ▄▄ \n ▄▀▀▀ ▄▀ █ █ \n ▄▄▀▄▀█▀ ▀█ █\n█▄▄▄ ▀ █\n ▀▄▄▄▄▄▀ ▀▄█ █\n ▄▀▄▀ ▄▀ █▄▀\n █▀▄ ▄ ▀▀▀ ▄▀\n ▀▄█▄█▄█▄▀ "]]], + ["aldamon", [["angry", " █▄ ▄▄▀▀█▀▄▄▄ \n █ ███▀█▀ █▄▄█ \n ███▄▄██▀▄▄▀ \n ▀▄▄▄ ██▄▄█▄█ \n ▄▀▀▄█▀█▀▀▄▀ \n ▄▀███▄██▀▀ █ \n ▀▄█▄▄█▄█▄▄▀ \n █▄▄█▀ ▀█▄▄█ "], ["attack", " ▄ ▄▄▄▄ \n █▀▄██▄▄█ █▀▀▄ \n ▀▄██▀ █▄▄▀▀█▀ \n █▀▀▀▀██ ▀█ ▄ \n ▀█▀ ▄█████▀█ \n ▄█▀█▀▄█▄▄▀▄ \n █ █▀▀█▀█ ▄▀ \n █▄██▀▀▀▀▀██▄█ "], ["eat_1", " ▄ ▄▄▄▄ \n █▀▄██▄▄█ █▀▀▄ \n ▀▄██▀▄▀█▄▀▀█▀ \n █▀▀▀▀██ ▀█ ▄ \n ▀█▀ ▄█████▀█ \n ▄█▀█▀▄█▄▄▀▄ \n █ █▀▀█▀█ ▄▀ \n █▄██▀▀▀▀▀██▄█ "], ["eat_2", " █▄ ▄▄▀▀█▀▄▄▄ \n █ ███▀█▀ █▄▄█ \n ███▄▄██▀▄▄▀ \n ▀▄▄▄ ██▄▄█▄█ \n ▄▀▀▄█▀█▀▀▄▀ \n ▄▀███▄██▀▀ █ \n ▀▄█▄▄█▄█▄▄▀ \n █▄▄█▀ ▀█▄▄█ "], ["happy", " █▄ ▄▄▀▀█▀▄▄▄ \n █ ███▀██ █▄▄█ \n ███▄█▄█▀▄▄▀ \n ▀▄▄▄ ██▄▄█▄█ \n ▄▀▀▄█▀█▀▀▄▀ \n ▄▀███▄██▀▀ █ \n ▀▄█▄▄█▄█▄▄▀ \n █▄▄█▀ ▀█▄▄█ "], ["injured_1", " \n ▄ ▄▄▄▄ \n █▀▄██▄▄█ █▀▀▄ \n ▀▄██▀▀██▄▀▀█▀ \n █▀▀▀▀██ ▀█ ▄ \n ▀█▀ ▄███▀▀██ \n ▄▀▀███▀▄██▀▀▄ \n █▄▄█▄██▄██▄▄█ "], ["injured_2", " \n \n █▄ ▄▄▀▀█▀▄▄▄ \n █ ██████ █▄▄█ \n ███▄▄██▀▄▄▀ \n ▀▄▄ ██▄▄█▄█ \n ▄▀▀▄▄█▀▄█▄▀▀▄ \n █▄▄█▄██▄██▄▄█ "], ["refuse", " ▄ ▄▄▄▄ \n █▀▄██▄▄█ █▀▀▄ \n ▀▄██▀ █▄▄▀▀█▀ \n █▀▀▀▀██ ▀█ ▄ \n ▄▀▀▀▄█████▀█ \n ██▀█▀▄█▄▄█▄ \n █ █▀▀█▀█ ▄▀ \n █▄██▀▀▀▀▀██▄█ "], ["sleep_1", " \n █▄ ▄▄▀▀█▀▄▄▄ \n █ ██████ █▄▄█ \n ███▄▄██▀▄▄▀ \n █▄▄ ██▄▄█▄█ \n ▀▄▄██▀█▀▀▄▀ \n ▄▀█▄█▄███▀ █ \n ██▄█▄▄█▄▄█▄▄█ "], ["sleep_2", " \n ▄ ▄▄▄▄ \n █▀▄██▄▄█ █▀▀▄ \n ▀▄██▀▀██▄▀▀█▀ \n █▀▀▀▀██ ▀█ ▄ \n ▀█▀ ▄███▀▀██ \n ▄▀███▀▄██▀ █ \n ██▄█▄██▄██▄▄█ "], ["walk_1", " █▄ ▄▄▀▀█▀▄▄▄ \n █ ███▀█▀ █▄▄█ \n ███▄▄██▀▄▄▀ \n █▄▄ ██▄▄█▄█ \n ▀▄▄██▀█▀▀▄▀ \n ▄▀█▄█▄██▀▀ █ \n ▀▄█▄▄█▄█▄▄▀ \n █▄▄█▀ ▀█▄▄█ "], ["walk_2", " ▄ ▄▄▄▄ \n █▀▄██▄▄█ █▀▀▄ \n ▀▄██▀ █▄▄▀▀█▀ \n █▀▀▀▀██ ▀█ ▄ \n ▀█▀ ▄█████▀█ \n ▄█▀█▀▄█▄▄▀▄ \n █ █▀▀█▀█ ▄▀ \n █▄██▀▀▀▀▀██▄█ "]]], + ["allomon_x", [["angry", " ▄▄▄ ▄▄▄ \n ▄█▄ ▀▀ █▄▄▀██▄\n█ ▀ ▄█ ██▄▀ █\n▀▄▄▄▄▄▄▄ ▄█▄▀█ \n █▄█▄█▄█▀▀▀ █ \n ▀▄▄▄▄█ ▄▀█▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["attack", " █▀▀▄▄▀▀█ ▄▄▄ \n▄▀█▀ ▄ ▀█ █▀█\n█▄▄▄▄▄▄▀▀ █▀▄▄▀\n █▄█▄█▄█▄ ██▀▄▀ \n ▄█▀█▀█▀█ █ ▀▄ \n█ █▀▀▀▀▀▀▄█ ▄▀█\n ██▀█▀▀▀▀ █▀▀▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_1", " █▀▀▄▄▀▀█ ▄▄▄ \n▄▀█▀ ▄ ▀█ █▀█\n█ ▀ ▀ █▀▄▄▀\n ▀█████▄ ▄██▀▄▀ \n ███▄▄▀▄▀▀ ▀█ \n █▀▄▄▄▄█ █ █▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_2", " ▄▄▄ ▄▄▄ \n ▄█▄ ▀▀ █▄▄▀██▄\n█ ▀ ▄▀▄ ██▄▀ █\n▀▄▄▄▄▄ ▄█▄▀█ \n █▄▄▄▄▄█▀▀▀ █ \n █ █▀▀▀█ ▄▀█▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["happy", " █▀▀▄▄▀▀█ ▄▄▄ \n▄▀█▀ ▄ ▀█ █▀█\n█ ▀ ▀ █▀▄▄▀\n ▀██████ ▄██▀▄▀ \n █████ █▀ ▀█ \n▄▀█▀▀▀▀ █ ▄█▀█\n▀▄█▀█▀▀▀▀▀█▀ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["injured_1", " \n \n █▀▀▄▄▀▀█ ▄▄▄ \n▄▀█▀ ▄ ▀██ █▀█\n█ ▀▀ ▀█▀▄▄▀\n ▀█▀▀▀ ▄▄██▀▄▀█\n▄▀▀████▀▀▀ ▄█▀▀█\n█▄▄█▄▄█▄▄▄██▄▄▄█"], ["injured_2", " \n \n ▄▄▄ ▄▄▄ \n ▄█▄ ▀▀ █▄▄▀██▄\n█ ▀ █▄ ██▄█ ▀\n▀▄▄▄▄▄ ▄█▀█▀█\n█ ▀▄▄▄▄▀▀▀ ▄█▀▀█\n█▄▄█▄▄█▄▄▄██▄▄▄█"], ["sleep_1", " \n ▄▄▄ ▄▄▄ \n ▄█▄ ▀▀ █▄▄▀██▄\n█ ▀ ▄▄▄ █▄▄▀ █\n▀▄▄▄▄▄ ▄█▄▀█ \n █▄▄▄▄▄██▀▀▄█▄ \n█▀▀█ █ ▄▀ █▄\n█▄▄▄█▄▄▄▄██▄▄▄██"], ["sleep_2", " \n █▀▀▄▄▀▀█ ▄▄▄ \n▄▀█▀ ▀██ █▀█\n█ ▀▀▀ ▀█▀▄▄▀\n ▀█▀▀▀ ▄▄██▀▄▀ \n ███████▀ ▄█▄ \n█▀▀█ █ ▄▀ █▄\n█▄▄▄█▄▄▄▄██▄▄▄██"], ["walk_1", " █▀▀▄▄▀▀█ ▄▄▄ \n▄▀█▀ ▄▄▀██ █▀█\n█ ▀▀ ▀█▀▄▄▀\n ▀█▀▀▀ ▄▄██▀▄▀ \n ▄██████▀▀ ▀█ \n █ █ █ █ █▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["walk_2", " ▄▄▄ ▄▄▄ \n ▄█▄ ▀▀ █▄▄▀██▄\n█ ▀ ▄█▀ ██▄▀ █\n▀▄▄▄▄▄ ▄█▄▀█ \n █▄▄▄▄▄█▀▀▀ █ \n █ █▀▀▀█ ▄▀█▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"]]], + ["alphamon", [["angry", " ▄██▄▄▄██▀ \n▄▄ █▄▀ ▄ █▄▄▄ \n█ ▀█ ▀ ▄▀ █ \n █▄▄██▄▀▀█▄██ \n█ ▀█ ▄▄ █ ▀██▄ \n ▀▀█▄▀▀▄▄███████\n ▄▀ ▀█▀█▀ ▀█▀██\n█▄█▄▄█ █▄█▄█▄█ ▀"], ["attack", " ▄██▄▄▄██▀ \n▄▄ █▄▀ ▄▄ █▄▄▄ \n█ ▀▀▄▄▀▀▄▀▀ █ \n █▄▄██▄▀▀█▄██ \n█ ▀█ ▄▄ █ ▀██▄ \n ▀▀█▄▀▀▄▄███████\n ▄▀ ▀█▀█▀ ▀█▀██\n█▄█▄▄█ █▄█▄█▄█ ▀"], ["eat_1", " ▄██▄▄▄██▀ \n █▄▀ ▄▄ █ \n█▀█ ▀▀ ██▀▀█ \n▀▄███ ▄█▄ ▄▄▀ █\n ▄▀█▀▀▀ ▀█▀ █▄██\n ▀▄█ ██ █▄▄████\n ▄▀▀▀▄▀▀▀▀████▀\n █▄█▄▄█▄█▄█▄█▀ "], ["eat_2", " ▄▄ ▄▄▄ \n ▄▀█▀▀▀▀█▀ \n█▀█▀ ▄▀▄ ██▀▀█ \n▀▄▀▄▄ ▄▄█ ▄▄▀ \n ▄▀█▀▀▀ ▀█▀ █▄ \n ▀▄█ ██ █▄▄███▄\n ▄▀▀█▄█▀▀▀▀████\n █▄█▄▄██▄█▄█▄█▀█"], ["happy", " ▄██▄▄▄██▀ \n▄▄ █▄▀ ▄ █▄▄▄ \n█ ▀█ ▀ ▀▄▀ █ \n █▄ ██ ▄▀█▄██▄ ▄\n█ ▀█▀██ █ ▀████\n ▀▀█▄▀▀▄▄███████\n ▄▀ ▀█▀█▀ ▀█▀▀ \n█▄█▄▄█ █▄█▄█▄█ "], ["injured_1", " \n ▄██▄▄▄██▀ \n █▄▀▄ ▀█ \n█▀█ ▀▀▀ ▄█▀▀█ \n▀▄ ██▄▄▀█▄ ▄▄▀ \n ▄▀█ ▄▄ ▀█▀ █▄ \n ▀▄█▄█▀▄▄█▄▄██ \n █▄█▄▄█▄█▄█▄███▄"], ["injured_2", " \n ▄▄ ▄▄▄ \n ▄▀█▀▀▀▀██ \n ▄█▀ █▄▄ █▄ \n█ ▀▄▄ ▄▄▀▀ ▀▄ \n▀▀▄█▀▀▀ ██▄▀█▀ \n █ █▄█▀▄▄█ ██ \n ███▄▄█▄█▄█████▄"], ["sleep_1", " \n ▄██▄▄▄██▀ \n █▄▀ █▄▄▄ \n█▀▀█ ▀▀ ▄▀ █ \n ▀▄▄█▄▄▀██▄▀█ \n █ █ ▄▄ █ ██▄ \n ▄▀▀▀█▀█▀▀▀▀████\n█▄█▄▄█▀█▄█▄█▄█▀█"], ["sleep_2", " ▄▄ ▄▄▄ \n ▄▀█▀▀▀▀█▀ \n▄▄▄█▀ ▄▄ █▀▀█ \n▀▄ ▀▄ ▄▄█ ▄▄▀ \n ▄▀█▀▀▀ ▀█▀ █▄ \n ▀▄█▄██▄▄█▄▄███▄\n ▄▀ █▄█▀ ▀████\n█▄█▄▄█ █▄█▄█▄█▀█"], ["walk_1", " ▄██▄▄▄██▀ \n▄▄ █▄▀ ▄▄ █▄▄▄ \n█ ▀█ ▀▀▄▀▀ █ \n ▀▄▄██▄▀██▄▀█ \n █ █ ▄▄ █ ██ \n ▀▀▄█▀▄▄██████▄\n ▄▀ ▀█▀ ▀█████\n █▄█▄▄█▄█▄█▄█ ▀█"], ["walk_2", " ▄▄ ▄▄▄ \n ▄▀█▀▀▀▀█▀ \n█▀▄█▀ ▄█ █▀▀█ \n▀▄▄█▄▄ ▄█▄▄█ █\n █ █▀▀█ █▄█▄██\n ▀█▀██ ▀███████\n ▄█ ▄▄▀ ▀███▀\n █▄█▄█▀▄█▄█▄█ "]]], + ["alphamon_ouryuken", [["angry", " ▄▄ ▄▄▄ \n ▄▀█▀▀▀▀█ ▄▄▄▄\n█▀█▀ ▄█ ▄█▀▀███▀\n▀▄▀▄▄ ▄█▄ ▄▄█▀▄█\n▄▀█▀▀▀ ▀█▀ █▄▀▄█\n▀▄█▄██▄ █▄▄▀ ▀▄█\n ▄▀ ▀███▀ ▀▄ ▀\n█▄█▄▄█ █▄█▄█▄█ "], ["attack", " ▄▄██▄██▀ \n █▄▀ ▄▄ █▄██\n █ ▀▀▄▀▀ ▀█\n ▄▄▀▀▀██▄███▀█▄█\n▀▄▄ ▄▄▄ ▀█ ▄▀▀█\n▀▄▄ ▄▄▀█████▀█\n ▄▀▀▀▀██▀█▀ ▀█ \n█▄█▄▄█ █▄█▄█▄█"], ["eat_1", " ▄▄██▄██▀ ▄▄▄▄\n▄▀█▄▀ ▄ ██▀▀██▀\n▀▄█ ▀ ▀ █ ▄▄▀▄█\n█ ▀███ ▄█▀▀ █▀▄█\n▀▄▄█▀▀▀▀█▄▄█▀▀▄█\n ▀▄██ ▄███ ▀\n ▄▀ ▀██▀ ▀▄ \n█▄█▄▄██▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄▄ \n ▄▀█▀▀▀▀█ ▄▄▄▄\n█▀█▀ ▄▀▄ █▀▀███▀\n▀▄▀▄▄ ▄▄█ ▄▄█▀▄█\n▄▀█▀▀▀ ▀█▀ █▄▀▄█\n▀▄█▄██▄ █▄▄▀ ▀▄█\n ▄▀ ▀███▀ ▀▄ ▀\n█▄█▄▄█ █▄█▄█▄█ "], ["happy", " ▄▄██▄██▀ ▄▄▄▄\n █▄▀ ▄ ██████▀\n█▀█ ▀ ▀▄▀ ██▄█\n▀▄████ ▄█▄█▀█▀▄█\n█ █▀▀▀▀█ ▄█▀▄█\n ▀▀█▄█▄ ███▀ ▀\n ▄▀ ▀█▀█▀ ▀▄ \n█▄█▄▄█ █▄█▄█▄█ "], ["injured_1", " \n ▄▄██▄██▀ \n▄▄█▄▀▄ █▄▄████\n█ █ ▀▀▄▀▀ ██▀▄\n █▄██▄▀█▄█▀▀█▄▀█\n█ █▄▄▄ ███ █▀█\n █▀ ▀███▀ ▀█▀▀█\n█▄█▄▄███▄█▄█▄█ "], ["injured_2", " \n ▄▄ ▄▄▄ \n ▄▀█▀▀▀▀█ ▄████\n ▄█▀ █▄ ▄█▀▀██▀▄\n█ ▀▄▄ ▄█ ▄▄▄█▄▀█\n▄█▀█▀▀ ▀██▄ ▀█▀█\n▀▄▀ ▀██▄▀ ▀▄▀▀█\n█▄█▄▄███▄█▄█▄█ "], ["sleep_1", " \n \n ▄▄██▄██▀ \n▄▄█▄▀ █▄▄████\n█ █ ▀▀▄▀▀ ██▀▄\n▄█▄██▄▀██▄██▀▄▀█\n█ ▀▄▄▄ ▄▀ ▀ ▀▄▀█\n█▄▄█████▄▄▄▄▄█▀█"], ["sleep_2", " \n ▄▄ ▄▄▄ \n ▄▀█▀▀▀▀█ ▄▄▄▄\n█▀█▀ ▄▄ ▄█▀▀███▀\n▀▄▀▄▄ ▄█▄ ▄▄█▀▄█\n▄██▀▀▀ ▀████▄▀▄█\n█ ▀▄██▄▄▀ ▀ ▀█▄█\n█▄▄█████▄▄▄▄▄█ ▀"], ["walk_1", " ▄▄██▄██▀ \n▄▄█▄▀ ▄▄ █▄▄████\n█ █ ▀▀▄▀▀ ██▀▄\n █▄██▄▀██▄▀█▀▄▀█\n█ █ ▄▄ █ █▀▄▀█\n ▀▀▄██▄▄███ ▀█\n ▄▀ ▀██▀ ▀▄ \n█▄█▄▄██▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄ \n ▄▀█▀▀▀▀█ ▄▄▄▄\n█▀█▀ ▄█▀▄█▀▀███▀\n▀▄▀▄▄ ▄█▄ ▄▄█▀▄█\n▄▀█▀▀▀ ▀█▀ █▄▀▄█\n▀▄█▄██▄ █▄▄▀ ▀▄█\n ▄▀ ▀███▀ ▀▄ ▀\n█▄█▄▄█ █▄█▄█▄█ "]]], + ["ancientbeetlemon", [["angry", "▄ ▄ ▄▄▄ \n▀█▄ ▄▀▄▄▀ \n ▀████▀██▄ ▄▀▀█\n ▀██▄▄███▀█ ▄▀▄\n ▄▀█▀█▀▀███▀▀▄▀ \n█ ▄█▄ ▄▄█▀ ▄▄▀ \n █▀ ██▀ █▀█▀█▄ \n█▄▄▀▀▀▀▄█▄▀▄▀▄█ "], ["attack", "█▄▀ ▄▀▀█ \n ██▄█▄▀█▄ ▄▄▄\n ▀██▄▄███▄▄▀ ▄▀\n█▀▄█ ██▀▀█▄▀▄▀\n▀▄▄█▀█▀▀██▄ █ \n ▄█▀█▄█▀████▀ \n █ ▀██▀▀▄▀█▀█▀▄ \n█▄▀▀ ▀▀█▄▀▄▀▄█ "], ["eat_1", "█▄▀ ▄▀▀█ \n ██▄█▄▀▀▄ ▄▄▄\n ▀█▄▄▄███▄▄▀ ▄▀\n ▄█ ███▄█▄▀▄▀\n▄▀ █▀█▀▀██▀ █ \n▀▄█▀█▄█▀█▄▄██ \n █ ▀██▀▀▄▀█▀█▀▄ \n█▄▀▀ ▀▀█▄▀▄▀▄█ "], ["eat_2", "▄ ▄ ▄▄▄ \n▀█▄ ▄▀▄▄▀ \n ▀████▀██▄ ▄▀▀█\n ██▄█▄██▀█ ▄▀▄\n ▄▀█▀█▀▀███▀▀▄▀ \n█ ▄█▄ ▄▄█▀ ▄▄▀ \n █▀ ██▀ █▀█▀█▄ \n█▄▄▀▀▀▀▄█▄▀▄▀▄█ "], ["happy", "█▄▀ ▄▀▀█ \n ██▄█▄▀█▄ ▄▄▄\n▄▄▀██▄█▄██▄▄▀ ▄▀\n█ ██ ████▄█▄▀▄▀\n ▀▄█▀█▀ ██▀ █ \n ▄█▀█▄█▀█▄▄██ \n █ ▀██▀▀▄▀█▀█▀▄ \n█▄▀▀ ▀▀█▄▀▄▀▄█ "], ["injured_1", " \n▄ ▄ ▄▄▄ \n▀█▄ ▄▀▄▄▀ \n ▀███▀███▄ ▄▀▀█\n ██▄▄███▀█ ▄▀▄\n ▄▀█▀█▀▀███▀█▄▀ \n █▄█▄ ▄▄██ █▀▄ \n█▄▄████▄█▄█▄█▄█ "], ["injured_2", " \n \n█▄▀ ▄▄▄▄ \n ██▄██▄▄▄▀ \n ▀██ ▀███▄ ▄▀▀█\n ▄███████▄█▄▄▀▄\n █ █ ▀ ██▀ ██▀ \n█████▄████▄▄█▄█ "], ["sleep_1", " \n▄ ▄ ▄▄▄ \n▀█▄ ▄▀▄▄▀ \n ▀███████▄ ▄▀▀█\n ██▄▄███▀█ ▄▀▄\n ▄▀█▀█▀▀███▀█▄▀ \n █▄█▄ ▄▄██ █▀▄ \n█▄▄████▄█▄█▄█▄█ "], ["sleep_2", " \n█▄▀ ▄▀▀█ \n ██▄█▄██▄ ▄▄▄\n ▀██▀▀███▄▄▀ ▄▀\n ▄███████▄█▄▀▄▀\n █ █ ▀ ██ ██ \n ▄▀▀█▄▀▀█▀▄▄█▄ \n█▄▄████▄█▄▀▄▀▄█ "], ["walk_1", " \n \n \n \n \n \n \n "], ["walk_2", "▄ ▄ ▄▄▄ \n▀█▄ ▄▀▄▄▀ \n ▀████▀▀█▄ ▄▀▀█\n █▄▄▄███▀█ ▄▀▄\n ▄▀█▀█▀▀███▀▀▄▀ \n█ ▄█▄ ▄▄█▀ ▄▄▀ \n █▀ ██▀ █▀█▀█▄ \n█▄▄▀▀▀▀▄█▄▀▄▀▄█ "]]], + ["ancientgarurumon", [["angry", " ▄██▄█▀▄ \n ▄▄▄▀ ▄ ▀▄ \n █▀ ▀▀ ▄▀▀█▀▄\n █████▄ █ ▄▀▀ \n ▄█▀▀▀▀▄███▀▀▄ \n █ ▀█▀▀▀▀█ ▄▀ \n ██▀▀███▀▀██ \n █▄█▄██ ██▄█▄█ "], ["attack", " ▄▄ ▄▄ \n ▄▀▀▀▀▀ █ \n ██▀ ▄█▀ ▄█▄▄ \n ▀▄▄▄▄▄▄ ▄▀ █▄▀\n ▀▄▄▄▄▄▀█▄▄█ \n ▄▀ █▄ ▄█▀ █ \n ▄█▀▀█▄▄▄█▄▄█▄ \n█▄█▄██▀▀▀██▄█▄█ "], ["eat_1", " ▄▄ ▄▄ \n ▄▀▀▀▀▀ █ \n ██▀ ▄▀▄ ▄█▄▄ \n ▀▄▄▄▄▄▄ ▄▀ █▄▀\n ▀▄▄▄▄▄▀█▄▄█ \n ▄▀ █▄ ▄█▀ █ \n ▄█▀▀█▄▄▄█▄▄█▄ \n█▄█▄██▀▀▀██▄█▄█ "], ["eat_2", " ▄██▄█▀▄ \n ▄▄▄▀ ▄▄ ▀▄ \n █▀ ▀ ▄▀▀█▀▄\n ████▄ █ ▄▀▀ \n █▀▀▀ ▄██▀▀▄ \n █ ██▀▀▀█ ▄▀ \n ▄█▀▀███▀▀█▄ \n █▄█▄██ ██▄█▄█ "], ["happy", " ▄██▄█▀▄ \n ▄▄▄▀ ▄ ▀▄ \n █▀ ▀ ▀ ▄▀▀█▀▄\n ██████ █ ▄▀▀ \n █▀▀▀▀▄██▀▀▄ \n █ ██▀▀▀█ ▄▀ \n ▄█▀▀███▀▀█▄ \n █▄█▄██ ██▄█▄█ "], ["injured_1", " \n ▄▄ ▄▄ \n ▄▀▀▀▀▀ █ \n ██▀ █▄ ▄█▄▄ \n ▀▄▄▄▄▄▄ ▄▀ █▄ \n █▄▄▄▄▄▀█▄▄█ \n▄▀ ▀██▄ ▄█▀ ▀█ \n█▄▄▄██▄▄▄█▄▄▄█ "], ["injured_2", " \n \n ▄██▄█▀▄ \n▄▄▄▀ ▄ ▀▄ \n█▀ ▀▀ ▄▀▀█▀▄ \n ██▀▀▀█▄█ ▄▀▀ \n▄▀ ▀██▄ ▄█▀ ▀█ \n█▄▄▄██▄▄▄█▄▄▄█ "], ["refuse", " ▄▄ ▄▄ \n ▄▀▀▀▀▀ █ \n ██▀ ▄█ ▄█▄▄ \n ▀▄▄▄▄▄▄ ▄▀ █▄▀\n ▀▄▄▄▄▄▀█▄▄█ \n ▄▀ █▄ ▄█▀ █ \n ▄█▀▀█▄▄▄█▄▄█▄ \n█▄█▄██▀▀▀██▄█▄█ "], ["sleep_1", " \n ▄▄ ▄▄ \n ▄▀▀▀▀▀ █ \n ██▀ ▄▄ ▄█▄▄ \n ▀▄▄▄▄▄▄ ▄▀ █▄ \n █▄▄▄▄▄▀█▄▄█ \n▄▀ ▀██▄ ▄█▀ ▀█ \n█▄▄▄██▄▄▄█▄▄▄█ "], ["sleep_2", " \n ▄██▄█▀▄ \n ▄▄▄▀ ▀▄ \n █▀ ▀▀ ▄▀▀█▀▄\n █▀▀▀▀▀▄█ ▄▀▀ \n ▄▀▀▀██▀███ █ \n▄▀ ▀██▄ ▄█▀ ▀█ \n█▄▄▄██▄▄▄█▄▄▄█ "], ["walk_1", " ▄██▄█▀▄ \n ▄▄▄▀ ▄▄ ▀▄ \n █▀ ▀▀ ▄▀▀█▀▄\n █▀▀▀▀▀▄█ ▄▀▀ \n █▀█▀▀ ██▀▀▄ \n █ █▀ ▀█ ▄▀ \n ▄█▀▀███▀▀█▄ \n █▄█▄██ ██▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n ▄▀▀▀▀▀ █ \n ██▀ ▄█▀ ▄█▄▄ \n ▀▄▄▄▄▄▄ ▄▀ █▄▀\n ▀▄▄▄▄▄▀█▄▄█ \n ▄▀ █▄ ▄█▀ █ \n ▄█▀▀█▄▄▄█▄▄█▄ \n█▄█▄██▀▀▀██▄█▄█ "]]], + ["ancientgreymon", [["angry", " ▄▄ ▄▄ ▄▀▄█▀▀▄ \n█ █▄▀ ▀▄▄▀ ▄ █\n█ ▀ ▄█ ▄█▄ ▀█\n█ ▄▄▄▄ ██▀ ▀▄█\n ▀████ ███▀▄▄ ▀▄\n ▀▄▄▄▀ ▀▄▄▀ ▀█▀\n ▄▀ █▄▀ █▄▄█ █ \n █▄█▄█▄█▄▀ █▄▄█ "], ["attack", " ▄▄ ▄▄ ▄▀▄█▀▀▄ \n█ █▄▀ ▀▄▄▀ ▄ █\n█ ▀ ▄█▀ ▄█▄ ▀█\n█ ▄▄▄▄ ██▀ ▀▄█\n ▀▄▄▄▄▄███▀▄▄ ▀▄\n ▄▀▀█▄ ▀▄▄▀ ▀█▀\n █▄█▄▄▄█▄█▄▄█ █ \n ▀█▄██ "], ["eat_1", " ▄ ▄▄▄ \n▄▀█ ▄▀▀▄▀ █▀ ▀▄\n█ █▀ ▄ ▀▀▄ ▀▄█\n█ ▀ ▀ ▄██▀ ▄ █\n▀▄▀▀▀▀ ▄██▄ █▀\n ▀▀██▀▀█▀ █▀▄▄█\n ▄▀ █▄▀ █▄▄█ █ \n █▄█▄█▄█▄▀ █▄██ "], ["eat_2", " ▄▄ ▄▄ ▄▀▄█▀▀▄ \n█ █▄▀ ▀▄▄▀ ▄ █\n█ ▀ ▄▄ ▄█▄ ▀█\n█ ▄▄▄ ██▀ ▀▄█\n ▀████ ███▀▄▄ ▀▄\n ▀▄▄▄▀ ▀▄▄▀ ▀█▀\n ▄▀ █▄▀ █▄▄█ █ \n █▄█▄█▄█▄▀ █▄▄█ "], ["happy", " ▄▄ ▄▄ ▄▀▄█▀▀▄ \n█ █▄▀ ▀▄▄▀ ▄ █\n█ ▀ ▄▀▄ ▄█▄ ▀█\n█ ▄▄▄▄ ██▀ ▀▄█\n ▀████ ███▀▄▄ ▀▄\n ▀▄▄▄▀ ▀▄▄▀ ▀█▀\n ▄▀ █▄▀ █▄▄█ █ \n █▄█▄█▄█▄▀ █▄▄█ "], ["injured_1", " \n ▄ ▄▄▄ \n▄▀█ ▄▀▀▄▀ █▀ ▀▄\n█ █▀▄ ▀▀▄ ▀▄█\n█ ▀▀ ▄██▀ ▄ █\n▀▄▀▀▀▀ ▄██▄▄▄ █▀\n █▀▀██ ▀▄█▄ ▀██\n █▄█▄█▄█▄█▄▄▄▄█ "], ["injured_2", " \n \n ▄▄ ▄▄ ▄▀▄█▀▀▄ \n█ █▄▀ ▀▄▄▀ ▄ █\n█ ▀ █▄ ▄█▄ ▀█\n█ ▄▄▄▄ ██▄▄▄▀▄█\n ▀▄▄▄▄▄▀▀▄█▄ ▀█▄\n █▄█▄█▄█▄█▄▄▄▄██"], ["refuse", " ▄ ▄▄▄ \n▄▀█ ▄▀▀▄▀ █▀ ▀▄\n█ █▀ ▄ ▀▀▄ ▀▄█\n█ ▀▀ ▄██▀ ▄ █\n▀▄▀▀▀▀ ▄██▄ █▀\n ▀▀██▀▀█▀ █▀▄▄█\n ▄▀ █▄▀ █▄▄█ █ \n █▄█▄█▄█▄▀ █▄██ "], ["sleep_1", " \n ▄ ▄▄▄ \n▄▀█ ▄▀▀▄▀ █▀ ▀▄\n█ █▀ ▀▀▄ ▀▄█\n█ ▀▀ ▄██▀ ▄ █\n▀▄▀▀▀▀ ▄██▄▄▄ █▀\n █▀▀██ ▀▄█▄ ▀██\n █▄█▄█▄█▄█▄▄▄▄█ "], ["sleep_2", " \n ▄▄ ▄▄ ▄▀▄█▀▀▄ \n█ █▄▀ ▀▄▄▀ ▄ █\n█ ▀ ▄▄ ▄█▄ ▀█\n█ ▄▄▄▄ ██▀ ▀▄█\n ▀▄▄▄▄▄███▀▄▄ ▀▄\n ▄▀▀█▄ ▀▄█▄ ▀█▀\n █▄█▄█▄█▄█▄▄▄▄█ "], ["walk_1", " ▄▄ ▄▄ ▄▀▄█▀▀▄ \n█ █▄▀ ▀▄▄▀ ▄ █\n█ ▀ ▄█▀ ▄█▄ ▀█\n█ ▄▄▄▄ ██▀ ▀▄█\n ▀▄▄▄▄▄███▀▄▄ ▀▄\n █▀ ▀▄▄▀ ▀█▀\n ▄▀ █▄▀ █▄▄█ █ \n █▄█▄█▄█▄▀ █▄▄█ "], ["walk_2", " ▄▄ ▄▄ ▄▀▄█▀▀▄ \n█ █▄▀ ▀▄▄▀ ▄ █\n█ ▀ ▄█▀ ▄█▄ ▀█\n█ ▄▄▄▄ ██▀ ▀▄█\n ▀▄▄▄▄▄███▀▄▄ ▀▄\n ▄▀▀█▄ ▀▄▄▀ ▀█▀\n █▄█▄▄▄█▄█▄▄█ █ \n ▀█▄██ "]]], + ["ancientkazemon", [["angry", " ▄▀▀█▄▄▄▄ \n █▄▄▀ ▀▀▄ \n █ ▄█▀▀▄▄▀▀▀ \n █▄▀▀▀ █▄██ \n █ █ ██ ██ █▀▄ \n ▀▄█▀▀▀█▄▄▀█ █ \n ▄▀▄▄▀▀▄ ▀▀ \n █▄▄█ █▄▄█ "], ["attack", " ▄▄▄ \n ▄▀ ▄▀▀▀▀▀▄▄ \n ▀█▀ ▄▄▄ ▄█▄ \n █▄▀█▄▀ █▀▄▄ \n ▀▄▄▄██▄ ▀▄ \n ▄▀▄▀▄▄▀ █▄ █ \n █▄█ ▀▄▄█ ▀▄█ \n █▄▄█▀▀▀▄▄▄█ "], ["eat_1", " ▄▄▄ \n ▄▀ ▄▀▀▀▀▀▄▄ \n ▀█▀ ▄▄▄ ▄█▄ \n █▄▄█▀▄ █▀▄▄ \n ▀▄▄▄▄█▄▄ ▀▄ \n ▄▀▀▄▀▄▄█▄ ▀▄ █ \n ▀▄▄█ ▀█▄▄▄▀▄█ \n █▄▄█▀▀▀▄▄▄█ "], ["eat_2", " ▄▀▀█▄▄▄▄ \n █▄▄▀ ▀▀▄ \n █ ▄▀█▀▄▄▀▀▀ \n ▀█▀▀▀ █ ▀█ \n █ ██ ▄▀▄ ▀▄ \n █ █▀▀█ █▀▄ █ \n █▀▄▄▀▀█ ▀▀ \n █▄▄█ █▄▄█ "], ["happy", " ▄▀▀█▄▄▄▄ \n █▄▄▀ ▀▀▄ \n █ ▄▄█▀▀▄▄▀▀▀ \n ██ ▀ ▀▄█▄▀█ \n █ ▀███ █ █ ▀▄ \n ▀▄█▄▄█▄▄█▀▄ █ \n ▄▀▄▄▀▀▄ ▀▀ \n █▄▄█ █▄▄█ "], ["injured_1", " \n \n ▄▀▀█▄▄▄▄ \n █▄▄▀ ▀▀▄ \n █ ▄▄██▀▄▄▀▀▀ \n ▀█ ▄▄▀ ▀█ \n ▄▀▀█▀██▀▀▀▄ ▀▄ \n ▀▄▄█▄▄█▄▄▄▀▄▄█ "], ["injured_2", " \n \n ▄▄▄ \n█▀ ▄▀▀▀▀▀▄▄ \n █▀ ▄▄▄ ▄█▄ \n █▄▀▀▀▀ █▀▄▄ \n ▄▀▀█▀██▀▀▀▄▀▄ \n ▀▄▄█▄▄█▄▄▄█▄▄█ "], ["refuse", " ▄▄▄ \n ▄▀ ▄▀▀▀▀▀▄▄ \n ▀█▀ ▄▄▄ ▄█▄ \n █▄▀██▀ █▀▄▄ \n ▀▄▄▄██▄ ▀▄ \n ▄▀▄▀▄▄▀ █▄ █ \n █▄█ ▀▄▄█ ▀▄█ \n █▄▄█▀▀▀▄▄▄█ "], ["sleep_1", " \n ▄▄▄ \n ▄▀ ▄▀▀▀▀▀▄▄ \n ▀█▀ ▄▄▄ ▄█▄ \n █▄▀▀▀▀ █▀▄▄ \n ▀▄▄▄██▄ ▀▄ \n █▀▀▄▀▄▄▀▀▀▄ █ \n ▀▄▄█▄▄█▄▄▄▀▀▄█ "], ["sleep_2", " \n \n ▄▀▀█▄▄▄▄ \n █▄▄▀ ▀▀▄ \n █ ▄▄██▀▄▄▀▀▀ \n ▀█ ▄▄▀ ▀█ \n █▀▀█▀██▀▀▀▄ ▀▄ \n ▀▄▄█▄▄█▄▄▄▀▄▄█ "], ["walk_1", " ▄▀▀█▄▄▄▄ \n █▄▄▀ ▀▀▄ \n █ ▄▄▀█▀▄▄▀▀▀ \n ▀█ ▀▀▄▄▀ ▀█ \n ▄▀█▀▀█▀▄ ▀▄ \n █ █ ▀█ █▀▄ █ \n █▀▄▄▀▀█ ▀▀ \n █▄▄█ █▄▄█ "], ["walk_2", " ▄▄▄ \n ▄▀ ▄▀▀▀▀▀▄▄ \n ▀█▀ ▄▄▄ ▄█▄ \n █▄▀█▄▀ █▀▄▄ \n ▀▄▄▄██▄ ▀▄ \n ▄▀▄▀▄▄▀ █▄ █ \n █▄█ ▀▄▄█ ▀▄█ \n █▄▄█▀▀▀▄▄▄█ "]]], + ["ancientmegatheriummon", [["angry", " ▄▄▄▄▄▄ \n ▄▀▄▀ ▀▄ \n▄▀▄▀▀▀▀▄▀▄▀▄▀▄ \n█▀ ▄▄▄ █ █ \n▀▄▀ ▄ █▄█ █ ▀▄ \n █ ▀▀▄██ █ ▄ █ \n ▀▄▄▀ █ ▄▄ █ ▀▄\n █▄▄█▄▄██▄▄█▄█▄█"], ["attack", "▄▀▄▀▀▀▀▄▀▀▀▄ \n█▀ ▄▄▄ █ ▄ █ \n▀▄▀ ▄ █▄█▀ ▀ █ \n █ ▀ ▀█ ▄ █ \n ▀████ █ █ ▄ █ \n ████ █▀ ▀ █ █ \n ▀▄▄▄█▀▄ ▄ ▄ █\n █▄▄▀▄▄▄█▀▄█▄█ "], ["eat_1", " ▄▀█▀▀▀▀▄ \n ▄ █▄█▄ ▄ ▄ █ \n█▄▀ ▀▄▀ ▀ █ \n█ ▄▀▀▀▄ █ ▄ █ \n █ ▄▀ ██▀ █ ▄ █ \n █▄▄▄▄ ▀ ▀ █ █ \n █▀▀▀▄█▄ ▄ ▄ █\n ███▀█▄▄█▀▄█▄█ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄▀▄▀ ▀▄ \n▄▀▄▀▀▀▀▄▀▄▀▄▀▄ \n█▀ ▄▄▄ █ █ \n▀▄▀ ▄ █▄█ █ ▀▄ \n █ ▀ ▀██ █ ▄ █ \n ▀▄▄▀▀█ ▄▄ █ ▀▄\n █▄▄█▄▄██▄▄█▄█▄█"], ["happy", " ▄▀█▀▀▀▀▄ \n ▄ █▄█▄ ▄ ▄ █ \n█▄▀ ▀▄▀ ▀ █ \n█ ▄▀▀▀▄ █ ▄ █ \n █ ▄▀▄██▀ █ ▄ █ \n █▄▄▄▄ ▀ ▀ █ █ \n █▀▀▀▄█▄ ▄ ▄ █\n ███▀█▄▄█▀▄█▄█ "], ["injured_1", " \n ▄▀█▀▀▀▀▄ \n ▄ █▄█▄ ▄ ▄ █ \n█▄▀ ▀▄▀ ▀ █ \n█ ▄▀▀▀▄ █ ▄ █ \n █ █▄ ██▀ █ █ \n █ ▄▀█▀ ▀ █ █ \n█▄██▄▄█▄▄██▄█▄▄█"], ["injured_2", " \n ▄▄▄▄▄▄ \n ▄▀▄▀ ▀▄ \n▄▀▄▀▀▀▀▄▀▄▀▄▀▄ \n█▀ ▄▄▄ █ █ \n▀▄▀▄ █▄█ █ ▀▄ \n █ ▀▀▄██ █ ▄ █ \n██▄▄█▄█▄▄██▄█▄▄█"], ["sleep_1", " \n ▄▄▄▄▄▄ \n ▄▀▄▀ ▀▄ \n▄▀▄▀▀▀▀▄▀▄▀▄▀▄ \n█▀ ▄▄▄ █ █ \n▀▄▀ █▄█ █ ▀▄ \n █ ▀▀▄██ █ ▄ █ \n██▄▄█▄█▄▄██▄█▄▄█"], ["sleep_2", " \n ▄▀█▀▀▀▀▄ \n ▄ █▄█▄ ▄ ▄ █ \n█▄▀ ▀▄▀ ▀ █ \n█ ▄▀▀▀▄ █ ▄ █ \n █ ▄▄ ██▀ █ █ \n █ ▄▀█▀ ▀ █ █ \n█▄██▄▄█▄▄██▄█▄▄█"], ["walk_1", " ▄▀█▀▀▀▀▄ \n ▄ █▄█▄ ▄ ▄ █ \n█▄▀ ▀▄▀ ▀ █ \n█ ▄▀▀▀▄ █ ▄ █ \n █ ▄▀ ██▀ █ ▄ █ \n █ ▄▀█▀ ▀ █ █ \n ▀█▄ ▄▄ ▄ ▄ █\n █▄█▀█▄▄█▀▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▀▄▀ ▀▄ \n▄▀▄▀▀▀▀▄▀▄▀▄▀▄ \n█▀ ▄▄▄ █ █ \n▀▄▀ ▄ █▄█ █ ▀▄ \n █ ▀ ▄██ █ ▄ █ \n ▀▄▄▀ █ ▄▄ █ ▀▄\n █▄▄█▄▄██▄▄█▄█▄█"]]], + ["ancientmermaimon", [["angry", " ▄▄ \n ▄▄███▄▄ \n ▄███▀ █▀▄ \n ▀█▀▀▀▀█▄▄██▀ \n █▄▄██▄▀█ \n ▄▀█▀ ▀█▀▀▄ █▄█ \n ▀▄█▀█▀█▄▄█▄▄██ \n ▀█▄█▄█▄█▄█▀ "], ["attack", " ▄██ \n ▄███▀██▀ \n ████▄▄█ ▀▄▄▄ \n ▄█ ▄▄ █▀██▀ \n█ ▀▄██▄██ █ \n ▀▄█▄▄▄█▄▄▀ █▄█\n █▀▄▀▄▀█▄▄▄▄█▀\n ▀▄█▄█▄█▄▀▀ "], ["eat_1", " ▄██ \n ▄███▀██▀ \n ████▄██ ▀▄▄▄ \n █ ▄▄ █▀██▀ \n ▀▄██▄██▄▀ \n ▄▀█▄▄▄█ █ █▄█\n ▀█▀▄▀▄▀█▄▄▄▄█▀\n ▀▄█▄█▄█▄▀▀ "], ["eat_2", " ▄▄ \n ▄▄███▄▄ \n ▄██▀▄▀█▀▄ \n ▀█▀▀▀▀█▄▄██▀ \n █▄▄██▄▀█ \n ▄▀█▀ ▀█▀▀▄ █▄█ \n ▀▄█▀█▀█▄▄█▄▄██ \n ▀█▄█▄█▄█▄█▀ "], ["happy", " ▄██ \n ▄██▀███▀ \n ███▄█▄█ ▀▄▄▄ \n █ ▄▄ █▀██▀ \n ▄▀▄██▄█▀▀█ \n ▀▄█▄▄▄█▄▄▀ █▄█\n █▀▄▀▄▀▄█▄▄▄█▀\n ▀▄█▄█▄█▄▀▀ "], ["injured_1", " \n ▄▄ \n ▄▄███▄▄ \n ▄███ ▀█▀▄ \n ▀█▀▀▀▀█▄▄██▀ \n █▄▄██▄▀█ \n ▄▀█▀ ▀█▀▀▄ █▄█\n ▀▄█████▄▄██▄█▀ "], ["injured_2", " \n \n ▄██ \n ▄██▀███▀ \n ████▄▄█ ▀▄▄▄ \n ▀▄ ▄█▀██▀ \n▄▀▀██▀██▀▀▄ ▄ ▄\n▀▄▄█▄▄▄█▄▄██▄██▀"], ["sleep_1", " \n ▄▄ \n ▄▄███▄▄ \n ▄███▀▀█▀▄ \n ▀█▀▀▀▀█▄▄██▀ \n █▄▄██▄▀█ \n ▄▀█▀ ▀█▀▀▄ █▄█\n ▀▄█████▄▄██▄█▀ "], ["sleep_2", " \n ▄██ \n ▄██████▀ \n ████▄▄█ ▀▄▄▄ \n ▀▄ ▄█▀██▀ \n ▄██▀███▄▀ █▄█ \n █ █▄▄▄█ █ ▄██ \n ▀▀█▄█▄█████▀ "], ["walk_1", " ▄██ \n ▄███▀██▀ \n ████▄██ ▀▄▄▄ \n ▀▄ ▄█▀██▀ \n ▄██▀███▄▀ \n █ █▄▄▄█ █ █▄█\n ▀█▀▄▀▄▀█▄▄▄▄█▀\n ▀▄█▄█▄█▄▀▀ "], ["walk_2", " ▄▄ \n ▄▄███▄▄ \n ▄███▀▄█▀▄ \n ▀█▀▀▀▀█▄▄██▀ \n █▄▄██▄▀█ \n ▄▀█▀ ▀█▀▀▄ █▄█ \n ▀▄█▀█▀█▄▄█▄▄██ \n ▀█▄█▄█▄█▄█▀ "]]], + ["ancientsphinxmon", [["angry", " ▄▄▄ ▄▄ ▄▄▄\n▄█▀▀██████▀ █ ▄▀\n█▀▄▀ ▄ ▀█▄▄ █ ▄▀\n█ ▄ ▀▀ █▀▄▀ ▄▄▀\n█▀ ▀▀ ▄▀█▀███▄▄ \n █▀ ██ ▄ ▄ ██ █\n ▄█▀███▄▄▄██████\n█▄█▄█▀█▄█▄██▄█▄█"], ["attack", " ▄███▄██▄▄▄ ▄▀▀█\n██ ▄▀▀▀██▀ █ ▀▄\n█ ▀ ▄█ ██▀▄▀ ▀▄\n█▄█▄▄▄ ▄█▄█▄▄▀▀ \n▀████▀▄▀ ▀ ▀█▀▀▄\n █▄ ▄▄█▄▀ ▀▄█▄▄█\n ▀▄▄▀█████▀▀████\n █▄█▄█▄█▄█ █▄█▄█"], ["eat_1", " ▄███▄██▄▄▄ ▄▀▀█\n██ ▄▀▀▀██▀ █ ▀▄\n█ ▀ ▄▀▄ ██▀▄▀ ▀▄\n█▄█▄▄ ▄█▄█▄▄▀▀ \n▀███▀▄▀ ▀ ▀██▀▀▄\n █▄ ▄█▄▀ ▀▄██▄▄█\n ▀▄▄▀█████▀▀████\n █▄█▄█▄█▄█ █▄█▄█"], ["eat_2", " ▄▄▄ ▄▄ ▄▄▄\n▄█▀▀██████▀ █ ▄▀\n█▀▄▀ ▄ ▀█▄▄ █ ▄▀\n█ ▄ ▀ ▀ █▀▄▀ ▄▄▀\n█▀ ▀▀ ▄▀█▀███▄▄ \n █▀ ██ ▄ ▄ ██ █\n ▄█▀███▄▄▄██████\n█▄█▄█▀█▄█▄██▄█▄█"], ["happy", " ▄███▄██▄▄▄ ▄▀▀█\n██ ▄▀▀▀██▀ █ ▀▄\n█ ▀ ▄▀▄ ██▀▄▀ ▀▄\n█▄█▄▄▄ ▄█▄█▄▄▀▀ \n▀████▀▄▀ ▀ ▀█▀▀▄\n █▄ ▄▄█▄▀ ▀▄█▄▄█\n ▀▄▄▀▄████▀▀████\n █▄█▄█▄█▄█ █▄█▄█"], ["injured_1", " \n \n ▄███▄██▄▄▄ \n██ ▄▀▀▀██▀ \n█ ▀ █▄ ██▀▄ \n█▄▀▄ ▄▀█▀█▄█▀▀▄\n █▀ ██ ▄ ▄ █▀ ▀█\n█▄██▄██▄▄▄██▄███"], ["injured_2", " \n \n ▄▄▄ ▄▄ \n▄█▀▀██████▀ \n█▀▄▀▄ ▀█▄▄▄ \n█ ▄ ▀▀▄▀█▀█▄█▀▀▄\n▀█▄▀▄█ ▄ ▄ █▀ ▀█\n██▄▄███▄▄▄██▄███"], ["sleep_1", " \n ▄▄▄\n ▄███▄██▄▄▄ █ ▄▀\n██ ▄▀▀▀██▀ █ ▄▀\n█ ▀ ▄▄ █▀█▀ ▄▄▀\n█▄▀▄▄ ▄▀█▀███▄▄ \n▀▄▄ ▄█ ▄ ▄ ██▄▄█\n██▄▄███▄▄▄██▄█▄█"], ["sleep_2", " \n ▄▄▄ ▄▄ ▄▄▄\n▄█▀▀██████▀ █ ▄▀\n█▀▄▀ ▀█▄▄ █ ▄▀\n█ ▄ ▀▀ █▀▄▀ ▄▄▀\n█▀ ▀▀ ▄▀█▀███▄▄ \n █▀ ██ ▄ ▄ ██▄▄█\n█▄██▄██▄▄▄██▄█▄█"], ["walk_1", " ▄███▄██▄▄▄ ▄▀▀█\n██ ▄▀▀▀██▀ █ ▀▄\n█ ▀ ▄█▀ ██▀▄▀ ▀▄\n█▄▀▄▄ ▄█▄█▄▄▀▀ \n▀▄▄ ▄▄▀ ▀ ▀██▀▀▄\n ▀▄▄██▄▀ ▀▄██▄▄█\n ▄█▀▄████▀▀████\n █▄█▄█▄█▄█ █▄█▄█"], ["walk_2", " ▄▄▄ ▄▄ ▄▄▄\n▄█▀▀██████▀ █ ▄▀\n█▀▄▀ ▄▄▀█▄▄ █ ▄▀\n█ ▄ ▀▀ █▀▄▀ ▄▄▀\n█▀ ▀▀ ▄▀█▀███▄▄ \n █▀ ██ ▄ ▄ ██ █\n ▄█▀███▄▄▄██████\n█▄█▄█▀█▄█▄██▄█▄█"]]], + ["ancienttroymon", [["angry", " █▀▀▀▄ \n ▄▀▀▀▄ █ \n ▄▀ ▄█ █▀▀▀▀▀ \n█▄██▄ ▄▀█▀█▀▄ \n ▀█▄▀▀▀▄▀▀▀▀▀█▄ \n █ ▀ █ ▀ ▀ █▄█\n ▄▀██▀█▄▄▄█ █ \n █▄▄█▄▄█ █▄▄█ "], ["attack", " ▄▄▄▄ \n █▄▄ ▀▄ \n ▄▀ ▄▄▀▄█▄▄▄▄ \n▄▀▄ ▀▀▀ █▄▄▄▄ \n▀▄█▄▄▄▄▀▄█▄█▄█ \n █ ▄▄▀▄ ▄ ▄█▀▄\n █▄█▄▄█ ▄▀█▀\n █▄▄██ ▀▀██▄▄█ "], ["eat_1", " ▄▄▄▄ \n █▄▄ ▀▄ \n ▄▀ ▄ ▀▄█▄▄▄▄ \n▄▀▄ ▀ ▀ █▄▄▄▄ \n▀▄█▄▄▄▄▀▄█▄█▄█ \n █ ▄▄▀▄ ▄ ▄█▀▄\n █▄█▄▄█ ▄▀█▀\n █▄▄██ ▀▀██▄▄█ "], ["eat_2", " █▀▀▀▄ \n ▄▀▀▀▄ █ \n ▄▀ ▄██ █▀▀▀▀▀ \n█▄██▄ ▄▀█▀█▀▄ \n ▀█▄▀▀▀▄▀▀▀▀▀█▄ \n █ ▀ █ ▀ ▀ █▄█\n ▄▀██▀█▄▄▄█ █ \n █▄▄█▄▄█ █▄▄█ "], ["happy", " █▀▀▀▄ \n ▄▀▀▀▄ █ \n ▄▀ ▄▀▄ █▀▀▀▀▀ \n█▄██▄ ▄▀█▀█▀▄ \n ▀█▄▀▀▀▄▀▀▀▀▀█▄ \n ▄█ ▀ █ ▀ ▀ █▄█\n █ ███▀█▄▄▄█ █ \n ▀▀▀█▄▄█ █▄▄█ "], ["injured_1", " \n ▄▄▄▄ \n █▄▄ ▀▄ \n ▄▀▄ ▀▄█▄▄▄▄ \n▄▀▄ ▀▀ █▄▄▄▄ \n▀▄█▄▄▄▄▀▄█▄█▄█ \n ▄█▄▄ █ ▄ ▄▄█▀▄\n █▄█▄▄██▄▄█▄▄██▀"], ["injured_2", " \n \n █▀▀▀▄ \n ▄▀▀▀▄ █ \n ▄▀ █▄ █▀▀▀▀▀ \n█ █ ▄▀█▀█▀▄ \n ▀████▀▄▀█▀███▄ \n █▄█▄▄██▄▄█▄▄█▄█"], ["refuse", " ▄▄▄▄ \n █▄▄ ▀▄ \n ▄▀ ▄ ▀▄█▄▄▄▄ \n▄▀▄ ▀▀ █▄▄▄▄ \n▀▄█▄▄▄▄▀▄█▄█▄█ \n █ ▄▄▀▄ ▄ ▄█▀▄\n █▄█▄▄█ ▄▀█▀\n █▄▄██ ▀▀██▄▄█ "], ["sleep_1", " \n ▄▄▄▄ \n █▄▄ ▀▄ \n ▄▀ ▀▄█▄▄▄▄ \n▄▀▄ ▀▀ █▄▄▄▄ \n▀▄█▄▄▄▄▀▄█▄█▄█ \n ▄█▄▄ █ ▄ ▄▄█▀▄\n █▄█▄▄██▄▄█▄▄██▀"], ["sleep_2", " \n \n █▀▀▀▄ \n ▄▀▀▀▄ █ \n ▄▀ ▄▄ █▀▀▀▀▀ \n█ █ ▄▀█▀█▀▄ \n ▀████▀▄▀█▀███▄ \n █▄█▄▄██▄▄█▄▄█▄█"], ["walk_1", " █▀▀▀▄ \n ▄▀▀▀▄ █ \n ▄▀ ▄██ █▀▀▀▀▀ \n█ █ ▄▀█▀█▀▄ \n ▀▀█▀▀▀▄▀▀▀▀▀█▄ \n █ ▀ █ ▀ ▀ █▄█\n ▄▀██▀█▄▄▄█ █ \n █▄▄█▄▄█ █▄▄█ "], ["walk_2", " ▄▄▄▄ \n █▄▄ ▀▄ \n ▄▀ ▄▄▀▄█▄▄▄▄ \n▄▀▄ ▀▀▀ █▄▄▄▄ \n▀▄█▄▄▄▄▀▄█▄█▄█ \n █ ▄▄▀▄ ▄ ▄█▀▄\n █▄█▄▄█ ▄▀█▀\n █▄▄██ ▀▀██▄▄█ "]]], + ["ancientvolcanomon", [["angry", " ▄▄ \n▄▄ ▄▄ ▄▀██ ▀█▄ \n█ █▄█ █ ▄▄ ▄▀ \n ████▀▄█ ▀▀ ██ \n ███▄▄██ ▄█ ▀█ \n █▀ ▀█▀ █ ██▄▀ \n ▀▄▄▄▄█▄▄▄▀▀█ \n █▄█▄█ █▄█▄█ "], ["attack", " \n ▄▄▄▀█▄ \n█▀▄ █▀▄▀ ▀▀ ▀█ \n▀▄███▄▀▄ ██ █▄ \n ████▀██ ▄ ██ \n ███▄▄██ ▄▀█▄ █ \n ▀▄▄▄▄▀ ▀▄▀▀█ \n █▄█▄█▀▀▀▀█▄█▄█ "], ["eat_1", " \n ▄▄▄▀█▄ \n█▀▄ █▀▄▀ ▀▀ ▀█ \n▀▄███▄▀▄ ██ █▄ \n ████▀██ ▄ ██ \n ███▄█▄█ ▄▀█▄ █ \n ▀▄▄▄▄▀ ▀▄▀▀█ \n █▄█▄█▀▀▀▀█▄█▄█ "], ["eat_2", " ▄▄ \n▄▄ ▄▄ ▄▀██ ▀█▄ \n█ █▄█ █ ▄▄ ▄▀ \n ███▀▀▄█ ▀▀ ██ \n ██▀▀███ ▄█ ▀█ \n █ █▀ █ ██▄▀ \n ▀▄▄██▄▄▄▀▀█ \n █▄█▄█ █▄█▄█ "], ["happy", " ▄▄ \n▄▄ ▄▄ ▄▀██ ▀█▄ \n█ █▄█ █ ▄▄ ▄▀ \n ████▀▄█ ▀▀ ██ \n ███▄█▄█ ▄█ ▀█ \n █ █▀ █ ██▄▀ \n ▀▄▄██▄▄▄▀▀█ \n █▄█▄█ █▄█▄█ "], ["injured_1", " \n \n ▄▄▄▀█▄ \n█▀▄ █▀▄▀ ▀▀ ▀█ \n▀▄███▄▀▄ ██ █▄ \n ███ ▀██ ▄▄ ██ \n ███████ █▄▀▀▄▀ \n█▄█▄▄▄█▄▄▄█▄█▄█ "], ["injured_2", " \n \n ▄▄ \n▄▄ ▄▄ ▄▀██ ▀█▄ \n█ █▄█ █ ▄▄ ▄▀ \n ███▀█▄█ ▀▀ ██ \n ███▄▄██ ▄█▀▀██ \n██▄▄▄▄█▄▄▄█▄█▄█ "], ["refuse", " \n ▄▄▀█▄ \n▄▄ ▄▄ ▄▀▀▀ ▀█ \n█ █▄█ █ ██ █▄ \n █████▄█ ▄ ██ \n ███▀ ██ ▄▀█▄ █ \n █▀▀▀▀██ ▀▄▀▀█ \n ▄████▄▀▀▀█▄█▄█ "], ["sleep_1", " \n ▄▄ \n▄▄ ▄▄ ▄▀██ ▀█▄ \n█ █▄█ █ ▄▄ ▄▀ \n █████▄█ ▀▀ ██ \n ████▀▀█ ▄█ ▀█ \n▄█▀▀▀▀█▀ █▄▀▀▄▀ \n█▄████▄▄▄▄█▄█▄█ "], ["sleep_2", " \n \n ▄▄▄▀█▄ \n█▀▄ █▀▄▀ ▀▀ ▀█ \n▀▄███▄▀▄ ██ █▄ \n ███████ ▄▄ ██ \n▄████▄▄█ █▄▀▀▄▀ \n██▄▄▄▄█▄▄▄█▄█▄█ "], ["walk_1", " ▄▄ \n▄▄ ▄▄ ▄▀██ ▀█▄ \n█ █▄█ █ ▄▄ ▄▀ \n █████▄█ ▀▀ ██ \n ███▀ ██ ▄█ ▀█ \n █▀▀▀▀█▀ █ ██▄▀ \n ▀█▀▀▄▄▄▄▀▀█ \n █▄█▄█ █▄█▄█ "], ["walk_2", " \n ▄▄▄▀█▄ \n█▀▄ █▀▄▀ ▀▀ ▀█ \n▀▄███▄▀▄ ██ █▄ \n ████▀██ ▄ ██ \n ███▄▄██ ▄▀█▄ █ \n ▀▄▄▄▄▀ ▀▄▀▀█ \n █▄█▄█▀▀▀▀█▄█▄█ "]]], + ["ancientwisemon", [["angry", " ▄ ▄▄▄▄▀▄▄▄▄▄ ▄\n ▀▄▀ ▀▀▀ ▀▄▀▀ \n █▀█▀███▀█▀█ \n █ █▄▄█▄▄█ █ \n ▄▀█▄▄▄▄▄█▀▀▄ \n ▄▀▀█▄▀▀▀▄██▀▀▄ \n█▄▄█▀▄█▄██ ▀█▄▄█\n █▄▄█▄▄▄▄█▄▄█ "], ["attack", " ▄ \n ▀▄▀█▀█▄█▀▀█▀▄▄▀\n ▄█▄▄▄▄▄▄▄▄█ \n █ █▀███▀█ █ \n ▀▄█▀▀▀▀▀█▄█ \n ▀▄▄█▄▄▄█▄▄▄▀ \n █ █ █ █ █ █ \n █▄█▄█████▄▄█▄█ "], ["eat_1", " ▄ \n ▀▄▀█▀█▄█▀▀█▀▄▄▀\n ▄█▄▄▄▄▄▄▄▄█ \n █ ▀▄▀█▀▄▀ █ \n ▀▄█▀▀▀▀▀█▄█ \n ▀▄▄█▄▄▄█▄▄▄▀ \n █ █ █ █ █ █ \n █▄█▄█████▄▄█▄█ "], ["eat_2", " ▄ ▄▄▄▄▀▄▄▄▄▄ ▄\n ▀▄▀ ▀▀▀ ▀▄▀▀ \n █▀█▀███▀█▀█ \n █ █▀▀▀▀▀█ █ \n ▄▀█▄███▄█▀▀▄ \n ▄▀█▄▀▀▀▄██▀▄ \n ▀▄▀▄█▄██ ▀▄▀ \n █▄▄█▄▄▄▄█▄▄█ "], ["happy", " ▄ ▄▄▄▄▀▄▄▄▄▄ ▄\n ▀▄▀ ▀▀▀ ▀▄▀▀ \n █▀█▀███▀█▀█ \n▄▀█ ▄█▄█▄█▄ █▀▀▄\n▀▄ ▀█▄▄▄▄▄█▀█ ▄▀\n ▀▀█▄▀▀▀▄██▀▀ \n ▄▀▄█▄██ ▀▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["injured_1", " \n ▄ ▄▄▄▄▀▄▄▄▄▄ ▄\n ▀▄▀ ▀▀▀ ▀▄▀▀ \n █▀██▀█▀██▀█ \n █ █▄▄█▄▄█ █ \n ▄▀▀▄ ▄▀▀▀▄ \n ▄▀█▀▀▀▀▀██▀▄ \n █▄██▄███▄███▄█ "], ["injured_2", " \n ▄ \n ▀▄▀█▀█▄█▀▀█▀▄▄▀\n ▄█▄▄▄▄▄▄▄▄█ \n █ █▀ █ ▀█ █ \n ▀▄█▀▀▀▀▀█▄█ \n █▄▄█▄▄▄█▄▄▄█ \n █▄▄█▄▄█▄▄██▄▄█ "], ["refuse", " ▄ \n ▀▄▀█▀█▄█▀▀█▀▄▄▀\n ▄█▄▄▄▄▄▄▄▄█ \n █ █ ▀█▀ █ █ \n ▀▄█▀▀▀▀▀█▄█ \n ▀▄▄█▄▄▄█▄▄▄▀ \n █ █ █ █ █ █ \n █▄█▄█████▄▄█▄█ "], ["sleep_1", " \n ▄ ▄▄▄▄▀▄▄▄▄▄ ▄\n ▀▄▀ ▀▀▀ ▀▄▀▀ \n █▀███████▀█ \n █ █▄▄█▄▄█ █ \n ▄▀▀▄ ▄▀▀▀▄ \n ▄▀█▀█▀▀█▀█▀▄ \n █▄█▄█████▄▄█▄█ "], ["sleep_2", " \n ▄ \n ▀▄▀█▀█▄█▀▀█▀▄▄▀\n ▄█▄▄▄▄▄▄▄▄█ \n █ █▀▀█▀▀█ █ \n ▀▄█▀▀▀▀▀█▄█ \n █▄▄█▄▄▄█▄▄▄█ \n █▄▄█▄█▄▄█▄██▄█ "], ["walk_1", " ▄ ▄▄▄▄▀▄▄▄▄▄ ▄\n ▀▄▀ ▀▀▀ ▀▄▀▀ \n █▀███████▀█ \n █ █▄███▄█ █ \n ▄▀▀▄ ▄▀▀▀▄ \n ▄▀█▀█▀▀█▀█▀▄ \n ▀▄▀▄█▄▄█ ▀▄▀ \n █▄▄█▄▄▄▄█▄▄█ "], ["walk_2", " ▄ \n ▀▄▀█▀█▄█▀▀█▀▄▄▀\n ▄█▄▄▄▄▄▄▄▄█ \n █ █▀███▀█ █ \n ▀▄█▀▀▀▀▀█▄█ \n ▀▄▄█▄▄▄█▄▄▄▀ \n █ █ █ █ █ █ \n █▄█▄█████▄▄█▄█ "]]], + ["andromon", [["angry", " ▄▄▄▄▄▄ \n ▄▀▀ ▀▄ \n ▄██▄ ▄▄█▀ █▄ \n▄█ ▀▀▀▀▀ ▄▀█▀ ▀▄\n█▄▀▄▀▄▀▄▄▀▄█▀▄▄▀\n█ ▀▄▄▄▄▄▄▄▀▄ █ \n█ ▄█▄▄▄█ ▄█▄ █ \n▀▄▄▄█▄▄█▀▀█▄▄▄██"], ["attack", "▄▀▀▀▄ ▄▄▄▄▄▄▀▀▀▄\n█ ▄▄▀▀ █ █\n█ ▄██▄▄▄▀█▀ █▀ █\n█ █▄ ▀▀▀▀ ███ █\n▀▄███▄██▄███▀█▄▀\n▄▀█▀███▀██▀ ▄█▀ \n▀▄▄▄▄▄▄▄▄▄▄▀ ▀▄ \n █▄▄▄▄██▀▀▄▄▄▄▄█"], ["eat_1", " ▄▄▄▄▄▄ \n ▄▄▄▀▀ ▀▄ \n█ ▄██▄▄▄▀█▀ █ \n█ █▄ ▀▀▀▀ ███ ██\n▀▄███▄██▄███▀█▄█\n▄▀█▀███▀██▀ ▄▀ █\n▀▄▄▄▄▄▄▄▄▄▀▀ ▄█ \n █▄▄▄▄██▄▄▄██▄▄█"], ["eat_2", " ▄▄▄▄▄▄ \n ▄▀▀ ▀▄ \n ▄█████▀▄ █▄ \n █▀ ▀▀▄▀█▀ ▀▄\n██▀▄▀▄▀▄▀ ▄▀▀▄▄▀\n█ ▀▄▄▄▄▄▄▀ █ \n▀▄ █ ▄▀▄ \n ███▄█▄█▀▀▀█▄▄▄█"], ["happy", "▄▀▀▀▄ ▄▄▄▄▄▄▀▀▀▄\n█ ▄▄██▄▄▄ █ █\n█ ▄█▀▀▀▀▄█▄ █▀ █\n█ █ ███ █\n▀▄██▄██▄████▀█▄▀\n▄▀█▀███▀██▀ ▄█▀ \n▀▄▄▄▄▄▄▄▄▄▄▀ ▀▄ \n █▄▄▄▄██▀▀▄▄▄▄▄█"], ["injured_1", " \n \n ▄▄▄ ▄▄ \n█ ▄▄▀▀▀▀▀▀▄▀ █ \n █ █▄▀█ \n█▀█████▀ ▄ █ █ █\n▄▀▄▄▄▄▄▄▀ █ ▀▀▄▀\n▀▄▄▄▄▄▄▄▄██▄▄▄▄█"], ["injured_2", " \n \n ▄▄▄ ▄▄ \n▄▀▄▄▀▀▀▀▀▀█ ▀▄ \n █ █▄▀█ \n█▀█████▀ ▄ █▄█▄█\n▄▀▄▄▄▄▄▄▀ █ █\n▀▄▄▄▄▄▄▄▄██▄▄▀▀ "], ["sleep_1", " ▄▄▄▄▄█▀▀▀▀▀▀█\n ▄▀ █ ▀▀█\n█ ▄▄▄ ▄▀█▀▀▄▀▀█\n█▀▀▀ ▄▀█ █ █ █\n▀█▀▀▀ ▄██▄▄█▄▄█\n█ █▀▀▀▀█ █\n█ ▄█▀▀██▄█▄█▄█▄█\n▀▄▄█▀▀█▄▄▄▄▄▄▄▄█"], ["sleep_2", " ▄▄▀▀▀█▀▀▀▀▀▀█\n █ ▄▄▄ █ ▀▀█\n▄▀██▀▀ ▄██▀▀▄▀▀█\n█ ▄ ▄▄█▀ █ █ █\n▄▀█▀▀▀ ▄██▄▄█▄▄█\n█ █▀▀▀▀█ █\n█ ▄█▀▀██▄█▄█▄█▄█\n▀▄▄█▀▀█▄▄▄▄▄▄▄▄█"], ["walk_1", " ▄▄▀▀▀▀▀▀▄ \n █▄ ▄▄▄▄ █ \n█▀▀███▄▀▄▄▄█▀▀▀▄\n▀█▄ ▄ ▄▄█ █ ▀▄▄▀\n█▄▀▀▀▀▀▀ █▀▄▀ █\n█ ▀█▀▀▀█▀ █▀▀ █\n█ ▀▀█▄▄▀▀▀▀█▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["walk_2", " ▄▄▀▀▀▀▀▀▄ \n █▄ ▄▄▄ █ \n▄▀█▀▀███▄▀▄▄▄█ \n▀▄██▄ ▄ ▄▄█ █ ▀▄\n█ █▀▀▀▀▀▀ █▀▄▄▀\n▀▄▄▄▀▀▀█▀▀▀█ █ \n █▄▄▄▀▀█▀▀▀ █▄\n █▄▄▄▄█▀▀▄▄▄█▄█"]]], + ["angemon", [["angry", " █▀▄ \n ▄▀▀▀▀▀▀█▄ ▀▄ \n █ ▄█ ▄▀ \n █ ▄ █ ▀█ ▀█\n ▄█▀▀█▀▀ █▄▀▀▄▄▀\n █ ▀▄█▄▄██▄█▄ ██\n █▀▄▄█▄▄▄▄█▄▄▀ \n █▄▄█▄▄▀▄▄▄▄▄█ "], ["attack", " ▄▀▀▀▀▀▀▄█▀▄ \n █ ▄▄█▀ █\n▄▄ █▀▀ █ █ ▄▀\n█ ▀█▄▄▄▄█▀█ ▄▀▀█\n▄▀▀ ▀▄▄█ █▀ ▄▄▀\n█▄▀█▀▀▀ █▀▀▀▄ \n ▄▄▀█▀▀█▀ ▀▄█▄ \n█▄█▄█▄▄▀█▄█▄▄█ "], ["eat_1", " ▄▀██▀▀▀▄ █▀▄ \n █▄█▄▄▄ █▀ █\n ▀█████▀▄█ █▄\n ▄████▀ █ ▄▀ █\n▄▀▀▄▄▄▄▄▀▀▀▀▀▄▄▀\n█ ▀█ █▀ █ █\n █▀█▀▀█▀▀▀▀█▀▄▀ \n█▄▄█▄▄▀▄▄▄▄▄█ "], ["eat_2", " ▄▄▄▄▄▄ █▀▄ \n▄▀ ▀▄▀ █ \n█ ▄ ▄▀█ ▄▀ \n█▄▄█▄▄ █ █ ▄▀▀█ \n▀▄ █ ▄█▄▀█ ▄▀ \n█ █▀█▀▀▄▄ █▀▀█ \n▀▄▄▄▀▄▄▄▄▄▀▄▄▀ \n█▄▄█▄▄▀▄▄▄▄▄█ "], ["happy", " ▄▀▀█▀▀▀▄ █▀▄ \n █ ▀█▀▀ ▄▄█ █ \n ▀▄▄▄▄▄▀▄ █ ▄▀ \n ▄█▄▄▄▄▀ █ ▄▀▀█\n ▄▀▄▄▄▄▄▀▀▀█▄ ▄▀\n█ ▄ █▄ █▀▀█\n▀▄▀█▀▀█▀▀▀▄▄█▄▀ \n█▄▄█▄▄▀▄▄▄▄▄█ "], ["injured_1", " \n ▄▀▀▀▀▀▀▄▄▄ \n █ █ ▀▀▄ \n █ ▄▀▀█ ▄ █\n ▀█▀ █ ▄▄▀█▄▀▄█\n ▄▀█▀▀▀▀ █▄▄▀\n █▄▀▄▄▄▄▄█ █▄ █\n █▄▄█▄▄█▄█▄▄▄█▀█"], ["injured_2", " \n ▄▄▄▄▄▄ \n ▄▀ ▀█▀▄▄ \n █ ▄▄█ ▀▄\n █▄▄ ▄▀ ███▄ █\n ▄▀▄▄▄█▄▀▀ █▄█▀\n █▄▀▄▄▄▄▄█ █▄ █\n █▄▄█▄▄█▄█▄▄▄█▀█"], ["sleep_1", "▄▄ ▄▄▄▄▄▄ \n█ ▀█▀▀▄▀▄▀▄█▄▄▀▄\n█▀██ ▀█ █ █ █\n█▄▄█▄ █▄▄█ ▄▄ █\n█▀ ▄▀▀ ▀▀▄ ▀▀█\n▄▀ ▄▀\n█ ▄ ▄█ ▄▄ █\n ▀▀▀ ▀▀ ▀▀ ▀▀ "], ["sleep_2", " ▄▄ ▄▀█▀█▀▀▄ \n█▀▄█ ▄█ █ ▀█▀▀ █\n█▄▄█ █ ▀▄ ▀ █\n█▄▀▀▀▄█▄▄▀▀▀▀▀▄█\n█ ▀ ▀ ▄▀\n▀▄ █\n█ ▄▀▄▄█▄ ▄▀\n ▀▀▀▀ ▀▀▀ "], ["walk_1", " ▄▀▀▀▀▀▀▄ █▀▄ \n █ █ █▀ █ \n █▀▀█▀▀▀ ▄▀▄ ▄▀ \n █▀▄▄▄▄▀█▄▄▀▄█▀█\n ▄▀▄▄▄▄▄▄▀ █▀ ▄▀\n█ ▄ ▀ █▄ █▀▀█\n▀▄▀█▀▀█▀▀▀▄▄█▄▀ \n█▄▄█▄▄▀▄▄▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄ █▀▄ \n ▄▀ ▄ ▀█ █ \n █▄▄█▄▄▄ █ ▄▀ \n █▄ ▀ ▄▄▀ █ ▀█ \n▄▀▄▀▀▀▀ ▀█▀▀▄▄▀ \n█ ▄▀▀█▀▀▀██▄ ██ \n █▀▄▄▄▄▄▄▄█▄▄▀ \n█▄▄█▄▄▀▄▄▄▄▄█ "]]], + ["angewomon", [["angry", " \n ▄▀▀▀▀▄▄▀█ \n ▄▀ ▄ ▀▄▄█ ▄▄\n █ ▀█▀ ▄█ ▀ █\n ▀█▀▀▀▀▀▀▄▀▄▄▀ \n █ ▀▄▄▄▀▀ █ ▀▄\n ▄▀▄▄ █ ▄▄▄█ ▀▄▀\n █▄▄▄███▄▄▄▄█▄▄█"], ["attack", " ▄▀█▀▀▀▀▄▀▀▀█ \n█▀█▀▀ ▀▄▄█▄ \n ▀████▄▄▀█ ▀▄ \n █▀ █ █▀▀▄▄█ \n █▀▀▀▀ ▄█▀▄▄ ▀▄ \n█ █▀█▀▀▄▄ █▀▄▀ \n▀▄▄▄▀▄▄▄▄▄▀█ █ \n █▄▄▄▀▀▄▄▄▄▄█▀▀ "], ["eat_1", " ▄▀▀█▀▀▀▄▀▀█ \n █ ▀█▀▀ ▄█▀▄ \n █▄▄▄▄▄▄▀ █▄ ▀▄\n▄▀ █████ █ █ █\n▀▄ ▀▄▄▄▄▄▀▀█ ▀▄\n ▀█ ▄ ▀▄▀▄▀\n ▄▀█▀▀█▀▀▀▄▄▀ ▀▄\n ██▄▄▄▀▀▄▄▄▄█▀▄█"], ["eat_2", " ▄▄▄▄ ▄▄ \n ▄▀▄ █▀ █ \n█ ▄█▄ ▀█ ▀▀▄ \n█▄▄█▄▄▄▀█ ▀▀▄ █ \n █▀▀▄▄▄▀▀▀▄ █ █\n█ ▄▀ ▄ ▄█▀▄▀▄\n▀▄▄▀▄▄▄▄▀▄▄█ ▀▄▀\n █▄▄▄▀▀▄▄▄▄▄▀▄▄▀"], ["happy", " ▄▀▀▀▀▀▀▄▀▀█ \n █ ▄█▄ █▄▀ \n █▄▄█▄▄▄▀█ ▀▀▄ \n▄▀▀▄▀▀▀▀▄▀▀▀█▄ █\n▀▀▄ ▀▀▀▀ █▀▄ ▀▄\n █▄ █ █ █\n █▄▀▀▀█▀▀ █▄▀ █ \n █▄▄▄▀▀▀▄▄▄▄█▄▄█"], ["injured_1", " \n ▄▀▀▀▀▀▀▄▀▀█ \n█ █ █▄ \n█ ▄ ▄▀▀█ ▀▄ \n█▀█▀ █ ▄▄▀█▀▄█ \n▄▀█▀▀▀▀ █▄ █ \n█▄▀▄▄▄▄▄█ █ ▀█ \n█▄▄█▄▄█▄█▄▄▄█▄▄█"], ["injured_2", " \n ▄▄▄▄▄▄ \n▄▀ ▄▀▀▀█ \n█ █▄▄▀▀▄ \n█▄█▄ ▄▀ █▄▄ █ \n▀▄█▄▄█▄▀▀ ▀▄▀▀▄ \n█▄▀▄▄▄▄▄█ █▀▄█ \n█▄▄█▄▄█▄█▄▄▄█▄▄█"], ["sleep_1", " \n ▄▄▄▄▄▄ \n ▄▀ ▀▄▀█ \n █ ▄ █ ▄█ \n █ ▀█▀ ▄▀█ ▀▄ \n▄▄▀▄█▄▄█▀█▀█▄ █\n█ ▀▄▄▄▄ █ █▀▀▄\n█▄▄▄█▄▄██▄▄▄██▄█"], ["sleep_2", " \n ▄▄▄▄▄▄ \n▄▀ ▀▄▀█ \n█ █ █ ▄▄\n█ ▄█▄ ██▀ ▀▀ █\n▄█▄█▄▄▄█▀█▀▄▄██ \n█ ▀▄▄▄▄ █ █▄ █\n█▄▄▄█▄▄██▄▄▄█▄█▀"], ["walk_1", " ▄▀▀▀▀▄▄▀█ \n ▄▀ █ ▀▄▄█ \n █ ▀█▀ ▄▄▀ ▀▄ \n ▀█▀▀▀▀▀▄▀▀▄ ▀▄\n ▄▀▀▄▄▄▀▀▀▄ ▀▄▀\n █ █ █▄ █▄ █\n ▄▀█▀▀█▀▀▀▄▄█ ▀▄\n ██▄▄▄█▀▄▄▄▄█▀▄█"], ["walk_2", " ▄▄▄▄ ▄▄ \n ▄▀▄ █▀ █ \n █ ▄█▄ ▀█▀▄▀█\n █▄▄█▄▄▄▀█▄ █\n ▄▀▀▄ ▄▀▀▀█▄▀ \n█ ▀█ ▀▀▀ █▀ █ ▀▄\n ▀█▀▀▀█▀▀▀▀█▄▀▄▀\n █▄▄▄█▀▀█▄▄▄▄█▄█"]]], + ["angewomon_x", [["angry", " ▄▄▄▄▄▄▄ \n █ ▄ ▀▀▄▄ \n █ ▄█▄ █ \n ▀▄▄█▄▄▄ █ ▄▀█\n █▀▀▄ ▄▀▀▀█ ▄▀\n ▄▀▀▄█▀█▄▄▀▀▄▀ █\n █▄▄▄▀▄▀▄▄▄▄█▄▀▄\n█▄▄▄▄▄▀▀▄▄▄▄█▄▀▀"], ["attack", " █▀▀█▀▀▀▄▄ \n █▄█▄ ▀█ \n ▄ ▀▄█▄▄▄ ▄▀█\n ▄█▀ █▄ ▄▀▀▀█ \n ▀█ ▀▄ ▀█ ▄▀▀▄█\n▀▀█▀█▀██▀▀▀▀▄▄█ \n ██ ▀█▀ ▄▄ ▀▄█\n ▀█ █▄▄▀ ▀▄▄▄█"], ["eat_1", " █▀▀▀▀█▀▀▄ \n █ ▀█▀▀ █ \n █▄▄▄▄▄▄ █ ▄▄\n▄▀ ████▀▄█▄▄▀ █\n▀▄ ▀█▀▀▀▄▀ ▄█▄▀▄\n ▀▀█▀▀█ ▄▀ █ ▄▀\n ▄█▀ ▄ ▀▀▄▄▀▀▄ \n █▄▄▄▀▀▄▄▄█▀▀▀ "], ["eat_2", " ▄▄▄▄▄▄▄ \n █ ▀▀▄▄ \n █ █ █ \n ▀▄▀█▀ ▄ █ ▄▀█\n █▀▄▀▀▀▀▄▀▀▀█ ▄▀\n █ ▀█▀█ ▄▀█▀ █\n ▀▄█▄▀▄▀▄▀▄▄█▄▀ \n █▄▄▄▀▀▄▄▄█▀▀▀ "], ["happy", " █▀▀▀▀▀▀▄▄ \n ▀▄ █ ▀█ \n █ ▀█▀ ▄▀ ▄▀█\n ▄▄▀███▀▀▄█▄█ ▄▀\n█ ▀█▄▄▄▄▀ █▄▀ █\n ▀▄█ █ █▄█▀▀▄▄▀ \n ▄█▀ ▄ ▀▀██ ▄█ \n █▄▄▄▀▀▄▄▄█▀ "], ["injured_1", " \n █▀▀▀▀▀▀▄▄ \n ▀▄ ▀█ \n █ ▄ ▄▀ ▄▄\n ▄▄█▀█▀▀ ▄█▄▄▀ █\n ▀▄ █▀▀▀█ ▄▄█▄▀▄\n ▄▀▀█▀▀▄▀ █▄ ▄▀\n █▄▄▄████▄▄▄██ "], ["injured_2", " \n ▄▄▄▄▄▄▄ \n █ ▀▀▄▄ \n █ █ \n ▀▄▄█▄▄ █ ▄▀█\n █▀▀▄█▄▄▄▀▀▀█ ▄█\n ▄█▀▀▄▄▄▀▄▀▀█▀▄▀\n█▄▄▄██████▄▄▄█▄▄"], ["sleep_1", " \n ▄▄▄▄▄▄▄ \n █ ▀▀▄▄ \n █ █ █ ▄▄\n ▀▄▀█▀ ▄█▄▄▀ █\n ▄█▀▀▀▀█▀ ▄█▄▀▄\n █ ▀█▀█ ▄▀ ▀▄█\n █▄▄▄▄█▄██▄▄▄▄██"], ["sleep_2", " \n █▀▀▀▀▀▀▄▄ \n ▀▄ ▄ ▀█ \n █ ▄█▄ ▄▀ ▄▄\n █▄█▄▄▄█▀▄▄▀ █\n ▄▄▀▄▄▄▀ ▄█▄▀▄\n █ ▀█ █ ▄▀ ▀▄█\n █▄▄▄▄█▄██▄▄▄▄██"], ["walk_1", " █▀▀▀▀▀▀▄▄ \n █ █ ▀█ \n █ ▀█▀ ▄▀ ▄▄\n ▄▄█▀▀▀▀▀▄█▄▄▀ █\n ▀▄ ▀▄▄▄▀ ▄█▄▀▄\n ▄▀▄ █ █ ▄▀ █ ▄▀\n ▀▄█▀ ▄ ▀▀▄▄▀▀▄ \n █▄▄▄▀▀▄▄▄█▀▀▀ "], ["walk_2", " ▄▄▄▄▄▄▄ \n █ ▄ ▀▀▄▄ \n ▀▄ ▄█▄ █ \n ▀▄▄█▄▄▄ █ ▄▀█\n █▀▀▄ ▄▀▀██ ▄▀\n ▄▀▄ █▀█ ▄▀ █▀ █\n ▀▄▀▀▀▄▀▀▀▄▄█▄▀ \n █▄▄▄▀ ▀▄▄▄█▀▀▀ "]]], + ["ankylomon", [["angry", " ▄██▄ \n ▄▄▄▄▀█ ▀██▀▄ \n ▄▀ ▄ ▀█ ▄▄ ▄█\n█ ▀▀ ██▀ ▀█▀█\n████▄ █ ▄ ▄ ▀▄\n▀█▀▀▀▄█ ▀ ▀ ▄▄▄█\n ▄▀██▀▀█▄█▄█▄ ▀▄\n█▄▄█▄█▄█ █▄█▄█"], ["attack", " ▄▄ \n ████ \n ▄ ▀▀ ▀▄\n ▄▀▀▄▀ █▄█▀▄▄██\n▄▀ ▄▀ ▀▄▀▀ ▀▄▀\n█ ▀▀ █ ▄▀▄▀▄▄ █\n █▄▄▄▀▀▄ ▄ █▄ ▀█\n█▄▄█▄█▄█▀▀▀█▄█▄█"], ["eat_1", " ▄▄ \n ████ \n ▄ ▀▀ ▀▄\n ▄▀▀▄▀ █▄█▀▄▄██\n▄▀ ▄ ▀▄▀▀ ▀▄▀\n█ ▀ ▀ █ ▄▀▄▀▄▄ █\n █▄▄▄▀▀▄ ▄ █▄ ▀█\n█▄▄█▄█▄█▀▀▀█▄█▄█"], ["eat_2", " ▄██▄ \n ▄▄▄▄▀█ ▀██▀▄ \n ▄▀ ▄▀ ▀█ ▄▄ ▄█\n█ ▀▀ ██▀ ▀█▀█\n████▄ █ ▄ ▄ ▀▄\n▀█▀▀▀▄█ ▀ ▀ ▄▄▄█\n ▄▀██▀▀█▄█▄█▄ ▀▄\n█▄▄█▄█▄█ █▄█▄█"], ["happy", " ▄██▄ \n ▄▄▄▄▀█ ▀██▀▄ \n ▄▀ ▄ ▀█ ▄▄ ▄█\n█ ▀ ▀ ██▀ ▀█▀█\n████▄ █ ▄ ▄ ▀▄\n▀█▀▀▀▄█ ▀ ▀ ▄▄▄█\n ▄▀██▀▀█▄█▄█▄ ▀▄\n█▄▄█▄█▄█ █▄█▄█"], ["injured_1", " ▄▄ \n ████ \n ▄ ▀▀ ▀▄\n ▄▀▀▄▀ █▄█▀▄▄██\n▄▀ ▄ ▀▄▀▀ ▀▄▀\n█ ▀▀ █ ▄▀▄▀▄▄ █\n █▄▄▄▀▀▄ ▄ █▄ ▀█\n█▄▄█▄█▄█▀▀▀█▄█▄█"], ["injured_2", " \n ▄██▄ \n ▀██▀▄ \n ▄▄ ▄▀▄ ▄▄ ▀█ \n ▄▀ ▀▄ ██▀ ▀█▀█\n█ █▄ ▄▀ ▄ ▄▄▀█\n▀▄ ▄▄▀▀▄▀ ▀█▄ ▀█\n████▄█▄█▄█▄█▄█▄█"], ["refuse", " ▄▄ \n ████ \n ▄ ▀▀ ▀▄\n ▄▀▀▄▀ █▄█▀▄▄██\n▄▀ ▄ ▀▄▀▀ ▀▄▀\n█ ▀▀ █ ▄▀▄▀▄▄ █\n █▄▄▄▀▀▄ ▄ █▄ ▀█\n█▄▄█▄█▄█▀▀▀█▄█▄█"], ["sleep_1", " ▄▄ \n ████ \n ▄ ▀▀ ▀▄\n ▄▀▀▄▀ █▄█▀▄▄██\n▄▀ ▄▄ ▀▄▀▀ ▀▄▀\n█ █ ▄▀▄▀▄▄ █\n █▄▄▄▀▀▄ ▄ █▄ ▀█\n█▄▄█▄█▄█▀▀▀█▄█▄█"], ["sleep_2", " \n ▄██▄ \n ▀███ \n ▄▄ ▄▀▄ ▄▄ ▄█\n ▄▀ ▀▄ ██▀ ▀█▀█\n█ ▀▀ ▄▀ ▄ ▄▄▀▄\n▀▄ ▄▄▀▀▄▀ ▀█▄ ▀█\n████▄█▄█▄█▄█▄█▄█"], ["walk_1", " ▄██▄ \n ▀██▀▄ \n ▄▄ ▄▀▄ ▄▄ ▄█\n ▄▀ ▄▀▄ ██▀ ▀█▀█\n█ █▄ ▄▀ ▄ ▄ ▀▄\n▀▄ ▄█ ▀ ▀ ▄▄▄█\n ▄▀██▀▀█▄█▄█▄ ▀▄\n█▄▄█▄█▄█ █▄█▄█"], ["walk_2", " ▄▄ \n ████ \n ▄ ▀▀ ▀▄\n ▄▀▀▄▀ █▄█▀▄▄██\n▄▀ ▄▀ ▀▄▀▀ ▀▄▀\n█ ▀▀ █ ▄▀▄▀▄▄ █\n █▄▄▄▀▀▄ ▄ █▄ ▀█\n█▄▄█▄█▄█▀▀▀█▄█▄█"]]], + ["antylamon_deva", [["angry", " ▄▄▄ ▄▄▄▄▄\n ▄▄ ▄█▄█▀▀ ██▀\n ▀▄▀ ▄ ▄▀▀▀▀ \n █ ▀▀ ▄▀▀▄ \n ▄█▀▀▀▀ ▄▀▀▄ \n ▄▀ █▄▄▄▄█▀█ ▀▄ \n▄▀ ▄▀▀▀▀▀▄█▄ █\n█▄▄█▄▄█▀▄▄▄█▄▄▄▀"], ["attack", " ▄▀██▀▀██\n █▀▄▀▀▀█ ▄▀▀ \n ▄▀ ▄█ █▄ \n ▄▀▄█▄▄▄▄▄█ █ \n█ ▄▄█▀ \n▀▄ ▀████ \n ▀█▀▀▀▄▄ ▀▄ \n █▄▄▄▀ ▀█▄▄█ "], ["eat_1", " ▄▀██▄▀▀███\n █▀▄▀▀▀▀ ▄▄▄█▀ \n ▄▀ ▄▀▄ █▄ \n ▀▄▄▄ ▄▀ █ \n ▄██▄▀ ▄█ ▀▄ \n ▄▀ ▀▄▄███ █ █ \n▄▀ █ ▄▄ ██ █\n█▄▄█▄▄▀ ▀▄▄▀▄█▄▀"], ["eat_2", " ▄▄▄ ▄▄▄▄▄\n ▄▄ ▄█▄█▀▀ ██▀\n ▀▄▀ ▄ ▄▀▀▀▀ \n █ ▀ ▀▄▀▀▄ \n ▄█▀▀▀▀ ▄▀▄ \n ▄▀ █▄▄▄▄█▀█ ▀▄ \n▄▀ ▄▀▀▀▀▀▄█ █\n█▄▄█▄▄█▀▄▄▄█▄█▄▀"], ["happy", " ▄▄ ▄███▄▀▀▀▀██\n ▀▄▀ ▄ ▄▄▀▀▀▄\n▄▀█ ▀ ▀ █▀█ █\n█ ███ ▄▀ ▄▀ ▄▀ \n ▀▄█▀▀▀ ▄▄▀▀▀ \n ██████ \n ▄▀▀ ▄▄ █ \n ▀▄▄▀ █▄▄█ "], ["injured_1", " \n ▄▀██▄▀▀███\n █▀▄▀▀▀▀ ▄▄▄█▀ \n ▄▀ █▄ █▄ \n ▀▄▄▄▄▄▀ ▄█ \n ▄▀▄ ▄▀ █▄ \n █ ▀█▄▄█ ▀█▄ \n █▄▄▄█▀▄█▄▄▄█▄█ "], ["injured_2", " \n ▄▄▄ ▄▄▄▄▄ \n ▄▄ ▄█▄█▀▀ ██▀ \n ▀▄▀▄ ▄▀█▀▀ \n █ ▀▀ ▄▀ ▄█ \n ▀█▀▀▀ ▄▀ █▄ \n █ ▀▄▄▄█ ▀█▄ \n █▄▄▄█▀▄█▄▄▄█▄█ "], ["sleep_1", " \n ▄▄▄ ▄▄▄▄▄ \n ▄█▄█▀▀ ██▀ \n █▀█ ▄▀██▀ \n █ ▀▀▄▀ ▄▀█ \n █▀▀█▀▀▀ ▄▀ \n ▀▄▄█▄▄▄▀█ \n █▄▄█▄▄█▄▄█ "], ["sleep_2", " \n ▄▀██▄▀▀███\n █▀▄▀▀▀▀ ▄▄▄█▀ \n █ ▄▄ █▄ \n ▀▄▄▄▄▀ ▄▀▄ \n █ ▀▄▀▀▀ ▄▀ \n ▀▄▄█▄▄▄▀█ \n █▄▄█▄▄█▄▄█ "], ["walk_1", " ▄▀██▄▀▀███\n █▀▄▀▀▀▀ ▄▄▄█▀ \n ▄▀ ▄█▀ █▄ \n ▀▄▄▄▄▄▀ █ \n ▄▀▄ ▄█ ▀▄ \n ▄▀ ▀█████ █ █ \n▄▀ █ ▄▄ ██ █\n█▄▄█▄▄▀ ▀▄▄▀▄█▄▀"], ["walk_2", " ▄▄▄ ▄▄▄▄▄\n ▄▄ ▄█▄█▀▀ ██▀\n ▀▄▀ ▄▄ ▄▀▀▀▀ \n █ ▀▀ ▄▀▀▄ \n ▄█▀▀▀▀ ▄▀▀▄ \n ▄▀ █▄▄▄▄█▀█ █ \n▄▀ ▄▀▀▀▀▀▄█ █\n█▄▄█▄▄▀▀▀▄▄█▄█▄▀"]]], + ["anubismon", [["angry", " █▄ █▄ ▄▄ \n ▄███▀█▀▄▀ █ \n █████▄▄█▀▄▀▄ █ \n ▄▀█ ▀█ █▀ █\n ▀▄▀▄▄▄▄█▀▀█▀▄ █\n ▀█▀▀▀██ █▀▄█\n █ █ █ ▀█▀ \n ▄██▀▀██▄ "], ["attack", " ▄ ▄ \n ██▄██▄ █▀▄ \n ▄▄██▀▀▄█▄▀▄ ▀▄ \n ▀█▀▀▀▀██ █▄▀ ▀▄\n ▀█▀▀▄█▄▀▄▄ █\n ▄▀▄████ ▀▄ █ █\n █ ▄▀▄ ▄▀█ █ ▀▀\n ▄██▄▀▀▀▄▄██▄ "], ["eat_1", " ▄ ▄ \n ██▄██▄ █▀▄ \n ▄▄██▀▄▀█▄▀▄ ▀▄ \n ▀█▀▀▀▀██ █▄▀ ▀▄\n ▀█▀▀▄█▄▀▄▄ █\n ▄▀▄████ ▀▄ █ █\n █ ▄▀▄ ▄▀█ █ ▀▀\n ▄██▄▀▀▀▄▄██▄ "], ["eat_2", " █▄ █▄ ▄▄ \n ▄███▀█▀▄▀ █ \n ████▄▄██▀▄▀▄ █ \n █ ▄█ █▀ █\n █▀████▀▄▀▀▄ █\n ▄▀ █▀▀▀█▄ ▀▄▀▄█\n ▀▄█ █ █ ▀▄▄▀ \n ▄██▀▀██▄ "], ["happy", " █▄ █▄ ▄▄ \n ▄██▀██▀▄▀ █ \n ████▄█▄█▀▄▀▄ █ \n █ ▄█▄▀▀▄ █\n █▀████▀ ▄▀▄ █\n ▄▀ █▀▀▀██▀ ▀▄█\n ▀▄█ █ █ █ \n ▄██▀▀██▄ "], ["injured_1", " \n \n █▄ █▄ █▀▄ \n ▄██▀██▀█▄ ▀▄ \n █████▄▄█▀▄▄▀▄▀▄\n ▀▄▄▄▄▀█▄█▄ ▀ █\n ▄▀▀▄▀█▀█▄ ▀█ ▄█\n █▄█▄█▄▄▄█▄▄█▀▀ "], ["injured_2", " \n \n ▄ ▄ ▄▄ \n ██▄██▄▄▀ █ \n ▄▄███ ▀█▄▀▀▄ █ \n ▀█▀▀▀▀██▄██ █ █\n ▄▀█▀██▄█ ▀█ █\n █▄▄█▄█▄██▄▄█▄█▀"], ["refuse", " ▄ ▄ \n ██▄██▄ █▀▄ \n ▄▄███▀ █▄▀▄ ▀▄ \n ▀█▀▀▀▀██ █▄▀ ▀▄\n ▀█▀▀▄█▄▀▄▄ █\n ▄▀▄████ ▀▄ █ █\n █ ▄▀▄ ▄▀█ █ ▀▀\n ▄██▄█▄█▄▄██▄ "], ["sleep_1", " \n ▄ ▄ ▄▄ \n ██▄██▄▄▀ █ \n ▄▄███▀▀█▄▀▀▄ █ \n ▀█▀▀▀▀██ █▀ █ █\n █▀██▄█▀█▀▄ █\n ▄▀ █▀█▀█▄ ▀▄▀▄█\n █▄█▄█▄▄▄█▄▄█ "], ["sleep_2", " \n \n █▄ █▄ █▀▄ \n ▄█████▀█▄ ▀▄ \n █████▄▄█▀▄▄▀▄▀▄\n ▀▄▄▄▄▀█▄█▄ ▀ █\n ▄▀▀▄▀█▀█▄ ▀█ ▄█\n █▄█▄█▄▄▄█▄▄█▀▀ "], ["walk_1", " █▄ █▄ ▄▄ \n ▄███▀█▀▄▀ █ \n ████▄▄██▀▄▀▄ █ \n ▀▄▄▄▄▀█ █▀ █\n ▄▀▄▄██▀▄▀▀▄ █\n ▄▀ █▀▀▀█▄ ▀▄▀▄█\n ▀▄█ █ █ ▀▄▄▀ \n ▄██▀▀██▄ "], ["walk_2", " ▄ ▄ \n ██▄██▄ █▀▄ \n ▄▄██▀▀▄█▄▀▄ ▀▄ \n ▀█▀▀▀▀██ █▄▀ ▀▄\n ▀█▀▀▄█▄▀▄▄ █\n ▄▀▄████ ▀▄ █ █\n █ ▄▀▄ ▄▀█ █ ▀▀\n ▄██▄▀▀▀▄▄██▄ "]]], + ["apemon", [["angry", " ▄▄▄▀▀▀█▀ ▄▄▄▄ \n▄▀ █ █▄▀▀ ▄▀▄▄\n▀▄▀ ▀▄▀ ▀▄▀▀▀ █\n █▄ ▄█ █▄▀ █ \n █ ▄▄▄▄ ▄▀▄▄▀ █\n█ ▀▄▄▄▄▄█ █▄ ▄▀\n █▀ ▄▄▄ ▀▀▀▄ █ \n█▄█▄██ █▄█▄█▄█ "], ["attack", " ▄▀█▀▀▀▀▀█▄▄▄▄ \n █ █ ▄▄▄▀▀ ▄█▄▄\n █ ▀ ▄▀█▄▀▀ ▄▀\n █▄▄▄ ▀▀ █ ▄▀ █▄\n ███ █▀▄▄▀ █\n ▄▄▀▀▀ ▄█ █ █ \n█▄▀█▀▀▀▄▀▀▀▀▄▀ \n█▄▄▄█▀█▄█▄█▄▄█ "], ["eat_1", " ▄▄▀▀▀▀▀█▄▄▄▄ \n▄▀▀▄ ▄▄▄▀▀ ▄█▄▄\n▀▄▀ ▀ ▄▀█▄▀▀ ▄▀\n █▄▄▄▄▀ █ ▄▀ █▄\n ▄██▀▀█ █▀▄▄▀ █\n█ ▄▀▀▀ ▄█ █ █ \n █▀█▀▀▀▄▀▀▀▀▄▀ \n█▄█▄█▀█▄█▄█▄▄█ "], ["eat_2", " ▄▄▄▀▀▀█▀▄▄▄▄▄ \n▄▀▄▀ █▄▀ ▄▀ \n▀▄▀▄▀▀▀▀▄ ▄▄█▀▀█\n █ ▄▀ █ ▄ █▄\n █ ▄ █▀▄▄▀ █\n█ █▀▀▀ ▄█ █ █ \n █▀█▀▀▀▄▀▀▀▀▄▀ \n█▄█▄█▀█▄█▄█▄▄█ "], ["happy", " ▄▄▀▀▄▀▀▀▀█▄▄▀█ \n█ ▄▄█ ▄▄█▀ ▄▀█\n▀█ ▄ ▀ ▄ ▀▄▀▀ ▄▀\n █▀ ▀ ▀ ▀ █▀ ▄▀█\n █ ██████ █▄▀▀ █\n▄▀▀▄▀▀▀▀▄█ █ █ \n▀▄▄▀▀▀▀▀ ▀▀▄▀ \n█▄█▄██▀█▄█▄█▄█ "], ["injured_1", " ▄▄▄▄ \n ▄▄▄▀ █▄▄▀▀█▀ \n▄▀ █ ▄▀ █ ▄█\n█ ▄▀▄ ▄▀▀▄ ▄▀▀ █\n █ ▄ ▀ ▄ █▄█▄▀█\n█▄▀▀ ▀▀ █▀▄▄▀▄\n█ ▀▄███▄▄█▀ █\n█▄▄█▄▄▄▄▄█▄▄▄▄▄█"], ["injured_2", " \n ▄▄▀▀▀▀█▄▄▄▄ \n ▄▀█ █▀ ▄█▄ \n█ ▄▀ █ █ ▀▄\n▀▄▀▀▄▄▀ ▀▄█▄▄▄ █\n▄█▄█ █▄ █▀▄▄▀▄\n█ ▀▄▄▄▄▄▄█▀ █\n█▄▄█▄▄▄▄▄█▄▄▄▄▄█"], ["sleep_1", " \n ▄▄▄▄ \n ▄▄▄▀ █▄▄▀▀█▀ \n▄▀ █ █ ▀ █ ▄█\n█ █ ▀▄▀ ▄▄▀▀▀▀ █\n█ █ █ ▄▀ ▄▀▀▄\n █▀▄ ▀▄▀ ▄█▀▀▀▄▀\n█▄█▄█▄█▄▄█▄█▄█▄█"], ["sleep_2", " ▄▄▄▄ \n ▄▄▄▀ █▄▄▀▀█▀ \n▄▀ █ █ ▀ █ ▄█\n█ █ ▀▄▀ ▄▄▀▀▀▀ █\n▄▀█ █ ▄▀ ▄▄▄▀▄\n█ ▀▄ █ █ ▄▀ █\n █▀█▄ █ ▀▄▄▀▀▀▄▀\n█▄█▄██▄█▄█▄█▄█▄█"], ["walk_1", " ▄▄▄▀▀▀█▀ ▄▄▄▄ \n▄▀ █ █▄▀▀ ▄▀▄▄\n▀▄▀ ▀▄▀ ▀▄▀▀▀ █\n █▀▄ ▄▀ █▄▀ █ \n▄▀▄ ▄▄▄ ▄▀▄▄▀ █\n█ ▀█▄▄▄▄█ █▄ ▄▀\n █▀ ▄▄▄▄▀▀▀▄ █ \n█▄█▄██ █▄█▄█▄█ "], ["walk_2", " ▄▄▄▄▄ ▄ \n ▄▀█▀ ▄▀▄▄▀▀█▀ \n█ ▄▀▄ ▄▀▀▄ ▄█▄▀█\n █▄ ▀ ▄ █▀▀ █ \n▄█▀▀ ▀▀ █▄ █▄\n█▀▄████▄ ▄█ ██\n █▀▄▄▄▄▄█▀ ▀▀█▄ \n█▄█▄██ █▄█▄█▄█ "]]], + ["apocalymon", [["angry", " \n ▀▄▄▀ \n▄ ▄ ▄██▄ ▄ ▄\n▀█▀ ▄█▄▄▄▄█▄ ▀█▀\n ▀███▀ ▀████▀ \n ▄▀██▄▄▄███▀▄ \n ▀█▄█▀▀▀▀█▄█▀ \n ▀██▀ "], ["attack", " ▀▄▄▀ ▄ ▄\n ▄██▄ ▀█▀\n▀██ ▄▄ █▄▄▄▄█▄ █\n ▄█▀ ▄██▀█████▀ \n▀▀▀ ██ █████ \n █ ██████▀▄▀ \n ▄▄ █▀▄▄▄▄▀▀▀ \n ▄█▀ ▀▀ "], ["eat_1", " ▄ ▄ ▀▄▄▀ ▄ ▄ \n ▀█▀ ▄██▄ ▀█▀ \n ▀▄█▄▄▄▄█▄▀ \n ▄███▀████▄ \n ███ ████ \n ▄▀██▄ ▄███▀▄ \n ▀█▄█▀▀▀▀█▄█▀ \n ▀██▀ "], ["eat_2", " ▄ ▄ \n ██ \n▄▄ ▄ ▄▀▀▀▀▄ ▄ ▄▄\n▄█▀ ████████ ▀█▄\n ██▄▀▀▀▄███ \n █▄▀██████▀▄█ \n ▀▀▀▄▄▄▄▀▀▀ \n ▀▀ "], ["happy", " █▄█ ▀██▀ █▄█ \n ▀▄ ▄▀▀▀▀▄ ▄▀ \n ▀████████▀ \n ██▄ ▄███ \n █▄▀██████▀▄█ \n ▀▀▀▄▄▄▄▀▀▀ \n ▀▀ \n "], ["injured_1", " \n ▄ ▄ \n ▄██▄ \n ▄█▄▄▄▄█▄ \n ▄████████▄ \n ▄██▀▀▀▀▀███▄ \n▄▄█▄▀██████▀▄█▄▄\n▄█ ▀▀▀▄▄▄▄▀▀▀ █▄"], ["injured_2", " \n \n ▀▄█ \n ▄▀▀▀▀▄ \n ▄████████▄ \n ▄██▀ ▀███▄ \n▄▄█▄▀██████▀▄█▄▄\n▄█ ▀▀▀▄▄▄▄▀▀▀ █▄"], ["sleep_1", " \n \n ▀██▀ \n ▄▀▀▀▀▄ \n ▄████████▄ \n ███▀ ▀████ \n █▄▀██████▀▄█ \n ▀▀▀▄▄▄▄▀▀▀ "], ["sleep_2", " \n ▄▄▄▄ \n ▄██▄ \n ▄█▄▄▄▄█▄ \n ▄███▀████▄ \n ███ ████ \n █▄▀██████▀▄█ \n ▀▀▀▄▄▄▄▀▀▀ "], ["walk_1", " ▀▄▄▀ \n▀█▄ ▄██▄ ▄█▀\n▀▀ ▀▄█▄▄▄▄█▄▀ ▀▀\n ▄███▀████▄ \n ███ ████ \n █▄▀██████▀▄█ \n ▀▀▀▄▄▄▄▀▀▀ \n ▀▀ "], ["walk_2", " ▄ ▄ \n ██ \n▄▄ ▄ ▄▀▀▀▀▄ ▄ ▄▄\n▄█▀ ████████ ▀█▄\n ███▀ ▀████ \n ▄▀██▄▄▄███▀▄ \n ▀█▄█▀▀▀▀█▄█▀ \n ▀██▀ "]]], + ["apollomon", [["angry", " \n ▄▄▀▀▀▀▀▀▀▀▀█ \n █▄▄▀▀▀█▀▄▄ █▄▄\n █▀ ▄██ ▄▀ ▄▀\n █▀▀ ▄▄▀ ▄█▄██\n ▄▀███▀▀███▀▀ ▀█\n ▀▄█▀ ▀▀ ▀▄▄▄▀ \n █▄█▄█▀█▄▄█▄█ "], ["attack", " ▄▄▀▀▀▀▀▀▀▀▀█ \n █▄▄▀▀▀█▀▄▄ █▄▄\n █▀ ▄██ ▄▀ ▄▀\n █████▄▄▄█▄ ▀█\n█ ▄▄███ ▄▀\n▀▄▄▀████▀▀█▀▄▄▀ \n ▀▄▀ ▄▄ ▀▄ \n █▄█▄█ ▀▄▄█▄█ "], ["eat_1", " ▄▄▀▀▀▀▀▀▀▀▀█ \n █▄▄▀▀▀▀▀▄▄ █▄▄\n █▀ ▄▀▄ ▄▀ ▄▀\n █████▄ ▄▀ ▄█▄▀█\n█ █▀▀ ▄█▀▀ ▀█▄▀\n ▀▄▄█▀█▄█▄▄█▀▀ \n ▄▀ ▄▄ ▀▄ \n █▄█▄█ █▄▄█▄█ "], ["eat_2", " ▄▄▄▄▄▄▄▄▄▄ \n ▄▀▀▄▄▄▄▄ ▄▀ \n ▄█▀▀ ▄ ▀█ ▀▀█\n █▄▄▄ ▀ ▀▄▀ ▄ █▄\n ▀▄▄▄▄▄▀▀▄▄███ █\n ▄▀██▀▀█▀▀ ▀█▀ \n █▀▀ ▀▀▀▄▄▄▀▄ \n █▄█▄█▀▀▀█▄▄█▄█ "], ["happy", " ▄▄▀▀▀▀▀▀▀▀▀█ \n █▄▄▀▀▀▀▀▄▄ █▄▄\n █▀ ▄▀▄ ▄▀ ▄▄▀\n▄▀████▄ ▄▀ ▄▀ █\n▀▄ █▀▀▀▄█▄█ ▄█▀\n ▀▄█▀█▄█▀▀█▀ \n ▄▀ ▄▄ ▀▄ \n █▄█▄█ █▄▄█▄█ "], ["injured_1", " \n ▄▄▄▄▄▄▄▄▄▄ \n ▄▀▀▄▄▄▄▄ ▄▀ \n ▄█▀▀ ▄ ▀█ ▀▀█\n █▄▄▄ ▀▀▄▀ ▄ █▄\n ▄█▀▀▀ ▄▀ ▄███▄█\n█ ▀█▀▀█▀▀██▀ █\n▀▄▄▄█▄█▄▄▀▀▄▄▄▀ "], ["injured_2", " \n \n ▄▄▀▀▀▀▀▀▀▀▀█ \n █▄▄▀▀▀▀▀▄▄ █▄▄\n █▀ ▀▄▄ ▄▀ ▄▀\n █▀▀ ▄▄▀▄▄█▄██\n█ ▀█▀▀█▀▀██▀ █\n▀▄▄▄█▄█▄▄▀▀▄▄▄▀ "], ["sleep_1", " \n▄ ▄▄▄▄▄▄▄▄▄▄ \n█ ▄▀▀▄▄▄▄▄ ▄▀ \n█▄█▀▀ ▀█ ▀▀█\n██▄▄ ▀▀▀▄▀ ▄ █▄\n▀█▄▄▄▄▄██▄████▄█\n█ ▀▄ ▀█ ██▀ █\n▀▄▄▄█▀▀▀▀▀▀▄▄▄▀ "], ["sleep_2", " \n ▄▄▀▀▀▀▀▀▀▀▀█ \n █▄▄▀▀▀▀▀▄▄ █▄▄\n █▀ ▄▄▄ ▄▀ ▄▀\n ▀███▄ ▄▀ ▄█▄▀█\n ▄█▄▄▄▄█▄▄████▄█\n█ ▀▄ ▀█ ██▀ █\n▀▄▄▄█▀▀▀▀▀▀▄▄▄▀ "], ["walk_1", " ▄▄▀▀▀▀▀▀▀▀▀█ \n █▄▄▀▀▀▀▀▄▄ █▄▄\n █▀ ▄█▀ ▄▀ ▄▀\n █▀▀ ▄▄▀ ▄█▄▀█\n ▀████▄▄▄█▀▀█▄▀\n ▄▀ █▀▄▄▀█ ▄▀ \n ▀▄█▀ ▄▄ ▀▀▄ \n █▄█▄█ █▄▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄▄▄▄▄ \n ▄▀▀▄▄▄▄▄ ▄▀ \n ▄█▀▀ ▄▄ ▀█ ▀▀█\n █▄▄▄ ▀▀ ▄▀ ▄ █▄\n ▀▄▄▄▄▄▀▀▄▄███ █\n ▄▀██▀▀█▀▀ ▀█▀ \n █▀▀ ▀▀▀▄▄▄▀▄ \n █▄█▄█▀▀▀█▄▄█▄█ "]]], + ["aquilamon", [["angry", " ▄▀██▄█▀▀█▀ ▄▄▄▄\n ▄▀ ▀ ▄▀▄▄▀ ▄▄█\n █ ▀▄ ▀▀ █▀ ▄▄▄▀\n ▀████ ▄█▀ ▄▀ \n ▀▄▄█▀ ▄██▄▄ \n ▀▄ ▄▀ ▀▄▄█ \n ▄█▀██▀█▀█▀ \n █▄█▀ █▄█▀ "], ["attack", " ▄▀██▄█▀▀█▀ \n ▄▀ ▀▄▄▀▄ \n ▄▀▄ ▀▀ █▀▀▄▄ \n █ ▄█ ▄█▀▄ ▀▄\n ▀ ███▀ ▄▄█▄█ █\n ▀▄ ▄▀ ▀▄██ \n ▄▀█▀█▀▀█▀█▀▄ \n ▀▀▀▀▀ ▀▀▀▀▀ "], ["eat_1", " \n ▄▀██▄█▀▀█▀ ▄▄▄▄\n ▄▀ ▀▄ ▀▄▄▀ ▄▄█\n ▄▀▄ ▀ ▀ █▀ ▄▄▄▀\n █ ▄█ ▄█▀ ▄▀ \n ▀ ███▀ ▄██▄▄ \n ▄▄█▄ ▄▀ █▄▄▀ \n █▄█▄██▀▀██▄█▄█ "], ["eat_2", " ▄▄▄ ▄▄▄▄▄ \n ▀ █▀█▀ ▄▀ ▄▀▀▀█\n▄▀▀▄ █ ██ ▀▀█\n█▄██▄ ▄█ ▀█▀ \n ▀█▀▀▄█▀▀ ▄▄▀ \n ▀█▀ █▀█▀▀▄ \n ▄▄█▄▄█▄▄▄█▀▀ \n █▄█▄█ █▄█▄█ "], ["happy", " ▄▀██▄█▀▀█▀ ▄▄▄▄\n ▄▀ ▀▄ ▀▄▄▀ ▄▄█\n █ ▀▄▀ ▀ █▀ ▄▄▄▀\n ▀████ ▄█▀ ▄▀ \n ▀▄▄█▀ ▄██▄▄ \n ▀▄ ▄▀ ▀▄▄█ \n ▄█▀██▀█▀█▀ \n █▄█▀ █▄█▀ "], ["injured_1", " \n ▄▄▄ ▄▄▄▄▄ \n ▀ █▀█▀ ▄▀ \n █ ▄ ██ \n █ ▀▄▀▀ ▄█▄ \n ▀▄▀█▄▄█▀ ▀▄ \n █▀▀ █ ▄ ▀▄ \n █▄█▄▄█▄██▄▄▀ "], ["injured_2", " \n \n ▄▀██▄█▀▀█▀ \n ▄▀ ▀ ▀▄▄ \n ▄▀▄ █▄ █▀ \n █ ▄█ ▄█▀▀▄ \n ▀ ███▀ ▄▄ ▀▄ \n █▄█▄▄▄▄██▄▄█ "], ["refuse", " \n▄▀▀██▄█▀▀█▀ \n ▄▀ ▀▄▄▀▄ \n ▄▀▄ ▀▀ █▀▀▄▄ \n █ ▄█ ▄█▀▄ ▀▄\n ▀ ███▀ ▄▄█▄█ █\n ▄▄█▄ ▄▀▄█▄█▀ \n █▄█▄███▀▀█▄█▄█ "], ["sleep_1", " \n \n ▄▀██▄█▀▀█▀ \n ▄▀ ▀ ▀▄▄ \n ▄▀▄ ▀▀ ██▀▄▄ \n █ ▄█ ▄█▀ ▄ ▀▄\n ▀ ███▀ ▄██▄█▄█\n █▄█▄▄█▄▄█▄▀ "], ["sleep_2", " \n ▄▄▄ ▄▄▄▄▄ \n ▀ █▀█▀ ▄▀ \n █ ▄▄ ██▄ \n █ ▀▄ ▄█▀ ▀▀▄ \n ▀▄▀█▄▄█▀ ▄█ ▄ █\n █▀▀ █▄██▀█▀\n █▄█▄▄█▄▄█▄▀ "], ["walk_1", " ▄▄▄ ▄▄▄▄▄ \n ▀ █▀█▀ ▄▀ ▄▀▀▀█\n █ ▄█▀ ██ ▀▀█\n █ ▀▄ ▄█ ▀█▀ \n ▀▄▀█▄▄█▀ ▄▄▀ \n █▀▀ █▀█▀▀▄ \n ▄▄█▄▄█▄▄▄█▀▀ \n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▀██▄█▀▀█▀ \n ▄▀ ▀▄▄▀▄ \n ▄▀▄ ▀▀ █▀▀▄▄ \n █ ▄█ ▄█▀▄ ▀▄\n ▀ ███▀ ▄▄█▄█ █\n ▀▄ ▄▀ ▀▄██ \n ▄▀█▀█▀▀█▀█▀▄ \n ▀▀▀▀▀ ▀▀▀▀▀ "]]], + ["argomon_adult", [["angry", " ▀██▄ ▀██▄ \n ▀████▀█████▄ \n ▄██ █ █████▄ \n █▀█▀▀ ▀▀█▀ ██ \n ▀███▀█▀████▀█ \n █ █ ▄ ▄ █ ▄▀ \n ▀█▀▀▀▀▀▀▀▀ ▀▄ \n ▀▄▄█▄▄█▄▄█▄▄█"], ["attack", " ▄▄▄ ▄▄▄ \n ▄███▄▄▄▄███ \n ▀██▀▄▀█████ \n █▀█▄▀▄█▀▀███ \n █▀▄▄ ▄▄▀▀▄██ \n ▄▀██ █ ██▀▀ █ \n ▀▄███▄███▄▄▀▀▄ \n ▀▄▄█▄▄█▄▄█▄▄█"], ["eat_1", " ▄▄▄ ▄▄▄ \n ▄███▄▄▄▄███ \n ███▀▄▀█████ \n █▀▄▀▄▀▄█▀▄▀██ \n ▀███▄ ▄▄█████ \n ▄▀██ █ ██▀▀ █ \n ▀▄███▄███▄▄▀▀▄ \n ▀▄▄█▄▄█▄▄█▄▄█"], ["eat_2", " ▀██▄ ▀██▄ \n ▀████▀█████▄ \n ▄██ █ █████▄ \n █▄▀▀ ▀▀▄▄▀██ \n █▄█▀█▀█▄▄█▀█ \n █▀██▀█▀██▀ ▄▀ \n ▀█▀▀▀▀▀▀▀▀ ▀▄ \n ▀▄▄█▄▄█▄▄█▄▄█"], ["happy", " ▀██▄ ▀██▄ \n ▀████▀█████▄ \n ▄█▀█ █ ██▀██▄ \n▀█▄█▄▀ ▀▀▄█▄██ \n ██▀█▄█▀███▀█ \n █▀██▄▄▄██▀ ▄▀ \n ▀█▀▀▀▀▀▀▀▀ ▀▄ \n ▀▄▄█▄▄█▄▄█▄▄█"], ["injured_1", " ▄▄▄ ▄▄▄ \n ▄███▄▄▄▄███ \n ▀██▀▄▀█████ \n ▄█▀█▄▀▄█▀████ \n █▄▄█▄ ▄█▄▄███ \n ▄███ █ ███▀ █ \n ▀▄███▄███▄▄▀▀▄ \n ▀▄▄█▄▄█▄▄█▄▄█"], ["injured_2", " \n ▀██▄ ▀██▄ \n ▀████▀█████▄ \n ▄██ █ █████▄ \n █▀ █▀ ▀█ ▀███ \n ▀███▀▄▀████▀█ \n █ ██▄▀▄██ ▄▀▄ \n ▀▀▄▄█▄▄████▄▄█"], ["refuse", " ▄▄▄ ▄▄▄ \n ▄███▄▄▄▄███ \n ▀██▀▄▀█████ \n ▄███▄▀▄███▀██ \n █▄█▄▄ ▄▄█▄▄██ \n ▄▀██ █ ██▀▀ █ \n ▀▄███▄███▄▄▀▀▄ \n ▀▄▄█▄▄█▄▄█▄▄█"], ["sleep_1", " \n ▀██▄ ▀██▄ \n ▀████▀█████▄ \n ▄██ █ █████▄ \n █▀█▀ ▀█▀▀███ \n ███▀▄▀████▀█ \n █▀██▄▀▄██▀ ▄▀▄ \n ▀▀▄▄█▄▄████▄▄█"], ["sleep_2", " ▄▄▄ ▄▄▄ \n ▄███▄▄▄▄███ \n ▀██▀▄▀█████ \n ███▄▀▄██████ \n █▄█▄ ▄█▄▄███ \n ▄▀██ █ ██▀▀ █ \n ▀▄███▄███▄▄▀▀▄ \n ▀▄▄█▄▄█▄▄█▄▄█"], ["walk_1", " ▀██▄ ▀██▄ \n ▀████▀█████▄ \n ▄██ █ █████▄ \n █▄▀▀ ▀▀▄▄▀██ \n █▄█▀▄▀█▄▄█▀█ \n █▀██▄▀▄██▀ ▄▀ \n ▀█▀▀▀▀▀▀▀▀ ▀▄ \n ▀▄▄█▄▄█▄▄█▄▄█"], ["walk_2", " ▄▄▄ ▄▄▄ \n ▄███▄▄▄▄███ \n ▀██▀▄▀█████ \n █▀█▄▀▄█▀▀███ \n █▀▄▄ ▄▄▀▀▄██ \n ▄▀██ █ ██▀▀ █ \n ▀▄███▄███▄▄▀▀▄ \n ▀▄▄█▄▄█▄▄█▄▄█"]]], + ["argomon_baby_i", [["angry", " \n ▄▀▄ \n ▄▀ ▀▄ \n ▄▀▀▀▄▀▄ \n █ ▄█ █ █ \n ▀▄ ▄▀▄▀ \n ▀█▀▄▀ \n ▄▄▄█▄▄▄ "], ["attack", " ▄▄ \n ▄▀▄ █ ▄▀ \n ▀ █▄▄ █ \n ▄▀▄▄ ▀▄▀▄ \n █▀█▄▀ █ █ \n ▀▄▄▄▀▄▀ \n ▀▄▀ \n ▄▄▄▄▄ "], ["eat_1", " ▄▄ \n ▄▀▄▀ \n █▄▄ █ \n ▄▀▄▄ ▀▄▀▄ \n █ ▄██ █ █ \n▄█▄ ▀▄▄▄▀▄▀ \n ▀▄ ▀▄▀ \n ▀▀▀ "], ["eat_2", " \n ▄▀▄ \n ▄▀ ▀▄ \n ▄▀▀▀▄▀▄ \n █ ▄▀▄ █ █ \n ▀▄ ▄▀▄▀ \n ▀█▀ █ \n ▀▄▀ "], ["happy", " ▄ \n █ █ \n █▄▄ █ \n ▄▀ ▄ ▀▄▀▄ \n █ ▀ ▀ █ █ \n ▀▄▄▄▀▄▀ \n ▀▄▀ \n ▄▄▄▄▄ "], ["injured_1", " \n ▄▄ \n █ ▄▀ \n █▄▄ █ \n ▄▀ ▀▄▀▄ \n █ █▄ █ █ \n ▀▄▄▄▀▄▀ \n ▀▄▀ "], ["injured_2", " \n \n ▄▀▀▄ \n ▄▀ ▀▄ \n ▄▀▀▀▄▀▄ \n █ ▄ █ █ \n ▀▄▀▀ ▄▀▄▀ \n ▀██▄▀ "], ["sleep_1", " \n ▄▄ \n █ ▄▀ \n █▄▄ █ \n ▄▀ ▀▄▀▄ \n █ ▀▀ █ █ \n ▀▄▄▄▀▄▀ \n ▀▄▀ "], ["sleep_2", " \n ▄▀▄ \n ▄▀ ▀▄ \n ▄▀▀▀▄▀▄ \n █ ▄▄ █ █ \n ▀▄ ▄▀▄▀ \n ▀█▀ █ \n ▀▄▀ "], ["walk_1", " ▄ \n █ █ \n █▄▄ █ \n ▄▀▄▄ ▀▄▀▄ \n █ ▄██ █ █ \n ▀▄▄▄▀▄▀ \n ▀▄▀ \n ▄▄▄▄▄ "], ["walk_2", " \n ▄▀▀▄ \n ▄▀ ▀▄ \n ▄▀▀▀▄▀▄ \n █ ▀█▄ █ █ \n ▀▄▀▀▀▄▀▄▀ \n ▀█▀▄▀ \n ▄▄▄█▄▄▄ "]]], + ["argomon_baby_ii", [["angry", " \n ▄▄ ▄▄ \n ▀▄▀▀▀▀▀▄▀ \n █▄▀▀▀▄ █ \n ▄▄█ ▄ █▄▄█▄▄ \n██ █▄▀▀ ▄▀ █ ██\n ▄▀ ▀▀▀ ▀▄ \n ▀▄▄▀▀▄▄▀▀ "], ["attack", " █▀▄▄▄▄▄▀█ \n ▄▄ ▄▀▄▄▄ ▀▄ ▄▄\n ▀█ █▀ ▄ ▀▄ ▀▄▀█\n ▀█ ▀▀ █▀▀█▀ \n ▄▀ ▀▄▄▄▀ ▀▄ \n █▀▄▄▄▄▄▀█▀ \n ▀▀ ▀▄▀ ▀▀ \n ▄▄▄▄▄ "], ["eat_1", " █▀▄▄▄▄▄▀█ \n ▄▀▄▄▄ ▀▄ \n▄▄ █▀▄▄ ▀▄ ▀▄ ▄▄\n▀▀▀█ ▄██ █▀▀█▀▀▀\n ▄▀ ▀▄▄▄▀ ▀▄ \n █▀▄▄▄▄▄▀█▀ \n ▀▀ ▀▄▀ ▀▀ \n ▄▄▄▄▄ "], ["eat_2", " ▄▄ ▄▄ \n ▀▄▀▀▀▀▀▄▀ \n █▄▀▀▀▄ █ \n ▄▄█ ▄▀▄ █▄▄█▄▄ \n██ █▄ ▄▀ █ ██\n ▄▀ ▀▀▀ ▀▄ \n ▀▄▄▀▀▄▄▀▀ \n ▄▄▄▄▄▄▄▄▄ "], ["happy", " \n █▀▄▄▄▄▄▀█ \n ▄▀▄▄▄ ▀▄ \n██ █▀ ▄ ▀▄ ▀▄ ██\n ▀▀█ ▀ ▀ █▀▀█▀▀ \n █▀▄▄▄▀ ▄▀ \n ▀▄ ▄▄ ▄▄▀ \n ▀▀ ▀▀ "], ["injured_1", " \n ▄▄▄▄▄▄▄▄▄ \n █▄▀▄▄▄ ▀▄█ \n █▀▄ ▀▄ ▀▄ \n ▄██ ▀▀ █▀▀██▄ \n██ █▀▄▄▄▀ ▄▀ ██\n ▀▄ ▄▄ ▄▄▀ \n ▀▀ ▀▀ "], ["injured_2", " \n \n ▄▀█▀▀▀▀▀█▀▄ \n ▀█▄▀▀▀▄ █▀ \n ▄█ █▄ █▄▄█▄ \n▄█▀█▄ ▄▀ █▀█▄\n▀▀▄▀ ▀▀▀ ▀▄ ▀▀\n ▀▄▄▀▀▄▄▀▀ "], ["sleep_1", " \n ▄▄ ▄▄ \n ▀▄▀▀▀▀▀▄▀ \n █▄▀▀▀▄ █ \n ▄▄█ ▄▄▄ █▄▄█▄▄ \n██ █▄ ▄▀ █ ██\n ▄▀ ▀▀▀ ▀▄ \n ▀▄▄▀▀▄▄▀▀ "], ["sleep_2", " \n \n ▄▀█▀▀▀▀▀█▀▄ \n ▀█▄▀▀▀▄ █▀ \n ▄▄█ ▄▄▄ █▄▄█▄▄ \n██ █▄ ▄▀ █ ██\n ▄▀ ▀▀▀ ▀▄ \n ▀▄▄▀▀▄▄▀▀ "], ["walk_1", " ▄▄ ▄▄ \n ▀▄▀▀▀▀▀▄▀ \n █▄▀▀▀▄ █ \n ▄▄█ ▀█▄ █▄▄█▄▄ \n██ █▄▀▀▀▄▀ █ ██\n ▄▀ ▀▀▀ ▀▄ \n ▀▄▄▀▀▄▄▀▀ \n ▄▄▄▄▄▄▄▄▄ "], ["walk_2", " \n █▀▄▄▄▄▄▀█ \n ▄▀▄▄▄ ▀▄ \n █▀▄▄ ▀▄ ▀▄ \n▄█▀█ ▄██ █▀▀█▀█▄\n▀▀ █▀▄▄▄▀ ▄▀ ▀▀\n ▀▄ ▄▄ ▄▄▀ \n ▀▀ ▀▀ "]]], + ["argomon_child", [["angry", " \n █▀▄▄▄▄▄▀█ \n ▄▀▄▄▄ ▀▄ \n █▀ ▀▄ █ \n █ ▀▀ █ ▄▀ \n ▄▀▀█▄▄▄█▄██▀▀▀▄\n ▀▄▄▀ █ █ █▀▄▄▄▀\n █▄█▄▄▀▄▄█ "], ["attack", " ▄▄ ▄▄▄ \n ▄▀▀▀▀▀ ▄▀ \n █▀▀▀▄ ▀▀▄ \n ▄▄█ ▄█ █ █ \n█ ▀▄▄▄█▀▀▄▀ \n▀▄▄▄▄█▄▄▄▄█▄ \n █ ██ █ █▄ \n █▄▄█▀█▄█▄▄█ "], ["eat_1", " █▀▄▄▄▄▄▀█ \n ▄▀▄▄▄▄ ▀▄ \n █▀▄▄▄ ▀▄ █ \n ██████ █ █ \n ▀▄▀▀▀▄██▀ \n ▄██▀██▀█▀▄▄ \n █▄█ █ █ █▄ █ \n █▄▄▀▄▀▄▄█▀▀ "], ["eat_2", " \n █▀▄▄▄▄▄▀█ \n ▄▀▄▄▄ ▀▄ \n █▀ ▄ ▀▄ █ \n █ ▀ ▀ █ ▄▀ \n ▄▀▀█▄▄▄█▄██▀▀▀▄\n ▀▄▄█▀▄▀█▄▀█▄▄▄▀\n █▄▄██▄██▄▄█ "], ["happy", " █▀▄▄▄▄▄▀█ \n ▄▀▄▄▄ ▀▄ \n █▀ ▄ ▀▄ █ \n █ ▀ ▀ █ ▄▀ \n▄▀▀▀█▄▄▄█▄██▀▀▀▄\n▀▄▄▄█▀ ▀█ ▀█▄▄▄▀\n █ █ █ █ █ \n █▄▄▀▄█▄▀▄▄█ "], ["injured_1", " \n \n █▀▄▀▀▀▀▀▄▀█ \n █▄▀▀▀▄ ▀▄ \n █ █▄ █ █ \n █▄ ▄▀▄▀ \n ▄▀▀█▀█▀█▄▀██▀▀▄\n ▀▄▄▄██▄██▄▄█▄▄▀"], ["injured_2", " \n \n ▄▄ ▄▄▄▄▄ ▄▄ \n ▀▄▀▄▄▄ ▀▄▀ \n █▀▄ ▀▄ █ \n █ ▀▀ █ ▄▀ \n ▄▀▀█▄▄▄█▄▀██▀▀▄\n ▀▄▄▄██▄██▄▄█▄▄▀"], ["sleep_1", " \n ▄▄ ▄▄ \n ▀▄▀▀▀▀▀▄▀ \n █▄▀▀▀▄ ▀▄ \n █ ▄▄ █ █ \n █▄ ▄▀▄▀ \n ▄▀▀█▀█▀█▄▀██▀▀▄\n ▀▄▄▄██▄██▄▄█▄▄▀"], ["sleep_2", " \n █▀▄▄▄▄▄▀█ \n ▄▀▄▄▄ ▀▄ \n █▀ ▀▄ █ \n █ ▀▀ █ ▄▀ \n ▀█▄▄▄█▄█▄ \n ▄▀▀█▀▄▀█▄▀██▀▀▄\n ▀▄▄▄██▄██▄▄█▄▄▀"], ["walk_1", " ▄▄ ▄▄ \n ▀▄▀▀▀▀▀▄▀ \n █▄▀▀▀▄ ▀▄ \n █ ▀█▄ █ █ \n ▀▄▀▀▀▄▀▄█ \n ▄▄▄█▀██▀███▄▄ \n █ █ █ ██ █ █\n ▀█▄▄█▄▀█▄▄▀▀▀ "], ["walk_2", " \n █▀▄▄▄▄▄▀█ \n ▄▀▄▄▄ ▀▄ \n █▀▄▄ ▀▄ █ \n █ ▄██ █ ▄▀ \n ▄▀▀█▄▄▄█▄██▀▀▀▄\n ▀▄▄█▀▄▀█▄▀█▄▄▄▀\n █▄▄██▄██▄▄█ "]]], + ["argomon_perfect", [["angry", " █▀▄ \n █▄███▀ ▄██ \n ███▀███▄ █ \n ██▄▄██▀▄▄█▄ \n █ █▀█▀ ▄▀ \n ▄█▄▄██▀▀▄▄▄▀ \n █▄█▄██▄▄▀▀ \n ▄█▄▀ ▀▄▄█▄ "], ["attack", " ▄▄ \n █ █▄▄▄ ▄▄ \n ▄█████▄ ▀▀█ \n █▀▀▀▄██▀ ▄▀ \n █▀▀▀ █▄██▀▀▄ \n █▄▄██▄█ ▀▄ \n ▄▀█ ▄█▀ ▄█▀▀ \n ▄███▀▀▀██▄█▄ "], ["eat_1", " █▀▄ \n █▄███▀ ▄██ \n ██▀▄▀██▄ █ \n ████▀█▀▄▄█▄ \n ▀▄ ▄█▀█▀ ▄▀ \n ▄█▀▀██▀▀▄▄▄▀ \n █▄█▄██▄▄▀▀ \n ▄█▄▀ ▀▄▄█▄ "], ["eat_2", " █▀▄ \n █▄███▀ ▄██ \n ████▀██▄ █ \n █▄▄▄██▀▄▄█▄ \n █ █▀█▀ ▄▀ \n ▄█▄▄██▀▀▄▄▄▀ \n █▄█▄██▄▄▀▀ \n ▄█▄▀ ▀▄▄█▄ "], ["happy", " █▀▄ \n █▄███▀ ▄██ \n ██▀▄▀██▄ █ \n ██████▀▄▄█▄ \n █ █▀█▀ ▄▀ \n ▄█▄▄██▀▀▄▄▄▀ \n █▄█▄██▄▄▀▀ \n ▄█▄▀ ▀▄▄█▄ "], ["injured_1", " \n ▄▄ \n █ █▄▄▄ ▄▄ \n ▄█████▄ ▀▀█ \n ███████▀ ▄▀ \n █▀▀▀ █▄██▀▀▄ \n ▄▀██▄▄██▄▀▀▄▀▄ \n █▄▄█▄██▄█▄▄█▀ "], ["injured_2", " \n \n █▀▄ ▄▄ \n ▄█▄███▀ ▀▀█ \n ███████▀ ▄▀ \n ████▀█▀██▀▀▄ \n ▄▀█▄ ▄█▀▀▀▄▀▄ \n █▄▄████▄█▄▄█▀ "], ["refuse", " ▄▄ \n █ █▄▄▄ ▄▄ \n ▄█████▄ ▀▀█ \n █▀▀▀▄██▀ ▄▀ \n █▀▀▀ █▄██▀▀▄ \n █▄▄██▄█ ▀▄ \n ▄▀█ ▄█▀ ▄█▀▀ \n ▄███▀▀▀██▄█▄ "], ["sleep_1", " \n █▀▄ \n █▄███▀ ▄██ \n ███████▄ █ \n █▄▄▄▀█▀▄▄█▄ \n ▀▄ ▄█▀█▀ ▄▀ \n ▄▀██▀▀█▄▄▀▀▄▄▀ \n █▄▄█▄██▄█▄▄█ "], ["sleep_2", " \n ▄▄ \n █ █▄▄▄ ▄▄ \n ▄█████▄ ▀▀█ \n █▀▀▀███▀ ▄▀ \n █▀▀▀ █▄██▀▀▄ \n ▄▀██▄▄██▄▀▀▄▀▄ \n █▄▄█▄██▄█▄▄█▀ "], ["walk_1", " █▀▄ \n █▄███▀ ▄██ \n ████▀██▄ █ \n █▄▄▄▀█▀▄▄█▄ \n ▀▄ ▄█▀█▀ ▄▀ \n ▄█▀▀██▀▀▄▄▄▀ \n █▄█▄██▄▄▀▀ \n ▄█▄▀ ▀▄▄█▄ "], ["walk_2", " ▄▄ \n █ █▄▄▄ ▄▄ \n ▄█████▄ ▀▀█ \n █▀▀▀▄██▀ ▄▀ \n █▀▀▀ █▄██▀▀▄ \n █▄▄██▄█ ▀▄ \n ▄▀█ ▄█▀ ▄█▀▀ \n ▄███▀▀▀██▄█▄ "]]], + ["argomon_ultimate", [["angry", " ▄ ▄ ▄▄ \n █ █▄████▀▄▄█ \n ████▀ ██▀▄▄█ \n ███████▀█ \n ▀█▀▀▀▄██▀██▄ \n ▄█▀▀▀██▀▀█▀ \n █▄██▄██▄▄█▀ \n █▄▄█▀▀▀█▄▄█ "], ["attack", " ▄▀▄ ▄█▄▄▄▀▀▄ \n █▄███▀██▄▀▀█ \n ████▄▄██▄▀▀▀ \n ██▀▀ █▄█▄▄ \n █ ▀▄▄▄████ █ \n ▀█▄█▄ ▄██▄▄█▀ \n █▀██▀▀██ \n █▄▄█ █▄▄█ "], ["eat_1", " ▄▀ ▄█▄▄▀▀▄ \n █▄▄█▀▀██▄▀▀█ \n ███ ▀▄██▄▀▀▀ \n █████▀█▄█▄▄ \n ▀▄ ███▄███ \n ▄▀██▀▄█▀ ▄█ \n ▀▀█▀██▀▀█▀ \n █▄▄█ █▄▄█ "], ["eat_2", " ▄ ▄ ▄▄ \n █ █▄████▀▄▄█ \n ███▀▄▀██▀▄▄█ \n ███████▀█ \n ▀█▀▀▀▄██▀██▄ \n ▄█▀▀▀██▀▀█▀ \n █▄██▄██▄▄█▀ \n █▄▄█▀▀▀█▄▄█ "], ["happy", " ▄▀▄ ▄█▄▄▄▀▀▄ \n █▄██▀███▄▀▀█ \n ███▄█▄██▄▀▀▀ \n ██▀▀▀▀█▄█▄▄ \n ▄▀▀▄▄▄██▀ ███ \n ▀▄▄█▄ ▄█▄▄▄█ \n █▀██▀▀█▀ \n █▄▄█ █▄▄█ "], ["injured_1", " \n ▄ ▄ ▄▄ \n █ █▄████▀▄▄█ \n ███▀████▀▄▄█ \n ███▄▄██▀█ \n ▀█▀▀▀▄██▀██▄ \n ▄▀█▀▀▀█▄▀▀█▀ \n █▄▄█▄███▄▄█ "], ["injured_2", " \n \n ▄▀▄ ▄█▄▄▄▀▀▄ \n █▄██████▄▀▀█ \n ███ ▀███▄▀▀▀ \n █████▀█▄█▄▄ \n ▄▀▄▄▄█▀▄▀▀█▀ \n █▄▄█▄███▄▄█ "], ["sleep_1", " \n ▄ ▄ ▄▄ \n █ █▄████▀▄▄█ \n ████████▀▄▄█ \n ███▄▄██▀█ \n ▀█▀▀▀▄██▀██▄ \n ▄▀█▀▀▀█▄▀▀█▀ \n █▄▄█▄███▄▄█ "], ["sleep_2", " \n ▄▀▄ ▄█▄▄▄▀▀▄ \n █▄██████▄▀▀█ \n ███▀▀███▄▀▀▀ \n █████▀█▄█▄▄ \n ▀▄▄▄██▀ ███ \n ▄▀█▄ ▄██▀▀█ \n █▄▄█████▄▄█ "], ["walk_1", " ▄▀ ▄█▄▄▀▀▄ \n █▄▄█▀▀██▄▀▀█ \n ███ ▀▄██▄▀▀▀ \n █████▀█▄█▄▄ \n ▀▄▄▄███▄███ \n ▄▀█▄ ▄█▀ ▄█ \n ▀▀█▀██▀▀█▀ \n █▄▄█ █▄▄█ "], ["walk_2", " ▄ ▄ ▄▄ \n █ █▄████▀▄▄█ \n ███▀▄ ██▀▄▄█ \n ███▄▄██▀█ \n ▀█▀▀▀▄██▀██▄ \n ▄█▀▀▀██▀▀█▀ \n █▄██▄██▄▄█▀ \n █▄▄█▀▀▀█▄▄█ "]]], + ["armadillomon", [["angry", " \n ▄▄▄ ▄▄▄▄ \n ▄▀▄█▄▄▀ ▄█ \n ▄▀▀▀█▀ ▀███▄ \n▄█ ▄ ▀▄ ▀█▀ ▀▄\n█ ▀▀ █▀▀ █\n ██▀▀ ▄▄█▀▀▄▄▄██\n█▄▄███▄█▄█▀█▄█▄█"], ["attack", " ▄▀█▀ ▄▄▄▄▄ \n █▄███▀ ▄█ \n ▄▀ ▄ ▀▄ ▀███▄ \n█▀ ▀▀ █ ▀█▀ ▀▄\n▀████▄ █▀▀ █\n ▀█▀▀▀ ▄██▀▄ ██\n ▄▀▀██▀▀▀▄▄▄▀▀▀▄\n█▄▄█ █▄█▄█ █▄█▄█"], ["eat_1", " ▄▄▄ \n ▄▀▄█▄▄▀▀▀█▀ \n ▄▀▀▀█▀ ▄██▄ \n▄█ ▀▄ ▀▄ ▄██▀█ \n█▄▄▄▀▀ █▄▄▀ █\n ████ █▄▄ ▄█\n ▄█▄▄▄▄██▄ ▀▄▄█▀\n█▄▄█ █▄█▄█▀█▄█▄█"], ["eat_2", " \n ▄▄▄ ▄▄▄▄ \n ▄▀▄█▄▄▀ ▄█ \n ▄▀▀▀█▀ ▀███▄ \n▄█ ▄▀▄ ▀▄ ▀█▀ ▀▄\n█ ▄ █▀▀ █\n ██▀ ▄▄█▀▀▄▄▄██\n█▄▄███▄█▄█▀█▄█▄█"], ["happy", " ▄▄▄ \n ▄▀▄█▄▄▀▀▀█▀ \n ▄▀▀▀█▀ ▄██▄ \n▄█ ▄▀▄ ▀▄ ▄██▀█ \n█▄▄▄▄ █▄▄▀ █\n ███▀ █▄▄ ▄█\n ▄█▄▄▄▄██▄ ▀▄▄█▀\n█▄▄█ █▄█▄█▀█▄█▄█"], ["injured_1", " \n ▄▄▄ ▄▄▄▄ \n ▄▀▄█▄▄▀ ▄█ \n ▄▀▀▀█▀ ▀███▄ \n▄█ ▄ ▀▄ ▀█▀ ▀▄\n█ ▀▀ █▀▀ █\n ██▀▀ ▄▄█▀▀▄▄▄██\n█▄▄███▄█▄█▀█▄█▄█"], ["injured_2", " \n \n ▄▀█▀ ▄▀▀█▀ \n █▄███▀ ▄██▄ \n ▄▀ ▀▄ ▄██▀█ \n█▀ █▄ █▄▄▀ █\n▀▄▄▄▄ █▄▄ ▄█\n███▄▄▄███▄▄█████"], ["sleep_1", " \n \n ▄▀█▀ ▄▀▀█▀ \n █▄███▀ ▄██▄ \n ▄▀ ▀▄ ▄██▀█ \n█▀ ▄▄ █▄▄▀ █\n▀▄▄▄▄ █▄▄ ▄█\n███▄▄▄███▄▄█████"], ["sleep_2", " \n ▄▄▄ ▄▄▄▄ \n ▄▀▄█▄▄▀ ▄█ \n ▄▀▀▀█▀ ▀███▄ \n▄█ ▀▄ ▀█▀ ▀▄\n█ ▀▀ █▀▀ █\n ██▀▀ ▄▄█▀▀▄▄▄██\n█▄▄███▄█▄█▀█▄█▄█"], ["walk_1", " \n ▄▀█▀ ▄▀▀█▀ \n █▄███▀ ▄██▄ \n ▄▀ ▄ ▀▄ ▄██▀█ \n█▀ ▄█ █▄▄▀ █\n▀▄▄▄▄ █▄▄ ▄█\n ▄█▄▄▄▄██▄ ▀▄▄█▀\n█▄▄█ █▄█▄█▀█▄█▄█"], ["walk_2", " \n ▄▄▄ ▄▄▄▄ \n ▄▀▄█▄▄▀ ▄█ \n ▄▀▀▀█▀ ▀███▄ \n▄█ ▀▄ ▀▄ ▀█▀ ▀▄\n█ ▀▀ █▀▀ █\n ██▀▀ ▄▄█▀▀▄▄▄██\n█▄▄███▄█▄█▀█▄█▄█"]]], + ["armageddemon", [["angry", " ▄▄▄▄ ▄▄▄▄ \n ▀▄▄▀▀▀▄▄▄ ▀▄\n ▀▀▀ █ █\n▄▄ ▄▄▄▄ ▄▄▀▄█ █\n▀▄██▀██▀█▄███▀█ \n███▄▄██▄▀██▀ █▄█\n█████▀█▄██▄█▀█ █\n ▀▄▄▄▀ ▀▀▀▄▀▄▀▀ "], ["attack", "▀█▀▀▀▀▀▀▀▄▄ \n ▀▀▀▀▀▀▄▄ ▀▀▄ \n ▀▀▄ ▀▄\n█▀▄████▄▄ ▄ █ █\n▄██▀ ██ █▀█▄██▄▀\n███████▀▄███▀▄▀▄\n▀█▀▀▀▄▀███▀▄▄█▀█\n ▀▀▀ ▄███▄█▄█"], ["eat_1", " ▄▄▄▄ ▄▄▄▄ \n ▀▄▄▀▀▀▄▄▄ ▀▄\n▄▄ ▄▄▄▄▀▀▀ █ █\n▀▄█▀▀██▀ ▄▄▀▄█ █\n██ ▀▄██▄█▄███▀█ \n██▀▀▀██ ▀██▀ █▄█\n ▀▄▄▄▄████▄█▀█ █\n ▀▀▀▄▀▄▀▀ "], ["eat_2", " \n ▀█▀▀▄▄▄▀▀▀▀▄ \n ▀▀▄▄▄▀▀▀▄ █\n█▀▄████▄▄ ▄ █ █\n▄█▀▄▀██ █▀█▄██▄▀\n████████▄███▀▄▀▄\n▀█▀▀▀▄▀███▀▄▄█▀█\n ▀▀▀ ▄███▄█▄█"], ["happy", " ▄▄▄▄ ▄▄▄▄ \n ▀▄▄▀▀▀▄▄▄ ▀▄\n▄▄ ▄▄▄▄▀▀▀ █ █\n▀▄█▀███▀ ▄▄▀▄█ █\n██▄█▄██▄█▄███▀█ \n██ ▀█ ▀██▀ █▄█\n ▀▄▄▄▄████▄█▀█ █\n ▀▀▀▄▀▄▀▀ "], ["injured_1", " \n ▀█▀▀▄▄▄▀▀▀▀▄ \n ▀▀▄▄▄▀▀▀▄ █\n ▄ █ █\n█▀▄████▄▄▀█▄██▄▀\n▄██ ▀██ ████▀▄▀▄\n███████▀▄█▀▄▄█▀█\n▀▄▄▄▄▄▀███▀█▄█▄▀"], ["injured_2", " \n \n ▄▄▄▀▀▀▀▄ \n ▀█▀▀▄▄▄▀▀▀▄ █▄\n▄▄ ▄██▄ ▄▄▀▄█ █\n▀▄█▀███▀█▄███▀█▄\n███▄▄██▄▀██▀ █▄█\n▀▄▄▄▄▄█▄██▄███▄█"], ["sleep_1", " \n ▄▄▄▄ ▄▄▄▄ \n ▀▄▄▀▀▀▄▄▄ ▀▄\n ▀▀▀ █ █\n▄▄ ▄▄▄▄ ▄▄▀▄█ █\n▀▄█████▀█▄███▀█ \n███▄▄██▄▀██▀ █▄█\n▀▄▄▄▄▄█▄██▄███▄█"], ["sleep_2", " \n ▀█▀▀▄▄▄▀▀▀▀▄ \n ▀▀▄▄▄▀▀▀▄ █\n ▄ █ █\n█▀▄████▄▄▀█▄██▄▀\n▄██▀▀██ ████▀▄▀▄\n███████▀▄█▀▄▄█▀█\n▀▄▄▄▄▄▀███▀█▄█▄▀"], ["walk_1", " ▄▄▄▄ ▄▄▄▄ \n ▀▄▄▀▀▀▄▄▄ ▀▄\n ▀▀▀ █ █\n▄▄ ▄▄▄▄ ▄▄▀▄█ █\n▀▄█▀▀██▀█▄███▀█ \n██ ▀▄██▄▀██▀ █▄█\n█████▀█▄██▄█▀█ █\n ▀▄▄▄▀ ▀▀▀▄▀▄▀▀ "], ["walk_2", " \n ▀█▀▀▄▄▄▀▀▀▀▄ \n ▀▀▄▄▄▀▀▀▄ █\n█▀▄████▄▄ ▄ █ █\n▄█▀▄ ██ █▀█▄██▄▀\n██▄▄████▄███▀▄▀▄\n▀█▀▀▀▄▀███▀▄▄█▀█\n ▀▀▀ ▄███▄█▄█"]]], + ["arresterdramon", [["angry", " ▄▀█▄▀▀▀▄ \n ▄█▀▀ ▄▀▀▄ \n▄▀ ▄▄█ ▄▀█ \n█▄▄▄ ▄▄▀▀▀█ \n ▀▄▄▄▀▀ ▄▄█▀ ▄▀▄\n █ █▄▄▄█ █▄ ▀█▀\n ▄▀▀█ █▀▀▄ ▀▄▀ \n█▄█▄█▀▀█▄█▄█ "], ["attack", " ▄██▄▀▀▀▄ \n▄▀▀▀ ▄ ▄▀▀▄ \n████▄▀▀ ▄█▀▀▄ \n▀█████ █▄ █ \n ██▄▄█ ▄▀█ ▄█ ▄ \n ▀▄▄▄▄█ ▄▀█ █▄█\n ▄▀▀█ █▀▀▄▀▀▄█ \n█▄█▄█▀▀█▄█▄█ "], ["eat_1", " ▄▀█▄▀▀▀▄ \n ▄▄▀▀▀ ▄▀▀▄ \n█ ▄▀▄ ▄▀█ \n▀███▄ ▄▄▀▀▀█ \n▄▀▀▀▀▄▄▀ ▄▀▀▄ \n▀█▀██▄▄█▀█▄▄▀▄▀▄\n ▄▀▀█ █▀▀▄ ▀█▀\n█▄█▄█▀▀█▄█▄█▀▀ "], ["eat_2", " ▄▄ ▄▄▄ \n ▄█▄▀▀ ▄▄▀ \n ▄▀▀ ▄ ▀▄▄▀ \n█ ▀ ▀ ▀▄█▄▄ \n▀█▀▀ ▄▄▀▀ ▄▄▀ ▄ \n ▄▀█▀ ▄▀▀█ █▄█\n █▀▀█▀▀█▄▄▀▄▄▄▀ \n█▄█▄█▀▀▀█▄█▄█ "], ["happy", " ▄██▄▀▀▀▄ \n ▄▄▀ ▄ ▄▀▀▄ \n█▄▄▄▀ ▀ ▄▀▀▄ \n▀█████ ▀▄ ██ \n █▀▀▀▀▄▀▀▄▄▀ ▄▀▄\n ▀███▄▄▀█▄▄ ▀█▀\n ▄▀▀█ █▀▀▄ ▀▄▀ \n█▄█▄█▀▀█▄█▄█ "], ["injured_1", " \n ▄▄ ▄▄▄ \n ▄█▄▀▀ ▄▄▀ \n ▄▀▀▄ ▀▄▄▀ \n█ ▀▀ ▀▄█▄ \n▀█▀▀ ▄▄▀▀▄▄▄█▄ \n█ ███▄▄▀█ █ █ \n█▄▄█▄▄▄▄█▄▄▄██▄█"], ["injured_2", " \n \n ▄▀█▄▀▀▀▄ \n ▄█▀▀ ▄▀▀▄ \n▄▀ █▄ ▄▀█ \n█▄▄▄ ▄▄███▄▄ \n█▀▄▄▄▀▀▄█ █ █ \n█▄▄████▄█▄▄▄██▄█"], ["sleep_1", " \n \n ▄▀█▄▀▀▀▄ \n ▄█▀▀ ▄▀▀▄ \n▄▀ ▄▄▄ ▄▀█ \n█▄▄▄ ▄▄████▄▀▄\n█▀▄▄▄▀▀▄█ █▀█▀\n█▄▄█▄██▄█▄▄▄█▀ "], ["sleep_2", " \n ▄▄ ▄▄▄ \n ▄█▄▀▀ ▄▄▀ \n ▄▀▀ ▀▄▄▀ \n█ ▀▀▀ ▀▄█▄▄ ▄ \n▀█▀▀ ▄▄▀▀▄▄▄▀█▄█\n█ ▀██▄▄▀█ █▄▀ \n█▄▄█▄▄▄▄█▄▄▄█ "], ["walk_1", " ▄▀█▄▀▀▀▄ \n ▄█▀▀ ▄▀▀▄ \n▄▀ ▄█▀ ▄▀█ \n█▄▄▄ ▄▄▀▀▀█ \n ▀▄▄▄▀▀ ▄▄█▀ ▄▀▄\n █ █▄▄▄█ █▄ ▀█▀\n ▄▀▀█ █▀▀▄ ▀▄▀ \n█▄█▄█▀▀█▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄ \n ▄█▄▀▀ ▄▄▀ \n ▄▀▀ ▄▄ ▀▄▄▀ \n█ ▀▀ ▀▄█▄▄ ▄ \n▀█▀▀ ▄▄▀▀ ▄▄▀█▄█\n ▄▀█▀ ▄▀▀█▄▄ █ \n █▀▀█▀▀█▄▄▀▄ ▀ \n█▄█▄█▀▀▀█▄█▄█ "]]], + ["arukenimon", [["angry", "▄ ▄▄▄▄▄▄▄ ▄ \n██▀ ▄ ▄▄ ▀███▀ \n ▀▄▀██▀ █▄█ ▀▄ \n ██▀▀▀▀████▄▀ \n ▀▄████▄██▀█ \n █ ████ ▄██▄ \n█▀▄██ ▄████ █▄ █\n█▄▀ █▄█▀ ██▄▀▀▄█"], ["attack", "█▄▄▀▀▀▀▀▀█▄▄▄█ \n▀█▀▄█▄█▀▄ █▀▀▄ \n ▀▄▄██▄▄███▄ ▄▀ \n █▀ ▀████ \n ▀▄▄▄▄▄▄██▀█ \n▄▄█ ████ ▄█▀▀█\n█ ▄██ ▄████ ██ █\n▀▀ █▄█▀ ██▄█▀▀▀"], ["eat_1", "█▄▄▀▀▀▀▀▀█▄▄▄█ \n▀█ ▄█▄█▀▄ █▀▀▄ \n █▄██▄█████ ▄▀ \n █ █████ \n ▀█▄▄▄▄███▀█▄ \n █ ████ ▄██▄ \n█▀▄██ ▄████ █▄ █\n█▄▀ █▄█▀ ██▄▀▀▄█"], ["eat_2", "▄ ▄▄▄▄▄▄▄ ▄ \n██▀ ▄ ▄▄ ▀███▀ \n ▀▄▀██▀▄▀▄█ ▀▄ \n █▀███▀▀███▄▀ \n █▄▄▄▄███▀█ \n █ ████ ▄██▄ \n█▀▄██ ▄████ █▄ █\n█▄▀ █▄█▀ ██▄▀▀▄█"], ["happy", "█▄▄▀▀▀▀▀▀█▄▄▄█ \n▀█ ▄█▄█▀▄ █▀▀▄ \n █▄██▄█▄███ ▄▀ \n █ ████ \n ▀█▄▄▄▄███▀█▄ \n █ ████ ▄██▄ \n█▀▄██ ▄████ █▄ █\n█▄▀ █▄█▀ ██▄▀▀▄█"], ["injured_1", " \n ▄ ▄▄▄▄▄▄▄ ▄ \n ██▀ ▄ ▄▄ ▀███▀ \n ▀▄▀██▀██▄█ ▀▄\n █▄██▄▄████▄▀ \n ▄█▄▄▄▄▀▀▀██▄ \n ▄▀█ ███▄▄▀█▄ █\n █▄▀▀█▄█▀ █▄▀▀▄█"], ["injured_2", " \n \n █▄▄▀▀▀▀▀▀█▄▄▄█ \n ▀█ ▄█▄██▄ █▀▀▄ \n █ ██ ▀███▄ ▄▀\n ▀█▀▀▀▀█████ \n ▄▀█▀▀█▀█▀ █▀▄▀▄\n █▄█▄▄███▄▄█▄█▄█"], ["sleep_1", " \n▄ ▄▄▄▄▄▄▄ ▄ \n██▀ ▄ ▄▄ ▀███▀ \n ▀▄▀██▀▀█▄█ ▀▄ \n ██████████▄▀ \n ▄█▄▄▄▄█▀▀▀█▄▄ \n█▀█ █▄██▄▄▀█▄ █\n█▄▀▀█▄▀▀ ██▄▀▀▄█"], ["sleep_2", " \n█▄▄▀▀▀▀▀▀█▄▄▄█ \n▀█ ▄█▄██▄ █▀▀▄ \n █▄██▄▄███▄ ▄▀ \n ▀█▀▀▀▀█████ \n █▀▀████▀▀▄██▄ \n█▀█▄▄▀▄██▄▄▀█▄ █\n█▄▀ █▄█▀ ██▄▀▀▄█"], ["walk_1", "█▄▄▀▀▀▀▀▀█▄▄▄█ \n▀█ ▄█▄█▀▄ █▀▀▄ \n █▄██▄████▄ ▄▀ \n ▀▄▀▀▀ ▄████ \n ▄▀▀████▀▀ █▄ \n █▄▄████▄▄████ \n █ ▄██ ▄██ ██▄ █\n █▄▀ █▄▀ █▄▀ ▀▄█"], ["walk_2", "▄ ▄▄▄▄▄▄▄ ▄ \n██▀ ▄ ▄▄ ▀███▀ \n ▀▄▀██▀▄█▄█ ▀▄ \n █▀███▀▀███▄▀ \n █▄▄▄▄███▀█ \n █ ████ ▄██▄ \n█▀▄██ ▄████ █▄ █\n█▄▀ █▄█▀ ██▄▀▀▄█"]]], + ["astamon", [["angry", " \n █▀▄▄▄▄████▀ \n █▄██████▀▄ ▄▄ \n ████▀ ██ ████ \n ███▄▄▀ █ ████ \n ▄▀▄▄▄▄█▄▄█▀▄▀█ \n ▀▄▄██▀ ▀▄▄▄█ ▀ \n █▄▄▄█▀▀█▄▄▄█ "], ["attack", " █▀▄▄▄▄████▀▄ \n █▄██████▀▄ ██▄\n ████▀ ██ ████\n ████▄▀ █ █▀██\n▄█▄█▄▄▄▄█▄▄▀▄ █\n▀▄█████████▄ █ \n ▄█▀▄▄▄▄█▄▄▄█ \n █▄▄▄█ ▀▄▄█▄█ "], ["eat_1", " ▄▀█▄▄████▀ \n ████▀ ▄█▀▄ \n █▀▀▀▀▀███ █ ▄ \n █▄ ██ ▄▀▄██\n█ ▄█▄▄▄██▄▀█████\n▀▄▄▀▄▄▀ ▄█▄ █▀██\n █▀▄▄▄▀▀▄▄▄▀ █\n █▄▄▄█▀▀▄▄▄▄█ "], ["eat_2", " █▀▄▄▄▄████▀ \n █▄██████▀▄ ▄ \n ███▀▄▀██ █▄██ \n █████▀ █ ████ \n ▄▀▄▄▄▄█▄▄▀████ \n█ ▄▀▄▄▀ ▄█▄ █ █ \n ▀█▀▄▄▄▀▀▄▄▄▀ \n █▄▄▄█▀▀▄▄▄▄█ "], ["happy", " ▄▀█▄▄████▀ \n ████▀▄▀█▀▄ █▄\n █████████ ███\n█▀█ █▀▀███\n▀▄ █▄▄▄▄▄█▀ █▀█\n ▀█▀▄▄▀ ▀▄▄▀ ▀\n ▄▀█▄ ▄▀█▄ \n █▄▄▄█▀▀▀▄▄▄▄█ "], ["injured_1", " ▄▄ ▄▄▄▄ \n█▄▄███████▀▀ \n ███▀████ ▀▄ ▄ \n ████▄▄▀█ ████ \n ▀█▀▀▀ ▄▀ ▄█████\n █ █▀▀█▀█▀ █ ▀██\n ▀▄█▀▀ ▄▀ ▄█ ▀\n █▄▄██▀▀██▄▄█ "], ["injured_2", " \n▄▀▀▄▄▄▄████▄ \n▀████████▀▄ \n ███▄▀▀██ █▄█▄ \n █████▀ █ ████▄\n ▄▀▄▄▄▄█▄▄▀█▀███\n ▀▄█▀▀ ▄▀ ▄█ ▀█\n █▄▄██▀▀██▄▄█ "], ["sleep_1", " \n █▀▄▄▄▄████▀ \n █▄██████▀▄ \n ███▀▀▀██ █ █▄ \n █████▀ █ ████▄\n ▄▀▄▄▄▄█▄▄██████\n▄▀▀█▄▄▄▀▀█▄▀▄ ▀█\n▀▄▄█▄▄█▄▄█▄▄▀ "], ["sleep_2", " ▄▄ ▄▄▄▄▄ \n █ ███████▀ \n ████████ ▀▄ ▄ \n ███▄▄▄▀█ █▄██ \n ▀█▀▀▀ ▄▀ ▄█████\n █ ███▀▀██▀█▀▀██\n▄▀▀█▄▄▄▀▀█▄ █ ▀\n▀▄▄█▄▄█▄▄█▄▄▀ "], ["walk_1", " █▀▄▄▄▄████▀ \n █▄██████▀▄ \n ████▀ ██ █ █▄ \n ████▄▀ █ ████▄\n ▄▀▄▄▄▄█▄▄▀█████\n█ ▄▀▄▄▀ ▄█▄ █ ▀█\n ▀█▀▄▄▄▀▀▄▄▄▀ \n █▄▄▄█▀▀▄▄▄▄█ "], ["walk_2", " ▄▄ ▄▄▄▄▄ \n █ ███████▀ \n █████▀██ ▀▄ ▄ \n ████ ▄▀█ █▄██ \n ▀█▀▀▀ ▄▀ ▄█████\n▄▀ █▀▀█▀▀█ ▀█▀██\n▀▄█▄▀▀ ▄█▀▀ █ ▀\n█▄▄▄█▀▀▀▄███▄█ "]]], + ["asuramon", [["angry", " ▄▄▄ ▄ ▄ ▄ ▄▄ \n▄▀ ▄▀ ▀▀█ ▀█ █ \n██ ▄▄▀█▀▄▄ ██ \n█ ▀▀ ▀█▀ ▀▀▄▀▄\n██▄ ▄█ █ █▄ ▄█▀█\n█▄ ▄▀▄ █ █\n▀▄██▀█ ▄▀███▄▄▀\n█▄▄█▄█▄▄██▄▄▄▄█ "], ["attack", " █▀▄▀▀█▀▄▀▀▄▀█ \n█▀▄▄▀▀▄▄ █▀█▄▀▄ \n▀█▄ ▄█ ▀█ ▄ █▀ \n█▄▄▄▄▄▄ █ ▀▀█▀▄\n████▀▀▀█ █ ███▄█\n██▀▀▀▀▀▀▄▀ ▀▀█ █\n▀▄██▀█▀▀█▀███▄▀ \n█▄▄▄█▀▀▀▀█▄▄▄▄█ "], ["eat_1", " █▀▄▀▀█▄█▀▀▄▀█ \n█▀▄▄▀▀▄█▄▀▀▄▄▀█ \n▀█▄ ▄█ █ ▄▄ ▄█▀ \n██▄▄▄▄ █ ▄▄ █▀▄\n█████▀ █ ██ █▄█\n█▀▄▄▄▄█▄█▄▄▄▄▀█▀\n▀▄▄█ █ █▀▄▄▄▄▀ \n█▄▄▄█▀▀▀▀█▄▄▄▄█ "], ["eat_2", " \n▄█▀▄▀▀█▄█▀▀▄▀█▄ \n█▀▄▄▀▀▄█▄▀▀▄▄▀█ \n█▀▄ ▄▀▄█▄▀▄ ▄█▀▄\n█ ▄▄▄ █ ▄▄ █▀█\n█▀▄▄▄▄▀ ▀▄▄▄▄▀ █\n ███▀█▀▀█ █▄▄▄▄▀\n█▄▄█▄█▄▄██▄▄▄▄█ "], ["happy", " █▀▄▀▀█▄█▀▀▄▀█ \n█▀▄▄▀▀▄█▄▀▀▄▄▀█ \n█▀▄ ▄▀▄█ ▄▄ ▄█▀ \n█ ▄ █ ▄ █▀▄\n█ ▀▀▀ █ ▀▀▀█▄█\n█▀▄▄▄▄█▄█▄▄▄▄▀ █\n▀▄▄█ █ █▀▄▄▄▄▀ \n█▄▄▄█▀▀▀▀█▄▄▄▄█ "], ["injured_1", " \n █▀▄▀▀█▄█▀▀▄▀█ \n█▀▄▄▀▀▄█▄▀▀▄▄▀█ \n▀█ ▄ █ ▄ █▀ \n▄█▀ ▀▀ █ ▀▀ ▀█▄ \n█▀▄▄▄▄▀ ▀▄▄▄▄▀█ \n█ ▀█▀█▀▀▄█ ▄█ \n██▄▄█▄█▄▄█▄▄█▄█ "], ["injured_2", " \n ▄▄ ▄▄▄ ▄▄▄ ▄▄ \n▄█ ▀ ▀█▀ ▀ ▀█ \n█ ▄▄▀▀▄█▄▀▀▄▄▄█ \n▄█ ▄ █ ▄ █▄ \n██▀ ▀▀▄▀▄▀▀ ▀██ \n█ ▀▀█▀█▀▀██▀▀▄█ \n██▄▄█▄█▄▄█▄▄█▄█ "], ["sleep_1", " \n ▄▄ ▄▄▄ ▄▄▄ ▄▄ \n▄█ ▀ ▀█▀ ▀ █▄ \n█ ▄▄▀▀▄█▄▀▀▄▄ █ \n █▄ ▄▄ █ ▄▄ ▄█ \n █ ▄▀▄ ▄▀▄ \n ▄▀▀██▄█▄█▀█ █\n █▄▄█▄█▄▄█▄█▄▄▄█"], ["sleep_2", " \n █▀▄▀▀█▄█▀▀▄▀█ \n █▀ ▄▄ █ ▄▄ ▀█\n ▀▄▀▀ ▀█▀ ▀▀▄▀\n █▀ ▀▀ █ ▀▀ ▀█ \n ▄▀▄▄▄▄▀ ▀▄▄▄▀█ \n █ █▄▄█▄▄▀█ █\n █▄▄█▄█▄▄█▄█▄▄▄█"], ["walk_1", " █▀▄▀▀█▄█▀▀▄▀█ \n█▀▄▄▀▀▄█▄▀▀▄▄▀█ \n▀█▄ ▄█ █ ▄▄ ▄█▀ \n██▄▄▄▄ █ ▄ █▀▄\n█▀▄▄▄▄▀ ▀▄▄▄▄▀▄█\n█ ▄█▄▄█▄▄▄▀▀▄ █▀\n▀▄▄█ █ █▀▄▄▄▄▀ \n█▄▄▄█▀▀▀▀█▄▄▄▄█ "], ["walk_2", " ▄▄ ▄▄▄ ▄▄▄ ▄▄ \n▄█ ▀▄▄▀█▀▄▄▀ █▄ \n█ ▀▀ ▀█▀▄ ▀▀▄█ \n█▀▀ ▀▀ █ ▀▀ ▀█▀▄\n█▄ ▀ ▄▀▄ ▀▀▀█▀█\n█ ▀█▀▀▄ ██▀▀▄ █\n ███▀█▀▀█ █▄▄▄▄▀\n█▄▄█▄█▄▄██▄▄▄▄█ "]]], + ["azulongmon", [["angry", " ▄▀█▄▄██████▀▀ \n█▄███▀██▀████▀ \n█▀▀█▄▄█▄▄███▀█▀▄\n ██▄▀███▀▀▀█▀ █\n█▀▀▀▄▀ ▀▄▄▀▄▄▀▄█\n█▀█ █▀▄▀ █ ▀▄▀▄▀\n █ ██▀ ▀▄▀▀█▀ █ \n ▀▀ ▀▄█▄▄█▄▄▀ "], ["attack", " ▄▄ ▄▄▄▄▄▄▄▄ \n▄▀▄██▀▀█▀▀██▄▄ \n████▄▄█▄▄████▄▄ \n█▄▄▀████████▄▀ █\n█ ▀▄▀█▀█ ▄▀ ▄ █\n █ ██▄ ▄▀█ █▀▄▀█\n█▄▀ █▄▀▄ █▄▄█ █ \n ▀▄▄█▄█▄▄▀ "], ["eat_1", " ▄▄ ▄▄▄▄▄▄▄▄ \n▄▀▄█████████▄▄ \n█████▀▄▄▀████▄▄ \n█▄▄▀████████▄▀ █\n█ ▀▄▀█▀█ ▄▀ ▄ █\n █ ██▄ ▄▀█ █▀▄▀█\n█▄▀ █▄▀▄ █▄▄█ █ \n ▀▄▄█▄█▄▄▀ "], ["eat_2", " ▄▀█▄▄██████▀▀ \n█▄██▀ ▄▀ ▄███▀ \n█▀▀█████████▀█▀▄\n ██▄▀███▀▀▀█▀ █\n█▀▀▀▄▀ ▀▄▄▀▄▄▀▄█\n█▀▀▄█▀▄▀ █ ▀▄▀▄▀\n █ ██▀ ▀▄▀▀█▀ █ \n█▄▀ ▀▄█▄▄█▄▄▀ "], ["happy", " ▄▀█▄▄██████▀▀ \n█▄████▀▀█████▀ \n█▀▀██▄██▄███▀█▀▄\n ██▄▀███▀▀▀█▀ █\n█▄▄ ▄▀ ▀▄▄▀▄▄▀▄█\n█ ▀▄█▀▄▀ █ ▀▄▀▄▀\n █ ██▀ ▀▄▀▀█▀ █ \n█▄▀ ▀▄█▄▄█▄▄▀ "], ["injured_1", " \n ▄▄ ▄▄▄▄▄▄▄▄ \n▄▀▄█████████▄▄ \n████ ▀█ ▀████▄▄ \n█▄▄▀████████▄▀ █\n█ ▀▄▀█▀█ ▄▀ ▄ █\n █ ██▄ ▄▀█▄█▀▄▀█\n█▄▀ ▀▄█▄▄█▄▄█▄▀ "], ["injured_2", " \n \n ▄▀█▄▄██████▀▀ \n█▄██▀██▀█████▀ \n█▀▀█▄▄█▄▄███▀█▀ \n▀██ ████▀▀▀█▀ █\n▄▀ █▄▀ ▀▄▄▀▄▄▀▄█\n█▄▀█▄█▄█▄███▄█▄█"], ["refuse", " ▄▄ ▄▄▄▄▄▄▄▄ \n▄▀▄█████████▄▄ \n████▀ █▀ ████▄▄ \n█▄▄▀████████▄▀ █\n█ ▀▄▀█▀█ ▄▀ ▄ █\n █ ██▄ ▄▀█ █▀▄▀█\n█▄▀ █▄▀▄ █▄▄█ █ \n ▀▄▄█▄█▄▄▀ "], ["sleep_1", " ▄▄ ▄▄▄▄▄▄▄▄ \n▄▀▄█████████▄▄ \n████▄▄█▄▄████▄▄ \n█▄▄▀████████▄▀ █\n█ ▀▄▀█▀█ ▄▀ ▄ █\n █ ██▄ ▄▀█ █▀▄▀█\n█▄▀ █▄▀▄ █▄▄█ █ \n ▀▄▄█▄█▄▄▀ "], ["sleep_2", " \n ▄▀█▄▄██████▀▀ \n█▄██▀▀█▀▀████▀ \n█▀▀█████████▀█▀▄\n█▀█ ████▀▀▀█▀ █\n▀▄ █▄▀ ▀▄▄▀▄▄▀▄█\n▄▀▄▀█▀▄▀ █ ▀▄▀▄▀\n▀▀ ▀█▄█▄██▄▄█▀ "], ["walk_1", " ▄▀█▄▄██████▀▀ \n█▄██▀ ▄▀ ▄███▀ \n█▀▀█████████▀█▀▄\n█▀█ ████▀▀▀█▀ █\n▀▄ █▄▀ ▀▄▄▀▄▄▀▄█\n▄▀▄▀█▀▄▀ █ ▀▄▀▄▀\n▀▀ █▀ ▀▄▀▀█▀ █ \n ▀▄█▄▄█▄▄▀ "], ["walk_2", " ▄▄ ▄▄▄▄▄▄▄▄ \n▄▀▄██▀▀█▀▀██▄▄ \n████▄▄█▄▄████▄▄ \n█▄▄▀████████▄▀ █\n█ ▀▄▀█▀█ ▄▀ ▄ █\n █ ██▄ ▄▀█ █▀▄▀█\n█▄▀ █▄▀▄ █▄▄█ █ \n ▀▄▄█▄█▄▄▀ "]]], + ["baalmon", [["angry", " ▄▄▄▄▄▄▄ \n ▄█▀████████▄ \n ██▄██▀▀▀██ ▀█ \n █▀▀▀ ▄█ █▄ \n ▄█▄▄▄▄▄█████▄ \n▄▀ ▀█▀▀▀ ▄▀█▄▀██\n█▄▄██▀▀▀▀▀█ █ ██\n █▄▄█▀▀▀█▄█▄▀▀█"], ["attack", " ▄███████▄▄ \n ██ ██▀▀▀██▀█▄\n ███▀ ▄█ █ ▀\n ▀▄ ▄▄█▄ \n ▄▀▀█▀██▀▀██▀█▄\n ▀▄ █▄▄▄█▄▀█ █\n ▄▀▄██ ▄▄▄▀▀█▄██\n█▄██▄▄█▀ █▄▄█ ▀"], ["eat_1", " ▄███████▄▄ \n ██ ██▀▀▀██▀█▄ \n ███▀ ▄▀▄ █ ▀ \n █ ▄▄▄▄ ▄▀█▄ \n █████▄▀▄█ ██▄\n ▄▀ █▄▄▄▄█▀▄█▀██\n ▀▄▄█ ▄▄▄▀█▀ █\n █▄▄█ █▄▄█ "], ["eat_2", " ▄▄▄▄▄▄▄ \n ▄█▀████████▄ \n ██▄██▀▀▀██ ▀█ \n █▀▀▀ ▄▀▄ █▄ \n ▀▄▄▄▄▄▄████▄ \n ▄▀█▀▀▀ ▄▀█▄▀██\n █ ▄█▀▀▀▀▀█ █ ██\n █▄▄█▀▀▀█▄█▄▀ █"], ["happy", " ▄███████▄▄▄ \n ██ ██▀▀▀██▀▀█ \n ███▀ ▄▀▄ █ \n ▄█ ▄▄▄▄ ▄▀█▄ \n▀▄ ▀████▄▀▄█ ██▄\n ▀▄█▄▄▄▄█▀▄█▀██\n ▄█ ▄▄▄▀█▀ █\n █▄▄█ █▄▄█ "], ["injured_1", " \n ▄███████▄▄ \n ██▀███████▀█▄ \n ██▄█▀▄ ▀█ ▀ \n ▀▄ ▀▀▄▄██▄▄ \n ▄▀████▀▀██████\n █ █▄▄▄▄▀▄█ ███\n █▄▄██▄▄█▄▀▄█ █"], ["injured_2", " \n ▄▄▄▄▄▄▄ \n ▄██████████▄ \n ██ ██▀▀▀██ ▀█ \n █▀▀▀ █▄ █▄▄ \n █▄▄▄▄▄██████▄ \n▄▀ ▄█▄▄▄▀▄█ █▀█▄\n▀█▄▄█▄▄█▄▀▄██ █"], ["sleep_1", " \n ▄▄▄▄▄▄▄ \n ▄█▀████████▄ \n ██▄██▀▀▀██ ▀█ \n █▀▀▀ ▄▄ █▄ \n ▀▄▄▄▄▄▄█████▄ \n ▄▀██▄▄ █▀▄▀▀██▄\n █▄▄█▄█▄▀▄█▄▄█▀█"], ["sleep_2", " \n ▄███████▄▄ \n ██ ███████▀█▄ \n ████▀ ▀█ ▀ \n ▀▄ ▀▀ ▄██▄ \n ▄████▀███▀██▄\n ▄▀██▄▄ █▀▄▀▀▄██\n █▄▄█▄█▄▀▄█▄▄█▀█"], ["walk_1", " ▄███████▄▄ \n ██ ██▀▀▀██▀█▄ \n ███▀ ▄█▀ █ ▀ \n ▀▄ ▄▄██▄ \n ▄████▀▀██▀██▄\n ▄▀ █▄▄▄▄█▄▀█ ██\n ▀▄▄█ ▄▄▄▀█▄▀▄▀█\n █▄▄█ █▄▄█▀ ▀"], ["walk_2", " ▄▄▄▄▄▄▄ \n ▄█▀████████▄ \n ██▄█▀ ▄▄▀█ ▀█ \n █▀▀ ▀▀ █▄ \n ▀▄▄▄▄▄█████▄ \n ▄▀█▀▀▀ ▄▀█▄▀██\n █ ▄█▀▀▀▀▀█ █ ██\n █▄▄█▀▀▀█▄█▄▀ █"]]], + ["baboongamon", [["angry", " ▄▄ \n ▄▄▄▄ █ █ \n▄▀▄█████▀▀▄ ▀█ █\n▀▄ █ ▄▀▄█▀▀▄█ █\n█ ▀ ▀▀ ███ █ █\n ▀▄▀▀▀▀█▀█▄ █▀ \n ▄▀▀▀█▀ ▄█▄▄▀▄ \n█▄█▄▄█▀▀▀█▄▄█▄█ "], ["attack", " ▄▀▀▄ \n▄▀▄▄████▀▀▄▀▄▄▀▄\n█ ▀█▀▀▀▀▄██▄▄█ █\n▄▀▄▀ ▄█ ▄█▄ ▀▄█\n▀▄▄▄▄▄▄ ▀███▀ █\n ▀████ ▄███▀ ▄▀\n ▄▀▄▄▄▄██▀▀▀█▀ \n █▄█▄█ █▄█▄█ "], ["eat_1", " ▄▀▀▄ \n ▄ ▄█▄▄ ▀▄▄▀▄\n█ ▀██▀█ ▄██▄ █ █\n▄▀▄▀ ▀███▄ ▀█ █\n▀▄▄▄▄▄▄ ██▀ █▄▀\n ▀████ █▀ ▄▀ \n ▄▀▄▄▄▄▄█▀▀▀▄ \n █▄█▄█ █▄█▄█ "], ["eat_2", " ▄▄ \n ▄▄▄▄ █ █ \n▄▀▄█████▀▀▄ ▀█ █\n▀▄ █ ▄ ▀▄█▀▀▄█ █\n█ ▀ ▀ ▀ ███ █ █\n ▀▄▀▀▀▀█▀█▄ █▀ \n ▄▀▀▀█▀ ▄█▄▄▀▄ \n█▄█▄▄█▀▀▀█▄▄█▄█ "], ["happy", " ▄▀▀█▀▄ \n▄▀▄▄████▀█▀ ▀▄▀▄\n█ ▀█▀▀▀▀▄██ █ █\n▄▀▀ ▄▀▄ ██▄▄██ █\n▀▄▄▄▄▄▄ ▀█████▄▀\n ▀████ ▄███▀ \n ▄▀▄▄▄▄██▀▀▀▄ \n █▄█▄█ █▄█▄█ "], ["injured_1", " \n ▄▀▀▄ \n ▄ ▄████▄▄ ▀▄▄▀█\n█ ▀█▀▀▀█ ▄█▄ █ █\n▄▀▄▀ █▄ ██▄ ▀█ █\n▀▄ ▄▄▄ ███▀ █▄▀\n ▄█▄▄▄█▀ ██▄▄█ \n█▄█▄▄█▀▀▀█▄▄█▄█ "], ["injured_2", " \n ▄▄ \n ▄▄▄▄ █ █▄\n▄▀▄█████▀▀▄ ▀█ █\n▀▄ █ ▄ ▀▄█▀▀▄█ █\n█ ▀ ▀▀▄███ █ █\n █▄▀▀▀▄█▀█▄ ██ \n█▄█████▄▄████▄█ "], ["sleep_1", " \n ▄▄ \n ▄▄▄▄ █ █▄\n▄▀▄████▀▀█▄ ▀█ █\n▀▄ █▀ █▄██▀▀▄█ █\n█ ▀ ▄████ █ █\n █▄▀▀▀▄█▀█▄ ██ \n█▄█████▄▄████▄█ "], ["sleep_2", " \n ▄▀▀▄ \n ▄ ▄████▄▄ ▀▄▄▀▄\n█ ▀██▀█ ▄██▄ █ █\n▄▀▄▀ ▀███▄ ▀█ █\n▀▄ ▄▄▄▀███▀ █▄▀\n ▄█▄▄▄█▀ ██▄▄█ \n█▄█▄▄█▀▀▀█▄▄█▄█ "], ["walk_1", " ▄▀▀▄ \n ▄ ▄████▄▄ ▀▄▄▀▄\n█ ▀██▀█ ▄██▄ █ █\n▄▀▄▀ ▀███▄ ▀█ █\n▀▄ ▄▄▄▀███▀ █▄▀\n ▀▄▄▄█▀ █▀ ▄▀ \n █ ▀▀▄▄█▀▀▀▄ \n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄ \n ▄▄▄▄ █ █ \n▄▀▄████▀▀█▄ ▀█ █\n▀▄ █▀ █▄██▀▀▄█ █\n█ ▀ ▄████ █ █\n ▀▄▀▀▀▄█▀█▄ █▀ \n ▄▀▀▀█▀ ▄█▄▄▀▄ \n█▄█▄▄█▀▀▀█▄▄█▄█ "]]], + ["bagramon", [["angry", " ▄ ▄▄ ▄▄▄▄ ▄ \n █▀█ ▀▄▄▄ ▀█▀█ \n █ ▀▄▀ ▄▀▄ █ \n █▄▀ ▀▀ █ ▀▄ \n ▀▄▄▄▄▄▀█▀▀▄█ \n ▄▀▀▄▄█▄▄██▀ █ \n█▄▄▄█▄▄▄██ ▄█▄ \n █▄█▄█▀▀▄███▄██▄"], ["attack", " █▀▄▀▀▀▀▄▄▄█\n ▄▀▄▄▀▀▀▄ ▀▄▀\n █▄▀ ▄█ ▀▄ █ \n▄▄▄ ▀█ ▄█▄▀▄\n▀▄▄▀▄▄█▀███▄███ \n▀▄▄ ▀▀▀ ▄▀▀█▄\n▀▄▄▄█▄▄▄▄▄▄▄████\n █▄██ █▄█▄█▀"], ["eat_1", " █▄█▀▄▀▀▀▀▄▄▄█ \n ▀▄▀▄▄▀▀▀▄ ▀▄▀ \n █ █ ▄▀▄ █ █ \n ▀█▄▄▄▄ █▄ ▀▄ \n ▄█▀▀█ ▄█ ▀▄▀ \n ▄▀ █▀▀▀▄▀ ▄█ \n ▀▄█▀▀▀█▀▄▄████ \n █▄█▄█ ▀▄█▄█▀▀▀"], ["eat_2", " ▄ ▄▄ ▄▄▄▄ ▄ \n █▀█ ▀▄▄▄ ▀█▀█ \n █ █▀ ▄ ▀▄ █ \n █▄▀ ▀ ▀ █ ▀▄ \n ▀▄▄▄▄▄▀█▀▄ █ \n ▄▀▄▄█▄▄█▀ █ \n █▄▄█▄▄▄█ ▄▄██▄ \n █▄█▄█▀▀▄█▄█▄██▄"], ["happy", " █▄█▀▄▀▀▀▀▄▄▄█ \n ▀▄▀▄▄▀▀▀▄ ▀▄▀ \n █ █ ▄▀▄ █ █ \n ▀█▄▄▄▄ █▄ ▀▄ \n ▄█▀▀▀ ▄█▄█▀▀▄\n ▄▀ █▀▀▀██▀ █\n ▀▄█▀▀▀████▄▄▄█ \n █▄█▄█ ▀▄█▄█▀▀▀"], ["injured_1", " \n █▄█▀▄▀▀▀▀▄▄▄█ \n ▀▄▀▄ █▀▀▄ ▀▄▀ \n █ ▄▀ ▄ █ █ \n ▀█ ▀▀▄█▄ ▀▄ \n ▄▀▀█▀▀▄█ ▀▄▀ \n ▄█▄█▀▀▀█▀ ▄█▄ \n █▄█▄███▄▄▄█▄██▄"], ["injured_2", " \n▄ ▄▄ ▄▄▄▄ ▄ \n█▀█ ▀▄▄▄ ▀█▀█ \n █ ▀▄▀ ▀▄ █ \n █▄▀ █▄ █ ▀▄ \n ▀▄▄▄▄▄▀█▀▄ █ \n ▄█▄█▀██▀▀ ██▄ \n █▄█▄██▄▄▄▄█▄██▄"], ["sleep_1", " \n \n█▄█▀▄▀▀▀▀▄▄▄█ \n▀▄▀▄ █▀▀▄ ▀▄▀ \n █ ▄▀ ▄▄ █ █ \n ▀█ ▄█▄ ▀▄ \n ▄▀█████▄█▀█▀█▀▄\n █▄▄█▄▄▄██▄▄▄▄▄█"], ["sleep_2", " \n ▄ ▄▄ ▄▄▄▄ ▄ \n █▀█ ▀▄▄▄ ▀█▀█ \n █ ▀▄▀ ▀▄ █ \n █▄▀ ▀▀ █ ▀▄ \n ▀▄▄▄▄▄▀█▀▄ █ \n █▀█▄▄█▄▄█▀█▀█▀▄\n █▄▄█▄▄▄██▄▄▄▄▄█"], ["walk_1", " █▄█▀▄▀▀▀▀▄▄▄█ \n ▀▄▀▄ █▀▀▄ ▀▄▀ \n █ ▄▀ ▄█ █ █ \n ▀█ ▄█▄ ▀▄ \n ▄▀▀█▀▀▄█ ▀▄▀ \n ▄▀ █▀▀▀█▀ ▄█ \n ▀▄█▀▀▀█▀▄▄████ \n █▄█▄█ ▀▄█▄█▀▀▀"], ["walk_2", " ▄ ▄▄ ▄▄▄▄ ▄ \n █▀█ ▀▄▄▄ ▀█▀█ \n █ ▀▄▀ ▄▀▄ █ \n █▄▀ ▀▀ █ ▀▄ \n ▀▄▄▄▄▄▀█▀▄ █ \n ▄▀▄▄█▄▄█▀ █ \n █▄▄█▄▄▄█ ▄▄██▄ \n █▄█▄█▀▀▄█▄█▄██▄"]]], + ["baihumon", [["angry", " ▄▄███▄▄ ▄ \n▄███▀ █ ▄█▄ ▄▀ █\n█ ▀█████▀▄ █ ▀▄\n████ ██▀▄▀█▄▄▀ █\n █▀▀ ▄▀▄▀ ▀ █ █ \n ▀▀█▀ █ ▄ ▄▄█\n ▄██▄██▄█▀▀▄▄▄█\n █▄█▄█▄█▄█ █▄█▄█"], ["attack", " ▄▄███▄▄ ▄▀█\n▄███▀▄█ ▄█▄ █ ▀▄\n█ ▀█████▀▄ ▄▀ █\n█▀▀ ▀█▀▄▀██▀▄█ \n █▀ ▀▀▀ ▀ █ \n█▄█▄▄█ █▄▄ ▀▀▄ \n▀▄█▄█▄▀▀▀██▄▀█▀█\n ▀▀▀▀▀▀▀"], ["eat_1", " \n ▄▄▄ ▄▀▄\n ▄██▀██▀▀▄ █ ▄▀\n█▀▀▄█▄█▄██▀ ▀▄ █\n█▄▄ ▀███▀▄█▀▄█ █\n▀▄▄ ▄▄█ ▄ ▀ ▀ ▀▄\n ▄▄█▄▄▄▄▀ ▄█▄▄ █\n█▄▄█▄█▄█▄█▄█▄█▄▀"], ["eat_2", " ▄▄███▄▄ ▄ \n▄███▀▄█ ▄█▄ ▄▀ █\n█ ▀█████▀▄ █ ▀▄\n████ ██▀▄▀█▄▄▀ █\n █▀▀ ▄▀▄▀ ▀ █ █ \n ▀▀█▀ █ ▄ ▄▄█\n ▄██▄██▄█▀▀▄▄▄█\n █▄█▄█▄█▄█ █▄█▄█"], ["happy", " ▄▄▄ \n ▄██▀██▀▀▄ ▄▀▄\n███▄█▄█▄██▄ █ ▄▀\n█ ▀████▀▄█ ▀▄ █\n████ ▀█ ▀█ ▀▄█ █\n▀▄▄ ▄▄█ ▄ ▀ ▀▄\n ▄▄█▄▄▄▄▀ ▄█▄▄ █\n█▄▄█▄█▄█▄█▄█▄█▄▀"], ["injured_1", " \n \n ▄▄▄ ▄▄ \n ▄██▀██▀▀▄▄█▄ ▀▄\n█▀▀█▄▄█▄██▄▀█▀ █\n█▄▄ ▀███▀ ▀ ▀ ▄█\n▀▄▄▄▄▄█ █ ▄▄▀ █\n█▄█▄█▄███▄█▄█▄▄▀"], ["injured_2", " \n \n \n ▄▄███▄▄ ▄▀▀▄ \n▄███ ▀█ ▄█▀██▄ █\n█ ▀█████▀█ █ █\n███▄ ▀█▀ ▄▄▄▄▀▀█\n█▄█▄██▄▄▄█▄█▄▄▄█"], ["refuse", " \n ▄▄▄ ▄▀▄\n ▄███▀█▀▀▄ █ ▄▀\n█▀▀█▄▄█▄██▀ ▀▄ █\n█▄▄ ▀███▀▄█▀▄█ █\n▀▄▄ ▄▄█ ▄ ▀ ▀ ▀▄\n ▄▄█▄▄▄▄▀ ▄█▄▄ █\n█▄▄█▄█▄█▄█▄█▄█▄▀"], ["sleep_1", " \n \n ▄▄███▄▄ ▄▀▄\n▄███▀▀█ ▄█▄▄▄▀ █\n█ ▀█████▀▄▀█▀▄▀\n█▀▀ ▀█▀ ▀ ▀ ▄█\n▄▀█▄██▀ ▄█ ▄▄▀ █\n█▄█▄█▄███▄█▄█▄▄▀"], ["sleep_2", " \n \n ▄▄▄ ▄▀▄\n ▄█████▀▀▄▄▄▄▀ █\n█▀▀█▄▄█▄██▄▀█▀▄▀\n█▄▄ ▀███▀ ▀ ▀ ▄█\n▀▄▄▄▄▄█ █ ▄▄▀ █\n█▄█▄█▄███▄█▄█▄▄▀"], ["walk_1", " ▄▄▄ ▄ \n ▄███▀█▀▀▄ ▄▀ █\n█▀▀█▄▄█▄██▀ █ ▀▄\n█▄▄ ▀███▀▄█▄▄▀ █\n▀▄▄ ▄▄█ █ ▀ █ █ \n █ ▄▀ ▄ ▄▄█\n ▄██▄██▄█▀▀▄▄▄█\n █▄█▄█▄█▄█ █▄█▄█"], ["walk_2", " ▄▄███▄▄ ▄▀█\n▄███▀▄█ ▄█▄ █ ▀▄\n█ ▀█████▀▄ ▄▀ █\n█▀▀ ▀█▀▄▀██▀▄█ \n █▀ ▀▀▀ ▀ █ \n█▄█▄▄█ █▄▄ ▀▀▄ \n▀▄█▄█▄▀▀▀██▄▀█▀█\n ▀▀▀▀▀▀▀"]]], + ["bakemon", [["angry", " ▄▀▀▀▀▀▀▄ \n █▄▄ ▄▄ █ \n▄▀█▀▀ ▀▀▄▀▀▀▄ \n█▄█▀█▀█▀██ █ █ \n▀ █▀▀▀▀▀▀▀▀ ▀▄\n █▄▀██ █▄██ █▀▀\n ▀ ▀ ▀ ▀ ▀ \n ▄▄▄▄▄▄ "], ["attack", "█▄ ▄▀▀▀▀█▀▄█▄ \n█ █▀▀ ▀▀ █ █ \n▀▄█▀█▀█▀█ █ ▀█ \n ███████ ▀█▀ \n █▀█▀█▀█ ▀▄ \n █▀▀▀▀▀▀ ▄ █ \n █▄▀██ █▄██ ▄▄█\n ▄█▄▄█▄█▄█▄▄█▄▄ "], ["eat_1", "▄▀▀▄▀▀▀▀█▀▄▄▀▀▄ \n█ █▀▀ ▀ ▀ █ █ █\n█▀█▀█▀█▀▄ █▀█ █\n ████████ ▄▀\n ████▄▄▄█ ▀▄ \n █ ▄ ▄ █ \n █▄▀██ █▄██ ▄▄█\n ▄█▄▄█▄█▄█▄▄█▄▄ "], ["eat_2", " ▄▀▀▀▀▀▀▄ \n █ █ \n ▄█▀▄ ▄▀ ▄▄█▄ \n█ █ █ ▄ █ \n█▀█ ▀▀▀▀ ▀▄▀ ▀▄\n █▄▀██ █▄██ █▀▀\n ▀ ▀ ▀ ▀ ▀ \n ▄▄▄▄▄▄ "], ["happy", "▄▀▀▄▀▀▀▀▀▀▄▄▀▀▄ \n█ █▀▀ ▀▀ █ █ █\n█▀██▄▄▄██▄ █▀█ █\n ████████ ▄▀\n ███████▀ ▀▄ \n █ ▀▀▀▀▄ ▄ █ \n █▄███ █▄██ ▄▄█\n ▄███████████▄▄ "], ["injured_1", " \n ▄▄▄▄▄▄ \n ▄█▄ ▄▄ ▀▄ \n █ ▄ ▀▄ \n▄▀█ ██ █ ▄▀▀▀▄ \n█▄█ ██ █ █ █ █ \n▀ █ ▄ ▄ ▀ ▄▀▄ \n █▄█▄▄█▄█▄█▄▄██▄"], ["injured_2", " \n \n ▄▀▀▀▀▀▀▄ \n █ ▀▄ \n █▀▀ ▀▀ ▄▀▄ \n ██▀█▀█▀▄ █ █ \n █▀▀▀▀▀▀▀ ▀▄▄▀▄\n █▄▄█▄▄██▄▄█▄█▄█"], ["sleep_1", " \n ▄▀▀▀▀▀▀▄ \n █ ▀▄ \n █▀▀ ▀▀ ▀▄ \n ▀▄▄▄▄▄▄▄ ▀▄ \n █ ▀▄ \n ▀▄█▀▄▄█▀▄▀▄▄█ \n ▄▄▄▄▄▄▄▄▄ "], ["sleep_2", " ▄▄▄▄▄▄ \n ▄▀ ▀▄ \n █▄▄ ▄▄ █ \n █▄▄▄▄▄▄ █ \n ██▄█▄█▄█ ▀▄ \n █ █ \n ▀▄▀▄▄▀▄▀▄▄▀▄▀ \n ▄▄▄▄▄▄▄▄▄▄▄ "], ["walk_1", " ▄▀▀▀▀▀▀▄ \n ███ ██ █ \n ▄█▄▄▄▄▄ ▄▄█ \n█ █▄█▄█▄██ ▄ █ \n█▀██▄█▄█▄█▄▀ ▀▄ \n █ ▄▄▄ ▄ ▄▄ ▄▄█\n █▀ █▀▄▀█▀▀▄▀ \n ▄▄▄▄▄▄▄▄ "], ["walk_2", " ▄▀▀▀▀▀▀▄ \n █▄▄ ▄▄ █ \n▄▀█ ▄▀▀▀▄ \n█▄█▀█▀█▀██ █ █ \n▀ █▀▀▀▀▀▀▀▀ ▀▄\n █▄▀██ █▄██ █▀▀\n ▀ ▀ ▀ ▀ ▀ \n ▄▄▄▄▄▄ "]]], + ["baluchimon", [["angry", " █▄ █▄ \n ▄▄▀▀▀▀██ \n█ ▄█ ██ ▄ ▄ \n▀███ ▄█▀█▄▀ ▀▄ \n █▀▀ █▀ ▄█▄█ █ \n ▀▀▄█ ▄███▀▀█ █\n ▄▀█ ▀██▄▀▀▄ \n █▄█▄▄█ █▄█▄▀ "], ["attack", " ▄ ▄ \n ▄██▄██ \n▄▀▀ ▄▄ ▀█▄ \n█▄▄ ▀ ▄██ ▄▀▄▀ \n ▀▄▄ ▄█▀ ▀█ ▄ █ \n ▀▄▀ ▄████▄▀▄\n ▄▀█ ▀███ ▄▀▀█\n █▄█▄▄█▀▀▀█▄█▄▀"], ["eat_1", " ▄ ▄ \n ▄██▄██ \n▄▀▀ ▄ ▀█▄ \n█▄▄▀ ▀ ▄██ ▄▀▄▀ \n ▀▄▄ ▄█▀ ▀█ ▄ █ \n ▀▄▀ ▄████▄▀▄\n ▄▀█ ▀███ ▄▀▀█\n █▄█▄▄█▀▀▀█▄█▄▀"], ["eat_2", " █▄ █▄ \n ▄▄▀▀▀▀██ \n█ █▀ ██ ▄ ▄ \n▀██▄ ▄█▀█▄▀ ▀▄ \n █▀▀ █▀ ▄█▄█ █ \n ▀▀▄█ ▄███▀▀█ █\n ▄▀█ ▀██▄▀▀▄ \n █▄█▄▄█ █▄█▄▀ "], ["happy", " █▄ █▄ \n ▄▄▀▀▀▀██ \n█ ▄▀▄ ██ ▄ ▄ \n▀██▄ ▄█▀█▄▀ ▀▄ \n █▀▀ █▀ ▄█▄█ █ \n ▀▀▄█ ▄███▀▀█ █\n ▄▀█ ▀██▄▀▀▄ \n █▄█▄▄█ █▄█▄▀ "], ["injured_1", " \n ▄ ▄ \n ▄██▄██ \n▄▀▀ ▄ ▀█▄ \n█▄▄ ▀▀ ▄██ ▄▀▄ \n ▀▄▄ ▄█▀ ▀█▄▄ █ \n █▄█▄ ▄██ ▄▀▀█\n █▄█▄▄█████▄█▄█"], ["injured_2", " \n \n █▄ █▄ \n ▄▄▀▀▀▀██ \n█ █▄ ██ ▄ ▄ \n▀█▀ ▄█▀███▄▀▄ \n ▀█▄██ ▄█ ▄▀▀█\n █▄█▄▄█████▄█▄█"], ["refuse", " ▄ ▄ \n ▄██▄██ \n▄▀▀ ▄ ▀█▄ \n█▄▄ ▀▀ ▄██ ▄▀▄▀ \n ▀▄▄ ▄█▀ ▀█ ▄ █ \n ▀▄▀ ▄████▄▀▄\n ▄▀█ ▀███ ▄▀▀█\n █▄█▄▄█▀▀▀█▄█▄▀"], ["sleep_1", " ▄ ▄ \n ▄██▄██ \n▄▀▀ ▀█▄ \n█▄▄ ▀▀ ▄██ ▄▀▄▀ \n ▀▄▄ ▄█▀ ▀█ ▄ █ \n ▀▄█ ▄████▄▀▄\n ▄▀█▄▀███ ▄▀▀█\n █▄█▄▄█████▄█▄█"], ["sleep_2", " \n █▄ █▄ \n ▄▄▀▀▀▀██ \n█ ▄▄ ██ ▄ \n▀█▀ ▄█▀█▄▀ ▀▄ \n ▀█ █▀ █▄█ █ \n ▄▀█▄▀███ ▄▀▀█\n █▄█▄▄█████▄█▄█"], ["walk_1", " █▄ █▄ \n ▄▄▀▀▀▀██ \n█ █▀ ██ ▄ ▄ \n▀█▀ ▄█▀█▄▀ ▀▄ \n ▀█ █▀ ▄█▄█ █ \n ▀▄ ▄███▀▀█ █\n ▄▀█ ▀██▄▀▀▄ \n █▄█▄▄█ █▄█▄▀ "], ["walk_2", " ▄ ▄ \n ▄██▄██ \n▄▀▀ ▄▄ ▀█▄ \n█▄▄ ▀ ▄██ ▄▀▄▀ \n ▀▄▄ ▄█▀ ▀█ ▄ █ \n ▀▄▀ ▄████▄▀▄\n ▄▀█ ▀███ ▄▀▀█\n █▄█▄▄█▀▀▀█▄█▄▀"]]], + ["bancholeomon", [["angry", " ▄▄ ▄▀▀█████▄ \n█ ██▀▀▄▄▄█████▀ \n█ █▄▄▀▄ ▀ ███▀█ \n█ ██ ▀▀ ▄██ █\n█▄█▄▀█▀█▀▀█▀▀ ▄▀\n█ ▀ ▄█▄▄▄▄▄█▄▀ \n ▀███▄▄ ▄ ▄▄█▄ \n █▄█▄▄█▀█▄█▄▄█ "], ["attack", "▄▀▀█▀▀▀▀▀▀▀▀▀▄ \n█ ▄███▀▀▀████▀ \n█▄▀ ▄█▀▀█▀██▀ \n█▀█▀▀ ▄█▀ █▀▀▀█\n▀▄█ ██ ▄▀▀ ▄▀\n ▀▀█▀▀▀▀▀▀▄▄▀ \n ▄██▀▀▀▀▀█▄█▄ \n █▄█▄█████▄█▄▄█"], ["eat_1", " ▄▄ ▄██▀▀▀███▄ \n█ █▀ ▄█▀▀████▄ \n█ █▀▀▀ ▀▀ ██▄▄\n█ ███████▄ ▄███▄\n█▄█▄▀██ ▀▀██▄ \n█ ▀ ▄███▄▄▄█ ▀ \n ▀███▄▄ ▄ ▄▄█▄ \n █▄█▄▄█▀█▄█▄▄█ "], ["eat_2", " ▄▄▄▄▄▄▄ \n ▄▄ █▄▄ ▀▀███▄ \n█ █▀ ▄█▀▀█▀██▀ \n█ ██▀▀ ▄▀▄ ███▀\n█ █▀▄▄▄▄▄▄▄▀▀██▀\n█▄██ █ ▀ █ ▄ █\n█ ▀ ██▀▀▀▀▀█▄▄▄█\n ███▄▄█████▄█▄▄█"], ["happy", " █▀▄██▀▀▀██▄ \n █▄▀ ▄█▀▀████▄ \n█ ▀█▀▀ ▄▀▄ ██▄▄\n█▀▀█ ███ ▄█▀▀▄\n▀▄▄ ▀█▀█▀▀▀▄▀ ▄▀\n ▀▀█▄▄▄▄▄█▀▀ \n ▄█▄▄ ▄ ▄▄█▄ \n █▄█▄▄█▀█▄█▄▄█ "], ["injured_1", " \n ▄██████▄▄ \n ▄▀ ▀██▀███▄ \n █ ▀▀▀▀ ▄█ ██▄▄ \n ▀▄▄▄▄█▀ ▀ ███▄ \n ▀▄ ▄▀█▀▄ \n ▄▀█▀▀█▀▄▄▀ ▄▀▄\n █▄▄▄██▄▄▄███▄▄█"], ["injured_2", " \n ▄▄▄▄▄ \n ████████▄▄ \n▄█ ▄█▀▄███▀ \n█ ▀▀▀ ▄█ ███▀ \n▀▄▄▄▄▄▀ ▄██▀█ \n █▄▄▄▄▄▀▄▄▀ ▄▀▄\n █▄▄▄██▄▄▄███▄▄█"], ["sleep_1", " \n ▄███████▄ \n▄▀█▄▀ ▄▄████▄ \n█ █ ▀▀▀▀ ▄▀ ██▄▄\n█ █▀▄▄▄█▀ ▄███▄\n█ █▄▀█▀▀▀▀▀▄▀▀█ \n█▀█ ██▀▀▀▀▀█▄▄▄█\n▀▄▄█▄▄█████▄█▄▄█"], ["sleep_2", " ▄▄▄▄▄▄▄ \n ▄▄ █ ▀▀███▄ \n█ █▀▀▀▀▀███▀██▀ \n█ █▄▄▄▄▀▄▄ ███▀\n█ █▀▄▄▄▄▄▄▄▀███▀\n█▄██ █ ▀ ▀▄ ▀▄ \n█ ▀ ██▀▀▀▀▀█▄▄▄█\n ███▄▄█████▄█▄▄█"], ["walk_1", " ▄▄ ▄▀▀▀████▄ \n█ █▄▀▀▀▄▄▄████▄ \n█ █▄▄▄▀▀▄▄▀ ██▄▄\n█ ██ ▀▀ ▄███▄\n█▄█▄▀█▀█▀▀▀▄▀█▀ \n█ ▀ ▄█▄▄▄▄▄▀▄ █ \n ▀███▄▄ ▄ █▄▄▄▀ \n █▄█▄▄█▀█▄█▄▄█ "], ["walk_2", " ▄▄▄▄▄▄▄ \n ▄▄ █▄▄ ▀▀███▄ \n█ █▀ ▄█▀▀█▀██▀ \n█ ██▀▀ ▄█▀ ███▀\n█ █▀▄▄▄▄▄▄▄▀▀██▀\n█▄██ █ ▀ █ ▄ █\n█ ▀ ██▀▀▀▀▀█▄▄▄█\n ███▄▄█████▄█▄▄█"]]], + ["bancholillymon", [["angry", " ▄▄ ▄▄ ▄ \n █ ▀ ▀▄ \n █ █ \n █ █▀▄ ▄▀▀▄▄▀█ \n ▄██▄ ▀▀ ▄ █▄▄▀ \n█ ▄▀▄▀ ▀ ▄▀▄ █ \n▀▄▄▄███████▄▄▄█ \n █▀█▄██▀▀██▄█▀█ "], ["attack", " ▄▀▀▀▀▄▀▄ \n █ ▄▄ █\n █▄▀ ▄▀▄▄ █\n █ ▀▀ █ ▀█\n ▀██▄▀▀▄▀▄\n ▄▄▄ ▄▄▀█ █ █\n█▀ ▀█▄▀ █▄█▀█▄ █\n▀▄█▄▀ █▄▄▀▀▄▄█▀"], ["eat_1", " ▄▀▀▄▀▀ ▄▀▄ \n █ ▄▀▄ ▄▀▄ █ \n █ █ ▄▀▀ ▄ █ █ \n ▀▄█▀ ▀ ▀ ▀█▀▀█ \n ▄▀▄▀███▀▄▀▄▀ \n ▄▀▄▀█▄▄▄██▀█▀▄ \n █▄▀▄██▄▄██▄▀▄█ \n ▀ █▄█▀▀█▄█ ▀ "], ["eat_2", " ▄▄ ▄▄ ▄ \n █ ▀ ▀▄ \n █ ▄▀▄ ▄▀▄ █ \n █ █ ▄▀▀ ▄▀▄▄▀█ \n ▀█▀ ▀ ▀ ▀█ █ \n █ █▄▄▄▄▄▀▄█▄ \n █ █▄█▄ ▄█▄█ █ \n █▀█▄██████▄█▀█ "], ["happy", " ▄▀█ ▀▀ ▀▄ \n █ ▄▀▄ ▄▀▄ █ \n █ █ ▄▀▀ ▄ █ █ \n▄█▄█▀ ▀ ▀ ▀██▄█ \n▀▄ █ █████ █ ▄▀ \n ▄▀▄▀▄▀▀▀▄▀▄▀▀▄ \n █▄▀███████▄▀▄█ \n ▀ █▄█▀▀█▄█ ▀ "], ["injured_1", " ▄▄ ▄▄ ▄ \n █ ▀ ▄ ▀▄ \n █ ▄▄ ▄▄ █ \n █ █ ▀▄▄▀ ▀▄▄▀█ \n ▀█▄█ █▄ █ █ \n █▀▄▄▄▄▄▄▀▄█▄ \n █ █▄▄▄█▄▄▄█▀ █ \n █▀█▄█████▄█▀▄█ "], ["injured_2", " \n ▄▀█ ▀▀ ▀▄ \n▄▀ ▀ █ \n█ █▀▄ ▄▀█ █▀█ \n▀▄█ ▄▀▀▄ ██ █ \n █▀▀ ▀▀▄▀▄█▄ \n █ ██████▄▄█▀ █ \n █▀█▄█████▄█▀▄█ "], ["sleep_1", " \n ▄▄ ▄▄ ▄ \n █ ▀ ▀▄ \n█ ▄▀▄ ▄▀▄ █ \n█ █ ▀▀ ▀▄ █▀█ \n ▀█▀▀ ▀▀ █▀ ▄▀ \n █▀▀▄▄▄▄▄▀ ▀▀▄ \n █▄▄▄▄█▄▄▄▄▄█▄█ "], ["sleep_2", " \n ▄▀█ ▀▀ ▀▄ \n ▄▀ ▄ ▄ █ \n █ █ ▀▄▄▀ █ █▄ \n ▀▄█▄▄ ▄▄ █▀▄▀ \n ▄█▄ ▄▀ █ \n ▄▀ ▀▀▀█▀▀ ▀▀▄ \n █▄▄▄▄▄█▄▄▄▄█▄█ "], ["walk_1", " ▄▀▀ ▀▀ ▀▄ \n ▄▀ ▄ ▄ █ \n █ █ ▀▄▄▀ █ █ \n ▀▄█ █ █ █▀▄▀ \n ▄▀▄ ▄▀▄▀ \n ▄▀▄▀█▀▀▀▀▄▀█▀▄ \n █▄▀▄██▄▄██▄▀▄█ \n ▀ █▄█▀▀█▄█ ▀ "], ["walk_2", " ▄▄ ▄▄ ▄ \n █ ▀▄ \n █ ▄▀▄ ▄▀▄ █ \n █ █ ▄▀▀▄ ▀▄▄▀█ \n ▀█ ▀ ▀ █ █ \n █ █▄▄▄▄▄▀▄█▄ \n █ █▄█▄ ▄█▄█ █ \n █▀█▄██████▄█▀█ "]]], + ["banchomamemon", [["angry", " \n \n █ ▄▄▄▄ █ \n █ █▄▄▄▄▀▄ █ \n █ ▀▄▄▄▄▄█▄██ \n █▀█████▄▄██▀▄ \n ▀▄▄██▄▄▄██▄▄▀ \n ▄▄█▀▀▀█▄▄ "], ["attack", " \n █ ▄ \n █ █ \n █ ▄▀▀▀▀▄█ \n █▄▀▀▀▀▄▀▄█▄ \n █ ████▄██▀▀▄ \n ▀▀▀▄▄▄███▄▄▀ \n ▄▄█▀▀█▄▄ "], ["eat_1", " \n █ █ \n █ ▄▄▄▄ █ \n █ █▄▄▄▄▀██ \n ▄▀▀▄▄▄▄▄▀▄▀▀▄ \n ▀▄▄██▀▀▀██▄▄▀ \n ██▄▄▄██ \n ▄▄█▀▀▀█▄▄ "], ["eat_2", " \n \n █ █ \n █ ▄▀▀▀▀▄▄█ \n █▄▀▀▀▀█▄▀█▄ \n ▄▀▀███▀▄▀█▀▀▄ \n ▀▄▄██▀▀███▄▄▀ \n ▄▄█▀▀▀█▄▄ "], ["happy", " \n █ █ \n █ ▄▄▄ █ \n █ █▄▄▄▀▀▄█ \n ▄▀▀▄▄▄▄▀██▀▀▄ \n ▀▄▄███▄█▄█▄▄▀ \n ██ ██ \n ▄▄█▀▀▀█▄▄ "], ["injured_1", " \n \n \n ▄ ▄▄▄▄ ▄ \n █ █▄▄▄▄▀█▄ █ \n █ ▀▄▄▄▄▀█▄██ \n █▀▀████▄▄█▀▀▄ \n ▀▄▄██▄▄▄██▄▄▀ "], ["injured_2", " \n \n \n ▄ ▄ \n █ ▄▀▀▀▀▄▄ █ \n █ ▄▀▀▀▀█▄▀██ \n █▀▀████ ▀█▀▀▄ \n ▀▄▄██▄▄▄██▄▄▀ "], ["sleep_1", " \n \n \n ▄ ▄▄▄▄ ▄ \n █ █▄▄▄▄▀█▄█ \n █ ▀▄▄▄▄▄█▄██ \n █▀▀████▄▄█▀▀▄ \n ▀▄▄██▄▄▄██▄▄▀ "], ["sleep_2", " \n \n \n ▄ ▄▄▄▄ ▄ \n █ █▄▄▄▄▀█▄█ \n █ ▀▄▄▄█▀▀▄██ \n █▀▀██▀▀███▀▀▄ \n ▀▄▄██▄▄▄██▄▄▀ "], ["walk_1", " \n ▄ ▄ \n █ █ \n █ ▄▀▀▀▀▄▄█ \n █▄▀▀▀▀▀▄▀█▄ \n █ █████▄█ █ \n ▀▀██▄▄▄██▀▀ \n ▄▄█▀▀▀█▄▄ "], ["walk_2", " \n \n █ █ \n █ ▄▄▄▄ █ \n █ █▄▄▄▄▀██ \n ▄▀▀▄▄▄▄▄▀▄▀▀▄ \n ▀▄▄██▀▀▀██▄▄▀ \n ▄▄███████▄▄ "]]], + ["baohuckmon", [["angry", "█ ▄▄▀▀▀▄ ▄▄\n█▄ ▄▀▀ ▄▀ ▄█▀ \n██▀ ▄█▀ ▀▀▄████▄\n█▄▄▄▄ ▀███▀▀ \n ████ ▄█████▀▀\n ▄▀▀ ▄█▀▀ ▀▀▄▄\n ▄▀█▀▀ ▄▄▀ ▄▄▀\n █▄█▄▄▄▀█▄▄▄██ "], ["attack", " ▄▄▄▄ \n█ ▄█▀ ▄▀ ▄▄▄\n██ ▄▀▄▄ ▀▄▄██▀ \n██▀ ▀▀ ▀█████▀\n█ ▄▀▀ ▄▄█████▄▄▄\n ▀▄▄██▀▀ ▀▀▀▄ \n ▄▀ ▄▄ ▄ ▄ ▀█▀ \n█▄▄▀█▄▄█ █▄▄▄█ "], ["eat_1", " ▄▄▄▄ \n█ ▄█▀ ▄▀ ▄▄▄\n██ ▄▀▄▄ ▀▄▄██▀ \n██▀ ▀▀ ▀█████▀\n█ ▄▀▀ ▄▄█████▄▄▄\n ▀▄▄██▀▀ ▀▀▀▄ \n ▄▀ ▄▄ ▄ ▄ ▀█▀ \n█▄▄▀█▄▄█ █▄▄▄█ "], ["eat_2", "▄ ▄▄▀▀▀▄ ▄▄\n█ ▄▀ ▄▀ ▄█▀ \n██▄▀▄ ▄█▄███▄\n█▀ ▀ ▀ ▄███▀▀ \n▀██████ ▄████▀▀\n █▀▀▀▄▄█▀ ▀▀▄▄\n ▄▀█▀▀ ▄▄ ▄ █\n █▄█▄▄▄▀█▄▄▄██▀▀"], ["happy", "█ ▄▄▀▀▀▄ ▄▄\n█▄ ▄▀▀ ▄▀ ▄█▀ \n██▀ ▄▀▄ ▀▀▄████▄\n█▄▄▄▄▄ ▀███▀▀ \n ███▀ ▄█████▀▀\n ▀▄▄▄▄██▀ ▀▀▄▄\n ▄▀▄▀ ▄▄▀ ▄▄▀\n █▄█▄▄▄▀█▄▄▄▄█ "], ["injured_1", " ▄▄ \n█ ▄▄▀ ▄█ ▄▄\n█▄ ▄▀ ▄█ ▄██▀ \n██▀ █▄▄ ▀█████▀\n█ ▄▄▄ ▀█████▀\n ▀▄▄▄▄▄██▀▀ ▀▀▄▄\n ▄██▀▀▀ ▄▀ ▄ █\n ▀▄▄▄▄▄█▄▄▄▄█▀▀"], ["injured_2", " \n ▄▄▄ ▄▄\n█ ▄▀ ▄▀▄██▀ \n██ ▄▀ ▄ ▀█████▀\n██▀ ▀▀ ▀█████▀\n█ ▄▀▀ ▄▄█▀▀ ▀▀▄▄\n ▀▄▄█▀▀▀ ▄▀ ▄ █\n ▀▄▄▄▄▄█▄▄▄▄█▀▀"], ["refuse", " ▄▄ \n█ ▄▄▀ ▄█ ▄▄\n█▄ ▄▀ ▄█ ▄██▀ \n██▀ ▄▀▀ ▀█████▀\n█ ▄▄▄ ▀█████▀\n ▀▄▄▄▄▄██▀▀ ▀▀▄▄\n ▄██▀▀▀ ▄▀ ▄ █\n ▀▄▄▄▄▄█▄▄▄▄█▀▀"], ["sleep_1", " ▄▄ \n█ ▄▄▀ ▄█ ▄▄\n█▄ ▄▀ ▄█ ▄██▀ \n██▀ ▄▄▄ ▀█████▀\n█ ▄▄▄ ▀█████▀\n ▀▄▄▄▄▄██▀▀ ▀▀▄▄\n ▄██▀▀▀ ▄▀ ▄ █\n ▀▄▄▄▄▄█▄▄▄▄█▀▀"], ["sleep_2", " ▄▄ \n█ ▄▄▀ ▄█ ▄▄\n█▄ ▄▀ ▄█ ▄██▀ \n██▀ ▄▄▄ ▀█████▀\n█ ▄▄▄ ▀█████▀\n ▀▄▄▄▄▄██▀▀ ▀▀▄▄\n ▄██▀▀▀ ▄▀ ▄ █\n ▀▄▄▄▄▄█▄▄▄▄█▀▀"], ["walk_1", "▄ ▄█▀▀█ ▄▄▄\n█▄ ▄▀▀ █ ▄██▀ \n██▄▀▄█▀ ▄█████▀\n█▀ ▄▄ ▄▄███▄▄ \n▀▄▀ ▄▄██▀█████▀▀\n ▀█▀▀ ▀▀▀█▄\n ▄▀ ▄ █▄ ▄ ▀█▀▀\n█▄▄█▄▄▀ █▄▄▄█ "], ["walk_2", " ▄▄▄▄ \n█ ▄█▀ ▄▀ ▄▄▄\n██ ▄▀▄▄ ▀▄▄██▀ \n██▀ ▀▀ ▀█████▀\n█ ▄▀▀ ▄▄█████▄▄▄\n ▀▄▄██▀▀ ▀▀▀▄ \n ▄▀ ▄▄ ▄ ▄ ▀█▀ \n█▄▄▀█▄▄█ █▄▄▄█ "]]], + ["barbamon", [["angry", " ▄▄ ▄▄▄▄ ▄▄▄▄ \n ███▀ ▄ ▀█ ████\n████▀ ▀▀ ▄████\n▀ █ ▄▄▄███▀██▀█\n▄▀███▀ ▀██▀▀███▄\n█▄██▀ █ █▄▄██▀█\n ██▀▄▀▄█ ▄████▄ \n██████▀▀▀███████"], ["attack", " ▄██▀▀▀▀▄▄▀▄██▄ \n▄██▄ ▄█ ▀ ████ \n██▄▄▄▄ ▄▄█████ \n ▄▄████ ██▄██▄▀ \n▄███▀▀▀▀███████ \n▀██▀ █ ██ █ ▀ \n▄██ █ ▄ █████▄ \n█▀▄█▄██▄█████▀█ "], ["eat_1", " ▄██▄▀▀▀▀▄▄▀███▄\n▄███▄ ▄▀▄ ▀ ████\n█▀█ ▄ ▄█████\n ▄██▀▀▀▀ █▀▀▄█▄▀\n▄███▀▄▄▄██▄▄████\n▀███ ▄▀ ▀████ ▀\n▄██▀▄▀▄█ ▄█████▄\n█▀█████▀██████▀█"], ["eat_2", " ▄▄ ▄▄▄▄ ▄▄▄▄ \n ███▀ ▄ ▀█ ████\n███▀▀ ▀ ▀ ▄████\n▀ █▄▄▄▄▄███▀██▀█\n ████ ▀▀██████▄\n████▀ █ ▀█▀▀█▀█\n ██▀▄▀▄█ ▄█▄▄█▄ \n██████▀▀▀███████"], ["happy", " ▄██▄▀▀▀▀▄▄▀███▄\n▄███▄ ▄▀▄ ▀ ████\n█▀█ ▄█████\n ▄██▀▀▀▀▀▄█▄██▄▀\n▄███▀▄▄▄███▀▀███\n▀███ ▄▀ ▀█▄▄█ ▀\n▄██▀▄▀▄█ ▄█████▄\n█▀█████▀██████▀█"], ["injured_1", " \n ▄██▄▀▀▀▀▄▄▀███▄\n▄███▄ █▄ ▀ ████\n█▀█▀ ▄▄▄█████\n ▄█▄▄▀▀████▄██▄▀\n▄████ ▄ ███████\n▀███ ▄▀▄ █ █▄▀\n███▄█▄██▄███████"], ["injured_2", " \n ▄▄ ▄▄▄▄ ▄▄▄▄ \n ███▀ ▄ ▀█ ████\n████▀ ▀▀ ▄████\n▀ █ ▄▄▄███▀██▀█\n ████ ▀▀██████▄\n████▀ █ ▀█▀▀█▀█\n▄███▄█▄█▄▄█▄▄██▄"], ["sleep_1", " \n ▄▄ ▄▄▄▄ ▄▄▄▄ \n ███▀ ▀█ ████\n███▀▀ ▄▄▀ ▄████\n▀ █▄▄▄▄▄███▀██▀█\n ████ ▀▀██████▄\n████▀ █ ▀█▀▀█▀█\n▄███▄█▄█▄▄█▄▄██▄"], ["sleep_2", " \n ▄██▄▀▀▀▀▄▄▀███▄\n▄███▄ ▄ ▀ ████\n█▀█ ▀▀▄▄▄█████\n ▄███▀▀████▄██▄▀\n▄████ ▄ ███████\n▀███ ▄▀▄ █ █▄▀\n███▄█▄██▄███████"], ["walk_1", " ▄██▄▀▀▀▀▄▄▀███▄\n▄███▄ ▄▀█ ▀ ████\n█▀█ ▀▀▄▄▄█████\n ▄███▀▀████▄██▄▀\n▄████ ▄ ███████\n▀███ ▄▀ ▀█ █ ▀\n▄██▀▄▀▄█ ▄█████▄\n█▀█████▀██████▀█"], ["walk_2", " ▄▄ ▄▄▄▄ ▄▄▄▄ \n ███▀ ▄▄▀█ ████\n███▀▀ █▄▀ ▄████\n▀ █▄▄▄▄▄███▀██▀█\n ████ ▀▀██████▄\n████▀ █ ▀█▀▀█▀█\n ██▀▄▀▄█ ▄█▄▄█▄ \n██████▀▀▀███████"]]], + ["barbamon_x", [["angry", " ▄▄ ▄▄ ▄▄▄\n █ ▀▀ ▀██▄ █▀ \n █▀ ▄█ ▄█▄ ▄█\n █ ▄▄████ ▀ \n ▄█ ▄▄▀ █ █▄▀██▄\n█ ▀██▄ ██ ▄█ ▀\n ▀▀█ █ ▄█ ▀████ \n ▄█▄██▄█▄▄▀█▀█ "], ["attack", " █▀▄█▀▄▄▄ ██▀\n █▄ ▄ ▀▀█ ▀ ▄\n ▄▀ ▀▀ ▄███ █▀\n▀▄▄▄█▀▀████▀█▄▄ \n █ █ █ ▄██▀█\n ▀██▄▄██▀████▄ \n █ █▄▀█ ████ \n ▀▄█▄▄█▄▀ ▀ ▀ "], ["eat_1", " █▀▄█▀▄▄▄ ██▀\n █▀ ▄ ▀▀█▄▀ ▄\n ▄▀▀ ▀ ▀▄███▄▀▀\n ▀▀▀████▀▄█▄▀██▄\n ▄▀▀▀ ▄█ ▄█ ▀\n ▄▀▄ █▀█████ \n █ █ ▄█ ▀█████\n ▀▄██▄█▄▀▀ ▀ ▀"], ["eat_2", " ▄▄ ▄▄ ▄▄▄\n █ ▀▀ ▀██▄ █▀ \n █▀ ▄▀▄ ▄█▄ ▄█\n ▄▀ ▄▄▄████ ▀ \n ▀▀█▀▀ █ █▄▀██▄\n ▄▀██▄ █ █▀ █ ▀\n ▀▄█ █ ▄█ ▀▄▄██ \n ▄█▄██▄█▄▄▀█▀█ "], ["happy", " █▀▄█▀▄▄▄ ██▀\n █▄ ▄ ▀▀█▄▀ ▄\n ▄▀▀ ▀ ▀▄███▄▀▀\n ▀▀▀████ ██▄▀██▄\n ▄▀▀▀▀ ██ █ ▀\n ▄▀▄ █▀█████ \n █ █ ▄█ ▀█████\n ▀▄██▄█▄▀▀ ▀ ▀"], ["injured_1", " \n █▀▄█▀▄▄▄ ██▀ \n █▄ ▄ ▀▀█ ▀ ▄ \n ▄▀ ▀▀ ▄███ █▀ \n █ ▄▀█▀█▀█▄▄ \n ▀▄▄▀ █ █▀ █▀█ \n █▀█ █ █▄▄█▄ \n ▀▄██▄█▄▄█████ "], ["injured_2", " \n ▄▄ ▄▄ ██▀ \n █ ▀▀ ▀██▄ ▀ ▄ \n █▀ █▄ ▄█▄ █▀ \n█ ▄▄██▀█▄▄ \n█ ▄▀ █ █▀ ███▄ \n ▀█▀█ █ █▄▄██▄▀ \n ▀▄███▄▄██████ "], ["sleep_1", " \n ▄▄ ▄▄ ▄▄▄\n █ ▀▀ ▀██▄ █▀ \n █▀ ▄▄ ▄█▄ ▄█\n ▄▀ ▄▄▄████ ▀ \n ▀██▀▀ █ █▄▀██▄\n █ ██▄ █ █ █ ▀\n ▀█▄█▄▄█▄█████▄"], ["sleep_2", " \n █▀▄█▀▄▄▄ ██▀\n █▄ ▀▀█ ▀ ▄\n ▄▀ ▀▀ ▄███ █▀\n █▄▄▄▄▀▀█▀█▀█▄▄ \n ▄▀█▄ █ █▀ █▀█\n ▀▄█▀█ █ █▄▄█▄ \n █▄██▄█▄▄█████"], ["walk_1", " █▀▄█▀▄▄▄ ██▀\n █▄ ▄ ▀▀█ ▀ ▄\n ▄▀ ▀▀ ▄███ █▀\n █▄▄▄▄▀▀█▀█▀█▄▄ \n ▄█▄ █ ██ █▀█\n █ █▀█ █ █ █▄ \n ▀█ █▄▀█ ████ \n ▀▄█▄▄█▄▀ ▀ ▀ "], ["walk_2", " ▄▄ ▄▄ ▄▄▄\n █ ▀▀ ▀██▄ █▀ \n █▀ ▄█ ▄█▄ ▄█\n ▄▀ ▄▄▄████ ▀ \n ▀▀█▀▀ █ █▄▀██▄\n ▄▀██▄ █ █▀ █ ▀\n ▀▄█ █ ▄█ ▀▄▄██ \n ▄█▄██▄█▄▄▀█▀█ "]]], + ["bebydomon", [["angry", " ▄▀▄▄▄▄▀▄ \n▀██ █▀ ▀█ ██▀\n ▀█▄▀█▄ ▄█▀▄█▀ \n ▀▄▄ ▄▄ ▄▄▀ \n ██▀██▀██ ▄ \n ▀▄▄▄▄▄▄▀▀█ \n ▀▄▄▄▄▄▄▀ \n ▄▄▄▄▄▄▄ "], ["attack", " ▄▄▄▄▄▄▄▄ \n ▄▀ ▀▄▄▀ \n ▄▀ █ █ █ \n ▀▄▄▄▄▄▄▄█ \n ▄▀ ▀█▀▄█▄ \n ▀▄ ▀▄ ▀█ \n ▀▀▀▀▄█ \n ▄▄▄▄ ▀ "], ["eat_1", " ▄▄▄▄▄▄▄▄ \n ▄▀ ▀▄▄▀ \n ▄▀ █ █ █ \n ▀▄▄▄▄▄▄▄█ \n ▄▀ ▀█▀▄█▄ \n ▀▄ ▀▄ ▀█ \n ▀▀▀▀▄█ \n ▄▄▄▄ ▀ "], ["eat_2", " \n ▄▀▀▀▀▀▄▄▄▄ \n ▀▄▄ ▀█ ▀▄▄█ \n █ █ \n █▀▀▀ █▄▄█▄ \n ▀█▀▀▀ █▄▀▀█ \n ▀▄▄▄▄▄▄█ \n ▄▄▄▄▄ ▀ "], ["happy", " \n ▄▀▀▀▀█▀▀█ \n █▄ ▄ ▀█ ▄ \n █▀ ▀ ▀ ▀▄████ \n ▀█▀▀▀▀▀█▀▄ ▀ \n ▀▄ ▀▀█ \n ▀▀▀▀▀▀ \n ▄▄▄▄ "], ["injured_1", " \n \n ▄▄▄▄▄▄▄▄ \n ▄▀ ▀▄▄▀ \n ▄█▄▀ ▀▄▄ █ \n ▀▄▄▄▄▄▄▄█ ▄ \n █▄ ▀███ \n ▀█▄▄▄▄▄▄▀ ▀ "], ["injured_2", " \n \n \n ▄▀▀▀▀█▀▀█ \n █ ▄ ▄ ▀█ \n █▀▀ ▀▀▄▀ \n ▀██▀▀▀▀▀▄█▄ \n ▀█▄▄▄▄▄▄▀▀▀█ "], ["refuse", " ▄▄ \n ▄▄▄▄█ █ \n ▄▀ ▀▄█ ▄ \n ▄▀█▄ ▄█ ████ \n ▀▄ ▄█▀▄ ▀ \n █▀▀▀▀ ▀▀█ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄ "], ["sleep_1", " \n \n \n ▄ ▄ \n ▄██▄▄▄███▄ \n ▄▀ ▀▄▄▀▀█ \n ▄▀▄▄ ▄▄ █▄ █ \n ▀▄▄▄▄▄▄▄█▄▄▄▄▀ "], ["sleep_2", " \n \n \n ▄ ▄ \n ▄██▄▄▄███▄ \n ▄▀ ▀▄▄▀▀█ \n ▄▀▄▄ ▄▄ █▄ █ \n ▀▄▄▄▄▄▄▄█▄▄▄▄▀ "], ["walk_1", " \n ▄▀▀▀▀█▀▀█ \n █ ▄ ▄ ▀█ \n █ ▀ ▀ ▄▀ ▄ \n ▀▀█▀▀▀██▄███ \n █ █▄ ▀ \n ▀▄▄▄▄▄▄█▀ \n ▄▄▄▄▄▄ "], ["walk_2", " ▄▄▄▄▄▄▄▄ \n ▄▀ ▀▄▄▀ \n ▄▀ █ █ █ \n ▀▄▄▄▄▄▄▄█ \n ▄▀ ▀█▀▄█▄ \n ▀▄ ▀▄ ▀█ \n ▀▀▀▀▄█ \n ▄▄▄▄ ▀ "]]], + ["beelstarmon_x", [["angry", " ▄██ ▄█▀ \n ▄▀▄█████▀ █▄ \n ████▀ █▀▄ ██ \n ▀█▀▀▀▀█ ▀████ \n ▄▄███▀██▀█▀██ \n █ █ ▄█ ▄█ ▀█ \n ▀█▀▀██▀▀█ ▀ \n ▄██▀█ █▀██▄ "], ["attack", " ▄▄ ▄▄ \n █▀█▄██▄▄ ▄ \n █▄█▀ ▄█▀▄ ██\n ▀█▀▀▀ █ ▀███\n█▀▀▀▀▀█▀▀██▀▄███\n ▀▀▄▄▄█▄█ ▄█▀██\n █▄▀█▀█▀▄█▄ █\n ▄██▀█ ▀█▀██▄"], ["eat_1", " ▄██ ▄█▀ \n ▄▀▄█▀███▀ █▄ \n ███▄█▄█ █▄██▄ \n ████ █▄ ████ \n ▄▀▀▄▄▄█▄ ▀█ ██ \n █▄▀█▄███▄▄█ █ \n █▄▄▀▄▄█▄ \n ▄██▀█ █▀██▄ "], ["eat_2", " ▄██ ▄█▀ \n ▄▀▄█████▀ █▄ \n ███▀▄▀█▀▄ ██ \n ▀█▀▀▀▀█ ▀████ \n ███▀██▄█▀██ \n ▄▀█ ▄█▀▀█▀ ▀█ \n ▀▄█▀██▄▄█ ▀ \n ▄██▀█ █▀██▄ "], ["happy", " ▄██ ▄█▀ \n ▄▀▄█▀███▀ █▄ \n ███▄█▄█▄█▄██▄ \n ▄█▀▀▀ █ ████ \n █ ▀█▀▀█▀ ▄█ ██ \n ▀▀█▄████▀ █ \n █▄▄▀▄▄█▄ \n ▄██▀█ █▀██▄ "], ["injured_1", " \n ▄▄ ▄▄ \n █▀█▄██▄▄ ▄ \n █▄█ ▀██▀▄ ██ \n ▀█▀▀▀ █ ▀████\n ▄██████ █▀██\n█▄▄█▀█ █ ▀███ ▀█\n▄███▄███▄███▄ ▀"], ["injured_2", " \n \n ▄██ ▄█▀ ▄ \n ▄▀▄▀████▀ ██ \n ███▄▄▀█ █████ \n ▀▄▄▄▄█▄▄▀████\n█▄▄█▀█ █ ▀███ ▀█\n▄███▄███▄███▄ ▀"], ["sleep_1", " ▄▀▀▄▀█ \n █▄▄█ ▄▄█ \n ███▀ ▀████ \n ███ ▀██████▄ \n ███ ▀▀██████ \n ████ ▀██████ \n ▀██▄▀█████ \n ▀███▄██▀ "], ["sleep_2", " ▄▄ ▄▄ \n ▄▀ ▄▀ ▀▄ \n ▄████▀▄████▄ \n ████▀ ▄▄██████ \n ████ ▀████████ \n ▀███ ▀████████ \n ▀███▄▀██████ \n ▀███▄███▀ "], ["walk_1", " ▄██ ▄█▀ \n ▄▀▄█▀▀██▀ █▄ \n ███▄▄▀█ █▄██▄ \n ▀▄▄▄▄█▄ ████ \n ▄▀█▀▀▄▀▀▄█ ██ \n █▄█▄██▄▄█ █ \n █▄▄▀▄▄█▄ \n ▄██▀█ █▀██▄ "], ["walk_2", " ▄▄ ▄▄ \n █▀█▄██▄▄ ▄ \n █▄█▀ ▄█▀▄ ██ \n ▀█▀▀▀ █ ▀████ \n ▄███▀██ █▀██ \n █ █ ▄█ █▀ ▀█ \n ▄█▀█▀█▀▀█▄ ▀ \n▄██▀█ ▀█▀██▄ "]]], + ["beelzemon", [["angry", " ▄▄▄▄▄▄▄▄▄ \n █▀█▀██▀█▄▀▄ \n █ ▀▄▀ ▄██▀ \n ▄▀█▀▀▀██▀▀▄ \n █▄ ▀█▀█ ▄▄▄█ \n █ ██▀█▄█▀█ ▀█ \n ▀██████████▀ \n █▄▄▄█ █▄▄▄█ "], ["attack", " ▄███████▀█▄\n █ █▀ ████▄▀\n ██▄▄▄█████ \n████▄▄▀▄▄▄█▀ █\n▀▀▀█▀▀██ █▄▄▀▀█▀\n ▀▀██▄█▄█▄▄▀ \n ▄████████▀▄ \n █▄▄▄█ █▄▄▄█ "], ["eat_1", " ▄▀▀██▀▀█▀▄ \n ██▀▀▀▀███▀█ \n █ ███ \n █ ▀▄▄▄▄▀ █▄ \n ███▄▄█ █▄▄████▄\n█▀▀██▄█▀█▄██▄▀▀█\n▀▄▄██████████▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["eat_2", " ▄▄▄▄▄▄▄▄▄ \n ▄███▀████▄▀▄ \n █▀▄▀█▀▄▀██▀ \n ▄▀█▀▀▀██▀▀▄ \n ▄█▄▄▀█▀█ ▄▄█▄ \n █▀▀███▄███▀▀██ \n ▀▄▄███▄███▄▄█▀ \n █▄▄▄█ █▄▄▄█ "], ["happy", " ▄▄▄██▀████▀▄▄▄ \n█ █▀▄▀█▀▄▀███ █\n ████▀▀▀▀██▄███ \n ▀█ ▀▄▄█▀ ███ \n ▀█▄▄█ █▄▄██ \n ▄█▄█▀█▄██▄ \n ██████████▄ \n █▄▄▄█ █▄▄▄█ "], ["injured_1", " \n ▄██▀████▀▄ \n ██▀██▀███▀█ \n █▄▀▀▀▀▄██▀ \n █ ▀▄▄▄▄▀ ▄█ \n ████▀▀████▄ \n ▄▀▀████▀▀██ \n ▀▄▄██ █▄▄█▄█ "], ["injured_2", " \n ▄▄▄▄▄▄▄▄ \n ███▄████▄█▄ \n █▀▄██▄▀██▄▀ \n ▄▀██ ██▀▀▄ \n ▀▄▄███▄▄▄██ \n ▄▀▀█▄▄█▀▀██ \n ▀▄▄██▀█▄▄█▄█ "], ["sleep_1", " \n ▄▄▄▄▄▄▄▄ \n ███▄████▄█▄ \n █▄▄██▄▄██▄▀ \n █ ▀█▄▄█▀ █▄ \n ███▄▄█▀▄▄▄████ \n█▀█ ███ ███▀▀█\n▀▄█▄▄█▀█▄▄██▀▄▄▀"], ["sleep_2", " \n ▄██▀████▀▄ \n █▀▀██▀▀██▀█ \n ██▀▀▀▀████ \n █ ▀▄▄▄▄▀ █▄ \n ███▄▄█ █▄▄████ \n█▀█ ███ ███▀▀█\n▀▄█▄▄█▀█▄▄██▀▄▄▀"], ["walk_1", " ▄██▀████▀▄ \n █ ▀██▀ ██▀█ \n ██▀▀▀▀████ \n █ ▀███▀ █▄ \n ███▄▄█ █▄▄████▄\n█▀▀██▄█▀█▄██▄▀▀█\n▀▄▄██████████▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄▄▄ \n █▀█▄██▀█▄█▄ \n █▄▄██▄▄██▄▀ \n ▄▀▀▄▄▄▄█▀▀▀▄ \n▄██▄ █▀█ ▄▄██▄\n█ ██▀█▄█▀███ █\n ▀█████▄██████▀ \n █▄▄▄█ █▄▄▄█ "]]], + ["beelzemon_blast_mode", [["angry", " ▄▄▄▄▄▄ ▄ \n ▄▀█████▄▀▄ ██ \n █▄█▀▄████▀ ███\n █▀▀▀██▀▀▄████\n▄▀▀██▀█▀ ▄▀▀▄███\n▀▄▄█▀ █▀▀█▄▄█ ██\n ▄█████████▄ █\n █▄▄█▀ ▀█▄▄▄█ █"], ["attack", " ▄█████▀▄ ▀▄\n █ ██▀███▄█ █\n ▀██▄▄███▀▀██\n ▄▄▄▄█▄▄▄██▄▀▀▄█\n█▄ ▀█ █ ▄▄██\n▀▄▄▄▄██▄▄▄██▀███\n ▄██▀████▄ ██\n █▄▄█ █▄▄▄█ █"], ["eat_1", " ▄█████▀▄ ▄ \n █ ██▀███▄█ ██ \n ▀██▄█▄███ ▄███\n ▀▄ ▄▀ █████\n ▄▄██▀█▄▄██▄▀███\n█ █▄▄█▄▄█ █ ██\n ▀▀███▀█████ █\n █▄▄█ █▄▄▄█ █"], ["eat_2", " ▄▄▄▄▄▄ ▄ \n ▄▀█████▄▀▄ ██ \n █▄█▀▄▀███▀ ███\n █▀▀▀██▀▀▄████\n ▄█▀█▀ ▄▄▀████\n▄▀▀█▀ █▀▀█▀▀▄ ██\n▀▄▄███████▄▄█ █\n █▄▄█▀ ▀█▄▄▄█ █"], ["happy", " ▄█████▀▄ █▄ \n █ █▀▄▀██▄█▄██▄\n ▀█▀▀▀▀███ ███\n ▀▄▄▄█▀█ ▄████\n ▄▀▀█ █▄▄█▀ ▀▀██\n ▀▄▄█▄█▄▄█▄ ▀█\n ▄██▀████▄ █\n █▄▄█ █▄▄▄█ ▀"], ["injured_1", " \n ▄█████▀▄ █▄ \n █ ██████▄█ ██▄\n ▀██▄▄████ ▄███\n ▀▄▄▄█▀ █████\n ▄▄██ █▄▄██▄▀▀██\n█ ▀█▄▄█▄▀ ▀█ ▀█\n█▄▄█████▄▄▄▄█ █"], ["injured_2", " \n ▄▄▄▄▄▄ ▄ \n ▄▀█████▄▀▄ ██ \n █▄█▀▀████▀ ███\n █▀▀▀▀██▀▀▄████\n▄▄ ██▀█▀ ▄▄▀████\n█ ▀█▀ ██▀ ▀▄ ██\n█▄▄█████▄▄▄▄█ █"], ["sleep_1", " \n ▄▄▄▄▄▄ ▄ \n ▄▀█████▄▀▄ ██ \n █▄█▀▀████▀ ███\n █▀▀▀▀██▀▀▄████\n ██▀█▀ ▄▄▀████\n ▄▀█▀ █▀█▀▀█▄ ██\n ████████▄▄██ █"], ["sleep_2", " \n ▄█████▀▄ █▄ \n █ ██████▄█ ██▄\n ▀██▄▄████ ▄███\n ▀▄▄▄█▀ █████\n ▄▄██ █▄▄██▄▀▀██\n█ ▄█▄▄█▄▄█ █ ▀█\n █▄▄█████████ █"], ["walk_1", " ▄█████▀▄ █▄ \n █ ██▀███▄█ ██▄\n ▀██▄▄████ ▄███\n ▀▄▄▄█▀ █████\n ▄██ █▄▄██ ▀▀██\n █ █▄█▄█ █ ▀█\n ▀███▀████▄ █\n █▄▄█ █▄▄▄█ ▀"], ["walk_2", " ▄▄▄▄▄▄ ▄ \n ▄▀█████▄▀▄ ██ \n █▄█▀ ████▀ ███\n █▀▀▀██▀▀▄████\n ▄█▀█▀ ▄▄▀████\n▄▀▀█▀ █▀▀█▀▀▄ ██\n▀▄▄███████▄▄█ █\n █▄▄█▀ ▀█▄▄▄█ █"]]], + ["beelzemon_x", [["angry", " ▄▄▄▄▄▄ \n ▄▀█ ▄▀▄ ▄▄ \n ▄▀▀ ▄█ ▄▀▄████\n █▄▄▄▄▄▄█▀██████\n▄▀▀▄▄▄█▀▄▀▀▄ ▀█\n▀▄▄██ ███▄▄██▄ ▀\n ▄███▄█▄███▀▀██ \n█▄▄▀▀ ▀▀▀▄▄█ ▀ "], ["attack", " ▄▄▀▀▀▀█▀ \n █▄▀▄ ▀▄▀▄ \n █ ▀▀ ▄█▄███\n▄▄▄▄▄█▀▀█▀ ▄█▀██\n█▄▄ █▀▀▀▀██▀█▄ █\n ▀▄██▄█ ▄██▄ \n ▄▄██▀████ ▀██\n █▄▄▀ █▄▄█ ▀"], ["eat_1", " ▄▄▀▀▀▀▀█ \n █▄▀ ▄ ▀▄▀▄██▄\n █ ▀ ▀▄█▄█████\n ▀████▀█▀ █▀▀▀██\n ▄█▀▀▀▄█▄███▄ █\n█ ██▀█ ▀▄███▄ \n ▀███▀█████▀ ▀█ \n █▄▄▀ ▀▄▄█ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄▀█ ▄▀▄ ▄▄ \n ▄▀▀ ▄▀▄ ▄▀▄████\n █▄▄▄▄▄▄█▀██████\n ▄▀▄▄▄█▀ ▄█▄ ▀█\n ▄▀▀█ ██▀▀ ██▄ ▀\n ▀▄▄█▄██▄▄██▀██ \n █▄▄▀▀▀▀▄▄█ ▀ "], ["happy", " ▄▄▀▀▀▀▀█ \n █▄▀ ▄ ▀▄▀▄██▄\n █ ▀ ▀▄█▄█████\n ▀█▀▀▀▀█▀ █ ███\n▄▀██▄▄██▄█ ▄█▀ █\n▀▄███ █▀██████▄ \n ▄██▀████ ▀ ▀█ \n █▄▄▀ ▀▄▄█ "], ["injured_1", " \n ▄▄▀▀▀▀▀█ \n █▄▀▄ ▀▄▀ \n █ ▀▀ ▄█▄██▄ \n ▀█▀▀▀██▀▀█████ \n ▀▄██▀█▄▄██▀███▄\n █ ▀█ █▀ ▀█▄ ███\n █▄▄███▄▄▄█▀█ ▀▀"], ["injured_2", " \n ▄▄▄▄▄▄ \n ▄▀█ ▄▀▄ \n▄▀▀ █▄ ▄▀▄██▄ \n█▄▄▄▄▄▄█▀▀█████ \n ▀▄▄▄▀█▄▄██▀███▄\n █ ▀█ █▀ ▀█▄ ███\n █▄▄███▄▄▄█▀█ ▀▀"], ["sleep_1", " \n ▄▄▄▄▄▄ \n ▄▀█ ▄▀▄ ▄██▄\n▄▀▀ ▄▄ ▄█▄█████\n█▄▄▄▄▄▄█▀ █▀▀▀██\n ▀▄▄▄▀█▄▄███▄ █\n █ ▀█ █▀█▀ ▀██▄ \n █▄▄█████▄▄▄█▀█ "], ["sleep_2", " \n ▄▄▀▀▀▀▀█ \n █▄▀ ▀▄▀▄██▄\n █ ▀▀ ▄█▄█████\n ▀█▀▀▀██▀ █▀▀▀██\n ▀▄██▀█▄▄███▄ █\n █ ▀█ █▀█▀ ▀██▄ \n █▄▄█████▄▄▄█▀█ "], ["walk_1", " ▄▄▀▀▀▀▀█ \n █▄▀ ▄▄ ▀▄▀▄██▄\n █ ▀▀ ▄█▄█████\n ▀█▀▀▀██▀ █▀▀▀██\n ▀▄██▀█▄▄███▄ █\n ▄▀██ █▀█▀ ███▄ \n ▀▄██▀███▄▄▀ ▀█ \n █▄▄▀ ▀▄▄█ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▀█ ▄▀▄ ▄▄ \n ▄▀▀ ▄█▀ ▄▀▄████\n █▄▄▄▄▄▄█▀██████\n ▄▀▄▄▄█▀ ▄█▄ ▀█\n ▄▀██ ███▄ ▀█▄ ▀\n █▄██▄█▄██▄▄▀██ \n█▄▄▀▀ ▀▀▀▄▄█ ▀ "]]], + ["belphemon_rage_mode", [["angry", " \n ▄▀█▄█▀▀█ ▄ \n ▄█▀▀▀▄ █ ▄██▄ \n█▀ ▄█▀ █████▄\n█▀▀█▀ ▄▀ ▀██\n ▀▄▄▄▄ ▀ ▄ ██\n ▄▀▄ █▄█▄███\n █▄█▄██▀█▄█▄█▄█▀"], ["attack", " ▄▄▄▄██▄▀▀█ ▄█▄ \n█ ▄▄▀▄ ███▄\n▀████▄▀▀ ▀█████\n█▀█▀█▀ ▄ ▀█▀██\n▀█▄▄▄▄▀▀▀▄ █ █\n█ █ █ ▀▀ █ \n▀▄▄▄▄▀▄▄▄▄▄▄█▀▄ \n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["eat_1", " ▄▄▄▄██▄▀▀█ ▄█▄ \n█ ▄▄▀▄▄███▄\n▀▀███▄▀▀ ██████\n▄██▀█▀ █████\n█▄▄▄▄ ▄▀▀ ████\n▄█ █ █▄▀▄ ▄█▀██\n▀▄▀▀▄ ▀▀█▀ ▀▄ ▀\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄▄▄▄ ▄ \n █▄█▀▀▀ ▄▀ ███ \n▄▀▀ ▄▀▄ ▀▄█████\n█▄▄▄▄▄ ▀█████\n ▀▄ ▀ ▄ ▀███\n ▄▀█▀▀ █▄ ███\n█▄▄▀▄ ▀▄█▄▀▄▀█\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["happy", " ▄▄▀▀▀▀█▄▀▀█▄█▄ \n█ ▄▀▄ █▀███▄\n▀████▄ █ ▀▄███\n██▀ ▀▀ ▄▀ ▄███\n▀▄▀█▀ ▄▄█ ▀██\n ▀█ ▀▄ █\n ▄▀▀▄ ▄▀ █ \n█▄█▄▄█▀▀█▄█▄█▄█ "], ["injured_1", " ▄▄ ▄▄▄▄▄ \n █▄█▀▀▀ ▄▀ ▄█▄\n █▀ ▀▄▄ █▄███\n █▀▀▀█▀▄ █████\n ▀▄▄▄ ████\n ▄▀█ ▄▀ █▀█\n █ ▀▄▄▀▄ ▄▀▀▄ \n█▄█▄█▄▀█▄██▄▄█▄█"], ["injured_2", " \n ▄▀█▄██▀▀█ ▄ \n ▄▄▀▀▀ ▄ ▀▄ ███\n █▄▄▄▄▄ ▀▀ █████\n ▀▄ ▀ ▀ ▀████\n ▄▀█▀▀ ▄▀ ███\n █ ▀▄▄▀▄ ▄▀▀▄▀\n█▄█▄█▄▀█▄██▄▄█▄█"], ["sleep_1", " \n ▄▄▄ ▄▄▄ \n ▄▀▄▄ █▀█ ▄▄▀▄ \n █▄▀ ▀▀ ▀▀ ▀▄█ \n ▀█ █▀ \n▄██▄▀▀ ▄ ▀▀▄██▄ \n███▀██▀▀▀██▀███ \n▀ ▀▄█▄█▄▀ ▀ "], ["sleep_2", " \n ▄▀▀▀▄▄▄▀▀▀▄ \n █ █▀▄█ █▄▀█ █ \n ██ ██ \n ▄█ ▄▄ ▄▄ █▄ \n████▄▄▄█▄▄▄████ \n█▀▀ █▄▀▀▀▄█ ▀▀█ \n ▀▄█▄█▄▀ "], ["walk_1", " ▄▀█▄██▀▀█ ▄█▄ \n ▄█▀▀ ▄▄ █ ▄███▄\n█ ▀▀ ██████\n▀█▀▀█▀ ▀████\n ▄▀▄▄▄ ▄▀ ███\n█▄ █ █▄▀▄ ▄▀██\n▀▄▀▀▄ ▀█▀▀▀▄ ▀\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄▄▄ ▄ \n █▄█▀▀▀ ▄▀ ███ \n▄▀▀ ▄█▀ ▀▄█████\n█▄▄▄▄▄ ▀█████\n ▀▄ ▀ ▄ ▀███\n ▄▀█▀▀ █▄ ███\n█▄▄▀▄ █▄█▄█ ▀█\n █▄█▄███▄█▄█▄█ "]]], + ["belphemon_x", [["angry", " ▄ \n █▀▄▀█▄█▀▀█ ███ \n ▄█ ▀ ▄ █ ██▄▀█\n█ ▀▀ ███▀█▄\n▀█▀▀▀▀ ▄▄ ▀██▄▀\n▄▀▀█▀█▀█▀▄ ▄ ███\n██▀▀███▀█▄▀▀▀▄▀█\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["attack", " █▀▄▀█▄█▀▀█ ▄█▄ \n█▀▀ ▀ ▄ █ ▄█▀█▄\n█▄ ▄ ▄▀▀ ████▄▀\n ▄█████ ▄▄ ▀█▄▀█\n█▀█ ▀ ▀▄▀ ▀ ██▄\n█ ▀█████▄ ▄▀██\n █▀▀▄▀▀▄██▀▀▀▄ ▀\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["eat_1", " █▀▄▀█▄█▀▀█ ▄█▄ \n█▀▀ ▀ ▄▄ █ ▄█▀█▄\n█▄▄▄ ▀▀ ████▄▀\n ▄████ ▄ ▀█▄▀█\n █▀▀ ▀▄██▀ ██▄\n█▄▀█████▄▀▄ ▄▀██\n▀▄▀▀▄▀▀▄██▀▀▀▄ ▀\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄ ▄▄▄▄ ▄ \n ▀▄▀▄▀▀▀ ▄▀ ███ \n▄▀▀ ▄▀▄ ▀▄██▄▀█\n█▄▄▄▄▄ ▀██▀█▄\n ▀▄ ▀ ▄█▄ ▀█▄▀\n▄▀ █▄█▄█▀▄ ███\n██▀▀███▀█▄▀▀▀▄▀█\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["happy", " █▀▄▀█▄█▀▀█ ▄█▄ \n█▀▀ ▀ ▄ █ ▄█▀█▄\n▀▄▄▄▄▀ ▀ █▀ ▀▄▀\n█ ████ ▀ ▄▄█\n▀▄█▀ ▀ ▀▄ ▄▄███▄\n ▀█▄██▄██▄ ▄▀██\n ▄▀▀▄▀▀▄██▀▀ █ ▀\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["injured_1", " \n ▄▄ ▄▄ ▄▄▄▄ ▄ \n ▀▄▀▄▀▀▀ ▄▀ ███ \n▄▀▀ █▄ ▀▄██▄▀█\n█▄▄▄▄▄ ▀██▀█▄\n ▀▄ ▀ ▄█▄ ▀█▄▀\n▄▀█▀█▄▄██▀█▀▄███\n█▄▄▄▄███▄▄▄▄▄▀██"], ["injured_2", " \n ▄ \n █▀▄▀█▄█▀▀█ ███ \n ▄█ ▀ ▄ █ ██▄▀█\n█ ▀▀ ███▀█▄\n▀█▀▀█▀ ▄ ▀██▄▀\n▄▀█▀▄▄▄██▀█▀▄███\n█▄▄▄▄███▄▄▄▄▄▀██"], ["sleep_1", " \n \n █▀▄▀█▄█▀▀█ ▄█▄ \n ▄█ ▀ █ ▄█▀█▄\n█ ▀▀▀ ████▄▀\n▀█▀▀█▀ ▄ ▀█▄▀█\n ▄▀▄ ▄ █▀█ ██▄\n█▄▄██████▄██▀███"], ["sleep_2", " \n ▄▄ ▄▄ ▄▄▄▄ ▄ \n ▀▄▀▄▀▀▀ ▄▀ ███ \n▄▀▀ ▄▄▄ ▀▄██▄▀█\n█▄▄▄▄▄ ▀██▀█▄\n ▀▄ ▀ ▄█▄ ▀█▄▀\n▄▀ █▄█▄█▀▄ ▄███\n██████▄██▄██▄█▀▀"], ["walk_1", " █▀▄▀█▄█▀▀█ ▄█▄ \n ▄█ ▀ ▄▄ █ ▄█▀█▄\n█ ▀▀ ████▄▀\n▀█▀▀█▀ ▄ ▀█▄▀█\n ▄▀▄ ▄ ██▀ ██▄\n█▄ █████▄▀▄ ▄▀██\n▀▄▀▀▄▀▀▄██▀▀▀▄ ▀\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄ ▄▄▄▄ ▄ \n ▀▄▀▄▀▀▀ ▄▀ ███ \n▄▀▀ ▄█▀ ▀▄██▄▀█\n█▄▄▄▄▄ ▀██▀█▄\n ▀▄ ▀ ▄█▄ ▀█▄▀\n▄▀ █▄█▄█▀▄ ███\n██▀▀███▀█▄▀▀▀▄▀█\n█▄█▄▄█▀▀█▄█▄█▄█ "]]], + ["beowolfmon", [["angry", " ▄▄ ▄▄ \n ▄▀▀▀█▀█ █ \n █▀▀ ▀▀ ▀▄ \n █▀▀▀▀▀▄▄▄█▄ \n ▄█▀▄▀▀ ▄█▀ █ \n█ ▀▀█▀██▀▀█▀▀ █\n ▀▄▄▄█▀▀▀▀▄█▄▄▄▀\n █▄█▄█▀▀▀▀█▄█▄█ "], ["attack", " ▄██▄▄█▀▄ \n ▄▄█ ▄█ ▀▄▀ \n ▀▄▄▄▄▄▄ ▄▀▀▀▄ \n █ ▄▄▄ ▀█▄▄▀▀▄ \n▄▀█ ███ ▄██▀▀ █ \n█ ▄▀▄▄▄▀▀ ▀▄▄▀ \n▀█ ▀▄▄███▀▀▀▄█▄ \n ▀▄▄█▄█▄█▀█▄█▄█"], ["eat_1", " ▄▀▀█▀▀█▀▀█ \n █▀▀ ▀ ▀ ▀█ \n █▀▀▀▀▀▄▄▄▀ \n ▄▄█ ███ ██▀▀▀▄\n ▀▄█▄▀▀▀ ▄█▄▄▄▄█\n █ ▀ █▀▀▀ █ ▀ █\n ▀███▀▀▀▀█▀█▀▀ \n █▄█▄█▀▀█▄█▄█ "], ["eat_2", " ▄▄ ▄▄ \n ▄▀▀█▀▀█ █ \n █▀▀ ▀ ▀ ▀▄ \n █▀▀▀▀▀▄▄▄█▄ \n ██▄▀▀ ▄█▀ ▄▄█ \n █ ▀█▀██▀▀█▀ █\n ▀▄▄▄█▀▀▀▀▄█▄▄▄▀\n █▄█▄█▀▀▀▀█▄█▄█ "], ["happy", " ▄▀▀█▀▀█▀▀█ \n █▀▀ ▀ ▀ ▄▀▀▀▄ \n █▀▀▀▀▀▄█▄▄ █ \n ▄▄██████ ██ ██\n▄█▄██▀▀▀▀▄▀▄▀▀▄▀\n█ ██▀██ █▀▀ \n ▀▀█▄█▀▀▀▀██▄ \n █▄█▄█▀▀█▄█▄█ "], ["injured_1", " \n ▄▀▀▀▀▀█▀█ \n █▀▀ █▄▄ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄█▄ \n █▀▄ ▄█▀ █ \n ▄▀▀█▀██▀▀▄▄▄▀ \n █▄ █▀▀█▀ █▀▄\n █▄█▄█████▄▄▄█▄█"], ["injured_2", " \n ▄▄▄▄▄▄▄▄ \n ▄▄█ ▄ ▀▄▀ \n █ ▀▀▀ ▄█▄▄ \n ▄█▀▀▀▀▀▀█▀ █ \n ▀▄▀▀▄▄▄█▀▄▄▄▄▀ \n █▄ █▀▀█▀ █▀▄\n █▄█▄█████▄▄▄█▄█"], ["sleep_1", " \n ▄██▄▄█▀▄ \n ▄█ ▀▄▀ \n █ ▀▀ █ \n ▄▀█▀▀▀██▀▀▀▀▄ \n █▀▀█▀██▀▀▄▄▄▀█\n █▄▄▄█▀▀▀▀▄█ █\n █▄█▄█▀▀▀▀█▄███ "], ["sleep_2", " ▄▄ ▄▄ \n ▄▀▀▀▀▀█ █ \n ▄▀▀ ▄▄ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄█▄ \n █▀▄ ▄█▀ █ \n ▄▄▀▀█▀██▀▀██▀ █\n ▀▄▄▄█▀▀▀▀▄█▄▄▄▀\n █▄█▄█▀▀▀▀█▄█▄█ "], ["walk_1", " ▄██▄▄█▀▄ \n ▄▄█ ▄█ ▀▄▀ \n ▀▄▄▄▄▄▄ █ \n ▄█ ▄▄ ██▀▀▀▄ \n ▀▄█▄▄▄██▄▄▄▄▀ \n █▀ █ ▀▀ █▀▀ █ \n ▀▄▄█▀▀▀▀█▄▄▄▀ \n █▄█▄█▀▀█▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n ▄▀▀▀█▀█ █ \n █▀▀ ▀▀ ▀▄ \n █▀▀▀▀▀▄▄▄█▄ \n █▀▄▀▀ ▄█▀ █ \n ▄▄▀▀█▀██▀▀██▀ █\n ▀▄▄▄█▀▀▀▀▄█▄▄▄▀\n █▄█▄█▀▀▀▀█▄█▄█ "]]], + ["betamon", [["angry", " ▄▄▄▄▄ \n ▀▄ ▀▄ \n ▄▀▀▀▀▀▄▀▄ \n ▄▀▀ ▄█ ██▄ \n ▀█▀█▀█▄▄ ▀█▄▄\n █▀█▀█▀█ ▀▀▀▄█\n █▀▀▀▀▀▀▀▀▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["attack", " \n \n ▄▄▄▄▄ \n ▀▄ ▀▀▄ \n ▄▀▄▀▀▀▀▄█▄ \n ▄▀▄ ▄▀ ▀▀ ▄█▀█\n █ ▄▄▄ ▀ █▀\n██▄▄▄▄█▄▄▄▄██▄▄█"], ["eat_1", " \n \n █▀▀▀▀▄▄ \n █ ▄▄▄▄▀▄ \n ▄▀ ▀ ▄█▀▀▄▄▄\n █ █ █ ▀ ▄▀▀▄█\n █ ▄ ▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["eat_2", " ▄▄▄▄▄ \n ▀▄ ▀▄ \n ▄▀▀▀▀▀▄▀▄ \n ▄▀▀ ▀▀ ▄██▄ \n ▀█▀███▄ ▀█▄▄\n █ ████ ▀▀▀▄█\n █▀▀▀▀▀▀▀ ▄ ▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["happy", " ▄▄▄▄▄ \n ▀▄ ▀▄ \n ▄▀▀▀▀▀▄▀▄ \n ▄▀▀ ▀▀ ▄██▄ \n ▀█▀███▄ ▀█▄▄\n █ ████ ▀▀▀▄█\n █▀▀▀▀▀▀▀ ▄ ▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["injured_1", " \n \n █▀▀▀▀▄▄ \n █ ▄▄▄▄▀▄ \n ▄▀ ▀ ▄█▀▀▄▄▄\n █▄▄ ▄▄ ▀ ▄▀▀▄█\n █ ▄ ▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["injured_2", " \n \n ▄▄▄▄▄ \n ▀▄ ▀▀▄ \n ▄▀▄▀▀▀▀▄█▄ \n ▄▀ ▄▀▀ ▄█▀█\n █▀▀ ▀▀ ▀ █▀\n██▄▄▄▄█▄▄▄▄██▄▄█"], ["refuse", " \n \n █▀▀▀▀▄▄ \n █ ▄▄▄▄▀▄ \n ▄▀▀ ▄██▀▀▄▄▄\n █ ▄▄ ▀ ▄▀▀▄█\n █ ▄ ▄ ▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["sleep_1", " \n \n █▀▀▀▀▄▄ \n █ ▄▄▄▄▀▄ \n ▄▀ ▀ ▄█▀▀▄▄▄\n █▄▄ ▄▄ ▀ ▄▀▀▄█\n █ ▄ ▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["sleep_2", " \n \n ▄▄▄▄▄ \n ▀▄ ▀▀▄ \n ▄▀▄▀▀▀▀▄█▄ \n ▄▀ ▄▀▀ ▄█▀█\n █▄▄ ▄▄ ▀ █▀\n██▄▄▄▄▄▄▄▄▄██▄▄█"], ["walk_1", " \n \n █▀▀▀▀▄▄ \n █ ▄▄▄▄▀▄ \n ▄▀ ▀ ▄█▀▀▄▄▄\n █ █ █ ▀ ▄▀▀▄█\n █ ▄ ▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["walk_2", " \n \n ▄▄▄▄▄ \n ▀▄ ▀▀▄ \n ▄▀▄▀▀▀▀▄█▄ \n ▄▀▄ ▄ ▄▀▀ ▄█▀█\n █ ▀ ▀ ▀ █▀\n██▄▄▄▄█▄▄▄▄██▄▄█"]]], + ["bibimon", [["angry", " \n ▄▀█ \n ▄▀▄▀ ▀▄ \n ▀▄ ▄█▄▄▄ \n ▄▀▀▄▀ ▀▀█ \n █ █▄ \n █ █▄ ▄█ ▄▀ \n █▄▄▄▄▄▄▄▄█▀ "], ["attack", " ▄▀▄▀▀▀█ \n ▄█ ▀ ▄█▀█▄▄ \n ▄▀ ▀▄▀ ▄▀ \n █ █▄ ▄█ ▀█ \n █ ▄▄▄▄ ▄▀ \n █ ██████ █ \n █ ▀▀▀▀▀▀ █ \n █▄▀▀▀▀▄▄█▀ "], ["eat_1", " ▄▀▄▀▀▀█ \n █ ▀ ▄██▄ \n ▄▀▀▄▀ ▀▀█ \n █ ▄ ▄ █▄ \n █ ▀ ▀ ▄▀ \n █ ▀█████ █ \n █ ▀▀▀▀ █ \n █▄▀▀▄▄█▄▀ "], ["eat_2", " ▄▄ \n ▄ ▄▀▄▀ \n █ ▀ ▄▀ \n █▄ █▀▀▀▀▄▄▄ \n ▄▀ ▀ ▄▀ \n █▄▀▄ ▄▀▄ ▀█ \n ▀▄ █ \n █▄▀▀▄▄█▄▀ "], ["happy", " ▄▀▄▀▀▀█ \n █ ▀ ▄██▄ \n ▄▀▀▄▀ ▀▀█ \n █ ▄ ▄ █▄ \n █▀ ▀ ▀ ▀ ▄▀ \n █ ▀█████ █ \n █ ▀▀▀▀ █ \n █▄▀▀▄▄█▄▀ "], ["injured_1", " \n ▄▄ \n ▄ ▄▀▄▀ \n █ ▀ ▄▀ \n ▄█▄ █▀▀▀▄▄▄ \n ▄▀ ▀ ▄█ \n █ ▄█ █▄ ▄▀ \n █▄▄▄▄▄▄▄▄▄▄█▄█ "], ["injured_2", " \n \n \n ▄▀▄▀▀▀█ \n █ ▀ ▄██ \n ▄▀▀▀▄▀ ▀▀█ \n █ ▄█ █▄ ▀█ \n █▄▄▄▄▄▄▄▄▄▄█▄█ "], ["sleep_1", " \n ▄▄ \n ▄ ▄▀▄▀ \n █ ▀ ▄▀ \n █▄ █▀▀▀▀▄▄▄ \n ▄▀ ▀ ▄█ \n █ ▄▄ ▄▄ ▄▀ \n ▀█▄▄▄▄▄▄▄▄█▀ "], ["sleep_2", " \n ▄▀█ \n ▄▀▄▀ ▀▄ \n ▀▄ ▄█▄▄▄ \n ▄▀▀▄▀ ▀▀█ \n █ █▄ \n █ ▀▀ ▀▀ ▄▀ \n █▄▄▄▄▄▄▄▄█▀ "], ["walk_1", " ▄▄ \n ▄ ▄▀▄▀ \n █ ▀ ▄▀ \n █▄ █▀▀▀▀▄▄▄ \n ▄▀ ▀ ▄▀ \n █ █ █ ▀█ \n ▀▄ ▀▀ █ \n █▄▀▀▄▄█▄▀ "], ["walk_2", " \n ▄▀█ \n ▄▀▄▀ ▀▄ \n ▀▄ ▄█▄▄▄ \n ▄▀▀▄▀ ▀▀█ \n █ ▄ ▄ █▄ \n █ ▀ ▄▄ ▀ ▄▀ \n █▄▄▄▄▄▄▄▄█▀ "]]], + ["bigmamemon", [["angry", " \n ▄▄ ▄▄▄▄ ▄▄ \n ▀▀▄██████▄▀▀ \n ▄█▀▀▀▀█████▄ \n ██▄▄▄▄██████ \n ▀▀▀▀▀▀██████ \n ▄▄▄▄█████▀ \n ████▀▀▀▀▀▀████ "], ["attack", " ██ ▄▄████▄ ▄▄ \n ▄█████▀ █▄▀▀ \n █▀ █▀▀███ \n ▀███ \n ███ \n █▄ █▄ ███ \n █████████▀ \n███ ████"], ["eat_1", " ██ \n ▄████████▄ \n ███████████ ██\n ▀▀███ ██ \n ▀█████ \n ▀████ \n ████████▀ \n████ ████"], ["eat_2", " \n \n \n ▄████▄ ██ \n ▄████████▄ \n ▄█▀ ▀█████▄ \n ▄██▄███▄█████ \n████████████████"], ["happy", "██ ▄████▄ ██\n██ ▄████████▄ ██\n ██ ████ ██ \n ████ ████ \n ████ ████ \n ████ ████ \n ▀████████▀ \n████ ████"], ["injured_1", " \n \n ▄████▄ \n ▄████████▄ \n ▄███████ ▀▀▄ \n ▄█▀▀ ████████▄ \n▀▀████████▀▀██▀▀\n ██████████████ "], ["injured_2", " \n \n \n ▄▄██▄▄ \n ▄██████▀█▄ \n ███▀████▄▄▄█ \n▄██▄▄▄█████████▄\n ████████▄▄▄███ "], ["sleep_1", " \n \n \n \n ▄████▄ \n ▄████████████▄ \n████████████████\n██▄▄▄▄████▄▄▄▄██"], ["sleep_2", " \n \n \n ▄████▄ \n ▄▄██████████▄▄ \n████████████████\n██ ████ ██\n████████████████"], ["walk_1", " \n ▄████▄ \n██ ▄████████▄ ██\n ██ ████ ██ \n ████████████ \n ████ ████ \n ▀████████▀ \n████ ████"], ["walk_2", " \n \n ▄████▄ \n ▄████████▄ \n ██ ████████ \n██████████ ████\n ██ ██████ \n████████████████"]]], + ["birdramon", [["angry", " \n \n \n ▄▄▀▀▀▀█▀ \n ▄▄▀ ▄ ▀█▄▀▀▀▄ \n█▄▄█ ▀ ▄█ ▄█\n ▀▄▄█▄▄▄ █▄▄▀▀▄▀\n ▀▄▄▄▄▄▀▀ "], ["attack", " ▀█▀█▄▄▄▄█▄ \n ▄▀▀ ▄ ▄█ ▀▄ \n▄▀▀▀▄ ▀▀ █ ▀▄\n▀█████▄ █ █\n ███▀▀█ ▄▀ ▄▀█▄\n ▄██▄▄▄█ ▀▀ █\n ▀▄▄▄█▄▄▀ ▄▀\n ▀▄▄▄▄▄▀▀ "], ["eat_1", " ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▀ \n▄▀▀▄ █▀ █ \n▀▀▀▀▀▄ █▀▀▄▄ \n █ █ █\n █▀▀█▀▀ █ ▄▀\n ▀▀▀▀▀▀█ ▄▀ \n █▄▄▀▀ "], ["eat_2", " ▀█▀▀▄ █▄ \n ▀▄ █ ▄▀ ▀▄ \n █ █▀ ▀▄\n ▄▄▀▀▀█ █\n ▄▄▀ ▄ ▀▄ ▄▄▀█▄\n█▄▄█ ▀ ▀ █ ▀▀ █\n ▀▄▄█▄▄▄ ▄▀\n ▀▄▄▄▄▄▀▀ "], ["happy", " ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▀ \n▄▀▀▄ █▀█ █ \n▀▀▀▀▀▄ █▀▀▄▄ \n █ █ █\n █▀▀█▀▀ █ ▄▀\n ▀▀▀▀▀▀█ ▄▀ \n █▄▄▀▀ "], ["injured_1", " \n \n \n ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▀▀▀▀▄ \n▄▀▀▄ ▀▄ █ █\n▀█▀▀▄ ▄▀ █\n ▀▀▀▀▀▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n \n \n ▄▄▀▀▀█▀▀▀▀▄ \n ▄▄▀ ▄ ▀█ █\n█▄▄█ ▀▄▀ █\n ▀▄▄█▄█▄▄▄▄▄▄▄▀ "], ["sleep_1", " \n \n \n ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▀▀▀▀▄ \n▄▀▀▄ ▄▄ █ █\n▀█▀▀▄ ▄▀ █\n ▀▀▀▀▀▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n \n ▄▄▀▀▀▀▀█ \n ▄▄▀ ▀█▀▀▀▀▄ \n█▄▄█ ▀▀ █ █\n ▀▄▄█▄▄▄▀ █\n ▀▄▄▄▄▄▄▄▀ "], ["walk_1", " ▀█▀▀▄ █▄ \n ▀▄ █ ▄▀ ▀▄ \n █ █▀ ▀▄\n ▄▄▀▀▀█ █\n ▄▄▀ ▄▄ ▀▄ ▄▄▀█▄\n█▄▄█ ▀ ▄▀ ▀▀ █\n ▀▄▄█▄▄▄ ▄▀\n ▀▄▄▄▄▄▀▀ "], ["walk_2", " \n ▄▄▀▀▀▀█▀ \n ▄▄▀ ▄▄ ▀█▄▄▄ \n█▄▄█ ▀ ▄█ ▀▀▄\n ▀▄▄█▄▄▄ █ █\n ▀▄▄▀ █ \n █ ▄▄▀ \n ▀▀▀ "]]], + ["biyomon", [["angry", " \n ▄▀▀▀▀▀▄▄▄▀▄ \n ▀▄▄▀ ▄ ▄▄▀ \n █▄▄▀▀ ▄█▄▀▀▄ \n █ █ ▀ █ \n ▀▄▄▀ ▀▄▄▄▀█ \n █▄▄▄▄▄▄▄▄▀ \n █▄█▄█ █▄█▄█ "], ["attack", " ▄▀▀▀▀▀▄▄▄▀▄ \n ▀▄▄▀ ▄ ▄█▄▀▀█\n▄▀ ▀▄ ▀ ▄▀ ▀▄\n▀▄███▄█▄ ▀ ▀▄\n█ ▀█████ █ \n▀▄ ▀▄▄▄▀ ▄▀█▀▄\n ▀▀▄█▄ █ ▀ ▀█\n █▄█▄█▀▀▀▀▄▄▄▀ "], ["eat_1", " ▄▀▀▀▀▀▄▄▄▀▄ \n █▄▄▀ ▄ ▄▄▀ \n█ ▄█▄ ▀ ▄█▄▀▀▄ \n▀██████ █ █ \n ▄▀▀▀▀▄ ▄ ▄▀ \n ▀█▀▀▀ ▀▀▀ █ \n █▄▄▄▄▄▄▄▄▀ \n █▄█▄█ █▄█▄█ "], ["eat_2", " \n ▄▀▀▀▀▀▄▄▄▀▄ \n ▀▄▄▀ ▄ ▄▄▀ \n █▄▄▀ ▀ ▄█▄▀▀▄ \n █ █ ▀ █ \n ▀▄▄▀ ▀▄▄▄▀█ \n █▄▄▄▄▄▄▄▄▀ \n █▄█▄█ █▄█▄█ "], ["happy", " ▄▀▀▀▀▀▄▄▄▀▄ \n ▀▄▄▀ ▄ ▄▄▀ \n ▄█▄▄▀ ▀ ▄▀ ▄▄▄\n█ ▄▄█▄ ▄▀▄▀▀ █\n▄▀▀████ ▄▀\n▀▄ ▀▄▄▄▀ ▀▄▄▀█ \n ▀▀█▄▄ ▄▄█ \n █▄▄▄█▀▀█▄█▄█ "], ["injured_1", " █▀▄ \n ▄▀▀▀▀▀▀ ▄▀ \n █ ▄ ▀█ \n █ █ █▄ ▄▀▄ \n ▄▀▀▀▄ ▄▀ ▀▄ \n█▀█ ▄▀ ▄▀█▀█▀▄\n█▀ ▀█▀ █ ▄ █\n█▄▄▄▄█▄▄▄▄█▄▄▄▀ "], ["injured_2", " ▄▄ \n ▄▄▄▄▄▄▀ █ \n ▄▀ ▄█ \n █ ▀▄ █ \n ▀▄▄█ ▀▀ █ ▀▀▄ \n██ █ ▄▀█▀█▀▄\n█▀▄▄█ █ ▄ █\n█▄▄▄▄█▄▄▄▄█▄▄▄▀ "], ["sleep_1", " \n \n ▄▄▄▄▄ ▄ \n█ ▄ ▀▀▀ █ \n █▀ ▄▄ ▀█▀▀▀▄▄ \n▄▀▀▀▄ ▀ █\n█ ▄▀ ▀▄ █\n ▀▀▄▄▄▄▄▄▄▄█▄▄▀ "], ["sleep_2", " \n \n ▄▀▀▀▀▀▄▄▄▀▄ \n ▀▄▄▀ ▄▄▀ \n █▄▄ ▀▀ ▄█▄▄ \n █ █ ▀ ▀▄ \n ▀▄▄▀ █ █\n ▀▄▄▄▄▄▄█▄▄▄▄▀"], ["walk_1", " ▄▄▄▄▄ ▄ \n █ ▄ ▀▀▀ █ \n █▀ █ ▀█ \n ▄▀▀▀▄ █▄▄▀▀▄ \n █ ▄▀ ▀ █ \n ▀█ ▀▄▄▄▀█ \n █▄▄▄▄▄▄▄▄▀ \n █▄█▄█ █▄█▄█ "], ["walk_2", " \n ▄▀▀▀▀▀▄▄▄▀▄ \n▄▀▄▄▀ ▄ ▄▄▀▄▀▀▄\n█ █▄▄ ▀ ▄▀▀ ▀█\n █ █ ▄▀ ▀█\n ▀▄▄▀ ▀▄▄▄▀ \n █▄▄ ▄▄▄▀ \n █▄█▄█▀▀▀█▄█▄█ "]]], + ["blackwargreymon_x", [["angry", " ▄▄ ▄ \n█ ▀▄▄▀▀▀▀█▀▀ █ \n▀▄▀ ▄▄█ ▀▀▀█▀ \n ▀▄█▄▄ ▄▄▄▀████ \n ▀▄▄█▄████▄▄▀██\n▄▄▀█▄▀▀▄███▀▄▀█▀\n▀▄▄█▄██▄████▄█▄ \n█▄██▀▄▄▀▀████▄▄█"], ["attack", " ▄▀█ ▄▄▄▄▄▄▄▀▄ \n █ ▄▀ ▄ █▄▄▄█ \n █ ▄▀▀▀▄▄▄▄▀ \n▄▀▀█▀▀▀█▀▄▄██▄ \n▄▀▀█▄███▀▀▄██▀ \n ▀▀█▀██▀████ \n ███▀▀██████▄ \n █▄▄██▀▀████▄▄█ "], ["eat_1", "▄▀█ ▄▄▄▄▄▄▄▀▄ \n█ ▄▀▀ ▄ █▄▄▄█ \n █ ▄ ▀ ▀ ▄▄█▄▄ \n █████ ██▄▀▀█▀ \n▄▀█▀▀▀▀▄████▀██ \n▀▄█▀███▀██▀▄▀█▀ \n ▄██▀▀████▄█▄ \n █▄▄██▀▀████▄▄█ "], ["eat_2", " ▄▄ ▄ \n█ ▀▄▄▀▀▀▀█▀▀ █ \n▀▄▀ ▄▀▄ ▀▀▀█▀ \n ▀▄█▄▄ ▄▄▄▀████ \n ▀▄▄█▄████▄▄█▄ \n ▄▀█▄▀▀▄███▀▄██ \n▀▄██ ▀█▄██▄▀▄█▄ \n█▄▄██▀▀██████▄▄█"], ["happy", "▄▀█ ▄▄▄▄▄▄▄▀▄ \n█ ▄▀▀ ▄ █▄▄▄█▄ \n █ ▄ ▀ ▀ ▄█ █ █\n █▀▀█ █████▀▀█▀\n █▀██▀████▄▀ \n ▄▀█▀▄▄▀████ \n ▀███▀▀██████▄ \n █▄▄██▀▀████▄▄█ "], ["injured_1", " \n▄▀█ ▄▄▄▄▄▄▄▀▄ \n█ ▄▀▀▄ █▄▄▄█ \n █ ▄ ▀▀ ▄▄█▄▄ \n █▀▀█ ███▄▀▀█▀ \n ██▀▀████▀██ \n ▄██▄██▄██▄█▄█▀▄\n█▄██▄▄████▄▄██▄█"], ["injured_2", " \n ▄▄ ▄ \n█ ▀▄▄▀▀▀▀█▀▀ █ \n▀▄▀ █▄ ▀▀▀█▀ \n ▀▄█▄▄ ▄▄▄▀████ \n ▀▄▄█▄██▀▄▄▄█ \n ▄██▀▄▄▀▄▀▄███▀▄\n█▄████████▄▄██▄█"], ["sleep_1", " \n ▄▄ ▄ \n█ ▀▄▄▀▀▀▀█▀▀ █ \n▀▄▀ ▄▄▄ ▀▀▀█▀ \n █▄█▄▄ ▄▄▄▀████ \n █▄▄█▄█▀██▄▄███\n █ ▀▄▄▄██▀ ▀█▀\n █▄▄▄█▄▄██▄▄▄▄█ "], ["sleep_2", " \n ▄▀█ ▄▄▄▄▄▄▄▀▄ \n █ ▄▀▀ █▄▄▄█ \n █ ▄ ▀▀▀ ▄▄█▄▄\n ▄█▀▀█ ███▄▀▀█▀\n █▄███▀▀▄████▀██\n █ ▀▄██▄█▀ ▀█▀\n █▄▄▄█▄▄██▄▄▄▄█ "], ["walk_1", "▄▀█ ▄▄▄▄▄▄▄▀▄ \n█ ▄▀▀▄▄▄ █▄▄▄█ \n █ ▄▀▀▀ ▄▄█▄▄ \n █▀▀█ ███▄▀▀█▀ \n ▄█▀██▀███▀███ \n █ █▀▄▄▀█▀▄▀██▀ \n ███▀▀███▄██▄ \n █▄███▀▀████▄▄█ "], ["walk_2", " ▄▄ ▄ \n█ ▀▄▄▀▀▀▀█▀▀ █ \n▀▄▀ ▄██▀ ▀▀▀█▀ \n ▀▄█▄▄ ▄▄▄▀████ \n █▄▄█▄████▄ ▄█ \n █ █▄▀▀▄██▀▄▀██ \n ▄██▄██▄███▄██▄ \n█▄██▄▄█▀▀███▄█▄█"]]], + ["blitzgreymon", [["angry", " ▄▄ ▄▄ \n █▀▄▄▀▀▀▀██ █▄▄ \n ▀▄▀ ▄▀ █▄▄▄▀ █\n ▀█▀▀▀▀▄█ ▀▀▄ █\n ▄▄█▀▀█▄██▀▀█ █\n █ █▄▀▀▄█ █▄█\n ▄█▀█▄▄█▄████▀██\n█▄█▄▄█ ██▄█▄█ "], ["attack", " ▄▄ ▄▄██▄▄▀█ \n █ █▀ ▄▄▀▀ █▀▀▄\n █▄▄▄█▄▀▀██ █\n █████▀█ ▀▀▄ █\n ▄█▄▄▄▀▄██▀▀█ █\n █▄██ ██ ███\n ▄█ ▀█▀▀▄████▀▀▀\n█▄█▄▄█ ██▄█▄█ "], ["eat_1", " ▄▄ ▄▄██▄▄▀█ \n █ █▀ ▄▄▀▀ █▀▀▄\n █▄▄▄█▄▀█▀█▄ █\n █████▀█▄▄▄█ █\n ▄█▄▄▄▀█▀▀ █ █\n █▄██ █▀▄▄▄▄███\n ▄█ ▀█▀▀██▄▄█ ▀▀\n█▄█▄▄█ ██▄█▄█ "], ["eat_2", " ▄▄ ▄▄ \n █▀▄▄▀▀▀▀██ █▄▄ \n ▀▄▀ ▄▀█▄▄▄▀ █\n ▀█▀▀▀▀▄█ ▀▀▄ █\n ▄▄█▀▀█▄██▀▀█ █\n █ █▄▀▀▄█ █▄█\n ▄█▀█▄▄█▄████▀██\n█▄█▄▄█ ██▄█▄█ "], ["happy", " ▄▄ ▄▄██▄▄▀█ \n █ █▀ ▄ ▄▀▀ █▄▄ \n █ ▀ ▀▀██▀ █\n ▀█▀▀▀▀▄█ ▀▀▄ █\n ▄▄█▀▀█▄██▀▀█ █\n █▄█▄▀▀██ █▄█\n ▄█▀█▄▄█▄███████\n█▄█▄▄█ ██▄█▄█ "], ["injured_1", " ▄▄ ▄▄ \n █▀▄▄▀▀▀▀██ █▄▄ \n ▀▄▀ ▀▀ █▄▄▄▀ █\n ▀█▀▀▀▀▄█ ▀▀▄ █\n ▄█▀▀█ ██▀▀█ █\n ▄█▄▀▀▄▀▄█ █▄█\n ▄█▀█▄▄█▄█ █▀██\n█▄█▄▄█ ████▄█ "], ["injured_2", " \n ▄▄ ▄▄██▄▄▀█ \n █ █▀▄▄ ▄▀▀ █▀▀▄\n █▄▄▄▄▄▀█▀█▄ █\n ▀▄▄▄▄▀█▄▄▄█ █\n ▄█▀▄▄▀▄▀█ █ █\n ▄█▀█▄▄█▄█ █▀██\n█▄█▄▄█ ████▄█ "], ["sleep_1", " \n ▄▄ ▄▄██▄▄▀█ \n █ █▀ ▄▄▄▀▀ █▀▀▄\n █▄▄▄▄▄▀█▀█▄ █\n ▀▄▄▄▄▀█▄▄▄█ █\n ▄▀█▀▄▄▀▄▀▀ █ █\n ██▀█▄▄█▀▄▄▄▄▀██\n█▄█▄▄█ ██▄█▄█▀▀"], ["sleep_2", " ▄▄ ▄▄ \n █▀▄▄▀▀▀▀██ █▄▄ \n ▀▄▀ ▀▀█▄▄▄▀ █\n ▀█▀▀▀▀▄█ ▀▀▄ █\n ▄▄█▀▀█▄██▀▀█ █\n █ █▄▀▀▄█ █▄█\n ▄█▀█▄▄█▄████▀██\n█▄█▄▄█ ██▄█▄█ "], ["walk_1", " ▄▄ ▄▄██▄▄▀█ \n █ █▀ ▄▄▀▀ █▀▀▄\n █▄▄▄█▄▀█▀█▄ █\n ▀▄▄▄▄▀█▄▄▄█ █\n ▄▀█▀▄▄▀█▀▀ █ █\n ▀▄██ █▀▄▄▄▄███\n ▄█ ▀█▀▀██▄▄█ ▀▀\n█▄█▄▄█ ██▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n █▀▄▄▀▀▀▀██ █▄▄ \n ▀▄▀ ▄▀█▄▄▄▀ █\n ▀█▀▀▀▀▄█ ▀▀▄ █\n ▄▄█▀▀█▄██▀▀█ █\n █ █▄▀▀▄█ █▄█\n ▄█▀█▄▄█▄███████\n█▄█▄▄█ ██▄█▄█ "]]], + ["blossomon", [["angry", " \n ▄▄▄▀▀▀▄▄▄ \n ▄▀ █▄▄▄█ ▀▄ \n ▀▄▄█ ▄█▄▄▀ \n ▄▀ █▀▀ ▀▀ █ ▀▄\n ▀▄▄█ ▄▀▀▄▄ █▄▄▀\n ▀▄▄▄▀▄▄▄▄▄▀▄▄▄▀\n █▄▄▄▄▀▄▄▄▀▄▄▄▄█"], ["attack", " ▄▄▄▀▀▀▄▄▄ \n ▄▀ ▄▀▀▀▀█▄ ▀▄ \n ▀▄█▀▀ ▀▀ █▄▀ \n▄▀ ▀█▄██▄█ █ ▀▄ \n▀▄▄▄██████ █▄▄▀ \n█ ▄▀█▀██▀█ █▄ █ \n █▀▄ ▄█ █ \n█▄▄███▀▀▀█▄█▄▄█ "], ["eat_1", " ▄▄▄▀▀▀▄▄▄ \n ▄▀ ▄▀▀▀▀█▄ ▀▄ \n ▀▄█▀▀ ▀▀ █▄▀ \n▄▀ ██▄██▄███ ▀▄ \n▀▄▄█████████▄▄▀ \n█ ▄█▀▄▀ ▀██▄ █ \n █ ▀▀ ▄██ █ \n█▄█▄▄▄▄▄▀██▄▄▄█ "], ["eat_2", " \n ▄▄▄▀▀▀▄▄▄ \n ▄▀ █▄▄▄█ ▀▄ \n ▀▄▄▀▄ ▄▀▄▄▀ \n▄▀ █▀ ▀ ▀ ▀█ ▀▄ \n▀▄▄█▀▀▄▀▄▀▀█▄▄▀ \n█ ▄▀▀▄▄▄▄▄▀▀▄ █ \n█▄█▄▄▀▄▄▄▀▄▄█▄█ "], ["happy", " ▄▀▀▀▄▀▀▀▄▀▀▀▄ \n▄▀▄ ▄▀▀▀▀▀▄ ▄▀▄ \n█ █▀▄ ▄▀▄ █ █ \n █▄█▄▄▄▄▄▄██▄█ \n█ ▄█████████▄ █ \n▀▄ ▀▄▀▀▀▀▀▄▀ ▄▀ \n█ ▀▄▄█▀▀▀█▄▄▀ █ \n ▀█▄▄▄▀▀▀▄▄▄█▀ "], ["injured_1", " \n ▄▄▄ \n ▄▀▀█▄▄▄█▀▀▄ \n █ ▄▀ ▀▄ █ \n ▄▀█ ▄ ▄ █▀▄ \n█ █▀▀▀ ▀▀▀█ █ \n▀▄▀ ▀▄▄▄▄▄▀ ▀▄▀ \n ▀▄▄▄▀▄▄▄▀▄▄▄▀ "], ["injured_2", " \n \n ▄▄▄ \n ▄▀▀▀█▄▄▄█▀▀▀▄ \n ▀▄▄▀ ▀▄▄▀ \n▄▀ █ ▄ ▄ █ ▀▄ \n█ ▄█▀▀▀ ▀▀▀█▄ █ \n █▄▄▀▄▄▄▄▄▀▄▄█ "], ["sleep_1", " \n ▄▄▄▀▀▀▄▄▄ \n ▄▀ ▄▀▀▀▀▀▄ ▀▄ \n ▀▄█ █▄▀ \n▄▀ █▀▀ ▀▀█ ▀▄ \n█ ▄▀█▀▄▀▄▀█▀▄ █ \n █ ▄▀▀▀▀▀▄ █ \n█▄██▄█▀▀▀█▄██▄█ "], ["sleep_2", " \n ▄▄▄ ▄▄▄ ▄▄▄ \n █ █▄▄▄█ █ \n ▄█▄▀ ▀▄█▄ \n█ █▄▄ ▄▄█ █ \n▀▄▄█▄▄ ▄ ▄▄█▄▄▀ \n▄▀ ▀▄█▄█▄▀ ▀▄ \n██▄▄█▄▄▄▄▄█▄▄██ "], ["walk_1", " ▄▄▄▀▀▀▄▄▄ \n ▄▀ █▄▄▄█ ▀▄ \n ▀▄▄█ ▄█▄▄▀ \n▄▀ █▀▀ ▀▀ █ ▀▄ \n▀▄▄█▀▀▄▀▄▀▀█▄▄▀ \n█ ▄▄█▄▄▄▄▄▀▄▄ █ \n █ ▄▀▄▀ ▀▄▀▄ █ \n█▄▄█▄█▀▀▀█▄█▄▄█ "], ["walk_2", " ▄▄▄ \n ▄▀▀▀█ █▀▀▀▄ \n ▀▄ ▄▀▀▀▀▀▄ ▄▀ \n▄▀▀██▄ ▄█▀█ ▀▄ \n▀▄ █▄▄ ▄ ▄▄█ ▄▀ \n▄▄▀█▄ ▀ ▀ ▄█▀▀▄ \n█ █ █▀█▀█ █ █\n█▄█▄█▄▄▄▄▄█▄█▄▄█"]]], + ["boltboutamon", [["angry", " ▄ ▄▄▄▄ ▄▄ \n █▄▀▀▄▄▄ ▀▄▄▀▄ \n ▀██▀▀▀▀▀█▀ ▀▀ \n █ ▄█ █ ▄ \n ▄█▄ ▄███▄█ \n █ █ ███▀▄█ █ \n █▀▀▄▀▄▀▄█████▄\n █▄██▀▀▀██▄▄███▀"], ["attack", " ▄▀▄▄▀▀▀▀▄▀▀▄ \n ██▄▄███▄▄█▀▄█ \n █▀ ▄ █▄▄ \n █ ▀▀ ▄▀▄▄█ \n ▀▄▄▄█▀██▄▀█▄\n▄▀▀▀▀▀▀█ █ ▄██\n ▀▀█▀▀██▄ ███▀██\n █▄██▀▀▀█▄▄█ ▀"], ["eat_1", " ▄▀▄▄▀▀▀▀▄▀▀▄ \n ██▄▄███▄▄█▀▄█ \n █▀ ▄▀▄ █▄▄▄ \n █▄▄▄▄▄ █ █ \n▄▀▀██▀▀▀▄██▀ ▄▀ \n▀▄▄▀█▀█▀█▀▀████▄\n █ ▀▄▀ ▄██████\n █▄██▀▀█▄▄█ █▀ "], ["eat_2", " ▄ ▄▄▄▄ ▄▄ \n █▄▀▀▄▄▄ ▀▄▄▀▄ \n ▀██▀▀▀▀▀█▀ ▀▀ \n █ ▄▀▄ █ ▄ \n ▄▀▄ ▄█▄▀ █ \n▄▀▀█ ███▀▄▀▀▀▄ \n▀▄▄▀▀▄▀▄▀█▄▄▄██▄\n █▄██▀▀▀██▄▄███▀"], ["happy", " ▄▀▄▄▀▀▀▀▄▀▀▄ \n ██▄▄███▄▄█▀▄█ \n ▄▄█▀ ▄▀▄ █▀▀▀▄ \n█ █▄▄▄▄▄ █▄ █ \n ▀▄██▀▀▀▀▄█▄▄█▀ \n ██▀█▀█▀▀████▄\n ▄▀▀▄▀ ▄██████\n █▄██▀▀█▄▄█ █▀ "], ["injured_1", " \n ▄▀▄▄▀▀▀▀▄▀▀▄ \n ██▄▄███▄▄█▀▄█ \n █▀ ▄ █ \n █ ▀▀▄█▄▀▄ \n ▀▄▀▄▄▄█▀█▄▄█▄ \n ▄▀▄▀█▀▄█▀ ████ \n█▄▄▄█▄███▄▄▄███▄"], ["injured_2", " \n ▄ ▄▄▄▄ ▄▄ \n █▄▀▀▄▄▄ ▀▄▄▀▄ \n ▀██▀▀▀▀▀█▀ ▀▀ \n █ █▄ █ ▄ \n ▄▀▄ ▄██▀ █▄ \n ▄▀▄▀██▀▄▀▀████ \n█▄▄▄█▄▄██▄▄▄███▄"], ["sleep_1", " \n ▄ ▄▄▄▄ ▄▄ \n █▄▀▀▄▄▄ ▀▄▄▀▄ \n ▀██▀▀▀▀▀█▀ ▀▀ \n █ ▄▄▄ █ ▄ \n ▄▀▄ ▄██▀▄█ \n █ ▀██▀▄█▀ ▀█▄ \n▄██▄▄█▄█▄█▄▄▄███"], ["sleep_2", " \n ▄▀▄▄▀▀▀▀▄▀▀▄ \n ██▄▄███▄▄█▀▄█ \n █▀ █ \n █ ▀▀▀▄█▄▀▄ \n ▀▄▀▄▄▄█▀█▄▄▀ \n █ ▀██▀▄█▀ ▀█▄ \n▄██▄▄█▄█▄█▄▄▄███"], ["walk_1", " ▄▀▄▄▀▀▀▀▄▀▀▄ \n ██▄▄███▄▄█▀▄█ \n █▀ ▄ █ \n █ ▀▀ ▄█▄▀▄ \n █▄▀▄▄▄█▀█▄▄▀ \n █ █▀█▀▄█ █▄ \n ▀█ ▀▄▀ ▄██████\n █▄██▀▀█▄▄█ █▀ "], ["walk_2", " ▄ ▄▄▄▄ ▄▄ \n █▄▀▀▄▄▄ ▀▄▄▀▄ \n ▀██▀▀▀▀▀█▀ ▀▀ \n █ ▄█ █ ▄ \n ▄▀▄ ▄█▄▀ █ \n▄▀▀█ ███▀▄▀▀▀▄ \n▀▄▄▀▀▄▀▄▀█▄▄▄██▄\n █▄██▀▀▀██▄▄███▀"]]], + ["boltmon", [["angry", " ▄▀█▀█▀█▀▄ \n ▄█ ▄▀▄ █▀▀▄ \n █ █ ▀▀▀ ███▀█ \n █ █▀▀▀ █▄█ █ \n▄▀▀▄▀▀███▀ ▄▀▀▀▄\n▀▄▄█▄▄▄█▄▄▄█▄▄▄▀\n ▄███████████▄ \n █▄▄▄██ ███▄▄▄▄█"], ["attack", " ▄█▀▀▀█▀█▄ \n █▄▀▄▄▄▀▄█▀▀▄ \n █▄▄▄▄ █▄▄█ \n ▀▄▀██ █▀█ █ \n ▄▀▀▄█▄█▀▄▀▀█▄█ \n ▀▄▄█▄▄▄▄█▄▄█▄▀ \n ▄██████████▄ \n █▄▄███ ██▄▄▄█"], ["eat_1", " ▄▀▀█▀▀▀█▄ \n █▀▀ ▀▀▀ █▀▀▄ \n ▀▀███▄ ▄██▀█ \n▄▀▀▄▄███▀ █▄█ █ \n▀▄▄█▄▄▄▄▄█ █▀█ \n █▄█▄▄▄▄████ \n ▄███████████▄ \n █▄▄▄██ ██▄▄▄▄█"], ["eat_2", " ▄█▀█▀█▀█▄ \n █ ▄ ▀▄█▀▀▄ \n █▀ ▀▀▀ ▄██▀█ \n █▀▀▀▀ █▄█ █ \n ▄▀████▀▀▀ ▄▀▀█ \n ▀▄█▄█▄▄▄▄▄█▄▄▀ \n ▄███████████ \n █▄▄▄██ ██▄▄▄▄█ "], ["happy", "▄▀▀▄█▀█▀█▀█▄▀▀▀▄\n█ ▄█ ▄ ▄ █▄ █\n█▀ █▀ ▀ ▀ ▀█▄█▀█\n▀▄ █ █████ █▄█ █\n ▀█ █▀▀▀█ █ █▀▀\n ▄▀▄ ▀▀▀ ▄▀▄▀ \n ▄████████████▄ \n█▄▄▄██ ██▄▄▄█"], ["injured_1", " ▄▄▄▄▄▄▄ \n █▀ ▀ ▀▄▀█ \n ▄█▄█ █▄▄▀█▀▄▄▄\n █ █ ▄▄▄ █▀█ █\n █ █▀ ▀▄ █▀█▄█\n █▀▀█▀▀▀▀▀▀▄▀▀█ \n ▀▄▄████████▄▄█ \n █▄▄███▀▀████▄▄█"], ["injured_2", " \n ▄█▀█▀█▀█▄▄ \n █ ▄ ▀▄█ ▀▄ \n █▀ ▀▀▀ █▄█▀█ \n ▀████▄ █▄█ █ \n ▄▀▄▄▄▄▄▄▄▀▀█▀█ \n ▀▄▄█▄▄▄▄█▄▄██▄ \n █▄▄███▀▀███▄▄▄█"], ["sleep_1", "█ ▄▀ ▄▀ ▄▀ █ \n█ ▄▀▀▀▀▀▀▀▄ ▄▀ \n ██▀█▀█▀█▀██ \n ▀█▀▀█▀▀▀▀█▀▄ \n ▄█▀▀ ▀▀▀ █▄█▀█ \n█▄█ ▀ █▄█ █ \n█ ▀█▀▀█▀▀▀ █▀▀█ \n█▄▄█████████▄▄█ "], ["sleep_2", "█ █▄▄█▄▄█ █ \n █▄█▄▄▄▄▄▄▄█▄█ \n █▄█▄█▄█▄█▄█ \n █▄▄▀▄▄▄ █ █▄▄\n ▄▀█ ▄▄▄ █▀█ █\n▄█ ▀▄▄▄▄▄▄▄▀██▄█\n█ ▀█ ▀█▀ █ █ \n█▄▄█████████▄▄█ "], ["walk_1", " ▄█▀█▀█▀▄ \n ▄█ ▄ ▀▄█▀▀▄ \n █ █▀▀ ▀▀▀ █▄█▀█\n █ █ ▀▀▀ █▄█ █\n▄▀▀▄▀███▀▀▀ ▄▀▀█\n▀▄▄█▄▄█▄▄▄▄▄█▄▄▀\n ▄███████████▄ \n █▄▄▄██▀███▄▄▄▄█"], ["walk_2", " ▄▄▄▄▄▄ \n █▀ ▀ ▀▄▀▄ \n ▄█▄▄▀▄▄▄▀█▀▄▄▄\n █ █ ▄▄▄ █▀█ █\n █ ▀▄▄▄▄▄▄▄▀▀█▄▀\n▄▀▀█ ▀█▀ █▀▀▄\n▀▄▄██████████▄▄▀\n █▄▄███▀▀███▄▄▄█"]]], + ["bommon", [["angry", " \n \n █▄▄█ \n ██▀▄██ \n ▄▀█▀▄█ ▄ \n ▀▀█▀ ▀▄▀ \n ▀▀▀ \n "], ["attack", " ▄ ▄ \n ▄██▀██▄ \n ▀█▄▄█▀█ \n ▄██▄▄▀ \n ▀ ▄ ▀▄ \n ▄▀ ▀▄▀ \n ▄ ▀▄▀ ▄ \n "], ["eat_1", " \n ▄ \n ▄█▀█▀▄█ \n ▀██▀█ \n ███ \n ▀██████ ▄▀▄ \n ▀▄▄▄▀ \n "], ["eat_2", " \n \n ▄ ▄ \n ▄█▄█▀█▄ \n ▀▀▀▀███ \n ▀██████ ▄▀▄ \n ▀▄▄▄▀ \n "], ["happy", " \n █▄▄█ \n ██▄███ \n █▄█▄██ \n █ ██ \n ▄▀▄▀▀█▀ \n ▀▄▄▄▀ \n "], ["injured_1", " \n \n \n \n ▄ ▄ \n ▄█▀▀█▄ \n ▀▀█▀▀█ ▄▀▄\n ▀█████▄▄▄▀ "], ["injured_2", " \n \n \n \n ▄ ▄ \n ▄██ ▀█▄ \n ██▀█▀██ ▄ \n ▀▄▄█▄▄█▄▄▄▀▀"], ["sleep_1", " \n \n \n \n ▄ ▄ \n ▄▀▀██▄ \n ▀▀█▀▀█ ▄▀▄ \n ▀█████▄▄▀ "], ["sleep_2", " \n \n \n \n █▄▄█ \n █▄▄███ \n ▄▄█▄▄█ ▄▀▄ \n ▀█████▄▄▀ "], ["walk_1", " \n \n █▄▄█ \n ██▄███ \n █▄█▄██ \n ▀▀█▀ \n ▄▀▄▄▀ \n ▀ "], ["walk_2", " \n ▄ ▄ \n ▄█▀██▄ \n █▀█▀██ \n ▀████▀ \n ▀▄ \n ▄▀▄▀ \n ▀ "]]], + ["botamon", [["angry", " \n \n \n \n █▄▄▄▄█ \n █▄▀██▀▄█ \n ▀██▀▀██▀ \n █▄▄█ "], ["attack", " \n \n \n \n \n ▄ \n █▀██ \n ████▀ "], ["eat_1", " \n \n \n \n \n ▄ \n █▀██ \n ████▀ "], ["eat_2", " \n \n \n \n ▄████▄▄█ \n ▀█▄██ \n ███ \n ▄███████ "], ["happy", " \n \n \n \n █▄▄█ \n █▄██▄█ \n ██ ██ \n ▀████▀ "], ["injured_1", " \n \n \n \n \n ▄ ▄ \n ▄████▄ \n █▄▄██▄▄█ "], ["injured_2", " \n \n \n \n \n ▄ ▄ \n ▄████▄ \n █▄▄██▄▄█ "], ["refuse", " \n \n \n \n ▄ ▄ \n ▄█▀▀█▄ \n ▀▀▀███ \n ▀████▀ "], ["sleep_1", " \n \n \n \n \n ▄ ▄ \n ▄████▄ \n █▄▄██▄▄█ "], ["sleep_2", " \n \n \n \n \n ▄ ▄ \n ▄████▄ \n █▄▄██▄▄█ "], ["walk_1", " \n \n \n \n \n ▄█▄▄█▄ \n █▄██▄█ \n ▄██▄▄██▄ "], ["walk_2", " \n \n \n \n \n ▄ ▄ \n ▄▀███▄ \n ▄████▄█▄ "]]], + ["boutmon", [["angry", " ▄ ▄▄▄▄▄▄ \n ▄▀ ▀ ▀▄▄ \n ▀▄█████▄▄█▄▄▄ \n █▀ ▄▀ ▀▄█ ▀█ \n ▄█▄▄▄▄▄▀▀▄▄▄ \n▄▀ █ ▀▀ ▄ ▀▄\n▀▄▄███▄▄▄▄███▄▄█\n▄████▀▀▀▀▀▀████▄"], ["attack", " ▄ ▄▄▄▄▄▄ \n ▄▀ ▀ ▀▄▄ \n ▀▄█████▄▄█▄▄▄ \n █▀ ▄█ ▀▄█ ▀█ \n ▄▄█▄▄▄▄▄▀▀▄ \n█ ▄ ▀▄ ▄▀ \n ▀██████████▄▄ \n▄████▀▀ ▀▀████▄"], ["eat_1", " ▄▀▄▀▀▀▀█▀ \n █ ▄ █▀ ▄█ \n ▀█▀▀██▀█▀█▀▀ \n ▄███ ▄█▀ \n █ █▀▀▀▀ ▀▀▀▄ \n ▀▄▄█▄ █▄▄ █\n ▄███████████▀▀\n▄████ ████▄"], ["eat_2", " ▄ ▄▄▄▄▄▄ \n ▄▀ ▀ ▀▄▄ \n ▀▄█████▄▄█▄▄▄ \n █▀ ▄█ ▀▄█ ▀█ \n █▄▄▄▄▄▀▀▄▄▄ \n ▄█ ▀▀ ▄ ▀▄\n █▄▄█▄▄▄▄███▄▄█\n▄████▀▀▀▀▀▀████▄"], ["happy", " ▄ ▄▄▄▄▄▄ \n ▄▀ ▀ ▀▄▄ ▄ \n ▀▄█████▄▄█▄▀ █ \n █▀ ▄█ ▀▄▀▄▄█ \n ▀▄▄▄▄▄█▀ ▄▀ \n ▄█ ▀▀ ▄▄▀ \n █▄▄█▄▄▄▄▄██▄▄ \n▄████▀▀▀▀▀▀████▄"], ["injured_1", " \n ▄▀▄▀▀▀▀█▀ \n █ ▄▄▄▄▄ █▀ \n ▀██▀█▀▀█▀█▀█▄ \n █ ▀▀ ▄█▀ ▀ \n █▀██▀ ▀▄ \n ▄██▄ ▄▀▀ ▄█▄ \n ▀██████████▀ "], ["injured_2", " \n ▄ ▄▄▄▄▄▄ \n▄▀ ▀ ▀▄▄ \n▀▄█████▄▄█▄▄▄ \n █▀ █▄ ▀▄█ ▀█ \n ▀▄▄▄▄▄▀▀▄▀▄ \n █▄█▄ ▄▀▀ ▄█▄ \n ▀██████████▀ "], ["sleep_1", " \n ▄ ▄▄▄▄▄▄ \n▄▀ ▀ ▀▄▄ \n▀▄█████▄▄█▄▄▄ \n █▀ ▄▄ ▀▄█ ▀█ \n ▀▄▄▄▄▄▀▀▄▀▄ \n █▄█▄ ▄▀▀ ▄█▄ \n ▀██████████▀ "], ["sleep_2", " \n ▄▀▄▀▀▀▀█▀ \n █ ▄▄▄▄▄ █▀ \n ▀██▀▀▀▀█▀█▀█▄ \n █ ▀▀ ▄█▀ ▀ \n █▀██▀ ▀▄ \n ▄██▄ ▄▀▀ ▄█▄ \n ▀██████████▀ "], ["walk_1", " ▄▀▄▀▀▀▀█▀ \n █ ▄ █▀ ▄█ \n ▀██▀▀█▀█▀█▀▀ \n█▀▄█ ▀▀ ▄█▀ \n█ ▀█▀▀▀▀ ▀▀▀▄ \n ▀▀▀▀▄ █▄▄ █\n ████████████▀▀\n▄████ ████▄"], ["walk_2", " ▄ ▄▄▄▄▄▄ \n ▄▀ ▀ ▀▄▄ \n ▀▄█████▄▄█▄▄▄ \n▄▄ █▀ ▄█ ▀▄█ ▀█ \n█ ▀█▄▄▄▄▄▀▀▄▄▄ \n▀▄▄▄█ ▀▀ ▄ ▀▄\n ▄▄▄█▄▄▄▄███▄▄█\n▄████▀▀▀▀▀▀████▄"]]], + ["breakdramon", [["angry", "█▀▀▄▄▄▄▄▄▄ █▀▄ \n▄▀▀ ▄▀ ▀▄█ █▀▀▄\n██▀█▀▄ █▄█▀█▀█\n █ █ █▀▄▄█ █ █\n █▀▀▀ ▄▄▀ ▀▄█ █\n ▄█▀▀▀▄█▄▄▄ ▀█▄▀\n█ █▀█ ▄▀ ▄▀▄ \n ▀█▄▄▄█▀▀▀▀█▄▄▄█"], ["attack", " ▄▄ \n▄▄▄▄▄▀▀▀▄█▄ █▀▄ \n▀▄▄▀ ▄█ ▀▄██▀▀▄\n █▄▄▄▄ █ ▀█▀█\n ▀▄▄▄█▄▀█▄▄▄▀ █\n ██▄▄█ ▀▀█ █\n █ ▀▄ ▀█▀▀█ ▄▀▀▄\n█▄▄▄█▀▀▄▄▄▄█▄▄▄█"], ["eat_1", " ▄▄ \n▄▄▄▄▄▀▀▀▄█▄ █▀▄ \n▀▄▄▀ ▄█ ▀▄██▀▀▄\n █▄▄▄▄ █ ▀█▀█\n ▀▄▄▄█▄▀█▄▄▄▀ █\n ██▄▄█ ▀▀█ █\n █ ▀▄ ▀█▀▀█ ▄▀▀▄\n█▄▄▄█▀▀▄▄▄▄█▄▄▄█"], ["eat_2", "█▀▀▄▄▄▄▄▀█ ▄▄ \n █▀ ▄▄ ▀█▀▄█▄█ \n█ ▄▄ ▄ █▀█▄▄█ \n ████▀▀▄▄▀ █ █ \n █▄▄▄▄▀ ▀▀██▄ █ \n ▀█▀█▄▄▄ █▀ \n ▄▀█▄█ █ ▄▀▀█ \n█▄▄▄█▄▄▄▄██▄▄▄█ "], ["happy", " █▀▄▄▄▄▄▄▀█ \n ▀▄▄▀ ▄▀█▀▄ ▄▀█\n █▄▄▄▄▀ ▀ █▀▄▀▀█\n ██████▀▄▀▀▄▀█▀█\n█ █▀▀▀ ▄█ █▀ █\n▀▄▄█▀▀▀ █▄▄▀▀▄█ \n ▀██▀▀ ▄▀▄ \n █▄▄█▀▀▀▀█▄▄▄█"], ["injured_1", " \n \n \n ▄▀▀▀▀▀█▀█ \n▄▄█▄ ▄ █▄▄ \n▀▄▄▀ ▀▀▄▀█ █▀▄\n ██▀▀█▀▄▄▀▄▀▀▄█\n █▄▄██▄▄▄▄██▄▄▄█"], ["injured_2", " \n \n \n ▄▄▄▄▄▄▄▄ \n ▄▀ ▀▄█▄ \n█▀▀█ █▄ ▄█ █▀▄\n ▀█▄▄▄▄▄█▄▀▄▀▀▄█\n █▄▄██▄▄▄▄██▄▄▄█"], ["refuse", " \n ▄▄ █▀▄ \n▄▄▄▄▄▀▀▀▄█▄ █▀▀▄\n▀▄▄▀ ▄▀ ▀▄█▀█▀█\n █▄▄▄▄ █▄▄▀ █\n ▀▄▄▄█▄▀▀ ▀▀█▄▀\n ▄▀█ █▀▀█ ▄▀▄ \n█▄▄▄█▀▀▄▄▄▄█▄▄▄█"], ["sleep_1", " \n ▄▄ \n▄▄▄▄▄▀▀▀▄█▄ ▄▄\n▀▄▄▀ ▄▄ ▀▄█ █▄█\n █▄▄▄▄ █ █▄▄█\n ▄█▄▄▄█▄▄▀▀▄▄█ █\n █▄ ▄▀ █▄▄▄▀▄▄▀\n█▄▄█▄▄▄█▄▄█▄▄▄█ "], ["sleep_2", " \n ▄▄ \n▄▄▄▄▄▀▀▀▄█▄ ▄▄\n▀▄▄▀ ▄▄ ▀▄█ █▄█\n █▄▄▄▄ █ █▄▄█\n ▄█▄▄▄█▄▄▀▀▄▄█ █\n █▄ ▄▀ █▄▄▄▀▄▄▀\n█▄▄█▄▄▄█▄▄█▄▄▄█ "], ["walk_1", " ▄▄▄▀█ ▄▄ \n█▀▀█▀ ▄▀█▀▄█▄█ \n █▀ ▀▀ █▀█▄▄█\n ▀█▀▀▀▄ ▄▄▀ █ █\n █▀▀█▀ ▀▀██▄ █\n ▀█▀█▄▄▄ █▀ \n ▄▀█▄█ █ ▄▀▀█ \n █▄▄▄█▄▄▄▄██▄▄▄█"], ["walk_2", " ▄▄ \n▄▄▄▄▄▀▀▀▄█▄ █▀▄ \n▀▄▄▀ ▄█ ▀▄██▀▀▄\n █▄▄▄▄ █ ▀█▀█\n ▀▄▄▄█▄▀█▄▄▄▀ █\n ██▄▄█ ▀▀█ █\n █ ▀▄ ▀█▀▀█ ▄▀▀▄\n█▄▄▄█▀▀▄▄▄▄█▄▄▄█"]]], + ["bryweludramon", [["angry", "▄▄ ▄▄▄█▀▀█ \n█ █▀ ▄ ▀█ \n█▀ ▀▀ ▄▄█▀▀▄▄ \n▀█▀▀▀▀▀▄█ ▄█▄▄▀▄\n ▀█ █▀▄▀▄ ▀▄▄▀ \n █ █ ▄ █▀██▀▄ \n ▄▀█▄ ▄█▄▀▀▄█▀▄\n █▄██▄█▄▄▀▀▀▄▄▄█"], ["attack", " █▀▄▄▀▄▄▀█ \n ▄█▄█ ▄▀ █▄▄▄ \n █▄█ █▀ █ █▀ \n ▄█ ▄█ ██▄ \n ▀█▀▄ █▀ █ ▄▀ \n ██▀▄ █▀▀▄ \n █▄▀▄▀ █▀▀▄▄█ \n ▀▀ "], ["eat_1", "▄▄ ▄▄▄▄█▀▀█ \n█ █▀ ▄ █▀ \n█▀ ▀ ▀ ▄█▀▀▄▄ \n▀█████▄▀█ ▄█▄▄▀▄\n █▀▀▀▀▀▄█▄ ▀▄▄▀ \n ▀█▄█▀ ▀▄▀█▄▀█ \n ▄▀▄█ ▀ █▄▀▀▄▀▄\n █▄██▄█▄█▄▀▀█▄▄█"], ["eat_2", " \n▄▄ ▄▄▄█▀▀█ \n█ █▀ ▄ ▀█▀▀▄▄ \n█▀ ▀ ▀ █ ▄█▄▄▀▄\n▀█▀▀▀▀▄▄▀▄ ▀▄▄▀ \n █▄█▀ ▀▄▄▀█▄▀█ \n ▄▀▄█ ▀ █▀▄▀▀▄▀▄\n█▄██▄█▄█▄█▀▀█▄▄█"], ["happy", "▄▄ ▄▄▄█▀▀█ \n█ █▀ ▄ ▀█▄▄ \n█▀ ▀ ▀▄█▀ ▄▀▀▄ \n▀█████▀▄█ ▀█▀▀▄▀\n █▀▀▀▄▀▄ ▀▄▄█▀ \n █▀█ ▄ █▀▄▄▀█▄ \n ▄▀█▄ ▄▀▄▀▀▄█ █\n █▄██▄█▄▄▀▀█▄▄▄█"], ["injured_1", "▄▄ ▄▄▄█▀▀█ \n█ █▀▄ ▀█ \n█▀ ▀▀ ▄█▀▀▄▄ \n▀█▀▀▀▀▀██ ▄█▄▄▀▄\n ▀█▄▄▀▄▀▄ ▀▄▄▀ \n █ █ ▄ █▄▀▀█▄ \n ▄▀█▄ ▄█ ██ █▀▄\n █▄██▄█▄▄█▄▄██▄█"], ["injured_2", " \n▄▄ ▄▄▄▄▀▀█ \n█ █▀▄ ▀██▀▀▄▄ \n█▀ ▀▀ █ ▄█▄▄▀▄\n▀█▀▀▀█▀█▀▄ ▀▄▄▀ \n █▀█ ▄ █▄▀▀█▄ \n ▄██▄ ▄█ ██ █▀▄\n █▄█▄▄█▄██▄▄██▄█"], ["sleep_1", " \n ▄▄▄▄ \n█▀▄▄▀▀▀▀▄▄█▄ \n█▄▀ ▄▄ █▀ ▄▀▀▄ \n█▄▄▄▄▄▄██ ▀█▀▀▄▀\n ▀▄▄▄▄█ █▄▄█▀ \n █▄▀ ▄ ▀█ ██ █▀▄\n█▄▄█▄▄▄███▄▄██▄█"], ["sleep_2", " \n▄▄ ▄▄▄█▀▀█ \n█ █▀ ██▀▀▄▄ \n█▀ ▀▀ ▄█ ▄█▄▄▀▄\n▀████▀▀▄▀▄ ▀▄▄▀ \n ▀▄▄▄▄█ ▄▀▀█▄ \n █▄▀ ▄ ▀█ ██ █▀▄\n█▄▄█▄▄▄███▄▄██▄█"], ["walk_1", "▄▄ ▄▄▄█▀▀█ \n█ █▀ ▄▄ ▀█▄▄ \n█▀ ▀▀ ▄█▀ ▄▀▀▄ \n▀█▀▀▀▀▀▄█ ▀█▀▀▄▀\n ▀█ █▀▄ ▀▄▄█▀ \n █ █ ▄ █▀▄▄▀█▄ \n ▄▀█▄ ▄▀▄▀▀▄█ █\n █▄██▄█▄▄▀▀█▄▄▄█"], ["walk_2", " ▄▄▄▄ \n█▀▄▄▀▀▀▀█▄▄█ \n█▄▀ ▄█▀ ▄▀ ▄▀▀▄ \n█▄▄▄▄▄▄▀█ ▀█▀▀▄▀\n ▀▄▄ ▄▄▀ ▀▄▄██ \n ▀█▀ ▀▄▄▀▄▄▀█ \n ▄█ ▀ ██▄▀▀▄▀█\n ██▄█▄█ ▀▀█▄▄█"]]], + ["budmon", [["angry", " \n \n ▄▀█ ▄▄▄\n ▄▄ ▄▀ █▄ ▄▀ █\n █ ▀ ▀ ██ ▄▀ █\n█▀█ ▄█▀ █ ▄▀ \n▀▄ ▄▄ ▄▀▀▀ \n ▀▄▄▄▀▀▀ "], ["attack", " ▄▀█ \n ▄▄ ▄▀ █▄ \n █ ▀ ▀ ██▄▀▀▀█\n█▀▄ ▄█▀ █ ▄▀ █\n▀▄ ▄▄ ▄██▄▄▀ \n ▀██ █▀▀ \n ▀ \n "], ["eat_1", " \n ▄▄ \n ▄▀ █ \n █▀▄▀ ▄▀█▄ \n▄█ ▄▄ ▀█ ▄▀▀█\n█ ▀ ▀ █▀ ▄ █\n ▀▄██ ▄▄▄▀█▄▀ ▄▀\n ▀▀▀ ▀▀▀ "], ["eat_2", " \n \n ▄▄ \n ▄▀ █ \n █▀▄▀ ▄▀█▄ \n▄█ ▄▄ ▀█▄▄▄ \n█ ▀ ▀ █▄▄▄▀▄\n ▀▄▄▄▄▄▄▄▀▄▄▄▄▀ "], ["happy", " ▄▀▄▄▄▄▄▄▄ \n ▄█▀▀▀▀ ▄▀ \n █ ▀ ▄▄ ▀▀▀▄ \n ▀█▄▄▄ ▀ █ \n ▀██ ▄██ \n ▀▄▄▀█▀▄▀█ \n ▄▀ ▄▀ █ \n █▄▄▄▄▀ "], ["injured_1", " \n \n \n ▄▄▀▀▄ \n █▀▄▀ ▄▀█▄ \n▄█▄ ▄ ▀█▄▄▄▄ \n█▀ ▀▀ █▄▄ █\n ▀▄█▄▄▄▄▄█▄▄▄▄▀ "], ["injured_2", " \n \n ▄▄▄ \n ▄▄ ▄▀▀ ▄█ \n █ ▀ ▀ █▄ \n█▄▀ ▀▄▄ ▀▄▄▄ \n█ ▄▄ █▄▄ ▀▄\n ▀▄██▄▄▄▄▀▄▄▄█▄▀"], ["sleep_1", " \n \n ▄▄ \n ▄▀ █ \n █▀▄▀ ▄▀█▄ \n ▄█ █▀▀▀▄ \n █▄▄ ▄▄█ ▀▄ █ \n ▀▄▄▄▄▄▄█▄▄█▀ "], ["sleep_2", " \n \n \n ▄▄▀▀▄ \n █▀▄▀ █ █▄ \n ▄▀ ▄▀▀▀▄ \n █▄▄ ▄▄█ ▄▀ █ \n ▀▀▄▄▄▄▄█▄▄▄▀ "], ["walk_1", " \n \n ▄▄ \n ▄▀ █ ▄▄▄▄\n █▀▄▀ ▄▀█▄▀ ▄ █\n▄█ ▄▄ ▀█▄▀ ▄▀\n█ ▀ ▀ █▀▀▀ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_2", " ▄▀█ \n ▄▄ ▄▀ █▄ \n █ ▀ ▀ ██ \n█▀▄ ▄▀▀ █ \n▀▄ ▄█▄ \n ▀▀▀▀▀▀▀█▄ ▀▄ \n █ ▀▄ █ \n ▀▄▄▄█ "]]], + ["bukamon", [["angry", "▀ ▄▀█ \n ▀ ▄▄▀▀ ▄▀▀▄ \n █▄▄▄▄▀▀ █ \n ▀ ▀ ▀▄ █ \n █▄█▄▄█ ▄▀ \n ▀▄▄▄▄▄ █ █▄ \n █▀▄ ▀▀▀▄▀▀\n ▀▄█▄▄▄▀ "], ["attack", " ▀ \n▄ ▄▀█ \n ▄▀▀ ▀▀▄ \n ▀ █ █ █ ▀▄ \n █ █ \n ▀▀▀█▀█▀ █ ▄ \n █▄▀▄ ▀▄▄▀█▄ \n ▀▄█▄█▄▄▄▀ "], ["eat_1", " ▀ \n▄ ▄▀█ \n ▄▀▀ ▀▀▄ \n ▀ █ █ █ ▀▄ \n █ █ \n ▀▀▀█▀█▀ █ ▄ \n █▄▀▄ ▀▄▄▀█▄ \n ▀▄█▄█▄▄▄▀ "], ["eat_2", " ▄▀▀▀▀▄▄ \n ▀▀▄ ▄▄▀▄ \n ▀▄ ▀ ▀▄ \n ▄▄▄▄█ █▀▀ \n ▀▄▄▄▄▄ ▄▀ \n █▄▀ █ \n ▀▄▀▄ ▀▄ █▄ \n ▀▄█▄▄█▄▀▀ "], ["happy", " ▀ ▄▀█ \n▀ ▄▀▀▄ ▀▀▄ \n▄ ▄▀ ▀ ▀ ▀▄ \n ▀▀▀▀█████ █ \n ▀ ▄▄██▄▄▄▀ █ \n ▀▄▄▄▄▄ ▄▀ █▄ \n █▀▄ ▀▀▀▄▀▀\n ▀▄█▄▄▄▀ "], ["injured_1", "▀ \n▄ ▄▄ \n ▄▀ █▄ \n▀ ▄▀ █ \n ▄▀ █▄ ▀▄ \n █▄▄▄▄▄▄ ▄▀ █▄ \n █▀▄ ▀▀▄▀▀ \n ▀▄█▄▄▄▀ "], ["injured_2", " \n ▄▄ \n ▄▀ █▄ \n ▄▀ █ \n ▄▀ ▀▄▄ ▀▄ \n █▄▄▄▄▄▄ ▄▀ \n █▀▄ ▀▀▄▄▄ \n ▀▄█▄▄▄▀█▀ "], ["refuse", " \n ▄▀█ \n ▄▀ ▀▀▄ \n █ ▀█ ▀▄ \n █ █ \n ▀▀▀█▀█▀ █ ▄ \n █▄▀▄ ▀▄▄▀█▄ \n ▀▄█▄█▄▄▄▀ "], ["sleep_1", " ▀ \n▀ ▄▀█ \n ▄ ▄▀▀ ▀▀▄ \n █▄ ▄▄ ▀▄ \n █ █ \n ▀▀▀█▀█▀ █ ▄ \n █▄▀▄ ▀▄▄▀█▄ \n ▀▄█▄█▄▄▄▀ "], ["sleep_2", " ▀ \n▀ ▄▀█ \n ▄ ▄▀▀ ▀▀▄ \n █▄ ▄▄ ▀▄ \n █ █ \n ▀▀▀█▀█▀ █ ▄ \n █▄▀▄ ▀▄▄▀█▄ \n ▀▄█▄█▄▄▄▀ "], ["walk_1", " ▀ ▄▀█ \n▀ ▄▀▀ ▀▀▄ \n ▀ █ ▄ ▄ ▀▄ \n █ ▀ ▀ █ \n ▀▀▀█▀█▀ █ █▄ \n █▀▄ ▀▀▀▄▀▀\n ▀▄█▄▄▄▀ \n ▄▄▄▄▄▄▄ "], ["walk_2", " ▀ \n▄ ▄▀█ \n ▄▀▀ ▀▀▄ \n ▀ █ █ █ ▀▄ \n █ █ \n ▀▀▀█▀█▀ █ ▄ \n █▄▀▄ ▀▄▄▀█▄ \n ▀▄█▄█▄▄▄▀ "]]], + ["bulbmon", [["angry", " \n \n \n ▄ ▀ \n ▄▄▄▄▄▄▄▄ \n █▄▄ ▄▄█ \n ▀▄ ██ ▄▀ \n ▀▄██▄▀ "], ["attack", " \n \n \n \n ▄ \n ▄▀▀▀▄ ▀ \n █ ▀ ▀ █ \n ▀▄▄▄█▄▄▄▀ "], ["eat_1", " \n \n \n \n ▄▀▀▀▄ ▀ \n █ ▄ █ ▄ \n ▀▄▄▄▄█ █ \n ▀▄▄▄▄▄▄▄▀ "], ["eat_2", " \n \n \n ▄▄▄ ▀ \n ▄▀ ▄ ▀▄ \n ▀▀▄ █ ▀ \n ▄▄▄▄█ █ \n ▀▄▄▄▄▄▄▄▀ "], ["happy", " \n \n ▄▄▄▄ \n ▄▀▄ ▄ ▀▄ \n █ ▄ █ \n ▀▄ ▀ ▄▀ \n ▀ ▀▀▀▀ ▄ \n ▄▄▄ "], ["injured_1", " \n \n \n \n \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n ▀ ▀▄██▄██▄▀ ▄ "], ["injured_2", " \n \n \n \n \n \n ▄▀▀▀▀▀▄ \n ▄█▄██▄██▄█▄ "], ["refuse", " \n \n \n \n ▄▄▄ \n ▄▀▄▄ ▀▄ \n █▄▄▄ █ ▀ \n ▀▄▄▄▄▄▄▀ "], ["sleep_1", " \n \n \n ▄ \n ▀ \n ▄▄▄▄▄ \n ▄▀▄▄ ▄▄▀▄ \n ▀▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n \n ▀ \n ▄▀▀▀▀▀▄ ▀ \n █ ▀▀ ▀▀ █ \n █ ▀ █ \n ▀▄▄▄▄▄▀ "], ["walk_1", " \n \n \n \n ▄ \n ▄▀▀▀▄ ▀ \n █ ▀ ▀ █ \n ▀▄▄▄█▄▄▄▀ "], ["walk_2", " \n \n \n \n ▀ \n ▄ ▄▀▀▀▄ \n █ ▄ ▄ █ \n ▀▄▄▄▄▄▄▄▀ "]]], + ["bulkmon", [["angry", "▄ ▄▄▄ ▄▄▄▄ \n██▄ ▄█████▀ ▄▄▀ \n ▀███▀ ██▄ █▄▄ \n ████▀█▀ ▄▀ \n ▀▄▄▄▄▀▀ ▀▀▄ \n ▄▄█ ▄▀██▄ █\n █ ██▄ ▀▄▄██▄█\n ████▄█▀▀█▄█▄█▄█"], ["attack", " ▄ ▄▄▄ ▄▄▄▄\n ██▄ ▄█████▀ ▄▄▀\n ▀███▀ ▄█▄ █▄▄ \n ████▀█▀▄ ▄▀ \n ▄▄▄▄ ▄ ▄█ ▀▀▄\n█ ▀██▀▀▀▀ ▄▀██▄█\n ▀██▄▀█▀▀ █▄▄██▄\n █▄█▄▄█▀▀█▄█▄█▄█"], ["eat_1", "▄ ▄▄▄ ▄▄▄▄ \n██▄ ▄█████▀ ▄▄▀ \n ▀██▀▄▀██▄ █▄▄ \n ████▀█▀▄ ▄▀ \n ▄ ▄ ▄█ ▀▀▄ \n ▀█▀▀▀▀ ▄▀██▄ █\n █ ██▀▀ ▀▄▄██▄█\n ████▄█▀▀█▄█▄█▄█"], ["eat_2", "▄ ▄▄▄ ▄▄▄▄ \n██▄ ▄█████▀ ▄▄▀ \n ▀██▀▄▀██▄ █▄▄ \n ████▀█▀ ▄▀ \n ▀▄▄▄▄▀▀ ▀▀▄ \n ▄▄█ ▄▀██▄ █\n █ ██▄ ▀▄▄██▄█\n ████▄█▀▀█▄█▄█▄█"], ["happy", "█▄ ▄▄███▄▀▀▀█ \n▀██▄█▀███▀ ▄▀▀ \n ▄██▄█▄█▀▀ ▀█▀ \n ▀▀▀▀ ▀ █ ▄▀▀█▄ \n ▄█▄█▄█▀ ▀▄██▀█\n █▀█▄▄▄ ▀ ▄▄▄▀\n ▀▄▄█▄ ▀▄ \n █▄█▄▄█▀▀█▄█▄█▄█"], ["injured_1", "▄ ▄▄▄ ▄▄▄▄ \n██▄ ▄█████▀ ▄▄▀ \n ▀███ ▀██▄ █▄▄ \n ████▀█▀ ▄▀ \n ▀▄▄▄▄▀▀ ▀▀▄ \n ▄▄█ ▄▀██▄ █\n █ ██▄ ▀▄▄██▄█\n ████▄█▀▀█▄█▄█▄█"], ["injured_2", " \n█▄ ▄▄███▄▀▀▀█ \n▀██▄█▀███▀ ▄▀▀ \n ▄███▄▄█▀▀ ▀█▀ \n ▀█▀▀ ▀▄▄ ▀▄▄ \n ███▀ ▄▄▄ ▀▄\n █ ██ █ ▀██ █\n███████▄▄▄██████"], ["sleep_1", " \n█▄ ▄▄███▄▀▀▀█ \n▀██▄█████▀ ▄▀▀ \n ▄███▄▄█▀▀ ▀█▀ \n ▀█▀▀ ▀▄▄ ▀▄▄ \n ███▀ ▄▄▄ ▀▄\n █ ██ █ ▀██ █\n███████▄▄▄██████"], ["sleep_2", "▄ ▄▄▄ ▄▄▄▄ \n██▄ ▄█████▀ ▄▄▀ \n ▀███▀▀██▄ █▄▄ \n ████▀█▀ ▄▀ \n ▀▄▄▄▄▀▀ ▀▀▄ \n ▄▄█ ▄▀██▄ █\n █ ██▄ ▀▄▄██▄█\n ████▄█▀▀█▄█▄█▄█"], ["walk_1", "█▄ ▄▄███▄▀▀▀█ \n▀██▄██▀▀█▀ ▄▀▀ \n ▄███▄▄█▀▀ ▀█▀ \n ▀█▀▀ ▀▄▄ ▀▄▄ \n ▀▀█▀ ▄▄▄ ▀▄\n ▄▀██ █ ▀██ █\n █▄█▀▄ ▀▀▀▀█▀\n █▄█▄▄█▀▀█▄█▄█▄█"], ["walk_2", "▄ ▄▄▄ ▄▄▄▄ \n██▄ ▄█████▀ ▄▄▀ \n ▀███▀ ▄█▄ █▄▄ \n ████▀█▀ ▄▀ \n ▀▄▄▄▄▀▀ ▀▀▄ \n ▄▄█ ▄▀██▄ █\n █ ██▄ ▀▄▄██▄█\n ████▄█▀▀█▄█▄█▄█"]]], + ["bulucomon", [["angry", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["attack", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["eat_1", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["eat_2", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["happy", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["injured_1", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["injured_2", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["refuse", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["sleep_1", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["sleep_2", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["walk_1", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀ ▄▀▀█ \n █ ▄█▀ ▄▀▄ \n█ ▄ ▄ ▄▄▀ ▄▄█ \n▀█▀ ▀ ▀▄▀▄█▀ █▀█\n ▀█▀▀▀ ▄█ ▄▀ █\n ▄▄▀█████▀▀▀▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["walk_2", " ▄▄▀▀▀█▄▄ \n▄▄▄▀▀ ▄▄▀▀ ▄▀ \n█ ▀▀ ▀█▀▀▄ \n▀▄██▄█▄▄█▀ ▄█ \n ▄██▀▀▄▀ ▄▀▀ █ \n ▀▄▄▄▀▀ ▄██▄▄█▄ \n ▄▄▀██████▀▀▀▀█▄\n█▄█▄▄█▀ ▀█▄█▄█▄█"]]], + ["burninggreymon", [["angry", "█▀▄ ▄▄▄▄▀▀▀█ \n█ █▀ ▄ ▀█▀ ▄▀▄ \n█▀ ▀▀ ▄▄█▀ ▄ █\n ▀▄████▀████▀█ █\n █▀▀▀▀▄██▄▄▀▄ █\n ▄▀▄██▀▄██▀ █▄█\n ▀▄█▄██▄██▄▄█▄ ▀\n █▄██▄█ █▄██▄█ "], ["attack", "▄▄ ▄▄▄▄ \n█ █▄▀▀▀▀▄▄▄▀ ▄ \n█▄▀ ▄▀█▀ ▀▄▄▀ ▀▄\n▀▄ ▄▄▄▄▄███▄▄█ █\n █ ▄▄▄▀██▀▀▄▀ █\n ▄▀██▄▀███▀ █ █\n █ ▄██▄▀██ ▄███\n█▄██▄█▀▀▀▀████▄█"], ["eat_1", "▄▄ ▄▄▄▄ \n█ █▄▀▀▀▀▄▄▄▀ ▄ \n█▄▀ ▄▀▄ ▀▄▄▀ ▀▄\n▀▄ ▄▄▄▄▄███▄▄█ █\n █ ▄▄▄▀██▀▀▄▀ █\n ▄▀██▄▀███▀ █ █\n █ ▄██▄▀██ ▄███\n█▄██▄█▀▀▀▀████▄█"], ["eat_2", "█▀▄ ▄▄▄▄▀▀▀█ \n█ █▀ ▄▄▄▀█▀ ▄▀▄ \n█▀ ▀ ▀ ▄▄█▀ ▄ █\n ▀▄████▀████▀█ █\n █▀▀▀▀▄██▄▄▀▄ █\n ▄▀▄██▀▄██▀ █▄█\n ▀▄█▄██▄██▄▄█▄ ▀\n █▄██▄█ █▄██▄█ "], ["happy", "█▀▄ ▄▄▄▄▀▀▀█ \n█ █▀ ▄ ▀█▀ ▄▀▄ \n█▀ ▀ ▀ ▄▄█▀ ▄ █\n ▀▄████▀████▀█ █\n █▀▀▀▄███▄▄▀▄ █\n ▄▀▄██▀▄██▀ █▄█\n ▀▄█▄██▄██▄▄█▄ ▀\n █▄██▄█ █▄██▄█ "], ["injured_1", " \n▄▄ ▄▄▄▄ \n█ █▄▀▀▀▀▄▄▄▀ ▄ \n█▄▀ ▄▄ ▀▄▄▀ ▀▄\n▀▄ ▄▄▄▄▄███▄▄█ █\n █ ▄▄▄▀██▀▀▄▀ █\n▄▀█▀██▄▀██▀█▀▄ █\n█▄▄▄██▄███▄▄▄█▀ "], ["injured_2", " \n \n█▀▄ ▄▄▄▄▀▀▀█ \n█ █▀ ▀█▀ ▄▀▄ \n█▀ ▀▀ ▄▄█▀ █ █\n ▀▄▀▀▀█▀████▀█ █\n▄▀█▀██▄▀██▀█▀▄ █\n█▄▄▄██▄███▄▄▄█▄▀"], ["refuse", "▄▄ ▄▄▄▄ \n█ █▄▀▀▀▀▄▄▄▀ ▄ \n█▄▀ ▄█ ▀▄▄▀ ▀▄\n▀▄ ▄▄▄▄▄███▄▄█ █\n █ ▄▄▄▀███▀ █ █\n █ ▀██▄▀█ ▄█ █\n ▄████▄▀█████▄▄▀\n█▄██▄█▀▀▀▀██▄█▄█"], ["sleep_1", " \n█▀▄ ▄▄▄▄▀▀▀█ \n█ █▀ ▀█▀ ▄▀▄ \n█▀ ▀▀ ▄▄█▀ ▄ █\n ▀▄▀▀▀▀█████▀█ █\n ▀▄██▀▄██▄▄▀▄ █\n ▄▀ ██▀▄██▀ █▄▀\n█▄██▄██▄██▄▄██▄█"], ["sleep_2", " \n▄▄ ▄▄▄▄ \n█ █▄▀▀▀▀▄▄▄▀ ▄ \n█▄▀ ▄▄ ▀▄▄▀ ▀▄\n▀▄ ▄▄▄▄▄███▄▄█ █\n █ ▄▄▄▀██▀▀▄▀ █\n ▄▀██▄▀███▀ █ █\n▄█▄▄██▄███▄▄▄██▄"], ["walk_1", "█▀▄ ▄▄▄▄▀▀▀█ \n█ █▀ ▄▄▄▀█▀ ▄▀▄ \n█▀ ▀ ▀ ▄▄█▀ ▄ █\n ▀▄▀▀▀▀█████▀█ █\n ▀▄██▀▄██▄▄▀▄ █\n ▄▀ ██▀▄██▀ █▄█\n ▀▄█▄██▄██▄▄█▄ ▀\n █▄██▄█ █▄██▄█ "], ["walk_2", "▄▄ ▄▄▄▄ \n█ █▄▀▀▀▀▄▄▄▀ ▄ \n█▄▀ ▄▀█▀ ▀▄▄▀ ▀▄\n▀▄ ▄▄▄▄▄███▄▄█ █\n █ ▄▄▄▀██▀▀▄▀ █\n ▄▀██▄▀███▀ █ █\n █ ▄██▄▀██ ▄███\n█▄██▄█▀▀▀▀████▄█"]]], + ["bushiagumon", [["angry", " ▄▄▄▄ \n ▄▄▄▄███▄ \n ▄▄▄▀ ▄ ▀█ \n█ ▄█▀ █ \n▀▄▄▄▄▄▄ ▄█ \n ▀▄▄▄▄▄██▄ ▄ █▄▄\n █▄█▄▄▄██▄▄█▄▀\n █▄█▄███▄█▄█▄█ "], ["attack", "▄▀█ ▄▄▄▄▄▄██ \n█▄▀▀▀ ▄▄▀█▄▄▄\n█▀▄▄▄▄▄ ██ ██ █\n▀▄ ███▀█ ██ █\n █▀█▀▀▀ ▄▄ ▀ █ █\n ▀██▀▀▀ █ ▀▀\n ▄▄▀▀▄▄▄▄▄ ▀▀▄ \n █▄█▄▄█▀▀█▄█▄█▄█"], ["eat_1", " ▄▄▄▄███▄ \n▄▀▀▀▀ ▄▄ ▀█ \n█▄▄▄▄▄ ▄██ █ \n ▀████ █ \n █▀▀▀▀ ▄▄ ▄▀ \n ▀█▀▀██▄██ █▄▄▄\n ▄█▄█▄▄█▄▄█▄▄▄▀\n █▄█▄▄█▀█▄█▄█▄█ "], ["eat_2", " ▄▄▄▄ \n ▄▄▄▄███▄ \n ▄▄▄▀ ▄ ▀█ \n█ ▀ ▀ █ \n▀▄▄▄▄▄▀ █ \n █▄▄▄▄▄██▄ ▀▄▄▄▄\n ▀▄▄▄█▄▄█▄▄▄█▄▄▀\n █▄█▄▄██▄█▄█▄█ "], ["happy", " ▄▀█ ▄▄▄▄▄██▄ \n▄▀▀▀▀ ▄ ▀█ \n█▄▄▄▄▄▄ ▀ ▀ ██▀█\n ██████ ██ █\n █▀▀▀▀ ▄ ▀ █ █\n ██▀█▀▀▀ ▄▀▀▄█\n ██▀▀▄▄▄▄ ▀▀▄ \n █▄█▄▄█ █▄█▄█▄█ "], ["injured_1", " ▄▄▄▄ \n ▄▄▄███▄ \n ▄▄▄▀ ▀█ █▀█\n█ ▀▄▄ █ █▄█\n▀▄▄▄▄▄ █▄█▄█\n ▀▄▄▄▄▄ ▀▀ ▄██\n █▄█ ▄ ▀██ █\n █▄█▄█▄▄█▄█▄██▄█"], ["injured_2", " \n ▀▀██▄ \n ▄▀▀▀▀▀██ █▀█\n▄▀▀▀ ▄ █ █▄█\n█ ▀▀ █ █ █\n █▀▀▀▀ ▄█▀▀██\n █▀█▀▀ ▄ ▄▄█▀█\n █▄█▄█▄▄█▄█▄██▄█"], ["sleep_1", " \n ▄▄▄ \n▄▄ ▄▀█ █ \n█▄█▄▄▄█ █ ▀▄ \n█▄█▀ █ █ █ \n█▄▀▄ █ ▄ █▄\n█▄ ▄ █ ██\n█▄████▄▄█▄▄▄▄██▀"], ["sleep_2", " \n ▄▄▄ \n▄▄ █▀█ ▄█ █ \n█▄██▀█ ████ █ \n█▄█ █ ▀██▀ █ \n█▄▀▄ █ ▄ █▄\n█▄ ▄ ▄ █ ██\n█▄█████▄▄█▄▄▄██▀"], ["walk_1", " ▀▀██▄ \n ▄▀▀▀▀▀▀██ \n▄▀▀▀ ▀█▄ █ \n█ ▄▄ ▀▀▀ █ \n █▀▀▀ ▄▄ ▄▀ \n █▀▀██▄██ █▄▄▄\n ▄█▄█▄▄█▄▄█▄▄▄▀\n █▄█▄▄█▀█▄█▄█▄█ "], ["walk_2", " ▄▄▄▄ \n ▄▄▄▄███▄ \n ▄▄▄▀ ▄▄ ▀█ \n█ ▄██ █ \n▀▄▄▄▄▀▀ █ \n █▄▄▄▄▄██▄ ▀▄▄▄ \n ▀▄▄█▄▄▄█▄▄▄█▄█ \n █▄█▄█▀▀▀█▄█▄█▄█"]]], + ["candlemon", [["angry", " ▄▄▄▄▄▄ \n ▄▀ ▄▄ ▄▀ ▀\n █ ██ ▄▀ ▀ \n ▄█▄▄▄▄█▄ \n █ ▄ █ \n ▀▄ ▀ ▀▄▀ \n ▄█▀▀ ▄█▄ \n █▄▄█▄▄▄█▄▄▄█ "], ["attack", " ▄▀▀▀▀▀▀█▀ \n █ ▄██▀ ▀▄ ▀ \n ▀▄▀▀▀ ▄▀ \n ▄▀▀▀▀▀▀▀▄ \n █ ▄█ █ \n ▀██▄ █ \n ▄▄███ ▄█▄ \n █▄█▄▄▄█▄▄▄█ "], ["eat_1", " ▄▀▀▀▀▀█ \n █ ▄█▀ ▀▄ \n ▀▄▀▀ ▄▀ \n ▄▀▀▀▀▀▀▀▄ \n ▀▄▄▄▄▀▀ █ \n ████ █ \n ▄█▀▀▀ ▄█▄ \n █▄▄█▄▄▄█▄▄▄█ "], ["eat_2", " ▄▄▀▄▄█ \n ▄▀ ▄▄ █ \n █ ██ █ \n ▄█▄▄▄▄█▄ \n █ ▄ ▄ █ \n ▀▄▀ ▀ ▀▄▀ \n ▄█▀▀▀▀ ▄█▄ \n █▄▄█▄▄▄█▄▄▄█ "], ["happy", " ▀ ▄▄▄▀▀▀█ ▀ \n▀ █▀ ▄██ ▀█ ▀ \n ▄ ▀▄ ▀▀ ▄▀ ▀ \n ▄▀▀▀▀▀▀▀▀▄ ▀ \n ▀▄ ▄▀▄ █ \n ▀██▄ █ \n ▄▄██▀ █▄▄ \n █▄█▄▄▄▄█▄▄▄█ "], ["injured_1", " ▄ ▄ ▀ \n ▄▀▀ █ \n █ █ █ \n ▀▄ ▄▀ \n ▄▀▀▀▀▀▀▀▀▄ \n █ ▄█ █▄ █ \n ▄█ ▄▄ █▄ \n █▄▄█▄██▄█▄▄█ "], ["injured_2", " \n ▄ ▀▄ \n ▀▄ ▀ \n ▀▄ \n ▄▄▄▄█▄▄▄ \n █ ▄ ▄ █ \n ▄█▄▀▀ ▀▀▄█▄ \n █▄▄█▄▄██▄▄█▄▄█ "], ["sleep_1", " ▄ \n ▄▀▀ █ \n █ █▄ █ \n ▀▄ ▀▀▄▀ \n ▄▀▀▀▀▀▀▀▀▄ \n █ ▄▄ ▄▄ █ \n ▄█ ▄▄ █▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["sleep_2", " ▄▀▄▄ \n ▄█ ▄ █▄ \n █ ██ █ \n ▀▄ ▀▀ ▄▀ \n ▄▀▀▀▀▀▀▀▀▄ \n █ ▀▀ ▀▀ █ \n ▄█ ██ █▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["walk_1", " ▄▄▄▄▄▄█ \n ▄▀ ▄▄ ▄▀ \n █ ██ ▄▀ \n ▄█▄▄▄▄█▄ \n █ ▄ ▄ █ \n ▀▄▀ ▀ ▀▄▀ \n ▄█ ▀▀ ▄█▄ \n █▄▄█▄▄▄█▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄▄ \n ▄▀ ▄▄ ▄▀ ▄ \n █ ██ ▄▀ \n ▄▄█▄▄▄█▄ \n █ ▄ ▄ █ \n ▀▄▀ ▀ ▀▄▀ \n ▄█ ▀ ▄▀▀▀▄ \n █▄█▄▄▄▄███▀▀ "]]], + ["cannonbeemon", [["angry", " ▄▄ ▄▄ \n█▀▀▄▄▀▀▀▄▄▀▀█ \n ▀█ ▀▄▀ ▀█ ▀▄ \n ▄▀▀▀ ▀▀█▀ ▀▄▀ \n █ ▄█ █▄▀▀▀█\n ▀▄▄ ▄▄▀▄▀▀▀▄▀\n █▀█▀▀▀ █ ▀ █ \n ▀▄█▄▄▄▀▀ ▀▀▀ "], ["attack", " ▄▄█▀▀▄▄▄▀▀▄▄▄ \n ▀▄▄▀▀▄ ▄▀▀▄▄▀▄ \n ▀▄▄▄▀▄▄▄▄▀▄ █\n ▄▀ ▄▀▄ ▀▄ ▄█▄\n ▀▄ ██▀ █▀▄▄▀\n ▀▀▄▄██▀▀▀▄ \n█▀█▀▀▀ █ ▀ █ \n▀▄█▄▄▄▄█▀ ▀▀▀ "], ["eat_1", "▄▄▄▀▀▄▄▄▀▀▄▄▄ \n▀▄▄▀▀▄ ▄▀▀▄▄▀▄ \n ▀▄▄▄▀▄▄▄▄▀▄ █ \n ▄▀ ▄▀▄ ▀▄ ▄█▄▄\n█▄█▀█▄▄ █▀ ▄▀\n ▀▀ ▀▀ ▀█▄▄▀▀▀▄ \n █▀█▀▀▀ █ ▀ █ \n ▀▄█▄▄▄▀▀ ▀▀▀ "], ["eat_2", "▄▄▄▀▀▄▄▄▀▀▄▄▄ \n▀▄▄▀▀▄ ▄▀▀▄▄▀▄ \n ▀▄▄▄▀▄▄▄▄▀▄ █ \n ▄▀ ▄ ▀▄ ▄█▄▄\n ▀▄ ▀ ▀ ▄▀█▄▄ █\n ▄██▄▄█▀ █ ▄ █ \n █ █ ▄▄▀▄▄▄▀ \n ▀▀▀▀▀ "], ["happy", "▄▄▄▀▀▄▄▄▀▀▄▄▄ \n▀▄▄▀▀▄ ▄▀▀▄▄▀▄ \n ▀▄▄▄▀▄▄▄▄▀▄ █ \n ▄▀ ▄▀▄ ▀▄ ▄█▄▄\n ▀▄ ▄▄ █▀ ▄▀\n ▀▀ ▀█▄▄▀▀▀▄ \n █▀█▀▀▀ █ ▀ █ \n ▀▄█▄▄▄▀▀ ▀▀▀ "], ["injured_1", " \n ▄▄ ▄▄ \n█▀▀▄▄▀▀▀▄▄▀▀█ \n ▀█ ▀▄▀ ▀█ ▀▄ \n ▄▀▀▀ ▀▀█▀ ▀▄▀ \n █ █▄ ▀▄██▀█\n █▀█▀▄▄▀▀█ ▄ █▀\n █▄█▄▄▄▄▄▀▄▄▄▀ "], ["injured_2", " \n \n▄▄█▀▀▄▄▄▀▀▄▄▄ \n▀▄▄▀▀▄ ▄▀▀▄▄▀▄ \n █▄▀▀▀▀▀▄ ▀▄ █ \n █ █▄ ▀▄██▀█\n █▀█▀▄▄▀▀█ ▄ █▀\n █▄█▄▄▄▄▄▀▄▄▄▀ "], ["sleep_1", " \n▄▄▄▀▀▄▄▄▀▀▄▄▄ \n▀▄▄▀▀▄ ▄▀▀▄▄▀▄ \n ▀▄▄▄▀▄▄▄▄▀▄ █ \n ▄▀ ▄▄ ▀▄ ▄█▄▄\n ▀▄ ▄▄▀█▄▄ █\n █▀█▀▀▀ █ ▄ █ \n ▀▄█▄▄▄▀▀▀▄▄▄▀ "], ["sleep_2", " ▄▄ ▄▄ \n█▀▀▄▄▀▀▀▄▄▀▀█ \n ▀█ ▀▄▀ ▀█ ▀▄ \n ▄▀▀▀ ▀▀█▀ ▀▄▀ \n █ ▀▀ █▄▀▀▀█\n ▀▄▄ ▄▄▀▄▀▀▀▄▀\n █▀█▀▀▀ █ ▀ █ \n ▀▄█▄▄▄▀▀ ▀▀▀ "], ["walk_1", "▄▄▄▀▀▄▄▄▀▀▄▄▄ \n▀▄▄▀▀▄ ▄▀▀▄▄▀▄ \n ▀▄▄▄▀▄▄▄▄▀▄ █ \n ▄▀ ▄▀▄ ▀▄ ▄█▄▄\n ▀▄ ██▀ █▀ ▄▀\n ▀▀ ▀█▄▄▀▀▀▄ \n █▀█▀▀ █ ▀ █ \n ▀▄█▄▄▀▀ ▀▀▀ "], ["walk_2", "▄▄▄▀▀▄▄▄▀▀▄▄▄ \n▀▄▄▀▀▄ ▄▀▀▄▄▀▄ \n ▀▄▄▄▀▄▄▄▄▀▄ █ \n ▄▀ ▄▀▄ ▀▄ ▄█▄▄\n ▀▄ ██▀ ▄▀█▄▄ █\n ▄██▄▄█▀ █ ▄ █ \n █ █ ▄▄▀▄▄▄▀ \n ▀▀▀▀▀ "]]], + ["centarumon", [["angry", " ▄▄▄▄▄ \n █▄▄▄▄▀▄ \n ▄▀ ▀▄ ▀█ \n ▄▀█▀▀ █ █▀▀▄ \n█▀██▄▄▄█ ▄▀▀▄ █\n█▄██▄▄▄▀▀▀▀▄▄▄▄▀\n █ █▄ ▄▄ ▄ █\n █▄▄█▄▄▄█▀█▄▄█"], ["attack", " █▀▀▀▀▄ \n ▄▀▀█▀▀▄█ \n █▄▄ █▀ █ \n█▀▀█▄█▄▄ █▄▄▀ \n████▄▀ █▀ █ \n▀▀▀▀▀▄▄▄▄▄▄▄▀ ▀▄\n ▄▀ █▄ ▄▄▄ █\n █▄▄█▄▄▄█▀█▄▄▄█"], ["eat_1", " ▄▀██▀█▀▄ \n █▄█▄▄▄ █ █ \n ▀█████▀▄█ \n ▄▀▀██▀ █ ▄▀▀▀▄\n █▀██▀▀▀▀ █▀ █\n █▄██▀▀▀▀▀ ▀▀▀▄\n █ █▄ ▄▄ ▄ █\n █▄▄█▄▄▄█▀█▄▄█"], ["eat_2", " ▄▄▄▄▄ \n █▄█▄▄▀▄ \n█▀█▄▀ ▀▄█▀▀▀▄ \n█▄██▀█▀▀ █ ▄▀ █ \n █ ▀▄█▄▄▄▀▀ ▄▄▀ \n ▀▄▄▄▄▀▀▀▀▀ ▀▄\n █ █ ▀█ ▄ █\n █▄▄██▀▀▀▀█▄▄█"], ["happy", " █▀█▀▀▄ \n ▄▀▀▀█▀▄█ \n ▄▄▄█▄▄▄▄ ██▀▀▄ \n █ ██ █ ██▀ █ \n ▀█▀ ▀▀▀▀▀▄▄▄▀ \n ▀█▀▀▀▀▀▀▀▀▀▀▄\n █ █▄ ▄▄ ▄ █\n █▄▄█▄▄▄█▀█▄▄█"], ["injured_1", " ▄▄▄▄▄ \n ▄▀▄█▄▄▀▄ \n █ ▀ ▀▄▀█ \n █▀█▀ █ █ \n █▄█▄▄▄▀▀▄ \n ▄▀▄▄▄▄▄▄██ █▀▄ \n█▀█▀▄▀ ▄█ █▄█ \n█▄█▄█▄▄▄▄███▄▄█ "], ["injured_2", " \n █▀█▀▀▄ \n ▄▀▄▀▀█▀▄█ \n █ █ █ \n █▀█▀ █▄█ \n █▄█▄▄█▄█ ██▀▄ \n█▀▄▀▄▀ ▄▀ █▄█ \n█▄█▄█▄▄▄█▄▄█▄▄█ "], ["sleep_1", " \n █▀█▀▀▄ \n ▄▀▄▀▀█▀▄█ \n █ █ █ \n █▀█▀ █▄▀▀▄ \n █ ▀████▄▀▀▄▀▀▄\n █▄▀▄▀ ▄██ ▄█\n ▀▄█▄▄▄▄██▄▄▄█"], ["sleep_2", " ▄▄▄▄▄ \n ▄▀▄█▄▄▀▄ \n █ ▀ ▀▄▀█ \n █▄▄▄ █ █ \n ▄▀▀▄█▄▄▄▀▀ ▀▄ \n █▀█▄▄▄▄▄▄█▀ ▄▀▄\n █▄█▀▄▀ ▄▄█▀ ▄█\n ▀▄█▄▄▄▄██▄▄▄█"], ["walk_1", " █▀█▀▀▄ \n ▄▀▀▀█▀▄█ \n █▄▄▄▄ █ █ \n ▄█ █ █▄▀▄ \n ▄█▄ ▀▀▀▀▀▄▄ █ \n █ ██▀▀▀▀▀▀▄▄▄▀▄\n ▀▀▀█ █▄ ▄▄ ▄ █\n █▄▄█▄▄▄█▀█▄▄█"], ["walk_2", " ▄▄▄▄▄ \n █▄█▄▄▀▄ \n ▄▀ ▀▄▀█ \n ▄▀█▀█▀▀ █ █▀▀▄ \n█▀██▄█▄▄▄▀█ ▀ █ \n█▄██▄▄▄▀▀▀▀▀▀▀▀▄\n █ █ ▀█ ▄ █\n █▄▄██▀▀▀▀█▄▄█"]]], + ["cerberusmon", [["angry", " ▄▄▄ ▄▄▄ \n ▄███████▀▄ ▄▄ \n████▀ ███ ▄█ ██\n▀█▀█▀█▀█ ▀▀ █▄██\n ██ ▀ ▄ ██ \n █▀▀▀▀▄██▄▄▄▄███\n ████████▀▀████\n █▄██▄█▄█ █▄█▄█"], ["attack", " ▀██▄▄▄███ \n▄▄███▀▀██▀ █ ▄▄ \n████▄▄██▀▄█▀▄ ██\n▀▄ ▀ ▀ █ ▄ ▀███\n ▀▀████▄ ▀ ██ \n ▄▀██▀█▀████████\n ▀▀▀▀▀▀▀▀ ▀█████\n ██▄█▄█"], ["eat_1", " ▄▄▄ ▄▄▄ \n ▄███████▀▄ ▄▄ \n████▀▄▀██ ▄█ ██\n█▀▀█▀█▀█ ▀▀ █▄██\n ▀▄▄▄▄▄█ ▀ ▄ ██ \n ██▀██▄▄▄▄███\n ▄▄██▄███▀▀████\n █▄██▄█▄█ █▄█▄█"], ["eat_2", " ▄▄▄ ▄▄▄ \n ▄███████▀▄ ▄▄ \n████▀ ▄██ ▄█ ██\n▀█▀█▀█▀█ ▀▀ █▄██\n ▄▄▄▄▄▀█ ▀ ▄ ██ \n ▀▄▄▄▄███▄▄▄▄███\n ▄▄██▄███▀▀████\n █▄██▄█▄█ █▄█▄█"], ["happy", " ▄▄▄ ▄▄▄ \n ▄███████▀▄ ▄▄ \n████▀▄▀██ ▄█ ██\n▀█▀█▀█▀█ ▀▀ █▄██\n ▄▄▄▄▄▀█ ▀ ▄ ██ \n ▀▄▄▄▄███▄▄▄▄███\n ▄▄██▄███▀▀████\n █▄██▄█▄█ █▄█▄█"], ["injured_1", " \n \n ▀██▄▄▄███ \n▄▄██▀████▀ █ ▀█▄\n████▄▄██▀▄█▀▄ ██\n▀▄ ▀ ▀ █ ▄ ▀██▀\n ▄█████▀▄ ▀▄██▄\n█▄██▄█▄█████▄█▄█"], ["injured_2", " \n \n ▄▄▄ ▄▄▄ \n ▄███████▀▄ ▄▄ \n████ ▀███ ▄█ ██\n█▀▀█▀█▀█ ▀▀ █▄██\n █▄▄▄▄▄▀▄▀ ▀▄██▄\n█▄██▄█▄█████▄█▄█"], ["refuse", " \n ▄▄▄ ▄▄▄ ▄▄ \n ▄██████▀ █ ██\n████▀ ██▀▄█▀█▄██\n█▀▀█▀█▀█ ▄ ██ \n ▀▄▄▄▄▄█▄ ▀ ███\n ▄▄██████▀▀████\n █▄██▄█▄█ █▄█▄█"], ["sleep_1", " \n ▄▄▄ ▄▄▄ \n ▄███████▀▄ ▄▄ \n████▀▀███ ▄█ ██\n█▀▀█▀█▀█ ▀▀ █▄██\n ▀▄▄▄▄▄█ ▀ ▄ ██ \n ▄▄███ █▄▄▄▄███\n █▄█▄█▄█████▄█▄█"], ["sleep_2", " \n \n ▀██▄▄▄███ \n▄▄███████▀ █ ▀█▄\n████▄▄██▀▄█▀▄ ██\n▀▄ ▀ ▀ █ ▄ ▀██▀\n ▄█████▀▄ ▀▄██▄\n█▄██▄█▄█████▄█▄█"], ["walk_1", " ▄▄▄ ▄▄▄ \n ▄███████▀▄ ▄▄ \n████▀ ▄██ ▄█ ██\n█▀▀█▀█▀█ ▀▀ █▄██\n ▀▄▄▄▄▄█ ▀ ▄ ██ \n ██▀██▄▄▄▄███\n ▄▄██▄███▀▀████\n █▄██▄█▄█ █▄█▄█"], ["walk_2", " ▀██▄▄▄███ \n▄▄███▀▀██▀ █ ▄▄ \n████▄▄██▀▄█▀▄ ██\n▀▄ ▀ ▀ █ ▄ ▀███\n ▀▀████▄ ▀ ██ \n ▄▀██▀█▀████████\n ▀▀▀▀▀▀▀▀ ▀█████\n ██▄█▄█"]]], + ["cerberusmon_x", [["angry", " █▀▄ ▄▄ ▄▀█ \n ▀▄▀▀ ▀ ▄▀ \n▄▀▀ ▄█ ▄▀█▄ ▄▄ \n█▄▄▄▄▄▄█ ▀ █▄█ █\n ▀▄▄▄▄ █ ▀ █▀ █\n ▀▄ ▀▀▀ ▀▄\n ▄█ █ ▄ ▄█ █\n █▄▄█▄█▄██▄█▄▄█"], ["attack", " █▀▄ █▀▄ \n █▄█▀▀█ █ \n ▄▄▀ ▄█ █ ▄▄ \n█▄▄▄▄▄▄ █▀█▀▄█ █\n█ ███ ██▀ ▄ ██ █\n▀██████ ▀▀ █ ▀▄\n █▄▄▄▄▀▀▀▀▀▀▀ ▀█\n█▄█▄▄▄▄█▀▀▀█▄█▄█"], ["eat_1", " █▀▄ ▄▄ ▄▀█ \n ▀▄▀▀ ▀ ▄▀ \n▄▀▀ ▄▀▄ ▄█▄▄ ▄▄ \n█▄▄▄▄▄▄█ ▀ █▄█ █\n █████ ▀ █▀ █\n ▄██▄▄▀ ▀▀▀ ▀▄\n ▀▄▄▄▄█▀ ▄█▀ █\n █▄▄█▄▄▄██▄▄▄▄█"], ["eat_2", " \n █▀▄ ▄▄ ▄▀█ \n ▀▄▀▀ ▀ ▄▀ \n▄▀▀ ▄▀▄ ▄██▄ █▀▄\n█▄▄▄▄▄▄█ ▀ █▄█ █\n ▀▄▄▄▄ ▀ ▀ █ █\n ▄▄█▄▀ ▀▀██▄ ▀▄\n █▄█▄▄▄▄███▄▄▄▄█"], ["happy", " █▀▄ ▄▄ ▄▀█ \n ▀▄▀▀ ▀ ▄▀ \n ▄▀▀ ▄▀▄ ▄██▄ \n █▄▄▄▄▄▄█ ▀ █ \n ███████ ▀ █▀▄\n▄▀▀▄▄▄▄▀▀▀█▀██ █\n▀▄██ ▀▄▄█▄ ▀▄ █\n █▄▄█▄▄▄█▄▄█▄█▀ "], ["injured_1", " \n \n \n █▀█▄▀▀▄▀▀█ \n ▄▄▀▄ ▄▀█▀█▄▀▀▄\n█ ▀▀ █ ▄▄▀█▀ █\n▀█▀▀▀██▀▄▄▄▄█ ▀▄\n█▄███▄▄▄▄█▄▄▄▄▄█"], ["injured_2", " \n \n \n ▄▄▄ ▄▄ ▄▄▄ \n ▀▄▀▀ █▄▄█▄▀▀▄\n▄▀▀ █▄ █ ▀ █▀▀ █\n█▄▄▄▄▄▄█ ▀▀ █ ▄▀\n██▄▄▄██▄█████▄▄█"], ["sleep_1", " \n \n ▄▄▄ ▄▄ ▄▄▄ \n ▀▄▀▀ ▀▄▄▀ ▄▄ \n▄▀▀ ▄▄ ▄▀█▀█ █ █\n█▄▄▄▄▄▄█ ▄ ▀█▀ █\n █▄▄▄▄ ▀ ▄▄▄▀ ▀▄\n█▄█▄▄▄▄███▄▄▄▄▄█"], ["sleep_2", " \n \n █▀█▄▀▀▄▀▀█ \n ▄▄▀ ▄█ ▄▄ \n█ ▀▀ ▄▀█▀██▄ █\n▀█▀▀▀▀▀█ ▄ ▀█▀ █\n ▄███▀ ▄▄▄▀ ▀▄\n█▄█▄▄▄▄███▄▄▄▄▄█"], ["walk_1", " █▀▄ ▄▄ ▄▀█ \n ▀▄▀▀ ▀ ▄▀ \n▄▀▀ ▄█▀ ▄██▄ █▀▄\n█▄▄▄▄▄▄█ ▀ █▄█ █\n ▀▄▄▄▄ █ ▀ █ █\n █ ▀▀▀ ▀▄\n ▄▄▀ █ ▄▄▄█ █\n █▄█▄█▄█▄▀ █▄█▄█"], ["walk_2", " █▀▄ ▄▄ ▄▀█ \n ▀▄▀▀ ▀ ▄▀ \n▄▀▀ ▄█▀ ▄███ ▄▄ \n█▄▄▄▄▄▄█ ▀ █▄█ █\n ▀▄▄▄▄ █ ▀ █ █\n▄▀▄ ▄▄ ▀▀▀ ▄▀ \n█ █ ▄▀█▀█▀▄ ▀▀▄\n ▀▀▀▀▀ ▀▄█▄▄▄▀"]]], + ["chaosdramon", [["angry", "▄▄ ▄▄▄▄▄▄ \n█ █▄▀▀▀▀ ▄▄████▄\n█ ▄▄█▀ ▄█▀▀▀██\n▀▄ ▄▄▄▄▄▀▄█▀▀▄ █\n █ ▄▄▄▄▀ ▀▄▄▀██\n▄▀ ▀▀▀▄ ▄▀ ██\n █▄▀▀▀█▄ █▄▄█▄█\n█▄█▄▄▄▄▀▀█▄█▄█▄█"], ["attack", "█▀▄▄▄▄▄▄▀▀▀███▄ \n█ ▄██▀ ▀██████\n▀▄ ▄ ▄ ▀█▀▀███\n ▀████▀ ▄▀▄▄▀ █\n █▀▀▀ ▄▀ █ █\n ▀▄▀██ █▀▀█\n ██▀ ▀█▄▄▀▀▀▄▄▀\n █▄█▄▄▄▄█▄█▄█▄█ "], ["eat_1", "█▀▄ ▄▄▄▄▀▀▀███▄ \n█ ▀▀ ▄▄ ▀██████\n█ ▀ ▀▄▀█▄▄ ▀█\n ▀▄██████ █ █▄█\n ▄▀█▀▀▀▀▄▀▄█▀ ██\n▀▄ ▀▄██▀ █ ▄▀█\n ██▀ ▀█▄▄▀▀▀▄▄▀\n █▄█▄▄▄▄█▄█▄█▄█ "], ["eat_2", "▄▄ ▄▄▄▄▄▄ \n█ █▄▀▀▀▀ ▄▄████▄\n█ ▄▀▀▄ ▄█▀▀▀██\n▀▄ ▄▄▄▄▄▀▄█▀▀▄ █\n █ ▄▄▄▄▀ █▄▄▀██\n▄▀ ▀▀▀▄ █ ██\n █▄▀▀▀█▄ █▀▀▀▄█\n█▄█▄▄▄▄███▄█▄█▄█"], ["happy", "█▀▄ ▄▄▄▄▀▀▀███▄ \n█ ▀▀ ▄▄ ▀██████\n█ ▀ ▀▄▀█▄▄ ▀█\n▄▀▄██████ █ ▄▀▀█\n▀▄▀█▀▀▀▀▄▀ █ ▄█\n ▀█▄██▀ ▀▄▄█▀█\n ▄▄▀ ▀█▄▄▀▀▀▄▄▀\n █▄█▄▄▄▄█▄█▄█▄█ "], ["injured_1", " \n█▀▄ ▄▄▄▄▀▀▀█▄▄ \n█ ▀▀▄ ▀█████▄\n█ ▀▀▀▄▀███▀██\n ▀▄▀▀▀▀▀▄▀█ █▄█\n █▄██▀▀ █▀ ██\n █▄▄▀▄█ ▄▀ ▄▀█\n █▄█▄▄▄███▄▄█▄█▀"], ["injured_2", " \n▄▄ ▄▄▄▄ \n█ █▄▀▀▀▀ ▄▄███▄ \n█ ▀▄▄▄ ▄██████\n▀▄ ▄▄▄▄▄▀▄█▀▀▄▀█\n █ ▄▄▄▄▀ ▀▄▄▀██\n █▄██▀▄ ▄▀▀ ██\n █▄█▄██▄▄█▄▄▄█▄█"], ["sleep_1", " \n▄▄ ▄▄▄▄▄▄ \n█ █▄▀▀▀▀ ▄▄████▄\n█ ▄▄▄ ▄███▀██\n▀▄ ▄▄▄▄▄▀▄█ █▄█\n▄▀█ ▄▄▄▄▀ ▄██▄▄█\n█▀ ▀▄ █ █ ▀ ▀ █\n█▄▄▄▄█████▄▄▄▄▄█"], ["sleep_2", " \n█▀▄ ▄▄▄▄▀▀▀█▄▄ \n█ ▀▀ ▀█████▄\n█ ▀▀▀▄▀███▀██\n ▀▄▀▀▀▀▀▄▀█ █▄█\n▄▀█▄██▀▀ ▄██▄▄█\n█▀ ▀▄ █ █ ▀ ▀ █\n█▄▄▄▄█████▄▄▄▄▄█"], ["walk_1", "█▀▄ ▄▄▄▄▀▀▀███▄ \n█ ▀▀ ▄▄▄ ▀██████\n█ ▀▀▀ ▄▀█▄▄ ▀█\n ▀▄▀▀▀▀▀▄▀█ █▄█\n ▄▀▄██▀▀ ▄█▀ ██\n▀▄ ▄█ █ ▄▀█\n ██▀ ▀█▄▄▀▀▀▄▄▀\n █▄█▄▄▄▄█▄█▄█▄█ "], ["walk_2", "▄▄ ▄▄▄▄▄▄ \n█ █▄▀▀▀▀ ▄▄████▄\n█ ▄██▀ ▄█▀▀▀██\n▀▄ ▄▄▄▄▄▀▄█▀▀▄ █\n █ ▄▄▄▄▀ █▄▄▀██\n▄▀ ▀▀▀▄ █ ██\n █▄▀▀▀█▄ █▀▀▀▄█\n█▄█▄▄▄▄▀▀█▄█▄█▄█"]]], + ["chaosdramon_x", [["angry", "▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄ \n▀▄▄▀ ▄ ▄██▄▄██\n█ ▄ ▀▀ ▀█▀█████\n▀█▀▀▀▀▄ ▄▀▄▄███ \n ▄██▀▀▀▀▄█ ▄███▄\n█ ▄█ ▄██ ▀▄▀███\n ██▄▀▀████▄█▄██ \n█▄█▄▄████▄█▄█▀ "], ["attack", " █▀▀▄▀▀▀▀▀▀▄ \n ▄▀▀ ▄█ █▀ \n ▄█ ▄▄▄▄ █▄▄ \n█▀██▀█████████▀█\n█▄██▄█████████▄█\n ▀▀▄▀▀█▀▄ ▄███ \n ▄██▄ ▀█ ▄██▄ \n █▄█▄▄█▀▀█▄█▄█ "], ["eat_1", "█▀▀▄▀▀▀▀▀▀▄█▀▀█▄\n▄▀▀ ▄▀▄ ███████\n█▄▄█▄▄ █ ▀███▀\n ▀█████▄▀▄▀▀███ \n ▄▀▀▀▀▀▄▀▀▄ ████\n█ █▀███ ▄▀ █▀▀█▀\n▀█▄█▄ ▀█▄▄████ \n█▄█▄▄█▀▀█▄█▄█ "], ["eat_2", "▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄ \n▀▄▄▀ ▄ ▄██▄▄██\n█ ▄ ▀ ▀ █▀█████\n▀█▀▀▀▀▄ ▄▀▄▄███ \n ██▀▀▀▀▄█ ███▄\n▄▀ ▄█ ▄▀ ▄▀▄████\n█▄█▄▀▀█▄▀▄▄█▄▄█ \n█▄█▄▄████▄█▄█▀ "], ["happy", "█▀▀▄▀▀▀▀▀▀▄█▀▀█▄\n▄▀▀ ▄▀▄ █▀█████\n█▄▄█▄▄ █▄▄███▀\n▄██████▄█▀ ▄▀██ \n█ █▄▄▄▀▄▀ ▀ ▄███\n ▀▄▄█▄█▀▄▄██▀▀█▀\n ▄██▄ ▀█ ▄████ \n█▄█▄▄█▀▀█▄█▄█ "], ["injured_1", " ▄▄▄ \n▄▄▄ ▄▄▄▄▄▄ █▄▄██\n▀▄▄▀ ▄ ▄██████\n█ ▄ ▀▀ ▀█▀████ \n▀█▀▀▀▀▄ ▄▀▄▄███ \n█ ██▀▀▀▀▄▀ ▀█▀▀█\n▀▄█▄▀▀███▄█▄█▀▀ \n█▄█▄▄████▄█▄█ "], ["injured_2", " \n ▄▀▀█▄\n█▀▀▄▀▀▀▀▀▀▄█████\n▄▀▀ █▄ ▄██████▀\n█▄▄█▄▄ █ ▀███ \n▄▀▄▄▄▄█▄▀▄▀████ \n▀▄█▄▀▀███▄▄▄█▄▄▀\n█▄█▄▄████▄█▄█▀ "], ["sleep_1", " \n \n▄▄▄ ▄▄▄▄▄▄▄█▀▀█▄\n▀▄▄▀ ▄██████\n█ ▄ ▀▀ ▀█ ▀███▀\n▀█▀▀▀▀▄ ▄▀▀▀███ \n█ ▀██▀ ▄▀█▀█▀███\n█▄▄▄█▄█▄▄█▄▄▄██▀"], ["sleep_2", " \n \n█▀▀▄▀▀▀▀▀▀▄█▀▀█▄\n▄▀▀ ▄▄ ▄███████\n█▄▄█▄▄ █ ▀███▀\n █▄▄▄▄█▄▀▄▀▀███ \n█ ▀█▄ ▄▀█▀█▀███\n█▄▄▄█▄█▄▄█▄▄▄██▀"], ["walk_1", "█▀▀▄▀▀▀▀▀▀▄█▀▀█▄\n▄▀▀ ▄█ ▄███████\n█▄▄█▄▄ █ ▀███▀\n ▀▄▄▄▄█▄▀▄▀▀███ \n ▄▀▀▄ ▄▀▀▄ ████\n█ ▄▀█▄█ ▄▀ █▀▀█▀\n▀█▄█▄ ▀█▄▄████ \n█▄█▄▄█▀▀█▄█▄█ "], ["walk_2", "▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄ \n▀▄▄▀ ▄ ▄██▄▄██\n█ ▄ ▀▀ ▀█▀█████\n▀█▀▀▀▀▄ ▄▀▄▄███ \n ██▀▀▀▀▄█ ███▄\n▄▀ ▄█ ▄▀ ▄▀▄████\n█▄█▄▀▀█▄▀▄▄█▄▄█ \n█▄█▄▄████▄█▄█▀ "]]], + ["chaosmon", [["angry", " ▄▄ \n █ ▀██▄▄▄▄▄ \n █ █▀ █▄▄▀ \n ▄▄█▀█▀▀▀▄█▀▀█ \n ▀▄▄█▀█▀▀█ ▄▄▀ \n █ █ █ ▄██ █ \n ▀█ ▀███▀█ ▄█ \n █▄█▄█▀ ▀███▄█ "], ["attack", " █▀▄▄▄ \n ▄▀ ▄▄▄█▀▀█▀\n █ █▀ █▀▀█ \n ▄▄▀▀▀▀███▀▀▄ █ \n█ ██ ▄▄█▀ \n ▀▀▄▄▄▄█████ \n ▄▀ █▀ █▄ █▄ \n █▄█▄█ █▄█▄█ "], ["eat_1", " █▀▄▄▄ \n ▄▀ ▄▄▄█▀▀█▀ \n █▄█▀▄▀███▄▄ \n █▀▀██████▀ █ \n ▄▀██▀▀▀▄█▄█▀▄ \n █ █▀▀█▀▀█ ▄▀ \n ▀▀█▀▀███▀███ \n █▄█▄█ █▄█▄█ "], ["eat_2", " ▄▄ \n █ ▀▀▀▄▄▄▄▄ \n █ ▄█▀██▄▄▀ \n ▄▄███▄█▄██▀▀█ \n ▀▄▀█▄▄▄▄█ ▄▄▀ \n █ █ ▄▀ ▄██ █ \n ▀█▀▀█████ ▄█ \n █▄█▄█▀ ▀███▄█ "], ["happy", " █▀▄▄▄ \n ▄▀ ▄▄▄▀▀█▀ \n █ █▀▄▀██▀▀▄ \n █▀▀████▀█▀ ▄▀ \n ▄▀██▀▀▀▄█▄▀ \n █ ▄█▀█▀███ \n ▀▀█▀▀██▄▀█▄ \n █▄█▄█ █▄█▄█ "], ["injured_1", " \n ▄▄ \n █ ▀▀▀▄▄▄▄▄ \n █ ▄▀██▄▄▀ \n █▀▀█▄▄█▄▄██▀▀█ \n ▄█▄█▄█▄▄▄█ ▄█▀ \n █ ▀█▄ ▀ ▄█▀ █ \n ▀▄▄███████▄▄▄█ "], ["injured_2", " \n \n █▀▄▄▄ \n ▄▀ ▄▄█▀▀█▀ \n ▄▄█ █ ▀███▄▄ \n █▄█▀█▀▀▀██ ▄█ \n █ ▀█▀█▀▀▀█▀ █ \n ▀▄▄██▄▄▄██▄▄▄█ "], ["sleep_1", " \n █▀▄▄▄ \n ▄▀ █▀▀█▀ \n █▄▄███▀██▄▄ \n █▀▀▄█▄▄▄█▀ █ \n ██▀▄▀ █▄▀▀▄ \n ██ ▀█▄▄██▀ █ \n █▄█▄█▀▀▀█▄▄██ "], ["sleep_2", " ▄▄ \n █ ▀▀▀▄▄▄▄▄ \n █ ▄▄▄█▄▄▀ \n ▄▄█▀█▀▀▀▄█▀▀█ \n ▀▄▄█▀█▀▀█ ▄▄▀ \n ▄▀█ █ ▄██ █ \n ▀█ ▀███▀█ ▄█ \n █▄█▄█▀▀▀███▄█ "], ["walk_1", " █▀▄▄▄ \n ▄▀ ▄▄█▀▀█▀ \n █▄▄█▄█▀██▄▄ \n █▀▀▄█▄▄▄█▀ █ \n ▄▀█▀▄▀ █▄▀▀▄ \n █ █▄█▄▄██▀ █ \n ▀█ ▀██▄▀▄▄█ \n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄ \n █ ▀▀▀▄▄▄▄▄ \n █ ▄▀██▄▄▀ \n ▄▄█▀█▀▀▀▄█▀▀█ \n ▀▄▄█▀█▀▀█ ▄▄▀ \n █ █ █ ▄██ █ \n ▀█ ▀███▀█ ▄█ \n █▄█▄█▀ ▀███▄█ "]]], + ["cherrymon", [["angry", " ▄▄██▀▀████▄▄ \n ▄▀▀█▄██▄█▀▀███ \n█▄██▄████▄██▄███\n███████████████▀\n█▀█ ▀█▀ ▀██▀▀██\n ▀█▄ ▄█▀ ▀ ██▀\n ▄▀▄ ▄ ▀▀█ \n█▄▄▄██▀▀█▄▄█▄▄█ "], ["attack", " ▄▄███▀▀█▄▄▄ \n █▀▄▄▀█▄██▄█▀▀█ \n█▀█████▀▀██▄██▄█\n█ ▀█ ▀ ▄▄▀███ █\n▀▄▄▄▀ ▀▀ ▀ █\n ▀▀█████▄ ▀██▀\n ▄▄██▀▀▀█ ▀▄ \n █▄▄██▀▀█▄▄█▄▄█"], ["eat_1", " ▄▄███▀▀█▄▄▄ \n █▀▄▄▀█▄██▄█▀▀█ \n▄██████▀▀██▄██▄█\n██ █ ▀ ▄ ▀███▀█\n▀█▄▄▀ ▀ ▀ ▀ █\n ▀▀█████▄ ▀██ \n ▄▄█▀▀▀▀█ ▀▄ \n █▄▄██▀▀█▄▄█▄▄█"], ["eat_2", " ▄▄███▀▀███▄▄ \n ▄████▄██▄█████ \n██▀▄▄▀████▀▄▄▀██\n█▀█████████████▀\n█ █ ▀█▀ ▀██ ███\n ▀█▀▄ ▄▀ ▀ ██▀\n ▄▀▄ ▄ ▀█ \n█▄▄▄██▀▀█▄▄█▄▄█ "], ["happy", " ▄▄▄███▀▀█▄▄▄ \n █▀▄▄▀█▄██▄█▀▀█ \n███████▀▀██▄██▄█\n█▄ █ ▀ ▄▄ ▀█▀ ▄█\n▀█▄▄▀ ▀ ▀ ▀ ██\n ▀▀▀██████ ▀█▀ \n ▄▄▄█▀▀▀██ ▀▄ \n █▄▄██▀▀▀█▄▄█▄▄█"], ["injured_1", " ▄▄▄▀▀███▄▄▄ \n ▄▄██▄█████▀▀█▄ \n▄█▀▀██████▄████▄\n█▄██▀███▀▀██████\n█▀▀█ ▄▀ ▄ █▀ ▄█\n█▀▄▄▀▀ ▀▀ ▄▀ \n ▄▀ ▄█▀▀▄ ▀▀▄ \n █▄█▄▀▀▀▀▀▄▄█▄▄█"], ["injured_2", " ▄▄▄▄▄ \n ██▀▄▄██████ \n ██▀▀█████▀▄▄██ \n██▄█████████████\n████▀██▀ ▀███▀█\n█▄ ▀▄▄ ▀▄▄ ▀ ▄▀\n▀ ▀█ ▀▀▄ \n █▄▄▄██▀▀▀▄█▄▄█"], ["sleep_1", " ▄▄▄▄▄ \n ████▀▀█████▄ \n █████▄██▄█████ \n██▀▄▄▀███▀▄▄▀███\n█▀██▀███▀▀███▀██\n█ ▀ ▀ █▀ ██\n ▀▄▀▀ ▀▀▀ ▄▄▀ \n █▄▄█▄▄▄█▄▄▄▄▄█ "], ["sleep_2", " ▄▄▄█▀▀██▄▄▄ \n ▄▄███▄██▄█████ \n▄██▀▄▄▀███▀▄▄▀█▄\n████████████████\n█ █ ▀█▀ ▀██ ██\n▀▄ ▄▄ ▄▄▄ ▀ █▀\n █ █▀ \n █▄▄█████▄▄▄▄█ "], ["walk_1", " ▄▄▄▀▀███▄▄▄ \n ▄▄██▄██▄██████ \n▄█▀▄▄▀█████▀▄▄▀▄\n█▀██████████████\n█ ▀█ ▀█▀ ▄▀██ ██\n▀▄▄▀█ █▀ ▀ █▀\n ▄█ ▀▀▄ \n █▄▄▄██▀▀█▄▄█▄▄█"], ["walk_2", " ▄▄▄▄▄ \n ██▀▄▄▀█████▄ \n ██▀▀███████▀▀█ \n██▄██▄█████▄██▄█\n█ ██▀███▀▀███▀██\n█ █▄ ▀ ▄█ █▀ ██\n ▀█▄▀ ▀ ▄▄▀ \n █▄▄▄█▄▄▄█▄▄▄▄█ "]]], + ["cherubimon_vice_x", [["angry", "▄▄ ▄ ▄▄\n████▄▀▄▀▄▄██████\n ▀█ ▄ ▄▀████▀ \n █ ▀▀ ▀▀ █ \n ▀▄▄██▄▄█▄▀▄ \n ▄▀▄▀ ▀██▀▀▄ \n █ █▄██▄ █ █ \n█▄██▀▀▀▀▀▀████ "], ["attack", "██▄ ▄ ▄ ▄█▄██ \n▀██▀ ▀ ▀██████▀ \n ██▄ ▄█ ▀█▀ \n █ ▄▄▄▄ █ \n █▄████▄█▀▀▄▄ \n▄▀▄█ ▀██▀ █ \n▀▄▄▀▄██▄▄▀▀█▄▄▀ \n █▄▄▄██▀▄▄▄▄█ "], ["eat_1", "██▄▄ ▄ ▄ ▄▄█▄██\n▀██▀▀ ▀ ▀██████▀\n █▄▀▄ ▄▀▄█▀▀▀ \n █ ▄▄▄▄ ▄▀▄ \n ▄▀████▀██▄▀▄ \n▄▀ █ ▄▄ ██▄ █ \n▀▀██████▄██▀▀▀ \n █▄▄█▀▀▀█▄▄█ "], ["eat_2", "▄▄ ▄ ▄▄\n████▄▀▄▀▄▄██████\n ▀█ ▄ ▄▀████▀ \n █▀ ▀ ▀ ▀█ \n ▀▄▄██▄▄█▄▀▄ \n ▄▀▄▀ ▀██▀▀▄ \n ▀▄█▄██▄▄█▄ ▄▀ \n █▄▄█▀▀▀█▄▄█ "], ["happy", "██▄▄ ▄ ▄ ▄▄█▄██\n▀██▀▀ ▀ ▀██████▀\n █▄▀▄ ▄▀▄█▀▀▀ \n█▀█ ▄▄▄▄ ▄█▀▀▄ \n▀▄ ▀████▀█▀ ▄▀ \n ▀█ ▄▄ ██▀ \n ▄█▄███▄██ \n █▄▄█▀▀▀█▄▄█ "], ["injured_1", " \n▄▄ ▄ ▄▄\n████▄▀▄▀▄▄██████\n ▀█ ▄ ▄ ▀████▀ \n █▀▀ ▀▀ █ \n ▀▄▄██▄▄█ \n █ ▀▄▄▀▀ █▄ \n █▄█▄██▄▄█▄▄█ "], ["injured_2", " \n \n██▄▄ ▄ ▄ ▄▄█▄██\n▀██▀▀ ▀ ▀██████▀\n █▄█ █▄ █▀▀▀ \n █ ▄▄ ▄▀ \n ▄▀█▀▀█▀▀▄▄ \n █▄█▄██▄▄█▄▄█ "], ["sleep_1", " \n▄▄ ▄ ▄▄\n████▄▀▄▀▄▄██████\n ▀█ ▀█████▀ \n █▀▀ ▀▀ █ \n▄▄█▄▄██▄▄██▄ \n█ ▀█ ▄▄▀ ▀▄▀▄ \n█▄▄████▄▄▄▄█▄█ "], ["sleep_2", " \n██▄▄ ▄ ▄ ▄▄█▄██\n▀██▀▀ ▀ ███████▀\n █▄▄ ▄▄▀█▀▀▀ \n █ ▄▄ ▄█ \n▄▄▄▀█▀▀▀██▄▀▄ \n█ ▀█ ▄▄▀ ▀▄▀▄ \n█▄▄████▄▄▄▄█▄█ "], ["walk_1", "██▄▄ ▄ ▄ ▄▄█▄██\n▀██▀▀ ▀ ▀██████▀\n █▀▄ ▄▀███▀▀▀ \n █▀ ▄▄▀ ▄▀▄ \n ▄▀█▀▀▀███▄█ \n █ █ ▄▄ █▀ █ \n ▀▄█████▄█▄▄▄▀ \n █▄▄█▀▀▀█▄▄█ "], ["walk_2", "▄▄ ▄ ▄▄\n████▄▀▄▀▄▄██████\n ▀█▄ ▄▄█████▀ \n █▄▀ ▀▄▀▀█ \n ▀▄▄██▄▄█▄▀▄ \n ▄▀▄▀ ▀██▀▀▄ \n █ █▄██▄ █ █ \n█▄██▀▀▀▀▀▀████ "]]], + ["cherubimon_virtue", [["angry", "▄▄ ▄ ▄▄\n█ ▀▀▄▀▄▀▄▄▀▀ ▀ █\n ▀▄█ ▄▀█▄▄▄▀ \n █▀▀ ▀▀ █ \n █▄▄██▄▄▀▄▀█▄ \n █ ▀▄▀▄▀▄█▀▀ █ \n █▄▄█ █ ▄▀ \n█▄███▄▄▄▄▄███▄█ "], ["attack", "█▀▄▄ ▄ ▄ ▄▄▀▄▀█\n▀▄▄▀▀ ▀ ▀█▄ ▄▀\n ██▄ ▄█ ██▀▀ \n █ ▄▄▄▄ █▄▄▄▄ \n▄▀█ ████ ▄▀ █\n█▄▄█▀█▀█▀█▀█▀▄▄█\n ▄▀▀ ▀ ▀ ▀▄ \n █▄▄▄██▀▀█▄▄▄█ "], ["eat_1", "█▀▄▄ ▄ ▄ ▄▄▀▄▀█\n▀▄ ▄▀ ▀ ▀█▄ ▄▀\n █▄▀▄ ▄▀▄█▀▀▀ \n █ ▄▄▄ ▀▄ \n▄▀█▄ ███ ▄▀ ▀▀▄ \n█ █▀█▀█▀█ ▄▀ \n ▀█▀▀ ▀ ▀ ▀▀█ \n █▄▄▄██▀▀█▄▄▄█ "], ["eat_2", "▄▄ ▄ ▄▄\n█ ▀▀▄▀▄▀▄▄▀▀ ▀ █\n ▀▄▀▄ ▄▀█▄▄▄▀ \n █▀ ▀ ▀ ▀█ \n █▄▄██▄▄▀▄▀█▄ \n █ ▀▄▀▄▀▄█▀▀ █ \n █▄▄█ █ ▄▀ \n█▄███▄▄▄▄▄███▄█ "], ["happy", "█▀▄▄ ▄ ▄ ▄▄▀▄▀█\n▀▄ ▄▀ ▀ ▀█▄ ▄▄▄▀\n █▄▀▄ ▄▀▄██ ▀█\n █ ▄▄▄▄▄ █ ▄▀\n▄▀▀▄█████▄▀ ▄▀ \n█ ▄▀▄▀▄▀▄▀▄▀ \n ▀█ ▀▀▄ \n █▄▄▄██▀▀█▄▄▄█ "], ["injured_1", "▄▄ ▄ ▄▄\n█ ▀▀▄▀▄▀▄▄▀▀ ▀ █\n ▀▄▀▄ ▄ ▀█▄▄▄▀ \n █▀▀ ▀▀ █ \n ▀▄▄██▄▄▀▄▀▄ \n ▄▀█▄▀▄▀▄█▀ █ \n █ █ █ █ \n█▄███▄▄▄▄▄███▄█ "], ["injured_2", " \n█▀▄▄ ▄ ▄ ▄▄▀▄▀█\n▀▄ ▄▀ ▀ ▀█▄ ▄▀\n █ ▄ ▄ █▀▀▀ \n █▀▀ ▀▀▄▀▄ \n ███▀█▀█ ▄▄▀▄ \n ▄█ ▀█ ▀ █ █▄ \n█▄█▄▄█▄▄▄█▄▄▄█▄█"], ["sleep_1", " \n█▀▄ ▄ ▄ ▄▄▀▄▀█ \n█ ▄▀ ▀ ▀█▄ ▄▀ \n █ █▀▀▀ \n █▀▀ ▀▀▄█▄▄ \n ▄▀██▀█▀▄▀▄▄▀▄ \n█ ▀▀▄▀ ▀ █ █ █ \n█▄▄▄█▄▄▄▄█▄▄█▀ "], ["sleep_2", " ▄▄ ▄ ▄▄\n █ ▀▀▄▀▄▀▄▄▀ ▀ █\n ▀▄▀ ▀█▄▄▀ \n █▄▄ ▄▄ █ \n ▀▄▄▄▄▄▄█▄▄ \n ▄▀█▄▀▄▀▄▀▄▄ ▀▄ \n█ ▀▀▄ █ █ █ \n█▄▄▄█▄▄▄▄█▄▄█▀ "], ["walk_1", "█▀▄▄ ▄ ▄ ▄▄▀▄▀█\n▀▄ ▄▀ ▀ ▀█▄ ▄▀\n █ █ █ █▀▀▀ \n █ ▄▄ ▄▀▄▄ \n ▄█▀█▀█▀▄█▄▀▀▄ \n █ ▀█ ▀ ▀█ █ \n ▀▄▄█ ▀▄▄▄▀ \n █▄▄▄██▀▀█▄▄▄█ "], ["walk_2", "▄▄ ▄ ▄▄\n█ ▀▀▄▀▄▀▄▄▀▀ ▀ █\n ▀▄▀▄ ▄ ▀█▄▄▄▀ \n █ ▀ ▀ █ \n ▄█▄▄██▄▄▀▄█▀▄ \n█ ▀▀▄▀▄▀▄█ █ \n▀▄▄▄▀ ▀▄▄▄▄▀ \n█▄▄▄█▄▄▄▄▄█▄▄▄█ "]]], + ["cherubimon_virtue_x", [["angry", "▄▄ ▄ ▄ ▄ ▄▄▄▄\n█ ▀█▄█▄█▄█▄▀ ▄▀\n ▀▄▀▄ ▄▀▄▄▄▀ \n █ ▀▀ ▀▀ █ \n ▀▄▄██▄▄▀▄█ \n ▄▀█▄▀▄▀▄▀▀ █ \n █▄█ ▀▄▄█▀▀▄ \n█▄▄██▄▄▄▄█▄▄█▀▀ "], ["attack", "█▀▄▄▀▄▀▄▀▄ ▄▀▀▀█\n▀▄▄▀▀▀▀▀▀█▀ ▄▄▀ \n ██▄ ▄█ █▀ \n █ ▄▄▄ █▄ \n █▄████▄▀▄▀▀▄ \n █ █▄▀▄▀▄▀▀█ █ \n ▀█▀▄ ▄▀▀█▀▄ \n █▄▄▄█▀▀█▄▄▄▄█▀ "], ["eat_1", "█▀▄▄▀▄▀▄▀▄ ▄▀▀▀█\n▀▄ █▀▀▀▀▀█▀ ▄▀ \n █▄▀▄ ▄▀▄█▀▀ \n █ ▄▄▄▄ █ \n ▀▄████▄▀▄█ \n ▄▀█▄▀▄▀▄▀▄ ▀▄ \n ▀▄█▄ ▄▄█▄▄▀▄ \n █▄▄█▀▀▀█▄▄█▀▀▀ "], ["eat_2", "▄▄ ▄ ▄ ▄ ▄▄▄▄\n█ ▀█▄█▄█▄█▄▀ ▄▀\n ▀▄▀▄ ▄▀▄▄▄▀ \n █▀ ▀ ▀ ▀█ \n ▀▄▄███▄▄▀▄ \n▄▀▀█▄▀▄▀▄█▀ ▀▄ \n▀▄▄█ █▄▄▀▄ \n█▄▄██▄▄▄▄█▄▄█▀▀ "], ["happy", "█▀▄▄▀▄▀▄▀▄ ▄▀▀▀█\n▀▄ █▀▀▀▀▀█▀ ▄▀ \n █▄▀▄ ▄▀▄█▀▀ \n▄▀█ ▄▄▄ █▄▀▀▄ \n█ ▀▄▄███▄▀▄▀ ▄▀ \n ▀▄▀▄▀▄▀▄▀▄▄▀ \n ▄█▄ ▄█▄▀▄ \n █▄▄█▀▀▀▀█▄▄█▀ "], ["injured_1", " \n█▀▄▄▀▄▀▄▀▄ ▄▀▀▀█\n▀▄ █▀▀▀▀▀█▀ ▄▄▀ \n █▄█ █▄ █▀ \n █ ▄▄ ▄▀▄ \n ▄▀█▀█▀█▀▄▀▄ \n █ ▀▄▀▄▀ ▄█▀▄ \n█▄█▄▄█▄█▄▄█▄▄▄█ "], ["injured_2", " \n▄▄ ▄ ▄ ▄ ▄▄▄▄\n█ ▀█▄█▄█▄█▄▀ ▄▀\n ▀▄▀▄ ▄ ▀▄▄▀▀ \n █▀▀ ▀▀ █▄ \n █▄▄██▄▄█▀▄ \n █ ▀▀▄▀▄▀ ▄█▀▄ \n█▄█▄▄█▄█▄▄█▄▄▄█ "], ["sleep_1", " \n█▀▄▄▀▄▀▄▀▄ ▄▀▀▀█\n▀▄ █▀▀▀▀▀█▀ ▄▀ \n █▄▄ ▄▄ █▀▀ \n █ ▄▄ ▄▀▄ \n█▀▄█▀█▀█▀█▀█▄ \n█ ▀█ ▀ █ █▀▄ \n█▄▄▄█▄▄▄█▄▄▄█▀ "], ["sleep_2", "▄▄ ▄ ▄ ▄ ▄▄▄▄\n█ ▀█▄█▄█▄█▄▀ ▄▀\n ▀▄▀ ▀▄▄▄▀ \n █▀▀ ▀▀ █ \n ▀▄▄██▄▄▀▀▄ \n█▀▄█▄▀▄▀▄█▀▄▀▄ \n█ ▀▄ █ █ █ \n█▄▄▄█▄▄▄█▄▄▄█▀ "], ["walk_1", "█▀▄▄▀▄▀▄▀▄ ▄▀▀▀█\n▀▄ █▀▀▀▀▀█▀ ▄▀ \n █ █ █ █▀▀ \n █ ▄▄ ▄▀▄ \n █▀█▀█▀▄▀▄ \n ▄▀█▀ ▀ ▀▀▄ ▀▄ \n ▀▄█▄ ▄█▄▄▀▄ \n █▄▄█▀▀▀█▄▄█▀▀▀ "], ["walk_2", "▄▄ ▄ ▄ ▄ ▄▄▄▄\n█ ▀█▄█▄█▄█▄▀ ▄▀\n ▀▄▀▄ ▄ ▀▄▄▄▀ \n █ ▀ ▀ █ \n ▀▄▄██▄▄▀▄█ \n ▄▀█▄▀▄▀▄█▄ ▀▄ \n █▄█ █▄▄▀▄ \n█▄▄██▄▄▄▄█▄▄█▀▀ "]]], + ["chibickmon", [["angry", " \n \n \n ▄▀▀▄ \n █▀█▀ ▄▀▀▀█ \n ▀▄█ ▄ █ \n ▄▀▀▀ ▀▀ ▀▄ \n ▀▄▄▄██▄▄▄▄▀ "], ["attack", " \n ▄▄ \n ▄▀▄▄▀ ▀▄▀█ \n █ █ ▀ █ \n ██▄ ▄█ ▄▀ \n ▄▀ ▄▄▄▄ ▀▄ \n █ ▀▀▀▀ █ \n █▄█████▄█ "], ["eat_1", " \n ▄▄ \n ▄▄▄▄▀ ▀▄▄▄▄ \n █ █ ▀ ▄▀ \n █ ▀ ▀ ▄▀ \n ▄▀ ███ ▀▄ \n █ ▀▀ █ \n █▄▀▀▀▀▀▄█ "], ["eat_2", " \n \n \n ▄▀▀▄ \n █▀█▀ ▄▀▀▀█ \n ▀▄▀▄ ▄ █ \n ▄▀ ▄▄▄ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["happy", " \n \n ▄ ▄▀▀▄ ▄▄ \n █ █▀ ▀ █ \n ▀▄▀▀ ▀ █ \n ▄▀ ████ ▀▄ \n █ ▀▀ █ \n █▄▀▀▀▀▀▄█ "], ["injured_1", " \n \n \n ▄▀▀▄ \n ▄▄▀ ▄▀▄ \n ▄▀▄▀▄ ▄ ▄ ▀▄ \n ▀▄▀▀▀ ▀▀ ▀▄▀ \n ▀▄▄▄██▄▄▄▄▀ "], ["injured_2", " \n \n \n ▄▄▄▄ \n ▄█▀ ▄▀▄ \n ▄▀▄▀ ▄ ▀▄ \n █▄▀▄█ █▄ ▀▄ █ \n ▀▄▄▄██▄▄▄▄▀▀ "], ["sleep_1", " \n \n \n ▄▀▀▄ \n ▄▄▄█▀ ▄▀▄▄▄ \n ▀▄▄▀ ▄▀ \n ▄▀▀▀ ▀▀ ▀▄ \n ▀▄▄▄██▄▄▄▄▀ "], ["sleep_2", " \n \n \n ▄▀▀▄ \n █▀█▀ ▄▀▀▀█ \n ▀▄█▄ ▄▄ █ \n ▄▀ ▄▄ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " \n \n ▄▄ \n ▄▄▄▄▀ ▀▄▄▄▄ \n █ █ ▀ ▄▀ \n █ ▀ ▀ ▄▀ \n █ ▀▀▀ █ \n █▄▀▀▀▀▀▄█ "], ["walk_2", " \n \n \n ▄▀▀▄ \n ▄▄▄█▀ ▄▀▄▄▄ \n ▀▄▄▀▄ ▄ ▄▀ \n ▄▀ ▄▄▄ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄▀ "]]], + ["chibomon", [["angry", " \n \n ▄▄ \n ▄▄▀ █ \n █ ▄▀ \n ▄▀▀ ▀▀▄ \n █ █▄ ▄█ █ \n ▀▄▄██▄▄▀ "], ["attack", " \n ▄▄▄ \n ▄▀▀▀ ▄▀ \n ▄▀ ▀█ \n █▄▄ ▄█ █ \n █ ▄▀ \n ▀█▄▄▀ \n ▄▄▄▄ "], ["eat_1", " \n \n \n ▄▄▄▄ \n █▄ ▄▀▄▄ \n ▀▄ ▀▄▄\n ▄▄█ █▄▄▄▀\n ▀▄▄▄▄▄▀ "], ["eat_2", " \n \n \n ▄▄ \n ▄▀▀▀ █ \n ▄▀▀ ▄▀ \n █▄ ▄ █ \n ▀▄██▄▄▄▀ "], ["happy", " \n \n ▄▄▀█ \n █ ▄▀ \n ▄▀▄ ▄▀▄ \n █ ▄▄ █ \n ▀▄██▄▀ \n ▄▄▄▄ "], ["injured_1", " \n \n \n ▄▄▄ \n ▄▄▀ ▀▄ \n ▄▀▄ ▄▀▀▄▄█ \n █ ▀▀▄▄▀▀ █ \n ▀▄▄██▄▄▀ "], ["injured_2", " \n \n \n \n ▄▄▄▄ \n ▄▀▀ ▄▄▀▄ \n ▄▀▄█ █▄ █▄█ \n ▀▄▄▄██▄▄▄▀ "], ["sleep_1", " \n \n \n \n ▄▄▀▀▀▀▄▄▄ \n ▄▀ ▀▄ ▄▀ \n █▀▀ ▀▀█▀ \n ▀▄▄██▄▄▀ "], ["sleep_2", " \n \n \n \n ▄▄▄▄ \n ▄▄▀ ▄ ▀▀█ \n █▄▄ ▄▄█▀▀ \n █▄▄▄▄▄▄█ "], ["walk_1", " \n \n \n ▄▄▄ \n ▄▀▀ ▄▀ \n ▄▀ ▀▄ \n █ ▀ ▀ █ \n ▀▄▄██▄▄▀ "], ["walk_2", " \n \n \n ▄▄ \n ▄▀ █ \n █ ▄▀ \n ▄▀▄ ▄▀▄ \n ▀▄▄▄▄▄▄▀ "]]], + ["cho_hakkaimon", [["angry", " ▄▄▄ ▄▄ \n▄▀ ▄▀▀▀▀▀▀▀▀▄ ▀▄\n▀▀█ █▄ ▄█ █▀ \n █ ▄█▀▀▀█▄ █ \n ▄███ ▀ ▀ █▄█▄▄ \n█ ▄▄█▀▀██▀ █▄ █\n █▀ █ █ ▀█ \n █▄█▄█▀▀▀▀█▄█▄█ "], ["attack", " ▄▀█▄▄▄▄▄▄▀▀▄\n ▀▄▀ ▄ ▀▄▀\n █▄▀▀▀▄▀▀ █ \n ▄ █▄▀ ▀ █ ▄▀ \n█▄█ ▄▀█▀▀██▀▀▄ \n█▄███████ ▄█ \n▀▄▀ ▄▀▀▄▀██ ▀▄\n █▄█▄█ █▄█▄█"], ["eat_1", " ▄▀▀█▄▄▄▄▄▄▄▀▀▄ \n█▄▄█▄ ▄▄▄ ▄▄▀▄▄█\n █ ▄▀▄ ▄▀▄ █ \n ▀▄▀▄▄▄▄▄▀ ▄▀ \n ▄▀▀█▄███▄██▀▀█ \n █ ▄█▄ ▀▀ ▄█▄ █ \n █▀ █▄▄█ ▀█ \n █▄█▄█ █▄█▄█ "], ["eat_2", " ▄▄▄ ▄▄ \n▄▀ ▄▀▀▀▀▀▀▀▀▄ ▀▄\n▀▀█▄▀▄▄▄▄ ▄▀▄█▀▀\n █ ▄▀▄ ▄▀▄ █ \n ▀██▄▄▄▄▄█▄█ \n █ ▀▄▀██▀▄▀ █ \n ▄▀▀▀▄ ▄▀▀▀▄ \n █▄█▄█▀▀█▄█▄█ "], ["happy", "█▀▀▀▄▄▄▄▄▄▄▄▄▀▀█\n ▀▄▀▄▀▄▄▄ ▄▀▄█▀ \n █ ▄▀▄ ▄▀▄ █ \n█▀█▄▀▄▄▄▄▄▀ ▄▀▀▄\n █ ▀█▄▄▄▄▄▄█▀ █ \n ▀▄█▄ ▀▀▄▀▀█▀ \n █▀ █▄▄█ ▄ █ \n █▄█▄█ ▀▀▀▀▀ "], ["injured_1", " \n \n ▄▀▀█▄▄▄▄▄▄▄▀▀▄ \n█▄▄▀ ▀▄▄█\n █▀▀▄▀▀▀▄▀▀ █ \n █▄█ ▀ ▀ █ ▄▀▄ \n ▄██▀████▀█▀▄ █\n █▄▄█▄▄██▄▄█▄▄██"], ["injured_2", " \n \n \n ▄▀▄▀▀▀▀▀▀▀▀▄▀▄ \n█ █▄▄ ▄▄▄ ▄▄ █ █\n ▀█ ▄▀▄ ▄▀▄ █▀▄\n ███▄▄▄▄▄▀▄▀▄ █\n █▄▄█▄▄██▄▄█▄▄██"], ["sleep_1", " \n \n▄▀▀▄▀▀▀▀▀▀▀▀▄▀▀▄\n█ █ █ █\n▀▀█▀▀▄▀▀▀▄▀▀ █▀▀\n █▀█ ▀ ▀ █▄▀▄ \n ▀▄▄██████▄▄▀ \n █▄▄▄█▄▄█▄▄▄█ "], ["sleep_2", " \n ▄▀▀█▄▄▄▄▄▄▄▀▀▄ \n█▄▄▀ ▀▄▄█\n █▀▀▄▀▀▀▄▀▀ █ \n █▄█ ▀ ▀ █ ▄▀ \n ▄▀▀██████▀▀▄ \n ▀▄▄▄█▀▀▄▄▄▄▀ \n █▄▄▄█▄▄█▄▄▄█ "], ["walk_1", " ▄▀▀█▄▄▄▄▄▄▄▀▀▄ \n█▄▄▀▄ ▄ ▀▄▄█\n █ ▄▀▀▀▄ █ \n █▄█ ▀ ▀ █ ▄▀ \n ▄▀█▀████▀█▀▄ \n █ ▄█▄ ▀▀ ▄█▄ █ \n █▀ █▄▄█ ▀█ \n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄▄ ▄▄ \n▄▀ ▄▀▀▀▀▀▀▀▀▄ ▀▄\n▀▀█ ▀ ▄▄▄ ▀ █▀▀\n █ ▄▀▄ ▄▀▄ █ \n ▄███▄▄▄▄▄█▄█▄▄ \n█ ▄▄█ ▀██▀ █▄▄ █\n █▀ █ █ ▀█ \n █▄█▄█▀▀▀▀█▄█▄█ "]]], + ["choromon", [["angry", " \n \n \n \n ▄ ▄ \n █▄▄▄█ \n █▄▄█▄▄█▄ \n ██▄▄▄███ "], ["attack", " \n \n ▄▀ ▄▄ \n ▄█▀█▄ \n ██▄████ \n ▀█ \n █ \n ▀██████▄ "], ["eat_1", " \n \n \n ▄▀ ▄▀ \n ▄▀█▀█▄ \n █▄█▄██▄ \n █ ███ \n █▄▄▄████ "], ["eat_2", " \n \n \n \n ▄ ▄ \n █▄▄█ \n █▄█▄█▀▄ \n █▄▄▄▄███ "], ["happy", " \n ▄▀ ▄▀ \n █▀█▀█▄ \n ██▄█▄██ \n █ ██ \n ▀█▄▄▄████ \n ▀▀▀▀▀▀ \n ▄▄▄▄▄▄ "], ["injured_1", " \n \n \n \n \n ▄▄ ▄▄ \n ▄▀█▀▀▄ \n ▄███████▄ "], ["injured_2", " \n \n \n \n \n \n ▀▀▄▄▄▄▀▀ \n ▄█▄█▄▄██▄ "], ["sleep_1", " \n \n \n \n \n ▄▀ ▄▀ \n ▄████▄▄ \n █▄█▄▄██▄ "], ["sleep_2", " \n \n \n \n ▄ ▄ \n █▄▄█ \n █▀█▀▀█▄ \n ████████ "], ["walk_1", " \n \n \n \n ▄▀ ▄▀ \n ▄▀█▀█▄ \n █▄█▄███ \n ██▄█████ "], ["walk_2", " \n \n \n \n ▄ ▄ \n █▄▄█ \n █▀█▀██▄ \n █▄█▄████ "]]], + ["clockmon", [["angry", " \n ▄▄ ▄▀▀▄ ▄▄ \n █ ▄▀▀▀███▄ █ \n ▄▄▄▀▄▀▀▀▄▀███ █\n █▄█ █▀▄▀█ █▄ ▀█\n█ █▀▄▀▄▄▄▀▄█▄▄█▀\n▀▀▀███▄▄▄██████ \n █▄▄███ ██▄▄█"], ["attack", " ▄▄ ▄▀▀▄ ▄▄ \n █ ▄▀▀▀███▄ █ \n ▄▄▄▀▄▀█▀▄▀███▄█\n▄█▄█ █████ █▀▀ █\n█ ██ █████ █▀ ▄█\n▀▀▀█ █▀█▀█ ████ \n █▄▀▀▀▄████ \n █▄▄███ ██▄▄█ "], ["eat_1", " ▄▄ ▄▀▀▄ ▄▄ \n █ ▄▀▀▀███▄ █ \n ▄▀▄▀█▀▄▀███▄█\n █ █████ ███▄█\n ▄▄█ █████ ███ █\n▄█▄█ █▀ █ █▄ ▀█\n█ █ █▄▀▀▀▄██▄▄▀ \n▀▀▀█▄▄███ ██▄▄█ "], ["eat_2", " ▄▄ \n ▄▀▀▄█▄▄█▄▀▀▄ \n ▀▄▀▄▄▄▀███▄▀▄\n █▀█ █ ▄ █ █▀▀▄█\n█▀██ █▀ ▀█ █▀ ▄█\n█▄█▄█▄▀▀▀▄█████ \n ▄▄███▀▀▀███▄ \n █▄▄███ ██▄▄█"], ["happy", " ▄▄ ▄▀▀▄ ▄▄ \n █ ▄▀▀▀███▄ █ \n ▄▀▄▀▀▀▄▀█▀▀▄█\n █ █▀▄▀█ █▀ ▄█\n ▄█ █▄▄▄▄▄█ ████\n █▄ ██▀▀ █ ███ \n█ █▀▄▀▀▀▀▀▄███ \n▀▀▀█▄▄███▀██▄▄█ "], ["injured_1", " \n ▄▄ ▄▀▀▄ ▄▄ \n █ ▄▀▀▀███▄ █ \n ▄▀▄███▄▀███ █\n █▀█ █▀▀▀█ ███▀█\n█▀█▀▄▀███▀▄█▀▀▄█\n█▄████▄▄▄███▀ ▄█\n █▄▄███ ███▄█"], ["injured_2", " \n ▄▄ \n ▄▀▀▄█▄▄█▄▀▀▄ \n ▀▄▀▄▄▄▀███▄▀▄\n ▄▄█ █████ ███▄█\n▄█▄█ █▄▄▄█ ███ █\n█ █▄█▄▀▀▀▄██▄ ▀█\n▀▀█▄▄███▀▀▀█▄▄██"], ["sleep_1", " \n ▄▄ \n ▄▀▀▄█▄▄█▄▀▀▄ \n ▀▄▀▄▄▄▀███▄▀▄\n ▄█ █ █ ███▄█\n▄▀▄█ █▀▀▀█ ██▀▄█\n▄▀█▄█▄▀▀▀▄██ ▄ █\n▀▄█▄▄███▀▀▀█▄█▄█"], ["sleep_2", " \n ▄▄ ▄▀▀▄ ▄▄ \n █ ▄▀▀▀███▄ █ \n ▄▀▄▀▀▀▄▀███ █\n ▄▀█ █▄▄▄█ ███▀█\n▀▄█▀▄▀▄▄▄▀▄██▀▄█\n▄▀ ▄█▄▄▄███ ▄ █\n▀▄██▄▄██ █▄█▄█"], ["walk_1", " ▄▄ ▄▀▀▄ ▄▄ \n █ ▄▀▀▀███▄ █ \n ▄▀▄▀█▀▄▀███▄█\n ▄▄█ █ ▀▄█ ███ █\n▄█▄█▄▀▄▄▄▀▄█▄ ▀█\n█ █ █▄▄▄███▄▄█▀\n▀▀▀▀█▄█▄█ █▄█▄ \n █▄▄███ ██▄▄█ "], ["walk_2", " ▄▄ \n ▄▀▀▄█▄▄█▄▀▀▄ \n ▀▄▀▄▄▄▀███▄▀▄\n █▀█ █ ▄█ █▀▀▄█\n█▀██ █ █ █ █▀ ▄█\n█▄█▄█▄▀▀▀▄█████ \n ▄▄███▀▀▀███▄ \n █▄▄███ ██▄▄█"]]], + ["coelamon", [["angry", " ▄▄ \n ▄▀ █ ▄▄\n ▄▄▀▀▀▀▀█▀▄▄▀ █\n▄▀ ▄▀ █ ▀ █\n█▄█▄ ▄▀▄▄ ▄ █\n ▀▄▄ █▀ ▀▀▄█▀\n ▀▀▀█ ▄ ▀▄▀ \n ▀▄▄▀▀ "], ["attack", " ▄▄ \n ▄▀▀ █ ▄▄\n ▄▄▀▀▀▀▀▀█▀▄▄▀ █\n█ ▄█ █ ▀ █\n▀▀▀▀▀█ █ ▄▄▄ █\n █ ▄▀▄▀ █▀\n █▀▀▀▀▄█▄█ ▄ ▄ █\n ▀▀▀▀ ▀▄▀▄▀▄▀"], ["eat_1", " \n ▄▄▀▀▀█ ▄▄\n ▄▄▀▀▀█▀▀█▀▄█▀ █\n█ ▀ ▀ █ ▀ █\n▀▀▀████ ▀▄▄▄▄▀▄█\n ███▀▄▀ ▄▄█ \n ▄▀▀▀ ▄▀▄ ▄▄█ \n ▀▀▀▀ ▀▀▄▄▄▀ "], ["eat_2", " ▄▄ \n ▄▀▀ █ ▄▄\n ▄▄▀▀▀▀▀█▀▄▄▀ █\n▄▀ ▄▀▄ █ ▀ █\n█▄█▄ ▄▀▄▄ ▄ █\n ▀▄▄ █▀ ▀▀▄█▀\n ▀▀▀█ ▄ ▀▄▀ \n ▀▄▄▀▀ "], ["happy", " \n ▄▀▀▀█ ▄▄\n ▄▄▀▀▀█▀▀█▀▄█▀ █\n█ ▀ ▀ █ ▀ █\n▀▀▀████ ▀▄▄▄▄▀▄█\n ███▀▄▀ ▄▄█ \n ▄▀▀▀ ▄▀▄ ▄▄█ \n ▀▀▀▀ ▀▀▄▄▄▀ "], ["injured_1", " \n \n ▄▄▄▄ \n ▄▄▄██▄▄▄▀ ▄▄\n ▄▀▀ █ ▀██▄█\n█ ▄ ▄▀▀▀ ▄▄█\n▀█ ▀▀ █ ▄▄█\n ▀▀▄▄▄██▄▄▄▄▄▄█"], ["injured_2", " \n \n \n ▄▄▀▀▀█ ▄▄\n ▄▄▀▀▀▀▀█▀█▄▄██\n▄▀ ▄▀▀▀ ▄▄█\n█▄ ▀▄▄ █ ▄▄█\n ▀▄▄▄▄▄██▄▄▄▄▄▄█"], ["sleep_1", " \n \n ▄▄▀▀▀█ \n ▄▄▀▀▀▀▀█▀█▄▄▀█\n▄▀ ▄▄▄ █▄▄▄█▄█\n█▄█▄ ▄▀ ▄▄█\n ▀▄▄ █▄ ▄▄█\n ▀▀▀▀▀▀▀▄▄▄▄▀"], ["sleep_2", " ▄▄ \n ▄▀▀ █ ▄▄\n ▄▄▀▀▀▀▀█▀▄▄▀ █\n▄▀ ▄▄▄ █ █\n█▄█▄ ▄▀▄▄ ▄ █\n ▀▄▄ █▀ ▀▀▄█▀\n ▀▀▀█ ▄ ▀▄▀ \n ▀▄▄▀▀ "], ["walk_1", " ▄▄ \n ▄▀▀ █ ▄▄\n ▄▄▀▀▀▀▀█▀▄▄▀ █\n▄▀ ▄█▀ █ ▀ █\n█▄▄█▄ ▄▀▄▄ ▄ █\n ▀▄▄ █▀ ▀▀▄█▀\n ▀▀▀█ ▀▄▀ \n ▀▄▄▀▀ "], ["walk_2", " ▄▀█ \n ▄▀ █ \n ▄▄▀▀▀▀▀█▀▄▄ ▄▄\n▄▀ ▄█▀ █ ▀ █\n█▄▄▄▄ ▄▀▄▄ ▄ █\n ▄▀▀ █▀ ▀▄▄ █\n ▀▀▀▀▀█ ▄ ▄ █▀▀\n █▄▀▄█▀▀ "]]], + ["conomon", [["angry", " \n \n \n ▄▄ ▄ ▄ \n ▄▄▄█ ▀▄▀▄ █ ▀ █\n ▀▄ ▀ ▀ ▀▄ █ █\n ██▄ ▄█ █▀ ▄▀\n ▀▄▄▄▄▄▄▄▄▄▀▀▀ "], ["attack", " \n \n █▀▄ ▄ ▄▀▄▀▄ \n █▀▀█ █ █▀▄ █\n ▄▀▄ ▄ ▀▄█ █\n █ ▀▀ ▀▀ █▄▄▀ \n █ █████▄ █ \n ▀▄██████▄▀ "], ["eat_1", " \n \n █▀▄ ▄ ▄ ▄ \n █▀▀█ █ █ █ ▀ █\n ▄▀▄ ▄ ▀▄█ █\n █▀ ▀ ▀ ▀ █▀ ▄▀\n █ █████ █▀▀ \n ▀▄█████▄▄▀ "], ["eat_2", " \n \n \n ▄▄ ▄ ▄ \n ▄▄▄█ ▀▄▀▄ █ ▀ █\n ▀▄ ▀ ▀ ▀▄ █ █\n █▄▀▄ ▄▀▄ █▀ ▄▀\n ▀▄▄▄▄▄▄▄▄▄▀▀▀ "], ["happy", " \n \n █▀▄ ▄ ▄▀▄▀▄\n █▀▀█ █ █ ▀▄ █\n ▄▀▄ ▄ ▀▄█ █\n █▀ ▀ ▀ ▀ █▄▄▀ \n █ █████ █ \n ▀▄▄███▄▄▄▀ "], ["injured_1", " \n \n \n ▄▄ \n ▄▄▄█ ▀▄▀▄ ▄▀▄▀▄\n ▀▄ ▀ ▀ ▀▄▀▄ █\n █▄▀ ▀▄ ██ █\n ▀▄▄███▄▄▄▄█▄▄▀ "], ["injured_2", " \n \n \n \n █▀▄ ▄ ▄ ▄ \n █▀▀█ █ █ █ ▀ █\n ▄▀ ▀▄█ █\n ███▄▄▄██▄▄█▄▄▄▀"], ["sleep_1", " \n \n \n █▀▄ ▄ ▄ ▄ \n █▀▀█ █ █ █ ▀ █\n ▄█▄ ▄▄ ▀▄█ █\n █ ▄▄▄ █ ▄▀ \n ▀▄▄▄▄▄▄▄▄██▀ "], ["sleep_2", " \n \n \n ▄▄ \n ▄▄▄█ ▀▄▀▄ ▄▀▄▀▄\n ▀▄ ▀ ▀ ▀▄▀▄ █\n █▀▀ ▀▀ ██ █\n ▀▄▄██▄▄▄▄▄█▄▄▀ "], ["walk_1", " \n \n \n █▀▄ ▄ ▄▀▄▀▄\n █▀▀█ █ █ ▀▄ █\n ▄▀▄ ▄ ▀▄█ █\n █ ▀▄▄▄▀ █▄▄▀ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_2", " \n \n \n ▄▄ ▄ ▄ \n ▄▄▄█ ▀▄▀▄ █ ▀ █\n ▀▄ ▀ ▀ ▀▄ █ █\n █ █ █ █▀ ▄▀\n ▀▄▄███▄▄▄▄▀▀▀ "]]], + ["coredramon_blue", [["angry", " █▀▄▀▀▀▀▀█▀▀█ \n ▄▀▄▄█ ▄█ █▀▄▄ \n▄█▄▄▄▄▄▄▄ █▄▄██\n█ ▀▄█▄█▄██ █ ██\n█ ▄█▄█▄█▄▀ █ ██\n█ ▀▄▄▄▄▄▄ ▀ ▄▀█\n ▀█▀▄ ▄ ▀▀▄ ▀\n █▄█▄██▀█▄█▄█▄█ "], ["attack", "▄▄ ▄▄▄▄▄▄▄▄▄ \n█ █▀ ▀▄▄▄▀ \n█▀ ▄██ █ ▀▄ █▄\n█ ▄▄▄▄ █▀████\n ▀▄▄▄ ▀ ▄ ▀▄▄███\n▄▀▀█ ▄▀ █ ▀██\n▀▄▄█▄ ▀▄▄▄█▀▀▀▄█\n█▄█▄█▀▀▀█▄▄█▄█▄█"], ["eat_1", "▄▄ ▄▄▄▄▄▄▄▄▄ \n█ █▀ ▀▄▄▄▀ \n█▀ ▄██ █ ▀▄ █▄\n█ ▄▄▄▄ █▀████\n ▀▄▄▄ ▀ ▄ ▀▄▄███\n▄▀▀█ ▄▀ █ ▀██\n▀▄▄█▄ ▀▄▄▄█▀▀▀▄█\n█▄█▄█▀▀▀█▄▄█▄█▄█"], ["eat_2", "▄▀█▄▀▀▀▀▄▄▄▄▄▄ \n█▀▀ ▄▄▄▀▄▄▄▀ ▄\n█▄▄▄▄▄ █ ▀▄██\n ██████ █▀████\n█ ██ ▀▀ ▀▄▄███\n▀▄█ ▀▄▄▄ █ ▀██\n █▄█▄ ▄▄ ▀█ ▀\n█▄█▄▄█▀█▄▄█▄█▄█ "], ["happy", " █▀▄▀▀▀▀▀█▀▀▀█ \n █▀▄█ ▄▀▀ ███▄ \n █▄▄▄▄▄▄ █ ▀█\n ▀███ █ ▀▄▄ █\n ▄█▀▀▀▀ ▄ ▀ ▄██\n█ █▀▀▀▀ █▀ ▀█\n ▀█▀▄ ▄ ▀▀▄ ▀\n █▄█▄█▀▀█▄█▄█▄█ "], ["injured_1", " ▄ ▄▄▄▄▄▄▄▄▄ ▄ \n ██▀ ▀▄▄███▄\n██▀ ▀▄ ███\n█▀▄ ▀▄▄ ▀█▀██\n▀▄▄█ ▄ █ ▀\n ▄▀▄▄▄▄▀ █ █ \n █ ▀▄ ▄▀ █▀▀▄ \n█▄█▄██▀█▄▄█▄▄█▄█"], ["injured_2", " \n ▄█▄▀▀▀▀▀█▀▀█▄█ \n▄██ █▀▀███\n██ ▄ █▄███\n█ ▀▄ ▀▀ ▀▄▀█\n ▀█▀ ▄▀ █ █ \n █ ▀█▀▀▄▀ █▀▀▄ \n█▄█▄██▀█▄▄█▄▄█▄█"], ["refuse", "▄▄ ▄▄▄▄▄▄▄▄▄ \n█ █▀ ▀▄▄▄▀ \n█▀ ▄█ █ ▀▄ █▄\n█ ▀▀ █▀████\n▀█▀▀▀▀▄ ▄ ▀▄▄███\n ▄▀█▀ ▄▀▀ █ ▀██\n█▄▄█▄ ▀▄▄▄▀▀▀█▀█\n▀█▄█▄█▀█▄▄█▄█▄█ "], ["sleep_1", " ▄ ▄▄▄▄▄▄▄▄▄ ▄ \n ██▀ ▀▄▄███▄\n██▀ ▀▄ ███\n█▀▄ ▀▄▄ ▀█▀██\n▀▄▄█ ▄ █ ▀\n ▄▀▄▄▄▄▀ █ █ \n █ ▀▄ ▄▀ █▀▀▄ \n█▄█▄██▀█▄▄█▄▄█▄█"], ["sleep_2", " ▄ ▄▄▄▄▄▄▄▄▄ ▄ \n ██▀ ▀▄▄███▄\n██▀ ▀▄ ███\n█▀▄ ▀▄▄ ▀█▀██\n▀▄▄█ ▄ █ ▀\n ▄▀▄▄▄▄▀ █ █ \n █ ▀▄ ▄▀ █▀▀▄ \n█▄█▄██▀█▄▄█▄▄█▄█"], ["walk_1", "█▀▄▄▀▀▀▀█▀▀▀█ \n█▄▀ ▄▄ █▀█ ▄ \n█ ▀▀▀ ▀▄▄█▄██\n▀▄▀▀▀▀▄ █ ▀███\n ▄▀█▀ ▄▄▄ █▀███\n█ █ █ ▄█▄▄▀█\n █▀▀▄ ▀▀█▀ ▀▄ ▀\n█▄█▄▄█▀█▄▄█▄█▄█ "], ["walk_2", "▄▄ ▄▄▄▄▄▄▄▄▄ \n█ █▀ ▀▄▄▄▀ \n█▀ ▄██ █ ▀▄ █▄\n█ ▄▄▄▄ █▀████\n ▀▄▄▄ ▀ ▄ ▀▄▄███\n▄▀▀█ ▄▀ █ ▀██\n▀▄▄█▄ ▀▄▄▄█▀▀▀▄█\n█▄█▄█▀▀▀█▄▄█▄█▄█"]]], + ["coredramon_green", [["angry", " █▀▄██████▀▀█ \n █▄▄███▀ ██▀▄ \n ██████▄▄███▄▄█ \n▄█ █ █ █▀██▀▄▄▀█\n██▄█▄█▄█▄█▀▄██ █\n▀█▄▄▄▄▄▄▄▄███▀▄█\n ▄▄█████████▄▄ ▀\n█▄█▄██▀▀█▄█▄█▄█ "], ["attack", "▄▄ ▄▄▄▄▄▄▄▄▄▄ \n█ ████▀▀█▄▄▄▀ ▄ \n█▄███▄▄▄██ ▀▄▀ █\n █▀▀▀▄▀████▀█ █\n ▀▀████▀██▄▄█ █\n▄█ ███▀▄██▀█ ▀▄█\n▀█▄███▄▀▀▀▄███▄▀\n█▄█▄█▀▀▀▀█▄█▄█▄█"], ["eat_1", "▄▄ ▄▄▄▄▄▄▄▄▄▄ \n█ ████▀▀█▄▄▄▀ ▄ \n█▄███▄▄▄██ ▀▄▀ █\n █▀▀▀▄▀████▀█ █\n ▀▀████▀██▄▄█ █\n▄█ ███▀▄██▀█ ▀▄█\n▀█▄███▄▀▀▀▄███▄▀\n█▄█▄█▀▀▀▀█▄█▄█▄█"], ["eat_2", "█▀▄██████▄▄▄▄▄ \n▀▄███▄▄▄██▄▄▄▀ \n ▀████ ▀▄▄▀▄\n▄██ ▄█████▀█ █\n██ ▀███ ███▄▄█ █\n ▀ ███ ███ █ ▀▄█\n ▄▄████▄▄▄████▀█\n█▄█▄██▀▀█▄█▄█▄█ "], ["happy", " █▀▄▄█████▀▀▀█ \n █▄███▀▄▄██▀█▄▄ \n ▀▀▀▀▀████▄▄▀ █\n ▄███▀▄▄█ █\n██ ▀▀▀▀██▀▄███ █\n▀██ █████████▀▄█\n ▄▄▄███████▄▄▄ ▀\n█▄█▄██▀▀▀▄█▄█▄█ "], ["injured_1", " ▄ ▄▄▄▄▄▄▄▄ ▄ \n █ ▀██████▄▄█▀ █\n█ ▄████████▄ █ █\n█▀████▄▀▀███▀█ █\n▀▄ █████▀█████▄█\n ▀▀▀▀▄▄███▀██ ▀\n ▄▀████▀▄█▀▄██▄ \n█▄█▄▀▀▀▄▄▄██▄█▄█"], ["injured_2", " \n ▄▀▄▄█████▀▀█▄▀▄\n▄▀ ▄███████▀▀▄ █\n█▄████▀█████▄█ █\n█ ▀████▄▄███▄█ █\n ▀▄███▀▀▄██▀██▀█\n ▄ ▄▄▄█▀▄█▀▄██▄ \n█▄█▄▀▀▀▄▄▄██▄█▄█"], ["refuse", "▄▄ ▄▄▄▄▄▄▄▄▄ \n█ ███████▄▄▄▀ \n█▄████▀ ██ ▀▄▀▀▄\n█████▄▄████▀█ █\n▀█▀▀▀▄▀██▀█▄▄█ █\n ▄▀████▀▄▄██ ▀▄█\n█▀▄████▄▀▀▀▄██▀█\n █▄█▄█▀▀▀███▄██ "], ["sleep_1", " ▄ ▄▄▄▄▄▄▄▄ ▄ \n █ ▀██████▄▄█▀ █\n█ ▄████████▄ █ █\n█▀████▄▀▀███▀█ █\n▀▄ █████▀█████▄█\n ▀▀▀▀▄▄███▀██ ▀\n ▄▀████▀▄█▀▄██▄ \n█▄█▄▀▀▀▄▄▄██▄█▄█"], ["sleep_2", " ▄ ▄▄▄▄▄▄▄▄ ▄ \n █ ▀██████▄▄█▀ █\n█ ▄████████▄ █ █\n█▀████▄▀▀███▀█ █\n▀▄ █████▀█████▄█\n ▀▀▀▀▄▄███▀██ ▀\n ▄▀████▀▄█▀▄██▄ \n█▄█▄▀▀▀▄▄▄██▄█▄█"], ["walk_1", "█▀▄██████▀▀▀█ \n█ ███▀ ██▀█ ▄▀▄\n▀████▀████▄▄█ █\n ▀▄▄▄█▄████ ▀▄ █\n ▄ ▄██▀▀ ███▀█ █\n██ ██ ████▀█▄▄▀█\n ▄▄███▄▄▄▄███▄ \n█▄█▄██▀▀█▄█▄█▄█ "], ["walk_2", "▄▄ ▄▄▄▄▄▄▄▄▄▄ \n█ ████▀▀█▄▄▄▀ ▄ \n█▄███▄▄▄██ ▀▄▀ █\n █▀▀▀▄▀████▀█ █\n ▀▀████▀██▄▄█ █\n▄█ ███▀▄██▀█ ▀▄█\n▀█▄███▄▀▀▀▄███▄▀\n█▄█▄█▀▀▀▀█▄█▄█▄█"]]], + ["coronamon", [["angry", " ▄▄▄▀ ▄ \n ▄▀███▄▄▄▀ █ \n ▀█▀ ▄▄▀ ▄▀ \n █ ▀▀ █ ▄ \n █▀ ▄▀ ▄██\n ▄▀▀▀███▀▀▀▀▄▀▄▀\n ▀▄▄▀▄▀ ▀▄▄▀ █ \n █▄▄▄▀▀▄▄▄█▀▀ "], ["attack", " ▄███▀ ▄▀▄ ▄\n█▄█▀▀▀▀█ █ ▄██\n▄▀ ▄█▀ ▄▀▀▄▀▄▀\n▀███▄ ▄▀ ▄▀ █ \n ▀█▀ ▄█ █▀▄▀ \n ▄▀▀█▀ ▄▀▀▄ \n ▀▄ ▄▀▀█ ▄▀ \n ▀▀ ▀▀ "], ["eat_1", " ▄███▀ ▄▀▄ \n █▄█▀▀▀▀█ █ \n ▄▀ ▄▀▄ █ \n ▀▄▄▄ █ ▄█\n ██ ▄▄▀ █▀█\n ▄▀█▄▄▄▀ ▀▄ █ \n █ ▄▀█▀ █ █▄▀ \n █▄▄▄▀▀▄▄██ "], ["eat_2", " ▄███▀ ▄▀▄ \n █▄█▀▀▀▀█ █ \n ▄▀ ▄▀▄ █ \n ▀▄▄▄ █ ▄█\n ▀▄▄▄▄▄▄█ █▀█\n ▄▀▄▀█▀ ▄ ▀▄ █ \n ▀▄▀▄ ▄▀▄▄█▄▀ \n █▄▄▄▀▀▄▄▄█ "], ["happy", " ▄███▀ ▄▀▄ \n █▄█▀▀▀▀█ █ \n ▄▀ ▄▀▄ █▄ \n▄▀▀███ █ ▄▀▄█\n ▀▄ ██▄▄▄█ ▄▀█▀█\n ▀▄▀█▀ ▄▀ █ \n ▄▀▄ █▄▄▄▀ \n █▄▄▄▀▀▄▄▄█ "], ["injured_1", " \n ▄ ▄█ ▄ \n █▀▄█▀██▄▄▀ █ \n ▀▄▀ ▀▀ ▀ ▄▀ \n █▄▀ ▀▄▄ █ ▄█\n ▄█▄ ▄▄ ▄█▄█▀█\n█ ▀█▀▀█▀▀█▀ ▀█ \n▀▄▄▀▄▄█▄▄▀▄▄▄▀ "], ["injured_2", " ▄ \n ▄█ ▄██▀ ▄▀▄ \n █ █▀▄█▀▀█ █ \n █ ▄ ▄ █ \n █▀▄▄▄ ▀▀ █ ▄█ \n ▄▄█████▄▄██▄█▀█\n█ ▀▄ ▀█▀ ▄▀ ▀█ \n▀▄▄▀▄▄█▄▄▀▄▄▄▀ "], ["sleep_1", " \n ▄ ▄█ ▄ \n █▀▄█▀██▄▄▀ █ \n ▀▄▀ ▀▀ ▀ █ ▄ \n █▄ ▄▄▄ █ █▀▄\n ▄█▄ ▄ ▄█▄█▄▀\n█ ▀█▀▀█▀▀█▀ ▀█ \n▀▄▄▀▀▀▀▀▀▀▄▄▄▀ "], ["sleep_2", " ▄ \n ▄█ ▄██▀ ▄▀▄ \n █ █▀▄█▀▀█ █ \n █ █ ▄ \n █▀ ▀▀▀ █ ██▄\n ▄▄████▄▄▄██▄█▄▀\n█ ▀▄ █ ▄▀ ▀█ \n▀▄▄▀▀▀▀▀▀▀▄▄▄▀ "], ["walk_1", " ▄███▀ ▄▀▄ \n █▄█▀▀▀▀█ █ \n ▄▀ ▀█▄ █ \n ▀▄▄ ▀▀▀ █ ▄█\n ▀▄▄▄▄▄▄█ █▀█\n ▄▀▄▀█▀ ▄ ▀▄ █ \n ▀▄▀▄ ▄▀▄▄█▄▀ \n █▄▄▄▀▀▄▄▄█ "], ["walk_2", " ▄▄▄▀ ▄ \n ▄▀███▄▄▄▀ █ \n ▀█▀ ▄▄ ▀ ▄▀ \n █ ▄██ █ ▄ \n █▀ ▄▀ ▄██\n ▄▀▀▀███▀▀▀▀▄▀▄▀\n ▀▄▄▀▄▀ ▀▄▄▀ █ \n █▄▄██▄▄██▀▀ "]]], + ["cotsucomon", [["angry", " \n \n \n ▄▄▄ \n ▄██▄▄▄██▄ \n ▄█▄▄▄▄▄▄▄▄▄█▄ \n █ ▄▄ ▄▄ █ \n ▀▄▄▄▄▄▄▄▀ "], ["attack", " ▄▄▄ \n ▄██▄▄▄██▄ \n ▄█▄▄▄▄▄▄▄▄▄█▄ \n █ ▄█ █ \n █▄▄▄▄▄ █ \n █████ █ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄ "], ["eat_1", " \n \n ▄▄▀▀▀▄▄ \n ▄▀▀▀▀▀▀▀▀▀▄ \n ▀▀█▀█▀▀▀▀▀█▀▀ \n █▄▄▄▄ █ \n █████ █ \n █▄▄▄▄▄▀ "], ["eat_2", " \n \n \n ▄▄▄ \n ▄██▄▄▄██▄ \n ▄█▄▄▄▄▄▄▄▄▄█▄ \n █ ▀ ▄ █ \n ▀████▄▄▄▀ "], ["happy", " \n ▄▄▀▀▀▄▄ \n ▄▀▀▀▀▀▀▀▀▀▄ \n ▀▀█▀█▀▀▀▀▀█▀▀ \n █▄▄▄▄▄ █ \n ████▀ █ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄ "], ["injured_1", " \n \n \n \n ▄▄▄ \n ▄██▄▄▄██▄ \n ▄█▄▄▄▄▄▄▄▄▄█▄ \n ▀▄██▄██▄▀ "], ["injured_2", " \n \n \n \n \n ▄▄▄ \n ▄██▄▄▄██▄ \n ▄█▄▄▄▄▄▄▄▄▄█▄ "], ["sleep_1", " \n \n \n ▄▄▄ \n ▄██▄▄▄██▄ \n ▄█▄▄▄▄▄▄▄▄▄█▄ \n █ ▄▄ ▄▄ █ \n ▀▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n \n \n ▄▄▀▀▀▄▄ \n ▄▀▀▀▀▀▀▀▀▀▄ \n ▀▀█▀▀▀▀▀▀▀█▀▀ \n ▀▄██▄██▄▀ "], ["walk_1", " \n \n \n ▄▄▄ \n ▄██▄▄▄██▄ \n ▄█▄▄▄▄▄▄▄▄▄█▄ \n █ ▄ ▄ █ \n ▀▄▄▄█▄▄▄▀ "], ["walk_2", " \n ▄▄▄ \n ▄██▄▄▄██▄ \n ▄█▄▄▄▄▄▄▄▄▄█▄ \n █ ▄ ▄ █ \n █ ▄ █ \n ▀▄▄█▄▄▀ \n ▄▄▄▄▄ "]]], + ["crabmon", [["angry", " ▄▀▀▀▀▀▄ \n ▀█▀▀▄ █\n▄▀▀█▄ ▀▄ ▀ █\n█▄▀ █▄▄ ▄▄▄▀█ ▄▀\n▀▄ ▄▀ ▀▀ ▀▄▄▀ \n █▄ ▄█ █▄ \n ▄▀▄▄▄▄▄▄ ▄▀▄█\n█▄▄▀▄▄▄▄▄▄▄▀▄▄▄█"], ["attack", " ▄▄ ▄▀▀▀▀▀▄ \n▄▀ ▄█ ▀▀▀▀▄ █\n█ █▄▄ ▄▄▄▄█ █\n▀▄▄▀▀█▄▀▀▀▄▄▄ █\n █▄▄▄▄ ▄▀ ▀▄▄▀ \n ▀▄▀██▄ █ \n ▄▄█▄███ ▄▀█▀▄ \n█▄█▄▄▄▄▄▄█▄▄▄█▄█"], ["eat_1", " ▄▄ ▄▀▀▀▀▀▄ \n▄▀ ▄█ ▀▀▀█ █\n█ █▄▄ ▄▄▄█ █\n▀▄ ▄▀▄▄▀▀▀▄▄▄ ▄▀\n ▄▀ █▀ ▀▄▄▀ \n ▀█▀████ █▄▄ \n ▄▄█▄██▀ ▄▀▀▄ █\n█▄▀▄▄▄▄▄▄▄▄▀▄█▀▀"], ["eat_2", " \n ▄▀▀▀▀▀▄ \n▄▀▀█▄ ▀█▀▀▄ █\n█▄▀ █ ▄▄▄█▄ ▄▀\n█ ▄▀ ▀▀ ▄ ▀▄▄▀ \n █ ▀ ▀ █▄ \n █▄▄▄▄▄▄▀ ▄▀▄▀▄\n█▄█▄▄▄▄▄▄▄▄█▄▄█▀"], ["happy", " ▄▄ ▄▀▀▀▀▀▄ \n █ ▄▀ ▀▀▀▀▄ █\n █ ▀▀▄▄ ▄█▀ ▀ █\n █▄▀▄ ▀▀ ▄▀█ ▄▀\n █ ▀ ▀ ▀ ▀ █ \n ▄█ ████████ █▄ \n█▄▀▄▀█▄▄▄▄█▀▄▀▄█\n█▄▄▄▀▄▄▄▄▄▄▀▄▄▄█"], ["injured_1", " \n ▄▀▀▀▀▀▄ \n▄▀▀█▄ █▄▄▄▄▄ █\n█▄▀ █▄ ▄█▄▄▄ ▄▀\n▀▄ █ ▀▀ ▀▄▄▀ \n █ ▄ ▄ █ \n ▄█▀ ▄▄▄ ▀ ▄▀█▀▄\n█▄▄█▄▄▄▄▄▄█▄▄▄█▀"], ["injured_2", " \n ▄▄▄▄▄ \n ▄▄ █▄▄▄ ▀▄\n█ ▄▀▄▄ ▄▄█ ▀▄ █\n█▀ █ ▀▀ ▀▄▄ █\n ▀█ █▄▀ \n ▄█▄▀ ▀▄▄ ▄▀█▀▄\n█▄█▄▄▄▄▄▄▄█▄▄▄█▀"], ["sleep_1", " \n \n ▄▄▄▄▄ \n▄▀▀█▄ █▄▄▄▄ ▀▄\n█▄▀ █▄▄ █▄▄ ▀ █\n▀▄▄▀ ▀▀ ▀▄▀ \n▄▀█ ▀▀ ▀▀ █▀▄\n█▄▄█▄▄▄██▄▄▄█▄▄█"], ["sleep_2", " \n ▄▀▀▀▀▀▄ \n▄▀▀█▄ ▀█▀▀▀▄ █\n█▄▀ █▄▄ ▄█▄▄ █\n▀▄▄▀▀▄▄▀▀▄▄▀▄▄▀ \n ▄█ ▄▄ █▄ \n█▄▀▄ ▄▀▄█\n█▄▄▄█▄▄▄▄▄▄█▄▄▄█"], ["walk_1", " ▄▀▀▀▀▀▄ \n ▄▄▄ ▀█▀▀▄ █\n█ ▄▀█ ▀▄ ▀ █\n█▀ ▄▀▄▄ ▄▄▀█▀ █\n ▀▄▄▀ ▀▀ ▀▄▄▀ \n ▄█ ▀▄ ▄▀ █▄ \n█▄▀▄ ▄▄▄▄ ▄▀▄█\n█▄▄▄▀▄▄▄▄▄▄▀▄▄▄█"], ["walk_2", " \n ▄▄▄▄▄ \n ▄▄ █▄▄▄ ▀▄\n█ ▄▀█ ▀▄ ▀▀ █\n█▀ ▄█▀▀▄▄▀▀█▀ ▄▀\n ▀█ ▄ ▄ ▀█ \n▄▀█ ▀ ▀ █▀▄\n█▄▄█▄▄████▄▄█▄▄█"]]], + ["craniamon", [["angry", " ▄▄ ▄▄ ▄▄ \n▄▀ █ ▄▀▄█▀▄▀▄▀▄ \n█ ██ ▄▄ ██▄ ▀▄\n█ █ ▀▀ ▄▀▀▀█ █\n▀▄▀█▀▄▄▀▀ █▄▄█ █\n ▀▄█ ▀ ▄▀█ █ █\n ▄▀▀▀██▄ ▀▀█▀█\n █▄█▄▄▀ ▀▄█▄█▄█ "], ["attack", " ▄▄ ▄▄ \n ▄▀▄███▀▄▀▄ \n █ ▄▄ ██▄ ▀▄\n █ ▀▀ ▄▀▀▀█ █\n ▄█▀▄▄▀▀▄▀▄▄█ █\n █ █ ▀ ▄██ ██ █\n ▄▀▀▀███▄ ▀▀▀▄▀█\n█▄█▄▄▄▀ ▀▄█▄█▄█ "], ["eat_1", " ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄▀ █ \n ▄▀ ▄█▀ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▀█ █▀ ▄▀ ▀██ █\n ▀▄█▄▄▄█▀▄▄▄██ █\n ▄▀ ▄▄▄▄ ▀█▀▄█\n █▄█▄█ █▄█▄█▄█ ▀"], ["eat_2", " ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄▀ █ \n ▄▀ ▄█▀ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▀█ █▀ ▄▀ ▀██ █\n ▀▄█▄▄▄█▀▄▄▄██ █\n ▄▀ ▄▄▄▄ ▀█▀▄█\n █▄█▄█ █▄█▄█▄█ ▀"], ["happy", " ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄▀ █ \n ▄▀ ▄█▀ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▀█ █▀ ▄▀ ▀██ █\n ▀▄█▄▄▄█▀▄▄▄██ █\n ▄▀ ▄▄▄▄ ▀█▀▄█\n █▄█▄█ █▄█▄█▄█ ▀"], ["injured_1", " ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄▀ █ \n ▄▀ ▄█▀ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▀█ █▀ ▄▀ ▀██ █\n ▀▄█▄▄▄█▀▄▄▄██ █\n ▄▀ ▄▄▄▄ ▀█▀▄█\n █▄█▄█ █▄█▄█▄█ ▀"], ["injured_2", " \n ▄██▄██ ▄ \n ▄▀▀▀▀▀█▄▀ █ \n ▄▀ █▀▀ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▄█ █▀▄▄█▄███ █\n █▄▀▄▄█ ▀ ▀ ██ █\n █▄▄▄██▄▄▄▄█▀ ▀█"], ["refuse", " ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄▀ █ \n ▄▀ ▄█▀ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▀█ █▀ ▄▀ ▀██ █\n ▀▄█▄▄▄█▀▄▄▄██ █\n ▄▀ ▄▄▄▄ ▀█▀▄█\n █▄█▄█ █▄█▄█▄█ ▀"], ["sleep_1", " ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄▀ █ \n ▄▀ ▄█▀ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▀█ █▀ ▄▀ ▀██ █\n ▀▄█▄▄▄█▀▄▄▄██ █\n ▄▀ ▄▄▄▄ ▀█▀▄█\n █▄█▄█ █▄█▄█▄█ ▀"], ["sleep_2", " ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄▀ █ \n ▄▀ ▄█▀ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▀█ █▀ ▄▀ ▀██ █\n ▀▄█▄▄▄█▀▄▄▄██ █\n ▄▀ ▄▄▄▄ ▀█▀▄█\n █▄█▄█ █▄█▄█▄█ ▀"], ["walk_1", " ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄▀ █ \n ▄▀ ▄█▀ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▀█ █▀ ▄▀ ▀██ █\n ▀▄█▄▄▄█▀▄▄▄██ █\n ▄▀ ▄▄▄▄ ▀█▀▄█\n █▄█▄█ █▄█▄█▄█ ▀"], ["walk_2", " ▄▄ ▄▄ \n ▄▀▄███▀▄▀▄ \n █ ▄▄ ██▄ ▀▄\n █ ▀▀ ▄▀▀▀█ █\n ▄█▀▄▄▀▀▄▀▄▄█ █\n █ █ ▀ ▄██ ██ █\n ▄▀▀▀███▄ ▀▀▀▄▀█\n█▄█▄▄▄▀ ▀▄█▄█▄█ "]]], + ["craniamon_x", [["angry", " ▄▄ ▄ ▄▄▄ \n ▀▄▀▄▀▀ ▄▀▀█ \n▄▄ █ ▄█ ▀█ ▄▄\n█ ▀█▄▄▄▄▄ ▄▀█▀ █\n █▄▀▄█▄█▄▀▄█▄ █ \n█ ▀█ ▄▀▄ ▄█▀▀ █\n▀▄▄▀▀█▀▀█▀ ▀▄▄▄▀\n█▄█▄█▀▄▄█▀▄▄█▄█ "], ["attack", " ▄▀▄ █▀▄▀▄▀█▀▄\n▄▀▄▀▄ ▄▀▀ ▄▄ ▄█\n█ █ █ █ ▀▀ ▄▄█▄\n▄▀█▀█▄█▀█▀█▀▄▀ █\n▀▄█▄▄▄▄▀▀█▀▀█▀▄█\n█ █ █ █▄▀█▄ ▄▀ \n▀▄▀▄▀ ▄▀█▀▀█▀▄█▄\n ▀▄▀ █▄██▄▄▀▄█▄█"], ["eat_1", " █▀▄▀▄▄▀▀█▄▄ \n ▄▀ ▀▄▄ ▀▄▄▀ \n█▀▄█▄▄▄▄▄ ▄█▄▀█\n▀▄ ▀██▀▀██ ▄▀ ▄▀\n ▄▀▀█▀▀▀▀▄▀▀▀█▄ \n █ ▄██▀█▀█▄ ▄▀ \n █▀ █▀▀█▄▀▀█ \n █▄█▄▀▄▄█▀▄█▄█ "], ["eat_2", " ▄▄ ▄ ▄▄▄ \n ▀▄▀▄▀▀ ▄▀▀█ \n▄▄ █ ▄▀▄ ▀█ ▄▄\n█ ▀█▄▄▄▄▄ ▄▀█▀ █\n █▄▀▄█▄█▄▀▄█▄ █ \n█ ▀█ ▄▀▄ ▄█▀▀ █\n▀▄▄▀▀█▀▀█▀ ▀▄▄▄▀\n█▄█▄█▀▄▄█▀█▄█▄█ "], ["happy", " █▀▄▀▄▄▀▀█▄▄ \n ▄▀ ▀ ▄ ▀▄▄▀ \n ▄▄█ ▀ ▀ ▄███▄\n█ ▀██████▄▀▄█ █\n▀▄ ▄▀▀▀▀▀▄▀█ ▄▀\n ▀▀██▀█▀▄▀█▀▀ \n ▄▀ █▀▀█▄ █ \n █▄█▄▀▄▄█▀▄█▄█ "], ["injured_1", " \n █▀▄▀▄▄▀▀█▄▄ \n ▄▀ ▀ ▄ ▀▄▄▀ \n▄ █ ▀▀ ▄█ ▄▄\n█▀▀█▀█▀█▀▄▀▄▀▀ █\n ▀▄▄█▀█▀▀ ▀█▄▄▀ \n▄▀▀ ██▄█▄▄▀▀ █▄ \n█▄▄▄▀▀█▄▄█▄▄▄█▄█"], ["injured_2", " \n ▄▄ ▄ ▄▄▄ \n ▀▄▀▄▀▀ ▄▀▀█ \n▄ █ █▄ ▀█ ▄▄\n█▀█▄▄▄▄▄ ▄▀█▀▀ █\n ▀█▄█▄█▄█▄█▄▄▄▀ \n▄▀▀ █ █ ▄▀▀ █▀▄ \n█▄▄▄██▄██▄▄▄█▄▄█"], ["sleep_1", " \n ▄▄ ▄ ▄▄▄ \n ▀▄▀▄▀▀ ▄▀▀█ \n█▀█ ▄▄ ▀█▄▀█ \n▀▄█▄▄▄▄▄ ▄▀█▀ █ \n▄▀█▄█▄█▄▀▄█▄▄█▀▄\n██ ▀█▄█▄▄▀ █ █\n █▄▄▄█▄▄██▄▄▄█▀ "], ["sleep_2", " \n █▀▄▀▄▄▀▀█▄▄ \n ▄▀ ▀ ▀▄▄▀ \n█▀▄█ ▀▀ ▄█▄▀█\n▀▄ █▀█▀█▀▄▀▄▀ ▄▀\n▄▀█▄▀▀█▀▀ ▀██▄▀▄\n██ ▀█▄█▄▄▀ █ █\n █▄▄▄█▄▄██▄▄▄█▀ "], ["walk_1", " █▀▄▀▄▄▀▀█▄▄ \n ▄▀ ▀ ▄▄▀▄▄▀ \n█▀▄█▀ ▀▀ ▄█▄▀█\n█ █▀█▀█▀▄ ▄▀ █\n▄▀█▄▀█▀██ ▀██▄▀▄\n█ ▄█▄ ▀▀ ▄▀█ ▄█\n ▀█▀ █▀▀█▄ █▀▀ \n █▄▄▀█▄▄█▀▄▄▄█ "], ["walk_2", " ▄▄ ▄ ▄▄▄ \n ▀▄▀▄▀▀ ▄▀▀█ \n▄▄ █ ▄█▀ ▀█ ▄▄\n█ ▀█▄▄▄▄▄ ▄▀█▀ █\n▄▀▄▀▄█▄█▄▀▄█▄▄▀▄\n█ █ ▄▀▄ ▄█▀ █\n ██▀▀█▀▀█▀ ▀▄▄▀ \n█▄█▄█▀▄▄█▀█▄█▄█ "]]], + ["creepymon", [["angry", " █▄ █▄ \n▄▀▀█ ████▀▀███▄\n█ ██▀████▀▀ ████\n▀█ ████ █▄▄██▀██\n▄██▄██▄██▀█ ▀█▄▀\n█▀▄▀ ▀ ██▄█▄ █▀▄\n▀▄█▄▄▄▄▄█ ▄█▄▀\n█▄▄██▀▀█▄███▄▄▄█"], ["attack", " ▄▀▀█ █▄ █▀▀█▄ \n █ ██▀████▀▀▄███\n█ █ ▀██▀ █▄█ ▀█\n█▄██▄██▄██▀█▄▄ █\n█ █ ▀ ▀ █ █ ▄█\n▀▄█ █ █▄█▀█\n ██▄▀▄▄▀▄▀▄▀ ▀▄ \n█▄█▄▄▄▄▄▄▄█▄▄█▄█"], ["eat_1", " ▄▄▄ █▄ ▄▄▄█▄ \n█ ▄█▄▄████▄ ███▄\n█▄▀▀▄█▀▀█ ▄████\n▀▄█▄██▄█▄████▀██\n █ ▀ ▀ █ █ ▀█▄▀\n█ █▄ ▄ █ █▄ █▀▄\n▀▄█ ▀▀ ▀▄▀ ▄█▄▀\n█▄▄██▀▀█▄███▄▄▄█"], ["eat_2", "▄▀▀█ █▄ █▀▀██ \n█ ██▀████▀▀ ███ \n█▀▄ ██ ▄▀▄▄████▄\n ████████▀██████\n █▄▀ ▀ ▀ ▄▀█ ▀██\n▄▀█▀▀█▀▀█ █ ▀▄\n█ █▀ ▀█▀ ▄█▄▄▀\n█▄█▄█▀▀▄█▄█▄█▄▄█"], ["happy", " ▄▀▀█ █▄ █▀▀█▄ \n █ ██▀████▀▀ ███\n██▀▄▀██▀▄▀▄▄▀▀▀█\n█▀████████▀█▄▄ █\n█ █ ▀ ▀ █ █ ▄█\n █▀▄▀▄▄▀▄▀ █ █▀█\n █▄▀▄▄▄▄▄▄▀ ▀▀▄ \n█▄█▄▄▄▀ ▀▄▄▄▄█▄█"], ["injured_1", " \n █▄▄ █▄▄ \n ▄▄▄ ███ ▄▄███ \n█ ▄██▀████▄ ███ \n▀▄██▀██▀██ █▀█ \n ▄█▄▄██▄▄███▄ █\n█ ▀▄▀ ▀ ▀▄▀ █ █\n▀▄▄███████▄▄▄█▄█"], ["injured_2", " \n ▄ ▄ \n ▀██▄ ▀██▄ \n▄▀▀████▄▄█▀▀█▄ \n█ ███▄████▀ ██ \n ██▀ ██ ▀█▄▄█ ▀▄\n█ █▀█▀█▀█▀█ █ █\n▀▄▄█▄▄▄▄▄█▄▄▄█▄█"], ["sleep_1", " ▄▄ ▄▄▄▄ ▄▄ \n █ ▄████████▄ █ \n █ ███▀█████ █ \n ████████████ \n ████████████ \n ▀████████▀ \n ▀▀▀▀ \n ▄▄▄▄▄▄▄▄▄▄▄ "], ["sleep_2", " ▄▀▀▄ ▄▄ ▄▀▀▄ \n █ ███████▀ █ \n ▀▄██▄████▄▄▀ \n ██████████ \n ▀████████▀ \n ▀██████▀ \n ▀▀ \n ▄▄▄▄▄▄▄▄▄ "], ["walk_1", "▄▀▀█ █▄ █▀▀▄█ \n█ ██▀████▀▀ ███ \n▀█ ▀██▀ █▄▄████▄\n ██▄██▄██▀██████\n █▄▀ ▀ ▀ ▄▀█ ▀██\n▄▀█▀▀█▀▀█ █ ▀▄\n█ █▀ ▀█▀ ▄█▄▄▀\n█▄█▄█▀▀▄█▄█▄█▄▄█"], ["walk_2", " ▄▄▄ █▄ ▄▄▄█▄ \n█ ▄█▄▄████▄ ███▄\n█▄▀█▄██▀█ ▄████\n █▄ ██ ▄█████▀██\n █▀█▀█▀██▀█ ▀█▄▀\n█ █▄▄▄▄▄█▄█▄ █▀▄\n▀▄▄█▄▀▄▄█ ▄█▄▀\n█▄▄██▀▀█▄███▄▄▄█"]]], + ["creepymon_x", [["angry", " ▄▄ ▄▄ \n▄▀▄█▄█▄█▄▄▀▄ █ \n█▄▀█▄██▀█ ▄▀▄██▄\n █▄▄██▄▄██▄▀████\n ▀█▀█▀█▀█ ▄ █▀██\n▄▀█▄▄▄▄█▀▀█▀█▄ █\n▀▄▄██▀▀█▄▄▄▄██▄ \n█▄█▄████████▄█▄█"], ["attack", " ▄▀█ ▄ ▄▀▀▄ ▄ \n█ ██▀████▀ █ ▄█ \n▀█ ▀██▀ █▄▀▄████\n ██▀█▀█▀█▀▀ ████\n▄▀█ █▄▀▄▀▄▀█\n▀▄█▄█▄█▄█▀ ▄█ ▀\n ▄███▄▄███████ \n █▄█▄█▀▀█▄█▄█▄█ "], ["eat_1", " ▄▀█ ▄ ▄▀▀▄ ▄ \n█ ███▀███▀ █ ▄█ \n▀█▀▄▀█▀▄▀▄█▀████\n ██▀█▀█▀█ ▄ ████\n▄▀█ ▄███▀▀▄▀█\n▀▄▄██████ ▄ ▄█ ▀\n ▄███▄▄███████ \n █▄█▄█▀▀█▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄ \n▄▀▄█▄█▄█▄▄▀▄ █ \n█▄██▄████ ▄▀▄██▄\n █▀▄▀█▀▄▀█▄▀████\n ▀█▀█▀█▀█ ▄ █▀██\n ▄▀▄▄▄▄███▀▀█▄ █\n█▄▄██▀▀█ ▄ ▄██▄ \n█▄█▄████████▄█▄█"], ["happy", " ▄▀█ ▄ ▄▀▀▄ ▄ \n█ ██▀████▀ █ ▄█ \n▀██▀███▀█▄▀▄████\n █▄█▄█▄█▄▀▀ ████\n▄▀█ ▀ ▀ █▀█▀█ ▀█\n▀▄ █▄▄▄█▀ ▄██ ▀\n ▄███▄▄███████ \n █▄█▄█▀▀█▄█▄█▄█ "], ["injured_1", " \n ▄▀█ ▄ ▄▀▀▄ ▄ \n█ ██▀████▀ █ ▄█ \n▀██▀██▀██▄▀▄████\n █▄▄██▄▄█▀▀ ████\n █ ▀ ▀▄█▄█▄█ ▀█\n▄▀ ██▀▀█▀▀ ▄▀█ ▀\n█▄█▄████▄█▄█▄▄█ "], ["injured_2", " \n ▄▄ ▄▄ \n▄▀▄█▄█▄█▄▄▀▄ █ \n█▄██▄████ ▄▀▄██▄\n █▀ ██ ▀██▄▀████\n ▀█▀█▀█▀█ ▄ █▀██\n▄▀▀▄▄▄▄█▀▀▀█▀▄ █\n█▄█▄█▄▄█▄█▄█▄▄█ "], ["sleep_1", " \n ▄▄ ▄▄ \n▄▀▄█▄█▄█▄▄▀▄ █ \n█▄██▄████ ▄█▄██▄\n █▄▄██▄▄█▀▀ ████\n ▀█▀█▀█▀█▄█▄█▀██\n▄▀█▄▄▄▄██▀▄ ▄ ▄▀\n██▄█▄▄▄██ █████ "], ["sleep_2", " \n ▄▀█ ▄ ▄▀▀▄ ▄ \n█ ██▀████▀ █ ▄█ \n▀█▀▀██▀▀█▄▀▄████\n ████████▀▀ ████\n ▄█ ▀ ▀▄█▄█▄█ ██\n█▄▀██████▀▄ ▄ ▄▀\n██▄██▄▄██ █████ "], ["walk_1", " ▄▀█ ▄ ▄▀▀▄ ▄ \n█ ██▀████▀ █ ▄█ \n▀█ ▀██▀ █▄▀▄████\n ██▄██▄██▀▀ ████\n █ ▀ ▀▄█▄█▄█ ▀█\n▄▀ █████▀▀ ██ ▀\n▀▄███▄▄█▄█▄███ \n █▄█▄█▀▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n▄▀▄█▄█▄█▄▄▀▄ █ \n█▄▀█▄██▀█ ▄▀▄██▄\n █▄ ██ ▄██▄▀████\n ▀█▀█▀█▀█ ▄ █▀██\n ▄▀▄▄▄▄███▀▀█▄ █\n█▄▄██▀▀█ ▄ ▄██▄ \n█▄█▄████████▄█▄█"]]], + ["crescemon", [["angry", " ▄▄ ▄▄ \n ▄█▄██▄▀ ▄▄▀ \n ████▀ ███▄▄▀ \n ████▄▄██▀ ▄▄▀ \n ▀▄▄▄███ █ \n ▄▀▀ ▄▀ ▄█▄ ▀▀▄ \n ▀▄▄█▀▀▀ ▄█▀▀▀ \n █▄▄█▀▄▄▄█ "], ["attack", " \n ▄▀█▄▀█ ▄\n ▄█ ▄████▀█▄█▀▄\n ██ ▄███▀ ▄█▀▀▀▄\n███▄██▀▀▀██ █▀ \n██▀█ █▀▀██ █▄ \n█▀ ██▄▄▀ ▀█▄▄▄▀\n▀ █▄▄▄█▀▄▄▄█ "], ["eat_1", " ▄▀█▄▀█ ▄ \n ▄████▄█▄▄▀▀▄ \n ▄███▀▄▀█▀ ▀▀ \n ▀█▀▀▀▀█▀█▀▀▀▄ \n █▄▄▄▀█ █▀ \n ▄▀ █▄▄▀█ █▄ \n █ █ ▄ ▀▄▄▄▀ \n ▀█▄▄▄▀▄▄▄█ "], ["eat_2", " ▄▀█▄▀█ ▄ \n ▄████▄█▄▄▀▀▄ \n ▄███▀▄▀█▀ ▀▀ \n ▀█▀▀▀██▀█▀▀▀▄ \n ▄▀▀█▀▀█ █▀ \n █ ▄█▄▄▀█ █▄ \n ▀█ ▄ ▀▄▄▄▀ \n █▄▄▄▀▄▄▄█ "], ["happy", " ▄▀▀▄▀▀█▄▄ \n ▄███▀██▀ ▄▄▀ \n ████▄█▄█ █ ▀ \n▄▀▀▄ ▄█▀▄ ▀▀▄ \n ▀▄ ▀▀█▀ ▄▀▀▀ \n ▀▄█▄▄▀█ \n █ ▄ ▀▄ \n █▄▄▄▀▄▄▄█ "], ["injured_1", " \n ▄▀█▄▀█ ▄ \n ▄████▄█▄▄▀▀▄ \n ▄███▄▀▀█▀ ▀▀ \n ▀█▀▀▀███▄▄▀▀▀▄\n ▄▄█▄▄▄███ █▀ \n █ ▀▄ ▀█▀ █ █▄ \n ▀▄▄█▄▄▀▄▄▀▀▄▄▄▀"], ["injured_2", " \n ▄▄ ▄▄ \n ▄█▄█▀▄▀ ▄▄▀ \n ███▀████▀▄▄▀ \n █████▄▄█ ▄▀▀▀▄\n ▄█▄▄▄▄███ █▀ \n █ ▀▄ ▀█▀ █ █▄ \n ▀▄▄█▄▄▀▄▄▀▀▄▄▄▀"], ["sleep_1", " \n ▄▄ ▄▄ \n ▄█▄█▀▄▀ ▄▄▀ \n ████████▀▄▄▀ \n ████▄▄▄█ ▄▀▀▀▄\n ▄█▄██████ █▀ \n █ ▀▄ ▀█▀ █ █▄ \n ▀▄▄█▄▄▀▄▄▀▀▄▄▄▀"], ["sleep_2", " \n ▄▀█▄▀█ \n ▄████▄█▄▄▀▀▄\n ▄███▀▀▀██ ▀▀▄\n ▀█▀█████▄▀▀▀▄\n ▄▄▄██▀▀██ ▄▀ \n █ ▀▄ ▀█▀ █ ▀▄ \n ▀▄▄█▄▄▀▄▄▀▀▄▄▄▀"], ["walk_1", " ▄▀█▄▀█ ▄ \n ▄████▄█▄▄▀▀▄ \n ▄███▀ ██▀ ▀▀ \n ▀█▀▀▀██▀█▀▀▀▄ \n ▄▀▀█▀▀█ █▀ \n █ ▄█▄▄▀█ █▄ \n ▀█ ▄ ▀▄▄▄▀ \n █▄▄▄▀▄▄▄█ "], ["walk_2", " ▄▄ ▄▄ \n ▄█▄█▀▄▀ ▄▄▀ \n ████▀████▄▄▀ \n ████▄▄██▀ ▄▄▀ \n ▀▄▄▄███ █ \n ▄▀▀ ▄▀ ▄█▄ ▀▀▄ \n ▀▄▄█▀▀▀ ▄█▀▀▀ \n █▄█▄▄▄█ "]]], + ["cresgarurumon", [["angry", " ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀▀ ▄▀ ██▄▀█ \n █▄▄▄▄▄▄█▀ ▄▄▀ \n ▀▄▄▄▄█ ▄██ \n ▄▀█▄ ▄▀█▀▀ █ \n ▀▄█▄▀ ▄█▄▄█ \n █▄▄█▀▀▀█▄▄▄█ "], ["attack", " ▄▄▀▀▀▀▀█ \n ▄▄▀ ▄▄ ▄█▀▄▄\n █ ▀▀ ▄█▀▀ █\n▄▄ ▀█▀▀▄ █▀ ▄█▀ \n▀▄█▀▀▄▄▄▄█▄▀▀ █ \n ▀▄▄█ ▀ ▄█▄▄█▀ \n ▀▄ ▀▀███▀▄▄ \n █▄█▄▄▄▄█▄▄▄█ "], ["eat_1", " ▄▄▀▀▀▀▀█ \n ▄▄▀ ▄▄ ▄█▀▄▄ \n █ ▀▀ ▄█▀▀ █ \n ▀████ ▄▀ ▄█▀ \n █▀▀▀▄█▄██▀▄ \n █ █▀█▀ █ ▄▀ \n █▀█▄▄█▀▀█▄ \n █▄▄█ █▄▄▄█ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀▀ ▄█▀ ██▄▀█ \n █▄▄▄▄▄▄█▀ ▄▄▀ \n ▀▄▄▄▄█ ▄██ \n ▄▀█▄ ▄ █▀▀ █ \n ▀▄█▄▀ ▄█▄▄█ \n █▄▄█▀▀▀█▄▄▄█ "], ["happy", " ▄▄▀▀▀▀▀█ \n ▄▄▀ ▄ ▄█▀▄▄ \n █ ▀ ▀▄█▀▀ █ \n ▀███▄ █▀ ▄█▀ \n ▄▀▀▄▄▄▄█▀▀▀▄▀ \n ▀▄▄█▀▄▀▀▄▄▀ \n ▄█▀█▄▄█▀▀█▄ \n █▄▄▄█ █▄▄█ "], ["injured_1", " ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀▀ ▀▄▄ ██▄▀█ \n █▄▄▄▄▄▄█▀ ▄▄▀ \n ▀▄▄▄▄█ ▄██ \n ▄▀█▄ ▄ █▀▀ █ \n ▀▄█▄▀ ▄█▄▄█ \n █▄▄█▀▀▀█▄▄▄█ "], ["injured_2", " \n ▄▄▀▀▀▀▀█ \n ▄▄▀▄ ▄█▀▄▄ \n █ ▀▀▄█▀▀ █ \n ▀█▀▀▀▀█▀ ▄█▀ \n ▄█▀▀▀▀▄██▀▄ \n █ ██▄▀▄█ ▄▀ \n ████▀▀▀███▄█ "], ["sleep_1", " \n ▄▄▀▀▀▀▀█ \n ▄▄▀ ▄█▀▄▄ \n █ ▀▀▀▄█▀▀ █ \n ▀█▀▀▀▀█▀ ▄█▀ \n ▄█▀▀▀▀▄██▀▄ \n █ ██▄▀▄█ ▄▀ \n ████▀▀▀███▄█ "], ["sleep_2", " ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀▀ ▄▄▄ ██▄▀█ \n █▄▄▄▄▄▄█▀ ▄▄▀ \n ▀▄▄▄▄█ ▄██ \n ▄▀█▄ ▄ █▀▀ █ \n ▀▄█▄▀ ▄█▄▄█ \n █▄▄█▀▀▀█▄▄▄█ "], ["walk_1", " ▄▄▀▀▀▀▀█ \n ▄▄▀ ▄▄ ▄█▀▄▄ \n █ ▀▀ ▄█▀▀ █ \n ▀█▀▀▀▀█▀ ▄█▀ \n ▄█▀▀▀▀▄██▀▄ \n █ █▀▄▀ █ ▄▀ \n █▀█▄▄█▀▀█▄ \n █▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀▀ ▄█▀ ██▄▀█ \n █▄▄▄▄▄▄█▀ ▄▄▀ \n ▀▄▄▄▄█ ▄██ \n ▄▀█▄ ▄ █▀▀ █ \n █▄█▄▀ ▄█▄▄█▄ \n █▄▄█▀▀▀▀▀█▄▄▄█ "]]], + ["crowmon", [["angry", " ▄▄▄█▀▀ \n ▄▀ ▀▄ ▄▄ \n █ ▄█ ▄██▄ █▄▄ \n█ ▄▄▀▀▄▀ ███▀█▄\n█▄▀▄▄█▀ ▄██▄▀█ █\n▀▄▀█████████ █▄█\n █▄▀▄█▀▀█▀▀██ █ \n ▀ ▀▄▀█▄█▀▄▀▀ "], ["attack", " ▄▀▀▀█▀█▄█▀▀ ▄█\n▄▀▄▄▄▀▀ █▄▄█▀▀█\n██▄▀███▄ ██▄ █ █\n█ █ ███▀▄▀▀█ █ █\n█▄▀▄█▄▄▀ ▄███▀▄█\n▀ ▀▄▄▄█████▄▄ ▀\n █ ▀ █ ▀ █ ▀▀ \n ▀▄█▀█▄█▀ "], ["eat_1", " ▄▀▀▀▀▀█▄█▀██▄ \n▀▀▀▄ ▀█ █▄▄█ ██ \n ▀▄ ▄█▄ █▄█ █\n ▄▄▀▀▄▀ ███▄██\n █▄▄█▀ ▄█████▀ \n ▀ ▄▄███████▄ \n █▄▀█▄▀▄█ ▀▀ \n ▀▄█▀▄█▀ "], ["eat_2", " ▄▄▄ \n ▄▀▀█▀ \n ▄▀ ▄▄ █▄▀▀▄ \n▄▀ ▀ ▄█▀█▀▄███▄ \n█ ▄▀▀▄▄▀ ▄█▀█▄▀█\n█▀▄▀██▄▄████ █▄█\n █▄▀█▄▀▄█ ██ \n ▀▄█▀▄█▀▀▀ "], ["happy", " ▄▀▀▀▀▀█▄█▀▀ \n ▀▄▄▄ ▀█ █ ▄█▄ \n ▄▀███▄ ▄██▄▀▄▀▄\n█ █ ███▀▄▀ █ █ █\n█ █ █▄▄▀ ▄██ █ █\n▀▄█▀▀▄▄█████▀▀▄█\n █▄▀█▄▀▄██▄ ▀\n ▀▄█▀▄█▀ ▀ "], ["injured_1", " ▄▄▄ \n ▄▀▀█▀ \n ▄▀▄ █▄▀▀█▄▄ \n▄▀ ▀▀▄█▀█▀▄██▀█▄\n█ ▄▀▀▄▄▀ ▄█▄▀█ █\n█▀▄███▄▄████ ██ \n █▄▀▄█▀▀█▀▀█▄▀█ \n ▀ █▄▀█▄█▀▄█ ▀ "], ["injured_2", " \n ▄▄▄█▀▀ \n ▄▀ ▀▄▄▀▀█▄▄ \n █ █▄ ▄██▀▄██▀█▄\n█ ▄▄▀▀▄▀▄█▄▀█ █\n█▄▀▄▄██▄████ ██ \n▀▄█▀▄█▀▀█▀▀█▄▀█ \n ▀ █▄▀█▄█▀▄█ ▀ "], ["sleep_1", " ▄▄▄ \n ▄▀▀█▀ \n ▄▀ █▄▀▀█▄▄ \n▄▀ ▀▀▄█▀█▀▄███▄ \n█ ▄▀▀▄▄▀ ▄▀████ \n▀█████▄▄███ ████\n ██▀▄█▀▀█▀▀█▄▀▀█\n ▀ █▄▀█▄█▀▄█ "], ["sleep_2", " ▄▄▄█▀▀ \n ▄▀ ▀▄ ▄▄ \n █ ▄▄ ▄██▄ ██ \n█ ▄▄▀▀▄▀ ████ \n█▄▀▄▄█▀ ▄█▄▀███ \n▀▄██▀██████ ███▄\n ██▀▄█▀▀█▀▀█▄▀▀█\n ▀ █▄▀█▄█▀▄█ "], ["walk_1", " ▄▄▄█▀▀ ██▄ \n ▄▀ ▀▄ ▄▄█ ██ \n █ ▄█▀▄██▄ █▄█ █\n█ ▄▄▀▀▄▀ ███▄██\n█▄▀▄▄█▀ ▄█████▀ \n▀ ▀ ▄▄███████▄ \n █▄▀█▄▀▄█ ▀▀ \n ▀▄█▀▄█ "], ["walk_2", " ▄▄▄ \n ▄▀▀█▀ \n ▄▀ ▄▄ █▄▀▀▄ \n▄▀ ▀▀▄█▀█▀▄███▄ \n█ ▄▀▀▄▄▀ ▄█▀█▄▀█\n█▀▄▀██▄▄████ █▄▀\n █▄▀█▄▀▄█ █▀ \n ▀▄█▀▄█▀▀ ▀ "]]], + ["cryspaledramon", [["angry", " ▄ ▄▄ ▄▄ ▄ \n █▄▀▄▀▀▄█ █▄█ \n █▀ ▄ ▀ ▄█▄▄▄█\n▄▀ ▀▀ ▀▄█ █\n▀█▀▀▀▄▄▄▀▀▄▄█▄ █\n ▀█▀▄ ▄▀▀█ ▀▄▀▀\n █▄█ ▀ ▄█▄▄▄▀▀█\n █▄█▄█▀██▄▄▄▄█▀ "], ["attack", " ▄▀▄▀█▄▀█ ▄▀▄ \n ▄█▀▀ ▀ ▄▀▀▄▀▀▀▄\n█▄▄▄▄ ▄█ ▄▀█▀▀▀█\n █████ ▀█ █\n █████ ▄▀▀▄▀█▄▄█\n▄▀▄▄▄▄██ ▄█▄▄ \n▀▄█▄▀▄▄▄▀▀█▄ ▄▀ \n █▄█▄█ ▀▄█▄▄█ "], ["eat_1", " ▄▀▄▀█▄▀█ ▄▀▄ \n ▄█▀ ▀ ▄▀▀▄▀▀▀▄\n ▄▀ ▄▀▄ ▄▀█▀▀▀█\n█▄▄▄▄ ▄▄▀▀▄ █\n ▀████ █▄▄█▀█▀▄█\n ▄▀▀▀▄█▀ ▄▀ █▄▄\n ██▀▄▄▄▀▀▄▄█ ▄▀\n █▄█▄█ █▄█▄▄▄█ "], ["eat_2", " ▄ ▄▄ ▄▄ ▄ \n █▄▀▄▀▀▄█ █▄█ \n █▀ ▄ ▀ ▄█▄▄▄█\n▄▀ ▀ ▀ ▀▄█ █\n▀█▀▀▀▄▄▄▀▀▄▄█▄ █\n ▀█▀▄ ▄▀▀█ ▀▄▀▀\n █▄█ ▀ ▄█▄▄▄▀▀█\n █▄█▄█▀██▄▄▄▄█▀ "], ["happy", " ▄▀▄▀█▄▀█ ▄▀▄ \n ▄█▀ ▀ ▄▀▀▄▀▀▀▄\n ▄▀ ▄▀▄ ▄▀█▀▀▀█\n█▄▄▄▄▄ ▄▄▀▀▄ █\n ▀███▀ █▄▄█▀█▀▄█\n ▀▄▄█▀▀ ▄▀ █▄▄\n ██▀▄▄▄▀▀▄▄█ ▄▀\n █▄█▄█ █▄█▄▄▄█ "], ["injured_1", " \n ▄▀▄▀█▄▀█ ▄▀▄ \n ▄█▀ ▀ ▄▀▀▄▀▀▀▄\n ▄▀ █▄ ▄▀█▀▀▀█\n█▄▄▄▄ ▄▄▀▀▄ █\n ▀▄▄▄▀▀▀▄▄█▀█▀▄█\n ▄█▄█▄▀ ▄█ █▄▄\n █▄█▄█████▄▄▄█▀ "], ["injured_2", " \n ▄ ▄▄ ▄▄ ▄▀▄ \n █▄▀▄▀▀▄█▄▀▀▀▄\n █▀ ▄ ▀ ▄█▀▀▀█\n█▀ ▀▀ ▀▄█ █\n █▀▀▀▄▄▄▀▀█ █▀▄█\n ███▄ ▄▀█▀ █▄▄\n █▄█▄█████▄▄▄█▀ "], ["sleep_1", " \n ▄ ▄▄ ▄▄ ▄ \n █▄▀▄▀▀▄█ █▄█ \n █▀ ▀ ▄█▄▄▄█\n▄▀ ▀▀ ▀▄█ █\n▀███▀▄▄▄▀█▄▄█▄ █\n█ ▀ █▄▀▀█ ▀ █▄\n█▄▄▄█▄▄▄█▄▄▄▄▄█▀"], ["sleep_2", " \n ▄▀▄▀█▄▀█ ▄▀▄ \n ▄█▀ ▀ ▄▀▀▄▀▀▀▄\n ▄▀ ▄▄ ▄▀█▀▀▀█\n█▄▄▄▄ ▄▄▀▀▄ █\n █▄▄▄▀▀▀ ▄█▄▄▀▄█\n█ ▀ █▄▀▀█▀ ▀ ▀█▄\n█▄▄▄█▄▄▄█▄▄▄▄▄█▀"], ["walk_1", " ▄▀▄▀█▄▀█ ▄▀▄ \n ▄█▀ ▀ ▄▀▀▄▀▀▀▄\n ▄▀ ▄█▀ ▄▀█▀▀▀█\n█▄▄▄▄ ▄▄▀▀▄ █\n ▀▄▄▄▀▀▀▄▄█▀█▀▄█\n ▄▀▄▀▄▀ ▄▀ █▄▄\n █▄▀▄▄▄▀▀▄▄█ ▄▀\n █▄█▄█ █▄█▄▄▄█ "], ["walk_2", " ▄ ▄▄ ▄▄ ▄ \n █▄▀▄▀▀▄█ █▄█ \n █▀ ▄▄ ▀ ▄█▄▄▄█\n▄▀ ▀▀ ▀▄█ █\n▀█▀▀▀▄▄▄▀▀▄▄█▄ █\n ▀█▀▄ ▄▀▀█ ▀▄▀▀\n █▄█ ▀ ▄█▄▄▄▀▀█\n █▄█▄█▀██▄▄▄▄█▀ "]]], + ["curimon", [["angry", " \n \n \n ▄▀▄▄ \n █▀▄▀ ▀▄ \n ▄▀ ▀ ▄▀ \n ██▄ ▄█ █ \n ▀▄▄█▄▄▄▄▄▀ "], ["attack", " \n ▄▀▄▄ \n █▀▄▀ ▀▄ \n ▄▀ ▀ ▄▀ \n ██▄ ▄█ █ \n █ ▄█▄▄ █ \n █ ▀██▀ █ \n ▀▄▄▄▄▄▄▀ "], ["eat_1", " \n \n ▄▀▄▄ \n █▀▄▀ ▀▄ \n ▄▀ ▀ ▄▀ \n █ ▀▄ ▀ ▀ █ \n █ ▀██▀ █ \n ▀▄▄▄▄▄▄▀ "], ["eat_2", " \n \n \n ▄▀▄▄ \n █▀▄▀ ▀▄ \n ▄▀ ▀ ▄▀ \n █▀▄ ▄▀▄ █ \n ▀▄▄█▄▄▄▄▄▀ "], ["happy", " ▄ \n ▄▄ ▄▀ ▀█ \n █ ▀▄ ▄▀ \n ▄█ ▄ ▀▄ \n █ ▀▄▀ ▀ █ \n █ ████ █ \n ▀▄██▄▄▄▀ \n ▄▄▄▄ "], ["injured_1", " \n \n \n \n █▀▄▄▄▀▀▀▀▄ \n ▄▀ ▀ ▄▄▄▄▀\n █▄█ █▄ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n \n \n ▄▄ ▄▄▄▄ \n █ ▀█▀ ▀▄\n ▄▀▄ ▄ ▀█▀▀ \n █▄██▄▄██▄▄▄█ "], ["sleep_1", " \n \n \n ▄▀▄▄ \n █▀▄▀ ▀▄ \n ▄▀ ▀ ▄▀ \n █▄▄ ▄▄ █ \n ▀▄▄█▄▄▄▄▄▀ "], ["sleep_2", " \n \n ▄ \n ▄▄ ▄▀ ▀█ \n █ ▀▄ ▄▀ \n ▄▀ ▀▄ \n █▀▀▄ ▀▀ █ \n ▀▄▄▄▄▄▄▀ "], ["walk_1", " \n \n ▄ \n ▄▄ ▄▀ ▀█ \n █ ▀▄ ▄▀ \n ▄▀▄ ▄ ▄▀▄ \n █ ▄▀▄▄ █ \n ▀▄▄▄▄▄▄▀ "], ["walk_2", " \n \n \n ▄▀▄▄ \n █▀▄▀ ▀▄ \n ▄▀ ▀ ▄▀ \n █ ▀▄ ▀ ▀ █ \n ▀▄█▄██▄▄▄▀ "]]], + ["cyberdramon", [["angry", " ▄▄▄\n ▄▄▄▀▀▀▀▀█▄▀ █ \n▄▀ ▄█ ▄█▄█▀▄▀▄\n▀█▀▄▄▄▄▀█▀▄█▄█ █\n ▀█▄▄▄▄██▄██▀█ █\n▄▀█▄█▄▄██▄▀▄█▀ █\n▀██▄ ▀█▀███▄▄▄▀█\n█▄████▀ █▄▄█▄█▀"], ["attack", " ▄▄▀▀██▀▀█▀ ▄▀█▀\n█▄▄ ▀▀ ▄█▄ █ ▀▄\n ▀ █▀▄█▀███▄█ █\n █▀▄██▀▄████\n ▄█▄▀ ▄███▄█████\n█▀▄▄▀▀▀█▀▀█▄█▄▀█\n▀▀██▀▀█▄█▄▄█▄▀▄█\n █▄████ █▄▄█▄█ ▀"], ["eat_1", " ▄▄▀▀▀▀▀▀█▀ ▄▀█▀\n█▄▄ ▀▀▀▄█▄ █ ▀▄\n ▀▀▄█▀███▄▀█ █\n ▄▄▀ ██▀▀█ █ █\n ▄█▄▄▄██▄████▄ █\n█▀██▄▄▄█▄▀██▀ ██\n ▀██▄▄█▄████▄ ▀\n █▄████ █▄▄█▄█ "], ["eat_2", " ▄▄▄\n ▄▄▀▀▀▀▀█▀▄▀ █ \n▄▀ ▄▀▄ ▄█▄ ▀▄▄ █\n▀█▀▄▄▄█▀█▀▀█ █ █\n█▄█▄▄▄▄█▀██▄█ █\n ▀██▄▄▄██▄▄█▀▀▄█\n ▄▄█▄▄▄▀███▄▄▄▀ \n█▄████▀ █▄▄█▄█ "], ["happy", " ▄▄▀▀█▀▀▀█▀ ▄▀█▀\n█▄▄ ▀ ▀▄█▄ █ █ \n ▀▀▄█▀██▀████ \n ▄▄▄▀ ██▄████▀█\n ▄█▄▄▄█▄▄██ ▀▄██\n█▄▀██▄▄▄▄▄█▄▄ █\n ▀██▄▄█▄▄███▄▀▄█\n █▄████ █▄▄█▄█ ▀"], ["injured_1", " ▄▄\n ▄▄▄▀▀▀▀█▀ ▄▀ █\n▄▀ █▄ ▄█▄ █ █ \n▀▄▄▄▄▄▀▀███▄▀█ █\n ▄█▄▄▄▄▀▀▄▄▀▄▀ █\n█▀█▄█▄▄█▀████▄ █\n ███▄▄▄██▄██▄ ▀█\n█▄█▄▄█▀▀█▄▄█▄█ "], ["injured_2", " \n ▄▄▄▄▄▄ ▄▄\n ▄▀▀█ ▄▀ ▄▀ █\n█ ▀▀▄███▄▀▄▄█ \n ▀█▀▀▀ ▄█▀▀█ ██ \n▄██▀█▀▀▄▄██▄█▀ █\n▀▄██▀▀▀█▄▀███▄ █\n█▄▄███████▄▄▄█▀█"], ["sleep_1", " \n \n ▄▄▄▀▀▀▀█▀ ▄▀█▀\n▄▀ ▄▄ ▄█▄ █ █ \n▀█▀▄▄▄█▀███▄▀▄▀█\n▄▄█▄▄▄▄▀▀▄▄▀▄█ █\n█ ▀▄█▄▄█▀██▀ ▀▄█\n█▄▄█▄▄▄██▄█▄▄▄█▀"], ["sleep_2", " \n ▄▄▄▄▄▄ \n ▄▀▀▀ ▄▀ ▄▀█▀\n█▄▄ ▀▀▄███▄█▄▀█ \n █▄▀▀▀▀▄█▀▄▄▀▄██\n█▄█▀█▀▀██▀████ █\n█ ▀████▀██▄▀ ▀▄█\n█▄▄█▄▄▄████▄▄▄█▀"], ["walk_1", " ▄▄▄▀▀▀▀█▀ ▄▀█▀\n▄▀ ▄█▀▄█▄ █ ▀▄\n▀█▀▄▄▄█▀███▄▀█ █\n ▀▄▄▄▄▀▀▄▄▀▄▀ █\n▄██▄█▄▄█▀████▄ █\n▀▄██▄▄▄▀█▄█▀ ██\n ▄██▄▄▀█████▄ ▀\n█▄████ █▄▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄ ▄█▀\n ▄▀▀▀▄▄ ▄▀ ▄▀ ▀▄\n█▄▄ ▀▀▄███▄▀▄▄ █\n ▀▄▀▀▀▀▄█▀▀█ █ █\n▄██▀█▀▀▄▄██▄█ █\n▀▄██▀▀▀█▄▀██▀▀▄█\n ▄▄█▀▀█▀███▄▄▄▀ \n█▄████▀ █▄▄█▄█ "]]], + ["cyberdramon_x", [["angry", " ▄▄▄▄▄ \n ▄▄██▀▀▀ ▄▀ ▄▄\n ▄▀▀ ▄▄▄█▀ ▄██▀\n ▀█▀▀▀ ██▄▀▀██▀ \n █▀█▀██ ▀ █ \n ▄█▀▄▀███▀█▄ \n █ ████ ▄▀██▄ \n ▄███▀ ▀▀█▄█▄▀▀█"], ["attack", " ▄▄▄██▀▀█▀\n ▄█▀▀▀ ▄▄▀ ▄\n █▄▄▄▀████▄▄██\n▀▀▄▄█▄▄██▀▄ ██▀ \n▀▀▄█▄█▄▄█▄▄█▀ \n▀▀ ▀▄▀██████▄ \n ▄██▀█▄▀█ ▀█\n ▄█▄█▀ ▀█▄█▄ "], ["eat_1", " ▄▄▄▄██▀▀█ \n▄▄█▀▀▀ ▄▄▀ ▄██\n▀▄▄▄▄█▀██▀▄▄███ \n ███▀▄██▀▄ █▀ \n █▄▄████▄▄▄▀ \n▄▀ █▄█▄█▀▀ ██▄ \n▀▄▄███▀█▄▄█ ▀██▄\n ▄█▄█▀ ▀█▄█▄ ▀"], ["eat_2", " ▄▄▄▄▄ \n ▄▄██▀▀▀ ▄▀ ▄▄\n ▄▀▀ ▄▄▄█▀ ▄██▀\n ▀█▀▀▀ ██▄▀▀██▀ \n █▀█▀██ ▄ █ \n ▄▀█▀▄▀█▀▀ █▄ \n ▀▄█████▄▄█▀██▄ \n ██▄█▀ ▀▀█▄█▄▀▀█"], ["happy", " ▄▄▄▄██▀▀█ \n▄▄█▀▀▀ ▄▄█ ▄██\n▀▄▄▄▀▀████ ███ \n ███▀▄██ ▄██▀ \n █▄▄█▀█████▀ \n █ █▄▀▄██▀██▄ \n ▀███▀██▀█ ▀██▄\n ▄█▄█▀ ▀█▄█▄ ▀"], ["injured_1", " \n ▄▀███▀▀█ \n ▄▀▄▀▀ ▄▄▀ ▄██\n █ ▄▀█▀▄▄███ \n ▀█▄█▄██▀▄ █▀ \n █▄▀▄▀█▄▄█▀ \n ▄▀ ▀█▄█▀ █▄ \n █▄▄████▄▄▄▀██▄ "], ["injured_2", " \n ▄▄▄▄▄▄▄▄ \n ▄▀▄█▀▀ ▄▀▀ ▄▄\n ▄▀ ▀ ▄▄█▀ ▄▄██▀\n █▄ ▄▀▄█▄▀▀███▀ \n ██▀█▀█ █▄██ \n ▄▀ ▀▄▀█▀ █▄ \n █▄▄████▄▄▄▀██▄ "], ["sleep_1", " ▄▄▄▄▄ \n ▄▄██▀▀▀ ▄▀▄██\n ▄▀▀ ▄▄▄▀█▄███ \n ▀█▀▀▀ ██▀▄ █▀ \n ▄▀▀▀▀▀▀▀▀▀▀▀▀▄ \n █ ██▀█▀█▀█▀█ █ \n █ █▄█▄█▄█▄██ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " ▄▄▄██▀▀█ \n ▄█▀▀▀ ▄▄▀ ▄██\n █▄▄▄▄▀██▀▄▄███ \n ▀▄▄▄▄██▀▄ █▀ \n ▄▀▀▀▀▀▀▀▀▀▀▀▀▄ \n █ ██▀█▀█▀█▀█ █ \n █ █▄█▄█▄█▄██ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " ▄▄▄██▀▀█ \n ▄█▀▀▀ ▄▄▀ ▄██\n █▄▄▄▄▀██▀▄▄███ \n ▀▄▄▄▄██▀▄ █▀ \n ▄█▄▀▄██▄▄▄▀ \n▄▀ █▄█▄█▀▀ ██▄ \n▀▄▄███▀█▄▄█ ▀██▄\n ▄█▄█▀ ▀█▄█▄ ▀"], ["walk_2", " ▄▄▄▄▄ \n ▄▄██▀▀▀ ▄▀ ▄▄\n ▄▀▀ ▄▄▄█▀ ▄██▀\n ▀█▀▀▀ ██▄▀▀██▀ \n █▀█▀██ ▀ █ \n ▄▀█▀▄▀███▀█▄ \n█ █████ ▄▀██▄ \n ██▄█▀ ▀▀█▄█▄▀▀█"]]], + ["cyclonemon", [["angry", " ██▄ \n ▄▄█▀█████ \n▄████▄▄███ █ \n▀█▀█▀█▀█▀ █ \n ▀█▀█ ▀▀▄ \n ▄█▄█▄█▄▀ █▀▀ █ \n ▀▄▄▄▄▄▄▄██▄▄▄▀█\n █▄█▄▄█▀█▄█▄█▄█ "], ["attack", " ▄▄ \n ▄▄▄███▄ \n ██▀▀███▀█ \n▄███▄▄███▀ █ \n▀▀█▀█▀█▀█▄▄▀▀▀▄ \n▄█▀▀▀▀▀▀▀▄▄▀▀▄ █\n▀▄███▀▀▀▀ █▄▄▄▄▀\n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["eat_1", " ▄▄ \n ▄▄▄███▄ \n ██▀▀███▀█ \n▄███▄▄███▀ █ \n▀▀█▀█▀█▀█▄▄▀▀▀▄ \n▄█▀▀▀▀▀▀▀▄▄▀▀▄ █\n▀▄███▀▀▀▀ █▄▄▄▄▀\n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["eat_2", " ██▄ \n ▄▄█▀█████ \n▄████▄█▄██ █▄▄▄ \n▀█▀█▀█▀█▀ █ █\n █▀█▀▄█▀ █\n ▄█▄█▄▀ ▄▀ ▄▄▀ \n ▀▄▄▄▄▄▀ ▄▄▄▄█▀█\n █▄█▄▄█▀█▄█▄█▄█ "], ["happy", " ██▄ \n ▄▄█▀█████ \n▄████▄█▄██ █▄▄▄ \n▀█▀█▀█▀█▀ █ █\n █▀█▀▄█▀ █\n ▄█▄█▄▀ ▄▀ ▄▄▀ \n ▀▄▄▄▄▄▀ ▄▄▄▄█▀█\n █▄█▄▄█▀█▄█▄█▄█ "], ["injured_1", " ▄▄▄ \n ▄▄████ \n ████████ \n ████████ █ \n ████▄▄▄█▀▄▀▀▄ \n█▀██▀▀▀▀▄▄▀█▀█▀▄\n█ █▀█▀▀▄█ █\n▀▄▄█▄█▄▄▄▄█▄▄▄▀ "], ["injured_2", " ▄▄▄ \n ▄▄████ \n ████████ \n ████████ █ \n ████▄▄▄█▀▄▀▀▄ \n█▀██▀▀▀▀▄▄▀█▀█▀▄\n█ █▀█▀▀▄█ █\n▀▄▄█▄█▄▄▄▄█▄▄▄▀ "], ["refuse", " ▄▄ \n ▄▄▄███▄ \n ██▀▀███▀█ \n▄███▄▄███▀ █ \n▀▀█▀█▀█▀█▄▄▀▀▀▄ \n▄█▀▀▀▀▀▀▀▄▄▀▀▄ █\n▀▄███▀▀▀▀ █▄▄▄▄▀\n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["sleep_1", " ▄▄▄ \n ▄▄████ \n ████████ \n ████████ █ \n ████▄▄▄█▀▄▀▀▄ \n█▀██▀▀▀▀▄▄▀█▀█▀▄\n█ █▀█▀▀▄█ █\n▀▄▄█▄█▄▄▄▄█▄▄▄▀ "], ["sleep_2", " ▄▄▄ \n ▄▄████ \n ████████ \n ████████ █ \n ████▄▄▄█▀▄▀▀▄ \n█▀██▀▀▀▀▄▄▀█▀█▀▄\n█ █▀█▀▀▄█ █\n▀▄▄█▄█▄▄▄▄█▄▄▄▀ "], ["walk_1", " ██▄ \n ▄▄███████ \n ▄▄█▀ ▄███ █ \n████████▀ █ \n ▀▄▄▄▄▄▀▀▀▀▄▀▄ \n ▄▀ █▄█▄▄▀▀█ █ \n ▀▄▄█▄ ▀▄▄▄▄█▀█\n █▄█▄▄█▀█▄█▄█▄█ "], ["walk_2", " ▄▄ \n ▄▄▄███▄ \n ██▀▀███▀█ \n▄███▄▄███▀ █ \n▀▀█▀█▀█▀█▄▄▀▀▀▄ \n▄█▀▀▀▀▀▀▀▄▄▀▀▄ █\n▀▄███▀▀▀▀ █▄▄▄▄▀\n█▄█▄▄█▀▀▀█▄█▄█▄█"]]], + ["damemon", [["angry", " ▄▄ \n ▄▀ █▄ \n ▄▀▀▀▀▀▀▄ \n ▄▀▄ ▄ ▄█ \n█▀█ ▀▀ ▀▀ █▀█\n▀█ ▀█▄▄▄▄▄▄█▀ █▀\n ▀▄▄█ █▄▄▀ \n █▄▄▄█▀▀▀▀█▄▄▄█ "], ["attack", " ▄▀▀▀▄ \n ▄▀ ▄█ ▄▄▄▄\n █▄▀█▀ █▄▄▄▀\n ▄▀▀▀█ █▄▄█\n █▀▀▀█▀█▀▀██▀▄ \n ▀▄▄▀▀██▄▄▄█▄ ▀█\n ▄▀▄▄█▄▀▀▄█▀▀\n █▄▄▄█ █▄▄▄█ "], ["eat_1", " ▄▀█ \n ▄█▄▄██ \n █▄ ▄ ▀▄ \n█▀▄▀ ▀ ▀ ▀ ▀▄▀█\n▀▄█▄███████▄▄█▄▀\n█▀ ▄▀██▄▄▄▀ ▄▀ █\n ▀▀█▄▄▄▄▄▄▄██▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["eat_2", " ▄▄ \n ▄▀ █▄ \n ▄▀▀▀▀▀▀▄ \n▄▄ ▄▀ ▄█ ▄▄\n█ █ ▄▀▄ ▄▀▄ █ █\n▄▀█▀▄▄▄▄▄▄▄▀▀█▀▄\n▀▄█▄▄▀▀▀▀▀ ▄▄█▄▀\n █▄▄▄█▀▀▀▀█▄▄▄█ "], ["happy", " ▄▀█ \n ▄█▄▄██ \n█▀▄ █▄ ▄ ▀▄▄▀█\n█ █▀ ▀ ▀ ▀ ▀█ █\n▄▀█▄███████▄▄█▀▄\n▀▄█ ▀█████▀ █▄▀\n ▀▄▄▄▀▀▀▄▄▄█▀ \n █▄▄▄█▀▀█▄▄▄█ "], ["injured_1", " \n ▄▀█ \n ▄█▄▄██ \n █ ▀▄ \n▄▄▄▀ ▄ ▄ ▀▀▄▄▄\n█ █▄▀▀▀ ▀▀▀▄▄█ █\n▄▀█▀█▄▄▄▄▄▀▀▄█▀▄\n▀▄█▄▄█▄▄▄█▄▄▄█▄▀"], ["injured_2", " \n ▄▄ \n ▄▀ █▄ \n ▄▀▀▀▀▀▀▄ \n ▄▀ ▄█ \n▄▀█ ▄▄█ █▄▄ █▀▄\n█▀█▀█▄▄▄▄▄▀▀▄█▀█\n▀▄█▄▄█▄▄▄█▄▄▄█▄▀"], ["sleep_1", " \n ▄▀█ \n ▄█▄▄██ \n █ ▀▄ \n ▄▀▄▄▄▄▄▄▄▀▀▄ \n █ ▄█ \n █ ▀▀▀▀▀▀▀▀▀▀ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " ▄▄ \n ▄▀ █▄ \n ▄▀▀▀▀▀▀▄ \n ▄▀ ▄█ \n █ ▀▀▀▀▀▀▀ █ \n ▄▀█▄▄▄▄▄▄▄▄█▀▄ \n █ ▀▀▀▀▀▀▀ █ \n ▀▄▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " ▄▀█ \n ▄█▄▄██ \n █ ▀▄ \n█▀▄▀▄▀▄ ▄▀▄▀▀▄▀█\n▀▄█▄ ▀ ▀ ▄▄█▄▀\n█ █ ▀█████▀ █ █\n ▀▀█▄▄▄▄▄▄▄██▀▀ \n █▄▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄ \n ▄▀ █▄ \n ▄▀▀▀▀▀▀▄ \n▄▄ ▄▀▄ ▄ ▄█ ▄▄\n█ █ ▀▄▀ ▀▄▀ █ █\n▄▀█▀▄▄▄▄▄▄▄▀▀█▀▄\n▀▄█▄▄▀▀▀▀▀ ▄▄█▄▀\n █▄▄▄█▀▀▀▀█▄▄▄█ "]]], + ["darcmon", [["angry", " ▄▀█▀█████▄ \n ██▄█▀▀▀███▄▀▀▄ \n █ ▄█ ▀██ █\n ▀███▄ █ █▀▄█\n ▄▀█▄▄▄▄█▀ █▀▄ ▀\n ▀▄█▄▀▄▄█▄▀█ █ \n █▀██▀▀▄ ▀▄ █ \n █▄▄█ █▄▄█ ▀▀ "], ["attack", " ▄▄▄▄▄▄▄▄ \n █▄▀▄██████ ▄▄ \n ▀█▀▀▄▄ ▀███ ▀▄\n █▄▄▀ ▀ ▀█ ▄▄ █\n ▀▄▄▄▄▄███▄ ▀█\n ▄▀█▄█▄▄▀ █ ▀▄ \n ▀▄██▄██▄▄██ █ \n ██▄▄█▀▄▄▄▄█▀▄█ "], ["eat_1", " ▄▄▄▄▄▄▄▄ \n █▄▀▄██████ ▄▄ \n ▀█▀▀ ▄▀███ ▀▄\n █▄▄ ▀ ▀ █ ▄▄ █\n ▀▄▄▄▄▄███▄ ▀█\n ▄▀█▄█▄▄▀ █ ▀▄ \n ▀▄██▄██▄▄██ █ \n ██▄▄█▀▄▄▄▄█▀▄█ "], ["eat_2", " ▄▀█▀█████▄ \n ██▄█▀▀▀███▄▀▀▄ \n █ █▀▄ ▀█▀ █\n ▀██▄▄ ▄█▄▀▀▄█\n ▄█▀▀▀▄█▀█▀▀▄ ▀\n █ ██▀██ █▄ █ \n ▀█▀██▀▀█▀▀▄ █ \n █▄▄█ █▄▄█ ▀▀ "], ["happy", " ▄▀█▀█████▄ \n ██▄█▀▀▀███▄▀▀▄ \n █ ▄▀▄▀█▀ █\n ▀██▄▄ ▄█▄▀▀▄█\n ▄█▀▀▀▄█▀█▀▀▄ ▀\n █ ██▀██ █▄ █ \n ▀█▀██▀▀█▀▀▄ █ \n █▄▄█ █▄▄█ ▀▀ "], ["injured_1", " \n ▄▄▄▄▄▄▄▄ \n █▄▀▄██████▄▀▀▄ \n ▀█▀▀ ▄ ▀██▀ █\n █▄▄ ▀▀ ▀█▄▀▀▄█\n▄▄ ▀▄▄▄▄▄████▄ ▀\n█ ▀█▄█▄▄▀▄▀ █▀▄\n█▄▄▄█▄███▄▄▄▄▀▄█"], ["injured_2", " \n \n▄▀█▀█████▄ ▄▄ \n██▄█▀▀▀████ ▀▄ \n █ █▄ ██ ▄▄ █ \n▄██▀ ▄██▄▄██ \n█ ▀█▀█▀█▀▄▀ █▀▄\n█▄▄▄█▄███▄▄▄▄▀▄█"], ["refuse", " ▄▄▄▄▄▄▄▄ \n █▄▀▄██████ ▄▄ \n ▀█▀▀ ▄▀███ ▀▄\n █▄▄ ▀▀ ▀█ ▄▄ █\n ▀▄▄▄▄▄███▄ ▀█\n ▄▀█▄█▄▄▀ █ ▀▄ \n ▀▄██▄██▄▄██ █ \n ██▄▄█▀▄▄▄▄█▀▄█ "], ["sleep_1", " \n ▄▀█▀█████▄ \n ██▄█▀▀▀███▄▀▀▄ \n █ ▄▄ ██▀ █\n ▀█▀ ▄█▄▀▀▄█\n▄▄ ▄▀█▀▀█▀███▄ ▀\n█ ▀██▀██ ▄▀ █▀▄\n█▄▄▄█████▄▄▄▄▀▄█"], ["sleep_2", " \n ▄▄▄▄▄▄▄▄ \n █▄▀▄██████▄▀▀▄ \n ▀█▀▀ ▀██▀ █\n █▄▄ ▀▀ ▀█▄▀▀▄█\n▄▄ ▀▄▄▄▄▄████▄ ▀\n█ ▀█▄█▄▄▀▄▀ █▀▄\n█▄▄▄█▄███▄▄▄▄▀▄█"], ["walk_1", " ▄▀█▀█████▄ \n ██▄█▀▀▀███▄▀▀▄ \n █ █▀▄ ██▀ █\n ▀█▀ ▄█▄▀▀▄█\n ▄▄▀█▀▀█▀█▀▀▄ ▀\n █ ██▀██ █▄ █ \n ▀█▀██▀▀█▀▀▄ █ \n █▄▄█ █▄▄█ ▀▀ "], ["walk_2", " ▄▄▄▄▄▄▄▄ \n █▄▀▄██████ ▄▄ \n ▀█▀▀▄▄ ▀███ ▀▄\n █▄▄▀ ▀ ▀█ ▄▄ █\n ▀▄▄▄▄▄███▄ ▀█\n ▄▀█▄█▄▄▀ █ ▀▄ \n ▀▄██▄██▄▄██ █ \n ██▄▄█▀▄▄▄▄█▀▄█ "]]], + ["darkdramon", [["angry", " ▄▄ ▄▄▄▄ \n ▄▀▄▀▀ ▄▀ \n ▄▀ ▀ ▄█ █▄██▀ \n █▄▄▄▄▄ ▄█▀ █▄ \n ▀▄▄▄▄██ ▄▀ █ \n ▄▀ █ █ █▀ ▄▀ \n ██▀▀▄▄▄▄██▀▀▀▄ \n█▄█▄▄▄▀▀▀█▄█▄█▄█"], ["attack", " ▄▄▀▀▀▀█ \n ▄▀▀ ▄ ▄█▄▄\n █▄▄▄▀▀▄█▀▀█ \n ▄▄▄█▄▄▄▄█ ▄▀ \n▄▀▀ ▀▄▀ █▀ \n ▀█▄▄▄▄█▄███ \n ▄█▀▀▀█████▀▀▀▄ \n█▄█▄▄▄▀▀▀█▄█▄█▄█"], ["eat_1", " ▄▀█▄▀▀▀█ \n ▄▀▄▀ ▄ █ ▄▄▄ \n █ ▀ ▀▄█▀█▀ \n ▀█████ █▀ ▄█▀█ \n ██▀▀▀▄▀▄█▀ █ \n █ ▀█▀▀▀ ▄█ ▄▀ \n ▄█▀▀█████▀▀▀▄ \n█▄█▄▄▄▀▀█▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄▄▄ \n ▄▀▄▀▀ ▄▀ \n ▄▀ ▀ ▄▀▄ █▄██▀ \n █▄▄▄▄▄ ▄█▀ █▄ \n ▀▄▄▄▄██ ▄▀ █ \n ▄▀ █ █ █▀ ▄▀ \n ██▀▀▄▄▄▄██▀▀▀▄ \n█▄█▄▄▄▀▀▀█▄█▄█▄█"], ["happy", " ▄▀█▄▀▀▀█ ▄ \n ▄▀▄▀ ▄ █▄▀ █ \n █ ▀ ▀▄██ █ \n ▀█████ █▀ █▄▄▀ \n ▄▀█▀▀▀▄▀▄█▄▀ \n█▄▄██▀▀▀ ▄█ \n ▄█▀▀█████▀▀▀▄ \n█▄█▄▄▄▀▀█▄█▄█▄█ "], ["injured_1", " \n ▄▀█▄▀▀▀█ \n ▄▀▄▀ ▄ █ ▄▄▄ \n █ ▀▀▄█▀█▀ \n ▀█▀▀▀▀▄█▀ ▄█ \n █ █▀█▀█▀▄▀ ▀█ \n▄█ ▀▄█ █▄▀ ▄▀▄ \n█▄█▄██▄██▄▄█▄█▄█"], ["injured_2", " \n ▄▄ ▄▄▄▄ \n ▄▀▄▀▀ ▄▀▄▄▄ \n▄▀ ▀ █▄ █▀█▀ \n█▄▄▄▄▄ ▄█▀ █▄ \n▄▀▄▄▄▄█▀▀▄▀ ▀█ \n█ ▀█ █ ▄▀ ▄█▄ \n█▄▄█▄█▄██▄▄█▄█▄█"], ["sleep_1", " \n \n ▄▀█▄▀▀▀█ \n ▄▀▄▀ █ ██▀ \n█ ▀▀ ▄██▀▀▄ \n █▀▀▀▀▄█▀ ▀▄█ \n █▀██▀█ ▄▀█▀█▀▄\n █▄▄█▄█▄▄█▄▄▄▄▄█"], ["sleep_2", " \n ▄▄ ▄▄▄▄ \n ▄▀▄▀▀ ▄▀ \n ▄▀ ▀ ▄▄ █ ▄█▀ \n ▀▄▄▄▄▄ ▄█▀█ ▀▄ \n █▀▄▄▄▄█▀ █▄▀ \n █▄ █ █ ▄▀█▀█▀▄\n █▄███████▄▄▄▄▄█"], ["walk_1", " ▄▀█▄▀▀▀█ \n ▄▀▄▀ ▄▄ █ ▄▄▄ \n █ ▀▀ ▄█▀█▀ \n ▀█▀▀▀▀▄█▀ ▄█ \n █▀█▀█▀▄█ ▀█ \n ▄▀ ▄▀ ▀ █ ▄▀ \n ██▀▀█████▀▀▀▄ \n█▄█▄▄▄▀▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄▄ \n ▄▀▄▀▀ ▄▀ \n ▄▀ ▀ ▄█▀ █▄██▀ \n █▄▄▄▄▄ ▄█▀ █▄ \n ▀▄▄▄▄██ ▄▀ █ \n ▄▀ █ █ █▀ ▄▀ \n ██▀▀▄▄▄▄██▀▀▀▄ \n█▄█▄▄▄▀▀▀█▄█▄█▄█"]]], + ["darkknightmon", [["angry", " █▀▄▄▄█▀█ \n ▀▄▀ █▄▄█▄ \n ████▀▄██ \n █▀▀████▀▄█ ▄ \n ▄▀▀▀█▀██████ \n ▄▀▄▀ ▀▄█▀ █▀█▀ \n ▀▄██▄███▄▄▀ \n █▄▄█ █▄▄█ "], ["attack", " ▄▄██▀▀█ \n ▄▀ ██▄██▄ \n ▀███▀ ▄██▄█ \n █▀▀▀███████\n ▄▄▄▀▀█▀███ ▀█▀█\n▀▄▄▄ █ █ ▄█▀ ▀\n █▀▀███████▄ \n █▄▄█▀ ▀▀█▄▄▄█ "], ["eat_1", " █▀▄▄▄█▀█ \n ▀▄▀ █▄▄█▄ \n ███▀▄▀██ ▄ \n▄▄ █▀▀▀▀███▀▀▄█ \n█ ▀█▄▄▄█▀█▀ ▄██ \n ▀▀█▀ ▀▄███▀ ▀ \n ▄██▄█████▄ \n █▄▄█ █▄▄█ "], ["eat_2", " █▀▄▄▄█▀█ \n ▀▄▀ █▄▄█▄ \n ███▀▄▀██ \n █▀█▀▀▀███▀▄█ ▄ \n █ ▄▀▀▀█▀██▀███ \n ▀▄▀ ▀▄█ ▄▀█▀ \n ▄██▄█████▀ \n █▄▄█ █▄▄█ "], ["happy", " █▀▄▄▄█▀█ \n ▀▄▀ █▄▄█▄ \n ███▀▄▀██ \n ▄█▀▀▀▀███▄▄ \n █ █ ▄▀█▀ █▄█ \n ▀▄▀▀▀▄██▄████ \n ▄██▄███▄▄▀ ▀ \n █▄▄█ █▄▄█ "], ["injured_1", " ▄▄ ▄▄▄ \n █ █▀█▀ █ \n █▄▄█████ \n ███ ▀▀██ ▄ \n ▀██████▀▄██▄█\n ▄▀ ▄█▀▄▀▀█ ███\n ▀▄▄▄█▀█▀ ██▄▀ \n █▄▄█▀█▄▄█▄█ "], ["injured_2", " \n █▀▄▄▄█▀█ \n ▀▄▀ █▄▄█▄ \n ███▀████ \n ███▄▄▄██ █▄ ▄ \n ▄▀▀██▀█▀▀▄▀███\n ▀▄▄▄█▀█▀ ██ █▀\n █▄▄█▀█▄▄█▄█ "], ["sleep_1", " \n \n █▀▄▄▄█▀█ \n █ █ █▀▄█▄ \n █▄▄█████ \n ███▄▄▄██▄▄ \n █▀██▀▀▀█▀ █ \n █▄▄██▄██▄▄▄██▄"], ["sleep_2", " \n ▄▄ ▄▄▄ \n █ █▀██ █ \n ▀▄▀ █▄███ \n ███▀▀▀██ \n ▀██████▄▄ \n █▀█▄▀ ▀▄▀ █ \n █▄▄██▄██▄▄▄██▄"], ["walk_1", " █▀▄▄▄█▀█ \n ▀▄▀ █▄▄█▄ \n ███▀ ▄██ \n █▀▀▀███▀▄█ ▄ \n ▄▀▀▀█▀██████ \n ▄▀▄▀ ▀▄█▀ █▀█▀ \n ▀▄██▄███▄▄▀ \n █▄▄█ █▄▄█ "], ["walk_2", " ▄▄ ▄▄▄ \n █ █▀█▀ █ \n █▄▄█▀▀██ \n ███▄▄███ ▄ \n ▀▄▄▄███▄██▄█ \n ▄▀▀▄ ▄▀▄▀ ▀███ \n ▀▄█▄ ▄███▄▄▀▀ \n █▄▄█▀▀▀▀█▄▄█ "]]], + ["darkknightmon_x", [["angry", " ▄▄ ▄▄▄▄ ▄▄ \n █▄▀█▀▀▀█▀ █ \n ▀█▄▄▄█▀██▀ \n ▄ █▄██▄▄██▄█▄ ▄\n █▀▀█▄▄█▀█▀ ████\n ██▄ ▄▄▀██▀█ ▀█\n █▄█▄ ▄██▄▄██ \n █▄▄█▀▀▀▀█▄▄█▀▀ "], ["attack", " █▀▄▄████▄▀█ \n ██ ▀ ▄▄█▄▄▀ \n █▀██▀ ██▄█ \n ██▀▀████ ▀▄█▄█\n ▄█▀▀▀▀▄█▀▀█▀██\n █ █▀ ██▀▀█▄█ ▀\n █ ▀█▀ ▄█████ \n ▀▄▄▄█▀█▄▄█▀▀▀ "], ["eat_1", " █▀▄▄████▄▀█ \n ██ ▀ ▄▄█▄▄▀ \n █▀██▀▄▀█ ▄ \n █▄█▀▀▀▀███▀██▄█\n █▄██▄▄███▄▄▀███\n█ █▀ ▀▀▄██ █▀▀\n▀▀███▄▄███████ \n █▄▄█ █▄▄█▀▀▀ "], ["eat_2", " ▄▄ ▄▄▄▄ ▄▄ \n █▄▀█▀▀▀█▀ █ \n ▀█▄▄▄█▀██▀ \n ▄ █▄██▄█▄█▄█▄ ▄\n █▀▀█▄▄█▀█▀ ████\n▄▀▀█▄ ▄▄▀██▀▀▄▀█\n▀▄▄█▄ ▄███▄▄█ \n █▄▄█▀▀▀▀█▄▄█▀▀ "], ["happy", " █▀▄▄████▄▀█ \n ██ ▀ ▄▄█▄▄▀ \n █▀██▀▄▀█▄▄▄ \n █▄██▀▀████ █▄█\n ▀▄▄▀▀▀▀▄█ ▄████\n ▄▀█▀ ▀▀▄████ ▀█\n ▀▄██▄▄██▄▄███ \n █▄▄█ █▄▄█▀▀▀ "], ["injured_1", " \n █▀▄▄████▄▀█ \n ██ ▀ ▄▄█▄▄▀ \n █▀███ ▀█ ▄ \n █▄██▀▀████▀█▄▄ \n ▀▄▄▀▀▀▀▄█▄▄█▀██\n▄▀▀█▀ ▀▀▄▀▀▀█▄ ▀\n█▄▄██▄▄██▄▄▄█▀█ "], ["injured_2", " \n ▄▄ ▄▄▄▄ ▄▄ \n █▄▀█▀▀▀█▀ █ \n ▀█▄▄▄█▀██▀ \n █▄███▄▄█▄█ \n █▀█▄▄█▀█▀ ███▄ \n▄▀▀█▀ ▀▀▄▀▀▀█▀██\n█▄▄██▄▄██▄▄▄██▄▀"], ["sleep_1", " \n ▄▄ ▄▄▄▄ ▄▄ \n █▄▀█▀▀▀█▀ █ \n ▀█▄▄▄████▀ \n █▄██▄▄██▄█ \n ███▄▄▀▀██▄█▄█ ▄\n█▄██▀ ▀▀▄█▄▄████\n█▄▄██▄▄███▄▄▄█▀█"], ["sleep_2", " \n █▀▄▄████▄▀█ \n ██ ▀ ▄▄█▄▄▀ \n █▀██▀▀██ ▄ \n █▄██▀▀████▀█▄ \n █▄▄▀▀▀▀▄█▄▄██▄█\n█▄██▀ ▀▀▄█▄▄████\n█▄▄██▄▄███▄▄▄█ ▀"], ["walk_1", " █▀▄▄████▄▀█ \n ██ ▀ ▄▄█▄▄▀ \n █▀██▀ ▄█ ▄ \n █▄██▀▀████▀██▄█\n ▀▄▄▀▀▀▀▄█▄▄████\n ▄▀█▀ ▀▀▄█▀ █ ▀█\n ▀▄██▄▄███▄▄██ \n █▄▄█ █▄▄█▀▀▀ "], ["walk_2", " ▄▄ ▄▄▄▄ ▄▄ \n █▄▀█▀▀▀█▀ █ \n ▀█▄▄▄█▀▀█▀ \n ▄ █▄██▄▄██▄█▄ ▄\n █▀▀█▄▄█▀█▀ ████\n ██▄ ▄▄▀██▀█ ▀█\n █▄█▄ ▄██▄▄██ \n █▄▄█▀▀▀▀█▄▄█▀▀ "]]], + ["darknessbagramon", [["angry", "▄ ▄▄ ▄▄▄▄ ▄ \n█▀▄█ ▀████▀▀█ \n ▀██▀▀ ▄▀██▀ ▄ \n ▄█▀▀ ▀▀ ███▄███\n█▄▀█▄▄▄▄▀ ▄█▀▀██\n█ ██▄ ▄ █▀ █▄▄ ▀\n ███▄▄▄███▀████▄\n█▄█▄█▀▀▀▀██▄█ ██"], ["attack", "█▄ █▀▄████▄▄█ \n▀▄██▄▄▀▀██▄▄▀ \n ██▄ ▄█ ██▄▄█▄ \n ▀▄▄▄▄ ▄█▀▀████\n ▄████ █▄▄▀▄ ▀█\n █ █▄▄▄███ ██▄ \n ██▀▀███▀█▀▀███\n █▄█▄█ ▀██▄█ ▀██"], ["eat_1", "█▄ █▀▄████▄▄█ \n▀▄██▄▄▀▀██▄▄▀ \n █▀▄ ▄▀▄██▄ ▄█▄\n ▀▄▄▄▄▄ █▀█████\n ██▀▀█ █▄█ ▀█\n ▄▀█▀▀▀▄██ ██▄▄ \n █▄█▀▀███▄▄█▀███\n █▄█▄█ ▀██▄█ ▀██"], ["eat_2", "▄ ▄▄ ▄▄▄▄ ▄ \n█▀▄█ ▀████▀▀█ \n ▀██▀▀ ▄▀██▀ ▄ \n █ ▀ ▀ ▀███▄███\n █▄▄▄▄▀ ▄█▀▀██\n ▄▀█▄ ▄ ██▀█▄▄ ▀\n █▄█▄▄▄██▄▄████▄\n█▄█▄█▀▀▀▀██▄█ ██"], ["happy", "█▄ █▀▄████▄▄█ \n▀▄██▄▄▀▀██▄▄▀ \n █▀▄ ▄▀▄██▄▄█▄ \n ▀▄▄▄▄▄ █▀▄████\n ▄█████ █▀█▀ ▀█\n █ █▀▀▀▄█ ██▄▄ \n ▀▄█▀▀███▀█ ▀███\n █▄█▄█ ▀██▄█ ▀██"], ["injured_1", " \n▄ ▄▄ ▄▄▄▄ ▄ \n█▀▄█ ▀████▀▀█ \n ▀█▀▀▀ ▀██▀ ▄ \n █▄█ █▄ ███▄███\n █▀▄▄▄▄▄█▄▄█▀▀██\n▄▀▀█▄ ▄▀▀ █▀▀█▄▀\n█▄██▄▄█▄▄▄█▄▄███"], ["injured_2", " \n \n█▄ █▀▄████▄▄█ \n▀▄██▄▄▀▀██▄▄▀ ▄ \n █ ▄ ▄ ██▄ ███\n ▄▀█▀ ▀▀▄█▀██▀██\n▄▀▀██▀█▀▀ █▀▀█▄▀\n█▄██▄▄█▄▄▄█▄▄███"], ["sleep_1", " \n \n█▄ █▀▄████▄▄█ \n▀▄██▄▄▀▀██▄▄▀ ▄ \n █▄▄ ▄▄ ██▄▄███\n ▀▄ ▄▀▄██▀██\n█▀▄██▀█▀█▀▄▄▀█▄▀\n██▄█▄▄▄██▄██▄███"], ["sleep_2", " \n▄ ▄▄ ▄▄▄▄ ▄ \n█▀▄█ ▀████▀▀█ \n ▀█▀▀▀ ▀██▀ ▄ \n █▀▀ ▀▀ ███▄███\n █▄▄▄▄▀ ▄█▄▀██\n█▀▄█▄ ▄ █▀▄▄▀█▄▀\n██▄█▄▄▄██▄██▄███"], ["walk_1", "█▄ █▀▄████▄▄█ \n▀▄██▄▄▀▀██▄▄▀ \n ██▄ ▄█ ██▄ ▄█▄\n ▀▄ ▄▀▀█████\n ▄█▀▀▀▀▄▄▀█ ▀█\n █ █▀ ▀▄█ ██▄▄ \n ▀▄█▀▀███▀█ ▀███\n █▄█▄█▀ ██▄█ ▀██"], ["walk_2", "▄ ▄▄ ▄▄▄▄ ▄ \n█▀▄█ ▀████▀▀█ \n ▀██▀▀ ▄▀██▀ ▄ \n █▀▀ ▀▀ ███▄███\n █▄▄▄▄▀ ▄█▀▀██\n ▄▀█▄ ▄ █▀ █▄▄ ▀\n █▄█▄▄▄███▀████▄\n█▄█▄█▀▀▀▀██▄█ ██"]]], + ["darksuperstarmon", [["angry", " ▄██ \n ▄█▀██▄ \n▀███▀▀███▀▀████▀\n ▄███▄ ▄ ▄████▄ \n ██▄▀█▀▀▀██ ███ \n ▀█▀▄████▄▀█▀ \n ████▀▀████ \n ▄█████ █████▄ "], ["attack", " ▄█▄ ▄██ \n █ ██████▄ \n▄▄███▄█▀▀██████▀\n ▀███▀ ▄████▀▄██\n ▀▀█▀▀▀██▀▄███\n ▄▀ ▄█▄█▀▀▀ \n ▄████████▄ \n ▄█████ █████▄ "], ["eat_1", " ▀▄ ▄██ ▄ \n ▄▄▄▄▄▀███ \n ▀████▀▀▀█████▀\n █▀ ▄▄████▀ \n ▄▄█▀▀▀███▀█▄ \n ▀█▄▀ ▄█▀▄██▀ \n ███████▄█ \n ▄████ █████▄ "], ["eat_2", " ▄ ▄██ \n ▀ ▄▀███ ▀ \n █████▀▀▀█████▀\n ▀█▀ ▄▄████▀ \n ▄█▀▀▀▀▄██▀█▄ \n ▀█▄█████▀▄██▀ \n ███████▄█ \n ▄████ █████▄ "], ["happy", " ▀ ▄██ ▄ \n ▀▄▄█▀██▄ ▀ \n▀███▀▄ █ ▄▀████▀\n ▀█▀▀▀▀▀▀▀██▀ \n ▄█▀▄▄ ▄▄▄ ███▄ \n ▀██▄▀▀▀▀▄▀▄██▀ \n █▄██████▄█ \n ▄█████ █████▄ "], ["injured_1", " \n ▄▄ \n ▄███ \n▄▄▄▄▄██▄██▄▄▄▄▄▄\n ▀██▄ ▀▀▀ ▄███▀ \n ▄█▀██▄█▄███▀▄█ \n ███ █▀▄▄▀█ ███ \n ██████████████ "], ["injured_2", " \n \n ▀███▄ \n ▄▄▄▄████▄▄▄▄ \n▄███▀▀█▄█▀▀████ \n ▄█▀█▄ ▄ ▄██▀▄█ \n ███ █▀▀▀██ ███ \n ████▄███▄▄████ "], ["sleep_1", " \n \n ██▄ \n ▄████▄▄ \n▀█████▀████████▀\n ▄▀█▀▀███▀▀██▀▄ \n ██▄▀▄ ▄ ▄█▀▄██ \n ██████████████ "], ["sleep_2", " \n ██▄ \n ▄████▄▄ \n▀█████▀████████▀\n ▀█▀▀███▀▀██▀ \n ▄▀██▄ ▄ ▄███▀▄ \n ██▄▀██████▀▄██ \n ██████████████ "], ["walk_1", " ▄██ \n ▄████▄ \n▀███▀▀█▄█▀▀████▀\n ▀██▄ ▄ ▄███▀ \n ██▀██████▀██ \n ▀█▀▄████▄▀█▀ \n ▄███▀▀███▄ \n ▄█████ █████▄ "], ["walk_2", " ▄▄ \n ▄███ \n▄▄▄▄▄██▀███▄▄▄▄▄\n ▀██▄ ▀▀▀ ▄███▀ \n ▄█▀█▄█▄██▀█▄ \n ▀██▄▀██▀▄██▀ \n ▄█▄████▄█▄ \n ▄████▀▀████▄ "]]], + ["darktyrannomon", [["angry", " ▄▄▄███▀▀█▄▀█ \n██████▄▄████▄▄ \n ▀ ▀ ▀ ▀███▄▀ \n ███▀█ \n ▄ ▄ ▄ ▄▄▀ ██ ▄\n ▀▀▀█████ ███▀▄█\n ▄▄▄██████▄▄▄██▀\n█▄████▀▀▀█▄█▄█▄█"], ["attack", " ▄▄▄▄▄ ▄▄ \n ▄▄▄███▀▀██▄▀ \n██████▄▄████▀█ \n ▀ ▀ ▀ ██████▄▄ \n ▀█▀████▀ ██▄▀▄\n ██ ████ ████▀██\n ▄▄▄█████▄▄▄▄██ \n█▄████▀▀▀█▄█▄█▄█"], ["eat_1", " ▄▄▄▄▄ ▄▄ \n ▄▄▄███▀▀██▄▀ \n██████▄▄████▀█ \n ▀ ▀ ▀ ██████▄▄ \n ▀█▀████▀ ██▄▀▄\n ██ ████ ████▀██\n ▄▄▄█████▄▄▄▄██ \n█▄████▀▀▀█▄█▄█▄█"], ["eat_2", " ▄▄▄███▀▀█▄▀█ \n██████▄█████▄▄ \n ▀ ▀ ▀ ████▄▀ \n █████▀█ \n ▄ ▄ ▄███▀ ██ ▄\n ▀▀██████ ███▀██\n ▄▄███████▄▄▄██▀\n█▄████▀▀▀█▄█▄█▄█"], ["happy", " ▄▄▄███▀▀█▄▀█ \n██████▄█████▄▄ \n ▀ ▀ ▀ ████▄▀ \n █████▀█ \n ▄ ▄ ▄███▀ ██ ▄\n ▀▀██████ ███▀██\n ▄▄███████▄▄▄██▀\n█▄████▀▀▀█▄█▄█▄█"], ["injured_1", " \n ▄██████▄▀█ \n █████▀███▄▄ \n ▄████▄▄████▄▀ \n ██████▀▄████▀█ \n▄ ▀▀▀▀▄██▀▄█▄█▄█\n███ ██▀▄▄ ██████\n████▄█▄▀█▄▀████▀"], ["injured_2", " \n ▄██████▄▀█ \n █████▀███▄▄ \n ▄████▄▄████▄▀ \n ██████▀▄████▀█ \n▄ ▀▀▀▀▄██▀▄█▄█▄█\n███ ██▀▄▄ ██████\n████▄█▄▀█▄▀████▀"], ["refuse", " ▄▄▄▄▄ ▄▄ \n ▄▄▄███▀▀██▄▀ \n██████▄▄████▀█ \n ▀ ▀ ▀ ██████▄▄ \n ▀█▀████▀ ██▄▀▄\n ██ ████ ████▀██\n ▄▄▄█████▄▄▄▄██ \n█▄████▀▀▀█▄█▄█▄█"], ["sleep_1", " \n ▄██████▄▀█ \n █████▀███▄▄ \n ▄████▄▄████▄▀ \n ██████▀▄████▀█ \n▄ ▀▀▀▀▄██▀▄█▄█▄█\n███ ██▀▄▄ ██████\n████▄█▄▀█▄▀████▀"], ["sleep_2", " \n ▄██████▄▀█ \n █████▀███▄▄ \n ▄████▄▄████▄▀ \n ██████▀▄████▀█ \n▄ ▀▀▀▀▄██▀▄█▄█▄█\n███ ██▀▄▄ ██████\n████▄█▄▀█▄▀████▀"], ["walk_1", " ▄██████▄▀█ \n ▄▄███▀ ▄███▄▄ \n█████▀██████▄▀ \n ▀▄▄▄▄▄██████▀█ \n ▄ ▄██▀▄▄████▀ \n ██ ███▄▀▀▀▀▄█▄█\n ▄▄███████████▀\n █▄████ █▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄ ▄▄ \n ▄▄▄███▀▀██▄▀ \n██████▄▄████▀█ \n ▀ ▀ ▀ ██████▄▄ \n ▀█▀████▀ ██▄▀▄\n ██ ████ ████▀██\n ▄▄▄█████▄▄▄▄██ \n█▄████▀▀▀█▄█▄█▄█"]]], + ["darktyrannomon_x", [["angry", " ▄▄▄ ▄▄ ▄▄ \n ▄█▄▀▄█████▄▀ \n███▄███▀ ██▄▀ ▄\n█ ███▀▄▄▀▄▀█\n▀▄▄▄▄▄███▄█▀▄█▄█\n ▀█▄▄▄▄██▄▄███▀ \n █▄▄▀█▀██▀█▄ \n █▄█▄█▀ █▄█▄█ "], ["attack", " ▄▄ ▄▄ ▄▄ \n ▄▀█▀█████▄▀ \n▄██▀▄█▀ ▄██▄▀ ▄\n█▀▀▀▀▀█████▄▀▄▀█\n ▀▀█▀▀██▀██▀██▄█\n ▄▀▄███▄▀▀▄███▀ \n ▀█▄▄▀█▀██▀█▄ \n █▄█▄█▀ █▄█▄█ "], ["eat_1", " \n ▄▄ ▄▄ ▄▄ \n ▄▀█▀█████▄▀ \n▄██▀▄█▀▄▀██▄▀ ▄\n█▀▀▀▀▀█████▄▀▄▀█\n ▀▀█▀▀██▀██▀██▄█\n ▄█▄███▄▀▀▄█▀█▀ \n █▄█▄█▀▀▀▀█▄█▄█ "], ["eat_2", " ▄▄▄ ▄▄ ▄▄ \n ▄█▄▀▄█████▄▀ \n███▄██▀▄▀██▄▀ ▄\n▀▄ ▀█████▄▀▄▀█\n ▀▄▄▄▄█▀▀█████▄█\n ▄▀███▄▀▀▀▄███▀ \n ▀▀█▄▄▀█▀██▀█▄ \n █▄█▄█▀ █▄█▄█ "], ["happy", " ▄▄ ▄▄ ▄▄ \n ▄▀█▀█████▄▀ \n▄██▀▄█▀▄▀██▄▀ ▄\n█▀▀▀▀▀███▀▀▄▀▄▀█\n █ ██ ██ ██▄█\n ▀▄▄▄███▄█████▀ \n █▄▄▀█▀██▀█▄ \n █▄█▄█▀ █▄█▄█ "], ["injured_1", " \n \n ▄██▄██▄█▀▄ \n ▄█▄▀▄█▀███▀▄ \n███▄███▄▄██▀▄ ▄█\n▀▄▄▄▄▄██████▄█ █\n ▄▄█▄▄█▀▄█ █▀█▀▀\n █▄█▄██▄▄▄█▄█▄█ "], ["injured_2", " \n \n ▄▄ ▄▄ ▄▄ \n ▄▀█▀█████▄▀ \n▄██▀▄██ ▀██▄▀ ▄\n█▀▀▀▀▀█████▄▀▄▀█\n ▀████▀▄█▀▄█▀█▄█\n █▄█▄█▄▄▄██▄█▄█ "], ["refuse", " \n ▄▄ ▄▄ ▄▄ \n ▄▀█▀█████▄▀ \n▄██▀▄██▀ ██▄▀ ▄\n█▀▀▀▀▀█████▄▀▄▀█\n ▀▀█▀▀██▀██▀██▄█\n ▄█▄███▄▀▀▄█▀█▀ \n █▄█▄█▀▀▀▀█▄█▄█ "], ["sleep_1", " \n \n ▄▄ ▄▄ ▄▄ \n ▄▀█▀█████▄▀ \n▄██▀▄██▀▀██▄▀ ▄\n█▀▀▀▀▀█████▄█▄▀█\n▄▀█▀▀█▀▄███▀██▄█\n██████▄▄▄█▄█▄█▀ "], ["sleep_2", " \n \n \n ▄██▄██▄█▀▄ \n ▄█▄▀▄█████▀▄ \n███▄███▄▄███▄ ▄█\n▀▄▄▄▄▄▀▄███▀██ █\n█▄█▄▄█▄▄▄█▄█▄██▀"], ["walk_1", " ▄▄ ▄▄ ▄▄ \n ▄▀█▀█████▄▀ \n▄██▀▄█▀ ▄██▄▀ ▄\n█▀▀▀▀▀█████▄▀▄▀█\n ▀▀█▀▀██▀██▀██▄█\n ▄▀▄███▄▀▀▄███▀ \n ▀█▄▄▀█▀██▀█▄ \n █▄█▄█▀ █▄█▄█ "], ["walk_2", " \n ▄██▄██▄█▀▄ \n ▄█▄▀▄█▀▀██▀▄ \n███▄██▄▄███▀▄ ▄█\n▀▄▄▄▄▄██████▄█ █\n ▄▀▄▄█▀▄█▀▄███▀\n ▀▄██▀██▄▄██▀█▄ \n █▄█▄█▀ █▄█▄█ "]]], + ["datamon", [["angry", " \n \n \n \n ▄▄▄ ▄ \n █ ▄ █ \n ▀▄▄▄▀ \n ▄█▄ ▄█▄ "], ["attack", " \n \n ▀▄▀▀█▀▄▀ \n ▀▀▀▄ █ \n █ █ \n █ █ \n ▄▄█▄▄▀ \n ▄█▄ █▄ "], ["eat_1", " \n \n \n \n ▀▄▀▀█▀▄▀ \n ▀▀▀▄ █ \n ▄▄▄█▄▀ \n ▄█▄ █▄ "], ["eat_2", " \n \n \n \n \n ▄▀▀▀▄ \n █ ▄ █ \n ██▄▄▄██ "], ["happy", " \n \n \n \n █▄▀▀▀▄█ \n █████ \n ▄▀▀▀▄ \n ▄█▀▀▀█▄ "], ["injured_1", " \n \n \n \n \n ▄▀▀▀▄ \n █▀▀▀█ \n █▄█▀█▄█ "], ["injured_2", " \n \n \n \n \n ▄▄▄ \n █▄ ▄█ \n ▄█▄▄▄█▄ "], ["sleep_1", " \n \n \n \n \n ▄▄▄ \n █▄ ▄█ \n █▄▄▄▄▄█ "], ["sleep_2", " \n \n \n \n \n ▄▀▀▀▄ \n █▀ ▀█ \n ▀▄▄▄▀ "], ["walk_1", " \n \n \n \n ▄▀▀▀▄ \n ▄█▀ ▀█▄ \n ▀▄▄▄▀ \n ▄█▄ ▄█▄ "], ["walk_2", " \n \n \n \n ▄ ▄▄▄ ▄ \n ▀█▄ ▄█▀ \n ▀▄▄▄▀ \n ▄█▄ ▄█▄ "]]], + ["deltamon", [["angry", " ▄▄▄▀▀█▀▀▀█▀ ▄▄\n█▄▄▄ ▀▀▄█▀▀█▀▀▄▀\n █ █▄▄▄▀▀ █ \n ▄▄█ ▄ █ █ ▀▀▄\n █▄▄▄▄▀▄█▄█ █\n█▄▄▄▄ ▄▀▄▄▄▄▀▄▀ \n▀▄▄▄▄▄▀ ▄▄▄█▄ \n█▄█▄██▀▀▀█▄█▄█▄█"], ["attack", " ▄▀▀▀▀▀▀█▄▄▄▄▄\n▄▀▀ ▄█ ▄█▀ ▄ ▄▄▀\n▀█▀▀ █▄▄▄▀▀ ▀▄ \n ▀▀██ ▀▄▄▄▄ █ \n ▄▀▀▄▀▄ █ █ \n█▄▄▀▀ ▀ █ \n ▀▄▄▄█ ▄▄▄█▄ \n █▄█▄██▀▀█▄█▄█▄█"], ["eat_1", " ▄▀▀▀▀▀▀█▄▄▄▄▄\n▄▀▀ ▄█ ▄█▀ ▄ ▄▄▀\n▀█▀▀ █▄▄▄▀▀ ▀▄ \n ▀▀██ ▀▄▄▄▄ █ \n ▄▀▀▄▀▄ █ █ \n█▄▄▀▀ ▀ █ \n ▀▄▄▄█ ▄▄▄█▄ \n █▄█▄██▀▀█▄█▄█▄█"], ["eat_2", " ▄▀▀▀▀▀▀█▀ \n ▄▀▀▄▀█ ▀██▄▄▄▄▄\n █▄▄▄▄ ▄▀▄▄ ▄▄▀\n ▄▀ ▄▄▀▀ ▀ ▀ ▀▄ \n█ ▀ ▀█▀▀▀█ █\n ████ ▄▄▄▀ █ █\n ▀▄▄▄ ▀▄▄▄▄█▄█ \n █▄█▄██▀▀█▄█▄█▄█"], ["happy", " ▄▀▀▀▀▀▀█▀ \n ▄▀▀▄▀█ ▀██▄▄▄▄▄\n █▄▄▄▄ ▄▀▄▄ ▄▄▀\n ▄▀ ▄▄▀▀ ▀ ▀ ▀▄ \n█ ▀ ▀█▀▀▀█ █\n ████ ▄▄▄▀ █ █\n ▀▄▄▄ ▀▄▄▄▄█▄█ \n █▄█▄██▀▀█▄█▄█▄█"], ["injured_1", " █▀▀█ \n ▄▀ ▀▄ \n █ ▀▀▀▄▄ \n █ ▀▀ ▄ ▀▄ \n ▀▄▄▄▄▀▀ ▀▄ ▄▀█\n▄▀ ▄▄█ ▄▀▀▀ ▄▀\n▀▄▄▄▄▀ ▄▀ ▄▄ █\n█▄█▄██▄▄█▄▄▄▄▄▄▀"], ["injured_2", " █▀▀█ \n ▄▀ ▀▄ \n █ ▀▀▀▄▄ \n █ ▀▀ ▄ ▀▄ \n ▀▄▄▄▄▀▀ ▀▄ ▄▀█\n▄▀ ▄▄█ ▄▀▀▀ ▄▀\n▀▄▄▄▄▀ ▄▀ ▄▄ █\n█▄█▄██▄▄█▄▄▄▄▄▄▀"], ["refuse", " ▄▀▀▀▀▀▀█▄▄▄▄▄\n▄▀▀ ▄█ ▄█▀ ▄ ▄▄▀\n▀█▀▀ █▄▄▄▀▀ ▀▄ \n ▀▀██ ▀▄▄▄▄ █ \n ▄▀▀▄▀▄ █ █ \n█▄▄▀▀ ▀ █ \n ▀▄▄▄█ ▄▄▄█▄ \n █▄█▄██▀▀█▄█▄█▄█"], ["sleep_1", " █▀▀█ \n ▄▀ ▀▄ \n █ ▀▀▀▄▄ \n █ ▀▀ ▄ ▀▄ \n ▀▄▄▄▄▀▀ ▀▄ ▄▀█\n▄▀ ▄▄█ ▄▀▀▀ ▄▀\n▀▄▄▄▄▀ ▄▀ ▄▄ █\n█▄█▄██▄▄█▄▄▄▄▄▄▀"], ["sleep_2", " █▀▀█ \n ▄▀ ▀▄ \n █ ▀▀▀▄▄ \n █ ▀▀ ▄ ▀▄ \n ▀▄▄▄▄▀▀ ▀▄ ▄▀█\n▄▀ ▄▄█ ▄▀▀▀ ▄▀\n▀▄▄▄▄▀ ▄▀ ▄▄ █\n█▄█▄██▄▄█▄▄▄▄▄▄▀"], ["walk_1", " ▄▀▀▀▀▀▀█▀ \n ▄▀ ▄█ ▀█▀ ▄▀█\n █▄▄▄ ▄▀▀▀ ▄▀\n▄▀ ▄█ █ ▄▀ ▄█ ▀▄\n█▄▄▄▄▄▀ █▄▄▄▄ █\n ▀▀▄ ▀ ▄▀ \n ▄▄█ ▄▄▄█▄ \n █▄█▄██▀▀█▄█▄█▄█"], ["walk_2", " ▄▀▀▀▀▀▀█▄▄▄▄▄\n▄▀▀ ▄█ ▄█▀ ▄ ▄▄▀\n▀█▀▀ █▄▄▄▀▀ ▀▄ \n ▀▀██ ▀▄▄▄▄ █ \n ▄▀▀▄▀▄ █ █ \n█▄▄▀▀ ▀ █ \n ▀▄▄▄█ ▄▄▄█▄ \n █▄█▄██▀▀█▄█▄█▄█"]]], + ["demidevimon", [["angry", " ▄▄▄ ▄▄▄ \n▄█ ▀█▄▄▄▄█▀ ▄ \n███▄▀█████▀█ ▄██\n██ ██▄███▄██████\n█▀ █▀▀▀▀███▀ ▀██\n▀ ▄██▀▀▀█▄▄ ▀█\n ▀ ▀ ▀ ▀ ▀\n ▄▄▄▄▄▄ "], ["attack", " ▄█ ▄█ █▄ \n ▄▄▄██▄█▀ ██ \n ▀▀███▀ █▄███ \n ▀ █▄███▀███ \n ████▀ ▀██ \n ▄▄█████▄ ▀█ \n ▀ ▀ ▀ \n ▄▄▄▄▄ "], ["eat_1", " ▄█ ▄█ █\n ▄▄▄██▄█▀ ▄██\n ▀▀▀██ ▄█▄████\n ████▀▀███\n ▄███▀ ▀██\n ▀▀▀▀█▀█ ▀█\n ▀\n ▄▄▄▄▄ "], ["eat_2", " ▄█ ▄█ █ \n ▄██▄█▀ ██ \n ▄██▀████▄██▄ \n ███ ▄████▀███ \n ▀█▀▀▀▀██▀ ██ \n ▀▀▀▀█▀█ █ \n ▀ \n ▄▄▄▄▄ "], ["happy", " ▄ █▄ ▄█ ▄ \n ██ ▀█▄▄▄▄█▀ ██ \n▄██▄▀████▀██ ██▄\n███▄█▄██▄█▄█▄███\n██ █▀█▀▀▀█▀█▀ ██\n█ █ █ █\n █▄▄▄▄▄██▄ \n █▀█ ▀ ▀ "], ["injured_1", " \n ▀██ ██▀ \n ▄█ ▄██████▄ █▄ \n▄██▄█▀███▀██▄██▄\n██▀█▄█████▄█▀▀██\n█▀ ▀▄▄▄▄▄▀ ██\n▀ █▀█ █▀█ █\n ▄▄▄▄▄▄▄▄ "], ["injured_2", " \n \n \n ▀██▄▄▄▄▄██▀ \n▄█ ▄███████▄ █▄ \n████▀ ███ ▀████▄\n██ ██▀▀▀▀▀██ ▀██\n█ ▄▄█▀▀▀▀▀█▄▄ ▀█"], ["sleep_1", "▀▀▀▀▄█▄▀▄█▄▀▀▀▀▀\n ▄ █▄▄▄█ ▄ \n ▄███▄▄▄███▄ \n ██▀▀███▀▀██ \n █▀███████▀█ \n ▄█▀▀▀█▄ \n █▀ ▀█ \n "], ["sleep_2", "▀▀▀▀▄█▄▀▄█▄▀▀▀▀▀\n ▄ █▄▄▄█ ▄ \n ██▄█▄▄▄▄▄█▄██ \n ███▀▀███▀▀███ \n ▀█▀███████▀█▀ \n ▄█▀▀▀█▄ \n █▀ ▀█ \n "], ["walk_1", " ▄ █▄ ▄█ ▄ \n ██ ▀█▄▄▄▄█▀ ██▄\n███▄▀█████▀█ ███\n██▀█▄ ███ ▄█████\n██ ▀█▀▀▀▀▀█▀ ██\n█ ▄▄█▀▀▀█▄▄ ▀█\n ▀ ▀ ▀ ▀ ▀\n ▄▄▄▄▄▄ "], ["walk_2", " ▄█ ▄ ▄ █▄ \n ██▀ █▀ ▀█ ▀██ \n▄██▄███████▄▄██▄\n██ █ ▀███▀ █▀███\n█▀ ██▄███▄██ ██\n▀ ▀▄▄▄▄▄▀ ▀\n █▀█ █▀█ \n ▄▄▄▄▄▄▄▄ "]]], + ["demimeramon", [["angry", " ▄ ▄ \n ▄ ▄ ▄▀▄ \n ▄▀ ▀ ▀ █ \n █████▄ █ \n █▄▄█▄▄█ █ \n ▀█▀▀▀▀ ▄▀ \n ▀▀▀▀▀ \n ▄▄▄▄▄▄ "], ["attack", " \n ▄█ \n ▄▀ █ ▄ \n ▄▀ ▀▄▀█ \n ▄██▀█▄ █▄ \n ▀▀▀▀███ ▀ █ \n █▀ ▄▀ \n ▀███▄▄▄▀ "], ["eat_1", " ▄ ▄█ \n ▄▀█▄▀ █ \n ▄█▄▄ █ \n █▄██▄█▄ █ \n ▀▄ ██ █ \n ▄█▄▄█▀ ▄▀ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄▄▄ "], ["eat_2", " \n █▄ ▄█ \n ▄▀ ▀▄▀ █ \n █▄▄▄ █ \n █▀██▀█▄ █ \n █▀▀▀▀██ █ \n ▀████▄▄▀ \n ▄▄▄▄▄ "], ["happy", " ▄ ▀ ▄█ ▀ \n ▄ ▄▀▄▀ █ ▄█ \n █▀ ▄▄▄▄▄▀ █ \n █ █▄███▄█ █ \n █ █ █ █ \n █ ▀▄ ▄▀ █ \n ▀▄▄███▄▄▀ \n ▄▄▄▄▄▄ "], ["injured_1", " \n \n ▀ ▄ \n ▄▀▄▀▄▀▄ \n ▄▀▄▄▄ █ \n ██▀█▀█▄ █ \n █▄███▄▀ █ \n ▀▄▄▄▄▄▀ "], ["injured_2", " █ ▄ \n █ ▄▀ \n ▀ █ \n ▄▀▄▀▄ ▀ \n ▄▀ █ \n █▄▀█▀█▄ █ \n █▄▄█▄▄▀ █ \n ▀▄▄▄▄▄▀ "], ["sleep_1", " \n \n ▀ ▄ \n ▄▀▄▀▄▀ █ \n ▄▀▄▄▄▄▄ ▀▄ \n ██▀▀█▀▀█ █ \n █▀█████▀ █ \n ▀▄▄▄▄▄▄▀ "], ["sleep_2", " \n ▄ ▄ \n ▄ ▄▀▄ ▄ \n ▄▀ ▀ ▀ █ \n █▄▀▀█▀▀▄ █ \n ████▀███ █ \n █ ▀▀▀▀▀ █ \n ▀▄▄▄▄▄▄▀ "], ["walk_1", " \n █▄ ▄ \n ▄ █ ▀▄▀█ \n █▀▄██▄ █ \n █ █▀█▀█ █ \n ▀▄ ▀▀▀ ▄▀ \n ▀▀▀▀▀ \n ▄▄▄▄▄ "], ["walk_2", " ▄█ \n ▄▀ █ ▄█ \n ▄▀▄▄▄▄▀ █ \n █ █▀██▀█ █ \n █ ▀████▀ █ \n ▀▄▄▄▄▄▄▀ \n \n ▄▄▄▄▄▄ "]]], + ["demiveemon", [["angry", " \n ▄▄██ ▄▄ \n ▄███▄▄████▀ \n █▀ ██▀ ▀██▀ \n █ █▄ ▄█ █ \n ▀▄ ▀▀▀ ▄▀ \n █▀█▀▀▀██▀█ \n ███▀▀███ "], ["attack", " ▄▄█▀ ▄▄██▀ \n ▄███▄████▀ \n ▄█████▀ ▀██ \n █▄▀█▀ ▄▀▀ █ \n █ ▀ ▄▄▄ ▄█▀█ \n ▀▄▄███▀▀█████▀\n ▀▄█▄ ▄███ \n ▀██ ▀▀ "], ["eat_1", " ▄▄▄▄ \n ▄███▄▄▄████▄\n ▄▀▄ ▀▀▀▄▀██▀ \n █▀ ▀ ▀ ▀ █ \n ▀▄ ████ ▄▀ \n █▀▄▀▀▄▀█ \n █▀ ▀██▄▄ \n ███▀███▀ "], ["eat_2", " \n ▄▄██▀ ▄▄ \n ████▄▄████▀ \n ▄▀ ▀██▀ ▀██▀ \n █▄▀▄ ▄▀▄ █ \n ▀▄ ▄▄ ▄▀ \n ▄▀█▀▀▀█▀▄ \n ▀███▀███▀▀ "], ["happy", " ▄▄▄▄ \n ▄███▄▄▄████▄\n ▄▀▄ ▀▀▀▄▀██▀ \n █▀ ▀ ▀ ▀ █ \n █▄ ████ ▄█ \n █ ▀▄▀▀▄▄▀ █ \n ▀█ ██▀ \n ███▀███ "], ["injured_1", " \n ▄▄███▀ ▄▄▄ \n ▄█▀███▀██████▄\n ▄▀ ▄ ▄ ▀█▀ \n █▀▀ ▄▄ ▀▀ █ \n ▀▄▄▄▄▄▄▄█▄ \n ▄▀█▀ ▀█ █ \n ▀▀███▀███▀▀ "], ["injured_2", " \n ▄▄▄ \n ▄▄█████▄▄▄▄▄ \n █▀ ▀▀▀ ▀███▀▀▀ \n█▄▄▀ ▀▄▄ █ \n▀▄ ▄▄ ▄█ \n ▀█▀█▀▀▀█ █▄ \n ▀▀███▀███▀▀ "], ["sleep_1", " \n ▄▄▄ ▄▄▄ \n ███▄▄▄████ \n █▀████▀███ \n █ ▀▀ ▀█ \n ▀▄▀▀ ▀▀▄▀ \n ▄ ██▀▀███▄ \n ███▄▄▄▄███ "], ["sleep_2", " \n ▄▄▄ \n ▄███▄▄▄████▄\n █▀ ▀█▀ ▀██▀ \n █ ▄▄ ▄▄ █ \n ▀▄ ▄▄ ▄▀ \n ▄ ██▀▀███▄ \n ███▄▄▄▄███ "], ["walk_1", " ▄▄▄ \n ███▀ ▄▄▄██ \n ▄█▀███▀████ \n ▄▀▄▀ ▀▄▀█ \n █ ▀▀▄▄ ▀▀ █ \n ▀▄▄▄▄▄▄▄█ \n █▄█▀ ▀█▄█ \n ███▀▀███ "], ["walk_2", " \n ▄▄▄▄ ▄▄ \n ▄████▄▄████▀\n █▀▄▀▀▀▄▀██▀ \n █ █▄ ▄█ █ \n ▀▄ ▀▀ ▄▀ \n ▄▀█▀▀▀██▀▄ \n ▄███▀▀███ "]]], + ["deputymon", [["angry", " \n ▄▄▀███▀█▄▄ \n ▄▄▄█▄▄█▄▄██▄▄ \n █▄▄▀ ▄▄▄▀█ █\n▄█▀██▀▀▀█▄▀ ▄▀ █\n█ ███████ ▀▄▄▀\n▀█▄██████▀▄ █▄ \n ██▄▄██▀▀▀███▄██"], ["attack", " ▄▀▀█▄▀███▀█▄▀▀▄\n █ ▄██▄▄█▄▄██▄ █\n █▄▄▀ ▄▄▄ █▀ █\n▄█▀██▀▀▀█▄▀ ▀▄█ \n█ ███████ ██ \n▀█▄██████▀▄ ██ \n █▄ ▀▀▀▄▀█▀ \n ██▄▄██▀▀▀███▄██"], ["eat_1", " ▄▄█████▀▄▄ \n ▄█▄▄█▄██▄███ \n█▀ ▀▄▄█▄▀▀▄▀▄ \n█ █████ █ █\n█ ▄██ █████ █ █\n▀█▄▄▄████▀▄ ██ \n █▄ ▀▀▀▄▀█▀ \n ██▄▄██▀▀███▄██"], ["eat_2", " ▄▄▄▄▄▄▄ \n ▀█▀▄▀█▀▄▀█▀ \n ▀█▀▀▀▀▀█▀▄ \n ▄ █ ▄▄▄ ▀▄▀▄\n▄█▀██▀▀▀█▄▀ ▄▀ █\n█▄ ▄██████▀ ▀▄▄▀\n ▀▀██▀▀▀█▄█ ▄██ \n ██▄▄██▀▀▀███▄██"], ["happy", " ▄▄█▀███▀█▄▄ \n ▄ █▄█▄█▄█▄█ \n▄▀███▀█▀▀▄▀▀█▀▀▄\n█ █████ ▄▀ █\n█ ▄██ █████ ▀▄▄▀\n▀█▄▄▄████▀▄ █▄ \n █▄ ▀▀▀▄▀█▀ \n ██▄▄██▀▀███▄██"], ["injured_1", " \n ▄▄█▀█▀██▄▄ \n █▄▄█▄▄██ \n ▄ ▄▀ ▄▄▄▀▄▀▄ \n▄█▀██▀▀▀█▄▀ █ █\n█ ███████ █ █\n▀█▄██████▀▄ ██ \n███▄▄▄▄▄████████"], ["injured_2", " \n ▄▄▄▄▄▄ \n ▀█▀ █ ▀██▀ \n ▄█▀▀▀███▀▀▄ \n ██▄▄▄▄▄█▀▀▀▄▀▄ \n█▀ ▀█▄▄▄███▄▀ █ \n█▄ ▄██████▄▀▄▄▀ \n▄████████▄██████"], ["sleep_1", " \n ▄▄▄▄▄ \n ▀█▀█▀▀██▀ \n ▄ ▄▀▀▀███▀▄▀▄ \n▄█▀██▀▀▀█▄▀ █ █\n█ ███████ █ █\n▀█▄██████▀▄ ██ \n███▄▄▄▄▄████████"], ["sleep_2", " \n ▄▄█████▄▄ \n █▄█▄▄██ \n ▄ ▄▀ ▄▄▄▀▄▀▄ \n▄█▀██▀▀▀█▄▀ █ █\n█ ███████ █ █\n▀█▄██████▀▄ ██ \n███▄▄▄▄▄████████"], ["walk_1", " ▄▄████▀▄▄ \n █▄█▄███ \n ▄ ▄▀ ▄▄▄▀▄▀▄ \n▄█▀██▀▀▀█▄▀ █ █\n█ ███████ █ █\n▀█▄██████▀▄ ██ \n █▄ ▀▀▀▄▀█▀ \n ██▄▄██▀▀███▄██"], ["walk_2", " ▄▄▄▄▄ \n ▀█▀█▀█▄█▀ \n ▄▀▀▀▀▀█▀▄ \n ▄█▄█▄▄▄█▀█ ▀▄▀▄\n█▀ ▀█▄▄▄██▄ ▄▀ █\n█▄ ▄██████▀ ▀▄▄▀\n ▀▀██▀▀▀█▄█ ▄██ \n ██▄▄██▀▀▀███▄██"]]], + ["deramon", [["angry", " ▀ ▄▀▀▀▀▄▄▄ ▀\n ▄▀█▄█▄█ ▀▄ \n ▀▄▀▀▀▀█ ▀ █ \n █ ▄▀ █ ▄ █\n▄▀▀▀▄ ▄█ ▄▀\n▀▀█▀▀ ▄ █ ▄ █\n █▄ █▄█ ▄▀\n █▄▄██▀█▄▄▄█▀▀ "], ["attack", " ▀ █▄█▄█▄▄▄ ▀ \n █████ ▄ ▀▀▄ \n ▄▀ ▄ █ ▄ █ \n▄▀▀▀▄▀▀ █ ▄ █\n▀▀███ ▄▀▀▄ ▄▀\n ▄▀▀▀ ▀▄ █ ▄ █\n ▀█ ▄▄█▀ ▄▀\n █▄█▄▄█▄▄▄█▀▀ "], ["eat_1", " ▀ █▄█▄█▄▄▄ ▀ \n▄ ▄▀▀▀▀█ ▄ ▀▀▄ \n ▄█▄ ▄▀▄ █ ▄ █ \n█▄▄▄█ █ ▄ █\n ███ ▄▀▀▀█ ▄▀\n ▀▄▄▀ ▀▄▄▀ █\n █ ▄▄█ ▀ ▄▀\n █▄█▄▄▄█▄▄▄█▀▀ "], ["eat_2", " ▀ \n ▄ █▄█▄█▄▄▄ ▄\n ▄▀▀▀▀█ ▄ ▀▀▄ \n █ ▄▀▄ █ ▀ █ \n▄▀▀▀▄ █ ▄ █\n▀▀█▀▀ ▄▀▄▄ ▄▀\n █ ▄█▄▄▀ ▄ █\n █▄█▄▄█▄▄▄▄█▄▄▄▀"], ["happy", "▄ ▄▀█▀▄▀█▀▄▄ ▀ \n ▄▀▀ █████ ▄ █▄ \n █ ▄▀ ▄ ▀▄ ▄ █\n█ █▄▄▀ ▀ █▄▄ ▄▀\n█ █▄▄▄█ ▄▀ █ █\n █▀▄ ██ ▀▄█ ▀▄\n ▀▄ █▄ ▄█▄ ▄▀\n █▄██▀▀█▄▄▄█ "], ["injured_1", " ▄▄▄ ▄▄▄ \n ▄▀▀ ▄ █ ▄ ▀▀▄ \n▄▀ ▀ █████ ▀ █ \n█ ▀▄▀ ▄ ▀▄ ▀ █\n▄▀ █▄▄ ▀▀ █ ▄ █\n▀▄█▄▄▄█ ▀▄ ▀▄\n█ ▀▄█ █▄█ █\n ▀█▄▄█▄▄▄█▄▄▄█▀ "], ["injured_2", " \n ▄ ▄ ▄ \n ▄▀▀█████▀▀▀▄ \n █ ▄▀ ▀▄▀ ▀▀▄\n█ █▄▄ ▄▄ █ ▄ █\n▀▄█▄▄▄█ ▄▀▄ ▀▄\n█ ▀▄█ █ ▄█▄▀ █\n ▀█▄▄█▄▄▄█▄▄▄█▀ "], ["sleep_1", " ▄▄▄ ▄▄▄ \n ▄▀▀ ▄ █ ▄ ▀▀▄ \n▄▀ █████ ▀ █ \n█ ▀▄▀ ▀▄ ▀ █\n▄▀ █▄▄ ▀▀ █ ▄ █\n▀▄█▄▄▄█ ▀▄ ▀▄\n█ █ █▄█ █\n ▀█▄█▄▄▄▄█▄▄▄█▀ "], ["sleep_2", " ▄▄▄ ▄▄▄ \n ▄▀▀ ▀ ▀▀▄ \n▄▀ █▄█▄█ ▀ █ \n█ ▀ █▀▀▀▀▄ ▀ █\n▄▀ █ ▄▄ █ ▄ █\n▀▄▄▀▀▀▄ ▀▄ ▀▄\n█ ▀█▀▀▀ ▀▄▄█ █\n ▀█▄█▄▄▄▄█▄▄▄█▀ "], ["walk_1", "▄ ▄▀▀▀▄▀▀▀▄▄ ▀\n ▄▀▀ ▄ ▄ ▄▀ ▀▄ \n▄▀ ▀ █████ ▀ █ \n█ ▀▄▀ ▄▀▄ ▀ █\n▄▀ █▄▄ ▀ █ ▄ █\n▀▄█▄▄▄█ ▀▄▄▄▀▄\n█ █▄ ▄█▄▀ █\n ▀█▄▄█▄▄▄█▄▄▄█▀ "], ["walk_2", "▀ ▄▄▀▀▀▄▀▀▀▄▄ ▀\n █ ▄ █▄█▄█ ▄ ▀▄ \n█ ▄ ▄▀▀▀▀█ ▄ ▀▄\n▀▄ █ █ █ █ █\n█ █ ▄▀▀▄ █ ▀ ▄█\n▀▄▀█ ▀▀▀▀ ▀▀█ █\n ▀█▄ ▄▄█▄▄▀ \n █▄▄██▀█▄▄▄█ "]]], + ["devidramon", [["angry", " ▄▀█ █▀▄ █▄ \n ▄█▄▀▀▀█▀ ▀▄█ █\n█▄▄▄▄▄▀▀ ▄ █ █\n▀ ▀ ▀ ▀▄ █ █ █\n ▄ ▄ ▄ █▀▀ ▄▀▀▄█\n █▀▀▀▀▀ ▀▀▀▄▀ █\n ▄██▀▀▀▀ ▄█▄▄▄▀\n█▄█▄██▀▀▀█▄█▄█▄█"], ["attack", " ▄▄ ▄▄ ▄ \n █ █▄▄▄█ ▀▄ █▀▄\n █▄▀ ▄ █ █\n █▄▄▄▄▀▀ ▄ █ █\n ▄▄▄▄█ ▄▀▄▄█ █\n▄▀▀▄▄▄ █▄█ █▀▄█\n▀▄▄█ ▀▄▄▄▄█▀\n█▄█▄██▀▀▀█▄█▄█▄█"], ["eat_1", " ▄▄ ▄▄ ▄ \n █ █▄▄▄█ ▀▄ █▀▄\n █▄▀ ▄ █ █\n █▄▄▄▄▀▀ ▄ █ █\n ▄▄▄▄█ ▄▀▄▄█ █\n▄▀▀▄▄▄ █▄█ █▀▄█\n▀▄▄█ ▀▄▄▄▄█▀\n█▄█▄██▀▀▀█▄█▄█▄█"], ["eat_2", " ▄▀█ █▀▄ █▄ \n ▄█▄▀▀▀█▀ ▀▄█ █\n█▄▄▄▄▄▀ ▀ █ █\n▀ ▀ ▀ ▀▄ █ █ █\n ▄ ▄ ▄ █▀▀ ▄▀▀▄█\n █▀▀▀▀▀ ▀▀▀▄▀ █\n ▄██▀▀▀▀ ▄█▄▄▄▀\n█▄█▄██▀▀▀█▄█▄█▄█"], ["happy", " ▄▀█ █▀▄ █▄ \n ▄█▄▀▀▀█▀ ▀▄█ █\n█▄▄▄▄▄▀ ▀ █ █\n▀ ▀ ▀ ▀▄ █ █ █\n ▄ ▄ ▄ █▀▀ ▄▀▀▄█\n █▀▀▀▀▀ ▀▀▀▄▀ █\n ▄██▀▀▀▀ ▄█▄▄▄▀\n█▄█▄██▀▀▀█▄█▄█▄█"], ["injured_1", " \n ▄▄ ▄▄ ▄ \n █ █▄▄▄█ ▀▄ █▀▄\n █▄▀▀ ▀ █ █\n █▀ ▄ ▄ █ █\n▄█ ▀▀ ▄█▀█▀█▀█\n█ ▀▄▄▄▀▀ █ █\n█▄▄▄█▄▄▄▄▄█▄▄▄▀ "], ["injured_2", " \n ▄▄ ▄▄ ▄ \n █ █▄▄▄█ ▀▄ █▀▄\n █▄▀▀ ▀ █ █\n █▀ ▄ ▄ █ █\n▄█ ▀▀ ▄█▀█▀█▀█\n█ ▀▄▄▄▀▀ █ █\n█▄▄▄█▄▄▄▄▄█▄▄▄▀ "], ["refuse", " ▄▄ ▄▄ ▄ \n █ █▄▄▄█ ▀▄ █▀▄\n █▄▀ ▄ █ █\n █▄▄▄▄▀▀ ▄ █ █\n ▄▄▄▄█ ▄▀▄▄█ █\n▄▀▀▄▄▄ █▄█ █▀▄█\n▀▄▄█ ▀▄▄▄▄█▀\n█▄█▄██▀▀▀█▄█▄█▄█"], ["sleep_1", " \n ▄▄ ▄▄ ▄ \n █ █▄▄▄█ ▀▄ █▀▄\n █▄▀▀ ▀ █ █\n █▀ ▄ ▄ █ █\n▄█ ▀▀ ▄█▀█▀█▀█\n█ ▀▄▄▄▀▀ █ █\n█▄▄▄█▄▄▄▄▄█▄▄▄▀ "], ["sleep_2", " \n ▄▄ ▄▄ ▄ \n █ █▄▄▄█ ▀▄ █▀▄\n █▄▀▀ ▀ █ █\n █▀ ▄ ▄ █ █\n▄█ ▀▀ ▄█▀█▀█▀█\n█ ▀▄▄▄▀▀ █ █\n█▄▄▄█▄▄▄▄▄█▄▄▄▀ "], ["walk_1", " ▄▀█ █▀▄ █▄ \n ▄▀▄▀▀▀▀▀ ▀▄█ █\n ██ ▄█▀ █ █\n █▄▄▄▄ █ █ █\n ▀▄▄▄ █▀ ▄█ █ █\n▄▀▀█ ▄▀▀█▀█ ▀█\n▀▄▄█ ▀▄▄▄▄█▄ \n█▄█▄██▀▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄ ▄ \n █ █▄▄▄█ ▀▄ █▀▄\n █▄▀ ▄ █ █\n █▄▄▄▄▀▀ ▄ █ █\n ▄▄▄▄█ ▄▀▄▄█ █\n▄▀▀▄▄▄ █▄█ █▀▄█\n▀▄▄█ ▀▄▄▄▄█▀\n█▄█▄██▀▀▀█▄█▄█▄█"]]], + ["devimon", [["angry", " ▄▄▄ ▄▄▄ \n ▄█████████▀ \n ███▀███████ █ \n ██▀▄██████▄███▄\n▄▀█▀▀ ▄█▀▀ ▀████\n█ ▄▀▀▀ ▄▀ █▀██\n █▀▄▀█▀ ▀▄▄▄▀ ▀\n█▄▄▄█▀▀▄▄▄▄█ "], ["attack", " ▄▄▄▄███▄▄██ \n ▄██▀▀▄█████▀ \n ▀▀▀▀██████ █▄ \n ▄▄ █████▄████\n█ █▀▀▀ █▀▀ ▀▀███\n ▀▄▀▀▀▀ ▄▀ ███\n ▄▀▄▀█▀ █▀▀ ▀\n█▄▄▄█▀▀▄▄▄▄█ "], ["eat_1", " ▄▄▄▄███▄▄██ \n ▄██▀▄▄▀████▀ \n ▀▀▀▀███████ █▄ \n █████▄████\n▄▀█▀▀▀ █▀▀ ▀████\n▀▄▄▀▀▀▀ ▀██\n ▄▀▄▀█▀ █▀▄▄▄▀\n█▄▄▄█▀▀▄▄▄▄█ "], ["eat_2", " ▄▄▄ ▄▄▄ \n ▄█████████▀ \n ███▀███████ █ \n ██▄█▄█████▄███▄\n▄▀█▀▀ ▄█▀▀ ▀████\n█ ▄▀▀▀ ▄▀ █▀██\n █▀▄▀█▀ ▀▄▄▄▀ ▀\n█▄▄▄█▀▀▄▄▄▄█ "], ["happy", " ▄▄▄███▄▄▄██ \n ▄███▀▄▄▀███▀ \n ▀█████▀████ █▄ \n▄▄▄ ▄▄███▀▀███\n█ █▀▀▀ ██▀▀ ██\n▀▄▄▀▀▀▀ ▄▄████\n ▄▀▄▀█▀ █ ▀\n█▄▄▄█▀▀▄▄▄▄█ "], ["injured_1", " \n ▄███▄▄▄███ \n ▄██████████ \n ██████████▀▄█▄ \n █▄▄██▄▄██▀▀███▄\n ▀▄▄▄▄▄▀ ███\n █ ▄ ▄ █ █\n █▄▄█▀▄▄█▄▄█▄█▄█"], ["injured_2", " \n ▄▄▄ ▄▄▄ \n ▄█████████▀ \n▄██████████▄█▄ \n██████████▄███▄ \n▀▄▄██▄▄███ ▀██ \n █▄▄▄▄▄▄▀ █ ▀▄\n█▄▄█▄▄▄▄█▄▄█▄█▄█"], ["sleep_1", " ▄███▄▄▄███ \n ▄██████████ \n █▀▀██▀▀███▄ \n ▀█▀▀▀▀▀█▀▄██ \n █ ▀█▀▀▀ █ ██ \n █▀▀█▀▀▀▄▄██ \n ▀▄▄▀▄▄▀▀ ▀ \n ▄▄▄▄▄▄▄▄▄▄ "], ["sleep_2", " ▄▄▄ ▄▄▄ \n ▄█████████▀ \n ██████████ \n █▄▄██▄▄████▄ \n ▄▀▄▄▄▄▄▀█ ██ \n ▀▄▄▀▄▄▄▄█▄██ \n ▀▄▄▀▄▄▀▀ ▀█ \n ▄▄▄▄▄▄▄▄ "], ["walk_1", "██▄▄██████▄▄▄██ \n ██▀████▀████▀ \n █▄ ██ ▄███▀█▄ \n █████████▄████\n▄▀ ▀▄▄▄▄▄▀ ▀███\n█ ▄ ▄▄▄▄ ▄▄ ██\n █▀▄ ▀▀ ▀█▄▄█ \n█▄▄▄█▀▀▀█▄▄▄▄█ "], ["walk_2", "▄▄ ▄▄▄▄▄▄ ▄▄ \n▀█████████████▀ \n █ ▀██▀ ████ █▄\n ▄██▄██▄████▄███\n█ ▀█▀▀▀▀▀█▀ ▀█\n█▄█ ▀▀▀▀▀ █▀ █\n ▄▀▄▀██▀ ▀█▀▀\n█▄▄▄▄█▀▀▀█▄▄▄▄█ "]]], + ["diaboromon_x", [["angry", " ▄▄▄▄▄ ▄▄ \n ███▀██▀▀ █ \n ███▄▄███▀███▀█▄\n ▀███▀▀▄█ █▄▄██▀\n ▄▄▀▄▄▀▀▄████▀▄ \n██▄▀ ████▀█ █▄█\n▀█▀▀▄▀▄█▄█ ▄▀▀█▀\n ▀▀▀ █▄▄▀ ▀▀ "], ["attack", " ▄▄█████▄▀█▄▀▀▄\n ▄██▀ ▄█▄▄▄█▄█▄█\n ██████▀█ █▀█ ██\n ▀█▀ █▄██▄▄▀ \n ▄▀▄▄▄████▀ \n █▄█ █▀█▀ █ \n███▀▄ ▀█▄█ \n █▄▄▀ █▄▄▀ "], ["eat_1", " ▄▄█████▄▀█ \n ▄██▀▀██▄▄▄█▄▄▄ \n ██████▀█ █▀▀▄██\n ▀█ █▄████▀ \n ▄▀▄█▄▄████▀▄ █ \n ███ █▀█▀ █ ███ \n █▄▀▄ ▀█▄█ ▄▀▄▀ \n ▀▀▀ █▄▄▀ ▀▀ "], ["eat_2", " ▄▄▄▄▄ ▄▄ \n ███▀██▀▀ █ \n ███▄█▄██▀███▀█▄\n ▀███▀▀▄█ █▄▄██▀\n ▄▀▄▄▀▀▄███▀█ \n▄█▄▀ ████▀█ ▀▄█▄\n█▀█ ▀▄█▄▄▀ █▀█\n▀█▄█ █▄▄▀ █▄▀ "], ["happy", " ▄▄█████▄▀█▄▀▀▄\n ▄██▀▄▀█▄▄▄█▄█▄█\n ██████▀█ █▀█ ██\n ▀█▀ █▄██▄▄▀ \n ▄▀▄█▄▄████▀ \n ███ █▀█▀ █ \n █▄▀▄ ▀█▄█ \n ▀▀▀ █▄▄▀ "], ["injured_1", " \n ▄▄█████▄▀█ \n ▄██▀███▄▄▄█▄▄▄ \n ███▄▄█▀█ █▀▀▄██\n ▀█▀ ▄█▀▄█▀██▀ \n ▄▀▄▀█▄▄███▀▄ █▄\n█▀█ ▀▄█▄▄▀ █▀█\n▀█▄█ █▄▄▀ █▄▀ "], ["injured_2", " \n ▄▄▄▄▄ ▄▄ \n ██████▀▀ █ \n███ ▀███▀████▀▄▄\n▀███▀▀▄█ ██▄▄██▀\n ▄▀▄▄██▄███▄▀▀▄ \n███ ▀██▀▀█ ▀███\n█▄▄█ █▄▄▀▀ █▄▄▀"], ["sleep_1", " \n ▄▄█████▄▀█ \n▄██▀▀██▄▄▄█▄▄▄▄ \n██████▀██ █▀▀▄██\n ██▀ ▄█▀▄████▀▀ \n ▄▀████████▀▄▀▄ \n ███ █▀█▀ █ ███ \n ▀▄█ ███▀ █▄▀ "], ["sleep_2", " ▄▄▄▄▄ ▄▄ \n ██████▀▀ █ \n ███▄▄███▀███▀█▄\n ▀███▀▀▄█ █▄▄██▀\n ▄▀▄▄▀▀▄███▀█ \n █▄█ ████▀█ █▄█ \n ███ ▀▄█▄▄▀ ███ \n ▀▄█ █▄▄▀ █▄▀ "], ["walk_1", " ▄▄█████▄▀█ \n ▄██▀ ██▄▄▄█▄▄▄ \n ███▄██▀█ █▀▀▄██\n ▀█▀ ▄█▀▄████▀ \n ▄▀▄▀█▄▄███▀▄▀▄ \n █▄█ █▀█▀ █ █▄█ \n █▀█ ▀█▄█ █▀█ \n ▀█▄█ █▄▄▀ █▄▀ "], ["walk_2", " ▄▄▄▄▄ ▄▄ \n ███▀██▀▀ █ \n ███ ▄███▀███▀█▄\n ▀███▀▀▄█ █▄▄██▀\n ▄▀▄▄▀▀▄███▀█ \n █ █ ████▀█ █ █ \n███ ▀▄█▄█▀ ▀███\n▀█▄█ █▄▄▀ █▄▀ "]]], + ["dianamon", [["angry", "▄▄▄▄ \n▀▄ █▀▀▀▀▀▄ ▀▄ \n ███▀██ █ ██▄ \n ██▄▄█▀ ▄█▀▀██▄\n ▄█▀▀▀▀▀ █ ▀███\n █ ██▄▄▄████▀ ██\n▄ ▀█▄▄ ▀█▄▄▀▀█ █\n▀██▀ ▀▀▀▀ ▀▀▀▀ ▀"], ["attack", " █▀▀█▄▄▄▄▄ \n ▄ ▀▄█▄▄▄▄ ▀▄ \n ██ ██▀ ██ █▄ \n██ ▀████▄▄█ ▄█\n███▄█▀█▄ ▄█▄▄█\n██▀ ▀▄▀▀███▀▀▄▄█\n▀█▄ ▀▄ ▀██ ▀▄ \n ▀█ ▀▀▀▀█▄█ "], ["eat_1", "█▀▀█▄▄▄▄▄ ▀█▄ \n ▀▄█▄▄▄▄ ▀▄ ██▄ \n ██ ▄█ █▄███▄\n ▄█▀▀▀█▄▄█ ▄█ ██\n █▀▄▄▄▀▀▄█▄▄▀▄ █\n █▀▀███▀▀█▄▄▀ \n█▄▄█▄ ▀█▀▄ ▀▄ \n ▀▀ ▀▀▀ ▀▀▀ "], ["eat_2", "▄▄▄▄ ▄▄ \n▀▄ █▀▀▀▀▀▄ ▀█▄ \n ███▀██ █ ███ \n ██▄█▄▀ ▄▀▀█▀██\n ▄█▀▀▀▀▀█ ▀█ ▀█\n █ ██▄▄▄███▀ █ ▀\n▄ ▀█▄▄ ▀█▄▄▀▀▄ \n▀██▀ ▀▀▀▀ ▀▀▀▀ "], ["happy", "█▀▀█▄▄▄▄▄ ▀█▄ \n ▀▄█▄▄▄▄ ▀▄ ██▄ \n ██▀▄▀█ ▄█▄███▄\n▄▀█▀▀▀█▄█ ▄██▄██\n▀▄ █▄▄▀▀█▄▄▀ █ █\n █▀▀███▀▀█▀▀ \n█▄▄█▄ ▀█▀▄ ▀▄ \n ▀▀ ▀▀▀ ▀▀▀ "], ["injured_1", " ▄▄ \n▄▄▄▄ ▀█▄ \n▀▄ █▀▀▀▀▀▄ ███ \n ██▀███ █▀█▀██\n ██▄▄▄▀ █ ▀█ ▀█\n █ █▄ ▀███▀ █ ▀\n▄ ▀█▀▀▀██▀▀██ \n▀██▀▀█▄▄█▀█▄▄█ "], ["injured_2", " ▄▄ \n ▀█▄ \n█▀▀█▄▄▄▄▄ ███ \n ▀▄█▄▄▄▄ ▀▄██▀██\n ██ ▀▀█ ▄▀▄█ ▀█\n ▄▀█▀▀▀▄▄█▄▄▀▄ ▀\n▄▀▄▀▀▀▀██▀▀▄▄▀ \n▀██▀▀█▄▄█▀█▄▄█ "], ["sleep_1", " ▄▄▄▄ \n ▀▀▄▄ ▀▀▄ \n ▀▄ ▀▄ \n █▄▄▀ █ \n ▄▄▄▀▀ █ \n ▀▄▄ ▄▀ \n ▀▄▄▄▄▀▀▀▀ ▄▀ \n ▀▀▄▄▄▄▄▀▀ "], ["sleep_2", " ▄▄▀▀▀▀▄▄ \n ▀▀▄ ▀▄ \n █ ▄ █ \n ▄█▀▀ █ \n ▀█▀ █ \n ▄ ▄██▄ █ \n ▀██▀ ▄▄▀ \n ▀▀▀▀▀ "], ["walk_1", "█▀▀█▄▄▄▄▄ ▀█▄ \n ▀▄█▄▄▄▄ ▀▄ ██▄ \n ██ ▄█ █▄███▄\n ▀████▄▄█ ▄█ ██\n ▄▀█▄ ▄█▄▄▀▄ █\n ▀▄▀▀███▀▀█▄▄▀ \n█▄▄█▄ ▀█▀▄ ▀▄ \n ▀▀ ▀▀▀ ▀▀▀ "], ["walk_2", "▄▄▄▄ ▄▄ \n▀▄ █▀▀▀▀▀▄ ▀█▄ \n ██▀▀▀█ █ ███ \n ██▄▄█▀ ▄▀▀█▀██\n ▄█▀▀▀▀▀█ ▀█ ▀█\n █ ██▄▄▄███▀ █ ▀\n▄ ▀█▄▄ ▀█▄▄▀▀▄ \n▀██▀ ▀▀▀▀ ▀▀▀▀ "]]], + ["diatrymon", [["angry", " ▄▄▀▀▀██▀▀ \n ▄▄▀ ▄█ ▀█▀ \n█ ▄ ▄▄ █▀ ▄██▀\n▀▄████████▄▀ ▄█▀\n ▄▀▀▀▄▄█ ▄▄▀ \n ▀█▀▀▀▀▄▄█▀ \n ▄▄█▄▄█▄▄▄█▄ \n █▄█▄█ █▄█▄█▄█ "], ["attack", " ▄▄▄▄▄▄▄ \n ▄▀▀▄▄ ▀█▄▄ \n▄▀▀ ▀▀ ▄▄▀ ▄▄▄\n█ ▄█▄█▀ ▄█ ▄▀▀█▄\n ▀▀▄▄▄▄▀██▀ ▀█ \n ▄▀▄▄▄▀ ▄█▀ \n ▄▄█▄ ▀██▄▄▄ \n █▄█▄█▀▀▀█▄█▄█▄█"], ["eat_1", " ▄▄▄▄▄▄▄ \n ▄▀▀▄ ▀█▄▄ \n▄▀▀ ▀ ▀ ▄▄▀ ▄▄▄\n█ ▄█▄█▀ ▄█ ▄▀▀█▄\n ▀▀▄▄▄▄▀██▀ ▀█ \n ▄▀▄▄▄▀ ▄█▀ \n ▄▄█▄ ▀██▄▄▄ \n █▄█▄█▀▀▀█▄█▄█▄█"], ["eat_2", " ▄▄▀▀▀██▀▀ \n ▄▄▀ ▄█▀ ▀█▀ \n█ ▄ ▄▄▄ █▀ ▄██▀\n▀▄█████ ██▄▀ ▄█▀\n █▀▀▄▀▀█ ▄▄▀ \n █▀▀▀▀▄▄█▀ \n ▄▄█▄▄█▄▄▄█▄ \n █▄█▄█ █▄█▄█▄█ "], ["happy", " ▄▄▀▀▀██▀▀ \n ▄▄▀ ▄▀▄ ▀█▀ \n█ ▄ ▄▄▄ █▀ ▄██▀\n▀▄█████ ██▄▀ ▄█▀\n ▄▀▀▄▀▀█ ▄▄▀ \n ▀█▀▀▀▀▄▄█▀ \n ▄▄█▄▄█▄▄▄█▄ \n █▄█▄█ █▄█▄█▄█ "], ["injured_1", " \n ▄▄▄▄▄▄▄ \n ▄▀▀▄ ▀█▄▄ \n▄▀▀ ▀▀ ▄▄▀ \n█ ▄█▄█▀ ▄█▄▄ \n ▀▀▄▄▄ ▀▀█▄▄▀▄ \n █ ▀▀▀▄▄█ ▄█ \n █▄█▄▄▄▄█▄█▄▄█"], ["injured_2", " \n \n ▄▄▀▀▀██▀▀ \n ▄▄▀ █▄ ▀█▀ \n█ ▄ ▄▄ █▀ \n▀▄█▀▀▀ ▄██▀▀▄ \n ▀█▀▀▄▄█▀▄ █▄ \n █▄█▄▄▄▄█▄█▄▄█"], ["refuse", " ▄▄▄▄▄▄▄ \n ▄▀▀ ▄ ▀█▄▄ \n▄▀▀ ▀▀ ▄▄▀ ▄▄▄\n█ ▄█▄█▀ ▄█ ▄▀▀█▄\n ▀▀▄▄▄▄▀██▀ ▀█ \n ▄▀▄▄▄▀ ▄█▀ \n ▄▄█▄ ▀██▄▄▄ \n █▄█▄█▀▀▀█▄█▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄▄▄ \n ▄▀▀ ▀█▄▄ \n▄▀▀ ▀▀ ▄▄▀ ▄▄▄\n█ ▄█▄█▀ ▄█ ▄▀▀█▄\n ▀▀▄▄▄▄▀██▀ ▀█ \n ▄█▀█▀▄▄▄▀█▀█▀ \n █▄▄█▄▄▄█▄▄▄▄█ "], ["sleep_2", " \n \n ▄▄▀▀▀██▀▀ \n ▄▄▀ ▄▄ ▀█▀ \n█ ▄ ▄▄ █▀ ▄██▀\n▀▄█▀▀▀ ▄██▄▀ ▄█▀\n ▄█▀█▀█▄▄▀█▀█▄▀ \n █▄▄█▄▄▄█▄▄▄▄█ "], ["walk_1", " ▄▄▀▀▀██▀▀ \n ▄▄▀ ▄█▀ ▀█▀ \n█ ▄ ▄▄ █▀ ▄██▀\n▀▄█▀▀▀ ▄██▄▀ ▄█▀\n ▀▀█▀ ▀█ ▄▄▀ \n █ ▀▀▀▄▄█▀ \n ▄▄█▄▄█▄▄▄█▄ \n █▄█▄█ █▄█▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄▄ \n ▄▀▀▄▄ ▀█▄▄ \n▄▀▀ ▀▀ ▄▄▀ ▄▄▄\n█ ▄█▄█▀ ▄█ ▄▀▀█▄\n ▀▀▄▄▄▄▀██▀ ▀█ \n ▄▀▄▄▄▀ ▄█▀ \n ▄▄█▄ ▀██▄▄▄ \n █▄█▄█▀▀▀█▄█▄█▄█"]]], + ["digitamamon", [["angry", " ▄▄▄ \n ▄▀▀ ▀▀▄ \n ▄▀ ▄ ▄ ▀▄ \n █▄▄█▄▄▄█▄▄ █ \n ▀█ ▀██▀ █ ▄█ \n ▄▄▄████████ \n █▄█ ▀▀▄▀▄█▄█ \n █▄▄▄█▄▄▄█▄▄▄▄█ "], ["attack", " ▄▄▄▄██▀▀▀▀▀▄ \n █████▄███▄▀ █\n ▀▄ ▀████▀ █\n █ ███ █\n ▄▀ ▄███▄▀ \n ▄▀██████▀█▀▄ \n ▄█▄ █ ▄▀ ▄▄█▄ \n█▄▄▄▀▄▄▄▄▄▀▄▄▄▄█"], ["eat_1", " ▄▄▄▄▄▄▄ \n ▄███▀█▄▄ ▄ ▀▄\n █▀▀▀▀▀████▄▄ █\n ▀▄ ████ █\n ▄▀ ▄████▄▀ \n▄▀▀███████▀██▀▀▄\n█ ▀▄ █ ▄▀ ▄▀ █\n ▀▄▄▀▄▄▄▄▄▀█▄▄▀ "], ["eat_2", " ▄▄▄ \n ▄▀▀ ▀▀▄ \n ▄▀ ▄▀ ▄█ ▀▄ \n █▄█▀███▀██ █ \n ▀▄█▄█▄█▄█ ▄█ \n ▄▄▄█▄▄▄▄▄██ \n █▄█ ▀▀▄▀▄█▄█ \n █▄▄▄█▄▄▄█▄▄▄▄█ "], ["happy", " ▄▄▀▀▀▀▀▀▄▄ \n ▄▀ ▄ ▄ ▀▄\n █▄▄█▄▄██▄▄▄▀ █\n ▀█▄▄██▄▄███▄█\n █ ██▀ \n▄▀▀▄▄█▄▄▄▄███▀▀▄\n█ ▀▄ ▀▀ █ ▄▀ █\n ▀▄▄▀▄▄▄█▄▄▀▄▄▀ "], ["injured_1", " \n ▄▀▀▀▀▄ \n ▄▀ ▀▄ \n ▄▀ ▄▀ ▄ ▀▄ \n ▀▄▀▀█▄▀▀▄█▄█ \n █▀█▀██▀█▀█▀▄ \n █▄▄ ▄▀ ▄▄█▄ \n █▄▄▄█▄▄▄▄█▄▄▄▄█"], ["injured_2", " \n ▄▄▄▄ \n ▄▀ ▀▄ \n █ █ \n █ █ ▄▄ ▄ █ \n █▀█ ▀█ █▀█▀▄ \n █▄▄ ▄▀ ▄▄█▄ \n █▄▄▄█▄▄▄▄█▄▄▄▄█"], ["sleep_1", " \n ▄▄▄▄ \n ▄▀ ▀▄ \n █ █ \n █ █ ▄▄ ▄ █ \n █▀█ ▀█ █▀█▀▄ \n █▄▄ ▄▀ ▄▄█ \n ▀██▄▄▄▄██▀ "], ["sleep_2", " \n ▄▀▀▀▀▄ \n ▄▀ ▀▄ \n ▄▀ ▄ ▀▄ \n ▀▄▄█▄▄██▄█▄█ \n █▀█ ▀█ █▀█▀▄ \n █▄▄ ▄▀ ▄▄█ \n ▀██▄▄▄▄██▀ "], ["walk_1", " ▄▀▀▀▀▄ \n ▄▀ ▀▄ \n ▄▀ ▄▀ ▄ ▀▄ \n ▀▄███▄██▄█▄█ \n ▄▄█▄██▄███▄ \n █ ▀ ▀▀ █ ▀ █ \n ▄█▄█ ▀ ▄▄█▄ \n █▄▄▄█▀▀▀▀▄▄▄▄█ "], ["walk_2", " ▄▄▄▄ \n ▄▀ ▀▄ \n █ ▄ █ \n █ ▄█▄ ▄▄▀▄ █ \n ▀█▀██▀███▀▀ \n █▀█▀██▀█▀█▀▄ \n ▄█▄▄ ▄▀ ▄▄█▄ \n█▄▄▄▀▄▄▄▄▄▀▄▄▄▄█"]]], + ["dinobeemon", [["angry", " ▄▄▀▀▀▀█ \n▄▀ ▄ ▄▀▀█ ▄▄▄\n█ ▀▀ █▄▀▀ ▄▀ █\n ▀▄▄▄▀██▀██▄ ▄▀▄\n █▀▀▄█▀▄██▀█▄▄█\n ▄▀▀█▀▀█▀ █▀▄ \n ▀▄█▀▀▄█▄▄██▄ █\n █▄█▄▀ ▀▄█▄█▀▀"], ["attack", " \n ▄▄▀▀▀▀█▄▄ \n▄▀ ▄▄ ▄▀▄▄▀ ▄▀▀█\n█ ██▀ ███▄▄▀ ▄▀\n ▀▄▄▄██▀ ███▄▀ █\n ▄▀▄█▄██▀ ██▀▀\n █▄▄█▄ █ ▄█▄▀▄\n █▄█▄█▀▀██▄█▄█▀"], ["eat_1", " \n ▄▄▀▀▀▀█▄▄ \n▄▀ ▄ ▄▀▄▄▀ ▄▀▀█\n█ ▀ ▀ ███▄▄▀ ▄▀\n ▀▄▄▄██▀ ███▄▀ █\n ▄▀▄█▄██▀ ██▀▀\n █▄▄█▄ █ ▄█▄▀▄\n █▄█▄█▀▀██▄█▄█▀"], ["eat_2", " ▄▄▀▀▀▀█ \n▄▀ ▄▄ ▄▀▀█ ▄▄▄\n█ ██▀ █▄▀▀ ▄▀ █\n ▀▄▄▄▀██▀██▄ ▄▀▄\n █▀▀▄█▀▄██▀█▄▄█\n ▄▀▀█▀▀█▀ █▀▄ \n ▀▄█▀▀▄█▄▄██▄ █\n █▄█▄▀ ▀▄█▄█▀▀"], ["happy", " ▄▄▀▀▀▀█ \n▄▀ ▄ ▄▀▄▀█ ▄▄▄\n█ ▀ ▀ ███▀ ▄▀ █\n ▀▄▄▄█ █▀██▄ ▄▀▄\n █▀▀▄█ ▄██▀█▄▄█\n ▄▀▀█▀▀█▀ █▀▄ \n ▀▄█▀▀▄█▄▄██▄ █\n █▄█▄▀ ▀▄█▄█▀▀"], ["injured_1", " \n \n ▄▄▀▀▀▀█▄▄ ▄▄▄\n▄▀ ▄▀▄▄▀▄▀ █\n█ ▀▀ ███▄█▄ ▄▀▄\n ▀▄▄▄██▀ ██▀█▄▄█\n ▄▀█▀█▀▀█▀ █▀█▀▄\n █▄▄▄██▄█▄▄▀▄▄▄▀"], ["injured_2", " \n \n ▄▄▄▄▄ \n ▄▀▀ ▄▀▀█ ▄▀▀█\n█ ▄▄ █▄█▀▄▀ ▄▀\n▀▄ ▄██▀███▄▀ █\n ▄▀█▀█▀▄▄▀ █▀█▀▄\n █▄▄▄▄█▄█▄█▀▄▄▄▀"], ["refuse", " \n ▄▄▀▀▀▀█▄▄ \n▄▀ ▄ ▄▀▄▄▀ ▄▀▀█\n█ ▀▀ ███▄▄▀ ▄▀\n ▀▄▄▄██▀ ███▄▀ █\n ▄▀▄█▄██▀ ██▀▀\n █▄▄█▄ █ ▄█▄▀▄\n █▄█▄█▀▀██▄█▄█▀"], ["sleep_1", " \n ▄▄▄▄▄ \n ▄▀▀ ▄▀▀█ ▄▀▀█\n█ ▄▄ █▄█▀▄▀ ▄▀\n▀▄ ▄██▀███▄▀ █\n ▀█▀▄█▄▄█▀ ██▀▀\n ▀▄▄█▄ █ ▄█▄▀▄\n █▄█▄█████▄█▄█▀"], ["sleep_2", " \n \n ▄▄▀▀▀▀█▄▄ ▄▄▄\n▄▀ ▄▀▄▄▀▄▀ █\n█ ▀▀ ███▄█▄ ▄▀▄\n ▀▄▄▄██▀ ██▀█▄▄█\n ▄█▄█▀▀█▀ █▀▀▄\n █▄█▄██▄█▄▄█▄███"], ["walk_1", " ▄▄▄▄▄ \n ▄▀▀ ▄▀▀█ ▄▄▄\n█ ▄██ █▄█▀ ▄▀ █\n▀▄▀▀ ▄██▀██▄ ▄▀▄\n ▀▀█▀█ ▄██▀█▄▄█\n ▄▀ █▀▀█▀ █▀▄ \n ▀▄█▀▀▄█▄▄██▄ █\n █▄█▄▀ ▀▄█▄█▀▀"], ["walk_2", " \n ▄▄▀▀▀▀█▄▄ \n▄▀ ▄▄ ▄▀▄▄▀ ▄▀▀█\n█ ██▀ ███▄▄▀ ▄▀\n ▀▄▄▄██▀ ███▄▀ █\n ▄▀▄█▄██▀ ██▀▀\n █▄▄█▄ █ ▄█▄▀▄\n █▄█▄█▀▀██▄█▄█▀"]]], + ["dinorexmon", [["angry", " ▄▄▄▄▄ \n ██▀ ▄▀▀▀▀█ \n █ ▀ ▀ ▄ ██▄▀█ \n█▀▀ ▀▀ ▀▄█▀▀█\n▀▄ ▄█▄█▀ █▀█▀▀█\n ▀██▄▄▄██▀ █▀▀█\n▄▀█▀▄█▄▀█▀▀██▄▄█\n█▄█▄▀██▄█▄██▄█▄▀"], ["attack", " ▄▄█▀▀██▄▄▄ \n ▄▀█ ▄▀ ▄▀▄▄ \n▄█▄ ▄█ █▀▄█▄▄\n█ ▄ ▄ ▄ ██▄▄█\n ▀▄██████ █ █ ▄█\n ▄▀███▀▀▄▀ █▀▀▄\n▄▀█▀▄▄▄▀█▀▀██▄▄█\n█▄█▄▀██▄█▄██▄█▄▀"], ["eat_1", " ▄▄█▀▀██▄▄▄ \n ▄▀█ ▄▀ ▄ █▄▄ \n▄█▄ ▀ ▀ ▀ ▄██▄▄\n█ ▄ ▄ ▄▄ ▄██▄▄█\n ▀▄█████▀▄█ █ ▄█\n ▄█▀██▀▄▀ █▀▀▄\n▄▀█▀█▄▄▀█▀▀██▄▄█\n█▄█▄▀██▄█▄██▄█▄▀"], ["eat_2", " ▄▄▄▄▄ \n ██▀ ▄▀▀▀▀█ \n █ ▀ ▀ ▄ █▄▀█ \n█▀▀ ▀ ▀ ▀▄█▀▀█\n▀▄ ▄█▄█▀ █▀█▀▀█\n ▀██▄▄▄██▀ █▀▀█\n▄▀█▀▄█▄▀█▀▀██▄▄█\n█▄█▄▀██▄█▄██▄█▄▀"], ["happy", " ▄▄█▀▀██▄▄▄ \n ▄▀█ ▄▀ ▄▀▄▄ \n▄█▄ ▄▀▄ █▀▄█▄▄\n█ ▄ ▄ ▄ ▄██▄▄█\n ▀▄█████▀▄█ █ ▄█\n ▄█▀██▀▄▀ █▀▀▄\n▄▀█▀█▄▄▀█▀▀██▄▄█\n█▄█▄▀██▄█▄██▄█▄▀"], ["injured_1", " \n ▄▄█▀▀██▄▄▄ \n ▄▀█ ▄▀ ▄▄▀▄▄ \n▄█▄ ▀ █▄ █▀▄█▄▄\n█ ▄ ▄▄ ▄██▄▄█\n ▀▄▄█▀▀▀▄▄█ █ ▄█\n█▀█▀█▀▀▀█▀█▀█▀█ \n█▄▄▄█▄▄▄█▄▄▄█▄▄█"], ["injured_2", " \n ▄▄▄▄▄ \n ██▀ ▄▀▀▀▀█ \n █ ▀ █ ▄ ▀█▄▀█ \n█▀▀ ▀▀ ▀▄█▀▀█\n▀▄ ▄█▄█▀ █▀█▀▀█\n▄▀█▀█▄▄▄█▀█▀█▀█ \n█▄▄▄█▄▄▄█▄▄▄█▄▄█"], ["sleep_1", " \n ▄▄▄▄▄ \n ██▀ ▄▀▀▀▀█ \n █ ▀ █ ▀█▄▀█ \n█▀▀ ▀▀ ▀▄█▀▀█\n▀▄ ▄█▄█▀ █▀█▀▀█\n▄▀▀█▀▄▀▀█▀█▀█▀▀█\n█▄█▄██▄█▄▄██▄█▄█"], ["sleep_2", " \n ▄▄█▀▀██▄▄▄ \n ▄▀█ ▄▀ ▄▄▀▄▄ \n▄█▄ ▀ ▄▄ █▀▄█▄▄\n█ ▄ ▄▄ ▄▀█▄▄█\n ▀▄▄█▀▀▀▄▄█ █ ▄█\n▄▀▀█▀█▀▀█▀▄ █▀▀▄\n█▄█▄██▄█▄▄██▄█▄█"], ["walk_1", " ▄▄█▀▀██▄▄▄ \n ▄▀█ ▄▀ ▄▄▄▀▄▄ \n▄█▄ ▀ █▄▀█▀▄█▄▄\n█ ▄ ▄▄ ▄██▄▄█\n ▀▄▄█▀▀▀▄▄█ █ ▄█\n ▄█▀█▀▀█▀ █▀▀▄\n▄▀█▀███▀█▀▀██▄▄█\n█▄█▄▀██▄█▄██▄█▄▀"], ["walk_2", " ▄▄▄▄▄ \n ██▀ ▄▀▀▀▀█ \n █ ▀ █ ▄▀██▄▀█ \n█▀▀ ▀▀ ▀▄█▀▀█\n▀▄ ▄█▄█▀ █▀█▀▀█\n ▀██▄▄▄██▀ █▀▀█\n▄▀█▀▄█▄▀█▀▀██▄▄█\n█▄█▄▀██▄█▄██▄█▄▀"]]], + ["dinotigermon", [["angry", " \n ▄▄█▀▀▀▄▄▄▀▀ ▄▄\n▄███▀▀█▀▀▄ █ █\n███▄▄█▀▄▀▀█▀▄█ █\n▀▄█ █ █ ▄▀ ▀▀▄\n ▀▄▀ ▀█▀▀▄ █ █\n ▄▄▀▀▄▄▀ █▀█▄ █\n█▄▄▄▀█▄▄▄▀ █▄▄▄█"], ["attack", " ▄▄▄▄ ▄▄▄ \n ▄███▄▄▄█▀ ▄▄\n███▀ ██ ▀▄ █ █\n▀███▀█ ▄▀▀█▄█ █\n ██ █ ▄▀ █ ▀▀▄\n ▄▀▀▀ ▄█▄▄█ ▄ █\n ▀█▀▀▄▀ █▀▀▄ █\n █▄▄█▄▄▄▀ █▄▄█"], ["eat_1", " ▄▄▄▄▄▄ ▄▄ \n▄███▀█▄▄▄▀▀ ▄▄\n███▄█▄█ ▀▄ █ █\n █ ██ ▄▀▀█▄█ █\n ▄█▄▀ ▄█ ▄▀ ▀▀▄\n ▀▄▄▄▀ █▀▀█ █ █\n ▄▀ ▄▀ █▀█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["eat_2", " \n ▄▄█▀▀▀▄▄▄▀▀ ▄▄\n▄███▀██▀▀▄ █ █\n███▄█▄▀▄▀▀█▀▄█ █\n▀▄█ █ █ ▄▀ ▀▀▄\n ▀▄▀ ▀█▀▀▄ █ █\n ▄▄▀▀█▀ █▀█▄ █\n █▄▄▄▀▄▄▄▀ █▄▄▄█"], ["happy", " ▄▄▄▄▄▄ ▄▄ \n▄███▀█▄▄▄▀▀ ▄▄\n███▄█▄█ ▀▄ █ █\n █ █▀ ▄▀▀█▀▄█ █\n █▀▄▀ █ ▄▀ ▀▀▄\n ▀▀▄▄█▀▀█ █ █\n ▄█ █ █▀▀█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["injured_1", " \n \n ▄▄█▀▀▀▄▄▄▀▀ \n▄██▀███▀▀▄ ▄▀▀▀▄\n███▄▄█▀ ▄▀▀█▀▀▄▀\n▀▄█ █ █ ▄▀ █\n ▄▀▄█ ▄█▀▀█▄▄▀ █\n █▄▄▄▀▄▄▄▀█▄▄▄▄▀"], ["injured_2", " \n \n ▄▄▄▄ ▄▄▀▀ \n ▄███▄▄▄█▄ ▄▀▀▀▄\n███ ▀██ ▄▀▀█▀▀▄▀\n█▀█▀█▀ █ ▄▀ █\n █▀▄█ ▄█▀▀█▄▄▀ █\n █▄▄▄▀▄▄▄▀█▄▄▄▄▀"], ["sleep_1", " \n \n ▄▄█▀▀▀▄▄▄▀▀ \n▄██████▀▀▄▄▄▀▀▀▄\n███▄▄█▀▄▀▀█ ▀▀▄▀\n▀▄█ █ █ ▄▀ █\n ▄█▄▀▄█▀▀ █▄█ █\n█▄▄▄█▄▄▄▄▀█▄▄▄▄█"], ["sleep_2", " \n ▄▄▄▄ ▄▄ \n ▄███▄▄▄█▀▀ \n███▀▀██ ▀▄▄▀▀▀▄\n█▀█▀█▀ ▄▀▀█ ▀▀▄▀\n ▀█ █ █ ▄▀ █\n ▄▄▀▀▄█▀▀ █▄█ █\n█▄▄▄█▄▄▄▄▀█▄▄▄▄█"], ["walk_1", " ▄▄▄▄ ▄▄ \n ▄███▄▄▄█▀▀ ▄▄\n███▀ ██ ▀▄ █ █\n█▀█▀█▀ ▄▀▀█▀▄█ █\n ▀█ █ █ ▄▀ ▀▀▄\n ▀▄▄█▀▀█ █ █\n ▄█ █ █▀▀█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["walk_2", " ▄▄█▀▀▀▄▄▄▀▀ \n▄███▀██▀▀▄ ▄▄\n███▄▄█▀ ▄▄█▄ █ █\n▀▄█ █ ▄▀ █ ▀█ █\n ▀▄▀ █▄▄█ ▀▀▄\n █ ▀█▀ █▀▄█ █\n▄▀ █▄▄▄▀ ▀▄ █\n▀▀▀▀ █▄▄▀"]]], + ["divermon", [["angry", " \n█▀▄ ▄▀▀▀▀▀▄ ▄▀█ \n▀▄ █▄██▄██▄█ ▄▀ \n█ ▄▀ ▄▄▄▄ ▀█ █ \n▀▀█ ▀ ▄▄ ▀ █▀▀ \n ▄██▄▀█▀█▄▄██ \n ▀█▀▄▄█▄▄█▀██▄ \n▄███▄▄▀▀▄▄████▄ "], ["attack", "█▀▄ ▄▀▀▀▀▀▄ ▄▀█ \n█▄ █▀▄ ▄▀▀█ ▄█ \n█ █▄▀▀▀▀▀▀▄ █ █ \n ▀█ ██████ ██▀ \n █ ██▀▀ █ █▀█ \n▄▀ █▄▀▀▀▀▄█▄█ ▀▄\n▀▀██▀█▄██▀▀█▄▀▀▀\n▄▄███▄▄▀▄████▄▄ "], ["eat_1", "█▀▄ ▄▀▀▀▀▀▄ ▄▀█ \n█▄ █ █ █ █ ▄█ \n█ █▄▀▀▀▀▀▀▄ █ █ \n ██ ██████ ███▄ \n█ █▀▀▄█ █ ▄█ █\n ▀█▄ ▄████▄▀ \n ▄█▀████▀▀█▄ \n▄▄███▄▄▀▄████▄▄ "], ["eat_2", " \n█▀▄ ▄▀▀▀▀▀▄ ▄▀█ \n▀▄ █ ▄ ▄ █ ▄▀ \n█ █▄▀▀▄▄▀▀▄ █ █ \n▀▀█ ▀▄▄▄▄▀ █▀▀▀ \n ███▄▄▄▄▄▄███ \n ▄▀█▄ █ ▄█▀▀▄▄ \n▄██▄▄█▀▀▄▄████▄ "], ["happy", "█▀▄ ▄▀▀▀▀▀▄ ▄▀█ \n█▄ █ ▄ ▄ █ ▄█ \n█ █▀▀▄█▄█▄▀▀█ █ \n █ ██▄▄▄▄▄██ █ \n▄█▄▀███████▀▄█▄▄\n█ █▀▄▀▀▀▀▀▄ █▄ █\n ▀█▀██▄████▀██▀ \n▄███▄▄▀▀▀▄▄███▄ "], ["injured_1", " \n \n▄▄ ▄▄▄▄▄▄ ▄▄ \n█ █▀ ▀█▀ █ \n▀▄█ ▄ ▄ █▄▀ \n█▄█▀▀ ▀▀▀ ▄█▄█ \n ▄█▀▀▀▀▀▀▀▄█▀▄ \n█▄▄█████████▄▄█ "], ["injured_2", " \n \n \n ▄▄▄▀▀▀▀▀▀▄▄▄▄ \n█ █ ▀▄ █ \n▀▄█▄█ █▄▄ █▄▀ \n█▄█▄▄▄▄▄▄▄ ██▄█ \n█▄█▄▄▄▄▄▄▄██▄▄█ "], ["sleep_1", " ▀ \n ▀ \n▄▄ ▄▄▄▄▄█▀█▄▄ \n█ ▀▄▀▀▀▀▀▀█ █ █ \n▄▀▄▀▄▄▄▄▄▄█ █▀▄ \n▀▄█▀▄▄▄▄▄█▄█▄▄▀ \n ▄██▄▄▄▄▄▄▄██▄ \n█▄▄███▄█████▄▄█ "], ["sleep_2", " ▄ ▀ \n \n▄▄ ▄▄▄▄▄█▀█▄▄ \n█ ▀▄▀▀▀▀▀▀█ █ █ \n▄▀▄▀▄▄▄▄▄▄█ █▀▄ \n▀▄█▀▄▄▄▄▄█▄█▄▄▀ \n ▄██▄▄▄▄▄▄▄██▄ \n█▄▄███▄█████▄▄█ "], ["walk_1", "█▀▄ ▄▀▀▀▀▀▄ ▄▀█ \n█▄ █▀▀ ▀▀ █ ▄█ \n█ █▄▀▀▀▀▀▀▄ █ █ \n▄██▄▀▀▀▀▀▀ █▀▀▄▄\n█ ▄▀██▀███▀▄██ █\n ▀█▄██ ███▄███▀ \n ▄█▀█▄██▀▀█▄ \n▄▄███▄▄▀▄████▄▄ "], ["walk_2", "▄▄ ▄▄▄▄▄ ▄▄ \n█ ▀▄▀▄ ▄ ▀▄▀ █ \n▄▀▄▀▄█▄▄█▄ ▀▄▀▄ \n█▄█▀▄▄▄▄▄▄▀▄█▄█ \n ▄█▄▄▄▄▄▄▄▀▄▄ \n▄▀█ ██ ███ ███▀▄\n▀▄▄█▀█▄██▀▀█▀▄▄▀\n▄▄███▄▄▀▄████▄▄ "]]], + ["dobermon", [["angry", " \n ▄▄ ▄▄▄▄ \n ▄▄██▄▄██▀ \n▄████▀ ███ ▄\n▀███████▀ █ ▄▀█\n ▄▀▀▄▄▄███▀██ \n ▄██ █▄██▀▄██ \n █▄█ █▄█▀ █▄██ "], ["attack", " \n ▄▄ ▄▄▄▄ \n ▄▄██▄▄██▀ ▄█\n▄████▀ ███ ▄▄█ █\n█████████ ██████\n▀▄ ▀██▀▄██████ \n ▀▄▄▄█▄█▀███ ██ \n █▄▄█▄▄▄█▀█▄▄██ "], ["eat_1", " \n ▄█▀ ▄██▀▀ \n ▄███▀▀██ \n▄████▄▄██▀▄ ▄\n█ ██▀▀ ▄█▄▄▄▀█\n ▀▀▀▄▄▄█████▀██ \n ▄██ █▄██▀▄██ \n █▄█ █▄█▀ █▄██ "], ["eat_2", " \n ▄█▀ ▄██▀▀ \n ▄████▀███ \n█████▄█▄█▀▄ \n▀▄▄▄██▀▀ ▄█▄ ▄\n ▀▄▄▄█████▀▄▀█\n ▄██ █▄███▄█▄▀\n █▄█ █▄███▄▄██ "], ["happy", " ▄█▀ ▄██▀▀ \n ▄████▀███ \n█████▄█▄█▀▄ \n█ ▄█▀▀ ▄█▄ ▄\n ▀██▄▄▄██████▄▀█\n █▀█▀▄▄█▄██████ \n ▀▄▀▄▄▀ █ ██ ██ \n █▄██▄▄██ "], ["injured_1", " \n \n ▄█▀ ▄██▀▀ \n ▄███▀████▄ \n█████▄▄██▀█▄ ▄\n▀▄▄▄██▀▀ ▄██▀▄▀█\n ▄▀▄▄▄▀████▀█▄▀\n █▄▄█▄▄▄██▄▄▄██ "], ["injured_2", " \n \n ▄▄ ▄▄▄▄ \n ▄▄██▄▄██▀ \n▄████ ▀████ ▄\n█▀▀▀████▀ ██▄▄▀█\n ▀█▀█▄▄▄████ █▄▀\n █▄▄█▄▄▄██▄▄▄██ "], ["sleep_1", " \n \n ▄█▀ ▄██▀▀ \n ▄████████▄ \n█████▄▄██▀█ ▄\n▀▄▄▄██▀▀ ▄██▀▄▀█\n ▄▀▄▄▄▀████▀█▄▀\n █▄▄█▄▄▄██▄▄▄██ "], ["sleep_2", " \n ▄▄ ▄▄▄▄ \n ▄▄██▄▄██▀ \n▄████▀▀████ \n█▀▀▀████▀ ██ ▄\n ▀▀█▀▀▄▄▄███▀▄▀█\n ▄▀███▀████▀█▄▀\n █▄▄█▄▄▄██▄▄▄██ "], ["walk_1", " \n ▄█▀ ▄██▀▀ \n ▄████▀▀██ \n█████▄▄██▀▄ ▄\n ▀▀▀██▀▀ ▄█▄▄▄▀█\n ▀▄▄▄█████▀██ \n ▄██ █▄██▀▄██ \n █▄█ █▄█▀ █▄██ "], ["walk_2", " ▄▄ ▄▄▄▄ \n ▄▄██▄▄██▀ \n▄████▀ ▄██ \n▀███████▀ █ ▄\n ▄▀▀ ▄▄███▄▄▀█\n ▄███▀▀█▀███▀██ \n █ █ ▀█▀▀▀█▀▄██ \n ▀ ▀▀ █▄█▄██ "]]], + ["dodomon", [["angry", " \n \n \n ▄▄ ▄▄▄ \n ▄█████████▄ \n █▄▀███▀▀▄██ \n ███▀ ▀▀████ \n ▀█▄▄█▄▄▄██▀ "], ["attack", " ▄ ▄▄ \n ▄█████▀█▄ \n █▀ ▀ ▀▄████ \n ▀█▀▀█▀▄▀███ \n █ ██ \n ▄█▄▄█▄▄█ ██ \n ▀▄▄▄▄▄▄▄█▀ \n ▄▄▄▄▄▄▄ "], ["eat_1", " █\n ▄ ▄▄ █\n ▄████▀██▄ █\n ██▀█▀▄█▄███ █\n ▀▄▄▄▄▄▄ ▀██ █\n ▀ ▀ █ ██ █\n ▄█▄█▄▄▀ ██ █\n ▀▄▄▄▄▄▄█▀ █"], ["eat_2", " \n \n \n ▄█▄▄██▄ \n ▄███▀▄▀███▄ \n █▀ ▀▀▀█████ \n █▄▀▄▀▄ ████ \n ▀▄▄▄▄████▀ "], ["happy", " \n \n \n ██▄▄▄██ \n ▄▀▄▀█▀█▀▄▀▄ \n ███▀ ▄ ▀███ \n ▀██▄▄▄▄▄██▀ \n ▄▄▄▄▄▄▄ "], ["injured_1", " \n \n \n \n ▄██▄▄███▄ \n █▀ ██ ▀▀███ \n ██▀ ▀▀████ \n ▀▄▄██▄▄▄██▀ "], ["injured_2", " \n \n \n \n █▄▄▄▄██ \n ▄█▀██▀████▄ \n █▄▄▀▀▄▄▄███ \n ▀█▄▄▄▄▄███▀ "], ["sleep_1", " \n \n \n \n █▄▄▄▄██ \n ▄█▀██▀▀███▄ \n █▄█▀▀██▄███ \n ▀█▄▄▄▄▄███▀ "], ["sleep_2", " \n \n \n \n █▄▄▄▄██ \n ▄█▀██▀▀███▄ \n █▄█▀▀██▄████ \n ▀█▄▄▄▄▄████▀ "], ["walk_1", " \n \n \n \n ██▄▄▄██ \n ▄██ █▀█ ██▄ \n ███▀ ▄ ▀███ \n ▀██▄▄▄▄▄██▀ "], ["walk_2", " \n \n \n ▄▄ ▄▄ \n ▄█▀███▀█▄ \n ███▄▀ ▀▄███ \n ███ ▀▀▀ ███ \n ▀██▄▄▄██▀ "]]], + ["dokimon", [["angry", " \n \n ▄▄ \n ▄▀ █ \n ▀▄ █▄▄▄ \n ▄▀ ▄ ▀▄ \n █ ▀▀ █ \n ▀▄▄▄▄▄▄▀ "], ["attack", " \n ▄▀█ \n ▄▀ ▄▀ \n ▀▄▀▀▀▀▄ \n ▄▀ ▄▀ █ \n ███▄ █ \n ████ █ \n ▀▄▄▄▄▄▀ "], ["eat_1", " \n ▄▀█ \n ▄▀ ▄▀ \n ▀▄▀▀▀▀▄ \n ▄▀ ▄ █ \n █▄▄▄ █ \n ████ █ \n ▀▄▄▄▄▄▀ "], ["eat_2", " \n \n ▄▄ \n ▄▀ █ \n ▀▄ █▄▄▄ \n ▄▀ ▄ ▀▄ \n █ ▀ ▀ █ \n ▀▄▄▄▄▄▄▀ "], ["happy", " ▄▀█ \n ▄▀ ▄▀ \n ▀▄▀▀▀▀▄ \n ▄▀ ▄▀▄ █ \n █▄▄▄▄▄ █ \n ████▀ █ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄ "], ["injured_1", " \n \n \n ▄▀█ \n ▄▀ ▄▀ \n ▄▀▀▄▀▀▄ \n █ ▄█ █▄ █ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n \n ▄▄ \n ▄▀ █ \n █▄ █▄ \n ▄▀ ▄▀▄ ▀▄ \n ▀▄█▄▄▄█▄▀ "], ["sleep_1", " \n \n \n ▄▄ \n ▄▀ █ \n █▄ █▄ \n ▄▀ ▀ ▀▄ \n ▀▄██▄██▄▀ "], ["sleep_2", " \n \n \n ▄▀█ \n ▄▀ ▄▀ \n ▄▀▀▄▀▀▄ \n █ ▄▄ ▄▄ █ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_1", " \n \n ▄▄ \n ▄▀ █ \n █▄ █▄ \n ▄▀ ▀ ▀▄ \n █ ▀ ▄ ▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_2", " \n \n \n ▄▀█ \n ▄▀ ▄▀ \n ▄▀▀▄▀▀▄ \n █ ▄ ▄ █ \n ▀▄▄▄█▄▄▄▀ "]]], + ["dokugumon", [["angry", " \n \n ▄▄▄▄ \n ▄▀▄ ▄▄▀▄ \n ▄ ▄▄██▄ ▄ ▄▄█▄ \n█▄▀▄ ▄ ▀▀ █████ \n▄█ ▄ ▄ ▄██▀▄▀▄▀▄\n█▄█▄▄▄█▄▄█▄█▄█▄█"], ["attack", "▄▀▄█▀█▀▀▄▄▀▄ \n██▄ ▄█ ▄▄▀ \n █▄ ▄ ▄ ▀█ \n ██████ █▀▀▄ \n ▄▀█▀█▀█ ██▄▄█ \n▄▀▄▄▄▄▄▄██▀ █▀█ \n▀█ ▄▀▀███▄▄▀ ▄▀█\n ▀█▄▀▀██████▄▄▀"], ["eat_1", "▄▀▄▀▀▀▀▀▄▄▀▄ \n██▄ ▄▀▄ ▄▄▀ \n █▄ ▄ █▄ \n ▄██████ █▀▀█▄ \n█ ███▄▄█ █▄ ██ \n▀▄█▄▄▄▄▄███▄████\n ▄▀▄▀██████▄▀▄▀█\n █▄█▄▀██████▄▀▄▀"], ["eat_2", " \n ▄▀▀▀▀█▄ \n ▄█ ▀ ▀▀ ██▄ \n ▄ ▄███▄█▄█████ \n█▄▀ ▄ ▀▀ ████ \n▀█▀ ▀ ▀ ████▀▀█\n▄▀█▄▄▄▄▀▀█▀▄ ▀▄█\n█▄█▄▄▄█▄█▀▄▄█▄█ "], ["happy", " ▄ ▄▄▄▄▄ ▄ \n█▄▀ ▄ ▀▀ █ \n▀█▀ ▀ ▀ █▀ \n █▄▄▄▄██ █▀▄▄ \n█▀█████▀▄▀█▄▄█▄ \n█ █ ▀▀ ▄█ ██▀█▄\n▀▄▄▀████▄▄█ ▀▄ █\n ▀▄█▀██████▄█▄▀"], ["injured_1", " \n ▄▄▄ ▄▄ \n ▄▄▀▀▄▄█▄▀▀▄ █▀▄\n█ █▄█▄█ ██ █▄█ █\n▀▄▀▄▄▄▀▄ ███████\n▄█▄▄ ▄▄▀████████\n█▀▄ ▄▄ █████ \n ▀ ▀▀██▄▄█▄▄▀▀ "], ["injured_2", " \n \n █▀█▀▄ ▄▀█▀█▄ \n ▄█ █ ████ █ █ █\n█ █▀▀▀█ ██ █▄█ █\n▀█ ▀▀▀▀▄▄███████\n██▀▀ ▀▀ ▀▀█████▀\n▀▄█▄▄▄▄██▄█▄▄▀ "], ["sleep_1", " █ \n ▄▄█▄▄▄ \n ▄█▀▀▀▀▀██▄▄ \n ▄█ ▄ ▄▄ █▄█ \n ██ ▀ ▀▀ █▄█ \n ██▄██▄▄██▄▀ \n ▀███████ \n ▀▄▄▄▄▀ "], ["sleep_2", " █ \n ▄▄█▄▄▄▄ \n ▄█▀▀▀▀▀▀▀██▄ \n ██ ▄▄ ▄▄▄ █▄█ \n ██ ▀▀ ▀▀▀ █▄█ \n ▀██▄████▄▄██▄▀ \n ▀▀█▀▀▀▀█▀▀ \n ▀▀▀▀ "], ["walk_1", " \n ▄▀▀▀▀█▄ \n ▄█ ▀ ▀▀ ██▄ \n ▄ ▄███▄█▄█████ \n█▄▀▄ ▄ ▀▀ █████ \n▀█ ▄ ▄ █████▀▀█\n▄▀█▄▄▄▀▀█▀▀▄ ▀▄█\n█▄█▄▄█▄▀▀▀▄▄█▄█ "], ["walk_2", " \n ▄▄▄▄ \n ▄▀▄ ▄▄▀▄ \n ▄██▄ ▄ ▄▄██ \n▄▀▄▀▀▀▀██▀█████ \n██ ▀ ▀ ▄▄█████ \n▄█▄▀ █▀▀█▀▀▄▀▄▀▄\n█▄████▄█▀█▄█▄█▄█"]]], + ["dolphmon", [["angry", " ▀ ▄▀▀█ \n ▀ ▄▄▄█▄ █ \n ▀ ▄▀ ▀▄ \n ▄▀▀ ▄█▀ █ \n █▀▀▀▀ ▄ █\n ▄▀▄▄▄▀ █▄▄ █\n ▀▀ ▀▀▀ ▄▀▀ ▄▀\n ▀▀█▄▄█"], ["attack", " ▀ ▄▀▀█ \n ▀ ▄▄▄█▄ █ \n ▄▀ ▀▄ \n▄▀▀ ▄█▀ ▀▄ \n▀▀▀██▄ ▄▀▀█ █ \n ███ ▄▄█ █ \n▄▄▄▄██▀ █ ▄▀ ▀▄\n▀▄▄▄▄▄▄▀ █▄▄▀▄█"], ["eat_1", " ▀ ▄▀▀█ \n ▀ ▄▄▄█▄ █ \n ▄▀ ▄▄ ▀▄ \n▄▀▀ ▀ ▀ █ \n▀▀▀▀▀█ █ \n▄▄▄▄▄▀ ▄▄▄ █ \n▀▄▄▄▄▄▄▀▄█ ▄▀ ▀▄\n █▄▄▀▄█"], ["eat_2", " ▄▀▀█ \n ▄▄▄█▄ █ \n ▄▀ ▀▄ \n▄▀▀ ▄▀█ █ \n█▀▀▀▀▀ █ \n ▀▄▄▄▄ ▄▄▄ █ \n ▀▄█▀▄█ ▄▀▀ █ \n ▀▀█▄▄█"], ["happy", " ▄▀▄ ▄▀▀█ \n▄ ▀ ▄▄▄█▄ █ \n ▄▀ ▄ ▀▄ \n▄▀▀ ▀ ▀ █ \n▀▀▀▀███ ▄▄▄▄ █ \n ▄▀▀ █ ▄▀ █ \n█▀▀▀▀▀ ▄▀▀▀█▀ ▀▄\n ▀▀▀▀▀▀ █▄▄▀▀▀"], ["injured_1", " ▄ ▄▄▄▀▀█\n ▄▀▀█▄ █ \n▀ ▄▄█▄ █ █ █\n ▄▀ ▀▄ █\n▄▀▀ █▄ █\n█▀▀▀▀▄ ▄▀\n ▀▄▄▄▄▄ ▄▄▄▄▀ \n ▀▄█▀▄█ "], ["injured_2", " ▄▄▄\n ▄▄█▀▀ ▄▀\n ▄▀ █▀▄ ▀▄\n ▄▀▀▀▀ ▀▄▀ █\n ▄█ ▄ ▀ █\n█▄▄▄▄ ▀▀ ▄▀\n▀▄ ▀ ▄▄▄▀ \n ▀▀▀▀▀▄▄▄▄▀ "], ["sleep_1", " ▄▄▄\n ▀ ▄▄█▀▀ ▄▀\n▄ ▄▀ █▀▄ ▀▄\n ▄▀▀▀▀ ▀▄▀ █\n ▄█ ▀ █\n█▄▄▄▄ ▀▀ ▄▀\n▀▄ ▄▄▄▀ \n ▀▀▀▀▀▄▄▄▄▀ "], ["sleep_2", " ▄▄▄\n ▄▄█▀▀ ▄▀\n ▄▀ █▀▄ ▀▄\n ▄▀▀▀▀ ▀▄▀ █\n ▄█ ▀ █\n█▄▄▄▄ ▀▀ █\n▀▄ ▄ ▄▀ \n ▀▀▀▀▀▄▄▄▄▀▀ "], ["walk_1", " ▄ ▄▀▀█ \n ▄▄▄█▄ █ \n▀ ▄▀ ▀▄ \n▄▀▀ ▄ ▀█ █ \n█▀▀▀▀ ▀▀ █ \n ▀▄▄▄▄▄ ▄▄▄ █ \n ▀▄█ ▀▄█ ▄▀ ▀▄\n █▄▄▀▄█"], ["walk_2", " ▄ █▀▀▄▀▀█\n ▄▀▀█▄ █ \n▀ ▄▄█▄ █ █ █\n ▄▀ ▀▄ █\n▄▀▀ ▄ ▀█ █\n█▀▀▀▀ ▀▀ ▄▀ \n ▀▄▄▄▄▄ ▄▄▀▀ \n ▀▄█ ▀▄█ "]]], + ["donedevimon", [["angry", " ▄▀ ▄▄▄▄▄ ▀▄ \n ██▀███▀▀███ \n█▄ █▄ ▀ ▄ █ ▄█\n██ █▀▀ ▀▀▄█▀▀██\n▀████▄▄▄▄██▀ ▄▀ \n █▀█▀ ▀ ▄███▄ \n ██▄██▄████▀███ \n ▀ ▄██▀ ▀██▄ ▀ "], ["attack", " ▄ ▄ \n █▄▄█████▄▄█ \n▄ ▀█▄▀█▀ ▄▀█▀ ▄\n██ █▀█ █▀ █▄ ██\n▀█▄█▄ ▄██▀▄█▀\n ▀███▀█▀▀█▀█▀ \n ▄█ █▄ ▄▄█ ██▄ \n █▀████▀████▀▀█ "], ["eat_1", " ▄ ▄ \n █▄▄█████▄▄█ \n▄ ▀█ ▀█▀ ▀█▀ ▄\n██ █▀▄ ▄▀▄ █▄ ██\n▀█▄█▄ ▄██▀▄█▀\n ▀███▀█▀▀█▀█▀ \n ▄█ █▄ ▄▄█ ██▄ \n █▀████▀████▀▀█ "], ["eat_2", " ▄▀ ▄▄▄▄▄ ▀▄ \n ██▀███▀▀███ \n█▄ ██▄▀ ▄█ █ ▄█\n██ █ ▀ ▀ ▄██ ██\n ▀██▄ ██ ▄██▄█▀ \n ▄▀█▀▀▀▀█▀ █▄ \n ██▄██▄███▄▄███ \n ▀ ▄██▀ ▀██▄ ▀ "], ["happy", " ▄▀ ▄▄▄▄▄ ▀▄ \n ██▀███▀▀███ \n█▄ █▄ ▀ ▄ █ ▄█\n██ █ ▀ ▀ ▀▄██ ██\n ▀███▄▄▄▄███▄█▀ \n ▄▀▀█▀ ▀ ▄█▄ ▀▄ \n █▄███▄█████▄▄█ \n ▀ ▄██▀ ▀██▄ ▀ "], ["injured_1", " \n ▄▀ ▄▄▄▄▄ ▀▄ \n ██▀███▀▀███ \n█▄ █ ▄▀ ▄ █ ▄█\n██ █▀▀ ▀▀▄██ ██\n ▀███▄▄▄▄███▄█▀ \n ▄▀█▀ ▀ ▄▀ █▄ \n █▀▄██▄███▄▄▀▀█ "], ["injured_2", " \n ▄ ▄ \n █▄▄█████▄▄█ \n▄ ▀█ ▀█▀ ▀█▀ ▄\n██ █▄█ █▄ █▄ ██\n▀█▄█▄ ▄██▀▄█▀\n ▀███▀█▀▀█▀█▀ \n ▄█▄█▄▄▄▄█▄▄██▄ "], ["refuse", " ▄ ▄ \n █▄▄█████▄▄█ \n▄ ▀█ ▀█▀ ▀█▀ ▄\n██ ██▄ ▄█ █▄ ██\n▀█▄█▄ ▄██▀▄█▀\n ▀███▀█▀▀█▀█▀ \n ▄█ █▄ ▄▄█ ██▄ \n █▀████▀████▀▀█ "], ["sleep_1", " \n ▄▀ ▄▄▄▄▄ ▀▄ \n ██▀███▀▀███ \n█▄ █ ▀ █ ▄█\n██ █▀▀ ▀▀▄██ ██\n ▀███▄▄▄▄███▄█▀ \n ▄▀█▀ ▀ ▄▀ █▄ \n █▀▄██▄███▄▄▀▀█ "], ["sleep_2", " \n ▄ ▄ \n █▄▄█████▄▄█ \n▄ ▀█ ▀█▀ ▀█▀ ▄\n██ █▄▄ ▄▄ █▄ ██\n▀█▄█▄ ▄██▀▄█▀\n ▀███▀█▀▀█▀█▀ \n ▄█▄█▄▄▄▄█▄▄██▄ "], ["walk_1", " ▄▀ ▄▄▄▄▄ ▀▄ \n ██▀███▀▀███ \n█▄ ██▄▀ ▄█ █ ▄█\n██ █ ▀ ▀ ▄██ ██\n ▀███▄▄▄▄███▄█▀ \n ▄▀█▀ ▀ ▄▀ █▄ \n ██▄██▄███▄▄███ \n ▀ ▄██▀ ▀██▄ ▀ "], ["walk_2", " ▄ ▄ \n █▄▄█████▄▄█ \n▄ ▀█▄▀█▀ ▄▀█▀ ▄\n██ █▀█ █▀ █▄ ██\n▀█▄█▄ ▄██▀▄█▀\n ▀███▀█▀▀█▀█▀ \n ▄█ █▄ ▄▄█ ██▄ \n █▀████▀████▀▀█ "]]], + ["dorimon", [["angry", " \n \n ▄▄ ▄▄▄ \n ▄████████▄ \n █████▀▄████ ▄ \n █▀ ▀ ▀▀█████ \n ▀▄▀▀▀ ▄████ \n ██▀▀▀██▀ "], ["attack", " \n ▄█▄███▄ \n ▄█▀█▀█▀▄██▄ \n █▄▄▄▄▄▀█████ ▄\n ▀ ▀ ▀▄▀████ \n ▄ ▄ █ ███ \n █▀▀▀▀▀▀▀▄█▀ \n ▀██▀▀▀██ "], ["eat_1", " \n ▄█▄███▄ \n ▄████▀▄▀██▄ \n █▀ ▀ ▀▀▀████ ▄ \n ▀█▀█▀▀▄ ████ \n ▄ ▄ █ ███ \n █▀▀▀▀▀ ▄█▀ \n ██▀▀▀██ "], ["eat_2", " \n \n ▄ ▄▄▄ \n ▄███▀███▄ \n ██▀█▄█▄████ ▄ \n █ ▄ ▄ ▀█████ \n ▀█ ▀ ▀▄████ \n ██▀▀▀██▀ "], ["happy", " \n \n \n ██▄▄▄██ \n ▄█▀█████▀█▄ \n █▄█▄▀ ▀▄█▄█▄▀ \n ███ ▀ ███▀ \n ▀██▀▀▀██▀ "], ["injured_1", " \n \n \n \n ▄██▄▄███▄ \n █▀ ██ ▀▀███▄ \n ██▀ ▀▀█████▄ \n ▀▄▄██▄▄▄███▀ "], ["injured_2", " \n \n \n \n █▄▄▄▄██ \n ▄█▀██▀████▄ \n █▄▄▀▀▄▄▄████▄ \n ▀█▄▄▄▄▄████▀ "], ["sleep_1", " \n \n \n \n █▄▄▄▄██ \n ▄█████████▄ \n █▄▄▀▀▄▄▄████▄ \n ▀█▄▄▄▄▄████▀ "], ["sleep_2", " \n \n \n ▄ ▄▄ \n ▄███████▄ \n █▀▀██▀▀▀███ \n ██▀ ▀▀█████▄ \n ▀█▄▄▄▄▄████▀ "], ["walk_1", " \n \n \n ▄▄ ▄▄ \n ▄█▀███▀█▄ \n ███▄▀ ▀▄███▄▀ \n ███ ▀ ███▀ \n ▀██▀▀▀██▀ "], ["walk_2", " \n \n \n \n ██▄▄▄██ \n ▄██ █▀█ ██▄ ▄ \n ███▀ ▄ ▀████ \n ▀██▄▄▄▄▄██▀ "]]], + ["dorugamon", [["angry", " ▄▄▄▄▄▄▄▄▄ \n ▄▄█▀▀████▀▀█▄▄▄\n█▄ ▀██▀▄███▄█▀▄▀\n█▄▄▄▄███████▀▄██\n ▀▄▄▄██▄▄▄█▄▄█▀█\n ▄▀▀██ ▄▀▀███▀▄▀\n ▀▄█▀█▄█▄▄█▀▀█ \n █▄█▄▄█▀█▄█▄█▄█ "], ["attack", " ▄▄▄▄▄▄▄▄▄ \n▄▀▀█▀▀████▀▀█▀ \n█▀ ▀█▀▀████▄█▀█\n ▀██▄ ███████ █▄\n ▄▀▀▀ ██▀▀██ ███\n ▄████▀▀██████ █\n█▄▄█▀█▄ █ ████ \n█▄█▄▄█▀▀▀███▄█▄█"], ["eat_1", " ▄▄█▀▀████▀▀█▀ \n█▄ ▀██▀ ████ ▄▄▄\n▀▄▄▄▄▀███████▀▄▀\n ████ █▀▀██▀▄██\n ▄███▀▄████▄▄█▀█\n █▄▄▄█▀▄▀▀███▀▄▀\n ▀▄█▀█▄█▄▄█▀▀█ \n █▄█▄▄█▀█▄█▄█▄█ "], ["eat_2", " ▄███▄███▀ \n ▄▄█▀▀████▀ █ \n█▄ ▀██▀▄▀███▄█▀█\n█▄▄▄▄▀███████ █▄\n▀▄▄▄▄▄██▀▀█▀ ███\n ▄▀██▀▄▀▀███▀▄▀\n █▄▀█▄█▄▄█▀▀█ \n █▄█▄▄█▀█▄█▄█▄█ "], ["happy", " ▄▄▀████████▀ \n▄▀▀█▄█▀▄▀█▄▄▀▄▄▄\n█▀ ▄▀███████▀▄▀\n ▀▀▀█ ██████▀▄██\n █▀▀ ▄█▄▄▄█▄▄█▀█\n █████ ▄▀▀███▀▄▀\n ▀▄█▀█▄█▄▄█▀▀█ \n █▄█▄▄█▀█▄█▄█▄█ "], ["injured_1", " \n ▄▄███▄████▄▄ \n▄▀▀▄▄█▀███▄▄▀███\n█▀ ▀██▄▄████▀▄█\n▀▀██▄█████████▀█\n ▀▄▄▄███▄▄████▄▀\n █▄█▀█▄▄ ██▀▀█▄ \n █▄█▄▄█▀▀██▄▄█▄█"], ["injured_2", " \n \n ▄▄███▄███▄▄ \n▄▀▀▄▄█▀███▄▀███ \n█▀ ▀██▄▄████▄█ \n▀▀██▄████████▀█ \n▄█▄▄▄███▄▄▀▀█▄▀ \n█▄█▄▄█▀▀██▄▄█▄█ "], ["sleep_1", " \n \n ▄▄███▄████▄▄ \n▄▀▀▄▄▄████▄▄▀███\n█▀ ▀█▄▄▄████▀▄█\n █▀▀▀▄███▀████▀█\n█▀██▀█▄▄ ██▀▀██▀\n █▄█▄▄█▀▀██▄▄█▄█"], ["sleep_2", " \n ▄▄███▄████▄▄ \n▄▀▀▄▄▄████▄▄▀███\n█▀ ▀█▄▄▄████▀▄█\n▀▀██▄█████████▀█\n ▀▄▄▄███▄▄████▄▀\n █▄█▀█▄▄ ██▀▀█▄ \n █▄█▄▄█▀▀██▄▄█▄█"], ["walk_1", " ▄▄▄████████▀ \n▄▀▀█▄▄█▀██▄▄▀▄▄▄\n█▀ ▀█▄▄█████▀▄▀\n▀█▀▀▀███████▀▄██\n ▀▀███▄▄▄█▄▄█▀█\n ▄▀▀██ ▄▀▀███▀▄▀\n ▀▄█▀█▄█▄▄█▀▀█ \n █▄█▄▄█▀█▄█▄█▄█ "], ["walk_2", " ▄███▄███▀ \n ▄▄█▀▀████▀ █ \n█▄ ▀██▀ ████▄█▀█\n█▄▄▄ ▀███████ █▄\n ▄▀▀▀ ██▀▀█▀ ███\n ████▀▀██████ █\n █▄▄▀█▄█ ██▀ █ \n█▄█▄▄█▀▀▀███▄█▄█"]]], + ["dorugoramon", [["angry", " ▄▄▄▄▄▄ \n ▄▄▀▀▀ ▄▄▄█▀█ \n▄▀ ▄█ ▄▄▀ ▀▀▄\n▀▄ ▄▄▄▄▄▀▄▀▀▀▀▄▀\n █ ▄▄▄▄▀▀▄▄▄▀█ \n █ ▀▀▄ ▀█▄▀▀ ▀█ \n █▄▄▀█▀▀▀▄▄▄▀▄ \n █▄█▄▄▄▀▀█▄█▄█▄█"], ["attack", " ▄▄▄▀▀▀▀▀▀█▄▄ \n▄▀▀ ▄█ ▀▀██▄█ \n█ ▄▄▄▄▄ ▄▄█ ██\n ████████ ▄▀ ▄▀ \n█ ▀██▄▄█ ██▄▄▀ \n ▀▄█▄▄▄▄██ █ \n ▄█ ▀█▄▄▀▀▀▄ \n █▄█▄▄▄▀▄█▄█▄█ "], ["eat_1", " ▄▄▄▀▀▀▀▀█▄▄ \n ▄▀▀ ▄ ▀▀█▀▄█ \n█ ▀ ▀ ▄▀█▄▄▄ █\n ▀▄█████▀▄▀ ▄▄▀ \n▄▀▀████▀▄███▄ ▀▄\n▀▄▄█▄▄▄███ ▀▄▄▄▀\n ██ ▀█▄▄▀▀▀▄ \n █▄█▄▄▄▀▄█▄█▄█ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄▄▀▀▀ ▄▄▄█▀█ \n▄▀ ▄▀▄ ▄▄▀ ▀▀▄\n▀▄ ▄▄▄▄▄▀▄▀▀▀▀▄▀\n █ ▄▄▄▄▀▀▄▄▄▀█ \n █ ▀▀▄ ▀█▄▀▀ ▀█ \n █▄▄▀█▀▀▀▄▄▄▀▄ \n █▄█▄▄▄▀▀█▄█▄█▄█"], ["happy", " ▄▄▄▀▀▀▀▀█▄▄ \n ▄▀▀ ▄ ▄▀▀█ █ \n█ ▀ ▀ ▄▀▄ █ █\n ▀▄█████▀▄▀ ▄█▀ \n ▄██▀▀▀ ▄███▀ \n█ ███▀▀██ ▀▄ \n ▀▀██ ▀█▄▄▀▀▀▄ \n █▄█▄▄▄▀▄█▄█▄█ "], ["injured_1", " ▄▄▄▄▄▄ \n ▄▄▀▀▀ ▄▄▄█▀█ \n▄▀ █▄ ▄▄▀ ▀▀▄\n▀▄ ▄▄▄▄▄▀▄▀▀▀▀▄▀\n █ ▄▄▄▄▀▀▄▄▄▀█ \n ▄▀█▀▄ ▀█▄█ ▀█▀ \n█ ▄▄█▀█▀▀▀█▄ █ \n █▄█▄▄▄█▀█▄███▄█"], ["injured_2", " \n ▄▄▄▀▀▀▀▀█▄▄ \n ▄▀▀ ▄ ▀▀█▀▄█ \n█ ▀▀ ▄▀█▄▄▄ █\n ▀▄▀▀▀▀▀▄█ ▄█ \n ▄█▄█▀▀█▄ █▀█▄█ \n▄▀▄▄█▀█▀▀▀█ ▀▄ \n██▄█▄▄▄█▀█▄█▄▄██"], ["sleep_1", " \n ▄▄▄▀▀▀▀▀█▄▄ \n ▄▀▀ ▀▀█▀▄█ \n█ ▀▀▀▄▀█▄▄▄ █\n ▀▄▀▀▀▀▀▄█ ▄█ \n ▄█▄█▀▀█▄ █▀█▄█ \n█ ▄▄█▀█▀▀█▀ █▄ \n▀█▄█▄▄▄█▀█▄▄██▄█"], ["sleep_2", " ▄▄▄▄▄▄ \n ▄▄▀▀▀ ▄▄▄█▀█ \n▄▀ ▄▄▄ ▄▄▀ ▀▀▄\n▀▄ ▄▄▄▄▄▀▄▀▀▀▀▄▀\n █ ▄▄▄▄▀▀▄▄▄▀█ \n ▄▀█▀▄ ▀█▄█ ▀█▀ \n█ ▄▄█▀█▀▀█ ▄█▄ \n █▄█▄▄▄█▀███▄█▄█"], ["walk_1", " ▄▄▄▀▀▀▀▀█▄▄ \n ▄▀▀ ▄▄▄ ▀▀█▀▄█ \n█ ▀▀ ▄▀█▄▄▄ █\n ▀▄▀▀▀▀▀▄█ ▄█ \n ▄▀▄█▀▀█▄ ██▀▄█ \n ▀▄ █▄▄██ ▄▀ \n ██ ▀█▄▄▀▀▀▄ \n █▄█▄▄▄▀▄█▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▄▀▀▀ ▄▄▄█▀█ \n▄▀ ▄█▀▀ ▄▄▀ ▀▀▄\n▀▄ ▄▄▄▄▄▀▄▀▀▀▀▄▀\n █ ▄▄▄▄▀▀▄▄▄▀█ \n █ ▀▀▄ ▀█▄▀▀ ▀█ \n █▄▄▀█▀▀▀▄▄▄▀▄ \n █▄█▄▄▄▀▀█▄█▄█▄█"]]], + ["dorugreymon", [["angry", " ▄▄ ▄▄ ▄▄ ▄███\n███ ███▄▀█▀▀▄██ \n████ ▄ ▀█████▀\n ██▀ ▀▀ ▀▄█████\n ▀▀█████ ▀▄███▀▄\n ██▀ ▄▀▄▄▀█▄▀\n ▄▀▄▄▄▀█▄ ▀▄▀█\n ███▄▄█ ████████"], ["attack", " ▄▄ ▄▄ ▄▄ \n███ ███▄▀█▀ ▄███\n████ ▄▄ ▀█▀▄██ \n ██▀ ▀▀ ▀▄████▀\n ▀▄▄▄▄▄ ▄▀▄█████\n █▄▄▄▀ ███▀▄\n ▄▀ ▀▄ █▄ ▀▄█\n███▄▄█▀▀▀███████"], ["eat_1", " ▄▄ ▄▄ ▄▄ \n███ ███▄▀█▀ ▄███\n████ ▄▄ ▀█▀▄██ \n ██▀ ▀▀ ▀▄████▀\n ▀▄▄▄▄▄ ▄▀▄█████\n █▄▄▄▀ ███▀▄\n ▄▀ ▀▄ █▄ ▀▄█\n███▄▄█▀▀▀███████"], ["eat_2", "▄██ ▄██ ▄██ ▄▄▄\n████▀▀▀▀ █▄▄▀██▀\n ██▀ ▄█▀ ▄▀▄███▄\n ▀▄▄▄▄ ▄▀████▄\n ███ █▄▀████▀\n ▄▀▀▀▄▀▄ ▄▄▀█▄█\n ▄▀▀▀▄▄█▄ ▀▄▀█\n ███▄▄█ ████████"], ["happy", "▄██ ▄██ ▄██ ▄███\n███▄▀▀▀▀ █▄▀▄██ \n▀███ ▄▀▄ ▄▀████▀\n █▀ ▄ ▄▀█████\n ▀█████ ▄▀███▀▄\n █▀▀▀▄▀ ▄▄ █▄▀\n ▄▀ ▀█▀▄▄█ ▀█ █\n███▄▄█ ███████"], ["injured_1", " \n▄██ ▄██ ▄██ \n███▄▀▀▀▀ █▄▄▀███\n▀███ ▀▄▄ ▄▀▄███ \n █▀ ▄▀█████\n ▀█▀▀▀▄▀▄▀██▄▄▀\n ▄▀ █▀▀ █▄ ▀▄█\n███▄▄█▄▄▄███████"], ["injured_2", " \n \n ▄▄ ▄██ ▄██ ▄▄▄\n▄██▄▀▀▀▀ █▄▄███▀\n▀███ ▀▄▄ ▄▀████▄\n █▀ ▄▀████▀\n ▄▀█▀▀▀▄▀█▄ ▀▄█\n███▄███▄▄███████"], ["refuse", "▄██ ▄██ ▄██ ▄███\n███▄▀▀▀▀ █▄▀▄██ \n▀███ ▄█▀ ▄▀████▀\n █▀ ▄▀█████\n ▀█▀▀▀▄▀ ▀███▀▄\n █▀▀ ▄ ▄▄▀█▄▀\n ▄▀ ▀▄▄█▄ ▀▄▀█\n ███▄▄█ ████████"], ["sleep_1", " ▄▄▄\n▄██ ▄██ ▄██ ▀██▀\n███▄▀▀▀▀ █▄▄███▄\n▀███ ▄▄▄ ▄▀▄███▄\n █▀ ▄▀█████\n ▀█▀▀▀▄▀▄▀████▀\n ▄▀ █▀▀ █▄ ▀▄█\n███▄▄█▄▄▄███████"], ["sleep_2", " ▄▄▄\n▄██ ▄██ ▄██ ▀██▀\n███▄▀▀▀▀ █▄▄███▄\n▀███ ▄▄▄ ▄▀▄███▄\n █▀ ▄▀█████\n ▀█▀▀▀▄▀▄▀████▀\n ▄▀ █▀▀ █▄ ▀▄█\n███▄▄█▄▄▄███████"], ["walk_1", "▄██ ▄██ ▄██ ▄███\n███▄▀▀▀▀ █▄▀▄██ \n▀███ ▄█▀ ▄▀████▀\n █▀ ▄▀█████\n ▀█▀▀▀▄▀ ▀███▀▄\n █▀▀ ▄ ▄▄▀█▄▀\n ▄▀ ▀▄▄█▄ ▀▄▀█\n ███▄▄█ ████████"], ["walk_2", " ▄▄ ▄▄ ▄▄ \n███ ███▄▀█▀ ▄███\n████ ▄▄ ▀█▀▄██ \n ██▀ ▀▀ ▀▄████▀\n ▀▄▄▄▄▄ ▄▀▄█████\n █▄▄▄▀ ███▀▄\n ▄▀ ▀▄ █▄ ▀▄█\n███▄▄█▀▀▀███████"]]], + ["doruguremon", [["angry", " ▄▄ ▄▄ ▄███\n▄██ ███▄▀█▀▄▄██ \n████ ▄ ▀█████▀\n▀██▀ ▀ ▀██████\n ▀▄▄▄▄▄▄▄▀▄███▀▄\n ▀▄▄▄▀▄▀▄▄▀█▄▀\n ▄▀ ▀▄▄█▄ ▀▄▀█\n ███▄▄█ ████████"], ["attack", "▄██ ▄██ ▄██ ▄▄▄\n████▀▀▀▀ █▄▄▀██▀\n ██▀ ▄█▀ ▄▀▄███▄\n ▀▄▄▄▄ ▄▀████▄\n ████ █▄▀████▀\n ▄▀▀▀▄▀▄ ▄▄▀█▄█\n ▄▀▀▀▄▄█▄ ▀▄▀█\n ███▄▄█ ████████"], ["eat_1", "▄██ ▄██ ▄██ ▄▄▄\n████▀▀▀▀ █▄▄▀██▀\n ██▀ ▄█▀ ▄▀▄███▄\n ▀▄▄▄▄ ▄▀████▄\n ███ █▄▀████▀\n ▄▀▀▀▄▀▄ ▄▄▀█▄█\n ▄▀▀▀▄▄█▄ ▀▄▀█\n ███▄▄█ ████████"], ["eat_2", " ▄▄ ▄▄ ▄▄\n▄██ ███▄▀██▄▀██▀\n████ ▄ ▀▄▄███▄\n▀██▀ ▀ ▀ ▀▄████▄\n ▀▄▄▄▄▄ ▄▀ ████▀\n ▀▄▄▄▀▄ ▀▄▀██▄\n ▄▀ ▀▄▄█▄ ▀▄ █\n ███▄▄█ ████████"], ["happy", "▄██ ▄██ ▄██ ▄███\n███▄▀▀▀▀ █▄▀▄██ \n▀███ ▄▀▄ ▄█████▀\n █▀ ▄ ▄██████\n ▀█████ ▄▀███▀▄\n █▀▀▀▄▀ ▄▄▀█▄▀\n ▄▀ ▀█▀▄▄█ ▀█ █\n███▄▄█ ███████"], ["injured_1", " \n▄██ ▄██ ▄██ \n███▄▀▀▀▀ █▄▄▀███\n▀███ ▀▄▄ ▄▀▄███ \n █▀ ▄▀█████\n ▀█▀▀▀▄▀▄▀████▀\n ▄▀ █▀▀ █▄ ▀▄█\n███▄▄█▄▄▄███████"], ["injured_2", " \n \n ▄▄ ▄██ ▄██ ▄▄▄\n▄██▄▀▀▀▀ █▄▄███▀\n▀███ ▀▄▄ ▄▀████▄\n █▀ ▄▀████▀\n ▄▀█▀▀▀▄▀█▄ ▀▄█\n███▄███▄▄███████"], ["sleep_1", " \n ▄▄ ▄▄ ▄▄ ▄███\n███ ███▄▀█▀ ▄██▀\n████ ▀█▀███▄\n ██▀ ▀▀▀ ▀▄████▄\n ▀▄▄▄▄▄ ▄▀▄████▀\n ▄▀▀▄▄▄▀ █▄ ▀▄█\n███▄▄█▄▄▄███████"], ["sleep_2", " ▄▄▄\n▄██ ▄██ ▄██ ▀███\n███▄▀▀▀▀ █▄▄███ \n▀███ ▄▄▄ ▄▀▄███▀\n █▀ ▄▀█████\n ▀█▀▀▀▄▀▄▀████▀\n ▄▀ █▀▀ █▄ ▀▄█\n███▄▄█▄▄▄███████"], ["walk_1", "▄██ ▄██ ▄██ ▄███\n███▄▀▀▀▀ █▄▀▄██ \n▀███ ▄█▀ ▄▀████▀\n █▀ ▄▀█████\n ▀█▀▀▀▄▀▄▀███▀▄\n █▀▀ ▄ ▄▄▀█▄▀\n ▄▀ ▀▄▄█▄ ▀▄▀█\n ███▄▄█ ████████"], ["walk_2", " ▄▄ ▄▄ ▄▄ \n███ ███▄▀█▀ ▄███\n████ ▄▄ ▀█▀▄██ \n ██▀ ▀▀ ▀▄████▀\n ▀▄▄▄▄▄ ▄▀██████\n █▄▄▄▀ █ ███▀▄\n ▄▀ ▀▄ █▄ ▀▄█\n███▄▄█▀▀▀███████"]]], + ["dorumon", [["angry", " ▄▄▄▄ ▄▄▄▄ \n ▄▄██▀▀▀▀▀ ▀█▀ \n █▄ ▄▀ ▀▀▄▄▄\n █▄▄▄▄ ▀▄ █\n ▀▄▄▄▄▄▄█▀██ █\n █ ▄█ █ ▄▀▄ ▄▀\n ▄█▀ ▀▄██ ▀█ \n ███▄▄▄▀███▄███ "], ["attack", " ▄▄▄▄███▀▄▄▄ \n█▀ ▄▄ ▀██ \n█████▄▀▀ ▀█▀ \n ██▀▀▀█ ▀▄▄▀█\n █▀▀▀▀ █▄▀██ █\n ▄▀▀▀█▀▀▄▀▀ █▄ █\n █▄█▀▀▄ ▀▄▄█ ▀█ \n███▄▄▄▀▀▀███▄███"], ["eat_1", " ▄▄████▄▀███ \n ▄▀▀▀▀ ▄ ▄▄▀ \n █▀ ▀▀ ▄▀▄▄\n ▀▀█████ ▄▄▀ █\n ▄▀▀▀▀ ▄▄▀██ █\n █▀██▀█ ▄▀▄ ▄▀\n ▄█▀ ▀▄██ ▀█ \n ███▄▄▄▀███▄███ "], ["eat_2", " ▄▄▄▄ ▄▄▄▄ \n ▄▄██▀▀▀▀▀ ▀█▀ \n █▄ ▄▀▄ ▀▀▄ \n █▄▄▄▄▄ ▀▄▀█\n ▀▄▄▄▄▄▄▀▄██ █\n ▄▀▀█ ▄▀▀ █▀ █\n █▄█▀▄▀▄▄▀ █▄▀ \n ███▄▄▄▀███▄███ "], ["happy", " ▄▄████▄▀███ \n ▄▀▀▀▀ ▄ ▄▄█▄ \n █▀ ▀ ▀ █ █\n ▀▀█████▀ ▄▀ ▄█\n █▀▀▀ ▄▀▄▄▀ █\n ██▀▀▀ █ ▄▀\n ▄█▀ ▀▄██ ▀█ \n ███▄▄▄▀███▄███ "], ["injured_1", " \n ▄▄████▄▀███ \n▄▀▀▀▀▄▄ ▄▄▀ ▄▄\n█▀ ▀▀ ▄█▀ █\n▀█▀▀▀ ▄ ▄▄█ █\n █▀▀█▀█▀▀▀█▄ ▄▀\n █▄▀▀▄▀▄▄▀ ▀█ \n ███▄▄▄▀███▄███ "], ["injured_2", " \n ▄▄▄▄ ▄▄▄▄ \n ▄▄██▀▀▀▀▀ ▀█▀▄▄\n█▄ ▀█▄ ▀▀▄▀ █\n█▄▄▄▄ ▀█ █\n ▀████▄▄█▄███ ▄▀\n █ ▄▀▄█ ▄▀ ▀█ \n ███▄▄▄▀▀███▄███"], ["sleep_1", " \n ▄▄▄▄ ▄▄▄▄ \n ▄▄██▀▀▀▀▀ ▀█▀▄\n █▄ ▄▄▄ ▀▀█▀█\n █▄▄▄▄ ▀▄ █\n▄▄▀▄▄▄▄▄▄█▄█▀▄▄█\n█▀▀█ ▀▄▀ █▀▀▀█\n█▄▄█▀▄▄█▄▄▀█▄▄▄█"], ["sleep_2", " \n ▄▄████▄▀███ \n ▄▀▀▀▀ ▄▄█▄▄\n █▀ ▀▀▀ ▄▀ █\n ▀█▀▀▀ ▄ ▄▄▀ █\n▄▄▀█▀▀█▀█▀▀██▄▄█\n█▀▀█ ▀▄▀ █▀▀▀█\n█▄▄█▀▄▄█▄▄▀█▄▄▄█"], ["walk_1", " ▄▄████▄▀███ \n ▄▀▀▀▀ ▄ ▄▄▀ \n █▀ ▀▀ ▄▀▄▄\n ▀█▀▀▀ ▄ ▄▄▀ █\n ███▀▀█▄▀██ █\n █ ▄█ █ ▄▀▄ ▄▀\n ▄█▀ ▀▄██ ▀█ \n ███▄▄▄▀███▄███ "], ["walk_2", " ▄▄▄▄ ▄▄▄▄ \n ▄▄██▀▀▀▀▀ ▀█▀ \n█▄ ▄█ ▀▀▄ \n█▄▄▄▄ ▀▄▄▀█\n ▀▄▄▄▄▄▄▀▄▀██ █\n ▄▀▀█ ▄▀▀ █▀▄ █\n ▄█▄▀▀▄▀▄▄█ ▀█ \n███▄▄▄▀▀▀███▄███"]]], + ["dracmon", [["angry", " ▄▄ \n ▄████████ \n █▀████▀███ \n █ ██ ███ \n █▀███▀▀▀▀██▀▀█ \n█ █ █▀▀▀▀█ █ █\n ▀▀ ███▀▀███ ▀▀ \n █▄▄█ █▄▄█ "], ["attack", " ▄▄▄▄▄▄██ \n ▄███▀█████ \n ███ █████ \n █▀▀████▀█████ \n █▄▄█▄▄████▀ \n ▄▀ ▄▄▄▄▄▄█▀ \n ▀▀▀▄▄█▄▄▄██ \n █▄▄▄▀ █▄▄█ "], ["eat_1", " ▄▄▄▄▄▄██ \n ▄█████████ \n █▄▄██▄▄███ \n █▄ ███ \n █ █▄▄▄███▄ \n ▀▄▀█▄▄▄▄▀█ ▀▄ \n ███▀▀███▄▄▀ \n █▄▄█ █▄▄█ "], ["eat_2", " ▄▄ \n ▄████████ \n █▀▀██▀▀███ \n ██▄██▄████ \n ▄███▀▀▀▀██▄▄ \n▄▀ █▀█▀▀▀▀█▀█ ▀▄\n▀▄▄▀███▀▀███▀▄▄▀\n █▄▄█ █▄▄█ "], ["happy", " ▄▄ \n▄▀▀▄▄████████▀▀▄\n▀▄ ██▀▀█▀▀███ ▄▀\n ██▄█▄█▄█▄███ \n ▀██▀▀▀▀██▀ \n █▀▀▀▀█ \n ███▀▀███ \n █▄▄█ █▄▄█ "], ["injured_1", " ▄▄ \n ▄████████ \n ██▀██▀████ \n █▄▄██▄▄███ \n ▀██▀▀▀▀██▀ \n ▄▀█▀▀▀▀█▀▄ \n ▄▀ ██████ ▀▄ \n █▄▄██▀▀██▄▄██ "], ["injured_2", " \n ▄▄▄▄▄▄██ \n ▄█████████ \n ██▀██▀████ \n █▄▄██▄▄███ \n ▀█▄▄▄▄█▀▄ \n ▄▀ █▄▄▄▄█ ▀▄ \n █▄▄██████▄▄██ "], ["sleep_1", " \n ▄▄▄▄▄▄██ \n ▄█████████ \n █▀▀██▀▀███ \n ██████████ \n ▀█▄▄▄▄██ \n ▄▀█▀ █▄▀ █▀▀▄ \n ▀▄█▄▄██▄▄█▄▄▀ "], ["sleep_2", " ▄▄ \n ▄████████ \n ██████████ \n █▄▄██▄▄███ \n ▀██▀▀▀▀██▀ \n █▀▀▀▀█ \n ▄▀█▀ ██▀ █▀▀▄ \n ▀▄█▄▄██▄▄█▄▄▀ "], ["walk_1", " ▄▄▄▄▄▄██ \n ▄▀████▀███ \n █ ██ ███ \n ▄▄██████████▄▄ \n▄▀ █▀▀▄▄▄▄██▄ ▀▄\n▀▄▄▀ █▄▄▄▄█ ▀▄▄▀\n ███▀▀███ \n █▄▄█ █▄▄█ "], ["walk_2", " ▄▄ \n ▄████████ \n █ ▀██▀ ███ \n █▄▄██▄▄███ \n ▄▄███▀▀▀▀██▄▄▄ \n▄▀▄▄▄█▀▀▀▀█▀▄ ▀▄\n▀▄█ ████████▀▄▄▀\n ▀▀▀▀▀▀▀▀▀▀▄█ "]]], + ["dracomon", [["angry", " ▄▄▀▀▀▀▄ ▄▄ \n▄▀▀▀▀ ▄▄█▀ █▀ ▀▄\n█▀█▀█▀▄ ▄▀▀▀█▀\n█ █ █ █ █▄ ▄█▄\n█▄█▄█▄█ ▄▀ ███\n▀▄▀▄▄▄▄▀ ▄██▀█\n ▀█▀▄ ▄▀ ▀▄▀▄\n █▄▄▄▀▀▄█▄█▄█▀▀"], ["attack", " ▄▄▄▄ ▄▄ \n ▄▀ ▀█▀ ▀▀█\n ▄█▀ ▄█▀ ▀█▀▀ \n█ ▀▀▀ ▀▀▄ █▄\n▀▄▄▀▀▀▀▄▀ ▀█▄███\n █▀█▀▀▄▀▀ █▀▀█\n ▄▀█▄ ▀▀█▀▀ █▄ \n █▄▄▄█▀▀▀▄█▄█▄██"], ["eat_1", " ▄▄▄▄ ▄▄ \n ▄▀ ▀█▀ ▀▀█\n ▄█▀ ▄█▀ ▀█▀▀ \n█ ▀▀▀ ▀▀▄ █▄\n▀▄▄▀▀▀▀▄▀ ▀█▄███\n █▀█▀▀▄▀▀ █▀▀█\n ▄▀█▄ ▀▀█▀▀ █▄ \n █▄▄▄█▀▀▀▄█▄█▄██"], ["eat_2", " ▄▄▀▀▀▀▄ ▄▄ \n▄▀▀▀▀ ▄▄▄ █▀ ▀█\n█▄▄▄▄▄ ▄ ▄▀▀█ \n▀██████▀ ▄▀▄██\n ▄█▀▀▀ ▄▀▀▄▀████\n █ ▀█▀▀▀▄▄▄▄▀▄ ▀\n ▀█▀▄ ▄▀▀ ▄ ▀█\n █▄▄▄▀▀▄█▄█▄█▀ "], ["happy", " ▄▄▀▀▀▀▄ ▄▄ \n▄▀▀▀▀ ▄▀▀▄ █▀ ▀█\n█▄▄▄▄▄ ▄ ▄███▄\n ██████▀ ▄▀ ▄██\n█ █▀▀▀ ▄▀ ▄█▀▀█\n ▀▄█▀▀▀ ▄▄▄▄█▀▄▄\n █▄ █ ▀ ▀ █▄▀\n █▄▄█▀▀█▄▄▄▀▀ "], ["injured_1", " ▄▄▄▄ \n ▄▀ ▀█▀█▄ \n ▄█▀ ▄▄▄ ▀▄▄█ \n█ ▀▀▄ \n▀▄▄▀▀▀▀ ▀█ ▄█▄\n ▀██▀▀ ▄ ▀███\n █▄█ ▄█▄▄█ ▀\n █▄█▄█▄▄█▄█▄█▄█ "], ["injured_2", " \n ▄▀▀▀▀▄▄▄▄ \n ▄█ ▀▄▀▀▄ \n▄▀▀ ▀▄▄ ▄▄▀▀▀ \n█ ▄▄▄▄ ▄▄▀ ▄ \n ▀█▄▄▄▄ ▄ ▀███\n █▄▄█ ▄▄█▄▄██\n █▄█▄█▄▄█▄█▄█▄█ "], ["refuse", " ▄▄▄▄ █▀▄▄▄\n ▄▀ ▀█▀ ▄▄▀\n ▄█▀ ▄█ ▀█ ▄ \n█ ▀▀ ▀▀▄██▄\n▀▄▀▀▀▀▀▄▀ ▀█████\n ▀██▀▀ █ █▀ █\n █▄█▄ █▄▄▀▀▄▀ \n █▄▄▄█▀▀▀▄█▄█▄█ "], ["sleep_1", " \n ▄▀▀▀▀▄▄▀█▄▄ \n ▄█ ▀▄▄▄▄▀ \n▄▀▀ ▄▄▀ ▄▄▀▄█▄\n█ ▄ ▄▄████\n ▀▄▄▄▄█▀ ▄▄█▄▄▀\n █▄▀█ █ ▀ ▀ █\n █▄▄▄█▄▄▄▄█▄▄▄██"], ["sleep_2", " \n ▄▀▀▀▀▄▄▀█▄▄ \n ▄█ ▀▄▄▄▄▀ \n▄▀▀ ▄▄▀ ▄▄▀▄█▄\n█ ▄ ▄▄████\n ▀▄▄▄▄█▀ ▄▄█▄▄▀\n █▄▀█ █ ▀ ▀ █\n █▄▄▄█▄▄▄▄█▄▄▄██"], ["walk_1", " ▄▀▀▀▀▄▄▄▀█▄▄\n ▄█ ▄▄ ▀▄▄▄▄▀\n▄▀▀ ▄██ ▄▄▀ ▄ \n█ ▄▄▄▄ ▄ ▄▄▀▄██\n ▀▀▄▄▄▄▀ ▀████\n ▄▀▄ ▄▀▀ ▄▀▄ ▀\n ▀▄▀▄ ▀█▀▀ ▄ ▀▄\n █▄▄▄▀▀▄█▄█▄█▀▀"], ["walk_2", " ▄▄▄▄ ▄▄ \n ▄▀ ▀█▀ ▀▀█\n ▄█▀ ▄█▀ ▀█▀▀ \n█ ▀▀▀ ▀▀▄ █▄\n▀▄▄▀▀▀▀▄▀ ▀█▄███\n █▀█▀▀▄▀▀ █▀▀█\n ▄▀█▄ ▀▀█▀▀ █▄ \n █▄▄▄█▀▀▀▄█▄█▄██"]]], + ["dracomon_x", [["angry", " ▄▄▄ ▄▄ \n ▄▀█▄ ▀█▀ ▄▀ \n▄▄█ ▀ ▄ █▀ \n█ ▀▀▀ ▄▀ \n ▀▄▄▀▀▀▀▄▄ ▀█▄▄ \n ▄▄█▀█▀▀ ▄ ▀ ▄▀▄\n ▀▄▄▀█ █▄▄▄▀ ▄▀\n █▄▄▄▄█▄▄▄█▄█▄▄█"], ["attack", " ▄▄▀▀▀▄▄▄▀▀▄ \n ▄▀▄▀▀▄▄ ▀▄▄▀ \n█▀▀ ▀▀ ▀█▄ \n▄█▄▄███▄ █ █ \n█▄▀███▄▄█ ▀ ▄▀ \n ▀▀▀▄▄▄ ▀▄▀▀█\n ▄▄▀▄ ▄ ▄▀ \n █▄▄▄▀▀▀█▄█▄▄█ "], ["eat_1", " ▄▄▀▀▀▄▄▄▀▀▄ \n ▄▀▄▀▀ ▀▄▄▀ \n█▀▀ ▀▀▀ ▀▄ \n▀▄ ▄▄▄▄▄ █▄ \n ▀███▀▀█ ▄▀▀█ \n ▄█▀▀▀▀▄▄▄ █ █\n █▄▄█▀█▀ ▀▄▄▀▄▀ \n █▄▄▄▀▀▀█▄█▄▄█ "], ["eat_2", " ▄▄▄ ▄▄ \n ▄▀█▄ ▀█▀ ▄▀ \n▄▄█ ▀ ▄▄ █▀ \n█ ▀ ▀ ▄▀ \n ▀▄▄▀▀▀▀▄▄ ▀█▄▄ \n ▄▄▀█▀▀▀ ▄ ▀ ▄▀▄\n ▀▄▄▄█ █▄▄▄▀ ▄▀\n █▄▄▄▄█▄▄▄█▄█▄▄█"], ["happy", " ▄▄▀▀▀▄▄▄▀▀▄ \n ▄▀▄▀▀ ▀▄▄▀ \n█▀▀ ▄▀▀▄ ▀▄ \n▀▄ ▄▄▄▄ ▄▀▀▄ \n ▄▀▀████▀▄▀ █▄ \n ▀▄█▄▄▄▄▀ █▄█ █\n ▄▄▀▄ ▄▀ ▄▀ \n █▄▄▄▀▀▀█▄█▄▄█ "], ["injured_1", " ▄▄▄ ▄▄ \n ▄▀█▄ ▀█▀ ▄▀ \n▄▄█ ▀ ▄ █▀ \n█ ▀▀ ▄▀ \n ▀▄▄▀▀▀▀▄▄ ▀█▄▄ \n █▀█▀▀ ▄ ▀ ▄▀▄\n █▄▀█ █▄▄▄▀▀▄▀\n █▄▄▄▄█▄▄▄█▄█▄▄█"], ["injured_2", " \n ▄▄▀▀▀▄▄▄▀▀▄ \n ▄▀▄▀▀ ▀▄▄▀ \n█▀▀ ▄▄▄ ▀▄ \n▀▄ ▄▄▄▄ █ \n ▀█▄▄▄▄▀▀ ▀█▄▄\n █▄▀█ ▄▀ ▄▀▀▄▀\n █▄▄▄▄█▄█▄█▄█▄▄█"], ["sleep_1", " \n ▄▄▀▀▀▄▄▄▀▀▄ \n ▄▀▄▀▀ ▀▄▄▀ \n█▀▀ ▄▄▄ ▀▄ \n▀▄ ▄▄▄▄ █▄ ▄▄\n ▀█▄▄▄▄▀▄ ▄▀ █\n █▀▀▄ ▀▄▀ ▄▀█▀▀▄\n ▀▄▄█▄▄█▄▄█▄▄▄▄█"], ["sleep_2", " ▄▄▄ ▄▄ \n ▄▀█▄ ▀█▀ ▄▀ \n▄▄█ ▀ █▀ \n█ ▀▀▀ ▄▀ \n ▀▄▄▀▀▀▀▄▄ ▄█▄▀▄\n █▀█▀▀ ▄ ▄▀▄▀\n █▀▀▄ ▀▄▀ ▄▀█▀▀▄\n ▀▄▄█▄▄█▄▄█▄▄▄▄█"], ["walk_1", " ▄▄▀▀▀▄▄▄▀▀▄ \n ▄▀▄▀▀ ▀▄▄▀ \n█▀▀ ▄██▀ ▀▄ \n▀▄ ▄▄▄▄ █▄ \n ▀█▄▄▄▄▀▀ ▄▀▀█ \n █▀▀▄█ ▄▀ ▄▀ █\n ▀▄▄▀▄ ▀▀█▀ ▄▀ \n █▄▄▄▀▀▀█▄▀▄▄█ "], ["walk_2", " ▄▄▄ ▄▄ \n ▄▀█▄ ▀█▀ ▄▀ \n▄▄█ ▀ ▄▄▄ █▀ \n█ ▀▀▀ ▄▀ \n ▀▄▄▀▀▀▀▄▄ ▀█▄▄ \n ▄▄█▀█▀▀ ▄ ▀ ▄▀▄\n ▀▄ ▀█ █▄▄▄▀ ▄▀\n █▄████▄▄▄█▄█▄▄█"]]], + ["dragomon", [["angry", " ▄██████▄ \n █▀████▀▀██ \n █▄▄██▄▄███▄ \n █▀▄▄▄ ██▀█▀█ \n▄▀▀▄▄▄▄▄▀█ ▀ ▀▄\n█ ▀█ ▀ █ █▀ ▄▀\n ▀█▀ ▀█▄ \n █▄▄▄██▀▀▀▄▄▄▄▄█"], ["attack", " ▄██████▄ \n █ ▀██▀ ▄██ \n ██▀▀▀█████▄ \n▄▀█ ███ █▀▀██▄ \n█ █ ███ █ ▀ █ \n▀▀▄█▄▄▄▀█▀▄▄▄▀ \n ▄▀▄ ▀ ▀▄▄ \n █▄▄▄██▀▀▀▄▄▄▄▄█"], ["eat_1", " ▄██████▄ \n ███▀▄▄▀███ \n ▄▀▄▄▀███████ \n █ ██ ████▀███▄ \n▄▀▄▀▀▄▀█ █ ▀ ▀▄\n█ █▀ ▄ ▄▀ █\n ▀█▀▄ ▀█▀ \n █▄▄▄█▀▀▀▄▄▄▄▄█ "], ["eat_2", " ▄██████▄ \n ████▀█████ \n ███▄██████▄ \n █ ▄ █████▀██▄ \n ▀▄▄▄▀ █ █ ▀ ▀▄\n █▀ █ ▄ ▄▀ █\n █▀▀▄ ▀█▀ \n █▄▄▄▄▀▀▀▄▄▄▄▄█ "], ["happy", " ▄███████▄ \n █▀▄▀██▀▄▀██ \n ██▀▀▀▀▀▀███ \n ██ ████ ████ \n▄▀▀█ █▄▄█ █▀ ▀▀▄\n█ ▀█▀▄▄▄▄█▀▄▀▀ █\n▀▄▄▀ ▀ ▀ ▀▄▄▄▀\n█▄▄▄▄▄█▀▀█▄▄▄▄▄█"], ["injured_1", " ▄▄▄▄▄▄ \n ▄████████▄ \n ██▀███▀███ \n █▄▄███▄▄███ \n █▀█▀▄▄▀███▀██ \n█ █▄▄▄▄█ ▀ ▀█ \n▀▄▀█ ▀ ▀ ▄▀▀▄█ \n█▄▄▄█▄▄▄▄█▄▄▄▄▄█"], ["injured_2", " \n ▄██████▄ \n ██████████ \n █████▀▀███▄ \n █▀▄▄▀██████▄ \n▄▀▀▄▄▄▄███▀ █ \n▀▄▀█ ▀ ▀ █▄▀▀▀█ \n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["sleep_1", " \n ▄██████▄ \n ██████████ \n █▄▄███▄▄██▄ \n ▄███ ▄ █████▄ \n▄▀ █▀▄▄▄█▀█ ▀█ \n▀▄▀▀▄▀ ▀ ▄▀▀▄█ \n█▄▄▄▄█▄▄▄█▄▄▄▄▄█"], ["sleep_2", " ▄▄▄▄▄▄ \n ▄████████▄ \n █▀▀███▀▀██ \n ███▀▀▀█████ \n █▀██ █ ███▀▀█ \n█ █▀▄▄▄█ ▀ ▀█ \n▀▄▀▀▄ ▀ ▀ ▄▀▀▄█ \n█▄▄▄▄█▄▄▄█▄▄▄▄▄█"], ["walk_1", " ▄███████▄ \n ▄▀█████▀███ \n ██▄███▄████ \n ██ ▄ ███▀█▀█ \n █▀▄▄▄█ █ ▀ ▀▀▄\n▄▀█ ▀ █ ▀ ▄▀ ▄▀\n▀▄▄▄▀ ▀█▄ \n ▀▄▄▄▄█▀▀▀▄▄▄▄▄█"], ["walk_2", " ▄███████▄ \n ▄█▀█████▀█▄ \n ███▄███▄███ \n ▄██▀█ ▄ █▀██▄ \n▄▀ ▀ █▄▄▄█ ▀ ▀▀▄\n▀▄ ▀▄ ▀ █ ▄▀ ▄▀\n █▀ ▀ ▀█ \n █▄▄▄▄▀▀▀▀▄▄▄▄█ "]]], + ["drimogemon", [["angry", " \n \n \n ▄▄▄██████▄ \n█▄▄▄▄ ▀▀▀▀██▄▄ \n █▀ ▄█▀ ▄███▄ \n▄▀▄▀▄▄▄▄ ▀▄█▀▄\n█▄▄█▄▄█▄█▄█▄█▄▄█"], ["attack", " \n█▀▀▀▄█████▄ \n ▀█▄▄▀ ▄▀███▄ \n █ ▄ ▀▀ ▄███▄ \n █████▄ ▀█▄ \n ███▀▀█▄ ▀█▄\n ▄▀██▄▄▀▀ ▀▄▄▀█\n █▄█▄▄█▄█▄█▄█▄▄█"], ["eat_1", "█▀▀▄▄▄▄▄▄▄ \n ▀▄▄▄▀▀▀▀███▄ \n █▄ ▄ ▀█▄ \n █▄▄█▄▄▄▄▄ █ \n ███▀▀▀██ █▄ \n▄▀█▀▄▀ ▄▀▀▀▄ █ \n█ █ █ █ ▄ ▄ █▀▄\n▀▄▀▄▄▄█▀▄▀▄▀▄█▄█"], ["eat_2", " \n \n▄▄▄▄ ▄▄▄▄▄▄ \n▀▄▄ ▀▀██████▄ \n ▄▀▀▀▀ ▄ ▀██▄ \n █ ▄ ▀ ▀ ▀▀██▄ \n▄▀█ ▀▄▄▀▀ ▀▄█▀▄\n█▄███▄█▄█▄█▄█▄▄█"], ["happy", "█▀▀▄▄▄▄▄▄▄ \n ▀▄▄▄▀▀▀▀███▄ \n █▄ ▄▀▄ ▀█▄ \n █▄▄█▄▄▄▄▄ █ \n ███▀▀▀██ █▄ \n▄▀█▀▄▀ ▄▀▀▀▄ █ \n█ █ █ █ ▄ ▄ █▀▄\n▀▄▀▄▄▄█▀▄▀▄▀▄█▄█"], ["injured_1", " \n \n▄▄▄▄ ▄▄▄▄▄▄ \n▀▄▄ ▀▀██████▄ \n ▄▀▀▀▀▄ ▀██▄ \n █ ▄ ▀▀ ▀▀██▄ \n▄▀▀▄███▀▀ ▀▄█▀▄\n█▄██▄▄█▄█▄█▄█▄▄█"], ["injured_2", " \n \n \n ▄▄▄██████▄ \n█▄▄▄▄ ▀▀▀▀██▄▄ \n █▀ █▄ ▄███▄ \n▄▀▄▀▄▄▄▄ ▀▄█▀▄\n█▄▄█▄▄█▄█▄█▄█▄▄█"], ["sleep_1", " \n \n \n ▄▄▄██████▄ \n█▄▄▄▄ ▀▀▀▀██▄▄ \n █▀ ▀▀ ▄███▄ \n▄▀▄▀▄▄▄▄▀ ▀▄█▀▄\n█▄▄█▄▄█▄█▄█▄█▄▄█"], ["sleep_2", " \n \n▄▄▄▄ ▄▄▄▄▄▄ \n▀▄▄ ▀▀██████▄ \n ▄▀▀▀▀ ▄▄ ▀██▄ \n █ ▄ ▄ ▀▀██▄ \n▄▀▀▄███▀ ▀▄█▀▄\n█▄██▄▄█▄█▄█▄█▄▄█"], ["walk_1", " \n \n█▀▀▀▄██████▄ \n ▀█▄▄▄▀▀▀▀▀██ \n █ ▄██ \n ▀▄▀▄▄ ▀██ \n▄▀▀▄▄▄▀▀ ▀▄▄▀▀█\n█▄█▄▄█▄█▄█▄█▄▄▄█"], ["walk_2", " \n▄▄▄▄ ▄▄▄▄▄ \n▀▄▄ ▀██████▄ \n ▄▀▀▀▀ ▄ ▀███ \n █ ▄ ▀▀▀██ \n █ ▀▀▄▄ ██ \n ▄▀▀▀ ▄▀ ▄▀▀█ \n █▄█▄█▄█▀█▄▄▄█ "]]], + ["duramon", [["angry", " █▀▄ ▄▄ \n ▀▄ ▀▄▀▀▀▀▄▀ \n ▄▀▀ ▄▄▀ █ \n █▄▄▄▄ ▄▄██▄▀█ \n ▀▄▄▄▄█▄█▀▄▄█ \n █ █▄▄██ ▄▀ █ \n █ ▄█▄▄█ ▄▀▄ █\n ▀█▄▄█ ▀██▄█ ▀▀ "], ["attack", " █▀▀▄ \n ▀▄ ▀▄ ▄▄ \n ▀▄ ▀▄▀▄▀▄ \n ▄▄▀▄ ▀▄▀▄▀▀█\n ▀▄▀▄▀▄ ▄█▄▀ █\n ▀▄▀▄█ ██ \n █▀▄█ █▄█\n █▄█▄▄▄▀▀▄█"], ["eat_1", "█▀▀▄▄ ▄▄▄▄▀█ \n ▀▀▄▄▀ ▄▄ ▀▄ \n █ ▀▀ █ \n █████ ▄▄██▄▀█ \n ▀▄▄▄▄█▄█▀▄▄█ \n ▄▀█▄▄█▀ ▄▀▀▄ \n █ ▄█▄█ ▄█▀▄ █\n ▀█▄▄█▀▀█▄▄█ ▀▀▀"], ["eat_2", "▄▄▄▄ ▄▄ \n▀▄▄▀▀▄▀▀▀▀▄▀ \n ▄▀▀ ▄▀▄ █ \n █▄▄▄▄ ▄▄██ ▄▄ \n ▀▄▄▄▄█▄██▀▀▄▀ \n ▄▀█▄▄▄█▀ ▀█▀▀▄\n▄▀ ▄█▄▄▀ ▄█▀▄▄█\n█▄█▄▄██▄▄█▄▄█ "], ["happy", " █▀▄ \n ▀▄▀▄▀▀▀▀█▀█ \n ▄▀▀ ▄▀▄ █ \n █▄▄▄▄ █ ▄▄ \n ███████▄█▀▀▄▀ \n ▄▀█▀▀▀▄▀ ▀█▀▄ \n ▄▀ █▀▀█▀ █ ▀▄\n █▄███▄█▄▄█▄█▄▄█"], ["injured_1", " ▄▄ \n █ ▀▄ ▄▄▄▄▀█ \n ▀▄▄▀▄ ▀▄ \n █ ▀▀ ▄█ ▄▄ \n █████▄▀██▀▀▄▀ \n ▄▀█▀▀██▀ ▀██ \n▄▀ █▀█▀ ▄▀ ▀█ \n█▄▄████▄▄█▄█▄▄█ "], ["injured_2", " \n █▀▄ ▄▄ \n ▀▄ ▀▄▀▀▀▀▄▀ \n █▀ ▄ █ \n █ ▀▀▄██▄▀█ \n ▀█████▄█▀▄▄█ \n▄▀▀ █▄▄▀▀ ▄▀▀▄ \n█▄▄▄█▄█▄▄▄█▄▄▄▄█"], ["sleep_1", " \n █▀▄ ▄▄ \n ▀▄ ▀▄▀▀▀▀▄▀ \n ▄▀▀ ▄▄▄ █ \n █▄▄▄▄ ▄▄██▄▀█ \n ▀▄▄▄▄█▄█▀▄▄█ \n ▄▀ █▄▄█▀ ▄▀▀▄ \n█▄▄██▄█▄▄▄█▄█▄█ "], ["sleep_2", " ▄▄ \n █ ▀▄ ▄▄▄▄▀█ \n ▀▄▄▀ ▀▄ \n █ ▀▀▀ ▄█ ▄▄ \n █▀▀▀▀▄▀██▀▀▄▀ \n ▄▀█▀▀██▀ ▀██ \n▄▀ █▀█▀ ▄▀ ▀█ \n█▄▄████▄▄█▄█▄▄█ "], ["walk_1", " █▀▄ ▄▄ \n ▀▄ ▀▄▀▀▀▀▄▀ \n ▄▀▀ ▄█▀ █ \n █▄▄▄▄ ▄▄██▄▀█ \n ▀▄▄▄▄█▄█▀▄▄█ \n ▄▀ █▄▄█▀ ▄▀ ▀▄\n█ ▄█▄█ ▄█▀▀▄▄█\n▀▀█▄▄█▀▀█▄▄█ "], ["walk_2", " ▄▄ \n █ ▀▄ ▄▄▄▄▀█ \n ▀▄▄▀ ▄▄ ▀▄ \n █ ▀▀ ▄█ ▄▄ \n █▀▀▀▀▄▀██▀▀▄▀ \n ██▀▀██▀ ▀█▀▄ \n ▄▀▄█▀█▀ ▄█▄ █\n ██▄▄██▄▄█▄▄█▀▀▀"]]], + ["durandamon", [["angry", "█▀▄ ▄█▀▀▀▄▀▄ \n▀▄ ▀▄▀▀ ▄█▄ ▀▄\n █▄▀ ▄█ ▄▀ █ \n█▄▄▄▄ █ █ \n ▀████ ▄▀ ▀▄ ▀▄\n █▄▄▄███▀█▀█▀▄█\n ▀▄▀███▄▀█ █ ▀\n ▀▄█ ▀▄█▀ "], ["attack", "▄▄ ▄▄▄▄ ▄ \n█ ▀▄ ▄█▀ ▄▀ ▀▄ \n █ ▄▀ ▄▄ ▀▀█ ▄▀\n▄▀▀ ▀▀ █ █ \n▀█▀▀ ▄█▀▄ ▀▄\n ██▀▀▀██▄▄▄█▀▄█\n █▄▀█▄█▄▀▄▀▄▀ ▀\n ▀▄█ ▀█▄▀ "], ["eat_1", "▄▄ ▄▄▄▄ ▄ \n█ ▀▄ ▄█▀ ▄▀ ▀▄ \n █ ▄▀ ▄▄ ▀▀█ ▄▀\n▄▀▀ ▀▀ █ █ \n▀█▀▀ ▄█▀▄ ▀▄\n ██▀▀▀██▄▄▄█▀▄█\n █▄▀█▄█▄▀▄▀▄▀ ▀\n ▀▄█ ▀█▄▀ "], ["eat_2", "█▀▄ ▄█▀▀▀▄▀▄ \n▀▄ ▀▄▀▀ ▄█▄ ▀▄\n █▄▀ ▄▀▄ ▄▀ █ \n█▄▄▄▄▄ █ █ \n ▀███▀ ▄▀ ▀▄▄ █\n █▄▄▄███▀█▀█ ▀█\n ▀▄▀▄▄█▄▀█ █ \n ▀▄█ ▀▄█▀ "], ["happy", "█▀▄ ▄█▀▀▀▄▀▄ \n▀▄ ▀▄▀▀ █ ▀▄\n █▄▀ ▄▀▄ █ █ █ \n█▄▄▄▄▄ ▄▀▄▀▄ █ \n ▀█▀▀▀ ▄█▀▀▀█▄ █\n ▄█▀▀████▄▀▀ ▀█\n ▀▄▀█▀▀▀▄▀▄ \n ▀▄█ ▀▄█ "], ["injured_1", " ▄▄▄▄ \n█▀▀▄ ▄█▀ ▄▀▀▄ \n █ ▄▀ ▀▀█ ▀▄\n▄▀▀ ▀▄▄ █ █ \n▀█▀▀ ▄█▀▄ █ \n ██▀▀▀██▄▄▄█▄ █\n █▄▀█▄█▀█▄▀▄▀ ▀█\n ▀▄█ ▀▄█▄▀ "], ["injured_2", " \n ▄▄▄ ▄█▀▀▀▄ \n ▀▄ ▀▄▀▀ ▄█▄▀▄ \n █▄▀ ▄ ▄▀ ▄▀\n █▄▄▄ ▀▀ ▄▀▄ █ \n ▀▄▄▄▄▄▄█▄▄▄█▀▄\n ▄▀█▄ ▄██▄▀▄▀▄█\n ▀▀▄█▀▀▄█▀▄▀ ▀"], ["refuse", "▄▄ ▄▄▄▄ ▄ \n█ ▀▄ ▄█▀ ▄▀ ▀▄ \n █ ▄▀ ▄ ▀▀█ ▄▀\n▄▀▀ ▀ ▀ █ █ \n▀█▀▀▀ ▄█▀▄ ▀▄\n ██▀▀▀██▄▄▄█▀▄█\n █▄▀█▄█▀█▄▀▄▀ ▀\n ▀▄█ ▀▄█▄▀ "], ["sleep_1", "▄▄ ▄▄▄▄ ▄ \n█ ▀▄ ▄█▀ ▄▀ ▀▄ \n █ ▄▀ ▀▀█ ▄▀\n▄▀▀ ▀▀▀ █ █ \n▀█▀▀ ▄█▀▄ ▀▄\n ██▀▀▀██▄▄▄█▀▄█\n █▄▀█▄█▀█▄▀▄▀ ▀\n ▀▄█ ▀▄█▄▀ "], ["sleep_2", "▄▄ ▄▄▄▄ ▄ \n█ ▀▄ ▄█▀ ▄▀ ▀▄ \n █ ▄▀ ▀▀█ ▄▀\n▄▀▀ ▀▀▀ █ █ \n▀█▀▀ ▄█▀▄ ▀▄\n ██▀▀▀██▄▄▄█▀▄█\n █▄▀█▄█▀█▄▀▄▀ ▀\n ▀▄█ ▀▄█▄▀ "], ["walk_1", "█▀▄ ▄█▀▀▀▄▀▄ \n▀▄ ▀▄▀▀ ▄█▄ ▀▄\n █▄▀ ▄█▀ ▄▀ █ \n█▄▄▄ ▄█ █ \n ▀▄▄▄▄▄▄█▀ ▀▄▄ █\n ▄▀█▄ ▄██▀█▀█ ▀█\n ▀▀▄▀█▀▄▀█ █ \n ▀▄█ ▀▄█▀ "], ["walk_2", "▄▄ ▄▄▄▄ ▄ \n█ ▀▄ ▄█▀ ▄▀ ▀▄ \n █ ▄▀ ▄▄ ▀▀█ ▄▀\n▄▀▀ ▀▀ █ █ \n▀█▀▀ ▄█▀▄ ▀▄\n ██▀▀▀██▄▄▄█▀▄█\n █▄▀█▄█▄▀▄▀▄▀ ▀\n ▀▄█ ▀█▄▀ "]]], + ["duskmon", [["angry", " ▄▄ \n ██▄█▀██▄▄██ \n ▀█▄███▄▄██▀ \n █▄ ▄█ █▀▄ \n ▀▄ ▄▀ ▀▄ \n ▄██▀██▀███▄▀ \n▄▀████▄▄███▀█▀▄ \n ▀▄████▀█████▀▀ "], ["attack", " ▄▄ ▄██▄ ▄▄ \n ██▀█▄█▀▀███ \n █▀▀▀▀█▀██▄ \n █▀ ▀▀ █▀ ▀▀▄ \n ▄█▄▄▄▄██▄▄▄▀▀▀\n █▀▀▄▀▀▄█████▀▄ \n ▀▄ ▀█████▀▀▀ \n ▄███▄▄█▀███▄ "], ["eat_1", " ▄▄ ▄██▄ ▄▄ \n ██▀█▄█▀▀███ \n █▀▀▀▀█▀██ \n █▀ ▀ ▀█ █ \n ██████ █▄ █ \n ██▄▀▀▀▀▄███ \n █▄▀██████▄▀▄█ \n ▄███▀ ▀███▄ "], ["eat_2", " ▄▄ \n ██▄█▀██▄▄██ \n ▀█▄███▄▄██▀ \n █▄ ▄ █▀▄ \n ▀▄▀ ▀ ▀█ ▀▄ \n ▄██▀██▀███▄▀ \n ▄▀███▄▄████▀▄ \n ▀█████▀█████▀ "], ["happy", " ▄▄ ▄██▄ ▄▄ \n ██▀█▄█▀▀███ \n █▀▀▀▀▀▀██ \n █▄ ▄▀▄ █ █ \n ▀▄▄▄▄ ▄█▄▄▀ \n ▄██▄▄▄▀███▄▀ \n ▀▄▀██▄▄███▄ \n ▄███▀ ▀████▄ "], ["injured_1", " \n ▄▄ ▄██▄ ▄▄ \n ██▀█▄█▀▀███ \n █▀▀▀▀▀▀██ \n █▄█ █▄ █ █ \n ▄█▄▄▄▄█▄▄ █ \n ▄██▄▀▀▄████ \n █▄████████▄██ "], ["injured_2", " \n ▄▄ \n ██▄█▀██▄▄██ \n ▀█▄███▄▄██▀ \n █ ▄ ▄ █▀▄ \n ▀█▀ ▀▀▄▀ ▀▄ \n ▄██▀██▀███▄█ \n █▄███▄▄██▄███ "], ["sleep_1", " \n ▄▄ \n ██▄█▀██▄▄██ \n ▀█▄███▄▄██▀ \n █▄ ▄▄ █▀▄ \n ▀▄ ▄▀ ▀▄ \n ▄██▀██▀███▄▀▄ \n █▄███▄▄███▄█▄█ "], ["sleep_2", " \n ▄▄ ▄██▄ ▄▄ \n ██▀█▄█▀▀███ \n █▀▀▀▀▀▀██ \n █▀ ▀▀ █ █ \n ▄█▄▄▄▄█▄▄ █ \n ▄▀██▄▀▀▄██▀█ █ \n ▀████████████▀ "], ["walk_1", " ▄▄ ▄██▄ ▄▄ \n ██▀█▄█▀▀███ \n █▀▀▀▀█▀██ \n █▀ ▀▀ █ █ \n ▄█▄▄▄▄█▄▄ █ \n ███▄▀▀▄████ \n █▄▀██████▄▀▄█ \n ▄███▀ ▀███▄ "], ["walk_2", " ▄▄ \n ██▄█▀██▄▄██ \n ▀█▄███▄▄██▀ \n █▄ ▄█ █▀▄ \n ▀▄ ▄▀ ▀▄ \n ▄██▀██▀███▄▀ \n ▄▀███▄▄████▀▄ \n ▀█████▀█████▀ "]]], + ["dynasmon", [["angry", " ▄▄ ▄▄ \n █ █▄█ █▀▀▀█ \n ▄▄▀▀ ▄▄▄▀ ▀▄ \n█▄▀█▀▀ ▀ ▄█▀▀▀▄\n▄▀▀██▄▄▀▄▀▄▄▄▄█▀\n▀█▄██▀▀████▀▀█ \n ▄▄▄▀█▄██████▄█ \n█▄█▄██▀▄▄█▄█▄█▄█"], ["attack", " ▄▄ ▄▄ \n █ █▄█ █▀▀▀█ \n ▄▀▀ ▄▄▄▀ ▀▄ \n▄▀▀█▀▀ ▀ ▄█▀▀▀▄\n▀█▄▄▀▄▄▀▄█ ▄▄▄█▀\n█▄ ███ █▄ ███ \n ███▀▀▄ ▀███▄█ \n█▄█▄██▀▄▄█▄█▄█▄█"], ["eat_1", " █▀▄ █▀▄▄▄▄▄ \n █▄▀▀▀ █ ▄▀ \n ▄█▄▄▄▀█▀ ▄▄█▄ \n█▄ ▀▄▄ ▄ ▄▀▀ ▄█\n▄▀▀█▄█▀ █▀ ███▀ \n▀█▄███ ▀█▄█▀█ \n ▄█▄ █▄ █▄▄█▄▀ \n █▄█▄██▀█▄█▄█▄█ "], ["eat_2", " █▀▄ █▀▄▄▄▄▄ \n █▄▀▀▀ █ ▄▀ \n ▄█▄▄▄▀█▀ ▄▄█▄ \n█▄ ▀▄▄ ▄ ▄▀▀ ▄█\n▄▀▀█▄█▀ █▀ ███▀ \n▀█▄███ ▀█▄█▀█ \n ▄█▄ █▄ █▄▄█▄▀ \n █▄█▄██▀█▄█▄█▄█ "], ["happy", " █▀▄ █▀▄▄▄▄▄ \n █▄▀▀▀ █ ▄▀ \n ▄█▄▄▄▀█▀ ▄▄█▄ \n█▄ ▀▄▄ ▄ ▄▀▀ ▄█\n▄▀▀█▄█▀ █▀ ███▀ \n▀█▄███ ▀█▄█▀█ \n ▄█▄ █▄ █▄▄█▄▀ \n █▄█▄██▀█▄█▄█▄█ "], ["injured_1", " █▀▄ █▀▄▄▄▄▄ \n █▄▀▀▀ █ ▄▀ \n ▄█▄▄▄▀█▀ ▄▄█▄ \n█▄ ▀▄▄ ▄ ▄▀▀ ▄█\n▄▀▀█▄█▀ █▀ ███▀ \n▀█▄███ ▀█▄█▀█ \n ▄█▄ █▄ █▄▄█▄▀ \n █▄█▄██▀█▄█▄█▄█ "], ["injured_2", " ▄▄ ▄▄ \n █ █▄█ █▀▀▀█ \n ▄▀▀ ▄▄▄▀ ▀▄ \n▄▀▀█▀▀▀▀ ▄█▀▀▀▄\n▀█▄▄▀▄▄▀▄█ ▄▄▄█▀\n ▄▀▀█ ██▀▀▄ \n ▄████▄ █████▄ \n█▄█▄█▄█▄▄█▄█▄█▄█"], ["refuse", " █▀▄ █▀▄▄▄▄▄ \n █▄▀▀▀ █ ▄▀ \n ▄█▄▄▄▀█▀ ▄▄█▄ \n█▄ ▀▄▄ ▄ ▄▀▀ ▄█\n▄▀▀█▄█▀ █▀ ███▀ \n▀█▄███ ▀█▄█▀█ \n ▄█▄ █▄ █▄▄█▄▀ \n █▄█▄██▀█▄█▄█▄█ "], ["sleep_1", " █▀▄ █▀▄▄▄▄▄ \n █▄▀▀▀ █ ▄▀ \n ▄█▄▄▄▀█▀ ▄▄█▄ \n█▄ ▀▄▄ ▄ ▄▀▀ ▄█\n▄▀▀█▄█▀ █▀ ███▀ \n▀█▄███ ▀█▄█▀█ \n ▄█▄ █▄ █▄▄█▄▀ \n █▄█▄██▀█▄█▄█▄█ "], ["sleep_2", " █▀▄ █▀▄▄▄▄▄ \n █▄▀▀▀ █ ▄▀ \n ▄█▄▄▄▀█▀ ▄▄█▄ \n█▄ ▀▄▄ ▄ ▄▀▀ ▄█\n▄▀▀█▄█▀ █▀ ███▀ \n▀█▄███ ▀█▄█▀█ \n ▄█▄ █▄ █▄▄█▄▀ \n █▄█▄██▀█▄█▄█▄█ "], ["walk_1", " █▀▄ █▀▄▄▄▄▄ \n █▄▀▀▀ █ ▄▀ \n ▄█▄▄▄▀█▀ ▄▄█▄ \n█▄ ▀▄▄ ▄ ▄▀▀ ▄█\n▄▀▀█▄█▀ █▀ ███▀ \n▀█▄███ ▀█▄█▀█ \n ▄█▄ █▄ █▄▄█▄▀ \n █▄█▄██▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n █ █▄█ █▀▀▀█ \n ▄▀▀ ▄▄▄▀ ▀▄ \n▄▀▀█▀▀ ▀ ▄█▀▀▀▄\n▀█▄▄▀▄▄▀▄█ ▄▄▄█▀\n█▄ ███ █▄ ███ \n ███▀▀▄ ▀███▄█ \n█▄█▄██▀▄▄█▄█▄█▄█"]]], + ["dynasmon_x", [["angry", "▄▄ ▄▄ \n█ ▀█▄▄█▄▀▀▄ ▄██\n █▀ ▄ ▀█▀▄██▀ \n █▄▄▄▀▀ ▄▀▀ ▄██▀\n █▄▄█▄█ ▄▄█▀ \n▄▀█ ▄ ██▀▀▄▀█▄ \n▀▄█▀▄▀███▄▄█▀███\n█▄█▄█▀▀▀█▄█▄█ "], ["attack", "█▀▄▄ █▀▄▄ ▄▄\n▀▄▄█▀▀▀▀▄▄█ ▄██▀\n █ ▄█ █▄▀▀█▄▄\n ▀▄▄▄▄ ▄▀ ██▀ \n ▄████▀█▄▄█▀█▄ \n█ ▀▄▄▄█ ▀▀█▀██▄\n ▀█▀▄▄█▀▀▀█ ▀▀\n █▄█▄█ █▄█▄█ "], ["eat_1", "█▀▄▄ █▀▄▄ ▄▄\n▀▄▄▀▀▀▀▀▄▄█ ▄██▀\n █ ▄▀▄ █▄▀▀█▄▄\n ▀███▄ ▄▀ ██▀ \n █▀▀▀▄█▄▄▀██▄ \n █ █▀█▀█ █▀███▄\n █▀▀▄█▀▀▀▄ ▀▀▀\n █▄█▄█▀█▄█▄█ "], ["eat_2", "▄▄ ▄▄ \n█ ▀█▄▄█▄▀▀▄ ▄██\n █▀ ▄ ▀█▀▄██▀ \n █▄▄▄▀ ▀▄▀▀ ▄██▀\n █▄▄█▄█ ▄▄█▀ \n▄▀█ ▄ ▄▀▀█ ███▄ \n▀▄█▀▄▀█▄▄█▀▄▀███\n█▄█▄█▀▀▀█▄█▄█ "], ["happy", "█▀▄▄ █▀▄▄ ▄▄\n▀▄▄▀▀▀█▀▄▄█ ▄██▀\n █ ▀ ▀ █▄▀▀█▄▄\n ▀████ ▄▀ ██▀ \n ▄▀▀▀▄▀▄▄███▄ \n ▄▀█▀█▄█ █▀███▄\n ▀▄▀█ █▀▀▀█ ▀▀▀\n █▄█▄█▀█▄█▄█ "], ["injured_1", " \n▄▄ ▄▄ \n█ ▀█▄▄█▄▀▀▄ ▄██\n █▀ ▄ ▀█▀▄██▀ \n █▄▄▄▀▀ ▄▀▀ ▄██▀\n █▄▄█▄█ ▄▄█▀ \n█▀▀▄ ▄ ▄▀█▀███▄ \n█▄▄██▄██▄▄▄█▀███"], ["injured_2", " \n▄ \n█▀▄▄ █▀▄▄ ▄▄\n▀▄▄█▀▀▀▀▄▄█ ▄██▀\n █ █▄ █▄▀▀█▄▄\n ▀█▀▀▄ ▄▀ ██▀ \n█▀▀▄▀█▀▄▀█▀███▄ \n█▄▄██▄██▄▄▄█▀███"], ["sleep_1", " \n▄▄ ▄▄ \n█ ▀█▄▄█▄▀▀▄ ▄██\n █▀ ▄▄ ▀█▀▄██▀ \n █▄▄▄ ▄▀▀ ▄██▀\n █▄▄█▄█▄▄▄▄█▀ \n▄▀▀▄▀▄█ ▄▀ ▀ ▀█▄\n█▄▄█▄▄███▄▄▄▄▄▀▀"], ["sleep_2", " \n█▀▄▄ █▀▄▄ ▄▄\n▀▄▄▀▀▀▀▀▄▄█ ▄██▀\n █ ▀▀ █▄▀▀█▄▄\n ▀█▀▀▄ ▄▀ ██▀ \n ▄▀▀▀▀█▄▄███▄ \n▄▀▀▄▀▄█ ▄▀ ▀ ▀█▄\n█▄▄█▄▄███▄▄▄▄▄▀▀"], ["walk_1", "█▀▄▄ █▀▄▄ ▄▄\n▀▄▄▀▀▀▀▀▄▄█ ▄██▀\n █ ▄█▀ █▄▀▀█▄▄\n ▀█▀▀▄ ▄▀ ██▀ \n ▄▄▀▀▀▀█▄▄▀██▄ \n█ █▄▀▄█ █▄▀███▄\n ▀█▀█ █▀▀▀▄ ▀▀▀\n █▄█▄█▀█▄█▄█ "], ["walk_2", "▄▄ ▄▄ \n█ ▀█▄▄█▄▀▀▄ ▄██\n █▀ ▄▄▀█▀▄██▀ \n █▄▄▄▀▀ ▄▀▀ ▄██▀\n █▄▄█▄█ ▄▄█▀ \n▄▀█ ▄ ▄▀▀█ ███▄ \n▀▄█▀▄▀█▄▄█▀▄▀███\n█▄█▄█▀▀▀█▄█▄█ "]]], + ["ebemon_x", [["angry", " ▄▄▄▄▄▄▄ \n ▄▀ ▄ ▄ ▀▄ \n ▀▄█ ▄█▀▄█ \n▄█ █▄▄▀▄█▄ █▄\n██ ▄▀████▀▄█ ██\n▀█▄▀▀▄ ▄▄▄ ▄▀▄█▀\n ▄▄▀█▀▀▀▀█▀▀▄▄ \n █▄▄▀▄▄▀▀▄▄▀▀▄▄█"], ["attack", " ▄▀█▀▀▀▀▄ \n █▄▀ ▄█▄ █ \n ▀▀▄▄█▀ █▀▀▄ \n █▀▀███ ██\n▀████ █▄▄█▀▄█ ██\n ▀▀█ ▄▄ ▄▀▀▀ \n ▄▀█▀█▀█▀▄ \n █▄█▄▄▀▄▄█▄█ "], ["eat_1", " ▄▀▀▀▀▀▀▄ \n ▄▀▄▀ ▄█▄ █ \n ▀▀█▄▄▀▀█ ▀▀ \n▄█ ▀▀▀███▄ █▄\n██ ▄▄▄██▀▄█ ██\n▀█▄▀█▄ ▄▄▄ ▄▀▄█▀\n ▄▄▀█▀█▀█▀▀▄ \n █▄▄▀▄▄▀▄▄▀▄▄█ "], ["eat_2", " ▄▄▄▄▄▄▄ \n ▄▀ ▄ ▄ ▀▄ \n ▄ ▀▄▀ ▄▄█▀▄█▄ \n██ ▀▄▄▀▄▀█▄ ██\n██ ▄▀████▀▄█ ██\n ▀▀▀▀▄ ▄▄▄ ▄▀▀▀ \n ▄▄▀█▀▀▀▀█▀▀▀▄ \n █▄▄▀▄▄▀▀▄▄▀▀▄▄█"], ["happy", " ▄▀▀▀▀▀▀▄ \n ▄▀▄▀ ▄█▄ █ █▄\n ▀█▄▄▀▄▀█▀▀ ██\n ▄ ████▀█▄ ▄█▀\n██ ▄█▄▄▄█▀▄██ \n██▄▀█▄ ▄▄▄ ▄▀ \n ▄▄▀█▀█▀█▀▀▄ \n █▄▄▀▄▄▀▄▄▀▄▄█ "], ["injured_1", " \n ▄▀▀▀▀▀▀▀▄ \n █ ▄▀ █▄ █ \n ▀▀▄ ▄█▄▀ \n ▄▀████▀▄█▄ \n▄▄█▀▄ ▄▄▄ ▄▀ █▄▄\n██ ▄▀█▀▀▀▀█▀▄ ██\n▀ █▄█▄▄▀▀▄▄▀▄█ ▀"], ["injured_2", " \n ▄▄▄▄▄▄▄ \n ▄▀ ▄ ▄ ▀▄ \n ▀▄█ ██▄▀ \n ▄▀█▄▄██ █▄ \n▄▄█▀▄ ▀▀▀ ▄▀ █▄▄\n██ ▄▀█▀▀▀▀█▀▄ ██\n▀ █▄█▄▄▀▀▄▄▀▄█ ▀"], ["sleep_1", " \n ▄▀▀▀▀▀▀▀▄ \n █ ▄▀ █▄ █ \n ▀▀█ ▄██▄▀ \n ██▄▄██▀▄ \n ▄▄█▀▄▀▀▀ ▄█▀█▄▄\n ██ ▄▀█▀█▀█▀▄ ██\n ▀ █▄█▄▄▀▄▄█▄█ ▀"], ["sleep_2", " ▄▄▄▄▄▄▄ \n ▄▀ ▄ ▄ ▀▄ \n █▄█ ▄█▀▄█ \n █▄▄▀▀█▄ \n ▄▀████▀▄█ \n ▄▄█▀▄ ▄▄▄ ▄▀█▄▄\n ██ ▄▀█▀█▀█▀▄ ██\n ▀ █▄█▄▄▀▄▄█▄█ ▀"], ["walk_1", " ▄▀▀▀▀▀▀▀▄ \n █ ▄▀ █▄ █ \n ▄ ▀█ ▄▀█ ▀▀▄ \n██ ███▄▄█▀▄ ██\n██ ▄█ ▀▀▀▀ ▀█ ██\n ▀▀ ▀▀▄███▄█ ▀▀ \n ▄▄▀▄ ▄ ▄ ▀▄ \n █▄▄▀▄▄▀▄▄▀▄▄█ "], ["walk_2", " ▄▄▄▄▄▄▄ \n ▄▀ ▄ ▄ ▀▄ \n▄█ ▀▄█ ▄█▀▄██▄\n██ █▄▄▀ █▄ ██\n▀█▄ ▄▀████▀▄█ █▀\n ▀▀▄ ▄▄▄ ▄▀▀ \n ▄▄▀█▀▀▀▀█▀▀▀▄ \n █▄▄▀▄▄▀▀▄▄▀▀▄▄█"]]], + ["ebidramon", [["angry", "▄▀ ▄▀▀ ▄▄▄▄▀▀▀█▀\n█ █ ▄██▀███▀▀█ \n ▀████▄███▀█▀ \n ▀█████▄█▄ \n ▄▀▀▀█▄▄ ▀▄ ▀▄\n █ ▄ █▀▄▄▄ ▀▄█ █\n ▀▄█▀ ▀▄▄▀ ▀▀ \n ▄██▀██▄ "], ["attack", " ▄▀▄▀▀▀▄▄▄▄█▀▀█▀\n█ █▄▄███▀▀██▀█ \n ▀▀▀▀▀█▄▄██▀█ █ \n ██▀▀▄▀ █\n ▄▄▄▄▄██▀▄▄ ▄▀█\n ▀▀█▄ █ █▄▀█\n ▀▄▄▄▀▄▄█▄▀ \n ▀▀██▄"], ["eat_1", " ▄▀▄▀▀▀▄▄▄▄▀▀▀█▀\n█ █▄▄██▀▀██▀▀█ \n ▀▀▀▀█▄███▀█▀ █ \n ▀███▀ ▄▀ █\n ▄██▀▄▄ ▄▀█\n ▀▀▀▀▀▄ █ █▄▀█\n █▀▀ ▄▀ ▀▄█▄\n ▀▀▀ ▄███▀▀"], ["eat_2", " ▄ ▄▄ ▄▄▄▄▄\n█ ▄▀ ▄▄████▄▄▄▀ \n█ █▄██▀▄▀██▄▄▀▄ \n ▀▀▀██████▄▀▄█▀▄\n ▀▀█▀▄ ▀▄▀█\n ▄▀▀ ▄▀▄▀ ▄█\n █▀▀ ▄▀ █▀ █\n ▀▀▀ ▄████▄"], ["happy", " ▄▀▄▀▀▀▄▄▄▀▀▀▀█▀\n█ █▄▄█▀▄▀██▀▀█▀▀\n ▀▀█▀▀▀████▀█▀▀ \n █ █████ █▄ \n ▄█▄▄█████▄▀▄█ \n ▀▄ ▀▀ █▀▄▀ \n █▀▀ ▄█▄▀ \n ▀▀▀███▀██▄▄ "], ["injured_1", " \n ▄ ▄▀▀ ▄▄▄▀▀▀▀█ \n█ █ ▄██████▀▀█ \n ▀████▄▀███▀█ ▀▄\n ▄▄▄█████▀█ ▄▀█\n▄▀ ▄▄██ █▀▄ ▄█\n█ █▄█▄ █ █▀▄▀\n ▀ ▀▄▄▄▄▀ ▄████▄"], ["injured_2", " \n ▄▄▄▄▄ \n ▄▀▄▀█▄███▄▄▄▄▀ \n▀▄█▄██▀████▄▄█ \n ▀▀▀██▄███▄▀ █▄\n ▄▀█████▀█▄▄▄▀▄█\n█ ▄█▄ █ ▀▄▀▄▀\n▀▄█▄▄▄▄▀ ▄████▄"], ["sleep_1", " ▀ \n▄▀ ▄▀ ▀ ▄▄▄▄▄\n█ █ ▄▄████▄▄▄▀ \n▀▄█▄███████▄▄▀▄ \n █▀▀▀▄▄██▄▀ █ █\n ▄▀▀▀███▀█▄ ▀ ▄█\n█ ▄ █▄ █ ▀█▀ █\n▀▄▀█▄▄▄▄▀▄▄████▄"], ["sleep_2", " \n▄▀▀▄▀▀ ▄▄▄▄▀▀▀█▀\n█ █ ▄██████▀▀█ \n ▀████▄▄██▀█▀▄▀▄\n █▄▄▄████▀ ▄▀ █\n▄▀ ▄▄██ █▀▄ ▄▀█\n█ █▄█▄ █ █ ▄▀\n ▀ ▀▄▄▄▄▀ ▄████▄"], ["walk_1", "▄▀ ▄▀▀ ▄▄▄▄▀▀▀█▀\n█ █ ▄██▀▀██▀▀█ \n ▀████▄▄██▀█▀ █ \n ▄▀▄▄█████▀ ▄▀ █\n█ ▄ ▄▀ █ █▄ ▄▀█\n▀▄█▀ ▄▀▀ ▄▀ █▄▀█\n █▀▀ ▄▀ ▄█▄▀ \n ▀▀▀ ▄██▀██▄"], ["walk_2", " ▄ ▄▄ \n █ ▄▀ ▄▄▄▄▀▀▀█▀\n █ █▄██▀▀██▀▀█ \n ▀▄███▄▄██▀█▀ █ \n ▀▄▄█████▀ █ █\n ▄▀ ▄█▄▀ █▄▀ ▄▀\n █▄█▄ ▄▀ ▄▀█ \n ▀▄▄▄▀ ▄██▀██▄"]]], + ["ebonwumon", [["angry", " ▄█████▄█████▄ \n █████████████ \n ▄██▀█▀█▀█▀▀ \n▄▀▀ ▄▀▄ █ \n█ ▀▀ █▀▄▄█▀█ ▄█\n ▀████ ▀█▄█████▀\n █▄▄▄▀▀▄ ▄ ▀▄ \n █▄▄▀▀▀▄▄█▀▀█▄▄█"], ["attack", " ▄▄▄▄▄ ▄▄▄▄▄ \n █████████████ \n ▀▀██████████▀ \n ▄ █ ▀ ▀ █ \n▄▄▀▀▀▀▄▄ ▄█▄ ▄\n█ ▀ █▄█▀█▄█▄██\n ██▄▄█▄██▀▀▀▀█▀ \n█▄▄████▄▄█▄█▄▄█▄"], ["eat_1", " ▄█████▄█████▄ \n █████████████ \n ▀█▀█▀█▀█▀▀ \n ▄█▄█ █ \n█▀ ▄ █▀▄▄█▀█ ▄█\n▀▄▀ ▀ ▄██▄█████▀\n █▀▀▀▀▀▄ ▄ ▀▄ \n █▄▄▀▀▀▄▄█▀▀█▄▄█"], ["eat_2", " ▄█████▄█████▄ \n █████████████ \n ▄▀█▀█▀█▀█▀▀ \n▄▄▀▀▀▀▄ █ \n█ ▀ ▀▄▄█▀█ ▄█\n ▀███▀ ▀█▄█████▀\n █▄▄▄▀▀▄ ▄ ▀▄ \n █▄▄▀▀▀▄▄█▀▀█▄▄█"], ["happy", " ▄█████▄█████▄ \n █████████████ \n ▄██▀█▀█▀█▀▀ \n▄▀▀▄ ▀▄ █ \n█ ▀ ▀ █▀▄▄█▀█ ▄█\n ▀████ ▀█▄█████▀\n █▄▄▄▀▀▄ ▄ ▀▄ \n █▄▄▀▀▀▄▄█▀▀█▄▄█"], ["injured_1", " ▄▄▄▄▄ ▄▄▄▄▄ \n █████████████ \n ▀▀██████████▀ \n ▄ █ ▀ ▀ █ \n▄▄▀█▀▀▄▄ ▄█▄ ▄\n█ ▀▀ █▄█▀█▄█▄██\n ██▄▄█▄██▀▀▀▀█▀ \n█▄▄████▄▄█▄█▄▄█▄"], ["injured_2", " ▄▄▄▄▄ ▄▄▄▄▄ \n █████████████ \n ▀▀██████████▀ \n █ ▀ ▀ █ \n ▄█▄█▄▄ ▄█▄ \n█▀ █▄ █▄█▀█▄██▄▀\n▀▄▄ ▄▀██▀▀▀▀▄ \n█▄▄████▄▄█▄█▄▄█ "], ["refuse", " ▄█████▄█████▄ \n █████████████ \n ▀█▀█▀█▀█▀▀ \n ▄█▄█ █ \n█▀ ▄ █▀▄▄█▀█ ▄█\n▀▄ ▀▀ ▄██▄█████▀\n █▀▀▀▀▀▄ ▄ ▀▄ \n █▄▄▀▀▀▄▄█▀▀█▄▄█"], ["sleep_1", " ▄▄▄▄▄ ▄▄▄▄▄ \n █████████████ \n ▀▀██████████▀ \n ▄ █ ▀ ▀ █ \n▄▄▀▀▀▀▄▄ ▄█▄ ▄\n█ ▀▀ █▄█▀█▄█▄██\n ██▄▄█▄██▀▀▀▀█▀ \n█▄▄████▄▄█▄█▄▄█▄"], ["sleep_2", " ▄▄▄▄▄ ▄▄▄▄▄ \n █████████████ \n ▀▀██████████▀ \n █ ▀ ▀ █ \n ▄█▄█▄▄ ▄█▄ ▄\n█▀ ▄▄ █▄█▀█▄█▄██\n▀▄▄ ▄▀██▀▀▀▀█▀ \n█▄▄████▄▄█▄█▄▄█▄"], ["walk_1", " ▄█████▄█████▄ \n █████████████ \n ▀█▀█▀█▀█▀▀ \n ▄█▄█ █ \n█▀ ▄ █▀▄▄█▀█ ▄█\n▀▄▄ ▄▀██▄█████▀\n ▄▀▀▀▀▀▄ ▄ ▀▄ \n █▄▄▀▀▀▄▄█▀▀█▄▄█"], ["walk_2", " ▄▄▄▄▄ ▄▄▄▄▄ \n █████████████ \n ▀▀██████████▀ \n ▄ █ ▀ ▀ █ \n▄▄▀▀▀▀▄▄ ▄█▄ ▄\n█ ▀ █▄█▀█▄█▄██\n ██▄▄█▄██▀▀▀▀█▀ \n█▄▄████▄▄█▄█▄▄█▄"]]], + ["egg", [["walk_1", " \n \n ▄█▀▀▀▄ \n ▄██▀ ███▄ \n ▄▀ ▄ ▀███▄ \n █ ██▄ ▀▀█ \n ▀▄▄ ▀▀ ▄██▄▀ \n ▀█▄▄▄██▀ "], ["walk_2", " \n \n \n ▄▄▀▀▀▀▄▄ \n ▄██▀ ███▄ \n ▄▀ ▄▄ ▀▀▀▄ \n █▄ ▀███ ▄▄ █ \n ▀█▄▄▄▄▄▄███▀ "]]], + ["elecmon", [["angry", " \n \n \n▀█▀▄▄ ▄▄▀█▄█ \n █▄▄▀█▀▄▄██ █▄█\n ▄▀▄ ▄▀ ▀▀███ █\n █ ▄▄▄ ▀▀▄\n██▄▄▄▄█▄▄▄██▄▄▄█"], ["attack", " █▄ ▄█ \n █▄█▄▄▀ █ ▄█ \n ▄█▄ ▄█▀▀▄▀ █ \n █▄▄▄▄▄▄ ▀▄█ ▄█\n ▀▄███▄█ ██ █\n ███▀▀█ ▀▄▀\n █▀▀▀▀▀▀▀ ▄ ▄ █\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["eat_1", " █▄ ▄█ \n █ █ █ █ ▄█ \n █▀▀▀▀ ▀▄▀ █ \n █▀▀ ▀▀ ▀▄█ ▄█\n ▀█▀████▄ ██ █\n █ ████ ▀▄▀\n █▀▀▀▀▀▀▀ ▄ ▄ █\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["eat_2", " \n \n \n▀█▀▄▄ ▄▄▀█▄█ \n █▄▄▀█▀▄▄██ █▄█\n ▄▀▄ ▄ ▀▀███ █\n █▀ ▀ ▀ ▀ ▀▀▄\n██▄▄▄▄█▄▄▄██▄▄▄█"], ["happy", " █▄ ▄█ \n ▀▄▀▄ ▄▀▄▀ ▄█ \n █▀▀▀▀ ▀▄▀ █ \n █▀▄ ▄▀▄ ▀▄█ ▄█\n ▀▄▄▄▄▄▄▄ ██ █\n ▄█ ███▀ ▀▄▀\n █▄▀▀▀▀ ▄ ▄ █\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["injured_1", " \n \n ▄ \n ▄▀▀▀▄▄▀▀▀▄▄▀█ ▄\n▀▀█▀▀ ▀ ▀█▄█▄█▀█\n █ ▄ ▄ ▀▀█▄▀\n █▀▀ ▀▀ ▄ ▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["injured_2", " \n \n \n ▄▄ ▄▄ ▄▄█ \n ▄▀▄▄▀█▀▄ ▀█ █▄█\n▀▄▀ █▄███ █\n █▄█ █▄ ▀▀▄\n██▄▄▄▄▄▄▄▄██▄▄▄█"], ["sleep_1", " \n \n \n▀█▀▄▄ ▄▄▀█▄█ \n █▄▄▀█▀▄▄██ █▄█\n ▄▀ ▀▀███ █\n █▄▄ ▄▄ ▀▀▄\n██▄▄▄▄▄▄▄▄██▄▄▄█"], ["sleep_2", " \n \n █▀▄ ▄▀█ ▄ \n █ ▀▄▄▀ █ ▄▀█ ▄\n ▄▀▀ ▀ ▀███▄█▀█\n █▄▄ ▄▄ ▀▀█▄▀\n █ ▄ ▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["walk_1", " \n \n █▀▄ ▄▀█ ▄ \n █ ▀▄▄▀ █ ▄▀█ ▄\n ▄▀▀ ▀ ▀███▄█▀█\n █ █ █ ▀▀█▄▀\n █ ▄ ▄ ▀▄\n█▄██▀▀█▄▄█▀█▄▄▄▀"], ["walk_2", " \n \n \n▀█▀▄▄ ▄▄▀█▄█ \n █▄▄▀█▀▄▄██ █▄█\n ▄▀▄ ▄ ▀▀███ █\n █ ▀ ▀ ▀▀▄\n██▄▄▄▄█▄▄▄██▄▄▄█"]]], + ["emperorgreymon", [["angry", " ▄▄ ▄ \n █ █▄▀▀▀▄█ █ \n █▀ ▄█ ▄▄▀ ▄ \n ▀▄▄▄▄▄▄ █▀██ █\n ▄▀▀▄▄▄██▀█ ▀▀▀█\n █▀█▀ ▀▄█▀▀██▀ \n ▄█▄█▀▀▀██▄▄█▄ \n█▄▄█▀█▄█▀▀█▄▄▄█ "], ["attack", " █▀▄ ▄▄▄ ▄▀▄ \n █▄▀▀ ▄▄▀▀ █ ▄ \n █ ▄▄█▄▀ █▀██ █\n ▄▀███▀█▄█ ▀▀▀█\n ▄▄█▄▄▄█▀ ██▀▀█ \n█ ██▄▄▄██▀██ █\n ▀███▄ ▄███▄█▀▀ \n █▄▄█▀▄▀▀█▄▄▄█ "], ["eat_1", " █▀▄ ▄▄▄ ▄▀▄ \n █▄▀▀ ▄▄▀▀ █ \n █ ▄▄█▄▀ ██▄▄▀▄\n ▄▀███▀█▄█ ██▄█\n ▀▄█▄▄▄█▀▄█▄▄▄▄▀\n █ █▄▄▄██ █▀ \n ▄██▄ ▄████▄ \n █▄▄█▀▄▀▀█▄▄▄█ "], ["eat_2", " ▄▄ ▄ \n █ █▄▀▀▀▄█ █ \n █▀ ▄▀▄ ▄▄▀ ▄ \n ▀▄▄▄▄▄▄ █▀██ █\n ▄▀▀▄▄▄██▀█ ▀▀▀█\n █▀█▀ ▀▄█▀▀██▀ \n ▄█▄█▀▀▀██▄▄█▄ \n█▄▄█▀█▄█▀▀█▄▄▄█ "], ["happy", " █▀▄ ▄▄▄ ▄▀▄ \n █▄▀▀ ▄ ▀▀ █ \n █ ▀ ▀ ██▄▄▀▄\n ▄▀███▀█▄█ ██▄█\n ▀▄█▄▄▄█▀▄█▄▄▄▄▀\n █ █▄▄▄██ █▀ \n ▄██▄ ▄████▄ \n █▄▄█▀▄▀▀█▄▄▄█ "], ["injured_1", " \n ▄▄ ▄ \n █ █▄▀▀▀▄█ █ \n █▀ █▄ ▄▄▀ ▄ \n ▀▄▄▄▄▄▄ █▀██ █\n ▄▀█▄▄▄██▀█▄▀▀▀█\n ▄▀▀██▄█▄██▀▀█▀ \n █▄▄█▄▄▄█▄█▄▄█ "], ["injured_2", " \n \n █▀▄ ▄▄▄ ▄▀▄ \n █▄▀▀ ▄ ▀▀ █ \n █ ▀▀ ██▄▄▀▄\n ▄█▀▀▀██▄█ ██▄█\n █▀▀██▀█▀▄█▀▄▄▄▀\n █▄▄█▄▄▄█▄█▄▄█ "], ["sleep_1", " \n \n █▀▄ ▄▄▄ ▄▀▄ \n █▄▀▀ ▀▀ █ \n █ ▀▀ ██▄▄▀▄\n ▄█▀▀▀▀█▄█ ██▄█\n ▀▄███▀█▀▄▀▀▄▄▄▀\n █▄▄█▄▄▄██▄▄██ "], ["sleep_2", " \n ▄▄ ▄ \n █ █▄▀▀▀▄█ █ \n █▀ ▄▄ ▄▄▀ ▄ \n ▀▄▄▄▄▄▄ █▀██ █\n ▄▀█▄▄▄██▀█▄▀▀▀█\n █▄██▄█▄█ ██▀ \n █▄▄█▄▄▄█▄██▄█ "], ["walk_1", " \n \n \n \n \n \n \n "], ["walk_2", " ▄▄ ▄ \n █ █▄▀▀▀▄█ █ \n █▀ ▄▀█ ▄▄▀ ▄ \n ▀▄▀▀▀▀▄ █▀██ █\n ▄▀▀▄▄▄██▀█ ▀▀▀█\n █▀█▀ ▀▄█▀▀██▀ \n ▄█▄█▀▀▀██▄▄█▄ \n█▄▄█▀█▄█▀▀█▄▄▄█ "]]], + ["entmon", [["angry", " \n ▄▄▀▀▀█ \n▄▄ ▄▀▀ ▄ ▀█ ▄▄██\n█▄▀ ▄█ ▀█ ████▀\n█ ▄ ▄▄▀ ▄▀███▀ \n▄█▄█▄▄▄▀███▀▀▀▄ \n▀▄▄▄▄▄██▀▄▀▀█▄▄█\n█▄██▄█▄█▀▀▀█▄█▄█"], ["attack", " ▄▄▀▀▀█ \n ▄▄ ▄▀▀ ▄ ▀█ ▄█\n █▄▀ ▄█ ▀█ ███\n █ ▄ ▄▄▀ ▄▀███ \n ████▀ ▀█▀▀▀▄ \n▄▀▀▀▀▀▀▀█▄█▀█▄▄█\n ▀▀█▀▀█▀▀█▄█▄ █▄\n █▄██▄█▄█ █▄█▄█"], ["eat_1", " ▄▄▄▄ \n ▄▄▀▀ ▄▄▀ ▄▄\n█▀▄▀ ▄ ▀▄▄▀▄████\n▀█▄▄▄ ▀ █▄███▀ \n █▀▀ ▄█▄███▄ \n█▀▀▀▀▀█▄█▀█▄▄ ▀▄\n ▀█▀▀█▀▀▄█▄▄▀██▀\n █▄██▄█▄█ █▄█▄█ "], ["eat_2", " \n ▄▄▀▀▀█ \n▄▄ ▄▀▀ ▄ ▀█ ▄▄██\n█▄▀ ▄▀▄ ▀█ ████▀\n█ ▄ ▄▄ ▄▀███▀ \n▄█▄█▄▄▄▀███▀▀▀▄ \n▀▄▄▄▄▄██▀▄▀▀█▄▄█\n█▄██▄█▄█▀▀▀█▄█▄█"], ["happy", " ▄▄▄▄ \n ▄▄▀▀ ▄▄▀ ▄▄\n█▀▄▀ ▄ ▀▄▄▀▄████\n█▀ ▀ ▀ █▄███▀ \n▀▄█▄██ ▄█▄███▄ \n█▀▀▀▀▀█▄█▀█▄▄ ▀▄\n ▀█▀▀█▀▀▄█▄▄▀██▀\n █▄██▄█▄█ █▄█▄█ "], ["injured_1", " \n ▄▄▄▄ \n ▄▄▀▀ ▄▄▀ ▄▄\n█▀▄▀▄ ▀▄▄▀▄████\n█▀ ▀▀▄ █▄███▀ \n▀▄▀▄▀▀ ▄█▄███▄ \n█▀▀▀▀▀█▄█▀█▄▄ ▀▄\n████████▄█▄▄████"], ["injured_2", " \n \n ▄▄▀▀▀█ \n▄▄ ▄▀▀ ▄ ▀█ ▄▄██\n█▄▀ █▄ ▀█ ████▀\n█ ▄ ▄▄▀ ▄▀███▀ \n▄█▄█▄▄▄▀███▀▀▀▄ \n█▄▄▄▄▄███▄███▄▄█"], ["sleep_1", " \n ▄▄▄▄ \n ▄▄▀▀ ▄▄▀ ▄▄\n█▀▄▀ ▀▄▄▀▄████\n█▀ ▀▀▄ █▄███▀ \n▀▄▀▄▀▀ ▄█▄███▄ \n█▀▀▀▀▀█▄█▀█▄▄ ▀▄\n▄███████▄█▄▄████"], ["sleep_2", " \n ▄▄▀▀▀█ \n▄▄ ▄▀▀ ▄ ▀█ ▄▄██\n█▄▀ ▄▄ ▀█ ████▀\n█ ▄ ▄▄▀ ▄▀███▀ \n▄█▄█▄▄▄▀███▀▀▀▄ \n▀▄▄▄▄▄██▀ ▀▀█▄▄█\n█▄██▄█▄█▄█▄█▄█▄█"], ["walk_1", " ▄▄▄▄ \n ▄▄▀▀ ▄▄▀ ▄▄\n█▀▄▀ ▄▄▀▄▄▀▄████\n█▀ ▀▀▄ █▄███▀ \n▀▄▀▄▀▀ ▄█▄███▄ \n█▀▀▀▀▀█▄█▀█▄▄ ▀▄\n ▀█▀▀█▀▀▄█▄▄▀██▀\n █▄██▄█▄█ █▄█▄█ "], ["walk_2", " \n ▄▄▀▀▀█ \n▄▄ ▄▀▀ ▄ ▀█ ▄▄██\n█▄▀ ▄█▀ ▀█ ████▀\n█ ▄ ▄▄ ▄▀███▀ \n▄█▄█▄▄▄▀███▀▀▀▄ \n▀▄▄▄▄▄██▀▄▀▀█▄▄█\n█▄██▄█▄█▀▀▀█▄█▄█"]]], + ["eosmon_adult", [["angry", " ██▄▄▄▄ ▄██▄ \n █▀▄▄▄▀██▀ \n ▄██▄▄█▄▄███▄▀▀█\n █ ███ █▄▀▄ ▄▀\n ▄▀▄▄▄▄▄█▀▄▄▀▄ \n ▀▄▀ ▀ ▀▄▀▄ █\n █▄█▄▄█ ▀▀▀\n ▀▄▀▀▄▀ "], ["attack", " ▄▄ ▄▄ \n ▀██▀▀▀▄███▀ \n ▄█▄▄▄▄▄██▄ ▄▄▄\n ▀▀█▄▀▀ ▄███▀ █\n ▀▄▀▀▀ ▄█ ▀▄▀ \n ▄▀█▀█▀▀█▀▄▀ ▀▄\n ▀▄▀ ▄ ▀▄▀▀▄▄█\n ██▀███ "], ["eat_1", " ▄▄ ▄▄ \n ▀██▀▀▀▀▄██▀ \n ▄█▀███▀██▄ ▄▄▄\n ▀▀▄█▄█▄█▄██▀ █\n ▀▄ ▄█ ▀▄▀ \n ▄▀█▀█▀▀█▀▄▀ ▀▄\n ▀▄█▄▄▄▄█▄▀▀▄▄█\n ▀▄▀▀▄▀ "], ["eat_2", " ██▄▄▄▄ ▄██▄ \n █▀ ▀██▀ \n ▄██▀██▀▀███▄▀▀█\n ██▄▄▄█▀█▀▄ ▄▀\n █▄▀▀▀▄██ ▄▀▄ \n █ █▀▀▀ █ █▄ █\n ▀▄▄█▄▄▄▀ ▀▀▀\n ▀▄▀▀▄▀ "], ["happy", " ██▄▄▄▄ ▄██▄ \n █▀▄▄▄▀██▀ \n ▄█▄█▄█▄█▄██▄▀▀█\n █ ███ ▄█▀▄ ▄▀\n ▄█▄▄▄▀█▀▄▄▀▄ \n █ █ ▀ ▀▄▀▄ █\n ▀▄▄█▄▄█ ▀▀▀\n ▀▄▀▀▄▀ "], ["injured_1", " \n ██▄▄▄▄ ▄██▄ \n █▀ ▀██▀ \n ▄███▀█▀████ ▄▄▄\n █▄▄█▄▄▀█▀▀ █\n ▄█▄▄▄▄██ ▀▄▀ \n █▄▀▀█▀▀█▄█▀ ▀▄\n █▄▄█▄▄▄█ ▀▄▄█"], ["injured_2", " \n ▄▄ ▄▄ \n ▀██▀▀▀▄███▀ \n ▄█▄▄▄▄▄██▄ ▄▄▄\n▀▀█▀ █ ▀███▄▀ █\n ▀█▀▀▀▀▄█ ▄ ▄▀ \n ██▀▀█▀▀█▄▄▀ ▀▄\n █▄▄█▄▄▄█ ▀▄▄█"], ["refuse", " ▄▄ ▄▄ \n ▀██▀▀▀▄███▀ \n ▄█▀█▄█▀██▄ ▄▄▄\n ▀▀█▄▄█▄▄███▀ █\n ▀▄▀▀▀ ▄█ ▀▄▀ \n ▄▀█▀█▀▀█▀▄▀ ▀▄\n ▀▄▀ ▄ ▀▄▀▀▄▄█\n ██▀███ "], ["sleep_1", " ▄▄ ▄▄ \n ▀██▀▀▀▄███▀ \n ▄█▄▄▄▄▄██▄ ▄▄▄\n ▀▀█▄▄█▄▄███▀ █\n █▄▀▀▀ ▄█ ▀▄▀ \n █ ██▀▀██ █▀ ▀▄\n ▀█▄▀█▄█▀ ▀▄▄█\n "], ["sleep_2", " \n ██▄▄▄▄ ▄██▄ \n █▀ ▀██▀ \n ▄██▀▀█▀▀███▄▀▀█\n █▀███▀▀█▀▄ ▄▀\n ▄▀█▄▄▄▄█▀▄▄▀▄ \n ▀▄▄▀▄▄▀▄▄█▄ █\n ▀▀ ▀▀▀ ▀▀▀"], ["walk_1", " ██▄▄▄▄ ▄██▄ \n █▀ ▀██▀ \n ▄██▀██▀▀███▄▀▀█\n █▀▄▄▄▀▀█▀▄ ▄▀\n ▄█▄▄▄▄██ ▄▀▄ \n █ █ ▀ █ █▄ █\n ▀▄▄█▄▄▄▀ ▀▀▀\n ▀▄▀▀▄▀ "], ["walk_2", " ▄▄ ▄▄ \n ▀██▀▀▀▄███▀ \n ▄█▄▄▄▄▄██▄ ▄▄▄\n ▀▀█▄▀▀ ▄███▀ █\n ▀▄▀▀▀ ▄█ ▀▄▀ \n ▄▀█▀█▀▀█▀▄▀ ▀▄\n ▀▄▀ ▄ ▀▄▀▀▄▄█\n ██▀███ "]]], + ["eosmon_perfect", [["angry", " ▄█▀▄█▀ ▄▀█▀\n ▄▀▀▀▀▄▄▀▀ ▄▀\n ██▄▄█▀█▄▄▄▀▀▀▀\n ▄███▄▄██▄▀▀▀█▀\n ▄▀▄▀▀▀▄█▀█▀▄ ▄▀\n ▀▄▀▀█▀▀▀▄▀█▄▀▀▀\n █▄█▀█▀▄▄█ ▀█ \n ▀▄█▄▀ ▀█▀ "], ["attack", " ▄▄ ▄▄ ▄▄▄\n ██▄█▀ ▄▄▀ ▀▄\n ▄█ ▄▄█▀ ▄▄█▄\n ▀▄▀▀ ▄██▀█▄▄▄▄\n █▄▀▀▀ ▄██▄ ▀▄\n █ █▀█▀▀█ █▄▀▄█▄\n █ ▄█▄▄ ▀▄▀▀▄ \n ▀▀▀▄█▄▀▀▀ ▀█▀ "], ["eat_1", " ▄▄ ▄▄ ▄▄▄\n ██▄█▀ ▄▄▀ ▀▄\n ▄█ ▄▄██ ▄▄█▄\n ▀██▀▄▀██▀█▄▄▄▄\n █▄▀▀▀▀▄██▄ ▀▄\n █ █▀█▀▀█ █▄▀▄█▄\n █ ▄█▄▄ ▀▄▀▀▄ \n ▀▀▀▄█▄▀▀▀ ▀█▀ "], ["eat_2", " ▄█▀▄█▀ ▄▀█▀\n ▄▀▀▀▀▄▄▀▀ ▄▀\n █▀▄▄▀▀█▄▄▄▀▀▀▀\n ▄█▄▄▄███▄▀▀▀█▀\n ▄▀█▀▀ ▄█▀█▀▄ ▄▀\n ▀▄▀▀█▀▀▀▄▀█▄▀▀▀\n █▄█▀█▀▄▄█ ▀█ \n ▀▄█▄▀ ▀█▀ "], ["happy", " ▄█▀▄█▀ ▄▀█▀\n ▄▀▀▀▀▄▄▀▀ ▄▀\n ██▄▄▀██▄▄▄▀▀▀▀\n ▄██▄█▄██▄▀▀▀█▀\n ▄▀▄▀▀▀▄█▀█▀▄ ▄▀\n ▀▄▀▀█▀▀▀▄▀█▄▀▀▀\n █▄█▀█▀▄▄█ ▀█ \n ▀▄█▄▀ ▀█▀ "], ["injured_1", " \n ▄▄ ▄▄ ▄▄▄\n ██▄█▀ ▄▄▀ ▀▄\n ▄█ ▄▄▄█▀ ▄▄█▄\n ▀███ ▀█▀▀█▄▄▄▄\n █▄▀▀▀▀▄██▄ ▀▄\n █ █▀█▀▀█ █ ▀▄█▄\n █▄█▄█▄▄█ ▀▀█▀ "], ["injured_2", " \n ▄▄▄ \n ▄█▀▄█▀ ▄▀ ▀▄ \n ▄▀▀▀▀▄▄▀ ▄▄█▄ \n ██▄█▀██▄▄▀▄▄▄▄ \n ▄▀██▄▄▀▄▄█ ▀▄ \n █▀▄ ▄ ▀█ █▀▄█▄ \n █▄█▄█▄▄█ "], ["refuse", " ▄▄ ▄▄ ▄▄▄\n ██▄█▀ ▄▄▀ ▀▄\n ▄█ ▄▄██ ▄▄█▄\n ▀███▀ ██▀█▄▄▄▄\n █▄▀▀▀▀▄██▄ ▀▄\n █ █▀█▀▀█ █▄▀▄█▄\n █ ▄█▄▄ ▀▄▀▀▄ \n ▀▀▀▄█▄▀▀▀ ▀█▀ "], ["sleep_1", " ▄▄ ▄▄ ▄▄▄\n ██▄█▀ ▄▄▀ ▀▄\n ▄█ ▄▄██ ▄▄█▄\n ▀███▀▀██▀█▄▄▄▄\n █▄▀▀▀▀▄██▄ ▀▄\n █ █▀█▀▀█ █▄▀▄█▄\n █ ▄█▄▄ ▀▄▀▀▄ \n ▀▀▀▄█▄▀▀▀ ▀█▀ "], ["sleep_2", " ▄▄▄\n ▄█▀▄█▀▄▄▀ ▀▄\n ▄▀▀▀▀▄▄▀ ▄▄█▄\n ██▄▄████▀█▄▄▄▄\n ▄▀██▄▄▀██▄ ▀▄\n █▀█▄▄▄▄█▀█▄▀▄█▄\n █ ▄█▄▄ ▀▄▀▀▄ \n ▀▀▀▄█▄▀▀▀ ▀█▀ "], ["walk_1", " ▄█▀▄█▀ ▄▀█▀\n ▄▀▀▀▀▄▄▀▀ ▄▀\n █▀▄▄▀▀█▄▄▄▀▀▀▀\n ▄▀▄▄▄▀▀█▄▀▀▀█▀\n ▄▀█▄▄▄▄█▀█▀▄ ▄▀\n ▀▄▀ █ ▀▄▀█▄▀▀▀\n █▄█▀█▀▄▄█ ▀█ \n ▀▄█▄▀ ▀█▀ "], ["walk_2", " ▄▄ ▄▄ ▄▄▄\n ██▄█▀ ▄▄▀ ▀▄\n ▄█ ▄▄█▀ ▄▄█▄\n ▀▄▀▀ ▄██▀█▄▄▄▄\n █▄▀▀▀ ▄██▄ ▀▄\n █ █▀█▀▀█ █▄▀▄█▄\n █ ▄█▄▄ ▀▄▀▀▄ \n ▀▀▀▄█▄▀▀▀ ▀█▀ "]]], + ["eosmon_ultimate", [["angry", " ▄ ▄▀▀▄▀▀█ ▄▄▄▄\n █ █ ▄▀▄▀█▀ █\n ██ ▀▀ ██ ▄▄▀▄\n ▀████ ▄▀▀█ ▄▄▀\n ▄█▄▄▄▄█▀▀██▄ \n █ ▄█▄▀███ ███ \n ▀▀█▀█▀█▀▀███▀▄\n ▀▄▀▄▀ ▀▀"], ["attack", " ▄▄ ▄▄▄ \n ▄▀▄▀ █ ▄█▄▀▀▀█\n █▄▀▄▄▀ █▄▀ ▄▀\n ▀█▄▄ ██▄▄▀▀ █\n ▀▄▄▄▀▄▄▄█▄▀▀ \n ▄▀▄ ▄▄▀ █▄██▄ \n ▀▄██▄█▄▄█████ \n ▀▄█▄█▄ ▀▀▀▄█"], ["eat_1", " ▄▄ ▄▄▄ \n ▄▀▄▀ █ ▄█▄▀▀▀█\n █▄▀ ▄▀▄█▄▀ ▄▀\n ▀█▄▄ ██▄▄▀▀ █\n ▀▄▄▄▀▄▄▄█▄▀▀ \n ▄▀▄ ▄▄▀ █▄██▄ \n ▀▄██▄█▄▄█████ \n ▀▄█▄█▄ ▀▀▀▄█"], ["eat_2", " ▄ ▄▀▀▄▀▀█ ▄▄▄▄\n █ █ ▄▀▄▀█▀ █\n ██ ▀▀ ██ ▄▄▀▄\n ▀███ ▄▀▀▀█ ▄▄▀\n █▄▄▄▀█▀█▀█▄ \n █ █▄▀█ █████ \n ▀█▀█▀█▀▀███▀▄\n ▀▄▀▄▀ ▀▀"], ["happy", " ▄ ▄▀▀▄▀▀█ ▄▄▄▄\n █ █ ▄▀▄▀█▀ █\n ██ ▀ ▀ █ ▄▄▀▄\n ▀███ ▄▀▀█ ▄▄▀\n ▄█▄▄▄▀█▀▀██▄ \n █ ▄█▄ ▄██ ███ \n ▀▀█▀█▀█▀▀███▀▄\n ▀▄▀▄▀ ▀▀"], ["injured_1", " \n \n ▄ ▄▀▀▄▀▀█▄▀▀▀█\n █ █ ▄▀▄▀█ ▄▀\n ██ ▀▄ ██ ▄▀▀ █\n ▀█▀ ▄▀▀▀█▄█▀ \n ▄▀█▀█▄▀▀█▄███▄\n ▀▄██▄█▄▄█▀██▄█"], ["injured_2", " \n \n ▄▄ ▄▄▄ ▄▄▄▄ \n▄▀▄▀ █ ▄█▀ █ \n█▄▀ ▄▀ █▄▀ ▄▄▀▄ \n▀█▄▄ ▀ ██ █ ▄▄▀ \n █▄▄▄█▄▀▀█████▄\n ▀▄██▄█▄▄█▀██▄█"], ["refuse", " ▄▄ ▄▄▄ \n ▄▀▄▀ █ ▄█▄▀▀▀█\n █▄▀ ▄█ █▄▀ ▄▀\n ▀█▄▄ ██▄▄▀▀ █\n ▀▄▄▄▀▄▄▄█▄▀▀ \n ▄▀▄ ▄▄▀ █▄██▄ \n ▀▄██▄█▄▄█████ \n ▀▄█▄█▄ ▀▀▀▄█"], ["sleep_1", " \n ▄▄ ▄▄▄ \n ▄▀▄▀ █ ▄█▄▀▀▀█\n █▄▀▄▄▀ █▄▀ ▄▀\n ▀█▄▄ ██▄▄▀▀ █\n ▀▄▄▄▀▄▄▄█▄█▀ \n ▄▀▄ ▄▄▀ █▄███▄\n ▀▄██▄█▄▄█▀██▄█"], ["sleep_2", " \n \n ▄ ▄▀▀▄▀▀█▄▀▀▀█\n █ █ ▄▀▄▀█ ▄▀\n ██ ▀▀ ██ ▄▀▀ █\n ▀█▀ ▄▀▀▀█▄█▀ \n ▄▀█▀█▄▀▀█▄███▄\n ▀▄██▄█▄▄█▀██▄█"], ["walk_1", " ▄ ▄▀▀▄▀▀█ ▄▄▄▄\n █ █ ▄▀▄▀█▀ █\n ██ ▀▀ ██ ▄▄▀▄\n ▀█▀ ▄▀▀▀█ ▄▄▀\n ▄▀▀▀ █▀█▀█▄ \n █ █▄▀█ █████ \n ▀█▀█▀█▀▀███▀▄\n ▀▄▀▄▀ ▀▀"], ["walk_2", " ▄▄ ▄▄▄ \n ▄▀▄▀ █ ▄█▄▀▀▀█\n █▄▀▄▄▀ █▄▀ ▄▀\n ▀█▄▄ ██▄▄▀▀ █\n ▀▄▄▄▀▄▄▄█▄▀▀ \n ▄▀▄ ▄▄▀ █▄██▄ \n ▀▄██▄█▄▄█████ \n ▀▄█▄█▄ ▀▀▀▄█"]]], + ["etemon", [["angry", " ▄▀▀▀▀▀▀▄ \n▄▀▀█▄▀▀▀▀▀▄ █▀▀▄\n█ ▄█▄█▄█▄▄██▄▄ █\n▀▄ █▄█▀█▄███ ▄▀\n █▀▄ ▄█▀█ \n █ ▄█▀▀▀▀▀▀▄▄ █ \n ▀▄▄▀ ▄ ▀▄▄█ \n █▄▄▄▄▀▀▄▄▄▄█ "], ["attack", " ▄▀▀▀▀▀▀▄ \n ▄▄█▄▀▀▀▀▀▄▄█▄▄ \n█ ▄█▄█▀█▄███▄▄ █\n█ █▄▄█▄▄▄ █ █\n █▀███▀▀▀█ ▀▀▀▀▄\n ▀▄▀ ▀▀▀ ▄▄█▀ █\n █ ▄ █▄ ▀▀ \n █▄▄▄▄█▀▄▄▄▄█ "], ["eat_1", " ▄▀▀▀▀▀▀▄ \n▄▀▀█▄▀▀▀▀▀▄ █▀▀▄\n█ ▀█▄█▀█▄███▄▀ █\n▀▄ █▄▄█▄▄▄ █ ▄▀\n ▀█▀█▀▀▀ ▄▀██▄ \n █ ▀▀▀▀▀▀▄ ▄▀ \n ▀▀▄ ▄▄ ▀▀█ \n █▄▄▄█ ▀▀▀▀ "], ["eat_2", " ▄▀▀▀▀▀▀▄ \n▄▀▀█▄▀▀▀▀▀▄ █▀▀▄\n█ ▀█▀███▀███▄▀ █\n▀▄ █▀▀▄▀▀▀▀█ ▄▀\n ▀▀▄▀ ▀▀ ▄▀█▀▄ \n █ ▀▀▀▀▀ ▀█ █\n █ █▄ ▄█ ▄ █\n █▄▄█▄█▄▄█▄▄█ "], ["happy", " ▄▄▄▄▄▄ \n ▄▄▄▀▄▄▄▄▄ ▀▄▄▄ \n█ ▄██▄▄▄▄▄█▄▀▄ █\n█ █▄█▀█▄███▀ █\n▀▄▄█▄▄█▄▄▄ ▀▄▄▄▀\n ▄▀███████ █▀▄▄\n█▄▄▀▄▄▄▄▄▄▄█▀▄▄▀\n █▄▄▄▄▀ ▀▄▄▄▄█ "], ["injured_1", " ▄▄▄▄▄▄ \n ▄▄▄█ ▀▄▄▄ \n█ ▄█▄▀▀▀▀▀▄▄▀▄ █\n█ █▄▄▄▄▄▄▄█▀ █\n ▀▄███▀█████▄▄▀▄\n ▄▀ ▀▄▄▄▄▀ ▀▄█\n ▀▄▄▀▄ ▀▄ ▀▄\n █▄▄▄█▀▀▀▄▄█▄▄▀"], ["injured_2", " \n ▄▀▀▀▀▀▀▄ \n▄▀▀█▀▄▄▄▄▄ █▀▀▄\n█ ▀█▀ ▀█▄▀ █\n▀▄ █████████ ▄▀\n █▀ █ ▀▀▀█▀▀▀▄█\n ▀▄▄█▀█▀▀ ▄ ▀▄\n █▄▄▄▄█▀█▄▄█▄▄▀"], ["sleep_1", " \n ▄▀▀▀▀▀▀▄ \n▄▀▀█ ▄▄▄▄▄ █▀▀▄\n█ ▀██▄▄▄▄▄██▄▀ █\n▀▄ ███▀█████ ▄▀\n ▀█▄ ▄▀██▀▄\n █ ██▀██ ▄ ▀▄█\n █▄▄█▄█▄▄█▄▄█ "], ["sleep_2", " ▄▄▄▄▄▄ \n ▄▄▄▀ ▀▄▄▄ \n█ ▄█▄▀▀▀▀▀▄▄▀▄ █\n█ █████████▀ █\n ▀▄█▀▀ ▀▀▀▀█▄▄▀ \n ▄▀▄▄▄▄▄▀ █▄▀▄\n █ █▄ ▄█ ▄ ▀▄█\n █▄▄█▄█▄▄█▄▄█ "], ["walk_1", " ▄▀▀▀▀▀▀▄ \n▄▀▀█▄▀▀▀▀▀▄ █▀▀▄\n█ ▀█▀███▀███▄▀ █\n▀▄ █▀▀▄▀▀▀▀█ ▄▀\n ▀█▄▄▄▄▄▄▄▀█▀ \n ▄▀ █ ▀▄ ▀▄ \n ▀▀▀█ ▄ █▀▀▀ \n █▄▄▄█▀▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▄▄▀▄▄▄▄▄ ▀▄▄▄ \n█ ▄██▄▄▄▄▄█▄▀▄ █\n█ █▄█▀█▄███▀ █\n ▀▄█ ▀ █▄▄▀ \n▄▀▀▄█▀▀▀▀▄▀▀▄ █ \n▀▄▄▄█ ▄ ▀▄▄▄▄▀ \n █▄▄▄▄▀▀▄▄▄▄█ "]]], + ["examon", [["angry", "▄▀▀█▄▄▄▄▄▄███▄ \n█▀▀ ▄█ █▄▄████ \n█▄██▄▄ ▀▄██████\n█ █████ ▄█ ████\n ▀█▀▀▀ ▄▀▀ ████\n ▀█▀▀ ▀█▀███\n ▄▀▀▀▄▄▄ ▀▄ ▀█\n █▄█▄█ █▄█▄█▄█ ▀"], ["attack", " ▄▄▄ \n█▀▄ ▄▄▄▀▀▄ ███▄ \n█ █▀ ▄▄▀█ ▄████▄\n█▀ ▀▀▄ ███████\n▀▄▀▀▀▀ ▄▀▀▀█████\n ▄▀██▀▀ ▄▀ ████\n ▄▀▀▄ █▄▄█▀▄▀█\n█▄█▄█▀▀▀█▄█▄█▄██"], ["eat_1", " ▄▄▄ \n█▀▄ ▄▄▄▀▀▄ ███▄ \n█ █▀ ▄▄▀█ ▄████▄\n█▀ ▀▀▄ ███████\n▀▄▀▀▀▀ ▄▀▀▀█████\n ▄▀██▀▀ ▄▀ ████\n ▄▀▀▄ █▄▄█▀▄▀█\n█▄█▄█▀▀▀█▄█▄█▄██"], ["eat_2", "█▀▄ ▄▄▄▄▄▄▀██▄ \n█ █▀▄▄▄▀▄▄▀████ \n█▀▄▄▄▄ ▀▄██████\n ▀▀███▀ ▄███████\n █▄▄▄▄▀ ▄ ▀████\n ▄▀█▀ ▄▀ █▀██\n █▀▀▀▄▄█▄▄▀▄ ▀█\n █▄█▄█ █▄█▄█▄█ ▀"], ["happy", "█▀▄▄▄▄▄▄▄▄▀██▄ \n█▄▀ ▄▀▄▀▄▄▀████ \n█ ▄▄▄▄▄ ▀▄██████\n▄▀████▀ ▄█ ████\n▀▄▀▄▄▄▄▀▀ ▄████\n ▀▀█▀ █▀▀███\n ▄▀▀▀▄▄▄ ▀▄ ▀█\n █▄█▄█ █▄█▄█▄█ ▀"], ["injured_1", " ▄▄▄ \n█▀▄ ▄▄▄▄▄ ███▄ \n█ █▀▄ ▀▄▀▄████▄\n█▀ ▀▀▀ ███████\n▀▄▀▀▀▀ ▄█▀ █████\n ▄▀█▀▀▀ ▄▄▄████\n█ ▀█ █ █ ▀ ▀ ██\n█▄▄▄█▄█▄▄█▄▄▄▀ █"], ["injured_2", " \n▄▄ ▀██▄ \n█ █▄▀▀▀█▀▄ ████ \n█▄▀ █▄▄ ▀▄▀▄████\n█ ▄▄▄▄ ▄█▀█████\n █▀▀▀▀ ▄█▄▄▄████\n█ ▀█▀▀█ █ ▀ ▀ ██\n█▄▄▄█▄█▄▄█▄▄▄▀▀█"], ["refuse", " ▄▄▄ \n█▀▄ ▄▄▄▀▀▄ ███▄ \n█ █▀ ▄▀█ ▄████▄\n█▀ ▀▀ ███████\n▀▄▀▀▀▀ ▄▀▀▀█████\n ▄▀██▀▀ ▄▀ ████\n █▀▄ █▄▄█▄ ██\n █▄█▄█▀█▄█▄█▄█ █"], ["sleep_1", " ▄ ▄ \n▄▄ █▄█▄▀▄▀▀██▄ \n█ █▀ ▀█ ████ \n█▄▀ ▄▄▀ ███████\n█ ▄▀ ▀█████\n▀▄▄▄▄▀▀ ▄▄▄████\n█ ▀█ █ █ ▀ ▀ ██\n█▄▄▄█▄█▄▄█▄▄▄▀▀█"], ["sleep_2", " ▄ ▄ \n▄▄ █▄█▄▀▄▀▀██▄ \n█ █▀ ▀█ ████ \n█▄▀ ▄▄▀ ███████\n█ ▄▀ ▀█████\n▀▄▄▄▄▀▀ ▄▄▄████\n█ ▀█ █ █ ▀ ▀ ██\n█▄▄▄█▄█▄▄█▄▄▄▀▀█"], ["walk_1", "▄▄ ▄▄ ▀██▄ \n█ █▄▀▀▀▄▄▀ ████ \n█▄▀ ▄█▀ ▀▄██████\n█ ▄▄▄▄▀ ▄███████\n ▀▄▄▄▄▄▀ ▄ ▀████\n ▄▀█▀ █ ▄█▀██\n ▄▀▀▀▄▄▄▀▀▀▄ ▀█\n █▄█▄█ █▄█▄█▄█ ▀"], ["walk_2", " ▄▄▄ \n█▀▄ ▄▄▄▀▀▄ ███▄ \n█ █▀ ▄▄▀█ ▄████▄\n█▀ ▀▀▄ ███████\n▀▄▀▀▀▀ ▄▀▀▀█████\n ▄▀██▀▀ ▄▀ ████\n ▄▀▀▄ █▄▄█▀▄▀█\n█▄█▄█▀▀▀█▄█▄█▄██"]]], + ["examon_x", [["angry", "▄▄ ▄▄▄ ▄▄ \n█ █▄▀▀▀▀▄▄▀ ██ \n█▄▀ ▄▄▀ ▀▄ ▄███\n█ ▄▄▄▄ ▄█▀█▀███\n ▀▄▄▄▄▄▀▀▄ ▄███\n ▄▀█▄ ▄█▀▀█████\n ▄█▄▀▄▀ ▀▄▄▄█▀██\n█▄█▄▄▀▀▀▀▄▄█▄█ █"], ["attack", " █▀▄ ▄▄▄▀▀█ \n █ █▀▀▄▄ ▀█ █▄\n █▀ ▀▀ ▄█▄██\n ▀▄███▀ ▄▀ ▀ ██\n ▀▄▄▄▀▀█▄▄███\n▄▀▀▀▀█ ▄▀▀▀▀███\n ▀▀█▀▀▀██▀▀▀█ ▀█\n █▄█▄▀ ▀▄█▄█ ▀"], ["eat_1", "█▀▄ ▄▄▄▄▄▄▄▄▀█▄ \n█ █▀ ▄▄ ▀▄▄▀ ██▄\n█▀▄▄▄▄ █▄████\n▀▀▀████ ▄▀ ▀ ███\n▄▀▀▄▄▄▄▀▄█▄▄████\n▀▄▄▄█▀▄▀ █▀ ████\n ▄▀ ▀▄▄▀▀▄▄▀ ▀█\n █▄█▄▀ ▀▄█▄█ ▀"], ["eat_2", "▄▄ ▄▄▄ ▄▄ \n█ █▄▀▀▀▀▄▄▀ ██ \n█▄▀ ▄▀▄ ▀▄ ▄███\n█ ▄▄▄▄ ▄█▀█▀███\n ▀▄▄▄▄▄▀▀▄ ▄███\n ▄▀█▄ ▄▀▀█▀ ███\n █▄▄▀▄▀ ▄▀▀▄▄▀██\n█▄█▄▄▀▀▀▀▄▄█▄█ █"], ["happy", "█▀▄ ▄▄▄▄▀▀█ ▀█▄ \n█ █▀ ▄ ▀█ ▄██▄\n█▀ ▀ ▀ █▄████\n▀▄█████ ▄██ ███\n ▄▄▀▀▀▄▀▄█ ▄████\n█ ▀█▀▄▀ █▀ ▀███\n ▀█▀ ▀▄▄▀ ▀█ ▀█\n █▄█▄▀ ▀▄█▄█ ▀"], ["injured_1", "▄▄ ▄▄▄ \n█ █▄▀▀▀▀▄▄▀▄▄ \n█▄▀ ▀▄▄ ▀▄ ██ \n█ ▄▄▄▄ ▄█▄████ \n ▀▄▄▄▄▄▀█▀ ▀ ███\n ▄▄▀▄ ▄▀█▀▄▄████\n█ ▀▄ ▀▄▀ ▄▀ ▀██\n█▄▄█▄▄█▄▄█▄▄▄▄▀█"], ["injured_2", " \n█▀▄ ▄▄▄▄▀▀█ \n█ █▀▄ ▀█ ▀█▄ \n█▀ ▀▀ ▄█▄███ \n▀▄▀▀▀▀ ▄█▀ ▀ ███\n ▄█▀█▀█▀█▀▄▄████\n█ ▀▄ ▀▄▀ ▄▀ ▀██\n█▄▄█▄▄█▄▄█▄▄▄▄▀█"], ["sleep_1", " \n█▀▄ ▄▄▄▄▀▀█ \n█ █▀ ▀█ ▀█▄ \n█▀ ▀▀▀ ▄▀█▀██ \n▀▄▀▀▀▀ █▄ ▄███ \n ████▀▄▄██████ \n █ ▀▄▀ █ ▀███ \n █▄▄▄████▄▄▄████"], ["sleep_2", "▄▄ ▄▄▄ \n█ █▄▀▀▀▀▄▄▀▄▄ \n█▄▀ ▄▄▄ ▀▄ ██ \n█ ▄▄▄▄ ▄▀█▀██ \n ▀▄▄▄▄▄▀▄ ▄██▄ \n ▄██▄ ▄▄██████ \n █ ▀▄▀ █ ▀███ \n █▄▄▄████▄▄▄████"], ["walk_1", "█▀▄ ▄▄▄▄▀▀█ ▀█▄ \n█ █▀ ▄▄ ▀█ ██▄\n█▀ ▀▀ ▄█▄████\n▀▄▀▀▀▀ ▄█▀ ▀ ███\n ▀██▀▀ ▄█▄▄▀███\n █ █▀▄▀ █ ▄███\n ▄▀ ▀▄▄▀ ▀█ ▀█\n █▄█▄▀ ▀▄█▄█ ▀"], ["walk_2", "▄▄ ▄▄▄ ▄▄ \n█ █▄▀▀▀▀▄▄▀ ██ \n█▄▀ ▄█▀ ▀▄ ▄███\n█ ▄▄▄▄ ▄█▀█▀███\n ▀▄▄▄▄▄▀▀▄ ▄███\n ▄▀█▄ ▄▀█▀▀ ███\n ▄█▄▀▄▀ ▄▀▄▄█▀██\n█▄█▄▄▀▀▀▀▄▄█▄█ █"]]], + ["extyrannomon", [["angry", " ▄▀▀▀▀▀▄▀▀█ \n▄▀▀ ▄█ █ ▀▄ \n█▄▀█▀█▀▄ ▀▄█ \n▄▀███▀▀▀█ █ ▀▄\n█ █▀▀▀▀▀▀ ▀▀ █\n ▀▀▀█▀▀▀ ▄▄█▄\n ▄▄▀▀▄ ▄ ▀▄▀\n█▄█▄▄▄█▀▀█▄█▄█▄█"], ["attack", " ▄▄▄▄ ▄▄▄ \n ▄▄▀ ▄▀▀▄ █ \n█ ▀▀ ▀▄▀█ \n▀█▀█▀█▀▄ ▀▄▀▄ \n █▀▀▀▀▀▀ ▄ ▄▀▄▀ \n█▄▀█▀▀▀ █ █▄▄▀█\n ▄█▀▄▄ █▀▀▀▄ █\n█▄█▄▄▄█▀█▄█▄█▄█ "], ["eat_1", " ▄▄▄▄ ▄▄▄ \n ▄▄▀ ▄▀▀▄ █ \n█ ▀▀ ▀▄▀█ \n▀█▀█▀█▀▄ ▀▄▀▄ \n █▀▀▀▀▀▀ ▄ ▄▀▄▀ \n█▄▀█▀▀▀ █ █▄▄▀█\n ▄█▀▄▄ █▀▀▀▄ █\n█▄█▄▄▄█▀█▄█▄█▄█ "], ["eat_2", " ▄▀▀▀▀▄▄▀▀█ \n▄▀▀ ▄▀▄ █ █▄ \n█▄▄▄▄▄▄▄▄ █ █ \n▄███▀▀▀█▀ ▄█ █ \n█ █▀▀▀▀ ▄ ▀▀▄\n ▀▀▀█▀▀▀ ▀█▄▄▀\n ▄▄▀▀▄ ▄ ▀▄▀\n█▄█▄▄▄█▀▀█▄█▄█▄█"], ["happy", " ▄▀▀▀▀▄▄▀▀█ \n▄▀▀ ▄▀▄ █ █▄ \n█▄▄▄▄▄▄▄▄ █ █ \n▄███▀▀▀█▀ ▄█ █ \n█ █▀▀▀▀ ▄ ▀▀▄\n ▀▀▀█▀▀▀ ▀█▄▄▀\n ▄▄▀▀▄ ▄ ▀▄▀\n█▄█▄▄▄█▀▀█▄█▄█▄█"], ["injured_1", " ▄▀█ \n ▄█▄▄█▀▀█ \n ▄▀ ▀▄█▄▄ \n █ ▀▄ █ \n █▀▀ ▀▀ █▀ \n▄▀▀▄ ▄ ▀█▀▄\n█ █ █▀▀▀█ ▄▀ ▀█\n█▄█▄▀▄▄▄█▄██▄▄▄█"], ["injured_2", " ▄▀█ \n ▄█▄▄█▀▀█ \n ▄▀ ▀▄█▄▄ \n █ ▀▄ █ \n █▀▀ ▀▀ █▀ \n▄▀▀▄ ▄ ▀█▀▄\n█ █ █▀▀▀█ ▄▀ ▀█\n█▄█▄▀▄▄▄█▄██▄▄▄█"], ["refuse", " ▄▄▄▄ ▄▄▄ \n ▄▄▀ ▄▀▀▄ █ \n█ ▀▀ ▀▄▀█ \n▀█▀█▀█▀▄ ▀▄▀▄ \n █▀▀▀▀▀▀ ▄ ▄▀▄▀ \n█▄▀█▀▀▀ █ █▄▄▀█\n ▄█▀▄▄ █▀▀▀▄ █\n█▄█▄▄▄█▀█▄█▄█▄█ "], ["sleep_1", " ▄▀█ \n ▄█▄▄█▀▀█ \n ▄▀ ▀▄█▄▄ \n █ ▀▄ █ \n █▀▀ ▀▀ █▀ \n▄▀▀▄ ▄ ▀█▀▄\n█ █ █▀▀▀█ ▄▀ ▀█\n█▄█▄▀▄▄▄█▄██▄▄▄█"], ["sleep_2", " ▄▀█ \n ▄█▄▄█▀▀█ \n ▄▀ ▀▄█▄▄ \n █ ▀▄ █ \n █▀▀ ▀▀ █▀ \n▄▀▀▄ ▄ ▀█▀▄\n█ █ █▀▀▀█ ▄▀ ▀█\n█▄█▄▀▄▄▄█▄██▄▄▄█"], ["walk_1", " ▄▀▀▀▀▄▄▀▀█ \n▄▀▀ ▄█ █ █ \n█▄▄▄▄ █ █ \n ▀▄▄▄▄ ▄▄ █▀▄ \n █ ▄█ █ ▄▄ █▄▀ \n ▀▀ █ ▀▀ ▀▄▀█\n ▄▄▀▀▀▄▄▄▄ ▀▀▄ █\n█▄█▄▄▄█ █▄█▄█▄█ "], ["walk_2", " ▄▄▄▄ ▄▄▄ \n ▄▄▀ ▄▀▀▄ █ \n█ ▀▀ ▀▄▀█ \n▀█▀█▀█▀▄ ▀▄▀▄ \n █▀▀▀▀▀▀ ▄ ▄▀▄▀ \n█▄▀█▀▀▀ █ █▄▄▀█\n ▄█▀▄▄ █▀▀▀▄ █\n█▄█▄▄▄█▀█▄█▄█▄█ "]]], + ["exveemon", [["angry", " ▄▄ ▄▄▄ \n █ █ ▄▄▄█▄▄▀▀█▀ \n █ █ ▄ ▄▀ \n █▀ ▀▀ █▄▀▄\n ▀▄▀▀▄▀ ▀▀▄ █\n ▄▀▀█▄ ▄ ▄▀ █▀\n ▀▄▄█▄▀▄ █▄▄▄█ \n █▄█▄▄████▄█▄█▄█"], ["attack", "█▀▄ ▄███▀▀█▀ \n▀▄ █▀▀▀▀ ▄ ▄▀ ▄ \n ▀█▄███▄▀▀ █▄█ █\n ██████▄ █ ██\n ▄▄██▄▄▄█ ▀▄▄▄▀█\n█ ▀█▀▄▀ █ \n▀▄▄▀▀▀ ▀ ▄▄█▄▄ \n █▄█▄█▀▀▀█▄█▄█▄█"], ["eat_1", "█▀▀▄ ▄▄▄▄██▀▀█▀ \n ▀▄▄▀ ▄ ▄▀ \n █▄▄▄▄▀ ▀ █▄▀▄\n ███████ ▄█ █\n ▄██▀▀▀ ▀▄ ▀▄█\n █ █▀▄▀ █ █ \n ▀██▀ ▀ ▄████▀ \n █▄█▄▀▀█▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄▄ \n █ █ ▄▄▄█▄▄▀▀█▀ \n █ █ ▄ ▄▀ \n █▀ ▀ ▀ █▄▀▄\n ▀▄▀▀▄▀ ▀▀▄ █\n ▄▀▀█▄ ▄ ▄▀ █▀\n ▀▄▄█▄▀▄ █▄▄▄█ \n █▄█▄▄████▄█▄█▄█"], ["happy", " █▀▄ ▄▀▀█▄▄▄ \n █ ▀▄▀▀▀▀▀▀ ▄▀ \n ▀▄▄▀ ▄▀▄ ▄▀▀▄ \n █ ▄▄▄▄▄ ▀▄ █ \n ▄▀██████ ▀ ▄█ \n █ ██▀█ █▀ \n ███▄▀▄▄▄▄█▄ \n █▄█▄▄██▄█▄█▄█ "], ["injured_1", " █▀▄ ▄▀▀█▄▄▄ \n █ ▀▄▀▀▀▀▀▀ ▄▀ \n ▀▄▄▀ █▄▄ ▀▄ ▄ \n █ ▄▄ ▄ ▄▀▀ █\n ▀▄ ▀ ▀ █ ▄█\n ▄█▀▄▀ ▄ █ ▀\n █▄█▀ ▀ ▄▀ █ \n █▄█▄▀▀██▄▄█▄█ "], ["injured_2", "▄▄ ▄▄▄ \n█ █ ▄▄▄█▄▄▀▀█▀ \n█ █ ▄ ▄▀ \n █▀ ▀▀▀ █▄▀▄ \n ▀▄▀▀▄▀ ▀▀▄ █ \n▄▀▀█▄ ▄ ▄ █▀ \n▀▄▄█▄▀▄ ▄▀ █ \n█▄█▄▄█████▄▄█▄█ "], ["sleep_1", " \n▄▄ ▄▄▄ \n█ █ ▄▄▄█▄▄▀▀█▀ \n█ █ ▄▀ \n █▀ ▀▀▀ █▄▀▄ \n ▀▄█▀▄▀ ▀▀▄ █ \n▄▀▀▄▄▄ ▄▀ ██ \n▀▄█▄█▄█▄▄█▄▄▄█▄█"], ["sleep_2", " \n █▀▄ ▄▀▀█▄▄▄ \n █ ▀▄▀▀▀▀▀▀ ▄▀ \n ▀▄▄▀ ▄▄▄ ▀▄ ▄ \n █ ▄▄ ▄ ▀█ █\n ▄▀▀█ ▀ ▄▀ █ \n ▀▄▄██▄█ █▄▄▄█ \n █▄█▄▄████▄█▄█▄█"], ["walk_1", " █▀▄ ▄▀▀█▄▄▄ \n █ ▀▄▀▀▀▀▀▀ ▄▀ \n ▀▄▄▀ ▄██▀ ▀▄ ▄ \n █ ▄▄ ▄ ▄▀▀ █\n ▀▄ ▀ ▀ █ ▄█\n ▄▀█▀▄▀ ▄▀▀ █ ▀\n ▀▄█▀ ▀ █▄▄▄█ \n █▄█▄▀▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄ \n █ █ ▄▄▄█▄▄▀▀█▀ \n █ █ ▄▄▄ ▄▀ \n █▀ ▀▀▀ █▄▀▄\n ▀▄▀▀▄▀ ▀▀▄ █\n ▄▀▀█▄ ▄ ▄▀ █▀\n ▀▄▄█▄▀▄ █▄▄▄█ \n █▄█▄▄████▄█▄█▄█"]]], + ["falcomon", [["angry", " █▀██▄▄▄▄▄▀▀█ \n █▄ ▄█ ▀█ \n▄█ ▄█▀▀▀ █▄▄ \n▀▄█▀▀ ▄▀█ █ \n ▀▄▀▄▄▄▄▀▄▀ ▄▀█ \n █▀█▀ ▀█▄▀ \n █▄▄▄▄▀█ \n █▄▄▀ ▀▄▄█ "], ["attack", " ▄▄▄▄ ▄▄▄ \n ▀▄▄▀▀▀▀▀▀ ▄▀ \n █▄ ▄▄██▀▄ \n █▀▀█ ▀▄█ █ \n █▀▄█▀ ▄▀▀█ \n ▄▄▀▄▀███▀█▀▄▀▄▄\n ▀▄▄█▄ ▀ ▄█▄▄▄▀\n █▄▄█▄█▀▀█▄█▄▄█ "], ["eat_1", " █▀██▄▄▄▄▄▀▀█ \n █ ▄▀ ▀█ \n ▄▀▀▄▀█▀▄ █ \n █▄██▄▄▄▄▄▀▀█ \n█ ▄█▄ ▀ ▄█▀▀█ \n ▀▀▄▀█▀▀ █▄▀ \n █▄▄▄▄▀█ \n █▄▄▀ ▀▄▄█ "], ["eat_2", " █▀▀█▄▄▄▄▄▀▀█ \n █▀ ▄▄▄▀ \n █▀▀▄▀█▀█ █ \n ▄█▄██▄ ▀▀▄▀▀█ \n█▀▀▄▀█▄█▄▄█▄▀▀▀█\n ▀▄▄█ ▀█▀ ▄▄▀ \n ▄▄█▄▄▄▄██▄ \n █▄█▄▄██▄█▄▄█ "], ["happy", " █▀██▄▄▄▄▄▀▀█ \n █▄ ▄▄▄▀ ▀█ \n▄█ ▄█ ▀ ▀ █▄▄ \n▀▄█▀▀ ▄▀█ █ \n ▀▄▀▄▄▄▄▀▄▀ ▄▀█ \n █▀█▀ ▀█▄▀ \n █▄▄▄▄▀█ \n █▄▄▀ ▀▄▄█ "], ["injured_1", " ▄▄▄▄ ▄▄▄▄ \n ▀▄▄▀▀▀▀▀▀▄▄▀ \n █ ▄█▀█ \n ██▄▄▄██ █ \n █▀█ ▄▀ ▄▀▀█ \n ▄▀▄███▀█▄█▀▄ \n ▀█ ▀ ▀▄▄▀ \n ▀▄▄▄▄▄▄▀ "], ["injured_2", " \n █▀▀█▄▄▄▄▄▀▀█ \n █▀ ▄██ \n █▄ ▄█▀ █ \n ▄██▀▀█▀▀ ▄█▄ \n ▀▄▀▄█▄▄▄█▄▄▀▄ \n ▀█ ▀▀▀ ▀▄▄▀ \n ▀▄▄▄▄▄▄▀ "], ["refuse", " ▄▄▄▄ ▄▄▄ \n ▀▄▄▀▀▀▀▀▀ ▄▀ \n █▄ ▄▄██▀▄ \n █▀▀█ ▀▄█ █ \n █▀▄█▀ ▄▀▀█ \n ▄▄▀▄▀███▀█▀▄▀▄▄\n ▀▄▄█▄ ▀ ▄█▄▄▄▀\n █▄▄█▄█▀▀█▄█▄▄█ "], ["sleep_1", " ▄▄▄▄ ▄▄▄ \n ▀▄▄▀▀▀▀▀▀▄▄▀ \n █ ▄█▀█ \n ██▄▄▄▀▄▄ █ \n █▀█ ▄█▄ ▄▀▀█ \n ▄▀▄██▄▀█▄█▀▄ \n ▀█ ▀ ▀▄▄▀ \n ▀▄▄▄▄▄▄▀ "], ["sleep_2", " \n █▀▀█▄▄▄▄▄▀▀█ \n █▀ ▄██ \n █▄ ▄▀▀ █ \n ▄██▀▀█ ▀▀▄█▄ \n ▀▄█▄██▀█▄█▀█ \n ▀█ ▀ ▀▄▄▀ \n ▀▄▄▄▄▄▄▀ "], ["walk_1", " █▀▀█▄▄▄▄▄▀▀█ \n █▀ ▄▄▄▀ \n ██▄▄▀█▀█ █ \n ▄█ ▄█ ▀▀ █▄▄ \n ▀▄▀█▄▄▄▄▄█ ▄▀ \n ▄▀█ ▀█▀ ▀▄▀▄ \n █ ▄▀█▄▄▄▄▀█▄ ▀▄\n ▀█▄█▄▄██▄█▄▄█▀▀"], ["walk_2", " ▄▄▄▄ ▄▄▄ \n ▀▄▄▀▀▀▀▀▀ ▄▀ \n █▄ ▄▄██▀▄ \n █▀▀█ ▀▄█ █ \n █▀▄█▀ ▄▀▀█ \n ▄▄▀▄▀███▀█▀▄▀▄▄\n ▀▄▄█▄ ▀ ▄█▄▄▄▀\n █▄▄█▄█▀▀█▄█▄▄█ "]]], + ["fanglongmon", [["angry", " ▄▀█▄▀█ █▀▄ \n ▄▀▄▀ █ █ ▀▄\n ▄▀ ▄ ▀▄ ▄ ▄ █ █\n▄▀ ▀▀ ▀ █ █ █ █\n█▄▄ ▄▀ ▄ ▄ ▄▀\n ▀▀█▄ ▄ ▄▀▄▀▄▀█ \n █▀▄▀ ▄▀▀█ █ \n █▄█▄█▄█ █▄█▄█ "], ["attack", " ▄▄ ▄▄ █▀▄ \n █ █▀▄▀ █ ▀▄\n █ ▀ ▄▀ ▄ ▄ █ █\n █ ▀ ▄▀█ █ █ █\n█ ▀ ▄ ▀ ▄ ▄ ▄▀\n▀▄▄▄█ ▄▀▄▀▄▀█ \n █ █ ▀█ ▀▀█ █ \n ▀▀▀▀ █▄█▄█ "], ["eat_1", " ▄▀█▄▀█ █▀▄ \n ▄▀▄▀ █ █ ▀▄\n ▄▀ ▄ ▀▄ ▄ ▄ █ █\n▄▀ ▀ ▀ █ █ █ █\n█ ▄▀ ▄ ▄ ▄▀\n ▀▀▀▄ ▄ ▄▀▄▀▄▀█ \n ▄▀▄▀ ▄▀▀█ █ \n █▄█▄█▄█ █▄█▄█ "], ["eat_2", " ▄▀█▄▀█ █▀▄ \n ▄▀▄▀ █ █ ▀▄\n ▄▀ ▄ ▀▄ ▄ ▄ █ █\n▄▀ ▄ ▀ █ █ █ █\n█▄▄ ▄▀ ▄ ▄ ▄▀\n ▀▀█▄ ▄ ▄▀▄▀▄▀█ \n █▀▄▀ ▄▀▀█ █ \n █▄█▄█▄█ █▄█▄█ "], ["happy", " ▄▄ ▄▄ █▀▄ \n █ █▀▄▀ █ ▀▄\n █ ▀ ▄▀ ▄ ▄ █ █\n █ ▄▀▄ ▀█ █ █ █\n█ ▄ ▄ ▄ ▄▀\n▀██▄▀ ▄ ▄▀▄▀▄▀█ \n █▀▄▀ ▄▀▀█ █ \n █▄█▄█▄█ █▄█▄█ "], ["injured_1", " \n ▄▀█▄▀█ █▀▄ \n ▄▀▄▀ █ █ ▀▄\n ▄▀▄ ▀▄ ▄ ▄ █ █\n▄▀ ▀▀ ▀ █ █ █ █\n█ ▄▀ ▄ ▄ ▄▀\n █▀█▀ ▄▄▀▄█ ▀█ \n█▄█▄▄▄████▄▄▄▄██"], ["injured_2", " \n ▄▄ ▄▄ \n █ █▀▄▀ ▄▀▀▄ \n █ ▀ ▄▀ ▀▀▄ ▀▄\n █ █▄ ▄▀▄▀▄▀▄▀ █\n█ ▄ ▀ ▀ ▀ █\n▀▄▄▄█ ▄█ ▀▄█ \n█▄█▄▄▄████▄▄▄▄██"], ["refuse", " ▄▄ ▄▄ ▄▄ \n █ █▀▄▀ ▀▄▀▄ \n █ ▀ ▄▀ ▀▄ █\n █ ▄█ ▄▀▄▀▄▀▄▀ █\n█ ▄ ▀ ▀ ▀ █\n▀▄▄▄▀ ▄▀▄▀▄█ \n ▄▀ ▀▄▀ █▄█▄▀ █▄\n█▄▄▄█▄▄█ █▄▄▄▄▄█"], ["sleep_1", " ▄▄ ▄▄ ▄▄ \n █ █▀▄▀ ▀▄▀▄ \n █ ▀ ▄▀ ▀▄ █\n █ ▄▄ ▄▀▄▀▄▀▄▀ █\n█ ▄ ▀ ▀ ▀ █\n▀▄▄▄▀ ▄▀▄▀▄█ \n ▄▀ ▀▄▀ █▄█▄▀ █▄\n█▄▄▄█▄▄███▄▄▄▄▄█"], ["sleep_2", " \n ▄▀█▄▀█ █▀▄ \n ▄▀▄▀ █ █ ▀▄\n ▄▀ ▀▄ ▄ ▄ █ █\n▄▀ ▀▀ ▀ █ █ █ █\n█ ▄▀ ▄ ▄ ▄▀\n █▀█▀ ▄▄▀▄█ ▀█ \n█▄█▄▄▄████▄▄▄▄██"], ["walk_1", " ▄▀█▄▀█ █▀▄ \n ▄▀▄▀ █ █ ▀▄\n ▄▀ ▄ ▀▄ ▄ ▄ █ █\n▄▀ ▄ ▀ █ █ █ █\n█ ▄▀ ▄ ▄ ▄▀\n ▀▀▀▄ ▄ ▄▀▄▀▄▀█ \n ▄▀▄▀ ▄▀▀█ █ \n █▄█▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄ ▄▄ █▀▄ \n █ █▀▄▀ █ ▀▄\n █ ▀ ▄▀ ▄ ▄ █ █\n █ ▀ ▄▀█ █ █ █\n█ ▀ ▄ ▀ ▄ ▄ ▄▀\n▀▄▄▄█ ▄▀▄▀▄▀█ \n █ █ ▀█ ▀▀█ █ \n ▀▀▀▀ █▄█▄█ "]]], + ["filmon", [["angry", " ▄▄▄▄▄▄ \n ▄▀▄▄▄▄▀▀▀█▄ \n █▄█▀▀ ▄ ▄▄▀ ▄▀\n █ ▀▀ ▄▀ ▄▀\n ▀█▀▀▀ ▄█ ▄▀\n ▄█▀▄ ▄ ▀▄▄█\n █ █ ▀ █ ▄█▄ \n █▄█▄█▀▀▀█▄█▄█▄█"], ["attack", " ▄▀▀▀▀██▄▄ \n ▄ ▄█▄▀▀▀▀ ▄▀▀▄\n █▀▀ ▄█ ▀█ ▀▄\n █▄▄▄▄▄ ▀▄ ▀▄\n ███▀▀█ ▄█▀▄ ▀▄\n▄▀█▀▀▀▀▀█ ▄▀▀▀\n▀▄▄▀█▀▀▄ ▀▀█▄▄ \n █▄█▄█ ▀▄█▄█▄█ "], ["eat_1", " ▄▀▀▀▀██▄▄ \n ▄ ▄█▄▀▀▀▀ ▄▀▀▄\n █▀▀ ▄▀▄ ▀█ ▀▄\n ▀▄▄▄▄▄ ▀▄ ▀▄\n ▄█████ ▀▀▄ ▀▄\n█ ▀█▀▀▄▀ ▄ ▀█▀\n ▀▀██ ▄ █▄▄▀ \n █▄█▄█ ▀▄█▄█▄█ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄▀▄▄▄▄▀▀▀█▄ \n █▄█▀▀ ▄ ▄▄▀ ▄▀\n █ ▀ ▀ ▄▀ ▄▀\n ▀█▀▀▀ ▄█ ▄▀\n ▄█▀▄ ▄ ▀▄▄█\n █ █ ▀ █ ▄█▄ \n █▄█▄█▀▀▀█▄█▄█▄█"], ["happy", " ▄▀▀▀▀██▄▄ \n ▄ ▄█▄▀▀▀▀ ▄▀▀▄\n █▀▀ ▄▀▄ ▀█ ▀▄\n █▄▄▄▄▄ ▀▄▄▄▀▄\n█ ████▀ ▀█ █▄\n ▀█▄▄▄▀▄▀▄▀ ▄▀▀▀\n ▄█ ▄ ▄▄█ \n █▄█▄█ ▀▄█▄█▄█ "], ["injured_1", " \n \n ▄▀▀▀▀██▄▄ \n ▄ ▄█▄▀▀▀▀ ▄▀▀▄\n █▀▀ █▄ ▀█ ▀▄\n ▀▄▄▄▄▄ ▀▄ ▀▄\n ▄▀█ ▄ █ █▀█ \n ▀▄█▄█▄███▄▄█▄█"], ["injured_2", " \n \n ▄▄▄▄▄▄ \n ▄▀▄▄▄▄▀▀▀█▄ \n█▄█▀▀ ▄ ▄▄▀ ▄▀ \n█ ▀▀ ▄▀ ▄▀ \n ▀██▀▀ ▄ ▄█ ▄▄▀▄\n ▀▄█▄█▄█▄█▄▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄▄ \n ▄▀▄▄▄▄▀▀▀█▄ \n█▄█▀▀ ▄▄▀ ▄▀ \n█ ▀▀ ▄▀ ▄▀ \n ▀█▀▀▀ ▄█ ▄▀ \n █▀█▀▄ ▄ ▄▀█▀█ \n █▄▄█▄█▄▄▄█▄▄▄█ "], ["sleep_2", " \n ▄▀▀▀▀██▄▄ \n ▄ ▄█▄▀▀▀▀ ▄▀▀▄\n █▀▀ ▄▄ ▀█ ▀▄\n ▀▄▄▄▄▄ ▀▄ ▀▄\n ▄▀▄▄ ▀▀▄ ▀▄\n ▄▀██ ▀▄▀ ▄▀█▀█ \n █▄▄█▄▄▄▄▄█▄▄▄█ "], ["walk_1", " ▄▀▀▀▀██▄▄ \n ▄ ▄█▄▀▀▀▀ ▄▀▀▄\n █▀▀ ▄██ ▀█ ▀▄\n ▀▄▄▄▄▄ ▀▄ ▀▄\n ▀▄▄ ▀▀▄ ▀▄\n ▄▀█ ▀▄▀ ▄ █▀▀\n ▀▄█ ▄ ▀▄▄█ \n █▄█▄█ ▀▄█▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▀▄▄▄▄▀▀▀█▄ \n █▄█▀▀ ▄▄ ▄▄▀ ▄▀\n █ ▀▀▀ ▄▀ ▄▀\n ▀█▀▀▀ ▄█ ▄▀\n ▄█▀▄ ▄ ▀▄▄█\n █ █ ▀ █ ▄█▄ \n █▄█▄█▀▀▀█▄█▄█▄█"]]], + ["firamon", [["angry", " ▄▄▄▄▄▄▄ ▄▄\n ▄▀ ▄▄▄▄ ▀▄▀ █\n █▄▄▀ ▄ ▀▄ █ ▀█\n▄▀ ▄██ █ █▀█\n█▀▀▀▄ ▄▄▀ ▄▀ ▄▀\n █▄▄▄▄▀ ▄▀ ▀▄\n ▀▄ ▄▄▀▄▄▄█ █\n █▄█▄▀█▄▄█ █▄▄▄▀"], ["attack", " ▄▀▀▀▀▀▀█▄ \n ▄▄█▄▄▀▀▀▀▄ ▀▄▀█\n█▄▄▄▄ ▄█▀ █ █▄█\n █████▄ █ ▄█ █\n ████▀ ▄▀ ▄▀ ▀█\n▄█▄▄▄▄▄▀ ▄▀ ▄▀\n█▄█▄ ▄▄▄▀ ▄█▄ ▀▄\n ▀▀█▄▄█ █▄▄▄▀"], ["eat_1", " ▄▀▀▀▀▀▀▀▀▄ ▄▄\n ▄█▄▄▀▀▀▀▄ ▀█ █\n█ ▄▄ ▄▀▀▀ █ █▀█\n ██████ ▄▀ ▄▀█▀\n ███▀ ▄▀ ▄▀ █\n █▄▄▄▄▀ ▄▄▀ ▄▀\n█▄█▄ ▄█ ▄▄█▄ ▀▄\n ▀▀█▄▄█ █▄▄▄█"], ["eat_2", " ▄▄▄▄▄▄▄ ▄▀█\n ▄▀ ▄▄▄▄ ▀█ ▄█\n █▄▄▀ ▄▄ ▀▄ ▀█ █\n▄▀ ▀ ▀ █ █▀▄\n█▀▀▀ ▄▄▀ ▄▀ █\n █▀▀▀▀▀ ▄▀█ █ \n █▄▄ ▄█▀▄▄██ █\n █▄▄██▄▄█ █▄▄▄█"], ["happy", " ▄▀▀▀▀▀▀▀▄ ▄▀█\n ▄▀ ▄▀▀▀▀▄ █ ▄█\n▄▀▀▀ ▄▀▀▄ █ ▀▄ █\n█▄▄▄▄▄ ▄▀ ▄█▀▄\n▀██▄▄▄█ ▄▀ █ █\n ▀▄▄▄▄▀ ▄▀ █ \n █▄ ▄▀▄▄█▄ █\n █▄▄█▄█▄▄█ █▄▄▄▀"], ["injured_1", " \n ▄▄▀▀▀▀▀▀▄ \n ▄▀ ▄▄▀▀▀▄ █ ▄▄\n █▄▀ ▄ █ ▀█ █\n█ ▀▀▄▀ ▄▀▀█\n█▀▀▀ ▄▄▀ ▄▀ ▀▄\n █▀▀▀▀ ▄▄▀█▄▄ ▄▀\n███████▄▄▄█▄▄▄▄█"], ["injured_2", " \n ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▄ ▀▄ ▄▄\n █ ▄▀▀ ▀▄ █▀ █\n▄▀▀ ▀▄▄ █ █▀█\n█▄▄▄ ▄▀ ▄▀▀▀▄\n▀▄▄▄▄▄▀▀ ▄█▄▄ ▄▀\n██▄▄▄▄▄██▄█▄▄▄▄█"], ["sleep_1", " \n ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▄ ▀▄ ▄▄\n █ ▄▀▀ ▀▄ █▀ █\n▄▀▀ ▀▀▀ █ █▀█\n█▄▄▄ ▄▀ ▄▀▀▀▄\n▀▄▄▄▄▄▀▀ ▄█▄▄ ▄▀\n██▄▄▄▄▄██▄█▄▄▄▄█"], ["sleep_2", " \n ▄▄▀▀▀▀▀▀▄ \n ▄▀ ▄▄▀▀▀▄ █ ▄▄\n █▄▀ ▄▄▄ █ ▀█ █\n█ ▄▀ ▄▀▀█\n█▀▀▀ ▄▄▀ ▄▀ ▀▄\n █▀▀▀▀ ▄▄▀█▄▄ ▄▀\n███████▄▄▄█▄▄▄▄█"], ["walk_1", " ▄▄▄▄▄▄▄ ▄▀█\n ▄▀ ▄▄▄▄ ▀█ ▄█\n █▄▄▀ ▄▄ ▀▄ ▀█ █\n▄▀ ██▄ █ █▀▄\n█▀▀▀ ▄▄▀ ▄▀ █\n █▀▀▀▀▀ ▄▀█ █ \n █▄ ▄▄█▀▄▄██ █\n █▄▄█ █▄▄█ █▄▄▄█"], ["walk_2", " ▄▀▀▀▀▀▀▀▄▄ ▄▄\n ▄▀ ▄▀▀▀▀▄ █▀ █\n █▀▀ ▄█▀ █ █▀█\n█▄▄▄ ▀▀▀ ▄▀ ▄▀▄▀\n▀▄▄▄▄▄▄▀▀ ▄▀ █\n █▄ ▄▄▄▀ ▄ █ \n █ ▀▄█ ▀▄▀██ █\n ▀▀▀ ▀▀ ▀▄█▄▄▀"]]], + ["flaremon", [["angry", " ▄▄▀ \n ▄▄████ ▀▀▀██▄ \n █▄█▀▀▀▀▄▀▄ █▄▄ \n▄▀ ▄█ ▄▀ ▄▀ \n█▀▀ ▀▀▀▄▀▄▄▄▄█ \n█▀▄▄▄▄▄█▄██ █ \n█ ▀▀▄▄ ▀█▀▀ █▄ \n▀▄▄▄█▄█▀▀█▄▄▄█▄█"], ["attack", " ▄▄▀▀▄▄▄▄▄ \n █▀███▄▄ ▄ ▀█▀\n █▀▀▀ ▄▀ █ █▄\n █▄▄▄ ▄██ ▄▀ ▄▀\n ▄▄████▄▄▄▄█▄ █\n█ ▄██▀▀███▀ \n▀▄▄███ ▄ ▀▄ \n █▄▄▄█▀▀▀▄▄▄▄▄█"], ["eat_1", " ▄▄▄▄▀▀▄▄▄ \n █▀███▄▄▄ ▄ ▀█▄\n █▀▀▀ ▄ ▀ █ █▄\n █▄▄▄▄ ▀ ▀ ▄█ ▄▀\n█ ▀███ ▄▀ ▄▄▄▀\n█ █▀▀ ▄█▄▄▀▀█ \n ▀▀███▀ ▄▀▀ █▄ \n █▄▄▄█▀▀█▄▄▄█▄█"], ["eat_2", " ▄▄▀ \n ▄▄███ ▀▀▀▀██▄ \n █▄█▀▀▀▀▄▀▄ █▄▄ \n▄▀ ▄▀▄ ▄█ ▄▀ \n█▀▀ ▄▄▀▄▄▄▄█ \n█▀█████▄▄██ █ \n█ █▄▄ ▀█▀▀ █▄ \n ▀██▄▄█▀▀█▄▄▄█▄█"], ["happy", " ▄▄▄▀▀▄▄▄▄ \n █▀███▄▄▄ ▄ ▀█▀\n█▀█▀▀▀ ▄ ▀ █▀ █\n██▄▄▄▄ ▀ ▀ ▄█ █\n█ █████ ▄█▀ ▄▀ \n ▀▄█▀▀ ▄████▀ \n ▄██▀ ▀▀▀▀▄▄ \n █▄▄▄█▀▀▀█▄▄▄▄█"], ["injured_1", " ▄ \n ▄▄█▀▄▄▄▄▄▄ \n █▀███▄▄ ▄ ▀█▀ \n █▀▀ ▄ ▀ █ ▀▀█ \n█▄▄▄ ▀▀ █▀ ▀▄ \n▄█▀▀▀ ▄▄█▄█▀▀█▀ \n█ ▀▀██▀▀▀█▀▀ █ \n▀▄▄▄█▄█▀▀█▄▄▄██ "], ["injured_2", " \n ▄▄▄ \n ▄████ ▀▀▀▀██▄ \n █▄█▀▀▀▀▄▀▄ █▄▄ \n▄▀ ▀▄▄ ▄█ ▄▀ \n█▀▀ ▄▄█▄▄▄▄█ \n█▀▀▀██████▀▀ █ \n▀▄▄▄█▄█▀▀█▄▄▄██ "], ["sleep_1", " \n ▄ \n ▄▄▀▀▄█ ▀▀▄▄▄ \n▄▀ ▄▄██▀ ▀█▀ \n█▄▀█▄█▀▀▀▄▀▄ ▀▀█\n▄▀ ▄▀ ▀▄\n█▀▀▀▄ ▀▀▄▀▀▀▀█▀▄\n█▄▄▄█▄▄▄█▄▄▄▄█▄█"], ["sleep_2", " \n ▄▄ ▄▀▄▄ \n ▄▀▀ ▄██ ▀██▄ \n█ ▄█▀██▄▄ ▄ █▄▄\n▀█ ▀▀▀ ▀ █ ▄▀\n█ ▄▄ ▄▄ █▄ ▄▀\n█▀▀▀▄ ▄▀▀▀▀█▀▄\n█▄▄▄█▄▄▄█▄▄▄▄█▄█"], ["walk_1", " ▄▄██▀▄▄▄▄▄▄ \n █▀██▄▄▄ ▄ ▀█▀ \n █▀▀ ▄▄▀ █ ▀▀█ \n█▄▄ ▀▀ █▀ ▀▄ \n▀▄▄▄▄▄▄▀▀▄█▀▀█▀ \n█ ██▀▀▀███▀ █ \n█ ▀▀▄▄▄ ▄█▄▄█ \n▀▄▄▄█▄▄█▀▀▄▄▄▄█ "], ["walk_2", " ▄▄▀ \n ▄▄███ ▀▀▀▀██▄ \n █▄█▀▀▀▀▄▀▄ █▄▄ \n▄▀ ▄█▀ ▄█ ▄▀ \n█▀▀ ▄▄▀▄▄▄▄█ \n█▀█████▄▄██ █ \n█ █▄▄ ▀█▀▀ █▄ \n ▀██▄▄█▀▀█▄▄▄█▄█"]]], + ["flarerizamon", [["angry", " ▄▀▀▀▀█▄ ▄█ \n ▄▀▀ ▄ █▀ █ ▄\n█ ▄▄ ▀▀ ▄█▄█ ▄█\n ███████ ▀██▀ █\n ▄▀▀▀▀▀▀ ▄▀█ █ \n █▀█▀ █ █▄▀ \n ▄▄▀█▄ ▀█▀▀▀▄ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["attack", " ▄▄▄▄▄ ▄ \n ▄▄▀ ▀█▄▀█ \n▄▀ ▄█▀ █ ▄▀ █\n▀▄▄▀▀▄▄▄▄▀███▄▀█\n ▀▄▄▄▄▄ ▄█▀ ▄▀\n ▄▀█ ▄▀ █ ▄▀ \n ▄█▄█ ▀▄▄▀▀▀▄ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_1", " ▄▄▄▄▄ ▄ \n ▄▄▀ ▀█▄▀█ \n▄▀ ▄▀▄ █ ▄▀ █\n▀▄▄▀▀▄▄▄▄▀███▄▀█\n ▀▄▄▄▄▄ ▄█▀ ▄▀\n ▄▀█ ▄▀ █ ▄▀ \n ▄█▄█ ▀▄▄▀▀▀▄ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_2", " ▄▀▀▀▀█▄ ▄█ \n ▄▀▀ ▄▄ █▀ █ ▄\n█ ▄▄ ▀▀ ▄█▄█ ▄█\n ███████ ▀██▀ █\n ▄▀▀▀▀▀▀ ▄▀█ █ \n █▀█▀ █ █▄▀ \n ▄▄▀█▄ ▀█▀▀▀▄ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["happy", " ▄▀▀▀▀█▄ ▄█ \n ▄▀▀ ▄ █▀ █ ▄\n█ ▄▄ ▀ ▀▄█▄█ ▄█\n▄███████ ███▀ █\n█ █▀▀▀▀▀ █ ██ \n ▀█▀█▀ ▀██▀ \n ▄▄▀█▄ ▄▀▀▀▄ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["injured_1", " \n ▄▀▀▀▀█▄ ▄█ \n ▄▀▀ ▄ █▀ █ ▄\n█ ▄▄ ▀▀ ▄█▄█ ▄█\n █▀ ▀▀▀▀ ▀██▀ █\n ▀██▀▀ ▄▀█ ▄▀\n ▄█▄█ █ █▄▀▄ \n█▄█▄▄██▀████▄█▄█"], ["injured_2", " \n ▄▄▄▄▄ \n ▄▄▀ ▀█▄▀█ \n▄▀ █▄ █ ▄▀ █\n▀▄▄▀▀▄▄▄▄▀███▄▀█\n ▀▄▄▄▄▄ ▄█ ▄▀\n ▄▄▀█ ▄▀ █▄█▄ \n█▄███▄▄▄█▄▄█▄█▄█"], ["refuse", " \n ▄▀▀▀▀█▄ ▄█ \n ▄▀▀ ▄ █▀ █ ▄\n█ ▄▄ ▀▀ ▄█▄█ ▄█\n █▀ ▀▀▀▀ ▀██▀ █\n ▀██▀▀ ▄▀█ ▄▀\n ▄█▄█ █ █▄▀▄ \n█▄█▄▄██▀████▄█▄█"], ["sleep_1", " ▄▄▄▄▄ ▄ \n ▄▄▀ ▀█▄▀█ \n▄▀ ▄▄ █ ▄▀ █\n▀▄▄▀▀▄▄▄▄▀███▄▀█\n ▀▄▄▄▄▄ ▄█▀ ▄▀\n ▄▀█ ▄▀ █ ▄▀ \n ▄█▄█ ▀▄▄▀▀▀▄ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["sleep_2", " \n ▄▀▀▀▀█▄ ▄█ \n ▄▀▀ █▀ █ ▄\n█ ▄▄ ▀▀ ▄█▄█ ▄█\n █▀ ▀▀▀▀ ▀██▀ █\n ▀██▀▀ ▄▀█ ▄▀\n ▄█▄█ █ █▄▀▄ \n█▄█▄▄██▀████▄█▄█"], ["walk_1", " ▄▀▀▀▀█▄ ▄█ \n ▄▀▀ ▄▄ █▀ █ ▄\n█ ▄▄ ▀▀ ▄█▄█ ▄█\n █▀ ▀▀▀▀ ▀██▀ █\n ▀██▀▀ ▄▀█ █ \n █ █ █ █▄▀ \n ▄▄▀█▄ ▀█▀▀▀▄ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄ ▄ \n ▄▄▀ ▀█▄▀█ \n▄▀ ▄█▀ █ ▄▀ █\n▀▄▄▀▀▄▄▄▄▀███▄▀█\n ▀▄▄▄▄▄ ▄█▀ ▄▀\n ▄▀█ ▄▀ █ ▄▀ \n ▄█▄█ ▀▄▄▀▀▀▄ \n█▄█▄▄██▀▀█▄█▄█▄█"]]], + ["floramon", [["angry", " ▄▀▀▄▀▀▀▀▀▄ \n █ ▄ ▀ ▄ █ \n ▀▄ ▀ ▀ ▄▄▀ \n █ ▀▀▀ █ \n █▀▄ ▄ ▄▀█ \n █ █▀▄▀▀▀█▀ █ \n ▀█▀ ▀▀█▀ \n █▄▄▄▀▀▀▀▄▄▄█ "], ["attack", " ▄▀▀▄▀▀▀▀▀▄ \n █ ▄ ▀ ▄ █ \n ▀▄ ▀ ▀ ▄▄▀ \n █ ▄████▄ █ \n █▀▄██▀▀▀█ ▄▀▀█\n ▀▄ █▀█▀▀▀█▀▄▀▄▀\n █▀ ▀█▀ \n █▄▄▄▀▀▀▀▄▄▄█ "], ["eat_1", " ▄▀▀▀▄▀▀▀▀▄ \n █ ▄ ▀ ▄ █ \n ▀▄ ▀ ▀ ▄▄▀ \n █ █████ █ \n █▄ ███▀█ █ \n █ ▀▄▀▄▄▄▀▄▄▀▀█\n ▀█▀ ▀▄▄▀ \n █▄▄█▀▀▀▄▄▄█ "], ["eat_2", " ▄▀▀▀▄▀▀▀▀▄ \n █ ▀ █ \n ▀▄ █ █ ▄▄▀ \n █ ▄▄▄ █ \n ▀▄ ▄ ▄▀ \n ▄▀█▀▄▀▀█▀▄▀▄ \n █▄█▀ ▀▄▄█ \n █▄▄█▀▀▀▄▄▄█ "], ["happy", " ▀ ▄▀▀▀▄▀▀▀▀▄ ▀ \n▄ █ ▄▀▄ ▄▀▄ █ \n ▀▄ ▄▄▄▄▄▄ ▄▀ ▀\n▄ █ ██████ █ ▄\n █▄ █ ▀ █ ▄█▄ \n █▄ ▀▄▀█▀▀▄▀ ▄▄█\n ▀█▀ ▀█▀ \n █▄▄█▀▀▄▄▄█ "], ["injured_1", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ █ ▀▄ \n ▀▄ ▄ ▄ ▄▀ \n █ ▀ ▀ █ \n ▄▀▄▄▄▀▄▄▄▄▀▄ \n █ ▀▄▀ ▀ ▀▄▀ █ \n ▀▀█▄▄▄█▄▄▄▄█▀▀ "], ["injured_2", " \n \n ▄▀▀▀▄▀▀▀▀▄ \n █ █ \n ▄▀▄█ █▄ ▀▄ \n ▀▄ ▄ ▄▀ \n █ ▀█▀▄▀▀█▀▄█ \n █▄▄█▄▄▄▄▄█▄▄▄█ "], ["sleep_1", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ █ ▀▄ \n ▀▄ ▄▄▀ \n █ ▀▀ ▀▀ █ \n █▀▀▄▄▄▀▄▄▄▄▀▀█ \n ▀▄▀▄█ ▀ █▄▀▄▀ \n ▀█▄▄▄▄▄▄█▀ "], ["sleep_2", " ▄▄▄ ▄▄▄▄ \n ▄▀ █ ▀▄ \n █ ▄▄ ▄▄ █ \n ▄▀ ▄▄ ▀▀▄ \n █ █ \n █▀▀▄▄▄▀▄▄▄▄▀▀█ \n ▀▄▀▄█ ▀ █▄▀▄▀ \n ▀█▄▄▄▄▄▄█▀ "], ["walk_1", " ▄▀▀▀▄▀▀▀▀▄ ▀ \n █ ▀ █ ▄\n ▀▄ █ █ ▄▄▀ \n █ ▄▄ █ ▀ \n▄█▄ ▄ ▄▀ \n█ ▄▀█▀▄▀▀██▀▄ \n ▀▄█▀ ▀▄▀ █ \n █▄▄█▀▀▄▄▄█▀▀ "], ["walk_2", " ▄▄▄ ▄▄▄▄ ▄▀▄\n ▄▀ █ ▀▄ ▀ \n █ █ █ █ ▀\n ▄▀ ▄ ▄ ▀▀▄ ▀ \n █ █▀█ █ \n█▀▀▄▄▄▀▄▄▄▄▀▀█ \n▀▄▀▄█ ▀ █▄▀▄▀ \n ▀█▄▄█▄▄▄█▀ "]]], + ["flymon", [["angry", " ▀█▀▀▄ ▀█▀▄▄ \n ▄▄ ▀▄ █ █ ▀▄\n▄▄ █▄█▄▄ █ █\n ███▀ ▄▀█ ▄█▄\n ████▄█▀ ████▀█\n█ ▄██▄ █ █▀█ ▄▀\n▀▄▄██▄▄▀ ▄█ █▀ \n ▀▄▄▄▄▄▄▀█▀█ "], ["attack", " \n ▀▀▀▄ \n▄▀███▀▀▀▄ \n ██▀ ▄ █▀▀▄▄ \n▄▀▀▄ ▀▀ █ ▀▄\n▀▄▄█ ▄█ █\n ▀▄▀██▄█ ▄▀ \n █▄▄▀▀▄▄▄▀▀ "], ["eat_1", " \n ▀▀▀▄ \n▄▀███▀▀▀▄ \n ██▀ ▄ █▀▀▄▄ \n▄▀▀▄ ▀▀ █ ▀▄\n▀▄▄█ ▄█ █\n ▀▄▀██▄█ ▄▀ \n █▄▄▀▀▄▄▄▀▀ "], ["eat_2", " ▄▄▄ \n ▀█▀▀▄▄ █ ▀▄\n▀▀▄▀▄ ▀▄ █ █\n▀▀▄██▀▀▀█▄█ ▄▀\n ██▀ ▄▀▄ █▄▄▀▀ \n▄▀██▀▄ ██▀███▄\n▀▄██▄█▄▄▀ █ █▄▀\n █▀▀▀█▀█▀█ "], ["happy", " ▄▄▄ \n ▀█▀▀▄▄ █ ▀▄\n▀▀▄▀▄ ▀▄ █ █\n▀▀▄██▀▀▀█▄█ ▄▀\n ██▀ ▄▀▄ █▄▄▀▀ \n▄▀██▀▄ ██▀███▄\n▀▄██▄█▄▄▀ █ █▄▀\n █▀▀▀█▀█▀█ "], ["injured_1", " \n \n \n ▄▀▀ ▄▄ \n ▄▀▀▀██▄▀▀▀▄ \n █ ▀█ █ \n █ ▀▀ ▄▀ █ \n ▀▄▄▄▄█▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n \n ▄▀▀ ▄▄ \n ▄▀▀▀██▄▀▀▀▄ \n █ ▀█ █ \n █ ▀▀ ▄▀ █ \n ▀▄▄▄▄█▄▄▄▄▄▄▄▀ "], ["refuse", " \n ▀▀▀▄ \n▄▀███▀▀▀▄ \n ██▀ ▄ █▀▀▄▄ \n▄▀▀▄ ▀▀ █ ▀▄\n▀▄▄█ ▄█ █\n ▀▄▀██▄█ ▄▀ \n █▄▄▀▀▄▄▄▀▀ "], ["sleep_1", " \n \n \n ▄▀▀ ▄▄ \n ▄▀▀▀██▄▀▀▀▄ \n █ ▀█ █ \n █ ▀▀ ▄▀ █ \n ▀▄▄▄▄█▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n \n ▄▀▀ ▄▄ \n ▄▀▀▀██▄▀▀▀▄ \n █ ▀█ █ \n █ ▀▀ ▄▀ █ \n ▀▄▄▄▄█▄▄▄▄▄▄▄▀ "], ["walk_1", " ▀█▀▀█ ▀█▀▄▄ \n ▄▄ ▀▄ █ █ ▀▄\n ▄▄▀▄▀ █▀ █\n▀ ▄██▀▀▀▄▀ ▄▄▀ \n ██▀ ▄ ███▄▄▄ \n▄▀▀▄ ▀ ██▀████\n▀▄▄█ ▄▄▀ █ █▄▀\n █▀▀▀█▀█▀█ "], ["walk_2", " \n ▀▀▀▄ \n▄▀███▀▀▀▄ \n ██▀ ▄ █▀▀▄▄ \n▄▀▀▄ ▀▀ █ ▀▄\n▀▄▄█ ▄█ █\n ▀▄▀██▄█ ▄▀ \n █▄▄▀▀▄▄▄▀▀ "]]], + ["frigimon", [["angry", " ▄▄▄▄▄▄▄ \n ▄▀ ▀▄ \n █ ▄ █ \n █▀▀ ▀▀ █ \n▄▀▀ ▄▀▀▀▄ ▄█▀▀▄\n▀▄ ▄ ▄▄▀\n █ ▄ ▄█ \n█▄█▄▄▄▄▄▄▄▄▄█▄▄█"], ["attack", " ▄▀▀▀▀▀▀▄ \n █▄ ▄█▀ █ \n █▄▄▄▄▄▄▄ █ \n▄▀██▀▀▀▀▀▀█▄▀▀▄ \n▀▄▀▄▄▄▄▄▄▄▀ ▄▀ \n █ ▄ ▀█ \n ▄█ ▄ ▄▀▀▄ \n█▄▄█▄▄▄▄▄▄█▄▄▄▀ "], ["eat_1", " ▄▀▀▀▀▀▀▄ \n █ ▀ ▀ █ \n █ ███▀▀█ █ \n █▄ ▀▀▀▀ ▄█ \n▄▀ ▀ ▀▀▀ ▀▄ \n█ ▀ █ \n█ ▀ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄▀ ▀▄ \n ▄█▀▄ ▄▀▄ █ \n █ ▀ █ \n ▄▀▄ ▄▄▄▀▄ \n █ ▄ █ \n █ ▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["happy", " ▄▀▀▀▀▀▀▄ \n █▀▀ ▀▀ █ \n █ █▄▄▄▄██ █ \n▄▀█ ▀███▀ ▄▀▀▄ \n▀▄ ▀ ▀ ▄▀ \n █ ▀ ▀█ \n █ ▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_1", " \n ▄▄▄▄▄▄ \n ▄▀ ▀▄ \n ▄▀▄ ▄ █ \n █▀ ▄ ▀ █ \n▄▀ ▀ ▀▀ ▀▄ \n█ ▀ █ \n▀▄▄▄▄█▄▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n ▄▀▀▀▀▀▀▄ \n █ █ \n █ ▄ ▄ █ \n █▀▀▄ ▀▀ ▄█▀▄ \n█ ▀ ▀ █ \n▀▄▄▄▄█▄▄▄▄▄▄▄▄▀ "], ["sleep_1", " ▄▄▄▄▄▄ \n ▄▀ ▀▄ \n ▄▀ ▄▄▄ █ \n █ ▀ █ \n ▄▀▄ ▄▄▄▀▄ \n █ ▄ █ \n █ ▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " ▄▀▀▀▀▀▀▄ \n █ ▄▄▄ █ \n █ ▀ █ \n ▀▄ ▄▀ \n ▄▀ ▀ ▀▀▀ ▀▄ \n █ ▀ █ \n █ ▀ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " ▄▀▀▀▀▀▀▄ \n █ █ \n █ ▀ ▄ ▀ █ \n ▀▄ ▄▀ \n ▄▀ ▀ ▀▀▀ ▀▄ \n █ ▀ █ \n █ ▀ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▀ ▀▄ \n ▄█▄ ▄▄ █ \n █ ▀ █ \n▄▀ ▀ ▀ ▀▄ \n█ ▄ █ \n█ ▄ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "]]], + ["fufumon", [["angry", " \n ▄ \n ██▀▀▀▄ \n █ ▄█ █ \n ▀▄▄▄ █ \n ▀▀█ █ \n ▄█▄▀ \n ▄▄▄▄ "], ["attack", " ▄ \n ██▀▀▀▄ \n █ ▄█▀ █ \n ▀▄▄▄ █ \n ██ █ \n ▀▀▀█ ▄▀ \n ▄█▄▀ \n ▄▄▄▄▄ "], ["eat_1", " \n █▄▄▄▄ \n ▄▀▀ ▄ ▀▄ \n ▀█▄▀ █ \n ██ █ \n ▀▀▀▀▄ █ \n ▄█▀ \n ▄▄▄▄▄ "], ["eat_2", " \n ▄ \n ██▀▀▀▄ \n █ ▄▀▄ █ \n ▀▄ ▄ █ \n ▀▀▄ ▄▀ \n ▄█▄▀ \n ▄▄▄▄ "], ["happy", " ▄ \n ▄██▀▀▀▄ \n █ ▄▀▄ █ \n █ ▄ █ \n █████ █ \n ▀▀█ ▄▀ \n ▀▄█▄ \n ▄▄▄▄▄ "], ["injured_1", " \n \n \n █▄▄▄▄ \n ▄▀▀▄ █ \n █ ▀▀ █ \n ▀▄██▄ █ \n ▀▄▄▄▄█▄ "], ["injured_2", " \n \n \n ▄ \n ██▀▀▀▄ \n █ ▀▄▄▀▄ \n ▀▄▄▄▄ █ \n ▀▄▄▄▄▄█▄ "], ["sleep_1", " \n ▄ \n ██▀▀▀▄ \n █ ▄▄ █ \n ▀▄▄ █ \n ▄▀▀ ▄▀ \n ▀▀▀▀▀ \n ▄▄▄▄ "], ["sleep_2", " \n ▀▄▄▄▄▄ \n ▄▀▀ ▀▄ \n █ ▀▀ █ \n ▀▄▄▄ █ \n ▄▄▀ ▄▀ \n ▀▀▀▀ \n ▄▄▄▄▄ "], ["walk_1", " \n ▄ \n ██▀▀▀▄ \n █ █ █ \n ▀▄ ▄ █ \n ▀▀█ ▄▀ \n ▄█▄▀ \n ▄▄▄▄ "], ["walk_2", " \n █▄▄▄▄ \n ▄▀▀ ▄ ▀▄ \n █ ▀ █ \n ▀▄█▄ █ \n █ █ \n ▄█▀ \n ▄▄▄▄▄ "]]], + ["fugamon", [["angry", " \n ▄▄████▄ \n ██▀ ▀██▄ \n ▄█ ▄█ ███ \n ▄▀█▄▄▄▄▄ ██▀ \n█ ▄█▄▄▄▄▄█▄▀ █ \n█ █▄▄▄ █ █ █▄\n ▀█▄▄▄▄█▀▄▄▄▄█▄█"], ["attack", " ▄▄▄█████▄ \n ▄█▄▄▄▄▄ ███▄ \n █ █▄█ ██ ███ \n ▀███████ █ ▀▄\n ▄█▀█▀█▀██ █ █\n█ █▀▀▀▀▀▀ ▄█▀▀ █\n█▀ ▀█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["eat_1", " ▄▄████▄ \n ██▀ ▄▄▀██▄ \n █ ▀ ▀ ███ \n ▀███████ ███▄ \n ▄██▀▀▀▀██ █ █\n█▄▀ ▄▀▀ ▄█▀▀ █\n██▄▄█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["eat_2", " \n ▄▄████▄ \n ██▀ ▄▄▀██▄ \n ▄▄▄█ ▀ ▀ ███ \n█ ▄█▄▄▄▄▄▄▀ ██▀ \n█ ▀▄▄▄▄▄▄▄▀ █ \n ▀▀█▄▄▄ █ █ █▄\n █▄▄▄▄█▀▄▄▄▄█▄█"], ["happy", " ▄▄████▄ \n ██▀ ▄▄▀██▄ \n █ ▀ ▀ ███ \n ▀███████ ███▄ \n ▄█▀█▀█▀██ █ █\n█ █▀▀▀▀▀▀ ▄█▀▀ █\n█▀ ▀█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["injured_1", " \n ▄▄▄▄ \n ▄██▀▀▀██▄ \n █▀ ▄ ▀██▄ \n ▄▄▀ ▀▀ ███ \n▄█▄█▀▀▀▀▀▀ ▄▀██▄\n█ ▀ █▀▀▀▀█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["injured_2", " \n \n ▄▄████▄ \n ██▀ ▀██▄ \n █ █▄ ███ \n▄██▄▄▄▄▄▄ ████▄\n█ ▀ █▄▄▄▄█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["sleep_1", " \n ▄▄▄▄ \n ▄██▀▀▀██▄ \n █▀ ▀██▄ \n ▄▄▀ ▀▀ ███ \n▄█▄█▀▀▀▀▀▀ ▄▀██▄\n█ ▀ █▀▀▀▀█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["sleep_2", " \n ▄▄████▄ \n ██▀ ▀██▄ \n ▄▀ ▄▄ ▄ ███ \n ▄▀▄▄▄▄▄▀█ ███ \n▄█▄█▀▀▀▀▀▀ ▄▀▄█▄\n█ ▀ █▀▀▀▀█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["walk_1", " ▄▄▄████▄ \n ██▀ ▄ ▀██▄ \n ██ █▀ ▄ ███ \n ▀▄▄▄▄█▀█ ███▄ \n ▄█▀█▀█▀██ █ █\n█ █▀▀▀▀▀▀ ▄█▀▀ █\n█▀ ▀█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["walk_2", " \n ▄▄████▄ \n ██▀ ▄ ▀██▄ \n ▄▄▄█ █▀ ▄ ███ \n█ ▄█▄▄▄▄▄▄▀ ██▀ \n█ ▀▄▄▄▄▄▄▄▀ █ \n ▀▀█▄▄▄ █ █ █▄\n █▄▄▄▄█▀▄▄▄▄█▄█"]]], + ["gabumon", [["angry", "█▀▄ ▄▄▄▄▄▄▀▀▀█ \n▄▀ ▀ ▄▄ ▄▄█▀ \n▀▀▀▄ ██ ▄█ \n █ ▀██ \n ▄▀▀ ▄ ▀▀██▄ \n▄▀▀█▀▀ ▄▀▀▄ █ \n▀▄▄█▄ ▀▄▄▄▄█ \n█▄█▄█▀▀▀▀█▄▄█▄█ "], ["attack", " ▄▄ \n ▀▄▀▄▀▀▀▀▀▄▄ \n ▄▀ ▄█▀ ▀▄▄▀▀▄ \n ▀▄▄▄▀▀▀ ▄█▀▀▀ \n ▀▄▄▄ ▄▀█ \n▄▀▀▄▀ ▄▀▀ █ \n▀▄▄█▄ ▀▄▄██ \n █▄█▄█▄▄██▄█▄█ "], ["eat_1", " ▄▄ \n ▀▄▀▄▀▀▀▀▀▄▄ \n ▄▀ ▄█▀ ▀▄▄▀▀▄ \n ▀▄▄▄▀▀▀ ▄█▀▀▀ \n ▀▄▄▄ ▄▀█ \n▄▀▀▄▀ ▄▀▀ █ \n▀▄▄█▄ ▀▄▄██ \n █▄█▄█▄▄██▄█▄█ "], ["eat_2", "█▀▄ ▄▄▄▄▄▄▀▀▀█ \n▄▀ ▀ ▄▄ ▄▄█▀ \n▀▀▀▄ ██ ▄█ \n █ ▀██ \n ▄▀▀ ▄ ▀▀██▄ \n▄▀▀█▀▀ ▄▀▀▄ █ \n▀▄▄█▄ ▀▄▄▄▄█ \n█▄█▄█▀▀▀▀█▄▄█▄█ "], ["happy", "█▀▄ ▄▄▄▄▄ \n▄▀ ▀ ▄▄ ▀▀▄▄ \n▀▀▀▀▄▀ ▀▄▀▄▄█ \n █ ▀██ \n ▄▀▀ ▄ ▀▀██▄ \n▄▀▀█▀▀ ▄▀▀▄ █ \n▀▄▄█▄ ▀▄▄▄▄█ \n█▄█▄█▀▀▀▀█▄▄█▄█ "], ["injured_1", " ▄▄ \n ▀▄▀▄▀▀▀▀▀▄▄ \n ▄▀ ▀▄▄▀▀▄ \n ▀▄▄▄ ▀▄▄ ▄█▀▀▀ \n ▀▄▄▄ ▄▀█ \n▄▀▀▄▀ ▄▀▀ █ \n▀▄▄█▄ ▀▄▄██ \n █▄█▄█▄▄██▄█▄█ "], ["injured_2", " ▄▄ \n ▀▄▀▄▀▀▀▀▀▄▄ \n ▄▀ ▀▄▄▀▀▄ \n ▀▄▄▄ ▀▀ ▄█▀▀▀ \n ▀▄▄▄ ▄██ \n ▄▄▄▀ ▄███ \n █ ▀▀ █ ▀ █▀▄ \n █▄▄▄▄▄█▄▄▄█▄▄█ "], ["refuse", " ▄▄ \n ▀▄▀▄▀▀▀▀▀▄▄ \n ▄▀ ▀▄▄▀▀▄ \n ▀▄▄▄ ▀▀ ▄█▀▀▀ \n ▀▄▄▄ ▄▀█ \n▄▀▀▄▀ ▄▀▀ █ \n▀▄▄█▄ ▀▄▄██ \n █▄█▄█▄▄██▄█▄█ "], ["sleep_1", " ▄▄ \n ▀▄▀▄▀▀▀▀▀▄▄ \n ▄▀ ▀▄▄▀▀▄ \n ▀▄▄▄ ▀▀ ▄█▀▀▀ \n ▀▄▄▄ ▄██ \n ▄▄▄▀ ▄███ \n █ ▀▀ █ ▀ █▀▄ \n █▄▄▄▄▄█▄▄▄█▄▄█ "], ["sleep_2", " ▄▄ \n ▀▄▀▄▀▀▀▀▀▄▄ \n ▄▀ ▀▄▄▀▀▄ \n ▀▄▄▄ ▀▀ ▄█▀▀▀ \n ▀▄▄▄ ▄██ \n ▄▄▄▀ ▄███ \n █ ▀▀ █ ▀ █▀▄ \n █▄▄▄▄▄█▄▄▄█▄▄█ "], ["walk_1", " █▀▄ ▄▄▄▄▄ \n █ ▀ ▄▄ ▄▀▀▄▄ \n █ ██▄ ▀█▄▄█ \n █▀▀ ▀██ \n ▀█▀ ▀▀█▄ \n ▄▀█ █▄▀█▄ \n ▀▄█▄ █ ███ \n █▄█▄█▀▀██▄█▄█ "], ["walk_2", " ▄▄ \n ▀▄▀▄▀▀▀▀▀▄▄ \n ▄▀ ▄█▀ ▀▄▄▀▀▄ \n ▀▄▄▄▀▀▀ ▄█▀▀▀ \n ▀▄▄▄ ▄▀█ \n▄▀▀▄▀ ▄▀▀ █ \n▀▄▄█▄ ▀▄▄██ \n █▄█▄█▄▄██▄█▄█ "]]], + ["gabumon_bond_of_friendship", [["angry", " ▄██▄██ ▄▄ \n ▄▄██▀████▀ █▄ █\n ███▄▄████▀▄█▀▀ \n ▀██████▀ ▄█\n ▄▄▄▄▄█▀▄██▀ ▄▀█\n▄▀▀█▄█▄▀█▄ ▀███▀\n▀▄▄█▄▄████▄▄▀▀ \n █▄██ █▄█▄█ "], ["attack", " ▄▄ ▄▄ \n ▄██████▄ ▄▀▀▄\n ███▀ ▄███▄ ██▄▀\n █████████▄██ ▄\n ▄█▄▄▄██▀███ ██\n ▀█▄▀▄▀▄█▀█▄▄█▄█\n █▄█▀▀██ ██▄█▀ \n█▄██▀▀▀███▄█ "], ["eat_1", " ▄▄ ▄▄ \n ▄██████▄ ▄▀▀▄\n ███▀▄▀███▄ ██▄▀\n █████████▄██ ▄\n ▄█▄▄▄██▀███ ██\n ▀█▄▀▄▀▄█▀█▄▄█▄█\n █▄█▀▀██ ██▄█▀ \n█▄██▀▀▀███▄█ "], ["eat_2", " ▄██▄██ ▄▄ \n▄▄██▀▀███▀ █▄ █ \n███▄▄████▀▄█▀▀ \n ▀██████▀ ▄█ \n▄▄▄▄▄█▀▄██▀ ▄▀█ \n▄▀█▄█▄█▀ ██▀██▀ \n▀▄█▄▄██▄▄█▀▀▀ \n█▄██ █▄█▄█ "], ["happy", " ▄██▄██ ▄▄ \n ▄▄██▀████▀ █▄ █\n ███▄█▄███▀▄█▀▀ \n ▀██▀▀██▀ ▄█\n ▄▄▄▄▄██▄ █▀ ▄▀█\n ▄▀█▄█▄▀█▀██▀██▀\n ▀▄█▄▄█████▀▀▀ \n █▄██ █▄█▄█ "], ["injured_1", " \n ▄▄ ▄▄ ▄▄ \n ▄██████▄ █▄ █\n ███ ▀████▄▄█▀▀ \n █████████▄█▀ ▄█\n ▄█▄▄▄█▀███▀ ▄▀█\n▄▀▀█▄█▄█▀▀▀████▀\n█▄▄█▄▄██▄▄▄█▀ "], ["injured_2", " \n \n ▄██▄██ ▄▀▀▄ \n▄▄█▀█████▀ ██▄▀ \n███▄▄████▀██ ▄ \n▀█▀▀▀██▀███ ▄▀█ \n▄▀▀███▄█▀▀▀███▀ \n█▄▄█▄▄██▄▄▄█▀ "], ["refuse", " ▄▄ ▄▄ \n ▄██████▄ ▄▀▀▄\n ███▀ ████▄ ██▄▀\n █████████▄██ ▄\n ▄█▄▄▄██▀███ ██\n ▀█▄▀▄▀▄█▀█▄▄█▄█\n █▄█▀▀██ ██▄█▀ \n█▄██▀▀▀███▄█ "], ["sleep_1", " \n ▄▄ ▄▄ ▄▄ \n ▄██████▄ █▄ █\n ███▀▀████▄▄█▀▀ \n █████████▄█▀ ▄█\n ▄█▄▄▄█▀███▀ ▄▀█\n▄▀▀█▄█▄█▀▀▀████▀\n█▄▄█▄▄██▄▄▄█▀ "], ["sleep_2", " \n \n ▄██▄██ ▄▀▀▄ \n▄▄███████▀ ██▄▀ \n███▄▄████▀██ ▄ \n▀█▀▀▀██▀███ ▄▀█ \n▄▀▀███▄█▀▀▀███▀ \n█▄▄█▄▄██▄▄▄█▀ "], ["walk_1", " ▄██▄██ ▄▄ \n ▄▄██▀▀███▀ █▄ █\n ███▄▄████▀▄█▀▀ \n ▀█▀▀▀██████▀ ▄█\n ██▀█▀█▀▄██▀ ▄▀█\n ▄▀█▄█▄█▀ ██▀██▀\n ▀▄█▄▄██▄▄█▀▀▀ \n █▄██ █▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n ▄██████▄ ▄▀▀▄\n ███▀ ▄███▄ ██▄▀\n █████████▄██ ▄\n ▄█▄▄▄██▀███ ██\n ▀█▄▀▄▀▄█▀█▄▄█▄█\n █▄█▀▀██ ██▄█▀ \n█▄██▀▀▀███▄█ "]]], + ["gabumon_x", [["angry", " ▄▄▄ ▄▄▄ \n ▀▄▄█▀▀▀ ▀▀▄▄ \n▄█▄▄ ▄█▀ ▄▄▄ █▄\n█ ▀ ▀▄ ▄█▄▀▀▀\n █▄▄ █▄█▄ ▀█▄▀█\n█ ▀ █▀▄█ ▀ ▄▀▄█\n ▀███▀ ▀▀██▄▄█▀\n █▄▄██▄▄▄██▄█▄█ "], ["attack", " █▀▀▄▄▄▄▀▀█▄▄ \n ▄▀▀ ▄▄ ▄▄██▄\n█▀█▀▄ ██▄ ▄█▄ ▀▀\n▀▄▄▄▄▀▄ ▀▀▀▄ \n ▄▀▀▀▀ █▄▀▄▀▀ █\n ▀▀███▀ ▀▄▄▄█▄\n ▄█▄ █▄▄█▀\n █▄█▄█▀▀▀█▄▄█▄█"], ["eat_1", "█▀▀▄▄▄▀▀▀▀█▄▄ \n▄██▄ ▄█▀ ▄ ▀▄ \n█ ▀ ▀▄▀▀▀ ▄█▀▄██\n ▀██▀▀█▄ █▄ ▀\n ▄▀▀▀▀▀█▄▀▄▄ ▀▄ \n█ ▀▀█▀▀▄ █ ▀ █ \n ▀▄▄█▄ █ ▀█▄█▄ \n █▄█▄█▀▀▀█▄▄█▄█"], ["eat_2", " ▄▄▄ ▄▄▄ \n ▀▄▄█▀▀▀ ▀▀▄▄ \n▄█▄▄ ▄▀▄ ▄▄ ▀▄\n█ ▀ ▀▄ ▄█▄▀██\n █▀▀▀ █▄▀ ▀█ ▄▄\n ▄▀▀█▀ ▄▀ ▄▄ ▀▄█\n █ ██ ▄▀▀ ▄█▄▄█▀\n █▄███▄▄▄█▄█▄█ "], ["happy", " █▀▀▄▄▄▄▀▀█ ▄▄▄\n ▄▀▀ ▄ ▀▀▀▄█▀\n█▀█▀▄▄▀ ▀ ▄█▀▄▄▄\n▀▄▄▄▄▄▀▄ ▄█▀ █\n █▀▀▀▀ ▄▀▄ ▄▀▀ \n █▀█▀▀ █ ▀▄ \n ▄█▄ ▄█▄█ \n █▄█▄█▀▀▀█▄▄█▄█ "], ["injured_1", " ▄▄▄ ▄▄▄ \n ▀▄▄█▀▀▀ ▀▀▄ \n▄█▄▄ █▄▄ ▀▄ ▀▄ \n█ ▀ ▀▄ ▄██▄██\n ▀▄▄ █▄█▄ ▀█ ▀▀\n ▄▀█▀ █ ▄▄ ▀▄ \n █ ▄█ ▄▀▀ ▄█▄▄▀▄\n █▄███▄▄▄█▄█▄█▀"], ["injured_2", " \n █▀▀▄▄▄▄▀▀█▄ \n ▄▀▀▀ ▄ ▄ ▀▄ \n█▀█▀▄ ▀▀▀ █▄ █▄\n▀▄ ▀▄ ▄ ▀██▀██\n █▀▄▄▀▀█▀▄▄ ▀▄ \n █ ▄█ ▄▀▀ ▄█▄▄▀▄\n █▄███▄▄▄█▄█▄█▀"], ["sleep_1", " \n █▀▀▄▄▄▄▀▀█▄ \n ▄▀▀▀ ▄ ▀▀▄ \n█▀█▀▄ ▀▀▀ █▀▄▄█\n▀▄ ▀▄ ▄ ▀█▄ ▀▀\n▄▄▀█▄▄▀█▀▀ ▄█▄██\n█ ▀█ ▄▀▀ █ ▀ █▀\n█▄▄█▄▄█▄▄▄█▄▄▄█ "], ["sleep_2", " ▄▄▄ ▄▄▄ \n ▀▄▄█▀▀▀ ▀▀▄ \n▄█▄▄ ▄▄▄ ▀▄ ▀▄ \n█ ▀ ▀▄ ▄█▀▄██\n ▀▄▄ █▄█▄ ▀█ ▄▄\n▄█ ▄▀▀ ▄▀ ▄▄█▄█\n█ ▀█ ▄▀▀ █ ▀ █▀\n█▄▄█▄▄█▄▄▄█▄▄▄█ "], ["walk_1", " █▀▀▄▄▄▄▀▀█▄ \n ▄▀▀▀ ▄▄ ▀▀▄ \n█▀█▀▄ ██▄ █▀▄▄▀\n▀▄ ▀▄ ▄ ▀▄█ ▀▀\n ▀█▄▄▀▀▄▄ ▀▄▀█\n ▄▀▄▀ █ ▄█ ▀▄▀\n ▀▄▀▄ █▀▀ █▄▄█▀\n █▄▀▄▀▀▄▄▄▀▀▄▀▄▀"], ["walk_2", " ▄▄▄ ▄▄▄ \n ▀▄▄█▀▀▀ ▀▀▄▄ \n▄█▄▄ ▄█▀ ▄▄ ▀▄\n█ ▀ ▀▄▀▀▀ ▄█▄▀██\n ▀▄▄ █▄▀ ▀█ ▄▄\n ▄▀ █▀ ▄▀ ▄▄ ▀▄█\n █ ██ ▄▀▀ ▄█▄▄█▀\n █▄███▄▄▄█▄█▄█ "]]], + ["gaiomon", [["angry", " ▄▄ ▄ \n▄▀ █▄████▀▀ █▄▄ \n█▄███▀▀ ███▀ ▄▀\n▀█▀▀▀██▀▀ ▄█▄▄ █\n █▄▄▄▄▄████▀ █ \n █ █ ▀▀▀ █ ▀██ \n ▄███▄█▄██████▄ \n█▄█▄██▀▀██▄█▄█▄█"], ["attack", " ▄▄ ▄ \n ▄▀ █▄████▀▀ █▄▄\n █▄███▀▀ ███▀ ▄▀\n ▀█▀▀▀██▀▀ ▄█▄ █\n█▀▄▀▄▄▄▄▄█▀█▀ █ \n█ ▀▄ █▀▄▄ ▄█▀█▄ \n█ ▀▀▄ ▀█▀ ▄██ \n ▀▄▄▄▄█▄▄█▄▄██▄█"], ["eat_1", " ▄▀█ ▄▄▄▄▄▄▀▄ \n█ ▄███▀██▄▄▄▀▀▀▄\n█████▄█▄█▀▀▄ ▀▄\n ▀▄ ▀▀▄▄▄███▀▄█\n▄▀█ ▄█▀▀██▄▄█ \n▀▄▄██▀▄ ▄█▀ ▀█▀ \n ▄█▀████▀▄▄█▄ \n █▄█▄█▀▀█▄█▄█▄█ "], ["eat_2", " ▄▄ ▄ \n▄▀ █▄████▀▀ █▄▄ \n█▄███▀▄▀███▀ ▄▀\n▀█▀▀▀██▀▀ ▄█▄▄ █\n ▀▄▄▄▄▄████▀ █ \n ▄▀█ ▀▀▀ ▄▀ ▀██ \n █▄██▄█▄██▄▄██▄ \n█▄█▄██▀▀██▄█▄█▄█"], ["happy", " ▄▀█ ▄▄▄▄▄▄▀▄ \n█ ▄███▀██▄▄▄▀▀▀▄\n█████▄█▄█▀▀▄▄ ▀▄\n ▀▄ ▀▀ ▄▄█ █▄█\n ▄█▀███▀█ ▄▀▄ \n █▄█▄ ▄ ▄███▀▀ \n █▄▀████▀▀██▄ \n █▄█▄█▀▀█▄█▄█▄█ "], ["injured_1", " \n ▄▀█ ▄▄▄▄▄▄▀▄ \n█ ▄██▀███▄▄▄▀▀▀▄\n██████▄▄█▀█▄▄ ▀▄\n ▀▄ ▀▀ ▄▄█▀ █▄█\n ▄▀██▀▀▀▀██▀█▀ \n ▀█ ▀▄█▄█▀ ██▄ \n █▄█▄█▀▀█▄▄▄█▄█ "], ["injured_2", " \n ▄▄ ▄ \n▄▀ █▄████▀▀ █▄▄ \n█▄███▄▀▀███▀ ▄▀\n▀█▀▀▀██▀▀ ██▀▄ █\n ▄█▄▄▄▄▄███▄▄█▀▀\n█▄█ ▀▄█▄█▀ ██▄ \n █▄█▄█▀▀█▄▄▄█▄█ "], ["sleep_1", " \n ▄▄ ▄ \n▄▀ █▄████▀▀ █▀▀▄\n█▄███▀▀▀███▀ ▀▄\n▀█▀▀▀██▀▀ ▄█▄▀▄█\n▄▄█▄▄▄▄▄▀███▄▄█ \n█ ▀█▄█▄▀ ▀█ █ \n█▄▄▄████▄▄▄▄█▀ "], ["sleep_2", " \n ▄▀█ ▄▄▄▄▄▄▀▄ \n █ ▄██████▄▄▄▀▀▄\n █████▄▄▄█▀▀▄ ▀▄\n ▀▄ ▀▀ ▄▄██▀▄█\n▄▄▄▄▀▀▀▀▀▄██▄▄█ \n█ ▀█▄█▄▀ ▀█ █ \n█▄▄▄████▄▄▄▄█▀ "], ["walk_1", " ▄▀█ ▄▄▄▄▄▄▀▄ \n█ ▄███▀▀█▄▄▄▀▀▀▄\n█████▄▄██▀▀▄ ▀▄\n ▀▄ ▀▀ ▄▄███▀▄▀\n ▄█▀███▀▀██▄▄█ \n █▀█▄ ▄ ▄█▀ ▀█▀ \n ▀▄█▀████▀▄▄█▄ \n █▄█▄█▀▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄ \n▄▀ █▄████▀▀ █▄▄ \n█▄███▀ ▄███▀ ▄▀\n▀█▀▀▀██▀▀ ▄█▄▄ █\n ▀▄▄▄▄▄████▀ █ \n▄▀██ ▀▀▀ ▄█▀▀▀█ \n▀▄███▄█▄███▄▄█▄ \n█▄█▄██▀▀██▄█▄█▄█"]]], + ["gallantmon", [["angry", " ▄▄ ▄▄▄ \n ▄██▀█ ▄█ \n █ ▄█▀█▀▀▄ \n ▄▀█▀▀▀▀█▄▀▀▀▄ \n▄▀▄█▀▀▀▀ ▀▄▄▄▀▀▄\n█▀▄█▄█▀▄████▀▀▄█\n▀▄█▀ ▄█ ▄▄██▄▄██\n █▄█▄████▄█▄█ ▀█"], ["attack", " ▄██▄▀█▄▄▄▀▀▀█▀\n▄▀▀▀ ▄█ █ ▀▀▀▄ \n█▄▄██▄▀█ █ █ \n █▄▄▄▄▀▀█▄▀▄▄ █\n▄▀▀▄▄▄ ▄█▄█▄▄▀▀█\n█ ▀▄ ▀█▀██▀ ▀▀▀\n █▄ ▀██▀▄ ▄█▄▄ \n█▄▄█▄█ ▀██▄█▄█ "], ["eat_1", " ▄▄▄██▄▀▀█ \n █ ▄▄▀▄▄█ \n █████▀█ ▄█▄ \n▄▀▀█▄▄▄▄▀█ █▄ \n█▄▄█ ▄▄ ▄▄█▀▀ █▄\n▀▄ ▄▀█▄▀▀██▀▀▄██\n ▄█▀ ▄█ ▄▄█▄▄▀▀█\n █▄█▄████▄█▄█ "], ["eat_2", " ▄▄ ▄▄▄ \n ▄██▀▀ ▄█ \n █ ▄▀ █▀▀▄ \n ▄▀█▀▀▀▀█▄▀▀▀▄ \n ▀▄█▀▀▀▀ ▀▄▄▄▀▄ \n █▄█▄█▀▄███▄▄ █▄\n█▄█▀ ▄█ ▄▄█ ███\n █▄█▄████▄███ ▀█"], ["happy", " ▄▀▀▄██▄▀▀█▀▀▄ \n▄▀▄▀▀▄▀▄▄██▄▄▀▄ \n█ █▄▄▄▄▄█ ██▄ █ \n █ █▄▄▄▄▀█ █ \n ▀██ ▄▄ ▄▄█████ \n █▀█▄▀▀▄▄█████\n ▄▀ ▄█ ▄▄█▄█▀██\n █▄█▄████▄█▄█ ▀"], ["injured_1", " \n ▄██▄▀▀█ \n ▄▀▀▀ ▄▄██ \n █▄▄████ ▄█▄ \n ▄▀█▄▄▄▄▀█ █▄ \n▄▀▀█▄█▀▄██▀▀▀██▄\n▀▄█▀ ▄█ ▄▀▀▄████\n █▄█▄█▀▀█▄▄██ ▀█"], ["injured_2", " \n ▄▄ ▄▄▄ \n ▄██▀▀ ▄█ \n █ ▄▄██▀▀▄ \n ██▀▀▀▀█▄▀▀▀▄ \n▄█▄█▀██▀▄█▄▄▄██ \n▀▄▄▀▀█▄▀█▀▀▄████\n █▄█▄█▀██▄▄██▀██"], ["sleep_1", " ▄▄ ▄▄▄ \n ▄██▀▀ ▄█ \n █ ▀▀▄▀▀▄ \n ▄▀█▀▀▀▀█▄▀▀▀▄ \n ▀▄█▀▀▀▀ ▀▄▄▄▀▄ \n █▄▀▄██▄███▄▄ █▄\n█ ▄█ █▄▄▄█ ███\n ▀█▄█▄██▄█▄█▀ ▀█"], ["sleep_2", " ▄██▄▀▀█ \n ▄▀▀▀▄▄ ██ \n █▄▄▄▄▄█ ▄█▄ \n █ █▄▄▄▄▀█ █ \n ▄▀█ ▄▄ ▄▄█▀▀ █ \n▄▀▀▄▀█▄▀▀██▀▀▄██\n▀▄██ █▄▄▄█▄▄▀██\n █▄█▄██▄█▄█ ▀"], ["walk_1", " ▄██▄▀▀█ \n ▄▀▀▀ ▄▄█▀ \n █▄▄██▄█ █▄▄ \n █ █▄▄▄▄▀█ █ \n ▄▀█ ▄▄ ▄▄█▀▀▄ \n▄▀▀▄▀ ▀█ ▀▄█▄ \n▀▄█▀▀▄█ ▄█▀████▄\n █▄█▄▄█▀█▄█▄█▀▀ "], ["walk_2", " ▄▄ ▄▄▄ \n ▄██▀▀ ▄█ \n █ ▄▄▀█▀▀▄ \n ▄▀█▀▀▀▀█▄▀▀▀▄ \n ▀▄█▀▀▀▀▄█▄▄▄▀▄ \n █▄▀▄█▀▄▀▀██▄▄ █\n▄█ ▄███▄ █ ██\n█▄█▄█▀▀▀ ▀█▄█▀▀█"]]], + ["gallantmon_x", [["angry", " ▄▄▄▄▄ ▄▄▄▄ \n ▄█▄█▀▀ ▀ ▄▀ \n █ ▀ ▄██▀█▄▄ \n █▀▀▀▀█▄▀ ▄█▄ \n ▄█▀▀▀▀▄█▄█▀ ▄█\n █ ▀█▄▄█▄█ █ █ █\n█ ▄█▀▄ ▄▀▀██ ▀▄█\n██▄█▄█▀▀█▄█▄█▄▄▀"], ["attack", " ▄▄▀██▀█▀▀▀█▀▄▄ \n █▀▀ ▄█▄▄▄▀▄▀ ▄█\n ▀▄▄█▄██ █▀█ █ █\n ▄█▄▄▄▄▀█ ▄█ █ █\n█▄▀ █ ▄▀██▄█▄ ▀█\n▀▄ █▀▀▀▄▄███▀▀\n ▀▄ █▄█ ▀███▄\n █▄█▄▄▀ ▀▄█▄▄█▀"], ["eat_1", " ▄▀███▀▄▀▀█▀ \n █▀█▀ ▄▄▄▄▀ \n ▀▄▄▄█▄█ █▀█▄ \n █████ █▄▀ ▄█ \n ▄█▄▀▀▄▀██ █ █ \n █ █▀▀▀███ ▀▄██\n █▀ █▄█ ▀█▄▄▀█\n █▄█▄▄▀ ▀▄█▄▄█ ▀"], ["eat_2", " ▄▄▄▄▄ ▄▄▄▄ \n ▄█▄█▀▀ ▀ ▄▀ \n █ ▀ ▄▀█▀█▄▄ \n █▀▀▀▀█▄▀ ▄█ \n ▄█▀▀▀▀▄█▄▀ ▄█ \n █ ▀█▄▄█▄██ █ █▄\n█ ▄█▀▄ ▄▀▀█ ▀▄██\n██▄█▄▀▀▀▀▄▄█▄▄▀▀"], ["happy", " ▄▄▀███▀▄▀▀█▀ \n █▀█▀ ▄▄▄▄▀ \n▄▀█▄▄▄▀▄▀█ █▄▀▀▄\n▀▄ █▀▀▀▀▀▄▀█ ▄▀█\n ▀██▀▀█▀█▄█ █ █\n █▀▀▀████▄ ▀█\n ▄▀ █▄█ ▀████▄\n █▄█▄▄▀ ▀▄█▄▄█▀▀"], ["injured_1", " \n ▄▀███▀▄▀▀█▀ \n █▀█▀ ▄▄▄▀ \n ▀▄▄▄███ █▄▀█▄▄ \n ▀▄▄▄▄▀▀█ ▄▀ ▄█\n ▄▀▄ ▄▀███ █ █\n █ █▀▀█▀▀██ ▀▄█\n█▄▄███▄█▄▄▄██▄▄▀"], ["injured_2", " \n ▄▄▄▄▄ ▄▄▄▄ \n▄█▄█▀▀ ▀ ▄▀ \n█ ▀ ▄▄█▀█▄▄▀█▄▄ \n █▀▀▀▀█▄▀█ ▄▀ ▄█\n ██▀▀ ▄▀███ █ █\n █ ██▀▀█▀▀██ ▀▄█\n█▄▄███▄█▄▄▄██▄▄▀"], ["sleep_1", " \n \n ▄▀███▀▄▀▀█▀ \n █▀█▀ ▄▄▀ ▄▄ \n ▀▄▄▄▄█▀▄▀█▀ ▄█ \n ▄▀▄▄▄▄▀ ██ █ █▄\n█▀▀██▄▄█▀▀█ ▀▄██\n█▄▄▄█▄▄█▄▄▄█▄▄██"], ["sleep_2", " \n ▄▄▄▄▄ ▄▄▄▄ \n ▄█▄█▀▀ ▀ ▄▀ \n █ ▀ ▄▄▀█ ▄▄ \n █▀▀▀▀▄▀▄▀ ▄█ \n ▄▀█▀▀▀▀ ██ █ █▄\n█▀▀██▄▄█▀▀█ ▀▄██\n█▄▄▄█▄▄█▄▄▄█▄▄██"], ["walk_1", " ▄▀███▀▄▀▀█▀ \n █▀█▀ ▄▄▄▄▀ \n █▄▄▄█▄█ █▀▀▄ \n █▄▄▄▄▀█ ▄▀▀▄ \n ▄▀█▄ ▄▀██ ▄▀█ \n▄▀ ▄█▀▀▀███ █ ██\n█▄█▀ █▄█ ▀▄ ▀██\n █▄█▄▄█ ▀▄█▄█▀ ▀"], ["walk_2", " ▄▄▄▄▄ ▄▄▄▄ \n ▄█▄█▀▀ ▀ ▄▀ \n █ ▀ ▄▀█▀█▄▄ \n █▀▀▀▀█▄▀ ▄█ \n ▄▀█▀▀▀▀▄█▄▀ ▄█ \n█▀ ▄█▄▄█▄██ █ █▄\n█▄█▀▀▄ ▄▀▀█ ▀▄██\n█▄█▄▄▀▀▀▀▄▄█▄▄▀▀"]]], + ["gankoomon", [["angry", " ▀███▄▄▀▀▄███▀ \n ▄ █ ▀█▄█▀ █ ▄ \n█ ▀██▄▄█▄▄██▄▀ █\n█▀▀█ ▄▄▄▄▄ █▀▀▄█\n█ ▄██▄█▄█▄██▄ ██\n█▄▄▄█ ▄▄▄ █▄▄▄▀█\n█▀▄▀▀▀▄▄▄▀▀▀▄ ▀█\n █▄▄▄█ █▄▄▄█ "], ["attack", "▄▄▄ ▄▄▄ ▄▄▄ \n████ ▄████▀ ▄▀▀█\n █▀███▀▀██▄▀ ▀▀▄\n █▄▄█▄▄█▀█▀ ▀▀▄\n█▀█▀▀▀▀▄▀▀▀▄▀▀▀ \n█▄▄▀▀▀▀ ▀▄▄▀▄ ▄▄\n█▄▀▀███▄▀▀▀▄█▀▄▀\n█▄▄▄█ █▄▄▄█▀ "], ["eat_1", "███▄▀▀█▄███ ▄▄▄\n▀███▄█████ ▄▀▄▄▀\n █ ▀█▀ ▄███ ▄▄▀\n▄██████▀▄█▄ ▄▄▄▀\n█ ▀▄▄▄▄▀▄ █ \n█▀█ ▄▄▄ █▀ █ \n▀▄▀▀▄▄▄▀▀▀▄▄▀▀▄ \n█▄▄▄█ █▄▄▄█▀▀▄█"], ["eat_2", "███▄▀▀█▄███ ▄▄▄\n▀███▄█████ ▄▀▄▄▀\n █ ▀█▀ ▄███ ▄▄▀\n▄██████▀▄█▄ ▄▄▄▀\n█ ▀▄▄▄▄▀▄ █ \n█▀█ ▄▄▄ █▀ █ \n▀▄▀▀▄▄▄▀▀▀▄▄▀▀▄ \n█▄▄▄█ █▄▄▄█▀▀▄█"], ["happy", "███▄▀▀█▄███ ▄▄▄\n▀███▄█████ ▄▀▄▄▀\n █ ▀█▀ ▄███ ▄▄▀\n▄██████▀▄█▄ ▄▄▄▀\n█ ▀▄▄▄▄▀▄ █ \n█▀█ ▄▄▄ █▀ █ \n▀▄▀▀▄▄▄▀▀▀▄▄▀▀▄ \n█▄▄▄█ █▄▄▄█▀▀▄█"], ["injured_1", "███▄▀▀█▄███ ▄▄▄\n▀███▄█████ ▄▀▄▄▀\n █ ▀█▀ ▄███ ▄▄▀\n▄██████▀▄█▄ ▄▄▄▀\n█ ▀▄▄▄▄▀▄ █ \n█▀█ ▄▄▄ █▀ █ \n▀▄▀▀▄▄▄▀▀▀▄▄▀▀▄ \n█▄▄▄█ █▄▄▄█▀▀▄█"], ["injured_2", " \n ▄▄ ▄▄▄ ▄▄▄ \n████▀ ▄█████ \n▀███▄█████ ▄▄ \n █████████▄▀ █ \n▄▀▄▄██▄▄▀ █ ▄ █\n▀█▀▄▄▄▄▄█▀▀█▄█▄█\n█▄▄█▄▄█▄█▄▄▄█▄▄█"], ["refuse", "███▄▀▀█▄███ ▄▄▄\n▀███▄█████ ▄▀▄▄▀\n █ ▀█▀ ▄███ ▄▄▀\n▄██████▀▄█▄ ▄▄▄▀\n█ ▀▄▄▄▄▀▄ █ \n█▀█ ▄▄▄ █▀ █ \n▀▄▀▀▄▄▄▀▀▀▄▄▀▀▄ \n█▄▄▄█ █▄▄▄█▀▀▄█"], ["sleep_1", "███▄▀▀█▄███ ▄▄▄\n▀███▄█████ ▄▀▄▄▀\n █ ▀█▀ ▄███ ▄▄▀\n▄██████▀▄█▄ ▄▄▄▀\n█ ▀▄▄▄▄▀▄ █ \n█▀█ ▄▄▄ █▀ █ \n▀▄▀▀▄▄▄▀▀▀▄▄▀▀▄ \n█▄▄▄█ █▄▄▄█▀▀▄█"], ["sleep_2", "███▄▀▀█▄███ ▄▄▄\n▀███▄█████ ▄▀▄▄▀\n █ ▀█▀ ▄███ ▄▄▀\n▄██████▀▄█▄ ▄▄▄▀\n█ ▀▄▄▄▄▀▄ █ \n█▀█ ▄▄▄ █▀ █ \n▀▄▀▀▄▄▄▀▀▀▄▄▀▀▄ \n█▄▄▄█ █▄▄▄█▀▀▄█"], ["walk_1", "███▄▀▀█▄███ ▄▄▄\n▀███▄█████ ▄▀▄▄▀\n █ ▀█▀ ▄███ ▄▄▀\n▄██████▀▄█▄ ▄▄▄▀\n█ ▀▄▄▄▄▀▄ █ \n█▀█ ▄▄▄ █▀ █ \n▀▄▀▀▄▄▄▀▀▀▄▄▀▀▄ \n█▄▄▄█ █▄▄▄█▀▀▄█"], ["walk_2", "▄▄▄ ▄▄▄ ▄▄▄ \n████ ▄████▀ ▄▀▀█\n █▀███▀▀██▄▀ ▀▀▄\n █▄▄█▄▄█▀█▀ ▀▀▄\n█▀█▀▀▀▀▄▀▀▀▄▀▀▀ \n█▄▄▀▀▀▀ ▀▄▄▀▄ ▄▄\n█▄▀▀███▄▀▀▀▄█▀▄▀\n█▄▄▄█ █▄▄▄█▀ "]]], + ["gankoomon_x", [["angry", " ▄▄▄▄▄▄▄▄ \n ▄▀█▀█▀█▀▀█▄ \n █ ▀▄▀ ██▄ ▄\n █▄▄▄▄▀▀█ ▀▀ \n █▄ ▄ ▄▀▀▀▄▄ \n ▄▀▄▀▀▀▀ ▄▀▀ ▄▀\n ▀▄▄▀▀▀▀▀▀▄▄█ \n █▄▄▄▀▀▀▀▀▄▄▄█ "], ["attack", " ▄▄▄██████▀ \n ▄▄█ █ █ ▀ ██▀ \n█ ▀▄ ▀ ▄███▀█▄\n▀▄ █▀▀▀▀ ▄█▄ ▄ \n ▀▄█ █▄█▄▀▄▄▄▀ █\n ▀▄▄▄▄██ ▄▀\n ▄▀ ▄▄▀▀█▀ \n █▄▄▄▀ ▀█▄█ "], ["eat_1", " ▄▀█▀█▀█▀▀██▀ \n █ ▀▄▀ ███▀ \n ▀▄▄▄▄█▀██▄▄ \n ▄▀▀▄████▀ █▄ ▀▀\n █ █▄ ▄ ▄▀▄ █▀▄\n ▀▄▀▄█▀▀▀ ▄█▀ █\n ▄▀▀▀▀▀▀▀▄▄▀ \n █▄▄▄▀▀▀▄▄▄█ "], ["eat_2", " ▄▄▄▄▄▄▄▄ \n ▄▀█▀█▀█▀▀█▄ \n █ ▀▄▀ ▄▄██▄▄ \n █▄▄▄▄▀ █ ▀▀\n ▄▀▄ ▄ ▄▀▀▀▄▄ \n ▄▀▄▀▀▀▀ ▄▀▀ ▄▀\n ▀▄▀▀▀▀▀▀▀▄▄█ \n █▄▄▄▀▀▀▀▀▄▄▄█ "], ["happy", " ▄▀█▀█▀█▀▀█▀ \n █ ▀▄▀ ██▀ \n █▄▄▄▄█▀██▀▀▄\n █▀▀▀▀ ▄█ █\n ▄▄ █▄█▄▀ ▄█ ▄▀\n █ ▀█▄▄▄▄██ ▀ \n ▀▀█▀ ▄▄ ▀▄ \n █▄▄▄▀ ▀▄▄▄█ "], ["injured_1", " ▄▄▄▄▄▄▄▄ \n █████████▄ \n █ █ █ ▀ ▄█▄▄ \n ▀▄ ▀ ▄▄██ ▀█\n █▀▀▀▀ ▄▀ █ \n ▄▀█▄█▄▀ ▄▀ █ \n █ █▄▄▄▄▀ █ \n █▄▄▄▀▄▄█▄▄▄█▄█"], ["injured_2", " \n ▄▄███████▀ \n ▄▀█▀█▀█▀▀█▀ \n █ ▀▄▀ ██▀█▄\n █▄▄▄▄▀▀█▀█ ▀\n ▄▀▄ ▄ ▄▀▄▀ █ \n █ ▀███▄▄▀ █ \n █▄▄▄▀▄▄█▄▄▄█▄█"], ["sleep_1", " \n ▄▄███████▀ \n █▀█▀█▀█▀▀█▀▄▄ \n █ ▀▄▀ ▄██▀▀ \n █▄▄▄▄▀▄█ ▀▄▀▄\n ▄█▄ ▄ ▄▀▄█▀ █\n █ ▀███▄█ ▀▄▄▀\n █▄▄▄█▄▄▄█▄▄▄█ "], ["sleep_2", " ▄▄▄▄▄▄▄▄ \n ▄█████████▄ \n █ █ █ ▀ ▄█▄▄ \n ▀▄ ▀ ▄▀█▄ ▀▀ \n █▀▀▀▀ █▀ ▀▄▀▄\n █▄█▄█▄▀ ▄█▀ █\n █ ▀▄▄▄▄█ ▀▄▄▀\n █▄▄▄█▄▄▄█▄▄▄█ "], ["walk_1", " ▄▄███████▀ \n █ █ █ ▀ ▄█▀ \n ▀▄ ▀ ▄▄█▀█▄ \n █▀▀▀▀ ▄█▄ ▀ \n ▄▀█ █▄█▄▀ ▄ █▀▄\n █ ▀▄▄▄▄▄██▀ █\n ▀▄▄▀ ▄▄ ▀▄▄▀ \n █▄▄▄▀ ▀▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄▄▄ \n ▄▀█▀█▀█▀▀█▄ \n █ ▀▄▀ ██▄▄ \n █▄▄▄▄▀▀█ ▀▀\n ▄▀▄▀▄ ▄ ▄▀▀▀▄▀▄\n █ ▀▄▀▀▀▀ ▄█▀ █\n ▀▄▄▀▀▀▀▀▀▀▀▄▄▀ \n █▄▄▄▀▀▀▀▀▄▄▄█ "]]], + ["gaogamon", [["angry", " █▀▄ ▄▀█ ▄▄▄\n █▄▀▀▀▀▀ ▄█▀▄ █\n ▄▀ ▄█ █▄▀ ▀▀\n█▀█▀ ▀▀ █▀█ █▀▄\n▀▄▄▄▄▄▄▄▀ ▄█▄▀ █\n ▀▄▄ ▄▄▄▀▄ █▄▀ \n █ ▀▀▄▀ ▄▀ █ \n █▄█▄█▄▄█▄█▄█▄█ "], ["attack", " ▄▄ ▄▄▄▄▀▀█\n ▄▀▄█▄▄▀ ▄▀▄▀█▄\n █▀ ▄█ █▀ █ █\n▄▀▄▄▄▄▀▀ █▄▀ ▄▀\n▀██████▄ █ █ █\n ▄▀▀▀▀▀▄▀▄▀ █ █\n ██▀▀██▄▀ ▄▀█ █\n█▄▄██▄▄▄▄▀ █▄█▄█"], ["eat_1", " ▄▄ ▄▄ \n █ █▄▄▄█ █ ▄▀▀█\n▄▀▀▀ ▄ █▀▄▀█▄\n█▀███▄▀ ▀ █▀ █ █\n ▀▄████ █▀█▄▀ █\n █▄▄▄▄▄▄▀ ▄▀ ▀▄\n █▄▄ ▄▄▄▀▄█▄ █\n█▄▄███▄▄▄█▄▄▄▄▄▀"], ["eat_2", " █▀█ \n ▄▄▄ ▄▄▄▄▀▄▀ \n █▄▀▀▀▀▀ ▄█▀▄▄ \n ▄▀ ▄▀▄ █ █ ▀▄\n█▀█▀ █▀█▄▀ █\n▀▄▄▄▄▄▄▄▀ ▄▀ ▀▄\n █▄▄ ▄▄▄▀▄█▄ █\n█▄▄███▄▄▄█▄▄▄▄▄▀"], ["happy", " ▄▀█▄▄▄ ▄▀█ \n █▀ ▄ ▀ ▄▀ ▄▄▄\n█▀ ▀ ▀ ▄█▄█▄▄█\n█████▄ ▄▀▄▀ █ \n▄█▀▀▀▀▀▄▀▄▀ ▄▀▄▄\n▀▄▀▀▀▀▀▄▄▀ ██ █\n ▀█▄▄▀ ▄ ▄█▄▀\n █▄▄▄█▀▀▀▄▄▄▄█ "], ["injured_1", " \n \n ▄▄ ▄▄▄▄ ▄▄▄ \n █▄▀ ▀ ▄█▀▀▀█\n▄█▄▄ ▀▄▄ ▄█▄▀▀█▀\n█▄█▄▄▄▄▄▀ ▄▀▀▀ █\n▄▀▄▄ ▄▄▄█▀▄▄▀ █\n█▄▄▄██▄▄▄▄█▄▄▄▄▀"], ["injured_2", " \n \n \n █▀▄▀▀▀▀▄▀▀█ \n █▀ ▄ █▄▀▀▀█\n█▀█▀ ▀▀▄█▀▄▀▀▀█\n██▀▀▀▀▀▀ ▄█▄▄▀ █\n█▄██▄▄███▄█▄▄▄▄▀"], ["sleep_1", " \n \n ▄▄▄ ▄▄▄▄█▀█ \n ▀▄▀▀▀▀▀▀ ▄█▀▄▀ \n ▄▀ ▄▄▄ █▄▀▀▄ \n█▀█▀ ▄▀█▀▀▀ █\n██▀▀▀▀▀▀▄█▀▄▄▀ █\n█▄██▄▄██▄▄█▄▄▄▄▀"], ["sleep_2", " \n \n █▀█▄▄▄▄█▀▀█ ▄▄▄\n █ ██▀▄▄█\n▄█▄▄ ▀▀▀ ▄█▄▀▀▄ \n█▄█▄▄▄▄▄▀ ▄▀▀▀ █\n▄▀▄▄ ▄▄▄█▀▄▄▀ █\n█▄▄▄██▄▄▄▄█▄▄▄▄▀"], ["walk_1", " ▄▄▄ ▄▄▄▄▄▀▀█\n █▄▀▀▀▀▀ ▄▀▄▀▀▀\n ▄▀ ▄▀█▀ █▀ ▄▀█\n█▀█▀ ▀▀ █▀█▄█ █\n▀▄▄▄▄▄▄▄▀ ▄▀ █\n ▀▄▄ ▄▄▄▀ ▄ █ \n ▄▀ ▀█ ▄▄▄██ █\n█▄█▄█▄█▄█ ██▄█▄█"], ["walk_2", " ▄▀██▄▄▄▀▀▀█▄▄▄\n █▀ ▄▄▄ ▄▀▄▄▄▀\n▄█▄▄ █▄▀ ▄██ ▄▀█\n█ ▀ ▄▀ █▀ ▄▀\n █▀▀▀▀▀▀ ▄▀ ▄▀ \n▄▀█▀▄▄▀▀▀ █ \n█ █ █▄▄▄▄█ ▀▀█\n ▀▀▀▀ ▀▄█▄▄▄▀"]]], + ["gaomon", [["angry", " ▄▄▄ ▄▄▄ \n █ ▄█▄▄█▄ █ \n █▄▄▄▄▄▄██▄ \n ▄▀▄ ▄█▀ █▄█ \n ▀█ ▀ ▄▀▄ \n ▄▀ ████▀█ ▄ █ \n █▄▀█▄ ▄ █▄█ \n █▄▄▄▄████▄▄▄█ "], ["attack", " ▄▄▄ ▄▄▄ \n █ ▄█▄▄█▄ █ \n █▄▄▄▄▄▄██▀█ \n ▄▄█▄ ▄█▀ ██▄▄\n █ ▀▄▄▄▄▄ ▄█ █\n ▀▀█████ ▄▀▄▄▀ \n ▀▄▄▄▄▀ ▀▄▄ \n █▄▄▄███▄▄▄█ "], ["eat_1", " █▀▀▄ █▀▀█ \n ▀▄▀▀▀▀▀▀▄█ \n █▀▀▀██▀▀█▀▄ \n █▄█▄▄▀ █▀▀ \n █ █▀▀ ▄▄▀▀▀▀▄ \n ▀▄▄▀█▀▀ ▀ ▄█▄▀ \n █▀▄ ▄ █▄▄ \n █▄▄▄███▄▄▄█ "], ["eat_2", " ▄▄▄ ▄▄▄ \n █ ▄█▄▄█▄ █ \n █▄▄▄▄▄▄██▄ \n ▄▀▄ ▄▀▄ █▄█ \n ▀█▀▀ ▄▀ \n ▄██▀█▀█ █▄▄ \n ▀█▄ █▄▄█▀ █ \n █▄▄█▄▄▄██▀ "], ["happy", " ▄▀▀▄ █▀▀▄ \n ▀▄▀▀▀▀▀▀▄█▀█ \n █▀▀▀▀█▀▀█▀ \n ▄▀█▄█▄▄▀ ▀ █▀▀▄\n ▀▄ ▀█▀▀ ▄▀▀ ▄▀\n ▀▄ ▀▀▀▀ ▄▀▀ \n ▄▀▀▄ ▄ █▄ \n █▄▄▄█▀▀▀█▄▄▄█ "], ["injured_1", " ▄▄▄ ▄▄▄ \n █ ▄█▄▄█▄ █ \n █▄▄▄▄▄▄██▄ \n ▄▀▄ ▄▄ █▄█ \n ▀█ ▀ ▄▀ \n ▄▄█▀▀▀▀▀▄█▄ \n █ ▄▀▄ ▄ █▄ █ \n ▀█▄▄▄███▄▄▄█ "], ["injured_2", " \n █▀▀▄ █▀▀▄ \n ▀▄▀▀▀▀▀▀▄█ \n █▀▀▀▀▀▀▀█▀▄ \n █▄▀▄ █▀▀ \n ▄█▄▄▄▄▄▄▀▄▄ \n █ ▄▀▄ ▄ █▄ █ \n ▀█▄▄▄███▄▄▄█ "], ["sleep_1", " \n \n \n█▀▄ ▄█▀▄▄▄▀▀█\n█ ▄▀▀▄█ ▄▀ █ █▄▀\n██ █ ▄ █ █ \n█ █▄ ▄█▄▄▀ █ █▀█\n█▄▄▄▄▄█▄▄█▄██▄▄▀"], ["sleep_2", " \n \n \n█▀▄▄▄ ▄█▀▄▄▄▀▀█\n█▄▀ ▀██▄▀ █ █▄▀\n██ █▀ ▄ █ █ \n█ █▄ ▀▄▄█ █ █▀█\n█▄▄▄▄▄▄▄▄▄███▄▄▀"], ["walk_1", " █▀▀▄ █▀▀▄ \n ▀▄▀▀▀▀▀█▄█ \n █▀▀▀██▀▀█▀▄ \n █▄▀▄ ▀ █▀▀ \n ▀▄▄▄▄▄▄▀▄ \n ▄▀▀▄▀ ▀▄▄▀▄ \n █▄▄▀▄ ▄ █▄▄▀ \n █▄▄▄███▄▄▄█ "], ["walk_2", " ▄▄▄ ▄▄▄ \n █ ▄█▄▄█▄ █ \n █▄▄▄▄▄▄██▄ \n ▄▀▄ █▀ █▄█ \n ▀█ ▀ ▄▀ \n ▄██▀█▀█ █▄▄ \n ▀█▄ █▄▄█▀ █ \n █▄▄█▄▄▄██▀ "]]], + ["garbagemon", [["angry", " ▄▄▀█▄▄ ▄ \n ▀▄█▄█▄▀ █▄ \n ▄▀ ▀▄ █▀▄\n ▄▀▀ ▀▀ ▀▄█ █\n ▄▀▀▀▀▀▀▄ ██ \n ▄█▀▀▀▀▀▀▀▀▀█▄ \n▄▀█ █ █ █ █ █ █ \n▀▀ █▄█▄█▄█▄█ ▀"], ["attack", " ▄▀▀▀▀▀▄▀█ █ \n █ ▄▄ █▀▄ ██ \n▄▀▀ ▀▀ ▀█ █ █\n ▀▀▀█████▄ █ █▄▀\n ▄▀▄▀ █ █ █▀ \n▄▄▀▀▀▀▀▀▀ ▄▀█▀ \n█ ▀█▀█▀█▀█ █▀█▄ \n ▀ █▄█▄█▄█▄█ ▀▄█"], ["eat_1", " ▄▀▀▀▀▀▄▀█ █ \n █▄ ▄▄▄ █▀█ ██ \n▄▀ ▄▀▄ █ █\n ▀▀▀██████ █ █▄▀\n ▄▀▀▄▀ ▄▄▀ █ █▀ \n█ ▀▀ █▄▄█▀█▀ \n █▄▄▄▄▀█ █ █▀█▄ \n▄▀ █▄█▄█▄█▄█ ▀▄█"], ["eat_2", " █▀▄█▀▄▀█ ▄ \n ▄▀▀▀▀▀█ █▄ \n █▄ ▄█ █ █▀▄ \n ▄▀ ▄ ▀█ █ \n ▄▀▀▀▀▀▀▀▄ ██ \n ▄█▀▀▀▀▀▀▀▀▀█▄▄ \n █ █ █ █ █ █ ▀▄█\n▀ █▄█▄█▄█▄█ "], ["happy", " ▄▀▀▀▀▀▄▀█ █ \n █ ▄▀▀▄ █▀█ ██ \n▄▀ ▄▄ ▀▄ █ █\n ▀▀▀██████ █ █▄▀\n ▄▄██▀▀▄ ▀█ █▀ \n ▀▄▄▄▄█ █ █▀ \n █ █ █ █▄▄▄█▀█▄ \n▀ █▄█▄█▄█▄█ ▀▄█"], ["injured_1", " ▄▄▀█▄▄ ▄ \n ▀▄█▄█▄▀ █▄ \n▄ ▄▀ ▄ ▀▄ █▀▄\n █ █▀ ▀▀ ▀▄█ █\n ▀▄▄▄▄ ██ \n ▀▄▄▄▄▄▄▀▀▀▀█ \n ▄█▀█ █ █ █ █ \n█▄▀ █▄█▄█▄█▄█ "], ["injured_2", " \n \n ▄▄▀▀▀▄▄ \n ▀█▀▀▀▀▀▀▀█▀ \n █ ▄█ █▄ █ \n ▄█▀▀▀▀▀▀▀▀▀█ \n █ █ █ █ █ █▀█▄ \n▄▀ █▄█▄█▄█▄█ ▀▄█"], ["sleep_1", " \n \n \n ▄▄▀▀▀▄▄ \n ▄▀▀▀▀▀▀▀▀▀▄ \n █▀▀▀▀▀▀▀▀▀█ \n █ █ █ █ █ \n █▄█▄█▄█▄█ "], ["sleep_2", " \n \n \n ▄▄▀▀▀▄▄ \n ▄▀▀▀▀▀▀▀▀▀▄ \n █▀▀▀▀▀▀▀▀▀█ \n █ █ █ █ █ \n █▄█▄█▄█▄█ "], ["walk_1", " ▄▄▀█▄▄ ▄ \n ▀▄█▄█▄▀ ██ \n▄▀ ▄▀ ▄ ▀▄ █ █\n█ ▄▀▀ ▀▀ ▀▄█ █\n█ ▄▀▀▀▀▀▀ ██ \n ▀▄█▀▀▀▀▀▀▀▀▀█ \n▄▀█ █ █ █ █ █ \n▀▀ █▄█▄█▄█▄█ "], ["walk_2", " \n \n ▄▄▀▀▀▄▄ \n▄▀ ▀█▀▀▀▀▀▀▀█▀ \n█ █ ▀▄ ▄▀ █ \n ▀▄█▀▀▀▀▀▀▀▀▀█ \n▄▀█ █ █ █ █ █ \n▀▀ █▄█▄█▄█▄█ "]]], + ["gargomon", [["angry", " ▄▄ \n █ ▀▀▄▄ \n ▄█ ▀ ▄ ▀▄▄ \n ▄▀█▀▀▄ ▀▀ ▀ ▀▄\n ▀█ ▀ ▀ ▄▄█▀█▀ \n ▄█ ▄▄▀█▀█ █▀▀█ \n █ █▄█▄█▄███ █\n█▄█▄██▀▀▀██▄█▄█ "], ["attack", " █▀▄▄ \n ▄▀▄ ▀▀▄ \n ▄▀█▄ ▄█ █▄ \n ▀▄█ ▄█▄ ▄▄▄█ \n █▀▀▀▀▄▀▀▀▄ \n ▀▄ █ ▄█ \n ▄██████████▄ \n █▄█▄█▀ ▀██▄█▄█ "], ["eat_1", " █▀▄▄ \n ▄▀▄ ▀▀▄ \n ▄█▀▄ ▄▀▄ █▀▄ \n ▀▄█ ▄█▄ ▄▄▄▄▀\n ▄▀ ▀███▄█▀█▄█▄ \n ▀▄▄▀█ █ █▄█ ▀▄\n ▄█████████▄ ▄▀\n █▄█▄▄█ █▄▄█▄█ "], ["eat_2", " ▄▄ \n █ ▀▀▄▄ \n ▄█ ▀ ▄ ▀▄▄ \n ▄▀█ ▀▄ ▀ ▀ ▀ ▀▄\n ▀█ ▀ ▀ ▄▄█▀█▀ \n ▄▀ ▄▄▀█▀█ █▀▀█ \n █▄█▄█▄█▄███ █\n█▄█▄██▀▀▀██▄█▄█ "], ["happy", " █▀▄▄ \n ▄▄▄▀▀▄ ▀▀▄ ▄▄▄\n ▀▄█▀▄ ▄▀▄ █▄▄▀\n▄▀▀▄ ▄▀▄ ▄▀ █\n▀▄ ▀▄▄▄▄▄█▀█ ▄▄▀\n ▀█▀█ █ █▄█▀ \n ▄█████████▄ \n █▄█▄▄█ █▄▄█▄█ "], ["injured_1", " ▄▄ \n █ ▀▀▄▄ \n ▄▀▄▀ ▄ ▀▄▄ \n ▄▀█▀▀▄ ▀▀ ▀ ▀▄\n ▀█ ▀ ▀ ▄▄▀█▀ \n ▄█ ▄▄▄█▀█ █▀▀█ \n █ █▄█▄█▄███ █\n█▄█▄███████▄█▄█ "], ["injured_2", " \n █▀▄▄ \n ▄▀▄ ▀▀▄ \n ▄█▄█ █▄ █▀▄ \n▀▄█ ▄▀▄ ▄▄▄▄▀ \n ▄█ ▄▄▄█▀█▄▀▀█ \n █ ██▄█▄█▄██ █\n█▄█▄███████▄█▄█ "], ["sleep_1", " \n █▀▄▄ \n ▄▀▄ ▀▀▄ \n ▄█▄▄ ▄▄ █▀▄ \n▀▄█ ▄▀▄ ▄▄▄▄▄▀ \n▄▄█▄▄▄▄▀█ █▄▀▀█ \n█ ▀▄█▄█▄█▀▀█ █\n█▄▄▄█████▄▄▄█▄█ "], ["sleep_2", " ▄▄ \n █ ▀▀▄▄ \n ▄▀ ▀ ▀▄▄ \n ▄▀█▀▀▄ ▀▀ ▀ ▀▄\n ▀█ ▀ ▀ ▄▄█▀█▀ \n▄▄█ ▄▄▀█▀█ █▀▀█ \n█ ▀█▄█▄█▄▀▀█ █\n█▄▄▄█████▄▄▄█▄█ "], ["walk_1", " █▀▄▄ \n ▄▀▄ ▀▀▄ \n ▄█ █ █ █▀▄ \n ▀▄█ ▄▀▄ ▄▄▄▄▀\n ▄▀ ▄▄▄█▀█▄█▄ \n █▀▄▀█ █ █▄█ ▀▄\n ▀▄█████████▄ ▄▀\n █▄█▄▄█ █▄▄█▄█ "], ["walk_2", " ▄▄ \n █ ▀▀▄▄ \n ▄▀▄▀ ▄ ▀▄▄ \n ▄▀█ ▀▄ ▀ ▀ ▀▄\n ▀█ ▀ ▀ ▄▄█▀█▀ \n ▄█ ▄▄▀█▀█ █▀▀█ \n █ █▄█▄█▄███ █\n█▄█▄██▀▀▀██▄█▄█ "]]], + ["garudamon", [["angry", " ▄▄ ▀█▀▄ ▀█▄ \n▄▀█ ▄▀▀ ▄ ▀▄ █ █\n█ ▄▀▀ ▀ █▄▀ █\n█ ▀▄███▄ ▄█▄ █\n█ ▄▀▄▄▄ ▀ ▄ █ █\n█ ▀▄▄▀ █▄▄█ █\n ▀▄█ ▀▄▄ █▄▀▄▀\n █▄▄▄▄▀ ▀▄▄▄▄█ "], ["attack", " ▄▀█▀ ▀█▀▄ ▀█▀▄ \n█ █▄▄▀▀ ▄▄▀▄ █ █\n█ █ ▄▄▄▀▀ █▄▀ █\n█ ▀ ███ ▀▄ █\n█ ▄▀▀▀▀▄▀▀▄ █ █\n█ █▀█▀▀ ▀▄▄▄▄█ █\n ▀▄█ ▀▄▄ █▄ ▀ \n █▄▄▄▄▀ ▀▄▄▄▄█ "], ["eat_1", " ▄▀█ ▀█▀▄ ▀█▄ \n █▄█▀▀ ▄ ▀▄ █ █\n █ ▄▄▄▀ ▀ █▄▀ █\n ▄▀▀████ ▄█▄ █\n █ ▀▄▄▄ ▄ █ █\n █▀█ █▄▄█ █\n ▄█ ▀▄▄ █▄ ▀ \n █▄▄▄▄▀ ▀▄▄▄▄█ "], ["eat_2", " ▄▄ ▀█▀▄ ▄▄ \n ▄▀ █▀▀ ▄ ▀▄ █▀▄\n █▄▀▀ ▀ ▀ █ █ █\n █▀▄▀▀▀▄▄ ▄▀▀ █\n █▄▀█▀▀ ▀▀▄ █\n █▄▄█ █▀ █ █\n ▀▄█ ▀▄▄ ██▀▄▀\n █▄▄▄▄▀ ▀▄▄▄▄█ "], ["happy", " ▄█▀ ▀█▀▄ ▀█▄ \n█ █ ▄▀▀ ▄ ▀▄ █ █\n█ ▄▀▀ ▀ ▀ █▄▀ █\n█ ▀▄▀████ █ █ █\n█ ▄▄▀▀▀█ ▄▀ █ █\n█ █ █▀▀ ▄█▄ █\n ▀▄█▀ ▄▄▄▄ ▀▄▄▀ \n █▄▄▄▄▀ ▀▄▄▄▄█ "], ["injured_1", " ▄▄ ▀█▀▄ ▄▄ \n▄▀█ ▄▀▀ ▀▄ █▀▄\n█ █▀▀ ▀▄▄ █▄▀ █\n█ ▀▄███▄ ▄▀ █\n█ ▄▀▄▄▄ ▀▄ █▄ █\n█ █ ▀▄ ▄▀ █ █ █\n ▀█▄▄▀ ▀▄▄█▄ ▀ \n █▄▄▄▀▀▀▀▄▄▄▄█ "], ["injured_2", " \n ▄▄ ▀█▀▄ ▄▄▄ \n █ █▀▀ ▀▄ █ █ \n █▀▀ ▄▄ █ █ █ \n█▀▄▀▀▀▄ ▀▄▀ █\n█ █▀▀█▀▀ █▄ █\n█ █▀▀▄▀▄▀▀▀▄ █ █\n █▄▄▄▄█▄▄▄▄▄█▀▄▀"], ["sleep_1", " ▄▄▄ ▄▄▄ \n▄▀▄▀ ▀█▀▄ ▀▄▀▄ \n█ ▀▄▀▀ ▀▄ █ █\n█▄▀▀ ▀▀▀ █▄▀ █\n█▀▄▀▀▀ ▀▄ █\n█ █▀▀█▀▄▀ █▄ █\n█ ▄▀▄▀ ▀▄▀▀▄ █ █\n █▄▄▄█▄█▄▄▄▄█ ▀ "], ["sleep_2", " ▄▄ ▄▄▄ ▄▄ \n▄▀█ ▄▄▀ ▀▄ █▀▄\n█ ▀▄█ ▄▄▄ █ █ █\n█ █ ▄▄▄ █▀ █\n█ █▄▄▄▀▀ ▀▄ █\n█ █ ▀▄ ▄▀ █▄ █\n█ ▄▀▄▀ ▀▄▀▀▄ █ █\n █▄▄▄█▄█▄▄▄▄█ ▀ "], ["walk_1", " ▄█▀ ▀█▀▄ ▀█▄ \n█ █ ▄▀▀ ▄▄▀▄ █ █\n█ ▄▀▀ ▀▀ █▄▀ █\n█ ▀▄▀▀▀▄▄ ▄▀ █\n█ █▀▀ ▀▀▄ █\n█ █▀█ █▀ █ █\n ▀▄█ ▀▄▄ ██ ▀ \n █▄▄▄▄▀ ▀▄▄▄▄█ "], ["walk_2", "▄▀█ ▀█▀▄ ▀█▀▄ \n█ ▄▀▀ ▄▄▀▄ █ ▀▄ \n█▀▀ ▀▀ █ █ █\n▀▄▀▀█▄ █▀ █\n █▀█ ▀▀▀ ▀█▀▀▄█\n ▀▀▀█▀▀▀ ▀▀▀▄\n ▀▄▄▄▄▄▄ █\n ▀▀ ▀▄█"]]], + ["garudamon_x", [["angry", " ▄▄▄▄▄▄▄▄▄ \n ▄▀▀ ▄ ▀▄▀▄▄▀ \n █ ▀▀ █ █▄▀ \n █▄█████▀█▄▀ ▄▀▄\n ▀▄▄▄▀ ▄▄██▀ █\n ▄▀▀█ ▀▀ ▄█ ▀▄ █\n █▄▄▀▀▀▀▀▀█▄▄█▄▀\n█▄▄▄█▄█▀█▄█▄▄▄█ "], ["attack", " ▄▄▄▀▀▀█▀█▀▀█ \n █ ▄█ █ █▀▄ \n ▀███▄▄▄▄█ █▀ ▄ \n ████ █ █▄▄▀ █\n █▄▄▄█▀▀█▀▄ █\n █ ██▄▄▄█ █▄ █\n ▄█ ▄▄ ▀█▄ ▀█\n █▄▄█▄▀ ▀▄█▄▄█ "], ["eat_1", " ▄▄▀▀▀█▀█▀▀█ \n ▄▀ ▄▀▄ █ █▀▄ \n ▀▄██▄▄▄▄█ █▀ ▄ \n ████ █ █▄▄▀ █\n █▄▄▄█▀▀█▀▄ █\n █ █▄▄▄▄█ █▄ █\n ▄█ ▄▄ ▀█▄ ▀█\n █▄▄█▄▀ ▀▄█▄▄█ "], ["eat_2", " ▄▄▄▄▄▄▄▄▄ \n ▄▀▀ ▄ ▀▄▀▄▄▀ \n █ ▀ ▀ █ █▄▀ \n █▄▀▀▀█▀▀█▄▀ ▄▀▄\n ▀▀█▀ ▄▄██▀ █\n ▄▀█▀▀▀ ▄▀ █ █\n ▄█▄▀▀▀▀▀▀▄▄█▄ █\n█▄▄▄█▄█▀█▄█▄▄▄█▀"], ["happy", " ▄▄▄▀▀▀█▀█▀▀█ \n █ ▄▀▄ █ █▀▄ \n ▀▄██▄▄▄▄█ █▀ ▄ \n ████ █ █▀▀█ █\n ▄▀█▄▄▄█▀█▀ ▄▀ █\n ▀▄██▄▄▄▄█▀▀▄▄ █\n ▄█ ▄▄ ▀█▄ ▀█\n █▄▄█▄▀ ▀▄█▄▄█ "], ["injured_1", " \n ▄▄▄▄▄▄▄▄▄ \n ▄▀▀ ▄ ▀▄▀▄▄▀ \n █ ▀▀ █ █▄▀ \n █▄▀▀▀█▀▀█▄▀ ▄▄ \n ▀▀█▀ ▄▄██▀ █\n ▄▀▀█▀▀▀▄▄▀▀█ █\n █▄▄█████▄▄▄█▄▄█"], ["injured_2", " \n \n ▄▄▀▀▀█▀█▀▀█ \n▄▀ █▄ █ █▀▄ \n█ ▄▄▄▄▄▄█ █▀ ▄▄ \n▀█▄▄▄▀ ▄██▄▀ █\n ▄▀▀█▀▀▀▄▄▀▀█ █\n █▄▄█████▄▄▄█▄▄█"], ["sleep_1", " \n \n ▄▄▀▀▀█▀█▀▀█ \n▄▀ ▄▄ █ █▀▄▄▄ \n█ ▄▄▄▄▄▄█ ██▀ █\n██▄▄▄▀ ███▄▄▄ █\n█ █▀█▀▀▀▄▀ █ █ █\n█▄█▄▄████▄▄█▄█▄█"], ["sleep_2", " \n ▄▄▄▄▄▄▄▄▄ \n ▄▀▀ ▀▄▀▄▄▀ \n █ ▀▀ █ █▄▀▀▄\n █▄▀▀▀█▀▀█▄▀ █\n▄▄▀▀█▀ ▄▄██▄▄ █\n█ █▀█▀▀▀▄▀ █ █ █\n█▄█▄▄████▄▄█▄█▀▀"], ["walk_1", " ▄▄▀▀▀█▀█▀▀█ \n ▄▀ ▄█▀ █ █▀▄ \n █ ▄▄▄▄▄▄█ █▀ ▄ \n ▀█▄▄▄▀ ▀█▄▄▀ █\n ▄█▄▄▄▀▀█▀▄ █\n █ █▄▄▄▄█ █▄ █\n ▄█ ▄▄ ▀█▄ ▀█\n █▄▄█▄▀ ▀▄█▄▄█ "], ["walk_2", " ▄▄▄▄▄▄▄▄▄ \n ▄▀▀ ▄ ▀▄▀▄▄▀ \n █ ▀▀ █ █▄▀ \n █▄▀▀▀█▀▀█▄▀ ▄▀▄\n ▀▀█▀ ▄▄██▀ █\n ▄▀█▀▀▀ ▄▀ █ █\n ▄█▄▀▀▀▀▀▀▄▄█▄ █\n█▄▄▄█▄█▀█▄█▄▄▄█▀"]]], + ["garurumon", [["angry", " \n █▀▄▀▀▀▀▄▀▀▀▄ \n▄▄▀ ▄ █▀ ▄▄ \n█▄▄█▄ ▀ ▄██▄▀▄▀ \n ▀▄▄▄▄ ▄█ ▄▀▀█\n █ ▄▀ ▄▀█▄▀ \n █▀▄█ ▄█ ▄█ \n █▄█▄▄▄█▄▄▄▄▄█ "], ["attack", " ▄█ ▄█ ▄▀▄\n █▄█▄▄▀ █▄ █ █\n ▄▄▀ ▄▀ █▄█ █\n█▄▄▄▄▄▀▀ ▄▀▀ ▀▄\n ▀▄▀███▄ ▀█ ▀██\n █▄████ ▄▄▄ █\n █▄▄▄▄▄▄▀ ▄▀█ █\n█▄▄█▄▄▄▄▄▀ █▄▄▄▀"], ["eat_1", " ▄▄ ▄▄ \n █▄█▄▄█ █ \n ▄▄▀ ▄ ▀█ ▄ \n█▄▄▄▄▄▀ ▀ █ █ █\n ▀▄▀███▄ ██▄█ █\n █▄████ ▀ ▀ ▀▄\n █▄▄▄▄▄▄▀ ▄█▄ █\n█▄▄█▄▄▄▄▄█▄▄▄▄▄▀"], ["eat_2", " \n ▄▄ ▄▄ \n █▄▀▀▀▀▄▀ █ \n▄▄▀ ▄▀▄ █ ▄▀▀▄\n█▄▄█▄ ▄███▄█ █\n ▀▄▄▄▄ ▀▀ ▀ ▀▄\n ▄▄█▄▄▄ ▄█▄ █\n█▄▄█▄▄▄▄▄█▄▄▄▄▄▀"], ["happy", " ▄▀█▄▄▄ ▄▀█ \n █▀ ▀ ▄▀ \n █▀ ▄▀▄ ▄█ ▄▄ \n ▀████▄ ▀▀█▀▄▀ \n▄▀█▀▀█▀▀▀ ██▄▀▀█\n▀▄▄█▀▀▄▄█ ██▄█ \n ▄█ ▄█ ▀▄█ █\n █▄▄█▄▄█▄▄▄▄█▄▄▀"], ["injured_1", " \n \n \n █▀▄▀▀▀▀▄▀▀▀▄ \n▄▄▀ ▄ ▄██▀▄ \n█▄▄▄▄▄ ▀▀▄█ ▀▀ █\n▄▀▄▄▄▄ ▄▀▄▄▀ █\n█▄█▄▄▄▄██▄█▄▄▄▄▀"], ["injured_2", " \n \n \n ▄▄ ▄▄▄▄ ▄▄▄ \n ▀▄▀ ▀ ▄█▀▄ \n█▀ ▀▄▄ █ ▀▀ █\n██▀▀▀▀ ██▄▄▀ █\n█▄████▄██▄█▄▄▄▄▀"], ["sleep_1", " \n \n \n ▄▀█▄▄▄ ▄▀█ \n █▀ ▀ ▄██▀▄ \n█▀ ▀▀ █ ▀▀ █\n██▀▀▀▀ ██▄▄▀ █\n█▄████▄██▄█▄▄▄▄▀"], ["sleep_2", " \n \n \n █▀▄▀▀▀▀▄▀▀█▄ \n▄▄▀ ▄▄ ███▀▄ \n█▄▄▄▄▄ ▄██ ▀▀ █\n▄▀▄▄▄▄ ▄▀▄▄▀ █\n█▄█▄▄▄▄██▄█▄▄▄▄▀"], ["walk_1", " ▄▄ ▄▄ \n █▄▀▀▀▀▄▀ █ ▄▄ \n▄▄▀ ▄▄▄ █ ▀▄ █\n█▄▄█▄▀▀ ▄██ ▄█ █\n ▀▄▄▄▄ ▄██ ▀▄\n █ ▄▄ ▀▄▀██\n ▄█ █ ▄▄▄▄█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["walk_2", " ▄▄ ▄▄ \n █▄▀▀▀▀▄▀ █ ▄ \n▄▄▀ ▄▄ █▀ █ █\n█▄▄█▄▀▀ ▄██▄█ ▄▀\n ▀▄▄▄▄ ▄█▀ █ \n▄▀▄ ▄▄ ▄ ▄█ \n█ █ █▄██▄█ ▀▀▄\n ▀▀▀▀ ▀▄█▄▄▄▀"]]], + ["gatomon", [["angry", " █▄ ▄█ \n █▀▀▄ ▄▀▀█ \n ▀▄▀▄▀▀▀▀▀▄▀▄▀ \n █ █ ▄█\n ▄▀ █▄ ▄█ ▀▄▀█\n █▄ ▄▀▄ ▄█ ▄▀\n▄▀ ▀█▀▀▀█▀ ▀▄█\n█▄█▄▄█▄▄▄█▄█▄▄██"], ["attack", "██▀▀▀█▄▄█▀▀▀▀███\n ▀█ ▄▀█▀▀ \n ▄▀▀▀ ▀▀ ▀▄ \n █ █▄█▄█▄█ █▄█\n ▀▄██▀▀▀▀█▄▀██▀█\n ▄█▀█▀▀█▀▄▄ ▀▄▀\n▄▀ ▀▄▀▀▄▀ ▀▄ █\n█▄█▄▄█▀▀█▄█▄▄█▄█"], ["eat_1", "██▀▀▀█▄▄█▀▀▀▀███\n ▀█ ▄ ▀█▀▀ \n ▄▀ ▀ ▀ ▀ ▀▄ \n █ ███████ █▄█\n ▀▄▀██▀▀▀█▄▀██▀█\n ▄█▀█▀▀█▀▄▄ ▀▄▀\n▄▀ ▀▄▀▀▄▀ ▀▄ █\n█▄█▄▄█▀▀█▄█▄▄█▄█"], ["eat_2", "███▄▄ ▄▄▄███\n █ ▄▀▀▀▀▀ █▀ \n ▀█▄ ▄ ▀█▀ ▄\n ▄▀ ▀▄▀ ▀ ▀▄██\n ▀▄ ▀ ▀ ▄▄▀▄ █\n ▄▄▀▀██▀▀ ▄▄▀▀▄\n▄▀ ▀▄ ▄▀ ▀▄█\n█▄█▄▄█▄▄▄█▄█▄▄█▀"], ["happy", "██▀▀▀█▄▄█▀▀▀▀███\n ▀█ ▄ ▀█▀▀ \n ▄▀ ▀ ▀ ▀ ▀▄ \n █ ███████ █▄█\n █▄█████▄▄▀██▀█\n▄▀ ▀▄▄▄▀ ▄▄ ▀▄▀\n█▄█▄▄█ ▄▀ ▀▄ █\n ▀▀▀▀▀█▄█▄▄█▄█"], ["injured_1", " \n ▄▄▄▄ ▄▄▄▄▄ \n██▀ ▄▀▀▀▀▀▄ ▀██\n ▀█ █▀▀ ▄\n ▄▀ ▄▄ ▀▄▄ ▀▄██\n █▄ ▄█ ▄▀\n▄▀ ▀█▀▀▀█▀ ▀▄█\n█▄█▄▄█▄▄▄█▄█▄▄██"], ["injured_2", " \n▄▄▄▄ ▄▄▄▄ \n▀█▀ ▀▄▄▄▄▄▀ ▀█▀ \n ▀▄▀ ▀▄▀ ▄█\n ▄▀ ▄ ▀▄▀▀█\n ▀▄▄▀▀ ▀▀ ▄▄▀▀▄\n▄▀ ▀▄▄▄▄▄▀ ▀▄█\n█▄█▄▄█▄▄▄█▄█▄▄█▀"], ["sleep_1", " █▄ ▄█ \n ██▀▄ ▄▀██ \n █ ▄▀▄▄▄▄█ ▄ █ ▄\n ▀▄▀ ▀▄▀ ██\n ▄▀▄▄ ▄▄ ▀▄█ █\n ▀▄▄ ▄▀▄ ▄▄▀▀▄\n▄▀ ▀▄▄▄▄▄▀ ▀▄█\n█▄█▄▄█▄▄▄█▄█▄▄█▀"], ["sleep_2", "▀██▄ ▄██▀ \n █▀ █ ▄▀ ▀█ \n ▀▄▀▄▀▀▀▀▀▄▀▄▀ \n █ █ ▄█\n ▄▀ ▀▀▄ ▀▀ ▀▄▀█\n █▄ ▀ ▀ ▄█ ▄▀\n▄▀ ▀█▀▀▀█▀ ▀▄█\n█▄█▄▄█▄▄▄█▄█▄▄██"], ["walk_1", "██▀▀▀▄▄▄▄▀▀▀▀███\n ▀▄▄▀ ▄▄▄▀▀ \n ▄▀ █ █ ▀▄ \n ▀▄ ▄▀▄ ▄▀▄█\n ▀▄▄▄▄▄▄▀▀▄█▀█\n █▄▀▄▄▀ ▄▄ ▀▄▀\n ▄▀ ▀▄ ▄▀ ▀▄ █\n █▄█▄▄█▀█▄█▄▄█▄█"], ["walk_2", "███▄▄ ▄▄▄███\n █ ▄▀▀▀▀▀ █▀ \n ▀█ ▄ ▄▀█▀ ▄\n ▄▀ ▀▄ ▀ ▀▄██\n ▀▄ ▀ ▀ ▄▄▀▄ █\n ▄▄▀▀██▀▀ ▄▄▀▀▄\n▄▀ ▀▄ ▄▀ ▀▄█\n█▄█▄▄█▄▄▄█▄█▄▄█▀"]]], + ["gatomon_x", [["angry", "▄▄▄▄▄ ▄▄▄▄▄▄\n▀█▄ ▀█▀█▀▀▀ ██▀\n ▄▀▄ ▀ ▄ ▄▀ \n ▄▀ ▀▀▄ ▀▀ █ \n ▀▄ ▀ ▀▀ ▄█▄ █\n █▀█▀▀▀▀▀▀█▀ █ █\n █▀█▀▀▀▀▀█▄▄█ █\n █▄▄▄▄███▄▄▄██▀ "], ["attack", "██▀▀█▄▄▄▄▄█▀▀███\n ▀▀▄ ▀▄▀ ▄▀▀ \n █ █▄ ▄█ ▀▄ \n ▀▄ ▄█▄▄ ▄▀ ▄\n ▀▄████▄▀█ █ █\n █▄▀▀▀▀▄▀ ▀█ █\n ▀▄▀▀▀▀▀ ▀▄▄▀▄▀\n █▄▄▄█▀▀▄▄▄█▀ "], ["eat_1", "██▀▀█▄▄▄▄▄█▀▀███\n ▀▀▄ ▀▄▀ ▄▀▀ \n █ █ █ ▀▄ \n ▀▄ ▄▄█▄▄ ▄▀ ▄\n ▀▄ ███ ▄▀█ █ █\n ▄█▄▄▄█▄▀ ▀█ █\n ▀▄▀ ▀▄▄▀▄▀\n █▄▄▄█▀▀▄▄▄█▀ "], ["eat_2", "▄▄▄▄▄ ▄▄▄▄▄▄\n▀█▄ ▀█▀█▀▀▀ ██▀\n ▄▀▄ ▀ ▄ ▄▀ \n ▄▀▀ ▀▄ ▀ ▀ █ \n ▀▄ ▀ ▀▀ ▄█ ▄ █\n ▄▀▀▀▀▀▀▄▀▄█ █\n ▄▀█▀▀▀▀▀▄▄ █ █\n █▄▄▄▄███▄▄▄█▀▀ "], ["happy", "██▀▀█▄▄▄▄▄█▀▀███\n ▀▀▄ ▀▄▀ ▄▀▀ \n █▄▀▄ ▄▀▄ ▀▄ \n ▀▄ ▄▄█▄▄ ▄▀ ▄\n ▄▀▄ ███ ▄▀▀▄█ █\n ▀▄ █▄▄▄█▄ ▄▀█ █\n █▀ ▀▄▄▀▄▀\n █▄▄▄█▀▀▄▄▄█▀ "], ["injured_1", " \n▄▄▄▄▄ ▄▄▄▄▄▄\n▀█▄ ▀█▀█▀▀▀ ██▀\n ▄▀ ▄▀ ▄ ▄▀ \n ▄▀ ▀▀▄ ▀▀ █ ▄\n █▄ ▀ ▀▀ ▄█ █ █\n █ ▀█▀▀▀█▀ ▀█ █\n █▄▄▄█████▄▄▄█▄▀"], ["injured_2", " \n \n██▀▀█▄▄▄▄▄█▀▀███\n ▀▀▄ ▀▄▀ ▄▀▀ \n █ ▄ ▄ ▀▄ ▄\n ▀▄ ▀▀▄ ▀▀ ▄▀█ █\n █ ▀▄▀ ▀▀▄▀ ▀█ █\n █▄▄▄█████▄▄▄█▄▀"], ["sleep_1", " \n▄▄▄▄▄ ▄▄▄▄▄▄\n▀█▄ ▀█▀█▀▀▀ ██▀\n ▄▀ ▀ ▄▀ \n ▄▀▄▄ ▄▄ █ ▄\n █ ▄▀▄▄ █ █ █\n █▀█▄▄▄▄▄▄██▀█ █\n █▄▄█▄▄▄▄▄█▄▄█▄▀"], ["sleep_2", " \n██▀▀█▄▄▄▄▄█▀▀███\n ▀▀▄ ▀▄▀ ▄▀▀ \n █▄▄ ▄▄ ▀▄ \n ▀▄ ▄▀▄▄ ▄▀ ▄\n ▄▀▄▄▄▄▄▄▀█ █ █\n █▀█▄▄▄▄▄▄██▀█ █\n █▄▄█▄▄▄▄▄█▄▄█▄▀"], ["walk_1", "██▀▀█▄▄▄▄▄█▀▀███\n ▀▀▄ ▀▄▀ ▄▀▀ \n █ █ █ ▀▄ \n ▀▄ ▄▀▄▄ ▄▀ ▄\n ▀▄▄▄▄▄▄▀█ █ █\n █▄▄▄▄▄▄▀ ▀█ █\n ▀▄▀ ▀▄▄▀▄▀\n █▄▄▄█▀▀▄▄▄█▀ "], ["walk_2", "▄▄▄▄▄ ▄▄▄▄▄▄\n▀█▄ ▀█▀█▀▀▀ ██▀\n ▄▀▄ ▀ ▄ ▄▀ \n ▄▀ ▀ ▄ ▀ █ \n ▀▄ ▀ ▀▀ ▄█ ▄ █\n ▄▀▀▀▀▀▀▄▀▄█ █\n ▄▀█▀▀▀▀▀▄▄ █ █\n █▄▄▄▄███▄▄▄█▀▀ "]]], + ["gazimon", [["angry", " \n ▄▄▄▄▄▄ \n ▄▀▀ ▄▄▄ ▀▀▄▄ \n█ ▀▄█▀ ▄ █ \n █▀█▀▄ ▀▀▄▄▀ \n▄█▀▀▀▀ ▄▀▀ ▀▄ \n▀▄███▀ ▀▀█▀ █▀█\n█▄█▄██▀▀▀█▄█▄▄█ "], ["attack", " ▄▀███▄▄▄▀▀▀▀▄ \n ▄▀▀ ▄▄ ▄▀ \n█▄▄▄▄ ██ █▄▀ \n ▀▄ ▀▄ \n ▄▄▄▄▄█ ▄▀▀▄█ \n ▀▄▄▄▄ ▀▄▄▄█▀▄\n █▄▄█ ▄ █▀ █\n█▄█▄██▀▀█▄█▄▄█▀ "], ["eat_1", " ▄▄▄▄▄▄▄ \n ▄▀▀ ▄▄ ▀▀▄ \n█▄▄▄▄ ▀▄██ █ \n █ ▀▄▄▀ \n █▀▀▀ ▄▄ ▀▄ \n▄▀▀█▀ █▄▄▄ █ \n █▄▄█ ▄ ▄▀▀█\n█▄█▄██▀▀█▄█▄▄█▀ "], ["eat_2", " \n ▄▄▀▀▀▀▀▀▄▄ \n▄▀ ▄▀▀▄ ▀▄ \n▀▄▄▄▄▄ ▄ █ \n ▀▄▄▄▄ ▄▄ ▀█ \n █▄▄█ █▄▄▄ █▄▄\n ▄▄█▄ ▄ ▄▀▄▀\n █▄█▄██▀█▄█▄▄█ "], ["happy", " ▄▄▄▄▄▄▄▄▄ \n ▄▀▀ ▄▄ ▀▀▄\n█▄▄▄▄▄▀ ▀ ▄ ▄▄█\n █ █▄ \n █▀▀▀ ▀▀ █ \n▄▀▀█▀ ▄▄█ \n █▄▄█ ▄ ▄▀▀█\n█▄█▄██▀▀█▄█▄▄█▀ "], ["injured_1", " \n ▄▄▄▄▄▄ \n ▄▀▀ ▀▀▄▄ \n█ ▀▄▄ ▄ █ \n █▀▀▀ ▀▀▄▄▀ \n ▄▀▀█▀ ▄▀▀ ▀▄ \n █▄██▄ ▀▄█▀ █▀█\n█▄█▄██▀▀▀█▄█▄▄█ "], ["injured_2", " \n \n ▄▄▀▀▀▀▀▀▄▄ \n▄▀ ▄ ▀▄ \n▀▄▄▄▄ ▀▀ ▄ █ \n ▀▄▄▄▄ ▄▄▀█ \n █ ▄█ █ ▄▄ █▄▄\n█▄█▄██▄▄▄█▄█▄▄█▀"], ["sleep_1", " \n \n ▄▀▀▀▀▀▄▄ \n █ ▀▄ \n ▄▀ ▄▄ ▄ █ \n █ ▄█▀█▄ \n█ ▀▄▄▄▄ █ ▀ ▀ █ \n█▄▄▄█▄▄▄▄█▄▄▄█▄█"], ["sleep_2", " \n ▄▄▄▄▄ \n ▄▀ ▀▀▄ \n █ ▀▄ \n █ ▀▀ ▀▄▄▀ \n ▄█▄ ▄▄▀█▄ \n█ ▀▄█▀▀ █ ▀ ▀ █ \n█▄▄▄█▄▄▄▄█▄▄▄█▄█"], ["walk_1", " \n ▄▄▀▀▀▀▀▀▄▄ \n▄▀ ▄▀█▄ ▀▄ \n▀▄▄▄▄ ▀▀▀ ▄ █ \n ▀▄▄▄▄ ▄▄ ▀█ \n █▄▄█ █▄▄▄ █▄▄\n ▄▄█▄ ▄ ▄▀▄▀\n █▄█▄██▀█▄█▄▄█ "], ["walk_2", " \n ▄▄▄▄▄▄ \n ▄▀▀ ▄▄ ▀▀▄▄ \n█ ▀▄██ ▄ █ \n █▀▀▀ ▀▀▄▄▀ \n ▄▀▀█▀ ▄▀▀ ▀▄ \n █▄██▄ ▀▄█▀ █▀█\n█▄█▄██▀▀▀█▄█▄▄█ "]]], + ["gekomon", [["angry", " \n ▄▄ ▄▄ \n █▄▄█▄▄█ \n ▄▀▄▄▀▄▄▀█▄ \n█ █▄ \n▀█▀▀▀▀▀▄ █ \n █ ▄█ ▄▄ ▀▄ \n █▄█▀█▄▄▄▀▄▄▄▄█ "], ["attack", " \n ▄▀▀▄▀▀▄ \n █▄ █▄ █▄ \n▄▀ ▀ ▀ ▀▀▄ \n▀▀███████ ▀▀▄ \n ▀▄▄ ▀█▀ █ \n █▀▀▀▀▀ ▄ ▄▄ ▀█ \n█▄██▀█▄▄▄█▄▄▄▄█ "], ["eat_1", " \n ▄▀▀▄▀▀▄ \n █▄ █ ▄█▄ \n▄▀ ▀▀ ▀▀ ▀▀▄ \n▀▀██████ ▀▀▄ \n▄▀ ▄▀ ▀█ █ \n▀▄ ▀ ▄█▀▀ ▄▄ ▀▄ \n█▄██▀█▄▄▄█▄▄▄▄█ "], ["eat_2", " \n ▄▄ ▄▄ \n █ █ █ \n ▄▀█ ▀█ ▀█▄ \n█ ▄ █▄ \n▀█▀▀▀▀▀█▀ █ \n █ ▄█ ▄▄ ▀▄ \n █▄█▀█▄▄▄▀▄▄▄▄█ "], ["happy", " \n ▄▀▀▄▀▀▄ \n █▄ █▄ █▄ \n▄▀ ▀ ▀ ▄▀▀▄ \n▀███████▀ ▀▀▄ \n ██▀ ▄▀ █ \n █▀▀▀▀▄▄ ▄▄ ▀█ \n█▄█▀▀█▄▄▄▀▄▄▄▄█ "], ["injured_1", " \n \n ▄▄ ▄▄ \n █▄▄█▄▄█ \n ▄▀▄▄▀▄▄▀▀▄▄ \n▀▄▄▄▄▄▄▄ ▀▀▄ \n ▄▀▀▀▀▀█▀ ▄▄ ▀▄ \n█▄█▄▄▄█▄▄█▄▄▄▄█ "], ["injured_2", " \n \n ▄▄ ▄▄ \n █ █ █ \n ▄▀▄█ █▄▀▀▄▄ \n█ ▀ ▀▄ \n▀█▀▀▀▀▀█ ▄▄ █ \n█▄█▄▄▄█▄▄█▄▄▄▄█ "], ["sleep_1", " \n \n \n ▄▀▀▄▀▀▄ \n █▀▀█▀▀█▀▄ \n▄▀ ▀▀ ▀▀ ▀▄ \n▀█▀▀▀▀▀▀▄ ▄ █ \n█▄█▄▄▄▄█▄▄█▄▄▄█ "], ["sleep_2", " \n \n ▄▄ ▄▄ \n █▄▄█▄▄█▄ \n ▄▀▄▄▀▄▄▀ ▀▀▄ \n█▄▄▄▄▄▄▄ █ \n █ █ ▄ ▀▄ \n█▄█▄▄▄▄█▄▄█▄▄▄█ "], ["walk_1", " \n ▄▄ ▄▄ \n █ █ █ \n ▄▀█ ▀█ ▀█▄ \n█ █▄ \n▀█▀▀▀▀▀▄ █ \n █ ▄█ ▄▄ ▀▄ \n █▄█▀█▄▄▄▀▄▄▄▄█ "], ["walk_2", " ▄▄ ▄▄ \n █ █ █ \n ▄▀█▄▀▄█▀▄▄ \n█ █▄ \n▀█▀▀▀▀▀▄ █▄ \n █▄ ▄▀ ▄ ▀▄\n █▄▄▀█▄▄▀▀▄▀█▄ █\n █▄▄▀▄▄█"]]], + ["geogreymon", [["angry", "██▄▄▄█████▄▄███ \n██████▀ ▄████▀▄ \n█▀█▀█▀█████▀█ ▀▄\n█▀▀▀▀▀▀█▀ ▀▄▀▄ █\n ▀▀█▀▀█▄▄▄ ▀█ █\n █ █ █ ▄▀▄█\n ▄█▄ ▀▀▀▀█▀ ▀▄▀\n█▄█▄███▀▀▀▄█▄█▄█"], ["attack", " ▄▄▄▄▄ ▄▄▄ \n██▄▄██▀▀▀█████▀ \n█████▄█▄███▀█ █ \n▀█▀▀▀▀██▀ ▀▄▀▄ █\n ▀▀█▀▀ ▄▄▄ ▀█ █\n▄▀▀█ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["eat_1", " ▄▄▄▄▄ ▄▄▄ \n██▄▄██▀▀██████▀ \n█████▄██▄██▀█ █ \n▀█▀▀▀▀██▀ ▀▄▀▄ █\n ▀▀█▀▀ ▄▄▄▀█ █\n ▄▀█ █ █ ██\n █▄▀▄ ▀█▀▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["eat_2", "██▄▄▄█████▄▄███ \n██████▄▄▄████▀▄ \n▀▀▀▀▀██████▀█ ▀▄\n ▄▀▀█▀ ▀▄▀▄ █\n█▀▀▀ ▄▀ ▄▄▄ ▀█ █\n▄▀▀█▀ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["happy", "██▄▄▄█████▄▄███ \n██████▀▄▄▀███▀▄ \n▀▀▀▀▀██████▀█ ▀▄\n ▄▀▀█▀ ▀▄▀▄ █\n█▀▀▀ ▄▄▄ ▀█ █\n▄▀▀█▀ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["injured_1", " \n▄▄ ▄█████▄▄███ \n█████▀███████▀▄ \n██████▄▄█▀█ █ ▀▄\n ▀▄▄▄▄█▀ ▀▄█ █\n █ ▄ ▄ ▀▄█\n ▄▄▀▄ █▀█▀▀▀▄▀\n█▄█▄▄█▄▄██▄█▄█▄█"], ["injured_2", " ▄▄▄▄▄ ▄▄▄ \n██▄▄██████████▀ \n█████▄▀▀███▀█ █ \n▀█▀▀▀▀██▀ ▀▄▀▄ █\n ▀▀█▀▀ ▀█ █\n █ █▄▄█ ▀▄█\n ▄▄▀▄ █ ▄▀▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["refuse", " ▄▄▄▄▄ ▄▄▄ \n██▄▄███▀▀█████▀ \n██████▄▄███▀█ █ \n▀█▀ ▀██▀ ▀▄▀▄ █\n ▀▀█▀▀ ▄▄▄ ▀█ █\n▄▀▀█ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["sleep_1", " \n▄▄ ▄█████▄▄███ \n██████▀▀█████▀▄ \n█████████▀█ █ ▀▄\n ▀▄▄▄▄█▀ ▀▄█ █\n▄█ █ ▄▀▀▄▀▀▀▄█\n█ ▀▀▄ ▀▄▄▀ ▀█\n█▄▄▄▄█▄▄▄█▄▄▄▄▄█"], ["sleep_2", " \n ▄▄▄▄▄ ▄▄▄ \n██▄▄██████████▀ \n██████▄▄███▀█ █ \n▀█▀▀▀▀██▀ ▀▄█ █\n▄██▀▀▀▀ ▄▀█▀▀▀▄█\n█ ▀▄ █▄▀ ▀█\n█▄▄▄█▄▄▄▄█▄▄▄▄▄█"], ["walk_1", "▄▄ ▄█████▄▄███ \n█████▀▄ ▄████▀▄ \n█████████▀█ █ █ \n ▀▄▄▄▄█▀ █ █\n ▄▄▀ ▄▄▀ ▀▄█ █\n █ █ █ █ ▄█▀▄█\n ▄█▀▄ ▀▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄ ▄▄▄ \n██▄▄██▀▀▀█████▀ \n█████▄█▄███▀█ █ \n▀█▀▀▀▀██▀ ▀▄▀▄ █\n ▀▀█▀▀ ▄▄▄ ▀█ █\n▄▀▀█ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"]]], + ["gesomon", [["angry", " ▄▀▀▄ \n ▄▀▄ ▀▄ \n ▄▀ ▄▀ ▀▄ \n ▀▄ ▄▄▄▄▄▄▄▀ \n ▄ █████▀ ███ \n█ ▀▀▄▄▄█▀▀▀▄ █ \n █▀▄ ▄▄ ▄ ▄▄▀█ \n ▀▄▄▄▀▄▄▄▀▄▄▄▄▀ "], ["attack", " ▄▀▄▄▄▄▄▄▄▄▄ \n ▀▄▄ █ \n ▄█████▄▄ █ \n ▀ ▀ ▀█▀ █ █ \n █████ ▀▄\n▄▀▀▄█▄█▄█▀▀▄ █▀ \n▀▄█▄ ▄ ▄ ▄▄▀▄ \n▀▄▄▄▄▀▄▄▀▄▄▄▄▄▀ "], ["eat_1", " ▄▄▄▀▀▀▀▀█ \n █▀ █ \n ▄███▄▄▄ █ \n ▀█▄ █▄ ▀▄ \n █████▀▀ \n▄▀▀▄▄▄▄██▀▀▄ █ \n▀▄▀▄ ▄ ▄ ▄▄▄▀▄ \n ▀▄▄▄▀▄▄▀▄▄▄▄▄▀ "], ["eat_2", " ▄▀▀▄ \n ▄▀▄ ▀▄ \n ▄▀ ▄▀ ▀▄ \n ▀▄ ▄▄▄▄▄▄▄▀\n █████▄ ███▄ \n▄▀▀▄▀▄▄▄▄█▀▀█ ▄▀\n ▀▄▄▄ ▄ ▄ ▄▄▄▀▄\n ▀▄▄▄▄▀▄▄▀▄▄▄▄▄▀"], ["happy", " ▄▀▀▀▄ \n ▄▀ ▀ ▀▄ \n ▄▀ ▀▄ \n▀▄█▀▀▄▄▄▄▄▀▀█▄▀ \n ▄█▄▀█████▀▄█▄ \n█ ▄█ █▄ █ \n▀▄▄▀▀▄▄▄▄▄▀▀▄▄▀▄\n▀▄▄▄█▄▄█▄▄█▄▄▄▄▀"], ["injured_1", " ▄▀▀▄ \n ▄▀ ▄ ▀▄ \n ▄▀ ▄▀ ▀▄ \n ▀▄▄▄▄ ▄▄▄▄▄▀ \n ▄█▀ █▀█ ▀██ \n █ ▄▀▀█▄█▀▀▀ ▀▄ \n █▄▄ ▄ ▄ ▄█▄█ \n▀▄▄▄▄█▄▄█▄▄▄▄▄▄▀"], ["injured_2", " ▄▄ \n ▄▀ ▀▄ \n ▄▀ █ ▀▄ \n ▄▀ ▀ ▀▄ \n ▀█▀▀▄▄▄▀▀██▀ \n ▄▀ ███▀████ ▀▄ \n █▄▀ ▀▀▀ ▀▄█ \n▀▄▄▄█▄▄█▄▄█▄▄▄▄▀"], ["sleep_1", " \n ▄▀▀▄ \n ▄▀ ▄ ▀▄ \n ▄▀ █ ▀▄ \n ▀▄ ▀ ▄▄▀ \n ▄█▀▀▄▄▄▀▀▀█▄ \n▄▀▄▀▄ ▄ ▄ ▄▄▀▄▀▄\n▀▄█▄▄█▄▄█▄▄▄▄█▄▀"], ["sleep_2", " ▄▄ \n ▄▀ ▀▄ \n ▄▀ █ ▀▄ \n ▄▀ ▀ ▀▄ \n ▀█▀▀▄▄▄▄▀▀█▀ \n ▄▀▀▀▀█▄▄█▀▀▀▀▄ \n█ ▄▀▄ ▄ ▄ ▄▄▀▄ █\n ▀█▄▄█▄▄█▄▄▄▄█▀ "], ["walk_1", " ▄▀▀▄ \n ▄▀ ▄ ▀▄ \n ▄▀ ▄▀ ▀▄ \n ▀▄▄▄ ▄▄▄▄▀ \n ▄█ ▀███▀ ██▄ \n▄▀ ▀▀█▄▄█▀▀▀ ▀▄\n▀▄█▄ ▄ ▄ ▄▄▀▄▀\n▀▄▄▄▄▀▄▄▀▄▄▄▄▄▀ "], ["walk_2", " ▄▄ \n ▄▀ ▀▄ \n ▄▀ █ ▀▄ \n ▄▀ ▀ ▀▄ \n ▀█▀▄▄▄▄▄▀██▀ \n ▄▀█▄▄▀▀█▄▄█▀▀▄ \n▄▀▄▄▀▄▀▀▀▄▄▄▀▄▀▄\n▀▄▄█▄▄▄█▄▄▄▄▄█▄▀"]]], + ["ghostmon", [["angry", " ▄ ▄ \n ▄ ▄█▄██ \n █▀▄▀▀▀█ ▄█▀ \n ▄▄▄███████▄▄ \n █ ▀█▀ ██ \n ▀█████▀▄ \n ██▀▄▄▄▄▀██ \n ▀ ▀███▄▄▀ "], ["attack", " ▄▀▄█ \n ▄█ ████▀ ▄▄ \n ▀▄█▄▄▄█▄▀▀ \n ▄ ▀█ ▀█▀ ██▀ ▄ \n ██ ██▀▀▀██▀▄██ \n ▀▀ █▄▄▄█ ▀ \n ▄▄▄▄ \n ▀▀▀█▄ "], ["eat_1", " ▄▀▄█ \n ▄█ ████▀ ▄▄ \n ▀▄█▄▄▄█▄▀▀ \n ▀▀█▀███▀██▀▀ \n ██▀▀▀██▀ \n ▀▄▄▄█▀▄ \n ██▀▄▄▄▄▀██ \n ▀ ▀███▄▄▀ "], ["eat_2", " ▄▀▄█ \n ▄█ ████▀ ▄▄ \n ▀▄█▄▄▄█▄▀▀ \n ▀▀█▀▄▀█▀▄▀█▀ \n ██▀▀▀▀█▀ \n ▄▄█▀▀▀▀▄█▄ \n █▀ ████ ▀█ \n ▀▀▀▀▄ "], ["happy", " ▄▀▄█ \n ▄█ ████▀ ▄▄ \n ▀▄█▄▄▄█▄▀▀ \n ▀▀█▀▄▀█▀▄▀█▀ \n ██▀▀▀▀▀█ \n ▀█▄▄▄█▀ \n ██▀▄▄▄▄▀██ \n ▀ ▀███▄▄▀ "], ["injured_1", " \n \n \n ▄▀▄█ \n ▄█ ████▀ ▄▄ \n ▀▄█▄▄▄█▄▀▀ \n ▀██████████▀ \n ████████ "], ["injured_2", " \n \n \n ▄ ▄ \n ▄ ▄█▄██ \n █▀▄▀▀▀█ ▄█▀ \n ▄▄▄███████▄▄ \n ▀████████▀ "], ["sleep_1", " \n ▄ ▄ \n ▄ ▄█▄██ \n █▀▄▀▀▀█ ▄█▀ \n ▄▄▄███████▄▄ \n █▀▀█▀▀██ \n ▀█████▀▄ \n ▄██▀▄▄▄▄▀██▄ "], ["sleep_2", " \n ▄▀▄█ \n ▄█ ████▀ ▄▄ \n ▀▄█▄▄▄█▄▀▀ \n ▀▀████████▀▀ \n █▄▄█▄▄█▀ \n ▄▄█▀▀▀▀▄█▄ \n ▀▀▀ ▀███▄▀▀▀ "], ["walk_1", " ▄▀▄█ \n ▄█ ████▀ ▄▄ \n ▀▄█▄▄▄█▄▀▀ \n ▀▀█▀███▀██▀▀ \n ██▀▀▀██▀ \n ▄▄█▀▀▀▀▄█▄ \n █▀ ████ ▀█ \n ▀▀▀▀▄ "], ["walk_2", " ▄ ▄ \n ▄ ▄█▄██ \n █▀▄▀▀▀█ ▄█▀ \n ▄▄▄███████▄▄ \n █▄███▄██ \n ▀█▄▄▄█▀▄ \n ██▀▄▄▄▄▀██ \n ▀ ▀███▄▄▀ "]]], + ["ghoulmon", [["angry", " ▄▄ \n ▄██▄█▀ ▀█████▀\n▄█████▀█▄█████▄ \n█ ▄ █ ▀▀██▀ \n▀▄▀▀▄▀ ▀▄ \n ▄▀▀ ▄▀ █ ▀▄ \n▀▄▄▄▀▄▄▄▀ ▄ ▄▀\n ▄█▄▄▄▄▀█▄▄▄▄▀ "], ["attack", " ▄█▀▄▄▄ ▀██████\n▄▀▀████▄ █████▀ \n█▄█ █▀ ▀████▀▀ \n███ █ ▀█ \n▀▄▄▀ ▄▀▀ ▄ ▀▄ \n ▀▄ ▀▄▄▀ █▀▄\n █ ▄▄ ▄█\n ▄█▄▄▄▄█▀▀▄▄▄█▀ "], ["eat_1", " ▄█▀▄▄ \n ▄█████▄ ▀████▄\n█▀██▀█ ▀▄████ \n█ ▀▀ █ ▄ ███▀▀ \n▄▀▄▄▀ ▄▀ ▄█▀▄ \n▀▄█ ▀▀ ▀▀▄\n ▀▀▄ ▄ ▄▀ \n ▄█▄▄▄▀█▄▄▄▄▀ "], ["eat_2", " ▄▄ \n ▄██▄█▀ ▀█████▀\n▄█████▀█▄█████▄ \n█▄▄ █ ▀▀██▀ \n▀▄ ▀▄▀ ▀▄ \n ▄▀▀ ▄▀ █ ▀▄ \n▀▄▄▄▀▄▄▄▀ ▄ ▄▀\n ▄█▄▄▄▄▀█▄▄▄▄▀ "], ["happy", " ▄█▀▄▄ \n ▄█████▄ ▀████▄\n█▀▀▀▀█ ▀▄████ \n█▀▀▄ █ █ ██▀▀ \n▄▀▄▄▀ █ ▄▀▄ \n▀▄█ ▀ ▀▀▄\n ▀▀▄ ▄ ▄▀ \n ▄█▄▄▄▀█▄▄▄▄▀ "], ["injured_1", " ▄ ▄ ▄▄ \n ▄██▄█▀ ▀████▄ \n▄██████▄███████▄\n█ ▄ █▀ ▀█▄ ▀█\n█ ▀▀ █ ▀▄ \n ▀▄▄▀ ▄▀ ▄ ▀▄\n ▀█ ▀█▄▀ █▄█\n █▄▄█▀▄▄▄▄▄▄▀ "], ["injured_2", " \n ▄█ ▄█ ▄▄ \n █████▄ ▀████ \n█▀▀▀▀██▀▀█████ \n█ █▄ █ ▀███ \n▀▄ ▄▀ ▄ ██▀\n ▀█▄ ▀▄ ▄▀ ▄ █\n █▄▄▄██▄▄▄▄▄█▀"], ["sleep_1", " \n ▄█ ▄█ ▄▄ \n █████▄ ▀████ \n█▀▀▀▀██▀▀█████ \n█ ▄▄ █ ▀███ \n▀▄ ▄▀ ▄ ██▀\n ▀█▄ ▀▄ ▄▀ ▄ █\n █▄▄▄██▄▄▄▄▄█▀"], ["sleep_2", " ▄ ▄ ▄▄ \n ▄██▄█▀ ▀████▄ \n███████▄███████▄\n█ █▀ ▀█▄ ▀█\n█ ▀▀ █ ▀▄ \n ▀▄▄▀ ▄▀ ▄ ▀▄\n ▀█ ▀█▄▀ █▄█\n █▄▄█▀▄▄▄▄▄▄▀ "], ["walk_1", " ▄█▀▄▄ \n ▄█████▄ ▀████▀\n█▀██▀█ ▀▄████ \n█ ██ █ ███▀▀ \n ▀▄▄▀ ▄▀ ▄ ▀▄ \n▄▀▀ █▄ ▄▀ ▀▀▄\n▀█▄▀▄ ▀▀ ▄ ▄▀ \n ▄█▄▄▄▀█▄▄▄▄▀ "], ["walk_2", " ▄▄ \n ▄██▄█▀ ▀█████▀\n▄█████▀█▄█████▄ \n█ ██ █ ▀▀██▀ \n▀▄▀▀▄▀ ▀▄ \n ▄▀▀ ▄▀ █ ▀▄ \n▀▄▄▄▀▄▄▄▀ ▄ ▄▀\n ▄█▄▄▄▄▀█▄▄▄▄▀ "]]], + ["gigaseadramon", [["angry", "█▀▄ ▄▄▄▄▀▀█▄▄▄▄\n▀▄▄▀▀ ▄ ▀▀▀▄▄▄▀ \n█ ▀▀▄▀▀█▄▄▀ \n▀▄█████▄▄▀▄▀ \n ▀▄▄▄▄█▄█▄▄▀▀▄ \n █▄█ ▄▀ ▄▀█▄▀▄\n █▄█ ▀▀▀▀▀▀ █\n ▀▄█▄▄▄▄▄▄▀▀ "], ["attack", "█▀▄ ▄▄▄▄▀▀█▄▄▄▄\n▀▄▄▀▀▄▄ ▀▀▀▄▄▄▀ \n█ ▀▀ ▄▀▀█▄▄▀ \n▀▄▀▀███▄▄▀▄▀ ▄▀▄\n ████ ██▄ ▀▄█\n █▀▀▀▀▄▀ ▄▀▄▀ █\n ▀█▀█ ▀▀▀▀ ▄▀ \n ▀█▄█▄▄▄▄▀ "], ["eat_1", "█▀▄ ▄▄▄▄▀▀█▄▄▄▄\n▀▄▄▀▀▄▄ ▀▀▀▄▄▄▀ \n█ ▀▀ ▀▀█▄▄▀ \n█▄▀▀▀▀▄ ▄▀▄▀ ▄ \n ▄▄▄▄▀ ▄█▄▄ █ █\n ▀▄▄▄ █▀ ▄▀ ▄▀█\n █▄█ ▀▀▀▀▀▀ ▄▀\n ▀▄█▄▄▄▄▄▄▀ "], ["eat_2", " \n█▀▄ ▄▄▄▄▀▀█▄▄▄▄\n▀▄▄▀▀▄ ▀▀▀▄▄▄▀ \n█ ▀ ▀▄▀▀█▄▄▀ \n█▄▀▀▀▀▀▄▄▀▄▀ \n ▀█▀█▀ ▄█▀▀▄▄▄ \n █▄█ ▀▄▄▀▀▄▀ \n ▀▄▄█▄▄▄▄▄▀▀ "], ["happy", "█▀▄ ▄▄▄▄▀▀█▄▄▄▄\n▀▄▄▀▀▄ ▀▀▀▄▄▄▀ \n█ ▀ ▀ ▀▀█▄▄▀ \n█▄▀▀▀█▄ ▄▀▄▀ ▄ \n ▄▄▄██ ██▄▄ █ █\n ▀▄▄▄ █▀ ▄▀ ▄▀█\n █▄█ ▀▀▀▀▀▀ ▄▀\n ▀▄█▄▄▄▄▄▄▀ "], ["injured_1", "▄▄ ▄▄▄ \n█ ▀▄▄▀▀▀█▄▄▀▀▀█▀\n▄▀▀ █▄ ▄▄▄▀▀█ \n█ ▄▄▄▄▄▀ ▄▀█▀ \n▀▀▄▄▄▄▄▀▀▄▀ \n ▄▀█ ▄█▀▀█ \n █▄█ ▀▄▄█▄▀▀▄ \n ▀▄▄█▄▄▄▄▄▄▀▀▄█"], ["injured_2", " \n█▀▄ ▄▄▄▄▀▀█▄▄▄▄\n▀▄▄▀▀▄ ▀▀▀▄▄▄▀ \n█ ▀▀▄▀▀█▄▄▀ \n█▄▀▀▀▀▀▄▄▀▄▀ \n ▀█▀█ ▄█▀▀█ \n █▄█ ▀▄▄█▄▄▄▄ \n ▀▄▄█▄▄▄▄▄▄█▄▄█"], ["sleep_1", " \n█▀▄ ▄▄▄▄▀▀█▄▄▄▄\n▀▄▄▀▀ ▀▀▀▄▄▄▀ \n█ ▀▀▀ ▄▀▀█▄▄▀ \n█▄▀▀▀▀▀▄▄▀▄▀ \n ▀█▀█▀ ▄█▀▀▄▄▄ \n █▄█ ▀▄▄▀▀▄▀ \n ▀▄▄█▄▄▄▄▄▀▀ "], ["sleep_2", "▄▄ ▄▄▄ \n█ ▀▄▄▀▀▀█▄▄▀▀▀█▀\n▄▀▀▄▄▄ ▄▄▄▀▀█ \n█ ▄▄▄▄▄▀ ▄▀█▀ \n▀▀▄▄▄▄▄▀▀▄▀ \n ▄▀█ ▄█▀▀█ ▄▄\n █▄█ ▀▄▄█▄▀█▄▀\n ▀▄▄█▄▄▄▄▄▄▀ "], ["walk_1", "█▀▄ ▄▄▄▄▀▀█▄▄▄▄\n▀▄▄▀▀▄▄ ▀▀▀▄▄▄▀ \n█ ▀▀ ▄▀▀█▄▄▀ \n█▄▀▀▀▀▀▄▄▀▄▀ ▄ \n ▀▀█▀█▀▄█▄▄ █ █\n █▄█ ▄▀ ▄▀ ▄▀█\n █▄█ ▀▀▀▀▀▀ ▄▀\n ▀▄█▄▄▄▄▄▄▀ "], ["walk_2", "▄▄ ▄▄▄ \n█ ▀▄▄▀▀▀█▄▄▀▀▀█▀\n▄▀▀ ▄█▀ ▄▄▄▀▀█ \n█ ▄▄▄▄▄▀ ▄▀█▀ \n▀▀▄▄▄▄▄▀▀▄▀ \n ▄▀█ ▄█▀▀█ ▄▄\n █▄█ ▀▄▄█▄▀█▄▀\n ▀▄▄█▄▄▄▄▄▄▀ "]]], + ["gigimon", [["angry", " \n ▄▄▄\n ▄▀▀▀▀▀▀▀█▄▀ ▄▀\n █ ▀▄ ▀▄▄▀ \n█ █▄ ▄█ ▄▀▄▄█▄ \n█ ▄▄▄ ▀▀ █ \n █▄ ▄█▀▄ \n█▄▀▀▀▀▀█▄▀ ▀▄█ "], ["attack", " ▀█▀▄ ▄▀▀█▀ \n ▄▀▀▀▀█▀ ▄█ \n █ ▀▀▄█ ▀█ \n ▀█▀▀█▀▄ █▀▄ \n █ █ ▀▄\n ▄ ▄ █ █▀▀▀\n █▀▀▀▀▀▀▀ ▄ ▀▄ \n█▄█▀▀▀▀█▄▀▀█▄█ "], ["eat_1", " ▄▄▄ ▄▄▄▄ \n █▄█▄▄▄▀ ▄▀ \n ▄▀ ▀ ▄▀█ ▄▄▄\n▄▀█ █ ▄ █ ▄▀\n█ ▄▄▄ ▀▀ █▄▀ \n█ ███ █ \n █▄ ▄ █ \n █▄▀▀▀▀█▄▀▀▄█ "], ["eat_2", " \n ▄▄▄ ▄▄▄▄ \n █▄█▄▄▄▀ ▄▀ \n ▄▀ ▀ ▄▀█▄▀▀█\n█▄▀▄ ▄▀▄ █ █ \n█ ▄ ▄ ▄█ █▀ \n▀▄ ▀▀ █ \n█▄█▄▄▄▄█▄▄█▄▄█ "], ["happy", " ▀█▀▄ ▄▀▀█▀ \n ▄▀▀▀▀█▀ ▄█ ▄▄▄\n▄▀▄ ▄ ▀ ▀█ ▄▀\n█▀ ▀ ▀ ▀ ▄ █▄▀ \n█ ▄▄▄▄▄▄ ▀▀ █ \n▀▄ ▀▀▀▀ ▄▀▄ \n █▀▄▄▄▄▄ ▄▀▀▄█ \n ▀▀ ▀▀ "], ["injured_1", " \n \n ▄▄▄\n ▄▀▀▀▀▀▀▀█▄▀ ▄▀\n▄▀▄ ▄ ▀▄ ▀▄▄▀ \n█▀▀ ▀██ ▀▄▄█▄ \n▀▄ ▀▀▀ ▄ █▄ \n█▄█▄▄▄█▄▄▄██▄▄█ "], ["injured_2", " \n \n \n ▄▄▄▄▄▄▄ ▄▄▄\n ▄▀ ▄ ▀█▀ ▄▀\n█▄█ █▄▄▀▄ ▀█▀ \n█ ▄▄▄ ▀█ ▀██▀ \n██▄▄▄▄▄█▄▄██▄▄█ "], ["sleep_1", " \n \n \n ▄▀▀▀▀▀▀▀▄▄ \n █ ▀▄ ▀▄▄ \n█ ▄▄ ▄▄ ▄▀▄▄█▄ \n█ ▄ ▀▀ ▄▀▀ █ ▀▄\n█▄▄█▄▄█▄▄▄█▄▄█▄█"], ["sleep_2", " \n \n ▄▄▄▄▄▄▄ \n ▄▀ ▄ ▀█ \n▄▀ ▀▄ ▀█ \n█ ▀▀ ▀▀▄█ ▀██▀ \n█ ▄ ▀▀ ▄ █ ▀▄\n█▄▄█▄▄█▄▄▄█▄▄█▄█"], ["walk_1", " \n ▀█▀▄ ▄▀▀█▀ \n ▄▀▀▀▀█▀ ▄█ ▄▄▄\n █▄ ▄ ▀ ▀█ ▄▀\n█ ▀ ▀▄█ █▄▀ \n█ ▄▄▄ █ \n █▄ ▄ █ \n █▄▀▀▀▀█▄▀▀▄█ "], ["walk_2", " \n ▄▄▄ ▄▄▄▄ \n █▄█▄▄▄▀ ▄▀ \n ▄▀ ▀ ▄▀█▄▀▀█\n▄▀█ █ ▄ █ █ \n█ ▀▀ █▀ \n▀▄ ▀▀▀ █ \n█▄█▄▄▄▄█▄▄█▄▄█ "]]], + ["ginryumon", [["angry", " ▄▄▀▀█ ▄▀█▄▄ \n ▄▀▄▄███▀ ▀ ▄▀ \n█ ▀▀▄▄▄▄▄▄▀▀ ▄▀▄\n█▀▀▀ ▄█ ██ █▄█\n ▀▄▄▄▄ ▀▄▀▄█ █\n ▄▀ █▄▄▀▀ █\n █▀▀▄▄█▄▄▄█▄▄▄▀\n █▄█▄█ █▄█▄█ █▄█"], ["attack", " ▄▄▀▀█ ▄▀█▄▄ \n ▄▀▄▄███▀ ▀ ▄▀ \n█ ▀▀▀▄▄▄▄▄█▀ ▄ \n█▀▀▀▀ ▄█ █▀▄ █ █\n▀█████▄ ▀▄▀▄█▀█\n ██▄▄█ ▄█▄█▀ █\n ▄▀▀▄ █▄▄▄█▄▄▀\n█▄█▄█▀▀▀█▄█▄██▄█"], ["eat_1", " ▄▄▀▀█ ▄▀█▄▄ \n ▄▀▄▄███▀ ▀ ▄▀ \n█ ▄▄▄▄▄▄▄▀▀ ▄▀▄\n█▀▀ ▄▀▄ █ █ █▄█\n █████ ▀▄▀▄█ █\n █▀▀▀ █▄▄▀▀ █\n ▄▀▀▄▄█▄▄▄█▄▄▄▀\n █▄█▄█ █▄█▄█ █▄█"], ["eat_2", " ▄▄▀▀█ ▄▀█▄▄ \n ▄▀▄▄███▀ ▀ ▄▀ \n█ ▀▀▄▄▄▄▄▄▀▀ ▄▀▄\n█▀▀▀ ▄▀▄ ██ █▄█\n ▀▄▄▄▄ ▀▄▀▄█ █\n ▄▀ █▄▄▀▀ █\n █▀▀▄▄█▄▄▄█▄▄▄▀\n █▄█▄█ █▄█▄█ █▄█"], ["happy", " ▄▄▀▀█ ▄▀█▄▄ \n ▄▀▄▄███▀ ▀ ▄▀ \n█ ▄▄▄▄▄▄▄█▀ ▄ \n█▀▀ ▄▀▄ ▀▄▀▄ █ █\n▀█████ ▀▄▀▄█▀█\n ▀█▀▀ ▄█▄█▀ █\n ▄▀▀▄ █▄▄▄█▄▄▀\n█▄█▄█▀▀▀█▄█▄██▄█"], ["injured_1", " ▄▄▄ ▄▄ \n ▄▀▀▄▄█▄▀▄▀▀█ \n▄▀▄▀▀▀▀▀ ▄▄▀ ▄ \n█▄▄▀▀█▀▀█▀▄ █ █\n▀▄ ▀▀ █ █ █▀█\n ▀█▀▀ ▄█▄█▀ █\n ▄█▀▄ █▄▄▄█▄▄▀\n█▄███▀▀▀█▄█▄████"], ["injured_2", " \n ▄▄▀▀█ ▄▀█▄▄ \n ▄▀▄▄███▀ ▀ ▄▀ \n█ ▀▄▄▄▄▄▄▄▀▀ ▄▀▄\n█▀▀ █▄ ▀▄▀▄ █▄█\n ▀▄▄▄ █▄██▀ █\n ▄█▄ █▄▄▄█▄▄▀\n█▄███▄▄▄█▄█▄████"], ["sleep_1", " \n ▄▄▀▀█ ▄▀█▄▄ \n ▄▀▄▄███▀ ▀ ▄▀▄ \n█ ▀▀▀▄▄▄▄▄▀▀ █ █\n█▀▀▀▀▄▄ █ █ █▀█\n ▀▄▄▄ █▄██▀ █\n ▄█▄ █▄▄▄█▄▄▀\n█▄███▄▄▄█▄█▄████"], ["sleep_2", " ▄▄▄ ▄▄ \n ▄▀▀▄▄█▄▀▄▀▀█ \n▄▀▄██▀▀▀ ▄▄▀ ▄ \n█▄▄▄▄▀▀▀█▀▄ █ █\n▀▄ ▀▀ ▀▄▀▄ █▀█\n ▀█▀▀ ▄█▄█▀ █\n ▄█▀▄ █▄▄▄█▄▄▀\n█▄███▀▀▀█▄█▄████"], ["walk_1", " ▄▄▀▀█ ▄▀█▄▄ \n ▄▀▄▄███▀ ▀ ▄▀ \n█ ▀▀▀▄▄▄▄▄▀▀ ▄▀▄\n█▀▀▀▀▄▀ █ █ █▄█\n ▀▄▄▄▄ ▀▄▀▄█ █\n ▄▀ █▄▄▀▀ █\n █▀▀▄▄█▄▄▄█▄▄▄▀\n █▄█▄█ █▄█▄█ █▄█"], ["walk_2", " ▄▄▄ ▄▄ \n ▄▀▀▄▄█▄▀▄▀▀█ \n▄▀▄██▀▀▀ ▄▄▀ ▄ \n█▄▄▄▄▀█▀█▀▄ █ █\n▀▄ ▀ ▀▄▀▄ █▀█\n ▀█▀▀ ▄█▄█▀ █\n ▄█▀▄ █▄▄▄█▄▄▀\n█▄███▀▀▀█▄█▄████"]]], + ["giromon", [["angry", " \n \n \n \n \n ▄ ▄▄█▄█ \n █▄▄██▄ \n ▄▄██▀▄ "], ["attack", " \n \n ▄ ▄ \n ▀▄███▀██▀ \n ███▄▄██ \n ███ \n ███ \n ▄▄▄██▀▄ "], ["eat_1", " \n \n \n \n ▄▄▄▄ ▄ \n ▀██▄███▀ \n ▀███ \n ▄▄██▀▄ "], ["eat_2", " \n \n \n \n \n ▄ ▄ \n ▄▀████ \n ▀██████▀ "], ["happy", " \n \n \n \n ▄ ▄ \n ▀█▀██▀█▀ \n ▄██ ██▄ \n ▀▄▄▀ "], ["injured_1", " \n \n \n \n \n █▄▄▄▄▄▄█ \n █▀██▀█ \n ▄██████▄ "], ["injured_2", " \n \n \n \n \n ▄ ▄ \n ▄▀▀██▀▀▄ \n ▄████████▄ "], ["sleep_1", " \n \n \n \n \n ▄ ▄ \n ▀██████▀ \n ▀▄▄██▄▄▀ "], ["sleep_2", " \n \n \n \n ▄ ▄ \n ▀██████▀ \n █▀▀██▀▀█ \n ▀██████▀ "], ["walk_1", " \n \n \n \n \n █▄▄▄▄▄█ \n █▄█▄█ \n █▀▄▄▄▀█ "], ["walk_2", " \n \n \n \n \n ▄ ▄ \n ▀█▀████▀ \n ▀████▄█▀ "]]], + ["gizamon", [["angry", " \n \n ▄▀▀█ ▄▄▄ \n ▄█▄████▄▄█ \n ▄▀ █▀ ▀▀████▀█\n ██▄ ▄█ ▀▀▀██▄▀\n █ ▄ ▀█▀▀▄\n█▄██▀▀█▄▄█▀█▄▄▄█"], ["attack", " ▄▄▀▀█ \n ▄▄█▄▄██▄▄▄▄▄ \n ▄█▄▀▀▄█ ▀▀█▄▄▀ \n █▄ ▄ ▄ ▄ ▀▀██▄▄\n ▀███████ █▄▀\n ▄█▀█▀█▀█ █▄\n █▄▄▄▄▄▄ ▄█▄ █\n█▄▄█ █▄▄▄▀█▄▄▄█"], ["eat_1", " ▄▄▄ \n ▄▀▄▄█ ▄▄▄ \n ▄▀██▀▀██▄ █ \n ▄▀▄▀ ▄▀▄ ▀██▄▄▄\n █▄▄▄▄▄▄ ▀▀██ █\n ███▀▀▀█ ▀▀██ \n █▄▀▀▀▀▀▄▄ ▄▄ ▀▄\n█▄▄█▀▀▀█▄▄██▄▄▄█"], ["eat_2", " \n \n ▄▀▀█ ▄▄▄ \n ▄█▄████▄▄█ \n ▄▀ █▀ ▀▀████▀█\n █▀▄ ▄▀▄ ▄███▄▀\n █ ▄ █▀▀▄\n█▄██▀▀█▄▄█▀█▄▄▄█"], ["happy", " ▄▄▄ \n ▄▀▄▄█ ▄▄▄ \n ▄▀██▀▀██▄ █ \n █▀▄▀ ▄▀▄ ▀██▄▄▄\n █▄▄▄▄▄▄▄ ▀▀██ █\n ██████▀ ▀▀██ \n █▄▀▀▀▀▄ ▄▄ ▀▄\n█▄▄█▀▀█▄▄▄▀█▄▄▄█"], ["injured_1", " \n \n ▄▄▄ \n ▄▀ ▄█▄▀▀█ \n ▄██▄███████▄▄▄\n ▄▀▄▀▀▄ ▀▀███ █\n █▀▀ ▀▀ ▀████ \n██▄▄▄▄█▄▄▄█▄▄▄▄█"], ["injured_2", " \n \n \n ▄▀▀█ ▄▄▄ \n ▄█ ▄███▄▄█ \n █▀██▀▀▀█████▀█\n █▄█ █▄ ▄███▄▀\n█▄▄▄▄▄▄▄▄▄█▄▄▄▄█"], ["sleep_1", " \n \n ▄▄▄ \n ▄▀▄▄█▄▀▀█ \n ▄▀██▀▀█████▄▄▄\n █ ▀ ▀███ █\n █▀▀ ▀▀▀ ▀▀██▀▄\n█▄█▄▄▄▄█▄█▄▄█▄▄█"], ["sleep_2", " \n \n ▄▀▀█ ▄▄▄ \n ▄█▄████▄▄█ \n ▄▀ █▀ ▀▀████▀█\n █▄▄ ▄▄▄ ▄███▄▀\n █ ▄ █▀▀▄\n█▄██▀▀█▄▄█▀█▄▄▄█"], ["walk_1", " \n \n ▄▀▀█ ▄▄▄ \n ▄█▄████▄▄█ \n ▄▀ █▀ ▀▀████▀█\n █ █ █ ▀▀▀██▄▀\n █ ▄ ▀█▀▀▄\n█▄██▀▀█▄▄█▀█▄▄▄█"], ["walk_2", " \n \n ▄▄▄ \n ▄▀▄▄█▄▀▀█ \n ▄▀██▀▀█████▄▄▄\n █ ▄▀ ▄ ▄████ █\n █ ▀ ▀ ▄███ \n██▄▄▄▄█▄▄▄█▄▄▄▄█"]]], + ["gogmamon", [["angry", " ▄▄▄\n ▄▀▀▀▀▀▀▄▀ █\n ▄▀█▄▀▀▀█ ▀▄ █ \n█ ▀ ▄ ▀▀▄ ██▄█ \n█ ▀▀ ▀█ ████ █ \n▀▄▀▀▀▀██▀█▀▀ █ \n ▄▀██▀▀ ▄█▄ ▄█ \n█▄█▄██▀▀▀▀████▄█"], ["attack", " ▄▀▀█\n ▄▀▀▀▀▀▀▄█\n ▄▀█▄▀▀▀█ ▀▄█\n █ ▀ ▄ ▀▀▄ █▀▄\n▄▀▀█ ▀▀ ▀█▀▀▄ █\n▀▄▄█▄▀▀▀▀▀█▄▄▄▄▀\n ▄▀██▀▀ ▄█▀▄ \n █▄█▄██▀▀█▄█▄█"], ["eat_1", " ▄▀▀▀▀▀▀▄▄▀▀█\n ▄▀█▄▀▀▀█ ▀▄ ▄▀\n█ ▀ ▀▀▄ ██ ▄▀ \n█ ▀▀ ▀█ ████▀▄ \n▀▄▀███▀█▄███ █ \n ▄▀▀▀▄▀ ▄█ █ \n ████▄▄███▄▄▄▀ \n █▄█▄█▀ ▀█▄█▄█ "], ["eat_2", " ▄▄▄\n ▄▀▀▀▀▀▀▄▀ █\n ▄▀█▄▀▀▀█ ▀▄ █ \n█ ▀ ▄ ▀▀▄ ██▄█ \n█ ▀ ▀ █ ███▀ █ \n▀▄▀▀▀▀██▀▀█▀ █ \n ▄▀██▀▀ ▄██ █ \n█▄█▄██▀▀▀▀████▄█"], ["happy", " ▄▀▀▀▀▀▀▄▄▀▀█\n ▄▀█▄▀▀▀█ ▀▄ ▄▀\n█ ▀ ▄ ▀▀▄ ██ ▄▀ \n█ ▀ ▀ █ ████▀▄ \n▀▄▀███▀█▄███ █ \n ▄▀▀▀▄▀ ▄█ █ \n ████▄▄███▄▄▄▀ \n █▄█▄█▀ ▀█▄█▄█ "], ["injured_1", " \n ▄▄▄▄▄▄ ▄▀▀█\n ▄▄▀▄▄▄▄ ▄▀ ▄▀\n▄▀▄▀▀ ▄▄▀ ▄█ ▄▀ \n█ █▄ ▄▀▄███▀▄ \n█ ▄▄▄▄▄█▄███ █ \n▄▀▄▄▄▄█▀ ▄▀ █ \n██▄██▄▄▄██▄▄▄█▄█"], ["injured_2", " \n ▄▄▄\n ▄▀▀▀▀▀▀▄▀ █\n ▄▀█▄▀▀▀█ ▀▄ █ \n█ ▀ ▄ ▀▀▄ ██▄█ \n█ ▀▀ █ ███▀ █ \n▀▄▀▀▀▀███▀▀ █ \n█▄███████▄▄▄▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄▄ ▄▀▀█\n ▄▄▀▄▄▄▄ ▄▀ ▄▀\n▄▀▄▀▀ ▄▄▀ ▄█ ▄▀ \n█ ▄▄ ▄▀▄███▀▄ \n█ ▄▄▄▄▄█▄███ █ \n▄▀▄▄▄▄█▀ ▄▀ █▄\n██▄██▄▄▄██▄▄▄█▄█"], ["sleep_2", " ▄▄▄\n ▄▀▀▀▀▀▀▄▀ █\n ▄▀█▄▀▀▀█ ▀▄ █ \n█ ▀ ▀▀▄ ██▄█ \n█ ▀▀ █ ███▀ █ \n▀▄▀▀▀▀██▀▀█▀ █ \n ▄▀██▀▀ ▄██ █ \n█▄▄▄██████████▄█"], ["walk_1", " ▄▄▄▄▄▄ ▄▀▀█\n ▄▄▀▄▄▄▄ ▄▀ ▄▀\n▄▀▄▀▀ ▄▄▀ ▄█ ▄▀ \n█ ▄█ ▄▄▀▄███▀▄ \n█ ▄▄▄▄▄█▄███ █ \n ▀▄▄▄▄█▀ ▄█ █ \n ▄██▄▄▄███▄▄▄▀ \n █▄█▄█▀ ▀█▄█▄█ "], ["walk_2", " ▄▄▄\n ▄▀▀▀▀▀▀▄▀ █\n ▄▀█▄▀▀▀█ ▀▄ █ \n█ ▀ ▄ ▀▀▄ ██▄█ \n█ ▀▀ ▀█ ███▀ █ \n▀▄▀▀▀▀██▀▀█▀ █ \n ▄▀██▀▀ ▄██ █ \n█▄█▄██▀▀▀▀████▄█"]]], + ["goldramon", [["angry", " ▄▀▀▀▀▀█▀▀█ █▄ \n█ ▄█ ▀█ ▄▀ █ \n ████▄▄ ▄▀█ █\n █▀▀▀▀▀▄█▀▀▄ █\n ▄█▀█▀▀█▀▀▄█ █\n █ ██▀▀█ █▄▀▄█\n ▀█ ▀▀▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["attack", " ▄▄▀▀▀█▀▀█ █▄ \n▄▀ ▄█ ▀█ ▄▀ █ \n▀▄▄▄▄ ▄▀█ █\n ▀▄ ▀▀▀▄▀▄▄ █\n ▄▄█▀█▀▀██ █ █\n█ ▀██▀▀█ ▀██▄▀▄█\n ▀▀▀▄ ▀▀ ▄▀ \n ▀▀▀▀▀▀▀▀ "], ["eat_1", " ▄▄▄▄▄▄▄ ▄ \n ▄▀▀ ▄ ▀▄▄▀ █▀▄ \n█ ▀ ▀ █▄▀ ▀▄\n █▀▀▀▄▄▄▀▄▀ █\n ▀▄▄▄▄▄█▄▀▀▄ █\n▄▀██▄█▄▄▀█▄▄▀▄ █\n▀▄▄█▀ ▀▄▄▀▀▀ █▀\n ▀▄▄▄▄▄▄▄▄▀ "], ["eat_2", " ▄▀▀▀▀▀█▀▀█ █▄ \n█▄▄▄ ▀▄ ▀█ ▄▀ █ \n ▀███▄ ▄▀█ █\n ▀███▀▀▄▀▄▄ █\n ▄▄█▄▄▀▀██ █ █\n█ ▀██▀▀█ ▀██▄▀▄█\n ▀▀█ ▀▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["happy", " ▄▀▀▀█▀█▀▀█ █▄ \n█ ▀ ▀ ▀█ ▄▀ █ \n █████▄ ▄▀█▄▄ █\n ▄█▀▀▀▀▀▄▀█ █ █\n█ █▀█▀▀██▀▀█ █\n ▀▀██▀▀▀ ▀██▄▀▄█\n █ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["injured_1", " \n ▄▄▀▀▀█▀▀█ █▄ \n▄▀ █▄ ▀█ ▄▀ █ \n▀▄▄▄▄ ▄▀█ █\n ▀▄ ▀▀▀▄▀▄▄ █\n ▄█▀█▀▀██ █ █\n █▀██▀▀█ ▀██▄▀▄█\n █▄█▄▄▄█▄▄█▄▄▄▀ "], ["injured_2", " \n ▄▄▄▄▄▄▄ ▄ \n ▄▀▀▄ ▀▄▄▀ █▀▄ \n█ ▀▀ █▄▀ ▀▄\n █▀▀▀▄▄▄▀▄▀ █\n █▄▄▄▄▄█▄▀▀▄ █\n ▄██▄▀▄▄▀███▄▀▄█\n █▄█▄▄▄█▄▄█▄▄▄▀▀"], ["refuse", " ▄▄▄▄▄▄▄ ▄ \n ▄▀▀ ▄ ▀▄▄▀ █▀▄ \n█ ▀▀ █▄▀ ▀▄\n █▀▀▀▄▄▄▀▄▀ █\n ▀▄▄▄▄▄█▄▀▀▄ █\n▄▀██▄█▄▄▀█▄▄▀▄ █\n▀▄▄█▀ ▀▄▄▀▀▀ █▀\n ▀▄▄▄▄▄▄▄▄▀ "], ["sleep_1", " ▄▄▄▄▄▄▄ ▄ \n ▄▀▀ ▀▄▄▀ █▀▄ \n█ ▀▀ █▄▀ ▀▄\n █▀▀▀▄▄▄▀▄▀ █\n ▀▄▄▄▄▄█▄▀▀▄ █\n ▄█▄█▄▄▀█▄▄▀▄ █\n █ █▀ ▀▄▄█▀█ ▀▀\n ▀▀▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n ▄▄▀▀▀█▀▀█ █▄ \n▄▀ ▄▄ ▀█ ▄▀ █ \n▀▄▄▄▄ ▄▀█ █\n ▀▄ ▀▀▀▄▀▄▄ █\n ▄█▀█▀▀██ █ █\n █▀██▀▀█ ▀██▄▀▄█\n █▄█▄▄▄█▄▄█▄▄▄▀ "], ["walk_1", " ▄▄▀▀▀█▀▀█ █▄ \n▄▀ ▄█ ▀█ ▄▀ █ \n▀▄▄▄▄ ▄▀█ █\n ▀▄ ▀▀▀▄▀▄▄ █\n ▄▄█▀█▀▀██ █ █\n█ ▀██▀▀█ ▀██▄▀▄█\n ▀▀█ ▀▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["walk_2", " ▄▄▀▀▀█▀▀█ █▄ \n▄▀ ▄█ ▀█ ▄▀ █ \n▀▄▄▄▄ ▄▀█ █\n ▀▄ ▀▀▀▄▀▄▄ █\n ▄▄█▀█▀▀██ █ █\n█ ▀██▀▀█ ▀██▄▀▄█\n ▀▀▀▄ ▀▀ ▄▀ \n ▀▀▀▀▀▀▀▀ "]]], + ["goldramon_x", [["angry", "▄▄▄▄ ▄▄▄▄ ▄▄▄ \n▀▄▄▄▀▀ ▄ ▀ ▄▀ \n █ ▀▀▄▄▀█ ▄▄▄\n ▀▄▀▀▀▀ █▄▀ ▄▀\n ▀▄▄▄█▀█▀▀█ ▄▀\n ▄▀█▄█▄▄█▄▀█▀ \n █▄▀▄▄▀█ █▄▀█\n ▀▄▄▄▄▄███▄▄▄▀"], ["attack", "█▀▀▀▄▄▀▀▀▀▄▀▀█ \n ▀█▀ ▄█ ▄▄▀ \n █▄▄▄▄ ▄▀▄▀▄▀▀█\n █████ █▀▀▄ ▀▄\n █▀▀▀▀▄█▄▀▀▄▀ \n ██▀▀█▄▀█ █▄\n █ ▀▀ █▄█▀ █\n ▀▄▄▄▄▄▄▄▄▀ "], ["eat_1", "█▀▀▀▄▄▀▀▀▀▄▀▀█ \n ▀█▀ ▄▀▄ ▄▄▀ \n █ ▄▄▄▄▄▀▄▀▄▀▀█\n ▀████▀█▀▀█ ▀▄\n ▄█▀▀▀ █▄▀█▄▀ \n █ ██▀▀█ ▄▀ ▄▄\n ▀█ ▀▀ ▀█▄▄▀ █\n ▀▄▄▄▄▄▄▄▄▀ "], ["eat_2", "▄▄▄▄ ▄▄▄▄ ▄▄▄ \n▀▄▄▄▀▀ ▄ ▀ ▄▀ \n █ ▀ ▀▄▀█ ▄▄▄\n ▀▄▀▀▀▀▀▄█▄▀ ▄▀\n ▀▄▄▄█▀█ ▄█ ▄▀\n ▄▀█▄█▄▄▀▀ █▀ \n █▀▄▄▀▀▄▄██▄▀█\n ▀▄▄▄▄▄▄▄▄▄▄▄▀"], ["happy", "█▀▀▀▄▄▀▀▀▀▄▀▀█ \n ▀█▀ ▄▀▄ ▄▄▀ \n █ ▄▄▄▄▄▀▄▀▄▀▀█\n ▀████▀█▀█▄ ▀▄\n ▄▀█▀▀▀▄▀▀ █▄▀ \n ▀▄██▀▀█▄▄█▀ ▄▄\n █ ▀▀ █▄▄▀ █\n ▀▄▄▄▄▄▄▄▄▀ "], ["injured_1", " \n█▀▀▀▄▄▀▀▀▀▄▀▀█ \n ▀█▀ █▄ ▄▄▀ \n █ ▄▄▄▄▀▀▄▀▄▀▀█\n █ ▄▄█▀▀▄ ▀▄\n ▄█▀▀█ ▄█▀█▄▀ \n █ █▀▀██ ▄█▄▀█\n █▄▄▄▄▄██▄▄▄▄▀"], ["injured_2", " \n▄▄▄▄ ▄▄▄▄ ▄▄▄ \n▀▄▄▄▀▀▄ ▀ ▄▀ \n █ ▀▀▄▄▀█ \n ▀▄▀▀▀▀ █▄█▀▀▄\n █▄▄▄█▀▀█▄ █▀▄\n █ █▄▄██▀▀ ██▄▀\n ▀█▄▄▄▄█▄▄█▄▄▄█"], ["sleep_1", " \n█▀▀▀▄▄▀▀▀▀▄▀▀█ \n ▀█▀ ▄▄ ▄▄▀ \n █ ▄▄▄▄▀▀▄▀▄▀▀█\n █ ▄▄█▀▀▄ ▀▄\n █▀█▀ █▄▀█▄▀ \n ▄▀█▀▀██ ▄█▄▀█\n ████▄▄██▄▄▄▄▀"], ["sleep_2", "▄▄▄▄ ▄▄▄▄ ▄▄▄ \n▀▄▄▄▀▀ ▀ ▄▀ \n █ ▀▀▄▄▀█ ▄▄▄\n ▀▄▀▀▀▀ ▄█▄▀ ▄▀\n ▀▄▄▄█▀█ ▄█ ▄▀\n ▄▀█▄█▄▄▀▀ █▀ \n █▀▄▄▀▀▄▄██▄▀█\n ▀▄▄▄▄▄▄▄▄▄▄▄▀"], ["walk_1", "█▀▀▀▄▄▀▀▀▀▄▀▀█ \n ▀█▀ ▄█▀ ▄▄▀ \n █ ▄▄▄▄▀▀▄▀▄▀▀█\n █ ▄▄█▀▀▄ ▀▄\n ▄█▀█▀ █▄▀█▄▀ \n █ ██▀▀█ ▄▀ ▄▄\n ▀█ ▀▀ ▀█▄▄▀ █\n ▀▄▄▄▄▄▄▄▄▀ "], ["walk_2", "▄▄▄▄ ▄▄▄▄ ▄▄▄ \n▀▄▄▄▀▀ ▄▄ ▀ ▄▀ \n █ ▀▀▄▄▀█ ▄▄▄\n ▀▄▀▀▀▀ ▄█▄▀ ▄▀\n ▀▄▄▄█▀█ ▄█ ▄▀\n ▄▀█▄█▄▄▀▀ █▀ \n █▀▄▄▀▀▄▄██▄▀█\n ▀▄▄▄▄▄▄▄▄▄▄▄▀"]]], + ["golemon", [["angry", " ▄█████ ▄▄ \n ▄████▀███▄▀ █ \n ████▄▄██ █▄█▄ \n ▀▄▄▄▄▄ ▀▄█ ▄█▄ \n█▀▀████▄▀ █▀▀▄▀█\n▀▄▄██ ▄ ▄█▄▄█▀ \n █▀▄▀█▀█ \n █▄▄█▀▄▄▄█ "], ["attack", " \n ▄█████▄ █▀▄ \n ▄████▀██▀█ ▄▀ \n ████▄▄██ █▀▀▀▄ \n ▀█▀▀▀▀▀▄▀█▄▄▄▀ \n ▄██▀▀▀ █▄▄█▄ \n █ ▄▀▄▀▄▄▀█▄ █ \n ▀█▄▄███▄▄█▄▄▄▀ "], ["eat_1", " \n ▄█████▄ █▀▄ \n ▄████▀██▀█ ▄▀ \n ████▄█▄█ █▀▀▀▄ \n ▀█▀▀▀▀▀▄▀█▄▄▄▀ \n ▄██▀▀▀ █▄▄█▄ \n █ ▄▀▄▀▄▄▀█▄ █ \n ▀█▄▄███▄▄█▄▄▄▀ "], ["eat_2", " ▄█████ ▄▄ \n ▄████▀███▄▀ █ \n ████▄▄██ █▄█▄ \n ▀▄▄▄▄▄ ▀▄█ █ \n ▀████▄▀ █▀▀█ \n ▄▀▀█ ▄ ▄█▀▀▀█ \n █ ▀█▀▄▀█▀█▀ █ \n ▀█▄▄█▀▄▄▄█▀▀ "], ["happy", " ▄█████ ▄▄ \n ▄████▀███▄▀ █ \n ████▄█▄█ █▄█▄ \n █▄▄▄▄▄ ▀▄█ ▄█▄\n█ ▀████▄▀ █▀█ █\n ▀▀██ ▄ ▄█▄▀▀▀ \n █▀▄▀█▀█ \n █▄▄█▀▄▄▄█ "], ["injured_1", " \n ▄▄▄▄▄ █▀▄ \n ▄████████ ▄▀ \n █████▀██ █▀▀▀▄ \n █████▄▄▀▄█▄▄▄▀ \n █▄▄▄▄▄▀ █▄▄█▄ \n █ ▄█▀▄▀██▄ █ \n ▀▄▄▄███▄▄█▄▄▄▀ "], ["injured_2", " \n ▄▄ \n ▄█████▄▄▀ █ \n▄███████▀█▀▀▀▄ \n█████ ▀█ █▄▄▄▀ \n▀█▀▀▀▀▀▄█▀▄▄█▄▄ \n▄▀▀▀█▀█▀▄ █▄ █ \n▀▄▄█▄█▄▄▄██▄▄▄▀ "], ["refuse", " \n ▄▄▄▄▄ █▀▄ \n ▄████████▄▄█ \n █████▀ █ █ █ \n ███████▀▄█▀▀█▀ \n █▄▄▄▄▄▀ █▀▀▀▄ \n █ ▄▀▄▀▄▄▀█▀ █ \n ▀█▄▄███▄▄███▀▀ "], ["sleep_1", " \n ▄█████▄ █▀▄ \n ▄███████▀█ ▄▀ \n █████▄▄█ █▀▀▀▄ \n ▀█▀▀▀▀▀▄▀█▄▄▄▀ \n ▄██▀▀▀ █▄▄█▄ \n █ ▄▀▄▀▄▄▀█▄ █ \n ▀█▄▄███▄▄█▄▄▄▀ "], ["sleep_2", " \n ▄▄▄▄▄ █▀▄ \n ▄████████ ▄▀ \n █████▀▀█ █▀▀▀▄ \n ███████▀▄█▄▄▄▀ \n █▄▄▄▄▄▀ █▄▄█▄ \n █ ▄▀▄▀▄▄▀█▄ █ \n ▀█▄▄███▄▄█▄▄▄▀ "], ["walk_1", " ▄▄▄▄▄ ▄▄ \n ▄███████▄▀ █ \n ████▀ ██ █▄█▄ \n ███████▀▄█ █ \n ▀▄▄▄▄▄▀ █▀▀█ \n ▄▀▀█ ▄ ▄█▀▀▀█ \n █ ▀█▀▄▀█▀█▀ █ \n ▀█▄▄█▀▄▄▄█▀▀ "], ["walk_2", " \n ▄█████▄ █▀▄ \n ▄████▀██▀█ ▄▀ \n ████▄▄██ █▀▀▀▄ \n ▀█▀▀▀▀▀▄▀█▄▄▄▀ \n ▄██▀▀▀ █▄▄█▄ \n █ ▄▀▄▀▄▄▀█▄ █ \n ▀█▄▄███▄▄█▄▄▄▀ "]]], + ["gomamon", [["angry", " \n ▄▄ ▄▄▄ \n ▄▀▀▀▀▀▀▄ ▀ ▄▀\n █ ▄ █ ▄▀ \n▄▀▀ ▀▀ ▀ ▀▄ \n▀▄▄▀▄▄ █ \n ▄▀▄▄▄ █▄ ▄▀ \n█▄▄▄▀▀▄▄▄▄▄█▀ "], ["attack", " ▄▄▄ ▄▄▄ \n ▄▀▀▀▀▀▀▄ ▀ ▄▀\n █ ▄ █ ▀▄ \n█ ▄ ▀ █ █\n ▀█▀███▄ █\n █ ███ █\n ▄▄█▄██▀ █ ▀▄▄▀ \n█▄█▄▄▄▄▄█▄▄▄█ "], ["eat_1", " \n ▄▄▄▄▄▄ ▄▄ ▄▄ \n ▄▀ ▄ ▀▄ ▀ ▄▀\n▄▀ ▀ ▀ █ ▀▄ \n▀▄▄▄▄▄▄ █\n ▄███▀▀█ █\n█ ▄█▄▄▄▀ █ ▄ ▄▀\n▀▀▀▄▄▄▄▄█▄▄▄▄█ "], ["eat_2", " \n ▄▄ ▄▄▄ \n ▄▄▄▄█▄ ▀ ▄▀ \n ▄▀ ▀▄ ▀▄ \n █▄ ▄▄▄ █ ▀▄\n█ ▄ ▄ █\n █▀ ▀▀▀▀ ▄▄ █\n█▄██▀▀█▄▄▄▄▄█▄▀ "], ["happy", " \n ▄▄▄▄▄▄▀▀▄▀▀▀▄\n ▄▀ ▄ ▀▄ ▄▀ \n▄▀ ▀ ▀ █ ▀▄\n▀▄▄▄▄▄▄█ █\n ██▀▀█ █\n ▄▄█▄▄▄▀ ▄ ▄▄▀ \n█▄█▄▄▄▄▄█▄▄▄▄▄█ "], ["injured_1", " \n \n ▄▀▀▀▄▀▀▀▄ \n ▄▀▀▀▀▀▀▄ ▄▀ \n █ ▄ ▄ █ ▀▄ \n▄▀▀▀ ▀▀ █\n▀▄▄▄▀▄▄▄ ▄ ▀▄ █\n█▄█▄▄▄▄▄█▄▄▄█▄▀ "], ["injured_2", " \n \n \n ▄▀▀▀▀▀▀▄ \n █ ▄ █▀▀▄ \n▄▀▀ ▀▀ █ \n▀▄▄▀▄▄▄ ▀▄▄ ▀▄\n█▄█▄▄▄▄▄█▄▄▄▄█▄█"], ["sleep_1", " \n \n ▄▄ ▄▄▄ \n ▄▀▀▀▀▀▀▄ ▀ ▄▀\n █ █ ▀▄ \n▄▀▀ ▀▀ ▀ █\n▀▄▄█▄▄▄▀ █\n█▄▄▄█▄▄▄▄▄█▄▄▄▀ "], ["sleep_2", " \n \n ▄▀▀▀▄▀▀▀▄\n ▄▀▀▀▀▀▀▄ ▄▀ \n █ █ ▀▄\n▄▀▀ ▀▀ █\n▀▄▄█▄▄▄▀ ▄ █\n█▄▄▄█▄▄▄▄▄█▄▄▄▀ "], ["walk_1", " \n \n ▄▀▀▀▄▀▀▀▄\n ▄▀▀▀▀▀▀▄ ▄▀ \n █ ▄ ▄ █ ▀▄ \n▄▀ ▀ ▀ █ █\n▀▄▄▄▀▄▄▄▀ ▀▀▄▄▀\n█▄█▄▄▄▄▄▄█▄▄▄▄▄█"], ["walk_2", " \n \n ▄▀▀▀▀▀▀▄ \n █ ▄ ▄ █▄ \n▄▀ ▀ ▀ ▀ ▀▄ \n▀▄▄▄▀▄▄▄▀ █▄ \n ▄▀▄▄▄▄ █▄ ▀ █\n█▄▄▄▀ ▀▄▄▄▄█▄▄▄▀"]]], + ["gomamon_x", [["angry", " ▄▄▄▄ ▄▄▄ \n █ █▄▄▄▀▀▄▀ \n ▄▀█▀█▀█▀██▀ ▄█▀\n █▄ ▄ ███▄▀ \n▄▀ ▀ ▀ █ ▀▄ \n█ ▄▀▄ ▀ █\n █▄▄▄▄▄ ▀▀▄▄ ▄█\n█▄█▄█▄▄▄▄▄█▄▄█▄█"], ["attack", " ▄▀█▀ ▄▄▀█▀ \n ▄█████▀▄▄█ ▄█\n▄▀ ▀ ▀ ▄ ▀██▄█▄▀\n█ ▄ ▀ █ ▀█\n ▀█████▄ █\n █████ █\n ▄▄████▀ █ ▀▄ ▀▄\n█▄█▄▄▄▄▄█▄█▄█▄▄█"], ["eat_1", " ▄▀█▀▀ ▄▄▀█▀ \n █▄████▄▄█▄ \n █ ▀ ▀ ▀ ▀█▄ ▄█▀\n▄▀▄▀▄ ▄▀▄ █▀█▄▀ \n▀▄▄▄▄▄▄▄ ▀▄ ▀▄ \n ▀█████▀█ ▀ █\n ▄██▄▄▄▄█ ▀▄▄ ▄█\n█▄█▄█▄▄▄▄▄█▄▄█▄█"], ["eat_2", " ▄▄▄▄ ▄▄▄ \n █ █▄▄▄▀▀▄▀ \n ▄▀█▀█▀█▀██▀ ▄█▀\n █ ▄ ▄ ███▄▀ \n▄▀▀ ▀ ▀ ▀ █ ▀▄ \n█ ▀▄▄▄▀ ▀ █\n █▄▄▄▄▄ ▀▀▄▄ ▄█\n█▄█▄█▄▄▄▄▄█▄▄█▄█"], ["happy", " ▄▀█▀▀ ▄▄▀█▀ \n █▄████▄▄█▄ \n █ ▀ ▀ ▀ ▀█▄ ▄█▀\n▄▀▄▀▄ ▄▀▄ █▀█▄▀ \n█ ▄▄▄▄▄▄▄ █ ▀▄ \n█ ███████ ▀ █\n▀▄▄████▀ ▀▄▄ ▄█\n█▄█▄█▄▄▄▄▄█▄▄█▄█"], ["injured_1", " \n ▄▄▄▄ ▄▄▄ \n █ █▄▄▄▀▀▄▀ \n ▄▀█▀█▀█▀██▀ ▄▄ \n █ ▄ █▀▀▄▄█\n▄▀▀ ▀▀ █▀\n█ ▄▀▄ ▀▄▄ ▀▄\n ▀▄▄▄▄▄▄█▄█▄▄█▄█"], ["injured_2", " \n \n ▄▀█▀ ▄▄▄▄ \n █▄█████▄█▄ ▄▄ \n █▀█▀█▀█▀██▀▀▄▄█\n █ ▄ ▄ ▀ █▀\n█▀▀▀ ▀▀▀ ▀▄▄ ▀▄\n▀▄▄██▄▄▄▄▄█▄▄█▄█"], ["sleep_1", " \n ▄▄▄▄ ▄▄ \n █ █▄▄▄▀▄▀▀ ▄\n ▄██████████▄▄▀█\n▄█▀█▀█▀█▀ █▀▀██ \n█ ▄▄ ▄▄▄ ▀ █\n▀▄ ▄▀▄ ▄▄▄▄ ▄█\n██▄▄▄▄▄▄▄█▄▄▄█▄█"], ["sleep_2", " \n ▄▀█▀▀ ▄▄▀█▀ \n █▄████▄▄█▄ ▄▄\n █▀█▀█▀█▀██▄▄▀█ \n▄▀▄▄ ▄▄▄ █▀▀█▄ \n█ ▄▀▄ ▀ █\n █▄▄▄▄▄ ▄▄▄▄ ▄█\n█▄█▄█▄▄▄▄▄█▄▄█▄█"], ["walk_1", " ▄▀█▀▀ ▄▄▀█▀ \n ▄█▄████▄▄█▄ \n █ ▀ ▀ ▀ ▀█▄ ▄\n █ █ █ ██▄▀█▀\n█ ▄ █ ▀█ \n▀▄ ▀ ▀ █▄ \n ▄▀▀▀▀▀ ▀▄▄ ▀ █\n█▄█▄▀▄▄▄▄█▄▄█▄▄▀"], ["walk_2", " ▄▄▄▄ ▄▄▄ \n █ █▄▄▄▀▀▄▀ \n ▄▀█▀█▀█▀██▀ ▄█▀\n █ ▄ ▄ ███▄▀ \n▄▀ ▀ ▀ █ ▀▄ \n█ ▄▀▄ ▀ █\n █▄▄▄▄▄ ▀▀▄▄ ▄█\n█▄█▄█▄▄▄▄▄█▄▄█▄█"]]], + ["gotsumon", [["angry", " \n ▄▄▄▀▀▀▀▀▄ \n █ ▀ █▀▀█ \n █ ▄ █ \n █▀ ▀▀▀ █ \n █▄▀▀▀▄ █▀ \n ▄▀▄ ▄▄▀▀▄ \n █▄▄▄██▀█▄▄▄▄█ "], ["attack", " ▄▀▀▀▄ █▀▀▀▄\n █ ▄▀▀▀▀▄ █ █\n ▀▄█ ▄▄ ▀█▀ ▄▀\n █ ▀ ▄▄ ▄▀ \n ▀██████▄ █ ▀█ \n ▄▀██▀██ ▀ █ \n ▄▀▄▄ ▄▄▀▀▄ \n█▄▄▄▄██▀█▄▄▄▄▄█ "], ["eat_1", " \n ▄▀▀▀▀█▄▄▄ \n ▄▄█ ▄▄ ▀ ▀█ \n █ ▀ █ \n ▀█▀█████ ▄ ▀█ \n ▄█▄██▀ ▄▀ █ \n ▄▀▄▄ ▄▄▀▀▄ \n █▄▄▄▄██▀█▄▄▄▄▄█"], ["eat_2", " \n ▄▀▀▀▀█▄▄▄ \n █ ▀ ▀█ \n █▀ █▀ █ \n █ ▄▄ ▀▄ \n █▀▀▀▄ █ █ \n ▄▀▄▄ ▄▄▀▀▄ \n █▄▄▄▄██▀█▄▄▄▄▄█"], ["happy", " ▄█▀▀▀█▄▄ \n █▀█ ▄ ▄ ▀▀▄ \n █ ▀ ▀ ▀ ▀ ▄▀ \n ▀▀▄▄▀▄▄▀▀▄▄▀▀ ▄\n ▄ ▄ \n ▄▄▄ ▄▄▄ \n ▄▀▄ ▀▀▀ ▄▄▀█ \n █▄▄▄██▀▀█▄▄▄▄█ "], ["injured_1", " \n ▄▄▄▄ \n ▄▄▄▀ ▀█▀▀█▄ \n █ ▀▄ ▀▄ █ \n █ ▀█▀▀█▀ ▄█ \n █▄▀▀ █ ▄▀ \n ▄▀▄▄▀▀▀█▄█▀▀▄ \n █▄▄▄█▄▄▄▄█▄▄▄▄█"], ["injured_2", " \n \n \n ▄▄▄▀▀▀▄▄▄ \n █ █ █ ▀▄▄ \n █▄▀ ▀▄▄█▄ ▄█▄ \n█ ▀█▀ ▀█▀ █\n█▄▄▄█▄▄▄▄▄█▄▄▄▄█"], ["sleep_1", " \n \n \n ▄▀▀▀█▄▄▄▄ \n █▀█ ▀▄ ▀█ \n █ █ \n █ ▄▄▄ ▄▄▄ ▄█ \n █▄▄▄▄▄▄▄▄▄▄▄▄▄█"], ["sleep_2", " \n \n ▄▄▄▄ \n ▄▄▄▀ ▀█▀▀█▄ \n █ ▀ ▀ █ \n █ ▄█ \n █▄▀▀▀ ▀▀▀ █ \n ▄█▄▄▄▄▄▄▄▄█▄▄ "], ["walk_1", " \n ▄▀▀▀█▄▄▄▄ \n █▀█ ▀▄ ▀█ \n █ ▄ ▄ ▄█ \n █ ▀ ▀ ▀█ \n ▀█ ▄▀▀▄ █ \n ▄▀▀▄ ▄▀▀▄ \n █▄▄▄▄██▀▀█▄▄▄▄█"], ["walk_2", " \n ▄▄▄▄ \n ▄▄▄▀ ▀█▀▀█▄ \n █ ▀ ▀ █ \n █ █ █ ▄█▀ \n █▄ ▄▄ █ \n ▄▀▄ ▀ ▀ ▄▀▄ \n █▄▄▄█▄▄▄▄▄█▄▄▄█"]]], + ["gracenovamon", [["angry", " █ █ \n ▄█▀████▄▄▄ \n ███▀▀▄██ \n █▀▀▀███ ▀▀▄ \n ▄███▀▄███▀▄ \n █ █▄█▄▀██ ██ \n █ ▀█ █ ▀█████ \n ▀▄█ ▀▄█ ▀█ "], ["attack", " █ █ \n ▄█▀████▄▄▄ \n ███▀ ▄██ \n █▀▀▀███ ▀▀▄ \n ▄▄█▄▄▄▀ ███▀▄ \n█ ▄█▄█▄▄█ ▄██▄\n ▀▀█ ▀█ ▀█▀▀█▀██\n ▀▄█ ▀▄█ ▀"], ["eat_1", " █ █ \n ▄█▀████▄▄▄ \n ███▄▄▄██ \n █ ███ ▀▀▄ \n ▄███▀▄███▀▄ \n █ █▄█▄▀██ ██ \n █ ▀█ █ ▀█████ \n ▀▄█ ▀▄█ ▀█ "], ["eat_2", " ▄ ▄ \n ▄█▄▄█▄ \n ▀█▄██▀███▀ \n ███▄█▄█▀▄▄ \n ▀▄▄▄█▀█▄▄▄▀ \n ▄▀█▀█ ███▀ █▄ \n ▀▄▀██▀▄▀█▄▄██▄ \n ▀█▄█ ▀█▄█ ▀▀█ "], ["happy", " ▄ ▄ \n ▄█▄▄█▄ \n ▀█▄██▀███▀ \n ███▄█▄█▀▄▄ \n ▀▄▄▄█▀█▄▄▄▀ \n ▄▀█▀█ ██▀▀ █▄ \n ▀▄▀██▀▄▀▄▄███▄ \n ▀█▄█ ▀█▄█ ▀▀█ "], ["injured_1", " \n █ █ \n ▄█▀████▄▄▄ \n ███ ▀▀██ \n █▀▀▀███ ▀▀▄ \n ▄███▀▄███▀▄ \n █ █▄█▄▀██ ██ \n █▄▄█ █▄██▀███▄"], ["injured_2", " \n ▄ ▄ \n ▄█▄▄█▄ \n ▀█▄█▀████▀ \n ███▄▄▄█▀▄▄ \n ▀▄▄▄█▀█▄▄▄▀ \n ▄▀█▄█ ███▀ █▄ \n ▀▀▄▄███▄█▄▄███▄"], ["sleep_1", " \n ▄ ▄ \n ▄█▄▄█▄ \n ▀█▄██████▀ \n ███▄▄▄█▀▄▄ \n ▀▄▄▄█▀█▄▄▄▀ \n ▄▀█▄█ ██▀ ██▄ \n ▀▀▄▄██▄█▄▄████▄"], ["sleep_2", " \n █ █ \n ▄█▀████▄▄▄ \n ███▀▀▀██ \n █▀▀▀███ ▀▀▄ \n ▄███▀▄██▀█▄ \n █ █▄█▄▀█ ███ \n ▀▀▄▄█▄█▄███▀██▄"], ["walk_1", " █ █ \n ▄█▀████▄▄▄ \n ███▀ ▄██ \n █▀▀▀███ ▀▀▄ \n ▄███▀▄███▀▄ \n █ █▄█▄▀█ ▄██ \n █ ▀█ █ ▀█▀███ \n ▀▄█ ▀▄█ ▀█ "], ["walk_2", " ▄ ▄ \n ▄█▄▄█▄ \n ▀█▄██▀▀██▀ \n ███▄▄██▀▄▄ \n ▀▄▄▄█▀█▄▄▄▀ \n ▄▀█▀█ ██▀▀ █▄ \n ▀▄▀██▀▄▀▄▄███▄ \n ▀█▄█ ▀█▄█ ▀▀█ "]]], + ["grademon", [["angry", " ▄▄▄ ▄▄▄ \n ▄▀▄▀▀▀▄▄▀ ▄▄ \n▄▀ ▄█▀▄▄▀ █ █ \n▀▀█▀▀█ ▄███▄█ \n ▀▄█▄▄▀ █▄▄▄▀ \n █▀▄ ▄▄█▀▀ █▄ \n ▄▀▀█▀ ▄█▄█▀██▄ \n█▄█▄█▀▀▀▀█▄█▄█▀▀"], ["attack", " ▄▀██▄▀▀█ \n ▄▀ ▀▄▄▄▀▀▄ \n █▄▄▄█▄▀ ▀█▄▄ \n █ ▄▀ ▄▀▀▀▀█ \n ▄█▀▀▀ ▄██▀▄ \n ▄▀▀▄█▄▀▀█ ▄█▄\n▄▀ ▄█▀▄▄█ ▀▀███\n█▄▄▀█▄█▄█ █▄█▄█ "], ["eat_1", " ▄▀██▄▀▀█ \n ▄▀ ▀▄▄▄▀▀▄ ▄▀█ \n█▄▄▄█▄▀ ▀█▄▄▀▄▀ \n ████ ▄▀█▀▀▀█ \n ▀▄▄▄▀ ▄██▀█ \n █▀█▄▀▀█ ▄██ \n ▄▀▀▄▄█ ▀▀████▄\n █▄█▄█ █▄█▄█ "], ["eat_2", " ▄▄▄ ▄▄▄ \n ▄▀ ▄▀▀▄▄▀ ▄▄ \n▄▀ ▀ ▀ ▄▄▀ █ █ \n▀▀█▀▀█ ▄███▄█ \n ▀▄█▄▄▀ █▄▄▄▀ \n ▄▀▄ ▄▄█▀▀ █▄ \n ▄▀▀█▀ ▄█▄▀▀██▄ \n█▄█▄█▀▀▀▀█▄█▄█▀▀"], ["happy", " ▄▀▀█▄▀▀█ \n ▄▀ ▄▀▄ ▀▀▄ ▄▀█ \n█▄▄▄▄▄ ▀█▄▄▀▄▀ \n ████ ▄▀█▀▀▀█ \n ▀▄▄▄▀ ▄██▀█ \n █▀█▄▀▀█ ▄██ \n ▄▀▀▄▄█ ▀▀████▄\n █▄█▄█ █▄█▄█ "], ["injured_1", " \n ▄▄▄ ▄▄▄ \n ▄▀▄▀▀▀▄▄▀ ▄▄ \n▄▀ ▀▀ ▀▄▄▀ █ █ \n▀▀█▀▀█ ▄███▄█ \n ▀▄█▄▄▀ █▄▄▄▀ \n█▀▄▀▄ ▄▄▀▀█ █▄ \n█▄▄███▄█▄▄█████▄"], ["injured_2", " \n \n ▄▀██▄▀▀█ \n ▄▀ █▄ ▄▀▀▄ ▄▀█ \n█▄▄▄▄▄ ▀█▄▄▀▄▀ \n █ ▄▀ ▄▀█▀▀▀█ \n█▀▄▀█▀█▄▀▀█▀█▄ \n█▄▄███▄█▄▄█████▄"], ["sleep_1", " \n ▄▄▄ ▄▄▄ \n ▄▀ ▀▀▀▄▄▀ ▄▄ \n▄▀ ▀▀▀ ▄▄▀ █ █ \n▀▀█▀▀█ ▄███▄█ \n ▄█▄█▄▄▀▄█▄▄▄▀ \n█ ██▄▀▀█ ▀ ██ \n▀▄▄▄█▄▄██▄▄▄▀▀█▄"], ["sleep_2", " \n ▄▀██▄▀▀█ \n ▄▀ ▄▄▄ ▀▀▄ ▄▀█ \n█▄▄▄▄▄ ▀█▄▄▀▄▀ \n █ ▄▀ ▄▀█▀▀▀█ \n ▄▄████ ▄████ \n█ ██▄▀▀█ ▀ ██ \n▀▄▄▄█▄▄██▄▄▄▀▀█▄"], ["walk_1", " ▄▀██▄▀▀█ \n ▄▀ ▀▄▄▄▀▀▄ ▄▀█ \n█▄▄▄█▄▀ ▀█▄▄▀▄▀ \n █ ▄▀ ▄▀█▀▀▀█ \n █▀▀▀ ▄██▀█ \n █ █▄▀▀█ ▄██ \n ▄▀▀▄▄█ ▀▀████▄\n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄▄ ▄▄▄ \n ▄▀▄▀▀▀▄▄▀ ▄▄ \n▄▀ ▄▀█▀▄▄▀ █ █ \n▀▀█▀▀█ ▄███▄█ \n ▀▄█▄▄▀ █▄▄▄▀ \n ▄▀▄ ▄▄█▀▀ █▄ \n ▄▀▀█▀ ▄█▄▀▀██▄ \n█▄█▄█▀▀▀▀█▄█▄█▀▀"]]], + ["grandiskuwagamon", [["angry", " \n ▄▀▀▀▀▀▀█ ▄█\n ██▀ ▄▄▀▄ ▄██▀\n █▄▄▄▄█ ▀█▄███▀ \n █▀▄▄▄█ █▀▀█▀ \n▄▀▀▄██▄▄▀▀█▀▄█▄ \n▀▄▄██▀▀▀▄▄▄▄███ \n██▄▄██▀▀█▄▄███▀█"], ["attack", " ▄▀▀▀▀▀▀█ ▄█\n ██▀ ▄▀▄ ▄██▀\n █▄▄▄▄▀▀▄▀▄▀▀██ \n█▀▄████ ██▄ ██ \n▀▄▀███▀▄█ ▀▄██ \n █▄▄█▄███▀███ \n ▄▀▀▄▄▄▀▀▀█ ▀██\n ███▄█ █▄███ ▀"], ["eat_1", " ▄▀▀▀▀▀▀█ ▄█\n █▀▄ ▄▄▀▄ ▄██ \n▄█▄▄▄▄█▄ ▀▄███ \n█ ▄███ █▀ █▀▀▄ \n▀▀ █▄▄█▀▀█▄▄▀ \n ▄▀█▄▄█▄ ▄██▄ \n ▀▄▀▀▄▄▄▀▀▀█▀██▄\n ███▄█ █▄███ ▀"], ["eat_2", " \n ▄▀▀▀▀▀▀█ ▄█\n █▀▄ ▄▄▀▄ ▄██▀\n █▄▄▄▄█ ▀█▄███▀ \n █▀▄▄▄▀ ▄█▀▀█▀ \n▄▀▀▄█▄▄▀▀▄▀██▄ \n▀▄▄█▄▀▀▄▄▄▄█▀██▄\n██▄▄██▀█▄▄███ ▀"], ["happy", " ▄▀▀▀▀▀▀█ ▄█\n █▀▄ ▄▄▀▄ ▄██▀\n █▄▄▄▄█▄▀█▄███▀ \n█▀████ █ ███▀ \n █▄█▄▄█▄▄▀▀▄ █▄ \n█ █▄▄▄▄█▄ ██▄\n ▀█▀▀▄▄▄▀▀▀█▀▀██\n ███▄█ █▄███ ▀"], ["injured_1", " \n ▄▄▄▄▄▄▄ ▄\n ▄█ ▄▀ ▄██\n ▄▀▀▀ ▄▀█▄▀▄███ \n ██▀▀▀█ █████ \n █▄▀█▀ ▄█▀▄▄█▄ \n ▄▀▀█▀▀█▀▀ ██▀█▄\n █▄▄████▄▄█▄▄▄█▀"], ["injured_2", " \n ▄\n ▄▀▀▀▀▀▀█ ▄██\n ██▄ ▄▄▀▄ ▄███ \n█▄▄▄▄█ ▀██████ \n█▀▄▄▄▀ ▄█▀▄▄█▄ \n▀█ ▀▄▄██▀▀ ██▀█▄\n █▄▄████▄▄█▄▄▄█▀"], ["sleep_1", " \n \n ▄▄▄▄▄▄▄ \n ▄▀ ▄▀ ▄▄\n▄▀▀▀ ▄▀█▄▀▄▄███▀\n██▀▀▀█ █████▀ \n█▄▀█▀ ▄█▀ ▀▄ \n█▄████▄█▄▄▄▄▄█ "], ["sleep_2", " \n \n ▄▀▀▀▀▀▀█ ▄█\n █▄▄ ▄▄▀▄ ▄██▀\n █▄▄▄▄█ ▀█▄███▀ \n █▀▄▄▄▀ ▄█▀██▀ \n▄▀█▄█▄▄▀ ▄▀ ▀▄ \n█▄▄█▄▄█▄▄█▄▄▄▄█ "], ["walk_1", " ▄▀▀▀▀▀▀█ ▄█\n ██▀ ▄▄▀▄ ▄██▀\n █▄▄▄▄█ ▀█▄███▀ \n █▀▄▄▄▀ ▄█▀▀█▀ \n █▄█▄▄██▄▄▀██ \n █ █▄▄▄▄██ ███ \n █▀▀▄▄▄▀▀▀█ ▀██\n ███▄█ █▄███ ▀"], ["walk_2", " ▄▄▄▄▄▄▄ ▄\n ▄█▄ ▄▀ ▄██\n ▄▀▀ ▄▀█▄▀▄███ \n ██▀▀▀█ █████ \n ▀▄▀█▀ ▄█▀ ▄█▄ \n ▄▀█▀▀▀▀██▀ ██▄ \n ▀▄██▀▀▀██▄▄▀██▄\n██▄▄██▀▀█▄▄███▀█"]]], + ["grandracmon", [["angry", " ▄▀█▀█▄▀▀█ ▄ \n ██ ▀▄▄█▄ ███▄ \n █ ▄▄▀▄██████\n ▀▄▀▀▄█▀ ▄█▀ ▀█\n ▄█ ▀▀ ██ █▄▄▄ \n█ █▀▄▄▄▀█ ██▄██\n ███████████████\n█▄█▄█▀█▄█▄█▀▄█▄█"], ["attack", " ▄▀█▀█▄▀▀█ ▄ \n ██ ▀▄▄█▄ ███▄ \n █ ▄▄▀▄██████\n ▀▄▀▀▄█▀ ▄█▀ ▀█\n ▄█ ▀▀ ██ █▄▄▄ \n█ █▀▄▄▄▀█ ██▄██\n ███████████████\n█▄█▄█▀█▄█▄█▀▄█▄█"], ["eat_1", " \n▄▀█▀█▄▀▀█ ▄▄ \n██ ▀▄▄█▄▄████ \n█ ▄▄▄▀▄██▀███ \n ▀▄▀▀▄█▀ ▄█▄▄ ▀ \n▄▀▄▀▀ █▀ ██▄█▄ \n█▄██▄▄██▄▄█████ \n█▄█▄█▄█▄█▀▄█▄█ "], ["eat_2", " ▄▄▄▄ ▄▄▄ \n █▄▀ █▀ ▄▀ ▄██▄ \n █▀ ▀▀█▀▄█████\n ▀▄ ▄▄▀█▄▀▀██▀ ▀\n ▄▀▄▄▀▀▄▄█▄ █▄ \n █ █▄▄▄▀▄██ █▄█\n ▄██████████████\n█▄█▄█▀█▄█▄█▀▄█▄█"], ["happy", " ▄▀█▀█▄▀▀█ ▄ \n ██ ▀▄▄█▄ ███▄ \n █ ▄▄▀▄██████\n ▀▄▀▀▄█▀ ▄█▀ ▀█\n ▄█ ▀▀ ██ █▄▄▄ \n█ █▀▄▄▄▀█ ██▄██\n ███████████████\n█▄█▄█▀█▄█▄█▀▄█▄█"], ["injured_1", " ▄▀█▀█▄▀▀█ ▄ \n ██ ▀▄▄█▄ ███▄ \n █ ▄▄▀▄██████\n ▀▄▀▀▄█▀ ▄█▀ ▀█\n ▄█ ▀▀ ██ █▄▄▄ \n█ █▀▄▄▄▀█ ██▄██\n ███████████████\n█▄█▄█▀█▄█▄█▀▄█▄█"], ["injured_2", " ▄▀█▀█▄▀▀█ ▄ \n ██ ▀▄▄█▄ ███▄ \n █ ▄▄▀▄██████\n ▀▄▀▀▄█▀ ▄█▀ ▀█\n ▄█ ▀▀ ██ █▄▄▄ \n█ █▀▄▄▄▀█ ██▄██\n ███████████████\n█▄█▄█▀█▄█▄█▀▄█▄█"], ["refuse", " ▄▀█▀█▄▀▀█ ▄ \n ██ ▀▄▄█▄ ███▄ \n █ ▄▄▀▄██████\n ▀▄▀▀▄█▀ ▄█▀ ▀█\n ▄█ ▀▀ ██ █▄▄▄ \n█ █▀▄▄▄▀█ ██▄██\n ███████████████\n█▄█▄█▀█▄█▄█▀▄█▄█"], ["sleep_1", " ▄▄▀▀▀▄▀▀█ \n ▄▀ ▀▄▄█ ▄██▄\n ▀▄████▄▄█▄█████\n █▀▀▀▄▀ ▄█▀ ▀█\n ▄█▀▀▀ ██▄▀▄▄▄ \n █ █▄▄▄▀█ ▄█▄██\n ▄██████████████\n█▄█▄█▀█▄█▄█▀▄█▄█"], ["sleep_2", " ▄▀█▀█▄▀▀█ ▄ \n ██ ▀▄▄█▄ ███▄ \n █ ▄▄▀▄██████\n ▀▄▀▀▄█▀ ▄█▀ ▀█\n ▄█ ▀▀ ██ █▄▄▄ \n█ █▀▄▄▄▀█ ██▄██\n ███████████████\n█▄█▄█▀█▄█▄█▀▄█▄█"], ["walk_1", " ▄▀█▀█▄▀▀█ ▄ \n ██ ▀▄▄█▄ ███▄ \n █ ▄▄▀▄██████\n ▀▄▀▀▄█▀ ▄█▀ ▀█\n ▄█ ▀▀ ██ █▄▄▄ \n█ █▀▄▄▄▀█ ██▄██\n ███████████████\n█▄█▄█▀█▄█▄█▀▄█▄█"], ["walk_2", " ▄▄▄▄ ▄▄▄ \n █▄▀ █▀ ▄▀ ▄██▄ \n █▀ ▀▀█▀▄█████\n ▀▄ ▄▄▀█▄▀▀██▀ ▀\n ▄▀▄▄▀▀▄▄▀█▄▄ \n▄▀█▄ ▄█▀ ██▄█▄\n█▄█▄███▄█▄▄█████\n█▄█▄█▀█▄███▄█▄█ "]]], + ["grankuwagamon", [["angry", " ▄▄▄▄▄▄▄▄ \n ▄██████▀▀ ▄▄▀▀█\n▄███▀ █▄▀▄▀ ▄█▄\n██▀▀▀██▄▀██▀▀ ▄▀\n▀ ▄▀▄█▀▀█▀▀ \n ▄█▀▄██▀▄ █ \n ▄▄█████▄███ \n █▄███▀ ▀█▄█▄█ "], ["attack", " \n ▄▄██████▀▀ ▄▄▄\n ████▀█▀▄ ▄▀▀ ▄▀\n ███▄▄█▀▄█▄▄▄▀▀█\n▄█ ▀██▀▀▄██▄▄▄▀ \n█ ▄█▀▄██▀ █▄ \n ▄▄██▀▄ ▄████▄ \n ██▄██▀▄▀▀▀█▄█▄█"], ["eat_1", " \n ▄▄██████▀▀ ▄▄▄\n ███▀██▀▄ ▄▀▀ ▄▀\n ██▄█▄█▀▄█▄▄▄▀▀█\n▄█ ▀██▀▀▄██▄▄▄▀ \n█ ▄█▀▄██▀ █▄ \n ▄▄██▀▄ ▄████▄ \n ██▄██▀▄▀▀▀█▄█▄█"], ["eat_2", " ▄▄▄▄▄▄▄▄ \n ▄██████▀▀ ▄▄▀▀█\n▄███▀ █▄▀▄▀ ▄█▄\n██▀▀▀██▄▀██▀▀ ▄▀\n▀ ▄▀▄█▀█▀▀▀ \n ▄█▀▄▀ ██▄ \n ▄▄█▄▀▄█████ \n █▄███▀ ▀█▄█▄█ "], ["happy", " ▄▄▄▄▄▄▄▄ \n ▄██████▀▀ ▄▄▀▀█\n ██▀▄▀█▄▀▄▀ ▄█▄\n █▀████▄▀██▀▀ ▄▀\n█▀ ▄█▀▄▄█▀█▀▀▀ \n▀ ▀▀ ████▀ ▀▄ \n ▄████▄▀▄███ \n █▄███▀ ▀█▄█▄█ "], ["injured_1", " \n \n \n ▄▄▄ \n█▀▀██▄█▀█▀▀▀▀▄ \n ██████████▄█▄\n█▄▄██████████▄██\n ▀▀▀██████████▀ "], ["injured_2", " \n \n \n \n▄████▄█▀█▀▀▀▀▄ \n█ ██████████▄█▄\n▀████████████▄██\n ▀██████████▀ "], ["refuse", " \n ▄▄██████▀▀ ▄▄▄\n ████▀█▀▄ ▄▀▀ ▄▀\n ███▄▄█▀▄█▄▄▄▀▀█\n▄█ ▀██▀▀▄██▄▄▄▀ \n█ ▄█▀▄█▀▀ █▄ \n ▄▄███▀ ▄████▄ \n ██▄██▀▀▀▀▀█▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄▄▄▄ \n ▄██████▀▀ ▄▄▄ \n ███▀▀███▄▀ ▀▄\n █▀█████ ██▀▀▄▄▀\n█▀ ▄█▀▄▄█▀██▄ █\n▀ ▀▄▄█▀▄ ▄████▀▀\n █▄██▀▄█▀█▄█▄█ "], ["sleep_2", " \n \n ▄▄██████▀▀ \n ███████▄ ▄▀▀▀▄ \n ███▄▄██▀█▄▄▄ █\n▄█ ▀██▀▀▄█▀▄ ▀▀▄\n█ ▄█▀▄█▀▄ ▄██▄▄█\n █▄██▀█▄▀█▄█▄█ "], ["walk_1", " ▄▄▄▄▄▄▄▄ \n ▄██████▀▀ ▄▄▀▀█\n ███▀ █▄▀▄▀ ▄█▄\n █▀████▄▀██▀▀ ▄▀\n█▀ ▄█▀▄▄█▀█▀▀▀ \n▀ ▀▀ ██▀ ██▄ \n ▄██▄▀▄█████ \n █▄███▀ ▀█▄█▄█ "], ["walk_2", " \n ▄▄██████▀▀ ▄▄▄\n ████▀█▀▄ ▄▀▀ ▄▀\n ███▄▄█▀▄█▄▄▄▀▀█\n▄█ ▀██▀▀▄██▄▄▄▀ \n█ ▄█▀▄██▀ █▄ \n ▄▄██▀▄ ▄████▄ \n ██▄██▀▄▀▀▀█▄█▄█"]]], + ["greymon", [["angry", " \n▄▄ ▄█████▄▄███ \n███████▀▄████▀ \n████████▀▀ █ \n ▀▄▄▄▀▀▄ ▀▀▄ \n █ █ ▄▀▀ ██\n ▄█▀▄ ▀▄▄▄▀▄▀\n█▄█▄▄█▄▄▄▄█▄▄█▄█"], ["attack", "██▄ ▄█████▄▄███ \n██████▀ ▄████▀ \n ▀▀▀▀███████ \n ███▀▀ █ \n █▀▀▀▀▀▄▄▄▀ █ \n █▀█▀▀▀█ ▄ █▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_1", "██▄ ▄█████▄▄███ \n██████▄▄▀████▀ \n ▀▀▀▀████▀ █ \n ▄▄▄▄█▀▀ █ \n ▀▄▄▄▄▀ ▄▄▀ █ \n █ █ █ ▄ █▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_2", " ▄▄▄▄▄ ▄▄▄ \n██▄▄███▀██████▀ \n██████▄█▄███▀ \n▀█▀▀ ▀▀ █ \n ▀▀█▀▀ ▀▄ \n▄▀▀█ ▄▀▀ █▀█\n▀▄▄▀▄ ▀▄▄▄▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["happy", "██▄ ▄█████▄▄███ \n██████▄▄▀████▀ \n ▀▀▀▀█████▀█ ▄▄ \n ▄▄▄▄▀▀▀ ▄▀▀ █\n █▄▄▄▄▀ ▄▄▀ \n ▀█ █▀█\n ▄▄▀▄ ▄▀▀▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["injured_1", " ▄▄▄▄▄ ▄▄▄ \n██▄▄██████████▀ \n██████▄▀▀█▀█▀ \n▀█▀▀ ▀▀▀▀ █ \n ▀▀█▀▀ █ \n ▄█ ▄▀ █▀█\n █▄▀▄ █ ▄▀▀▄▀\n█▄█▄▄█▄▄▄███▄█▄█"], ["injured_2", " \n▄▄ ▄█████▄▄███ \n███████▀█████▀ \n████▀██▄▄▀ █ \n ▀▄▄▄▄▄ ▀▄ \n▄▀▀█ ▄▀▀ █▀█\n▀▄▄▀▄ ▀▄▄▄▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["sleep_1", " \n▄▄ ▄█████▄▄███ \n██████▀▀▀████▀ \n████▀███▀▀ █ \n ▀▄▄▄▄ ▀▄ \n ▄█ ▄▀ █▀█\n █▄▀▄ █ ▄▀▀▄▀\n█▄█▄▄█▄▄▄███▄█▄█"], ["sleep_2", " ▄▄▄▄▄ ▄▄▄\n ██▄▄██████████▀\n ██████▄▄▄█▀█▀ \n ▀█▀▀ ▀▀▀ █ \n ▀█▀▀ █ \n ▄█ ▄▀ █▀█\n █▄▀▄ █ ▄▀▀▄▀\n█▄█▄▄█▄▄▄███▄█▄█"], ["walk_1", "▄▄ ▄█████▄▄███ \n██████▀ ▄████▀ \n████▀███▀▀ █ \n ▀▄▄▄▄▄ █ \n ▄▄▀ ▄▄▀ █ \n █ █ █ ▄ █▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄ ▄▄▄ \n██▄▄███▀▀█████▀ \n██████▄▄██▀█▀ \n▀█▀▀ ▀▀▀ █ \n ▀▀█▀▀ ▀▄ \n▄▀▀█ ▄▀▀ █▀█\n▀▄▄▀▄ ▀▄▄▄▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"]]], + ["groundlocomon", [["angry", " \n▀█▄▄▀▀▀▀▀▄▀▀▀█ \n▄▄█ ▄█ █▀▀█ \n █ ▄▄ ▄ ▄▀██▄▀▀▄\n▄██▄▀▀██▀ █ █▀▀▄\n█▄█ ▄▀▀▀▀█▄▄███▀\n█▄█ █▀█▀█▄▄▄█▄▄█\n▀▄██▄█▀██▄█▄█▄██"], ["attack", "▀█▄▄▀▀▀▀▀▄▀▀▀█ \n▄▄█ ▄██ █▀▀█ \n ▀▄ ▄▄ ▄▀██▄▄▄ \n ▄▀█▀▀█▀ █▀█▄▄▀\n█▀█ ▄▀▀▀██▀ █▄▄█\n█▀█ █▀██▄██████▀\n▀█▀█▄██▄█▄▄▄█▄▄█\n ▀▀▀▀ █▄█▄█▄█▄█"], ["eat_1", "▀█▄▄▀▀▀▀▀▄▀▀▀█ \n▄▄█ ▄█▀ █▀▀█ \n █ ▄▄▄▄ ▄▀▀▀▄▄▄ \n ▀█████▀█ █▀█▄▄▀\n▄▀█▄▄▄▄█▄▄▀ █▄▄█\n█▀█ ▄▀▀▀ ██████▀\n█▀█ █▀█▀█▄▄▄█▄▄█\n▀███▄█▀█▄█▄█▄█▄█"], ["eat_2", " \n▀█▄▄▀▀▀▀▀▄▀▀▀█ \n▄▄█ ▄▀▄ █▀▀█ \n █ ▄▄ ▄ ▄▀██▄▀▀▄\n▄██▄▀▀██▀ █ █▀▀▄\n█▄█ ▄▀▀▀▀█▄▄███▀\n█▄█ █▀█▀█▄▄▄█▄▄█\n▀▄██▄█▀██▄█▄█▄██"], ["happy", "▀█▄▄▀▀▀▀▀▄▀▀▀█ \n▄▄█ ▄▀▄ █▀▀█ \n █ ▄▄▄▄ ▄▀▀▀▄▄▄ \n ▀█████▀█ █▀█▄▄▀\n▄▀█▄▄▄▄█▄▄▀ █▄▄█\n█▀█ ▄▀▀▀ ██████▀\n█▀█ █▀█▀█▄▄▄█▄▄█\n▀███▄█▀█▄█▄█▄█▄█"], ["injured_1", " \n▀█▄▄▀▀▀▀▀▄▀▀▀█ \n▄▄█ █▄ █▀▀█ \n █ ▄▄ ▄ ▄▀██▄▀▀▄\n▄██▄▀▀██▀ █ █▀▀▄\n█▄█ ▄▀▀▀▀█▄▄███▀\n█▄█ █▀█▀█▄▄▄█▄▄█\n▀▄██▄█▀██▄█▄█▄██"], ["injured_2", " \n▄▄ ▄▄▄▄▄ ▄▄▄▄ \n ▀█▀ ▄ █▄▄▄▀ \n▀█▀ ▀▀ █▄▄▀▄▄ \n▄▀█▄▀▀██▀ █ █▄▄▀\n█▀█ ▄▀▀▀▀█▄▄█▄▄▀\n█▀█ █▀█▀█▄▄▄█▄▄█\n▀███▄█▀█▄█▄█▄█▄█"], ["sleep_1", " \n▄▄ ▄▄▄▄▄ ▄▄▄▄ \n ▀█▀ █▄▄▄▀ \n▀█▀ ▀▀ █▄▄▀▄▄ \n▄▀█▄▀▀██▀ █ █▄▄▀\n█▀█ ▄▀▀▀▀█▄▄█▄▄▀\n█▀█ █▀█▀█▄▄▄█▄▄█\n▀███▄█▀█▄█▄█▄█▄█"], ["sleep_2", " \n▀█▄▄▀▀▀▀▀▄▀▀▀█ \n▄▄█ ▄▄ █▀▀█ \n █ ▄▄ ▄ ▄▀██▄▀▀▄\n▄██▄▀▀██▀ █ █▀▀▄\n█▄█ ▄▀▀▀▀█▄▄███▀\n█▄█ █▀█▀█▄▄▄█▄▄█\n▀▄██▄█▀██▄█▄█▄██"], ["walk_1", "▄▄ ▄▄▄▄▄ ▄▄▄▄ \n ▀█▀ ▄▄ █▄▄▄▀ \n▀█▀ ▀▀ █▄▄▀▄▄ \n ▀▄▀▀▄█▄▀ █▀█▄▄▀\n▄▀██▀▀█▄▄▄▀ █▄▄█\n█▀█ ▄▀▀▀ ██████▀\n█▀█ █▀█▀█▄▄▄█▄▄█\n▀███▄█▀█▄█▄█▄█▄█"], ["walk_2", " \n▀█▄▄▀▀▀▀▀▄▀▀▀█ \n▄▄█ ▄█▀ █▀▀█ \n █ ▄▄ ▄ ▄▀██▄▀▀▄\n▄██▄▀▀██▀ █ █▀▀▄\n█▄█ ▄▀▀▀▀█▄▄███▀\n█▄█ █▀█▀█▄▄▄█▄▄█\n▀▄██▄█▀██▄█▄█▄██"]]], + ["groundramon", [["angry", "▄▀█ ▄▀██▄▀▀█▀▄ \n█▄██▀▀▄█ ▀█ █ \n█▄▄▄▄▄▀ █▄▄ █\n█ █ █ █ ▄▀ █ █\n █▀▀▀▀▀ ▄█ ▄▀ █\n ▀█▀▀▀▀ ▀▄ █\n ▄▀█▄ ▄█▀█ █\n█▄▄▄█▀▀▀▀▀█▄▄▄█ "], ["attack", " ▄▄▄ ▄▄▄▄▄ \n ▀▄▄██▄▄█▄ ▀▀▄ \n ▄▄ ▀███▀▀▄ █ \n█ █▄▀▀▄▄▀▄▀█▄ █\n█▀▀ ▀▀ █ █▄ █\n▀█▀▀▀ ▄ ▄▀▀▄█▄▀\n █▀█▀ ▀█▀▄ █▄ \n █▄▄▄█▀█▄▄▄██▄▄█"], ["eat_1", " ▄▄▄ ▄▄▄▄▄ \n ▀▄▄██▄▄█▄ ▀▀▄ \n ▄▄ ▀███▀▀▄ █ \n█ █▄▀▀▄▄▀▄▀█▄ █\n█▀▀ ▀▀ █ █▄ █\n▀█▀▀▀ ▄ ▄▀▀▄█▄▀\n █▀█▀ ▀█▀▄ █▄ \n █▄▄▄█▀█▄▄▄██▄▄█"], ["eat_2", " ▄▀▀█▄▀▀█▀▀▄▄ \n ▀▀██████ ▀▄ \n▄▀█ ▄█▀▀▄ █▄ ▀▄\n█▄█▀ ▄█▀ ▀▄▀█ █\n█▄▄▄▄▄ █▄▀█ █\n▀█████ ▄▀ ▀█▀ \n ▀▄▄▄▄▄█▀▄ ▄▀█ \n █▄▄█▄▄▄▄██▄▄▄█"], ["happy", " ▄▀▀█▄▄▀▀█▀▀▄ \n ▄▄▀▀█████▄ █ \n█ █▄▀▀▄ ▀▄▀█ █\n█▀▀ ▀ ▀ █ █ █\n██████ █▄▀▄ █\n▀█▀▀▀ ▄ █▀ ▀█▄▀\n ▄▀█▀▀ █▀█ ▄▀█ \n█▄▄▄█▄█▄▄▄██▄▄▄█"], ["injured_1", " \n \n ▄▀▀█▀▀▀▄▄ \n▄▄ ▄█▀▀▀█▄ ▀▄ \n█ █ ▄ ▀█ ▀▄ \n▀▄▄█ ▀▀ ▄▀█ █ \n ▀▄▄▄▄▄█▀▄ ▀▄█▄ \n █▄▄██▄▄▄▄██▄▄▄█"], ["injured_2", " \n \n ▄▄▄▄▄▄ \n ▀▄▄█▄▄ ▀▀▄ \n█▀▄▀▀ ▀█▄ █ \n█ ▀▄ ▀▄▄ █▄ █ \n █▀▀ ▄▄█ █ ▄█ \n█▄█████▄▄▄███▄▄█"], ["refuse", " \n ▄▄▄ ▄▄▄▄▄ \n ▀▄▄██▄▄█▄ ▀▀▄ \n▄▀█ ▄█▀▀▄▀█▄ ▀▄\n█▄█▀ ▄▄▄ ▀▄▀█ █\n█▄▄▄ █▄▀█ █\n ▀▄▄▄▄▀▄▄█ █▀█ \n █▄▄█▄▄▄█▄▄█▄▄▄█"], ["sleep_1", " \n \n ▄▀▀█▀▀▀▄▄ \n▄▄ ▄█▀▀▀█▄ ▀▄ \n█ █ ▄ ▀█ ▀▄ \n▀▄▄█ ▀▀ ▄▀█ █ \n ▀▄▄▄▄▄█▀▄ ▀▄█▄ \n █▄▄██▄▄▄▄██▄▄▄█"], ["sleep_2", " \n \n ▄▀▀█▀▀▀▄▄ \n▄▄ ▄█▀▀▀█▄ ▀▄ \n█ █ ▄ ▀█ ▀▄ \n▀▄▄█ ▀▀ ▄▀█ █ \n ▀▄▄▄▄▄█▀▄ ▀▄█▄ \n █▄▄██▄▄▄▄██▄▄▄█"], ["walk_1", " ▄▀▀█▄▀▀█▀▀▄▄ \n ▀▀██████ ▀▄ \n▄▀█ ▄█▀▀▄ █▄ ▀▄\n█▄█▀ ▄█▀ ▀▄▀█ █\n█▄▄▄▄ █▄▀█ █\n ▀▄▄▄▄▀▄▄█ ▀█▀ \n █▄▀▄▄ ▄ ▄▀█ \n █▄▄█▄▄▄▄██▄▄▄█"], ["walk_2", " ▄▄▄ ▄▄▄▄▄ \n ▀▄▄██▄▄█▄ ▀▀▄ \n ▄▄ ▀███▀▀▄ █ \n█ █▄▀▀▄▄▀▄▀█▄ █\n█▀▀ ▀▀ █ █▄ █\n▀█▀▀▀ ▄ ▄▀▀▄█▄▀\n █▀█▀ ▀█▀▄ █▄ \n █▄▄▄█▀█▄▄▄██▄▄█"]]], + ["growlmon", [["angry", " \n ▄█▄▀█ \n ▄█▀▀█ ▄█▀▄ \n █▀ ▄ ▄█▀ █▄█ \n █▀▀▀▀ ▄▀ ▀▄\n █▀█▀▀▀ ▀ █▄▄█\n █▄▀▀▄ ▄█▄█▄▀\n █▄█▄▄▄█▀█▄█▄█▄█"], ["attack", " ▄▄▄▄██▄▀██ \n█ ▀▄▄▀▄▀▄ \n▀▄█▄█▄▀▀ ▀█▄█▀▄\n█▀█████▄ ▄▀ █▀█\n█▀▄█▀ ▀▄ █▀\n▀▀▀▄█▀▀ ▀▀▄ \n ▄█▀▀ ▄ █ █ \n█▄█▄▄▄█▀▀█▄█▄█▄█"], ["eat_1", " ▄▄▄▄██▄▀██ \n █ ▀▄▄▀▄▀▄ \n ▀▀█▄█▄▀▀ █▀▄ \n ▄▀▀▀ ▀ █ \n ▀▀██▀▀ ▄▀▀ ▀▄▀█\n █ █ █▄▀▄ ▄█ █\n ▄█▀ ▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄▄█▀▀█▄█▄█▄█"], ["eat_2", " ▄▄ ▄▄▄ \n ▄█▀▀█▀ █▀▄ \n █▀ ▄ ▄▀▄ █▄▀ \n █▀▀▀▀ ▀▄▀ \n ▀▀▀█▀ ▄ ▀▄▄▄\n ▄▀▀█ ▄█▄▄ ██ █\n █▄▀ ▀▄▀▄█▄▀ ▀▄█\n█▄█▄▄▄█▀▀█▄█▄█▄█"], ["happy", " ▄▄▀▀▀▀▀▀▄▀▀█ \n█ ▄ ▄▀▄ ▀▄▀█▄ \n▀█████▄ ▄▀▀▄█ \n █▀▀▀▀▀ ▄▀ ▄█▄\n ▀█▀█▀ ▄▄█▀ █\n ▀█ ▀▄ █\n ▄█ ▀▄ ▄▀ █ \n █▄█▄▄▄█▀█▄█▄█▄█"], ["injured_1", " ▄▄ ▄▄▄ \n ▄█▀▀▀█▀ █▀▄ \n█▀ ▀▄▄ █▄▀ \n█▄▄▄▄█▄ ▀▄▀ \n ▀▄▄▄ ▀ ▀▄▄▄\n ▄▀▀█ ▄▀ ██ █\n █▄▀ ▀▄▀▄ █ ▀▄█\n█▄█▄█▄▀█▄█▄█▄█▄█"], ["injured_2", " \n ▄▄▄██▄▀██ \n▄▄▀▀ ▄▀ ▀▄▀▄ \n█ ▄ ▀▀ █▀▄ \n▀▀█▀▀▀▀▄ ▀▄▄▄\n ▄▀▀█▀ ▄▀ ██ █\n █▄▀ ▀▄▀▄ █ ▀▄█\n█▄█▄█▄▀█▄█▄█▄█▄█"], ["sleep_1", " \n ██▄▀██ \n ▄█▀ ▀ ▀▄▀▄ \n █▀ ▄ ▀▀▀ █▀▄ \n ▀█▀▀▀▀ ▀█ \n█▀██▀▀ ▄▀█▀█ \n█▀▀▄▀▄▄▀█▀▀▀█▀▄ \n█▄▄█▄█▄▄█▄▄▄█▄▄█"], ["sleep_2", " ▄▄ ▄▄▄ \n ▄▄▀█▀ █▀▄ \n ▄▄▀▀ ▄▄▄ █▄▀ \n █▄▄█▄ █▄▀ \n ▄▀▀▀▀ ▀▄ \n█▀██▀▀ ▄▀█▀█ \n█▀▀▄▀▄▄▀█▀▀▀█▀▄ \n█▄▄█▄█▄▄█▄▄▄█▄▄█"], ["walk_1", " ▄▄██▄▀██ \n ▄▄▀▀ ▀▄▄▀▄▀▄ \n █▄▄█▄ ▀▀ █▀▄ \n ▀▄▄▄▄▄ █ \n ▄▄▄▀ ▄▀▀ ▀▄▀█\n █▄ █ █▄▀▄ ▄ █ █\n █▄▀ ▀▄▀▀▀█▀ ▀▄▀\n█▄█▄▄▄█▀▀█▄█▄█▄█"], ["walk_2", " ▄▄ ▄▄▄ \n ▄█▀▀█▀ █▀▄ \n █▀ ▄ ▄█▀ █▄▀ \n █▀▀▀▀ ▀▄▀ \n ▀▀▀█▀ ▄ ▀▄▄▄\n ▄▀▀█ ▄█▄▄ ██ █\n █▄▀▀▄ ▀▄█▄▀ █ █\n █▄█▄▄███▄█▄█▄█ "]]], + ["growlmon_x", [["angry", " ▄▄ ▄▄▄▄ \n ▄█ ▀▀▀▀ ▄ ▄▀\n █▀▀▄ ▄▄█ ▀█▀ \n █▄▄▄▄ ▀█▄▀ \n ▀▄▄▄▄█ ▄▀▀▄▄ \n▄▀▀▄█ ▄▀▀ █▀█\n▀▄█ █ ▀▀▄▄█▀▄█\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["attack", " █▀▄▄▄▄▀▀▀▀▄\n ▄▄▄▀▀ ▄▄ ▄█▄▀ \n █ ▀ ▀▀▀ ▄▄█▄▄ \n█▀██████▄ ▄█ █\n▀▄██████▀ ▀ █▄\n ▀▄▄▄▄▄▀ ▄▄▀█ █\n ▄█ ▀▄ █ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_1", " █▀▄▄▄▄▀▀▀▀▄\n ▄▄▄▀▀ ▄ ▄█▄▀ \n █ ▀ ▀ ▀ ▄▄▀▄ \n ▀▀█████▄ ▄█▀ \n ▄▀██▄▄█▀▀▄█▄ ▄▄\n █ █▄▄▄█▄ ▄█ █\n ▄█ ▀▄ ▀█▀ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_2", " ▄▄ ▄▄▄▄ \n ▄█ ▀▀▀▀ ▄ ▄▀\n █▀▀▄ ▄▀▄ ▀█▀ \n █▄▄▄▄ ▀█▄▀ \n ▀▄▄▄▄█ ▄▀▀▄▄ \n ▄▀ █ ▄▀ █▀█\n █▄▀█ ▀▄▄▀▀▄█\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["happy", " █▀▄▄▄▄▀▀▀▀▄\n ▄▄▄▀▀ ▄ ▄█▄▀ \n▄█ ▀ ▀ ▀ ▄▄▀▀▄ \n█▀██████ ▄▀ █ \n ▀▄██▄▄▀ ▀ █▄▄\n █▄▄▄▄▀ ▄█ █\n ▄█ ▀▄ ▄▀ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["injured_1", " \n █▀▄▄▄▄▀▀▀▀▄\n ▄▄▄▀▀ ▄ ▄█▄▀ \n █ ▀ ▀▀ ▄▄▀▄ \n ▀█▀▀▀ ▄ ▄█▀ \n ▄▄▀█▀▀▀ ▄▄█▄▀█\n █▄▀█ ▄▀ █▄█▄█ █\n █▄▄▄██▄▄█▄▄▄█▄█"], ["injured_2", " \n ▄▄ ▄▄▄▄ \n ▄█ ▀▀▀▀ ▄ ▄▀ \n█▀▀▄ ▄ ▀█▀ \n█▄▄▄▄ ▀▀ ▀█▄▀ \n ▀▄▄▄▄█ ▄▄█▄▀█\n █▄▀█ ▄▀ █▄█▄█ █\n █▄▄▄██▄▄█▄▄▄█▄█"], ["sleep_1", " \n \n █▀▄▄▄▄▀▀▀▀▄ \n▄▄▄▀▀ ▄█▄▀ \n█ ▀ ▀▀▀ ▄▄▀▄ \n▀█▀▀▀ ▄ ▄▀▀▄▄▀█\n ▄█▀█▀ ▄▀ ▄▀ ▀▄█\n█▄█▄█▄▄█▄█▄█▄█▄█"], ["sleep_2", " \n ▄▄ ▄▄▄▄ \n ▄█ ▀▀▀▀ ▄ ▄▀\n █▀▀▄ ▄▄▄ ▀█▀ \n █▄▄▄▄ ▀█▄▀ \n ▀▄▄▄▄▀ ▄▀▀▄▄▀█\n ▄█▀▄ ▄▀ ▄▀ ▀▄█\n█▄█▄█▄▄█▄█▄█▄█▄█"], ["walk_1", " █▀▄▄▄▄▀▀▀▀▄\n ▄▄▄▀▀ ▄▄ ▄▀▄▀ \n █ ▀ ▀▀ ▄▄▀▄ \n ▀█▀▀▀ ▄ ▄█▀ \n ▄█▀█▀▀▄█ ▀▀█▄▄\n █ ▄█ █▄ ▄▄▀█ █\n ▄█ ▀▄ ▀▀█ ▀▄▀\n▀▄▀▄▄▀█▀▀█▄▀▄▀▄▀"], ["walk_2", " ▄▄ ▄▄▄▄ \n ▄█ ▀▀▀▀ ▄ ▄▀\n █▀▀▄ ▄█▀ ▀█▀ \n █▄▄▄▄ ▀█▄▀ \n ▀▄▄▄▄█ ▄▀█▄▄ \n █▀▄█ ▄▀▀ ▄█▀█\n ▄█ █ ▀█▄█▀ ▀▄█\n█▄█▄▄█▄▄▄█▄█▄█▄█"]]], + ["gryphonmon", [["angry", " ▄▄▄▄ ▄▄ \n ▄▀ ▀█ █ █ \n ▄▀▀▄ ▀▀ █ █ ▀▄\n █▄▀█ ▄█▀ █\n ▀ █▀▀ ▄▀▀ ▀▄█ █\n █▄▀ ▄▀ █ █\n ▄█▄█ █▄▄ █ \n █▄█▄▄█▄█▄▄▄▄█ "], ["attack", " ▄▀▀▀▀█▄ ▄▄ \n▄▀▀▄ ▄█▀ █ █ ▀▄ \n█▄▀██ ▀▄▀ █ \n▀ ██ ▄▀█ ▄ █\n ▀█▀▀ ▄▀ ▀▀▄ █\n █▄▀ ▄ █ █\n ▄█ ▄█ █▄█▄▄ █ \n█▄▄█▄▄█▄▀ █▄▄▄█ "], ["eat_1", " ▄▀▀▀▀█▄ ▄▄ \n▄▀▀▄ ▄▀▄ █ █ ▀▄ \n█▄▀██ ▀▄▀ █ \n▀ ██ ▄▀█ ▄ █\n▄▀█▀▀ ▄▀ ▀▀▄ █\n▀▄▄█▄▀ ▄ █ █\n ▄█ █▄█▄▄ █ \n █▄▄█▄▀ █▄▄▄█ "], ["eat_2", " ▄▄▄▄▄ █▀▄ \n ▄▀ ▄ ▀█ █ █ \n▄▀▀▄ ▀ █▄▀ ▀▄\n█▄▀█ ▄█ ▀▄ █\n▀ █▀▀ ▄▀▀ ▀▀█ █\n █▄▀ ▄ ▀▄▀\n ▄█▄█ █▄█▄▄ █ \n █▄█▄▄█▄▀ █▄▄▄▀ "], ["happy", " ▄▀▀▀▀█▄ █▀▄ \n▄▀▀▄ ▄▀▄ █ █ █ \n█▄▀██ ▀█ ▄ █\n▀ ▄██ ▄▀▀▀▄▄█ █\n ▄▀▄▄▄▀ █ █\n█ █ ▄ █ ▄ █ \n ▀▀▄▄▀▀▀ █▀▄▄▄ █\n ▀▀█▄▄█"], ["injured_1", " ▄▄▄▄▄ \n ▄▀ ▀█ █▀▄ \n▄▀▀▄ ▀▄▄ █ █ █ \n█▄▀█ ▄█▀ █ \n▀ █▀▀ ▄▀▀ ▀▄█ ▀▄\n █▄▀ ▄▀ ▀▄ █\n ▄█▄█ ▄ █▄ █▄▀\n█▄█▄▄▄█▄█▄▄▄▄█ "], ["injured_2", " \n ▄▄▄▄ ▄▄▄ \n ▄▀ ▀█ █ █ \n▄▀▀▄ ▄▄ ▀█ ▄ █\n█▄▀█ ▄▀▀▄▄█ █\n▀ ▄▀ ▄▀ ▄ █ █\n ▄▀▄█▄ ▀▄▀▄▄ ▀▄\n █▄█▄▄▄▄▄██▄▄▄▄█"], ["sleep_1", " \n ▄▄▄▄ ▄▄▄ \n ▄▀ ▀█ █ █ \n▄▀▀▄ ▀▀ ▀█ ▄ █\n█▄▀█ ▄▀▀▄▄█ █\n▀ ▀▄ ▄▀ ▄ █ █\n ▄▀▄█ ▀▄▀▄▄ ▀▄\n █▄█▄▄▄▄▄██▄▄▄▄█"], ["sleep_2", " \n ▄▀▀▀▀▄▄ █▀▀▄ \n ▄█ ▄▄ █ █ ▀▄\n█ ▄█ ▀█ ▄ █\n█▀ █ ▄▄▀▀▄▄█ █\n █▀ ▄▀ ▄ █ █\n ▄▀█▄ ▀▄▀▄▄ ▀▄\n █▄█▄▄▄▄▄██▄▄▄▄█"], ["walk_1", " ▄▄▄▄▄ █▀▄ \n ▄▀ ▄ ▀█ █ █ \n▄▀▀▄ ▀▀ █▄▀ ▀▄\n█▄▀█ ▄█ ▀▄ █\n▀ █▀▀ ▄▀▀ ▀▀█ █\n █▄▀ ▀▄▀\n ▄█▄█ █▄▄█▄▄ █\n █▄█▄▄█▄▀ █▄▄▄▀"], ["walk_2", " ▄▀▀▀▀█▄ █▀▄ \n ▄█ ▄█ █ █ █ \n█ ▄█ ▀█ ▄ █\n█▀▄█ ▄▀▀▀▄▄█ █\n▄▀▀▄▄▄▀ █ █\n▀▄█ ▄ █ ▄ █ \n ▀▄▄▀▀▀ █▀▄▄▄ █\n ▀▀█▄▄█"]]], + ["guardromon", [["angry", " ▄▄▄ \n ▄▀▀▀▀▀▀▀█▀ █ \n▄▀▀█▀▀▄ ▀▄▄▄ █ \n▄▀▀▀█▀▀▀▀▀█ █ \n█▄▄▄▀ ▄█▄▄█ \n█ █▄▄▄▀▀█ █ \n ███▄█▄▄█▄▄▄▄▄█ \n█▄▄█▄▄█ █▄▄█▄▄▄█"], ["attack", " ▄▀▀▀▀▀▀▀▀▄▀▀▀▄\n ▄▀███▀▀▄ █▄▄▄ █\n██▄▄█▄▄██▄▀▄▄▄█▀\n▀▄██████▀▀█ █\n██ █ █▄▄█▄▄▄▄█\n▀▀█▀▀ █ ▄█▄▄▄▄█ \n ▄▄████▀█▄▄█▄▄▄ \n█▄▄█▄▄█ █▄▄█▄▄▄█"], ["eat_1", " ▄▀▀▀▀▀▀▀▀▄▀▀▀▄\n ▄█▀█▀█▄ █▄▄▄ █\n█▄███████▀█ █▀\n▀▄██████▀ ▀▄▄▄█ \n██ █ ▄▀▀█ █\n▀▀█▀▀ █▄▄█▄▄▄▄█\n ▄▄████▀██▄█▄▄▄ \n█▄▄█▄▄█ █▄▄█▄▄▄█"], ["eat_2", " ▄▄▄▄▄▄▄▄ ▄▄▄ \n █▄▄▄▄ ▄▀ █\n▄▀█▄█▄██▄▄█▄▄▄▄▀\n██ █ █ █ \n▀██▀▀ █▀█▀▄▄▀▄ \n█ ██▀▀▀▀▀█ █ \n▀▄▄█▄██▀███▄▄▀▀▄\n█▄▄█▄▄█ █▄▄█▄▄▄█"], ["happy", " ▄▀▀▀▀▀▀▀▀▄▀▀▀▄\n ▄█▀███▀▄ █ ▄▄▄█\n██▄█▄█▄█▄█▀▀▄ █\n▀▄███████▀ █▄▄█\n██ █ ▄▀▀█ █\n▀▀█▀▀ █▄▄█▄▄▄█\n ▄▄████▀██▄█▄▄▄ \n█▄▄█▄▄█ █▄▄█▄▄▄█"], ["injured_1", " ▄▄▄ \n ▄▀▀▀▀▀▀▀▀▄▀ █\n▄█▀███▄ █▄▄▄▄█\n▄▀▀▀█▀▀▀▀▀█ █ \n█▄▄▄▀ ▄▄▄ █▄▀▀▄ \n▄▀▄▄▄▄█▄█▄█ █ \n▀▄▄█▄▄▄▄▄▄█▄▄▀▀▄\n█▄▄█▄▄█ █▄▄█▄▄▄█"], ["injured_2", " ▄▄▄ \n ▄▀▀▀▀▀▀▀▀▄▀ █\n▄████▀▄ █▄▄▄▄█\n▄▀▀▀█▀▀▀▀▀█ █ \n█▄▄▄▀ ▄▄▄▄█▄▀█ \n ▀▄▄▄▄█▄██ █ \n ▄██▄▄▄▄▄█▄▄▀▀█▄\n█▄▄█▄▄█ █▄█▄▄▄██"], ["sleep_1", " ▄▄▄ \n ▄▀▀▀▀▀▀▀▀▄▀ █\n▄▀▀█▀▀▄ █▄▄▄▄█\n▄▀▀▀█▀▀▀▀▀█ █ \n█▄▄▄▀ ▄▄▄ █▄▄▀▄ \n▄▀▄▄▄▄█▄█▄█ █ \n▀▄▄█▄▄█▀▄▄█▄▄▀▀▄\n█▄▄█▄▄█ █▄▄█▄▄▄█"], ["sleep_2", " ▄▄▄▄▄▄▄▄ ▄▄▄ \n █▄▄▄▄ ▄▀ █\n▄▀▄▄█▄▄█▄▄█▄▄▄▄█\n██ █ █ █ \n▀██▀▀ █▀█▀▄▄▀▄ \n█ ██▀▀▀▀▀█ █ \n▀▄▄█▄██▀███▄▄▀▀▄\n█▄▄█▄▄█ █▄▄█▄▄▄█"], ["walk_1", " ▄▀▀▀▀▀▀▀▀▄▀▀▀▄\n ▄█▀█▀█▄ █▄▄▄ █\n█▄▀▀▀█▀▀▀▀█ █ \n▀█▄▄▄▀ ▄▄ ▀▄▄▄█ \n█▀█▄▄▄▄█▀▀█ █\n▀▄▄██▄▄█▄▄█▄▄▄▄█\n ▄▄█▄▄█ █▄▄█▄▄▄ \n█▄▄█▄▄█ █▄▄█▄▄▄█"], ["walk_2", " ▄▄▄▄▄▄▄▄▄▄▄ \n █▄▄▄▄ ▄▀ █ \n▄▀█▄█▄██▄█▀▀▀▄█ \n██ █ █ █ \n ██▀▀▄▄██▀▀▀▀▄ \n █▀█▀█ █ █ \n ▄█████▀██████▄ \n█▄▄█▄▄█ █▄▄█▄▄▄█"]]], + ["guilmon", [["angry", " ▄▄▄ ▄▄▄▄ \n ▄█▄▄██▀ ▄▀ \n ▄█ ▄█ ▄█ \n█ ▄ ▀▀ ▀▄ \n▀█▀▀▀▀▀▄ ▄██▄▀█\n █▀█▀▀ ▄ █▄▀\n ▄█▄▀▄ ▄██▄█ \n█▄█▄██▀▀█▄█▄█▄█ "], ["attack", " ▄▄███▄▄▀▀▀▀▀█ \n█ ▄▀█▀▄▄▀ \n▀▄█▄█▄▀▀ ▀▄ \n ▀█████ ▄█▀█▄▄\n █▀ ▀ ▀ ▄ ▀ ▄█ █\n █▀█▀▀▀ ▀█ █ \n ▄▄█▀▀▄▄▄█▄▄▄█ \n█▄█▄█▄▀ █▄█▄█▄█ "], ["eat_1", " ▄▄▄▄▀▀▀▀▄▄▀▀▀█\n █ ▀█▄ ▄▄▀ \n ▀▀█▄██▄▀▀▀ ▀▄ \n ▄▄█▀█▀ ▄▀ \n █▄▄▄▄ ▄ █ ▄▀█\n ▀▄█ █▄▄ █▀▄▀\n ▄▄█▄ ▄▄▄██ \n █▄█▄██▀█▄█▄█▄█ "], ["eat_2", " \n ▄███▄█▀▀▀▀█ \n ▄█ ▄ ▄▄▀ \n █ ▄ ▄ ▀ ▀ ▀▄ \n ▀█▀▀ ▄█▀▄▄\n ▄▀█▀▀ █▀ ▀▄█ █\n █▄█▄ █▄█▄█▄▀ \n █▄█▄██▀█▄█▄█▄█ "], ["happy", " ▄▄▄▄ ▄▄▄▄▄\n ▄▀▀▀▀ ▄▀▀ ▄▀\n █▄▄▄█▄ ▀ ▀ █▀ \n █████ ▄█ \n █▄▄▄▄ ▄▀ █▀█\n ▀▄█ █▀▄▀\n ▄▀█▄▄▄█▄▄▄█ \n █▄█▄███▄█▄█▄█ "], ["injured_1", " \n ▄███▄█▀▀▀▄ \n ▄█ ▄▄▄█ \n █ ▄ ▀▄▄ ▀▄ \n ▀█▀▀▀ ▄█▀ \n ██▀ ▄▀ ▀▄▄ \n █▄█▄ █▄█▄█▄▀▄\n █▄█▄██▀█▄█▄█▄█▀"], ["injured_2", " \n ▄▄▄ ▄▄▄▄ \n ▄▀▀▀▀▀▀ ▀▄ \n ▄▀▀ ▄ ▀█▀▀ \n █▄▄█▄ ▀▀ ▄█ \n ▀▄▄▄ ▄ █▀ \n ▄█▄█ █ ▄▄██▄ \n█▄█▄██▄▄██▄█▄█▄█"], ["sleep_1", " \n \n ▄██▄▄▀▀▀▄▄▄ \n ▄▀▀ ▄▄▄▀ \n █ ▄ ▀▀▀ ▀▄ \n▄▄▀█▀▀▀ ▄▄▀▄██▄ \n█▄█ █▀▀▀▄ █▄█▄█ \n█▄▄█▄█▄█▄▄█▄▄▄██"], ["sleep_2", " \n ▄▄▄ ▄▄▄ \n ▄█▀▀▀▀ ▀▀▄ \n ▄▀ ▄▄▄ ▀█▀▀ \n ▀▄▄▄█▄ ▄ ▄█ \n▄▄▀█▄▄▄▄▀▀▀▄██▄ \n█▄█ ▀▄ ▄▀ █▄█▄█ \n█▄▄███▄████▄▄▄██"], ["walk_1", " ▄▄▄ ▄▄▄▄▄▄ \n ▄▀▀▀▀▀▀ ▄▀ \n ▄▀▀ ▀█▄ ▀█ \n █▄▄█▄ ▀▀▀ ▄█ \n ▀▄▄▄ ▄▄ █▀ ▄▄\n █▄█ █▄▄▄ ██ █\n ▄▄█▄ ▄▄▄█▄▀ \n █▄█▄██▀█▄█▄█▄█ "], ["walk_2", " \n ▄███▄█▀▀▀▀█ \n ▄█ ▄▄ ▄▄▀ \n █ ▄ ▄██ ▀▄ \n ▀█▀▀▀ ▄█▀ \n ██▀ ▄▀ ▀▄▄▀█\n █▄█▄ ███▄█▀▄▀\n █▄█▄██▄█▄█▄█ "]]], + ["gummymon", [["angry", " ▄ \n ▄▀ ▀▄▄▄ \n ▄▄▀▀▄▄▄▀ ▀▄▄ \n█ ▄ ▄ ▄ ▄ ▀█\n ▀█ ▀▀ ▀▀ █▀ \n ▀▄ ▀▀ ▄▀ \n ▄▀▀ ▀▀▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["attack", " █▀▀▄▄▄▄ \n█▀█▀▄▄▄▀ ▀▄▄▀█ \n▀▄ ▄ ▄ ▄ ▄▀ \n █ ▀▀ ▀▀ █ \n █ ████▄ █ \n ▀▄▀▀▀▀▀▄▄▀ \n ▄▄▀ ▀▄▄ \n ▀▄▄█▄▄▄▄█▄▄▀ "], ["eat_1", " ▄▀▄ \n ▄█ █▀▀▄ \n▄▀▀ ▀▀▀ ▀▀▄▄\n▀▄█▄▀▄ ▄▀▄ ▀▄▄▀\n █ ▄▄▄▄▄ █ \n ▀▄ ████ ▄▀ \n █▀ ▀█ \n █▄▄█▄▄█▄▄█ "], ["eat_2", " ▄ \n ▄▀ ▀▄▄▄ \n ▄▄▀▀▄▄▄▀ ▀▄▄ \n█ ▄ ▄ ▄ ▄ ▀█\n ▀█▀ ▀ ▀ ▀ █▀ \n ▀▄ ▀▀ ▄▀ \n ▄▀▀ ▀▀▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["happy", " ▄▀▄ \n▄▄ ▄█ █▀▀▄ ▄▄\n█ ▀ ▀▀▀ ▀▀ █\n ▀█▄▀▄ ▄▀▄ ▀▄▀ \n █ ▄▄▄▄▄ █ \n ▀▄▀███▀ ▄▀ \n █ █ \n █▄▄█▄▄█▄▄█ "], ["injured_1", " \n ▄ \n ▄▀ ▀▄▄▄ \n ▄▄▀▀▄▄▄▀ ▀▄▄ \n █ ▄ ▄ ▄ ▄ █\n ▀▀█ ▄▀ ▀▄ █▀\n ▀▄ ▀▀ ▄▄▀ \n █▄▄█▄▄█▄▄▄█ "], ["injured_2", " \n \n ▄▀▄ \n ▄█ █▀▀▄ \n ▄▀ ▀▀▀ ▀▄ \n █ █ ▄▄ ▄▄ █ █\n ▀█ ▀▀ ▄█▀\n █▄▄▄█▄▄█▄▄▄▄█ "], ["sleep_1", " ▄ \n ▄▀ ▀▄▄▄ \n ▄▄▀▀▄▄▄▀ ▀▄▄ \n█ ▄ ▄ ▀█\n ▀█ ▀▀ ▀▀ █▀ \n ▀▄ ▀▀ ▄▀ \n ▄▀▀ ▀▀▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["sleep_2", " \n ▄▀▄ \n ▄█ █▀▀▄ \n▄▀▀ ▀▀▀ ▀▀▄▄\n▀▄█ ▄▄ ▄▄ ▀▄▄▀\n █ ▄▄ █ \n ▄▀▄ ▄▀▄ \n █▄▄▄▄█▄▄█▄▄▄▄█ "], ["walk_1", " ▄▀▄ \n ▄█ █▀▄▄ \n▄▀▀ ▀▀▀ ▀▀▄▄\n▀▄█ ▄█ ▄█ ▀▄▄▀\n █ ▄▄ █ \n ▀▄▄ ▄▄▀ \n █ █ \n █▄▄█▄▄█▄▄█ "], ["walk_2", " ▄ \n ▄▀ ▀▄▄▄ \n▄▄▄▀▀▄▄▄▀ ▀▄▄▄▄\n▀▄▄ ▄ ▄ ▄▄▄▀\n █ ▀▀ ▀▀ █ \n ▀▄ ▀▀ ▄▀ \n ▄▀▀ ▀▀▄ \n █▄▄█▄▄▄▄█▄▄█ "]]], + ["gundramon", [["angry", " ▄▄▄▄▄▄▄▄ ▄▄▄ \n █▄▄▄▄█▄▄█ █ █ \n ▄▀▀▀ ▄█ ██▄▄█ \n ▀▄▄▄▄▄▄▄ ▄█▄ █\n█▀▀▄▄▄▄▄▄█▄▄ █▄▀\n▀▀█▄█ █▄▄▀ █▀ \n ▄▄▄█▀▄ ▀██▄█▄ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["attack", "█▀▀▀█████▄▄▄▄▄▄ \n▀▀█▀█▄▄▄▄▄█ █ \n █ ▄ ▄ ▀█▀▀▀█\n▄▄█▀█▄█▄█▄█▀▀▄ █\n█▄▄▀█▄▄▄ █▀▄█▀ \n ▀▀█▄▀▀▀██▄▀▄ \n ▄█▄▄█▄▄▄█▄▄▄█ \n █▄█▄▄█ █▄█▄█▄█"], ["eat_1", " █▀▀▀▀█▀▀▄ █▀█ \n ▀█▀██▀▀▀▀▄█ ▀▄ \n █ ▄ ▄ ▀█▀▀▀▄\n▄▄▀██████▄▀▀▀▄ █\n█▄▄▀▀ ▀ ▀▄▀▀▄█▀ \n ▀██▀▀▀▀▄▄▄▀▄ \n ▄█▄▄█▄▄▄▄█▄▄▄█ \n█▄█▄▄█ █▄█▄█▄█"], ["eat_2", " ▄▄▄▄▄▄▄▄ ▄▄▄ \n █▄▄▄▄█▄▄█ █ █ \n ▄▀▀▀ ▄▀▄ ██▄▄█ \n ▀▄▄▄▄▄▄▄ ▄█▄ █\n█▀▀▄▄▄▄▄▄█▄▄ █▄▀\n▀▀█▄█ █▄▄▀ █▀ \n ▄▄▄█▀▄ ▀██▄█▄ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["happy", " █▀▀▀▀█▀▀▄ █▀█ \n ▀███▀▀█▀▀▄█ ▀▄ \n █ ▀ ▀ ▀█▀▀▀▄\n▄▄▀██████▄▀▀▀▄ █\n█▄▄▀▀ ▀ ▀▄▀▀▄█▀ \n ▀▀██▀▀▀▄▄▄▀▄ \n ▄█▄▄█▄▄▄█▄▄▄█ \n █▄█▄▄█ █▄█▄█▄█"], ["injured_1", " \n ▄▄▄ \n █▀▀▀▀█▀▀▄ █ █ \n ▀█▀▀▀▀█▀▀██▄▄█ \n █ ▄ ▄▀▀ ▄█▄ █\n█▀█▀ ▀ ▀▀█ ▀▄▀\n▄▀█▀█▀████▀█▀█▀▄\n█▄▄▄██▄▄▄█▄▄▄▄▄█"], ["injured_2", " \n ▄▄▄ \n▄▄▄▄▄▄▄▄ █ █ \n█▄▄▄▄█▄▄█▄█▄▄█ \n▄▀ █▄ ▄█▄ █ \n█▄▄▀▄▀▄▄▄▀ ▀▄▀ \n█▀█▀█▀█▄██▀█▀█▀▄\n█▄▄▄██▄▄▄█▄▄▄▄▄█"], ["sleep_1", " \n ▄▄▄ \n █▀▀▀▀█▀▀▄ █ █ \n ▀█▀▀▀███▀██▄▄█ \n █ ▄ ▄ ▄█▄ █\n█▀█▀▀ ▀ ▀█ ▀▄▀\n█▀█▀█▀████▀█▀█▀▄\n█▄▄▄██▄▄▄█▄▄▄▄▄█"], ["sleep_2", " \n ▄▄▄▄▄▄▄▄ ▄▄▄ \n █▄▄▄▄█▄▄█ █ █ \n ▄▀ ▀▀▀ ██▄▄█ \n ▀▄▄▄▀▄▀▄ ▄█▄ █\n█▀▀▄▄▄▄▄▄█ ▀▄▀\n█▀█▀█ █▄▄█▀█▀█▀▄\n█▄▄▄██▄▄▄█▄▄▄▄▄█"], ["walk_1", " █▀▀▀▀█▀▀▄ █▀█ \n ▀█▀██▀▀▀▀▄█ ▀▄ \n █ ▄ ▄ ▀█▀▀▀▄\n▄▄█▀▀ ▀ ▀▄▀▀▀▄ █\n█▄▄▀█▀█▀▀█▀▀▄█▀ \n ▀▀█▄▀▀▀▄▄▄▀▄ \n ▄█▄▄█▄▄▄█▄▄▄█ \n █▄█▄▄█ █▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄▄▄▄ ▄▄▄ \n █▄▄▄▄█▄▄█ █ █ \n ▄▀ ▀▀ ██▄▄█ \n ▀▄▄▄▀▄▀▄ ▄█▄ █\n█▀▀▄▄▄▄▄▄█▄▄ █▄▀\n▀▀█▄█ █▄▄▀ █▀ \n ▄▄▄█▀▄ ▀██▄█▄ \n█▄█▄▄██▀▀█▄█▄█▄█"]]], + ["gusokumon", [["angry", " \n ▄▀▀ ▄▄ ▄\n █ ▄▄█▀ ▄██\n ▄██▄▄█▀▄▀▄ █\n ▄▀ ▄ █ █▀█▄██\n▄█ ▄▀▀▄██ █ █ ██\n█ ▀ ▀▀▄▄██▄█▄█▄▀\n███▀▀███▄▀▄█▄▀▄█"], ["attack", " ▄▀▀ ▄▄ \n ▄█▄▄▄█▀ ▄█\n ▄▀ ▄ █▀▄▄ ▀▀█\n █ ▀▀ ██ █▄█ ▄█\n ▀████ ██ █ █▀██\n█▀█▀█▀▄▀█▄▀▄▀▄▀█\n█▄▄▄▄██▀▀█▀█▀█▀ \n █▄▄▀▄▄▄▀ █▄▀▄█ "], ["eat_1", " ▄▄ \n ▄▀ ▄▄▀▀ ▄█\n ▄▀█▀▀▀█▄ ▄ ▀▀█\n █ ▄█▀▄█ █▄█ ▄█\n ▀▄▄▄▄███ █ █▀██\n█▀█▀█▀▄▀█▄▀▄▀▄▀█\n█▄▄▄▄██▀▀█▀█▀█▀ \n █▄▄▀▄▄▄▀ █▄▀▄█ "], ["eat_2", " \n ▄▀▀ ▄▄ ▄\n █ ▄▄█▀ ▄██\n ▄██▄▄█▀▄▀▄ █\n ▄▀ ▀▄▄ █ █▀█▄██\n▄█ ▄▀ ▄██ █ █ ██\n█ ▀ ▀▀▄▄██▄█▄█▄▀\n███▀▀███▄▀▄█▄▀▄█"], ["happy", " ▄▄ \n ▄▀ ▄▄▀▀ ▄█\n ▄▀█▀▀▀█▄ ▄ ▀▀█\n █ ▄▀▀▄█ █▄█ ▄█\n ▀▄▄▄▄███ █ █▀██\n█▀█▀█▀▄▀█▄▀▄▀▄▀█\n█▄▄▄▄██▀▀█▀█▀█▀ \n █▄▄▀▄▄▄▀ █▄▀▄█ "], ["injured_1", " \n \n ▄▀▀ ▄▄▄ ▄█\n █▄▀▀█▄ ▄ ▀▀█\n ▄▀▀█▀▀█ █▄█ ▄█\n █ ▀▀▄█ █ █▀██\n█▀▄▀▄▄▀▀█▄▀▄▀▄▀█\n█▄▄▄▄▄█████████▄"], ["injured_2", " \n \n ▄▄ ▄\n ▄▀▄▄█▀▀▄ ▄██\n ▄██▄▄█▀▄▀▄ █\n ▄▀ █▄ █ █▀█▄██\n█▀▄▀▄▄ ██ █ █ ██\n█▄▄▄▄▄█▄██▄█▄█▄▀"], ["sleep_1", " \n \n ▄▀▀ ▄▄ ▄\n █ ▄▄█▀ ▄██\n ▄██▄▄█▀▄▀▄ █\n ▄▀ ▀▄▄ █ █▀█▄██\n█▀▄▀▄▄▀██ █ █ ██\n█▄▄▄▄▄█▄██▄█▄█▄▀"], ["sleep_2", " \n ▄▄ \n ▄▀ ▄▄▀▀ ▄█\n █▄▀▀█▄ ▄ ▀▀█\n ▄▀█▀▀▀█ █▄█ ▄█\n █ ▀▀▄█ █ █▀██\n█▀▄▀▄▄▀▀█▄▀▄▀▄▀█\n█▄▄▄▄▄█████████▄"], ["walk_1", " ▄▄ \n ▄▀ ▄▄▀▀ ▄█\n █▄▀▀█▄ ▄ ▀▀█\n ▄▀█▀▀▀█ █▄█ ▄█\n █ ▄█▀▄█ █ █▀██\n█▀▄▀▄▄▀▀█▄▀▄▀▄▀█\n█▄▄▄▄▄█▀▀█▀█▀█▀ \n █▄▄▀▄▄▄▀ █▄▀▄█ "], ["walk_2", " \n ▄▀▀ ▄▄ ▄\n █ ▄▄█▀ ▄██\n ▄██▄▄█▀▄▀▄ █\n ▄▀ ▀▄▄ █ █▀█▄██\n▄█ ▄▀▀▄██ █ █ ██\n█ ▀ ▀▀▄▄██▄█▄█▄▀\n███▀▀███▄▀▄█▄▀▄█"]]], + ["hagurumon", [["angry", " \n ▄▄ ▄▄ \n ▀▄▀▀▀▀▄▀ \n █▀██▄███▄ ▀▄▀█ \n ▀█ ▀█▀ █ █▀ \n ▄▀▀██▀▀██▄▀▀▀▄ \n▀█ ▀█▄██▄██ ▀ █▀\n ▀█▀ ▀▀█▀ "], ["attack", " █▀▄▀▀▀▀▀▀█▀▀▄▀█\n ▀█ ▀████▀ █ ▀▄▀\n █ █▄▄██▄▄█ █ █ \n █▀ ▀ ▀ ▀█▀▄█ \n█▀▀▄█▄█▄█▄▄▀ █▀█\n▄██▄▄▀▀▀▀▀ ▄█▄█▄\n █ ▄ █▀▀▀▀█ ▄ █ \n▄▀▄▄▄▀▄ ▄▀▄▄▄▀▄"], ["eat_1", " ▄▄ ▄██▄ ▄▄ \n ▀▄▀▄▄▄▄▀▄▀ \n █ █▄██▄█ █ \n ████ ████ \n █▄▀▄▄▄▄▀▄█ \n ▄▀▀▀█▄▄▄▄█▀▀▀▄ \n▀█ ▀ █ ██ █ ▀ █▀\n ▀█▀ ▀█▀ "], ["eat_2", " ▄▄ ▄▄ \n ▀▄▀▀▀▀▄▀ \n █▀▄▀▄████▄▀▄▀█ \n ▀█ ▀▀██▀▀ █▀ \n▄ ▄█▄▀████▀▄█▄ ▄\n █▀▀▀█▄▄▄▄█▀▀▀█ \n █ ▀ █▀ ▀█ ▀ █ \n▄▀▀▀▀▀▄ ▄▀▀▀▀▀▄"], ["happy", " ▄▄▄▀▀▀▀▄▄▄ \n ▀█▄▀██▀▄█▀ \n █▀█▄██▄█▀█ \n ████ ████ \n █▄▀▄▄▄▄▀▄█ \n ▄▀▀▀█▄▄▄▄█▀▀▀▄ \n▀█ ▀ █ ██ █ ▀ █▀\n ▀█▀ ▀█▀ "], ["injured_1", " \n ▄▄ ▄▄ \n ▀▄▀▀▀▀▄▀ \n █▀▄▀▄████▄▀▄▀█ \n ▀██▀▀██▀▀██▀ \n ▄▀▀▀██▀▀██▀▀▀▄ \n▀█ ▀ █▄██▄█ ▀ █▀\n ▀█▀ ▀█▀ "], ["injured_2", " \n \n █▀▄▄▄▄▄▄▀█ \n ▄▄▄▀▄▄▄▄▄▄▀▄▄▄ \n ▀▄██████████▄▀ \n ▄▀▀▀▄▄██▄▄▀▀▀▄ \n▀█ ▀ █▀▄▄▀█ ▀ █▀\n ▀█▀ ▀▀▀▀ ▀█▀ "], ["sleep_1", " \n ▄▄ ▄▄ \n ▀▄▀▀▀▀▄▀ \n █▀▄▀▄████▄▀▄▀█ \n ▀█ ▀▀██▀▀ █▀ \n ▄▀▀▀██████▀▀▀▄ \n▀█ ▀ ██▄▄██ ▀ █▀\n ▀█▀ ▀█▀ "], ["sleep_2", " \n ██ \n █▀▄▀▀▀▀▄▀█ \n ▄▀▄████▄▀▄ \n▄█▀█ ▀▀██▀▀ █▀█▄\n █▀▀▀██████▀▀▀█ \n █ ▀ ██▄▄██ ▀ █ \n▄▀▀▀▀▀▄▀▀▄▀▀▀▀▀▄"], ["walk_1", " ██ \n █▀▄▀▀▀▀▄▀█ \n ▄▀▄▀██▀▄▀▄ \n ███ █▄██▄█ ███ \n █▄▀█▄▄█▀▄█ \n ▄▀▀▀█▄▄▄▄█▀▀▀▄ \n▀█ ▀ █ ██ █ ▀ █▀\n ▀█▀ ▀█▀ "], ["walk_2", " ▄▄ ▄▄ \n ▀▄▀▀▀▀▄▀ \n █▀▄▀▄████▄▀▄▀█ \n ▀█ █▄██▄█ █▀ \n▄ ▄█▄▀▄▄▄▄▀▄█▄ ▄\n █▀▀▀█▄▄▄▄█▀▀▀█ \n █ ▀ █▀ ▀█ ▀ █ \n▄▀▀▀▀▀▄ ▄▀▀▀▀▀▄"]]], + ["hawkmon", [["angry", " ▄▄▄▄▄▀█ \n ▄█▄▄▄▄▄██ \n █▀▀█▀▀▀▀█ \n █▄▄▄▀ ▄█ █ \n ████▀ █ ▄▀████\n ▀███████████▀ \n ▄▄█▀██▀██▄ \n █▄█▄▄█▀▄▄█▄█ "], ["attack", " ▄▄ \n ▄▀▀▀▀▀▄█ \n █████████ \n ▄▀ █ ▄█ █ \n ▀█▀▀ ▄█▄▄ \n ██▄█▄█▄█▄███ \n ▄▄█▀████▀███ \n █▄█▄▄▀▀▀▀▄▄█▄█ "], ["eat_1", " ▄▄ \n ▄▀▀▀▀▀▄█ \n █████████ \n ▄▀ █ ▄▀▄█ \n ▀█▀▀ ▄█▄▄ \n ██▄█▄█▄█▄███ \n ▄▄█▀████▀███ \n █▄█▄▄▀▀▀▀▄▄█▄█ "], ["eat_2", " ▄▄▄▄▄▀█ \n ▄█▄▄▄▄▄██ \n █▀▀█▀▀█▀█ \n ▄█▄▄▄▀ ▀▀ █▄▄ \n ▀██▀ █ ▄▀██▀ \n █████████ \n ▄▄█▀██▀██▄ \n █▄█▄▄█▀▄▄█▄█ "], ["happy", " ▄▄▄▄▀█ \n█▀▄▀▀ ▄▄██ █▀▄▄\n▀██▀▀█▀▀█ ▀███▄█\n █▄▄▄█ ▀ ▀ ███▀ \n ▀██▀ ▄▄█▀▄ \n ▀█▄█████▀ \n ▀████ ▀█ \n █▄█▄▄▀ "], ["injured_1", " \n \n ▄▄▄▄▄▀█ \n ▄█▄▄▄▄▄██ \n █▀▀▀▀▀▀▀█ \n ██▀▀▄ █▄ █ \n █▀▄▄▄▀▄▄▄▀██ \n ▀█▄▄███▄▄██▀ "], ["injured_2", " \n \n ▄▄ \n ▄▀▀▀▀▀▄█ \n █████████ \n ▄█▄▄ ▄ █ \n ▄█▀ █ ▀▀▄██▄ \n ▀▄███▄███▄▄█▀ "], ["refuse", " ▄▄ \n ▄▀▀▀▀▀▄█ \n █████████ \n ▄▀ █ ▄ █ \n ▀█▀▀ ▀▀▄█▄▄ \n ██▄█▄█▄█▄███ \n ▄▄█▀████▀███ \n █▄█▄▄▀▀▀▀▄▄█▄█ "], ["sleep_1", " \n ▄▄ \n ▄▀▀▀▀▀▄█ \n █████████ \n ▄▀ █ ▄▄ █ \n ▀█▀▀ ▄█▄ \n █▄█▄█▄█▄██▄ \n ████████████ "], ["sleep_2", " \n \n ▄▄▄▄▄▀█ \n ▄█▄▄▄▄▄██ \n █▀▀█▀▀▀▀█ \n █▄▄▄▀ ▀▀ █ \n █ ▄ ▄ ▄▀██▄ \n ████████████ "], ["walk_1", " ▄▄▄▄▄▀█ \n ▄█▄▄▄▄▄██ \n █▀▀█▀▀█▀█ \n █▄▄▄▀ ▀▀ █ \n ▄█ ▄ ▄ ▄▀███ \n ▀██████████▀ \n ▄▄█▀██▀██▄ \n █▄█▄▄█▀▄▄█▄█ "], ["walk_2", " ▄▄ \n ▄▀▀▀▀▀▄█ \n █████████ \n ▄▀ █ ▄█ █ \n ▀█▀▀ ▄█▄▄ \n ██▄█▄█▄█▄███ \n ▄▄█▀████▀███ \n █▄█▄▄▀▀▀▀▄▄█▄█ "]]], + ["heavyleomon", [["angry", " ▄▀▀█▀█▀▀▀▀█ \n █▄▀▀▀▀▄█ ▀▄▄\n █ ▄█ ▄█▄▄ ▄▀\n ▄███▄ █▄▄▄██ \n █ █▀▀ █▄▄██ █ \n ▀█▀▀▀ ▄█▀▄▄▀ \n ▄█▀▀▄█▄█▄▄█ \n █▄█▄██ █▄█▄▄█ "], ["attack", " ▄▄▄▄▄▄▄▄▄▄ \n ▄▀▄▄█▄▀▄ ▄▀ \n ▄▀▀ ▄▄ ▀█ ▀█\n █▄▄▀▀ ▄▀▀▀█▄▀ \n ▀▄▄▄▄▄▀▀▀█ ▀▄ \n ▄█▀ ▄ ▀██▀▀▄▀ \n █ █▄▄ ▄▀█ ▄█ \n█▄█▄▄█▀▀▀███▄▄█ "], ["eat_1", " ▄▄▄▄▄▄▄▄▄▄ \n ▄▀▄▄█▄▀▄ ▄▀ \n ▄▀▀ ▄ ▀█ ▀█\n █▄▄▀ ▀▄▀▀▀█▄▀ \n ▀▄▄▄▄▄▀▀▀█ ▀▄ \n ▄█▀ ▄ ▀██▀▀▄▀ \n █ █▄▄ ▄▀█ ▄█ \n█▄█▄▄█▀▀▀███▄▄█ "], ["eat_2", " ▄▀▀█▀█▀▀▀▀█ \n █▄▀▀▀▀▄█ ▀▄▄\n █ ▀▀ ▄█▄▄ ▄▀\n ███▄ █▄▄▄▀█ \n █▀▀ █▄▄▄█▄ █ \n ▄▀█▀▀▀ ▄█▀ █ \n ▀▄█▀▀▄█▄█▄▄█ \n █▄█▄██ █▄█▄▄█ "], ["happy", " ▄▀▀█▀█▀▀▀▀█ \n █▄▀▀▀▀▄█ ▀▄▄\n █ ▄▀▄ ▄█▄▄ ▄▀\n ████ █▄▄▄▀█ \n █▀ █▄▄▄█▄ █ \n ▄▀█▀▀▀ ▄█▀ █ \n ▀▄█▀▀▄█▄█▄▄█ \n █▄█▄██ █▄█▄▄█ "], ["injured_1", " \n \n ▄▀▀█▀█▀▀▀▀█ \n █▄▀▀▀▀▄█ ▀▄▄\n █ █▄ ▄█▄▄ ▄▀\n █▀▀ █▄▄▄▀█ \n▄▀█▀█▀▀▀▄▄▀█▀▄█ \n█▄▄▄█▄▄▄██▄▄▄█ "], ["injured_2", " \n \n ▄▄▄▄▄▄▄▄▄▄ \n ▄▀▄▄█▄▀▄ ▄▀ \n ▄▀▀▄ ▀█ ▀█ \n █ ▀▀ ▄▀▀▀█▄▀ \n▄▀█▀▄▄▄█▀█▀█▀█▄ \n█▄▄▄█▄▄▄██▄▄▄█▀ "], ["refuse", " ▄▄▄▄▄▄▄▄▄▄ \n ▄▀▄▄█▄▀▄ ▄▀ \n ▄▀▀ ▄ ▀█ ▀█\n █▄▄ ▀▀▄▀▀▀█▄▀ \n ▀▄▄▄▄▄▀▀▀█ ▀▄ \n ▄█▀ ▄ ▀██▀▀▄▀ \n █ █▄▄ ▄▀█ ▄█ \n█▄█▄▄█▀▀▀███▄▄█ "], ["sleep_1", " \n ▄▄▄▄▄▄▄▄▄▄ \n ▄▀▄▄█▄▀▄ ▄▀ \n ▄▀▀ ▀█ ▀█\n █▄▄▀▀ ▄▀▀▀█▄▀ \n ▀▄▄▄▄▄▀▀▀█ ▀▄ \n▄▀█▀█ ▀█▀█▀▄▀ \n█▄▄▄█▄▄▄██▄▄▄█ "], ["sleep_2", " \n \n ▄▀▀█▀█▀▀▀▀█ \n █▄▀▀▀▀▄█ ▀▄▄\n █ ▄▄ ▄█▄▄ ▄▀\n █▀▀ █▄▄▄▀█ \n▄▀█▀█▀▀▀▄▄▀█▀▄█ \n█▄▄▄█▄▄▄██▄▄▄█ "], ["walk_1", " ▄▀▀█▀█▀▀▀▀█ \n █▄▀▀▀▀▄█ ▀▄▄\n █ ▄█▀ ▄█▄▄ ▄▀\n █▀▀ █▄▄▄▀█ \n ██▀▀▀▄▄▄█▄ █ \n ▄▀█ ▀ ▄█▀ █ \n ▀▄█▀▀▄█▄█▄▄█ \n █▄█▄██ █▄█▄▄█ "], ["walk_2", " ▄▄▄▄▄▄▄▄▄▄ \n ▄▀▄▄█▄▀▄ ▄▀ \n ▄▀▀ ▄▄ ▀█ ▀█\n █▄▄▀▀ ▄▀▀▀█▄▀ \n ▀▄▄▄▄▄▀▀▀█ ▀▄ \n ▄█▀ ▄ ▀██▀▀▄▀ \n █ █▄▄ ▄▀█ ▄█ \n█▄█▄▄█▀▀▀███▄▄█ "]]], + ["herculeskabuterimon", [["angry", "▄█ ▄█▀ ▀█▄ █▄ \n██▄█████▄██ ██▄ \n▀█████▀▀███▄███ \n ▀█████████████▄\n █▄▀▄▀▄▀█▀▀███\n ▄▀ █▀▀█▀▀█▀▄ ██\n ▀▄▄█▀▀█▀▀█▄▄▄▀▀\n █▄█▄██▀▀█▄▄█▄█ "], ["attack", "▄█ ▄█▀ ▀█▄ █▄ \n██▄███▀█▄██ ██▄ \n▀████▄▄████▄███ \n ▀ ▀ ▀████████\n ██▀█████\n▄▀▄▄▄▄▄██▀▄ █▀██\n▀▄▄█▄█▄▄█▄▄▄█ ▀▀\n █▄█▄██▀█▄▄█▄█ "], ["eat_1", "▄█ ▄█▀ ▀█▄ █▄ \n██▄█████▄██ ██▄ \n▀████ ▄████▄███ \n ▀█▀█▀▀ ████████\n ██▀█████\n▄▀▄▄▄▄▄██▀▄ █▀██\n▀▄▄█▄█▄▄█▄▄▄█ ▀▀\n █▄█▄██▀█▄▄█▄█ "], ["eat_2", "▄█ ▄█▀ ▀█▄ █▄ \n██▄█████▄██ ██▄ \n▀████ ▄████▄███ \n ▀████▀█████████\n ▀▄▄▄▄▄██▀█████\n ▄▀█▄█▄▄█▀▄ █▀██\n ▀▄█▄█▄▄█▄▄▄█ ▀▀\n █▄█▄██▀█▄▄█▄█ "], ["happy", "▄█ ▄█▀ ▀▀█▄ ▄█\n██▄██████▄██ ███\n▀████ ▄████▀▄███\n▄▀█▀▀▀▀ █▀▀▀████\n█ █ █▀ █▀██\n▀▄▀▄▄▄▄██ ▄█▀ ▀█\n ▀▄█▄█▄▄███▄▄ █\n █▄▄██▀▀█▄▄█▄█ ▀"], ["injured_1", " \n ▄▄ ▄▄ ▄ \n▄█ ██▄▄▄ ██ ██ \n███████████ ███ \n▀█████▀████████▄\n▄▀█▀▀▀█▄█▀██▀███\n█ █▀█▀▀▀█ ███\n█▄█▄█▄▄██▄▄▄▄███"], ["injured_2", " \n \n ▄█▀ ▀█▄ █▄ \n▄█ █████▄██ ██▄ \n███████████████ \n▄▀████▀██▀██▀███\n█ ▀███▄▄█ ███\n█▄█▄▄█▄▄█▄▄▄▄███"], ["sleep_1", " \n ▄▄ ▄▄ █▄ \n ▄ ██▄▄▄ ██ ██▄ \n██▄████████▄███ \n████████████████\n▄▀████▄▄█▀▄▄▀███\n█ █▄▄▄██ ███\n█▄▄█▄█▄▄█▄▄▄▄██▀"], ["sleep_2", " \n▄█ ▄█▀ ▀█▄ █▄ \n██▄█████▄██ ██▄ \n▀██████████▄███ \n ▀████▄▄████████\n▄▀▄█▄▄▄██▀▄▄▀███\n█ █▄█▄▄█ ███\n█▄▄█▄█▄▄█▄▄▄▄██▀"], ["walk_1", "▄█ ▄█▀ ▀█▄ █▄ \n██▄█████▄██ ██▄ \n▀█████▀ ███▄███ \n ▀████▀█████████\n █▄▄▄▄███▀▀███\n █▀▄█▄█▄▄▄█▀▄ ██\n ▀▄▄█▄█▄▄▄█▄▄▄▀▀\n █▄█▄██▀▀█▄▄█▄█ "], ["walk_2", "▄█ ▄█▀ ▀█▄ █▄ \n██▄█████▄██ ██▄ \n▀█████ ▄███▄███ \n ▀████▀█████████\n █▄▄▄▄█▀█▀ ███\n █ █▄█▀▄ █▀▄ ▀█\n ▀▀▄█▄▄▄█ █ ▀\n ▀▀█▄▄▀ "]]], + ["herissmon", [["angry", " ▄ ▄▄▄▄▄▄▄ \n █ ▀▄▄▄▄ ▄▀▄ \n ▄▄█▄▀ ▄▄ ▀▀█▄▀▄\n █▀ ▀▀ ▄▀▄▀▄\n █▀▀▀ ▄█▄█▄\n ▀█ ▄ ▄ ▄▄ █▄\n ▄▄█ ▀ ▀ ▀▄▄█▄\n█▄█▄█▄▄▄▄▄██▄█▄█"], ["attack", " ▄▀▄▀▀▀▀▀▀█ \n▄▄▄█▄▄▀▀▀▀▄█▄▀▄ \n█▀ ▄█▀ █▀▄▀\n ▀████▄ ▀▄▀▄▀\n █████ ▄█▄▀▄▀\n █▄▄▄ ▄ ▄ ▄ █▄▀\n ▀▄▀ ▀ ▀ █▄▄█▄▀\n █▄█▄█▀▀▀██▄█▄█ "], ["eat_1", " ▄▀▄▀▀▀▀▀▀█ \n █ ▄▀▀▀▀▄█▄▀▄ \n ██▀▀ ▄▄▄ █▀▄▀\n ▀▄▄▄▄▄ ▀▄▀▄▀\n ▄████▀ ▀█▀▄▀\n█ ▀▄▄▄▀▄▀ ▄ █▄▀\n ▀▄▀▀ ▀▄▄█▄▀\n █▄█▄█▀▀▀██▄█▄█ "], ["eat_2", " ▄ ▄▄▄▄▄▄▄ \n █ ▀▄▄▄▄ ▄▀▄ \n ▄▄█▄▀ ▄ ▀▀█▄▀▄\n █▀ █▀█ ▄▀▄▀▄\n █▀▀▀ ▄▀▄▀▄\n ▄▀█ ▄ ▄ ▀▄▀▄\n █▄█ ▀ ▀ ▀▄▄██ \n█▄█▄█▄▄▄▄▄██▄█▄█"], ["happy", " ▄▀▄▀▀▀▀▀▀█ \n █ ▄▀▀▀▀▄█▄▀▄ \n ██▀▀ ▄█▄ █▀▄▀\n ▀▄▄▄▄▀ ▀ ▀▄█▄▀\n ███ ▄▀ █▀\n █▀▀ ▄ ▄ ▄▄▄▀▄▀\n ▄▀▀▀ ▀ ▀█▄▀\n █▄█▄█▀▀▀██▄█▄█ "], ["injured_1", " \n ▄ ▄▄▄▄▄▄▄ \n █ ▀▄▄▄▄ ▄▀▄ \n ▄▄█▄▀ ▀▀█▄▀▄\n █▀ ▀▄▄ ▄▀▄▀▄\n █▀▀▀ ▀▄▀▄\n ▄█▀█▀ ▄█ ▄ █ \n █▄▄▄█▄█▄▄▄█▄▄▄█"], ["injured_2", " \n \n ▄▀▄▀▀▀▀▀▀█ \n █ ▄▀▀▀▀▄█▄▀▄ \n██▀▀ ▄ █▀▄▀ \n▀▄▄▄▄ ▀▀ ▀▄▀▄▀ \n ▀▄▄▄▄ ▄█ ▄▀▄█ \n █▄▄█▄▄█▄▄▄█▄▄▄█"], ["sleep_1", " \n ▄ ▄▄▄▄▄▄▄ \n █ ▀▄▄▄▄ ▄▀▀▄ \n▄▄█▄▀ ▀▀█▀▄▀ \n█▀ ▀▀ ▄▀▀▄▀ \n █▀▀▀ ▄██▄▀ \n ▄▀█ ▄ ▄ █ ▀ ▀▄\n █▄▄█▄█▄▄▄█▄▄▄▄█"], ["sleep_2", " \n ▄▀▄▀▀▀▀▀▀█▄ \n █ ▄▀▀▀▀▄█▄▄▀▄\n ██▀▀ ▄▄ █▄▀▄\n ▀▄▄▄▄ ▀▄▄▀▄\n █▄▄ █▄▄▀▄\n █ ▀▄▀▄▀ █ ▀ ▀▄\n █▄▄▄█▄▄▄▄█▄▄▄▄█"], ["walk_1", " ▄▀▄▀▀▀▀▀▀█ \n █ ▄▀▀▀▀▄█▄▀▄ \n ██▀▀ ▄█▀ █▀▄▀\n ▀▄▄▄▄▀▀▀ ▀▄▀▄▀\n ▀▄▄ ▄█▄▀▄▀\n ▄▀▄▀▄▀▄▀ ▄ ▀█▄▀\n ▀▄▀ ▀▄▄█▄▀\n █▄█▄█▀▀▀██▄█▄█ "], ["walk_2", " ▄ ▄▄▄▄▄▄▄ \n █ ▀▄▄▄▄ ▄▀▄ \n ▄▄█▄▀ ▄▄ ▀▀█▄▀▄\n █▀ ██▄ ▄▀▄▀▄\n █▀▀▀ ▄▀▄▀▄\n ▄▀█ ▄ ▄ ▀▀█▄▀▄\n █▄█ ▀ ▀ ▀▄▄██ \n█▄█▄█▄▄▄▄▄██▄█▄█"]]], + ["hexeblaumon", [["angry", " \n \n ▄ \n ▄▀▀ \n ▄ \n▄▀▀ ▀ █ \n▀▄▄▀▄▄▄ ▀▄▄██▄ \n█▄▄▀█▀ ▀▄▄▄█▀▀▀ "], ["attack", " █▀▄▀▀▀▀▄▀▄▄▀▀█\n ▀▄▄▀▀▀█ ▄▀ ▄█▄\n █ ▄▀█ ▀█▄▀ ▄▀\n █▀▀▀ ▄▀ █▀▀█\n ▄ █▀▀██▀▄▄▀▄▀ \n▄▀ ▀ ▀█ ▄█▀▀▀▀▄\n ▀▄▀█▀▀██▀ ▀███▄\n █▄▄▄█ ▀▄▄▄█▀▀"], ["eat_1", "█▀▄▀▀▀▀▄▀█ ▄▄▄ \n█▄▀▄▀▀█ ▄▀▄▀ ▄█▄\n█ ▄▀█ ▀█▀▄█▀ ▄▀\n▀▄▄▄▄▄ █ █ █▀▄ \n ▄█▀▀▄▀ ▀▄▄█▀▄ █\n█ █▀▄ ▄█▄▀ ▀▀▀\n ▀█ ███ ▀██▄ \n █▄▄▀ ▀█▄▄▄▀▀▀ "], ["eat_2", " \n \n ▄ \n ▀ ▀ \n \n▄▀▀ ▀ ▄▀ \n▀▄▄▀▄▄▄ ▀▄▄▄█▄ \n█▄▄▀█▀ ▀▄▄▄█▀▀▀ "], ["happy", "█▀▄▀▀▀▀▄▀█ ▄▄▄ \n█▄▀▄▀▀█ ▄▀▄▀ ▄█▄\n█ ▄▀▄ ▀███▄▀ ▄▀\n▀▄▄▄▄▄ █ █ █▀▄ \n ▄█▀▀▄▀ █ ▄▀▀▄ █\n█ ▀█▀▄ ▄██▄ ▀▀\n ▀█ ███ ▀██▄ \n █▄▄█▀ ▀▄▄▄▀▀▀ "], ["injured_1", " ▄ \n█▀▄▀▀▀ █▀█ ▄▄▄ \n█▄▀▄▀▀█ ▄▀▄▀ ▄█▄\n█ █▄ ▀█▀▄▄▀ ▄▀\n▀█▀▀ ▄▄▀█ █▄▀ \n ▄▀█▀▄ █▀▄▄█ ▀▄\n▄█ █▄▄▀▀ █▀█▄▀\n█▄▄▄███▄▄▄▀▄▄▄█ "], ["injured_2", " \n▄▄ ▄▄▄▀▄▄▄ ▄▄▄ \n█ █ ▄▄▄▀ █▄▀ ▄█▄\n█▀ ▀▄ ▀▄█▀▄▄▀ ▄▀\n█▄▄▄▀▀ ▄█ █▄▀ \n ▀▄▄▄█▀ █▀▄▄█ ▀▄\n▄█ ▀█▄▄▀▀ █▀█▄▀\n█▄▄▄███▄▄▄▀▄▄▄█ "], ["sleep_1", " \n█▀▄▀▀▀▀▄▀█ ▄▀▀█ \n█▄▀▄▀▀█ ▄█▀ ▄▀▄ \n█ ▄▄ ▀█ ▀▀▄ █ \n ▀█▀ ▄▄▀▀▄▄▄██▄ \n ▄▄▀█ ▀▄▄█▀ █ █\n █ ▀▀██ ▀▄▄▀ ▀▀\n █▄▄▄██▄▄▄█▀█▄ "], ["sleep_2", " ▄▄ ▄▄▄▄ ▄▄ \n █ █ ▄▄▄▀ █ ▄▀▀█\n █▀ ▀ ▀▄█▄▀ ▄▀▄\n ▀▄▄▄▀▀ ▄█ ▀▀▄ █\n ▀▄▄▀▀ ▀▄▄▄██ \n ▄▄▀█ ▀▄▄█▀ █ █\n █ ▀▀██ ▀▄▄▀▀▄█\n █▄▄▄██▄▄▄█▀█▄ "], ["walk_1", " \n \n \n \n \n \n \n "], ["walk_2", " \n \n \n \n \n ▄ \n ▄▀ ▄▄▄ ▀▄▄▄▄ \n█▄▄▀█▀ ▀▄▄▄█▀▀▀ "]]], + ["hiandromon", [["angry", " ▄▄▄▄▄ \n █▀██▀▄█ \n █▀▄█▀▀▀▀██▄▄▀█ \n ▄█ █▄██▄██ █ \n█ ▀███▄▄██▀██▀▄ \n█▄▄█▄▄█▄▄█ ██▀ \n ▄███▀████▀ \n █▄▄██ ██▄▄█ "], ["attack", " ▄▄▄▄▄ \n ███▀ ██ \n █▀█▀▀▀▀██ ▄▄ \n ████▄▄██▀▀▄█ \n█▀██▀█▄▄███▄▄█▄ \n▀▀▀▀█▄█▄▄██▀█▄█ \n ▄████▀▀███▄ \n ██▄▄█ ██▄▄█ "], ["eat_1", " ▄███▀█▄ \n ▄▄ █▄█▄█▄█ ▄▄ \n ▀▄▀█ ▄▄ ██▀▀▄█ \n █▄██▀▀███▄▄█ \n ██▄▀▀█▀▀████▄█ \n█▀██▀█████▀ ▀█▀█\n▀▀▀▄███▀███▄ ▀▀▀\n █▄▄██ ██▄▄█ "], ["eat_2", " ▄▄▄▄▄ \n █▀██▀▀█ \n █▀▄█▀▀▀▀██▄▄▀█ \n █ █▄██▄██ █ \n ▄█▀██▄▄█████▀▄ \n▄███▄▄█▄▄█▀▀███▄\n█▄█████▀███▄ █▄█\n █▄▄██ ██▄▄█ "], ["happy", "▄▄ ▄███▀█▄ ▄▄▄\n█▄█ █▄█▄█▄█ █▄█\n █▀██ ▄▄ ████▀█ \n █▀██▀▀███▀▀█ \n █▀▄▀▀█▀▀██▄▄▀█ \n ▀▀▀▀█████▀ ▀▀ \n ▄███▀███▄ \n █▄▄██ ██▄▄█ "], ["injured_1", " \n ▄███▀█▄ \n ▄▄ ████▄▄█ ▄▄ \n ▀▄▀█ ▄▄ ██▀▀▄▀ \n █▄██▀▀███▄▄█ \n ██▄▀▀█▀▀████▄█ \n █▀████████▄█▀█ \n ▀█▄▄█████▄▄█▀▀ "], ["injured_2", " \n ▄▄▄▄▄ \n ████ ▀█ \n █▀▄█▀▀▀▀██▄▄▀█ \n █ █▄██▄██ █ \n ▄█▀██▄▄█████▀▄ \n █▀█▄▄█▄▄██▀█▀█ \n ▀█▄▄█████▄▄█▀▀ "], ["sleep_1", " \n ▄▄▄▄▄ \n ████▀▀█ \n █▀▄█▀▀▀▀██▄▄▀█ \n █ █▄██▄██ █ \n ▄█▀██▄▄█████▀▄ \n █▀█▄▄█▄▄██▀█▀█ \n ▀█▄▄█████▄▄█▀▀ "], ["sleep_2", " \n ▄█████▄ \n ▄▄ ████▄▄█ ▄▄ \n ▀▄▀█ ▄▄ ██▀▀▄▀ \n █▄██▀▀███▄▄█ \n ██▄▀▀█▀▀████▄█ \n █▀████████▄█▀█ \n ▀█▄▄█████▄▄█▀▀ "], ["walk_1", " ▄█████▄ \n ▄▄ █▄██▄▄█ ▄▄ \n ▀▄▀█ ▄▄ ██▀▀▄█ \n █▄██▀▀███▄▄█ \n ██▄▀▀█▀▀████▄█ \n█▀██▀█████▀ ▀█▀█\n▀▀▀▄███▀███▄ ▀▀▀\n █▄▄██ ██▄▄█ "], ["walk_2", " ▄▄▄▄▄ \n █▀██▀▀█ \n █▀▄█▀▀▀▀██▄▄▀█ \n █ █▄██▄██ █▀ \n ▄█▀██▄▄█████▀▄ \n▄███▄▄█▄▄█▀▀███▄\n█▄████▀▀▀██▄▄▀▄█\n █▄▄██ ██▄▄█ "]]], + ["hippogryphonmon", [["angry", " ▄▄▄▀▀▀▀▀▄▀▀█▀ \n█ █ ▄█ ██▄▄▄▄\n█ ▄▄█ ▄▀ ▄▄▄▄▀\n ████▄▄▀ ▄▄▄▀ \n ▀▄▄▀ ▀ ▀ ▀▄▄ \n ▀▄ █▀ █ █ ▀▄▀\n █ █ █▀▀▀█▀▄ █\n █▄▄███ █▄█▄▄█"], ["attack", " ▄▄▀▀▀▀▀▄▀▀█▀ \n▄▀ █ ▄█▀ ██▄▄▄▄\n█ █ ▄▀ ▄▄▄▄▀\n▀▄▀█ ▄▄▀ ▄▄▄▀ \n ▄▀▀ ▀ ▀ ▀▄▄ \n █ ▄█ █ █ ▀▄▀\n ▀▀▀█ █▀▀▀█▀▄ █\n █▄▄█ █▄█▄▄█"], ["eat_1", " ▄▄▀▀▀▀▀▄▀▀█▀ \n▄▀ █ ▄▀▄ ██▄▄▄▄\n█ █ ▄▀ ▄▄▄▄▀\n▀▄▀█ ▄▄▀ ▄▄▄▀ \n ▄▀▀ ▀ ▀ ▀▄▄ \n ▀▄ ▄ █ █ ▀▄▀\n █ █ █▀▀▀█▀▄ █\n █▄█▄▄█ █▄█▄▄█"], ["eat_2", " ▄▄▄▀▀▀▀▀▄▀▀█▀ \n█ █ ▄█▀ ██▄▄▄▄\n█ ▄▄█ ▄▀ ▄▄▄▄▀\n▀████▄▄▀ ▄▄▄▀ \n ▀▄▄▀ ▀ ▀ ▀▄▄ \n ▀▄ ▄ █ █ ▀▄▀\n █ █ █▀▀▀█▀▄ █\n █▄█▄▄█ █▄█▄▄█"], ["happy", " ▄▄▄▀▀▀▀▀▄▀▀█▀ \n█ █ ▄▀▄ ██▄▄▄▄\n█ ▄▄█ ▄▀ ▄▄▄▄▀\n▀████▄▄▀ ▄▄▄▀ \n ▀▄▄▀ ▀ ▀ ▀▄▄ \n ▀▄ █▀ █ █ ▀▄▀\n █ █ █▀▀▀█▀▄ █\n █▄▄███ █▄█▄▄█"], ["injured_1", " \n \n ▄▄▄▄ ▄▄▄▄ \n ▄█▀ ▀▄▄▀ \n▄▀ █ █▄ ▄▀▀▀▀▀█\n█ ▄▄▀ ▄▀ ▀▀█▀ \n █▄█▄▀█ ▄▀█▀▀▄ \n█▄█▄▄▄▄█▄▄█▄▄▄▄█"], ["injured_2", " \n \n \n ▄▄▀▀▀▀▄▀▀█▀ \n ▄▀█ ▄ ██▄▄▄▄\n█ ▀▄▀▀ ▄▀ ▄▄▄▀\n▀▄██▄▀█▀ ▄▀█▀▀▄ \n█▄█▄▄▄▄█▄▄█▄▄▄▄█"], ["refuse", " ▄▄▄ \n ▄▄▀▀▀▀▀▄▀▄▀ \n▄▀ █ ▄█ ▀█▀▀▀█\n█ █ ▄▀▀▀█▀ \n▀▄▀█ ▄▄▀▀ ▄▀█ \n ▄▀▀ ▀ ▀ █▀▄\n ▀▄ █ ▄█▄█▄ ▀▄\n █▄█▄▄█ █▄█▄▄█"], ["sleep_1", " \n \n ▄▄▀▀▀▀▀▄▀▀█▀ \n▄▀ █ ▄▄ ██▄▄▄▄\n█ █ ▄▀ ▄▄▄▄▀\n▀▄▀█ ▄▄▀ ▄▄▄▀ \n▄▀█▀▀ █ ▀ ▄ ▀▄ \n█▄█▄▄▄▄█▄▄█▄▄▄▄█"], ["sleep_2", " \n \n ▄▄▄▄▄ ▄▄▄▄ \n ▄▀█ ▀▄▄▀ \n█ ▀▄▀▀ ▄▀▀▀▀▀█\n█ ▄▄▀ ▄▀ ▀▀█▀ \n █▄█▄▀█ ▄▀█▀▀▄ \n█▄█▄▄▄▄█▄▄█▄▄▄▄█"], ["walk_1", " ▄▄▀▀▀▀▀▄▀▀█▀ \n▄▀ █ ▄█▀ ██▄▄▄▄\n█ █ ▄▀ ▄▄▄▄▀\n▀▄▀█ ▄▄▀ ▄▄▄▀ \n ▄▀▀ ▀ ▀ ▀▄▄ \n ▀▄ ▄ █ █ ▀▄▀\n █ █ █▀▀▀█▀▄ █\n █▄█▄▄█ █▄█▄▄█"], ["walk_2", " ▄▄▀▀▀▀▀▄▀▀█▀ \n▄▀ █ ▄█▀ ██▄▄▄▄\n█ █ ▄▀ ▄▄▄▄▀\n▀▄▀█ ▄▄▀ ▄▄▄▀ \n ▄▀▀ ▀ ▀ ▀▄▄ \n █ ▄█ █ █ ▀▄▀\n ▀▀▀█ █▀▀▀█▀▄ █\n █▄▄█ █▄█▄▄█"]]], + ["hisyaryumon", [["angry", " ▄▄▄▄▄▄▄ \n ▄█▀▀▀▀ ▄█▄▄ \n ▄▀ ▄█ ▄▄█▄ \n█ ▀▀▄ \n▀▄▄▀██▀▀▀█ █▀▄ \n ▄█ ▄█▀█▄▄█ █\n █ █▀█ ▄▀█▀▄ █\n ▀▀▀████▄▄▀▀▀ "], ["attack", " ▄▄▄███▀▀█▀ \n ▄▀▀ ▄█ ▀█▀▀ \n█ ▄▄▄▄▄ ▄█▀▀▀ \n ▀██▀▀▀█ ▄▄▀ ▄▄ \n ▄▀▀▀▀▀▀▄█▄ █ █\n ▄▀▀█▀▀█▀ █▄█ █\n ▀▄▄█▀▀▀▄▄▀█▀▄▄▀\n ▀█▄▄█▄▄▀▀ "], ["eat_1", " ▄▄▄███▀▀█▀ \n ▄▀▀ ▄ ▀█▀▀ \n█ ▄▄▄▀ ▀▄▄█▀▀▀ \n ████ ▄▄▄▀ ▄▄ \n ▀▄▄▄▄▀▀▀█ █ █\n ▄█ ▄█▀█▄▄█ █\n █ █▀█ ▄▀█▀ ▄▀\n ▀▀▀████▄▄▀▀ "], ["eat_2", " ▄▄▄▄▄▄▄ \n ▄█▀▀▀▀ ▄█▄▄ \n ▄▀ ▄▀▄ ▄▄█▄ \n█ ▀▀▄ \n▀▄▄▀██▀▀▀█ █▀▄ \n ▄█ ▄█▀█▄▄█ █\n █ █▀█ ▄▀█▀▄ █\n ▀▀▀████▄▄▀▀▀ "], ["happy", " ▄▄▄███▀▀█▀ \n ▄▀▀ ▄▀▄ ▀█▀▀ \n█ ▄▄▄▄ ▄▄█▀▀▀ \n ████▀ ▄▄▄▀ ▄▄ \n ▀▄▄▄▄▀▀▀█ █ █\n ▄▀█ ▄▀▀ █▄▄█ █\n ▀▄█▀▀▄▄▀▀█▀▄▄▀\n ▀▀█▄▄█▄▄▀▀ "], ["injured_1", " \n ▄▄███▀▀█▀ \n ▄▀▀ ▀█▀▀ \n▄▀ █▄ ▄▄█▀▀▀ \n█ ▄▄▄▄▄▄▄▀ \n ▀▀▄▀▀ ▄▄█▄ ▄▄▄ \n▄▀▀█▄▀▀ ███▀▄ █\n▀▄▄▄█▄▄▄██▄▄▀▀▄█"], ["injured_2", " \n ▄▄▄▄▄▄▄ \n ▄█▀▀▀▀ ▄█▄▄ \n ▄▀ ▄ ▄▄█▄ \n█ ▀▀ ▀▀▀▄ \n▀▄▄██▀▀███▄ \n ▄▀█ ▄▀▀ ██▀▀▀▄\n ▀▄▄██▄▄▄█▄▄██▄█"], ["sleep_1", " \n ▄▄███▀▀█▀ \n ▄▀▀ ▀█▀▀ \n▄▀ ▄▄ ▄▄█▀▀▀ \n█ ▄▄▄▄▄▄▄▀ ▄ \n ▀▀ █▀ ▄█▄▄ █ █\n ▄▀▀█▄▀▀ ███▀ █\n ▀▄▄██▄▄▄██▄▄█▄▀"], ["sleep_2", " ▄▄▄▄▄▄▄ \n ▄█▀▀▀▀ ▄█▄▄ \n ▄▀ ▄▄█▄ \n█ ▀▀ ▀▀▀▄ \n▀▄▄▀██▀▀▀█ █▀▄ \n ▄█ ▄█▀█▄▄█ █\n █ █▀█ ▄▀█▀▄ █\n ▀▀▀████▄▄▀▀▀ "], ["walk_1", " ▄▄███▀▀█▀ \n ▄▀▀▄▄ ▀█▀▀ \n▄▀ ▀▀ ▄▄█▀▀▀ \n█ ▄▄▄▄▄▄▄▀ \n ▀▀ █▀ █▀ █▀▄ \n ▄▀█ ▄▀▀ █▄▄█ █ \n ▀▄█▀▀▄▄▀▀█▀▄ █ \n ▀█▄▄█▄▄▀▀▀ "], ["walk_2", " ▄▄▄▄▄▄▄ \n ▄█▀▀▀▀ ▄█▄▄ \n ▄▀ ▄█▀ ▄▄█▄ \n█ ▀▀▀▄ \n▀▄▄▀██▀▀▀█ █▀▄\n ▄█ ▄█▀█▄▄█ █\n █ █▀█ ▄▀█▀▄ █\n ▀▀▀████▄▄▀▀▀ "]]], + ["hiyarimon", [["angry", " ▄▄▄ ▄▄▄ \n ▄▀ ▀▀▀▀ ▄▀ \n █▄ ▄ █ \n █▀█▄▄ ▀▀ █ \n █▀▀ ▀▄ ▄█ \n █▀▀█▀▀▀▀▀▀▀█▄▀ \n █ █ █ █▀▄\n ▀▄█▄▄▄▄█▄▄███"], ["attack", " ▄▀▀█▄▄▄▀▀█ \n ▄▀ ▀▄ \n ██▄ ▄█ █ \n ▄█▄▀▀▀▄ █ \n▄▀▄▄▄▄▄▄██▄▄▀▄▄ \n█ ▀▄ █ ▀ █▄▀\n ▀▀▀▀█ ▀▀▀▀█▄▀\n ▀▄▄▄▄▄▄▄▄▄█"], ["eat_1", " ▄▀▀█▄▄▄▀▀█ \n ▄▀ ▀▄ \n █ █ █ █ \n █▀▀▀▀▀▄ █ \n █▀▀██▀ █▄▄▄█▀▄ \n █▄▄▄▀ ▄ ▀█▄ \n ▀ █ █ █ █▄▀\n ▀▄█▄▄▄▄█▄▄█▄█"], ["eat_2", " ▄▄▄ ▄▄▄ \n ▄▀ ▀▀▀▀ ▄▀ \n █ ▄ ▄ █ \n █▀▄█▄ ▀ ▀ █ \n █▀▀ ▀▄ ▄█ \n █▀▀█▀▀▀▀▀▀▀█▄▀ \n █ █ █ █ █▀▄\n ▀▄█▄▄▄▄█▄▄███"], ["happy", " ▄▀▀█▄▄▄▀▀█ \n ▄▀ ▀▄ \n █▄▀▄ ▄▀▄ █ \n ██▄▀▀▀▄ ▄▀▀█\n █▄▄▄▄▄▄█▄▄▀ █\n █▀▄▀▄ ▄█ \n▄ ▀█ ▀█▄▀\n ▀▄▄▄▄▄▄▄▄▄█"], ["injured_1", " ▄▄▄ ▄▄▄ \n ▄▀ ▀▀▀▀ ▄▀ \n █ ▄ ▄ █ \n █▀█▄▄ ▀▀ █ \n █▀▀ ▀▄ ▄█ \n █▀▀█▀▀▀▀▀▀▀█▄▀ \n ▄▀ █ ▄▀ █▀▄\n █▄▄▀▄▄█▄▄▄█▄██"], ["injured_2", " \n ▄▀▀█▄▄▄▀▀█ \n ▄▀ ▀▄ \n █▄█ █▄ █ \n▄█▄▀▀▀▄ █▄ \n█▄▄▄▄▄▄█▄▄▄▀▀▄▀ \n▄ ▄▀ █ ▄▀ █▀▄\n █▄▄▀▄▄█▄▄▄█▄██"], ["sleep_1", " \n ▄▀▀█▄▄▄▀▀█ \n ▄▀ ▀▄ \n █▄▄ ▄▄▄ █ \n▄█▄▀▀▀▄ █▄ \n█▄▄▄▄▄▄█▄▄▄█▀▄▀ \n█ █ █ █ █▀▄\n ▀▄█▄▄▄▄█▄▄███"], ["sleep_2", " ▄▄▄ ▄▄▄ \n ▄▀ ▀▀▀▀ ▄▀ \n █ █ \n █▀█▄▄ ▀▀▀ █ \n█▀▀ ▀▄ ▄█▄ \n█▀▀▀█▀█▀▀█▀ ▀▄▀ \n █ █ █ █▀▄\n▄ ▀▄█▄▄▄▄█▄▄███"], ["walk_1", " ▄▀▀█▄▄▄▀▀█ \n ▄▀ ▀▄ \n █ █ █ █ \n ▄█▄▀▀▀▄ █ \n █▄▄▄▄▄▄█▄▄▄█▀▄ \n █ ▄▀▄ ▄ ▀█▄ \n █ █ █ █▄▀\n ▀▄█▄▄▄▄█▄▄█▄█"], ["walk_2", " ▄▄▄ ▄▄▄ \n ▄▀ ▀▀▀▀ ▄▀ \n █ ▄ ▄ █ \n █ █▄▄ ▀ █ \n █▀▀ ▀▄ ▄█ \n █▀▀█▀▀▀▀▀▀▀█▄▀ \n ▀ █ █ █ █▀▄\n ▀▄█▄▄▄▄█▄▄███"]]], + ["hookmon", [["angry", " ▄▄▄▄▄ \n ▄ █▀▄▄███ ▄ \n ▀██▄▄█▀███▀ \n ▀██▄▄█▀▄ \n ▄█▄▄▄▄██▄ ▄\n▄▀▀▀█▄██▄██▀▀▀██\n▀▀ ▄▀▄▀▀▄█▀█▄▄█ \n █▄▄█████▄▄█▀ "], ["attack", " ▄█▀▀██▄ \n ▄█ ██▀███▄█ \n ████▄▄███▀ \n ▄ ▀█▀▀▀██ \n ██▄▄███▀ █ \n ███▄▄██ ▄▄▀ \n █▀ ▄▀██▀▀█ \n █▄▄█ ▀▄▄█ "], ["eat_1", " ▄█▀▀██▄ \n █▄█ ▀████▄█ \n ▀███▀ ██▀ \n ▄▀▀▀▀█▄▀ \n ███▄▄████▄ \n▄▀▀ █▀██▀██ ▀▄▄\n▀▀ █▀▄▄▀█ ▀▄█▀ \n █▄▄█▀▄▄█ ▀ "], ["eat_2", " ▄█▀▀██▄ \n █▄█ ▀████▄█ \n ▀███▀▄▀█▀ \n ▄▀▀▀▀██▀ \n ██▀██▀███▄ \n▄▀▀ █▀██▀██ ▀▄▄\n▀▀ █▀▄▄▀█ ▀▄█▀ \n █▄▄█▀▄▄█ ▀ "], ["happy", " ▄█▀▀██▄ \n █▄█ ▀████▄█ \n ▀███▀▄▀█▀ \n ▄▀▀▀▀██▀ \n ▄▄███▄▄███▀▄▄ \n█▄ █▀██▀██▄ ▄█▀\n █▀▄▄▀█ ▀█▄ \n █▄▄█▀▄▄█ "], ["injured_1", " \n \n ▄█▀▀██▄ \n █▄█ █████▄█ \n ▀███ ▀██▀ \n ▄▀█▀▀▀▀██▀▄▄ ▄\n █ ▄▀█▀▀██▀▄ ▀█\n █▄█████▄█▀▄█ "], ["injured_2", " \n \n ▄▄▄▄▄ \n ▄ █▀▄▄███ ▄ \n ▀██▄█▀████▀ \n ▄███▄▄█▀▄▄ \n▄▀▄█▄▄▄▄██▄ ▀▀▄█\n▀ █▄▄█████▄█▄█▀ "], ["sleep_1", " \n \n ▄▄▄▄▄ \n ▄ █▀▄▄███ ▄ \n ▀██▄▄█████▀ \n ▄▄███▄▄██▄▄ ▄\n█▀ ▄▀▄▄▄▄█▀▄ ▀▀█\n ▀ █▄█████▄█▀▄▄█"], ["sleep_2", " \n \n ▄█▀▀██▄ \n █▄█ ▀████▄█ \n ▀███▀▀██▀ \n▄▄▀▀█▀▀▀▀██▀▀▄▄█\n▀▄ ▄▀█▀▀██▀▄▄ █\n █▄█████▄▄█▀▀█"], ["walk_1", " ▄█▀▀██▄ \n █▄█ ▀████▄█ \n ▀███▀ ██▀ \n ▄▀▀▀▀█▄▀ \n ██▀██▀███▄ \n▄▀▀ █▀██▀██ ▀▄▄\n▀▀ █▀▄▄▀█ ▀▄█▀ \n █▄▄█▀▄▄█ ▀ "], ["walk_2", " ▄▄▄▄▄ \n ▄ █▀▄▄███ ▄ \n ▀██▄▄█▀███▀ \n ▀██▄▄█▀▄ \n ▄█▄▄▄▄██▄ \n ▄▄▀█▄██▄██▀▀▄ \n█▄ ▄▀▄▀▀▄█▀▄ ▄█▀\n █▄▄█████▄▄█▀ "]]], + ["hopmon", [["angry", " ▄▄ \n ▄▀ █ \n █▀▄▀ ▀▄ \n █▀█ ▄ █▄▀█ \n ▄██▄ ▄█ ▀ ▀▄ \n ▀█ ███ █▀ \n █ ███ █ \n ▀▄▄▄▄▄▄▄▀ "], ["attack", " \n \n █▀▄ \n ▄█ ▄▀▄ \n ▄▄▄▀ ▀ ▀▄ ▄▄ \n ▀▄█▄ ▀ ▄▄ █▀▄▀ \n █ ▀ ▀ ▄▀ \n ▀▄▄███▄▄▄▄▀ "], ["eat_1", " \n \n █▀▄ \n ▄█ ▄▀▄ \n ▄▄▄▀ ▀ ▀▄ ▄▄ \n ▀▄█ ▀ ▄ █▀▄▀ \n █▀ ▀ ▀ ▀ ▄▀ \n ▀▄▄███▄▄▄▄▀ "], ["eat_2", " ▄▄ \n ▄▀ █ \n █▀▄▀ ▀▄ \n █▀█ ▄ █▄▀█ \n ▄█▀█ █▀ ▀ ▀▄ \n ▀█ ▄▄▄▄▄ █▀ \n █ █████ █ \n ▀▄▄▄▄▄▄▄▀ "], ["happy", " ▄▄ \n ▄▀ █ \n █▀▄▀ ▀▄ \n █▀█ ▄ █▄▀█ \n ▄█▀▄ ▄▀▄ ▀ ▀▄ \n ▀█ ▄▄▄▄▄ █▀ \n █ ▀███▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_1", " \n \n ▄▄ \n ▄▀ █ \n █▀▄▀ ▀▄ \n █▀▀ ▄ █▀▀█ \n ▄▀▄█ █▄ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n \n █▀▄ \n ▄█ ▄▀▄ \n ▄▄▄▀ ▀ ▀▄▄▄▄ \n ▀▄ ▄ ▀ ▄ ▄▀ \n █▄██▄▄▄██▄▄▄▄█ "], ["refuse", " \n \n █▀▄ \n ▄█ ▄▀▄ \n ▄▄▄▀ ▀ ▀▄ ▄▄ \n ▀▄█ ▀ ▄ █▀▄▀ \n █ ▀▀ ▀▀ ▄▀ \n ▀▄▄███▄▄▄▄▀ "], ["sleep_1", " \n \n █▀▄ \n ▄█ ▄▀▄ \n ▄▄▄▀ ▀ ▀▄ ▄▄ \n ▀▄▀ ▀ █▀▄▀ \n █ ▀▀ ▀▀ ▄▀ \n ▀▄▄███▄▄▄▄▀ "], ["sleep_2", " \n \n ▄▄ \n ▄▀ █ \n █▀▄▀ ▀▄ \n █▀█ ▄ █▄▀█ \n ▄▀▄▄ ▄▄ ▀ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " \n ▄▄ \n ▄▀ █ \n █▀▄▀ ▀▄ \n █▀█ ▄ █▄▀█ \n ▄█ █ █ ▀ ▀▄ \n ▀█ ▄▄▄ █▀ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_2", " \n \n █▀▄ \n ▄█ ▄▀▄ \n ▄▄▄▀ ▀ ▀▄ ▄▄ \n ▀▄█▄ ▀ ▄▄ █▀▄▀ \n █ ▀ ▀ ▄▀ \n ▀▄▄███▄▄▄▄▀ "]]], + ["huckmon", [["angry", " ▄▄▄ ▄▄███\n▄██ ▄▄▀ ▄▄█████▄\n███▀ ▄ ▀████████\n█ ▀ ▄█████████\n▀▄▀▀▀▀▄████████▄\n ▀▀████▄▄▀ ▄▀█▄\n ▄▄▀▀██ █▄▄█▀▀█\n█▄█▄█▄█▄▀ █▄█▄▀"], ["attack", " ▄██ ▄▀▀▀▄▄▄███\n███▄▀▀ ▄███████▄\n█ ▄█▀ ▄███████▀\n█▄█▄▄█▀▄███████▄\n ▀███▀▄████████▄\n ▀▄▄████▀█▀█▀██\n ▄▄▀▀█▀ █▀ ▄█▀▀█\n█▄██▄█▄▀▀▀▀█▄█▄▀"], ["eat_1", " ▄▄ ▄▀▀▀▄▄▄███\n███▄▀▀ ▄██████▄\n█▀▀▄█▀ ▀████████\n▀▄▄▄▄▄▀█████████\n ████ ████████▄\n ▀▄▄▄▄██▄▄▀ ▄▀█▄\n ▄▄▀▀██ █▄▄█▀▀█\n█▄█▄█▄█▄▀ █▄█▄▀"], ["eat_2", " ▄▄▄ ▄▄\n▄██ ▄▄▀ ▄▄█▄███▀\n███▀▄ ▀▀██████▄\n█ ▀ ▀ ▄████████\n▀▄▀▀▀▀▄▄███████▄\n ▀▀████▄▄▀ ▄▀█▄\n ▄▄▀▀▄█▀ █▄▄█▀▀█\n█▄█▄█▄█▄▄▀ █▄█▄▀"], ["happy", " ▄▄███\n ▄▄ ▄▀▀▀█████▄\n███▄▀▀ ▄████████\n█▀▀▄▀▄ ▄██████▀\n█▄▄▄▄▄ ▀███████▀\n ▄▀▀▀▀▄█▄▄▀ ▀██\n ▄█▀██ ▄▀ ▄█▀▀█\n█▄██▄█▄▀▀▀▀ █▄██"], ["injured_1", " \n \n ▄▄ ▄▄▀▀▄ ▄▄██\n███▄▀▀ ▄████████\n█▀▀ █▄ ▄███████▀\n█ ▄▄▄▄▀█████████\n █▄▄▄▄██▀█▀ █▀▀█\n█▄█▄█▄█▄█▄▄█▄█▄▀"], ["injured_2", " \n \n ▄▄ ▄▄\n▄██ ▄▄▀▀▄▄█▄████\n███▀▄ ▀████████\n█ ▀▀▄████████▄\n█▄▀▀▀▀▄████▀████\n█▄██████▄█▄▄█▄▄▀"], ["sleep_1", " \n \n ▄▄ ▄▄▀▀▄ ▄▄██\n███▄▀▀ ▄████████\n█▀▀ ▄▄ ▄███████▀\n█ ▄▄▄▄▀█████████\n █▄▄▄▄██▀█▀ █▀▀█\n█▄█▄█▄█▄█▄▄█▄█▄▀"], ["sleep_2", " \n ▄▄ ▄▄███\n▄██ ▄▄▀▀ ▄█████▄\n███▀ ████████\n█ ▀▀▄█████████\n▀▄▀▀▀▀ ████▀▀██ \n ▄██▄██▀▀█▄▄▀▀█ \n█▄█▄█▄█▄▀██▄█▄█ "], ["walk_1", " ▄▄▄ ▄▄███\n▄██ ▄▄▀ ▄▄█████▄\n███▀▄▄ ▀████████\n█ ▀▀ ▄█████████\n▀▄▀▀▀▀▄████████▄\n ▀▀████▄▄▀ ▄▀█▄\n ▄▄▀▀██ █▄▄█▀▀█\n█▄█▄█▄█▄▀ █▄█▄▀"], ["walk_2", " ▄▄██ \n ▄▄ ▄▀▀▀█████▄\n███▄▀▀ ▄████████\n█▀▀▄█▀ ▄████████\n█ ▄▄▄▄▀████████▄\n ▀▄▄▄▄██▄▄▀ ▀██\n ▄▄▀██ ▄▀ ▄█▀▀█\n█▄██▄█▄▀▀▀▀ █▄██"]]], + ["hudiemon", [["angry", " ▄▀▀▀▀▀▄▀▀█ ▄\n ▄▀▄ ▄▀▀█▄▄▀ ▄▀█\n ▀▄▄█▄▄▄▀ █▄▀ █\n ▀▄▄▄ ▀█▀▀▄ ▄▀ \n ▄████ █ ▄▀ █ \n █ █▄▄▄█▄█▀▄ █\n ▀█ ▄ ▀█ ▀▄▄█\n █▄▄█▀▄▄█ "], ["attack", " ▄▄▄▄▄ ▄▄▄ \n ▄▀ ▄▄▄▀ ▄▀ ▄\n █ ▀▄▀ █▀█ ▄▀█\n █▀▀▀▀▀▄ █▄▀ █\n █ ▀▀ ▄▀▀█ ▄▀ \n ▄▀▀▀▀ ▄▀▄ █ \n █▄█▀▀▀▀█ █ █\n ██▄▄█▄▄▄██ ▀▄█▀"], ["eat_1", " ▄▄▄▄▄ ▄▄▄ \n ▄▀ ▄ ▄▀ ▄▀ ▄\n █ ▀ ▀ ▀█▀█ ▄▀█\n █▀▀▀▀▀▄ █▄▀ █\n █ ▀▀ ▄▀▀█ ▄▀ \n ▄▀▀▀▀ ▄▀▄ █ \n █▄█▀▀▀▀█ █ █\n ██▄▄█▄▄▄██ ▀▄█▀"], ["eat_2", " ▄▀▀▀▀▀▄▀▀█ \n ▄▀▄ ▄▀▀█▄▄▀ ▄█\n ▀▄▄█▄▄▄▀ █ ▄▀ █\n ▀▄▄▄ █▄█▀ ▄▀\n ███▄▀ ▄▀ ▀▄ \n ▄▀▄▄▄▄▄█ ▀▄ ▀▄\n ▀▄█ ▄ ▀█▄▄▀▄ ▄█\n █▄▄█▀▄▄█ ▀▀ "], ["happy", " ▄▀▀▀▀▀▄▀▀█ ▄\n ▄▀▄ ▄▀▀█▄▄▀ ▄▀█\n ▀▄▄█▄▄▄▀ █▄▀ █\n ▀▄▄▄▄ █▀▀▄ ▄▀ \n ███▀ █ ▄▀ █ \n ▄▀▄▄▄▄█▄█▀▄ █\n ▀▄█ ▄ ▀█ ▀▄▄▀\n █▄▄█▀▄▄█ "], ["injured_1", " \n ▄▀▀▀▀▀▄▀▀█ \n ▄▀▄█ █▄█▄▄▀ ▄█\n ▀▄▄▄▄▄▄▀ █ ▄▀ █\n █ ▄▄ █▄█▀ ▄▀\n ▄▀▄▄▄▄▀ ▄▀ ▀▄ \n▄▀█▄▄▄▄▄█ ▀▄ ▀▄\n█▄█▄▄█▄▄█▄▄▀▄▄▀ "], ["injured_2", " \n ▄▄▄▄▄ ▄▄▄ \n ▄▀ ▄▀ ▄▀ ▄█ \n█ ▄█ █▄█▀█ ▄▀ █ \n █▄▄▄▄▄▄ █▀ █ \n █ ▄▄ █▀█ ▄█ \n▄▀█▄▄▄█▄█ ▀▄ ▀▄\n█▄█▄▄█▄▄█▄▄▀▄▄▀ "], ["refuse", " ▄▄▄▄▄ ▄▄▄ \n ▄▀ ▄ ▄▀ ▄▀ ▄\n █▀▀ ▀▀ █▀█ ▄▀█\n █▀▀▀▀▀▄ █▄▀ █\n █ ▀▀ ▄▀▀█ ▄▀ \n ▄▀▀▀▀ ▄▀▄ █ \n █▄█▀▀▀▀█ █ █\n ██▄▄█▄▄▄██ ▀▄█▀"], ["sleep_1", " ▄▄▄▄▄ ▄▄▄ \n ▄▀ ▄▀ ▄▀ ▄\n █▀▀ ▀▀█▀█ ▄▄▀█\n █▀▀▀▀▀▄ █▀ █\n █ ▀▀ ▄▀▀█ ▄▀ \n █ █▀▀▀ ▄▀▄▄ █ \n█▀█▄▄▄▄▄▀█ █ ▄▀\n█▄▄█▄█▄▄▄██▀▄▀ "], ["sleep_2", " \n ▄▀▀▀▀▀▄▀▀█ \n ▄█▄ ▄▄█▄▄▀ ▄█\n ▀▄▄▄▄▄▄▀ █ ▄▀ █\n █ ▄▄ █▄█▀ ▄▀\n ▄▀▄▄▄▄▀ ▄▀ ▀▄ \n█▀█▄▄▄▄▄▀█▀▄ ▀▄\n█▄▄█▄█▄▄▄█▄▀▄▄▀ "], ["walk_1", " ▄▀▀▀▀▀▄▀▀█ \n ▄▀▄ ▄▀▀█▄▄▀ ▄█\n ▀▄▄█▄▄▄▀ █ ▄▀ █\n █ ▄▄ █▄█▀ ▄▀\n ▀▄▄▄▄▀ ▄▀ ▀▄ \n ▄▀▄▄▄▄▄█ ▀▄ ▀▄\n ▀▄█ ▄ ▀█▄▄▀▄ ▄█\n █▄▄█▀▄▄█ ▀▀ "], ["walk_2", " ▄▄▄▄▄ ▄▄▄ \n ▄▀ ▄▄▄▀ ▄▀ ▄\n █ ▀▄▀ █▀█ ▄▀█\n █▀▀▀▀▀▄ █▄▀ █\n █ ▀▀ ▄▀▀█ ▄▀ \n ▄▀▀▀▀ ▄▀▄ █ \n █▄█▀▀▀▀█ █ █\n ██▄▄█▄▄▄██ ▀▄█▀"]]], + ["hyogamon", [["angry", " \n █▀▄▀██▀▀▄ \n ██▀▄▀▀ ▀▀▀█ \n ██ ▄█ ▀███ \n ▄▀█▄▄▄▄▄ █▄█ \n█ ▄█▄▄▄▄▄█▄▀ █ \n█ █▄▄▄ █ █ █▄\n ▀█▄▄▄▄█▀▄▄▄▄█▄█"], ["attack", " ▄▄▄████▀▄ \n ▄▄█▄▄▄▄▄ █▄█▄ ▄\n ▀█ █▄█ ██ █▄█▀█\n█▄▀███████ █ ▀█\n▀▄▄▀█▀█▀██ █ █\n█ █▀▀▀▀▀▀ ▄█▀▀ █\n█▀ ▀█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["eat_1", " █▀▄▀██▀█▄ \n ██▀▄▀▀▄▄▀▀▀█ \n █ ▀ ▀▄██▄█ \n█▄▀███████ ██▄█ \n▀▄██▀▀▀▀██ █ █\n█▄▀ ▄▀▀ ▄█▀▀ █\n██▄▄█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["eat_2", " \n █▀▄▀██▀▀▄ \n ██▀▄▀▀▄▄▀▀▀█ \n ▄▄██ ▀ ▀ ███ \n█ ▄█▄▄▄▄▄▄▀ █▄█ \n█ ▀▄▄▄▄▄▄▄▀ █ \n ▀▀█▄▄▄ █ █ █▄\n █▄▄▄▄█▀▄▄▄▄█▄█"], ["happy", " █▀▄▀██▀█▄ \n ██▀▄▀▀▄▄▀▀▀█ \n █ ▀ ▀▄██▄█ \n█▄▀███████ ██▄█ \n▀▄█▀█▀█▀██ █ █\n█ █▀▀▀▀▀▀ ▄█▀▀ █\n█▀ ▀█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["injured_1", " \n █▀▄▀██▀▀▄ \n ██▀▄█▀▀▀▄▀▀█ \n ▄▄█ █ ▄ ▀█▄█ \n ▀▄█▀ ▀▀ █▄█ \n▄█▄█▀▀▀▀▀▀ ▄▀▄█▄\n█ ▀ █▀▀▀▀█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["injured_2", " \n █▀▄▀██▀▀▄ \n ██▀▄█▀▀▀▄▀▀█ \n █ █ ▄ ▀█▄█ \n █▀ ▀▀ █▄█ \n▄███▀▀▀▀▀ ▄▀▄██▄\n█ ▀ █▀▀▀▀█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["sleep_1", " \n █▀▄▀██▀▀▄ \n ██▀▄█▀▀▀▄▀▀█ \n ▄▄█ █ ▀█▄█ \n ▀▄█▀ ▀▀ █▄█ \n▄█▄█▀▀▀▀▀▀ ▄▀▄█▄\n█ ▀ █▀▀▀▀█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["sleep_2", " \n █▀▄▀██▀▀▄ \n ██▀▄▀▀▀▀▄▀▀█ \n ▄▄█▄ ▄▄ ▄▀█▄█ \n ▀▄▀▄▄▄▄▄▀█ █▄█ \n▄█▄█▀▀▀▀▀▀ ▄▀▄█▄\n█ ▀ █▀▀▀▀█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["walk_1", " █▀▄▀██▀█▄ \n ██▀▄▀▀▄ ▀▀▀█ \n ██ █▀ ▄▀██▄█ \n█▄▀▄▄▄▄█▀█ ██▄█ \n▀▄█▀█▀█▀██ █ █\n█ █▀▀▀▀▀▀ ▄█▀▀ █\n█▀ ▀█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["walk_2", " \n █▀▄▀██▀▀▄ \n ██▀▄▀▀▄ ▀▀▀█ \n ▄▄██ █▀ ▄▀███ \n█ ▄█▄▄▄▄▄▄▀ █▄█ \n█ ▀▄▄▄▄▄▄▄▀ █ \n ▀▀█▄▄▄ █ █ █▄\n █▄▄▄▄█▀▄▄▄▄█▄█"]]], + ["ikkakumon", [["angry", "█▀▀▄▄ \n ▀▄ █▀▀▀▄ \n ▄▀▀▀ ▄▄ █ \n▄▀▀ ▀▀ █ \n█▄▄█▄▄▄ █ ▄▄▄\n█ █ █ █ ▀█ █\n █ ▀ █ ▄▀\n█▄▄█▄▄█▄▄▄█▄▄▀ "], ["attack", "█▀▀▄▄ \n ▀▄ █▀▀▀▄ \n █ ▀▀ ▄▄ █ \n█ ▄ ▀▀ █ \n▀█▀███▀▄ █ \n ▀▄███▄█ ▀▄▀▀█\n ▄▀▀▀▀▀▄▄ ▀▄ ▄▀\n█▄█▀▄▄█▄▄▄▄█▄▀ "], ["eat_1", " █▀▀▄▄ \n ▀▄ █▀▀▀▄ \n █ ▀▀ ▄▀▄ ▀▄ \n █ ▄ ▄ █ \n ▄▀█████▀█ █ \n ▀▄▀█▀▀█▄▀ ▀▄▀█\n ▄█ ▀ █▀ █▄ █\n█▄▄███▄▄█▄▄▄▄█▄▀"], ["eat_2", " █▀▀▄▄ \n ▀▄ █▀▀▄ \n ▄▀ ▀▀ █ \n █▀▄ ▄▀▄ █ \n█ ▄ █ \n █▀█▀▀█▀▄ █ \n █▄▀ ▀▄▀ █ ▀▀▄\n█▄▄▀▄▄▄█▄▄▄█▄▄▄█"], ["happy", " █▀▀▄▄ \n ▀▄ █▀▀▀▄ \n █ ▀▀ ▄ ▀▄ \n █ ▄ ▀ ▀ ▄ █ \n ▄▀█████▀█ █ \n ▀▄█████▄▀ █▄▀█\n ▄█ ▀▀▀▀ █▄ █\n█▄▄█▄▄▄█▄▄▄▄█▄▄▀"], ["injured_1", " █▀▀▄▄ \n ▀▄ █▀▀▄ \n ▄▀ ▀▀ █ \n █▄▀ ▀▄ █ \n█ ▄ █ \n █▀█▀▀▀█▀▄ █ \n▄▀▄▀ ▀▄▀ ▀▀▄\n█▄▄█▄▄▄█▄▄▄█▄▄▄█"], ["injured_2", " ▄▄▄ \n ▀▄ ▀▀▄▄▄ \n ▄▀▄▄▀ ▀▄ \n █ ▄ ▄ ▀▄ \n▄▀▀▀ ▀▀ █ \n▀▄▄▄█▄▄▄▄ ▀▄ \n▄▀▄█▀▀▀█▄▀ ▀▀▄\n█▄▄▄███▄▄▄▄█▄▄▄█"], ["sleep_1", " ▄▄▄ \n ▀▄ ▀▀▄▄▄ \n ▄▀▄▄▀ ▀▄ \n █ ▀▄ \n▄▀▀ ▀▀▀ █ \n▀▄▄▄█▄▄▄ █ \n▄▀▄█ █▄▀ ▀▀▄\n█▄▄▄██▄▄▄▄█▄▄▄▄█"], ["sleep_2", " █▀▀▄▄ \n ▀▄ █▀▀▄ \n ▄▀ ▀▀ ▀▄ \n █▄ ▄▄▄ █ \n█ ▄ █ \n █▀█▀▀█▀▄ ▀▄ \n▄▀▄█ █▄▀ ▄ ▀▀▄\n█▄▄▄██▄▄▄▄█▄▄▄▄█"], ["walk_1", " █▀▀▄▄ \n ▀▄ █▀▀▄ \n ▄▀ ▀▀ █ \n █▄ ▄█ █ \n█ ▄ █ \n █▀█▀▀█▀▄ █ \n █▄▀ ▀▄▀ █ ▀▀▄\n█▄▄▀▄▄▄█▄▄▄█▄▄▄█"], ["walk_2", " ▄▄▄ \n ▀▄ ▀▀▄▄▄ \n ▄▀▄▄▀ ▀▄ \n █ ▄ ▀▄ \n ▄▀▀ ▀▀ █ \n ▀▄▄▄█▄▄▄ ▀▄ \n ▄█ █ █ █ ▄ ▀▀▄\n█▄▄█▄▄▄▄█▄▄▄█▄▄█"]]], + ["imperialdramon_fighter_mode", [["angry", " \n █▀▄▄▄▄▄▄▀█ ▄ \n █▀▀ ▄█ ▀▄█▄██▄ \n █ ▀▀ ▄▀█▀▀▀██▄\n█ █▀▀▀▀▄▀▄▄▄▀▀██\n █ ▀█▀▀ █ █ ▄██\n ▄█▀▀██████▀▀▀▄▀\n █▄█▄▄█ █▄█▄█▄█"], ["attack", " █▀▄▄▄▄▄▄▀█ \n █▀▀ ▄█ ▀▄▀▄\n▄▄▄ █ ▀▀ ▄███\n█▄▄█▀█▀▀▄▄▀█ ██\n█████ ▀ █▄▄██\n ██▀▀▀▀▀ ▄▀██\n▄▄▀▀▀██████▀▀▀▄▀\n█▄█▄▄█▀ █▄█▄█▄█"], ["eat_1", " █▀▄▄▄▄▄ \n █▀▀ ▄▄ ▀█▀█▄ \n ███▄▄ ▄▀██████ \n█▄████▀▄█ ▄███\n█ █▄▄▄█ █▀▀████\n ▀▀█▄▄███▄ ▄█▀██\n▄█▀▀█████▀▀▀▄ █\n█▄█▄▄█ █▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄ \n █▄█▀▀▀▀█ █ █▄ \n █ ▄▀▄ ▄█▄████ \n▄▀▄▄▄▄▄▀▄▀▀▀▀███\n▀▄█▄▄▄▄▀▄▄▄▄▀███\n█ █ ▄█ █ ▄▀██\n▄█▀▀█████▀▀▀▄ █\n█▄█▄▄█▀█▄█▄█▄█ "], ["happy", " █▀▄▄▄▄▄▄▀█▄ \n █▀▀ ▄ ▀▄███▄ \n ▄█ ▀ ▀▄▀██▀▀█▄\n █▄█████ █ █▄▄██\n █ █▀▀▀▄▀▄▀ ▄██\n ▀▄█▀▀ ▄█▄▄▀ ▀█\n ▄█▀▀█████▀▀▀▄ ▀\n █▄█▄▄█ █▄█▄█▄█ "], ["injured_1", " ▄▄ ▄▄ \n █▄█▀▀▀▀█ █ █▄ \n █ ▀▄▄ ▄█▄████ \n▄▀▄▄▄▄▄▀▄▀▀▀▀███\n▀▄█▄▄▄▄▀▄▄▄▄████\n▄█▄█▄▄▄▄▄▀ █▀██\n█ ▄▀▀███▀▀▄▀▄ █\n █▄█▄▄█▀▄▄█▄▄█ "], ["injured_2", " \n █▀▄▄▄▄▄▄▀█ \n █▀▀▄ ▀▄▀ █▄ \n █ ▀▀▄▀█▄▄███ \n█ ████▀▄▀ ▄███\n▄██▄▄▄▀ █▀▀▀████\n█ ▄▀▀███▀▀▄▀▄▀██\n █▄█▄▄█▀▄▄█▄▄█ █"], ["sleep_1", " \n \n ▄▀█ ▄ \n▄▄ █ ▄█▄▀▀▀█ ██ \n█ █▀▀ ▀▄█▄████\n█▀ ▀▀▀ ▄█ ▄ ▀█\n██▀▀▀▀██▀▀▄▄▀ █\n█▄████▄▄▄█▄█▄█▄▀"], ["sleep_2", " \n ▄▄ \n ▄▀ █ ▄▄▄▄ ▄ \n█▀▄█▄▀▀▀▄ ▄▀▄██ \n█▄▀ ▄▄▄ ▀▄█████\n█▄▄▄▄▄▄▄▄█▀ ▄ ▀█\n▄▀▄ ▄▄█▀ ▄▄▀ █\n█▄▄██▄▄▄▄█▄█▄█▄▀"], ["walk_1", " █▀▄▄▄▄▄▄▀█ ▄ \n █▀▀ ▄▄ ▀▄▀▄██▄ \n █ ▀▀ ▄▀██████▄\n█ █▀▀▀▀▄▀ ▄███\n ██▀▀▀▀██▀▀▀████\n█ █▄▄█ █ ▄▀ ▀█\n▄█▀▀█████▀▀▀▄ ▀\n█▄█▄▄█ █▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n █▄█▀▀▀▀█ █ █▄ \n █ ▄█▀ ▄█▄████ \n▄▀▄▄▄▄▄▀▄▀▀▀▀███\n▀▄█▄▄▄▄█▄▄▄▄████\n▄▀▀▄ ▄▀▀▄ █▀██\n▀▄▄████▄▄█▄▀▀▄ █\n█▄█▄▄█ █▄█▄█▄█ "]]], + ["imperialdramon_paladin_mode", [["angry", " \n █▀▄▄▄▄▄▄▀█ ▄▄ \n █▀▀ ▄█ ▀▄▀▄▀ ▀▄\n▄█ ▀▀ ▄▀█▀▀▀█ █\n█ █▀▀▀▀▄▀▄▄▄▀█ █\n █▀▀█▀▀ █ █▄▀ █\n ▀▄▀▀▄▄▄▄▀▀▀▄▀▄█\n █▄█▄▄██▄█▄█▄█ ▀"], ["attack", " ▄▄ ▄▄ \n █▄█▀▀█▀█ █ ▄▀█\n▄▄█ ▄█▀ ▄█▄▀ █\n█ █▄▄▄▄▄▀▄▀▀▀█ █\n▀▄ ▀▄▄▄▄█▄▄▀█ █\n █▀▄ █ ▀ ▄█▀▄█\n ▀▄▀▀▀▄▄▀█▀▀▀▀▄ \n █▄█▄▄█▀▀█▄█▄█▄█"], ["eat_1", " █▀▄▄▄▄▄ \n █▀▀ ▄▄ ▀█▀▄▀█ \n▄███▄▄ ▄▀█▀▀▀ ▀▄\n█▄████▀▄█▀▀▀▀█ █\n█ █▄▄▄█ █▄▄█ █\n ▀██ ▀▀▄▄▄▀ █\n ▄▀ ▀▄▄██▀▀ ▀▄▀█\n█▄█▄▄█ █▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄ \n █▄█▀▀▀▀█ █ ▄▀█ \n █ ▄▀▄ ▄█▄▀ ▀▄\n█▀▄▄▄▄▄▀▄▀▀▀▀█ █\n█▄█▄▄▄▄▀▀▄▄▄▀▄ █\n█ ██ █ █ █ █\n █▀ ▀▄▄██▀▀ ▀▄▀█\n█▄█▄▄█ █▄█▄█▄█ "], ["happy", " █▀▄▄▄▄▄▄▀█ ▄▄ \n █▀▀ ▄ ▀▄█▀ ▀▄ \n▄█ ▀ ▀▄▀█▄▀▀▄▀▄\n█▄█████ █ █▄▄█ █\n█ █▀▀▀▄▀█▀ ▄▀ █\n ▀▄█▀▀ ▀▄█▀ █\n ▄▀ ▀▄▄▄█▀▀ ▀▄▀ \n█▄█▄▄█ █▄█▄█▄█ "], ["injured_1", " ▄▄ ▄▄ \n █▄█▀▀▀▀█ █ ▄▀█ \n █ ▀▄▄ ▄█▄▀ ▀▄\n█▀▄▄▄▄▄▀▄▀▀▀▀█ █\n▀▄█▄▄▄▄▀▀▄▄▄█ █\n▄█▄█ ▄▀ █▄ █\n█ ▄▀▀▄ ▄▀▀▄▀▄ ▀█\n █▄█▄█▀▀▄▄█▄▄█ "], ["injured_2", " \n █▀▄▄▄▄▄▄▀█ ▄▄ \n █▀▀▄ ▀▄▀▄▀ █ \n▄█ ▀▀▄▀██▄▄▄ █\n█ ████▀▄█ ▄▀ █\n▄██▄▄▄▀ █▀▀█ █\n█ ▄▀▀▄ ▄▀▀▄▀▄▀▄█\n █▄█▄█▀▀▄▄█▄▄█ ▀"], ["sleep_1", " \n ▄▄ ▄▄ ▄▄ \n █▄█▀▀▀▀█ █▀ █ \n █ ▄▄▄ ▄█▄▄▄▄█\n █▀▄▄▄▄▄▀▄▀ ▄▀█\n▄█▄█▄▄▄▄█▀████▄█\n█▄▀█ █ ▀ ▀ █\n█▄▄▄█▄▄▄▄▄█▄▄▄█ "], ["sleep_2", " \n █▀▄▄▄▄▄▄▀█ ▄▄\n █▀▀ ▀▄▀▄▀ █\n ▄█ ▀▀▀▄▀█▀▀▀██\n █ █▀▀▀▀▄█▄▄▄█ █\n▄▄▀█▀▀▀▀▀ █▄▄█▄█\n█▄▀█ █ ▀ ▀ █\n█▄▄▄█▄▄▄▄▄█▄▄▄█ "], ["walk_1", " █▀▄▄▄▄▄▄▀█ ▄▄ \n █▀▀ ▄▄ ▀▄▀▄▀ █ \n▄█ ▀▀ ▄▀██▄▄▄ █\n█ █▀▀▀▀▄█ ▄▀ █\n▀▄▄█▀▀▀▄▄▀▀▀█ █\n █ █ █ █ ▄▀▀▄█\n ▄▀ ▀▄▄██▀▀ ▀▄ ▀\n█▄█▄▄█ █▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n █▄█▀▀▀▀█ █ ▄▀█ \n █ ▄█▀ ▄█▄▀ ▀▄\n█▀▄▄▄▄▄▀▄▀▀▀▀█ █\n█ ▀▄▄▄▄▀▀▄▄▄█ █\n █▀█ ▄▀▀▄ █▄ █\n ▀▄▀▄▄█▄▄█▄▀▀▄▀█\n █▄█▄▄█ █▄█▄█▄█ "]]], + ["impmon", [["angry", " \n ▄██▄ ▄▄██▄ \n ▄▀█████████▀▀▄ \n █▄ ▀ ▄▄▀█ \n █▀▀ ▀▀ █▀▀█ \n ▄▄█▄▄▄▄██▄█▀ \n▄▀ ▄██▄▄███ ▀▄ \n ▀████▀▀▀████▀ "], ["attack", " ▄████▄ ▄▄███▄\n ▀█████████▀ \n ▄▄█▀ ▀ ▄▄▀█▄▄ \n █ █▀ ▀▀ █ █\n ▀▄██████ █▀▄▀ \n ▄ ▄█▄▄▄▄█▄▀ \n ████████████ \n ▀▀▀▀ ▀▀▀ "], ["eat_1", " ▄███▄▄▄████▄ \n ▀ ██▀█▀▀▀██ ▀ \n █▄ ▄▀▄ █▄▀█ \n █▄▄▄▄▄ █▄▀ \n ▄▀▀█▀▀▀▀ ▄█▀▀▄ \n ▀▄ ██▀▀███▀ ▄▀ \n ▀▀██████▀▀ \n ████▀████ "], ["eat_2", " ▄▄ ▄▄ \n ████▄▄▄█████ \n ▀ ██▀█▀▀▀██ ▀ \n █▄ ▄▀▄ █▄▄▄ \n ▀▄ ▄▄▀▄▄▀ \n ▄▀██▀▀███▀▄ \n █ ▄▀█████▄ █ \n ▀████▀████▀ "], ["happy", " ▄██▄ ▄▄██▄ \n ▄▀█████████▀▀▄ \n █▀ ▀ ▄ ▀█▄▄ \n ▄█▀ ▀ ▀▄█▄▀ \n █ █▄▄▄▄█ █ \n ▀▄▀▀█▄▄█▀▀▄▄▀ \n ▀█████▀██████▀ \n ▀▀▀ ▀▀▀ "], ["injured_1", " \n \n ▄██▄ ▄▄██▄ \n ▄▀█████████▀▀▄ \n █▀▄▀ ▄ ▀█ \n █▀▀ ▀▀ █▀▀█ \n ▄▀▀▄▄▄▄█▀▀█▀ \n █▄▄▄█████▄▄▄█ "], ["injured_2", " \n \n ▄██▄ ▄▄██▄ \n ▄▀█████████▀▀▄ \n ██▀█▀▀▀██ \n █ ▄ ▄ █▀▀█ \n ▄██▀ ▀▀▄▄██▀ \n █▄▄▄█████▄▄▄█ "], ["sleep_1", " \n ▄▄ ▄▄ \n ████▄▄▄█████ \n ▀ █████████ ▀ \n █▀ ▀ ▄▀█▄▄▄ \n ██▀ ▀▀▄▄█▄▄▀ \n █ ▀█▀▀██▀ █▄ \n ██▄▄█████▄▄█▄█ "], ["sleep_2", " \n ▄██▄ ▄▄██▄ \n ▄▀█████████▀▀▄ \n ██▀█▀▀▀██ \n █▄▄ ▄▄▀ █▀▀█ \n ▄█▄▄▄▄██▄▀▀ \n █ ▀█▄▄██▀ █▄ \n ██▄▄█████▄▄█▄█ "], ["walk_1", " ▄▄ ▄▄ \n ████▄▄▄█████ \n ▀ ██▀█▀▀▀██ ▀ \n █▄ ▄█▀ █▄▄▄ \n ▀▄ ▄▄▀▄▄▀ \n ▄▀██▀▀███▀▄ \n █ ▄▀█████▄ █ \n ▀████▀████▀ "], ["walk_2", " \n ▄██▄ ▄▄██▄ \n ▄▀█████████▀▀▄ \n █▀ ▀ ▄▄▀█ \n █▀ ▀▀ █▀▀█ \n ▄▄█▄▄▄▄██▄█▀ \n▄▀ ▄██▄▄███ ▀▄ \n ▀████▀▀▀████▀ "]]], + ["impmon_x", [["angry", " \n ▄██▄ ▄▄██▄ \n▄▀█████████▀▀▄ \n █▄▄▀ ▄▄▀█ \n █▀▀ ▀▀ █▄███▄\n ▄▄█▄▄▄▄████ ▀█\n█ ▄██▄▄███ ▀▄ \n ███▀ ▀▀████▀ "], ["attack", "▄████▄ ▄▄███▄ \n ▀█████████▀ \n ▄▄█▄▄▀ ▄ ▀█ \n█ █▀▀ ▀▀ ███▄ \n ▀▄█████▄ ██▄▀██\n ▄ ██▀▀▀▀▄█▀ ▀▄█\n █████▀█████▄▄▀ \n ▀▀▀▀ ▀▀▀ "], ["eat_1", " ▄███▄▄▄████▄ \n▀ █▀▀█▀▀▀██ ▀ \n ███ ▄▀▄ █▄▄▄ \n █▄▄▄▄▄ █████▄\n▄▀▀█▀▀▀▀ ▄██ ██\n▀▄ ██▀▀███▀ ▀▄ █\n ▀▀██▀██▀▀▄▄▀ \n ███▀ ▀███ "], ["eat_2", " ▄▄ ▄▄ \n ████▄▄▄█████ \n▀ █▀▀█▀▀▀██ ▀ \n ███ ▄▀▄ █ ▄▄ \n █▄ ▄██▀██▄\n ▄▀██▀▀███▀▄ ██\n█ ▄▀██▀██▄ █ ▀\n ▀███▀ ▀█▄█▀ "], ["happy", " ▄██▄ ▄▄██▄ \n▄▀█████████▀▀▄ \n █▄▄▀ ▄ ▀█ ▄▄▄ \n ▄█▀▀ ▀ ▀▄██▀▀██\n█ █▄▄▄▄█ █ █\n▀▄▀▀█▄▄█▀▀▄▄▀ \n▀█████ ██████▀ \n ▀▀▀ ▀▀▀ "], ["injured_1", " \n ▄▄ ▄▄ \n ████▄▄▄█████ \n▀ █████████ ▀ \n █▄▄▀ ▄ ▀█ \n █▀▀ ▀▀ ███▄ \n ▄▀▀▄▄▄▄█▀▀█ ▀█ \n█▄▄▄█████▄▄▄█ ▀█"], ["injured_2", " \n \n ▄██▄ ▄▄██▄ \n▄▀█████████▀▀▄ \n █▀▀█▀▀▀██ \n ███ ▄ █▄▄ \n ▄█▄ ▀▀▄▄██▀█▄ \n█▄▄▄█████▄▄▄█ █▄"], ["sleep_1", " \n ▄▄ ▄▄ \n ████▄▄▄█████ \n▀ █████████ ▀ \n █▄▄▀ ▄▀█ \n ██▀ ▀▀▄▄███▄ \n █ ▀█▀▀██▀ █▄▀█▄\n██▄▄█████▄▄█▄█ ▀"], ["sleep_2", " \n ▄██▄ ▄▄██▄ \n▄▀█████████▀▀▄ \n █▀▀█▀▀▀██ \n ███ ▄▄▀ █▄▄ \n ▄█▄▄▄▄███▀▀█▄ \n █ ▀█▄▄██▀ █▄ ▀█\n██▄▄█████▄▄█▄█ "], ["walk_1", " ▄▄ ▄▄ \n ████▄▄▄█████ \n▀ █▀▀█▀▀▀██ ▀ \n ███ ▄█▀ █ \n █▄ ▄████▄ \n ▄▀██▀▀███▀▄ ▀██\n█ ▄██▀██▄ █ █\n ▀█▄█▀ ▀█▄█▀ "], ["walk_2", " \n ▄██▄ ▄▄██▄ \n▄▀█████████▀▀▄ \n █▄▄▀ ▄▄▀█ \n █▀▀ ▀▀ █▄▄▄ \n ██▄▄▄▄▄███▀██▄\n▄▀ ▄██▄███ ▀▄▀█\n▀▄█▄█▀ ▀▀██▄▄▀ ▀"]]], + ["jagamon", [["angry", " ▄▀▀▄▀▀▄ \n ▀▀▄▀▀ \n ▄▀▀▀▀▄▄ ▀▄ \n █▀ ▄ ▄▀▀█ \n ▄▀▀ ▄▄▄▄ █ \n █ ▄▄▄▄▄ ▄ ▀ ▄ █\n ▄▀▀██▀▀█▄▄▄ ▄▄▀\n█▄████████▄▄█▄▄█"], ["attack", " ▄▀▀▄▀▀▄\n ▄▄█▀▀█▄▀▀▄▀▀ \n █▀ ▀ ▄ ▀▄ ▀▄ \n▄██▀▀█▄ ▀▀▄█ \n█▀█▀███▄▄▄ ▀ █\n ▀██ ▀ ▄ ▀█\n ▄ ▄ ▄██▄▄▄ ▄▄▀\n ▀████▀▀█▄▄█▀▄▄█"], ["eat_1", " ▄▀▀▄▀▀▄\n ▄▄▄▄▀▀▄▀▀ \n ▄▄▀▀▀█ ▄ ▀▄ ▀▄ \n █▄▄▄▄ ▄ ▀▀▄█ \n█▄██▄██ ▄▄ ▀ █\n▀ ██▄ ▀ ▄ ▀█\n ███▄▄ ▄▄▀\n ▀▄█▄██▀▀▄▄█▀▄▄█"], ["eat_2", " ▄▀▀▄▀▀▄\n ▄▄▄▄▀▀▄▀▀ \n ▄▄▀▀▀█ ▄ ▀▄ ▀▄ \n █▄ ▀ ▀▀▄█ \n█▀ ▀▀▀▀▄▄ ▀ █\n█ ▄▄▄▄▄ ▄ ▀ ▄ ▀█\n▀█▀██▀██▄▄▄ ▄▄▀\n ████████▄▄█▀▄▄█"], ["happy", " ▄▀▀▄▀▀▄\n ▄▀▀▀▄▄▄▀▀▄▀▀ \n ▄█▄▄▄ ▄ ▀▄ ▀▄ \n▄██▀▄▀█▄ ▀▀▄█ \n█▀█▀█▀██ █ ▀ █\n ██ ▀ ▀█\n ▄███▄▄ ▄▄▀\n ▀███▀▀▀█▄▄█▀▄▄█"], ["injured_1", " \n ▄▀▀▄▀▀▄ \n ▀▀ ▀▀▄ \n ▄▄▄▀▀▀▀▄ █ \n ▄█ ▀ █▄▀█ \n █ ▀▀▀▄ ▄ █\n ▄█▀██▀█▄▄ ▄▄ █\n █▄████▄██▄▄▄▄▄▀"], ["injured_2", " \n ▄▀▀▄ \n ▄▀▀▄▀▀▄ \n ▄▄▄▄ ▀▀ █ \n ▄█ ▀▀▀▄▄▄█ \n █ ▄ ▀▀▀▀▄ ▄▀▄\n ▀▄▄▄▄▄▄▄ ▄ █\n █▄▄██▄▄██▄▄█▄▄▀"], ["sleep_1", " ▄▄ ▄▄ \n ▀▄▄▀▄▄▀ \n ▀▄ \n ▄▄▄█▀▀▀▄ █ \n ▄█ ▀ ▄ ▀█ \n █ ▀ ▄ █ \n█▀▀ ▀▀▀▀▄▄ ▀█ \n▀▄▄▄▄▄▄▄▄▄▄▄█▀ "], ["sleep_2", " ▄▄ ▄▄ \n ▀▄▄▀▄▄▀\n ▄▄▄▄ ▀▄ \n ▄▀▀▀█ ▀▄▄█ \n █ ▄ ▀ ▀▄ \n▄█▀ ▄▄▄▄ ▀ ▄█ \n█ ▀▀▄ █ \n▀▄▄▄▄▄▄▄█▄▄▄█▀ "], ["walk_1", " ▄▀▀▄▀▀▄\n ▄▄▄▄▀▀▄▀▀ \n ▄▄▀▀▀█ ▄ ▀▄ ▀▄ \n █▄ ▀ ▀▀▄█ \n█▀ ▀▀▀▀▄▄ ▀ █\n█ ▀ ▄ ▀ ▄ ▀█\n▀▄█▀██▀█▄▄▄ ▄▄▀\n█▄███████▄▄█▀▄▄█"], ["walk_2", " ▄▄ ▄▄ \n ▀▄▄▀▄▄▀\n ▄▄▄█▀▀▀▄ ▀▄ \n █▀ ▄ ▀ ▀ █▄ █ \n▄█▀ ▄▄▄▄ ▄▀▀▄\n█ ▄ ▀▀▄ ▄█\n█▄ ▄▄▄▄ ▀▄▄ ▀ █\n █▄██▄██▄▄▄▄▄█▀"]]], + ["jagerloweemon", [["angry", " ▄▄▄▄▄ \n ▄▀ ▄▄▄██▀█ \n▄████▀███▀▀▄ ▄▄\n████▄▄██▀▀▀▄ █ █\n▀▄▄▄▄█▀▀▀▀████▄▀\n ▀▄ ███▄▄███▀▀█\n ▄▄▄█▀███████▄▄█\n█▄██▄████ █▄█▄█"], ["attack", " ▄▀▀▀▀█▄▄▄ \n ▄█▄▄█▀███▄▀ \n█████▄▄██▄▄▀█▀▄ \n█ ▀ ▀ ██▄▄▄█▄█ █\n█ ▄ ▄ █▄▄ ████▄\n ▀█▀▀████████ █\n ▄█▄█ ███▀▀████\n █▄██▄████ █▄█▄█"], ["eat_1", " ▄▀▀▀▀█▄▄▄ \n ▄█▄▄█▀███▄▀ \n█████▄█▄█▄▄▀█▀▄ \n█ ███▄▄▄█▄█ █\n █ ▄█▄▄ █████▄\n ▀█▀▀████████ █\n ▄█▄█ ███▀▀████\n █▄██▄████ █▄█▄█"], ["eat_2", " \n ▄▀▀▀▀█▄▄▄ \n ▄█▄▄█████▄▀ ▄▄\n████▀▄▀██▄▄█ █ █\n█▀▀▀▀███▄▄▄███▄▀\n ▀█▀▀█▄▄ ███▀▀█\n ▄▄██▀███████▄▄█\n█▄██▄████ █▄█▄█"], ["happy", " ▄▀▀▀▀█▄▄▄ \n ▄█▄▄█▀███▄▀ \n█████▄█▄█▄▄▀ ▄▀█\n▀▄ ▀███▄▄▄█▄█ █\n █ █▄▄ █████▄\n ▀█▀▀████████ █\n ▄█▄█ ███▀▀████\n █▄██▄████ █▄█▄█"], ["injured_1", " \n \n ▄▀▀▀▀█▄▄▄ \n ▄█▄▄█████▄▀ ▄▄\n█████ ▀██▄▄█ █ █\n█▀▀▀▀███▄▄▄███▄▀\n █████▄▄▄▄███▄▄█\n█▄██▄███████▄█▄█"], ["injured_2", " \n \n ▄▄▄▄▄ \n ▄▀ ▄▄▄██▀█ \n▄████▀███▀▀▄▄▀█ \n█████▄▄█▀▀▀██▄ █\n▀▄▄▄▄█▀▀▀▀███▀█▄\n█▄██▄███████▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄ \n ▄▀ ▄▄▄██▀█ \n▄████████▀▀▄ ▄▀█\n████▄▄▄█▀▀▀█▄█ █\n▀▄▄▄▄█▀▀▀▀███▀▀▄\n ▄█▄▄███▄▄███▄▄█\n█▄██▄███████▄█▄█"], ["sleep_2", " \n ▄▀▀▀▀█▄▄▄ \n ▄█▄▄█████▄▀ ▄▄\n████▀▀▀██▄▄█ █ █\n█▀▀▀▀███▄▄▄███▄▀\n ▀█▀▀█▄▄ ███▀▀█\n ▄▄██▀███████▄▄█\n█▄██▄███████▄█▄█"], ["walk_1", " ▄▀▀▀▀█▄▄▄ \n ▄█▄▄█████▄▀ \n████▀ ▄██▄▄▀ ▄▀█\n█▀▀▀▀███▄▄▄█▄█ █\n ▀█▀▀█▄▄ █████▄\n ▀▄████████ █\n ▄▄██ ███▀▀████\n █▄██▄████ █▄█▄█"], ["walk_2", " ▄▄▄▄▄ \n ▄▀ ▄▄▄██▀█ \n▄████▀▀██▀▀▄ ▄▄\n████▄▄██▀▀▀▄ █ █\n▀▄▄▄▄█▀▀▀▀████▄▀\n ▀▄ ███▄▄███▀▀█\n ▄▄▄█▀███████▄▄█\n█▄██▄████ █▄█▄█"]]], + ["jazamon", [["angry", " \n ▄█▀▄▀▀█ \n ▄▀█ ▀▀█▄ \n █▀▀ ▄█ █▄ \n █ ▄▄▄ ▄ ▄▀ ▀█\n ▀▄▄▄▀▀█ ▀█▀\n █▄▀█ ▀▄▄██▀ \n █▄█▄█▀▀█▄█▄█ "], ["attack", " ▄█▀▄▀▀▀█ \n ▄▀█ ▀▀██▄ ▄▄\n █▀▀ ▄█ ▄▀ █\n █ ▄▄▄▄ █ ▀█\n ▀██▀▀█ █ ▀█ \n █▀▀▀▀▄█▄▄█ \n ▄▄▀███▀ ▀▄ \n █▄█▄█ █▄▄█▄█ "], ["eat_1", " ▄█▀▄▀▀█ \n ▄▀█ ▀▀█▄ ▄▄ \n █▀▀ ▄▀▄ ▄▀ █ \n █ ▄▄▄▄ █ ▀█ \n ▀████ █ ▀█ \n ▀▄▄▄▀▀▄▄█ \n ▄▄▀▄▄▄▀ ▀▄ \n █▄█▄█ █▄█▄█ "], ["eat_2", " ▄▄ ▄▄▄ \n ▄█▀ █▄▄▀ \n ▄█▄▀ ▄ ▀▀▄ \n █ ▀ ▀ ▄▀▀▄ \n ▀▄▀▀▀▄█▄▀ ▄▄█\n █▀█▄ █ ▄▄▄▀\n ▄▄▀█▀ ▄▀▀█▀ \n █▄█▄█▀▀█▄█▄█ "], ["happy", " ▄█▀▄▀▀█ \n ▄▀█ ▀▀█▄ ▄▄ \n █▀▀ ▄▀▄ ▄▀ █ \n █ ▄▄▄▄▄ ▄▀ ▀█ \n ▀████▀▄▀ ▀█ \n ▀▄▄▄▀▀▄▄█ \n ▄▄▀▄▄▄▀ ▀▄ \n █▄█▄█ █▄█▄█ "], ["injured_1", " \n ▄█▀▄▀▀█ \n ▄▀█ ▀▀█▄ \n █▀▀ █▄ █▀▀█\n █ ▄▄▄ ▄ ▄▀ ▄▄▀\n ▀▄▄▄▀▀█ ▄▄▀ \n ▄▀▀▄ █ ▄▀▀█▀▄ \n █▄▄▄█▄▄█▄▄▄▄█ "], ["injured_2", " \n ▄▄ ▄▄▄ \n ▄█▀ █▄▄▀ \n ▄█▄▀ ▄ ▀▀▄▄▄▄ \n █ ▀▀ ▄▀ █ \n ▀▄▀▀▀▄█▄▀ ▀█ \n ▄▀▀██ █ ▀█▀▄ \n █▄▄▄█▄▄████▄█ "], ["sleep_1", " \n ▄▄ ▄▄▄ \n ▄█▀ █▄▄▀ \n ▄█▄▀ ▀▀▄▄▄▄ \n █ ▀▀ ▄▀ █ \n ▀▄▀▀▀▄█▄▀ ▀█ \n ▄▀▀██ █ ▀█▀▄ \n █▄▄▄█▄▄████▄█ "], ["sleep_2", " \n ▄█▀▄▀▀█ \n ▄▀█ ▀▀█▄ \n █▀▀ ▄▄ █▀▀█\n █ ▄▄▄ ▄ ▄▀ ▄▄▀\n ▀▄▄▄▀▀█ ▄▄▀ \n ▄▀▀▄ █ ▄▀▀█▀▄ \n █▄▄▄█▄▄█▄▄▄▄█ "], ["walk_1", " ▄█▀▄▀▀█ \n ▄▀█ ▀▀█▄ \n █▀▀ ▄▀█▀ █▀▀█\n █ ▄▄▀▀▄ ▄▀ ▄▄▀\n ▀▄▄▄▀▀█ ▄▄▀ \n █ ██ ▀▄▄▄▀ \n ▄▄▀▄▄▄▀ ▀▄ \n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄ \n ▄█▀ █▄▄▀ \n ▄█▄▀ ▄▄▄▀▀▄ \n █ █▄▀ ▄▀▀▀▄\n ▀▄▀▀ ▄█▄▀ ▄▄█\n █▀█▄ █ ▄▄▄▀ \n ▄▄▀█▀ ▄▀▀█ \n █▄█▄█▀▀█▄█▄█ "]]], + ["jazardmon", [["angry", " ▄▄ \n ▄▄████▄██ \n▄█ ▄██▀███▀█ \n█▀▀▀▀▄▄█▀ █▄▄ \n █▀▀▄▄▄ ▄ ▀▀▄ \n ▀▀▀▀█▄▄▀▀█▄ █ \n ▄██▄▄█▄▄██▀ \n █▄▄█▄▀▀▄▄█▄█ "], ["attack", " ▄▄██ ▄▄ \n ▄▀▀███████▄ \n██▄██▀ ██▀▄▀ \n▀▄▄▄▄▀▀▀ ▀▀▄▄ \n ▀████ ▄█▄ ▀▄\n ▄▀▀▀▄▀ ▄▀▀▀▄▄█\n ▀▀██▄██▄▄▄▄█ \n █▄▄█▄▀▀▄▄█▄█ "], ["eat_1", " ▄▄██ ▄▄ \n ▄▀▀███████▄ \n██▄██▀ ▄█▀▄▀ \n▀▄▄▄▄▀▀▀ ▀▀█▄ \n ███ ▄█▄ █ \n ▀▄▄██▀ ▄▀▀▄▄█ \n ▄█▄██▄▄▄▄█ \n █▄▄█▄▀▀▄▄█▄█ "], ["eat_2", " ▄▄ \n ▄▄████▄██ \n▄█ ▄██▀███▀█ \n█▀▀▀▀▄█▄▀ █▄▄ \n █▀▀▄▄▄ ▄ ▀▀▄ \n ▀▀▀▀█▄▄▀▀█▄ █ \n ▄██▄▄█▄▄██▀ \n █▄▄█▄▀▀▄▄█▄█ "], ["happy", " ▄▄ \n ▄▄████▄██ \n▄█ ▄██▀███▀█ \n█▀▀▀▀▄█▄▀ █▄ \n █▀▀▄▄▄ ▄ ▀▀▄ \n ▀▀▀▀█▄▄▀▀█▄▄ █\n ▄██▄▄█▄▄▄█▀▀\n █▄▄█▄▀▀▄▄█▄█ "], ["injured_1", " \n ▄▄██ ▄▄ \n ▄▀▀███████▄ \n██▄██▀▀██▀▄▀ \n▀▄▄▄ ▀▀▀ ▀▀▄ \n █▄▄██▀ ▄█ █ \n ▄▀▀█▀▀ ▀█ ▄▀ \n █▄▄▄▄█▀██▄██▄█ "], ["injured_2", " \n ▄▄ \n ▄▄████▄██ \n▄█ ▄██████▀█ \n█▀▀▀▀▄▄█▀ █▄ \n █▀▀▄▄▄ ▄ ▀▄ \n ▀█▀██▄▄▀█▄ █ \n █▄▄▄█▄▄▄▄█▄▄█▄█"], ["sleep_1", " \n ▄▄ \n ▄▄████▄██ \n▄█ ▄██████▀█ \n█▀▀▀▀▄▄█▀ █▄▄ \n █▀▀▄▄▄ ▄ ▀▀▄ \n ▀▀▀██▄▄▀▀█▄▄▄█ \n █▄█▄███▀█▄█▄█"], ["sleep_2", " \n ▄▄██ ▄▄ \n ▄▀▀███████▄ \n██▄██▀▀██▀▄▀ \n▀▄▄▄ ▀▀▀ ▀▀█▄ \n █▄▄██▀ ▄█▄ █ \n ▄██▀ ▄▀▀▄▄█ \n █▄█▄███▀█▄█▄█"], ["walk_1", " ▄▄██ ▄▄ \n ▄▀▀███████▄ \n██▄██▀ ▄█▀▄▀ \n▀▄▄▄ ▀▀▀ ▀▀█▄ \n █▄▄██▀ ▄█▄ █ \n ██▀ ▄▀▀▄▄█ \n ▄█▄██▄▄▄▄█ \n █▄▄█▄▀▀▄▄█▄█ "], ["walk_2", " ▄▄ \n ▄▄████▄██ \n▄█ ▄██▀▀██▀█ \n█▀▀▀▀▄▄█▀ █▄ \n █▀▀▄▄▄ ▄ ▀▀▄ \n ▀▀▀▀█▄▄▀▀█▄▄ █\n ▄██▄▄█▄▄▄█▀▀\n █▄▄█▄▀▀▄▄█▄█ "]]], + ["jazarichmon", [["angry", " \n ▄▄██▀▄▄ \n ▄▀███████▀ \n█▄██▀ ██▀▄█ \n█▀▀▀▀▀▀▄▄█▀▀▀▀▀█\n ▀▄▄▄█ ▀ ▄▄▀▀▄\n ▄▀ ▀▄▄▀ █▀▀ \n █▄▄█▄█▄▄█▄█ "], ["attack", " ▄▄██▀▄▄ \n ▄▀███████▀ \n█▄██▀ ██▀▄█ \n█▀▀▀▀▀ ▄▄█▀▀▀▀▀█\n ▀███▄ ▀ ▄▄▀▀ \n █▀▀▀ ▄▀ █▀▀█ \n ▄▀▀█▀█▀ ▄ █▀ \n ▀▀▀▀▀▀▀▀▀▀▀ "], ["eat_1", " ▄▄██▀▄▄ \n ▄▀███████▀ \n█▄██▀▀██▀▄█ \n█▀▀▀▀▀ ▄▄█▀▀▀▀▀█\n ▀████ ▀ ▄▄▀▀ \n █▀▀▀ ▄ ▀▀█▀▀█ \n █▀▀▀▄▄▀ █▀ \n █▄▄█▄█▄▄█▄█ "], ["eat_2", " ▄▄▄ \n ▄▄████▄██ \n▄▀▄██▀███▀▄ \n████▄█▄▀ ██▄▄▄▄▄\n▀▄ ▄ ▀█▀ ▄▄▀\n ▀▀▀█ ▄ █▀▀█ \n ▄▀ ▀▄▄▀ █▀ \n █▄▄█▄█▄▄█▄█ "], ["happy", " ▄▄██▀▄▄ \n ▄▀███████▀ \n█▄██▀▄▀█▀▄█ \n█▀▀▀▀▀▀▄▄█▀▀▀▀▀█\n ▀████ ▀ ▄▄▀▀ \n █▀▀ ▄▀ ▀▀█▀▀█ \n █▀▀ ▄▄▀ █▀ \n █▄▄█▄█▄▄█▄█ "], ["injured_1", " \n ▄▄██▀▄▄ \n ▄▀███████▀ \n█▄███ ▀█▀▄█ \n█▀▀▀▀▀▀▄▄█▀▀▀▀▀█\n ▀▄▄▄█ ▀ ▄▄██ \n▄▀█▀▀█▀▄▀▀█▀▄▄▀ \n█▄▄▄▄█▄█▄▄▄▄█ "], ["injured_2", " \n ▄▄▄ \n ▄▄████▄██ \n▄▀▄██▀███▀▄ \n█████▄▄▀ ██▄▄▄▄▄\n▀▄ ▄ ▀█▀ ▄▄▀\n▄▀█▀▀█▀▄▀▀█▀█▀█ \n█▄▄▄▄█▄█▄▄▄▄█▀ "], ["sleep_1", " \n ▄▄▄ \n ▄▄████▄██ \n▄▀▄██████▀▄ \n████▄▄█▀ ██▄▄▄▄▄\n▀▄ ▄ ▀█▀ ▄▄▀\n ▀███ ▄▄ █▀▀█ \n █▄▄▄██▄▄█▄█▀ "], ["sleep_2", " \n ▄▄██▀▄▄ \n ▄▀███████▀ \n█▄██▀▀██▀▄█ \n█▀▀▀▀▀▀▄▄█▀▀▀▀▀█\n ▀▄▄▄█ ▀ ▄▄██ \n ▄▄▀▄█▄▀ ▀▄▄▀ \n █▄▄█▄█▄▄█▄█ "], ["walk_1", " ▄▄██▀▄▄ \n ▄▀███████▀ \n█▄██▀ ▄█▀▄█ \n█▀▀▀▀▀ ▄▄█▀▀▀▀▀█\n ▀▄▄▄█ ▀ ▄▄▀▀ \n ▀▄▀▄ ▀▀█▀▀█ \n ▄▀ ▀▄▄▀ █▀ \n █▄▄█▄█▄▄█▄█ "], ["walk_2", " ▄▄██▀▄▄ \n ▄▀███████▀ \n█▄██▀ ▄█▀▄█ \n█▀▀▀▀▀ ▄▄█▀▀▀▀▀█\n ▀▄▄▄█ ▀ ▄▄██ \n ▄▀▄▀ ▄ ▀▄▄▀ \n ▄▀ ▄ █▀ ▄ █ \n ▀▀▀▀▀▀▀▀▀▀▀ "]]], + ["jesmon", [["angry", " ▄▄ ▄▄▄▄ \n ▄▀█ ▄██▀▀ ▄█▄ \n █ █▀▀ ▄ ▄▄▀ \n █▀ ▀ ▄█ ▄▄ \n ▀█▀▀▀ ▄██▀▀▄▀ \n █▀█▀▀██▄▄▄▄▀ \n ▄▀ █▄▄██▀ ▄█▀▄ \n█▄▄▀▀▄█▀▄▄██▀▄▄█"], ["attack", " ▄▄ ▄██▄▀▀█▀ \n █ █▄█▀▀ ▀▀█ \n █▄▀ ▄█▀ ██▄ \n █▄▄▄▄ ▄▀▀▄▀ \n ▀▄▄▄▄▄█▄▄▄▄█ \n▄▀▀▀▀▀▀█ ▄█▀▀▄ \n ▀▀▀█▀▀███▀▀█▄ █\n ▀▄█ ▀▄█ ▀▀"], ["eat_1", " ▄▄ ▄██▄▀▀█▀ \n █ █▄█▀▀ ▀▀█ \n █▄▀ ▄█▀ █▀ \n █▄▄▄▄ ▄██▄▀█ \n █▀▀▀▄▄██▀ ▀▄ \n ██▀ ██▀██ \n ▄▀█▀█▄█▀█ █ ▀▄\n █▄▀▄█ ▀▄█▄▀▀▄█"], ["eat_2", " ▄▄ ▄▄▄▄ \n ▄▀█ ▄██▀▀ ▄█▄ \n █ █▀▀ ▄ ▄▄▀ \n █▀ ▀ ▀ ▄█ ▄▄ \n ▀█▀▀▀ ▄██▀▀▄▀ \n █▀█▀▀██▄▄▄▄▀ \n ▄▀ █▄▄██▀ ▄█▀▄ \n█▄▄▀▀▄█▀▄▄██▀▄▄█"], ["happy", " ▄▄ ▄██▄▀▀█▀ \n █ █▄█▀▀ ▀▀▄ \n █▄▀ ▄▀▄ ██▄ \n█▀▄▄▄▄▄ ▄█ █ \n█ █▀▀▀ ▄█▀ ▄▀ \n ▀▀██▀▀▀██▀▀██ \n ▀▄▀█▀█ ▀██ ▀▄\n ▀▄█ ▀▄█ ▀▀▀"], ["injured_1", " ▄▄ ▄▄▄▄ \n ▄▀█ ▄██▀▀ ▄█▄ \n █ █▀▀▄ ▄▄▀ \n █▀ ▀▀▀ ▄█ ▄▄ \n ▀█▀▀▀ ▄██▀▀▄▀ \n ███▀▀██▄▄▄▄▀ \n █ ▀▄██▀ ▄█▀▄ \n ▀█▄▄█▄▄███▄▄█"], ["injured_2", " \n ▄▄ ▄██▄▀▀█▀ \n █ █▄█▀▀ ▀▀█ \n █▄▀ █▄▄ █▀ \n █▄▄▄▄ ▄██▄▀█ \n ▀▄▄▄▄▄██▀ ▀▄ \n █▀█ ▄██▀▀██ \n ▀▄▄███▄▄██▄█▄"], ["sleep_1", " \n ▄▄ ▄██▄▀▀█▀ \n █ █▄█▀▀ ▀▀█ \n █▄▀ ▄▄▄ █▀ \n █▄▄▄▄ ▄██▄▀█ \n ▀▄▄▄▄▄██▀ ▀▄ \n █▀█ ▄██▀▀██ \n ▀▄▄███▄▄██▄█▄"], ["sleep_2", " ▄▄ ▄▄▄▄ \n ▄▀█ ▄██▀▀ ▄█▄ \n █ █▀▀ ▄▄▀ \n █▀ ▀▀▀ ▄█ ▄▄ \n ▀█▀▀▀ ▄██▀▀▄▀ \n ███▀▀██▄▄▄▄▀ \n █ ▀▄██▀ ▄█▀▄ \n ▀█▄▄█▄▄███▄▄█"], ["walk_1", " ▄▄ ▄██▄▀▀█▀ \n █ █▄█▀▀ ▀▀█ \n █▄▀ ▄█▀ █▀ \n █▄▄▄▄ ▄██▄▀█ \n ▀▄▄▄▄▄██▀ ▀▄ \n ▄▀▄▀ ▄██▀▀██ \n▄▀ ▄█▀██▀ ▄██ ▀▄\n▀▀▀ ▀▄█ ▀▀▄█ ▀▄█"], ["walk_2", " ▄▄ ▄▄▄▄ \n ▄▀█ ▄██▀▀ ▄█▄ \n █ █▀▀ ▄▄ ▄▄▀ \n █▀ ▀▀ ▄▀▄▄ \n ▀█▀▀▀ ▄█▀▀▄▀ \n ▀██▀▀█▄▄▄▄█ \n ▄▀█▄▄█▀ ▄█ ▀▄ \n █▄█▄█▀▄▄▀▀▄█▄▄█"]]], + ["jesmon_gx", [["angry", "▄▄▄ ▄▄▄ \n▀▄ ▀▀▀▄▄█▀▀▀█▀ \n █▄▀▀▄ ▄▀▀▄ \n▄▀ ▀▀ ▄▄▀ ▄▀█\n ▀█▀▀▀ ▄▄▄██▀ ▄▀\n ▄▀█▀█▀ ▄▀▀██▄▄▀\n ▀▄▀▄ ▄▀▀▄▄▄▀ \n █▄▄▀▀▀▄▄█ "], ["attack", " █▀▀▄▄▄▀▀█▄▄▄▄▄\n ▀▄ ▄▄▀▀▀ ▄▄▀ \n ▄▀▀ ▄█▀ ▀ ▄▀ \n ▀▄▄▄▄▄ ▀█▄▀█\n▄▀▀▀█▄▄▄▄▀███ ▄▀\n█ ▄▄█ ▀ █ ▀█ \n ▀▀ ▀▄▀▄███▀▀▄ \n █▄▄▀ ▀▄█ "], ["eat_1", "█▀▀▄▄▄▀▀█▄▄▄▄▄ \n ▀▄ ▄▄▀▀▀ ▄▄▀ \n ▄▀▀ ▄▀▄ ▀ ▄▀ ▄▄\n▀▄▄▄▄▄ ▀█▄▄▀ █\n ▄█▀▀▀ ▄▀███▄ ▀▄\n█ ▀█▀▀▀▄█▀▀ █▀▀ \n ▀▄█▀▄█▀▀▄▄▀ \n ▀▄█▀▄▄█ "], ["eat_2", "▄▄▄ ▄▄▄ \n▀▄ ▀▀▀▄▄█▀▀▀█▀ \n █▄▀▀▄ ▄▀▀▄ \n▄▀ ▀ ▀ ▄▄▀ ▄▀█\n ▀█▀▀▀ ▄▄▄██▀ ▄▀\n ▄█▀█▀ ▄██▀█▄▄▀\n █▄▀▄ ▄█▀█ █ \n █▄▄▀ ▀▄██ "], ["happy", "█▀▀▄▄▄▀▀█▄▄▄▄▄ \n ▀▄ ▄▄▀▀▀ ▄▄▀ \n ▄▀▀ ▄▀▄ ▀ ▄▀ \n▀▄▄▄▄▄▄ ▀█▀▀▄ \n ▄█▀▀▀ ▄▀█▀ ▄▀▀█\n█ ▀█▀▀▀▄██▄▀ ▄▀ \n ▀▀█▀▄█▀ ▀█▀▄▄▀ \n ▀▄█▀▄▄█ "], ["injured_1", " \n█▀▀▄▄▄▀▀█▄▄▄▄▄ \n ▀▄ ▄▄▀▀▀ ▄▄▀ \n ▄▀▀ ▄ ▀ ▄▀ ▄▄\n▀▄▄▄▄ ▀▀ ▀█▄▄▀ █\n ▀▄▄▄▄█▀▀██▄ ▀▄\n ▄▀█▄ ▄▄█▀ ██▀ \n █▄▄▀▄█▀█▄▄▄█▄█ "], ["injured_2", " \n▄▄▄ ▄▄▄ \n▀▄ ▀▀▀▄▄█▀▀▀█▀ \n █▄▀▀ ▄▀▀▄ ▄▄\n▄▀ ▀▄▄ ▄▄█▄▀ █\n ▀█▀▀ ▄▄▄██▄ ▀▄\n ▄▀██▀▄▄█▀ ██▀ \n █▄▄▀▄█▀█▄▄▄█▄█ "], ["sleep_1", " \n█▀▀▄▄▄▀▀█▄▄▄▄▄ \n ▀▄ ▄▄▀▀▀ ▄▄▀ \n ▄▀▀ ▄▄ ▀ ▄▀ ▄▄\n▀▄▄▄▄▄ ▀█ ▄▀ █\n ▀▄▄▄▄▀▀███▄ ▀▄\n ▄▀▀█▄ ▄▀▀█ ▀█▀ \n █▄▄▄███▄▄█▄▄▀ "], ["sleep_2", " ▄▄▄ ▄▄▄ \n ▀▄ ▀▀▀▄▄█▀▀▀█▀ \n █▄▀▀ ▄▀▀▄ \n ▄▀ ▀▀ ▄▄▀ ▄▄\n ▀█▀▀▀ ▄▄▄█▄▀ █\n ▄█▀█▀ ▄██▄ ▀▄\n ▄▀▀█▄ ▄▀▀█ ▀█▀ \n █▄▄▄███▄▄█▄▄▀ "], ["walk_1", "█▀▀▄▄▄▀▀█▄▄▄▄▄ \n ▀▄ ▄▄▀▀▀ ▄▄▀ \n ▄▀▀ ▄█▀ ▀ ▄▀ ▄▄\n▀▄▄▄▄▄ ▀█▄▄▀ █\n ▀▄▄▄▄▀▀███▄ ▀▄\n ▄▀█ ▀ ▄██▀ █▀▀ \n ▀▄█▀▄█▀ ▀▄▄▀ \n ▀▄█▀▄▄█ "], ["walk_2", "▄▄▄ ▄▄▄ \n▀▄ ▀▀▀▄▄█▀▀▀█▀ \n █▄▀▀▄▄ ▄▀▀▄ \n▄▀ ▀▀ ▄▄▀ ▄▀█\n ▀█▀▀▀ ▄▄▄██▀ ▄▀\n ▄█▀█▀ ▄█▀▀█▄▄▀\n █▄▀▄ ▄█▀ █ █ \n █▄▄▀ ▀▄▄█▀ "]]], + ["jesmon_x", [["angry", " ▄▄ ▄▄▄▄ \n █ ▀▀▄██▀ ▄█▄▄ \n ▀▄▀▀▄ ▀ ▄▀ \n ▄▀ ▀▀ ▄▀█▄▄▀▀█\n ▀█▀▀▀ ▄▄█▀▀▄▄▀ \n ▄█▀█▀ ▄██▄▄▄█ \n▄▀ █▀█▀█▀██▄ █ \n█▄▀ ▀▄█ ▀▄█ ▀▀▀ "], ["attack", " █▀▄▄ ▄▄▄▀▀█▀ \n ▀▄ ▄█▀▀ ▄▀▀█▀ \n ▄▀ ▄█ ▄▄▀▄▀█\n █▄▄▄▄ ▀▄██▀ █\n █▄▄▄▄▀▀▀▄ ▀█ \n▄▀▀ ▄▄▄▀ ▀▀▀▄\n ▀▀▄▄▄▄▄ ▀ ▄▀█▀ \n ▀▄█ ▀▀▀▄▄█ "], ["eat_1", " █▀▄▄ ▄▄▄▀▀█▀ \n ▀▄ ▄█▀▀ ▄▀▀█▀ \n ▄▀ ▄█▀ ▄▄▀ ▄▄▄\n █▄▄▄▄ ▀▄██▀ ▄▀\n █▀▀▀ ▄██▄ ▀▀▄ \n ▄▀█▀█▀ ▄██▀▀█▀ \n █ █▀█▀█ ██ █ \n ▀▀ ▀▄█ ▀▄█▀▀ "], ["eat_2", " ▄▄ ▄▄▄▄ \n █ ▀▀▄██▀ ▄█▄▄ \n ▀▄▀▀▄ ▀ ▄▀ \n ▄▀ ▀ ▀ ▀█▄▄▀▀█\n ▀█▀▀▀ ▄█▀▀▄▄▀ \n ▄██▀█▀▀██▄▄▄█ \n▄▀ █▄█▄▄▀▀█ ▀▄ \n█▄▀▀▄█▀▀▀▄█▀▄▄█ "], ["happy", " █▀▄▄ ▄▄▄▀▀█▀ \n ▀▄ ▄█▀▀ ▄▀▀█▀ \n █▀ ▄▀▄ ▄▄█▄▀▀█\n▄█▄▄▄▄ ▄█▀ ▄▀\n▀▄▀▄▄▄▄▄██▀▀█▀ \n ▀█▀▄▀ ▄█▀█ \n █▀█▀█ ▀█ \n ▀▄█▀▀▄█ "], ["injured_1", " ▄▄ ▄▄▄▄ \n █ ▀▀▄██▀ ▄█▄▄ \n ▀▄▀▄ ▀ ▄▀▄▄▄\n ▄▀ ▀▀ ▄▀█▄▀ ▄▀\n ▀█▀▀▀ ▄▄█▄ ▀▀█ \n ▄▀█▀█▀▀██▀▀█▀ \n █ █▀▄▄▀██ █ \n █▄▀▄▀ ▀▄█▄▀ "], ["injured_2", " \n█▀▄▄ ▄▄▄▀▀█▀ \n▀▄ ▄▀▀▀ ▄▀▀█▀ \n ▄▀ █▄ ▄▄▀▄█▀▀█\n█▄▄▄▄ ▀▄█▀▀▄▄█ \n ▀▄▄▄▄█▀▀██▄▄▄█ \n █ █▄█▄▀▀██ █ \n █▄▀▄█ ▀▄▄█▄▀ "], ["sleep_1", " \n█▀▄▄ ▄▄▀▀▀█▀ \n▀▄ ▄█▀▀ ▄▀▀█▀ \n ▄▀ ▄▄ ▄█ ▄▄▄ \n█▄▄▄▄ ▀▄█▀ ▄▀ \n ▀▄▄▄▄▄██▄ ▀▀▄ \n ▀▄█▄▄▀ █▀▀▀█ \n █▄▄█▄▄█▄▄▄▄▄█ "], ["sleep_2", " ▄▄ ▄▄▄▄ \n █ ▀▀▄██▀ ▄█▄▄ \n ▀▄▀▀ ▀ ▄▀ \n ▄▀ ▀▀ ▄▀█▄▀▀█ \n ▀█▀▀▀ ▄▀▀▄▄▀ \n █▀█▀▀██▄▄▄█ \n █▀▄▄▀ █ ▀▄ \n █▄▄▄█▄█▄▄▄▄▄█ "], ["walk_1", " █▀▄▄ ▄▄▄▀▀█▀ \n ▀▄ ▄█▀▀ ▄▀▀█▀ \n ▄▀ ▄█▀ ▄▄▀ ▄▄▄\n █▄▄▄▄ ▀▄██▀ ▄▀\n ▀▄▄▄▄▄██▄ ▀▀▄ \n ▄▀█▀▄▀ ▄██▀▀█▀ \n█ ▄█▀█▀█ █▀▄ █ \n▀▀ ▀▄█ ▀▄█ ▀▀▀ "], ["walk_2", " ▄▄ ▄▄▄▄ \n █ ▀▀▄██▀ ▄█▄▄ \n ▀▄▀▀▄▄ ▀ ▄▀ \n ▄▀ ▀▀ ▄▀█▄▄▀▀█\n ▀█▀▀▀ ▄█▀▀▄▄▀ \n ▄██▀█▀▀██▄▄▄█ \n █▄▀▄█▄▄▀▀█▄ ▀▄\n █▄▄▀ ▀▀▄▄█▀▀▀▀"]]], + ["jewelbeemon", [["angry", " ▄▀▀▄▀▀▀▀▀▀▄▀▀▄▄\n ▀ █▄ ▄█ ▀▄ ▀\n █▄▄▄▄ ▄▀▄ \n ▀████▀▀█▀ \n ▄▀█▄▄▄▄█▀▀▄ \n █ ▄█▄▄▄▄██▀ █ \n ▀█▀▄█▄▀█▀▀▀ \n █▄▄█ ▀▄▄█ "], ["attack", " ▄▄ ▄▄▄▄▄▄ ▄▄ \n █ ▄▀ ▄▄ █ ▀█\n █▀ ▀▀ █ \n ▀▄▀▀▀▀▀▄▀▄▀ \n ▀▄▀▀ ▄█▀▄ \n ▄█▀▀▀▀█▄▀ \n █▄█▀█▀██▄█ \n █▄▄▄▀▀▀▄▄▄█ "], ["eat_1", " ▄▄ ▄▄▄▄▄▄ ▄▄ \n █ ▄▀ ▄ █ ▀█\n █▀ ▀ ▀ █ \n ▀▄▀▀▀▀▀▄▀▄▀ \n ▀▄▀▀ ▄█▀▄ \n ▄█▀▀▀▀█▄▀ \n █▄█▀█▀██▄█ \n █▄▄▄▀▀▀▄▄▄█ "], ["eat_2", " ▄▀▀▄▀▀▀▀▀▀▄▀▀▄▄\n ▀ █▄ ▄█▀ ▀▄ ▀\n █▄▄▄▄▄ ▄▀▄ \n █████▀▀█▀ \n ▄█▄▄▄▄█▀█ \n ▄▀ █▄▄▄▄██ █ \n ▀▄█▀▄█▄▀█▄▄▀ \n █▄▄█ ▀▄▄█ "], ["happy", " ▄▀▀▄▀▀▀▀▀▀▄▀▀▄▄\n ▀ █▄ ▄▀▄ ▀▄ ▀\n █▄▄▄▄ ▄▀▄ \n █████▀▀█▀ \n ▄█▄▄▄▄██▄ \n ▄▀▄█▄▄▄▄█▄▀▀▄ \n ▀▀█▀▄█▄▀█ ▀▀▀ \n █▄▄█ ▀▄▄█ "], ["injured_1", " \n ▄▄▀▀▀▀▀▀▄▄ \n ▄▀█ ▀▄▀▄ \n ▀ ██ █▄ █ ▀ \n ▀▄▄▄▄▄ ▄█ █ \n ▄█▄▄▄██ █ \n ▄▀▄█ ▄▀▀▄ \n █▄▄█▄▄▄█▄▄█ "], ["injured_2", " \n ▄▄▄▄▄▄ \n ▄█▀ █▀▄ \n█ █▄ ▄ █ █ \n █▀ ▀▀ ▄▀▄ \n ▀█▀▀▀▄█▀▄▀ \n ▄▀██▀▀▀█▀▀▄ \n █▄▄█▄▄▄█▄▄█ "], ["refuse", " ▄▄ ▄▄▄▄▄▄ ▄▄ \n █ ▄▀ ▄ █ ▀█\n █▀ ▀▀ █ \n ▀▄▀▀▀▀▀▄▀▄▀ \n ▀▄▀▀▀▄█▀▄ \n ▄▀█▀▀▀▀█▀ █ \n █▄█▀█▀███▀ \n █▄▄▄▀▀▀▄▄▄█ "], ["sleep_1", " \n ▄▀▀▄▀▀▀▀▀▀▄▀▀▄▄\n ▀ █▄ ▄▄ ▀▄ ▀\n █ ▄▄▄▄▄ ▄▀▄ \n █ ▄▄ █▄▀ \n ▄█▄▄▄██ █ \n █▀▄█▄▄▄▄█▀▄ \n █▄▄█▄▄▄█▄▄█ "], ["sleep_2", " \n ▄▄ ▄▄▄▄▄▄ ▄▄ \n █ ▄▀ ▀▄ ▀▄\n █▀ ▀▀ █ \n █▀▀▀▀▀▄█▄▀ \n ▀▄██▄▄█ █ \n █▀▄█▄▄▄▄█▀▄ \n █▄▄█▄▄▄█▄▄█ "], ["walk_1", " ▄▀▀▄▀▀▀▀▀▀▄▀▀▄▄\n ▀ █▄ ▄█▀ ▀▄ ▀\n █ ▄▄▄▄▄ ▄▀▄ \n █ ▄▄ █▄▀ \n █▄▄▄██ █ \n ▄▀█▄▄▄▄█▀▄ \n ▀▄▀▄█▄▀▄▄▀ \n █▄▄█ ▀▄▄█ "], ["walk_2", " ▄▄ ▄▄▄▄▄▄ ▄▄ \n █ ▄▀ ▄▄ █ ▀█\n █▀ ▀▀ █ \n ▀▄▀▀▀▀▀▄▀▄▀ \n ▀▄▀▀ ▄█▀▄ \n ▄█▀▀▀▀█▄▀ \n █▄█▀█▀██▄█ \n █▄▄▄▀▀▀▄▄▄█ "]]], + ["junkmon", [["angry", " ▄▀▀█▄ \n ▀▄▄█▀▀▄ \n ▄▄▄██ ▄▀▀▄ \n █ ▄▄▄▄█ ▄█▄▀▄\n █▄█▄▄▄▄▄██ █ █\n ▄▀ ▄█ ▄▄████▄\n ▀▄▄▄▄▄▄▀ ██ ██\n █▄█▀█▄█▄▀▀████▀"], ["attack", " ▄▀▀▀▄▄ \n █ ████▄ ▄▄ \n ▀▀███▀ ▀█ █ \n ▄▀▀▀▀▀▄▄█ ▄▀ \n ▄▀▄▀▀▀▀▀████▀ \n ▀█▀▀█▀▀██▄████▄\n▄█ ▀▀ █ ██ ██\n█▄█▀▀▀█▄█▀▀████▀"], ["eat_1", " ▄▀▀█▄ \n ▀▄▄██▀▄ \n ▄▀▀▀▀▀▄▀ ▀▄ \n ▄▀▄▀▀▀▀▀▄▄▄█▄▀▄\n ▀█▀█▀██▀▀▀▄ █ █\n █▄▄▄▀▀ ▄█████▄\n ▀████▄▄▀ ██ ██\n █▄█ █▄█▄▀▀████▀"], ["eat_2", " ▄▀▀█▄ \n ▀▄▄█▀▀▄ \n ▄▄▄██ ▄▀▀▄ \n █ ▄▄▄▄█ ▄█▄▀▄\n █▄█▄▄▄▄▄██ █ █\n ▄▀ ▄▀▄ ▄▄████▄\n ▀▄▄▄▄▄▄▀ ██ ██\n █▄█▀█▄█▄▀▀████▀"], ["happy", " ▄▀▀█▄ \n ▀▄▄██▀▄ \n ▄▀▀▀▀▀▄▀ ▀▄ \n ▄▀▄▀▀▀▀▀▄▄▄█▄▀▄\n ▀█▀▀▀█▀▀▀▀▄ █ █\n █▄▄▄▀ ▀ ▄█████▄\n ▀████▄▄▀ ██ ██\n █▄█ █▄█▄▀▀████▀"], ["injured_1", " ▄▄▄ \n █ ██▄ \n ▀███ █▄ \n ▄▀▀▀▀▀▄▀ █ ▄ \n ▄▀▄▀▀▀▀▀▄▄▀▀█ █\n ▀█▀▀▀██▀▀▄████▄\n █▄▄ ▄▄▄▄███ ██\n█▄▄█▀█▄█▄▄▀████▀"], ["injured_2", " ▄▄▄ \n █ ██▄ \n ▀███ █▄ \n ▄▄▄▄█▄▀ █ ▄ \n █ ▄▄▄▄█▄▄▀▀█ █\n █▄█▄▄▄▄▄█ ▄▄█▄▀\n █▄ ▄▄▄███▀▀██\n█▄▄█▀█▄█▄▄▀████▀"], ["sleep_1", " ▄▄▄ \n █ ██▄ \n ▀███ █▄ \n ▄▄▄▄█▄▀ █ ▄ \n █ ▄▄▄▄█▄▄▀▀█ █\n █▄█▄▄▄▄▄█▄████▄\n █▄ ▄▄▄▀██ ██\n █▄█▀█▄█▄▄▀████▀"], ["sleep_2", " ▄▄▄ \n █ ██▄ \n ▀███ █▄ \n ▄▀▀▀▀▀▄▀ █ ▄ \n ▄▀▄▀▀▀▀▀▄▄▀▀█ █\n ▀█▀▀▀██▀▀▄████▄\n █▄ ▄▄▄▀██ ██\n █▄█▀█▄█▄▄▀████▀"], ["walk_1", " ▄▀▀█▄ \n ▀▄▄█▀▀▄ \n ▄▄▄██ ▄▀▀▄ \n █ ▄▄▄▄█ ▄█▄▀▄\n █▄█▄▄▄▄▄██ █ █\n ▄▀ ▀▄█▀ ▄▄████▄\n ▀▄▄▄▄▄▄▀ ██ ██\n █▄█▀█▄█▄▀▀████▀"], ["walk_2", " ▄▄▄ \n █ ██▄ \n ▀███ █▄ \n ▄▀▀▀▀▀▄▀ █ ▄ \n ▄▀▄▀▀▀▀▀▄▄▀▀█ █\n ▀█▀█▀██▀▀▄████▄\n █▄ ▀█▄▄▀██ ██\n █▄█▀█▄█▄▄▀████▀"]]], + ["justimon_blitz_arm", [["angry", " ▄▄▄▄▄█▀█ \n ▄▀ ▄ █ █▄▄ \n █ ▀▀ █▀▄▄██ \n ▀███ █▀▀▄ \n ▄▀█▄▄██▀▀▄ \n ▀▄█▀▀ █▄▄▀ \n ▄▀▀█▄█▀▀▄ \n █▄▄▄█ █▄▄▄█ "], ["attack", " ▄▄▄ \n ▄▀▀▀█▀▀▄▀ \n █ ▄█▄▄▀▀█▄ \n ▀▄█▀ ██▄█▀▀▀ \n ▄█▀▀▄█ █ \n ▄▀█▀▀ █▀▀▄ \n ▄▀▄██▄██▄▄█ \n █▄▄▄█▀▀▀█▄▄▄█ "], ["eat_1", " ▄▄▄ \n ▄▀▀▀█▀▀▄▀ \n █ ▄▀▄▀▄▄▀▀█▄ \n ▀▄▄▄▄▀█▄█▀▀▀ \n █▀▀▄█ █ \n ▄▀█▀▀ █▀▀▄ \n ▄▀▄██▄██▄▄█ \n █▄▄▄█▀▀▀█▄▄▄█ "], ["eat_2", " ▄▄▄▄▄█▀█ \n ▄▀ █ █▄▄ \n █ ▄▄█▀█▀▄▄██ \n ▀███ █▀▀▄ \n ▄█▄▄██▄▄▀ \n █ █▀▀ █ █ \n ▄▀▀█▄█▀▀█ \n █▄▄▄█ █▄▄▄█ "], ["happy", " ▄▄▄▄▄█▀█ \n ▄▀ ▄ █ █▄▄ \n █ ▀ ▀ █▀▄▄██ \n ▀███ █▀▀▄ \n ██▄▄██▄▄▀ \n █ █▀▀ █ █ \n ▄▀▀█▄█▀▀█ \n █▄▄▄█ █▄▄▄█ "], ["injured_1", " \n \n ▄▄▄▄▄█▀█ \n ▄▀▄ █ █▄ \n █ ▀▀▄██▀▄▄▀▄ \n ▀▄█▀ ██▀▀█▀▀ \n ▄▀▀█▀▀ █▄▀▀▄ \n █▄▄██▄██▄▄▄█ "], ["injured_2", " \n \n ▄▄▄ \n ▄▀▀▀█▀▀▄▀ \n █ █▄ █▄▄▀▀▄ \n █ ▄▄▀ █▄██▄█ \n ▄▀▀█▀▀ █▄▀▀▄ \n █▄▄██▄██▄▄▄█ "], ["refuse", " ▄▄▄ \n ▄▀▀▀█▀▀▄▀ \n █ ▄▄█▄▄▀▀█▄ \n ▀▄█▀ ██▄█▀▀▀ \n ▄█▀▀▄█ █ \n ▄▀█▀▀ █▀▀▄ \n ▄▀▄██▄██▄▄█ \n █▄▄▄█▀▀▀█▄▄▄█ "], ["sleep_1", " \n ▄▄▄ \n ▄▀▀▀█▀▀▄▀ \n █ ▄█▄▄▀▀█▄ \n ▀█▀ ██▄█▀▀▀ \n ▄█▀▀▄█ █ \n ▄▀▀█▀▀ ██▀▀▄ \n █▄▄██▄██▄▄▄█ "], ["sleep_2", " \n \n ▄▄▄▄▄█▀█ \n ▄▀ █ █▄▄ \n █ ▄▄▀██▀▄▄██ \n ▀█▄▄▀█▀▀▄ \n ▄▀▀█▄▄██▄▀▀▄ \n █▄▄█▄▄▄█▄▄▄█ "], ["walk_1", " ▄▄▄▄▄█▀█ \n ▄▀ █ █▄▄ \n █ ▄▄▀██▀▄▄██ \n ▀█▄▄▀█▀▀▄ \n ██▄▄▀█▄▄▀ \n █ █▄ ▄█ █ \n ▄▀▀███▀▀█ \n █▄▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄ \n ▄▀▀▀█▀▀▄▀ \n █ ▄█▄▄▀▀█▄ \n ▀▄█▀ ██▄█▀▀▀ \n ▄█▀▀▄█ █ \n ▄▀█▀▀ █▀▀▄ \n ▄▀▄██▄██▄▄█ \n █▄▄▄█▀▀▀█▄▄▄█ "]]], + ["justimon_x", [["angry", " ▄▄▄ \n ▄███▄▄█▄▄ \n ███▀ ▄▀ ▄▀ \n ▀▄▄▄██▄▄▀ ▄▀▀█\n ▀▄▄▄▄█▀▀█▄▄▀ \n ▄▀█ ▄▄ ▄▀▀ █ \n ▀▄██▄▄██▄▄█▀ \n █▄██▀ ▀▀█▄▄█ "], ["attack", " ▄▄▄▀▀█ \n ▄████▀█▀▀█ \n █▀▀ ▄█ █ \n ▀█▀▀ ▄██ ▄▀▀█ \n▄▀▀▀▀▀▀▀▄ █▄▄▀▄ \n█ ▄▄▄██▀▀▄▄▀ \n ▀███▄▄█▀█▄ \n █▄██ ▀█▄▄█ "], ["eat_1", " ▄▄▄▀▀█ \n ▄███▀▀█▀▀█ \n █▄▄▄▄█ █ ▄▄ \n █ ██▄▀▄ ▀▄\n ▄█▄▄▄█▀▄█▀▄▀▀▀\n █ █ ▄▄ █ ▄█ \n ███▄▄█▀██▀ \n █▄██▀ ▀█▄▄█ "], ["eat_2", " ▄▄▄ \n ▄███▄▄█▄▄ \n █▀██▀▀█▀▄▀ \n ▀▄▄▄▄▀█▄▀ ▄▀▀█\n ▀▄▄▄▄█▀▀█▄▄▀ \n ▄▀█ ▄▄ ▄▀▀ █ \n ▀▄██▄▄██▄▄█▀ \n █▄██▀ ▀▀█▄▄█ "], ["happy", " ▄▄▄▀▀█ \n ▄▀██▀▀██▀█ \n █▄▄▄▄██ █ \n ▄█ ▀▀▀ ██▀▀▄ \n█ ▀█▄▄▄█▀█ ▄█ \n ▀▄█ ▄▄ █▀▀▄ █ \n ▄██▄▄█▀█▄ ▀▀ \n █▄██▀ ▀█▄▄█ "], ["injured_1", " ▄▄▄ \n ▄███▄▄█▄▄ \n ██▀███▀ ▄▀ \n ▀▄▄▄▄▀▄▄█▄▄ \n ▀▄▄▄██ ▀█▄▀▀▄ \n ▄▀█▄▄▄ █▀█ ▀▄█ \n ▀█ ▀▄▄█▀ █▀▄ \n █▄▄▄█▀█▄▄█▄█ "], ["injured_2", " \n ▄▄▄▀▀█ \n ▄███████▄▄ \n █▀ ▀▀█ ▄▀ \n █▀▀▀▄█▀██▀▄▄ \n ▄▀█▀▀▀▀▄▄█▀▄ █ \n ▀█ ▀██▄▀ █▀▄▀▀ \n █▄▄▄█▀█▄▄█▄█ "], ["sleep_1", " \n ▄▄▄▀▀█ \n ▄██████▀▀█ \n █▀▀▀▀█ █▄ \n █▀▀▀ █▀▀▄▀▄ \n▄▄ ▄▀██▀██▀▀▄ █ \n█ ▀██▄▄█ █ █ \n█▄▄▄████▄▄▄█▀ "], ["sleep_2", " ▄▄▄ \n ▄███▄▄█▄▄ \n ██████▀ ▄▀ \n ▀▄▄▄▄▀▄▄▀▄ \n ▀▄▄▄▄█▀▀▄▀▄ \n▄▄ █ ▄▄ ▄█▀▀▄ █ \n█ ▀██▄▄█ █ █ \n█▄▄▄████▄▄▄█▀ "], ["walk_1", " ▄▄▄▀▀█ \n ▄████▀█▀▀█ \n █▀▀▀▄█ █ ▄▄ \n █▀▀ ▄██▄▀▄ ▀▄\n ▄▀▀▀▀▀▄▄█ ▀▀▀\n ▄▀▀▄▀▀▄█▀ █ \n ▀▄█████▀▄▄▀ \n █▄██▀ ▀█▄▄█ "], ["walk_2", " ▄▄▄ \n ▄███▄▄█▄▄ \n ████▀▄▀ ▄▀ \n ▀▄▄▄▀▀▄▄▀▄▀▀▄ \n ▀▄▄▄██▀▀▄▀▄▄█\n ▄▀█ ▄▄ ▄▀▀ █ \n ▀▄██▄▄██▄▄█▀ \n █▄██▀ ▀▀█▄▄█ "]]], + ["jyarimon", [["angry", " \n \n ▄▀▀▀█▀▄▀▀▀█▀ \n █▀▀▀▀▀ ▄▀ \n █ ▄ ▄ █ \n █ ▀▀ ▀▀ █ \n ▀▄▄▄▄▄▄▄▀ \n ▄▄▄▄▄ "], ["attack", " ▄▀▀▀█▀▄▀▀▀█▀ \n █▄▄█▄▄▀ ▄▀ \n ▀ ▄█ ▄█ \n \n \n ▄█▄▄█▄ \n ▀▄▄▄▄▄▄▄ \n ▄▄▄▄▄▄ "], ["eat_1", " ▄▄▄▄▄ ▄▄▄▄▄ \n █ ▄▀ █ ▄▀ \n █▀▀▀▀▀ █ \n █ █ █ █ \n █ ▄▄▄ █ \n ▀▄ ███ ▄▀ \n ▀▀▀▀▀▀▀ \n ▄▄▄▄ "], ["eat_2", " \n \n ▄▄▄ ▄▄▄ \n ▄▀▀▀▀▀ ▀▄ \n █▀▄ ▄▀▄▀▄▄▄█▄\n █ ▄▄▄▄ █ \n ▀▄▄▄▄▄▄▄▀ \n ▄▄▄▄▄▄▄ "], ["happy", " ▄▄▄▄▄ ▄▄▄▄▄ \n █ ▄▀ █ ▄▀ \n █▀█▀▀▀▄ █ \n █ ▀ ▀ ▀ ▀ █ \n █ █▄▄▄▄█ █ \n ▀▄ ████ ▄▀ \n ▀▀▀▀▀▀▀ \n ▄▄▄▄ "], ["injured_1", " \n \n \n \n ▄▄▄▄▄▄▄▄▄ \n ▄▀▄ ▄ ▄ ▀▄ \n █▀▀ ▀▀ ▀▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀▄▀ "], ["injured_2", " \n \n \n \n \n ▄▀▀▀▀▀▀▀▀▀▄ \n █▄█ █▄ ▀▄ █ \n █▄▄▄▄▄▄▄▄▄▄█▄█▄"], ["sleep_1", " \n \n \n \n ▄▄▄ ▄▄▄ \n ▄▀▀▀▀▀ ▀▄ \n █▄▄ ▄▄ ▀▄ ▀▄\n ▀▄▄▄▄▄▄▄▄▄█▀▀ "], ["sleep_2", " \n \n \n \n ▄███▄▀▀▀▄ \n ▄▀ ▄ ▀▄ \n █▀▀ ▀▀ ▀▄▄▄▀\n ▀▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " \n ▄▄▄▄▄ ▄▄▄▄▄ \n █ ▄▀ █ ▄▀ \n █▀▀▀▀▀ █ \n █ █ █ █ \n █ ▄▀▄ █ \n ▀▄▄▄▄▄▄▄▀ \n ▄▄▄▄▄ "], ["walk_2", " \n \n ▄███▄▀▀▀▄ \n ▄▀▄ ▄ ▄ ▀▄ \n █ ▀ ▄ ▀ ▀█▀▀▀\n ▀▄ ▀ ▀ ▄▀ \n ▀▀▀▀▀▀▀ \n ▄▄▄▄▄ "]]], + ["kabuterimon", [["angry", "▄▄ \n█ █ ▄█▀▄▄ \n█ ▀▄ ▀ ▀▄▄▀▀█ \n▀▄ ▄▀ █ █ \n ▀▄▀▀▀▄▄▄▄█▄▄█▄▄\n▄▀▀▄▄▄▄▄▄█▄ ▀▄▄▀\n▀▄█▄▄█▄▄▄█▄▄▄▀ \n█▄▄█▄█▄▄█▄▄▄▄█ "], ["attack", "█▀▄ ▄▄ \n█ ▀▄▀▀ ▀▀▄ ▄▄▄ \n▀▄ ▀ ▄█ █▀ █ \n █▄███▄▄▄ █ ▄▀ \n█ █████ █▀▄▀▀▀█\n▀▄█▀ ▀▄▄▄▄▀▄▄▀ \n ▄█▀▀█▀▀▀█▄▄█ \n█▄▄█▀▀▀▀█▄▄▄▄█ "], ["eat_1", "█▀▄ ▄▄ \n█ ▀▄▀▀▄▀▀▄ ▄▄▄ \n▀▄ ▀ ▄ █▀ █ \n █▄▀█▀▄▀ █▄ ▄▀ \n█ ██████▀█▄ █▀▀█\n█▄█▀ █ █▄▄█▄▀ \n ▄█▀▀█▀▀▀█▄█▄ \n█▄▄█▀▀▀▀█▄▄▄▄█ "], ["eat_2", "█▀▄ ▄▄ \n█ ▀▄▀▀▄▀▀▄ ▄▄▄ \n█ ▀ ▄ █▀ █ \n █ ▄▄▄▀ ▀ █ ▄▀ \n █ ▀▀▀█▀▄▀▀▀█\n▄▀▄▀▀█▀▀▀▀▄ █▄▀ \n▀▄█▀▀█▀▀▀█▄▄█ \n█▄▄█▀▀▀▀█▄▄▄▄█ "], ["happy", " █▀▄ ▄▄ \n █ ▀▄▀▀ ▀▀▄ ▄▀█ \n ▀▄ ▀ ▄▀▄ █▄▄█ \n ▄█▄███▄ █▄ █▄\n █ ██████▀█▀ ▄▀█\n ▀█▀ █ █▄█▄▀ \n ▄█▀▀█▀▀▀▄█▄▄ \n █▄▄█▀▀▀▀█▄▄▄▄█ "], ["injured_1", " \n▄▄ \n█ █ ▄█▀▄▄ ▄▄▄ \n█ ▀▄ ▀ ▀▄▀ █ \n▀▄ ▄▄ █ ▄▀ \n ▀▄▀▀▀▄▄▄▄▀█▀ ▀█\n ██▄▄▄▄▄▄▀ █▄▀ \n █▄▄█▄█▄█▄▄▄█▄█ "], ["injured_2", " \n \n▄▄ ▄▀█ █▀▄ \n█ █ ▄█▀▄▄▀ █ ▄▄\n█ ▀▄ ▀ ▀▄ █▀ █\n▀▄ ▄▄ █▀▀▄▀ \n▄▀▄▀▀▀▄▄▄▄▀▀▄ ▀▄\n█▄█▄▄▄▄▄▄█▄▄▄█▄█"], ["sleep_1", " \n█▀▄ ▄▄ ▄▄▄ \n█ ▀▄▀▀▄▀▀▄█ █ \n█ ▀ █ █ \n █ ▄▄▄ ▀▀ █▄█▀▀█\n▄▀█ ▀▀▀▀█▀▄ █ \n█ ██████▀ █ \n█▄▄█▄█▄▄█▄▄▄▄█ "], ["sleep_2", " ▄▄ \n █ █ ▄█▀▄▄ \n █ ▀▄ ▀ ▀▄▀▀█ \n ▀▄ ▄▄ █ █ \n ▀▄▀▀▀▄▄▄▄█▄█▄▄\n▄▀██▄▄▄▄▄▄▄▀▄ ▄▀\n█ █▄█▄▄█ █ \n█▄▄█▄█▄▄█▄▄▄▄█ "], ["walk_1", "█▀▄ ▄▄ \n█ ▀▄▀▀▄▀▀▄ ▄▄▄ \n█ ▀ ▄ █▀ █ \n █ ▄▄▄ ▀ █ ▄▀ \n █ ▀▀▀█▀▄▀▀▀█\n▄▀▄▀▀█▀▀▀▀▄ █▄▀ \n▀▄█▀▀█▀▀▀█▄▄█ \n█▄▄█▀▀▀▀█▄▄▄▄█ "], ["walk_2", "▄▄ \n█ █ ▄█▀▄▄ \n█ ▀▄ ▀ ▀▄▄▀▀█ \n▀▄ █ █ █ \n ▀▄▀▀▀▄▄▄▄█▄▄█▄▄\n▄▀▀▄▄▄▄▄▄█▄ ▀▄▄▀\n▀▄█▄▄█▄▄▄█▄▄▄▀ \n█▄▄█▄█▄▄█▄▄▄▄█ "]]], + ["kakkinmon", [["angry", " \n \n ▄████▀▀▀▄▄ \n ▄▀▀▀▄▄▀▀▀ ▄▄▀▄\n █▄▀▄▄▄▄▄▄▀▀▄▄▄▀\n █▀▄▄▄▄▄▄▀▀██▄ \n ██▄ ▄█ ▄▀ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["attack", " ▄▄██▀▀▀▄▄ \n ▄▀█▄▄█▀▀ ▄▀▄ \n▄▀▄ ▀▀▄▄▄▄▀▀▄▄▀ \n▀▄▀▀▀▀▄▄▄▄███▄ \n ▀█▀▀ ▄█ ▀███ \n ▀██▄ ▀▄\n ███ ▄▀▀\n █▄▀▀█▄▀▄█ "], ["eat_1", " ▄▄███▀▀▀▄▄ \n ▄▀▀▀▄▄▀▀▀ ▄▀▄\n █▀▄ ▄▄▀▄▄▀\n █▄▀▀▀▀▀▀▄▄█▄ \n █ ▀▀▀▀▀▀ ▀█ \n █ ████ █ \n █ ▀▀▀▀ █ \n █▄▀▀▄█▀▄▀ "], ["eat_2", " \n ▄▄▄▄▄▄▄ \n ▄██▀▀█▄▄ ▀▀▄ \n ▄▀▄ ▀▀ ▄▄▀▀ █\n ▀█▄▀▀▀▀▀▀▄▄██▀ \n █ ▀█▀▀▀▀▄ ▀▀█ \n ▀▄▀ ▀ ▀ ▀ █ \n █▄▀▀▄█▀▄▀ "], ["happy", " ▄▄███▀▀▀▄▄ \n ▄▀▀▀▄▄▀▀▀ ▄▀▄\n █ ▀▄▄▄▄▄▄▀▀▀▄▄▀\n █▀▄▄▄▄▄▄▀▀▀█▄ \n █▄▀▄ ▄▀▄ ▀█ \n █ ▄▄▄▄▄▄ ▄▀ \n █ ▀▀▀▀ █ \n █▄▀▀▄█▀▄▀ "], ["injured_1", " \n \n ▄████▀▀▀▄▄ \n ▄▀▀▀▄▄▀▀▀ ▄▄▀▄\n █▄▀▄▄▄▄▄▄▀▀▄▄▄▀\n █▀▄▄▄▄▄▄▀▀██▄ \n █ ▄█ █▄ ▄▀ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n ▄▄▄▄▄▄ \n ▄██▀▀█▄▄ ▀▀▄ \n ▄▀▄▀▀██▀▀ ▄▀ █\n ▀▄▀▄▄▄▄▄▄▀▀▄█▀ \n █▀▄▄▄▄▄▄▀▀▀▀█ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["sleep_1", " \n \n \n ▄████▀▀▀▄▄ \n ▄▀▀▀▄▄▀▀▀ ▄▄▀▄\n █▄▀▄▄▄▄▄▄▀▀▄▄▄▀\n █▀▄▄▄▄▄▄▀▀███ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n ▄████▀▀▀▄▄ \n ▄▀▀▀▄▄▀▀▀ ▄▄▀▄\n █▄▀▄▄▄▄▄▄▀▀▄▄▄▀\n █▀▄▄▄▄▄▄▀▀██▄ \n █ ▄▄ ▄▄ ▄▀ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " \n ▄▄▄▄▄▄▄ \n ▄██▀▀█▄▄ ▀▀▄ \n ▄▀▄ ▀▀ ▄▄▀▀ █\n ▀█▄▀▀▀▀▀▀▄▄██▀ \n █ █▀▀▀▀█ ▀▀█ \n ▀▄ ▀▀ █ \n █▄▀▀▄█▀▄▀ "], ["walk_2", " \n \n ▄████▀▀▀▄▄ \n ▄▀▀▀▄▄▀▀▀ ▄▄▀▄\n █▄▀▄▄▄▄▄▄▀▀▄▄▄▀\n █▀▄▄▄▄▄▄▀▀██▄ \n █ ▀ ▄▄ ▀ ▄▀ \n ▀▄▄▄▄▄▄▄▄▄▀ "]]], + ["kapurimon", [["angry", " \n \n \n█▀▄ ▄▀█ ▄▄▄▄ \n▀▄ ██▀ ▄█▄█ ▀▀██\n██▄ ▄█ ▀███▄ █\n█ ▄▀▄ ▀██ ▀██▄▀\n ▀▄▄▄▄▄▄█▄▄▄▀▀ "], ["attack", "▄▄ ▄▄ \n█ █▄▄▄▀ █ ▄████▄\n▄█ ▀▀ ▄▀██▀ ▀██\n█ ▀▄ ▀ █▄ ▄▀\n▀█▄██▄█▄ █▀█▄▄▀ \n ███████ █▄█▀ \n██▀██▀█▀▄█ \n▀▄▄▄▄▄▄▄▀ "], ["eat_1", " \n ▄▄▄▄ \n█▀▄ ▄▀█▄▀ ▀██\n▀▄▀██▀ ▄████▄ █\n█ █ █ ▀▄ ▀███ \n█▄▄█▄▄▄ █▄▄▀▀ \n█▀██▄▄▀ ▄█ \n ▀▄▄▄▄▄▄▀ "], ["eat_2", " \n \n \n█▀▄ ▄▀█ ▄▄▄▄ \n▀▄ ██▀ █▄█ ▀▀██\n█▄▀▄ ▄▀▄ ▀██▄ █\n█ ▄▄▀▄▄ █▀██▄▀\n▀▄▄▄▄▄▄▄▄█▄▄▀▀ "], ["happy", " ▄▄▄▄ \n ▄▀▀████\n █▀▄ ▄▀█ ▀█\n ▀▄█▀▀▀█ ██▄ ▄▀\n █▀ ▀ ▀ ▀ ▀▄▀█▀ \n █▀▄▄█▄▄▀ █▄▀ \n █ ███ ▄█ \n ▀▀▄█▄█▄▄▄▀ "], ["injured_1", " \n \n \n▄▄▄ ▄▄▄ ▄▄▄▄ \n▀▄ ██▀ ▄█▄█ ▀▀██\n█▄▄ ▄▄ ▀███▄ █\n█ ▄██ ▀██▄▀\n ▀▄▄▄▄▄▄█▄▄▄▀▀ "], ["injured_2", " \n \n \n \n█▀▀▄▄▄▀▀█ ▄▄▄▄ \n▄▀ ▀▀ ▀████ ▀██\n█▀▀ ▀▀▄██ ▀█▄ █\n▀▄▄▄▄▄▄▄█▄▄██▄▄▀"], ["sleep_1", " \n \n \n █▀▄ ▄▀█ \n █▄ ▀██ ▄▀ \n █▀ ▄▄ ▄▄▄▀▀▄ \n █ ▄█ ▀█▄ █ \n ▀▄▄███▄▄▄█▄▀ "], ["sleep_2", " \n \n \n ▄▄▄▄ ▄▄▄ \n ▀▄▄ ▀██ ▄▄█ \n █▀ ▄▄▀▀▀█▄ ▀▄ \n █ ▄█▄ ▀█▄█ \n ▀▄███▄▄▄▄▄█▀ "], ["walk_1", " \n ▄▄▄▄ \n ▄▀ ▀██\n█▀▄ ▄▀████▄ █\n▀▄ ██▀ ▄█ ▀███ \n█ █ █ ▀▄▄▄▀▀ \n█ ▄▀▄▄ ▀██ \n ▀▄▄▄▄▄▄▀ "], ["walk_2", " \n \n \n▄▄▄ ▄▄▄ ▄▄▄▄ \n▀▄ ██▀ ▄█ █ ▀▀██\n█ █ █ ▀███▄ █\n█ ▄▀▄▄ ▀██ ▀██▄▀\n ▀▄▄▄▄▄▄█▄▄▄▀▀ "]]], + ["kazuchimon", [["angry", " ▄ ▄▄ ▄▄ ▄ \n▄█ ▀█▄ ▄█▀ █▄\n██ ▄▀█▀ ▀▀▄ ██\n█ █▄▀ ▄█ █ █ █\n█▄ ██▄▄▄▄▄█▄█ ▄█\n██▀▀▄▀▄ ▄▀ ▄▀▀██\n █▄▄▀▀█▀█▀▀▀▄▄█ \n ██▄███▀▀███▄██ "], ["attack", " ▄▄ ▄▄ \n ▀█▄ ▄█▀ ▄\n█ ▄▀█▀ ▀▀▄ ▄█\n█▀▄█▀ ▄█▀▄▄██ █\n█▄▀██▄▄▄▄██▀ ▄▀\n ▀█▄██▀▀ ▄▄█▀ \n█▀█▄ ▄▄█▀▀▀█▄█ \n █▄████▀▀███▄██ "], ["eat_1", " █ ▄█▀ ▀█▄ █ \n██ ▀█▄█▀▄▄ ██\n█▀▄ █ ▀ ▄▄ █ ▄▀█\n█ ▀█▄▄▄▄▀ ▄▀▄▀ █\n██▄█▀███▀█▀▀█▄█▀\n▀█ █▄█▄█▄▄█ █ \n ▀█▀▄▄▀ ▀▄▄▄▀█▀ \n █▄█▄▄█▀▀█▄▄█▄█ "], ["eat_2", " ▄ ▄▄ ▄▄ ▄ \n▄█ ▀█▄ ▄█▀ █▄\n██ ▄▀█▀ ▀▀▄ ██\n█ █▄▀ ▄▀▄ █ █ █\n█▄ ██▄▄▄▄▄█▄█ ▄█\n██▀▀▄▀▄ ▄▀ ▄▀▀██\n █▄▄▀▀█▀█▀▀▀▄▄█ \n ██▄███▀▀███▄██ "], ["happy", " █ ▄█▀ ▀█▄ █ \n██ ▀█▄█▀▄▄ ██\n█▀▄ █ ▀ ▄ █ ▄▀█\n█ ▀█▄▄▄▀ ▀▄▀▄▀ █\n██▄█▀███▀█▀▀█▄█▀\n▀█ █▄█▄█▄▄█ █ \n ▀█▀▄▄▀ ▀▄▄▄▀█▀ \n █▄█▄▄█▀▀█▄▄█▄█ "], ["injured_1", " ▄ ▄▄ ▄▄ ▄ \n▄█ ▀█▄ ▄█▀ █▄\n██ ▄▀█▀ ▀▀▄ ██\n█ █▄▀ █▄ █ █ █\n█▄ ██▄▄▄▄▄█▄█ ▄█\n██▀▀▄▀▄ ▄▀ ▄▀▀██\n █▄▄▀▀█▀█▀▀▀▄▄█▀\n ██▄███▀▀███▄██ "], ["injured_2", " ▄ ▄ \n▀▄ ▄█▀ ▀█▄ ▄▄▀\n▄█▄ ▀█▄█▀▄▄ █▄\n██ ▄█ ▀ ▄ █ ██\n█ ██▄ ▀▀▄▀ █ █\n█▄ █▀█▀▀▀█▀▀█ ▄█\n██▀▀█▄█▄█▄▄█▀▀██\n █▄▄█▄█▄█▄▄█▄▄█ "], ["sleep_1", " \n █ ▄█▀ ▀█▄ █ \n██ ▀█▄█▀▄▄ ██\n█▀▄ █ ▀ █ ▄▀█\n█ ▀██▀ ▀▀▄▀▄▀ █\n██▄█▀█▀▀▀█▀▀█▄██\n▀█ █▄█▄█▄▄█ █▀\n ███▄▄█▄█▄▄▄███ "], ["sleep_2", " ▄ ▄▄ ▄▄ ▄ \n▄█ ▀█▄ ▄█▀ █▄\n██ ▄▀█▀ ▀▀▄ ██\n█ █▄█▄ ▄▄ █ █ █\n█▄ ██▄▄▄▄▄█▄█ ▄█\n██▀▀▄▀▄ ▄▀ ▄▀▀██\n █▄▄▀▀█▀█▀▀▀▄▄█ \n ██▄███▀▀███▄██ "], ["walk_1", " █ ▄█▀ ▀█▄ █ \n██ ▀█▄█▀▄▄ ██\n█▀▄ █ ▀ ▄▄ █ ▄▀█\n█ ▀█▄ ▀▀ ▄▀▄▀ █\n██▄█▀█▀▀▀█▀▀█▄█▀\n▀█ █▄█▄█▄▄█ █ \n ▀█▀▄▄▀ ▀▄▄▄▀█▀ \n █▄█▄▄█▀▀█▄▄█▄█ "], ["walk_2", " ▄ ▄▄ ▄▄ ▄ \n▄█ ▀█▄ ▄█▀ █▄\n██ ▄▀█▀ ▀▀▄ ██\n█ █▄▀ ▄█▀ █ █ █\n█▄ ██▄▄▄▄▄█▄█ ▄█\n██▀▀▄▀▄ ▄▀ ▄▀▀██\n █▄▄▀▀█▀█▀▀▀▄▄█ \n ██▄███▀▀███▄██ "]]], + ["keemon", [["angry", " \n \n ▄▄ ▄▄ \n ███████ \n █▀██▀ ███ \n █▀█▀█▀▀██ \n ▀▄ ▄ ▄ █▀ \n ▀▀▀▀▀ "], ["attack", " \n \n \n \n ▄██▄▄██ \n ▄████▀██▄ \n █▄██▄▄███ \n ▀█▄▄███▀ "], ["eat_1", " \n \n \n \n ▄██▄▄██ \n ▄████▀██▄ \n █▄██▄█▄██ \n ▀█▄▄███▀ "], ["eat_2", " \n \n \n ▄██▄▄██ \n ▄▀███▀██▄ \n █▄███▄███ \n ██ ████▀ \n ▀█▄▄███▀ "], ["happy", " \n \n ▄▄ ▄▄ \n ███████ \n █▀██▀▄▀██ \n ██▀▀▀▀███ \n ▀█▄ ▄██▀ \n ▀▀▀▀▀ "], ["injured_1", " \n \n \n \n ▄▄ ▄▄ \n ███████ \n █▀██ ▀███ \n █████████ "], ["injured_2", " \n \n \n \n \n ▄██▄▄██ \n ▄███▀███▄ \n ▄█▄██▄▄███▄ "], ["refuse", " \n \n \n \n ▄██▄▄██ \n ▄████▀██▄ \n █▄██▄▄███ \n ▀█▄█▄█▄█▀ "], ["sleep_1", " \n \n \n \n ▄▄ ▄▄ \n ███████ \n █▀██▀▀███ \n █████████ "], ["sleep_2", " \n \n \n \n \n ▄██▄▄██ \n ▄███████▄ \n █▄██▄▄███ "], ["walk_1", " \n \n \n \n ▄██▄▄██ \n ▄████▀██▄ \n █▄██▄▄███ \n ▀█▄▄███▀ "], ["walk_2", " \n \n \n \n ▄▄ ▄▄ \n ███████ \n █▀██▀ ███ \n █████████ "]]], + ["kendogarurumon", [["angry", " ▄▄ ▄▄▄ \n █▄▀▀▀██ █ \n▄█▄▄ ██ █▄▄▄ \n█▄█▄▄▄▄ █▀ ▄█▄ \n▀███████ █▀▀▄▄▄█\n █▀▀▀▀▀▀ █ █ ▀▄ \n ▄▀▀▀█▀▀▀▄▄██▀ █\n█▄█▄█▄█▄▄█ █▄█▄█"], ["attack", " ▄▀█▄▄▄█▀█ \n █▀ ▄▄ █ \n▄█▄▄ ██ ▄█▄▄▄ \n█ ▀ ▄█ ▄█▄ \n █▀▀▀▀█▀ █▀▀▄▄▄█\n ▄▀▀▄█▄▄▄▀ █ ▀▄ \n█ █ ▄██▄▄██▀ █\n ▀▀▀▀▀▀ ▀█▄█▄█"], ["eat_1", " \n ▄▄ ▄▄▄ \n █▄▀▀▀▀▀ █▄▄▄ \n ▄▀ ▄▀▄ █ ▄█▄ \n█▀█▀ █▀▀█▄▄█\n▀▄▄▄▄▄▄▄▀█ █ ▀▄ \n ▄▀ ▀█▀▀▀▄▄██▀ █\n█▄█▄█▄█▄▄█ █▄█▄█"], ["eat_2", " ▄▄ ▄▄▄ \n █▄▀▀▀██ █ \n▄█▄▄ ██ █▄▄▄ \n█▄█▄▄▄▄ █▀ ▄█▄ \n▀███████ █▀▀▄▄▄█\n █▀▀▀▀▀▀ █ █ ▀▄ \n ▄▀▀▀█▀▀▀▄▄██▀ █\n█▄█▄█▄█▄▄█ █▄█▄█"], ["happy", " ▄▄ ▄▄▄ \n █▄▀▀▀▀▀ █ \n▄█▄▄ ▄▀▄ █▄▄▄ \n█▄█▄▄▄▄ █▀ ▄█▄ \n▀███████ █▀▀▄▄▄█\n █▀▀▀▀▀▀ █ █ ▀▄ \n ▄▀▀▀█▀▀▀▄▄██▀ █\n█▄█▄█▄█▄▄█ █▄█▄█"], ["injured_1", " \n \n ▄▀█▄▄▄█▀█▄▄▄ \n █▀ █ ▄█▄ \n▄█▄▄ █▄ ▄█▀▄▄▄█\n█ ▀ ▄█ █ ▀▄ \n █▀▀▀█▀▀▀▄ ██▀ █\n█▄█▄█▄█▄▄█▄█▄█▄█"], ["injured_2", " \n \n ▄▄ ▄▄▄ \n █▄▀▀▀▀▀ █▀▀█ \n ▄▀ ▄ █▄▀▀▀▄\n█▀█▀ ▀▀ █▀▄▀█▀▀\n▀▄▄▄▄▄▄▄█▀ █▄▄▀▄\n█▄█▄█▄█▄▄█▄█▄█▄█"], ["refuse", " \n ▄▄ ▄▄▄ \n █▄▀▀▀▀▀ █▄▄▄ \n ▄▀ ▄█ █ ▄█▄ \n█▀█▀ █▀▀▄▄▄█\n▀▄▄▄▄▄▄▄▀█ █ ▀▄ \n ▄▀ ▀█▀▀▀▄▄██▀ █\n█▄█▄█▄█▄▄█ █▄█▄█"], ["sleep_1", " \n ▄▄ ▄▄▄ \n █▄▀▀▀▀▀ █▄▄▄ \n ▄▀ ▄▄ █ ▄█▄ \n█▀█▀ █▀▀▄▄▄█\n▀▄▄▄▄▄▄▄▀█ █ ▀▄ \n ▄▀ ▀█▀▀▀▄ ██▀ █\n█▄█▄█▄█▄▄█▄█▄█▄█"], ["sleep_2", " \n \n ▄▀█▄▄▄█▀█▄▄▄ \n █▀ █ ▄█▄ \n▄█▄▄ ▀▀ ▄█▀▄▄▄█\n█ ▀ ▄█ █ ▀▄ \n █▀▀▀█▀▀▀▄ ██▀ █\n█▄█▄█▄█▄▄█▄█▄█▄█"], ["walk_1", " ▄▄ ▄▄▄ \n █▄▀▀▀▀▀ █ \n ▄▀ ▄█▀ █▄▄▄ \n█▀█▀ ▀▀ █▀ ▄█▄ \n▀▄▄▄▄▄▄▄▀█▀▀▄▄▄█\n ▀▄▄ ▄▀ █ █ ▀▄ \n ▄▀ ▀█▀▀▀▄▄██▀ █\n█▄█▄█▄█▄▄█ █▄█▄█"], ["walk_2", " ▄▀█▄▄▄█▀█ \n █▀ ▄▄ █ \n▄█▄▄ ██ ▄█▄▄▄ \n█ ▀ ▄█ ▄█▄ \n █▀▀▀▀█▀ █▀▀▄▄▄█\n ▄▀▀▄█▄▄▄▀ █ ▀▄ \n█ █ ▄██▄▄██▀ █\n ▀▀▀▀▀▀ ▀█▄█▄█"]]], + ["kentaurosmon", [["angry", "▄▀█▄▀▄▄▄▄▄▀▄▄▄█▀\n▄ █▄█ ▄▄ █ ▄▄█ \n▄▀▀█▄▀▀▄█▀█▀ ▄▄█\n█▀▀▄█▄▄▄▀█▀█▀ ▀▄\n▀▄ ▄▄█▄▄█▄▀█▀▀▄█\n█ █▄▄▀ ▀▄▄██▄▄▀▄\n █▄█ ▄ █▄ ▄▀▄▀\n█▄▄▄█▄▄▄▄█▄█▄█▄█"], ["attack", " ▀█▄ ▄▄▄▄▄ ▄▄▄█▀\n ▀▄█ ▄▄ █ ▄▀ \n ▄▀█▄▀▀▄██▀█▀▀▄ \n█▄▄▀▄▄▄▄▀▄█ ▄▄█\n█ █▄ ▄▀██▀ █\n▀▄▀█▀▄▀███▄█▀▀▄▀\n ▄██▄█▄█ ▄ █▀█ \n█▄▄█▀▀▀▀▀▄█▄█▄█ "], ["eat_1", " ▄ ▄▄▀▀▀▀▀▄▀▀▄ ▄\n ▀█▄▀▄▄▀█▄█▄▄▄▀▀\n▄▀▀█▀ ▀█▀▄▀ ▀▄\n▀██ ▀▀▀▀ ██▄▄▀█▀\n█ ▀█▄ ▄▄█▄▀█ █\n█ ▄█ █ █▄▄██▄▄ █\n ▀▄█████▄ ▄█▄▄█ \n █▄▄█▀▀▀▄█▄█▄█ "], ["eat_2", " ▄ ▄▄▀▀▀▀▀▄▀▀▄ ▄\n ▀█▄▀▄▄▀█▄█▄▄▄▀▀\n▄▀▀█▀ ▀█▀▄▀ ▀▄\n▀██ ▀▀▀▀ ██▄▄▀█▀\n█ ▀█▄ ▄▄█▄▀█ █\n█ ▄█ █ █▄▄██▄▄ █\n ▀▄█████▄ ▄█▄▄█ \n █▄▄█▀▀▀▄█▄█▄█ "], ["happy", " ▄ ▄▄▀▀▀▀▀▄▀▀▄ ▄\n ▀█▄▀▄▄▀█▄█▄▄▄▀▀\n▄▀▀█▀ ▀█▀▄▀ ▀▄\n▀██ ▀▀▀▀ ██▄▄▀█▀\n█ ▀█▄ ▄▄█▄▀█ █\n█ ▄█ █ █▄▄██▄▄ █\n ▀▄█████▄ ▄█▄▄█ \n █▄▄█▀▀▀▄█▄█▄█ "], ["injured_1", " ▄ ▄▄▀▀▀▀▀▄▀▀▄ ▄\n ▀█▄▀▄▄▀█▄█▄▄▄▀▀\n▄▀▀█▀ ▀█▀▄▀ ▀▄\n▀██ ▀▀▀▀ ██▄▄▀█▀\n█ ▀█▄ ▄▄█▄▀█ █\n█ ▄█ █ █▄▄██▄▄ █\n ▀▄█████▄ ▄█▄▄█ \n █▄▄█▀▀▀▄█▄█▄█ "], ["injured_2", " \n \n▀█▄ ▄▄▄▄▄ ▄▄▄█▀ \n ▀▄▀ █ ▄█ \n▄▀▀▄ ▄████▀ ▀▄\n█▀▀▄▀▀▀ ▄▀█▄▄▀█▀\n█ ▄▄██▀▀█▀█▄▄ ██\n▀█▄▄█▄██▀▄█▄▄█▄█"], ["refuse", " ▄ ▄▄▀▀▀▀▀▄▀▀▄ ▄\n ▀█▄▀▄▄▀█▄█▄▄▄▀▀\n▄▀▀█▀ ▀█▀▄▀ ▀▄\n▀██ ▀▀▀▀ ██▄▄▀█▀\n█ ▀█▄ ▄▄█▄▀█ █\n█ ▄█ █ █▄▄██▄▄ █\n ▀▄█████▄ ▄█▄▄█ \n █▄▄█▀▀▀▄█▄█▄█ "], ["sleep_1", " ▄ ▄▄▀▀▀▀▀▄▀▀▄ ▄\n ▀█▄▀▄▄▀█▄█▄▄▄▀▀\n▄▀▀█▀ ▀█▀▄▀ ▀▄\n▀██ ▀▀▀▀ ██▄▄▀█▀\n█ ▀█▄ ▄▄█▄▀█ █\n█ ▄█ █ █▄▄██▄▄ █\n ▀▄█████▄ ▄█▄▄█ \n █▄▄█▀▀▀▄█▄█▄█ "], ["sleep_2", " ▄ ▄▄▀▀▀▀▀▄▀▀▄ ▄\n ▀█▄▀▄▄▀█▄█▄▄▄▀▀\n▄▀▀█▀ ▀█▀▄▀ ▀▄\n▀██ ▀▀▀▀ ██▄▄▀█▀\n█ ▀█▄ ▄▄█▄▀█ █\n█ ▄█ █ █▄▄██▄▄ █\n ▀▄█████▄ ▄█▄▄█ \n █▄▄█▀▀▀▄█▄█▄█ "], ["walk_1", " ▄ ▄▄▀▀▀▀▀▄▀▀▄ ▄\n ▀█▄▀▄▄▀█▄█▄▄▄▀▀\n▄▀▀█▀ ▀█▀▄▀ ▀▄\n▀██ ▀▀▀▀ ██▄▄▀█▀\n█ ▀█▄ ▄▄█▄▀█ █\n█ ▄█ █ █▄▄██▄▄ █\n ▀▄█████▄ ▄█▄▄█ \n █▄▄█▀▀▀▄█▄█▄█ "], ["walk_2", " ▀█▄ ▄▄▄▄▄ ▄▄▄█▀\n ▀▄█ ▄▄ █ ▄▀ \n ▄▀█▄▀▀▄██▀█▀▀▄ \n█▄▄▀▄▄▄▄▀▄█ ▄▄█\n█ █▄ ▄▀██▀ █\n▀▄▀█▀▄▀███▄█▀▀▄▀\n ▄██▄█▄█ ▄ █▀█ \n█▄▄█▀▀▀▀▀▄█▄█▄█ "]]], + ["kentaurosmon_x", [["angry", "▄▄ ▄▄▄▄▄ \n▀▄▀▄▀▀▄▄▀ █▀█ \n ▄▀ ▄█ █ █▀▀ \n█ ▄▄█▄█▄█▄▄▄▄ \n ▀█▀▀▄ ▀▄ █▄ █▄█\n▄█ ▀▀▄█ █ █▀▄\n█▄████▄███████▄█\n█▄▄█▀▀█▄▄█▄▄█▄▄█"], ["attack", " ▄▀█▄ ▄▄▀▀█▀█▄▄\n █ █▀▄▀ ▄▀█ ▄█▄▀\n █ █▀ ▀▀▄█▄▀ \n ███▄▄▄█▀▀▄ █▄▀▄\n▀▄▄▄▄▄▄█▄▄▄▄▀█▄▀\n █▀█▄▄▄▄██ ▄█ █\n █ ▀▄█▄▄█▄██▄▄█▀\n ▀▄██▄▄█▄▄█▄▄█ "], ["eat_1", "█▀▄ ▄▄▀▀█▀█▄▄ \n ▀▄▀ ▀█ ▄█▄▀ \n▄▀ ▀▀▄█▄▀▄ \n▀████▄ █▀██▀▄▀▀▄\n███▄▄▀ █▄ █▄ █▄▀\n██▄▄▄▄▀█▄▄█▄▄█ █\n █▄██▄▄█▄▄█▄▄█▀\n █▄▄██▄▄█▄▄█▄▄█ "], ["eat_2", "▄▄ ▄▄▄▄▄ \n▀▄▀▄▀▀▄▄▀ █▀█ \n ▄▀▄▀▄ █ █▀▀ \n█ ▄▄█▄█▄█▄▄▄▄ \n ▀█▀▀▄ ▀▄▄▀▄▄▀▄█\n▄█ ▀▀▄██ █ █▄\n█▄████▄█████████\n█▄▄█▀▀█▄▄█▄▄█▄▄█"], ["happy", "█▀▄ ▄▄▀▀█▀█▄ \n ▀▄▀▄ ▀█ █▄▄▀ \n▄▀ ▀ ▀▄▀▄█ █ \n▀▄▄▄█▀▀██ ▄█▀▀▄\n ▄▀ ▄█ ▄█▄██ █▄▀\n▄▀▄▄▄▄▀██▀█▄▄█ █\n▀▀█▄██▄▄█▄▄█▄▄█▀\n █▄▄██▄▄█▄▄█▄▄█ "], ["injured_1", " \n▄▄ ▄▄▄▄▄ \n▀▄▀▄▀▀▄▄▀ █▀█ \n ▄▀ █▄ █ █▀▀ \n█ ▄▄██▀██▀▄▀▀▄\n █▀▀█▄ █▄ █▄ █▄▀\n▄▀▄▄▄▄▀█▄▄█▄▄█ █\n▀██▄██▄▄█▄▄█▄▄█ "], ["injured_2", " \n \n█▀▄ ▄▄▀▀█▀█▄▄ \n ▀▄▀▄ ▀█ ▄█▄▀ \n▄▀ ▀▀▄█▀██▀▄▀▀▄\n▀▄▄▄█▀▀█▄ █▄ █▄▀\n▄▀▄▄▄▄▀█▄▄█▄▄█ █\n▀██▄██▄▄█▄▄█▄▄█ "], ["sleep_1", " \n▄▄ ▄▄▄▄▄ \n▀▄▀▄▀▀▄▄▀ █▀█ \n ▄▀ ▄▄ █ █▀▀ \n█ ▄▄▀█▀▀█▀▀█▀▄\n █▀▀█▄ ▄█▄ █▄ █▀\n██▄▄▄▄█▀█▄▄█▄▄██\n█▄▄████▄▄█▄▄█▄▄█"], ["sleep_2", " \n█▀▄ ▄▄▀▀█▀█▄▄ \n ▀▄▀ ▀█ ▄█▄▀ \n▄▀ ▀▀▄▀▄▀▄ \n▀▄▄▄█▀▀█▀▀█▀▀█▀▄\n ▄▀ ▄▄ ▄█▄ █▄ █▀\n██▄▄▄▄█▀█▄▄█▄▄██\n█▄▄████▄▄█▄▄█▄▄█"], ["walk_1", "█▀▄ ▄▄▀▀█▀█▄▄ \n ▀▄▀ ▄▀█ ▄█▄▀ \n▄▀ ▀▀▄▀▄▀▄ \n▀▄▄▄█▀▀█▀██▀▄▀▀▄\n ▄▀ ▄█ █▄ █▄ █▄▀\n▄▀▄▄▄▄▀█▄▄█▄▄█ █\n▀▀█▄██▄▄█▄▄█▄▄█▀\n █▄▄██▄▄█▄▄█▄▄█ "], ["walk_2", "▄▄ ▄▄▄▄▄ \n▀▄▀▄▀▀▄▄▀ █▀█ \n ▄▀ ▄█ █ █▀▀ \n█ ▄▄█▄█▄█▄▄▄▄ \n ▀█▀▀▄ ▀▄ ▀▄ ▀▄█\n▄█ ▀▀▄██▀ █▀ █▄\n█▄████▄▄████████\n█▄▄█▀▀█▄▄█▄▄█▄▄█"]]], + ["keramon_x", [["angry", " ▄ ▄ \n▄ █ ▄▄▄▄▄ ▄▀ █ \n█ ▄▀ █ █ ▀▄ ▄▀ \n █ ▄█▄ ▀▀█▄▀▀█\n █▀▀ ▀▀▀█▄▄▀▀█\n ▀▄█▄▄█▄█▄▄▄▀▀█\n ▄▄█ █▄█ █▄▄ ▀▀▀\n█▄▄▄▀ ▀▄▄▄█ "], ["attack", "▄ █ ▄▄▄▄ ▄▀▀ \n█ ▄▀█ █ ▀▄ ▄▀ \n █ ██ ▄▄█▀ ▄▄\n █ ████▄ █▀▀▄█\n ███▀▀▀███▄▀▀▀▄█\n ▀▄ ▄ ▄ ▄█▀█▀▄█\n▄▀ █▀▀▀▀▀▄▀ █ \n▀▄▄▀ ▀▄▄▀ "], ["eat_1", " █ ▄▄▄▄▄ ▄▀▀▀ \n█ ▄▀ █ ▀ ▀▄ ▄▀▀ \n █ ▄███▄ ▄█ ▄▄\n ▀▄██████▄ █▄▀▄█\n ▄▀█████▀▀▀█▄▀▄█\n▄▀▄ ▄ ▄ ▄▀▄ ▀▄▀\n▀▄ █▀██▀█ ▄▀▀▀ \n ▀▄▀ ▀▄▀ "], ["eat_2", " ▄ ▄▄▄ \n▄ ▀▄▀█▀█▀▄▀ ▄▄ \n▀▄▀ █ ▄█▄▀ \n █ ▄███▄ ▀█▄▀▄ \n █▀ ▀▀█▄▄▀▄█\n ▀▄█▄▄█▄█▄▄▄▀▄█\n ▄▄█ ██ █▄▄ ▀▄█\n█▄▄▄▀ ▀▄▄▄█ "], ["happy", " ▀▀▄▄▄▄▄▄ ▄▀▀▀ \n▀▄▀ █ ▀█ ▀▄ ▄▀▀ \n▄▀ ██ ▄▄█ ▄▀█\n█ ▄████▄▄ ▀██▄▀█\n▀█▀ ▀▀█ █▀█\n█ ▀▄█▄▄█▄▀█▄ █▀ \n▀▄ █▀▄▀▄▀▀▄▄▀ \n ▀▀▀ "], ["injured_1", " \n █ ▄▄▄▄▄ ▄▀▀▄▄ \n█ ▄▀ █ ▀▄ \n █ ▄███▄ █▀▄ \n █▀▀ ▀▀▀█▀▄▀▄ \n ▀▄▄▄▄▄▄▀█ █ █ \n ▄▀▄█ █ █ █▄▀▄\n █▄█▄▄▀ █▄█▄█▄█"], ["injured_2", " \n \n ▀▀▄▀█▀▀▀▄▀▀▄ \n▀▄▀ █ ▀▄▄ \n █▄▄▀▀▀▄▄▄ █▄▀▄ \n ▀▄ ▄█ █ █ \n █▀██▀█ █ █▄▀▄\n █▄█▄▄▀ █▄█▄█▄█"], ["sleep_1", " \n █ ▄▄▄▄▄ ▄▀▀▀ \n█ ▄▀█ ▀▀ ▀▄ ▄▀▀ \n █ █▄ █ █▄ \n █▄▀▀▀▀▄▄▄▄█ ▀▄ \n ▀▄▄ ▄▄ ▄█ █ █ \n ▀▀▀▀▀▀ █▄▀▄▀▄\n █▄█▄█▄█"], ["sleep_2", " ▄ ▄▄▄ \n▄ ▀▄█▀██▀▄▀ ▄▄ \n▀▄▀ █▄ ▄▀▄▀ \n █ ▄██▄ ▀ █▄ \n ██▀▀▀▀██▄▄█ ▀▄ \n ▀▄▄ ▄▄ ▄█ █ █ \n ▀▀▀▀▀▀ █▄▀▄ █\n █▄█▄█▄█"], ["walk_1", " █ ▄▄▄▄▄ ▄▀▀▀ \n█ ▄▀ █ ▀ ▀▄ ▄▀▀ \n █ ▄███▄ ▄█ ▄▀█\n ██▀▀▀▀▀█▄▄▀▀▄▀█\n ▀▄ ▄ ▄ ▄▀▀▀▄▀█\n ▀▀▀█▀█▀█▀▄▄▀ \n ▄▄▀▄█ █ \n █▄▄█▄▄▄▀ "], ["walk_2", " ▄ ▄▄▄ \n▄ ▀▄▀█▀█▀▄▀ ▄▄ \n▀▄▀ ▄█▄ ▀▄▀ \n █▄█████▄ ▀█▀▀▄ \n █▀ ▀▀█▄▄▀▄█\n ▀▄█▄▄█▄█▄▄▄▀▄█\n ▄▄▀▄█ █ ▀▄█\n █▄▄█▄▄▄▀ "]]], + ["ketomon", [["angry", " \n \n ▄▄▄ \n ▄▀ ▄▀ \n ▄▀ ▀▀▄ \n ▄▀▄ ▀ ▄ █▄▄▄ \n █ ▀▀ ▀▀ ▀▄▄▀ \n ▀▄▄▄▄▄▄▀▀▀ "], ["attack", " \n ▄▀█ \n ▄▀ █ \n ▄▀ ▀▄ ▄▄ \n ▄▀▄ ▀ ▄ █▀▄▀ \n █ ▀▀ ▀▀ █▄▀ \n █ ████ █ \n ▀▄████▄▀ "], ["eat_1", " \n \n ▄▄▄ \n ▄▀ ▄▀ \n ▄▀ ▀▀▄ \n ▄▀▄ ▀ ▄ █▄▄▄ \n █ ▀▄▄▄▀ ▀▄▄▀ \n ▀▄███▄▄▀▀▀ "], ["eat_2", " \n \n ▄▄▄ \n ▄▀ ▄▀ \n ▄▀ ▀▀▄ \n ▄▀▄ ▀ ▄ █▄▄▄ \n █▀ ▀ ▀ ▀ ▀▄▄▀ \n ▀▄▄▄▄▄▄▀▀▀ "], ["happy", " \n ▄▄▄ \n ▄▀ ▄▀ \n ▄▀ ▀▀▄ \n ▄▀▄ ▀ ▄ █▄▀█ \n █▀ ▀ ▀ ▀ ▀▄▀ \n ▀▄███▄▄▀▀ \n ▀▀▀ "], ["injured_1", " \n \n \n ▄▀▀█ \n █ █▄ \n ▄▀ ▄ ▀▄ \n █ ▄█ █▄ █▀▀█ \n ▀▄▄▄▄▄▄▄▄▄█▀ "], ["injured_2", " \n \n \n ▄▄▄ \n ▄▀ ▄▀ \n ▄▀ ▀▀▄ \n ▄▀ ▄▀▄ █▄▄▄ \n ▀▄██▄██▄▄▄█▄▀ "], ["sleep_1", " \n \n ▄▄▄ \n ▄▀ ▄▀ \n ▄▀ ▀▀▄ \n ▄▀ ▀ █▄▄▄ \n █▀▀ ▀▀ ▀▄▄▀ \n ▀▄▄▄▄▄▄▀▀▀ "], ["sleep_2", " \n \n \n ▄▀▀█ \n █ █▄ \n ▄▀ ▄ ▀▄ \n █▄▄ ▄▄ █▀▀█ \n ▀▄▄▄▄▄▄▄▄▄█▀ "], ["walk_1", " \n \n ▄▄▄ \n ▄▀ ▄▀ \n ▄▀ ▀▀▄ \n ▄▀▄ ▀ ▄ █▄▄▄ \n █ ▀ ▀ ▀▄▄▀ \n ▀▄▄▄▄▄▄▀▀▀ "], ["walk_2", " \n \n \n ▄▀▀█ \n █ █▄ \n ▄▀ ▄ ▀▄ \n █ █ █ █▀▀█ \n ▀▄▄▄▄▄▄▄▄▄█▀ "]]], + ["kimeramon", [["angry", " ▄ ▄▄ \n ██▄██████▄ ▄▄\n ▀████▀ ███▀▄▀ █\n █▀▀▀█▀██▄▀ ▄▀\n ▀█▄ ▀ ██▄▀▀█\n ▄▀▀█▄ █▀██▄▄▀ \n ▀▄█▄ ▀▄ █▀▀ ▀▄ \n █▄▄▄▄████▄▄▄▄█ "], ["attack", " █▄ ▄▄▄██▄ \n ██████▀███▄ ▄▀█\n ████▄▄██▀▄▀ █\n ▀▄▄▀▀ ▀▀█▄ ▄█▄\n█▀▀▀█▀ █▀██ ▄▀\n▀▄▄▄▀▀▄ ▄█▀█▀ \n █▄ █▀▄▄ █ \n █▄▄▄█▀█▄▄▄▄█ "], ["eat_1", " █▄ ▄▄▄██▄ \n █████▀▀▀██▄ ▄▀█\n ███▄█▄██▀▄▀ █\n ▀▄▄▄▀ █▀█▄ ▄█▄\n ▄▀██ █▄▄██▀ ▄▀\n █▀█▄▄█ ▀▄█▀█▀ \n ▀█▄ ▀▀▄▄ █ \n █▄▄▄█▀█▄▄▄▄█ "], ["eat_2", " ▄ ▄▄ \n ██▄██████▄ ▄▄\n ▀███▀▄▀███▀▄▀ █\n █▀▀▀█▀██▄▀ ▄▀\n ▀█▄ ▀ ██▄▀▀█\n ▄▀▀█▄ █▀██▄▄▀ \n ▀▄█▄ ▀▄▄█▀▀ ▀▄ \n █▄▄▄▄█▀█▄▄▄▄▄█ "], ["happy", " █▄ ▄▄▄██▄ \n █████▀████▄ ▄▀█\n ███▄█▄██▀▄▀ █\n ▀▄▄▄▀ █▀█▄ ▄█▄\n ▄▀██ █▄▄██▀ ▄▀\n █▀█▄▄█ ▀▄█▀█▀ \n ▀█▄ ▀▀▄▄ █ \n █▄▄▄█▀█▄▄▄▄█ "], ["injured_1", " ▄ ▄▄ \n ██▄██████▄ \n ▀███ ▀████▀ ▄▄\n █▀▀▀█▀██▄▄▀▀ █\n ▀█▄ ▀ █ ▄▄█▄\n ▄▀▀█▄ █▀██▄▄▄▀\n ▀▄█▄ ▀▄ █▀▀ ▀▄ \n █▄▄▄▄████▄▄▄▄█ "], ["injured_2", " \n █▄ ▄▄▄██▄ \n ████▀█████▄ \n ███▄▄███▀ ▄▄▀█\n ▀▄▄ ▀ █▀█▀ ▄▀\n ▄▄█▀ ▄▄█▄▀▀▀█\n █▄▄█▀▄ ▀▄█▀▀▀█ \n █▄▄▄▄████▄▄▄▄█ "], ["sleep_1", " \n █▄ ▄▄▄██▄ \n ██████████▄ ▄▀█\n ███▄▄███▀▄▀ █\n ▀▄▄ ▀ █▀█▄ ▄█▄\n ▄▄█▀ ▄▄██▀ ▄▀\n █▄▄█▀▄ ▀▄█ ▀▀▄ \n █▄▄▄▄███▄▄▄▄▄█ "], ["sleep_2", " ▄ ▄▄ \n ██▄██████▄ ▄▄\n ▀███▀▀████▀▄▀ █\n █▀▀▀█▀██▄▀ ▄▀\n ▀█▄ ▀ ██▄▀▀█\n ▄▀▀█▄ █▀██▄▄▀ \n ▀▄█▄ ▀▄▄█▀▀ ▀▄ \n █▄▄▄▄█▀█▄▄▄▄▄█ "], ["walk_1", " █▄ ▄▄▄██▄ \n █████▀▀▀██▄ ▄▀█\n ███▄█▄██▀▄▀ █\n ▀▄▄ ▀ █▀█▄ ▄█▄\n ▄▄█▀ ▄▄██▀ ▄▀\n █ ▄▀▀▄ ▀▄█▀█▀ \n ▀█▄ ▀▀▄▄ █ \n █▄▄▄█▀█▄▄▄▄█ "], ["walk_2", " ▄ ▄▄ \n ██▄██████▄ ▄▄\n ▀███▀▄ ▄██▀▄▀ █\n █▀▀▀█▀██▄▀ ▄▀\n ▀█▄ ▀ ██▄▀▀█\n ▄▀▀█▄ █▀██▄▄▀ \n ▀▄█▄ ▀▄▄█▀▀ ▀▄ \n █▄▄▄▄█▀█▄▄▄▄▄█ "]]], + ["kingetemon", [["angry", " ▄▄█▄▄ \n █ █▀█ █ \n ▄▄▄▀▀▀▀▀▄▄▄ \n █ █▀███▀█▄█▄▀▄ \n ▀▄███▀████▀ ▄▀ \n █ ▀▄▀▀█ █▀█▄ \n █▄▄█▀██▄▄▄▄███▄\n █▄█▄▄▄█▄▄█▀▀ "], ["attack", " ▄▀███▀▄ \n ▀▄█▄█▄▀ \n ▄▀██▄▄▄▄▄▀█▀▄ \n █ █▄█▀█▄███▀ █ \n ▄██▄▄█▄▄ █▄▄█ \n▀▄ █████▀ █▀ ▄▀ \n ▀▀█▄▄▄▄▀█████▄\n █▄█▄▄▄█▄▄█▀▀ "], ["eat_1", " ▄▄█▄▄ \n █ █▀█ █ \n ▄▄▄▀▀▀▀▀▄▄▄ \n █ █▀███▀█▄█▄▀▄ \n ▀▄▀▀▀ ▀▀▀█▀ ▄▀ \n ▄▀██████ █▀▀▄ \n ▀█▄█▄▄▄▄▀▄▄███▄\n █▄█▄▄▄█▄▄█▀▀ "], ["eat_2", " ▄ \n ▄▀███▀▄ \n ▀▄█▄█▄▀ \n ▄▀██▄▄▄▄▄▀█▀▄ \n █ █▄███▄███▀ █ \n ▀█▀▀▄▀▀▀█▄▄▀ \n ▄▀ █▄▄▄▄█▀ ██▄ \n ▀▄██▄██▄█▄████▀"], ["happy", " ▄▄█▄▄ \n █ █▀█ █ \n ▄▄▄▀▀▀▀▀▄▄▄ \n █ █▀███▀█▄█▄▀▄ \n ▀▄▀▀▀ ▀▀▀█▀ ▄▀ \n ▄▀█████▀▄█▀▀▄ \n ▀█▄█▄▄▄█▀▄▄███▄\n █▄█▄▄▄█▄▄█▀▀ "], ["injured_1", " ▄ \n ▄▀███▀▄ \n ▀▄█▄█▄▀ \n ▄▀██▄▄▄▄▄▀█▀▄ \n █ █▀██▀████▀ █ \n ▀█▀▀▄▀▀▀█▄▄▀ \n ▄▀ █▄▄▄▄█▀ ██▄ \n ▀▄██▄██▄█▄████▀"], ["injured_2", " \n ▄▄█▄▄ \n █ █▀█ █ \n ▄▄▄▀▀▀▀▀▄▄▄ \n █ ███████▄█▄▀▄ \n ▀▄█▄█▀▄███▀ ▄▀ \n ▄█▀█▄█▄▄██▀██▄ \n ▀▄▄█▄██▄█▄▄███▀"], ["sleep_1", " \n ▄▄█▄▄ \n █ █▀█ █ \n ▄▄▄▀▀▀▀▀▄▄▄ \n █ ███████▄█▄▀▄ \n ▀▄█▄▄▀▄▄██▀ ▄▀ \n ▄▀▄▄█▄▄▄▀▀██▄ \n █▄▄█▄██▄██▄▄██▀"], ["sleep_2", " ▄ \n ▄▀███▀▄ \n ▀▄█▄█▄▀ \n ▄▀██▄▄▄▄▄▀█▀▄ \n █ █▀▀█▀▀███▀ █ \n ▀█▀▀▄▀▀▀█▄▄▀ \n ▄▀ █▄▄▄▄█▄ ▀█▄ \n ▀▀██▄██▄██████▀"], ["walk_1", " ▄▄█▄▄ \n █ █▀█ █ \n ▄▄▄▀▀▀▀▀▄▄▄ \n █ █▀███▀█▄█▄▀▄ \n ▀▄███▀████▀ ▄▀ \n ▄▀▄ ▀ ▄▀▀█▄ \n █▄▄█▀██▀▀█▄▄██▄\n █▄█▄▄▄█▄▄█▀▀ "], ["walk_2", " ▄ \n ▄▀███▀▄ \n ▀▄█▄█▄▀ \n ▄▀██▄▄▄▄▄▀█▀▄ \n █ █▄███▄███▀ █ \n ▀█▀▀▄▀▀▀█▄▄▀ \n ▄▀ █▄▄▄▄█▄ ▀█▄ \n ▀███▄██▄▄█████▀"]]], + ["kiwimon", [["angry", " ▄████▄ \n ███▀▄███ \n▄▀▀▀▀ ██████▄ \n▀▀▀▀▀█▀███▀█ █▄ \n ▀▀█▄▄█ █▄██▀█ \n █ █▀█▀█ █▄█ \n ▄▀█▄█▄█▀█▀ \n █▀█▀█ █▀█▀█"], ["attack", " ▄▄▄▄▀██▀▀█▄▀ \n█▄▄▄▄▄█▄▄███ \n █ ████▀█▄▄▀▄\n ▄▀ ▄██ █▄█ ██▄\n ▀▀▀▀██▀█ █▀█▀██\n ▄██▄███▄█▄█▀\n █ ▄▀▀▀▀▀▄ █ \n █▀█▀█ █▀█▀█"], ["eat_1", " ▄███▀█▄ \n▄▀▀▀▀ ██▄█▄██ \n▀▀▀▀▀█▀████▀█▄▄ \n █ ██ █▄██▀█\n ▀▀▀▀▄▄█▀█▀█ █▄█\n ▀▄█▄█▄████▀\n ▄▀▄▀▀▄▀█▀ \n █▀█▀█ █▀█▀█"], ["eat_2", " ▄▄▄▄ \n ▄███▀██▄ \n ▄▄▄▄▀██▄█▄██▄ \n█▄▄▄▄▄█ █▀█ █ █▄\n █▄▀██▄██▀█▀█\n ▀▄█ █ █▄█▄▀\n █ █▀█ █▀ \n █▀█▀█ █▀█▀█"], ["happy", " ▄▄▄▄▄▀██▀██▄ \n█▄▄▄▄▄▄█▄█▄██ \n █ ███▀██▄▀▄\n ▄▄▀ ▄█ █▄█ ██▄\n ▀▀██▀█ █▀█▀██\n ▀█ ▄██▄███▄█▄█▀\n ▀██▄▄▀▀▀▄ █▀▀ \n ▀▀ █▀█▀█ "], ["injured_1", " ▄▄▄▄▄ \n ▄██▀████ \n ▄▄▄▄▀██▄▄███▄ \n█▄▄▄▄▄███▀█ █ █▄\n ▄▀███▄██▀█▀█\n ▀▀▀▀██ █ █▄█▄▀\n ▄▀ █▀▀▀▄ █ \n █▀█▀█ █▀█▀█ "], ["injured_2", " \n \n \n ▄█████▄ \n ██▀█████▄▄ \n▄▀▀▀▀ ██▄▄█▀██▀█\n▀▀▀▀▀█▀██▀█▄██▄█\n ▄▄█▄▄▀█▄██▄██▀"], ["sleep_1", " \n \n ▄▄▄▄ \n ▄██████▄ \n ▄▄▄▄▀██▄▄███▄ \n█▄▄▄▄▄█ █▀█ █ █▄\n █▄▀██▄██▀█▀█\n ▀█▄█▄█▄█▄█▄▀"], ["sleep_2", " \n ▄▄▄▄ \n ▄██████▄ \n ▄▄▄▄▀██▄▄███ \n█▄▄▄▄▄█████▀█▀█▄\n ██ ██ █▄█▄██\n █▄██▀█▀█ █ █\n ▀█▄█▄█▄████▀"], ["walk_1", " ▄████▄ \n ███▀ ███ \n▄▀▀▀▀ ███████▄ \n▀▀▀▀█▀█ █▀█ █ █▄\n █▄▀██▄██▀█▀█\n ▀▄█ █ █▄█▄▀\n █ █▀█ █▀ \n █▀█▀█ █▀█▀█"], ["walk_2", " \n ▄▄▄▄ \n ▄███▀██▄ \n ▄▄▄▄▀██▄▄███ \n█▄▄▄▄▄█▀███▀█▀▄ \n █ █▄█ █▄█▄██\n ██ █▀█▀█ █ █\n ███▄█▄████▀"]]], + ["knightmon", [["angry", " ▄▄▄▄ \n ▄█▄▄ ▀▄ \n ▄▀ ▀▄ █ \n ████▀█████ ▀▄ \n ██▀▀ ▀▀███▄▄▀ \n ████ ████ █ \n ▄████ ████▄▄█▀ \n█▄▄███▄██▀█▄▄▄█ "], ["attack", " ▄▄▄▄ \n ▄█▄▄ ▀▄ \n ▄▀ ▀▄ █ \n █▀▄▄▄▀ █ ▀▄\n ▄█▄▄▄█▄▄▄▄█▄▀\n █ ▄█▄▄▀▀▄▀▀▄ █\n█▀▀▀ ▄▄█ ▄▄▄██ \n ▀▀██▄▄██▀▀█▄▄▄█"], ["eat_1", " ▄███▀▄ \n ▄▀▄ ▄▀ ▀▄▀▄ \n █ █ █▀▀█▀▀ █ █ \n █ ██ ████▄▄▀█▀▀\n █ █▄▄███▄▄██▀██\n▄▀▀█▀█▄▄ ▄▄█▄ ▄█\n▀▄▄██▄▄▄▄▄▄█▀▄█▀\n █▄▄▄██ █▄▄▄█ "], ["eat_2", " ▄▀▄ ▄▄▄▄ \n █ █ ▄█▄▄ ▀▄ \n █ █ ▄▀▄▄▄ ▀▄ █ \n █ █ █▀ ▀ ▀▄█▄█▄\n▄▀▀██▄▄▄▄▄▄█▀ ▀█\n▀▄▄█▄█ ██ ██\n █▄▄█▀▀ ▀▀▄▀██▄\n █▄▄▄██▀▀▀▀█▄▄▄█"], ["happy", " ▄ ▄███▀▄ \n █ █ ▄▀▄▄▄ ▀▄▀▄ \n █ █ █▀ ▀ ▀ █ █ \n █ ██ ██████ ▀█▀\n █▄█▀███▄▄▄██▀██\n█ █▀█▄▄ ▄▄█▄ ▄█\n ▀▀██▄▄▄▄▄▄▀█▄█▀\n █▄▄▄██ █▄▄▄█ "], ["injured_1", " \n █▀▀▀▄ \n ▄▀▀▀▀▄ ▀▄ \n █ █ █ \n ▄▀▀█▀▀▀▄█▄█▄\n ▄▄▄█▀▀▀▀▀█▀ ▀█\n █▄▄▀█▄▄ ▄▄██ ██\n █▄▄▄█▄▄▄▄▄▄███▄"], ["injured_2", " \n ▄▄▄▄ \n ▄█▄▄ ▀▄ \n ▄▀ ▀▄ █ \n █▄▄▄▄▄ █ █ \n ▄▄█▄▄█▄▄▄██▀██\n █▄▄▀█▄▄ ▄▄█▄ ▄█\n █▄▄▄█▄▄▄▄▄██▄█▀"], ["sleep_1", " \n ▄▀▄ \n █ █ █▀▀▀▄ \n▀█▀█▀▄████▄▄█▄ \n █ ██████ ████▄ \n █ █▄██▄▄ ▄▄██▄ \n █▄▀ ████ █████ \n ██▄█▄███▄███▄█ "], ["sleep_2", " \n ▄▀▄ ▄▄▄▄ \n █ █ ▄█▄▄ ▀▄ \n▀█▀█▀▄█▄▄▄▄█▄▄█ \n █ █▄████ ████▀▀\n █ █▀██▄▄ ▄▄██▀▄\n █▄▀ ████ ████ █\n ██▄█▄███▄███▄█ "], ["walk_1", " ▄▀▄ █▀▀▀▄ \n █ █ ▄▀▀▀▀▄ ▀▄ \n █ █ █▄▄▄▄▄ █ █ \n █ █▄▀ ▀ ▀█▀▀\n▄▀▀█▀█▀▀▀▀▀██▀██\n▀▄▄█▀█▄▄ ▄▄█▄ ▄█\n ▀▄█▄▄▄▄▄▄▀█▄█▀\n █▄▄▄██ █▄▄▄█ "], ["walk_2", " ▄ ▄▄▄▄ \n █ █ ▄█▄▄ ▀▄ \n █ █ ▄▀ ▀▄ █ \n █ █ █▀▀█▀▀▄█▄█▄\n █▄██▄▄▄▄▄▄█▀ ▀█\n█ █ █ ██ ██\n ▀████▀▀ ▀▀▄▀██▄\n █▄▄▄██▀▀▀▀█▄▄▄█"]]], + ["kokatorimon", [["angry", "███▄███▄▄▀▀▄▀▀█ \n ▀█▀▀ ▄ ▀▄ ▀ ▄█▄\n █▄▄▄▀▀ █ █ █\n█ ▄▄▄█▄ ▀ ▀ ▄▄▀\n ▀▀████ ▀ █\n ▄▀▀▀▀▄ █▀ \n ▄▄█▀██▄▄▄▄▀█▄ \n█▄▄█▄█ █▄█▄▄█ "], ["attack", "▄▄▄ ▄▄ ▄▄▄ \n▀████▀▀█ █▀▀█ \n ▄▀ ▄█▀ █ ▀ ▄█▄ \n▄▀▀▀▄ ▄▀ ▄▀ █ \n▀▄▄██ ▄▄▀▄ \n █▄▄▀ ▄▄▀ \n ▄▄█▄▄▄▄▄▄▄▀█▄ \n█▄▄█▄█ █▄█▄▄█ "], ["eat_1", "▄▄▄ ▄▄ ▄▄▄ \n▀████▀▀█ █▀▀█ \n ▄▀ ▄█▀ █ ▀ ▄█▄ \n▄▀▀▀▄ ▄▀ ▄▀ █ \n▀▄▄██ ▄▄▀▄ \n █▄▄▀ ▄▄▀ \n ▄▄█▄▄▄▄▄▄▄▀█▄ \n█▄▄█▄█ █▄█▄▄█ "], ["eat_2", "███▄███▄▄▀▀▄▀▀█ \n ▀█▀▀ ▄ ▀▄ ▀ ▄█▄\n █▄▄▄▀ ▀ █ █ █\n█ ▄▄▄██ ▀ ▀ ▄▄▀\n ▀▀████ ▀ █\n ▄▀▀▀▄▀ █▀ \n ▄▄█▀██▄▄▄▄▀█▄▄ \n█▄▄█▄█ █▄█▄▄█"], ["happy", "███▄███▄▄▀▀▄▀▀█ \n ▀█▀▀ ▄ ▀▄ ▀ ▄█▄\n █▄▄▄▀ ▀ █ █ █\n█ ▄▄▄██ ▀ ▀ ▄▄▀\n ▀▀████ ▀ █\n ▄▀▀▀▄▀ █▀ \n ▄▄█▀██▄▄▄▄▀█▄▄ \n█▄▄█▄█ █▄█▄▄█"], ["injured_1", " ▄▄▄▀▀▄▀▀▄▄▄ \n █ █ █ █ █ \n █▀▀▄ ▀ ▀ ▀ ▄▀▀█\n███▄███▄▀▀▄▄ █\n ▀███▀ ▀▄ ▀▄▀▀▄\n ▄▀▀ ▄ █ █▄▄▀\n▄▀▀▀▄▀▀ ▄▀▄▄█▄ \n▀▄▄███▀▀ █▄█▄▄█ "], ["injured_2", " \n███▄██▄▄▄▀▀▄▀▀█ \n ▀█▀▀ ▀▄ ▀ ▄█▄\n █▄▄ █▄ █ █ █\n█ ▄▀ ▀ ▀ ▄▄▀\n ▀█ ▀ █\n █▄▄▄ ▄▄▄▀▀ \n █▄▄█▄█▀▀█▄█▄█ "], ["refuse", " \n▄▄▄ ▄▄ ▄▄ ▄▄▄ \n▀████▀▀▀█ █ █ \n ▄▀ ▄▄▄ █ ▄▀▀█\n▄▀▀▀▄ ▄▀ ▄▀ █\n▀▄▄▀ ▄▀▀▄\n █▄▄▄ ▄▄▄▄▄▀\n █▄▄█▄█▄▄█▄█▄█ "], ["sleep_1", " ▄▄▄▀▀▄▀▀▄▄▄ \n █ █ █ █ █ \n █▀▀▄ ▀ ▀ ▀ ▄▀▀█\n███▄███▄▀▀▄▄ █\n ▀███▀ ▀▄ ▀▄▀▀▄\n ▄▀▀ ▄ █ █▄▄▀\n▄▀▀▀▄▀▀ ▄▀▄▄█▄ \n▀▄▄███▀▀ █▄█▄▄█ "], ["sleep_2", " ▄▄▄▀▀▄▀▀▄▄▄ \n █ █ █ █ █ \n █▀▀▄ ▀ ▀ ▀ ▄▀▀█\n███▄███▄▀▀▄▄ █\n ▀███▀ ▀▄ ▀▄▀▀▄\n ▄▀▀ ▄ █ █▄▄▀\n▄▀▀▀▄▀▀ ▄▀▄▄█▄ \n▀▄▄███▀▀ █▄█▄▄█ "], ["walk_1", "███▄██▄▄▄▀▀▄▀▀█ \n ▀█▀▀▄▄ ▀▄ ▀ ▄█▄\n █▄▄▀▀ █ █ █\n█ ▄▀ ▀ ▀ ▄▄▀\n ▀█ ▀ █\n ▀▄ ▄▄▄▀▀ \n ▄▄█▀█▀▀█ █ \n █▄▄█▄█ █▄█▄█ "], ["walk_2", "▄▄▄ ▄▄ ▄▄▄ \n▀████▀▀█ █▀▀█ \n ▄▀ ▄█▀ █ ▀ ▄█▄ \n▄▀▀▀▄ ▄▀ ▄▀ █ \n▀▄▄██ ▄▄▀▄ \n █▄▄▀ ▄▄▀ \n ▄▄█▄▄▄▄▄▄▄▀█▄ \n█▄▄█▄█ █▄█▄▄█ "]]], + ["kokomon", [["angry", " ▄ \n █▀▄█ ▀▄▄▀█ \n ▄█▀ ▀▄▄▀ ▀▀▄▄ \n█ ▄ ▄ ▄ ▄ ▀█\n ▀█ ▀▀ ▀▀ █▀ \n ▀▄ ▀▀ ▄▀ \n ▄▀▀ ▀▀▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["attack", " █▀▄▀▀▄▄▄▀█ \n█▀▄▀▄▄▄▀ ▀▀▄▄▀█ \n▀▄ ▄ ▄ ▄ ▄▀ \n █ ▀▀ ▀▀ █ \n █ ████▄ █ \n ▀▄▀▀▀▀▀▄▄▀ \n ▄▄▀ ▀▄▄ \n ▀▄▄█▄▄▄▄█▄▄▀ "], ["eat_1", " ▄▄ ▄▀▄ ▄▄ \n █▄▀█ █▀▄█ \n▄█▀ ▀▀ ▀▀▄▄\n▀▄█▄▀▄ ▄▀▄ ▀▄▄▀\n █ ▄▄▄▄▄ █ \n ▀▄ ████ ▄▀ \n █▀ ▀█ \n █▄▄█▄▄█▄▄█ "], ["eat_2", " ▄ \n █▀▄█ ▀▄▄▀█ \n ▄█▀ ▀▄▄▀ ▀▀▄▄ \n█ ▄ ▄ ▄ ▄ ▀█\n ▀█▀ ▀ ▀ ▀ █▀ \n ▀▄ ▀▀ ▄▀ \n ▄▀▀ ▀▀▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["happy", " ▄▄ ▄▀▄ ▄▄ \n▄▄█▄▀█ █▀▄█ ▄▄\n█ ▀ ▀▀ ▀▀ █\n ▀█▄▀▄ ▄▀▄ ▀▄▀ \n █ ▄▄▄▄▄ █ \n ▀▄▀███▀ ▄▀ \n █ █ \n █▄▄█▄▄█▄▄█ "], ["injured_1", " \n ▄ \n █▀▄█ ▀▄▄▀█ \n █▀ ▀▄▄▀ ▀▀▄ \n ▄▀▄ ▄ ▄ ▀▀▄\n ▀▄█ ▄▀ ▀▄ ▀▄█\n ▀▄ ▀▀ ▄▄▄▀ \n █▄▄█▄▄█▄▄▄█ "], ["injured_2", " \n \n ▄▄ ▄▀▄ ▄▄ \n ▀▄▀█ █▀▄█ \n ▄▀ ▀▀ █▄ \n █ █ ▄▄ ▄▄ ▄ █\n ▀█ ▀▀ ▄█▀\n █▄▄▄█▄▄█▄▄▄▄█ "], ["sleep_1", " ▄ \n █▀▄█ ▀▄▄▀█ \n ▄█▀ ▀▄▄▀ ▀▀▄▄ \n█ ▄ ▄ ▀█\n ▀█ ▀▀ ▀▀ █▀ \n ▀▄ ▀▀ ▄▀ \n ▄▀▀ ▀▀▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["sleep_2", " \n ▄▄ ▄▀▄ ▄▄ \n █▄▀█ █▀▄█ \n▄▀▀ ▀▀ ▀▀▄▄\n▀▄█ ▄▄ ▄▄ ▀▄▄▀\n █ ▄▄ █ \n ▄▀▄ ▄▀▄ \n █▄▄▄▄█▄▄█▄▄▄▄█ "], ["walk_1", " ▄▄ ▄▀▄ ▄▄ \n █▄▀█ █▀▄█ \n▄█▀ ▀▀ ▀▀▄▄\n▀▄█ ▄█ ▄█ ▀▄▄▀\n █ ▄▄ █ \n ▀▄▄ ▄▄▀ \n █ █ \n █▄▄█▄▄█▄▄█ "], ["walk_2", " ▄ \n █▀▄█ ▀▄▄▀█ \n▄▄█▀ ▀▄▄▀ ▀▀▄▄▄▄\n▀▄▄ ▄ ▄ ▄▄▄▀\n █ ▀▀ ▀▀ █ \n ▀▄ ▀▀ ▄▀ \n ▄▀▀ ▀▀▄ \n █▄▄█▄▄▄▄█▄▄█ "]]], + ["kokuwamon", [["angry", " \n ▄▀█ █▀▄ \n █▄█▄▄▄▄█▄█ \n █▄ ▄ █ \n █▀▀ ▀▀ █▄ \n ▄▀▀█▀█▀▀▀█▀ █ \n ▀▄▄▄▀█▀▀▀███▄▀ \n █▄███▀▀███▄█ "], ["attack", " ▄▀█▄▀▄ ▄▀▄ ▄█▀▄\n █ █ ▀ ▀ █ █\n ▀▄▄█▀▀▀▀█▀█▀▄▀ \n█▀█ ▀█ █▀ ▀█▀█\n▀▄██▀████▀█ █▄▀\n █▀█ ████ █ █ ▀█\n ███▀█▀▀▀████▀ \n █▄▄██▀▀▀▀▄▄▄▄█ "], ["eat_1", "▄▀█ █▀▄\n▀▄ █▀▀▀▀▀▀▀▀█ ▄▀\n █▄█ ▄▄▄▄ █▄█ \n█▀█ █ ██ █ █▀█\n▀▄▀▄ █ ██ █ ▄▀▄▀\n█ ▀██▀▀█▀▀▀██▀ █\n ▀▄▄█▀▀█▀▀▀█▄▄▀ \n █▄▄██▀▀▀▀██▄▄█ "], ["eat_2", " \n ▄▀█ █▀▄ \n █▄█▄▄▄▄█▄█ \n █ ▄ ▄ █ \n █▀ ▀ ▀ ▀█ \n ▄▄▀█▀▀█▀▀▀█▀▄▄ \n▀▄▄▄█▀▀█▀▀▀█▄▄▄▀\n █▄███▀▀███▄█ "], ["happy", "▄▀█ █▀▄\n█▄▄▀▀█▀▀▀▀█▀▀▄▄█\n █ ▀ ▀ ▀ ▀ █ \n█▀█ █▀▀▀▀▀▀█ █▀█\n▀▄▀▄▀▄ ▄▀▄▀▄▀\n█ ▀██▀▀█▀▀▀██▀ █\n ▀▄▄█▀▀█▀▀▀█▄▄▀ \n █▄▄██▀▀▀▀██▄▄█ "], ["injured_1", " \n ▄▀█ █▀▄ \n █▄█▄▄▄▄█▄█ \n █ ▄ ▄ █ \n █ ▀▀ ▀▀ █ \n ▄██▀▀█▀▀▀██▄ \n █ ▄█▀▀█▀▀▀█▄ █ \n █▄███▀▀███▄█ "], ["injured_2", " \n ▄▄▄▄ \n ▄▀▀▄▀▀▄▀▀▄ \n ▄▀▀▀▀▀▀▀▀▀▀▄ \n █ ▄▄▀ ▀▄▄ █ \n ▀▄▄▄▄▄▄▄▄▄▄▀ \n █ █▄▄█▄▄▄█ █ \n █▄█▄█▄█▄██▄█▄█ "], ["sleep_1", " \n ▄▄ ▄▄ \n█ ▀▄ ▄▀ █\n ▀▄▀▀▀▀▀▀▀▀▀▀▄▀ \n █▄▄▄ ▄▄▄█ \n▄▄▀▄▄▄▄▄▄▄▄▄▄▀▄ \n█ █▄█▄▄█▄▄▄█ █\n█▄▄▄█▄▄█▄▄▄█▄▄▄█"], ["sleep_2", " \n ▄▀█ █▀▄ \n █▄█▄▄▄▄█▄█ \n █ █ \n █▀▀▀ ▀▀▀█ \n▄▄ ▀█▀▀█▀▀▀██▄▄ \n█ █▄█▄▄█▄▄▄█ █\n█▄▄▄█▄▄█▄▄▄█▄▄▄█"], ["walk_1", " ▄▄ ▄▄ \n ▄▀▄▀ ▀▄▀▄ \n ▄▀▀▀▀▀▀▀▀▀▀▄ \n █▀█ █▀█ \n ▀█▄▄▄▄▄▄▄▄█▀ \n ▄▀ █▄▄█▄▄▄█ ▀▄ \n ▀█▀█▄▄█▄▄▄█▀█▀ \n █▄█▄██▄█▄█ "], ["walk_2", " \n▄▀█ █▀▄\n▀▄ █▄▄▄▄▄▄▄▄█ ▄▀\n █ █ \n█▀█▀▀▀ ▀▀▀█▀█\n▀▄ ██▀▀█▀▀▀██ ▄▀\n ▀▄█▀▀█▀▀▀█▄▀ \n █▄███▀▀███▄█ "]]], + ["kokuwamon_x", [["angry", " ▄▄ \n ▄▀████▀▄ \n █▄██████▄█ \n █▄ ▄ █ \n █▀▀ ▀▀ █▄ \n ▄▀▀█▀█▀▀▀█▀ █\n ██▄▄▄▀█▀▀▀███▄█\n ▀█▄███▀▀███▄█▀▀"], ["attack", " ▄▀█ ▄█▄ █▀▄\n █ █ █████▄ █ █\n ▀▄▄█▀▀▀▀█▀█▀▄▀ \n█▀█ ▀█ █▀ ▀█▀█\n▀▄██▀████▀█ █▄▀\n ▄█ ████ █ ██▄ \n ▄███▀█▀▀▀██████\n █▄▄██▀▀▀▀▄▄▄▄█ "], ["eat_1", "▄▀█ ▄██▄ █▀▄\n▀▄ █▀▀▀▀▀▀▀▀█ ▄▀\n █▄█ ▄▄▄▄ █▄█ \n█▀█ █ ██ █ █▀█\n▀▄▀▄ █ ██ █ ▄▀▄▀\n█████▀▀█▀▀▀█████\n▀██▄█▀▀█▀▀▀█▄█▀▀\n █▄▄██▀▀▀▀██▄▄█ "], ["eat_2", " ▄▄ \n ▄▀████▀▄ \n █▄██████▄█ \n █ ▄ ▄ █ \n █▀ ▀ ▀ ▀█ \n ▄▄▀█▀▀█▀▀▀█▀▄▄ \n▀▄▄▄█▀▀█▀▀▀█▄▄▄▀\n▀▀█▄███▀▀███▄█▀▀"], ["happy", "▄▀█ ▄██▄ █▀▄\n█▄▄▀▀█▀▀▀▀█▀▀▄▄█\n █ ▀ ▀ ▀ ▀ █ \n█▀█ █▀▀▀▀▀▀█ █▀█\n▀▄▀▄▀▄ ▄▀▄▀▄▀\n▄████▀▀█▀▀▀████▄\n▀▀███▀▀█▀▀▀███▀▀\n █▄▄██▀▀▀▀██▄▄█ "], ["injured_1", " ▄▄ \n ▄▀████▀▄ \n █▄██████▄█ \n █ ▄ ▄ █ \n █ ▀▀ ▀▀ █ \n ▄██▀▀█▀▀▀██▄ \n▄█ ▄█▀▀█▀▀▀█▄ █▄\n▀▀█▄███▀▀███▄█▀▀"], ["injured_2", " \n ▄██▄ \n ▄▀▀▄██▄▀▀▄ \n ▄▀▀▀▀▀▀▀▀▀▀▄ \n █ ▄▄▀ ▀▄▄ █ \n ▄▀▄▄▄▄▄▄▄▄▄▄▀ \n▄██ █▄▄█▄▄▄█ ██▄\n██▄█▄█▄█▄██▄█▄██"], ["sleep_1", " \n ▄▄ ▄▄ ▄▄ \n█ ▀▄ ████ ▄▀ █\n ▀▄▀▀▀▀▀▀▀▀▀▀▄▀ \n █▄▄▄ ▄▄▄█ \n▄██▄▄▄▄▄▄▄▄▄▄██▄\n█ █▄█▄▄█▄▄▄█ █\n█▄▄▄█▄▄█▄▄▄█▄▄▄█"], ["sleep_2", " ▄▄ \n ▄▀████▀▄ \n █▄██████▄█ \n █ █ \n █▀▀▀ ▀▀▀█ \n▄▄ ██▀▀█▀▀▀███▄ \n█ ███▄▄█▄▄▄█ █\n█▄▄▄█▄▄█▄▄▄█▄▄▄█"], ["walk_1", " ▄▄██▄▄ \n ▄▀▄▀██▀▄▀▄ \n ▄▀▀▀▀▀▀▀▀▀▀▄ \n █▀█ █▀█ \n ▄██▄▄▄▄▄▄▄▄███ \n██▀ █▄▀▀▀▄▄█ ▀██\n ▀█▀█▄███▄▄█▀█▀ \n █▄█▄██▄█▄█ "], ["walk_2", " ▄▄ \n▄▀█ ████ █▀▄\n▀▄ █▄██████▄█ ▄▀\n █ █ \n█▀█▀▀▀ ▀▀▀█▀█\n▀▄ ██▀▀█▀▀▀██ ▄▀\n███▄█▀▀█▀▀▀█▄███\n █▄███▀▀███▄█ "]]], + ["komondomon", [["angry", " █▄▄ \n ▄██████▄ \n ███▀ ███▀ \n▄▀▀▀▀▀██▀█▄▄▄▄ \n▀▄█▄█ █ █▀▀▀▀▀▄\n ████ █ ▄ █ █ █\n █▄▄▄█▀▀ ▀ █▀\n█▄█▄█▄█▄▄█▄▄█▄▄█"], ["attack", " \n █▄▄ \n ▄██████▄▄ \n ███ ███ \n▄▀█▀▀▀██▀█████▄ \n█ ▄ ▄ █ ▀▄ ▄ █\n █████▀ ▀ ▀ ▀▄▀\n█▄▄█▄█▄█▄▄█▄▄█▄█"], ["eat_1", " ▄ \n ▄███▄▄ \n ███▀████▀ \n ██▄█▄███▄▄▄▄▄ \n█ ▀ █▀ █▀▀▀▀▀▄\n▀▄█▄█▄█ ▄ █ █ █\n █▄▄▄█▀▀ ▀ █▀\n█▄█▄█▄█▄▄█▄▄█▄▄█"], ["eat_2", " █▄▄ \n ▄██████▄ \n ███ ███▀ \n▄▀▀▀▀▀██▀█▄▄▄▄ \n▀▄█▄█▄█ █▀▀▀▀▀▄\n ████ █ ▄ █ █ █\n █▄▄▄█▀▀ ▀ █▀\n█▄█▄█▄█▄▄█▄▄█▄▄█"], ["happy", " █▄▄ \n ▄██████▄ \n ██▀▄▀███▀ \n▄▀▀▀▀▀██▀█▄▄▄▄ \n▀▄█▄█ █ █▀▀▀▀▀▄\n ████ █ ▄ █ █ █\n █▄▄▄█▀▀ ▀ █▀\n█▄█▄█▄█▄▄█▄▄█▄▄█"], ["injured_1", " \n ▄ \n ▄███▄▄ \n ███▀████▀ \n ███▄▄███▄▄▄▄▄ \n█ ▀ █▀ █▀▀▀▀▀▄\n▀▄█▄█▄▀ █ █ █\n█▄▄█▄█▄█▄▄█▄▄▄██"], ["injured_2", " \n \n █▄▄ \n ▄██████▄▄ \n ███ ▀███ \n█▀█▀▀▀██▀█████▄ \n█ ▄ ▄ █ █ ▄ █\n██▄█▄█▄▄▄▄█▄▄█▄█"], ["refuse", " ▄ \n ▄███▄▄ \n ████▀███▀ \n ███▄▄███▄▄▄▄▄ \n█ ▀ █▀ █▀▀▀▀▀▄\n▀▄█▄█▄█ ▄ █ █ █\n █▄▄▄█▀▀ ▀ █▀\n█▄█▄█▄█▄▄█▄▄█▄▄█"], ["sleep_1", " ▄ \n ▄███▄▄ \n ████████▀ \n ███▄▄███▄▄▄▄▄ \n█ ▀ █▀ █▀▀▀▀▀▄\n▀▄█▄█▄█ ▄ █ █ █\n █▄▄▄█▀▀ ▀ █▀\n█▄█▄█▄█▄▄█▄▄█▄▄█"], ["sleep_2", " \n ▄ \n ▄███▄▄ \n ████████▀ \n ███▄▄███▄▄▄▄▄ \n█ ▀ █▀ █▀▀▀▀▀▄\n▀▄█▄█▄▀ █ █ █\n█▄▄█▄█▄█▄▄█▄▄▄██"], ["walk_1", " ▄ \n ▄███▄▄ \n ███▀▀███▀ \n ███▄▄███▄▄▄▄▄ \n█ ▀ █▀ █▀▀▀▀▀▄\n▀▄█▄█▄█ ▄ █ █ █\n █▄▄▄█▀▀ ▀ █▀\n█▄█▄█▄█▄▄█▄▄█▄▄█"], ["walk_2", " \n █▄▄ \n ▄██████▄▄ \n ███ ███ \n▄▀█▀▀▀██▀█████▄ \n█ ▄ ▄ █ ▀▄ ▄ █\n █████▀ ▀ ▀ ▀▄▀\n█▄▄█▄█▄█▄▄█▄▄█▄█"]]], + ["koromon", [["angry", " \n \n \n ▄ ▄▄ \n ▄▀▀▀▀▀ ▀▄ \n █ ▄▄▀ █ \n █▄▄▄▄ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["attack", " ▄ ▄▄ \n ▄▀▀▀▀▄ ▀▄ \n █ ▀▀ █ \n ▀█▀▀█▀▄ █ \n █ █ \n ▄█▄▄█▄▄█ █ \n ▀▄▄▄▄▄▄▄▄▀ \n ▄▄▄▄▄▄▄ "], ["eat_1", " \n \n \n ▄▀▀▀▀▀▄▄ \n ▀▄ ▄ ▀▄ \n █ ▀▀ ▀ █ \n █▄█▄▀ █▀ \n ▀▄▄▄▄▄▄▄▄▀ "], ["eat_2", " \n \n \n ▄▄▄ \n ▄▀▀▀ ▀▄ \n ▄▀ █▀▄ █ \n █▄▄▄ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["happy", " \n ▄ ▄▄ \n ▄██▄▄▀ █ \n █ ▄▄ █ \n █ ▀ ▀ █ \n ▀█████▀ █ \n ▄████▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["injured_1", " \n \n \n ▄█▄▄█▀▄ \n ▄▀ ▀▄ \n █▄█ █▄▄ █ \n █ █ \n ▀▄▄██▄▄▄▄▄▀ "], ["injured_2", " \n \n \n \n █▄▄▄▄▀█ \n ▄▀ ▀▄ \n █▄█ █▄▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["sleep_1", " \n \n \n \n ▄▀█▄█▀▄ \n ▄▀▄▄▄ ▄▄▄▀▄ \n █ ▄▄▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n \n ▄▄ ▄▄ \n ▄▀ ▀▀▀ ▀▄ \n █ ▀▀▀ ▀▀▀ █ \n █ ▀▀▀ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " \n \n \n \n █▀▄▄▄▀█ \n ▄▀ ▄ ▄ ▀▄ \n █ ▀ ▄ ▀ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["walk_2", " \n \n \n ▄▄ ▄▄ \n ▄▀ ▀▀▀ ▀▄ \n █ █ █ █ \n █ ▀▀▀ █ \n ▀▄▄▄▄▄▄▄▀ "]]], + ["kunemon", [["angry", " ▄▀▀█▀ ▄▄▀▀▄ \n █▀▀▀▀▀ █▀▀▀ \n █▄▄▄▄ ▄▄ █ \n█ ▀▄ █ \n▀▄ ▄▀▀█ ▄▀▄▀▄ \n ▄▀▀█▀█▀▀▀█▄█ █ \n ▀█▀▄▄▄▀▀█▀ █ \n ▀▄▄▄▄▄▄▄█▄▀ "], ["attack", " ▄▀▀▀▀▀▀▄▀▀▀█▀\n ▄▀▀▀▀▀▄▄█ ▄▀▀ \n█▄ ▄▄▄▀▄ █ \n ▀██████▀█ █ ▄ \n▄█▀████▀ █▄▄▀█ █\n█▀▄▄▄▄▄▄▀ █▀▀▄▀\n ▀▄█▄▄▄█▄▄▀▄ ▄▀ \n ▀▄▄▄▄▄▄█▄▀ "], ["eat_1", " ▄▀▀▀▀▀▀█▀▄▄▀█\n ▄▀▀▀▀▀▄▀▀▄█▄▄▀ \n█▄ ▄▄▄▄▀▄ █ \n ▀██████▀█ █ ▄ \n▄█▀██▄▄▀ █▄▄▀█ █\n█▀▄▄▄▄▄▄▀ █▀▀▄▀\n ▀▄█▄▄▄█▄▄▀▄ ▄▀ \n ▀▄▄▄▄▄▄█▄▀ "], ["eat_2", " ▄▄▄▄ ▄▄ \n █▄▄█▄▄▀▀▄▄█▄ \n ▄▀ ▄ ▀▄ \n▄▀▀▀▀▀▄▀ ▀ █ \n█ ▄▄█ █ ▄▄ \n ▀▄▄█▄▄█▄▄█▀▄█ █\n █▄▄█ ▀▄▄▄█▄ ▀█\n █▄██▄▄▄▄▄█▄▀ "], ["happy", " ▄▀▀▀▀▀▀█▀▄▄ \n ▄▀▀▀▀▀▄▀▀▄█▄▄▀▄\n█▄ ▄▄▄▄▀▄ █ ▀▀\n ▀██████▀█ █ ▄ \n▄█▀████▀ █▄▄▀█ █\n█▀▄▄▄▄▄▄▀ █▀▀▄▀\n ▀▄█▄▄▄█▄▄▀▄ ▄▀ \n ▀▄▄▄▄▄▄█▄▀ "], ["injured_1", " \n \n ▄▀███▄▄▀▀▀▀▄ \n ▄▀ ▄ ▀▀▄▄█ \n▄▀▀▀▀▀▄▀▀ █ \n█ ▄▄█ █▀▀▄ \n ▀▄▄█▄▄█▄▄█▀▀▄ █\n █▄█▄▄▄▄█▄▄█▄▄█▀"], ["injured_2", " \n \n \n ▄▀███▄▄▀▀▀▀▄ \n ▄▀ ▄ ▀▀███ \n▄▀▀▀▀▀▄▀▀ █ ▀▄\n█ ▄▄█ █▀▀▄█\n ▀▄▄█▄▄█▄▄█▄▄▄▄▀"], ["sleep_1", " \n \n \n ▄▀███▄▄▀▀▀▀▄ \n ▄▀ ▀▀███ \n▄▀▀▀▀▀▄▀▀ █ ▀▄\n█ ▄▄█ █▀▀▄█\n ▀▄▄█▄▄█▄▄█▄▄▄▄▀"], ["sleep_2", " \n ▄▄▄▄ ▄▄ \n █▄▄█▄▄▀▀▄▄█▄ \n ▄▀ ▀▀▄ \n▄▀▀▀▀▀▄▀▀ █ \n█ ▄▄█ █▀▀▄ \n ▀▄▄█▄▄█▄▄█▀▀▄ █\n █▄█▄▄▄▄█▄▄█▄▄█▀"], ["walk_1", " ▄▀▀█▀ ▄▄▀▀▄ \n █▀▀▀▀▀ █▀▀▀ \n █▄▄▄▄ ▄█▀ █ \n█ ▀▄ █ \n▀▄ ▄▀▀█ ▄▀▄▀▄ \n ▄▀▀█▀█▀▀▀█▄█ █ \n ▀█▀▄▄▄▀▀█▀ █ \n ▀▄▄▄▄▄▄▄█▄▀ "], ["walk_2", " ▄▄▄▄ ▄▄ \n █▄▄█▄▄▀▀▄▄█▄ \n ▄▀ ▄▄▀▄ \n▄▀▀▀▀▀▄▀▀ █ \n█ ▄▄█ █ ▄▄ \n ▀▄▄█▄▄█▄▄█▀▄█ █\n █▄▄█ ▀▄▄▄█▄ ▀█\n ▀▄██▄▄▄▄▄█▄▀ "]]], + ["kuramon", [["angry", " \n \n \n ▄▄▄ ▄▄▄ \n █ ▄▀▀▀▀ █ \n █ ▄▄ █ \n ▄▀ ▀▀ ▀▄ \n █▄▀▀▄▄▀▀▄█ "], ["attack", " \n █▀▀▄▄▄▄▀▀█ \n ▀▄▀ ▄▄ ▄▀ \n █ ▀▀ █ \n █████ █ \n ▄▀▀▀▀▀▄ █ \n █▄▀▀▄▀ ▀▄█ \n ▄▄▄▄▄▄▄▄ "], ["eat_1", " \n ▄▄▄ ▄▄▄ \n █ ▄▀▀▀▀ █ \n █ ▄▀▄ █ \n █ ▀▀▀ █ \n █ ███ █ \n █ ▄▄ ▄▄▄ █ \n ▀▀ ▀ ▀▀ "], ["eat_2", " \n \n \n ▄▄▄ ▄▄▄ \n █ ▄▀▀▀▀ █ \n █ ▄ █ \n ▄▀ ▀ ▀ ▀▄ \n █▄▀▀▄▄▀▀▄█ "], ["happy", " \n █▀▀▄▄▄▄▀▀█ \n ▀▄▀ ▄ ▄▀ \n █ ▀ ▀ █ \n ▄▀ ███ ▀▄ \n █ ▄ ▄ █ \n █▄▀▀▄▀ ▀▄█ \n ▄▄▄▄▄▄▄▄ "], ["injured_1", " \n \n \n \n █▀█▀▀▀▀▄▀▀█ \n █ ▄▄ ▄▀ \n ▄▀ ▀▀ ▀▄ \n █▄▀▀▄▄▀▀▄█ "], ["injured_2", " \n \n \n \n ▄▄▄▄▄▄▄ ▄▄▄ \n ▀▄▀ ▀ ▄▀ \n ▄▀ ▀█▄ ▀▄ \n █▄█▄▄▄▄▄█▄▄█ "], ["sleep_1", " \n \n \n \n █▀▀▄▄▄▄▀▀█ \n ▀▄▀ ▄▀ \n ▄▀ ▀▀▀ ▀▄ \n ▀▄█▄▄▄█▄▄▀ "], ["sleep_2", " \n \n \n ▄▄▄ ▄▄▄ \n █ ▄▀▀▀▀ █ \n █ ▄▄▄ █ \n ▄▀ ▀▄ \n ▀▄█▄▄▄█▄▄▀ "], ["walk_1", " \n \n █▀▀▄▄▄▄▀▀█ \n ▀▄▀ ▄ ▄▀ \n █ █▄█ █ \n █ ▄ ▄ █ \n █▄▀▀▄▀ ▀▄█ \n ▄▄▄▄▄▄ "], ["walk_2", " \n \n \n █▀▀▄▄▄▄▀▀█ \n ▀▄▀ ▄ ▄▀ \n █ █▄█ █ \n █ █ \n █▄▀▀▄▄▀▀▄█ "]]], + ["kuwagamon", [["angry", " ▄▄▄ ▄▄▄▄ \n ▄▀▀ █▄ ▄█▄ ▀▀▄ \n █ ▀█▄▄▄▄▄▄█▀ █\n █▄▄▀ ▀▄▄█ \n █ ██▄ ▄██ █\n ▀▄▄█▄▄▄▄▄▄█▄▄▄▀\n ▄██▄▄█▄▄▄█▄█▄ \n █▄█▄█▄█▄▄█▄▄█▄█"], ["attack", " ▄▀█▀ ▀█▀▀▄ \n█ ▄▄█▀▀▀▀█▀▄▄▄ █\n▀▄ █▀▀ ▀▀ █ █\n ▀█▄█████▄ █▀▀ \n ▄████████ █▄ \n █ ▀██▀▀ █ █ █ \n█ █▀▀▀▀▀ █ █\n█▄▄█▄█▀▀▀▀█▄█▄▄█"], ["eat_1", " ▄▀█▀ ▀█▀▀▄ \n█ ▄▀▀ ▀▀▄▄ █\n▀▄ ▀█▀▀▀▀▀▀█ █\n ▀█▄▀▄ ▄▀▄ █▀▀ \n ▄▀█ ▄▄▄▄▄▄ █▀▀▄\n█ ▀████████▀▀ █\n█▄▄▄██▀ ▀█▄▄▄▀\n █▄█▄█▀▀▀▀▀▄▄█▄█"], ["eat_2", " ▄▄▄ ▄▄▄▄ \n ▄▀ █▄ ▄█ ▀▀▄ \n █ ▀█▄▄▄▄█▀▀ █ \n ▀█▄ ▄ ▀▄▀ \n ▄█ ▀ ▀ ▀ █▄ \n ▄▀▄▀▄▄▄▄▄▄█▄ ▀▄\n ▀▄▄█▄▄█▄▄▄█▄▄▄▀\n █▄█▄█▄█▄▄█▄▄█▄█"], ["happy", " ▄▀█▀ ▀█▀▀▄ \n█ ▄▄█▄▄▄▄▄██▄▄ █\n▀▄ █▀▄ ▄ █ ▄▀\n ▀█▀ ▀ ▀ ▀ █▀ \n ▄▀█ ██████ █▀▀▄\n█ ▀▀▄██▀▀▀█▄▀▀▀█\n▀▀▄▄█▀▀█▀▀▀█▄▄▄▀\n █▄█▄█▀▀▀▀█▄▄█▄█"], ["injured_1", " \n ▄▄▄ ▄▄▄▄ \n▄▀ █▄ ▄█▄ ▀▀▄ \n█ ▀▄▄▄▄▄▄█▀ █ \n▀▄▄▀ ▀▄▄▀▄ \n █▄█ █▄ █▄▀▀▀▄\n▄▀▀▄▄▄▄▄▄▀▀ █ ▄█\n█▄▄▄█▄█▄█▄▄▄██▄█"], ["injured_2", " \n \n ▄▄▄ ▄▄▄▄ \n▄▀ █▄ ▄█▄ ▀▀▄ \n█ ▀▄▄▄▄▄▄█▀ █ \n▀▄▄▀ ▀▄▄▀▀▀▄\n▄▀▀▄█ █▄▀▀ █ ▄█\n█▄▄▄█▄▄▄█▄▄▄██▄█"], ["sleep_1", " \n ▄▀█▀ ▀█▀▀▄ \n█ ▄▀▀ ▀▀▀▄ ▀▄ \n▀▄ ▀█▀▀▀▀▀█ ▄▀ \n ▀▄▀ ▀▄█▄ \n ▄▀█▄▄ ▄▄ █▄▄▀▄\n █ ▀▄▄▄▄▄▄█ █\n █▄▄▄█▄█▄▄█▄▄▄▄█"], ["sleep_2", " ▄▄▄ ▄▄▄▄ \n ▄▀▀ █▄ ▄█▄ ▀▀▄ \n █ ▀█▄▄▄▄▄▄█▀ █\n ▀▄▄▀ ▀▄▄▀ \n ▄█▄▄ ▄▄ █▄ \n ▄▀▄█▄▄▄▄▄▄▄█▄▀▄\n █ █▄▄█▄▄█ █\n █▄▄▄█▄█▄▄█▄▄▄▄█"], ["walk_1", " ▄▀█▀ ▀█▀▀▄ \n █ ▄▀▀ ▀▀▀▄ ▀▄\n ▀▄ ▀█▀▀▀▀▀█ ▄▀\n ▀█ ▄ ▄ █▀ \n ▄█ ▀ ▀ ▄▀▄ \n █ ▄▀▀█▀▀▀▀▄ █ \n █▄█▀▀█▀▀▀█▄▄█ \n █▄█▄█▀▀▀▀█▄▄█▄█"], ["walk_2", " ▄▄▄ ▄▄▄▄ \n ▄▀▀ █▄ ▄█▄ ▀▀▄ \n █ ▀█▄▄▄▄▄▄█▀ █\n ▀▄▄▀ ▀▄▄▀ \n ▄█ █ █ █▄ \n ▄▀▄▀▄▄▄▄▄▄█▄ ▀▄\n ▀▄▄█▄▄█▄▄▄█▄▄▄▀\n █▄█▄█▄█▄▄█▄▄█▄█"]]], + ["kuwagamon_x", [["angry", " ▄▄▄ ▄▄▄ \n ▄▀ █▄ ▄ ▄█ ▀▄ \n █ ▄█▄▄▀ ▀▄▄█▄ █\n ▀▄ ▄▀▄ ▄▀▄ ▄▀\n ▄▀█ █▄ ▄█ █▀▄ \n █ ▀▀█▄▄▄▄▄█▀▀ █\n █▄▄█▄▄█▄▄█▄▄█ \n █▄█▄▄█▄█▄█▄▄█▄█"], ["attack", " ▄▀█▀ ▀█▀▀▄ \n█ ▄▀▀ ▀▀▄ █\n█ █ ▄▀▄ █ █\n▀▄ ▀█▀ ▀█▀ ▄▀ \n ▀█ █ █ █▀ \n ▄▀▄▀▀ ▀▀▄█▀▀▄ \n █ ▀██▀█▀▀██▀ █\n █▄▄█▄█▀▀█▄█▄▄▄█"], ["eat_1", " ▄▄▀█▀ ▀█▀▄ \n █ ▄▄▀▀▄▀▄▀▀▄ ▀▄\n ▀▄ ▀█▀ ▀█▀ ▄▀\n ▀█▄▀▄ ▄▀▄█▀ \n ▄█ ▄▄▄ █▄ \n ▄▀ █▄ ███ ▄█ ▀▄\n ▀▄▄█▄█████▄█▄▄▀\n █▄█▄▄█▄█▄█▄▄█▄█"], ["eat_2", " \n ▄▄▀█▀ ▀█▀▄ \n █ ▄▄▀▀▄▀▄▀▀▄ ▀▄\n ▀▄ ▀█▀ ▀█▀ ▄▀\n ██ ▄ ▄ ██ \n ▄▀ ██ ▀ ▀ ██ ▀▄\n ▀▄▄█▄█▄▄▄█▄█▄▄▀\n █▄█▄▄█▄█▄█▄▄█▄█"], ["happy", " ▄▄▀█▀ ▀█▀▄ \n █ ▄▄▀▀▄▀▄▀▀▄ ▀▄\n ▀▄ ▀█▀ ▀█▀ ▄▀\n ▀█▄▀▄ ▄▀▄█▀ \n ▄▄█ ▄▄▄▄▄ █▄▄ \n █ █▄▀███▀▄█ █\n ███▄█████▄███ \n █▄█▄▄█▄█▄█▄▄█▄█"], ["injured_1", " \n ▄▄▄ ▄▄▄▄ \n▄▀ █▄ ▄ ▄█ ▀▄ \n█ ▀▄▄▀ ▀▄▄▀ █ \n▀▄▄▀ ▀▄▄▀▄ \n █▄█ █▄ █▄▀▀▀▄\n▄▀▀▄▄▄▄▄▄▀▀ █ ▄█\n█▄▄▄█▄█▄█▄▄▄██▄█"], ["injured_2", " \n \n ▄▀█▀ ▀█▀▀▄ \n█ ▄▀▀▄▀▄▀▀▄ █ \n█ █▀ ▀█ ▄█ \n ▀█ ▄ ▄ ██▀▀▀▄\n▄▀█▀▀ ▀▀▄█ █ ▄█\n█▄▄██████▄▄▄██▄█"], ["sleep_1", " \n ▄▄▄ ▄▄▄ \n▄▀▀ █▄ ▄ ▄█ ▀▄ \n█ ▀█▄▄▀ ▀▄▄█ █ \n ▀▄▄▀ ▀▄▄▀ \n ▀█▄▄▄ ▄▄▄█▀ \n █▀▄▀▄▄▄▄▄▀▄▀▀▄ \n █▄▄▄█▄▄█▄▄█▄▄█ "], ["sleep_2", " \n ▄▄▀█▀ ▀█▀▄ \n █ ▄▄▀▀▄▀▄▀▀▄ ▀▄\n ▀▄ ▀█▀ ▀█▀ ▄▀\n ██ ██ \n ██▀▀ ▀▀██ \n █▀▄▀▄▀▄▄▄▀▄▀▀▄ \n █▄▄▄█▄▄█▄▄█▄▄█ "], ["walk_1", " ▄▀█▀ ▀█▀▄ \n █ ▄▀▀ ▄▀▄ ▀▀▄ █\n ▀▄ ▀█▀ ▀█▀ ▄▀\n ▀█ █▄ ▄█ █▀ \n ▄█▄ ▀ ▀ ▄█▄ \n █ ▄▀▀▀█▀▀▀▄ █ \n █▄▄█▀▀█▀▀█▄▄█ \n █▄█▄▄█▀▀▀█▄▄█▄█"], ["walk_2", " ▄▄▄ ▄▄▄ \n ▄▀▀ █▄ ▄ ▄█ ▀▄ \n █ ▀█▄▄▀ ▀▄▄█ █\n ▀▄▄▀▄ ▄▀▄▄▀ \n ▄█ ▀█ █▀ █▄ \n ▄▀ ▄█▄▄▄▄▄█▄ ▀▄\n ▀▄▄█▄▄▄█▄▄▄█▄▄▀\n █▄█▄▄█▄█▄█▄▄█▄█"]]], + ["kyokyomon", [["angry", " ▄▄ ▄▄▄ \n ▄▀▄▄▀▀ ▄▀ \n ▄▀ ▄ ▀▄ \n █ ▀ ▄█▄ \n ▀▀█▀ ▄ █▄▄ \n ▀▄ ▀ ▄▀ \n ▀▄▄▄▄▀ \n ▄▄▄▄ "], ["attack", " ▄▄▀▀█▄▀▀█ \n ▄▀▀ ▀▀ ▄▄▀ \n ▀▀▀▄ ▄█ ▄▀ \n █ ▄█▄ \n ▄▀▀▀ ▀ █ \n ▀▀█▀ █▀ ▄▄ \n █ ▀▀ █ \n ▀▄▄▄▄▄▀▀ "], ["eat_1", " ▄▄▀▀█▄▄▄ \n ▄▀▀ ▀▀ ▄▄▀ \n ▀▀▀▄ ▀█ ▀▄ \n █ ▀▄ \n ▄▀▀▀ █ \n ▀█▀ ▀▄█▀█ \n █ ▀ █ \n ▀▄▄▄▄▀ "], ["eat_2", " \n ▄▀▀▄▄▀▀█ \n ▄▀ ▀▀ ▄▀ \n █ ▄▀▄ ▄▀ \n ▀▄▄▄▄▄ ▄▀ \n ▀▄ ▄ █ \n █ ▀▀█ \n ▀▄▄▄▄▄▄▀ "], ["happy", " ▄▄▀▀▄▄▄▀█ \n ▄▀ ▀▀ ▄▄▀ \n █ ▄▀▄ ▄▀ \n ▀▄▄▄▄▄▄ ▄▀▀█ \n ▄█▀▀▀ ▄▀ \n ▀▄█ █ ▄▄ \n █ ▀ █ \n ▀▀▄▄▄▄▀ "], ["injured_1", " \n ▄▀▀▄▄▀▀█ \n ▄▀ ▀▀ ▄▀ \n █ ▀▄▄ ▄▀ \n █ ▄▄ ▄▀ \n ▀▀█ ▄ █▄ \n █ ▀▄▀ ▀▄ \n ▀▄▄▄▄▄▀▄█ "], ["injured_2", " \n ▄▄ ▄▄▄ \n ▄▀▄▄▀▀ ▄▀ \n ▄▀ ▄ ▀▄ \n █ ▀▀ ▀▄ \n ▀▀█▀▀ █ \n █ █ █▀▄▄ \n ▀▄▄▄█▄▄▄▄█ "], ["sleep_1", " \n ▄▀▀▄▄▀▀█ \n ▄▀ ▀▀ ▄▀ \n █ ▄▄ ▄▀ \n █ ▄▄ ▄▀ \n ▀▀█ ▄ █ \n ▄▀ █▀▀█ \n ▀▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n ▄▄ ▄▄ \n ▄▀▄▄▀▀▀▄▀ \n ▄▀ ▀▄ \n █ ▀▀ ▀▄ \n ▀▄▄▄▀▀ █ \n ▄▀ ▀▄█▀▀█ \n ▀▄▄▄▄▄▄▄▀▀ "], ["walk_1", " ▄▀▀▄▄▀▀█ \n ▄▀ ▀▀ ▄▀ \n █ █ ▄▀ \n ▀▄▄▄▄ ▄ ▄▀ \n █ ▀▄█▀█ \n █ ▀ █ \n ▀▄▄▄▄▀ \n ▄▄▄▄ "], ["walk_2", " ▄▄ ▄▄▄ \n ▄▀▄▄▀▀ ▄▀ \n ▄▀ ▄ ▀▄ \n █ ▀ ▀▄ \n ▀▀█▀ █ █ \n █ █▀▀█ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄ "]]], + ["labramon", [["angry", " ▄▄▄▄▄ \n█ ▀▀▄ \n █▄▀▀▄█▄ ▀▄ \n▄▀ ▄█ █ █ ▄ \n▀█▀ ▄ ▀▄▀ ███\n ▀█▀▄▀ ▀▄ ▄▀\n ▄█ ▄ █ ▄█ █ \n █▄██▄█▄█▄█▄█▄█ "], ["attack", "▄▀▀▀▀▀▄▄ \n▀▄ ▄▄ ▄ ▀▄ \n █▀ █▀▀▄ █ \n█▄▄ ▀▀ ▀▄▀▄ ▄█▄\n ▀███ ▄▀ ▀▄ ▀▀█\n █▄▄▄▀ ▄ ▀▄▀ \n█▀▄▀▄ █ █ ▄█ ▀▄ \n▀▀▀▀▀▀ ▀▀██▄█▄█ "], ["eat_1", "▄▀▀▀▀▀▄▄ \n▀▄ ▄▄ ▄ ▀▄ \n █▀ ▄█▀▀▄ █ ▄ \n█▄▄▄▀▀▀ ▀▄▀▄ ███\n ████ ▀▄ █ \n ▀▄▄ ▄ ▀▄▀ \n ▄█ █ █ ▄█ ▀▄ \n █▄██▄█▄▀▀█▄█▄█ "], ["eat_2", " ▄▄▄▄▄ \n█ ▀▀▄ \n █▄▀▀▄█▄ ▀▄ \n▄▀ ▄▀▄ █ █ ▄ \n▀█▀ ▄ ▀▄▀ ███\n ▀█▀▄▀ ▀▄ ▄▀\n ▄█ ▄ █ ▄█ █ \n █▄██▄█▄█▄█▄█▄█ "], ["happy", "▄▀▀▀▀▀▄▄ \n▀▄ ▄▄ ▄ ▀▄ \n █▀ ▄▀▀▀▄ █ \n█ ▀ ▀ ▀▄▀▄ ▄█▄\n ▀███ ▀▄ ▀▀█\n █▀▀ ▄▀ ▄ ▀▄▀ \n ██▀█ █ ▄█ ▀▄ \n █▄██▄█▄▀▀█▄█▄█ "], ["injured_1", " \n ▄▄▄▄▄ \n█ ▀▀▄ \n █▄▀▀▄█▄ ▀▄ ▄ \n▄▀ █▄ █ █ ███\n▀█▀ ▄ ▀▄▀▄ █\n ▄▀█▀ █ ▄ ▀▀▄▄▀\n█▄█▄▄▄█▀█▄█▄▄█ "], ["injured_2", " \n \n▄▀▀▀▀▀▄▄ \n▀▄ ▄▄ ▄ ▀▄ \n █▀ ▄▀▀▀▄ █ ▄█▄\n█▄▄ ▀▀ ▀▄▀▄ ▀▀█\n █▄▄▄ ▄▀ ▄███▄▄▀\n█▄█▄▄▄█▀█▄█▄▄█ "], ["sleep_1", " \n \n▄▀▀▀▀▀▄▄ \n▀▄ ▄▄ ▄ ▀▄ \n █▀ ▀▀▀▄ █ ▄ \n█▄▄ ▀▀ ▀▄▀▄ ███\n █▄▄▄▄▄▀▄ █▄█▄▄▀\n█▄█▄▄▄█▄▄█▄▄█▄█ "], ["sleep_2", " \n ▄▄▄▄▄ \n█ ▀▀▄ \n █▄▀▀▄█▄ ▀▄ ▄ \n▄▀ ▄▄ █ █ ███\n▀█▀ ▄ ▀▄▀▄ ▄▀\n ▄▀█▀▄▀ ▄ ▄▀▀█ \n█▄█▄▄▄█▄▄█▄▄█▄█ "], ["walk_1", "▄▀▀▀▀▀▄▄ \n▀▄ ▄▄ ▄ ▀▄ \n █▀ ▄█▀▀▄ █ \n█▄▄ ▀▀▀ ▀▄▀▄ ▄█▄\n ▀▄▄▄ ▄▀ ▀▄ ▀▀█\n █ ▀ ▄ ▀▄▀ \n ▄█ █ █ ▄█ ▀▄ \n █▄██▄█▄▀▀█▄█▄█ "], ["walk_2", " ▄▄▄▄▄ \n█ ▀▀▄ \n █▄▀▀▄█▄ ▀▄ \n▄▀ ██▄ █ █ ▄█▄\n▀█▀ ▄ ▀▄█ ▀▀█\n▄▄███▀▀ ▄ ▀▄▀ \n█▄▀▄ ▄█ █ ▄█ ▀▄ \n ▀▀▀▀ ▀███▄█▄█ "]]], + ["ladydevimon", [["angry", " ▄ ▄ \n ▄█████▄ ███ \n █████████ ▄▀ \n▄██▄▀██▀▄████▄ \n▀▄█▄▀▀▀▀▄▀▀▄▄▀█▄\n█▄▄█▀▀▀▀ ▄▄▄█ █\n ▄▄▀▀█▄█▀▀▀▄▄ \n█▄▄█▄█▀▀▀▄█▄▄█ "], ["attack", " ▄██████▄ █▄█ \n████▀ ▄██▄ ▀█▀ \n▀▀█▀▀▀▀███▄ █ \n▄▀█ ▄▀▀████▄▄ \n██▀▀▀▀█ █▄ ▀█▀█\n▀▄▀▀▀▀▀█ █▀▄▀ \n ▄██▄▄▄▄██▄▄ \n█▄▄█▄█▀▄▄█▄▄█ "], ["eat_1", " ▄▄▀███▄▄ █▄█\n ██▄█▄█████ ▄▀ \n ▄▄ ▀█████▄ \n █ ▄█▄▄▄▀▀██▀▀█▄\n ▀▄▀▄▄▄▄▄▀ ▀▀▄ █\n ▀█▄ ▄█▄ ▀▄\n ▄▄▀▀▀█▀▀██▄▀▄▀\n █▄▄█▄█▀▄█▄▄▄█ "], ["eat_2", " ▄▄▄▄▄ █▄█ \n ▄███████▄▀█▀ \n ███▀██████ \n ███▄█▄███▀▀█▄ \n ▀▄ ▄▄█▀▀▄█▄\n ▄▄█ ▀▀▀ ▄▄ ██\n ▀▄▄█▄▄▄▄█▄▄▄▀ ▀\n █▄▄█▄██▄█▄▄▄█ "], ["happy", " ▄█████▄ █▄█\n █▀▄▀█▀▄▀█▄▄▀ \n ▄██▀▀▀▀▀▀▀██▄▄ \n █ █▄▀███▀▄▀ ▄▄▀\n █ ▀▀▄▄▄▀ ▄▀▄██\n ▄▀ █▄ ▄█▀▄█ █\n ▀▀██▀▀█▀▀██ ▀ \n █▄▄█▄█▄█▄▄█ "], ["injured_1", " \n ▄█████▄ ▄▄▄\n █████████▄▀██▄\n █▀ ██ ▀██▄ \n ▄████████ ▀██▄ \n█▀▄▀▄▄▄▄▀▀▀▄▀▄▀█\n ▄█ ▄ ▄ ▄▀▄▀ █\n█▄▄█▄▄█▄▄█▄█▄█ "], ["injured_2", " \n ▄▄▄▄▄ \n ▄███████▄ ▄██▀\n ██▀██▀███▀ ▀▀▀\n █▄▄██▄▄█▀██▄ \n▄███▀▀▀▀█▀▀▄▀██ \n▀▄█ ▀█▀█ ▄▀▄▀▀█\n█▄▄█▄▄█▄▄█▄█▄█ ▀"], ["sleep_1", " ▄██████▄ \n █████████ █▄█\n ▄█▀▀██▀▀██▄ ▀█▀\n▄▀▀█▀▀▀▀█▀▄███ \n█ █ ▀█▀▀ ██ ▀█ \n █▀▄█▄█▀ █ ▀ \n ▀▄▄█▄▄█▀ \n ▄▄▄▄▄▄▄▄▄▄▄ "], ["sleep_2", " ▄██████▄ █▄█ \n █████████ ▀█▀ \n █▀▀██▀▀██▄▀ \n █▀█▀▀▀▀█▀▄▀█ \n█▀█▄▀█▀█▄▀█ ▀█ \n▀ █ ▀█▀▀▄▄▀ ▀ \n ▀▀▀▀▀▀ \n ▄▄▄▄▄▄▄▄▄▄ "], ["walk_1", " ▄█████▄ ▄ ▄\n █████████ ███\n █▄▀██▀▄███ ▄▀ \n ███▀▀▀▀▀█ ▀█▄ \n█▀▄▀▀▄▄▄▀▀▀▄ ██▄\n██ █▄ ▄█▄ █ ██\n ▀▄█▀▀█▀▀▀▄▄█ █ \n █▄▄█▄█▀▄█▄▄█▀ "], ["walk_2", " ▄█████▄ █▄█\n █████████ ▀█▀\n ██▄▀██▀▄███▄█ \n██▀█▀▀▀▀▀█▄▀▀██▄\n▀ █▄▀▄▄▄▀ █▄ ▀█\n▄▀ ▀▄ █ █▀▄█ \n▀▀▀██▀██▀▄▄█ \n █▄▄██▄▄▄█ "]]], + ["ladydevimon_x", [["angry", "▄ ▄▄▄▄▄▄ ▄▄ \n████████████▀▄ ▄\n ██▄▀█▀▄███▀ ███\n ██▀▄▀███ █ ▀█▀\n ▄█▄▀▀▀▀▄█▄▄█▀ \n█ ▄██████▄ █▄ \n▀▀██ ▀ ▄██████ \n █▄▄█▄█▀▄▄█▄█▀█ "], ["attack", " █▄██████▄▄██\n █▄▀█▀▄█████ \n ▀█▀▄▀████▀ \n▀▀▄ █▀▀▀▀▀██ \n▀▀▄█▀▀▀▄▄▄█▀▀█▄ \n▀▀█▄ ▀ ▄▄▄ ██ █ \n▀▀▄▀▀██▄▄██▄▄██▄\n▀▀ █▄▄█▄▄█▄█ ▀█"], ["eat_1", "█▄▄▀███▀█▄▄██ \n▀███▄▀▄█████ █▄█\n ▀██▄█▄███▀▄ ███\n █ █ ▀▄▄▀ \n █ █▄▄▄▄█▀█▄▀ \n ▀▄█▀█▀▀██ ██ \n ▄█▀▄▄██▄▄███ \n █▄▄█▄█▀▄▄█▄█▀▀ "], ["eat_2", "▄ ▄▄▄▄▄▄ ▄▄ \n████████████▀▄ ▄\n █▀▄▀█▀▄▀██▀ ███\n ████████ █ ▀█▀\n ▀▄▀▀▀▀▄█▄ █▀ \n ▄▀██████ ██▄ \n█▄▄█ ▀ ▄█▄▄██▄ \n █▄▄█▄█▀▄▄█▄██ "], ["happy", "█▄▄██████▄▄██ \n▀██▀███▀████ ▄ ▄\n ▀▄█▄█▄█▄█▀ ███\n▄▀█▀▀▀▀▀▀██▀▄▀█▀\n▀▄▀▄ ▄▀ ▄▀▀ \n ▀█▀█▀▀█▀██▄ \n ▄█▀▄▄███▄███ \n █▄▄█▄█▀▄▄█▄█▀█ "], ["injured_1", " \n▄ ▄▄▄▄▄▄ ▄▄ \n████████████▀ \n ███▀██▀███▀ \n █▄▄██▄▄█ █▄█\n ▀▄▀▀▀▀▄█▄ ███\n ▄▀█▀█▀▀█ ██▄ █ \n█▄▄█▄▄▄██▄▄███ "], ["injured_2", " \n \n█▄▄██████▄▄██ \n▀███████████ \n ▀█▀ ██ ▀█▀ ▄ ▄\n █▀████▀█ ███\n ▄▀█▄▄▄▄█▀█▄▄▀█▀\n█▄▄█▄▄▄██▄▄███ "], ["sleep_1", "█▄ ▄████▄ ▄██▄ ▄\n▀██████████▀ ███\n █▀██▀▀██ ▀█▀\n ▀█▀▀▀▀█▀ ▄▄▀ \n █ ▀█▀▀ █▀▀ \n █▀█▀▀█▀ \n ▀▀▀▀ \n ▄▄▄▄▄▄▄▄▄ "], ["sleep_2", "▄ ▄▄▄▄ ▄▄ \n██▄██████▄██▀ \n ▀████████▀ █▄█\n █▄██▄▄██ ███\n ▄▀▄▄▄▄▀▄▄ ▄▀ \n ▀▄▄█▄▄▄█ ▀▀ \n ▀▄█▄▄▀ \n ▄▄▄▄▄▄▄ "], ["walk_1", "█▄▄██████▄▄██ \n▀██▄▀█▀▄████ █▄█\n ▀██▀▄▀███▀▄ ███\n █▀▀▀▀▀▀█ ▀▄▄▀ \n ▄█▄▄▄▄█▀█▄▀ \n █ █▀█▀▀██ ██ \n ▀▄█▀▄▄██▄▄███ \n █▄▄█▄█▀▄▄█▄█▀█ "], ["walk_2", "▄ ▄▄▄▄▄▄ ▄▄ \n███▀███▀████▀▄ ▄\n ███▄▀▄████▀ ███\n ██▄█▄███ █ ▀█▀\n ▀▄ ▄█▄ █▀ \n ▄▀██████▄▀█▄ \n █▄█ ▀ ▄█▄▄██▄ \n █▄▄█▄█▀▄▄█▄██ "]]], + ["lalamon", [["angry", " ▄▄ ▄▄ \n ▄▄█▄▄ \n ▄▀ ▀ ▀ ▀▄ \n ██▄ ▄█ █ \n █ ▄ █ \n █▄▄▀▄ ▄▄▀▄▄█ \n █ ▄ ▀▀ ▄ █ \n ▀▀▄██▀▄▄█▀ "], ["attack", " ▀██▄██▀ \n ▄▀ ▀ ▀ ▀▄ \n █▀▄ ▄▀ █ \n █ ▄▄ █ \n ▄▀ ▄ ██ ▄ █ \n █▀▀ ▀▄▄▀▀ ▀ █ \n ▀▀▄ ▀▀█ \n ▀▄██▀▀▀▀ "], ["eat_1", " ▀██▄██▀ \n ▄▀ ▀ ▀ ▀▄ \n █ █ █ █ \n █ ██ █ \n █▄▄▀▄▀▀▄▄▀▄▄▀ \n ▀▄▄ ▀▀ ▀█ \n █▄ ▄▀ \n ▀▄██▀▄▄█ "], ["eat_2", " ▄▄ ▄▄ \n ▄▄█▄▄ \n ▄▀ ▀ ▀ ▀▄ \n █▄▀▄ ▄▀▄█ \n █ ▄▄ █ \n █▄▄▀▄ ▄▄▀▄▄█ \n ▀▄▄ ▀▀ ▄▄▀ \n █▄▄▀█▄▄▀ "], ["happy", " ▀██▄██▀ \n ▄▀ ▀ ▀ ▀▄ \n █▄▀▄ ▄▀▄█ \n █ ▄▄ █ \n ▄▀ ▄ ▀▀ ▄ ▀▄ \n ▀█▀ ▀▄▄▀▀ ▀█▀ \n █▄▄ ▄▄█ \n ▀▄██▀▄▄█ "], ["injured_1", " ▄▄ ▄▄ \n ▄▄█▄▄ \n ▄▀ ▀ ▀ ▀▄ \n █▄▀ ▀▄▄ █ \n █ ▄▄ █ \n ▀▄▄▀▄ ▄▄▀▄▄▀ \n █ ▀▀ █▀▄ \n █▄▄▀▄▄▄█▄▄█▄█ "], ["injured_2", " \n ▀▀▄▀▀ \n ▄▀█▀█▀▄ \n █ ▄ ▄ █ \n ▄▀▀ ▀▀ ▀▄ \n ▄▀ ▄ ██ ▄ ▀▄ \n ▀█ ▀▄▄▀▀ █▀▄ \n █▄▄▀▄▄▄█▄▄█▄█ "], ["sleep_1", " \n ▀▀▄▀▀ \n ▄▀█▀█▀▄ \n █ █ \n ▄▀▄▄ ▄▄ ▀▄ \n ▄▀ ▄ ▄ ▄ ▀▄ \n ▀▀█▄▀▄▄▀▀▄█▀▀ \n █▄▄█▄▄▄█▄▄█ "], ["sleep_2", " ▄▄ ▄▄ \n ▄▄█▄▄ \n ▄▀ ▀ ▀ ▀▄ \n █▄▄ ▄▄ █ \n █ ▄ █ \n █▄▄▀▄ ▄▄▀▄▄█ \n █▄ ▀▀ ▄█ \n █▄▄█▄▄▄█▄▄█ "], ["walk_1", " ▀▀▄▀▀ \n ▄▀█▀█▀▄ \n █ ▄ ▄ █ \n ▄▀ ▀ ▀ ▀▄ \n ▄▀ ▄ ▀ ▄ ▀▄ \n ▀▀█ ▀▄▄▀▀ ▀█▀ \n █▄▄ ▄▄█ \n ▀▄██▀▄▄█ "], ["walk_2", " ▄▄ ▄▄ \n ▄▄█▄▄ \n ▄▀ ▀ ▀ ▀▄ \n █ █ █ █ \n █ ▄ █ \n █▄▄▀▄ ▄▄▀▄▄█ \n ▀▄▄ ▀▀ ▄▄▀ \n █▄▄▀█▄▄▀ "]]], + ["lavogaritamon", [["angry", " ▄▄▄ \n ▄▄███▄▄▀ ▄██▀\n█████▀ ██▄██▄██▀\n█▀▀ ██████▄███▀▀\n ▀█████▀▄████▀▀ \n █ ▄███▄▀██▀ \n ▄█████████▄▄ \n█▄█▄▀▀▀▀▀▄▄█▄█ "], ["attack", " ▄▄▄▄▄▀▀█ ▄██▀\n ████▀ ███▄▀▄██▀\n ██▀▀▀▀███▀▄███▀\n █ ▄▄ ██████▄ \n █▄▄▄▄▄█████▄ \n █▀████ ▀▀ \n ▄████████▄ \n █▄█▄▀ ▀▄▄█▄█ "], ["eat_1", " ▄▄▄▄▄▀▀█ \n ████▀▄▀█▀ ▄▄██▀\n ████▀███▄▀█▄██▀\n █ ███████▀▀\n ▀█▄▄███████▀▀ \n █ ▄███ ██▀ \n ▄████████▄ \n █▄█▄▀ ▀▄▄█▄█ "], ["eat_2", " ▄▄▄ \n ▄▄███▄▄▀ ▄██▀\n █████▀▄▀█▄█▄██▀\n █▀▀ █████▄███▀▀\n ▀████▀▄████▀▀ \n █▀▀███▀██▀ \n ▄███▄█████▄▄ \n█▄█▄▀▀▀▀▀▄▄█▄█ "], ["happy", " ▄▄▄▄▄▀▀█ ▄▄▄\n ████▀▄▀█▀▄▄▀██▄\n ████▀████▀████▄\n █ ██▀████▄ \n ▀▄▄▄██▄████▄ \n █ ▄███ ▀▀ \n ▄████████▄ \n █▄█▄▀ ▀▄▄█▄█ "], ["injured_1", " \n ▄▄▄▄▄▄▄ \n ▄▄███▀██▄▄▀ \n ███▀█▄▄██▄█▀██▀\n █▄▄▄███▀▀▄███▀▀\n █ ▄███████▀▀ \n▄▀▀█████▀▀▀██▀ \n█▄▄▄████▄▄▄▄▀▀ "], ["injured_2", " \n \n ▄▄████▀▀█ \n█████ ▀██▀▄▄▄▄▄▄\n█▀▀ █████▀█▄███▄\n ▀▀█▀▀█▄▄█████▄ \n▄▀▀█▄███▀▀███▄ \n█▄▄▄████▄▄▄▀█▄ "], ["sleep_1", " \n ▄▄▄ \n ▄▄███▄▄▀ \n█████▀▀█ ▄▀███▀ \n█▄▄ █████▀███▀▀ \n ▀▀█▀▀█▄▄███▀▀ \n▄▀▀█▄██▀▀███▀ \n█▄▄▄███▄▄▄█ "], ["sleep_2", " \n ▄▄▄▀▀█ \n ▄▄██████▀ ▄▄▄▄▄\n █▀▀▀█▄▄█▄█▄███▄\n ▀██▄███▀▀▄███▄ \n █ ▄███████▄ \n▄▀▀█████▀▀▄▀▀ \n█▄▄▄████▄▄▄█ "], ["walk_1", " ▄▄▄▀▀█ ▄▄▄\n ▄▄████▀█▀ ▄▀██▄\n ███▀█▄▄█▄▀████▄\n ▀▄▄▄███▀█████▄ \n ▀███▄█▀███▄ \n █ ▄██▄ ▀▀ \n ▄████████▄ \n █▄█▄▀ ▀▄▄█▄█ "], ["walk_2", " ▄▄▄ \n ▄▄███▄▄▀ \n █████▀ █ ▄▀███▀\n █▀▀ █████▀███▀▀\n ▀████▀▄████▀▀ \n █▀▀███▀██▀ \n ▄███▄█████▄▄ \n█▄█▄▀▀▀▀▀▄▄█▄█ "]]], + ["lavorvomon", [["angry", " \n ▄▄▄ \n ▄▄████▄▄▀ \n█████▀▀ ██▀ \n█▀▀ ▀█████▀▄▄ \n ▀▀▀█████▄█▄▀ ▄█\n ▄████████████▀\n █▄███▄██▀▀███▄█"], ["attack", " ▄▄▄▄▀█▀▀█ \n█████▄▄███▄ \n█ ▀ ▀ ▀███▄ \n █ ████▀█ ▄\n▄▀ ▄ ▄ ██▀▄▀▄ ██\n ▀▀█████████▄██▀\n ▄█████████▀███ \n█▄███ █▄███ █▄█"], ["eat_1", " ▄▄▄▄▀▀█ \n▄▄███▀▀▀██▄ \n▀█▀▀▀█████▄ \n █ ▄▄ █████ \n▀▄▄▄▄████▀▄▀█ ▄\n ▄████████▄▄██\n ▄██▀█████▀███▀ \n█▄███ █▄███ █▄█ "], ["eat_2", " \n ▄▄▄▄▀▀█ \n▄▄████▀███▄ \n███▀█▄█▄██▄ \n▀▄▄▄▄████▀▄▀█ ▄\n ▄████████▄▄██\n ▄██▀█████▀███▀ \n█▄███ █▄███ █▄█ "], ["happy", " ▄▄▄▄▀▀█ \n▄▄███▀▄▀██▄ \n████▀█████▄ \n █ ████▀▄▄ \n▄▀ ▄████▄█▄▀ █ \n ▀▀█████████▄██ \n ▄██▀█████▀███ \n█▄███ █▄███ █▄█ "], ["injured_1", " \n \n ▄▄▄ \n ▄▄████▄▄▀ \n█████▀████▀ \n█▀▀ ▀█▄▄██▀█▄▄ \n ███▀█████▀████▄\n█▄███ █▄███ █▄██"], ["injured_2", " \n \n \n ▄▄▄▄▀▀█ \n▄▄████████ \n███▀█▄▀▀██▀▄ \n▀▄▄▄▄█████▀███▄ \n█▄█████▄█████▄██"], ["sleep_1", " \n \n ▄▄▄ \n ▄▄████▄▄▀ \n██████▀▀██▀ ▄\n█▀▀ ▀█████▀█▄▄██\n ███▀█████▀███▀ \n█▄███ █▄███ █▄█ "], ["sleep_2", " \n \n ▄▄▄▄▀▀█ \n▄▄████████▄ \n███▀██▄▄██▄ ▄\n▀▄▄▄▄████▀▄█▄▄██\n ▄▄█▀█████▀███▀ \n█▄███ █▄███ █▄█ "], ["walk_1", " \n ▄▄▄▄▀▀█ \n▄▄████▀▀██▄ \n███▀█▄▄███▄ \n▀▄▄▄▄████▀▄▀█ ▄\n ▄████████▄▄██\n ▄██▀█████▀███▀ \n█▄███ █▄███ █▄█ "], ["walk_2", " \n ▄▄▄ \n ▄▄████▄▄▀ \n█████▀ ▄██▀ \n█▀▀ ▀█████▀▄▄ \n ▀▀▀█████▄█▄▀ ▄█\n ▄▄████████████▀\n█▄████▄██▀▀███▄█"]]], + ["lekismon", [["angry", " ▄▄▄▄ ▄▄▄▄ \n ▀▄▄▀▄ ▀▄ █ ▄\n ▄██████▄▄▀▀▄\n ▄████▀ ██ ▀▀ \n ▀█▀▀▀██▀▄▄ \n ▄▀▄▀▀▀▄ ▄ ▀▄ \n ▀▄▄██▀ ▀▀█▄▄▀ \n █▄▄█▀█▄▄▄█ "], ["attack", " ▀█▀▀▄▀█▀▀▄ \n ▄███▀▄█▄█ \n ▄████▄▄██▀▄▄▀ \n ▀▄ ▀██▀▀▀▄▀ \n ▄▀▀▀▀▀ █ \n ▀▄▄███▀ █ \n █ █ ▀▄ \n █▄▄█▀▄▄▄▄█ "], ["eat_1", " ▀█▀▀▄ ▀█▀▀▄ \n ▀▀▄█▄▄█▄▀ ▄▄ \n ███▀▄▀██▀▄▄▀\n █▀▀▀▀▀██▀ ▀\n ▄▀▄ ▄▀▄▄▄▄ \n ▀▄▄███▄▀▄▄ █ \n ▄▀▀ ▀██ \n █▄▄█▀█▄▄▄█ "], ["eat_2", " ▀█▀▀▄ ▀█▀▀▄ \n ▀▀▄█▄▄█▄▀ ▄▄ \n ████▀███▀▄▄▀\n ████▄█▄█▀ ▀\n ▀▄▄▄▀▀▄ \n ▄▀▄▄▄▀▄▄▀▄ \n ▀▄▀▀ █▄▄▀ \n █▄▄█▀█▄▄▄█ "], ["happy", " ▀█▀▀▄ ▀█▀▀▄ \n ▀▀▄█▄▄█▄▀ ▄▄ \n ███▀▄▀██▀▄▄▀\n ▄█▀▀▀▀▀███▄ ▀\n ▀▄▀▄ ▄█▀ ▄▀ \n ▀████▀▄▄▀ \n ▄▀▀ ▀▄ \n █▄▄█▀█▄▄▄█ "], ["injured_1", " ▄▄ ▄▄▄ \n▄█▄▄▀▄▀▀▄ █ \n ▄██████▄▄▀▀▄ \n ▄███▄▀▀██ ▀▀▄ \n ▀█▀▀▀██▀▀▄ \n ▄▄█▄▄▄█▄ ▄█▄▄ \n █ ▀▄ ▀█▀ █▀ █\n ▀▄▄█▄▄▀▄▄▀▄▄▄▀ "], ["injured_2", " \n ▄▀▀▄ ▄█▀▀▄ \n▀▀▀▀▄█▄▄█▄▀ ▄▄▀ \n ███▀████▀▄▄▀ \n █████▄▄██▄ \n ▄█▄▄▄▄█▄ ▄█▄▄ \n █ ▀▄ ▀█▀ █▀ █\n ▀▄▄█▄▄▀▄▄▀▄▄▄▀ "], ["sleep_1", " \n▀█▀▀▄ ▀█▀▀▄ \n ▀▀▄█▄▄█▄▀ ▄▄ \n ████████▀▄▄▀ \n ████▄▄▄██▄ ▀ \n ▄█▄████▄ ▄█▄▄ \n █ ▀▄ ▀█▀ █▀ █\n ▀▄▄█▄▄▀▄▄▀▄▄▄▀ "], ["sleep_2", " ▄▄▄▄ ▄▄▄▄ \n ▀▄▄▀▄ ▀▄ █ ▄\n ▄██████▄▄▀▀▄\n ▄███▀▀▀██ ▀▀ \n ▀█▀▀███▀█ \n ▄▄██▀▀██ ▄█▄▄ \n █ ▀▄ ▀█▀ █▀ █\n ▀▄▄█▄▄▀▄▄▀▄▄▄▀ "], ["walk_1", " ▀█▀▀▄ ▀█▀▀▄ \n ▀▀▄█▄▄█▄▀ ▄▄ \n ████▀▀██▀▄▄▀\n ████▄▄██▀ ▀\n ▀▄▄▄▀▀▄ \n ▄▀▄▄▄▀▄▄▀▄ \n ▀▄▀▀ █▄▄▀ \n █▄▄█▀█▄▄▄█ "], ["walk_2", " ▄▄▄▄ ▄▄▄▄ \n ▀▄▄▀▄ ▀▄ █ ▄\n ▄██████▄▄▀▀▄\n ▄███▀ ▄██ ▀▀ \n ▀█▀▀▀██▀▄ \n ▄▀▄▀▀▀▄ ▄ ▀▄ \n ▀▄▄██▀ ▀█▄▄▀ \n █▄▄█▄▄▄█ "]]], + ["leomon", [["angry", " \n \n \n \n \n \n \n "], ["attack", " ▄▄▀▀▀▀▀▀▀▀▀█ \n █▀▀▄█▀▀▀▀██ █▄▄\n▄▀█▄ ▄█ █▀ ▄▀\n█▄ ▄ ▄ ▄ █ ▀▀█\n▄▀██████ █▄▄▄▀▀█\n█ █▀█▀█▀ █ █ █\n█▀▄▄▄▄▄▄▀▀▄▄▄▄█▄\n █▄▄█▄██▀▀█▄▄█▄█"], ["eat_1", " ▄▄▀▀▀▀▀▀▀▀█ \n █▀▀▄▄▀▀▄▀██ █▄▄\n█▀▀ ▀▀ ▄▀ ▄▀\n ▀██████ █ ▀▀█\n▄▀█████▀ █▄▄▄▀▀█\n█▀▄▄▄▄▄▄▀█ █ █\n█▄ █▄▄ ▀▄▄▄▄█▄\n █▄█▄██▀▀█▄▄█▄█"], ["eat_2", " ▄▄▄▄▄▄▄▄▄ \n ▄▄▄▀▀▄▄ ▄▄▄ ▄▀ \n ▀▄▀▀▀ ▀ █▀ ▀▀█\n█▀ ▄ ▄▀▀▄▀▄ ▄█▄\n▀█▀▀▀ ▄▀ ▄▄▀\n▄▀███▀█▀▀▄█▀█ █ \n█ █ █ ▀█ █ █▄\n▀▄▄▄▄██▄█▄▄▄▄█▄█"], ["happy", " ▄▄▀▀▀▀▀▄▀▀▀▄\n █▀▀▄▄▀▀▄▀▀█ █\n█▀▀ ▄▀▄ ▄▀▀▄▄ █\n▀▄▄▄▄▄▄▄ █ ▄▀ █\n █████▀▄█▄▄█ █\n▄▀▄▄▄▄▄▄▀▄▄▄▀▀▄▀\n█ ▀▀▄▄▄▄▄▄▄▄▄▄█▄\n▀▄▄▄█▄██▀▀█▄▄█▄█"], ["injured_1", " \n ▄▄▀▀▀▀▀▀▀▀█ \n █▀█▄▄▀▀▄▀██ █▄▄\n▄▄▀ ▄ ▄▀ ▄▀\n█▄▄▄▄ ▀▀ █ ▀▀█\n █▄▄▄▄▄▄▄▀▄▄▄▀█ \n █ ▀█ ▀▀█▀▀ █▄\n█▄█▄▄████▄▄▄▄█▄█"], ["injured_2", " \n ▄▄▄▄▄▄▄ \n ▄▄▄▀▀▄▄ ▄▄▄ ▀▄ \n ▀▄▀▀▀ ▀ █▀ ▀█ \n█▀ ▄ ▀▄ ▄▄█\n▀█▀▀ ▀▀ ▄▀ ▄▀▄\n █▀▀▀█▀▀▀▄▀▀▀ ██\n█▄█▄▄████▄▄▄▄█▄█"], ["sleep_1", " \n ▄▄▀▀▄▀█ ▄▄ \n▄▀▀▄ ▄▀ ▄▀▀ █▄▄\n█ ▄ ▀ █\n▄▀█ ▄▀▄▀██ █\n▀▄▀▀▀▀ ▄▀ ▄▀▄\n█▀▀▀▄ ▄▄▄▀▀▀▀█▀█\n█▄▄▄█▄▄▄█▄▄▄▄█▄█"], ["sleep_2", " ▄▄ ▄▄ \n ▄▄▀ █ ▀▄▀▀▄ \n█ ▀ ▀ ▀ █▀▄\n▀█▄▀ ▄ ▄▄▄ █\n█ █▄▄▄▀ ▀ █▀ ▄▀\n █ ▀▄ ▄▀ █\n█▀▀▀▄ ▀▀▄▀▀▀▀█▀█\n█▄▄▄█▄▄▄█▄▄▄▄█▄█"], ["walk_1", " ▄▄▀▀▀▀▀▀▀▀█ \n █▀█▄▄▀▀▄▀██ █▄▄\n▄▄▀ ▄▄ ▄▀ ▄▀\n█▄▄█▄▀▀ █ ▀▀█\n █▄▄▄▄▄▄▄█▄▄▄▀▀█\n█ █▄▄▀▄▄▄▄▄▀▀ █\n█ ▀▀▄▄ █▄▄█▄\n▀▄▄▄█▄██▀▀█▄▄█▄█"], ["walk_2", " ▄▄▄▄▄▄▄▄▄ \n ▄▄▄▀▀▄▄ ▄▄▄ ▄▀ \n ▀▄▀▀▀ ▀ █▀ ▀▀█\n█▀ ▄ ▄█▀ ▀▄ ▄█▄\n▀█▀▀▀ ▄▀ ▄▄▀\n█▀▀█▀▀█▀▀▄█▀█ █ \n▀▄▄██▀ ▀█ █ █▄\n█▄█▄▄████▄▄▄▄█▄█"]]], + ["leomon_x", [["angry", " ▄▄▄▄▄▄▄▄▄ \n ▄▄▄▀▀▄▄ ▄▄▄ ▄▀ \n ▀▄▀▄▀ ▀ ▄▀ ▀█\n ▄▀▄ ▄█ ▀▄ ▄▀ \n █▀▀▀ ▄▀ ▄▄▄▀ \n ▄▀▀███████▀██▄ \n █ █▄▄▄█ ▄███\n█▄██▄█▀▀▀███▄█▄█"], ["attack", " ▄▄▀▀▀▀▀▀▀▀█ \n █▀█ ▄▀▀█▀▀█ ▀▄▄\n ▄▀ ▀ ▀▀▄▀ ▄▀\n ▀█▄█▄█▄ █ ▀▄ \n ▄▀█▀█▀█ █▄███▄ \n▄▀▄▄▄▄▄▄███▄ ▀██\n█ ▀ █▄▄▄▄█ ▀ ██\n▀▄▄▄█▄█▀▄█▄▄▄▄▀▀"], ["eat_1", " ▄▄▀▀▀▀▀▀▀▀█ \n █▀█ ▄▀▀▄▀▀█ ▀▄▄\n ▄▀ ▀ ▀▀ ▄▀ ▄▀\n ▀██████ ▄▀ ▀▄ \n ▄█▀▀▀▀ █▄▄███▄ \n█ ▀█▀▀▀▀▀█ ▀ █\n ▀▄█▄▀▀█▀▀▀█▄▄█▀\n █▄█▄▄█▀█▄█▄█▄█ "], ["eat_2", " ▄▄▄▄▄▄▄▄▄ \n ▄▄▄▀▀▄▄ ▄▄▄ ▄▀ \n ▀▄▀▄▀ ▀ ▄▀ ▀█\n ▄▀▄ ▄▀▄ ▀▄ ▄▀ \n █▀▀▀ ▄▀ ▄▄▄▀ \n ▄▀▀██████▀▀█▀█▄\n █▄▄█▄▄▄▄█▄▄▄▄█▀\n█▄█▄▄█▀▀█▄▄█▄█▄█"], ["happy", " ▄▄▄▀█▀▀█▀▀█▀▀█ \n ▀▄▀▀▄▀▄ ▄▀ ▀▄▄\n █▄█▄▄▄▄ █ ▄▄▄▀\n ██████ █ █ █\n █▀▀▀▀ █▄██ ▄▀\n ▀█▀▀▀▀▀█ ▄█▄ \n ▄█▄▀▀█▀▀▀███▀▀\n █▄█▄▄█▀█▄█▄█▄█ "], ["injured_1", " \n ▄▄▀▀▀▀▀▀▀▀█ \n █▀█ ▄▀▀▄▀▀█ ▀▄▄\n █ ▀ ▄ ▄▀ ▄▀\n █▄█▄ ▀▀ ▄▀ ▀▄ \n ▀▄▄▄▄▄▄█▄▄███ \n █ ▀▀▄▄▄▄▄█▀ ██\n█▄█▄▄██████▄▄█▄█"], ["injured_2", " \n ▄▄▄▄▄▄▄▄▄ \n▄▄▄▀▀▄▄ ▄▄▄ ▄▀ \n▀▄▀▄▀ ▀ ▄▀ ▀█ \n▄▀▄ █▄ ▀▄ ▄▀ \n█▀▀▀ ▄▀ ▄▄▄█▄ \n █▀▀▀█▀▀▀▀█▀ ██\n█▄█▄▄██████▄▄█▄█"], ["sleep_1", " \n ▄▀▄▀▄▀▀▄▀▀█ \n ▄▀ █ ▄▀ ▀ ▀▀▀█\n█▀▀▄ ▄▀▀█ ▄█▄\n █ █ ▄▀ ▄▀ ▄▀\n ▄▀ ▀▀ ▄▀ ▄██▄\n▄▀▀▄ ▄▀▀▀▀██▀ ▀█\n█▄▄███▄▄▄███▄▄▄█"], ["sleep_2", " ▄ ▄ ▄▄ ▄▄▄ \n ▄▀▄▀ █ ▄▀ ▄█▄▄\n▄█▄ ▀ ▀ ▄▄▄ ▄▀\n▀▄ █ ▄▀ ▄▀ ▀▀█\n ▀▄▀▄▄▀ ▀▄ ▄▀ \n █ ▄▀ ▄███▄\n▄▀▀▄ ▄▀▀▀▀██▀ ▀█\n█▄▄███▄▄▄███▄▄▄█"], ["walk_1", " ▄▄▀▀▀▀▀▀▀▀█ \n █▀█ ▄▀▀▄▀▀█ ▀▄▄\n █ ▀ ▄▄ ▄▀ ▄▀\n █▄█▄▀▀ ▄▀ ▀▄ \n ▀▄▄▄▄▄▄█▄▄███ \n ▄▀ █▀▀▀▀▀█▀ ██▄\n ▀▄█▄▀▀█▀▀▀▄▄█▀▀\n █▄█▄▄█▀█▄█▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄▄▄▄ \n ▄▄▄▀▀▄▄ ▄▄▄ ▄▀ \n ▀▄▀▄▀ ▀ ▄▀ ▀█\n ▄▀▄ ▄█▀ ▀▄ ▄▀ \n █▀▀▀ ▄▀ ▄▄▄▀ \n ▄▀▀███████▀▀▀█▄\n▀▄▄██▄▄▄▄▄██▄▄█▀\n█▄█▄▄█▀▀▀█▄█▄█▄█"]]], + ["leopardmon", [["angry", " ▄▄▄ ▄▄▄ ▄▄▄ \n ████ ▄████▀ ▄▄ \n █▀███▀▀██▄▀▄▄▀\n █▄ █ ▄█▀█ ▄▄▀\n █▀█▀▀▀▀▄▀▀▀▄▄▄▀\n█▀▀▄▀▀▀▀▄▀▀▄█ \n▀▄▄█▄█▀▀█▄▄▄▀▄▄ \n █▄▄▄▀▀▄▄▄█▀▄▄█"], ["attack", " ▄▄▄▄ ▄▄ ▄▄▄ \n ▀██▀▄▄███▀▄▀█\n ▄▄████▀▀██ █ ▀█\n██████▄▄███▄█ ▀█\n ▀▄ ▀ ▀██▀ █▄▀▄\n ▄▀▄▄▀▄▄▀█▀█ █\n █▄▄▄▄▄▄▀ ▄▀█ █\n█▄▄█▄▄▄▄▄▀ █▄▄▄█"], ["eat_1", "███▄▀▀█▄▄███ \n █▀█▄█▀▀██▀ ▄▄▄▄\n █▄▄█▄▄███▄▀ ▄▄▀\n █▄▄▄▄▄ ▄█▄ ▄▄▀\n█ ████▀▄ █▄▄▄▀\n▀▄█ ▄▄▄ █▀ █ \n ▄▀▀▄▄▄▀▀▀▄▄▀▀▄ \n█▄▄▄█ █▄▄▄█▀▀▄█"], ["eat_2", " ▄▄▄ ▄▄▄ ▄▄▄ \n ████ ▄████▀ \n █▀███▀███ ▄▀▀█\n █▄█▄█▄█▄▀█▀ ▀▀▄\n █▀█▀▀▀▀▄▀▀▀▄▀▀▄\n █▄▄▀▀▀▀ ▀▄▄▀█▀ \n█ ▄█▄█▀▀▄▄█ █▄ \n▀▀█▄▄▄▀▀▄▄▄█▀▄▄█"], ["happy", " ███▄█▀▀▄███ \n ██▀█▄█▀██ ▄▀▀█\n █▄█▄█▄█▄█▀ ▀▀▄\n▄▀█ ▄▄▄▄ █▀▄▀▀▄\n█ ▀▄████▄█ █▀▀ \n ▀█ ▄▄▄ ▀▄▄▀ ▄▄\n █▀▀▄▄▀▀▀▄▀▀▀▄▀\n █▄▄▄█ █▄▄▄█▀▀ "], ["injured_1", " \n▄██▄█▀▀▄███▄ \n████ ▄████▀▀ \n █████████ ▄▀▀▄ \n █▀▀██▀▀█▀▀▄ ▀▄\n█ █▀▀▀▀█ █ █ █\n▀█▀▄▄▄▄▄█▀▀██▄█▀\n█▄▄█▄▄█▄█▄▄▄█▄▄█"], ["injured_2", " \n ▄▄ ▄▄▄ ▄▄▄ \n████▀ ▄█████ \n▀███▄█████ ▄▄ \n █████████▄▀ █ \n▄▀▄▄██▄▄▀ █ ▄ █\n▀█▀▄▄▄▄▄█▀▀█▄█▄█\n█▄▄█▄▄█▄█▄▄▄█▄▄█"], ["sleep_1", " \n▄██▄▀▀█▄███▄ \n████▄█████▀▀ \n █▀▀█▀▀▀██ ▄▀▀▄ \n▄██████▀▄██ ▀▄\n▀▄█▄▄▄▄█▄▄▄█ █ █\n█ █▀▀▄█ █▄ █▄█▀\n▀▄▄██▄█▄▄▄▀▀▄▄▄█"], ["sleep_2", " ▄▄ ▄▄▄ ▄▄▄ \n████ ▄██████ \n▀█████████ ▄▄ \n █▄▄█▄▄▄▀█▄▀ █ \n█▀█▀▀▀▀▄▀▀▀▄ ▄ █\n▀▄▄▀▀▀▀▄█▄▄█▄▀▄█\n█ █▀▀▄█ █▄ █▄▄ \n▀▄▄██▄█▄▄▄▀▀▄▄▄█"], ["walk_1", "███▄▀▀█▄███ ▄▄▄\n▀███▄█████ ▄▀▄▄▀\n █ ▀█▀ ▄███ ▄▄▀\n▄██████▀▄█▄ ▄▄▄▀\n█ ▀▄▄▄▄▀▄ █ \n█▀█ ▄▄▄ █▀ █ \n▀▄▀▀▄▄▄▀▀▀▄▄▀▀▄ \n█▄▄▄█ █▄▄▄█▀▀▄█"], ["walk_2", "▄▄▄ ▄▄▄ ▄▄▄ \n████ ▄████▀ ▄▀▀█\n █▀███▀▀██▄▀ ▀▀▄\n █▄▄█▄▄█▀█▀ ▀▀▄\n█▀█▀▀▀▀▄▀▀▀▄▀▀▀ \n█▄▄▀▀▀▀ ▀▄▄█ \n▀▄█▄█▀▀▄█ █▀▄▄ \n █▄▄▄▀▀▄▄██▀▀▄▄█"]]], + ["leopardmon_x", [["angry", " ▄▄ ▄▄▄▄▄ \n █▄▀▀ █ ▀▄▀▄ \n ▄▀▀ ▄█ ▄▀▄▄▄▀ \n ▀▄▄▄▄▄ ▄▀▄▄█ \n ▀▄▄▄▄█▀▄ ██▄\n▄▀█ ▄▀▄ █▀▀██ █\n▀▄▀▀▄ ▄▀▀▄▄▄█ █\n█▄█▄█▀▀█▄█▄█ ▀▄█"], ["attack", " ▄▀█▄▀█▀█▀▄ \n ▄█▀ ▄▄▀ ▄█ ▀▄\n █ ▀▀ ▀▄██▀ \n ████▄ ▄█▀▄▄█ \n ▄█▄▄▄▄▄█▄▀▄▄▄▀█\n▀▄▄▄▄▄▄▄▄▄ █ ▄█\n ▄▀▀▄▄▄█▀▀██ █\n █▄█▄█ █▄█▄█▀▄█"], ["eat_1", " ▄▀█▄▀█▀█▀▄ \n ▄█▀ ▄ ▀ ▄█ ▀▄ \n █ ▀ ▀ ▀▄▀▀█ \n ▀█████ ▄▀ ▀▀█▄ \n ▄████▀▄▄▀▄▄▄▀ █\n█ █▄▄▄▀███▀ █ █\n █▀ ▀█▀ ▀█▄▄▀▄ █\n█▄█▄█ █▄█▄█ ▀▀"], ["eat_2", " ▄▄ ▄▄▄▄▄ \n █▄▀▀ █ ▀▄▀▄ \n ▄▀▀ ▄▀▄ ▄▀▄▄▄▀ \n ▀▄▄▄▄▄ ▄▀▄▄█ \n ▀▄▄▄▄█▀▄▄▄▄▀▀▄\n▄▀█ ▄▀▄ ██▄ ▀█ █\n▀▄▀▀▄ ▄▀ ▀█▄▄▀ █\n█▄█▄█▀▀█▄█▄█ ▀▄█"], ["happy", " ▄▀█▄▀█▀█▀▄ \n ▄█▀ ▄ ▀ ▄█ ▀▄ \n █ ▀ ▀ ▀▄▀▀█ \n ▀█████ █ ▀▀█▄ \n ▄█▀▀▀ ▄▀▄▀▀▄▀ █\n█ ██▀▀▀▄█ ▄█ █\n █▀ ▀▄▀ ▀█▀ ▀▄ █\n█▄█▄█ █▄█▄█ ▀▀"], ["injured_1", " \n ▄▄ ▄▄▄▄▄ \n █▄▀▀ █ ▀▄▀▄ \n ▄▀▀ █▄ ▄▀█▄▄▀ \n ▀▄▄▄▄▄ ▄▀▄▄█▀▄\n ▀▄▄▄▄█▀▄▄▄▄█ █\n ▄▀█ █▄▄█▀ █ █\n█▄▄▄█▄▄█▄▄▄██▀▄█"], ["injured_2", " \n \n ▄▀█▄▀█▀█▀▄ \n ▄█▀▄ ▀ ▄█ ▀▄ \n█ ▀▀ ▀▄▀▀▀▄▄ \n █▀▀▀▀▄▄▀▄ ▀▀█ █\n ▄▀█▀█▄▄█▀▀▀█ █\n█▄▄▄█▄▄█▄▄▄██▀▄█"], ["sleep_1", " \n ▄▄ ▄▄▄▄▄ \n █▄▀▀ █ ▀▄▀▄ \n ▄▀▀ ▄▄ ▄▀▄▄▄▀ \n ▀▄▄▄▄▄ ▄▀▄▄█▄ \n ▄█▄▄▄▄█▀ ▄▄▄▀ █\n█▄█▀█ ▀▄█▀ ▀ █ █\n█▄▄▄█▄███▄▄▄▄█▄█"], ["sleep_2", " \n ▄▀█▄▀█▀█▀▄ \n ▄█▀ ▀ ▄▀ ▀▄ \n █ ▀▀ ▀▄▀▀█ \n █▀▀▀▀▄▄▀ ▀▀█▄ \n ▄▄▀▀█▀█ ▀███▀ █\n█▄█▀█ ▀▄█▀ ▀ █ █\n█▄▄▄█▄███▄▄▄▄█▄█"], ["walk_1", " ▄▀█▄▀█▀█▀▄ \n ▄█▀ ▄▄▀ ▄█ ▀▄ \n █ ▀▀ ▀▄▀▀█ \n ▀█▀▀▀▀▄▄▀ ▀▀█▄ \n ▄▀▀█▀▀▄▀▄▄▄▀ █\n▄▀█▄▀ ▀▄██▀ █ █\n▀▄▀ ▀█▀ ▀█▄▄▀▄ █\n█▄█▄█ █▄█▄█ ▀▀"], ["walk_2", " ▄▄ ▄▄▄▄▄ \n █▄▀▀ █ ▀▄▀▄ \n ▄▀▀ ▄█▀ ▄▀▄▄▄▀ \n ▀▄▄▄▄▄ ▄▀▄▄█ \n ▀▄▄▄▄█▀▄▄▄▄▀▀▄\n▄▀█ ▄▀▄ ██▄ ▀█ █\n▀▄▀▀▄ ▄▀ ▀█▄▄▀ █\n█▄█▄█▀▀█▄█▄█ ▀▄█"]]], + ["leviamon", [["angry", " ██ ██ \n ▀▄ ▀▄\n ▄▄ ▄▄▀▀█▄█▄▀█\n ▄▀ ██▄▄███▄▄▀▀▄\n▄▀ █▀█▀▀▀ ▄█\n█▄ ▄▄▄▀█▀█ ▀▄ █\n▀█▀▀▀▀▀▀▀██ ▄▀█▀\n ▀▀▄█▀▀▀ ▀▀▀▀▀ "], ["attack", " ▄▀▀█ ██ ██ \n ▄█ █ ▀▄ ▀▄\n█ ▀█▀█▄█▄▀█\n▀▄███▄▄ ▀▀▀▄▀▀▄\n ▀▀▀███▄ ▄█\n ▄▄▄▄███▀ ▀▄ █\n █▀▀▀▀▀▀ █ ▄▀█▀\n ▀▀▄▄▀▀▀▀▀▀▀▀ "], ["eat_1", " ██ ██ \n ▄▄▄▄▄▄ ▀▄ ▀▄\n ▄▀ ██▄▄▄██▄█▄▀█\n▄▀ ████▀█▄▄▀▀▄\n█ ▄▄▄▄▀ ▀▀▀ ▄█\n▀▄█████▄▄▄█ ▀▄ █\n █▀▀▀▀▀▀ ▄█ ▄▀█▀\n ▀▀▄█▀▀▀ ▀▀▀▀▀ "], ["eat_2", " ██ ██ \n ▀▄ ▀▄\n ▄▄ ▄▄▀▀█▄█▄▀█\n ▄▀ ██▄▄▀██▄▄▀▀▄\n▄▀ ██▄█▄█ ▄█\n█▄ ▄▄▄▄▀ ▀▄ █\n▀█▀▀▀▀▀ ▄█ ▄▀█▀\n ▀▀▄█▀▀▀ ▀▀▀▀▀ "], ["happy", " ██ ██ \n ▄▄▄▄▄▄ ▀▄ ▀▄\n ▄▀ ██▄▄▄██▄█▄▀█\n▄▀ ██▀▄▀█▄▄▀▀▄\n█ ▀▀▀▀▀ ▄█\n▀▄████▄▄▄▄█ ▀▄ █\n █▀▀▀▀▀▀ ▄█ ▄▀█▀\n ▀▀▄█▀▀▀ ▀▀▀▀▀ "], ["injured_1", " \n \n ▄▄▄ \n ▄▀█▄▄▄██▄▄██▀▀▄\n▄▀ ███ ▀▀██▀▀▀█\n█ ▀ ▀▀██ ▄ ▄█\n▀█▄▄▄█▀▀▀▀▄ █▄█\n ▀▄▄▄▄▄▄▄▀▄█▄█ "], ["injured_2", " \n \n \n ▄▄▀▀▄▄ \n ▄▀█▄▄▄██▄▄███▄█\n▄▀ ███ ▀▀█▀ █\n█ ▀ ▀▀██ ▀▄▀█\n▀█▄▄▄█████▄▄▄██▀"], ["sleep_1", " \n \n ▄▄ ▄▄▀▀█▄▄▄▄\n █ ▀███▄▄████▄▄█\n█ ▀█▀▄▄▄█▀ █\n█▄ ▄▄▄▄█▀ ▀▄▀█\n ▀█▀▀▀ █ ▄▀█▀\n ▀▀▄█▀▀▀▀▀▀▀▀ "], ["sleep_2", " \n ██ ██ \n ▀▄ ▀▄\n ▄▄ ▄▄▀▀█▄█▄▀█\n ▄▀ ██▄▄███▄▄▀▀▄\n▄▀ █▄▄█▀▀ ▄█\n█▄ ▄▄▄█▀ ▀▄ █\n▀▀█████▄▄▄█▄▄██▀"], ["walk_1", " ▄▄ ▄▄ \n ▀█ ▀█ \n ▄▄▄ █ ▄█\n ▄▀█▄▀▀▄▄█▀▀█▄▀\n █ ▀███▀██▀▀ █\n█ ▀ ▀▀▄▄ ▄ ▀█\n██▄▄▄▄█▀▀▀▄ █▄█\n ▀▄▄▄▄▄▄▄▀█▄█▄█ "], ["walk_2", " ██▄ \n ██▄ ▀▄\n ▄▄ ▄▄█▄▀█\n ▄▀█▄▀ ▄██▄▄▀▀▄\n █ ▀█▀█▄▀▀ ▀█\n█ ▄▄▄▄▀▄ ▀▀▄█\n██▄▄█▄█▄█▄█▄ ▄▀▄\n ▀██▄▄▄▄▄▀ █▄▄▀▀"]]], + ["leviamon_x", [["angry", " \n ▄▄▄▄\n █▀▀▀▄▀▀▀▀▄█ ▄▀\n ▀▀▄██▀▀▄█▀ ▄▀\n▄▄▄██▀▄█ █▀ ▄█▄▄\n▀▄▄▀ ▄▄ ▄ ▀ █\n ▀▄▄▀▀ ▄█ █ ▀▄\n ██▄▄▀▀▀█▄█▄█▄▄█"], ["attack", " ▄▄▄▄ ▄▄▄▄ \n ▀▄▄ █▄▄▄ ▀█▀▀▀█\n▄▄▄▄███▀▄▀██ ▀▄\n▀▄▄▀▀ ▀▀ █▀ █ \n ▀▄▀▄▀▄█ ▄█▄▄\n █ ▄ ▀ █\n ▄▀▄▀▄▀▄█ █ ▀▄\n ██▄▄▄▄▄▀▄█▄▀▄▄█"], ["eat_1", " \n ▄▄▄▄ ▄▄▄▄▀█▀▀▀█\n ▀▄▄ █▄▄▄ ▄█ ▀▄\n ▄██▀▄ ▀█▀ █ \n█▀▀█▀ ▀ ▀ ▀ ▄█▄▄\n ▀▀████ ▄ ▀ █\n █▀▀ ▄█ █ ▀▄\n ██▄▄▀▀▀█▄█▄█▄▄█"], ["eat_2", " \n ▄▄▄▄\n █▀▀▀▄▀▀▀▀▄█ ▄▀\n ▀▀▄██▀▀▄█▀ ▄▀\n▄▄▄██▀▄▀▄█▀ ▄█▄▄\n▀▄▄▀ ▄▄ ▄ ▀ █\n ▀▄▄▀▀ ▄█ █ ▀▄\n ██▄▄▀▀▀█▄█▄█▄▄█"], ["happy", " \n █▀▀▀▄▀▀▀▀▄█▀▀▀█\n ▀▀▄██▀▀▄▄█ ▀▄\n▄▄▄█▀ ▄▀▄ █▀ █ \n▀▄▄█▄▄▄ ▀ ▄█▄▄\n ▀█████ ▄ ▀ █\n ███▀ ▄█ █ ▀▄\n ██▄▄▀▀▀█▄█▄█▄▄█"], ["injured_1", " \n ▄▄▄▄\n █▀▀▀▄▀▀▀▀▄█ ▄▀\n ▀▀▄█▀▀▀▄█▀ ▄▀\n▄▄▄██ █▄ █▀ ▄█▄▄\n▀▄▄▀ ▄▄ ▄ ▀ █\n ▀▄▄▀▀ ▄█ █ ▀▄\n ██▄▄▀▀▀█▄█▄█▄▄█"], ["injured_2", " \n \n ▄▄▄▄ ▄▄▄▄ ▄▀▀▀█\n ▀▄▄ █▄▄▄ ██ ▀▄\n ▄█▀▄ ▀█ ▄▀ \n█▀▀█▀ ▀▀ ▀█▀█\n █▀ ▄▄▀▀▄█ █ ▀▄\n ▄██▄▄▄▄█▄█▄█▄▄█"], ["sleep_1", " \n \n ▄▄▄▄ ▄▄▄▄ ▄▀▀▀█\n ▀▄▄ █▄▄▄ ██ ▀▄\n ▄██▀ ▀█ ▄▀ \n█▀▀█▀ ▀▀ ▄ ▀█▀█\n █▀ ▄▄▀▀▄█ █ ▀▄\n ▄██▄▄▄▄█▄█▄█▄▄█"], ["sleep_2", " \n ▄▄▄▄\n █▀▀▀▄▀▀▀▀▄█ ▄▀\n ▀▀▄██▀▀▄█▀ ▄▀\n▄▄▄██▀▄▄ █▀ ▄█▄▄\n▀▄▄▀ ▄▄ ▄ ▀ █\n ▀▄▄▀▀ ▄█ █ ▀▄\n ██▄▄▀▀▀█▄█▄█▄▄█"], ["walk_1", " \n ▀█▀▀▀█\n █▀▀▀▄▀▀▀▀▄█ ▀▄\n ▀▀▄██▀▀▄█▀ █ \n▄▄▄██▀▄█▀ ▀ ▄█▄▄\n▀▄▄▀ ▄▄ ▄ ▀ █\n ▀▄▄▀▀ ▄█ █ ▀▄\n ██▄▄▀▀▀█▄█▄█▄▄█"], ["walk_2", " \n \n ▄▄▄▄ ▄▄▄▄ ▄▀▀▀█\n ▀▄▄ █▄▄▄ ██ ▀▄\n ▄██▀▄▄▀█ ▄▀ \n█▀▀█▀ ▀▀ ▀█▀█\n █▀ ▄▀▀▀ ▄▀ ▄ ▄▀\n ▄███▀▀▀██▄▄█▄▄█"]]], + ["lilamon", [["angry", " ▄ ▄▄▄▄▄▄▄▄ ▄ \n█ █▀ ▀▄▄▀ █\n██ ▄ ▄ ▀▄ █\n▀█ ▄▀ ▀▀ ▀▄▄█ ▄▀\n ██▀▄ ▄▀ █▄█ \n▄█ █▄▄▄▄▄█ █▀▄\n█ ▀█▀▄ █▀█▀ █\n▀▀█▄▄█▀▀▀▄▄▄█▀▀▀"], ["attack", " ▄▀▀▀▀▀▀▀▄▄▀█\n █ █ █\n ▀▄▀▄▀▀▄ █ █\n█▀▄ █ ▄▀ ▄▀▀▄▄▀ \n▀▄▄▀▀▀▄▄▄█▄▀▀▄ \n█ ▄█▀▄▄ █▀▄ ▀▄\n▀▀ ▄▀█▄ ▄█▄▀ █ █\n █▄▄█ █▄▄▄█▀ ▀▀"], ["eat_1", "▄▀▄▄▀▀▀▀▀▀█▀ ▄▀▄\n█▄▀ ▄ ▄ █▀ █\n██ ▄▀▄▀▀▄▀▄ █ █\n ▀▄█ ▀ ▀ ▀█▀▄▀ \n ▄▀█▄████ ▄█▀▀▄ \n█▄▀ █▀▄▄▀█ ▄▀▄ █\n██▄█▀▄ ▄▀█▄▄█▄█\n █▄▄█▀▀▄▄▄█ "], ["eat_2", " ▄▄▄▄▄▄▄▄ \n▄▀▄▀ ▀▄ ▄▀▄\n█▄▀ ▄ ▄ ▀█ █\n▀█ ▄▀ ▀▀ ▀▄▄█ ▄▀\n ██▀▄ ▄▀▄ █▄█ \n▄▀▄▀▄▄▄▄▄▄█▀▄ ▀▄\n█ ▀▄▄█ █▄▀ █ █\n▀▀▀▀▄▄██▄▄▀▀▀▀▀▀"], ["happy", "▄▀▄▄▀▀▀▀▀▀▀█▀▄▀▄\n█▄▀ ▄ ▄ █ █\n██ ▄▀ ▀▀▀ ▀▄ █ █\n █ █▄▀▄ ▄▀▄█ █▀ \n█▀▀█ ▄▄▄▄▄ █▀▀█ \n▄▀▄▄█▄▀▀▀▄█▄▄▀ █\n█▄▄█▀▄▀▀▀ ▄▀▄▄▄█\n █▄▄█▀▀▀█▄▄▄█ "], ["injured_1", " ▄▄▄▄▄▄▄▄ \n ▄▀ ▀▄ \n █ ▄ ▄ ▀▄ \n █ ▄▀ ▀▀ ▀▄▄█▄ \n ▄▀█▄▀ ▀▄ █ ▀▄\n█ ▄▀▀▄▄▄▄▄▀▀█▄ █\n█▄▀▀█ █▀▀█ ▀█\n██▄▄██▄▄██▄▄█▄▄█"], ["injured_2", " \n ▄▀▀▀▀▀▀█▀ \n ▄▀ █ \n █ ▄▀▄▄▀▄ █ \n ▀▄█ ▄ ▄ ▀█▀▀▄ \n▄▀▄▀█ ▀▄▀▄ █\n█▄▀▀█▀▀▀▀█▀▀█▀▄█\n██▄▄██▄▄██▄▄█▄▄█"], ["sleep_1", " \n ▄▀▄ \n ▄▀ ▄▀▀▄ \n ▄▀ ▄▀▄ ▀▄ \n ▄▀ █ █ ▀▄ \n █ █ █ █ \n▄▀▀▀▄ ▄▀▀▀▄ \n ▀▄▄▄█▄▄▄█▄▄▄▀ "], ["sleep_2", " ▄ \n ▄▀ █ \n █ █ ▀▄ \n █ █ █ █ \n █ █ █ █ \n █ ▄▀ ▀▄ █ \n ▄▀▀▀▄ ▄▀▀▀▄ \n ▀▄▄▄█▄█▄▄▄▀ "], ["walk_1", "▄▀▄▄▀▀▀▀▀▀█▀ ▄▀▄\n█▄▀ █▀ █\n██ ▄▀▄▄▀▄ █ █\n ▀▄█ █ █ ▀█▀▄▀ \n ▄▀▀▄ ▄▀▀▀▄ \n█ ▄▀█▀▀▀▀█ ▀▄ █\n██ ▄▀▄ ▄▀▄▀ █▄█\n ▀█▄▄█▀▀▄▄▄█▀▀ "], ["walk_2", " ▄ ▄▄▄▄▄▄▄▄ ▄ \n█ █▀ ▀▄▄▀ █\n██ ▄ ▄ ▀▄ █\n▀█ ▄▀▄▀▀▄▀▄▄█ ▄▀\n ██ ▀ ▀ █▄█ \n▄▀ ▄█▄▄▄▄▄▀▄ ▀▄\n█▄▀▄█▄ █▄▄▀▄ █\n▀▀█▄▄█▀▀▀▄▄▄█▀▀▀"]]], + ["lilithmon", [["angry", " ▄███████▀█▄\n █ █▀ ████▄▀\n ██▄▄▄█████ \n████▄▄▀▄▄▄█▀ █\n▀▀▀█▀▀██ █▄▄▀▀█▀\n ▀▀██▄█▄█▄▄▀ \n ▄████████▀▄ \n █▄▄▄█ █▄▄▄█ "], ["attack", " ▄▄▄▄▄▄▄▄ \n █▀█▄██▀█▄█▄ \n █▄▄██▄▄██▄▀ \n ▄▀▀▄▄▄▄█▀▀▀▄ \n▄██▄ █▀█ ▄▄██▄\n█ ██▀█▄█▀███ █\n ▀█████▄██████▀ \n █▄▄▄█ █▄▄▄█ "], ["eat_1", " ▄█▀████▀▄ \n █ ▀▄█▀ ██▀█ \n ██▀▀▀▀████ \n █ ▀▄▄█▀ █▄ \n ███▄▄█ █▄▄████▄\n█▀▀██▄█▀█▄██▄▀▀█\n▀▄▄██████████▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["eat_2", " ▄█▀████▀▄ \n █ ▀▄█▀ ██▀█ \n ██▀▀▀▀████ \n █ ▀▄▄█▀ █▄ \n ███▄▄█ █▄▄████▄\n█▀▀██▄█▀█▄██▄▀▀█\n▀▄▄██████████▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["happy", " ▄█▀████▀▄ \n █ ▀▄█▀ ██▀█ \n ██▀▀▀▀████ \n █ ▀▄▄█▀ █▄ \n ███▄▄█ █▄▄████▄\n█▀▀██▄█▀█▄██▄▀▀█\n▀▄▄██████████▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["injured_1", " ▄█▀████▀▄ \n █ ▀▄█▀ ██▀█ \n ██▀▀▀▀████ \n █ ▀▄▄█▀ █▄ \n ███▄▄█ █▄▄████▄\n█▀▀██▄█▀█▄██▄▀▀█\n▀▄▄██████████▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["injured_2", " \n ▄██▀████▀▄ \n ██▀██▀███▀█ \n █▄▀▀▀▀▄██▀ \n █ ▀▄▄▄▄▀ ▄█ \n ████▀▀████▄ \n ▄▀▀████▀▀██ \n ▀▄▄██ █▄▄█▄█ "], ["refuse", " ▄█▀████▀▄ \n █ ▀▄█▀ ██▀█ \n ██▀▀▀▀████ \n █ ▀▄▄█▀ █▄ \n ███▄▄█ █▄▄████▄\n█▀▀██▄█▀█▄██▄▀▀█\n▀▄▄██████████▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["sleep_1", " ▄█▀████▀▄ \n █ ▀▄█▀ ██▀█ \n ██▀▀▀▀████ \n █ ▀▄▄█▀ █▄ \n ███▄▄█ █▄▄████▄\n█▀▀██▄█▀█▄██▄▀▀█\n▀▄▄██████████▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["sleep_2", " ▄█▀████▀▄ \n █ ▀▄█▀ ██▀█ \n ██▀▀▀▀████ \n █ ▀▄▄█▀ █▄ \n ███▄▄█ █▄▄████▄\n█▀▀██▄█▀█▄██▄▀▀█\n▀▄▄██████████▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["walk_1", " ▄█▀████▀▄ \n █ ▀▄█▀ ██▀█ \n ██▀▀▀▀████ \n █ ▀▄▄█▀ █▄ \n ███▄▄█ █▄▄████▄\n█▀▀██▄█▀█▄██▄▀▀█\n▀▄▄██████████▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄▄▄ \n █▀█▄██▀█▄█▄ \n █▄▄██▄▄██▄▀ \n ▄▀▀▄▄▄▄█▀▀▀▄ \n▄██▄ █▀█ ▄▄██▄\n█ ██▀█▄█▀███ █\n ▀█████▄██████▀ \n █▄▄▄█ █▄▄▄█ "]]], + ["lilithmon_x", [["angry", " ▄▄ ▄▄▄▄▄ ▄▄ \n █▄█ ▀▀ ██▄█▄▄ \n ▄█▄▀██▀▄██▄ █ \n ██ ▄ ▄▀██▄▀▄▄\n ▀▄▀▀ ▀▀▄█▀▄██ \n ██▀▀▀█▀████▀ \n █ █▀█▀▀▀▄▀█▄ \n █▄▄▄██▄▄█▀▀▀ "], ["attack", " █▀▄▀██▀█▄▀█ \n ▀█▀▄▄▄▄▀██▀▀▀▄\n ██▀ ▀▀ ▀███ ▄▀\n ▀██▄ ▄█ ██▀▄█\n▄▄▄ █▄▄▄▄▄██▄███\n ███▄█▄▄▄█▀ ██▀ \n ▄▀█ ▀▄▄███ \n █▄▄▄█▄▄▄█ ▀▀▀"], ["eat_1", " █▀▄▀██▀█▄▀█ \n ▀█▀▄▄▄▄▀██▀▀▀▄ \n ██▀▄▀▀▄▀███ ▄▀ \n ▀█ ▀ ▀ ██▀▄█▀\n ▄▀▄████ ▄█▄███ \n ▀▄██▄▄▄█ ▀██▀ \n ▄▀ █ ▀▄ ███ \n █▄▄▄██▄▄█ ▀▀▀ "], ["eat_2", " ▄▄ ▄▄▄▄▄ ▄▄ \n █▄█ ▀▀ ██▄█▄▄ \n ▄█▄▀██▀▄██▄ █ \n ██ ▄ ▄▀█▀▄▀▄▄\n █▀ ▀ ▀ ▀█▀▄██ \n █▄▀▀ ▄▀▀███▀ \n █ █▀█▀▀▀▄ █▄ \n █▄▄▄██▄▄█▀▀▀ "], ["happy", " █▀▄▀██▀█▄▀█ \n ▀█▀▄▄▄▄▀██▀▀▀▄ \n ██▀ ▀▀ ▀███ ▄▀ \n ▀█▄▀▄ ▄▀▄██▀▄█▀\n ▀▄ ▄▄▄ ▄█▄███ \n █▀▀█████▀▀▀█▀ \n ▀▄ █ ▀▄█ ▄▀██ \n █▄▄▄███▄█ ▀▀ "], ["injured_1", " \n ▄▄ ▄▄▄▄▄ ▄▄ \n █▄█ ▀▀ ██▄█▄▄ \n ▄█▄▀██▀▄██▄ █ \n ██ ▄ ▄ ▀██▄▀ \n █▄▀▀ ▀▀ ██ ▄▄▄\n █ ▄█▄▄▄▄█▄ ███▀\n ▀█▄▄██▄▄█▀██▄ "], ["injured_2", " \n ▄▄ ▄▄▄▄▄ ▄▄ \n █▄█ ▀▀ ██▄█▄▄ \n ▄█▄▀██▀▄██▄ █ \n ██ ▄ ▄ ▀██▄▀ \n ▀▄█▀ ▀▀▄██ ▄▄▄\n █ ▄█▄▄█▄ ████▀\n ▀█▄▄██▄▄█▀██▄ "], ["sleep_1", " \n▄▄ ▄▄▄▄▄ ▄▄ \n█▄█ ▀▀ ██▄█▄▄ \n▄█▄▀██▀▄██▄ █ \n██ ▀██▄▀▄█▀\n ▀█▀ ▀▀██▀▄███ \n ▄▀▀███▀▀▀▄▀█ \n ██▄▄▄██▄▄▄█▄█ "], ["sleep_2", " \n █▀▄▀██▀█▄▀█ \n ▀█▀▄▄▄▄▀██▀▀▀▄ \n ██▀ ▀▀ ▀███ ▄▀ \n ▀█▀▀ ▀▀ ██▀▄█▀\n ▀▄▄▄▄▄██▄███ \n ▄▀▀▄▄▄▀▀▀▄▀█ \n ██▄▄▄██▄▄▄█▄█ "], ["walk_1", " █▀▄▀██▀█▄▀█ \n ▀█▀▄▄▄▄▀██▀▀▀▄ \n ██▀ ▀▀ ▀███ ▄▀ \n ▀█ █ █ ██▀▄█▀\n ▀▄▄▄▄▄██▄███ \n ▄▀█▄▄▄█ ▀██▀ \n ▀▄▀ █ ▀▄ ███ \n █▄▄▄██▄▄█ ▀▀▀ "], ["walk_2", " ▄▄ ▄▄▄▄▄ ▄▄ \n █▄█ ▀▀ ██▄█▄▄ \n ▄█▄▀██▀▄██▄ █ \n ██ ▄ ▄ ▀██▄▀▄▄\n ▀▄▀ ▀ ▄█▀▄██ \n ▄█▀▀▀█▀████▀ \n █ █▀█▀▀▀▄▀█▄ \n █▄▄▄██▄▄█▀▀▀ "]]], + ["lillymon", [["angry", "▄ ▄▄ ▄▄▄▄ ▄ ▄\n███ █▀ █ ▀▄██\n █ █ █ ██▀\n █ █▀▄ ▄▀▀▄ █▀ \n ▄▀█▄ ▀▀ ▄ █▀▄ \n█ ▄▀▄▀ ▀ ▄▀▄ █ \n█▄▄▄██▀▀▀▀█▄▄▄██\n▀ █▄▄▄█▀▀▀▄▄▄█ ▀"], ["attack", " ▄▀▀▀▀▄▀▀▄▄█\n █ ▄▀ ██\n ▀▄▄▀▀▄ ██▀\n█▀▀▄ █ ▄▀ ▀▄▀█▀ \n ▀▄▄▀▀▀▄▄▄▄▄██ \n▄▀ ▄█▄█▄▄ ▄████ \n▀▀█▀▀█ ▄▀▀▄▀███\n █▄▄▄█▀▀█▄▄▄█ ▀█"], ["eat_1", "█▄▄▀█▄▀▀▀▀▄▀▄ ▄█\n▀█ ▄▀▄ ▄▀▄ ███\n █ █ ▄▀▀ ▄ █ ██ \n ▀▄█▀ ▀ ▀ ▀█▄▀ \n █▀▄▀███▀▄▀█▄ \n▄█ ▄█▀▄▄▄▀█▄ ██▄\n██▀▀▄▀▄ ▄▀█▀▀██\n▀ █▄▄▄█▀▄▄▄█ ▀"], ["eat_2", "▄ ▄▄ ▄▄▄▄ ▄ ▄\n███ █▀ █ ▀▄██\n █ █ █ ██▀\n █ █ ▀▄▄▀ ▀▄ █▀ \n ██▄▀▄ ▄▀▄██▄ \n █ ▀▄ ▄▀ █▄ \n██▄▄▄█▀▀▀▀▄▄▄▀██\n▀ █▄▄▄█▀▀▀▄▄▄█ ▀"], ["happy", "█▄▄▀█▄▀▀▀▀▄▀▄ ▄█\n▀█ ▄▀▄ ▄▀▄ ███\n █ █ ▄▀▀ ▄ █ ██ \n▄█▄█▀ ▀ ▀ ▀█▄█▄ \n▀▄ █ █████ █ ▄▀ \n ▄███▄▀▀▀▄▀████▄\n██▀▀█▄█▀▀▄▄█▀▀██\n▀ █▄▄▄█▀▄▄▄█ ▀"], ["injured_1", " \n ▄▀█▄▀▀▀▀▄▀▄ \n▄▄▀ █ █ █▄▄\n▀█ █ ▀▄▄▀ █ ██▀\n ▀▄█▄▄ ▄▄ █▄▀ \n ▄██▄ ▄███ \n▄█ ▀██▀▀▀██▀ █▄\n█▀▄▄▄█▄▄▄█▄▄▄█▀█"], ["injured_2", " \n ▄▄ ▄▄▄▄ ▄ \n █ █▀ ▄▀ ▀▄ \n█ ▄▀▄ ▄▀▄ █▄██\n█ █ ▀▀ ▀▄ ██▀ \n▀▄█▀▀ ▀▀ ██▄█ \n▄█ ▀▄▄▄▄▄██▀ █▄\n█▀▄▄▄█▄▄▄█▄▄▄█▀█"], ["sleep_1", " ▄▄█▀█▄▄ \n ▄▀ █ █ ▀▄ \n █ █ █ █ \n █ █ █ █ \n █ ▀▄ ▄▀ █ \n ▀▄▄█▄▄▀ \n ▄▀█▀▀▄█ █▄▀▀█▀▄\n ▀▄█▄▄█▄█▄▄█▄▀ "], ["sleep_2", " ▄▄█▀▀▀█▄▄ \n ▄▀ █ █ ▀▄ \n █ █ █ █ \n █ █ █ █ \n █ ▀▄ ▄▀ █ \n ▄▄▄█▄▄███▄▄█▄▄▄\n ▀▄▀▄▀▄█ █▄▀▄▀▄▀\n ▀▀▄▄█▄█▄▄▀▀ "], ["walk_1", "█▄▄▀█▄▀▀▀▀▄▀▄ ▄█\n▀█▀ █ █ ███\n █ █ ▀▄▄▀ █ ██ \n ▀▄█ █ █ █▄▀ \n ▄▀▄ ▄███ \n▄█▀ ▄█▀▀▀▀▄ ▀██▄\n██▀▀▄▀▄ ▄▀█▀▀██\n▀ █▄▄▄█▀▄▄▄█ ▀"], ["walk_2", "█▄ ▄▄ ▄▄▄▄ ▄ ▄█\n▀██ █▀ ▄▀ ▀▄██\n █ ▄▀▄ ▄▀▄ ██ \n █ █ ▄▀▀▄ ▀▄ █ \n ██ ▀ ▀ ██▄ \n▄█▄ ▀▄▄▄▄▄▀ ▄██▄\n██▀█▀█ █▀█▀██\n▀ █▄▄▄█▀▀█▄▄▄█ ▀"]]], + ["lillymon_x", [["angry", "▄ ▄▄ ▄▄▄▄ ▄ ▄\n███ █▀ █ ▀▄██\n █ █ █ ██▀\n █ █▀▄ ▄▀▀▄ █▀ \n ▄▀█▄ ▀▀ ▄ █▀▄ \n█ ▄▀▄▀ ▀ ▄▀▄ █ \n█▄▄▄█▀▀▀▀▀▀▄▄▄██\n▀ █▄▄██▀▀▀█▄▄█ ▀"], ["attack", " ▄▀▀▀▀▄▀▀▄ █\n █ ▄▀ ██\n ▀▄▄▀▀▄ ██▀\n█▀▀▄ █ ▄▀ ▀▄██▀ \n ▀▄▄▀▀▀▄▄▄██▀ \n▄▀ ▄█▄█▄▄▄▄██▄▄ \n▀▀▀▄█▀ ▀██▀██\n █▄▄█▀▀▀██▄▄█ ▀"], ["eat_1", "█▄▄▀█▄▀▀▀▀▄▀▄ ▄█\n▀█ ▄▀▄ ▄▀▄ ███\n █ █ ▄▀▀ ▄ █ ██ \n ▀▄█▀ ▀ ▀ ▀█▄▀ \n ▄██▄▀███▀▄██▄ \n██▀ ▄█▄▄▄▀█▄ ▀█▄\n██▀██▀ ▀██▀██\n▀ █▄▄█▀▀▀██▄▄█ ▀"], ["eat_2", "▄ ▄▄ ▄▄▄▄ ▄ ▄\n███ █▀ █ ▀▄██\n▀█ █ █ ███\n █ █ ▀▄▄▀ ▀▄ █▀ \n ██▄▀▄ ▄▀▄██▄ \n █ ▀▄▄▄▄▄▄▄▀ █▄ \n███▄▄▀ ▀▄▄▀██\n▀ █▄▄█▀▀▀▀█▄▄█ ▀"], ["happy", "█▄▄▀█▄▀▀▀▀▄▀▄ ▄█\n▀█ ▄▀▄ ▄▀▄ ███\n █ █ ▄▀▀ ▄ █ ██ \n▄█▄█▀ ▀ ▀ ▀█▄█▄ \n▀▄ █ █████ █ ▄▀ \n ▄███▄▀▀▀▄█████▄\n██▀█▀ ▀▀▀ ▀█▀▀██\n▀ █▄██▀▀▀██▄█ ▀"], ["injured_1", " \n ▄▀█▄▀▀▀▀▄▀▄ \n▄▄▀ █ █ █▄▄\n▀█ █ ▀▄▄▀ █ ██▀\n ▀▄█▄▄ ▄▄ █▄▀ \n ▄██▄ ▄█▀██ \n▄█▀ ██▀▀▀█▄ ▀██▄\n█▄▄██▄▄▄▄▄██▄▄██"], ["injured_2", " \n ▄▄ ▄▄▄▄ ▄ \n █ █▀ ▄▀ ▀▄ \n█ ▄▀▄ ▄▀▄ █▄██\n█ █ ▀▀ ▀▄ ██▀ \n ██▀▀ ▀▀ ███▄ \n▄█▀▀▄▄▄▄▄█▀ ▀██▄\n█▄▄██▄▄▄▄▄██▄▄▀█"], ["sleep_1", " ▄▀▄▀▄▀▄ \n █ █ █ █ \n █ █ █ █ \n █ █ █ █ \n ▀▄ ▀▄ ▄▀ ▄▀ \n █▄ ▀▄▄█▄▄▀ ▄█ \n ▄▀▄▀▀▄█ █▄▀▀▄▀▄\n ▀▄█▄▄█▄█▄▄█▄▀ "], ["sleep_2", " ▄▀▄▄▀▄▄▀▄ \n █ ▄▀ ▀▄ █ \n █ ▄▀ ▀▄ █ \n █ ▀▄ ▄▀ █ \n ▀▄▀▄ ▄▀▄▀ \n ▄▄▄ ▀▄█▄█▄▀ ▄▄▄\n ▄▀▄▀▀▄█ █▄▀▀▄▀▄\n ▀▄█▄▄█▄█▄▄█▄▀ "], ["walk_1", "█▄▄▀█▄▀▀▀▀▄▀▄ ▄█\n▀█▀ █ █ ███\n █ █ ▀▄▄▀ █ ██ \n ▀▄█ █ █ █▄▀ \n ▄██▄▄▄▄▄██▄▄ \n▄██▀▄█ ▀▄ ▀██▄\n██▀▀█▄▄▄▄▄██▀▀██\n▀ █▄▄▄█▀▄▄▄█ ▀"], ["walk_2", "█▄ ▄▄ ▄▄▄▄ ▄ ▄█\n▀██ █▀ ▄▀ ▀▄██\n █ ▄▀▄ ▄▀▄ ██ \n █ █ ▄▀▀▄ ▀▄ █ \n ██▄▀ ▀ ▄██▄ \n ██▄ ▀█▀▀█▀ ▄█▄ \n██▀██▀ ▀██▀██\n▀ █▄▄█▀▀▀▀█▄▄█ ▀"]]], + ["loaderleomon", [["angry", " ▄▀▀▀▀▀▀▄ ▄██▄\n ▄▀█▀▀▀▀▄ █ ▀██▀\n▄█▀ ▄█ ▄█ █ █ \n█ ▄ ▄ ▄▄█ █▄▄ █\n ▀█████ ▀ ▄█▄▄█▀\n ▄▀▀▀▄▀█▀█▀ ▀▄\n ▄▀▀█ █▀▀▀▄▄ █\n █▄▄█▄▄█ █▄▄▄▀"], ["attack", " ▄▄▄▄▄▄ ▄▄ \n █▄▄▄▄▄ ▀▄ ████\n █▄▀ ▄▄ ▀▄▀▄ ▀█ \n█▀ ▀▀ ▀█ █ ▀▄\n▀▄█▄▄▀ ▀█▀ █▀▀▄█\n ▄█▄▄▄██▄▄██▀▀█ \n █ █ ▄█▄█▄█▄▄ █\n ▀▀▀▀ █▄▄█▄▄▄▀"], ["eat_1", " ▄▄▄▄▄▄ ▄██▄\n █▄▄▄▄▄ ▀▄ ▀██▀\n █▄▀ ▄ ▀▄▀▄ █ \n█▀ ▀ ▀ ▀█ █▄▄ █\n▀▄█▄▄▀ ▀█▀ █▄▄█▀\n ▀▄▄▄██▄▄██ ▀▄\n ▄▀ █ █▄▀▀▄▄ █\n █▄▄█▄▄▀ █▄▄▄▀"], ["eat_2", " ▄▀▀▀▀▀▀▄ ▄██▄\n ▄▀█▀▀▀▀▄ █ ▀██▀\n▄█▀ ▄█▀ ▄█ █ █ \n█ ▄ ▄ ▄▄█ █▄▄ █\n ▀█████ ▀ ▄█▄▄█▀\n ▄▀▀▀▄▀█▀█▀ ▀▄\n ▄▀▀█ █▀▀▀▄▄ █\n █▄▄█▄▄█ █▄▄▄▀"], ["happy", " ▄▀▀▀▀▀▀▄ ▄██▄\n ▄▀█▀▀▀▀▄ █ ▀██▀\n▄█▀ ▄▀▄ ▄█ █ █ \n█ ▄ ▄ ▄▄█ █▄▄ █\n ▀█████ ▀ ▄█▄▄█▀\n ▄▀▀▀▄▀█▀█▀ ▀▄\n ▄▀▀█ █▀▀▀▄▄ █\n █▄▄█▄▄█ █▄▄▄▀"], ["injured_1", " \n ▄▄▄▄▄▄ ▄██▄\n █▄▄▄▄▄ ▀▄ ▀██▀\n █▄▀ ▄ ▀▄▀▄ █ \n█▀ ▀▀ ▀█ █▄▄ █\n▀▄█▄▄▀ ▀█▀ █▄▄█▀\n █▄▄▄██▄▄██▄ ▀▄\n █▄▄█▄▄▄█▄█▄▄▄▄█"], ["injured_2", " \n ▄██▄\n ▄▀▀▀▀▀▀▄ ▀██▀\n ▄▀█▀▀▀▀▄ █ █ \n▄█▀ █▄ ▄█ █▄▄ █\n█ ▄ ▄ ▄▄█ █▄▄█▀\n ▀█▀▀ ▄▄▀ ▄█▄ ▀▄\n █▄███▄▄███▄▄▄▄█"], ["refuse", " ▄██▄\n ▄▀▀▀▀▀▀▄ ▀██▀\n ▄▀█▀▀▀▀▄ █ █ \n▄█▀ ▄█ ▄█ █▄▄ █\n█ ▄ ▄ ▄▄█ █▄▄█▀\n ▀█▀▀ ▄▄▀ ▄█ ▀▄\n ▄▀▀█▀▀█▄▀▀▄▄ █\n █▄▄█▄▄█▀ █▄▄▄▀"], ["sleep_1", " ▄▄ \n ▄▀▀▀▀▀▀▄ ████\n ▄▀█▀▀▀▀▄ █ ▀█ \n▄█▀ ▄▄ ▄█ █ ▀▄\n█ ▄ ▄ ▄▄█ █▀▀▄█\n ▀█▀▀ ▄▄▀ ▄█▀▀█ \n ▄▀▀█▀▀▀▀██▀▀ █\n█▄▄█▄▄▄███▄▄▄▄▄█"], ["sleep_2", " \n ▄▄▄▄▄▄ ▄██▄\n █▄▄▄▄▄ ▀▄ ▀██▀\n █▄▀ ▀▄▀▄ █ \n█▀ ▀▀ ▀█ █▄▄ █\n▀▄█▄▄▀ ▀█▀ █▄▄█▀\n ▄█▄▄▄██▄▄██▄ ▀▄\n█▄▄█▄▄▄▄█▄█▄▄▄▄█"], ["walk_1", " ▄▀▀▀▀▀▀▄ ▄██▄\n ▄▀█▀▀▀▀▄ █ ▀██▀\n▄█▀ ▄█▀ ▄█ █ █ \n█ ▄ ▄ ▄▄█ █▄▄ █\n ▀█▀▀ ▄▄▀ ▄█▄▄█▀\n █▀▀▀▀█▀█▀ ▀▄\n ▄▀ █ █▀▀▀▄▄ █\n █▄▄█▄▄█ █▄▄▄▀"], ["walk_2", " ▄▄▄▄▄▄ ▄▄ \n █▄▄▄▄▄ ▀▄ ████\n █▄▀ ▄▄ ▀▄▀▄ ▀█ \n█▀ ▀▀ ▀█ █ ▀▄\n▀▄█▄▄▀ ▀█▀ █▀▀▄█\n ▄█▄▄▄██▄▄██▀▀█ \n █ █ ▄█▄█▄█▄▄ █\n ▀▀▀▀ █▄▄█▄▄▄▀"]]], + ["lobomon", [["angry", " ▄▄██▄▄▀█ \n ▄▄█ ▄ ▄▀ \n █▀ ▀▀ ██▄ \n ▀█████▀▄▄▀▀▄ █\n ▄▀█▀▀▀▄█▄█▀▀▄ \n █ █▀▀▀▀██ ▄█ \n ▀██▀███▀██▀▀ \n █▄█▄█ █▄█▄█ "], ["attack", " ▄▄ ▄▄ \n ▄▀▀▀▀▀▀ █ \n ██▀ ▄█▀ ▀▄▄ \n █▄▄▄▄▄▄ ▄█▀▀▄ \n ▄▀▄ ▄█▀ █ █ \n▄█▀█▀██▀███▀▄ █ \n█▄▄▀▄▄▄▄█ █ \n█▄█▄█▀▀▀█████ "], ["eat_1", " ▄▄ ▄▄ \n ▄▀▀▀▀▀▀ █ \n ██▀ ▄▀▄ ▀▄▄ \n █▄▄▄▄▄▄ ▄█▀▀▄\n ▄▀▄ ▄█▀ █ █\n ▄█▀█▀██▀███▀▄ █\n █▄▄▀▄▄▄▄█ █ \n █▄█▄█▀▀▀█████ "], ["eat_2", " ▄▄██▄▄▀█ \n ▄▄█ ▄▄ ▄▀ \n █▀ ▀▀ ██▄ \n ▀█████▀▄▄▀▀▄ █\n █▄█▀▀▀▄█▄▄▄▀ █\n █▀ █▀▀▀▀█▀▀ █ ▀\n ▀▄▄█▀███▀▄▄▄▀ \n █▄█▄█ █▄█▄█ "], ["happy", " ▄▄██▄▄▀█ \n ▄▄█ ▄ ▄▀ \n █▀ ▀ ▀▄▀▀█▄ \n ▀█████▀▄█ █▀█\n █▄█▀▀▀▄█▄▄▀ █\n █▀ █▀▀▀▀▀█ ▀\n ▀▄▄█▀███▀▄█▄ \n █▄█▄█ █▄█▄█ "], ["injured_1", " \n ▄▄██▄▄▀█ \n ▄▄█ ▄ ▄▀ \n █▀ ▀▀ ██▄ \n ▀█▀▀▀▀▀▄▄▀▀▄ █\n █▄█▄▄▄██▄▄▄▀ █\n▄█▀▀█ ▀▀ █▀▀▀▄ \n█▄█▄██████▄▄█▄█ "], ["injured_2", " \n ▄▄ ▄▄ \n ▄▀▀▀▀▀▀ █ \n ██▀ █▄ ▀▄▄ \n █▄▄▄▄▄▄ ▄█▀▀▄\n ▄▀▄ ▄█▀ █ █\n▄█▀▀█▀▀▀▀█▀▀▀█ ▀\n█▄█▄██████▄▄█▄█ "], ["refuse", " ▄▄ ▄▄ \n ▄▀▀▀▀▀▀ █ \n ██▀ ▄█ ▀▄▄ \n █▄▄▄▄▄▄ ▄█▀▀▄\n ▄▀▄ ▄█▀ █ █\n ▄█▀█▀██▀███▀▄ █\n █▄▄▀▄▄▄▄█ █ \n █▄█▄█▀▀▀█████ "], ["sleep_1", " \n ▄▄ ▄▄ \n ▄▀▀▀▀▀▀ █ \n ██▀ ▄▄ ▀▄▄ \n █▄▄▄▄▄▄ ▄█▀▀▄\n ▄▀▄ ▄█▀ █ █\n▄▀█▀█▀▀▀▀█▀█▀█▄ \n█▄▄▄█▄▄▄▄█▄▄▄██ "], ["sleep_2", " \n \n ▄▄██▄▄▀█ \n ▄▄█ ▄▀ \n █▀ ▀▀ ██▄ \n ▀█▀▀▀▀▀▄▄▀▀▄ █\n▄▀█▀█▀▀▀▀█▀█▀█ ▀\n█▄▄▄█▄▄▄▄█▄▄▄██ "], ["walk_1", " ▄▄██▄▄▀█ \n ▄▄█ ▄▄ ▄▀ \n █▀ ▀▀ ██▄ \n ▀█▀▀▀▀▀▄▄▀▀▄ █\n █▄█▄▄▄██▄▄▄▀ █\n █▀ █ ▀▀ █▀▀ █ ▀\n ▀▄▄█▀███▀▄▄▄▀ \n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n ▄▀▀▀▀▀▀ █ \n ██▀ ▄█▀ ▀▄▄ \n █▄▄▄▄▄▄ ▄█▀▀▄ \n ▄▀▄ ▄█▀ █ █ \n▄█▀█▀██▀███▀▄ █ \n█▄▄▀▄▄▄▄█ █ \n█▄█▄█▀▀▀█████ "]]], + ["locomon", [["angry", " ▀█▀█▀ \n ▄█▀▀▀██▀▀▄ ▄▀▀▄\n█▄▀ ▄█ █▀█▀█▀▀█\n█▄▄▄▄▄ █▄█▄█▀▀█\n▄█████ █ ▄▄██▀█\n██▄▄▄▄██▄█▄█ ██\n█▀▀▀▀██ █▄█▄▄██\n▀███▀▀████▀█▄█▄▀"], ["attack", " ▄▄▄▄▄ \n ▄█▄█▄▄▄▄ ▄▄ \n▄▀█ ▀▀▄▄█▄█▄▄█\n█▀ ▄▄▀ █ █ █▄▄█\n█▀▀ ▀▀ ▄▀▀▀▀█▄▄█\n █▄▄▄▄█▄ ▄█▄█ █\n█▄▄▄█▄█▀▀█▄█ ██\n█▄▄▄▄██▄▄█▄█▄▄██"], ["eat_1", " ▄▄▄▄▄ \n ▄█▄█▄▄▄▄ ▄▄ \n▄▀█ ▀▀▄▄█▄█▄▄█\n█▀ ▄▀▄ █ █ █▄▄█\n█▀▀ ▄▀▀▀▀█▄▄█\n █▄▄▄▄█▄ ▄█▄█ █\n█▄▄▄█▄█▀▀█▄█ ██\n█▄▄▄▄██▄▄█▄█▄▄██"], ["eat_2", " ▀█▀█▀ \n ▄█▀▀▀▀█▀▀▄ ▄▀▀▄\n█▄▀ ▄▄ █▀█▀█▀▀█\n█▄▄▄▄▄ █▄█▄█▀▀█\n █████ █ ▄▄██▀█\n▄█▄▄▄▄██▄█▄█ ██\n█▀▀▀▀██ █▄█▄▄██\n▀███▀▀████▀█▄█▄▀"], ["happy", " ▀█▀█▀ \n ▄█▀▀▀▀█▀▀▄ ▄▀▀▄\n█▄▀ ▄▀▄ █▀█▀█▀▀█\n█▄▄▄▄▄ █▄█▄█▀▀█\n █████ █ ▄▄██▀█\n▄█▄▄▄▄██▄█▄█ ██\n█▀▀▀▀██ █▄█▄▄██\n▀███▀▀████▀█▄█▄▀"], ["injured_1", " \n ▀█▀█▀ \n ▄█▀▀▀██▀▀▄ ▄▀▀▄\n█▄▀ ▄ █▀█▀█▀▀█\n█▄▄ ▀▀ █▄█▄█▀▀█\n▀▄ ▄▀ ▄▄▀█▀█\n███████▀▀█▄█ ██\n█▄▄▄▄██▄▄█▄█▄▄██"], ["injured_2", " \n ▄▄▄▄▄ \n ▄█▄█▄▄▄▄ ▄▀▀▄\n▄▀█ ▀▀▄▄█▄█▀▀█\n█▀ █▄ █ █ █▀▀█\n█▀▀ ▄▀▀██▀█▀█\n▄█▄▄▄▄█▄▄█▄█ ██\n█▄▄▄▄██▄▄█▄█▄▄██"], ["refuse", " ▄▄▄▄▄ \n ▄█▄█▄▄▄▄ ▄▄ \n▄▀█ ▀▀▄▄█▄█▄▄█\n█▀ ▄█ █ █ █▄▄█\n█▀▀ ▄▀▀▀▀█▄▄█\n █▄▄▄▄█▄ ▄█▄█ █\n█▄▄▄█▄█▀▀█▄█ ██\n█▄▄▄▄██▄▄█▄█▄▄██"], ["sleep_1", " ▄▄▄▄▄ \n ▄█▄█▄▄▄▄ ▄▄ \n▄▀█ ▀▀▄▄█▄█▄▄█\n█▀ ▄▄ █ █ █▄▄█\n█▀▀ ▄▀▀▀▀█▄▄█\n █▄▄▄▄█▄ ▄█▄█ █\n█▄▄▄█▄█▀▀█▄█ ██\n█▄▄▄▄██▄▄█▄█▄▄██"], ["sleep_2", " \n ▀█▀█▀ \n ▄█▀▀▀██▀▀▄ ▄▀▀▄\n█▄▀ █▀█▀█▀▀█\n█▄▄ ▀▀ █▄█▄█▀▀█\n▀▄ ▄▀ ▄▄▀█▀█\n███████▀▀█▄█ ██\n█▄▄▄▄██▄▄█▄█▄▄██"], ["walk_1", " ▀█▀█▀ \n ▄█▀▀▀██▀▀▄ ▄▀▀▄\n█▄▀ ▄▄ █▀█▀█▀▀█\n█▄▄ ██ █▄█▄█▀▀█\n▀▄ ▄▀ ▄▄██▀█\n▄▀▀▀█▀██▄█▄█ ██\n█▀▀▀▀██ █▄█▄▄██\n▀███▀▀████▀█▄█▄▀"], ["walk_2", " ▄▄▄▄▄ \n ▄█▄█▄▄▄▄ ▄▄ \n▄▀█ ▀▀▄▄█▄█▄▄█\n█▀ ▄▄▀ █ █ █▄▄█\n█▀▀ ▀▀ ▄▀▀▀▀█▄▄█\n █▄▄▄▄█▄ ▄█▄█ █\n█▄▄▄█▄█▀▀█▄█ ██\n█▄▄▄▄██▄▄█▄█▄▄██"]]], + ["lopmon", [["angry", " ▄▄ \n █▀█ ▀▄▀█▄ \n █▄ ▄ █ \n █ ▀▀▄ ▀▀ █ \n ▀▄ ▀ ▀▀ █▄ █ \n █▀▀ ▀▄ █ \n▄▀▄█ ▀▄█ ▀▄\n▀▄█▄▄▀▀▀▀▄▄█▄▄▄▀"], ["attack", " ▄▄█▀▄ ▄▄ \n █ ▀ ▀ ▀▀▄ \n ▄▀█▄ ▄█ ▀▄ \n██ ▄█▄▄ ▄▀▀█ \n ▀█▄ ▀▄▀ ▀ ▄█▄ \n ▄▀▄ ▄█ █ \n▄▀ █ ▄▄ █▀ ▀▄\n▀▄▄▄█▄█ █▄██▄▄▄▀"], ["eat_1", " ▄▄█▀▄ ▄▄ \n █ ▀ ▀ ▀▀▄ \n ▄▀ █ █ ▀▄ \n █ ▄█▄▄ ▄ █ \n █▄ ██ ▀█ ▀▄ \n ▄▀ ▄ ▀▄▀▄ \n▄▀▀█ ▄▄ █▀▀ ▀▄\n▀▄▄█▄█ █▄█▀▄▄▄▀"], ["eat_2", " ▄▄ \n █▀█ ▀▄▀█▄ \n █▄ ▄ █ \n █▀ ▀▄ ▀ ▀ █ \n ▀▄ ▀ ▀▀ █▄ █ \n █▀▀ ▀▄ █ \n▄▀▄█ ▀▄█ ▀▄\n▀▄█▄▄▀▀▀▀▄▄█▄▄▄▀"], ["happy", " ▄▄█▀▄ ▄▄ \n █ ▀ ▀ ▀▀▄ \n ▄█▀▄ ▄▀▄ ▀▄ \n▄█ ▄█▄▄ ▄█ \n█ ▀▄▀██▀ ▄▀ ██ \n ▀▄▄ ▄▀ █ \n▄▀ █ ▄▄ █ ▀▄\n▀▄▄▄█▄█ █▄██▄▄▄▀"], ["injured_1", " \n ▄▄ \n █▀█ ▀▄▀█▄ \n █ ▄ ▄ █ \n █ ▀▀▄ ▀▀ █ \n ▀▄ ▀ ▀ █ █ \n ▄▀█▀ █▄ ▀▀▄\n█▄█▄▄▄▄▄█▄▄▄█▄▄█"], ["injured_2", " \n \n ▄▄█▀▄ ▄ \n █ ▀ ▀ ▀▀▄ \n▄▀▄█ █▄ ▀▄ \n█ ▄▀▄ ▄ ▀▄ \n █▄▄ ▀▄▄ ▀▀▄\n█▄█▄▄▄▄▄█▄▄▄█▄▄█"], ["sleep_1", " \n \n \n ▄▄█▀▄ ▄▄ \n █ ▀ ▀ ▀▀▄ \n▄▀▄▄ ▄▄ ▀██▀▄ \n█▄ ▄▀▄ ▄▄▀▄ ▀▀█\n▀▄█▄▄▄█▄▄▄██▄▄▄█"], ["sleep_2", " \n \n ▄▄ \n █▀█ ▀▄▀█▄ \n █ █▄ \n█ ▀▀▄ ▀▀ ▄ █▀▀▄ \n▀▄▄▀ ▀ ▄▄▀▄ ▀▀█ \n▀▄▄█▄▄█▄▄▄██▄▄▄█"], ["walk_1", " ▄▄█▀▄ ▄▄ \n █ ▀ ▀ ▀▀▄ \n ▄▀ █ █ ▀▄ \n █ ▄▀▄▄ ▄ █ \n █▄▄ ▀█ ▀▄ \n ▄▀▄ ▄ █ █ \n▄▀▀█ ▄▄ █▀ ▀▄\n▀▄▄▄█▄█ █▄██▄▄▄▀"], ["walk_2", " ▄▄ \n █▀█ ▀▄▀█▄ \n █ ▄ ▄ █ \n █ ▀▄ ▀ █ \n ▀▄ ▀ ▀▀ █▄ █ \n █▀▀ ▀▄ █ \n▄▀▄█ ▀▄█ ▀▄\n▀▄█▄▄▀▀▀▀▄▄█▄▄▄▀"]]], + ["lopmon_x", [["angry", " ▄▄ \n █▀█ ▀▄▀█▄ \n █▄ ▄ ▀▄ \n █ ▀▀▄ ▀▀ ▄▀▀▄ \n ▀▄ ▀ ▀▀ ▀▄▄▀ \n █▀█▀▀▀▀ ▀▄ █ \n▄▀ █ ▀▀▀ ▀▄█ ▄▀▄\n▀▄█▄█▄█▀█▄▄█▄█▄▀"], ["attack", " ▄▄█▀▄ ▄▄ \n █ ▀ ▀ ▀▀▄ \n ▄▀█▄ ▄█ ▄█ \n █ ▄█▄▄ █▄▄█ \n█ ▀▄ ▀▀▀ ▄█ █ \n ▀▄ ▀█▄▄ ▀ ▄▀█ \n▄▀ █ ▄▄ █▀ ▄▀▄\n▀▄█▄█▄█ █▄██▄▄█▀"], ["eat_1", " ▄▄█▀▄ ▄▄ \n █ ▀ ▀ ▀▀▄ \n ▄▀ █ █ ▄█ \n █ ▄█▄▄ █ █ \n █ ██ ▄▀▀ █ \n ▄▀█▄▄▄▄ ▄ █ █ \n▄▀ █ ▄▄ █▀ ▄ █\n▀▄█▄█▄█ █▄██▄█▄▀"], ["eat_2", " ▄▄ \n █▀█ ▀▄▀█▄ \n █▄ ▄ ▀▄ \n █ ▀▄ ▀ ▀▄▀▀▄ \n ▀▄ ▀ ▀▀ ▀▄▄▀ \n █▀█▀▀▀▀ ▀▄ █ \n▄▀ █ ▀▀▀ ▀▄█ ▄▀▄\n▀▄█▄█▄█▀█▄▄█▄█▄▀"], ["happy", " ▄▄█▀▄ ▄▄ \n █ ▀ ▀ ▀▀▄ \n ▄▀▀▄ ▄▀▄ ▄█ \n █ ▄█▄▄ █▄ █ \n ▀▄▄▀▀▀ ▄▀ █▀▄ \n ▄▀▄▀▀▀▀ ▄▄▀ █ \n▄▀ █ ▄▄ █▄ ▄ █\n█▄▄▀█▄█ █▄█▀▄█▄█"], ["injured_1", " \n ▄▄ \n █▀█ ▀▄▀█▄ \n █ ▄ ▄ █ \n █ ▀▀▄ ▀▀ ▄█ \n ▀▄ ▀ ▀ █ █ \n ▄▀█▀▀▀▀ ▄█▀▀▀▄\n█▄█▄▄▄▄▄█▄▄▄█▄▄█"], ["injured_2", " \n \n ▄▄█▀▄ ▄ \n █ ▀ ▀ ▀▀▄ \n▄▀▄█ █▄ ▀▄ \n█ ▄▀▄ ▄▄▀▄ \n █▄▄▄▄ ▄▄█ ▄▀▀▄\n█▄█▄▄▄▄▄█▄███▄▄█"], ["sleep_1", " \n \n \n ▄▄█▀▄ ▄▄ \n █ ▀ ▀ ▀▀▄ \n▄▀▄▄ ▄▄ ▄▀▀█▀▄ \n█▄ ▄█▄ ▄▄▀▄▀▀▀█ \n▀▄█▄▄▄█▄▄▄██▄▄▄█"], ["sleep_2", " \n \n ▄▄ \n █▀█ ▀▄▀█▄ \n █ █▄ \n█ ▀▀▄ ▀▀ ▄▀ █▀▄ \n▀▄▄▀ ▀ ▄▄▀▄▀▀▀█ \n▀▄▄█▄▄█▄▄▄██▄▄▄█"], ["walk_1", " ▄▄█▀▄ ▄▄ \n █ ▀ ▀ ▀▀▄ \n ▄▀ █ █ ▄█ \n █ ▄▀▄▄ █ █ \n ▀▄▄▄▄▄▄ ▄▀▀ █ \n ▄▀▄▀▄▄▄ ▄ █ █ \n▄▀ █ ▄▄ █▀ ▄ █\n▀▄█▄█▄█ █▄██▄█▄▀"], ["walk_2", " ▄▄ \n █▀█ ▀▄▀█▄ \n █ ▄ ▄ ▀▄ \n █ ▀▄ ▀ ▄▀▀▄ \n ▀▄ ▀ ▀▀ ▀▄▄▀ \n █▀█▀▀▀▀ ▀▄ █ \n▄▀ █ ▀▀▀ ▀▄█ ▄▀▄\n▀▄█▄█▄█▀█▄▄█▄█▄▀"]]], + ["lordknightmon", [["angry", " ▄▄▀▀▀█ ██▄\n ▄▀ ▄▀▀▀███\n ▄█▄█ ▀ █▀▄███\n ▄▄█▄▄█████▀ █\n█▀ █▄▀▄▀▄███▄█\n ▀▀▀██▀▀ █▄ ███\n ▄▀ ▄█▀█▀▀▀███\n █▄▄▄▄▀ █▄▄▄█ "], ["attack", " ▄▄▄▄ ▄▄ \n ▄▀▀ ▄█▄███ \n █ ▄ ▄▀▄▄ █▀▀█▄\n █▄▀█▄▄▄█▄█▄▄ ██\n █ ▀██▀▄ ██▀▀██\n ▀▀▀▄▀▄▀▀█▀█▄██\n █▄▀ █▀▄ ▀▀\n █▄▄▄█▄▄▀ "], ["eat_1", " ▄▄▀▀▀█ ██▄ \n ▄▀ ▄▀▀▀███▄\n ▄▀▄█ ▀ █▀▄████\n █ ▀▄███▀█▀ ██\n ▀▄█▄▀▄▀▄▄▀██▄██\n █ █▀ ▀ ▀█ ███\n ▀▄██ █▀█ ▀█▄▀██\n █▄▄▄█ █▄▄▄█ "], ["eat_2", " ▄▄▀▀▀█ ██▄ \n ▄▀ ▄▀▀▀███▄\n ▄▀▄█ ▀ █▀▄████\n █ ▀▄███▀█▀ ██\n ▀▄█▄▀▄▀▄▄▀██▄██\n █ █▀ ▀ ▀█ ███\n ▀▄██ █▀█ ▀█▄▀██\n █▄▄▄█ █▄▄▄█ "], ["happy", " ▄▄▀▀▀█ ██▄ \n ▄▀ ▄▀▀▀███▄\n ▄▀▄█ ▀ █▀▄████\n █ ▀▄███▀█▀ ██\n ▀▄█▄▀▄▀▄▄▀██▄██\n █ █▀ ▀ ▀█ ███\n ▀▄██ █▀█ ▀█▄▀██\n █▄▄▄█ █▄▄▄█ "], ["injured_1", " ▄▄▀▀▀█ ██▄ \n ▄▀ ▄▀▀▀███▄\n ▄▀▄█ ▀ █▀▄████\n █ ▀▄███▀█▀ ██\n ▀▄█▄▀▄▀▄▄▀██▄██\n █ █▀ ▀ ▀█ ███\n ▀▄██ █▀█ ▀█▄▀██\n █▄▄▄█ █▄▄▄█ "], ["injured_2", " \n ▄▄ \n ▄▄▀▀▀█▄███▄ \n ▄▀ ▄▀▀▀████▄\n ▄▀▄█ ▀▀█▀▄█▀███\n ▀▄███▀█▀▄█▄▀██\n █ █▄█ █ ▀▄▄ \n ▀▄██▄██▄▀▄▄▄▄█"], ["refuse", " ▄▄▀▀▀█ ██▄ \n ▄▀ ▄▀▀▀███▄\n ▄▀▄█ ▀ █▀▄████\n █ ▀▄███▀█▀ ██\n ▀▄█▄▀▄▀▄▄▀██▄██\n █ █▀ ▀ ▀█ ███\n ▀▄██ █▀█ ▀█▄▀██\n █▄▄▄█ █▄▄▄█ "], ["sleep_1", " ▄▄▀▀▀█ ██▄ \n ▄▀ ▄▀▀▀███▄\n ▄▀▄█ ▀ █▀▄████\n █ ▀▄███▀█▀ ██\n ▀▄█▄▀▄▀▄▄▀██▄██\n █ █▀ ▀ ▀█ ███\n ▀▄██ █▀█ ▀█▄▀██\n █▄▄▄█ █▄▄▄█ "], ["sleep_2", " ▄▄▀▀▀█ ██▄ \n ▄▀ ▄▀▀▀███▄\n ▄▀▄█ ▀ █▀▄████\n █ ▀▄███▀█▀ ██\n ▀▄█▄▀▄▀▄▄▀██▄██\n █ █▀ ▀ ▀█ ███\n ▀▄██ █▀█ ▀█▄▀██\n █▄▄▄█ █▄▄▄█ "], ["walk_1", " ▄▄▀▀▀█ ██▄ \n ▄▀ ▄▀▀▀███▄\n ▄▀▄█ ▀ █▀▄████\n █ ▀▄███▀█▀ ██\n ▀▄█▄▀▄▀▄▄▀██▄██\n █ █▀ ▀ ▀█ ███\n ▀▄██ █▀█ ▀█▄▀██\n █▄▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄▄ ▄▄ \n ▄▀▀ ▄█▄███ \n █ ▄ ▄▀▄▄ █▀▀█▄\n █▄▀█▄▄▄█▄█▄▄ ██\n █ ▀██▀▄ ██▀▀██\n ▀▀▀▄▀▄▀▀█▀█▄██\n █▄▀ █▀▄ ▀▀\n █▄▄▄█▄▄▀ "]]], + ["lordknightmon_x", [["angry", " ▄▄▄ ▄▄ \n ▄▄▀▀ ▀▄▀ █ \n █ ██▀▀▀█▄▄▀ \n █ ▄█▄▀▀▄█▄ \n ▀▀▄▄▄██▄█▀▄ \n ▄▀▀█▄█▀█ █ █ \n ▀▄▄█ ▄█ █▄█ \n █▄▄█▀▀▀▀█▄▄▄█ "], ["attack", " ▄▄▀▀█ ▄▀█ \n ▄▀█▄▄▄▄▄▀ ▄▀ \n █ ▀█ ▄▄▀██▀▀█\n ▀▄████ ██ ▀█\n ▄█▄▄███▀▀█▀\n▄▀▀▀▀ █▀▀ █ ██ █\n ▀▀▀▀▄█▄▄█▀▀▄▄▀ \n █▄▄█ █▄▄▄█ "], ["eat_1", " ▄▄▀▀█ ▄▀█ \n ▄▀█▄▄▄▄▄▀ ▄▀ \n █ ▀█ ▄▄▀█▀ \n ▀▄████ █▀█▄ \n ▀▄▄▄▀█▀█ █ \n ▄▀█▀▀ █ █ █ \n ▀▄█▄▄█▀▄██ \n █▄▄█ █▄▄▄█ "], ["eat_2", " \n ▄▄▀▀█ ▄▀█ \n ▄▀█▄▄▄▄▄▀ ▄▀ \n █ ▀█ ▄▄▀█▀ \n ▀▄█▀▀ ▄█▀█▄ \n ▄█▀███▀█ █ \n █▄█▀▀ █ █▄█ \n █▄▄█▄▄██▄█▄▄█ "], ["happy", " ▄▄▀▀█ █▀▄ \n ▄▀█▄▄▄▄▄▀ ▄▀▄▄▄\n █ ▀█ ▄▄▀███▀ ▄█\n ▀▄████ ██ █▀▄█\n █▄▄██ ▄█▀▀ \n ▄▀█▀▀ ██▀ ▀▄ \n ▀▄█▄▄█▀▀█▄ ▄▀ \n █▄▄█ █▄▄▄█ "], ["injured_1", " \n ▄▄▄ \n ▄▄▀▀ ▀█▄ \n █ ██▀▀▀█▄ ▀▄ \n █ ▄█▄▀▀▄▀█▀▀ \n ▀▀▄▄▄██ █▀▄ \n █▀▄█▄█▀█▀▀▀█ \n █▄▄█▄▄▄█▄▄▄█ "], ["injured_2", " \n \n ▄▄▀▀█▄ \n ▄▀█▄▄▄▄▄▀▀▄ \n █ ▀█ ▄▄▀█▄▄█ \n ▀▄█▀▀▄▄▄█ █▀▄ \n ▄▀██▄█▀█▀▀▀█ \n █▄▄█▄▄▄█▄▄▄█ "], ["sleep_1", " \n ▄▄▄ \n ▄▄▀▀ ▀▄▄▄▄ \n █ ██████▄▄▄▀ \n █ ▄██▀▀▄█▀█▄ \n ▀▀▄▄▀███▀█ █ \n ▄█ █▀▀ █ █▄█ \n █▄▄██▄▄██▄█▄▄█ "], ["sleep_2", " \n ▄▄▀▀█ \n ▄▀█▄▄▄▄▄▀▀▀█ \n █ ▀████▀█▀▀ \n ▀▄█▀▀ ▄█▀█▄ \n ▄█▀███▀█ █ \n ▄█ █▀▀ █ █▄█ \n █▄▄██▄▄██▄█▄▄█ "], ["walk_1", " ▄▄▀▀█ ▄▀█ \n ▄▀█▄▄▄▄▄▀ ▄▀ \n █ ▀█ ▄▄▀█▀ \n ▀▄█▀▀ ▄█▀█▄ \n ▄█▀███▀█ █ \n █ █▀▀ █ █ █ \n ██▄▄█▀▄██ \n █▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄ ▄▄ \n ▄▄▀▀ ▀▄▀ █ \n █ ██▀▀▀█▄▄▀ \n █ ▄█▄▀▀▄█▄ \n ▀▀▄▄▄██▄█▀▄ \n ▄▀█▄█▀█ █ █ \n █▄█ ▄█ █▄█ \n █▄▄█▀▀▀▀█▄▄▄█ "]]], + ["lotosmon", [["angry", " \n █▀▄█▀▀▀█▄▀▀█ \n█▀▄█ ▀▀▀ █ ▄▀█▄ \n█▄ █ █▀ ▄███\n▀██▀▀▄▄▄▀▀█▀▀█▀▀\n▄█ ▀▄▄▄▄▄▀█▀ █▄ \n▀█▀▀█ █▀████\n█▄▄▄█▀▀▀▀█▄▄▄█ "], ["attack", " ▄█▀▀▀█▄▀▀█▄ \n █ ▀▀▀ █▄▀ █ \n▄▄ █ ▄▀ ▄▀ \n█ ▀▄█▀▀▀ █▄▀ █▄ \n▄▀▀ ▀█▀▀▄▄▄████\n█▄▀▀█▀ ███▄ \n ▄▀▀█▄▄▄▄▀████▄\n █▄▄▄█ █▄▄▄▄█▀▀▀"], ["eat_1", " █▀▄█▀▀▀█▄▀▀█ \n█▀▄█ ▀▀▀ █ ▄▀█ \n▀▄ █▀▄▄▄▀█▀ ▄█▄ \n▄██ ▄▄▄▄▄ ██████\n▀█ ▀▀███▀▀▀ █▀▀▀\n▄█▄▄█▀ ▀▄▄███▄ \n███▀▄▄▄▄▄▀▀█████\n █▄▄▄█ █▄▄▄█ "], ["eat_2", " ▄▄ ▄▄▄▄▄ ▄▄▄ \n▄█ █▀▄▄▄▀█ █▄ \n█ ▀█ █▄▀ █ \n ▀▄█▄ ▄█▄▄▀▄▄ \n▄██▄ ▀▀▀ ▄█▄████\n▀█▀ █▀█▀▀█ ▀██▀▀\n██▄█▀▄ ▄▄█▀▄███▄\n █▄▄▄██▄▄▄▄█▀▀▀"], ["happy", "▄█▀▄█▀▀▀█▄▀▀█▄ \n█ ▀█ ▀▀▀ █▄▀ █ \n █▄█▀▄▄▄▀█ ▄█▄▄ \n█▀█ ▄▄▄▄▄ ██▀███\n▀▄ ▀██████▀ ▄▀▀▀\n ▄█▄█ ▀▀ █▄███▄ \n███▀▀▄▄▄▄▀▀█████\n █▄▄▄█ █▄▄▄█ "], ["injured_1", " \n ▄▄▄▀▀▀▄▄▄▄ \n █▄█▀▄▄▄▀█▄▄█ \n█▀ █ █ ▀█ \n▀██▀▀▄▄▄▀▀███▄ \n████▄▄▄▄▄█▀████ \n ▄█ █ █ █▀█▄ \n█▄█▄▄█▄█▄▄█▄▄▄██"], ["injured_2", " \n ▄▄▄ \n ▄▀██ ██▀▀▄ \n▄█▀█ ▀▀▀ █▀▀█▄ \n█▄▄█▄ ▄█▄▄▄▀ \n▄██▄ ▀▀▀ ▄▀███▄ \n▀██ █▀▀▀█ █▀█▀ \n█▄█▄▄█▄█▄▄█▄▄▄██"], ["sleep_1", " \n █▀▄▄▀▀▀▄▄▀▀█ \n █▀▄█ ▀▀▀ █ ▄▀█ \n ▀▄ █ █▀ ▄▀ \n ▄██▀▀▄▄▄▀▀████▄\n ▀█▀█▄▄▄▄▄▀▀████\n █▄▀▀▄ ▄▀▀▄ ▀▄ \n███▄▄█▄▄█▄▄█████"], ["sleep_2", " ▄▄ ▄▄▄▄▄ ▄▄▄ \n ▄█ █▀▄▄▄▀█ █▄ \n █ ▀█ █▄▀ █ \n █▄█▄ ▄█▄▄█▄ \n ███▄ ▀▀▀ ▄█████\n █ █▀▀▀▀█ ▀█▀▀▀\n ▄█▀▀▄ ▄▀▀▄ █▄ \n ██▄▄█▄▄█▄▄█████"], ["walk_1", " █▀▄█▀▀▀█▄▀▀█ \n█▀▄█ ▀▀▀ █ ▄▀█ \n▀▄ █ █▀ ▄▀ \n ▄█▀▀▄▄▄▀▀█▀▄██▄\n████▄▄▄▄▄▀▀█████\n ▄▀ █ ▀ █▄ █▄ \n██▄▀▀▄ ▄▀▄▄███▄\n █▄▄▄█▀▀▄▄▄▄█▀▀▀"], ["walk_2", " ▄▄ ▄▄▄▄▄ ▄▄▄ \n▄█ █▀▄▄▄▀█ █▄ \n█ ▀█ █▄▀ █ \n ▀▄█▄ ▄█▄▄▀▄▄ \n▄██▄ ▀▀▀ ▄█▄████\n▀█▀ █▀█▀▀▄ ▀██▀▀\n██▄▀█ █▀▄▄██▄\n█▄▄▄▄█▀▀█▄▄▄▄█▀▀"]]], + ["lucemon_chaos_mode", [["angry", " ▄▄▄▄▄▄▄ ▄▄▄▄ \n █▀ ▄█▄▄▄▀██▀ ▄\n █ █▀ ▄ █ █▄██\n ▀▄█▀ ▀▀ █ █▀ \n ▄█▄██▄█▄█▀██▄\n █ ▄█▀ ▄█▄ █ ▀█\n ▀▀█▀████▀█▀██ \n █▄▄▀ ▀▄▄█ ▀ "], ["attack", " ▄█▀▀█▀▀▀▄███▀ \n █ ▄█▀▀▀▀▄▀█ █ \n █ █▄ ▄█▀█ █▄██ \n ▀▄█ ▄▄▄ █ ███▀ \n ▄█▄███▄█▄▀ ██ \n █ █▄ █ █▀█▄▀ \n ▀██▀████▀▄ ██ \n █▄▄▄█ █▄▄▄█▀█ "], ["eat_1", " ▄█▀▀█▀▀▀▄███▀ \n █ ▄█▀▀▀▀▄▀█ █\n █ █▀ ▀▀ █ █▄██\n ▀█ ██ ▄▀▄██▀ \n ▄▀█▀▀▀█▀▀▄▀█▄\n █ █▄▄███ █ ▀█\n █▀███▀█▀▀█▄ \n █▄▄█ █▄▄█ ▀█ "], ["eat_2", " ▄▄▄▄▄▄▄ ▄▄▄▄ \n █▀ ▄█▄▄▄▀██▀ ▄\n █ █▀ ▄ █ █▄██\n ▀▄█▀ ▀ ▀█ ██▀ \n ▀▄▄▄▄█▄▀▀██▄\n ▄▀█ ▄█▀█▄ ▀█\n ▀▄████▄▄▀██▄ \n █▄▄█ █▄▄█ ▀█ "], ["happy", " ▄█▀▀█▀▀▀▄███▀ \n █ ▄█▀▀▀▀▄▀█ █\n █ █▄ ▄▀▄█ █▄██\n ▄▀█ ▄▄ ▄█▀██▀ \n ▀▄ █▀▀▀█ ▄▀▀█▄\n ▀█▄▄▄█▀█▄ ▀█\n ▄▀███▀▄ ▀█▄ \n █▄▄█ █▄▄█ ▀█ "], ["injured_1", " \n ▄█▀█▀▀▀▄███▀ \n █▀ ▄▀▀▀▀▄▀█ \n █ █ ▄ █ ██▄ \n ▀▄█▀ ▀▀█ ██▀█▄\n ██▄▄▄█▄████▄▀\n ▄█ █▄▄██ ██▄▀█ \n █▄▄█▄█▄█▄▄██▄ "], ["injured_2", " \n ▄▄▄▄▄▄▄ ▄██▀ \n▄█▀ █▄▄▄▀███ \n█ ▄▀ █ ███▄ \n█ █▄ ▀▄▄█ ███▀█▄\n ▀█▄ ▄▀▄████▄▀\n ▄█ █████ ██▄▀█ \n █▄▄█▄█▄█▄▄██▄ "], ["sleep_1", " \n ▄▄▄▄▄▄▄ ▄▄█▀ \n █▀ ▄█▄▄▄▀██ █ \n █ █▀ █ █▄██ \n ▀▄█▀ ▀▀ █ ██▀ \n ▀▄▄▄▄█▄██▀█▄ \n █▀█▄▄█▀ ▀█▄▀█\n █▄▄███▄▄▄▀██▄"], ["sleep_2", " \n ▄█▀▀█▀▀▀▄███▀ \n █ ▄█▀▀▀▀▄▀█ █\n █ █▄ ▄▄ █ █▄██\n ▀█ ▄▀▄██▀ \n ▄█▀▀▀██▄ ▀█▄\n █▀█▄▄█▀ ▀█▄▀█\n █▄▄███▄▄▄▀██▄"], ["walk_1", " ▄█▀▀█▀▀▀▄███▀ \n █ ▄█▀▀▀▀▄▀█ ▄█\n █ █▄ ▄█ █ ████\n ▀█ ▄▀▄██▀ \n ▄█▀▀▀███▀██▄\n █ █▄▄█▀ █▄▀██\n █▀███▀█▀██▄▀\n █▄▄█ █▄▄█ ▀█ "], ["walk_2", " ▄▄▄▄▄▄▄ ▄▄▄▄ \n █▀ ▄█▄▄▄▀██▀ ▄\n █ █▀ ▄ █ █▄██\n ▀▄█▀ ▀▀ █ ██▀ \n ▀▄▄▄▄█▄▀▀██▄\n ▄▀█ ▄█▀█▄ ▀█\n ▀▄████▄▄▀██▄ \n █▄▄█ █▄▄█ ▀█ "]]], + ["lucemon_satan_mode", [["angry", " ▄▄▄▄▄ ▄▄ \n ▄▀▀█ ▄▀ █▄▀▀▄ \n █▀▀▀ █▀█▀ ▀▄ █\n ▀█▀█▀█ █▄█▄██ █\n █▄█▄█▄▀ ███▄█\n▄█▄██▄ ▄▀ ▀▄ \n█████▄▄██▄█▀▀▀▄█\n ▀████▄█▄█▄█▄▄█▀"], ["attack", " ▄██▀▀█▀▄▄ \n ▄█▄▄▀ ██▄▄ ▀▄\n █▄▄▄▄█▄▀█ █ █\n ▄▄▄█████ █▄█ █\n▄█▄██▀▀▄▄▄▄▀▀▄ █\n█████▄ ▄ ▀▄▀\n ▀█████████▀▀▀▄█\n █▄██▄█▄█▄█▄▄█▀"], ["eat_1", " ▄██▀▀█ █▀▄▄ \n ▄█▄▄▀ █▄▄█▀▄ ▀▄\n █▄▄▄▄█▄ ▀▄ ▄█ █\n ▀███ █▀███ █\n ▄█▀▀ ▄▄▀ █▀▄▀▀\n▄█▄██▀█▀ ▄▀ ▀▄ \n██████▄▄█▄█▀▀▀▄█\n ▀████▄█▄█▄█▄▄█▀"], ["eat_2", " ▄▄▄▄▄ ▄▄ \n ▄▀▀█ ▄▀ █▄▀▀▄ \n █▀▀▀ ▄▀▀█▀ ▀▄ █\n ▀█▀▀▀ █▀▀▀▄██ █\n ▄███▀█ ██▄█\n▄█▄████▄▀▄▄▀ ▀▄ \n████████▄▄█▀▀▀▄█\n ▀████▄█▄█▄█▄▄█▀"], ["happy", " ▄██▀▀█ █▀▄▄ \n ▄█▄▄▀ █▀▀█▀▄ ▀▄\n █▄▄▄▄█ █▄█ █\n ▀███▀▄ ███ █\n ▄█▀▀ ▄▄▀ ▀█▄▀▀\n▄█▄████▀ ▄ ▀▄ \n███████▄█▄█▀▀▀▄█\n ▀████▄█▄█▄█▄▄█▀"], ["injured_1", " \n ▄▄▄ \n ▄██▀▀█ ▀▄▄▀▀▄ \n▄█▄▄▀ █▀███ ▀▄ █\n█▄▄▄▄▀▄█ ▀███ █\n▄█▄▄▄▄█▄▀ █ ▀▄█\n█▄████▀ █▀▀▀▄█\n ▀█████▄▄█▄█▄▄█▀"], ["injured_2", " \n █▀▀▀▄▄ \n ▄▄▄▄▄█▀▄▄ ▀▄ \n ▄▀▀█ ▄████▄▀▄ █\n█▀▀▀ ▄▀█ ▀███ █\n█████ █▄█ █ ▀█▀\n█▀▄▄▄▄█▀ █▀▀▄█\n ▀██████▄▄█▄▄▄█▀"], ["sleep_1", " ▄▄ \n ▄██▀▀█ █▄▀▀▄ \n ▄█▄▄▀ █▄█▀ ▀▄ █\n █▄▄▄▄▀▄▄▄█▄██ █\n █▄▄▄▄█▄ ███▄█\n▄█▄██▄ ▄▀ ▀▄ \n█████▄▄██▄█▀▀▀▄█\n ▀████▄█▄█▄█▄▄█▀"], ["sleep_2", " ▄▄ \n ▄██▀▀█ █▄▀▀▄ \n▄█▄▄▀ █▄▄▀ ▀▄ █ \n█▄▄▄▄▀▄▄▄█▄██ █ \n █▄▄▄▄█▄ ▀███▄█ \n▄█▄█▀▀▀ ▄▀ ▀▄ \n████▀ ▄▄█▄█▀▀▀▄█\n ▀████▄█▄█▄█▄▄█▀"], ["walk_1", " ▄██▀▀█ █▀▄▄ \n ▄█▄▄▀ █▄▄█▀▄ ▀▄\n █▄▄▄▄▀▄ ▀▄ ▄█ █\n ▀▄▄▄▄▀ ▀▀███ █\n ▄▄█▄▄▄█▀ █▀▄▀▀\n▄█▄███▄ ▄▀ ▀▄ \n██████▄▄█▄█▀▀▀▄█\n ▀████▄█▄█▄█▄▄█▀"], ["walk_2", " ▄▄▄▄▄ ▄▄ \n ▄▀▀█ ▄▀ █▄▀▀▄ \n █▀▀▀ ▄▀▀█▀ ▀▄ █\n ▀█▀▀▀ █ ▄█▄██ █\n ▄█████▀ ███▄█\n▄█▄██▄ ▄▀ ▀▄ \n█████▄▄██▄█▀▀▀▄█\n ▀████▄█▄█▄█▄▄█▀"]]], + ["lucemon_x", [["angry", " ▄▄ ▄▄ ▄▄▄ ▄▄▄ \n ▀▄█ ▄█▄▄ ▀ ▄▀ \n █ ▄▀ ▄▀▄▀▄ ▄▄\n ▀▄▀▀ ▀▀ █ █▀ █\n ▀▄▄▄▄█▄▀ ▄▀▄\n ▄▀█ ▀ ▀▄▀█ ▄▀\n █▄▀▄▄▄▄█▄█▀▄ \n █▄▄▄█▀█▄▄▄█▄▄█"], ["attack", " █▀▄▀▀▄▀▀▀▄▀▀█ \n █▀ █▀▀▀▄ ▄▀ \n █ █▄ ▄█ █ █▄▀█\n █▄▄▄▄▄ █▄▀ ▄▀\n ▀█████ █▄▄▀ █\n ▄▀█▄▄▄▄█▄ ▀█▀ \n ▀██ █▄ ▀█▄▄▀▀▄\n █▄▄█ █▄▄█ ▀▀▀"], ["eat_1", " █▀▄▀▀▄▀▀▀▄▀▀█ \n █▀ █▀▀▀▄ ▄▀ \n █ █▄ ▄▀▄█ █▄▀█\n █ ▄▄▄▄ █ █ ▄▀\n █ ████ █▀▀█ █\n ▄▀▄▄▄▄▀ ▄▄█▀ \n ▀█ █▄ ▀█▀▄ ▀▄\n █▄▄█ █▄▄█ ▀▀▀"], ["eat_2", " ▄▄ ▄▄ ▄▄▄ ▄▄▄ \n ▀▄█ ▄█▄▄ ▀ ▄▀ \n █ ▄▀ ▄▀▄▀▄ ▄▄\n ▀▄▀▀ ▀ ▀█ █▀ █\n ▀▄▄▄▄█▄▀ ▄▀▄\n ▄▀█ ▀ █ █▀ ▄▀\n █▄▀▄▄█▄▄██▀▄ \n █▄▄▄█▀█▄▄▄█▄▄█"], ["happy", " █▀▄▀▀▄▀▀▀▄▀▀█ \n █▀ █▀▀▀▄ ▄▀ \n █ █▄ ▄▀▄█ █▄▀█\n ▄█ ▄▄▄ █▄█ ▄▀\n █ ▀▄███▄█▀ █▀ █\n ▀▄█▄▄▄█▄▄▀▀▄▀ \n █ █▄ ▀█▀▄ ▀▄\n █▄▄█ █▄▄█ ▀▀▀"], ["injured_1", " \n █▀▄▀▀▄▀▀▀▄▀▀█ \n █▀ █▀▀▀▄ ▄▀ \n █ █▀ █▄ █ █ \n ▀▄ ▄▀▄▀▄ \n ▄█▀█▀█▀▄▄ ▀▄\n ▄▀▀▀▄ ▄█▀▀▀█▄▀\n █▄▄▄████▄▄▄█▄█"], ["injured_2", " \n▄▄ ▄▄ ▄▄▄ ▄▄▄ \n▀▄█ ▄█▄▄ ▀ ▄▀ \n █ ▄█ ▄ ▀▄▀▄ \n ▀▄▀ ▀▀ █ █▄ \n ▀█▄▄▄▄█▄▀ ▄▀▄ \n ▄▀▀▀▄ ▄█▀▀▀██ \n █▄▄▄████▄▄▄█▄█"], ["sleep_1", " \n \n █▀▄▀▀▄▀▀▀▄▀▀█ \n █▀ █▀▀▀▄ ▄█ ▄▄\n █ █▄ ▄▄ █ █▀ █\n ▀▄ █▄▀▄▀ \n ▄▀ █▀▀▀█ ▀█ ▀▄\n █▄█▄███▄█▄█▄▄█"], ["sleep_2", " \n ▄▄ ▄▄ ▄▄▄ ▄▄▄ \n ▀▄█ ▄█▄▄ ▀ ▄▀ \n █ ▄▀ ▀▄▀▄ ▄▄\n ▀▄▀▀ ▀▀ █ █▀ █\n ▄▀▄▄▄▄█▀█▄▄▀ \n █ ▄█ ▀ █▄ █ ▀▄\n ▀█▄▄███▄▄█▀▄▄█"], ["walk_1", " █▀▄▀▀▄▀▀▀▄▀▀█ \n █▀ █▀▀▀▄ ▄▀ \n █ █▄ ▄█ █ █▄▀█\n ▀▄ ▄▀▄▀ ▄▀\n ▄█▀█▀█▀▄▄▀ █\n █ █ ▄▀ █▄▄▀ \n █ █▄▀▀█▀▄ ▀▄\n █▄▄█ █▄▄█ ▀▀▀"], ["walk_2", " ▄▄ ▄▄ ▄▄▄ ▄▄▄ \n ▀▄█ ▄█▄▄ ▀ ▄▀ \n █ ▄▀ ▄▀▄▀▄ ▄▄\n ▀▄▀▀ ▀▀ █ █▀ █\n ▀▄▄▄▄█▄▀ ▄▀▄\n ▄▀█ ▀ █ █▀ ▄▀\n █▄▀▄▄█▄▄██▀▄ \n █▄▄▄█▀█▄▄▄█▄▄█"]]], + ["ludomon", [["angry", " \n ▄▀▀▀▀▀▀▄ \n▄▀▀ ▀▀▄ \n▀▀█▀█▀▀▀█▀██▀▀ \n █ ▀▀ ▀▀▄▀▀▀▀▄ \n ▄██▄▀▀▀█ ▄▀▀▄ █\n ██ █▀▀█ ▀▄▄▀ █\n ▀███▄█▄▄█▄▄▄▄▀ "], ["attack", " ▄▀▀▀▄ ▄▀▀▀▀▄ \n█ ▄▀▄ █▄█ ▄▀▀▄ █\n█ ▀▄▀ █▄█ ▀▄▄▀ █\n ▀▄▄▄▀ ▀▄▄▄▄▀ \n █ █ ▀███ █ \n ▀▄ ▀▄███▀ ▄█ \n █▄▄▄▄▄▄█▄▀ \n █▄▄▀ █▄▄▀ "], ["eat_1", " ▄▄▀▀▀▀▀▀▀▀▄▄ \n █▄▄▄▄▄▄▄▄▄▄▄▄█ \n █ ▀ ▀ ██ \n █ █████▄██▄ \n ▄████▄▄▀ ▄▄ ▀▄\n █ █▄▄▄█ █ █ █\n ██▄█ ▀▄ ▀▀ ▄▀\n █▄▄▄█▀▀████▀ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄▄▀ ▀▄▄ \n█▄▄▄▄▄▄▄▄▄▄▄▄█ \n █▄▀▄ ▄▀▄██ \n █▄ ▄▄▄ ▄▀▀▀▀▄ \n ▄▀▀█▀▀▀█ ▄▀▀▄ █\n ▀▄▄██▀▀█ ▀▄▄▀ █\n █▄▄▄█▀▀█▄▄▄▄▀ "], ["happy", " ▄▀▀▀▀▀▀▄ \n ▄▀▀ ▀▀▄ \n ▀▀█▀█▀▀▀█▀██▀▀ \n █▀ ▀ ▀ ▀██▄ \n▄▀▀█ ███▄▀ ▄ ▀▄\n▀▄▄██▄▄▄▄█ █ █ █\n ▀██▄ ▀█▄ ▀ ▄▀\n █▄▄▄█▀▀█▄██▀ "], ["injured_1", " \n ▄▄▄▄▄▄ \n ▄▄▀ ▀▄▄ \n█▄▄▄▄▄▄▄▄▄▄▄▄█ \n █▄█ █▄ ▄▀▀▀▄ \n █▄ ▄▄ █ ▄▀▄ █\n █ ▄██▀▀██ ▀▄▀ █\n █▄▄█▄▄▄██▄▄▄▀ "], ["injured_2", " \n \n ▄▄▄▄▄▄ \n ▄▄▀ ▀▄▄ \n█▄▄▄▄▄▄▄▄▄█▀▀▀▄ \n █▀▀ ▀▀█ ▄▀▄ █\n ▄▀█▄███▄█ ▀▄▀ █\n ██▄▄█▄▄▄██▄▄▄▀ "], ["sleep_1", " \n \n ▄▀▀▀▀▀▀▄ \n▄▀▀ ▀▀▄ \n▀▀███▀▀███▀▀▀▀█ \n ▄█ ▄▄ █ ▄▀▀▄ █\n█ █▄▄▄▄█ ▀▄▄▀ █\n ▀██▄█▄▄▄█▄▄▄▄▀ "], ["sleep_2", " \n ▄▄▄▄▄▄ \n ▄▄▀ ▀▄▄ \n █▄▄▄▄▄▄▄▄▄▄▄▄█ \n █▀▀ ▀█▀▀▀▀▄ \n ▄▀▀▄ ▀▀█ ▄▀▀▄ █\n ▀▄▄██▀▀█ ▀▄▄▀ █\n █▄▄█▄▄▄█▄▄▄▄▀ "], ["walk_1", " ▄▀▀▀▀▀▀▄ \n ▄▀▀ ▀▀▄\n ▀▀█▀█▀▀█▀▀██▀▀\n █ ▄▄ ▄▄██ \n ▄██▄▄█▀ ▄▄ ▀▄\n █ █▄▄█ █ █ █\n ▀█▄█ ▀▄ ▀▀ ▄▀\n █▄▄▄▀▀▀████ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▄▀ ▀▄▄ \n █▄▄▄▄▄▄▄▄▄▄▄▄█\n █ ▀ ▀ ██ \n █▄ ▀█▄▀▀▀▀▄ \n ▄▀▀█▀▀█ ▄▀▀▄ █\n ▀▄▄██▀█ ▀▄▄▀ █\n █▄▄▄█▀▀▀▄▄▄▄█ "]]], + ["lunamon", [["angry", " ▄▄▄ ▄▄▄ \n █ ▄▀ █ ▄▀ \n ▄▀ ▀▀▀▀▀ █▄ \n █ ▄ ▄ ▀▄ \n █ ▀▀ ▀▀ █▄ █\n █▄▄▄▄▄▄▄▀▀▄▀▀ \n▄▀ ▄ █ █ ▄ ▀▄ \n▀▄█▄▄▄█▄▄▄▄▄█▄▀ "], ["attack", " ▄▀▀▄▀▀▄ \n ▄█▄▄▀ ▄▀ ▄▄▄ \n █ ▄ ▀▀▀▀ █\n █ ▀▀ ▄▄ ▄▄▀▀ \n ███ █ █ \n ▀██▄▄▀ ▄▀▄ \n █ █ ▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["eat_1", " ▄▀▀▄ ▄▀▀▄ \n ▄▀ ▀▀▀▀ ▄█▀ \n ▄▀▄▀▄ ▄▀▄ ▀▄ \n █ ▄▄▄ █ \n ▀▄▀▄███ ▄█▄ █\n █ ▄▀█▀█▀▀▀ █▀\n ▀█ ▀▄▀ ▀█▀ \n █▄▄▄▄▄▄▄▄▄█ "], ["eat_2", " ▄▀▀▄ ▄▀▀▄ \n █ ▄█▄▄█ ▄▀ \n ▄▀ ▄ ▄ ▀▄ \n █ ▀ ▀ ▀ ▀ ▄ ▀▄\n ▀▄ ▀▀▀ ▄█▀▄▄▀\n ▄▀█▀█▀█▀▀ ▀▄ \n █ █ ▀▄▀ █▄ █ \n ▀█▄▄▄▄▄▄▄▄▄█▀ "], ["happy", " ▄▀▀█ ▄▀▀█ \n ▄▄█ █▄▄▄█ █ ▄▄\n █▄▀ ▄ ▄ █▀ █\n █ ▀ ▀ ▀ ▀ ▄▀ \n█▀▀▄ █████ ▄▀▀▄\n ▀▄ █▀█▀█▀▀█ ▄▀ \n █▀ ▀ ▀▀▄ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_1", " \n ▄▀▀▄ ▄▀▀▄ \n █ ▄█▄▄█ ▄▀ \n▄▀ ▀▄ \n█▄▄▀ ▀▄▄ ▄ ▀▄ \n▀▄ ▄▄ ▄▀▄▄▀ \n █▀█▀█▀▀█ █ ▀▄\n █▄▄██▄▄█▄▄█▄▄▄▀"], ["injured_2", " \n \n ▄▀▀▀▄ ▄▀▀▀▄ \n ▄▀ ▀▀▀▀▀ ▀█▀ \n█ ▄ ▄ ▀▄ \n█▀▀ ▀▀ ▀▄ █ \n ▀▄▄██▄▄▄▄▀█▀▀▀▄\n █▄▄██▄▄█▄▄█▄▄▄▀"], ["sleep_1", "▄▀▄ ▄▀▄ \n ▀ ▀ ▀ \n ▄▀▀▀▄ ▄▀▀▀▄ \n ▄▀ ▀▀▀▀▀ ▀█▀ \n█ ▀▄ \n█▄▄▄ ▄▄▄ ▀▄ █ \n ▀▄▄▄▄▄▄▄▄▀█▀▀▀▄\n █▄▄██▄▄█▄▄█▄▄▄▀"], ["sleep_2", " ▄▀▄ \n ▄ ▄▄ ▀ ▄▄ \n ▄▀ ▄▀ ▄▀ ▄▀ \n ▄▀ ▀▀▀▀▀ ▀▄ ▀ \n█ ▀▄ \n█▀▀▀ ▀▀▀ ▀▄ █ \n ▀▄▄█▄▄▄▄▄▀█▀▀▀▄\n █▄▄██▄▄█▄▄█▄▄▄▀"], ["walk_1", " ▄▀▀▄ ▄▀▀▄ \n █ ▄█▄▄█ ▄▀ \n ▄▀▄▄ ▄▄ ▀▄ \n █ █▄ ▄█ ▄ ▀▄\n ▀▄▀▀ ▀▀ ▄█▀▄▄▀\n ▄▀█▀█▀█▀▀ ▀▄ \n █ █ ▀▄▀ █▄ █ \n ▀█▄▄▄▄▄▄▄▄▄█▀ "], ["walk_2", " ▄▄ ▄▄ \n ▄▀ ▄▀ ▄▀ ▄▀ \n ▄▀ ▀▀▀▀▀ ▀▄ \n █ █▀ ▀█ ▀▄ \n █ ██ ██ █▄ █\n █▄▄▄▄▄▄▄▀▀▄▀▀ \n▄▀ ▄ █ █ ▄ ▀▄ \n▀▄█▄▄▄█▄▄▄▄▄█▄▀ "]]], + ["machgaogamon", [["angry", " ▄▄▄ ▄▄▄▄▄ \n ▄█▄▀▀▀▀ ▄▄█▄▄\n ▄█▄ ▄█▀ ▀▀▄█ █\n █ ▄█▀▀█▀█\n█▀▀█▀▀▀█▀▀▄▄▄ ▀█\n▀▄▀█▄▄█▄▄█▄▄▀▀▄▀\n ▀▄█████████▄▄▀ \n █▄█▄█▀▀█▄█▄█ "], ["attack", " ▄▄ ▄▄▄ \n █ █▄▄█▀ ▄▀ \n ▄▀▀▀ ▄▄ ▄█ █▀█\n █▀▀ ▀▀ ▄▄▀▀▄█\n█ ████▄ █▀█▄▄██\n ▀█▀▀▀▀▄▀▄▀ ▄█▄█\n ▄██████████▄ \n█▄█▄█▀ ▀█▄█▄█ "], ["eat_1", " █▀█▄▄█▀▀▀█ \n ▄██▀▀▄█▀ ▄█▀ \n █▄▄▄▄ ▄▄▀▄▄▄\n▄▀▀█▄▄█ ▄▀▄ █ █\n█▄▄█▄▄▄▀▀█▄▄██▀█\n▀▄ ▀▄█▄▄█ ███▀█\n ▄██████████▄▀▀▀\n█▄█▄█▀ ▀█▄█▄█ "], ["eat_2", " ▄▀█ ▄▀▀█ \n ▄█▄▀▀▀▀ ▄▀ \n ▄█▄ ▄▀▄ ▀▀▄█▀█\n █ ▄█▀▄█▄█\n▄▀▀█▀▀▀█▀▀▄▄▄█▄█\n█▄▄█▄▄█▄▄██ █▄█\n ▄███████████▄ \n█▄█▄█▀ ▀█▄█▄█ "], ["happy", " █▀▀▄▄▄▄▀▀▀▄ \n ▄██▀▀▄▀▄ ▄▀▀█▄▄\n █▄▄▄▄ ▀▄▄█ █\n ▄▀▀▀ ▄▀█ █▀█\n █▀█▀▀█▀ █ ▄██▀█\n █▀▄█▄▄█▄▄█ ▀▀▀\n █████████ \n █▄█▄█▀█▄█▄█ "], ["injured_1", " \n █▀█▄▄█▀▀▀█ \n ▄▀▀▀▄ ▄█▀ \n █▀▀ ▀▀ ▄▄▀▄▄▄\n █▄▄▄▄▄▄▄▀▀▄ █ █\n ▄█ ▄▀ █ ██▀█\n█ ▄██████▀▀▄██▀█\n █▄█▄█▀▀█▄▄█▄█▀▀"], ["injured_2", " \n ▄▄▄ ▄▄▄▄▄ \n ▄█▄▀▀▀▀ ▄▄▀ \n▄█▄ ▀▄▄ ▀▀▄ \n█ ▄██ █▀█\n ██▀▀█▀▀ █ ▀▄█▄█\n█ ▄██████▀▀▄██▄█\n █▄█▄█▀▀█▄▄█▄█▄█"], ["sleep_1", " \n \n █▀█▄▄█▀▀▀█ \n ▄▀▀▀ ▄██▄▄\n █▀▀ ▀▀▀ ▄▄█ █\n▄▄█▄▄▄▄▄▄▄▀▄▀███\n█▄▀█▀▀▄█▄▀▀█▀▄██\n█▄▄█▄▄▀▀▀▄▄█▄▄█▀"], ["sleep_2", " \n ▄▄▄ ▄▄▄▄▄ \n ▄█▄▀▀▀▀ ▄▄▀ \n ▄█▄ ▄▄▄ ▀▀█▀█\n █ ▄█▀█▄█\n▄▄▀█▀█▀▀██▀▄▀█▄█\n█▄▀█▀▀▄█▄▀▀█▀▄██\n█▄▄█▄▄▀▀▀▄▄█▄▄█ "], ["walk_1", " █▀█▄▄█▀▀▀█ \n ▄▀▀▀ ▄▄ ▄█▀ \n █▀▀ ▀▀ ▄▄▀▄▄▄\n █▄▄▄▄▄▄▄▀▀▄ █ █\n ▄▄█ ▄▀ █▄ ██▀█\n ▀▄▀▄█▄▄█ ███▀█\n ▄█████████▄▀▀▀\n █▄█▄█▀ ▀█▄█▄█ "], ["walk_2", " ▄▄▄ ▄▄▄▄▄ \n ▄█▄▀▀▀▀ ▄▄▀ \n ▄█▄ ▄█▀ ▀▀▄█▀█\n █ ▄█▀▄█▄█\n ▀██▀▀▀█▀▀▄▄ █▄█\n █ █▄▄█▄▄█▄▀▀█▄█\n ▄█████████▄▄█ \n█▄█▄█▀ ▀█▄█▄█ "]]], + ["machinedramon", [["angry", " ▄▄▄████▀▀█▀▀█\n ▄▀ ▄ ▀▄▄██▀█▀\n█ ▀▀ █ ██▄\n▀█▀▀▀▀▄ ▄▀▀▀▀▄ █\n▄▀▀█████▄▀▀▀ █ █\n▀▄▄█▄▄▄▄█▄▄▄▀█▀▄\n ▄▄█▄ ▄▄██▄▄█\n█▄█▄██▀██▄█▄▄█ "], ["attack", "█▀▀█▄▄█▀▀█▄▄▄▄▄ \n█▄▄█ █▄▄█▄▄ █\n ▄▀▀▀▀█▀▄ ▄▀▀▀█▀\n█ ▀▀ █▀█▀▀▄ \n▀█▄█▄█▄ ▄▀ █▄▄▀ \n▄▀█▀█▀█▀▄▄▀▀▄ █▄\n▀▄▄▄▄▄▄▀▀█▄▄█▄█▀\n█▄█▄▄▄█▀▀█▄█▄█▄█"], ["eat_1", " ▄▀▀▀▀▀█▀▀▀█▀▀█\n▄▀ ▄█ █▄██▀█▀\n█▄▄▄▄▄ █ ██▄\n ██████▄▀█▀▀▀▄ █\n▄█▀▀▀▀▀▄█▀▀▀ █ █\n▀▄█████▄█▄▄▄▀█▀▄\n ▄▄█▄ ▄▄██▄▄█\n█▄█▄██▀██▄█▄▄█ "], ["eat_2", " ▄▄▄████▀▀█▀▀█\n ▄▀ ▄ ▀▄▄██▀█▀\n█ ▀ ▀ █ ██▄\n▀█▀▀▀▀▄ ▄▀▀▀▀▄ █\n▄▀▀█████▄▀▀▀ █ █\n▀▄▄█▄▄▄▄█▄▄▄▀█▀▄\n ▄▄█▄ ▄▄██▄▄█\n█▄█▄██▀██▄█▄▄█ "], ["happy", " ▄▀▀▀▀▀▄▄▄▄▄▄▄▄\n▄▀ ▄▀▄ █ ▄█▄▄█\n█▄▄▄▄▄▄▄ █▀▀▀▄█ \n ███████▀█▄▄▄▀▀█\n █▄▀▀▀▀▄▀▄▄▄ █ █\n█ ▀█▀▀▀▀█ ▄█▄▀\n ████▀▀▀▀▀██▄█ █\n█▄█▄██▀▀██▄█▄▄█▀"], ["injured_1", " \n █▀█▀▀▀█▀▀█\n █▄▄█▄██▀█▀\n ▄▀▀▀▀▀█▄▀▄ ██▄\n▄▀ ▄▄ █ █ █\n█▄▄▄▄ ▀ █▄▀█ █\n █▄▄▄██▄█▄▄ ██▀▄\n█▄▄██▄▄▄█▄▄▄██▄█"], ["injured_2", " \n █▀█▀▀▀█▀▀█\n █▄▄█▄██▀█▀\n ▄▄██▄▄ ▀▄ ██▄\n ▄▀ ▀█ █ █\n█ ▀▀▄ █▄▀█ █\n▀█▀▀▀▄▄ ▄█▄ ██▀▄\n█▄██████▄█▄▄██▄█"], ["sleep_1", " \n █▀█▀▀▀█▀▀█\n ▄▀▀▀▀▀█▄▄██▀█▀\n▄▀ ▄▄ █ ██▄\n█▄▄▄▄▄ ▄▀▀▀▀▄ █\n █▄▄▄▄█▄▄▄█▀ █ █\n█▄▄█▄▄▄▄█ ▄█▀▄\n█▄▄▄█▄▄▄██████▄█"], ["sleep_2", " \n ▄▄▄███▀▀▀█▀▀█\n ▄▀ ▀▄▄██▀█▀\n█ ▀▀ █ ██▄\n▀█▀▀▀▀▄ ▄▀▀▀▀▄ █\n▄▀▀█████▄▀▀▀ █ █\n▀▄▄█▄▄▄▄█▄▄▄▀█▀▄\n█▄▄▄█▄▄▄▄▄████▄█"], ["walk_1", " ▄▀▀▀▀▀█▀▀▀█▀▀█\n▄▀ ▄█ █▄██▀█▀\n█▄▄▄▄▄ █ ██▄\n ▀▄▄▄▄█▄▀▄▀▀▀▄ █\n▄▀▀█▄▄▄▄█▀▀▀ █ █\n▀▄▄█▄▄▄▄█▄▄▄▀█▀▄\n ▄▄█▄ ▄▄██▄▄█\n█▄█▄██▀██▄█▄▄█ "], ["walk_2", " ▄▄▄▄▄▄▄▄▄▄\n ▄▀▀▀▀▀█ ▄█▄▄█\n▄▀ ▄█ █▀▀▀▄█ \n█▄▄▄▄▄ █▄▄▄▀▀█\n █▄▄▄▄█▄▀▄▄▄ █ █\n█ █▀▀▀▀█ ▄█▄▀\n ████▀▀▀▀▀██▄█ █\n█▄█▄█▀▀▀██▄█▄▄█▀"]]], + ["machmon", [["angry", " ▄▄ \n ▄▀▀▄█▀▄ \n ▄██▀██▄▀█ ▄▀▀█▀\n███▄▄████▀█▄█▀▀█\n█ ▀ ▀ █▄ █▄ ▄▄█ \n █ ▄█ █ ▄ █▄ █\n ▄▀█▀▀ ▄█▀▀██▀ █\n ▀▀▀███▀ ▀▄▄▄▄▀ "], ["attack", " \n \n ▄▄▀█▄ ▄▄ ▄▄▄▄\n ▀▄▄██▄█▄█▄▀▄▄█▄\n▄██▀ ▄█▀▀▄▀▀▀ ▄▀\n█▀█▀█▀█▀▄▀▀ █▀▀▄\n ▀▄▄▄█▀ █▄█▄██ █\n █▄█▄▄▄█▀▀▄██▄▀ "], ["eat_1", " \n \n ▄▄▀█▄ ▄▄ ▄▄▄▄\n ▀▄▄██▄█▄█▄▀▄▄█▄\n▄██▀▄▀█▀▀▄▀▀▀ ▄▀\n█▀█▀█▀█▀▄▀▀ █▀▀▄\n ▀▄▄▄█▀ █▄█▄██ █\n █▄█▄▄▄█▀▀▄██▄▀ "], ["eat_2", " ▄▄ \n ▄▀▀▄█▀▄ \n ▄██▀▀█▄▀█ ▄▀▀█▀\n█████████▀█▄█▀▀█\n█ ▀ ▀ █▄ █▄ ▄▄█ \n █ ▄█ █ ▄ █▄ █\n ▄▀█▀▀ ▄█▀▀██▀ █\n ▀▀▀███▀ ▀▄▄▄▄▀ "], ["happy", " ▄▄ \n ▄▀▀▄█▀▄ \n ▄██▀██▄▀█ ▄▀▀█▀\n███▄█▄███▀█▄█▀▀█\n█ ▀ ▀ █▄ █▄ ▄▄█ \n █ ▄█ █ ▄ █▄ █\n ▄▀█▀▀ ▄█▀▀██▀ █\n ▀▀▀███▀ ▀▄▄▄▄▀ "], ["injured_1", " \n \n ▄▄ \n ▄▀▀▄█▀▄▀█ ▄▀▀█▀\n ▄█▀█████▀█▄█▀▀█\n███▄▄██▄ █▄ ▄▄█ \n▀▄█▄█▄▀ █ ▄ █▄ █\n █▄█▄▄▄█▀▀▄██▄▄▀"], ["injured_2", " \n \n \n ▄▄▀█▄ ▄▄ ▄▄▄▄\n ▀▄▄██▄█▄█▄▀▄▄█▄\n▄██ ▀██▀▀▄▀▀▀ ▄▀\n███████▀▄▀▀ █▀▀▄\n█▄█▄▄▄▄█▄▄▄███▄█"], ["refuse", " \n ▄▄ \n ▄▀▀▄█▀▄▀█ ▄▀▀█▀\n ▄██▀████▀█▄█▀▀█\n███▄▄██▄ █▄ ▄▄█ \n▀▄▀ ▀▄█ █ ▄ █▄ █\n ▄▀█▀▀ ▄█▀▀██▀ █\n ▀▀▀███▀ ▀▄▄▄▄▀ "], ["sleep_1", " \n \n ▄▄▀█▄ ▄▄ ▄▄▄▄\n ▀▄▄██▄█▄█▄▀▄▄█▄\n▄██▀▀██▀▀▄▀▀▀ ▄▀\n█▀█▀█▀█▀▄▀▀ █▀▀▄\n ▀▄▄▄█▀ █▄█▄██ █\n █▄█▄▄▄█▀▀▄██▄▀ "], ["sleep_2", " \n \n ▄▄▀█▄ ▄▄ ▄▄▄▄\n ▀▄▄██▄█▄█▄▀▄▄█▄\n▄██▀ ██▀▀▄▀▀▀ ▄▀\n█▀█▀█▀█▀▄▀▀ █▀▀▄\n ▀▄▄▄█▀ █▄█▄██ █\n █▄█▄▄▄█▀▀▄██▄▀ "], ["walk_1", " \n ▄▄ \n ▄▀▀▄█▀▄▀█ ▄▀▀█▀\n ▄██▀▀███▀█▄█▀▀█\n███▄▄██▄ █▄ ▄▄█ \n▀▄▀ ▀▄█ █ ▄ █▄ █\n ▄▀█▀▀ ▄█▀▀██▀ █\n ▀▀▀███▀ ▀▄▄▄▄▀ "], ["walk_2", " \n \n ▄▄▀█▄ ▄▄ ▄▄▄▄\n ▀▄▄██▄█▄█▄▀▄▄█▄\n▄██▀ ▄█▀▀▄▀▀▀ ▄▀\n█▀█▀█▀█▀▄▀▀ █▀▀▄\n ▀▄▄▄█▀ █▄█▄██ █\n █▄█▄▄▄█▀▀▄██▄▀ "]]], + ["madleomon", [["angry", " ▄▄▄▄▄▄▄▄▄ \n ▄▄██▀█▀█████▀ \n ▀█▀▄▄█▄█▄▄▀████\n ▄████▀ █▀▄▄██▄\n █▀▀▀▀██▀▄████▀\n ▄▄▀█▀▀▀██▀▄▄█▀█\n █▄▄█▀▀███ ▀▀▀▄▀\n█▄███▀▀▀▀▀█▄██▄█"], ["attack", " ▄▄██▀█▀█████▀\n ▀█▀▄▄█▄█▄▄▀███\n ▄███▀ ▄█▀▄▄█▄\n █ ▀████▄███▀\n ▄▄▄████▀██▀██▄ \n█ ▄ ▄ ▄ █ ███▀▄\n▀▄▄▄▄▄▄▄▀▄█▄▄▄██\n█▄▄██▀▀▀▀▀█▄▄█▄█"], ["eat_1", " ▄▀▀▄▀█▀▀████ \n ▄██▀▀▀██ ██▄▄\n █▀▀▀▀▀███ ▀██▀\n █ ▄▄ ██ █████\n ▄▀▄▄▄▄██▄▀▀█▀█▄\n ▀▄▄█▄▄▄██ ▀▀ ██\n ▄▄█▄▄███████▀ \n █▄▄██▀▀▀█▄▄█▄█ "], ["eat_2", " ▄▄▄▄▄▄▄▄▄ \n ▄▄██▀█▀█████▀ \n ▀█▀▄▄█▄█▄▄▀████\n ▄███▀▄▀█▀▄▄██▄\n █▀▀▀▀██▀▄████▀\n ▄▀█▀▀▀██▀██▄▀█\n █ █▀▀████▄▀▀▄▀\n█▄███▀▀▀▀▀█▄██▄█"], ["happy", " ▄▀▀▄▀█▀▀████ \n ▄███▀███ ██▄▄\n ████▄█▄██ ▀██▀\n ▄█ ██ █▀▀▄ \n █ █▄▄▄██▄█▄██ █\n ▀▄▄█▄▄▄██▀▀▀▀▄▀\n ▄▄█▄▄███████ \n █▄▄██▀▀▀█▄▄█▄█ "], ["injured_1", " \n ▄▄█████████ \n ▄████▀█▀█████▄▄\n █▀▄▄█▄█▄▄▀███▀\n ▄████ ▀█▀▄████\n ▄████████▄██▀▀▄\n █ ▀█▄▄▄███▀ █\n ▀▄▄█▄▄████▄▄▄▄▀"], ["injured_2", " \n ▄▄▄▄▄▄▄▄▄ \n ▄▄██████████▀ \n ▀██▀▀▄▀▄▀▀█████\n ▀▄███▀███ ███▄\n █████▄▄█ ██▀▀█\n █ ▀█▄▄▄███▀ █\n ▀▄▄█▄▄████▄▄▄▄▀"], ["sleep_1", " \n ▄▄▄▄▄▄▄▄▄ \n ▄▄██▀█▀█████▀ \n ▀█▀▄▄█▄█▄▄▀████\n ▄███▀▀██▀▄▄██▄\n █▀▀████▀▄████▀\n ▄▀▀█▄▄▄██ ▄█ ██\n█▄███▀▀▀▀█▄▄▄▄▄█"], ["sleep_2", " \n ▄▄█████████ \n ▄██▀▀▄▀▄▀▀███▄▄\n ▀▄███████ ▀██▀\n ████▄▄██ █████\n ▀▄▄████▄▀▀█▀█▄\n ▄▀▀█▄▄▄██ ▀▀ ██\n█▄███▀▀▀▀▀█▄██▄█"], ["walk_1", " ▄▄█████████ \n ▄██▀▀▄▀▄▀▀███▄▄\n ▀▄███▀▀██ ▀██▀\n ████▄▄██ █████\n ▀▄▄████▄███▀█▄\n ▄▀ █▄▄▄██▄▀██ █\n ▀▄▄█▄▄█████▄▄▀ \n █▄▄██▀▀▀█▄▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄▄▄▄ \n ▄▄██▀█▀█████▀ \n ▀█▀▄▄█▄█▄▄▀████\n ▄███▀ ▄█▀▄▄██▄\n █▀▀████▀▄████▀\n ▄▀█▀▀▀██▀██▄▀█\n █ █▀▀████▄▀▀▄▀\n█▄███▀▀▀▀▀█▄██▄█"]]], + ["magnaangemon", [["angry", " ▄▄▄▄▄ ▄▄▄ \n █▄▀ █▀▄▄▀ ▄▀ \n █ █ █▄ █ ▄▀ \n▄█ █ ▄▀▄█▄█▄▄▀ \n██▀█▀ ▀▄▀ ▄▀▀▄ \n█▀▄▄▄▄▀ ▀█▀▀▄ ██\n▀▄█▄█▄█▄▄▄█▄▄█ █\n█▄█▄█▀▀▀█▄█▄▄█▀ "], ["attack", " ▄▀▀▀▀█▄ ▄▀█\n ▄▀ ▄▀▄ █ ▀▄\n▄▄ ██▀ ▄▀▄ ▀▄█▀▄\n█ ▀█▄▄▄█▄▀█▄ █▀ \n▄▀▀ ▀▄▄█ █ █▄▀█\n█▄▀█▀▀▀ █▀▀▀▄▄▀\n ▄▄▀▀▀█▀▀ ▀▄█ ▄▀\n█▄█▄▄▀▀█▄▄█▄▄█ "], ["eat_1", " ▄▀██▀▀▀▀▄ ▄▀▀█\n█▀█▀▀ ▄▄▀▀▄▀ ▀▀▄\n▀▄▄▄▄█ ▀▄▀▄ ▀▀▄\n████▄▄█ █▀▀█▄█▀ \n█▀▄▄▄▄▄▀▄▄▄▀ ▀█\n█ █ ▄▀▄ █▄█▀ ▄▀\n █▀▀▀███▀▀▀██▀ ▀\n█▄█▄█▀▀▀█▄█▄▄█ "], ["eat_2", " ▄▄▄▄▄ ▄▄▄ \n █▄▀ █▀▄▄▀ ▄▀ \n █ █ █▄ █ ▄▀ \n █▄█▄▄▄▀▄█ █▄▄▀ \n█▀▄█ ▀▄▀▀▀▄█ ▄▄\n█▀▄▀▀█▀ ▀▄▄▀ █ █\n▀▄█▄█▄█▄▄▄█▄▄█▀▄\n█▄█▄█▀▀▀█▄█▄▄█▀ "], ["happy", " ▄▀██▀▀▀▀▄ ▄▀▀█\n█▀█▀ ▄▄▀▀▄▀ ▀▀▄\n▀▄▄▄▄█▄ ▀▄▀▄ ▀▀▄\n█▀████▀ █▀▀█▄█▀ \n█▀▄▄▄▄▄▀▄▄▄▀▄ ▀█\n▀▄ █ ▀ ▄▀ █ ▀▄\n █▀▀▀███▀▀▀██▄▀ \n█▄█▄█▀▀▀█▄█▄▄█ "], ["injured_1", " \n ▄▀█▀▀█▄ ▄▄ \n ▄▀█ █ ▀█ ▀▀▄\n █ █ █▀▄▀▄ ▀█▀\n▄█▀█▀▀█ ██▄▀█▄▄█\n▀▄▀█▄▄▄▀▄▄▄█▀ ▀▄\n█ ▀▄▄▀▄▀▀▄ █▀▀▄▀\n█▄▄████▄▄▄▄█▄█▄█"], ["injured_2", " \n ▄▄▄▄▄ \n █▄▀ █▀▄▄▀▀▄▄ \n █ █ █▄ █ ▄▄█\n▄█▄█▄▄▄▀▄█▄▀▄ ▀▄\n▀█▄█ ▀▄▄▄▄██▀█▀\n█ ▀█▀██▀▀▄ █▀▀▄█\n█▄▄██▄█▄▄▄▄█▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄ ▄▀▀█ \n █▄▀ █▀▄ █ ▀▄ \n█ █ █▄ █▀▄ ▀▄ \n█▄█▄▄▄▀▄██▄▀█▀ \n█▄█ ▀▄█ ▄██▀▀█\n█▀▀▀█▀▄ ▀█ █▄▀\n█▄▄▄██████▄▄▄█ "], ["sleep_2", " \n ▄▀█▀▀█▄ ▄▀▀█ \n ▄▀█ █ ▀█ ▀▄ \n █ █ █▀▄▀▄ ▀▄ \n▄█▀█▀▀█ ██▄▀█▀ \n█▄██▄▄▄█ ▄██▀▀█\n█ ▀▄▀▄ ▀█ █▄▀\n█▄▄▄██████▄▄▄█ "], ["walk_1", " ▄▀█▀▀█▄ ▄▀▀█\n ▄▀█ █ ▀▄▀ ▀▀▄\n █▀█▀▀ █▀▄▀▄ ▀▀▄\n▄█▄█▄▄▀ ██▄▀▄▀▀ \n▀▄▀▄▄▄▄▀▄ █▀▄▀█\n█ █ ▄▀▄ █▀ █ ▄▀\n▀▄▀▀▀██▀▀▀▄▄█ ▄▀\n█▄█▄█▀▀█▄█▄▄█▀ "], ["walk_2", " ▄▄▄▄▄ ▄▄▄ \n █▄▀ █▀▄▄▀ ▄▀ \n █▄█▄▄ █▄ █ ▄▀ \n █ █ ▄▀▄█ █▄▄▀ \n█▀█▀▀▀ ▄▀▀▀▄█ ▄▄\n█▀▄▀▀█▀ ▀▄▄▀ █ █\n▀▄█▄█▄█▄▄▄█▄▄█▀▄\n█▄█▄█▀▀▀█▄█▄▄█▀ "]]], + ["magnadramon", [["angry", " ▄▄▄▄▄▄▄▄ \n ▄▀▀ ▄ ▄█▄▄ \n▄▀▄▄ ▀▀ ▄▄▀ \n▀█ ▀▀ ▄▀ ▀█▀ \n ▀█▀█▀▀ ▄▀█ █▄ \n ▄▀▄█ ▀▀▀█▀█ \n ▀▀█▀▄ ▄▀ ▀▄▀ \n █▄▄▀▀▄▄███▀ "], ["attack", " ▄▄▄▀▀▀▀█▀▀ \n▄▀ ▄█▀ ▀█▀▀ \n█████▄ ▀█▀▄▄▄ \n ██████ █ ▄▀ \n▄█▄▄▄▄▀ ▄▀█ █▀ \n▀▄▄▄▄▄▄▀▀█▀█▀▄▀█\n ▄▀▀▄ █▄▄█▀ █ \n ▀▀▀▀▀▄▄▄▄▄▄▀ "], ["eat_1", " ▄▄▄▀▀█▀▀ \n ▄▄▀ ▄ ▀▀█▀▀ \n█▄▄▄▀ ▀ ▀█▀▄▄▄ \n ▀▄ ▄▀ ▄▀ \n ▄▄▄▄▀ █▄▀█ █▀ \n ▀▄▄▄▄▀ ▀█▀█▀▄▀█\n ▄▀▀▄ █▄▄█▀ █ \n ▀▀▀▀▀▄▄▄▄▄▄▀ "], ["eat_2", " ▄▄▄▄▄ \n ▄▀▀▀ ▄█▄▄▄ \n▄▀▀ ▄▀▄ ▄▄█ \n▀█▀▀ ▄▀ ▀█▀ \n ▀█▀█▀▀ ▄▀█ █▄ \n ▄▀▄█ ▀▀▀█▀█ \n ▀▀█▀▄ ▄▀ ▀▄▀ \n █▄▄▀▀▄▄███▀ "], ["happy", " ▄▄▀▀▀▀█▀▀ \n▄▀▀ ▄▀▄▀▀█▀▀ \n▀▀▀▀▀▄ ▀█▀▄▄▄ \n █ ▄▀ ▄▀ \n ▄▄▄▀ █▄▀█ █▀ \n ▀▄▄▄▄▀ ▀█▀█▀▄▀█\n ▄▀▀▄ █▄▄█▀ █ \n ▀▀▀▀▀▄▄▄▄▄▄▀ "], ["injured_1", " \n \n ▄▄█▀▀█▀▀ \n ▄▄▀ ▀▀█▀▀ \n█▄▄ ▀▄▄ ▀█▀▄▄▄ \n▄▀▄▄▄▄▄▄▀ ▀▄▀ ▄▄\n▀▄█ ▄ ▀▄ █▀▀ █\n█▄█▄▄█▄▄▄█▄▄█▄▀ "], ["injured_2", " \n \n ▄▄▄▄▄▄ \n ▄▀▀▀ ▄█▄▄▄ \n▄▀▀ ▄ ▄▄█ \n▀█▀ ▀▀ ▄▀▄▀█▀ \n▀▄█▀▀▀█▀▄ █▄▄▀█\n█▄█▄▄█▄▄▄█▄▄█▄▄▀"], ["sleep_1", " \n \n ▄▄█▀▀█▀▀ \n ▄▄▀ ▀▀█▀▀ \n█▄▄▄▀▀ ▀█▀▄▄▄ \n▄█▄▄▄▄▄▄▄▄▀▄█ \n█ █ █ █ █▄▀█\n█▄▀▄▄▄▄█▄▄█▄▄█▄▀"], ["sleep_2", " \n ▄▄▄▄▄▄ \n ▄▀▀▀ ▄█▄▄▄ \n▄▀▀ ▄▄ ▄▄█ \n▀█▀▀ ▄▀ ▀█▀ \n▄▄▀█▀▀▀▀▄▄ ▀▄ ▄▄\n█ █ █ █ █▀ █\n█▄▀▄▄▄▄█▄▄█▄▄█▀ "], ["walk_1", " ▄▄▄▀▀█▀▀ \n ▄▄▀ ▄▄ ▀▀█▀▀ \n█▄▄▄▀▀ ▀█▀▄▄▄ \n ▀▄▄▄▄▄▄▀ ▄▀ \n ▄▀▀▄▀ ▄▀█ █▀ \n█▄█▄█ ▀█▀█▀▄▀█\n ▄▀▀▄ █▄▄█▀ █ \n ▀▀▀▀▀▄▄▄▄▄▄▀ "], ["walk_2", " ▄▄▄▄▄ \n ▄▀▀▀ ▄█▄▄▄ \n▄▀▀ ▄█▀ ▄▄█ \n▀█▀▀ ▄▀ ▀█▀ \n ▀█▀█▀▀ ▄▀█ █▄ \n ▄▀▄█ ▀▀▀█▀█ \n ▀▀█▀▄ ▄▀ ▀▄▀ \n █▄▄▀▀▄▄███▀ "]]], + ["magnadramon_x", [["angry", " ▄▄ ▄▄▄ \n ▄▄▄▄▀▀ ▀▀█▀█▄ \n █▀ ▄█ ▄▀ \n ▀█▀ ▄▄▀▄▄▀▀▀█\n ▀██▀ ▄ ▄ ▀█ \n ▄▀ █ █▄▀▀ \n █▀▄ ▀▀ ▀▄▄▀█\n ▀▄▄█▀▄▄█▄▄▄▄▀"], ["attack", " ▄▄▄▄▄▀▀▀▄███▄ \n █▀ ▄█ ▄▀ ▀▀ \n ▀▀██▄ █ ▄▀▀█\n ▄████ █▀█▀ ▄█▀\n ▀▄▄▄▄█▀▄ █▄▄▀ \n ▄█ █ █ ▄▄\n █ ▀▄▄ ▀█ ▀▀ █\n ▀▄▀ ▀▄▀▀▄▄▀ "], ["eat_1", " ▄▄▀▀▄███▄ \n ██▀▀ ▄ ▄▀ ▀█ \n █▄▄▄▀ ▀ █ ▄▄▄▄\n ▀███ █▀▀ ▄▄▀\n ▄▀▄▄▄▄▀ ▄ ▄▄▀ \n ▀▄█ ▀▄▄▀█ ▄▄\n █ ▀▄▄ ▄ ▀▀ █\n ▀▄▀ ▀▄▀▀▄▄▀ "], ["eat_2", " ▄▄ ▄▄▄ \n ▄▄▄▄▀▀ ▀▀█▀█▄ \n █▀ ▄▀▄ ▄▀ ▀ \n ▀█▀ ▄▄▀▄▄▀▀▀█\n ▀██▀ ▄ ▄ ▀█ \n ▄▀▄▀ █ ▄█▄▀▀ \n █▀ ▄▀ ▀▀▄▀█\n ▀▄█▄▄▄█▄▀▄▄▄▀"], ["happy", " ▄▄▀▀▄███▄ \n ██▀▀ ▄ ▄▀ ▀█ \n █▄ ▀ ▀ █ ▄▄▄ \n ▀████ █▀ █▀█\n █▀▀ ▄█▀ ▄█▄▀ \n █ █▀▀ ▀█ ▄▄\n █ ▀▄▄ ▄ ▀▀ █\n ▀▄▀ ▀▄▀▀▄▄▀ "], ["injured_1", " \n ▄▄ ▄▄▄ \n ▄▄▄▄▀▀ ▀▀█▀█▄ \n █▀ █▄ ▄▀ ▀ \n ▀█▀ ▄▄▀▄▀▀▀█ \n ▀██▀ ▄ ▄ ▀█ \n ▄█▀ ▄▀ █▄██▀█\n █▄█▄▄█▄▄█▄▄▄▄▀"], ["injured_2", " \n \n ▄▄▀▀▄███▄▄ \n██▀▀ ▄ ▄▀ ▀▀ \n█▄▄ ▀▀ █ ▄▄▀▀█ \n ▀▄▄▄▄▀▀ ▀█ ▀█ \n ▄█ ▄▀ █▄██▀█\n █▄█▄▄█▄▄█▄▄▄▄▀"], ["sleep_1", " \n ▄▄▀▀▄███▄ \n██▀▀ ▄▀ ▀█ \n█▄▄ ▀▀ █ ▄▄▄▄ \n ▀▄▄▄▄▀▀ ▀▀ ▄▄▀ \n ▄▀█ ▄▀ █ ▄█ \n █ █ ▀▄▀▀█▄▄▀█\n █▄█▄█▄█▄▄▄▄▄▀"], ["sleep_2", " ▄▄ ▄▄▄ \n ▄▄▄▄▀▀ ▀▀█▀█▄ \n █▀ ▄▄ ▄▀ ▀ \n ▀█▀ ▄▄▀▄▄▀▀▀█\n ▀██▀ ▄ ▄ ▀█ \n ▄▀▄▀ █ ▄█▄▀▀ \n ▀▄▀ ▄▀ ▀▀▄▀█\n ▀▄█▄▄▄█▄▀▄▄▄▀"], ["walk_1", " ▄▄▀▀▄███▄ \n ██▀▀ ▄▄ ▄▀ ▀█ \n █▄▄ ▀▀ █ ▄▄▄▄\n ▀▄▄▄▄▀▀ ▀▀ ▄▄▀\n ▄▀█ ▄▀ █ ▄▄▀ \n ▀▄█ ▀▄▀▀█ ▄▄\n █ ▀▄▄ ▄ ▀▀ █\n ▀▄▀ ▀▄▀▀▄▄▀ "], ["walk_2", " ▄▄ ▄▄▄ \n ▄▄▄▄▀▀ ▀▀█▀█▄ \n █▀ ▄█▀ ▄▀ ▄▄▄\n ▀█▀ ▄▄▀▄▄▀ ▄█\n ▀██▀ ▄ ▄ ▀█ \n ▄▀▄▀ █ ▄█▄▀▀ \n █▀▄ ▀ ▀▄▄▀█\n ▀▄▄█▀▄▄█▄▄▄▄▀"]]], + ["magnagarurumon", [["angry", " ▄▀▄▀▄ ▄▄▄ \n ▄▀ ▀ █▀ ▄▀ \n ▄▀ ▄█ █▀▀▀▀█\n ▀▄▄▄▄ ▄█▀▀▄▄▄▀\n ▄███▀ ██▄▄█ \n ██▄▄▄▀█▄▄ █ \n ▄▀ ▄▄▄▄ ▀█▀ \n █▄█▄█ ▀█▄█▄█ "], ["attack", " ▄ ▄ \n █ █ █▄▀▀█ \n ▄▀ ▄▄ ▀▄▄█▄▄▄\n █ ▀▀ ▄█▄ █\n ▀█▄▄▄▀█ █▀▀ \n ▄▀▀▄ ▄▄▀▀▀▀▄ \n █▄█▀▀▀ ▀▀▄▄▄█ \n█▄█▄▄▀▀▀▀▀▄▄█▄█ "], ["eat_1", " ▄ ▄ \n █ █ █▄▀▀█ \n ▄▀ ▄ ▀▄▄█▄▄▄\n █ ▀ ▀ ▄█▄ █\n ▀█▄▄▄▀█ █▀▀ \n ▄▀▀▄ ▄▄▀▀▀▀▄ \n █▄█▀▀▀ ▀▀▄▄▄█ \n█▄█▄▄▀▀▀▀▀▄▄█▄█ "], ["eat_2", " ▄▀▄▀▄ ▄▄▄ \n ▄▀ ▀ █▀ ▄▀ \n ▄▀ ▄█▀ █▀▀▀▀█ \n ▀▄▄▄▄ ▄█▀▀▄▄▄▀ \n ▄▄███▀ █▄▄█ \n█ █▄▄▄▀█▄ █ \n █▀ ▄▄▄▄ ▀▀█ \n█▄█▄█ ▀█▄█▄█ "], ["happy", " ▄▀▄▀▄ ▄▄▄ \n ▄▀ ▀ █▀ ▄▀ \n ▄▀ ▄▀▄ █▀▀▀▀█\n ▀▄▄▄▄ ▄█▀▀▄▄▄▀\n ▄▄███▀ █▄▄█ \n █ █▄▄▄▀█▄ █ \n █▀ ▄▄▄▄ ▀▀█ \n █▄█▄█ ▀█▄█▄█ "], ["injured_1", " ▄ ▄ \n █ █ █▄▀▀█ \n ▄▀▄ ▀▄▄█▄▄▄\n █ ▀▀ █ █\n ▀█▄▄▄▀█▀▀█▀▀ \n ▄▀▄ ▄█▀▀█ \n █▄██▀▀█▀ ▄▀▄ \n █▄█▄███▄▄█▄█▄█ "], ["injured_2", " \n ▄▀▄▀▄ ▄▄▄ \n ▄▀ ▀ █▀ ▄▀ \n▄▀ █▄ █▀▀▀▀█ \n▀▄▄ ▄▄█▄▄▄▄▀ \n ▄▀█▀▀ █▄▀▀▄ \n█▄██▀▀█▀ ▄▀▄ \n█▄█▄███▄▄█▄█▄█ "], ["refuse", " ▄ ▄ \n █ █ █▄▀▀█ \n ▄▀ ▄ ▀▄▄█▄▄▄\n █ ▀▀ ▄█▄ █\n ▀█▄▄▄▀█ █▀▀ \n ▄▀▀▄ ▄▄▀▀▀▀▄ \n █▄█▀▀▀ ▀▀▄▄▄█ \n█▄█▄▄▀▀▀▀▀▄▄█▄█ "], ["sleep_1", " \n ▄ ▄ \n █ █ █▄▀▀█ \n ▄▀ ▀▄▄█▄▄▄\n █ ▀▀ ▄█▄ █\n ▄▄██▄▄▄▀█▄▄██▀ \n█ ▀ █▄▄▀█▄█ ▀ █ \n█▄▄▄█▄▄▄▄▄█▄▄▄█ "], ["sleep_2", " \n ▄▀▄▀▄ ▄▄▄ \n ▄▀ ▀ █▀ ▄▀ \n ▄▀ ▄▄ █▀▀▀▀█\n ▀▄▄ ▄█▀▀▄▄▄▀\n ▄▄▄█▀▀▀ █▄▄█▄ \n█ ▀ █▄▄▀█▄█ ▀ █ \n█▄▄▄█▄▄▄▄▄█▄▄▄█ "], ["walk_1", " ▄▀▄▀▄ ▄▄▄ \n ▄▀ ▀ █▀ ▄▀ \n ▄▀ ▄█▀ █▀▀▀▀█\n ▀▄▄ ▄█▀▀▄▄▄▀\n ▄▄▀▀▀▀ █▄▄█ \n █ ▄█▄▄▀█▄ █ \n █▀ ▄▄▄▄ ▀▀█ \n █▄█▄█ ▀█▄█▄█ "], ["walk_2", " ▄ ▄ \n █ █ █▄▀▀█ \n ▄▀ ▄▄ ▀▄▄█▄▄▄\n █ ▀▀ ▄█▄ █\n ▀█▄▄▄▀█ █▀▀ \n ▄▀▀▄ ▄▄▀▀▀▀▄ \n █▄█▀▀▀ ▀▀▄▄▄█ \n█▄█▄▄▀▀▀▀▀▄▄█▄█ "]]], + ["magnamon", [["angry", " ▄▄▄██▄▀▀█ \n █ ▄▄▀▄▄█ ▄▄ \n▄▀█████▀█ ▄█ █ \n█▄▄█▄▄▄▄▀█ ▄▀▀█ \n▀▄ █ ▄▄ ▄█▄▄██▄\n ▀█▀█▄▀▀███████\n ▄█ █ ▄▄█▄▄▀▀█\n█▄█▄▄█ ▀█▄█▄█ "], ["attack", " ▄▄ ▄▄▄ \n ▄██▀▀ ▄█ \n █ ▄▄▀█▀▀▄ \n ▄▀█▀▀▀▀█▄▀▀▀▄ \n ▀▄█▀▀▀▀▄█▄▄▄▀▄ \n █▄▀▄█▀▄▀▀██▄▄ █\n▄█ ▄▀▀█▄ █ ██\n█▄█▄█▀▀▀ ▀█▄█▀▀█"], ["eat_1", " ▄██▄▀▀█ \n ▄▀▀▀ ▄▄█▀ \n █▄▄██▄█ █▄▄ \n █ █▄▄▄▄▀█ █ \n ▄▀█ ▄▄ ▄▄█▀▀▄ \n▄▀▀▄▀ ▀█ ▀▄█▄ \n▀▄█▀▀▄█ ▄█▀████▄\n █▄█▄▄█▀█▄█▄█▀▀ "], ["eat_2", " ▄██▄▀▀█ \n ▄▀▀▀ ▄▄█▀ \n █▄▄██▄█ █▄▄ \n █ █▄▄▄▄▀█ █ \n ▄▀█ ▄▄ ▄▄█▀▀▄ \n▄▀▀▄▀ ▀█ ▀▄█▄ \n▀▄█▀▀▄█ ▄█▀████▄\n █▄█▄▄█▀█▄█▄█▀▀ "], ["happy", " ▄██▄▀▀█ \n ▄▀▀▀ ▄▄█▀ \n █▄▄██▄█ █▄▄ \n █ █▄▄▄▄▀█ █ \n ▄▀█ ▄▄ ▄▄█▀▀▄ \n▄▀▀▄▀ ▀█ ▀▄█▄ \n▀▄█▀▀▄█ ▄█▀████▄\n █▄█▄▄█▀█▄█▄█▀▀ "], ["injured_1", " ▄██▄▀▀█ \n ▄▀▀▀ ▄▄█▀ \n █▄▄██▄█ █▄▄ \n █ █▄▄▄▄▀█ █ \n ▄▀█ ▄▄ ▄▄█▀▀▄ \n▄▀▀▄▀ ▀█ ▀▄█▄ \n▀▄█▀▀▄█ ▄█▀████▄\n █▄█▄▄█▀█▄█▄█▀▀ "], ["injured_2", " \n ▄▄ ▄▄▄ \n ▄██▀▀ ▄█ \n █ ▄▄██▀▀▄ \n ██▀▀▀▀█▄▀▀▀▄ \n▄█▄█▀██▀▄▀▄▄▄█▄ \n▀▄▄▀▀█▄▀█▀▀▄███▄\n █▄█▄█▀██▄▄██▀██"], ["refuse", " ▄██▄▀▀█ \n ▄▀▀▀ ▄▄█▀ \n █▄▄██▄█ █▄▄ \n █ █▄▄▄▄▀█ █ \n ▄▀█ ▄▄ ▄▄█▀▀▄ \n▄▀▀▄▀ ▀█ ▀▄█▄ \n▀▄█▀▀▄█ ▄█▀████▄\n █▄█▄▄█▀█▄█▄█▀▀ "], ["sleep_1", " ▄██▄▀▀█ \n ▄▀▀▀ ▄▄█▀ \n █▄▄██▄█ █▄▄ \n █ █▄▄▄▄▀█ █ \n ▄▀█ ▄▄ ▄▄█▀▀▄ \n▄▀▀▄▀ ▀█ ▀▄█▄ \n▀▄█▀▀▄█ ▄█▀████▄\n █▄█▄▄█▀█▄█▄█▀▀ "], ["sleep_2", " ▄██▄▀▀█ \n ▄▀▀▀ ▄▄█▀ \n █▄▄██▄█ █▄▄ \n █ █▄▄▄▄▀█ █ \n ▄▀█ ▄▄ ▄▄█▀▀▄ \n▄▀▀▄▀ ▀█ ▀▄█▄ \n▀▄█▀▀▄█ ▄█▀████▄\n █▄█▄▄█▀█▄█▄█▀▀ "], ["walk_1", " ▄██▄▀▀█ \n ▄▀▀▀ ▄▄█▀ \n █▄▄██▄█ █▄▄ \n █ █▄▄▄▄▀█ █ \n ▄▀█ ▄▄ ▄▄█▀▀▄ \n▄▀▀▄▀ ▀█ ▀▄█▄ \n▀▄█▀▀▄█ ▄█▀████▄\n █▄█▄▄█▀█▄█▄█▀▀ "], ["walk_2", " ▄▄ ▄▄▄ \n ▄██▀▀ ▄█ \n █ ▄▄▀█▀▀▄ \n ▄▀█▀▀▀▀█▄▀▀▀▄ \n ▀▄█▀▀▀▀▄█▄▄▄▀▄ \n █▄▀▄█▀▄▀▀██▄▄ █\n▄█ ▄▀▀█▄ █ ██\n█▄█▄█▀▀▀ ▀█▄█▀▀█"]]], + ["magnamon_x", [["angry", " ▄▄ ▄▄ \n █▄██ █▄▄▄ \n █ ▄▀ ▄▄▀▄▄▄\n █▀ ▄▀ █▀▀▄▄▀\n ▄██▄▄▀█▄ ▄▄▀ \n █ █ ▄█ █▀█ \n ▄█▀█▀▀███▀▀▄ \n █▄▄▄█▄▀▀█▄█▄▄█ "], ["attack", " ▄▀█▄▀█ \n ▄▀▀█▀ ▀▀▀█ \n █▄▀ ▄▄ ██▀▀█\n ▀▄▄▀▀▄▄▀ ▀█ \n ▄▀▀▀█▀▀▀▄▀▀█▀█ \n ▀▄▄▀▀▄▄██▄▄▄▀ \n ▄▀█ ▄█▀ ▀█▄ \n █▄▄█▀ █▄█▄▄█ "], ["eat_1", " ▄▀█▄▀█ \n ▄▀▀█▀ ▀▀▀█ \n █▄▀ ▄▀▄██▄▀▀█\n ▀▄▄▄▄ ▄▀ ▀█ \n ▄█▀▀▄▄██▄▀█ \n █ █▀▀▄█ █▄▀ \n █▀█▀▄█▀▀▀█ \n █▄▄█▀ █▄█▄▄█ "], ["eat_2", " ▄▄ ▄▄ \n █▄██ █▄▄▄ \n █ ▄▀ ▄▄▀▄▄▄\n █▀ ▄▀▄ █▀▀▄▄▀\n ██▄▄▀█▄ ▄▄▀ \n ▄▀█ ▄█▀▀█ █ \n █▄▀█▀▀█▄▄▀▀▄ \n █▄▄▄█▄▀▀█▄█▄▄█ "], ["happy", " ▄▀█▄▀█ \n ▄▀▀█▀ ▀▀▀█ \n █▄▀ ▄▀▄██▄▀▀█\n ▀▄▄▄▄ ▄▀ ▀█ \n ▄▀█▀▀▀▄█▀▀▄▀▄ \n ▀▄█▀▀█▄▀▄▄▀▄▀ \n ▄▀█▀▄▄▀▀▀█ \n █▄▄█▀ █▄█▄▄█ "], ["injured_1", " ▄▄ ▄▄ \n █▄██ █▄▄▄ \n █ ▄▀ ▄▄▀▄▄▄\n █▀ █▄ █▀▀▄▄▀\n ██▄▄▀█▄ ▄▄▀ \n ▄▀▀█ ▄▀▀█▀ █ \n ▀▄█▀█▀▀▄▄█▄█▄ \n █▄▄█▄▀▀█▄█▄▄█ "], ["injured_2", " \n ▄▀█▄▀█ \n ▄▀▀█▀ ▀▀▀█ \n █▄▀▄ ██▄▀▀█\n ▀▄▄▀▀▄▄▀ ▀█ \n ▄█▀▀▀▄██▄▀█ \n █▄█▄▄█ █▄▄█ \n █▄▄▄█▀▀██▄█▄▄█ "], ["sleep_1", " \n ▄▄ ▄▄ \n █▄██ █▄▄▄ \n █ ▄▀ ▄▄▀▄▄▄\n █▀ ▀▀ █▀▀▄▄▀\n ▄▄██▄▄██▄▄▄▄▀ \n █ ▀ █▄███ ▀ █ \n █▄▄▄█▄▄▄█▄▄▄█ "], ["sleep_2", " \n ▄▀█▄▀█ \n ▄▀▀█▀ ▀▀▀█ \n █▄▀ ▄▄ ██▄▀▀█\n ▀▄▄ ▄▄▀ ▀█ \n ▄▄█▀▀▀▄██▄██ \n █ ▀ █▄███ ▀ █ \n █▄▄▄█▄▄▄█▄▄▄█ "], ["walk_1", " ▄▀█▄▀█ \n ▄▀▀█▀ ▀▀▀█ \n █▄▀ ▄▄ ██▄▀▀█\n ▀▄▄▀▀▄▄▀ ▀█ \n ▄█▀▀▀▄██▄▀█ \n █ █▄▄██ █▄▀ \n █▀█ ▄█▀▀▀█ \n █▄▄█▀ █▄█▄▄█ "], ["walk_2", " ▄▄ ▄▄ \n █▄██ █▄▄▄ \n █ ▄▀ ▄▄▀▄▄▄\n █▀ ▄█▀ █▀▀▄▄▀\n ██▄▄▀█▄ ▄▄▀ \n ▄▀█ ▄█▀▀█ █ \n █▄▀█▀▀█▄▄▀▀▄ \n █▄▄▄█▄▀▀█▄█▄▄█ "]]], + ["malomyotismon", [["angry", " ▄▄▄ \n██▄▄▀▀▄███▀▀▄███\n ██ ▀▀▀▀ ███▀ \n█ █ █▄ ▄█ ▄▀ █ \n▀▄▄█▄ ▄▄▀█▄▄▄▀ \n▄▀ ▄█▀▀ █▀▄ ▀▄\n█ █▄▀███▀▀▄█ █\n ██▄▄█ █▄▄██▀ "], ["attack", " ▄▀▀█ \n ▄▀▀▀▀▀▄ █▄███▀\n █▄▄▄▄▄▀ ████ \n ▄▄▄█ █▀ █ \n █▀▄▄▄▄▀▀▀▄▄▄▀ \n▄▀▀▀█▄▄▄▄▀▀ █ \n▀▄▄▄▀ █▄█▄▄▄█ \n █▄▄▄█ █▄▄▄█ "], ["eat_1", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ▄███▀\n▄▀█ ▄▄ ▄▄ █▀▀▄ \n█ █▄▄▄▄▄▄▄█▄ █ \n▄▀ ██████ ▀█▄ \n█ █▀▀▀▀▄▄█▄ █ \n ▀██▀▀▀█▄▀ ▀██ \n █▄▄▄█ █▄▄▄█ "], ["eat_2", " ▄▄▄ \n██▄▄▀▀▄███▀▀▄███\n ██ ▀▀▀▀ ███▀ \n█ █▄▀▄ ▄▀▄▄▀ █ \n▀▄▄█▄ ▄▄▀█▄▄▄▀ \n▄▀ ▄█▀▀ █▀▄ ▀▄\n▀▄▄█▄▀███▀▀▄█▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["happy", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ███▀\n▄▀▀▄▄ ▄▄ ▄█▀▀▄\n█ █ ▀ ▀ ▄█▄▀ █\n ▀▄▄█▄▄██▀█▄▄▄▀ \n ▀█▀▀▄██ \n ▄█▀▀▀█▄▀ ▀▄ \n █▄▄▄█ █▄▄▄█ "], ["injured_1", " \n ▄▄ ▄███▄ \n███▀ ▄███▀ ▄████\n▄▀█ ▄ ▄ ███▀ \n█ ▀▄▀▀ ▀▀▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄██▄█▄▄█▄██▄▄▀"], ["injured_2", " \n ▄▄▄ \n▄▄▄▀▀▄███▀▀▄▄▄▄ \n▀█ ▀▀▀▀ ████▀ \n██ ▄█ █▄ ▄█▀▀ █ \n▀█▀▄ ▄▄▀▀██▀▀▄ \n█ █▀█▄▄▄▄█ █ █\n▀▄▄██▄█▄▄█▄██▄▄▀"], ["sleep_1", " \n \n█▄ ▄▄ ▄███▄ ▄▄▄ \n▀█▀ ▄███▀ ▄███▀ \n██ █▀▀█ \n ▀▄▀▀ ▀▀▄█▄▄▄█ \n█▀▀█▄▄▀▀ ▄▀▄ ▀▄\n▀▄▄█▄████████▄▄▀"], ["sleep_2", " \n ▄▄▄ \n██▄▄▀▀▄███▀▀▄███\n ██ ▀▀▀▀ ███▀ \n█ █ ▄▄ ▄▄ ▄▀ █ \n █▄█▄ ▄▄▀██▀▀▄ \n█ ▄█▀▀ █ █ █\n▀▄▄█▄████████▄▄▀"], ["walk_1", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ▄███▀\n▄▀█ ▄ ▄ █▀▀▄ \n█ ▀▄ ▀ ▀ ▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄█▀ ▀▄▄▀ ▀█▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄ \n██▄▄▀▀▄███▀▀▄███\n ██ ▀▀▀▀ ███▀ \n█ █ ▀▄ ▄▀ ▄▀ █ \n▀▄▄█▄ ▄▄▀█▄▄▄▀ \n▄▀ ▄█▀▀ █▀▄ ▀▄\n█ █▄▀███▀▀▄█ █\n ██▄▄█ █▄▄██▀ "]]], + ["mamemon", [["angry", " \n \n \n \n ▄▄ \n ▀▄▀▀██▄▀ \n ▀▀▀███ \n ▄▄▄▀▀▀▀▄▄▄ "], ["attack", " \n \n ▄ ▄▄▄▄▄ ▄ \n ███▀ ██ \n ▀▀▀▀███ \n ███ \n ███ \n ▄▄▄▄▀▀▀▀▀▄▄▄▄ "], ["eat_1", " \n \n \n \n ▀▄▄▄▄ \n ▀▀██▀▄▀ \n ▀██ \n ▄▄▄▀▀▀▀▄▄▄ "], ["eat_2", " \n \n \n \n \n ▄██▄▀ \n ██▄███ \n ▄▄██████▄▄ "], ["happy", " \n \n \n \n █ ▄██▄ █ \n █▄▀▀▄█ \n ██ ██ \n ▄▄▄▀▀▀▀▄▄▄ "], ["injured_1", " \n \n \n \n \n ▄██▄ \n █▀██▀█ \n ▄▄██████▄▄ "], ["injured_2", " \n \n \n \n \n ▄▄ \n ▄▀▀██▀▀▄ \n ▄▄████████▄▄ "], ["sleep_1", " \n \n \n \n \n ▄▄ \n ▄██████▄ \n █▄▄██▄▄█ "], ["sleep_2", " \n \n \n \n \n ▄████▄ \n █▀▀██▀▀█ \n ▀██████▀ "], ["walk_1", " \n \n \n \n ▄▄ \n ▀▄▀██▀▄▀ \n ██▀▀██ \n ▄▄▄▀▀▀▀▄▄▄ "], ["walk_2", " \n \n \n \n \n ▄██▄ \n ▄▄█▄██▀█▄▄ \n ▄▄██████▄▄ "]]], + ["mamemon_x", [["angry", " \n \n \n ▄▄ ▄▄▄▄ ▄▄ \n██ ▀▄▀ ▀▄▀ ██\n ▄▄▀██▄ ▄█ █▀▄▄ \n█ █▀▄ ▄▀█ █\n ▀▀▄██▀▀▀▀██▄▀▀ "], ["attack", " \n \n ██▄ ▄██\n ▀▄▀▀▀▀▄▀ \n ▄▄▄▄██▄ ▄█ █ \n█ ▄ █ ▄▄ ▄▀▀▄ \n▀▄▄▀▀█▄██▄▄█▄▄▀ \n █▄▄▀ ▀▄▄█ "], ["eat_1", " \n \n \n▄█▀▄ ▄▀▀▀▀▄ ▄▀█▄\n▀▀ ▄█ ▀ ▀ █▄ ▀▀\n▄▀▀▄█ ██ █▄▀▀▄\n▀▄▄▀▄█▄▄▄▄█▄▀▄▄▀\n █▄▄▀ ▀▄▄█ "], ["eat_2", " \n \n \n ▄▄ ▄▄▄▄ ▄▄ \n██ ▀▄▀ ▀▄▀ ██\n ▄▄▀█ ▄ ▄ █▀▄▄ \n█ █▀▄▀ ▀▄▀█ █\n ▀▀▄██▀▀▀▀██▄▀▀ "], ["happy", " \n \n ▄▄ ▄▀▀▄ \n██ ▀▄▄▀▀▀▀▄█▀ █ \n ▄▄▄█▀▀ ▀▀█▄▀ \n█ ▄█ █▄▄█ █ \n ▀▀▀▄█▄██▄█▄ \n █▄▄▀ ▀▄▄█ "], ["injured_1", " \n \n \n ▄▄ ▄▄▄▄ ▄▄ \n██ ▀▄▀ ▀▄▀ ██\n ▄█▄█ █▄█▄ \n █ ▀▄ ▄▀ █ \n ▀▄▄██▀▀▀█▄▄▀ "], ["injured_2", " \n \n \n \n ▄▄▄ ▄▀▀▀▀▄ ▄▄ \n██ ▄█ ▄ ▄ █▄ ██\n ▄▀▀█▀ ▀█▀▀▄ \n ▀▄▄▄█▄▄█▄▄▄▀ "], ["sleep_1", " \n \n \n \n▄█▀▄ ▄▀▀▀▀▄ ▄▀█▄\n▀▀ ▄█ █▄ ▀▀\n▄▀▀▄█▀▀ ▀▀█▄▀▀▄\n▀▄▄▀▄█▄▄▄▄█▄▀▄▄▀"], ["sleep_2", " \n \n \n ▄▄ ▄▄▄▄ ▄▄ \n██ ▀▄▀ ▀▄▀ ██\n ▄▄▀█▄▄ ▄▄█▀▄▄ \n█ █▀▄ ▄▀█ █\n ▀▀▄██▀▀▀▀██▄▀▀ "], ["walk_1", " \n \n \n▄█▀▄ ▄▀▀▀▀▄ ▄▀█▄\n▀▀ ▄█ ▄ ▄ █▄ ▀▀\n▄▀▀▄█ ▄▄ █▄▀▀▄\n▀▄▄▀▄█▄▄▄▄█▄▀▄▄▀\n █▄▄▀ ▀▄▄█ "], ["walk_2", " \n \n \n ▄▄ ▄▄▄▄ ▄▄ \n██ ▀▄▀ ▀▄▀ ██\n ▄▄▀█ ▀ ▀ █▀▄▄ \n█ █▀▄ ▀▀ ▄▀█ █\n ▀▀▄██▀▀▀▀██▄▀▀ "]]], + ["mametyramon", [["angry", " \n \n ▄▄▄ \n ▄▄█▄▀▄▄ \n ▄▀ ▀▄▀▄ \n ▄▀ ▄█ █ \n ▀▄▄▄▄▄▄ ▄▀█ ▄ \n █▄█▄▄▄▄████▀ "], ["attack", " \n ▄▄▄▄ \n ▄▀▀▀▀▄▀ \n ▄▀ ▄█ ▀█▀▄ \n ▀████▄ █▀ \n █▀▀▀█ █▄ \n █▀▀▀▀▄█▄█▄▀ \n ▄█▄█▀▀▀▄▄█▄ "], ["eat_1", " \n █▀█ \n ▄▀▀▀▀▄▀█ \n █ ▄ ▀▄▀ \n █ ▀ ▀ █▄ \n ▀█████▄▄▀█▄▀ \n █▀▀▀██▄▀ \n ▄█▄██▀█▄▄█▄ "], ["eat_2", " \n \n ▄▄▄ \n ▄▄█▄▀▄▄ \n ▄▀ ▀▄▀▄ \n ▄▀ ▄▀▄ █ \n ▀▄▄▄▄▄▄ ▄▀█ ▄ \n █▄█▄▄▄▄████▀ "], ["happy", " \n █▀█ \n ▄▀▀▀▀▄▀█ \n █ ▄ ▀▄▀ \n █ ▀ ▀ █ \n ▀██████ ▀▄▄ \n ▄█▀▀▀▀ ▄█▄█▄▀\n ▄█▄█▀▀▀▀▀▄▄█▄ "], ["injured_1", " \n \n \n █▀█ \n ▄▀▀▀▀▄▀█ \n █ ▀▄▀ \n █ █▄ █▄ \n ▀██▄▄▄▄▄█▄██▀ "], ["injured_2", " \n \n \n ▄▄▄ \n ▄▄█▄▀▄▄ \n ▄▀ ▀▄▀▄ \n ▄▀ ▄ █ \n ▀▄▄▄██▄▄█▄██▀ "], ["sleep_1", " \n \n ▄▄▄ \n ▄▄█▄▀▄▄ \n ▄▀ ▀▄▀▄ \n ▄▀ █ \n █ ▀▀ ▄▄▀█ ▄ \n ██████▄▄██▀ "], ["sleep_2", " \n \n ▄▄▄ \n ▄▄█▄▀▄▄ \n ▄▀ ▀▄▀▄ \n ▄▀ ▄▄ █ \n ▀▄▄▄▄▄▄ ▄▀█ ▄ \n █▄█▄▄▄▄█▄██▀ "], ["walk_1", " \n \n █▀█ \n ▄▀▀▀▀▄▀█ \n █ ▄▄ ▀▄▀ \n █ ▀▀ █▄ \n ▀█▀▀▀▀▄█▄█▄▀ \n ▄█▄█▀▀▀▄▄█▄ "], ["walk_2", " \n \n ▄▄▄ \n ▄▄█▄▀▄▄ \n ▄▀ ▀▄▀▄ \n ▄▀ ▄█▀ █ \n ▀▄▄▄▄▄▄ ▄▀█ ▄ \n █▄█▄▄▄▄████▀ "]]], + ["mammothmon", [["angry", " ▄▄▀▀▀█▀▀▀▄▄ \n█ █ █ ██▄ \n█ ▄▄ ▀▀▀ ▄▄ █ ██\n █ ▄█ ▀▄ ███▀█\n █ ▀▀█ ▄ ██ █▄█\n ███▀█▄▄▄█▀██ █\n ▄▀▀█▄█▀▀▀█▄▀▀▀▄\n█▄█▄██▄█▄▄▀▄█▄▄█"], ["attack", " ▄▀▀▀▄▀▀▀▀▄▄ \n█ ▀ █▄▄▀ █▄▄ \n█ ▀▀ ▄▄ █▀██\n █▀███▄█▄ █▀█▄██\n █ ███ ▀ █▄██ █\n ▄▀▀▀▀▄███▀█ ███\n ▄▀██▀▀▀██▄█▀▀▀▄\n█▄██▄█▄▄▀▀█▄█▄▄█"], ["eat_1", "▄▀▀▀▀▄▀▀▀▀▄▄ \n█ █▄▄▀▀█▄ █ \n█ ▀ ▄▄ ██▄ \n █▀███▄█▄ █▀█ ██\n █ ███ ▀ █▄██▀█\n ▄▀▀▀▀▄███▀█ █▄█\n ▄▀▀██▀▀▀█▄█▀▀▀▄\n█▄█▄▀▄█▄▄▀█▄█▄▄█"], ["eat_2", " ▄▀▀▀▀▄▄▄ \n ▄▀▄▄ █▄▄ \n █▀ ▀ ▄ █ ██\n █ ▄▀▀█ ██▀█\n▄▀▀▀ ██ ███ █▄█\n█ ▀ ▄█▄▄▄█ ███ █\n ▀█▀██▀▀▀███▀▀▀▄\n █▄██▄█▄▄▀█▄█▄▄█"], ["happy", "▄▀▀▀▀▄▀▀▀▀▄▄ \n█ █▄▄▀▀█▄ █ \n█ ▀ ▄▄▄ ██▄ \n █▀█████▄ █▀█ █▄\n █ ███ ▀ █▄██▀█\n ▄▀▀▀▀▄███▀█ █▄█\n█▄███▀█▀▀▀▄█▀▀▀▄\n █▄█▄▄█▄█▄▄█"], ["injured_1", " ▄▄ ▄▄▄ \n ▄▄▀ ▄▀ ▀▄▄ \n█ █▄ ▄ ██ \n▀▄█ ▀▀▀ ▄▄ ▄█▀█▄\n█ ▄█ █▄ █ █▄██\n▀▄█ ▄ ▄▀▀ ██ █ █\n ▀▄▄▄█▀▀▀██▀▀▀▄\n █▄██▄█▄▄█▄█▄▄█"], ["injured_2", " \n ▄▄ ▄▄▄ \n ▄▀ ▄▀ ▀▄ \n▄▀█▄ ▄ ██▄ \n▀▄█▄▀▀▀ ▄▄▄ █ ██\n█ ▄ ▄█▄ ██▀█▀█\n▀▄▄▄███▄▄▄██▄█▄█\n█▄▄█▄▄▄████▄█▄▄█"], ["sleep_1", " \n \n ▄▀▀▄▀▀▀▄▄ \n▄▀█ ▀ ██▄ \n█ █▀▀▀▀ █ ██\n▄▀▀▀ ▄▀▀▄███▀█\n█ ▀ ▄▄█▀▀ ██ █▄█\n██████▄████▄█▄▄█"], ["sleep_2", " \n ▄▄ ▄▄▄ \n ▄▄▀ ▄▀ ▀▀▄▄ \n█ █▄▄▄▄ █▀█▄\n▀▄█▄ ▄▄ ▄█▄██\n█ ▄ ▄█▄ ██▀█ █\n▀▄▄▄███▄▄▄██▄███\n█▄█▄██▄█▄▄█▄█▄▄█"], ["walk_1", " ▄▀▀▄▀▀▀▄▄ \n▄▀█ ▄█ ███▄\n█ █▀▄▄▀ █ ██\n▄▀▀▄ ▄▀▀▄▄██ █\n█▄▀▀ ██ █ █ ██\n █ ▀ ▄█▄▄▄▀█ █ █\n ▄▀▀██▀▀▀█▄█▀▀▀▄\n█▄█▄▀▄█▄▄▀█▄█▄▄█"], ["walk_2", " ▄▄▄ ▄▄▄ \n ▄█ ▄▀ ▀▀▄ \n█ █▄▀▀▄ █▄ \n▀▄█ ▀▀ ▄▄ █▀█▄\n█▄▀▀ █▄ █▀█▄██\n █ ▀ ▄▄▀▀ █▄██ █\n ▄▀██▀▀▀████▀▀▀█\n█▄██▄█▄▄█▀█▄█▄▄█"]]], + ["mammothmon_x", [["angry", "▄▀▀▄█▀▀█▀▀▄▀▀▀▄ \n▄▀ █ ▄ ▄ █ █▄ \n █ █▄ ▀▀ ▄██▀ █\n █ ▄█ ▀▄ █▄▄█\n █ ▀▀█ ▄ ██ ██\n ███▀█▄▄▄███ █\n ▄▀▀█▄█▀▀▀█▄▀▀▀▄\n█▄█▄██▄█▄▄▀▄█▄▄█"], ["attack", " ▄▀▀▀▄▀▀▀▀▄▀▀▀█ \n█ ▀ █▄▄▀ █ ▀▄ \n█ ▀▀ ▄▄ █ █▀▄\n █▀███▄█▄ ██▀ ▄█\n █ ███ ▀ █▄██▀█\n ▄▀▀▀▀▄█▀▀██ █▄█\n ▄▀██▀▀▀█▄▄█▀▀▀▄\n█▄██▄█▄▄▀▀█▄█▄▄█"], ["eat_1", "▄▀▀▀▄▄▀▀▀▀▄▀▀▀█ \n█ ▀ ▀▄▄ █ ▀▄ \n █▄▀▀ ▄▄ █ █▀▄\n ▀█████▄ ██▀ ▄█\n █▀▀▀█▀▀ █▄██▀█\n ▄▀▀▀▄█▀▀██ █▄█\n ▄▀██▀▀▀█▄▄█▀▀▀▄\n█▄██▄█▄▄▀▀█▄█▄▄█"], ["eat_2", "▄▄▄ ▄▄▄▄▄ ▄▄▄ \n▀▄ █▄▀▀ ▀█▀ ▄▀ \n▀▄█▀▄▄ █ ▄▀ \n ▄█▀ ▀ ▄▄█▄▀▀▄ \n█▄▀▀ █▄ █ ▄▀██\n▀█ ▀ ▄▄▀▀ █▄█▄▀█\n ▄▀██▀▀▀████▀▀▀█\n█▄██▄█▄▄█▀█▄█▄▄█"], ["happy", " ▄▀▀▀▄▀▀▀▀▄▀▀▀█ \n█ ▀ █▀▀▄ █ ▀▄ \n█ ▀▀▄▄ ▄▄ █ █▀▄\n ███████▄ ██▀ ▄█\n ██▀▀█ ▀ █▄██▀█\n ▄▀▀▀▀▄█▀▀██ █▄█\n ▄▀██▀▀▀█▄▄█▀▀▀▄\n█▄██▄█▄▄▀▀█▄█▄▄█"], ["injured_1", " ▄▄▄▄▄ \n ▄▀ ▄▀ ▀█▀▄ \n▄▀█ ▄▄▄ ▄▀ ▀▄ \n█▄█▀▀▀▀▀▄█ ▄█▀▀▄\n█ ▄█ █▄ █▀ ▄██\n▀▄█ ▄ ▄▀▀ █▄▀█ █\n ▀▄▄▄█▀▀▀██▀▀▀▄\n █▄██▄█▄▄█▄█▄▄█"], ["injured_2", " \n ▄▀▀█▀▀▄▄▄ \n ▄█ ▀ █ █ \n█ █▄███▄ █ ██▄ \n█▀▀▄ ▄▀▀▄█▀ ▄█\n█ ██ ██ █ ▀█ █\n ▀█ ▄ ▄▀▄▄██▀▀▀▄\n █▄▄▄██▄▄█▄█▄▄█"], ["sleep_1", " \n ▄▀▀█▀▀▄▄▄ \n ▄█ ▀ █ █ \n█ █ ▀▀▀ █ ▄█▄▄\n█▀▀▄ ▄▀▀▄█▀ ▄█\n█ ██ ██▄█ ▄█▀█\n▄▀█ ▄ ▄█▀ ▀█▀ ▀█\n█▄█▄▄▄██▄▄▄█▄▄▄█"], ["sleep_2", " ▄▄▄▄▄ \n ▄▀ ▄▀ ▀█▀▄ \n▄▀█ ▄▄▄ ▄▀ ▀▄ \n█▄█ ▄█ ▄█▀▀▄\n█ ▄█ █▄ █▀ ▄██\n▀▄█ ▄ ▄▀▀▄████▄█\n█ ▀▄▄▄██▀ ▀█▀ ▀█\n█▄▄▄████▄▄▄█▄▄▄█"], ["walk_1", "█▀▀▄▀▀█▀▀▀▄█▀▀▄ \n▄▀▄▀▄█ █ ▀▄ \n ▀█▀▄▄▀ █ ▄█ \n▄▀▀▄ ▄▀▀█▀ ▄█▄\n█▄▀▀ ██ █ █ ██\n █ ▀ ▄█▄▄▄▀█ █ █\n ▄▀▀██▀▀▀█▄█▀▀▀▄\n█▄█▄▀▄█▄▄▀█▄█▄▄█"], ["walk_2", "▄▄▄ ▄▄▄▄▄ ▄▄▄ \n▀▄ █ ▄▀ ▀█▀ ▄▀ \n▀▄█▄▀▀▄ █ ▄▀ \n ▄█ ▀▀ ▄▄█▄▀▀▄ \n█▄▀▀ █▄ █ ▄▀██\n▀█ ▀ ▄▄▀▀ █▄█▄▀█\n ▄▀██▀▀▀████▀▀▀█\n█▄██▄█▄▄█▀█▄█▄▄█"]]], + ["manbomon", [["angry", " ▄▄▄▄ ▄▀█ \n ▄▀ ▄ ▀▄▀ █ \n █ ▀ ▄▄▀▀ ▄▀ \n █ ▀ ▀▀ █ █ \n▄▀▀▄████▄▀▀█ ▀▄ \n▀▄ ▀█▀▀▀█ ▄█ █ \n ▀▀ ▀▀▀ ▀▀ ▀▄█ \n "], ["attack", " ▄▀▀▀▄ ▄▀█\n ▄▀ ▄▀ █▀ █\n █▄▄▄ ▄█ ▀ ▄▀\n ▄▄ █████ ▀ █\n█ ▀█████ ▄▀▀▄▀▄\n▀▄▄▀██▄▄█ █ █ █\n ▀▄▄▄▄▄▄▀▀ ██\n "], ["eat_1", " ▄▄▄▄▄ \n ▄▀ ▄ ▀▄▄▀▀▀█\n █ ▀ ▄▄ ▀▄ █ \n █ ▀ ▀ ▀ ▄▀▄ \n▄▀▀████▄ ▄▀▀█▄▀ \n▀▄▄█████ ▀▄▄▀ █ \n █▀▀▀ █▀█▄▄█\n ▀▀▀▀▀▀ "], ["eat_2", " ▄▄▄▄ ▄▀█ \n ▄▀ ▄ ▀▄▀ █ \n █ ▀ ▄▄ ▀ ▄▀ \n █ ▀ ▀ ▀ █ █ \n ▀▄▄▄ ▄ ▀▄ \n ▄▀▀▄ ▀ ▄▀▀██ █ \n █ ▄▀▀▀█ ▄▀▄█ \n ▀▀ ▀▀ "], ["happy", " ▄▀▀▀▀▄ ▄▄▄▄\n ▄▀ ▄▀ █▀ ▄▀\n █ ▄ ▄▀▀▄ ▀ ▄▀ \n▄▀█▄▄▄▄▄▄ █ █ \n█ ██████ ▄▀▄ \n ▀▀█▄▄▄▀ ▀▄▄█▀▄\n ▀▄▄▄▄▄▄█ █▀▀\n ▀▄▄▀ "], ["injured_1", " \n ▄▄▄▄ ▄▀█\n ▄▀ ▄ ▀▄▀▀ ▄▀\n █ ▀ ▀ ▄▀ \n █ ▀ █▄ █ █ \n ▀▄▄▄ ▄ ▀▄ \n▄▀▀▄ ▀ ▄▀▀█▄▀▄\n█▄▄▄▀▀▀▀▀█▄▄▄▀▄█"], ["injured_2", " \n \n ▄▀▀▀▀▄ ▄▄▀▀█\n ▄▀ ▄▀ ▀▄ █ \n █ ▄ ▄▀▄ \n ▄█ █▄ ▄▄█▄▀ \n█ ▀▄▄▄ █ ▀▄▀▄\n▀▄▄█▄▄█▄▄█▄▄██▄█"], ["sleep_1", " \n ▄▄▄▄ ▄▄▄\n ▄▀ ▄ ▀▄▀▀ █\n █ ▀ ▀ ▄▀ \n █ ▀ ▄▄▄ █ █ \n █▄ ▄ ▄▄▄ ▀▄ \n █ █ ▀ █ ▀█ ▀▄\n ▀▄▄▀▀▀▀▀▄▄▀ ▀▀▀"], ["sleep_2", " ▄▀█ \n ▄▀▀▀▀▀▄▀ █ \n ▄▀ ▄▀ ▀ ▄▀ \n █ ▄ █ █ \n █ ▀▀ ▄ ▀▄ \n ▄▀▀▄▀▄ ▄▀▀██ █ \n █ █▄▄▄█ ▄▀▄█ \n ▀▀ ▀▀ "], ["walk_1", " ▄▄▄▄ ▄▀█ \n ▄▀ ▄ ▀▄▀ █ \n █ ▀ ▄▄ ▀ ▄▀ \n █ ▀ ▄██ █ █ \n ▀▄▄▄ ▄ ▀▄ \n ▄▀▀▄ ▀ ▄▀▀██ █ \n █ ▄▀▀▀█ ▄▀▄█ \n ▀▀ ▀▀ "], ["walk_2", " ▄▄\n ▄▀▀▀▀▄ ▄▄▀ █\n ▄▀ ▄▀ ▀▄ █ \n █ ▄ ▀█▄ ▄▀▄ \n █ ▀▀▀ ▀▄▀ \n ▄▄▀▀▀▄ ▄█▄ █ \n█ ▀▄▄▄▄▄█ ▀█ █\n▀▄▄▀ ▀▄▄▀ ▀▀"]]], + ["mantaraymon_x", [["angry", " \n ▄▀█ ▄▀█ \n █▀▀▄▄█▄▀▀▀█▄▄█▄\n █ ▄▀ ▄▀▄ ▄▀ ▄▀\n ▄▀ ▀▀ ▀ ▄▀ █\n █ █▄ ▄█ █ ▀█▄ █\n█ ▀▄ ▄▀▀█ █▀ █\n ▀▄█▀▀▀ █▄▀█▄▀ "], ["attack", " ▄▀█ ▄▀█ \n █▀▀▄▄█▄▀▀▀█▄▄█▄\n █▄▀▀ ▀▀▄▄▀ ▄▀\n ▄█ █▄ ▄█ ▀▄▄▀█ \n▄▀ █▄▄▄▄▄██ █ █\n█ ███▀▀▀██ █ █ █\n█ ▀█▀▀▀▀▀▀▄▀ █ █\n ▀▀ ██████▀██▄▀ "], ["eat_1", " ▄▀█ ▄▀█ \n █▀▀▄▄█▄▀▀▀█▄▄█▄\n █▄▄█▄▄█▄ ▄▀ ▄▀\n ▄▀ ▄ ▄ ▀ ▄▀█ \n▄█ ▀ ▀ ▀ ▀▄▀ █ █\n█ ████████ █ █ █\n█ ▀█▀▀▀▀▀▀▄▀ █ █\n ▀▀ ██████▀██▄▀ "], ["eat_2", " ▄▄ ▄▄ \n ▄▄▄ █ █▄▄▄▀ █ \n ▀▄ ▀█▀▀▄ ▀█▀▀█\n ▀▄▀▄▄▀ ▀▄▀ ▄█ \n ▄▀▄ ▄ ▄ ▄█ ▀█\n▄▀█ ▀ ▀ ▀█▄ ██ █\n█ █▄▄▄▄▄▀▄▀▄█▀ █\n ▀▄█ █▄▀██▄▀ "], ["happy", " ▄▀█ ▄▀█ \n █▀▀▄▄█▄▀▀▀█▄▄█▄\n █▄▄█▄▄█▄ ▄▀ ▄▀\n ▄▀ ▄ ▄ ▀ ▄▀█ \n▄█▄▀ ▀ ▀ ▀▄▀ █ █\n█ ██▄▄▄▄▄█ █ █ █\n█ ▀█▀▀▀▀▀▀▄▀ █ █\n ▀▀ ██████▀██▄▀ "], ["injured_1", " \n \n ▄▄ ▄▄ \n ▄▄▄ █ █▄▄▄▀ █ \n ▀▄ ██▀▀▄ ▀█▀▀█\n ▄▀▀ ▀▀ █▀█▄ ▀▄\n▄▀▄▄█ █▄ ██ ██ █\n█▄▀▄▄▄▄▄▀▄▄▄█▄▄▀"], ["injured_2", " \n \n \n ▄▀█ ▄▀█ \n █▀▀▄▄█▄▀▀▀█▄▄█▄\n █▄▀▀▄▄▀▄▄▄▀ ▄▀\n █▀ ▄ ▄ ██ ██ █\n█▄▄██▄██▄▄█▄█▄▄█"], ["sleep_1", " \n \n ▄▀█ ▄▀█ \n █▀▀▄▄█▄▀▀▀█▄▄█▄\n █ ▄▀ ▄▀▄ ▄▀ ▄▀\n █ ▀ ▀▀ ▄▀▄▄▀▀▄\n▄▀▄▄▄ ▄▄ ██ ██ █\n█▄▀▄▄▄▄▄▀▄▄▄█▄▄▀"], ["sleep_2", " \n ▄▄ ▄▄ \n ▄▄▄ █ █▄▄▄▀ █ \n ▀▄ ▀█▀▀▄ ▀█▀▀█\n ▀▄▀▄▄▀ ▀▄▀ ▄█ \n ▄▀ ▄ ▄█▄ █\n█ █▀▀ ▀▀▀██ ██ █\n█▄▀▄▄▄▄▄▀▄▄▄█▄▄▀"], ["walk_1", " ▄▀█ ▄▀█ \n █▀▀▄▄█▄▀▀▀█▄▄█▄\n █ ▄▀ ▄▀▄ ▄▀ ▄▀\n ▄▀ ▀▀ ▀ ▄▀█ \n █ █▄ ▄█ █ ▀█▄ █\n█ █▄ ▄▀▀█ ██ █\n▀▄▀▄▀▀▀ ▄▀▄██▀ █\n ▀▀ ▀▀ █▄▄▀ "], ["walk_2", " ▄▄ ▄▄ \n ▄▄▄ █ █▄▄▄▀ █ \n ▀▄ ▀█▀▀▄ ▀█▀▀█\n ▀▄▀▄▄▀ ▀▄▀ ▄█ \n ▄▀▄ ▄ ▄ ▄█ ▀█\n▄▀▄▀▀ ▀▀▄█▄ ██ █\n█ █▀▄▄▄▀ ▄▀▄█▀ █\n ▀▄█ █▄█▄▄▀▀ "]]], + ["manticoremon", [["angry", " \n ▄▄▀▀█▀ \n ▄▄██▀ ▀▄ ▀█▄\n▄███▄▄▄▄██▄ ▀█\n███▀▀▀ █ ▀█▀█▀▄█\n ▀▄▄▄▄█▄ ▄▄▄▀ \n ▄█▄ ▀▄ ▄█▄▄ █ \n █▄█▄█▄███▀▄█▄▀ "], ["attack", " ▄▄▄▀▀█▀ \n ▄▄██▀▀ ▀▄ █▄\n █████▀▄ ██ ▀█\n ▀█▀ ▄█ █▀▄ █\n▄▀█▀█▀██▀ ▄ █▀▄\n▄▀█ █ ▄███ ▄▄▀\n ▀▀▀██▀▀▀█ ▀█▄ █\n █▄█▄▄█ █▄█▄▀"], ["eat_1", " ▄▄▄▀▀█▀ \n ▄▄██▀▀ ▀▄ ▀█▄\n███▀▀▀▄ ██ ▀█\n▀▀▄█████ █▀▄▄ ▄█\n ████▀ ▀ █▀ \n ▄█▄▄▄▀ █▄ ▄█ \n ▀▄█ █ █▀▀█▄ █ \n ▀▄█▄█▄▀ █▄█▄▀ "], ["eat_2", " \n ▄▄▀▀█▀ ▄▄ \n ▄▄██▀ ▀▄ ██\n▄███▄▄▄▄██ █\n█████▀ █ █▀█▀▄█▀\n ▀▄▄▄▄█ ▄ ▄█ \n ▀▄█ █ ▄█▀█▄ █ \n ▀▄█▄█▄▄▀ █▄█▄▀ "], ["happy", " ▄▄▄▀▀█▀ \n ▄▄██▀▀ ▀▄ ▀█▄\n███▀▀▀▄ ██ ▀█\n▀▀▄███▀█ █▀▄▄ ▄█\n ▄█▄▄█▀ ▀ █▀ \n ▀▄█ █ █▄ ▄█ \n ▀▄█▄█▄▄█▀▀█▄ █ \n ▄███▀ █▄█▄▀ "], ["injured_1", " \n \n ▄▄▄▄▀█▀ \n ▄█▀██▀ ▄▄▀ ▀█▄\n████▄█▀█▀█▄ ▀█\n▀█▄▄▄▄▄▀ █▀▄█▀\n █▄▄ ▀▄▄ ▄▄▀▄ \n █▄█▄█▄▄█▀█▄█▄▀ "], ["injured_2", " \n \n ▄▄▄ \n ▄▄███▀ ▀▄ \n▄██▄▀█▄▄██ ▄▀█▄\n██████▀█ ▀▀▄▄ █\n ▀█▄▄▄▀▀▄▄ █▄▀█▀\n █▄█▄█▄▄█▀█▄█▄▀ "], ["sleep_1", " \n ▄▄▄▄ \n ▄▄█▀ ▄▀ ▄▄ \n ▄██▀▀ ▄▄▀ ██\n██████▀█▀█▄ █\n▀█▀ ▄▀ █▀▄█▀\n ███▀▀█ ▄ ▄▄▀▄ \n █▄█▄█▄██▀█▄█▄▀ "], ["sleep_2", " \n ▄▄▀▀█▀ \n ▄▄██▀ ▀▄ ▀█▄\n▄███▄▄▄▄██ ▀█\n███▀▀▀ █ ▀▀▄▄ ▄█\n ▀▄▄▄▄█▄ ▀ █▀ \n ▄█▄ ▀▄ ▄ ▄▄ █ \n █▄█▄█▄██▀█▄█▄▀ "], ["walk_1", " ▄▄▀▀█▀ \n ▄▄██▀ ▀▄ ▀█▄\n▄███▄▄▄▄██ ▀█\n███▀▀▀ █ █▀▄▄ ▄█\n ▀▄▄▄▄▀ ▀ █▀ \n ▄▄▄█▄ █▄ ▄█ \n ▀▄█ █ █▀▀█▄ █ \n ▀▄█▄█▄▀ █▄█▄▀ "], ["walk_2", " ▄▄▄▄ \n ▄▄█▀ ▄▀ ▄▄ \n ▄██▀▀ ▄▄▀ ██\n██████▀█▀█▄ █\n▀█▀ ▄▀ ▀ █▀▄█▀\n ████▄ ▄ ▄█ \n ▀▄█ █ ▄█▀█▄ █ \n ▀▄█▄█▄▄▀ █▄█▄▀ "]]], + ["marineangemon", [["angry", " ▄▄ ▄▄ \n █ ▀▀ █ \n █ ▄▀ █ \n ▄▀▀▀ ▀▄ \n █ ▀▄▄ ▄▄ █ \n ▀█▀█████▀█▀ \n ▀▄ ▀█▀ ▀▄ \n ▀▄▄▄▄▄▄▀ "], ["attack", " ▄▀█▄▀▀▄ \n ▄▀ ▄▀ ▀▄ \n ▀▀▀▀▄ █ \n ▄▀ █▄▄ \n ▄▀▀█▀ ▄▀ \n ▀▄██▄██ ▄▀ \n █▀█▀ █ \n ▀▄▄▄▄▀ "], ["eat_1", " ▄▀█▄▀▀▄ \n ▄▀ ▄▄ ▀▄ \n ▀▀▀▀▄ █▄▄ \n ▄▄ ▄▀ ▀ ▄▀ \n █ ▀██▄██ ▄▀ \n ▀▀████▀ ▀█ \n ▀▄▀ █ \n ▀▄▄▄▀ "], ["eat_2", " ▄▀█▄▀▀▄ \n ▄▀ ▄ ▀▄ \n ▀▄▄▄▀ ▀ █ \n ▄▄▀ ▀▄ \n▀▄ ██▄██ ▄ ▀▄ \n ▀▀████▀ █▀▀ \n ▀▄▀ █ \n ▀▄▄▄▀ "], ["happy", " ▄▀█▄▀▀▄ \n █▄ ▄▄▀▄ \n █▄ ▄ █ \n▄▀▀ ██████ ▀▀▀▄\n ▀▄ ▀▀▀▀ ▄▀ \n █ ██▄██ █▀ \n ▀▄ ▀█▀ ▄▀ \n ▀▄▄▄▄▄▀ "], ["injured_1", " ▄▄ ▄▄ \n █ ▀▀ ▀▄ \n █ ▀▄ █ \n ▄▀▀▀ ▀▄ \n ▄▀ ██▄██ ▄ █ \n █ ▄▀███▀ █ ▄▀ \n ▀█ ▀ ▀█ \n ▀▄▄▄▄▄▄▀ "], ["injured_2", " \n ▄▀█▄▀▀▄ \n ▄▀ █ \n █▀▄▄ ▀▀ █ \n ▄▀ ▀▄ \n █ ██▄██ █ █ \n ▀▄▀ ▀█▀ ▀▄▀ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["sleep_1", " \n ▄▀▀▄▀▀▄ \n ▄▀ █ \n █▀▀▄▄▀▀ █ \n ▄▀▄▄▄ ▄▄ ▄ ▀▄ \n ▀▄▄█████▀▄▄▄▀ \n ▄▀ ▀█▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["sleep_2", " ▄▄ ▄▄ \n █ ▀ ▀▄ \n ▄▀▀ ▀▀ █ \n ▄▀ ▀ ▀▄ \n █ ██▄██▄█ █ \n ▀▄▄▀███▀ ▀▄▀ \n █ ▀ █ \n ▀▄▄▄▄▄▀ "], ["walk_1", " ▄▄ ▄▄ \n █ ▀ █ \n █ █ █ █ \n ▄▄▀ ▄ ▀▄▄ \n▀▄ ▄▄ ▄▄ ▄ ▄▀\n ▀██████ █▀▀ \n ▀▄▀█▀ ▀▄ \n ▀▄▄▄▄▄▄▀ "], ["walk_2", " ▄▄ ▄▄ \n █ ▀ █ \n █ █ █ █ \n ▄▄▀ ▄▄ ▀▄▄▄ \n▀▄ ▄▄ ▄▄ ▄▀\n ▀▄█████ ▄▄▀ \n ▄▀ ▀█▀ █ \n ▀▄▄▄▄▄▄▄▀ "]]], + ["marinechimairamon", [["angry", "▄ ▄▄▄ ▄ \n██▄▀▀▀▄▄▀▀█▄ \n▄▀ ▄█ █ ▀ ▄▀▄ \n█▄▄▄▄▄▀ ▄▀▀█▄▀▄ \n▀▄█ █ ▄▀▄███ ▀▀▄\n ▀█▀ ▄▀▀▄▄▄██\n ▀▄█ ▄ ▄▄▄▀▀ \n ▀▄▄█▀▄▄█ "], ["attack", " █▄ ▄▄▄▀▀█▄█ \n ▀█▀ ▄▄▀█ ▄▀▀▄ \n █ ▀▀ ▄▀ ▄▄█ █\n █▀█▀█▀ ▄▀▄▄█▄▀\n ▄▀▀▄▀ █ █▀██ ▄\n▄▀ ▀▀▀▀█ ▄█▀▄▀█\n ▀▄▀▀▀▀▀▄ ▄ ▄▄█ \n ▀▄█▀▄▄█"], ["eat_1", "█▄ ▄▄▄▀▀█▄█ \n▀█▀ ▄▄▀█ ▄▀▀▄ \n█ ▀▀ ▄▀ ▄▄█ █ \n███▀██ ▄▀▄▄█▀▄█ \n ██▄███ █▀██ ▄\n ▀▄▀▄ ▄█▀▄▄▄██\n ▀▀▄ ▄ ▄▄▄▀▀ \n ▀▄█▀▄▄█ "], ["eat_2", "▄ ▄▄▄ ▄ \n██▄▀▀▀▄▄▀▀█▄ \n▄▀ ▄▀▄ █ ▀ ▄▀▄ \n█▄▄▄▄▄▀ ▄▀▀█▄▀▄ \n▀▄█ █ ▄▀▄███ ▀▀▄\n ▀█▀ ▄▀▀▄▄▄██\n ▀▄█ ▄ ▄▄▄▀▀ \n ▀▄▄█▀▄▄█ "], ["happy", "█▄ ▄▄▄▀▀█▄█ \n▀█▀ ▄ ▀█ ▄▀▀▄ \n█ ▀ ▀▄▀ ▄▄█ █ \n███▀██ ▄▀▄▄█▀▄█ \n ▀█▄███ █▀██ ▄\n ▀▄▀▄ ▄█▀▄▄▄██\n ▀▀▄ ▄ ▄▄▄▀▀ \n ▀▄█▀▄▄█ "], ["injured_1", " \n▄ ▄▄▄ ▄ \n██▄▀▀▀▄▄▀▀█▄ \n▄▀ █▄ █ ▀ ▄▀▄ \n█▄▄▄▄▄▀ ▄▀▀█▄▀▄ \n▀▄█ █ ▄▀▄███ ▀▀ \n ▀██ ▄▀█▄▄▄▀█\n ▀█▄▄▄▄██▄▄▄▀ "], ["injured_2", " \n \n█▄ ▄▄▄▀▀█▄█ \n▀█▀▄ ▀█ ▄▀▀▄ \n█ ▀▀ ▄▀ ▄▄█ █ \n█▀█▀█▀ ▄▀▄▄█▀▄█ \n ▀▀▄█▄▀ ▀██▀▄▄▄ \n ▄██▄▄█▄██▄▄▄▀"], ["sleep_1", " \n▄ ▄▄▄ ▄ \n██▄▀▀▀▄▄▀▀█▄ \n▄▀ ▄▄ █ ▀ ▄▀▄ \n█▄▄▄▄▄▀ ▄▀▀█▄▀▄ \n▀▄█ █ ▄▀▄███ ▀▀ \n ▀██ ▄▀█▄▄▀▀█\n ▀█▄▄▄▄██▄▄▀▀ "], ["sleep_2", " \n \n█▄ ▄▄▄▀▀█▄█ \n▀█▀ ▀█ ▄▀▀▄ \n█ ▀▀ ▄▀ ▄▄█ █ \n█▀█▀█▀ ▄▀▄▄█▀▄█ \n ▀▀▄█▄▀ ▀██▄▄▄▄ \n ▄██▄▄█▄██▄▄▄█"], ["walk_1", "█▄ ▄▄▄▀▀█▄█ \n▀█▀ ▄▄▀█ ▄▀▀▄ \n█ ▀▀ ▄▀ ▄▄█ █ \n█▀█▀█▀ ▄▀▄▄█▀▄█ \n ▀▀▄▀ █ █▀██ ▄\n ▄▀█ ▄█▀▄▄▄██\n ▀▀▄ ▄ ▄▄▄▀▀ \n ▀▄█▀▄▄█ "], ["walk_2", "▄ ▄▄▄ ▄ \n██▄▀▀▀▄▄▀▀█▄ \n▄▀ ▄█▀ █ ▀ ▄▀▄ \n█▄▄▄▄▄▀ ▄▀▀█▄▀▄ \n▀▄█ █ ▄▀▄███ ▀▀▄\n ▀█▀ ▄▀▀▄▄▄██\n ▀▄█ ▄ ▄▄▄▀▀ \n ▀▄▄█▀▄▄█ "]]], + ["marinedevimon", [["angry", " ▄▀██ \n ▄▀▄████ \n ▄█▄█▀ ███▄█ \n ████▄█████▀ \n ▄▄▀▄▀▄▀██▀▀▀▄ \n █ ▄█▀███▀ ▄▀ █ \n▄▀▄▄▀▄ ▀ ▄▀██▀▄\n▀▄▄▄▄▄▀▀▀█▄▄▄▄▄▀"], ["attack", " ▄▀██ \n ▄▀▄████ \n ▄█▄█▀ ▄██▄█ \n ▀█▀█▀█████▀ \n ██▀▀▀▄ \n ▄▄█▄█▄█ ▄▀ █ \n▄▀▄▀▄▀█▀ ▄▀██▀▄ \n█▄▄▄▄█▀▀█▄▄▄▄▄▀ "], ["eat_1", " ▄▄██████ \n ████▀▀▄███ ▄ \n ▀███████ \n ▄▄ ▄▀███▀▀ \n █ ▄▀▀▀▀▄██▀▀▀▄ \n ▀▄▄█▀███▀ ▄▀ █ \n▄▀▄▄▀▄ ▀ ▄▀██▀▄\n█▄▄▄▄▄▀▀▀█▄▄▄▄▄▀"], ["eat_2", " ▄██ \n ▄▀▄███▄ \n █▄█▄███▀███▄█ \n ▀████▄▄█████▀ \n ▀█▀▀▀ ▄██▄▄ \n ▄▄▀█▀███▀▀▄ █ \n ▀▄▄▀▄ ▀ ▀▄▄▀▄ \n ▀▄▄▄▄█▀█▄▄▄▄▄▀ "], ["happy", " ▄▀██▄ \n ▄ ▄▀█▄██▀█▄ ▄ \n ██▄█▄██▄█▄██▀ \n █ ▀▀▀▀▀▀ █▀ \n █▀█ ▄▄▄▄ █▀▀▄ \n █▄ █▄▄▄▄▀ █ █\n ▄▀█▄▀█▀ ▄▀▄▄▀▄\n ▀▄▄▄█▀▀▀▄▄▄▄▄▀"], ["injured_1", " ▄▄ \n ▄█ ██▄ \n ▄ ▄███ ████▄ ▄ \n ████▀███▀█████ \n ▀█▄▄███▄▄██▀ \n ▄█▄▄▄▄▄██ \n▄▀█ ▀▄▀█▀▄▀ █▄▀▄\n▀▄▄█▄█▄▄▄█▄█▄▄▄▀"], ["injured_2", " \n \n ▄█▀█▄ \n ▄ ▄███ ███▄ ▄ \n ████▀███▀████ \n ▀█▄▄███▄▄█▀ \n▄▀█ ▀█▄▄▄█▀ █▄▀▄\n▀▄▄█▄▄█▄█▄▄█▄▄▄▀"], ["sleep_1", " \n \n ▄███▄ \n ▄ ▄███ ███▄ ▄ \n ██████▄██████ \n ▀█▄▄███▄▄█▀ \n▄▀█ ▀█▀█▀█▀ █▄▀▄\n▀▄▄█▄▄█▄█▄▄█▄▄▄▀"], ["sleep_2", " ▄▄ \n ▄█ ██▄ \n ▄ ▄███ ████▄ ▄ \n ███▀▀███▀▀████ \n ▀██████████▀ \n ▄▀▄▄▄▄▄▀▀▄ \n▄▀█ █ ▀ █ █▄▀▄\n▀▄▄█▄▄█▄█▄▄█▄▄▄▀"], ["walk_1", " ▄▀█▄ \n ▄██ ███▄ \n █▄█▀██▄██▀██▄█ \n ▀██▄ ███ ▄███▀ \n ▄▀█▀▀▀▀▀█▀▀▄ \n █ ▄█▀███▀█▀▀ █ \n▄▀▄▄▀▄ ▀ ▄▀▀█▀▄\n▀▄▄▄▄▄█▀▀▀▄▄▄▄▄▀"], ["walk_2", " ▄▄ \n ▄█ ██▄ \n ▄ ▄███ ████▄ ▄ \n ███ ▀███▀ ████ \n ▀██▄███▄███▀ \n ▄▀▄█▄▄▄▄▄█▄ ▀▄ \n▄▀▄▄█ ▀█▀ ▀▄▄▄▀▄\n█▄▄▄▄█▄▄▄▄█▄▄▄▄█"]]], + ["mastemon", [["angry", " ▄▄▄▄▄ ▄▄▄ \n ▄▀ ██▀▀ \n █ ▄████▄██▄ \n █▀▀▀▀▀█▀██▀▄▄ \n ▀█▀▀▀▀ ▄█▄█▀▀█▄\n ▄██▀▀▀▀█ ▀▄█▄ \n█▄▀██▄▄██▄▄██▀█▄\n█▄▄█▀▀▀▀██▄▄▄█ "], ["attack", " ▄▀▀███▄██▀ \n ▄▀ ▄████▄ ▄█\n █▄▄███████▀▀▄\n▄▄ █▄▄▄▀ ███▄▄█▀\n█ ▀▀▄▄▄▄███▄ ▀▄ \n ▀▀▀▀▄ ▄████ █\n ▄▄▀▀███████▀▀▀\n █▄▄▄█▀ ██▄▄▄█ "], ["eat_1", " ▄▀▀▀▀█▄██▀ \n ▄▀ ▄██▄ ▄▄ \n █▄▄▄▄█▀████▀▀▀ \n █▄▄▄▄▄█▀█▀▄██▄ \n ▄█▄▀▀▀▄████▄ ▀▀\n█ █▀▀▀▀███ █▄ \n ▀█▀█▄▄█████▀ ▀▀\n █▄▄█ ██▄▄▄█ "], ["eat_2", " ▄▄▄▄▄ ▄▄▄ \n ▄▀ ██▀▀ \n █ ▄████▄██▄ \n █▀▀▀▀▀█▀██▀▄▄ \n ▀█▀▀▀▀ ▄█▄█▀▀█▄\n ▄▀█▀▀▀▀█▀▀▄█▄▄ \n █▀██▄▄██▄▄██ ▀▀\n█▄▄█▀▀▀▀██▄▄▄█ "], ["happy", " ▄▀▀▀▀█▄██▀ \n ▄▀ ▄██▄ ▄▄ \n █▄▄▄▄████▀▀█▀▀ \n█▀▄▄▄▄██▀█▄ ██▄ \n▀▄▄█▀▀▀▄██▄██ ▀▀\n █▀▀▀▀███▀██▄ \n ▄▀█▄▄████▄ ▀▀\n █▄▄█ ██▄▄▄█ "], ["injured_1", " \n ▄▀▀▀▀█▄██▀ \n ▄▀ ▄██▄ ▄▄ \n █▄▄▄▄██████▀▀▀ \n █▄▄▄▄▄▀ █▀▄██▄ \n ▀▄▄▄▄▄███▀▄ ▀▀\n▄▀▀█▄ ▄█▀▀▀██▄ \n█▄▄██████▄▄▄▀ ▀▀"], ["injured_2", " \n ▄▄▄▄▄ ▄█▀ \n ▄▀ ███ ▄▄ \n█ ▄█████▀▀▀ \n█▀▀▀▀▀█▀█▀▄██▄ \n▀█▀▀▀▀ ▄███ ▄▀▀ \n▄▀▀██▀▀██▀▀▀██▄ \n█▄▄██████▄▄▄▀ ▀▀"], ["sleep_1", " ▄▄▄▄▄ \n▄▄ ▄▄▄▄▀█ █ ▀▄ \n█ ██▀ █ █ █ █\n█▀██▄ █ ▀▄██▄ █\n█▄▀▀▀▄▄▀▀▄▄▀▀███\n▀▄ ▀ ▀ ▄▀\n█ ▄ ▄█ ▄▄ █\n ▀▀▀ ▀▀ ▀▀ ▀▀ "], ["sleep_2", " ▄█▀█▀▀▄ \n ▄▄▀█ █ █ ▀▄\n█▀▄█▀ █ █ █▄ █\n█▄▀▀▀▄█▄▄▀▀▀▀▀██\n█ ▀ ▀ ▄▀\n▀▄ █\n█ ▄▀▄▄█▄ ▄▀\n ▀▀▀▀ ▀▀▀ "], ["walk_1", " ▄▀▀▀▀█▄██▀ \n ▄▀ ▄██▄ ▄▄ \n █▄▄▄▄██████▀▀▀ \n █▄▄▄▄▄▀ █▀▄██▄ \n ▀▄▄▄▄▄███▀▄ ▀▀\n ▄▀█▄ ▄█▀▀███▄ \n ▀▄▀█████▄▄█ ▀▀\n █▄▄█ ██▄▄▄█ "], ["walk_2", " ▄▄▄▄▄ ▄▄▄ \n ▄▀ ██▀▀ \n █ ▄████▄██▄ \n █▀▀▀▀▀█▀██▀▄▄ \n ▀█▀▀▀▀ ▄█▄█▀▀█▄\n ▄█▀▀▀▀███▄█▄▄ \n █▀██▄▄██ ██▀▀▀\n█▄▄█▀▀▀▀███▄▄█ "]]], + ["maycrackmon", [["angry", " ▄▀█▄▀▀█ \n ▄▀ ▀ ▄ █ \n █ ▄ ▀▄▀▀█ \n █▄▄ ▀▀ ▄█▀▄▀ \n █▀█▄▄▄▄█▀█▀▀▄ \n █ █▀▄▀█ █▀▄▀ \n ▀█▄▄▄▄▄█▀ \n █▄▄█ █▄▄█ "], ["attack", " \n ▄▀▄▀▀▀▀▄ \n ▄▀ ▀▄▀ \n ▄▀ ▄▀▀ ▄█▀▀▄ \n █▀ █▀▄▄▀ \n ▄▀▀█▀▀▀█▀▀▄ ▀▄ \n ▀▄▄▀▀▄▀▀▄▄▀▀▄▀ \n █▄▄█▄▄▄█▄▄█ "], ["eat_1", " \n ▄▀▄▀▀▀▀▄ \n ▄▀ ▀▄▀ \n ▄▀ ▄▀▀ ▄█▀▀▄ \n █▀ █▀▄▄▀ \n ▄▀▀█▀▀▀█▀▀▄ ▀▄ \n ▀▄▄▀▀▄▀▀▄▄▀▀▄▀ \n █▄▄█▄▄▄█▄▄█ "], ["eat_2", " \n ▄▀▄▀▀▀▀▄ \n ▄▀ ▀▄▀ \n ▄▀ ▄▀▀ ▄█▀▀▄ \n ███ █▀▄▄▀ \n ▄▀▀█▀▀▀█ ▀▄ ▀▄ \n ▀▄▄▀▀▄▀▀▄▄▀▀▄▀ \n █▄▄█▄▄▄█▄▄█ "], ["happy", " ▄▀█▀▀▀▀█ \n ▄▀ ▀▄▀ \n ▄▀ ▄▀▄ █▀▀▄\n ███▄ ▄█▀▄▀ \n ███▄▄▄▀▄▀ ▀▄\n ▄▀▀ █▄ ▄▄█ ▀█▄▀\n ▀▄▄█▄ ▀ ▄█▄▄▀ \n █▄▄█▀█▄▄█ "], ["injured_1", " \n ▄▄▄▀▀▀▀▄ \n ▄▀ ▀▄▀ \n ▄▀ █▄▄ ▄█▀▀▄ \n █▀ █▀▄▄▀ \n ▄▀▀█▀▀▀█ ▀▄ ▀▄ \n ▀▄▄▀▀▄▀▀▄▄▀▀▄▀ \n █▄▄█▄▄▄█▄▄█ "], ["injured_2", " \n ▄▄▄ \n ▄▄▀▀ ▄ ▀▄ \n █ ▄ ▀▄█ \n █▄▄ ▀▀▀▄█▀▀▀▄\n ▄▄███▄▄▄█▄▄▄▄▀\n █ ▀▄▄▄▄▄▄▀ █ \n ▀▄▄▄█▄█▄█▄▄▄▀ "], ["refuse", " ▄▄▄▄▄ \n ▄▀ ▀ ▄ █ \n █ ▄▄▄ ▀▄ \n █ ▄▄ ▄█▀▀▀█ \n ▀▄██▄▄▄▀▄▄▄▀ \n ▄▀█▄ ▄▄█▀▄ ▀▄ \n █ █ ▀ █ █▀▄▀ \n ▀██▄█▀▀▄██▀ "], ["sleep_1", " \n ▄▄▄▀▀▀▀▄ \n ▄▀ ▀▄▀ \n ▄▀ ▀▀▀ ▄█▀▀▄ \n █▀ █▀▄▄▀ \n ▄▀▀█▀▀▀█ ▀▄ ▀▄ \n ▀▄▄▀▀▄▀▀▄▄▀▀▄▀ \n █▄▄█▄▄▄█▄▄█ "], ["sleep_2", " \n ▄▄▄▀▀▀▀▄ \n ▄▀ ▀▄▀ \n ▄▀ ▀▀▀ ▄█▀▀▄ \n █▀ █▀▄▄▀ \n ▄▀▀█▀▀▀█ ▀▄ ▀▄ \n ▀▄▄▀▀▄▀▀▄▄▀▀▄▀ \n █▄▄█▄▄▄█▄▄█ "], ["walk_1", " ▄ ▄▄▄▄ \n ▄▀ ▀ ▄ ▄▀ \n █ ▄▄ ▀▄▄▄ \n █▄ ▀ ▄█▀ ▄▀ \n ▀▄▄▄▄▄▄▀▄▀▀▄ \n ▄▀ █▄ ▄▄▀ █▄ █ \n ▀▄▄▀ ▀ ▀▄▄▀ ▀ \n █▄▄█▀▀▀█▄▄█ "], ["walk_2", " \n ▄▀▄▀▀▀▀▄ \n ▄▀ ▀▄▀ \n ▄▀ ▄▀▀ ▄█▀▀▄ \n █▀ █▀▄▄▀ \n ▄▀▀█▀▀▀█▀▀▄ ▀▄ \n ▀▄▄▀▀▄▀▀▄▄▀▀▄▀ \n █▄▄█▄▄▄█▄▄█ "]]], + ["maycrackmon_vicious_mode", [["angry", " ▄▄▄ ▄▄▄▄ \n ▄▀▄▀▀▀▀ ▄▀ \n █ ▄ █▄▄▄ \n █▄ ▀▀▄█ ▄█ \n ▀▄▄▄▄▄▄▀▀▄█▀ \n ▄█▄▄▀▄▄▄▀██ \n▄█▄▀ ▀▄▄███▄▄\n█▄▄█▄▄▄▄█▄▄█ ▄█▀"], ["attack", " ▄▀██▄▄▀▀█▀ \n ▄▀ ▀ ▄▄▄▀ \n █▀▄▄▄▄▀▀ █▀▀█ \n ███████ ▄█▄█▀ \n█▀███▄▄██ █ \n▀▄ █▄▄▄▄▀▄█▄███▄\n ██▄ ▄████▀▀██\n █▄▄█▀▀█▄▄█ ▀ "], ["eat_1", " ▄▀██▄▄▀▀█▀ \n ▄▀ ▀ ▄▀ \n ▄▀ ▄▀▄ █▀▀█ \n ██▄▄▄ ▄▀▄█▀ \n █████ ▄███ \n▄▀▄█▄▄▄▄▀ ▀██▄ \n▀▀▄█ ▄█▄▄████\n █▄▄█▀▀█▄▄█ ▄█▀ "], ["eat_2", " ▄▄▄ ▄▄▄▄ \n ▄▀▄▀▀▀▀ ▄▀ \n █ ▄ █▄▄▄ \n █▄ ▀ ▀▄█ ▄█ \n ▀▄▄▄▄▄▄▀▀▄█▀ \n ▄▀▄▄▀▄▄▄▀▀█▄ \n█▄▄▀ ▀▄▄▄█▄ \n█▄▄█▄▄▄▄█▄▄█▀██▄"], ["happy", " ▄▀██▄▄▀▀█▀ \n ▄▀ ▀ ▄▀ \n ▄▀ ▄▀▄ █▀▀█ \n ██▄▄▄▄ ▄▀▄█▀ \n▄▀████▀ ▄█▀█ █▄\n▀▄ █▄▄▄▄█ ▄█▄███\n ██ ▄█████▀ \n █▄▄█▀▀█▄▄█ "], ["injured_1", " \n ▄▄▄ ▄▄ \n ▄▀▄▀▀▀▀ ▄▀ \n █ █▀▀█ \n █ █▄ ▄▀▄█ \n ▀█▀ ▄▄█▀▄█ \n█▀█▀▀▀ ▄▀▀▄▄ \n█▄▄█▄▄▄▄█▄▄████▄"], ["injured_2", " \n \n ▄▀██▄▄▀▀▄ \n ▄▀ ▀ ▄█▄▄ \n▄▀ ▄ █ ▄▀ \n█▄▄ ▀▀▄▀▄█▀ \n█▀▄▄▄▀▀▀▄▀▀▄██▄ \n█▄▄█▄▄▄▄█▄▄██▀▀█"], ["sleep_1", " \n \n ▄▀██▄▄▀▀█▀ \n ▄▀ ▀ ▄█▄▄ \n ▄▀ ▄▄▄ █ ▄▀ \n █▀ ▄▀▄█▀ \n█▀█▀▀▀▀▀▄▀▀█▄▄ \n█▄▄█▄▄▄▄█▄▄█▀██▄"], ["sleep_2", " \n ▄▄▄ ▄▄▄▄ \n ▄▀▄▀▀▀▀ ▄▀ \n █ █▀▀█ \n █▄ ▀▀▀▄▀▄█ \n ▀▄▄▄▄▄▄█▀▄█ █▄\n█▀▄ ▄▀▀█▄███\n█▄▄█▄▄▄▄█▄▄█▀▀▀ "], ["walk_1", " ▄▀██▄▄▀▀█▀ \n ▄▀ ▀ ▄▀ \n ▄▀ ▄██ █▀▀█ \n █▀ ▄█▀▄█▀ \n █▀▀█▀▀ ▄██ \n █ █▀ ▀▀█▀ ███▄ \n ▀▄█ █▄▄▀████\n █▄▄█▀▀█▄▄█ ▄█▀ "], ["walk_2", " ▄▄▄ ▄▄▄▄ \n ▄▀▄▀▀▀▀ ▄▀ \n █ ▄▄ █▄▄▄ \n █▄ ▀▀▀▄█ ▄█ \n ▀▄▄▄▄▄▄▀▀▄█▀▄▄ \n ▄▀▄▄▀▄▄▄█▀█ ▄██\n█▄▄▀ ▀▄ ███▀\n█▄▄█▄▄▄▄█▄██▀▀ "]]], + ["megadramon", [["angry", " \n \n \n \n \n \n \n "], ["attack", " \n \n \n \n \n \n \n "], ["eat_1", " \n \n \n \n \n \n \n "], ["eat_2", " ▄▄▄▄▄▄▄▄ ▄ \n ▄████▀██▄▄▀ ██ \n█████▄█▄█▀▄▄████\n ▀▄ ▀▀▀▄▄▄█████\n ▄▄▀█▀▀▀▄▄▄▀█ ▀█\n█ ▀▄█▄▄█ ▄█▄▄▀\n ▀▀█▄▄▄█████████\n ▀▄▄▄█▄▄█▄▄█▄▀"], ["happy", " \n \n \n \n \n \n \n "], ["injured_1", " \n \n \n \n \n \n \n "], ["injured_2", " \n \n ▄▄▄▄▄▄▄▄ ▄ \n ▄███████▄▄▀ ██ \n▄███▄▀▀██▀▄▄████\n▀█▀▀▀▀▀▀▄▄▄██▀██\n ▄█▀█▀▀█▀▀▀ ████\n▀▄▄▄▀▄▄█▄▄▄█▄█▄▀"], ["sleep_1", " \n \n \n \n \n \n \n "], ["sleep_2", " \n \n \n \n ▄ \n ▄▀▄█▄▄█▄ ▄ ▄▄ \n▄▀ █▄▄▄██▀ ████\n▀▄▄▀▄▄▄██▄▄███▄▀"], ["walk_1", " ▄▄█████▀▀█ █▄ \n▄████▀ ███▀ ▄██▄\n▀█▀▀▀███▀ ▀█████\n ▀▄▄▄▄▄▀▀▀██▀██\n ▄█ █ ▄▄▄▀ █ █\n█ █▀▀▀██ ▄███▄\n ▀▀█▀▀█▀██████▀█\n ▀█▄▄█▄▄█▄█▀ "], ["walk_2", " ▄▄▄▄▄▄▄▄ ▄ \n ▄████▀██▄▄▀ ██ \n█████▄▄██▀▄▄████\n ▀▄ ▀▀▀▄▄▄█████\n ▄▄▀█▀▀▀▄▄▄▀█ ▀█\n█ ▀▄█▄▄█ ▄█▄▄▀\n ▀▀█▄▄▄█████████\n ▀▄▄▄█▄▄█▄▄█▄▀"]]], + ["megagargomon", [["angry", " ▄▄▄▄ \n █▀▄█▄▄▄▀▄ \n ▄▄▀ ▄ ▄████ \n █ █▀ ▀▀█ █ ▀▄\n █ █▀▀▀█ ▄█▄▄▄▀\n█ ▀██▄█▄██ ███ \n ▀█▀▄█ █▀▀▀█▀ \n▄█▄▄██▄▄█▀█▄▄█▄ "], ["attack", " ▄▄▄▄ \n █▀▄█▄▄▄▀▄▀▀▀█\n ▄▀█▀ ▄▄▀▀█▀▀█ \n █ █▀ ▀▀█ █ █\n▄▀▀██▀▀██▀▀██▄█ \n▀▄▄▄█▄▄██▄▄▄█▀ \n ▄▀▄█ █▀▀▀▄ \n▄█▄▄█▀▀▀▀▀▄▄▄█▄ "], ["eat_1", " ▄▄ █▀▀▀▄ \n ▀▄▀▀▀▀▀▄█▄▄ \n ▄█▄ ▄▀▄▄█▄▄▄▀ \n █ █▄▄▄▄█ █ ▀▄\n █▄██████ ▄█ ▄▀\n█ █▄▄▄▄██ ███ \n ▀██▀█ █▀███▀ \n▄██▄▄█▀▀█▄▄██▄ "], ["eat_2", " ▄▄▄▄ \n █▀▄█▄▄▄▀▄▄▄ \n ▄▄▀ ▄ ▄█▄▄▄▀ \n █ █▀ ▀ █ █ ▀▄\n █ █▀▀▀█ ▄█▄▄▄▀\n█ ▀██▄█▄██ ███ \n ▀█▀▄█ █▀▀▀█▀ \n▄█▄▄██▄▄█▀█▄▄█▄ "], ["happy", " ▄▄ █▀▀▀▄ \n ▀▄▀▀▀▀▀▄█▄▄ \n ▄█▄ ▄▀▄▄█▄▄▄▀ \n █ ▀▄▄▄▄█ █ ▀▄\n █ █▀▀▄█ █ ▄▀\n▄▀▀███▀▀██▀▀██▄ \n▀▄▄█▀█▀▀█▀▄▄██▀ \n▄██▄▄█▀▀█▄▄██▄ "], ["injured_1", " \n ▄▄ █▀▀▀▄ \n ▀▄▀▀▀▀▀▄█▄▄ \n ▄█▄ █▄ ▄█▄▄▄▀ \n █ ▀▄▄▄▄█ █ ▀▄\n▄█ █ ▄ █▄▄█▄▄ █\n█ ▀██▀▀▀█ ▀ ▀ █ \n█▄▄▄█▄▄██▄▄▄▄▄▀ "], ["injured_2", " \n ▄▄▄▄ \n █▀▄█▄▄▄▀▄▄▄ \n ▄▀ ▄ █▄▄▄█ \n ██▀ ▀▀ █ █ ▀▄\n▄█ ▀█▀█▀█▄▄█▄▄ █\n█ ▀██▀▀▀█ ▀ ▀ █ \n█▄▄▄█▄▄██▄▄▄▄▄▀ "], ["sleep_1", " \n ▄▄▄▄ \n █▀▄█▄▄▄▀▄▄▄ \n ▄▀ ▄ ▄ █▄▄▄█ \n ██▀ ▀ █ █ ▀▄\n █ ▀█▀█▀█ █ ▄▀\n▄▀▀███▀▀██▀▀██▄ \n█▄▄███▄▄██▄▄████"], ["sleep_2", " \n ▄▄ █▀▀▀▄ \n ▀▄▀▀▀▀▀▄█▄▄ \n ▄█▄ ▀▄▀▄█▄▄▄▀ \n █ ▀▄▄▄▄█ █ ▀▄\n █ █ ▄ █ █ ▄▀\n▄▀▀███▀▀██▀▀██▄ \n█▄▄███▄▄██▄▄████"], ["walk_1", " ▄▄ █▀▀▀▄ \n ▀▄▀▀▀▀▀▄█▄▄ \n ▄█▄ ▄█▀▄█▄▄▄▀ \n █ ▀▄▄▄▄█ █ ▀▄\n █ █ ▄ █ █ ▄▀\n▄▀▀███▀▀██▀▀██▄ \n▀▄▄█▀█ █▀▄▄██▀ \n▄██▄▄█▀▀█▄▄██▄ "], ["walk_2", " ▄▄▄▄ \n █▀▄█▄▄▄▀▄▄▄ \n ▄▄▀ ▄▄▄█▄▄▄▀ \n █ █▀ ▀▀█ █ ▀▄\n █ █▀▀▀█ ▄█▄▄▄▀\n█ ▀██▄█▄██ ███ \n ▀█▀▄█ █▀▀▀█▀ \n▄█▄▄██▄▄█▀█▄▄█▄ "]]], + ["megakabuterimon_red", [["angry", "█▄█ █▄█ \n ██▄███████▄ \n ▀█████▀ ▄██▄ \n ▀█████████▄█▄ \n ▀▄█▄█▄█▀▀██▄\n ▄▀▀▄ ▄▄█▀ ██\n █▄▄█ ▄▄█▄▄█▀ \n █▄▄▄██▀▀▄▄▄▄█ "], ["attack", "█▄█ █▄█ \n ██▄███▀▀██▄ \n ▀████▄▄████ ▄██\n ▀ ▀ ▀ ▀██▄████\n ███▀▀▀▄\n ▄█▄█▄█▄█▄ ▀█▄▀\n ▀▄█▄ ▄▄█▄▄▄█ \n █▄▄██▀█▄▄▄▄▄█ "], ["eat_1", "█▄█ █▄█ \n ██▄███▀███▄ \n ▀████▄█▄███▀███\n ▀ ▀ ▀ ██▄████\n █▀█▀▀▀▄\n ▄▀▀▄▄▄▄█▀ █▄▄▀\n ▀▄▄█▄ ▄█▄▄█▄ \n █▄▄█▀▀█▄▄▄▄█ "], ["eat_2", "█▄█ █▄█ \n ██▄███████▄ \n ▀████▀▄▀███▄▄▄▄\n ▀██████▀█▀▄███\n ▄▀█▄█▄█▄▄█▀█▀▀▄\n ▀▄▄█▄ ▄▄▄▀ █ █\n ▄█▄ ▄▄█▄▄██▀ \n █▄▄██▀▀█▄▄▄▄█ "], ["happy", "█▄█ █▄█ \n ██▄███▀███▄ ▄▄\n ▀████▄█▄███▄███\n ▀ ▀ ▀ ██▀▄███\n ▄▄ █▀▀█▀▀▄\n█ ▄█▄▄▄▄█▄▄ █ █\n▀▄▄▀▄▄ ▄▄▀▄▄▄▀▀ \n █▄▄▄█▀▀▄▄▄▄▄█ "], ["injured_1", " ▄ ▄ ▄ ▄ \n ▀██ ███▄▄▄ \n █████▀▀███▄ \n █████▄▄███ \n ▄▀ ▀ ▀ ▀█▀▄ \n ▄▄▀█▀▀▀▀██▀█▀▄ \n █ █ ▀▄▀▀ █ ██\n █▄▄█▄█▄▄█▄▄▄▄█▀"], ["injured_2", " ▄ ▄ ▄ ▄ \n ▀██ ███▄▄▄ \n ██████████▄ \n ██████████ \n █▀ ██ ▀██▀▄ \n ▄▄ █▀█▀█▀█▀█▀▄ \n █ █ ▀█▀▀▀█ ██\n █▄▄█▄█▄▄█▄▄▄▄█▀"], ["sleep_1", " \n \n▄ ▄ ▄▄▄▄▄▄ \n██▀▄█▄█▄▀▄▄▄▄▀▄ \n█████████▄▀███▄█\n██████████ █████\n██████████ █████\n ▀█████████████▀"], ["sleep_2", " \n \n█▄█ ▄ ▄▀█▀▀▀▀▄ \n██▄█████▄▀███▄▀▄\n██████████ █████\n██████████ █████\n ████████▀▄█████\n ▀█████▄█████▀ "], ["walk_1", "█▄█ █▄█ \n ██▄███████▄ \n ▀█████▀ ███▄ \n ▀████████▀▄█▄ \n ▄█▄▄▄████▀██▄\n █ █▄ ▄▄▄█▀ ██\n ██▄ ▄▄▄█▄▄█▀ \n █▄▄██▀▀█▄▄▄▄█ "], ["walk_2", "█▄█ █▄█ \n ██▄███████▄ ▄▄▄\n ▀█████ ▄███▄███\n █▀█ ▀███▀▀▄██▀\n █▄ █▄▄███▄ █ █\n ▀█▄ ▄▄█▄▄█▀▀ \n ▄█▄ ▄▄▄▄█▄ \n █▄▄██▀█▄▄▄▄█ "]]], + ["megaseadramon", [["angry", "█▀▄▄ ▄▄▄▄▀▀▀█▀ \n ▀▄ ▀ ▄▄ ▀▀█▀ \n▄▀ ▀▀▀ ▀▀▀▀▄ \n▀▄███▄ ▀▀ ▀█▀▀ \n ▀▄▄▄▄▀▄ ▀█▀▀▀ \n ▄▀▄▀ █▀▀▀ \n █▀▄▀▄ ▀▀▄▀█▀▄\n ▀▄█▄█▄▄▄▄▀ ▀▀"], ["attack", "█▀▄▄ ▄▄▄▀▀▀▀█▀ \n ▀▄ ▀ ▄▄ ▀▀▀█▀ \n▄▀ ▀▀▀ ▀▀▀▄ \n█▄▀▀▀▀▄ ▀▀ ▀█▀▀ \n ▄▀ ▀█▀▀▀ \n █▀▀▀ ▀█▀▀▀ ▄▀█\n ██▀▄ ▀▀▀▀▄▀ \n ▀▄█▄█▄█▄▄▀ "], ["eat_1", "█▀▄▄ ▄▄▀▀▀▀▀█▀ \n ▀▄ ▀▄▄▄ ▀▀▀▀█▀ \n▄▀ ▀ ▀ ▀▀▀▀▄ \n█▄▀▀▀█▄ ▀▀ ▀█▀▀ \n ██ ▀█▀▀▀▄▄\n █▀▀▀ ▀█▀▀▀ █▄▀\n █▄▀▄ ▀▀▀▀▄▀ \n ▀▄█▄█▄█▄▄▀ "], ["eat_2", "▄▄ ▄▄▄▄▄ \n▀▄▀▀▄▀▀▀▀ ▄█▄▄ \n ▄▀ ▄▀▀▄ ▄▄▄▀ \n█ ▄▄▄ ▄▄▄█▄ \n▀▀▄▄▄▄▄ ▄▄▄█▄ \n ▄▀█ ▀▄▄█▄ \n █▄▀▄ ▀▄▄▄▀█▀▄\n ▀▄█▄█▄▄▄▄▄▀ ▀▀"], ["happy", "█▀▄▄ ▄▄▀▀▀▀▀█▀▀ \n ▀▄ ▀▄▄ ▀▀▀▀█▀ \n▄▀ ▀ ▀ ▀▀▀▀▄ \n█▄▀▀▀██ ▀▀ ▀█▀▀ \n ▄██ ▀█▀▀▀ \n █▀▀▀ ▀█▀▀▀ ▄▄\n ██▀▄ ▀▀▄▄▀▄▀\n ▀▄█▄█▄█▄▄▀▀ "], ["injured_1", " ▄▄▄▄▄ \n█▀▀▀▄▀▀▀▀ ▄█▄ \n █▀ ▄ ▄▄▄▀ \n█ ▀▀▀ ▄▄▄█ \n▀▄█▀▀▀▄ ▄▄▄█▄ \n ▄▀█▀ ▀▄▄▀ \n █▀▄▀ ▀▀▀█▀▄ \n ▀█▄█▄█▄█▄▀▀▀▄█"], ["injured_2", " ▄▄▄▄▄▄ \n█▀▀▀▄▀▀▀ ▄▄▄█▄ \n █▀ ▄▄▄▀ \n█ ▀▀▀ ▄▄█ \n▀▄█▀▀▀▄ ▄▄▄█▄ \n ▄▀█▀ ▀▄▄▀ \n █▀▄▀ ▀▀▀▄▄▄ \n ▀█▄█▄█▄█▄█▄▀▄█"], ["sleep_1", " \n█▀▄▄ ▄▄▄▄▀▀▀█▀ \n ▀▄ ▀ ▀▀█▀ \n▄▀ ▄▄▀ ▀▀▀▄ \n█▄▀▀ ▀▀█▀▀ \n ▀█▀█▀▄ ▀█▀██ \n █▄▀ ▀▀█▀▄▀ \n ▀▄█▄█▄▄▄▄▀ "], ["sleep_2", "▄▄ ▄▄▄▄▄ \n▀▄▀▀▄▀▀▀▀ ▄█▄▄ \n ▄▀ ▀▀▀ ▄▄▄▀ \n█ ▄▄▄▄ ▄▄▄█▄ \n▀▀▄▄▄▄▄ ▄▄▄█▄ \n ▄▀▄▀ ▀▄▄█▄▀█ \n █▀▄ ▄ ▀ █ \n ▀▄█▄█▄▄▄▀ "], ["walk_1", "█▀▄▄ ▄▄▄▄▀▀▀█▀ \n ▀▄ ▀▄▄▄ ▀▀█▀ \n▄▀ ▀ ▀ ▀▀▀▀▄ \n█▄▀▀▀▀ ▀▀ ▀█▀▀ \n ▀▀██▀▄ ▀█▀▀▀▄▄\n ▄▀▄▀ █▀▀▀ █▄▀\n █▀▄▀▄ ▀▀▀▀▄▀ \n ▀▄█▄█▄█▄▄▀ "], ["walk_2", "▄▄ ▄▄▄▄▄ \n▀▄▀▀▄▀▀▀▀ ▄█▄▄ \n ▄▀ ▄▀█▀ ▄▄▄▄▀ \n█ ▄▄▄▄ ▄▄ ▄▄█▄ \n▀▀▄▄▄▄▄ ▄▄▄█▄ \n ▄▀█ ▀▄▄█▄ ▄▄\n █▄▀▄ ▀▄▄▄▀█▄▀\n ▀▄█▄█▄▄▄▄▄▀ "]]], + ["megaseadramon_x", [["angry", "█▀▀▀▄▄▀█▄▀▀▀█▀ \n ▀▄ ▀ ▄ ▀▀█▀ \n▄▀ ▀▀▀ ▀▀▀▀▄ \n▀▄███▄ ▀▀▀█▀▀ \n ▀▄▄▄▄▀▄ ▀█▀▀▀ \n ▄▀▄ █▀▀▀ \n █▀▄ ▄ ▀▀▄▀█▀▄\n ▀▄█▄█▄█▄▄▀ ▀▀"], ["attack", "█▀▀▀▄▄▀█▄▀▀▀█▀ \n ▀▄ ▀ ▄▄ ▀▀█▀ \n▄▀ ▀▀▀ ▀▀▀▄ \n█▄▀▀▀▀▄ ▀▀█▀▀ \n ▄▀ ▀█▀▀▀ \n █▀▀▀ ▀█▀▀▀ ▄▀█\n ██▀▄ ▀▀▀▀▄▀ \n ▀▄█▄█▄█▄▄▀ "], ["eat_1", "█▀▀▀▄█▀▄▀▀▀▀█▀ \n ▀▄ ▀ ▄▄ ▀▀█▀ \n▄▀ ▀▀ ▀▀▀▀▄ \n█▄▀▀▀█▄ ▀▀▀█▀▀ \n ██ ▀█▀▀▀▄▄\n █▀▀▀ ▀█▀▀▀ █▄▀\n █▀▄ ▄ ▀▀▀▀▄▀ \n ▀█▄█▄█▄█▄▀ "], ["eat_2", "▄▄▄▄ ▄▄ ▄▄▄▄▄ \n▀▄ █▀ ▀▀ ▄█▄▄ \n ▄▀ ▄▀▀▄ ▄▄▄▀ \n█ ▄▄▄▄ ▄▄▄█▄ \n▀▀▄▄▄▄▄ ▄▄▄█▄ \n ▄▀ ▀▄▄█▄ \n █▄▀ ▀▄▄▄▀█▀▄\n ▀▄█▄█▄█▄▄▄▀ ▀▀"], ["happy", "█▀▀▄▄▀█▄▀▀▀▀█▀▀ \n ▀▄ ▀▄▄ ▀▀█▀ \n▄▀ ▀ ▀ ▀▀▀▀▄ \n█▄▀▀▀██ ▀▀▀█▀▀ \n ▄██ ▀█▀▀▀ \n █▀▀▀ ▀█▀▀▀ ▄▄\n ██▀▄ ▀▀▄▄▀▄▀\n ▀▄█▄█▄█▄▄▀▀ "], ["injured_1", "▄▄▄▄ ▄▄ ▄▄▄▄▄ \n▀▄ █▀ ▀▀ ▄█▄ \n ▄▀ ▄ ▄▄▄▀ \n█ ▀▀▀ ▄▄▄█ \n▀▄█▀▀▀▄ ▄▄▄█▄ \n ▄▀█▀ ▀▄▄▀ \n █▀▄ ▀▀▀█▀▄ \n ▀█▄█▄█▄█▄▀▀▀▄█"], ["injured_2", " \n█▀▀▀▄▄▀█▄▀▀▀█▀ \n ▀▄ ▀ ▀▀█ \n▄▀ █▄▄ ▀▀▀▄ \n█ ▄▄▄▄ ▀▀█▀ \n ▀█▄▄▄▀▄ ▀█▀▀▀ \n █▄▀ ▀▀▀█▀▄ \n ▀▄█▄█▄█▄█▄▀▀▀▄█"], ["sleep_1", " \n█▀▀▀▄▄▀█▄▀▀▀█▀ \n ▀▄ ▀ ▀▀█▀ \n▄▀ ▄▄▄ ▀▀▀▄ \n█▄▀▀ ▀▀█▀▀ \n ▀█▀█▀▄ ▀█▀██ \n █▄▀ ▀▀█▀▄▀ \n ▀▄█▄█▄▄▄▄▀ "], ["sleep_2", "▄▄▄▄ ▄▄ ▄▄▄▄▄ \n▀▄ █▀ ▀▀ ▄█▄▄ \n ▄▀ ▄▄▄ ▄▄▄▀ \n█ ▄▄▄▄ ▄▄▄█▄ \n▀▀▄▄▄▄▄ ▄▄▄█▄ \n ▄▀▀ ▀▄▄█▄▀█ \n █▀▄ ▀ █ \n ▀▄█▄█▄▄▄▀ "], ["walk_1", "█▀▀▀▄▄▀█▄▀▀▀█▀ \n ▀▄ ▀ ▄▄ ▀▀█▀ \n▄▀ ▀▀ ▀▀▀▀▄ \n█▄▀▀▀▀ ▀▀▀█▀▀ \n ▀▀▀█▀▄ ▀█▀▀▀▄▄\n ▄▀▄ █▀▀▀ █▄▀\n █▀▄ ▄ ▀▀▀▀▄▀ \n ▀▄█▄█▄█▄▀ "], ["walk_2", "▄▄▄▄ ▄▄ ▄▄▄▄▄ \n▀▄ █▀ ▀▀ ▄█▄▄ \n ▄▀ ▄█▀ ▄▄▄▄▀ \n█ ▄▄▄▄ ▄▄▄▄█▄ \n▀▀▄▄▄▄▄ ▄▄▄█▄ \n ▄▀▀ ▀▄▄█▄ ▄▄\n █▄▀ ▀▄▄▄▀█▄▀\n ▀▄█▄█▄█▄▄▄▀ "]]], + ["megidramon", [["angry", " ▄▄▄ ▄▄▄ ▄ \n ▄▄███▀███▀ █▄█ \n█████▄▄█▀█▄ ████\n▀▄▄▀ ▀ ▄▀ ██▀██\n ▄▄▀█▀▀█▄▄▄▀▄ ▀█\n█▄▀▄▀▄▄█▄ █ \n ▀██▄▄██▄▄██▄▄██\n ▀▄▄▄▄█▄█▄█▄▀ "], ["attack", " ▄▄███▄██▀▄▀▄ \n▄████▀ ███ ███ \n▀█▀█▀█▀█ █▀▄████\n ██ █▀ ██\n █▀▀▀▀▄█▄▀ █ ▀\n▄▀██▀▀██▀▄ ▄▀ ▄▄\n ▀▄█▀▀███▄█▄▄█▄█\n ▀▀▄▄▄█▄█▄█▄▀ "], ["eat_1", " ▄▄███▄██▀▄▀▄ \n▄███▀ ▄███ ███▄\n████████ █▀▄████\n ▀ ▀ ▀▄█ █▀ ██\n █▀▀▀▀▄█▄▀ █ ▀\n▄▀██▀▀██▀▄ ▄▀ ▄▄\n ▀▄█▀▀███▄█▄▄█▄█\n ▀▀▄▄▄█▄█▄█▄▀ "], ["eat_2", " ▄▄▄ ▄▄▄ ▄ \n ▄▄██▀████▀ █▄█ \n████▄█▄█▀█▄ ████\n▀▄▄▀ ▀ ▄▀ ██▀██\n ▄▄▀█▀▀█▄▄▄▀▄ ▀█\n█▄▀▄▀▄▄█▄ █ \n ▀██▄▄██▄▄██▄▄██\n ▀▄▄▄▄█▄█▄█▄▀ "], ["happy", " ▄▄███▄██▀▄▀▄ \n▄███▀▄▀███ ███▄\n██████████▀▄████\n ▀ ▀ ▀▄█ █▀ ██\n █▀▀▀▀▄█▄▀ █ ▀\n▄▀██▀▀██▀▄ ▄▀ ▄▄\n ▀▄█▀▀███▄█▄▄█▄█\n ▀▀▄▄▄█▄█▄█▄▀ "], ["injured_1", " ▄▄▄ ▄▄▄ ▄ \n ▄▄█▀█████▀ █▄█ \n████▄▄██▀█▄ ████\n▀▄▄▀ ▀ ▄▀ ██▀██\n ▄▄▀█▀▀█▄▄▄▀▄ ▀█\n█▄▀▄▀▄▄█▄ █ \n ▀██▄▄██▄▄██▄▄██\n ▀▄▄▄▄█▄█▄█▄▀ "], ["injured_2", " \n ▄▄███▄██▀ ▄ \n▄███ ▀████ █▄█ \n█▀▀█▀█▀▀ █▀▄████\n ▀▀▄▄▄▄▄▀ █▀▀██\n▄▀█ █ █▀▀▀ █ ▀█\n▀███▄▄██▄▄██▄▄▄ \n ▀▄▄▄▄▄▄█▄█▄█▄█"], ["sleep_1", " ▄▄▄ ▄▄▄ ▄ \n ▄▄███████▀ █▄█ \n████▄▄██▀█▄ ████\n▀▄▄▀ ▀ ▄▀ ██▀██\n ▄▄▀█▀▀█▄▄▄▀▄ ▀█\n█▄▀▄▀▄▄█▄ █ \n ▀██▄▄██▄▄██▄▄██\n ▀▄▄▄▄█▄█▄█▄▀ "], ["sleep_2", " ▄▄███▄██▀▄▀▄ \n▄███▀▀████ ███▄\n█▀▀█▀█▀▀ █▀▄████\n ▀▀▄▄▄▄▄▀ █▀ ██\n █ █ ██▄▀ █ ▀\n▄▀██ ▀██▀▄ ▄▀ ▄▄\n ▀▄█▀▀███▄█▄▄█▄█\n ▀▀▄▄▄█▄█▄█▄▀ "], ["walk_1", " ▄▄███▄██▀▄▀▄ \n▄███▀ ▄███ ███▄\n█▀▀█▀█▀▀ █▀▄████\n ▀▀▄▄▄▄▄▀ █▀ ██\n █ █ ██▄▀ █ ▀\n▄▀██ ▀██▀▄ ▄▀ ▄▄\n ▀▄█▀▀███▄█▄▄█▄█\n ▀▀▄▄▄█▄█▄█▄▀ "], ["walk_2", " ▄▄▄ ▄▄▄ ▄ \n ▄▄██▀▀███▀ █▄█ \n████▄▄██▀█▄ ████\n▀▄▄▀ ▀ ▄▀ ██▀██\n ▄▄▀█▀▀█▄▄▄▀▄ ▀█\n█▄▀▄▀▄▄█▄ █ \n ▀██▄▄██▄▄██▄▄██\n ▀▄▄▄▄█▄█▄█▄▀ "]]], + ["megidramon_x", [["angry", " ▄▄ ▄▄\n ▄▄▀ █▀▀█ ██▀\n█▀▀▀ ▄█ ▄█▄████\n▀▄▀▄▀▄ ▄▄████▄\n ▀▄▄▄▄ ▄█▄ ▀█▀ ▄\n ▄▀█ ▄ █▀▀▀█▄▀█\n ▀▄█▀▄▀██▄▄█▄█▄█\n ▀█▄▄▄█▄█▄█▄▀ "], ["attack", " ▄▀█▄▄▄ ▄██\n▄▄▄▄▀▀▄▄▀ ▄▀▄██▄\n█ ▄ ▄▀▀ ▀▀████▀\n ▀████▄ █▀▀██▀▀\n ▄████▀▄▀▀█▄▀ ▄█\n ▀▄▄▄▄▄█ ▀▄▄█ █\n █▀▄▄████▀█▀ \n ▀█▄█▄█▄█▀ "], ["eat_1", " ▄▀█▄▄▄ ▄██\n▄▄▄▄▀▀▄▄▀ ▄▀▄██▄\n█ ▄▄▄▄ ▀▀████▀\n ▀██▀▀█ ▄▀▀███▀▀\n▄▀█▀▀▀▀█▀▀█▀█ ▄█\n▀▄ ▀█▀▄█▄ ▄██ █\n ▀▀█▀█▄███▀██▀ \n ▀█▄█▄█▄█▀ "], ["eat_2", " ▄▄ ▄▄\n ▄▄▀ █▀▀█ ██▀\n█▀▀▀ ▄▀▄ ▄█▄████\n▀▄▀▄▀▄ ▄▄████▄\n █▄▄▄▄ ▄█▄ ▀█▀ ▄\n█ █ ▄ █ ▀█ ▄▀█\n ▀▀▄▀▄ ▄███▄▄█▄█\n ██▄█▄█▄█▄█▄▀ "], ["happy", " ▄▀█▄▄▄ ▄██\n▄▄▄▄▀▀▄ ▀ ▄▀▄██▄\n█▄▄▄▄▀ ▀ █▀▀███▀\n █████▀ █▄ ██▀▀\n ▀▄▄▄▄ ▀█ ▄▀ ▄█\n ▄▀█ ▄ ▄▀ ▄█ █\n ▀▄█▀▄████▀▄█▀ \n ▀█▄█▄█▄█▀ "], ["injured_1", " \n ▄▀█▄▄▄ █▄ \n▄▄▄▄▀▀▄ ▀ ▄▀▄██▄\n█ ▄ ▄ ▀▀ ▀▀██▀██\n █ ▀ ▀ ▄█▀█ ▀\n ▀▀█▀▀ ▀█▄ █ ▄\n ▄▀█▄▀▄█▀ █▄▄▀█\n █▄▄▀███▄▄██▄█▄▀"], ["injured_2", " \n ▄▄ ▄ \n ▄▄▀ █▀▀█ ██ \n█▀▀▀ █▄ ▄█▄████\n▀▄▀▄▀▄ ▄▄▀█ ▀█\n ▀▄▄▄▄▄▄▀█ ▀▄ ▄\n ▄▄█ ▄▄█▀▀▄█▄▀█\n █▄▄████▄▄██▄█▄▀"], ["sleep_1", " \n ▄▄ ▄██\n ▄▄▀ █▀▀█▄██▄\n█▀▀▀ ▄▄ ▄█▄███▀\n▀▄▀▄▀▄ ▄▄███▀▀\n ▀▄▄▄▄ ▄█ ▀█▀ ▄█\n ▄▀▄▀▄▀▀▀▄█▄█ █\n █▄███▄▄███▄█▀ "], ["sleep_2", " \n ▄▀█▄▄▄ ▄██\n▄▄▄▄▀▀ ▀ ▄▀▄██▄\n█ ▄ ▄ ▀▀ ▀▀████▀\n █ ▀ ▀ ▄▀████▀▀\n ▀█▀▀ ▀█▄ █▀ ▄█\n ▄▀▄▀▄▀▀ █ ▄█ █\n █▄███▄▄███▄█▀ "], ["walk_1", " ▄▀█▄▄▄ ▄██\n▄▄▄▄▀▀▄▄▀ ▄▀▄██▄\n█ ▄ ▄▀▀ ▀▀████▀\n █ ▀ ▀ ▄▀█▀██▀▀\n ▀█▀▀ ▀█▄ █ ▄█\n ▄▀▀▄▀▄▀▀ █ ▄█ █\n █▄▀█▀█▄▄██▀▄█▀ \n ▀█▄█▄█▄█▀ "], ["walk_2", " ▄▄ ▄▄\n ▄▄▀ █▀▀█ ██▀\n█▀▀▀ ▄█▀ ▄█▄████\n▀▄▀▄▀▄ ▄▄████▄\n ▀▄▄▄▄ ▄█ ▀▄▀▀ ▄\n ▄█ ▄ ▄█▀▄▀ ▄▀█\n █ ▄█▄█ ▄██▄█▄█\n ▀▀██▄███▄█▄█▄▀ "]]], + ["meicoomon", [["angry", " █▄▄ ▄▀█▄ \n █ ██▄▄▄▄█▀▄█▀ \n ▄█▄▀▄▀▄ ██▀ \n █▄ ▄ █ \n▀█▀▀ ▀ ▀▀ ▄█▀▄ \n █▄███▄▄▄▀▄█▀▄ \n █▄█ ▀ ▀█ ▀█▀▄▄█\n █▄▄█▀▀▀▀█▄▄█ "], ["attack", " ██▄ ▄▀▀█ \n █▄██▄▄▄█ ▄█▀ \n ▄█▄▀▄▀▄ ██▀ \n █▄ ▄ █ \n █ ▀▄▄▄▀ ▄█▀▄ \n█▀▀▄███▄▄▄█▄▀▀▀█\n▀▄▄▄▀█ ▀█ ▀██▄▀ \n █▄▄█▀▀▀▀█▄▄█ "], ["eat_1", "▄▄▄▄ ▄▄▄▄ \n▀█ ██▄▄▄▄█▀▀▄█▀ \n ▄█▄▀▄▀▄ ██▀ \n █ ▄ ▄ █ \n▀█ ▀▄█▄▀ ▀▄█▀▄ \n █▄███▄▄▄█▄█▀▄ \n █▄█ ▀ ▀▀▄▄█▀▄▄█\n █▄▄█▀▀▀█▄▄█ "], ["eat_2", "██▀█▄ ▄▄█▀██ \n ▀▄▀█▀█▀▀▀▄▄█▀ \n █▀▀ ▀ ▀ ▀█ \n▄█▀▄ ▄▀▄ █▄ \n ▀▄ ▀ █▀▄█ \n ▄▀█▀█▀██▀▄█▀▄ \n ▀▄▀ ▀▄▄▀▄ ▀▄\n █▄▄█▀▀▀▄▄▄█ ▀▀▀"], ["happy", "▄▄▄ ▄▄▄▄ \n▀▄██▄▄▄▄█▀▀▄█▀ \n▄█▄▀▄▀▄ ██▀ \n█▄ ▄ █ \n█ ▀▄█▄▀ ▀▄█▀▄ \n█▀▄███▄▄▄█▄▀▀▄▄▄\n▀▄▄▀█ ▀█ ▀██▄▄▄▀\n █▄▄█▀▀▀▀█▄▄█ "], ["injured_1", " \n ▄▄▄ ▄▄▄ \n ▄▀▄▀█▀█▀▀ ▄█▀██\n ▀█▀▀ ▀ ▀ ▀██▀ \n ▄█▀▄ ▄ ▄▀ █▄ \n ▀█ ▀▀▄▀▄█ \n ▄█▀██▀█▀██▀██▀▄\n █▄▄█▄▄█▄▄█▄▄█▄█"], ["injured_2", " \n ▄▄▄▄ ▄▀██ \n █▀▄▀█▀█▀▀ ▄█▄█ \n ▀█▀▀ ▀ ▀ ▀█▀ \n ▄█▄█ ▄ █▄▄ █▄ \n ▀▄ ▄▄▄ ▄▀▄█ \n ▄█▀██▀█▀██▀██▀▄\n █▄▄█▄▄█▄▄█▄▄█▄█"], ["sleep_1", "▄▄▄▄ ▄▄▄▄ \n▀█ ██▄▄▄▄█▀▀▄█▀ \n ▄█▄▀▄▀▄ ██▀ \n █▄▄ ▄▄ █ \n▀█ ▀ ▄ █▀▄ \n █▄▄▄▄▄▄▄▀▄█▀▄ \n █▄█ ▀ ▀█▄█▀▀▄▄█\n █▄▄█▀▀▀█▄▄█ "], ["sleep_2", " \n██▀█▄ ▄▄█▀██ \n ▀▄▀█▀█▀▀▀▄▄█▀ \n █▀▀ ▀ ▀ ▀█ \n▄█▄▄ ▄▄ █▄ \n ▀▄ ▀ ▀▄▀▄█ \n █▄█▀█▀███▄██ ▀█\n█▄▄█▄▄▄▄█▄▄█ ▀▀ "], ["walk_1", "██▀█▄ ▄▄█▀██ \n ▀▄▀█▀█▀▀▀▄▄█▀ \n █▀▀ ▀ ▀ ▀█ \n▄█ █ ▄ █ ▄ █▄ \n ▀▄ █▀▄█ \n ▄█▀█▀██▀▄█▀▄ \n ▀▄▀ ▀▄▄▀▄ ▀▄\n █▄▄█▀▀▀█▄▄█ ▀▀▀"], ["walk_2", "▄▄▄▄ ▄▄▄▄ \n▀█ ██▄▄▄▄█▀▀▄█▀ \n ▄█▄▀▄▀▄ ██▀ \n █ ▄ ▄ █ \n▀█ ▀ ▀ ▀ ▀▄█▀▄ \n █▄▄▄▄▄▄▄▀▄█▀▄ \n █▄█ ▀ ▀█ ▀█▀▄▄█\n█▄▄█▀▀▀▀▀█▄▄█ "]]], + ["mekanorimon", [["angry", " ▄▄▄▄▄ ▄▄ \n▄▄▄▄█▄▄▄▄▄█▄█▄█▄\n█ █▄ ▄▄ ▄▄ █ █\n▄▀█▀▀█▀█▀▀██▀▀█ \n█▀█▄▄███▄▄██▀▀█ \n█▄▀ █ █ █ ▀▄█ \n ▀▄▄███ █▄▄█▄█ \n ██▄█▄█▀▀█▄█▄▄█ "], ["attack", " ▄▄█████▄▄ ▄▄ \n█▀█▄ ▄▄ ▄▄ █▀▀▀█\n▀▄█ ▄ ▄ ▄ ▄▀▄▄▄▀\n█ ▄████████▀█▄ █\n█ ▄████████ █▄ █\n▀▄▄█▀▀▀█▀▀▀▀█▄▄▀\n █▄▄▄▀█▀██▄▄ \n ██▄█▄█▀▀█▄█▄▄█ "], ["eat_1", " ▄▄█████▄▄ ▄▄ \n█▀█▄ ▄▄ ▄▄ █▀▀▀█\n▀▄█▀ ▀▀ ▀▀ ▀▄▄▄▀\n▄▀█▄█▄█▄█▄█▄█▄▄█\n█▀███▀▀█▄ ▀█▀▄ █\n█▀ █▀▀▀█▄ █ ▄▀ \n█▀▀█▄▄▄▀█▀███▄ \n▀██▄█▄█▀▀█▄█▄▄█ "], ["eat_2", " ▄▄▄▄▄ ▄▄ \n▄▄▄▄█▄▄▄▄▄█▄█▄█▄\n█ █▄ ▄▄ ▄▄ █ █\n▄▀█▀ ▀▀ ▀▀ █▀▀█ \n█▀▀▄█▄█▄█▀█▀▄▄▀ \n█▀ █ █▄▀▄ ▄▀ \n█▀█▀▀▀▀▄ ▄▄█▄▄ \n▀█▄█▄█▄▀▀█▄█▄▄█ "], ["happy", " ▄▄█████▄▄ ▄▄ \n█▀█▄ ▄▄ ▄▄ █▀▀▀█\n▀▄█▀ ▀▀ ▀▀ ▀▄▄▄▀\n▄▀█▄█▄█▄█▄█▄█▀▀▄\n█▀█████████ █▀▀█\n█▀ █▀▀▀█▀ ▀▀█ ▀█\n█▀▀█▄▄▄▀█▀█▀ ▀▀█\n▀██▄█▄█▀▀█▄█▄█▄▀"], ["injured_1", " \n ▄▀▀▀▀▀▄ ▄▄ \n▄▄█▀▀▀▀▀▀▀▀██▄█▄\n█ ██ ██ ██ █ █\n▄▀█ ▄ ▄ ▄▄▄█▀▀▀▄\n█▀▄▀▀█▀▀▀▄ ▀▄ ▄▀\n▀▄▄ ▀█▀▀ ▀ ▀▄▀ \n ████▄█▀▀██████ "], ["injured_2", " \n ▄▄▄▄▄ \n ▄▄█▄▄▄▄▄█▄▄▀█ \n█▀█▄ ▄▄ ▄▄ █▀▀▀█\n▀▄█▀ ▀▀ ▀▀ █▄▄▄▀\n█▄▀▄█▄█▄█▀▀█ █\n█ ▀ ▄█▄▄ █ █ █ \n ██▄▄█▄▄▄▄▄▄▄██ "], ["sleep_1", " \n ▄▀▀▀▀▀▄ ▄▀█ \n█▀█▀▀▀▀▀▀▀▀█▀▀▀█\n▀▄██ ██ ██ █▄▄▄▀\n█▄█ ▄ ▄ ▄▄▄▀█▄▄█\n █▀█▀▀█▀▀▀▀▄▀ █\n █▄█▄▄█▄▄███ ▀▀▄\n█▄█▄█▄█▄█▄█▀▄█▄█"], ["sleep_2", " ▄▄▄▄▄ \n ▄▄█▄▄▄▄▄█▄▄▀█ \n█▀█▄ ▄▄ ▄▄ █▀▀▀█\n▀▄▀▀ ▀▀ ▀▀ █▄▄▄▀\n█▄█▄█▄█▄███ █▄▄█\n █ █ █ ▄▀ █\n █▄█▄▄█▄▄███ ▀▀▄\n█▄█▄█▄█▄█▄█▀▄█▄█"], ["walk_1", " ▄▀▀▀▀▀▄ ▄▀█ \n▄▄▄▀▀▀▀▀▀▀▀▀▄█▄▄\n█ ██ ██ ██ █ █\n▄▀█ ▄ ▄ ▄▄▄▀█▀▀▄\n█▀▀█▀▀▀█▀ ▄▄█▀▀█\n█▀ █▄▄▄▀▄▄▄▄█ ▀█\n█▀▀█▄█▄▄█▄▄▀ ▀▀█\n▀██▄█▄█ █▄█▄█▄▀"], ["walk_2", " ▄▄▄▄▄ ▄▄ \n▄▄▄▄█▄▄▄▄▄█▄█▄█▄\n█ █▄ ▄▄ ▄▄ █ █\n▄▀█▀ ▀▀ ▀▀ ██▀▀▄\n█▀▀▄█▄█▄█▀▀ █▀▀█\n█▀ █ █ ▀▀█ ▀█\n█▀▀████ █▀█▀ ▀▀█\n▀██▄█▄█▀▀█▄█▄█▄▀"]]], + ["mephistomon_x", [["angry", "▄▄ ▄▄▄ ▄▄ \n█ ▀▀▄▄███▄▄▀▀ █ \n ▀▀█ ▄ ▀▄▄▀▀ \n ▄▄▀▀ ▀▀ ██████▄\n█ ██ ▀ ▄▄█ ████\n▀▄▄█▀▀▀▀█▄▄█▀███\n ██▄▄███ ▀█\n █▄▄▀▀▄▄▄█ "], ["attack", " ███ ▄▀█\n ▄▀▀▀▀█▀ ▄█\n █ ▄█ ▄█ ▀▄▀ \n ██ ▀▄ ▄▄▄ █▄ \n███▄▄▄▀▀█▄ ████\n▀██ ▀▄▄▄▀██▀▀██\n ▀█ █▄████ ▀\n ▀ █▄▀ ▀▄▄█ "], ["eat_1", "▄▄ ▄▄▄ ▄▄ \n█ ▀▀▄▄███▄▄▀▀ █ \n ▀▀█ ▄ ▀▄▄▀▀ \n █ ▀ ▀ ▀ ▄█ ▄▄ \n▄▀█ ████ █ ▀███\n█▄█▄▀▀▀▀▄██▀▀▀██\n▀▄███▄████▀▀▄▄▀█\n █▄▄▀▀▄▄▄█ "], ["eat_2", "▄▄ ▄▄▄ ▄▄ \n█ ▀▀▄▄███▄▄▀▀ █ \n ▀▀█ ▄ ▀▄▄▀▀ \n █▀▀ ▀ ▀ ▄▀ ▄▄ \n ▄▀█ ▀ ▄█▀▀█▄███\n█▄▄█▀▀▀▀█▄▄▄████\n █ ██▄▄███ █ ▀█\n █▄▄▀▀▄▄▄█▀ "], ["happy", "█▀▄▄ ███ ▄▄▀█ \n▀▄▄▄▀▀▀▀▀█▀ ▄▄▀ \n ▄▀▄ ▄▀▄ ▀█ \n ▄█▄▄▄▄▄ ▄▀▀▄██▄\n█▄▄█████ █▄▀████\n▄▀▄█▀▀▀▄██▄ ███\n▀▀ █▀▀█▀▀███▀ ▀\n █▄▀ ▀▀▄█ "], ["injured_1", " \n▄▄ ▄▄▄ ▄▄ \n█ ▀▀▄▄███▄▄▀▀ █ \n ▀▀█ ▀▄▄▀▀ \n █▄█ █▄ ▄▀ ██▄\n▄▀▀▄ ▄▄▀▀▀████\n▀█▀█▀▀▀▀█▄█▀▀▄▀█\n█▄███▄▄███▄▄▄█ ▀"], ["injured_2", " \n \n█▀▄▄ ███ ▄▄▀█ \n▀▄▄▄▀▀▀▀▀█▀ ▄▄▀ \n ▄▀▄ ▄ ▀█ ██▄\n ▄█▀▀ ▀▀ ▄▀▀████\n▀▄▄█▄▄▄██▄█▀▀▄▀█\n█▄▄██▄▄███▄▄▄█ ▀"], ["sleep_1", " \n \n█▀▄▄ ███ ▄▄▀█ \n▀▄▄▄▀▀▀▀▀█▀ ▄▄▀ \n ▄▀ ▀█ ▄▄ \n █▀▀ ▀▀ ▄█▄▄███\n▄█▀█▄▄▄▄█▀▀█████\n▀█▄▄█▄▄█▄▄▄▄█▄▀█"], ["sleep_2", " \n▄▄ ▄▄▄ ▄▄ \n█ ▀▀▄▄███▄▄▀▀ █ \n ▀▀█ ▀▄▄▀▀ \n █▄▄ ▄▄ ▄▀ ▄▄ \n █▄ ▄███▄███\n █▀█▀▀▀▀█▀▀█████\n █▄▄█▄▄█▄▄▄▄█▄▀█"], ["walk_1", "█▀▄▄ ███ ▄▄▀█ \n▀▄▄▄▀▀▀▀▀█▀ ▄▄▀ \n ▄█▄ ▄█▀ ▀█ \n █▄ ▄ ▄▄█▄ ██▄\n▄▀ █▄▄▄██ ▀████\n▀█▀█▄ ▄██▀▀█▀██\n ▀▄█▀▀█▀▀█▄▄▀ ▀\n █▄▀ ▀▀▄█ "], ["walk_2", "▄▄ ▄▄▄ ▄▄ \n█ ▀▀▄▄███▄▄▀▀ █ \n ▀▀█ ▄▄▀▄▄▀▀ \n █▀▀ ▀▀ ▄▀ ▄▄ \n ▄▀█ ▀ ▄█▀▀█▄███\n█▄▄█▀▀▀▀█▄▄▄████\n █ ██▄▄███ █ ▀█\n █▄▄▀▀▄▄▄█▀ "]]], + ["meramon", [["angry", " ▄ ▄▄ ▄▄ \n ▄▀▄▀ █▄▀ █ \n █▄█ ▄▀▄█\n █ █▄ ▄ █▄ █\n ▄▀█▀▀ ▀▀ ▄▀ ▄▀\n █ ▄▀▄▄▄▄▀▀ ▄▄ █\n █▀▄ █▄▄█\n █▄▄▄█▀▀▀▀▄▄▄▄█ "], ["attack", " ▄▄▀▀▀▀▀▀█▄▄ \n ▄▀ ▄█▀ ▀ ▄▀▀\n█▄▀▀▀▀▀▄ ▄▀ ▄█\n▀▄▀▄ █ █▄▀▄▀\n█ ▄▀▀▀▀▀▄▄▀ █\n▀▄▄▀▀▀▀▀ █▀ ▄▀\n ▄▀▄ █▀▀ \n█▄▄▄█▀▀▀▄▄▄▄█ "], ["eat_1", " ▄▄▀▀▀▀▀▀█▄▄ \n ▄▀ ▄▀▄ ▀ ▄▀▀\n█▄▀▀▀▀▀▄ ▄▀ ▄█\n▀▄▀▄ █ █▄▀▄▀\n█ ▄▀▀▀▀ ▄▀▀ █ \n▀▄▄▀▀▀▀▀ █ █\n ▄▀▄ █▀▀▀ \n█▄▄▄█▀▀▀▄▄▄▄█ "], ["eat_2", " ▄▀▄▀█ ▄▀█ \n ▄▀ ▀ ▀▀ █ \n █▄█ █ ▄█\n █ █▀▄ ▄▀▄ █▀ █\n ▄▀▀▄ ▄▄▀ ▄▀\n █ ▄ ▀▀▀▀ ▄▄ █\n █▀▄ █▄▄█\n █▄▄▄█▀▀▀▀▄▄▄▄█ "], ["happy", "▄ ▄▄▀▀▀█▀▀▀▄▄ \n█▀▄▀ ▀ ▀ ▀ ▀ ▄▀\n▄██▀▀▀▀▀▀█ ▄▀▄█\n█ ▀█ ▄▀ █▄ █\n▀▄▄▀▀▀▀▀▄▄▀ ▄▀ \n █▀▀▀▀▀ █ \n █ ▄ ▀▄ \n █▄▄▄█▀▀▀▀▄▄▄▄█ "], ["injured_1", " \n ▄▀▄▀█ ▄▀█ \n▄ ▄▀ ▀ ▀▀ █ ▄ \n█▀█ █▄▀█ \n▀▄█▄ █▄▄ █ █ \n █▀▄ ▄▄▀ █ \n █ ▀▀▀▀▄ ▄▀▀▄ \n█▄▄▄▀▄▄▄█▄▄▄█▄█ "], ["injured_2", " \n ▄ ▄▄ ▄▄ \n ▄▀▄▀ █▄▀ █ ▄ \n█▄█ ▄█▀█ \n█ █ ▄ █ █ \n▀▄█▀ ▀▀▀ ▄▀ ▀█ \n █ ▀▄▄▄▄▀▀▄ ▀▄ \n█▄▄▄▀▄▄▄▄▄▄▀▄▄▄█"], ["sleep_1", " ▄ ▄▄ ▄▄ \n ▄▀▄▀ █▄▀ █ \n █▄█ ▄▀▄█\n █ █ █▀ █\n ██▀ ▀▀▀ ▄▀ ▄▀\n █ ▄▀▄▄▄▄▀▀ ▀▄\n█▄▀▀ █ ▀ █ █\n▀█▄▄▄▄█▄▄▄▄▄▄█▄█"], ["sleep_2", " \n ▄▀▄▀█ ▄▀█ \n▄ ▄▀ ▀ ▀▀ █▄█ \n█▀█ █▀ █ \n█ █▄ ▄▄▄ █ ▄█ \n █▀▄ ▄▄▀ █ \n█▄▀ ▀▀█▀ ▀▀ ▄ █\n▀█▄▄▄▄█▄▄▄▄▄▄█▄█"], ["walk_1", " ▄▀▄▀█ ▄▀█ \n ▄▀ ▀ ▀▀ █ \n █▄█▄ ▄ █ ▄█\n █ █▀█ █▀ █▀ █\n ▄▀▀▄ ▄▄▀ ▄▀\n █ ▄ ▀▀▀▀ ▄▄ █\n █▀▄ █▄▄█\n █▄▄▄█▀▀▀▀▄▄▄▄█ "], ["walk_2", " ▄ ▄▄ ▄▄ \n ▄▀▄▀ █▄▀ █ \n ▄ █ ▄▀ ▄\n █▀██▄ ▄█ █▄▀█\n ▄▀█ ▀ ▀ ▄▀ ▄▀\n █ ▄▀▄▄▄▄▀▀ ▄▄ █\n █▀▄ █▄▄█\n █▄▄▄█▀▀▀▀▄▄▄▄█ "]]], + ["meramon_x", [["angry", " ▄ ▄▄▄ ▄▄ \n ██▄█████▄██▀ \n ▀█▀ ▀██▀ \n█▄▄██▄ ▄█ █▄█▄█\n▀█▀█▄ ▄█▀▀█▀▄\n █▄▀▀██▀███▄ ▄▀\n █ ██▄ ▄███▀ ▄ █\n █████▀▀█████▀▀"], ["attack", " ▄▄███▀ ▄▄\n ▄▀ ▀▀████▀\n ▄▀ ▄█ ██ \n ▄▄▄███ ██▀▄ \n█▄ ▀ ▄█▄▄▄█████ \n▄█▀ ▀█ ▄███▀ \n▀▄▄█▄▄█▀▀▄██▄ \n ▄███▀███▄ "], ["eat_1", " █▄ ▄███▄ ▄██ \n ██▀▀ ▀▀███ \n▄ █▀▄ ▄▀▄ █ ▄ ▄\n████ ▄▄ ▄████▀\n ▀▄▀▄▄▀▀▄▄█▄ ▀ █\n ▄▀█▄▀██▀███▀ ▀▄\n ▀▄███▄▄███▄▄█▄█\n ▄███▀ ▀███▄ "], ["eat_2", " ▄ ▄▄▄ ▄▄ \n ██▄█▀▀██▄██▀ \n ▀█ ▀█▀ \n█▄▄█▀▄ ▄▀▄ █▄█▄█\n▀█▀█▄ ▄█▀▀█▀▄\n █▄▀▀██▀███▄ ▄▀\n █ ██▄ ▄███▀ ▄ █\n █████▀▀█████▀▀"], ["happy", " █▄ ▄███▄ ▄██ \n ██▀▀ ▀▀███ \n█▄▄█▀▄ ▄▀▄ █▄█▄█\n████ ▄▄▄▄ ▄▀▀█▀▄\n █▄▀▄▄▀▀▄▄██▄ ▄▀\n█ ▀█▄▀██▀██▀ ▄ █\n ▀████▄▄████▀▀▀▀\n ▄███▀ ▀███▄ "], ["injured_1", " \n ▄ ▄▄▄ ▄▄ \n ██▄█▀▀██▄▄█▀ \n ▀█ ▀█▀ \n█▄ █▄█ █▄ █▄█▄█\n▀██▀▄▄ ▄▄█▄ ▀ █\n ▄▀█▄ ▀▀▄███▀▀██\n█▄▄███▄████▄▄▄█ "], ["injured_2", " \n \n █▄ ▄███▄ ██ \n ██▀▀ ▀▀███ \n█▄ █ ▄ ▄ █▄█▄█\n▀███▀▀ ▀▀▄▀ ▀ █\n ▄█▄▀▀▄▄▀██▄▀▀▄█\n█▄▄██▄▄▄███▄▄▄█ "], ["sleep_1", " \n ▄ ▄▄▄ ▄▄ \n ██▄█▀▀██▄▄█▀ \n ▀█ ▀█▀ \n█▄ █▄▄ ▄▄ █▄█▄█\n▀██▀▄▄ ▄▄█▄ ▀ █\n ▄▀█▄ ▀▀▄███▀▀██\n█▄▄███▄████▄▄▄█ "], ["sleep_2", " \n █▄ ▄███▄ ▄██ \n ██▀▀ ▀▀███ \n▄ █▄▄ ▄▄ █ ▄ ▄\n████ ▄████▀\n ▀▄▀█▄▄▄▄██▄ ▀ █\n ▄▀█▄ ▀▀▄███▀▀██\n█▄▄███▄████▄▄▄█ "], ["walk_1", " █▄ ▄███▄ ▄██ \n ██▀▀ ▀▀███ \n▄ ██▄ ▄█ █ ▄ ▄\n████ ▀ ▀ ▄████▀\n ▀▄▀█▄▄▄▄██▄ ▀ █\n ▄▀█▄ ▀▀▄███▀ ▀▄\n ▀▄███▄████▄▄█▄█\n ▄███▀ ▀███▄ "], ["walk_2", " ▄ ▄▄▄ ▄▄ \n ██▄█▀▀██▄██▀ \n ▀█▄ ▄▀█▀ \n█▄▄█▀█ █▀ █▄█▄█\n▀█▀█▄ ▄█▀▀█▀▄\n █▄▀▀██▀███▄ ▄▀\n █ ██▄ ▄███▀ ▄ █\n █████▀▀█████▀▀"]]], + ["mermaimon", [["angry", " \n ▄██▄███▄▄ \n ▄█▀▄▀▄▄▀████ \n ▀▄█ ▄▀▄▄█ \n ▀█▀ ▀▀ ▄█ \n ▄█▀█▀██▄█ █▄ \n █ █▀ ▀█ █▄█▀▀\n ▀▀███████▀ "], ["attack", " ▄██▄███▄▄ \n▄█▀▄▀▄▄▀███▄ \n▀▄█ ▄▀▄▄█▀ \n █▀▀ ▀▀ █ \n█▀█▄█▀▀██▄█ \n▀▄▄██▄▄▄▄█ █▄ \n █▄ ███ █▀▀▀\n ▀███████▀ "], ["eat_1", " ▄██▄███▄▄ \n ▄█▀▄▀▄▄▀███▄ \n ▀▄▀▄ ▄▀▄▄█▀ \n █ ▀▄▄▀ █ \n ▀▄██▄▄█▀▄ \n ▄▀█▄▀▄█▀▀█ ▄ \n ▀▄█▄ █▄▄▀ ██▄\n ▀████████▀ "], ["eat_2", " \n ▄██▄███▄▄ \n▄▀▀▄▄▀▄▄▄▄▀█▄▄ \n▀█▀ ▄ ▄ ▀▄▄▀ \n ▀▄▀ ▀ ▀ ▀▄▀ \n ██▀█▀███▄ █▄ \n █ █▀ ▀█ █▄█▀▀\n ▀▀███████▀ "], ["happy", " ▄██▄███▄▄ \n▄▀▀▄▄▀▄▄▄▄▀█▄▄ \n▀█▀ ▄ ▄ ▀▄▄▀ \n █ ▀ ▀ ▀ ▀ █ \n ▀▄▄██▄▄▄▀▄ \n ▄▀█▄▀▄█▀▀█ ▄ \n ▀▄█▄ █▄▄▀ ██▄\n ▀████████▀ "], ["injured_1", " \n ▄▄ ▄▄▄ \n ██▀█▀▀███▄▄ \n█▀▄▀ ▀▀▄▀▀█▀ \n █▄█ █▄ ▀█▀ ▄ \n ▀▄▄▄▄▄██▄ ██▄ \n █ █▀ ▀█ ██▀ \n ▀▀███████▀ "], ["injured_2", " \n \n ▄██▄███▄▄ \n▄█▀▄▀▄▄▀████ \n▀▄▀▄ ▄ ▀▄▄█ \n ▀█▀ ▀▀ ▄█ █▄ \n ██▀▀█▀▀█▄▄██▀\n █▄▀███▄▄██▀▀ "], ["sleep_1", " \n ▄▄ ▄▄▄ \n ██▀█▀▀███▄▄ \n█▀▄▀ ▀▀▄▀▀█▀ \n █▀▀ ▀▀▀█▀ ▄ \n ▀▄▄▄▄▄██▄ ██▄ \n █ █▀ ▀█ ██▀ \n ▀▀███████▀ "], ["sleep_2", " \n ▄██▄███▄▄ \n ▄█▀▄▀▄▄▀████ \n ▀▄█▄ ▄█▄▄█ \n ▀▄ ▄█ \n ▄█▀█▀██▄█ █▄ \n █ █▀ ▀█ █▄█▀▀\n ▀▀███████▀ "], ["walk_1", " ▄▄ ▄▄▄ \n ██▀█▀▀███▄ \n █▀▄▀ ▀▀▄▀▀██ \n █ █ █ ▀█▀ \n ▀▄██▄▄█▀▄ \n ▄▀█▄▀▄█▀▀█ ▄ \n ▀▄█▄ █▄▄▀ ██▄\n ▀████████▀ "], ["walk_2", " \n ▄██▄███▄▄ \n ▄█▀▄▀▄▄▀████ \n ▀▄▀▄ ▄▀▄▄█ \n ▀▄▀▄▄▀ ▄█ \n ▄█▀█▀██▄█ █▄ \n █ █▀ ▀█ █▄█▀▀\n ▀▀███████▀ "]]], + ["metaletemon", [["angry", " ▄██▀█▀▀██▄ \n▄▀▀██▀▀▀▀▀▀██▀▀▄\n█ ▀█▀███▀███▄▀ █\n▀▄ █▀▀▄▀▀▀▀█ ▄▀\n ▀▀▄▀ ▀▀ ▄███▄ \n ████████ ██ █\n ██ ███ █▀█▀▄█\n ███▄█▄██████ "], ["attack", " ▄██▀█▀▀██▄ \n▄▀▀██▀▀▀▀▀▀██▀▀▄\n█ ▀█▀███▀███▄▀ █\n▀▄ █▀▀▄▀▀▀▀█ ▄▀\n ▀▀▀████ ▄███▄ \n ▄████▀█ ██ █\n ▄█▄▄▄▄▄█▀█▀▄█\n █▄███▄██████ "], ["eat_1", " ▄█▀▀█▀█▄ \n ▄▄██▀▀▀▀▀███▄▄ \n█ ▄█▄█▀█▄███▄ █\n█ █▄▄█▄▄▄ █ █\n ▀███████▀██▀██ \n ▄▀█ ▀▀▀▀ ██▄██ \n ▀█▀███████▄▀▀ \n █▄███▄▀█▄███ "], ["eat_2", " ▄█▀▀█▀█▄ \n ▄▄██▀▀▀▀▀███▄▄ \n█ ▄█▄█▀█▄███▄ █\n█ █▄▄█▄▄▄ █ █\n █▀██▄▄▄▄██▀██▀ \n █▄█▀████▀█▄██ \n █ ████████▄ \n █▄██▄▀▀▄██▄██ "], ["happy", " ▄█▀▀█▀█▄ \n ▄▄███▀▀▀▀▀██▄▄ \n█ ▄█▄▄▀█▄▄██▄ █\n█ █▄▄█▄▄▄ █ █\n▄█▀█████████▀▀█▄\n▀█▄█▄▀▀▀▀▄█▀█▄██\n ▄▀████▀███▀▀▀ \n █▄███▀ █▄███▄ "], ["injured_1", " \n ▄██▀█▀▀██▄ \n▄▀▀█▀▀▀▀▀▀▀██▀▀▄\n█ ▀█▀ ██ ▀██▀▀ █\n▀▄ █▀▀▄▀▀▀▀█ ▄▀\n ▀█▄ ▀ ▄████▄\n █▀███████▀█▀▄█\n █▄█▄██▄█▄▄█▄██"], ["injured_2", " \n \n ▄██▀█▀▀██▄ \n▄▀▀█▀▀▀▀▀▀▀██▀▀▄\n█ ▀█████████▀▀ █\n▀▄ █▄▄▀█▄▄██ ▄▀\n █▀▄▄█▄▄▄▄▀██▀▄\n ██▄█▄██▄█▄▄█▄██"], ["sleep_1", " \n ▄▄▄▄▄▄▄▄ \n ▄▄███▄█▄▄███▄▄ \n█ ▄██▄▄▄▄▄▄█▀▄ █\n█ █▄▄▀█▄▄██▀ █\n ▀▄█ █ █▄▄▀▄\n ▄█▀██▄████ ██ █\n ██▄█▄██▄█▄▄█▄██"], ["sleep_2", " \n ▄██▀█▀▀██▄ \n▄▀▀██▀▀▀▀▀▀██▀▀▄\n█ ▀█▀▀██▀▀██▄▀ █\n▀▄ █▀▀▄▀▀▀▀█ ▄▀\n ██▄███▄▄▄███▀█\n ██▀██▄▄███ ██ █\n ██▄█▄██▄█▄▄█▄██"], ["walk_1", " ▄█▀█▀▀█▄ \n▄▀▀██▀▀▀▀▀▀██▀▀▄\n█ ▄█▀███▀███▄▄ █\n▀▄ █▀▀▄▀▀▀▀█ ▄▀\n ▄▀█▄▄▄▄▄▄▄█▀▀▄ \n█▄▄▄ █████ ▄▄▀█ \n ▀▀██▀███████▀ \n █▄██▄▀▀▄▄███ "], ["walk_2", " ▄█▀▀█▀█▄ \n ▄▄██▀▀▀▀▀▀██▄▄ \n█ ▄█▄█▀█▄███▄ █\n█ █▄▄█▄▄▄ █ █\n █▀███▀▀▀███▀▀█▄\n ▀█▀▄██████▄█▄██\n █ ████▀███▀▀▀ \n █▄███▄▀█▄███ "]]], + ["metalgarurumon", [["angry", " \n ▄▀█ ▄▀█ ▄▄\n █▄▄█▄▄▀ ▄▀█ █\n ▄▄▀ ▄ ▀▀▄█ █\n█▄▄▄▄▄█▀ ▄▀▀█ █▄\n █▄█▄█▄█▀█▄▄▀▄ █\n █▄▄▄▄▄▄▀ █▄█▄ █\n█▄▄█▄▄▄▄▄█▄█▄▄▄█"], ["attack", " ▄▀█ ▄▀█▄▀█\n ▄█▄█▄▄▀▄█ █ █\n ▄▄▀ ▄▀▀▄█ █\n█ ▄▄▄ ▄▀▀ ▄█▄▄▀▄\n ▀██████ ▄▀ ▄▀ █\n ▄▀██▀██▀█▀▀ █\n █▄▄▄▄▄▄▀ ▄▀█ █\n█▄▄█▄▄▄▄▄▀ █▄▄▄█"], ["eat_1", " ▄▀█ ▄▀█ \n █▄█▄▄█ ▄▀ \n ▄▄▀ ▄ ▀█ ▄▄\n█ ▀ ▀ █ █ █\n ▀▄██▄█▀▀▄▀▀▄▀ █\n ██▄▄█ █▄▄▀ ▀▄\n █▄▄▄▄▄▄▀ ▄█▄ █\n█▄▄█▄▄▄▄▄█▄▄▄▄▄▀"], ["eat_2", " \n ▄▀█ ▄▀█ \n █▄▀▀▀▀▄▀ █ \n▄▄▀ ▄▀▄▀▄█ █▀▀▄\n█▄▄▀▄▄▄▄ ▄█▄▄█ █\n ▀▄▄▄▄ █▄▄▀ ▀▄\n ▄▄█▄▄▄ ▄█▄ █\n█▄▄█▄▄▄▄▄█▄▄▄▄▄▀"], ["happy", " ▄▀██▄▄ ▄▀▀█ \n █▀ ▄ ▀▄ █ \n █▀ ▀ ▀ █ \n ▀██████▄▄▀▀█▄ \n▄▀████▀▀ ▀▀▄▄▀▀█\n▀▄▄█ ▀▄▄█ ▀▄█ \n ▄█ ▄█ ▄█ █\n █▄▄█▄▄█▄▄▄▄█▄▄▀"], ["injured_1", " \n \n \n █▀▄▀▀▀▀▄▀▀▀█ \n▄▄▀ ▀▄▄ █▀▀▀▀▄ \n█▄▄▄▄▄▄▄▄▀▀█ █\n▄▀▄ ▄▀ ▀██▄▄▀ █\n█▄▄██▄▄▄█▄█▄▄▄▄▀"], ["injured_2", " \n \n \n ▄▄ ▄▄▄▄ ▄▄▄▄ \n ▀▄▀ ▄ █ ▄▄▀▀▄ \n█▀ ▀▀ █▄▄ █\n█▀█▀▀█▀▀▀▄▄█▄▀ █\n█▄▄██▄▄▄█▄█▄▄▄▄▀"], ["sleep_1", " \n \n \n ▄▀██▄▄▄▄▀▀█ \n █▀ ▀▄▄▀▀▀▄ \n▄▀ ▀▀ █▀█▀ █\n██▀▀▀▀▀▀▀█▄▄█▀ █\n█▄████▄██▄█▄▄▄▄▀"], ["sleep_2", " \n \n ▄▄▄ ▄▄▄ \n █▄▀▀▀▀▄▀ ▄▀ \n ▄▀ ▄▄ ▀██▀▀▄ \n█▄▄▄▄▄▄▄▄▀ ▄▀▀ █\n▄▀▄▄▄▄ █▀█▄▀ █\n█▄█▄▄▄▄██▄█▄▄▄▄▀"], ["walk_1", " ▄▀▀█ ▄▀▀█ \n █▄▀▀▀▀█ ▄▀ \n▄▄▀ ▄█▀ ▀█ ▄▀█\n█▄▄▀▄▄▄▄▄▀▀█▄█ █\n ▀▄▄▄▄ ▀▄▄▄▀ ▀▄\n █ █ ▄ ▄▀ █\n ▄█ █ █▄▄█▄ █\n █▄█▄█▄█▄▀ █▄▄▄█"], ["walk_2", " ▄▄▄ ▄▄▄ \n █▄▀▀▀▀█▀▀ ▄▀ \n▄▄▀ ▄█▀ ▀▄▀ ▄▀█\n█▄▄▀▄▄▄▄▄▀▀▄█ ▄▀\n ▀▄▄▄▄▄▀▄▄▄▀ ▄▀ \n▄▀▄ ▄▄ ▄ █ \n█ █ █▄██▄█ ▀▀▄\n ▀▀▀▀ ▀▄█▄▄▄▀"]]], + ["metalgarurumon_x", [["angry", " ▄▄▄ \n ▄▀▀▀ ▄█▄▀█▄\n ██▀▀ ▄▀ ▀▄▄█▀██\n █▄▄▄▄▄▄ █▄▄███ \n ▀▄▄▄▄▄▀█ ▄▀ ▀█\n ▄▀ █▄█▄▄█▀▄▀▄▄█\n █▄█▀▀▄▄█▀▀▄█▀ \n █▄▄█▀ █▄▄█ "], ["attack", "▄▄▄▄▄▄▄▀▀▀▀▄▄▄ \n▀▄▄ ▄▀▀▀ ▄█▀▄\n ██▀▀▄▄█ ▀▄█▀█\n █▄▄▄▄▄ █▄██▀\n ▀▄▄▄▄▀▄█▀ ▀▄\n ▄▀▀▄█▄█▀▄▀▄▄█\n ▀█▀▄▄▀▀▄█▄ \n █▄▄▀ ▀▄▄▄█ "], ["eat_1", " ▄▄▄▀▀█ ▄▄ \n ██▀▀▀▄▄ ▄▀▀█▄██\n ▀▄▄▄▄▄ ▄▀▀█▄██\n ██▀▀█ █▀▀██▀ \n ▄█▀▀▀▄▀█▄█▀ ▀▄\n █ ▀██▄▄█▀▄▀▄▄▀\n ▀█▀▀▄▄▀▀█▄▀▀ \n █▄▄█▀ █▄▄▄█ "], ["eat_2", " ▄▄▄ \n ▄▀▀▀ ▄█▄▀█▄\n ██▀▀▄▀▄ ▀▄▄█▀██\n █▄▄▄▄▄ ▄█▄▄███▀\n ▀▄▄▄▄█▀█ ▄▀▀▄ \n ▄▀ █▄█▄▄██▄ ▄█ \n ▀▄█▀▀▄▄█▀▀▄▀▄▀ \n █▄▄█ ▀█▄▄██ "], ["happy", " ▄▄▄▀▀█ ▄▄ \n ▄▄▄▄▀▄ ▄▀██▄██\n █▀ ▀ ▀ ▄█ █ ██\n ▀█████ █▀█▄█▄█ \n ▄▀▄▄▄▄█▀▄█ ▄▀ \n ▀▄▄█▄█▄▄█▀▀▀ \n ▄▀▀▄▄▀▀█▄ \n █▄▄█▀ █▄▄▄█ "], ["injured_1", " \n ▄▄▄▀▀█ ▄▄ \n ▄▄▄▄▀▄ ▄▀▀█▄██\n █▀ ▀▀ ▄▀▀█▄██\n ▀█▀▀▀▀▄██▀███▀ \n ▄██▀█▀ █▀ ▀▄ \n ▄▀▀█▀▀█▀▄▀▄▄█ \n█▄█▄▄████▄██▄▄█ "], ["injured_2", " \n ▄▄▄ \n ▄▀▀▀ ▄█▄▀█▄ \n██▀▀ █▄ ▀▄▄█▀██ \n█▄▄▄▄▄ ▄█▄▄███▀ \n ▀▄▄▄▄█▀ █▀ ▀█ \n █▀▀█▀▀█▀▄▀▄▄█ \n█▄█▄▄████▄██▄▄█ "], ["sleep_1", " \n ▄▄▄ \n ▄▀▀▀ ▄█▄▀█▄ \n██▀▀ ▄▄ ▀▄▄█▀██ \n█▄▄▄▄▄ ▄█▄▄███ \n ▀▄▄▄▄█▀ █ ▄▀ ▀▄\n █▀▀█▀█▀▀█▀▄▀▄▄▀\n █▄▄▄██▄▄▄█▄██ "], ["sleep_2", " \n ▄▄▄▀▀█ ▄▄ \n ▄▄▄▄▀ ▄▀▀█▄██\n █▀ ▀▀ ▄▀▀█▄██\n ▀█▀▀▀▀▄███▀▀█▀ \n █▀█▀█▀ █▄▀ ▀▄\n █▀▀█▀█▀▀█▀▄▀▄▄▀\n █▄▄▄██▄▄▄█▄██ "], ["walk_1", " ▄▄▄▀▀█ ▄▄ \n ▄▄▄▄▀ ▄ ▄▀▀█▄██\n █▀ ▀▀ ▄▀▀█▄██\n ▀█▀▀▀ ▄██▀▀█▀▀ \n ▀█▀█▀ █▄▀ ▀▄ \n ▄▀ █▀▀█▀▄▀▄▄▀ \n ▀▄▀▀██▀▀▄█▀ \n █▄▄█▀ █▄▄▄█ "], ["walk_2", " ▄▄▄ \n ▄▀▀▀ ▄█▄▀█▄\n ██▀▀ ▄█ ▀▄▄█▀██\n █▄▄▄▄ ▄█▄▄███▀\n ▀▄▄▄▄█▀█ ▄▀ ▀▄\n ▄▄▀▄█▄▄█▀▄▀▄▄▀\n ▀▄▀▀▄▄█▀▀▄█ \n █▄▄█ ▀█▄▄▄█ "]]], + ["metalgreymon_vaccine", [["angry", " ▄▄▄▄▄ ▄▄▄ \n██▄▄███▀▀█████▀ \n██████▄▄███▀█ █ \n▀█▀ ▀██▀ ▀▄▀▄ █\n ▀▀█▀▀ ▄▄▄ ▀█ █\n▄▀▀█ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["attack", "██▄▄▄█████▄▄███ \n██████▀ ▄████▀▄ \n██ ▀███▀▄█ ▀▄\n █ █▀▄▄█ ▀▄ █\n█▀▀▀▀▀▄▀ █▄ █ █\n ▀█▀▀▀ █ ▀▄▀▄█\n ▄█▄ ▀█▀ ▀▄▀\n█▄█▄███▀▀▀▄█▄█▄█"], ["eat_1", "██▄▄▄█████▄▄███ \n██████▄▄▄████▀▄ \n▀▀▀▀▀██████▀█ ▀▄\n ▄▀▀█▀ ▀▄▀▄ █\n█▀▀▀ ▄▀ ▄▄▄ ▀█ █\n▄▀▀█▀ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_2", " ▄▄▄▄▄ ▄▄▄ \n██▄▄██▀▀██████▀ \n█████▄██▄██▀█ █ \n▀█▀▀▀▀██▀ ▀▄▀▄ █\n ▀▀█▀▀ ▄▄▄ ▀█ █\n ▄▀█ █ █ ▄▀▄█\n █▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["happy", "██▄▄▄█████▄▄███ \n██████▀▄▄▀███▀▄ \n▀▀▀▀▀██████▀█ ▀▄\n ▄▀▀█▀ ▀▄▀▄ █\n█▀▀▀ ▄▀ ▄▄▄ ▀█ █\n▄▀▀█▀ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["injured_1", " ▄▄▄▄▄ ▄▄▄ \n██▄▄██████████▀ \n█████▄▀▀███▀█ █ \n▀█▀▀▀▀██▀ ▀▄▀▄ █\n ▀▀█▀▀ ▀█ █\n █ █▄▄█ ▀▄█\n ▄▄▀▄ █ ▄▀▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["injured_2", " \n▄▄ ▄█████▄▄███ \n█████▀███████▀▄ \n██████▄▄█▀█ █ ▀▄\n ▀▄▄▄▄█▀ ▀▄█ █\n █ ▄ ▄ ▀▄█\n ▄▄▀▄ █▀█▀▀▀▄▀\n█▄█▄▄█▄▄██▄█▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄ ▄▄▄ \n██▄▄██████████▀ \n██████▄▄███▀█ █ \n▀█▀▀▀▀██▀ ▀▄█ █\n▄██▀▀▀▀ ▄▀█▀▀▀▄█\n█ ▀▄ █▄▀ ▀█\n█▄▄▄█▄▄▄▄█▄▄▄▄▄█"], ["sleep_2", " \n▄▄ ▄█████▄▄███ \n██████▀▀█████▀▄ \n█████████▀█ █ ▀▄\n ▀▄▄▄▄█▀ ▀▄█ █\n▄█ █ ▄▀▀▄▀▀▀▄█\n█ ▀▀▄ ▀▄▄▀ ▀█\n█▄▄▄▄█▄▄▄█▄▄▄▄▄█"], ["walk_1", "▄▄ ▄█████▄▄███ \n█████▀▄ ▄████▀▄ \n█████████▀█ █ █ \n ▀▄▄▄▄█▀ █ █\n ▄▄▀ ▄▄▀ ▀▄█ █\n █ █ █ █ ▄█▀▄█\n ▄█▀▄ ▀▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄ ▄▄▄ \n██▄▄██▀▀▀█████▀ \n█████▄█▄███▀█ █ \n▀█▀▀▀▀██▀ ▀▄▀▄ █\n ▀▀█▀▀ ▄▄▄ ▀█ █\n▄▀▀█ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"]]], + ["metalgreymon_vaccine_x", [["angry", " ▄▄ ▄▄▄▄▄ ▄▄ ▄\n█ █▀▀ ▄ ▄▀▀ █ ▄█\n█▀ ▀▀ ▀▀██ ▄█▀\n▀▄▀▀▀▀▀▄▀▀ ▀▄▀▄█\n ▀▀██▄▄▄▄▄▀▀▄▀ \n ▄█▄ █ ▄▀ ██▄\n █▄█ ▀▀▀▀█ █▄▀▄▀\n█▄█▄█▄▄▄▄███▄█▄█"], ["attack", "▄▀█▄▄▀▀▀▀█▄▀█ █\n█▄▀ ▄██ █▄▄▄▀ ██\n█ ▄▄▄▄▄ ▄▄▀█ █▀▄\n ▀███▀▀█ ▄█ █▀\n ▄█▀▀▀▀▀ ██ ▀█ \n█▄██▀████ ▀▄█▄██\n ▄▄▀▄ ▄ █ ▀\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["eat_1", "▄▀█▄▄▀▀▀▀█▄▀█ █\n█▄▀ ▄▀▄ █▄▄▄▀ ██\n█ ▄▄▄▄▄ ▄▄▀█ █▀▄\n ▀█████▀█ ▄█ █▀\n ▄▀▄▄▄ ▄▀▀█▄ ▀█▄\n ▀▄█▀▄█▄▄▀█ ▄ ██\n ▄█▀▄ ▄▀▀▀█▀ \n█▄█▄▄█▀▀█▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄▄▄▄ ▄▄ ▄\n█ █▀▀▄ ▄▀▀ █ ▄█\n█▀ ▀ ▀ ▀▀██ ▄█▀\n▀▄▀▀▀▀▀▄▀▀ ▀▄▀▄█\n ▀▀██▄▄▄▄▄▀▀█▀ \n ▄█▄ █ ▄█▀ █▄\n █▄█ ▀▀▀▀ █▄█▄█▀\n█▄█▄█▄▄▄▄█▄█▄█▄█"], ["happy", "▄▀█▄▄▀▀▀▀█▄▀█ ▄█\n█▄▀ ▄▀▄ █▄▄▄▀▄██\n█ ▄▄▄▄▄ ▄▄█▀█▀█▄\n ▀ ▄▄▄▀▀ ▀▄ █▀\n ▀▄▄▄▄▀▀▀█ ▄█▄\n █▀▄▄█▄▄▀ ▀█▀ █\n ▄▄▀▄ ▄ █ \n█▄█▄▄█▀▀█▄█▄█▄█ "], ["injured_1", " \n▄▀█▄▄▀▀▀▀█▄▀█ \n█▄▀ █▄ █▄▄▄▀ ▄ \n█ ▄▄▄▄▄ ▄▄▀█ █▀█\n ▀▄▄▄▄ ▀ ▄█ █▄\n ▄▀▄▀█▀▀██ █ █\n █▄▄█▀▀▀█ ▄ █▀▄ \n█▄█▄██▄▄████▄█▄█"], ["injured_2", " \n ▄▄ ▄▄▄▄▄ ▄▄ \n█ █▀▀▄ ▄▀▀ █ \n█▀ ▀▀ ▀▀██ ▄█▄\n▀▄▀▀▀▀▀▄▀▀ ▀▄▀▄▀\n █▀██▄▄▄▄▄▀▀▄▀█\n █▄▄█▄█▄█▀▀ ▄▀▄▀\n█▄█▄█▄▄▄█▄█▄██▄█"], ["sleep_1", " \n ▄▄ ▄▄▄▄▄ ▄▄ \n█ █▀▀ ▄▀▀ █ \n█▀ ▀▀ ▀▀██ ▄█▄\n▀▄▀▀▀▀▀▄▀▀ ▀▄▀▄▀\n ▀███▄▄▄▄▄▀▀▄▀█\n █▀▀▄▄█▄▄█▀ █ ▀\n █▄▄▄█▄▄██▄█▄██ "], ["sleep_2", " \n▄▀█▄▄▀▀▀▀█▄▀█ \n█▄▀ ▄▄ █▄▄▄▀ \n█ ▄▄▄▄▄ ▄▄▀█ ▄█▄\n ▀▄▄▄▄ ▀ ▄█▀▄▀\n ▄▀▀█▀▀██ ▀▄▀█\n █▀▀█▀▀▀▀█ ▄ █ ▀\n █▄▄▄█▄▄█▄███▄█ "], ["walk_1", "▄▀█▄▄▀▀▀▀█▄▀█ █\n█▄▀ ▄█▀ █▄▄▄▀ ██\n█ ▄▄▄▄▄ ▄▄▀█ █▀▄\n ▀▄▄▄▄ ▀ ▄█ █▀\n ▄▄▀▀█▀▀██ █▄ \n █ █▀▄█▄█ ▄ ▄█▀█\n ▄█▀▄ ▀█▀▀ █ ▀\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄▄▄ ▄▄ ▄\n█ █▀▀▄▄ ▄▀▀ █ ▄█\n█▀ ▀▀ ▀▀██ ▄█▀\n▀▄▀▀▀▀▀▄▀▀ ▀▄▀▄█\n ▀▀██▄▄▄▄▄▀▀█▀ \n ▄▀█▄ █ ▄▀▀ ██▄\n █▄█ ▀▀▀█▄█▄▀▀▄▀\n█▄█▄█▄▄▄▄█▄█▄█▄█"]]], + ["metalgreymon_virus", [["angry", " ▄▄▄▄▄ ▄▄▄ \n█▀▄▄█ ▄▄ ▀▀ ▄▀ \n█▀ ▄▄ ▀▀ ▄▄▀█ █ \n▀█▀ ▀▄▄▀ ▀▄▀▄ █\n ▀▀█▀▀ ▄▄▄ ▀█ █\n▄▀▀█ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["attack", "█▀▄▄▄▀▀▀▀▀▄▄▀▀█ \n█▀ ▄█▀ ▄▀▄ \n▀▀▀▀▀▄ ▄▄▀█ ▀▄\n ▄▀▀▄▀ ▀▄▀▄ █\n█▀▀▀ ▄▀ ▄▄▄ ▀█ █\n▄▀▀█▀ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_1", "█▀▄▄▄▀▀▀▀▀▄▄▀▀█ \n█▀ ▀▀▀ ▄▀▄ \n▀▀▀▀▀▄ ▄▄▀█ ▀▄\n ▄▀▀▄▀ ▀▄▀▄ █\n█▀▀▀ ▄▀ ▄▄▄ ▀█ █\n▄▀▀█▀ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_2", " ▄▄▄▄▄ ▄▄▄ \n█▀▄▄▀ ▄▄ ▀▀ ▄▀ \n█▀ ▀ ▀▄▄▀█ █ \n▀█▀▀▀▀▄▄▀ ▀▄▀▄ █\n ▀▀█▀▀ ▄▄▄ ▀█ █\n ▄▀█ █ █ ▄▀▄█\n █▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["happy", "█▀▄▄▄▀▀▀▀▀▄▄▀▀█ \n█▀ ▄▀▀▄ ▄▀▄ \n▀▀▀▀▀▄ ▄▄▀█ ▀▄\n ▄▀▀▄▀ ▀▄▀▄ █\n█▀▀▀ ▄▀ ▄▄▄ ▀█ █\n▄▀▀█▀ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["injured_1", " ▄▄▄▄▄ ▄▄▄ \n█▀▄▄▀ ▀▀ ▄▀ \n█▀ ▀▄▄ ▄▄▀█ █ \n▀█▀▀▀▀▄▄▀ ▀▄▀▄ █\n ▀▀█▀▀ ▀█ █\n █ █▄▄█ ▀▄█\n ▄▄▀▄ █ ▄▀▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["injured_2", " \n▄▄ ▄▀▀▀▀▀▄▄▀▀█ \n█▄▀▀ ▄ ▄▄▀▄ \n█▄▄▄▄▄▀▀▄▀█ █ ▀▄\n ▀▄▄▄▄█▀ ▀▄█ █\n █ ▄ ▄ ▀▄█\n ▄▄▀▄ █▀█▀▀▀▄▀\n█▄█▄▄█▄▄██▄█▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄ ▄▄▄ \n█▀▄▄█ ▀▀ ▄▀ \n█▀ ▀▀ ▄▄▀█ █ \n▀█▀▀▀▀▄▄▀ ▀▄█ █\n▄██▀▀▀▀ ▄▀█▀▀▀▄█\n█ ▀▄ █▄▀ ▀█\n█▄▄▄█▄▄▄▄█▄▄▄▄▄█"], ["sleep_2", " \n▄▄ ▄▀▀▀▀▀▄▄▀▀█ \n█▄▀▀▀ ▄▄ ▄▄▀▄ \n█▄▄▄▄▄ ▄▀█ █ ▀▄\n ▀▄▄▄▄█▀ ▀▄█ █\n▄█ █ ▄▀▀▄▀▀▀▄█\n█ ▀▀▄ ▀▄▄▀ ▀█\n█▄▄▄▄█▄▄▄█▄▄▄▄▄█"], ["walk_1", "▄▄ ▄▀▀▀▀▀▄▄▀▀█ \n█▄▀▀▀▄▀█▀ ▄▄▀▄ \n█▄▄▄▄▄ ▄▀█ █ █ \n ▀▄▄▄▄█▀ █ █\n ▄▄▀ ▄▄▀ ▀▄█ █\n █ █ █ █ ▄█▀▄█\n ▄█▀▄ ▀▀▀█ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄ ▄▄▄ \n█▀▄▄█ ▄▄▄ ▀▀ ▄▀ \n█▀ ▀ ▀ ▄▄▀█ █ \n▀█▀▀▀▀▄▄▀ ▀▄▀▄ █\n ▀▀█▀▀ ▄▄▄ ▀█ █\n▄▀▀█ █ █ ▄▀▄█\n▀▄▄▀▄ ▀▀█▀ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"]]], + ["metalgreymon_virus_x", [["angry", " ▄▄▄ ▄▄▄▄▄ ▄▄ ▄\n█ ▄▀▀ ▄ ▄█ █ ▄█\n█▀ ▀▀ ▀▄▄▄▀▄█▀\n▀▄▀▀▀█▄████▄ ▀▄█\n ▀▀████▀█ ▄▀▄▀ \n ▄▀█ ▄▄ ▄█▀ █▄ \n █▄██▄▄██▄▀▄█▄█▀\n█▄█▄██▀▀▀██▄█▄▄█"], ["attack", " ▄▀▀█▄▀▀▀▀▀▄▀█\n █▄▀ ▄█ ▄▀▀ █\n █ ▄▄▄▄ ▄██▀ \n ▄▄▄█▄▄▄█▀▀████▄\n▀ ▀ ▀ ▀█ ▄█▄▀█ \n▀▄█▄█▄██▄ ▀▄█▀█▄\n ▄██▄▄▄█████▄ \n █▄█▄██▀██▄█▄▄█"], ["eat_1", "▄▀▀█▄▀▀▀▀▀▄▀█ █\n█▄▀ ▄▀▄ ▄▀▀ █ ██\n█ ▄▄▄ ▄▄██▀ █▀▄\n ▀████ ███▀▀▄ █▀\n █▀▀▀ █ █▄▀ █ \n █▀██▀▀▄█▀▄ ▄▀█▄\n ▄██████▄▀▄██▄ ▀\n█▄█▄██▀▀██▄█▄▄█ "], ["eat_2", " ▄▄▄ ▄▄▄▄▄ ▄▄ ▄\n█ ▄▀▀▄ ▄█ █ ▄█\n█▀ ▀ ▀ ▀▄▄▄▀▄█▀\n▀▄▀▀▀█▄████▄ ▀▄█\n ▀▀████▀█ ▄▀▄▀ \n ▄▀█ ▄▄ ▄█▀ █▄ \n █▄██▄▄██▄▀▄█▄█▀\n█▄█▄██▀▀▀██▄█▄▄█"], ["happy", "▄▀▀█▄▀▀▀▀▀▄▀█ █\n█▄▀ ▄▀▄ ▄▀▀ █ ██\n█ ▄▄▄▄ ▄▄███ █▀▄\n ▀████ ██████▀██\n▄▄█▀▀ ▄█ ██▀ ▀▄▀\n█ ▀██▀▀▄██▄▄▄▀█▄\n ████████████▄ ▀\n█▄█▄██▀▀██▄█▄▄█ "], ["injured_1", " \n ▄▄▄ ▄▄▄▄▄ ▄▄ \n█ ▄▀▀▄ ▄█ █ ▄█\n█▀ ▀▀ ▀ ▄▄▀██▀\n▀▄▀▀▀█▄▄███▄ ██\n ██▀▀▀▀▀██▀███▀\n █ ██▀▀▄█▀ ▄▀██\n█▄▄█████▄█▄█▄▄▄█"], ["injured_2", " \n \n▄▀▀█▄▀▀▀▀▀▄▀█ \n█▄▀ █▄ ▄▀▀ █ ▄█\n█ ▄▄▄▄ ▄▄█▀ ▀█▀\n ▀▄▄▄▀▀▀▀███▄▄██\n █▀██▀▀▄█▀ █▀█▀\n█▄▄█████▄█▄█▄▄▄█"], ["sleep_1", " \n \n▄▀▀█▄▀▀▀▀▀▄▀█ █\n█▄▀ ▄▄▄ ▄▀▀ █ ██\n█ ▄▄▄▄ ▄▄██▀ █▀▄\n ▀▄▄▄█████▀▀▄ █▀\n█▀▄█ ▄▄ ▄█▀█▀█▄ \n█▄▄██▄▄██▄▄▄▄▄█▀"], ["sleep_2", " \n ▄▄▄ ▄▄▄▄▄ ▄▄ ▄\n█ ▄▀▀ ▄█ █ ▄█\n█▀ ▀▀▀ ▀▄▄▄▀▄█▀\n▀▄▀▀▀█▄████▄ ▀▄█\n ▀▀████▀█ ▄▀▄▀ \n█▀▄█ ▄▄ ▄█▀█▀█▄ \n█▄▄██▄▄██▄▄▄▄▄█▀"], ["walk_1", "▄▀▀█▄▀▀▀▀▀▄▀█ █\n█▄▀ ▄█▀ ▄▀▀ █ ██\n█ ▄▄▄▄ ▄▄██▀ █▀▄\n ▀▄▄▄█████▀▀▄ █▀\n ▄▄▀▀▀▀ █▄▀ █ \n █ █▄▀▀▄█▀▄ ▄▀█▄\n ▄██████▄▀▄██▄ ▀\n█▄█▄██▀▀██▄█▄▄█ "], ["walk_2", " ▄▄▄ ▄▄▄▄▄ ▄▄ ▄\n█ ▄▀▀▄▄ ▄█ █ ▄█\n█▀ ▀▀ ▀▄▄▄▀▄█▀\n▀▄▀▀▀█▄████▄ ▀▄█\n ▀▀████▀█ ▄▀▄▀ \n ▄▀█ ▄▄ ▄█▀ █▄ \n █▄██▄▄██▄▀▄█▄█▀\n█▄█▄██▀▀▀██▄█▄▄█"]]], + ["metallicdramon", [["angry", " \n ▄▄▀▀▄▀▀█ \n▄▀██▀██▄▄▀ \n███▄▄█▀ ▄▀▀▄ \n ▀▄▄▄ ▄ ▄█ ▄▄\n █▀▄ █ ▄▄█ █\n ▄█▀ █ ▄▄█ \n █▄▄█▀▀█▄█▄▄▄▄█"], ["attack", " ▄▄▀▀▄▀▀█ ▄▄▄\n▄▀██▀▀█▄▄▀ ▄▀ ▄▀\n███▄▄▀▀ █ █ ▀▀█\n ▀▄ █ ▄▀ ▀█ \n █▄▄▀▄ ▀█▄▄\n ▀▄▄▄█▀▄ ▄█▀ ▄▀\n ▀▄ ▀▄▄█▄ ▀█ \n ▀▀▀ ▀▀ "], ["eat_1", " ▄▄▄▄▀▀▄▀▀█ \n█▄██▀▀█▄▄█▀ ▄▄▄▄\n█▀▀▀█▀▀ █ ▄▀ ▄▄▀\n ▀▄ █ █ ▄▄▄▀\n █▀▀ ▄ ▀ ▄▄▀ \n ▀█▀▄ ▄▄▄▀▀▀█\n ▄▀ ▄ ▀▄▀▀▀ \n █▄▄█ █▄█▄█ "], ["eat_2", " ▄▄ ▄▄▄ \n ▄▄██▄▄▀ ▄▀ \n█▄█▀▄▀█▀█ \n▀█▀▀▀▀ ▀▄ \n ▀▀█▄ ▄ ▀▄▄ \n █▄▀ █ ▄▄█▀█\n ▄▀▄▄▄▄█ ▄▄█ \n █▄▄█ █▄▄▄▄▄█"], ["happy", " ▄▄▀▀▄▀▀█ \n▄▀██▀██▄▄▀ █▀▀▀█\n███▄█▄▀ █ █ ▀▀▄\n █ ▄▀ ▀█ \n █▀▀▀▄ ▀█▀ \n ▀▀█▄▀ ▄▄▀▀▀▀▀█\n ▄▀ ▄▄ ▀▄▀▀▀ \n █▄▄█ █▄█▄█ "], ["injured_1", " \n ▄▄▀▀▄▀▀█ \n▄▀█▀███▄▄▀ \n███▄▄█▀ ▀▄▄▄ \n ▀▄▄ ▀ ▄█ \n █▀▄ ▀▄ ▄▄█ \n ▄█▀ ▄█ ▄▄█ \n █▄▄█▄█▄▄█▄▄▄▄█"], ["injured_2", " \n ▄▄ ▄▄▄ \n ▄▄██▄▄▀ ▄▀ \n█▄█ ▀██▀▀▄▄▄ \n▀█▀▀▀▀ ▀ ▄█ \n ▀▀█▀▄ ▀▄ ▄▄█ \n ▄█▀ ▄█ ▄▄█ \n █▄▄█▄█▄▄█▄▄▄▄█"], ["sleep_1", " \n ▄▄ ▄▄▄ \n ▄▄██▄▄▀ ▄▀ \n█▄█▀▀██▀▀▄▄▄ \n▀█▀▀▀▀ ▀ ▄█ \n ▀▀█▄ ▀▄ ▄▄█ \n ▄█▄▀ ▄█ ▄▄█ \n █▄▄█▄█▄▄█▄▄▄▄█"], ["sleep_2", " \n ▄▄▀▀▄▀▀█ \n▄▀█████▄▄▀ \n███▄▄█▀ ▀▄▄▄ \n ▀▄▄▄ ▀ ▄█ \n █▄ ▀▄ ▄▄█ \n ▄█▄▀ ▄█ ▄▄█ \n █▄▄█▄█▄▄█▄▄▄▄█"], ["walk_1", " ▄▄▀▀▄▀▀█ \n▄▀██▀▀█▄▄▀ █▀▀▀█\n███▄▄▀▀ █ █ ▀▀▄\n ▀▄▄▄ ▄▀ ▀█ \n █▀▄ ▀█▀ \n █▀ ▄▄▀▀▀▀▀█\n ▄▀ ▄ ▀▄▀▀▀ \n █▄▄█ █▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄ \n ▄▄██▄▄▀ ▄▀ \n█▄█▀ ▄█▀█ \n▀█▀▀▀ ▀▀▄ \n ▀▀█▄ █ ▀▀▀▄▄▀█\n ▄▄█▄▀ █ ▀▀▄▀ \n ▀▄▀▄▄█▄▀▄ ▀▀▀▄\n ▀▀ ▀▀▀▀▀▀▀"]]], + ["metalmamemon", [["angry", " \n \n \n \n ▄▄ \n ▀▄▀▄ ▀▄▀ \n ▀▀▀▄ █ \n ▄▄▀▀▀▀▄▄ "], ["attack", " \n \n ▄ ▄▄▄▄▄ ▄ \n █ ▄█ █ \n ▀▀▀▀▄ █ \n █ █ \n █ █ \n ▄▄▀▀▀▀▀▄▄ "], ["eat_1", " \n \n \n \n ▄▀▀▀▀▄ \n ▀▀▄▀ █▀ \n █ █ \n ▄▄▀▀▀▀▄▄ "], ["eat_2", " \n \n \n \n \n ▄▄ ▄ \n ▄▀▄ ▀▄ \n ▄█▄▄▄▄█▄ "], ["happy", " \n \n \n \n █▄▀▀▀▀▄█ \n █▀▄▄▀█ \n █ ██ █ \n ▄▄▀▀▀▀▄▄ "], ["injured_1", " \n \n \n \n \n ▄▀▀▄ \n █▄ ▄█ \n ▄█▄▄▄▄█▄ "], ["injured_2", " \n \n \n \n \n ▄▄ \n ▄██ ██▄ \n ▄█▄▄▄▄▄▄█▄ "], ["sleep_1", " \n \n \n \n \n ▄▄ \n ▄▀▀ ▀▀▄ \n ███▄▄███ "], ["sleep_2", " \n \n \n \n \n ▄▀▀▀▀▄ \n █▄▄ ▄▄█ \n ▀▄▄▄▄▄▄▀ "], ["walk_1", " \n \n \n \n ▄▄ \n ▀▄▀ ▀▄▀ \n █▀ ▀█ \n ▄▄▀▀▀▀▄▄ "], ["walk_2", " \n \n \n \n \n ▄▀▀▄ \n ▀▀█▄ ▄█▀▀ \n █▄▄▄▄▄▄█ "]]], + ["metalphantomon", [["angry", " ▄▄▄ \n ▄█████▄▀██▄ \n ▄█▀▀▀▀████▄██▀\n ██ ▄█ ██▀▄▀ \n █▄▄▄▄▄▀▄███ \n ██▀▀█▀▄▀ ▀██ \n ▀█▄▀▄▀██▄▄█▀ \n █▄▀▄▄▀▄▀▄█ "], ["attack", " ▄▄▄▄▄▄ \n ▄▀▀▀█████ \n █ ▄█ ▀████ \n █ ▄ ▄▄█████ \n █▀▀▀▄██████\n▄ ▄█▀▀▀▄█▀███\n███▀▀▀█▄▄▀▀▄ ██\n ▀██▄ █▄▀▄▄▀▀▄▀█"], ["eat_1", " ▄████ \n ▄▀▀████▄ █ \n █▄ ▄▄▀██▄ █ \n ▀▄▄▄▄ ██▄ █ \n ▄████ █████▀▄\n ▄▀█▄▄▄▄▀██▄▄█▄▀\n██▄▀▄▀▀▄ ▀███ █ \n ▀█▄▀▄▄▀▄█▀▄▀ █ "], ["eat_2", " ▄█████ \n ▄█████▄ █ \n ▄█▀▀▀▀████▄ █ \n █ ▄ ▄ ███▄ █ \n ██▄▄▄▄▄███▀▀█▀▄\n█ █ ▀██▀ ▄████▄▀\n ▀█ █▀▀█ ▀███ █ \n ▀█▄▀▄▄▀▄█▀▄▀ █ "], ["happy", " ▄▄▄▄▄▄ ▄█\n ▄████████▄ ██\n ██▄ ▄ ▀█▀▄██\n▄▀█▀ ▀ ▀ ▀ █▀█▀▀\n▀▄█ ██▀▀█ ▄▀▄█ \n ▀█▀▄▀▀▀▀▄█▄██ \n ▄█▀ █▀▀█▀▀████ \n ▀▀██▀▄▄▀▀██▀██ "], ["injured_1", " █████▄ \n █ \n █ ▄█████▄ \n ███▀▀▀▀▀██▄ \n ▄▀█ ▄█ █▄ ██ \n █▄█▀▄▄▄▄▄████ \n ██ █▀▀█ ██ █ \n █▄▄██▄▄██▄█▄▄█▄"], ["injured_2", " ▄██▄ \n ▄█▀▀███▄\n ▄▄██▄ ▀██\n ▄███████▄ ▀\n ██▀▄ ▄ ▀███ \n ▄█▄▀▀ ▀▀ ▄███ \n▄█ ▀█▀▀▀████▀█ \n█▄▄██▄▄▄██▄█▄▄█▄"], ["sleep_1", " █████▄ \n █ \n █ ▄▄▄▄▄ \n █▄███████▄ \n ███████████ \n ██▀ ▀▀██ \n ███▄▀▀▀█▄████ \n█▀██▀▄▄▄▀▄█▀▄▀█▄"], ["sleep_2", " █████▄ \n █ \n █ ▄█████▄ \n ██████████▄ \n █▀▄▄ ▄▄▀███ \n ██▀▄ ▄ ▄███ \n ████▀▀▀██████ \n█▄▀█▀▄▄▄▀█▄▀▄██▄"], ["walk_1", " ████▄ \n █ ▄███████▄ \n █ ██▀▀ ▀▀███ \n █ ▄█ █▄ ▄█ ██▄\n█ █ ██▄▄▄▄▄▄█▀██\n▀▄██ ▀██▀ ▄▀▀ █\n █ █ █▄▀▀▄ ▀██▄█\n █ ▀██▀▄▄▀▄█▀██▀"], ["walk_2", " ▄▄▄ \n ▄███████▄▀██▄\n ██▀▀ ▀▀███▄▀█\n █ █▄ ▄█ █▀▄▀ \n ▀█▄▄▄▄▄▄▀▄██ \n ███▀▀█▀▄█ ▀█ \n ███▄▄▀▄▀▀▄▀▄██ \n ▀ ▀█▄▀▀▄▄▀▄█▀█ "]]], + ["metalpiranimon", [["angry", " ▄ ▀ ▄▄▄▄▄ \n ▄▀█▀▀█ ▄▄▄▀ ▄\n█▀▀█▀▀▀▀█▄▀▄▀▄▀█\n█ █ ▄█ █▄▀▄▀█▀█\n█▄▄█▄▄▄▄█▄ ▀█▀█\n▀█▀▀▀▀▀▄█ ▀▄▄█▀█\n ▀▀▀▀▀▀ ▀█▄▄█▄ \n ▀ █▄▄████"], ["attack", "▄ ▄▄▄▄▄▀▀▀▀█ ▀ \n▄▄█▄█▄▄█▄▀█▀▄ ▄█\n█ █ ▄ █▀▄▀▄█▄█\n█ █ ▀▀ █▀ ▀▄█▄█\n██▀█▀█▀█▀█▄ █▄█\n ███████ █▄▀▀█ ▀\n █▀ ▀ ▀▄▀ ▄▄█▄ \n ▀▀▀▀▀ █▄▄███ "], ["eat_1", "▀ ▄▄▄▄▄▀▀▀▀█ \n▄▄█▄█▄▄█▄▀█▀▄ ▄█\n█ █ ▄ █▀▄▀▄█▄█\n█ █ ▀ ▀█▀ ▀▄█▄█\n▀▀▀▀███▀█▀▄ █▄█\n █▀▀▀▀▄▀▀▄▄▀▀█ ▀\n ▀▀▀▀ ▄ ▄▄█▄▄ \n ▀ █▄▄████"], ["eat_2", " ▀ ▄▄▄▄▄ \n▀ ▄▀█▀▀█ ▄▄▄▀ ▄\n█▀▀█▀▀▀▀█▄▀▄▀▄▀█\n█ █ ▄▀▄█▄▀▄▀█▀█\n█▄▄█▄▄▄▄█▄ ▀█▀█\n▀█▄▄▄▄█▄█ ▀▄▄█▀█\n ▀█▄▄█▄ \n █▄▄████"], ["happy", "▄ ▄▄▄▄▄▀▀▀▀█ \n▄▄█▄█▄▄█▄▀█▀▄ ▄█\n█ █ ▄ █▀▄▀▄█▄█\n█ █ ▀ ▀█▀ ▀▄█▄█\n▀▀▀▀███▀█▀▄ █▄█\n ▀ ▄▀▀▄█▀▄▄▀▀█ ▀\n █▄▄█▀ ▄▄█▄▄ \n ▀ █▄▄████"], ["injured_1", " ▀ ▄ \n ▄▄▄▄▄▀▀▀▀█ \n▄▄█▄█▄▄█▄▀█▀▄ ▄█\n█ █ ▄ █▀▄▀▄█▄█\n█ █ ▀▀ █▀ ▀▄█▄█\n██▀▀▀▀█▀█▀▄ █▄█\n ▀▀▀▀▀▀▀▀▄▄███▄▀\n █▄▄███"], ["injured_2", " \n ▀ ▄▄▄ \n ▀ ▄▀▄▄▀ ▄\n ▄▀█▀▀█ █▀▄▀▄▀█\n█▀▀█▀▀▀▀█▄▀▄▀█▀█\n█ █ █▄ █▄ ▀█▀█\n█▄▄█▄▄▄▄█▄█▄▄█▀█\n▀█▄▄▄▄█▄██▄▄████"], ["sleep_1", " ▄ ▀ \n ▄▄▄▄▄▀▀▀▀█ \n▄▄█▄█▄▄█▄▀█▀▄ ▄█\n█ █ █▀▄▀▄█▄█\n█ █ ▀▀ █▀ ▀▄█▄█\n██▀▀▀▀█▀█▀▄ █▄█\n ▀▀▀▀▀▀▀▀▄▄███▄▀\n ▀ █▄▄████"], ["sleep_2", " ▄ ▄ \n ▄▄▄▄▄ \n ▄▀█▀▀█ ▄▄▄▀ ▄\n█▀▀█▀▀▀▀█▄▀▄▀▄▀█\n█ █ ▄▄ █▄▀▄▀█▀█\n█▄▄█▄▄▄▄█▄ ▀█▀█\n▀█▀▀▀▀▀▄█▄█▄▄█▀█\n ▀▀▀▀▀▀ █▄▄████"], ["walk_1", " ▄▄▄▄▄▀▀▀▀█ \n▄▄█▄█▄▄█▄▀█▀▄ ▄█\n█ █ ▄ █▀▄▀▄█▄█\n█ █ ▀▀ █▀ ▀▄█▄█\n██▀▀▀▀█▀█▀▄ █▄█\n ▀▀▀▀▀▀▀▀▄▄▀▀█ ▀\n ▄▄█▄ \n █▄▄███ "], ["walk_2", " ▄ ▀ ▄▄▄▄▄ \n ▄▀█▀▀█ ▄▄▄▀ ▄\n█▀▀█▀▀▀▀█▄▀▄▀▄▀█\n█ █ ▄█ █▄▀▄▀█▀█\n█▄▄█▄▄▄▄█▄ ▀█▀█\n▀█▄▄▄▄█▄█ ▀▄▄█▀█\n ▀█▄▄█▄ \n █▄▄████"]]], + ["metalseadramon", [["angry", "█▀▄▄ ▄▄▄▄▄▀▀▀▀█▀\n ▀▄▄█▀▀████▀▀█▀▀\n████▄▄█████▀█▀▀ \n▄█▄█▄█████▀█▀▀ \n ▄▀▀▀████▀▀ ▄ \n █▄ ███ ▄█▀▄ \n █▄▀█▀██▀▀██▀▄ \n ▀█▄█▄▄▄▀ ▀▄ "], ["attack", "█▀▄▄ ▄▄▄▄▄▀▀▀▀█▀\n ▀▄▄██▀▀███▀▀█▀▀\n████▄▄▄████▀█▀▀ \n▀ ▀ ▀████▀█▀▀ \n ▄ ▄ ▄██▀▀▀▄ ▄\n ▀▀█▀▄██ ▄▀ ▄█▀▄\n █▀▄▀████▀▀█▀▄\n ▀▄█▄█▄▄▄▀ ▀▄"], ["eat_1", "█▀▄▄ ▄▄▄▄▄▀▀▀▀█▀\n ▀▄▄█▀▀████▀▀█▀▀\n███████▄███▀█▀▀ \n ▀████▀█▀▀ \n ▄███▀▀▀▄ ▄\n ▀█▀▄███ ▄▀▄█▀▄\n █▀▄▀████▀▀█▀▄\n ▀▄█▄█▄▄▄▀ ▀▄"], ["eat_2", "█▀▄▄ ▄▄▄▄▄▀▀▀▀█▀\n ▀▄▄███████▀▀█▀▀\n█████▄▄▀███▀█▀▀ \n▀▄▄▄▄█████▀█▀▀ ▄\n ▄▀███▀▀▀▄ ▄▀▄\n █▀▄██ ▄▀ ▄█▀▄\n █▀▄▀████▀▀█▀▄\n ▀▄█▄█▄▄▄▀ "], ["happy", "▄▄▄▄ █▀▄ ▄▄▄▄▄\n▀▄▄▄███ ▀███▄▄▄▀\n ▀▄█▀▄▀██▀▄▀▄▄▀ \n▄ ██▀████▀██ ▄\n▀█▀▀█ █▀▀▀█\n ▀▄▄█▄▄▄▄█▀▄▄▀ \n ▄▀▄▀▄▀▀▄ ▄▄▀\n ▀█▄█▄█▄▄██▄▀"], ["injured_1", "▄▄ ▄▄▄▄▄▄\n▀▄▀▀▄█████▄▄▄▄█▄\n▄▄███▀█████▄▄█▄ \n█▀▀▀█▄▄▄███▄█▄ \n ▀▀▀█▀████▄▀ \n ▄▀▄█▀▀▀█ ▄ \n █▀▄█ ▄█▄▄▄█▄▀▄\n ▀█▄████▄▄█▀▄▀▄"], ["injured_2", " \n█▀▄▄ ▄▄▄▄▄▀▀▀▀█▀\n ▀▄▄███████▀▀█▀▀\n████▄▀▀▀███▀█▀▀ \n▀▄▄███████▀█▀▀ \n ▄▀▄████▀ ▄ \n █▄█▄ █▄▄▄█▀▄▀\n ▀▄███▄██▄█▀▀▄▀"], ["sleep_1", " ▄ ▀ \n█▀▄▄ ▄▄▄▄▄▀▀▀▀█▀\n ▀▄▄███████▀▀█▀▀\n████▀▀▀████▀█▀▀ \n▀▄▄███████▀█▀▀ \n ▄▀▄█████ ▄▀▄ \n █▄▀██ ▄█▄█▀▄▀\n ▀▄█▄█▄█▄▄█▀▀▄▀"], ["sleep_2", "▄▄ ▄▄▄▄▄▄\n▀▄▀▀▄█████▄▄▄▄█▄\n▄▄███▀▀▀███▄▄█▄ \n█▀▀▀███████▄█▄ \n ▀▀▀█▀████▄▀ ▄\n ▄▀▄██ ▄▀ ▄▀▄\n █▀▄▀█▄█▄▄▄█▄▀▄\n ▀█▄█▄██▄▄▄▀▀▀ "], ["walk_1", "█▀▄▄ ▄▄▄▄▄▀▀▀▀█▀\n ▀▄▄█▀▀████▀▀█▀▀\n████▄▄█████▀█▀▀ \n▀▄▄▄▄█████▀█▀▀ ▄\n ▄▀███▀▀▀▄ ▄▀▄\n █▀▄██ ▄▀ ▄█▀▄\n █▀▄▀████▀▀█▀▄\n ▀▄█▄█▄▄▄▀ "], ["walk_2", "▄▄ ▄▄▄▄▄▄\n▀▄▀▀▄█████▄▄▄▄█▄\n▄▄██▀▀▄████▄▄█▄ \n█▀▀▀▀██████▄█▄ \n ▀▀▀██████▄▀ ▄\n ▄▀▄██ ▄▀ ▄▀▄\n █▀▄██▄█▄▄▄██▀▄\n ▀▄█▄███▄▄▀▀▀▄"]]], + ["metaltyrannomon", [["angry", " ▄▄▄▄▄ ▄▄ \n ▄▄▄██▀ ███▄▀ \n████████████▀█ \n █▄█▄█▄███ ▀█▄▄ \n ▄▀▀█▀██ ▀ ██▄█ \n██ ██▄ ████ ▄█\n ▄▄▀█▄ ▄ ▄▄▄██▀\n█▄██▄█▀▀▀█▄█▄█▄█"], ["attack", " ▄▄▄███▀▀█▄▀█ \n██████▄▄████▄▄ \n ▀ ▀ ▀ ▀███▄▀ \n █ █▀█ \n ▄ ▄ ▄ ▄▄▀ ██ ▄\n ▀▀█▀▀▀█▀ ███▀▄█\n ▄▄▀█▄ ▄ ▄▄▄██▀\n█▄██▄█▀▀▀█▄█▄█▄█"], ["eat_1", " ▄▄▄███▀▀█▄▀█ \n██████▄█████▄▄ \n ▀ ▀ ▀ ████▄▀ \n ███ █▀█ \n ▄ ▄ ▄███▀ ██ ▄\n ▀▀█▀▀▀█▀ ███▀▄█\n ▄▄▀█▄ ▄ ▄▄▄██▀\n█▄██▄█▀▀▀█▄█▄█▄█"], ["eat_2", " ▄▄▄▄▄ ▄▄ \n ▄▄▄██▀▄▀██▄▀ \n████████████▀█ \n ▀ ▀ ▀ ███ ▀█▄▄ \n ▄▀▀█▀██ ▀ ██▄█ \n██ ██▄ ████ ▄█\n ▄▄▀█▄ ▄ ▄▄▄██▀\n█▄██▄█▀▀▀█▄█▄█▄█"], ["happy", " ▄███▀██▄▀█ \n▄█████▄█▄███▄▄ \n▀█▀█▀█▀▀████▄▀ \n ███▀█▀█ \n ▄▄▄▄▄▄████ ██ ▄\n ▀█▀▀▀█▀▀▄▄█▀▄█\n ▄▄▀█▄ ▄ ▄▄▄██▀\n█▄██▄█▀▀▀█▄█▄█▄█"], ["injured_1", " \n ▄██████▄▀█ \n ▄▄███▄▀▀███▄▄ \n████████████▄▀ \n ▀▄▄▄█████ ▀█▀█ \n ▄█▄▀▀ ▀ ███▀ \n ▄██▄ ▄ ▄████▄█\n █▄█▄██▄█▄█▄█▄█▀"], ["injured_2", " \n ▄▄▄▄▄▄ ▄▄ \n ███▀████▄▀ \n▄██████▄▄███▀█ \n▀█▀▀▀█████▀██▄▄ \n ▀▀█▀█▀▀█ ▄█▄█ \n ▄██▄ ▄ ▄████▄█\n █▄█▄██▄█▄█▄█▄█▀"], ["sleep_1", " \n ▄▄▄▄▄▄ ▄▄ \n ████████▄▀ \n▄█████▄▄▄███▀█ \n▀█▀▀▀█████▀██▄▄ \n ▀▀█▀█▀▀█ ▄█▄█ \n ▄██▄ ▄ ▄████▄█\n █▄█▄██▄█▄█▄█▄█▀"], ["sleep_2", " \n ▄██████▄▀█ \n ▄▄███▀▀▀███▄▄ \n████████████▄▀ \n ▀▄▄▄█████ ▀█▀█ \n ▄█▄▀▀ ▀ ███▀ \n ▄██▄ ▄ ▄████▄█\n █▄█▄██▄█▄█▄█▄█▀"], ["walk_1", " ▄███▀▀█▄▀█ \n▄█████▄▄████▄▄ \n██▀▀▀ ▀███ █▄▀ \n ▀▀▀█▀██▀█ ▄█▀█ \n ▄ █▄ ▀▀▄▄██▀█▀ \n██ ██▀ ▀▀▀▀▄█▄█\n ▄▄▄▀█▄▀▄██▄▄▄█▀\n█▄███▄▀▀▀█▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄ ▄▄ \n ▄▄▄██▀ ▄██▄▀ \n████████████▀█ \n ▀ ▀ ▀ ███ ▀█▄▄ \n ▄▀▀█▀██ ▀ ██▄█ \n██ ██▄ ████ ▄█\n ▄▄▀█▄ ▄ ▄▄▄██▀\n█▄██▄█▀▀▀█▄█▄█▄█"]]], + ["metaltyrannomon_x", [["angry", " ▄▄▄▄ ▄▄▄ \n ▄▄▀▀ ▄ ▀▄▄▀█ \n█ ▀▀▄▄▄█▀▄▄ \n█▀▀█ ▄▀▀ ▄▀▀▀█▀█\n █▀█▀▀▀▀▀▄▀▀▄ ██\n ▀▄█ ▄▄▄ ▀▄▄█▄█ \n ▄█▀█▄ ▀▀▄▄▄▄█ \n█▄█▄▄██▄▄█▄█▄█▄█"], ["attack", " ▄▄▀▀▀▀▄▀▀█▄ \n▄▀▀ ▄█ ▀█▄▀ \n█▄▄▄ ▄▄▀▀█▀▄▄ \n ▀██▄██▀ ███▀▀█ \n ▄▀▀█▀▀▀█▀ █▄ █ \n ▀▀██▀▀ █ ▄▀▀█ \n ▄█▀█▀█▀█ ▀▄ \n █▄█▄▄██▀▄█▄█▄█ "], ["eat_1", " ▄▄▄▄▀▀▀▀▄▀▀█▄ \n█ ▄▀▄ ▀█▄▀ \n▀██▄ ▄▄▄▀██▄██▄\n▄███▄█▀ ▄▀ ▀▄ █\n▀▄▄▄▄▄▄▀▀▄█ █▄▀\n █ █ ▄▄▄█ ▀▄▀▄ \n ▄█▀█▄ ▀█▀ ▀▄\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_2", " ▄▄▄▄ ▄▄▄ \n ▄▄▀▀ ▄ ▀▄▄▀█ \n█ ▀ ▀▄▄▄█▀▄▄ \n█▀▀█ ▄▀▀ ▄▀▀█▀▀█\n ▀▀█▀▀▀▀▀ ▄ ▀▄█\n ▄▀█ ▄▄▄ ▄▀▀▄ █ \n █▄▀█▄ ▀▀▄▄▄██ \n█▄█▄▄██▄▄█▄█▄█▄█"], ["happy", " ▄▄▄▄▀▀▀▀▄▀▀█▄ \n█ ▄▀▄ ▀█▄▀ \n████▄ ▄▄▀█▀▀▀█▄\n▀████▄█▀▀ █▄ ██\n █▄▄▄▄▄▀▀▀▀ ▄▀▀\n█ █▄▄▄▄ ▄█▀▀▄ \n ██▀▄▀▄ ▀▀█ ▀▄\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["injured_1", " \n ▄▄▀▀▀▀▄▀▀█▄ \n▄▀▀ █▄ ▀█▄▀ \n█▄▄▄ ▄▄▀▀██▄██▄\n▀▄▄█▄█▄▄▄▀ ▀▄ █\n ▄▀▄ ▄▄ ▀▄ █▄▀\n ▄█▀▀█ ▀▀█▀▀██ \n█▄█▄▄██▄▄▄█▄▄█▄█"], ["injured_2", " \n ▄▄▄▄ ▄▄▄ \n ▄▄▀▀ ▄ ▀▄▄▀█ \n█ ▀▀▄▄▄█▀▄▄ \n█▀▀█ ▄▀▀ ▄▀▀█▀▀█\n ▀█▀█▀▀▀▀▄▄ █ █\n ▄█▀▀▄▀▀▄▄█▀▀██ \n█▄█▄▄██▄▄▄█▄▄█▄█"], ["sleep_1", " \n ▄▄▀▀▀▀▄▀▀█▄ \n▄▀▀ ▄▄ ▀█▄▀ \n█▄▄▄ ▄▄▀▀██▄██▄\n▀▄▄█▄█▄▄▄▀ █▀█ █\n ▄▄█ ▄▄▄ ▄█▄▄██▀\n█ ▀ ▀▄ ▀█ ▀ ▀ █\n▀▄▄▄▄██▄▄█▄▄▄▄▄▀"], ["sleep_2", " ▄▄▄▄ ▄▄▄ \n ▄▄▀▀ ▀▄▄▀█ \n █ ▀▀ ▄▄▄█▀ \n █▀▀█ ▄▀▀ ▄▀███▄\n ▀█▀▀▀▀▀▀ █ █ █\n ▄▄█ ▄▄▄ ▄█▄▄██▀\n█ ▀ ▀▄ ▀█ ▀ ▀ █\n▀▄▄▄▄██▄▄█▄▄▄▄▄▀"], ["walk_1", " ▄▄▀▀▀▀▄▀▀█▄ \n▄▀▀ ▄█▀ ▀█▄▀ \n█▄▄▄ ▄▄▀▀██▄██▄\n▀▄▄█▄█▄▄▄▀ ▀▄ █\n ▄█ ▄▄▀ █▄▀\n █ █▄▀▀█ ▀▄█▀▄ \n ▄█▀▄▀▄ ▀▀█▀ ▀▄\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["walk_2", " ▄▄▄▄ ▄▄▄ \n ▄▄▀▀ ▄▄ ▀▄▄▀█ \n█ ▀▀ ▄▄▄█▀▄▄ \n█▀▀█ ▄▀▀ ▄▀▀█▀▀█\n ▀▀█▀▀▀▀▀ ▄ █ █\n ▄▀█ ▄▄▄▀▀▄ ▄█▀ \n █▄██▄ ▀▄▄▄█▀ █ \n█▄█▄▄██▄▄█▄█▄█▄█"]]], + ["mimicmon", [["angry", " ▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n█▄█▄▄▄▄▄▄▄▄▄▄▀▄█\n ▀▀█ ██ ██▀█ ▀█▄\n ▄▀█ ██ █▄▄█ █▄█\n █▀▀▄▄▄▄▄▄▄▄ ▀█ \n ▀▄▄█ ▄▄██▄█ \n▄▀██▄ ▀▄▄█ █ \n▀███▀ ▀▀▀ "], ["attack", " ▄ █▀▀▀▀▀▀▀▀█▀█\n ▀██████▀██▀▄█▀\n █▀ █ ██ ▄▀█\n ▄▄ █▀▀▀ ▀▀▄██▀\n█▄██ ▀█▀███▀█▄▀▄\n ▀▀▄ ▀▄▄▀█▀▀█▀█\n ▀▀▀ ▀██▄▀\n "], ["eat_1", "▄ █▀▀▀▀▀▀▀▀▀▀█▀█\n▀███▀██▀███▀█▄█▀\n ▄█ ██ █▄█ █▄▀█\n █▄█ ██ ███ █▀█▀\n█ █ ██ ███ █ █ \n ▀█▀▄▄▄▄▄▄▄▄█▄█ \n▄▀██▄ ▀▄▄█ █ \n▀███▀ ▀▀▀ "], ["eat_2", " ▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n█▄█▄▄▄▄▄▄▄▄▄▄▀▄█\n ▀▀█ ██ █▀██ ▀█▄\n ▄▀█ ██ ▄█▄█ █▄█\n █▀▀▄▄▄▄▄▄▄▄ ▀█ \n ▀▄▄█ ▄▄██▄█ \n▄▀██▄ ▀▄▄█ █ \n▀███▀ ▀▀▀ "], ["happy", "▄ █▀▀▀▀▀▀▀▀▀▀█▀█\n▀███▀██▀████▀▄█▀\n ▄█ ██ ▀▄▀█ ▄▀█\n █▄█ ██ ████ ██▀\n█ █▄▀▀ ▀▀▀▄█▄▀▄\n ▀█▀ ▀▀▀▀▀█▀▀█▀█\n▄▀██▄ ▀██▄▀\n▀███▀ "], ["injured_1", " \n \n \n▄ █▀▀▀▀▀▀▀▀▀▀█▀█\n▀███▀█▀████▀█▄█▀\n ▄█ █ █ ▀█ █▄▀█\n █▀█▀█▄▀▀█▀▀█▀█▀\n ▀▄███▀▀▀▀▀██▄▀ "], ["injured_2", " \n \n \n ▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n█▄█▄▄▄▄▄▄▄▄▄▄▀▄█\n ▀▀█ █ █▀██ █▀█▄\n ▄▀█▀███▄▄█▄█▀▄█\n █▄████▄▄█▄▄█▄█ "], ["sleep_1", " \n▄ █▀▀▀▀▀▀▀▀▀▀█▀█\n▀███▀█▀████▀█▄█▀\n ▄█ █ █▄▄█ █▄▀█\n █▄█▄▀ ▀▀▀▀▄▀██▀\n █ █▀▀▀▀███▄▄█ \n▄▀██ ▀▄▄█ █ \n▀██▀ ▀▀▀ "], ["sleep_2", " ▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n█▄█▄▄▄▄▄▄▄▄▄▄▀▄█\n ▀▀█ █ █▀▀█ █▀█▄\n ▄▀█ █ ████ ██▄█\n █▀▀█▄▄▄▄▄▄█ ▀█ \n ▀▄▄▀ █▀▀█▀█ \n▄▀█▄ ▀██▄▀ \n▀██▀ "], ["walk_1", "▄ █▀▀▀▀▀▀▀▀▀▀█▀█\n▀███▀██▀███▀█▄█▀\n ▄█ ██ █▄█ █▄▀█\n █▄█ ▀▀ ▀▀▀▄▀██▀\n █ █▀▀▀▀▀▀█▄ █ \n █▀▀ █▀▀█▀█ \n▄▀██▄ ▀██▄▀ \n▀███▀ "], ["walk_2", " ▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n█▄█▄▄▄▄▄▄▄▄▄▄▀▄█\n ▀▀█ ██ █▀█ █▀█▄\n ▄▀█ ██ ███ ██▄█\n █▀▀▄▄▄▄▄▄▄█ ▀█ \n ▀▄▄█ ▄▄██▄█ \n▄▀██▄ ▀▄▄█ █ \n▀███▀ ▀▀▀ "]]], + ["minervamon_x", [["angry", " \n ▄▄▄▄ \n ▄▀▀▀▀ ▀▄▀ \n ▄▀▄ ▄█ █ ██\n ▀▄▄▄▄▄▄█▀▀▄▄▀ \n ▀▄▄▄▀█▄▀▀▄ \n ██▄▄▄█ ██ █ \n █▄▄█▀▀▄█▄▄▀ "], ["attack", " ▄▄▄▀█▀█ \n ▄▀ ▄ ▄▀ ▄▄\n █ ▀ ▀▀▄█▄█▀▀\n █▀▀▀██▄▀▄▀▄\n █▀▄▄▀█▀▀ █▄▀▄▀\n █ ▄▀▄██▀█▀█▀ \n█ ▄▀ ▄█▀▀▀▄▄▀ \n▀▄▄▄▀▀ "], ["eat_1", " \n ▄▄▄▄▀█▀█ \n ▄▀ ▄ ▄▀ ▄▄\n █ ▀ ▀ ▀▄█▄ █▀\n ▀████▀█▄▄█▀ \n █▀▀▀▄█▀▄▄▀▄ \n ▀▄▀█▀▄█▄▀▀▄▀ \n █▄█▀▀▄▄█▀▀ "], ["eat_2", " \n ▄▄▄▄ \n ▄▀▀▀▀ ▀▄▀ \n ▄▀▄ ▄▀▄ █ \n ▀▄▄▄▄▄▄█▀▄ ██\n █▄▄▄▄█▀▀▄▀▀▀ \n ▀▄█▄▄█ ██ █ \n █▄▄▀▀▄█▄▄█ "], ["happy", " \n ▄▄▄▄▀█▀█ ▄▄\n ▄▀ ▄ ▄▀ ▄█▀\n █ ▀ ▀ ▀▄█▀▀█ \n ▀████▀█ ██ █ \n █▀▀▀▄█▀▄▄▀ \n ▄▀█▀█▄▀ \n █▄█▀▀▄▄█ "], ["injured_1", " \n \n ▄▄▄▄▀█▀█ \n ▄▀ ▄ ▄▀ \n █ ▀ ▀▀▄█▄▄ \n █▀▀▀██▄▀▀▄▀██\n █▀▄█▀▀ █ ██ █ \n █▄▄██████▄▄▀ "], ["injured_2", " \n \n ▄▄▄▄ \n ▄▀▀▀▀ ▀▄▀ \n ▄▀▄ █▄ █▄▄ \n ▀▄▄▄▄▄▄▄▄▀▀█▄▄ \n █▀▄▄▄█▀█ ██ █▀ \n █▄▄██████▄▄▀ "], ["sleep_1", " \n \n ▄▄▄▄▀█▀█ \n ▄▀ ▄▀ \n █ ▀ ▀▀▀▄█▄▄ \n █▀▀▀█▀█▄▀▀███ \n ▄▀█▀▀█▀█ ██ █▀ \n █▄▄███▄██▄▄▀ "], ["sleep_2", " \n ▄▄▄▄ \n ▄▀▀▀▀ ▀▄▀ \n ▄▀▄ ▄▄▄ █ \n ▀▄▄▄▄▄▄█▀▀▄▄██\n ▀▄▄▄▀█▄▀▀▄ ▀▀\n ▄▀█▄▄▄▀█ ██ █ \n █▄▄█▄█▄▄█▄▄▀ "], ["walk_1", " \n ▄▄▄▄▀█▀█ \n ▄▀ ▄▄ ▄▀ ▄▄\n █ ▀ ▀ ▀▄█▄ █▀\n █▀▀▀██▀▄▄▀▀ \n █▀▀ █▀▄▄▀▄ \n ▀▄▀█▀█▄▀▀▄▀ \n █▄█▀▀▄█▀▀ "], ["walk_2", " \n ▄▄▄▄ \n ▄▀▀▀▀ ▀▄▀ \n ▄▀▄ ▄▀█ █ ██\n ▀▄▄▄▄▄▄█▀▀▄▄▀ \n █▄▄▄▀█▄▀▀▄ \n ▀▄█▄▄▄█ ██ █ \n █▄▄▀▀▀▄█▄▄▀ "]]], + ["minomon", [["angry", " ▄▄▄ ▀▄ ▄▄▄\n ▀▄▀▀▀▀▀▀█ ▄▀\n █▄ ▄ █ \n ▄█▀█▄▄▀▀ █▄ \n ▀▄█ █ █▄▄█▄▀ \n ██▄▀▀▀ ▀▄█ █ \n ▀▄ ▄▀ \n ▀▀▄▄█▀ "], ["attack", " ▄▄▄ ▄▀ ▄▄▄▄ \n ▀▄▀▀▀▀▀▀▄ ▄▀ \n █▄ ▄▄ █ \n ██▀█▄▄▀▀ ▄▀█ \n ▀▄█ █ █▄█▄▄▀ \n █▄ ▀▀▀▀ ▄▄▀ \n █ ▄▄▀ \n █▄▄█▀▀ "], ["eat_1", " ▄▄▄ █ ▄▄▄▄ \n ▀▄▀▀▀▀▀▀▄ ▄▀ \n █ ▄ ▄ █ \n ▄█▀█▄▄▄▀▀ █▄ \n ▀▄█ ██ █▄▀▄▀ \n ██▄▀▀▀█▄▀ █ \n ▀▄ ▄▀ \n ▀▀▄▄▀▀ "], ["eat_2", " █ \n █▀█▄▄█▄▄▀▀▀█ \n ▄▀ ▀▄▀ \n █▀▄ ▄▀▄ █ \n █▀▄▀█▀▄ ▄▀█ \n ▄▀▀▄█▄█▀█ ▀▄ \n ▀▄ ▀▀ ▀▀ ▄▀ \n ▀▄▄▄▄▄▄▀ "], ["happy", " ▄▄▄ █ ▄▄▄▄ \n ▀▄▀▀▀▀▀▀▄ ▄▀ \n █▀▄ ▄▀▄ █ \n ██ ▄▄▄▄ ▄▀█ \n ▀▄█ ██ ██▄▄▀ \n █ ▀▀▀▀▀ █ \n ▀▄ ▄▀ \n ▀▀▄▄▀▀ "], ["injured_1", " █ \n ▄▀█▄▄█▄▄▀▀▄ \n ▀▄▀ ▀▄▄█ \n █▄█ █▄ █ \n █▀▄▀█▀▄ ▄▀█ \n ▄▀▀▄█▄█▀█ ▀▄ \n ▀▄ ▀▀ ▀▀ ▄▀ \n ▀▄▄▄▄▄▄▀ "], ["injured_2", " █ \n ▄▄ █ ▄▄ \n ▄▀▄▀▀▀▀▀▀▄ ▀▄ \n █ ▄ ▄ █▀▀ \n ▄█▀█▄▄▀▀ █▄ \n ▀▄█ █ █▄▄▀▄▀ \n █ ██▀█▄▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["sleep_1", " ▄▀█▄▄█▄▄▀▀▄ \n ▀▄▀ ▀▄▄█ \n █▄▄ ▄▄ █ \n █▀▄▀█▀▄ ▄▀█ \n ▄▀▀▄█▄▀▀▀ ▀▄ \n ▀▄ ▄▀ \n ▀▄▄ ▄▄▀ \n ▀▀ "], ["sleep_2", " ▄▄▄ █ ▄▄▄▄ \n ▀▄▀▀▀▀▀▀▄ ▄▀ \n █ █ \n ▄█▀█▄▄▀▀ █▄ \n ▀▄█ █ █▄▄▀▄▀ \n █ ▀▀▀ █ \n ▀▄ ▄▀ \n ▀▀▄▄▀▀ "], ["walk_1", " ▄▄▄ █ ▄▄▄▄ \n ▀▄▀▀▀▀▀▀▄ ▄▀ \n █ ▄ ▄ █ \n ▄█▀█▄▄ ▀▀ █▄ \n ▀▄█ █ █▄▄▀▄▀ \n █▄ █▄▀█▄▀ ▄█ \n ▀▄ ▄▀ \n ▀▀▄▄▀▀ "], ["walk_2", " ▄▄ █ ▄▄▄ \n █ █▄▄█▄▄▀ ▄▀ \n ▄▀ ▀█ \n █▄█ ▄█ █ \n █▀▄▀█▀▄ ▄▀█ \n ▄▀▀▄█▄█▀█ ▀▄ \n ▀▄ ▀▀ ▀▀ ▄▀ \n ▀▄▄▄▄▄▄▀ "]]], + ["minotarumon", [["angry", " ▄ ▄ \n ██▄▄▀█▀▀▀▄▄▄██ \n ▀█ ▀ ▄ ▀▀█▀ \n ▄█ ▄ ▀▀▀▄▀▄ \n ▀▄▄▄▄▄▀█▄▄▄▀ \n ▄▀▀█ ▀▄ ▄▀ █ \n ▀█▀▀▄ █ █▄▄▄▀ \n █▄▄▄▄█▄█▄▄▄▄█ "], ["attack", " ▄ ▄ \n ██▄▄▀█▀▀▀▄▄▄██ \n ▀█ ▀ ▄ ▀▀█▀ \n ▄█ ▄ ▀▀ █▀▄ \n ▀▄▄▄▄▄▀█▄▄▄▀ \n ▄▀▀█ ▀▄ ▄▀ █ \n ▀█▀▀▄ █ ▀▄▄▄█ \n █▄▄▄▄█▄▄▀▄▄▄▄█ "], ["eat_1", " ▄ ▄ \n ██▄▄▀█▀▀▀▄▄▄██ \n ▀█ ▀ ▄ ▀▀█▀ \n ▄█ ▄ ▀▀ █▀▄ \n ▀▄▄▄▄▄▀█▄▄▄▀ \n ▄▀▀█ ▀▄ ▄▀ █ \n ▀█▀▀▄ █ ▀▄▄▄█ \n █▄▄▄▄█▄▄▀▄▄▄▄█ "], ["eat_2", " ▄█ ▄▄▄▄▄ █▄ \n ▀██▀▄▀ ████▀ \n ▄█ ▄ ▀▀ ▄▄▀ \n █▄▄▄▄▄▄▄▀ ▀▄ \n ▄█▀▀▀▄▀▀█▀▀▄ \n █ █▀▀█ █ █ \n █▀▀▄ ▀ ▄▀▀█ \n █▄▄▄▄█▀▀▄▄▄▄█ "], ["happy", " ▄█ ▄▄▄▄▄ █▄ \n ▀██▀▄▀ ████▀ \n █ ▄▀▄▄▄█▄ \n █▀ ▀ ▄▄█ █ \n ▄██▀█▀ ▀█▄▄▀ \n █ █ █ █ █ \n █▀▀▄ ▀ ▄▀▀▄ \n █▄▄▄▄█▀▀▄▄▄▄█ "], ["injured_1", " \n▄█ ▄▄▄▄▄ █▄ \n▀██▀▄▀ ████▀ \n █ █▄ ▄▀ \n █▀ ▀ ▄▄▀ ▀▄ \n ▄▀▀█▀▀▄▀█▀▀▄ \n ▀█▀▀▄ ██ █ \n █▄▄▄▄█▄████▄█ "], ["injured_2", " \n ▄ ▄ \n██▄▄▀█▀▀▀▄▄▄██ \n ▀█ ▀ ▄ ▀▀█▀ \n ▄█ ▄ ▀▀▄▀▄ \n ▀▄▄▄▄▄▀█▄▄▄▀ \n ▄▀▀▄ █▄▀ █ \n █▄▄▄▄█▄█▄▄▄██ "], ["refuse", " ▄ ▄ \n ██▄▄▀▀▀▀▀▄▄▄██ \n ▀█ ▄▄▀▀█▀ \n ▄█ ▄ ▀▀▀▄▀▄ \n █▄▄▄▄▄▀█▄▄▄▀ \n █ █ ▀▄ ▄▀ █ \n ▀█▀▀▄ █ █▄▄▄▀ \n █▄▄▄▄█▄█▄▄▄▄█ "], ["sleep_1", " ▄ ▄ \n ██▄▄▀█▀▀▀▄▄▄██ \n ▀█ ▀ ▀▀█▀ \n ▄█ ▄ ▀▀ ▄▀▄ \n ▀▄▄▄▄▄▀█▄▄▄█ \n ▄█ █ ▀▄ ▄█ █ \n █ ▀▀▄ ██ ▀▀█▀▀ \n █▄▄▄▄█▄█▄▄▄█ "], ["sleep_2", " \n ▄█ ▄▄▄▄▄ █▄ \n ▀██▀ ████▀ \n █ ▄▄ ▄▀ \n █▀ ▀ ▄▄█▄█▄ \n ▄█▀█▀▀█ ▄█ █ \n █ ▀▀▄ ██ ▀▀█▀▀ \n █▄▄▄▄█▄█▄▄▄█ "], ["walk_1", " ▄█ ▄▄▄▄▄ █▄ \n ▀██▀ ████▀ \n █ ▄█ ▄▄▀ \n █▀ ▀ ▄▄▀ ▀▄ \n ▄██▀█▀ ▀█▀▀▄ \n █ █ █ █ █ \n █▀▀▄ ▀ ▄▀▀█ \n █▄▄▄▄█▀▀▄▄▄▄█ "], ["walk_2", " ▄ ▄ \n ██▄▄▀█▀▀▀▄▄▄██ \n ▀█ ▀ ▄ ▀▀█▀ \n ▄█ ▄ ▀▀ █▀▄ \n ▀▄▄▄▄▄▀█▄▄▄▀ \n ▄▀▀█ ▀▄ ▄▀ █ \n ▀█▀▀▄ █ ▀▄▄▄█ \n █▄▄▄▄█▄▄▀▄▄▄▄█ "]]], + ["miragegaogamon", [["angry", " ▄▄▄██▄▀▀█ \n ▄▀▀▀ ▄█▀▄▀ \n▄▄█▀█▀▄▀▀ ▄██▀▀▄\n▀▄▀█▀▀▀ ▄█▄█▀ █\n ▀▄▀▀█▀▀▄▀ █ ▄▄█\n ▀██▀▀▀▀██▀ \n ▄▄█▄▄█▄▄█▄▄█▄ \n█▄█▄▄█ █▄▄█▄█ "], ["attack", " ▄▄ ▄▄ \n █▀▀▀▀█ █ \n ▄▀▀ ▄█▀ █▄▄ \n ▀▀█▀▀▄▄▄▀█ ▄▀▄\n▄▄▄▀█▀▀ █▄▀▀▀▀█\n█ ▀▄█▄▄█▄▄█ █\n█▄██▄▄▄▄▄▄▄█▀▀▄█\n █▄█▄▄██▄▄█▄█ "], ["eat_1", " \n █▀▀▀▀█▀▀▄ \n ▄▀▀ ▄▀▄ ██▄ \n ▀▀█▀▀▄▄▄▀█ ▄▀▄\n ▄▀█▀▀ █▀▀█ ▄▀\n ▄▀▄▄█▄▄█▄▄█ ▀▀█\n █▄█▄▄█▄▄█▄█▄ █\n ▀▄█▄▄▄██▄▄██▄▄▀"], ["eat_2", " ▄▄██▄█▀▄ \n ▄▀▀ ▄▄ ▀▄▀ \n ▀███▄▀ ▄█▀▀▄ \n█▀▄▄▀▀▀▄▄█▄█▄▀▀█\n█ █▀█▀ ▄▀ ▄▀ █\n ▀▄▄██▀▀▀▀█▄▄▄▀ \n ▄▄█▄▄█▄▄█▄▄█ \n▀▄█▄▄▄█ █▄▄█▄█ "], ["happy", " ▄▄██▄█▀▄ \n ▄▀▀ ▄ ▀▄▀ \n▄▄████▄▀ ▀▄██▀▀█\n▀▄ ▄▀▀▀▄▄█▄█▀ █\n ▀█ ▀█▀ ▄▀ █ ▄▄▀\n ▀██▀▀▀▀██▀ \n ▄▄█▄▄█▄▄█▄▄█ \n▀▄█▄▄▄█ █▄▄█▄█ "], ["injured_1", " ▄▄ \n █▀▀▀▀█▀▄ \n █▀▀ ▄ █▄█ \n ▀▄▄▄▄ ▀▀ █▄▄▄▄ \n ▄▀▄▄▄▀█▀█▄█▄▄▀█\n█ █▀▄▄▀▀▄▀ █▀▄▄▀\n█▄▀█▄▄▄██ █▄▄█ \n█▄▄█▄▄█▄█▄▄▄█▄▄█"], ["injured_2", " \n ▄▄██▄▄▄▄ \n ▄▄▄▀ ▀▄▄█ \n █ ▀▄▄ █ ▄▄▄ \n ▄█▀▀▀▄▄▄▄▀█▄▄▀█\n█ █▀██▀▀▄▀▀█▀▄▄▀\n█▄▀█▄▄▄██ █▄▄█ \n█▄▄█▄▄█▄█▄▄▄█▄▄█"], ["refuse", " █▀▄█▀▄ \n █▀▀▀█▄█ \n ▄▀▀ ▄█▀ █▄▄ \n █▀█▀▀▄▄▄▀█▀▄█▄\n █ ▀█▀▀ █▀█ █\n█▄▄▀▄█▄▄█▄▄▄█ █\n ▄▄█▄▄█▄▄█▄▄█▀▀ \n▀▄█▄▄▄█ █▄▄█▄█ "], ["sleep_1", " \n ▄▄ ▄▄ \n █▀▀▀▀█ █ \n ▄▀▀ ▄▄ █▄▄ \n ▀██▀▀▄▄▄██▄▄▀▄\n▄▄█ ▀█▀ ▄▀ ▄▀▄▄▀\n█▄▀█▀█▀▀█▀▀█▀▄█ \n█▄▄█▄▄██▄▄▄█▄▄█ "], ["sleep_2", " \n \n ▄▄██▄█▀▄ \n ▄▄▀ ▀▄█▄ \n █▄▄▄▄▀▀ ▄█▄▄▀▄\n▄▄█ █▄▄▀█▀ ▄▀▄▄▀\n█▄▀█▀█▀▀█▀▀█▀▄█ \n█▄▄█▄▄██▄▄▄█▄▄█ "], ["walk_1", " ▄▄██▄█▀▄ \n ▄▄▀ ▄▄▀▄▀ \n █▄▄▄▄▀▀ ▄█▀▀▄ \n ▄█▄▄▀▀█▄█▄▀ █\n █ ▀▄ ▄▀ ▄▀▄█▄\n █ ▀██▀▀▀▀██ █\n█▄▄█▄▄█▄▄█▄▄█ █\n▀▄█▄▄▄█ █▄▄█▄█▀ "], ["walk_2", " ▄▄ ▄▄ \n █▀▀▀▀█ █ \n ▄▀▀ ▄█▀ █▄▄ \n ▀▀█▀▀▄▄▄▀█ ▄▀▄\n▄▄▄▀█▀▀ █▄▀▀▀▀█\n█ ▀▄█▄▄█▄▄█ █\n█▄██▄▄▄▄▄▄▄█▀▀▄█\n █▄█▄▄██▄▄█▄█ "]]], + ["mojyamon", [["angry", " ▄▀▀▀▄▀▀▀▀▄ \n █ █▄ ▄█▀ █ \n█ ▄▄▄▄▄ █ \n█ █ █▄█ █▄ ▀▀▄\n▀▄ ▀██████ ▄█ █\n█ █ █████▀ █ █\n▀▄█▄▄ ▄ ▄█▄▄▄▀\n█▄▄▄▄█▀ ▀█▄▄▄▄▄█"], ["attack", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▀ ▀▄ \n ▄█▄▄ ▄▄▄ ▀▄ \n▄█▄ ▄▀▄▄ ▄▄ ▀▄\n█ █ █ ▀ █\n▀▄▄▀▄ ▄▀▄▄▄▄▀\n█▄▄▄▄█▀▄▀█▄▄▄▄▄█"], ["eat_1", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▀ ▀▄ \n ▄█▄▄ ▄▄▄ ▀▄ \n▄█▄ ▄▀▄▄ ▄▄ ▀▄\n█ █ █ ▀ █\n▀▄▄▀▄ ▄▀▄▄▄▄▀\n█▄▄▄▄█▀▄▀█▄▄▄▄▄█"], ["eat_2", " ▄▀▀▀▄▀▀▀▀▄ \n █ ▄▀▄ ▄▀▄ █ \n █ ▄▄▄▄▄▄▄ █ \n █ █████████ ▀▄\n █▄██▀▀█▀▀██▄█▄█\n█ █ █ ▄█ █\n▀▄█▀ █ █▄▀▄▄▄▀\n█▄█▄▄▄▄▄▀█▄▄▄▄▄█"], ["happy", " ▄▀▀▀▄▀▀▀▀▄ \n █ ▄▀▄ ▄▀▄ █ \n █ ▄▄▄▄▄▄▄ █ \n █ █████████ ▀▄\n █▄██▀▀█▀▀██▄█▄█\n█ █ █ ▄█ █\n▀▄█▀ █ █▄▀▄▄▄▀\n█▄█▄▄▄▄▄▀█▄▄▄▄▄█"], ["injured_1", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▀ ▀▄ \n ▄▀ ▀▄ \n █ ▄▄ ▄▄ ▄ ▀▄\n▄▀▄▄ ▀ ▄▄█ █\n█▀ █ █ ▀▀ █\n▀▄▄▄██▄█▄█▄▄▄▄▀ "], ["injured_2", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▀ ▀▄ \n ▄▀ ▀▄ \n █ ▄▄ ▄▄ ▄ ▀▄\n▄▀▄▄ ▀ ▄▄█ █\n█▀ █ █ ▀▀ █\n▀▄▄▄██▄█▄█▄▄▄▄▀ "], ["refuse", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▀ ▀▄ \n ▄█▄▄ ▄▄▄ ▀▄ \n▄█▄ ▄▀▄▄ ▄▄ ▀▄\n█ █ █ ▀ █\n▀▄▄▀▄ ▄▀▄▄▄▄▀\n█▄▄▄▄█▀▄▀█▄▄▄▄▄█"], ["sleep_1", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▀ ▀▄ \n ▄▀ ▀▄ \n █ ▄▄ ▄▄ ▄ ▀▄\n▄▀▄▄ ▀ ▄▄█ █\n█▀ █ █ ▀▀ █\n▀▄▄▄██▄█▄█▄▄▄▄▀ "], ["sleep_2", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▀ ▀▄ \n ▄▀ ▀▄ \n █ ▄▄ ▄▄ ▄ ▀▄\n▄▀▄▄ ▀ ▄▄█ █\n█▀ █ █ ▀▀ █\n▀▄▄▄██▄█▄█▄▄▄▄▀ "], ["walk_1", " \n ▄▀▀▀▄▀▀▀▀▄ \n █ █ \n █ ▄ ▄ ▄ █ \n █▄▀▀ ▄ ▀▀ ▄█▄ █\n█ █ ▀ ▀▀ █ █\n▀▄▄█▀▄ ▄ ▄▀▄▄▄█ \n█▄▄▄▄▄█ ▀█▄▄▄▄▄█"], ["walk_2", " ▄▀▀▀▄ ▄▀▀▀▄ \n█ ▄ ▄█ ▄▄▄█ ▄ █\n█ ▄▀ ▀ ▀█ █\n█▄▀▄█ █▄ ▀▄ █\n▀█ ▄▄▄█▄▄▄ ▄▄▀\n ▀▄ █▄█▄█ ▄▀ \n ▄█▄█▀█▀█ ▄▄▀▄▄ \n█▄▄▄▄██▀▄█▄▄▄▄▄█"]]], + ["mokumon", [["angry", " \n \n \n ▄▀▀▀▀▄ \n █▄ ▄▄ ▀▄ \n ▀▄ ▄▀ \n ▀▀▄▀ \n ▄ "], ["attack", " \n \n \n ▄▄▀▀▀▄ \n ▀▄▄ ▀ █ \n █ █ \n ▄▀▀ ▀▄ \n ▀▀▀▀▀ ▄ "], ["eat_1", " \n \n \n ▄▀▀▀▀▄ \n ▀▀▄▀ █ \n ▄█ █ \n ▀▄▄ █ \n ▀ ▄ "], ["eat_2", " \n \n \n ▄▄▄▄ \n █ ▀▄ \n █ ▀ ▀ █ \n ▀▄▄▄ █ \n ▀ ▄ "], ["happy", " \n \n ▀ \n ▀ ▄▀▀▀▄▄ \n █ █ █ █ \n █ ▄▄▄ █ \n ▀▄███▄▄▀ \n ▄▄▄▄ "], ["injured_1", " \n \n \n \n ▄▀▀▀▄ \n █▄ ▄▄▀▄ \n ▀▄▄▄▄ ▄▀ \n ▀ ▄ "], ["injured_2", " \n \n \n \n ▄▄██▄ \n ▄██████ \n ▀▄▄█▄▄▀ \n ▀▀▄ "], ["sleep_1", " \n \n \n ▄▄▄ \n ▄▀ ▀▀▄ \n █ ▀▀ ▀▀ █ \n ▀▄ ▀ ▄▀ \n ▀▀▀▄▀▀ "], ["sleep_2", " \n \n \n ▄▄▄ \n ▄▀ ▀▀▄ \n █ ▀▀ ▀▀ █ \n ▀▄ ▀ ▄▀ \n ▀▀▀▄▀▀ "], ["walk_1", " \n \n \n ▄▀▀▀▄▄ \n ▄▀▄ ▄ █ \n ▀▄ ▄▀ \n ▀▀▄▀ \n ▀ "], ["walk_2", " \n \n \n \n ▄▄▄ ▄ \n █ ▀▀▄ \n █ ▀ ▀ █ \n ▀▄▄▄▄▀ "]]], + ["monimon", [["angry", " \n ▄▄ ▄▄ \n ▄▄█ ▀ ▄█▄▄ \n █ ▄▄▄▄▄▄ █ \n █ █▀█▀ █ █ \n █ ██▀▀██ █ \n █ ▀▀▀▀▀▀ █ \n ▀██▀▀██▀██ "], ["attack", " \n █▀▄▀▀▄ \n ▄▀▀▀ ▀▀▀▀▄ \n █ ████▀█ █ \n █ █▄█▄▄█ █ \n █ █ ██ █ \n ██ ▀▀▀▀▀██ █ \n ▀▀▀██▀▀▀██ "], ["eat_1", " \n █▀▄▀▀▄ \n ▄▀▀▀ ▀▀▀▀▄ \n █ ██████ █ \n █ █▄██▄█ █ \n █ ██ ██ █ \n █ ▀▀▀▀▀▀ █ \n ▀██▀▀██▀██ "], ["eat_2", " \n \n █▀▄▀▀▄ \n ▄▀▀▀ ▀▀▀▀▄ \n █ █▀██▀█ █ \n █ █▀██▀█ █ \n █ ██▄▄██ █ \n ▀▄▄▄▄▄▄▄▄▄▄▀ "], ["happy", " \n █▀▄▀▀▄ \n ▄▀▀▀ ▀▀▀▀▄ \n █ █▀██▀█ █ \n █ █▀▀▀▀█ █ \n █ ██▄▄██ █ \n █ ▀▀▀▀▀▀ █ \n ▀██▀▀██▀██ "], ["injured_1", " \n \n █▀▄▀▀▄ \n ▄▀▀▀ ▀▀▀▀▄ \n █ ██████ █ \n █ █ █ ▀█ █ \n █ ██████ █ \n ▀▄▄▄▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n ▄▄ ▄▄ \n ▄▄█ ▀ ▄█▄▄ \n █ ▄▄▄▄▄▄ █ \n █ █▀█▀██ █ \n █ ██▄█▄▄██ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▄▀ "], ["sleep_1", " \n \n █▀▄▀▀▄ \n ▄▀▀▀ ▀▀▀▀▄ \n █ █▀▀▀▀█ █ \n █ ██▀▄██ █ \n █ █▄▄▄▄█ █ \n ▀▄▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n █▀▄▀▀▄ \n ▄▀▀▀ ▀▀▀▀▄ \n █ ██▀▀██ █ \n █ ██▀▄██ █ \n █ ██▄▄██ █ \n ▀▄▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " \n ▄▄ ▄▄ \n ▄▄█ ▀ ▄█▄▄ \n █ ▄▄▄▄▄▄ █ \n █ █▀██▀█ █ \n █ ██▀▀██ █ \n █ ▀▀▀▀▀▀ █ \n ▀██▀▀██▀██ "], ["walk_2", " \n \n █▀▄▀▀▄ \n ▄▀▀▀ ▀▀▀▀▄ \n █ ██████ █ \n █ █▄██▄█ █ \n █ ██▄▄██ █ \n ▀▄▄▄▄▄▄▄▄▄▄▀ "]]], + ["monochromon", [["angry", " ▄▄ ▄▄▄ \n ███ ▄███▀▄ \n ▀███▄█████▄██▄ \n▄███████▀███▀▀█ \n██████▄▄▄██████▄\n █ █ █ ██▀▀▀▀█ █\n ▀▄█▄█▄█ ▄ ▀▄\n █▄█▄▄▄▄▄█▄▄▄▄█"], ["attack", " ▄██ ▄███▀▄ \n ▄███▄█████▄███ \n██▀▀▀▀█▀ ███▀▀█ \n ▀▄ ███████▀ \n █ █ █▄▄\n ▄█▀█▀▀▀▀ ▀▄█\n█ ██ ▄▄▄▀ ▀▄\n▀▀▀▀▀▀███▄▄▄▄▄▄█"], ["eat_1", " ▄██ ▄███▀▄ \n ▀███▄█████▄███ \n▄█████▀▄▄▀██▀▀█ \n▀█▀▀▀▀▀████████ \n █ ▄▄█ ▀▄▄▄\n ▄█▄█▄▄▀ █ █ █\n ▀▄▄▄▄▄▄▀▄ ▄ ▀▄\n █▄█▄▄▄▄▀██▄▄▄▄█"], ["eat_2", " ▄▄ ▄▄▄ \n ███ ▄███▀▄ \n ▀███▄█████▄███ \n▄██████▀▀███▀▀█ \n██████▄██▄█████▄\n ▀▄▄ ▀▀▀▀▀▀▀█ █\n ▄▄█▄▀ ▄ ▄ ▀▄\n █▄█▄▄▄▄▀██▄▄▄▄█"], ["happy", " ▄██ ▄███▀▄ \n ▀███▄█████▄███ \n▄██████▀▄▀██▀▀█ \n▀▀▀▀▀▀████████▀ \n █ ▀▄▄▄\n ▄▄▄▄▄▀▀▀ █ █\n ▀▄▄▄▀ ▄ ▄ ▀▄\n █▄▄▄█▀▀▀██▄▄▄▄█"], ["injured_1", " ▄▄▄▄ \n ██████▀▄ \n▄██ ▄██████▄███ \n█████████████▀█ \n▄██████████▄▄█▀ \n█████▀▀████▀▀█▀█\n▀█████▀▀▀▄ ▄ ▀█\n█▄█▄▄▄▄▄▄██▄▄▄▄█"], ["injured_2", " \n ▄████▄▄ \n ▄▄ ▄█████▀▄█▄ \n███▄███████████ \n▀██████████▀▀▄█ \n██████████████▀█\n▀████▄▄█▀█▀█ ▀█\n█▄█▄▄▄▄▄▄██▄▄▄▄█"], ["sleep_1", " ▄▄▄▄ \n ██████▀▄ \n▄█▄ ██████▄███ \n███▄█████████▀█ \n▀██████████▄▄██▄\n█████▀▀▄███▀▀█ █\n▀█████▀▀▀▄ ▄ ▀▄\n█▄█▄▄▄▄▄▄██▄▄▄▄█"], ["sleep_2", " \n ▄▄ ▄████▄▄ \n███ ▄█████▀▄█▄ \n███████████████ \n▄████████████▄█▄\n█████▄▄▄██████ █\n █▄▄▄▄ ▄ ▄ ▀▄\n█▄█▄▄▄▄▄▄██▄▄▄▄█"], ["walk_1", " ▄██ ███▄ \n ███▄ ▄▄███▀▄█▄ \n ▄█████▀▀██████ \n██████▄▄████▄▄█ \n▀█▀▀▀▀████████▀ \n ▀▀▄ █▀█\n █ █ ▄ ▄ ▀▄▀\n █▄█▄▄▄██▄▄▄▄█"], ["walk_2", " ▄▄ ▄▄▄ \n ███ ▄███▀▄ \n ▀███▄█████▄███ \n▄█████▀ ▄███▀▀█ \n███████████████▄\n ▀▄▄ ▀▀▀▀▀▀▀█ █\n ▄▄█▄▀ ▄ ▄ ▀▄\n █▄█▄▄▄▄▀██▄▄▄▄█"]]], + ["monodramon", [["angry", " ▄▄▀▀█ \n ▄▀ ▀▄▄ \n ▄▀▀ ▄█ ▄▄▀ \n █ ▄ ▄ ▄▄▀ ▄ \n ▀▀████▀█▄█▄▀█ \n ▄▀▀█▄▄▄█▀▀ █ █ \n ▀▄▄█▄ ▀▄▄█▄▀ \n █▄█▄█▀▀██▄█▄█ "], ["attack", " ▄▄▄ \n ▄▀▀ █ \n ▄█ ▄▄▄ ▀█ \n █ ▀▀ ▀█ \n █▄█▄█▄▄█▀▄ ▄█ \n ▄▄▀ ███▀ █ \n ▄█▄█ █ █▄▄▄▀ \n█▄█▄█▄▄▄▄██▄█▄█ "], ["eat_1", " ▄▄▄ \n ▄▀▀ █ \n ▄█ ▄ ▀█ \n █ ▀ ▀ ▀█ \n █▄█▄█▄▄█▀▄ ▄█ \n ▄▄▀ ███▀ █ \n ▄█▄█ █ █▄▄▄▀ \n█▄█▄█▄▄▄▄██▄█▄█ "], ["eat_2", " ▄▄▀▀█ \n ▄▀ ▀▄▄ \n ▄▀▀ ██▀ ▄▄▀ \n █ ▄ ▄ ▄▄▀ ▄ \n ▀▀████▀█▄█▄▀█ \n ▄▀█▄▄▄█▀█▀ █ \n █▄█▄ ▀▄█▄▄▀ \n █▄█▄█▀▀██▄█▄█ "], ["happy", " ▄▄▀▀█ \n ▄▀ ▀▄▄ \n ▄▀▀ ▄▀▄ ▄▄▀ \n █ ▄ ▄ ▄▄▀ ▄ \n ▀▀████▀█▄█▄▀█ \n ▄▀▀█▄▄▄█▀▀ █ █ \n ▀▄▄█▄ ▀▄▄█▄▀ \n █▄█▄█▀▀██▄█▄█ "], ["injured_1", " \n ▄▄▄ \n ▄▀▀ █ \n ▄█ ▄ ▀█ \n █ ▀▀ ▀█ ▄ \n ▀▄█▄█▄▄██▄▄▀█ \n ▄▄██ █ ██▄▄▀ \n█▄█▄█▄▄▄███▄█▄█ "], ["injured_2", " \n \n ▄▄▀▀█ \n ▄▀ ▀▄▄ \n ▄▀▀ █▄ ▄▄▀ ▄ \n █ ▄ ▄ ▄▄█ ▄▀█ \n ▄███▀▀▀█ ██▄▄▀ \n█▄█▄█▄▄▄███▄█▄█ "], ["refuse", " ▄▄▄ \n ▄▀▀ █ \n ▄█ ▄ ▀█ \n █ ▀▀ ▀█ \n █▄█▄█▄▄█▀▄ ▄█ \n ▄▄▀ ███▀ █ \n ▄█▄█ █ █▄▄▄▀ \n█▄█▄█▄▄▄▄██▄█▄█ "], ["sleep_1", " \n ▄▄▀▀█ \n ▄▀ ▀▄▄ \n ▄▀▀ ▄▄ ▄▄▀ \n █ ▄ ▄ ▄▄▀ ▄ \n ▀▀██▀▀▀█▄█▄▀█ \n ▄▄██ █ ██▄▄▀ \n█▄█▄█▄▄▄███▄█▄█ "], ["sleep_2", " \n ▄▄▄ \n ▄▀▀ █ \n ▄█ ▀█ \n █ ▀▀ ▀█ ▄ \n ▀▄█▄█▄▄██▄▄▀█ \n ▄▄██ █ ██▄▄▀ \n█▄█▄█▄▄▄███▄█▄█ "], ["walk_1", " ▄▄▀▀█ \n ▄▀ ▀▄▄ \n ▄▀▀ ██▀ ▄▄▀ \n █ ▄ ▄ ▄▄▀ ▄ \n ▀▀▀█▀▀▀█▄█▄▀█ \n ▄▀█ ▄▀█▀ █ \n █▄█▄ ▀▄█▄▄▀ \n █▄█▄█▀▀██▄█▄█ "], ["walk_2", " ▄▄▄ \n ▄▀▀ █ \n ▄█ ▄▄▄ ▀█ \n █ ▀▀ ▀█ \n █▄█▄█▄▄█▀▄ ▄█ \n ▄▄▀ ███▀ █ \n ▄█▄█ █ █▄▄▄▀ \n█▄█▄█▄▄▄▄██▄█▄█ "]]], + ["monzaemon", [["angry", " ▄▄ ▄▄▄▄▄ ▄▄▄ \n █ ▄▀ ▄▀ █\n █ ▀▄▄▄▀ ▀▄▄▀\n ▄▄█ ▄▄▀▄▄ █▄ \n█ ▀ ▄▄▀ █\n ▀▄▀ ▄ ▄ █▀ \n▄▀█ ▄▀▄ ▄▀▀▀▄\n█▄▄█▄▄▄▄▄▄█▄▄▄▄▀"], ["attack", " █▀▄▀▀▀▀▀▀▄▀▀▀▄\n ▀█▀▄ ▄▀ ▀▄▄█\n ▄█ █▄▀█▀ ▄█ █▄ \n█ ▀▄▀██████▀ █ █\n ▀▄ ▀ ▄▄▀ ▄▀\n ▄▀ ▄ ▄ █ \n▄▀█ ▄▀▄ ▄▀▀▀▄\n█▄▄█▄▄▄▄▄▄█▄▄▄▄▀"], ["eat_1", " █▀▄▀▀▀▀▀▀▄▀▀▀▄\n ▀█▀▀▄▄▄▀▀ ▀▄▄▀\n █ ▄▄█▄▄ █ \n ▄▀▀▄█████ █ \n █ ▄█ ▀▀▀ ▄▄▀▀▄ \n ▀▄▀ ▄ ▄ ▄ █\n▄▀█ ▄▀▄ ▄▀▀▀▄\n█▄▄█▄▄▄▄▄▄█▄▄▄▄▀"], ["eat_2", " ▄▄ ▄▄▄▄▄ ▄▄▄ \n █ ▄▀ ▀ █\n █▀▀▄▄▄▀▀ ▀▄▄▀\n █ ▄▄▀▄▄ █ \n ▄▀█▄ ▄▄▀▀▄ \n █▄▀ ▄ ▄ ▄ █\n▄▀█ ▄▀▄ ▄▀▀▀▄\n█▄▄█▄▄▄▄▄▄█▄▄▄▄▀"], ["happy", " █▀▄▀▀▀▀▀▀▄▀▀▀▄\n ▀█▀▀▄▄▄▀▀ ▀▄▄█\n ▄█ █▄▄█▄▄██ █▄ \n█ ▀▄▀██████▀ █ █\n ▀▄ ▀ ▄▄▀ ▄▀\n ▄▀ ▄ ▄ █ \n▄▀█ ▄▀▄ ▄▀▀▀▄\n█▄▄█▄▄▄▄▄▄█▄▄▄▄▀"], ["injured_1", " ▄▄ ▄▄▄▄▄ ▄▄ \n █ ▄▀ ▀ ▀▄\n █▄▀ ▀▄ ▀▄▄▀\n ▄▄█ ▀█▀ █▄ \n█ ▀ ▀ ▀ ▄▄▀ █\n ▀▄▀ ▄ ▄ █▀ \n▄▀█ ▄▀▄ ▄▀▀▀▄\n█▄▄█▄▄▄▄▄▄█▄▄▄▄▀"], ["injured_2", " \n ▄▀▄▀▀▀▀▀▀▀▀▄ \n █▄▀ ▄ █\n ▀█▄▀ ▀▄ █▄▀\n ▄▀▄ ▀█▀ ▄▄▀▄ \n █ █ ▀ ▀ ▄ █\n▄▀█ ▀▄▀ ▄▀▀▀█\n█▄▄█▄█▄█▄▄█▄▄▄▄▀"], ["sleep_1", " ▄▄ ▄▄▄▄▄ ▄▄ \n █ ▀ ▀ █ \n ▄▀▄▄ ▄▄▄ ▄▄▀▄ \n █ ▄▄▀▄▄ █ \n ▄▀▀▄ ▄▀▀▄\n █▄ █ ▄ ▄ █ ▄█\n ▄▀▀█ ▄▀▄ █▀▀▄\n ▀▄▄▄█▄▄▄▄▄█▄▄▄▀"], ["sleep_2", " ▄▀▀▄▀▀▀▀▀▄▀▀▄ \n ▀▄ ▄▀ \n █ ▀▀ ▀█▀ ▀▀ █ \n ▀▄ ▀▀▀ ▀▀▀ ▄▀ \n ▄▀ █▀ ▀█ ▀▄\n █▄ █ ▄ ▄ █ ▄█\n ▄▀▀█ ▄▀▄ █▀▀▄\n ▀▄▄▄█▄▄▄▄▄█▄▄▄▀"], ["walk_1", " ▄▀▀▄▀▀▀▀▀▄▀▀▀▄\n ▀▄█▄ ▄▄ ▄ █\n █ ▀█▀ █▀ \n █▄ ▀ ▀ ▄█ \n ▄▀▄▀▀ ▀▀▀ ▀▄\n ▀█ ▀▄▀ ▀▄▄▀\n▄▀▀▀▄▀ ▀ ▄▀▀▀▄█ \n▀▄▄▄▀▄▄▄▄█▄▄▄▄▀ "], ["walk_2", " ▄▄ ▄▄▄▄▄ ▄▄▄ \n █ ▄▀ ▀ █\n █▀▀▄▄▄▀▀ ▀▄▄▀\n ▄▄█ ▄▀▄ █▄ \n█ ▀ ▄▄▀ █\n ▀▄▀ ▄ ▄ █▀ \n▄▀█ ▄▀▄ ▄▀▀▀▄\n█▄▄█▄▄▄▄▄▄█▄▄▄▄▀"]]], + ["monzaemon_x", [["angry", " ▄▄ ▄▄▄▄▄▄ ▄▄ \n █ ▄▀ ██▀ █ █ \n ▀█▄ ▀ ▄█ █▀ \n █ ▄▀█▀▄ █▀▄ \n ▀▄█▄▄▄█▄▄█▄▄ █\n █▄██▀██ █▄ ██\n █ ▀▄ ▄▀ █▀▄█\n ▀▄▄▄█▄▄█▄▄▄▀ "], ["attack", " ▄▀▀▄▀███▀▀▄▀▀▄ \n ▀▄█ █▀ ▄ ▀▄▄▀ \n ▄▀▀▄▄▄▀▀ ▄█▄ \n █▀▄█ ▀ █▄█ █▀▄\n ▀▄▀█████▀▄ ▄▀ █\n █▄▀▀ ▀▀ ██ █ █\n █ ▀▄ ▄▀ █ ▀▀\n ▀▄▄▄█▄▄█▄▄▄▀ "], ["eat_1", " ▄▀▀▄▀█▀▀▀█▄▀▀▄ \n ▀▄█▀▄▄▄▀▀ █▄▀ \n █ █ ▀ █ █▄ \n █ █████ █▀ ▀▄\n █▄▀▀▀▄▄█▄▄ █\n █▄██▀██ █▄ █ █\n █ ▀▄ ▄▀ █▀▄█\n ▀▄▄▄█▄▄█▄▄▄▀ "], ["eat_2", " ▄▄ ▄▄▄▄▄▄ ▄▄ \n █ ▄▀ ██▀ █ █ \n ▀█▄ ▀ ▄▀▄ █▀ \n █ ▄▀█▀▄ █▀▄ \n ▀▄█▄▄▄█▄▄█▄ █\n █▄██▀██ █▄ █ █\n █ ▀▄ ▄▀ █▀▄█\n ▀▄▄▄█▄▄█▄▄▄▀ "], ["happy", " ▄▀▀▄▀███▀▀▄▀▀▄ \n ▀▄█ █▀ ▄ ▀▄▄▀ \n ▄▀▀▄▄▄▀ ▀ █▄ \n █ █ ▀ █▄ ▄█▀▀▄\n ▄▀█████ █▀ ▄█\n █▄▀▀ ▀▀ ██▀█ █\n █ ▀▄ ▄▀ █ ▀▀\n ▀▄▄▄█▄▄█▄▄▄▀ "], ["injured_1", " \n \n▄▀▀▄▀███▀▀▄▀▀▄ \n▀▄█ █▀ ▄ ▀▄▄▀ \n ▄▀▀▄▄▄ ▀▀ █▄ \n █ █ ▀ █ ▄▀▄▀▄ \n ▄▀██▀██▀▀▀▄ █ █\n ▀▄█████▄▄▄█▄█▄█"], ["injured_2", " \n \n ▄▄ ▄▄▄▄▄▄ ▄▄ \n█ ▄▀ ██▀ █ █ \n ▀█▄ ▀ █▄ █▀ \n █ ▄▀█▀▄ █▀▀▄ \n ▀▄█▄▄▄█▄▄█ ▀▄ █\n █▄█████▄▄▄█▄█▄█"], ["sleep_1", " \n \n \n ▄▄ ▄▄ \n ▄▀██▀██▀▀▄ \n ▄█ ▄▄ █▄ \n█ ▀▄ ▄▀ █ █ █\n▀▄▄▄█▄▄█▄▄▄█▄█▄█"], ["sleep_2", " \n \n \n ▄██▄██▄▄ \n ▄▀ ▀▀ ▀▀ ▀▄ \n █▄ ▄▄ █▄ \n█ ▀▄ ▄▀ █ █ █\n▀▄▄▄█▄▄█▄▄▄█▄█▄█"], ["walk_1", " ▄▀▀▄▀███▀▀▄▀▀▄ \n ▀▄█ █▀ ▀▄▄▀ \n ▄▀▀▄▄▄▀ ▀ █▄ \n █ █ ▀ █ ▄▀ ▀▄\n ▄▀█████▀█▀▄ █\n █▄▀▀ ▀▀ █▄ █ █\n █ ▀▄ ▄▀ █ ▀▀\n ▀▄▄▄█▄▄█▄▄▄▀ "], ["walk_2", " ▄▄ ▄▄▄▄▄▄ ▄▄ \n █ ▄▀ ██▀ █ █ \n ▀█▄ ▀ ▄ ▄ █▀ \n █ ▄▀█▀▄ █▀▄ \n ▀▄█▄▄▄█▄▄█▄ █\n █▄██▀██ █▄ █ █\n █ ▀▄ ▄▀ █▀▄█\n ▀▄▄▄█▄▄█▄▄▄▀ "]]], + ["moonmon", [["angry", " \n ▄▀▀▀▀▄ \n █ ▄ █ \n ▀▀█▄█ █▄▄ \n ▀ ▀▄ ▀ ▄▀ \n ▄█ ▄▀▄ \n █▀▀▄▄▀▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["attack", " ▄▀▀▀▄ \n █ ▄▄▀ ▄ \n █ ▄▀ \n █▀▀▄▀▀█ \n ▄▀ ▀▄ \n ██▄ ▄█ █ \n █ ██ █ \n ▀▄▄▄▄▄▀ "], ["eat_1", " ▄▀▀▀▄ \n █ ▄▄▄▀ \n ▄▄█ █▄▄ ▀ \n ▀▄ ▀ ▄▀ \n ▄▀ ▀▄ \n █ █ █ █ \n █ ██ █ \n ▀▄▄▄▄▄▀ "], ["eat_2", " ▄▀▀▀▄ \n █ █ \n █ █ \n █▀▀▄▀▀█ \n ▄▀ ▀▄ \n █▀▄ ▄▀▄ █ \n █ ▄▄▄▄ █ \n ▀▄▄▄▄▄▀ "], ["happy", " ▄▀▀▀▄ \n █ ▄▄▄▀ \n ▄▄█ █▄▄ ▀ \n ▀▄ ▀ ▄▀ \n ▄▀▄ ▄▀█▄ \n █ ▄▄▄▄ █ \n ▀▄ ▀▀ ▄▀ \n ▀▀▀▀▀ "], ["injured_1", " \n \n ▄▀▀▀▀▄ \n ▄▄█ ▄▄▄ █ \n ▀▄ ▀ ▄█ █ \n ▄▀ ▀█▀ \n █ ▄█ █▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n ▄▄▄▄ \n ▄▀ ▀▄ \n █▀▀▄▀▀█ █ \n ▄▄▀ ▀█▄▄▀ \n ▄▀ ▄ ▄ ▀▄ \n █▄▄██▄▄██▄▄▄█ "], ["sleep_1", " \n \n ▄▀▀▀▀▄ \n ▄▄█ ▄▄▄ █ \n ▀▄ ▀ ▄█ █ \n ▄▀ ▀█▀ \n █ ▄▄ ▄▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n ▄▀▀▀▀▄ \n ▄▄█ ▄▄▄ █ \n ▀▄ ▀ ▄█ █ \n ▄▀ ▀█▀ \n █ ▀▀ ▀▀ █ \n ▀▄▄▄██▄▄▄▄▀ "], ["walk_1", " ▄▀▀▀▄ \n █ █ \n █ █ \n █▀▀▄▀▀█ \n ▄▀ ▀▄ \n █ ▄ ▄ █ \n █ ▀▄▄▀ █ \n ▀▄▄▄▄▄▀ "], ["walk_2", " ▄▄▄ \n █ █ \n ▀▄ ▄▀ \n ▄▄█ █▄▄ \n ▀▄ ▀ ▄▀ \n ▄▀ ▀▄ \n █ █ █ █ \n ▀▄▄▄██▄▄▄▄▀ "]]], + ["morphomon", [["angry", " \n █▀▀▄ ▄▀▀▀▀█ \n █ ▄▀▀▀▀ █ \n ▀█ █▀ \n ▄▀█▄ ▄█ ▀▄ \n █▄█▄ ▄▄ ▄▀▄▄█\n ▄▀█▀ ▀▀▀▄ \n ▀███▄▄▄▄███ "], ["attack", " █▀▀▄ ▄▀▀▀▀█ \n █ ▄▀▀▀▀ █ \n ▀█ █▄ ▄█ █▀ \n █▀▀ ▄▄▄ ▀▀█\n ██▄ ███ ▄█▄▀ \n ▀▄▀ ▀▀▀ ▀ ▄▀ \n █▄ ▄█ \n █▄▄█▀▄▄█ "], ["eat_1", " █▀▀▄ ▄▀▀▀▀█ \n █ ▄▀▀▀▀ ▄ █ \n ▀█ ▄ ▄▄ █▀ \n ▄▀█▄ ▄██ ▀▄ \n █▄█▄ ███ ▄▀▄▄█\n ▄▀▀ ▀▀▄ \n █▄█▄ ▄▄█ \n █▄▄█▀▄▄█ "], ["eat_2", " ▄▄▄ ▄▄▄▄▄ \n █ █▄▄▄▀ █ \n █▄▀ ▀▄▄▀ \n █▄▀▄ ▄▀▄▀▄ \n ▄▀▄ ▄ ▄ ▀▄\n ▀▀▀█▄ ▄▄▀ ▀▀▀\n ▄▀▄ ▀▄ \n ▀███▄▄▄▄███ "], ["happy", " █▀▀▄ ▄▀▀▀▀█ \n █▄▀▀▀▀▀ ▀▄ █ \n █▄▀▄ ▄▀▄█▀ \n ▄▀ ▄▄▄▄▄ ▀▄ \n █▄█▄▀███▀ ▄▀▄▄█\n ▀▄▀▀ ▀▀ ▄▀ \n ▀█▄ ▄█ \n █▄▄█▀▄▄█ "], ["injured_1", " \n ▄▄▄▄ ▄▄▄▄▄▄ \n ▀▄ ▄▀▀▀▀ ▄ ▄▀ \n ▀█ █ \n █ ▄█ █▄ █ \n █▀█ ▄ ▄▄▀█ \n ▀▄ ▀▄ ▄▀ ▄▀ \n ▄███▄█▄███▄ "], ["injured_2", " \n \n ▄▀▀▀█▄▄▄▀▀▀▀▀█ \n █▄▀ ▀▄▀ \n █ ▄ ▄ ▀▄ \n █▀▄▀▀ ▀▀▄▄▀█ \n ▀▄ ▀▄▀ ▄▀ ▄▀ \n ▄███▄█▄███▄ "], ["sleep_1", " \n █▀▀ ▀▀▀█ \n █ █ \n ▀ \n ▄ ▄ \n █▄▄ ▄▄█\n ▄▀ ▀▄ \n ▀ ▀ "], ["sleep_2", " ▄▄▄ ▄▄▄▄▄ \n █ █▄▄▄▀ █ \n █▄▀ ▀▄▄▀ \n █ ▀▄ \n ▄▀▄ ▀▀ ▀▀ ▄ ▀▄\n ▀▀▀█ ▀▀ ▄▀ ▀▀▀\n ▄█▀▀▄ ▄▀▀█▄ \n ▀█▄▄█▄▄█▄▄█▀ "], ["walk_1", " █▀▀▄ ▄▀▀▀▀█ \n █ ▄▀▀▀▀ ▄ █ \n ▀█ ▄ ▄▄ █▀ \n ▄▀█▄ ▄██ ▀▄ \n █▄█▄ ▀ ▄▀▄▄█\n ▄▀▀ ▀▀▄ \n █▄█▄ ▄▄█ \n █▄▄█▀▄▄█ "], ["walk_2", " ▄▄▄ ▄▄▄▄▄ \n █ █▄▄▄▀ █ \n █▄▀ ▀▄▄▀ \n █▄▀ ▀█▄▀▄ \n ▄▀▄▀▀ ▄ ▀▀▀▄ ▀▄\n ▀▀▀█▄ ▄▄▀ ▀▀▀\n ▄▀▄ ▀▄ \n ▀███▄▄▄▄███ "]]], + ["motimon", [["angry", " \n \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n █ █ \n █▀▀ ▀▀ █ \n ▀▄ ▀▀ ▄▀ \n ▀▄▄▄▄▀▄▄▄▄▀ "], ["attack", " \n ▄▄▄▄▄▄▄ \n ▄▀ ▄ ▀▄ \n █▀█▀▄▄▀▀ █ \n ▀▄ ▀▄ \n ▄ ▄ ▄ █ █ \n █▀▀▀▀▀▀▀▀ █ \n ▀▄▄▄▄▀▄▄▄▄▄▄▀ "], ["eat_1", " \n \n ▄▀▀▀▀▀▄ \n █▄▄▄ ▄▄ ▀▄ \n ▀▄ ▀ █ \n █ █ \n ▄▄▄▄▄▀ ▄▀ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["eat_2", " \n \n \n ▄▄▄▄▄▄ \n ▄▀▄ ▄ ▀▄ \n █▀ ▀ ▀ ▀ ▀▄ \n █▄▄▄▄▄▄▄▀ █ \n ▀▄▄▄▄▄▄▄█▄▄▄▀ "], ["happy", " \n ▄▄▄▄▄ \n ▄▀▄ ▄▀▄ \n █ ▄▀ ▀▄ █ \n █ ███████ █ \n █ ███████ █ \n ▀▄ ▀▀▀▀▀ ▄▀ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["injured_1", " \n \n \n \n ▄▀▀▀▀▀▀▀▄ \n ▄▀▀ ▄ ▀▀ ▀▄ \n █ ▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n \n \n \n ▄▀▀▀▀▀▀▀▄ \n █ ▀▄ \n ▀▄▄██▄▄██▄▄▄▄▀ "], ["sleep_1", " \n \n \n \n ▄▄▄▄▄▄ \n ▄▀▄▄ ▄▄▀▄ \n ▄▀ ▄▄▄▄ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n \n ▄▀▀▀▀▀▀▄ \n █ ▀▀ ▀▀ █ \n █ ▀▀ █ \n █ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["walk_1", " \n \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n █ ▄ ▄ █ \n █ ▀ ▀ █ \n ▀▄ ▀▀▀ ▄▀ \n ▀▄▄▄▄▀▄▄▄▄▀ "], ["walk_2", " \n \n \n ▄▀▀▀▀▀▄ \n ▄▀ ▀▄ \n █ █ █ █ \n █ ▀ █ \n ▀▄▄▄▀▄▄▄▀ "]]], + ["mummymon", [["angry", " ▄█████▄ \n ▄▀▀▀ ▄▀██ \n █▄▄▄▀▀ ▄▀ \n █ █ ▄██ \n ▄▀▄▄█▀█▄█▀ \n █ █▄▀▄▄█ █ \n ▀█ ▄▄ ▀█▀ \n █▄▄█ █▄▄█ "], ["attack", " ▄▄▄▄▄ \n ███████▄ \n █ ▀▄█▀▀▄ \n █▀▀▀▄ █▄ \n █▄▄▄▄▄▀██ \n ▄▀▄▀▄▀ █▀▀▄ \n ▀▄█▀ ▀▀█▄▄▀ \n █▄▄█▀▀▀█▄▄█ "], ["eat_1", " ▄▄▄▄▄ \n ███████▄ \n █ ▄▀▄▀▀▄ \n █▀▀▀▄ █▄ \n █▄▄▄▄▄▀██ \n ▄▀▄▀▄▀ █▀▀▄ \n ▀▄█▀ ▀▀█▄▄▀ \n █▄▄█▀▀▀█▄▄█ "], ["eat_2", " ▄█████▄ \n ▄▀▀▀█▀███ \n █▄▄▄ ▀▀ ▄▀ \n █ █ ▄██ \n ▄▀▄▄█▀█▄█▀ \n █ █▄▀▄▄█ █ \n ▀█ ▄▄ ▀█▀ \n █▄▄█ █▄▄█ "], ["happy", " ▄█████▄ \n ▄▀▀▀▀█▀██ \n █▄▄▄▀ ▀ ▄▀ \n ▀▄ █ ▄██ \n ▄▀█▀█▀█▄█▀ \n █ █▄▀▄▄█ █ \n ▀█ ▄▄ ▀█▀ \n █▄▄█ █▄▄█ "], ["injured_1", " \n ▄▄▄▄▄ \n ███████▄ \n █ ▄ ▀▀▄ \n █▀▀▀▄▀▀ █▄ \n ▄█▄▄▄▄▄▀██ \n ▄▀▀█▄▀▄▄█▀▀▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["injured_2", " \n \n ▄█████▄ \n ▄▀▀▀▀▀▀██ \n █▄▄▄ █▄ ▄▀ \n ▀▄ ▀ ▄██ \n ▄▀▀██▀██▄▀▀▄ \n █▄▄█▄▄▄▄█▄▄█ "], ["refuse", " ▄▄▄▄▄ \n ███▀▀██▄ \n █ ▄█ ▀▀▄ \n █▀▀▀▄ █▄ \n █▄▄▄▄▄▀██ \n ▄▀▄▀▄▀ █▀▀▄ \n ▀▄█▀ ▀▀█▄▄▀ \n █▄▄█▀▀▀█▄▄█ "], ["sleep_1", " \n ▄█████▄ \n ▄▀▀▀▀▀▀██ \n █▄▄▄ ▀▀ ▄▀ \n ▀▄ ▀ ▄██ \n ▄██▀█▀█▄█▀ \n █ █▀▄▄█ █ \n █▄██▄▄▄▄███▄ "], ["sleep_2", " \n ▄▄▄▄▄ \n ███████▄ \n █ ▄▄▀▀▄ \n █▀▀▀▄ █▄ \n ▄█▄▄▄▄▄▀██ \n █▀▀▄▀▄▄█▀▀▄ \n ██▄▄█▄▄▄█▄▄█ "], ["walk_1", " ▄█████▄ \n ▄▀▀▀█▀███ \n █▄▄▄ ▀▀ ▄▀ \n ▀▄ ▀ ▄██ \n ▄▀█▀█▀█▄█▀ \n █ █▄▀▄▄█ █ \n ▀█ ▄▄ ▀█▀ \n █▄▄█ █▄▄█ "], ["walk_2", " ▄▄▄▄▄ \n ███████▄ \n █ ▀▄█▀▀▄ \n █▀▀▀▄ █▄ \n █▄▄▄▄▄▀██ \n ▄▀▄▀▄▀ █▀▀▄ \n ▀▄█▀ ▀▀█▄▄▀ \n █▄▄█▀▀▀█▄▄█ "]]], + ["murmukusmon", [["angry", " ▄▀▀█ \n ▄▀▀▀▀▀▄ █▄███▀\n █▄▄▄▄▄▀ ████ \n ▄▄▄█ █▀ █ \n █▀▄▄▄▄▀▀▀▄▄▄▀ \n▄▀▀▀█▄▄▄▄▀▀ █ \n▀▄▄▄▀ █▄█▄▄▄█ \n █▄▄▄█ █▄▄▄█ "], ["attack", " ▄▄▄ \n██▄▄▀▀▄███▀▀▄███\n ██ ▀▀▀▀ ███▀ \n█ █ ▀▄ ▄▀ ▄▀ █ \n▀▄▄█▄ ▄▄▀█▄▄▄▀ \n▄▀ ▄█▀▀ █▀▄ ▀▄\n█ █▄▀███▀▀▄█ █\n ██▄▄█ █▄▄██▀ "], ["eat_1", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ▄███▀\n▄▀█ ▄ ▄ █▀▀▄ \n█ ▀▄ ▀ ▀ ▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄█▀ ▀▄▄▀ ▀█▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["eat_2", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ▄███▀\n▄▀█ ▄ ▄ █▀▀▄ \n█ ▀▄ ▀ ▀ ▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄█▀ ▀▄▄▀ ▀█▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["happy", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ▄███▀\n▄▀█ ▄ ▄ █▀▀▄ \n█ ▀▄ ▀ ▀ ▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄█▀ ▀▄▄▀ ▀█▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["injured_1", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ▄███▀\n▄▀█ ▄ ▄ █▀▀▄ \n█ ▀▄ ▀ ▀ ▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄█▀ ▀▄▄▀ ▀█▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["injured_2", " \n ▄▄ ▄███▄ \n███▀ ▄███▀ ▄████\n▄▀█ ▄ ▄ ███▀ \n█ ▀▄▀▀ ▀▀▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄██▄█▄▄█▄██▄▄▀"], ["refuse", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ▄███▀\n▄▀█ ▄ ▄ █▀▀▄ \n█ ▀▄ ▀ ▀ ▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄█▀ ▀▄▄▀ ▀█▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["sleep_1", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ▄███▀\n▄▀█ ▄ ▄ █▀▀▄ \n█ ▀▄ ▀ ▀ ▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄█▀ ▀▄▄▀ ▀█▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["sleep_2", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ▄███▀\n▄▀█ ▄ ▄ █▀▀▄ \n█ ▀▄ ▀ ▀ ▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄█▀ ▀▄▄▀ ▀█▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["walk_1", "▄▄ ▄▄ ▄███▄ ▄▄▄\n▀██▀ ▄███▀ ▄███▀\n▄▀█ ▄ ▄ █▀▀▄ \n█ ▀▄ ▀ ▀ ▄█ █ \n █▀▀█▄▄▀▀ ██▀▀▄ \n█ █▀▄▄▄▄▄█ █ █\n▀▄▄█▀ ▀▄▄▀ ▀█▄▄▀\n █▄▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄ \n██▄▄▀▀▄███▀▀▄███\n ██ ▀▀▀▀ ███▀ \n█ █ ▀▄ ▄▀ ▄▀ █ \n▀▄▄█▄ ▄▄▀█▄▄▄▀ \n▄▀ ▄█▀▀ █▀▄ ▀▄\n█ █▄▀███▀▀▄█ █\n ██▄▄█ █▄▄██▀ "]]], + ["mushroomon", [["angry", " ▄▄▄▄▄▄▄ \n ▄▀██ ██ ▀▄ \n ██▀ ██▀▄ \n █ ▄▄▀█▀█▀▄ ██▄\n ▀▄ █ ▄▄ ▀▄ █\n ▀█ ▄ █▀ \n ▀▄█▀▀ ▀▄▄█ \n █▄▄██▀▀█▄▄▄█ "], ["attack", " ▄▄▀▀██▀▀▄ \n ▄▄▀▀▀ ▀▀ ▄▄▀▄ \n█ ▄▄▀█▀█▀▄ ▀▀▄█ \n▀▄▄▀ ▄ ▀▄ ▀▀▄\n █▄▄▄▄▀▀ █ █\n █▀▀▀▄ ▄ █▀ \n ▄▀█▀▀▀▀▀ ▀▄▄▀ \n █▄██▀▀▀█▄▄▄█ "], ["eat_1", " ▄██▀▀██▀▄ \n ▄▀ ▀▀ ▀▀▄▄█ \n █ ▄▀█▀█▀▄ ▀▀▄█ \n █ █▄ ▄▄▀▄ ▀▀▄\n ▀█▄▄▄▄ ▄█ █\n █ ▄█▀▀█ ▄ █▀ \n ▀█▀▀▀▀ ▄▄█▄ \n █▄██▀▀█▄▄▄▄█ "], ["eat_2", " ▄▄▄▄▄▄▄ \n ▄▀██ ██ ▀▄ \n ██▀ ██▀▄ \n █ ▄▄▀█▀█▀▄ ██▄\n ▀▄ █▄ ▄▄ ▀▄ █\n ▀█ ▄ ▄ █▀ \n ▀▄█▀▀ ▀▄▄█ \n █▄▄██▀▀█▄▄▄█ "], ["happy", " ▄▄▀▀██▀▀▄ \n ▄▀▀▀ ▀▀▄▄▀▀▄ \n █ ▄▀▀▀▀▀▄▀▀ ▄█ \n █▄▀▄ ▄▀▄ ▀▄▄▀▀▄\n█ ▀▄▄▄▄▄▄▄ ▀ █ █\n▀▄▄██▀▀▀▀█ ▄▄▀▄▀\n ▄█▀▀▀▀ ▄█▄▀ \n █▄▄██▀▀█▄▄▄█ "], ["injured_1", " \n ▄▀▀██▀▀█▄ \n █▀▄▄▀▀▄▄▀▀█ \n ▄█ ▀▀ ▀▀ ▀▀▄\n █▀ ▄█▀█▀█▀█▄ █\n █▄█▄▄ ▄▄ █▄█ \n █ ▄█ ▄█▄ █\n █▄▄█▄█▄▄█▄▄▄█ "], ["injured_2", " \n \n ▄▄▄▄▄▄▄ \n █▄▄▀▀▄▄▀▀▄ \n ▄▀ ▀▀ ▀▀ ▀▀▄\n ██ ▄▀▀▀▀▀▀▀▄ ██\n ▀▄▄█▀▀ ▀▀█▄▄▀\n █▄▄▄█▄▄▄▄▄█▄▄▄█"], ["sleep_1", " \n ▄▄▄▄▄▄▄ \n ▄█▀▀▄▄▀▀▄█▄ \n ▄▀▀▄▄▀▀▄▄▀▀█▄ \n ██ ▀▀ ▀▀ ▀▀█\n ▀▄▄█▀▀▀▀▀▀▀▄▄▄▀\n ▄█▀ ▀▀▄█▄ \n █▄▄█▄█▄▄█▄▄▄█ "], ["sleep_2", " \n ▄▀▀██▀▀█▄ \n █▀▄▄▀▀▄▄▀▀█ \n ▄█ ▀▀ ▀▀ ▀▀▄\n █▀▄▀█▀█▀█▀█▀▄ █\n ▀▄█▄ ▄▄ █▄▀ \n ▄█ ▄ ▄█▄ \n █▄▄█▄▄▄▄█▄▄▄█ "], ["walk_1", " ▄██▀▀██▀▄ \n █▄▀▀▄▄▀▀▄██ \n ▄█▀▀ ▀▀ ▀▀ █▄\n █ ▄▀█▀█▀█▀█▀▄ █\n ▀▄█ ▄ ▄ █▄▀ \n █ █ ▀ ▀ ▄▀ █ \n ▀█▄ ▀▀ ▄▄█▀ \n █▄▄█▀▀█▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄▄ \n ▄▀██ ██ █▄ \n ▄██ ██ ██▀▄ \n █▀ ▄▄▄▄▄▄▄▄▄ ▀█\n ▀▄▀▄▀ ▀ ▀ ▀▄▀▄▀\n ▀█ █ █ █▀ \n ▄▀█▄ ▄▄█▀▄ \n ▀█▄▄█▄▄█▄▄▄█▀ "]]], + ["myotismon", [["angry", " ▄ ▄▀██▀▀▀▄ ▄ \n ██ ▀ ▄ ██▀█ \n ██▀ ▀▀ ██ █ \n ▀█▄▀▀▀▀▀▄▄█▄▀ \n █ ▄▄█ ▀▄ \n █ ▄▀ █ \n █▄ █ ▀▄ \n▄█▄▄▄███▄▄▄▄▄▄█▄"], ["attack", " ▄▀██▀▀▀▄ ▄ \n█▄ ▀ ▄█ ██▀█ \n█▄▄▄▄▄▄ ██ █ \n█ ▄▄▄ █ █▄█ \n ██████ ▄▀▀▄▀▄▄ \n█▀▄▄▄▄▄▀ ▄ █ █ \n▀▄▄█▄▄▄▄█▄▀▀ █ \n▄███▀▀▀███▄▄▄▀ "], ["eat_1", " ▄▀██▀▀▀▄ ▄ \n █▄ ▀ ▄▀ ██▀█ \n █▄▄▄▄▄▄ ██ █ \n ▀▄███▄█ █▄▀▄ \n █████▀▄▀ ▄█ \n █ ▄▀ █▀▀ █ \n █ ▄█████▄ ▀▄\n ▄███ ▀█████▀▀▀"], ["eat_2", "▄ ▄▀██▀▀▀▄ ▄ \n██ ▀ ▄ ██▀█ \n██▀ ▀ ██ █ \n █ ▄▀▀▀▀▀▄█▄▀ \n ▄▀ █▄▀▄ \n █ ▄▀ ▀▄ \n █ ▄██ █ \n ▄███ █▄▄▄▄▄█▄ "], ["happy", " ▄ ▄▀▀█▀▀▀▄ ▄\n █▀█▄▀▄ ▄▀▄ ██▀█\n ▀▄▀▄▄▄▄▄▄▄ █▀▄▀\n ▄█▄█ ▄▄▄ █ █▄▀█\n █ ▀███████ █ ▄█\n █▀▄█▀▀▀▀▀▄█▄▀ █\n █ ████████ █\n ▀▄████ ████▄▀▀"], ["injured_1", " ▄▄▄▄▄▄ \n █▄▀ █▀ ▀▄▄▄█ \n ██▄█ █▄ ██ █ \n ██ ▄▄▄▄ █▀▄▀ \n █▀ █▄▀█▀ \n █ █▀▀ █ \n █ █ ▀▄ \n █▄▄▄█▄▄▄▄▄▄▄▄█▄"], ["injured_2", " \n ▄ ▄▀██▀▀▀▄ ▄ \n ██ ▀ ██▀█ \n ██▀ ▀▄▄ ██ █ \n ▀█▄▄▄▄▄ ▄█▄▀ \n █ ▄▄█▀ ▀▄ \n ▄▀ ▄▀ ▄█ \n █▄▄▄█▄▄▄▄▄▄▄█▄ "], ["sleep_1", " \n \n \n \n ▄▀▀█▀▀▀▀▀▀▀▀█ \n █▄ ▀█▀▀▀▀ █ \n █ ▀▀▀▀▀▀▀▀▀▀▀█ \n ▀▄▄▄▄▄▄▄▄▄▄▄█ "], ["sleep_2", " \n \n \n ▄▄▄▄▄▄▄▄▄▄▄▄ \n ▄▀ ▄█▄▄▄▄ █ \n █▀▄▄█▄▄▄▄▄▄▄▄█ \n ▀▄ █ \n ▀▀▀▀▀▀▀▀▀▀▀▀ "], ["walk_1", "▄ ▄▀███▀▀▄ ▄\n█▀██▄ ▀ ▄ ██▀█\n▀▄▀█ ▀ ▀ ██ █\n ▀▄█ ▄▄▀▀▀▀▀█ █ \n ▄▀ ▄▀▀█ \n █ ▄▀ █ \n █ ▄▀ ▀▄ \n▄█▄▄▄▄███▄▄▄▄▄█▄"], ["walk_2", "▄ ▄▀███▀▀▄ ▄\n█▀██▄ ▀ ▄ ██▀█\n█ ██ ▀ ▀ ██ █\n▀█▄█ █▀▀▀█ █▄█ \n█▄ ▀█▄▄▄▄▄▄▀▀ ▄█\n█ ▀▄█ ▀ ▀ ▄▄▀ █\n█ ████████ █\n▀▀▄████ ████▄▀▀"]]], + ["myotismon_x", [["angry", "█▄█▄▀██▀▀█▄▀▀ ▄ \n█ █▀█▄▄▄█▀ ██▀█ \n█ █ ▀▀ ██ █ \n ▀█▄████▀▄▄█▄▀ \n ▀███ █████▄ \n ███▄▀██████ \n ▄█████▄▀████▀ \n▄█████████▄███▄ "], ["attack", " ▄▄▄▀██▀▀█▄▄▄ \n▄ █▀█▄▄███▀█ █ \n▀██▄▄▄▄▄ █▄█▀ \n ▀█ ▄▄▄ █ █▀▄▄▄\n█▀███████ █▄██ █\n▀▄██▄▄▄▄▄███▀▀▀ \n ▄██ ▄▄ ▀███▄▄ \n ▀▀█▄▄█ █▄▄█▀▀ "], ["eat_1", " ▀█▄▀██▀██▄█▀ \n █▀█▄▄██▀ █ ██ \n █▄▄▄▄▄▄ ███▀ \n ▀▄███▄██ ██▀▄ \n ▄█▀█▀▀▀▄▄█▄█▄ \n ██▀▄█▀▀▀▀██▀█ █\n████▀ ▄▄ ▀███▄▀▀\n█ █▄▄▄█ ▀▄▄▄█▀█▄"], ["eat_2", " ▄▀▄▀██▀▀█▄▀▀ ▄ \n ██▀█▄▄▄█▀ ██▀█ \n ██ ▀▀ ██ █ \n ▀█▄████▀▄▄█▄▀ \n ▄███▀▄▄███▀ \n ███ ██████ \n ▀██▄▀██████▄ \n▄█████▄███████▄ "], ["happy", " ▄▄▄▀███▀█▄▄▄ \n█▄ █▀█▄▄▄██▀█ ▄█\n ███ ▄▀▀▀ ▄ ███▀\n ██ ██████ ██ \n█▀▄▀▄▀████▀▄█▄▀█\n▀▄████▄▄▄▄████▄▀\n ▄█▀ ▄▄ ▀█▄▄ \n ▀█▄▄█▀▀█▄▄█▀▀ "], ["injured_1", " \n ▄ ▄ \n ▄▀█▀██▀▀▀█▀ ▄ \n ██▄█▀▀█▄ ██▀█ \n ██▀ ▀▀▄██ █ \n ▀█▄▀▀▀▄ ▄█▄▀ \n ▄███▀███████ \n ████▄█████████▄"], ["injured_2", " \n \n █▄▄▄▄▄▄▄▄█ \n█▄▀▄██▄ ▀▄▄▄█ \n███▀ ▀█▄ ██ █ \n██ ▄▄▄ ▀█▀▄▀ \n ▀█▄▄▄▀▄▄███▄▄ \n ████▄█████████▄"], ["sleep_1", " \n \n \n ▄▄▄▄▄▄▄▄▄▄▄▄ \n ▄██▀ ▀▀▀▀▀████ \n █▄▀▀ ▀▀▀▀▀▀▀▀█ \n ██████████████ \n ▀████████████ "], ["sleep_2", " \n \n \n ▄██▀█████████ \n █▀█▄ ▄▄▄▄▄████ \n ██▄▄▄▄▄▄▄▄▄▄▄█ \n ▀█████████████ \n ▀▀▀▀▀▀▀▀▀▀▀▀ "], ["walk_1", "▄ ▀█▄▀███▀▀▄█▀ ▄\n█▀███▄ ▀ ▄█▀██▀█\n▀▄▀█ ▀███▀ ██ █\n ▀▄█ ▄▄▄▄▄▄ █ █ \n ▄██████▀███ \n ██████ ████ \n ██████ █████▄ \n▄█████▄▄███████▄"], ["walk_2", " ▄▄▄▀███▀▀▄▄▄ \n█▄ ███▄▀▄██▀█ ▄█\n▀███ ▀▀▀▀▀ ███▀\n ▀██ █▀▀▀█ ██▀▀ \n ▀▄▀█▄▄▄▄▄█▀▄▀ \n▄▀████▄ ▄█████▀▄\n█▄▀▄█▀ ▄ ▀██▄▀▄█\n ▀█▄▄█ █▄▄█▀▀ "]]], + ["nanimon", [["angry", " ▄▀▀▀▀▀▀▀▀▄ \n █ ▄█▀█▀█▄ ██ \n █ ████████ █ ▄\n █ █▀█▀█▀██ █▀ \n █ ▀▀▀▀▀▀▀▀ █ \n ▀█▄▄▄▄▄▄▀█ \n ▄█▄█ █▄█▄ \n █▄█▄█ █▄█▄█"], ["attack", " \n ▄ \n ▄▄▄█▄ \n ▄▀ ▀ ▀▄ \n █▄▄█▄▄█▄▄▄█ \n ████▀▀███▀█ \n ▄█▄▄▀▀▀▀▄ ▄█▄▄ \n█▄█▄█▄█▄▄█▄█▄█▄█"], ["eat_1", " ▀▄ \n ▄▄█▄▄ \n ▄▀▄ ▄ ▀▄ \n ██▀████▀███ \n █▀▀▀ ▀▀▀ █ \n ▀▄▄▀▀▀▀▄ ▄▀ \n ▄█▄█▄██▄█▀▄█▄▄ \n█▄█▄█ █▄█▄█"], ["eat_2", " ▄▀▀▀▀▀▀▀▀▄ \n █ █▀█▀█▀█ ██ \n █ ███████ █ \n █ ██▀█▀██ █▄ \n █ ▀▀▀▀▀ █ ▀\n ▀█▄▄▄▄▄▄▀█ \n ▄█▄█ █▄█▄ \n █▄█▄█ █▄█▄█"], ["happy", " ▄▀▀▀▀▀▀▀▀▄ \n █ █▀█▀█▀█ ██ \n █ ███████ █ \n █ ██▀█▀██ █▄ \n █ ▀▀▀▀▀ █ ▀\n ▀█▄▄▄▄▄▄▀█ \n ▄█▄█ █▄█▄ \n █▄█▄█ █▄█▄█"], ["injured_1", " \n ▄ \n ▄▄▄█▄ \n ▄▀ ▀ ▀▄ \n █▄▄█▄▄█▄▄▄█ \n ████▀▀███▀█ \n ▄█▄▄▀▀▀▀▄ ▄█▄▄ \n█▄█▄█▄█▄▄█▄█▄█▄█"], ["injured_2", " \n ▄ \n ▄▄▄█▄ \n ▄▀ ▀ ▀▄ \n █▄▄█▄▄█▄▄▄█ \n ████▀▀███▀█ \n ▄█▄▄▀▀▀▀▄ ▄█▄▄ \n█▄█▄█▄█▄▄█▄█▄█▄█"], ["refuse", " ▀▄ \n ▄▄█▄▄ \n ▄▀ ▀▄ \n ███▄▄▄▄▄███ \n █ ▀▀▀▀▀▀▀ █ \n ▄▄▄█▄ ▄▀ \n█▄▄▄█ ▀▄▄▄▄▄█▄█ \n █▄▄▄█"], ["sleep_1", " \n ▄ \n ▄▄▄█▄ \n ▄▀ ▀ ▀▄ \n █▄▄█▄▄█▄▄▄█ \n ████▀▀███▀█ \n ▄█▄▄▀▀▀▀▄ ▄█▄▄ \n█▄█▄█▄█▄▄█▄█▄█▄█"], ["sleep_2", " \n ▄ \n ▄▄▄█▄ \n ▄▀ ▀ ▀▄ \n █▄▄█▄▄█▄▄▄█ \n ████▀▀███▀█ \n ▄█▄▄▀▀▀▀▄ ▄█▄▄ \n█▄█▄█▄█▄▄█▄█▄█▄█"], ["walk_1", " ▀▄ \n ▄▄█▄▄ \n ▄▀▄ ▄ ▀▄ \n ██▀████▀███ \n █▀▀▀ ▀▀▀ █ \n ▀▄▄▀▀▀▀▄ ▄▀ \n ▄█▄█▄██▄█▀▄█▄▄ \n█▄█▄█ █▄█▄█"], ["walk_2", " ▄▀ \n ▄▄█▄▄ \n ▄▀ ▄ ▀▄ \n ██▀██▀█████ \n █▀▀ ▀▀▀ █▀█▀▄\n ▀▄█▀▀▀▄▄ ▄█ █\n █▄█▄█▄▄█▀ ▀▄▄▄▀\n█▄█▄█ "]]], + ["nefertimon_x", [["angry", "▄▄ ▄▄ ▄▄▄▄▄\n█ ▀▄▀▀█ ▀▄▀ ▄▀\n █▄ ▄▄▄ █ ▀▀▀█\n █ ▀▀ ▄ █ █ ▄▀ \n █▀ ▀▀ █ █▄▀ \n █▀█▀█▀▄█ █ ▄█ \n ▄▀█▀▀█▀█▀ █▄ █ \n█▄▄█▀▀█▄▄█▀█▄█▄█"], ["attack", "█▀▄ ▄▄█▀▄ ▄▀▀▀▀█\n▀▄▄▀ ▄█▄ ▀▄ ▄█▄\n █ ▀▀ ▄ █ ▀▄ ▄▀\n █▀ ▀▀ █ █ █ \n █████ █ ▄▀▀▄ \n █▄▄▄▄██▄▀▄▀▀▄ \n ▄▀ █▄▄▀ ██▄ ▄▀ \n█▄▄█▀█▄▄█▀█▄█▄█ "], ["eat_1", "█▀▄ ▄▄█▀▄ ▄▄▄▄▄\n▀▄▄▀ ▄█▄ ▀█ ▄▀\n █▄▀▀▄▄ █ █ ▀▀█\n █ ▄▄▄ █ █ ▄▀ \n █ ███ █ █▄▀ \n ▀▄███▄▀█ █ ▄█ \n ▄█▀▄ ▄▀█▀▄█▄ █ \n█▄▄█▀▀█▄▄█▀█▄█▄█"], ["eat_2", "▄▄ ▄▄ ▄▄▄▄▄\n█ ▀▄▀▀█ ▀▄▀ ▄▀\n █▄ ▄▄▄ █ ▀▀▀█\n █▄▀▀ ▄ █ █ ▄▀ \n █ ▀ ▀ ▀█ █▄▀ \n ▀▄███▄▀█ █ ▄█ \n ▄█▀▄ ▄▀█▀▄█▄ █ \n█▄▄█▀▀█▄▄█▀█▄█▄█"], ["happy", "█▀▄ ▄▄█▀▄ ▄▄▀▀█\n▀▄▄▀ ▄█▄ ▀█ ▄▀▄\n █▄▀▀▄▀▄█ █ █ \n █▄▄▄▄▄ █ █ █ \n █▀███▀ █ █▄▀ \n ▀▄▄▄▄▄▀█ █ ▄█ \n ▄█▀▄ ▄▀█▀▄█▄ █ \n█▄▄█▀▀█▄▄█▀█▄█▄█"], ["injured_1", " \n▄▄ ▄▄ \n█ ▀▄▀▀█ ▀▄▄▄ \n █▄ ▄▄▄ █ ▀▄ \n █ ▀▀ █ █ █ \n ██ █▄ █ █▀▄ █\n▄▀▄▄▄▄▄▀█ █▄ ▄█▀\n█▄▄██▄▄█▄██▄█▄█ "], ["injured_2", " \n \n█▀▄ ▄▄█▀▄ ▄▄ \n▀▄ ▀ ▀ ▀▄ ▀▄ \n █▄ ▄▄▄▄ ▀▄▄▀▄ \n █▄▀▀▄ █ █▄█ █\n █▀ ▀▀▄█ █ ▄ █▀\n█▄██████▄███▄██ "], ["sleep_1", " \n \n█▀▄ ▄▄█▀▄ ▄▀▀▄ \n▀▄ ▀ ▀ ▀█ ▄▄█\n █▀▄▄▀▀▀▄ █ ▀▄\n █▄ ▄▄ █ █▄ ▄█\n █ ▄▄ ▄▀ █▄▄▀▄ \n█▄█▄▄▄▄███▄█▄█▄█"], ["sleep_2", " \n▄▄ ▄▄ ▄▄▄▄▄\n█ ▀▄▀▀█ ▀▄▀ ▄▀\n █▄ ▄▄▄ █ ▀▀█\n █ ▀▀ █ █ ▄▀ \n █▀ ▀▀ █ █▄▀ \n █▄▀▀ █▄ █▄▄▀▄ \n█▄▄████▄▄███▄█▄█"], ["walk_1", "█▀▄ ▄▄█▀▄ ▄▀▀▀▀█\n▀▄ ▀ ▀ ▀▄ ▄▄█▄\n █▀▄▄▀▀▀▄ ▀▄ ▄▀\n █▀ ▀▀ █ █ █ \n █ ▀▀▀ ▄█ ▄▀▀▄ \n ██▀▀▀▄█▄▀▄▀▀▄ \n █ █▀█ █ █▄ ▄▀ \n █▄▄██▄▄█▀█▄█▄█ "], ["walk_2", "▄▄ ▄▄ ▄▄▄▄▄\n█ ▀▄▀▀█ ▀▄▀ ▄▀\n █▄ ▄▄▄ █ ▀▀▀█\n █▄▀▀▄▄ █ █ ▄▀ \n █ ▄▄▄ █ █▄▀ \n ▀▄▄▄▄▄▀█ █ ▄█ \n ▄█▀▄ ▄█▀█ █▄ █ \n█▄▄█▀▀█▄▄█▀█▄█▄█"]]], + ["neodevimon", [["angry", " ▄ ▄▄▄▄ ▄ \n█ █▀ ▀▀ █ ▄ \n ▀█ ▄█ █▀▄ █▄ \n █ █ ▀▄▄██ \n ▀▄▄▄▀ ▀█████ \n ▄█ ▀ █ █▀██ \n █ █████ █ ▀█ \n█▄███▀ ▀███▄█ "], ["attack", " ▄▀▄▄▀▀▀▀▄▄▀▄ \n ▀▄█ ▄█ ▄▄▀ █ \n █ ▄▄▄ █▀▄▀ ██\n ▀▄███▄▀▄▄████\n ▄▄█▀▀▀▄ ▄▀████\n▄▀ ▄█▄▄▄▄█▄ ███\n▀▄▄▀▄██▀███▄▄▀ █\n █▄▄██ ██▄▄█ "], ["eat_1", "▄▀▄▄▀▀▀▀▄▄▀▄ \n▀▄█ ▀ ▄▄▀ █ \n █ ▄▄▄ ▄▀▄▀ ██ \n ▀▄███▄▀▄▄████ \n ▄▀▀▀▄ ▄▀████ \n ▄▀▀▄▄▄▄▄▀ █ ██ \n ▀▄▄██▀██▄▄▀ █ \n █▄▄██ ██▄▄█ "], ["eat_2", " ▄ ▄▄▄▄ ▄ \n█ █▀ ▀▀ █ ▄ \n ▀█ ▄▀▄ █▀▄ █▄ \n █ █ ▀▄▄██ \n ▀▄▄▄▀ ▀█████ \n ▄█ ▀ █ █▀██ \n █ █████ █ ▀█ \n█▄███▀ ▀███▄█ "], ["happy", "▄▀▄▄▀▀▀▀▄▄▀▄ \n▀▄█ ▄ ▄▄▀ █ \n █ ▀ ▀▄▀▄▀ ██ \n ▀▄ ▄▀▄▄████ \n ▄▀▄▀▀▀▄ ▄▀▀███ \n█ █▄▄▄▄▄█▀ ██ \n ▀█▄██▀███▄▄▀ █ \n █▄▄██ ██▄▄█ "], ["injured_1", " \n ▄ ▄▄▄▄ ▄ \n █ █▀ ▀▀ █ █ \n ▀█ ▄ █▀▄ ██\n █ ▀▀ █ ▀▄███\n ▄▀▄▄▄▀ ▀█████\n ▄▀▀▀▄▄▄█▀▀▀█ ██\n █▄▄▄████▄▄▄█ ▀"], ["injured_2", " \n \n▄▀▄▄▀▀▀▀▄▄▀▄ ▄ \n▀▄█ ▄▄▀ █▄ \n █ █▄ ▄▀▄▀▄██ \n ▀▄ ▄▀▄▄████ \n ▄▀▀▀██▄█▀▀▀███ \n █▄▄▄████▄▄▄█▀█ "], ["sleep_1", " \n ▄ ▄▄▄▄ ▄ \n█ █▀ ▀▀ █ █ \n ▀█ ▄▄ █▀▄ ██ \n █ █ ▀▄███ \n ▄▀▄▄▄▀ ▀█████ \n▄▀▀▀▄▄▄█▀▀▀█ ██ \n█▄▄▄████▄▄▄█ ▀ "], ["sleep_2", " \n▄▀▄▄▀▀▀▀▄▄▀▄ \n▀▄█ ▄▄▀ █ \n █ ▀▀ ▄▀▄▀ ██ \n ▀▄ ▄▀▄▄████ \n ▄▀▄▀▀▀▄ ▄▀████ \n▄▀▀▀▄▄▄▄▀▀▀█ ██ \n█▄▄▄████▄▄▄█ ▀ "], ["walk_1", "▄▀▄▄▀▀▀▀▄▄▀▄ \n▀▄█ ▀ ▄▄▀ █ \n █ ▀ ▄▀▄▀ ██ \n ▀▄ ▀▄▀▄▄████ \n ▄▀▀▀▄ ▄▀████ \n ▄▀▀▄▄▄▄▄▀ █ ██ \n ▀▄▄██▀██▄▄▀ █ \n █▄▄██ ██▄▄█ "], ["walk_2", " ▄ ▄▄▄▄ ▄ \n█ █▀ ▄ ▀▀ █ ▄ \n ▀█ ▄ █▀▄ █▄ \n █ ▄ █ ▀▄▄██ \n ▀▄▄▄▀ ▀█████ \n ▄█ ▀ █ █▀██ \n █ █████ █ ▀█ \n█▄███▀ ▀███▄█ "]]], + ["nidhoggmon", [["angry", " ▄▄▄▄██▄ ▄ \n▄█▀█▄█▀ ███▀ ▄▀█\n▀▀█▀█▀█▀█▀ ▄█ ▄▀\n █▀▄█▀ ▄▄▀\n ▄█▄█▄███▀██▀ ▄▀\n ▄██▀█▄█▀▀ █▀▀ \n ▀ ▀ █▄█▄█▄▀ ▀▄\n ▀█████▄▄█▀"], ["attack", " ▄▄ \n ▄▄████▀█▄█▄ ▄▄\n███▄█▄████▀ ▄▀ █\n ▄▀▄▀▄▀▄█ ▄█▀ ▀▄\n ▀▀▀███▄██▄▄▀▀▄\n ▄▄██ ██▄▀█▄▄▀ \n █▀█ █▀█ ▄ █ ▀▄\n ▀█████▄▄▄█▀"], ["eat_1", " ▄▄ \n ▄███▀███▄█▄ ▄▄\n███▄███▄██▀ ▄▀ █\n ▄▀▄▀▄▀▄█ ▄█▀ ▀▄\n ▀▀▀███▄██▄▄▀▀▄\n ▄▄██ ██▄▀█▄▄▀ \n █▀█ █▀█ ▄ █ ▄\n ▀█████▄▄▄█▀"], ["eat_2", " ▄▄▄██▄ ▄ \n▄██▀█▀█▄███▀ ▄▀█\n▀▀█▀█▀█▀█▀ ▄█ ▄▀\n ▄ ▄ ▄█▀▄█▀ ▄▄▀\n ▀▀▀██▀██▀██▀ ▄▀\n ▄██▀█▄█▀▀ █▀▀ \n ▀ ▀ █▄█▄█▄▀ ▀▄\n ▀█████▄▄█▀"], ["happy", " ▄▄▄▄██▄ ▄ \n▄██▀█▄█▀███▀ ▄▀█\n▀▀█▀█▀█▀█▀ ▄█ ▄▀\n ▄ ▄ ▄█▀▄█▀ ▄▄▀\n ▀▀▀██▀██▀██▀ ▄▀\n ▄██▀█▄█▀▀ █▀▀ \n ▀ ▀ █▄█▄█▄▀ ▀▄\n ▀█████▄▄█▀"], ["injured_1", " \n \n ▄▄▄▄██▄ ▄ \n▄█▀█▄█ ▀███▀ \n▀▀█▀█▀█▀█▀▄▄▄▀▀█\n ▀▄█▄█▄█▀██▄ ▄▀▄\n ▄████ █▀ ▀██▄▄▀\n ▀ ▀ ███▄█▄█▄█▀▄"], ["injured_2", " \n \n ▄▄ \n ▄██▀█▀██▄█▄ \n██▄███▄▄██▀ ▄▄▄▄\n ▄▀▄▀▄▀▄█▄█▀ ▄▀\n ▄███▀█▀ ▀███▀ █\n█▀█▀█▄█▄█▄██▄█▀▄"], ["refuse", " ▄▄ \n ▄██▀██▀█▄█▄ ▄▄\n██▄███▄▄██▀ ▄▀ █\n ▄▀▄▀▄▀▄█ ▄█▀ ▀▄\n ▀▀▀███▄██▄▄▀▀▄\n ▄▄██ ██▄▀█▄▄▀ \n █▀█ █▀█ ▄ █ ▄\n ▀█████▄▄▄█▀"], ["sleep_1", " \n ▄▄ \n ▄███████▄█▄ ▄▀█\n████▄▄████▀▄█ ▄▀\n ▄▀▄▀▄▀▄█▄█▀ ▄▄▀\n ▀▀██▀█▄▀██▀ ▄▀\n ▄██▀█▄█▀▀ █▀▀ \n ▀ ▀ █▄█▄█▄█▄█▀▄"], ["sleep_2", " \n \n ▄▄▄▄██▄ ▄ ▄▄\n▄███▀▀█████▀▄▀ █\n▀▀█▀█▀█▀█▀ █▀ ▀▄\n ▀▄█▄█▄█▀██▄▄▀▀▄\n ▄████ █▀ ▀█▄▄▀ \n ▀ ▀ ███▄█▄█▄█▀▄"], ["walk_1", " ▄▄▄██▄ ▄ \n▄██▀█▀█▄███▀ ▄▀█\n▀▀█▀█▀█▀█▀ ▄█ ▄▀\n ▀▄█▄█▄█▀▄█▀ ▄▄▀\n ▄█▀██▀██▀ ▄▀\n ▄██▀█▄█▀▀ █▀▀ \n ▀ ▀ █▄█▄█▄▀ ▀▄\n ▀█████▄▄█▀"], ["walk_2", " ▄▄ \n ▄▄████▀█▄█▄ ▄▄\n███▄█▄████▀ ▄▀ █\n ▄▀▄▀▄▀▄█ ▄█▀ ▀▄\n ▀▀▀███▄██▄▄▀▀▄\n ▄▄██ ██▄▀█▄▄▀ \n █▀█ █▀█ ▄ █ ▀▄\n ▀█████▄▄▄█▀"]]], + ["ninjamon", [["angry", " ▄▄▄ ▄▄▄▄ \n █ █▄███▄█ █\n █ ▀█████████▀▀█\n █ ███████████ █\n █ ███████████▄█\n ██▄▀▀██▀▀▄▀▀▄▀\n ▄█▄▀▀▀▀▀▀ ▄█▄ \n █▄█▄██▀▀▀██▄█▄█"], ["attack", "▄▀█ ▄▄▄ \n█ █ ▄██████▄ \n▀▄ █▄██▀ █████▄ \n █ ▀██▄▄███████▄\n █▄▀██▀ ▄ ▀██\n █ ▄▄▄▀ ▄▀ \n ██▀▀▀██▀▀▀▀▄ \n █▄█▄▄▄▀ ▀▄▄█▄█"], ["eat_1", " ▄▄▄ \n ▄▄▄ ▄█████▄ ▄▄ \n█ ██▄▄██▄▄██ █\n█ █▀▄▄▄▄▄▄▄▀█▄ █\n▀▄█ ████▀▀█ █ █\n ▀▄ ▀▀▀▀▀▀ ▄▀▀ \n ▄█▀▀██▀▀▀▄▄ \n █▄█▄▄█ █▄█▄▄█ "], ["eat_2", " \n ▄███▄ \n ▄███████▄ \n ▄▄███████████▄ \n█ ▄█▀████▀███ █\n▀▄█▄█▄██▄█▄█▀▀▄▀\n ▄█▄▀▀▀▀▀▀ ▄█▄ \n █▄█▄██▀▀▀██▄▄▄█"], ["happy", "▄▄ ▄▄▄▄ ▄▄\n█ ▀▄▄▀████▀▄ █ █\n█ ▄█▄█▄██▄█▄█ █\n█ █ ▄▄▄▄▄▄▄ █ █\n▀▄█ ▀██▀▀█▀ █ █\n ▀▄ ▀▀▀ ▄▀▀ \n ▄█▀▀██▀▀▀▄▄ \n █▄█▄▄█ █▄█▄▄█ "], ["injured_1", " \n ▄▄▄ \n ▄█████▄ \n ▄█████████▄ \n ▄██▀██▀█████▄ \n █▀▄▄██▄▄▄▀▀▀█ \n █▄ ▄█ \n █▄▄███▀▀▀███▄▄█"], ["injured_2", " \n \n ▄███▄ \n ▄███████▄ \n ███████████ \n ███▀██▀██████ \n █▀▄▄██▄▄▄▀▀ █▄ \n█▄█▄▄▄▄▄▄▄▄▄█▄▄█"], ["sleep_1", " \n ▄ ▄ \n ▀▄ █▄▄█ ▄▀ \n ▀▄ ▄██████▄ ▄▀ \n ▄▄██████████▄▄ \n ▄▄██████████▄▄ \n ▄█ ▀▀▀▀▀▀ █▄ \n ▀ ▄▀▄█▄▄█▄▀▄ ▀ "], ["sleep_2", " \n \n ▄ ▀▄ ▄▀ ▄ \n▄ ▀▄██████▄▀ ▄\n ▀▄██████████▄▀ \n▀▀████████████▀▀\n▀▀█▀████████▀█▀▀\n▄▀▀▄▄█▄▄█▄▄█▄▀▀▄"], ["walk_1", " ▄▄▄ \n ▄█████▄ \n ▄▀████▀███▄ \n ▄█▄ ██ ▄████▄ \n ▄█ ▀▀▀▀▀▀ █▄\n █▀▄ ▀▀▀ ▄▀█ █\n ▀▄▄█▀▀██▀▀▀▄▄▄▀\n █▄█▄▄█ █▄█▄▄█ "], ["walk_2", " \n ▄███▄ \n ▄███████▄ \n ▄▄█ ▀██▀ ████▄ \n█ ▄▀█▄██▄█▀▀█ █\n▀▄█ ▄▄▄ ▀▄▀\n ▄█▄▄▄▄▄▄▄▄▄█▄ \n █▄█▄▄█ ▀█▄█▄▄█"]]], + ["noblepumpkinmon", [["angry", " \n \n \n ▀▄ ▄▀ \n ▄ ▄ ▄ ▄ ▄ \n ▀███████▄█ \n ▄▀▄█▀ ▀█▄ █▄ \n █▀█▄▄█▀█▄▄█▀▀▀"], ["attack", " ▄▄▄██████▄▄▄ \n█▄▄█▄ ▀ ▄▄ ▀▄▄█\n▀▄█ ▀▀ ▀▀ █▄▄▀\n ▀█▄█▄█▄█▄ █ \n ▄▄█▀█▀█▀█ ▄▀▄ \n █ ▀▄▄▄▄▄▄▄▀ ▄▀ \n █▀▀▀█▀ ▀▀██▄ \n ▀ █▄▄▄▀▄▄▄█▀▀ "], ["eat_1", " \n▄ ▄ ▄ ▄\n█▀█ ▀▀ ▀▀ ▄▀▀█\n ▀█▄█▄█▄█▄█ ▀█▀ \n ▄▀█▀█▀█▀ ▄▀ \n █▄▄▄▄▄▄▄▀▄ \n █▀▄█▀ ▀▀█▄█ \n █▀█▄▄█▀█▄▄█▀▀ "], ["eat_2", " \n \n \n ▄▀▄ ▄▀▄ \n \n \n ▄▀▄█▀ ▀█▄▀▄ \n █▀█▄▄█▀█▄▄█▀▀ "], ["happy", " \n▄ ▄ ▄\n█▀█▄▀▄ ▄▀▄ ▄▀▀█\n ▀█ ▄ ▄ ▄ ▄ ▀█▀ \n █▀█▀█▀█▀ ▄▀ \n ▄▀▄▄▄▄▄▄▄▀▄▀ \n ▄▀▀▄██ ▀███▄ \n▀ ▀█▄▄▀▄▄█▀▀▀ "], ["injured_1", " \n \n \n ▄▄▀ ▀▄▄ \n ▄ ▄ ▄ ▄ \n ▄▀▀▄█▄█▄█▄█▀ \n ▀▄▄▄██▀ ▀█ █▄ \n █ ▄██▄█▄█▄▄██▄"], ["injured_2", " \n \n \n ▄ ▄ \n ▀▀ ▀▀ \n ▄ ▀▄▀▄▀▄▀▄ ▄ \n ▀▄▄▄██▀▀▀█▀▀█▄ \n █ ▄██▄█▄██▄▄██"], ["sleep_1", " \n \n \n ▀▀ ▀▀ \n ▄▀▄▀▄▀▄▀ \n ▄ \n ▀▄▄▀▄▄▄▀ \n ▄███ ████▄ "], ["sleep_2", " \n \n ▄▄ ▄▄ \n ▄ ▄ ▄ ▄ \n ▀ ▀ ▀ ▀ \n ▄ ▄▄▄▄ █ \n █▄▀▄▄█ \n ▄███ ████▄ "], ["walk_1", " \n \n \n \n \n \n \n "], ["walk_2", " \n \n \n \n \n ▄▄ ▄▄ ▄ \n █▄▀▄ ▀█▄█▄ \n █ █▄▄█▀▄█▀▀ "]]], + ["numemon", [["angry", " \n █▄█ ▄ ▄ █▄█ \n █▄███ ███▄█ \n ▀▄▄▄▄▄▄▀ \n █ ▀▀ █ \n █ ▄▄ ▀▄▄ \n ▄▀ █▀▀▀█▄ ▀▄\n ▀▄▄▄▄▄▄▄▄▄▄▄▄▀"], ["attack", " █▄█ ▄ ▄ █▄█ \n █▄███ ███▄█ \n ▀▄▄▄▄▄▄█ \n █ ▀▀ █ \n █ ▄▀█▀▄ ▀▄ \n █ ███████▄ ▀▄ \n █ █▄█▄█▄██▄ █\n ▀▄▄▄▄▄▄▄▄▄▄▄▄▀"], ["eat_1", " █▄█▄█ █▄█▄█ \n ▀▄█▄█ █▄█▄▀ \n ▀▀▄▄▄▄▄▀ \n █ ▀▀ ▀▄ \n █ ███▄ ▀▄ \n █ ██████▄ ▀▄ \n █ ▀██████▀ █\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["eat_2", " \n █▄█▄█ █▄█▄█ \n █▄█▄█ █▄█▄█ \n ▀▄ ▄▀ \n ▄▀██▀▀▄ \n █ ▀▄▄ \n ▄▀ ▀▄▄▄▀ ▀▄\n ▀▄▄▄▄▄▄▄▄▄▄▀ "], ["happy", " █▄█▄█ █▄█▄█ \n ▀▄█▄█ █▄█▄▀ \n ▀█▄▄▄▄▄█ \n █ ▀▀ ▀▄ \n █ ▄▄▄▄▄█ █ \n ▄▀ ██████ █ \n █ ███▀ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["injured_1", " \n \n \n ▄ █▄█ █▄█ ▄ \n █████▄▄█████ \n ▄▀ ▀▀ ▀▄ \n ▄▀ ▄███▄ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄▄▄▄▀"], ["injured_2", " \n \n \n \n ▄ █▄█ █▄█ ▄ \n █████▄▄█████ \n ▄▀ ▀▀ ▀▄▄ \n █▄▄▄██▄▄▄▄▄▄█ "], ["sleep_1", " \n \n \n \n ▄▄▄ ▄▄▄▄▄ ▄▄▄▄ \n█████ ▀█████\n ▄▀ ▀▄\n ▀▄▄██▄▄▄▄▀▀▀ "], ["sleep_2", " \n \n \n \n▄███▄▀▀▀▀▀▄████▄\n▀▀▀▀█ ▀██▀▀\n ▄▀ ▀▀ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["walk_1", " \n █▄█▄█ █▄█▄█ \n █▄█▄█ █▄█▄█ \n ▀▄ ▄▀ \n ▄▀██▀▀▄ \n █ ▀▄▄ \n ▄▀ ▀▀▀ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["walk_2", " \n▄ ▄ ▄ ▄ ▄ ▄ \n█▀█▀█ █▀█▀█ \n▀▀▀█▀ ▀█▀▀▀ \n █▀██▀▀▄ \n █ ▀▄▄ \n ▄▀ ▀▀▀ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "]]], + ["numemon_x", [["angry", " \n█▄█ ▄ ▄ █▄█ \n▀▄█▀█ █▀█▄▀ \n ▀▀█▄▄▄█▀ ▄\n ▀ ▄▀█▀█▀▄ ▄ \n▄ █ ▄▄▄ ▀▄▄ \n ▄▀▄█▀▀▀█▄ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["attack", " █▄█ ▄ ▄ █▄█ \n █▄███ ███▄█ \n ▀▀▄▄▄▄▄▀ ▄ \n ▀ █▀█▀█▀▀▄ ▄\n▄ █ █▀█▀█▀▄▀▄ \n ▄▀▄███████▄▀▄ \n █ ▀▄█▄█▄█▄▀ █\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["eat_1", " █▄█▄█ █▄█▄█ \n ▀▄█▄█ █▄█▄▀ \n ▄ ▀█▄█▀ ▀ \n ▄▀█▀█▀▄▄ ▀ \n▄ █▄▄▄▄▄▄▄ █ \n ▄█▀▀▀▀███ █ \n █ ▄▄▄▄▄█▀ ▀▄\n ▀▀▄▄▄▄▄▄▄▄▀▀▀ "], ["eat_2", " \n▄ ▄ ▄ ▄ ▄ ▄ \n█▀█▀█ █▀█▀█ \n ▀▀▀▀█▄▄▄█▀▀▀▀ ▄\n ▀ ▄▀█▀█▀▄ ▄ \n▄ █ ▀▄▄ \n ▄▀ ▀▄▄▄▄▀ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["happy", " \n █▄█▄█ █▄█▄█ \n ▀▄█▄█ █▄█▄▀ \n ▄ ▀█▄█▀ ▀ \n ▄▀█▀█▀▄▄ ▀ \n ▀ ▄▀▄▄▄▄▄▄ ▀▄ \n ▄▀ ▀████▀ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["injured_1", " \n ▄ ▄ \n ▄ ▄ \n ▄ ▄ ▄ ▄ \n▄███▄█████▄████▄\n▀▀▀▀█ ▀ ▀ ▀██▀▀\n ▄▀ ▄▀▀▄ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["injured_2", " \n \n ▄ ▀ ▀ \n ▀ \n █▄█ ▄▄▄▄▄ █▄█▄ \n█████▀█▀█▀▀█████\n ▄▀ ▄▄ ▀▀▄\n █▄▄█▄▄█▄▄▄▄▄▄█"], ["sleep_1", " \n \n \n█▄█▄█ ▄▄▄ █▄█▄█ \n▀▀▀██▀█▀█▀██▀▀▀ \n ▄ █ ▄▄▄ ▀▄▄▀ \n ▄▀▄█▄█▄█▄ ▀▄\n▀ ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["sleep_2", " \n \n▄ ▄ ▄ ▄ ▄ ▄ \n█████ ▄▄▄ █████ \n ▀█▀█▀█▀█▀ \n ▀ █ ▄▄▄ ▀▄▄ ▀\n▀ ▄▀▄█▄█▄█▄ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["walk_1", " \n █▄█▄█ █▄█▄█ \n ▀▄█▄█ █▄█▄▀ \n ▄ ▀█▄█▀ ▀ \n ▄▀█▀█▀▄ ▀ \n ▀ █ ▄▄▄ ▀▄▄ \n ▄▀▄█▄█▄█▄ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["walk_2", " \n▄ ▄ ▄ ▄ ▄ ▄ \n█▀█▀█ █▀█▀█ \n ▀▀▀▀█▄▄▄█▀▀▀▀ ▄\n ▀ ▄▀█▀█▀▄ ▄ \n▄ █ ▄▄▄ ▀▄▄ \n ▄▀▄█▄█▄█▄ ▀▄\n ▀▄▄▄▄▄▄▄▄▀▀▀ "]]], + ["nyaromon", [["angry", "▄▄ ▄▄▄ \n█ ▀▄ ▄▀ █ \n▀▄▄▄▀▀▀▀█ █▄▀█\n▄█▄ ▄▄▄ ▀█ ▄▀\n█▀▄█ █▄▀ █▄▀ \n██ ▄▄▄▄ ██ █ \n██████▀▀▀█ █ \n ▀███▄▄▄█▄▀ "], ["attack", " ▄▄ ▄▄ \n █ █ █ █ \n █ ▄█▄▄█ █ ▄▄\n ▄▀▀ ▀ █ █ █\n█▀▄ ▄▀█▄ █ ▄▀\n█▀▀ ▄ ▀▀▀ █ █ \n▀▄ ▀ ▀▀ █▄▀ \n ▀▄▄▄▄▄▄▄▀ "], ["eat_1", " ▄▄ ▄▄ \n █ █ █ █ \n █ ▄█▄▄█ █ ▄▄\n ▄▀▀ ▀ █ █ █\n█▀▄ ▄▀█▄ █ ▄▀\n█▀▀ ▄ ▀▀▀ █ █ \n▀▄ ▀ ▀▀ █▄▀ \n ▀▄▄▄▄▄▄▄▀ "], ["eat_2", " \n ▄▀▀█ ▄▄▄▄ \n █▄▀▀▀▀█▀ ▄▀ \n▄▀ ▀▄ ▄▄\n█▀▀ ▀▀▀ ██ █\n█▀▄▄█▄▄▄█ █ ▄▀\n█ ████▀▀█ ▄▀▀ \n ▀▄██▄▄█▄▄▀ "], ["happy", " \n ▄▀▀█ ▄▄▄▄ \n █▄▀▀▀▀█▀ ▄▀▄▄\n▄█ ▄▄ ▀▄█ █\n█▄█ █▄▀▀ █ ▄▀\n█ ▄▄█▄▄▄ █▀ \n█ ██████ █ \n ▀███▄▄█▄▄▀ "], ["injured_1", " \n \n \n█▀█▄▀▀▀▀▄▀▀▀█ \n▄▀ ▀▄ \n█ ▄ ▄ █▄ \n█▀▀ ▄ ▀▀▀ █ ▀▄\n ▀▄█▄██▄▄▄▄▀▀▄▄█"], ["injured_2", " \n \n \n ▄▄ ▄▄▄▄ ▄▄ \n█▄▀▀ ▀ ▀▀▄ \n█ ▀█▀ \n█▄█ █▄▄ █▀▄ \n▀▄▄▄█▄▄▄▄▄▄▄▀▄▄█"], ["refuse", " \n \n▄▄▄ ▄▄▄ \n▀▄▄▀▀▀▀▀█▀▀ ▄▀▄▄\n▄▀ ▀▄█ █\n█▄ ▄▀█ █ ▄▀\n█▀▀ ▄ ▀▀▀ █▄▀ \n ▀▄█▄██▄▄▄▄▀ "], ["sleep_1", " \n \n▄▄▄▄ █▀▀▄ \n█ ▀█▀▀▀▄█ \n▄▀ █ \n█ ▄▄▄ ▄▄█▀▄ \n█ ▄▄▀▄▀ █ \n ▀▄▄▄▄▄▄▄█▄▄▄▄▀ "], ["sleep_2", " \n \n▄▄▄▄ █▀▀▄ \n█ ▀█▀▀▀▄█ \n▄▀ █ \n█ ▄▄▄ ▄▄█▀▄ \n█ ▄▄▀▄▀ █ \n ▀▄▄▄▄▄▄▄█▄▄▄▄▀ "], ["walk_1", " \n \n ▄▀▀█ ▄▄▄▄ \n █▄▀▀▀▀█▀ ▄▀▄▄\n▄█ ▄▄ ▀▄█ █\n█▄█ █▄█▀ █ ▄▀\n█ ▄▀▄▄ █▄▀ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["walk_2", " ▄▄ ▄▄ \n █ █ █ █ \n █ ▄█▄▄█ █ ▄▄\n ▄▀▀ ▀ █ █ █\n█▀▄ ▄▀█▄ █ ▄▀\n█▀▀ ▄ ▀▀▀ █ █ \n▀▄ ▀ ▀▀ █▄▀ \n ▀▄▄▄▄▄▄▄▀ "]]], + ["nyokimon", [["angry", " \n \n \n \n ▄▀▀▄▀▀▄ \n ▀▀▄▀▀ \n ▄█▀▀█▄ \n ▄▄████ "], ["attack", " \n \n \n \n ▄▀▄ \n ▀██▀▄▄▀▄▀ \n ▀██ █ █ \n ▄▄▄██ ▀ "], ["eat_1", " \n \n \n \n ▄▀▄ \n ▀██▀▄▄▀▄▀ \n ▀██ █ █ \n ▄▄███ ▀ "], ["eat_2", " \n \n \n \n ▄▀▀▄▀▀▄ \n ▀▀▄▀▀ \n ▄▀█▄ \n █████ "], ["happy", " \n \n \n ▄▀▀▄▀▀▄ \n ▀▀▄▀▀ \n ▄▀███▀▄ \n █▀▀▀▀▀█ \n ▀█▄▄▄█▀ "], ["injured_1", " \n \n \n \n ▄▀▀▄▀▀▄ \n ▀▀▄▀▀ \n ▄▀█▀▄ \n █▄███▄█ "], ["injured_2", " \n \n \n \n ▄▀▀▄ \n ▀▀▄▀▀▄ \n ▄▄▄█▄▀▀ \n █▄▄█▄▄█ "], ["sleep_1", " \n \n \n \n ▄▄ ▄▄ \n ▀▄▄▀▄▄▀ \n ▄▄█▄▄ \n █▄▄█▄▄█ "], ["sleep_2", " \n \n \n ▄▄ ▄▄ \n ▀▄▄▀▄▄▀ \n ▄▄█▄▄ \n █▄▄█▄▄█ \n ▀██▄██▀ "], ["walk_1", " \n \n \n \n ▄▄ ▄▄ \n ▀▄▄▀▄▄▀ \n ▄▄█▄ \n █▄█▄██ "], ["walk_2", " \n \n \n \n ▄▀▀▄▀▀▄ \n ▀▀▄▀▀ \n ▄▀█▀█▄ \n ▀████▀ "]]], + ["octomon", [["angry", " ▄▀▀▀▀▀▀▄ \n ▄▀▄▀ ▀▄ \n █ ▀ █ \n ▄▀▀ ▀▀▀▀▀▀ ▀▄ \n▄▀█▄█████▀██▄▄▀ \n▀▄▄█▀▀▀▄▄███ █▀▄\n █ █ ▀ █ █ █▄▄▄▀\n▀▄▄▀▀▀▀▄▄▀▄▄▀▄▄▀"], ["attack", " ▄▀▀▀▀▀▀▄ \n ▄▀▄▀ ▀▄ \n █▄ █ \n █ ▄▄▄▄▄▄▄▄ ▀▄ \n ▄▀▄▄▄▀█▀ ██▀▀▄\n█▀█ ███ ████▀▀ █\n █▀▄▀▀▀▄▀█ █▀▀█ \n▀▄▄▀▀▀▀▄▄▀▄▄▀▄▄▀"], ["eat_1", " ▄▀▀▀▀▀▀▄ \n ▄▀▄▀ ▀▄ \n █▄ ▄▄▄▄▄▄ ▄█ \n ▄█ ▄▄▄▄▄▄▄▄▀▄ █\n█ ██▀▀▀█▀▄▀███ █\n▀▄▄█ █ ██████▄▄▀\n █ █ ▀ █ █ █▄ █ \n▀▄▄▀▀▀▀▄▄▀▄▄▀▄▄▀"], ["eat_2", " ▄▀▀▀▀▀▀▄ \n ▄▀▄▀ ▀▄ \n █ ▀ █ \n ▄▀▀ ▀▀▀▀▀▀ ▀▄ \n ▄█▄█████▀██▄▄█ \n█ ▄█▀▀▀▀▄█▄██▄ █\n▀█ █ ▀▀ █ █ █▄▄▀\n ▀▄▄▀▀▀█▄▄▀▄▄▄▀ "], ["happy", " ▄▄ ▄▀▀▀▀▀▀▄ \n █ ▄▀▄▀ ▀▄ \n▄▀▀█▄ ▄▄▄▄▄▄ ▄█ \n█ █ ▄▄▄▄▄▄▄▄▀▄ █\n▀▄▄▀▀▀▀▀█▀▄▀█▀▀█\n ▄█ ███ █████▀ █\n█ █▄▀▀▀▄▀██ █▀█ \n▀▄▄▄▀▀▀▄▄▀▄▄▀▄▄▀"], ["injured_1", " ▄▄▄▄▄▄ \n ▄▀▄ ▀▄ \n █ █ █ \n ▀▄ ▄▄▄▄▄ ▄▀ \n █ ▄▄▄▄▄▄▄▄ █ \n ▄▀█▀▄███▄▀█▀█ \n█ ▄█▀█ ▄ █▀█▄ █ \n▀▄█▄▄█▄▄▄█▄▄█▄▄▀"], ["injured_2", " ▄▄▄▄▄▄ \n ▄▀▄ ▀▄ \n █ █ █ \n ▀▄ ▄▄▄▄▄ ▄▀ \n █ ▄▄▄▄▄▄▄▄ █ \n ▄▀██▀███▀██▄▀▄ \n█ ▄▀▄▄▀▀▀▄▄█▀▄ █\n▀▄▀▄▄█▄█▄█▄▄▄▀▄▀"], ["sleep_1", " ▄▄▄▄▄▄ \n ▄▀▄ ▀▄ \n █ █ █ \n ▀▄ ▄▄▄▄▄ ▄▀ \n █ ▄▄▄▄▄▄▄▄ █ \n▄▀▀████▀▀███▀▀▀▄\n█▄▀█ ▄ █▀█▀▀█▀ █\n▀▄▄█▄▄▄█▄▄█▄▄█▀ "], ["sleep_2", " ▄▀▀▀▀▀▀▄ \n ▄▀▄▀ ▀▄ \n █ ▀ █ \n ▄▀ ▀▀▀▀▀ ▀▄ \n ▄█▄███▀▀███▄█▄ \n█ ▄█▀▀▀█████▄▄ █\n▀█ █ █ █ █▄▀█▄▄▀\n█▄▄▀▄▄▄▀▄▄█▄▄█ "], ["walk_1", " ▄▀▀▀▀▀▀▄ \n ▄▀▄▀ ▀▄ \n ▄█ ▀ █▄ \n█ ▄▀ ▀▀▀▀▀ ▀▄ █\n█ █▄▀█████▀█ █ █\n▀▄▄▀▄▄▀▀▀▄▄▀▀ ▄▀\n █ █ █ ▀ █ █▀█ \n▀▄▄▀▄▄▀▀▀▄▄▀▄▄▀ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▀▄ ▀▄ \n █ █ █ \n ▀▄ ▄▄▄▄▄ ▄▀ \n █ ▄▄▄▄▄▄▄▄ █ \n▄▀▀█ ▀███▀ █▄▀▀▄\n█ ▀▄▀█ ▄ █▀█ ▀ █\n ▀█▄▄█▄▄▄█▄▄█▀▀ "]]], + ["ogremon", [["angry", " \n ▄▀▄▄▄▄████▄▄▄▀▄\n ▀▄▄▀█▀▀ ▀▄ ▄▄▀\n █▄ ▄█ █ \n ▄▀█▄▄▄▄▄ █▄ \n█ ▄█▄▄▄▄▄█▄▀ █ \n█ █▄▄▄ █ █ █▄\n ▀█▄▄▄▄█▀▄▄▄▄█▄█"], ["attack", "▄▀▄▄▄▄████▄▄▄▀▄ \n▀▄█▄▄▄▄▄▄ █ ▄▄▀ \n █ █▄█ ██ █ \n ▀███████ █▄▄▄ \n ▄█▀█▀█▀██ █ █\n█ █▀▀▀▀▀▀ ▄█▀▀ █\n█▀ ▀█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["eat_1", "▄▀▄▄▄▄████▄▄▄▀▄ \n▀▄▄▀█▀▀▄▄▀▄ ▄▄▀ \n █ ▀ ▀ █ \n ▀███████ █▄▄▄ \n ▄██▀▀▀▀██ █ █\n█▄▀ ▄▀▀ ▄█▀▀ █\n██▄▄█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["eat_2", " \n ▄▀▄▄▄▄████▄▄▄▀▄\n ▀▄▄▀█▀▀▄▄▀▄ ▄▄▀\n ▄▄█ ▀ ▀ █ \n█ ▄█▄▄▄▄▄▄▀ █▄ \n█ ▀▄▄▄▄▄▄▄▀ █ \n ▀▀█▄▄▄ █ █ █▄\n █▄▄▄▄█▀▄▄▄▄█▄█"], ["happy", "▄▀▄▄▄▄████▄▄▄▀▄ \n▀▄▄▀█▀▀▄▄▀▄ ▄▄▀ \n █ ▀ ▀ █ \n ▀███████ █▄▄▄ \n ▄█▀█▀█▀██ █ █\n█ █▀▀▀▀▀▀ ▄█▀▀ █\n█▀ ▀█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["injured_1", " \n ▄▀▄▄▄▄████▄▄▄▀▄\n █ ▄▀██▀▀▀█▀▀ █\n ▀█ █ ▄ ▀█▀▀ \n ▄█▀ ▀▀ █▄ \n▄█▄█▀▀▀▀▀▀ ▄▀▄█▄\n█ ▀ █▀▀▀▀█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["injured_2", " \n ▄ ▄▄▄▄▄ ▄ \n█ ▀█████████▀ █ \n▀▄█ █▀ ▀▄▄▄▄▀ \n █▄▀ █▄ █▄ \n▄██▄▄▄▄▄▄ █▄█▄▄\n█ ▀ █▄▄▄▄█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["sleep_1", " \n ▄▀▄▄▄▄████▄▄▄▀▄\n █ ▄▀██▀▀▀█▀▀ █\n ▀█ █ ▀█▀▀ \n ▄█▀ ▀▀ █▄ \n▄█▄█▀▀▀▀▀▀ ▄▀▄█▄\n█ ▀ █▀▀▀▀█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["sleep_2", " \n ▄▀▄▄▄▄████▄▄▄▀▄\n ▀▄▄▀█▀▀ ▀▄ ▄▄▀\n █▄ ▄▄ ▄ █ \n ▄▀▄▄▄▄▄▀█ █▄ \n▄█▄█▀▀▀▀▀▀ ▄▀▄█▄\n█ ▀ █▀▀▀▀█▀▀█ █\n█▄▄▄█▄▄▄█▄▄▄▄▄▄█"], ["walk_1", "▄▀▄▄▄▄████▄▄▄▀▄ \n▀▄▄▀█▀▀▄ ▀▄ ▄▄▀ \n ██ █▀ ▄ █ \n ▀▄▄▄▄█▀█ █▄▄▄ \n ▄█▀█▀█▀██ █ █\n█ █▀▀▀▀▀▀ ▄█▀▀ █\n█▀ ▀█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄▄▄█▀▀▀▄▄▄▄█"], ["walk_2", " \n ▄▀▄▄▄▄████▄▄▄▀▄\n ▀▄▄▀█▀▀▄ ▀▄ ▄▄▀\n ▄▄██ █▀ ▄ █ \n█ ▄█▄▄▄▄▄▄▀ █▄ \n█ ▀▄▄▄▄▄▄▄▀ █ \n ▀▀█▄▄▄ █ █ █▄\n █▄▄▄▄█▀▄▄▄▄█▄█"]]], + ["ogremon_x", [["angry", " \n ▄▀▄▄▄▄████▄▄▄▀▄\n ▀▄▄▀█▀▀ ▀▄ ▄▄▀\n ██ ▄█ █ \n ▄▀█▄▄▄▄▄ █▄▀█\n█▄▄█▄▄▄▄▄█▄█▄ █ \n█▀ █▄▄▄ █ █▀██▄\n ▀█▄▄▄▄█▀▄▄▄▄█▄█"], ["attack", " ▄▀▄▄▄█████▄▄▄▀▄\n ▀▄▄▀▀█▀▀ ▀▄ ▄▄▀\n ██▄ ▄█ █ ▄▄\n █▄▄▄▄▄██ █▀▄▀\n ▀▄█▄█▄█▀ █▄ █\n ▄▄▄▄██████▀▀ █ \n█ ▀▄▄▄▄ ▄█▄▄██▄\n ▀▄▄▄▄▄█▀▀▀█▄█▄█"], ["eat_1", "▄▀▄▄▄█████▄▄▄▀▄ \n▀▄▄▀█▀ ▄ ▀▄ ▄▄▀ \n █ ▀ ▀ █ ▄▀█\n ▀███████ █▀▀▀▄\n ▄██▀▀▀▀██ ███▄█\n█▄▀ ▄▀▀ ▄█ █▀\n██▄▄█▀█▀▀▀████▄▄\n▀▄▄█▄█▄█▀▀▀▄▄█▄█"], ["eat_2", " \n ▄▀▄▄▄▄████▄▄▄▀▄\n ▀▄▄▀█▀▀▄ ▀▄ ▄▄▀\n ▄▄██ ▀ ▀ █ \n█ ▄█▄▄▄▄▄▄▀ █▄▀█\n█▀ ▀▄▄▄▄▄▄▄█ █ \n ▀██▄▄▄ █ ▀███▄\n █▄█▄▄█▀▄▄▄▄█▄█"], ["happy", "▄▀▄▄▄█████▄▄▄▀▄ \n▀▄▄▀█▀ ▄▄▀▄ ▄▄▀ \n █ ▀ ▀ █ ▄▄\n ▀███████ █▄█▄▀\n ▄█▀█▀█▀██ █▄▄ █\n█▄█▀▀▀▀▀▀ ▄█▀▀██\n█▀ ▀█▀█▀▀▀ █▄▄█▄\n▀▄▄█▄█▄█▀▀▀▄▄█▄█"], ["injured_1", " \n ▄▀▄▄▄█████▄▄▄▀▄\n █ ▄▀██▀▀▀█▀▀ █\n ▀█ █ ▄ ▀█▀▀ \n ▄█▀ ▀▀ █▄▀█\n▄█▄█▀▀▀▀▀▀ ▄▀▄█▄\n█ ▀ █▀▀▀▀█▀▀█▄ █\n█▄▄▄█▄▄▄█▄▄▄▄█▄█"], ["injured_2", " \n ▄ ▄▄▄▄▄ ▄ \n█ ▀█████████▀ █ \n▀▄█ █▀ ▀▄▄▄▄▀ \n █▄▀ █▄ █ ▄▀█\n▄▀█▄▄▄▄▄▄ ██▄█▄\n█ ▀ █▄▄▄▄█▀▀█▄ █\n█▄▄▄█▄▄▄█▄▄▄▄█▄█"], ["sleep_1", " \n ▄▀▄▄▄▄████▄▄▄▀▄\n █ ▄▀██▀▀▀█▀▀ █\n ▀█ █ ▀█▀▀ \n ▄█▀ ▀▀ █▄▀█\n▄█▄█▀▀▀▀▀▀ ▄▀▄█▄\n█ ▀ █▀▀▀▀█▀▀█▄ █\n█▄▄▄█▄▄▄█▄▄▄▄███"], ["sleep_2", " \n ▄▀▄▄▄█████▄▄▄▀▄\n ▀▄▄▀█▀▀ ▀▄ ▄▄▀\n █▄ ▄▄ ▄ █ \n ▄▀▄▄▄▄▄▀█ █▄▀█\n▄█▄█▀▀▀▀▀▀ ▄▀▄█▄\n█ ▀ █▀▀▀▀█▀▀█▄ █\n█▄▄▄█▄▄▄█▄▄▄▄███"], ["walk_1", "▄▀▄▄▄█████▄▄▄▀▄ \n▀▄▄▀▀█▀▀ ▀▄ ▄▄▀ \n ██▄ ▄█▀ █ ▄▄\n▄▄█▄▄▄▄▄▀█ █▄█▄▀\n▀▄█▀█▀█▀██ █▄ ▀█\n█▄█▀▀▀▀▀▀ ▄█▀▀▄█\n█ ██▀█▀▀▀██▄▄█▄\n▀███▄█▄█▀▀▀█▄█▄█"], ["walk_2", " \n ▄▀▄▄▄▄████▄▄▄▀▄\n ▀▄▄▀█▀▀▄ ▀▄ ▄▄▀\n ▄▄██ █▀ ▄ █ \n█▄▄█▄▄▄▄▄▄▀ █▄▀█\n█ ▀▄▄▄▄▄▄▄▀ █ \n ▀▄██████ ▀█▄█▄\n █▄█▄▄█▀▄▄███▄█"]]], + ["ogudomon", [["angry", " ▄ \n ▄█▄ ▀█▀ ▄█▄ \n ▀▄▄█████▄▄▀ \n ▄██▀▀▀▀▀▀███▄ \n ▀█▄██████▄██▀ \n ▄█▄▀▀█████▀▀▄█▄\n ▀███▄ ▄███▀\n █▄▄▀▄█ █▄▀▄▄█"], ["attack", " ▄█▄ ▀█▀ ▄█▄ \n ▀▄▄█████▄▄▀ \n ▄██▀ ▀███▄ \n ▀██ ▄▄▄▄ ███▀ \n █▄▀▀█████▀▀▄█ \n ██▀ ██ \n ██▄▄ ▄▄██ \n█▄▄▀▄█ █▄▀▄▄█ "], ["eat_1", " ▄█▄ ▀█▀ ▄█▄ \n ▀▄▄█████▄▄▀ \n ▄██▄ ▄██▄ \n ▀███▄ ▄███▀ \n █▄▀▀█▄▄██▀▀▄█ \n ▀██ ██▀ \n ▄▄██ ██▄▄ \n █▄▄▀▄█ █▄▀▄▄█"], ["eat_2", " ▄ \n ▄█▄ ▀█▀ ▄█▄ \n ▀▄▄█████▄▄▀ \n ▄█▀██████▀██▄ \n ▀██▄▄▄▄▄▄███▀ \n █▄▄▀█████▀▄▄█ \n ▄███▄ ▄███▄ \n █▄▄▀▄█ █▄▀▄▄█"], ["happy", " ▄█▄ ▀█▀ ▄█▄ \n ▀▄▄█████▄▄▀ \n ▄█ ▀▀▀▀▀▀ ██▄ \n ▀██ ███▀ \n █▄▀▀▄▄▄▄█▀▀▄██ \n ▀█▄ ██▄▄\n ▄██▄ ▄▀█ ▄▀\n█▄▄▀▄█ ▀▀ ▀ "], ["injured_1", " \n \n ▄ ▄█▄ ▄ \n ▀█▀ ▄▄█▄▄ ▀█▀ \n ▄█████████▄ \n ███▀ ▀█████ \n ███ ▄▄▄ █████ \n █▄▄▀██████▀█▄▄█"], ["injured_2", " \n \n ▄ \n ▄█▄ ▀█▀ ▄█▄ \n ▀▄▄█████▄▄▀ \n ▄███▀▀▀█████▄ \n ███ ▄▄▄ █████ \n █▄▄█▀█████▀█▄▄█"], ["sleep_1", " \n \n ▄ \n ▄█▄ ▀█▀ ▄█▄ \n ▀▄▄█████▄▄▀ \n ▄████▀▀█████▄ \n ▄▀███▄▄▄ ████▀▄\n ██▄▄▀▀▀▀▀▀▀▄▄██"], ["sleep_2", " \n \n ▄ ▄█▄ ▄ \n ▀█▀ ▄▄█▄▄ ▀█▀ \n ▄███▀▀████▄ \n ████ █████ \n ▄▄▀█████ ███▀▄▄\n ███▄▄▀▀▀▀▀▄▄███"], ["walk_1", " ▄ ▄█▄ ▄ \n ▀█▀ ▄▄█▄▄ ▀█▀ \n ▄█████████▄ \n ██▄▀▀▀▀▀▀▄███ \n ▄▀██▄▄▄▄███▀▄ \n ██▀ ▀▀▀▀▀ ▀██\n ██▄▄ ▄▄██ \n █▄▄▀▄█ █▄▀▄▄█"], ["walk_2", " ▄ \n ▄█▄ ▀█▀ ▄█▄ \n ▀▄▄█████▄▄▀ \n ▄█▀██████▀██▄ \n ▄▀█▄ ▄██▀▄ \n███ ▀▀▀▀▀▀▀▄██▀ \n ▀██▄▄ ▄▀█▀▀▄\n █▄▄▀▄█ ▀▀ ▀▀ "]]], + ["ogudomon_x", [["angry", " \n █▄████▄▄█ \n ▀▄▀█▀▄▀▀ \n▀███▄▄█▄███▄███▀\n▄▄███▀▀▀▀▀████▄▄\n ▀▀█▄█████▄██▀▀ \n ██▀▀███▀ ▀██ \n ▄▄▀▄ ▄▀▄▄ "], ["attack", " ▄ ▄▄▄ ▄ \n ▄███▀██▀ \n ▄▄▀▄ ▄██▄ ▄▄\n ▀█████▀▀██▀\n ▀██ ▀ ▄██▀▀\n ▄▄██ ▀▄███▄ \n ▄▀ ▄▀ ▄█ ▀▀ ▀█ \n█▄▄▀ ▄▄▀▄ ▄▄▀▄"], ["eat_1", " █▄████▄▄█ \n▄▄▄ ▀▄▀▀▀▄▀▀▄▄▄▄\n ▀██▀██▄███▀██▀ \n▄▄██▄ ▀▀▀ ▄██▄▄\n ▀███▄ ▄███▀ \n ▄█▀█▄ ▄██▀█▄ \n ▀█▄ ▀▀▀ ▄█▀ \n ▄▄▀▄ ▄▀▄▄ "], ["eat_2", " ▄ ▄▄▄▄ ▄ \n █▀███▀██▀ \n▄▄▄▄ ▀▄ ▄█▄ ▄▄▄▄\n ▀██▀█████▀▀██▀ \n▀███▄ ▀▀▀ ▄████▀\n ▀████████▀ \n ▄█▀ ▀▀▀ ▀█▄ \n ▄▄▀█ ▄▀▄▄ "], ["happy", " █▄█▀██▄▄█ \n ▀█▄█▄█▀▀ \n▀███▄▄█████▄███▀\n▄▄██ ▀███▀ ▄██▄▄\n ▀▀██▄ ▄███▀▀ \n ▄█▀███▀▀▀██ \n █▄ █▄▄\n ▄▄▀▄ ▀ "], ["injured_1", " \n \n █▄████▄▄█ \n ▀██ ▀█▀▀ \n▀███▄▄█████▄███▀\n▄▄████▀ ▀████▄▄\n ▀▀▀██▄██▄██▀▀▀ \n▄█▀█▀▀████▀▀█▀█▄"], ["injured_2", " \n \n ▄ ▄▄▄▄ ▄ \n ███▀████▀ \n▄▄▄ ▀█▄▄█▄ ▄▄▄▄ \n▄█████▀▀██████▄▄\n ▀▀▀█▄██▄████▀▀ \n▄█▀█▀▀████▀▀█▀█▄"], ["sleep_1", " \n \n ▄ ▄▄▄▄ ▄ \n ██▀▀████▀ \n▄▄▄ ▀████▄ ▄▄▄▄ \n▄█████▀▀██████▄▄\n ▀▀█▄▄▄▄███▀▀▀ \n▄▄▀█▀▀████▀▀█▀▄▄"], ["sleep_2", " \n \n █▄████▄▄█ \n ▀█▄▄██▀▀ \n▀███▄▄█████▄███▀\n▄▄███▀ ▀████▄▄\n ▀▀▀█▄▄▄▄▄██▀▀▀ \n▄▄▀█▀▀████▀▀█▀▄▄"], ["walk_1", " █▄████▄▄█ \n ▀▄▀▀▀▄▀▀ \n▀███▄▄█▄███▄███▀\n▄▄██▄▀██▀ ▄▄██▄▄\n ▀▀██▄ ▄▄████▀▀ \n ▄█▀███▀▀█▄ \n █▄ ▄█ \n ▄▄▀▄ ▄▀▄▄ "], ["walk_2", " ▄ ▄▄▄▄ ▄ \n █▀███▀██▀ \n▄▄▄▄ ▀▄▄▄█▄ ▄▄▄▄\n ▀██▀████▀▀▀██▀ \n▀████ ▀▀ ▄█████▀\n ▀██▄█████▀ \n ▄█▀ ▀▀▀ ▀▀▀█▄ \n ▄▄▀█ ▀ ▀▀"]]], + ["okuwamon", [["angry", " ▄▄▀██▄ \n ▄▄▄▀█▄███ \n ▄███▀█████▀ \n ████▄▄████▀ \n ▄█▄ ▀▀█████▄ \n█ ▄█▀█▀▀▀▄ ███ \n▀▄▄█▀█▀▀▀▄▄████ \n █▄███▀▀████▄█ "], ["attack", " ▄▄ ▀█▄ \n ▄▄██▄▀█▄ \n ▄██▀ ▄████▀ \n █▀█▀█▀███▀▄ \n ████▄ \n ▄▄ ▄█▄ █ \n ▀▄▀▀█▀▀▀█▄▄█▀ \n █▄███▀▀████▄█ "], ["eat_1", " ▀█▄▀█▄ \n ▄▄██▄██▄██ \n █████▄ ███▀ \n ▀ ▀ ████▀▄ \n ██▀▀▀██▄\n ▄▀█▄▄▄▀▀▀█▀ ███\n ▀▄▄▀█▀▀▀██▄▄▀█▀\n █▄███▀▀████▄█ "], ["eat_2", " ▄▄ ▀█▄ \n ▄▄▀█▄▀██ \n ▄██▀█████ \n ███▄█▄███▀▄ \n █▀▀▀▄███████▄ \n ▄▄▀█▀ █▄ ████ \n ▀▄▀█▀▀█ ▄██▀█ \n █▄███▀▀████▄█ "], ["happy", "▄█▀ ▄▄ ▄▄ ▀█▄\n▀███▄█▄▄▄▄█▄███▀\n ██ ▄████▄ ██ \n ▄▄██▀█▀▀█▀██▄▄ \n█ ▀█ █▀ █\n▀▄▄█▀▄ ▄▀█▄▄▀\n ▀██▀▀▀█▀▀██▀ \n ██▄██▀▀▀▀██▄██ "], ["injured_1", " \n ▄█▀ ▄ ▄ ▀█▄ \n ██▀▄█▀▄▄▀█▄▀██ \n ████▀███▀█████ \n ▄██▄█▀▀▀█▄███▄ \n █ ▀█▄▄▄▄▄█ ▀▀ █\n █ █ ▀█▀ █ █\n █▄▄▄█▄█▄█▄▄▄▄▄▀"], ["injured_2", " \n ▄▄ ▄▄ \n ▄██ ▄█ █▄ ██▄ \n ██▄██▄██▄██▄██ \n ████▀███▀█████ \n ▀██▄▄███▄▄▀██▀▄\n █ ▀█▄█▄█▄█ █\n █▄▄█▄▄█▄▄█▄▄▄▄█"], ["sleep_1", " \n \n ▄▄▄▄▄▄▄ \n ▄█▀▄▀█▄▀▄▄▄▄▀█▄\n██▄███▄██▄▀███▄█\n██████████ █████\n█████████▀▄█████\n ▀████████████▀ "], ["sleep_2", " \n \n ▄▄ ▄▄▀█▀▀▀▀█▄ \n▄█▀▄█▄▀█▄▀███▄▀█\n██████████ █████\n██████████ █████\n█████████▀▄█████\n ▀██████▄█████▀ "], ["walk_1", " ▄█▀ ▄ ▄ ▀█▄ \n██▀▄█▀▄▄▀█▄▀██ \n▀███▀████▀███▀ \n ██▄▄██▄▄██▄ \n ▄█▄▀▀▀▀▄█▀██▄ \n █ █ ▀█▀▀ ▀▄ ██ \n ▀▄█▀▀█▀▀▀█▄▄█▀ \n █▄██▀▀▀█████▄█ "], ["walk_2", " ▄▄ ▄▄ \n██ ▄█ █▄ ██ \n████▄████▄████ \n ▀██▄ ██ ▄██▀ \n ▀█▀████▀███▄ \n ▄▀█▀▄▄▄▄▀█ ▀██ \n ▀▄█▄▄█▄▄▄▄▀ █▀ \n █▄██▄█▄▄▄███▄█ "]]], + ["okuwamon_x", [["angry", " ▄▄ ▄ ▄▄ ▄ \n██ █▀ ██ ▄█ \n▀███▄▄██████ \n ███▀ ███▀ ▄██▄\n ▀▀▀▀▀▄███████\n ▄▄██▀█▀▀▀█▄ ▀██\n█ ██▀█▀▀██▄▄▄▀ \n ███▄███▄█▄██▄█ "], ["attack", "▄█▀▄█ ▀█▄ ▀▄ \n██▄█ ▄██▄██ \n ▀████▀ ███▀▄██▄\n █▀█▀█▀██▄█▀███\n ██▄▀█▀█\n ▄██ █ \n ▀█████▄████ \n █▄█▄▀▀█▄▄█▄█ "], ["eat_1", "▄█▀▄█ ▀█▄ ▀▄ \n██▄█ ▄██▄██ \n ▀████▀████▀ ▄▄ \n ▀██▄█▄█▀▄▄████\n ▀██▀█▀██\n ▄██▀ █ ▀\n ▄████▄██▄▄▀ \n █▄█▄▀▀█▄▄█▄█ "], ["eat_2", " ▄▄ ▄ ▄▄ ▄ \n██ █▀ ██ ▄█ \n▀███▄▄██████ \n ███▀▄▀██▀ ▄██▄\n ▀▀▀▀▀▄███████\n ▀█▀█▀▀▀██▀▄▀█\n ▄▄█▀█▀▀█ ▄█ \n █▄█▄███▄████▄█ "], ["happy", "▄█▀▄█ ▀█▄ ▀▄ \n██▄█ ▄██▄██ \n ▀████▀████▀ ▄▄ \n ▀██▄█▄▀█▄▄████\n ▀███▀████\n ▄ ▄█▄█▀ ▀▄▀\n ▄███▄▄███▄▄▀ \n █▄█▄▀▀█▄▄█▄█ "], ["injured_1", " \n ▄▄ ▄ ▄▄ ▄ \n██ █▀ ██ ▄█ \n▀███▄▄██████ \n ███ ▀███▀ ▄██▄\n ▄▄▄▀▀▀▀▄█▄█████\n █ █████▀█ ▀█▀█\n █▄▄█▄█▄▄█▄▄▄█ "], ["injured_2", " \n \n▄█▀▄█ ▀█▄ ▀▄ \n██▄█ ▄██▄██ \n ▀███▀█████▀ ▄▄ \n ▄███▄▄█▀█▄▄████\n █ █▄▄▄▄▀█ ▀███\n █▄▄█▄█▄▄█▄▄▄█ ▀"], ["sleep_1", " \n \n \n ▄▄ ▄ ▄▄ \n██ █▀ ██ ▄█ █▄ \n▀███▄▄█████▀▄███\n █▀▀█▀▀██▀▄████\n ▀██████▀▄███▀ "], ["sleep_2", " \n \n \n▄█▀▄█ ▀█▄ ▀▄ ▄ \n██▄█ ▄██▄██ ██▄\n ▀█████████▀▄███\n █▄▄█▄▄██ █████\n ▀██████▀▄███▀ "], ["walk_1", "▄█▀▄█ ▀█▄ ▀▄ \n██▄█ ▄██▄██ \n ▀████▀▀███▀ ▄▄ \n ▀██▄▄█▀█▄▄████\n ▄▄▄▄▄███▀█▀██\n █▄█▄▄▄█▀ █ ▀\n ▄█▄█▄▄██▄▄▀ \n █▄█▄▀▀█▄▄█▄█ "], ["walk_2", " ▄▄ ▄ ▄▄ ▄ \n██ █▀ ██ ▄█ \n▀███▄▄██████ \n ███▀ ▄██▀ ▄██▄\n ▀▀▀▀▀▄███████\n ▀█▀█▀▀▀█▄▀▄▀█\n ▄▄█▀█▀▀██ █ \n █▄█▄███▄█▄██▄█ "]]], + ["omekamon", [["angry", "▄▄ ▄▄ ▄▄▄ \n▀▄█▀▀▄█▀▀█ ▄▀▄▄▄\n █▄ ▄▄ ▄ █▄▀ ▀█\n █▀▀▄▄▀▀ █▄ ▄▀ \n ▄███████▄███▄ \n█ █ █ ▄▀ █ █ \n ███▀▀▀▀▀████ \n█▄▄██▄▄▄█▄▄▄█ "], ["attack", " █▀▄▄█▀▄▄▄▄▀▀█\n ▀█ ▀▀ ▄▀▄▀ \n ██▄▄▄█▀ █ \n ▄▄▄▄█▄▄▄▄▄█ █ \n██ ███████ █ \n ▀▀▀▀▀▄▄▄▄▄▄▀ █ \n █▄ ▄█▄▄▀ \n █▄▄██▄▄▄█ "], ["eat_1", "█▀▄▄█▀▄▄▄▄▀▀█ \n ▀█▄ ▀▀▄▄▀▄▀▄▀██\n █▄▀▀▀▄▀ █▀ ▄▀\n █▄███▄█ ██▄▀ \n ▄██████▀▀█▀█▀ \n█ █▄▄▄▄▄▄▄█ █ \n ▀█▄ ▄▄█▀▀ \n █▄▄██▀█▄▄▄█ "], ["eat_2", "▄▄ ▄▄ ▄▄▄ \n▀▄█▀▀▄█▀▀█ ▄▀▄▄▄\n █▀▄ ▄▀▄ █▄▀ ▀█\n █▀▀▀▀▀▄ █▄ ▄▀ \n ███████▄███▄ \n▄▀█ █ ▄▀ █ ▀▄ \n▀▄██▀▀▀▀▀██▄▄▀ \n█▄▄██▄▄▄█▄▄▄█ "], ["happy", "█▀▄▄█▀▄▄▄▄▀▀█ \n ▀█▄ ▀▀▄▄▀▄▀▄▀██\n▄▄█▄███▄▀ ██▄ ▄▀\n█ █▄ ▄█ █ █ \n▀▄██████▀▀█▄▀ \n █▄▄▄▄▄▄▄█ \n █▄ ▄▄█ \n █▄▄██▀█▄▄▄█ "], ["injured_1", " \n \n█▀▄▄█▀▄▄▄▄▀▀█ \n ▀█ ▀▀ ▀▄▀▄▀██\n █▄█▀▀█▄ █▀ ▄▀\n █▄▄██▄▄ ██▄▀ \n▄▀▀▄▄ ▄▄▀▀█▄ \n█▄██▄▄▄█▄██▄█ "], ["injured_2", " \n \n▄▄ ▄▄ ▄▄▄ \n▀▄█▀▀▄█▀▀█ ▄▀▄▄▄\n █ ▄▄▄▄ █▄▀ ▀█\n █▀▀▄▄▀▀ █▄ ▄▀ \n▄▀▀█▀▀▀█▀▀██▀ \n█▄███▄██▄██▄█ "], ["sleep_1", " \n▄▄ ▄▄ ▄▄▄ \n▀▄█▀▀▄█▀▀█ ▄▀▄▄▄\n █ █▄▀ ▀█\n █▀▀ ▀▀▀ █▄ ▄▀ \n ▄███████▄███ \n█ ▀▄█▄█▄▄█ ▀ █ \n▀▄▄▄█▄▄▄▄█▄▄▄▀ "], ["sleep_2", " \n█▀▄▄█▀▄▄▄▄▀▀█ \n ▀█ ▀▀ ▀▄▀▄▀██\n █▄▄ ▄▄▄ █▀ ▄▀\n █▄▄▄▄▄▄ ██▄▀ \n ▄█▀█▀▀█▀▀█▀█ \n█ █▄█▄█▄▄█ ▀ █ \n▀▄▄▄█▄▄▄▄█▄▄▄▀ "], ["walk_1", "█▀▄▄█▀▄▄▄▄▀▀█ \n ▀█▄ ▀▀▄▄▀▄▀▄▀██\n █▄███▄▀ █▀ ▄▀\n █▄▄▄▄▄█ ██▄▀ \n ▄█▀█▀▀█▀▀█▀█▀ \n█ █▄█▄█▄▄▄█ █ \n ▀█▄ ▄▄█▀▀ \n █▄▄██▀█▄▄▄█ "], ["walk_2", "▄▄ ▄▄ ▄▄▄ \n▀▄█▀▀▄█▀▀█ ▄▀▄▄▄\n █▀▄▄▄▀█ █▄▀ ▀█\n █▀▀▀▀▀▄ █▄ ▄▀ \n ███████▄███▄ \n▄▀█ █ ▄▀ █ ▀▄ \n▀▄██▀▀▀▀▀██▄▄▀ \n█▄▄██▄▄▄█▄▄▄█ "]]], + ["omnimon", [["angry", " \n █▀▀▄█▀▀▀▀▄▀▀▀█ \n █▄▄▀ ▄ █▄▀ \n ▄▀▀▄ ▀▀ ▄▀▀▀▄ \n█ █▀▀▀▄▀█ █\n▀▄▄▀█▀▀█▀▀█▀▄▄▄█\n ▄▄▀▀██▀██▄▀▀█▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["attack", " █▀▀▀▄▄▀▀▀▄▀▀█\n ▀█▀ ▄▄ ▀█ \n ▄▀▀█ ▀▀ ▄▄█ \n█▄▄▀▀▀▀▄▀▀▀█ █\n█ █▄▄█▄▄▄▀\n ▀▀▄▄▄▄██▄▄▄▀▄ \n ▄█▀▀▄█▄▄█▀▀█▄ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["eat_1", "█▀▀▀▀█▀▀▀▀▄▀▀▀█ \n ▀█▄▀ ▄▄▄ █▄▀ \n ▄█▄▄▄▄▄▄ █▀▀▄ \n █▀██▀▀▀█▀▀█▄▄▀█\n ▄█▀█▀▀▀▀▄▀█▀ █\n█ ▄█▀█▀▀█▀▀▄ ▄▀\n▀▀██▀▀▄█▄█▄▀▀█▄ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["eat_2", " ▄▄▄▄▄▄ ▄▄▄▄ \n █▀▀▀▀▄ █ ▄▀ \n █▄▄▀ ▄ ██▄ \n ██ ▀ ▀▄█▄▄█▄\n▄▀▀█▄▄▄▄██▀ █\n▀▄ █▄▄█▄██▄▄▄▀ \n ▄█▀▀▄█ ▄█▄▀▀▄▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["happy", "█▀▀▀▀█▀▀▀▀▄▀█▀▀▄\n ▀█▄▀ ▄▀▄ █ █\n ▄█ ▄▄▄▄ █ █\n █▀██████▀▀██▄▄▀\n ██▀▀▀▀▀▄▀█▀▄▀ \n▄▀ ▄█▀█▀▀█▀▀█ \n█▄▄█▀▀▄█▄█▄▀▀█▄ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["injured_1", " ▄▄▄▄▄▄ ▄▄▄▄ \n █▀▀▀▀▄ █ ▄▀ \n █▄▄▀ ▄ ██▄ \n ██ ▀▀ █ █ \n █▀█▄▄▄▄▄█▀██▀█ \n▄▀▀▄█▄▄█▄██▄▀▀▀▄\n█ █▀▄█ ▄█▄█ █\n█▄█▄▄▄█▀▀█▄▄█▄▄█"], ["injured_2", " \n ▄▄▄██▀▀▀▀▄▀▀▀█ \n ▀▄ ▄▀ ▀▄▄▀ \n ▄█▀▀ ▄ █▀▀▄ \n ██▄ ▀▀▄█▄▄█ \n▄▀▀▄███▀▀██▄▀▀▀▄\n█ █▀▄█▀▀█▄█ █\n█▄█▄▄▄█▄██▄▄█▄▄█"], ["sleep_1", " \n ▄▄▄ ▄▄ \n ▀▄ ▀▀▀▀▀▀▄▀▀▄▀ \n █▀▀▀▀▄ ▀▄█▄ \n█▄█▄▄▀ █ █ \n█▄▄▀▀▀▄▀▀██▄█▀█ \n█▄ █ ▀█ █\n▀▄▄▄████▄▄▄▄▄█▄▀"], ["sleep_2", " \n █▀▀▄▄▄▄▄▄ ▄▄▀█ \n █▀▀▀▀▄ █ ▄▀ \n ▄█▄▄▀ █▄▄ \n█▄█ ▀▀▀ █ █ \n█▄▄▀▀▀▄▀▀▄█▄█▀█ \n█▄ █ ▀█ █\n▀▄▄▄████▄▄▄▄▄█▄▀"], ["walk_1", " █▀▀▄█▀▀▀▀▄▀▀▀█ \n █▄▄▀ ▄▄ █▄▀ \n ▄█ ▀▀ █▀▀▄ \n █ ▀▄▀▀▀▄▀▀█▄▄▀█\n ▄█▀█▀▀█▀▀▀█▀ █\n█ ▄█▀█▀▀█▀▀▄ ▄▀\n▀▀██▀▀▄█▄█▄▀▀█▄ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["walk_2", " ▄▄▄ ▄▄▄▄▄ ▄▄▄▄ \n ▀▄ ▀█ ▀▄ ▄▀ \n █▀▀ ▄█▀ ██▄ \n █▀▄ ▄▄▄ ▄▄█ █ \n █▄▄█▄▄▄█▄▄▀▀▀ █\n█ █▄▄█▄▄█ ▄▀\n ██▀▀▄█ ▄█▄▀▀█▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"]]], + ["omnimon_alter_s", [["angry", " \n ██▄▄▄▀▀▀▀▄▄██▀ \n▄▄▀██▀ ▄ █▀ ▄▄\n▀▄▀▀▄ ▀▀ ▄▀▀▀▄▀\n█ █▀▀▀▄▀█ █\n▀▄▄▀█▀▀█▀▀█▀▄▄▄█\n ▄▄▀▀██▀██▄▀▀█▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["attack", " ▀██▄▄▄▀▀▀▄███\n █▀ ▄▄ ▀█ \n ▄▀▀█ ▀▀ ▄▄▀█\n█ ▄▄▀▀▀▄▀▀█▀ ▀▄\n█▀ █▄█▄ ▄▀\n ▀▀▄▄▄▄██▄▄▄▀█ \n ▄█▀▀▄█▄▄█▀▀█▄ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["eat_1", " ██▄▄▄▀▀▀▀▄███▀ \n ▀█▀ ▄▄▄ █▀ ▄▄\n ▄█▄▄▄▄▄▄ █▀▀▄▀\n █▀██▀▀▀█▀█ █\n▄▄██▀▀▀▀▀▄▀█▄▄▀█\n█ ▄█▀█▀▀█▀▀▄ ▄▀\n▀▀██▀▀▄█▄█▄▀▀█▄ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["eat_2", " ▄▄ ▄▄▄▄▄ ▄▄▄ \n ▀███▄ ███▀ \n▄▄▄██▀ ▄ █▄▄▀█\n▀▄█ ▀ ▀▄█▄▄█▄\n▄▀▀█▄▄▄▄▄█▀ █\n▀▄ █▄▄█▄█▄▄▄▄▀ \n ▄█▀▀▄█ ▄█▄▀▀▄▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["happy", " ██▄▄▄▀▀▀▀▄██▀▀▄\n ▀█▀ ▄▀▄ █ █\n█▀█ ▄▄▄▄ █ █\n █▀██████▀▀██▄▄▀\n ██▀▀▀▀▀▄▀█▀▄▀▄\n▄▀ ▄█▀█▀▀█▀▀█▄▄▀\n█▄▄█▀▀▄█▄█▄▀▀█▄ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["injured_1", " ▄▄ ▄▄▄▄▄ ▄▄▄ \n ▀███▄ ███▀ \n▄▄▄██▀ ▄ █▄▄▀█\n▀▄█ ▀▀▄▀ ▀▄\n █▀█▄▄▄▄▄█▀▄ ▄▀\n▄▀▀▄█▄▄█▄██▄▀▀▀▄\n█ █▀▄█ ▄█▄█ █\n█▄█▄▄▄█▀▀█▄▄█▄▄█"], ["injured_2", " \n ██▄▄▀▀▀▀▀▄▄██▀ \n ▀███ ▀█▀ \n█▀█▀▀ ▄ █▀▀▄ \n ██▄ ▀▀█ █\n▄▀▀▄███▀▀███▄▄▀▄\n█ █▀▄█▀▀█▄█ █\n█▄█▄▄▄█▄██▄▄█▄▄█"], ["sleep_1", " \n \n ██▄▄▀▀▀▀▀▄▄██▀ \n ▄████ ▀██▄▀█\n█▄█▀▀ ▄▀ ▀▄\n█▄▄▀▀▀▄▀▀██▄ ▄▀\n█▄ █ ▀█ █\n▀▄▄▄████▄▄▄▄▄█▄▀"], ["sleep_2", " \n ▄▄ ▄▄▄▄▄ ▄▄▄ \n ▀███▄ ███▀ \n ▄▄██▀ █▄▄▀█\n█▄█ ▀▀▀▄▀ ▀▄\n█▄▄▀▀▀▄▀▀▄█▄ ▄▀\n█▄ █ ▀█ █\n▀▄▄▄████▄▄▄▄▄█▄▀"], ["walk_1", " ██▄▄▄▀▀▀▀▄▄██▀ \n ▀██▀ ▄▄ █▀ ▄▄\n█▀█ ▀▀ █▀▀▄▀\n █ ▀▄▀▀▀▄▀█ █\n ▄█▀█▀▀█▀▀▀█▄▄▀█\n█ ▄█▀█▀▀█▀▀▄ ▄▀\n▀▀██▀▀▄█▄█▄▀▀█▄ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["walk_2", " ▄▄ ▄▄▄▄ ▄▄▄ \n ▀████ ▀██▀ \n▄▄▄▀▀ ▄█▀ █▄▄▀█\n▀▄▀▄ ▄▄▄ ▄▄▀ ▀▄\n █▄▄█▄▄▄█▄█▄ ▄█\n█ █▄▄█▄▄█ ▀▀▄▀\n ██▀▀▄█ ▄█▄▀▀█▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"]]], + ["omnimon_x", [["angry", " ▄▄▄ ▄▄▄ \n ▀▄ ▀▄▀▀▀▄▀▄▄▀ \n █▄▀ ▄ ▀▀▄▄ \n ▄▀▄ ▀▀ ▄▀ ▄█ \n ▀███▀▀▀▄█▀██▀▀█\n █ █▀▀█▀ ▀█ ▄▀\n ▄█▀▀█▀▄▀██▀▀█▄ \n█▄▄█▄▄█▄██▄▄█▄▄█"], ["attack", " █▀▀▄ ▄▄▄ ▄▄▀█ \n ▀▄▄▀ ▄ █▄▄▀ \n ▄▀ ▀▀ ▄█▄ \n ▄▄████▄▄█ █ \n▄▀ ▄▄▄▀ ▀▄▀▄▄▀ \n ▀▄▄▄▄█▄▄▄▄██ \n ▄▄▀▀▄▀▀▀▄█▀▀█▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["eat_1", " █▀▀▄ ▄▄▄ ▄▀▀█ \n ▀▄ █ ▀▄█▀ \n ▄▀▀ ▀▀ ▄█▄ \n █▄██████ █▀ ▄█▄\n ▄▀▀██▄▄▀▄██▀ █\n ▀▄▄▀▄▄▄█▄▄█ █ \n ▄█▀▀▄▀▀▄█▀▀█▄ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["eat_2", " ▄▄▄ ▄▄▄ \n ▀▄ ▀▄▀▀▀▄▀▄▄▀ \n █▄▀ ▄ ▀▀▄▄ \n ▄▀▄ ▀ ▀ ▄▀ █ \n ▀▄██▀▀▀▄█▀██▀▄ \n █ █▀▀█▀ ▀█ █ \n ▄█▀▀█▀▄▀██▀▀█▄ \n█▄▄█▄▄█▄██▄▄█▄▄█"], ["happy", " █▀▀▀▄▀▀▀▄▀▀▀█▄▄\n ▀▄▀ ▄▀▄ ▀█▀ █\n █▄▄▄▄▄ ▄▄▀ ▄▀\n █ █████▀▄██▄█ \n ▄█▀█▄▄▄█▀▄█▄▀ \n█ ▄█▄▄▀▄▄▄█▄ \n▀▀██▀▀▄▀▀▄█▀▀█▄ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["injured_1", " ▄▄▄ \n █▀▀▀▄▀▀▀▄▀ ▄▀ \n ▀█▄▀ ▀▀▄▄ \n ▄▀▄ ▀▄▄ █ █ \n ▀██▄ ▄█▀▀█▀ \n ▄▀ █▀▀█▀ █▀▀▀█ \n █▄▀▀██▄▀██▄ █\n█▄▄█▄▄█▄██▄█▄▄█ "], ["injured_2", " \n▄▄▄▄ ▄▄▄ ▄▀▀█ \n▀▄▄ █ ▀▄▄▀▄▄ \n ▄▀▀ ▄ █ █ \n ▀█ ▀▀ ▄█▀▀█▀ \n ▄▀█▄▄▄▄▀ █▀▀▀█ \n █▄▀▀██▄▀██▄ █\n█▄▄█▄▄█▄██▄█▄▄█ "], ["sleep_1", " \n \n█▀▀▄ ▄▄▄ ▄▀▀█ \n ▀▄ █ ▀▄█▀▄▄ \n ▄▀▀ ▄▄ ▄▀ █▄\n█▄█▄▄▄▄ ▄█▀███▄█\n█▄▀▀▄▄▄█▀ █▀▄▄▀█\n█▄▄▄▄██▄███▄▄▄▄█"], ["sleep_2", " \n ▄▄▄ ▄▄▄ \n ▀▄ ▀▄▀▀▀▄▀▄▄▀ \n █▄▀ ▀▀▄▄ \n ▄▀▄ ▀▀ ▄▀ █▄\n▄█▄██▀▀▀▄█▀███▄█\n█▄▀▀█▀▀█▀ █▀▄▄▀█\n█▄▄▄▄██▄███▄▄▄▄█"], ["walk_1", " █▀▀▄ ▄▄▄ ▄▀▀█ \n ▀▄ █ ▀▄█▀ \n ▄▀▀ ▄█▀ ▄▀▀▄ \n █ █▄▄▄▄ ▄█▄▄▄▀█\n ▄█▀█▄▄▄█▀▄█▀ █\n█ ▄█▄▄▀▄▄▄█▄ ▄▀\n▀▀██▀▀▄▀▀▄█▀▀██ \n █▄▄█▄▄█▀█▄▄█▄▄█"], ["walk_2", " ▄▄▄ ▄▄▄ \n ▀▄ ▀▄▀▀▀▄▀▄▄▀ \n █▄▀ ▄▄ ▀▀▄▄ \n ▄▀▄ ▀▀ ▄▀ █▄\n ▀▄██▀▀▀▄█▀██▀ █\n▄▀▀ █▀▀█▀ ▀█ █\n▀▄▄▀▀█▀▄▀██▀▀▄█ \n█▄▄█▄▄█▄██▄▄█▄▄█"]]], + ["omnishoutmon_x", [["angry", " ▄▄ ▄▄▄▄▄▄▄ \n █ █▀▀ ▄▄▄▀ \n █ ▄█ ▄▀ \n █▄▄▀▀▀▀▄█▄▀▄ \n ▄▀▀▀█▀▀▀▄█ \n █▄ ▀▄ █▀ \n █ █▀▄▄ ██▀ \n ▀▀▀█▄▀▀▄█ "], ["attack", " ▄▀▀██▄▀▀▀▀▀█▀\n █ ▀ ▄▄ ▄▀█▀ \n █ ▄█▄▀▀ █▄ \n ▄▄███▄▄▄▄▀ █ \n▀▄ ▀▄ ▄█▄▄▄▀ \n▀▄▄█▀██▀▄▄█ \n ▀▄▀█▄ █▄ \n ▀▄▄▀▄▄▀ "], ["eat_1", " ▄▀█▄▄▀▀▀▀▀█▀ \n █ ▀ ▄▄▀▀█ \n █▄▄▄█▄▀ █ ▄ \n ███▀ █▀█▀ █ \n █▄▄▀█▄ █▄ █ \n ▄▀█▄ ▄▄█▀ ▀▄ \n █▄█ ▀█ ▀▄▄▀ \n █▄▀█▄▀ "], ["eat_2", " ▄▄ ▄▄▄▄▄▄▄ \n █ █▀▀ ▄▄▄▀ \n █ ▄██ ▄▀ \n █▄▄▀▀ ▀▄█▄▀▄ \n ▄▀▀▀▀▀█ █ \n █▄ ▀▀▄█▀▄▀ \n █ █▀▄█▀█ ▄▀ \n ▀▀▀█▄▀█▄█▀ "], ["happy", " ▄▀█▄▄▀▀▀▀▀█▀ \n █ ▀ ▄▄▀▀█ \n █▄▄▄▀ ▀ █▄▄ \n █ ██▀ ▄█▀ █ \n ▀█▄▄▀█▄▀█▄▀ \n ▀█▄ ▄▄█▀ \n █ ▀█ ▀▄ \n █▄▀█▄▀ "], ["injured_1", " \n ▄▀█▄▄▀▀▀▀▀█▀ \n █ ▀ ▄▄▀▀█ \n █ ▄▀▄▄ █ ▄ \n ▀▀▀▄▄▄▄██▀ █ \n ▄█ ▄▄▄█▀▄▀ \n █ █▀▄▄▄█ ▄▀ \n ▀██▄█▀ ▀███ "], ["injured_2", " \n ▄▄ ▄▄▄▄▄▄▄ \n █ █▀▀ ▄▄▄▀ \n █ ▄▀▀ ▄▀ \n █▄▄▀ ▀▀▄█▄▀▄ \n ▄▀▀▀▀▀█▄ █ \n ▄▀█▄ ▀▀█▀ ▀▄ \n █▄█▄█▀▀▀▄▄█ "], ["sleep_1", " \n \n ▄▀█▄▄▀▀▀▀▀█▀ \n █ ▀ ▄▀▀█ \n █ ▄▀█▄ █ ▄ \n ▀▀█▄▄▄▄██▀ █ \n ▄▀▀█ ▄▄▄▀▀▀▄ \n █▄▄▄█▄▄▄█▄▄▄█ "], ["sleep_2", " \n ▄▄ ▄▄▄▄▄▄▄ \n █ █▀▀ ▄▄▄▀ \n █ ▄▄▀ ▄▀ \n █▄▄▀ ▀▀▄█▄▀▄ \n ▄█▀▀▀▀▀█▄ █ \n ▄▀▀█▄ ▀▀▄▀▀▀▄ \n █▄▄▄█████▄▄▄█ "], ["walk_1", " ▄▀█▄▄▀▀▀▀▀█▀ \n █ ▀ ▄▄▀▀█ \n █ ▄█▄▀ █ ▄ \n ▀▀▀▄▄▄▄██▀ █ \n ▄▀ ▄▄ █▄ █ \n ▄▀█▄ ▄▄█▀ ▀▄ \n █▄█ ▀█ ▀▄▄▀ \n █▄▀█▄▀ "], ["walk_2", " ▄▄ ▄▄▄▄▄▄▄ \n █ █▀▀ ▄▄▄▀ \n █ ▄▀█ ▄▀ \n █▄▄▀▀▀ ▄█▄▀▄ \n ▄▀▀▀▀▀█ █ \n █▄ ▀▀▄█▀▄▀ \n █ █▀▄█▀█ ▄▀ \n ▀▀▀█▄▀█▄█▀ "]]], + ["ophanimon", [["angry", " ▄▄▄▄▄ ▄▄ \n ▄▀ ▀▄▀ █ \n █ █ ▀▄▄▀ \n █▄▄█▄▄ ▀█ ▄▄▄\n █▄█▄▄▄▀ ▀█ ▄▀\n ▄▀█▄▀▄▄███▀██ \n ▀▄█▄▄▄▄█ ▄█▀▀▄\n █▄▄██▄█▄███ ▀▄█"], ["attack", " ▄▀▀▀▀▀▄▄▀█ \n █▄█▄▄▄ ▀▄▄▀ \n █▄█▄ █ ▄▀█\n ▀▄ ▀▀▀█▀▀▄▄▀\n ▀██▀█▄▄▄▄▀ \n▄▀▀▀▀▀ █▀ ▄▀▀▄\n ▀▀▀█▀▄▄ █▄▄█▀▀ \n █▄▄█▀▀█▄▄▄█ "], ["eat_1", " ▄▀▀█▀▀▄▄▀▀█ \n █▀▀█▀▀ ▄▀▄▀ \n ███████ █▀ ▄▄▄\n █▀▀▀▀▄▀ ▀█ ▄▀\n ▄▀█▀█▀▀█▀▀█▄█ \n█▄██▀ ▀▀██▄▄▄█▀▄\n █▀█▀█▀▄█ ▀▄█\n █▄▄█▀█▄▄▄█ "], ["eat_2", " \n ▄▀▀▀▀▀▄ ▄▀█ \n █ ▄ ▄▀ ▄▀ \n █▀▀█▀▀ █▀ ▄▄▄\n ██▀▀▀▀▄█▀█▀ ▄▀\n ▄██▀███▄▄▄█▀ \n▄▀▄█▄▄▄▄██▄ ▀█▀▄\n▀█▄▄██▄█▄▄▄█▀▀▄█"], ["happy", " ▄▀▀▀▀▀▄ ▄▀█ \n █▄▄█▄▄ █▄▄▀ \n █▄▄█▄▄ █ █ \n ▀▄ ▀█▀ █▀▀█\n ▄▄▀█▀▀█▄▄█▀▄▀ \n █ █▀ ▀▀█▀█▄▀▀▄ \n ▀█▀█▀█▀▄█ ▀▄ █\n █▄▄█▀█▄▄▄█ ▀▀"], ["injured_1", " \n ▄▄▄▄▄ ▄▄ \n ▄▀ ▀▄▀ █ \n █ ▀▄█▀▄▄▄\n █▄▄█▄▄ ▄▀▄▀ ▄▀\n ▀▄█▄▄▄▀▄▄▀█ \n █▀▄█▄▄██ █▄▀▀▄\n █▄▄█▄▄█▄█▄▄█▀▄█"], ["injured_2", " \n \n ▄▀▀▀▀▀▄ ▄▀█ \n █ ▄▀▄▄▀▄▄▄\n █ ▄ █▀▄▀ ▄▀\n ▀█▀█▀▀ █▄ █▀█ \n ▄▀████▄ ▀█▄▀▀▄\n █▄▄█▄▄█▄█▄▄█▀▄█"], ["sleep_1", " \n \n ▄▀▀▀▀▀▄ ▄▀█ \n █ ▄ ▄▀ ▄▀▄▄▄\n █▀▀█▀▀ ██▄▀ ▄▀\n ▀█▀▀▀▀▀██ ▀██ \n █ ██▀██▀▀█▀█ ▀▄\n █▄▄█▄██▄▄█▄▄█▄█"], ["sleep_2", " \n ▄▄▄▄▄ ▄▄ \n ▄▀ ▀▄▀ █ \n █▄▄█▄▄ ▀▄▄▀▄▄▄\n █▄▄█▄▄▄▄▀▄█ ▄▀\n ▄▀▄▄▄▄▄▀▄▄██ \n █▀█▄▀▄▄▀▀▄ █ ▀▄\n █▄▄█▄██▄▄█▄▄█▄█"], ["walk_1", " ▄▀▀▀▀▀▄ ▄▀█ \n █▄▄█▄▄ ▄▀ ▄▀ \n █▄▄█▄▄ █▀ \n ▀▄ ▀█▀▄▄▀▀█\n ▄▄▀█▀▀█▄▄▄█▄▀ \n █ █▀ ▀▀█▀ █▀▄ \n ▀█▀█▀█▀▄▄█▀▄ █\n █▄▄█▀█▄▄▄█ ▀▀"], ["walk_2", " ▄▄▄▄▄ ▄▄ \n ▄▀ ▄ ▀▄▀ █ \n █▀▀█▀▀ ▀▄▄▀ \n █▀▀▀▀▀▄▄█ ▄▄▄\n █▄▄▄▄▄▀ ▀█ ▄▀\n ▄▀█▄▀▄▄██▀▀██ \n ▀▄█▄▄▄▄█ ▄█▀▀▄\n █▄▄██▄█▄███ ▀▄█"]]], + ["ophanimon_falldown_mode_x", [["angry", " ▄ ▄▄ ▄▄ \n ▄▀██▄██ █ ▄\n ████▀▀█▄▄█ ▄▀█\n █ ▄█ █ █ █ █\n ▀▄ █▀▀█ ▄▄▀\n █▄█▀▀▀█▄▄▄█ \n ▄▀▀█▄█▀▀▄█ ▀▄ \n █▄▄█▀▀▀█▄▄█▀▀▀▀"], ["attack", " ▄█▄▀█▄▀█ \n ▄█▄████▀ █ ▄█ \n █▀▀▀▄▄█▀█▀▄▀ █ \n █ ▀▀ █▄█▄▀ █ \n █▄▄▄▄█ ▀▄██ \n █ █▀█████▀▀ ▄█ \n ▀▀▄ ▀▄ ▄█ ▀▄\n █▄█▄▄█▄██ ▀▀▀"], ["eat_1", " ▄█▄▀█▄▀█ \n ▄█▄████▀ █ ▄█\n █▀▀ ▄ █▀█▀▄▀ █\n █ ▀ ▀█▄█▄▀ █\n ▀███ █ ▀▄▀▀ \n ▄█▄▄███▀█▀▄ \n █▄▀▀▄▀▀▄▄▀▄ ▀▄\n █▄▄▀ ▀▄▄█ ▀▀▀"], ["eat_2", " ▄ ▄▄ ▄▄ \n ▄▀██▄██ █ ▄\n ███▀▀▀█▄▄█ ▄▀█\n █ ▄▀▄█ █ █ █\n ▀▄ █▀▀█ ▄▄▀\n ▄█▀▀▀█▄▄▄█ \n ▄▀▀█▄█▀▀▄█▄▀▄ \n █▄▄█▀▀▀█▄▄█ ▀▀▀"], ["happy", " ▄█▄▀█▄▀█ \n ▄█▄████▀ █ ▄█\n █▀▀ ▄ █▀█▀▄▀ █\n █ ▀ ▀█▄█▄▀ █\n █ ████ █ ▀▄▀▀ \n ▀██▄▄▄███▀█▀▄ \n █▄█▀▀▄▀▀▄▄▀▄ ▀▄\n █▄▄▀ ▀▄▄█ ▀▀▀"], ["injured_1", " \n ▄█▄▀█▄▀█ \n ▄█▄████▀ █ \n █▀▀▄ █▀█▀▄▄ \n █ ▀▀ █▄█▄▀ ▀▄\n ▄▀▄▄▄▄█ ▀▄▀▄█\n ▄▀▀█▄ ▄█▀▀█▀▄ ▀\n █▄▄▄███▄▄▄▄█▄█▄"], ["injured_2", " \n ▄ ▄▄ ▄▄ \n ▄▀██▄██ █ \n ███▀▀▀█▄▄█▄▄ \n █ █▄ █ █ ▀ ▀▄\n ▀▄ █▀▀█▄▀▄█\n ▄▀▀██▀██▀▀▄▀▄ ▀\n █▄▄▄███▄▄▄▄█▄█▄"], ["sleep_1", " \n ▄ ▄▄ ▄▄ \n ▄▀██▄██ █ \n ███▀▀▀█▄▄█▄▄ \n █ ▄▄ █ █ ▀ ▀▄\n ▀▄ █▀▀█▄▀▄█\n ▄▀▀██▀██▀▀▄▀▄ ▀\n █▄▄▄███▄▄▄▄█▄█▄"], ["sleep_2", " \n ▄█▄▀█▄▀█ \n ▄█▄████▀ █ \n █▀▀ █▀█▀▄▄ \n █ ▀▀ █▄█▄▀ ▀▄\n ▄▀▄▄▄▄█ ▀▄▀▄█\n ▄▀▀█▄ ▄█▀▀█▀▄ ▀\n █▄▄▄███▄▄▄▄█▄█▄"], ["walk_1", " ▄█▄▀█▄▀█ \n ▄█▄████▀ █ ▄█\n █▀▀▀▄▄█▀█▀▄▀ █\n █ ▀▀ █▄█▄▀ █\n ▄▀▄▄▄▄█ ▀▄▀▀ \n ▀██▄ ▄██▀█▀▄ \n ▀▄▀▀█▀▀▄▄▀▄ ▀▄\n █▄▄▀ ▀▄▄█ ▀▀▀"], ["walk_2", " ▄ ▄▄ ▄▄ \n ▄▀██▄██ █ ▄\n ████▀▀█▄▄█ ▄▀█\n █ ▄█▀█ █ █ █\n ▀▄ █▀▀█ ▄▄▀\n █▄█▀▀▀█▄▄▄█ \n ▄▀▀█▄█▀▀▄█ ▀▄ \n █▄▄█▀▀▀█▄▄█▀▀▀▀"]]], + ["ophanimon_x", [["angry", " ▄▄▄▄▄▄███▀▀ \n ▄▀ ▀███▀ \n █▄█▄▄ █ ▄▄\n █ ▀▄ ▄▄█ ▄▀ █\n ▀▄▄▄██▄▄█ ▄▀▄\n ▄█▄▀▄▄▀█ ▀▄ ▄▀\n █ █▄▄▄▄█ ▄█▀▄ \n █▄▄█▀▄▄██ ▀▀▀ "], ["attack", " ▄▀▀▀▀▀▄███▀▀\n █▄█▄▄ ▀█▀▀ \n █▄█▄▄ ▄▀▄▀█\n ▀▄ ▀▄▀ ▀▄▄▀\n ▀████▀▀█ ▄▀\n▄▀▀▀▀▀ █ ▄▀▀▀▄ \n ▀▀▀▀█▄▀██▀▀█▀▄ \n █▄▄▀▀▄▄▄█▀▀ "], ["eat_1", " ▄▀▀█▀▀▄███▀▀ \n █ ▀█▀▀ ▀█▀▀ \n █▄▄▄▄▄ ▄▀ ▄▀█\n ▄▀███▀ █▀▄█ ▄▀\n █ ▄█▄▄▄█▀ ▄▄▀ █\n ▀█▀ ▀▀▄▀▀ █▄▀ \n █▀█▀▀▀▄▄█ ▀▄ \n █▄▄▄▀▄▄▄█ ▀▀▀ "], ["eat_2", " ▄▄▄▄▄▄███▀▀ \n ▄▀ ▀███▀ \n █▄▄█▄▄ █ ▄▄\n █▄▄█▄▄ █ ▄▀ █\n ▀▄▄▄▄█▀ ▀▀▄▀▄\n ▄▀█▄▀▄▄██▀▀█ ▄▀\n ▀▄█▄▄▄▄▀▄▄█▀▀▄ \n █▄▄█▀▄▄▄█ ▀▀▀ "], ["happy", " ▄▀▀█▀▀▄▄███▀▀\n █ ▀█▀▀ ▀█▀▀▀ \n █▄▄▄▄▄▄ ▄▀ ▄▀█\n ▄█▀████▀▄▀▀█ ▄▀\n █ █▄▄▄▄▄▀ █▀ █\n ▀▄█▀ ▀▀█▄▄▀█▄▀ \n █▀█▀▀▀█▀▄▄▀▄ \n █▄▄▄▀▄▄▄█ ▀▀ "], ["injured_1", " ▄▄▄▄▄ \n ▄▀▀▀▀▀████▄ \n █ ▀█▀ \n █▄▄█▄▄▄ ▄▀▄▀█ \n ▀▄ ▀ ▀▄█ █ \n ▄▀▀██▀▀ ▀▄▀ █\n ▄▀▀▀▄█▄▄▀▀▀█▄▀ \n █▄▄▄█▄▄█▄▄▄█▄█ "], ["injured_2", " \n ▄▄▄▄▄▄███▀▀ \n ▄▀ ▀███▀ \n █ ▄ █ ▄▀█ \n █▀▀█▀▀▀▄█▄█ █ \n ▀▄▄▄▄▄▄▀ ▀▄▀ █\n ▄▀▀▀▄█▄▄▀▀▀█▄▀ \n █▄▄▄█▄▄█▄▄▄█▄█ "], ["sleep_1", " ▄▄▄▄▄ ▄▄▄▄▄ \n ▄▀ ▀███▄ \n █▄▄█▄▄ █ ▄▄\n █▄▄█▄▄▄ █ ▄▀ █\n▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄\n█ █▀█▀█▀█▀█▀██ █\n█ ██▄█▄█▄█▄█▄█ █\n▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀"], ["sleep_2", " ▄▀▀▀▀▀▄███▀▀ \n █ ▄ ▀█▀▀ \n █▀▀█▀▀ ▄▀ ▄▀█\n ▀█▀▀▀▀▀▄▀▄▀ █\n▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄\n█ █▀█▀█▀█▀█▀██ █\n█ ██▄█▄█▄█▄█▄█ █\n▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀"], ["walk_1", " ▄▀▀▀▀▀▄███▀▀ \n █▄▄█▄▄ ▀█▀▀ \n █▄▄█▄▄ ▄▀ █▀█\n ▀▄ ▀▄▀▄█ ▄▀\n ▄▀█▀▀█ ▄▄▀ █\n ▄▀█▀ ▀▀▄▀▀ █▄▀ \n ▀▄█▀█▀▀▀▄▄█ ▀▄ \n █▄▄▄▀▄▄▄█ ▀▀▀ "], ["walk_2", " ▄▄▄▄▄ ▄▄▄▄▄ \n ▄▀ ▄ ▀███▄ \n █▀▀█▀▀ █ ▄▄▄\n █▀▀▀▀▀▄ █ ▄▀ █\n ▀▄▄▄▄▄▀ ▀▀▄▀▄\n ▄█▄▀▄▀█▄▄▀█ ▄▀\n ▀▄█▄▄▄▀▀█▄▄▀▀▄ \n █▄▄▄▀▀█▄▄▄█▀▀▀ "]]], + ["ordinemon", [["angry", " ▄▄▄ ▄▄▄ \n █▀██▄▄ ▄█▀███ \n ▄▀▀ ▄ ▀███▀██▀\n █ ▀▀ ▄██▄████\n █▀▀ ▀█ ▀████▄\n ███ ▀▄█ ███▀\n ██ █ ▄▀ ▄████▀\n ▄██▀▀▀ █▀█▀ "], ["attack", " ▄███▄▄ ▄███▄ \n▄▀▀ ▄▄▀▄█▄████▀\n▀███▄▀▀ ██▀▄███▄\n █▀▀▀ ▄███████▀\n ███ ▄▄▀▀█████\n ███ ▄ █ ███▄\n ██▄█▄▀ ▄████ \n ▄█▀ █▀█▀ "], ["eat_1", " ▄▀██▄▄ ▄███▄ \n ▄▀▀ ▄▄ ▀██▄███▄\n █▄▄ ▀▀ ██▀▄██▄\n ▀███ ▄█▀█████▀\n █▄ ▄ █ ▀████\n ███ ▄ ▀█ ███▄\n ██▄█▄▀ ▄████ \n ▄█▀ █▀█▀ "], ["eat_2", " ▄▄▄ ▄▄▄ \n █▀██▄▄ ▄█▀███ \n ▄▀▀ ▄ ▀███▀██▀\n █ ▀ ▀▄██▄████\n █▀▀ ▀█ ▀████▄\n ███ ▀▄█ ███▀\n ██ █ ▄▀ ▄████▀\n ▄██▀▀▀ █▀█▀ "], ["happy", " ▄▀██▄▄ ▄███▄ \n ▄▀▀ ▄ ▀██▄███▄\n █▄▄ ▀ ▀ ██▀▄██▄\n ▀███ ▄███████▀\n █▄ ▄▄▄▀ ▀████\n ███ ▄ ▀█ ███▄\n ██▄█▄▀ ▄████ \n ▄█▀ █▀█▀ "], ["injured_1", " ▄▄ ▄▄▄ \n ████▄ █▀███ \n █▄▀▀▀▀████▀█▄ \n █ █▄ ██▄██ \n ▀▄▄▄ ▄█▀█████▄\n █▄▄ ▄ ▀▄████▀\n ▄███▄▀▄▀ █ ████\n▄█▀ ▀▄▀▀▄▀ █▀█ "], ["injured_2", " \n ▄██▄ ▄███▄ \n █▄███▄█▄███▄ \n ▄▀▀ ▄ ▀█▀▄██▄ \n █ ▀▀ ▄█████▄ \n █▀▀ ▀▀▄▀█████\n ████ █ ▄ █▀███▄\n▄█▀ ▀▄▀▀▄▀ █▀█▀"], ["sleep_1", " \n \n ▄▄▄ \n ▄▄▄▄▀█ █▄ \n█▄█▄▄ ▀ ▄ ██▄\n▀██▄▄▄█▄▄ ▀ ▄███\n▄███████▀██▀███▄\n ▀▀██████▄██████"], ["sleep_2", " \n \n▄ ▄▄▀▀▀▄ \n██▄▀▀▀▀ █ ▀██▄\n▀██▀▀ ▄ █ ███\n▄▄▄▀▄█▄▄▀▄ ▄▀▀ \n▄███████▀██▀███▄\n ▀▀█████▄█████▀"], ["walk_1", " ▄███ ▄███▄ \n █▄▀▀▀▀▄██▄███▄\n █ ██ ██▀▄██▄\n ▀▄▄▄ ▄█▀█████▀\n █▄ ▄ █ ▀████\n ███ ▄ ▀█ ███▄\n ██▄█▄▀ ▄████ \n ▄█▀ █▀█▀ "], ["walk_2", " ▄▄▄ ▄▄▄ \n █▀██▄▄ ▄█▀███ \n ▄▀▀ ▄▄ ▀███▀██▀\n █ ▀▀ ▄██▄████\n █▀▀ ▀█ ▀████▄\n ███ ▀▄█ ███▀\n ██ █ ▄▀ ▄████▀\n ▄██▀▀▀ █▀█▀ "]]], + ["ornismon", [["angry", "▀█▀▀▀▀▄▄▀▀█ ▄▄ \n ▀█▄ ▄▀▀██ █▀▄\n ██▄▀▀ █▀ █ █\n ▄███ ▄█▀ ▀ ▄█\n ▀▄▄▄▄ ▀ ▀▄▀\n █ ▄▄█▀ \n ▀▄▀ █▀▀█▄\n ▀▄▄▀ ▀"], ["attack", " ▄▀▄▄▀▀█ \n ▄▀▄▄▄▀█▀ \n▄▀ ▀ ▀ █▄ \n█ ▄▀▀▀ █▀ ▀▀▄ \n ▀▀▀██▀ ▄▀▀ ▄█ \n ▀▄▄▀ ▄▄██▄▄ \n ▀▀▀▄ ▀▄ ▀█\n ▀▀ "], ["eat_1", " ▄ ▄▀█ ▄▄ \n ▄▀ ▀▄▄▀ █ █▀▄\n ▄▀▄▀▄ █ ▄▀ █ █\n█ ▄▄▄ ▄▀▄▀ ▀ ▄█\n▀▄█▄▄▄ ▀ ▀▄▀\n █ ▄▄█▀ \n ▀▄▀ █▀▀█▄\n ▀▄▄▀ ▀"], ["eat_2", "▀█▀▀▀▀▄▄▀▀█ ▄▄ \n ▀█▄ ▄▄▀█ █ █▀▄\n ██▄ ▀▄▀ █ █\n ▄███ ▄█▀ ▀ ▄█\n ▀▄▄▄▄ ▀ ▀▄▀\n █ ▄▄█▀ \n ▀▄▀ █▀▀█▄\n ▀▄▄▀ ▀"], ["happy", "▀█▀▀▀▀▄▄▀▀█ ▄▄ \n ▀█▄ ▄▀▀██ █▀▄\n ██▄▀ ▀ █▀ █ █\n ▄███ ▄█▀ ▀ ▄█\n ▀▄▄▄▄ ▀ ▀▄▀\n █ ▄▄█▀ \n ▀▄▀ █▀▀█▄\n ▀▄▄▀ ▀"], ["injured_1", " \n ▄▄ \n ▄▀▄▀ █ \n ▄▀▄ ▀█ \n▄▀ ▀▀ █▀▀▄▄ \n█ ▄▀▀▀ █ ▀▄ \n ▀▀▀█▀ ▀▄ ▀▄ ▀▄\n ▀▄▄▄▄██▄▄█▄█"], ["injured_2", " \n \n ▄ ▄▀█ \n ▄▀ ▀▄▄▀ \n ▄▀ █▄ █▀▀▄▄ \n█ ▄▄▄ ▄▀ ▀▄ \n▀▄█▄▄▄ ▀▄ ▀▄ ▀▄\n ▀▄▄▄▄██▄▄█▄█"], ["refuse", " ▄ ▄▀█ \n ▄▀ ▀▄▄▀ \n ▄▀ ▄█ █ \n█ ▄▄▄ ▄█▀▄▄ \n▀▄█▄▄▄▄▀ ▄▄ ▀▄ \n █▀ ▄▀ ▄█▀ \n ▀█▄▄▀▀█▀▀█▄\n ▀▄▄▀ ▀"], ["sleep_1", " ▄ ▄▀█ \n ▄▀ ▀▄▄▀ \n ▄▀ ▄▄ █ \n█ ▄▄▄ ▄▀▀▀▄ \n▀▄█▄▄▄ ▄ ▄ ▀▄ \n █ █ █ █ \n ▄█▄▀▄▄█▀█▄\n █▀█▀█▄▄▀ ▀"], ["sleep_2", " ▄▄ \n ▄▀▄▀ █ \n ▄▀ ▀█ \n▄▀ ▀▀ █▀▀▄ \n█ ▄▀▀▀ ▀▄ ▄ ▀▄ \n ▀▀▀▀▀▄ █ █ █ \n ▄█▄▀▄▄█▀█▄\n █▀█▀█▄▄▀ ▀"], ["walk_1", " ▄ ▄▀█ ▄▄ \n ▄▀ ▀▄▄▀ █ █▀▄\n ▄▀▄▀█▀ █ ▄▀ █ █\n█ ▄▄▄ ▄▀▄▀ ▀ ▄█\n▀▄█▄▄▄ ▀ ▀▄▀\n █ ▄▄█▀ \n ▀▄▀ █▀▀█▄\n ▀▄▄▀ ▀"], ["walk_2", " ▄▀▄▄▀▀█ \n ▄▀▄▄▄▀█▀ \n▄▀ ▀ ▀ █▄ \n█ ▄▀▀▀ █▀ ▀▀▄ \n ▀▀▀██▀ ▄▀▀ ▄█ \n ▀▄▄▀ ▄▄██▄▄ \n ▀▀▀▄ ▀▄ ▀█\n ▀▀ "]]], + ["orochimon", [["angry", " ▄▄▄▄ \n ▄▀▀ ▄ ▀▄\n▄▄▄▀▀▀▀▀▄▄▀▀ █\n█ ▄█ ▄█▀▀▀▀▄ █\n █▀ █ ▄█ ▀▄\n █▀▀▀▀█▀ ▄ █\n █▄▀▄ ▄▀█▀▀▀ █ \n ▀█▄█▄█▄█▄▀▀▄▄█"], ["attack", " ▄▀▀▀▀█▀▄ \n ▄▄▄▄▄▄██▄ ▀▀ █\n█ ▄▄▀▀▀▀▀▀▄ █\n▀██▄▀▀█▄▄ ▄█▀▀▄\n █▀▀▄▄▀███ ▄ █\n ▄▀█ ▀▄▄▄▀▄▄▀ \n █▀▄ ▄ ▄ ▄ ▄ ▀▄\n ▀▄█▄█▄█▄█▄▀▀▄█"], ["eat_1", " ▄▄▀▀▀▀▄ \n ▄▄▄▄█ ▀▀ █\n▄▀▀▄▄ ▄█▀▀▀▀▄ █\n█▄▄▄ █ ▀▀ ▀▄\n █▀▀ ████ █\n █▀▀▀▀█▄▄▄▄▀ █\n █▄▀▄ ▄ ▄ ▄ █ \n ▀█▄█▄█▄█▄▀▀▄▄█"], ["eat_2", " ▄▄▄▄ \n ▄▀▀ ▄ ▀▄\n▄▄▄▀▀▀▀▀▄▄▀ ▀ █\n█ ▄▀▄ ▄█▀▀▀▀▄ █\n █▀ █ ▄▀▄ ▀▄\n █▀▀▀▀█▀ ▄ █\n █▄▀▄ ▄▀█▀▀▀ █ \n ▀█▄█▄█▄█▄▀▀▄▄█"], ["happy", " ▄▄▀█▀▀▄ \n ▄▄▄▄█ ▀ ▀ █\n▄▀▀▄▀▄ ▄█▀█▀▀▄ █\n█▄▄▄▄ █ ▀ ▀ ▀▄\n █▀▀ ████▀ █\n █▀▀▀▀█▄▄▄▄▀ █\n █▄▀▄ ▄ ▄ ▄ █ \n ▀█▄█▄█▄█▄▀▀▄▄█"], ["injured_1", " \n ▄▄▄▄ \n ▄▀▀ ▄ ▀▄\n ▄▄▀▀▀▀▀▄▄▄██ █\n█ █▄▄▀▀ ▄ ▀▄▀\n▀█▀ █▄▄ ▀▀ █\n ▄▀█▀█ ▀▄▄▄▄▀ ▄█\n ▀█▄█▄█▄▄▄▄▄██▄▀"], ["injured_2", " \n \n ▄▄▀▀▀▀▄ \n ▄▄▄▄█ █▄ █\n▄▀▀ ▄ ▄█▀▀▀▀▄ █\n█▄▄ ▀▀█ █▄ ▀▄\n ▀▄▄▄▄▀█▀ ▄ █\n ██▄█▄█▄████▄▄█▀"], ["sleep_1", " \n ▄▄▄▄ \n ▄▀▀ ▀▄\n ▄▄▀▀▀▀▀▄▄▄██ █\n█ ▄▄▄▀▀ ▀▄▀\n▀█▀ █▄▄ ▀▀ █\n ▄▀█▀█ ▀▄▄▄▄▀ ▄█\n ▀█▄█▄█▄▄▄▄▄██▄▀"], ["sleep_2", " \n ▄▄▀▀▀▀▄ \n ▄▄▄▄█ ▄▄ █\n▄▀▀ ▄█▀▀▀▀▄ █\n█▄▄ ▀▀█ ▄▄ ▀▄\n ▀▄▄▄▄▀█▀ ▄▄▀\n █▄▀▄ ▄ █▀█▀▀▀▄ \n ▀▄█▄█▄█▄█▄▄▀▀▄█"], ["walk_1", " ▄▄▀▀▀▀▄ \n ▄▄▄▄█ ▄█▀ █\n▄▀▀ ▄▄ ▄█▀▀▀▀▄ █\n█▄▄▀▀ █ ▄█▀ ▀▄\n ▀▄▄▄▄██▀ ▄ █\n ▄▀▄ ▀██▀▀▄▄▀ \n █▀▄ ▄ ▄ ▄▄▄ ▀▄\n ▀▄█▄█▄█▀ ▀▄█"], ["walk_2", " ▄▄▄▄ \n ▄▀▀ ▄▄ ▀▄\n▄▄▄▀▀▀▀▀▄▄▀▀ █\n█ ▄█▀ ▄█▀▀▀▀▄ █\n █▀ █ ▄█▀ ▀▄\n █▀▀▀▀█▀ ▄ █\n █▄▀▄ ▄▀█▀▀▀ █ \n ▀█▄█▄█▄█▄▀▀▄▄█"]]], + ["otamamon", [["angry", " \n \n ▄▄▄▄▄▄▄ \n ▄█████████▄ \n █▀▀██▀▀████▀▀▄\n █▀▀▀▀▀█████▄ █\n ▄███████████▄█ \n█▄█▄██▀▀▀██▄█▄█ "], ["attack", " \n ▄███████▄ \n ███▀ ▄█████ \n █▀▀▀▀▀▀████ ▄▄ \n ▀▄██▄██ ████ █\n ▄█▀██▀█ █████▄▀\n █▄▄▄▄▄▄██████▄ \n█▄██▀▀▀▀▀██▄█▄█ "], ["eat_1", " \n ▄▀████▀█▄ \n █▄█▄██▄█▄██ \n ▀▄▄▄▄▄▄▀███ \n █████ ███▄▀▀▄\n ▄▀██▀█ ███▀▄ █\n ▄█▄▄▄▄▄█████▄▀ \n█▄█▄█▀▀▀██▄█▄█ "], ["eat_2", " \n \n ▄▄▄▄▄▄▄ \n ▄█▀███▀███▄ \n █▄█▄█▄█▄███▄▀▀▄\n █▀▀▀▀▀▀▀▄██▀▄ █\n ▀███████████▄▀ \n██▄██▀▀▀██▄█▄█ "], ["happy", " \n ▄▀████▀██▄ \n █▄█▄██▄█▄███ \n █▀▀▀▀▀▀▀▀▀██▀▀▄\n █ ███████ ██▄ █\n █ █▀██▀█▀▄██▄▀ \n ▀█▄▄▄▄▄▄████▄ \n █▄███▀▀██▄█▄█ "], ["injured_1", " \n \n \n ▄▄▄▄▄▄▄ \n ▄█████████▄ \n █▄▄██▄▄▄███▄▀▀▄\n ██▄▄▄▄▄████▄█▄▀\n█▄█████████▄█▄█ "], ["injured_2", " \n \n \n ▄▄▄▄▄▄▄ \n ▄█████████▄ \n ███████████▄▀▀▄\n █▄▄███▄▄███▄█▄▀\n█▄█████████▄█▄█ "], ["sleep_1", " \n \n \n \n ▄▄██████▄▄ ▄▄ \n ████████████ █\n █▄▄██▄▄▄█████▄▀\n ▀███████████▀ "], ["sleep_2", " \n \n \n ▄▄▄▄▄▄▄ \n ▄█████████▄ ▄▄ \n █▄▄██▄▄▄████ █\n █▀▀▀▀▀▀████▄▀▄▀\n ▀█████████▀▀▀ "], ["walk_1", " \n \n ▄▄▄▄▄▄▄ \n ▄█████████▄ \n ██ ███ ████▄▀▀▄\n ████████▀██▀▄ █\n ▀▄▄▄▄▄▄▄████▄▀ \n██▄██▀▀▀██▄█▄█ "], ["walk_2", " \n \n \n ▄███████▄ \n ██▀███▀████ ▄▄ \n ██▄███▄█████ █\n █▀▀▀▀▀▀▀▄██▄█▄▀\n█▄█████████▄█▄█ "]]], + ["otamamon_x", [["angry", " \n ▄ ▄ ▄ \n █▀▀▀█ \n ▄███████▄ \n ███████████ \n █▄▄██▄▄████ ▄ \n ██▀▄▄▀██████▀ \n ▀███████▀ "], ["attack", " █▄█▄█ \n ▄█▄▄▄█▄ \n ▄███▀ ▄███▄ \n █▀▀▀▀▀█████ \n ▀▀███▄▀███ \n ████ ███ █ \n ▄▀▀▀▀▀▄█████▀ \n ▀▀█████▀▀ "], ["eat_1", " ▄ ▄ ▄ \n █▀▀▀█ \n ▄▀████▀█▄ \n █▄█▄██▄█▄██ \n ▀▄▄▄▄▄▀████ \n ████ ████ ▄ \n ▄▀▀▀▀▄█████▀ \n ▀███████▀▀ "], ["eat_2", " \n ▄ ▄ ▄ \n █▀▀▀█ \n ▄███████▄ \n █▀▄▀█▀▄▀███ \n ███████████ \n ██▄▀▀▀▄████▄█ \n ▀███████▀▀▀ "], ["happy", " █▄█▄█ \n ▄█▄▄▄█▄▄ \n ▄▀▄▀██▀▄▀██▄ \n █▀▀▀▀▀▀▀▀▀██ \n █ ███████ ██▄█ \n █ ███████ ███▀ \n ▀█▄▀▀▀▀▀▄██▀ \n ▀▀▀▀▀▀▀▀ "], ["injured_1", " \n \n █▄█▄█ \n ▄█▄▄▄█▄ \n ▄▀▀██▀▀▀██▄ \n ███▀███████ \n ██▄█▄██████▄ \n ▀█████████▀▀█ "], ["injured_2", " \n \n ▄ ▄ ▄ \n █▀▀▀█ \n ▄███████▄ \n ███████████ \n █▀▀██▀▀████▄ \n ▀█████████▀▀█ "], ["sleep_1", " \n \n ▄ ▄ ▄ \n █▀▀▀█ \n ▄▄██████▄▄ \n ████████████ \n █▄▄██▄▄▄████▄ \n ▀███████████▀ "], ["sleep_2", " \n \n █▄█▄█ \n ▄█▄▄▄█▄ \n ▄▀▀██▀▀▀██▄ \n ███████████ \n ███▀▀██████▄█ \n ▀█████████▀▀ "], ["walk_1", " \n ▄ ▄ ▄ \n █▀▀▀█ \n ▄███████▄ \n ██▀███▀████ \n ██▄███▄████ ▄ \n ███▀▀▀██████▀ \n ▀███████▀▀ "], ["walk_2", " \n \n ▄ ▄ ▄ \n █▀▀▀█ \n ▄███████▄ \n ██▀███▀████ \n ██▄███▄████ ▄ \n ▀██▄▄▄██████▀ "]]], + ["ouryumon", [["angry", " ▄▄ ▄▄▄ ▄ \n ▄▄█▀▀▀▀ ▄█ █ \n█▀ ▄█ ▄▄▄█ █ \n █▀▀ ▄▄▄█ █▄ █\n ▀▀▀█▀▀▀ ████ █\n ▄█ ▄█ ▀█▄▀\n █ █ █▄▄▀▄▀ ▀▄\n ▀▀█▄▄█▄██▀█▄█"], ["attack", " ▄▄██▄█▀▀▄▀▄ \n█▀▀ ▄█ ▀▀▄▀▄ \n▄████▄▄ ▀█▀█ ▀▄\n█ ▀████ ▄▀█▄█▄ █\n█▄ ▀▄▄▄▀▄█▀██ █\n █▄ ▄▀ ██ █▄▀\n ▀██▄▄▀█▄ ▄█▄ █\n ▀▀█▄██▀ ▀▄█"], ["eat_1", " ▄██▄█▀▀▄▀▄ \n█▀▀▀ ▄ ▀▀█ █ \n████▄▀ ▀ ▀█▀█ █\n █▀▀▀ ▄█▀█▄██ █\n ▀██▀▀▀ ▄█▀ █ █\n █ █ █▄▀▄▄▀█▀\n ▀█▄ ▀▀▀▄▄ █\n ▀▀▄▄▄▀▀ ▀▄█"], ["eat_2", " ▄▄ ▄▄▄ ▄ \n ▄▄█▀▀▀▀ ▄█▄▀▄ \n█▀ ▄▀▄ ▄▄▄█ ▀▄\n █▀▀ ▄▄▄█ █▄ █\n ▀▀▀█▀▀▀ ████ █\n ▄▀█ ▄▀█▀ ▀██▄█\n ▀▄█ ▀█▄█▄▀ ▀▄\n ▀█▄▄▄▄▄█▀█▄█"], ["happy", " ▄██▄█▀▀▄▀▄ \n█▀▀▀ ▄ ▀▀█ █ \n ███▄▀ ▀ ▄▀█▀▄ █\n █▀▀▀ ▄██▀▀▀█ █\n ████▀▀▀█ █ █\n █ █ ▀▀▀██▀\n ▀▀█▄ ▄▄▄ █\n ▀▀▄▄▄▀▀ ▀▄█"], ["injured_1", " ▄▄ ▄▄▄ \n ▄▄█▀▀▀▀ ▄█ ▄ \n█▀ ▄ ▄▄▄█ █ \n █▀▀ ▀▀▄▄▄█ █ ▀▄\n ▀▀▀█▀▀▀ █▀██ █\n ▄█ ▄█ █ █\n █ █ █▄▀▀▄▀█▀▄\n ▀▀█▄▄███▄▄▄▄█"], ["injured_2", " \n ▄██▄█▀▀▄ \n▄▄▀▀▀ ▀▀▄▀▄ \n▀▄▄▄ █▄ ▀█▀█ █ \n ▀▄▄▄▄▄██▀█▄█▄ █\n ▄▀ ▄█▀██ █\n ▄▀▀█ ▄▀█▄ ▄█▀▄\n ▀▄▄████▄▄██▄▄▄█"], ["sleep_1", " ▄▄ ▄▄▄ ▄ \n ▄▄█▀▀▀▀ ▄█ █ \n█▀ ▄▄▄ ▄▄▄█ █ \n █▀▀ ▄▄▄█ █▄ █\n ▀▀▀█▀▀▀ ████ █\n ▄█ ▄▄▀ ▀██▄▀\n █ █ █▄▀▄▄▀ ▀▄\n ▀▀█▄██▄▄█▀█▄█"], ["sleep_2", " ▄██▄█▀▀▄▀▄ \n▄▄▀▀▀ ▀▀▄▀▄ \n▀▄▄▄▀▀▀ ▀█▀█ ▀▄\n ▀▄▄▄▄▄██▀█▄█▄ █\n ▄▀ ▄▀███ █\n ▄▀█ ▄▀█ ▄▀▀▄▀\n ▀▄█▄▀█▄▀▀▄▄▄ █\n ▀▀▄▄▄▀▀ ▀▄█"], ["walk_1", " ▄██▄█▀▀▄▀▄ \n▄▄▀▀▀ ▄▄ ▀▀█ █ \n▀▄▄▄▀▀▀ ▀█▀█ █\n ▀▄▄▄▄▄██▀█▄██ █\n ▄▀ ▄▀███ █\n ▄▀█ ▄▀█ ▄▀▀█▀\n ▀▄█▄▀█▄▀▀▄▄▄ █\n ▀▀▄▄▄▀▀ ▀▄█"], ["walk_2", " ▄▄ ▄▄▄ ▄ \n ▄▄█▀▀▀▀ ▄█▄▀▄ \n█▀ ▄▄█▀ ▄▄▄█ ▀▄\n █▀▀ ▄▄▄█ █▄ █\n ▀▀▀█▀▀▀ ████ █\n ▄▀█ ▄▀█▀ ▀██▄█\n ▀▄█ ▀█▄█▄▀ ▀▄\n ▀█▄▄▄▄▄█▀█▄█"]]], + ["pabumon", [["angry", " \n \n \n \n ▄▄▄▄ \n ▄▀▄▄ ▀▄ \n █▄▄▄ █ ▀ \n ▀▄▄▄▄▄▄▀ "], ["attack", " \n \n ▄ \n ▄▀▀▀▀▄ \n ▀▀▄▀ █ ▄ \n █ █ \n ▄▄▄▄█ █ \n ▀▄▄▄▄▄▄▄▀ "], ["eat_1", " \n \n \n ▄▄▄ ▀ \n ▄▀ ▄ ▀▄ \n ▀▀▄ █ ▀ \n ▄▄▄▄█ █ \n ▀▄▄▄▄▄▄▄▀ "], ["eat_2", " \n \n \n \n ▄▀▀▀▄ ▀ \n █ ▄ █ ▄ \n ▀▄▄▄▄█ █ \n ▀▄▄▄▄▄▄▄▀ "], ["happy", " \n \n ▄▄▄▄ \n ▄▀▄ ▄ ▀▄ \n █ ▄ █ \n ▀▄ ▀ ▄▀ \n ▀ ▀▀▀▀ ▄ \n ▄▄▄ "], ["injured_1", " \n \n \n \n \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n ▀ ▀▄██▄██▄▀ ▄ "], ["injured_2", " \n \n \n \n \n \n ▄▀▀▀▀▀▄ \n ▄█▄██▄██▄█▄ "], ["sleep_1", " \n \n \n ▄ \n ▀ \n ▄▄▄▄▄ \n ▄▀▄▄ ▄▄▀▄ \n ▀▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n ▄ \n ▄ \n ▄▀▀▀▀▀▄ \n █ ▀▀ ▀▀ █ \n █ ▀ █ \n ▀▄▄▄▄▄▀ "], ["walk_1", " \n \n \n \n ▄ \n ▄▀▀▀▄ ▀ \n █ ▀ ▀ █ \n ▀▄▄▄█▄▄▄▀ "], ["walk_2", " \n \n \n \n ▀ \n ▄ ▄▀▀▀▄ \n █ ▄ ▄ █ \n ▀▄▄▄▄▄▄▄▀ "]]], + ["pagumon", [["angry", " \n \n ▄▄▄ ▄▄▄ \n▄▀ █▄▄▄▀▀ ▀▄\n█ ▄▀ ▄▄ █\n ▀█▄ ▄ █▀ \n █▀▀ ▄ ▀▀ █ \n ▀▄█▄█▄▄▄▄▄▀ "], ["attack", "▄▀▄▄ ▄▄▀▀▄\n█ ██▄▄▄▀▀ ▄▀\n █ █▄ ▄█ ▄▄▀ \n █ ▄▄▄▄▄▄ ▀▄ \n ▀█▀▄█▄█▄█▄ ▀▄ \n █ ███████ █ \n █▀▄█▄█▄█▄▀ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["eat_1", " \n▄▀▀▀▄ ▄▄▀▀▀▄\n▀▄ █▄▄▄▀ ▄▄▀\n █▀▄ ▄ ▄█ \n █ ▀ ▄ ▀ █ \n █ █████ █ \n █ ▀███▀ ▄▀ \n ▀▄▄▄▄▄▄▄▄▀ "], ["eat_2", " \n \n \n ▄▀█▄▄▄▄▄▀▀▄▄ \n▄▀▄ ▄ ▀▄\n█ █▄▀▄ ▄▀▄ ▀▄ █\n ▀█ ▄▄▀▄▄ █▀ \n ▀▄▄▄▄▄▄▄▄▀ "], ["happy", " \n▄▀▀▀▄ ▄▄▀▀▀▄\n▀▄ █▄▄▄▀ ▄▄▀\n █▀▄ ▄ ▄█ \n █▀ ▀▄▀ ▀ █ \n █ █████ █ \n █ ▀███▀ ▄▀ \n ▀▄▄▄▄▄▄▄▄▀ "], ["injured_1", " \n \n \n ▄▀▀▄▄▄▄▄▀▀▄▄ \n▄▀▄ ▄ ▀▄\n█ █ ▄ ▄ ▀▄ █\n ▀█▀▀ ▄ ▀▀ ▀█ \n ▀▄█▄█▄▄▄▄▄▀ "], ["injured_2", " \n \n \n \n ▄▄▀▀▀▀▀▀▀▄▄ \n▄▀ ▀▄ \n█ ▀▄█ █▄ ▄ █\n▀▄▄█▄▄▄▄▄▄█▄▄▄▄▀"], ["sleep_1", " \n \n \n \n ▄▄▀▀▀▀▀▀▀▄▄ \n▄▀ ▀▄ \n█ ▀▄▄ ▄▄ ▄ █\n▀▄▄█▄▄▄▄▄▄█▄▄▄▄▀"], ["sleep_2", " \n \n \n ▄▄▄▄▄▄▄ \n ▄▀▀ ▀▀▄ \n█ ▄ ▀▄\n█ ▀█▀ ▀▀▄▀ █\n ▀▄▄█▄▄▄▄▄█▄▄▄▀ "], ["walk_1", " \n \n \n ▄▀█▄▄▄▄▄▀▀▄▄ \n▄▀▄ ▄ ▀▄\n█ █ █ █ ▀▄ █\n ▀█ ▄▀▄ █▀ \n ▀▄▄▄▄▄▄▄▄▀ "], ["walk_2", " \n \n ▄▄▄ ▄▄▄ \n▄▀ █▄▄▄▀▀ ▀▄\n█ ▄▀ ▄▄ █\n ▀█ ▄ ▄ █▀ \n █ ▀ ▄ ▀ █ \n ▀▄█▄█▄▄▄▄▄▀ "]]], + ["paildramon", [["angry", " ▄▄▄▄▄▄ ▄▄▄▄▄\n ▄█▄ ▄▄█▄█ ▄▀\n █▀▀ █▀ █▀ █▄▀ \n █▀▀▀▀▀▀▀▄█▀▀█▄ \n █▀▀▄▄▄▀█▄▄ █ \n ▄▀▀█▄▄█▀ ▀██ \n █▄▀▀████▄▄▀▀█ \n █▄█▄▄█ █▄█▄█▄█"], ["attack", " ▄▀▀▀▀█▀▄▀▀▀▀█\n ▄██▀▄█▀██▀▄▄▄▀ \n▄█▄▄▄█▄▄█▄▀ ▀▄ \n█▀▄▄▄▄▄ ▄██▄▄▀█ \n▀▄▄████ █▀█▄▄█▀ \n ▀▄▄▄█▄█▀▀▀▄ \n ▄█▀▀██▀▀█▀▀▀█ \n █▄█▄▄█ █▄█▄█▄█"], ["eat_1", " ▄▀▀▀▀█▀▄▀▀▀▀█\n ▄██▀ ▄▄██▀▄ ▄▀ \n █▄▄▄█▀▄▀█ ██▄▄ \n ▀▄▄▄▀▀▀███▀ ▄█\n █▀▀▀▀▄█ █▄▀▀█▄\n ████▄▄██▄ ▄█\n ▄█▀▀▄▀▀█▀▀▀█ \n █▄█▄▄█ █▄█▄█▄█"], ["eat_2", " ▄▄▄▄▄▄ ▄▄▄▄▄\n ▄█▄ ▄▄█▄█ ▄▀\n █▀▀ ▄▀▄▀█ █▄▀ \n █▀▀▀███▀▄█▀▀█▄ \n █▀▀▄▄▄▀█▄▄ █ \n ▄▀▀█▄▄█▀ ▀██ \n █▄▀▀████▄▄▀▀█ \n █▄█▄▄█ █▄█▄█▄█"], ["happy", " ▄▀▀▀▀█▀▄▀▀▀▀█\n ▄██▀▄█▀██▀▄ ▄▀ \n █▄▄▄█▄█▄▀▄█▀▀▄ \n ▀▄▄▄▄▄ ▄▀█▄ ▄█\n ▄█▀▀▀▄█ █▄▀█▀ \n █ ███▄▄█▀▀▀▄ \n ▀██▀▀▄▀▀█▀▀▀█ \n █▄█▄▄█ █▄█▄█▄█"], ["injured_1", " ▄▄▄▄▄▄ ▄▄▄▄▄\n ▄█▄ ▄▄█▄█ ▄▀\n █▀▀ █▀██▀ █▄▀ \n █▀▀▀█▄▄▀▄█▀▀█▄ \n █▀▀▄▄▄▀█▄▄ █ \n ▄▀▀█▄▄███ ▀██ \n █▄▀▀███▀ ██ \n █▄█▄▄█ ▀▄▄▄██▄█"], ["injured_2", " \n ▄▀▀▀▀█▀▄▀▀▀▀█\n ▄██▀▄████▀▄ ▄▀ \n █▄▄▄█ ▀█ ▄▀▀▄▄ \n ▀▄▄▄▀▀▀▄█▄▄ █ \n ▀▄▄█▀▀▄██ ▀██ \n █▄▀▀███▀ ██ \n █▄█▄▄█ ▀▄▄▄██▄█"], ["sleep_1", " \n ▄▄▄▄▄▄ ▄▄▄▄▄ \n ▄█▄ ▄▄█▄█ ▄▀ \n█▀▀ █▀ █▄▀ \n█▀▀▀███▀▄█▀▀█▄ \n ███▄▄▄▀█▄▄▄▄█▄ \n █ ▀▄▄███ ▀ ▀ █\n █▄▄▄█████▄▄▄▄▄█"], ["sleep_2", " \n ▄▀▀▀▀█▀▄▀▀▀▀█\n ▄██▀ ▀▀██▀▄ ▄▀ \n █▄▄▄▄▄▄█ ▄██▄ \n ▀▄▄▄▀▀▀▄█▀ ▀█ \n █▄▄█▀▀▄███▄▄█ \n █ ▀█████ ▀ ▀ █\n █▄▄▄█████▄▄▄▄▄█"], ["walk_1", " ▄▀▀▀▀█▀▄▀▀▀▀█\n ▄██▀ ▀▀██▀▄ ▄▀ \n █▄▄▄▄▀██ ▄██▄ \n ▀▄▄▄▀▀▀▄█▀ ▀█ \n ▀▄▄█▀▀▄█▀▀▄▄█ \n █ ████▄ ▄█▀ \n ██▀▀▄▀▀█▀▀▀█ \n █▄█▄▄█ █▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄▄ ▄▄▄▄▄\n ▄█▄ ▄▄█▄█ ▄▀\n █▀▀ ▄▄█▀ █▄▀ \n █▀▀▀█▄█▀▄█▀▀█▄ \n █▀▀▄▄▄▀█▄▄ █ \n ▄▀▀█▄▄█▀ ▀██ \n █▄▀▀████▄▄▀▀█ \n █▄█▄▄█ █▄█▄█▄█"]]], + ["paledramon", [["angry", " ▄▄ ▄▄▄ ▄▄▄▄\n █▄▀▀ ▄▀▀▀█ ▄▀\n ▄▀ ▄ ▄▀▄ ▄▄█\n▄▀ ▀▀ ▄▄▀▀▄▄▀ \n▀▄▄▄▀▀▀█▀ ▄█ ▀▄ \n ▄▀▄▄▀▀ █ ▄ ▄█\n ▀▄█▄▄▄▀▀▄█▄▄█▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["attack", " ▄▀█▄▀▀█▄▄▄▀▀▀█\n ▄▀▀ ▄▀ ▄▀ ▀▄\n█▄▄▄ ▀▀ ▀▄█ ▀█▀\n ▀███ ▄█▀ ▄▀▀▄ \n █▀▀ ▄▀ ▄▀▀ █\n █ █▀▀ ▄▄█▄▀ ▄▀ \n ██▀█▀ ▄▀▀▀█ \n █▄█▄▄█▀█▄█▄█▄█ "], ["eat_1", " ▄▀█▄▀▀█▄▄▄▀▀▀█\n ▄▀▀ ▀ ▄▀ ▀▄\n█▄▄ ▄▀▄ ▀▄█ ▀█▀\n ▀██▄ ▄█▀ ▄▀█ \n █▀▀ ▄▀ ▄█ ▀▄\n █ █▀▀ ▄▄▀█ ▄ ▄▀\n ██▀█▀ ▄▀▀▀█ \n █▄█▄▄█▀█▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄▄ ▄▄▄▄\n █▄▀▀ ▄▀▀▀█ ▄▀\n ▄▀ ▄ ▄▀▄ ▄▄█\n▄▀ ▀ ▀ ▄▄▀▀▄▄▀ \n▀▄▄▄▀▀▀█▀ █ ▀▄\n █ ▄▄▀▀ ▄▀ ▄▀\n ██▄▄▄▀▀█▄█▄█ \n █▄█▄▄█▀█▄█▄█▄█ "], ["happy", " ▄▀█▄▀▀█▄▄▄▀▀▀█\n ▄█▀ ▄ ▀ ▄▀ ▀▄\n▄▀ ▀ ▀ ▄▄▀█▀█ \n▀████▀ ▄█▀▄ ▄▀ \n ▀▄▄▄▄▄▀ ▄▀ ▄▀ \n ▀▄█▀ ▄▄▀▀▀▄ \n ▄█▀█▀ ▄▀▀▀▄ \n █▄█▄▄█▀█▄█▄█▄█ "], ["injured_1", " \n ▄▀█▄▀▀█▄▄▄▀▀▀█\n █▀ ▀ ▄▀ ▀▄\n █ █▄ ▀▄█ ▀█▀\n█ ▄▄▄▄█▀▄▀▀▀▄ \n ███▄▄▄▀ ▄█▄▄ █\n█ ▀▄ ▄█ ▀▄▀\n█▄▄▄▄██▀▀▄▄▄▄▄█ "], ["injured_2", " \n ▄▄ ▄▄▄ ▄▄▄▄\n █▄▀▀ ▄▀▀▀█ ▄▀\n ▄▀ ▄ ▄▀▄ ▄▄█\n▄▀ ▀▀ ▄▄▀█▀▄▀ \n▀▄▄▄█▀▀█▀▄█▄▄ ▀▄\n█ ▀█▀▀▄█ ▀▄█\n█▄▄▄▄█▄█▀▄▄▄▄▄█ "], ["sleep_1", " \n ▄▄ ▄▄▄ ▄▄▄▄\n █▄▀▀ ▄▀▀▀█ ▄▀\n ▄▀ ▄▀▄ ▄▄█\n▄▀ ▀▀ ▄▄▀█▀▀▄ \n▀▄▄▄▀▀▀█▀▄▀ ▄ █\n▄▀█▀▀█▀▄▄▀█▀▀▄█ \n█▄▄▄▄█▀▀█▄▄▄▄█▀ "], ["sleep_2", " \n ▄▀█▄▀▀█▄▄▄▀▀▀█\n █▀ ▀ ▄▀ ▀▄\n █ ▄▄ ▀▄█ ▀█▀\n█ ▄▄▄▄█▀ ▄▀▀▄ \n █▀▀ ▄▄▀ ▄▀ ▄ █\n▄▀█▀▀▄ ▄▄▀█▀▀▄█ \n█▄▄▄▄█▀▀█▄▄▄▄█▀ "], ["walk_1", " ▄▀█▄▀▀█▄▄▄▀▀▀█\n █▀ ▀ ▄▀ ▀▄\n █ ▄█▀ ▀▄█ ▀█▀\n█ ▄▄▄▄█▀ ▄▀█ \n ▀█▀ ▄▄▀ ▄█ ▀▄\n █ █▀ ▄▄▀█ ▄ ▄▀\n ██▀█▀ ▄▀▀▀█ \n █▄█▄▄█▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄ ▄▄▄▄\n █▄▀▀ ▄▀▀▀█ ▄▀\n ▄▀ ▄▄ ▄▀▄ ▄▄█\n▄▀ ▀▀ ▄▄▀▀▄▄▀ \n▀▄▄▄▀▀▀█▀ █ ▀▄ \n ▄▀▄▄▀▀ ▄█▀ █\n ▀▄█▄▄▄▀▀▄█▄█▄▀ \n █▄█▄▄█▀█▄█▄█▄█ "]]], + ["palmon", [["angry", " \n ▄▄ ▄▀▀▄ ▄▄▄ \n █ ▀█ █▀ █ \n ▄▀▀ ▄ ▄ ▀▀▀▄ \n ▀▄▄▀█ █▀▄▄▄▀ \n ▄██▄▀▀▄█▀ █▄ \n █ █▄▄▄▄▄▄▄█▄ █ \n █▄▄█▄▄▄█▄▄▄█ "], ["attack", " ▄▄▄ ▄▄▄ \n ▄▀▀▀ ▄▀ ▄ ▀▀▄\n █▄▄▄▀▀▄ ▀▄▄█\n ▄▄▄█ ▄█▀ ▀▀▀ █ \n█ ▄█▄ ▄ █ \n▄▀▀ ▀▀▀▀ ▄█ \n█▄▄▀███▀▀ ▄▄█ \n █▄▄██▀▀█▄▄▄█ "], ["eat_1", " ▄▀▀▀▄▀▀▄▀▀▀▀▄ \n ▄▀▀ ▄ ▄ ▀▀▀▄ \n █▀▀█▄▄▀▀▀█▀ \n ▄▄█▀▀ ▀▀ █▄▄▄\n█ ▄█ █████▄ █ █\n ▀▄▄█ █████ █▀ █\n ▄█ ████▀ █▀▀ \n █▄▄█▄▄▄▄▄█▄█ "], ["eat_2", " ▄▄▄▄ \n ▄▀▀▀█ ▄▀▀▀▀▄ \n ▄▀▀ ▄ ▄ ▀▀▀▄ \n ▀▄▄▀▀▄▄▀▀▄▄▄▀ \n █▄▀▄ ▄▀▄ █ \n█▀▀█▄ ▄▀▀▀█\n ▀▀▄█▀▀▀▀▀█▄▄▀▀ \n █▄▄█▄▄▄█▄▄▄█ "], ["happy", " ▄▀▀▀▄▀▀▄▀▀▀▀▄ \n ▄▀▀ ▄ ▄ ▀▀▀▄ \n █▀▀█▄▄▀▀▀█▀ \n █▄▀▄ ▄▀▄█ \n █▀█ ▄▄▄▄▄▄ █▀█ \n ▀▄▀▄▀██▀▀█ █ █ \n ██ █▄▄▄▀ █▀ \n █▄▄█▄▄▄▄▄█▄█ "], ["injured_1", " ▄▄▄▄ \n ▄▀▀▀█ ▄▀▀▀▀▄ \n ▄▀▀ ▄ ▄ ▀▀▀▄ \n ▀▄▄▀▀▄▄▀▀▄▄▄▀ \n █▄▄ ▄▄ █ \n ▄▀▀▄ ▄▀▀▄ \n █ ▄█▀▀▀▀▀█▄▄ █ \n █▄▄█▄▄▄█▄▄▄█ "], ["injured_2", " ▄▄ \n ▄▀▀▄█ █▄▀▀▀▄ \n ▀▄▄ ▀ ▀ ▄▄▄▀ \n █ ▄█ █▄ █ \n ▀█ ▀▄▄▀ ▀▀█ \n ▄▀█▀▀ ▀▀ ▄▀▀▄ \n █ ▄█▀▀▀▀▀█▄▄ █ \n █▄▄█▄▄▄█▄▄▄█ "], ["sleep_1", " \n \n ▄▄▄ ▄▀▀▄ ▄▄▄ \n █ ▀█ █▀ █ \n ▄▀▀▀ ▄ ▄ ▀▀▀▄ \n ▀▄▄▄▀█ █▀▄▄▄▀ \n █ ▀▀ █ \n ▀▄▄▄▄▄▄▀ "], ["sleep_2", " \n ▄▄ \n ▄▀▀▀▄█ █▄▀▀▀▄ \n ▀▄▄▄ ▀ ▀ ▄▄▄▀ \n █ ▄█ █▄ █ \n ▀█▀ ▀▄▄▀ ▀█▀ \n █ █ \n ▀▄▄▄▄▄▄▀ "], ["walk_1", " ▄▄▄█▀▀▀▄▄▄▄ \n ▀▄▄ ▀ ▀ ▄▄▄▀ \n █ ▄█ █▄ █ \n ▀█ ▄▀▀ ▄▀▀█ \n █ ▀ ▀ █ \n █ ▀▄▄▄▄▄▄▀ █ \n ▀▄█ ▄█▄▀ \n █▄▄██▀▀█▄▄▄█ "], ["walk_2", " ▄▄▄▄ \n ▄▀▀▀█ ▄▀▀▀▀▄ \n ▄▀▀ ▄ ▄ ▀▀▀▄ \n ▀▄▄▀▀▄▄▀▀▄▄▄▀ \n▄▄ █ █ █ █ ▄▄\n█ ▀▀▄ ▄▀▀ █\n ▀▀▄█▀▀▀▀▀▀█▄▀▀ \n █▄▄█▀▀▀▀▄▄▄█ "]]], + ["palmon_x", [["angry", " ▄▄ ▄ ▄▄▄ \n ▄▀ ▄▀▄▀▄ ▀▄ \n▄████▀▄ ▄█▀████▄\n █ ▄ ▀█▀ ▄ █ \n ▀▄▀▀ ▀▀ ▄▀ \n ▄█▄████▄█▄ \n ▄█▄▄▀ ▀▄▄█▄ \n▀▀█▄▄█▄▄▄▄█▄▄█▀▀"], ["attack", " ▄▀▀▄▀▄▀▀▀▄ \n ▄█▄██▄ ▄███▄█▄ \n▀██ ▄ ▀█▀ ▄ ▀██▀\n █ ▀▀▄▄▄▀▀ █ \n ▄▀▄ ███ ▄▀▄ \n ▀▄ ████▀█ ▄▀ \n ▄███▄ ▄███▄ \n▀▀▀█▄▄█▀▀█▄▄█▀▀▀"], ["eat_1", " ▄▀▀▄▀▄▀▀▀▄ \n ▄█▄▄█ ▀ █▄▄▄█▄ \n▀▀█▀▀ █▄█▀ ▀▀█▀▀\n █ ▄▀▄▀ ▄▀▄ █ \n ▀▄ ▄▄ ▄▀ \n ▄▀█▄██▄█▀▄ \n ▄█▄█▄ ▄█▄█▄ \n▀▀▀█▄▄█▀▀█▄▄█▀▀▀"], ["eat_2", " ▄▄ ▄ ▄▄▄ \n ▄▀ ▄▀▄▀▄ ▀▄ \n▄████▀▄ ▄█▀████▄\n █ ▄▀█▀ ▄ █ \n ▀▄▀ ▀ ▀ ▀▄▀ \n ▄█▄▄▄▄▄▄█▄ \n ▄█▄▄▀ ▀▄▄█▄ \n▀▀█▄▄█▄▄▄▄█▄▄█▀▀"], ["happy", " ▄▀▀▄▀▄▀▀▀▄ \n ▄█▄▄█ ▀ █▄▄▄█▄ \n▀▀█▀▀ █▄█▀ ▀▀█▀▀\n █ ▄▀▄▀ ▄▀▄ █ \n █▀█▄ ██ ▄█▀█ \n ▀▄ ▀█▀▀▀▀█▀ ▄▀ \n▄████▄ ▄████▄\n █▄▄█▀▀█▄▄█ "], ["injured_1", " \n ▄▀▀▄▀▄▀▀▀▄ \n ▄█▄▄█▀▄▀█▄▄▄█▄ \n▀███▀█▄ ▄█▀████▀\n █ ▄▀█▀▄ █ \n █▄▀▀ ▀▀ ▄█ \n █▄▀▀▄▄▄▄▄▄▀▀▄█ \n███▄▄█▄▄▄▄█▄▄███"], ["injured_2", " \n ▄▄ ▄ ▄▄▄ \n ▄▀ ▄█ █▄ ▀▄ \n▄█████ ▀ ██████▄\n ▀█▀ ▀█▄█▀ ▀▀█▀ \n █ ▄█ ▀ █▄ █ \n █▄█▄ ▄▀▄█ \n███▄▄██████▄▄███"], ["sleep_1", " \n ▄▀▀▄▀▄▀▀▀▄ \n ▄█▄▄█ ▀ █▄▄▄█▄ \n▀▀█▀▀ █▄█▀ ▀▀█▀▀\n █ ▀ █ \n █▄▀▀ ▀▀▄█ \n ▄█▀▀█▀▀▀▀█▀▀█▄ \n▀▀█▄▄█▄▄▄▄█▄▄█▀▀"], ["sleep_2", " ▄▄ ▄ ▄▄▄ \n ▄▀ ▄▀▄▀▄ ▀▄ \n▄████▀▄ ▄█▀████▄\n █ ▀█▀ █ \n ▀▄ ▀▀ ▀▀ ▄▀ \n ▄█▄▄▄▄▄▄█▄ \n ▄█▀▀█ █▀▀█▄ \n▀▀█▄▄█▄▄▄▄█▄▄█▀▀"], ["walk_1", " ▄▀▀▄▀▄▀▀▀▄ \n ▄█▄▄█ ▀ █▄▄▄█▄ \n▀▀█▀▀ █▄█▀ ▀▀█▀▀\n █ █▀▄▀ ▄▀█ █ \n ▀▄▀▀ ▀▀▄▀ \n ▄▀▀█▀▀▀▀█▀▀▄ \n ▄█▄█▄ ▄█▄█▄ \n▀▀▀█▄▄█▀▀█▄▄█▀▀▀"], ["walk_2", " ▄▄ ▄ ▄▄▄ \n ▄▀ ▄▀▄▀▄ ▀▄ \n▄████▀▄ ▄█▀████▄\n █ ▄▄▀█▀ ▄▄ █ \n ▀▄▀▄█ █▄▀▄▀ \n ▄█▄▄▄▄▄▄█▄ \n ▄█▄▄▀ ▀▄▄█▄ \n▀▀█▄▄█▄▄▄▄█▄▄█▀▀"]]], + ["pandamon", [["angry", " ▄▄▄ ▄▄▄ \n ███▀▀▀▀▀▀████ \n ▀█▄ ▄▄▀█▀ \n▄▀█▀▀ ▄ ▀▀▀ █ \n█ ▀▄ ▀ ▀▀ ▄▀ \n ████▀▀▀▀████▄ \n████ ▀▀▀▀ ████ \n▄████▀▀▀▀▀████▄ "], ["attack", " ▄███▄▄▄▄▄███▄ \n ██▀ ▀███ \n ▄██▄ ▄██ █ \n█ █▀▀▄ ▄█▀▀ █ \n▀▄▄██ ▀ █▄▄█▄ \n▄███▀████▀▀███▄ \n▀▀██▄ ▄██▀▀ \n █████▀▀▀█████ "], ["eat_1", " ▄███▄▄▄▄▄███▄ \n ██▀ ▀███ \n ▄█▀▀ ▄ ▀▀▀ █ \n█ █▄▀▀ ▀█ █ \n▄████▄▄▄█▄▄█▄ \n▀███▀▄▄▄▄▀▀███▄ \n ▄█ ▄█▄▀█ \n ████▄▄▄▄█████ "], ["eat_2", " ▄███▄▄▄▄▄███▄ \n ██▀ ▀███ \n █▄▄ ▄▄▄ █ \n▄▀█ ▄▄▀▄▄ █ \n█ ▄█▄▄▄▄▄▄▄█▄ \n▄███▀▄▄▄▄▀▀███▄ \n█▀▄█ ▄█▄▀█ \n ████▄▄▄▄█████ "], ["happy", " ▄███▄▄▄▄▄███▄ \n ██▀ ▀███ \n ▄█▀▀ ▄ ▀▀▀ █▄▄ \n███ ▀███▀ ▄████\n████▄▄▄▄▄▄█████▀\n ███▀▄▄▄▄▀▀██▀ \n ▀▄█ ▄█▄ \n ████▄▄▄▄█████ "], ["injured_1", " \n ▄███▄▄▄▄▄███▄ \n ██▀ ▀███ \n ▄█▄█ ██▄ █ \n█ █▀▀▄▀▄▀▀▀ █ \n█▄▄█▄▄▄▄▄▄▄█▄▄ \n██▄ ▀█▄ ▄█▀▄███ \n ▀██▄██▄██▄██▀ "], ["injured_2", " \n \n ▄██▀▀▀▀▀▀███▄ \n███ ▄ ▄▄ ▀███ \n ████ ▄ ███ █▀ \n█ ▀▄ ▀ ▀ ▄█▄ \n███▀▀██▀██▀████ \n ▀██▄██▄██▄██▀ "], ["sleep_1", " \n▄███▄▄▄▄▄███▄ \n██▀ ▀███ \n █ █ \n▄█▀▀ ▄ ▀▀▀ █ \n█ █▄█▄█▄▄▄███ \n███████▄███▄██▄ \n▀█████████████▀ "], ["sleep_2", " ▄▄▄ ▄▄▄ \n ███▀▀▀▀▀▀████ \n ▀█ ▀█▀ \n █▄▄ ▄▄▄ █ \n ▄▀▄ ▄▀▄ ▄▀ \n█ █████▀█████ \n███▄███▀███▄██▄ \n▀█████████████▀ "], ["walk_1", " ▄███▄▄▄▄▄███▄ \n ██▀ ▀███ \n ▄██▄ ▄██ █ \n█ █▀▀▄▀▄▀▀▀ █ \n▀▄▄█▄▄▄▄▄▄▄█▄ \n▄███▀▄▄▄▄▀▀███▄ \n▀▀██▄ ▄██▀▀ \n █████▀▀▀█████ "], ["walk_2", " ▄▄▄ ▄▄▄ \n ███▀▀▀▀▀▀████ \n ▀█▄ ▄▄▀█▀ \n▄▀███ ▄ ███ █ \n█ ▀▄ ▀ ▀ ▄▀ \n ████▀▀▀▀████▄ \n████ ▀▀▀▀ ████ \n▄████▀▀▀▀▀████▄ "]]], + ["parasaurmon", [["angry", " ▄▄ \n ▄▄▀▀▀█ ▀▄▀▄\n ▄▀ ▄▀▀ █ █\n▄▀ ▄ ▀▄▄ ▄ ▄▀ █\n█ ▀▀ ▄▀▄██▀ █\n▀█▄ ▄██ █▀ █ \n ▄▀▀██ ▀▄▄█▄ █\n █▄█▄█▄█▄▀ █▄█▄▀"], ["attack", " ▄▄▀▀▀▀█ ▄▄ \n ▄▀ ▄ █▀▀ ▀▄▀▄\n█ ▀▀ █▀▄ █ █\n████▄ █▄▀█▄▀▄▀ █\n ▀███ █▀▄▀▀ █\n █▄▄▀ ▄ ▄ █ \n █▀█▀▄█▀▀▀▀▄ █\n ▀▀▀▀ █▄█▄▀"], ["eat_1", " ▄▄▀▀▀█ ▄▄ \n ▄▀ ▄▀▀ ▀▄▀▄\n▄▀ ▀▀ ▀▄▄ █ █\n█▄▄▄ ▄▀▄█▄▀▄▀ █\n▀████ ██ █▀ █\n ▀▄▄█▀ ▀ ▄ █ \n ▄▀ ▄█ █▀▀▄ █\n █▄█▄█▄█▄▀ █▄█▄▀"], ["eat_2", " ▄▄ \n ▄▄▀▀▀█ ▀▄▀▄\n ▄▀ ▄▀▀ █ █\n▄▀ ▄ ▀▄▄ ▄ ▄▀ █\n█ ▀ ▀▄▀▄██▀ █\n▀█▄ ▄██ █▀ █ \n ▄▀▀██ ▀▄▄█▄ █\n █▄█▄█▄█▄▀ █▄█▄▀"], ["happy", " ▄▄▀▀▀█ ▄▄ \n ▄▀ ▄▀▀ ▀▄▀▄\n▄▀ ▄▀▄▀▄▄ █ █\n█▄▄▄ ▄▀▄█▄▀▄▀ █\n▀████ ██ █▀ █\n █▄▄█▀ ▀ ▄ █ \n ▄▀ ▄█ █▀▀▄ █\n █▄█▄█▄█▄▀ █▄█▄▀"], ["injured_1", " \n ▄▄▄▄ ▄▄ \n ▄▀▀ ▄▄▀ ▀▄▀▄\n ▄▀ █ █ █\n█ ▄ █▀▄▄▀▄▀ █\n█▄ ▀▀ █▄▀██ █\n ▀█▄▄█▀▀ ▀ ▄ █ \n ██▄▄▄█▄▄██▄▄▄▄█"], ["injured_2", " \n \n ▄▄▀▀▀█ ▄▄ \n ▄▀ ▄▀▀ █▄ ▀▄\n▄▀ ▀▄▄ ▄ █ █\n█ █▄ ▄▀▄██ ▀ █\n▀█▄ ██ █ ▄ ▄▀\n █▄████▄▄██▄▄▄▄█"], ["sleep_1", " \n ▄▄▄▄ ▄▄ \n ▄▀▀ ▄▄▀ ▀▄▀▄\n ▄▀ █ █ █\n█ ▄▄ █▀▄▄▀▄▀ █\n█▄ █▄▀██ █\n ▀█▄▄█▀▀ ▀ ▄ █ \n ██▄▄▄█▄▄██▄▄▄▄█"], ["sleep_2", " \n ▄▄▀▀▀█ ▄▄ \n ▄▀ ▄▀▀ ▀▄▀▄\n▄▀ ▀▄▄ █ █\n█ ▀▀ ▄▀▄█▄▀▄▀ █\n▀█▄ ▄██ █▀ █\n ▄███▀ ▀ ▄ █ \n ██▄▄▄█▄▄██▄▄▄▄█"], ["walk_1", " ▄▄▀▀▀█ ▄▄ \n ▄▀ ▄▀▀ ▀▄▀▄\n▄▀ ▄▄▀▄▄ █ █\n█ ██ ▄▀▄█▄▀▄▀ █\n▀█▄ ▄██ █▀ █\n ███▀ ▄ █ \n ▄▀ ▄█ █▀▀▄ █\n █▄█▄█▄█▄▀ █▄█▄▀"], ["walk_2", " ▄▄▀▀▀▀█ ▄▄ \n ▄▀ █▀▀ ▀▄▀▄\n█ ▄█▀ █▀▄ █ █\n█▄ ▀▀ █▄▀█▄▀▄▀ █\n ▀▀▄▄██▀▄▀▀ █\n █▀█ ▄ ▄ █ \n █▀█▀▄█▀▀▀▀▄ █\n ▀▀▀▀ █▄█▄▀"]]], + ["parrotmon", [["angry", " ▄▄▄▄▄██▀▄▄ ▄▄ \n█ ▀▀▀█▀████ █ \n█▄▀▀▄▀▀ ████ █\n ▄█ ▄████ █\n █▄▄▀▄██▀█ █ █\n▄▀ █ ▄▀ ▄ █▄▀▀ \n▀▀▀▀█▄███▄▄▄▀▀▄ \n █▄▄██▄▄▄█▀▀▀ "], ["attack", " ▄▄▄ \n ▄████▄ ██▄▀▀▄ \n▄▀ ▄█▀ ▀███▄ ▀▄\n▀▄ █▄▀ ▀███▄ █\n ▀▄▀▄ ▄▄██▀▀█ █\n ▄▀█▀ ▀█▀ ▀▄ █▄▀\n█▄▄█▄ █▄▄█▄██▄ \n █▄▄█▀▀█▄▄▄█▄█ "], ["eat_1", " ▄▄▄ \n ▄████▄ ██▄▀▀▄ \n▄▀▀▀ ▄ ▀▀███▄ ▀▄\n▀▄ ▄▀ ▀ ▀███▄ █\n ▀▄▀▄ ▄▄██▀▀█ █\n ▄▀█▀ ▀█▀ ▀▄ █▄▀\n█▄▄█▄ █▄▄█▄██▄ \n █▄▄█▀▀█▄▄▄█▄█ "], ["eat_2", " ▄▄▄▄▄██▀▄▄ ▄▄ \n█ ▀████▄███ █ \n█▄▀▀█▄▀ ████ █\n ▄█ ▄████ █\n █▄▄▀▄██▀█ █ █\n▄▀ █ ▄▀ ▄ █▄▀▀ \n▀▀▀▀█▄███▄▄▄▀▀▄ \n █▄▄██▄▄▄█▀▀▀ "], ["happy", " ▄▄▄▄▄██▀▄▄ ▄▄ \n█ ▀▀▀█▀▀███ █ \n█▄▀▀▄▀ ▀ ████ █\n ▄█ ▄████ █\n █▄▄▀▄██▀█ █ █\n▄▀ █ ▄▀ ▄ █▄▀▀ \n▀▀▀▀█▄███▄▄▄▀▀▄ \n █▄▄██▄▄▄█▀▀▀ "], ["injured_1", " \n ▄▄▄ \n ▄████▄ ██▄▀▀▄ \n▄▀▀▀ ▄ ▀███▄ ▀▄\n▀▄ ▄ ▀▀ ▀███▄ █\n █▄▀▄ ▄▄██▀▀█ █\n▄▀▄█▀ █▀▀██▄▄█▄▀\n▀█▄▄█████▄▄█▄█ "], ["injured_2", " \n \n ▄▄██▀ ▄▄ ▄▄ \n ▄██▀▀▀▀▄███ █ \n█ █▄ ████ █\n ▀▄▀▄ ▄████ █\n █▄█▀▀▄▀▀██ █ █\n█▄▄▄█████▄▄███▀ "], ["refuse", " ▄▄▄ \n ▄████▄ ██▄▀▀▄ \n▄▀▀▀ ▄ ▀███▄ ▀▄\n▀▄ ▄ ▀▀ ▀███▄ █\n ▀▄▀▄ ▄▄██▀▀█ █\n ▄▀█▀ ▀█▀ ▀▄ █▄▀\n█▄▄█▄ █▄▄█▄██▄ \n █▄▄█▀▀█▄▄▄█▄█ "], ["sleep_1", " \n ▄▄██▀ ▄▄ ▄▄ \n ▄██▀▀▀▀▄███ █ \n█ ▄▄ ████ █\n ▀▄▀▄ ▄████ █\n ▄█▄▀▄██▀█ █ █\n▄▀▄█ ▄▀ ▄▄█▄▀▀ \n▀█▄▄█████▄▄█▄█ "], ["sleep_2", " \n ▄▄▄ \n ▄████▄ ██▄▀▀▄ \n▄▀▀▀ ▀███▄ ▀▄\n▀▄ ▄ ▀▀ ▀███▄ █\n █▄▀▄ ▄▄██▀▀█ █\n▄▀▄█▀ █▀▀▄█▄▄█▄▀\n▀█▄▄█████▄▄█▄█ "], ["walk_1", " ▄▄██▀ ▄▄ ▄▄ \n ▄▀▀▀██▀▄███ █ \n█ ▄▀█ ████ █\n ▀▄▀█ ▄████ █\n ▄█▄▀▄██▀█ █ █\n▄▀ █ ▄▀ ▄ █▄▀▀ \n▀▀▀▀█▄███▄▄▄▀▀▄ \n █▄▄██▄▄▄█▀▀▀ "], ["walk_2", " ▄▄▄ \n ▄████▄ ██▄▀▀▄ \n▄▀ ▄█▀ ▀███▄ ▀▄\n▀▄ █▄▀ ▀███▄ █\n ▀▄▀▄ ▄▄██▀▀█ █\n ▄▀█▀ ▀█▀ ▀▄ █▄▀\n█▄▄█▄ █▄▄█▄██▄ \n █▄▄█▀▀█▄▄▄█▄█ "]]], + ["patamon", [["angry", " ▄▄▀▀▀▄▄▀▀▀▄ \n ▄▀ ▄▄▀▀ ▄█▄ █ \n▄█▄ ▄▄▄ ▀█▀▀ \n█ ▄▄▄▄▄▄ ▀▄▀█\n▀█ ██████▄ ▀▄▀\n █ ██▀▀▀▀█ ▀▄\n █▀▀▀▀▀▀▀▀▄ ▄ █\n█▄██▀▀▀█▄▄▀▀▄▄▄▀"], ["attack", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▄▄▀ ▄ ▀▄ \n █ ▄▄█ ▄█▀▀▀ \n ▄▀ ▀ ▀█▄▄▄\n█ █ █ ▀▄▀\n█ ▄▀▄▄ █\n██▄▄▄▄▄▄█▄▄█▄▄▄▀"], ["eat_1", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▄▄▀ ▄ ▀▄ \n █ ▄▄█ ▄█▀▀▀ \n ▄▀ ▀ ▀█▄▄▄\n█ █ █ ▀▄▀\n█ ▄▀▄▄ █\n██▄▄▄▄▄▄█▄▄█▄▄▄▀"], ["eat_2", " ▄▄▀▀▀▄▄▀▀▀▄ \n ▄▀ ▄▄▀▀ ▄█▄ █ \n▄█▄ ▄▄▄ ▀█▀▀ \n█ ▄▄▄▄▄▄ ▀▄▀█\n▀█ ██████▄ ▀▄▀\n █ ██▀▀▀▀█ ▀▄\n █▀▀▀▀▀▀▀▀▄ ▄ █\n█▄██▀▀▀█▄▄▀▀▄▄▄▀"], ["happy", " ▄▄▀▀▀▄▄▀▀▀▄ \n ▄▀ ▄▄▀▀ ▄█▄ █ \n▄█▄ ▄▄▄ ▀█▀▀ \n█ ▄▄▄▄▄▄ ▀▄▀█\n▀█ ██████▄ ▀▄▀\n █ ██▀▀▀▀█ ▀▄\n █▀▀▀▀▀▀▀▀▄ ▄ █\n█▄██▀▀▀█▄▄▀▀▄▄▄▀"], ["injured_1", " \n ▄▀▀▀▄▀▀▀▀▄ \n ▄▀ ▀█ █▄▄█ \n █ ▄▀▀▀ ▀█ \n▄▀ ▀▄▀█\n█▄▄ ▄▄▄ ▀▄\n▀▄ ▄ ▄ ▄ █\n█▄██▀▀▀█▄▄▀█▄▄▄▀"], ["injured_2", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▄▄▀ ▄ ▀▄ \n █ ▄▄█ ▄█▀▀▀ \n ▄▀ ▀ ▀█▄▄ \n█▄▄ ▄▄ ▀▄█\n█ ▄▀▄▄ ▀▄ █\n ▀▄▄▄▄▄▄▄▄█▄▄█▄█"], ["refuse", " \n ▄▀▀▀▄▀▀▀▀▄ \n ▄▀ ▀█ █▄▄█ \n █ ▄▀▀▀ ▀█ \n▄▀ ▀▄▀█\n█▄▄ ▄▄▄ ▀▄\n▀▄ ▄ ▄ ▄ █\n█▄██▀▀▀█▄▄▀█▄▄▄▀"], ["sleep_1", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▄▄▀ ▄ ▀▄ \n █ ▄▄█ ▄█▀▀▀ \n ▄▀ ▀ ▀█▄▄ \n█▄▄ ▄▄ ▀▄█\n█ ▄▀▄▄ ▀▄ █\n ▀▄▄▄▄▄▄▄▄█▄▄█▄█"], ["sleep_2", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▄▄▀ ▄ ▀▄ \n █ ▄▄█ ▄█▀▀▀ \n ▄▀ ▀ ▀█▄▄ \n█▄▄ ▄▄ ▀▄█\n█ ▄▀▄▄ ▀▄ █\n ▀▄▄▄▄▄▄▄▄█▄▄█▄█"], ["walk_1", " \n ▄▀▀▀▄▀▀▀▀▄ \n ▄▀ ▀█ █▄▄█ \n █ ▄▀▀▀ ▀█ \n▄▀▄ ▄ ▀▄▀█\n█ ▀ ▄ ▀ ▀▄\n▀▄ ▀ ▀▀ ▄ ▄ █\n█▄██▀▀▀█▄▄▀█▄▄▄▀"], ["walk_2", " \n ▄▄▄ ▄▄▄▄ \n ▄▀ ▄▄▀ ▄ ▀▄ \n █ ▄▄█ ▄█▀▀▀ \n ▄▀ ▀ ▀█▄▄▄\n█ █ █ ▀▄▀\n█ ▄▀▄▄ █\n██▄▄▄▄▄▄█▄▄█▄▄▄▀"]]], + ["peckmon", [["angry", " ▄▄▀▀▀▀▀█▀ \n ▀ █▀▀▀█▀▀▄███▀ \n █▄█▄▀▀ █ ▄▄█▀\n █▀ █▄▄███▀ ▄█\n ▄▀▀█ ▄▄▄█▀▄▀\n ▀▄ ▄▀▄▄▄█▀▀ \n █▀▄ █▀ \n ▄█▄█▄▄█▄ "], ["attack", " ▄▄▄▄▄▄▄ \n▄▀█▄▄▄▄▄▀ ▄▄▄▄ \n ▄▀▄ ▀ █▄█▀▀▀▄▄ \n ▀▀▀█▄██▀▄▄█▀ \n █▄▄▀▀█▀▄ ▀▄ \n █ ▀▄ ▄▀ █ \n ▄█▄█▄▀███▄▀ \n▄█▄█ ▄█▄█▄ "], ["eat_1", " ▄▄▄▄▄▄▄ \n▄▀█▄▄▄▄▄█ ▄▄▄▄ \n ▄▀▄ ▄▀▄ █▀▀▀▄▄ \n ▀▀▀█▄▄ ▄█▄█▀ \n █▄▄▄▀█▀▄ ▀▄ \n █ ▀▄ ▄▀ █ \n ▄█▄█▄▀███▄▀ \n▄█▄█ ▄█▄█▄ "], ["eat_2", " ▄▄▀▀▀▀▀█▀ \n ▀ █▀▀█▀█ ▄███▀ \n █▄█▄ ▄██▀ ▄▄▀▀\n █▀▄▀██▄█▀▀▄ \n ▄▀▀█ ▀ █ █ \n ▀▄ ▄▀▄▄█▄ ▄▀ \n ▀█▀▄ █ ▀▀ \n ▄█▄█▄▄█▄ "], ["happy", " ▄▄▀▀▀▀▀█▀ \n ▀ █▀▀▀█▀▀▄███▀ \n █▄█▄▀ ▀ █▄▄▄█▀\n █▀ █▄▄▀ ▄▀ ██\n ▄▀▀ ▀▄ ▄▀▄▀\n ▀▄ ▄▄▄██▀▀ \n █▀▄ █▀ \n ▄█▄█▄▄█▄ "], ["injured_1", " \n \n ▄▄▀▀▀▀▀█▀ \n ▀ █▀█▀▀█ ▄██▀▀ \n ▄▀▄ ▀▀▄███▄▄█▀▀\n ▀▀▀█▄█▀▀█▀▄ ▀▄ \n █ ▀▄ ▄▀ █ \n █▄██████▄▀ "], ["injured_2", " \n \n ▄▄▄▄▄▄▄ \n▄▀█▄▄▄▄▄▀ ▄██▀▀ \n ▄▀ █▄ █▄█▀▄▄█▀▀\n█▄█▄ ▄████▀▄ ▀▄ \n █▀ ▀▄ ▀▄▀ █ \n █▄██████▄▀ "], ["refuse", " ▄▄▄▄▄▄▄ \n ▄▀█▄▄▄▄▄█ ▄▄▄▄ \n ▄▀▄ ▄█ █▀▀▀▄▄\n ▀▀▀█▄▄ ▄█▄█▀ \n █▄▄▄▀█▀▄ ▀▄ \n █ ▀▄ ▄▀ █ \n ▄█▄█▄▀███▄▀ \n ▄█▄█ ▄█▄█▄ "], ["sleep_1", " \n ▄▄▄▄▄▄▄ \n ▄▀█▄▄▄▄▄▀ ▄▄▄▄ \n ▄▀▄▀▀ █▄█▀▀▀▄▄\n ▀▀▀█▄██▀▄▄█▀ \n █▄▄▀▀█▀▄ ▀▄ \n █ ▀▄ ▄▀ █ \n █▄██████▄▀ "], ["sleep_2", " \n \n ▄▄▀▀▀▀▀█▀ \n ▀ █▀██▀█ ▄██▀▀ \n █▄█▄ ▄███▄▄█▀▀\n █▄█▀▀█▀▄ ▀▄ \n █ ▀▄ ▄▀ █ \n █▄██████▄▀ "], ["walk_1", " ▄▄▀▀▀▀▀█▀ \n ▀ █▀▀█▀█ ▄███▀ \n █▄█▄ ▄██▀ ▄▄▀▀\n ▄▀▀██▄█▀▀▄ \n ▄▀▀█ ▀ █ █ \n ▀▄ ▄▀▄▄█▄ ▄▀ \n ▀█▀▄ █ ▀▀ \n ▄█▄█▄▄█▄ "], ["walk_2", " ▄▄▄▄▄▄▄ \n▄▀█▄▄▄▄▄▀ ▄▄▄▄ \n ▄▀▄ ▀ █▄█▀▀▀▄▄ \n ▀▀▀█▄██▀▄▄█▀ \n █▄▄▀▀█▀▄ ▀▄ \n █ ▀▄ ▄▀ █ \n ▄█▄█▄▀███▄▀ \n▄█▄█ ▄█▄█▄ "]]], + ["pegasusmon_x", [["angry", " ▄▄\n ▄▄▄▄▀▀█▀▄▀ █\n ▄▀▀▄ ▀▄▄▀▄▀ ▀▄\n█ ▀▀ ▄▄█▀ ▄▀▀ \n ▀▀▄▀█▀ ▀▀█▀▄▀▄ \n ▀█▄ ▀▄█▄▄▀ █ \n ▄█ █▄▀█ █▄▀█ \n █▄▄█▄▄▄▀ █▄▄▄█ "], ["attack", " ▄▄▄▄▀▀█▀ ▄▄\n ▄▀▀▄ ▀▄▄▀▄ ▄▀ █\n█▄▄▀▀ ▄▄▀ ▄▀ ▀▄\n ███ █▄▀▀▀▄▄▄▀▀ \n ▀▄▄▀▀ ▄ ▄▀ ▄▀▄ \n ██▄▀ █▄▄▄▀ █ \n ▄█ █▄▀█ █▄▀█ \n █▄▄█▄▄▄▀ █▄▄▄█ "], ["eat_1", " ▄▄▄▄▄▀▀█▀ ▄▀█\n▄▀▀ ▄▄▀▄▄▀▄▄▀ ▄▀\n█▄▄▀▀ ▄▄█▄▀ ▄▀\n ███ ▄▀▄▀▀▄▄█▀ \n █▀ █▄▀ ▄ █ ▄▀▄ \n ▀█▄▄▄▀▄█▄▄▀ █ \n ▄█ █▄▀█ █▄▀█ \n █▄▄█▄▄▄▀ █▄▄▄█ "], ["eat_2", " \n ▄▄▄▄▀▀█▀ \n ▄▀▀▄ ▀▄▄▀▄▄ \n█ ▀ ▀▄▄▀█▀ ▀▄ \n ▀▀▄▀▀▄▀█▀ ▄▄▀█ \n ▄█▀ ▄▀▄▄▀ █ \n ▄█ █▄▀█▀ █▄▀█ \n █▄▄█▄▄▄▀ █▄▄▄█ "], ["happy", " ▄▄▄▄ \n ▄▄▀▀█▀ ▄▀ ▄▀█\n▄▀ ▄▀▄ ▀█ █▄▀ ▄▀\n▀▄▄▄ ██▄▄▀ ▄▄▀\n ▄▀▀▄▀ █▀█▀▄ \n ▄▀█▄▄ █▄█▄▄▀ █ \n▄▀ ▄▀ █▀ █▄▀█ \n▀▀▀▀▀▀ █▄▄▄█ "], ["injured_1", " \n ▄▄▄▄ \n ▄▄▀▀█▀ ▄▀ \n▄▀ █▄ ▀█▄▄▄ \n▀▄▄ ▄▄▀█▄█ ▀▄ \n ▀▄ ▄▀▄▀ ▄▄▀█ \n ▄▄█▀▀▄▀▄▄█▄ █ \n █▄█▄▄▄███▄▄▄██ "], ["injured_2", " \n \n ▄▄▄▄▀▀█▀ \n ▄▀▀▄ ▀▄▄▀▄▄ \n█ ▀▀▄▄▀█▀ ▀▄ \n ▀▀▄▀▀▄▀█▀ ▄▄▀█ \n ▄▄█▀▀▄▀▄▄█▄ █ \n █▄█▄▄▄███▄▄▄██ "], ["sleep_1", " \n ▄▄▄▄ \n ▄▄▀▀█▀ ▄▀ ▄▀█\n▄▀ ▄▄ ▀█ ▀▄▀ ▄▀\n▀▄▄ ▄▄▀█▄▄▀ ▄▄▄▀\n █▄▄▀▄▄█▀▀▄▀▄ \n▄▀▀▄▀▀▀ █▄▄█▀▀█ \n█▄▄█▄▄▄▄█▄█▄▄▄█ "], ["sleep_2", " \n ▄▄▄▄▀▀█▀ ▄▄\n ▄▀▀ ▀▄▄▀▄ ▄▀ █\n█ ▀▀ ▄▄▀ ▄▀ ▀▄\n ▀▀▄▀▀▄▀▀▀▄▄▄▀▀ \n █▀▀ ▄▀█▀ ▄▀▄ \n▄▀▀▄▀▀▀ █▄▄█▀▀█ \n█▄▄█▄▄▄▄█▄█▄▄▄█ "], ["walk_1", " ▄▄▄▄▀▀█▀ ▄▄\n ▄▀▀▄▄▀▄▄▀▄ ▄▀ █\n█ ▀▀ ▄▄▀ ▄▀ ▀▄\n ▀▀▄▀▀▄▀▀▀▄▄▄▀▀ \n █▀▀ ▄ ▄▀ ▄▀▄ \n ██▄▀ █▄▄▄▀ █ \n ▄█ █▄▀█ █▄▀█ \n █▄▄█▄▄▄▀ █▄▄▄█ "], ["walk_2", " ▄▄▄▄▀▀█▀ ▄▄\n ▄▀▀▄▄▀▄▄▀▄ ▄▀ █\n█ ▀▀ ▄▄▀ ▄▀ ▀▄\n ▀▀▄▀▀▄▀▀▀▄▄▄▀▀ \n █▀▀ ▄ ▄▀ ▄▀▄ \n ▄▀▀▀▄▀ █▄▄▄▀ █ \n █ ▀██▄▀█ █▄▀█ \n ▀▀▀█▄▄▄▀ █▄▄▄█ "]]], + ["petermon", [["angry", " ▄█▀▀▀▀▀▄▀▀█ \n▄███▄▄▄▄▄█▄▄██▀ \n ▀█▀▀█▀ ▄ █▀█ \n █ ▄▀ ▀▀ █▄██▄ \n █ ▀██████▀ ▄▀█ \n ▀▄▄█▄▄█▀▄▀ \n ▄█▀ ▀▀█▄ \n █▄▄█▀▄▄▄█ "], ["attack", " ▄▄▄▄▄▄ ▄▄▄ \n ▄▄█▀ ▄▀ ▄█▄ \n▀████████████▀ \n █ █ ▄ █ █▄ \n ▀▄█▄▄▄▄▄█▀ ██ \n ▄▀█▀▀█▀▄▀▄ ▀ \n █▄█▀▀▀▀▄█ █ \n █▄▄███▄▄▄██ "], ["eat_1", " ▄▄▄▄▄▄ ▄▄▄ \n ▄▄█▀ ▄▀ ▄█▄ \n▀██████▀▀▀███▀ \n █ █ ▄▀▄█ █▄ \n ▀▄█▄▄▄▄▄█▀ ██ \n ▄▀█▀▀█▀▄▀▄ ▀ \n █▄█▀▀▀▀▄█ █ \n █▄▄███▄▄▄██ "], ["eat_2", " ▄█▀▀▀▀▀▄▀▀█ \n▄███▄▄▄▄▄█▄▄██▀ \n ▀█▀▀█▀▀▀▀█▀█ \n █ █ ▄▄▀ █▄▀█▄ \n ▀█▄██▄█▀▄ ▀█ \n ▄▀▄█▄▄█ █ █ \n ▀▄█▀ ▀▀█▄▀ \n █▄▄█▀▄▄▄█ "], ["happy", " ▄█▀▀▀▀▀▄▀▀█ \n▄███▄▄▄▄▄█▄▄██▀ \n ▀█▀▀█▀ ▄ █▀█ \n █ ▄▀ ▀ ▀█▄▀█▄ \n ████████ ▀█ \n ▄▀ ▄█▄▄█▄ ▀▄ \n ▀▄██▀ ▀▀█▄█ \n █▄▄█▀▄▄▄█ "], ["injured_1", " \n ▄▄▄▄▄▄ ▄▄▄ \n ▄▄█▀ ▄▀ ▄█▄ \n▀█████▀▀▀████▀ \n █ █ █▄ █ █▄ \n ▀▄█▄▄▄▄▄█▀ ██ \n ▄▀▀█████▀▀▀▄ ▀ \n █▄▄█▄▄▄█▄▄▄█ "], ["injured_2", " \n \n ▄█▀▀▀▀▀▄▀▀█ \n▄███▄▄▄▄▄█▄▄██▀ \n ▀█▀▀█ ▄ ▀█▀█ \n █ ▄▀ ▀▀ █▄▀█▄ \n ▄▀▀█████▀▀▀▄▀█ \n █▄▄█▄▄▄█▄▄▄█ "], ["refuse", " ▄▄▄▄▄▄ ▄▄▄ \n ▄▄█▀ ▄▀ ▄█▄ \n▀██████▀▀▀███▀ \n █ █ ▄█ █ █▄ \n ▀▄█▄▄▄▄▄█▀ ██ \n ▄▀█▀▀█▀▄▀▄ ▀ \n █▄█▀▀▀▀▄█ █ \n █▄▄███▄▄▄██ "], ["sleep_1", " \n ▄█▀▀▀▀▀▄▀▀█ \n▄███▄▄▄▄▄█▄▄██▀ \n ▀█▀▀█▀▀▀▀█▀█ \n █ ▄▀ ▀▀ █▄▀█▄ \n ▀██████▀▄ ▀█ \n ▄▀▀▄█▄▄█▀▀▀▄ \n █▄▄█▄▄▄█▄▄▄█ "], ["sleep_2", " \n ▄▄▄▄▄▄ ▄▄▄ \n ▄▄█▀ ▄▀ ▄█▄ \n▀████████████▀ \n █ █ ▄▄ █ █▄ \n ▀▄█▄▄▄▄▄█▀ ██ \n ▄▀▀█████▀▀▀▄ ▀ \n █▄▄█▄▄▄█▄▄▄█ "], ["walk_1", " ▄█▀▀▀▀▀▄▀▀█ \n▄███▄▄▄▄▄█▄▄██▀ \n ▀█▀▀█▀▀▀▀█▀█ \n █ ▄▀ ▀ █▄▀█▄ \n ▀██████▀▄ ▀█ \n ▄▀▄█▄▄█ █ █ \n ▀▄█▀ ▀▀█▄▀ \n █▄▄█▀▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄ ▄▄▄ \n ▄▄█▀ ▄▀ ▄█▄ \n▀████████████▀ \n █ █ ▄ █ █▄ \n ▀▄█▄▄▄▄▄█▀ ██ \n ▄▀█▀▀█▀▄▀▄ ▀ \n █▄█▀▀▀▀▄█ █ \n █▄▄███▄▄▄██ "]]], + ["petitmon", [["angry", " \n \n \n ▄█ ▄▀█ \n ▄▀ ▀▀▀ █▀▀▄ \n ██▄ ▄█ █▄▀▀ \n ▀▄▄▄▄▄▄▀ \n ▄▄▄▄▄▄ "], ["attack", " ▄█ \n ▄▄▄▀ █ \n █ ▄█ █▄▀▀█ \n █▄█▄ █ ▄█ \n ███ █▀ \n ▄█▀█ █ \n ▀▄▄▄▄▀ \n ▄▄▄▄▄ "], ["eat_1", " \n ▄▄ ▄▄▄ \n ▄▀ ▀▀ ▄▀ \n ▀██▄▀ █▀▀▀█ \n ▄███ █▄█▀ \n ▀▄▄▄▄▀ \n \n ▄▄▄▄▄▄ "], ["eat_2", " \n \n ▄ ▄ \n ▄▀█▄▀█▄▄ \n █▄ ▄ █ ▄█ \n █▄▄▄ █▀ \n ▀▀▀▀▀ \n ▄▄▄▄▄▄▄ "], ["happy", " ▄ ▄ \n ▄▄ ▄▀█▄▄█▀▄ ▄▄ \n █ ▀█ ▄ ▄ █▀ █ \n █▄█▀ ▀▀ ▀█▄█ \n █ ████ █ \n ▀████▀ \n \n ▄▄▄▄ "], ["injured_1", " \n \n \n \n \n ▀█▄▄▄▄▄█▀ \n ▄▀█▀▄▄ ▄▄▀█▀▄ \n █▄▄█▄▄▄▄▄▄▄█▄▄█"], ["injured_2", " \n \n \n \n \n ▄▄ ▄▄ \n ▄▄▄█▀▀▀▀▀█▄▄▄ \n █▄▄█▄██▄██▄█▄▄█"], ["sleep_1", " \n \n \n \n \n █▄ ▄█ \n ▄▀▀█ ▀▀▀ █▀▀▄ \n █▄▄▀▄██▄██▄▀▄▄█"], ["sleep_2", " \n \n \n \n ▄ ▄ \n ▄▄▀█▄█▀▄▄ \n ▄▀ █▄▄ ▄▄█ ▀▄ \n █▄▀▀▄▄▄▄▄▀▀▄█ "], ["walk_1", " \n \n ▄█ ▄█ ▄▄ \n ▄▀ ▀▀ █▀ █ \n █▀ ▀ █▄█ \n ▀▄█▄▄▄▀ \n \n ▄▄▄▄▄▄ "], ["walk_2", " \n \n ▄█ ▄█ \n ▄▀ ▀▀ █▀▄ \n █▀ ▀ █▄ █ \n ▀▀▀▀▀ ▀▀ \n \n ▄▄▄▄ "]]], + ["phantomon", [["angry", " ▄▄▄ \n ▄▀▀▀▀▀▄▀██▄ \n ▄▀▄▄▄▄ ▀▄██▀\n ▀███▀ █ ▄█▀ \n▄▀▀█▀▀▀▀▀▄█▀ █ \n▀█ ▀ ▄█▀ █ █ \n █ █ ▄█▀ ▀▀ █▀ \n ▀▄█▀▄▄▀▄▀▄█ "], ["attack", " ▄█████ \n ▄▀▀▀▀▀▀▄ █ \n█▄▄▄▄ ▀▄ █ \n ██▀ █▄ █ █ \n ▀███ ▀█▀▄ \n ▄▄▄██▀ ▄█▄▀ \n█ ▄ █ ▄█ █ \n ▀▀▄▀▄▀▄█▀ ▀ █ "], ["eat_1", " ▄▄▄▄ \n ▄▀▀▀▀▀▀███▄ \n ▄▀▄▄▄▄ ▀██▀ \n ▀█▀██▀█▄ ▄█▀▄ \n ▄▀▀▀▀▀▀██▀▄ █ \n █ ▀█▀▄█▀▄▄▀ █ \n ▀▄ █▄▀ █ █ \n ▄█▀▄▄▀▄▄█▀▄█ "], ["eat_2", " ▄█████ \n ▄▀▀▀▀▀▄ █ \n ▄▀▄▄▄ ▀▄ █ \n ▀█▀██▀█▄ ▀▄ █ \n ▄▀████▀▀ ▀█▀▄\n█ █ ▄ ▄█▄▀\n ▀█ █ ▄█ █ \n ▀▄▀▄▀▄█▀ ▀ █ "], ["happy", " ▄▄▄▄▄▄ █▄\n ▄▀ ▀▄ ██\n █▄▀███▀█▄ █ ██\n█▀▄█▄█▄█▄█ █▀▀▀\n█ █ ▄▄▄██ █ █ \n█ ▀█▄▄▄▀ ▀ █ \n▀▄█ ▄ ▄▀ \n ▀▄█▀▄▀▄▄█▀ "], ["injured_1", " █████▄ \n █ ▄▄▄▄▄ \n █▄▀ ▀▄ \n █▄██▀█▀█▄ █ \n █ ▄█▄███▄█ ▀▄ \n █ █ █ \n █ █ █ █ \n ▀▄▀▄▄▄█▄▄▄▀▄▄█▄"], ["injured_2", " ▄██▄ \n ▄█▀▀███▄\n ▄▄██▄ ▀██\n ▄▀ ▀▄ ▀\n █ ▄▀█▀█▄ █ \n ▄▀▀▄▄█▄▄█▀ █ \n▄█▀▄▀ █ █ \n█▄▄█▄▄▄█▄▄█▄▄▄█▄"], ["sleep_1", " █████▄ \n █ \n █ ▄▄▄▄▄ \n █▄▀ ▀▄ \n █▄ █ \n █ ▄█████▄▄ █ \n █ █ ▄▄▀ █ \n█▄▄█▄▄█▄▄▄█▄▄▄█▄"], ["sleep_2", " █████▄ \n █ \n █ ▄▀▀▀▀▀▄ \n █▀ ▀▄ \n █▄▀▀█▀▀▄ █ \n █ ▄█▀▀▀▀█▀ █ \n █ █ █ █ \n█▄▄█▄▄▄█▄▄█▄▄▄█▄"], ["walk_1", " █████▄ \n █ ▄▀▀▀▀▀▄ \n █ ▄▀▄▄▄ ▀▄ \n █▄▄▀█▀██▀█▄ ▀▄\n█ █ ▀▀▀▀▀▀▀ ▄ █\n █▀▄ ▄ █▀▀ █\n █ █ █▄ ▀▄ █\n █ ▀█ █▄▀▄▀▄█▀▄█"], ["walk_2", " ▄▄▄▄ \n ▄▀▀▀▀▀▀███▄ \n ▄▀▄▄▄▄ ▀██▀ \n ▀█▀██▀█▄ ▄█▀▄ \n ▄▀▀▀▀▀▀██▀▄ █ \n █ ▀█▀▄█▀▄▄▀ █ \n ▀▄ █▄▀ █ █ \n ▄█▀▄▄▀▄▄█▀▄█ "]]], + ["phascomon", [["angry", " \n ▄▄ ▄▄ \n▄▀▀█▄▀▀▀▀▄█▄▀▀▄ \n███ ▄▄ ▀██ █\n█▀█ ████ ▄█▀██ █\n ▀▀▄▀██▀ ▄█▄▀ \n █▀▀▀▀█▀▀▄ \n █▄▀▄█▄▄█▄█ "], ["attack", " \n ▄▄█▀▄▄▄▄▀█ ▄▄ \n█▄▄▀▀▄▄ ▀▀█▄▄▀▄\n███ ████ ▄█ ██ █\n▀▄█ ▄██▄▄ █▀▄▀\n ▀███▀▀█▄▀█▀ \n ▄████▀ ▄ █ \n █▄█▄▄█▄▀█▄▀ "], ["eat_1", " \n ▄▄█▀▄▄▄▄▀█ ▄▄ \n█▄▄▀▀▄▄ ▀▀█▄▄▀▄\n██▀ ████ ▄▀▄██ █\n▀█ ▄▄██▄▄ █▀▄▀\n ▀▄████▀▀█ ▄▀▀ \n █ ▄█▀▀█▀▀▄ \n ▀▀▄▄█▄▄█▄█ "], ["eat_2", " \n ▄▄ ▄▄ \n▄▀▀█▄▀▀▀▀▄█▄▀▀▄ \n███ ▄▄ ▀██ █\n█▀█ ████ ▄▀▄██ █\n ▀▀▄▀██▀ ▄█▄▀ \n █▀▀▀▀█▀▀▄ \n █▄▀▄█▄▄█▄█ "], ["happy", " ▄▄ ▄▄ \n▄▀▀█▄▀▀▀▀▄█▄▀▀▄ \n███ ▄██▄ ▄▀██ █\n█▀█ ▀██▀ ▀ ▀██ █\n ▀█ █▀████ ▄█▄▀ \n █▀▀▄▄██▄▀▀▀▄ \n ▀▀▄ █▀ \n █▄▀▀▀▀▄█ "], ["injured_1", " \n ▄▄ ▄▄ \n▄▀▀█▄▀▀▀▀▄█▄▀▀▄ \n███ ▄▄ ▀██ █\n█▀█ ████ ▄▄▄██ █\n ▀▀▄▀██▀ ▄█▄▀ \n █▀▀▀█▀▀▄ \n █▄█▄█▄▄█▄█ "], ["injured_2", " \n \n ▄▄█▀▄▄▄▄▀█ ▄▄ \n█▄▄▀▀ ▀▀█▄▄▀▄\n███ ▄██▄ ██ █\n▀▄█ ████ ▀▀▀█▀▄▀\n ▀▄██▄▄▄▄█▀▀ \n █▄█▄█▄▄█▄█ "], ["sleep_1", " \n \n ▄▄▄▄▀█▄▄ \n ▄▄▀ ▀█▄▄▀▄ \n████ ██ █ \n████ ▀▀▀ █▀▄▀ \n ▀▀▄▄▄▄▄▄▀▀▀█ \n █▄█▄▄▄▄▄█▄▄█ "], ["sleep_2", " \n ▄▄ \n ▄▀▀▀▀▄█▀▀▄ \n ▄██▄ ▀██ █ \n ████ ▄▄▄ ██ █ \n ▀██▀ ▄█▄▀ \n ▄███▀▀▀ ▀▄ \n █▄█▄▄▄▀▄▄█▄█ "], ["walk_1", " \n ▄▄█▀▄▄▄▄▀█ ▄▄ \n█▄▄▀▀ ▀▀█▄▄▀▄\n███ ▄██▄ ▄▄▄██ █\n▀▄█ ████ ▀▀ █▀▄▀\n ▀▄██▄▄▄▄█▀▀ \n ▄▀▄ ▄ ▀▄ \n █▄▀▄█▄▄█▄█ "], ["walk_2", " \n ▄▄ ▄▄ \n▄▀▀█▄▀▀▀▀▄█▄▀▀▄ \n███ ▄▄ ▀██ █\n█▀█ ████ ██▀██ █\n ▀▀▄▀██▀ ▄█▄▀ \n █▀▀▀▀▀▀▀▄ \n █▄██▄█▄▄▀ "]]], + ["phoenixmon", [["angry", " █▀█▄▀█▄▀█ \n▄▄ ▀▄ ▀ ▀ ▄▀▄▀▀█\n█ ▀█ ▄▀ █▀ █\n█ █ ▄▄ █ █\n█ █▄▀▄▄ ▄ █ █\n▀▄▀▄ █ █ █▄▀\n █▀▀▀▀▄▄▄▀ ▀▀▄ \n █▄▀▀▄█ █▄▀▀▄█ "], ["attack", " ▀█▀▀▀▄▄▄▀▀█ \n █▄ ▄▄▀▄█▄ \n ███ ▄▄▀ ▄▄\n█▀▄█▀▀▀ ▄ ▀█▀ █\n█ ▀█▀ ▀▀ █\n█ █ █ ▄█ █ █\n█ █▀▀▀▄▄▄▀ ▀▀█ █\n▀▀█▄▀▀▄▀▀▄▀▀▄█▀▀"], ["eat_1", " ▀█▀▀▀▀▄▄▄▀▀█ \n ▀█▄ ▄ ▀▄█▀ \n ██▄ █ ▄▄█ ▄▄\n█▀▄▄███ ▄ ▀▄▀ █\n█ ▀▄▄ ▀▀▀ █\n█ ▄ █ ▄█ █ █\n█ █▄▀▀ ▀█▀ ▀▀█ █\n▀▀ █▄▀▀▄█▄▀▀▄█▀▀"], ["eat_2", " █▀█▄▀█▄▀█ \n ▀▄ ▀ ▀ ▄▀ \n▄▄ █ ▄▀▀▄ █ ▄▄\n█ █ ▄▄ ▀▄▄▀ █\n█ █▄▀▄▄▄ ▀ █\n█ ▀ █ █ █ █\n█ █▄█▀▀▄▀ ▀▀▄█ █\n▀▀ █▄▀█▄▀▀▄█ ▀▀"], ["happy", " ▀█▀▀▀▀▄▄▄▀▀█ \n ▀█▄ ▄ ▀▄█▀ \n█▀▄ ██ █ ▄▄█▀█\n█ ▀▄█▀ ▀ ▄ ▀▄ █\n█ ▀▄▄ ▀▄▀▀▀ █\n█ █ █ █ █ █\n▀▄█▀▀▀▄▄▄▄▀▀▀█▄▀\n █▄▀▀▄▀▀▄▀▀▄█ "], ["injured_1", " █▀█▄▀█▄▀█ \n ▀▄ ▀ ▀ ▄▀ \n █ ▀▄▄ █ \n █ ▄▄ ▀▄▀▀▄ \n▄▀█▄▀▄▄▄ █\n█ ▀ █ █ █ █\n█ █▄▀▀▀▄▄▄▀▀▀█ █\n▀▀ █▄▀▀▄█▄▀█▄▀▀▀"], ["injured_2", " ▄▄▄▄▀▀█▄▄ \n ▀▄ ▀ ▀ ▄▀ \n █ █▄ █▄▄ \n █ ▄▄ ▀ ▀▄ \n █▄▀▄▄▄ █ \n ▄▀▄ █ █ ▄ █\n █▄▀▀▀▄ ▄ ▀▀█ █\n ▀▄█▀▄▀█▄▀█▄█▀▀"], ["sleep_1", " ▄▄▄ ▄▄ ▄▄ \n █ ▀█ █▀ █▄▄ \n ▄▀ ▄ █▀ ▀▄ \n ▄▀ ▀▀ ▀ █ \n █ ▄▀▀ █ \n █▀▄▀█▀ █ ▄▀ \n ▄▀▀ ▀▄▄▀ ▀▀▄ \n █▄▀▀▄▀▀▄▀▀▄█ "], ["sleep_2", " █▀█▄▀█▄▀█ \n ▀▄ ▀ ▀ ▄▀▄▄ \n █ ▄▄▀ █▀ █ \n █ ▄▄ ▀ █ \n █▄▀▄▄ █ \n ▀▄ █ █ ▄▀ \n ▄▀▀▀▄▄ ▀▀▄ \n █▄▀▀▄█▄▀▀▄█ "], ["walk_1", " █▀█▄▀█▄▀█ █▀▄▄ \n ▀▄ ▀ ▀ ▄▀ █ █ █\n █ ▄▀█▀ █▄▀ ▄▀ █\n█ ▄▄ ▀ ▄▀█\n█▄▀▄▄▄ ▄ ▄▀ \n▀ ▀▄▄▀▄ ▄▀▀▄ \n ▀█▀▄ █ \n ▀▄█▄▄█ "], ["walk_2", " ▄▄▄ ▄▄ ▄▄ ▀\n █ ▀█ █▀ █ ▀ \n ▄▀ ▄▄▄ █ ▀ ▄\n▄▀ ▀ ▀ █▀▀▀▀▄ \n█ ▄▀▀ ▄▄ ▀▄\n█▀▄▀██ █ █ █\n ▀▄█ █▄▄▄▀█ █ █\n ▀▀ ▀▄█▄█▄▀▀ "]]], + ["phoenixmon_x", [["angry", " ▄▄▄▄▄▄▄ \n ▄▀▀ ▄ █▄ ▀▀▄ \n█ ▀▀ ▄▀ ██▀ \n█ ▄▀▀▀ ▀▄▀ ▀▄ \n ▀▀▀▀▀▄▄▀ █ ▄ █ \n █▀ ▄▀ ▄██▄ \n ▀▀█ ▄▀▀▄ ▀█\n ▀ ▀▀ "], ["attack", " ▄▄▄▄▄▄▄▄█▀▄▄ \n▄▀▀ ▄ █▄▀█ █ █\n█ ▄▄▀▀ ▄▀ █ ▄▀ █\n▀▀████ ▀▄▀ ▄▀█\n ███▀▄ ▄▄▀ \n ▀▄▄▀▀▄ ▄▀██▄▄ \n ▀▄ ▀▄ ▀█\n ▀▀ "], ["eat_1", " ▄▄▀▀▀▀▀█▀▀▄ \n █ ▄ ▄▀▄ █▄▄▀ \n ▀███▄ █▄▀▄▄\n█▀▄█▀▀▀▄▀ █▀ ▀▀█\n█ ▀▀▀ ▀ ▄ █ █\n█ █ █ ▄█ █ █\n█ █▄▀▀ ▀█▀ ▀▀█ █\n▀▀ █▄▀▀▄█▄▀▀▄█▀▀"], ["eat_2", " ▄▄▀▀▀▀█▀▀▄▄ \n ▄▀ ▄▀▄ █▀▄▄▄▀\n █ ▄▄▄ █ ▄▀▀ \n█▀▀▄█▄▄▄▄ █▄▀▀▀█\n█ ▄ ▄ █ █\n█ █ █ ▄█ █ █\n█ █▄▀▀ ▀█▀ ▀▀█ █\n▀▀ █▄▀▀▄█▄▀▀▄█▀▀"], ["happy", " ▄▄▀▀▀▀█▀▀▄▄ \n▄▀ ▄▀▄ █▀██ █▀▄\n█ ▄▄▄▄ ▄▀▀▄▀ █ █\n ▀████ ▀▄▀ ▀ ▄█\n █▀▀ ▄▀ ▀▄▀\n ▀▀▀█ ▄▄█▀ \n ▀▄▀ █▀▀█▄\n ▀▄▄▀ ▀"], ["injured_1", " \n ▄▄▄▄▄▄▄ \n ▄▀▀▄ █▄ ▀▀▄ \n █ ▀▀ ▄▀ ██▀▄ \n▄█ ▄▀▀▀ ▀ ▄ █\n█ ▀▀▀█▀ █ ▄ █\n█ █▄▀▀▀▄▄▄▀▀▀█ █\n▀▀ █▄▀▀▄█▄▀█▄▀▀▀"], ["injured_2", " \n \n ▄▄▀▀▀▀█▀▀▄▄ \n ▄▀ █▄ █▀▄▄▄▀ \n █ ▄▄▄ █ ▀▄ \n ▀▄█▄▄▄█▀▄ ▀▄▀▄ \n █ █ ▀█ █ ▀▄█ \n ▀▀ █▄▀▄▀█▄▀▄██ "], ["sleep_1", " ▄▄▄▄▄▄▄ \n ▄▀▀ █▄ ▀▀▄ \n█ ▀▀▀▄▀ █▀▀▄ \n█ ▄▀▀▀ ▀▄▀ █ \n ▀▀█▀█▄ ▀ ▄ █ \n █ █ █ ▄▀ \n ▄▀▀▀▄▄▀ ▀▀▄ \n █▄▀▀▄█▄▀▀▄█ "], ["sleep_2", " ▄▄▀▀▀▀█▀▀▄▄ \n▄▀ ▄▄▄ █▀▄▄▄▀ \n█ ▄▄▄ █ ▄▀▀ ▀▄ \n▀▄█▄▄▄ █ █ \n █ ▄█▀ █ █ \n █ █ █ ▄▀ \n ▄▀▀▀▄▄▀ ▀▀▄ \n █▄▀▀▄█▄▀▀▄█ "], ["walk_1", " ▄▀▀█ ▄▄ \n ▄▄▀▀▀▀█▀██ █▀▄\n▄▀ ▄▀█▀ █▀▄▀ █ █\n█ ▄▄▄ █ ▄▀ ▀ ▄█\n▀▄█▄▄▄ ▀ ▀▄▀\n █ ▄▄█▀ \n ▀▄▀ █▀▀█▄\n ▀▄▄▀ ▀"], ["walk_2", " ▄▄▄▄▄▄▄ \n ▄▀▀▄▄▄ █▄ ▀▀▄ \n█ ▀ ▀ ▄▀ ██▀ \n█ ▄▀▀▀ ▀▄▀ ▀▄ \n ▀▀▀▀▀▄▄▀ █ ▄ █ \n █▀ ▄▀ ▄██▄ \n ▀▀█ ▄▀▀▄ ▀█\n ▀ ▀▀ "]]], + ["pichimon", [["angry", " \n \n ▄▄▄▄▀ \n ██▄▄██ \n ▄▄███ \n ▄▀▄▀ \n ▀ \n ▄▄▄▄ "], ["attack", " \n \n ▄▄█▄▀ \n ▀▀▀▄█▄ \n ██ \n ▀▀▀█▀█ \n ▀▄▀ \n ▄▄▄▄▄ "], ["eat_1", " \n \n ▄▄▄▄▄▀ \n ▀▄█▀█▄▀ \n ▀███ \n ▀▀█▀█ \n ▀▄▀ \n ▄▄▄▄ "], ["eat_2", " \n \n ▄ ▄ \n ▄▀█▀█▄ \n █▀▀▀███ \n ▀▀█▀█ \n ▀▄▀ \n ▄▄▄▄ "], ["happy", " ▀ \n ▀ ▀ \n ▄ ▄ \n ▄▀██▀▄ \n ██ ██ \n ▀█▀█ \n ▀▄▀ \n ▄▄▄▄ "], ["injured_1", " ▀ \n \n ▀ \n \n ▀▄▄▄▄▄▀ \n █▀▀█▀▀█ \n ▀▀███▀▀ \n ▀▄▀ "], ["injured_2", " \n \n \n \n \n ▄ ▄ \n ▄████▄ ▄ \n ▄█▄▄██▄▄█▄▀ "], ["sleep_1", " \n \n \n \n \n ▀▄▄▄▄▀ ▄ \n ▄▀▀█▀▀█▀▄▀ \n ███▄███▀ "], ["sleep_2", " ▄ \n \n ▀ \n ▄ \n \n ▄ ▄ \n ▄████▄▄▀▄ \n ▄█▄▄█▄▄█▄▀ "], ["walk_1", " \n \n ▄ ▄ \n ▄████▄ \n █▄█▄██ \n █▀█ \n ▀▄▀ \n ▄▄▄▄ "], ["walk_2", " ▀ \n ▀ \n ▄ \n ▄ ▄ \n ▄▀██▀▄ \n ██▀▀██ \n █▀█ \n ▀▄▀ "]]], + ["pickmon", [["angry", " \n \n ▄▀▀▄ \n █▄█▄▀ ▄▄██▀▄█ \n █ █ ▀▄▀ █▀█▀ █ \n ▀▄▀▀▀▄▀▀ █ ▄▀ \n █▄▀▀ ▀▀▄ ▀█ \n █▄███▀▀▀▀███▄█ "], ["attack", " \n \n▄ ▄▄ \n█▀▄▀ ▀▄█ ▄ \n███▄ ▄███▄▄▀█ \n█▀██▀██▀ █ █ \n█ ▄▄▄ ▀▄█ \n▀▄▄█▄▄▄█▄▄▄▀ "], ["eat_1", " \n ▄▀▀▄ \n █▄█▄▀ ▄▄██▀▄█ \n █ ███▄███▀█▀ █ \n ▀▄▀ ▀▄▀▀ █ ▄▀ \n █ ▄███▄ ▀█ \n ▀▄█████▄▄▄▄▀ \n █▄▄▄▀ ▀▄▄▄█ "], ["eat_2", " \n ▄▄ \n ▄ ▄ ▄▀ ▀▄▄▄ ▄ \n █▀█▀▄ ▄▀███▄▀█ \n █▀▄█▄▀▄█▄▀█ █ \n █ ▄▄▀▄▄ ▀▄█ \n ▀▄█▄▄▄█▄▄▄▄▀ \n █▄▄▄▀ ▀▄▄▄█ "], ["happy", " \n ▄▀▀▄ \n █▄█▄▀ ▄▄██▀▄█ \n █▄▀▄▀▄▀▄▀██▀ █ \n ▀▄▀▀▀▄▀▀▀ █ ▄▀ \n █ █████ ▀█ \n ▀▄▄███▄▄▄▄▄▀ \n █▄▄▄▀ ▀▄▄▄█ "], ["injured_1", " \n \n ▄▄ \n ▄ ▄▀ ▀▄ ▄ \n █▀██▄ ▄▄███▄▀█ \n █ █▀ █ ▀█ █ █ \n █ ▀▀▄▀▀ ▀▄█ \n ▀▄▄█▄█▄▄▄▄▄▀ "], ["injured_2", " \n \n \n ▄▀▀▄ \n▄▄▄▄▄▀ ▄█▄▄▄▄▄\n █ ██▀▄▀██▀█ █ \n ▀▄▀▄▄▀▄▄▀ █ █ \n █▄▄▄▄█▄▄▄▄▄█▄█ "], ["sleep_1", " \n \n ▄▄ \n ▄ ▄▀ ▀▄ ▄ \n █▀██ ▄███▄▀█ \n █ ███▄███ █ █ \n █ ▀▀▄▀▀ ▀▄█ \n ▀▄▄█▄█▄▄▄▄▄▀ "], ["sleep_2", " \n \n ▄▄ \n ▄ ▄ ▄▀ ▀▄▄▄ ▄ \n █▀██▄ ▄████▄▀█ \n █ ███▀██▀ █ █ \n █ ▄▀▄ ▀▄█ \n ▀▄█▄▄▄█▄▄▄▄▀ "], ["walk_1", " \n ▄▄ \n ▄ ▄ ▄▀ ▀▄▄▄ ▄ \n █▀██▄ ▄██▄█▄▀█ \n █ █▀█▀██▀ █ █ \n █ ▄▀▄ ▀▄█ \n ▀▄█▄▄▄█▄▄▄▄▀ \n █▄▄▄▀ ▀▄▄▄█ "], ["walk_2", " \n \n ▄▀▀▄ \n █▄█▄▀ ▄▄▀█▀▄█ \n █ ███▄███▀█▀ █ \n ▀▄▀ ▀▄▀▀ █ ▄▀ \n █ ▄▀ ▀▄ ▀█ \n █▄███▀▀▀▀███▄█ "]]], + ["piddomon", [["angry", " ▄▄▄ \n ▄▀▀▀▀▀▀▄█ ▀▄ \n █ ▄█▄ ▀▄\n █ █ ▀▄▀▄█\n ▄█▀▀▀▀▀ █▄▀▀▄ ▀\n █ ▀▄▄▄▄██▄█▄ █ \n █▀▄▄█▄▄▄▄█▄▄▀ \n █▄▄█▄▄▀▄▄▄▄▄█ "], ["attack", " ▄▀▀▀▀▀▀▄█▀▄ \n █ ▄▄█ █\n▄▄ █▀▀▀ █ █ ▄ █\n█ ▀█▄▄▄▄█▀█ ▄▀▄█\n▄▀▀ ▀▄▄█ █▀ ▀\n█▄▀█▀▀▀ █▀ \n ▄▄▀█▀▀█▀ ▀▄▄▄ \n█▄█▄█▄▄▀█▄█▄▄█ "], ["eat_1", " ▄▀██▀▀▀▄▀█▀▄ \n █▄▄▄▄▄ █▀ █ \n ▀█████▀▄█ ▀▄ █\n ▄████▀ █▄▀ ▀█\n▄▀▀▄▄▄▄▄▀▀▀▀▀▄ \n█ ▀█ █▀ █ \n █▀█▀▀█▀▀▀▀█▀ \n█▄▄█▄▄▀▄▄▄▄▄█ "], ["eat_2", " ▄▄▄▄▄▄ \n▄▀ ▀▄▀█▄ \n█ ▄▀█▄▀ █ \n█▄▄▄▄▄ █ █ ▄ █ \n▀▄ ▄█▄▀▄▄▀▄█ \n█ █▀█▀▀▄▄ █ ▀ \n▀▄▄▄▀▄▄▄▄▄▀▄▄ \n█▄▄█▄▄▀▄▄▄▄▄█ "], ["happy", " ▄▀▀▀▀▀▀▄ ▀█▄ \n █ ▀▀▀▀ ▄▄█▄▀ █ \n ▀▄▄▄▄▄▀▄ █ ▄ █\n ▄█▄▄▄▄▀ █ ▄▀▄█\n ▄▀▄▄▄▄▄▀▀▀█ ▀\n█ ▄ █▄ █ \n▀▄▀█▀▀█▀▀▀▄▄█ \n█▄▄█▄▄▀▄▄▄▄▄█ "], ["injured_1", " \n ▄▀▀▀▀▀▀▄ \n █ █▀▄▄ \n █ ▄▀▀█ ▀▄\n ▀█▀▀ █ ▄▄▀▄▀▄ █\n ▄▀█▀▀▀▀ █ ▀█\n █▄▀▄▄▄▄▄█ █ \n █▄▄█▄▄█▄█▄▄▄█ "], ["injured_2", " \n ▄▄▄▄▄▄ \n ▄▀ ▀▄▄ \n █ ▄▄█ ▀▀▄ \n █▄▄▄ ▄▀ █▄▄ █\n ▄▀▄▄▄█▄▀▀ █▀▄█\n █▄▀▄▄▄▄▄█ █ ▀\n █▄▄█▄▄█▄█▄▄▄█ "], ["sleep_1", "▄▄ ▄▄▄▄▄▄ \n█ ▀█▀▀▄▀▄▀ █ ▀▄\n█▀██ ▀█ █ █ █\n█▄▄█▄ █▄▄█ ▄▄ █\n█▀ ▄▀▀ ▀▀▄ ▀▀█\n▄▀ ▄▀\n█ ▄ ▄█ ▄▄ █\n ▀▀▀ ▀▀ ▀▀ ▀▀ "], ["sleep_2", " ▄▄ ▄▀█▀█▀▀▄ \n█▀▄█ ▄█ █ █ █\n█▄▄█ █ ▀▄ ▀ █\n█▄▀▀▀▄█▄▄▀▀▀▀▀▄█\n█ ▀ ▀ ▄▀\n▀▄ █\n█ ▄▀▄▄█▄ ▄▀\n ▀▀▀▀ ▀▀▀ "], ["walk_1", " ▄▀▀▀▀▀▀▄ ▀█▄ \n █ █▄▀ █ \n █▀▀▀▀▀▀ ▄▀▄ ▄ █\n █▀▄▄▄▄▀█▄▄█▄▀▄█\n ▄▀▄▄▄▄▄▄▀ █ ▀\n█ ▄ ▀ █▄ █ \n▀▄▀█▀▀█▀▀▀▄▄▀ \n█▄▄█▄▄▀▄▄▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄ ▀█▀▄ \n ▄▀ ▀▄▀ █ \n █▄▄▄▄▄▄ █ ▀▄ █\n █▄ ▄▄▀ █▀ ▀█\n▄▀▄▀▀▀▀ ▀█▀▀▄ \n█ ▄▀▀█▀▀▀██▄ █ \n █▀▄▄▄▄▄▄▄█▄▄▀ \n█▄▄█▄▄▀▄▄▄▄▄█ "]]], + ["piedmon", [["angry", " ▄▀▀▀▀▀▀▀▀▄ \n █▄▄▄▄▄▄▄▄▀▀█▄\n ▄▀ ▄█▄ █ ▀▀\n █▄█ ▄ █ \n ▀▄█████▄▄▄▀ \n ▄▀▄▀▄▄▀▄▄ ▀▄ \n ▀▄▀▀ ▀ ▀▄▄▀ \n █▄▄▄█▀▀▄▄▄▄█ "], ["attack", " ▄▄ ▄▀▀▀▀▀▄ \n █▄█▀ ▀█▀▄ ▀▄ \n █▄▄▄ ▀█▀ █ ▄▄█ \n ▀▄▀█▄ ▀▄▀ ██\n █ ██ ▄▀ \n █▀▀▀▀ ▄▄▀ ▀▀▄ \n█ ██▀▀▀ ▀▀▄▄▀ \n █▄▄▄█▀▀▀▄▄▄▄█ "], ["eat_1", " ▄▄ ▄▀▀▀▀▀▄ \n █▄█▀ ▀█▀▄ ▀▄ \n █▄▄▄ ▀█▀ █ ▄█ \n ▀▄▀█▄ ▀█ ██\n ▄▄ █ ██ ▄▀ \n█ ▄▀▀▀▀ ▄▄▀ ▀▄ \n ▀▄▀█▀▀▀ ▀▄▄▀ \n █▄▄▄█▀▀▀▄▄▄▄█ "], ["eat_2", " ▄▀▀▀▀▀▀▀▀▄ \n █▄▄▄▄▄▄▄▄▀▀█▄\n ▄▀ ▄█▄ █ ▀▀\n █▄█ ▀ ▄ █ \n █▄▀▀▀▀█▄▄▄▀ \n █ ▀█▀▀ █▄ ▀▄ \n ▀█▀▄▀▀▀▄▀▄▄▀ \n █▄▄▄█▀█▄▄▄▄█ "], ["happy", " ▄▀▀▀▀▀▀▀▄ \n ▄▀█▀▀▀█▀▀▄ █ \n █▀▀ ▀▄▀ █▄█ \n ▀█▀███ █ ██\n▄▀▀▄█ ███ ▄▀▀▄ \n▀▄▄▄▀▀▀▀ ▄▀ ▄▄▀ \n ▄▄█▀▀▀▀ █▄▄ \n █▄▄▄██▀▀▀▄▄▄▄█ "], ["injured_1", " ▄▄▄ ▄▄▄ \n ▄█▄ ▀▀▀▀ ▄▀█▄\n ▀▀█▀▀▀▀▀▀▀▀█ ▀▀\n ▄▀▄█▄ ▄█▄ ▀▄ \n ▀▄ ▀ ██ ▀ ▄▀ \n ▄▀██▀▀▀▀█▀▀▄ \n █▄▄ █▀▀█ ▄▄█ \n █▄▄▄█▄▄▄▄█▄▄▄█ "], ["injured_2", " \n ▄▀▀▀▄▄▄▄▀▀▀▄▄ \n███▄▄▄▄▄▄▄▄█ ██ \n ▄▀ ▄ ▄ ▀▄ \n█ ▀█▀▄▄ ▀█▀ █ \n ▀▄▄▄██▄▄▄▄▄▀ \n ▄▀▄▀▄▄▄▀▄ █▀▀▄ \n █▄▄█▄▄▄█▄▄▄█▄█ "], ["sleep_1", "▄▄▀▀▄▄ ▄▄▀▀▄▄\n▀▀▀▄ ▀▀▀▀ ▄▀▀▀\n ▄▀▄▄▄▄▄▄▄▄▀▄ \n █ ▄█▄ ▄█▄ █ \n ▀▄ ██ ▄▀ \n ▄█▀██▀▀▀▀██▀█▄ \n██ ██ ██ ██\n ▀█▄██▄▄▄▄██▄█▀ "], ["sleep_2", " ▄▄▀▀▀▄▄▄▄▀▀▀▄▄ \n██ █▄▄▄▄▄▄▄▄█ ██\n ▄▀▄█▄ ▄█▄▀▄ \n █ ██ █ \n ▀▄▄▄▄▄▄▄▄▄▄▀ \n ▄█▀▄█▀ ▀█▄▀█▄ \n ██ ██ ██ ██ \n ▀█▄██▄▄██▄█▀ "], ["walk_1", " ▄▄▀▀▀▄▄▄▄▀▀▀▄▄ \n██ █▄▄▄▄▄▄▄▄█ ██\n ▄▀▄█▄ ▄█▄▀▄ \n █ ▄ ▀ ██ ▀ ▄ █ \n ▀▄███▄▄███▄▀ \n ▄▀ ▄▀▄▄▄▄▀▄ ▀▄ \n ▀▄▄▀▀ ▀▀▄▄▀ \n █▄▄▄▄█▀▀█▄▄▄▄█ "], ["walk_2", " ▄▄▄ ▄▄▄ \n▄█▀▄ ▀▀▀▀ ▄▀█▄\n▀▀ █▀█▀▀▀▀█▀█ ▀▀\n ▄▀ ▀█▀▄▄▀█▀ ▀▄ \n ▀▄▀▄▄▄▀▀▄▄▄▀▄▀ \n ▄▀▀█▀▀▀▀█▀▀▄ \n █▄▀▄▀▀▀▀▄▀▄█ \n █▄▄▄▄█▄▄█▄▄▄▄█ "]]], + ["piranimon", [["angry", " \n █▄ \n ▄ ▄ █ ▀█▄ \n▀▄██████▄▄▀█▄ \n███▀ ██▀▀ ▀▄ ▄█▄\n█▀█▀▀█▄▄▄ ▄▀▀ █\n █▄█▀▀▄ ▄▀█ ▀▀ \n ▀▄▀ "], ["attack", " █▄ \n ▄ ▄ █ ▀█▄ \n▀▄██████▄▄▀█▄ \n██▀ ███▀▀ ▀▄ ▄█▄\n█▀█▀▀█▄▄▄ ▄▀▀ █\n ██ ▀█▀ ▀▀ \n ▄ ▄█ ▀▄▄▀ \n ▀▀▀ █▄▀ "], ["eat_1", " █▄ \n ▄ ▄ █ ▀█▄ \n▀▄██████▄▄▀█▄ \n██▀ ▄██▀▀ ▀▄ ▄█▄\n█▀█▀▀█▄▄▄ ▄▀▀ █\n █▄ ▄▀█ ▀▀ \n █▄█▀ ▀▄▀ \n "], ["eat_2", " ▄ \n ▄▀█▄ \n▄ █▄█▄█▄ ▀█▄ \n▄██▀▄▀███▀▄▀▀ ▄ \n██████▀ ▀▄█▀█\n▀▄▀▄▄█▀▀▀▄▄▀ ▄▄▀\n ▀▀▀ ▀▄▀▄▀ \n ▀ "], ["happy", " ▄ █▄ ▄▀▄ \n ▄ ▄ █ ▀█▄ ▀ \n▀▄██████▄▄▀█▄ \n██▀▄▀██▀▀ ▀▄ ▄█▄\n█▀█▀▀█▄▄▄ ▄▀▀ █\n █▄ ▄▀█ ▀▀ \n █▄█▀ ▀▄▀ ▄ \n ▀▄▀"], ["injured_1", " \n ▄▀▄ ▄ \n ▀ ▄▀█▄ \n▄ █▄█▄█▄ ▀█▄ ▀ \n▄██▀█████▀▄▀▀ ▄ \n███▄▄█▀ ▀▄█▀█\n▀▄▀▄▄█▀▀▀▄▄▀ ▄▄▀\n ▀▀▀ ▀▀▄▄▀ "], ["injured_2", " ▄ \n ▀▄▀ \n ▀ █▄ \n ▄ ▄ █ ▀█▄ \n▀▄██████▄▄▀█▄ \n███ ▀██▀▀ ▀▄ ▄█▄\n█▀█▀▀█▄▄▄ ▄▀▀ █\n █▄█▀▀▄▄▄██ ▀▀ "], ["sleep_1", " ▄ \n ▄▀█▄ \n▄ █▄█▄█▄ ▀█▄ \n▄██▀▀████▀▄▀▀ ▄ \n██████▀ ▀▄█▀█\n▀▄▀▄▄█▀▀▀▄▄▀ ▄▄▀\n ▀▀▀ ▀▄▀▄▀ \n ▀ "], ["sleep_2", " █▄ \n ▄ ▄ █ ▀█▄ \n▀▄██████▄▄▀█▄ \n███▄▄██▀▀ ▀▄ ▄█▄\n█▀█▀▀█▄▄▄ ▄▀▀ █\n ▄ ▄█▀▄ ▄▀█ ▀▀ \n ▀▀▀ ▀▄▀ \n "], ["walk_1", " ▄ \n ▄▀█▄ \n▄ █▄█▄█▄ ▀█▄ \n▄██▀▀████▀▄▀▀ ▄ \n██▄▄██▀ ▀▄█▀█\n▀ ▀ ▄█▀▀▀▄▄▀ ▄▄▀\n █▄█▀ ▀▄▀▄▀ \n ▀ "], ["walk_2", " █▄ \n ▄ ▄ █ ▀█▄ \n▀▄██████▄▄▀█▄ \n██▀ ▄██▀▀ ▀▄ ▄█▄\n█▀█▀▀█▄▄▄ ▄▀▀ █\n ▄ ▄█▀▄ ▄▀█ ▀▀ \n ▀▀▀ ▀▄▀ \n "]]], + ["piximon", [["angry", " ▄▀▀▄ \n ▄▀▄▄▀▀▄\n ▄█▄▀ ▄▄▀▀\n ▄▀▄▄ █▀ \n █ █ \n ▀▄▀▀▀▀▄▀ \n \n ▄▄▄▄▄▄ "], ["attack", " ▄▄▀█ \n ▄▄▄▄▄▀▀▄▄▄▀ \n █ ▄█ █▄ ▀▄ \n ███▄ █ ▀▄▄█ \n ███ █ \n ▄███ █ \n ▀▄▀▀▀▀▄▀ \n ▄▄▄▄▄▄▄▄ "], ["eat_1", " ▄▄▄ \n ▄▀▀▄▄▀█\n ▄▀▀▀▀▄▀▀ ▄▄▀\n ▀█▄▀ █▀▀ \n ▄███ █ \n ▀▄▀▀▀▀▄▀ \n \n ▄▄▄▄▄▄ "], ["eat_2", " ▄▀█ \n █ ▄▀█ \n █ █ ▄▀ \n ▄▄██ ▄▀ \n █ ▄ █ \n ▄█▄▄▄▄█▄ \n \n ▄▄▄▄▄▄ "], ["happy", " █▀▄ ▄▀█ \n █ ▀▄ ▄▀ █ \n █ █ █ █ \n ▀▄▀▀▀▀▄▀ \n ▄▀▀ ▀▀▄ \n ▀▄████▄▀ \n ▀▄▀▀▀▀▄▀ \n ▄▄▄▄▄▄▄▄ "], ["injured_1", " \n \n \n \n \n \n▄▀▀▀▄▀▀▀▀▀▀▄▀▀▀▄\n█▄▀▀▀▄█▄▄█▄▀▀▀▄█"], ["injured_2", " \n \n \n \n \n \n ▄▄▄▀▀▀▀▀▀▄▄▄ \n▄█▄▄█▄█▄▄█▄█▄▄█▄"], ["sleep_1", " \n \n \n \n \n ▄▄▄ ▄▄▄▄ ▄▄▄ \n▄▀ ▄█▄ ▄█▄ ▀▄\n█▄▀▀▀▄▄▄▄▄▄▀▀▀▄█"], ["sleep_2", " \n \n \n \n \n \n \n "], ["walk_1", " █▀▄ ▄▀█ \n ▀▄ █ █ ▄▀ \n ▀▄ █▄▄▄▄█ ▄▀ \n ▀█▄ ▄█▀ \n ▄▀▄▄▄▄▀▄ \n ▀ ▀ \n \n ▄▄▄▄▄▄ "], ["walk_2", " \n▄▄ ▄▄\n█ ▀▀▄ ▄▀▀ █\n ▀▀▄▄█▀▀▀▀█▄▄▀▀ \n ▄▀▀ ▀▀▄ \n ▀▀▀▀▀▀ \n \n ▄▄▄▄▄▄▄▄ "]]], + ["platinumnumemon", [["angry", " \n █▄█ ▄ ▄ █▄█ \n ▀▄██▀ ▀██▄▀ \n ▄█▄ ▄▀ ▄▄ \n▄▀ ▄▀██▀▀█▀ ▀▄\n█ █▄▀ ▄▄ ▀▄█ █\n▀▀█▀▀▀▀▀ ▀ ▀▄\n ▀█▄▄▄▄▄▄▄▄▀▀▀ "], ["attack", " █▄█ ▄ ▄ █▄█ \n ▀▄██▀ ▀██▄▀ \n█▀▄▀▄ ▄▀ ▄▀▀█\n█▀ ▀▄▀██▀▀█▀ ▀█\n▀▀▄▄▀ ▄▄ ▀▄▄▀▀\n ████████ ▀▄ \n ▄█▀ ▄██▀ █\n █▄▄██▄▄▄▄▄▀▀▀ "], ["eat_1", " █▄█▄█ █▄█▄█ \n ▀▄█▄▀ ▀▄█▄▀ \n ▄▄ █▀██▀▀█ ▄▄ \n█ ▄█ ▄▄ █ ▄▀▄\n█▄▀███████▄ ▀█▄█\n ██▀▀▀▀██ ▀█ \n ██ ▄▄▄▀ █\n ▀▄▄▄█▄▄▄▄▄▀▀▀ "], ["eat_2", " ▄ ▄ ▄ ▄ ▄ ▄ \n █▀█▀█ █▀█▀█ \n ▀▀█▀▀ ▀▀█▀▀ \n ▄▀▀▀▄▄▄▄█▄▄▀▀▄ \n█ ▄ █ ▀▀ ▀▄ ▄ █\n▀▀ █ ▀█▀▀\n █ ▀▄▄▄▄▀▀ ▀█\n ▀█▄▄▄▄▄▄▄▄▀▀▀ "], ["happy", " █▄█▄█ █▄█▄█ \n ▀▄█▄▀ ▀▄█▄▀ \n▄▄▄▀▄ ▄▀ ▄▄▄\n█▄▄▀▄▀██▀▀█▄▀ ▄█\n █ ▄█▄ ▄▄▄▀▄ ▄▀\n █▀███████ ▀▄ \n █ ▀█████▀ █\n ▀▄▄▄███▄▄▄▀▀▀ "], ["injured_1", " \n █▄█▄█ █▄█▄█ \n █▄▄▄█ █▄▄▄█ \n ▄█▄ ▄▀ ▄▄ \n▄▀ ▄▀██▀▀█▀ ▀▄\n█ █▄▀ ▄▄ ▀▄█ █\n▀▀██▀▀▀▀██▀ ▀▄\n █▄▄▄▄██▄▄▄▀▀▀ "], ["injured_2", " \n▄ ▄ ▄ ▄ ▄ ▄ \n█▀▀▀█ █▀▀▀█ \n▀▀█▀▀ ▀▀█▀▀ \n ▄▀▀▀▄▄▄▄▄█▄▀▀▄ \n█ ▄ █ ▀▀ ▀▄ ▄ █\n▀▄█▀▀▀▀▀██ ▀▀▀█\n █▄▄▄▄███▄▄▄▀▀▀ "], ["sleep_1", " \n▄ ▄ ▄ ▄ ▄ ▄ \n█▀▀▀█ █▀▀▀█ \n▀▀▀█▀ ▀▀█▀▀ \n▄▀▀▀▄▀██▀▀█▄▀▀▀▄\n█ █▄▀ █ █ █\n▀▀▄█▄▄▄▄▄▄ ▀▀▀▄\n ▀▄▄▄▄▄▄▄▄▄▀▀▀ "], ["sleep_2", " \n █▄█▄█ █▄█▄█ \n █▄▄▄█ █▄▄▄█ \n ▄▄▀▄ ▄▀ ▄▄▄ \n█ ▄ ▄▀██▀▀█▀ ▄ █\n█▄▀▄▀ ▀▄█▄▀\n ██▄▄▄▄▄▄ █\n ▀▄▄▄▄▄▄▄▄▄▀▀▀ "], ["walk_1", " ▄ ▄ ▄ ▄ ▄ ▄ \n █▀█▀█ █▀█▀█ \n ▀▀█▀▀ ▀▀█▀▀ \n ▄▀▀▀▄▄▄▄█▄▄▀▀▄ \n█ ▄ █ ▀▀ ▀▄ ▄ █\n█▄▀█▄ ▄▄ ▀█▄▀\n ▄▀ ▀▀▀ ▀ ▀▄\n ▀▄▄▄▄▄▄▄▀▀▀▀ "], ["walk_2", " \n █▄█▄█ █▄█▄█ \n █▄█▄█ █▄█▄█ \n ▄█▄ ▄▀ ▄▄ \n▄▀ ▄▀██▀▀█▀ ▀▄\n█ █▄▀ ▄▄ ▀▄█ █\n▀▀██▀▀▀███▀ ▀▄\n █▄▄██▄▄▄▄▄▀▀▀ "]]], + ["plesiomon", [["angry", " \n ▄▄██▄▄▀▄ \n ▄▄▀ ▄▀▄ ▄█ \n█▄▄▄▄▀▀ ▀▀█ █▀▄\n ▀▄▄▄▀ ██▄█ █\n ▄█ ▀▀ ▀ █\n █ ▄ ▄ █▄ ▄█\n█▄▄▄█▄█▄▄▄██▄▄▄█"], ["attack", " ▄▄▄▀▀▀▀█▀▀▀█ \n█▄▄▄ ▄█▀▀▄▀▀ \n███▀▀▄ ▄▀ ▄▀▄\n █▀▀▀▀▄ █▄▄ ▄█ █\n ▀█▀▀ ▀█▀██ ▄▀\n █▀▄▀ ▄ ▀ ▀ █ \n ▄█ ▀▄ ▀▀▄▄ █ \n█▄▄▄▄█▀▀███▀▄▄▄█"], ["eat_1", " ▄▄▄▀▀▀▀█▀▀▀█ \n█▄▄▄ █ ▀▄▄▀ \n███▀▀▄ ▄▀ ▄▀█\n █▀▀▀▀▄ ▄█▄ ▄█ █\n ▀█▀▀ ██▀██ █\n ▄▀█ █ █ █ \n █ ▄ █ ▄▄ █ \n█▄▄▄█▀█▄▄▄██▄▄▄█"], ["eat_2", " \n ▄▄██▄▄▀▄ \n ▄▄▀ ▄ ▀▄ ▄██▀▄ \n█▄▄ ▀ ▀ ▀▀█ ▀▄ █\n ▀▄▄▄▄▀ ▄█▄▄█ █\n ▄▀ ▀ █▀█ █ \n ██ █▄ █ █ \n█▄▄█▄▄▄▄█▄▄▄█▄▄█"], ["happy", " ▄▄▄▀▀▀▀█▀▀▀█ \n█▄▄▄ ▄▀▄▀▄▄▀ ▄▄\n█████▄ ▄▀ █ █\n █▀▀▀▀▄ ▄█▄ ▄▀ █\n ▀█▀▀ ▀█▀██ ▄▀\n █▀▄▀ ▄ ▀ █ \n ▄█ ▀▄ ▀▀▄▄ █ \n█▄▄▄▄█▀▀███▀▄▄▄█"], ["injured_1", " \n \n ▄▄ ▄ \n ▄▀▀▀█▀▀ █ \n▄▀▀ █▄▄ █▄█▄▄▄▀█\n▀█▀ ▄ ▀▄▀█▀ ▀▄\n ▄█▀▀▀▄ ▄ █\n█▄▄█▄█▄▄▄██▄▄▄▄█"], ["injured_2", " \n \n \n ▄▄██▄▄▀▄ \n ▄▄▀▄ ▀▄ ▄█▄▄▀█\n█▄▄ ▀▀▀ █▀██▀ ▀▄\n █▄▄▄▄█ ▄ █\n█▄▄█▄█▄▄▄██▄▄▄▄█"], ["sleep_1", " \n \n ▄ ▄▄ \n █ ▀▀█▀▀▀▄ ▄▀█\n █▀▄█ ▄▄ ▀▀█ █\n█ ▄ ▀█▀ █ \n▀▄ ▀ ▀██▀▄ ▀▄\n█▄█▄▄█▄▄▄██▄▄▄▄█"], ["sleep_2", " \n \n ▄▀▄▄██▄▄ \n ▀▄ ▄▀ ▀▄█▀▄ \n ▄▀ ▀▀ ▀▀ ▄▄█ █\n █ ▄▄▀▄▄▄▄▀ █\n ▄█ ▄▄▄ ▄ ▀▄\n█▄▄█▄█▄▄▄██▄▄▄▄█"], ["walk_1", " ▄▄██▄▄▀▄ \n ▄▄▀ ▄▄▀▄ ▄█ \n█▄▄ ▀▀ ▀▀█ █▀▄\n ▀▄▄▄▄▀ ▄▀ █ █\n █ ██▀██▀ █\n ▄▀█ ▀ █ █ \n █ ▄ ▄ ▀▄▄ █ \n█▄▄▄█▀█▄▄▄██▄▄▄█"], ["walk_2", " ▄▀▀▀▀██▄▀█ \n▄▀▀ ▄█▀ ▀▄ ▄▀ \n▀███ ▄ █ ▄▄\n ▀▄▄▄▀ ▄█▄ ▄▀ █\n █ █▀█▀ █ \n ▄▀ ▄ █ █ \n ▄▀ █ █▄ ▀▄ \n█▄▄█▀▀▄▄▄██▄▄▄▄█"]]], + ["plesiomon_x", [["angry", " ▄▄▄▄ \n ▄▀▀▀ ▄▄▄█▄ \n▄▀▀ ▄█ ▀▄ ▀ \n█▄▄▄▄ ▄▀▄▀ \n ▀▄▄▄ ▄█▄▄▀▀▀ ▄\n █ ▀ ▄ ▀▀▄ ▄█\n ▄▀▀ ▀▀▄ █▄▀\n█▄▄▄▀▀▀▀▄▄▄▄█▄▄█"], ["attack", " ▄▄▄▀▀▀▀▀▀▀▄ \n█ ▄█ ▄▀▀▀▄█▄ \n ▀██▄ ▄▀▄ ▀ \n ███ ▀▄▀ ▄▄ \n ▀▄▄▄ ▀▄▄▀ █\n ▄▀ ▄ ▀▀▄▄▀█\n ▄▀ ▄ █ █▀ \n█▄▄▄▀▀█▄▄▄█▄▄▄█ "], ["eat_1", " ▄▄▄▀▀▀▀▀▀▄ \n█ ▄▀▄ ▄▀▀▄█▄ \n ▀█▄ ▄▀▄ ▀ \n ▄▀▀ ▀▄▀ ▄▄ \n ▀▀█ █▄▄▄▀ █\n ▄▀ ▀ ▀▀▄▄▀█\n █ ▄ ▀▄ █▀ \n █▄▄▀ ▀▄▄▄█▄▄▄█ "], ["eat_2", " ▄▄▄▄ \n ▄▀▀▀ ▄▄▄█▄ \n▄▀▀▄▀▄ ▀▄ ▀ \n█▄▄▄▄ ▄▀▄▀ \n ▀▄▄▄ ▄█▄▄▀▀▀ ▄\n █ ▀ ▀▀▄ ▄█\n ▄▀▀ ▀▀▄▄ █▄▀\n█▄▄▄▀▀▀▀▄▄▄▄█▄▄█"], ["happy", " ▄▀▀▀▀▀▀▄ \n▄▀▀▄▀▄ ▄▀▀▄█▄ \n▀▄▄▄▄ ▄▀▄ ▀ \n ██▀ ▀▄▀ ▄▄ ▄\n ▀▄▄ █▄▄▄▀ ▄█\n █ ▄ ▀▀▄▀▄▀\n █ █ █ █ \n █▄▄▀ ▀▄▄█▀▄▄▄█ "], ["injured_1", " ▄▄▄▄ \n ▄▀▀ ▄▄▄▀▄ \n▄▀▀ █▄ ▀▄▀▀█ \n▀███ ▄▀▄▀ \n ▀▄▄▄ █▀ ▄▄▄ \n ▄▀ ▀ ▀▀▀▄ ▄█\n▄▀▄ ▄▀ ▄▄ ▀█▄▀\n█▄█▄▄█▄▄▄▄█▄█▄▄█"], ["injured_2", " \n ▄▄▀▀▀▀▄ \n ▄▄▀ ▄ ▀█▀▄█▄ \n█ ▀▀ ▄▀▄ ▀ \n █▀▀ █▄▀ ▄▄▄ \n ▀█▀ ▀ ▀▀▄ ▄█\n▄▀█ ▄▀ ▄▄ ▀█▄▀\n█▄█▄▄█▄▄▄▄█▄█▄▄█"], ["sleep_1", " \n ▄▄▀▀▀▀▀▄ \n █ ▀█▀▄█▄ \n▄▀ ▀▀ ▄▀▄ ▀ \n▀▄▄▀▀ █▄▀ ▄▄▄ \n ▄▀▀ ▄▀▀▀▀▄ ▄█\n █ ▀ ▀▄ ▀█▄▀\n█▄█▄▄█▄▄▄▄█▄█▄▄█"], ["sleep_2", " ▄▄▄▄▄ \n ▄▀▀ ▄▄▄▀▄ \n ▄▀ ▄▄ ▀▄▀▀█ \n█ ▄▄ ▄▀▄▀ \n ▀▀▄▄ █▀ ▄▄▄ \n ▄▀ ▄▀▀▀▀▄ ▄█\n █ ▀▄ ▀█▄▀\n█▄█▄▄█▄▄▄▄█▄█▄▄█"], ["walk_1", " ▄▄▄▀▀▀▀▄▄ \n ▄▄▀▄▄ ▄▀▀▀ ▀ \n█ ▀▀ ▄▀▄ \n▀█▀▀▀ ▀▄▀ ▄▄ \n ▀█▀ █▄▄▄▀ █\n █ ▀ ▀▀▄▄▀█\n █ ▀▄▄ █▀ \n █▄▄▀▀▀▄▄▄▄█▄▄█ "], ["walk_2", " ▄▄▄ \n ▄▀▀▀ ▄▄▀▄ \n▄▀▀▄█▀ ▀▄ ▀▀█ \n█▄▄▄▄ ▄▀▄▀ \n ▀▄▄▄ ▄█▄▄▀▀▀ ▄\n █ ▀ ▀▀▄ ▄█\n ▄▀▀ ▀▀▄▄ █▄▀\n█▄▄▄▀▀▀▀▄▄▄▄█▄▄█"]]], + ["pomumon", [["angry", " ▄▄▀██▄▀█ \n ▄▄▀ ▀ ▄▀▀▄ \n█▄██ ▄█ ▀▀█▄ █ \n ▄█ ▀▄ █ █\n ▀█▀▄▄▀▄▄█▀▀▄ ▀█\n ▀█ ▄ ▄ ▄ ▄ █▄▄\n ▄█▄▀ ▀ ▀▄▄█▄▀\n █▄█▄█▀▀▀█▄█▄█ "], ["attack", " ▄▄▄ ▄▄ \n ▄▀ ▄▀▀▀ █▄ \n ▄▀▀ ▄▄ ▄█▄ ▀▄ \n▄▀█▄ ██ ▄▀▀▄▀▄\n████ ▄ ▄▄█ ▀▄█\n █▄▀▀ ▀▀▀ ▀▄ ▀\n ▄█▄▀▄▀▄▀▄▀▄███\n █▄█▄█▄▄▄▄▄█▄█▄█"], ["eat_1", " ▄▄▄ ▄▄ \n ▄▀ ▄▀▀▀ █▄ \n ▄▀▀ ▄ ▄█▄ ▀▄ \n▄▀█▄ ▀ ▀ ▄▀▀▄▀▄\n████ ▄ ▄▄█ ▀▄█\n █▄▀▀ ▀▀▀ ▀▄ ▀\n ▄█▄▀▄▀▄▀▄▀▄███\n █▄█▄█▄▄▄▄▄█▄█▄█"], ["eat_2", " ▄▄▀██▄▀█ \n ▄▄▀ ▀ ▄▀▀▄ \n█▄██ ▀▀▄ ▀▀█▄ █ \n ▄█ ▀▄ █ █\n ▀█▀▄▄▀▄▄█▀▀▄ ▀█\n ▀█ ▄ ▄ ▄ ▄ █▄▄\n ▄█▄▀ ▀ ▀▄▄█▄▀\n █▄█▄█▀▀▀█▄█▄█ "], ["happy", " ▄▄▀██▄▀█ \n ▄▄▀ ▀ ▄▀▀▄ \n█▄██ ▄▀▄ ▀▀█▄ █ \n ▄█ ▀▄ █ █\n ▀█▀▄▄▀▄▄█▀▀▄ ▀█\n ▀█ ▄ ▄ ▄ ▄ █▄▄\n ▄█▄▀ ▀ ▀▄▄█▄▀\n █▄█▄█▀▀▀█▄█▄█ "], ["injured_1", " \n ▄▀▀█▄▄▀█ \n ▄█ ▀ ▄▀▀▄ \n █▄ █▄ ▀▀█▄ █ \n█▄██ ▀▄ █ █\n▀▀█▀▄▄▀▄▄█▀▀▄ ▀█\n ▄█▄▀ ▀▄▀▄▀▄███\n █▄█▄█▄▄▄▄▄█▄█▄█"], ["injured_2", " \n ▄▄▄ ▄▄ \n ▄▀ ▄▀▀▀ █▄ \n ▄▀▀ ▄ ▄█▄ ▀▄ \n▄▀█▄ ▀▀ ▄▀▀▄▀▄\n████ ▄ ▄▄█ ▀▄█\n ▄██▀▄▀█▀▄▀▄███\n █▄█▄█▄▄▄▄▄█▄█▄█"], ["refuse", " ▄▄▄ ▄▄ \n ▄▀ ▄▀▀▀ █▄ \n ▄▀▀ ▄ ▄█▄ ▀▄ \n▄▀█▄ ▀▀ ▄▀▀▄▀▄\n████ ▄ ▄▄█ ▀▄█\n █▄▀▀ ▀▀▀ ▀▄ ▀\n ▄█▄▀▄▀▄▀▄▀▄███\n █▄█▄█▄▄▄▄▄█▄█▄█"], ["sleep_1", " ▄▄▄ ▄▄ \n ▄▀ ▄▀▀▀ █▄ \n ▄▀▀ ▄█▄ ▀▄ \n▄▀█▄ ▀▀ ▄▀▀▄▀▄\n████ ▄ ▄▄█ ▀▄█\n █▄▀▀ ▀▀▀ ▀▄ ▀\n ▄█▄▀▄▀▄▀▄▀▄███\n █▄█▄█▄▄▄▄▄█▄█▄█"], ["sleep_2", " \n ▄▀▀█▄▄▀█ \n ▄█ ▀ ▄▀▀▄ \n █▄ ▄▄ ▀▀█▄ █ \n█▄██ ▀▄ █ █\n▀▀█▀▄▄▀▄▄█▀▀▄ ▀█\n ▄█▄▀ ▀▄▀▄▀▄███\n █▄█▄█▄▄▄▄▄█▄█▄█"], ["walk_1", " ▄▀▀█▄▄▀█ \n ▄█ ▀ ▄▀▀▄ \n █▄ ▄█▀ ▀▀█▄ █ \n█▄██ ▀▀ ▀▄ █ █\n▀▀█▀▄▄▀▄▄█▀▀▄ ▀█\n ▀█ ▄ ▄ ▄ ▄ █▄▄\n ▄█▄▀ ▀ ▀▄▄█▄▀\n █▄█▄█▀▀▀█▄█▄█ "], ["walk_2", " ▄▄▄ ▄▄ \n ▄▀ ▄▀▀▀ █▄ \n ▄▀▀ ▄▄ ▄█▄ ▀▄ \n▄▀█▄ ██ ▄▀▀▄▀▄\n████ ▄ ▄▄█ ▀▄█\n █▄▀▀ ▀▀▀ ▀▄ ▀\n ▄█▄▀▄▀▄▀▄▀▄███\n █▄█▄█▄▄▄▄▄█▄█▄█"]]], + ["popomon", [["angry", " \n \n \n \n ▄▄▄▄▄ \n ▄█ ▄▀▄▄▄ \n █▀▀ ▀▀ █▀▄▀▄\n ▀▄▄▄▄▄█▀▀▄▄█"], ["attack", " ▄ ▄ \n ▄▄▄▄▄ \n ▄█ ▄▀▄ ▄ \n █▀▀ ▀▀ █▄ \n ▄ ▀▄▄▄▄▄▀▄▀▄ \n ▀▀▄▄█ \n ▀ \n ▄▄▄▄▄ "], ["eat_1", " \n ▄ \n \n ▀ \n ▄▀▀▀▀▀▄ \n █ ▄ ▄ █ ▄▄▄ \n █ ██ █▀▄ █ \n ▀▄▄▄▄▄███▄▀ "], ["eat_2", " \n \n \n \n ▄▄▄▄▄ \n ▄▀ ▀▄ ▄▄▄\n █ ▀ ▀ █▀▄ █\n ▀▄▄▄▄▄███▄▀ "], ["happy", " \n ▀ ▀ \n▄ ▄▀▀▀▀▀▄ ▄ \n █▄▀▄ ▄▀▄█ \n ▀▄ ▄▀█ \n ▀▀▀▀█▄▀ █ \n ▀▀▀ \n ▄▄▄▄▄ "], ["injured_1", " \n \n \n \n ▄▄▄▄▄ \n ▄▀▄ ▄ ▀▄ ▄▄▄\n █▀▀ ▀▀ █▀▄ █\n ▀▄▄▄▄▄███▄▀ "], ["injured_2", " \n \n \n \n \n ▄▀▀▀▀▀▄ ▄▄▄\n █▄█ █▄ █▀▄ █\n ▀▄▄▄▄▄▄▄██▄▀ "], ["sleep_1", " \n \n \n ▄ ▄ \n ▄▀ ▀▄▀▄ \n █ █▄▀█▄▀█ ▄▄▄\n █ ▀▄ █ █▀▄ █\n ▀▄▄█▄▄███▄▀ "], ["sleep_2", " \n \n \n ▄▀▄▀▄ \n ▄▀▄ ▄█ █▄ \n █ █▀ ▀█ █ ▄▄▄\n █ ▀▄ █ █▀▄ █\n ▀▄▄█▄▄███▄▀ "], ["walk_1", " \n \n \n ▄▄▄ \n ▄▄▄▄█▀▄ █ \n ▄▀ ▀▄█ \n █ ▀ ▀ █ \n ▀▄▄▄▄▄█▀ "], ["walk_2", " \n ▄ \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n █ ▀ ▀ █▄ \n ▀▄▄▄▄▄▀▄▀▄ \n ▀▀▄▄█ \n ▀ ▄▄▄▄▄ "]]], + ["porcupamon", [["angry", " ▄▄▄ ▄▄▄ \n █ ▄████▀▀▀▄ █ \n ▀█▄▀█▀ ▄▀ ▀▄█ \n ███▀▀▀▄ █ \n ▀██▄▄▄█▄▄▀▄ \n ▄█ ▄ ▄ █▄ █ \n █ █▄▀█▀ █ █▀ \n █▄███▀█▄██▄█ "], ["attack", " ▄▄▄ ▄▄▄ \n █ ▄████▀▀▀▄ █ \n ▀█ ▀█▀ ▄█ ▀▄█ \n▄▀███▀▀▀▄ █ \n▀▄▀█▄▄▄▄█▄▄▀▄ \n ▀█ ▄█ █ \n ▄▀▀▄ ▀▄█▄█▄▄ \n ▀▄▄▄█▀▀▀▀█▄▄█▄█"], ["eat_1", " ▄▀▀█▄▄▄▄▄█▀▀▄ \n █▄▀███▀ █ █ \n ▄█▄▀▀▀▀▄▀▀ ██ \n █ ▀██████ ▄▀▄█\n ▀▄ ██████▀█ ▄▀\n ██▄▄▄▄▀ █▀ \n ▄█▄ ▀ ▄▄█▄ \n █▄█▄█▀▀▀█▄▄█▄█ "], ["eat_2", " ▄▄▄ ▄▄ \n █ ▄████▀▀▀▄ █ \n ▀█▄▀█▀ ▄▀▄▀▄█ \n ███▀▀▀▄ █ \n ▄▀▀█▄▄▄█▄▀▀▀▄ \n █ █▄ ▄ █ █ \n ▀█▄▀█▀ ▄███ \n █▄▄██▀█▄▄█▄█ "], ["happy", " ▄▀▀█▄▄▄▄▄█▀▀▄ \n █▄▀███▀ ▄ █ █ \n ██▄█▄▄▀ ▀ ██ \n▄▀██▀ █ ▄▀▄█ \n▀▄ █▀▀▀▀▀▀█ ▄▀ \n ▀█ █▄█ █▀ \n ▄▄█▄ ▀ ▄█▄▄▄ \n█▄█▄█▀▀▀▀▀█▄▄█▄█"], ["injured_1", " ▄▄▄ ▄▄▄ \n █ ▄████▀▀▀▄ █ \n ▀█▀ █▀ █▄ ▀▄█ \n █▄█▀▀▀▄▀▀ █ \n ██▄▄▄▄█▄▄▀▀▄ \n █ █ █▄█ ▀▄ █ \n ▀▄██▄▀ ▄█▄▄█ \n █▄█▄█▀▀▀█▄▄█▄█ "], ["injured_2", " \n ▄▀▀█▄▄▄▄▄█▀▀▄ \n █▄█▀██▀▄ █ █ \n █ ▄█▄▄▀█▄ █▀ \n ██▀ █ ▄█ \n ▄▀█▀███▀▀█ ▀▄ \n ▀▄█▄ ▀ ▄█▄▄█ \n █▄█▄█▀▀▀█▄▄█▄█ "], ["sleep_1", " \n ▄▄▄ ▄▄▄ \n █ ▄████▀▀▀▄ █ \n ▀█▀▀█▀ ▄▄▄▀▄█ \n ███▀▀▀▄ █ \n ▀█▄▄▄▄█▄▄▀▀▄ \n▄▀▀█ ▄▀▄▄▀▀▀▄\n▀▄▄▄█▄▄▄███▄▄▄▄▀"], ["sleep_2", " \n ▄▀▀█▄▄▄▄▄█▀▀▄ \n █▄████▀ █ █ \n █▄▄█▄▄▀▀▀ █▀ \n ██▀ █ ▄▀ \n ▄▀█▀▀▀▀▀█▀▀▄ \n▄▀▀█ ▄▀▄▀▀▀▄\n▀▄▄▄█▄▄▄▄██▄▄▄▄▀"], ["walk_1", " ▄▀▀█▄▄▄▄▄█▀▀▄ \n █▄▀███▀ ▄ █ █ \n █▄▄█▄▄▀▀ █▀ \n ███ █ ▄█ \n ▄█▀▀▀▀▀▀█ ▀▄ \n █ █ █▄█ ▀▄▄▀█ \n ██▄ ▀ ▄█▄█ \n █▄█▄█▀▀▀█▄▄█▄█ "], ["walk_2", " ▄▄▄ ▄▄▄ \n █ ▄████▀▀▀▄ █ \n ▀█ ▀█▀ ▄█ ▀▄█ \n ███▀▀▀▄ █ \n ▀██▄▄▄█▄▄▀▄ \n ▄▀█ ▄ ▄ ▀▄ █ \n █▄█ ▀█▀ ▄▀█▀█▄ \n█▄█▄█▀▀▀▀▀█▄██▄█"]]], + ["poromon", [["angry", " \n \n ▄▄ \n ▄▄█▄█ \n ▄█ ▄▀▄ \n ▄▀█▀▀ ▀▀ █▀▄ \n █▄▀▄▄▀▄ ▄▀▄█ \n ▀▀▀▀▀ "], ["attack", " ▄▄ \n ▄▄ ▄▄█▄█ ▄▄ \n █ ██ ▄▀█ █ \n ██▀▀▄▄▀▀ ██ \n ▀▄█▄▄█ ▄▀ \n ▀█████ \n ▀▄▄▀ \n "], ["eat_1", " \n \n ▄▀█ \n ▄▄ ▄▀▀▀▀▀▄ ▄▄ \n █ █ █ █ █ █ \n ▀█ ▄▀▄ █▀ \n ▀████▄▀ \n ▀▄▄▀ "], ["eat_2", " \n \n ▄▀█ \n ▄▄ ▄▀▀▀▀▀▄ ▄▄ \n █ █▀▄ ▄▀▄ █ █ \n ▀█ ▄ █▀ \n ▀█▄█▄▄▀ \n "], ["happy", " \n \n ▄▀█ \n ▄▄ ▄▀▀▀▀▀▄ ▄▄\n ▀▄▀█▀▄ ▄▀▄ █▀▄▀\n ▀█ ▄▀▄ █▀ \n ▀█▀▀█▄▀ \n ▀▀ "], ["injured_1", " \n \n \n ▄▀█ \n ▄▀▀▀▀▀▄ \n ▄█▄█ █▄ █▄ \n █ █ ▄ █ █ \n ▀▀ ▀█▄█▄▄▀ ▀▀ "], ["injured_2", " \n \n \n ▄▄ \n ▄▄█▄█ \n ▄▀▄ ▄ ▀▄ \n ▄▀█▀▀ ▀▀ █▀▄ \n █▄▀▄▄█▄▄▄▄▀▄█ "], ["sleep_1", " \n \n \n ▄▀█ \n ▄▀▀▀▀▀▄ \n ▄█▄▄ ▄▄ █▄ \n █ █ ▄ █ █ \n ▀▀ ▀█▄█▄▄▀ ▀▀ "], ["sleep_2", " \n \n \n ▄▄ \n ▄▄█▄█ \n ▄▀ ▀▄ \n ▄▀█▀▀ ▀▀ █▀▄ \n █▄▀▄▄█▄▄▄▄▀▄█ "], ["walk_1", " \n ▄▄ \n ▄▄█▄█ \n ▄▀▄ ▄ ▀▄ \n ▄▀█ ▀ ▀ █▀▄ \n █▄▄▀▄▄▀▄ ▄▀▄▄█\n ▀▀▀▀▀ \n "], ["walk_2", " \n \n ▄▀█ \n ▄▄ ▄▀▀▀▀▀▄ ▄▄ \n █ █ █ █ █ █ \n ▀█ ▄ █▀ \n ▀█▄█▄▄▀ \n "]]], + ["poyomon", [["angry", " \n \n \n \n ▄▀████▀▄ \n █▀▄██▄▀█ \n █▄ ▄█ \n █ █▀▀█ █ "], ["attack", " \n \n \n \n ▄█████▄ \n ▀█▄██ \n ███ \n ▀██▀██▀█ "], ["eat_1", " \n \n \n \n ▄█████▄ \n ▀█▄██ \n ███ \n ▀██▀██▀█ "], ["eat_2", " \n \n \n \n ▄▄▄▄ \n █▀████ \n ██████ \n █▀██▀█ "], ["happy", " \n \n \n \n ▄▀██▀▄ \n ▄█▄██▄█▄ \n █ █ \n █▀█▀▀█▀█ "], ["injured_1", " \n \n \n \n \n ▄▄▄▄▄▄ \n █▀▀██▀▀█ \n ██▀██▀██ "], ["injured_2", " \n \n \n \n \n ▄▄▄▄▄▄ \n █▀▀██▀▀█ \n ██▀██▀██ "], ["refuse", " \n \n \n \n ▄▄▄▄ \n █▀▀███ \n ▀▀▀███ \n █▀██▀█ "], ["sleep_1", " \n \n \n \n \n ▄▄▄▄▄▄ \n █▀▀██▀▀█ \n ██▀██▀██ "], ["sleep_2", " \n \n \n \n \n ▄▄▄▄▄▄ \n █▀▀██▀▀█ \n ██▀██▀██ "], ["walk_1", " \n \n \n \n ▄▄▄▄ \n █▀██▀█ \n ██████ \n █▀██▀█ "], ["walk_2", " \n \n \n \n \n \n ▄████▀█▄ \n ██▄█████ "]]], + ["princemamemon_x", [["angry", " \n ▄▄█▄▄ \n █ █ █ █ \n ▄▀▀▀▀▀▄ \n ▄█ █▄ ▄█ █▄ \n █▄█ ▄▄▄ █▄█ \n █▄██▄▄▄▄▄██▄█ \n ▀█▄▄██▄██▄▄▀▀ "], ["attack", " ▄ \n ▄▀█▀█▀▄ \n ▄▄ ▀▄█▄█▄▀ \n█ █ ▄█▄ ▄█ ▀▄ \n ▀▀▄ ▀▄▄▄▄ ▄█▄ \n ▄█▀██▀▀█ ▄▄▀█\n ▄█▄▄█▀█▀█▀█▄▄█\n ▀▀█▄▄█▀▀█▄▄█▀▀"], ["eat_1", " ▄ \n ▄▀█▀█▀▄ \n ▀▄█▄█▄▀ \n ▄▀▄ ▄▀▄ \n ▄▀█ ███ █▀▄ \n █▄██▄ ███ ▄██▄█\n ███▀▀█▀█▀▀███ \n ▀▀▄▄█▀▀▀█▄▄▀▀ "], ["eat_2", " \n ▄▄█▄▄ \n █ █ █ █ \n ▄▀▀▀▀▀▄ \n ▄█ ▄ ▄ █▄ \n █▄█▀ ▀ ▀ ▀█▄█ \n █▄██▄▄█▄▄██▄█ \n ▀█▄▄██▄██▄▄▀▀ "], ["happy", " ▄ \n ▄▀█▀█▀▄ \n ▄▄ ▀▄█▄█▄▀ ▄▄ \n █ █▀▄ ▄▀█ █\n █▀█▀ ▀▄▀ ▀█▀█ \n ▄██▄ █ ▄██▄ \n ████▀█▀█▀████ \n █▄▄█▀█▄▄█ "], ["injured_1", " \n \n ▄▄█▄▄ \n █ █ █ █ \n ▄▀▀▀▀▀▄ \n ▄█ ▄█ █▄ █▄ \n ▄▀▄█▄ ▄ ▄█▄▀▄\n █▄▄█▄█▄▄▄█▄█▄▄█"], ["injured_2", " \n \n ▄ \n ▄▀█▀█▀▄ \n ▀▄█▄█▄▀ \n ▄▄▀ ▀▄▄ \n ▄▀▄█ ▄█ █▄ █▄▀▄\n █▄▄██▄▄▄▄▄██▄▄█"], ["sleep_1", " \n ▄ \n ▄▀█▀█▀▄ \n ▀▄█▄█▄▀ \n ▄▄▀ ▀▄▄ \n ▄▀█▄▄▄ ▄▄▄█▀▄ \n █▄█▄ ▄█▄█ \n ██▄█▄█████▄█▄██"], ["sleep_2", " \n ▄▄█▄▄ \n █ █ █ █ \n ▄▀▀▀▀▀▄ \n ▄█ █▄ \n ▄▀█▀▀▀ ▀▀▀█▀▄ \n █▀██▄▄▄▄▄██▀█ \n ██▄▄██▄██▄▄██ "], ["walk_1", " ▄ \n ▄▀█▀█▀▄ \n ▀▄█▄█▄▀ \n ▄▀▄ ▄▀▄ \n ▄▀█ ▀ ▄ ▀ █▀▄ \n █▀█▄ ▀ ▀ ▄█▀█ \n ████▀█▀█▀████ \n ▀▀█▄▄█▀█▄▄█▀▀ "], ["walk_2", " \n ▄▄█▄▄ \n █ █ █ █ \n ▄▀▀▀▀▀▄ \n ▄█ █ █ █▄ \n █▄█ ▄▀▄ █▄█ \n █▄██▄▄▄▄▄██▄█ \n ▀█▄▄██▄██▄▄▀▀ "]]], + ["pteramon_x", [["angry", " \n ▄▄▀▀▀█▀ \n ▄▀▄▀ ▀▀▀▄ ▄▀█\n █▀ ▄█ ▄█▄▀ ▄█\n █ ▄▄▄▄▀ ▄ ▄▀\n█ ▄▀▄▀▄ ▀▄█▄▄\n ▀ ▀ █▄▄ ▄ ▄▄▄▀\n █▄▀▄▀▄▀▄█ "], ["attack", " ▄▄▀▀▀█▀ \n ▄▀▄▀ ▀▀▀▄ ▄▀█\n ▄▀▀ ▄█ ▄█▄▀ ▄█\n█ ▄▄▄▄▄▀ ▄ ▄▀\n▀▀▀███▀▄ ▀▄█▄▄\n ▀▄▀▄ ▄ ▄ ▄▄▀\n ▄▀▄▀█▀▄▀█▀ \n ▀▀ ▀▀▀ ▀ "], ["eat_1", " ▄▄▄▄▄ \n ▄▀█ ▄█▄ ▄▄\n █▄▀ ▄ ▄▀▄▀ █\n █ ▀ ▀▄▀▀▀ ▀█\n█ ▄▄██▀▀ ▀▄ ▄▀ \n▀▀▀█▀▄█ ▀▀▀█\n ▀▀ ▄█▄ ▄█▄▀▀ \n █▄▀▄▀▄▀▄█ "], ["eat_2", " ▄▄▄▄▄ \n ▄▀█ ▄█▄ ▄▄\n █▄▀ ▄ ▄▀▄▀ █\n ▄▀ ▀ ▀▄▀▀▀ ▀█\n▄▀ ▄▀█▀▀ ▀▄ ▄▀ \n▀▄▀▄▀ █ ▀▀▀█\n ▄█▄ ▄█▄▀▀ \n █▄▀▄▀▄▀▄█ "], ["happy", " ▄▄▀▀▀█▀ \n ▄▀▄▀ ▀▀▀▄ ▄▀█\n ▄▀▀ ▄▀▄ ▄█▄▀ ▄█\n▄▀ ▄▄▄▄▀ ▄ ▄▀\n█▄████ █ ▀▄█▄▄\n ▀█▄▀▄ ▄ ▄▄▀\n ▄▀█▀▄▀█▀▄ \n ▀▀ ▀ ▀ ▀▀ "], ["injured_1", " \n ▄▄▀▀▀█▀ ▄▄\n ▄▀▄▀ ▀▀▀▄▄▀ █\n █▀ █▄ ▄█▄ ▀█\n █ ▄▄▄▄▀ ▄ ▄▀ \n█ ▄▀▄▀▄ ▀▀▀▀█\n ▀ ▀ ▄█▄ ▄▄▄▀▀ \n █▄▀▄▀▄▀▄█ "], ["injured_2", " \n ▄▄▄▄▄ \n ▄▀█ ▄█▄ ▄▀█\n █▄▀▄ ▄▀▀ █\n ▄▀ ▀▀ ▄▀▀▀ ▄▀\n▄▀ ▄▀█▀▀ ▀▄▄██▄\n▀▄▀▄▀ █▄▄ ▄▄▄▄▄▀\n █▄▀▄▀▄▀▄█ "], ["sleep_1", " \n ▄▄▄▄▄ \n ▄▀█ ▄█▄ ▄▀█\n █▄▀ ▄▀▀ █\n ▄▀ ▀▀ ▄▀▀▀ ▄▀\n▄▀ ▄▀█▀▀ ▀▄▄██▄\n▀▄▀▄▀ █▄▄ ▄▄▄▄▄▀\n █▄▀▄▀▄▀▄█ "], ["sleep_2", " \n ▄▄▀▀▀█▀ ▄▄\n ▄▀▄▀ ▀▀▀▄▄▀ █\n █▀ ▄▄ ▄█▄ ▀█\n █ ▄▄▄▄▀ ▄ ▄▀ \n█ ▄▀▄▀▄ ▀▀▀▀█\n ▀ ▀ ▄█▄ ▄▄▄▀▀ \n █▄▀▄▀▄▀▄█ "], ["walk_1", " ▄▄▀▀▀█▀ \n ▄▀▄▀ ▀▀▀▄ ▄▀█\n █▀ ▄█▀ ▄█▄▀ ▄█\n █ ▄▄▄▄▀ ▄ ▄▀\n█ ▄▀▄▀▄ ▀▄█▄▄\n ▀ ▀ ▀▄ ▄ ▄▄▀\n ▄▀█▀▄▀█▀▄ \n ▀▀ ▀ ▀ ▀▀ "], ["walk_2", " ▄▄▄▄▄ \n ▄▀█ ▄█▄ ▄▄\n █▄▀ ▄▄ ▄▀▄▀ █\n ▄▀ ▀▀ ▄▀▀▀ ▀█\n▄▀ ▄▀█▀▀ ▀▄ ▄▀ \n▀▄▀▄▀ █▄▄ ▄▄█▀▀█\n █▄▀▄▀▄▀▄█▀ \n "]]], + ["pukumon", [["angry", " ▀▄ ▀▄ █ ▄▀ ▄▀ \n▀▄ █▄██▄██▄█ ▄▀ \n ▄▀██████▀███ ▄▄\n▄▀▄▄▀▀▀▀▄▄█▀▀█ █\n█ █ ▀▀▀ ██▄▀ █▀▀\n █▀▀███████▀██▀▀\n ▄▀▄ ▄ ▄ ▄▀ ▀▄\n▀ ▄▀█▀█▀█▀█ ▀▄ "], ["attack", " ▀▄ ▀▄ █ ▄▀ ▄▀ ▄\n▀▄ █▄██▄██▄█ ▄▀ \n▄▄▀▀▀▀█▀ ▄███▄▄▀\n █ ██ ████▀▄ █▄▄\n▀█ ██ ███▀█▄▄▀▄ \n▄█▄▄▄▄█▄█▀█▀ █ ▀\n▄▀▄ ▄ ▄ ▄ ▄█ ▀▄\n▄▀ ▀█▀█▀█▀█ ▀▄ "], ["eat_1", " ▀▄ ▀▄ █ ▄▀ ▄ \n ▀▄▄██████▄▄▀ \n ▄██▀▄▀██████▄▀█\n▀▄ ████▀▄ ████ █\n █ █▀███▄▄█▄▀█▀▀\n▄▀ ████▄█▀▄▀ █▄▄\n ▀▀▄ ▄ ▄ ▄ ▄▀▄ \n ▀ ▀█▀█▀█▀▀▄ ▀ "], ["eat_2", " ▄ ▀▄ █ ▄▀ ▄ \n▀▄ █▄██▄██▄█ ▄ \n ▄█▀▀████████ ▄▄\n▄▀▀█▄█▀▄ █████ █\n▄▀ ████▄▄██▄▀▀▄█\n▀███▄██▄█▀▄▀ █▄ \n ▀▄ ▄ ▄ ▄ ▄▀▄ \n ▀ ▀█▀█▀█▀█▀▄ "], ["happy", " ▀▄ ▀▄ █ ▄▀ ▄▀ ▄\n▀▄ █▄██▄██▄█ ▄▀ \n▄▄▀▄▀███▀▄▀██▄▄▄\n▄▀██▀▀▀▀█████▀▄▄\n█ █ ████ ████ █▄\n▄██ █▄▄█ ███▀█▄▄\n ▄█▀▄▄▄▄▀▀ ▄▀▄ \n▀ █▀█▀▀█▀█▀▄ ▀▄"], ["injured_1", " \n \n ▄ █▄▀▄█ ▄ \n ▄█████████▄▀ \n▀▄███▀███████▄▄ \n▄█▀▀▀█▄█▀▄ ███ █\n █ ▀ █▀██▄▄▀ ▄▀▀\n▀ ▀██▄▄▄▄▄▄▄▄▀▀ "], ["injured_2", " \n \n ▄▄ ▄▄ \n ▀█▄▄█▄█▄▄█▀▄ \n▀▄███████████▄▄ \n▄█▀▀▀▄▄█▀▄▀███ █\n █ ▀ █▀██▄▄▀ ▄▀▀\n▀ ▀██▄▄▄▄▄▄▄▄▀▀ "], ["sleep_1", " \n ▄ ▄ ▄ \n ▀▄ █▄▀▄█ ▄▀ \n ▀▄█████████▄▀ \n ▄███████████▄▀█\n █▀▀▀▄▄█▀▄ ███ █\n █ ▀ ██▀█▄▄█ ▄▀▀\n ▀██▄███▄█▄▄▀ "], ["sleep_2", " \n ▄ ▀▄ █ ▄▀ ▄ \n ▄ █▄██▄██▄█ ▄ \n▄ ███▀▀██████ ▄▄\n █▀▀▀███▀▄ ███ █\n▀█ █ ████▄▄█▀▀▄█\n▄▀▄▄▄▀█▄█▀█▀ █▄ \n ▄▀▄▄▄▄▄▄▄▄▄▀▄ "], ["walk_1", " ▀▄ ▀▄ █ ▄▀ ▄▀ \n▀▄ █▄██▄██▄█ ▄▀ \n▄▄█ ▀███▀ ███▄▄▄\n▄████ ▄ ██████▄▄\n ████ █ ████▀█▄▄\n▀█▄▀█▄▄▄█▀▄▀▀█▄▄\n▀▀▄ ▄ ▄ ▄▀▄ \n▄▀ ▀█▀█▀█▀█▀▄ ▀▄"], ["walk_2", " ▄ ▄ ▄ ▄ ▄ \n▄ ▀▄ █▄▀▄█ ▄▀ ▄ \n ▀▄█████████▄▀ \n▀██▀█████▀████▀▀\n▀██▄▄▀▀▀▄▄████▀▀\n▄█▀██ ▀ ██▀█▄█▀▀\n▄█▀ ▀▀▀▀▀ ▀ ▄▀▀▀\n ▄▀▄█▄█▄█▄▄█ ▀▄ "]]], + ["pulsemon", [["angry", "▄ ▄▄▄▄▄▄▄▄ \n██ ▄▀▀ ▄▀ \n▀▀█ ▀▀▀▄ \n █ ▄▄▄ ▄▀ \n █ ▀▀▀ ▄▀ \n ▀▄▄▄▄▄ ▀▀▄ \n █▄▀ ▄▄▄ ▀▄▄▄█ \n ▄█████ ██████▄ "], ["attack", "▄ ▄▄▄▄▄▄▄▄ \n██ ▄▀▀ ▄▀ \n▀▀█ ▀▀▀▄ \n █ ▄██ ▄▀ \n █ ▄█▀ ▄█▄▄\n ▀▄▄▄▄▄ ▄▄▄▀\n ▄▀ ▄▄▄ █ \n ▄█████ ██████▄"], ["eat_1", "█▄ ▄▄▀▀▀▀▀▀█▀ \n██▄▀ █▄▄ \n ▄▀ ▄▄▄▄ ▄▀ \n █▄▄▄▄▄▄▄ ▀▄ \n ▀█▀ █ ▄█ \n █ ▀█▀▀ ▄ ▀▄ \n ▀█ ▄▄▄ ▀█▀▀ \n ▄█████ ██████▄ "], ["eat_2", "▄ ▄▄▄▄▄▄▄▄ \n██ ▄▀▀ ▄▀ \n▀▀█ ▀▀▀▄ \n █ ▄▄ ▄▀ \n █ ▀ ▀ ▄▀ \n ▀▄▄▄▄▄ ▀▀▄ \n █▄▀ ▄▄▄ ▀▄▄▄█ \n ▄█████ ██████▄ "], ["happy", "█▄ ▄▄▀▀▀▀▀▀█▀ \n██▄▀ █▄▄ \n ▄▀ ▄▀▀▄ ▄▀ \n █▄▄▄▄▄▄▄▄ ▀▄ \n ▄▀█▀ █ ▄▀█ \n ▀▄▄▀▀▀▀ ▄▄▀ \n █ ▄▄▄ █ \n ▄█████ ██████▄ "], ["injured_1", " ▄▄▄▄▄▄▄▄ \n ▄▄ ▄▀▀ ▄▀ \n██▀█ ▀▀▀▄\n▀ █ ▄ ▄▀ \n ▀▄▄▄ ▀▀▀ ▄▀ \n █▄▄▄▄ ▀▀▄ \n █▄▀ ▄▄▄ ▀▄▄▄█\n ▄█████ ██████▄"], ["injured_2", " \n ▄▄▀▀▀▀▀▀█▀ \n▄██▄▀ █▄▄ \n█▀▄▀ ▄▀\n █ ▀▄▄▄ ▀▄ \n ▀█▀ ▄█ \n ▄▀█▀▀▀ ▄ ▀▄\n ▄██▄▄███▄▄████"], ["sleep_1", " \n█▄ ▄▄▀▀▀▀▀▀█▀ \n██▄▀ █▄▄ \n ▄▀ ▄▀ \n █ ▄▄▄ ▀▄ \n ▀█▀ ▄▀█ \n ▄▄██▀▀ ▄▄▄█ \n ▀████▄▄▄██████"], ["sleep_2", " ▄ ▄▄▄▄▄▄▄▄ \n ██ ▄▀▀ ▄▀ \n ▀▀█ ▀▀▀▄\n █ ▄▀ \n ▀▄▄▄ ▀▀▀ ▄▀ \n ▀▄▄▄▄ ▄▀█ \n ▄▄█▄ ▄▄▄█ \n ▀████▄▄▄██████"], ["walk_1", "█▄ ▄▄▀▀▀▀▀▀█▀ \n██▄▀ █▄▄ \n ▄▀ ▄▄ ▄▀ \n █ ▀██ ▀▄ \n ▀▄ ▀▀ ▄█ \n ▄▀█▀▀▀ ▄ ▀▄ \n ▀█ ▄▄▄ ▀█▀▀ \n ▄█████ ██████▄ "], ["walk_2", "▄ ▄▄▄▄▄▄▄▄ \n██ ▄▀▀ ▄▀ \n▀▀█ ▀▀▀▄ \n █ ▄██ ▄▀ \n █ ▄█▀ ▄▀ \n ▀▄▄▄▄▄ ▀▀▄ \n █▄▀ ▄▄▄ ▀▄▄▄█ \n ▄█████ ██████▄ "]]], + ["pumpkinmon", [["angry", " ▄▄▄▀█▄▄▄▄ \n ▄▀ █▀▀▀▀▀▄ ▀▄ \n █▄▄ ▄▄ ▀ █ \n ▀▄ ▄ ▄ ▄▀ \n ▄█▀ ▀ ▀ ▄█ \n █▄ █▀█▀▀█▀▀ ▄█ \n █▀█ █▀▀ ▀▄ \n █▄▄▄▄▄▄▄▄▄▄▄█ "], ["attack", " ▄▀█▀▀▀▀█▀▄ \n █ ▄█▀ ▀ █ \n █ ▄ ▄ ▄ █ \n ▀▀█████▄ █ \n ▄▀█▀█▀▀ █▄ \n ▄▀▄▄▄▄▄▄▄▄▀ █ \n ▀▄▀█ █▀ █▄▀ \n █▄▄▄▄▄▄▄▄▄▄▄▄█ "], ["eat_1", " ▄▀▀█▀▀▀██▀▄ \n ▄██ ██ █ █ \n █▄ ▄ ▄ ▄ █ \n ███████ █ \n ▄ ▄█▀█▀█▀█ █ \n█ ▀█▄▄▄▄▄▄▄▄▀▀▀▄\n ▀▀█▀█ █▀ ▄█▄█\n █▄▄▄▄▄▄▄▄▄▄█▄ "], ["eat_2", " ▄▄▄▀█▄▄▄▄ \n ▄▀ █▀▀▀▀▀▄ ▀▄ \n ██ ██ ▀ █ \n ▀▄ ▄ ▄ ▄▀ \n █▀ ▀ ▀ ▄▀ \n █ █▀█▀█▀█▀ █ \n █ ▄▀█ █▀ ▀▄█ █ \n █▄▄▄▄▄▄▄▄▄▄▄▄█"], ["happy", " ▄▀█▀▀▀▀██▀▄ \n ▄▀▄ ▄▀▄ ▀ █ \n █▄ ▄ ▄ ▄ ▄ █ \n ████████ █ \n ▄█▀█▀█▀█ █ \n ▄▀▀▄▄▄▄▄▄▄▄▀▀▀▄\n █▄█▀█ ▀█▀ █▄█\n █▄▄▄▄▄▄▄▄▄▄▄█ "], ["injured_1", " \n ▄▄ \n ▄▀▀█▄███▀▀▄ \n █ ▀ ▀ █ \n █ ▄█ █▄ █ \n █ ▄ ▄ ▄ ▄ █ \n █ ▀▄█▄█▄█▄▀ █▄ \n█▄▄█▄▄▄▄▄▄▄█▄▄▄█"], ["injured_2", " \n ▄▄ \n ▄▀▀█▄███▀▀▄ \n █ █ █ █ \n █ ▄ ▄ █ \n █ ▀▀ ▀▀ █ \n █ ▀▄█▄█▄█▄▀ █▄ \n█▄▄█▄▄▄▄▄▄▄█▄▄▄█"], ["sleep_1", " \n ▄▄▄▀█▄▄▄▄ \n ▄▀ █▀▀▀▀▄ ▀▄ \n █ ▀ █ \n █▄▄ ▄▄ █ \n ▀▄ ▄ ▄ █▄ \n ▄▀█▄█▄█▄▄▄▀ █ \n█▄▄▄█▄█▄▄█▄█▄▄▄█"], ["sleep_2", " ▄▄ \n ▄▀▀█▄███▀▀▄ \n █ ▀ █ █ \n █▀▀ ▀▀ █ \n ▀▄▀▄▀▄ █ \n ▄▀▄▄▄▄▄▄▄▄▀▄ \n █ █▄▀▄▄█ ▄ █ \n █▄▄▄█▄▄█▄█▄▄▄▄█"], ["walk_1", " ▄▄▄▀█▄▄▄▄ \n ▄▀ █▀▀▀▀▄ ▀▄ \n ███ ██ ▀ █ \n █ ▄ ▄ ▄ ▄ ▄▀ \n █ ▀ ▀ ▀ ▄█ \n▄▀ ▀█▀█▀▀█▀ ▀▄ \n█ █ ▀█ ▀█▀ █▄ █ \n▀█▄▄▄▄▄▄▄▄▄▄▄█▀ "], ["walk_2", " ▄▄ \n ▄▀▀█▄███▀▀▄ \n █▄▄ ▀ ▄▄ █ █ \n █▀▀ ▀▀ █ \n ▀▄▀▄▀▄▀▄▀ █ \n ▄▀▄▄▄▄▄▄▄▄▀ ▀▄ \n█ ▄ █▄▀▄▄█ ▀▀▄▀ \n █▄▄▄█▄▄█▄▄▄▄▄█ "]]], + ["punimon", [["angry", " \n \n \n \n █▄█▄█ \n █▄▀█▀▄█ \n █ ▀▀▀ █ \n ▀▄▄▄▀ "], ["attack", " \n \n \n \n \n ▄ ▄ \n █▀██ \n █████ "], ["eat_1", " \n \n \n \n \n ▄ ▄ \n █▀██ \n █████ "], ["eat_2", " \n \n \n \n ▄█████▄▄ \n ▀█▄██▄ \n ███ \n ▄███████ "], ["happy", " \n \n \n \n █▄█▄█ \n █▄███▄█ \n ██ ██ \n ▀█▄▄▄█▀ "], ["injured_1", " \n \n \n \n \n ▄ ▄ ▄ \n ▄█████▄ \n █▄▄█▄▄█ "], ["injured_2", " \n \n \n \n \n ▄ ▄ ▄ \n ▄█████▄ \n █▄▄█▄▄█ "], ["refuse", " \n \n \n \n ▄ ▄ ▄ \n ▄█▀▀███ \n ▀▀▀▀███ \n ▀█████▀ "], ["sleep_1", " \n \n \n \n \n ▄ ▄ ▄ \n ▄█████▄ \n █▄▄█▄▄█ "], ["sleep_2", " \n \n \n \n \n ▄ ▄ ▄ \n ▄█████▄ \n █▄▄█▄▄█ "], ["walk_1", " \n \n \n \n \n █▄█▄█ \n ██▄█▄██ \n ▀█████▀ "], ["walk_2", " \n \n \n \n \n ▄ ▄ ▄ \n ▄███▀█▄ \n ██▄████ "]]], + ["puppetmon", [["angry", " ▄███████▄ \n ▄▀ ▄▀██▀▄█\n ▄▀▀▀▀▄ ▀ ▄▄▀▄ \n ▀▀█▀▀▄▄ ▀▀▄▀ \n ▄▀▀▄██▄▄▀▀▄ \n ▀▄▀█▄▄▄▀▄▀▄█ \n ▄▀▀▀████▀▄▄ \n ▀▀▀▀▀ █▄█▄▄█ "], ["attack", " ▄▀▀▀▀▀██▄ \n▄▀▀▀▀▀█ ▄▀ ██▀▄\n ▀▀▀█▀▄▄▄ ██ █▀▀\n ▀▄ ███ ▄▀ \n █▀▄▀█▀▀▀█▀▄▀█ \n ▀▀▄▀▄▄▄▀▄▀▀ \n ▄▄▀█████▀▄▄▄ \n █▄▄█▄█ ▀█▄▄▄█"], ["eat_1", " ▄▀▀▀▀▀██▄ \n ▄▀▀▀▀█ ▀▀ ██▀▄\n ▀▀█▀▄▄▄ ██ █▀▀\n ▀▄ ██ ▄▀ \n █▀▄▀█▀▀▀█▀▄▀█ \n ▀▀▄▀▄▄▄▀▄▀▀ \n ▄▄▀█████▀▄▄▄ \n █▄▄█▄█ ▀█▄▄▄█"], ["eat_2", " ▄███████▄ \n ▄▀ ▄▄▀██▀▄█\n ▄▀▀▀▀▄ ▄▄ ▀▄ \n ▀▀█▀▀ ▀▀ ▄▀ \n ▄▄▀█▀▀▀█▀▄▄ \n █▄▀▄▀▄▄▄▀▄▀▄█ \n ▄▄▀█████▀▄▄ \n █▄▄█▄█ █▄█▄▄█ "], ["happy", " ▄▀▀▀▀▀██▄▀█\n▄▄▄▄█▄▄ ▄▀▄ ▀█▀ \n▀▄▄▄▄▄▀ ▄ ▄▄▀▄ \n █▀ ██▀█ ▀▀▄▀ \n █ ▀▄█▄▄█▄▄▀ █ \n ▀▀▄▀▄▄▄▀▄▀▀ \n ▄▄▄▀█████▀▄▄▄ \n █▄▄▄█▀ ██▄▄▄█"], ["injured_1", " ▄▄▄▄▄▄▄ \n ▄▀▀▀▀████▀▄\n ▄▄█▄ █▄ ▀█ ▀▀\n ▀▄▄▄▄█ ██ █ \n ▀▄▄██▄▄▄▀ \n █ ▀▄ ▄▀ █ \n ▄▄▀█████▀▄▄ \n █▄▄█▄▀▀▀▄█▄▄█ "], ["injured_2", " \n ▄▄▄▄▄▄ \n ▄▀▀▀▀████▄ \n ▄▄█▄ ▀▄▄ ▀█▀▄█\n ▀▄▄▄▄█ ▄▄ █ \n ▀▄▄██▄██▀ \n █▀█ ▀▄▀ █▀█ \n █▄▄█████▄▄█ "], ["sleep_1", " \n ▄█████▄▄▄ \n ▄████████▀▄▀\n ▄▀ ▀▀▀▀▀▀▄ \n ▄▀▀▀▀▄ ▀▀▀ █ \n ▄█▀██ ▄█ ▄▄\n █ ▀█ █▀█▀█ █▀ █\n █▄▄█▄▄███▄▄█▄▄█"], ["sleep_2", " \n \n \n \n \n \n \n "], ["walk_1", " ▄███████▄ \n ▄▀ ▄ ▀██▀▄█\n ▄▀▀▀▀▄ ▀▄▄ ▀▄ \n ▀▀█▀▀ ▀▀ ▄▀ \n ▄▄▀█▀▀▀█▀▄▄ \n █▄▀▄▀▄▄▄▀▄▀▄█ \n ▄▄▀█████▀▄▄ \n █▄▄█▄█ █▄█▄▄█ "], ["walk_2", " ▄██████▄ \n ▄▀ ▄ ▀███▀▄\n▄▀▀▀▀▄ ▀▄▄ ▀█ ▀▀\n ▀▀▀█▀ ▀▀ ▄▀ \n █▀▄▀█▀▀█▀▀█▀▄ \n ▀▀▄▀▄▄▀▄█▀█▀ \n ▄█▀████▄▀█ \n █▄▄█▄█ ▀▄█ "]]], + ["pururumon", [["angry", " \n \n \n \n ▄▀▀█▀▄ \n █▄ ▀▀ ▀▄ \n ▀▄▄▀ ▄ ▀▄ \n █▄▄█▄█▄█▄▄█ "], ["attack", " \n \n ▄▀▀▀█▄ \n █▀▀▀▄▀▀ █ \n ▀▄███▄ █ \n █████ ▀▄ \n █ ▀▀▄ ▄ █ \n ▀██▀▀▄▄▀ "], ["eat_1", " \n \n \n ▄▀▀▀▀▄ \n █▄█ ▀ █ \n █ ▄▄█ ▀▄ \n ███▀ ▄ ▀▄ \n ▀▄▄█▄█▄█▄▀ "], ["eat_2", " \n \n \n \n ▄▀▀▀▀▄ \n █▄ ▀ ▀▄ \n ▀▄▄▀ ▄ ▀▄ \n █▄▄█▄█▄█▄▄█ "], ["happy", " \n ▄▄▄▄ \n ▄▀▄ ▄ ▀▄ \n ▄▀▀▀▄ █ \n ▀▄███ █ \n █▀▀▄ ▄▀▄ █ \n ▀▀██▀▄▄▀ \n "], ["injured_1", " \n \n \n \n ▄▄▄ \n ▄▀ ▄ ▀▀▄ \n █▄▄▀▀ ▄ ▀▄ \n █▄▄▄█▄█▄█▄▀ "], ["injured_2", " \n \n \n \n \n ▄▀▀▀▄▄ \n █▄ █▄ ▄▀▄ \n █▄▄█▄▄█▄█▄█ "], ["sleep_1", " \n \n \n \n ▄▄▄ \n ▄▀ ▄▄▀▀▄ \n █▄▄ ▄ ▀▄ \n █▄▄▄█▄█▄█▄▀ "], ["sleep_2", " \n \n \n \n \n ▄▀▀▀▄▄ \n █▄ ▀▀ ▄▀▄ \n █▄▄█▄▄█▄█▄█ "], ["walk_1", " \n \n \n \n ▄▄▄ \n ▄▀▄ ▄▀▀▄ \n █▄▄ ▄ ▀▄ \n █▄▄▄█▄█▄█▄▀ "], ["walk_2", " \n \n \n \n \n ▄▀▀▀▄▄ \n █▄▀ ▀ ▄▀▄ \n █▄▄█▄▄█▄█▄█ "]]], + ["puttimon", [["angry", " ▄ \n ▄▀ █ \n ▄▀ █ ▄▄ \n ▄▀▄█ ▀▄▀ ▀▄ \n █▄ ▄ █▄█ █ \n █ ▀▄▄ ▀ █ ▀▀ \n ▀▄▄▄▄▄▄▀ \n ▄▄▄▄ "], ["attack", " ▄▄▀▀▄ \n ▄▀ ▄▀ ▄▀▀█ \n █▀▄▀ ▀▄▀ █ \n █▄ ▄█▀ █▄▄▀ \n █ ▄▄▄ █ \n ▀▄████ ▄▀ \n ▀▀▀▀▀ \n ▄▄▄ "], ["eat_1", " ▄▀▀█ \n ▄▀ █ ▄▄▄▄ \n ▄▀▄▀ ▀▀▄▀ ▄▀ \n █▀▄ ▄▀▄ █▄▄▀ \n █ ▄▄ █ \n ▀▄ ███ ▄▀ \n ▀▀▀▀▀ \n ▄▄▄ "], ["eat_2", " ▄ \n ▄▀ █ \n ▄▀ █ ▄▄ \n ▄▀▄█ ▀▄▀ ▀▄ \n █▄ ▄ █▄█ █ \n █ ▀ ▀ ▀ █ ▀▀ \n ▀▄██▄▄▄▀ \n ▄▄▄▄ "], ["happy", " ▄▄▄ \n ▄▀ ▄▀ \n █ ▄ ▀▄ ▄▀▀▄ \n ▄█ ▀ ▄ ▀▄ ▄ █ \n █ ▀ ▀ ▀ █▀▀▄█ \n █ █▄▄█ ▄▀ \n ▀████▄▀ \n ▄▄▄ "], ["injured_1", " \n ▄ \n ▄▀ █ \n ▄▀ █ \n ▄▀▄█ ▀▄▀▄ \n █ ▄ ▄ █ █ \n █▀▀ ▀▀ █▄ █ \n ▀▄██▄▄▄▀ ▀▀ "], ["injured_2", " \n \n ▄ \n ▄▀ █ \n █ █▄ ▄ \n ▄▀▀▄█ █ ▀▄ \n █▄▄ ▄▄ ▀▄ ▀▄ \n ▀▄▄▄▄▄▄▄▀▀▀▄█ "], ["sleep_1", " \n \n ▄ \n ▄▀ █ \n █ █▄ ▄▄ \n ▄▀▀▄█ █ ▀▄ \n █▄▄ ▄▄ █ ▀▄ \n ▀▄▄▄▄▄▄▄▀ ▀▀▀ "], ["sleep_2", " \n ▄ \n ▄▀ █ \n ▄▀ █ \n ▄▀▄█ ▀▄▀▀▄ \n █▄▄ ▄▄ █ █ \n █ ▄▄ █▄ █ \n ▀▄▄▄▄▄▄▀ ▀▀ "], ["walk_1", " ▄ \n ▄▀ █ \n ▄▀ █ ▄▄▄▄ \n ▄▀▄█ ▀▄▀ ▄▀ \n █ ▄ ▄ █▄▄▀ \n █ ▀▄▄ ▀ █ \n ▀▄▄▄▄▄▄▀ \n ▄▄▄▄ "], ["walk_2", " ▄▀▄ \n █ █ \n █ ▄ ▀▄ ▄▀▀▄ \n ▄▀ ▀▀ ▀▄ ▄ █ \n █ █ █ █▀▀▄█ \n ▀▄ ▀▀ ▄▀ \n ▀▀▀▀▀▀ \n ▄▄▄▄ "]]], + ["puyomon", [["angry", " \n \n ▄▄▄ ▄▄▄ \n ▀▄ ▀▀▀▀ ▄▀ \n █ ▄█▀█▄ █ \n █ █▄▄██ █ \n ▀▄ ▀▀▀ ▄▀ \n █▄▄▀▄▄▀▄▄█ "], ["attack", " ▄▄ ▄▄ \n █ ▀▄▄▄▄▀ █ \n ▄▀ ▄▄▄ ▀▄ \n █ █▀ ██ █ \n █ ▀███▀ █ \n▄█▄ █ ▄ ▄ █ \n ▀▄▀▀ █▀ ▀▀ \n ▀▀▀ "], ["eat_1", " \n █▀▀▄▄▄▄▀▀█ \n ▄▀ ▄▄▄ ▀▄ \n █ █ ▄██ █ \n █ ▀██▄▀ █ \n▄█▄ █ ▄ ▄ █ \n ▀▄▀▀ █▀ ▀▀ \n ▀▀▀ "], ["eat_2", " \n \n ▄▄▄ ▄▄▄ \n ▀▄ ▀▀▀▀ ▄▀ \n █ ▄█▀█▄ █ \n █ █▄█▄█ █ \n ▀▄ ▀▀▀ ▄▀ \n █▄▄▀▄▄▀▄▄█ "], ["happy", " \n █▀▀▄▄▄▄▀▀█ \n ▄▀ ▄▄▄ ▀▄ \n █ █▀▄▀█ █ \n █ ▀███▀ █ \n █ ▄ ▄ █ \n █▄▀▄▄▀▄█ \n "], ["injured_1", " \n \n \n ▄▀█▀▀▀▀▀▀▀▀▄ \n ▀█ ▄▀██▄ █▀ \n █ █▄▄██ █ \n ▀▄ ▀▀▀ ▄▀ \n ▀▄▄█▄▄█▄▄▀ "], ["injured_2", " \n \n \n ▄▄▄▄▄▄▄▄▄▄ \n █▄▀ ▄▄▄ ▄█ \n █ █ ▀██ █ \n ▀▄▀███▀ ▄▀ \n ▀▄█▄▄▄█▄▄▀ "], ["sleep_1", " \n \n \n █▀▀▄▄▄▄▀▀█ \n ▄▀ ▄▄▄ ▀▄ \n █ █▀▀▀█ █ \n ▀▄▀███▀ ▄▀ \n ▀▄█▄▄▄█▄▄▀ "], ["sleep_2", " \n \n ▄▄▄ ▄▄▄ \n ▀▄ ▀▀▀▀ ▄▀ \n █ ▄███▄ █ \n █ █▄▄▄█ █ \n ▀▄ ▀▀▀ ▄▀ \n ▀▄▄█▄▄█▄▄▀ "], ["walk_1", " \n \n █▀▀▄▄▄▄▀▀█ \n ▄▀ ▄▄▄ ▀▄ \n █ █ ▄██ █ \n █ ▀██▄▀ █ \n ▄▀ ▄ ▄ ▀▄ \n ▀▀▀ ▀▀ ▀▀▀ "], ["walk_2", " \n █▀▀▄▄▄▄▀▀█ \n ▄▀ ▄▄▄ ▀▄ \n █ █ ▄██ █ \n █ ▀██▄▀ █ \n █ ▄ ▄ █ \n █▄▀▄▄▀▄█ \n "]]], + ["pyonmon", [["angry", " \n \n ▄▀▀▀▄ \n █ █ \n ▄▀▀▀ ▄▀▄▄ \n █▄▄ ▄▀▄ ▄▄ █ \n █ █▄ ▄█ █▄▄ \n ▀▄▄▄█▄▄▄▄█▄▀ "], ["attack", " ▄▀▀▀▄ \n █ ▄▀ \n ▄▄█ ▀▄▄ \n ▄▀ ▄ ▀ ▀▄ \n ▀█▀▄▀ ▀▄▀▀▄▀ \n █ ▀▀▄▀▀ █ \n █ ███ █▀█ \n ▀▄▄▄▄▄▄▀▀▀ "], ["eat_1", " \n ▄▄▄ \n ▄▀ █ \n ▄▀▀▀ ▄▀▀▄ \n █▄▄ ▄▀▄ ▄▄ █ \n █ ▀ ▄ ▀ █ \n █ ███ █▄ \n ▀▄▄▄▄▄▄█▄▀ "], ["eat_2", " \n \n ▄▄▄ \n ▄▀ █ \n ▄▀▀▀ ▄▀▀▄ \n █▄▄ ▄▀▄ ▄▄ █ \n █▄▀▄ ▄▀▄ █▄▄ \n ▀▄▄▄█▄▄▄▄█▄▀ "], ["happy", " ▄▄▄ \n ▄▀ █ \n ▄▀▀▀ ▄▀▀▄ \n █▄▄ ▄▀▄ ▄▄ █ \n █ ▀ ▄ ▀ █ \n █ ▀███▀ █ \n ▀▄▄▄▄▄▄▀▄█ \n ▄▄▄▄▄▄ "], ["injured_1", " \n \n \n ▄▀▀▀▀▀▄ \n ▄▀▀▀ ▄▀▀▄█ \n █ ▄ █ \n ▀█▀▄▀ ▀▄▀▀▄█ \n ▀▄▄▄█▄▄▄▄█▄█ "], ["injured_2", " \n \n \n ▄▄▄▄▄ \n ▄▄█ ▄▄▀▄ \n ▄▀ ▀ ▀█ \n █▄▄ ▄▀▄ ▄▄ █ \n ▀▄▄▄█▄▄▄█▄▄█▄█"], ["sleep_1", " \n \n ▄▄▄ \n ▄▀ █ \n ▄▀▀▀ ▄▀▀▄ \n █ ▄ █ \n ▀█▀▄▀ ▀▄▀▀▄█▄ \n ▀▄▄▄█▄▄▄▄█▄▀ "], ["sleep_2", " \n \n ▄▀▀▀▄ \n ▄▄█ ▄█ \n ▄▀ ▀ ▀▄ \n █▄▄ ▄▀▄ ▄▄ █ \n █ ▀ ▄ ▀ █▄ \n ▀▄▄▄▄▄▄█▄▀ "], ["walk_1", " \n \n ▄▀▀▀▄ \n ▄▄█ ▄█ \n ▄▀ ▄ ▀ ▀▄ \n ▀█▀▄▀ ▀▄▀▀▄▀ \n █ ▄▀▄ █▄ \n ▀▄▄▄▄▄▄█▄▀ "], ["walk_2", " \n \n ▄▀▀▀▄ \n █ █ \n ▄▀▀▀ ▄▀▄▄ \n █▄▄ ▄▀▄ ▄▄ █ \n █ ▀ ▄ ▀ █▄▄ \n ▀▄▄█▄█▄▄▄█▄▀ "]]], + ["rafflesimon", [["angry", " ▄▄ ▄▄▄ ▄▄▄ \n▄▀ █ █ ▀▄ \n█▀▄█ ▀▀▀ █▄▀▀█ \n ▀▄▄▀▄▄▄▀▄▄▄█▄▄ \n▄██▄ ▄██▀███\n▀█ ▄█▀█▀▀▄▄ █ ▀\n █▄▄█▀ ▀▀█▄▄███▄\n█▄▄▄█▄▄▄█▄▄▄██▀▀"], ["attack", " ▄▄▀█▄▀▀█▄▄ \n ▄▀ █▄▄█ ▄▀ \n █ ▄▀ ▄▀▀▀█ \n█▀▄█▀ ▀▄▄█▄▄█▄ \n█▀▀▀█▄▄▄▄▄█████▄\n█▀▄▄▄▄▀ ███▄▄ ▀▀\n▀▀ ▄▀▀▄ █▀▀██▄ \n █▄▄▄█▀▀▄▄▄▄███"], ["eat_1", " ▄▀▀▄▀▀▀▄▀▀▀▄ \n█▄ ▄▀▄▄▄▀▄ ▄▄█ \n▀▄▀▀▄ ▄▀▀ ▄▀ \n █▀ ▀▀▀ ▀█▀▀██▄\n▄███ ███ █▀ ███\n█ ▄█▄▄▄██▄▄██ \n ▀█▀▀▄ ▄▀█████▄\n █▄▄▄█▀▀▄▄▄▄█▀▀▀"], ["eat_2", " ▄▄ ▄▄▄ ▄▄▄ \n▄▀ █ █ ▀▄ \n█▀▄█ ▀▀▀ █▄▀▀█ \n ▀▄▄▀▄▄▄▀▄▄▄█▄▄ \n▄██▄ ▄██▀███\n▀█ ▀█▀██▀ █▄ ▀\n ▄█▄▄▀ ▀▄▄████▄▄\n█▄▄▄█▄▄▄█▄▄▄██▀▀"], ["happy", " ▄▀▀▄▀▀▀▄▀▀▀▄ \n█▄ ▄▀▄▄▄▀▄ ▄▄█ \n▀▄▀▀▄ ▄▀▀ ▄▀ \n▄▀█▀ ▀▀▀ ▀█▀███▄\n█ ▀█ ███ █▀ ██▀█\n ▀▄▄█▄▄▄█▄▄██▄ \n ▄▀▀▄ ▄▀▀████▄\n █▄▄▄█▀▀▄▄▄▄█▀▀▀"], ["injured_1", " \n ▄▄▄▀▀▀▄▄▄ \n▄▀▄▄▀▄▄▄▀▄▄▀▄ \n█▀ █ █ ▀█ \n▀██▀▀▄▄▄▀▀█████▄\n█▀█▀▄▄▄▄▄█ ▀▄▀▀█\n ▄█ ▀▄▀▄█▀ █▄ \n██▄█▄█▄▄█▄▄████▄"], ["injured_2", " \n ▄▄▄ \n ▄▀▀█ █▀▀▄ \n█▄▀█ ▀▀▀ █▀▄█ \n█▄▄█▄ ▄█▄▄█▄▄ \n▄██▄ ▀▀▀ ▄▀█▀███\n▀█ █▀█▀█▀█ █▄ ▀\n██▄▄█▄▄▄█▄▄████▄"], ["sleep_1", " \n ▄▄ ▄▄▄ ▄▄▄ \n▄▀ █ █ ▀▄ \n█▀▄█ ▀▀▀ █▄▀▀█ \n ▀▄▄▀▄▄▄▀▄▄▄█▄▄ \n▄██▄ ▄██▀███\n██ ▀██▀██ █▀▄ ▀\n██▄▄█▄▄▄█▄▄█▄█ "], ["sleep_2", " \n ▄▀▀▄▀▀▀▄▀▀▀▄ \n█▄ ▄▀▄▄▄▀▄ ▄▄█ \n▀▄▀▀▄ ▄▀▀ ▄▀ \n ▄█▀ ▀▀▀ ▀█████▄\n█▀██▄▄▄▄▄██▀▄▀▀█\n▄█ ▀▄▄▀▄█ █ █ \n▀█▄▄█▄▄▄█▄▄█▀▀ "], ["walk_1", " ▄▀▀▄▀▀▀▄▀▀▀▄ \n█▄ ▄▀▄▄▄▀▄ ▄▄█ \n▀▄▀▀▄ ▄▀▀ ▄▀ \n ▄█▀ ▀▀▀ ▀█████▄\n█▀▀█▄▄▄▄▄▀▀█▄▀▀█\n▄▀▀ █▄▀▄▄█ ▀▄ \n█▄▄▀▀▄ ▄▀█▄▄██▄\n █▄▄▄█▀▀▄▄▄▄█▀▀▀"], ["walk_2", " ▄▄ ▄▄▄ ▄▄▄ \n▄▀ █ █ ▀▄ \n█▀▄█ ▀▀▀ █▄▀▀█ \n ▀▄▄▀▄▄▄▀▄▄▄█▄▄ \n▄██▄ ▄██▀███\n▀▄▄▀█▀█▀▀▄ ▀▀▄ ▀\n█▄▄▄█▀ ▀▀█▄▄ █▄\n█▄▄▄█▄▄▄█▄▄▄██▀▀"]]], + ["ragnaloardmon", [["angry", " █▀▄▄▀█▄▀▀█▀▄ ▄▄\n ▀▄ █ ▀ ▄██ █ █\n█▄▄█ ▄▀██▀▀ ▀█\n█▄ ▀██▄▄▀█▄ █▄ █\n▄▀▀█▀▀▀▀▄█▄ ▀ █\n▀▄▄██▀▀▀▄█▄▀▄ █ \n ▄▀ ▀█▄█▀ ▀▄▀▀ \n █▄█▄█▀ ▀█▄█▄█ "], ["attack", " █▀▄ ▄▀█▄▀▀▀█ \n ▀▄ █▀ ▀ ▄▄▀▄ ▄▄\n▄ ▀█ ▄▀█ █ █ █\n█▀▀▄▀▀▀▀▄█▀▀ ▀█\n▀█▄█▀▀▀▀▀▀▄ █▄ █\n█ ▄█▀▄██▄█▄ ▀ █\n▀▀▄▀▀ █▄█ ▀▄ ▄▀\n █▄█▄█▀ ▀█▄█▄█▀ "], ["eat_1", " ▄▄ ▄▄ ▄▄▄▄ \n █ ▀▄█ █▀ ▄▀ \n █▄▀ ▄▄▀█ ▀▄▀█\n█▄▄▀▄▄▀▄▀██▄ ▀▄█\n▀▄ █▀▀▀▀▀█ ▄ █\n▄▀▀██▀▀▀▀█▀ ▀█ █\n▀▄▄█▀▀█▀█▀▀▄ █\n █▄█▄▀▀▀▀▀▄▄█▄█ "], ["eat_2", " █▀▄ ▄▀█▄▀▀█ \n ▀▄ █ ▀ ▄█ ▀▄▀█\n█▄▄█ ▄▀█▄█▄ ▀▄█\n█▄ ▀██▄█▄█ ▄ █\n▄▀▀▄████ █▀ ▀█ █\n▀▄▄█▀▄▄▄█▄█▄ █\n ▄▀▀ █▄█ ▀█▄█ \n █▄█▄█▀ ▀█▄█▄█ "], ["happy", " █▀▄ ▄▀█▄▀█▀▄ ▄▄\n ▀▄ █ ▀ ▄█ █ █\n▄ █ ▄▀█▄▀▀ ▀█\n█▀▀▄██▄█▄█▄ █▄ █\n▀█▄█▀▀▀▀▄█▄ ▀ █\n█ ▄█▀▀▀▀▀▄█▀▄ █ \n▀▀▄▀██▀██▀ ▀▄▀▀ \n █▄█▄█▀ ▀█▄█▄█ "], ["injured_1", " \n █▀▄ ▄▀█▄▀▀█ \n ▀▄ █ ▄▀ █ ▀▄▀█\n▄ ▀█ ▄█▀█▄ ▀▄█\n█▀▀▄▀▄█▀ █▄ ▄ █\n▄█▄█▀▄▄▄▀ █ ▀█ █\n█ ██▄▄▄▄▀▀█ ▄▀\n█▄▀█▄▄█▄█▄▄▄█▄█ "], ["injured_2", " \n▄▄ ▄▄ ▄▄▄▄ \n█ ▀▄▀ █▀ ▄█ ▀▄▀█\n▄▀▄▀ ▀ ▄▄██▄ ▀▄█\n█▀█▄ ▄█▀▄█▄ ▄ █\n▄██▄▀▀ ▄▀ █ ▀█ █\n█ ████▄▄▀▀█ ▄▀\n█▄▀█▄▄█▄█▄▄▄█▄█ "], ["refuse", " ▄▄ ▄▄ ▄▄▄▄ \n █ ▀▄█ █▀ ▄▀ \n █▄▀ ▄▀██ ▀▄▀█\n█▄▄▀▄▄█▄▄▀█▄ ▀▄█\n▀▄ █▄▄▄▄▄█ ▄ █\n▄▀▀█▄ ▄▄ ▄▀ ▀█ █\n▀▄▄█▀▀█▀█▀▀▄ █\n█▄█▄▄▀▀▀▀▀█▄█▄█ "], ["sleep_1", " ▄ ▄▄ ▄▄▄▄ \n █▀▄▀ █▀ ▄▄▀ \n ▀▄▀ ▄ █ ▀▄▀█\n█▄▄▀▄▄██▀▄█▄ ▀▄█\n█▄ █▄▄▄▄██ ▄ █\n▄▀▀█ ▄▄ ▄█▀ ▀█ █\n█▄█▀▀█▀▀█▀▀▄ ▄▀\n █▄█▄▄██▄▄█▄█▄█ "], ["sleep_2", " \n █▄ ▄▀█▄▀███ \n █ █ ▀ █ ▀▄▀█\n█▄▄█ ▄▄█ █▄ ▀▄█\n█▄ █▀▀▀▀▄█ ▄ █\n▄▀▀█▀██▀▄█▀ ▀█ █\n█▄█▀▀█▀▀█▀▀▄ ▄▀\n █▄█▄▄██▄▄█▄█▄█ "], ["walk_1", " █▀▄ ▄▀█▄▀▀▀█ \n ▀▄ █▀ ▀ ▄▄▀▄ ▄▄\n▄ ▀█ ▄▀█ █ █ █\n█▀▀▄▀▀▀▀▄█▀▀ ▀█\n▀█▄█▀▀▀▀▀▀▄ █▄ █\n█ ▄█▀▄██▄█▄ ▀ █\n▀▀▄▀▀ █▄█ ▀▄ ▄▀\n █▄█▄█▀ ▀█▄█▄█▀ "], ["walk_2", " ▄▄ ▄▄ ▄▄▄▄ \n █ ▀▄█ █▀ ▄▀ \n █▄▀ ▄▄▀█ ▀▄▀█\n█▄▄▀▄▄█▄▀▄█▄ ▀▄█\n█▄ █▄▄▄▄██ ▄ █\n█ █▀▄ ▄▄ ▄▀ ▀█ █\n▀▀▄▀▀▀█▀█▀▀▄ █\n █▄█▄▀▀▀▀▀▄▄█▄█ "]]], + ["raguelmon", [["angry", " ▄▄▄▄ ▄▄▄▄▄ \n ▄▀ ▄▄▀ ▄█▄ \n █ █▄▀ ▄ ▄▀ \n ▀█▀ ▀▀▄▀ █▄ \n ▀▄▄▄▄▀▀▄▄▀█▀█ \n ▄▀█▄▄▄▄█▀ ███▄\n █▄█▄▀▄▀█▄▄█ ██▄\n█▄██▀▀▀▀█▄█▄█ ▀█"], ["attack", " ▄▀▀▀▀▄▀▀▀█▀ \n █ ▄▄█▀▄█ ▀▀█ \n █▄▀▄▄▄ █▄ \n█ ██▀▀█ ▄█ █▄ \n ▀▄█▀▀▀▀▄█▀▄███▀\n █▀█▀▀▀███▀██▄\n ▄▄██▄█▄▄▄█▄▄ ▀█\n█▄██▀ ▀█▄█▄█ "], ["eat_1", " ▄▀▀▀▀▄▀▀▀█▀ \n █ ▄ █▀ ▄ ▀▀█ \n █▄█▀ ▀ ▀▄▀▄ \n ▀▄████ █ ▄██▄ \n ▄▄▀█▀▀▀▄██ ▀▄█ \n█ ▄▀█▀▀██ ▄██▀\n ▀███▄█▄███▀▀▀██\n █▄██ ▀█▄█▄█ ▀"], ["eat_2", " ▄▄▄▄ ▄▄▄▄▄ \n ▄▀ ▄▄▀ ▄█▄ \n █ █▄▀ ▄ ▄▀ \n ▀█▀ ▀ ▀▄▀ █▄ \n ▀▄▄▄▄▀▀▄▄▀█▀█ \n ▄▀█▄▄▄▄█▀ ███▄\n █▄█▄▀▄▀█▄▄█ ██▄\n█▄██▀▀▀▀█▄█▄█ ▀█"], ["happy", " ▄▀▀▀▀▄▀▀▀█▀ \n █ ▄ █▀ ▄ ▀▀█ \n █▄█▀ ▀ ▀▄█▄ \n█ ▀▄████ ▄▀ █▄ \n █ ██▀▀▀▄█ ▄███ \n ▀█▀█▀▀▀██▀▀██▀\n ▄██▄█▄▄▄██ ▀██\n █▄██ ▀█▄█▄█ ▀"], ["injured_1", " \n ▄▀▀▀▀▄▀▀▀█▀ \n █ ▄ █▀ ▀▀█ \n █▄█▀ █▄ ▄▀▄▄ \n █ ▄▄▀ ▄█▀█ \n ▄▄█▀▀▀ ▄█▀████▄\n█▄▄█▀█▀▀█▄▄▀▀██▄\n█▄▄██▄█▄█▄▄█▄ ▀█"], ["injured_2", " \n ▄▄▄▄ ▄▄▄▄▄ \n ▄▀ ▄▄▀ ▄█▄ \n █ █▄▀▄ ▄▀▄ \n ▀█▀ ▀▀ ▄▀ █▀█ \n █▄▄▄▄▀▀▄▄████▄\n █▄█▄▄▄▄█▄▄████▄\n █▄▄█▄█▄█▄▄█ ▀█"], ["sleep_1", " \n ▄▄▄▄ ▄▄▄▄▄ \n▄▀ ▄▄▀ ▄█▄ \n█ █▄▀ ▄▀▄▄ \n▀█▀ ▀▀ ▄▀ ██▀█ \n ▀▄▄▄▄▀▀▄▄█████▄\n▄▀█▄▄▄▄██▀▀█▀██▄\n█▄▄█▄█▄█▄▄▄▄█ ▀█"], ["sleep_2", " \n ▄▀▀▀▀▄▀▀▀█▀ \n █ ▄ █▀ ▀▀█ \n █▄█▀ ▄▄ ▄▀▄▄ \n █ ▄▄▀ ▄█▀█ \n ▄█▀▀▀ ▄█▀▀███▄\n█▀▄█▀█▀██▀▀█▀██▄\n█▄▄█████▄▄▄▄█ ▀█"], ["walk_1", " ▄▀▀▀▀▄▀▀▀█▀ \n █ ▄ █▀ ▀▀█ \n █▄█▀ ▄█▀ ▄▀▄ \n █ ▄▄▀ ▄██▄ \n █▀▀▀ ▄█▀██▄█ \n ▄▀█▀█▀▀█▀ █▀██▀\n ▀▄██▄█▄█▄▄▀ ▀██\n █▄██ ▀█▄█▄█ ▀"], ["walk_2", " ▄▄▄▄ ▄▄▄▄▄ \n ▄▀ ▄▄▀ ▄█▄ \n █ █▄▀ ▄▄ ▄▀ \n ▀█▀ ▀▀ ▄▀ █▄ \n ▀▄▄▄▄▀▀▄▄██▀█ \n ▄█▄▄▄▄██ ████▄\n █▄█▄█▄ █▄▄█ ██▄\n█▄██▀▀▀▀█▄█▄█ ▀█"]]], + ["raijiludomon", [["angry", " ▄ ▄▄ ▄▄ \n █▀█ █▄█▀ █ \n █ █ ▀ ▄█ ▄▄ \n █▄ ▄█ █▀ █▄ \n █▄ ▄██▄ █ \n ▄█ ▀██▀ ▄█▀▄█▄\n▄▀█▀▄ ▄▄█▀▄▀▄ █\n▀█▄▄▄█▄█▄▄▄█▀▄▄█"], ["attack", "█▀▄ ▄ ▄▄ ▄▄ ▄▄▀█\n█ ▀█ █ █▀ █▀ ▄▀ \n █▄█▄ ▄█▄▄█▄ \n█ █▄ ▀▀▀ ▄▄█ ▀▄\n▀▄█▄▀▄▄█▀ ▄█▄▄▀ \n █ ▀▄ ▀ ▄▀▀ █ \n ▀█▀█▀▀█▀▀█▀ \n ▀▄▄▀▀▄▄▀ "], ["eat_1", " █▄▄▀█ ▄▄▀█ \n █ █ █▀▀ ▄▀▄▄ \n ▀▄▀ ▄ ▀█▀ █▄ \n ▄▀▀ ▀ ▀ █ █ \n▄▀█▄███▄▀▀█▀▀▀▄ \n█ █▄▀▀▀ ▄█▄ ▄▀ \n ▀█▀█▄▀▀▄▀▄▀▀ \n █▄▄▄▀▀▀▄▄▄█ "], ["eat_2", " ▄ ▄▄ ▄▄ \n █▀█ █▄█▀ █ \n █ █ ▀ ▄█ ▄▄ \n █▄ ▄▀▄ █▀ █▄ \n █▄ ▄██▄ █ \n ▄█ ▀██▀ ▄▀█▄█ \n▄▀█▀▄ ▄▄█▀█▄ █ \n▀█▄▄▄█▄█▄▄▄█▀▀▀ "], ["happy", " █▄▄▀█ ▄▄▀█ \n █ █ █▀▀ ▄▀ \n ▄▀▄ ▄▀▄▀█▄ ▄▄ \n█▀█ ▄▄▄▄ ▄█▄▀ █\n█ █▀████▀▀█ ▄█ \n ▀█▄ ▀▀ ▄█▀█▀ █ \n █▀█▄▀▀▄▀▄ ▀▀▀ \n █▄▄▄▀▀▀▄▄▄█ "], ["injured_1", " ▄ ▄▄ ▄▄ \n █▀█ █▄█▀ █ \n █ ▀ ▀ ▄█ ▄▄ \n █▄▀ ▀▄▄ █▀ █▄ \n ██▄ ▄▄ ▄██▄ █ \n▄██ ▀██▀▄▄▄█▀▄█▄\n█ ▀█▄ ▄█ ▀█▄ █\n█▄▄▄██▄█▄▄▄██▀▄█"], ["injured_2", " \n █▄▄▀█ ▄▄▀█ \n █ █ █▀▀ ▄▀ \n █ ▄ ▄ ▀█▄▀█▄ \n █▀ ▀▀▄█ ▀▄ \n███▄▄▄▄█▄██▄▄▄█ \n█ ▀▄▀▀ █ ▀█▄ █\n█▄▄▄█▄██▄▄▄██▀▄█"], ["sleep_1", " \n █▄▄▀█ ▄▄▀█ \n █ █ █▀▀ ▄▀ \n ▀▄▀ ▀█▄▀█ \n ▄▀▀ ▀▀ ▄▀▄ ▀█ \n █▀▄▄▄▄▀▀ █▄▄▀▄▄\n▄█▀▀▄ ▄▄█▀▀█▄ █\n▀█▄▄▄█▄█▄▄▄█▀▄▄█"], ["sleep_2", " ▄ ▄▄ ▄▄ \n █▀█ █▄█▀ █ \n █ █ ▀ ▄█ ▄▄ \n █▄ ▄▄ █▀ █▄ \n █▄ ▄██▄ █ \n ▄█ ▀██▀ ▄█▀▄█▄\n▄█▀▀▄ ▄▄█▀▀█▄ █\n▀█▄▄▄█▄█▄▄▄█▀▄▄█"], ["walk_1", " █▄▄▀█ ▄▄▀█ \n █ █ █▀▀ ▄▀ \n ▀▄▀ ▄▄▀█▄▀█ \n ▄▀▀ ▀▀ ▄█ ▀█ \n █▀▄▄▄▄▀▀▀█▄ █ \n ██▄ ▀▀ ▄▄▀█ ▀▀█\n█▀▄▀█▄▀▀▄▀▄ █ █\n █▄▄▄▀▀▀▄▄▄█ ▀▀▀"], ["walk_2", " ▄ ▄▄ ▄▄ \n █▀█ █▄█▀ █ \n █ █ ▀ ▄█ ▄▄ \n █▄ ▄█▀ █▀ ▀█ \n ▄█▄ ▄██▄▄ █\n███ ▀██▀ ▄█ ▀▀█\n▀▄▀█▄ ▄▄▀█▀▄▀▄▄█\n█▄▄▄▀█▄▄▀▄▄▄█ "]]], + ["rapidmon", [["angry", " ▄▄▄▄▄\n ▄▄ ▄▀▀ ▄▄▄▀\n ▀▄▀█▀▀▀▄▀▀▀▄▄▄▀\n █ ▄█ ██▀▄ \n ▄█▄▄▄▄██▄ █ \n █ █ █ ▀█ \n █▀▄ ▀█▀▀▄ \n █▄▄▄█▀▀▀█▄▄▄█ "], ["attack", " ▄▄▀▀▀▀█\n █▀▄▄▄▄▄▀▄▄▄▀▀▀▄\n ▀▄▀ ▄▄▀▄▄▄▀▀▀ \n █ ▀▀ ▄▀▀ ▀▄ \n▄▀▀▀█▀█▀▀▀▀▀▄▀ \n▀▄▄▀█ ▀▄▄▄▀█ \n ▄▀▄▄▄▄▄▀▀▄ \n █▄▄▄█ █▄▄▄█ "], ["eat_1", " ▄▄▀▀▀▀█\n █▀▄▄▄▄▄▀▄▄▄▀▀▀▄\n ▀▄▀ ▄ ▀▄▄▄▀▀▀ \n █ ▀ ▀▄█▀ ▀▄ \n ▄▄▄███▀ █▄▄▄█ \n█ ██▄▄▄█ ▄▀ \n ▀▀█▀▄▄▄▄▀▀█ \n █▄▄▄█ █▄▄▄█ "], ["eat_2", " ▄▄▄▄▄\n ▄▄ ▄▀▀ ▄▄▄▀\n ▀▄▀█▀▀▀▄▀▀▀▄▄▄▀\n █ ▄▀▄ ██▀▄ \n ▀▄▄▄▄▀█ █ \n ▄▀█ █▀▀▀▀█ \n ▀▄▀▄ ▀▄▄▄▀▄ \n █▄▄▄█▀▀▀█▄▄▄█ "], ["happy", " ▄▄▀▀▀▀█\n █▀▄▄▄▄▄▀▄▄▄▀▀▀▄\n ▀▄▀ ▄ ▀▄▄▄██▀ \n █ ▀ ▀▄█▀█ █ \n▄▀▀▄███▀▄█▀ ▄▀ \n▀▄▄▄█▄▄▀▀▀█▀▀ \n ▄▀▄▄▄▄▀▀▄ \n █▄▄▄█ █▄▄▄█ "], ["injured_1", " \n \n █▀▄▄▄▄▄▀▀▀▄▄ \n ▀▄▀▄ ▀█▄▄ ▀▄ \n █ ▀▀ ▄█▀ ▀▄▄▀\n ▄▀█▀▀▀█▄█▄▄▄█▄▀\n ▀▄▀▄ █ ▄█ \n █▄▄▄█▄▄███▄▄█ "], ["injured_2", " \n \n▄▄ ▄▄▄ \n▀▄▀█▀▀▀▄▄ ▀▀▄ \n █ █▄ ███▀▄▀▄ \n ▄▀▄▄▄▄▀▄█ █▄ \n ▀▄▀▄ █ ▀██▀ \n █▄▄▄█▄▄███▄▄█ "], ["sleep_1", " \n ▄▄▄▄▄ \n▄▄ ▄▀▀ ▄▄▄▀ \n▀▄▀█▀▀▀▄▄▀▀▄▄▄▀ \n █ ▄▄ ██▀ ▀▄ \n ▄▀▄▄▄▄▀▄█▄▄▄▀ \n ▀▄▀▄ █ ▄█ \n █▄▄▄█▄▄███▄▄█ "], ["sleep_2", " \n ▄▄▀▀▀▀█\n █▀▄▄▄▄▄▀▄▄▄▀▀▀▄\n ▀▄▀ ▀▄▄▄▀▀▀ \n █ ▀▀ ▄█▀ ▀▄ \n ▄▀█▀▀▀█▄█▄▄▄▀ \n ▀▄▀▄ █ ▄█ \n █▄▄▄█▄▄███▄▄█ "], ["walk_1", " ▄▄▀▀▀▀█\n █▀▄▄▄▄▄▀▄▄▄▀▀▀▄\n ▀▄▀ ▄▄▀▄▄▄▀▀▀ \n █ ▀▀ ▄█▀ ▀▄ \n ▄▄▀▀▀█▄█▄▄▄▀ \n █ █ █ ▄▀ \n ▀█▀▄▄▄█▀▀▄ \n █▄▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄▄▄\n ▄▄ ▄▀▀ ▄▄▄▀\n ▀▄▀█▀▀▀▄▀▀▀▄▄▄▀\n █ ▄█▀ ██▀▄ \n ▀▄▄▄▄▀█ █ \n ▄▀█ █▀▀▀▀█ \n ▀▄▀▄ ▀▄▄▄▀▄ \n █▄▄▄█▀▀▀█▄▄▄█ "]]], + ["rapidmon_x", [["angry", " ▄▄▄ \n █▀▄▄▄▄▀ ▄▀▀▀▀█ \n ▀▄▀ ▄▄▄▄▀▀▀ \n ▀▄▄█▄▀ █▀▀▄ \n ▄▀▀▄▄▄▄▄▀▀▀▀█ \n ▀▄█ ▄█▄▄▄█▄ \n ▄▀█▀▀ ▄▀▀▄▄▀ \n █▄▄▄█▀█▄▄▄▄█ "], ["attack", " ▄▄ ▄▀▀█▄▄▄▄\n ▀▄▀█▀▀ ▀ ▄▄▄▀\n █ ▄▀█▀█▄▄ \n ▄▄▄▄█▀▀█▄▄▀▄▄▀▄\n█▄ ▀█▄ ▄█▀\n▀▄▄▄▄▀█▀▄▄▄▄█ ▀█\n ▄▀█▄▄█▄▀▄▄▀ \n █▄▄▄█ █▄▄▄█ "], ["eat_1", " ▄▄ ▄▀▀█▄▄▄▄ \n ▀▄▀█▀▀▄ ▀ ▄▄▄▀ \n █ ▀ ▀ █▄▄ \n ▀███▀▄▀ ▀▄ \n ▄▄█▀▀▄██▄▄▄▀ \n █ ▀████ ▄▀█ \n █▀█▄▄█▀▀█▄▀ \n █▄▄▄█ █▄▄▄█ "], ["eat_2", " ▄▄▄ \n █▀▄▄▄▄▀ ▄▀▀▀▀█ \n ▀▄▀ ▄▀▄ ▄▀▀▀ \n ▀▄▄▄▄▄▀█▀▀▄ \n ▀▄▄▄▄▀▄ █ \n ▄▀█ ▄▀▀▀▀█▄ \n ▀█▀█▀▀█▄▄▄▀▄▀ \n █▄▄▄█▀▀▄▄▄█ "], ["happy", " ▄▄ ▄▀▀█▄▄▄▄ \n ▀▄▀█▀▀▄ ▀ ▄▄▄▀ \n █ ▀ ▀ ▄█▄ \n ▀███▀▄█ █ \n ▄▄█▄▄▀█ ▄▀ \n █ █▄▄▄██▄▀▀▀█ \n █▀█▄▄█ ▀█▄▀ \n █▄▄▄█ █▄▄▄█ "], ["injured_1", " \n ▄▄▄ \n █▀▄▄▄▄▀ ▄▀▀▀▀█ \n ▀▄▀ ▄▄▄▀▀▀ \n ▀▄▄▄██ █▀▄ \n ▄▄█▄▄▄▀▀▄▄▄█▄ \n █ ▀ █▄▄▄█ ▀ █ \n █▄▄▄█▄▄▄█▄▄▄▄██"], ["injured_2", " \n \n▄▄ ▄▀▀█▄▄▄▄ \n▀▄▀█▀▀ ▀ ▄▄▄▀ \n █ ▄█▀█▄▄ \n ▄██▀▀█▄▀▄▄█▄▄ \n █ ▀ ██▄▄█ ▀ █ \n █▄▄▄█▄▄▄█▄▄▄▄██"], ["sleep_1", " \n ▄▄▄ \n █▀▄▄▄▄▀ ▄▀▀▀▀█ \n ▀▄▀ ▄▄▄▄▀▀▀ \n ▀▄▄▀▀▀ █▀▀▄ \n ▄▄█▄▄▄▀▀▄▄▄▄█ \n █ ▀ █▄▄▄█ ▀ █ \n █▄▄▄█▄▄▄█▄▄▄▄██"], ["sleep_2", " \n ▄▄ ▄▀▀█▄▄▄▄ \n ▀▄▀█▀▀ ▀ ▄▄▄▀ \n █ ▄██▀█▄▄ \n █▀ ▄▄▀ ▀▄ \n ▄▄▄▀▀▀ █▄▄▄▀ \n █ ▀ █▄▄▄█ ▀ █ \n █▄▄▄█▄▄▄█▄▄▄▄██"], ["walk_1", " ▄▄ ▄▀▀█▄▄▄▄ \n ▀▄▀█▀▀ ▀ ▄▄▄▀ \n █ ▄▀█▀█▄▄ \n █▀▀▀▄▄▀ ▀▄ \n ▄▄▀▀▀ ▄█▄▄▄▀ \n █ ▀▄▄▄█ ▄▀█ \n █▀█▄▄█▀▀█▄▀ \n █▄▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄ \n █▀▄▄▄▄▀ ▄▀▀▀▀█ \n ▀▄▀ ▄▄▄▄▀▀▀ \n ▀▄▄█▄▀ █▀▀▄ \n ▀▄▄▄▀▀▄ █ \n ▄▀█ ▄▀▀▀▀█▄ \n █▄▀█▀▀█▄▄▄▀▄▀ \n █▄▄▄█▀▀▀█▄▄▄█ "]]], + ["raremon", [["angry", " ▄▀▀▀▄▀▀▀▀▄ \n▄▀█▄ ▀ ▄█ █ \n█ ▀ ▀▀ █ \n█ ██ █ ██ ▄ █ \n▀▄▀███ ██ █ ▀▄ \n █ █ ▀▀█▀█▀▄ █ \n█ ▄ ▄ ▄ █ ▀▄ \n█▄█▄█▄▄█▄█▄▄█▄█ "], ["attack", " ▄▄▄▄ \n ▄▄▀▀█ ▄ █ \n █ ▄▄ ▄▀█ █ \n ▀▄▀▄█ ▀▀ ▄ ▀▄ \n █ ▀ █ ▀ █ \n █ ▄ █ █ ▀▄ █ \n █▄▀ ▄█ █▄▀▄█ \n█▄█▄█▄█▄█▄█▄▄▄█ "], ["eat_1", " ▄▄▄▄ \n ▄▄▀▀█ ▄ █ \n █ ▄▄ ▄▀█ █ \n ▀▄▀▄█ ▀▀ ▄ ▀▄ \n █ ▀ █ ▀ █ \n █ ▄ █ █ ▀▄ █ \n █▄▀ ▄█ █▄▀▄█ \n█▄█▄█▄█▄█▄█▄▄▄█ "], ["eat_2", " ▄▄▄▀▀▀▀▄ \n▄▀▀ ▀ ▄▄ ▀▄ \n█ █▀▄ █ ▀ █▄ \n▄▀ ▄ ▄ ▄█ █▀▄ \n█ ██▄██▄█▀ ▄ ▀▄ \n█ ▀ ████▀█ █ █ \n █ ▄ ▄ ▄▀ █▀ \n █▄█▄██▄█▄█▄▄▄█ "], ["happy", " ▄▄▄▀▀▀▀▄ \n▄▀▀ ▀ ▄▄ ▀▄ \n█ █▀▄ █ ▀ █▄ \n▄▀ ▄ ▄ ▄█ █▀▄ \n█ ██▄██▄█▀ ▄ ▀▄ \n█ ▀ ████▀█ █ █ \n █ ▄ ▄ ▄▀ █▀ \n █▄█▄██▄█▄█▄▄▄█ "], ["injured_1", " \n \n ▄▄▄ ▄▄▄▄ \n ▄▀ █▀ █▀▄ \n █ █ ▀ ▄ ▀ █ \n ▀▄ ▀ ▄ ▀▀ ▄ █ \n █ ▀▀▄▄▀▀▀▀ ▄ ▀▄\n█▄▄█▄▄█▄█▄█▄█▄▄█"], ["injured_2", " \n \n ▄▄▄ ▄▄▄▄ \n ▄▀ █▀ █▀▄ \n █ █ ▀ ▄ ▀ █ \n ▀▄ ▀ ▄ ▀▀ ▄ █ \n █ ▀▀▄▄▀▀▀▀ ▄ ▀▄\n█▄▄█▄▄█▄█▄█▄█▄▄█"], ["refuse", " ▄▄▄▄ \n ▄▄▀▀█ ▄ █ \n █ ▄▄ ▄▀█ █ \n ▀▄▀▄█ ▀▀ ▄ ▀▄ \n █ ▀ █ ▀ █ \n █ ▄ █ █ ▀▄ █ \n █▄▀ ▄█ █▄▀▄█ \n█▄█▄█▄█▄█▄█▄▄▄█ "], ["sleep_1", " \n \n ▄▄▄ ▄▄▄▄ \n ▄▀ █▀ █▀▄ \n █ █ ▀ ▄ ▀ █ \n ▀▄ ▀ ▄ ▀▀ ▄ █ \n █ ▀▀▄▄▀▀▀▀ ▄ ▀▄\n█▄▄█▄▄█▄█▄█▄█▄▄█"], ["sleep_2", " \n \n ▄▄▄ ▄▄▄▄ \n ▄▀ █▀ █▀▄ \n █ █ ▀ ▄ ▀ █ \n ▀▄ ▀ ▄ ▀▀ ▄ █ \n █ ▀▀▄▄▀▀▀▀ ▄ ▀▄\n█▄▄█▄▄█▄█▄█▄█▄▄█"], ["walk_1", " ▄▀▀▀▄▀▀▀▀▄ \n ▄▀ ▀ ▄▄ █ \n █ █▀▄ █▄▀ █ \n ▀▄ ▀▀ █ █ \n █ ▄ █ ▀▄ █ \n ▄█ ▀ █ ▀ █ \n █ ▄▀▄ █ ▀▀▄ \n █▄█▄█▀█▄▄█▄▄█ "], ["walk_2", " ▄▄▄▄ \n ▄▄▀▀█ ▄ █ \n █ ▄▄ ▄▀█ █ \n ▀▄▀▄█ ▀▀ ▄ ▀▄ \n █ ▀ █ ▀ █ \n █ ▄ █ █ ▀▄ █ \n █▄▀ ▄█ █▄▀▄█ \n█▄█▄█▄█▄█▄█▄▄▄█ "]]], + ["rasenmon", [["angry", " ▄ ▄▄ ▄▄▄▄▄ \n█ █▄▀▄▀▀ ▄▄▄▀ \n█ ▀▄▀ ▄▀▀ ▄▀ ▄▀█\n▄▀▄▄▄█▀ ▀█ ▄▀ █ \n ▀▄ ▄▄█▄▄▀ ▄█ \n ▄▀▀▀ ▄▀ ▀█▀▄▀▄\n█ █▄▀▀▄▄█ █▄ ▀█\n██▄▄▀▀▄▄▄██ ▀▄█"], ["attack", "▄▀▄ ▄▀█▄▀▀▀▀█ \n█ █▀ ▀▄ ▄▀▀█ ▄▄\n▀▄ ▀ ▀▀ ▄▄▀ ▄▀▄▀\n █████▄ ▀▄█ ▄▀ \n ▄██████ █▄ ▀█▄ \n█ █ ▄▄ ▄▀▄▀ ▄█ █\n ▀█▀▄▄▀▀▄█▀▀█ ▀▄\n █▄▄█ █▄▄█ ▀▄█"], ["eat_1", "▄▀▄ ▄▀█▄▀▀▀▀█ \n█ █▀ ▄▀ ▄▀▀█ ▄▄\n▀▄ ▀ ▀ ▄▄▀ ▄▀▄▀\n █████ ▀▄▀ ▄▀ \n ██▄▄▀ █▀▄▄▀▀▄ \n▄▀▄ ▄▄▀▀▄ █▀▄ █\n▀▄█▀▄▄▀▀█▄▄▀▄ ▀▄\n █▄▄█ █▄▄█ ▀▄█"], ["eat_2", " ▄ ▄▄ ▄▄▄▄▄ \n█ █▄▀ █▀ ▄▄▄▀ \n█ ▀ ▄▀▄ ▀ ▄▀ ▄▀█\n▄▀ ▀█ ▄▀ █ \n ▀█▀▀▄▄█▄▄▀ ▄█ \n ▄▀▀▀ ▄▀ ▀█▀▄▀▄\n█ █▄▀▀▄▄█ █▄ ▀█\n██▄▄▀▀▄▄▄██ ▀▄█"], ["happy", "▄▀▄ ▄▀█▄▀▀▀▀█ \n█ █▀ ▄▀ ▄▀▀█ ▄▄\n▀▄ ▀ ▀ ▄▄▀ ▄▀▄▀\n █████ ▀▄▀ ▄▀ \n ████▀ █▀▄▄▀▀▄ \n▄▀▄ ▄▄▀▀▄ █▀▄ █\n▀▄█▀▄▄▀▀█▄▄▀▄ ▀▄\n █▄▄█ █▄▄█ ▀▄█"], ["injured_1", " \n▄▀▄ ▄▀█▄▀▀▀▀█ \n█ █▀▄▀ ▄▄▀▀█ ▄▄\n▀▄ ▀ █▄ ▄▄▀ ▄▀▄▀\n▀▄▄▄▄ ▄ ▀▄▀ ▄▀ \n █▄▄▄▀▀█▀▄▄█▀▀█\n▄▀▄ ▄▄ ▀▄ █▄▄▀ \n█▄███████▄▄▀ "], ["injured_2", " \n ▄ ▄▄ ▄▄▄▄▄ \n█ █▄▀▄▀▀ ▄▄▄▀ \n█ ▀▄▀▄ ▀▀ ▄▀ ▄▀█\n▄▀ ▀▀ ▀█ ▄▀ █ \n ▀█▀▀ ▄▄█▀█ ▄█▄▄\n ▄▀█▀▀ ▀▄ █▀▄▄▀\n█▄▄███▄▄█▄▄▀▀ "], ["sleep_1", " \n ▄ ▄▄ ▄▄▄▄▄ \n█ █▄▀▄▀▀ ▄▄▄▀ \n█ ▀▄▀ ▀▀ ▄▀ ▄▀█\n▄▀ ▀▀ ▀█ ▄▀ █ \n ▀█▀ ▄▄█▄▄▀ ▄█▄▄\n ▄▀▀▀ ▄▀ ▀█ ▄▄▀\n█▄█▄██▄▄█▄▄▀▀ "], ["sleep_2", " \n▄▀▄ ▄▀█▄▀▀▀▀█ \n█ █▀▄▀ ▄▄▀▀█ ▄▄\n▀▄ ▀ ▄▄ ▄▄▀ ▄▀▄▀\n▀▄▄▄ ▄ ▀▄▀ ▄▀ \n █▄▄▀▀▀█▀▄▄▀▀▀█\n▄▀▄ ▄▄ ▀▄ █▄▀▀ \n█▄███████▄▄▀ "], ["walk_1", "▄▀▄ ▄▀█▄▀▀▀▀█ \n█ █▀▄▀ ▄▄▀▀█ ▄▄\n▀▄ ▀▄▀█ ▄▄▀ ▄▀▄▀\n▀▄▀▀▀▀ ▄ ▀▄▀ ▄▀ \n █▄▄▀▀▀█▀▄▄▀▀▄ \n▄▀▄ ▄▄ ▀▄ █▀▄ █\n▀▄█▀▄▄▀▀█▄▄▀▄ ▀▄\n █▄▄█ █▄▄█ ▀▄█"], ["walk_2", " ▄ ▄▄ ▄▄▄▄▄ \n█ █▄▀▄▀▀ ▄▄▄▀ \n█ ▀▄▀▄▄▀▀ ▄▀ ▄▀█\n▄▀▄▄█▄▀ ▀█ ▄▀ █ \n ▀▄ ▄▄█▄▄▀ ▄█ \n ▄▀▀▀ ▄▀ ▀█▀▄▀▄\n█ █▄▀▀▄▄█ █▄ ▀█\n██▄▄▀▀▄▄▄██ ▀▄█"]]], + ["rasenmon_fury_mode", [["angry", "▄▄ ▄▄▄ \n▀██▄▀▀▄▄▄██▀█ ▄█\n▄▄████▀███▄▀▄██▀\n█▀█▀█▄▄██▀▀██▀▄█\n ▀▄█▄███ ▄▄▄███▀\n▄▀▀█▀▀▀▄▀▀▄ ▀█▄█\n▀█▀██▄██▀▀█ ▄██▀\n█▄███▀▀███████▀▀"], ["attack", " ██▄ ▄▄▀▀▀▄▄▄▄ \n ▀██▄▄████▀▄▀ \n █████▀ ▄███ ▀ \n ▄▄▄▄▄▀▀▀▀▀▄▄██▄\n ▀████████████▀\n ▄▄▄ ▄▄▀▀▀▀▀▄▄▄█\n█████▄▄█████████\n ▀█████▀█████▀ "], ["eat_1", "██▄ ▄▄▀▀▀▄▄▄▄ ▄\n ▀██▄▄████▀▄▀▄██\n█████▀▄▀███▄██▀▄\n▀ ▀ ▀▀██▀ ▀█▄██\n ▄▄▄▄█▀▄█▀▀██▀▄\n▄▀██▄ ▄██▄▄▄ ███\n▀▀██████▄█▄███▀▄\n █▄███▀▄▄▄██▀▀▀ "], ["eat_2", "▄▄ ▄▄▄ \n▀██▄▀▀▄▄▄██▀█ ▄█\n▄▄████▀███▄▀▄██▀\n█▀█▀█▄█▄█▀▀██▀▄█\n ▀▄█▄███ ▄▄▄███▀\n ▄█▀▀▀▄█▀ ▀█▄█\n █ ██▄███▄▀█▀██▀\n█▄████████▄█▄█▀▀"], ["happy", "██▄ ▄▄▀▀▀▄▄▄▄ ▄\n ▀██▄▄████▀▄▀▄██\n█████▀▄▀███▄██▀▄\n▀ ▀ ▀████ █ █▄██\n █▀█▀▀▀ █▀▄\n ██▀▀▀▄██▄▄████\n ▄██▄████████▀▄\n █▄███▀█▄▄██▀▀▀ "], ["injured_1", "▄▄ ▄▄▄ \n▀██▄▀▀▄▄▄██▀█ ▄█\n▄▄███▀████▄▀▄██▀\n█▀█▀█▄▄██▀▀██▀▄█\n ▀▄█▄███ ▄▄▄███▀\n ▄█▀▀▀▄█▀ ▀█▄█\n █ ██▄███▄▀█▀██▀\n█▄████████▄█▄█▀▀"], ["injured_2", " \n██▄ ▄▄▀▀▀▄▄▄▄ ▄\n ▀██▄▄████▀▄▀▄██\n█████ ▀████▄██▀▄\n▀▄▀▄▀███▀ ▀█▄██\n ▀████▀▄█▀▀██▀▄\n ▄▀█▄ ▄██ ▄▄▄███\n██▄███████▄█▄█▀ "], ["sleep_1", " \n▄ \n▀█▄ ▄▄▀▀▀▄▄▄▄ ▄\n▄▀██▄▄████▀▄▀▄██\n█████▀▀████▄██▀▄\n▀▄▀▄▀███▀▄███▄█▀\n█▀██▀▀▀▄█▀▄ ▄▀▄█\n█▄▄██▄███ ███ █▀"], ["sleep_2", " \n▄▄ ▄▄▄ \n▀██▄▀▀▄▄▄██▀█ ▄█\n▄▄████████▄▀▄██▀\n█▀█▀█▄▄██▀▀██▀▄█\n ▀▄█▄███ ▄█████▀\n█▀▄█▀▀▀▄█▀▄ ▄▀▄█\n█▄▄██▄███ ███ █▀"], ["walk_1", "██▄ ▄▄▀▀▀▄▄▄▄ ▄\n ▀██▄▄████▀▄▀▄██\n█████▀ ▄███▄██▀▄\n▀▄▀▄▀███▀ ▀█▄██\n ▀████▀▄█▀▀██▀▄\n ▄▀█▄ ▄██ ▄▄▄███\n ▀▄███████ █ █▀▄\n █▄███▀█▄▄██▀▀▀ "], ["walk_2", "▄▄ ▄▄▄ \n▀██▄▀▀▄▄▄██▀█ ▄█\n▄▄████▀▀██▄▀▄██▀\n█▀█▀█▄▄██▀▀██▀▄█\n ▀▄█▄███ ▄▄▄███▀\n ▄█▀▀▀▄█▀ ▀█▄█\n █ ██▄███▄▀█▀██▀\n█▄████████▄█▄█▀▀"]]], + ["rasielmon", [["angry", " ▄▄▄▄ ▄▄▄ \n ▄▀ ▄▄█▀ ▄█▄▄ \n ▀▄▀▀ █▀█▀ ▄ █\n █ ▄█ █ █▄▄ ▄▀\n ▀▄▄▄ ▄▀▄▀▄▄▀▄ \n▄▀█▀▀▀▀▀▀▄▀ █ █\n▀▄▄▀██▀█▀▀▄▄█ █\n █▄▄█▄▄█▄▄▄█▀▄▄▀"], ["attack", " ▄▄▄▄ ▄▀█ \n ▄▀ ▄▄█▀ █▄ \n ▀▄▀▀▄ █▀█▀ █\n █▄▄▀▀ █ █▄▄▀\n ▄▄▄███▄▄█▄▀▀▄▄█\n█ ▀▄▄▄▄▄▄▄▀ ██\n ▀▀██▀█▀ █ ▀▄▄▀█\n █▄▄▀▀▀▀█▄▄█▀█"], ["eat_1", " ▄▄▄▄ ▄▀█ \n ▄▀ ▄▄▄█▀ █▄▄▄ \n ▀▄▀▄▄ █▀█▀ ▄ █\n █▄▄▄ █ █▄▄ ▄▀\n ▀███▄█▄▀▀▄▄▀▄ \n▄▀█▄▄▄▄▄▄▄▀ █ █\n▀▄▄▀█▀ █ ▀▄▄█ █\n █▄▄█▀▀█▄▄▄█▀▄▄▀"], ["eat_2", " ▄▀▀▀▀▄▄▀▀█ \n █ ▄▄▀▀█▄▄█▀▀▀▄\n ▄▀▄▀▄ █ █ ▀ █\n █ ▄▀▄█▀▀▄▀ \n ▄▄▀▀▀▀▀▀ ▄▀█ ▀▄\n█ ▀▄▄▄▄▄▄█ █ █\n ▀█ █▀ █ █▀█ █\n █▄▄█▀▀█▄▄▄█ ▀▀ "], ["happy", " ▄▀▀▀▀▄▄▀▀█ \n █ ▄▄▀▀█▄▄█▀▀▀▄\n ▄▄▀ ▄▀▄█▄█ ▀ █\n█ ███ ▄█ █▀▄▀ \n █▄▀▀▀▀▀▀▀▄▀█ ▀▄\n ▀▄▄▄▄▄▄█ █ █\n █▀█▀ █ █ █ █\n █▄▄█▀▀█▄▄▄█ ▀▀ "], ["injured_1", " ▄▄▄▄ ▄▀█ \n ▄▀ ▄▄▄█▀ █▄▄▄ \n ▀▄▀ █▀█▀ ▄ █\n █ ▀▄▄ █ █▄▄ ▄▀\n ▀▄▄▄▄█▄▀▀▄▄▀▄ \n▄▀█ ▄▀ █ █\n▀▄▄▀██▀█▀▀▄▄█ █\n█▄▄██▄▄██▄▄█▀▄▄▀"], ["injured_2", " ▄▄▄▄ ▄▄▄ \n ▄▀ ▄▄█▀ ▄█▄▄ \n ▀▄▀▀ █▀█▀ ▄ █\n █ ▀▄▄ █ █▄▄ ▄▀\n ▀▄▄ ▄▀▄▀▄▄▀▄ \n▄▀█▀▀▀▀▀▀▄▀ █ █\n▀▄▄▀██▀█▀▀▄▄█ █\n█▄▄██▄▄██▄▄█▀▄▄▀"], ["sleep_1", " \n ▄▀▀▀▀▄▄▀▀█ \n █ ▄▀▀▀█▄▄█▀▀▀▄\n ▄▀ ▄▄ █ █ ▀ █\n █▄▄ ▄▀▄█▀▀▄▀ \n ▄▄▀▀▀▀▀▀ ▄██▄█ \n█ ▀█▀▀▄▀▀█▀ █ \n▀▄▄▄█▄█▄▄▀▄▄▄▀ "], ["sleep_2", " ▄▄▄▄ ▄▄▄ \n ▄▀ ▄▄▄█▀ ▄█▄▄ \n ▀▄▀ █▀█▀ ▄ █\n █ ▀▀ █ █▄▄ ▄▀\n ▀██▄▄█▄▀▀ ▄▀▄ \n ▄█ ▄█▄▄█ \n█ ▀█▀▀▄▀▀█▀ █ \n▀▄▄▄█▄█▄▄▀▄▄▄▀ "], ["walk_1", " ▄▀▀▀▀▄▄▀▀█ \n █ ▄▄▀▀█▄▄█▀▀▀▄\n ▄▀ █ █ █ ▀ █\n █ ▄▀▄█▀▀▄▀ \n ▄▄▀▀▀▀▀▀ ▄▀█ ▀▄\n█ ▀▄▄▄▄▄▄█ █ █\n ▀█ █▀ █ █▀█ █\n █▄▄█▀▀█▄▄▄█ ▀▀ "], ["walk_2", " ▄▄▄▄ ▄▀█ \n ▄▀ ▄▄█▀ █▄▄▄ \n ▀▄▀▀▄ █▀█▀ ▄ █\n █ ▀ █ █▄▄ ▄▀\n ▀▄▄▄▄█▄▀▀▄▄▀▄ \n▄▀█▄▄▄▄▄▄▄▀ █ █\n▀▄▄▀█▀ █ ▀▄▄█ █\n█▄▄█▀▀▀▀█▄▄█▀▄▄▀"]]], + ["ravemon", [["angry", " ▄▀██▀▀▀█▀ \n █ ▀ ██▄ ▄▄ \n▄▀█ ▄█ █ █ ██\n█ ▀▄ ▄▄▀██ █▀██\n ▀▄██▄▄█▀▄▄█▄▄██\n █▄▄▄▀█▀ ▀█\n █▄▄ ▄█▄█▄ ▀\n █▄█▄█ █▄█▄█ "], ["attack", " ▄▄▄▄▄▄▄▄ \n ▄▀▄▀▀ ▄▄▀ \n ▄▀ ▄▀█ █ ▄▀█▄\n ▄█ ▀▀▄▄█▀▀ ▄██\n █ ▀▄▀▀▄█▄ ▀ ██\n █▀█▀▀▀██▀▀█▀██\n █▄█▀▀▀▄█▄▄█ █\n █▄█▄██▀██▄█▄█ "], ["eat_1", " ▄▄▄▄▄▄▄▄ \n ▄▀▄▀▀ ▄▄▀ \n ▄▀ ▄▀▄ █ ▄▀█▄\n ▄█ ▄▄█▀▀ ▄██\n █ ▀▄▀▀▄█▄ ▀ ██\n █▀█▀▀▀██▀▀█▀██\n █▄█▀▀▀▄█▄▄█ █\n █▄█▄██▀██▄█▄█ "], ["eat_2", " ▄█▀▀▀▀▄▄▄▄ \n ▄▀ ▀▀▄ ▄▀ ▄▄ \n ▀▄███▄ ▄█▄▀ ██\n █▀████▀█▀ ▄ ▀██\n ▀▄▄█▄▄███▄▄▄▄██\n █ █▄▄▄▀█ █ ▀█\n ██▄ ▄█▄██ ▀\n █▄█▄█ █▄█▄█ "], ["happy", " ▄▀██▀▀▀█▀ \n █ ▀▄ ██▄ ▄▄ \n █ ▀ ▀█ █ ██\n █▀▄ ▄▄▀██ █▀██\n ▀▄▄█▄▄█▀▄▄█▄▄██\n █ █▄▄▄▀█▀ ▀█\n ▀██▄ ▄█▄█▄ ▀\n █▄█▄█ █▄█▄█ "], ["injured_1", " \n ▄▄▄▄▄▄▄▄ \n ▄▀▄▀▀ ▄▄▀ \n ▄▀ █▄ █ ▄▀█▄\n ▄█ ▄▄█▀▀ ▄██\n █▄█▄▀▀▄█▄▄█▄ ██\n█ ▀ █▀▀▀██ ▀ ▀██\n█▄▄▄████▄█▄▄▄█ █"], ["injured_2", " \n \n ▄▀██▀▀▀█▀ \n █ ▀▄ ▀█ ▄▄ \n █ ▀▀ ▄█▄▀ ██\n ██▄ ▄▄▀█▀▄▄▄▀██\n█ █▄▄███ ▀ ███\n█▄▄▄█▄▄█▄█▄▄▄█▀█"], ["refuse", " ▄▄▄▄▄▄▄▄ \n ▄▀▄▀▀ ▄▄▀ \n ▄▀ ▄█ █ ▄▀█▄\n ▄█ ▄▄█▀▀ ▄██\n █ ▀▄▀▀▄█▄ ▀ ██\n █▀█▀▀▀██▀▀█▀██\n █▄█▀▀▀▄█▄▄█ █\n █▄█▄██▀██▄█▄█ "], ["sleep_1", " \n ▄▄▄▄▄▄▄▄ \n ▄▀▄▀▀ ▄▄▀ \n ▄▀ ▄▄ █ ▄▀█▄\n ▄█ ▄▄█▀▀ ▄██\n █ ▀▄▀▀▄█▄ ▀ ██\n ▄█▀█▀▀▀█████▀██\n█▄█▄████▄█▄█▄█ █"], ["sleep_2", " \n \n ▄▀██▀▀▀█▀ \n █ ▀ ▀█ ▄▄ \n █ ▀▀ ▄█▄▀ ██\n █▀▄ ▄▄▀█▀ ▄ ▀██\n █▄▄█▄▄███▄▄▄▄██\n█▄█▄████▄█▄█▄█▀█"], ["walk_1", " ▄▀██▀▀▀█▀ \n █ ▀▄▄ ▀█ ▄▄ \n █ █▄▀ ▄█▄▀ ██\n █▀▄ ▄▄▀█▀ ▄ ▀██\n ▀▄▄█▄▄███▄▄▄▄██\n █ █▄▄▄▀█ █ ▀█\n ██▄ ▄█▄██ ▀\n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄▄▄ \n ▄▀▄▀▀ ▄▄▀ \n ▄▀ ▄▀█ █ ▄▀█▄\n ▄█ ▀▀▄▄█▀▀ ▄██\n █ ▀▄▀▀▄█▄ ▀ ██\n █▀█▀▀▀██▀▀█▀██\n █▄█▀▀▀▄█▄▄█ █\n █▄█▄██▀██▄█▄█ "]]], + ["rebellimon", [["angry", " ▄▄▄ ▄ ▄ ▄ \n █ ▀ ▀ ▀█▄ ██ \n █▄▄▀▀▀▀▄█▄██▀█\n ▄▀ ▄█ ▄▀█▀▀▄▀▄\n █▄▄▄▄▀████▀▄█▀\n▄▀█▄█▄█▀▀▄▀ █▄▄█\n▀▄▄██ ▀▄▄█▄▄▀ \n ▀████▀ "], ["attack", " █▀▀▄▀▄▀▄▄█▄ \n ▀▄ ▄▄▄▄▀██▄▄\n ▀█▀▄▄ ███▄▀\n █ ▀▀ ▄█▄█▀▄█\n▄▀▀▄█▀█▀█▄█▀▀█▀▄\n█ ▀▄█████ ██ █\n ▀▀ ██ ██▀▀▀▀ \n ▀████▀ "], ["eat_1", " █▀▀▄▀▄▀▄▄ █▄ \n ▀▄ ▄▄▄▄▀█ ██▄▄\n ▀█▀▄ ████▀▄▀\n █ ▀ ▄█▄█▄▄▀▄█\n ▄█████ █▀█▀▄▀▀▄\n█ ████▀▄▀█ █▀▀▀\n ▀▀▄▄▄▀██▀▀▀ \n ▀████▀ "], ["eat_2", " ▄▄▄ ▄ ▄ ▄ \n █ ▀ ▀ ▀█▄ ██ \n █▄▄▀▀▀▀▄█▄██▀█\n ▄▀▄▀▄ ▄▀█▀▀▄▀▄\n █▄▄▄▄▀████▀▄█▀\n▄▀█▄█▄█▀▀▄▀ █▄▄█\n▀▄▄██ ▀▄▄█▄▄▀ \n ▀████▀ "], ["happy", " █▀▀▄▀▄▀▄▄ █▄ \n ▀▄ ▄▄▄▄▀█ ██▄▄\n ▀█▀▄ ████▀▄▀\n █ ▀ ▀▄█▄█▄▄▀▄█\n ▄█▀█▀█ █▀█▀▄▀▀▄\n█ ████▀▄▀█ █▀▀▀\n ▀▀▄▄▄▀██▀▀▀ \n ▀████▀ "], ["injured_1", " \n █▀▀▄▀▄▀▄▄ █▄ \n ▀▄ ▄▄▄▄▀█ ██▄▄\n ▀█▀▄ ████▀▄▀\n █ ▀▀▄█▄█▄▄▀▄█\n ▄█▀█▀█▄█▀█▀▄▀▀▄\n█ ▀██▀█ █ █▀▀▀\n ▀▀▀████▀▀▀▀ "], ["injured_2", " \n ▄▄▄ ▄ ▄ ▄ \n █ ▀ ▀ ▀█▄ ██ \n █▄▄▀▀▀▀▄█▄██▀█\n ▄▀ █▄ ▄▀█▀▀▄▀▄\n █▄▄▄▄▀████▀▄█▀\n▄▀█▄█▄█▀▀▄▀ █▄▄█\n▀▄▄██▄█▄▄█▄▄▀ "], ["sleep_1", " \n █▀▀▄▀▄▀▄▄ █▄ \n ▀▄ ▄▄▄▄▀█ ██▄▄\n ▀█▀ ████▀▄▀\n █ ▀▀▄█▄█▄▄▀▄█\n ▄█▀█▀█▄█▀█▀▄▀▀▄\n█ ▀██▀█ █ █▀▀▀\n ▀▀▀████▀▀▀▀ "], ["sleep_2", " ▄▄▄ ▄ ▄ ▄ \n █ ▀ ▀ ▀█▄ ██ \n █▄▄▀▀▀▀▄█▄██▀█\n ▄▀ ▄▄ ▄▀█▀▀▄▀▄\n █▄▄▄▄▀████▀▄█▀\n▄▀█▄█▄█▀▀▄▀ █▄▄█\n▀▄▄██ ▀▄▄█▄▄▀ \n ▀████▀ "], ["walk_1", " █▀▀▄▀▄▀▄▄ █▄ \n ▀▄ ▄▄▄▄▀█ ██▄▄\n ▀█▀▄▄ ████▀▄▀\n █ ▀▀ ▄█▄█▄▄▀▄█\n ▄█▀█▀█▄█▀█▀▄▀▀▄\n█ ▀████ █ █▀▀▀\n ▀▀██ ██▀▀▀ \n ▀████▀ "], ["walk_2", " ▄▄▄ ▄ ▄ ▄ \n █ ▀ ▀ ▀█▄ ██ \n █▄▄▀▀▀▀▄█▄██▀█\n ▄▀▄█▀ ▄▀█▀▀▄▀▄\n █▄▄▄▄▀████▀▄█▀\n▄▀█▄█▄█▀▀▄▀ █▄▄█\n▀▄▄██ ▀▄▄█▄▄▀ \n ▀████▀ "]]], + ["redvegiemon", [["angry", " ▄█▀▄█▀▄█▀ \n ▀█████▀▀ ▄\n▀▄ ▄▀ ▀▄ █ \n █ ▄▀ ▄▀ █ █ \n █▀▄▄▄▄ ▀█▀ \n ▀▄▄▄ ▀ ▄ █ \n █ ▄▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["attack", " ▄ ▄█▀▄█▀▄█▀ \n █ ▄▀▀▀▀▀█▀▀ ▄\n ▀█▄ ▄█▀█ █ \n▄ ▀▄▄▄▄▄▄▄ ▀▄ █\n ▄ ██████ ▀█▀\n ▄▀█▀▀▀▀█ ▄ █ \n▀ █ █ ▄█▀ ▄▀ █ \n ▀▄▄▄█▄▄▄▄▄▄▀ "], ["eat_1", " ▄█▀▄█▀▄█▀ \n ▄▀▀▀▀▀█▀▀ ▄ \n █▄ ▄▄ █ █ \n ▀▄▄▄▄▄▄▄ ▀▄ █ \n ▄ ███████ █▀ \n█ ▄▀ ▄▀ █ █ \n ▀█▀▄ ▀ ▄█▀ █ \n ▀▄███▄▄▄▄▀ "], ["eat_2", " ▄█▀▄█▀▄█▀ \n▄ ▀█████▀▀ \n █ ▄█ ▄ ▀▄ \n█ █ ▀ ▀ ▀▄ \n█ ▀▄▄▄▄▄▄▄▀ ▀█▀▄\n ▀█ ▀▀▀▀ ▄ ▄ █ █\n █▀▀▀▀▀▀ ▄▀ █▀▄\n ▀▄▄▄▄▄▄▄▄▀ "], ["happy", "▄ ▀█▄▀█▄▀█▄ ▄ \n ▀▄ ▀▀█████▀ █\n ▄▀ ▄▀ ▄ ▀▄ █ \n ▀█▀ ▀ ▀ ▀ ▀▄ █\n ▄ ▀▄▄▄▄▄███▄ █▀\n▄ █▀▀█▀▀▀█ █ \n ▄ ▄▀▀▄▄▄▄▄█▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["injured_1", " ▄▄▀█▄▀█▄ \n ▀█████▀ \n ▄▀ ▀▄ \n █▄ ▀▄▄ █ ▄▀▄\n █▄▄▄▄ █▄█ \n ▀▄▄▄ ▀ ▀▄ \n █ ▄▄▀ █ \n▀▄█▀▄▄▄▄▄▄▄▄▀ "], ["injured_2", " ▄▄ ▄▄ \n ▀█▄██▄██ \n ▄▀▀▀▀█ \n █▄ █▄ █ \n ▀▄▄▄▄▄ █ \n ▄▀▀▀▀▀▀ ▀▄ \n █▀▀▀ █ \n▀▄█▀▄▄▄▄▄▄▄▀█▄▄▀"], ["sleep_1", " \n ▄█▀▄█▀▄█▀ \n ▀██████▀ \n ▄▀ █ █ \n▄▀ █ █ ▀▄\n▀▄█ ▀▀ ▀▀ █ █\n █ ▄██▄ █▀ \n ▀▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " ▄█▀▄█▀▄█▀ \n ▀██████▀ \n▀▄ ▄▀ ▀▄ ▄\n▄▀ ▄▀ ▀▄ █ \n█ ▄▀▀▀ ▀▀ ▀▄ █\n ▀█ ▄████▄ ▄ █▄▀\n █ ▄▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["walk_1", "▄ ▄█▀▄█▀▄█▀ \n █ ▀█████▀▀ ▄▀\n█ ▄▀ ▄▀▄ █ \n▀▄▄▄▀▀ ▀ ▀▄ █ \n ▀▄▄▄▄▄▄▀ ▀█▀ \n ▀▄▄▄▄▄ ▄ █ \n █ ▄▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["walk_2", "▄ ▄▄▀█▄▀█▄ ▀▄ \n ▀▄ ▀█████▀ █ \n ▄▀▄▀ ▀▄ ▄▀ \n█ ▄▀▀ ▀▀ ▀▄█ ▄ \n ▀▄▄▄▄▄▄█ ▀▄ ▀▄\n █ ▀▀▀▀▀ ▄ █ \n █▀▀▀▀▀ ▄▀ █ \n▀▄ ▀▄▄▄▄▄▄▄▄▀ "]]], + ["regalecusmon", [["angry", " ▄▄▄▄▄▄▄ \n ▄▄▀▀▀▀█▀█▄▄ ▀ \n █ ▄█ █▄▄ ▀█▄ \n ▀▄▄▄▀█▀▀▄▄▀▀▄▀█\n ▀▄▄▀ ▄▀ ██ ██\n ▀▄█▀▀ ▄█▀██ █\n ▄▄▀█▄▄▄▀ ▀▀█▄ \n█▄█▄██▀▀▀██▄█▄█ "], ["attack", " ▄▄▄████▀▀▀▄ \n ▄▀▀▄ ▄▀ ▀▀█▄ \n █ ▀▀ ▄█▀▀ ▄▄▀█▄\n ████ █▄█▀▄▄▀▄█\n ▄█▀▀ █▄▄ ▄██▄▀█\n ▀▄██▀▀█ █▀▄█▀ ▀\n ▄█ ████▄▄ ▄█ \n █▄███▀ ▀██▄█▄█ "], ["eat_1", " ▄▄▄████▀▀▀▄ \n ▄▀▀▄▄ ▄▀ ▀▀█▄ \n █ ▀▀▄▄██▀ ▄▄▀█▄\n ███ █ ▄▀█▄ ▀▄█\n ▀▄▄█▄▀ ▄██▄ ▀█\n ▄▀█ █▀▄█▀ ▀\n ▄█ ███▄▄ ▄█ \n █▄███▀ ▀█▄█▄█ "], ["eat_2", " ▄▄▄▄▄▄▄ \n ▄▄▀▀▀▀█▀█▄▄ ▀ \n █ ▄▀▄ █▄▄ ▀█▄ \n ▀▄▄▄▄█▀▀▄▄▀▀▄▀█\n ▀▄▄▀ ▄▀ ██ ██\n ▀▄█▀▀ ▄█▀██ █\n ▄▄▀█▄▄▄▀ ▀▀█▄ \n█▄█▄██▀▀▀██▄█▄█ "], ["happy", " ▄▄▄████▀▀▀▄ \n ▄▀▀▄ ▄▀ ▀▀█▄ \n █ ▀ ▀▄██▀ ▄▄▀█▄\n ███▀█ ▄▀█▄ ▀▄█\n ▀▄▄█▄▀ ▄██▄ ▀█\n ▄▀█ █▀▄█▀ ▀\n ▄█ ███▄▄ ▄█ \n █▄███▀ ▀█▄█▄█ "], ["injured_1", " \n \n ▄▄▄████▀▀▀▄ \n ▄▀▀▄ ▄▀ ▀▀█▄ \n █ ▀█▄██▀ ▄▄▀█ \n █▀▀▄▀▄▀▀█▄ ▀▄ \n▄▀▀██▀▀ ▄█▀▀▀▄▀█\n█▄▄██▄▄▄█▄▄▄▄█ ▀"], ["injured_2", " \n \n ▄▄▄▄▄▄▄ \n ▄▄▀▀▀▀█▀█▄▄ ▀ \n█ █▄ █▄▄ ▀█▄ \n▀▄▄▄▀█▀█▄▄▀▀▄▀▄ \n▄▀▀██▀▀ ▄█▀▀▀▄█ \n█▄▄██▄▄▄█▄▄▄▄█▀ "], ["sleep_1", " \n \n ▄▄▄████▀▀▀▄ \n ▄▀▀ ▄▀ ▀▀█▄ \n █ ▀▀▄▄██▀ ▄▄▀█▄\n █▀▀▄▀▄▀▀█▄ ▀▄█\n▄▀▀██▀▀ ▄█▀▀▀▄▀█\n█▄▄██▄▄▄█▄▄▄▄█ ▀"], ["sleep_2", " \n ▄▄▄▄▄▄▄ \n ▄▄▀▀▀▀█▀█▄▄ ▀ \n █ ▄▄ █▄▄ ▀█▄ \n ▀▄▄▄▀█▀▀▄▄▀▀▄▀█\n ▀▄▄▀ ▄▀ ██ ██\n▄▀▀▄█▀▀ ▄█▀▀▀▄ █\n█▄▄██▄▄▄█▄▄▄▄█ "], ["walk_1", " ▄▄▄████▀▀▀▄ \n ▄▀▀▄▄ ▄▀ ▀▀█▄ \n █ ▀▀▄▄██▀ ▄▄▀█▄\n █▀▀▄▀ ▄▀█▄ ▀▄█\n ▀█▄▄▀ ▄██▄ ▀█\n ▄▀█ █▀▄█▀ ▀\n ▄█ ███▄▄ ▄█ \n █▄███▀ ▀█▄█▄█ "], ["walk_2", " ▄▄▄▄▄▄▄ \n ▄▄▀▀▀▀█▀█▄▄ ▀ \n █ ▄█▀ █▄▄ ▀█▄ \n ▀▄▄▄▀█▀▀▄▄▀▀▄▀█\n ▀▄▄▀ ▄▀ ██ ██\n ▀▄█▀▀ ▄█▀██ █\n ▄▄▀█▄▄▄▀ ▀▀█▄ \n█▄█▄██▀▀▀██▄█▄█ "]]], + ["relemon", [["angry", " \n \n \n \n ▄▄▄▄▄ ▄▀▀▄ \n ▄▀ ▀▄▀ █ \n ██▄ ▄█▀ █ ▄▀ \n ▀▄▄██▄▄▄▄▄▀▀ "], ["attack", " \n ▄▄▀▀█ \n ▄▀▀▀▀▀█ ▄▀ \n ▄█ ▄▄ ▀▄▀ \n █ ▀ ▀▀ █ \n ▀▄██ ▄▄▄▀ \n ▀▀▄▀ \n "], ["eat_1", " \n \n \n ▄▀▀▀▀▀▄ \n ▄█ ▄▄ ▀▄▄▄ \n █ ▀▄ ▀ █ ▀▄\n ▀▄██ ▄▄▄▀ ▀▄ █\n ▀▀▀ ▀ "], ["eat_2", " \n \n \n \n ▄▄▄▄▄ ▄▀▄ \n ▄▀ ▀▄█ █ \n █▀▄ ▄▀▄ █ ▄▀ \n ▀▄▄▄▄▄▄▄▄▄▀▀ "], ["happy", " \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n █▀▄ ▄▀▄ █ \n ▀▄ ▄▄▄▄ ▄▀ \n ▀▄████▀ ▀▄ \n ▀▄▄▄▀ \n "], ["injured_1", " \n \n \n \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n █▄▄▀ ▀▄▄ █▀▀▄ \n ▀▄▄▄█▄▄▄▄▄█▄▄▄▀"], ["injured_2", " \n \n \n \n \n ▄▀▀▀▀▀▄ \n ▄▀ ▄ ▄ ▀█▀▀▄ \n ███▄▄▄██▄▄█▄▄▄█"], ["sleep_1", " \n \n \n \n ▄▄▄▄▄▄▄ \n ▄▀ █▀▀▀▄ \n █▄▄ ▄▄█ █ \n ▀▄▄█▄▄▄▄█▄▄█▀ "], ["sleep_2", " \n \n \n \n ▄▀▀▀▀▀▀▄ \n ▄▀ █▀▀▀█▄ \n █▀▀▄ ▀▀█ █ \n ▀▄▄▄▄▄▄█▄▄█▀ "], ["walk_1", " \n \n \n ▄ \n ▄▀▀▀▀▀▄ ▄▀ █ \n ▄█ ▄▄ ▀█ █ \n █ ▀▄ ▀ █▄▀ \n ▀█▄█▄▄▄▄▀ "], ["walk_2", " \n \n \n \n ▄▄▄▄▄ ▄ \n ▄▀ ▀▄ ▄▀ █\n █▀▄ ▄▀▀ █ ▄▀\n ▀▄▄█▄▄▄▄▄▄▀▀▀ "]]], + ["renamon", [["angry", " █▀▀▄ ▄▄▀▀█ \n █ ▄██▀▀ █ \n ▄▀ ▄▀▀█ \n █ ▄▄█▀ ▀▄▀▄\n █▄▄ ▄▄▄▄▄▀▄ █\n █▀█▀█▄▄▀█▄█▄ █\n ▄█▄██ █▄███▄█ \n█▄█▄▄▄▀▀▀█▄█▄█▄█"], ["attack", " █▀▀▀▄▄▄▄▀▀▀▀▀█\n ▀▄▀▀▀ ▄▄▄▄▀ \n ▄▀ ▄█ █ ▄█\n █▄▄ ▀▀▀ ▄▀ █\n▄▀█▄▄▄▄▀▀▀██▄█ █\n▀▄███▄▀▀▀█▀█▄▄█▀\n ▄▄▀▀▀▄ █▄███▄ \n█▄█▄▄▄▀▀▀█▄█▄█▄█"], ["eat_1", " █▀▀▀▄▄▄▄▀▀▀▀▀█\n ▀▄▀▀▀ ▄▄▄▄▀ \n ▄▀ ▄▄▄ █ ▄█\n █▄▄ ▀ ▄▀ █\n ▀▄███▄▀▀██▄▀ █\n █ ██▀▀█▀██▄█▄▀\n ▄█▀▀▄ █▄████ \n █▄█▄▄▄██▄█▄█▄█ "], ["eat_2", " ▄▄▄▄ ▄▄▄▄▄▄\n ▀▄ ▄██▀▀ ▄▀\n ▄▀ ▀▀█▀ \n █ ▄▀▀▀ ▀▄▀▄\n █▄▄ ▄▄▄▄▄▀▄ █\n ▀██▀█▄▄▄██▀▄ █\n ▄█ ██ █ █████ \n█▄███▄████████▄█"], ["happy", " █▀▀▀▄▄▄▄▀▀▀▀▀█\n ▀▄▀▀▀ ▄▄▄▄▀ \n ▄▀ ▄▄▄ █ ▄█\n █▄▄ ▀ ▄▀ █\n ▄▀▄███▄▀▀███▀▄█\n ▀▄██▄▀▀▀▀█▀█▄█▀\n ▄█▀▀▄ ▄▄███ \n █▄█▄▄▄▀█▄█▄█▄█ "], ["injured_1", " \n ▄▄▀███▀▀▀▀▀▄▄ \n █▄▄▀ ▀▀▄▄▄█\n ▄▀ ▄▄██▀ ▀▄ \n ▀█▀▄▄▄▄▄▄▄▄▀▄ \n ▀█▀█▄▄▄▀█▀▀▄ \n ▄▄█▀▀▄ ▄█▀▀█▄▄█\n█▄█▄▄▄█▀▀█████▄█"], ["injured_2", " \n ▄▄▄▄▄▄▄▄▄ \n ▄▀▀▄▀▀▀ ▄▄ ▀▀▄\n ▀█▀ ▄▄▄ █▀▀▀\n ▄▀ ▀▀▀▀ ▄▀ \n ▀██▄▄▄▀▀███▀▀▄ \n ▄▄█▀▄▀▀▀█▄██▄▄█\n█▄█▄▄▄█▄██▄▄██▄█"], ["sleep_1", " \n █▀▀▀▄▄▄▄▀▀▀▀▀█\n ▀▄▀▀▀ ▄▄▄▄▀ \n ▄▀ ▄ █ \n ▄█▀▄ ▀▀▀ ▄█ \n ▀█ ▀▀▀▀▀▀█▀ ▀▄\n ▄█▄ ▀ █\n █▄██▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " ▄▄▄▄ ▄▄▄▄▄▄\n ▀▄ ▄██▀▀ ▄▀\n ▄▀ ▀▀█▀ \n █ ▄▄▄▀ ▀▄ \n █▄▄ ▄▄▄▄▄▀▄ \n █▀█▀▀▀▀▀▀▀▄ ▀▄\n ▄█▄▄ ▀ █\n █▄█▄█▄▄▄▄▄▄▄▄▀ "], ["walk_1", " █▀▀▀▄▄▄▄▀▀▀▀▀█\n ▀▄▀▀▀ ▄▄▄▄▀ \n ▄▀ ▄▄▄▄ █ ▄█\n ▄▀ ▀▀ ▀ ▄▀ █\n ▀██▄▄▄▀▀▀██▄▀ █\n ▄▀█▄▀▀█▀██▄█▄▀\n █▄█▀▄ █▄████ \n █▄█▄▄▄▀█▄█▄█▄█ "], ["walk_2", " █▀▀▄ ▄▄▀▀█ \n █ ▄██▀▀ █ \n ▄▀ ▀▀█ \n █ ▄█▀█▀ ▀▄▀▄\n █▄▄ ▄▄▄▄▄▀▄ █\n ▀██▀█▄▄▄██▀▄ █\n ▄█ ██ █ █████ \n█▄███▄▀▀▀█████▄█"]]], + ["renamon_x", [["angry", " ▄▄▄ ▄▄▄ \n ▄▀ █▀▀ ▄▀ \n ▄▀▄ ▄▄▀▀▄ \n▄▀ ▀ ▄█ █▀█ \n▀▄ ▄▀▀ ▄ ▄ \n▄▀█▀█▀█▀▀█▄▀▄▀ █\n▀▄█▀ ▀▀▄▄▄█▀ █\n█▄▄█▀▀▀▄▄▄█▀▄▄▀ "], ["attack", " ▄▀██▄▀▀█ \n ▄▀▄ ▀ █▄ \n▄▀ ▀ ▄█ ▀█▄▄▀ \n█▄▄▄▄▄▄ █▄▀ \n ███████ █▄▄▀▄▀▄\n █▀▀▀▀ █ ▀█ █\n ▄▀▀▀▀▀ █▄▀ ▄▀\n █▄▄█▀▀█▄▄█▀▀▀ "], ["eat_1", " ▄▀██▄▀▀█ \n █ ▀ █▄ \n ▄▀▄▀ ▄ ▀█▄▄▀ \n█ ▀ ▀ █▄▀ \n ▀█████ ▄█ ▄▀▄▀▄\n █▀▀▀▀▄▀ ▀▄█ █\n ▀▄▀▀▀▀ ▀▄▄▀ ▄▀\n █▄▄█▀▀█▄▄█▀▀▀ "], ["eat_2", " ▄▄▄ ▄▄▄ \n ▄▀ █▀▀ ▄▀ \n ▄▀▄ ▄▄▀▀▄ \n▄▀ ▀ ▄▀▄ █▀█ \n▀▄ ▄▀▀ ▄ ▄ \n █▀█▀█▀█▀▄▀▄▀ █\n ▀▄█ ▀ ▀▄▄█▀ █\n █▄▄█▀▀█▄▄█▀▄▄▀ "], ["happy", " ▄▀██▄▀▀█ \n ▄▀▄ ▀ █▄ \n▄▀ ▀ ▄▀▄▀█▄▄▀ \n█▄▄▄▄▄▄ █▄█ \n ████▀ █▀ █▄▀▄\n ▀▄▄▄▄▄▀ ▄█▀ █\n ▄▀ ▄▄ ▀█ ▄▀\n █▄▄█ █▄▄█▀▀▀ "], ["injured_1", " \n ▄▀██▄▀▀█ \n █ ▀ █▄ \n ▄▀▄▀ ▀█▄▄▀ \n▄▀ █▄ █▄▀▄ ▄ \n▀▄ ▄█ ▄▀▄▀ █\n █▀█▀██ █▀█ █\n█▄▄█▄█▄▄▄█▄▄█▄▄▀"], ["injured_2", " \n ▄▄▄ ▄▄▄ \n ▄▀ █▀▀ ▄▀ \n ▄▀▄ ▄▄▀▀▄ \n █ ▀ ▄ █▀█▄ ▄ \n█ ▀▀ ▄▀▄▀▄▀ █\n █▄▄▄▄▄▀▀▄▀█ █\n█▄▄█▄█▄▄▄█▄▄█▄▄▀"], ["sleep_1", " \n ▄▀██▄▀▀█ \n █ ▀ █▄ \n ▄▀▄▀ ▀█▄▄▀ \n█ ▀▀▀ █▄▀ \n ▀▄▄▄▄▄▄█▄ ▄▀▄▀▄\n █▀▀▄▀▄▀ ▄▀▀█ █\n██▄▄▄█▄▄█▄▄▄█▄▄▀"], ["sleep_2", " ▄▄▄ ▄▄▄ \n ▄▀ █▀▀ ▄▀ \n ▄▀▄ ▄▄▀▀▄ \n▄▀ ▀ ▄▄▄ █▀█ \n▀▄ ▄▀▀ ▄ ▄ \n █▀█▀█▀█▀▄▀▄▀ █\n▄█▀▀▄▀▄▀ ▄▀▀▄ █\n▀█▄▄▄██▄█▄▄▄█▄▀ "], ["walk_1", " ▄▀██▄▀▀█ \n █ ▀ █▄ \n ▄▀▄▀ ▄▄▀█▄▄▀ \n█ ▀▀ █▄▀ \n ▀▄▄▄▄▄▄█▄ ▄▀▄▀▄\n ▄▀▄▀▄▀▄▀ ▀▄█ █\n ▀▄▀ ▄▄ ▀▄▄▀ ▄▀\n █▄▄█ █▄▄█▀▀▀ "], ["walk_2", " ▄▄▄ ▄▄▄ \n ▄▀ █▀▀ ▄▀ \n ▄▀▄ ▄▄▀▀▄ \n▄▀ ▀ ▄█▀ █▀█ \n▀▄ ▄▀▀ ▄ ▄ \n █▀█▀█▀█▀▄▀▄▀ █\n █▄▀ ▀ ▀▄ █▀ ▄▀\n█▄▄█▀▀▀▀▄██▀▀▀ "]]], + ["reppamon", [["angry", " █▀▄ \n █▀▄▀▄\n ▄▀█▄▀█ ██ █\n █ ▄▀ █▀▄ █▄█\n █ ▄▄▄█ █▀▄██▀\n█ ▀▀ ▄▀▄▀ █▀ \n ▀▄▄▄▄█▀▀ ▄ █ \n █▄█▄█▄█▀█▄█▄▀ "], ["attack", " ▄▀█▄▀▀█ █▀▄ \n ▄▀ ▀ ▄▄▄▀ ██ █ \n█▄▄▄▄▀▀ █ ▀▄█ █\n ▀████▄ █▀▄ ██ █\n █████ █ █▀▄█▄▀\n ▄▀▀▀▀▄█▄▀ █▀ \n ▀██▀ ▄ ▄▄ █ \n █▄█▄█▄██▄█▄▀ "], ["eat_1", " ▄▄▄ ▄▄ █▀▄ \n ▄▀▄▀▀▀▄▀ █▀▄▀▄\n █ ▄▀▄█ ██ █\n█▄▄▄▄ █▀▄ █▄█\n██████ ▄▀ █▀▄██▀\n ▀▄▄▄▄▀▄▄▀ █▀ \n ▄█▀ ▄ ▄▄ ▄▄ █ \n █▄█▄█▄█▀▀█▄█▄▀ "], ["eat_2", " █▀▄ \n ▄▄ ▄▄ █▀▄▀▄\n ▄▀ █▀ █ ██ █\n ▄▀ ▀ █▀▄ █▄█\n▄▀ ▄▀▄ █ █▀▄██▀\n▀▄ ▄█▄▀ █▀ \n ██▀▀▄ ▄▄ ▄▄ █ \n █▄█▄█▄█▀▀█▄█▄▀ "], ["happy", " ▄▀█▄▀█ ▄▄ \n █ ▄▀ █ █▄▀▄ \n █ ▄▀▄█ ▀▄█ █\n█▄▄▄▄▄ █▀▄ ▀█ █\n ██████ █ █▀▄██▀\n █▀▀▀▀▄█▄▀ █▀ \n ██▀▀▄ ▄▄ ▄▄ █ \n █▄█▄█▄█▀▀█▄█▄▀ "], ["injured_1", " \n \n ▄▀█▄▀█ \n █ ▄▀ █▀▄ \n █ █ █▀▄ \n█ ▀▄▄ ▄▀▄▀ █▀▄ \n ▀▄▄▄▄█▀▀▄ ██ █\n █▄█▄█▄██▄█▄▀█▄▀"], ["injured_2", " \n \n ▄▄ ▄▄ \n ▄▀ █▀ █▄ \n ▄▀ ▀ █ █▄ \n▄▀ ▄ █ █ █▄ \n▀▄ ▀▀▄█▀█ ██▀▄\n ████████▄█▄▀█▄▀"], ["sleep_1", " ▄▄ \n █▄▀▄ \n ▄▄ ▄▄ ▀▄█ █ \n ▄▀ █▀ █▀▄ ▀█ █\n ▄▀ ▀ █ █▀▄█▄█\n▄▀ ▄▄▄▀█▄▀ ███ \n▀▄ ▄█▄ ▄ █ \n ███████▀█▄█▄▀ "], ["sleep_2", " █▀▄ \n █▀▄▀▄\n ▄▀█▄▀█ ██ █\n █ ▄▀ █▀▄ █▄█\n █ ▄█ █▀▄██▀\n█ ▀▀▀▄▀▄▀ █▀ \n ▀▄▄▄▄█▀▀ ▄ █ \n █▄█▄█▄█▀█▄█▄▀ "], ["walk_1", " █▀▄ \n ▄▀█▄▀█ █▀▄▀▄\n █ ▄▀ █ ██ █\n █ ▄▄▄█▀▄ █▄█\n█ ▀▀ ▄▀ █▀▄██▀\n ▀▄▄▄▄▀▄▄▀ █▀ \n ▄█▀ ▄ ▄▄ ▄▄ █ \n █▄█▄█▄█▀▀█▄█▄▀ "], ["walk_2", " ▄▄ ▄▄ █▀▄ \n ▄▀ █▀ █ █▀▄▀▄ \n ▄▀ ▀ █ ▀█ ▀▄\n▄▀ ▄█▀▀█▀▄ █▄█\n▀▄ ▄▀ ▄▀▀▄██▀\n ▄███▀ ▀▀ █▀ \n █▄█ ▄▀▄█▄▄ ▄▄▀▄\n ▀▀▀▀▀ ▀█▄█▄▀"]]], + ["rhihimon", [["angry", " ▄▄▄▄▄▄ \n ▄██▀ ▄█▄▄█ \n ▀██▀▀█▀██▄▄▀▄▄ \n █ ▀▀ ▄█▄█▀ ▀▄\n ▀█▀▀▀█▀ █ ▄ █\n ▄▀█ ▀▄█▄▀███ █\n ▀▄█▀█▀█ ██ █▀█\n ▄███▀▀▀▀████ "], ["attack", " ▄▄██▀▀█▀▀▄ \n ▀██▀▀█▀██▀▀█\n █ ▀▀ █▀█ \n ▀███ ▄▀█▀ █\n ▄▄▄ █▀█▄▄▀▄ █\n▄▀▄▄ ▀▀▀▀█ ▄█▄█\n ▀▄▄▄▀▀████▀▀▄ ▀\n ▄██▀ ▀███ "], ["eat_1", " ▄▄██▀▀█▀▀▄ \n ▀██▀▀█▀██▀▀▄ \n █ ▀ ▀ █▀█▄▀█ \n ▀███ ▄█▀█ █\n ▄█▀██ ██ █ █\n █ █▄▄██▄▄▀▀▀▄█\n █▄█▄█▄█▄ ▀\n ▄██▀ ▀██▄ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄██▀ ▄█▄▄█ \n ▀██▀▀█▀▀█▄▄▀▄▄ \n █ ▀ ▀ █▄█▀ ▀▄\n ▀█▀▀▀█▀ █ ▄ █\n ▄▀▀█ ▀▄█▄█▀▄█ █\n ▀▄█▀█▀█ ███ █▀█\n ▄███▀▀▀▀████ "], ["happy", " ▄▄██▀▀█▀▀▄ \n ▀██▀▀█▀██▀▀▄ \n █ ▀ ▀ █▀█▄▀█ \n ▀███ ▄███▄ █\n ▄▄█▀█▀██▄▀██ █\n █ ██▄▄█▀█ █▀▄█\n ▀█▄█▄█▄███▀ ▀\n ▄██▀ ▀██▄ "], ["injured_1", " \n ▄▄█▀▀█▀▀▄ \n ▄███▄▄███▀▀▄ \n █▀ █▄ ▀█▀█▄▀█ \n ▀▄▄▄▄▄██▀█ █\n ▄▄█ ▄ █▄▄█ █ █\n █▄▄█▄▄█ ▄██▀▄█\n ▄███████████▄ ▀"], ["injured_2", " \n ▄▄▄▄▄▄ \n ▄██▀ ▄█▄▄█ \n ▀██▀█▀▀██▄▄▀▄▄ \n █ ▀▀ ▄█▄█▀ ▀▄\n ▀█▀▀▀█▀ █ ▄ █\n ▄▀▀█ ▀▄▀▀▀█▄█ █\n ▀██████▄▄███▄██"], ["sleep_1", " \n \n ▄▄█▀▀█▀▀▄ \n▄███▄▄███▀▀█▀▄▄ \n █▀ ▄▄ ▀█▀█▄ ▀▄\n ▀▄▄▄▄▄██▀█▄ ▄ █\n ▄▄▀█ ▀▄█▄▀█▄█ █\n ████████████ ▀█"], ["sleep_2", " \n ▄▄▄▄▄▄ \n ▄██▀ ▄█▄▄█ \n ▀██▀▀▀▀██▄▄▀▄▄ \n █ ▀▀ ▄█▄█▀ ▀▄\n ▀█▀▀▀█▀ █ ▄ █\n ▄▄▀█ ▀▄█▄▀█▄█ █\n ████████████ ▀█"], ["walk_1", " ▄▄█▀▀█▀▀▄ \n ▄███▄▄███▀▀▄ \n █▀ ▄█ ▀█▀█▄▀█ \n ▀▄▄▄▄▄██▀█ █\n ▄█ ▄ █ ▄█ █ █\n ▄▀ █▄▄█▀█▀ █▀▄█\n ▀▄█▄█▄█▄█▄▄▀ ▀\n ▄██▀ ▀██▄ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄██▀ ▄█▄▄█ \n ▀██▀▀█▀██▄▄▀▄▄ \n █ ▀▀ ▄█▄█▀ ▀▄\n ▀█▀▀▀█▀ █ ▄ █\n ▄▀█ ▀▄█▄█▀▄█ █\n █ ▄▀█▀█ █ █ ▀█\n ▄███▀▀▀▀███▄ "]]], + ["rhinomon", [["angry", " ▄▄ \n▄▀▄ ▄▄▀▀▄ ▄▀ █ \n▀▄ ▀▄▄▀▀▀▀▄▄▀ ▄▄\n▄█▄█▀ ▄▀▀▀▄▀\n█ ▀ ▄ █ █ ▄▀ █\n▀█▄▄▀▀▀▀▄█▀▀▄▄▀█\n ▄█▄▄▄▄██▄▄▄█ ▄█\n█▄█▄▄█▀▀▄█▄█▄█▄█"], ["attack", " ▄ ▄▄ ▄▀█ \n█ ▀▄▀▀ ▄█▄▀ ▄▀ \n █ ▄█▀▀ ▀█▄▄▀█\n▄▀█▀ ▄ █ ▄▀▄\n█▄ █ █▄▀▄▀▄▀ ▄█\n ▀▄▄███▄▀ ▀▄▄▀ █\n █████▀▄▄▄█▄ ▄█\n █▄█▄▄▄█▄█▄█▄█▄█"], ["eat_1", "▄▄ ▄▄ ▄▄▄ \n█ ▀▄▀▀ ▄█▄▀ ▄▀ \n █▄█▀▀▀ ▀█▄▄▀█\n█ ▀ ▄ ▄ █ ▄▀▄\n▀▄ ▄█▄█▄▀▄▀▄▀ ▄█\n ███▀▀█▀ ▀▄▄▀ █\n ▄▀▀▀▀█▄▄▄█▄ ▄█\n █▄█████▄█▄█▄█▄█"], ["eat_2", " ▄▄ \n▄▀▄ ▄▄▀▀▄ ▄▀▄▀ \n▀▄ ▀▄▄▄▀▀▀▄▄▀ ▄▄\n █▄█▀ ▄▀▀▀▄▀\n█ ▀ ▄ █ ▄ █ ▄▀ █\n▀█ █▄▀▀▄▀█▀ ▄▀█\n ▀█▄▄▄█▄▄▄█▀ ▄█\n █▄█▄██▄█▄█▄█▄█"], ["happy", " ▄ ▄▄ ▄▄▄ \n█ ▀▄▀▀ ▄█▄▀ ▄▀ \n █ ▄█▀▀ ▀█▄▄▀█\n▄▀█▀ ▄ █ ▄▀▄\n█ █ █▄█▄▀▄▀ ▄█\n ▀▄▄████▀ ▀▄▄▀ █\n ▄▀███▀▀▄▄▄█▄ ▄█\n█▄█▄▄▄▄█▄█▄█▄█▄█"], ["injured_1", " \n \n▄▀▄ ▄▄▀▀▄▀▀▀▀█ \n▀▄ ▀▄▄▄▀▀▀█▄█▄ \n █▄█▀ ▄█ █ \n█ ▀ ▄ █ ▄▄█▄▄▀ █\n▀█ █▄▀▀█▄▄█▄▄▀█\n█▄██▄▄▄▄█▄█▄█▄██"], ["injured_2", " \n \n ▄ ▄▄ ▄▄ \n█ ▀▄▀▀ ▄█▄ ▀▀▄ \n █ ▄█▀▀ ▀█▀▀▀▄\n▄▀█▀ ▄ ▄██ ▄▀█\n█▄ █ █▄█▄▄██▄▄█\n██▄▄██▄▄█▄█▄█▄██"], ["sleep_1", " \n \n▄▀▄ ▄▄▀▀▄ ▄▀▀█ \n▀▄ ▀▄▄▄▀▀▀▄▄█▄▀█\n █▄█▀ ▄▀ ▄▀▄\n█ ▀ ▄ █ ▄█▄▀ ▄█\n▀█ █▄▀▀█▄▄▄█▀ █\n█▄██▄▄▄█▄█▄▄█▄██"], ["sleep_2", " \n ▄ ▄▄ ▄▄▄ \n█ ▀▄▀▀ ▄█▄▀ ▄▀ \n █ ▄█▀▀ ▀█▄▄▀█\n▄▀█▀ ▄ █ ▄▀▄\n█▄ █ █▄▀▄█▄▀ ▄█\n █▄▄▀▀ █▄▄▄█▀ █\n█▄█▄████▄█▄▄█▄██"], ["walk_1", " ▄ ▄▄ ▄▄▄ \n█ ▀▄▀▀ ▄█▄▀ ▄▀ \n █ ▄█▀▀ ▀█▄▄▀█\n▄▀█▀ ▄ █ ▄▀▄\n█▄ █ █▄▀▄▀▄▀ ▄█\n ▀▄▄▀▀ ▄▀ ▀▄▄▀ █\n ▄█▀▀█▀▄▄▄█▄ ▄█\n █▄█▄█ █▄█▄█▄█▄█"], ["walk_2", " ▄▄ \n▄▀▄ ▄▄▀▀▄ ▄▀▄▀ \n▀▄ ▀▄▄▄▀▀▀▄▄▀ ▄▄\n █▄█▀ ▄▀▀▀▄▀\n█ ▀ ▄ █ ▄ █ ▄▀ █\n▀█ █▄▀▀▄▀▀█ ▄▀█\n ▄█▀▄▄▄▄▀▄▄▄█ ▄█\n█▄█▄▄█▀▀█▄█▄██▄█"]]], + ["rhinomon_x", [["angry", " ▄▄ ▄▄ █▀▄\n█ █ ▄█ ▀▄ █ █\n▀▄ ▀▄▄▀▀▀▀▄▄ ██\n▄▀▄▀▄ █ █ ▄▀▀▀▄▀\n█ ▀ ▀ ▀ █ ▄▀ █\n▀█▄▄▀▀▀▀▄█▀▀▄▄▀█\n ▄█▄▄▄▄██▄▄▄█ ▄█\n█▄█▄▄█▀▀▄█▄█▄█▄█"], ["attack", "▄▀▄ █▀▄ ▄▀▀▄ \n█ ▀▄▀▀ ▄█▄ ▀▀▄█\n █ ▄█▀▀ ▄ ▀█▄▄▀█\n▄▀█▀▄ █ ▀ █ ▄▀▄\n█▄▀ ▀ ▄▄▀▄▀▄▀ ▄█\n ▀▄▄███▄▀ ▀▄▄▀ █\n █████▀▄▄▄█▄ ▄█\n █▄█▄▄▄█▄█▄█▄█▄█"], ["eat_1", "█▀▄ █▀▄ █▀▄\n█ ▀▄▀▀ ▄█▄ ▀▄█\n █▄█▀▀▀ ▄ ▀█▄▄▀█\n█ █ █ █ ▀ █ ▄▀▄\n▀▄ ▄▄▄▄▄▀▄▀▄▀ ▄█\n ███▀▀█▀ ▀▄▄▀ █\n ▄▀▀▀▀█▄▄▄█▄ ▄█\n █▄█████▄█▄█▄█▄█"], ["eat_2", " ▄ ▄▄ ▄▄ \n█ █ ▄█ ▀▄ ▀▄▄▀▄\n▀▄ ▀▄▄▄▀▀▀▄▄ ██\n █▄█▀ ▄ █ ▄▀▀▀▄▀\n█ █ █ ▀ ▄ █ ▄▀ █\n▀█ ▄▄▀▀▄▀█▀ ▄▀█\n ▀█▄▄▄█▄▄▄█▀ ▄█\n █▄█▄██▄█▄█▄█▄█"], ["happy", "▄▀▄ █▀▄ ▄▀▀▄ \n█ ▀▄▀▀ ▄█▄ ▀▀▄█\n █ ▄█▀▀ ▄ ▀█▄▄▀█\n▄▀█▀▄ █ ▀ █ ▄▀▄\n█ ▀ ▀ ▄█▄▀▄▀ ▄█\n ▀▄▄▄███▀ ▀▄▄▀ █\n ▄▀███▀▀▄▄▄█▄ ▄█\n█▄█▄▄▄▄█▄█▄█▄█▄█"], ["injured_1", " \n ▄ ▄▄ ▄▄ \n█ █ ▄█ ▀▄ ▀▄▄▀▄\n▀▄ ▀▄▄▄▀▀▀▄▄▄▄██\n █▄█▀ ▄▄ ▄█ █▀\n█ █ ██▀ ▄▄█▄▄▀ █\n▀█ ▄▄▀▀█▄▄█▄▄▀█\n█▄██▄▄▄▄█▄█▄█▄██"], ["injured_2", " \n \n▄▀▄ █▀▄ ▄▄▄ \n█ ▀▄▀▀ ▄█▄ ▀▄▄▀▄\n █ ▄█▀▀ ▀█▀▀▀█\n▄▀█▀▄▄▄▀▀▄██ ▄▀█\n█▄▀ ▀▀▄▄█▄▄██▄▄█\n██▄▄██▄▄█▄█▄█▄██"], ["sleep_1", " \n ▄ ▄▄ ▄▀▀▄ \n█ █ ▄█ ▀▄ ▀▀▄█\n▀▄ ▀▄▄▄▀▀▀▄▄▄▄▀█\n █▄█▀ ▄ █ ▄▀ ▄▀▄\n█ █ █ ▀ ▄█▄▀ ▄█\n▀█ ▄▄▀▀█▄▄▄█▀ █\n█▄██▄▄▄█▄█▄▄█▄██"], ["sleep_2", " \n▄▀▄ █▀▄ ▄▀▀▄ \n█ ▀▄▀▀ ▄█▄ ▀▀▄█\n █ ▄█▀▀ ▄ ▀█▄▄▀█\n▄▀█▀▄ █ ▀ █ ▄▀▄\n█▄▀ ▀ ▄▄▀▄█▄▀ ▄█\n █▄▄▀▀ █▄▄▄█▀ █\n█▄█▄████▄█▄▄█▄██"], ["walk_1", "▄▀▄ █▀▄ ▄▀▀▄ \n█ ▀▄▀▀ ▄█▄ ▀▀▄█\n █ ▄█▀▀ ▄ ▀█▄▄▀█\n▄▀█▀▄ █ ▀ █ ▄▀▄\n█▄▀ ▀ ▄▄▀▄▀▄▀ ▄█\n ▀▄▄▀▀ ▄▀ ▀▄▄▀ █\n ▄█▀▀█▀▄▄▄█▄ ▄█\n █▄█▄█ █▄█▄█▄█▄█"], ["walk_2", " ▄ ▄▄ ▄▄ \n█ █ ▄█ ▀▄ ▀▄▄▀▄\n▀▄ ▀▄▄▄▀▀▀▄▄ ██\n █▄█▀ ▄ █ ▄▀▀▀▄▀\n█ █ █ ▀ ▄ █ ▄▀ █\n▀█ ▄▄▀▀▄▀▀█ ▄▀█\n ▄█▀▄▄▄▄▀▄▄▄█ ▄█\n█▄█▄▄█▀▀█▄█▄██▄█"]]], + ["rizegreymon", [["angry", " ▄ ▄▄▄▄▄ ▄▄▄ \n ██▄███▀ ████▀ \n▄█████▄▄██▀█▀▄▄ \n▀█▀▀ ▀▀▀ ▄█▀▄▀ \n ▀█▀▀▀▀▄█ ▄ ▀▀█\n ▄▀█▀ ▀▄▄▄▀▀▄\n █▄▀▀▄ ▄█▄ █\n █▄█▄▄█▀▀▄▄█▄██"], ["attack", " ▄█ ▄█████▄▄██▀ \n █████▀ ▄████ \n████▀███▀▀ █▄▀█ \n ▀▄▄▄▄▄ ▄▄▀▀ █▄▄\n▄▀▀▀█▀▀▀ █ ▀ ▄▄▀\n█ █ █ ▀▀█▄▄▄\n▀▄▄▄█▄▄▄▄▄▄▄▀▀▄█\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_1", " ▄█ ▄█████▄▄██▀ \n █████▀ ▄████ \n██▀▀▀▀▀▀▀▀ █▄▀█ \n ▀▄█▄██▄ ▄▀▀ █▄▄\n █▀▀▀▀ ▄█ ▀ ▄▄▀\n █ █▀▀ █ ▀█▀█▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_2", " ▄ ▄▄▄▄▄ ▄▄▄ \n ██▄███▀█████▀ \n▄█████▄█▄█▀█▀▄▄ \n▀█▀▀ ▀▀▀ ▄█▀▄▀ \n ▀▀█▀▀ █ ▄ ▀▀█\n ▄▀█ ▄▀▀▄▄▄██▄\n █▄▀▄ ▀▄▄█▀▀▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["happy", " ▄█ ▄█████▄▄██▀ \n █████▀▄▀████ \n████▀███▀▀ █▄▀█ \n █▄▄▄▄ ▄▄▀▀ █▄▄\n█ ▀▄▄▄ █ █ ▀ ▄▄▀\n ▀▀█ ▀▄▄██▀█▄ \n ▄▄▀▄ █▀▀▀▄█\n█▄█▄▄██▀▀█▄█▄█▄█"], ["injured_1", " ▄ ▄▄▄▄▄ ▄▄▄ \n ██▄██▀██████▀ \n▄██████▄▄█▀█▀ \n▀█▀▀ ▀▀▀ ▀▄▀█ \n ▀█▀▀▀ ▄▀▀ █▄▄\n ▄▀▀█ ▄█ ▀ ▄▄▀\n █▄▀ ▀▄▀▄ ▀█▀▀▄█\n█▄█▄█▄▀█▄█▄█▄█▄█"], ["injured_2", " \n ▄█ ▄█████▄▄██▀ \n █████▄▀▀████ \n████▀███▀▀ █ ▄▄ \n ▀▄▄▄▄▄ ▄▄▀▄▀ \n ▄▀▀█ ▄█ ▄ ▀▀█\n █▄▀ ▀▄▀▄▀▄▄▄██ \n█▄█▄█▄▀█▄█▄█▄█▄█"], ["sleep_1", " ▄ ▄▄▄▄▄ ▄▄▄ \n ██▄█████████▀ \n▄█████▄▄▄█▀█▀▄▄ \n▀█▀▀ ▀▀▀ ▄█▀▄▀ \n ▀█▀▀▀ █ ▄ ▀▀█\n█▀█▀█▀ ▄▀▄▄▄▀▀ \n██▄▄█▄ ██▀▀▀█▀▄ \n█▄█▄███▄█▄▄▄█▄▄█"], ["sleep_2", " ▄█ ▄█████▄▄██▀ \n █████▀▀▀████ \n████▀███▀▀ █▄▀█ \n ▀▄▄▄▄ ▄▀▀ █▄▄\n ▄▀▀▀ █ ▀ ▄▄▀\n█▀█▀█▀ ▄▀█▀█ \n██▄▄█▄ ██▀▀▀█▀▄ \n█▄█▄███▄█▄▄▄█▄▄█"], ["walk_1", " ▄█ ▄█████▄▄██▀ \n █████▀ ▄████ \n████▀███▀▀ █▄▀█ \n ▀▄▄▄▄▄ ▄▀▀ █▄▄\n ▄▄▀ ▄█ ▀ ▄▄▀\n █ █ █ ▀█▀█▄▄\n ▄█▀▄ ▀▀█▀▀▀▄█\n█▄█▄▄██▀▀█▄█▄█▄█"], ["walk_2", " ▄ ▄▄▄▄▄ ▄▄▄ \n ██▄███▀▀████▀ \n▄█████▄▄██▀█▀▄▄ \n▀█▀▀ ▀▀▀ ▄█▀▄▀ \n ▀▀█▀▀ █ ▄ ▀▀█\n ▄▀█ ▄▀▀▄▄▄██▄\n ▀▄▀▄ ▀▄▄▀▀▀█▄█\n █▄█▄███▀▄█▄█▄█ "]]], + ["rizegreymon_x", [["angry", " ▄ ▄▄▄▄▄ ▄▄▄ \n ██▄████▀███▀ ▄▄\n▄██████▄▄█▀█▄▀ █\n▀█▀ ▀▀ ▄▀ ▄█▄\n ▀▀█▀▀▀▀▀▄█▄▄▄▀\n ▄█ ▄▄ ▄█ ▄ █ \n █▄██▀▀█▀ ▄▄█▀█\n █▄█▄█▀█▄▄█▄█▄█ "], ["attack", " ▄█ ▄█████▄██▀ \n █████▀ ▄███ ▄▄\n███▀▀██▀▀▀ █▄▀ █\n ▀▄▄▄▄▄ ▄█▄ ▄█▄\n▄▀▀▀█▀▀▀█ ▄ █▄▄▀\n█ █ █████▄▄▄█▄▄▄\n▀▄▄▄█▄▄▄▄▄▄▄▀▀▄█\n█▄█▄▄▀▀▀▀▀▄█▄█▄█"], ["eat_1", " ▄█ ▄█████▄██▀ \n▄█████▀▄▀███ ▄▄\n█▀▄▄▄▀▀▀▀▀ █▄▀ █\n ▀██████ ▄▀▄ ▄█▄\n ▀█▀▀▀▄▀▀▄▄▄▄▄▀\n ▄▀████▄▄█ ▄ █▄▄\n ▀▄█▀▄ ▄▀ ▄▄█▄▀\n █▄█▄▄▀█▄▄█▄█▄█ "], ["eat_2", " ▄ ▄▄▄▄▄ ▄▄▄ \n ██▄███▀████▀ ▄▄\n▄█████▄█▄█▀█▄▀ █\n▀█▀ ▀▀ ▄▀ ▄█▄\n ▀▀█▀▀▀▀▀▄█▄▄▄▀\n ▄█ ▄▄ ▄█ ▄ █ \n █▄██▀▀█▀ ▄▄█▀█\n █▄█▄█▀█▄▄█▄█▄█ "], ["happy", " ▄█ ▄█████▄██▀ \n █████▀▄▀█▀ ▀█▄▄\n███▀▀██▀▀█ █ █\n ▀▄▄▄▄▄▄▄█▀ ▀██▄\n ▄▀ █ ▀ █▄▀\n ▄▀█▄██▄▄ ▀█▀▄▄▄\n ▀▄█▀▄ ▀▄▀▀▀▄▄▀\n █▄█▄▄▀▀▀▄█▄█▄█ "], ["injured_1", " \n ▄█ ▄█████▄██▀ \n ██████ ▀███ ▄▀█\n███▀▀██▀▀▀ █▀ ▄▀\n ▀▄▄▄▄▄▄▄▄▀▄▄▀▀█\n ▄█▄ ██▄▄█ \n █ ▀ █ ▄█ ▀ █\n █▄▄▄██████▄▄▄▄█"], ["injured_2", " \n ▄ ▄▄▄▄▄ ▄▄▄ \n ██▄███▀████▀▄▀█\n▄██████▄▄█▀█▀ ▄▀\n▀█▀ ▀▀ ▄▀▄▀▀█\n ███▀▀▀▀▀▄█▄▄█ \n █ ▀ █ █ ▀ █\n █▄▄▄██████▄▄▄▄█"], ["sleep_1", " \n ▄█ ▄█████▄██▀▄▄\n █████▀▀▀███▄▀ █\n███▀▀██▀▀▀ █ ▄█▄\n ▀▄▄▄▄▄▄▄▄▀▄ ▄▀\n ▄█ ▄▄ █▀▀▀█ \n █▄██▀▀▄▀ ▀ █▀█\n █▄█▄██▄▄▄▄████ "], ["sleep_2", " ▄ ▄▄▄▄▄ ▄▄▄ \n ██▄████████▀ ▄▄\n▄█████▄▄▄█▀█▄▀ █\n▀█▀ ▀▀ ▄▀ ▄█▄\n ▀▀█▀▀▀▀▀▄█▄▄▄▀\n ▄█ ▄▄ ▄█ ▄ █ \n █▄██▀▀█▀ ▄▄█▀█\n █▄█▄█▄█▄▄█▄█▄█ "], ["walk_1", " ▄█ ▄█████▄██▀ \n █████▀ ▄███ ▄▄\n███▀▀██▀▀▀ █▄▀ █\n ▀▄▄▄▄▄▄▄▄▀▄ ▄█▄\n ▄▀ ▀▄▄▄▄▄▀\n ▄▀█▄██▄▄█ ▄ █▄▄\n ▀▄█▀▄ ▄▀ ▄▄█▄▀\n █▄█▄▄▀█▄▄█▄█▄█ "], ["walk_2", " ▄ ▄▄▄▄▄ ▄▄▄ \n ██▄███▀▀███▀ ▄▄\n▄█████▄▄██▀█▄▀ █\n▀█▀ ▀▀ ▄▀ ▄█▄\n ▀▀█▀▀▀▀▀▄█▄▄▄▀\n ▄█ ▄▄ ▄█ ▄ █ \n █▄██▀▀█▀ ▄▄█▀█\n █▄█▄█▀█▄▄█▄█▄█ "]]], + ["roachmon", [["angry", " ▄▄ \n ▄▀ ▄▀▀▀▄ \n ▄▀ █ ▄▀▀▀█\n ▀▄▄▄████▄▀ ▄▀ \n▄▀███▀██▄▀█▀▀ \n█▄▄█▄▄███████▄▄▄\n▀▄▀ ▀▄█ █▀█▀█▀█▄\n█▄██▀▀▀▀█▄▄█▄█▄█"], ["attack", " ▄▀ ▄▀▀ ▄▀█ \n█ █ █ █ \n █ ▀▄ █ █▄▄▀█\n ▄██████▀███ ▄▀\n█ ▀█▀ ███▄███▀ \n█▀█▀█▀█▀███████▀\n█ ▄ ▄ █ █ █ █▀ \n ████▀█▄▄█▄█▄█▄ "], ["eat_1", " ▄▀▀ ▄▄▄ \n █ ▄▀ ▀ ▄▄▄▄\n █ █▄▄▄ ▄▀ ▄▀\n ▄▀██▀██▀█▄▄▄▀ \n█ ▀█ ▀███▄█▄▄ \n█▀█▀█▀█▀███████▀\n█▄ ▄█▄ █ █ █ \n ████▀▀█▄▄█▄█▄█ "], ["eat_2", " ▄▄ \n ▄▀ ▄▀▀▀▄ \n ▄▀ █ ▄▀▀▀█\n ▀▄▄▄████▄▀ ▄▀ \n▄█▀███▀█▄▀█▀▀ \n█▄█▄█▄█▄█████▄▄▄\n▀▄▀ ▀▄█ █▀█▀█▀█▄\n█▄██▀▀▀▀█▄▄█▄█▄█"], ["happy", " ▄▀▀ ▄▄▄ \n █ ▄▀ ▀ ▄▄▄▄\n █ █▄▄▄ ▄▀ ▄▀\n▄█▀███▀██▀▄▄▄▀ \n█▄█▄█▄█▄██ █▄ \n█▀█▀█▀█▀███████▀\n█▄ ▄█▄ █ █ █ \n ████▀▀█▄▄█▄█▄█ "], ["injured_1", " \n ▄▀▀ ▄▄▄ \n █ ▄▀ ▀ ▄▄▄▄\n █ █▄▄▄ ▄▀ ▄▀\n ▄██████▀█▄▄▄▀ \n█▀ ██ ▀██▄█▄▄ \n█▀█▀█▀█▀█▀█▀█▀█▀\n▄█▄▄▄██▄██▄█▄█▄█"], ["injured_2", " \n ▄▄ \n ▄▀ ▄▀▀▀▄ \n ▄▀ █ ▄▀▀▀█\n ▀▄▄▄████▄▀ ▄▀ \n▄█▀██▀██▄▀█▀▀ \n█▄▄██▄▄██████▄▄▄\n█▄█▄▄▄█▄█▄█▄█▄█▄"], ["sleep_1", " ▄▄ \n ▄▀ ▄▀▀▀▄ \n ▄▀ █ ▄▀▀▀█\n ▀▄▄▄████▄▀ ▄▀ \n▄███████▄▀█▀▀ \n█▄▄██▄▄██████▄▄▄\n▀▄▀ ▀▄█ █▀█▀█▀█▄\n█▄██▀▀▀▀█▄▄█▄█▄█"], ["sleep_2", " \n ▄▀▀ ▄▄▄ \n █ ▄▀ ▀ ▄▄▄▄\n █ █▄▄▄ ▄▀ ▄▀\n ▄██████▀█▄▄▄▀ \n█▀▀██▀▀██▄█▄▄ \n█▀█▀█▀█▀█▀█▀█▀█▀\n▄█▄▄▄██▄██▄█▄█▄█"], ["walk_1", " ▄▀▀ ▄▄▄ \n █ ▄▀ ▀ ▄▄▄▄\n █ █▄▄▄ ▄▀ ▄▀\n ▄▀██▀██▀█▄▄▄▀ \n█ ▀█ ▀███▄█▄▄ \n█▀█▀█▀█▀███████▀\n ▀▄▄▄██▄ █ █ █ \n █▄▄█ █▄▄█▄█▄█ "], ["walk_2", " ▄▄ \n ▄▀ ▄▀▀▀▄ \n ▄▀ █ ▄▀▀▀█\n ▀▄▄▄████▄▀ ▄▀ \n▄▀▄█▀▄██▄▀█▀▀ \n█▄▄█▄▄███████▄▄▄\n▀▄▀ ▀▄█ █▀█▀█▀█▄\n█▄██▀▀▀▀█▄▄█▄█▄█"]]], + ["rosemon", [["angry", " \n ▄▀▄▀▀▀▄▀▀▄ \n▄▄█ █ █ █▄▄ \n▀██ █▄ ▄▄▀ ██▀ \n▄▀ █ ▄▀▀▄ ██ ▀▄ \n█ ▀ █▄▄▄▄▀█ ▀ █ \n██▀▀█▄▀▄▄█▀▀███▄\n█▄▄▄█▀▀▀▀█▄▄▄███"], ["attack", " ▄▀▀▀▀▄▀▀▄ \n █ ▄▀ █ \n▄▄▄ ▀▄▄ █ ███\n▀▄ ▀▄█ ▀▀▀▄▄▄█▀ \n █▀▀▀▀▀█▀▀▄██ \n█▄▄█▀█▀▀▀ █ ██ \n ▄█▀█ ▄█▄▄▀▄▀██ \n█▄▄▄▄▀ █▄▄█▄▄███"], ["eat_1", " ▄▀▄▀▀▀▄▀▀▄ \n █ █ █ █ \n███ █▀▄▄▀▀█ ███ \n ▀█▄▀▄▄▄▄▄ ███ \n █ ▀▀████▀▀▀ █ \n██▄▄█▄▄▄▄█▄▄███▄\n███▀▀▄▄▄▄▀▀█████\n██▄▄▄█ █▄▄▄█▀██"], ["eat_2", " \n ▄▀▄▀▀▀▄▀▀▄ \n▄▄█ █ █ █▄▄ \n▀██ █▄ ▄▄▀ ██▀ \n ███▄ ▀▀ ▄████▄ \n▄██ ▀█▀▀ ████ \n██▀▀▄▄▀▄▄█▀▀███▄\n█▄▄▄█▀▀▀▀█▄▄▄███"], ["happy", " ▄▀▄▀▀▀▄▀▀▄ \n █ █ █ █ \n███ █▀▄▄▀▀█ ███ \n▄▀█▄▀▄▄▄▄▄▀▄█▀▄ \n▀▄ ▀▀████▀▄▀ ▄█ \n▄██▄█▄▄▄▄█▄▄███ \n███▀▀▄▄▄▄▀▀█████\n██▄▄▄█ █▄▄▄█▀██"], ["injured_1", " \n ▄ ▄▄▄ ▄▄ \n ▄▀▄▀ ▀▄ █ \n▄▄█ █ █ █▄▄ \n▀██▄▀▀▄▄▀▀▄▄██▀ \n ██ ▀▄▄▄▄▀▄▄██ \n █ ▀█▄▄▄▄█ ██▄ \n██▄▄█▄▄▄▄█▄▄████"], ["injured_2", " \n \n ▄▀▄▀▀▀▄▀▀▄ \n▄█ █ █ █▄▄▄ \n▀█ █▄ ▄▄▀ ███▀ \n▄█▀█ ▀▀ ▄▀▀███ \n█ ▀▄████▄▄█ █▄ \n█▄▄█▄▄▄▄▄▄█▄▄███"], ["sleep_1", " ▄▀█▀▀█▀▄ \n █ █ █ █ \n █ █ █ █ \n █ ▄▀███▀█▄ █ \n █ ██▀▄▄███ \n ███▀▄█████ \n ███ ██████▄ \n ▄████▄████████▄"], ["sleep_2", " ▄▄▄▄▄▄ \n ▄▀▄▀ ▀▄▀▄ \n ▄▀ █ █ ▀▄ \n █▄▀█████▀█▄█ \n █ ████▀▀▄███ \n █████▀▄█████ \n ▄████▀▄██████▄ \n▄█████▄████████▄"], ["walk_1", " ▄▀▄▀▀▀▄▀▀▄ \n █ █ █ █ \n███ █▄ ▄▄▀ ███ \n ███▄ ▀▀ ▄████ \n ██▀▄▀▀▀▀▄ ███▄ \n▄▀ █▄▀▀▄█ ▀██▄\n███▀▀▄▄▄▄▀▀█████\n██▄▄▄█ █▄▄▄█▀██"], ["walk_2", " ▄ ▄▄▄ ▄▄ \n ▄▀▄▀ ▀▄ █ \n▄▄█ █ █ █▄▄ \n▀██▄▀▀▄▄▀▀▄▄██▀ \n ██▀▀▄▄▄▄▀▀███ \n█▀ ▄█ ▄▄ █▄ ▀██ \n██▀▀█▀ ▀█▀▀████\n█▄▄▄█▀▀▀▀█▄▄▄███"]]], + ["rosemon_x", [["angry", " \n▄ █▀▄▀▀▀▄▀█ ▄ \n█▄█ █ █ █▄█ \n▀██ █▄ ▄▄▀ ██▀ \n▄▀ █ ▄▀▀▄ ██ ▀▄ \n█ ▀ █▄▄▄▄▀█ ▀ █ \n▄██▀▀▄▀▄▄▀▀█████\n██▄▄▄█▀▀█▄▄▄█▀██"], ["attack", " ▄▀▀▀▀▄▀█ ▄\n █ ▄▀ █▄█\n▄▄▄ ▀▄▄ █ ▄███▀\n▀▄ ▀▄█ ▀▀▀▄███▀ \n █▀▀▀▀▀█▀▀▄██▄ \n█▄▄█▀█▀▀▀ █▀██▄ \n ▄█▀ ▄█▄▄▀▄▀██▄\n▄█▄▄▄▄▀▀█▄█▄▄███"], ["eat_1", "▄ █▀▄▀▀▀▄▀█ ▄ \n█▄█ █ █ █▄█ \n▀██ ▀▀▄▄▀▀▀ ███ \n ▀██ ▄▄▄▄▄ ██▀ \n █ ▀▀████▀▀▀ █ \n █▄▄█▄ ▄▄█▄▄██▄ \n████▀ ▄▄ ▀█████▄\n███▄▄█ █▄▄██▀██"], ["eat_2", " ▄▄ ▄▄▄ ▄▄ \n█ ▄▀▄▀ ▀▄▀▄ █ \n███ █ █ ███ \n ██▄▀▀▄▄▀▀▄▄██▀ \n ▄█▀█▄▄▄▄█▀▀█▄ \n █ ▀█▀▄▀ █▀ █▄ \n███▀▀▀▄█▀▀▀████▄\n██▄▄▄▀ ▀▄▄▄█▀██"], ["happy", "▄ █▀▄▀▀▀▄▀█ ▄ \n█▄█ █ █ █▄█ \n▀██ █▄ ▄▄▀ ██▀ \n █▀█▄ ▀▀ ▄█▀▀█ \n ▀▄ ████ ▄█ \n ▄██▄▄▀▄▄█████ \n▄███▀ ▄▄ ▀█████▄\n███▄▄█ █▄▄██▀██"], ["injured_1", " \n ▄▄ ▄▄▄ ▄▄ \n█ ▄▀▄▀ ▀▄▀▄ █ \n███ █ █ ███ \n ▀█▄▀▀▄▄▀▀▄▄██▀ \n ██ ▀▄▄▄▄▀▄▄█▄ \n █ ▀█▄█▄▄█▀ ██▄ \n██▄▄█▄▄▄▄█▄▄████"], ["injured_2", " \n \n▄ █▀▄▀▀▀▄▀█ ▄ \n█▄█ █ █ █▄█ \n▀██ █▄ ▄▄▀ ██▀ \n ▄█▀▄ ▀▀ ▄▀██▄ \n █ ▀▄████▄▀ ██▄ \n██▄▄█▄▄▄▄█▄▄████"], ["sleep_1", "▄ █▀▄▀▀▀▄▀█ ▄ \n█▄█ █ █ █▄█ \n▀██ █▄▄▄▄▄▀ ███ \n ▀█▄█▀█████▄█▀ \n ▄█▄▀██▀▄█▄ \n ███▄▀▄████ \n ▄█████▄▀███▄ \n ▄████████▄███▄ "], ["sleep_2", " ▄▄ ▄▄▄ ▄▄ \n█ ▄▀▄▀ ▀▄▀▄ █ \n███ █ █ ███ \n ██ ██████▄ ██▀ \n ▀██ ████▀██ \n ██▄▀█▀▄███ \n ▄███▄▀█████▄ \n ▄██████▄█████▄ "], ["walk_1", "▄ █▀▄▀▀▀▄▀█ ▄ \n█▄█ █ █ █▄█ \n▀██ █▄ ▄▄▀ ███ \n ▀██▄ ▀▀ ▄███▀ \n ▄█▀▄█▀█▀▄▀███ \n █ █▄▀▄▄█ ██▄ \n████▀ ▄▄ ▀█████▄\n███▄▄█ █▄▄██▀██"], ["walk_2", " ▄▄ ▄▄▄ ▄▄ \n█ ▄▀▄▀ ▀▄▀▄ █ \n███ █ █ ███ \n ██▄▀▀▄▄▀▀▄▄██▀ \n ▄█▀▀▄▄▄▄▀▀██▄ \n █ ▄█▀▄▀ █▄ █▄ \n███▀▀▀▄█▀▀▀████▄\n██▄▄▄▀ ▀▄▄▄█▀██"]]], + ["rusttyrannomon", [["angry", "▄▄ ▄▄ ▄▄ \n█ █ █▄█▄█▄█ \n█ ▄█▀ ▄▄ ▄▀▄▄▀▄ \n█ ▀ ▄▀ █\n▀▄▀▄▀▄▀▄█▀▀█ █\n█▄▀█▀▀█▄ █ ▀▄▄▄▀\n▀▄▄█▄ ▀▄▄█▄▀▀▀▄ \n█▄█▄▄██▀▀▀▄█▄█▄█"], ["attack", " ██▀██▀█▀▄▄▄ \n▄▄▀█▀▀██▀▄▄█▄▀▄ \n█ █ ██▄█▄█▄█ ▀█ \n█ ▄█▀ ▄▄ ▄▀▄▄▀█ \n█ ▀▀ ▄▀ █\n▀▄▀▄▀▄▀▄█▀▀█ █\n█▄▀█▀▀█▄ █ ▀▄▄▄▀\n▀▄▄█▄▄█▄▄█▄█▄█▄█"], ["eat_1", "█▀▄ ▄▀█ ▄▀█ \n█ ▀▄▄▀▀▀▀▀█▀ ▄ \n█ ▀▀ ▄█▀ ▀ █▀ ▀▄\n█ ▄ ▄ ▄ ▄▄█▄ █\n ▀ ▀ ▀ ██ █ █\n ▄▀▄▀▄▀▄ █▄▄▀▀▀ \n ▀███▀▀▄▄█ ▀▄ \n █▄█▄██▀█▄█▄█▄█ "], ["eat_2", "█▀▄ ▄▀█ ▄▀█ \n█ ▀▄▄▀▀▀▀▀█▀ ▄ \n█ ▀▀ ▄▀▄ ▀ █▀ ▀▄\n█ ▄ ▄ ▄ ▄▄█▄ █\n▄█▄█▄█▄█▄ █ █\n█▄ █ █▄ █▄▄▀▀▀ \n█▄▄█▄ █▄▄█ ▀▄ \n █▄█▄███▀▄█▄█▄█ "], ["happy", "█▀▄ ▄▀█ ▄▀█ \n█ ▄█▀▀▀▀▀▀█▀▀▄ \n█ ▄▀▄ ▀ █▀ ▀▄\n█▄ ▄ ▄▄▄▄▄█▄ █\n█▄█▄█▄█▄ █ █ █\n▀▄▄█ ▀▄▄█▄▄▀▀▀ \n ▄█▄ █ ▀▄ \n █▄█▄███▀▄█▄█▄█ "], ["injured_1", " \n█▀▄ ▄▀█ ▄▀█ \n█ ▀▄▄▀▀▀▀▀█▀ ▄ \n█ ▀▀ █▄▄ ▀ █▀ ▀▄\n█ ▄ ▄ ▄ ▄▄█▄ █\n▄▀▄█▄█▄▀█▄▄█▄▄▄█\n█ █▄▀█▀█ ▀ ▀ █ \n█▄███▄▄███████▀ "], ["injured_2", " \n \n█▀▄ ▄██▄███ \n█ ▄█▀ ▄▀▄ ▄ \n█ ▀▀▀ ▄█▀ ▀▄\n▀▄▀▄▀▄▀▄█▀▀█ █\n█ ▀██▀█▄█▀█▀█▀█▀\n█▄███▄▄██▄▄▄▄▄█ "], ["sleep_1", " \n█▀▄ ▄██▄███ \n█ ▄█▀ ▄▀▄ ▄ \n█ ▀▀▀ ▄█▀ ▀▄\n▀▄▀▄▀▄▀▄█▀▀█ █\n ▀█▀▀▀▄▄▄ ▀▄ █\n ▄██▄ █ ▄ █▀▀▀█ \n█▄█▄▄██▀▀▀▄█▄█▄█"], ["sleep_2", " ▄▄ ▄▄ ▄▄▄ \n █ ▀▄▄▀▀▀▀▀█▀ \n █ ▀▀ ▄▄▄ ▀ █▄ \n █ ▄ ▄ ▄ ▄▄█▀ ▀▄\n ▀▄█▄█▄█▀▀█ █\n ▄▀▀▀▄▄▄ ▀▄ █\n ▄██▄ █ ▄ █▀▀▀█ \n█▄█▄▄██▀▀▀▄█▄█▄█"], ["walk_1", "█▀▄ ▄▀█ ▄▀█ \n█ ▀▄▄▀▀▀▀▀█▀ ▄ \n█ ▀▀ ▄█▀ ▀ █▀ ▀▄\n█ ▄ ▄ ▄ ▄▄█▄ █\n▄▀▄█▄█▄▀▀▄ █ █\n█▀ █ █▀ █▄▄▀▀▀ \n ▀██▄ ▀▀█ ▀▄ \n █▄█▄███▀▄█▄█▄█ "], ["walk_2", "▄▄ ▄▄ ▄▄ \n█ █ █▄█▄█▄█ \n█ ▄█▀ ▄▄ ▄▀▄▄▀▄ \n█ ▀▀ ▄▀ █\n▀▄▀▄▀▄▀▄█▀▀█ █\n█▄▀█▀▀█▄ █ ▀▄▄▄▀\n▀▄▄█▄ ▀▄▄█▄▀▀▀▄ \n█▄█▄▄██▀▀▀▄█▄█▄█"]]], + ["ryudamon", [["angry", " ▄▄▄▄▄ ▄▄▄▄ \n ▄▀████▀▀▀ ▄▀ \n█ ▀▀▀▄▄▄▄▄█▀ \n█▀▀▀▀ ▄█ █▄█ \n▀█▀▀ ▀█▄█ \n▄▀▀█▀ ▄▀██▄▄█▄▄\n▀▄▄▀▄ ▀▄██▄██▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["attack", " ▄▄▀█████▄▀▀▀█ \n█▀▀▀▀▀ ▄▄▀ \n█▀▀▀▀▀▀█▀█▀▄ \n▀████▄▀▀ █▀▄ \n ▄████ ▄▄█▀█▄▄▄\n█ ▀▄▄▄ █ ███ ▄▀\n ▀█▄▄ ▀█▀▀▀█▄ \n █▄█▄████▄█▄█▄█ "], ["eat_1", " ▄▄▀█████▄▀▀▀█ \n█▀▀▀▀▀ ▄▄▀ \n█▀▀▀▀▀█▀▀█▀▄ \n▀███▄▀ ▀ ██▀▄ \n ▀█▀▀ ███▀▄ \n ▄▀█▀ ▄▀█▄█▄█▀▀█\n █▄▀▄ ▀▄██▄▀▀▀█ \n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_2", " ▄▄█████▄▀▀▀█ \n▄▀▄██▀▀ ▄▄▀ \n█▄▄▄▄▀█▀▀█▀▄ \n█▄▄▄ ▀ ▀ ██▀▄ \n ▀▄▄▄ ▄▄▀█▀▀▄ \n █ █ █ ██▀██ ▀█\n ▄█▀▄ ▀▀▀█ ▀█ \n█▄█▄▄██▀▀▀▄█▄█▄█"], ["happy", " ▄▄██████▄▀▀▀█ \n█▀▀▀▀▄▄▄▄▄▄▄▀ \n█▀▀▀▀▄▀▄ █▀▄ \n████▄ ▄▀▀█▄ \n █▀▀▀ ▀▄▄█▀█ \n ▀█▀ ▀██▀▀█\n ▄█▄ ▄▀▀▀█▀ \n █▄█████▀▄█▄█▄█ "], ["injured_1", " ▄▄▄▄▄ ▄▄▄▄ \n ▄▀████▀▀▀ ▄▀ \n█ ▀▀▀▄▄▄▄▄█▀ \n█▀▀▀▀ ▄ █▄█ \n▀█▀▀ ▀▀ ▀█▄█ \n▄▀▀█▀ ▄▀██▄▄█▄▄\n▀▄▄▀▄ ▀▄██▄██▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["injured_2", " \n ▄▄█████▄▀▀▀█ \n▄▀▄██▀▀ ▄▄▀ \n█▄▄▄▄▀▀▀▀█▀▄ \n█▄▄▄ █▄ ██▀▄ \n █▄▄ ▄█▀▀▄ \n ▄█▀▄ █ ██▀█▀▄\n█▄█▄▄█▄▄▄███████"], ["sleep_1", " \n ▄▄█████▄▀▀▀█ \n▄▀▄██▀▀ ▄▄▀ \n█▄▄▄▄▀▀▀▀█▀▄ \n█▄▄▄ ▀▀ ██▀▄ \n ▀▄▄▄ ▄███▄ \n █▄▀▄ █ ██▄██▄\n█▄█▄▄█▄▄▄███▄█▄█"], ["sleep_2", " ▄▄▄▄▄ ▄▄▄▄ \n ▄▀████▀▀▀ ▄▀ \n█ ▀▀▀▄▄▄▄▄█▀ \n█▀▀▀▀▄▄ █▄█ \n▀█▀▀ ▀█▄█ \n▄▀▀█▀ ▄▀██▄▄█▄▄\n▀▄▄▀▄ ▀▄██▄██▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["walk_1", " ▄▄█████▄▀▀▀█ \n▄▀▄██▀▀ ▄▄▀ \n█▄▄▄▄▀██▀█▀▄ \n█▄▄▄ ▀▀ ██▀▄ \n ▀▄▄▄ ▄▄▀█▀▀▄ \n █ █ █ ██▀██ ▀█\n ▄█▀▄ ▀▀▀█ ▀█ \n█▄█▄▄██▀▀▀▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄ ▄▄▄▄ \n ▄▀████▀▀▀ ▄▀ \n█ ▀▀▀▄▄▄▄▄█▀ \n█▀▀▀▀▄█▀ █▄█ \n▀█▀▀ ▀█▄█ \n▄▀▀█▀ ▄▀██▄▄█▄▄\n▀▄▄▀▄ ▀▄██▄██▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"]]], + ["saberdramon", [["angry", " \n \n \n ▄▄█████▀ \n ▄▄███▀██▀ ███▄ \n█▄▄██▄███ ████▀█\n ▀▄▄█████ ▀▀▄▄▄▀\n ▀█████▀▀ "], ["attack", " ▀█▀█▄▄▄▄█▄ \n ▄███▀█▀ ███▄ \n▄▀▀▀██▄▄█ █████▄\n▀███▄▄▀███ █████\n ██▀▀█ █▀▄██▀▀▄\n ▄█▄▄▀▀▄█████▄██\n ▀▄▄▄█▀▀▄██████▀\n ▀█████▀▀ "], ["eat_1", " ▄▄▄▄▄▄ \n ▄██████▀ \n▄▀▀██ ▄███ \n▀▀▀▀▀█████▀██▄▄ \n ████ █████\n █▀▀█████ █████▀\n ▀▀▀▀▀▀▄█████▀ \n ███▀▀ "], ["eat_2", " ▀███▄ █▄ \n ▀████ ███▄ \n █▀▀▀▀ ████▄\n ▄▄███▀▄█████\n ▄▄███▀█▄▀█▀▀▀▄▄\n█▄▄██▄█▄█ ██▄███\n ▀▄▄██▀▀▄██████▀\n ▀█████▀▀ "], ["happy", " ▄▄▄▄▄▄ \n ▄██████▀ \n▄▀▀██ ▄ ██ \n▀▀▀▀▀█████▀██▄▄ \n ████ █████\n █▀▀█████ █████▀\n ▀▀▀▀▀▀▄█████▀ \n ███▀▀ "], ["injured_1", " \n \n \n ▄▄▄▄▄▄ \n ▄████▀▀▄▄██▄ \n▄▀▀█▄▀███ ██████\n▀█▀▀███▀▄███████\n ▀▀▀▀▀███████▀ "], ["injured_2", " \n \n \n \n ▄▄███▀▄███▄ \n ▄▄██▀███ ██████\n█▄▄███▄▀▄███████\n ▀▄▄██▄███████▀ "], ["sleep_1", " \n \n \n ▄▄▄▄▄▄ \n ▄████▀▀▄▄██▄ \n▄▀▀██▀▀██ ██████\n▀█▀▀███▀▄███████\n ▀▀▀▀▀███████▀ "], ["sleep_2", " \n \n \n ▄▄█████▀ \n ▄▄██████▀▄███▄ \n█▄▄██▄▄██ ██████\n ▀▄▄███▀▄███████\n ▀███████▀ "], ["walk_1", " ▀███▄ █▄ \n ▀████ ███▄ \n █▀▀▀▀ ████▄\n ▄▄███▀▄█████\n ▄▄██▀▀█▄▀█▀▀▀▄▄\n█▄▄██▄███ ██▄███\n ▀▄▄██▀▀▄██████▀\n ▀█████▀▀ "], ["walk_2", " \n ▄▄█████▀ \n ▄▄██▀▀██▀▄▄▄ \n█▄▄██▄███ █████▄\n ▀▄▄██▀▀▄ ██████\n ▀█▀▄█████ \n █████▀ \n ▀▀▀ "]]], + ["saberleomon", [["angry", " \n ▄▄ ▄▄▄ \n █▄▀▀▀▀▀ █ ▄▄ \n▄▀ ▄█▀ █▄ ▀▄▀█\n█▄▄▄▄▄▄ ▀████▀▄█\n█▀▄▄▄█ █ ▀█▀ ██▄\n▀▄█▄▀▀▄█▄ ▄▄ ██\n █▄▄██▄▄▄▄█▄▄▄▄█"], ["attack", " ▄▀█▄▄▄▄▀█ \n ▄█▀ ▄▄ ▄▀ ▄▄ \n█▄▄▄▄▀▀ ▄█ ▀▄▀█\n█▀████▀▄▀████▀▄█\n█ ████ █ ▀█▀ ██▄\n ▀█▀▀ ▀▀ ▄ ██\n █▀▀▄ █▄▄█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["eat_1", " ▄▀█▄▄▄▄▀█ \n ▄█▀ ▄ ▄▀ ▄▄ \n█▄▄▄▄▀ ▀ ▄█ ▀▄▀█\n █████▀▄ ████▀▄█\n █ ███ █ ▀█▀ ██▄\n ▄▀▀▀▀▀ ▄ ██\n ▀█▀▀▄ █▄▄█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["eat_2", " ▄▄ ▄▄▄ \n █▄▀▀▀▀▀ █ ▄▄ \n▄▀ ▄▀▄ █▄ ▀▄▀█\n█▄▄▄▄▄▄ ▀████▀▄█\n█▀▄▄▄█ █ ▀█▀ ██▄\n▀▄█ █▀▄█ ▄ ██\n ▄█ ▄ █▄▄█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["happy", " ▄▀█▄▄▄█▀█ \n ▄▀▀ ▄ ▄▀ ▄▄ \n█ ▀ ▀ ▄█▄ ▀▄ █\n█▀████▀▄ █▄▄█▀▄█\n█ ████ █ ▀█▀ ██▄\n▀█████▀ ▄ ██\n █▄▄▄▄█ █▄▄█▄ █\n█▄▄█ █▄▄▄▀ █▄▄▄█"], ["injured_1", " \n \n ▄▀█▄▄█▀▀█ \n ▄▀▀ █ \n█ ▀▀ ▄█▄▄█▀▀▄\n██▀▀▀█▀▄ ███▀▀▄▀\n█ █▀▀█ █ ▀▄▄▀██\n █▄█▄▄█▄▄▄█▄▄▄▄█"], ["injured_2", " \n \n ▄▄ ▄▄▄▄ \n █▄▀▀▀▀ ▄▀ \n▄▀ █▄ ▄█▄▄█▀▀▄\n█▄▄▄▄▄▄ ███▀▀▄█\n█▀▄▄▄█ █▄ █▄▀ ▀█\n▀▄█▄▄█▄█▄█▄▄▄▄▄▀"], ["sleep_1", " \n \n ▄▄ ▄▄ \n █▄▀▀▀▀▀ ▄█ \n ▄▀ ▄▄ ████▄ \n █▄▄▄▄▄▄ ▀███ ██\n █▀▄▄█ █ █▄ █\n █▄█▄▄▄█▄▄█▄▄▄▄▀"], ["sleep_2", " \n ▄▄ ▄▄ \n █▄▀▀▀▀ ▄█ \n ▄▀ ▄▄ █▄▄▄ \n █▄▄▄▄▄▄ ▀█████▄\n █▀▄▄▄█ █ ▀█▀ ██\n ▀▄█▄▄▀▄█ ▄▄ █\n █▄▄█▄▄▄▄▄█▄▄▄▄▀"], ["walk_1", " ▄▄ ▄▄▄ \n █▄▀▀▀▀▀ █ ▄▄ \n▄▀ ▄█▀ █▄ ▀▄▀█\n█▄▄▄▄▄▄ ▀████▀▄█\n█▀▄▄▄█ █ ▀█▀ ██▄\n▀▄█ █▀▄█ ▄ ██\n ▄█ ▄ █▄▄█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["walk_2", " ▄▀█▄▄▄▄▀█ \n ▄▀▀ ▄▄ ▄▀ ▄▀█▄\n█ ▀▀ ▄██▄▄█ █\n██▀▀▀█▀▄ ███▀▄█▀\n█ █▀▀█ █ ▀ ▀██\n █▀ █ ▀█▄█ █ ▀█\n▄▀ █▄▄▄▀ ▀█▀█ █\n▀▀▀ █▄█▄▄█"]]], + ["sakumon", [["angry", " \n \n ▄█ \n █ █ \n █ █ \n ▄▀█▄▄▀▀▀▄ \n █ █▄▀ ▄█ █ \n ▀▄▄▄█▄▄▄▄▄▀ "], ["attack", " \n \n ▄█ \n █ █ \n █ █ \n ▄▀█▄█▀▀▀▄ \n █ █ ▀ █ █ \n ▀▄▄▄█▄▄▄▄▄▀ "], ["eat_1", " \n \n ▄█ \n █ █ \n █ █ \n ▄▀█▄█▀▀▀▄ \n █ █ ▀ █ █ \n ▀▄▄▄█▄▄▄▄▄▀ "], ["eat_2", " ▄ \n ▄▀█ \n █ ▀▄ \n ▄█ ▄█▄▄ \n ▄▀▄▀█▀▄ ▀▄ \n █ ▀ ▀ █ \n █ ███ █ \n ▀▄███▄▄▄▀ "], ["happy", " \n ▄█ \n █ █ \n █ █ \n ▄▀█▄█▀▀▀▄ \n █ ▄ ▀ ▄ █ \n █▀ ▀ ▀ ▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_1", " \n ▄█ \n █ █ \n █ █ \n ▄▀█▄█▀▀▀▄ \n █ ▄ ▀ ▄ █ \n █▀▀ ▀▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_2", " \n ▄ \n ▄▀█ \n █ ▀▄ \n ▄█ ▄█▄▄ \n ▄▀ ▀█▀ ▀▄ \n █▄█ █▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["refuse", " ▄ \n ▄▀█ \n █ ▀▄ \n ▄█ ▄█▄▄ \n ▄▀ ▀█▀ ▀▄ \n █ █ █ █ \n █ ▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["sleep_1", " \n ▄ \n ▄▀█ \n █ ▀▄ \n ▄█ ▄█▄▄ \n ▄▀ ▀█▀ ▀▄ \n █▄▄ ▄▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n ▄ \n ▄▀█ \n █ ▀▄ \n ▄█ ▄█▄▄ \n ▄▀ ▀█▀ ▀▄ \n █▄▄ ▄▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " \n ▄█ \n █ █ \n █ █ \n ▄▀█▄█▀▀▀▄ \n █ ▄ ▀ ▄ █ \n █ ▀ ▄ ▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_2", " \n \n ▄█ \n █ █ \n █ █ \n ▄▀█▄█▀▀▀▄ \n █ █ ▀ █ █ \n ▀▄▄▄█▄▄▄▄▄▀ "]]], + ["sakuttomon", [["angry", " \n \n ▄█ ▄█ \n ▄▀█ ▄▀█ \n █ █▀▀▀▀▀▀█ █ \n ▄▀█ ▄ ▄ █▀▄ \n █ █ ▀▀ ▀▀ █ █ \n ▀▀█▄███▄▄█▀▀ "], ["attack", " \n \n ▄█ ▄█ \n ▄▀█ ▄▀█ \n █ █▀▀▀▀▀▀█ █ \n ▄▀█ ▄ ▄ █▀▄ \n █ █ ▀ ▄ ▀ █ █ \n ▀▀█▄█▄█▄▄█▀▀ "], ["eat_1", " \n \n ▄█ ▄█ \n ▄▀█ ▄▀█ \n █ █▀▀▀▀▀▀█ █ \n ▄▀█ ▄ ▄ █▀▄ \n █ █ ▀ ▄ ▀ █ █ \n ▀▀█▄█▄█▄▄█▀▀ "], ["eat_2", " \n ▄█ ▄█ \n ▄▀█ ▄▀█ \n █ █▀▀▀▀▀▀█ █ \n ▄▀█ █ ▄ █ █▀▄ \n █ █ ███ █ █ \n ▀█ ███ █▀ \n ▀▄▀▀▀▀▀▀▄▀ "], ["happy", " \n ▄ ▄ \n ██ ██ \n █ █▄▄▄▄▄▄█ █ \n █▄▀ ▀▄█ \n █ █▄▀▄ ▄▀▄ █ █ \n ▀▄█ ▄█▄ █▄▀ \n ▀▄▀▀▀▀▀▀▄▀ "], ["injured_1", " \n ▄ ▄ \n ██ ██ \n █ █▄▄▄▄▄▄█ █ \n █▄▀ ▀▄█ \n █ █ ▄█ █▄ █ █ \n ▀▄█ █▄▀ \n ▀▄▀▀▀▀▀▀▄▀ "], ["injured_2", " \n \n ▄ ▄ \n ██ ██ \n █ █▄▄▄▄▄▄█ █ \n █▄▀ ▀▄█ \n █ █ ▄█ █▄ █ █ \n ▀▄█▄▄▄▄▄▄▄▄█▄▀ "], ["refuse", " \n ▄ ▄ \n ██ ██ \n █ █▄▄▄▄▄▄█ █ \n █▄▀▄ ▄ ▀▄█ \n █ █ ▀ ▄ ▀ █ █ \n ▀▄█ ▀ ▀ █▄▀ \n ▀▄▀▀▀▀▀▀▄▀ "], ["sleep_1", " \n \n ▄ ▄ \n ██ ██ \n █ █▄▄▄▄▄▄█ █ \n █▄▀ ▀▄█ \n █ █ ▄▄ ▄▄ █ █ \n ▀▄█▄▄▄▄▄▄▄▄█▄▀ "], ["sleep_2", " \n \n ▄ ▄ \n ██ ██ \n █ █▄▄▄▄▄▄█ █ \n █▄▀ ▀▄█ \n █ █ ▄▄ ▄▄ █ █ \n ▀▄█▄▄▄▄▄▄▄▄█▄▀ "], ["walk_1", " \n ▄ ▄ \n ██ ██ \n █ █▄▄▄▄▄▄█ █ \n █▄▀ ▀▄█ \n █ █ █ █ █ █ \n ▀▄█ ▄▀▄ █▄▀ \n ▀▄▀▀▀▀▀▀▄▀ "], ["walk_2", " \n \n ▄█ ▄█ \n ▄▀█ ▄▀█ \n █ █▀▀▀▀▀▀█ █ \n ▄▀█ ▄ ▄ █▀▄ \n █ █ ▀ ▄ ▀ █ █ \n ▀▀█▄█▄█▄▄█▀▀ "]]], + ["sakuyamon", [["angry", " ▄▄ ▄▄ ▄▀▀▀▄\n █▄██ ▀▄█▀█▀█\n ▄▄▀ ▄▄▀ ▀█▄█ \n ▀▄▄▄▄▄▄▄▀██ █ \n ▄█▀▄▄▄█ ▄▀█ ██\n ▄▀▀█ ▄▄▀▄▀█████\n █▄▄▀█ █▀ ██ █▀\n █▄▄▄▀▀▀█▄▄▄█▄█ "], ["attack", " █▀▄█▀▄▄ \n █▀▀▀▄ █ \n █▀ ▀▀ ▄█ \n ██▀▀▀█▀ █▀▄\n ▄▄▄██▄▀▀██ █ █\n█ █▄▀█▀▀▀██▀▀▀▀█\n▀▄█▄██▀▀██▀▀█▀▀▀\n █▄▄▄▀▀▄▄▄█ "], ["eat_1", " █▀▄█▀▄▄▀▀▀▄ \n █▀▀▀ █▀█▀█ \n █▀ ▀▀▀ ▄█▄█ \n ▄███████▀ █ █▀▄\n █ █▄▄▀█ ██▄█ █\n ▀██▄▀▀▄█ ▀▀█▄█\n ▄█ ▀▄▄▀ ██ █ \n █▄▄▄▀▀▄▄▄█▄█ "], ["eat_2", " ▄▄ ▄▄ ▄▄▄ \n █▄█▀ ▀█▄▄▄█ \n ▄▄▀ ▄▀▄ ▀▄▀▄▀ \n ▀▄▄▄▄▄▄▄▀█▀█▄ \n ▄█▀▄▄▄█ ▄█ █ █\n ▄▀▀█ ▄▄▀▄▀███ █\n █▄▄▀█ █▀▄▄ █▀▀\n █▄▄▄▀▀▄▄▄█▄█ "], ["happy", " █▀▄█▀▄▄▀▀▀▄ \n █▀▀▄ █▀█▀█ \n ▄█▀ ▀ ▀ ▄█▄█ \n███▀█████▀ █ █▀▄\n █ █▄▄▀█ ██▄█ █\n ▀██▄▀▀▄█ ▀▀█▄█\n ▄█ ▀▄▄▀ ██ █ \n █▄▄▄▀▀▄▄▄█▄█ "], ["injured_1", " ▄▄ ▄▄ ▄▄▄ \n █▄██ ▀█▄▄▄█ \n ▄▄▀ ▀▄▄ ▀▄▀▄▀ \n ▀▄▄▄▄▄▄▄▀█▀█▄ \n ▄█▀▄▄▄█ ▄█ █ █\n ▄▀▀█ ▄▄▀▄▀█▄█ █\n █ ▀█ █▀▄█▀█▀▀\n ▀██▄▄▀▀▄▄▄█▄█ "], ["injured_2", " ▄▄▄ \n █▀▄█▀▄▄█▄▄▄█ \n █▀█▀ █▀▄▀▄▀ \n █▀ ▀▀ ▄██▀█▄ \n ▀█▀▀▀█▀ ██ █ █\n ▄▀▀█▀██ █▀█ █ █\n █ ▀█ █▀▄███▀▀\n ███▄▄██▄▄▄█▄█ "], ["sleep_1", " \n ▄▄ ▄▄ \n █▄██ ▀█ \n ▄▄▀ ▄▄ ▀▄ \n ▀▄▄▄▄▄▄▄▀█▀▄ \n ▄▀█▄▄▄█ ▄▀▄▄▀▄\n █▀▀▄█▄▀▀▄▀▀▄█▄█\n █▄▄▄██▄▄█▄▄▄██ "], ["sleep_2", " \n █▀▄█▀▄▄ \n █▀▀▀ █ \n █▀ ▀▀ ▄█ \n ██▀▀▀█▀ █▀▄ \n ▄▀█▄▀▀▀█ █▀▄ █\n █▀▀▄█▄▀▀▄▀▀▄█▄█\n █▄▄▄██▄▄█▄▄▄██ "], ["walk_1", " █▀▄█▀▄▄▀▀▀▄ \n █▀▀▀ █▀█▀█ \n █▀ ▀▀▀ ▄█▄█ \n ██▀▀▀█▀ █ █▀▄\n ██▄▀▀▀█ ██▄█ █\n █ █▄▀▀▄█ ▀▀█▄█\n ▀██ ▀▄▄▀ ██ █ \n █▄▄▄▀▀▄▄▄█▄█ "], ["walk_2", " ▄▄ ▄▄ ▄▄▄ \n █▄██ ▀▄█▄▄▄█\n ▄▄▀ ▄▄▄ ▀▄▀▄▀\n ▀▄▄▄▄▄▄▄▀██▀█ \n ▄█▀▄▄▄█ ▄▀█ ██\n ▄▀▀█ ▄▄▀▄▀█████\n █▄▄▀█ █▀ ██ █▀\n █▄▄▄▀▀▀█▄▄▄█▄█ "]]], + ["sakuyamon_x", [["angry", " ▄▄ ▄▄ \n █ ▀▀ ▀▄▄ \n █ █ ▄▀ █ █ \n █▄▄▄▄▄▄ ▄▀▀▄ \n ▄▀▄▄▄▀▄█▄▄▀▄ \n ▄▀█ ▄▄ ▄▀▀ █▀ \n ▀▄██ ██▄▄█▄▀▄\n █▄▄▀▀▀▀▀▄▄█▀▄█"], ["attack", "█▀▄▀█ █▀▄█▀▄ \n▄▀ ▀▄ ▄▀ ▄▄ ▄▀▀▄\n▀▄▀▄▀▄▀ ▀▀ █▄▀█\n █ ▀█▀▀▀██ █ \n ▄▀▀▄█▄▀▀█▀▀██▄█\n ▀▄▄▄▀▀▄▀▀▄▄▄▀▄ \n █ ▄██▄▄███▀▄█\n █ █▄▄█▀ █▄▄█ "], ["eat_1", " █▀▄█▀▄ \n ▄▀▄ █▀▄ \n ▄▀ ▀ ▀▀ ▀▄█ \n ▀▀█████ █ █ \n ▄█▀▀▀▄▀██▀▄█ \n █ ██▀▀▄█ ▄█ \n ███▄▄███▀▀▄▀▄\n █▄▄▀ ▀▄▄█ ▀▄█"], ["eat_2", " ▄▄ ▄▄ \n █ ▀▀ ▀▄▄ \n █ █ ▄▀▄█ █ \n █▄▄▄▄▄▄ ▄▀▀▄ \n ▄▄▀▄▄▄▀▄█▄▄▀▄ \n █ █ ▄▄ ▄█ █▀ \n ▀███ █████▄▀▄\n █▄▄▀▀▀▀▀▄▄█▀▄█"], ["happy", " █▀▄█▀▄ \n ▄▀▄ ▄ █▀▄ \n ▄▀ ▀ ▀ ▀▀▄▀▀▄ \n ▀█▀████ █▀ ▄▀ \n ▄▀▄▄▄▀▀█▄▀▄█ \n ▄▀ █▄▀▀▄██▀█▀▄ \n ▀▄███▄▄███ ▀▄▀▄\n █▄▄▀ ▀▄▄█ ▀▄█"], ["injured_1", " \n \n █▀▄█▀▄ \n ▄▀▄ ▄ █▀▄ \n ▄▀ ▀ ▀▀ ▄▀▀▄ \n ▀▀█▀▀▀█▄█▄▄▀▄ \n ▄▀██▀▀▀▄▀▀█▀█▄ \n█▄▄█▀███▄▄▄▀▄▄▄█"], ["injured_2", " \n \n ▄▄ ▄▄ \n █ ▀▀ ▀▄▄ \n █ █ █▄ ▀▄▀▀▄ \n█▄▄▄▄▄▄ ██▄▄▀▄ \n ▄▀▄▄▄▀█▀▀██▀█▄ \n█▄▄█▀██▄▄▄█▀▄▄▄█"], ["sleep_1", " \n ▄▄ ▄▄ \n █ ▀▀ ▀▄▄ \n █ █ ▄▄ █ █ \n █▄▄▄▄▄▄ ▄▀▀▄ \n ██▄▄▄▀▄█▄▄▀▄ \n █▀▀▄█▄▀▀▄▀▀█▄▀▄\n █▄▄▄██▄▄█▄▄▄▀▄█"], ["sleep_2", " \n █▀▄█▀▄ \n ▄▀▄ █▀▄ \n ▄▀ ▀ ▀▀ ▀▄█ \n ▀██▀▀▀█ █ █ \n ▄█▄▀▀▀ ▀██▀▄ \n █▀▀▄█▄▀▀▄▀▀█▄▀▄\n █▄▄▄██▄▄█▄▄▄▀▄█"], ["walk_1", " █▀▄█▀▄ \n ▄▀▄ ▄ █▀▄ \n ▄▀ ▀ ▀▀ ▀▄█ \n ▀▀█▀▀▀█ █ █ \n █▄▀▀▀ ▀▄█▀▄█ \n █ █▄▀▀▄█ ▄▀▄ \n █▄▀▄▄▀▄█▀▀▄▀▄\n █▄▄▀ ▀▄▄█ ▀▄▀"], ["walk_2", " ▄▄ ▄▄ \n █ ▀▀ ▀▄▄ \n █ █ ▄█ █ █ \n █▄▄▄▄▄▄ ▄▀▀▄ \n ▄▀▄▄▄▀▄█▄▄▀▄ \n ▄▀█ ▄▄ ▄█▀ █▀ \n ▀▄██ ███▄▄█▀▄\n █▄▄▀▀▀▀▀▄▄█▀▄█"]]], + ["salamon", [["angry", " \n ▄▄▀▀▀▀▀▄▄ \n ▄▀ ▀▄ \n▄▀ ▀▄ \n█ █▀▄ ▄▀█ ▀▄\n██ ▀▀▀▄ ▀▀▀ ▄ █\n▀▄█▄▄▄▄▄▄▄▄▄██▄▀\n█▄█▄█▄▄▄▄▄█▄█▄█ "], ["attack", " ▄▄▀▀▀▀▀▀▄▄▄ \n▄▀ ▀▄ \n█ ▀█▄ ▄█▀ ▄ █\n█▄ ▄▄▄█▄▄▄▄ ▀▄ █\n██ ██████▀█ ▄▀▄█\n ▀▄███▄▄▄█▄▀▀▄ \n ▄█▄ █▄ ▀▄\n █▄▄▄████▀█▄▄█▄█"], ["eat_1", " ▄▄▀▀▀▀▀▄▄ \n ▄▀▄▄ ▄▄ ▀▄ \n▄▀▀ ▀ ▀ ▀ ▄ █ \n█▄ █▄▄█▄▄█ ▀▄ █\n█▀▄ █████ ▄▀█ █\n▀▄█▀██▄▄█▄▀ ▄█▄▀\n █▄ ▄█ ▀▄ \n █▄▄██▀█▄▄█▄█ "], ["eat_2", " \n ▄▄▀▀▀▀▀▄▄ \n ▄▀ ▀▄ \n▄▀ ▀▄ \n█ ▄▀▀▄ ▄▀▀▄ ▀▄\n██ ▄▄▀▄▄ █ █\n█▄█▄▄▄▄▄▄▄▄▄██▄▀\n █▄▄█▄▄▄▄▄██▄▄█ "], ["happy", " ▄▄▀▀▀▀▀▄▄ \n ▄█▄ ▄▄ ▀▄ \n▄▀ ▀ ▄ ▀ ▀ █ \n█▄ ██████ ▀▄ █\n█▀▄ ▀██▄▄▀ ▄▀█ █\n▀▄█▀▄▄▄▄▄▄▀ ▄█▄▀\n ▄█ ▄█ ▀▄ \n █▄▄███▀█▄▄█▄█ "], ["injured_1", " \n \n ▄▄▀▀▀▀▀▄▄ \n ▄▀ ▀▄ \n▄▀ ▄ ▄ ▀▄ \n█ ▀▀▀ ▀▀▀ ▄ ▀▄\n█▄▀▀▄▄█▄▄▀▀▄▄█ █\n▀▄▄▄▄█▄█▄▄▄▄██▄▀"], ["injured_2", " \n \n ▄▄▄▄▄ \n ▄▀▀ ▀▀▄ \n █ ▀▄ \n█ ▄▄█ █▄▄ ▀▄\n█▄▀▀▄ ▄ ▄▀▀▄█▄ █\n█▄▄▄▄███▄▄▄▄██▄█"], ["sleep_1", " \n ▄▄▀▀▀▀▀▄▄ \n ▄▀ ▀▄ \n▄▀ ▀▄ \n█ ▄▄▄ ▄▄▄ ▀▄\n██ ▄▄▀▄▄ █ █\n▀▄▀▀▄▄▄▄▄▄▀▀▀█▀█\n █▄▄█▄▄▄▄█▄▄▄▄██"], ["sleep_2", " \n ▄▄▄▄▄ \n ▄▀▀ ▀▀▄ \n █ █ \n█ █ \n█▄ ▀▀▀▄ ▀▀▀ ▄ █\n█▄▀▀▄▀ ▀▀▄▀▀▀█ █\n █▄▄██████▄▄▄▄██"], ["walk_1", " ▄▄▄▄▄ \n ▄▀▀ ▀▀▄ \n █ ▄▄ ▄▄ ▀▄ \n█ ██▄ ▄██ █ ▀▄\n██ ▄▄▀▄▄ ▄█ █\n█▄▀▄▄▄▄▄▄▄▀▀▄▀▄█\n █▄ ▄█ ▀▄ \n █▄▄██▀█▄▄█▄█ "], ["walk_2", " \n ▄▄▀▀▀▀▀▄▄ \n ▄▀ ▀▄ \n▄▀▄█▀ ▀█▄ ▄ █ \n█▄▀▀▀ ▄ ▀▀▀ ▀▄ █\n█▀▄ ▀▀ ▀▀ ▄▄▀█ █\n▀▀ ██▀▀▀▀▀ ▄█▀█▀\n █▄▄█▄▄▄▄█▄▄██ "]]], + ["salamon_x", [["angry", "▄▄ ▄▄\n█ ▀▄▄▀▀▀▀▀▀▄▄▀ █\n▀▄▄▀▄ ▄ ▄▄▄▀\n █ ▀▀▄ ▀▀ █ \n █ █▀█▀█▀▄ █ \n ▀▄▀▀▀▀▀▀▀▄▀▄ \n ▄█▀▀▀▀▀▀▀▄▄▀▀▄\n █▄▄█▄▄▄▄▄█▄▄█▄█"], ["attack", "█▀▄ ▄▄▄▄▄▄ ▄▀█\n█ █▀ ▀▀ █\n ▀█ █▄ ▄█ █▀▀ \n █ ▄█▄▄ █ \n █ █ █ █ \n █▀▄▄▄▄█▄▀ █▄ \n ▄█▄ ▄█ █\n █▄▄██▀▀▀▀█▄▄█▄█"], ["eat_1", "▄▄ ▄▄\n█ ▀▄▄▀▀▀▀▀▀▄▄▀ █\n▀▄▄▀ ▄ ▄ ▄▄▄▀\n █ ▀ █ ▀ ▀█ \n █ ██████▄ █ \n █ ███▄▄▄█ █▄ \n ▄█▄▄▄▄▄▄▄█▄▀▀▄\n █▄▄█▄▄▄▄▄█▄▄█▄█"], ["eat_2", " \n█▀▄ ▄▄▄▄▄ ▄▄▀█\n█ █▀ ▀▀ █\n▀▀█▀▄▀▄ ▄▀▄▄▀▀▀ \n █ ▄▀▄ █ \n ▀▄▄ ▄▄▀▄▄ \n ▄█ ▀▀▀▀▀ ▄█ ▀▄\n █▄▄█▄▄▄▄▄█▄▄█▄█"], ["happy", "▄▄ ▄▄\n█ ▀▄▄▀▀▀▀▀▀▄▄▀ █\n▀▄▄▀ ▄ ▄ ▄▄▄▀\n █ ▀ █ ▀ ▀█ \n █ ██████ █ \n █ ██████ █▄ \n ▄█▄████▄▄█▄▀▀▄\n █▄▄█▄▄▄▄▄█▄▄█▄█"], ["injured_1", " \n \n▄▀▀▄▄▀▀▀▀▀▄▄▀▀▄ \n█ ▄ ▄ █\n█ █ █ █\n▀█▀▄▄█ █▄▄ ▀█▀\n ▀▄▄ ▄█▄ ▄▄▄▀▄\n █▄▄█▄▄▄▄▄█▄▄█▄▀"], ["injured_2", " \n \n ▄▄▄▄▄ \n ▄▀█▀ ▀▀▀▀▄ \n█ ▄ ▄ █\n█ █ ▄ ▄ █ █\n▀▀██▀▀ ▄ ▀▀█▄█▀█\n █▄▄█▄█▄█▄█▄▄█▄▀"], ["sleep_1", " \n \n ▄▄▄▄▄▄▄ \n ▄█▀ ▀▄ \n▄▀█ ▄ ▀▄ \n█ █ ▀▀▄ ▀▀ █ █ \n ▀█▄ ▀ ▀ ▄▀█▀▀▄\n █▄▄███████▄▄█▄█"], ["sleep_2", " \n \n ▄▄▀▀▀▀▀▄▄ \n ▄▀█ ▀▄ \n█ █ ▀▀▄ ▀▀ █ █ \n▀▄█▄ ▀ ▀ █▄▄▀ \n ▄█▀█▄▄▄█▀ █ ▀▄\n █▄▄█▄▄▄▄▄█▄▄█▄█"], ["walk_1", "▄▄ ▄▄\n█ ▀▄▄▀▀▀▀▀▄▄▀▀ █\n█▄▄█ ▄ ▄ ▄▄▄▀\n █ ▀▀▄ ▀▀ █ \n ▀▄ ▀ ▀ █ \n ▄▀█▄▄▄▀▀ █▀▄ \n █▄ ▄▄▀ ▀▄\n █▄▄██▀█▄▄█▀▄▄█"], ["walk_2", " \n█▀▄ ▄▄▄▄▄ ▄▄▀█\n█ █▀ ▀▀ █\n▀▀█▀▄█ ▄█ ▄▀▀▀ \n █ ▄▀▄ █ \n ▀▄▄ ▄▄▀▄▄ \n ▄█ ▀▀▀▀▀ ▄█ ▀▄\n █▄▄█▄▄▄▄▄█▄▄█▄█"]]], + ["sandmon", [["angry", " \n \n \n \n ▄▄▄▄▄▄ \n ▄█▄ ▀█▀ \n █▄▄▄ █ \n ▀▄▄▄▄▄▄▀ "], ["attack", " \n \n \n ▄▀▀██▄██ \n ▀▀▄ █ \n █ █ \n ▄▄▄▄█ █ \n ▀▄▄▄▄▄▄▄▀ "], ["eat_1", " \n \n \n ▄▄▄ ▄▄ \n ▄▀▀▀ ▀█▀ \n ▀▀▄ █ \n ▄▄▄▄█ █ \n ▀▄▄▄▄▄▄▄▀ "], ["eat_2", " \n \n \n \n ▄▀▀▀▄██ \n █▄▄ █ \n ▀▄▄▄▄█ █ \n ▀▄▄▄▄▄▄▄▀ "], ["happy", " \n \n ██▄▄▄▄██ \n ▄▀▄▄▄ ▀▄ \n █ ▄ ▀ █ \n ▀▄ ▄▀ \n ▀▀▀▀ \n ▄▄▄ "], ["injured_1", " \n \n \n \n \n ▄▄ ▄▄▄ ▄▄ \n ▀█▀▄▄▄▀█▀ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n \n \n \n \n ██▄▀▀▀▀▀▄██ \n ▄█▄▄███▄▄█▄ "], ["sleep_1", " \n \n \n \n \n ██▄▄▄▄▄██ \n ▄▀ ▄▄▄ ▀▄ \n ▀▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n \n ▄▄ ▄▄ \n ▀█▀▀▀▀▀█▀ \n █ ▀▀▀ █ \n █ ▀ █ \n ▀▄▄▄▄▄▀ "], ["walk_1", " \n \n \n \n ▄▄ ▄▄ \n ▀█▀▀▀█▀ \n █ ▀▀▀ █ \n ▀▄▄▄█▄▄▄▀ "], ["walk_2", " \n \n \n \n \n ██▄▄▄██ \n ▄▀▄▄▄▀▄ \n ▀▄▄▄▄▄▄▄▀ "]]], + ["sangloupmon", [["angry", " \n █▀▄ █▀▄ ▄▄▄ \n ▄▀▀▀▀ █▄ ▀▄ █\n▄▄▀▀ ▀█████ ▄▀ █\n█▄▄▄▄ ▀▀██▀▀▄▀\n▀█▄█▄█ ▄██▀ ▄█▄\n █▄▄▄▄█▄▄ ▄█▄▄▀█\n█▄▄▄██▄▄▄███▄▄▄█"], ["attack", " █▀▄ █▀▄ ▄▄\n▄▄▄▄▀▀▀▀ █▄ █ █\n▀▄▄▄▄ ▀████ █ █\n ▀████▄ ▀▀██▀▀▄▀\n █████ ▄██▀ ▄█▄\n █▀▀▀▀ ▀ ▀██\n ▀██▀█▀▄█▄▄█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["eat_1", " █▀▄ █▀▄ ▄▄\n ▄▀▀▀▀ █▄ █ █\n██▀▀ ▀█████ █ █\n█▄▄▄▄▄ ▀▀██▀▀▄▀\n █▀▀█ ▄██▀ ▄█▄\n █▀▀▀ ▀ ▀██\n ▀██ █▀▄█▄▄█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["eat_2", " ▄▄ ▄▄ \n ▀▄█▄█ █ █▀▀▄\n ▄█ ▄▄▄▄██ █ █\n█▀ ▀▀███▄█▄ █\n█▀▀▀ ▄▀ ▄██ █ \n ▀▀▀█ █▀▀ ███\n ▄█▄▄█▄▄ ▄█▄▄▀█\n █▄▄▄█▄▄▄▀▀█▄▄▄█"], ["happy", " █▀▄ █▀▄ ▄▄\n ▄▀▀▀▀ █▄ █ █\n▄▄▀▀ ▀█████ █ █\n█▄▄▄▄▄ ▀▀██▀▀▄▀\n ████▀ ▄██▀ ▄█▄\n ▀▄▄▄ ▄ ▀ ▀██\n ▄█▀█▀▄█▄▄█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["injured_1", " \n \n █▀▄ █▀▄ \n ▄▀▀▀▀ █▄ ▄▄ \n▄▄▀▀ ▀█▄▄██▄█▄ █\n█▄▄▄▄ ▀▀ ██ █▀\n █▄▄▄▄▄█▀▀█▄▄█▀█\n█▄▄███▄▄▄███▄▄▄█"], ["injured_2", " \n \n \n █▀▄ █▀▄ ▄▄ \n ▄▀▀▀▀ █▄▄█▄ █\n▄▄▀▀ ▀██▄███ █▀\n▀▄▄▄▄ ▄█▀█▄▄█▀█\n██▄▄▄▄█▄▄▄██▄▄▄█"], ["sleep_1", " \n ▄▄ ▄▄ \n ▀▄█▄█ █ █▀▀▄\n ▄█ ▄██ █ █\n█▀ ▀███▀█▄█▄ █\n█▀▀▀ ▄ ▄██ █ \n █████▄▄█▀█▄▄█▀█\n█▄▄▄██▄▄▄███▄▄▄█"], ["sleep_2", " \n █▀▄ █▀▄ ▄▄▄ \n ▄▀▀▀▀ █▄ ▀▄ █\n▄▄▀▀ ▄▄▄███ ▄▀ █\n█▄▄▄ ▀▀▀ ██▀▀▄▀\n▀▄▄▄▄▀ ▄██▀ ▄█▄\n ▄▄█▄█▄▄▄ ▄█▄▄▀█\n█▄▄▄██▄▄▄███▄▄▄█"], ["walk_1", " █▀▄ █▀▄ ▄▄\n ▄▀▀▀▀ █▄ █ █\n▄▄▀▀ ▀█████ █ █\n█▄▄▄ ▄ ▀▀██▀▀▄▀\n▀▄▄▄▄▀ ▄██▀ ▄█▄\n █ ▄ ▀ ▀██\n ▄█▀█▀▄█▄▄█▄ █\n █▄▄█▄▄▄▀ █▄▄▄█"], ["walk_2", " ▄▄ ▄▄ \n ▀▄█▄█ █ ▄▀█\n ▄█ ▄▄▄▄██ ▄▀ █\n█▀ ▀▀███▄█▄ █\n█▀▀▀ ▄▀ ▄██ █ \n ▀▀▀█ █▀▀ ███\n ▄█▄█▄▄▄ ▄█▄▄ █\n █▄▄█▄▄▄▀▀▀▀█▄▄█"]]], + ["sangomon", [["angry", " \n ▄ ▄█ █▄▀ ▄ \n ▀▀█▄▄█▄█▄ ▄▀▀ \n ▀▄▀ ▀▀ ▀▄▄▀ \n █ █▄ ▄█ █ \n █▄▄▄▄▄▄▄▄▄▄█ \n▄█ █ ▀ ▀ █ █▄\n█▄▀▄██▄▀▀▄██▄▀▄█"], ["attack", " ▄ ▄█ █▄▀ ▄ \n ▀▀█▄▄█▄█▄ ▄▀▀ \n ▀▄▀▄ ▀▀ ▄▀▄▄▀ \n▄▄ █ ▀▀ ▀▀ █ ▄▄\n█ █ ██▄██▄██ █ █\n▀▄▄█▀█▀██▀█▀█▄▄▀\n ▀▄▄ ▄▄ ▄▄▀ \n █▄█ █▄█ "], ["eat_1", " ▄ ▄█ █▄▀ ▄ \n ▀▀█▄▄█▄█▄ ▄▀▀ \n ▀▄▀▄▄▀▀▄▄▀▄▄▀ \n █ █▄ ▄█ █ \n █▄▄▄▄▄▄▄▄▄▄█ \n ▄▀▄▀██████▀▄▀▄ \n█▀▄▀▄▄ ▄▄ ▄▄▀▄▀█\n▀▀ █▄█ █▄█ ▀▀"], ["eat_2", " \n ▄ ▄█ █▄▀ ▄ \n ▀▀█▄▄█▄█▄ ▄▀▀ \n ▀▄▀ ▀▀ ▀▄▄▀ \n █▄▀▄ ▄▀▄█ \n █▄▄▄▄▄▄▄▄▄▄█ \n▄█ █ ▀ ▀ █ █▄\n█▄▀▄██▄▀▀▄██▄▀▄█"], ["happy", " ▄ ▄█ █▄▀ ▄ \n ▀▀█▄▄█▄█▄ ▄▀▀ \n ▀▄▀▄ ▀▀ ▄▀▄▄▀ \n █▀ ▀ ▀ ▀█ \n █▄████████▄█ \n ▄▀▄▀██████▀▄▀▄ \n█▀▄▀▄▄ ▄▄ ▄▄▀▄▀▄\n▀▀ █▄█ █▄█ ▀▀"], ["injured_1", " \n ▄ ▄ ▄ \n ▄█▄ ▀█ █▀ █▄ \n ▄ █▀▀██▀▀▄▀ ▄ \n █ ▄ ▄ █▀ \n ▄▀ ▀▀ ▀▀ ▀▄ \n ▄▀█▀▀█▀▀█▀▀█▀▄ \n█▄█▄█▄▄▄▄▄▄█▄█▄█"], ["injured_2", " \n \n ▄ ▄█ █▄▀ ▄ \n ▀▀█▄▄█▄█▄ ▄▀▀ \n ▀▄▀ ▀▀ ▀▄▄▀ \n █ ▄█ █▄ █ \n ▄█▄▄▄▄▄▄▄▄▄▄█▄ \n█▄█▄█▄▄▄▄▄▄█▄█▄█"], ["sleep_1", " \n \n ▄ ▄█ █▄▀ ▄ \n ▀▀█▄▄█▄█▄ ▄▀▀ \n ▀▄▀ ▀▀ ▀▄▄▀ \n █ ▀▀ ▀▀ █ \n █▄▄▄▄▄▄▄▄▄▄█ \n █▄█▄█▄▄▄▄█▄█▄█ "], ["sleep_2", " \n ▄ ▄ ▄ \n ▄█▄ ▀█ █▀ █▄ \n ▄ █▀▀██▀▀▄▀ ▄ \n █ ▄▄ ▄▄ █▀ \n ▄▀ ▀▄ \n ▄▀█▀▀█▀▀█▀▀█▀▄ \n█▄█▄█▄▄▄▄▄▄█▄█▄█"], ["walk_1", " ▄ ▄ ▄ \n ▄█▄ ▀█ █▀ █▄ \n ▄ █▀▀██▀▀▄▀ ▄ \n █ █▀ ▀█ █▀ \n ▄▀ ▀▀ ▀▀ ▀▄ \n ▄▀█▀▀█▀▀█▀▀█▀▄ \n█▀▄▀▄▄ ▄▄ ▄▄▀▄▀█\n▀▀ █▄█ █▄█ ▀▀"], ["walk_2", " \n ▄ ▄█ █▄▀ ▄ \n ▀▀█▄▄█▄█▄ ▄▀▀ \n ▀▄▀▄▄▀▀▄▄▀▄▄▀ \n █ █▄ ▄█ █ \n █▄▄▄▄▄▄▄▄▄▄█ \n▄█ █ ▀ ▀ █ █▄\n█▄▀▄██▄▀▀▄██▄▀▄█"]]], + ["saviorhuckmon", [["angry", " ▄▄ ▄▄▄▄ \n█▄ ▄███▀▀ ▄▀ \n█ ▀█▀▀ ▄ ▀█ \n █▀ ▀ ▄▄█▀█ \n ▀█▀▀▀ ▄█▀ ▀▄ \n ▄▀█▀█▀▀██▀▀█▄ \n▄▀ ▄██▄▄█▀ ▄▀███\n▀▀▀█▄▄█▀▀▀█▄█ ▀█"], ["attack", " ▄ ▄██▄▄▀▀█▀\n █▀▄▄██▀▀ ▄█ \n ▀▄▄▀ ▄█▀ █▄ \n █▄▄▄▄ ▄▀▀▄▀ \n ▄▀▄▄▄▄█▄▄▄▄█ \n▄▀▀▀▀▀▀█ ▄█ ▀██\n ▀▀▀▀█▀███▀▀█ ▀█\n █▄▄█ ▀█▄▄█ ▀"], ["eat_1", "▄ ▄██▄▄▀▀█▀ \n█▀▄▄██▀▀ ▄█ \n▀▄▄▀ ▄█▀ █ \n █▄▄▄▄▄ ▄█▀█ \n ████▀▄▄▀ ▀▄ \n ▀▄▄▄█▀██▀▀███▄\n ▄▀▄█▀██▀ ▄█▀▀██\n ▀▀█▄▄█ ▀█▄▄█ █"], ["eat_2", " ▄▄ ▄▄▄▄ \n█▄ ▄███▀▀ ▄▀ \n█ ▀█▀▀ ▄ ▀█ \n █▀ ▀ ▀ ▄▄█▀█ \n ▀█▀▀▀ ▄█▀ ▀▄ \n ▄▀█▀█▀▀██▀▀█▄ \n▄▀ ▄██▄▄█▀ ▄▀███\n▀▀▀█▄▄█▀▀▀█▄█ ▀█"], ["happy", "▄ ▄██▄▄▀▀█▀ \n█▀▄▄██▀▀ ▄█ \n▀▄▄▀ ▄▀▄ ▀▄▄▄ \n █▄▄▄▄▄ ▄█▀▀▄▀ \n ████▀▄██▄▄▄▄▀ \n ▄▀▄▄▄▀ ▄█▀ ▄▀█▄\n█▄▄██▀███▄▄█ ▀██\n █▄▄█ █▄▄█ █"], ["injured_1", " \n▄ ▄██▄▄▀▀█▀ \n█▀▄▄██▀▀ ▄█ \n▀▄▄▀ ▀▄▄ ▀▄▄▄ \n █▄▄▄▄ ▄█▀▀▄▀ \n ▀▄▄▄▄▄██▄▄▄▄▀ \n █ ▀▄▀ ▄█▀ ▄██ \n ██▄▄███▄▄█████"], ["injured_2", " \n ▄▄ ▄▄▄▄ \n█▄ ▄███▀▀ ▄▀ \n█ ▀█▀▀▄ ▀█ \n █▀ ▀▀ ▄▄█▀█ \n ▀█▀▀▀ ▄█▀ ▀▄ \n ▄▀█▀█▀▀██▀▀█▄ \n █▄▄█▄▄██▄▄███▄"], ["sleep_1", " \n ▄▄ ▄▄▄▄ \n█▄ ▄███▀▀ ▄▀ \n█ ▀█▀▀ ▀█ \n █▀ ▀▀▀ ▄▄█▀█ \n ▀█▀▀▀ ▄█▀ ▀▄ \n ▄▀█▀█▀▀██▀▀█▄ \n █▄▄█▄▄██▄▄███▄"], ["sleep_2", " \n▄ ▄██▄▄▀▀█▀ \n█▀▄▄██▀▀ ▄█ \n▀▄▄▀ ▄▄▄ ▀▄▄▄ \n █▄▄▄▄ ▄█▀▀▄▀ \n ▀▄▄▄▄▄██▄▄▄▄▀ \n █ ▀▄▀ ▄█▀ ▄██ \n ██▄▄███▄▄█████"], ["walk_1", "▄ ▄██▄▄▀▀█▀ \n█▀▄▄██▀▀ ▄█ \n▀▄▄▀ ▄█▀ ▀▄▄▄ \n █▄▄▄▄ ▄█▀▀▄▀ \n ▀▄▄▄▄▄██▄▄▄▄▀ \n ▄▀ █▄▀ ▄█▀ ▄▀█▄\n█▄▄██▀███▄▄█ ▀██\n █▄▄█ █▄▄█ █"], ["walk_2", " ▄▄ ▄▄▄▄ \n█▄ ▄███▀▀ ▄▀ \n█ ▀█▀▀ ▄▄ ▀█ \n █▀ ▀▀ ▄▄█▀█ \n ▀█▀▀▀ ▄█▀ ▀▄ \n ██▀█▀▀█▀▀█▄▄ \n ▄▀▄██▄▄▀ ▄█████\n ▀█▄▄█ ▀▀▀█▄▄█▀█"]]], + ["scorpiomon", [["angry", " ▄▀▀▀█▀▄\n █ ▀█▀ ▀▀\n ▄▀▀▀▀▄ \n ▄▄▄▀▀▀▀▀▄ █▄ \n █ █ ▄▄▀▄ █\n ▄▀▀██▄▄▄█▀ █▄▀\n ▀▄▀ ▄▄▄ ▀▄▀▄ █\n ▀▄▄▄█▄▄▄▄▀ █▄▀"], ["attack", " █▀▄▀▀▀▄ \n ▀▀▀█▀ █\n ▄█▄ █\n ▄▀▀▀▀▀▀▀▄ ▀█\n █▀▄ ▄▀█ █▄▄▀\n█ █▀▀▀▀▀▀▀▄ █▄ █\n██ ▄████▄ █▄ █ \n ▀▄█ █▄▄▀█▄▀ "], ["eat_1", " ▄▀█▀▀▀▄ \n ▀▀ ▀█▀ █ \n ▄▀▀▀▀▀▄ █ \n ▄▀▀▀▀▀▄ █ \n ▄▀█ ▄▄ ▀▄▀▀▄\n▄▀█▄█▄▄█▄█ ██ █\n█▀ ▄▄▄▄▄ ▀█▄ █ \n▀▄█ █▄▄▀█▄▀ "], ["eat_2", " ▄▀█▀▀▀▄ \n ▀▀ ▀█▀ █ \n ▄▀▀▀▀▄ █ \n ▄▄▄▀▀▀▀▀▄ █▄ \n █ █ ▄▄ ▀▄ █\n ▄▀█▄█▄▄█▄▀ █▄▀\n █▀▄▄▄▄ ▀▄▄▀▄ █\n ▀▄▄▀█▄▄▄▄▀ █▄▀"], ["happy", " ▄▀█▀▀▄ \n ▀▀ █▀ █\n ▄▄▄▄▄ ▄▄█ █\n ▄▀ ▄ ▀▄ ▀▄▀\n █▄█▄▄█▄█ █ █ \n▄▀▄▄▄▄▄▄ ▀▄█▄▀▀▄\n█ █▀▀▀▀█ █▄ █ █\n▀▄▄█ █▄▄▀ █▄▀▀ "], ["injured_1", " ▄▄▄▄ \n █▄▀▄▄▀▄\n ▄▀ █\n ▄▀▀▀▀▀▀▄▀▀▄ █\n █ █▄ █ █ \n ▄▀▀▀▀▀▀▄ █▄▀▀▄\n█ ▄███▄ █▀▄ █ █\n▀▄█ █▄▄▀ █▄▀▀ "], ["injured_2", " ▄▄▄ \n ▄▀▄▄▄▀▄\n ▀▀ ▄▀ █\n ▄▀▀▀▀▀▀▄▀▀▄ █\n █ ▄▄ █ █ \n ▄▀▀▀▀▀▀▄ █ ▄█ \n█ ▄███▄ █▄▀▀▄ █\n▀▄▄█ █▄▄▄▀ █▄▀▀ "], ["sleep_1", " \n ▄▀█▀▀▀▄ \n ▀▀ ▀█▀ █\n ▄▀▀▀▀▀▄▀▀█ █\n █▄ ▄▄ ▀▄ █▄▀\n █▄▄▄▄▄▄▄ █ █▄ \n▄▀ ▄▄▄ ▀▄▄▀▀▄ █\n▀▄▄▄▀▄▄▄▄▀ █▄▀▀ "], ["sleep_2", " ▄▀█▀▄ \n ▀▀ █ █\n ▄▄▄▄▄ █ █\n ▄▀ ▀█▀▀▄ █\n ▄▀▀ ▀▀ █ █ \n █▀▀▀▀▀▀█ █▄▀▀▄\n█ ▄███▄ █▀▄ █ █\n▀▄█ █▄▄▀ █▄▀▀ "], ["walk_1", " ▄▀█▀▀▀▄ \n ▀▀ ▀█▀ █ \n ▄▀▀▀▀▄█ \n ▄▄ ▄▀▀▀▀▀▄ █▄ \n █ ▄█ ▄▄ ▀▄ █\n▄▀▀█▄█▄▄█▄█ █▄▀\n█▄▀ ▄▄▄ ▀▄▄▀█ █\n ▀▄█ █▄▄▀ ▀▀ "], ["walk_2", " ▄▄▄ \n ▄▀█▄▄▄▀▄\n ▀▀ █ █\n ▄▀▀▀▀▀▄▀▀▄ █\n ▄█ ▄▄ █ █▀ \n █▄█▄▄█▄█ █▄▀▀▄\n▄▀ ▄▄▄ ▀▄█▄ █▄▀\n▀▄█ █▄▄▀ █▄▀ "]]], + ["scorpiomon_x", [["angry", " ▄▄▄▄ \n ▄▀▀█▀▄▄▄ ▀▄\n ▀▀▀▀▄█▄▄▄█ █\n ▄▄▄█▄▄▄ ▀▄█ \n ▄█ ▄ ▀█▀█ █\n ▄███▄▄██ ▄██▄ █\n█▀ ▄▄ ▄▄█▀▄ █▀ \n▀▄▄▄█▄▄▄█ █▄▄▀ "], ["attack", " ▄▀▀██▀▀▀▀▄ \n ▀▀▀▀ ▄▀▀▀▄ █ \n ▄▀▄ ▄▀▀▀▀█▀▄ \n▄▀▄▄▄█▀▀▀▀▀█▄▄ █\n█▀ ▄▀▄ ▄▀█ █▄▀█\n ▄▀▀▀▀▀▀▀▀▄█▀▀▄ \n█ ▄█████▄ █ █ █ \n▀▄▄█▄ ▀█▄▄█▀▀ "], ["eat_1", " ▄▀▀██▀▀▀▀▄ \n ▀▀▀▀ ▄▀▀▀▄ █ \n ▄▀▄ ▄▀▀▀▀█▀▄ \n █ ▄▄█▀▀▀▀▀█▄▄ █\n █▀▄▀▄ ▄▀█ █▄▀█\n ▄▀▀▀▀▀▀▀▀ █▀▀▄ \n█ ▄████▄ █ █ █ \n▀▄█▄ ▄█▄▀ ▀▀ "], ["eat_2", " ▄▄▄▄ \n ▄▀▀█▀▄▄▄ ▀▄\n ▀▀▀▀▄█▄▄▄█ █\n ▄▄▄█▄▄▄ ▀▄█ \n ▄█ ▄ ▀█▀█ █\n █▄█▄█▄█ ▄██▄ █\n █ ▄▄▄▄ █▀▀▄ █▀ \n ▀▄█▀█▄▄▀ █▄▄▀ "], ["happy", " ▄▀▀██▀▀▀▀▄ \n ▀▀▀▀ ▄▀▀▀▄ █ \n ▄▀▄ ▄▀▀▀▀█▀▄ \n █ ▄▄█▀▀▀▀▀█▄▄ █\n █▀▄▀▄ ▄▀▄ █▄▀█\n ▄▀▀▀▀▀▀▀▄█▀▀▄ \n▄▀▄██████ ▀▄█ █ \n▀▄█▄ ▄█▄▀▀▀ "], ["injured_1", " ▄▄▄▄ \n ▄▀▀█▀▄▄▄ ▀▄\n ▀▀▀▀▄█▄▄▄█ █\n ▄▄▄█▄▄▄ ▀▄█ \n ▄▀ ▄ ▀█▀█ █\n ██▄▄▄██ ▄██▄ █\n █ ▄▄▄▄ ▄▀▀▄ █▀ \n ▀▄▄▀▀▄█▄ █▄▄▀ "], ["injured_2", " \n ▄▄▄▄▀▀▀▀▄ \n ▄█▄▄▀▄▀▀▀▄ █\n ▄▀▀▀▀█▀▄▀\n ▄▀▀▀▀▀▀█▄▄█▀▄\n ██ █▄ █▄▀ █\n▄▀▀▀▀▀▀▀▄ ▀█▀█▀ \n▀▄▄█▀▀▄█▄▄█▄▄▀ "], ["sleep_1", " ▄▄▄▄ \n ▄▀▀█▀▄▄▄ ▀▄\n ▀▀▀▀▄█▄▄▄█ █\n ▄▄▄█▄▄▄ ▀▄█ \n ▄█▄ ▄▄ ▀█▀█ █\n ▄█▄▄▄▄▄▄ ▄██▄ █\n█▀ ▄▄ ▄▄█▀▄ █▀ \n▀▄▄█▀█▄▄█ █▄▄▀ "], ["sleep_2", " ▄▀▀██▀▀▀▀▄ \n ▀▀▀▀ ▄▀▀▀▄ █ \n ▄▀▄ ▄▀▀▀▀█▀▄ \n █ ▄▄▀▀▀▀▀▀█▄▄ █\n █▀▄▀▀ ▀▀ ▀█▄▀█\n ▄▀▀▀▀▀▀▀▄█▀▀▄ \n █ ▄███ ▄▀ █ █ \n ▀▄█▄ ▀▄█▄ ▀▀ "], ["walk_1", " ▄▀▀██▀▀▀▀▄ \n ▀▀▀▀ ▄▀▀▀▄ █ \n ▄▀▄ ▄▀▀▀▀█▀▄ \n █ ▄▄█▀▀▀▀▀█▄▄ █\n █▀▄▀▄ ▄▀█ ▀█▄▀█\n ▄▀▀▀▀▀▀▀▄█▀▀▄ \n █ ▄▀▀█ ▄▀ █ █ \n ▀▄█▄ ▀▄█▄ ▀▀ "], ["walk_2", " ▄▄▄▄ \n ▄▀▀█▀▄▄▄ ▀▄\n ▀▀▀▀▄█▄▄▄█ █\n ▄▄▄█▄▄▄ ▀▄█ \n ▄█ ▄▄ ▀█▀█ █\n ▄█▄█▄█▄█ ▄██▄ █\n█▀ ▄▄▄ ▄▀▀▄ █▀ \n▀▄█▄ ▀▄█▄ █▄▄▀ "]]], + ["seadramon", [["angry", " \n ▄▄▀▀▀▀▀▄▄▄▄▄ \n ▄▀ ▄█ ▄▄▄█▄ \n█▄▀▀▀▄▄ ▄▄▄█▄ \n ▀▄▄▄▄▄▄▀ █ ▄ \n █▀▄ ▄▀ █ █\n █▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄█▄▄▀"], ["attack", " ▄▄▀▀▀▀▀▀▀▄▄▄▄\n ▄▀ ▄█▀ ▄▄▄█▄\n ▀▀▀▀▀▄ ▄▄█▄ \n █ ▄▀▄▀ \n █▀▀▀▀ ▄▀ █▄▄ \n ▀█▀█▀ █ ▀▄▀▄\n █▀▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄▄▀ "], ["eat_1", " ▄▄▀▀▀▀▀▀▄▄▄▄ \n ▄▀ ▀▀▄ ▄▄▄█▄ \n ▀▀▀▀▀▄ ▄▄▄█▄ \n █ █ █ \n █▀▀▀▀ ▄▀ █▄▄ \n ▀█▀█▀ █ ▀▄▀▄\n █▀▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄▄▀ "], ["eat_2", " \n ▄▄▀▀▀▀▀▄▄▄▄▄ \n ▄▀ ▄▀▄ ▄▄▄█▄ \n█▄▄ ▄▄▄█▄ \n ▀▄▄▄▄▄▄▀ ▄▀ \n ▄▀█ ▄▀ ▄ \n █▄▀▄ ▀▀▀▀ █\n ▀▄█▄█▄█▄█▄█▄▀"], ["happy", " ▄▄▀▀▀▀▀▀▄▄▄▄ \n ▄▀ ▄▀▄ ▄▄▄█▄ \n ▀▀▀▀▀▀█ ▄▄▄█▄ \n ▄▀ █ █ \n █▀▀▀ ▄▀ █▄▄ \n ▀█▀█▀ █ ▀▄▀▄\n █▀▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄▄▀ "], ["injured_1", " \n \n \n ▄▄▀▀▀▀▀▄▄▄▄▄ \n ▄▀ ▄▄▄█▄ \n█▄▄ ▀▄▄ ▄▄▄█▄▀▄\n █▄▄▄▄▄▄█ ▄ █\n ▀▄█▄█▄█▄█▄█▄▄▀ "], ["injured_2", " \n \n \n \n ▄▄▀▀▀▀▀▄▄▄▄▄ \n ▄▀ ▄▄▄█▄ \n█▄▄ ▀▄▄ ▄▄▄█▄ █\n ▀▄▄▄▄▄▄██▄█▄▄▄▀"], ["sleep_1", " \n \n ▄▄▀▀▀▀▀▄▄▄▄▄ \n ▄▀ ▄▄▄█▄ \n█▄▄ ▀▀ ▄▄▄█▄ \n ▀▄▄▄▄▄▄▀ ▀▄ ▄▀█\n █▄▀▄ ▀▀▀▀ █\n ▀▄█▄█▄█▄█▄█▄▄▀ "], ["sleep_2", " \n ▄▄▄▄▄ \n ▄▀▀ ▀▀▀█▀ \n▄▀ ▄▄ ▀▀█▀▀ \n▀█▀ ▄▀█▀▀▀ \n █▀█▀▀▀▄█ ▄▄ \n █▄▀▄ ▀▀▀▀ █\n ▀▄█▄█▄█▄█▄█▄█▄▀"], ["walk_1", " ▄▄▀▀▀▀▀▄▄▄▄▄ \n ▄▀ ▄█▀ ▄▄▄█▄ \n█▄▄▄▄▄▄▄ ▄▄█▄ \n ▀▄▄▄▄▄▄▄▀ █ \n ▄█ █▄▄ \n █▀▄▀ █ ▀▄▀▄\n █▀▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄▄▀ "], ["walk_2", " ▄▄▄▄▄ \n ▄▀▀ ▄▄ ▀▀▀█▀ \n▄▀ ▀▀ ▀▀█▀▀ \n▀█▀▀▀▀▀▀ ▄▀▀█▀ \n ▀▀▀▀█▀▀ ▄▀ ▄ \n █▀▄ █ █ █\n █▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄█▄▄▀"]]], + ["seadramon_x", [["angry", " \n ▄▄▀▀▀▀▀▀█▀ \n ▄▀▀ ▄█ ▀▀▀█▀▀\n█▄▀▀▄▄▄ ▀▀█▀▀ \n ▀▄▄▄▄▄▄▀▀▀█▀▀▄ \n █▀▄ █ █ █\n █▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄█▄▄▀"], ["attack", " ▄▄▀▀▀▀▀▀▀█▀ \n ▄▀▀ ▄█▀ ▀▀█▀▀\n ▀▀▀▀▄▄▄ ▀█▀▀ \n ▄▀▄▀█▀▀ \n █▀▀▀▀ ▄▀▄▀▄▀▄ \n ▀█▀█▀ █ ▀▄ █\n █▀▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄▄▀ "], ["eat_1", " ▄▄▀▀▀▀▀▀▀█▀ \n ▄▀▀ ▄▀▄ ▀▀█▀▀\n ▀█████▄ ▀█▀▀ \n ██▀▀█ ▄▀█▀▀ \n █▀▀▀▀ ▄▀▄▀▄▀▄ \n ▀█▀█▀ █ ▀▄ █\n █▀▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄▄▀ "], ["eat_2", " \n ▄▄▀▀▀▀▀▀█▀ \n ▄▀▀ ▄▀▄ ▀▀▀█▀▀\n█▄▄▄▄▄▄ ▀▀█▀▀ \n ▀▄▄▄▄▄▄▀▀▀▀█▀▄ \n ▄▀▄ ▄▀ █ █\n █▄▀▄ ▀▀ █\n ▀▄█▄█▄█▄█▄▀ "], ["happy", " ▄▄▀▀▀▀▀▀▀█▀ \n ▄▀▀ ▄▀▄ ▀▀█▀▀\n ▀▀████▄ ▀█▀▀ \n ████ ▄▀█▀▀ \n █▀▀▀▀ ▄▀▄▀▄▀▄ \n ▀█▀█▀ █ ▀▄ █\n █▀▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄▄▀ "], ["injured_1", " \n \n \n ▄▄▀▀▀▀▀▀█▀ \n ▄▀▀▄ ▀▀▀█▀▀\n█▄▄▄ ▀▀ ▀▀▀█▀▄\n ▀▄▄▄▄▄▄█▀█▀▀ █\n ▀▄█▄█▄█▄█▄▄▄▄▀ "], ["injured_2", " \n \n \n \n ▄▄▀▀▀▀▀▀█▀ \n ▄▀▀ ▀▀▀██▀\n█▄▄ ▀▄▄ ▀▀▀█ █\n ▀▄▄▄▄▄▄█████▄▄▀"], ["sleep_1", " \n \n ▄▄▀▀▀▀▀▀█▀ \n ▄▀▀ ▄▄▄ ▀▀▀█▀▀\n█▄▄▄▄▄▄ ▀▀█▀▀ \n ▀▄▄▄▄▄▄▀▀████ \n ▄█▀▄ ▀▀▀ ▀▄\n ▀▄█▄█▄█▄█▄▄▄▀"], ["sleep_2", " \n ▄▄▄▄▄▄▄▄ \n ▄▄▀▀ ▄▄█▄▄▄\n▄▀ ▀▀▀ ▄▄▄█▄ \n▀█▀▀▀▀▀ ▄▄▄▄█▄ \n ▀▀▀█▀█ ▄ █▄ \n █▄▀▄ ▀▀ ▀▄\n ▀▄█▄█▄█▄█▄▄▀"], ["walk_1", " ▄▄▀▀▀▀▀▀█▀ \n ▄▀▀ ▄█▀ ▀▀▀█▀▀\n█▄▄▄▄▄▄ ▀▀█▀▀ \n ▀▄▄▄▄▄▄▀▀▀▀█▀ \n ▄▀▄▀ ▄▀▄▄ \n █▀▄▀ █ ▀▄▀▄\n █▀▄▀▄ ▀▀▀ █\n ▀▄█▄█▄█▄▄▀ "], ["walk_2", " ▄▄▄▄▄▄▄▄ \n ▄▄▀▀▄▄ ▄▄█▄▄▄\n▄▀ ▀▀ ▄▄▄█▄ \n▀█▀▀▀▀▀ ▄▄▄▄█▄ \n ▀▀▀▀██ ▄▀▄▄ \n ▄▀▄ █ █ █\n █▄▀▄ ▀▀ █\n ▀▄█▄█▄█▄█▄▀ "]]], + ["seasarmon_x", [["angry", "▄▄ ▄ ▄ ▄ \n█ ▀▄▀ ▀ ▀▄█▄ \n █▀ ▄█ ▀ ▄▀ \n█ ▄▀▄ ▀▄▀ ▄▀█\n▀█▀▀▀▄▄▀ █▄▄▄▀ █\n █▀▄▄▄█▀ ▄▀ ▀▄▀\n ▀ ▄▀ █ ▀▀█▄▄ █\n █▄▄█▄▄▄█ █▄▄▄█"], ["attack", "█▀▀▄▄▀▄▀▄▀▄ \n █▀▀ ▄ ▄▀▀█ \n█ ▀▀▄ ▄▀▄ ▄▀█\n▀████▀ █ ▄▀ █ █\n █████ ▄▀▀█▀▄▄▀\n▄▀▄▄▄▄▄▀▄▄█ █ \n▄▀ ▄▀ ▄▄▀▀█▄▄ █\n▀▀▀▀▀▀ █▄▄▄█"], ["eat_1", "█▀▄ ▄▀▄▀▄▀▄ \n▀▄▄▀ ▄▄ ▄▀▀█ \n▄▀ ▀▀ ▄▀▄ ▄▄\n█▄▄▄ ▄▀▄ ▄▀ █ █\n ▀███▄▄▀▄▀▀█▀▄ █\n █▀▀▀ █▄▄▀ █ \n ▀ █▀▀█ ▄▀▀▄ █\n █▄▄█▄▄▄█ █▄▄▄█"], ["eat_2", "▄▄ ▄ ▄ ▄ \n█ ▀▄▀ ▀ ▀▄█▄ \n █▀ ▄▀▀▄ ▄▀ \n█ ▄▀▄ ▀▄▀ ▄▀█\n▀█▀▀▀▄▄▀ █▄▄▄▀ █\n █▀▄▄▄█▀ ▄▀ ▀▄▀\n ▀ ▄▀ █ ▀▀█▄▄ █\n █▄▄█▄▄▄█ █▄▄▄█"], ["happy", "█▀▄ ▄▀▄▀▄▀▄ \n▀▄▄▀ ▄ ▄▀▀█ \n▄▀ ▀ ▀▄ ▄▀▄ ▄▄\n▀████▄▀ █▄▀ █ █\n ████▀▀▄▀▀█▀▄ █\n █▄▄▄▄▀▄▄▀ █ \n ▀ █ ▄ ▄▀▀▄ █\n █▄▄█▄▄▄█ █▄▄▄█"], ["injured_1", " \n▄▄ ▄ ▄ ▄ \n█ ▀▄▀ ▀ ▀▄█▄ \n █▀ █▄ ▀ ▄▀ \n█ ▄▀▄ ▀▄▀ █▀▄\n▀█▀▀▀▄▄▀ █▄▄▄▀ █\n▀▄▀▀▄▄▄█▀▄█▄ ▀▄▀\n█▄▄▄█▄▄▄██▄▄▄▄▄█"], ["injured_2", " \n \n█▀▄ ▄▀▄▀▄▀▄ \n▀▄▄▀▄ ▄▀▀█ \n▄▀ ▀▀▄ ▄▀▄ ▄▄ \n█▄▄▄▄▀ █ ▄▀▄▄█ █\n █▄▄▄██▄ ██▄ ▀▄█\n█▄▄▄█▄▄▄██▄▄▄▄▄█"], ["sleep_1", " \n▄▄ ▄ ▄ ▄ \n█ ▀▄▀ ▀ ▀▄█▄ \n █▀ ▄▄ ▀ ▄▀ \n█ ▄▀▄ ▀▄▀ ▄▀█\n▀█▀▀▀▄▄▀ █▄▄▄▀ █\n▀▄▀▀▄▄▄█▀▄█▄ ▀▄▀\n█▄▄▄█▄▄▄██▄▄▄▄▄█"], ["sleep_2", " \n█▀▄ ▄▀▄▀▄▀▄ \n▀▄▄▀ ▄▀▀█ \n▄▀ ▀▀▄ ▄▀▄ ▄▄\n█▄▄▄▄▀ █ ▄▀ █ █\n▄▀▄▄ ▀▀▄▄▀▀█▀▄ █\n ▄▀ ▀█▀▀ ▄█▄ ▀▄\n█▄▄▄█▄▄▄██▄▄▄▄▄█"], ["walk_1", "█▀▄ ▄▀▄▀▄▀▄ \n▀▄▄▀ ▄▄ ▄▀▀█ \n▄▀ ▀▀▄ ▄▀▄ ▄▄\n█▄▄▄▄▀ █ ▄▀ █ █\n ▀▄▄ ▀▀▄▄▀▀█▀▄ █\n ▄▀ █▀▀▀▄▄▀ █ \n ▄▀ █ ▄▀▀▄ █\n █▄▄█▄▄▄█ █▄▄▄█"], ["walk_2", "▄▄ ▄ ▄ ▄ \n█ ▀▄▀ ▀ ▀▄█▄ \n █▀ ▄█▀ ▀ ▄▀ \n█ ▄▀▄ ▀▄▀ ▄▀█\n▀█▀▀▀▄▄▀ █▄▄▄▀ █\n █▀▄▄▄█▀ ▄▀ ▀▄▀\n ▀ ▄▀ ▄▀▀█▄▄▄ █\n ▀▀▀▀▀▀▀ █▄▄▄█"]]], + ["seraphimon", [["angry", " ▄██ ▄▀█ \n ▄█▀▀▀▀▄ █ ▄▄ \n █ █ ▄▀ █ \n ▄█▄█▄▄ █▀▄▄▄▀▄\n█ █ ▀ █▄ █ ▄▀\n █ ▀█▀█▀▀ █▄▀▀▄ \n █▄▄▀▀█▄▄██▀▀▄ █\n█▄▄█▄▄▀█▄▄▄█ ▀▀"], ["attack", " ▄▄▄▄▀▀█ \n ▄▀ █▄▀▄▄▀█\n▄▄ █▀▀ █ ▀▄█▄ █\n█ ▀▄█▄▄▀▀▀▄▀ █▀▄\n▄▀▀ ▄█▄ █▀▀▄▄▀\n█▄▀███▄▄▀▀██▄ ▀▄\n ▄█ █▄▄█▄▄█▀▀▀\n █▄▄██▀▀▀█▄▄▄█ "], ["eat_1", " ▄▄██▄▄▀▀▀█ \n █▄█▄▄▄ █▄▀ ▄▄ \n▄▀█▄█▄▄▄▄█▀▀█ █ \n▀▄██████ █▄▄▀▀ █\n█ █▀▀▀▀ ▄▀ █▄▀ \n█ ██████ █ ▀▄\n ███ █▄███▀ ▀▄█\n█▄▄██▀▀█▄▄▄█ "], ["eat_2", " ▄▄ ▄▄▄▄ \n ▄█▀▀▀▀▄ ▄▀ ▄▄ \n █▄█▄▄▄ █ ▄▀ █ \n ▄█ ▀ █▀▄▄▄▀▄\n█ █▀▀▀▀▀█▄ █ ▄▀\n █ ▀█▀█▀▀ █▄▀▀▄ \n █▄▄▀▀█▄▄██▀▀▄ █\n█▄▄█▄▄▀█▄▄▄█ ▀▀"], ["happy", " ▄█▀▀▀▀▄▀▀█ \n █▄█▄▄▄ █▀ ▄▀█ \n▄▀█ ▀ █▀▀█ █ \n▀▄▀████▀█ ▄█▀ █\n█ █▄▄▄▄▄▀█▀ ▀▄▀ \n █▄▄█▄▄▄▄█▄▄█▀▀▄\n █▄█ █▄▄▄█▀ ▀▄█\n█▄▄██▀▀█▄▄▄█ "], ["injured_1", " \n ▄███▄▀▀▀█ \n █▀ ▀▄▀ \n ▄█ █▄▄▀▀▀█\n█ █▄█▄▄▄ █ ▀▄██▄\n▄▀█▄█▄▄▄▀▄▀█ ▄▄▀\n█▀█▄▄▄▄▄█▀▀▄█▀▄ \n█▄▄█▄▄█▄█▄▄█▀▄▄█"], ["injured_2", " \n ▄▄▄ ▄▄▄▄ \n ▄█▀▀▀▀▄ ▄▀ \n █ █▄▄▀▀▀█ \n██ ▄ █ ▀▄██▄ \n▄█▀█▀▀▀▄▀▀█ ▄▄▀ \n█▀█████▄█▀▀█▀▄ \n█▄▄█▄▄█▄█▄▄█▄▄█ "], ["sleep_1", " \n▄▀▄ ▄█▀█▀▀█▀█▄ \n█▀█▀█▄█ █ ▀█▀ ██\n█▄███ █▄█ █▄ █ \n█▀ █▀▀ ▀▀▄ ▀▀█\n▄▀ ▄▀\n█ ▄ ▄█ ▄▄ █\n ▀▀▀ ▀▀ ▀▀ ▀▀ "], ["sleep_2", " ▄ ▄▄▄▄▄▄▄ \n█▄█▄▄▀█ █ ▄█▄▀█▄\n█ █▄█▀█ █ █ █▀\n█▀▄ ▄▀█▀▀▄▄▄▄▄█ \n█▀ ▄▀▄ ▄▀\n▀▄ █\n█ ▄▀▄▄█▄ ▄▀\n ▀▀▀▀ ▀▀▀ "], ["walk_1", " ▄██▄▄▀▀▀█ \n █▀▄ ▀▄▀ ▄▀█ \n ▄█▀█▀▀▀ █▄█▄ █ \n█ █▄▄▄▄▄▄▀ █▀ █\n▄▀█▄▄▄▄▄▀▄██▄▄▀ \n▀▄█▄█▄▄▄▄▀ ▀█ ▀▄\n ███ █▄█▄▄▀ ▀▄█\n█▄▄██▀▀█▄▄▄█ "], ["walk_2", " ▄▄ ▄▄▄▄ \n ▄█▀▀▀▀▄ ▄▀ ▄▄ \n █▄█▄▄▄ █ ▄▀ █ \n▄▀█ ▀ █▀▀█▄▀▄\n▀▄█▀▀▀▀▀█ ▄▄▀ ▄▀\n█ █▀█▀▀▀▄▀ ▀█▀▄ \n ███▀▀█▀█▄▄▀▀▄ █\n█▄▄█▄▄▀█▄▄▄█ ▀▀"]]], + ["shadramon", [["angry", " ▄▄ ▄▄▄ ▄▄ ▄▄\n █▀▀ ▀██▀ ▄▀██\n █ ▄ █▄▀ ▀██\n ▀▄▄▄▀▀ ▄█▄ ▀█▀\n ▄█▄▄█▀▀█▄▀▀▀█ \n █ █▄▄ ▄██ ▄ █ \n ▀██▄▄▀▀ ██▄▄▀ \n █▄▄█ ▀▀█▄▄▄█ "], ["attack", " ██▄▀▀█▄██▀██\n ▄▀ ▄ ▀█ ▀██\n █ ▀▀ █ ▀██\n ▄▄▄█▀▀▄▄▄██▄▀▀ \n█▄ ▄▀▀ █▄ ▀█ \n▀▄▄▄██▀▄█▀▄▄▄▀ \n ▄█▄▄▄ ▄█▄ \n █▄▄█ ▀█▄▄▄█ "], ["eat_1", " ██▄▀▀█▄██ ▄▄\n ▄▀ ▄ ▀█ ▄▀██\n █▄▄▄▀ ▀ █▄▀ ▀██\n ███▄▀▀█▄▀▀▄██▀\n▄▀█▄█ ▀ ██▄▀ \n▀▄██▀▀▄▄▄█▀ \n ▄███▄▄▄██▄ \n █▄▄█ █▄▄▄█ "], ["eat_2", " ▄▄ ▄▄▄ ▄▄ ▄▄\n █▀▀ ▀██▀ ▄▀██\n █ ▄▀▄ █▄▀ ▀██\n ▀▄▄▄ ▄█▄ ▀█▀\n ▄█▄▄█▀▀█▄▀▀▀█ \n █ █▄▄ ▄██ ▄ █ \n ▀██▄▄▀▀ ██▄▄▀ \n █▄▄█ ▀▀█▄▄▄█ "], ["happy", " ██▄▀▀█▄██ ▄██\n ▄▀ ▄ ▀█ ▄▀▄██\n▄█▄▄▄▀ ▀ ██▀▀▄█▀\n█ ████ ▄█ ▀ █ \n▀▄██▀▀ █▀▄▄▄▀ \n █▀▀▄█▀▄▀ \n ███▀▄▄▄██▄ \n █▄▄█ █▄▄▄█ "], ["injured_1", " \n ▄▄ ▄▄▄ ▄▄ \n █▀▀ ▀██▀ \n █ █▄ █▄▄▀▀██\n ▀▄▄▄ ▄█▄ ▀█▀\n▄▄▀▄▄█▀▀▀▄▄█▀█ \n█ ▀▄▄▄▄▄█ █ ▀▄\n█▄▄██▄▄▄█▄▄▄██▄▀"], ["injured_2", " \n \n ██▄▀▀█▄██ \n▄▀ ▄ ▀█ ▄▄▄▄▄\n█ ▀▀ █▀▀ ▄███\n █▀▀▄▄▄█▀▀▄▄▄█▀ \n█ ▀█▄▄▄▄█ █ ▀▄\n█▄▄██▄▄▄█▄▄▄██▄▀"], ["sleep_1", " \n \n ██▄▀▀█▄██ ▄██ \n▄▀ ▀█ ▄▀▄██ \n█ ▀▀▀ █▀ ▄██ \n █▀▀▄▄▄█▀▀▄▄▄█ \n█ ▀█▄▄▄▄█ █ ▀▄\n█▄▄██▄▄▄█▄▄▄██▄▀"], ["sleep_2", " \n ▄▄ ▄▄▄ ▄▄ ▄▄\n █▀▀ ▀██▀ ▄▀██\n █ ▄▄▄ █▄▀ ▀██\n ▀▄▄▄ ▄█▄ ▀█▀\n▄▄▀▄▄█▀▀▀▄▄█▀█ \n█ ▀▄▄▄▄▄█ █ ▀▄\n█▄▄██▄▄▄█▄▄▄██▄▀"], ["walk_1", " ██▄▀▀█▄██ ▄██\n ▄▀ ▄▄▀█ ▄▀▄██\n █ █▄▀ █▀ ▄██\n █▀▀▄▄▄█▀▀▄▄▄▀ \n ▄█▀▀ █▄▀▀▀▄ \n █ █▀▀▄█▀█ ▄ █ \n ▀███▀▄▄▄██▄▄▀ \n █▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄ ▄▄▄ ▄▄ ▄▄\n █▀▀ ▀██▀ ▄▀██\n █ ▄▀█ █▄▀ ▀██\n ▀▄▄▄▀▀ ▄█▄ ▀█▀\n ▄█▄▄█▀▀█▀▀▀██ \n█ █▄▄ █ ▄ █▀ \n▀▄▄█▄▄▀▀█▄▄█▄ \n █▄▄█ ▀▀█▄▄▄█ "]]], + ["shakkoumon", [["angry", " \n ▄▄▀▀▀▀▀▀▀▄ \n █▄▄█▄█▄█▄▄ ▀▄ \n ▄▀████▀█▄▀▄ \n ▄▄██▄▄██▄▄██▄▀█\n ▀▄▀▄ ▀▄ ▀▄ ▄▄▀\n ▀▀▀▀▀▀▀▀▀▀ \n ▄▄▄▄▄▄▄▄▄▄ "], ["attack", " ▄▄▄▄▄▄▄ \n ▄▀▀ ▀▄ \n ▀▀▀███▀▀██▄ ▀▄ \n ███▄▄█████ █ \n ▀ ▀ ▀ ▀███ █▄\n ▄████▄▀\n █▀█▀▀█▀▀█▀▀▀ ▄▀\n ▀▄█▄▄█▄▄█▄▄▀ "], ["eat_1", " \n ▄▄▀▀▀▀▀▀▀▄ \n █▄▄█▄█▄█▄▄ ▀▄ \n ▄█▄███▄███▄ █ \n ▀▀▄ ▀███ █▄\n ▄▀ ████▄▀\n █▀█▀▀█▀▀█▀▀▀ ▄█\n ▀▄█▄▄█▄▄█▄▄▀ "], ["eat_2", " \n \n ▄▄▄▄▄▄▄ \n ▄▀▀▄ ▄ ▄ ▀▄ \n ▀▀▀█▀██▀██▄ █ \n █▀▀▀▀▀████ █▄\n █▀█▀▀█▀▀█▀▀▀▀ █\n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["happy", " ▀ \n▀ ▄▄▀▀▀▀▀▀▀▄ \n █▄▄█▄█▄█▄▄ ▀▄ \n▄ ▄█▄██▄███▄ █ \n ▄ █ ▀▀▀▀ ███ █▄\n ▀▄ ▄████▄▀\n █▀█▀▀█▀▀█▀▀▀ ▄█\n ▀▄█▄▄█▄▄█▄▄▀ "], ["injured_1", " ▄ \n \n▀ ▄▄▄▄▄▄▄▄ \n ▄▀▀▄ ▄ ▄ ▀▄ \n ▀▀▀█▀███▀█▄ ▀▄ \n █▄█▀▀▀█▄██▄█▄\n █▀█▀▀█▀▀█▀▀▀▀ █\n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["injured_2", " \n \n \n ▄▄▄▄▄▄▄▄ \n ▄▀ ▄ ▄ ▀▄ \n █ ▄█ ▄█ ▄█ █▄\n ▀█ ▀█ █▀ ▀ █\n ▀▄▄▄█▄▄█▄▄▀▀ "], ["sleep_1", " ▄ \n ▄ \n \n ▀ ▄▄▄▄▄▄▄▄ \n ▄▀▀▄ ▄ ▄ ▀▄ \n ▀██▀▀██▀▀██▄ █▄\n █▀█▀▀█▀▀█▀▀▀▀ █\n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["sleep_2", " \n \n ▄▄▄▄▄▄▄ \n ▄▀▀▄ ▄ ▄ ▀▄ \n ▀▀▀█▀▀█▀▀█▄ █ \n ████▀█████ █▄\n █▀█▀▀█▀▀█▀▀▀▀ █\n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["walk_1", " \n \n ▄▄▄▄▄▄▄ \n ▄▀▀▄ ▄ ▄ ▀▄ \n ▀▀▀▀██████▄ █ \n ▄██▀██▀███ █▄\n █▀█▀▀█▀▀█▀▀▀▀ █\n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["walk_2", " ▀ \n ▄ \n \n ▀ ▄▄▄▄▄▄▄▄ \n ▄▀▄ ▄ ▄ ▀▄ \n █▄█▀███▀█▄▄▄ █▄\n ▄▀█▀▀█▀▀█▀▀▀▀ █\n ▀▄█▄▄█▄▄█▄▄▀▀ "]]], + ["shellmon", [["angry", " \n ▄ ▄██▄ ▄\n ██▀█▄▄▄▀█▀\n ▄▄▄██▄▄▀▀██ \n ▄██▀▀ ▀▀██▄▀█\n █ ▀ ▄█ ▀██▀\n █ ▄ ▄ ▀██\n█▄██▀▀█▄▄██▄▄▄█▀"], ["attack", " \n ▄▄▄▄▄▄ ▄██▄ ▄\n▄▀ ▀ ▄█ ▀█▄▄▄▀██\n█▄▄ ▄▄▄▄ ▀█▀██ \n ▀███▀▀▀█▄ ▀█▄▀█\n ▄██▄▄▄██▀ ▀██▀\n█▄▄▄▄▄▄▄▄▀▀▄ ▀██\n█▄▄▄▀▀▀█▄▄▄█▄▄█▀"], ["eat_1", " \n ▄▄▄▄▄▄ ▄██▄ ▄\n▄▀ ▀ ▄▄▄▀█▄▄▄▀██\n█▀ ▀ ▀ ▀█▀██ \n ▀█████▀██ ▀█▄▀█\n ▄████ ▀▄ ▀██▀\n█▄▄▄▄▄█▄▄ ▄ ▀██\n█▄▄▄▀▀▀████▄▄▄█▀"], ["eat_2", " \n ▄▄ \n █▄▄█▀▀▀▄▄█\n ▀█▄▀▀██▄█ \n ▄███▀▀██▄▄▀█▄\n ▄▀█▀ ▄▄ ▀██▄█\n █ ▀ ▀ ██▄\n██▄▄▄▄▄█▄▄█▄▄▄██"], ["happy", " \n ▄▄▄▄▄▄ ▄██▄ ▄\n▄▀ ▀ ▄▄ ▀█▄▄▄▀██\n█▀ ▀ ▀ ▀█▀██ \n ▀███▀▀▀█▄ ▀█▄▀█\n ▄██▄▄▄██▀ ▀██▀\n█▄▄▄▄▄▄▄▄▀▀▄ ▀██\n█▄▄▄▀▀▀█▄▄▄█▄▄█▀"], ["injured_1", " \n ▄▄ \n █▄▄█▀▀▀▄▄█\n ▀█▄▀▀██▄█▀\n ▄██▀▀█▄▄▄▀█\n ▄▀█████▄▄▄▀█▀\n █ █▀ █▄▀██ █\n ▀▄▄▄▄███▄██▀ "], ["injured_2", " \n \n ▄ ▄██▄ ▄\n ██▀█▄▄▄▀██\n ▄██▄▄▀▀▀█▄\n ███▄▄▀▀▀█▄█\n ███▀▀█▀██▄▀▄\n █▄▄▄▄██▄██▄▀"], ["sleep_1", " \n ▄▄ \n █▄▄█▀▀▀▄▄█\n ▀█▄▀▀██▄█ \n ▄▄██████▄▄▀█▄\n ██████▀▀████▄▀\n ▄█ █▀ ▄▄████\n█▄█▄▄▄██▄█▄▄███▀"], ["sleep_2", " \n ▄ ▄██▄ ▄\n ██▀█▄▄▄▀█▀\n ▄▄▄██▄▄▀▀██ \n ▄████▀▀▀▀██▄▀█\n █▀█▀ ▀██▀\n █▄ ▄▄▄ ▄▄ ▀██\n██▄▄▄▄▄▄▄█▄▄█▄█▀"], ["walk_1", " \n ▄ ▄██▄ ▄\n ██▀█▄▄▄▀█▀\n ▄▄▄██▄▄▀▀██ \n ▄██▀▀ ▀▀██▄▀█\n █ ▀ ▄▀█▀ ▀██▀\n █ ▄ ▄ ▀██\n█▄██▀▀█▄▄██▄▄▄█▀"], ["walk_2", " \n ▄▄ \n █▄▄█▀▀▀▄▄█\n ▀█▄▀▀██▄█ \n ▄███▀▀██▄▄▀█▄\n ▄▀█▀ ▄▄▄ ▀██▄█\n █ ▀ ▀ ██▄\n██▄▄▄▄▄█▄▄█▄▄▄██"]]], + ["shellnumemon", [["angry", "█▄█ ▄ ▄ █▄█ \n▀▄█▀█ █▀█▄▀▀▀▄ \n █▄█▄█▀ █ \n ▄▀▄ ▄▄▀▄ ▀▄ █\n ▀█▀█▀█▀█▀▄ █ █\n ▄█▀█▀█▀█ ▀█ █\n▄▀ ▀▀▀▀▀ ▄██ █ \n▀▄▄▀▀▀▀▄▄▀███▀ "], ["attack", "▄ ▄ ▄ ▄ ▄ ▄ \n█▀█▀█ █▀█▀█▀▄ \n▀▀▀██▄██▀▀▀▀ █ \n ▄▀ ▀▄ ▀▄ █\n ▀▄▀▄▄█▀▄▀▄ █ █\n ▄█ █ █ █ ▀█ █\n▄▀ ▀▀▀▀▀ ▄██ █ \n▀▄▄▀▀▀▀▄▄▀███▀ "], ["eat_1", "▄ ▄ ▄ ▄ ▄ ▄ \n█▀█▀█ █▀█▀█▀▄ \n▀▀▀██▄██▀▀▀▀ █ \n ▄▀ ▀▄ ▀▄ █\n ▀█▄▄▄▄▄█▀▄ █ █\n ▄▀▄█▄█▄▀ ▀█ █\n▄▀ ▄██ █ \n▀▄▄▀▀▀▀▄▄▀███▀ "], ["eat_2", "█▄█▄█ █▄█▄█ \n█▄█▄█ █▄█▄█▀▀▄ \n █▄█▄█▀ █ \n ▄▀▄ ▄▄▀▄ ▀▄ █\n ▀███████▀▄ █ █\n ▄██▀▀ ██ ▀█ █\n▄▀ ▀▀▀▀▀ ▄██ █ \n▀▄▄▀▀▀▀▄▄▀███▀ "], ["happy", "█▄█▄█ █▄█▄█ \n█▄█▄█ █▄█▄█▀▀▄ \n █▄█▄█▀ █ \n ▄▀▄ ▄▄▀▄ ▀▄ █\n ▀███████▀▄ █ █\n ▄▀█████▀ ▀█ █\n▄▀ ▀▀▀ ▄██ █ \n▀▄▄▀▀▀▀▄▄▀███▀ "], ["injured_1", " \n \n ▄▀▀▀█▀▀▄ \n▄ █▄█ ██▄█ ▄█ █\n████▀▀▀▀███▀█ █\n ▄▀ ▄▄▄ █▄▀ █\n▄▀ ▀ ▀ ██ █ \n▀▄▄▀▀▀▀▄▄▀███▀ "], ["injured_2", " \n \n ▄▄▄▄▄▄ \n ▄ ▄ ▄█ ▄ ▀▄ ▀▄\n█▄███▄████▄██ █\n▀▀█▀ ▀▀█ ▀ █\n █ ▄▀▀▀▄ ▀██ █ \n█▄▄▄▄▄▄▄▄▄███▀ "], ["refuse", " \n█▄█ ▄ ▄ █▄█▄ \n▀▄█▀█ ▄█▀█▄▀ ▀▄ \n ▄▀▀▀▀▀█ ▄ ▀▄\n █▄ ▄█ █ █\n ▄▀▄███▄▀▄█▄▀ █\n▄▀▀▀ ▀▀▀▄█▄ ▄▀\n▀▄▄▀▀▀▀▄▄▀███▀ "], ["sleep_1", " \n \n█▄█▄█ █▄█▄█▀▀▄ \n▀▀█▀▀▀▀▀█▀▀█ █\n █▄ ▄█ █ █\n ▄▀▄▄▄▄█▀ ▀█ █\n▄▀ ▄██ █ \n▀▄▄▀▀▀▀▄▄▀███▀ "], ["sleep_2", " \n█▄█▄█ █▄█▄█▄▄ \n▀▀▀██▄██▀▀▀▀ ▀▄\n ▄▀ ▀▄ ▀▄ █\n ▀█ █▀▄ █ █\n ▄▀█████▀ ▀█ █\n▄▀ ▄██ █ \n▀▄▄▀▀▀▀▄▄▀███▀ "], ["walk_1", "█▄█▄█ █▄█▄█ \n█▄█▄█ █▄█▄█▀▀▄ \n █▄█▄█▀ █ \n ▄▀ ▀▄ ▀▄ █\n ▀▄▀▄▄█▀▄▀▄ █ █\n ▄█ █ █ █ ▀█ █\n▄▀ ▀▀▀▀▀ ▄██ █ \n▀▄▄▀▀▀▀▄▄▀███▀ "], ["walk_2", "▄ ▄ ▄ ▄ ▄ ▄ \n█▀█▀█ █▀█▀█▀▄ \n▀▀▀██▄██▀▀▀▀ █ \n ▄▀ ▀▄ ▀▄ █\n ▀▄▀▄▄█▀▄▀▄ █ █\n ▄█ █ █ █ ▀█ █\n▄▀ ▀▀▀▀▀ ▄██ █ \n▀▄▄▀▀▀▀▄▄▀███▀ "]]], + ["shinegreymon", [["angry", "█▀▄▄▄▄▄▀█ ▄▀█ \n▄▀▀ ▄█▀▄██ ▄▀▀█▄\n█▄▄▄▄▄█▀ ██▄▄▀ █\n▄█▄█▄▀ ▄▀█ █▄▀ \n█ ▀▄▄▀█ ▄█▀▀ ▄▄\n ▀▀█▀▀ ▀▄▀▀▀▄▀\n ▄▄▀▀▄▄▄▄ ▀▀▀▀▄ \n█▄█▄▄█ ▀▄▄█▄█▄█"], ["attack", "▄▄ ▄▄ ▄▄ \n▀▄█▀▀█▀ █▄▀ █▄▄ \n █ ▄▀█▀▀ █▄▀ ▄▀█\n▄▀█▀▀▀▄█▀ ▄█▀ ▄▀\n▀▀█▀▀▀▀ █▀▀▄▄▀ \n▄▀▀▄▀▀▄▀▀▄ █ ▄▄\n▀▄▄████▄▄▀▀▄▀▀▄▀\n█▄█▄▄█▀█▄█▄▄██ "], ["eat_1", "▄▄ ▄▄ ▄▄ \n▀▄█▀█▀▀ █▄▀ █▄▄ \n █ ▀ ▀▄▀ █▄▀ ▄▀█\n▄▀█▀▀▀▄█▀ ▄█▀ ▄▀\n▀▀█▀▀▀▀ █▀▀▄▄▀ \n▄▀▀▄▀▀▄▀▀▄ █▄▄▀█\n▀▄▄████▄▄█▀█▄▄▀ \n█▄█▄▄█ ▀▄▄█▄█▄█ "], ["eat_2", "█▀▄▄▄▄▄▀█ ▄▀█ \n █▀ ▄▄ ▄▀█ ▄▀▀█▄\n █▄▄▄▄▀▄▄▀▀▄▄▀ █\n█▀▀██▄█▀▄▄█▀ ▄▀ \n█ ▄▀▄▄ ▄█ █▀ \n█ ▀█▄▄█ █▄▀▄▄▀█\n ▀█▀▀████ ▀█▄▄▀ \n █▄█▄▄█ █▄█▄█▄█ "], ["happy", "█▀▄▄▄▄▄▀█ ▄▀█ \n▄▀▀▄▀▄ ▄██ ▄▀▀█▄\n█ ▄▄▄▄█▀ █▀▄▄▀ █\n ████▀▄██▄▄▀ ▄▀ \n█▀▄▄▄▀▀█ █▀▀ ▄▄\n▀▄▄█▀▀▄▀▀▄▀█▀▀▄▀\n ▄▄████▄██▀▀██▄ \n█▄█▄▄█ ▀▄▄█▄█▄█"], ["injured_1", " \n█▀▄▄▄▄▄▀█ ▄▀█ \n █▀ ▄▄ ▄▀█ ▄▀▀█▄\n▄▀▄▄▄▄▀▄▄▀▀▄▄▀ █\n▀▀█▄▄▄█▀▄▄█▀ ▄▀ \n▄▄█▄ ▄▀█▄▄█▀ \n█▄█▄█▀██▄█▄█▄▄▀█\n▀▄▄▄█▄▄█▄▄▄█▄▄▀ "], ["injured_2", " \n▄▄ ▄▄ ▄▄ \n▀▄█▀▀▀▀ █▄▀ █▄▄ \n █ ▀▀▄▀ █▄▀ ▄▀█\n█▄█▀▀▀▄█▀ ▄█▀ ▄▀\n▄▄██▀▀█ ██▄▄▀▀ \n█▄█▄█▀██▄█▄█▄▄▄ \n▀▄▄▄█▄▄█▄▄▄█▄▄▄█"], ["refuse", "▄▄ ▄▄ ▄▄ \n▀▄█▀▀██ █▄▀ █▄▄ \n █ ▀▀▄▀ █▄▀ ▄▀█\n▄▀█▀▀▀▄█▀ ▄█▀ ▄▀\n▀▀█▀▀▀▀ █▀▀▄▄▀ \n▄▀▀▄▀▀▄▀▀▄ █ \n▀▄▄▀▀██▄▄█▀▄▀▀▀▄\n █▄█▄▄█▄█▄█▄█▀▀▀"], ["sleep_1", " \n█▀▄▄▄▄▄▀█ ▄▀█ \n █▀ ▄▄ ▄▀█ ▄▀▀█▄\n █▄▄▄▄▀▄▄▀▀▄▄▀ █\n █▄▄▄█▀▄▄█▀ ▄▀ \n▄▀█▄▀▀█▀▀▄ █▀ \n▀▄█▀▀██▄▄█▀▄▀▄▄ \n █▄█▄▄█▄█▄█▄█▄▄█"], ["sleep_2", " \n▄▄ ▄▄ ▄▄ \n▀▄█▀▀▀▀ █▄▀ █▄▄ \n █ ▀▀▄▀ █▄▀ ▄▀█\n█▄█▀▀▀▄█▀ ▄█▀ ▄▀\n▄▄██▀▀█ ██▄▄▀▀ \n█▄█▄█▀██▄█▄█▄▄▄ \n▀▄▄▄█▄▄█▄▄▄█▄▄▄█"], ["walk_1", "█▀▄▄▄▄▄▀█ ▄▀█ \n █▀ ▄█▄▄▀█ ▄▀▀█▄\n █▄█▄█ ▄▄▀▀▄▄▀ █\n█▄█▄▄▄█▀▄▄█▀ ▄▀ \n ▄█ ▄▄ ▄█ █▀ \n█ █▄▄█ █▄▀▄▄▀█\n ▀█▀▀███▀ ▀█▄▄▀ \n █▄█▄▄█▄█▄█▄█ "], ["walk_2", "▄▄ ▄▄ ▄▄ \n▀▄█▀▀█▀ █▄▀ █▄▄ \n █ ▄▀█▀▀ █▄▀ ▄▀█\n▄▀█▀▀▀▄█▀ ▄█▀ ▄▀\n▀▀█▀▀▀▀ █▀▀▄▄▀ \n▄▀▀▄▀▀▄▀▀▄ █ ▄▄\n▀▄▄████▄▄▀▀▄▀▀▄▀\n█▄█▄▄█▀█▄█▄▄██ "]]], + ["shinmonzaemon", [["angry", " ▄▄▄ ▄▄▄▄ ▄▄▄ \n█ ▄▀▀ ▀ █ \n▀█ █▄ ▄█ ▄▄▀▄ \n █▄▄▄███▄▄▄▄█▄██\n █▄█▄█▄█▄▀ ████\n▄▀█ ▄▄ ▀██\n█ ▀▄ █ ▄██\n██████▀▀██████▀█"], ["attack", " ▄▄▄ ▄▄▄▄ ▄▄▄ \n█ ▄▀▀ ▀ █ \n▀█ █▄ ▄█ ▄▄▀▄ \n █▄▄▄███▄▄▄▄█▄██\n █▄█▄█▄█▄█ ▀▀██\n▄▀█▀█▀█▀█▀█ █ █\n█ ▀█▀▀▀▀▀▀ █ █\n██████▀▀██████▀█"], ["eat_1", "▄▀▀█▄▀▀▀▀▄▀▀▀▄ \n█▄▀ █ \n █ ▀▀▄▄▄▀▀ ▀█ █▄\n ▀█▀█▀█▀█▀█▀████\n▄▀▀███████▀▀▀███\n█ ██▄█▄██ ███\n ██▄▄▄▄▄▄▄█▄▄▀██\n█▄▄▄▄█ █▄▄▄▄█ ▀"], ["eat_2", " ▄▄▄ ▄▄▄▄ ▄▄▄ \n█ ▄▀▀ ▀ █ \n▀█ ██ ██ ▄▄▀▄ \n █▄▄▄███▄▄▄▄█▄██\n █▄█▄█▄█▄▀ ████\n▄▀█ ▄▄ ▀██\n█ ▀▄ █ ▄██\n██████▀▀██████▀█"], ["happy", " ▄▄▄ ▄▄▄▄ ▄▄▄ \n█ ▄▀▀ ▀ █ \n▀█ ██ ██ ▄▄▀▄ \n █▄▄▄███▄▄▄▄█▄██\n █ █ █ █ █ ▀▀██\n▄▀█▀█▄█▄█▀ █ █\n█ █ █ █\n██████▀▀██████▀█"], ["injured_1", " \n▄▀▀█▄▀▀▀▀▄▀▀▀▄ \n█▄▀ ▄ ▄ █ \n █ ▀▀▄▄▄▀▀ ▀█ █▄\n ▀█▀█▀█▀█▀█▀████\n ▄▀▀▀▀▀▀▀▀ ▀███\n▄▀▀▄ ▄▀▀▀▄ ██\n▀▄▄█▄▄▄█▄▄▄█▄▄██"], ["injured_2", " \n ▄▄▄ ▄▄▄▄ ▄▄▄ \n█ ▄▀▀ ▀ █ \n▀█ ▄█ █▄ ▄▄▀█▄\n █▄▄▄███▄▄▄▄████\n ▄█▄█▄█▄█▄▀ ▀▀██\n▄▀▀▄ ▄▀▀▀▄ █\n▀▄▄█▄▄▄█▄▄▄█▄▄▄█"], ["sleep_1", "▄▀▀▀▄▄▀▀▀▄▄▀▀▀▄ \n█ ▄▀ █ \n▄▀█ ▀▀▄▄▄▀▀ █▀▄ \n██▀▀█▀█▀█▀█▀▀██ \n█▀▀█▀▀▀▀▀▀▀█▀▀█ \n█ ▄█▀█▀█▀█▀█▄ █ \n█ ▀▄█▄█▄█▄█▄▀ █ \n▀▄▄▄▄▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", "▄▀▀▀▄▄▀▀▀▄▄▀▀▀▄ \n█ ▄▀ █ \n▄▀█ ▀▀▄▄▄▀▀ █▀▄ \n██▀▀█▀█▀█▀█▀▀██ \n▀█▀▀█▀▀▀▀▀▀▀█▀▀▄\n █ ▄█▀█▀█▀█▀█▄ █\n █ ▀▄█▄█▄█▄█▄▀ █\n ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▀"], ["walk_1", "▄▀▀█▄▀▀▀▀▄▀▀▀▄ \n█▄▀ █ \n █ ▀▀▄▄▄▀▀ ▀█ █▄\n ▀█▀█▀█▀█▀█▀████\n ▄█▀▀▀▀▀▀▀ ▀███\n█ █ █▀ ██\n▀▄▄█▄▄▄▄▄█▄▄▄▀██\n█▄▄▄▄█ █▄▄▄▄█ ▀"], ["walk_2", " ▄▄▄ ▄▄▄▄ ▄▄▄ \n█ ▄▀▀ ▀ █ \n▀█ ▄▄ ▄▄ ▄▄▀▄ \n █▄▄▄███▄▄▄▄█▄██\n █▄█▄█▄█▄▀ ████\n▄▀█ ▄▄ ▀██\n█ ▀▄ █ ▄██\n██████▀▀██████▀█"]]], + ["shogungekomon", [["angry", " █████▄ \n ▀█▀█▀ \n ▄▀▀▄▀▀▄▀ \n ▄▀█▄▀▄█▀▀▄ \n▄▀ ██▀▄ \n ▀█▀▀▀▀▀▀▄ █▀█ \n █▄ ▄▄▄ ▄▀▀█\n █▄▄█▀█▄▄▄█▄▄▄█"], ["attack", " █████▄ \n ▄▄ ▄▄▄▀▀█▀ \n █▄ █ ▄█▄▀ \n▄▀▀ ▀▀▀▄▄▀█▄ \n ▀███████▀ █▄█▄ \n ▀▄▄ ▀█ ▀▄█ \n █▄▀▀▀▀▀ ▄ ▄█ █\n█▄██▀▀█▄▄▄█▄▄▄▄█"], ["eat_1", " █████▄ \n ▄▄ ▄▄▄█▀█▀ \n █▄ █▄ █ ▄▀ \n▄▀▀▀▀ ▀▀▄▄▀▄ \n ▀█████▄▀▀ █▀▄ \n ▄▀▀█▀▀▀█ █▀█ \n █ ▀ ▄▀█▀ ▄▄▀▀▄\n█▄██▀▀█▄▄▄▀▄▄▄▄█"], ["eat_2", " █████▄ \n ▀█▀█▀ \n ▄▀▀▄▀▀█ ▄▀ \n ▄██ ██ ▀█▄ \n▄▀ ██ █▀▄ \n ▀█▀▀▀▀█▀ █▀█ \n █ ▄█ ▄▄▀▀▄\n █▄█▀█▄▄▄▀▄▄▄▄█"], ["happy", " █████▄ \n ▄▄▄ ▄▄▄█▀█▀ \n █▄ █▄ █▄▀ \n▄▀▀ ▀ ▀ ▀ ▀▄ \n ▀████████ █▀▄ \n ▄▀ ▀ █ █▀█ \n █▀████▀ ▄ ▄▄▀▀▄\n█▄█▄▄▄▄▄█▄▄█▄▄▄█"], ["injured_1", " \n ▄▄▄ \n ▄▄ ▄▄█████ \n █ █ ▀▄▀ \n ▄▀▄█ █▄ ▀█▀▄ \n▀▄▄▄▄▄▄▄ ██ █▀█ \n █▄ ▄█ █▀▀▀▄\n █▄▄█▄█▄▄▄█▄▄▄▄█"], ["injured_2", " \n \n ▄▄▄▄ \n ▄▄ ▄▄▀████ \n █ ▄█▄ ▀▀▄▄▄ \n ▄▀▀▀ ▀▀▀▄▄▀▄▀▄ \n█▄▄▄▄▄▄▄ ▀█▄▀▀█ \n █▄▄█▄▄▄▄█▄▄▄▄▄█"], ["sleep_1", " \n ▄▄▄▄▄ \n ▀█████ \n ▄▀▀▄▀▀█ █ \n ▄█▄ █▄▄ █▄▄ \n▄▀ ▄▄▀▄▀▄ \n ▀█▀▀▀▀█▄▀▀▄▀▀▀▄\n █▄█▄▄█▄▄▄█▄▄▄▄█"], ["sleep_2", " \n █████▄ \n ▄▄ ▄▄▀█▀█▀ \n █ █ █ ▄▀ \n ▄▀▀▀ ▀▀▀ ▀█▀▄ \n▀▄███▄ ██ ▀▀▄█ \n ▀▄ ▀▀▄▄ ▄▀▀▀▄\n █▄█▄▄█▄▄▄█▄▄▄▄█"], ["walk_1", " █████▄ \n ▀█▀█▀ \n ▄▀▀▄▀▀█ ▄▀ \n ▄██ ██ ▀█▄ \n▄▀ ██ █▀▄ \n ▀█▀▀▀▀▄ █▀█ \n █ ▄█ ▄▄▀▀▄\n █▄█▀█▄▄▄▀▄▄▄▄█"], ["walk_2", " ▄▄▄ \n ▄▄ ▄▄ ████ \n █▄ █▄ ▀▄▀ \n ▄▀ ▀ ▀▀▄▄▀█ \n█▄▄▄▄▄▄ ▀▀▄▀█ \n▄█▄ ▄▄ ▄▀▀█▄ \n█▄▄█▀█▄▄▄▀▀▄▄▄ █\n █▄▀▄▄▄▀"]]], + ["shoutmon", [["angry", " ▄▀█▄▄▄▀▀█\n ▄▄▄▄▀▀▀▀ ▄▀ \n▄▄▀▄ ▄▄▄ ▄▄▄▀█\n█ ▀ ▀▀▀ █ █ \n ▀▄▄▀▄▀▄▀ ▀▄▄▄▀ \n ▄▀█▀▀▀▀█▀▄ ▄ \n ▀▄▄▀▀▀ ▀▄▄█▀█ \n █▄▄▄█▀█▄▄▄█▀ "], ["attack", " ▄▄ ▄▄▄\n ▄█▄█▀▀▀ ▄▀\n █▀▀▀ ▀▄▄\n█▀▄▀ ▄██ ▄▀▀▀▄▀\n▀▄ ▄ ▄ ▄ █ █ \n ▀█▄█▄█▄▄▄██▀ \n █▄ █▄▄ █▄▄█▄█ \n █▄▄▄█▄▄▄█▄▄▄█▀ "], ["eat_1", " ▄▄ ▄▄▄\n ▄█▄█▀▀▀ ▄▀\n █▀▀▀ ▀▄▄\n█▀▄▀ ▄██ ▄▀▀▀▄▀\n▀▄ ▄ ▄ ▄ █ █ \n ▀█▄█▄█▄▄▄██▀ \n █▄ █▄▄ █▄▄█▄█ \n █▄▄▄█▄▄▄█▄▄▄█▀ "], ["eat_2", " ▄▀█▄▄▄▀▀█\n ▄▄▄▄▀▀▀▀ ▄▀ \n▄▄▀▄ ▄▄ ▄▄▄▀█\n█ ▀ ▀▀▀ █ █ \n ▀▄▄█▄█▄█▄▀▄▄▄▀ \n ▄▀▀▀▀▀▀▄█▀▄ ▄ \n ▀██▀▀▀▀▀▄▄█▀█ \n █▄▄▄█▀█▄▄▄█▀ "], ["happy", " ▄▀█▄▄▄▀▀█\n ▄▄▄▄▀▀▀▀ ▄▀ \n▄▄▀▄ ▄▄ ▄▄▄▀█\n█ ▀ ▀ ▀ █ █ \n ▀▄▄█▄█▄█▄▀▄▄▄▀ \n ▄▀▀▀▀▀▀▄█▀▄ ▄ \n ▀██▀▀▀▀▀▄▄█▀█ \n █▄▄▄█▀█▄▄▄█▀ "], ["injured_1", " \n ▄▀█▄▄▄▀▀█\n ▄▄▄▄▀▀▀▀ ▄▀ \n▄▄▀▄ ▄ ▄▄▄▀█\n█ ▀ ▀▄ █ █ \n ▀▄▄ ▄▄ ▄ ▀▄▄▄▀ \n █▀█▀▄▀██▀██▀█▄█\n █▄▄█▄▄█▄▄█▄▄█▄█"], ["injured_2", " \n ▄▄ ▄▄▄\n ▄█▄█▀▀▀ ▄▀\n █▀▀▀ ▀▄▄\n█▀▄▀ ▄▀ ▄▀▀▀▄▀\n▀▄ ▀ █ █ \n █▀█▄▀█▄█▄▄█▀█▄█\n █▄▄█▄▄█▄▄█▄▄█▄█"], ["refuse", " ▄▀█▄▄▄▀▀█\n ▄▄▄▄▀▀▀▀ ▄▀ \n▄▄▀▄ ▄▄▄ ▄▄▄▀█\n█ ▀ ▀▀▀ █ █ \n ▀▄▄▀▄▀▄▀ ▀▄▄▄▀ \n ▄▀█▀▀▀▀█▀▄ ▄ \n ▀▄▄▀▀▀ ▀▄▄█▀█ \n █▄▄▄█▀█▄▄▄█▀ "], ["sleep_1", " ▄▄▄ \n ▄▄▄▄▄▄▀ ▄▀▄▄ \n█ █▄█ █▄ ▀ █ \n█ █▄█ █▄ █ ▀▄ \n█ ▀▄▀▀█▄ █ █▀▄\n█ █▄▄▄ ▀█▀\n█ █ █ █ \n█▄▄▄▄▄█▄▄▄█▄█▄▄█"], ["sleep_2", " ▄▄▄ \n ▄▄▄▄▄▄▀ ▄▀▄▄ \n█ █▄█ █▄ ▀ █ \n█ █▄█ █▄ █ ▀▄ \n█ ▀▄▀▀█▄ █ █▀▄\n█ █▄▄▄ ▀█▀\n█ █ █ █ \n█▄▄▄▄▄█▄▄▄█▄█▄▄█"], ["walk_1", " ▄▀█▄▄▄▀▀█\n ▄▄▄▄▀▀▀▀ ▄▀ \n▄▄▀▄ ▄▄ ▄▄▄▀█\n█ ▀ ▀▀▀ █ █ \n ▀▄▄▀▄▀▄▀ ▀▄▄▄▀ \n ▄▀█▀▀▀▀█▀▄ ▄ \n ▀▄▄▀▀▀ ▀▄▄█▀█ \n █▄▄▄█▀█▄▄▄█▀ "], ["walk_2", " ▄▄ ▄▄▄\n ▄█▄█▀▀▀ ▄▀\n █▀▀▀ ▀▄▄\n█▀▄▀ ▄██ ▄▀▀▀▄▀\n▀▄ ▄ ▄ ▄ █ █ \n ▀█▄█▄█▄▄▄██▀ \n █▄ █▄▄ █▄▄█▄█ \n █▄▄▄█▄▄▄█▄▄▄█▀ "]]], + ["shoutmon_x3", [["angry", " █▀▀▄█▀▀▀▀▄▀█ ██\n █▄▄▀ ▄ █▄▄██\n ▄█ ▀▀ █ █▀\n█ █▄███▄▀ █▀ █ \n ▀▄▀█▀▀▀▀▄██▄▀ \n ▀█▀█▀███▀ \n ▄█▀▀▄████▀▀▄▄ \n █▄▄█▄▄█ █▄▄█▄▄█"], ["attack", " ▄▄▄ ▄▄▄▄▄ ▄▄ ▄▄\n ▀▄ ▀█ ▀▄▀ ██\n █▀▀ ▄█▀ █▄███\n █▀▄ ▄▄▄ ▄▄████ \n ▀▄▄█▄▄▄█▄▄█▀█▀ \n █▀ █ ▀ ▄█▀ █ \n █▄▀▀█▄█▀█▄▄▀█▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["eat_1", " ▄▄▄ ▄▄▄▄▄ ▄▄ ▄▄\n ▀▄ ▀█ ▀▄▀ ██\n █▀▀ ▄▀▄ █▄███\n █▀▄ ▄▄▄ ▄▄████ \n ▀▄▄█▄▄▄█▄▄█▀█▀ \n █▀ █ ▀ ▄█▀ █ \n █▄▀▀█▄█▀█▄▄▀█▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["eat_2", " █▀▀▄█▀▀▀▀▄▀█ ██\n █▄▄▀ ▄▄ █ ▄██\n ▄█ ▀▀ ████▀\n █ ▀▄███▄▀ ████ \n ▄█▀█▀▀▀▀▄█▀ █ \n █ █▀█▀██ ▄█ \n ██▀▀▄████▀▀▄▄ \n █▄▄█▄▄█ █▄▄█▄▄█"], ["happy", " █▀▀▄█▀▀▀▀▄▀█ ██\n █▄▄▀ ▄ █▄▄██\n █ ▀ ▀ █ █▀\n █▀█▄███▄█ █▀ █ \n ▀▄▄█▀▀▀▀ ▄█▄▀ \n █ █▀█▀███▀ \n ██▀▀▄████▀▀▄▄ \n █▄▄█▄▄█ █▄▄█▄▄█"], ["injured_1", " \n █▀▀▄█▀▀▀▀▄▀█ ██\n █▄▄▀ █ ▄██\n ▄█ ▀▀ ████▀\n █ ▀▄▀▀▀▄▀▀████ \n ▄▀▀█▀▀▀██▀▀ █ \n █▄▀▀█▄█▀█▄▄▀█▄ \n█▄▄█▄▄████▄▄█▄▄█"], ["injured_2", " \n ▄▄▄ ▄▄▄▄▄ ▄▄ ▄▄\n ▀▄ ▀█ ▀▄▀ ██\n █▀▀ ▄▄ █▄███\n █▀▄ ▄▄▄ ▄▄████ \n ▀▄▄█▄▄▄█▄▀▀ █▀ \n █▄▀▀█▄█▀█▄▄▀█▄ \n█▄▄█▄▄████▄▄█▄▄█"], ["refuse", " ▄▄▄ ▄▄▄▄▄ ▄▄ ▄▄\n ▀▄ ▀█ ▀▄▀ ██\n █▀▀ ▄█ █▄███\n █▀▄ ▄▄▄ ▄▄████ \n ▀▄▄█▄▄▄█▄▄█▀█▀ \n █▀ █ ▀ ▄█▀ █ \n █▄▀▀█▄█▀█▄▄▀█▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["sleep_1", " \n █▀▀▄█▀▀▀▀▄▀█ ██\n █▄▄▀ █ ▄██\n ▄█ ▀▀ ████▀\n █ ▀▄▀▀▀▄▀▀████ \n ▄███▀▀▀████▄█▄ \n█ ▀ █▄█▀█ ▀ █\n█▄▄▄▄█████▄▄▄▄▄█"], ["sleep_2", " \n ▄▄▄ ▄▄▄▄▄ ▄▄ ▄▄\n ▀▄ ▀█ ▀▄▀ ██\n █▀▀ ▄▄ █▄███\n █▀▄ ▄▄▄ ▄▄████ \n █▄▄█ ▄▄█▄██▄██ \n█ ▀ █▄█▀█ ▀ █\n█▄▄▄▄█████▄▄▄▄▄█"], ["walk_1", " █▀▀▄█▀▀▀▀▄▀█ ██\n █▄▄▀ ▄▄ █ ▄██\n ▄█ ▀▀ ████▀\n █ ▀▄▀▀▀▄▀▀████ \n ▄█▀█▀█▀▀██▀ █ \n █ █▄ ▄██ ▄█ \n ██▀▀██▄██▀▀▄▄ \n █▄▄█▄▄█ █▄▄█▄▄█"], ["walk_2", " ▄▄▄ ▄▄▄▄▄ ▄▄ ▄▄\n ▀▄ ▀█ ▀▄▀ ██\n █▀▀ ▄█▀ █▄███\n █▀▄ ▄▄▄ ▄▄████ \n ▀▄▄█▄▄▄█▄▄█▀█▀ \n █▀ █ ▀ ▄█▀ █ \n █▄▀▀█▄█▀█▄▄▀█▄ \n█▄▄█▄▄█▀▀█▄▄█▄▄█"]]], + ["shoutmon_x5", [["angry", " ▄ █ █▄█▀▀▄▀█ ██\n ▀███▀ ▄ █ ▄██\n ▄█ ▀▀ ██▀█▀\n █ ▀▄███▄▀▀████▄\n ▄█▀█▀▀▀▀▄██▄▀ █\n █ ██▀███▄▀ ▄▀\n ██▀▀██▄██▀▄█▄ \n █▄▄█▄▄█ █▄▄█▄▄█"], ["attack", " ▄ ▄ ▄▄▄ ▄▄ ▄▄\n ▀▄█▄██▀ ▀▄▀ ██\n ▄▀▀▀ ▄█▀ █▄███\n █▀▄ ▄▄▄ ▄▄██▄█ \n ▀▄▄█▄▄▄█▄▄█▀█▀█\n █▀ █ ▀ ▄█▀█▀ █\n █▄▀▀█▄█▀██▄ ▄▀▄\n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["eat_1", " ▄ ▄ ▄▄▄ ▄▄ ▄▄\n ▀▄█▄██▀ ▀▄▀ ██\n ▄▀▀▀ ▄▀▄ █▄███\n █▀▄ ▄▄▄ ▄▄██▄█ \n ▀▄▄█▄▄▄█▄▄█▀█▀█\n █▀ █ ▀ ▄█▀█▀ █\n █▄▀▀█▄█▀██▄ ▄▀▄\n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["eat_2", " ▄ █ █▄█▀▀▄▀█ ██\n ▀███▀ ▄▄ █ ▄██\n ▄█ ▀▀ ██▀█▀\n █ ▀▄███▄▀▀████▄\n ▄█▀█▀▀▀▀▄██▄▀ █\n █ ██▀███▄▀ ▄▀\n ██▀▀██▄██▀▄█▄ \n █▄▄█▄▄█ █▄▄█▄▄█"], ["happy", " ▄ █ █▄█▀▀▄▀█ ██\n ▀███▀ ▄ █▄▄██\n ▄█ ▀ ▀ █ ▀ █\n █ ▀▄███▄▀▀█ █\n ▄█▀█▀▀▀▀▄█ ▄▄▀ \n █ ██▀███▄▀▄▀ \n ██▀▀██▄██▀▄▄▄ \n █▄▄█▄▄█ █▄▄█▄▄█"], ["injured_1", " \n \n ▄ █ █▄█▀▀▄▀█ ██\n ▀███▀▄ █ ▄██\n █ ▀ ██▀█▀\n ▄█▄▀▀▀▄▀▀█▀██▄\n▄▀█▀█▀▀▀▄█▀█▀█▀█\n█▄▄▄██▄████▄▄▄▄█"], ["injured_2", " \n \n ▄ ▄ ▄▄▄ ▄▄ ▄▄ \n▄█▄██▀ ▀▄▀ ██ \n▄▀▀▀ ▀▄ █▄███ \n█▄ ▄▄▄ ▄▄██▄█▄ \n▄▀█▀▄▄█▄▄█▀█▀█▀▄\n█▄▄▄██▄████▄▄▄▄█"], ["refuse", " ▄ ▄ ▄▄▄ ▄▄ ▄▄\n ▀▄█▄██▀ ▀▄▀ ██\n ▄▀▀▀ ▄█ █▄███\n █▀▄ ▄▄▄ ▄▄██▄█ \n ▀▄▄█▄▄▄█▄▄█▀█▀█\n █▀ █ ▀ ▄█▀█▀ █\n █▄▀▀█▄█▀██▄ ▄▀▄\n█▄▄█▄▄█▀▀█▄▄█▄▄█"], ["sleep_1", " \n \n ▄ █ █▄█▀▀▄▀█ ██\n ▀███▀ █ ▄██\n █ ▀▀ ██▀█▀\n █ ▀▄▀▀▀▄▀▀█▀█▀▄\n▄▀█▀█▀▀▀▄█▀█▀█▀█\n█▄▄▄██▄█████▄▄▄█"], ["sleep_2", " \n ▄ ▄ ▄▄▄ ▄▄ ▄▄\n ▀▄█▄██▀ ▀▄▀ ██\n ▄▀▀▀ ▄▄ █▄███\n █▀▄ ▄▄▄ ▄▄██▄█ \n ▀▄▄█▄▄▄█▄▄█▀█▀█\n▄▀█▀█ ▀ ▄█▀█▀█▀█\n█▄▄▄██▄████▄▄▄▄█"], ["walk_1", " ▄ █ █▄█▀▀▄▀█ ██\n ▀███▀ ▄▄ █ ▄██\n ▄█ ▀▀ ██▀█▀\n █ ▀▄▀▀▀▄▀▀████▄\n ▄█▀█▀█▀▀███▄▀ █\n █ █▄ ▄██▄▀ ▄▀\n ██▀▀██▄██▀▄█▄ \n █▄▄█▄▄█ █▄▄█▄▄█"], ["walk_2", " ▄ ▄ ▄▄▄ ▄▄ ▄▄\n ▀▄█▄██▀ ▀▄▀ ██\n ▄▀▀▀ ▄█▀ █▄███\n █▀▄ ▄▄▄ ▄▄██▄█ \n ▀▄▄█▄▄▄█▄▄█▀█▀█\n █▀ █ ▀ ▄█▀█▀ █\n █▄▀▀█▄█▀██▄ ▄▀▄\n█▄▄█▄▄█▀▀█▄▄█▄▄█"]]], + ["silphymon", [["angry", " ▄███████▄ ▄▄ \n █ ▀ █ █ █▀███\n █▀▀▀▀▀▀██▀▄▄▀ \n ▀▄███ ▄██ ▄█▄\n █▀▀▀▀▄▄█▀▄▀█\n ▄▀▀▄▀▀▄▀ █▄▀ \n ▀▄█████▄▄█▄ \n █▄██▀ ▀█▄█▄█ "], ["attack", " ▄▄ \n ▄██████▄▀███ \n █ ▀ █ █ ▄▀ \n █▀▀▀▀▀██▀ ▄ \n ▀▄▄▄█▀▀▄▄▀██\n ▄█ ▄▄ █▀▀▄▀▄▀\n █ ▄█▄▄█ ▄▀▀ \n █████▀▀▀▀█████ "], ["eat_1", " \n ▄▄▄▄▄▄ ▄███ \n ▄▀█▀▀█▀█▀ ▀█ \n ▀▄▄▄▄█▄█▄▄▀ ▄ \n █ ▄██ ▄▀██\n ▄█▀██ █▀▀█▀▄▀\n █ ▄█▄▄█ ▄▀▀ \n █████▀▀▀▀█████ "], ["eat_2", " ▄██████▄ ▄▄ \n █ ▀ █ █ █▀███\n █▀▀▀▀▀██▀▄▄▀ \n ▀▄██ ▄██ ▄█▄\n ▄▀▀▀▀▄▄█▀▄▀█\n ▄▀▀▄▀▀▄▀ █▄▀ \n ▀▄█████▄▄█▄ \n █▄██▀ ▀█▄█▄█ "], ["happy", " ▄██████▄ ▄██▄\n █ ▀ █ █▀▄▀█▀\n ▀█▀▀▀▀▀▀█▄█▀ \n █ ▀▄▄▀ ██ ▄█▄\n ▄█▄▄▄▄█▄█▀▄▀█\n ▄▀ █▄▀▀▄█▄ ▀▄▀ \n ▀▄███████▄▄▄▀ \n █▄██▀ ▀█▄█▄█ "], ["injured_1", " \n ▄▄▄▄▄▄ ▄██▄ \n ▄▀█▀▀█▀█▀ ▀█▀ \n ▀▄▄▄▄█▄█▄▄▀ \n ▀▄ ▄██ ▄█▄\n ▄▀▀▀▀▄▄█▀▄▀█\n ▄▀▀█▄▀▀▄▀▀▀█▄▀ \n █▄▄█████▄▄▄█ "], ["injured_2", " \n ▄▄ \n ▄██████▄▀███ \n █ ▀ █ █ ▄▀ \n █▀▀▀▀▀██▀ ▄█▄\n ▀▄▄▄█▀█▄█▀▄▀█\n ▄▀▀█▄▀▀▄▀▀▀█▄▀ \n █▄▄█████▄▄▄█ "], ["refuse", " \n ▄▄▄▄▄▄ ▄███ \n ▄▀█▀▀█▀█▀ ▀█ \n ▀▄▄▄▄█▄█▄▄▀ ▄ \n █ ▄██ ▄▀██\n ▄█▀███ █▄▀█▀▄▀\n ▀▄██▄▄▄██ ▄▀ \n █▄███▀▀▀▀█████ "], ["sleep_1", " ▄▄▄▄▄▄ ▄██▄ \n ▄▀█▀▀█▀█▀ ▀█▀ \n ▀▄▄▄▄█▄█▄▄▀ \n ▀▄ ▄██ \n▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄\n█ ██▀█▀█▀█▀█▀█ █\n█ █▄█▄█▄█▄█▄██ █\n▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀"], ["sleep_2", " ▄▄ \n ▄██████▄▀███ \n █ ▀ █ █ ▄▀ \n █▀▀▀▀▀██▀ \n▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄\n█ ██▀█▀█▀█▀█▀█ █\n█ █▄█▄█▄█▄█▄██ █\n▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀"], ["walk_1", " ▄▄▄▄▄▄ ▄██▄ \n ▄▀█▀▀█▀█▀ ▀█▀ \n ▀▄▄▄▄█▄█▄▄▀ \n ▀▄ ▄██ ▄█▄\n ▄▀▀▀▀▄▄█▀▄▀█\n ▄▀▀▄▀▀▄▀ █▄▀ \n ▀▄█████▄▄█▄ \n █▄██▀ ▀█▄█▄█ "], ["walk_2", " ▄▄ \n ▄██████▄▀███ \n █ ▀ █ █ ▄▀ \n █▀▀▀▀▀██▀ ▄ \n ▀▄▄▄█▀▀▄▄▀██\n ▄█ ▄▄ █▀▀▄▀▄▀\n █ ▄█▄▄█ ▄▀▀ \n █████▀▀▀▀█████ "]]], + ["sirenmon", [["angry", " ▄▄▄▄ ▄ \n ▄▀▀▀███▄█▀ █\n █ ▄ ██▄▀ ▄▀█\n █ ▀▀ ▄█▄▀▀ █\n ▀▄▀▀▀▀▀▄▀▄ █\n ▄▀▀▀▀▀ ▄▀▄█ ▄▀\n █▄█ █▄ █ █ ▀ \n █▄▄█▀▀▀▄███ "], ["attack", " ▄████▄ █▄ ▄\n ▄▀ ▄ ▀██▀█ ▄█\n █ ▄█ ▀█▀▄▄▀ █\n▄▀█▄▄▄▄ ▀█▀▀▄ █\n▀▄▀████▄▀█ █▄ █\n ▀▄ ▄ ▀▄▀ ▀ \n █▀▄██▄▄▄█ \n █▄▄▀ ▀▄▄█ "], ["eat_1", " ▄████▄ █▄ ▄\n ▄▀ ▀██▀█ ▄█\n ▄▀ ▀▀ ▀█▀▄▄▀ █\n ████▄ ▀█▀ █\n ▀███▄▄▀ █ ▄ █\n ▄▀▄ ▄ ▄▀ █▀▄▀ \n ▀▄▀▄██▄█▄▄▀ \n █▄▄▀ ▀▄▄█ "], ["eat_2", " ▄▄▄▄ ▄ \n ▄▀▀▀███▄█▀ █\n █ ▄ ██▄▀ ▄▀█\n █ ▀ ▀ ▄█▄▀▀ █\n ▀▄▀▀▀▀▀▄▀▄ █\n ▄▀▀▀▀▀ ▄▀▄█ ▄▀\n █▄█ █▄ █ █ ▀ \n █▄▄█▀▀▀▄███ "], ["happy", " ▄████▄ █▄ ▄\n ▄▀ ▄ ▀██▀█ ▄█\n ▄▀ ▀ ▀ ▀█▀▄▄▀ █\n █████ ▀█▀ █\n ▄███▄▄▄▀ █▄▄ █\n█ ▀▄ ▄ ▀▄ █▀ \n ▀█▀▄██▄▄▄█▀▀ \n █▄▄▀ ▀▄▄█ "], ["injured_1", " \n ▄████▄ █▄ \n ▄▀ ▀██▀█ █\n ▄▀ █▄ ▀█▀▄ ▄▀█\n █ ▄▄▄▄▄▀█▀ ▀ █\n ▀▄▄▄▄▄▀ █ █\n ▄▀▄ ▄ ▄▀ ██ ▄▀\n ███▄██▄█▄▄█ ▀ "], ["injured_2", " \n ▄▄▄▄ ▄ \n ▄▀▀▀███▄█▀ ▄ \n █ ▄ ██▄▀ ▄█ \n█ ▀▀ ▄█▄▀▄▀ █ \n▀▄▀▀▀▀▀▄▀ █ █ \n ▄▀█▀█▀ ▄▀ █ █ \n ███▄██▄█▄▄█▄▀ "], ["sleep_1", " \n ▄▄▄▄ ▄ ▄ \n ▄▀▀▀███▄█▀ ▄█ \n █ ██▄▀▄▀ █ \n█ ▀▀ ▄█▄▀ █ \n▀▄▀▀▀▀▀▄▀ █ █ \n ▄▀█▀█▀ ▄▀ █▄▀ \n ███▄██▄█▄▄█ "], ["sleep_2", " \n ▄████▄ █▄ ▄\n ▄▀ ▀██▀█ ▄█\n ▄▀ ▄▄ ▀█▀▄▄▀ █\n █ ▄▄▄▄▄▀█▀ █\n ▀▄▄▄▄▄▀ █ ▄ █\n ▄▀▄ ▄ ▄▀ █▀▄▀ \n ███▄██▄█▄▄█ "], ["walk_1", " ▄████▄ █▄ ▄\n ▄▀ ▄ ▀██▀█ ▄█\n ▄▀ ▄█ ▀█▀▄▄▀ █\n █ ▄▄▄▄▄▀█▀ █\n ▀▄▄▄▄▄▀ █ ▄ █\n ▄▀▄ ▄ ▄▀ █▀▄▀ \n ▀▄▀▄██▄█▄▄▀ \n █▄▄▀ ▀▄▄█ "], ["walk_2", " ▄▄▄▄ ▄ \n ▄▀▀▀███▄█▀ █\n █ ▀▄ ██▄▀ ▄▀█\n █ ▀▀ ▄█▄▀▀ █\n ▀▄▀▀▀▀▀▄▀▄ █\n ▄▀▀▀▀▀ ▄▀▄█ ▄▀\n █▄█ █▄ █ █ ▀ \n █▄▄█▀▀▀▄███ "]]], + ["sistermon_blanc", [["angry", " ▄▄▄▄▄▄ \n ▄▀ ▄ ▀▄ \n █ ▀▀ ▄ ▀▄ \n █▀▀▀▀█▀▄ █ ▀▄ \n ▀▄ ▀▀ █ ▄▀ █ \n ▄▀█▀▀▀▀▀█▀ █ █ \n ▀██ ▀█▀▄█ \n █▄▄▄█▀▀█▄▄▄█ "], ["attack", " ▄▀▀▀▀▀▀▄ \n █ ▀ ▀▄ \n █▀▀▀█▀▄ █ █ \n █ ▀▀ █ ▀▄ █\n▄▄ ███▄▄█ █ █\n▄▄█▄█▄█▄▄█▀▀▄▀▄▀\n▄▄▀ █▄▄▄▄▄█▄▄▄█\n █▄▄▄▀ ▀▄▄▄█"], ["eat_1", " ▄▀▀▀▀▀▀▄ \n █ ▀ ▀▄ \n █▀▀▀█▀▀▄ ▀▄ \n █ ▄█ █ █ █ \n ███ ▄█ ▀▄ █\n ▄▀█▀▀▀▀ ▀▄▀█ █\n ▀█▄▄▄▄▄▄▄█▀▀▄█\n █▄▄▄▀ ▀▄▄▄█ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄▀ ▄ ▀▄ \n █▄▄▄▄█▄▀ ▀▄ \n █ ▄ █ ▄ █ \n ▀▄ ▀ ▀█ ▀▄ █\n ██▀▀▀▀▀█▄▀█ █\n ▀▄▀ ▀▄▄▀▄█\n █▄██▀▀▀██▄▄█ "], ["happy", " ▄▀▀▀▀▀▀▄ \n █ ▄▀▄ ▀▄ \n █▀▀▀▀▀▀▄ ▀▄ \n ▄▀█ ▄▀▄█ ▄▄▀▄\n ▀▄ ███▄▄▄█▀ ██\n ▀█ ▀▄▀█ █\n █▄▄▄▄▄▄▄█▀▀▄█\n █▄▄▄▀ ▀▄▄▄█ "], ["injured_1", " ▄▄▄▄▄▄ \n ▄▀ ▄▄ ▀▄ \n █▄▄▄▄▄ ▀▄ \n █ ▄ ▀▄ █ █▄ \n ▀▄ ▀▀█ ▀▄ █ \n ▄██▀▀▀▀█ ▄█ █ \n █▀█ █▀█▀ █ █ \n █▄▄█▄▄█▄▄██▄▀ "], ["injured_2", " \n ▄▀▀▀▀▀▀▄ \n █ ▀▀ ▀▄ \n █▀▀▀▀▀▄ ▄ █ \n █ ▀▄▄█ █ ▀▄ \n █▄▄▄▄▄█ █ █ \n █▀█ █▀█▀ █ █ \n █▄▄█▄▄█▄▄██▄▀ "], ["sleep_1", " \n ▄▄▄▄▄▄ \n ▄▀ ▄▄ ▀▄ \n █▄▄▄▄▄▄ ▀▄ \n █ █ ▄ █ \n ▀▄ ▀▀ █ ▀▄ █ \n ▄█▀█▀▀█▀▄█▀▄▀▄\n █▄█▄▄▄▄█▄▄██▀▀"], ["sleep_2", " \n ▄▀▀▀▀▀▀▄ \n █ ▀▀ ▀▄ \n █▀▀▀▀▀▀▄ █ \n █ ▄▄ █ █ ▀▄\n █▄▄▄▄▄█ ▄█ █\n ▄█ █ █ ▄█ █ █\n █▄█▄▄▄▄█▄▄██▀▀"], ["walk_1", " ▄▀▀▀▀▀▀▄ \n █ ▀ ▀▄ \n █▀▀▀█▀▀▄ ▀▄ \n █ ▄█ █ █ █ \n ▄█▄▄▄▄▄█ ▀▄ █\n ▄▀ █ ▀▄▀█ █\n ▀▀█▄▄▄▄▄▄▄█▀▀▄█\n █▄▄▄▀ ▀▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄▀ ▄ ▀▄ \n █▄▄▄▄▄▄ ▀▄ \n █ ▀▄ █ ▄ █ \n ▀▄ ▀▀ █ ▀▄ █\n ██▀▀▀▀▀█▄▀█ █\n ▀▄▀ ▀▄▄▀▄█\n █▄██▀▀▀██▄▄█ "]]], + ["sistermon_ciel", [["angry", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["attack", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["eat_1", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["eat_2", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["happy", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["injured_1", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["injured_2", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["refuse", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["sleep_1", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["sleep_2", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["walk_1", " ▄▀▀▀▀▀▀▄▀▀▄ \n █ ▄█▄▄▀ ▀▄▀ \n █▀▄ ███▄ █ \n ██▄ ▀██ ▄ █ \n ▀▄▄▄▄▄▄█▄█ ▀▄\n ▄▀█▄▀▄▄▄█ ▀▄ █\n ▀▄█▄▄▄▄▄▄▄█▄█▀ \n █▄▄▀ ▀▄▄█ "], ["walk_2", " ▄▄▄▄▄▀▀▀▄ \n ▄▀ ▄▀█ █ \n ███▀█▀▄ █ \n █▀ ▀▀ █ █ \n ▀█▄▄▄▀█ ▀▄\n █ ▄▄▀█ ▄█▀\n█▀▀▀▀▀▀█ ▄▀▀█▄ \n ▀▀▀▀████▀▀█▄▄▄█"]]], + ["skullbaluchimon", [["angry", " ▄▄▄▄ \n █▀▀▄▄▄ ▀▄ ▀█▄\n ▄▀▀ ▄▄▀█▀█ ▀▀▄▀\n█▄▄▄▀▀ ▄▄█▀██▄▀\n█▄▄▄▄██ ██ █ █▀█\n▀▄▄█ █▄█▀▄█▄▀ █ \n ▄▄▀▀▄▀ ▄▀█▄ █\n█▄█▄█▄█▄█ █▄█▄█"], ["attack", " ▄▄▀▀█\n █▀▀▄▄▄ ▄▀ ▄██▄\n ▄▀▀ ▄ ▀█▀▄ ▄▄▄▀\n█▄▄▄▀▀ ▄▄█▄▄▀ \n█▄▄▄ ██▄ █▀▄▀█▄▄\n ███▄██▀▄▀▄▀▄▀▄▀\n █▄▄▄▄▄█▀▀█▀▄ █\n█▄█▄▄▀█▄█▄██▄█▄█"], ["eat_1", " █▀▀▄▄▄ █▀▀▀▄▄ \n ▄▀▀ ▄▄▀█▀█ ▄▄▀█\n█▄▄▄▀ ▀ ▄▄▀ ▄▄▀▄\n█▄▄▄▀██ █▀█▀██▀ \n ███▄█ █ █ █ █▀█\n▀▄▄▄▄▄▀ ▀▄█▄▀ ▀▄\n ▄█ █ █ ▀█ █\n █▄█▄█▄█▄█ █▄█▄█"], ["eat_2", " ▄▄▄ █▀▀▀▄▄ \n ▀▄▄▀▀▀▄▄█▄ ▄▄▀█\n▄▀ ▄▀▄ ▀ █ ▄▄▀▄\n█▀▀▀ ▄▄ █▀▄▀██▀ \n█▀▀█▀█▀▄▀█ █ █▀█\n ▀▀▀▄▀█ █▄▀ █ \n ▄▄▀ █ █ ▀▄ █\n █▄█▄█▄█▄█ █▄█▄█"], ["happy", " █▀▀▄▄▄ █▀▀▀▄▄ \n ▄▀▀ ▄ ▀█▀█ ▄▄▀█\n█▄▄▄▀ ▀ ▄▄▀ ▄▄▀▄\n█▄▄▄▀██ █▀█▀██▀ \n ███▄█▀▄██ █ █▀█\n▀▄▄▄▄▄▀ ▀▄█▄▀ █ \n ▄█ █▀▄ █ ▀▄ █\n █▄█▄██▀▀▀ █▄█▄█"], ["injured_1", " \n ▄▄▄▄ \n █▀▀▄▄▄ █ ▀█▄\n ▄▀▀▄ ▀█▀█ ▀▀▄▀\n█▄▄▄▀▀ ▄▄█▄██▄▀\n█▄▄▄▀██ █▄▀▄▀█▄▄\n▀▄▄█▄█▄▀ ▀▄█▀▀▄█\n█▄▄███▄▄▄███▄▄▄█"], ["injured_2", " \n \n ▄▄▄ █▀▀▀▄▄ \n ▀▄▄▀▀▀▄▄█▄ ▄▄▀█\n▄▀ █▄ ▀ █ ▄▄▀▄\n█▀▀▀▄▄▄ █▀█▀███▄\n████ ██▄▀█ █▀▀▄▀\n█▄▄███▄▄▄███▄▄▄█"], ["sleep_1", " \n \n ▄▄▄ █▀▀▄▄ \n ▀▄▄▀▀▀▄▄▄█ ▄ █▄\n▄▀ ▄▄▄ ▀ █▄▀▄ █\n█▀▀▀ ▄▄ █▀█▀▄█▄█\n▀███▀██▀▀█ █ █▀▄\n█▄▄█▄█▄▄▄██▄█▄▄█"], ["sleep_2", " \n \n █▀▀▄▄▄ █▀▀▀▄▄ \n ▄▀▀ ▀█▀█ ▄▄▀█\n█▄▄▄▀▀▀ ▄▄▀ ▄▄▀▄\n█▄▄▄▄██ █▀█▀███▀\n▀▄▄█ █▄▀▀█ █ █ █\n█▄▄██▄▄▄▄██▄█▄▄█"], ["walk_1", " █▀▀▄▄▄ █▀▀▀▄▄ \n ▄▀▀ ▄▄▀█▀█ ▄▄▀█\n█▄▄▄▀▀▀ ▄▄▀ ▄▄▀▄\n█▄▄▄▄██ █▀█▀██▀▀\n▀▄▄█ █▄▀ █ █ █▀█\n █▀ ▀▄█▄▀ ▀▄\n ▄▄▀ █ █ ▀█ █\n █▄█▄█▄█▄█ █▄█▄█"], ["walk_2", " ▄▄▄ ▄▄▄▄▄\n ▀▄▄▀▀▀▄▄█▀ ▄▄▀\n▄▀ ▄██ ▀ █ ▀▄▄█\n█▀▀▀ ▄▄ ██▄▄█▀ \n█▀▀█▀█▀▄▀▄▀▄▀█▄▄\n ▀▀█▄█▀ ▄▀▄▀▄▀▄▀\n ▄▄▀ █▄ ▀██ █ \n█▄█▄▄▀█▄█▄█▄█▄█ "]]], + ["skullgreymon", [["angry", " ▄▄▄▄▄ \n ▀▄▄▄ ▀▀▀▄▄ ▄▄▄ \n ▄▄▀ ▄▀ █▀ ▄▄▀\n█▄▄▄█▄ ▀▀▄▀▄▄ \n █▄▄▄▄▄ ▄ ▄▀▄▄▀\n█ █ █▄▀▄█▄▄▀▀▄ █\n ▀▄█▄▄▀▄▄ █▄▄▄▄▀\n █▄█▄▄▄▄▄█▄█▄█▄█"], ["attack", " \n ▄▄▄▄▄ ▄▀▀▄ ▄▄▄ \n █▄▄▄ ▀▀▀▄▄▀ ▄▄▀\n█▄▄▄ ▄█ █▄▀▄▄ \n ▀▄ ▀█ ▀▄▄▀\n ▄▀ █▄▀█ █ █\n █▀▀▄▄▀▄ ▀▄▀▄▄▄▀\n█▄██▄▄▀ █▄▄█▄█▄█"], ["eat_1", " █▀▀▀▀▄▄▄ \n ▄█▀▀ ▄ ▀█▄▀▀▀▄\n█▄▄▄▄▄▀▀ ▄█ ▄▀▀ \n █ ▄ ▀▄▀▀▄\n ▄▄▄▀ ▄▀▄▀▄▀ ▀█ \n▄▀▄▄▀▀▄▀▀▄▀▀▄▄▀ \n▀▄▄█▀█ ▀▀▀▄▄▀ █ \n █▄█▄▄█▀▀▀▄█▄█▄█"], ["eat_2", " ▄▄▄▄▄ \n ▀▄▄▄ ▀▀▀▄▄ ▄▄▄ \n ▄▄▀ ▄▀▄ █▀ ▄▄▀\n█▄▄▄█▄ ▀▀▄▀▄▄ \n █▄▄▄▄▄▀ ▄ ▄▀▄▄▀\n█ █ █▄▀▄█▄▄▀▀▄ █\n ▀▄█▄▄▀▄▄ █▄▄▄▄▀\n █▄█▄▄▄▄▄█▄█▄█▄█"], ["happy", " █▀▀▀▀▄▄▄ \n ▄▀▀▀ ▄ ▀█▄▀▀▀▄\n█▄▄▄▄▄▀ ▀▄█ ▄▀▀ \n █ ▄ ▄█▄▀▀▄\n ▄▄▄▀ ▄▀▄▀ ▀ ▄▄▀\n ▀▄▄▀▀▄▀▀▄▀ █▄▀ \n ▄▄█▀█ ▀▀▀▄▄▀ █ \n █▄█▄▄█▀▀▀▄█▄█▄█"], ["injured_1", " ▄▄▄▄▄ \n ▀▄▄▄ ▀▀▀▄▄ ▄▄▄ \n ▄▄▀▄ █▀ ▄▄▀\n█▄▄▄ ▀▀ ▀▀▄▀▄▄ \n █▄▄▄▄▄▀ ▄ ▄▀▄▄▀\n█ █ █▄▀▄█▄▄▀▀▄ █\n ▀▄█▄▄▀▄▄ █▄▄▄▄▀\n █▄█▄▄▄▄▄█▄█▄█▄█"], ["injured_2", " \n █▀▀▀▀▄▄▄ \n ▀█▀ ▀█▄▀▀▀▄\n▄▀▀ ▀▄▄ ▄█ ▄▀▀ \n▀█▀▀ ▄ ▀▄▀▀▄\n ▀█▀█▀█ ▄▀ ▄ ██▄\n █▀▄▀▀ ▀▀▀█▀▀ █\n██▄███▄██▄█▄▄▄▄█"], ["sleep_1", " \n ▄▄▄▄▄ \n ▀▄▄▄ ▀▀▀▄▄▄▀▀▀▄\n ▄▄▀ ▄▄ █ ▄▀▀ \n█▄▄▄█▄ ▄▀▀▀▄▀▀▄\n █▄▄▄▄▄███▀█▀█▀ \n █▀█▀█▀▄▄█▀█▀█▄ \n ▀▄▄▄█▄▄▄█▄▄▄█▄█"], ["sleep_2", " \n █▀▀▀▀▄▄▄ \n ▀█▀ ▀█▄▀▀▀▄\n▄▀▀ ▄ ▀▀ ▄█ ▄▀▀ \n▀█▀▀▀▀ ▄ ▀▄▀▀▄\n █▀█▀█▀▄██▀█▀█▀ \n █▀█▀█▀▄▄█▀█▀█▄ \n ▀▄▄▄█▄▄▄█▄▄▄█▄█"], ["walk_1", " █▀▀▀▀▄▄▄ \n ▀█▀ ▄ ▀█▄▀▀▀▄\n▄▀▀ ▄ ▀▀ ▄█ ▄▀▀ \n▀█▀▀▀▀ ▄ ▀▄▀▀▄\n ▀█▀▀█ ▄▀▄▀ ▀█ \n▄▀▀▄▀▀▄▀▀▄▀▀▄▄▀ \n▀▄▄█▀█ ▀▀▀▄▄▀ █ \n █▄█▄▄█▀▀▀▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄ \n ▀▄▄▄ ▀▀▀▄▄ ▄▄▄ \n ▄▄▀ ▄█ █▀ ▄▄▀\n█▄▄▄█▄ ▀▀▄▀▄▄ \n █▄▄▄▄▄ ▄ ▄▀▄▄▀\n█ █ █▄▀▄█▄▄▀▀▄ █\n ▀▄█▄▄▀▄▄ █▄▄▄▄▀\n █▄█▄▄▄▄▄█▄█▄█▄█"]]], + ["skullmammothmon", [["angry", " █▀▄ ▄▀█▀▀▀▀▄▄ \n ▀▄ █ ▀ ▀▄\n▄▀█ ▀▄▀█ ▀▀ ▄ █\n█ ▀▄ █ █ ▄█ ▄▀\n ▀██▀▀█▀▀▀▀█ ▀▄ \n █ █▀▀▄▀▀▀█ ▄▀ \n ▄▀█▀▀▄▀▀▀▄█▀ █▄\n█▄█▄██▀▀▀█▄█▄█▄█"], ["attack", "█▀▀▀▀▄▀▀▀▀▀▀▀▄▄ \n▀█▀█ ▀▄▀█ ▄▄ █\n █ ▀▄▄█ █ ▀▀ █\n ▀▀▄ ▀▄ █ ▄▀\n ▄▄▀ █▀█▀▀█▀▄\n █ █▀█▀▀ ▄▀▄▄▄▄▀\n ▄▀█▀▄▀▀▀ █▄▀ █▄\n█▄█▄██▀▀▀█▄█▄█▄█"], ["eat_1", "█▀▀▀▀▄▀▀▀▀▀▀▄ \n▀█▀█ ▀▄▀█ ▄ ▀▀▄\n █ ▀▄▄█ █ ▀▀ █\n ▀█ ▀▄ █ █\n ▄▄ █ █▀▀█▀▄▀\n█ █▀▀█▀▀▀▄▄▄▄▀ \n ▀█▀█▀▄▀▀▀▄▄▀ █▄\n █▄█▄██▀▀█▄█▄█▄█"], ["eat_2", " ▄▄▄ ▄▀█▀▀▀▀▄▄ \n ▀▄ █ ▄ ▀ ▀▄\n▄▀█ ▀▄▀█ ▀▀ ▄ █\n█ ▀▄ █ █ ▄█ ▄▀\n █▀█▀▄▀▀█▀▀█ █ \n ▀▄█▀▄▀▀▀▄▄▄▄▀▄ \n ▄▀█ ▀▀▀▀▄▄▀ █▄\n █▄█▄██▀▀█▄█▄█▄█"], ["happy", "█▀▀▀▀▄▀▀▀▀▀▀▀▄ \n▀█▀█ ▀▄▀█ ▄▀▄ ▀▄\n █ ▀▄▄▀ █ ▄ █\n▄▀▀█ ▀▀▀ █ ▄▀▀▀▄\n█ ▄█▄ ▄▀▀▀▄▄ █\n▀▄▄█ ▀█▀ ▀▀▀█▄▄▀\n ▄▀█▀▀▄▀▀▀██▀ █▄\n█▄█▄██▀▀▀█▄█▄█▄█"], ["injured_1", " ▄▄▄▄▄▄ \n ▄▀ ▀ ▀▀▄ \n ▄█ ▄▄ ▄ ▄ █\n █ █ █ █ ▀▀ █ █\n ▀▄█ █▄█▄▄▄█▀▄▀ \n █ ▀▄▄▀▄▄▄▄▀ █ \n █▄█▄▄▀▄▄▄█▄▀▀█▄\n█▄▄█▄▄▄▄▄█▄█▄█▄█"], ["injured_2", " \n ▄▀█▀▀▀▀▄ \n ▄▀ █▀▄ \n▄▀█ ▄▀█ ▀▄▄ █ \n█ █ █ █ ▄█ █ \n▄▀█ ▀█▀▀▀█▀ █▀ \n▀▄▄▀▀█▀▀▀▀▄█▀ █ \n█▄█▄█▄▄▄▄█▄█▄█▄█"], ["sleep_1", " \n ▄▀█▀▀▀▀▄▄ \n ▄▀ ▀▄\n ▄▀█ ▄▀█ ▀▀ █ █\n █ █ █ █▄▄▄▀█▄ █\n ▄▀█▄▄█▄▄▄▄▀ █ \n █▄█▄▀▄▄▄▄█▄▀▀█▄\n█▄▄█▄▄▄▄▄█▄█▄█▄█"], ["sleep_2", " ▄▄▄▄▄▄ \n ▄▀ ▀ ▀▀▄ \n ▄█ ▄▄ ▄ █\n █ █ █ █ ▀▀ █ █\n ▀▄█ █▄█▄▄▄█▀▄▀ \n █ ▀▄▄▀▄▄▄▄▀ █ \n █▄█▄▄▀▄▄▄█▄▀▀█▄\n█▄▄█▄▄▄▄▄█▄█▄█▄█"], ["walk_1", " ▄▄▄ ▄▀█▀▀▀▀▄▄ \n ▀▄ █ ▄ ▀ ▀▄\n▄▀█ ▀▄▀█ ▀▀ ▄ █\n█ ▀▄ █ █ ▄█ ▄▀\n▄▀▀█▀▄▀▀█▀▀▄▀█ \n▀▄▄▀▀▄▀▀▀▄▄▀▄▀▄ \n ▄▀█▀▄▀▀▀▀▄▄▀ █▄\n█▄█▄██▀▀▀█▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄▄ \n▄▄▄▄ █ ▀ █▄ \n▀▄▄ █ ▄▄ ▄█ ▀▄\n█ █ █ █ █ █\n▀▄▄█▄▀▄█▄▄▄▀█ ▄▀\n ▄▀ ▄▀▄▄▄▄▀ ▄█ \n █▄█▄▀▄▄▄▀▄▄▀ █ \n█▄▄█▄▄▄▄▄█▄█▄█▄█"]]], + ["skullmammothmon_x", [["angry", " ▄▄▄▄▄▄ ▄▄\n█▀▀▀▄▀ ▀ █▀ █\n █▀▄█▄▀█ ▄█ █ █▄\n█ █▀ █ █ █▀▄█\n▀▄▄█▄▀▄▀█▀▄▀▀▀█ \n ▄▀▀█▀▀██▀▄█▀▀▄ \n ▀▄▄███▄▄▀▄█▄▄█ \n ██▄▄█▄███▄▄██▄█"], ["attack", "█▀▀▀▄▄▀▀▀▀▀▄▄▄▀█\n▀▄▄ ▄▀▄ ▄█ █ ▄▀\n ▀█ █ ▀▄ █▄▀█\n ▀██▄██ █▄█▄\n ▄▄▄▀▀▀▀▀▄█▄▄▄▀\n █ ▀█▀▀▀▀█ ▀ █\n ▀█▀█▀██▀▄█▀██ \n ██▄▄█▄▀▀▀▀▄▄█▄█"], ["eat_1", " ▄▀▀▄▄▀▀█▀▀▀▄▄▀█\n█ ▄ █▀▄ ▄▄ █ ▄▀\n█ █▄█▄█▄ ▀▄▀█\n █ ▄▀████ █▄█▀\n ▀ ▄▀▀▀▀ ▄█▄▄▀ \n▄▀▀▀█▀█▀▀█▀█▄ ▀▄\n▀▄▄█▀█▀██ ▄▀▀▄▄▀\n ██▄▄█▄▀▀█▄▄██▄█"], ["eat_2", " ▄▄▄▄▄▄ ▄▄\n█▀▀▀▄▀ ▀ █▀ █\n █▀▄█ ▄▄ ▄▀▄█ █▄\n█ █▀ █ █ █▀▄█\n▀▄▄█▄█▄█▄▄▄▀▀▀█ \n ▄▀█▀▄▄▄▄▀▀█▀▄ \n █ ▄██▀█▀▀▄▄▄▄█ \n ███▄█▄▀▀█▄▄▄█▄█"], ["happy", "█▀▀▀▄▄▀█▀▀▀▀▄▄▀█\n▀█▀ █ ▄▄ ▄▀▄█ ▄▀\n█ █▀█ █ ▄▄ █▄▀█\n ▀▀▄▄█▄████ █▀▀▄\n ▄▄██▀▀▀▀ ▄▀ ▄▀\n ▀▄ ▀█▀▀▀▀█▄▄█ \n ▄█▀████▀▄▀ █▄ \n ██▄▄█▄▀▀█▄▄██▄█"], ["injured_1", " ▄▄▄▄▄▄ ▄▄\n ▄▀ ▀ █▀ █\n █ ▄ ▄ █ █▄\n ▄▀ █ █ ▀▀ █▀▄█\n ▄▀ ▄█▄█▄▄▄▀▀▀█ \n █ ██▄▄▄▄█▀██▄▀\n▄▀▀█ ▀▀█▀▀ █ ▀ █\n█▄▄▄█▄▄█▄▄██▄▄▄█"], ["injured_2", " \n ▄▀█▀▀▀▀▄▄▀█\n █ █ ▄▀\n █ ▄▀█ █▄ █▄▀█\n▄▄▀ █ █▄ ▄█▄█▀\n█ ▄██▀▀▀▀█▄▄▄█ \n▄▀▀█ ▀▀█▀▀ █ ▀ █\n█▄▄▄█▄▄█▄▄██▄▄▄█"], ["sleep_1", " \n ▄▀█▀▀▀▄▄▄▀█ \n ▄▀ ▄▄▄ █ ▄▀ \n▄▀ ▄▀▄ █▄▀█ \n█ ▀▄ █ ▄▀▀▀█ \n ▀▄█▀▀█▀▀█▀▀▀█ \n ▄█▀▄█▀▀█▄▄█▀█ \n ██▄▄▄████▄▄▄█▄█"], ["sleep_2", " ▄▄▄▄▄ ▄▄\n ▄▀ ▀ ▀█▀ █\n ▄▀ ▄ ▀▀▀ █ █▄\n █ █ █ █▀▄█\n █ ▀▄▄█▄▄▄▀▀▀█ \n █▄▀▀█▄▄▄▀▀▀█ \n ▄█▀▄█▀ █▄▄█▀█ \n ██▄▄▄████▄▄▄█▄█"], ["walk_1", "▄▄▄▄ ▄▀█▀▀▀▀▄▄▀█\n▀▄▄ █ ▄ █ ▄▀\n▄▀▄█▀▄▀█ ▀▀ █▄▀█\n█ ▀▄ █ █ ▄█▄█▀\n ▀▀▀██▀▀▀▀▀▄▄▄▀ \n ▄▀▀█▄█▀▀█▀█ █ \n█ ▄█▀█▀██ ▄▀▀█▄ \n▀██▄▄█▄▀▀█▄▄██▄█"], ["walk_2", " ▄▄▄▄▄▄ ▄▄\n█▀▀▀▄▀ ▀ █▀ █\n █▀▄█ ▄▄ ▄█ █ █▄\n█ █▀ █ █ █▀▄█\n▀▄▄█▄█▄█▄▄▄▀▀▀█ \n ▄▄█▀▄▄▄▄▄█▀▀▄ \n▄▀ ▄███▄▄▀▄█▄▄█ \n▀██▄▄█▄███▄▄██▄█"]]], + ["skullmeramon", [["angry", " ▄▄▀▀▀▀▀▀▀█▀\n ▄▀ ▄▄▄▄ ▀▄ \n ▀▄█▀███ ▄▀ \n ▄ ██▄███▀ ▄█▄█ \n █▀▀▄▄▄█▀ ▄ █ \n ▀▄▄▄▀ ▀▄▄▄▀ \n ▄▄█ ▄▄▄▄▄ █▄▄\n ▀▄▄▄▄▄▀ ▀▄▄▄▄▄▀"], ["attack", " ▄▄▀▀▀▀▀▀▀█▀\n ▄▀▄▄██▀▀█ ▀▀█\n ▄▀▀▀▀█▄▄██ █ \n ▀▄ ▀██ █▄█\n █▄▄▀ ▄▀ ▀ █\n █ ▀█▀▀ █▀ ▄▀\n ▄██▀▀▄▄▄ ▀█▄ \n ▀▄▄▄▄▄█ █▄▄▄▄▄█"], ["eat_1", " ▄▄▀▀▀▀▀▀█▀ \n ▄▀▄▄██▀██ ▀▀█\n █▄███▄█▄█ █ \n ▀▄ ▀██ █▄█\n ▄▀ ▄▀ ▀ █\n █ ▀█▀▀ █▀ ▄▀\n ▄▄█▀▀▄▄▄ ▀█▄ \n ▀▄▄▄▄▄█ █▄▄▄▄▄█"], ["eat_2", " ▄▄▄▀▄▀█▄▄▀█\n ▄▀▄ ▄▄▄▄ █\n █ ██▀▄███ █ \n ███▄███▀ █▄█\n ▄▀▄▄▄▄▀▀ ▀ █\n █ ▀▄ █▀ ▄▀\n ▄▄█▀▀▄▄▄ ▀█▄ \n ▀▄▄▄▄▄█ █▄▄▄▄▄█"], ["happy", " █▄ ▄▀▄▀▀▄▀▄ ▄█ \n █ ▀▄▄▄ ▄▄▄▀ █ \n █ ▄▀▄▀██▀▄▀▄ █ \n█▀▄▀█▀████▀█▀▄▀█\n▀▄ █ █ ▄▀\n ▀▄ ▀▄▄▄▄▀ ▄▀ \n █▄▄▀ ▀▄▄█ \n ▀▄▄▄▄█▀▀█▄▄▄▄▀ "], ["injured_1", " ▄ ▄ ▄ ▄▄ \n ▄▀▀▀ ▀ ▀▀ █ \n █ ▄▄ ▄▄ █ \n █ ██▀██▀██ ▄▀▄\n ▄▀▄█▄▄██▄▄█▄▀▀█\n █▀ ▀█▄▄▄▄█ ▄▄▄▀\n ▀▄▄▄█ █▀ ▄█ \n █▄▄▄▄█▄█▄▄▄▄▄█"], ["injured_2", " ▄ \n ▄▀▄▄▀▀▄ ▄ \n ▄▀ ▀ █ \n▄▀▄▄▄ ▄▄▄ █ ▀ \n█ █▀ ██ ▀█ ▄▀█ \n ▀▄██████▀ █▄ \n █ ▄ ▄ ▄ ▀ █\n█▄▄▄█▄█▄▄▄█▄▄█▄█"], ["sleep_1", " ▄ \n ▄▀▄▀ ▀▄ ▄█ \n ▄▀ ▀ █ \n▄▀▄▄▄ ▄▄▄ █▄█ \n█ █▀▀██▀▀█ █▀ █ \n █ ▀█████▀▀▄▄▄▀ \n █▀▄█ █ █▄█▄ █ \n ▀▄▄▄▄█▄▄▄▄▄▄▄▀ "], ["sleep_2", " ▄ ▄ ▄ ▄ \n ▄▀▀▀ ▀ ▀▄▀█ \n █▄▄▄ ▄▄▄ █ \n █ █▀▀██▀▀█ ▄▀▄ \n ▀▄▀███████▄▀▀█ \n █ ▀▄▄ ▄▄▀ ▄▄▄▀ \n █▀▄█ █ █▄█▄ █ \n ▀▄▄▄▄█▄▄▄▄▄▄▄▀ "], ["walk_1", " █▄▄▀▄▀▄▄ █▄ \n █ ▄▄ ▄▄▄▄▀ █ \n █ █ ▀██▀ █ █ \n █ ██▄██▄█▀ ▄▀▄\n▄▀▀▄▀▄▄▄▄▄▀▀█ ▀█\n█ ▀█ █ ▀ █\n▄██▀ ▀▄▄▄ ▀▀▀██ \n▀▄▄▄▄█ █▄▄▄▄▄█"], ["walk_2", " █▄▄▀▄▀▄ ▄█ \n ▄▀▄ ▄▄▄▄▄▀ █ \n █ ██▀ ███ █ \n █ ███▄███▀ █▄█\n ▀▄▀▄▄▄▄▀▀ ▀ █\n █▀ █ █▀ ▄▀\n▄▄█▀ ▀▄▄▄ ▀█▄ \n▀▄▄▄▄█ █▄▄▄▄▄█"]]], + ["skullscorpiomon", [["angry", " \n ▄▄▄▄▄ \n ▄▄▀█ █▄▄▀ █\n ▄▀▄ ▄▀▄ ▀█▀█\n█▀▀▀▀▀▄ █▀█▄▄▀▀█\n ▀▄ ▀▀ ▄▀ ▄ ▀▄▀\n ▄▀▀▀▀▄▀ █ ▄ █ \n █▄████▄▄█████▄█"], ["attack", " ▄▄▀█ ▄▀▀█▀▀▄\n ▄█▄▄▄▀▄▀▀▀▄▄▄█\n█▀▀ ▄▄▀█▄▄ █▄█\n ▀▄▄▀▀▄▄▄▄▀▀▀▄ █\n ██████ ▄▀ █ \n ███▀█▀▄█ █ █ \n █▄▄▄▄▄▀███▀▀▄ \n █▄█▄▄█ █▄▄█▄█"], ["eat_1", " ▄▄ ▄▀▀█▀▀▄\n ▄▀▀ █ ▀▀▀▄▄▄█\n▄▄█▄█▄▀ █▄▄ █▄█\n▀▄ ▀▀▄██▀▄▀▀▀▄ █\n ▀██▄▄▄▀ ▄▀ █ \n ███▀█ ▄█ █ █ \n █▄▄▄▀▄███▀▀█ \n █▄█▄▄█ █▄▄█▄█ "], ["eat_2", " ▄▄▄▄▄ \n ▄▄▀█ █▄▄▀ █\n ▄▀▄ ▄▀▄ ▀█▀█\n█▀▀▀▀▀▄ ▀▀█▄▄▀▀█\n ▀▄ ▀ ▀▄▀ ▄ ▀▄▀\n ▄▀▀▀▀▄▀ █ ▄ █ \n █▀▀▀▀ ▄██▄█▄█ \n █▄█▄▄▄█▀▀█▄▄█▄█"], ["happy", " ▄▄ ▄▀▀█▀▀▄\n ▄▀▀ █ ▀▀▀▄▄▄█\n▄▄█▄█▄▀ █▄▄ █▄█\n▀▄ ▄▀▄▀▄▀▀▀▄ █\n ▀██▄▄▄▀ ▄▀ █ \n ███▀█ ▄█ █ █ \n █▄▄▄▀▄███▀▀█ \n █▄█▄▄█ █▄▄█▄█ "], ["injured_1", " \n ▄▄▄▄▄ \n ▄▄▀█ █▄▄▀ █\n ▄▀▄ ▄▀▄ ▀█▀█\n█▀▀███ ▀▀█▄▄▀▀█\n ▀▄ ▀▀ ▄▀ ▄ ▀▄▀\n ▄▀▀▀▀▄▀ █ ▄ █ \n █▄████▄▄█████▄█"], ["injured_2", " \n \n ▄▄ ▄▄▄▄▄ \n ▄▀▀ █ █▄▄█ ▄█\n▄▄█▄█▄▀ █▄▄ █▄█\n▀▄ ▀▀█▄ ▄▀▀▀▄ █\n ▀▄▄▄▄ █ ▄▀ █ \n ██▄▄▄▄█▄▄█▄█▄██"], ["sleep_1", " \n \n ▄▄ ▄▄▄▄▄ \n ▄▀▀ █ █▄▄█ ▄█\n▄▄███▄▀ █▄▄ █▄█\n▀▄ ▀███▀▀▄▀▀▀▄ █\n ▀▄▄▄▄ █ ▄▀ █ \n ██▄▄▄▄█▄▄█▄█▄██"], ["sleep_2", " \n ▄▄▄▄▄ \n ▄▄▀█ █▄▄▀ █\n ▄█▄ ▄▀▄ ▀█▀█\n█▀▀███▄▄█▀█▄▄▀▀█\n ▀▄ ▀▀▀ ▄▀ ▄ ▀▄▀\n ▄▀▀▀▀▄▀ █ ▄ █ \n █▄████▄▄█████▄█"], ["walk_1", " ▄▄ ▄▀▀█▀▀▄\n ▄▀▀ █ ▀▀▀▄▄▄█\n▄▄█▄█▄▀ █▄▄ █▄█\n▀▄ ▀▀▄██ ▄▀▀▀▄ █\n ▀▄▄▄▄▄▀ ▄▀ █ \n ▄▀▀▀▄▀ ▄█ █ █ \n ▀█▀▀▄▄███▀▀█ \n █▄█▄▄█ █▄▄█▄█ "], ["walk_2", " ▄▄▄▄▄ \n ▄▄▀█ █▄▄▀ █\n ▄▀▄ ▄▀▄ ▀█▀█\n█▀▀██▀▄▄▀▀█▄▄▀▀█\n ▀▄ ▀▀▀▄▀ ▄ ▀▄▀\n ███▀█ █ ▄ █ \n █▄▄▄█ ▄██▄█▄█ \n █▄█▄▄▄█▀▀█▄▄█▄█"]]], + ["slashangemon", [["angry", "█▀▀▀▄▀▀▀█▀▀▄ \n ▀▄▀ ▄█ █ ▀▄▄▀▄ \n █▀▀ ▄▀ ▀█ ▀▄\n ▀████ █▄▀ ▀▄█\n▄▀██▀▀▀ █▀▀▀▄ ▀█\n█ █████▄█ ██ █\n ▀█▀ ██▀ ▀█▀ ▀█\n █▄▄▀██▀▄▄▄█ ▀"], ["attack", "▄▄▄▄ ▄▄▄▄▄▄ \n▀▄ ▄▀ █ ▄▀ ▄ \n █▄▄▀▀ █ ▄█▀ █ \n █▄▄▄▄▀▄ ▄▀ ▄ █\n ▀▄▄▄▄▄▀▀▄ ▄ ██\n █▄▀ ▀▄█ ▀▄ █\n▄▀▄█▀███▀█ ▀▄▀▄█\n██▄▄▀██▀▄▄█▄█ ▀"], ["eat_1", "▄▄▄▄ ▄▄▄▄▄▄ \n▀▄ ▄▀ ▄ █ ▄▀ ▄ \n █▄▄▀ ▀█ ▄█▀ █ \n █▄▄▄▄▀▄ ▄▀ ▄ █\n ▀▄▄▄▄▄▀▀▄ ▄ ██\n █▄▀ ▀▄█ ▀▄ █\n▄▀▄█▀███▀█ ▀▄▀▄█\n██▄▄▀██▀▄▄█▄█ ▀"], ["eat_2", "█▀▀▀▄▀▀▀█▀▀▄ \n ▀▄▀ ▄▄ █ ▀▄▄▀▄ \n █▀▀ ▄▀ ▀█ ▀▄\n ▀████ █▄▀ ▀▄█\n █▀▀▀▀ █ █ █ ▀█\n █ █████▄█▀▄ █ █\n█ ▄▀ ██▀ ▀▄ █ ▀█\n █▄▄▀██▀▄▄▄█▀ ▀"], ["happy", "█▀▀▀▄▀▀▀█▀▀▄ \n ▀▄▀ ▄▀▄█ ▀▄▄▀▄ \n █▀▀ ▄▀ ▀█ ▀▄\n █████ █▄▀ ▀▄█\n ▄▀▀▀ █ █ █ ▀█\n █ █████▄█▀▄ █ █\n█ ▄▀ ██▀ ▀▄ █ ▀█\n █▄▄▀██▀▄▄▄█▀ ▀"], ["injured_1", " \n▄▄▄▄ ▄▄▄▄▄▄ \n▀▄ ▄▀▄ █ ▄▀ ▄ \n █▄ ▀▀ █ ▄█▀ █ \n █▄▄▄▄▀▄ ▄▀ ▄ █\n ▀▄▄▄▄▄█▀▄ ▄ ██\n ▄▀▀▄ ▄█▀▀█▄ █\n██▄▄██████▄▄██▄█"], ["injured_2", " \n \n█▀▀▀▄▀▀▀█▀▀▄ \n ▀▄▀ █▄ █ ▀▄▄▀▄ \n █▀ ▄▀ ▀█ ▀▄\n █▀▀▀▀ █▄▀ ▀▄█\n ▄▀▀█▀▀▀▄█▀▀█▄ █\n██▄▄██████▄▄██▄█"], ["refuse", "▄▄▄▄ ▄▄▄▄▄▄ \n▀▄ ▄▀ ▄ █ ▄▀ ▄ \n █▄▄▀▀ █ ▄█▀ █ \n █▄▄▄▄▀▄ ▄▀ ▄ █\n ▀▄▄▄▄▄▀▀▄ ▄ ██\n █▄▀ ▀▄█ ▀▄ █\n▄▀▄█▀███▀█ ▀▄▀▄█\n██▄▄▀██▀▄▄█▄█ ▀"], ["sleep_1", " \n▄▄▄▄ ▄▄▄▄▄▄ \n▀▄ ▄▀ █ ▄▀ ▄ \n █▄ ▀▀ █ ▄█▀ █ \n █▄▄▄▄▀▄ ▄▀ ▄ █\n ▀▄▄▄▄▄█▀▄ ▄ ██\n ▄▀▀▄ ▄█▀▀█▄ █\n██▄▄██████▄▄██▄█"], ["sleep_2", " \n█▀▀▀▄▀▀▀█▀▀▄ \n ▀▄▀ ▄▄ █ ▀▄▄▀▄ \n █▀ ▄▀ ▀█ ▀▄\n █▀▀▀▀ █▄▀ ▀▄█\n ▀█▀▀▀▄ █ █ ▀█\n ▄▀▀▄ ▄█▀▀▄█ █\n██▄▄██████▄▄█▀▄█"], ["walk_1", "█▀▀▀▄▀▀▀█▀▀▄ \n ▀▄▀ ▄▄ █ ▀▄▄▀▄ \n █▀▀ ▄▀ ▀█ ▀▄\n █▀▀▀▀ █▄▀ ▀▄█\n ▄▀█▀▀▀▄ █ █ ▀█\n ▄▀█▄▄▄▄▄█▀▄ █ █\n█ ▄▀ ██▀ ▀▄ █ ▀█\n █▄▄▀██▀▄▄▄█▀ ▀"], ["walk_2", "▄▄▄▄ ▄▄▄▄▄▄ \n▀▄ ▄▀ █ ▄▀ ▄ \n █▄▄▀▀ █ ▄█▀ █ \n █▄▄▄▄▀▄ ▄▀ ▄ █\n ▀▄▄▄▄▄▀▀▄ ▄ ██\n █▄▀ ▀▄█ ▀▄ █\n▄▀▄█▀███▀█ ▀▄▀▄█\n██▄▄▀██▀▄▄█▄█ ▀"]]], + ["slayerdramon", [["angry", " █▀▄▄██▄▄▄▀█ ▄▄\n █▄▀ ▄█ ▄█▄▀ █\n █▄▄▄▄▀▀▄▀█ █ █\n█ █▄█▄█▀▄▀▄▀▀█ █\n█▀▀▄▄▄▄▄▀▀█ ▄▀ █\n ▀█ ▄▀▀▄▄▀▀█▄▄ █\n ▄█▀▄▄█▄ ▄▄█▄▀▀\n █▄█▄▄█ █▄█▄█▄█ "], ["attack", " ▄▄ ▄▄ \n █▀▄█▀▀▀█▀█▀▀▄ \n ▀▄▀ ▄▀█▄▄█▄█▄▀█\n ▄▀█▀▀▀ ▄█ █ █\n █▄▄█▀▀█ ▀█▀▀█ █\n█ █▄▀▀▄▄▀█▀▀█ █\n ▀██▀▄▄█▄▄██▀▀▄█\n █▄█▄▄█ █▄█▄█▄█▀"], ["eat_1", " ▄▄ ▄▄ \n █▀▄█▀▀▀█▀█▀▀▄ \n ▀▄▀ ▄▀█▄▄█▄█▄▀█\n ▄▀█▀▀▀ ▄█ █ █\n █▄▄█▀▀█ ▀█▀▀█ █\n█ █▄▀▀▄▄▀█▀▀█ █\n ▀██▀▄▄█▄▄██▀▀▄█\n █▄█▄▄█ █▄█▄█▄█▀"], ["eat_2", " ▄▀█▄▄██▄▄▄▄ \n █▄▀ ▄▄▀ ▄▀ ▄▄\n █▄▄▄█▄▀▀█▄▀▀ █\n▄▀▀████ █▀▀▀▄ █\n█▄▄█▄▄▄▄▀▀▄▄▄█ █\n▀▄ █▄▀▀▄▀▀▄ █ █\n ▄█▀█▄▄█▄▄▀▀██▄█\n█▄█▄▄█ █▄█▄█▄█"], ["happy", "█▀▄▄▄██▄▄▄▀█ \n▀▄▀ ▄▀▄ █ ▄▀ ▄▀█\n▄█▄▄▄▄▄▀▀██▀▀▄ █\n█ █▀▀▀ ▄█▄▀▄▄█ █\n█▀▀██▀▀█ █ █ █\n ▀▄█▄▀▀▄▄▀▀█ █\n ▄█ █▄▄█▄ ▄▄█▄ █\n█▄█▄▄█ █▄█▄█▄█▀"], ["injured_1", " \n ▄▄ ▄▄██▄▄▄▄▄ ▄▄\n █ █▀ ▄▀ █ ▄▀ █\n █▄▄▄██▀█▀▀▀▄ █\n █ ▀▄▄▄▄▀▀▄▄▄█ █\n▄█▀██▄▄█ ▄█▄▄█ █\n█ █▄ █ █ ▀▄▄█▄█\n █▄█▄█▀▀█▄██▄▄█ "], ["injured_2", " \n ▄▄ ▄▄ \n █▀▄█▀▀▀█▀█ ▄▀▄▄\n ▀▄▀ ▄█▄▄▀▀▀█ █\n ▄▀█▀▀▀▀▄▀▄▄▄█ █\n █▄▄█▀▀█ ▄█▄▄█ █\n█ █▄ █▀▀█ ▀▄▄█▄█\n▀█▄█▄█▀▀█▄██▄▄█▀"], ["refuse", " ▄▄ ▄▄ \n ▄▀▄█▀▀▀▀█▀ █ ▄▄\n ▀▄▀ ▄▀█▄▄▀▄▀ █\n ▄▀█▀▀ ▄█▀▀▀▄ █\n ▀▄▄█▀▀█ ▀▄▄▄█ █\n▄▀▄█▄▀▀▄▀▀▄ █ █\n▀▄▄█▀▄▄█▄▄▀███▄█\n █▄█▄▄█ █▄█▄█▄█ "], ["sleep_1", " \n ▄▄ ▄▄██▄▄▄▀█ \n █ █▀ ▄▄ █ ▄▀ \n █▄▄▄▄▄▀ █▄▄▀▀▄\n █ ▀▄▄▄▄▀█ █ █\n▄█▀█▀ ▄██▀▀█▀ █\n█▄▀█▀▀█ ▀ █▀█ █\n█▄▄▄█▄█▄▄▄█▄▀▀▄█"], ["sleep_2", " \n ▄▄ ▄▄██▄▄▄▀█ \n █ █▀ ▄▄ █ ▄▀ \n █▄▄▄▄▄▀ █▄▄▀▀▄\n █ ▀▄▄▄▄▀█ █ █\n▄█▀█▀ ▄██▀▀█▀ █\n█▄▀█▀▀█ ▀ █▀█ █\n█▄▄▄█▄█▄▄▄█▄▀▀▄█"], ["walk_1", " ▄▄ ▄▄██▄▄▄▀█ \n █ █▀ ▄▄▀ ▄▀▀▄▀█\n █▄▄█▄▀▀██▄█ █\n █ ▀▄▄▄▄▀█ █ █\n ▄▀█▀▄▄▀ ▄█▀▀█ █\n▄▀▀██ █▀▄█▀▀█ █\n▀▄█ ▀█▀█ ▀▄█▀▀██\n█▄█▄▄█ ██▄██▄█ "], ["walk_2", " ▄▄ ▄▄ \n █▀▄█▀▀▀█▀█▀▀▄ \n ▀▄▀ ▄▀█▄▄█▄█▄▀█\n ▄▀█▀▀▀ ▄█ █ █\n █▄▄█▀▀█ ▀█▀▀█ █\n█ █▄▀▀▄▄▀█▀▀█ █\n ▀██▀▄▄█▄▄██▀▀▄█\n █▄█▄▄█ █▄█▄█▄█▀"]]], + ["starmon", [["angry", " ▄▀█ \n ▄▀ ▀▄ \n▀█▀▀▀▄ ▄ ▄▀▀▀▀█▀\n ▄▀ ▀███▀ ▀▄ \n █ ▀▄▄▄▄▄ █ █ \n ▀▄▄▀ ▀▄▄▀ \n █ ▄▀▀▄ █ \n ▄█▄▄▄█ █▄▄▄█▄ "], ["attack", " ▄▀▄ ▄▀█ \n █ █▀ ▀▄ \n▀█▀▀▀ ▄█▀▄▀▀▀▀█▀\n ▀▄▄▄▄▄▄ ▄█ \n ▀████ ▄ █ \n ▄▄██▀ ▀▄▄▄▀ \n ▄▀ ▄▄▄▄ ▀▄ \n ▄█▄▄▄█ █▄▄▄█▄ "], ["eat_1", " ▀▄ ▄▀█ ▄ \n ▄▄▄▄▄▀ █ \n ▀▄ ▄▄ ▀▀▀█▀\n █ ▀ ▀ ▄▀ \n ▄▄▀████ ▀▄ \n ▀▄ ▄███▀▄▀ ▄▀ \n █ ▄▄▄▄ ▀█ \n ▄█▄▄█ █▄▄▄█▄ "], ["eat_2", " ▄ ▄▀█ \n ▀ ▄▀ █ ▀ \n █▀▀▀ ▄▄ ▀▀▀█▀\n ▀▄ ▀ ▀ ▄▀ \n ▄█▄▄▄▄ ▀▄ \n ▀▄ █ ▄▀ ▄▀ \n █ ▄▄▄▄ ▀█ \n ▄█▄▄█ █▄▄▄█▄ "], ["happy", " ▀ ▄▀█ ▄ \n ▀ ▄▀ ▀▄ ▀ \n▀█▀▀▀▄█▀█▄▀▀▀▀█▀\n ▀▄▄▄▄▄▄▄▄ ▄▀ \n ▄▀█▀▀█▀▀▀█ ▀▄ \n ▀▄ ▀▄▄▄▄▀▄▀ ▄▀ \n █▀ ▄▄▄▄ ▀█ \n ▄█▄▄▄█ █▄▄▄█▄ "], ["injured_1", " \n ▄▄ \n ▄▀ █ \n▄▄▄▄▄▀ █▄▄▄▄▄\n ▀▄ ▄█▀█▄ ▄▀ \n ▄▀▄ ▀ ▀ ▄▀█ \n █ █ ▄▀▀▄ █ █ \n █▄▄▄▄▄▄▄▄▄▄▄▄█ "], ["injured_2", " \n \n ▀█▀▀▄ \n ▄▄▄▄▀ ▀▄▄▄ \n▄█▄ ▀▄\n ▄▀▄ ▀▄█▄▀ █▀█ \n █ ▀▄ ▄▄▄ █ █ \n █▄▄▄█▄█▄██▄▄▄█ "], ["sleep_1", " \n \n █▀▄ \n ▄▀ ▀▄ \n▀█▀▀▀ ▀▀▀▀█▀\n ▄▀▄ ▄ ▄ ▄ ▄▀▄ \n █ ▀▄▀███▀ █ █ \n █▄▄▄▄▄▄▄▄▄▄▄▄█ "], ["sleep_2", " \n █▀▄ \n ▄▀ ▀▄ \n▀█▀▀▀ ▀▀▀▀█▀\n ▀▄ ▄ ▄ ▄ ▄▀ \n ▄▀█ ▀███▀ █▀▄ \n █ ▀▄ ▄▀ █ \n █▄▄▄▄▄▄▄▄▄▄▄▄█ "], ["walk_1", " ▄▀█ \n ▄▀ ▀▄ \n▀█▀▀▀▄ ▄ ▄▀▀▀▀█▀\n ▀▄ ███▀█ ▄▀ \n █ ▄ ▀▀▀ ▄ █ \n ▀▄▄▀ ▀▄▄▀ \n ▄▀ ▄▀▀▄ ▀▄ \n ▄█▄▄▄█ █▄▄▄█▄ "], ["walk_2", " ▄▄ \n ▄▀ █ \n▄▄▄▄▄▀ █▄▄▄▄▄\n ▀▄ ▄ ▄ ▄ ▄▀ \n ▄▀ ▀███▀ ▀▄ \n ▀▄ ▀▄ ▄▀ ▄▀ \n ▄▀▀ ▀▀▄ \n ▄█▄▄█▀▀█▄▄█▄ "]]], + ["stefilmon", [["angry", " ▄▄▄ ▄▄▄▄ \n▄▄ █ ▄▀▀▀ ▄▀▀▄\n▀▄▀▀▀▀ ▄█ ▀▄ ▀▄\n ▀▄▀▄▀▄ ▄█ ▀▄\n ▀▄▄▄▄▄▄▀▄ █ ▀▄\n ▄█▄ ▄▄█▀▄▄▀\n █▄▄█▀▀▀▀▀▀▄▄▄█ \n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["attack", " ▄▀█▄▀▀▀▄▄ \n █▀▄▄▀▀ ▄ ▄▀ ▄▀\n ▀█▄▄▄ ▀▀ ▄▀ ▄▀\n ▄▄█████ ▄▀▄▄▄▀\n█ ▀▀▄▄▄▄▀ █▄ ▀█\n▀▄▄▄▄█▄▄▄███ ▄▀\n ▄▀ ▄▄▄████ \n █▄█▄█ ██▄█▄█"], ["eat_1", " ▄▀▀█▄▄▀▀▀█▄ \n█▀▄▄█▄▀ ▄ ▄▀ ▄▀\n █ ▄▄▄ ▀ ▀ ▄▀ ▄▀\n ▀█████ ▄▀▄ ▄▀\n▄▀█████▀ ▀▄▀▀▄█\n▀▄▄█▄▄▄▄▄█▀ ▄▄█▀\n ▄█▀ ▄▄ ▄█▄ \n █▄█▄▄█ █▄█▄█▄█ "], ["eat_2", " ▄▄▄ ▄▄▄▄ \n▄▄ █ ▄▀▀▀ ▄▀▀▄\n▀▄▀▀▀▀ ▄▀▄ ▀▄ ▀▄\n ▀▄▀▄▀▄ ▄█ ▀▄\n ▀▄▄▄▄▄▄▀▄ █ ▀▄\n ▄█▄▄ ▄▄▀▀▄▄▀\n █▄▄ █▀▀█ ▄█▄ \n█▄█▄██▀▀▀███▄█▄█"], ["happy", " ▄▀▀█▄▄▀▀▀█▄ \n█▀▄▄█▄▀ ▄ ▄▀ ▄▀\n █ ▄▄▄ ▀ ▀ ▄▀ ▄▀\n ▀█████ ▄▀▄ ▄▀\n▄▀▀▄████ ▀▄▀▀▄█\n▀▄ █▄▄▄▄▄▀▀ ▄█▀\n ▄██▀ ▄▄ ▀▄█▄ \n █▄█▄▄█ █▄█▄█▄█ "], ["injured_1", " \n \n ▄▄▄ ▄▄▄▄ \n▄▄ █ ▄▀▀▀ ▄▀▀▄\n▀▄▀▀▀▀ █▄ ▀▄ ▀▄\n ▀▄▀▄▀▄ ▄█ ▀▄\n █▀▄▄▄▄▄▄▀ ▀█ ▀▄\n ▀▄▄▄█▄▄██▄▄▄██▀"], ["injured_2", " \n \n \n ▄▀▀█▄▄▀▀▀█▄ \n█▀▄▄█▄▀ ▄ ▄▀ ▄▀\n █ ▄ ▄ ▀▀ ▄▀ ▄▀\n ▄█ ▀ ▀ ▄▀▀▄ ▄▀\n ▀▄██████▄▄▄▄█▄█"], ["sleep_1", " \n ▄▄▄ ▄▄▄▄ \n▄▄ █ ▄▀▀▀ ▄▀▀▄\n▀▄▀▀▀▀ ▄▄ ▀▄ ▀▄\n ▀▄▀▄▀▄ ▄█ ▀▄\n ▀▄▄▄▄▄▄▀▄ █ ▀▄\n▄▀█▀▄▄▄▄▄▀█▀▄ ██\n█▄▄▄█▄▄▄█▄▄▄█▄█ "], ["sleep_2", " \n ▄▀▀█▄▄▀▀▀█▄ \n█▀▄▄█▄▀ ▄▀ ▄▀\n █ ▄ ▄ ▀▀ ▄▀ ▄▀\n █ ▀ ▀ ▄▀▀▄ ▄▀\n █▀▀▀▀▀ ▀ ▀▄ █\n▄▀█▀▄▄▄▄▄▀█▀▄ █▀\n█▄▄▄█▄▄▄█▄▄▄█▄█ "], ["walk_1", " ▄▀▀█▄▄▀▀▀█▄ \n█▀▄▄█▄▀ ▄▄ ▄▀ ▄▀\n █ ▄ ▄ ▀▀ ▄▀ ▄▀\n █ ▀ ▀ ▄▀▀▄ ▄▀\n █▀▀▀▀▀ ▀▄█ █\n ▄▀▀█▄▄▄▄██▀ ▀▄▀\n ▀▄█▀ ▄▄ █▄▄▀ \n █▄█▄▄█ █▄█▄█▄█ "], ["walk_2", " ▄▄▄ ▄▄▄▄ \n▄▄ █ ▄▀▀▀ ▄▀▀▄\n▀▄▀▀▀▀ ▄█▀ ▀▄ ▀▄\n ▀▄▀▄▀▄ ▄█ ▀▄\n ▀▄▄▄▄▄▄▀▄ █ ▀▄\n ▄█▄ ▄▄█▀▄ █\n █▄▄█▀▀▀▀▀▀▄▄▄█ \n█▄█▄▄█▀▀▀█▄█▄█▄█"]]], + ["stingmon", [["angry", " ▄▄▄▄█▀▀▄▄▄ \n ▄▀▀ ▄ █▀▄▄▀ \n █ ▀▀ ▄█ \n ▀███ █ ▄█▄ \n ▄█▄▄▄▀▄█▀▀▄▀▄\n █ █▀██▀▀██ ██\n ▀███▄▄██▄██▀ \n █▄█▄▄▀█▄▄█▄█ "], ["attack", " ▄▄▄ \n ▄█▀▀▀▀▄▄▀▀█ \n █ ▄██▀ ▀▄▀▀ \n ▀▄▀▀ ▄▀▀▄ \n ▄▀█▀▀▀▄██▀▄ \n ▄▀█▄█▄▄██▀ █▄█\n █▄█▄██▄▄█▄▄█ ▀\n █▄█▄▄▄█▀█▄▄█▄█ "], ["eat_1", " ▄▄▄ \n ▄█▀▀▀▀▄▄▀▀█ \n █ ▄▀▄ ▀▄▀▀ \n ▀▄ ▄▀▀▄ \n ▄▀█▀▀▀▄██▀▄ \n ▄▀█▄█▄▄██▀ █▄█\n █▄█▄██▄▄█▄▄█ ▀\n █▄█▄▄▄█▀█▄▄█▄█ "], ["eat_2", " ▄▄▄▄█▀▀▄▄▄ \n ▄▀▀▄▄▄ █▀▄▄▀ \n █ ▀▀▀ ▄█ \n ▀███ █ ▄█▄ \n ▄█▄▄▄▀▄██▀▄▀▄\n █ █▀██▀▀█ █▀█\n ███▄▄██▄██▀ \n █▄█▄▄▀█▄▄█▄█ "], ["happy", " ▄▄▄▄█▀▀▄▄▄ \n ▄▀▀ ▄ █▀▄▄▀ \n █ ▀ ▀ ▄█ \n ▀███ █ ▄█▄ \n ▄█▄▄▄▀▄██▀▄▀▄\n █ █▀██▀▀█ █▀█\n ███▄▄██▄██▀ \n █▄█▄▄▀█▄▄█▄█ "], ["injured_1", " \n ▄▄▄ \n ▄█▀▀▀▀▄▄▀▀█ \n █ ▄ ▀▄▀▀ \n ▀▄ ▀▀ ▄▀▀▄▄ \n ▄▀█▀▀▀▄██▄█ \n ▄▀█▄█▄▄██▀ █▄█\n █▄█▄██▄▄██▄▄██▀"], ["injured_2", " \n ▄▄▄▄█▀▀▄▄▄ \n ▄▀▀ █▀▄▄▀ \n █ █▄ ▄█ \n ▀▄▄▄▄█ ▄█▀▄ \n ▄█ █ ▄██▀█▀▄\n █▄█▀██▀▀█ █▀█\n █▄█▄█████▄██▄█ "], ["refuse", " ▄▄▄ \n ▄█▀▀▀▀▄▄▀▀█ \n █ ▄█ ▀▄▀▀ \n ▀▄ ▄▀▀▄ \n ▄▀█▀▀▀▄██▀▄ \n ▄▀█▄█▄▄██▀ █▄█\n █▄█▄██▄▄█▄▄█ ▀\n █▄█▄▄▄█▀█▄▄█▄█ "], ["sleep_1", " \n ▄▄▄▄█▀▀▄▄▄ \n ▄▀▀ █▀▄▄▀ \n █ ▀▀ ▄█▄ \n ▀▄▄▄▄█ ▄█▀▄ \n ▄█ █ ▄██▀█▀▄\n █▄█▄█▄▄██ █▀█\n █▄█▄▄████▄██▄█ "], ["sleep_2", " \n ▄▄▄ \n ▄█▀▀▀▀▄▄▀▀█ \n █ ▄▄ ▀▄▀▀ \n ▀▄ ▄▀▀█▄ \n ▄▀█▀▀▀▄██▄█ \n ▄██▄█ ██▀ █▄█\n █▄█▄▄█████▄▄██▀"], ["walk_1", " ▄▄▄▄█▀▀▄▄▄ \n ▄▀▀▄▄▄ █▀▄▄▀ \n █ ██▀ ▄█ \n ▀▄▄▄▄█ ▄█▄ \n ▄█ █ ▄██▀▄▀▄ \n █ █▀██▀▀█ █▀█ \n ███▄▄██▄██▀ \n █▄█▄▄▀█▄▄█▄█ "], ["walk_2", " ▄▄▄ \n ▄█▀▀▀▀▄▄▀▀█ \n █ ▄██▀ ▀▄▀▀ \n ▀▄▀▀ ▄▀▀▄ \n ▄▀█▀▀▀▄██▀▄ \n ▄▀█▄█▄▄██▀ █▄█\n █▄█▄██▄▄█▄▄█ ▀\n █▄█▄▄▄█▀█▄▄█▄█ "]]], + ["strikedramon", [["angry", " ▄▄▀▀█▀▀ \n ▄▄▀ ▄▀▀▄ \n █▄▄▄▀▀ ▄▀▄ \n ▀▄▄▄▄ █▄▀▀▄ \n █▀▀ █▀▄▄█ \n ▄▀ █▀▀█▀▀ █ \n ▀▄▄████▄▄▄▀ \n █▄██ █▄█▄█ "], ["attack", " ▄▄▄▄▄ \n ▄▀▀▄▄▀ \n ▄▀▀ ▄▄▄▄█ \n █▀▀▀ █▀▄█ \n ▀█▀▀▀▀█ █ \n ▄▀█ ▀▄▄█▀█ \n █▄▄████ █ \n █▄██▀▀▀█████ "], ["eat_1", " ▄▄▄▄▄ \n ▄▀▀▄▄▀ \n ▄▀▀▄▀▄ ▄█ \n █▀▀ █▀▄█ \n ▀█▀▀▀▀█ █ \n ▄▀█ ▀▄▄█▀█ \n █▄▄████ █ \n █▄██▀▀▀█████ "], ["eat_2", " ▄▄▀▀█▀▀ \n ▄▄▀ ▀▀▄ \n █▄▄▄▀▀██▀▄ \n ▀▄▄▄▄ █▄▀▀▄ \n █▀▀ █▀▄▄█ \n ▄▀ █▀▀█▀▀ █ \n ▀▄▄████▄▄▄▀ \n █▄██ █▄█▄█ "], ["happy", " ▄▄▀▀█▀▀ \n ▄▄▀ ▄▀▀▄ \n █▄▄▄▀ ▀▄▀▄ \n ▀▄▄▄▄ █▄▀▀▄ \n █▀▀ █▀▄▄█ \n ▄▀ █▀▀▄▀▀ █ \n ▀▄▄████▄▄▄▀ \n █▄██ █▄█▄█ "], ["injured_1", " \n \n ▄▄▀▀█▀▀ \n ▄▄▀▄ ▀▀▄ \n █▄▄ ▀▀▄█▀▄ \n ▀▄▄▄▄▄█▄▀▀▄ \n ▄▀█▀█ ▀▄▀█▀█ \n █▄▄▄████▄▄▄█ "], ["injured_2", " \n \n ▄▄▄▄▄ \n ▄▀▀▄▄▀ \n ▄▀▀ █▄ ▄█ \n █▀▀ █▀▄▀▄ \n ▄▀█▀█▀▀▄▀█▀█ \n █▄▄▄████▄▄▄█ "], ["refuse", " ▄▄▄▄▄ \n ▄▀▀▄▄▀ \n ▄▀▀ ▄█ ▄█ \n █▀▀▀ █▀▄█ \n ▀█▀▀▀▀█ █ \n ▄▀█ ▀▄▄█▀█ \n █▄▄████ █ \n █▄██▀▀▀█████ "], ["sleep_1", " \n ▄▄▄▄▄ \n ▄▀▀▄▄▀ \n ▄▀▀ ▄▄▄▄█ \n █▀▀▀ █▀▄█ \n ▀█▀▀▀▀█ █ \n ▄▀█▀█ ▀▄▀█▀█ \n █▄▄▄████▄▄▄█ "], ["sleep_2", " \n \n ▄▄▀▀█▀▀ \n ▄▄▀ ▀▀▄ \n █▄▄▄▀▀██▀▄ \n ▀▄▄▄▄▄█▄▀▀▄ \n ▄▀█▀█ ▀▄▀█▀█ \n █▄▄▄████▄▄▄█ "], ["walk_1", " ▄▄▀▀█▀▀ \n ▄▄▀ ▀▀▄ \n █▄▄▄▀▀██▀▄ \n ▀▄▄▄▄▄█▄▀▀▄ \n █▄ ▄ ▀▄▄█ \n ▄▀ █▄▄█▀▀ █ \n ▀▄▄████▄▄▄▀ \n █▄██ █▄█▄█ "], ["walk_2", " ▄▄▄▄▄ \n ▄▀▀▄▄▀ \n ▄▀▀ ▄▄▄▄█ \n █▀▀▀ █▀▄█ \n ▀█▀▀▀▀█ █ \n ▄▀█ ▀▄▄█▀█ \n █▄▄████ █ \n █▄██▀▀▀█████ "]]], + ["submarimon", [["angry", " ▄▄ \n ▄▄▄▄▄▄▄▀ █ \n ▄▀ ▄█▄▀ ▀▄█▄ \n █ ▀▀ ▄ ▄▀ █ █\n █▄▄▄ ▀▀ █ ▀██ \n █▀▀██ ▄▀███▄█\n▄▀ ▄█▀███▄▄▀ ▀▀█\n ▀█▄▄▀ ▀▀▀▀ "], ["attack", " ▄▀█ \n ▄▀▀█▀█▀█ ▄▀ \n ▄▀▄▄▀▀▀ ▄▀█▀▄\n █▄▄▄ ▄█ █ ▄█▄▀\n▄▀▀▀▀▀█ █▄▄█▀▄\n ▀████▄▄▄▀ ██▀▀▀\n ▄▀▀▄▀▀▀▀▀▄ ▀▀▄\n ▀▀▀ ▀▀▀▀"], ["eat_1", " ▄▀█ \n ▄▀▀█▀█▀█ ▄▀ \n ▄▀▀▀▀ ▀ ▄▀█▀▄\n ▄█▀▀▄ ▀▀ █ ▄█▄▀\n▀▄▄▄██ █▄▄█▀▄\n ▀██▄ ▄▄▀ ██▀▀▀\n ▄▀▀ ▄▀▀▀▀▀▄ ▀▀▄\n ▀▀▀ ▀▀▀▀"], ["eat_2", " ▄▄ \n ▄▄▄▄▄▄▄▀ █ \n ▄▀ ▄█▄▀ ▀▄█▄ \n █ ▀▀ ▄ ▄▀ █ █\n █▄▄▄ ▀ ▀█ ▀██ \n █▀▀██ ▄▀███▄█\n▄▀ ▄█▀███▄▄▀▀▄▄ \n ▀█▄▄▀ ▀▄▄▄█"], ["happy", " ▄▀█ \n ▄▀▀█▀█▀█ ▄▀ \n ▄▀▀▀▀ ▀ ▄▀█▀▄\n ▄█▀▀▄ ▄▀▄█ ▄█▄▀\n▀▄▄▄██ █▄▄█▀▄\n ▀██▄ ▄▄▀ ██▀▀▀\n ▄▀▀ ▄▀▀▀▀▀▄ ▀▀▄\n ▀▀▀ ▀▀▀▀"], ["injured_1", " ▄▄ \n ▄▄▄▄▄▄▄▀ █ \n ▄▀ ▄█▄▀ ▀▄█▄ \n █ ▀▀ ▄ ▄▀ █ █\n █▄▄▄ ▀▀ █ ▀██ \n █▀▀██ ▄▀███▄█\n▄▀ ▄█▀███▄▄▀ ▀▀█\n ▀█▄▄▀ ▀▀▀▀ "], ["injured_2", " \n \n ▄▄▄▄▄▄▄▄▀▀█\n ▄▀ ▄█▄▀ ▀▄▄█ \n █ ▀▀ ▄ ▄▀ █ █\n █▄▄▄ ▀▀ █ ▀██ \n▄▀▀▄▄██ ▄▀███▄█\n▀▀█▄▄▄███▄█▄▄▄▄▀"], ["sleep_1", " ▄▄ \n ▄▄▄▄▄▄▄▀ █ \n ▄▀ ▄█▄▀ ▀▄█▄ \n █ ▀▀ ▄▀ █ █\n █▄▄▄ ▀▀ █ ▀██ \n █▀▀██ ▄▀███▄█\n▄▀ ▄█▀███▄▄▀ ▀▀█\n ▀█▄▄▀ ▀▀▀▀ "], ["sleep_2", " ▄▀█ \n ▄▀▀█▀█▀█ ▄▀ \n ▄▀▄▄▀▀▀ ▄▀█▀▄\n █ ▄▄ █ ▄█▄▀\n ████▄ █▄▄█▀▄\n ▄▀ ▄██▄▄▀ ██▀▀▀\n▀▄▄▀▀▄▀▀▀▀▀▄ ▀▀▄\n ▀▀▀ ▀▀▀▀"], ["walk_1", " ▄▀█ \n ▄▀▀█▀█▀█ ▄▀ \n ▄▀▄▄▀▀▀ ▄▀█▀▄\n █ ▄█ █ ▄█▄▀\n ████▄ █▄▄█▀▄\n ▄▀ ▄██▄▄▀ ██▀▀▀\n▀▄▄▀▀▄▀▀▀▀▀▄ ▀▀▄\n ▀▀▀ ▀▀▀▀"], ["walk_2", " ▄▄ \n ▄▄▄▄▄▄▄▀ █ \n ▄▀ ▄█▄▀ ▀▄█▄ \n █ ▀▀ ▄ ▄▀ █ █\n █▄▄▄ ▀▀ █ ▀██ \n █▀▀██ ▄▀███▄█\n▄▀ ▄█▀███▄▄▀▀▄▄ \n ▀█▄▄▀ ▀▄▄▄█"]]], + ["sukamon", [["angry", " ▄▄ \n ▄▀▀ ▄▀ ▄▄ \n ▄▀ ▀█ █ ▄█\n ▄▀ ▀█ █▄▀\n █ █▄▄ ▄▄█ █▀ \n▄▀▀▀▀▄ ▄ ▄ ▄█ \n█ ▄█▀▄▀▀▄▀ █ \n ▀▀█▄█▄▄▄▄▄▄▄▀ "], ["attack", " ▄▄▀▀▀█ \n ▄▀ ▄█ \n▄▀▀▄█ ▄█ ▀▄▄▀▀▄\n▀▄ █ ▄ ▄▄ ▀ ▄▄▀\n ████▄███ ▄▀▄ \n █▀██████ ██ █ \n█▀ ▀█▀██▀ ██ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["eat_1", " ▄▄▀▀▀█ \n ▄▀ ▄█ \n ▄█ ▄█ ▀▄ \n █ ▄ ▄▄ ▀▄ \n ████▄███ ▄▀▄ \n █▀██████ ██ █ \n█▀ ▀█▀██▀ ██ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["eat_2", " \n ▄▄▄ \n █▄ ▀▀▄ \n █▀ █ \n █▄▀▄ ▄▀▄█ \n ▄▀ ▀▄ \n█ ▀▄▀▄▄▀▄▄▀▄▀ █ \n ▀▄▄█▄▄█▄▄█▄▄▀ "], ["happy", " ▄▄▀▀▀▄ \n ▄▀ ▄█▀ \n ▄▀▄ ▄▀▄ \n ▄▀▀ ▀ ▀ ▀▀▄ \n ▄██▄█▄ ▄ █▄▀▄ \n▄▀ █████████▄▀▄ \n█ ▀█ ██▀█▀ ▀ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["injured_1", " \n \n ▄▄▀▀▀▀▄ \n ▄▀ ▀▄▄█ \n ▄▀ ▀▄ \n █ █ █ ▀▄ \n█ ▀▀ ▀▀ █ \n▀▄▄▄▄▄▄▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n ▄▄▄▄ \n ▄▀▀ ▄▄ ▀█ \n ▄▀ ▀█ \n █ ▄ ▄ ▀▄ \n█▄▄▀ ▀▄▄▄ █ \n▀▄▄▄▄▄▄▄▄▄▄▄▄▄▀ "], ["sleep_1", " \n \n ▄▄▄▄ \n █▄ ▀▀▄ \n █▀ ▀▄ \n ▄▀▄▄▄ ▄▄▄▀▄ \n▄▀ ▄ ▄ ▄ ▀▄ \n▀▄▄█▄██▄██▄█▄▄▀ "], ["sleep_2", " \n ▄▄▄ \n █▄ ▀▀▄ \n █▀ █ \n ▄█▄▄ ▄▄█▄ \n █ █ \n█ ▄▀▄▄▀▄▄▀▄ █ \n ▀▄▄█▄▄█▄▄█▄▄▀ "], ["walk_1", " \n ▄▄▀▀▀▄ \n ▄▀ ▄█▀ \n ▄▀ ▀▄ \n █▀█▄ ▄█▀ █ \n █ ▄ ▄ ▄ ▄█ \n█ ▀▄▀▀▄▀▀▄▀▀ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["walk_2", " \n \n ▄▄▀▀▀▀▄ \n ▄▀ ▀▄▄█ \n ▄█ ▄▄ ▀▄ \n █ ▀▀ ▀▀ ▀▄ \n█▀▄▀▄▄▀▄▄▀▄▄▀ █ \n▀▄▄█▄▄█▄▄█▄▄▄▄▀ "]]], + ["sunarizamon", [["angry", " \n \n ▄▄ \n ▄▄▄ ▀▄▀▄\n▄██▀███ █ ▄ █ █\n██▄▄█▀▀▀ ▀▀▄▄▀ █\n▀▄▄▄▄▄█ ▀▄ ▄▀\n▄█▄▄▄▀██▄▄▄█▄▄▄█"], ["attack", " \n ▄▄ \n ▄▄███▄ ▀▄▀▄\n███▀ ██ █ ▄ █ █\n▀█▀▀▀██▀ ▀▀▄▄▀ █\n ▀▄▄▄▄▀ ▄ ▄▀\n █ ▄▀ █▀ █ \n █▄▄██▄▄▄█▄▄▀ "], ["eat_1", " \n \n ▄▄▄ █▀▄ \n▄██▀▀██ ▄ █ █\n██▄▄███▄▀▄█ █ █\n █ ▀█ ▄ ▀▀ █\n █▀▀█▄▄ █▄ █ \n █▄▄█ █▄▄▄▀▄▄▄▀ "], ["eat_2", " \n \n ▄▄ \n ▄▄▄ ▀▄▀▄\n▄██▀███ █ ▄ █ █\n██▄█▄▀▀▀ ▀▀▄▄▀ █\n▀▄▄▄▄▄█ ▀▄ ▄▀\n▄█▄▄▄▀██▄▄▄█▄▄▄█"], ["happy", " \n \n ▄▄▄ █▀▄ \n▄██▀███ ▄ █ █\n██▄█▄██▄▀▄█ █ █\n █ █▀ ▄ ▀▀ █\n █▀▀▄▄▄ █▄ █ \n █▄▄█ █▄▄▄▀▄▄▄▀ "], ["injured_1", " \n \n ▄▄ \n ▄▄▄ ▀▄▀▄\n▄█▀████ █ ▄ █ █\n██▄▄█▀▀▀ ▀▀▄▄▀ █\n▀▄▄▄▄▄█ ▀▄ ▄▀\n▄█▄▄▄▀██▄▄▄█▄▄▄█"], ["injured_2", " \n \n \n █▀▄ \n ▄▄███▄ ▄ █ █\n██ ▀███▄▀▄█ █ █\n█▀▀▀▀ ▄ ▄ ▀▀▄ █\n▄██████▄▄▄█▄▄▄█▄"], ["sleep_1", " \n \n \n █▀▄ \n ▄▄███▄ ▄ █ █\n██▀▀███▄▀▄█ █ █\n█▀▀▀▀ ▄ ▄ ▀▀▄ █\n▄██████▄▄▄█▄▄▄█▄"], ["sleep_2", " \n \n ▄▄ \n ▄▄▄ ▀▄▀▄\n▄█▀████ █ ▄ █ █\n██▄▄█▀▀▀ ▀▀▄▄▀ █\n▀▄▄▄▄▄█ ▀▄ ▄▀\n▄█▄▄▄▀██▄▄▄█▄▄▄█"], ["walk_1", " \n \n █▀▄ \n ▄▄███▄ █ ▄ █ █\n██▀ ▄██▀ ▀▀▄█ █\n█▀▀▀▀ ▄ ▄ ▄▀ █\n ▀█▀▀██▄ █▄ █ \n █▄▄█ █▄▄▄▀▄▄▄▀ "], ["walk_2", " \n \n ▄▄ \n ▄▄▄ ▀▄▀▄\n▄██▀▀██ █ ▄ █ █\n██▄▄█▀▀▀ ▀▀▄▄▀ █\n▀▄▄▄▄▄█ ▀▄ ▄▀\n▄█▄▄▄▀██▄▄▄█▄▄▄█"]]], + ["sunflowmon", [["angry", " ▄▄ \n ▄▀▀█▄▄█▀▀▄ \n ▄▀▄▀███▀▀▄▀▄ \n ▀▄█▄ ▄ █▄▀ \n █ ▀█▀ ▀▀▄▀ █ \n ██▄█▀▀█▄██▄▄▀█\n▄▀ ▄▄▀▀▀▀▄▄ ▀▄▄▀\n▀▄█▄█▄▄▄▄█▄█▄█ "], ["attack", " ▄▀▀▄██▄▀▀▄ \n ▄▀▄█▄ ▄█▀▄█ \n █ █▄▄▄▄▄ █ █ \n ▄▀██▀▀▀█ █▀▄ \n ▄▀▄█▀▀▀▀▀ █▀█ \n ▀▄ ▀▄███▄▀ ▄▀▀█\n ███ ▄██▄▄▀ \n █▄███▄▄█ "], ["eat_1", " ▄▄▄▀▀▄▄▄ \n █ ▄████▄ █ \n █ █▄▀▀▀▄ █ █ \n ▄▀█ ▀ ▀ ▀█▀▄ \n ▀▄█ ███ █▄▄▀ ▄▄\n ▄▄▀▀▄▄▄█▀▀▄▄█ █\n█▄▄▄█ █▄▄▄█▀ \n █▄▄█▀▀█▄▄█ "], ["eat_2", " ▄▄ \n ▄▀▀█▄▄█▀▀▄ \n ▄▀▄▀███▀▀▄▀▄ \n ▀▄█▀▄ ▄▀▄█▄▀ \n █ ▀▄ ▄ ▄▀ █ \n ██▄█▀▀█▄██▄▄▀█\n▄▀▄▄▄▀▀▀▀▄▄▄▀▄▄▀\n▀█▄▄█▄▄▄▄█▄▄██ "], ["happy", " ▄▄▄▀▀▄▄▄ \n █ ▄████▄ █ \n █ █▄▀▀▀▄ █ █ \n ▄▀█ ▀ ▀ ▀█▀▄ \n▄██▄▀███▀▄█▄█ \n▀▄▄▀▀▄▄▄█▀▀▄▄█▄ \n ██ ██▀ ▄▀ \n █▄▄█▀▀█▄▄█▀ "], ["injured_1", " \n ▄▄▄▀▀▄▄▄ \n █ ▄████▄ █ \n █ █ ▀▀▀ █ █ \n ▄▀█▄█ █▄ █▀▄ \n ▀▄▄▀▄▄▄▄▀▄▄█▀▀█\n ▄█▀█▀▄▄▀██▀█▄▀ \n █▄██▄▄▄▄█▄█▄█ "], ["injured_2", " \n ▄▄ \n ▄▀▀█▄▄█▀▀▄ \n ▄▀▄▀███▀▀▄▀▄ \n ▀▄█ ▄ ▄ █▄▀ \n █ ▀█▀ ▀▀▄▀ █ \n ▄██▄█▀▀█▄████▀█\n█▄▄██▄██▄██▄▄█▀ "], ["sleep_1", " \n ▄▄▄▀▀▄▄▄ \n █ ▄████▄ █ \n █ █ ▀▀▀ █ █ \n ▄▀█▀▀ ▀▀▀█▀▄ \n ▀▄▄▀▄▄▄▄▀▄▄▀▄▀█\n ▄█▀█▀▄▄▀██▀█▄▄▀\n █▄██▄▄▄▄█▄█▄█ "], ["sleep_2", " ▄▄ \n ▄▀▀█▄▄█▀▀▄ \n ▄▀▄▀███▀▀▄▀▄ \n ▀▄█▄▄ ▄▄▄█▄▀ \n █ ▀▄ ▄▀ █ \n ██▄█▀▀█▄██▄▄▀█\n ▄█ ▄▀▀▀▀▄▄▀▄▄▄▀\n █▄██▄▄▄▄█▄█▄█ "], ["walk_1", " ▄▄▄▀▀▄▄▄ \n █ ▄████▄ █ \n █ █▄▀▀▀▄ █ █ \n ▄▀█ ▄▄▄ █▀▄ \n ▀▄▄▀▄▄▄▄▀▄▄▀ ▄▄\n ▄▀▀█▄▄█▀▀▄▄▀ █\n █ ▄█ █▄ █▄▀ \n ▀█▄▄█▀▀█▄███ "], ["walk_2", " ▄▄ \n ▄▀▀█▄▄█▀▀▄ \n ▄▀▄▀███▀▀▄▀▄ \n ▀▄█▀ ▀ █▄▀ \n █ ▀▄▀▀▀ ▄▀ █ \n ██▄█▀▀█▄██▄▄▀█\n▄▀▄▄▄▀▀▀▀▄▄▄▀▄▄▀\n▀█▄▄█▄▄▄▄█▄▄██ "]]], + ["sunmon", [["angry", " ▄▄▄▄ \n ▄▀ ▄█▄▀ \n ▀▄ ▄▀ \n █▀▄▀▀▀▀▀▄▀█ \n ▄██▄ ▄█ █▄ \n ▀▄█ ▄▄ █▄▀ \n █▀▄▄▄▄▄▀█ \n ▀▀ ▀▄▀ ▀▀ "], ["attack", " ▄ ▄▀▀▀▀▄ ▄▄▄ \n █ ▄ ▀▄▀ \n ▀ ▄▄ █▄▄▄█▀▄▄ ▀\n ▀▄█ ▄▀▄▀ \n ▄▀█▀▀ ▀▀ █▀▄ \n ▀█ ███▄ █▀ \n ▄▀█▄▄▄▄▄█▀▄ \n ▀▀ ▀▄▀ ▀▀ "], ["eat_1", " ▄▀▄ \n ▀▄ █ \n ▄▄ ▄█▄█▄ ▄▄ \n ▀▄▀▄ ▄ ▀▄▀ \n ▄▀█ ▀▄▄▀ █▀▄ \n ▀█▄ ██ ▄█▀ \n █▄▀█▀█▀▄█ \n ▀ "], ["eat_2", " ▄▄▀ \n ▄▀ ▄▀ \n ▀▄ ▄▀ \n █▀▄▀▀▀▀▀▄▀█ \n ▄█▀▄ ▄▀▄█▄ \n ▀▄█ ▄▄▄▄ █▄▀ \n █▀▄▄▄▄▄▀█ \n ▀▀ ▀▄▀ ▀▀ "], ["happy", " ▄▀▀▀▄▀▀▄▀▀ \n ▀▄ ▄▄▀ ▀ \n ▄▄ ▄█▄█▄ ▄▄ \n ▀▄▀▄ ▄▀█▄▀ \n ▄▀█ ▄▄▄▄ █▀▄ \n ▀█▄ ▀▀ ▄█▀ \n █▄▀█▀█▀▄█ \n ▀ "], ["injured_1", " \n \n ▄▀██▀ \n ▄███▄ \n ▄▀█▀ ▀█▀▄ \n ▀▀█▄█ █▄ █▀▀ \n ▄▀█▄ ▄█▀▄ \n ▀▀█▄▀███▀▄█▀▀ "], ["injured_2", " \n \n \n ▄██▀ ▄ \n ▄▄▄▀▀▀▀▀▄▄▄ \n █▄█ ▄ ▄ █▄█ \n ▄█▀▀ ▀▀ █▄ \n █▄██▄▄▄▄▄██▄█ "], ["sleep_1", " \n ▄█ \n █ █ \n ▄▄ ▄█▄█▄ ▄▄ \n ▀▄▀ ▀▄▀ \n ▄▀█▀▀ ▀▀ █▀▄ \n ▀█▄ ▀▀ ▄█▀ \n █▄▀███▀▄█ "], ["sleep_2", " ▀ \n ▄▀▄ \n █ █ \n ▄▄ ▄█▄█▄ ▄▄ \n ▀▄▀ ▀▄▀ \n ▄▀█▀▀ ▀▀ █▀▄ \n ▀█▄ ▀▀ ▄█▀ \n █▄▀███▀▄█ "], ["walk_1", " ▄▀▄ \n █ ▄▀ \n ▄▄ ▄█▄█▄ ▄▄ \n ▀▄▀▄ ▄ ▀▄▀ \n ▄▀█ ▀ ▀ █▀▄ \n ▀█▄ ▀▀ ▄█▀ \n █▄▀█▀█▀▄█ \n ▀ "], ["walk_2", " ▄▄▄ ▄ \n ▄▀ ▀▄ \n ▄▀▄▀ \n █▀▄▀▀▀▀▀▄▀█ \n ▄█ █ █ █▄ \n ▀▄█ ▄▄ █▄▀ \n █▀▄▄▄▄▄▀█ \n ▀▀ ▀▄▀ ▀▀ "]]], + ["superstarmon", [["angry", " ▄▀█ ▄▀█ \n ▄▀ ▀█▄▀▄ \n▀█▀▀█▄ ▄█▀▀▀█▀\n ▄▀ ▀██▀██▀ ▀▄ \n █ ▀▄ ▄▄▄▄ █ █ \n ▀▄▄▀ ▀▄▄▀ \n █ ▄▀▀▄ █ \n ▄█▄▄▄█ █▄▄▄█▄ "], ["attack", " ▄▀▄ ▄▀█▄▀▀▀█ \n █ █▀ ▀▄▀▀█ \n▄▄█▄█ ▄█ ▀▀▀█▀\n ▀▄ ███▀ ▄▀ █\n ▀▀▄▄▄▄ ▄▀ █\n ▄███▀ ▀▄▀▀▀ \n ▄▀ ▄▄▄▄ ▀▄ \n ▄█▄▄▄█ █▄▄▄█▄ "], ["eat_1", " ▀▄ ▄▀█ ▄ \n ▄▄▄▄▄▀ █ \n ▀▄ ▄▄ ▀▀▀█▀\n █ ███▀ ▄▀▄ \n ▄▄▀▄▄▄▄ ▀▄▀\n ▀▄ ▄███▀▄▀ ▄▀ \n █ ▄▄▄▄ ▀█ \n ▄█▄▄█ █▄▄▄█▄ "], ["eat_2", " ▄ ▄▀█ \n ▀ ▄▀ █ ▀ \n █▀▀▀ ▄▄ ▀▀▀█▀\n ▀▄▀███▀ ▄▀▄ \n ▄█▄▄▄▄▀ ▀▄▀\n ▀▄ █ ▄▀ ▄▀ \n █ ▄▄▄▄ ▀█ \n ▄█▄▄█ █▄▄▄█▄ "], ["happy", " ▀ ▄▀█ ▄ \n ▀▄▄▀ █▄ ▀ \n▀█▀▀▀██▀██▀▀▀▀█▀\n ▀▄▄▄▄▄▄▄▄ ▄▀ \n ▄▀█▀▀█▀▀▀█ ▀▄ \n ▀▄ ▀▄▄▄▄▀▄▀ ▄▀ \n █▀ ▄▄▄▄ ▀█ \n ▄█▄▄▄█ █▄▄▄█▄ "], ["injured_1", " \n ▄▄ \n ▄▀ █ ▄▀▀▄ \n▄▄▄▄▄▀ █▄██▄█\n ▀▄ ██▄▄▄██ ▄▀ \n ▄▀▄ ▀▀ ▀▀ ▄▀█ \n █ █ ▄▀▀▄ █ █ \n █▄▄▄▄▄▄▄▄▄▄▄▄█ "], ["injured_2", " \n \n ▀█▀▀▄ ▄▀▀▄ \n ▄▄▄▄▀ ▀▄██▄▀\n▄█▄ ▄▄ ▄▄ ▀▄\n ▄▀▄▀██▀██▀ █▀█ \n █ ▀▄ ▄▄▄ █ █ \n █▄▄▄█▄█▄██▄▄▄█ "], ["sleep_1", " \n \n █▀▄ ▄▀█ \n ▄▀ ▀▄█▄▀▄ \n▀█▀▀▀ ▀▀▀▀█▀\n ▄▀▄▄▄ ▄▄ ▄▀▄ \n █ ▀██▀██▀█ █ \n █▄▄▄▄▄▄▄▄▄▄▄▄█ "], ["sleep_2", " \n █▀▄ ▄▄ \n ▄▀ ▀▄▄▀▄▀▄ \n▀█▀▀▀ ▀▀▀▀█▀\n ▀▄▄▄ ▄▄ ▄▀ \n ▄▀█▀██▀██▀ █▀▄ \n █ ▀▄ ▄▀ █ \n █▄▄▄▄▄▄▄▄▄▄▄▄█ "], ["walk_1", " ▄▀█ ▄▀█ \n ▄▀ ▀█▄▀▄ \n▀█▀▀█▄ ▄█▀▀▀█▀\n ▀▄▀██▀██▀ ▄▀ \n █ ▄ ▄▄ ▄ █ \n ▀▄▄▀ ▀▄▄▀ \n ▄▀ ▄▀▀▄ ▀▄ \n ▄█▄▄▄█ █▄▄▄█▄ "], ["walk_2", " ▄▄ ▄▄ \n ▄▀ █▄▀▄▀ \n▄▄▄▄▄▀ ██▄█▄▄\n ▀▄ ██▄▄▄██ ▄▀ \n ▄▀ ▀▀ ▀▀ ▀▄ \n ▀▄ ▀▄▀▀▄▀ ▄▀ \n ▄▀▀ ▀▀▄ \n ▄█▄▄█▀▀█▄▄█▄ "]]], + ["susanomon", [["angry", " ▄▄▄▄ ▄▄▄▄ \n ▀▄ █▄█ ▄█ \n █▀███▀██ ▄ \n █ █▄▄█▄▄██▄█▀█\n █▄▀▀▄▄▄▄█▀▄▄ ▀█\n ▀█▀█▄▄▄▄██▀ █▀ \n █▄█ ▄ ▄██▄▄▀ \n █▄█▄█▀▀▀█▄█▄█ "], ["attack", " █▀▀█ █▀▀█ \n ▀▀▄█▀█▄██▄ ▄ \n ▄▀▀█▀▀▀ ▄██▄█▀▄\n █ ██▀▀▀█▀▄▄ ▀█\n ██ █▀▀▀▀█ ▀█▀\n ▀▀█▀▀▀▀▀▀█▀▀ \n ██▄█▄███▄ \n █▄███ █▄█▄█ "], ["eat_1", " █▀▀█ █▀▀█ \n ▀▄█▀█▄██▄ \n ▄ █▀▀▀ ▄██ ▄█ \n ▄▀▄████▀██▀▀▀▄█\n ██▄█▀▀▀▄█▄█▀▄▄█\n █ █▀▀▀▀██ █ \n ██▄█▄█▀▀█▀ \n █▄█▄█ █▄█▄█ "], ["eat_2", " ▄▄▄▄ ▄▄▄▄ \n ▀▄ █▄█ ▄█ \n ██▄█▀▀██ ▄ \n █ █▄▄▄▄███▄█▀█\n █▄▀▀▄▄▄██▀▄▄ ▀█\n ▀█▀█▄▄▄▄██▀ █▀ \n ▄█▄█ ▄ ██▄▄█ \n█▄█▄█▀▀▀▀▀█▄█▄█ "], ["happy", " █▀▀█ █▀▀█ \n ▀▄███▄██▄ \n ▄ █▀▀▄▄▀██ ▄█ \n ▄▀▄████▀██▀▀▀▄█\n ██▄█▀▀▀▄█▄█▀▄▄█\n █ █▀▀▀▀██ █ \n ██▄█▄█▀▀█▀ \n █▄█▄█ █▄█▄█ "], ["injured_1", " \n █▀▀█ █▀▀█ \n ▀▄███▄██▄ \n ▄ █▀ █ ▀██ ▄█▄\n ▄▀▄█▀▀▀▀██▀▀▀▄█\n ██▄▄▀▀▀▀█▄█▀▄▄▀\n ▄█▄█▀▀▀▀██ █ \n█▄█▄█▄█▄▄██▄█▄█ "], ["injured_2", " \n ▄▄▄▄ ▄▄▄▄ \n ▀▄ █▄█ ▄█ \n ██▀█▀███ ▄ \n █ █▄▄█▄▄██▄█▀█\n █▄▀▀▄▄▄▄█▀▄▄ ▀█\n ████▄▄▄▄██▀ █▀ \n█▄█▄█▄█▄▄██▄▄█▄ "], ["sleep_1", " \n ▄▄▄▄ ▄▄▄▄ \n ▀▄ █▄█ ▄█ \n ██▄█████ ▄ \n █ █▄▄▄▄███▄█▀█\n █▄▀▀▄▄▄██▀▄▄ ▀█\n ████▄▄▄▄██▀ █▀ \n█▄█▄█▄█▄▄██▄▄█▄ "], ["sleep_2", " \n █▀▀█ █▀▀█ \n ▀▄█▀█▄██▄ \n ▄ █▀▀▀▀███ ▄█▄\n ▄▀▄█▀▀▀███▀▀▀▄█\n ██▄▄▀▀▀▀█▄█▀▄▄▀\n ▄█▄█▀▀▀▀██ █ \n█▄█▄█▄█▄▄██▄█▄█ "], ["walk_1", " █▀▀█ █▀▀█ \n ▀▄█▀█▄██▄ \n ▄ █▀▀▀ ▄██ ▄█ \n ▄▀▄█▀▀▀███▀▀▀▄█\n ██▄▄▀▀▀▀█▄█▀▄▄█\n █ █▀▀▀▀██ █ \n ██▄█▄█▀▀█▀ \n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄▄▄ ▄▄▄▄ \n ▀▄ █▄█ ▄█ \n ██▄█▀▀██ ▄ \n █ █▄▄▄▄███▄█▀█\n █▄▀▀▄▄▄██▀▄▄ ▀█\n ▀█▀█▄▄▄▄██▀ █▀ \n █▄█ ▄ ▄██▄▄▀ \n █▄█▄█▀▀▀█▄█▄█ "]]], + ["swimmon", [["angry", " ▄▄▄▄ \n ▄▀▀ ▄█▄▄▄▀▀▄ \n █ ▀▀▄ ▄█\n▄▀▀▄ ▄█ ▀█▄ \n█▀▀█ █▄ ▀█▄ █\n ▀█▄ ▄██ ▀▄▄ █ \n ▄███▄█▀█▄ ▀█▀ \n ██▀▀ ▀█▄▄▀ "], ["attack", " ▄▀▀█▀ ▄▄ \n ▄▀ ▄▀▀██▀ ▀▄ \n ▄█ ▄▄ ▀▄▄█▄▄\n█▄▄█ ▀▀ ▄▄█▀ ▄▀\n████ █▀ ▄▄▀▄ \n ▀▄█▄ ▄████▄▄▀█ \n ▀▀█▄▄█▀▀▀██ █\n ██▄▀ "], ["eat_1", " ▄▄▄▄ \n ▄▀▀ ▄█▄▄▄▀▀▄ \n ▄█ ▄ ▀▀▄ ▄█\n█▄▄█ ▀ ▀▄ ▀█▄ \n▀███▄ ██ ▀█▄ █\n ▀▄▄▀ ▄██ ▀▄▄ █ \n ▄███▄█▀█▄ ▀█▀ \n ██▀▀ ▀█▄▄▀ "], ["eat_2", " ▄▄▄▄ \n ▄▀▀ ▄█▄▄▄▀▀▄ \n ▄█ ▄ ▀▀▄ ▄█\n█▄▄█ ▀ ▀▄ ▀█▄ \n▀▄▄▀ ██ ▀█▄ █\n █▄ ▄██ ▀▄▄ █ \n ▄███▄█▀█▄ ▀█▀ \n ██▀▀ ▀█▄▄▀ "], ["happy", " ▄▀▀█▀ ▄▄ \n ▄▀ ▄▀▀██▀ ▀▄ \n ▄█ ▄ ▀▄▄█▄▄\n█▄▄█ ▀ ▀▄▄█▀ ▄▀\n ████ █▀ ▄▄▀▄ \n ▀▄▄█ ▄████▄▄▀█ \n ▀▀█▄▄█▀▀▀██ █\n ██▄▀ "], ["injured_1", " \n ▄▄▄▄ \n ▄▀▀ ▄█▄▄▄▀▀▄ \n ▄█ ▀▀▄ ▄█\n█▄▄█ █▄ ▄ ▀█▄ \n▀▄▄▀ ██ ▀█▄ █\n ▄█▄ ▄█ ▀▄▄ ▀▄\n██████████▄▄▄███"], ["injured_2", " \n \n ▄▄▀▀█▀ ▄▄ \n ▄▀ ▀▀██▀ ▀▄\n ▄█ ▄ ▀▄▄▀▀\n█▄▄█ ▀▀ █▄ ▄▄▀▀▄\n▀▄▄▀ ▄█▀▄ ▀█▄▀\n████▄▄████▄█▄▄██"], ["sleep_1", " \n ▄▄▄▄ \n ▄▀▀ ▄█▄▄▄▀▀▄ \n ▄█ ▀▀▄ ▄█\n█▄▄█ ▀▀ ▄ ▀█▄ \n▀▄▄▀ ██ ▀█▄ █\n ▄█▄ ▄██ ▀▀▄▄█ \n██████▄███▄▄▄▄▄█"], ["sleep_2", " \n ▄▄▀▀█▀ ▄▄ \n ▄▀ ▀▀██▀ ▀▄\n▄▀▀▄ ▄▄ ▀▄▄▀▀\n█▀▀█ █▄ ▄▄▀▀▄\n ▀█ ▄█▀▄ ▀▀▄▀\n ▄███▄▀██▄ ▀▀▄▀ \n████▀▀▀▀ ▀▀▄▄▄█ "], ["walk_1", " ▄▄▀▀█▀ ▄▄ \n ▄▀ ▀▀██▀ ▀▄\n▄▀▀▄ █ ▀▄▄▀▀\n█▀▀█ █▄ ▄▄▀▀▄\n ▀█ ▄█▀▄ ▀█▄█\n ▀█▄▄▀██▄ █▄█▀▀\n ███▀▀ ▀▄ █ \n ██ ▀▄█ "], ["walk_2", " ▄▄▄▄ \n ▄▀▀ ▄█▄▄▄▀▀▄ \n ▄█ ▄ ▀▀▄ ▄█\n█▄▄█ ▀ ▄ ▀█▄ \n▀▄▄▀ ██ ▀█▄ █\n █▄ ▄██ ▀▄▄ █ \n ▄███▄█▀█▄ ▀█▀ \n ██▀▀ ▀█▄▄▀ "]]], + ["syakomon", [["angry", " ▄▄▄▄▄▄▄ \n▄▀▀▄ ▄ ▄ ▀▄ \n▀▀█▀████▀█▄ ▀▄ \n █▄▄██▄▄███ █ \n █▀ ▀ ▀ ▀ ▀█▄▀█ \n █ ▄ ▄ ▄ ▄ █▀▀▄ \n█▀▀█▀▀█▀▀█▀▀ █▀ \n ▀▄▄▄▄▄▄▄▄▄▄▀ "], ["attack", " \n \n ▄▄▄▄▄▄▄ \n▄▀▀▄ ▄ ▄ ▀▄ \n▀▀▀▀██████▄ █ \n ▄██▀██▀███ █▄ \n█▀█▀▀█▀▀█▀▀▀▀ █ \n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["eat_1", " \n \n ▄▄▄▄▄▄▄ \n▄▀▀▄ ▄ ▄ ▀▄ \n▀▀▀█▀██▀██▄ █ \n █▀▀▀▀▀████ █▄ \n█▀█▀▀█▀▀█▀▀▀▀ █ \n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["eat_2", " \n ▄▄▀▀▀▀▀▀▀▄ \n█▄▄█▄█▄█▄▄ ▀▄ \n ▄█▄███▄███▄ █ \n ▀▀▄ ▀███ █▄ \n ▄▀ ████▄▀ \n█▀█▀▀█▀▀█▀▀▀ ▄█ \n ▀▄█▄▄█▄▄█▄▄▀ "], ["happy", " ▀ \n▀ ▄▄▀▀▀▀▀▀▀▄ \n █▄▄█▄█▄█▄▄ ▀▄ \n▄ ▄█▄██▄███▄ █ \n ▄ █ ▀▀▀▀ ███ █▄\n ▀▄ ▄████▄▀\n █▀█▀▀█▀▀█▀▀▀ ▄█\n ▀▄█▄▄█▄▄█▄▄▀ "], ["injured_1", " \n \n ▄▄▄▄▄▄▄▄ \n▄▀▀▄ ▄ ▄ ▀▄ \n▀▀▀█▀███▀█▄ ▀▄ \n █▄█▀▀▀█▄██▄█▄ \n█▀█▀▀█▀▀█▀▀▀▀ █ \n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["injured_2", " \n \n \n ▄▄▄▄▄▄▄▄ \n ▄▀ ▄ ▄ ▀▄ \n█ ▄█ ▄█ ▄█ █▄ \n▀█ ▀█ █▀ ▀ █ \n ▀▄▄▄█▄▄█▄▄▀▀ "], ["refuse", " \n ▄▄▀▀▀▀▀▀▀▄ \n█▄▄█▄█▄█▄▄ ▀▄ \n ▄▀████▀█▄▀▄ \n▄▄██▄▄██▄▄██▄▀█ \n▀▄▀▄ ▀▄ ▀▄ ▄▄▀ \n ▀▀▀▀▀▀▀▀▀▀ \n ▄▄▄▄▄▄▄▄▄▄ "], ["sleep_1", " ▄ \n▄ \n \n▀ ▄▄▄▄▄▄▄▄ \n▄▀▀▄ ▄ ▄ ▀▄ \n▀▀█▀▀██▀▀██▄ █▄ \n▄▀█▀▀█▀▀█▀▀▀▀ █ \n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["sleep_2", " \n \n ▄▄▄▄▄▄▄ \n▄▀▀▄ ▄ ▄ ▀▄ \n▀▀▀█▀▀█▀▀█▄ █ \n ████▀█████ █▄ \n█▀█▀▀█▀▀█▀▀▀▀ █ \n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["walk_1", " \n \n ▄▄▄▄▄▄▄ \n▄▀▀▄ ▄ ▄ ▀▄ \n▀▀▀▀██████▄ █ \n ▄██▀██▀███ █▄ \n█▀█▀▀█▀▀█▀▀▀▀ █ \n ▀▄█▄▄█▄▄█▄▄▀▀ "], ["walk_2", " ▀ \n▄ \n \n▀ ▄▄▄▄▄▄▄▄ \n ▄▀▄ ▄ ▄ ▀▄ \n█▄█▀███▀█▄▄▄ █▄ \n▄▀█▀▀█▀▀█▀▀▀▀ █ \n ▀▄█▄▄█▄▄█▄▄▀▀ "]]], + ["syakomon_x", [["angry", " \n ▄▀██▀█▀▀█▄ \n ▄▀ ▀▀▀▀ ▄▀ ▄█ \n ▀▀█▀███▀█▄▀ █ \n █▄▄█▄▄██▄▄▄█ \n ██▀ ▀▄▄ ▄█ \n █▀█▀▀█▀▀▀▀█▀█ \n ▀▄█▄▄█▄▄▄▄▀ "], ["attack", " \n \n ▄▀██▀█▀▀▄▄ \n ▄▀ ▀▀▀▀ ▄▀ ▄█ \n ▀▀███████▄▀ █ \n ██▄██▄█▀▀▀▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄█▄▄█▄▄▄▄▄▀ "], ["eat_1", " \n \n ▄▀██▀█▀▀█▄ \n ▄▀ ▀▀▀▀ ▄▀ ▄█ \n ▀▀███████▄▀ █ \n █▀▄▀█▀▄▀█▀▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄█▄▄█▄▄▄▄▄▀ "], ["eat_2", " \n ▄▀██▀█▀▀█▄ \n ▄▀ ▀▀▀▀ ▄▀ ▄█ \n ▀▀███████▄▀ █ \n ▄█▄██▄███ █ \n ██ ██▀▀▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄█▄▄█▄▄▄▄▄▀ "], ["happy", " \n ▄▀██▀█▀▀█▄ \n ▄▀ ▀▀▀▀ ▄▀ ▄█ \n ▀▀█▀███▀█▄▀ █ \n █▄█▄█▄█▄█ █ \n █▄ ▄▀▀▀▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄█▄▄█▄▄▄▄▄▀ "], ["injured_1", " \n \n ▄▄▄▄▄▄▄▄ \n ▄▀▄██▄▀ ▄▀▀▄ \n █▄▄▄▄▄▄▄█ ▄▀▀▄ \n ▄▀ ██ ▀█▀▀▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄█▄▄█▄▄▄▄▄▀ "], ["injured_2", " \n \n \n ▄▄▄▄▄▄▄▄ \n ▄▀▄██▄▀ ▄▀▀▄ \n █ ▄▄▄▄▄▄█▄▄▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄█▄▄█▄▄▄▄▄▀ "], ["refuse", " \n \n ▄▀██▀█▀▀█▄ \n ▄▀ ▀▀▀▀ ▄▀ ▄█ \n ▀▀█▀███▀█▄▀ █ \n ██▄▄█▄▄▀▀▀▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄▄▄▄█▄▄▄▄▄▀ "], ["sleep_1", " \n \n ▄▀██▀█▀▀█▄ \n ▄▀ ▀▀▀▀ ▄▀ ▄█ \n ▀▀███████▄▀ █ \n █▀▀▀█▀▀▀█▀▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄█▄▄█▄▄▄▄▄▀ "], ["sleep_2", " \n \n ▄▄▄▄▄▄▄▄ \n ▄▀▄██▄▀ ▄▀▀▄ \n █▄▄▄▄▄▄▄█ ▄▀▀▄ \n ▄▀▀▀█▀▀▀█▀▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄█▄▄█▄▄▄▄▄▀ "], ["walk_1", " \n \n ▄▀██▀█▀▀▄▄ \n ▄▀ ▀▀▀▀ ▄▀ ▄█ \n ▀▀███████▄▀ █ \n ██▄██▄█▀▀▀▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄█▄▄█▄▄▄▄▄▀ "], ["walk_2", " \n \n ▄▄▄▄▄▄▄▄ \n ▄▀▄██▄▀ ▄▀█▄ \n █▄▄▄▄▄▄▄█▄▄▀▀▄ \n ██▀██▀██▀▀▀▀█ \n █▀█▀▀█▀▀▀▀▄▄▀█ \n ▀▄█▄▄█▄▄▄▄▄▀ "]]], + ["tanemon", [["angry", " \n ▄ ▄▄ ▄▄ ▄ \n ██████▀██████ \n ▀▀ █ █ ▀▀ \n ▄▀▀▄▄▄▀▀▄ \n █ ▄ █ \n █▄▄ ▀▀ █ \n █▄█▄▄█▄▄▄▄▄▄█ "], ["attack", " ▄███▄▄▄▄▄███▄ \n ███▀▀▀█ █▀▀▀███\n ▀ ▄▀▀▀▀▀▀▀▄ ▀\n █ ▄█ █ \n ▀▄▀█▀█▀▄ █ \n ███████ █ \n ▄▀ ▀ ▀ ▀ ▄█▀ \n █▄▄▄█▀▀▄▄▄▄▄█ "], ["eat_1", " ▄███▄▄▄▄▄███▄ \n ███▀▀▀█ █▀▀▀███\n ▀ ▄▀▀▀▀▀▀▀▄ ▀\n █ █ █ █ \n █ ▄▄▄▄▄▄▄▄ █ \n █ ███▀▀▀██ █ \n █▄▀▀▀▀▀▀ ▄█▀ \n █▄▄██▀▀█▄▄▄▄█ "], ["eat_2", " \n █▄▄██▄▄▄██▄▄█ \n ▀██▀▀█ █▀▀██▀ \n ▄▄▀ ▀▄▄ \n ▄▀ ▀▀▀ ▀▄ \n █ █ █ █ \n █▄ ▀▀ ▄█ \n █▄▄██▀▀█▄▄▄▄█ "], ["happy", " ▄███▄▄▄▄▄███▄ \n ███▀▀▀█ █▀▀▀███\n ▀ ▄▀▀▀▀▀▀▀▄ ▀\n █ ▀▀ ▀▀ █ \n █ █▄▄▄▄▄▄█ █ \n █ ███▀▀▀██ █ \n █▄▀▀▀▀▀▀ ▄█▀ \n █▄▄██▀▀█▄▄▄▄█ "], ["injured_1", " \n ▄ ▄▄ ▄▄ ▄ \n ██████▀██████ \n ▀▀ █ █ ▀▀ \n ▄▀▀▄▄▄▀▀▄ \n █ ▄ ▄ █ \n █ ▀ ▄ ▀ █ \n █▄▄█▄▄▄▄█▄▄▄█ "], ["injured_2", " \n \n ▄███▄▄▄▄▄███▄ \n ███▀▀▀█ █▀▀▀███\n ▀ ▄▀▀▄▄▄▀▀▄ ▀\n █ ▄ ▄ █ \n █ ▀▀ ▀▀ █ \n █▄▄█▄▄▄▄█▄▄▄█ "], ["sleep_1", " \n \n ▄███▄▄▄▄▄███▄ \n ███▀▀▀█ █▀▀▀███\n ▀ ▄▀▀▄▄▄▀▀▄ ▀\n █ ▄▄ ▄▄ █ \n █ ▄ █ \n █▄▄█▄▄▄▄█▄▄▄█ "], ["sleep_2", " \n \n █▄▄██▄▄▄██▄▄█ \n ▀██▀▀█ █▀▀██▀ \n ▄▄▀ ▀▄▄ \n ▄▀ ▀▀▀ ▀▄ \n █ ▀▀ ▀▀ █ \n █▄▄█▄█▄▄█▄▄▄█ "], ["walk_1", " \n █▄▄██▄▄▄██▄▄█ \n ▀██▀▀█ █▀▀██▀ \n ▄▄▀ ▀▄▄ \n ▄▀ ▀▀▀ ▀▄ \n █ █ █ █ \n █▄ ▀ ▄█ \n █▄▄██▀▀█▄▄▄▄█ "], ["walk_2", " \n ▄ ▄▄ ▄▄ ▄ \n ██████▀██████ \n ▀▀ █ █ ▀▀ \n ▄▀▀▄▄▄▀▀▄ \n █ ▄ ▄ █ \n █ ▀ ▄ ▀ █ \n █▄▄█▄▄▄▄█▄▄▄█ "]]], + ["tankmon", [["angry", " ▄▄▄▄▄ \n█▀▀▀▀█ ▄▀▀▄▄ \n ▀▀█▀▀ ▀▀ ▄▀ \n █▄▀▀▀▄ ▄▀▀▀▄ \n▄▄▄█▄███▄█▄▄▄▄ █\n█ █ █▄▄ ▀█ █ ▄▀\n▄▀▀█ ▄▀█▀█▀▀█▀▄\n▀▄▄████▄█▄█▄▄█▄▀"], ["attack", "█▀▀▄▄█▀▀▀▀▄▄ \n▀▀▄▄▄█ ▄█▀ ▀█ \n █ ▄ ▄ ▄ ▄█▄ \n▄▄▄███████▄█▄▄▀▄\n█ █ █▀█▀█▀█ █ █\n▀▀▀▀▄▄▄▄▄▄▀▀█▀▀ \n▄▀▀█ ▄▀█▀█▀▀█▀▄\n▀▄▄████▄█▄█▄▄█▄▀"], ["eat_1", "█▀▀▄▄█▀▀▀▀▄▄ \n▀▀▄▄▄█ ▄█ ▀█ \n █▄▄▄▄▄▄ ▄█▄ \n▄▄▄▀██▀▀▀█▄█▄▄▀▄\n█ █▄▀▀▀▀▀ █ █ █\n▀▀▀▀███▀▀▀▀▀█▀▀ \n▄▀▀█ ▄▀█▀█▀▀█▀▄\n▀▄▄████▄█▄█▄▄█▄▀"], ["eat_2", "▄▄▄ ▄▄▄▄▄ \n█▄ ▀▀█ ▄ ▀▀▄▄ \n ▀█▀▀ ▀ ▀ ▄▀ \n █▀▀▀▀▀▀▄▀▀▀▄ \n▄▄▄█▀████▀▄▄▄▄ █\n█ █ █▄▄ ▀█ █ ▄▀\n▄▀▀█ ▄▀█▀█▀▀█▀▄\n▀▄▄████▄█▄█▄▄█▄▀"], ["happy", "█▀▀▄▄▄▀▀▀▀▄▄ \n▀▀▄▄▄█ ▄▀▄ ▀█ \n▄▄▄█▄▄▄▄▄▄ ▄█▄ \n█ █ ██▀▀█▀▄█▄▄▀▄\n▀▀▀▀▄▀▀▀ ▄█ █ █\n ███▀▀▀▀▀█▀▀ \n▄▀▀█ ▄▀█▀█▀▀█▀▄\n▀▄▄████▄█▄█▄▄█▄▀"], ["injured_1", " \n ▄█▀▀▀▀▀▄▄ \n▄▀▀▄▄█ █▄ ▄ ▀█ \n▀▀▀█▄▄▄▄ █▄█ \n ▄▀▄▄▄▄█▀ ▀▄ \n █ ▄▄█ █ █ \n▄▀▀█ ▄▀█▀██▄▄█▄\n▀▄▄████▄█▄██▄▄█▀"], ["injured_2", " \n ▄▄▄▄▄ \n ▄█▄ ▀▀▄▄ \n▄▀ ▄▀ ▀▀ █ ▄▀ \n█▄█▀▀▀▀▀▄█▀█▄ \n █ ▀███▀▀ ▄ ▀▄ \n▄▀▀█ ▄▀█▀█▀▄▄█▄\n▀▄▄████▄█▄█▄█▄▄█"], ["sleep_1", " \n ▄█▀▀▀▀▀▄▄ \n█▀▀▄▄█ ▄▄ ▄ ▀█ \n▀▀▀█▄▄▄▄▄▀█▄█ \n ▄▀▄▄▄▄▄▀ ▀▄ \n ▄▀ ▄█▄ ▀▄ ▀▄ \n▄▀▀█ ▄▀█▀█▀▄▄█▄\n▀▄▄████▄█▄█▄█▄▄█"], ["sleep_2", " ▄▄▄▄▄▄ \n▄▄▄▀▀▄ ▀▀▄▄ \n█▄▄█▀▀ ▀▀▄█ ▄▀ \n █▀▀▀▀▀▄▀▀█ \n █ ▀█▀▀▀ ▄ █ \n █ ▄██▀▀ █ █ \n▄▀▀█ ▄▀█▀██▄▄█▄\n▀▄▄████▄█▄██▄▄█▀"], ["walk_1", "█▀▀▄▄█▀▀▀▀▄▄ \n▀▀▄▄▄█ ▄█ ▄ ▀█ \n █▄▄▄▄▄▀█▄█ \n ▀▄▄▄▄▄▀ ▀▄ \n▄▄▄█ █▄▄▄ ▄▄█▄ █\n█ █ █▄▄ ▀█ █ ▄▀\n▄▀▀█ ▄▀█▀█▀▀█▀▄\n▀▄▄████▄█▄█▄▄█▄▀"], ["walk_2", "▄▄▄ ▄▄▄▄▄ \n█▄ ▀▀█ ▄ ▀▀▄▄ \n ▀█▀▀ ▀▀▄█ ▄▀ \n █▀▀▀▀▀▄▄▀▀▀▀▄\n█▀█▀▀████ █▀█ █\n▀▄█▄█▄▄ ▀█▄█▄▀ \n▄▀▀█ ▄▀█▀█▀▀█▀▄\n▀▄▄████▄█▄█▄▄█▄▀"]]], + ["tapirmon", [["angry", " █▀▄▄▄▄█▀█ \n ▄███████ \n▄████▀▄███▀▄ \n█████████▀ █▀▄ \n██▀▄▄██▀▄ ▄▀ █▀▄\n▀▀ █▄▄▄██▄ ▀ ▄█\n ███▀▀███ █▄███\n █▄▄▀ ▀▄▄█▄▄▄█ "], ["attack", " █▀▄▄▄▄█▀█ \n ▄████▀███ \n▄█████ ▄██▀▄▄ \n███▀▀▀███▀ █ █▄ \n██ █ █▀▄ ▀ ▄▀ █\n ▄▀ ▄█▄█ ▀ ██\n ███ ███▄▀▀▄██▀\n █▄▄▀ ▀▄▄█ █▄▄▄█"], ["eat_1", " █▀▄▄▄▄█▀█ \n ▄████▀▀███ \n██████▄███▀▄ \n██▀█▀▀███▀ █▀▄ \n▀▀ █ █▀▄ ▄▀ █▀▄\n █▄▄▀▄██ ▄▀ ██\n ██▄███▄▀█▄███\n █▄▄▀█▄▄▀█▄▄▄█ "], ["eat_2", " █▀▄▄▄▄█▀█ \n ▄███████ \n▄█████ ▄██▀▄ \n█████████▀ █▀▄ \n██▀▄▄██▀▄ ▄▀ █▀▄\n▀▀ █▄ ▄██ ▄▀ ██\n ██▄███▄▀█▄███\n █▄▄▀█▄▄▀█▄▄▄█ "], ["happy", " █▀▄▄▄█▀█ \n ▄█████▀██ \n██████▄█▄█▀▄▄ \n██▀█▀▀ ██▀ █ █▄ \n▀▀ █ █ ▀ ▄▀ █\n █▄▄▄▀▄█▄ ▄ ██\n▄▀▀█▀▄▀▀█▀██▄██▄\n▀▀▀ ▀▀▀ █▄█▄▄▄▀"], ["injured_1", " \n █▀▄▄▄▄█▀█ \n ▄███████▄▄ \n████▄▀▀███ █▀▄ \n████████▀ ▄▀ █▀▄\n██▀▄▄▀▀▄█ ▄▀ ▄█\n▀▀ ██▄███▄▀█▄███\n █▄▄▀█▄▄▀█▄▄▄█ "], ["injured_2", " \n ▄▄ ▄▄ \n █▄█████▄█ \n ▄████████▄ \n█████ ▀██▀ █▀▄ \n███▀▀██▀ ▀ ▄▀▀▄\n▀▀▄██████ █▄▄██\n █▄█▄▄██▀▀█▄▄▄█▀"], ["sleep_1", " \n ▄▄ ▄▄▄ \n ▀▄█████▄▀ \n ▄████████▀▄▄ \n█████▄▄██▀ █ █▄ \n███▀▀██▀ ▀ ▄▀ █\n██ ██▄████ █▄▄██\n █▄█▄▄██▀█▄▄▄█▀"], ["sleep_2", " \n ▄▄ ▄▄▄ \n ▀▄█████▄█▄ \n ▄████████ █▀▄ \n█████▄▄██▀▄▀ █▀▄\n███▀▀██▀ ▀ █\n██ ██▄████ █▄▄██\n █▄█▄▄██▀█▄▄▄█▀"], ["walk_1", " █▀▄▄▄▄█▀█ \n ▄███████ \n▄█████▀ ██▀▄▄ \n█████████▀ █ █▄ \n██▀▄▄██▀▄ ▀ ▄▀ █\n▀▀ █▄ ▄██ ▀ ██\n ██▄███▄▀▀▄██▄\n █▄▄▀█▄▄▀ █▄▄▄▀"], ["walk_2", " █▀▄▄▄▄█▀█ \n ▄████▀██ \n▄█████▄▄███▄ \n███▀▀███▀ █ █▀▄ \n▀▀ ▀█▀▀▄▄▀ ▄▀ ██\n ▄██ ███ █▀\n█▄▄▀▀███▀▀██▄▄▀█\n █▄▄▀ █▄▄▀▄▄█"]]], + ["targetmon", [["angry", " ▄▄▄▄ \n ▄▄▀▀▀ ▄▀ \n▄▀▀▄█ ▄▄▄▀▀▄ \n█ █ ▀▀▀▀ █ █\n█▄▄█▀▀▀▀▀▀█ █\n ▀▀█▀█▀█▀██▀█▀▀ \n ▄██▀▀▀▀▀▄██▄ \n █▄█▄██▀▀▀█▄█▄█ "], ["attack", " ▄▀▀▀▄ ▄▄▀█▀▀█ \n █ ▄██▄▄█ █ \n █▄█▄▄▄▄██ █ \n ▀▄█▄▄▄▄▄█▀▀▀█ \n ▀▄█▄█▄█▄▀▀▄ \n ████ █ \n █▀▀▀▀▀▄██ \n ████▀▀█▄█▄█ "], ["eat_1", " ▄▄▄▀▀▀█ \n ▄▀▀ █ \n▄▀▀█▄▀▀▀▀▀█▄▀▀▄ \n█ █▄▀▀▀▀▀█ █\n█▄▄█▀█▀█▀██ █\n ▀█████████▀█▀▀ \n ▄██▀▀▀▀▀▄██▄ \n █▄█▄██▀▀▀█▄█▄█ "], ["eat_2", " ▄▄ ▄▄▄▀▀█▄ \n█ ▀▄▀▀ ▄▀ ▀▄\n█ █▄▄▄▄▄▄█ █\n█▀█▀▄▄▄▄▄█▀▄▄▄▄▀\n▀▄█ ▄▄ █▄▀ \n ▀█▀▀▀▀▀▀ █ \n ▄▀▄▄▄▄▄▄▄██▄ \n █▄█▄██ █▄█▄█ "], ["happy", " ▄▄▄▀▀▀█ \n ▄▀▀ █ \n▄▀▀█▄▀▀▀▀▀█▄▀▀▄ \n█ █▄▀▀▀▀▀█ █\n█▄▄████████ █\n ▀▄███▀▀▀▀█▀█▀▀ \n ▄██▀▀▀▀▀▄██▄ \n █▄█▄██▀▀▀█▄█▄█ "], ["injured_1", " \n ▄▄▄▀▀▀▄ \n ▄▀▀ ▄▀ \n █▄ ▄█▄ \n █▀███████▀█▄ \n▄▀█▄▄▄▄▄▄▄ ▄█▄▀▄\n██ ▀▄█▄█▄█▀ ██\n██▄▄▄█▄▄▄▄█▄▄▄██"], ["injured_2", " \n ▄▄▄ \n ▄▄▀▀▀ █ \n ▄▀ █ \n ███▄▄▄▄▄▄██▄ \n▄▀█▄▀▀▀▀▀▀▀▄█▄▀▄\n██ ▀▄▄▄▄▄█▀ ██\n██▄▄▄█▄█▄██▄▄▄██"], ["sleep_1", " ▄▀▀▀▄ \n █ █ \n ▀▄▀ \n ▄▄▀▀▄▄▄ \n █ █ ██▀ ▀▄ \n█▀▄█ ▀ ██ ▀▄ \n█▄▀▀▀▀▄██▄ ▀▄ \n██▄▄▄▄█▄██▄▄▄▄▄█"], ["sleep_2", " ▄ \n █ █ \n █▄ \n ▄▀█ ▄██▀▄ \n▄▄ █ █ ██ █ \n█ ▀█ ██ █ \n█▄▀▀▀▀▄██▄ ▀▄ \n██▄▄▄▄█▄██▄▄▄▄▄█"], ["walk_1", " ▄▄ ▄▄▄▀▀█▄ \n█ ▀▄▀▀ ▄▀ ▀▄\n█ █▄▄▄▄▄▄█ █\n█▀█▀▄▄▄▄▄█▀▄▄▄▄▀\n▀▄█▄▄▄▄▄▄▄▄ █▄▀ \n ▀█▄█▄█▄█▀ █ \n ▄▀▄▄▄▄▄▄▄██▄ \n █▄█▄██ █▄█▄█ "], ["walk_2", " ▄▄▄▄ \n ▄▄▀▀▀ ▄▀ \n▄▀▀▄▀ ▄▀▀▄ \n█ █▀▀▀▀▀██ █\n█▄▄█▀▀▀▀▀▀█ █\n ▀▀█▀█▀█▀██▀█▀▀ \n ▄██▀▀▀▀▀▄██▄ \n █▄█▄██▀▀▀█▄█▄█ "]]], + ["tekkamon", [["angry", " \n \n \n \n \n ▀█▄ ▄▄▄ \n █▄▄██▄ \n ▄▄██▀▄ "], ["attack", " \n \n █▄ \n ▀▄███▀█▄ \n ███▄▄██ \n ███ \n ███ \n ▄▄▄██▀▄ "], ["eat_1", " \n \n \n \n ▄▄▄▄ \n ▀██▄██▄ \n ▀███ \n ▄▄██▀▄ "], ["eat_2", " \n \n \n \n \n \n ▄▀███▄ \n ▀██████▀▄ "], ["happy", " \n \n \n \n \n ▄▀██▀▄ \n ▀█▄██ ██▄ \n ▀▄▄▀ "], ["injured_1", " \n \n \n \n \n ▄▄▄▄ \n █▀██▀█ \n ▄▄▄██████▄ "], ["injured_2", " \n \n \n \n \n \n ▄▀▀██▀▀▄ \n ▄▄▄████████▄ "], ["sleep_1", " \n \n \n \n \n \n ▄████▄ \n ▄▄▀▄▄██▄▄▀ "], ["sleep_2", " \n \n \n \n \n ▄████▄ \n █▀▀██▀▀█ \n ▄▄▀██████▀ "], ["walk_1", " \n \n \n \n \n ▄▄▄ \n █▄█▄█ \n ▄▄█▀▄▄▄▀█ "], ["walk_2", " \n \n \n \n \n \n ▄▀███▄ \n ▄▄▀████▄█▀ "]]], + ["tentomon", [["angry", " ▀▀▄▄▄ \n ▄▀▀ ▀▄ \n █ ▄▄▀ █▀▀▄ \n █▄▄▄ ██▄█ \n █ ▀ ▀███▄ █\n █▀▄▀▀█▀▀▀▄ █▄▀\n ▀▄▄▀▀█▀▀▀▄▄██ \n █▄▄██▀▀▀█▄▄▄▄█ "], ["attack", " ▀▀▄▄▄ \n ▄▀▀ ▄▀▄ ▄██▀▀▄\n█ █▀▀ █ ▄█▄██\n▀▀▀▀▄ ████▀▀▄\n █ ▄▄██▄ █\n ▄▄▄█ █▄ █▀▀▀ \n ▀▄▄▄▄▄█▄▄█▄ \n █▄▄▄█▀█▄▄▄▄█ "], ["eat_1", " ▀▀▄▄▄▄▀▀ \n ▄▀ ▀▀▄ \n █▀▄ ▄▀▄ ██▄ \n ▀▄▄▄▄▄▄ █▄ █ \n █████▀███▀▀▄\n ▄▀█ ▀▀▀ ▄▀ ██▄█\n ▀▄▄▀▀█▀▀▀▄▄██▀ \n █▄▄██▀▀▀█▄▄▄▄█ "], ["eat_2", " ▀▀▄▄▄▄▀▀ \n ▄▀ ▀▀▄ \n █▀▄ ▄▀▄ ██▄ \n ▀▄▄▄▄▄ █▄ █ \n █ ▀▀███▀▀▄\n ▄▀█▀▀█▀▀██▄▀█▄█\n ▀▄█▀▀█▀▀▀█▄▄█▀ \n █▄▄██▀▀▀█▄▄▄▄█ "], ["happy", " ▀▀▄▄▄▄▀▀ \n ▄▀ ▀▀▄ \n █▀▄ ▄▀▄ ██▄ \n ▄▀▄▄▄▄▄▄ █▄ █ \n █ ▄█▀███▀█ █▀▄\n ▀█ ▀▀▀ ▄█▀ █▄█\n ▄▀▀▀▀▀▀▀▀ ██▀▀ \n █▄▄▀▀▀▀▀▄▄▄▄█ "], ["injured_1", " \n ▀▀▄▄▄▄▀▀ \n ▄▀ ▀▀▄▄▄ \n █▀ ▀▄▄ █▀▀▄ \n ▀▄███▄ ██▄█ \n ▄▀▀▀▀▀ ▀█▀█▀▄█\n █ █▀▀█▀▀▀█ ██\n ▀▄▄█▄█▄▄█▄▄▄▄█ "], ["injured_2", " \n \n ▄▄ ▄▀▀▀▀▀▄▄▄▄ \n ▀▄▀ █▀ █▄█▄ \n █▄ ▄▄▄ █▄ █ \n ▀▄ ▄█▀█▀██\n ▄▀█▀▀█▀▀▀█ ██\n ▀▄▄█▄█▄▄█▄▄▄▄█ "], ["sleep_1", " \n \n ▄ \n ▀▄▀▀███▀▀▄ \n▀▀▄█ ▄██ █▄ \n ██████▀▀█▄▄████\n █ ▀██ ███▀ █\n ▀▄▄███▄▄████▄▄▀"], ["sleep_2", " \n \n █ ▄▄▄▄▄▄▄ \n▄▄ ▄▀ ██▀ ▀▄ \n ▄██▄▄███▄ ▄██▄\n █▀███▀ ▀████▀█\n █ ██▄ ▄███ █\n ▀█████████████▀"], ["walk_1", " ▀▀▄▄▄▄▀▀ \n ▄▀ ▀▀▄ \n █▀ ▀█▄ ██▄ \n █▀▄▄▄▀▀▀ █▄ █ \n █ ▀███▀▀▄\n ▄▀▄▀▀█▀▀▀█▄▀█▄█\n ▀▄█▀▀█▀▀▀█▄▄█▀ \n █▄▄██▀▀▀▀▄▄▄▄█ "], ["walk_2", " ▄▄ ▄▄ \n ▄▀▀▀▀▄▄ \n █▄ ▄▄ ▀▄▄ \n █▄ ▄██ █▀▀▄ \n ▀▄███▄ ▄▄██▄█ \n ▄▀▄▄▄▄▄▄█▄▀▄ █\n █ █▄▄█▄▄▄█▄▄██▀\n █▄█▄█▄▄█▄▄▄▄█ "]]], + ["terriermon", [["angry", " ▄▄ \n ▄█ ▀█▀▄▄ \n █▄ ▄ █ \n █ ▀▀▄ ▀▀ █ \n ▀▄ ▀ ▀▀ █▄ █ \n █▀▀ ▀▄ █ \n▄▀▄█ ▀▄█ ▀▄\n▀▄█▄▄▀▀▀▀▄▄█▄▄▄▀"], ["attack", " ▄▀█▄▄ \n ▄▀▀ ▀ ▀▀▄ \n ▄▀█▄ ▄█ ▀▄ \n██ ▄█▄▄ ▄▀▀█ \n ▀█▄ ▀▄▀ ▀ ▄█▄ \n ▄▀▄ ▄█ █ \n▄▀ █ ▄▄ █▀ ▀▄\n▀▄▄▄█▄█ █▄██▄▄▄▀"], ["eat_1", " ▄▀█▄▄ \n ▄▀▀ ▀ ▀▀▄ \n ▄▀ █ █ ▀▄ \n █ ▄█▄▄ ▄ █ \n █▄ ██ ▀█ ▀▄ \n ▄▀ ▄ ▀▄▀▄ \n▄▀▀█ ▄▄ █▀▀ ▀▄\n▀▄▄█▄█ █▄█▀▄▄▄▀"], ["eat_2", " ▄▄ \n ▄█ ▀█▀▄▄ \n █▄ ▄ █ \n █▀ ▀▄ ▀ ▀ █ \n ▀▄ ▀ ▀▀ █▄ █ \n █▀▀ ▀▄ █ \n▄▀▄█ ▀▄█ ▀▄\n▀▄█▄▄▀▀▀▀▄▄█▄▄▄▀"], ["happy", " ▄▀█▄▄ \n ▄▀▀ ▀ ▀▀▄ \n ▄█▀▄ ▄▀▄ ▀▄ \n▄█ ▄█▄▄ ▄█ \n█ ▀▄▀██▀ ▄▀ ██ \n ▀▄▄ ▄▀ █ \n▄▀ █ ▄▄ █ ▀▄\n▀▄▄▄█▄█ █▄██▄▄▄▀"], ["injured_1", " \n ▄▄ \n ▄█ ▀█▀▄▄ \n █ ▄ ▄ █ \n █ ▀▀▄ ▀▀ █ \n ▀▄ ▀ ▀ █ █ \n ▄▀█▀ █▄ ▀▀▄\n█▄█▄▄▄▄▄█▄▄▄█▄▄█"], ["injured_2", " \n \n ▄▀█▄▄ \n ▄▀▀ ▀ ▀▀▄ \n▄▀▄█ █▄ ▀▄ \n█ ▄▀▄ ▄ ▀▄ \n █▄▄ ▀▄▄ ▀▀▄\n█▄█▄▄▄▄▄█▄▄▄█▄▄█"], ["sleep_1", " \n \n \n ▄▀█▄▄ \n ▄▀▀ ▀ ▀▀▄ \n▄▀▄▄ ▄▄ ▀██▀▄ \n█▄ ▄▀▄ ▄▄▀▄ ▀▀█\n▀▄█▄▄▄█▄▄▄██▄▄▄█"], ["sleep_2", " \n \n ▄▄ \n ▄█ ▀█▀▄▄ \n █ █▄ \n█ ▀▀▄ ▀▀ ▄ █▀▀▄ \n▀▄▄▀ ▀ ▄▄▀▄ ▀▀█ \n▀▄▄█▄▄█▄▄▄██▄▄▄█"], ["walk_1", " ▄▀█▄▄ \n ▄▀▀ ▀ ▀▀▄ \n ▄▀ █ █ ▀▄ \n █ ▄▀▄▄ ▄ █ \n █▄▄ ▀█ ▀▄ \n ▄▀▄ ▄ █ █ \n▄▀▀█ ▄▄ █▀ ▀▄\n▀▄▄▄█▄█ █▄██▄▄▄▀"], ["walk_2", " ▄▄ \n ▄█ ▀█▀▄▄ \n █ ▄ ▄ █ \n █ ▀▄ ▀ █ \n ▀▄ ▀ ▀▀ █▄ █ \n █▀▀ ▀▄ █ \n▄▀▄█ ▀▄█ ▀▄\n▀▄█▄▄▀▀▀▀▄▄█▄▄▄▀"]]], + ["terriermon_x", [["angry", " ▄▄ \n ▄▀▀█ ▀▄▀▄▀▀▄ \n ▀▄▄ ▄ ▄ █ \n █ ▀▀▄ ▀▀ █ \n ▀▄ ▀ ▀▀ █▄ █ \n ▄▀▀ ▀▀ ▀▄ █ \n▄▀▄█ ▀▄█ ▄▀▄\n▀▄█▄▄▀▀▀▀▄▄█▄▄█▀"], ["attack", " ▄▄█▀▄ ▄ ▄▄ \n █ ▀ █ ▀ ▀▄ \n ▄▀█▄ ▄█ ▀▄▀ \n██ ▄█▄▄ ▄▀▀█ \n ▀█▄ ▀▄▀ ▀ ▄█▄ \n ▄▀▄ ▄█ █ \n▄▀ █ ▄▄ █▀ ▄▀▄\n▀▄█▄█▄█ █▄██▄▄█▀"], ["eat_1", " ▄▄█▀▄ ▄ ▄▄ \n █ ▀ █ ▀ ▀▄ \n ▄▀ █ █ ▀▄▀ \n █ ▄█▄▄ ▄ █ \n █▄ ██ ▄▀█ ▀▄ \n ▄▀▄▀ ▀ ▄ █ ▀▄ \n▄▀▀█ ▄▄ █ ▄▀▄█\n▀▄█▄█▄█ █▄█▄▄█▄▀"], ["eat_2", " ▄▄ \n ▄▀▀█ ▀▄▀▄▀▀▄ \n ▀▄▄ ▀▄ ▄ █ \n █▀ ▀▄ ▀ ▀ █ \n ▀▄ ▀ ▀▀ █▄ █ \n █▀▀ ▀▀ ▀▄ █ \n▄▀▄█ ▀▄█ ▄▀▄\n▀▄█▄▄▀▀▀▀▄▄█▄▄█▀"], ["happy", " ▄▄█▀▄ ▄ ▄▄ \n█ ▀ █ ▀ ▀▄ \n █▄▀▄ ▄▀▄ ▀▄▀ \n▄█ ▄█▄▄ █▄ \n█ ▀▄▀██▀ ▄▀ ▄█ \n ▀▄ ▀ ▀▀ █ █ \n▄▀ █ ▄▄ █ ▀▄█\n▀▄█▄█▄█ █▄██▄▄▄▀"], ["injured_1", " \n ▄▄ \n ▄▀▀█ ▀▄▀▄▀▀▄ \n ▀▄ ▄ ▄ ▄ █ \n █ ▀▀▄ ▀▀ █ \n ▀▄ ▀ ▀ █ █ \n ▄▀█▀ █▄ █▀▄\n█▄█▄▄▄▄▄█▄▄█▄▄██"], ["injured_2", " \n \n ▄▄█▀▄ ▄ ▄▄ \n█ ▀ ▀ ▀ ▀▄ \n▄▀▄█ █▄ ▀▄▀ \n█ ▄▀▄ ▄ ▀▄ \n █▄▄ ▀▄▄ █▀▄\n█▄█▄▄▄▄▄█▄▄█▄▄██"], ["sleep_1", " \n \n \n ▄▄█▀▄ ▄ ▄▄ \n█ ▀ █ ▀ ▀▄ \n▄▀▄▄ ▄▄ ▀▄█ ▄ \n█▄ ▄█▄ ▄▄▀▄ ▀▀▄\n▀▄█▄▄▄█▄▄▄██▄▄▄█"], ["sleep_2", " \n \n ▄▄ \n ▄▀▀█ ▀▄▀▄▀▀▄ \n █ ▀ ▄ █ \n█ ▀▀▄ ▀▀ █ █▀▀▄ \n▀▄▄▀ ▀ ▄▄▀▄ ▀▀█ \n▀▄▄█▄▄█▄▄▄██▄▄▄█"], ["walk_1", " ▄▄█▀▄ ▄ ▄▄ \n █ ▀ █ ▀ ▀▄ \n ▄▀ █ █ ▀▄▀ \n █ ▄▀▄▄ ▄ █ \n ▀▄▄ ▄▄▀█ █ \n ▄▀▄ ▄ █ █ \n▄▀ █ ▄▄ █▀ ▄ █\n▀▄█▄█▄█ █▄██▄█▄▀"], ["walk_2", " ▄▄ \n ▄▀▀█ ▀▄▀▄▀▀▄ \n ▀▄ ▄ ▀▄ ▄ █ \n █ ▀▄ ▀ █ \n ▀▄ ▀ ▀▀ █▄ █ \n ▄▀▀ ▀▀ ▀▄ █ \n▄▀▄█ ▀▄█ ▄▀▄\n▀▄█▄▄▀▀▀▀▄▄█▄▄█▀"]]], + ["thundermon", [["angry", " ▄▄▄▄ ▄▄▄▄ \n█ █ ▄▀▀█▀█ █\n█▀█▀▄▀ █▄▄ ▀█▀█\n█ ▀▄██▀ ▄███▄▀ █\n ▀▄███▄█████▄▄▀ \n █ ▀████▀ ██ \n ▄██▄▄██▄▄███▄▄ \n█▄█▄██▀▀▀██▄█▄▄█"], ["attack", " ▄▀▀▀▀▀██▀ \n ▄▀ ▄█▀ \n ▄█▄▄ ▀▀▄ \n ▄██▀ ▄███▄▄ \n█ █▄▄▄▄▄████ █\n▀▄█ ▀███▀ ███▄▄▀\n ▄▄▀▄███▄██▀▄▄▄ \n█▄█▄▄█ █▄▄█▄▄█"], ["eat_1", " ▄▀▀█▀ \n▄▀▀█▄▀ █▄▄ █▀▀▄\n█▄████▀ ▄████▄▄█\n█ █▀▄▀▄█▀▄▀██▀ █\n▀▄██▀▀▀▀▀████▄▀ \n █ ▄▄▄▄ ███ \n ▄▄▀█▄▄▄▄██▀▄▄▄ \n█▄█▄▄█ █▄▄█▄▄█"], ["eat_2", " \n ▄▀▀█▀ \n ▄█▀ ███▄ \n ████▀ ▄████ \n▄▀█▀██▄██▀███▀▀▄\n█ █▄███▄█▄█ ▄▀\n ██▀█▄▄▄███▀██▄ \n█▄█▄▄█ █▄▄█▄▄█"], ["happy", "▄▀▀█ ▄▀▀█▀ █▀▀▄\n█▄▄█▄█▄ ▀▄▄ ▀▄▄█\n█ ▄▀▄▀▄▄▀▄▀█▄█ █\n█ ███████████ █\n▀▄█ ▀▀▀▀ ██▄▀ \n █ ▄██▀ ██ \n ▄█▀▄▄▄▄███▄▄ \n █▄█▄▄█ █▄▄█▄▄█ "], ["injured_1", " \n \n ▄▀▀█▀ \n ▄█▀ ███▄ \n ████▀ ▄████ \n ▄█▀ █▄█ ▀██▀█ \n█▄▀▀████▀▀█▀ ▄▀▄\n▀▄▄▄████▄▄▄█▀▄▄█"], ["injured_2", " \n \n ▄▄ \n ▄██▀▄███▄ \n ███▄ ▄█████ \n ▄██▀▄█▀██████▄ \n█▀▀▄▄██▄▄▀▀█▀ █▄\n█▄▄██████▄▄▄██▄█"], ["sleep_1", " \n ▄▄▄▄ \n ▄▀ ▄▀ \n ▄█▄▄ ▀██▄ \n ▄███ ▄██▄▀█ \n █████████ ██ \n ███████████▀ \n ▀████████▀ "], ["sleep_2", " \n \n ▄▀▀█▀ \n ▄▀ █▄▄ \n ▄███▀ ▄██▀█▄ \n █████▄█████ █▄ \n ██████████████ \n ▀██████████▀ "], ["walk_1", " ▄▀▀█▀ \n ▄▀ █▄▄ \n ▄███▀ ▄███▄ \n █▀██▄██▀███▀▄ \n▄▀█▄█████▄██▀▀▄█\n█▄▀██▄▄████▀▄▄▄▀\n ▄▄▀▀█▀█▀▀▀▄▄ \n █▄█▄▄▀ ▀▄▄█▄▄█ "], ["walk_2", " ▄▄▄▄ \n ▄▀ ▄▀ \n ▄█▄▄ ▀██▄ \n ▄████ ▄█████▄▄ \n█ █ █████ ██ █\n ▀███▀▀██████▄▀ \n ▄▄▀███████▀▄▄▄ \n█▄█▄▄█ █▄▄█▄▄█"]]], + ["tialudomon", [["angry", " \n ▄▀█ ▄▄▄▄ \n █ █▀▄▄▄▄▀█ \n █▀ █▀ █ ▄██ \n █▀▀▀▀▀ █▀ ▀█ \n █ █▀▀█▀█ █▀█ █ \n ▀▄▀▄▄▄▄█▄▀▀▀▄▀ \n █▄█▄█▀▀█▄█▄█ "], ["attack", " ▄▄ ▄▀▀▄ ▄▄ \n ▀▄▀▄ █▀▀▄█ █ \n ▄▀█▄▀▄▀ █ ▄█ \n▄▀█ ▀▀ ▄▄▄█▀ ▀▄ \n█ ██ █▄▀█ █▀█ █\n█ █▄▀▀ ▄▀█▄▀▀▀▄▀\n▀▄▀▄▀▀█ ▄▀█▄▀ \n ▀▀ ▀▀ "], ["eat_1", " ▄▀█ ▄▄▄▄ \n █ █▀ ▄▄▄▀█ \n █▀ ▄▀▄▀█▄█▄ \n ▄█████▀█▀ ▀▄ \n ▄▀█▄▀▀▀▄█ █▀█ █\n █ █ ▀▀▀▄█▄▀▀▀▄▀\n ▀▄███▀▀▀█▀█▄█ \n █▄█▄█▀█▄█▄█ "], ["eat_2", " ▄▄ \n █ █▄▀▀▀▀▄▄ \n █▄▀ ▄▀██ █ \n █▄▄█▄█▄█▀ █ \n ▄▀▄▄▄▄▄▀█▄▀ ▀▄ \n█ █▀ ▄▀ ▄█ █▀█ █\n█ █▄▄▄▄▀██▄▀▀▀▄▀\n █▄█▄▀▀█▄█▄█▄▀ "], ["happy", " ▄▀█ ▄▄▄▄ \n █ █▀▄▄▄▄▀█▄ \n █▀ █▀▄▀█▄▀ ▀▄ \n ██████▀█ █▀█ █\n▄▀▄█▄▄▄▄▀█▄▀▀▀▄▀\n█ █ ▀ ▄▄█▀█▄▀ \n ▀▄██▀▀▀█▀▄ \n █▄█▄█▀█▄█▄█ "], ["injured_1", " \n ▄▄ \n █ █▄▀▀▀▀▄▄ \n █▄▀▄▀██▀ █▄ \n ▄█▄▄█▄▄▀▄█▀ ▀▄ \n█▄▀▄▄▄▄▄██ █▀█ █\n█ █▀ ▄▀█ █▄▀▀▀▄▀\n█▄▄█▄▄▄█▄▄██▄▀ "], ["injured_2", " \n \n ▄▀█ ▄▄▄▄ \n █ █▀▄▄▄▄▀█ ▄ \n █▀ █ ▀█ ▄█▀ ▀▄ \n██▀▀▀▀▀▄██ █▀█ █\n█ █▀▀█▀█ █▄▀▀▀▄▀\n█▄▄█▄▄▄█▄▄██▄▀ "], ["sleep_1", " \n ▄▀█ ▄▄▄▄ \n █ █▀ ▄▄▄▀█ \n █▀ ▄██ ▄▀█▄ \n █▀▀▀▀▄▄█ ▄▀ ▀▄ \n█ █▀▀█▀ ▄█ █▀█ █\n▀▄▀▄▄▄▄███▄▀▀▀▄▀\n█▄█▄█▄▄█▄█▄█▄▀ "], ["sleep_2", " ▄▄ \n █ █▄▀▀▀▀▄▄ \n █▄▀ ▄█▀▀ █ \n █▄▄██▀ ▄▀ █ \n ▄▀▄▄▄▄▄▀█▄▀ ▀▄ \n█ █▀ ▄▀ ▄█ █▀█ █\n▀▄▀▄▄▄▄███▄▀▀▀▄▀\n█▄█▄█▄▄█▄█▄█▄▀ "], ["walk_1", " ▄▀█ ▄▄▄▄ \n █ █▀ ▄▄▄▀█ \n █▀ ▄▀█ ▄▀▄ \n █▀▀▀▀ ▄█ ▄▀█ \n▄▀▄█▀▀█▀ ▄▀▄▄▄▀▄\n█ █ ▀ ▄██ █▄█ █\n ▀▄██▀▀▀█▀█▄ ▄▀ \n █▄█▄█▀█▄█▄█▀ "], ["walk_2", " ▄▄ \n █ █▄▀▀▀▀▄▄ \n █▄▀ ▄█▀▀ █ \n █▄▄█▄▀ ▄▀▄▀█ \n ▄▀▄▄▄▄▄▀█▀▄▄▄▀▄\n█ █▀ ▄▀ ▄█ █▄█ █\n▀▄█▄▄▄▄▀▀██▄ ▄▀ \n█▄█▄█▀▀▀█▄█▄█ "]]], + ["tigervespamon", [["angry", " ▄▄▄▄ \n ▄▄▀███▀ \n ▄▀ ▄█▀▄▀█ ▄▄\n ▀▄█▄▄▄▀ ▀▄███▀\n ▀▄▄█▄▄█▀ ▀▄ \n ▄▀█▄▀▄▀▄▀▀▄▄▀ \n ▀▄▄█▀▀▀▀▄▄▄█ \n █▄█▄▄▀▀▀█▄█▄█ "], ["attack", " ▄▄▄▄ \n ▄▄▀███▀ \n▄▀ ▄▀▀▄▀█ ▄▄▄ \n▀▄█▄▄█▀ ▄▀█▀▀██▄\n ▀▄▄█▄▄█▀ ▄▀▄ \n █ ▄▀▄▀▄██ █ \n █▄ ▀▄▄ ▀▀█▀▄ \n █▄██▄▄█ ▀▄█▄█▄█"], ["eat_1", " ▄▀▀▀████▀ \n ▄▀ ▄▀▀▄▀█ \n ▀▄█▄█▄▀ █ ▄▄██\n ███ ▄▄▀█▀▀ \n █▄▄▄▄▀█▄▄ █ \n █ █▄█▄█ ▀█ \n █▀ ▄▄ ▀▀█ \n █▄█▄█ █▄█▄█ "], ["eat_2", " ▄▄▄▄ \n ▄▄▀███▀ \n ▄▀ ▄▀█▄▀█ ▄▄\n ▀▄█▄█▄▀ ▀▄███▀\n ▀▄▄█▄▄█▀ ▀▄ \n ▄▀▄▀▄▀▄▄▀▀▄▀ \n █▄█▀▀▀▀▀▄▄█ \n █▄█▄█▀▀▀█▄█▄█ "], ["happy", " ▄▄███▀▀ \n ▄▀▀▄█▀█▄ \n █ ▄▀▄▀█ ▀▄▄ \n █▀▀█▀ ▄█ █ \n ▄▄▀█▀█▀█ ▄█▄ \n █ ▀█▄█▄▀▄█ ▀██▄\n ▀█▀ ▄▄▄ ▀▄ \n █▄█▄█ █▄█▄█ "], ["injured_1", " \n ▄▄███▀ \n ▄▀▀ ▀▀█▄ \n █ ▀▄▄ ▀▄▄▄ \n █▀▀▄ ▄▀ ▀██▄ \n █▀█▀█▀█▀▄▀ ▀ \n ▄▀ █▄█▄▀ █▀▄ \n █▄▄▀▄▄█▄▄█▄▄▄█ "], ["injured_2", " \n ▄▄▄▄ \n ▄▄▀███▀ \n ▄▀ ▄ ▀█▄▄▄ \n ▀▄▄▄▀▀ ▄▀ ▀██▄ \n ▀▄▄█▄▄██▀▄▀ ▀ \n ▄▀ █▄█▄▀ █▀▄ \n █▄▄▀▄▄█▄▄█▄▄▄█ "], ["sleep_1", " \n ▄▄███▀ \n ▄▀▀ ▀▀█▄ \n █ ▄██▀ █▄▄ \n █▀▀█ ▄▄▀▀██▄\n ▄▀█▀█▀█▄█▀▄▀ ▀\n █ ▀█▀▀█ ▀▄ █ \n █▄▄▄█▄█▄▄▄█▀ "], ["sleep_2", " ▄▄▄▄ \n ▄▄▀███▀ \n ▄▀ ▄▄▄▀█ \n ▀▄▄██▀ ▀▄▄ \n ▀▄▄█▄▄█▀ ▀██▄\n ▄▀▄▀▄▀▄▄█▀▄▀ ▀\n █ ▀█▀▀█ ▀▄ █ \n █▄▄▄█▄█▄▄▄█▀ "], ["walk_1", " ▄▄███▀ \n ▄▀▀▄█▀█▄ \n █ ▄▀▀ █ █ ▄▄██\n █▀▀█▀ ▄▄▀█▀▀ \n ▄▀█▀█▀▀▄▄ █ \n ▄▀█▄█▄█▄▀ █ \n ▀▄▀ ▄▄ █▄▄▀ \n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄▄▄ \n ▄▄▀███▀ \n ▄▀ ▄█▀▄▀█ ▄▄\n ▀▄█▄▄▄▀ ▀▄███▀\n ▀▄▄█▄▄█▀ ▀▄ \n █▄▀▄▀▄ █▀▄▀ \n █▄█▀▀▀▀█▄▄█ \n █▄█▄▄▀▀▀█▄█▄█ "]]], + ["tinkermon", [["angry", " ▄▄▄ ▄▄▄ \n █▄▄██▄▄█ ▄█\n █▀ ▄ ▄▄ ▀▄▀ █\n █ ▄▀ ▀ ▀▄ █ █\n ▀▄██▄ ▄█ █ ▄▀ \n ▄▀▄▄▄▄▄█ ▀▄ \n █▄█▄ ▄█ █▄ █ \n █▄▄█▀██▀██▄█▀▀ "], ["attack", " ▄▀█▄▀▀█ \n ▄▀▀▀▀▀▀█▀ ▄▄\n ▀▄█▀▀▀▄ ██ █\n █ ▄█ █ █ ▄▀\n ▀▄▄▄▄█▄██▀▄ \n▄█▄▄█ █▄▀█▀ █▄ █\n █▀▄▄█▄▄█ ▀▀\n █▄▄█▀▀█▄▄█ "], ["eat_1", " █▀▀▄▄▀▀█ \n ▄█▀▀▀▀▀▀▀▄ ▄▀█\n ▄▀ ▄▀▄▀▀▄ █ █\n █ █ █ █ ▀▄▀ ▄▀\n ▀▀▄ ██ ▄▀▄▀ \n ▄▀▄▀▀▀▀█▀▄ ▀▄ \n ▀▄▀█▄▄█▀▄▀▀▄█ \n █▄▄█▀▀█▄▄█ "], ["eat_2", " ▄▄▄ ▄▄▄ \n █▄▄██▄▄█ ▄█\n █▀ ▄ ▄▄ ▀▄▀ █\n █ ▄▀▄▀ █▄ █ █\n ▀▄█▀ ▀ ▀ ▀█ ▄▀ \n ▄▀▄▄▄▄▄█ ▀▄ \n █▄█▄ ▄█ █▄ █ \n █▄▄█▀██▀██▄█▀▀ "], ["happy", " █▀▀▄▄▀▀█ \n ▄█▀▀▀▀▀▀▀▄ ▄▀█\n ▄▀ ▄▀▄▀▀▄ █ █\n █ █▄▀▄ ▄▀██▀ ▄▀\n ▄▀█▄ ▄▄▄ ▄▀▄▀ \n ▀▄ █▀▀▀▀█ ▄▀▀▄ \n █▀█▄▄█▀█ ▀▄█ \n █▄▄█▀▀█▄▄█ "], ["injured_1", " \n █▀▀▄▄▀▀█ \n ▄█▀▀▀▀▀▀▀▄ ▄▀█\n ▄▀ ▄▀▄▀▀▄ █ █\n █ █▄█ █▄▀▄▀ ▄▀\n ▀█▄ ▄▀▄▀ \n ▄▀▀▄▀▀▀▀█▀▀▄▀▄ \n █▄▄██████▄▄█▄█ "], ["injured_2", " \n ▄▄▄ ▄▄▄ \n █▄▄██▄▄█ ▄▄\n █▀ ▀▄▀ █\n █ ▄▀▀▄▀▀▀▄ █ █\n ▀▄█▄█ █▄ █ ▄▀ \n ▄▀▀▄ ▄▀▀█ █ \n █▄▄██████▄▄█▄█ "], ["sleep_1", " \n █▀▀▄▄▀▀█ \n ▄█▀▀▀▀▀▀▀▄ ▄▀█\n ▄▀ ▄▀▄▀▀▄ █ █\n █ █▄▄ ▄▄▀▄▀ ▄▀\n ▀█▄ ▄▀▄▀ \n ▄▀▀▄▀▀▀▀█▀▀▄▀▄ \n █▄▄██████▄▄█▄█ "], ["sleep_2", " ▄▄▄ ▄▄▄ \n █▄▄██▄▄█ ▄▄\n █▀ ▄ ▄▄ ▀▄▀ █\n █ ▄▀ ▀ ▀▄ █ █\n ▀▄█▀▀ ▀▀ █ ▄▀ \n ▄▀▄▄▄▄▄█ ▀▄ \n ▄▀▀█▄ ▄█▀▀▄ █ \n █▄▄██████▄▄█▀▀ "], ["walk_1", " █▀▀▄▄▀▀█ \n ▄█▀▀▀▀▀▀▀▄ ▄▀█\n ▄▀ ▄▀▄▀▀▄ █ █\n █ █ █ █ ▀▄▀ ▄▀\n ▀▀▄ ▄▀▄▀ \n ▄▀▄▀▀▀▀█▀▄ ▀▄ \n ▀▄▀█▄▄█▀▄▀▀▄█ \n █▄▄█▀▀█▄▄█ "], ["walk_2", " ▄▄▄ ▄▄▄ \n █▄▄██▄▄█ ▄█\n █▀ ▄ ▄▄ ▀▄▀ █\n █ ▄▀▄▀ ▄▀▄ █ █\n ▀▄█ ▀ ▀ █ ▄▀ \n ▄▀▄▄▄▄▄█ ▀▄ \n █▄█▄ ▄█ █▄ █ \n █▄▄█▀██▀██▄█▀▀ "]]], + ["titamon", [["angry", " ▄▀█ ▄▀█ █▀▄▄▀█\n █ █▄█▄█▄▄▄█ █▄█\n █▄▄▀ ▄▄ ▀▄▄█▄█\n █▀█▄▄▄▄ ▄██▄█▄▀\n ███▄▄▄▀██████ \n ██ █▄ ▄█▀ ▀█ \n ▀██▄▄█▄██▄▄▀▄ \n █▄█▄█▄██▄█▄█▄█"], ["attack", " ▄▀█ ▄▀█ █▀▄▄▀█\n █ █▄█▄█▄▄▄█ █▄█\n █▄▄▀ ▄▄▄▀▄▄█▄█\n █▀█▄▄█▄▀▄██▄█▄▀\n█ ▀████▄███████ \n█ ▀▀█▀▄ ▄▄▀▀█ \n ▀▄▄▄▄▄▀▄▀▄█▄▀▄ \n █▄█▄█████▄█▄█"], ["eat_1", " ▄▀█ ▄▀█ █▀▄▄▀█\n █ █▄█▄█▄▄▄█ █▄█\n █▄▄▀ ▄▄▄▀▄▄█▄█\n █▄█▄▄█▄▀▄██▄█▄▀\n ████▄▄▄▀█████ \n ██ █▄ ▄█▀ ▀█ \n ▀██▄▄█▄██▄▄▀▄ \n █▄█▄█▄██▄█▄█▄█"], ["eat_2", " ▄▄ ▄▄ ▄▄ ▄▄\n ▄▀▄▀▄▀▄▀ ▀▄▀█ █\n █ ▀█▀▀▀▀▀█▀ █▀█\n ███ ▄▀▄ ▄█▀█▀█\n ▀▄██▀ ▄██████ \n ▄█▀▀█▀▀ ██▀▀▀█ \n ▀█▄▄█▀▄ ██▄▄██ \n █▄█▄█▄█▀█▄█▄█▄█"], ["happy", " ▄▀█ ▄▀█ █▀▄▄▀█\n █ █▄█▄█▄▄▄█ █▄█\n █▄▄▀ ▄ ▀▄▄█▄█\n █▀█▄▄▀ ▀▄██▄█▄▀\n ▄█▀▀██▄▀███▀██ \n ▀█▄▄█▄ ▄█ ▄█ \n ▄▄█▄▄█▄████▀▄ \n █▄█▄█▄█ █▄█▄█▄█"], ["injured_1", " \n ▄▀█ ▄▀█ █▀▄▄▀█\n █ █▄█▄█▄▄▄█ █▄█\n █▄▄▀ ▄▄▄▀▄▄█▄█\n █▀█▄▄██▀▄██▄█▄▀\n ▄█▀▀██▄▀██▀▀██ \n ▀█▄▄█▄▄ ▀█▄▄▄█ \n █▄█▄█▄█▄█▄█▄█ "], ["injured_2", " \n ▄▄ ▄▄ ▄▄ ▄▄\n ▄▀▄▀▄▀▄▀ ▀▄▀█ █\n █ ▀█▀▀▀▀▀█▀ █▀█\n ███ ▀▄ ▄█▀█▀█\n ▀▄████▀▄██████ \n ██ █▀▀ ██ ▀█ \n ██████▄██████ "], ["sleep_1", " ▄▄ ▄▄ ▄▄ ▄▄\n ▄▀▄▀▄▀▄▀ ▀▄▀█ █\n █ ▀█▀▀▀▀▀█▀ █▀█\n ███ ▀▀▀ ▄█▀█▀█\n ▀▄████▀▄██████ \n ██▀▀██▀ ▄█▀ ▀█ \n ▀██▄▄█▄██▄▄▀▄ \n █▄█▄█▄██▄█▄█▄█"], ["sleep_2", " ▄▀█ ▄▀█ █▀▄▄▀█\n █ █▄█▄█▄▄▄█ █▄█\n █▄▄▀ ▄▄▄ ▀▄▄█▄█\n █▀█▄▄▄▄ ▄██▄█▄▀\n █████▄▀██████ \n ██ █▄ ▄█▀ ▀█ \n ▀██▄▄█▄██▄▄▀▄ \n █▄█▄█▄██▄█▄█▄█"], ["walk_1", " ▄▀█ ▄▀█ █▀▄▄▀█\n █ █▄█▄█▄▄▄█ █▄█\n █▄▄▀ ▄▄▄▀▄▄█▄█\n █▀█▄▄█▄▀▄██▄█▄▀\n █████▄▀██████ \n ██ █▄ ▄█▀ ▀█ \n ▀██▄▄█▄██▄▄▀▄ \n █▄█▄█▄██▄█▄█▄█"], ["walk_2", " ▄▄ ▄▄ ▄▄ ▄▄\n ▄▀▄▀▄▀▄▀ ▀▄▀█ █\n █ ▀█▀▀▀▀▀█▀ █▀█\n ███ ▄▀█▀▄█▀█▀█\n ▀▄████▀▄██████ \n ▄█▀▀█▀▀ ██▀▀▀█ \n ▀█▄▄█▀▄ ██▄▄██ \n █▄█▄█▄█▀█▄█▄█▄█"]]], + ["tobiumon", [["angry", " \n ▄▄▀▀█ \n ▄▄▄▄▀▀ ▄▀ \n ▄▀▀▄ ▀ ▄▄▀▄ ▄█\n█ ▀▀ ▀▀▄▄▄ ▀▄▀\n▀▀██▄▄▀ ▄▀▀▀▀▄█\n ▀▄▄▀ ▀\n "], ["attack", " ▄▄▀▀█ \n ▄▄▄▀▀▀ ▄▀ \n ▄▀▀ ▄ ▄▄▀▄ ▄█\n█▄▄▄▀▀ ▄▄▄ ▀▄▀\n ████ ▄ ▀█▀▀▀▄█\n ▀▄▄▄▀▀▄ █ ▀\n ▀▀▀ \n "], ["eat_1", " \n ▄▄▀▀█ \n ▄▄▄▀▀▀ ▄▀ \n ▄▀▀ ▄▀ ▄▄▀▄ ▄█\n█▄▄▄▀▀ ▀▄▄▄ ▀▄▀\n ▀█▀ ▄▀ ▄▀▀▀▀▄█\n ▀▀▀▀▄▄▀ ▀\n "], ["eat_2", " \n ▄▄▄ \n ▄▄▀▀ ▄▀ \n ▄▄▀▀█▀ ▄▀ ▄\n▄▀ ▄▀▄ ▄ ▀▀ ▀▄▀█\n█▄▄▄ ▄ ▀▀█▄▄▄▀▄\n ▀▀▀▀▀▄ █ ▀█\n ▀▀ "], ["happy", " \n ▄▄▀▀█ \n ▄▄▄▀▀▀ ▄▀ \n ▄▀▀ ▄ ▄▄▀▄ ▄█\n█▄▄▄▀ ▀ ▄▄▄ ▀▄▀\n ▀█▀ ▄▀ ▄▀▀▀▀▄█\n ▀▀▀▀▄▄▀ ▀\n "], ["injured_1", " \n \n ▄▄▀▀█ \n ▄▄▄▄▀▀ ▄▀ \n ▄▀▀▄ ▀ ▄▄▀▄ ▄█\n█ ▀▀ ▄▄▄ ▀▄▀\n▀▀██▄▄█ ▀█▀▀▀▄█\n ▀▀▀▀ ▀"], ["injured_2", " \n \n ▄▄▄ \n ▄▄▀▀ ▄▀ \n ▄▄▀▀█▀ ▄▀ ▄\n▄▀ █▄ ▀▀ ▀▄▀█\n█▄▄▄ ▄ ▀▀▀▄▄▄▀▄\n ▀▀▀▀▀▀▀▀▀▀ ▀█"], ["sleep_1", " \n ▄▄▀▀█ \n ▄▄▄▄▀▀ ▄▀ \n ▄▀▀ ▀ ▄▄▀▄ ▄█\n█ ▀▀ ▀▀▄▄▄ ▀▄▀\n▀▀██▄▄█ ▄▀▀▀▀▄█\n ▀▄█ ▀\n "], ["sleep_2", " \n ▄▄▄ \n ▄▄▀▀ ▄▀ \n ▄▄▀▀█▀ ▄▀ ▄\n▄▀ ▄▄ ▄▄ ▀▀ ▀▄▀█\n█▄▄▄ ▄ ▀█▄▄▄▄▀▄\n ▀▀▀▀▀▄▄▄█ ▀█\n "], ["walk_1", " \n ▄▄▀▀█ \n ▄▄▄▄▀▀ ▄▀ \n ▄▀▀▄ ▀ ▄▄▀▄ ▄█\n█ ▀▀ ▀▀▄▄▄ ▀▄▀\n▀▀██▄▄▀ ▄▀▀▀▀▄█\n ▀▄▄▀ ▀\n "], ["walk_2", " \n ▄▄▄ \n ▄▄▀▀ ▄▀ \n ▄▄▀▀█▀ ▄▀ ▄\n▄▀ ▄█ ▄ ▀▀ ▀▄▀█\n█▄▄▄ ▄ ▀▀█▄▄▄▀▄\n ▀▀▀▀▀▄ █ ▀█\n ▀▀ "]]], + ["tobucatmon", [["angry", " ▄ \n█▀▄▀ █▄▀▀▀█ \n▀▄▀▄▀ ▄█ ▄▄▄▄▄\n █ ▄ ▀▄▀ ▄▄▀\n█ ▄ ▀▀ ▀▄▄█ ▄▄\n▀▄▀▀▀▀ ▄▄▀ █ █\n ▄█▀▀▀█▀ ▄▄█ █ \n█▄▄█▀█▄▄█ █▄█ "], ["attack", "▄▄ ▄▀▄ ▄▄▄▄ \n█ █ ▄▀▀ ▄▀ ▄▄▄ \n █ ▀ ▄▄▀█▄▀ ▄▀ \n█ ▄ ▀▀ █ ▄▀▄▄\n▀██████▄ ▄▀▀▀█ █\n █▀▀▀▀▀▀▄▀ █▄\n ▀█▀█▀▀█ █▄ █\n █▄▄█▀█▄▄█ ▀▀▄█"], ["eat_1", "▄▄ ▄▀▄ ▄▄▄▄ \n█ █ ▄▀▀ ▄▀ \n █ ▀ ▄ █▀▄▀▀▀▀█\n█ ▄ ▀ ▀ █ ▄▀▀ \n▀█████▄ ▄▀▀▀▄▀█\n █▀▀▀▀▀▄▀ ▀▄▀\n █▀▀██▄ █▀▄▄ █ \n █▄▄█ █▄▄█ █▄█ "], ["eat_2", " ▄ \n█▀▄▀ █▄▀▀▀█ \n▀▄▀▄▀ ▄█ ▄▄▄▄▄\n █ ▄ ▀▄▀ ▄▄▀\n█ ▄ ▀ ▀ ▀▄▄█ ▄▄\n▀▄▀ ▀▀ ▄▄▀ █ █\n █▀▀▀▀█ ▄▄█ █ \n █▄▄▀▀█▄▄█ ▀▀▄█ "], ["happy", "▄▄ ▄▀▄ ▄▄▄▄ \n█ █ ▄▀▀ ▄▀ ▄▄▄\n █ ▀ █▀▄▀▀ ▄▀\n▄▀ ▄▀▄ █ ▄▀ \n▀▄▄█▄▄▄ ▄▀▀▀▄▀█\n █▀▀▀▀▀▄▀ ▀▄▀\n ▄█▀▀▀█▄ █▀▄▄ █ \n█▄▄▄▀▀█▄▄█ █▄█ "], ["injured_1", " \n \n ▄▄▄▀▀▀▄▄▄▄▄ \n▀▄▄▀▄▀▀ ▄▀ \n █ ▄ ▀█▄▀▀▄ \n █ ▄ ▀▀ ▀▄ █ \n▄▀▄▀██ ▄▄▀▀▄▀▄▄▀\n█▄▄█▄▄█▄▄▄▄█▄▄▄█"], ["injured_2", " \n \n ▄▄▄ \n▄▀▀█ ▄▄▀▀▀▀▀▄ \n ▀█ ▀ ▄▄▀▄▄ \n ▄▀ ▀▄▄ ▀█ █ \n▄▀▄▄█▄ ▄▄▀▀▄▀▄▄▀\n█▄▄█▄▄█▄▄▄▄█▄▄▄█"], ["sleep_1", " \n \n█▀▄▀▀▀▄▀▀▀█ \n▀▄▀▄▀▀ ▄█ ▄▄ \n █ ▀▄█ ▀▄ \n█ ▄ ▀▀▀ ▀▄▀▄▄▄▀\n▀▄█▀▀▀▄▄▄▀ ▄▄ █\n█▄▄█▀█▄▄▄▄█▄▄▄▄▀"], ["sleep_2", " \n▄▄ ▄▄▄ ▄▄▄▄ \n█ █ ▄▄▀ ▄▀ \n █ ▀ █▀▄▀▀▄ \n▄▀ ▄▄▄ █▀▄ ▀▄\n█ ▄█▄▄ ▄▀ ▀▀▀▄\n▄█▄▄▄▄▄▄▀ ▄▄ █\n█▄▄█▀█▄▄▄▄█▄▄▄▄▀"], ["walk_1", "▄▄ ▄▀▄ ▄▄▄▄ \n█ █ ▄▀▀ ▄▀ \n █ ▀ ▄ █▀▄▀▀▀▀█\n▄▀ ▄█ █ ▄▀▀ \n█ ▄▀▄▄ ▄▀▀▀▄▀█\n ▀▄▄▄▄▄▀▀ ▀▄▀\n █ ▄▄▄▄ █▀▄▄ █ \n █▄▄█ █▄▄█ █▄█ "], ["walk_2", " ▄ \n█▀▄▀ █▄▀▀▀█ \n▀▄▀▄▀ ▄█ ▄▄▄▄▄\n █ ▀▄ ▀▄▀ ▄▄▀\n█ ▄ ▀▀ ▀▄▄█ ▄▄\n▀▄▀ ▀▀ ▄▄▀ █ █\n ▄█▀▀▀▀█ ▄▄█ ▀▄\n█▄▄█▀▀█▄▄█ ▀█▄█"]]], + ["togemon", [["angry", " ▄ ▄ \n ▀▄▀█▀█▀▄▀ \n █ ▀ ▀ █ \n █ ▄ ▄ █ \n ▄▀█ ▀ ▀ ▀▀▄▄ \n█ ▀█ ▄ ▄ ▄ ▄▀ █\n▀▄▄▀▄█ █ █▄▀▀▄▄▀\n█▄▄██▀▀▀▀█▄▄▄▄█ "], ["attack", " ▄ ▄█▄█▄ ▄ \n▄▀▀▄▀ ▀ ▀ ▀▄▀▀▀▄\n█▄▀█ █ █ █▀▄ █\n █ ▄▄▄▄ ▀▀▀▄▀\n ▀▄ ██████ ▄▄▀ \n █ ▀▀▀▀▀▀ █ \n █▄ ▄ ▄ ▄ ▀▄ \n █▄▄██▀▀█▄▄▄▄█ "], ["eat_1", " ▄▄▄ ▄█▄█▄ ▄▄▄▄ \n█ ▄▄▀ ▀ ▀ ▀▄▄ █\n▀█▄█ █ █ █▄█▄▀\n ▀▄█ ▄▄▄▄ ▄▀ \n █ ████ █ \n █ ████ █ \n ▄▄█ ▄ ▄ ▄ ▀▄ \n█▄▄▄██▀▀▀█▄▄▄▄█ "], ["eat_2", " ▄ ▄ \n ▀▄▀█▀█▀▄▀ \n ▄▄█ ▄ ▄ █▄▄▄ \n█ ▄█ ▀ ▀ █▄ █\n █▄█ ██ ▀▄█▄▀\n ▀▄█ ▄ ▄ ▄ ▄▄▀ \n ▄▄▀▄█ █ █▄▀▀▄ \n█▄▄██▀▀▀▀█▄▄▄▄█ "], ["happy", " ▄ ▄█▄█▄ ▄▄▄▄ \n ▄▀ ▀ ▀ █ █\n █ █ █ █▀▄ █\n ▄▄█ ▄▄▄▄ ▀▀▄▀ \n█ █ ████ █▀ \n▀▄▄█ ████ █ \n ▀▄█ ▄ ▄ ▄ ▀▄ \n █▄▄██▀▀█▄▄▄▄█ "], ["injured_1", " ▄ ▄ \n ▀▄█████▄▀ \n █████████ \n █▀ █ ▀███ \n ▄████▀███ ██▄ \n ██ ██████ ██▀ \n ▀▄█▀█▀█▀█▀ \n ██▄█▄█▄██ "], ["injured_2", " ▄ ▄ \n ▀▄█████▄▀ \n █████████ \n █████████ \n ▄██▄▄█▄▄█▀██▄ \n ██ ██▄███ ███ \n ▀▄█▀█▀█▀█▄▀ \n ███▄█▄█▄███ "], ["sleep_1", " ▄ ▄ \n ▀▄▀█▀█▀▄▀ \n █ █▀▀▄\n █▄▄ ▄▄ ▀ █\n ▄▀▀▀ ▄▄▄▀\n █ █ ▄ ▄ ▄ █ \n ▀▀█ █ █ █ █ \n ▀▄█▄█▄█▄▀ "], ["sleep_2", " ▄ ▄█▄█▄ ▄ \n ▄▀ ▀ ▀ ▀▄▄▄ \n █ █ █\n ▄▄█▀▀ ▀▀ █\n █ ▄ ▄▀▀ \n ▀▄▄█ ▄ ▄ ▄ █ \n █ █ █ █ █ \n ▀▄█▄█▄█▄▀ "], ["walk_1", " ▄ ▄█▄█▄ ▄ \n ▄▄▄▀ ▀ ▀ ▀▄▄▄▄ \n█ ▄█ █ █ █▄ █\n▀█▄█ ▄▄ █▄█▄▀\n ▀▄█ ▀▀ ▄▄▀ \n █ █ █ █ █ \n ▄█ █▄█▄█ ▀▄ \n █▄▄██ █▄▄▄▄█ "], ["walk_2", " ▄ ▄ \n ▀▄▀█▀█▀▄▀ \n ▄▄█ ▄ ▄ █▄▄▄ \n█ ▄█ ▀ ▀ █▄ █\n █▄█ ▄▄ ▀▄█▄▀\n ▀▄█ ▄ ▄ ▄ ▄▄▀ \n ▄▄▀▄█ █ █▄▀▀▄ \n█▄▄██▀▀▀▀█▄▄▄▄█ "]]], + ["togemon_x", [["angry", " \n ▄▀▀▀▄ \n █▀▀▀▀ ▀▀▀▀█ \n ▀██▀▀▀▀█▀█▀ \n▄▀▀█▀▀▄ ▀▀▄█▀▀▄ \n█ ▄█▄▄█▄█▀ █▄ █ \n ▀▄█ █ █ ▀▄█▄▀ \n █▄▄▄▄█▀▀▄▄▄▄█ "], ["attack", " ▄▄▀▀▀█ \n █▀▀▀▀▀ ▀▀▀█ \n ▀█▀▀█▀▀▀▀█▀ \n █ ▀▀ █ \n▄▀▀▀▀█▀▀▀█▀██ \n█ ▀▄█▄▄▀▄▀ █ \n ▀▀▀▄▄█▀▄█▄ ▀▄ \n █▄▄▄█▀▄▄▄▄▄█ "], ["eat_1", " ▄▀▀▀▄ \n █▀▀▀▀ ▀▀▀▀█ \n ▀██▀▀▀█▀▀█▀ \n▄▀▀█ ▀ ▀ ▀ █▀▀▄ \n█ ▄█ ████▄▀█▄ █ \n ▀▄█▀▀▀▀█ █▄▀ \n ▄█ █ █ ▀▄█▄ \n █▄▄▄▄█▀▀▄▄▄▄█ "], ["eat_2", " ▄▄▄ \n ▄▄▄▄▄▀ ▄█▄▄▄ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ \n █▀▄ ▄▀▄ █ \n▄▀▀█ ▄█▀▀▄ \n█ ▄█▄▄█▄█▀ █▄ █ \n ▀▄█ █ █ ▀▄█▄▀ \n █▄▄▄▄█▀▀▄▄▄▄█ "], ["happy", " ▄▀▀▀▄ \n █▀▀▀▀ ▀▀▀▀█ \n ▀██▀▀▀█▀▀█▀ \n▄▀▀█ ▀ ▀ ▀ █▀▀▄ \n█ ▄█ ██ ▄▄▀█▄ █ \n ▀▄█▀▀▀▀█ █▄▀ \n ▄█ █ █ ▀▄█▄ \n █▄▄▄▄█▀▀▄▄▄▄█ "], ["injured_1", " ▄▄▄ \n ▄▄▄▄▄▀ ▄█▄▄▄ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ \n █▀ █ ▀███ \n █████████▀▄ \n ██ ██▄████ ██ \n ▀█▄█▀█▀█▀█▄█▀ \n ▀█▄█▄█▄█▀ "], ["injured_2", " ▄▄▄ \n ▄▄▄▄▄▀ ▄█▄▄▄ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ \n █████████ \n ██▄▄█▄▄██▀▄ \n ██ ██▄████ ██ \n ▀█▄█▀█▀█▀█▄█▀ \n ▀█▄█▄█▄█▀ "], ["sleep_1", " ▄▄▄ \n ▄▄▄▄▄▀ ▄█▄▄▄ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ \n █▄▄ ▄▄ █▀▀▄ \n▄▀▀▀ ▄▀ █ \n█ █▄▄▄▄▀▀█▄▄▄▀ \n▀▄▄█ ▄ ▀▄█ █ \n ▀▄█▄█▄█▄▀ "], ["sleep_2", " ▄▀▀▀▄ \n █▀▀▀▀ ▀▀▀▀█ \n ▀█▀▀▀▀▀▀▀██▄ \n ▄▄█▀▀ ▀▀ █ █ \n█ ▄ ▄▄█ █ \n█ █▀▀▀█ ▄▀█▀▀ \n ▀▀█ █ ▄▀█ █ \n ▀▄█▄█▄█▄▀ "], ["walk_1", " ▄▀▀▀▄ \n █▀▀▀▀ ▀▀▀▀█ \n ▀█▀█▀▀█▀▀█▀ \n▄▀▀█ ▀▄ ▀ █▀▀▄ \n█ ▄█ ▀ ▄▄▀█▄ █ \n ▀▄█▀▀▀▀▄ █▄▀ \n ▄█ █ █ ▀▄█ \n █▄▄▄▄█▀▀▄▄▄█ "], ["walk_2", " ▄▄▄ \n ▄▄▄▄▄▀ ▄█▄▄▄ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ \n █ █ █ █ \n▄▀▀█ █ ▄█▀▀▄ \n█ ▄█▄▄▄▄█▀ █▄ █ \n ▀▄█ █ █ ▀▄█▄▀ \n █▄▄▄▄█▀▀▄▄▄▄█ "]]], + ["tokomon", [["angry", " ▄ \n ▄▀█ ▄▄▀▀▄ \n ▄▀▀▀▀▀▄ ▄▀▀ \n █ ▄▄▄▄▀▀ █ \n ▀█▄██▄█▄ █ \n █▀█▀█▀█ █ \n █▀▀▀▀▀▀ ▄▀ \n █▄██▀▀▀█▄▄█ "], ["attack", " \n \n ▄ \n ▄▀█ ▄▀▀█▀ \n ▄▀▀▀▀ ▀▄ \n █ ▄▄▀ █ \n █▄▄▄ █ \n █▄█▄▄▄▄▄▄█▄▄█ "], ["eat_1", " \n \n ▄ \n ▄▀█ ▄▀▀█▀ \n ▄▀▀▀▀ ▀▄ \n █ ▄▄▀ █ \n █▄▄▄ █ \n █▄█▄▄▄▄▄▄█▄▄█ "], ["eat_2", " ▄ \n ▄▀█ ▄▄▀▀▄ \n ▄▀▀▀▀▀▄ ▄▀▀ \n █ ▄▄▄▄▀▀ █ \n ▀█▄██▄█▄ █ \n █▀█▀█▀█ █ \n █▀▀▀▀▀▀ ▄▀ \n █▄██▀▀▀█▄▄█ "], ["happy", " \n █▀▀▄ ▄▀▀█ \n ▀▄ ▀▀▀▀▀▀ ▄▀ \n █ ▀▀ ▀▀ █ \n █ █▄▄█▄▄▄▄█ █ \n █ ███▀▀▀▀██ █ \n ▀▄▄▀▀▀▀▀▀▀ ▄▄▀ \n █▄█▀▀▀▀▀▀▄▄█ "], ["injured_1", " \n \n ▄ \n █▀▀▄ █▀▄ \n ▀▄ ▀▀▀▀▀ █ \n █ █ \n █▀▀▄▀▄ ▀▀ █ \n █▄▀▄▄▄▄▄▄▄▀▄█ "], ["injured_2", " \n \n ▄ \n █▀▀▄ █▀▄ \n ▀▄ ▀▀▀▀▀ █ \n █ █ \n █▀▀▄▀▄ ▀▀ █ \n █▄▀▄▄▄▄▄▄▄▀▄█ "], ["refuse", " \n \n ▄ \n ▄▀█ ▄▀▀█▀ \n ▄▀▀▀▀ ▀▄ \n █ ▄▄▀ █ \n █▄▄▄ █ \n █▄█▄▄▄▄▄▄█▄▄█ "], ["sleep_1", " \n \n ▄ \n █▀▀▄ █▀▄ \n ▀▄ ▀▀▀▀▀ █ \n █ █ \n █▀▀▄▀▄ ▀▀ █ \n █▄▀▄▄▄▄▄▄▄▀▄█ "], ["sleep_2", " \n \n ▄█ ▄▄▄▄ \n █ ▀▄▄▄▄█ ▄▀ \n ▄▀ ▀▄ \n █▄▄ ▄ ▄▄ █ \n ▀▄ ▀ ▀ ▄▀ \n █▄█▀▀▀▀▀▄▄█ "], ["walk_1", " \n \n ▄█ ▄▄▄▄ \n █ ▀▄▄▄▄█ ▄▀ \n ▄▀ ▀▄ \n █ █ ▄ █ █ \n ▀▄ ▀ ▀ ▄▀ \n █▄█▀▀▀▀▀▄▄█ "], ["walk_2", " \n \n ▄ \n █▀▀▄ █▀▄ \n ▀▄ ▀▀▀▀▀ █ \n █ ▄ ▄ █ \n █ ▀▄▀▄ ▀ █ \n █▄▀▄▄▄▄▄▄▄▀▄█ "]]], + ["tokomon_x", [["angry", " \n ▄▀▀▄▀▀▀▀▄ \n █ ▄▀ ▄▀▀▀▀ \n ▄▀ ▄ ▀█▀▀▀▄ \n █▄▀▀ ▀▀▄ █ \n █▀▀▄ ▀▀ █ \n █ ▀ ▀▀▀ █ \n ▀▄█▀▀▄▄▀▀▀█▄▀ "], ["attack", " ▄▀▀▄▀▀▀▀▄ \n ▄▀▄ ▀▄▄██▀▀ \n ▄▀▀ ▀▀ ▄ ▀▄ \n ▀▄▄█▄▄▄▀▀ █ \n ██████ █ \n ██████ █ \n ▄▀▀▀▀▀▀ █ \n █▄▀▀▀▀▄▄█▀▀▄█ "], ["eat_1", " ▄▀▀▄▀▀▀▀▄ \n ▄▀ ▀ ▄▀▀▀▀ \n █▄▀▄▄▀ ▀▀▀▄ \n █ ▄ ▀▀ █ \n ▀█████▄ █ \n ███▀▀█ █ \n ▄▀▀▀▀▀▀ ▄▀ \n █▄▀▀▀▀▄▄▀▀▄█ "], ["eat_2", " \n ▄▀▀▄▀▀▀▀▄ \n █ ▄▀ ▄▀▀▀▀ \n ▄▀ ▄ ▀█▀▀▀▄ \n █▄▀▀ ▀▀▄ █ \n █ ▀ ▄ ▀ ▀ █ \n █ ▀ ▀▀ █ \n ▀▄█▀▀▄▄▀▀▀█▄▀ "], ["happy", " ▄▀▄▀▀▀▀▀▄ \n ▄▀ ▄▀▀▀▀▄▀ \n █▄▀▄▄▀ ▄ ▀▄ \n █ ▄ ▀ ▀ ▀▄ \n ███████ █ \n ██████ █ \n ▄▀▀▀▀▀ ▄▀ \n █▄▀▀▀▀▄▄▀▀▄█ "], ["injured_1", " \n ▄▄ ▄▄▄▄ \n █ ▄▀ ▄▄ ▀▄ \n ▄▀ ▄ ▀█ ▀▄▄▀ \n █ ▀▀ ▀▀ █ \n █▄▀ ▀▄▄ █ \n █ ▄▄ ▄▄ ▄█ \n█▄█▄██▄█▄▄█▄█▄▄█"], ["injured_2", " \n \n ▄▀▀▄▀▀▀▀▄ \n █ ▀ ▄█▀▄ ▀▄ \n ▄▀▄▄▀▄▄▀ ▀▀▄ \n █ ▀▄ \n █▀▀ ▀▀█▄ ▄█ \n█▄█▄██▄█▄▄█▄█▄▄█"], ["sleep_1", " \n ▄▄ ▄▄▄▄▄ \n ▄▀ ▄▀ ▄▄▄▀ \n █ ▀ ▄█▄▄▄ \n ▄▀▄▄▀▄▄▀ ▀▄ \n █▄▄ ▄▄▄ ▀▄ \n █▄ ▄▄▄ ▄█ \n█▄▄█▄▄█▄▄▄█▄█▄▄█"], ["sleep_2", " \n ▄▄ ▄▄▄ \n ▄▀▄▀▀ ▄ ▀▄ \n ▄▀ ▄ ▀█▀▀▀▄ \n █ ▀▀ ▀▀ █ \n █▀▀ ▀▀▀ █ \n █▄ ▄▄▄ ▄█ \n█▄▄█▄▄█▄▄▄█▄█▄▄█"], ["walk_1", " ▄▄ ▄▄▄▄ \n ▄▀ ▄▀ ▄▄▄█ \n █ ▀ ▄█▄▄▄ \n ▄▀▄▄▀▄▄▀ ▀▄ \n █ ▄ ▄ ▀▄ \n █ ▀ ▄ ▀ █ \n █ ▀▀ ▀▀ ▄▀ \n █▄▀▀▀▀▄▄▀▀▄█ "], ["walk_2", " \n ▄▀▀▄▀▀▀▀▄ \n █ ▄▀ ▄▀▀▀▀ \n ▄▀ ▄ ▀█▀▀▀▄ \n █ ▀▀ ▀▀ █ \n █ █ ▄ █ █ \n █ ▀ ▀ █ \n ▀▄█▀▀▄▄▀▀▀█▄▀ "]]], + ["toropiamon", [["angry", "▄▀█ ▄▄▀▀█ \n█ ▄▄▀ ▄ ▄█ ▄ ▄▄\n█▀ ▀▀ █ ███▀\n▀▄▄██▄█ █▀▀██▀▀▀\n ▄▀█▀ ██▀ █ ▀▄\n ▀▄█▀▀ ▀▄▄▄▀ ▀█\n ▄██▄ ██▄▄█▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["attack", " ▄▄ ▄▄▄ \n█ ▀ ▄▀▀ █ \n█▄▀▀ ▄█ ▀▀▄ █▄██\n█ ▄▄ ▄ ▄▄█▄███▄\n ▀▀▄▄█▄██ ▀██ ▄ \n ▄▀██▀▄▀▀ █ ▄█\n ▄█▄█ ▀▄▄▄██▄▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["eat_1", " ▄▄ ▄▄▄ \n█ ▀ ▄▀▀ █ \n█▄▀▀▄▀▄ ▀▀▄ █▄██\n█ ▄▄ ▄ ▄▄█▄███▄\n ▀▀▄▄█▄██ ▀██ ▄ \n ▄▀██▀▄▀▀ █ ▄█\n ▄█▄█ ▀▄▄▄██▄▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["eat_2", "▄▀█ ▄▄▀▀█ \n█ ▄▄▀ ▄█ ▄ ▄▄\n█▀ ▀▀ █ ███▀\n▀▄▄██▄▀▄█▀███▀▀▀\n ▄▀▀▀▄▀█▄ ▀█ ▀▄\n █▀█▀ █ ▄█ ▀█\n ▄██▄ ▀██▄▄█▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["happy", "▄▀█ ▄▄▀▀█ \n█ ▄▄▀▄ █▄▄▄ ▄▄\n█▀ ▀ ▀ █ ███▀\n▀▄▄██▄▀▄█▀ ▄█▀▀▀\n ▄▀▀▀▄▀▄▄██▀ ▀▄\n █▀█▀ ▀▄ ▀█\n ▄██▄ █▄▄██▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["injured_1", " \n ▄▄ ▄▄▄ \n█ ▀ ▄▀▀ █ ▄ ▄▄\n█▄▀▀ █▄ ▀▀▄ ███▀\n█ ▄▄ ▄ ▄▄███▀█▀\n ▀▀▄▄█▄▀█▄ ▀█ ▄█\n ▄█▄█▀ █ ▄█▄▄▀\n█▄█▄▄█▄▄████▄█▄█"], ["injured_2", " \n \n▄▀█ ▄▄▀▀█ \n█ ▄▄▀▄ ▄█ █▄██\n█▀ ▀▀ █████▄\n▀▄▄▀▀▄▀▄█▀▀██ ▀▄\n ▄███▀ ▄▀▀ █▄██\n█▄█▄▄█▄█▄▄▄█▄█▄█"], ["refuse", " ▄▄ ▄▄▄ \n█ ▀ ▄▀▀ █ \n█▄▀▀ ▄█ ▀▀▄ █▄██\n█ ▄▄ ▄ ▄▄█▄███▄\n ▀▀▄▄█▄██▄ ▀█ ▄ \n ▄▀██▀ █▀ █▄█\n ▄█▄█ ▀▄▄█▄▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["sleep_1", " \n ▄▄ ▄▄▄ \n█ ▀ ▄▀▀ █ \n█▄▀▀ ▄▄ ▀▀▄ █▄██\n█ ▄▄ ▄ ▄▄█▄███▄\n ▀▀▄▄█▄██ ▀██ ▄ \n▄▀█▀██▀▄█▀█▀█▀▄█\n█▄▄▄█▄▄██▄▄▄▄▄█ "], ["sleep_2", " \n \n▄▀█ ▄▄▀▀█ \n█ ▄▄▀ ▄█ ▄ ▄▄\n█▀ ▀▀ █ ███▀\n▀▄▄▀▀▄▀▄█▀███▀▀▀\n▄▀█▀██▀▀█▀█▀█▀█▄\n█▄▄▄█▄▄██▄▄▄▄▄█▀"], ["walk_1", "▄▀█ ▄▄▀▀█ \n█ ▄▄▀ ▄ ▄█ ▄ ▄▄\n█▀ ▀▀ █ ███▀\n▀▄▄▀▀▄▀▄█▀███▀▀▀\n ████▀█▄ ▀█ ▀▄\n █ █▀ █ ▄█ ▀█\n ▄██▄ ▀██▄▄█▀ \n █▄█▄▄█▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄ \n█ ▀ ▄▀▀ █ \n█▄▀▀ ▄█ ▀▀▄ █▄██\n█ ▄▄ ▄ ▄▄█▄███▄\n ▀▀▄▄█▄██ ▀██ ▄ \n ▄▀██▀▄▀▀ █ ▄█\n ▄█▄█ ▀▄▄▄██▄▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"]]], + ["tortomon", [["angry", " ▄ \n █▄ ▄▀█ \n █ ▀▄▄▀ ▄█ ▄█\n █▀▄ █▀ ▀▀▀ █\n █▄▀▀▄▄▀▀▄▄▄▄ █ \n █ ▄▄ ▄▄ █ ▀ █\n █ ▄▄▄▄▄▄ █▄ ▄▄▀\n█▄▀▄▄▄▄▄▄▀▄▄▀▄▄█"], ["attack", " █▄ ▄ \n █ ▀▄▀▀▄▄▄▀█ \n ▀▄ ▄▀▀▄ ▄█ ▄█\n █▄▀▀ ▄█ █ ▀█▀ █\n ▀▄ ▄ ▄ █ ▄▄ █ \n █████ █▄▄ ▀ █\n ▄▄▀█▀█▀ █▄ ▄▄▀\n█▄▀▄▄▄▄▄▀▄▄█▀▄▄█"], ["eat_1", " █▄ ▄█ \n █ ▀▄▄ ▄▀ █ ▄\n ▀▄ ▄▀▀▄▀█ ▄▀█\n █▄▀▀ ▄▄ █ ▀█▀ █\n █▄▄▄▄▄▄ █ ▄▄ █ \n ███▀▀█ █▄▄ ▀ █\n ▄██▄▄▄█ █▄ ▄▄▀\n█▄▀▄▄▄▄▄▀▄▄█▀▄▄█"], ["eat_2", " ▄ \n █▄ ▄▀█ \n █ ▀▄▄▀ ▄█ ▄█\n ▄▀▀ ▄▄▀ ▀▀▀ █\n ▄▀▄▄▀ ▀▄ ▄▄ █ \n █▀ ▀▀ █▄▄ ▀ █\n █▄▄▄▄▄█ █ ▄▄▀\n█▄▀▄▄▄▄▄▀▄▄█▀▄▄█"], ["happy", " █▄ ▄ \n █ ▀▀▄ ▄▄▀█ ▄\n ▄▀▀▀▄▀▀▀▄ █▄▀█\n █ ▄▀▄ ▄▀▄ █ ▀ █\n █ ▄ ▄▄▄ ▄ █▄▄ █\n █ ███████ █▄ █ \n █ ▀█▄▄▄█▀ █▄ █▄\n█▄█▄▄▄▄▄▄▄█▄▄▀▄█"], ["injured_1", " \n ▄ \n ▄ ▄▀█ \n ▄▀█▄▀ ▄█ ▄█\n ▄▀▀ ▄ ▀▀ █\n ▄▀▄▄▀▀▄ ▄▄ █ \n █▄ ▄▄▄▀▄▄▄ ▀ █\n ▀▄▄▄▄▄▄▄█▄▄▄▄▄▀"], ["injured_2", " \n \n ▄ ▄█ \n █▀▄ ▄▀▄█ ▄█ \n ▄▀ ▀ ▀▀▀ █ \n ▄▀▄▄▀▀▄ ▄▄ █ \n █▄ ▄▄▀▄▄▄ ▀ █ \n█▄▄▄▄▄▄▄█▄▄▄▄▄▄█"], ["sleep_1", " \n \n ▄ ▄█ \n █▀▄ ▄▀ █ ▄\n ▄▀ ▀▀ ▀▀▄▄▀█\n ▄▀▄▄▀▀▄ ▄▄ ▄▀\n █▄ ▄▄ ▀▄▄▄ ▀ █\n▀▄▄▄▄▄▄▄▄█▄▄▄▄▄▀"], ["sleep_2", " \n ▄ \n █▄ ▄▀█ ▄\n █ ▀▄▄▀ ▄█ ▄▀█\n █ ▄▄ ▀▀ ▄▀\n █ ▀▀ ▀▄ ▀▀▄▀▄\n █▀ ▀▀ █▀▀ █\n ▀▄██▄▄▄▄█▄▄▄▄▄▀"], ["walk_1", " ▄ \n █▄ ▄▀█ \n █ ▀▄▄▀ ▄█ ▄█\n ▄▀▀ ▄▄▀ ▀▀▀ █\n ▄▀▄▄▀ ▀▄ ▄▄ █ \n ██ █ █▄▄ ▀ █\n █▄▄▄▄▄ █ ▄▄▀\n█▄▀▄▄▄▄▄▀▄▄█▀▄▄█"], ["walk_2", " \n ▄ ▄█ \n █▀▄ ▄▀ █ ▄\n █▄ ▀▀▄ ▀█▄▄▀█\n █ ▄▀▀▄ ▄▀\n █▄▀▀ ▄ █ ▀▀▄▀▄\n █▀ ▀ ██▀ ▄▄▀\n█▄███▄▄▄█▄▄██▄▄█"]]], + ["toyagumon", [["angry", " ▄▄ ▄▄ \n ▄▄ █████████ \n ███████▀▄███ \n ████████████ \n █▄▄▄▄ ▄▄▄ ▄█ \n █ █ █ ▀ █▄ \n ▀██▄ ▀▀██▄▄█ \n ██████▀█▄▄▄▄▄█ "], ["attack", " ▄██▄▄██▄▄██▄ \n ███████▀ ▄██ \n ▀▄ ▀█▄▄███▄ \n █ █▀▀█ █ \n █▀▀▀▀▀▀ ▀▀ ▄▀ \n ▀▀█▀▀ ▀▀▄▄ \n ▄▄██▄▄▄▄▄▄▄▄▀ \n ██████ █▄▄▄▄▄█ "], ["eat_1", " ▄██▄▄██▄▄██▄ \n ██████▀▄▄▀██ \n ▀▄ ▀██████ \n ▄▄█▄▄▄▀▀▀▀▀█ \n █▄▄▄▄ ▄▄██ \n █▄█ █▄▄▀█ \n ▄▄██▄▄▄▄▄▄▄█ \n ██████ █▄▄▄▄▄█ "], ["eat_2", " ▄▄ ▄▄ \n▄▄ █████████ \n██████▀▀████ \n█████▄██▄███ \n█▄▄▄▄▄ ▄█ \n █▀█ █▀▀ ▀▄▄ \n ██▄ ▀▀█▄▄▄█ \n ██████▀█▄▄▄▄▄█ "], ["happy", " ▄██▄▄██▄▄██▄ \n ███████▀▄▄▀█ \n █ ██████▄▄ \n ▄▀ ▄▀▀▀▀█ █ \n █▀▀▀▀ ▄ ▄▄▄█ \n ▀▀█▀▀ ▀▀█ \n ▄▄██▄▄▄▄▄▄▄█ \n ██████ █▄▄▄▄▄█ "], ["injured_1", " \n ▄▄██▄██▄▄ \n ██▄██▀██████ \n ██████▄▄▄███ \n █▀▀▀▀▀▀▀▀▀▀█ \n ▀▀██▀▀ ▀▀▄ \n █▄█ ▀▄▄▄█ \n █████▄▄▄▄█▄▄▄▄█"], ["injured_2", " \n ▄▄ ▄▄ \n▄▄ █████████ \n█████▀██████ \n██████▄▄████ \n█▄▄▄▄▄ ▄ ▀▄ \n █▄█ ▀▄▄▄█ \n █████▄▄█▄▄▄▄█ "], ["sleep_1", " \n ▄▄ ▄▄ \n▄▄ █████████ \n████████████ \n██████▄▄▄███ \n█▄▄▄▄▄ ▄ ▄▀▀▀▄ \n ███▀ ▄▀ █ █ \n ███▄▄█▄▄▄█▄▄▄█ "], ["sleep_2", " \n ▄▄██▄██▄▄ \n ██▄█████████ \n ██████▀▀▀███ \n █▀▀▀▀▀▀▀▀▀▀█ \n ██▀█▀▀▄ ▄▀▀▀▄ \n ███▀ ▄▀ █ █ \n ███▄▄█▄▄▄█▄▄▄█ "], ["walk_1", " ▄▄██▄██▄▄ \n ██▄███▀▀████ \n ██████▀ ███ \n █▀▀▀▀▀▀▀▀▀▀█ \n ▀███▀▀ ▄▄ █▀ \n █▄█ █▄▄ ▀█ \n ▄▄██▄▄▄▄▄▄▄█ \n ██████ █▄▄▄▄▄█ "], ["walk_2", " ▄▄ ▄▄ \n▄▄ █████████ \n██████▄ ▀███ \n██████▄▄▄███ \n█▄▄▄▄▄ ▄█ \n █▀█ █▀▀ ▀▄▄ \n ▄██▄ ▀▀▀▄▄▄█▄ \n██████▀▀▀█▄▄▄▄▄█"]]], + ["triceramon", [["angry", " █▀▄ █▀▀▀▀▄ \n█▀▄█▄█▀ ▄▀ ▀▄ \n▀▄▀ ▄█ ▄▄ █ \n █ ▄▄▄▄ ▄ █ \n █▀▀▀▀▀▄▄▄█▄▄▀▄\n █ ▀█▀▀ █ █ ▄█\n ▄█▀█ ▀█▄▀▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["attack", " █▀▄ █▀▀▀▀▄ \n█▀▄█▄█▀ ▄▀ ▀▄ \n▀▄▀ ▄█▀ ▄▄ █ \n █ ▄ ▄ ▄ █ \n ▀█████▄▄▄▄▄▀▀▄\n▄▀▀█████ █ ▀ ▄█\n▀▄▄█▄ █▀▀▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_1", " █▀▄ █▀▀▀▀▄ \n█▀▄█▄█▀▄▄ ▄▀ ▀▄ \n▀▄▀ ▀ ▄▄ █ \n █▄█████ ▄ █ \n █▀ █▄▄▄█▄▄▀▄\n ▄▀█▀▀▀ █ █ ▄█\n █▄▀█▀ ▀█▀▀▀▄▀\n█▄▄▄▄██▀▀█▄█▄█▄█"], ["eat_2", " █▀▄ █▀▀▀▀▄ \n█▀▄█▄█▀ ▄▀ ▀▄ \n▀▄▀ █▀ ▄▄ █ \n █ ▄ █ \n █▄▄▄▄▀▀▄▄█▄▄▀▄\n █ █ █ █ ▄█\n ▄█▀█ ▀█▀▀▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["happy", " █▀▄ █▀▀▀▀▄ \n█▀▄█▄█▀ ▄▀ ▀▄ \n▀▄▀ ▄▀▄ ▄▄ █ \n █▄▄▄▄▄▄▄ ▄ █ \n▄▀▀▄▀████ ▄▀▀▄▀▄\n█ ▀▄███▀ ▀ █▄█\n ▀█▀▄▄ ▄▀▀ ▄▀\n █▄▄▄██▀▀█▄█▄█▄█"], ["injured_1", " ▄▄ ▄▄▄▄▄ \n▄▄ █ █▄▀ ▄▀▄ \n█ █▀▀▀▄ ▀ █ \n █ ▀▀▀ ▀▀ █ \n ▀▄███▄ ▀▄ █▄\n ▄▀▄▄▄ ▄▀▀▀▀█▀ █\n ▀▄▄█ ▀▄▄▄▀▀▀▀▄\n █▄▄█▄▄▄█▄█▄█▄▄█"], ["injured_2", " \n █▀▄ █▀▀▀▀▄ \n█▀▄█▄█▀ ▄▀ ▀▄ \n▀▄▀ ▄ ▄▄ █ \n █ ▀▀▀ ▄ █ \n █▄█▀▀▀ ▄▄▄▄█▄▀▄\n█ ▄█▀▀▀█ █▄▄▄▀\n █▄▄█▄▄▄███▄▄▄▄█"], ["sleep_1", " \n █▀▄ █▀▀▀▀▄ \n█▀▄█▄█▀ ▄▀ ▀▄ \n▀▄▀ ▄▄▄ █ \n █ ▄▄▄ ▀▄ █▄\n ▄▀█▄▄▄▄▄▀▀█▀▀▄▀\n █ ▄▀ █▀ █ █\n █▄█▄▄█▄▄▄█▄▄▄▄█"], ["sleep_2", " ▄▄ ▄▄▄▄▄ \n▄▄ █ █▄▀ ▄▀▄ \n█ █▀▀▀ ▀ █ \n █ ▀▀▀ ▄ █ \n ▀▄▀▀▀▀▀▄ ▀▄▀▄\n ▄▀█▀▀ ▀▀█▀▀▄▀\n █ ▄▀ █▀ █ █\n █▄█▄▄█▄▄▄█▄▄▄▄█"], ["walk_1", " █▀▄ █▀▀▀▀▄ \n█▀▄█▄█▀ ▄▀ ▀▄ \n▀▄▀ █▀ ▄▄ █ \n █ ▄▄▄▄▄ ▄ █ \n ██▄▄▄ ▀▄▄█▄▄▀▄\n █ █ █ █ ▄█\n ▄█▀█ ▀█▀▀▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["walk_2", " ▄▄ ▄▄▄▄▄ \n▄▄ █ █▄▀ ▄▀▄ \n█ █▀▀▀▄▄ ▀ █ \n █ ▀ ▀▀ █ \n ▀▄█▀▀▀▀▄ ▀▄ █ \n ▄▀▀█▀▀ ▄▀▀▀█▀ █\n ▀▄▄█ ▀▄▄▄▀▄▀█\n █▄▄█▄▄▄▄█▄▄▄▄█ "]]], + ["triceramon_x", [["angry", " ▄▄ ▄▄▄▄▄ \n▄▄ ▀▄▀▀█ ▄▀▄ \n█ █▄▄▀▀ ▄ ▀ █ \n▀▄▀ ▀▀ ▀▀ █ \n ▀▄▀▀▀▀▀▄ ▀▄ ▄█ \n ▄▀█▀▀ ▄▀▀███▀ \n ▄█▄█ ▀▄▄▄██▄ \n█▄█▄█▄▄▄▄█▄█▄█▄█"], ["attack", " █▀▄▄█▀▀▀▀▄ \n█▀▄ ▀▄▄▀ ▄▀ ▀▄ \n█ █▀▀ ▄█▀ ▄▄ █ \n █ ▄ ▄ ▄ ▄ █ \n ▀█████▄▄▄▀▀██ \n▄▀▀█▀▀▀ █ ▀▄▄█▀ \n▀▄▄██▀▀▀ ▄ ▀█ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_1", " █▀▄▄█▀▀▀▀▄ \n█▀▄ ▀▄▄▀ ▄▀ ▀▄ \n█ █▀▀ ▀▀▄ ▄▄ █ \n █ ▄▄▄▄▄ █ \n ▀████▀▄ ▀▄ ▄█ \n ▄▀▄▄▄█▀▀█▀██▀ \n ▄█▄█ ▀▄▄█▄██▄ \n█▄█▄█▄▄▄▄█▄█▄█▄█"], ["eat_2", " ▄▄ ▄▄▄▄▄ \n▄▄ ▀▄▀▀█ ▄▀▄ \n█ █▄▄▀▀▄ ▀ █ \n▀▄▀ ▀ ▀ ▀▀ █ \n ▀▄▀▀▀▀▀▄ ▀▄ ▄█ \n ██▀▀▄██▀▀██▀ \n ▄█▄█ █ █▄██▄ \n█▄█▄█▄▄▄████▄█▄█"], ["happy", " █▀▄▄█▀▀▀▀▄ \n█▀▄ █▄▀▄ ▄▀ ▀▄ \n█ █▀ ▀ ▀ ▄▄ █ \n █ ████▄ █ \n ▀▄▀▀▀▀▄ ▀▄ ▄█ \n ▄▀█▀▀▄▀▀█▀██▀ \n ▄█▄█ ▀▄▄█▄██▄ \n█▄█▄█▄▄▄▄█▄█▄█▄█"], ["injured_1", " ▄▄ ▄▄▄▄▄ \n▄▄ ▀▄▀▀█ ▄▀▄ \n█ █▄▄▀▀▄ ▀ █ \n▀▄▀ ▀▀ ▀▀ █ \n ▀▄███▄ ▀▄ ▄█ \n ▄▀▄▄▄ ▄▀▀▀▀█▀██\n ▀▄▄█ ▀▄▄▄▀▀▀▄█\n █▄▄█▄▄▄▄█▄█▄█▄█"], ["injured_2", " \n █▀▄▄█▀▀▀▀▄ \n█▀▄ ▀▄▄▀ ▄▀ ▀▄ \n█ █▀▀ █▄ ▄▄ █ \n █ ▄▄▄▄ ▄ █ \n ▄▀▄▄▄▄▄▀▀▀▀█▀█▄\n ▀▄█ ▀▄▄▄▀▀▀▄█\n █▄▄█▄▄▄▄█▄█▄█▄█"], ["sleep_1", " \n \n █▀▄▄█▀▀▀▀▄ \n█▀▄ ▀▄▄▀ ▄▀ ▀▄ \n█ █▀▀ ▄▄▄ ▄▄ █ \n █ ▄▄▄▄▄ ▄ █ \n▄▀█▄▄▄▄▄█▀█▀▀▀▄ \n█▄█▄▄█▄▄█▄█▄▄▄█ "], ["sleep_2", " \n ▄▄ ▄▄▄▄▄ \n▄▄ ▀▄▀▀█ ▄▀▄ \n█ █▄▄▀▀ ▀ █ \n▀▄▀ ▀▀▀ ▀▀ █ \n ▀▄▀▀▀▀▀▄ ▀▄ ▄▀ \n▄▀█▀▀█▀▀▄▀█▀▀▀▄ \n█▄█▄▄█▄▄█▄█▄▄▄█ "], ["walk_1", " █▀▄▄█▀▀▀▀▄ \n█▀▄ ▀▄▄▀ ▄▀ ▀▄ \n█ █▀▀ ▄█▀ ▄▄ █ \n █ ▄▄▄▄▄ ▄ █ \n ▀▄▄▄▄ ▀▄▄█▄█▄ \n █ █ █ █ █▀ \n ▄▄▀█ ▀█▀▀ █ \n█▄█▄▄██▀▀█▄█▄█▄█"], ["walk_2", " ▄▄ ▄▄▄▄▄ \n▄▄ ▀▄▀▀█ ▄▀▄ \n█ █▄▄▀▀▄▄ ▀ █ \n▀▄▀ ▀▀ ▀▀ █ \n ▀▄▀▀▀▀▀▄ ▀▄ ▄█ \n ▄▀█▀▀▄▀▀█▀██▀ \n ▄█▄█ ▀▄▄█▄██▄ \n█▄█▄█▄▄▄▄█▄█▄█▄█"]]], + ["troopmon", [["angry", " ▄▄▄▄ ▄▄ \n ▄▀ ▀███▄▄▀ \n █ ▄ ▀███ \n █ ▀▀ ▄█▀▀ \n ▄▀▄ ▄█ ██▄ \n ██ ██████▄▀██ \n ▄███▀████▄ \n █▄█▄█ █▄█▄█ "], ["attack", " ▄▀▀▀██▄▄▄ \n ▄▀ ▄▀█▄▄▀ \n ▄ █▄██▄▀▀ █▀▄▄ \n██ █████ █ ███\n▀█ █▀██▀ ▄█ ███▀\n ▀█▄▄▄███ \n ████████▄ \n █▄█▄█ █▄█▄█ "], ["eat_1", " ▄▀▀██▄▄▄ \n █ ▄ ▀█▄▄▀ \n █ ▀ ▀ ███ \n▄▄ ██████ █▀▄▄▄ \n███ ██▄▄▀▄▀▄██▀ \n ▀▀ █▄▄▄▄█▄▀ \n ▄███▀████▄ \n █▄█▄█ █▄█▄█ "], ["eat_2", " ▄▀▀██▄▄▄ \n █ ▀█▄▄▀ \n █ ▄▀▄ ███ \n █ ▄█▀▀ \n ▄█ █▄▄▄██ ███▄ \n ▀█ ██████▄▀███ \n ▄███▀████▄ \n █▄█▄█ █▄█▄█ "], ["happy", " ▄▀▀▀▀█▄ \n ▄▀ ▄ █▀▄ \n ▄ █ ▀ ▀▄█▀▄▄▄\n██▄▀▄ ▄█▀▄██▀\n ▀▀▄██████▀ ▀▀ \n ███████▄ \n ▀███████▄ \n █▄█▄██▄█▄█ "], ["injured_1", " \n ▄▄▄▄ \n ▄▀ ▀███▀▀▄ \n █ ▄ ▀███ \n █ ▀▀ ██▀ \n ▀▄ ▄████▄▄ \n ▄█▄▀▀▀██ ███▄▀▄\n████ ███▀▄████▄█"], ["injured_2", " \n \n ▄▀▀███▄ ▄▄ \n█ ▀▀██▄▄▀ \n█ ▄ ███ \n █ ▀▀ ▄███▄▄▄ \n ▄▀▄▄▄▀▀█ ███▄▀▄\n███▄ ▄██▀▄████▄█"], ["sleep_1", " \n ▄▄▄▄▄ \n ▄▀ ▀██▄▄ \n █ ▄ █▄▄▀ \n █ ▀▀ ███ \n ▄█▄ ▄████▄ \n █ ▀█████▀ █ \n ██▄▄▄████▄▄███ "], ["sleep_2", " \n ▄▀▀██▄ \n █ ▀█▄▄ \n █ ▄▄▀ █▄▄▀ \n █ ▄███ \n ▄▄█▄▄▄█████▄ \n █ ▀█████▀ █ \n ██▄▄▄████▄▄███ "], ["walk_1", " ▄▀▀██▄▄▄ \n █ ▄ ▀█▄▄▀ \n █ ▄█ ███ \n █ ▄█▀▀ \n ▄█ █▄▄▄██ ███▄ \n ▀█ ██████▄▀███ \n ▄███▀████▄ \n █▄█▄█ █▄█▄█ "], ["walk_2", " ▄▄▄▄ \n ▄▀ ▀██▀▀▄ \n ▄▀ ▀▄ ███ \n █ ▀▀ ███ \n ▄▀▄ ▄█▀▄▄ \n▄██ ██████ ███▄ \n▀▀▄ ███████▄▄▄▀ \n █▄█▄█▀ ▀█▄█▄█ "]]], + ["tsubumon", [["angry", " \n \n \n ▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀▀ ▀█ \n █ █▄ ▄█ █ \n ▀▄▄▄▄▄▄▄▀ "], ["attack", " \n ▄▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀ ▄█ █ \n █▄▄▄▄ █ \n ████▄ █ \n ▄█████ █ \n ▀▄▄▄▄▄▀ "], ["eat_1", " \n \n ▄▄▀▀▀█ \n ▄▄▀ ▄▄▀▀ \n ▄▀▄ ▄▀▄ \n █ ▄█▄ █ \n █ ███ █ \n ▀▄▄▄▄▄▀ "], ["eat_2", " \n \n \n ▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀▀ ▀█ \n █▄▀▄ ▄▀▄█ \n ▀▄▄▄▄▄▄▄▀ "], ["happy", " \n ▄▄ \n ▄▀ █ \n ▄▄▀ ▄█ \n ▄▀▄ ▄▀▄ \n █▀ ▀ ▀ ▀█ \n ▀▄ ███ ▄▀ \n ▀▀▀▀▀ "], ["injured_1", " \n \n \n ▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀▀ ▀█ \n █ ▄█ █▄ █ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n \n \n ▄▄▄▄▄▄ \n ▄▄▀▀ ▄▄▄▄▀ \n ▄▀ ▄ ▄ ▀▄ \n ▀▄██▄██▄▀ "], ["sleep_1", " \n \n \n ▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀▀ ▀█ \n █ ▀▀ ▀▀ █ \n ▀▄▄███▄▄▀ "], ["sleep_2", " \n \n \n ▄▄▀▀▀█ \n ▄▄▀ ▄▄▀▀ \n ▄▀▄▄ ▄▄▀▄ \n █ ▄▄▄ █ \n ▀▄▄▄▄▄▀ "], ["walk_1", " \n \n \n ▄▄▀▀▀█ \n ▄▄▀ ▄▄▀▀ \n ▄▀▄ ▄▀▄ \n █ ▄▀▄ █ \n ▀▄▄▄▄▄▀ "], ["walk_2", " \n \n \n ▄▄▄▄ \n ▄▀▀ ▄▄▀ \n ▄▀▀ ▀█ \n █ ▀ ▄ ▀ █ \n ▀▄▄▄▄▄▄▄▀ "]]], + ["tsumemon", [["angry", " \n \n \n ▄▀▀▀▄▀▀▄ \n ▄▀█▀▀▄▀▀▄█ \n █ █▄█ █ ▀ \n ▄▀ ▄ ▄ ▀▄ \n █▄▀█▄▀▀▄█▀▄█ "], ["attack", " \n ▄▀▀▀▄▀▀▄ \n ▄▀▀▀▀▄▀▀▄█ \n █ ▄█▀ █ ▀ \n █▄▄▄▄ ▀▄ \n ▄▀█████ █ \n ▄▀ ▄ ▄ ▄ █ \n █▄▀█▄▀▀▄█▀▄█ "], ["eat_1", " \n ▄▀▀▀▄▀▀▄ \n ▄▀█▀▀▄▀▀▄█ \n █ █▄█ █ ▀ \n █ ▄▄▄▄ ▀▄ \n ▄▀ ████ █ \n ▄▀ ▄ ▄ ▄ █ \n █▄▀█▄▀▀▄█▀▄█ "], ["eat_2", " \n \n ▄▄▄ ▄▄ ▄▄\n █▄▄▄▀▄▄▀▄▀\n ▄▀ ▀▄ ▀ \n █ ▄▀▄ █ \n ▄▀ ▄ ▄ ▀▄ \n █▄▀█▄▀▀▄█▀▄█ "], ["happy", " \n ▄▀▀▀▄▀▀▄ \n ▄▀▀▀▀▄▀▀▄█ \n █ ▄▀▄ █ ▀ \n █ ▄▄▄▄ ▀▄ \n ▄▀ ▀██▀ █ \n ▄▀ ▄ ▄ ▄ █ \n █▄▀█▄▀▀▄█▀▄█ "], ["injured_1", " \n \n \n ▄▀▀▀▄▀▀▄ \n ▄▀▀▀▀▄▀▀▄█ \n █ ▀▄▄ █ ▀ \n ▄▀ ▄ ▄ ▀▄ \n █▄▀█▄▀▀▄█▀▄█ "], ["injured_2", " \n \n \n ▄▄▄ ▄▄ \n █▄▄▄▀▄▄▀▄ \n ▄▀ ▄ ▀▄ ▀█ \n ▄▀ ▀▀ ▀▄ \n █▄▀▄█▀▄▄▄▀▄█ "], ["sleep_1", " \n \n \n ▄▀▀▀▄▀▀▄ \n ▄▀▀▀▀▄▀▀▄█ \n █ ▄▄▄ █ ▀ \n ▄▀ ▄ ▄ ▀▄ \n █▄▀█▄▀▀▄█▀▄█ "], ["sleep_2", " \n \n ▄▄▄ ▄▄ \n █▄▄▄▀▄▄▀▄ \n ▄▀ ▀▄ ▀█ \n █ ▀▀▀ █ \n ▄▀ ▄ ▄ ▀▄ \n █▄▀█▄▀▀▄█▀▄█ "], ["walk_1", " \n \n ▄▀▀▀▄▀▀▄ \n ▄▀▀▀▀▄▀▀▄█ \n █ ▄▀▄ █ ▀ \n █ ▀▀▀ ▀▄ \n ▄▀ ▄▀ ▄ █ ▀▄ \n █▄▀█▄▀▀▄█▀▄█ "], ["walk_2", " \n \n ▄▄▄ ▄▄ ▄▄\n █▄▄▄▀▄▄▀▄▀\n ▄▀ ▄ ▀▄ ▀ \n █ █▄█ █ \n ▄▀ ▄ ▄ ▀▄ \n █▄▀█▄▀▀▄█▀▄█ "]]], + ["tsunomon", [["angry", " \n \n ▄▀▄ \n ▄▀ █ \n ▄█▄█████▄ \n ██▀ ▄ ▄████ \n █ ▀▀ ▀███ \n ▀▄▄▄▄▄▄█▀ "], ["attack", " ▄▄▀█ \n ▄██▄▄█▄▄ \n ▄▀ ▀▀ ▀▀▄▀█▄ \n ▀█▀▀█▀▄▀▀ ▀█ \n █ █ \n ▄█▄▄█▄█ ██ \n ▀▄▄▄▄▄▄▄▀▀ \n ▄▄▄▄▄▄▄ "], ["eat_1", " \n ▄▄▀█ \n ▄▄██▄▄█▀ \n █▄▄ ▀▀██▄ \n ▀ █▀▄▄█ ██▄ \n █ ███ \n █▄█▄▄█ ███ \n ▀▄▄▄▄▄▄█▀▀ "], ["eat_2", " \n \n ▄▀▄ \n ▄▀ █ \n ▄█▄█████▄ \n ██▀▄▄ ▀████ \n █ ▀ ▀ ▀███ \n ▀▄▄▄▄▄▄█▀ "], ["happy", " \n ▄▀▄ \n ▄█ █▄▄▄ \n ▄▀▄▀▄▀▄ ▀█▄ \n █ ▀ ▀ ▀█ \n █ █▄▄▄▄█ █ \n █ ▀████▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_1", " \n \n ▄▀▄ \n █ ▀▄ \n █ ▄█████▄ \n ██▀▀ ▄ ▀██ \n █▄▄ ▀▀ ▀█ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n ▄▄ \n █ █ \n █ ██████▄ \n █▄█▀▀▀▀▀███ \n █ ▀▄▄ ██ \n ▀█▄▄▄▄▄█▀ "], ["sleep_1", " \n \n ▄▀▄ \n █ █ \n ▄██▄████▄ \n █▀ ▀█▀ ▀██ \n █▀▀▄▄▄▀▀ ▀█ \n ▀▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n ▄▀▄ \n █ █ \n ▄██▄████▄ \n █▀ ▀█▀ ▀██ \n █▀▀▄▄▄▀▀ ▀█ \n █ █ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_1", " \n \n ▄▀▄ \n █ █ \n ▄██▄████▄ \n █▀▄▀█▀▄ ▀██ \n █ ▀ ▄ ▀ ▀█ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_2", " \n ▄ \n █ █ \n ▄█ █▄▄▄ \n ▄█▀███▀▀██▄ \n █ █ ▀ █ ██ \n █ ▀▀▀ █ \n ▀▄▄▄▄▄▄▄▀ "]]], + ["tumblemon", [["angry", " \n \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n █ ▄▄▄▄▄▄ █ \n █ ▀▀▀ █ \n █ █ \n ▀▄▄▄▀▄▄▄▀ "], ["attack", " \n ▄▄▄▄▄▄▄ \n ▄▀ ▀▄ \n ██▄▄▄▄▄▀ █ \n █ █▄ █▄ █ \n ██▄▄████ █ \n █ ▀ ▀ ▀ ▀ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["eat_1", " \n ▄▄▄▄▄▄▄ \n ▄▀ ▀▄ \n ██▄▄▄▄▄▀ █ \n ███████ █ \n ███████ █ \n █ ▀ ▀ ▀ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["eat_2", " \n \n \n ▄▄▄▄▄▄ \n ▄▀▄▄▄▄ ▀▄ \n ██▀▄▄▀█▄ ▀▄ \n █ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["happy", " \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n █ ▄█▀▀▀█▄ █ \n █ █▄███▄█ █ \n █ ▀ ▀ ▀ █ \n ▀▄ ▄▀ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["injured_1", " \n \n \n \n ▄▀▀▀▀▀▀▀▄ \n █ ▀████▀ ▀▄ \n █ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["injured_2", " \n \n \n \n \n ▄▀▀▀▀▀▀▀▄ \n █ ▄▄▄▄▄▄ ▀▄ \n ▀▄▄████▄▄▄▄▀ "], ["sleep_1", " \n \n \n \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n ▄▀ ▀███▀ ▀▄ \n █▄▄▄▄▄▄▄▄▄█ "], ["sleep_2", " \n \n \n ▄▀▀▀▀▀▄ \n █ █ \n █ ▀███▀ █ \n █ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " \n \n ▄▄▄▄▄ \n ▄▀ ▀▄ \n █ ▀█▀█▀█▀ █ \n █ ▀▀▀ █ \n █ █ \n ▀▄▄▄▀▄▄▄▀ "], ["walk_2", " \n \n \n ▄▀▀▀▀▀▄ \n ▄▀▄▄▄▄▄▄▄▀▄ \n █ ▀▄█▄▀ █ \n █ █ \n ▀▄▄▄▀▀▀▄▄▄▀ "]]], + ["turuiemon", [["angry", " ▄ ▄ ▄ \n ▄▀█ █ █ █▀▀▄ \n▄▀▄▀▄ ▄ ▀▄ █ \n█ █ ▀▀▄ ▀▀ █▄ █\n█ █▄ ▀ ▀▀ ▄▀█ █\n█▄▀▄▀████▀█▀▄▀▄█\n █ ▄▀ █ █ \n ███▄▄▀▀█▄██▄█ "], ["attack", " ▄▀▄▀▄▀▄▄ \n ▄▀ ▀▄ \n █▄ ▄█▀ ▀▄ ▀▄\n ▀▄▄▄ █ █\n ▄▄▄█▀▀ ▄▄▄▀█ █\n█ ▄▄███ ▀ █▄ █\n ▀▀ ▄▀ ▄█▀▀▀▄ ▀▀\n █▄▄█ ▀▄▄▄█ "], ["eat_1", " ▄▄▀▄▀▄▀▄▄▄ \n ▄▀▄▀ ▀ ▀ ▀▄ ▀▄ \n█ █▄▀▄ ▄▀▄ █ ▀▄\n█ █ ▄▄▄▄ ██ █\n█ █▄▄ ███▄▄▄▀█▄█\n▀█▀ █▀▀█ ▀█ ▀\n ▀█▀ ▄▄ ▀▀█ \n █▄▄▄▀ ▀▄▄▄█ "], ["eat_2", " ▄ ▄ ▄ \n ▄▀█ █ █ █▀▀▄ \n▄▀▄▀▄ ▄ ▀▄ ▀▄\n█ █▀ ▀▄ ▀ ▀ █▄ █\n█ █▄ ▀ ▀▀ ▄▀█ █\n▀▀█▀▀████▀▀▀▀▄▀▀\n ▀▄█ ▀▄▄▀ \n █▄▄▄▄▀▀▀▄▄▄█ "], ["happy", " ▄▄▀▄▀▄▀▄▄▄ \n ▄▀▄▀ ▀ ▀ ▀▄ ▀▄ \n█ █▄▀▄ ▄▀▄ █ ▀▄\n█ █ ▄▄▄▄▄▄ █ █\n█▀▀▄ ████ ▄▀▀▄ █\n▀▄▄▄▀▄▄▄▄▀ ▄▄▀▀▀\n ▄▀ ▄▄ ▀▄ \n █▄▄▄▀ ▀▄▄▄█ "], ["injured_1", " \n ▄ ▄ ▄ \n ▄▀█ █ █ █▀▄ \n █▄▀▄ ▄ ▀▄ █ \n █ █▀ ▄ ▀▀ █ █\n █ ▀▄▄▄▄▄▄▄▄▀█ █\n ▄▀█ ▀█▀▄▀ █▀█ █\n █▄█▄▄█▄█▄▄█▄█▀ "], ["injured_2", " \n \n ▄▄▀▄▀▄▀▄▄ \n ▄▀▄▀ ▀ ▀ █ ▀▄ \n▄▀█▄▀ ▀▄▄ █ ▀▄ \n█ ▀▄ ▀▄▄ ▄▀█ █ \n▀▄█ ▀██▀█▀ █▀▄█ \n ██▄▄█▄▄█▄▄█▄█ "], ["sleep_1", " \n ▄ ▄ ▄ \n ▄▀█ █ █ █▀▀▄ \n▄▀▄▀ ▀▄ █ \n█ █ ▀▀▄ ▀▀ █▄ █\n█ █▄ ▀ ▀▀ ▄▀█ █\n█▄▀▄█▀██▀█▀▀▄█ █\n █▄█▄█▄▄█▄▄█▄█ "], ["sleep_2", " \n ▄▄▀▄▀▄▀▄▄▄ \n ▄▀▄▀ ▀ ▀ ▀▄ ▀▄ \n█ █ ▄▄ ▄▄ █ ▀▄\n█ █ ▄▀▄▄ ██ █\n█ █▀▄▄▄▄▄▄▄█ █ █\n▀▀ ▄█▀█▀▀▄▀ █▄▀▀\n █▄█▄█▄▄█▄▄█▄█ "], ["walk_1", " ▄▄▀▄▀▄▀▄▄▄ \n ▄▀▄▀ ▀ ▀ ▀▄ ▀▄ \n█ █ █ █ █ ▀▄\n█ █ ▄▀▄▄ ██ █\n█ █▀▄▄▄▄▄▄▄█ █ █\n▀▀▄▀ █▀▀▀▄▀ █ ▀▀\n ▀▄▀ ▄▄ ▀▄▄▀ \n █▄▄▄▀ ▀▄▄▄█ "], ["walk_2", " ▄ ▄ ▄ \n ▄▀█ █ █ █▀▀▄ \n▄▀▄▀ ▄ ▄ ▀▄ ▀▄\n█ █ ▀▄ ▀ █▄ █\n█ █▄ ▀ ▀▀ ▄▀█ █\n▀▀▄▀▀████▀▀▀▀▄▀▀\n ▀▄▀ ▀▄▄▀ \n █▄▄▄█▀▀▀▄▄▄█ "]]], + ["tuskmon", [["angry", " █▀█▄▄▄ ▄▀█\n ▄▄█▄██▀ ██ ▄▀ █\n ▀█▀█▀█▀████ ▄▀\n ██▄ █ \n ▄ ▄ ▄ █▀▀██ \n▄▄▀▀█████ ███▀▄█\n▀█▄███████▄▄▄██▀\n█▄█▄██▀▀▀█▄█▄█▄█"], ["attack", "▄▄ ▄▄ ▄▄\n█ █ █▀▄█▀▀█▄ █ █\n█ ▄████▄▄███▀ █\n▀▄▀█▀█▀█▀██▀ █ \n ▀▄▄▄▄▄▄███▄▄▀▄\n ██ ███▀▄▄██▀█▄█\n ▄▄████▄▀▀██▄██▀\n█▄█▄██▀▀▀█▄█▄█▄█"], ["eat_1", "▄▄ ▄▄ ▄▄\n█ █ █▀▄█▀▀█▄ █ █\n█ ▄████▄▄███▀ █\n▀▄▀█▀█▀█▀██▀ █ \n ▀▄▄▄▄▄▄███▄▄▀▄\n ██ ███▀▄▄██▀█▄█\n ▄▄████▄▀▀██▄██▀\n█▄█▄██▀▀▀█▄█▄█▄█"], ["eat_2", "█▀▄ ▄█▀▄▄▄▄ ▄▀█\n█ ▀▄█▄█▀▄▄▀█▄▀ █\n█ ██████▀███ ▄▀\n ▀▄█ ▄██▄ █ \n ▄▄▀████▀▀████ \n ██ ███ ████ █▄█\n ▄█████▄▄▄▄███▀\n █▄█▄███▀█▄█▄█▄█"], ["happy", "█▀▄ ▄█▀▄▄▄▄ ▄▀█\n█ ▀▄█▄█▀▄▄▀█▄▀ █\n█ ██████▀███ ▄▀\n ▀▄█ ▄██▄ █ \n ▄▄▀████▀▀████ \n ██ ███ ████ █▄█\n ▄█████▄▄▄▄███▀\n █▄█▄███▀█▄█▄█▄█"], ["injured_1", "▄▄ ▄▄ \n█ █▀▄█████▄ █ █ \n█ █ ▄███▀███ █ \n ▀▄███▄▄███ █ \n ██████▀▄██▄█▄ \n▄ ▀▀▀▀▄█▀▄█▄█▄█\n███ ██▀▄▄ ██████\n████▄█▄▀█▄▀████▀"], ["injured_2", "▄▄ ▄▄ \n█ █▀▄█████▄ █ █ \n█ █ ▄███▀███ █ \n ▀▄███▄▄███ █ \n ██████▀▄██▄█▄ \n▄ ▀▀▀▀▄█▀▄█▄█▄█\n███ ██▀▄▄ ██████\n████▄█▄▀█▄▀████▀"], ["refuse", "▄▄ ▄▄ ▄▄\n█ █ █▀▄█▀▀█▄ █ █\n█ ▄████▄▄███▀ █\n▀▄▀█▀█▀█▀██▀ █ \n ▀▄▄▄▄▄▄███▄▄▀▄\n ██ ███▀▄▄██▀█▄█\n ▄▄████▄▀▀██▄██▀\n█▄█▄██▀▀▀█▄█▄█▄█"], ["sleep_1", "▄▄ ▄▄ \n█ █▀▄█████▄ █ █ \n█ █ ▄███▀███ █ \n ▀▄███▄▄███ █ \n ██████▀▄██▄█▄ \n▄ ▀▀▀▀▄█▀▄█▄█▄█\n███ ██▀▄▄ ██████\n████▄█▄▀█▄▀████▀"], ["sleep_2", "▄▄ ▄▄ \n█ █▀▄█████▄ █ █ \n█ █ ▄███▀███ █ \n ▀▄███▄▄███ █ \n ██████▀▄██▄█▄ \n▄ ▀▀▀▀▄█▀▄█▄█▄█\n███ ██▀▄▄ ██████\n████▄█▄▀█▄▀████▀"], ["walk_1", "█▀▄ ▄█▀▄▄▄▄ ▄▀█\n█ ▀▄█▄█▀ ▄██▄▀ █\n█ ████▀█████ ▄▀\n ▀▄█▄▄▄▄▄██▄ █ \n ▄▄▀████▀▀████ \n ██ ███ ████ █▄█\n ▄█████▄▄▄▄███▀\n █▄█▄██▀▀█▄█▄█▄█"], ["walk_2", "▄▄ ▄▄ ▄▄\n█ █ █▀▄█▀▀█▄ █ █\n█ ▄████▄▄███▀ █\n▀▄▀█▀█▀█▀██▀ █ \n ▀▄▄▄▄▄▄███▄▄▀▄\n ██ ███▀▄▄██▀█▄█\n ▄▄████▄▀▀██▄██▀\n█▄█▄██▀▀▀█▄█▄█▄█"]]], + ["tylomon", [["angry", " ▀ ▄▀▀█ \n ▀ ▄▄▄█▄ █ \n ▄▀ ▀▄ \n▄▀▀ ▄█ █ \n█▀█▀█▀▄ ▄▄ ▄ █ \n ▄ ▄ █ ▀▄▄▄▀ █ \n█▀▀▀▀▀ ▄▀ ▄▀ ▀▄\n ▀▀▀▀▀▀ █▄▄▀▄█"], ["attack", " ▄ ▄▀▀█ \n ▄▄▄█▄ █ \n▀ ▄▀ ▀▄ \n▄▀▀ ▄ ▀█ █ \n█▀▀▀▀ ▀▀ █ \n ▀▄▄▄▄▄ ▄▄▄ █ \n ▀▄█ ▀▄█ ▄▀ ▀▄\n █▄▄▀▄█"], ["eat_1", " ▄▀▀█ \n ▄▄▄█▄ █ \n ▄▀ ▀▄ \n▄▀▀ ▄▀█ █ \n█▀▀▀▀▀ █ \n ▀▄▄▄▄ ▄▄▄ █ \n ▀▄█▀▄█ ▄▀▀ █ \n ▀▀█▄▄█"], ["eat_2", " ▀ ▄▀▀█ \n ▀ ▄▄▄█▄ █ \n ▄▀ ▄▄ ▀▄ \n▄▀▀ ▀ ▀ █ \n▀▀▀▀▀█ █ \n▄▄▄▄▄▀ ▄▄▄ █ \n▀▄▄▄▄▄▄▀▄█ ▄▀ ▀▄\n █▄▄▀▄█"], ["happy", " ▄▀▄ ▄▀▀█ \n▄ ▀ ▄▄▄█▄ █ \n ▄▀ ▄ ▀▄ \n▄▀▀ ▀ ▀ █ \n▀▀▀▀███ ▄▄▄▄ █ \n ▄▀▀ █ ▄▀ █ \n█▀▀▀▀▀ ▄▀▀▀█▀ ▀▄\n ▀▀▀▀▀▀ █▄▄▀▀▀"], ["injured_1", " ▄ ▄▄▄▀▀█\n ▄▀▀█▄ █ \n▀ ▄▄█▄ █ █ █\n ▄▀ ▀▄ █\n▄▀▀ █▄ █\n█▀▀▀▀▄ ▄▀ \n ▀▄▄▄▄▄ ▄▄▀▀ \n ▀▄█▀▄█ "], ["injured_2", " ▄▄▄\n ▄▄█▀▀ ▄▀\n ▄▀ █▀▄ ▀▄\n ▄▀▀▀▀ ▀▄▀ █\n ▄█ ▄ ▀ █\n█▄▄▄▄ ▀▀ ▄▀\n▀▄ ▀ ▄▄▄▀ \n ▀▀▀▀▀▄▄▄▄▀ "], ["refuse", " ▀ ▄▀▀█ \n ▀ ▄▄▄█▄ █ \n▀ ▄▀ ▀▄ \n▄▀▀ ▄█▀ █ \n█▀▀▀▀ ▄ █ \n▄▀▄▄▄▀ █▄▄ █ \n ▀▀ ▀▀▀ ▄▀▀ ▄▀ \n ▀▀█▄▄█ "], ["sleep_1", " ▄▄▄\n ▀ ▄▄█▀▀ ▄▀\n▄ ▄▀ █▀▄ ▀▄\n ▄▀▀▀▀ ▀▄▀ █\n ▄█ ▀ █\n█▄▄▄▄ ▀▀ ▄▀\n▀▄ ▄▄▄▀ \n ▀▀▀▀▀▄▄▄▄▀ "], ["sleep_2", " ▄▄▄\n ▄▄█▀▀ ▄▀\n ▄▀ █▀▄ ▀▄\n ▄▀▀▀▀ ▀▄▀ █\n ▄█ ▀ █\n█▄▄▄▄ ▀▀ █\n▀▄ ▄ ▄▀ \n ▀▀▀▀▀▄▄▄▄▀▀ "], ["walk_1", " ▄ ▄▀▀█ \n ▄▄▄█▄ █ \n▀ ▄▀ ▀▄ \n▄▀▀ ▄ ▀█ █ \n█▀▀▀▀ ▀▀ █ \n ▀▄▄▄▄▄ ▄▄▄ █ \n ▀▄█ ▀▄█ ▄▀ ▀▄\n █▄▄▀▄█"], ["walk_2", " ▄ █▀▀▄▀▀█\n ▄▀▀█▄ █ \n▀ ▄▄█▄ █ █ █\n ▄▀ ▀▄ █\n▄▀▀ ▄ ▀█ █\n█▀▀▀▀ ▀▀ ▄▀ \n ▀▄▄▄▄▄ ▄▄▀▀ \n ▀▄█ ▀▄█ "]]], + ["tylomon_x", [["angry", " \n \n ▄█ \n ▄█▀▄█ ▄█\n█▀▀▄▄▀████▀█▀█ █\n▀▄██▄▄█▀▀ ▄█▄\n ▀▀▄▄▄▄▄▄██▄█▄▀▀\n ▀██▄ "], ["attack", " ▄ ▀ ▄ \n ▀▄▀ ▄▄▀█ ▄\n█▀▀▄▄▀███▄██▄▄▀█\n▀▄██▄▄███▀ ▀ ▀▄▀\n ▀▀▄▄ ▀▄▄ ▄▀██\n █▀ ▄▄▀▀███▄ \n ▀▀▀▀ ▄ \n ▀▄▀ "], ["eat_1", " \n ▄ \n ▄▄▀█ ▄\n█▀▀▄▄▀███▄██▄▄▀█\n▀▄██▄█▄██▀ ▀ ▀▄▀\n ▀▀▄▄ ▄ ▄▄ ▄▀██\n █▀ ▄▄▀▀██▄ \n ▀▀▀ ▀▀▀ "], ["eat_2", " \n \n ▄█ \n ▄█▀▄█ ▄█\n█▀▀▄▄▀████▀█▀█ █\n▀▄██▄█▄▀▀ ▄█▄\n ▀▀▄▄▄▄▄▄██▄█▄█▀\n ▀▀▀▀▀▀"], ["happy", " ▄ \n ▄▀▄ ▄█ \n ▀ ▄█▀▄█ ▄█\n█▀▀▄▄▀████▀█▀█ █\n▀▄██▄█▄█▀ ▄█▄\n ▀▀▄ ▄▄██▄▀ ▀▀\n ▀▀▀ ▀██▄ \n "], ["injured_1", " \n ▄ \n ▀▄▀ ▄ \n ▄ ▄▄▀█ ▄\n▄▄▄ ▄▄██▄██▄▄▀█\n█ ▄██ ▀██▀ ▀ ▀▄▀\n ██▀▀▀▀ ▄▄ ▄▀██\n ▀▀▀▀▀▀▀█████▄"], ["injured_2", " \n ▄ \n ▄ \n ▀▄▀ ▄█ \n ▄█▀▄█ ▄█\n█▀▀▄▄▀████▀█▀█ █\n▀▄███▄▄▀▀ ▄▄▄█▄\n ▀▀▄▄▄▄▄███████▀"], ["sleep_1", " \n ▄▀▄ \n ▀ ▄ \n ▀ ▄▄▀█ ▄\n▄▄▄ ▄▄██▄██▄▄▀█\n█ ▄█▀▀███▀ ▀ ▀▄▀\n ██▀▀▀▀ ▄▄ ▄▀██\n ▀▀▀▀▀▀▀█████▄"], ["sleep_2", " \n ▄ \n ▄▀▄ ▄█ \n ▀ ▄█▀▄█ ▄█\n█▀▀▄▄█████▀█▀█ █\n▀▄██▄▄█▀▀ ▄█▄\n ▀▀▄▄▄▄▄▄██▄█▄█▀\n ▀▀▀▀▀▀"], ["walk_1", " \n ▄█ \n ▄█▀▄█ ▄█\n█▀▀▄▄▀████▀█▀█ █\n▀▄██▄▄█▀▀ ▄█▄\n ▀▀▄▄▄▄▄▄██▄▀ ▀▀\n ▀██▄ \n "], ["walk_2", " \n \n ▄█ \n ▄█▀▄█ ▄█\n█▀▀▄▄▀████▀█▀█ █\n▀▄██▄▄█▀▀ ▄█▄\n ▀▀▄▄▄▄▄▄██▄█▄█▀\n ▀▀▀▀▀▀"]]], + ["tyrannomon", [["angry", " ▄▄▄▄▄ ▄▄ \n ▄█ ▄ ▀▄▀ \n▄▀▀▄▄ ▀ ▄█▀█ \n▀█▀ ▀ ▀▀▀██▄▄ \n ▀▀█▀▀ ██▀█▄▀ \n▄▀▀█ █ █▀█\n▀▄▄▀▄ ▀█▀▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["attack", " ▄▄▄▄▀▀▀▀▀▄▀█ \n █▄▄▄ ▄ ▄█▀ █▄▄ \n ▀█████ ▄▄██▄▀ \n ▄████▀ ▄▄█▀█ \n ▀▄▄▄▄▄▀ ▄█▀▀▄ \n ▄▀ █ ▄█\n ▄█▀▄ █▀▀▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_1", " ▄▀▀▀▀▀▄▀█ \n▄▀▀▀ ▄▀█▀ █▄▄ \n▀██▄█▄ ▄▄██▄▀ \n ▄████ ▀▀██▀█ \n █▄▄▄▄▀▄▀▀ ██ \n ▀▄█ ▀▄▄▄█ █▀█\n ▄▄▀▄ ▄ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_2", " ▄▄▄▄▄ ▄▄ \n ▄█ ▄▄ ▀▄▀ \n▄▀▀ ▄ ▀ ▀▄█▀█ \n▀█▀▀▀▀ ▀▀▀██▄▄ \n ▀▀█▀▀ ██▀█▄▀ \n▄▀▀█ █ █▀█\n▀▄▄▀▄ ▀█▀▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["happy", " ▄▀▀▀▀▀▄▀█ \n▄▀▀▀ ▄▀▀▄ █▄▄ \n▀▀▀▀▀▄ ▄▄██▄▀ \n ▄▄▄▄█ ▄▄██▀█ \n ▀▄▄▄▄▀ ▄▄ ▀██ \n █ █ █ ▄ █▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄▀"], ["injured_1", " ▄▄▄▄▄ ▄▄ \n ▄█ ▄ ▀▄▀ \n▄▀▀ ▄ ▀▄ ▄█▀█ \n▀█▀▀▀▀ ▀▀██▄▄ \n ▀▀█▀▀ ██▀█▄▀ \n▄▀▀█ █ █▀█\n▀▄▄▀▄ ▀█▀▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["injured_2", " ▄▄▄▄▄ ▄▄ \n ▄█ ▄ ▀▄▀ \n▄▀▀ ▄ ▀▄ ▄█▀█ \n▀█▀▀▀▀ ▀▀██▄▄ \n ▀▀█▀▀ ▀███▄▀ \n ▄▀█ ▄▀ █▀█\n █▀▀▄ ▀▄▄█▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄▀"], ["sleep_1", " \n ▄▀▀▀▀▀▄▀█ \n ▄▄▀▀ ▄▄▄ █▄▄ \n█▄▄▄█▄ ▄▄██▄▀ \n ▀▄▄▄▄▄ ▄▄██▀█ \n ▄▀ ▀█▀█\n ▄██ ▄▀ █▀▄▀\n█▄█▄█▄▄▄█▄▄█▄█▄█"], ["sleep_2", " ▄▄▄▄▄ ▄▄ \n ▄█ ▀▄▀ \n ▄▀▀ ▄ ▀▀▀ ▄█▀█ \n ▀█▀▀▀▀ ▀▀▀██▄▄\n ▀▀█▀▀ ▀▀██▄▀\n ▄▀ ▄▀ █▀█\n ▄█▀▄ █ █▀▄▀\n█▄█▄▄█▄▄▄███▄█▄█"], ["walk_1", " ▄▀▀▀▀▀▄▀█ \n ▄▄▀▀ ▄▀█▀ █▄▄ \n█▄▄▄█▄ ▄▄██▄▀ \n ▀▄▄▄▄▄ ▄▄██▀█ \n ▄▄▀ ▄▄ ▀██ \n █ █ █ ▄ █▀█\n ▄█▀▄ ▀▀█ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄▀"], ["walk_2", " ▄▄▄▄▄ ▄▄ \n ▄█ ▄▄▄▀▄▀ \n▄▀▀ ▄ ▀ ▀ ▄█▀█ \n▀█▀▀▀▀ ▀▀▀██▄▄ \n ▀▀█▀▀ ██▀█▄▀ \n▄▀▀█ █ █▀█\n▀▄▄▀▄ ▀█▀▀▀▄▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"]]], + ["tyrannomon_x", [["angry", " \n ▄▄▄▄▄▄ \n ▄▄▀▀ ▄ ▀▄▄▀ \n█ ▀▀ ▀█▄▀ ▄▄\n▀█▀▀▀▄ ▀▀▄█▄█ █\n ▀▀▄ ▄ ▄ █\n ▄▀▀▄ █ █ ▄ ██\n █▄█▄▄█▄██▄█▄█▄█"], ["attack", " ▄▄▄▄▄▄▄ \n▄▀▀▀ ▄█ ▀▄▄▀ \n█▄▄▄▄ ▀█▄▀ ▄▀█\n █████ █ █ █ █\n █████ ▄▀ ▄▀▀ █\n ▀▄▄▄ ▄ ▄ █ \n ▄▀ ▀▄ ▄▀ ▄ █ \n █▄█▄▄▄▀█▄█▄█▄█ "], ["eat_1", " ▄▄▄▄▄▄▄ \n▄▀▀▀ ▄ ▀▄▄▀ \n█▄▄▄▀ ▀ ▀█▄▀ ▄▄\n ▀██▀▀█ ▀▀▄▀ █ █\n ▄▀▀▀▀ ▄▄ ▀▀ █\n ▀▀█ █▄▄▄▀ ▄ ▄▀\n █ ▀▄ █ ▄ █ \n █▄█▄▄▀█▄█▄█▄█ "], ["eat_2", " \n ▄▄▄▄▄▄ \n ▄▄▀▀▄ ▀▄▄▀ \n█ ▀ ▀ ▀█▄▀ ▄▀█\n▀█▀▀▀▀ ▀▀▄█▄▀ █\n ▀▀█ ▄ ▄ ▄ █\n ▄▀▀█ █▄█▀ ▄ █▀\n█▄█▄▄█▄▄▄█▄█▄█▄█"], ["happy", " ▄▄▄▄▄▄▄ \n▄▀▀▀ ▄ ▀▄▄▀ \n█▄▄▄▀ ▀ ▀█▄▀ ▄▀█\n █████ ▀▀▄▀ █ █\n ████▀▄▀▀▀ ▀▀ █\n ▀▄▄▄ ▀▀▀▄▀ ▄ █ \n ▄▀ ▀▄ █ ▄ █ \n █▄█▄▄▄▀█▄█▄█▄█ "], ["injured_1", " \n ▄▄▄▄▄▄ \n ▄▄▀▀ ▀▄▄▀ \n█ █▄ ▀█▄▀ ▄▄\n▀█▀▀ ▀▀▄█▄█ █\n ▀▀▄ ▄ ▀ █\n ▄▀▀▄ █ ▄▀ ▄▀▄█\n █▄█▄█▄▄██▄█▄█▄█"], ["injured_2", " \n \n ▄▄▀▀▀█▀▀▄ \n▄▀▀ ▄ ▄█▀▄ \n█▄▄▄ ▀▀ ▄█▀▄ ▄▀█\n ▀▄▄▄ ▀ ▀▀ █\n ▄▀▀▄ █ ▄▀ ▄▀▄█\n █▄█▄█▄▄██▄█▄█▄█"], ["sleep_1", " \n \n ▄▀▀▀██▀▀▄ \n █ ▄█▀▄ ▄▀█\n █ ▄▄ ▄█▀▄▄▀ █\n█ ▄ ▄ ▄▄▄ █\n █▄▄▄▀ █ ▄▀ ▀ █▀\n █▄▄▄█▄▄██▄▄▄▄██"], ["sleep_2", " \n ▄▄▄▄▄▄▄ \n ▄▀ ▀▀▄▄▀ \n ▄▀ ▀█▄▀ ▄▀█\n▄▀ ▀▀ ▀▀▄█▄▀ █\n▀▄ ▄▀ ▄ ▄▄▄ █\n █▀▀█ █ ▄▀ ▀ █▀\n █▄▄▄█▄▄██▄▄▄▄██"], ["walk_1", " \n ▄▄▀▀▀█▀▀▄ \n▄▀▀ ▄█▀ ▄█▀▄ ▄▄\n█▄▄▄▄▄ ▄█▀▄ █ █\n ▀▄▄▄ ▄ ▀▀▀ █\n █ █ ▄▀ ▄ ▄▀\n █ ▀▄ █ ▄ █ \n █▄█▄▄▀█▄█▄█▄█ "], ["walk_2", " \n ▄▄▄▄▄▄ \n ▄▄▀▀▄▄ ▀▄▄▀ \n█ ▀▀ ▀█▄▀ ▄▀█\n▀█▀▀▀▀ ▀▀▄█▄▀ █\n ▀▀█ ▄▀ ▄ ▄ █\n ▄▀▀▄ ▀▄█ ▄ █▀\n █▄█▄▄█▄▄█▄█▄█▄█"]]], + ["ulforceveedramon", [["angry", " ▄▄ ▄▄ \n ▄▀▄█▀▄▀▄▀▄ \n █ ▄ ██▄ ▀▄\n █ ▀▀ ▄▀▀▀█ █\n █▀▄▄▀▀██▄▄█ █\n ▄▀█ ▀ ▄█ ▀ █ █\n ▀▄▀▀████▀▀▀▀█▀█\n █▄█▄▄█ █▄█▄█▄█ "], ["attack", " ▄▄▄ ▄▄▄ ▄▄▄ \n▄▀ █▀▄▀▄█▀▄▀▄▀█ \n█ ██ ▄▄ ██▄ ▀▄\n█ █ ▀▀ ▄▀▀▀█ █\n▀▄▀█▀▄▄▀▀ █▄▄█ █\n ▀▄█ ▀ ▄▀█ █ █\n ▀▄▀▀▀██▄ ▀▀▄▀█\n █▄█▄▄█ ▀▄█▄█▄█ "], ["eat_1", " ▄▀█▄▄▀█▄ \n ▄▀ ▀▀ ▄█▀ █ \n ▄▀ ▄▀▄ █▄█▄ █\n ▄▄▀██▄ ▄▀▀▀█ █\n█ █▀██▀█▀▀▄▄█ █\n ▀▄█ ▀ ▄█▄▄▄██ █\n ▄▀▀███▄ ▀█▀▄█\n █▄█▄█ █▄█▄█▄█ ▀"], ["eat_2", " ▄▄ ▄▄ \n ▄▀▄█▀▄▀▄▀▄ \n █ ▄ ██▄ ▀▄\n █ ▀ ▀▄████ █\n ▄█▀▄▄█▀▀▄ █ █\n █ █ ▀ ▄███▀▀█ █\n █▀▀██▄▄ ▀▀█▀▀█\n █▄█▄█ █▄█▄█▄█ "], ["happy", " ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄█ █ \n ▄▀ ▄▀▄█ █ █\n █▄ ▄▄█ ▄██ █\n ▄▄█ █▀ ▄██▄▄█ █\n█ █▄▄▄█▀ ▀███ █\n ▀█▀ ▄▄▄▄▄ ▀█▄█\n █▄█▄█ █▄█▄█▄█▀"], ["injured_1", " \n ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄▀ ▀▄\n ▄▀ ▀▄▄ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▄█ █▀▄▄█▄███ █\n █▄▀▄▄█ ▀ ▀ ██ █\n █▄▄▄██▄▄▄▄█▀ ▀█"], ["injured_2", " \n ▄▄ ▄▄ \n ▄▀▄█▀▄▀▄▀▄ \n █ ▄ ██▄ ▀▄ \n █ ▀▀▄█▀▀▀▄ █\n ▄██▄▄▀█▄▄█▄▄█ █\n █▄▀▄▄█ ▀ ▀ ██ █\n █▄▄▄██▄▄▄▄█▀▀▄█"], ["sleep_1", " \n ▄▄ ▄▄ \n ▄▀▄█▀▄█ ▄ \n █ ▄ ▄ █▄▀ █ \n █ ▀▀ ▄▀▀▀▄ █▄\n▄▄█▀▄▄▀███▄▄█▄ █\n█▄▀▄▄▄█ ▀ ▀ ██ █\n█▄▄▄████▄▄▄█▀▀▄█"], ["sleep_2", " \n ▄▀█▄▀█ \n ▄▀ ▀▀ █ ▄▀▄ \n ▄▀ █▄▀ █▀▄ ▀▄ \n █▄ ▄▄█▀▀▀█ ▀█\n▄▄█ █▀▄▄██▄▄██ █\n█▄▀▄▄██ ▀ ▀ ██ █\n█▄▄▄████▄▄▄█▀ ▀▀"], ["walk_1", " ▄▀█▄▀█ ▄ \n ▄▀ ▀▀ █▄▀ █ \n ▄▀ ▄█▀ ███▄ █\n █▄ ▄▄▀▄ █ █\n ▄▀█ █▀ ▄▀ ▀██ █\n ▀▄█▄▄▄█▀▄▄▄██ █\n ▄▀ ▄▄▄▄ ▀█▀▄█\n █▄█▄█ █▄█▄█▄█ ▀"], ["walk_2", " ▄▄ ▄▄ \n ▄▀▄█▀▄▀▄▀▄ \n █ ▄▄ ██▄ ▀▄\n █ ▀▀ ▄▀▀▀█ █\n ▄█▀▄▄▀▀▄▀▄▄█ █\n █ █ ▀ ▄██ █ █\n ▄▀▀▀███▄ ▀▀▀█▀█\n█▄█▄▄▄▀ ▀▄█▄█▄█ "]]], + ["ulforceveedramon_x", [["angry", " ▄▄ ▄▄ \n ▄▀█ ▀▀▀ █▄▀▄ \n ▄▀▀ ▄█ █▀ █ \n █ ▄▄▀█▀▀▀█ █\n █▀██▀ █ ▄▄█ █\n▄▀█▄ ▄▀▀█ ▄▀▀▄█\n▀▄▀▀▄██▄▄█▀▀▀▄ █\n█▄█▄▄█ ▀█▄█▄█▄█ "], ["attack", " ▄█▀█▄▄▀█ \n █▄▀ ▄▄ ▄█▀▄ \n █ ▀▀ ▄█▄▄▄█\n ▀▄▄▄▄▄▀ ▄▄▀█\n ▄▀▀▀▀▀█▀███▀▄ █\n▀▄ ▄▀█ █ ▀█\n ▄▀▀████▀██▀ ▀▄ \n█▄█▄▄█▀ █▄▄█▄█"], ["eat_1", " ▄▄█▀█▄▄▀█ ▄ \n █▄▀ ▄ ▄█▀ ▀▄ \n █▄▄▄▀ ▀ █▄▄▄▄▀▄\n ███ ▄█ ▄▀ █\n █▄▄▄▄██▄█▀█▄ █\n █ █ ▀ █ █▄▀ ▀█\n ▄▀▀█▄███▀▀▀▄ ▀\n█▄█▄▄█ █▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄ \n ▄▀█ ▀▀▀ █▄▀▄ \n ▄▀▀ ▄▀▄ █▀ █ \n █ ▄▄▀█▀▀▀█ █\n █▀██▀ █ ▄▄█ █\n ▄▀▄ ▄█▀▀█▄▀▀▄█\n █▄▀▄███▄▄▀▀▀▄ █\n█▄█▄▄█ ▀█▄█▄█▄█ "], ["happy", " ▄▄█▀█▄▄▀█ ▄ \n █▄▀ ▄ ▄█▀ ▀▄ \n █ ▀ ▀ █▄▄▄▄▀▄\n ▀████▀▄█▀ ▄▀ █\n▄▀▀▄▄▄█▀▀█▀▀█▄ █\n█▄▄█ ▄█▄▄█▄▀ ▀█\n▄█▀▀█████▀▀▀▄ ▀\n█▄█▄▄█ █▄█▄█▄█ "], ["injured_1", " \n ▄▄▄ ▄▄ \n ▄▀█ ▀▀▀ █▄▀▄ \n ▄▀▀ █▄ █▀ █ \n █ ▄▄▀█▀▀▀█ █\n▄▄▀▀██▀ ▄█▄▄▄▀ █\n█ ▀▄ ▄▀█ █▀▄█\n█▄▄██████▄▄▄█ █"], ["injured_2", " \n \n ▄█▀█▄▄▀█ ▄ \n █▄▀ ▄ ▄█▀ ▀▄ \n█ ▀▀▄█▄▄▄▄▀▄ \n█▄▄▄▄█▀ █▄▄▄█ █ \n█ ▀▄ ▄▀█ █▄█ \n█▄▄██████▄▄▄█ █ "], ["sleep_1", " \n ▄▄▄ ▄▄ \n ▄▀█ ▀▀▀ █▄▀▄ \n▄▀▀ ▄▄ █▀ █ \n█ ▄▄▀█▀▀▀█ █ \n █▀██▀ █ ▄▄█▄ █ \n▄▀█▀▄▄█▀█▀ ▀ ▀██\n█▄▄▄█████▄▄▄▄▄▀▀"], ["sleep_2", " \n ▄█▀█▄▄▀█ ▄ \n █▄▀ ▄█▀ ▀▄ \n █ ▀▀ ▄█▄▄▄▄▀ \n ▀▄▄▄▄█▀▄▀ ▄▀ \n █ ▀▀ ▄█▄███▄ \n▄▀▄▀▄▄█▀▄▀ ▀ ▀██\n█▄▄▄█████▄▄▄▄▄▀▀"], ["walk_1", " ▄▄▀█▄▄▀█ ▄ \n █▄▀ ▄▄ ▄█▀ ▀▄ \n █ ▀▀ ▄█▄▄▄▄▀▄\n ▀▄▄▄▄█▀▄▀ ▄▀ █\n ██ ▀▀ ▄█▄▀▀█▄ █\n█ █ ▄█ █ ▄▀ ▀█\n▄█▀▀█████▀▀▀▄ ▀\n█▄█▄▄█ █▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n ▄▀█ ▀▀▀ █▄▀▄ \n ▄▀▀ ▄█▀ █▀ █ \n █ ▄▄▀█▀▀▀█ █\n █▀██▀ █ ▄▄█ █\n ▄▀▄ ▄█▀▀█▄▀▀▄█\n █▄▀▄███▄▄▀▀▀▄ █\n█▄█▄▄█ ▀█▄█▄█▄█ "]]], + ["ultimatebrachiomon", [["angry", "▄▀█ ▄████▄ \n█▄██▀████▄ █▀▀▄\n███▄▄█▀█▀ ▀▄█\n▀ ▀ ▀▄▀█ █ ▄ █\n ▄█▄█▀▄█████▄▄██\n▄█▄▄▄█▄█ ▀█▄▀█▀ \n█▀▄█▀▄▄█▀▀██▀▀█ \n▀▀▀ █▄█▄█▀▄▄█"], ["attack", "▄▀█ ▄████▄ \n█▄██▀▀███▄ █▀▀▄\n███▄▄█▀█▀ ▀▄█\n▀▄▄▄▄▄▀█ █ ▄ █\n ▄█ █████▄▄██\n █ █▀▄█ ▀█▄▀█▀ \n █▀▀▄▄█▀▀██▀▀█ \n █▄█▄█ █▄█▄█▀▄▄█"], ["eat_1", " ▄▄ ▄▄▄▄ \n█ █▄█████▀ ▄▄▄ \n███▀▄▀███▀ ▀▄ █\n█▀▀▀▀▀▄█ ▄ ▀█\n ▀▀▀█▀ █▄█▄█ ▄█\n ▄▀█▄ █▀██▀███▀\n ▄▀▀█ ▀▀█▀▀██▀█ \n█▄█▄█▀▀▀█▄█▄█▄▄█"], ["eat_2", "▄▀█ ▄████▄ \n█▄██▀████▄ █▀▀▄\n███▄█▄▀█▀ ▀▄█\n▀ ▄▀█ █ ▄ █\n █▀▀▀▄▀█████▄▄██\n █▀█▀▄█ ▀█▄▀█▀ \n █▀▀▄▄█▀▀██▀▀█ \n █▄█▄█ █▄█▄█▀▄▄█"], ["happy", "▄▀█ ▄████▄ \n█▄██▀████▄ █▀▀▄\n███▄█▄▀█▀ ▀▄█\n▀ ▄▀█ █ ▄ █\n █▀▀▀▄▀█████▄▄██\n █▀█▀▄█ ▀█▄▀█▀ \n▄▀▄█▀▄▄█▀▀██▀▀█ \n▀▀▀ █▄█▄█▀▄▄█"], ["injured_1", " \n \n▄▀█ ▄████▄ \n█▄█▀█████▄ █▀▀▄ \n███▄▄█▀█▀▄ ▄▀▀█▄\n▀▄▄▄▄▄▀█▄█▄█▄███\n ▄█▄ █▄█▄██▄█▄█\n█▄▄████▄▄▄██▄▄▄█"], ["injured_2", " \n \n ▄▄ ▄▄▄▄ \n█ █▄█████▀ █▀▀▄ \n███ ▀█████ ▀▄█▄\n█▀▀▀▀▀▄█ █▄█▄▄██\n████▀▀█▄█▄██▄█▄█\n█▄▄████▄▄▄██▄▄▄█"], ["refuse", " ▄▄ ▄▄▄▄ \n█ █▄█████▀ ▄▄▄ \n███▀ ████▀ ▀▄ █\n█▀▀▀▀▀▄█ ▄ ▀█\n ▀▀▀█▀ █▄█▄█ ▄█\n ▄▀█▄ █▀██▀███▀\n ▄▀▀█ ▀▀█▀▀██▀█ \n█▄█▄█▀▀▀█▄█▄█▄▄█"], ["sleep_1", " \n▄▀█ ▄████▄ \n█▄███████▄ █▀▀▄\n███▄▄█▀█▀ ▀▄█\n▀▄▄▄▄▄▀█ █ ▄ █\n ▄█ █████▄▄██\n ▄█▄█▀▄█▄██▄▀██ \n█▄█▄█▄▄█▄█▄█▄▄▄█"], ["sleep_2", " \n ▄▄ ▄▄▄▄ \n█ █▄█████▀ █▀▀▄\n███▀▀████▀ ▀▄█\n█▀▀▀▀▀▄█ █ ▄ █\n ▀▀██▀ █████▄▄██\n ▄█▄█▀▄█▄██▄▀██ \n█▄█▄█▄▄█▄█▄█▄▄▄█"], ["walk_1", "▄▀█ ▄████▄ \n█▄██▀▀███▄ █▀▀▄\n███▄▄█▀█▀ ▀▄█\n▀▄▄▄▄▄▀█ █ ▄ █\n ▄█ █████▄▄██\n █ █▀▄█ ▀█▄▀█▀ \n █▀▀▄▄█▀▀██▀▀█ \n █▄█▄█ █▄█▄█▀▄▄█"], ["walk_2", " ▄▄ ▄▄▄▄ \n█ █▄█████▀ ▄▄▄ \n███▀ ▄███▀ ▀▄ █\n█▀▀▀▀▀▄█ ▄ ▀█\n ▀▀▀█▀ █▄█▄█ ▄█\n ▄▀█▄ █▀██▀███▀\n ▄▀▀█ ▀▀█▀▀██▀█ \n█▄█▄█▀▀▀█▄█▄█▄▄█"]]], + ["unimon", [["angry", "█▀▀▄▄█████▄ ▄▀█\n █▄▀▀ ▄▄ ▀▀▀█ ▄█\n█▄▄▄▄▀▀ ▄█▀▄▀ █\n ▀███▄ ▄█ ▄▀▄\n ▄▄███▀ ▀▀▀ █\n ▀▄▄▄▄█▀▀ ▀▄\n ██ ███▄▄ █\n █▄███▀ █▄▄█"], ["attack", " ▄▄▄▄▄ ▄▀█ \n█▀▀▄██▀▀█▀▀█ ▄▀▄\n ▀▄ ▄▄▄ ▄█ ▄▀▄▀\n▄▀ ▀ ▀ ▄█ ▄▀▄\n▀▄▄▄▄▄▀ ▀▀▀ █\n █▀▀▀█ ▀▄\n █ ██ ██▄▄ █\n ▀▀▀█▄▄▄█ █▄▄█"], ["eat_1", "▄▄▄ ▄████▄▄▄▄▀█ \n▀▄ ▀▀▀ ▀ ▄▀▀▄▀█\n ▄▀▀ ▄█▀ ▀█ ▄▀▄▀\n█ ▄ ▀▀▀ ▀▄\n ▀▀█▀▀ █\n █ █ ▀█ ▀▄\n ▀▄█▄▄█▀████▄ █\n █▄▄█▄▄█"], ["eat_2", "█▀▀▄▄█████▄ ▄▀█\n █▄▀▀▄▄▄ ▀▀▀█ ▄█\n█▄▄▄▄▄ ▀ ▄█▀▄▀ █\n ████ ▄█ ▄▀▄\n ▄▄███▀ ▀▀▀ █\n ▀▄▄▄▄█▀▀ ▀▄\n ██ ███▄▄ █\n █▄███▀ █▄▄█"], ["happy", "█▀▀▄▄█████▄ ▄▀█\n █▄▀▀▄▄▄ ▀▀▀█ ▄█\n█▄▄▄▄▄ ▀ ▄█▀▄▀ █\n ████ ▄█ ▄▀▄\n ▄▄███▀ ▀▀▀ █\n ▀▄▄▄▄█▀▀ ▀▄\n ██ ███▄▄ █\n █▄███▀ █▄▄█"], ["injured_1", " \n \n ▄▄▄▄▄ \n█▀▀▄██▀▀█▀▀█ ▄▄▄\n ▀▄ ▄█▀▀▄▄█\n▄▀ ▀▀▀▀ ▄█▀▀▄▄▀\n▀▄▄▄▄▄▄▀ ▀▀▀▄ \n▀▄▄█▄▄▄██▄▄▄█▄▄█"], ["injured_2", " \n \n ▄▄▄▄▄ \n█▀▀▄██▀▀█▀▀█ ▄▄▄\n ▀▄ ▄█▀▀▄▄█\n▄▀ ▀▀▀▀ ▄█▀▀▄▄▀\n▀▄▄▄▄▄▄▀ ▀▀▀▄ \n▀▄▄█▄▄▄██▄▄▄█▄▄█"], ["refuse", "▄▄▄ ▄████▄▄▄▄▀█ \n▀▄ ▀▀▀ ▀ ▄▀▀▄▀█\n ▄▀▀ ▄█▀ ▀█ ▄▀▄▀\n█ ▄ ▀▀▀ ▀▄\n ▀▀█▀▀ █\n █ █ ▀█ ▀▄\n ▀▄█▄▄█▀████▄ █\n █▄▄█▄▄█"], ["sleep_1", " \n \n ▄▄▄▄▄ \n█▀▀▄██▀▀█▀▀█ ▄▄▄\n ▀▄ ▄█▀▀▄▄█\n▄▀ ▀▀▀▀ ▄█▀▀▄▄▀\n▀▄▄▄▄▄▄▀ ▀▀▀▄ \n▀▄▄█▄▄▄██▄▄▄█▄▄█"], ["sleep_2", " \n \n ▄▄▄▄▄ \n█▀▀▄██▀▀█▀▀█ ▄▄▄\n ▀▄ ▄█▀▀▄▄█\n▄▀ ▀▀▀▀ ▄█▀▀▄▄▀\n▀▄▄▄▄▄▄▀ ▀▀▀▄ \n▀▄▄█▄▄▄██▄▄▄█▄▄█"], ["walk_1", "▄▄▄ ▄████▄▄▄ ▄▀█\n▀▄ ▀▀▀ ▀ ▄█▀ ▄█\n ▄▀ ▄▀█▀ ▀█ ▄▀ █\n█ ▄ ██ ▄▀▄\n ▀▀▀█▀ ▀▀▀ █\n ▀▄▄█ ▀▄\n █ █ ██▄▄ █\n █▄█▄▄▄█ █▄▄█"], ["walk_2", " ▄▄▄▄▄ ▄▀█ \n█▀▀▄██▀▀█▀▀█ ▄▀▄\n ▀▄ ▄▄▄ ▄█ ▄▀▄▀\n▄▀ ▀ ▀ ▄█ ▄▀▄\n▀▄▄▄▄▄▀ ▀▀▀ █\n █▀▀▀█ ▀▄\n █ ██ ██▄▄ █\n ▀▀▀█▄▄▄█ █▄▄█"]]], + ["upamon", [["angry", " \n \n ▄▄ ▄▄ \n █ ▀▄▀▀▀▀▄▄▀▄█ \n ██ █▄ ▄█ ▄▄█ \n █ ▄▀▄ ▄▀ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄▄▄ "], ["attack", " ▄▄▄▄ \n ▄▀▀▀▀█▀ ▄█ \n █ ▄█ ▀ █ \n █▄▄▄ ▄▄▀ \n ████ █ \n █▀▀ ▄▀ \n ▀▀▀▀ \n ▄▄▄▄ "], ["eat_1", " \n ▄▄ ▄▄ \n █ ▀▄▀▀▀▀▄▄▀▄█ \n ██ ▄ ▄ ▄▄█ \n █ ▄▄▄ █ \n ▀▄ ███ ▄▀ \n ▀▀▀▀▀ \n ▄▄▄▄▄▄ "], ["eat_2", " \n \n ▄▄▄▄ ▄▄▄▄ ▄▄▄▄\n ▀▄▄ ▀ ▀▀▄▄▄▀\n █ ▄▀▄ ▄▀▄ ▄▀ \n █ ▄▀▄ ▄▀ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄▄▄▄▄ "], ["happy", " ▄▄ ▄▄ \n █ ▀▄▀▀▀▀▄▄▀▄█ \n █▀ ▄ ▄ ▄▀ \n ▀▄▀ ▀ ▀ ▀ █ \n █ █████ █ \n ▀▄ ▀▀▀ ▄▀ \n ▀▀▀▀▀ \n ▄▄▄▄▄▄ "], ["injured_1", " \n \n \n \n █▀▀▀▄▀▀▀▀▄▄▀▀▀█\n █▀ ▄ ▄ ▀▀█ \n █▀▀ ▄ ▀▀▄▀▀ \n ▀▄█▄█▄▀ "], ["injured_2", " \n \n \n \n ▄▄ ▄▄▄▄ ▄▄ \n ▄▀▄ ▀ ▀▀ ▄▀▄\n █▄█ ▄█ █▄ ▄▄▄█\n ▀▄▄▄▄▄▄▄▀ "], ["sleep_1", " \n \n \n ▄▄▄▄ ▄▄▄▄ ▄▄▄▄\n ▀▄▄ ▀ ▀▀▄▄▄▀\n ▀▄▀▀ ▄ ▀▀ ▄▄▀ \n ▀▄ ▀ ▀ ▄▀ \n ▀▀▀▀▀ "], ["sleep_2", " \n \n \n █▀▀▀▄▀▀▀▀▄▄▀▀▀█\n █▀▄▄ ▄▄ ▀▀█ \n █ ▄▀▄ ▄▀▀ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄▄▄▄▄ "], ["walk_1", " \n \n █▀▄ ▄▄▄▄ ▄▀█ \n █▄ ▀ ▀▀ ▀█ \n ▀█ ▀ ▄ ▀ █▀▀ \n ▀▄ ▀ ▀ ▄▀ \n ▀▀▀▀▀ \n ▄▄▄▄▄▄ "], ["walk_2", " \n \n \n █▀▀▀▄▀▀▀▀▄▄▀▀▀█\n █▀ ▄ ▄ ▀▀█ \n █ ▄▀▄ ▄▀▀ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄▄▄▄▄ "]]], + ["vademon", [["angry", " ▄▀▀█▀▀▄ \n █ █ ▀ █ \n █ ▀ █ \n ▀█▀▄▄▄▀█▀ \n ▄▄██ ██▄ \n ▀▄▀█ █▀█ █▄ \n █▀▄▀▄ █▀█▀█ ▀ \n▄▀▀▀▄▄▀▄▀▄▀▄▀▄▄ "], ["attack", " ▄▀█▀▀█▄ \n █ ▄ █ ▀ █\n █▄▄ ▄▄█\n▄ █▄█▄█▄█ \n▄ ▄ ▄ ▀▄█▄▀ \n▄▀▄█ ▀█▀▄ ███ \n▄▀ ▀▄▀█▀ █▄█▄█ \n▄ ▄▀▄▀▄▀▄▀▄"], ["eat_1", " ▄▀█▀▀█▄ \n █ ▄ █ ▀ █ \n █▄▄ ▄▄█ \n █▄█▄█▄█ \n ▄█ ▀▄█▄▀ \n ▄ ▄▄▀▄ ███ \n ▄▄▀▄▀ █▄█▄█ \n▄█▄█ █▄▀▄▀▄▀▄▀▄▄"], ["eat_2", " ▄▄▄▄▄ \n ▄▀ ▄▀ ▀▄ \n █ ▀▄ █ \n ▀▄▀ ▀ ▀▄▀ \n █▀▄ ▄▀█ \n ▄ ▄▄ ▀█▄█▀ \n ▄▄▀▄▀█▄▄█▄█▄ \n▄█▄█ █▄▀▄▀▄▀▄▀▄▄"], ["happy", " ▄▀▀█▀▀▄ \n▀▄▄▄ █ █ █ \n █▄▀▄▀█ ▄ █ ▄ █ \n ▄▀▄█ █▄ ▄█ \n ▀▄▀▄█ █▄▀█▄\n ▀▄█▀█▄▀ \n ▄▀█▀▄ \n ▄▄▀▄▀▄▀▄▀▄▄"], ["injured_1", " \n ▄▀▀█▀▀▄ \n █ █ █ \n █ █ █ █ \n █▄▀▄ ▄█ \n ▄ ▄▄ ▀▄▄▀▄▄▀ \n ▄▄▀▄▀▀▀▀█ █▀▀█▀\n▄█▄█ █▄ ▄▀█▀▄▀▄▄"], ["injured_2", " \n ▄▄▄▄▄ \n ▄▀ █ ▀▄ \n █ ▄▀ ▄ █ \n ▀▄ █ ▀▄▀ \n ▄ ▄▄ █▀ █ ▀█ \n ▄▄▀▄▀▀▄██ ██▄▄ \n▄█▄█ █▄ ▄▀▄▀▄ ▄█"], ["sleep_1", " ▄▄▄▄▄ \n ▄▀ ▀▄ █▀▄ \n ▄ ▄█ ▀ ▀ █ \n █▀█▀█▀▀▄▀▀██ \n▄▀▀█▀▀▀▀▀▀▀▀█▀▀▄\n█ ▄▀█▀█▀█▀█▀█▄ █\n█ ▀█▄█▄█▄█▄█▄▀ █\n▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀"], ["sleep_2", " ▄▀█▀▀█▄ \n █ ▄ █ ▀ █ \n ▄ ▄█▄▄▄ ▄▄▄█ \n █▀█ ▀▄▄▀▄▄▀█ \n▄▀▀█▀▀▀▀▀▀▀▀█▀▀▄\n█ ▄▀█▀█▀█▀█▀█▄ █\n█ ▀█▄█▄█▄█▄█▄▀ █\n▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀"], ["walk_1", " ▄▀▀█▀▀▄ \n █ █ ▄ █ \n▄ █ ▄ █ ▀ █ \n █▀█ ▄ █▄ ▄█ \n ▀▀▄▀▄ ▀▄█ █▄▀ \n ▀ ▀▀▀▄▄█▀█▄▄ \n ▄▀█▀▄ █▀\n ▄▄▀▄▀▄▀▄▀▄▄"], ["walk_2", " ▄▄▄▄▄ \n ▄▀ ▄▀ ▀▄ \n █ ▀▄ █ \n▀▄▄▄ ▀▄▀ ▀ ▀▄▀ \n █▄▀▄▀ █▀▄ ▄▀█ \n ▄▀▄█▄ ▀█▄█▀ ▄▀\n ▀▀█▄█▀▀ ▀\n ▄▄▀█ █ █▀▄▄"]]], + ["valkyrimon", [["angry", " ▄▄▀▀▀▄▀▀▀▀▀█ \n ▄▀▀▄ ▄▄▄ ▀█▀ \n ▀▄ ▄██▀ ▀█▄ \n ▀▄ ▄▄▄▀█ █▄ \n ▄▀▀█▀▀ ▀█▄▄▀▄▀ \n ▀▄▄███▄█ ▀▄▀ \n █▀▀▄█ ▀▀█▀ \n █▄▄▄█ █▄▄▄█ "], ["attack", " ▄▄▄ ▄▄▄▄▄▄ \n ▄█▀ ▀ ▄▄▄▀ \n █ ▀▀▄█▀ ▄▄▀ \n ▀▄▀▀▀▀ ▄▄▀ \n █▄▄▀█ ▄█▄ \n ▄▀▀▄▄ ▄▀▀▄ █▀▄\n █▄████▀▄▄█▀▄▀ \n █▄▄▄█ ▀▀▄▄▄██ "], ["eat_1", " ▄▄▄ ▄▄▄▄▄▄ \n ▄█▀ ▀ ▄▄▄▀ \n █ ▀▄▀▀▄ ▄▄▀ \n ▀▄▀ ▄▄▀ \n █▄▄▀█ ▄█▄ \n ▄▀▀█▄▄ ▄█▀▀ █▀▄\n ▀▄▄████▀█▄▄▀▄▀ \n █▄▄▄█ ▀▀▄▄▄██ "], ["eat_2", " ▄▄▀▀▀▄▀▀▀▀▀█ \n ▄▀▀▄ ▄▄ ▀█▀ \n ▀▄ ▄▀▀ ▀█ \n █ ██ ▀▀▄ \n ▄█▀▀ ▀▄█▀▀▄▄ \n █ ▄██▄█ █▄▀▄▀\n █▀▀▄█ ▀▀█▄▀ \n █▄▄▄█ █▄▄▄█ "], ["happy", " ▄▄▀▀▀▄▀▀▀▀▀█ \n ▄▀▀▄ ▄▄ ▀█▀ \n ▀▄ ▄▀ ▀ ▀█ \n ▀▄ ▄▄▄▀▀▄ \n ▄▀▀█▀▀ ▀▄█▀▀▄▄ \n ▀▄▄███▄███▄▄▀▄▀\n █▀▀▄█ ▀▀█▄▀ \n █▄▄▄█ █▄▄▄█ "], ["injured_1", " \n ▄▄▄ ▄▄▄▄▄▄ \n ▄█▀ ▀ ▄▄▄▀ \n █ ▀▀▄▄▄ ▄▄▀ \n ▀▄▀▀ ▀ ▄▄▀ \n █▄▄▀█ ▄█▄ \n ▄▀▀█▀▄ ▄▀█▀▀█▀▄\n █▄▄█▄███▄█▄▄██ "], ["injured_2", " \n \n ▄▄▀▀▀▄▀▀▀▀▀█ \n ▄▀▀▄▄ ▀█▀ \n ▀▄ ▄▄▀█▀ ▀█ \n ▀▄ ▄▄▀▀▄▄ \n ▄▀▀█▀█ ▄▀█▀▀█▀▄\n █▄▄█▄███▄█▄▄██ "], ["refuse", " ▄▄▄ ▄▄▄▄▄▄ \n ▄█▀ ▀ ▄▄▄▀ \n █ ▀▀▄█▀ ▄▄▀ \n ▀▄▀▀▀▀ ▄▄▀ \n █▄▄▀█ ▄█▄ \n ▄▀▀▄▄ ▄█▀▀ █▀▄\n █▄████▀█▄▄▀▄▀ \n █▄▄▄█ ▀▀▄▄▄██ "], ["sleep_1", " \n ▄▄▄ ▄▄▄▄▄▄ \n ▄█▀ ▀ ▄▄▄▀ \n █ ▀▀▄ ▄▄▀ \n ▀▄▀▀▀▀ ▄▄▀ \n █▄▄▀█ ▄█▄ \n ▄▀▀▄▄ ▄▀▀▄ █▀▄\n █▄█████▄▄██▄█ "], ["sleep_2", " \n \n ▄▄▀▀▀▄▀▀▀▀▀█ \n ▄▀▀▄▄ ▀█▀ \n ▀▄ ▄▄█▄ ▀█ \n ▀▄ ▄▄▀▀▄▄ \n ▄▀▀██ ▄▀▀▄ █▀▄\n █▄█████▄▄██▄█ "], ["walk_1", " ▄▄▀▀▀▄▀▀▀▀▀█ \n ▄▀▀▄▄ ▄▄ ▀█▀ \n ▀▄ ▄▄██ ▀█ \n ▀▄ ▄▄▀▀▄ \n ▄█▀▀ ▀▄█▀▀▄▄ \n █ ▄██▄█ █▄▀▄▀\n █▀▀▄█ ▀▀█▄▀ \n █▄▄▄█ █▄▄▄█ "], ["walk_2", " ▄▄▄ ▄▄▄▄▄▄ \n ▄█▀ ▀ ▄▄▄▀ \n █ ▀▀▄█▀ ▄▄▀ \n ▀▄▀▀▀▀ ▄▄▀ \n █▄▄▀█ ▄█▄ \n ▄▀▀▄▄ ▄▀▀▄ █▀▄\n █▄████▀▄▄█▀▄▀ \n █▄▄▄█ ▀▀▄▄▄██ "]]], + ["varodurumon", [["angry", " ▄▄▄▄ \n ▄▀▀▄▄▄▀ ▄▀▀█\n ▄▀ ▄▀ ▀▄▀▄▀ ▀█▀\n▄▀ ▄▄▀▀▄▀▀▀▄█▀█\n█ ▄▀ ▄▀█▄▀▀ ▀▄\n ▀▀▀▀ ▀▄ ▀▄ ▀█\n █▄▀▄▄█▄ ▀█\n ▀▀ ▀██"], ["attack", "▄▀▀▀▀▄▄▄▀▀█ ▄▀▀█\n █▄ ▄▄▀▀▄▀ ▀█\n ██▄▀▀ ▄█▀ ▀█\n ██▀▀█▀ ▄█▀ \n █▄▄▄▀ ▀▄ ▀▄\n ▀█▄ ▄ ▄█▀▀\n █▄▀▄█ ▄█▄\n ▀▀ ▀▄▄▄▄█"], ["eat_1", " ▄▄▄▄▀▀▀█ ▄▄\n▄▀▀ ▄▄▀█▀▄ ▄▀▄█\n▀███▄ ▄▄▀▄█ ▄▄█\n ▀██▀▀▄▄▀ ▀▄▀ \n ▀▄▄▄█▄▀ ▄ █ \n ▀▄ █ ▄█\n █▄▀▄▄█ ▄█\n ▀▀ ▀▄▄█"], ["eat_2", " ▄▄▄▄ ▄▄▄\n ▄▀▀▄▄▄▀ ▄▀ ▄█\n ▄▀▄▀▄ ▀▄▀█ ▄▀\n▄▀ ▄▄▀▀▄▀ ▀▄█▀█\n█ ▄▀ ▄▀█▄▀ ▀▄\n ▀▀▀▀ ▀▄ █▄ ▀█\n █▄▀▄▄▀▄ ▀█\n ▀▀ ▀▀▀██"], ["happy", " ▄▄▀▀▄█▀▀█ ▄▀▀█\n▄▀ ▄▀▄ █▀▄█ ▀█\n▀███▄▄ ▄▄▀█ ▀█\n ▀██▀▀▄▄▀ ▄▄▀ \n █▄▄▀▄▀ ▀▄ ▀▄\n ▀▄ █ ▄█▀▀\n █▄▀█ ▄█▄\n ▀ ▀▄▄▄▄█"], ["injured_1", " \n ▄▄▀▀▀█ \n ▄▀▄ ▀█▀▄▄▄ \n █ ▀▀▄▄▀▄ ▀▄ \n█ ▄▀▀▄▀▄▀▄ ▄▄█ \n▀▄█▄▄▀▄▀█ █ ▄▄█\n █ ▀▄ ▀▄▄▄█\n ▀▄▄▄█▄▄▄▄█"], ["injured_2", " \n ▄▄▄▄ \n ▄▀▀▄▄▄▀▄▄ \n ▄▀ █▄ ▀▄▀ ▀▄ \n▄▀ ▄▄▀█▀▄ ▄▄█ \n█ ▄▀ ▄▀█▄▀▄ ▄▄█\n ▀▀▀▀▄▀ ▀▄ ▀▄▄▄█\n ▀▄▄▄▄█▄▄▄▄█"], ["sleep_1", " \n \n ▄▄▄▄ \n ▄▀▀▄▄▄▀▀▀▀▄ \n ▄▀ ▄▄ ▀▄▀▄ ▀▄\n▄▀ ▄▄▀▀▄█ █ ▀█\n█ ▄▀ ▄▄▀▄█ ▀▄ ▀█\n ▀▀▀▀ ▀█▄▄█▄▄██▀"], ["sleep_2", " \n \n ▄▄▀▀▀█ \n ▄▀ ▀█▀▄▀▀▀▄ \n █ ▀▀▄▄▀▄▄ ▀▄\n█ ▄▀▀ ▄▀▄ █ ▀█\n▀▄█▄▄▀█▄▀█ ▀▄ ▀█\n ▀▄▄▄█▄▄██▀"], ["walk_1", " ▄▄▀▀▀█ ▄▀▀█\n ▄▀ ▄▀█▀▄▄█ ▀█\n █ ▀▀▄▄▀▄▀ ▀█\n█ ▄▀▀▄▄▀▄▀ ▄▄▀ \n▀▄█▄▄▀▄▀▀ ▄▀▄ ▀▄\n ▄▀▄ ▄█▀▀\n ▀▀▄█ ▄█▄\n ▀▄▄▄▄█"], ["walk_2", " ▄▄▄▄ ▄▄▄\n ▄▀▀▄▄▄▀ ▄▀▄▄█\n ▄▀ ▄█ ▀▄▀█ ▄▀ \n▄▀ ▄▄▀▀▄▀ ▀▄▀█\n█ ▄▀ ▄▀█▄▀▄ ▀▄\n ▀▀▀▀ ▀▄ █ ▀█\n █▄▀█▀▀▄ ▀█\n ▀ ▀▀▀"]]], + ["veedramon", [["angry", " ▄▄▄▄▄▄▄▄▄▄▄\n█▀▄▄▀ ▀▄ ▄▄▀\n█▀ ▄█▀ █▀ \n▀█▀▀▀▄ █ \n ▀▀█▀▀ ▄ ▀▄ \n▄▀▀██▄▄█▀ ▄▀▀ ▄█\n▀▄▄█ ▀▀ █▄▄▀▄▀\n█▄█▄██▄▄▄█▄█▄█▄█"], ["attack", "█▀▄▄▄▀▀▀▀▀█▀▀▀▀█\n█▀ ▄█▀ █▄▀▀ \n▀█▀█▀█▄ █ \n ██████▄ █▄▄ \n ▄█▄█▄█▄█ ▄ █\n █▄▄▄▄▄▄ █ █\n█▄█▀▄▀▀ ▄▀▀▀█▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_1", "█▀▄▄▄▀▀▀▀▀█▀▀▀▀█\n█▀ ▄▀▄ █▄▀▀ \n▀█████▄ █ \n █████ █ \n ▄█▄▄▄▀ ▄ ▄█ █ \n ▀▄▄▄▄▄▀ █ ▄█▀█\n ▄█▀▄ █▀ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["eat_2", " ▄▄▄▄▄▄▄▄▄▄▄\n█▀▄▄▀ ▄ ▀▄ ▄▄▀\n█▀ ▄ ▀ ▀ █▀ \n▀█▀▀▀ █ \n ▀▀█▀▀ ▄ ▀▄ \n▄▀▀██▄▄█▀ ▄▀▀ ▄█\n▀▄▄█ ▀▀ █▄▄▀▄▀\n█▄█▄██▄▄▄█▄█▄█▄█"], ["happy", "█▀▄▄▄▀▀▀▀▀█▀▀▀▀█\n█▀ ▄▀▄ █▄▀▀ \n ▀█████ ▀▄▀▀▄\n▄▄▄████ ▀ ▄▀\n█▄█▄▄▀ █ \n ▀▄▄▄▄▄▄▀▄▀▄▀█▀▄\n ▄█▀▄▀▀ █ ▀ ▀ █\n█▄█▄▄██▀▀▀▀▄▄▄▀ "], ["injured_1", " ▄▄▄▄▄▄▄▄▄▄▄\n█▀▄▄▀ ▀▄ ▄▄▀\n█▀ █▄ █▀ \n▀█▀▀▀ █ \n ▀▀█▀▀ ▄ ▀▄ \n ▄▀██▄▄█▀ ▀▄ █ \n █▄█ ▀▀ ▄█▄▄█ \n█▄█▄██▄▄▄█▄█▄█▄█"], ["injured_2", " \n▄▄ ▄▀▀▀▀▀█▀▀▀▀█\n█▄▀▀ ▄ █▄▀▀ \n█▄▄▄▄ ▀▀ ▀▄ \n ▀▄▄▄▄▄ ▀▄ \n ▄▄▀█ ▄█ ▄ ▀▄\n█▄▄█▀██▀ ▄▄█▄▄▀\n█▄█▄█▄▄▄▄█▄█▄█▄█"], ["sleep_1", " \n ▄▀▀▀▀▀█▀▀█ \n █ █▀ \n█▀▄ ▄ ▀▄ \n▀▄▄▀ ▀▀ █ ▄▄\n▄▀▄ ▄▄▀ ▄▄▄█▄█\n█▄▀█▀▀ █ ▀ ▀ █\n█▄▄▄█▄▄▄▄▄█▄▄▄▄▀"], ["sleep_2", " ▄▄▄▄▄▄▄▄▄ \n ▄▀ ▀▄▄▀ \n ▄▄▀ █ \n █ ▀▄ ▄▄▀ █ \n █▀ ▄ █ \n▄█ █▄▄▄█▀ ▄█▄▄█ \n█▄▀█ ▀▀ █ ▀ ▀ █\n█▄▄▄▄▄▄▄▄▄█▄▄▄██"], ["walk_1", "▄▄ ▄▀▀▀▀▀█▀▀▀▀█\n█▄▀▀ ██▀ █▄▀▀ \n█▄▄▄▄▄ █ \n ▀▄▄▄▄▄ █ \n ▄▄█ ▄█ ▄█ █ \n █ █▀██▀ █ ▄█▀█\n ▄█▀▄ █▀ ▀▄▀\n█▄█▄▄██▀▀█▄█▄█▄█"], ["walk_2", " ▄▄▄▄▄▄▄▄▄▄▄\n█▀▄▄▀ ▄▄▄ ▀▄ ▄▄▀\n█▀ ▀▀ █▀ \n▀█▀▀▀▀ █ \n ▀▀█▀▀ ▄ ▀▄ \n▄▀▀██▄▄█▀ ▄▀▀ ▄█\n▀▄▄█ ▀▀ █▄▄▀▄▀\n█▄█▄██▄▄▄█▄█▄█▄█"]]], + ["veemon", [["angry", " ▄▄▄▄▄▄ \n ▄█▀▄ ▀▀▄▄ \n █ ▀ ▄█ ▄▄▄█ \n █ ▀▀▀ █ \n ▀▄▄▀▀▀▄ ▄▀ \n ▄▀▀█▀▀ ▄█ ▀▄▀▀█\n █▄▄▀ █ ▄█▀▀ \n█▄▄█▀▀▀▀▀██▄▄█ "], ["attack", " ▄▄▀█▀▀▀▀▄▄▄▄▄\n ▄▀ ▀ ▄█ ▄▄▀\n █████▄▀▀▀ █ \n ██████ █ \n █▀▀▀▀ ▄ ▀▄ ▄▄\n ▄▀▀█▀▀▀ ▄▀ █ █\n ▀▄▄▀▄ ▀▄▄█▄▀ \n █▄▄█▀▀▀▀█▄▄▄█ "], ["eat_1", " ▄█▀▀▀▀▀▀▄▄ \n █▀▄▀ ▄ ▀▄ \n █ ▀ ▀ █▀▄█ \n ███▀▀█ █ \n ▄▀█▄▄█▄▀▀█▄ \n ▀▄▄█ ▀▄ █▄▀█ \n ▄▀▄ ▄▀█▄▄▀ \n █▄▄█▀█▄▄▄█ "], ["eat_2", " ▄▄▄▄▄▄ \n ▄█▀▄ ▀▀▄▄ \n █ ▀ ▄▀▄ ▄▄▄█ \n █ ▄ █ \n █▀▀▀ ▄▄▀▄ \n █ █▀▀▀█ ▄█▄▀█ \n █▀▄ ▀▀▀▄▄▀ \n █▄▄█▀▀▀▀█▄▄▄█ "], ["happy", " ▄█▀▀▀▀▀▄▄ \n █▀▄▀ ▄ ▀▀█\n █▄▄▄▄▄▀ ▀ █▀▀ \n ▄███▀▀█ ▄▀▀▄ \n █ █▀▀▀ ▄▀ ▄▀ \n ▀▄█▀▀▀ ██▄ \n ▄▀▄ ▄▀▄▄▀▄\n █▄▄█▀▀▀█▄▄▄█▀▀"], ["injured_1", " ▄▄▄▄▄▄ \n ▄█▀▄ ▀▀▄ \n █ ▀ ▄ ▄ ▀▄ \n █ ▀▀ █▀▀▀ \n ▀▄▄▀▀ ▄ ▄▀ \n ▄█▀▀▀ ▄ ▀▄ \n █ █▄ █ █▀▄ \n █▄▄█▀█▄███▀▄█ "], ["injured_2", " \n ▄█▀▀▀▀▀▄▄ \n █▀▄▀ ▀▄ \n ▄▀ ▀▄▄ █▄▄█ \n █ ▄▄ █ \n ▄██▄▄▄▀ ▀▄ \n█ ▄█▄ ▀▄ █▄ \n █▄▄▄▀▀█▄▄██▀▄█ "], ["sleep_1", " \n ▄▄▄▄▄▄ \n ▄▀ ▀▀▄▄▄ \n █▀▄▀ ▄▄▄▀ \n █ ▀▀▀ █ \n ▀▄ ▄▀ ▄ ▀▀▄ ▄▄\n▄▀██▀▀█▀ ▄▀▀█ █\n▀▄▄█▄▄█▄▄█▄▄▄█▀ "], ["sleep_2", " \n ▄▀▀▀▀▀▀▄▄ \n █▄ ▄ ▀▀▄ \n ▄▀ ▀ ▄▄▄ █▀▀▀ \n █ ▄ ▄▀ \n ▀▄▄█▄▄▄ ▀▄ \n▄▀█▄ ▀▄▀ ▄▀▀▄▄▄\n▀▄▄█▄▄█▄▄█▄▄▄█▄▀"], ["walk_1", " ▄█▀▀▀▀▀▄▄ \n █▀▄▀ ▄▄ ▀▀▄ \n ▄▀ ██▄ █▀▀▀ \n █ ▄▄ █ \n ▀█▄▄▄▀ ▀▄ \n ▄▀█ ▄▀▀ █▄▄ \n ▀▄▀▄ ▀▄▄█ ▄▄█ \n █▄▄█▀█▄▄▄█ "], ["walk_2", " ▄▄▄▄▄▄ \n ▄█▀▄ ▀▀▄▄▄ \n █ ▀ ▄█▀ ▄▄▄▀ \n █ ▀▀▀ █ \n ▀▄▄▀▀ ▄▄▀▄ \n █ █▀▀▀█ ▄█▄▄▄ \n █▀▄ ▀█▀▄▄▄▀ \n █▄▄█▀▀▀█▄▄▄█ "]]], + ["vegiemon", [["angry", " ▄▄ ▄▀▄ ▄▄ \n ▀▄▄▀█▄█▀▄▄▀ \n█▀▄ ▄▀▀▀▀█▀ ▄▀█\n ▄▀ ▄▀ █ ▀▄ \n█ ▄█▀▄ ▄▀ █ █\n▀▄█▄▄▄▄▄▄ █▄▀\n █▄▄▄▄▄ ▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["attack", " ▄▄ ▄▀▄ ▄▄ \n ▀▄▄▀█▄█▀▄▄▀ \n ▄ ▄▄▀ ▄█▄ \n█ ▄▀▀▀▀ ▀▀▄ █ ▀▄\n █ ▀███████ ▀▄▄▀\n▄▀ ████████ █▀▄\n█ █▀██████▀ █ █\n ▀▀ ▀▄▄▄▄▄▄▄▀ ▀ "], ["eat_1", " ▄▄ ▄▀▄ ▄▄ \n ▀▄▄▀█▄█▀▄▄▀ \n ▄ ▄█ ▄▀▄ \n█ ▄▀▀ ▀ ▀ █ ▀▄\n █ ▀███████▄▀▄▄▀\n▄▀ ▄██▀▄▀ ▀█ █▀▄\n█ █ ▀▀ ▄▀ █▄▀\n ▀ ▀▄▄▄▄▄█▄▄▀ "], ["eat_2", " ▄ \n▄▄ ▄▀▀▄█ █▄▀▀▄ \n █ ▀▀▄▀▀▀▄▀▀ ▄▄\n█ ▄▄▀█ █ █ █ ▀\n ▀█ ▄ █ █ \n ▄▀▀▀▀▀▀ ▄ █▀ \n ▄▀▀▀▀▀ ▄▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "], ["happy", " ▄▄ ▄▀▄ ▄▄ \n ▀▄▄▀█▄█▀▄▄▀ \n ▄ ▄█ ▄▀▄ \n█ ▄▀▀ ▀ ▀ █ ▀▄\n█ ▀▄▄▄▄▄██▄▀▄▄▀\n▀▄▄ ▄███████ █▀ \n █▀█████▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_1", " ▄▄ ▄▀▄ ▄▄ \n ▀▄▄▀█▄█▀▄▄▀ \n▄▄ ▄▀▀▀▀█▀ ▄▄\n▀ █ ▄▀ █ █ ▀\n▄▀▄█▀▀ ▀▀ █ ▀▄\n█ █▀▀▀▀▀▀▄ █ █\n ▀█▀▀▀▀▀ █▀ \n ▀▄▄▄▄▄▄▄▄▀ "], ["injured_2", " \n ▄▄ ▄▀▄ ▄▄ \n █ ▄██▄██▄ █ \n ▀█▀ ▀▄▀▀ \n▀▄ ▄█▄ ▄▄ ▀▄ ▄▀\n▄▀█▄▄▄▄▄▄ ▀▄▀▄\n█ █▄▄▄▄▄ ▀ █ █\n▀▄▄▀▄▄▄▄▄▄▄▄▀▄▄▀"], ["sleep_1", " \n ▄▀▄ \n ▄▀▀▄▀▄▀▄▀▀▄ \n █▄▀▄▀▀▀▄▀▄█ \n ▄▀ ▀▄ \n █ ▀▄ \n █ ▀▀ ▀▀ █ \n▀▄▄▄▀▄▄▄▄▄▄▄▀▄▄▀"], ["sleep_2", " ▄ \n ▄▄ █ █ ▄▄ \n ▀▄▄▀▄█▄▀▄▄▀ \n ▄▀ ▀▄ \n ▄▀ ▀▄ \n █ ▄▄ ▄▄ ▀▄ \n █ █ \n▀▄▄▄▀▄▄▄▄▄▄▄▀▄▄▀"], ["walk_1", " ▄▀▄ \n▀▄ ▄▀▀▄▀▄▀▄▀▀▄ █\n ▀▄ ▀▀▄▀▀▀▄▀▀ █ \n ▄▀ █▄ ▄▀ █ ▀▄\n ▀▄▄▀ ▄ █▄▄▀\n ▀▄▀▀▀▀ █ \n █ █ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_2", " ▄▄ ▄▀▄ ▄▄ \n ▀▄▄▀█▄█▀▄▄▀ \n ▄ ▄▄▀ ▄█▄ \n█ ▄▀▀▀▀ ▀▀▄ █ ▀▄\n █ ▀▄▄▄▄▄██ ▀▄▄▀\n█ ▄█████▀ █▀▄\n ▀▄█▀▀▀▀▀ █▄▀\n ▀▄▄▄▄▄▄▄▀ "]]], + ["velgrmon", [["angry", " ▄▀█▄▀█ \n ▄▀ ▀ ▄▀█ \n ▄██ ▄ ▄█▀▀▄ \n ▄▀ ▀▀ ▄█ ▄███\n █ ▄▀▀▄▄▀▄▄█████\n ▀▀▀█▀▄▀▀▄█ ▀██\n ▄▀▀ ▀██▀ ▀▀▄ \n █▄▀▀▄▀▀▄▀▀▄█ "], ["attack", "▄▀▀▀▀██▀▀█▄ ▄█\n ▀▀▄ ▄█▀ ▀▄█ █\n ▀▄ ▀█ █▄█\n █▀▀▀▀ ▄▀▀ ▄███\n ▀▀███▀▄█▀███▀ \n ▄▄█▄▄▀▄▄██▄ \n █▄ ▀█▄▄▄▀▀ ▄█ \n ▀▄█▀ ▀█▄▀ "], ["eat_1", "▄▀▀▀▀▀██▀█▄ \n ▀▀█▄ ▄▄ ▀▄▄ \n ██ ▀█ ▄█▄\n ▄▀▀▀▀ ▄▄▀▀▄▄███\n ▀▀███▀▄█▀███ █\n █▄▄▀▄▄██ ▀▄█\n ▄▀▀ ▀▄▄▄▀ ▀▀▄ \n █▄▀▀▄▀ ▀▄▀▀▄█ "], ["eat_2", " ▄▀█▄▀█ \n █▄ ▀ ▄▀█ \n █▀▀ ▄▄ ▄█▀█▄ \n ▄▀ ▀ ▀▄█ ▀███\n █ ▄▀▀▄█▀▄█▄ ██\n ▀▀██▀▄▀██▄ ▀██\n ▄▀▀ ▀█▄█▀ ▀▀▄ \n █▄▀▀▄▀ ▀▄▀▀▄█ "], ["happy", "▄▀▀▀▀██▀▀█▄ ▄▄ \n ▀▀▄ ▄▀█ ▀▄█ █\n █▄ ▀█ █▄█\n █▀▀▀ ▄▄▀▀ ▄██▀\n ▀▀███▀▄█▀█▀▀ \n ▄▄█▄▄▀▄▄██▄ \n █▄ ▀▀▄▄▄▀▀ ▄█ \n ▀▄█▀ ▀█▄▀ "], ["injured_1", " ▄▀█▄▀█ \n ▄▀ ▀ ▄▀█ \n ▄██ ▄ ▄█▄ \n ▄▀ ▀▀▄▀▀ ▀▄ \n █ ▄▀▀▄▄▀▄▄▀███ \n ▀▀█▀▀▄▀▀█▄▀██▄\n ▄▀▀█▄██▀▀█▄█▀\n █▄▀▀▄▀▀▄▀▀▄█ "], ["injured_2", " ▄▄ ▄▄ \n ▄▀ █▀ █▄ \n █▄ ▀ █▄ \n █▀▀ ▀▄▄ █▀ ▀▄ \n█ ▄▄ ▄▀▄▄▀██ \n▀▄█▄▄█▀▄▀▀█▄▀██ \n ▄▀▀█▄██▀▀█▄██\n █▄▀▀▄▀▀▄▀▀▄█▀ "], ["sleep_1", " ▄▄ ▄▄ \n ▄▀ █▀ █▄ \n ▄██ ▀ █ \n █ ▀▀▀ █▀▀█▄ \n █ ▄▄ ▄▀▄ ██▄▀▄\n ▀▄█▄▄█▄▀▀█▄██ █\n ▄▀▀ ▀█▀ ▀▀██▀\n █▄▀▀▄▀▄▀▀▄█ "], ["sleep_2", " ▄▀█▄▀█ \n █▄ ▀ ▄▀█ \n █▀▀▄▄▄ ▄█▄ \n ▄▀ ▄▀ ▄█▀▄ \n █ ▄▀▀▄█▀▀▄▀██ █\n ▀▀▀██▄▀▀████ █\n ▄▀▀ ▀█▀ ▀▀██▀\n █▄▀▀▄▀▄▀▀▄█ "], ["walk_1", " ▄▀█▄▀█ ▄█▀▄\n █▄ ▀ ▄▀█▄▀██ █\n █▀▀▄▀█ ▄█ ▄█ █▀\n█ ▀▀ ▄▀▄ ███▀ \n█ ▄▀▀▄█▄▀▀█▀█▄ \n▀▀▀▀▀ ▀▄▀▀▄▀▀▄▀▄\n █▀▄ █ ▀▀\n ▀▄█▄▄█ "], ["walk_2", " ▄▄ ▄▄ \n ▄▀ █▀ █▄ \n ▄██ ▄▄▀ █ \n▄▀ █▄▀ █▀▀▀▄▄ \n█ ▄▄ ▄█▀█ ▀█▀█▄\n█▄█▄▄▀▀▄▀▀█▄██ █\n █▀█▀██▄█\n ▀▄█▄▄█▀ "]]], + ["venommyotismon", [["angry", " █▀▄ █▀▄ \n▄▄ ▄█▄▄█ ▄▄█ █\n█ ██ ▄▄██▀ █▄ █\n ▀▄▀██▀ ▄█▀▀██▄▀\n▄▀█▀▀▀▀▀▀█▄▀ ██▄\n█▀ █▄▄▄▄█▄██ █▀\n█ ▀▄███▄█▀ ▄▀ \n█▄█▄███▀██▄█▄██ "], ["attack", " █▀▄▄▀▀▀▀▄▄▄▀█ \n▄▀▄▀▄▄█▀▀▄█▄▄▀▀▄\n█ █▄▄█▄▄▀▀█▀█▄ █\n█ █ ▄ ▄▄ █▀ ▄▀\n▄▀▄██████ █▄▄█ █\n█▀██▀ ▀ ▀▄█▄ ▀█\n █▄███████▄██▄ \n█▄▄▄▄██▀█▄▄▄▄▄█ "], ["eat_1", "█▀▄▄▀▀▀█▄▄▄▀█ \n▀▄▀▀██▀▀██▄▄▀▄▀█\n▄▄█▀▀▀▀▀ █▄▄▄▀ █\n▀▄██████ █ ▄▀▀▄▀\n█ █▄▀▀▀▄▀███▀ █\n▀▄█▄███▄▄███▄▄▄▀\n █▄█▄███▄█▄██▄ \n█▄▄▄▄██▀█▄▄▄▄▄█ "], ["eat_2", " █▀▄ █▀▄ \n█▀▄▄▀▀▀▀▄▄▄▀█ █\n▀▄▀█▄▄█▀██▄▄▀▄ █\n ▄█▄██▄█▄█ ▄██▄▀\n█ █▄ ▄▄▀█▄ ▀█▄\n█▀ ███▄▄▄█ █▀\n ███▄███▄█▄███▀ \n█▄▄▄▄██▀█▄▄▄▄▄█ "], ["happy", " █▀▄▄█▀██▄▄▄▀█ \n█▀▄▀▄▀█▀▄▀█▄▄▀▀▄\n█ ▄█▀▀▀▀▀▀█▀█▄ █\n▀▄ ██████ █▀ ▄▀\n█▄▀█▄▀▀▀▄▀█▀▀█ █\n▀ ▄█▄███▄▄█▄ ▀█\n █▄█▄███▄█▄██▄ \n█▄▄▄▄██▀█▄▄▄▄▄█ "], ["injured_1", " ▄▄ ▄▄ \n▄▄ ▄█▄█▄ ▄█ ▀▄\n█ ██▄ ▄██▀ █ █\n ▀█▀ ██ ▀█▀▀▄▄ █\n▄▀█▀▀▀▀▀▀█▄▄█▄▀█\n█▄▄▀▄▄▄▄▀▄▄▄▄▄█ \n█ ▀▄▄█▄▄▄█▄▀ █ \n█▄▄█▄▄▄▄███▄▄▄█ "], ["injured_2", " ▄▄ ▄▄ \n █ ▀▄ █ ▀▄\n█▀▄▄▀▀▀▀█▄▄▀█ █\n▀▄██▄▄▄▄██▄▄█▄ █\n ▄█▀ ██ ▀█ ▄█▄▀█\n█▄▀█▀▀▀▀█▀█▄▄▄█ \n█ ▀▄████▄██▀ █ \n█▄▄█▄▄▄▄███▄▄▄█ "], ["sleep_1", " ▄▄▄▄▄▄▄ \n ██▀▀██ ██ \n █▀▀ ▀▀█ ██ \n ████ ████ ██ \n ███ ███ ██ \n ▀██████▀▄█▀ \n ██████ ██ \n ████▄██ "], ["sleep_2", " ▄█████▀█▄ \n ▄██ ██▄▀█▄ \n ▄█▄▄ ▄▄█▄▀█▄ \n ▀███ ███▀▄█▀ \n ███▄▄███ ██ \n ██████ ██ \n ▀████▀▄█▀ \n ▀▀▀▀▀▀▀ "], ["walk_1", "█▀▄▄▀▀▀▀▄▄▄▀█ ▄ \n▀▄▀█▄▄█▀██▄▄▀█ █\n █▄██▄█▀█ ▄▄▀▀█\n▄▀▀▄ ▄▄▀▀▀▄▄ █\n▀▄█ ▀█▀ █▄▀▀▄▀█\n█ ▀████████▀ █ \n▀▄█▄███▄█▄█▄▄█ \n█▄▄▄▄██▀█▄▄▄▄▄█ "], ["walk_2", "▄▄ ▄▄▄▄ ▄▄ \n█ ██ ▄▄██▀ █▄▀▄\n ▀▄▀██▀▄██▀▀ █▄█\n▄▀█▀▀▀▀▀ █▀▀█ █\n▀▄▄▀▄▄▄▀▀▄▄▀ ▀▄█\n█ █▄▄█▄▄▄███▀ █▀\n▀▄▄█▄██▄█▄██▄▄▀ \n█▄▄▄▄██▀█▄▄▄▄▄█ "]]], + ["vikemon", [["angry", " ▄▄ ▄▄ ▄▄ ▄▄ \n████▀▄▀▀▄█ ████ \n▀██ ▄ ▀█▀██▀█\n █▀▀▄▀▀ ▄▀▄▀▄▄▀█\n ▀▄▀ ▀ ▄▀ █▄▀▀▄▀\n▄▀▄█▀▀▀█▄▀█▄▀▀▀▄\n█▀▄▀█▀▀▀▄▄ █▀▀▀█\n▀█▄▄▄███▄▄▄██▄▄█"], ["attack", "▄██▄ ▄▄ ▄▄▄██▄ \n▀███▀▄▀▀ █▀██▀▄ \n ▄▀▄ ▄▀ ▀█▀▄▄ █\n █▄▄▄▄▄ ▄▀▄▀▄▄▀█\n ▄▄▄▄▀ █▀█▄▀▀▄▀\n ▀▄▄▄▄▀ ▄▀ ▀█ \n▄▀▀ ▀▄▄▀▀▀█▄▀█ \n█▄▄▀▀▀█▄▄▄▀▄▄▄█ "], ["eat_1", "▄██▄▄█▀█▄▀█ ▄██▄\n▀███▀ ▀ ▀█▄▀██▀\n █ ▀▄ ▀ █▀▀██\n █▀███▀█ █▄▀▀▄█\n ▄▄▀████▀ ▄█▀▀▀▄\n█ ▀▄▄ ▄▄█ ▀▄ █\n▀▀▀█▀█▀▀▄█▀▀▀██▀\n █▄▄▄▀▄▄▀█▄▄▄█ "], ["eat_2", " ▄▄ ▄▄ ▄▄ ▄▄ \n████▀▄▀▀ █ ████ \n▀█▀▄ ▄▀▄ █▀██▀█\n █ ▄▀▄▄ ▄▀▄▀▄▄▀█\n ▀▄ ▄▀ █▄▀▀▄▀\n▄▀▄█▀▀▀█▄▀█▄▀▀▀▄\n█▀▄▀█▀▀▀▄▄ █▀▀▀█\n▀█▄▄▄███▄▄▄██▄▄█"], ["happy", "▄██▄▄▀█▄▄▀█ ▄██▄\n▀███ ▀ ▄ ▀▄▀██▀\n █ ▀▄ ▀ ▀ █▀▀██\n █▀███▀█ █▄▀▀▄█\n ▄▄▀████▀ ▄█▀▀▀▄\n█ ▀▄▄ ▄▄█ ▀▄ █\n▀▀▀█▀█▀▀▄█▀▀▀██▀\n █▄▄▄▀▄▄▀█▄▄▄█ "], ["injured_1", " \n ▄▄ \n ▄██▄ ████ \n ▀██▀▄▀▀ ▀▀▄▀▄ \n ▄▀█▄▀█▄▀▀▀▄▀▄\n ▄▀ ▀█▀▀█▀█▀\n█▄█ █▄ █▀▀▀█ █\n▀▄▄▀▄▄▄▄▀▄▄▄▀▄▄█"], ["injured_2", "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀\n \n ▄▄ ▄██▄ \n ████ ▄▄▀██▀▄ \n ▀▀▄█ ▄▄ ▄█▄▀▄ \n ▄▀ ▀▀ ██▄▄▄█▄█\n▄▀▄ ▄ ▄█▄▄█ ▀▄\n██▄█▄▄█▄█▄▄▄█▄▄█"], ["sleep_1", " \n▄██▄ ▄▄ ▄▄ ▄██▄ \n▀███▀ ▀▀ █▄▀███ \n ▄▀ ▄▀▀█ \n █▀▀▄ ▀▀ █ ██ █ \n ▀█ ▀▀▀▀ █▄▄█▄ \n▄▀█▀▀▄▀▀▄▀█▄▄▀▀█\n▀▄█▄▄▀▄▄▄▄▀█▄▄▄█"], ["sleep_2", " \n▄██▄▄▀█▄▀█ ▄██▄ \n▀██▀ ▀ ▀▄▀███ \n █▄▄ ▄▄ ▄▀▀█ \n █ ▄ █ ██ █ \n ▀█ ▀▀▀▀ █▄▄█▄ \n▄▀█▀▀▄▀▀▄▀█▄▄▀▀█\n▀▄█▄▄▀▄▄▄▄▀█▄▄▄█"], ["walk_1", "▄██▄▄▀█▄▀█ ▄██▄ \n███▀ ▀ ▀█▄████▄\n █ ▀▄ ▀ ▄▀▄▀▀▄█\n █ ▀ ▀▀ █ █ ██ █\n ▄▀▄▄▄▄▀ ██▄▄█ \n█ ▄█▄ ▄▄▀█▄ ▀▄\n█▀▄ █▀▀▀▄▄ █▀▀▀█\n▀█▄▄▄███▄▄▄██▄▄█"], ["walk_2", " ▄▄ ▄▄ ▄▄ ▄▄ \n████▀▄▀▀▄█ ████ \n▀█▀▄ ▄ ▀█▀██▀█\n █ ▄▀▄▄ ▄▀▄▀▄▄▀█\n ▀▄ ▄▀ █▄▀▀▄▀\n▄▀▄█▀▀▀█▄▀█▄▀▀▀▄\n█▀▄▀█▀▀▀▄▄ █▀▀▀█\n▀█▄▄▄███▄▄▄██▄▄█"]]], + ["viximon", [["angry", " █▄ ▄█ \n █ ▀▄ ▄▀ █ ▄█\n █▀▀▀▀ █ ▄▀ █\n █ ▀ ▀█ █\n█ █▄ ▄█ █ ▄▀\n█ ▄▄ █▀ \n █▄ ▄█▀▄ \n█▄▀▀▀▀▀█▄▀ ▀▄█ "], ["attack", " ▄▄▄▀██▄▀▀█ \n ▄▀▀▀▀▀▀ ▄▀ ▄\n █ ▄ ▄█ ▄▀▄▀█\n ▀████▄ █ █\n ████ █ █\n ▄█▀ █ █▄▀ \n █▀▀▀▀ ▄ ▀▄ \n█▄█▀▀▀▀█▄▀▀█▄█ "], ["eat_1", " ▄▀█ ▄▀█ \n ▄█▄▄█▀ █ \n ▄▀ ▄▀▄ ▄█\n▄▀█ █ █▀ █\n█ ▄█▄ █ █\n█ ███ █ ▄▀\n █▄ ▄ █▀ \n █▄▀▀▀▀█▄▀▀▄█ "], ["eat_2", " \n ▄▀█ ▄▀█ \n ▄█▄▄█▀ █ ▄\n ▄▀ ▄▀▄ ▄▀█\n▄█▀▄ ▄▀▄ █ █\n█ ▄ █ █\n▀▄▀▀ ▀▀ █▄▀ \n█▄█▄▄▄▄█▄▄█▄▄█ "], ["happy", " █▀▄ ▄▀█ \n █ █ █ █ ▄\n █▀▀▀▀▀ ▄█ ▄▀█\n █▀▄ ▄▀▄ █ █\n█ ▄▄█▄▄ █ █\n█ ▀███▀ █▄▀ \n▄▀▄ ▄▀ ▄ █ \n▀▀▀▀▀▀██▀▀▀▄█ "], ["injured_1", " \n \n \n ▄▀▀▀▀▀▀▀▀▀▀█▄█\n▄▀▄ ▄ ▄▄▄▄█▀ █\n█▀▀ ▀▀ █ █\n▀▄ ▀▀ ▄ █▄▄▀\n█▄█▄▄▄█▄▄▄██▄▄█ "], ["injured_2", " \n \n \n ▄▀▀▀▀▀▀▀▀▀▀█ ▄\n▄▀ ▄▄▄▄▀▄▀█\n█▄█ █▄ ▀▄ █\n█▄ ▄▄ ▄ ▀▄█\n▀▄█▄▄▄█▄▄▄▄██▄▄█"], ["sleep_1", " \n \n ▄▄▄▄▄▄▄▄▄▄▄▄ \n ▄▀ ▄▀ \n▄█▄ ▄▄▄▀▄ ▀▀█▄ \n█ ▄ █ ▀▄▄ ▀▄\n▀▄█ ▀ █ ▀ █\n█▄▄█▄█▄█▄▄▄▄▄▄▄▀"], ["sleep_2", " \n \n ▄▀▀▀▀▀▀▀▀▀▀▀█ \n █ ▄▄▄▀ \n█▀▀ ▀▀█▀▄ ▀▀▄ \n█ ▄▀▄ █ ▀▄▄ █\n▀▄▄ █ ▀ █\n█▄▄█▄█▄█▄▄▄▄▄▄▄▀"], ["walk_1", " ▄▄ ▄▄ \n ▄▀ █▄▀ █ ▄\n █▀▀▀▀ █ ▄▀█\n █▄ ▄ ▀ ▀█ █\n█ ▀ ▀ █ █\n█ ▄▀▄ █▄▀ \n █▄ ▄ █ \n █▄▀▀▀▀█▄▀▀▄█ "], ["walk_2", " ▄▄ ▄▄ \n █ ▀▄ ▄▀ █ \n █▄▄█▄▄▀ █ ▄\n ▄▀ ▀▀▄▄▀█\n▄▀█ █ █ █\n█ ▄ █ █\n▀▄ ▀ ▀ █▄▀ \n█▄█▄▄▄▄█▄▄█▄▄█ "]]], + ["volcanicdramon", [["angry", " ▄▄▄▄ \n ▄██▄▄▄▀ \n▄▄███▀ ███ \n████▀█████ \n▀▄▄▄▄███▀▄██▄▄ \n ▀▄▄█ █ █▀███ \n ▄█▄██ █▀▄█▀██\n █▄█▄█▀▀▄▄▀ ██▀"], ["attack", " ▄▄▄█▀▀▀█ \n▄████▀ ▄██▀ ▄██ \n█▀▀▀▀████▀▄██▄▄ \n▀▄ █▀▀▄███▄▄ \n ▀▄▄▄▄████████▄ \n █▄▄███▄▀▀███ \n ▄█▄█████▄█▄ ▀█ \n█▄█▄█ █▄█▄█ "], ["eat_1", " ▄▄▀▀▀█ \n▄███▀▄▀███ ▄██ \n█▀▀▀▀████▀▄██▄▄ \n█▄ █▀▀▄███▄▄ \n ▀▄▄▄█▄███████▄ \n ▀▄▄████▄ ▀███ \n █▄████▄█▄ ▀█ \n █▄█▄█ █▄█▄█ "], ["eat_2", " ▄▄▄▄ \n ▄██▄▄▄▀ \n ▄▄██▀▄▀███ \n ████▀████ \n ▀▄▄▄▄█▀▄▄██▄▄ \n ▄▀ ███ █▀███ \n ▄█████ █▀▄█▀██\n █▄█▄█▀▀▀▄▄▀ ██▀"], ["happy", " ▄▄▀▀▀█ \n ▄▄█▀▄▀███ ▄██\n████▀████▀ ▄██▄▄\n█▄ █▀▀▄████▄ \n ▀▄▄▄█▄███████▄ \n ▀▄▄████▄ ▀███ \n █▄████▄█▄ ▀▀ \n █▄█▄█ █▄█▄█ "], ["injured_1", " \n \n ▄▄▄▀▀▀█ \n▄▄██▀█████ \n████▄▄▄█▀▄██▄▄ \n█▀▀▀ ██▄█▀█▀███ \n ▀██████ █▀▄█▀██\n █▄█▄████▄▄▀ ██▀"], ["injured_2", " \n \n ▄▄▄▄ \n ▄▄███▄▄▄▀ \n████ ▀▀██▀▄▄ \n████▀██▀▄█████▄ \n▀▄▄▄▄██▀█▀▄█▀██▄\n █▄█▄███▄▀▀▄███▀"], ["sleep_1", " \n ▄▄▄▄ \n ▄██▄▄▄▀ \n▄▄██▀▀▀███ \n████▀███▀▄██▄▄ \n▀▄▄▄▄██▄█▀█▀███ \n ▄█████ █▀▄█▀██\n █▄█▄████▄▄▀ ██▀"], ["sleep_2", " \n ▄▄▀▀▀█ \n ▄▄██████ \n ████▄▄▄██▀ \n █▀▀▀ ██▀▄██▄▄ \n ▀█▀▀█▄█▀█▀███ \n ▄█████ █▀▄█▀██\n █▄█▄████▄▄▀ ██▀"], ["walk_1", " ▄▄▀▀▀█ \n ▄▄█▀▀███ ▄▄ \n████▄▄███▀ ▄█▀▀ \n█▀▀▀ ██▀▀▄███▀▀ \n ▀▀█▀█▄███████▀ \n ▀▄▄████ ▀████ \n ▄█▄███▄█▄ ▀██ \n █▄█▄█ █▄█▄█ ▀ "], ["walk_2", " ▄▄▄▄ \n ▄██▄▄▄▀ \n▄▄██▀ ▄███ \n████▀████ ▄▄ \n▀▄▄▄▄▀██▄▀████▄ \n █▄▄██▀▄█ ███▄\n ▄▀█▀███▄▀ █▀▄██\n ▀▀▀▀▀ ▀▀ ▀▀ "]]], + ["vorvomon", [["angry", " ▄▄▄▄▄ \n ▄█████▄▄▄▀ \n ███████▀▀ ███ \n █████▀██████▀ \n █▄▄▄▄██▀██▀▄▀█\n ▀▄▄ ▄ █████▀█\n ▄███▄████▀█▀ \n █▄████▀▀█▄█▄█ "], ["attack", " ▄▄▄▄█▀▀▀█ \n █████████▀███ \n █▀▀▀▀▀▀█▄▄███ \n ▀▄ ▀██▀▄▀█\n ▄▀ ▀▀▀▀ ██▄█▀█\n ▀██▀█▀█████▀ \n ▄▄███▄█████▀█ \n █▄████▀▀▀▀█▄█▄█"], ["eat_1", " ▄▄▄▄█▀▀▀█ \n ████████▀▀███ \n ███████▄█▄███ \n ▀▄ ▀█████ \n ▄▀ ▄██▀▀▄█▀█\n ▀██▀▄ █████▀█\n ▄███▄████▀█▀ \n █▄████▀▀█▄█▄█ "], ["eat_2", " ▄▄▄▄▄ \n ▄█████▄▄▄▀ \n ███████▀▄▀███ \n █████▀██████▀ \n █▄▄▄▄██▀██▀▄▀█\n ▀▄▄ ▄ █████▀█\n ▄███▄████▀█▀ \n █▄████▀▀█▄█▄█ "], ["happy", " ▄▄▄▄█▀▀▀█ \n ████████▀▀███ \n ███████▄█▄███ \n ▀▄ ████▀▄▄▄\n ▄▀ ▄██▀█▄██▄█\n ▀██ ▄ █████▄▀\n ▄███▄████▀▄ \n █▄████▀▀█▄█▄█ "], ["injured_1", " \n ▄▄▄▄▄▄▄ \n ▄▄▄▄██████▄▄▄▀ \n ███████▀█████ \n ▀█▀▀▀▀█▄▄▄██ \n ▀█▀▀▀▀▀███▄ \n █▀▀██▄▀▄██▀▀▀█▄\n █▄▄▄██████▄▄▄██"], ["injured_2", " \n \n ▄▄▄██▀▀▀▀█ \n █████████████ \n ███████ ▀▀███ \n █▄▄▄▄██████ \n █▀▀██▄▀▄██▀▀▀█▄\n █▄▄▄██████▄▄▄██"], ["sleep_1", " \n ▄▄▄▄▄ \n ▄█████▄▄▄▀ \n █████████████ \n █████▀█▄▄▄██▀ \n █▄▄▄▄██▀██▄█▀█\n █▀▀██▄▀▄██▀▀▀██\n █▄▄▄██████▄▄▄█ "], ["sleep_2", " \n ▄▄▄▄█▀▀▀█ \n ▄▄▄▄█████████ \n ███████▀▀▀███ \n ▀█▀▀▀ ██████ ▄▄\n ▀█▀▀▀▀▀▄██▄█▄█\n █▀▀██▄▀▄██▀▀▀▄▀\n █▄▄▄██████▄▄▄█ "], ["walk_1", " ▄▄▄▄█▀▀▀█ \n ▄▄▄▄████▀▀███ \n ███████▄▄▄███ \n ▀█▀▀▀ █████▀▄▀█\n ▀█▀▀▀▀▀▄█▄██▀█\n ██▄▀▄████▀▀ \n ▄▄███████▄█ \n █▄████ ▀█▄█▄█ "], ["walk_2", " ▄▄▄▄▄ \n ▄█████▄▄▄▀ \n ███████▀ ███ \n █████▀██████▀ \n █▄▄▄▄██▀███ \n ▀▄▄ ▄ █▀▄██▀▄\n ▄███▄████▀█▀█\n █▄████▀▀█▄█▄█▀"]]], + ["wanyamon", [["angry", " \n \n \n █▀▄ ▄▀█ \n █▄ ▀▄▄▀ ▄█ \n ▄█ ▄ ▄ ▄█▄ \n █▄ ▀▀ ▀▀ ▄▄█▄▀█\n ▀▄▄▄▄▄▄▄▄█▄▄▀ "], ["attack", " \n ▄▄ ▄▄ \n █ ▀▄ ▄▀ █ \n █▀ ▀▀ ▀▀▄ \n █▀ █ █▀ ▀▀█▄▀▄\n ▀█▄ ██ ▀█▄▄▀ \n ▀▀█▄▄▀▀ \n "], ["eat_1", " \n \n █▀▄ ▄▀█ \n █▄ ▀▄▄▀ ▄█ \n ▄█ ▄ ▄ ▄█▄ \n █▄ ▀ ▀ ▄▄█ \n ▀▄▄██ ▄▄▄▀ █ \n ▀▀▀ ▀▄▀ "], ["eat_2", " \n \n \n ▄▄▄ ▄▄▄ \n █▄▄ ▀▄▄█ ▄▄█ \n ▄█ ▄ ▄ ▄█▄ ▄ \n █▄ ▀ ▀ ▄▄▀▀▄▀\n ▀▄▄▄▄▄▄▄▄▀▀▀ "], ["happy", " \n ▄▄ \n █ ▀▄ ▄▀▀▀█ \n █▀ ▀▀ ▀█ \n █ █▀▄ ▄▀█ ▀█ \n ▀█ ▄▄▄ ▀█▀ \n ▀▀██▀▄▀█ █ \n ▀▀ ▀▄█ "], ["injured_1", " \n \n \n \n▄▀▀▀▀▄ ▄▀▀▀▀▄ \n▀▄█▀ ▀▀ ▀█▄▀ \n █ ▄█ █▄ ▄▄█▄▄ \n ▀█▄▄▄▄▄▄▄▄█▄▄▄█"], ["injured_2", " \n \n \n \n ▄▄▄▄ ▄▄▄▄ \n█ ▄▄ ▀▄▄▀ ▄▄ █ \n █▀ ▄ ▄ ▀█▄▄ \n ▀▄██▄▄██▄▄█▄▄▄█"], ["sleep_1", " \n \n \n ▄▄▄▄ ▄▄▄▄ \n ▀▄▄ ▀▄▄▀ ▄▄▀ \n ▄█ ▄█▄ \n █▄▀▀ ▀▀ ▄▄█▄▄ \n ▀▄▄▄▄▄▄▄▄█▄▄▄█"], ["sleep_2", " \n \n \n \n █▀▀▀▄ ▄▀▀▀█ \n █▀ ▀▀ ▀█ ▄▄ \n █▀▄▄ ▄▄ ██▀ █ \n ▀▄▄▄▄▄▄▄▄█▄▀ "], ["walk_1", " \n \n \n █▀▄ ▄▀█ \n █▄ ▀▄▄▀ ▄█ \n ▄█ ▄ ▄ ▄█▄ \n █▄ ▀ ▀ ▄▄█▄▀█\n ▀▄▄▄▄▄▄▄▄█▄▄▀ "], ["walk_2", " \n \n \n █▀▀▀▄ ▄▀▀▀█ \n █▀ ▀▀ █ \n █▀ █ █ ▀▀█ \n ▀█ ▀█▀▀▄ \n ▀▀▀▀▀▀▀▀▀▀▀▄█"]]], + ["wargreymon", [["angry", " \n █▀▄ ▄▄▄▄▄▄▀█ \n ▀▄███▀▀█▄▄▄▀ \n ████▄▄████ \n▄▀▀█▀▀▀▀▀ ▄▀▀▄ \n▀█▀▀█▀██▀█▀▀█▀ \n ▄█▄▄▄██▄▄▄█▀▄▄ \n█▄█▄▄█▄▄██▄▄▄█▄█"], ["attack", " █▀▄ ▄▄▄▄▄▄▀█ \n █▄███▀ █▄▄▄▀ \n█▀█▀█▀█▀█▀██▄█▀█\n█ ▀▄ ▄ ▄ ▄▀██▀ █\n▀▄▄█▀▀▀▀▀▄█▀█▄▄▀\n ▀█▀▀▀▀▀▀█▀ \n ▄▄▀▀█▀▀█▀▀▄▄▄ \n █▄█▄▄▀▀▀▀▄▄▄█▄█"], ["eat_1", " █▀▄ ▄▄▄▄▄▄▀█ \n █▄███▀▀█▄▄▄▀ \n█▀████▄▄████▄▀▀█\n█ ▀▄ ▄█ ██▀ █\n▀▄▀█▀▀▀▀▀▄█▀█▄▄▀\n ▀▀█▀▀▀▀▀▀█▀ \n █▄▀█▀▀█▀▄█▄ \n █▄█▄██▀██▄█▄█ "], ["eat_2", " ▄▄ ▄▄ \n █ █▄████▀▀ █ \n▄▄████▀▄▀████▄▄▄\n▀▄▀██████▀▀█ ▄▀\n█ ██▄▄▄▄▄▄▀▄█▀ █\n█ ▄█▄▄▀▄▄▄█ ▄▀\n ▀███▄▄▄▄▄▄████ \n █▄█▄▄█▄▄█▄█▄█▄█"], ["happy", " █▀▄ ▄▄▄▄▄▄▀█ \n▄▄█▄██▀▄▀█▄▄▄▀▄▄\n█ █▀▀▀▀▀▀▀██▄▀ █\n▀▄▀▄ █ ██ ▄▀\n ▀▄█▀▀▀▀▀▄█▀█▄▀ \n ▀█▀▀▀▀▀▀█▀ \n ▄▄▀▀█▀▀█▀▀▄▄▄ \n █▄█▄▄▀▀▀▀▄▄▄█▄█"], ["injured_1", " \n ▄▄ ▄▄ \n █ █▄████▀▀ █ \n ▀███▀█████▀ \n █████▄▄█▀█▀▄ \n █▄█▄▄▄▄▄▄▀▄▄▄█\n ▄▀ ▄█▄▄█▄▄▄▀ █ \n █▄▄█▄▄█▄▄██▄▄██"], ["injured_2", " \n \n █▀▄ ▄▄▄▄▄▄▀█ \n █▄██████▄▄▄▀ \n ▄███▄▀▀███▀▄ \n █▀█▀▀▀▀▀▀▄█▄▄█ \n █▀▀██████▄█ ▀▄ \n █▄▄█▄▄█▄▄██▄▄██"], ["sleep_1", " \n ▄▄ ▄▄ \n █ █▄████▀▀ █ \n ▄████▀▀███▀ \n █▀██████▀▀█▀▀█ \n ▄▀▀▄▄▄▄▄▄█▄▄█▄ \n █▄ █▄▄▄▀█▀ ▀ █\n █▄███▄▄███▄▄▄▄█"], ["sleep_2", " \n █▀▄ ▄▄▄▄▄▄▀█ \n ▀▄██████▄▄▄▀ \n ▄▄█████▄▄████▄▄\n ▀▄▄█▀▀▀▀▀ ▄▀▄▄▀\n █▄ █▀█▀▀█▀▄▄█ \n █ █ ▀█▄█▄▀ ▀ █\n █▄▄████▄██▄▄▄▄█"], ["walk_1", " █▀▄ ▄▄▄▄▄▄▀█ \n ▀▄███▀▀█▄▄▄▀ \n▄▄████▄▄████▄▄▄▄\n▀▄▀█▀▀▀▀▀ ▄▀ ▄▀\n█ ▀██▀▀█▀▀ ▀█▀ █\n▀▄█▀█▀▀ ▀▀▀█ █▀▄\n█▄▄█▄▀█▀▀█▀▄█▄▄█\n █▄█▄██▀██▄█▄█ "], ["walk_2", " ▄▄ ▄▄ \n █ █▄████▀▀ █ \n█▀████▀ ▄███▀▀▀█\n▄▀▄██████▀▀█▄▄▀▄\n█ ▄█▄▄▄▄▄▄▀▄▀▄▄▀\n▄▀▀██▄▄▀▄▄▄▄▀▀ █\n ▀█▄█▄▄▄▄▄▄██▄█ \n █▄█▄▄█▄▄█▄█▄█▄█"]]], + ["wargreymon_x", [["angry", " ▄▄ ▄ \n█ ▀▄▄▀▀▀▀█▀▀ █ \n▀▄▀ ▄▄█ ▀▀▀█▀ \n ▀▄█▄▄ ▄▄▄█▀▀▀█ \n ▀▄▄█▄█▀▀▄▄▄▀▀█\n▄▄▀█ ▄▄ ▄█▀▄ ▄▀\n▀▄▄▀█▄▄█▀▀██▄█▄ \n█▄█▄▀█▄▀█▄▄█▄█▄█"], ["attack", " ▄▀█ ▄▄▄▄▄▄▄▀▄ \n █ ▄▀ ▄ █▄▄▄█ \n █ ▄▀▀▀▄▄▄▄▀ \n▄▀▀█▀▀▀█ █▀▄ \n▄▀▀█ █▄█ ▄▀ \n ▀▀█▀███ █▀█ \n ██▀█▀█▀▀█▄█▄ \n █▄█▄█▀▀█▄█▄█▄█ "], ["eat_1", "▄▀█ ▄▄▄▄▄▄▄▀▄ \n█ ▄▀▀ ▄ █▄▄▄█ \n █ ▄ ▀ ▀ ▄▄█▄▄ \n █████ ██▀ ▄▀ \n▄▀█▀▀▀▀▄▀ ██▀▀█ \n▀▄███▀▀▄▄█▀▄ ▄▀ \n ▄█▀█▀█▀▀█▄█▄ \n █▄█▄█▀▀█▄█▄█▄█ "], ["eat_2", " ▄▄ ▄ \n█ ▀▄▄▀▀▀▀█▀▀ █ \n▀▄▀ ▄▀▄ ▀▀▀█▀ \n ▀▄█▄▄ ▄▄▄█▀▀▀█ \n ▀▄▄█▄█▀▀▄▄▄█▄ \n ▄▀█ ▄▄ ▄█▀ █ \n▀▄▄▀█▄▄███▄▀▄█▄ \n█▄█▄▀█▄▀█▄▄█▄█▄█"], ["happy", "▄▀█ ▄▄▄▄▄▄▄▀▄ \n█ ▄▀▀ ▄ █▄▄▄█▄ \n █ ▄ ▀ ▀ ▄█ █ █\n █▀▀█ █████▀▀█▀\n █▀▀▀▀ █▄▄▀ \n ▄▀█▄▀▀▄▄█▀█ \n ▀██▀█▀█▀▀█▄█▄ \n █▄█▄█▀▀█▄█▄█▄█ "], ["injured_1", " \n▄▀█ ▄▄▄▄▄▄▄▀▄ \n█ ▄▀▀▄ █▄▄▄█ \n █ ▄ ▀▀ ▄▄█▄▄ \n █▀▀█ ███▀ ▄▄▀ \n ████▄ █▀▀ █ \n ▄█▄▄ ▀█▀█▄▄▄█▀▄\n█▄█▄█▄████▄█▄█▄█"], ["injured_2", " \n ▄▄ ▄ \n█ ▀▄▄▀▀▀▀█▀▀ █ \n▀▄▀ █▄ ▀▀▀█▀ \n ▀▄█▄▄ ▄▄▄█▀▀▀█ \n ▀▄▄█▄▀▀█▄▀▀█ \n ▄█▄▄ ██▀█▄▄▄█▀▄\n█▄█▄█▄▄███▄█▄█▄█"], ["sleep_1", " \n ▄▄ ▄ \n█ ▀▄▄▀▀▀▀█▀▀ █ \n▀▄▀ ▄▄▄ ▀▀▀█▀ \n █▄█▄▄ ▄▄▄█▀▀▀█ \n █▄▄█▄█▀▀▄▄█▀▀█\n █▄▀▀▄▄▄▄█▄▀▄▀▄▀\n █▄▄▄█▄▄██▄▄▄▄█ "], ["sleep_2", " \n ▄▀█ ▄▄▄▄▄▄▄▀▄ \n █ ▄▀▀ █▄▄▄█ \n █ ▄ ▀▀▀ ▄▄█▄▄\n ▄█▀▀█ ███▀ ▄▄▀\n █▄█▀▀▀▀ ███ █\n █▄▀▀▄██▄█▄▀▄▀▄▀\n █▄▄▄█▄▄██▄▄▄▄█ "], ["walk_1", "▄▀█ ▄▄▄▄▄▄▄▀▄ \n█ ▄▀▀▄▄▄ █▄▄▄█ \n █ ▄▀▀▀ ▄▄█▄▄ \n █▀▀█ ███▀ ▄▀ \n ▄█▀▀▀▀ ██▀▀█ \n █ █▄▀▀▄▄█▀▄ ▄▀ \n ██▀█▀█▀▀█▄█▄ \n █▄█▄█▀▀█▄█▄█▄█ "], ["walk_2", " ▄▄ ▄ \n█ ▀▄▄▀▀▀▀█▀▀ █ \n▀▄▀ ▄██▀ ▀▀▀█▀ \n ▀▄█▄▄ ▄▄▄█▀▀▀█ \n █▄▄█▄█▀▀▄▄▀▀█ \n █ █ ▄▄ ▄▀▄ ▄█ \n ▄█▀█▄▄██▀█▄██▄ \n█▄█▄▀█▄▀▀▄▄█▄█▄█"]]], + ["wargrowlmon", [["angry", " ▄▄ ▄▄▄ ▄▄▄ \n ▄▄▄▀▀▀█ ▀█▀ ▄▀ \n █ ▄█▀ ▄▀▄█▄▄▄\n ▄▀▀▄▄▄▄▀▄██▀█ █\n██▀▀▄▄▄▄█▀▀▄▀ █\n▀▄▀█ ▄▄██▀ ██\n █▄██ ▀▄▄▄▄▀▄▀\n █▄█▄▄██▀▀▄█▄█▄█"], ["attack", "▄▄▄██▄█▀█▄▄▀▀█ \n█ ▄█▀ █ ▄█▀▄ \n▄█▄▄▄▄▄▄▀▄███ █\n██████▀▄██▀█ ▄▀\n█▄▀ ▀ ▄█▄▄█ ▄▀█\n▀▄▀▀█▀▀▄█▀▄▄▀▄ █\n ▄█▄██▀ ▄ ▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_1", " ▄▄██▄█▀█▄▄▀▀█ \n █ ▄█▀ █ ▄▀ \n ▀██▄▄▄▄▄▀▄██▀▀█\n█▀▀████ ▄██▀ ▄▀ \n█ ▄█▄▄▄▄▀ ▄██▀▀█\n▀▄ ▀▄▄▄█▀▀ ▄█\n ▄███▄ ▀▄▄▄▀▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["eat_2", " ▄▄ ▄▄▄ ▄▄▄ \n ▄▄▄▀▀▀▀ ▀█▀ ▄▀ \n █ ▄▀▄ ▄▀▄█▄▄▄\n ▄▀▀▄▄▄▄▀▄██▀ ▄▀\n ▀█▀▄▄▄▄█▀▀▄▄█▄▄\n▄▄▀█ ▄▀▀▀▀▀ ▄█\n▀▄▄▄██▀▀▄▄▄▄▄▀█▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["happy", "▄▄▄██▄█▀█▄▄▀▀█ \n█ ▄▀▄ █ ▄█▀ \n▄██▄▄▄▄▄▀▄▀ █▀▀█\n██████▀ ▀█ █▄▀ \n█▄▀▀▀ ▄███▄ ▀▄▀█\n▀▄▀▀█▀▀▄█▀▀▄ █ █\n ▄█▄██▀ ▄ ▀▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["injured_1", " ▄▄ ▄▄▄ ▄▄▄ \n▄▄▄▀▀▀▀ ▀█▀ ▄▀ \n█ ▀▄▄ ▄▀▄█▄▄▄ \n█▀▀▄▄▄▄▀▄▀██ ▄▀ \n ▀▄▄▄▄▄█▀▄ ▀█ \n█▀▄█ ▄██ █▀▀█\n██▄▄█▀▀▄▀ ▄█▄█ \n█▄█▄██▄████▄█▄▄█"], ["injured_2", " \n ██▄█▀█▄▄▀▀█ \n█▀▀ ▄ █ ▄▀ \n█▄▄ ▀▀▄▀▄██▀▀█ \n▀▄ ▀▀▀▀▄█ ▀█▄▀ \n█▀██▀▀▀▄██ █▀▀█\n██▄▄█▀▀ █▀ █▄█ \n█▄█▄██▄█▄▄▄██▄▄█"], ["sleep_1", " ▄▄ ▄▄▄ ▄▄▄ \n ▄▄▄▀▀▀▀ ▀█▀ ▄▀ \n █ ▀▀▀ ▄▀▄█▄▄▄\n ▄▀▀▄▄▄▄▀▄██▀ ▄▀\n ▀█▀▄▄▄▄█▀▀ ▄▀ \n█▀▄█ ▄█▀█▀█▀▀█\n██▄▄█▀▀ █▀▀▀█▄█ \n█▄█▄██▄▄█▄▄▄█▄▄█"], ["sleep_2", " \n ██▄█▀█▄▄▀▀█ \n█▀▀ ▄▄▄ █ ▄▀ \n▀▄▄ ▄▀▄██▀▀█ \n█▀███▀▀▄█▀▀ ▄▀ \n█▀▄▄▄▄▀██▀█▀█▀▀█\n██▄▄█▀▀ █▀▀▀█▄█ \n█▄█▄██▄▄█▄▄▄█▄▄█"], ["walk_1", " ██▄█▀█▄▄▀▀█ \n █▀▀ ▄▄ █ ▄▀ \n ▀▄▄ ▀▀ ▄▀▄██▀▀█\n █▄▄▀▀▀▀▄██▀ ▄▀ \n █▄▀▀▀▀█▄▄█▀▀▀█\n█▀▀▀▄▄█▀▀▀ ▄██\n █▄▄█▄ ▀▄▄▄▀▀▀▄▀\n█▄█▄▄██▀▀▀▄█▄█▄█"], ["walk_2", " ▄▄ ▄▄▄ ▄▄▄ \n ▄▄▄▀▀▀▀ ▀█▀ ▄▀ \n █ ▄█▀ ▄▀▄█▄▄▄\n ▄▀▀▄▄▄▄▀▄██▀ ▄▀\n ▀█▀▄▄▄▄█▀▀▄▄█▄▄\n▄▄▀█ ▄▀▀▀▀▀ ▄█\n▀▄▄▄██▀▀▄▄▄▄▄▄▀▀\n █▄█▄▄██▀▄█▄█▄█ "]]], + ["wargrowlmon_x", [["angry", " ▄▄▄ ▄▄ ▄▄ \n ▄▄▀ ▄ ▀█ █▀▄▀ \n█ ▄▄▀▀ ▄▀ ▄▀▄█▄ \n▀█ ▀▀▀▄██▀▀▄▄▀ \n █▀▀█▀▀ █▄█▄▀▀█\n▄█ ██ █▀▀▀ ▄▀\n▀██▀█▀▀█▄▄▄▄▀█ \n█▄█▄█▀▀▀▀▄█▄█▄█ "], ["attack", " ▄▀▀▀▄█▀▄▄▀█\n ▄▀▀ ▄█ █ ▀▄▀▄\n █▄██▄▄▄▀▄▄█▄█▀\n █▀▀▀▀▄█▀▀▄▄▀▄\n ▄▀▀█▀▀▀█ ▄█▀ █\n ███ █ ▄█▀ █ \n █▀▀▀███▄▄▄▄█ \n █▄█▄█▀ ▀▄█▄█▄█ "], ["eat_1", " ▄▀▀▀▄█▀▄▄▀█ \n▄▀▀ ▄▄▄ █ ▀▄▀▄ \n▀▀█▄▄▄▄▀▄▄█▄▀▀█ \n ▄█▀▀█▀▄▀█ ▄▀█ \n█ ▀▀▀ ▄▀▄██▀▀▀▀█\n █▀█▀▀▀█▀ ▄▄▀▀\n ▄█ ▀▄▄▄████▄ \n █▄█▄█ ▀▄█▄█▄█ "], ["eat_2", " ▄▄▄ ▄▄ ▄▄ \n ▄▄▀ ▄ ▀█ █▀▄▀ \n█ ▄▄▀ ▀▄▀ ▄▀▄█▄ \n▀█ ▀▀▀▄██▀▀▄▄█▄\n ▄▀▀█▀▀▀ █▄▀▄▀ █\n█ ██ █ ▄█▀▀ ▄▀\n █▀▀█▀▀██▄▄▄▀█ \n█▄█▄█▀▀▀▀▄█▄█▄█ "], ["happy", " ▄▀▀▀▄█▀▄▄▀█▄▄\n▄▀▀ ▄▀▄ █ ▀▄██ █\n▀▄██▄▄▄▀▄▄█▀█ █\n ▄▀▀▀▀▀▄█ ▄█ ▄▀\n █▀▀█▀▀ ██ ▄▀ \n█ ██ █ ▄▄▀█▀▀ \n ▀█▀▀██▄ ▄█▄ \n █▄█▄█ ▀▄█▄█▄█ "], ["injured_1", " \n ▄▀▀▀▄█▀▄▄▀█ \n▄▀▀ ▀▄▄ █ ▀▄▀▄ \n█▄▀▀▄▄▄▀▄▄█▄▀▀█ \n▄█▄▄▄▄▄█▀█ ▄█▀▀█\n█ █▄▄▀▄ ██▀ █▀\n▀▄ ▀█▄█▄▀ ▄█▄ \n█▄█▄▄██▄▄▄▄█▄█▄█"], ["injured_2", " \n ▄▄▄ ▄▄ ▄▄ \n ▄▄▀▄ ▀█ █▀▄▀ \n█ ▄▄ ▀▀▄▀ ▄▀▄█▄ \n▀█ ▀▀▀▄██▀▀▄▀▀█\n█▀█▀▀█▀▀ █▄▀ █▀\n▀▄ ▀█▄█▄▀▀ ▄█▄ \n█▄█▄▄██▄▄▄▄█▄█▄█"], ["sleep_1", " \n \n ▄▄▄ ▄▄ ▄▄ \n ▄▄▀ ▀█ █▀▄▀ \n█ ▄▄ ▀▀▄▀ ▄█▄█ \n▀█ ▀▀▀▄█▀▀▄▄▀ \n█▀▀███▀ █▀█▀█▀▄ \n█▄▄▄██▄██▄▄▄▄▄█ "], ["sleep_2", " \n \n ▄▀▀▀▄█▀▄▄▀█ \n▄▀▀ ▄▄ █ ▀▄▀▄ \n█▄▀▀▄▄▄▀▄▄█▀▀█ \n▄▀▄▄▄▄▄▀█ ▄▀▀▄ \n█▀▀█▄▄ █▀█▀█▀▄ \n█▄▄▄██▄██▄▄▄▄▄█ "], ["walk_1", " ▄▀▀▀▄█▀▄▄▀█ \n▄▀▀ ▄█▀ █ ▀▄▀▄ \n█▄▀▀▄▄▄▀▄▄█▄▀▀█ \n ▀▄▄▄▄▄█▀█ ▄▀█▄▄\n▄▀▄▄▀▄ ▄██▀▀ █\n▀▄██▄█▄▄▀ ▄▄▀ \n █ ▀▄▄▀▀▀██▄ \n █▄█▄█ ▀▄█▄█▄█ "], ["walk_2", " ▄▄▄ ▄▄ ▄▄ \n ▄▄▀ ▄▄▀█ █▀▄▀ \n█ ▄▄▀▀ ▄▀ ▄▀▄█▄ \n▀█ ▀▀▀▄██▀▀▄▄▀ \n ▄▀▀█▀▀▀ █▄█▄▀▀█\n█ ██ █ █▀▀ ▄▀\n █▀▀█▀▀█▄▄▄▄▀█ \n█▄█▄█▀▀▀▀▄█▄█▄█ "]]], + ["warumonzaemon", [["angry", " \n ▄▀▀█▄▄▄▄▄▄█▀▀▄ \n █▄█▀█████▀██ █ \n ██▄▄▀▀▀▄▄███▀ \n▄▄██ ▀█▀ ██▄▄\n██▀█▄ ▀ ▀▀ ▄█▀██\n ▄▄█ ▀▄▀ █▄▄ \n█████▄█▄█▄▄█████"], ["attack", " ▄▀▀█▄▄▄▄▄▄█▀▀▄ \n █▄█ ▀███▀ ██ █ \n ██▀▀▄▄▄▀▀███▀ \n█▄██ █▄█▄▄█ ██▄█\n████ ██████ ████\n ▀▀█ █▀██▀█ █▀▀ \n ▄█▄ ▄█▄ \n ██████▀▀██████ "], ["eat_1", " ▄▀▀█▄▄▄▄▄▄█▀▀▄ \n █▄▀▄▀███▀▄▀█ █ \n ██▀▀▄▄▄▀▀▀██▀ \n▄▄██ ██████ ██▄▄\n████ ▀█▄▄▄▀ ████\n ▀██▀ ▄ ▄ ▀██▀ \n ▄▄█ ▄▀▄ █▄▄ \n█████▄▄▄▄▄▄█████"], ["eat_2", " ▄▄▄ ▄▄▄ \n █ ▄████████▄ █ \n ▀███████████▄█ \n █▄▄▄▀▀▀▄▄▄██ \n▄██▀ ▀█▀ ▀██▄\n█▀█▄ ▀▀ ▀▀ ▄█▀█\n ▄█ ▀▄▀ █▄ \n████▄▄█▄█▄▄▄████"], ["happy", " ▄▀▀█▄▄▄▄▄▄█▀▀▄ \n █▄█▀█████▀██ █ \n▄ ██▄▄▀▀▀▄▄███▀ \n████ ▀█▀ ▄ █▀ \n▀███▄ ▀▀▀▀ ▄███ \n ▀█ ▀▄▀ ███▄\n ▄███ ▀ ▀ ▄█▄▀▀\n████▀▀▀▀▀▀█████ "], ["injured_1", " ▄▄▄ ▄▄▄ \n █ ▄████████▄ █ \n ▀███▀███▀███▄█ \n ██▄▄▀▀▀▄▄███ \n ██▀ ▀█▀ ▀██ \n▄███▄ ▀ ▀ ▄███▄\n▀▀▄█ ▀▄▀ █▄▀▀\n ████▄█▄█▄▄████ "], ["injured_2", " \n ▄▄▄▄▄▄▄▄▄▄▄▄▄▄ \n█ ▄██████████▄ █\n▀▀██▀ ███ ▀███▀▀\n ███▀▄▄▄▀▀███ \n ▄██ ▄▀▄ ██▄ \n████▀ ▄ ▄ ▀████\n ██▄▄▄▄█▄▄▄▄▄██ "], ["sleep_1", " \n ▄▀▀█▄▄▄▄▄▄█▀▀▄ \n █ ▄████████▄ █ \n ▀██▀▀███▀▀██▄█ \n ██▀▀▄▄▄▀▀▀██ \n █▄█ █ █▄█ \n ████▄▄▄▄▄█████ \n███████▄████████"], ["sleep_2", " ▄▄▄ ▄▄▄ \n █ ████████ █ \n █▄██████████ █ \n ██▄▄▀▀▀▄▄███▀ \n ▄▀█ ▀█▀ █▀▄ \n ███▄ ▀ ▄▄███ \n ▄█▀███▀████▀█▄ \n████▄▄▄▄▄▄▄▄████"], ["walk_1", " ▄▀▀█▄▄▄▄▄▄█▀▀▄ \n █▄█▀█████▀██ █ \n ██▄▄▀▀▀▄▄███▀ \n ▀█ ▄▀█▀ ▄ █▀ \n ▄██▄ ▀ ▀▀ ▄██▄ \n ▀██ ▀▄▀ █████ \n ▄█▄ ▀ ▀ ▄█▄ \n ██████▀▀██████ "], ["walk_2", " ▄▄▄ ▄▄▄ \n █ ▄████████▄ █ \n ▀██ ▀███▀ ██▄█ \n▄ ██▀▀▄▄▄▀▀▀██ ▄\n████ ▀▄▀▄▄▀ ████\n ▀██▀ ▄ ▄ ▀██▀ \n ▄▄█ ▄▀▄ █▄▄ \n█████▄▄▄▄▄▄█████"]]], + ["waruseadramon", [["angry", "▄▄ ▄▄▄▄▄ \n▀███▄██████▀▀▄▄ \n ▄███▀ ███▀▀█▀ \n███▀▀▀███▀▀▀▀█▄ \n▀▀▄█████▄████▄ \n ▄█ █▄▀██▄ ▄█\n █▀▄▀███▄▄▄▄██▀\n ▀▄█▄█▄█▄██▀ "], ["attack", "██▄▄ ▄▄▄▄████▀ \n ▀████▀████▄▄█▀ \n▄████▄▄███▄▄█▄ \n▀▀ ▀ ███▀▄▄▄▄▀▀ \n █▀███▀▀▀ \n ▀██▀███▄▀▀▀ ▄██\n █▀▄▀███████▀ \n ▀█▄█▄█▄██▀ "], ["eat_1", "██▄▄ ▄▄▄▄████▀ \n ▀███▀▀▀███▄▄█▀ \n▄███▄█▄███▄▄█▄ \n██▀▀▀▀██▀▄▄▄▄▀▀ \n █▀███▀▀▀ \n ▀██▀███▄▀▀▀ ▄██\n █▀▄▀███████▀ \n ▀█▄█▄█▄██▀ "], ["eat_2", "▄▄ ▄▄▄▄▄ \n▀███▄██████▀▀▄▄ \n ▄██▀▄▀███▀▀█▀ \n███▀▀▀███▀▀▀▀█▄ \n▀▀▄█████▄████▄ \n ▄█ █▄▀██▄ \n █▀▄▀███▄▄▄███▄\n ▀▄█▄█▄█▄█▀ ▀▀"], ["happy", "██▄▄ ▄▄▄▄████▀ \n ▀███▀█████▄▄█▀ \n▄███▄█▄███▄▄█▄ \n██▀▀▀▀██▀▄▄▄▄▀▀ \n ▄█▀███▀▀▀ \n ███▀███▄▀▀▀ ▄██\n █▄▀▄▀███████▀ \n ▀█▄█▄█▄██▀ "], ["injured_1", " \n██▄▄ ▄▄▄▄████▀ \n ▀█████████▄▄█▀ \n▄████ ▀███▄▄█▄ \n██▀▀▀███▀▄▄▄▄▀▀ \n ▀██▀█▀▀██▀▀▀ ▄\n █▀▄▀███▄▄▄▄███\n ▀▄█▄█▄█▄██▀▀ "], ["injured_2", " \n▄▄ ▄▄▄▄▄ \n▀███▄██████▀▀▄▄ \n ▄███▀████▀▀█▀ \n█████▄▄██▀▀▀▀█▄ \n▀▀▄▄▄███▄████▄ \n ▄▀█▀█▄▄██▄▄▄▄ \n ▀▄█▄█▄█▄██▀██"], ["sleep_1", " \n██▄▄ ▄▄▄▄████▀ \n ▀█████████▄▄█▀ \n▄████▄▄███▄▄█▄ \n██▀▀▀███▀▄▄▄▄▀▀ \n ▀██▀█▀▀██▀▀▀ ▄\n █▀▄▀███▄▄▄▄███\n ▀▄█▄█▄█▄██▀▀ "], ["sleep_2", "▄▄ ▄▄▄▄▄ \n▀███▄██████▀▀▄▄ \n ▄███▀▀███▀▀█▀ \n███▀▀▀███▀▀▀▀█▄ \n▀▀▄█████▄████▄ \n ▄█ █▄▀██▄ ▄█\n █▀▄▀███▄▄▄▄██▀\n ▀▄█▄█▄█▄██▀ "], ["walk_1", "██▄▄ ▄▄▄▄████▀ \n ▀███▀▀▀███▄▄█▀ \n▄███▄█▄███▄▄█▄ \n██▀▄▄▄██▀▄▄▄▄▀▀ \n ▀▀█▀█▀███▀▀▀ \n ▄█▀▄██▄▀▀▀ ▄██\n █▄▀▄▀███████▀ \n ▀█▄█▄█▄██▀ "], ["walk_2", "▄▄ ▄▄▄▄▄ \n▀███▄██████▀▀▄▄ \n ▄██▀▄ ▄██▀▀█▀ \n███▀▀▀███▀▀▀▀█▄ \n▀▀▄█████▄████▄ \n ▄█ █▄▀██▄ ▄█\n █▀▄▀███▄▄▄▄██▀\n ▀▄█▄█▄█▄██▀ "]]], + ["weregarurumon", [["angry", " ▄▀█▄▄▄ ▄▀█ \n ▄▄▄█▀ ▄ ▀ ▄▀ \n █ ▀ ▄▄██ \n ▀█▀█▀▄ ▄█ \n █▀▀▀▀▀ ▀▄▀█\n █▀█▄▄▄▄▄▀ █ █\n ▄█▄▀ ▄▄ ▀▄▄█▀ \n █▄▄▄▄█ █▄▄▄▄█ "], ["attack", " ▄▀█▄▄▄ ▄▀█ \n ▄▄▄▀▀ ▄▄▀ █ \n ▀▄▄▄▄▄▀▀ ▄██ \n ▀ ▀ █ ▄█▀ \n ▄▄▄▄▄▀ ▀▄▀█\n ▀▄▄▄▄▀ ▄▀ █ █\n █▄▄▀▀▀▀▀▀█▄▀ \n █▄▄▄█▀▀█▄▄▄▄█ "], ["eat_1", " ▄▀█▄▄▄ ▄▀█ \n ▄▄▄▀▀ ▄▄▀ ▄▀ \n ▀▄▄▄▄ ▀ ▄▄██ \n █ ▄█ \n █▀▀▀ ▄ ▄▄ ▀▄▄▄\n ▄▀█▀▀ ▀▄▄▀ █\n ▀▄▄█▀▀▀▀▀▀▄▄▀ \n █▄▄▄█▀▀█▄▄▄▄█ "], ["eat_2", " ▄▀█▄▄▄ ▄▀█ \n █▀ ▄▄▄▀ ▄▀ \n █▀▀ ▀ ▀▄▄██ \n ▀▄▄▄█▄ ▄█ \n ▀▄▄▄▄ ▄▄█ \n █ █▄▄▄▄█ █▀▀█\n ▄█▀▄▄▄▄ ▀▀▄▄▀ \n █▄▄▄▄█ █▄▄▄▄█ "], ["happy", " ▄▀█▄▄▄ ▄▀█ \n ▄▄▄▀▀ ▄▄ ▀ ▄▀ \n ▀▄▄▄▄▀ ▀▄██ \n █ ▄█ \n █▀▀▀ ▄ ▀▀▄ \n ▄▀▀█▀ ▄▀▀▄▀█\n ▀▄▄▀▀▀▀▀▀▄▄█▄▀\n █▄▄▄█▀▀▀▄▄▄▄█ "], ["injured_1", " ▄▄ ▄▄ \n █▄▀▀▀▀▄▀ █ \n ▄▄▄▀ ▄ ▄█ \n █ ▄ ▀ ▀▀█▀ \n █▀▀▀▀ ▀▀▄▄ \n ▄▀█▀▀ ▄ █▄\n ▀▄▄▀▀▀▀▀▀▄▄█ █\n █▄▄▄███▄▄▄▄▄█ "], ["injured_2", " \n █▀▄▀▀▀▀▄▀▀▀▄ \n ▄▄▄▀ ▄ ▄█▀ \n █ ▄▀▀▀ ▀██ \n █▀▀▀▀ ▀▀▄ \n ▄▀█▀▀ ▀▄ █▄ \n █ ▄▄▀▀▀▀▀▀▄█▄ █\n █▄▄▄███▄▄▄▄▄█▀"], ["sleep_1", " \n ▄▄ ▄▄ \n █▄▀▀▀▀▄▀ █ \n █ ▄█ ▄ \n █ ▄▄▄ ▄█▄▀█ \n▄▄█ ▄███▄▀ \n█ ▀▄▄▄▄▀ ▄▀ ▀█ \n█▄▄█▄▄▄▄▄█▄▄▄▄█ "], ["sleep_2", " \n ▄▀█▄▄▄ ▄▀█ \n █▀ ▀ ▄▀ \n ▄▀ ▀█ \n █ ▀▀▀ ██▄▄▀█\n▄▄█ ▄ ▀▀██ ▄▀\n█ █▀▀▀ ▄▀ ▀▄ \n█▄▄█▄▄▄▄▄█▄▄▄▄█ "], ["walk_1", " ▄▀█▄▄▄ ▄▀█ \n █▀ ▄▄▄▀ ▄▀ \n █▀▀ ▀ ▀▄▄██ \n ▀▄▄▄█▄ ▄█ \n ▀▄▄▄▄ ▀▄▀█\n █ █▄▄▄▄▄▄▀ █ █\n ▄█▀▄▄▄ ▀▄▄█▀ \n █▄▄▄▄█ █▄▄▄▄▄█ "], ["walk_2", " ▄▄ ▄▄ \n █▄▀▀▀▀▄▀ █ \n ▄▄▄▀ ▄▀█▀ ▄█ \n █ ▄ ▀▀█▀ \n █▀▀▀▀ ▀▀▄ \n ▄▀█▀▀ ▄ █▄▄\n █▄▄▀▀▀▀▀▄▄▄█ █\n █▄▄▄▄█▀█▄▄▄▄▄█ "]]], + ["weregarurumon_x", [["angry", " ▄▄ ▄▄▄▄ \n █▄▀▀▀▀▀ ▄▀ \n▄▄▄▀ ▄█ █▄▀▀█\n█ ▄ ▀██ ▄█▄\n █▀▀▀▀ ▄██▄▀ ▄▀\n ▄▀██▀ ██▄▄ █▀▄▄\n █▄▀█▀▀▀█▀▄▄█▄▄▀\n█▄█▄▄█▀▀█▄█▄█▄█ "], ["attack", " ▄▀█▄▄▄▄▀▀▀█ \n █▀ ▄▄ ▄▀█▄▄\n█▀▀ ▀▀ ▄▄█▀ ▄▀\n█▄██▄█▄ ▄█▀▄▀▀█\n▄█▀██▀█ █ █▄▄▀ \n██▄▄▄▄▄███▄█▄▄▀█\n ▄█▀▄▄▄ ▀▀██▄▄▄▀\n█▄█▄▄█ █▄█▄█▄█ "], ["eat_1", " ▄▀█▄▄▄▄▀▀▀█ \n▄▄▄█▀ ▄ ▄▀▄▄▄\n█ ▀ ▀ ▄▄█▀ ▄▀\n ▀████▄ ▄█▄▄▀▀█\n ██▄▄█ ██▀█▄▄▀ \n▄▀█▄▄▄▄███▀ █▄▄▄\n▀▄▄▀▄▄▄ ▀▀▄▄█▄▄▀\n█▄█▄▄█ █▄█▄█▄█ "], ["eat_2", " ▄▄ ▄▄ \n █▄▀▀▀▀▄▀ █ \n▄▄▄▀ ▄▀▄ ▄█▄▀▀█\n█ ▄ ▀▀██ ▄█▄\n █▀▀▀▀ ▄█▀▄▀ ▄▀\n█ ▀██▀ ██ █▀▄▄\n▀▄█▀█▀▀▀▀████▄▄▀\n█▄█▄▄█▀▀▄▄█▄█▄█ "], ["happy", " ▄▀█▄▄▄▄▀▀▀█ \n▄▄▄█▀ ▄ ▄▀▄▄▄\n█ ▀ ▀ ▄▄█▀ ▄▀\n ▀███▄ ██▄▀▀█\n█▀████ ▄█ █▄▀ \n▀▄▀▄▄▄▄██ ▄▀▄▄▀█\n ▄█▀▄▄▄ ▀▀██▄▄▄▀\n█▄█▄▄█ █▄█▄█▄█ "], ["injured_1", " \n ▄▀█▄▄▄▄▀▀▀█ \n █▀▄ ▄▀ \n█▀▀ ▀▀▀ ▄▄█▄▀▀█\n▀▄▄▄█▄ ▄██ ▄█▄\n ▀▄▄▄▄ ▄███▄▀ ▄▀\n ▄▄▀█▄▄██▀ ███▄ \n█▄▄▄█▄▄█▄▄███▄▄█"], ["injured_2", " \n ▄▄ ▄▄▄▄ \n █▄▀▀▀▀▀ ▄▀ \n▄▄▄▀ █▄▄ █ ▄▄▄\n█ ▄ ▀██▀ ▄▀\n █▀▀▀▀ ▄██▀▄▀▀█\n ▄█▀██▄███▀█▄▄█ \n█▄▄▄█▄▄█▄▄▄██▄▄█"], ["sleep_1", " \n ▄▄ ▄▄ \n █ █▄▄▄▀▀ █▄▄▄ \n █▀ ▄█▄ ▄▀ \n▄▀ ▄▄ ▄▄██ ▀▀█ \n█ ▄ ▄█▀▀█▄█ \n▄▀▀█▄▄▄█▀█▀█▀▄▀█\n█▄▄▄█▄▄█▄▄▄▄▄█▀ "], ["sleep_2", " \n ▄▀█ ▄▄▀█ \n █▄▀▀▀▀ ▄▀▄▄▄\n ▄▀ ██▀ ▄▀\n ▄▀ ▀▀ ▀██▀▄▀▀█\n ▀▄ ▄ ▄█▀▀█▄▄▀ \n▄▀▀██▄▄█▀█▀█▀▄▀█\n█▄▄▄█▄▄█▄▄▄▄▄█▀ "], ["walk_1", " ▄▀█▄▄▄▄▀▀▀█ \n █▀ ▄▄▄ ▄▀▄▄▄\n█▀▀ ▀ ▀ ▄▄█▀ ▄▀\n▀▄▄▄█▄ ▄█▀▄▀▀█\n ▀▄▄▄▄ ▄█▀▀█▄▄▀ \n █ ██▄▄███ █▄▀█\n ▄█▀▄▄▄ ▀██▄▄▄▀\n█▄█▄▄█ █▄█▄█▄█ "], ["walk_2", " ▄▄ ▄▄▄▄ \n █▄▀▀▀▀▀ ▄▀ \n▄▄▄▀ ▄▀█▀ █▄▀▀█\n█ ▄ ▀██ ▄█▄\n █▀▀▀▀ ▄█▀█▀ ▄▀\n ▄▀██▀ ██▀▀ ██▄▄\n ██▀█▀▀▀▀▄▄██▄▄▀\n█▄█▄▄█▀▀▀▄█▄█▄█ "]]], + ["whamon", [["angry", " \n \n \n \n \n \n \n "], ["attack", " ▄███▄███▄\n ▀▀███▀▀ \n ▄▄▄▄▄▄▄▀█▀▄█ \n▄█████▀ ██▄▀▄█ \n█▀▀▀▀▀▀▀█████▀▀█\n█ ███ ▄▀\n█ ▄▀▀▀▀▀▀███▀▀ \n ▀███████▀▀ "], ["eat_1", " ▄███▄███▄\n ▀▀███▀▀ \n ▄▄▄▄▄▄ ▄▀▄█ \n▄██████▀█▀▄▀▄█ \n█▀ ▀███▄█▄█ \n█ █████ \n█ ▄▀▀▀▀▀███▀▀█▄ \n ▀███████▀▀█▄▄██"], ["eat_2", " ▄▄ ▄▄ \n ▀███▄███▀\n ▀███▀ \n ▄▄▄▄▄▄ ▄▀▄▀▄ \n▄█████████▀▄▀█ \n████████▀██▄██▀█\n█▀▀▀▀▀█▄█▄██▄▄▀ \n ▀█████████▀ "], ["happy", " ▄███▄███▄\n ▀▀███▀▀ \n ▄▄▄▄▄▄ ▄▀▄█ \n▄██████▀██▄▀▄█ \n██████▄█▄███▄█ \n█ █████ \n█ ▄▀▀▀▀▀████▀▀█▄\n ▀███████▀▀▀▀▄▄█"], ["injured_1", " \n \n ▄███▄███▄\n ▄▄▄▄▄█▀█▀█▀█▀▀\n▄█████████▀▄▀█ \n███████████▄██▀█\n█▀▀▀▀▀██▄▀▀█▄▄▀ \n ▀█████████▀ "], ["injured_2", " \n \n ▄███▄███▄ \n ▀▀███▀▀ \n ▄███████▄▀▄█ \n███████████▄██ \n███████▀████▀█▄ \n▀▄▄▄▄▄██▄▄█▀▄▄██"], ["sleep_1", " \n \n ▄███▄███▄\n ▄▄▄▄▄▄▀▀███▀▀ \n▄█████████▄▀▄█ \n████████████▄█ \n█▀▀▀▀███▀▀██▀█▄ \n ▀██████████▄▄██"], ["sleep_2", " \n ▄▄▄ ▄▄▄ \n █████████\n ▄▄▄▄▄▄ ▄▀▄▀▄ \n▄█████████▀▄▀█ \n███████████▄██▀█\n█▀▀▀▀ ▀█▄▄██▄▄▀ \n ▀█████████▀ "], ["walk_1", " ▄███▄███▄ \n ▀▀███▀▀ \n ▄▄ █ █ \n ▄▄▄█▄██▀▄▀▄█ \n▄█████████▄█▄█▀█\n███████▀▄███▄▄▀ \n█▀▀▀▀ ▀█████▀ \n ▀███████▀▀ "], ["walk_2", " ▄▄ ▄▄ \n █████████ \n ▀█▀▄ \n ▄▄▄▄██▄▄▀▄▀▄ \n▄████████▄▀▄▀█▄▄\n███████▀▄███▀▀▄▀\n█▀▀▀▀ ▀██████▀ \n ▀█████████▀ "]]], + ["wingdramon", [["angry", " ▄▀▀█▄▄▄▄▄▄▄ \n █▄██▀ ██▄▄▄▀▄ \n █▀█▀█▀█▀ ▄▀▄█▄\n▄▀▀▄█▄█▄▀█▀▀████\n▀▄▄▀▄▄▄▄▀█▄▄████\n ▀▄█▀▀▀▀ ▄█ ██\n ▄▀▀▄ ▄ ▀█ \n █▄█▄▄█▀▀█▄█▄█▄█"], ["attack", " ▄▄ ▄▄▄▄▄▄▄ \n▄▀▄██▀▀██▄▄▄▀▄ \n█▄██▄▄██▀ ▄▀ ██ \n▀█▀ ▀ ▀ ▀▀▄▄████\n ▀██▀█▀▄▄ ▀████\n █ █▀▀█ ▄█ ██\n ▄▀▀█▄ ▀█▀ ▀█ \n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["eat_1", " ▄▄ ▄▄▄▄▄▄▄ \n▄▀▄██▀▀██▄▄▄▀▄ \n█▄██▄▄██▀ ▄▀ ██ \n▀█▀ ▀ ▀ ▀▀▄▄████\n ▀██▀█▀▄▄ ▀████\n █ █▀▀█ ▄█ ██\n ▄▀▀█▄ ▀█▀ ▀█ \n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["eat_2", " ▄▄ ▄▄▄▄▄▄▄ \n▄▀▄██▀▀██▄▄▄▀ █▄\n█▄██▄▄██▀ ▄▀▄███\n▀█▀ ▀ ▀██▀ █████\n ▄█▄ ▄█▀▀▄▀█ ██\n ▀▄ █▀ ▀▄ ▄█ ▀ \n ▄▀▀▄ ▄▀▀ ▀▄ \n █▄█▄▄█▀█▄█▄█▄█ "], ["happy", " █▀▄▄▄▄███▀▀▀█ \n █ ███▀▄▀██▀▀█ \n █████████▄▄█▄█ \n██ ▀ ▀ ▀ ██ ███\n▀▄▀▄▄▄▄▄▀█ ▄███\n ▀█▄▄█▄▄▄███ ▀█\n ▄▀▀█▄ ▄▀ ▀▄ \n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["injured_1", " ▄▄ ▄▄▄▄ \n▄▀▄█▀███▄ ▀▄ \n█▄███▄▄█▀▀▄█ ▄ \n▀█▀ ▀ ▀ ▀▄▄▀▄██ \n ▀██▀█▀ ▄ ▀████\n ▄▀█▀▀▀▄▀ ▄█▀██\n ▄▀▀█▄ ▀▄▀ ▀█▀\n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["injured_2", " \n █▀▄▄▄██▀▀▄ \n█ ██▄▀▀██▄ █ \n███▀█▀█▀▄ ▀█ █▄ \n ▀▄▄▄▄▄▄ ▀▀▄███▄\n ▄▀█▄█▄ █ ████\n ▄▀▀█▄ █ ▄▀ ▀██\n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["refuse", " ▄▄ ▄▄▄▀▀█ ▄ \n▄▀▄███▀██▄▀█ ██▄\n█▄███▄▄█▀ ▄▀▄███\n▀█▀ ▀ ▀ ▀▀▄█████\n ▀██▀█▀ ▄▄▀█▀██\n █ █▀▀▀█ ██ ▀ \n ▄▀▀█▄ █▀ ▀█ \n█▄█▄▄█▀▀▀█▄█▄█▄█"], ["sleep_1", " ▄▄ ▄▄ \n █▄█▄▀ █ \n ████████ █▄ \n █▀███▀▄█▀█▄██▄\n ▀▄████▀▄ ▀█▀██\n ▄▄█▀▄▄▄▀ █▄▄█▄█\n █▄▀█ █ ▀ ▀ █\n █▄▄▄█▄▄▄▄█▄▄▄██"], ["sleep_2", " ▄▄ ▄▄ \n █▄█▄▀ █ \n ████████ █▄ \n █▀███▀▄█▀█▄██▄\n ▀▄████▀▄ ▀█▀██\n ▄▄█▀▄▄▄▀ █▄▄█▄█\n █▄▀█ █ ▀ ▀ █\n █▄▄▄█▄▄▄▄█▄▄▄██"], ["walk_1", " █▀▄▄▄███▀▀▀█ \n█ ██▀ ▄██▀▀█ █▄ \n███▀█▀█▀▄▄▀ ▄██▄\n ▀▄▄▄▄▄▄ ▀█████\n █▄█▄▄▀ ▀█▀██\n ▄▀█ ▄▀ ▄█ █▀\n █▀▀▄ ▀▄▄▀ ▀▄ \n █▄█▄▄█▀▀█▄█▄█▄█"], ["walk_2", " ▄▄ ▄▄▄▄▄▄▄ \n▄▀▄██▀▀██▄▄▄▀▄ \n█▄██▄▄██▀ ▄▀ ██ \n▀█▀ ▀ ▀ ▀▀▄▄████\n ▀██▀█▀▄▄ ▀████\n █ █▀▀█ ▄█ ██\n ▄▀▀█▄ ▀█▀ ▀█ \n█▄█▄▄█▀▀▀█▄█▄█▄█"]]], + ["witchmon", [["angry", " ▄█▀▀██▀▀▀ \n▀▀█▀▀▀▀▀▀█▀█▀▀ \n █ ▀▄ ▄▀ █ █ \n ▀▄ ██ ▄▀▄▀ \n ██▀██▀███▄▄ \n ▄▀▄█████ █ ▄▄▄▀\n▀▀▀█ █ ▄█▀▀▀▄▄█▀\n ▀▀▀▀ ▀"], ["attack", " ▄▄▄▄▄▄▄▄ \n▄▄▄██▄▄██▄▄▄▄▄ \n ▄▀▄ ▄▀▄▀▄ \n █ ▀ ▀ █ █ \n ▀▄██▄███▄ \n ▄▀█▄██▄▀█▀▀▀ ▄\n▄█▄█▀█▀▀█▄█▄▀▀█▄\n █▄█▄▀▀ ▀▀▀▄"], ["eat_1", " ▄▄▄▄▄▄▄▄ \n▄▄▄██▄▄██▄▄▄▄▄ \n ▄█ ▄▀▄▀▄ \n █ ▀ ▀ ▀█ █ \n ▀▄██▄███▄ \n ▄▀█▄██▄▀█▀▀▀ ▄\n▄█▄█▀█▀▀█▄█▄▀▀█▄\n █▄█▄▀▀ ▀▀▀▄"], ["eat_2", " ▄█▀▀██▀▀▀ \n▀▀▀█▀▀▀▀█▀█▀▀▀ \n █ ▀ ▀ █ █ \n ▀▄ ██ ▄█▄▀ \n ▄█▀██▀███▄▄ \n ▄▀▄█████ █ ▄▄▄▀\n▀▀▀█ █ ▄█▀▀▀▄▄█▀\n ▀▀▀▀ ▀"], ["happy", " ▄█▀▀██▀▀▀ \n▀▀█▀▀▀▀▀▀█▀█▀▀ \n █▄▀▄ ▄▀▄ █ █ \n ▀▄ ▄ ▄ ▄▀▄▀ \n █▄▀▀▄▀███▄▄ \n ▄▀▄█████ █ ▄▄▄▀\n▀▀▀█ █ ▄█▀▀▀▄▄█▀\n ▀▀▀▀ ▀"], ["injured_1", " \n ▄█▀▀██▀▀▀ \n▀▀▀█▀▀▀▀█▀█▀▀▀ \n █ ▄ ▄ █ █ \n ▀█▀ ▀██▄▀ \n ▄█▀██▀███ \n ▄▀▄▀██▀█▄█ ▀▄ \n ▀▀█▄▄█▄▄▄█▀▀▀ "], ["injured_2", " \n ▄▄▄▄▄▄▄▄ \n▄▄▄██▄▄██▄▄▄▄▄ \n ▄▀ ▀▄▀▄ \n █▄█ █▄█ █ \n ▀▄▄▄▄███▄ \n ▄█▀▄█▀▄██▀▄ \n █▄█▄▄█▄▄▄█▄▄█ "], ["refuse", " ▄▄▄▄▄▄▄▄ \n▄▄▄██▄▄██▄▄▄▄▄ \n ▄█ ▄▀▄▀▄ \n █▀▀ ▀▀ █ █ \n ▀▄██▄███▄ \n ▄▀█▄██▄▀█▀▀▀ ▄\n▄█▄█▀█▀▀█▄█▄▀▀█▄\n █▄█▄▀▀ ▀▀▀▄"], ["sleep_1", " ▄█▀▀██▀▀▀ \n▀▀▀█▀▀▀▀█▀█▀▀▀ \n █▄▄ ▄▄█ █ \n ▀▄ ▄▄ ▄█▄▀ \n ▄█▀██▀███▄▄ \n ▄▀▄█████ █ ▄▄▄▀\n▀▀▀█ █ ▄█▀▀▀▄▄█▀\n ▀▀▀▀ ▀"], ["sleep_2", " ▄▄▄▄▄▄▄▄ \n▄▄▄██▄▄██▄▄▄▄▄ \n ▄▀ ▀▄▀▄ \n █▀▀ ▀▀█ █ \n ▀▄██▄███▄ \n ▄▀█▄██▄▀█▀▀▀ ▄\n▄█▄█▀█▀▀█▄█▄▀▀█▄\n █▄█▄▀▀ ▀▀▀▄"], ["walk_1", " ▄█▀▀██▀▀▀ \n▀▀▀█▀▀▀▀█▀█▀▀▀ \n █ █ █ █ █ \n ▀▄ ▄▄ ▄█▄▀ \n ▄█▀██▀███▄▄ \n ▄▀▄█████ █ ▄▄▄▀\n▀▀▀█ █ ▄█▀▀▀▄▄█▀\n ▀▀▀▀ ▀"], ["walk_2", " ▄▄▄▄▄▄▄▄ \n▄▄▄██▄▄██▄▄▄▄▄ \n ▄▀▄ ▄▀▄▀▄ \n █ ▀ ▀ █ █ \n ▀▄██▄███▄ \n ▄▀█▄██▄▀█▀▀▀ ▄\n▄█▄█▀█▀▀█▄█▄▀▀█▄\n █▄█▄▀▀ ▀▀▀▄"]]], + ["wizardmon", [["angry", " ▄▄▄▄▄ \n ▄██████▀█ \n ████████▄ \n▄███▄▀███▀▄██▄▄ \n█ ▀█▀▀▀▀▀▀▀██▀ █\n ▀▀██▄▄▄▄▄████▀ \n ▄▀▀███▄████▀▀█ \n█▄▄▄▄█▀▀▀▀█▄▄▄▄█"], ["attack", " ▄▄███████▄ \n ███▀ ▄██▀ ▀ \n ▀▀▀▀▀▀████▄▄ \n ████ \n █▀▀▀▀▀▀ ████▀ \n█ ██▀██████▀ ▀▄ \n▀████████▀█▄▄▄▀ \n█▄▄███▀▀▄▄▄▄▄█ "], ["eat_1", " ▄▄███████▄ \n ██▀▄▀███▀ ▀ \n ▀▀▀▀▀▀████▄▄ \n ▄▄ █ ██▄▄▄\n █ █▀▀▀▀▀▄███▄ █\n ▀▀███▀██████▀▀ \n ▄▀██████▀▀▀▄ \n █▄▄▄██▀▀▄▄▄▄▄█ "], ["eat_2", " ▄▄▄▄▄ \n ▄██████▀█ \n █▀████▀█▄ \n ▀█▄█▄██▄█▄██▀ \n▄██▄▀▀▀▀▀▀▀▄███ \n█ ▄██▄▄▄▄▄███▄ █\n █▀▀███▄████▀▀█ \n█▄▄▄▄█▀▀▀▀█▄▄▄▄█"], ["happy", " ▄▄██████▄ \n ▄▀▄▀█▀▄▀█ ▀ \n ▀█▀▀▀▀▀▀▀▀██▀ \n▄▄█ ██████ █▀▄▄▄\n█ ▀█▄▀▀▀▀▄███▀ █\n ▀▀████▀█████▀▀ \n ▄▀███████▀▀▄ \n █▄▄▄▄█▀▀█▄▄▄▄█ "], ["injured_1", " \n ▄▄█████▄ \n ▄███████ ▀ \n ▄▄██▀██▀███▄▄ \n ██▄▄██▄▄███ \n ▀▀█▄ ▄███▀ \n ████████████▄ \n █▄▄█▀████▄▄█▄▄█"], ["injured_2", " \n ▄▄▄▄▄ \n ▄██████▀▀▄ \n ████████▄ \n▀██▀ ██ ▀███▀ \n▄██▀▀▀▀▀▀████▀ \n ▄██▄▄▄▄██████▄ \n█▄▄█▀██████▄▄█▄█"], ["sleep_1", " \n ▄▄▄▄▄ \n ▄██████▀▀▄ \n ████████▄ \n▀██▀▀██▀▀███▀ \n▄██▀▀▀▀▀▀█████▄ \n█ ██▄▄▄▄████▀ █ \n█▄▄███▄█████▄▄█ "], ["sleep_2", " \n ▄▄█████▄ \n ▄███████ ▀ \n ▄▄█████████▄▄ \n ██▄▄██▄▄███▄▄ \n▄███▄ ▄███▄ \n█ ▀████▀████▀ █ \n█▄▄█████████▄▄█ "], ["walk_1", " ▄▄█████▄ \n ▄███████ ▀ \n ▄▄█ ▀██▀ ██▄▄ \n ▀█████████▀ \n ▀██▄ ▄███▀ \n ▄▀▀███▀████▀▀▄ \n ▀█▀███████▀▀█▀ \n █▄▄▄▄█▀▀█▄▄▄▄█ "], ["walk_2", " ▄▄▄▄▄ \n ▄██████▀█ \n █▀████▀█▄ \n ▀██▄▄██▄▄███▀ \n▄███▀▀▀▀▀▀▀████ \n█ ▄██▄▄▄▄▄███▄ █\n █▀▀███▄████▀▀█ \n█▄▄▄▄█▀▀▀▀█▄▄▄▄█"]]], + ["wizardmon_x", [["angry", " ▄▄▄▄▄ \n ▄████▄ ▀ \n ▄█ ███▄ \n▀▀██▀▀█▀█▀▀██▀▀ \n ▀▄ █▄ ▀▀▄█ ▄▀ \n ▀▄▄▄▄▄▄▄▀ \n ▄████▀████▄ \n ██▄█▄▄▄▄▄█▄██ "], ["attack", " ▄███▀▀▄ \n █▀▀███ \n▄▄▄▄██▄▄████▄▄▄ \n ▄▀▀▄ ▀▄█ ▄▀▀▄ \n▄▄▀▄▀▀ ▀▀▄▀▄▄ \n▀█▄▄███████▄▄█▀ \n ▀▀█▀▀ ▀▀█▀▀ \n ▄██▀▀▀██▄ "], ["eat_1", " ▄███▀▀▄ \n █▀▀███ \n▄▄▄▄██▄▄████▄▄▄ \n ▄▀▀▄ ▀▄█ ▄▀▀▄ \n ▀▄▀ ▄▄▄ ▀▄▀ \n ▄█▄▀▀▀▄█▄ \n ▄█▀█▀▀▀▀▀█▀█▄ \n ▀▀ ▄██▀██▄ ▀▀ "], ["eat_2", " ▄▄▄▄▄ \n ▄████▄ ▀ \n ▄█ ███▄ \n▀▀██▀▀█▀█▀▀██▀▀ \n ▀▄ █ ▀▀ █ ▄▀ \n █▄▄▄▄▄▄▄█ \n ▄████▀████▄ \n ██▄█▄▄▄▄▄█▄██ "], ["happy", " ▄███▀▀▄ \n █▀▀███ \n▄▄▄▄██▄▄████▄▄▄ \n ▄▀▀▄ ▀▄█ ▄▀▀▄ \n▄▄▀▄▀ ▄ ▄ ▀▄▀▄▄ \n▀▀█▄█▄ ▀ ▄█▄█▀▀ \n ▀█▀▀▀▀▀█▀ \n ▄██▀██▄ "], ["injured_1", " ▄▄▄▄▄ \n ▄████▄ ▀ \n ▄█ ███▄ \n▀▀██▀▀█▀█▀▀██▀▀ \n ▀▄ ▄█ ▀ █▄ ▄▀ \n ▀▄▄▄▄▄▄▄▀ \n▄▀▀████▀████▀▀▄ \n█▄▄▄█▄▄▄▄▄█▄▄▄█ "], ["injured_2", " \n ▄███▀▀▄ \n █▀▀███ \n▄▄▄▄██▄▄████▄▄▄ \n ▄▀▀ ▄▀▄▀▄ ▀▀▄ \n ▀▄▀▀ ▀▀▄▀ \n▄▀▀████▀████▀▀▄ \n█▄▄▄█▄▄▄▄▄█▄▄▄█ "], ["sleep_1", " ▄▄▄▄ \n █▀▀██▀▀▄ \n▄▄▄▄██▄▄███▄▄▄▄ \n ▄▀▀ ▀▄█ ▀▀▄ \n █▄██▄▄▄██▄█ \n █ ▄▄▄▄▄▄▄▄▄ █ \n █ █▄█▄█▄█▄█ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " ▄▄████▄ \n ▄█ ██▄ ▀ \n▀▀██▀▀█▀█▀▀██▀▀ \n ▀▄ ▄▄ ▀▀▄▄ ▄▀ \n ▄█▄▄▄▄▄▄▄█▄ \n █ ▄▄▄▄▄▄▄▄▄ █ \n █ █▄█▄█▄█▄█ █ \n ▀▄▄▄▄▄▄▄▄▄▄▄▀ "], ["walk_1", " ▄███▀▀▄ \n █▀▀███ \n▄▄▄▄██▄▄████▄▄▄ \n ▄▀▀▄ ▀▄█ ▄▀▀▄ \n ▀▄ ▀ ▀ ▄▀ \n ▄███████▄ \n ▄█▀█▀▀ ▀▀█▀█▄ \n ▀▀ ▄██▀██▄ ▀▀ "], ["walk_2", " ▄▄▄▄▄ \n ▄████▄ ▀ \n ▄█ ███▄ \n▀▀██▀▀█▀█▀▀██▀▀ \n ▀▄ ▀▄ ▀▀▄▀ ▄▀ \n ▀▄▄▄▄▄▄▄▀ \n ▄████▀████▄ \n ██▄█▄▄▄▄▄█▄██ "]]], + ["woodmon", [["angry", " ▄ ▄ ▄█▄ ▄ \n █▀ █ █▀█▄█ \n █ █ █ \n █ ▄█ █▀ █ \n █ ▄ ▄ ▄█ \n ▄█▀█▀█ ▀█ \n ▄▀▀▄ ▀▀▀▀▄ \n █▄█▄██▀█▄▄█▄▄▄█"], ["attack", " █▄▀▄▀▀█▄█ \n █ ▄▀ █ ▄█ \n █ ▄ █▀ █ █ █ \n ▀▀██▄▄ ▄█▀▀ █ \n ███▄ ▄▄▀ \n ▄▀█▀█ ▀ ▀█ \n ▄▀▄▄ ▀▀▀▀▄ \n █▄█▄██▀▀▄█▄▄▄█ "], ["eat_1", "█▄ █▄▀▄█▀█▄█ ▄█\n█ ██ ▀ ▀ █ █ █\n█ ▀ ▄▄ ▄▄ █▀▀ █\n▀▄▄ ▀ ▄▄▀\n ▀▄███▄█▄ █ \n ▄▀██████▀ █ \n▄▀▀ ▀▀▀▄ \n█▄█▄██▀▀▀▀▄▄█▄▄█"], ["eat_2", " ▄ ▄ ▄█▄ ▄ \n█▄ █▀ █▀ █▀█ ▄█\n█ ██ █ █ █\n█ ▀ ▄▄ ▄▄ █▀▀ █\n▀▄▄█ ▄ ▄▄▀\n █▀▄▀▀▄▀▀ █ \n ▄▀▀ ▀▀▀▄ \n █▄█▄██▀▀█▄▄█▄▄█"], ["happy", "█▀▄█▄▀▄█▀█▄█ ▄▀█\n█ █ ▀ ▀ █▄█ █\n█▄▀▄▀▄ ▄▀▄▀ █\n ▀▄▄ ▄▄▄▄ ▄ ▄▀▀ \n ▀███████ █ \n ▄▀██▄▄▄▄▀▄█▄ \n▄▀▀▄ ▄▀ ▄ ▀▄\n█▄█▄███▀▀▀▀▀▀▀▀▀"], ["injured_1", " ▄ \n▄ █▄▀▄█▀█▄█ ▄\n█▀▄█ ▀ ▀ █ ▄▀█\n█ █▀ ▄ █▄█ █\n█ ▄▀▀ ▀▀ ▀ █\n ▀▀██▄██▄█▄ ▄▀▀ \n ▄▀▀ ▀▀▄ \n █▄█▄▄▄▄▄█▄▄█▄▄█"], ["injured_2", " \n ▄▄█▄██▄█ \n█▄ █ ▀█▀▀█ █ ▄█\n█ █ ▄ ▄ █▄█ █\n█ ▄▀▀ ▀▀ ▀ █\n ▀▀█▄█▄█▄█▄ ▄▀▀ \n ▄▀ ▀ ▀ ▀ ▀ ▀▀▄ \n █▄█▄▄▄▄▄█▄▄█▄▄█"], ["sleep_1", " ▄ \n▄ █▄▀▄█▀█▄█ ▄\n█▀▄█ ▀ ▀ █ ▄▀█\n█ █▀ █▄█ █\n█ ▄▀▀ ▀▀ ▀ █\n ▀▀█▄ ▄▄ ▄ ▄▀▀ \n ▄▀ ▀ ▀ ▀▀▀▄ \n █▄█▄█▄▄▄█▄▄█▄▄█"], ["sleep_2", " ▄ ▄ ▄▄▄ ▄ \n █▄ █▀ █▀ █▀█ ▄█\n █ ██ ██ █\n █ ▀ ▀▀ ▀▀ █▀ █\n ▀▄▄█▄ ▄▄ ▄ ▄▄▀\n ▄██████ █ \n ▄▀▀ ▀▀▀▄ \n █▄█▄█▄▄▄█▄▄█▄▄█"], ["walk_1", " ▄ ▄ ▄█▄ ▄ \n█▄ █▀ █▀ █▀█ ▄█\n█ ██ █ █ █\n█ ▀ █▄ ▄█ █▀▀ █\n▀▄▄█ ▄▄▀\n █▀▄██▄█▀ █ \n ▄▀▀ ▀▀▀▄ \n █▄█▄██▀▀▀▄▄█▄▄█"], ["walk_2", " ▄ \n▄ █▄▀▄█▀█▄█ ▄\n█▀▄█ ▀ ▀ █ ▄▀█\n█ █▀▄ ▄ █▄█ █\n█ ▄▀▀ ▀▀ ▀ █\n ▀▀█▄ ▄▄ ▄▄ ▄▀▀ \n ▄▀ ▀▀▀▀▀ ▀▀▄ \n █▄█▄█▄▄▄█▄▄█▄▄█"]]], + ["wormmon", [["angry", " \n ▄▀▀▀▄ ▄▀▀▀▄ ▄▀█\n ▀▄▀▀▀▀▀ ▀▄ ▀ ▄▀\n █▄ ▄ █▀▀ \n █▀▀▄▄▄▀▀ █ ▄▄\n ▀▄█ █ █ ▄▀▄▀▄█\n ▄█▄▀▀▀▀█▀ ██▄ █\n █▄█▄▄▄▄▄██▄▄█▀ "], ["attack", " ▄▀▀▀▄ ▄▀▀▀▄ ▄▀█\n ▀▄▀▀▀▀▀ ▀▄ ▀ ▄▀\n █ █▄ ▄█ █▀▀ \n █ ▄▄▄▄▄▄ █ \n▄██ ████ █▄█▄▄▀█\n▀▄▀▀█▀▀▀▀█▀ █ ▀█\n ▀█ ▄▄▀██▄▀\n █▄█▄▄▄█▄█▄▄▀ "], ["eat_1", " ▄▀▀▀▄ ▄▀▀▀▄ ▄▀█\n ▀▄▀▀▀▀▀ ▀▄ ▀ ▄▀\n █▄▄ ▄▄ █▀▀ \n █ ▄▄▄▄▄ █ \n ▀█ ███ █ ▄▀ ▄▀█\n ▄▀█▀▀▀▀█▀██ ▀█\n ▀▄█ ▀▄▄▀██▄▀\n █▄█▄▄▄█▄█▄▄▀ "], ["eat_2", " ▄▄▄ ▄▄▄ ▄▄\n █ ▄▄█▄█ ▄ ▀▄▀ █\n ▄▀▄ ▄ ▀▄▄▄▀ \n █▀ ▀ ▀ ▀ █ \n █ ▄▀█▀▄ █ ▄▄\n ▀█▄█▄█▄▄█▄▄▀▄█\n ▄█▄▀ ▄▀ ██▄ █\n █▄█▄▄▄▄▄██▄▄█▀ "], ["happy", " ▄▀▀▀▄ ▄▀▀▀▄ ▄▀█\n ▀▄▀▀▀▀▀ ▀▄ ▀ ▄▀\n █▄▀▄ ▄▀▄ █▀▀ \n █ ▄▄▄▄▄ █ \n ▀█ ███ █ ▄▀ ▄▀█\n ▄▀█▀▀▀▀█▀██ ▀█\n ▀▄█ ▀▄▄▀██▄▀\n █▄█▄▄▄█▄█▄▄▀ "], ["injured_1", " \n ▄▀▀▀▄ ▄▀▀▀▄ ▄▀█\n ▀▄▀▀▀▀▀ ▀▄ ▀ ▄▀\n █ █▀▀ \n █▀▀▄▄▄▀▀ █ \n ▀▄█ █ █ ▄▀ ▄▀█\n ▄█▄▀▀▀▀█▀ ██▄ █\n █▄█▄▄▄▄▄██▄▄█▀ "], ["injured_2", " \n ▄▄▄ ▄▄▄ ▄▄\n █ ▄▄█▄█ ▄ ▀▄▀ █\n ▄▀ ▀▄▄▄▀ \n █▄▄ ▄▄ █ \n █ ▄▀█▀▄ █ ▄▀█\n ██▄█▄█▄▄▀ █▄ █\n █▄█▄▄▄▄▄█▄█▄▀ "], ["sleep_1", " \n ▄▀▀▀▄ ▄▀▀▀▄ ▄▀█\n ▀▄▀▀▀▀▀ ▀▄ ▀ ▄▀\n █ █▀▀ \n █▀▀▄▄▄▀▀ █ ▄▄\n ▀▄█ █ █ ▄▀▄▀▄█\n ▄█▄▀▀▀▀█▀ ██▄ █\n █▄█▄▄▄▄▄██▄▄█▀ "], ["sleep_2", " ▄▄▄ ▄▄▄ ▄▄\n █ ▄▄█▄█ ▄ ▀▄▀ █\n ▄▀ ▀▄▄▄▀ \n █▄▄ ▄▄ █ \n █ ▄▀█▀▄ █ ▄▄\n ▀█▄█▄█▄▄█▄▄▀▄█\n ▄█▄▀ ▄▀ ██▄ █\n █▄█▄▄▄▄▄██▄▄█▀ "], ["walk_1", " ▄▀▀▀▄ ▄▀▀▀▄ ▄▀█\n ▀▄▀▀▀▀▀ ▀▄ ▀ ▄▀\n █▄▀ ▀▄ █▀▀ \n █▀▀▄▄▄▀▀ █ \n ▀▄█ █ █ ▄▀ ▄▀█\n ▄▀█▀▀▀▀█▀██ ▀█\n ▀▄█ ▀▄▄▀██▄▀\n █▄█▄▄▄█▄█▄▄▀ "], ["walk_2", " ▄▄▄ ▄▄▄ ▄▄\n █ ▄▄█▄█ ▄ ▀▄▀ █\n ▄▀▄ ▄ ▀▄▄▄▀ \n ██▄ ▄█ █ \n █ ▄▀█▀▄ █ ▄▄\n ▀█▄█▄█▄▄█▄▄▀▄█\n ▄█▄▀ ▄▀ ██▄ █\n █▄█▄▄▄▄▄██▄▄█▀ "]]], + ["yaamon", [["angry", " \n \n \n ▀██▄▄ ▄▄██▀ \n ██████████ \n ▄▀███▀▄ ▀█ \n █▀ ▀ ▀▀ █ \n ▀▄▄▄▄▄▄▀ "], ["attack", " \n ▄▄█▀▄██▀ \n ▄█████████▀ \n █ ▄▀███▀ \n ▀▀█▄▀▀ ██ \n ██ █ \n ▄▄██ █ \n ▀▄▄▄▄▄▄▀ "], ["eat_1", " \n \n ▄██▄ ▄██▄ \n ▀▀██████████▀▀ \n ▄▀███▀▄ ▀█ \n █▀ ▀ ▀ ▀ █ \n █ █████ █ \n ▀██▄▄█▄▀ "], ["eat_2", " \n \n \n ▄██▄ ▄██▄ \n ▀▀██████████▀▀ \n ▄▀███▀▄ ▀█ \n ▄▀▀ ▀ ▀ ▀ ▀▄ \n ▀▄▄▄██▄▄▄▄▄▀ "], ["happy", " ▄▄▄▄ ▄▄▄▄ \n ▀███▄▄▄▄███▀ \n ▀█████▀▀██ \n █▄▀█▀▄▀▄ █ \n █ ▄▄▄▄▄ █ \n █ █████ █ \n ▀▄███▄▄▀ \n ▄▄▄▄▄▄ "], ["injured_1", " \n \n \n ▄▄▄ ▄▄ \n ▄████████████▄ \n ▀ ▄▀███▀▄ ▀█ ▀ \n ▄▀▀ ▀ ▀▀ ▀▄ \n ▀▄▄▄█▄▄▄▄▄▄▀ "], ["injured_2", " \n \n \n \n ▄███▄▄▄▄███▄ \n █▀▀█████▀▀██▀█ \n ▄█▄▀█▀ █▄ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄▄▀ "], ["sleep_1", " \n \n \n ▄▄ ▄▄ \n ▄████▄▄▄▄████▄ \n ▀█████▀▀██ \n ▄█▄▀█▀▄▄▄ ▀▄ \n ▀▄▄▄▄▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n \n ▄██▄ ▄██▄ \n ▀▀██████████▀▀ \n ▄▀███▀ ▀█ \n ▄▀▀ ▀ ▀▀▀ ▀▄ \n ▀▄▄▄██▄▄▄▄▄▀ "], ["walk_1", " \n \n \n ▄██▄ ▄██▄ \n ▀▀██████████▀▀ \n ▄▀███▀▄▄▀█ \n █▀ ▀ ▀▀ █ \n ▀▄██▄▄▄▀ "], ["walk_2", " \n \n \n ▄▄ ▄▄ \n ▄████▄▄▄▄████▄ \n ▀█████▀▀██ \n █▄▀█▀▄█▀ █ \n ▀▄▄▄▄▄▄▄▄▀ "]]], + ["yokomon", [["angry", " ▄▄ ▄▄▄ \n █ ▀█ █ \n ▀▄▄▀▄▄█ \n ▄▀ █ █ \n ▀▄▄▀█▄▄▀ \n ▄▀ ▄▄▀▄ \n █▄▄ █ \n ▀▄▄▄▄▄▄▄▀ "], ["attack", " \n ▄▄ ▄▄ \n █ ▀▄ █ \n ▄▄▄▀▀▀▀▄▄▄▀▄▀ \n █▄▄ ▄█ █▀ █ █ \n ▀ ▀▄ ▀▄▄▀▄▄▀ \n █▄█▄█ █ \n ▀▄▄▄▄▄▄▄▀ "], ["eat_1", " \n ▄▄ ▄▄ \n █ ▀▄ █ \n ▄▄▄▄▀▀▀▄▄▄▀▄▀ \n █▄▄ ▄ █▀ █ █ \n ▀▄▀ ▀▄▄▀▄▄▀ \n ▄▄▄▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["eat_2", " ▄▄ ▄▄▄ \n █ ▀█ █ \n ▀▄▄▀▄▄█ \n ▄▀ █ █ \n ▀▄▄▀█▄▄▀ \n ▄▀ ▄ █ \n █▄▄ ▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["happy", " ▄▀▀▀▄█▀▀▄ \n ▀█▄▄▀▄▄▄▀ \n █ █ ▀█ \n ▀▄▄█▀▄▄▄▀ \n ▄▀▄ ▄▀▄ \n ▄▀▄ ▀ ▀ ▄▀▄ \n █ ▀█████▀ █ \n ▀▄▄▄▄▄▄▄▀ "], ["injured_1", " \n \n ▄▀▀▀▄█▀▀▄ \n ▀█▄▄▀▄▄▄▀ \n █ ▄█ ▀█ \n █▀▀ ▀▀█ \n █ ▄▀ ▀▄ █ \n ▀▄▄▄█▄▄▄▀ "], ["injured_2", " \n \n ▄▄▄ ▄▄▄ \n █ ▄▄▀▄▄ █ \n ▄▀ █ ▀▄ \n ▀▄▀▀ ▀▀▄▀ \n █ ▄█ █▄ █ \n ▀▄▄▄▄▄▄▄▄▄▀ "], ["sleep_1", " \n \n ▄▀▀▀▄█▀▀▄ \n ▀█▄▄▀▄▄▄▀ \n █ ▄█ ▀█ \n █▀▀ ▀▀█ \n █ ▄▄ ▄▄ █ \n ▀▄▄▄▄▄▄▄▀ "], ["sleep_2", " ▄▄▄ ▄▄ \n █ █▀ █ \n █▄▄▀▄▄▄▀ \n █ █ ▀▄ \n ▀▄▄█▀▄▄▄▀ \n ▄▀▄▄ ▄▄▀▄ \n █ ▄ █ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_1", " ▄▄▄ ▄▄ \n █ █▀ █ \n █▄▄▀▄▄▄▀ \n █ █ ▀▄ \n ▀▄▄█▀▄▄▄▀ \n ▄▀▄ ▄▀▄ \n █ ▀ ▀ █ \n ▀▄▄▄█▄▄▄▀ "], ["walk_2", " ▄▄▄ ▄▄ \n █ █▀ █ \n █▄▄▀▄▄▄▀ \n ▄ █ █ ▀▄ \n▀▄▀ ▀▄▄█▀▄▄▄▀ \n ▀ ▄▀ ▄▀▄ \n █ ▀▀ ▀ █ \n ▀▄▄▄█▄▄▄▀ "]]], + ["yukimibotamon", [["angry", " ▄▄ ▄▄ \n █ █▀▀▀▀█ █ \n █▀▀ ▀▀█ \n ██▄██▄██ \n ██▀██▀██ \n ▀▄▄▄▄▄▄▀ \n \n ▄▄▄▄ "], ["attack", " \n \n \n \n \n █▀▄▄▀█ \n █ ▄ ▄ █ \n ▀▄▄▄▄▄▄▀ "], ["eat_1", " \n \n \n \n \n █▀▄▄▀█ \n █ ▄ ▄ █ \n ▀▄▄▄▄▄▄▀ "], ["eat_2", " \n \n ▄▀▀▀▀▄ \n █▄▄▄▀ ▄▀ \n ████ █ \n ▄████ █ \n ▀▄▄▄▄▄▀ \n ▄▄▄▄▄ "], ["happy", " \n █▀▄▄▀█ \n █ ▄ ▄ █ \n █▀ ▀▀ ▀█ \n █ ██ █ \n ▀▄ ██ ▄▀ \n ▀▀▀▀ \n ▄▄▄▄ "], ["injured_1", " \n \n \n \n ▄▄ ▄▄ \n ▄▀ ▀▀ ▀▄ \n █ ▄▀ ▀▄ █ \n ▀▄▄▄██▄▄▄▀ "], ["injured_2", " \n \n \n \n \n █▀▄▀▀▀▀▄▀█ \n ▄▀ ▄ ▄ ▀▄ \n █▄██▄▄██▄█ "], ["refuse", " \n \n \n \n \n ▄▀█▄▄▀█ \n ▄█ ▄ ▀▄ \n ▀▄█▄▄█▄▄▄▀ "], ["sleep_1", " \n \n \n \n \n █▀▄▄▀█ \n █▄▄ ▄▄█ \n ▀▄▄▄▄▄▄▀ "], ["sleep_2", " \n \n \n \n \n █▀▄▄▀█ \n █▄▄ ▄▄█ \n ▀▄▄▄▄▄▄▀ "], ["walk_1", " \n \n \n \n ▄▄ ▄▄ \n ▄▀ ▀▀ ▀▄ \n █ ▀ ▀ █ \n ▀▄▄██▄▄▀ "], ["walk_2", " \n \n \n \n \n █▀▄▄▀█ \n █ ▄ ▄ █ \n ▀▄▄▄▄▄▄▀ "]]], + ["yuramon", [["angry", " \n \n \n \n \n ▄█▀▀██▄▄ \n ▀▀▀▀███▄ \n ▀██████▄ "], ["attack", " \n ▄▄██▄▄█▀ \n ███▀ ████▄ \n ▀█▀▀█▀███▄ \n ██▄ \n ▄█▄▄█▄▄██▄ \n ▀▀▀▀▀▀▀ \n ▄▄▄▄▄▄▄ "], ["eat_1", " \n \n \n \n ▄████▄ \n ▀█▄██▀ \n ███▀ \n ▄█████▀▀ "], ["eat_2", " \n \n \n \n \n ▄█▀███▄▄ \n ▀▀▀▀███▄ \n ▀██████▄ "], ["happy", " \n ▄▄▄▄▄ \n ██ █ ██▄ \n █▀███▀█▄ \n █ █▀ \n ▀█▄▄▄█▀▀ \n \n ▄▄▄▄▄▄▄ "], ["injured_1", " \n \n \n \n \n ▄▄▄▄▄ \n ▄▀█ ▀██▀ \n ▄▄████▀▀ "], ["injured_2", " \n \n \n \n \n \n █████▄▄ \n ▀ █ ▀██▄ "], ["sleep_1", " \n \n \n \n \n ▄▄▄▄ \n ▄██████▀ \n █▄▄█▄▄█▀ "], ["sleep_2", " \n \n \n \n \n ▄████▄▄ \n █▀▀█▀▀█▄ \n ▀██████▄ "], ["walk_1", " \n \n \n \n \n ▄█████▄ \n █▄█▄██▄ \n ▀█████▄ "], ["walk_2", " \n \n \n \n \n ▄▄▄▄▄ \n ▄██▀███▀ \n █▄████▀▀ "]]], + ["zerimon", [["angry", " \n \n \n ▄▄ ▄ ▄ \n █ ▀▄ █ ▀ █\n ▄▀▀ ▀▀▄ █ █\n ██▄ ▄█ █▀ ▄▀\n ▀▄▄▄▄▄▄▄▄▄▀▀▀ "], ["attack", " \n \n █▀▄ ▄▀▄▀▄ \n ▄█ ▀▄▄▀▄ █\n ▄▀▄ ▄ ▀▄█ █\n █ ▀▀ ▀▀ █▄▄▀ \n █ █████▄ █ \n ▀▄██████▄▀ "], ["eat_1", " \n \n █▀▄ ▄ ▄ \n ▄█ ▀▄▄ █ ▀ █\n ▄▀▄ ▄ ▀▄█ █\n █▀ ▀ ▀ ▀ █▀ ▄▀\n █ █████ █▀▀ \n ▀▄█████▄▄▀ "], ["eat_2", " \n \n \n ▄▄ ▄ ▄ \n █ ▀▄ █ ▀ █\n ▄▀▀ ▀▀▄ █ █\n █▄▀▄ ▄▀▄ █▀ ▄▀\n ▀▄▄▄▄▄▄▄▄▄▀▀▀ "], ["happy", " \n \n █▀▄ ▄▀▄▀▄\n ▄█ ▀▄▄ ▀▄ █\n ▄▀▄ ▄ ▀▄█ █\n █▀ ▀ ▀ ▀ █▄▄▀ \n █ █████ █ \n ▀▄▄███▄▄▄▀ "], ["injured_1", " \n \n \n ▄▄ \n █ ▀▄ ▄▀▄▀▄\n ▄▀▀ ▀▀▄▀▄ █\n █▄▀ ▀▄ ██ █\n ▀▄▄███▄▄▄▄█▄▄▀ "], ["injured_2", " \n \n \n \n █▀▄ ▄ ▄ \n ▄█ ▀▄▄ █ ▀ █\n ▄▀ ▀▄█ █\n ███▄▄▄██▄▄█▄▄▄▀"], ["sleep_1", " \n \n \n █▀▄ ▄ ▄ \n ▄█ ▀▄▄ █ ▀ █\n ▄█▄ ▄▄ ▀▄█ █\n █ ▄▄▄ █ ▄▀ \n ▀▄▄▄▄▄▄▄▄██▀ "], ["sleep_2", " \n \n \n ▄▄ \n █ ▀▄ ▄▀▄▀▄\n ▄▀▀ ▀▀▄▀▄ █\n █▀▀ ▀▀ ██ █\n ▀▄▄██▄▄▄▄▄█▄▄▀ "], ["walk_1", " \n \n \n █▀▄ ▄▀▄▀▄\n ▄█ ▀▄▄ ▀▄ █\n ▄▀▄ ▄ ▀▄█ █\n █ ▀▄▄▄▀ █▄▄▀ \n ▀▄▄▄▄▄▄▄▀ "], ["walk_2", " \n \n \n ▄▄ ▄ ▄ \n █ ▀▄ █ ▀ █\n ▄▀▀ ▀▀▄ █ █\n █ █ █ █▀ ▄▀\n ▀▄▄███▄▄▄▄▀▀▀ "]]], + ["zhuqiaomon", [["angry", " ▄▄▀█▀ \n ▄▀▀▄ ▄▀▄▄▀▀▀█\n▄▀ ▀▀ ▄▀█ ▄▄█ \n█▄▄███▀█▄█ ▄▀ \n ▀█▀▀▄█ ▀▄█▄▄▄ \n ██▀▀██ ▄▄▄▄▄▀\n ▀ █▄▀ ▀▄ ▀▄▄ \n ▀███▀▄▄▄▄▀ "], ["attack", " ▄▄▀█▀ \n ▄▀▀▄▄ ▄▀ \n▄▀ ▀▀ ▄▄▀▄█▀▀▀█\n█▄▄▀████▄█▀ ▀█ \n ▄█▀▀▄█ ▀ ▄▀▀ \n █▀▄ █▀▄ ▀▀▀▀▀▄\n █▄ ▀▄ ▀▀█▀ \n ▀▀▀▀▀▀▀▀▀▀ "], ["eat_1", " ▄▄▄ \n ▄▄▀▀ ▀▄ \n ▄▀ ▄▀▄ ▀▄ ▄▄▄▄▄\n█ ▄▄▄▄█▀▄█▀ ▄▄▀\n▀▀▀ ██▀▀▀█ ▄▄▀ \n ▄█ ▄█ ▄█▄▄▄ \n █▀▄ █▀▄ ▄▄▄▄▀\n ▀█▄▄▄█▄▄▄█▄ "], ["eat_2", " ▄▄▀█▀ \n ▄▀▀▄▄ ▄▀ \n▄▀ ▀▀ ▄▀▄█▀▀▀█\n█▄▄███▀█▄█▀ ▀█ \n ▀█▄▄▀█ ▀ ▄▀▀ \n ██ ██ ▀▀▀▀▀▄\n ▀ █▄▀ ▀▄ ▀██▀ \n ▀███▀▄▄▄▄▀ "], ["happy", " ▄▄▀█▀ \n ▄▀▀▄ ▄▀▄▄▀▀▀█\n▄▀ ▀ ▀ ▄▀█ ▄▄█ \n█▄▄███▀█▄█ ▄▀ \n ▀█▀▀▄█ ▀▄█▄▄▄ \n ██▀▀██ ▄▄▄▄▄▀\n ▀ █▄▀ ▀▄ ▀▄▄ \n ▀███▀▄▄▄▄▀ "], ["injured_1", " \n ▄▄▄ \n ▄▄▀▀ ▀▄ \n ▄▀ █▄ ▀▄ \n█ ▄▄▄▄▀▀█▀▀▄ \n▀▀▀▄▀▀ ▄▄▀ ▄ █ \n ██ ██▀ ▄ █▀▀▄\n ▀ ▀▄█▄▄▄▄████ "], ["injured_2", " \n \n ▄▄▀█▀ \n ▄▀█ ▄▀ \n▄▀ ▀▀ ▄▄█▄ \n█▄▄▀██▀▀▄▀ ▀▄ \n ▄█ ▄█▀ ▀▄█▄▄ \n █▀▄▄█▄▄▄██▄▄▄▀"], ["refuse", " \n ▄▄▀█▀ \n ▄▀▀▄ ▄▀ ▄▄▄▄▄\n▄▀ ▀▀ ▄▄██▀ ▄▄▀\n█▄▄███▀█▀█ ▄▄▀ \n ▄█ ▄█ ▄█▄▄▄ \n █▀▄ █▀▄ ▄▄▄▄▀\n ▀█▄▄▄█▄▄▄█▄ "], ["sleep_1", " \n ▄▄▄ \n ▄▄▀▀ ▀▄ \n ▄▀ ▄▄ ▀▄▄█▀▀▀█\n█ ▄▄▄▄█▀█▀ ▀█ \n▀▀▀▄▀▀ ▄ ▀ ▄█▀ \n ██ ██ ▀▀▀▀▀▄\n ▀ ▀▄█▄█▄▄████ "], ["sleep_2", " \n \n ▄▄▀█▀ \n ▄▀▀ ▄▀ ▄▄▄▄▄\n▄▀ ▀▀ ▄▄██▀ ▄▄▀\n█▄▄▀██▀▀ █ ▄▄▀ \n ▄█ ▄█ ▄██▄▄ \n █▀▄▄██▄▄▄▄▄▄▄▀"], ["walk_1", " ▄▄▀█▀ \n ▄▀▀▄▄ ▄▀ \n▄▀ ▀▀ ▄▄▀▄█▀▀▀█\n█▄▄▀████▄█▀ ▀█ \n ▄▀▀ ▄ ▀ ▄▀▀ \n ██ ██ ▀▀▀▀▀▄\n ▀ █▄▀ ▀▄ ▀██▀ \n ▀███▀▄▄▄▄▀ "], ["walk_2", " ▄▄▀█▀ \n ▄▀▀▄▄ ▄▀ \n▄▀ ▀▀ ▄▄▀▄█▀▀▀█\n█▄▄▀████▄█▀ ▀█ \n ▄█▀▀▄█ ▀ ▄▀▀ \n █▀▄ █▀▄ ▀▀▀▀▀▄\n █▄ ▀▄ ▀▀█▀ \n ▀▀▀▀▀▀▀▀▀▀ "]]], + ["zubaeagermon", [["angry", " ▄▄ \n▄▀█ ▄▀█▄▄▄ █ █ \n█ █▄▀▀▀▀▄▄▀ █▄▀▄\n█ █ ▄█ █ ██ █\n█▀ ▄█▄▀▀ █\n█████ ▄ █ █▀\n▀▄▄▄▄▄█ ▀█▄██ █ \n█▄█▄▀▀▄█▄█ █▄▄█ "], ["attack", " ▄▄ \n▄▀█ ▄▀█ ▄▀█ █ █\n█ █▄▀▀▀▀▄█ ▄█ █\n█ █ ▄█▀ █ ██ █\n█▀ █▀██ █\n▀█▀▀▀ ▄█ █▀ █▀\n ██▀▀█ ▀▄ ██ █ \n █▄█▄█▄█▄▀▀█▄▄█ "], ["eat_1", " ▄▄ \n▄▀█ ▄▀█ ▄▀█ █ █\n█ █▄▀▀▀▀▄█ ▄█ █\n█ █ ▄█▀ █ ██ █\n█▀ █▀██ █\n▀█▀▀▀ ▄█ █▀ █▀\n ██▀▀█ ▀▄ ██ █ \n █▄█▄█▄█▄▀▀█▄▄█ "], ["eat_2", "▄▀█ \n█ █ ▄▀█▄▄▄ █▀▄\n█ █▄▀▀▀▀▄▄▀ █ █\n█▀ ▀▀ █ ██ █\n▀█████ █▄██ █\n █▀▀▀▀▄█ █▀ ▀▀▄█\n ██▀▀█ ▀▄ ▄▄ █ \n █▄█▄█▄█▄▀▀█▄▄█ "], ["happy", "▄▀█ ▄▀█ ▄▀█ \n█ █▄▀▀▀▀▄█ █▀▄ \n█ █ ▄▀▄ █ █ █ \n█▀ ▄█ █▄ █\n▀█████ █▄█▀▄██ █\n ▀▄▄▄▄█ ▀▄ ▀▀▀▄█\n ▄▀█▄▀▄ ▄▀▄▄▄ █ \n ▀▀▀▀▀▀▀ █▄▄█ "], ["injured_1", " \n▄▀█ ▄▀█ ▄▀█ ▄▄ \n█ █▄▀▀▀▀▄█ █ █ \n█ █ █▄▄ █ █▄▀▄\n█▀ █▀██ █\n▀███▄ ▄█ █▀ █▀\n ▀██▀▀█ ▀▄ ██ █ \n █▄█▄█▄█▄▀▀█▄▄█ "], ["injured_2", " \n ▄▄ \n█ █ ▄███▀▀█ █▀▄ \n█ █▀▄ ▀▀▄ █ █ \n█▄▀ ▀▀▀ █▄██ █\n█▄▄▄ ▄ ▄█ █▀\n ████▄█▀▄▀ ▄▄ █ \n█▄██▄█▄█▄▄▄█▄▄█ "], ["refuse", " ▄▄ ▄▄ ▄▄ \n█ █ █▄█▄▀▄▀ ▄▄ \n█ █▀ ▀▀▄ █ █ \n█▄▀ ▀▀▀ █ █ ▀▄\n█▄▄▄▄ ▄ ▄█▄██ █\n ▀███▄█▀▄▀ ▀▀▀▄█\n ▄█ █ █▄▄▄ █ \n █▄█▄█▄█▄▀ █▄▄█ "], ["sleep_1", " \n ▄▄ ▄▄▄▄ \n█ █ ▄▄█▄▀▄▀ \n█ █▀ ▀▀▄ \n█▄▀ ▀▀▀ █▄▄▄ \n█▄▄▄▄ ▄ ▄█ ▀▄▀▄\n █▄▄▄▄█▀▄▀█▄ █ █\n█▄██▄█▄█▄█▄▄█▄▄▀"], ["sleep_2", " \n ▄▄ ▄▄▄▄ \n█ █ ▄▄█▄▀▄▀ \n█ █▀ ▀▀▄ \n█▄▀ ▀▀▀ █▄▄▄ \n█▄▄▄▄ ▄ ▄█ ▀▄▀▄\n █▄▄▄▄█▀▄▀█▄ █ █\n█▄██▄█▄█▄█▄▄█▄▄▀"], ["walk_1", " ▄▄ ▄▄ ▄▄ \n█ █ █▄█▄▀▄▀ █▀▄\n█ █▀ ▄▄▀▀▄ █ █\n█▄▀ ▀▀ █ ██ █\n█▄▄▄▄ ▄ ▄█▄██ █\n ▀▄▄▄▄█▀▄▀ ▀▀▀▄█\n ▄█ █ █▄▄▄ █ \n █▄█▄█▄█▄▀ █▄▄█ "], ["walk_2", " ▄▄ \n▄▀█ ▄▀█ ▄▀█ █ █\n█ █▄▀▀▀▀▄█ ▄█ █\n█ █ ▄█▀ █ ██ █\n█▀ █▀██ █\n▀█▀▀▀ ▄█ █▀ █▀\n ██▀▀█ ▀▄ ██ █ \n █▄█▄█▄█▄▀▀█▄▄█ "]]], + ["zubamon", [["angry", " ▄▀▀█ ▄▄▄▄ ▄▄ \n ▀▄▄▀▀ ▄▄▀▄▀ \n █▄▄▄ ██ ▄█ \n ████ █ \n ▀▄▄▄ ▄ █ \n █▄█ █▄▄ █ \n ▄█▀▄▄▄▄▀ █ \n █▄█▄█ █▄█▄█▄█ "], ["attack", " ▄▄▄ \n █ █ ▄▄▄▄ ▄▄ \n ▀▄▄▀▀ ▄▄ ▀▄▀ \n █ ▄██ ▄█ \n █▀▀ ▄▀ \n ▄▀█▀ ▄▀ ▀▄ \n ▀▄█ ▄ ▀▄▀ ▀▄ \n █▄█▄█▀█▄█▄█▄█ "], ["eat_1", " ▄▄▄ \n █ █ ▄▄▄▄ ▄▄ \n ▀▄▄▀▀ ▄▄ ▀▄▀ \n █ ▄██ ▄█ \n █▀▀ ▄▀ \n ▄▀█▀ ▄▀ ▀▄ \n ▀▄█ ▄ ▀▄▀ ▀▄ \n █▄█▄█▀█▄█▄█▄█ "], ["eat_2", " ▄▀▀█ ▄▄▄▄ ▄▄ \n ▀▄▄▀▀ ▄ ▀▄▀ \n ▀▄▄▄▄ ▀ ▀ ▄█ \n █ █▀▄ \n ▄▀▀▀▀ ▀ ▄▀ \n ▀█▀▀ ▄ █ \n ▄█▀▄▄▄▄▀ █ \n █▄█▄█ █▄█▄█▄█ "], ["happy", " ▄▀▀█ \n █ █▄▀▀▀▀▄▀█ \n ▄▀▀ ▄▀▄ ▀▄ \n ▀▄▄▄▄▄▄ ▀█▀█ \n █▀▀▀▀ ▀ ▄▀ \n ▀█▀▀ ▄ █ \n ▄█▀▄▄▄▄▀ █ \n █▄█▄█ █▄█▄█▄█ "], ["injured_1", " ▄▄▄ \n █ █ ▄▄▄▄ ▄▄ \n ▀▄▄▀▀ ▄ ▀▄▀ \n █ ▀▀ ▄█ \n █▀▀ ▄▀ \n ▄█▀▀ ▄█▄▄▄ \n █ ▀█▀▄▄▀█ ▀ ▀ █\n ▀▄▄▀▄██▄▀▄▄▄▄▄▀"], ["injured_2", " \n ▄▀▀█ \n █ █▄▀▀▀▀▄▀█ \n ▄▀▀ ▀▄▄ ▀▄ \n ▀▄▄▄ ▀█ \n █▄▄▄ ▄█▄▄▄ \n █ ▀▄▄ ▄█ ▀ ▀ █\n ▀▄▄█▄██▄█▄▄▄▄▄▀"], ["refuse", " ▄▄▄ \n █ █ ▄▄▄▄ ▄▄ \n ▀▄▄▀▀ ▀▄▀ \n █ ▄▀▄ ▄█ \n █▀▀ ▄▀ \n ▄▀█▀ ▄▀ ▀▄ \n ▀██▄ ▀██ ▀▄ \n █▄█▄█▀█▄█▄█▄█ "], ["sleep_1", " ▄▄▄ \n █ █ ▄▄▄▄ ▄▄ \n ▀▄▄▀▀ ▀▄▀ \n █ ▀▀▀ ▄█ \n █▀▀ ▄▀ \n ▄▀█▀ ▄▀ ▀▄ \n ▀██▄ ▀██ ▀▄ \n █▄█▄█▀█▄█▄█▄█ "], ["sleep_2", " ▄▄▄ \n █ █ ▄▄▄▄ ▄▄ \n ▀▄▄▀▀ ▀▄▀ \n █ ▀▀▀ ▄█ \n █▀▀ ▄▀ \n ▄▀█▀ ▄▀ ▀▄ \n ▀██▄ ▀██ ▀▄ \n █▄█▄█▀█▄█▄█▄█ "], ["walk_1", " ▄▀▀█ \n █ █▄▀▀▀▀▄▀█ \n ▄▀▀ ▀█▄ ▀▄ \n ▀▄▄▄ ▀▀▀ ▀█ \n ▀▄▄▄ ▄ █ \n █▄█ █▄▄ █ \n ▄█▀▄▄▄▄▀ █ \n █▄█▄█ █▄█▄█▄█ "], ["walk_2", " ▄▄▄ \n █ █ ▄▄▄▄ ▄▄ \n ▀▄▄▀▀ ▄▄ ▀▄▀ \n █ ▄██ ▄█ \n █▀▀ ▄▀ \n ▄▀█▀ ▄▀ ▀▄ \n ▀▄█ ▄ ▀▄▀ ▀▄ \n █▄█▄█▀█▄█▄█▄█ "]]], + ["zudomon", [["angry", "▀▀▄▄ █\n▀▄ █▀▀▀▄█▀█ \n▄▀▀▀ ▄▄ █▀█ \n█▀ ▀▀ █▀█ ▄\n▀█▀████▀█▄ █▀ █\n ▀▄█ ▀▄█ ▀ █▀█ \n█▀▀▄ ▀▀▀▄▄▀ \n▄█▄▄█▀▀▀█▄█▄█▄██"], ["attack", "█▀▀▄▄ █\n ▀▄ █▀▀▀▄█▀█ ▄\n ▄▀▀▀▄█▀ █▀█ ▄\n █▄▄▄▄▄▄ █▀█ \n ▄█ ███ █ ▀▀▀█▀█\n█ ▀█████▀ ▄ █▄▀\n▄▀▀▄ ▀▀▀▄▀▀\n▄█▄▄█▀▀█▄█▄█▄▄█ "], ["eat_1", "▀▀▄▄ █\n▀▄ █▀▀▀▄█▀█ ▄\n▄▀▀▀ ▄█ █▀█ ▄\n█▄▄▄▄▄▄▄ █▀█ \n▄█ ███ █▄ ▀█▀ █\n █▀▀▀█ █▄▄▀█ ▀\n█▀▄ ▀▀ ▀▄█ ▀\n▄█▄██▀█▄█▄█▄▄█ "], ["eat_2", "▀▀▄▄ \n▀▄ █▀▀▀▄█▀█ █\n▄▀▀▀ ▄ █▀█ \n█▀ ▀▀ █▀█ \n▄█▀████▀█▄ █▀ \n ▀▄█ █▄▀ █ █▀█ \n█▀ ▄ ▀▀▀▀▄▄▀█\n▄█▄▄█▀▀▄█▄█▄▄█ █"], ["happy", "▀▀▄▄ █\n▀▄ █▀▀▀▄█▀█ \n▄▀▀▀ ▄▀▄ █▀█ \n▀▄▄▄▄▄▄▄▄ ▄▀▀▄ \n █ ████ █▄▀ █ █\n▀▄▀████▀▀ ▄▀▀█▀\n▄▀▀▄ ▀▀▄▀ \n▄█▄▄█▀▀█▄█▄█▄█ █"], ["injured_1", "▄▄ \n▄ ▀▀▄▄▄▄ ▄▄▄ █\n █▄▄▀ ▀▀▄█▄ \n█ █▄ ▀▄█▄ \n▀▄▄▄▄▄▄▄▄ ▀▄█ \n▀█ █▀▀█ █▄ █▀█ \n▄▄█▀ ▀▀█▄▄█▄▄▀█\n▄▄▄█▄▄▄█▄▄▄▄▄▄██"], ["injured_2", " \n▀▀▄▄ \n▀▄ █▀▀▀▄█▀█ \n▄▀▀▀ ▄ █▀█ \n█▀ ▀▀ █▀█ \n▄█▀████▀█▄ █▀ \n▄█▄█ ▀▄█▄▄▄▀▀▄ \n▄▄█▄▄▄█▄▄▄▄▄█▄▀█"], ["sleep_1", " ▄\n▀▀▄▄ ▀\n▀▄ █▀▀▀▄█▀█ \n▄▀▀▀ ▄ █▀█ \n█ ▀▀ █▀█ \n▄█▀████▀█▄ █▀ ▄\n▄█▄█ ▀▄█▄▄▄▀▀▄▀\n▄▄█▄▄▄█▄▄▄▄▄█▄▀█"], ["sleep_2", "▄▄ \n▄ ▀▀▄▄▄▄ ▄▄▄ \n █▄▄▀ ▄▀▀▄█▄ \n█ ▀▀ ▀▄█▄ \n▀▄▄▄▄▄▄▄▄ ▀▄█ \n▀█ █▀▀█ █▀ █▀██\n▄▄▀▀ ▀▀▄▄█▄▄▀▀\n▄▄█▄▄▄▄█▄▄▄▄▄▄█ "], ["walk_1", "▀▀▄▄ ▄\n▀▄ █▀▀▀▄█▀█ ▀\n▄▀▀▀ ▄ █▀█ \n█▀ ▀▀ ▄▀▀█▀█ \n █▀████▀█▄ █▀ \n▄▀▄█ ▀▄█ ▀ █▀█▄\n▄▀▀▄ ▀▀▄▄▀▀\n▄█▄▄█▀▀█▄█▄█▄█ █"], ["walk_2", "▄▄ █\n▄ ▀▀▄▄▄▄ ▄▄▄ \n █▄▄▀ ▀▀▄█▄ \n█▄ ▄█ ▀▄█▄ \n▀▄▄▄▄▄▄▄▄ ▀▄█ \n▀█ █▀▀█ █▀ █▀██\n▄▄█▀ ▀▀ ▀▀▀▄▄▀ \n▄█▄█▄▄▄█▄█▄█▄█ █"]]], + ["zurumon", [["angry", " \n \n \n \n \n ▄▄▄▄ \n ██▄▄██ \n ▄▄▄████▄ "], ["attack", " \n \n ▄▄▄▄▄ \n ▄████▀██▄ \n ████▄▄███ \n ▀ ▀ ▀██ \n ▄ ▄ ██ \n ▀█████████▄ "], ["eat_1", " \n \n \n \n ▄██▀█▄ \n ▀███▄ \n ███ \n ▄███████ "], ["eat_2", " \n \n \n \n \n ▄▄▄▄ \n ██▄███ \n ▄▄▄████▄ "], ["happy", " \n \n \n \n ▄▀█▀█▄ \n ▄███████ \n █ ▄█ \n ▀█▄▄▄██▀ "], ["injured_1", " \n \n \n \n \n \n ▄▀█▀█▄ \n ▄▄█▄▄██▄ "], ["injured_2", " \n \n \n \n \n \n ▄▄▄▄▄ \n ▄▀ █ ▀██▄ "], ["sleep_1", " \n \n \n \n \n \n ▄████▄ \n ▄▄█▄▄██ "], ["sleep_2", " \n \n \n \n \n ▄████▄ \n ▀▀█▀▀██ \n ▀█████▀ "], ["walk_1", " \n \n \n \n \n ▄▄▄▄ \n █▄█▄██ \n ▀█▄████▄ "], ["walk_2", " \n \n \n \n \n \n ▄████▄ \n █▄█▄███▄ "]]], +] diff --git a/packages/vpet-core/src/data/stages.ts b/packages/vpet-core/src/data/stages.ts new file mode 100644 index 0000000..b2e7d37 --- /dev/null +++ b/packages/vpet-core/src/data/stages.ts @@ -0,0 +1,21 @@ +import type { StageLabels, StageThresholdKey } from "../config/types.ts" +import { DIGIMON_STAGES, isDigimonStage, type DigimonStage } from "../domain/stage.ts" + +export { isDigimonStage, type DigimonStage } + +export const STAGE_VALUES = DIGIMON_STAGES + +export const STAGE_THRESHOLD_KEYS = { + 0: "egg", + 1: "babyI", + 2: "babyII", + 3: "child", + 4: "adult", + 5: "perfect", + 6: "ultimate", + 7: "superUltimate", +} as const satisfies Record + +export const getStageKey = (stage: DigimonStage): StageThresholdKey => STAGE_THRESHOLD_KEYS[stage] + +export const getStageLabel = (stage: DigimonStage, labels: StageLabels): string => labels[getStageKey(stage)] diff --git a/packages/vpet-core/src/domain/digimon-node.ts b/packages/vpet-core/src/domain/digimon-node.ts new file mode 100644 index 0000000..7a7ee5f --- /dev/null +++ b/packages/vpet-core/src/domain/digimon-node.ts @@ -0,0 +1,16 @@ +import type { DigimonStage } from "./stage.ts" + +export type DigimonNode = { + readonly id: string + readonly nameEn: string + readonly nameJp: string + readonly nextEvolutions: readonly string[] + readonly sprite: string + readonly stage: DigimonStage + readonly url: string +} + +export type DigimonCatalog = { + readonly nodes: readonly DigimonNode[] + readonly byId: ReadonlyMap +} diff --git a/packages/vpet-core/src/domain/evolution-battle.ts b/packages/vpet-core/src/domain/evolution-battle.ts new file mode 100644 index 0000000..af6d791 --- /dev/null +++ b/packages/vpet-core/src/domain/evolution-battle.ts @@ -0,0 +1,40 @@ +import type { DigimonNode } from "./digimon-node.ts" +import type { EvolutionSelector } from "./evolution.ts" + +export const pickEvolutionTarget = ( + current: DigimonNode, + selector: EvolutionSelector, +): string => { + if (current.nextEvolutions.length === 0) { + throw new Error("Evolution target selection failed: partner has no evolution options") + } + + const selection = selector() + if (!Number.isFinite(selection) || selection < 0 || selection >= 1) { + throw new Error(`Evolution selector must return a finite number in [0, 1), received ${selection}`) + } + + const targetId = current.nextEvolutions[Math.floor(selection * current.nextEvolutions.length)] + if (targetId === undefined) throw new Error("Evolution target selection failed") + return targetId +} + +export const pickRandomSameStageOpponent = ( + current: DigimonNode, + catalogNodes: readonly DigimonNode[], + selector: EvolutionSelector, +): string => { + const candidates = catalogNodes.filter((node) => node.stage === current.stage && node.id !== current.id) + if (candidates.length === 0) { + return current.id + } + + const selection = selector() + if (!Number.isFinite(selection) || selection < 0 || selection >= 1) { + throw new Error(`Evolution selector must return a finite number in [0, 1), received ${selection}`) + } + + const opponent = candidates[Math.floor(selection * candidates.length)] + if (opponent === undefined) throw new Error("Same-stage opponent selection failed") + return opponent.id +} diff --git a/packages/vpet-core/src/domain/evolution.ts b/packages/vpet-core/src/domain/evolution.ts new file mode 100644 index 0000000..f8899d1 --- /dev/null +++ b/packages/vpet-core/src/domain/evolution.ts @@ -0,0 +1,126 @@ +import type { DigimonNode } from "./digimon-node.ts" +import { pickEvolutionTarget, pickRandomSameStageOpponent } from "./evolution-battle.ts" +import { DIGIMON_STAGES, type DigimonStage } from "./stage.ts" + +export type StageThresholds = Readonly> + +export const STAGE_GAUGE_THRESHOLDS = Object.freeze({ + 0: 5_000_000, + 1: 10_000_000, + 2: 20_000_000, + 3: 40_000_000, + 4: 75_000_000, + 5: 125_000_000, + 6: 200_000_000, + 7: 300_000_000, +} as const satisfies StageThresholds) + +export type PartnerEvolutionState = { + readonly current: DigimonNode + readonly gauge: number + readonly isTerminal: boolean + readonly pendingEvolutionTargetId: string | null + readonly battleOpponentNodeId: string | null +} + +export type EvolutionSelector = () => number + +const isRecord = (value: unknown): value is Readonly> => { + return typeof value === "object" && value !== null +} + +const isStageThresholds = (thresholds: unknown): thresholds is StageThresholds => { + if (!isRecord(thresholds) || !Object.isFrozen(thresholds)) return false + + return DIGIMON_STAGES.every((stage) => { + const threshold = thresholds[stage] + return typeof threshold === "number" && Number.isFinite(threshold) && threshold > 0 + }) +} + +const hasPendingBattle = (state: PartnerEvolutionState): boolean => + state.pendingEvolutionTargetId != null && state.battleOpponentNodeId != null + +export const applyTokenProgress = ( + state: PartnerEvolutionState, + tokenDelta: number, + selector: EvolutionSelector, + digimonById: ReadonlyMap, + catalogNodes: readonly DigimonNode[], + thresholds: unknown, +): PartnerEvolutionState => { + if (!isStageThresholds(thresholds)) { + throw new Error("Evolution thresholds must be a complete frozen policy of positive finite numbers") + } + if (state.isTerminal) return state + if (hasPendingBattle(state)) return state + + const threshold = thresholds[state.current.stage] + const gauge = state.gauge + tokenDelta + if (gauge < threshold) return { ...state, gauge } + if (state.current.nextEvolutions.length === 0) { + return { ...state, gauge: 0, isTerminal: true, pendingEvolutionTargetId: null, battleOpponentNodeId: null } + } + + const pendingEvolutionTargetId = pickEvolutionTarget(state.current, selector) + const target = digimonById.get(pendingEvolutionTargetId) + if (target === undefined) { + throw new Error(`Evolution target ${pendingEvolutionTargetId} is missing from the catalog`) + } + + if (state.current.stage === 0) { + return { + current: target, + gauge: 0, + isTerminal: target.nextEvolutions.length === 0, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + } + } + + const battleOpponentNodeId = pickRandomSameStageOpponent(state.current, catalogNodes, selector) + if (digimonById.get(battleOpponentNodeId) === undefined) { + throw new Error(`Battle opponent ${battleOpponentNodeId} is missing from the catalog`) + } + + return { + current: state.current, + gauge: threshold, + isTerminal: false, + pendingEvolutionTargetId, + battleOpponentNodeId, + } +} + +export const resolveEvolutionBattle = ( + state: PartnerEvolutionState, + won: boolean, + digimonById: ReadonlyMap, +): PartnerEvolutionState => { + if (!hasPendingBattle(state)) { + throw new Error("Cannot resolve evolution battle without a pending battle") + } + + if (!won) { + return { + current: state.current, + gauge: 0, + isTerminal: state.isTerminal, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + } + } + + const targetId = state.pendingEvolutionTargetId + if (targetId === null) throw new Error("Pending evolution target is missing") + const current = digimonById.get(targetId) + if (current === undefined) throw new Error(`Evolution target ${targetId} is missing from the catalog`) + + return { + current, + gauge: 0, + isTerminal: current.nextEvolutions.length === 0, + pendingEvolutionTargetId: null, + battleOpponentNodeId: null, + } +} diff --git a/packages/vpet-core/src/domain/partner.ts b/packages/vpet-core/src/domain/partner.ts new file mode 100644 index 0000000..5e2ed9b --- /dev/null +++ b/packages/vpet-core/src/domain/partner.ts @@ -0,0 +1,19 @@ +export type Partner = { + readonly partnerId: string + readonly generation: number + readonly currentNodeId: string + readonly gauge: number + readonly isTerminal: boolean + readonly pendingEvolutionTargetId: string | null + readonly battleOpponentNodeId: string | null + readonly createdAt: string + readonly retiredAt: string | null +} + +export type PartnerProgression = { + readonly currentNodeId: string + readonly gauge: number + readonly isTerminal: boolean + readonly pendingEvolutionTargetId: string | null + readonly battleOpponentNodeId: string | null +} diff --git a/packages/vpet-core/src/domain/stage.ts b/packages/vpet-core/src/domain/stage.ts new file mode 100644 index 0000000..1456c93 --- /dev/null +++ b/packages/vpet-core/src/domain/stage.ts @@ -0,0 +1,7 @@ +export const DIGIMON_STAGES = [0, 1, 2, 3, 4, 5, 6, 7] as const + +export type DigimonStage = (typeof DIGIMON_STAGES)[number] + +export const isDigimonStage = (value: number): value is DigimonStage => { + return DIGIMON_STAGES.some((stage) => stage === value) +} diff --git a/packages/vpet-core/src/ports/sqlite-executor.ts b/packages/vpet-core/src/ports/sqlite-executor.ts new file mode 100644 index 0000000..7c71934 --- /dev/null +++ b/packages/vpet-core/src/ports/sqlite-executor.ts @@ -0,0 +1,8 @@ +export type QueryValue = string | number | boolean | null + +export type SqliteExecutor = { + run: (sql: string, params?: readonly QueryValue[]) => void + get: >(sql: string, params?: readonly QueryValue[]) => TRow | null + all: >(sql: string, params?: readonly QueryValue[]) => readonly TRow[] + transaction: (operation: () => TReturn) => TReturn +} diff --git a/packages/vpet-core/src/view-models/dex-view-model.ts b/packages/vpet-core/src/view-models/dex-view-model.ts new file mode 100644 index 0000000..2173605 --- /dev/null +++ b/packages/vpet-core/src/view-models/dex-view-model.ts @@ -0,0 +1,77 @@ +import type { VpetArchiveResult } from "../application/models/vpet-archive.ts" +import type { ResolvedVpetSettings } from "../config/types.ts" +import type { DigimonCatalog } from "../data/catalog.ts" +import { getStageLabel } from "../data/stages.ts" +import { DIGIMON_STAGES } from "../domain/stage.ts" +import type { DigimonNode } from "../domain/digimon-node.ts" + +export type DexRow = { + readonly id: string + readonly stage: string + readonly discovered: boolean + readonly name: string +} + +export type DexViewModel = + | { readonly kind: "available"; readonly rows: readonly DexRow[] } + | { readonly kind: "empty" } + | { readonly kind: "unavailable"; readonly message: string } + +const REDACTED_NAME = "------" + +const assertNever = (value: never): never => { + throw new Error(`Unexpected archive result: ${JSON.stringify(value)}`) +} + +const compareCatalogNodes = (left: DigimonNode, right: DigimonNode): number => { + const stageDifference = DIGIMON_STAGES.indexOf(left.stage) - DIGIMON_STAGES.indexOf(right.stage) + if (stageDifference !== 0) return stageDifference + const [, leftSerial = ""] = left.id.split("-") + const [, rightSerial = ""] = right.id.split("-") + const serialDifference = Number(leftSerial) - Number(rightSerial) + if (serialDifference !== 0) return serialDifference + if (left.id < right.id) return -1 + if (left.id > right.id) return 1 + return 0 +} + +const discoveredNodeIds = ( + archive: Extract, +): ReadonlySet => { + const nodeIds = new Set() + for (const partner of archive.partners) { + for (const event of partner.events) nodeIds.add(event.currentNodeId) + } + return nodeIds +} + +export const buildDexViewModel = ( + archive: VpetArchiveResult, + catalog: DigimonCatalog, + settings: ResolvedVpetSettings, +): DexViewModel => { + switch (archive.kind) { + case "available": { + const discoveredIds = discoveredNodeIds(archive) + const labels = settings.stageLabels[settings.language] + return { + kind: "available", + rows: catalog.nodes + .slice() + .sort(compareCatalogNodes) + .map((node) => ({ + id: node.id, + stage: getStageLabel(node.stage, labels), + discovered: discoveredIds.has(node.id), + name: discoveredIds.has(node.id) ? (settings.language === "en" ? node.nameEn : node.nameJp) : REDACTED_NAME, + })), + } + } + case "empty": + return { kind: "empty" } + case "unavailable": + return { kind: "unavailable", message: archive.message } + default: + return assertNever(archive) + } +} diff --git a/packages/vpet-core/src/view-models/history-view-model.ts b/packages/vpet-core/src/view-models/history-view-model.ts new file mode 100644 index 0000000..6eb6b2a --- /dev/null +++ b/packages/vpet-core/src/view-models/history-view-model.ts @@ -0,0 +1,74 @@ +import type { VpetArchiveEvent, VpetArchivePartner, VpetArchiveResult } from "../application/models/vpet-archive.ts" +import type { ResolvedVpetSettings } from "../config/types.ts" +import type { DigimonCatalog } from "../data/catalog.ts" + +export type HistoryGeneration = { + readonly partnerId: string + readonly generation: number + readonly createdAt: string + readonly retiredAt: string | null + readonly path: readonly string[] +} + +export type HistoryViewModel = + | { readonly kind: "available"; readonly generations: readonly HistoryGeneration[] } + | { readonly kind: "empty" } + | { readonly kind: "unavailable"; readonly message: string } + +const assertNever = (value: never): never => { + throw new Error(`Unexpected archive result: ${JSON.stringify(value)}`) +} + +const comparePartners = (left: VpetArchivePartner, right: VpetArchivePartner): number => { + const createdAtComparison = right.createdAt.localeCompare(left.createdAt) + if (createdAtComparison !== 0) return createdAtComparison + const generationDifference = right.generation - left.generation + if (generationDifference !== 0) return generationDifference + return right.partnerId.localeCompare(left.partnerId) +} + +const dedupeAdjacentEvents = (events: readonly VpetArchiveEvent[]): readonly VpetArchiveEvent[] => { + const distinctEvents: VpetArchiveEvent[] = [] + for (const event of events) { + const previousEvent = distinctEvents.at(-1) + if (previousEvent?.currentNodeId !== event.currentNodeId) distinctEvents.push(event) + } + return distinctEvents +} + +const displayNodeId = (nodeId: string, catalog: DigimonCatalog, settings: ResolvedVpetSettings): string => { + const node = catalog.byId.get(nodeId) + if (node === undefined) return nodeId + return `${node.id} ${settings.language === "en" ? node.nameEn : node.nameJp}` +} + +export const buildHistoryViewModel = ( + archive: VpetArchiveResult, + catalog: DigimonCatalog, + settings: ResolvedVpetSettings, +): HistoryViewModel => { + switch (archive.kind) { + case "available": + return { + kind: "available", + generations: archive.partners + .slice() + .sort(comparePartners) + .map((partner) => ({ + partnerId: partner.partnerId, + generation: partner.generation, + createdAt: partner.createdAt, + retiredAt: partner.retiredAt, + path: dedupeAdjacentEvents(partner.events).map((event) => + displayNodeId(event.currentNodeId, catalog, settings), + ), + })), + } + case "empty": + return { kind: "empty" } + case "unavailable": + return { kind: "unavailable", message: archive.message } + default: + return assertNever(archive) + } +} diff --git a/packages/vpet-core/src/view-models/sidebar-view-model.ts b/packages/vpet-core/src/view-models/sidebar-view-model.ts new file mode 100644 index 0000000..0e77d8a --- /dev/null +++ b/packages/vpet-core/src/view-models/sidebar-view-model.ts @@ -0,0 +1,44 @@ +import type { SidebarCardInputs } from "../application/models/sidebar-card-inputs.ts" +import { DEFAULT_VPET_SETTINGS } from "../config/defaults.ts" +import type { ResolvedVpetSettings } from "../config/types.ts" +import { getStageKey, getStageLabel } from "../data/stages.ts" + +export type SidebarCardModel = + | { readonly kind: "no_partner"; readonly messageLine: string } + | { + readonly kind: "partner" + readonly name: string + readonly sprite: string + readonly stage: string + readonly stageNumber: number + readonly url: string + readonly gauge: number + readonly threshold: number + readonly isTerminal: boolean + readonly frozen: boolean + readonly isSetOverride: boolean + readonly evolutionBattlePending: boolean + } + +export const buildSidebarCardModel = ( + inputs: SidebarCardInputs, + settings: ResolvedVpetSettings = DEFAULT_VPET_SETTINGS, +): SidebarCardModel => { + if (inputs.kind === "no_partner") return { kind: "no_partner", messageLine: "No active partner" } + + const stageKey = getStageKey(inputs.node.stage) + return { + kind: "partner", + name: settings.language === "en" ? inputs.node.nameEn : inputs.node.nameJp, + sprite: inputs.node.sprite, + stage: getStageLabel(inputs.node.stage, settings.stageLabels[settings.language]), + stageNumber: inputs.node.stage, + url: inputs.node.url, + gauge: inputs.gauge, + threshold: settings.stageThresholds[stageKey], + isTerminal: inputs.isTerminal, + frozen: inputs.frozen, + isSetOverride: inputs.isSetOverride, + evolutionBattlePending: inputs.evolutionBattlePending, + } +} diff --git a/packages/vpet-core/tsconfig.json b/packages/vpet-core/tsconfig.json new file mode 100644 index 0000000..dad5ed4 --- /dev/null +++ b/packages/vpet-core/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "strict": true, + "noUncheckedIndexedAccess": true, + "exactOptionalPropertyTypes": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "target": "ESNext", + "lib": ["ESNext"], + "noEmit": true, + "skipLibCheck": true + }, + "include": ["src"] +} diff --git a/scripts/migrate-imports.mjs b/scripts/migrate-imports.mjs new file mode 100644 index 0000000..643a0bf --- /dev/null +++ b/scripts/migrate-imports.mjs @@ -0,0 +1,51 @@ +import { readdir, readFile, writeFile } from "node:fs/promises" +import { join } from "node:path" + +const ROOT = join(import.meta.dirname, "..", "packages", "opencode-vpet") + +const REPLACEMENTS = [ + [/from "(\.\.\/)+domain\//g, 'from "@sbugallo/vpet-core/domain/'], + [/from "\.\/domain\//g, 'from "@sbugallo/vpet-core/domain/'], + [/from "(\.\.\/)+application\//g, 'from "@sbugallo/vpet-core/application/'], + [/from "\.\/application\//g, 'from "@sbugallo/vpet-core/application/'], + [/from "(\.\.\/)+data\//g, 'from "@sbugallo/vpet-core/data/'], + [/from "\.\/data\//g, 'from "@sbugallo/vpet-core/data/'], + [/from "(\.\.\/)+config\/types\.ts"/g, 'from "@sbugallo/vpet-core/config/types.ts"'], + [/from "\.\/config\/types\.ts"/g, 'from "@sbugallo/vpet-core/config/types.ts"'], + [/from "(\.\.\/)+config\/defaults\.ts"/g, 'from "@sbugallo/vpet-core/config/defaults.ts"'], + [/from "\.\/config\/defaults\.ts"/g, 'from "@sbugallo/vpet-core/config/defaults.ts"'], + [/from "(\.\.\/)+config\/normalize\.ts"/g, 'from "@sbugallo/vpet-core/config/normalize.ts"'], + [/from "\.\/config\/normalize\.ts"/g, 'from "@sbugallo/vpet-core/config/normalize.ts"'], + [/from "\.\/sidebar-view-model\.ts"/g, 'from "@sbugallo/vpet-core/view-models/sidebar-view-model.ts"'], + [/from "\.\/dex-view-model\.ts"/g, 'from "@sbugallo/vpet-core/view-models/dex-view-model.ts"'], + [/from "\.\/history-view-model\.ts"/g, 'from "@sbugallo/vpet-core/view-models/history-view-model.ts"'], + [/from "\.\.\/tui\/sidebar-view-model\.ts"/g, 'from "@sbugallo/vpet-core/view-models/sidebar-view-model.ts"'], + [/from "\.\.\/tui\/dex-view-model\.ts"/g, 'from "@sbugallo/vpet-core/view-models/dex-view-model.ts"'], + [/from "\.\.\/tui\/history-view-model\.ts"/g, 'from "@sbugallo/vpet-core/view-models/history-view-model.ts"'], + [/from "\.\.\/src\/domain\//g, 'from "@sbugallo/vpet-core/domain/'], + [/from "\.\.\/\.\.\/src\/domain\//g, 'from "@sbugallo/vpet-core/domain/'], + [/from "\.\.\/src\/application\//g, 'from "@sbugallo/vpet-core/application/'], + [/from "\.\.\/\.\.\/src\/application\//g, 'from "@sbugallo/vpet-core/application/'], + [/from "\.\.\/src\/data\//g, 'from "@sbugallo/vpet-core/data/'], + [/from "\.\.\/\.\.\/src\/data\//g, 'from "@sbugallo/vpet-core/data/'], + [/from "\.\.\/src\/data\/digimon-data"/g, 'from "@sbugallo/vpet-core/data/digimon-data.ts"'], +] + +const walk = async (dir) => { + const entries = await readdir(dir, { withFileTypes: true }) + for (const entry of entries) { + const path = join(dir, entry.name) + if (entry.isDirectory()) await walk(path) + else if (entry.name.endsWith(".ts") || entry.name.endsWith(".tsx")) { + let content = await readFile(path, "utf8") + for (const [pattern, replacement] of REPLACEMENTS) { + content = content.replace(pattern, replacement) + } + await writeFile(path, content) + } + } +} + +await walk(join(ROOT, "src")) +await walk(join(ROOT, "tests")) +console.log("Import migration complete") diff --git a/scripts/prepack.ts b/scripts/prepack.ts deleted file mode 100644 index 1de84fa..0000000 --- a/scripts/prepack.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { resolve } from "node:path" - -type JsonObject = { readonly [key: string]: unknown } - -const isJsonObject = (value: unknown): value is JsonObject => - typeof value === "object" && value !== null && !Array.isArray(value) - -const collectPaths = (value: unknown, paths: Set): void => { - if (typeof value === "string") { - paths.add(value) - return - } - if (!isJsonObject(value)) return - for (const nestedValue of Object.values(value)) collectPaths(nestedValue, paths) -} - -await Bun.$`bun run build` - -const packageRoot = resolve(import.meta.dir, "..") -const packageJson: unknown = JSON.parse(await Bun.file(resolve(packageRoot, "package.json")).text()) -if (!isJsonObject(packageJson)) throw new Error("package.json must contain an object.") - -const publishedPaths = new Set() -collectPaths(packageJson.main, publishedPaths) -collectPaths(packageJson.types, publishedPaths) -collectPaths(packageJson.exports, publishedPaths) -collectPaths(packageJson.bin, publishedPaths) - -for (const publishedPath of publishedPaths) { - const artifactPath = resolve(packageRoot, publishedPath) - const artifact = Bun.file(artifactPath) - if (!(await artifact.exists()) || artifact.size === 0) { - throw new Error(`Published artifact is missing or empty: ${publishedPath}`) - } -} - -const binPaths = new Set() -collectPaths(packageJson.bin, binPaths) -const cliPath = binPaths.values().next().value -if (typeof cliPath !== "string") throw new Error("Package metadata does not define a bin path.") - -const cliResult = Bun.spawnSync(["node", resolve(packageRoot, cliPath), "--help"], { - stdout: "inherit", - stderr: "inherit", -}) -if (cliResult.exitCode !== 0) throw new Error(`Node CLI help failed: ${cliPath}`) diff --git a/scripts/release-metadata.ts b/scripts/release-metadata.ts index 5fcbdf7..a6a1ff0 100644 --- a/scripts/release-metadata.ts +++ b/scripts/release-metadata.ts @@ -150,6 +150,15 @@ export const runReleaseMetadataCli = async ( return { nextDevVersion, releaseVersion } } +export const setStablePackageVersion = async (packageJsonPath: string, version: string): Promise => { + if (!isStableVersion(version)) { + throw new Error(`Package version must be stable SemVer: ${version}.`) + } + const packageMetadata = parsePackageMetadata(await readFile(packageJsonPath, "utf8")) + if (packageMetadata.version === version) return + await writeFile(packageJsonPath, `${JSON.stringify({ ...packageMetadata, version }, null, 2)}\n`) +} + export const setPackageVersion = async (packageJsonPath: string, version: string): Promise => { if (semver.valid(version) !== version || semver.prerelease(version) === null) { throw new Error(`Package version must be an exact prerelease SemVer version: ${version}.`) @@ -174,7 +183,13 @@ const writeGithubOutputs = async (result: { if (import.meta.main) { const [command, ...arguments_] = Bun.argv.slice(2) - if (command === "set-package-version") { + if (command === "set-package-stable-version") { + const [packageJsonPath, version] = arguments_ + if (packageJsonPath === undefined || version === undefined || arguments_.length !== 2) { + throw new Error("Expected set-package-stable-version .") + } + await setStablePackageVersion(packageJsonPath, version) + } else if (command === "set-package-version") { const [packageJsonPath, version] = arguments_ if (packageJsonPath === undefined || version === undefined || arguments_.length !== 2) { throw new Error("Expected set-package-version .") diff --git a/scripts/stage-changelog.ts b/scripts/stage-changelog.ts new file mode 100644 index 0000000..a3d37ea --- /dev/null +++ b/scripts/stage-changelog.ts @@ -0,0 +1,33 @@ +import { copyFile, rm } from "node:fs/promises" +import { resolve } from "node:path" + +export const getMonorepoChangelogPath = (packageRoot: string): string => resolve(packageRoot, "../../CHANGELOG.md") + +export const getStagedChangelogPath = (packageRoot: string): string => resolve(packageRoot, "CHANGELOG.md") + +export const stageChangelog = async (packageRoot: string): Promise => { + const changelogSource = getMonorepoChangelogPath(packageRoot) + const changelogTarget = getStagedChangelogPath(packageRoot) + const source = Bun.file(changelogSource) + if (!(await source.exists()) || source.size === 0) { + throw new Error(`Monorepo changelog is missing or empty: ${changelogSource}`) + } + await copyFile(changelogSource, changelogTarget) +} + +export const removeStagedChangelog = async (packageRoot: string): Promise => { + await rm(getStagedChangelogPath(packageRoot), { force: true }) +} + +if (import.meta.main) { + const arguments_ = Bun.argv.slice(2) + if (arguments_[0] === "remove") { + const packageRoot = arguments_[1] + if (packageRoot === undefined) throw new Error("Expected remove .") + await removeStagedChangelog(resolve(packageRoot)) + } else { + const packageRoot = arguments_[0] + if (packageRoot === undefined) throw new Error("Expected .") + await stageChangelog(resolve(packageRoot)) + } +} diff --git a/src/domain/evolution.ts b/src/domain/evolution.ts deleted file mode 100644 index 25f0f5b..0000000 --- a/src/domain/evolution.ts +++ /dev/null @@ -1,65 +0,0 @@ -import type { DigimonNode } from "./digimon-node.ts" -import { DIGIMON_STAGES, type DigimonStage } from "./stage.ts" - -export type StageThresholds = Readonly> - -export const STAGE_GAUGE_THRESHOLDS = Object.freeze({ - 0: 500_000, - 1: 1_000_000, - 2: 2_000_000, - 3: 4_000_000, - 4: 7_500_000, - 5: 12_500_000, - 6: 20_000_000, - 7: 30_000_000, -} as const satisfies StageThresholds) - -export type PartnerEvolutionState = { - readonly current: DigimonNode - readonly gauge: number - readonly isTerminal: boolean -} - -export type EvolutionSelector = () => number - -const isRecord = (value: unknown): value is Readonly> => { - return typeof value === "object" && value !== null -} - -const isStageThresholds = (thresholds: unknown): thresholds is StageThresholds => { - if (!isRecord(thresholds) || !Object.isFrozen(thresholds)) return false - - return DIGIMON_STAGES.every((stage) => { - const threshold = thresholds[stage] - return typeof threshold === "number" && Number.isFinite(threshold) && threshold > 0 - }) -} - -export const applyTokenProgress = ( - state: PartnerEvolutionState, - tokenDelta: number, - selector: EvolutionSelector, - digimonById: ReadonlyMap, - thresholds: unknown, -): PartnerEvolutionState => { - if (!isStageThresholds(thresholds)) { - throw new Error("Evolution thresholds must be a complete frozen policy of positive finite numbers") - } - if (state.isTerminal) return state - - const gauge = state.gauge + tokenDelta - if (gauge < thresholds[state.current.stage]) return { ...state, gauge } - if (state.current.nextEvolutions.length === 0) return { ...state, gauge: 0, isTerminal: true } - - const selection = selector() - if (!Number.isFinite(selection) || selection < 0 || selection >= 1) { - throw new Error(`Evolution selector must return a finite number in [0, 1), received ${selection}`) - } - - const targetId = state.current.nextEvolutions[Math.floor(selection * state.current.nextEvolutions.length)] - if (targetId === undefined) throw new Error("Evolution target selection failed") - const current = digimonById.get(targetId) - if (current === undefined) throw new Error(`Evolution target ${targetId} is missing from the catalog`) - - return { current, gauge: 0, isTerminal: current.nextEvolutions.length === 0 } -} diff --git a/tsconfig.json b/tsconfig.json index 6e32e0e..ee50164 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,29 +1,12 @@ { - "compilerOptions": { - "strict": true, - "noUncheckedIndexedAccess": true, - "exactOptionalPropertyTypes": true, - "noFallthroughCasesInSwitch": true, - "noPropertyAccessFromIndexSignature": true, - "forceConsistentCasingInFileNames": true, - "module": "ESNext", - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "verbatimModuleSyntax": true, - "isolatedModules": true, - "target": "ESNext", - "lib": ["ESNext", "DOM"], - "types": ["bun"], - "jsx": "react-jsx", - "jsxImportSource": "@opentui/solid", - "declaration": true, - "declarationMap": true, - "sourceMap": true, - "outDir": "dist", - "rootDir": "src", - "skipLibCheck": true, - "noEmit": true - }, - "include": ["src"], - "exclude": ["node_modules", "dist", "tests"] + "files": [], + "references": [ + { "path": "./packages/vpet-core" }, + { "path": "./packages/opencode-vpet" }, + { "path": "./packages/opencode-vpet/tsconfig.scripts.json" }, + { "path": "./packages/opencode-vpet/tsconfig.test.json" }, + { "path": "./packages/cursor-vpet" }, + { "path": "./packages/cursor-vpet/tsconfig.scripts.json" }, + { "path": "./tsconfig.release-metadata.json" } + ] } diff --git a/tsconfig.release-metadata.json b/tsconfig.release-metadata.json index a49dcd4..392d44a 100644 --- a/tsconfig.release-metadata.json +++ b/tsconfig.release-metadata.json @@ -1,8 +1,13 @@ { - "extends": "./tsconfig.json", "compilerOptions": { + "strict": true, + "module": "ESNext", + "moduleResolution": "bundler", + "target": "ESNext", + "types": ["bun", "node"], "noEmit": true, - "rootDir": "scripts" + "rootDir": "scripts", + "skipLibCheck": true }, - "include": ["scripts/release-metadata.ts"] + "include": ["scripts/release-metadata.ts", "scripts/stage-changelog.ts"] }