Repository: paw-lu/nbpreview (language: python)

Issue:
Customize markdown rendering
Right now this project uses Rich's default markdown renderer. This doesn't work well with the project's style.

Problems:

1. Rich draws boxes around headers, which should be reserved for cells.
2. Rich puts background and borders around markdown code blocks

Create a custom markdown renderer using [the steps outlined here](https://github.com/willmcgugan/rich/issues/264).
﻿



Discussion / hints:
[This PR](https://github.com/googlefonts/fontbakery/pull/3227) brute forces table support by parsing for tables before handing off to rich.
[Alternative markdown parser](https://twitter.com/pvergain/status/1395127812344930305) [markdown-it-py](https://github.com/executablebooks/markdown-it-py).

Fix patch:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 4a0c76ac..05bf4b4a 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -66,3 +66,4 @@ repos:
     rev: v2.3.0
     hooks:
       - id: prettier
+exclude: "^tests/expected_outputs"
diff --git a/poetry.lock b/poetry.lock
index e40dfc43..63ba52a7 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -710,6 +710,14 @@ category = "dev"
 optional = false
 python-versions = "*"
 
+[[package]]
+name = "multidict"
+version = "5.1.0"
+description = "multidict implementation"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
 [[package]]
 name = "mypy"
 version = "0.910"
@@ -1597,6 +1605,21 @@ brotli = ["brotlipy (>=0.6.0)"]
 secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
 socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
 
+[[package]]
+name = "validators"
+version = "0.18.2"
+description = "Python Data Validation for Humans™."
+category = "main"
+optional = false
+python-versions = ">=3.4"
+
+[package.dependencies]
+decorator = ">=3.4.0"
+six = ">=1.4.0"
+
+[package.extras]
+test = ["pytest (>=2.2.3)", "flake8 (>=2.4.0)", "isort (>=4.2.2)"]
+
 [[package]]
 name = "virtualenv"
 version = "20.7.2"
@@ -1652,10 +1675,22 @@ jupyter = ["nbformat", "nbconvert", "jupyter-client", "ipython", "ipykernel"]
 optional = ["pygments", "colorama", "nbformat", "nbconvert", "jupyter-client", "ipython", "ipykernel"]
 tests = ["codecov", "scikit-build", "cmake", "ninja", "pybind11", "pytest", "pytest", "pytest-cov", "pytest", "pytest", "pytest-cov", "typing", "nbformat", "nbconvert", "jupyter-client", "ipython", "ipykernel", "pytest", "pytest-cov"]
 
+[[package]]
+name = "yarl"
+version = "1.6.3"
+description = "Yet another URL library"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+idna = ">=2.0"
+multidict = ">=4.0"
+
 [metadata]
 lock-version = "1.1"
 python-versions = "^3.8.0"
-content-hash = "0994ed72b41e7ade15a2016f4fe470ee1633f7fcd73fbebde8634fdb92aa7727"
+content-hash = "afd8c4c46f4dfd18621a96a41ab835851e768b2fe1c073b49b2f9f916557b097"
 
 [metadata.files]
 alabaster = [
@@ -2077,6 +2112,45 @@ mccabe = [
     {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
     {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
 ]
+multidict = [
+    {file = "multidict-5.1.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:b7993704f1a4b204e71debe6095150d43b2ee6150fa4f44d6d966ec356a8d61f"},
+    {file = "multidict-5.1.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:9dd6e9b1a913d096ac95d0399bd737e00f2af1e1594a787e00f7975778c8b2bf"},
+    {file = "multidict-5.1.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:f21756997ad8ef815d8ef3d34edd98804ab5ea337feedcd62fb52d22bf531281"},
+    {file = "multidict-5.1.0-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:1ab820665e67373de5802acae069a6a05567ae234ddb129f31d290fc3d1aa56d"},
+    {file = "multidict-5.1.0-cp36-cp36m-manylinux2014_ppc64le.whl", hash = "sha256:9436dc58c123f07b230383083855593550c4d301d2532045a17ccf6eca505f6d"},
+    {file = "multidict-5.1.0-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:830f57206cc96ed0ccf68304141fec9481a096c4d2e2831f311bde1c404401da"},
+    {file = "multidict-5.1.0-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:2e68965192c4ea61fff1b81c14ff712fc7dc15d2bd120602e4a3494ea6584224"},
+    {file = "multidict-5.1.0-cp36-cp36m-win32.whl", hash = "sha256:2f1a132f1c88724674271d636e6b7351477c27722f2ed789f719f9e3545a3d26"},
+    {file = "multidict-5.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:3a4f32116f8f72ecf2a29dabfb27b23ab7cdc0ba807e8459e59a93a9be9506f6"},
+    {file = "multidict-5.1.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:46c73e09ad374a6d876c599f2328161bcd95e280f84d2060cf57991dec5cfe76"},
+    {file = "multidict-5.1.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:018132dbd8688c7a69ad89c4a3f39ea2f9f33302ebe567a879da8f4ca73f0d0a"},
+    {file = "multidict-5.1.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:4b186eb7d6ae7c06eb4392411189469e6a820da81447f46c0072a41c748ab73f"},
+    {file = "multidict-5.1.0-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:3a041b76d13706b7fff23b9fc83117c7b8fe8d5fe9e6be45eee72b9baa75f348"},
+    {file = "multidict-5.1.0-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:051012ccee979b2b06be928a6150d237aec75dd6bf2d1eeeb190baf2b05abc93"},
+    {file = "multidict-5.1.0-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:6a4d5ce640e37b0efcc8441caeea8f43a06addace2335bd11151bc02d2ee31f9"},
+    {file = "multidict-5.1.0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:5cf3443199b83ed9e955f511b5b241fd3ae004e3cb81c58ec10f4fe47c7dce37"},
+    {file = "multidict-5.1.0-cp37-cp37m-win32.whl", hash = "sha256:f200755768dc19c6f4e2b672421e0ebb3dd54c38d5a4f262b872d8cfcc9e93b5"},
+    {file = "multidict-5.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:05c20b68e512166fddba59a918773ba002fdd77800cad9f55b59790030bab632"},
+    {file = "multidict-5.1.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:54fd1e83a184e19c598d5e70ba508196fd0bbdd676ce159feb412a4a6664f952"},
+    {file = "multidict-5.1.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:0e3c84e6c67eba89c2dbcee08504ba8644ab4284863452450520dad8f1e89b79"},
+    {file = "multidict-5.1.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:dc862056f76443a0db4509116c5cd480fe1b6a2d45512a653f9a855cc0517456"},
+    {file = "multidict-5.1.0-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:0e929169f9c090dae0646a011c8b058e5e5fb391466016b39d21745b48817fd7"},
+    {file = "multidict-5.1.0-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:d81eddcb12d608cc08081fa88d046c78afb1bf8107e6feab5d43503fea74a635"},
+    {file = "multidict-5.1.0-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:585fd452dd7782130d112f7ddf3473ffdd521414674c33876187e101b588738a"},
+    {file = "multidict-5.1.0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:37e5438e1c78931df5d3c0c78ae049092877e5e9c02dd1ff5abb9cf27a5914ea"},
+    {file = "multidict-5.1.0-cp38-cp38-win32.whl", hash = "sha256:07b42215124aedecc6083f1ce6b7e5ec5b50047afa701f3442054373a6deb656"},
+    {file = "multidict-5.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:929006d3c2d923788ba153ad0de8ed2e5ed39fdbe8e7be21e2f22ed06c6783d3"},
+    {file = "multidict-5.1.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:b797515be8743b771aa868f83563f789bbd4b236659ba52243b735d80b29ed93"},
+    {file = "multidict-5.1.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d5c65bdf4484872c4af3150aeebe101ba560dcfb34488d9a8ff8dbcd21079647"},
+    {file = "multidict-5.1.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b47a43177a5e65b771b80db71e7be76c0ba23cc8aa73eeeb089ed5219cdbe27d"},
+    {file = "multidict-5.1.0-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:806068d4f86cb06af37cd65821554f98240a19ce646d3cd24e1c33587f313eb8"},
+    {file = "multidict-5.1.0-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:46dd362c2f045095c920162e9307de5ffd0a1bfbba0a6e990b344366f55a30c1"},
+    {file = "multidict-5.1.0-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:ace010325c787c378afd7f7c1ac66b26313b3344628652eacd149bdd23c68841"},
+    {file = "multidict-5.1.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:ecc771ab628ea281517e24fd2c52e8f31c41e66652d07599ad8818abaad38cda"},
+    {file = "multidict-5.1.0-cp39-cp39-win32.whl", hash = "sha256:fc13a9524bc18b6fb6e0dbec3533ba0496bbed167c56d0aabefd965584557d80"},
+    {file = "multidict-5.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:7df80d07818b385f3129180369079bd6934cf70469f99daaebfac89dca288359"},
+    {file = "multidict-5.1.0.tar.gz", hash = "sha256:25b4e5f22d3a37ddf3effc0710ba692cfc792c2b9edfb9c05aefe823256e84d5"},
+]
 mypy = [
     {file = "mypy-0.910-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:a155d80ea6cee511a3694b108c4494a39f42de11ee4e61e72bc424c490e46457"},
     {file = "mypy-0.910-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:b94e4b785e304a04ea0828759172a15add27088520dc7e49ceade7834275bedb"},
@@ -2661,6 +2735,10 @@ urllib3 = [
     {file = "urllib3-1.26.6-py2.py3-none-any.whl", hash = "sha256:39fb8672126159acb139a7718dd10806104dec1e2f0f6c88aab05d17df10c8d4"},
     {file = "urllib3-1.26.6.tar.gz", hash = "sha256:f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f"},
 ]
+validators = [
+    {file = "validators-0.18.2-py3-none-any.whl", hash = "sha256:0143dcca8a386498edaf5780cbd5960da1a4c85e0719f3ee5c9b41249c4fefbd"},
+    {file = "validators-0.18.2.tar.gz", hash = "sha256:37cd9a9213278538ad09b5b9f9134266e7c226ab1fede1d500e29e0a8fbb9ea6"},
+]
 virtualenv = [
     {file = "virtualenv-20.7.2-py2.py3-none-any.whl", hash = "sha256:e4670891b3a03eb071748c569a87cceaefbf643c5bac46d996c5a45c34aa0f06"},
     {file = "virtualenv-20.7.2.tar.gz", hash = "sha256:9ef4e8ee4710826e98ff3075c9a4739e2cb1040de6a2a8d35db0055840dc96a0"},
@@ -2677,3 +2755,42 @@ xdoctest = [
     {file = "xdoctest-0.15.8-py3-none-any.whl", hash = "sha256:80a57af2f8ca709ab9da111ab3b16ec474f11297b9efcc34709a2c3e56ed9ce6"},
     {file = "xdoctest-0.15.8.tar.gz", hash = "sha256:ddd128780593161a7398fcfefc49f5f6dfe4c2eb2816942cb53768d43bcab7b9"},
 ]
+yarl = [
+    {file = "yarl-1.6.3-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:0355a701b3998dcd832d0dc47cc5dedf3874f966ac7f870e0f3a6788d802d434"},
+    {file = "yarl-1.6.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:bafb450deef6861815ed579c7a6113a879a6ef58aed4c3a4be54400ae8871478"},
+    {file = "yarl-1.6.3-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:547f7665ad50fa8563150ed079f8e805e63dd85def6674c97efd78eed6c224a6"},
+    {file = "yarl-1.6.3-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:63f90b20ca654b3ecc7a8d62c03ffa46999595f0167d6450fa8383bab252987e"},
+    {file = "yarl-1.6.3-cp36-cp36m-manylinux2014_ppc64le.whl", hash = "sha256:97b5bdc450d63c3ba30a127d018b866ea94e65655efaf889ebeabc20f7d12406"},
+    {file = "yarl-1.6.3-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:d8d07d102f17b68966e2de0e07bfd6e139c7c02ef06d3a0f8d2f0f055e13bb76"},
+    {file = "yarl-1.6.3-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:15263c3b0b47968c1d90daa89f21fcc889bb4b1aac5555580d74565de6836366"},
+    {file = "yarl-1.6.3-cp36-cp36m-win32.whl", hash = "sha256:b5dfc9a40c198334f4f3f55880ecf910adebdcb2a0b9a9c23c9345faa9185721"},
+    {file = "yarl-1.6.3-cp36-cp36m-win_amd64.whl", hash = "sha256:b2e9a456c121e26d13c29251f8267541bd75e6a1ccf9e859179701c36a078643"},
+    {file = "yarl-1.6.3-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:ce3beb46a72d9f2190f9e1027886bfc513702d748047b548b05dab7dfb584d2e"},
+    {file = "yarl-1.6.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:2ce4c621d21326a4a5500c25031e102af589edb50c09b321049e388b3934eec3"},
+    {file = "yarl-1.6.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:d26608cf178efb8faa5ff0f2d2e77c208f471c5a3709e577a7b3fd0445703ac8"},
+    {file = "yarl-1.6.3-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:4c5bcfc3ed226bf6419f7a33982fb4b8ec2e45785a0561eb99274ebbf09fdd6a"},
+    {file = "yarl-1.6.3-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:4736eaee5626db8d9cda9eb5282028cc834e2aeb194e0d8b50217d707e98bb5c"},
+    {file = "yarl-1.6.3-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:68dc568889b1c13f1e4745c96b931cc94fdd0defe92a72c2b8ce01091b22e35f"},
+    {file = "yarl-1.6.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:7356644cbed76119d0b6bd32ffba704d30d747e0c217109d7979a7bc36c4d970"},
+    {file = "yarl-1.6.3-cp37-cp37m-win32.whl", hash = "sha256:00d7ad91b6583602eb9c1d085a2cf281ada267e9a197e8b7cae487dadbfa293e"},
+    {file = "yarl-1.6.3-cp37-cp37m-win_amd64.whl", hash = "sha256:69ee97c71fee1f63d04c945f56d5d726483c4762845400a6795a3b75d56b6c50"},
+    {file = "yarl-1.6.3-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:e46fba844f4895b36f4c398c5af062a9808d1f26b2999c58909517384d5deda2"},
+    {file = "yarl-1.6.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:31ede6e8c4329fb81c86706ba8f6bf661a924b53ba191b27aa5fcee5714d18ec"},
+    {file = "yarl-1.6.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fcbb48a93e8699eae920f8d92f7160c03567b421bc17362a9ffbbd706a816f71"},
+    {file = "yarl-1.6.3-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:72a660bdd24497e3e84f5519e57a9ee9220b6f3ac4d45056961bf22838ce20cc"},
+    {file = "yarl-1.6.3-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:324ba3d3c6fee56e2e0b0d09bf5c73824b9f08234339d2b788af65e60040c959"},
+    {file = "yarl-1.6.3-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:e6b5460dc5ad42ad2b36cca524491dfcaffbfd9c8df50508bddc354e787b8dc2"},
+    {file = "yarl-1.6.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:6d6283d8e0631b617edf0fd726353cb76630b83a089a40933043894e7f6721e2"},
+    {file = "yarl-1.6.3-cp38-cp38-win32.whl", hash = "sha256:9ede61b0854e267fd565e7527e2f2eb3ef8858b301319be0604177690e1a3896"},
+    {file = "yarl-1.6.3-cp38-cp38-win_amd64.whl", hash = "sha256:f0b059678fd549c66b89bed03efcabb009075bd131c248ecdf087bdb6faba24a"},
+    {file = "yarl-1.6.3-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:329412812ecfc94a57cd37c9d547579510a9e83c516bc069470db5f75684629e"},
+    {file = "yarl-1.6.3-cp39-cp39-manylinux1_i686.whl", hash = "sha256:c49ff66d479d38ab863c50f7bb27dee97c6627c5fe60697de15529da9c3de724"},
+    {file = "yarl-1.6.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f040bcc6725c821a4c0665f3aa96a4d0805a7aaf2caf266d256b8ed71b9f041c"},
+    {file = "yarl-1.6.3-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:d5c32c82990e4ac4d8150fd7652b972216b204de4e83a122546dce571c1bdf25"},
+    {file = "yarl-1.6.3-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:d597767fcd2c3dc49d6eea360c458b65643d1e4dbed91361cf5e36e53c1f8c96"},
+    {file = "yarl-1.6.3-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:8aa3decd5e0e852dc68335abf5478a518b41bf2ab2f330fe44916399efedfae0"},
+    {file = "yarl-1.6.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:73494d5b71099ae8cb8754f1df131c11d433b387efab7b51849e7e1e851f07a4"},
+    {file = "yarl-1.6.3-cp39-cp39-win32.whl", hash = "sha256:5b883e458058f8d6099e4420f0cc2567989032b5f34b271c0827de9f1079a424"},
+    {file = "yarl-1.6.3-cp39-cp39-win_amd64.whl", hash = "sha256:4953fb0b4fdb7e08b2f3b3be80a00d28c5c8a2056bb066169de00e6501b986b6"},
+    {file = "yarl-1.6.3.tar.gz", hash = "sha256:8a9066529240171b68893d60dca86a763eae2139dd42f42106b03cf4b426bf10"},
+]
diff --git a/pyproject.toml b/pyproject.toml
index 99b224c3..f1bebf4a 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -33,6 +33,8 @@ types-click = "^7.1.5"
 Pillow = "^8.3.1"
 terminedia = "^0.4.1"
 picharsso = "^2.0.1"
+validators = "^0.18.2"
+yarl = "^1.6.3"
 
 [tool.poetry.dev-dependencies]
 pytest = "^6.2.5"
@@ -87,7 +89,7 @@ show_error_codes = true
 show_error_context = true
 
 [[tool.mypy.overrides]]
-module = "lxml.*,nbformat.*,PIL.*,picharsso.*,pygments,pylatexenc,pytest_mock,terminedia"
+module = "lxml.*,nbformat.*,PIL.*,picharsso.*,pygments,pylatexenc,pytest_mock,terminedia,validators"
 ignore_missing_imports = true
 
 [[tool.mypy.overrides]]
diff --git a/src/nbpreview/component/content/input.py b/src/nbpreview/component/content/input.py
index ab6599f0..eeca0f22 100644
--- a/src/nbpreview/component/content/input.py
+++ b/src/nbpreview/component/content/input.py
@@ -2,11 +2,12 @@
 from __future__ import annotations
 
 import dataclasses
+from typing import Literal
 from typing import Optional
 from typing import Union
 
 import pygments
-from rich import markdown
+from picharsso.draw import gradient
 from rich import padding
 from rich import panel
 from rich import syntax
@@ -17,6 +18,8 @@
 from rich.syntax import Syntax
 from rich.text import Text
 
+from nbpreview.component import markdown
+
 
 def box_cell(
     rendered_source: RenderableType, plain: bool, safe_box: Optional[bool] = None
@@ -51,16 +54,50 @@ def __init__(
         source: str,
         theme: str,
         pad: PaddingDimensions,
+        nerd_font: bool,
+        unicode: bool,
+        images: bool,
+        image_drawing: Literal["block", "character", "braille", None],
+        color: bool,
+        negative_space: bool,
+        hyperlinks: bool,
+        files: bool,
+        hide_hyperlink_hints: bool,
+        characters: str = gradient.DEFAULT_CHARSET,
     ) -> None:
         """Constructor."""
         super().__init__(source, plain=True)
         self.theme = theme
         self.pad = pad
+        self.nerd_font = nerd_font
+        self.unicode = unicode
+        self.images = images
+        self.image_drawing = image_drawing
+        self.color = color
+        self.negative_space = negative_space
+        self.hyperlinks = hyperlinks
+        self.files = files
+        self.hide_hyperlink_hints = hide_hyperlink_hints
+        self.characters = characters
 
     def __rich__(self) -> Padding:
         """Render the markdown cell."""
         rendered_markdown = padding.Padding(
-            markdown.Markdown(self.source, inline_code_theme=self.theme), pad=self.pad
+            markdown.CustomMarkdown(
+                self.source,
+                inline_code_theme=self.theme,
+                nerd_font=self.nerd_font,
+                unicode=self.unicode,
+                images=self.images,
+                image_drawing=self.image_drawing,
+                color=self.color,
+                negative_space=self.negative_space,
+                hyperlinks_=self.hyperlinks,
+                files=self.files,
+                hide_hyperlink_hints=self.hide_hyperlink_hints,
+                characters=self.characters,
+            ),
+            pad=self.pad,
         )
         return rendered_markdown
 
diff --git a/src/nbpreview/component/content/output/result/__init__.py b/src/nbpreview/component/content/output/result/__init__.py
index 8fc2d4c7..0c8841c2 100644
--- a/src/nbpreview/component/content/output/result/__init__.py
+++ b/src/nbpreview/component/content/output/result/__init__.py
@@ -11,9 +11,9 @@
 from nbpreview.component.content.output.result.display_data import DisplayData
 from nbpreview.component.content.output.result.drawing import Drawing
 from nbpreview.component.content.output.result.execution_indicator import Execution
-from nbpreview.component.content.output.result.link import Hyperlink
+from nbpreview.component.content.output.result.link import FileLink
 
-Result = Union[Hyperlink, DisplayData, Drawing]
+Result = Union[FileLink, DisplayData, Drawing]
 
 
 def render_result(
diff --git a/src/nbpreview/component/content/output/result/display_data.py b/src/nbpreview/component/content/output/result/display_data.py
index a5f3df49..26b2f962 100644
--- a/src/nbpreview/component/content/output/result/display_data.py
+++ b/src/nbpreview/component/content/output/result/display_data.py
@@ -95,7 +95,7 @@ def render_display_data(
         for image_type in image_types:
             if image_type in data:
                 display_data = drawing.render_drawing(
-                    data,
+                    data=data,
                     image_drawing=image_drawing,
                     image_type=image_type,
                     unicode=unicode,
diff --git a/src/nbpreview/component/content/output/result/drawing.py b/src/nbpreview/component/content/output/result/drawing.py
index b860efb2..1fbed9ce 100644
--- a/src/nbpreview/component/content/output/result/drawing.py
+++ b/src/nbpreview/component/content/output/result/drawing.py
@@ -3,6 +3,7 @@
 
 import abc
 import base64
+import binascii
 import dataclasses
 import enum
 import functools
@@ -38,48 +39,90 @@
     pass
 
 
-def render_drawing(
-    data: Data,
-    image_drawing: Literal["block", "character", "braille", None],
+def _get_image(data: Data, image_type: str) -> Union[bytes, None]:
+    """Extract an image in bytes from data."""
+    encoded_image = data[image_type]
+    decoded_image: Union[bytes, None]
+    try:
+        decoded_image = base64.b64decode(encoded_image)
+    except binascii.Error:
+        decoded_image = None
+    return decoded_image
+
+
+def _get_fallback_text(data: Data) -> str:
+    """Get a fallback text from data."""
+    return data.get("text/plain", "Image")
+
+
+def choose_drawing(
+    image: Union[bytes, None],
+    fallback_text: str,
     image_type: str,
+    image_drawing: Literal["block", "character", "braille", None],
     unicode: bool,
     color: bool,
     negative_space: bool,
     characters: str = gradient.DEFAULT_CHARSET,
 ) -> Union[Drawing, None]:
-    """Render a drawing of an image."""
+    """Choose which drawing to render an image with."""
     rendered_image: Drawing
-    if image_type != "image/svg+xml":
+    # TODO this is duplicate logic with notebook._pick_image_drawing
+    if image is not None and image_type != "image/svg+xml":
         if (
             image_drawing == "block"
             and unicode
             and "terminedia" in sys.modules
             and color
         ):
-            rendered_image = UnicodeDrawing.from_data(data, image_type=image_type)
+            rendered_image = UnicodeDrawing(image=image, fallback_text=fallback_text)
             return rendered_image
 
         elif image_drawing == "braille" and unicode:
-            rendered_image = BrailleDrawing.from_data(
-                data,
-                image_type=image_type,
+            rendered_image = BrailleDrawing(
+                image=image,
+                fallback_text=fallback_text,
                 color=color,
             )
             return rendered_image
 
         elif image_drawing == "character":
-            rendered_image = CharacterDrawing.from_data(
-                data,
-                image_type=image_type,
+            rendered_image = CharacterDrawing(
+                image=image,
+                fallback_text=fallback_text,
                 color=color,
                 negative_space=negative_space,
                 characters=characters,
             )
             return rendered_image
-
     return None
 
 
+def render_drawing(
+    data: Data,
+    image_drawing: Literal["block", "character", "braille", None],
+    image_type: str,
+    unicode: bool,
+    color: bool,
+    negative_space: bool,
+    characters: str = gradient.DEFAULT_CHARSET,
+) -> Union[Drawing, None]:
+    """Render a drawing of an image."""
+    image = _get_image(data, image_type=image_type)
+    fallback_text = _get_fallback_text(data)
+    rendered_drawing = choose_drawing(
+        image=image,
+        fallback_text=fallback_text,
+        image_drawing=image_drawing,
+        image_type=image_type,
+        unicode=unicode,
+        color=color,
+        negative_space=negative_space,
+        characters=characters,
+    )
+    return rendered_drawing
+
+
 class Bottleneck(str, enum.Enum):
     """The bottleneck when rendering a drawing."""
 
@@ -94,9 +137,10 @@ def _detect_image_bottleneck(
     image_height: int,
     max_width: Union[int, None],
     max_height: Union[int, None],
+    scaling_factor: float = 2.125,
 ) -> Bottleneck:
     """Detect which dimension the image is bottlenecked on."""
-    image_ratio = image_width / image_height
+    image_ratio = scaling_factor * image_width / image_height
     max_ratio = (
         max_width / max_height
         if max_width is not None and max_height is not None
@@ -125,25 +169,24 @@ class DrawingDimension:
     image: InitVar[Image]
     max_width: Optional[int] = None
     max_height: Optional[int] = None
+    scaling_factor: float = 2.125
 
     def __post_init__(self, image: Image) -> None:
         """Constructor."""
         image_width, image_height = image.size
-        image_ratio = image_width / image_height
+        image_ratio = self.scaling_factor * image_width / image_height
 
         self.bottleneck = _detect_image_bottleneck(
             image_width=image_width,
             image_height=image_height,
             max_width=self.max_width,
             max_height=self.max_height,
+            scaling_factor=self.scaling_factor,
         )
 
-        image_width, image_height = image.size
-        image_ratio = image_width / image_height
-
         if self.bottleneck == Bottleneck.WIDTH and self.max_width is not None:
             drawing_width = self.max_width
-            drawing_height = int(drawing_width / image_ratio)
+            drawing_height = round(drawing_width / image_ratio)
         elif self.bottleneck == Bottleneck.HEIGHT and self.max_height is not None:
             drawing_height = self.max_height
             drawing_width = int(drawing_height * image_ratio)
@@ -214,7 +257,10 @@ def _render_block_drawing(
         dimensions = DrawingDimension(
             pil_image, max_width=max_width, max_height=max_height
         )
-        size = terminedia.V2(x=dimensions.drawing_width, y=dimensions.drawing_height)
+        size = terminedia.V2(
+            x=dimensions.drawing_width,
+            y=dimensions.drawing_height * dimensions.scaling_factor,
+        )
 
         shape = terminedia.shape(
             pil_image,
@@ -222,6 +268,7 @@ def _render_block_drawing(
             promote=True,
             resolution="square",
         )
+        pil_image.close()
 
         output = io.StringIO()
         shape.render(output=output, backend="ANSI")
@@ -265,7 +312,7 @@ def __rich_measure__(
             max_width=options.max_width,
             fallback_text=self.fallback_text,
         )
-        minimum = max(len(line) for line in rendered_unicode_drawing)
+        minimum = max(line.cell_len for line in rendered_unicode_drawing)
         return measure.Measurement(minimum, maximum=options.max_width)
 
 
@@ -318,7 +365,6 @@ def _render_character_drawing(
         character_dimensions = CharacterDimensions(
             bottleneck=dimensions.bottleneck, max_width=max_width, max_height=max_height
         )
-
         drawer = picharsso.new_drawer(
             style="gradient",
             width=character_dimensions.width,
@@ -328,6 +374,7 @@ def _render_character_drawing(
             negative=negative_space,
         )
         drawing = drawer(pil_image)
+        pil_image.close()
 
         decoder = ansi.AnsiDecoder()
         rendered_character_drawing = tuple(decoder.decode(drawing))
@@ -411,7 +458,7 @@ def __rich_measure__(
             fallback_text=self.fallback_text,
             negative_space=self.negative_space,
         )
-        minimum = max(len(line) for line in rendered_character_drawing)
+        minimum = max(line.cell_len for line in rendered_character_drawing)
         return measure.Measurement(minimum=minimum, maximum=options.max_width)
 
 
@@ -446,6 +493,7 @@ def _render_braille_drawing(
             colorize=color,
         )
         drawing = drawer(pil_image)
+        pil_image.close()
 
         decoder = ansi.AnsiDecoder()
         rendered_character_drawing = tuple(decoder.decode(drawing))
@@ -515,5 +563,5 @@ def __rich_measure__(
             max_height=options.max_height,
             fallback_text=self.fallback_text,
         )
-        minimum = max(len(line) for line in rendered_braille_drawing)
+        minimum = max(line.cell_len for line in rendered_braille_drawing)
         return measure.Measurement(minimum=minimum, maximum=options.max_width)
diff --git a/src/nbpreview/component/content/output/result/link.py b/src/nbpreview/component/content/output/result/link.py
index 770d95a0..579371ff 100644
--- a/src/nbpreview/component/content/output/result/link.py
+++ b/src/nbpreview/component/content/output/result/link.py
@@ -11,6 +11,7 @@
 
 import httpx
 import jinja2
+from jinja2 import select_autoescape
 from rich import console
 from rich import emoji
 from rich import style
@@ -31,9 +32,9 @@ def render_link(
     nerd_font: bool,
     files: bool,
     hide_hyperlink_hints: bool,
-) -> Union[Hyperlink, None]:
+) -> Union[FileLink, None]:
     """Render an output link."""
-    link_result: Hyperlink
+    link_result: FileLink
     if (
         "application/vnd.vega.v5+json" in data
         or "application/vnd.vegalite.v4+json" in data
@@ -117,7 +118,7 @@ def _write_file(content: Union[str, bytes], extension: str) -> str:
 
 
 def _create_hyperlink_message(
-    hyperlinks: bool, subject: str, hide_hyperlink_hints: bool, icon: Union[str, Emoji]
+    subject: str, hide_hyperlink_hints: bool, icon: Union[str, Emoji]
 ) -> str:
     """Create the text on the hyperlink."""
     if hide_hyperlink_hints:
@@ -132,14 +133,12 @@ def _create_hyperlink_message(
 
 
 @dataclasses.dataclass
-class Hyperlink:
-    """A hyperlink to additional content."""
+class Link:
+    """A hyperlink."""
 
-    content: Union[str, bytes, None]
-    file_extension: str
+    path: Union[str, None]
     nerd_font: bool
     unicode: bool
-    files: bool
     subject: str
     nerd_font_icon: str
     emoji_name: str
@@ -155,37 +154,68 @@ def __post_init__(self) -> None:
             unicode=self.unicode,
         )
         self.message = _create_hyperlink_message(
-            self.hyperlinks,
             subject=self.subject,
             hide_hyperlink_hints=self.hide_hyperlink_hints,
             icon=self.icon,
         )
 
-    def __rich__(self) -> Union[Text, str]:
+    def __rich__(self) -> Text:
         """Render the hyperlink."""
-        rendered_hyperlink: Union[str, Text]
-        if self.files is True and self.content is not None:
-            file_name = _write_file(self.content, extension=self.file_extension)
-            if self.hyperlinks:
-                link_style = console.Console().get_style("markdown.link") + style.Style(
-                    link=f"file://{file_name}"
-                )
-                # Append blank string to prevent entire line from being underlined
-                rendered_hyperlink = text.Text.assemble(
-                    text.Text.assemble(self.icon, self.message, style=link_style), ""
-                )
-            else:
-                rendered_hyperlink = text.Text(
-                    f"{self.icon}{file_name}", overflow="fold"
-                )
+        if self.hyperlinks and self.path:
+            link_style = console.Console().get_style("markdown.link") + style.Style(
+                link=self.path
+            )
+            # Append blank string to prevent entire line from being underlined
+            rendered_hyperlink = text.Text.assemble(
+                text.Text.assemble(self.icon, self.message, style=link_style), ""
+            )
+        elif self.path is not None:
+            rendered_hyperlink = text.Text(f"{self.icon}{self.path}", overflow="fold")
         else:
-            rendered_hyperlink = f"{self.icon}{self.subject}"
-
+            rendered_hyperlink = text.Text(f"{self.icon}{self.subject}")
         return rendered_hyperlink
 
 
 @dataclasses.dataclass(init=False)
-class HTMLLink(Hyperlink):
+class FileLink(Link):
+    """A hyperlink to a generated temporary file."""
+
+    def __init__(
+        self,
+        content: Union[str, bytes, None],
+        file_extension: str,
+        files: bool,
+        hyperlinks: bool,
+        hide_hyperlink_hints: bool,
+        nerd_font: bool,
+        unicode: bool,
+        subject: str,
+        emoji_name: str = "page_facing_up",
+        nerd_font_icon: str = "",
+    ) -> None:
+        """Constructor."""
+        path: Union[str, None]
+        if files is True and content is not None:
+            path = f"file://{_write_file(content, extension=file_extension)}"
+        else:
+            path = None
+        self.files = files
+        self.content = content
+        self.file_extension = file_extension
+        super().__init__(
+            path=path,
+            nerd_font=nerd_font,
+            unicode=unicode,
+            subject=subject,
+            nerd_font_icon=nerd_font_icon,
+            emoji_name=emoji_name,
+            hyperlinks=hyperlinks,
+            hide_hyperlink_hints=hide_hyperlink_hints,
+        )
+
+
+@dataclasses.dataclass(init=False)
+class HTMLLink(FileLink):
     """A link to HTML content."""
 
     def __init__(
@@ -235,7 +265,7 @@ def from_data(
 
 
 @dataclasses.dataclass(init=False)
-class VegaLink(Hyperlink):
+class VegaLink(FileLink):
     """Hyperlink to Vega charts."""
 
     def __init__(
@@ -290,9 +320,9 @@ def from_data(
         if files and vega_json:
 
             execution_count_indicator = execution_indicator.choose_execution(execution)
-            env = jinja2.Environment(  # noqa: S701
+            env = jinja2.Environment(
                 loader=jinja2.PackageLoader("nbpreview"),
-                autoescape=jinja2.select_autoescape(),
+                autoescape=select_autoescape(),
             )
             vega_template = env.get_template("vega_template.jinja")
             vega_html = vega_template.render(
@@ -315,7 +345,7 @@ def from_data(
 
 
 @dataclasses.dataclass(init=False)
-class ImageLink(Hyperlink):
+class ImageLink(FileLink):
     """Hyperlink to images."""
 
     def __init__(
@@ -327,6 +357,7 @@ def __init__(
         nerd_font: bool,
         files: bool,
         hide_hyperlink_hints: bool,
+        subject: str = "Image",
     ) -> None:
         """Constructor."""
         super().__init__(
@@ -335,7 +366,7 @@ def __init__(
             nerd_font=nerd_font,
             unicode=unicode,
             files=files,
-            subject="Image",
+            subject=subject,
             nerd_font_icon="",
             emoji_name="framed_picture",
             hyperlinks=hyperlinks,
diff --git a/src/nbpreview/component/markdown.py b/src/nbpreview/component/markdown.py
new file mode 100644
index 00000000..149ce66e
--- /dev/null
+++ b/src/nbpreview/component/markdown.py
@@ -0,0 +1,304 @@
+"""Override rich's markdown renderer with custom components."""
+from __future__ import annotations
+
+import io
+import os
+import pathlib
+import textwrap
+from io import BytesIO
+from pathlib import Path
+from typing import Literal
+from typing import Optional
+from typing import Union
+from urllib import parse
+
+import httpx
+import PIL
+import validators
+import yarl
+from picharsso.draw import gradient
+from PIL import Image
+from rich import _loop
+from rich import markdown
+from rich import rule
+from rich import segment
+from rich import style
+from rich import syntax
+from rich import text
+from rich.console import Console
+from rich.console import ConsoleOptions
+from rich.console import JustifyMethod
+from rich.console import RenderResult
+from rich.style import Style
+
+from nbpreview.component.content.output.result import drawing
+from nbpreview.component.content.output.result import link
+
+
+class CustomCodeBlock(markdown.CodeBlock):
+    """A custom code block with syntax highlighting."""
+
+    style_name = "none"
+
+    def __init__(self, lexer_name: str, theme: str) -> None:
+        """Constructor."""
+        super().__init__(lexer_name=lexer_name, theme=theme)
+
+    def __rich_console__(
+        self, console: Console, options: ConsoleOptions
+    ) -> RenderResult:
+        """Render the custom code block."""
+        code = textwrap.indent(str(self.text).rstrip(), prefix=" " * 4)
+        rendered_syntax = syntax.Syntax(
+            code, self.lexer_name, theme=self.theme, background_color="default"
+        )
+        yield rendered_syntax
+
+
+class CustomHeading(markdown.Heading):
+    """A custom rendered markdown heading."""
+
+    def __init__(self, level: int) -> None:
+        """Constructor."""
+        self.level = level
+        if self.level == 1:
+            self.color = "#6002EE"
+            self.style_name = style.Style(
+                color="#FFFFFF", bgcolor=self.color, bold=True
+            )  # type: ignore[assignment]
+        else:
+            self.color = "#03DAC5"
+            self.style_name = style.Style(
+                color=self.color, bold=True
+            )  # type: ignore[assignment]
+
+    def __rich_console__(
+        self, console: Console, options: ConsoleOptions
+    ) -> RenderResult:
+        """Render the custom markdown heading."""
+        source_text = self.text
+        source_text.justify = "left"
+        if self.level == 1:
+            if source_text.cell_len < console.width:
+                source_text = text.Text(" ", style=self.style_name) + source_text
+            if source_text.cell_len < console.width:
+                source_text = source_text + text.Text(" ", style=self.style_name)
+
+            yield source_text
+        else:
+            source_text = (
+                text.Text(self.level * "#" + " ", style=self.style_name) + source_text
+            )
+            if self.level <= 3:
+                yield text.Text("")
+            yield source_text
+
+        if self.level < 3:
+            yield rule.Rule(style=style.Style(color=self.color, dim=True, bold=False))
+
+
+class CustomBlockQuote(markdown.BlockQuote):
+    """A custom block quote."""
+
+    style_name = style.Style(dim=True)  # type: ignore[assignment]
+
+
+class CustomHorizontalRule(markdown.HorizontalRule):
+    """A customized horizontal rule to divide sections."""
+
+    def __rich_console__(
+        self, console: Console, options: ConsoleOptions
+    ) -> RenderResult:
+        """Render the horizontal rule."""
+        yield rule.Rule(style="none")
+
+
+class CustomListItem(markdown.ListItem):
+    """A custom list element."""
+
+    def render_bullet(self, console: Console, options: ConsoleOptions) -> RenderResult:
+        """Render a markdown bullet."""
+        render_options = options.update(width=options.max_width - 3)
+        lines = console.render_lines(self.elements, render_options, style=self.style)
+        bullet_style = console.get_style("none")
+
+        bullet = segment.Segment(" • ", bullet_style)
+        padding = segment.Segment(" " * 3, bullet_style)
+        new_line = segment.Segment("\n")
+        for first, line in _loop.loop_first(lines):
+            yield bullet if first else padding
+            yield from line
+            yield new_line
+
+    def render_number(
+        self, console: Console, options: ConsoleOptions, number: int, last_number: int
+    ) -> RenderResult:
+        """Render a markdown number."""
+        number_width = len(str(last_number)) + 2
+        render_options = options.update(width=options.max_width - number_width)
+        lines = console.render_lines(self.elements, render_options, style=self.style)
+        number_style = console.get_style("none")
+
+        new_line = segment.Segment("\n")
+        padding = segment.Segment(" " * number_width, number_style)
+        numeral = segment.Segment(
+            f"{number}.".rjust(number_width - 1) + " ", number_style
+        )
+        for first, line in _loop.loop_first(lines):
+            yield numeral if first else padding
+            yield from line
+            yield new_line
+
+
+class CustomImageItem(markdown.ImageItem):
+    """Renders a placeholder for an image."""
+
+    nerd_font: bool = False
+    unicode: bool = True
+    images: bool = True
+    image_drawing: Literal["block", "character", "braille", None] = "block"
+    color: bool = True
+    negative_space: bool = True
+    characters: str = gradient.DEFAULT_CHARSET
+    hyperlinks_: bool = True
+    files: bool = True
+    hide_hyperlink_hints: bool = False
+
+    def __init__(self, destination: str, hyperlinks: bool) -> None:
+        """Constructor."""
+        content: Union[None, Path, BytesIO]
+        self.image_data: Union[None, bytes]
+        self.destination = destination
+        if not validators.url(self.destination):
+            # destination comes in a url quoted format, which will turn
+            # Windows-like paths into %5c, unquote here to that pathlib
+            # understands correctly
+            unquoted_destination = parse.unquote(self.destination)
+            self.path = pathlib.Path(unquoted_destination).resolve()
+            self.destination = os.fsdecode(self.path)
+            content = self.path
+            self.is_url = False
+        else:
+            self.is_url = True
+            self.path = pathlib.Path(yarl.URL(self.destination).path)
+            try:
+                response = httpx.get(self.destination)
+            except httpx.RequestError:
+                content = None
+            else:
+                content = io.BytesIO(response.content)
+        self.extension = self.path.suffix.lstrip(".")
+        if content is not None:
+            try:
+                with Image.open(content) as image:
+                    with io.BytesIO() as output:
+                        try:
+                            format = Image.EXTENSION[f".{self.extension}"]
+                        except KeyError:
+                            self.image_data = None
+                        else:
+                            image.save(output, format=format)
+                            self.image_data = output.getvalue()
+            except (FileNotFoundError, PIL.UnidentifiedImageError):
+                self.image_data = None
+
+        else:
+            self.image_data = None
+
+        super().__init__(destination=destination, hyperlinks=hyperlinks)
+
+    def __rich_console__(
+        self, console: Console, options: ConsoleOptions
+    ) -> RenderResult:
+        """Render the image."""
+        title = self.text.plain or self.destination
+        if self.is_url:
+            rendered_link = link.Link(
+                path=self.destination,
+                nerd_font=self.nerd_font,
+                unicode=self.unicode,
+                subject=title,
+                emoji_name="globe_with_meridians",
+                nerd_font_icon="爵",
+                hyperlinks=self.hyperlinks_,
+                hide_hyperlink_hints=self.hide_hyperlink_hints,
+            )
+        else:
+            rendered_link = link.ImageLink(
+                content=self.image_data,
+                file_extension=self.extension,
+                unicode=self.unicode,
+                hyperlinks=self.hyperlinks_,
+                nerd_font=self.nerd_font,
+                files=self.files,
+                hide_hyperlink_hints=self.hide_hyperlink_hints,
+                subject=title,
+            )
+        yield rendered_link
+
+        fallback_title = self.destination.strip("/").rsplit("/", 1)[-1]
+        rendered_drawing = drawing.choose_drawing(
+            image=self.image_data,
+            fallback_text=self.text.plain or fallback_title,
+            image_type=f"image/{self.extension}",
+            image_drawing=self.image_drawing,
+            unicode=self.unicode,
+            color=self.color,
+            negative_space=self.negative_space,
+            characters=self.characters,
+        )
+        if rendered_drawing is not None:
+            yield text.Text("")
+            yield rendered_drawing
+
+
+class CustomMarkdown(markdown.Markdown):
+    """A custom markdown renderer."""
+
+    def __init__(
+        self,
+        markup: str,
+        code_theme: str = "monokai",
+        justify: Optional[JustifyMethod] = None,
+        style: Union[str, Style] = "none",
+        hyperlinks: bool = True,
+        inline_code_lexer: Optional[str] = None,
+        inline_code_theme: Optional[str] = None,
+        nerd_font: bool = False,
+        unicode: bool = True,
+        images: bool = True,
+        image_drawing: Literal["block", "character", "braille", None] = "block",
+        color: bool = True,
+        negative_space: bool = True,
+        characters: str = gradient.DEFAULT_CHARSET,
+        hyperlinks_: bool = True,
+        files: bool = True,
+        hide_hyperlink_hints: bool = False,
+    ):
+        """Constructor."""
+        self.elements["code_block"] = CustomCodeBlock
+        self.elements["heading"] = CustomHeading
+        self.elements["block_quote"] = CustomBlockQuote
+        self.elements["thematic_break"] = CustomHorizontalRule
+        self.elements["item"] = CustomListItem
+        self.elements["image"] = CustomImageItem
+
+        CustomImageItem.nerd_font = nerd_font
+        CustomImageItem.images = images
+        CustomImageItem.unicode = unicode
+        CustomImageItem.image_drawing = image_drawing
+        CustomImageItem.color = color
+        CustomImageItem.negative_space = negative_space
+        CustomImageItem.characters = characters
+        CustomImageItem.hyperlinks_ = hyperlinks_
+        CustomImageItem.files = files
+        CustomImageItem.hide_hyperlink_hints = hide_hyperlink_hints
+        super().__init__(
+            markup=markup,
+            code_theme=code_theme,
+            justify=justify,
+            style=style,
+            hyperlinks=hyperlinks,
+            inline_code_lexer=inline_code_lexer,
+            inline_code_theme=inline_code_theme,
+        )
diff --git a/src/nbpreview/component/row.py b/src/nbpreview/component/row.py
index 3e7296d4..4272b36b 100644
--- a/src/nbpreview/component/row.py
+++ b/src/nbpreview/component/row.py
@@ -10,6 +10,7 @@
 from typing import Union
 
 from nbformat import NotebookNode
+from picharsso.draw import gradient
 from rich import padding
 from rich.padding import Padding
 from rich.padding import PaddingDimensions
@@ -72,6 +73,16 @@ def render_input_row(
     pad: Tuple[int, int, int, int],
     language: str,
     theme: str,
+    nerd_font: bool,
+    unicode: bool,
+    images: bool,
+    image_drawing: Literal["block", "character", "braille", None],
+    color: bool,
+    negative_space: bool,
+    hyperlinks: bool,
+    files: bool,
+    hide_hyperlink_hints: bool,
+    characters: str = gradient.DEFAULT_CHARSET,
     unicode_border: Optional[bool] = None,
 ) -> Row:
     """Render a Jupyter Notebook cell.
@@ -86,6 +97,24 @@ def render_input_row(
         theme (str): The theme to use for syntax highlighting. May be
             "ansi_light", "ansi_dark", or any Pygments theme. By default
             "ansi_dark".
+        nerd_font (bool): Whether to use nerd fonts as an icon.
+        unicode (bool): Whether to use unicode characters as an icon.
+        images (bool): Whether to render images in the output.
+        image_drawing (Literal["block", "character", "braille", None]):
+            The type of characters to draw images with.
+        color (bool):
+            Whether to draw images using color.
+        negative_space (bool):
+            Whether to draw only the dark areas of an image with
+                characters.
+        hyperlinks (bool):
+            Whether to render terminal hyperlinks.
+        files (bool):
+            Whether to write temporary files.
+        hide_hyperlink_hints (bool):
+            Whether to hide hyperlink hints.
+        characters (str):
+            The characters to draw images with.
         unicode_border (Optional[bool]): Whether to render the cell
             borders using unicode characters. Will autodetect by
             default.
@@ -102,7 +131,21 @@ def render_input_row(
     execution: Union[Execution, None] = None
     top_pad = not plain
     if cell_type == "markdown":
-        rendered_cell = input.MarkdownCell(source, theme=theme, pad=pad)
+        rendered_cell = input.MarkdownCell(
+            source,
+            theme=theme,
+            pad=pad,
+            nerd_font=nerd_font,
+            unicode=unicode,
+            images=images,
+            image_drawing=image_drawing,
+            color=color,
+            negative_space=negative_space,
+            hyperlinks=hyperlinks,
+            files=files,
+            hide_hyperlink_hints=hide_hyperlink_hints,
+            characters=characters,
+        )
 
     elif cell_type == "code":
         execution = Execution(cell.execution_count, top_pad=top_pad)
diff --git a/src/nbpreview/notebook.py b/src/nbpreview/notebook.py
index 6a5c5a10..7de92f3c 100644
--- a/src/nbpreview/notebook.py
+++ b/src/nbpreview/notebook.py
@@ -11,6 +11,7 @@
 
 import nbformat
 from nbformat.notebooknode import NotebookNode
+from picharsso.draw import gradient
 from rich import table
 from rich.console import Console
 from rich.console import ConsoleOptions
@@ -102,6 +103,7 @@ def _render_notebook(
     image_drawing: Literal["block", "character", "braille", None],
     color: bool,
     negative_space: bool,
+    characters: str = gradient.DEFAULT_CHARSET,
 ) -> Table:
     """Create a table representing a notebook."""
     grid = table.Table.grid(padding=(1, 1, 1, 0))
@@ -119,6 +121,16 @@ def _render_notebook(
             language=language,
             theme=theme,
             unicode_border=unicode,
+            nerd_font=nerd_font,
+            unicode=unicode,
+            images=images,
+            image_drawing=image_drawing,
+            color=color,
+            negative_space=negative_space,
+            hyperlinks=hyperlinks,
+            files=files,
+            hide_hyperlink_hints=hide_hyperlink_hints,
+            characters=characters,
         )
         grid.add_row(*cell_row.to_table_row())
 


Test patch:
diff --git a/tests/assets/LICENSE.rst b/tests/assets/LICENSE.rst
new file mode 100644
index 00000000..16ed70ef
--- /dev/null
+++ b/tests/assets/LICENSE.rst
@@ -0,0 +1,203 @@
+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 [yyyy] [name of copyright owner]
+
+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/tests/assets/bad_image.xyz b/tests/assets/bad_image.xyz
new file mode 100644
index 00000000..1914264c
Binary files /dev/null and b/tests/assets/bad_image.xyz differ
diff --git a/tests/assets/outline_article_white_48dp.png b/tests/assets/outline_article_white_48dp.png
new file mode 100644
index 00000000..4e766692
Binary files /dev/null and b/tests/assets/outline_article_white_48dp.png differ
diff --git a/tests/component/content/output/result/test_drawing.py b/tests/component/content/output/result/test_drawing.py
index 5b80fee3..6101d8eb 100644
--- a/tests/component/content/output/result/test_drawing.py
+++ b/tests/component/content/output/result/test_drawing.py
@@ -1,9 +1,12 @@
 """Test for nbpreview.component.content.output.result.drawing."""
+import base64
+
 import PIL.Image
 import pytest
 from PIL.Image import Image
 
 from nbpreview.component.content.output.result import drawing
+from nbpreview.data import Data
 
 
 @pytest.fixture
@@ -21,6 +24,15 @@ def test_drawing_repr() -> None:
     assert output == expected_output
 
 
+def test_get_invalid_image() -> None:
+    """It returns non when an invalid image is passed to it."""
+    image_type = "image"
+    data = {image_type: "sef"}
+    output = drawing._get_image(data=data, image_type=image_type)
+    expected_output = None
+    assert output is expected_output
+
+
 def test_unlimited_width_dimensions(image: Image) -> None:
     """It takes the full available height with unlimited width."""
     dimensions = drawing.DrawingDimension(
@@ -28,7 +40,7 @@ def test_unlimited_width_dimensions(image: Image) -> None:
         max_width=None,
         max_height=30,
     )
-    expected_width = 48
+    expected_width = 102
     expected_height = 30
     width = dimensions.drawing_width
     height = dimensions.drawing_height
@@ -44,7 +56,7 @@ def test_unlimited_height_dimensions(image: Image) -> None:
         max_height=None,
     )
     expected_width = 30
-    expected_height = 18
+    expected_height = 9
     width = dimensions.drawing_width
     height = dimensions.drawing_height
     assert width == expected_width
@@ -68,7 +80,7 @@ def test_unlimited_dimensions(image: Image) -> None:
 
 def test_perfect_fit_dimensions(image: Image) -> None:
     """It takes up all possible space when ratios are equal."""
-    max_width = 16
+    max_width = round(16 * 2.125)
     max_height = 10
     dimensions = drawing.DrawingDimension(
         image=image,
@@ -91,7 +103,7 @@ def test_limited_width_dimensions(image: Image) -> None:
         max_height=10,
     )
     expected_width = 8
-    expected_height = 5
+    expected_height = 2
     width = dimensions.drawing_width
     height = dimensions.drawing_height
     assert width == expected_width
@@ -105,7 +117,7 @@ def test_limited_height_dimensions(image: Image) -> None:
         max_width=18,
         max_height=5,
     )
-    expected_width = 8
+    expected_width = 17
     expected_height = 5
     width = dimensions.drawing_width
     height = dimensions.drawing_height
@@ -182,3 +194,50 @@ def test_braille_drawing_repr(image: Image) -> None:
     output = repr(character_drawing)
     expected_output = "BrailleDrawing(image=sefi, fallback_text=Hey, color=True)"
     assert output == expected_output
+
+
+@pytest.fixture
+def image_data() -> Data:
+    """Fixture that returns image data."""
+    encoded_image = base64.b64encode(b"a").decode()
+    data = {"image": encoded_image, "text/plain": "fallback_text"}
+    return data
+
+
+def test_unicode_drawing_from_data(image_data: Data) -> None:
+    """It instantiates from image data."""
+    output = drawing.UnicodeDrawing.from_data(data=image_data, image_type="image")
+    expected_output = drawing.UnicodeDrawing(image=b"a", fallback_text="fallback_text")
+    assert output.__dict__ == expected_output.__dict__
+
+
+def test_character_drawing_from_data(image_data: Data) -> None:
+    """It instantiates from image data."""
+    color = True
+    negative_space = True
+    output = drawing.CharacterDrawing.from_data(
+        data=image_data, image_type="image", color=color, negative_space=negative_space
+    )
+    expected_output = drawing.CharacterDrawing(
+        image=b"a",
+        fallback_text="fallback_text",
+        color=color,
+        negative_space=negative_space,
+    )
+    assert output.__dict__ == expected_output.__dict__
+
+
+def test_braille_drawing_from_data(image_data: Data) -> None:
+    """It instantiates from image data."""
+    color = True
+    output = drawing.BrailleDrawing.from_data(
+        data=image_data,
+        image_type="image",
+        color=color,
+    )
+    expected_output = drawing.BrailleDrawing(
+        image=b"a",
+        fallback_text="fallback_text",
+        color=color,
+    )
+    assert output.__dict__ == expected_output.__dict__
diff --git a/tests/conftest.py b/tests/conftest.py
index 1cbd6669..00c07d45 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,17 +1,20 @@
 """Package-wide test fixtures."""
 import contextlib
+import io
 from typing import Any
 from typing import Callable
 from typing import ContextManager
 from typing import Dict
 from typing import Iterator
 from typing import Optional
+from typing import Union
 
 import nbformat
 import pytest
 from _pytest.config import _PluggyPlugin
 from _pytest.config import Config
 from nbformat.notebooknode import NotebookNode
+from rich import console
 
 
 @pytest.fixture
@@ -83,3 +86,24 @@ def _disable_capture() -> Iterator[_PluggyPlugin]:
             capmanager.resume_global_capture()
 
     return _disable_capture()
+
+
+@pytest.fixture
+def rich_console() -> Callable[[Any, Union[bool, None]], str]:
+    """Fixture that returns Rich console."""
+
+    def _rich_console(renderable: Any, no_wrap: Optional[bool] = None) -> str:
+        """Render an object using rich."""
+        con = console.Console(
+            file=io.StringIO(),
+            width=80,
+            height=120,
+            color_system="truecolor",
+            legacy_windows=False,
+            force_terminal=True,
+        )
+        con.print(renderable, no_wrap=no_wrap)
+        output: str = con.file.getvalue()  # type: ignore[attr-defined]
+        return output
+
+    return _rich_console
diff --git a/tests/expected_outputs/test_image_link_markdown_cell.txt b/tests/expected_outputs/test_image_link_markdown_cell.txt
new file mode 100644
index 00000000..e8c4843a
--- /dev/null
+++ b/tests/expected_outputs/test_image_link_markdown_cell.txt
@@ -0,0 +1,42 @@
+  ]8;id=995968;https://github.com/paw-lu/nbpreview/tests/assets/outline_article_white_48dp.png\[94m🌐 Click to view Azores[0m]8;;\                                                       
+                                                                                
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢀[0m[38;2;255;255;255m⣰[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣆[0m[38;2;0;0;0m⡀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣼[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣧[0m[38;2;0;0;0m⡄[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢰[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;0;0;0m⡆[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠘[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;0;0;0m⠃[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠈[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠁[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢠[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;0;0;0m⡄[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠸[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;0;0;0m⠇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢻[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡟[0m[38;2;0;0;0m⠃[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠈[0m[38;2;255;255;255m⠹[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠏[0m[38;2;0;0;0m⠁[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+                                                                                
diff --git a/tests/expected_outputs/test_image_markdown_cell.txt b/tests/expected_outputs/test_image_markdown_cell.txt
new file mode 100644
index 00000000..fa2e99df
--- /dev/null
+++ b/tests/expected_outputs/test_image_markdown_cell.txt
@@ -0,0 +1,42 @@
+  ]8;id=736874;file://{{ tempfile_path }}0.png\[94m🖼 Click to view Azores[0m]8;;\                                                        
+                                                                                
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢀[0m[38;2;255;255;255m⣰[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣆[0m[38;2;0;0;0m⡀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣼[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣧[0m[38;2;0;0;0m⡄[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢰[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;255;255;255m⣶[0m[38;2;0;0;0m⡆[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠘[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;255;255;255m⠛[0m[38;2;0;0;0m⠃[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠈[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠁[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢠[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;255;255;255m⣤[0m[38;2;0;0;0m⡄[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢸[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠸[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠿[0m[38;2;0;0;0m⠇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡇[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⢻[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;0;0;0m⡟[0m[38;2;0;0;0m⠃[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠈[0m[38;2;255;255;255m⠹[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⣿[0m[38;2;255;255;255m⠿[0m[38;2;255;255;255m⠏[0m[38;2;0;0;0m⠁[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠉[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+  [38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m[38;2;0;0;0m⠀[0m
+                                                                                
diff --git a/tests/test_notebook.py b/tests/test_notebook.py
index 58e7bf6e..2297abf3 100644
--- a/tests/test_notebook.py
+++ b/tests/test_notebook.py
@@ -3,6 +3,7 @@
 import io
 import itertools
 import json
+import os
 import pathlib
 import re
 import subprocess
@@ -22,19 +23,21 @@
 from unittest.mock import Mock
 
 import httpx
+import jinja2
 import nbformat
 import pytest
 from _pytest.config import _PluggyPlugin
+from _pytest.fixtures import FixtureRequest
+from jinja2 import select_autoescape
 from nbformat import NotebookNode
 from pytest_mock import MockerFixture
 from rich import console
-from rich.console import Console
 
 from nbpreview import notebook
 
 
 class RichOutput(Protocol):
-    """Typing protocol for _rich_output."""
+    """Typing protocol for _rich_notebook_output."""
 
     def __call__(
         self,
@@ -76,10 +79,46 @@ def split_string(
         for begin in range(0, string_length, sub_length)
     )
     if copy is True:
-        subprocess.run("/usr/bin/pbcopy", text=True, input=str(split))  # noqa: S603
+        string = str(split)
+        copy_string(string)
     return split
 
 
+def copy_string(string: str) -> None:
+    """Copies the string to clipboard.
+
+    Uses pbcopy, so for now only works with macOS.
+    """
+    subprocess.run("/usr/bin/pbcopy", text=True, input=string)  # noqa: S603
+
+
+def write_output(string: str, test_name: str) -> None:
+    """Write the output to the expected outptus file."""
+    output_directory = pathlib.Path(__file__).parent / pathlib.Path("expected_outputs")
+    expected_output_file = output_directory / pathlib.Path(test_name).with_suffix(
+        ".txt"
+    )
+    expected_output_file.write_text(string)
+
+
+@pytest.fixture
+def expected_output(
+    request: FixtureRequest, tempfile_path: Path, remove_link_ids: Callable[[str], str]
+) -> str:
+    """Get the expected output for a test."""
+    output_directory = pathlib.Path(__file__).parent / pathlib.Path("expected_outputs")
+    test_name = request.node.name
+    env = jinja2.Environment(
+        loader=jinja2.FileSystemLoader(output_directory),
+        autoescape=select_autoescape(),
+        keep_trailing_newline=True,
+    )
+    expected_output_file = f"{test_name}.txt"
+    expected_output_template = env.get_template(expected_output_file)
+    expected_output = expected_output_template.render(tempfile_path=tempfile_path)
+    return remove_link_ids(expected_output)
+
+
 @pytest.fixture
 def adjust_for_fallback() -> Callable[[str, int], str]:
     """Fixture to automatically adjust expected outputs for fallback."""
@@ -130,29 +169,15 @@ def _parse_link_filepath(output: str) -> Path:
 
 
 @pytest.fixture
-def rich_console() -> Console:
-    """Fixture that returns Rich console."""
-    con = console.Console(
-        file=io.StringIO(),
-        width=80,
-        height=120,
-        color_system="truecolor",
-        legacy_windows=False,
-        force_terminal=True,
-    )
-    return con
-
-
-@pytest.fixture
-def rich_output(
-    rich_console: Console,
+def rich_notebook_output(
+    rich_console: Callable[[Any, Union[bool, None]], str],
     make_notebook: Callable[[Optional[Dict[str, Any]]], NotebookNode],
 ) -> RichOutput:
     """Fixture returning a function that returns the rendered output.
 
     Args:
-        rich_console (Console): Pytest fixture that returns a rich
-            console.
+        rich_console (Callable[[Any, Union[bool, None]], str]): Pytest
+            fixture that returns a rich console.
         make_notebook (Callable[[Optional[Dict[str, Any]]], NotebookNode]):
             A fixture that creates a notebook node.
 
@@ -160,7 +185,7 @@ def rich_output(
         RichOutput: The output generating function.
     """
 
-    def _rich_output(
+    def _rich_notebook_output(
         cell: Union[Dict[str, Any], None],
         plain: Optional[bool] = None,
         no_wrap: Optional[bool] = None,
@@ -191,41 +216,27 @@ def _rich_output(
             color=color,
             negative_space=negative_space,
         )
-        rich_console.print(rendered_notebook, no_wrap=no_wrap)
-        output: str = rich_console.file.getvalue()  # type: ignore[attr-defined]
+        output = rich_console(rendered_notebook, no_wrap)
         return output
 
-    return _rich_output
+    return _rich_notebook_output
 
 
 @pytest.fixture
-def get_tempfile_path() -> Callable[[str], Path]:
-    """Fixture for function that returns the tempfile path."""
-
-    def _get_tempfile_path(suffix: str) -> Path:
-        """Return tempfile path.
-
-        Args:
-            suffix (str): The suffix of the file.
-
-        Returns:
-            Path: The tempfile path.
-        """
-        prefix = tempfile.template
-        file_path = pathlib.Path(tempfile.gettempdir()) / pathlib.Path(
-            f"{prefix}nbpreview_link_file"
-        ).with_suffix(suffix)
-        return file_path
-
-    return _get_tempfile_path
+def tempfile_path() -> Path:
+    """Fixture that returns the tempfile path."""
+    prefix = tempfile.template
+    file_path = pathlib.Path(tempfile.gettempdir()) / pathlib.Path(
+        f"{prefix}nbpreview_link_file"
+    )
+    return file_path
 
 
 @pytest.fixture
 def mock_tempfile_file(
-    mocker: MockerFixture, get_tempfile_path: Callable[[str], Path]
+    mocker: MockerFixture, tempfile_path: Path
 ) -> Generator[Mock, None, None]:
     """Control where tempfile will write to."""
-    tempfile_path = get_tempfile_path("")
     tempfile_stem = tempfile_path.stem
     tempfile_base_name = tempfile_stem[3:]
     tempfile_parent = tempfile_path.parent
@@ -282,7 +293,7 @@ def test_automatic_plain(
     )
 
 
-def test_notebook_markdown_cell(rich_output: RichOutput) -> None:
+def test_notebook_markdown_cell(rich_notebook_output: RichOutput) -> None:
     """It renders a markdown cell."""
     markdown_cell = {
         "cell_type": "markdown",
@@ -290,23 +301,331 @@ def test_notebook_markdown_cell(rich_output: RichOutput) -> None:
         "metadata": {},
         "source": "### Lorep ipsum\n\n**dolor** _sit_ `amet`",
     }
-    output = rich_output(markdown_cell)
+    output = rich_notebook_output(markdown_cell)
     expected_output = (
-        "                              "
-        "     \x1b[1mLorep ipsum\x1b[0m      "
-        "                            \n "
-        "                              "
-        "                              "
-        "                   \n  \x1b[1mdolo"
-        "r\x1b[0m \x1b[3msit\x1b[0m \x1b[97;40mamet"
-        "\x1b[0m                          "
-        "                              "
-        "        \n"
+        "                                        "
+        "                                        "
+        "\n  \x1b[1;38;2;3;218;197m### \x1b[0m\x1b[1;38;2;3"
+        ";218;197mLorep ipsum\x1b[0m\x1b[1;38;2;3;218;1"
+        "97m                                     "
+        "                          \x1b[0m\n         "
+        "                                        "
+        "                               \n  \x1b[1mdo"
+        "lor\x1b[0m \x1b[3msit\x1b[0m \x1b[97;40mamet\x1b[0m    "
+        "                                        "
+        "                    \n"
+    )
+    assert output == expected_output
+
+
+def test_image_link_markdown_cell_request_error(
+    rich_notebook_output: RichOutput,
+    mocker: MockerFixture,
+    remove_link_ids: Callable[[str], str],
+) -> None:
+    """It falls back to rendering a message if RequestError occurs."""
+    mock = mocker.patch("httpx.get", side_effect=httpx.RequestError("Mock"))
+    mock.return_value.content = (
+        pathlib.Path(__file__).parent
+        / pathlib.Path("assets", "outline_article_white_48dp.png")
+    ).read_bytes()
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": "![Azores](https://github.com/paw-lu/nbpreview/tests/"
+        "assets/outline_article_white_48dp.png)",
+    }
+    output = rich_notebook_output(markdown_cell, image_drawing="braille")
+    expected_output = (
+        "  \x1b]8;id=724062;https://github.com/paw-l"
+        "u/nbpreview/tests/assets/outline_article_white_48dp.png"
+        "\x1b\\\x1b[94m🌐 Click "
+        "to view Azores\x1b[0m\x1b]8;;\x1b\\               "
+        "                                        "
+        "\n                                       "
+        "                                        "
+        " \n"
+    )
+    assert remove_link_ids(output) == remove_link_ids(expected_output)
+
+
+def test_image_link_markdown_cell(
+    rich_notebook_output: RichOutput,
+    mocker: MockerFixture,
+    remove_link_ids: Callable[[str], str],
+    expected_output: str,
+) -> None:
+    """It renders a markdown cell with an image."""
+    mock = mocker.patch("httpx.get")
+    mock.return_value.content = (
+        pathlib.Path(__file__).parent
+        / pathlib.Path("assets", "outline_article_white_48dp.png")
+    ).read_bytes()
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": "![Azores](https://github.com/paw-lu/nbpreview/tests"
+        "/assets/outline_article_white_48dp.png)",
+    }
+    output = rich_notebook_output(markdown_cell, image_drawing="braille")
+    assert remove_link_ids(output) == remove_link_ids(expected_output)
+
+
+def test_image_markdown_cell(
+    rich_notebook_output: RichOutput,
+    mock_tempfile_file: Generator[Mock, None, None],
+    remove_link_ids: Callable[[str], str],
+    tempfile_path: Path,
+    expected_output: str,
+) -> None:
+    """It renders a markdown cell with an image."""
+    image_path = os.fsdecode(
+        pathlib.Path(__file__).parent
+        / pathlib.Path("assets", "outline_article_white_48dp.png")
+    )
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": f"![Azores]({image_path})",
+    }
+    output = rich_notebook_output(markdown_cell, image_drawing="braille")
+    assert remove_link_ids(output) == remove_link_ids(expected_output)
+
+
+def test_code_markdown_cell(rich_notebook_output: RichOutput) -> None:
+    """It renders a markdown cell with code."""
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": "```python\nfor i in range(20):\n    print(i)\n```",
+    }
+    output = rich_notebook_output(markdown_cell)
+    expected_output = (
+        "  \x1b[38;2;248;248;242;49m    \x1b[0m\x1b[38;2;1"
+        "02;217;239;49mfor\x1b[0m\x1b[38;2;248;248;242;"
+        "49m \x1b[0m\x1b[38;2;248;248;242;49mi\x1b[0m\x1b[38;"
+        "2;248;248;242;49m \x1b[0m\x1b[38;2;249;38;114;"
+        "49min\x1b[0m\x1b[38;2;248;248;242;49m \x1b[0m\x1b[38"
+        ";2;248;248;242;49mrange\x1b[0m\x1b[38;2;248;24"
+        "8;242;49m(\x1b[0m\x1b[38;2;174;129;255;49m20\x1b["
+        "0m\x1b[38;2;248;248;242;49m)\x1b[0m\x1b[38;2;248;"
+        "248;242;49m:\x1b[0m                        "
+        "                               \n  \x1b[38;2"
+        ";248;248;242;49m        \x1b[0m\x1b[38;2;248;2"
+        "48;242;49mprint\x1b[0m\x1b[38;2;248;248;242;49"
+        "m(\x1b[0m\x1b[38;2;248;248;242;49mi\x1b[0m\x1b[38;2;"
+        "248;248;242;49m)\x1b[0m                    "
+        "                                        "
+        "  \n"
+    )
+    assert output == expected_output
+
+
+def test_heading_markdown_cell(rich_notebook_output: RichOutput) -> None:
+    """It renders a markdown cell with headings."""
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": "# Heading 1\n## Heading 2\n### Heading 3\n#### Heading 4\n",
+    }
+    output = rich_notebook_output(markdown_cell)
+    expected_output = (
+        "  \x1b[1;38;2;255;255;255;48;2;96;2;238m \x1b["
+        "0m\x1b[1;38;2;255;255;255;48;2;96;2;238mHea"
+        "ding 1\x1b[0m\x1b[1;38;2;255;255;255;48;2;96;2"
+        ";238m \x1b[0m\x1b[1;38;2;255;255;255;48;2;96;2"
+        ";238m                                   "
+        "                                \x1b[0m\n  \x1b"
+        "[2;38;2;96;2;238m───────────────────────"
+        "────────────────────────────────────────"
+        "───────────────\x1b[0m\n                    "
+        "                                        "
+        "                    \n                   "
+        "                                        "
+        "                     \n  \x1b[1;38;2;3;218;1"
+        "97m## \x1b[0m\x1b[1;38;2;3;218;197mHeading 2\x1b["
+        "0m\x1b[1;38;2;3;218;197m                   "
+        "                                        "
+        "       \x1b[0m\n  \x1b[2;38;2;3;218;197m───────"
+        "────────────────────────────────────────"
+        "───────────────────────────────\x1b[0m\n    "
+        "                                        "
+        "                                    \n   "
+        "                                        "
+        "                                     \n  "
+        "\x1b[1;38;2;3;218;197m### \x1b[0m\x1b[1;38;2;3;21"
+        "8;197mHeading 3\x1b[0m\x1b[1;38;2;3;218;197m  "
+        "                                        "
+        "                       \x1b[0m\n            "
+        "                                        "
+        "                            \n  \x1b[1;38;2;"
+        "3;218;197m#### \x1b[0m\x1b[1;38;2;3;218;197mHe"
+        "ading 4\x1b[0m\x1b[1;38;2;3;218;197m          "
+        "                                        "
+        "              \x1b[0m\n"
     )
     assert output == expected_output
 
 
-def test_notebook_code_cell(rich_output: RichOutput) -> None:
+def test_wide_heading_markdown_cell(rich_notebook_output: RichOutput) -> None:
+    """It reduced the padding if the heading is long."""
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": "# " + "A" * 80,
+    }
+    output = rich_notebook_output(markdown_cell)
+    expected_output = (
+        "  \x1b[1;38;2;255;255;255;48;2;96;2;238mAAA"
+        "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+        "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA…\x1b[0m\n"
+        "  \x1b[2;38;2;96;2;238m────────────────────"
+        "────────────────────────────────────────"
+        "──────────────────\x1b[0m\n"
+    )
+    assert output == expected_output
+
+
+def test_ruler_markdown_cell(rich_notebook_output: RichOutput) -> None:
+    """It renders a markdown cell with a ruler."""
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": "Section 1\n\n---\n\nsection 2\n",
+    }
+    output = rich_notebook_output(markdown_cell)
+    expected_output = (
+        "  Section 1                             "
+        "                                        "
+        "\n                                       "
+        "                                        "
+        " \n  ────────────────────────────────────"
+        "────────────────────────────────────────"
+        "──\n  section 2                          "
+        "                                        "
+        "   \n"
+    )
+    assert output == expected_output
+
+
+def test_bullet_markdown_cell(rich_notebook_output: RichOutput) -> None:
+    """It renders a markdown cell with bullets."""
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": "- Item 1\n- Item 2\n  - Item 3\n",
+    }
+    output = rich_notebook_output(markdown_cell)
+    expected_output = (
+        "                                        "
+        "                                        "
+        "\n   • Item 1                            "
+        "                                        "
+        " \n   • Item 2                           "
+        "                                        "
+        "  \n      • Item 3                       "
+        "                                        "
+        "   \n"
+    )
+    assert output == expected_output
+
+
+def test_number_markdown_cell(rich_notebook_output: RichOutput) -> None:
+    """It renders a markdown cell with numbers."""
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": "1. Item 1\n2. Item 2\n3. Item 3\n",
+    }
+    output = rich_notebook_output(markdown_cell)
+    expected_output = (
+        "                                        "
+        "                                        "
+        "\n  1. Item 1                            "
+        "                                        "
+        " \n  2. Item 2                           "
+        "                                        "
+        "  \n  3. Item 3                          "
+        "                                        "
+        "   \n"
+    )
+    assert output == expected_output
+
+
+def test_image_file_link_not_image_markdown_cell(
+    rich_notebook_output: RichOutput,
+) -> None:
+    """It does not render an image link when file is not an image."""
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": "![This is a weird file extension]"
+        f"({pathlib.Path(__file__).parent / pathlib.Path('assets', 'bad_image.xyz')})",
+    }
+    output = rich_notebook_output(markdown_cell)
+    expected_output = (
+        "  🖼 This is a weird file extension      "
+        "                                        "
+        "\n                                       "
+        "                                        "
+        " \n"
+    )
+    assert output == expected_output
+
+
+def test_image_file_link_bad_extension_markdown_cell(
+    rich_notebook_output: RichOutput,
+) -> None:
+    """It does not render an image link when extension is unknown."""
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": f"![This isn't even a image]({__file__})",
+    }
+    output = rich_notebook_output(markdown_cell)
+    expected_output = (
+        "  🖼 This isn't even a image             "
+        "                                        "
+        "\n                                       "
+        "                                        "
+        " \n"
+    )
+    assert output == expected_output
+
+
+def test_image_file_link_not_exist_markdown_cell(
+    rich_notebook_output: RichOutput,
+) -> None:
+    """It does not render an image link when the file does not exist."""
+    markdown_cell = {
+        "cell_type": "markdown",
+        "id": "academic-bride",
+        "metadata": {},
+        "source": "![This image does not exist](i_do_not_exists.xyz)",
+    }
+    output = rich_notebook_output(markdown_cell)
+    expected_output = (
+        "  🖼 This image does not exist           "
+        "                                        "
+        "\n                                       "
+        "                                        "
+        " \n"
+    )
+    assert output == expected_output
+
+
+def test_notebook_code_cell(rich_notebook_output: RichOutput) -> None:
     """It renders a code cell."""
     code_cell = {
         "cell_type": "code",
@@ -316,7 +635,7 @@ def test_notebook_code_cell(rich_output: RichOutput) -> None:
         "outputs": [],
         "source": "def foo(x: float, y: float) -> float:\n    return x + y",
     }
-    output = rich_output(code_cell)
+    output = rich_notebook_output(code_cell)
     expected_output = (
         "     ╭────────────────────────"
         "──────────────────────────────"
@@ -343,7 +662,7 @@ def test_notebook_code_cell(rich_output: RichOutput) -> None:
     assert output == expected_output
 
 
-def test_notebook_magic_code_cell(rich_output: RichOutput) -> None:
+def test_notebook_magic_code_cell(rich_notebook_output: RichOutput) -> None:
     """It renders a code cell in a language specified by cell magic."""
     code_cell = {
         "cell_type": "code",
@@ -361,11 +680,11 @@ def test_notebook_magic_code_cell(rich_output: RichOutput) -> None:
         "m'lorep'\x1b[0m │\n     │         "
         "     │\n     ╰──────────────╯\n"
     )
-    output = rich_output(code_cell)
+    output = rich_notebook_output(code_cell)
     assert output == expected_output
 
 
-def test_notebook_raw_cell(rich_output: RichOutput) -> None:
+def test_notebook_raw_cell(rich_notebook_output: RichOutput) -> None:
     """It renders a raw cell as plain text."""
     code_cell = {
         "cell_type": "raw",
@@ -375,11 +694,11 @@ def test_notebook_raw_cell(rich_output: RichOutput) -> None:
     }
     expected_output = " ╭─────────────╮\n │ Lorep ipsum │\n ╰─────────────╯\n"
 
-    output = rich_output(code_cell)
+    output = rich_notebook_output(code_cell)
     assert output == expected_output
 
 
-def test_notebook_non_syntax_magic_code_cell(rich_output: RichOutput) -> None:
+def test_notebook_non_syntax_magic_code_cell(rich_notebook_output: RichOutput) -> None:
     """It uses the default highlighting when magic is not a syntax."""
     code_cell = {
         "cell_type": "code",
@@ -415,11 +734,11 @@ def test_notebook_non_syntax_magic_code_cell(rich_output: RichOutput) -> None:
         "──────────────────────────────"
         "─────────────────────────╯\n"
     )
-    output = rich_output(code_cell)
+    output = rich_notebook_output(code_cell)
     assert output == expected_output
 
 
-def test_notebook_plain_code_cell(rich_output: RichOutput) -> None:
+def test_notebook_plain_code_cell(rich_notebook_output: RichOutput) -> None:
     """It renders a code cell with plain formatting."""
     code_cell = {
         "cell_type": "code",
@@ -429,7 +748,7 @@ def test_notebook_plain_code_cell(rich_output: RichOutput) -> None:
         "outputs": [],
         "source": "def foo(x: float, y: float) -> float:\n    return x + y",
     }
-    output = rich_output(code_cell, plain=True)
+    output = rich_notebook_output(code_cell, plain=True)
     expected_output = (
         "\x1b[94;49mdef\x1b[0m\x1b[49m \x1b[0m\x1b[92;"
         "49mfoo\x1b[0m\x1b[49m(\x1b[0m\x1b[49mx\x1b[0m"
@@ -451,10 +770,10 @@ def test_notebook_plain_code_cell(rich_output: RichOutput) -> None:
 
 
 def test_render_dataframe(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
 ) -> None:
     """It renders a DataFrame."""
     code_cell = {
@@ -518,7 +837,6 @@ def test_render_dataframe(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -530,7 +848,7 @@ def test_render_dataframe(
         "                                        "
         "                  \n\x1b[38;5;247m[2]:\x1b[0m  "
         "\x1b]8;id=1627258210.84976-39532;"
-        f"file://{tempfile_path}2.html\x1b\\\x1b[94"
+        f"file://{tempfile_path}0.html\x1b\\\x1b[94"
         "m🌐 Click to view HTML\x1b[0m\x1b]8;;\x1b\\        "
         "                                        "
         "     \n                                  "
@@ -558,15 +876,15 @@ def test_render_dataframe(
         "   one\x1b[0m   \x1b[1m    1\x1b[0m    3         "
         "       4    -1                       \n"
     )
-    output = rich_output(code_cell)
+    output = rich_notebook_output(code_cell)
     assert remove_link_ids(output) == remove_link_ids(expected_output)
 
 
 def test_render_plain_dataframe(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
 ) -> None:
     """It renders a DataFrame in a plain style."""
     code_cell = {
@@ -630,14 +948,13 @@ def test_render_plain_dataframe(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
     expected_output = (
         "                                        "
         "                                        "
         "\n                                       "
         "                                        "
         " \n\x1b]8;id=1627258290.675266-113809;file:/"
-        f"/{tempfile_path}1.html\x1b\\"
+        f"/{tempfile_path}0.html\x1b\\"
         "\x1b[94m🌐 Click to view HTML\x1b[0m\x1b]8;;\x1b\\    "
         "                                        "
         "               \n                        "
@@ -658,11 +975,11 @@ def test_render_plain_dataframe(
         "    3              4  -1                "
         "                       \n"
     )
-    output = rich_output(code_cell, plain=True)
+    output = rich_notebook_output(code_cell, plain=True)
     assert remove_link_ids(output) == remove_link_ids(expected_output)
 
 
-def test_render_stderr_stream(rich_output: RichOutput) -> None:
+def test_render_stderr_stream(rich_notebook_output: RichOutput) -> None:
     """It renders the stderr stream."""
     stderr_cell = {
         "cell_type": "code",
@@ -698,11 +1015,11 @@ def test_render_stderr_stream(rich_output: RichOutput) -> None:
         "                                        "
         "         \x1b[0m\n"
     )
-    output = rich_output(stderr_cell)
+    output = rich_notebook_output(stderr_cell)
     assert output == expected_output
 
 
-def test_render_stream_stdout(rich_output: RichOutput) -> None:
+def test_render_stream_stdout(rich_notebook_output: RichOutput) -> None:
     """It renders stdout."""
     stdout_cell = {
         "cell_type": "code",
@@ -727,11 +1044,11 @@ def test_render_stream_stdout(rich_output: RichOutput) -> None:
         "                                        "
         "                    \n"
     )
-    output = rich_output(stdout_cell)
+    output = rich_notebook_output(stdout_cell)
     assert output == expected_output
 
 
-def test_render_error_traceback(rich_output: RichOutput) -> None:
+def test_render_error_traceback(rich_notebook_output: RichOutput) -> None:
     """It renders the traceback from an error."""
     traceback_cell = {
         "cell_type": "code",
@@ -787,11 +1104,11 @@ def test_render_error_traceback(rich_output: RichOutput) -> None:
         "vision by zero                          "
         "             \n"
     )
-    output = rich_output(traceback_cell)
+    output = rich_notebook_output(traceback_cell)
     assert output == expected_output
 
 
-def test_render_error_traceback_no_hang(rich_output: RichOutput) -> None:
+def test_render_error_traceback_no_hang(rich_notebook_output: RichOutput) -> None:
     """It renders the traceback from an error without hanging."""
     traceback_cell = {
         "cell_type": "code",
@@ -1068,11 +1385,11 @@ def test_render_error_traceback_no_hang(rich_output: RichOutput) -> None:
         ": Command 'b'ech\\n'' returned non-zero e"
         "xit status 127. \n"
     )
-    output = rich_output(traceback_cell)
+    output = rich_notebook_output(traceback_cell)
     assert output == expected_output
 
 
-def test_render_result(rich_output: RichOutput) -> None:
+def test_render_result(rich_notebook_output: RichOutput) -> None:
     """It renders a result."""
     output_cell = {
         "cell_type": "code",
@@ -1102,11 +1419,11 @@ def test_render_result(rich_output: RichOutput) -> None:
         "3                                       "
         "                                  \n"
     )
-    output = rich_output(output_cell)
+    output = rich_notebook_output(output_cell)
     assert output == expected_output
 
 
-def test_render_unknown_data_format(rich_output: RichOutput) -> None:
+def test_render_unknown_data_format(rich_notebook_output: RichOutput) -> None:
     """It passes on rendering an unknown data format."""
     output_cell = {
         "cell_type": "code",
@@ -1132,11 +1449,11 @@ def test_render_unknown_data_format(rich_output: RichOutput) -> None:
         "────────────────────────────────────────"
         "────────────────╯\n"
     )
-    output = rich_output(output_cell)
+    output = rich_notebook_output(output_cell)
     assert output == expected_output
 
 
-def test_render_error_no_traceback(rich_output: RichOutput) -> None:
+def test_render_error_no_traceback(rich_notebook_output: RichOutput) -> None:
     """It skips rendering an error with no traceback."""
     traceback_cell = {
         "cell_type": "code",
@@ -1166,11 +1483,11 @@ def test_render_error_no_traceback(rich_output: RichOutput) -> None:
         "                                        "
         "                   \n"
     )
-    output = rich_output(traceback_cell)
+    output = rich_notebook_output(traceback_cell)
     assert output == expected_output
 
 
-def test_render_markdown_output(rich_output: RichOutput) -> None:
+def test_render_markdown_output(rich_notebook_output: RichOutput) -> None:
     """It renders a markdown output."""
     markdown_output_cell = {
         "cell_type": "code",
@@ -1208,11 +1525,11 @@ def test_render_markdown_output(rich_output: RichOutput) -> None:
         "                                        "
         "     \n"
     )
-    output = rich_output(markdown_output_cell)
+    output = rich_notebook_output(markdown_output_cell)
     assert output == expected_output
 
 
-def test_render_unknown_display_data(rich_output: RichOutput) -> None:
+def test_render_unknown_display_data(rich_notebook_output: RichOutput) -> None:
     """It skips rendering an unknown data display type."""
     unknown_display_data_cell = {
         "cell_type": "code",
@@ -1239,11 +1556,11 @@ def test_render_unknown_display_data(rich_output: RichOutput) -> None:
         "────────────────────────────────────────"
         "────────────────╯\n"
     )
-    output = rich_output(unknown_display_data_cell)
+    output = rich_notebook_output(unknown_display_data_cell)
     assert output == expected_output
 
 
-def test_render_json_output(rich_output: RichOutput) -> None:
+def test_render_json_output(rich_notebook_output: RichOutput) -> None:
     """It renders a JSON output."""
     json_output_cell = {
         "cell_type": "code",
@@ -1282,11 +1599,11 @@ def test_render_json_output(rich_output: RichOutput) -> None:
         "4;49m2\x1b[0m\x1b[49m}\x1b[0m                    "
         "             \n"
     )
-    output = rich_output(json_output_cell)
+    output = rich_notebook_output(json_output_cell)
     assert output == expected_output
 
 
-def test_render_latex_output(rich_output: RichOutput) -> None:
+def test_render_latex_output(rich_notebook_output: RichOutput) -> None:
     """It renders LaTeX output."""
     latex_output_cell = {
         "cell_type": "code",
@@ -1337,11 +1654,11 @@ def test_render_latex_output(rich_output: RichOutput) -> None:
         "                                        "
         "                           \n"
     )
-    output = rich_output(latex_output_cell)
+    output = rich_notebook_output(latex_output_cell)
     assert expected_output == output
 
 
-def test_render_latex_output_no_unicode(rich_output: RichOutput) -> None:
+def test_render_latex_output_no_unicode(rich_notebook_output: RichOutput) -> None:
     """It does not render LaTeX output if unicode is False."""
     latex_output_cell = {
         "cell_type": "code",
@@ -1376,11 +1693,11 @@ def test_render_latex_output_no_unicode(rich_output: RichOutput) -> None:
         "display.Latex object>                   "
         "                   \n"
     )
-    output = rich_output(latex_output_cell, unicode=False)
+    output = rich_notebook_output(latex_output_cell, unicode=False)
     assert expected_output == output
 
 
-def test_render_text_display_data(rich_output: RichOutput) -> None:
+def test_render_text_display_data(rich_notebook_output: RichOutput) -> None:
     """It renders text display data."""
     text_display_data_cell = {
         "cell_type": "code",
@@ -1411,11 +1728,11 @@ def test_render_text_display_data(rich_output: RichOutput) -> None:
         "                                        "
         "                   \n"
     )
-    output = rich_output(text_display_data_cell)
+    output = rich_notebook_output(text_display_data_cell)
     assert output == expected_output
 
 
-def test_pdf_emoji_output(rich_output: RichOutput) -> None:
+def test_pdf_emoji_output(rich_notebook_output: RichOutput) -> None:
     """It renders an emoji for PDF output."""
     pdf_output_cell = {
         "cell_type": "code",
@@ -1446,11 +1763,11 @@ def test_pdf_emoji_output(rich_output: RichOutput) -> None:
         "                                        "
         "                  \n"
     )
-    output = rich_output(pdf_output_cell, unicode=True)
+    output = rich_notebook_output(pdf_output_cell, unicode=True)
     assert output == expected_output
 
 
-def test_pdf_nerd_output(rich_output: RichOutput) -> None:
+def test_pdf_nerd_output(rich_notebook_output: RichOutput) -> None:
     """It renders a nerd font icon for PDF output."""
     pdf_output_cell = {
         "cell_type": "code",
@@ -1481,11 +1798,11 @@ def test_pdf_nerd_output(rich_output: RichOutput) -> None:
         "                                        "
         "                   \n"
     )
-    output = rich_output(pdf_output_cell, nerd_font=True)
+    output = rich_notebook_output(pdf_output_cell, nerd_font=True)
     assert output == expected_output
 
 
-def test_pdf_no_unicode_no_nerd(rich_output: RichOutput) -> None:
+def test_pdf_no_unicode_no_nerd(rich_notebook_output: RichOutput) -> None:
     """It does not render a PDF icon if no nerd font or unicode."""
     pdf_output_cell = {
         "cell_type": "code",
@@ -1512,15 +1829,15 @@ def test_pdf_no_unicode_no_nerd(rich_output: RichOutput) -> None:
         "────────────────────────────────────────"
         "────────────────╯\n"
     )
-    output = rich_output(pdf_output_cell, nerd_font=False, unicode=False)
+    output = rich_notebook_output(pdf_output_cell, nerd_font=False, unicode=False)
     assert output == expected_output
 
 
 def test_vega_output(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
 ) -> None:
     """It renders a hyperlink to a rendered Vega plot."""
     vega_output_cell = {
@@ -1631,7 +1948,6 @@ def test_vega_output(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -1642,12 +1958,12 @@ def test_vega_output(
         "────────────────╯\n                      "
         "                                        "
         "                  \n      \x1b]8;id=16281369"
-        f"58.012196-350876;file://{tempfile_path}2.html\x1b\\\x1b[94m\uf080"
+        f"58.012196-350876;file://{tempfile_path}0.html\x1b\\\x1b[94m\uf080"
         " Click to v"
         "iew Vega chart\x1b[0m\x1b]8;;\x1b\\               "
         "                                 \n"
     )
-    output = rich_output(
+    output = rich_notebook_output(
         vega_output_cell,
         nerd_font=True,
         files=True,
@@ -1658,10 +1974,10 @@ def test_vega_output(
 
 
 def test_vegalite_output(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
     adjust_for_fallback: Callable[[str, int], str],
 ) -> None:
     """It renders a hyperlink to a rendered Vega plot."""
@@ -1702,7 +2018,7 @@ def test_vegalite_output(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
+
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -1713,13 +2029,13 @@ def test_vegalite_output(
         "────────────────╯\n                      "
         "                                        "
         "                  \n      \x1b]8;id=304082;f"
-        f"ile://{tempfile_path}2.h"
+        f"ile://{tempfile_path}0.h"
         "tml\x1b\\\x1b[94m\uf080 Click to view Vega chart\x1b[0m"
         "\x1b]8;;\x1b\\                                 "
         "               \n"
     )
     adjusted_expected_output = adjust_for_fallback(expected_output, 1)
-    output = rich_output(
+    output = rich_notebook_output(
         vegalite_output_cell,
         nerd_font=True,
         files=True,
@@ -1730,10 +2046,10 @@ def test_vegalite_output(
 
 
 def test_vegalite_output_no_hints(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
     adjust_for_fallback: Callable[[str, int], str],
 ) -> None:
     """It renders a hyperlink to a Vega plot without hints."""
@@ -1774,7 +2090,7 @@ def test_vegalite_output_no_hints(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
+
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -1785,13 +2101,13 @@ def test_vegalite_output_no_hints(
         "────────────────╯\n                      "
         "                                        "
         "                  \n      \x1b]8;id=90200;fi"
-        f"le://{tempfile_path}2.ht"
+        f"le://{tempfile_path}0.ht"
         "ml\x1b\\\x1b[94m\uf080 \x1b[0m\x1b]8;;\x1b\\                  "
         "                                        "
         "              \n"
     )
     adjusted_expected_output = adjust_for_fallback(expected_output, 1)
-    output = rich_output(
+    output = rich_notebook_output(
         vegalite_output_cell,
         nerd_font=True,
         files=True,
@@ -1802,10 +2118,10 @@ def test_vegalite_output_no_hints(
 
 
 def test_vegalite_output_no_nerd_font(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
     adjust_for_fallback: Callable[[str, int], str],
 ) -> None:
     """It renders a hyperlink to a Vega plot without nerd fonts."""
@@ -1846,7 +2162,7 @@ def test_vegalite_output_no_nerd_font(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
+
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -1857,13 +2173,13 @@ def test_vegalite_output_no_nerd_font(
         "────────────────╯\n                      "
         "                                        "
         "                  \n      \x1b]8;id=2129;fil"
-        f"e://{tempfile_path}2.htm"
+        f"e://{tempfile_path}0.htm"
         "l\x1b\\\x1b[94m📊 Click to view Vega chart\x1b[0m\x1b]"
         "8;;\x1b\\                                   "
         "            \n"
     )
     adjusted_expected_output = adjust_for_fallback(expected_output, 1)
-    output = rich_output(
+    output = rich_notebook_output(
         vegalite_output_cell,
         nerd_font=False,
         files=True,
@@ -1874,10 +2190,10 @@ def test_vegalite_output_no_nerd_font(
 
 
 def test_vegalite_output_no_nerd_font_no_unicode(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
 ) -> None:
     """It renders a hyperlink to plot without nerd fonts or unicode."""
     vegalite_output_cell = {
@@ -1917,7 +2233,7 @@ def test_vegalite_output_no_nerd_font_no_unicode(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
+
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -1928,11 +2244,11 @@ def test_vegalite_output_no_nerd_font_no_unicode(
         "────────────────╯\n                      "
         "                                        "
         "                  \n      \x1b]8;id=16281372"
-        f"55.127551-234092;file://{tempfile_path}2.html\x1b\\\x1b[94mClick to vie"
+        f"55.127551-234092;file://{tempfile_path}0.html\x1b\\\x1b[94mClick to vie"
         "w Vega chart\x1b[0m\x1b]8;;\x1b\\                 "
         "                                 \n"
     )
-    output = rich_output(
+    output = rich_notebook_output(
         vegalite_output_cell,
         nerd_font=False,
         files=True,
@@ -1944,10 +2260,10 @@ def test_vegalite_output_no_nerd_font_no_unicode(
 
 
 def test_vegalite_output_no_files(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
     adjust_for_fallback: Callable[[str, int], str],
 ) -> None:
     """It renders a message representing a Vega plot."""
@@ -1981,7 +2297,7 @@ def test_vegalite_output_no_files(
         "                  \n"
     )
     adjusted_expected_output = adjust_for_fallback(expected_output, 1)
-    output = rich_output(
+    output = rich_notebook_output(
         vegalite_output_cell,
         nerd_font=False,
         files=False,
@@ -1989,7 +2305,7 @@ def test_vegalite_output_no_files(
         hide_hyperlink_hints=False,
         unicode=True,
     )
-    tempfile_path = get_tempfile_path("")
+
     tempfile_directory = tempfile_path.parent
     for file in tempfile_directory.glob(f"{tempfile_path.stem}*.html"):
         assert not file.exists()
@@ -1997,7 +2313,7 @@ def test_vegalite_output_no_files(
 
 
 def test_write_vega_output(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     parse_link_filepath: Callable[[str], Path],
 ) -> None:
@@ -2064,7 +2380,7 @@ def test_write_vega_output(
         "    </vegachart>\n</body>\n<html></html>\n<"
         "/html>"
     )
-    output = rich_output(
+    output = rich_notebook_output(
         vegalite_output_cell,
         nerd_font=False,
         files=True,
@@ -2078,10 +2394,10 @@ def test_write_vega_output(
 
 
 def test_vega_no_icon_no_message(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
 ) -> None:
     """It renders subject text when no icons or messages are used."""
     vegalite_output_cell = {
@@ -2121,7 +2437,7 @@ def test_vega_no_icon_no_message(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
+
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -2132,12 +2448,12 @@ def test_vega_no_icon_no_message(
         "────────────────╯\n                      "
         "                                        "
         "                  \n      \x1b]8;id=16281373"
-        f"35.10625-550844;file://{tempfile_path}2.html\x1b\\\x1b[94mVega"
+        f"35.10625-550844;file://{tempfile_path}0.html\x1b\\\x1b[94mVega"
         " chart\x1b[0"
         "m\x1b]8;;\x1b\\                                "
         "                                \n"
     )
-    output = rich_output(
+    output = rich_notebook_output(
         vegalite_output_cell,
         nerd_font=False,
         files=True,
@@ -2149,9 +2465,9 @@ def test_vega_no_icon_no_message(
 
 
 def test_vega_no_hyperlink(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
     adjust_for_fallback: Callable[[str, int], str],
 ) -> None:
     """It renders the file path when no hyperlinks are allowed."""
@@ -2192,15 +2508,21 @@ def test_vega_no_hyperlink(
         ],
         "source": "",
     }
-    tempfile_path = f"📊 {get_tempfile_path('')}2.html"
+    tempfile_text = f"📊 file://{tempfile_path}0.html"
     line_width = 80 - 6
-    wrapped_file_path = "\n".join(
-        [f"{'':>6}{tempfile_path[:line_width - 1]:<73}"]
-        + [
-            f"{'':>6}{tempfile_path[i: i + line_width]:<74}"
-            for i in range(line_width - 1, len(tempfile_path), line_width)
-        ]
-    )
+    if line_width - 1 < len(tempfile_text) < line_width + 2:
+        first_line, second_line = tempfile_text.split(maxsplit=1)
+        wrapped_file_path = "\n".join(
+            (f"{'':>6}{first_line:<73}", f"{'':>6}{second_line:<74}")
+        )
+    else:
+        wrapped_file_path = "\n".join(
+            [f"{'':>6}{tempfile_text[:line_width - 1]:<73}"]
+            + [
+                f"{'':>6}{tempfile_text[i: i + line_width]:<74}"
+                for i in range(line_width - 1, len(tempfile_text), line_width)
+            ]
+        )
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -2214,7 +2536,7 @@ def test_vega_no_hyperlink(
         f"{'':<80}\n"
     )
     adjusted_expected_output = adjust_for_fallback(expected_output, 0)
-    output = rich_output(
+    output = rich_notebook_output(
         vegalite_output_cell,
         nerd_font=False,
         files=True,
@@ -2226,7 +2548,7 @@ def test_vega_no_hyperlink(
 
 
 def test_vega_url(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     mocker: MockerFixture,
     parse_link_filepath: Callable[[str], Path],
@@ -2299,7 +2621,7 @@ def test_vega_url(
         ' "type": "quantitative"}}}\n    </vegacha'
         "rt>\n</body>\n<html></html>\n</html>"
     )
-    output = rich_output(
+    output = rich_notebook_output(
         vegalite_output_cell,
         nerd_font=False,
         files=True,
@@ -2317,10 +2639,10 @@ def test_vega_url(
 
 
 def test_vega_url_request_error(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mocker: MockerFixture,
 ) -> None:
-    """It fallsback to rendering a message if there is a RequestError."""
+    """It falls back to rendering a message if there is a RequestError."""
     mocker.patch("httpx.get", side_effect=httpx.RequestError("Mock"))
     vegalite_output_cell = {
         "cell_type": "code",
@@ -2352,7 +2674,7 @@ def test_vega_url_request_error(
         "                                        "
         "                   \n"
     )
-    output = rich_output(
+    output = rich_notebook_output(
         vegalite_output_cell,
         nerd_font=False,
         files=True,
@@ -2364,10 +2686,10 @@ def test_vega_url_request_error(
 
 
 def test_render_html(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
 ) -> None:
     """It renders HTML output."""
     html_cell = {
@@ -2390,7 +2712,7 @@ def test_render_html(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
+
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -2401,7 +2723,7 @@ def test_render_html(
         "────────────────╯\n                      "
         "                                        "
         "                  \n      \x1b]8;id=16281375"
-        f"06.111208-917276;file://{tempfile_path}2.html\x1b\\\x1b[94m🌐 Click to v"
+        f"06.111208-917276;file://{tempfile_path}0.html\x1b\\\x1b[94m🌐 Click to v"
         "iew HTML\x1b[0m\x1b]8;;\x1b\\                     "
         "                                \n       "
         "                                        "
@@ -2410,11 +2732,11 @@ def test_render_html(
         "                                        "
         "          \n"
     )
-    output = rich_output(html_cell)
+    output = rich_notebook_output(html_cell)
     assert remove_link_ids(output) == remove_link_ids(expected_output)
 
 
-def test_render_unknown_data_type(rich_output: RichOutput) -> None:
+def test_render_unknown_data_type(rich_notebook_output: RichOutput) -> None:
     """It skips rendering an unknown output type."""
     unknown_data_type = {
         "cell_type": "code",
@@ -2431,7 +2753,7 @@ def test_render_unknown_data_type(rich_output: RichOutput) -> None:
         ],
         "source": "",
     }
-    output = rich_output(unknown_data_type)
+    output = rich_notebook_output(unknown_data_type)
     expected_output = (
         "      ╭─────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -2451,10 +2773,10 @@ def test_render_unknown_data_type(rich_output: RichOutput) -> None:
     " dependency on fcntl.",
 )
 def test_render_block_image(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
     disable_capture: ContextManager[_PluggyPlugin],
 ) -> None:
     """It renders a block drawing of an image."""
@@ -2594,9 +2916,9 @@ def test_render_block_image(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
+
     with disable_capture:
-        output = rich_output(image_cell, images=True, image_drawing="block")
+        output = rich_notebook_output(image_cell, images=True, image_drawing="block")
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -2611,243 +2933,296 @@ def test_render_block_image(
         "                                  \n     "
         "                                        "
         "                                   \n    "
-        f"  \x1b]8;id=646742;file://{tempfile_path}2.png"
-        "\x1b\\\x1b[94m🖼 Click to vie"
+        f"  \x1b]8;id=857429;file://{tempfile_path}0.png\x1b\\\x1b"
+        "[94m🖼 Click to vie"
         "w Image\x1b[0m\x1b]8;;\x1b\\                      "
         "                               \n        "
         "                                        "
         "                                \n      \x1b"
-        "[39;49m███████\x1b[0m\x1b[38;2;255;255;255;49m"
-        "█████████\x1b[0m\x1b[38;2;247;247;247;48;2;255"
-        ";255;255m▄\x1b[0m\x1b[38;2;253;253;253;48;2;25"
-        "5;255;255m▄\x1b[0m\x1b[38;2;255;255;255;49m███"
-        "██████\x1b[0m\x1b[38;2;253;253;253;48;2;255;25"
-        "5;255m▄\x1b[0m\x1b[38;2;249;249;249;48;2;255;2"
-        "55;255m▄\x1b[0m\x1b[38;2;255;255;255;49m██████"
-        "████\x1b[0m\x1b[38;2;249;249;249;48;2;255;255;"
-        "255m▄\x1b[0m\x1b[38;2;252;252;252;48;2;255;255"
-        ";255m▄\x1b[0m\x1b[38;2;255;255;255;49m████████"
-        "██\x1b[0m\x1b[38;2;247;247;247;48;2;255;255;25"
-        "5m▄\x1b[0m\x1b[38;2;255;255;255;49m██████████\x1b"
+        "[39;49m███████\x1b[0m\x1b[38;2;255;255;255;48;"
+        "2;0;0;0m▄\x1b[0m\x1b[38;2;255;255;255;49m█████"
+        "███\x1b[0m\x1b[38;2;248;248;248;48;2;255;255;2"
+        "55m▄\x1b[0m\x1b[38;2;253;253;253;48;2;255;255;"
+        "255m▄\x1b[0m\x1b[38;2;255;255;255;49m█████████"
+        "\x1b[0m\x1b[38;2;253;253;253;48;2;255;255;255m"
+        "▄\x1b[0m\x1b[38;2;250;250;250;48;2;255;255;255"
+        "m▄\x1b[0m\x1b[38;2;255;255;255;49m██████████\x1b["
+        "0m\x1b[38;2;250;250;250;48;2;255;255;255m▄\x1b"
         "[0m\x1b[38;2;252;252;252;48;2;255;255;255m▄"
-        "\x1b[0m\x1b[38;2;249;249;249;48;2;255;255;255m"
-        "▄\x1b[0m\x1b[38;2;255;255;255;49m████████\x1b[0m\x1b"
-        "[38;2;255;255;255;48;2;0;0;0m▄\x1b[0m \n    "
-        "  \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;2;114;114;11"
-        "4;48;2;121;121;121m▄\x1b[0m\x1b[38;2;117;117;1"
-        "17;48;2;115;115;115m▄\x1b[0m\x1b[38;2;116;116;"
-        "116;48;2;118;118;118m▄\x1b[0m\x1b[38;2;116;116"
-        ";116;48;2;115;115;115m▄\x1b[0m\x1b[38;2;0;0;0;"
-        "49m██\x1b[0m\x1b[38;2;249;249;249;48;2;255;255"
-        ";255m▄▄\x1b[0m\x1b[38;2;251;251;251;48;2;255;2"
-        "55;255m▄\x1b[0m\x1b[38;2;250;250;250;48;2;255;"
-        "255;255m▄▄▄▄▄▄\x1b[0m\x1b[38;2;244;244;244;48;"
-        "2;250;250;250m▄\x1b[0m\x1b[38;2;249;249;249;48"
-        ";2;255;255;255m▄\x1b[0m\x1b[38;2;250;250;250;4"
-        "8;2;255;255;255m▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;248;"
-        "248;248;48;2;255;255;255m▄\x1b[0m\x1b[38;2;245"
-        ";245;245;48;2;251;251;251m▄\x1b[0m\x1b[38;2;25"
-        "0;250;250;48;2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0"
-        "m\x1b[38;2;245;245;245;48;2;251;251;251m▄\x1b["
-        "0m\x1b[38;2;248;248;248;48;2;254;254;254m▄\x1b"
-        "[0m\x1b[38;2;250;250;250;48;2;255;255;255m▄"
-        "▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;244;244;244;48;2;249"
-        ";249;249m▄\x1b[0m\x1b[38;2;250;250;250;48;2;25"
-        "5;255;255m▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;250;249;25"
-        "0;48;2;255;255;255m▄\x1b[0m\x1b[38;2;239;234;2"
-        "47;48;2;255;255;254m▄\x1b[0m\x1b[38;2;235;229;"
-        "244;48;2;252;253;251m▄\x1b[0m\x1b[38;2;240;234"
-        ";249;48;2;255;255;255m▄▄\x1b[0m\x1b[38;2;241;2"
-        "36;249;48;2;255;255;255m▄\x1b[0m\x1b[38;2;250;"
-        "249;250;48;2;255;255;255m▄\x1b[0m\x1b[38;2;248"
-        ";248;247;48;2;255;255;255m▄\x1b[0m\x1b[38;2;24"
-        "2;242;242;48;2;255;255;255m▄\x1b[0m\x1b[38;2;2"
-        "52;252;252;48;2;255;255;255m▄\x1b[0m\x1b[38;2;"
-        "250;250;250;48;2;251;251;251m▄\x1b[0m\x1b[38;2"
-        ";255;255;255;49m█\x1b[0m \n      \x1b[38;2;0;0;"
-        "0;49m█\x1b[0m\x1b[38;2;0;0;0;48;2;115;115;115m"
-        "▄\x1b[0m\x1b[38;2;0;0;0;48;2;114;114;114m▄\x1b[0m"
-        "\x1b[38;2;0;0;0;48;2;117;117;117m▄\x1b[0m\x1b[38;"
-        "2;0;0;0;48;2;109;109;109m▄\x1b[0m\x1b[38;2;0;0"
-        ";0;49m██\x1b[0m\x1b[38;2;255;255;255;49m██████"
-        "███\x1b[0m\x1b[38;2;248;248;248;49m█\x1b[0m\x1b[38;2"
-        ";253;253;253;49m█\x1b[0m\x1b[38;2;255;255;255;"
-        "49m█████████\x1b[0m\x1b[38;2;253;253;253;49m█\x1b"
-        "[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2;255"
-        ";255;255;49m██████████\x1b[0m\x1b[38;2;249;249"
-        ";249;49m█\x1b[0m\x1b[38;2;252;252;252;49m█\x1b[0m"
-        "\x1b[38;2;255;255;255;49m██████████\x1b[0m\x1b[38"
-        ";2;247;247;247;49m█\x1b[0m\x1b[38;2;255;255;25"
-        "5;49m█████████\x1b[0m\x1b[38;2;255;255;255;48;"
-        "2;251;248;255m▄\x1b[0m\x1b[38;2;254;255;252;48"
-        ";2;194;157;247m▄\x1b[0m\x1b[38;2;252;253;249;4"
-        "8;2;185;143;244m▄\x1b[0m\x1b[38;2;255;255;255;"
-        "48;2;189;147;248m▄\x1b[0m\x1b[38;2;255;255;255"
-        ";48;2;188;146;248m▄\x1b[0m\x1b[38;2;255;255;25"
-        "5;48;2;196;159;249m▄\x1b[0m\x1b[38;2;255;255;2"
-        "55;48;2;252;249;255m▄\x1b[0m\x1b[38;2;250;250;"
-        "250;48;2;237;238;237m▄\x1b[0m\x1b[38;2;241;241"
-        ";241;48;2;203;203;203m▄\x1b[0m\x1b[38;2;255;25"
-        "5;255;49m███\x1b[0m \n      \x1b[38;2;0;0;0;49m"
-        "███████\x1b[0m\x1b[38;2;255;255;255;49m███████"
-        "██\x1b[0m\x1b[38;2;248;248;248;49m█\x1b[0m\x1b[38;2;"
-        "253;253;253;49m█\x1b[0m\x1b[38;2;255;255;255;4"
-        "9m█████████\x1b[0m\x1b[38;2;253;253;253;49m█\x1b["
-        "0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2;255;"
-        "255;255;49m██████████\x1b[0m\x1b[38;2;249;249;"
-        "249;49m█\x1b[0m\x1b[38;2;252;252;252;49m█\x1b[0m\x1b"
-        "[38;2;255;255;255;49m██████████\x1b[0m\x1b[38;"
-        "2;247;247;247;49m█\x1b[0m\x1b[38;2;255;255;255"
-        ";49m█████████\x1b[0m\x1b[38;2;249;253;253;48;2"
-        ";255;255;255m▄\x1b[0m\x1b[38;2;178;226;228;48;"
-        "2;255;254;254m▄\x1b[0m\x1b[38;2;166;220;223;48"
-        ";2;255;252;251m▄\x1b[0m\x1b[38;2;171;224;228;4"
-        "8;2;255;255;255m▄\x1b[0m\x1b[38;2;170;224;227;"
-        "48;2;255;255;255m▄\x1b[0m\x1b[38;2;180;228;231"
-        ";48;2;255;255;255m▄\x1b[0m\x1b[38;2;250;254;25"
-        "4;48;2;255;255;255m▄\x1b[0m\x1b[38;2;232;231;2"
-        "31;48;2;252;252;252m▄\x1b[0m\x1b[38;2;219;219;"
-        "219;48;2;255;255;255m▄\x1b[0m\x1b[38;2;255;255"
-        ";255;49m███\x1b[0m \n      \x1b[38;2;0;0;0;49m█"
-        "\x1b[0m\x1b[38;2;127;127;127;48;2;0;0;0m▄\x1b[0m\x1b"
-        "[38;2;115;115;115;48;2;0;0;0m▄\x1b[0m\x1b[38;2"
-        ";120;120;120;48;2;0;0;0m▄\x1b[0m\x1b[38;2;127;"
-        "127;127;48;2;0;0;0m▄\x1b[0m\x1b[38;2;0;0;0;49m"
-        "██\x1b[0m\x1b[38;2;255;255;255;49m█████████\x1b[0"
-        "m\x1b[38;2;248;248;248;49m█\x1b[0m\x1b[38;2;253;2"
-        "53;253;49m█\x1b[0m\x1b[38;2;255;255;255;49m███"
-        "██████\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[3"
+        "\x1b[0m\x1b[38;2;255;255;255;49m██████████\x1b[0m"
+        "\x1b[38;2;247;247;247;48;2;255;255;255m▄\x1b[0"
+        "m\x1b[38;2;255;255;255;49m██████████\x1b[0m\x1b[3"
+        "8;2;252;252;252;48;2;255;255;255m▄\x1b[0m\x1b["
+        "38;2;250;250;250;48;2;255;255;255m▄\x1b[0m\x1b"
+        "[38;2;255;255;255;49m████████\x1b[0m\x1b[38;2;"
+        "255;255;255;48;2;0;0;0m▄\x1b[0m \n      \x1b[38"
+        ";2;0;0;0;49m█\x1b[0m\x1b[38;2;122;122;122;48;2"
+        ";114;114;114m▄\x1b[0m\x1b[38;2;117;117;117;49m"
+        "█\x1b[0m\x1b[38;2;116;116;116;48;2;117;117;117"
+        "m▄\x1b[0m\x1b[38;2;115;115;115;48;2;117;117;11"
+        "7m▄\x1b[0m\x1b[38;2;0;0;0;49m██\x1b[0m\x1b[38;2;249;"
+        "249;249;48;2;255;255;255m▄\x1b[0m\x1b[38;2;248"
+        ";248;248;48;2;255;255;255m▄\x1b[0m\x1b[38;2;24"
+        "9;249;249;48;2;255;255;255m▄▄▄▄▄▄▄\x1b[0m\x1b["
+        "38;2;243;243;243;48;2;252;252;252m▄\x1b[0m\x1b"
+        "[38;2;247;247;247;48;2;255;255;255m▄\x1b[0m"
+        "\x1b[38;2;249;249;249;48;2;255;255;255m▄▄▄▄"
+        "▄▄▄▄▄\x1b[0m\x1b[38;2;247;247;247;48;2;255;255"
+        ";255m▄\x1b[0m\x1b[38;2;244;244;244;48;2;253;25"
+        "3;253m▄\x1b[0m\x1b[38;2;249;249;249;48;2;255;2"
+        "55;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;244;244;244;"
+        "48;2;253;253;253m▄\x1b[0m\x1b[38;2;247;247;247"
+        ";48;2;255;255;255m▄\x1b[0m\x1b[38;2;249;249;24"
+        "9;48;2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;"
+        "243;243;243;48;2;251;251;251m▄\x1b[0m\x1b[38;2"
+        ";249;249;249;48;2;255;255;255m▄▄▄▄▄▄▄▄▄▄"
+        "\x1b[0m\x1b[38;2;246;246;246;48;2;255;255;255m"
+        "▄\x1b[0m\x1b[38;2;243;243;244;48;2;253;253;253"
+        "m▄\x1b[0m\x1b[38;2;248;248;249;48;2;255;255;25"
+        "5m▄▄▄\x1b[0m\x1b[38;2;249;249;249;48;2;255;255"
+        ";255m▄\x1b[0m\x1b[38;2;248;248;248;48;2;255;25"
+        "5;255m▄\x1b[0m\x1b[38;2;246;246;246;48;2;255;2"
+        "55;255m▄\x1b[0m\x1b[38;2;251;251;251;48;2;255;"
+        "255;255m▄\x1b[0m\x1b[38;2;248;248;248;48;2;252"
+        ";252;252m▄\x1b[0m\x1b[38;2;255;255;255;49m█\x1b[0"
+        "m \n      \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;2;0;0"
+        ";0;48;2;113;113;113m▄\x1b[0m\x1b[38;2;0;0;0;48"
+        ";2;119;119;119m▄\x1b[0m\x1b[38;2;0;0;0;48;2;11"
+        "6;116;116m▄\x1b[0m\x1b[38;2;0;0;0;48;2;109;109"
+        ";109m▄\x1b[0m\x1b[38;2;0;0;0;49m██\x1b[0m\x1b[38;2;2"
+        "55;255;255;49m█████████\x1b[0m\x1b[38;2;248;24"
+        "8;248;49m█\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0"
+        "m\x1b[38;2;255;255;255;49m█████████\x1b[0m\x1b[38"
+        ";2;253;253;253;48;2;254;254;254m▄\x1b[0m\x1b[3"
         "8;2;249;249;249;49m█\x1b[0m\x1b[38;2;255;255;2"
         "55;49m██████████\x1b[0m\x1b[38;2;249;249;249;4"
         "9m█\x1b[0m\x1b[38;2;252;252;252;49m█\x1b[0m\x1b[38;2"
         ";255;255;255;49m██████████\x1b[0m\x1b[38;2;247"
         ";247;247;49m█\x1b[0m\x1b[38;2;255;255;255;49m█"
-        "████████\x1b[0m\x1b[38;2;255;255;255;48;2;252;"
-        "254;254m▄\x1b[0m\x1b[38;2;255;253;253;48;2;211"
-        ";237;239m▄\x1b[0m\x1b[38;2;254;251;250;48;2;20"
-        "2;233;234m▄\x1b[0m\x1b[38;2;255;255;255;48;2;2"
-        "08;238;240m▄\x1b[0m\x1b[38;2;255;255;255;48;2;"
-        "207;238;239m▄\x1b[0m\x1b[38;2;255;255;255;48;2"
-        ";213;240;241m▄\x1b[0m\x1b[38;2;255;255;255;48;"
-        "2;252;254;255m▄\x1b[0m\x1b[38;2;255;255;255;48"
-        ";2;238;238;238m▄\x1b[0m\x1b[38;2;255;255;255;4"
-        "8;2;219;219;219m▄\x1b[0m\x1b[38;2;255;255;255;"
-        "49m███\x1b[0m \n      \x1b[38;2;0;0;0;49m█\x1b[0m\x1b"
-        "[38;2;102;102;102;48;2;115;115;115m▄\x1b[0m"
-        "\x1b[38;2;122;122;122;48;2;114;114;114m▄\x1b[0"
-        "m\x1b[38;2;119;119;119;48;2;115;115;115m▄\x1b["
-        "0m\x1b[38;2;117;117;117;49m█\x1b[0m\x1b[38;2;0;0;"
-        "0;49m██\x1b[0m\x1b[38;2;255;255;255;48;2;249;2"
-        "49;249m▄\x1b[0m\x1b[38;2;255;255;255;48;2;247;"
-        "247;247m▄\x1b[0m\x1b[38;2;255;255;255;48;2;248"
-        ";248;248m▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;248;248;248;4"
-        "8;2;242;242;242m▄\x1b[0m\x1b[38;2;253;253;253;"
-        "48;2;246;246;246m▄\x1b[0m\x1b[38;2;255;255;255"
-        ";48;2;248;248;248m▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;25"
-        "3;253;253;48;2;246;246;246m▄\x1b[0m\x1b[38;2;2"
-        "49;249;249;48;2;243;243;243m▄\x1b[0m\x1b[38;2;"
-        "255;255;255;48;2;248;248;248m▄▄▄▄▄▄▄▄▄▄\x1b"
-        "[0m\x1b[38;2;249;249;249;48;2;243;243;243m▄"
-        "\x1b[0m\x1b[38;2;252;252;252;48;2;245;245;245m"
-        "▄\x1b[0m\x1b[38;2;255;255;255;48;2;248;248;248"
-        "m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;247;247;247;48;2;2"
-        "42;242;242m▄\x1b[0m\x1b[38;2;255;255;255;48;2;"
-        "248;248;248m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;252;252"
-        ";252;48;2;245;245;245m▄\x1b[0m\x1b[38;2;249;24"
-        "9;249;48;2;243;243;243m▄\x1b[0m\x1b[38;2;255;2"
-        "55;255;48;2;248;248;248m▄▄▄▄▄▄\x1b[0m\x1b[38;2"
-        ";255;255;255;48;2;250;250;250m▄\x1b[0m\x1b[38;"
-        "2;255;255;255;48;2;246;246;246m▄\x1b[0m\x1b[38"
-        ";2;255;255;255;49m█\x1b[0m \n      \x1b[38;2;0;"
-        "0;0;49m███████\x1b[0m\x1b[38;2;255;255;255;49m"
-        "█████████\x1b[0m\x1b[38;2;248;248;248;49m█\x1b[0m"
-        "\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[38;2;255;25"
-        "5;255;49m█████████\x1b[0m\x1b[38;2;253;253;253"
-        ";49m█\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38"
+        "████████\x1b[0m\x1b[38;2;255;255;255;48;2;251;"
+        "247;255m▄\x1b[0m\x1b[38;2;249;246;252;48;2;190"
+        ";149;247m▄\x1b[0m\x1b[38;2;245;243;249;48;2;18"
+        "0;134;244m▄\x1b[0m\x1b[38;2;251;249;255;48;2;1"
+        "84;139;248m▄\x1b[0m\x1b[38;2;251;248;255;48;2;"
+        "183;137;248m▄\x1b[0m\x1b[38;2;252;249;255;48;2"
+        ";192;151;249m▄\x1b[0m\x1b[38;2;255;255;255;48;"
+        "2;252;249;255m▄\x1b[0m\x1b[38;2;245;245;245;48"
+        ";2;239;240;238m▄\x1b[0m\x1b[38;2;229;229;229;4"
+        "8;2;207;207;207m▄\x1b[0m\x1b[38;2;255;255;255;"
+        "49m███\x1b[0m \n      \x1b[38;2;0;0;0;49m██████"
+        "█\x1b[0m\x1b[38;2;255;255;255;49m█████████\x1b[0m"
+        "\x1b[38;2;248;248;248;49m█\x1b[0m\x1b[38;2;253;25"
+        "3;253;49m█\x1b[0m\x1b[38;2;255;255;255;49m████"
+        "█████\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[38"
+        ";2;249;249;249;49m█\x1b[0m\x1b[38;2;255;255;25"
+        "5;49m██████████\x1b[0m\x1b[38;2;249;249;249;49"
+        "m█\x1b[0m\x1b[38;2;252;252;252;49m█\x1b[0m\x1b[38;2;"
+        "255;255;255;49m██████████\x1b[0m\x1b[38;2;247;"
+        "247;247;49m█\x1b[0m\x1b[38;2;255;255;255;49m██"
+        "███████\x1b[0m\x1b[38;2;252;254;254;48;2;255;2"
+        "55;255m▄\x1b[0m\x1b[38;2;220;240;242;48;2;255;"
+        "254;253m▄\x1b[0m\x1b[38;2;213;236;238;48;2;253"
+        ";251;250m▄\x1b[0m\x1b[38;2;218;242;243;48;2;25"
+        "5;255;255m▄\x1b[0m\x1b[38;2;218;241;243;48;2;2"
+        "55;255;255m▄\x1b[0m\x1b[38;2;222;243;244;48;2;"
+        "255;255;255m▄\x1b[0m\x1b[38;2;253;255;255;48;2"
+        ";255;255;255m▄\x1b[0m\x1b[38;2;236;236;236;48;"
+        "2;255;255;255m▄\x1b[0m\x1b[38;2;232;232;232;48"
+        ";2;255;255;255m▄\x1b[0m\x1b[38;2;255;255;255;4"
+        "9m███\x1b[0m \n      \x1b[38;2;0;0;0;49m███████"
+        "\x1b[0m\x1b[38;2;255;255;255;49m█████████\x1b[0m\x1b"
+        "[38;2;248;248;248;49m█\x1b[0m\x1b[38;2;253;253"
+        ";253;49m█\x1b[0m\x1b[38;2;255;255;255;49m█████"
+        "████\x1b[0m\x1b[38;2;254;254;254;48;2;253;253;"
+        "253m▄\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38"
         ";2;255;255;255;49m██████████\x1b[0m\x1b[38;2;2"
         "49;249;249;49m█\x1b[0m\x1b[38;2;252;252;252;49"
         "m█\x1b[0m\x1b[38;2;255;255;255;49m██████████\x1b["
         "0m\x1b[38;2;247;247;247;49m█\x1b[0m\x1b[38;2;255;"
-        "255;255;49m██████████\x1b[0m\x1b[38;2;252;252;"
-        "252;49m█\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b"
-        "[38;2;255;255;255;49m█████████\x1b[0m \n    "
-        "  \x1b[38;2;0;0;0;49m███████\x1b[0m\x1b[38;2;255;"
-        "255;255;49m█████████\x1b[0m\x1b[38;2;248;248;2"
-        "48;49m█\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b["
-        "38;2;255;255;255;49m█████████\x1b[0m\x1b[38;2;"
-        "253;253;253;49m█\x1b[0m\x1b[38;2;249;249;249;4"
-        "9m█\x1b[0m\x1b[38;2;255;255;255;49m██████████\x1b"
-        "[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2;252"
-        ";252;252;49m█\x1b[0m\x1b[38;2;255;255;255;49m█"
-        "█████████\x1b[0m\x1b[38;2;247;247;247;49m█\x1b[0m"
+        "255;255;49m█████████\x1b[0m\x1b[38;2;255;255;2"
+        "55;48;2;248;252;253m▄\x1b[0m\x1b[38;2;255;255;"
+        "255;48;2;166;221;224m▄\x1b[0m\x1b[38;2;255;252"
+        ";252;48;2;152;215;219m▄\x1b[0m\x1b[38;2;255;25"
+        "5;255;48;2;157;219;223m▄\x1b[0m\x1b[38;2;255;2"
+        "55;255;48;2;156;219;222m▄\x1b[0m\x1b[38;2;255;"
+        "255;255;48;2;168;223;226m▄\x1b[0m\x1b[38;2;255"
+        ";255;255;48;2;250;254;254m▄\x1b[0m\x1b[38;2;25"
+        "2;252;252;48;2;233;233;233m▄\x1b[0m\x1b[38;2;2"
+        "47;247;247;48;2;209;209;209m▄\x1b[0m\x1b[38;2;"
+        "255;255;255;49m███\x1b[0m \n      \x1b[38;2;0;0"
+        ";0;49m█\x1b[0m\x1b[38;2;106;106;106;48;2;121;1"
+        "21;121m▄\x1b[0m\x1b[38;2;118;118;118;48;2;117;"
+        "117;117m▄\x1b[0m\x1b[38;2;115;115;115;48;2;119"
+        ";119;119m▄\x1b[0m\x1b[38;2;116;116;116;48;2;11"
+        "4;114;114m▄\x1b[0m\x1b[38;2;0;0;0;49m██\x1b[0m\x1b[3"
+        "8;2;255;255;255;48;2;249;249;249m▄\x1b[0m\x1b["
+        "38;2;251;251;251;48;2;249;249;249m▄\x1b[0m\x1b"
+        "[38;2;252;252;252;48;2;250;250;250m▄▄▄▄▄"
+        "▄▄\x1b[0m\x1b[38;2;245;245;245;48;2;244;244;24"
+        "4m▄\x1b[0m\x1b[38;2;250;250;250;48;2;248;248;2"
+        "48m▄\x1b[0m\x1b[38;2;252;252;252;48;2;250;250;"
+        "250m▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;250;250;250;48;2"
+        ";248;248;248m▄\x1b[0m\x1b[38;2;246;246;246;48;"
+        "2;245;245;245m▄\x1b[0m\x1b[38;2;252;252;252;48"
+        ";2;250;250;250m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;246;"
+        "246;246;48;2;245;245;245m▄\x1b[0m\x1b[38;2;249"
+        ";249;249;48;2;247;247;247m▄\x1b[0m\x1b[38;2;25"
+        "2;252;252;48;2;250;250;250m▄▄▄▄▄▄▄▄▄▄\x1b[0"
+        "m\x1b[38;2;245;245;245;48;2;243;243;243m▄\x1b["
+        "0m\x1b[38;2;252;252;252;48;2;250;250;250m▄▄"
+        "▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;249;249;249;48;2;247;"
+        "247;247m▄\x1b[0m\x1b[38;2;246;246;246;48;2;245"
+        ";245;245m▄\x1b[0m\x1b[38;2;252;252;252;48;2;25"
+        "0;250;250m▄▄▄▄▄\x1b[0m\x1b[38;2;252;252;252;48"
+        ";2;251;251;251m▄\x1b[0m\x1b[38;2;253;253;253;4"
+        "8;2;252;252;252m▄\x1b[0m\x1b[38;2;251;251;251;"
+        "48;2;248;248;248m▄\x1b[0m\x1b[38;2;255;255;255"
+        ";49m█\x1b[0m \n      \x1b[38;2;0;0;0;49m██\x1b[0m\x1b"
+        "[38;2;0;0;0;48;2;102;102;102m▄\x1b[0m\x1b[38;2"
+        ";0;0;0;48;2;127;127;127m▄▄\x1b[0m\x1b[38;2;0;0"
+        ";0;49m██\x1b[0m\x1b[38;2;255;255;255;49m██████"
+        "███\x1b[0m\x1b[38;2;248;248;248;49m█\x1b[0m\x1b[38;2"
+        ";253;253;253;49m█\x1b[0m\x1b[38;2;255;255;255;"
+        "49m█████████\x1b[0m\x1b[38;2;253;253;253;49m█\x1b"
+        "[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2;255"
+        ";255;255;49m██████████\x1b[0m\x1b[38;2;249;249"
+        ";249;49m█\x1b[0m\x1b[38;2;252;252;252;49m█\x1b[0m"
         "\x1b[38;2;255;255;255;49m██████████\x1b[0m\x1b[38"
-        ";2;252;252;252;49m█\x1b[0m\x1b[38;2;249;249;24"
-        "9;49m█\x1b[0m\x1b[38;2;255;255;255;49m████████"
-        "█\x1b[0m \n      \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;2"
-        ";116;116;116;48;2;85;85;85m▄\x1b[0m\x1b[38;2;1"
-        "19;119;119;48;2;170;170;170m▄\x1b[0m\x1b[38;2;"
-        "117;117;117;48;2;127;127;127m▄\x1b[0m\x1b[38;2"
-        ";119;119;119;48;2;127;127;127m▄\x1b[0m\x1b[38;"
-        "2;0;0;0;49m██\x1b[0m\x1b[38;2;249;249;249;48;2"
-        ";255;255;255m▄\x1b[0m\x1b[38;2;247;247;247;48;"
-        "2;255;255;255m▄\x1b[0m\x1b[38;2;249;249;249;48"
-        ";2;255;255;255m▄\x1b[0m\x1b[38;2;248;248;248;4"
-        "8;2;255;255;255m▄▄▄▄▄▄\x1b[0m\x1b[38;2;243;243"
-        ";243;48;2;248;248;248m▄\x1b[0m\x1b[38;2;247;24"
-        "7;247;48;2;253;253;253m▄\x1b[0m\x1b[38;2;248;2"
-        "48;248;48;2;255;255;255m▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[3"
-        "8;2;247;247;247;48;2;253;253;253m▄\x1b[0m\x1b["
-        "38;2;243;243;243;48;2;249;249;249m▄\x1b[0m\x1b"
-        "[38;2;248;248;248;48;2;255;255;255m▄▄▄▄▄"
-        "▄▄▄▄▄\x1b[0m\x1b[38;2;243;243;243;48;2;249;249"
-        ";249m▄\x1b[0m\x1b[38;2;246;246;246;48;2;252;25"
-        "2;252m▄\x1b[0m\x1b[38;2;248;248;248;48;2;255;2"
-        "55;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;242;242;242;"
-        "48;2;247;247;247m▄\x1b[0m\x1b[38;2;248;248;248"
-        ";48;2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;2"
-        "46;246;246;48;2;252;252;252m▄\x1b[0m\x1b[38;2;"
-        "243;243;243;48;2;249;249;249m▄\x1b[0m\x1b[38;2"
-        ";248;248;248;48;2;255;255;255m▄▄▄▄▄▄\x1b[0m"
-        "\x1b[38;2;251;251;251;48;2;255;255;255m▄\x1b[0"
-        "m\x1b[38;2;247;247;247;48;2;255;255;255m▄\x1b["
-        "0m\x1b[38;2;255;255;255;49m█\x1b[0m \n      \x1b[3"
-        "8;2;0;0;0;49m█\x1b[0m\x1b[38;2;0;0;0;48;2;127;"
-        "127;127m▄\x1b[0m\x1b[38;2;0;0;0;48;2;116;116;1"
-        "16m▄\x1b[0m\x1b[38;2;0;0;0;48;2;118;118;118m▄\x1b"
-        "[0m\x1b[38;2;0;0;0;48;2;114;114;114m▄\x1b[0m\x1b["
-        "38;2;0;0;0;49m██\x1b[0m\x1b[38;2;255;255;255;4"
-        "9m█\x1b[0m\x1b[38;2;255;255;255;48;2;253;253;2"
-        "53m▄\x1b[0m\x1b[38;2;255;255;255;48;2;254;254;"
-        "254m▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;248;248;248;48;2;2"
-        "47;247;247m▄\x1b[0m\x1b[38;2;253;253;253;48;2;"
-        "252;252;252m▄\x1b[0m\x1b[38;2;255;255;255;48;2"
-        ";254;254;254m▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;253;253"
-        ";253;48;2;252;252;252m▄\x1b[0m\x1b[38;2;249;24"
-        "9;249;48;2;248;248;248m▄\x1b[0m\x1b[38;2;255;2"
-        "55;255;48;2;254;254;254m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b["
-        "38;2;249;249;249;48;2;248;248;248m▄\x1b[0m\x1b"
-        "[38;2;252;252;252;48;2;251;251;251m▄\x1b[0m"
-        "\x1b[38;2;255;255;255;48;2;254;254;254m▄▄▄▄"
-        "▄▄▄▄▄▄\x1b[0m\x1b[38;2;247;247;247;48;2;246;24"
-        "6;246m▄\x1b[0m\x1b[38;2;255;255;255;48;2;254;2"
-        "54;254m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;252;252;252;"
-        "48;2;251;251;251m▄\x1b[0m\x1b[38;2;249;249;249"
-        ";48;2;248;248;248m▄\x1b[0m\x1b[38;2;255;255;25"
-        "5;48;2;254;254;254m▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;255"
-        ";255;255;48;2;253;253;253m▄\x1b[0m\x1b[38;2;25"
-        "5;255;255;49m█\x1b[0m \n      \x1b[38;2;0;0;0;4"
-        "9m███████\x1b[0m\x1b[38;2;255;255;255;49m█████"
-        "████\x1b[0m\x1b[38;2;248;248;248;49m█\x1b[0m\x1b[38;"
-        "2;253;253;253;49m█\x1b[0m\x1b[38;2;255;255;255"
-        ";49m█████████\x1b[0m\x1b[38;2;253;253;253;49m█"
-        "\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2;25"
-        "5;255;255;49m██████████\x1b[0m\x1b[38;2;249;24"
-        "9;249;49m█\x1b[0m\x1b[38;2;252;252;252;49m█\x1b[0"
+        ";2;247;247;247;49m█\x1b[0m\x1b[38;2;255;255;25"
+        "5;49m██████████\x1b[0m\x1b[38;2;252;252;252;49"
+        "m█\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2;"
+        "255;255;255;49m█████████\x1b[0m \n      \x1b[38"
+        ";2;0;0;0;49m███████\x1b[0m\x1b[38;2;255;255;25"
+        "5;49m█████████\x1b[0m\x1b[38;2;248;248;248;49m"
+        "█\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[38;2;2"
+        "55;255;255;49m█████████\x1b[0m\x1b[38;2;253;25"
+        "3;253;49m█\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0"
         "m\x1b[38;2;255;255;255;49m██████████\x1b[0m\x1b[3"
-        "8;2;247;247;247;49m█\x1b[0m\x1b[38;2;255;255;2"
-        "55;49m██████████\x1b[0m\x1b[38;2;252;252;252;4"
-        "9m█\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2"
-        ";255;255;255;49m█████████\x1b[0m \n      \x1b[3"
+        "8;2;249;249;249;49m█\x1b[0m\x1b[38;2;252;252;2"
+        "52;49m█\x1b[0m\x1b[38;2;255;255;255;49m███████"
+        "███\x1b[0m\x1b[38;2;247;247;247;49m█\x1b[0m\x1b[38;2"
+        ";255;255;255;49m██████████\x1b[0m\x1b[38;2;252"
+        ";252;252;49m█\x1b[0m\x1b[38;2;249;249;249;49m█"
+        "\x1b[0m\x1b[38;2;255;255;255;49m█████████\x1b[0m "
+        "\n      \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;2;127;1"
+        "27;127;48;2;0;0;0m▄▄\x1b[0m\x1b[38;2;109;109;1"
+        "09;48;2;0;0;0m▄▄\x1b[0m\x1b[38;2;0;0;0;49m██\x1b["
+        "0m\x1b[38;2;255;255;255;49m█████████\x1b[0m\x1b[3"
+        "8;2;248;248;248;49m█\x1b[0m\x1b[38;2;253;253;2"
+        "53;49m█\x1b[0m\x1b[38;2;255;255;255;49m███████"
+        "██\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[38;2;"
+        "249;249;249;49m█\x1b[0m\x1b[38;2;255;255;255;4"
+        "9m██████████\x1b[0m\x1b[38;2;249;249;249;49m█\x1b"
+        "[0m\x1b[38;2;252;252;252;49m█\x1b[0m\x1b[38;2;255"
+        ";255;255;49m██████████\x1b[0m\x1b[38;2;247;247"
+        ";247;49m█\x1b[0m\x1b[38;2;255;255;255;49m█████"
+        "█████\x1b[0m\x1b[38;2;252;252;252;49m█\x1b[0m\x1b[38"
+        ";2;249;249;249;49m█\x1b[0m\x1b[38;2;255;255;25"
+        "5;49m█████████\x1b[0m \n      \x1b[38;2;0;0;0;4"
+        "9m█\x1b[0m\x1b[38;2;102;102;102;48;2;115;115;1"
+        "15m▄\x1b[0m\x1b[38;2;117;117;117;49m█\x1b[0m\x1b[38;"
+        "2;118;118;118;48;2;117;117;117m▄\x1b[0m\x1b[38"
+        ";2;113;113;113;48;2;115;115;115m▄\x1b[0m\x1b[3"
+        "8;2;0;0;0;49m██\x1b[0m\x1b[38;2;255;255;255;48"
+        ";2;249;249;249m▄\x1b[0m\x1b[38;2;255;255;255;4"
+        "8;2;246;246;246m▄\x1b[0m\x1b[38;2;255;255;255;"
+        "48;2;248;248;248m▄\x1b[0m\x1b[38;2;255;255;255"
+        ";48;2;247;247;247m▄▄▄▄▄▄\x1b[0m\x1b[38;2;248;2"
+        "48;248;48;2;242;242;242m▄\x1b[0m\x1b[38;2;253;"
+        "253;253;48;2;246;246;246m▄\x1b[0m\x1b[38;2;255"
+        ";255;255;48;2;247;247;247m▄▄▄▄▄▄▄▄▄\x1b[0m\x1b"
+        "[38;2;253;253;253;48;2;246;246;246m▄\x1b[0m"
+        "\x1b[38;2;249;249;249;48;2;243;243;243m▄\x1b[0"
+        "m\x1b[38;2;255;255;255;48;2;247;247;247m▄▄▄"
+        "▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;249;249;249;48;2;243;2"
+        "43;243m▄\x1b[0m\x1b[38;2;252;252;252;48;2;245;"
+        "245;245m▄\x1b[0m\x1b[38;2;255;255;255;48;2;247"
+        ";247;247m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;247;247;24"
+        "7;48;2;242;242;242m▄\x1b[0m\x1b[38;2;255;255;2"
+        "55;48;2;247;247;247m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2"
+        ";252;252;252;48;2;245;245;245m▄\x1b[0m\x1b[38;"
+        "2;249;249;249;48;2;243;243;243m▄\x1b[0m\x1b[38"
+        ";2;255;255;255;48;2;247;247;247m▄▄▄▄▄▄\x1b["
+        "0m\x1b[38;2;255;255;255;48;2;250;250;250m▄\x1b"
+        "[0m\x1b[38;2;255;255;255;48;2;246;246;246m▄"
+        "\x1b[0m\x1b[38;2;255;255;255;49m█\x1b[0m \n      \x1b"
+        "[38;2;0;0;0;49m███████\x1b[0m\x1b[38;2;255;255"
+        ";255;49m█████████\x1b[0m\x1b[38;2;248;248;248;"
+        "49m█\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[38;"
+        "2;255;255;255;49m█████████\x1b[0m\x1b[38;2;253"
+        ";253;253;49m█\x1b[0m\x1b[38;2;249;249;249;49m█"
+        "\x1b[0m\x1b[38;2;255;255;255;49m██████████\x1b[0m"
+        "\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2;252;25"
+        "2;252;49m█\x1b[0m\x1b[38;2;255;255;255;49m████"
+        "██████\x1b[0m\x1b[38;2;247;247;247;49m█\x1b[0m\x1b[3"
+        "8;2;255;255;255;49m██████████\x1b[0m\x1b[38;2;"
+        "252;252;252;49m█\x1b[0m\x1b[38;2;249;249;249;4"
+        "9m█\x1b[0m\x1b[38;2;255;255;255;49m█████████\x1b["
+        "0m \n      \x1b[38;2;0;0;0;49m███████\x1b[0m\x1b[3"
+        "8;2;255;255;255;49m█████████\x1b[0m\x1b[38;2;2"
+        "48;248;248;49m█\x1b[0m\x1b[38;2;253;253;253;49"
+        "m█\x1b[0m\x1b[38;2;255;255;255;49m█████████\x1b[0"
+        "m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[38;2;249;2"
+        "49;249;49m█\x1b[0m\x1b[38;2;255;255;255;49m███"
+        "███████\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b["
+        "38;2;252;252;252;49m█\x1b[0m\x1b[38;2;255;255;"
+        "255;49m██████████\x1b[0m\x1b[38;2;247;247;247;"
+        "49m█\x1b[0m\x1b[38;2;255;255;255;49m██████████"
+        "\x1b[0m\x1b[38;2;252;252;252;49m█\x1b[0m\x1b[38;2;24"
+        "9;249;249;49m█\x1b[0m\x1b[38;2;255;255;255;49m"
+        "█████████\x1b[0m \n      \x1b[38;2;0;0;0;49m█\x1b["
+        "0m\x1b[38;2;113;113;113;48;2;0;0;0m▄\x1b[0m\x1b[3"
+        "8;2;118;118;118;48;2;0;0;0m▄\x1b[0m\x1b[38;2;1"
+        "15;115;115;48;2;0;0;0m▄\x1b[0m\x1b[38;2;117;11"
+        "7;117;48;2;0;0;0m▄\x1b[0m\x1b[38;2;0;0;0;49m██"
+        "\x1b[0m\x1b[38;2;255;255;255;49m█\x1b[0m\x1b[38;2;25"
+        "1;251;251;48;2;255;255;255m▄\x1b[0m\x1b[38;2;2"
+        "52;252;252;48;2;255;255;255m▄▄▄▄▄▄▄\x1b[0m\x1b"
+        "[38;2;246;246;246;48;2;248;248;248m▄\x1b[0m"
+        "\x1b[38;2;251;251;251;48;2;253;253;253m▄\x1b[0"
+        "m\x1b[38;2;252;252;252;48;2;255;255;255m▄▄▄"
+        "▄▄▄▄▄▄\x1b[0m\x1b[38;2;250;250;250;48;2;253;25"
+        "3;253m▄\x1b[0m\x1b[38;2;247;247;247;48;2;249;2"
+        "49;249m▄\x1b[0m\x1b[38;2;252;252;252;48;2;255;"
+        "255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;247;247;247"
+        ";48;2;249;249;249m▄\x1b[0m\x1b[38;2;250;250;25"
+        "0;48;2;252;252;252m▄\x1b[0m\x1b[38;2;252;252;2"
+        "52;48;2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2"
+        ";245;245;245;48;2;247;247;247m▄\x1b[0m\x1b[38;"
+        "2;252;252;252;48;2;255;255;255m▄▄▄▄▄▄▄▄▄"
+        "▄\x1b[0m\x1b[38;2;250;250;250;48;2;252;252;252"
+        "m▄\x1b[0m\x1b[38;2;247;247;247;48;2;249;249;24"
+        "9m▄\x1b[0m\x1b[38;2;252;252;252;48;2;255;255;2"
+        "55m▄▄▄▄▄▄\x1b[0m\x1b[38;2;253;253;253;48;2;255"
+        ";255;255m▄\x1b[0m\x1b[38;2;252;252;252;48;2;25"
+        "5;255;255m▄\x1b[0m\x1b[38;2;255;255;255;49m█\x1b["
+        "0m \n      \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;2;12"
+        "7;127;127;48;2;120;120;120m▄\x1b[0m\x1b[38;2;1"
+        "09;109;109;48;2;119;119;119m▄\x1b[0m\x1b[38;2;"
+        "127;127;127;48;2;116;116;116m▄\x1b[0m\x1b[38;2"
+        ";115;115;115;48;2;118;118;118m▄\x1b[0m\x1b[38;"
+        "2;0;0;0;49m██\x1b[0m\x1b[38;2;255;255;255;48;2"
+        ";249;249;249m▄\x1b[0m\x1b[38;2;255;255;255;48;"
+        "2;248;248;248m▄\x1b[0m\x1b[38;2;255;255;255;48"
+        ";2;249;249;249m▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;248;248"
+        ";248;48;2;243;243;243m▄\x1b[0m\x1b[38;2;254;25"
+        "4;254;48;2;248;248;248m▄\x1b[0m\x1b[38;2;255;2"
+        "55;255;48;2;249;249;249m▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[3"
+        "8;2;254;254;254;48;2;247;247;247m▄\x1b[0m\x1b["
+        "38;2;249;249;249;48;2;244;244;244m▄\x1b[0m\x1b"
+        "[38;2;255;255;255;48;2;249;249;249m▄▄▄▄▄"
+        "▄▄▄▄▄\x1b[0m\x1b[38;2;249;249;249;48;2;244;244"
+        ";244m▄\x1b[0m\x1b[38;2;252;252;252;48;2;247;24"
+        "7;247m▄\x1b[0m\x1b[38;2;255;255;255;48;2;249;2"
+        "49;249m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;247;247;247;"
+        "48;2;243;243;243m▄\x1b[0m\x1b[38;2;255;255;255"
+        ";48;2;249;249;249m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;2"
+        "52;252;252;48;2;247;247;247m▄\x1b[0m\x1b[38;2;"
+        "249;249;249;48;2;244;244;244m▄\x1b[0m\x1b[38;2"
+        ";255;255;255;48;2;249;249;249m▄▄▄▄▄▄\x1b[0m"
+        "\x1b[38;2;255;255;255;48;2;251;251;251m▄\x1b[0"
+        "m\x1b[38;2;255;255;255;48;2;248;248;248m▄\x1b["
+        "0m\x1b[38;2;255;255;255;49m█\x1b[0m \n      \x1b[3"
         "8;2;0;0;0;49m███████\x1b[0m\x1b[38;2;255;255;2"
         "55;49m█████████\x1b[0m\x1b[38;2;248;248;248;49"
         "m█\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[38;2;"
@@ -2860,259 +3235,216 @@ def test_render_block_image(
         "2;255;255;255;49m██████████\x1b[0m\x1b[38;2;25"
         "2;252;252;49m█\x1b[0m\x1b[38;2;249;249;249;49m"
         "█\x1b[0m\x1b[38;2;255;255;255;49m█████████\x1b[0m"
-        " \n      \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;2;111;"
-        "111;111;48;2;120;120;120m▄\x1b[0m\x1b[38;2;113"
-        ";113;113;48;2;118;118;118m▄\x1b[0m\x1b[38;2;11"
-        "5;115;115;48;2;116;116;116m▄\x1b[0m\x1b[38;2;1"
-        "16;116;116;48;2;113;113;113m▄\x1b[0m\x1b[38;2;"
-        "0;0;0;49m██\x1b[0m\x1b[38;2;249;249;249;48;2;2"
-        "55;255;255m▄\x1b[0m\x1b[38;2;249;249;249;48;2;"
-        "251;251;251m▄\x1b[0m\x1b[38;2;250;250;250;48;2"
-        ";252;252;252m▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;244;244;2"
-        "44;48;2;246;246;246m▄\x1b[0m\x1b[38;2;248;248;"
-        "248;48;2;250;250;250m▄\x1b[0m\x1b[38;2;250;250"
-        ";250;48;2;252;252;252m▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;"
-        "2;248;248;248;48;2;250;250;250m▄\x1b[0m\x1b[38"
-        ";2;245;245;245;48;2;246;246;246m▄\x1b[0m\x1b[3"
-        "8;2;250;250;250;48;2;252;252;252m▄▄▄▄▄▄▄"
-        "▄▄▄\x1b[0m\x1b[38;2;245;245;245;48;2;246;246;2"
-        "46m▄\x1b[0m\x1b[38;2;247;247;247;48;2;249;249;"
-        "249m▄\x1b[0m\x1b[38;2;250;250;250;48;2;252;252"
-        ";252m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;243;243;243;48"
-        ";2;245;245;245m▄\x1b[0m\x1b[38;2;250;250;250;4"
-        "8;2;252;252;252m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;247"
-        ";247;247;48;2;249;249;249m▄\x1b[0m\x1b[38;2;24"
-        "5;245;245;48;2;246;246;246m▄\x1b[0m\x1b[38;2;2"
-        "50;250;250;48;2;252;252;252m▄▄▄▄▄▄\x1b[0m\x1b["
-        "38;2;252;252;252;48;2;253;253;253m▄\x1b[0m\x1b"
-        "[38;2;248;248;248;48;2;251;251;251m▄\x1b[0m"
-        "\x1b[38;2;255;255;255;49m█\x1b[0m \n      \x1b[38;"
-        "2;0;0;0;49m█\x1b[0m\x1b[38;2;0;0;0;48;2;127;12"
-        "7;127m▄▄\x1b[0m\x1b[38;2;0;0;0;48;2;109;109;10"
-        "9m▄\x1b[0m\x1b[38;2;0;0;0;48;2;95;95;95m▄\x1b[0m\x1b"
-        "[38;2;0;0;0;49m██\x1b[0m\x1b[38;2;255;255;255;"
-        "49m█████████\x1b[0m\x1b[38;2;248;248;248;49m█\x1b"
-        "[0m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[38;2;255"
-        ";255;255;49m█████████\x1b[0m\x1b[38;2;253;253;"
-        "253;49m█\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b"
-        "[38;2;255;255;255;49m██████████\x1b[0m\x1b[38;"
-        "2;249;249;249;49m█\x1b[0m\x1b[38;2;252;252;252"
-        ";49m█\x1b[0m\x1b[38;2;255;255;255;49m█████████"
-        "█\x1b[0m\x1b[38;2;247;247;247;49m█\x1b[0m\x1b[38;2;2"
-        "55;255;255;49m██████████\x1b[0m\x1b[38;2;252;2"
-        "52;252;49m█\x1b[0m\x1b[38;2;249;249;249;49m█\x1b["
-        "0m\x1b[38;2;255;255;255;49m█████████\x1b[0m \n "
-        "     \x1b[38;2;0;0;0;49m███████\x1b[0m\x1b[38;2;2"
-        "55;255;255;49m█████████\x1b[0m\x1b[38;2;248;24"
-        "8;248;49m█\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0"
-        "m\x1b[38;2;255;255;255;49m█████████\x1b[0m\x1b[38"
-        ";2;253;253;253;49m█\x1b[0m\x1b[38;2;249;249;24"
-        "9;49m█\x1b[0m\x1b[38;2;255;255;255;49m████████"
-        "██\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2;"
-        "252;252;252;49m█\x1b[0m\x1b[38;2;255;255;255;4"
-        "9m██████████\x1b[0m\x1b[38;2;247;247;247;49m█\x1b"
-        "[0m\x1b[38;2;255;255;255;49m██████████\x1b[0m\x1b"
-        "[38;2;252;252;252;49m█\x1b[0m\x1b[38;2;249;249"
+        " \n      \x1b[38;2;0;0;0;49m███████\x1b[0m\x1b[38;"
+        "2;255;255;255;49m█████████\x1b[0m\x1b[38;2;248"
+        ";248;248;49m█\x1b[0m\x1b[38;2;253;253;253;49m█"
+        "\x1b[0m\x1b[38;2;255;255;255;49m█████████\x1b[0m\x1b"
+        "[38;2;253;253;253;49m█\x1b[0m\x1b[38;2;249;249"
         ";249;49m█\x1b[0m\x1b[38;2;255;255;255;49m█████"
-        "████\x1b[0m \n      \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[3"
-        "8;2;127;127;127;48;2;0;0;0m▄\x1b[0m\x1b[38;2;1"
-        "13;113;113;48;2;0;0;0m▄\x1b[0m\x1b[38;2;122;12"
-        "2;122;48;2;0;0;0m▄\x1b[0m\x1b[38;2;120;120;120"
-        ";48;2;0;0;0m▄\x1b[0m\x1b[38;2;0;0;0;49m██\x1b[0m\x1b"
-        "[38;2;255;255;255;49m█\x1b[0m\x1b[38;2;253;253"
-        ";253;48;2;255;255;255m▄\x1b[0m\x1b[38;2;254;25"
-        "4;254;48;2;255;255;255m▄▄▄▄▄▄▄\x1b[0m\x1b[38;2"
-        ";247;247;247;48;2;248;248;248m▄\x1b[0m\x1b[38;"
-        "2;252;252;252;48;2;253;253;253m▄\x1b[0m\x1b[38"
-        ";2;254;254;254;48;2;255;255;255m▄▄▄▄▄▄▄▄"
-        "▄\x1b[0m\x1b[38;2;252;252;252;48;2;253;253;253"
-        "m▄\x1b[0m\x1b[38;2;248;248;248;48;2;249;249;24"
-        "9m▄\x1b[0m\x1b[38;2;254;254;254;48;2;255;255;2"
-        "55m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;248;248;248;48;2"
-        ";249;249;249m▄\x1b[0m\x1b[38;2;251;251;251;48;"
-        "2;252;252;252m▄\x1b[0m\x1b[38;2;254;254;254;48"
-        ";2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;246;"
-        "246;246;48;2;247;247;247m▄\x1b[0m\x1b[38;2;254"
-        ";254;254;48;2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m"
-        "\x1b[38;2;251;251;251;48;2;252;252;252m▄\x1b[0"
-        "m\x1b[38;2;248;248;248;48;2;249;249;249m▄\x1b["
-        "0m\x1b[38;2;254;254;254;48;2;255;255;255m▄▄"
-        "▄▄▄▄▄\x1b[0m\x1b[38;2;253;253;253;48;2;255;255"
-        ";255m▄\x1b[0m\x1b[38;2;255;255;255;49m█\x1b[0m \n "
-        "     \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;2;170;170"
-        ";170;48;2;114;114;114m▄\x1b[0m\x1b[38;2;120;12"
-        "0;120;48;2;117;117;117m▄\x1b[0m\x1b[38;2;114;1"
-        "14;114;48;2;119;119;119m▄\x1b[0m\x1b[38;2;120;"
-        "120;120;48;2;117;117;117m▄\x1b[0m\x1b[38;2;0;0"
-        ";0;49m██\x1b[0m\x1b[38;2;255;255;255;48;2;249;"
-        "249;249m▄\x1b[0m\x1b[38;2;255;255;255;48;2;247"
-        ";247;247m▄\x1b[0m\x1b[38;2;255;255;255;48;2;24"
-        "8;248;248m▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;248;248;248;"
-        "48;2;243;243;243m▄\x1b[0m\x1b[38;2;253;253;253"
-        ";48;2;247;247;247m▄\x1b[0m\x1b[38;2;255;255;25"
-        "5;48;2;248;248;248m▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;2"
-        "53;253;253;48;2;246;246;246m▄\x1b[0m\x1b[38;2;"
-        "249;249;249;48;2;243;243;243m▄\x1b[0m\x1b[38;2"
-        ";255;255;255;48;2;248;248;248m▄▄▄▄▄▄▄▄▄▄"
-        "\x1b[0m\x1b[38;2;249;249;249;48;2;243;243;243m"
-        "▄\x1b[0m\x1b[38;2;252;252;252;48;2;246;246;246"
-        "m▄\x1b[0m\x1b[38;2;255;255;255;48;2;248;248;24"
-        "8m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;247;247;247;48;2;"
-        "242;242;242m▄\x1b[0m\x1b[38;2;255;255;255;48;2"
-        ";248;248;248m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;252;25"
-        "2;252;48;2;246;246;246m▄\x1b[0m\x1b[38;2;249;2"
-        "49;249;48;2;243;243;243m▄\x1b[0m\x1b[38;2;255;"
-        "255;255;48;2;248;248;248m▄▄▄▄▄▄\x1b[0m\x1b[38;"
-        "2;255;255;255;48;2;250;250;250m▄\x1b[0m\x1b[38"
-        ";2;255;255;255;48;2;247;247;247m▄\x1b[0m\x1b[3"
-        "8;2;255;255;255;49m█\x1b[0m \n      \x1b[38;2;0"
-        ";0;0;49m███████\x1b[0m\x1b[38;2;255;255;255;49"
-        "m█████████\x1b[0m\x1b[38;2;248;248;248;49m█\x1b[0"
-        "m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[38;2;255;2"
-        "55;255;49m█████████\x1b[0m\x1b[38;2;253;253;25"
-        "3;49m█\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[3"
-        "8;2;255;255;255;49m██████████\x1b[0m\x1b[38;2;"
-        "249;249;249;49m█\x1b[0m\x1b[38;2;252;252;252;4"
-        "9m█\x1b[0m\x1b[38;2;255;255;255;49m██████████\x1b"
-        "[0m\x1b[38;2;247;247;247;49m█\x1b[0m\x1b[38;2;255"
-        ";255;255;49m██████████\x1b[0m\x1b[38;2;252;252"
-        ";252;49m█\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m"
-        "\x1b[38;2;255;255;255;49m█████████\x1b[0m \n   "
-        "   \x1b[38;2;0;0;0;49m███████\x1b[0m\x1b[38;2;255"
-        ";255;255;49m█████████\x1b[0m\x1b[38;2;248;248;"
-        "248;49m█\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b"
-        "[38;2;255;255;255;49m█████████\x1b[0m\x1b[38;2"
-        ";253;253;253;49m█\x1b[0m\x1b[38;2;249;249;249;"
-        "49m█\x1b[0m\x1b[38;2;255;255;255;49m██████████"
-        "\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2;25"
-        "2;252;252;49m█\x1b[0m\x1b[38;2;255;255;255;49m"
-        "██████████\x1b[0m\x1b[38;2;247;247;247;49m█\x1b[0"
-        "m\x1b[38;2;255;255;255;49m██████████\x1b[0m\x1b[3"
-        "8;2;252;252;252;49m█\x1b[0m\x1b[38;2;249;249;2"
-        "49;49m█\x1b[0m\x1b[38;2;255;255;255;49m███████"
-        "██\x1b[0m \n      \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;"
-        "2;116;116;116;48;2;127;127;127m▄▄▄\x1b[0m\x1b["
-        "38;2;118;118;118;48;2;127;127;127m▄\x1b[0m\x1b"
-        "[38;2;0;0;0;49m██\x1b[0m\x1b[38;2;249;249;249;"
-        "48;2;255;255;255m▄\x1b[0m\x1b[38;2;248;248;248"
-        ";48;2;255;255;255m▄\x1b[0m\x1b[38;2;249;249;24"
-        "9;48;2;255;255;255m▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;243"
-        ";243;243;48;2;248;248;248m▄\x1b[0m\x1b[38;2;24"
-        "7;247;247;48;2;253;253;253m▄\x1b[0m\x1b[38;2;2"
-        "49;249;249;48;2;255;255;255m▄▄▄▄▄▄▄▄▄\x1b[0"
-        "m\x1b[38;2;247;247;247;48;2;253;253;253m▄\x1b["
-        "0m\x1b[38;2;244;244;244;48;2;249;249;249m▄\x1b"
-        "[0m\x1b[38;2;249;249;249;48;2;255;255;255m▄"
-        "▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;244;244;244;48;2;249"
-        ";249;249m▄\x1b[0m\x1b[38;2;246;246;246;48;2;25"
-        "2;252;252m▄\x1b[0m\x1b[38;2;249;249;249;48;2;2"
-        "55;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;242;242;"
-        "242;48;2;247;247;247m▄\x1b[0m\x1b[38;2;249;249"
-        ";249;48;2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38"
-        ";2;246;246;246;48;2;252;252;252m▄\x1b[0m\x1b[3"
-        "8;2;244;244;244;48;2;249;249;249m▄\x1b[0m\x1b["
-        "38;2;249;249;249;48;2;255;255;255m▄▄▄▄▄▄"
-        "\x1b[0m\x1b[38;2;251;251;251;48;2;255;255;255m"
-        "▄\x1b[0m\x1b[38;2;247;247;247;48;2;255;255;255"
-        "m▄\x1b[0m\x1b[38;2;255;255;255;49m█\x1b[0m \n     "
-        " \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;2;0;0;0;48;2;"
-        "113;113;113m▄\x1b[0m\x1b[38;2;0;0;0;48;2;120;1"
-        "20;120m▄\x1b[0m\x1b[38;2;0;0;0;48;2;118;118;11"
-        "8m▄\x1b[0m\x1b[38;2;0;0;0;48;2;117;117;117m▄\x1b["
-        "0m\x1b[38;2;0;0;0;49m██\x1b[0m\x1b[38;2;205;205;2"
-        "05;48;2;255;255;255m▄\x1b[0m\x1b[38;2;211;211;"
-        "211;48;2;255;255;255m▄\x1b[0m\x1b[38;2;210;210"
-        ";210;48;2;255;255;255m▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;"
-        "206;206;206;48;2;255;255;255m▄\x1b[0m\x1b[38;2"
-        ";209;209;209;48;2;255;255;255m▄\x1b[0m\x1b[38;"
-        "2;210;210;210;48;2;255;255;255m▄▄▄▄▄▄▄▄▄"
-        "\x1b[0m\x1b[38;2;209;209;209;48;2;255;255;255m"
-        "▄\x1b[0m\x1b[38;2;206;206;206;48;2;255;255;255"
-        "m▄\x1b[0m\x1b[38;2;210;210;210;48;2;255;255;25"
-        "5m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;206;206;206;48;2;"
-        "255;255;255m▄\x1b[0m\x1b[38;2;209;209;209;48;2"
-        ";255;255;255m▄\x1b[0m\x1b[38;2;210;210;210;48;"
-        "2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;204;2"
-        "04;204;48;2;255;255;255m▄\x1b[0m\x1b[38;2;210;"
-        "210;210;48;2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b"
-        "[38;2;209;209;209;48;2;255;255;255m▄\x1b[0m"
-        "\x1b[38;2;206;206;206;48;2;255;255;255m▄\x1b[0"
-        "m\x1b[38;2;210;210;210;48;2;255;255;255m▄▄▄"
-        "▄▄▄\x1b[0m\x1b[38;2;211;211;211;48;2;255;255;2"
-        "55m▄\x1b[0m\x1b[38;2;206;206;206;48;2;255;255;"
-        "255m▄\x1b[0m\x1b[38;2;127;127;127;48;2;255;255"
-        ";255m▄\x1b[0m \n      \x1b[38;2;0;0;0;49m██████"
-        "████████████████████████████████████████"
-        "███████████████████████████\x1b[0m \n      \x1b"
-        "[38;2;0;0;0;49m█████████████\x1b[0m\x1b[38;2;1"
-        "02;102;102;48;2;0;0;0m▄\x1b[0m\x1b[38;2;117;11"
-        "7;117;48;2;127;127;127m▄\x1b[0m\x1b[38;2;118;1"
-        "18;118;48;2;116;116;116m▄\x1b[0m\x1b[38;2;119;"
-        "119;119;48;2;127;127;127m▄\x1b[0m\x1b[38;2;116"
-        ";116;116;48;2;119;119;119m▄\x1b[0m\x1b[38;2;11"
+        "█████\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38"
+        ";2;252;252;252;49m█\x1b[0m\x1b[38;2;255;255;25"
+        "5;49m██████████\x1b[0m\x1b[38;2;247;247;247;49"
+        "m█\x1b[0m\x1b[38;2;255;255;255;49m██████████\x1b["
+        "0m\x1b[38;2;252;252;252;49m█\x1b[0m\x1b[38;2;249;"
+        "249;249;49m█\x1b[0m\x1b[38;2;255;255;255;49m██"
+        "███████\x1b[0m \n      \x1b[38;2;0;0;0;49m█\x1b[0m"
+        "\x1b[38;2;116;116;116;48;2;127;127;127m▄\x1b[0"
+        "m\x1b[38;2;119;119;119;48;2;127;127;127m▄\x1b["
+        "0m\x1b[38;2;119;119;119;48;2;113;113;113m▄\x1b"
+        "[0m\x1b[38;2;117;117;117;48;2;102;102;102m▄"
+        "\x1b[0m\x1b[38;2;0;0;0;49m██\x1b[0m\x1b[38;2;249;249"
+        ";249;48;2;255;255;255m▄\x1b[0m\x1b[38;2;247;24"
+        "7;247;48;2;255;255;255m▄\x1b[0m\x1b[38;2;248;2"
+        "48;248;48;2;255;255;255m▄▄▄▄▄▄▄\x1b[0m\x1b[38;"
+        "2;242;242;242;48;2;248;248;248m▄\x1b[0m\x1b[38"
+        ";2;247;247;247;48;2;253;253;253m▄\x1b[0m\x1b[3"
+        "8;2;248;248;248;48;2;255;255;255m▄▄▄▄▄▄▄"
+        "▄▄\x1b[0m\x1b[38;2;246;246;246;48;2;253;253;25"
+        "3m▄\x1b[0m\x1b[38;2;243;243;243;48;2;249;249;2"
+        "49m▄\x1b[0m\x1b[38;2;248;248;248;48;2;255;255;"
+        "255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;243;243;243;48;"
+        "2;249;249;249m▄\x1b[0m\x1b[38;2;246;246;246;48"
+        ";2;252;252;252m▄\x1b[0m\x1b[38;2;248;248;248;4"
+        "8;2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;242"
+        ";242;242;48;2;247;247;247m▄\x1b[0m\x1b[38;2;24"
+        "8;248;248;48;2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0"
+        "m\x1b[38;2;246;246;246;48;2;252;252;252m▄\x1b["
+        "0m\x1b[38;2;243;243;243;48;2;249;249;249m▄\x1b"
+        "[0m\x1b[38;2;248;248;248;48;2;255;255;255m▄"
+        "▄▄▄▄▄\x1b[0m\x1b[38;2;250;250;250;48;2;255;255"
+        ";255m▄\x1b[0m\x1b[38;2;247;247;247;48;2;255;25"
+        "5;255m▄\x1b[0m\x1b[38;2;255;255;255;49m█\x1b[0m \n"
+        "      \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;2;0;0;0;"
+        "48;2;127;127;127m▄\x1b[0m\x1b[38;2;0;0;0;48;2;"
+        "120;120;120m▄\x1b[0m\x1b[38;2;85;85;85;48;2;11"
+        "6;116;116m▄\x1b[0m\x1b[38;2;255;255;255;48;2;1"
+        "14;114;114m▄\x1b[0m\x1b[38;2;0;0;0;49m██\x1b[0m\x1b["
+        "38;2;255;255;255;49m█\x1b[0m\x1b[38;2;255;255;"
+        "255;48;2;253;253;253m▄\x1b[0m\x1b[38;2;255;255"
+        ";255;48;2;254;254;254m▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;"
+        "248;248;248;48;2;247;247;247m▄\x1b[0m\x1b[38;2"
+        ";253;253;253;48;2;252;252;252m▄\x1b[0m\x1b[38;"
+        "2;255;255;255;48;2;254;254;254m▄▄▄▄▄▄▄▄▄"
+        "\x1b[0m\x1b[38;2;253;253;253;48;2;252;252;252m"
+        "▄\x1b[0m\x1b[38;2;249;249;249;48;2;248;248;248"
+        "m▄\x1b[0m\x1b[38;2;255;255;255;48;2;254;254;25"
+        "4m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;249;249;249;48;2;"
+        "248;248;248m▄\x1b[0m\x1b[38;2;252;252;252;48;2"
+        ";251;251;251m▄\x1b[0m\x1b[38;2;255;255;255;48;"
+        "2;254;254;254m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;247;2"
+        "47;247;48;2;246;246;246m▄\x1b[0m\x1b[38;2;255;"
+        "255;255;48;2;254;254;254m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b"
+        "[38;2;252;252;252;48;2;251;251;251m▄\x1b[0m"
+        "\x1b[38;2;249;249;249;48;2;248;248;248m▄\x1b[0"
+        "m\x1b[38;2;255;255;255;48;2;254;254;254m▄▄▄"
+        "▄▄▄▄\x1b[0m\x1b[38;2;255;255;255;48;2;253;253;"
+        "253m▄\x1b[0m\x1b[38;2;255;255;255;49m█\x1b[0m \n  "
+        "    \x1b[38;2;0;0;0;49m███████\x1b[0m\x1b[38;2;25"
+        "5;255;255;49m█████████\x1b[0m\x1b[38;2;248;248"
+        ";248;49m█\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0m"
+        "\x1b[38;2;255;255;255;49m█████████\x1b[0m\x1b[38;"
+        "2;253;253;253;49m█\x1b[0m\x1b[38;2;249;249;249"
+        ";49m█\x1b[0m\x1b[38;2;255;255;255;49m█████████"
+        "█\x1b[0m\x1b[38;2;249;249;249;49m█\x1b[0m\x1b[38;2;2"
+        "52;252;252;49m█\x1b[0m\x1b[38;2;255;255;255;49"
+        "m██████████\x1b[0m\x1b[38;2;247;247;247;49m█\x1b["
+        "0m\x1b[38;2;255;255;255;49m██████████\x1b[0m\x1b["
+        "38;2;252;252;252;49m█\x1b[0m\x1b[38;2;249;249;"
+        "249;49m█\x1b[0m\x1b[38;2;255;255;255;49m██████"
+        "███\x1b[0m \n      \x1b[38;2;0;0;0;49m███████\x1b["
+        "0m\x1b[38;2;255;255;255;49m█████████\x1b[0m\x1b[3"
+        "8;2;248;248;248;49m█\x1b[0m\x1b[38;2;253;253;2"
+        "53;49m█\x1b[0m\x1b[38;2;255;255;255;49m███████"
+        "██\x1b[0m\x1b[38;2;253;253;253;49m█\x1b[0m\x1b[38;2;"
+        "249;249;249;49m█\x1b[0m\x1b[38;2;255;255;255;4"
+        "9m██████████\x1b[0m\x1b[38;2;249;249;249;49m█\x1b"
+        "[0m\x1b[38;2;252;252;252;49m█\x1b[0m\x1b[38;2;255"
+        ";255;255;49m██████████\x1b[0m\x1b[38;2;247;247"
+        ";247;49m█\x1b[0m\x1b[38;2;255;255;255;49m█████"
+        "█████\x1b[0m\x1b[38;2;252;252;252;49m█\x1b[0m\x1b[38"
+        ";2;249;249;249;49m█\x1b[0m\x1b[38;2;255;255;25"
+        "5;49m█████████\x1b[0m \n      \x1b[38;2;0;0;0;4"
+        "9m█\x1b[0m\x1b[38;2;121;121;121;48;2;115;115;1"
+        "15m▄\x1b[0m\x1b[38;2;117;117;117;48;2;111;111;"
+        "111m▄\x1b[0m\x1b[38;2;116;116;116;48;2;115;115"
+        ";115m▄\x1b[0m\x1b[38;2;119;119;119;48;2;109;10"
+        "9;109m▄\x1b[0m\x1b[38;2;0;0;0;49m██\x1b[0m\x1b[38;2;"
+        "249;249;249;48;2;255;255;255m▄\x1b[0m\x1b[38;2"
+        ";247;247;247;48;2;253;253;253m▄\x1b[0m\x1b[38;"
+        "2;248;248;248;48;2;254;254;254m▄▄▄▄▄▄▄\x1b["
+        "0m\x1b[38;2;242;242;242;48;2;248;248;248m▄\x1b"
+        "[0m\x1b[38;2;247;247;247;48;2;252;252;252m▄"
+        "\x1b[0m\x1b[38;2;248;248;248;48;2;254;254;254m"
+        "▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;246;246;246;48;2;252"
+        ";252;252m▄\x1b[0m\x1b[38;2;243;243;243;48;2;24"
+        "9;249;249m▄\x1b[0m\x1b[38;2;248;248;248;48;2;2"
+        "54;254;254m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;243;243;"
+        "243;48;2;249;249;249m▄\x1b[0m\x1b[38;2;246;246"
+        ";246;48;2;251;251;251m▄\x1b[0m\x1b[38;2;248;24"
+        "8;248;48;2;254;254;254m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[3"
+        "8;2;242;242;242;48;2;247;247;247m▄\x1b[0m\x1b["
+        "38;2;248;248;248;48;2;254;254;254m▄▄▄▄▄▄"
+        "▄▄▄▄\x1b[0m\x1b[38;2;246;246;246;48;2;251;251;"
+        "251m▄\x1b[0m\x1b[38;2;243;243;243;48;2;249;249"
+        ";249m▄\x1b[0m\x1b[38;2;248;248;248;48;2;254;25"
+        "4;254m▄▄▄▄▄▄\x1b[0m\x1b[38;2;250;250;250;48;2;"
+        "255;255;255m▄\x1b[0m\x1b[38;2;247;247;247;48;2"
+        ";253;253;253m▄\x1b[0m\x1b[38;2;255;255;255;49m"
+        "█\x1b[0m \n      \x1b[38;2;0;0;0;49m█\x1b[0m\x1b[38;2"
+        ";0;0;0;48;2;102;102;102m▄\x1b[0m\x1b[38;2;0;0;"
+        "0;48;2;112;112;112m▄\x1b[0m\x1b[38;2;0;0;0;48;"
+        "2;118;118;118m▄\x1b[0m\x1b[38;2;0;0;0;48;2;110"
+        ";110;110m▄\x1b[0m\x1b[38;2;0;0;0;49m██\x1b[0m\x1b[38"
+        ";2;180;180;180;48;2;249;249;249m▄\x1b[0m\x1b[3"
+        "8;2;185;185;185;48;2;255;255;255m▄▄▄▄▄▄▄"
+        "▄\x1b[0m\x1b[38;2;183;183;183;48;2;254;254;254"
+        "m▄\x1b[0m\x1b[38;2;185;185;185;48;2;255;255;25"
+        "5m▄▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;183;183;183;48;2"
+        ";255;255;255m▄\x1b[0m\x1b[38;2;185;185;185;48;"
+        "2;255;255;255m▄▄▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;183;1"
+        "83;183;48;2;255;255;255m▄\x1b[0m\x1b[38;2;185;"
+        "185;185;48;2;255;255;255m▄▄▄▄▄▄▄▄▄▄▄\x1b[0m"
+        "\x1b[38;2;183;183;183;48;2;253;253;253m▄\x1b[0"
+        "m\x1b[38;2;185;185;185;48;2;255;255;255m▄▄▄"
+        "▄▄▄▄▄▄▄▄\x1b[0m\x1b[38;2;183;183;183;48;2;255;"
+        "255;255m▄\x1b[0m\x1b[38;2;185;185;185;48;2;255"
+        ";255;255m▄▄▄▄▄▄\x1b[0m\x1b[38;2;188;188;188;48"
+        ";2;255;255;255m▄\x1b[0m\x1b[38;2;181;181;181;4"
+        "8;2;249;249;249m▄\x1b[0m\x1b[38;2;113;113;113;"
+        "48;2;255;255;255m▄\x1b[0m \n      \x1b[38;2;0;0"
+        ";0;49m██████████████████████████████████"
+        "███████████████████████████████████████\x1b"
+        "[0m \n      \x1b[38;2;0;0;0;49m█████████████"
+        "\x1b[0m\x1b[38;2;102;102;102;48;2;0;0;0m▄\x1b[0m\x1b"
+        "[38;2;115;115;115;48;2;127;127;127m▄\x1b[0m"
+        "\x1b[38;2;115;115;115;48;2;116;116;116m▄\x1b[0"
+        "m\x1b[38;2;119;119;119;49m█\x1b[0m\x1b[38;2;116;1"
+        "16;116;48;2;118;118;118m▄\x1b[0m\x1b[38;2;115;"
+        "115;115;49m█\x1b[0m\x1b[38;2;114;114;114;48;2;"
+        "111;111;111m▄\x1b[0m\x1b[38;2;0;0;0;49m█████\x1b["
+        "0m\x1b[38;2;113;113;113;48;2;255;255;255m▄\x1b"
+        "[0m\x1b[38;2;118;118;118;48;2;121;121;121m▄"
+        "\x1b[0m\x1b[38;2;114;114;114;49m█\x1b[0m\x1b[38;2;11"
         "5;115;115;48;2;121;121;121m▄\x1b[0m\x1b[38;2;1"
-        "17;117;117;48;2;115;115;115m▄\x1b[0m\x1b[38;2;"
-        "0;0;0;49m█████\x1b[0m\x1b[38;2;113;113;113;48;"
-        "2;0;0;0m▄\x1b[0m\x1b[38;2;114;114;114;48;2;119"
-        ";119;119m▄\x1b[0m\x1b[38;2;118;118;118;49m█\x1b[0"
-        "m\x1b[38;2;118;118;118;48;2;120;120;120m▄\x1b["
-        "0m\x1b[38;2;116;116;116;48;2;120;120;120m▄\x1b"
-        "[0m\x1b[38;2;118;118;118;48;2;115;115;115m▄"
-        "\x1b[0m\x1b[38;2;102;102;102;48;2;127;127;127m"
-        "▄\x1b[0m\x1b[38;2;0;0;0;49m█████\x1b[0m\x1b[38;2;120"
-        ";120;120;48;2;115;115;115m▄\x1b[0m\x1b[38;2;11"
-        "7;117;117;48;2;115;115;115m▄\x1b[0m\x1b[38;2;1"
-        "17;117;117;48;2;121;121;121m▄\x1b[0m\x1b[38;2;"
-        "118;118;118;48;2;112;112;112m▄\x1b[0m\x1b[38;2"
-        ";117;117;117;48;2;115;115;115m▄\x1b[0m\x1b[38;"
-        "2;127;127;127;48;2;0;0;0m▄\x1b[0m\x1b[38;2;0;0"
-        ";0;49m██████\x1b[0m\x1b[38;2;115;115;115;48;2;"
-        "122;122;122m▄\x1b[0m\x1b[38;2;115;115;115;48;2"
-        ";109;109;109m▄\x1b[0m\x1b[38;2;115;115;115;49m"
-        "█\x1b[0m\x1b[38;2;115;115;115;48;2;112;112;112"
-        "m▄\x1b[0m\x1b[38;2;112;112;112;48;2;121;121;12"
-        "1m▄\x1b[0m\x1b[38;2;0;0;0;49m██████\x1b[0m\x1b[38;2;"
-        "106;106;106;48;2;127;127;127m▄\x1b[0m\x1b[38;2"
-        ";118;118;118;48;2;112;112;112m▄\x1b[0m\x1b[38;"
-        "2;119;119;119;48;2;111;111;111m▄\x1b[0m\x1b[38"
-        ";2;118;118;118;48;2;115;115;115m▄\x1b[0m\x1b[3"
-        "8;2;116;116;116;48;2;121;121;121m▄\x1b[0m\x1b["
-        "38;2;112;112;112;48;2;109;109;109m▄\x1b[0m\x1b"
-        "[38;2;0;0;0;49m███████\x1b[0m \n      \x1b[38;2"
-        ";0;0;0;49m██████████████\x1b[0m\x1b[38;2;0;0;0"
-        ";48;2;170;170;170m▄\x1b[0m\x1b[38;2;0;0;0;48;2"
-        ";120;120;120m▄▄\x1b[0m\x1b[38;2;0;0;0;48;2;112"
-        ";112;112m▄▄\x1b[0m\x1b[38;2;0;0;0;48;2;127;127"
-        ";127m▄\x1b[0m\x1b[38;2;0;0;0;49m██████\x1b[0m\x1b[38"
-        ";2;0;0;0;48;2;119;119;119m▄▄\x1b[0m\x1b[38;2;0"
+        "16;116;116;49m█\x1b[0m\x1b[38;2;116;116;116;48"
+        ";2;115;115;115m▄\x1b[0m\x1b[38;2;102;102;102;4"
+        "8;2;85;85;85m▄\x1b[0m\x1b[38;2;0;0;0;49m█████\x1b"
+        "[0m\x1b[38;2;120;120;120;48;2;111;111;111m▄"
+        "\x1b[0m\x1b[38;2;117;117;117;48;2;115;115;115m"
+        "▄\x1b[0m\x1b[38;2;115;115;115;48;2;114;114;114"
+        "m▄\x1b[0m\x1b[38;2;115;115;115;48;2;116;116;11"
+        "6m▄\x1b[0m\x1b[38;2;117;117;117;48;2;115;115;1"
+        "15m▄\x1b[0m\x1b[38;2;127;127;127;48;2;255;255;"
+        "255m▄\x1b[0m\x1b[38;2;0;0;0;49m██████\x1b[0m\x1b[38;"
+        "2;115;115;115;48;2;120;120;120m▄\x1b[0m\x1b[38"
+        ";2;117;117;117;48;2;114;114;114m▄\x1b[0m\x1b[3"
+        "8;2;117;117;117;48;2;118;118;118m▄\x1b[0m\x1b["
+        "38;2;115;115;115;49m█\x1b[0m\x1b[38;2;118;118;"
+        "118;49m█\x1b[0m\x1b[38;2;0;0;0;49m██████\x1b[0m\x1b["
+        "38;2;106;106;106;48;2;85;85;85m▄\x1b[0m\x1b[38"
+        ";2;116;116;116;48;2;119;119;119m▄\x1b[0m\x1b[3"
+        "8;2;117;117;117;48;2;116;116;116m▄\x1b[0m\x1b["
+        "38;2;116;116;116;48;2;118;118;118m▄\x1b[0m\x1b"
+        "[38;2;117;117;117;48;2;116;116;116m▄\x1b[0m"
+        "\x1b[38;2;122;122;122;48;2;127;127;127m▄\x1b[0"
+        "m\x1b[38;2;0;0;0;49m███████\x1b[0m \n      \x1b[38"
+        ";2;0;0;0;49m███████████████\x1b[0m\x1b[38;2;0;"
+        "0;0;48;2;114;114;114m▄\x1b[0m\x1b[38;2;0;0;0;4"
+        "8;2;127;127;127m▄\x1b[0m\x1b[38;2;0;0;0;48;2;1"
+        "14;114;114m▄\x1b[0m\x1b[38;2;0;0;0;48;2;113;11"
+        "3;113m▄\x1b[0m\x1b[38;2;0;0;0;48;2;102;102;102"
+        "m▄\x1b[0m\x1b[38;2;0;0;0;49m██████\x1b[0m\x1b[38;2;0"
         ";0;0;48;2;115;115;115m▄\x1b[0m\x1b[38;2;0;0;0;"
-        "48;2;120;120;120m▄▄\x1b[0m\x1b[38;2;0;0;0;48;2"
-        ";127;127;127m▄\x1b[0m\x1b[38;2;0;0;0;49m█████\x1b"
-        "[0m\x1b[38;2;0;0;0;48;2;115;115;115m▄\x1b[0m\x1b["
-        "38;2;0;0;0;48;2;120;120;120m▄\x1b[0m\x1b[38;2;"
-        "0;0;0;48;2;117;117;117m▄\x1b[0m\x1b[38;2;0;0;0"
-        ";48;2;119;119;119m▄\x1b[0m\x1b[38;2;0;0;0;48;2"
-        ";115;115;115m▄\x1b[0m\x1b[38;2;0;0;0;49m██████"
-        "█\x1b[0m\x1b[38;2;0;0;0;48;2;112;112;112m▄\x1b[0m"
-        "\x1b[38;2;0;0;0;48;2;113;113;113m▄\x1b[0m\x1b[38;"
-        "2;0;0;0;48;2;115;115;115m▄\x1b[0m\x1b[38;2;0;0"
-        ";0;48;2;121;121;121m▄▄\x1b[0m\x1b[38;2;0;0;0;4"
-        "9m██████\x1b[0m\x1b[38;2;0;0;0;48;2;127;127;12"
-        "7m▄\x1b[0m\x1b[38;2;0;0;0;48;2;120;120;120m▄\x1b["
-        "0m\x1b[38;2;0;0;0;48;2;110;110;110m▄\x1b[0m\x1b[3"
-        "8;2;0;0;0;48;2;115;115;115m▄\x1b[0m\x1b[38;2;0"
-        ";0;0;48;2;117;117;117m▄\x1b[0m\x1b[38;2;0;0;0;"
-        "48;2;113;113;113m▄\x1b[0m\x1b[38;2;0;0;0;49m██"
-        "█████\x1b[0m \n"
+        "48;2;117;117;117m▄\x1b[0m\x1b[38;2;0;0;0;48;2;"
+        "113;113;113m▄\x1b[0m\x1b[38;2;0;0;0;48;2;115;1"
+        "15;115m▄\x1b[0m\x1b[38;2;0;0;0;48;2;120;120;12"
+        "0m▄\x1b[0m\x1b[38;2;0;0;0;48;2;127;127;127m▄\x1b["
+        "0m\x1b[38;2;0;0;0;49m█████\x1b[0m\x1b[38;2;0;0;0;"
+        "48;2;127;127;127m▄\x1b[0m\x1b[38;2;0;0;0;48;2;"
+        "114;114;114m▄\x1b[0m\x1b[38;2;0;0;0;48;2;115;1"
+        "15;115m▄\x1b[0m\x1b[38;2;0;0;0;48;2;113;113;11"
+        "3m▄\x1b[0m\x1b[38;2;0;0;0;48;2;117;117;117m▄\x1b["
+        "0m\x1b[38;2;0;0;0;49m███████\x1b[0m\x1b[38;2;0;0;"
+        "0;48;2;109;109;109m▄\x1b[0m\x1b[38;2;0;0;0;48;"
+        "2;121;121;121m▄\x1b[0m\x1b[38;2;0;0;0;48;2;117"
+        ";117;117m▄\x1b[0m\x1b[38;2;0;0;0;48;2;116;116;"
+        "116m▄\x1b[0m\x1b[38;2;0;0;0;48;2;120;120;120m▄"
+        "\x1b[0m\x1b[38;2;0;0;0;49m██████\x1b[0m\x1b[38;2;0;0"
+        ";0;48;2;255;255;255m▄\x1b[0m\x1b[38;2;0;0;0;48"
+        ";2;114;114;114m▄\x1b[0m\x1b[38;2;0;0;0;48;2;12"
+        "0;120;120m▄\x1b[0m\x1b[38;2;0;0;0;48;2;122;122"
+        ";122m▄\x1b[0m\x1b[38;2;0;0;0;48;2;113;113;113m"
+        "▄\x1b[0m\x1b[38;2;0;0;0;48;2;109;109;109m▄\x1b[0m"
+        "\x1b[38;2;0;0;0;49m███████\x1b[0m \n"
     )
     assert remove_link_ids(output) == remove_link_ids(expected_output)
 
 
 def test_render_image_link(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
     disable_capture: ContextManager[_PluggyPlugin],
 ) -> None:
     """It renders a link to an image."""
@@ -3252,9 +3584,9 @@ def test_render_image_link(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
+
     with disable_capture:
-        output = rich_output(image_cell, images=False)
+        output = rich_notebook_output(image_cell, images=False)
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -3269,7 +3601,7 @@ def test_render_image_link(
         "                                  \n     "
         "                                        "
         "                                   \n    "
-        f"  \x1b]8;id=42532;file://{tempfile_path}2.png"
+        f"  \x1b]8;id=42532;file://{tempfile_path}0.png"
         "\x1b\\\x1b[94m🖼 Click to view"
         " Image\x1b[0m\x1b]8;;\x1b\\                       "
         "                              \n         "
@@ -3282,10 +3614,10 @@ def test_render_image_link(
 
 
 def test_charater_drawing(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
 ) -> None:
     """It renders a block drawing of an image."""
     image_cell = {
@@ -3424,7 +3756,7 @@ def test_charater_drawing(
         ],
         "source": "",
     }
-    output = rich_output(
+    output = rich_notebook_output(
         image_cell, images=True, image_drawing="character", files=False
     )
     expected_output = (
@@ -4520,10 +4852,10 @@ def test_charater_drawing(
 
 
 def test_braille_drawing(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
 ) -> None:
     """It renders a block drawing of an image."""
     image_cell = {
@@ -4662,7 +4994,9 @@ def test_braille_drawing(
         ],
         "source": "",
     }
-    output = rich_output(image_cell, images=True, image_drawing="braille", files=False)
+    output = rich_notebook_output(
+        image_cell, images=True, image_drawing="braille", files=False
+    )
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -5801,10 +6135,10 @@ def test_braille_drawing(
 
 
 def test_render_image_link_no_image(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
     disable_capture: ContextManager[_PluggyPlugin],
 ) -> None:
     """It renders a link to an image."""
@@ -5944,9 +6278,9 @@ def test_render_image_link_no_image(
         ],
         "source": "",
     }
-    tempfile_path = get_tempfile_path("")
+
     with disable_capture:
-        output = rich_output(image_cell, images=False)
+        output = rich_notebook_output(image_cell, images=False)
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -5961,7 +6295,7 @@ def test_render_image_link_no_image(
         "                                  \n     "
         "                                        "
         "                                   \n    "
-        f"  \x1b]8;id=236660;file://{tempfile_path}2.png"
+        f"  \x1b]8;id=236660;file://{tempfile_path}0.png"
         "\x1b\\\x1b[94m🖼 Click to vie"
         "w Image\x1b[0m\x1b]8;;\x1b\\                      "
         "                               \n        "
@@ -5974,10 +6308,10 @@ def test_render_image_link_no_image(
 
 
 def test_render_svg_link(
-    rich_output: RichOutput,
+    rich_notebook_output: RichOutput,
     mock_tempfile_file: Generator[Mock, None, None],
     remove_link_ids: Callable[[str], str],
-    get_tempfile_path: Callable[[str], Path],
+    tempfile_path: Path,
 ) -> None:
     """It renders a link to an image."""
     svg_cell = {
@@ -6033,8 +6367,8 @@ def test_render_svg_link(
         ],
         "source": "",
     }
-    output = rich_output(svg_cell)
-    tempfile_path = get_tempfile_path("")
+    output = rich_notebook_output(svg_cell)
+
     expected_output = (
         "     ╭──────────────────────────────────"
         "───────────────────────────────────────╮"
@@ -6045,7 +6379,7 @@ def test_render_svg_link(
         "────────────────╯\n                      "
         "                                        "
         "                  \n\x1b[38;5;247m[2]:\x1b[0m  "
-        f"\x1b]8;id=1627259094.976956-618609;file://{tempfile_path}2.svg"
+        f"\x1b]8;id=1627259094.976956-618609;file://{tempfile_path}0.svg"
         "\x1b\\\x1b[9"
         "4m🖼 Click to view Image\x1b[0m\x1b]8;;\x1b\\      "
         "                                        "