change implementation from hiding overflow with message to provide overflow methods

This commit is contained in:
Nathan Page 2020-11-01 10:24:20 -05:00
parent d890c4ed1c
commit 1f8d565579
14 changed files with 230 additions and 16474 deletions

View file

@ -74,7 +74,9 @@ table_centered = Columns((table,), align="center", expand=True)
console.clear()
with Live(table_centered, console=console, refresh_per_second=10):
with Live(
table_centered, console=console, refresh_per_second=10, vertical_overflow="ellipsis"
):
with beat(10):
table.add_column("Release Date", no_wrap=True)

View file

@ -2,7 +2,10 @@ import sys
from threading import Event, RLock, Thread
from typing import IO, Any, List, Optional
from typing_extensions import Literal
from .__init__ import get_console
from ._loop import loop_last
from .console import (
Console,
ConsoleOptions,
@ -13,10 +16,10 @@ from .console import (
)
from .control import Control
from .jupyter import JupyterMixin
from .live_render import LiveRender
from .progress import _FileProxy
from .segment import Segment
from ._loop import loop_last
VerticalOverflowMethod = Literal["crop", "ellipsis", "visible"]
class _RefreshThread(Thread):
@ -37,20 +40,20 @@ class _RefreshThread(Thread):
class _LiveRender:
def __init__(self, renderable: RenderableType, hide_overflow: bool) -> None:
def __init__(
self, renderable: RenderableType, vertical_overflow: VerticalOverflowMethod
) -> None:
self.renderable = renderable
self.hide_overflow = hide_overflow
self.vertical_overflow = vertical_overflow
self.shape: Optional[Tuple[int, int]] = None
def set_renderable(self, renderable: RenderableType) -> None:
self.renderable = renderable
def position_cursor(self, max_height: int) -> Control:
def position_cursor(self) -> Control:
if self.shape is not None:
_, height = self.shape
return Control(
"\r\x1b[2K" + "\x1b[1A\x1b[2K" * (min(height, max_height) - 1)
)
return Control("\r\x1b[2K" + "\x1b[1A\x1b[2K" * (height - 1))
return Control("")
def restore_cursor(self) -> Control:
@ -70,11 +73,14 @@ class _LiveRender:
lines = console.render_lines(self.renderable, options, pad=False)
shape = Segment.get_shape(lines)
if self.hide_overflow and shape[1] > console.size.height:
lines = console.render_lines("Terminal too small", options, pad=False)
shape = Segment.get_shape(lines)
width, height = shape
if shape[1] > console.size.height:
if self.vertical_overflow == "crop":
lines = lines[: console.size.height]
shape = Segment.get_shape(lines)
elif self.vertical_overflow == "ellipsis":
lines = lines[: (console.size.height - 1)] + [[Segment("...")]]
shape = Segment.get_shape(lines)
self.shape = shape
width, height = self.shape
@ -109,11 +115,11 @@ class Live(JupyterMixin, RenderHook):
transient: bool = False,
redirect_stdout: bool = True,
redirect_stderr: bool = True,
hide_overflow: bool = True,
vertical_overflow: VerticalOverflowMethod = "crop",
) -> None:
assert refresh_per_second > 0, "refresh_per_second must be > 0"
self.console = console if console is not None else get_console()
self._live_render = _LiveRender(renderable, hide_overflow=hide_overflow)
self._live_render = _LiveRender(renderable, vertical_overflow=vertical_overflow)
self._redirect_stdout = redirect_stdout
self._redirect_stderr = redirect_stderr
@ -129,7 +135,7 @@ class Live(JupyterMixin, RenderHook):
self._refresh_thread: Optional[_RefreshThread] = None
self.refresh_per_second = refresh_per_second
self.hide_overflow = hide_overflow
self.vertical_overflow = vertical_overflow
# cant store just clear_control as the live_render shape is lazily computed on render
def start(self) -> None:
@ -142,7 +148,7 @@ class Live(JupyterMixin, RenderHook):
self._enable_redirect_io()
self.console.push_render_hook(self)
self._started = True
self._live_render.hide_overflow = self.hide_overflow
self._live_render.vertical_overflow = self.vertical_overflow
if self.auto_refresh:
self._refresh_thread = _RefreshThread(self, self.refresh_per_second)
@ -158,7 +164,7 @@ class Live(JupyterMixin, RenderHook):
if self.auto_refresh and self._refresh_thread is not None:
self._refresh_thread.stop()
# allow it to fully render on the last even if overflow
self._live_render.hide_overflow = False
self._live_render.vertical_overflow = "visible"
self.refresh()
if self.console.is_terminal:
self.console.line()
@ -258,7 +264,7 @@ class Live(JupyterMixin, RenderHook):
with self._lock:
# determine the control command needed to clear previous rendering
return [
self._live_render.position_cursor(self.console.size.height),
self._live_render.position_cursor(),
*renderables,
self._live_render,
]

View file

@ -1,337 +0,0 @@
[?25l test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
│ 18 │ 18 │ 18 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
│ 18 │ 18 │ 18 │
│ 19 │ 19 │ 19 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
│ 18 │ 18 │ 18 │
│ 19 │ 19 │ 19 │
└───────────────────┴───────────────────┴──────────────────┘
table caption
[?25h

View file

@ -1,46 +0,0 @@
step 0
step 1
step 2
step 3
step 4
step 5
step 6
step 7
step 8
step 9
step 10
step 11
step 12
step 13
step 14
step 15
step 16
step 17
step 18
step 19
test table
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
│ 18 │ 18 │ 18 │
│ 19 │ 19 │ 19 │
└───────────────────────────────────────┴───────────────────────────────────────┴──────────────────────────────────────┘
table caption

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,337 +0,0 @@
[?25lAttempting Step #0
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #1
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #2
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #3
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #4
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #5
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #6
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #7
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #8
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #9
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #10
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #11
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #12
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #13
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #14
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #15
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #16
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #17
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #18
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Attempting Step #19
test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
│ 18 │ 18 │ 18 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
│ 18 │ 18 │ 18 │
│ 19 │ 19 │ 19 │
└───────────────────┴───────────────────┴──────────────────┘
table caption
[?25h

View file

@ -1,202 +0,0 @@
[?25l test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
└───────────────────┴───────────────────┴──────────────────┘
table caption Terminal too smallTerminal too smallTerminal too smallTerminal too smallTerminal too smallTerminal too small test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
│ 18 │ 18 │ 18 │
│ 19 │ 19 │ 19 │
└───────────────────┴───────────────────┴──────────────────┘
table caption
[?25h

View file

@ -1,337 +0,0 @@
[?25l test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
│ 18 │ 18 │ 18 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
│ 18 │ 18 │ 18 │
│ 19 │ 19 │ 19 │
└───────────────────┴───────────────────┴──────────────────┘
table caption  test table
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ foo ┃ bar ┃ baz ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 0 │ 0 │ 0 │
│ 1 │ 1 │ 1 │
│ 2 │ 2 │ 2 │
│ 3 │ 3 │ 3 │
│ 4 │ 4 │ 4 │
│ 5 │ 5 │ 5 │
│ 6 │ 6 │ 6 │
│ 7 │ 7 │ 7 │
│ 8 │ 8 │ 8 │
│ 9 │ 9 │ 9 │
│ 10 │ 10 │ 10 │
│ 11 │ 11 │ 11 │
│ 12 │ 12 │ 12 │
│ 13 │ 13 │ 13 │
│ 14 │ 14 │ 14 │
│ 15 │ 15 │ 15 │
│ 16 │ 16 │ 16 │
│ 17 │ 17 │ 17 │
│ 18 │ 18 │ 18 │
│ 19 │ 19 │ 19 │
└───────────────────┴───────────────────┴──────────────────┘
table caption
[?25h

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,856 +0,0 @@
[?25l┏━━━━━━┓
┃ ┃
┡━━━━━━┩
│ 0x2 │
│ 0xd │
│ 0x8 │
│ 0x3 │
│ 0x1 │
│ 0xc │
│ 0x11 │
│ 0x11 │
└──────┘┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━┳━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━╇━━━━━┩
│ 0x1 │ 0x5 │ 0x4 │ 0xa │ 0x… │ 0xa │ 0x7 │ 0x5 │ 0… │ 0xd │
│ 0x2 │ 0x… │ 0xc │ 0x2 │ 0x0 │ 0xa │ 0xe │ 0x3 │ 0… │ 0x2 │
│ 0x4 │ 0x4 │ 0x0 │ 0x9 │ 0xd │ 0x… │ 0xf │ 0x8 │ 0… │ 0x1 │
│ 0x9 │ 0xa │ 0x… │ 0xf │ 0x6 │ 0x… │ 0x… │ 0x… │ 0… │ 0xa │
│ 0x0 │ 0xc │ 0x… │ 0x… │ 0xd │ 0x… │ 0x… │ 0x… │ 0… │ 0x… │
│ 0xd │ 0xb │ 0x… │ 0x1 │ 0x… │ 0x5 │ 0x2 │ 0xf │ 0… │ 0x5 │
│ 0xa │ 0xa │ 0x… │ 0xc │ 0x2 │ 0xe │ 0xc │ 0x… │ 0… │ 0x0 │
│ 0x6 │ 0x… │ 0x2 │ 0x… │ 0xb │ 0x0 │ 0xb │ 0x7 │ 0… │ 0x… │
│ 0x… │ 0x1 │ 0x… │ 0x9 │ 0xf │ 0x… │ 0x7 │ 0x… │ 0… │ 0x5 │
│ 0x4 │ 0x… │ 0xe │ 0xc │ 0xe │ 0x1 │ 0x0 │ 0x4 │ 0… │ 0x6 │
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴────┴─────┘┏┓
└┘┏━━━━┳━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━┩
│ 0… │ 0… │ 0… │ 0x0 │ 0… │ 0x… │ 0… │ 0x… │ 0… │ 0x2 │ 0… │
│ 0… │ 0… │ 0… │ 0xc │ 0… │ 0x… │ 0… │ 0xc │ 0… │ 0xa │ 0… │
│ 0… │ 0… │ 0… │ 0xa │ 0… │ 0xb │ 0… │ 0x… │ 0… │ 0x5 │ 0… │
│ 0… │ 0… │ 0… │ 0x7 │ 0… │ 0x… │ 0… │ 0x… │ 0… │ 0x… │ 0… │
│ 0… │ 0… │ 0… │ 0xc │ 0… │ 0x4 │ 0… │ 0xa │ 0… │ 0x3 │ 0… │
│ 0… │ 0… │ 0… │ 0xd │ 0… │ 0x4 │ 0… │ 0x0 │ 0… │ 0xe │ 0… │
│ 0… │ 0… │ 0… │ 0x5 │ 0… │ 0xa │ 0… │ 0x… │ 0… │ 0x4 │ 0… │
│ 0… │ 0… │ 0… │ 0xb │ 0… │ 0x… │ 0… │ 0x2 │ 0… │ 0x… │ 0… │
└────┴────┴────┴─────┴────┴─────┴────┴─────┴────┴─────┴────┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x8 │ 0xc │ 0x1 │ 0x10 │ 0x2 │ 0x6 │
│ 0x10 │ 0x6 │ 0x0 │ 0x6 │ 0x8 │ 0x12 │
│ 0x7 │ 0x2 │ 0x13 │ 0xa │ 0x2 │ 0xa │
│ 0x11 │ 0x11 │ 0x4 │ 0x11 │ 0x4 │ 0xf │
│ 0xf │ 0xc │ 0x0 │ 0x8 │ 0x12 │ 0xf │
│ 0xa │ 0xc │ 0x7 │ 0x10 │ 0x4 │ 0x13 │
│ 0x14 │ 0x0 │ 0x13 │ 0x13 │ 0xf │ 0xa │
│ 0x12 │ 0x3 │ 0x1 │ 0xb │ 0xe │ 0xb │
│ 0xd │ 0xa │ 0xb │ 0x6 │ 0xe │ 0xa │
│ 0x6 │ 0x5 │ 0xc │ 0x1 │ 0xd │ 0xc │
└──────┴──────┴──────┴──────┴──────┴──────┘┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━┩
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
└───┴───┴───┴───┴───┴───┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┘┏━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━╇━━━━━━╇━━━━━━┩
│ 0x9 │ 0x5 │ 0x9 │ 0x3 │ 0x9 │ 0x14 │ 0xa │
│ 0x6 │ 0x10 │ 0x0 │ 0xb │ 0x4 │ 0xe │ 0x7 │
│ 0xd │ 0x7 │ 0x10 │ 0xd │ 0xc │ 0x11 │ 0x6 │
│ 0xc │ 0x2 │ 0xf │ 0x1 │ 0x9 │ 0x4 │ 0xf │
│ 0x3 │ 0x4 │ 0x3 │ 0xe │ 0xb │ 0x11 │ 0x13 │
│ 0x0 │ 0xe │ 0x10 │ 0xb │ 0x9 │ 0xb │ 0x6 │
│ 0xc │ 0x1 │ 0x3 │ 0x10 │ 0x3 │ 0x12 │ 0xa │
│ 0x2 │ 0x6 │ 0xc │ 0x5 │ 0xd │ 0x4 │ 0xf │
│ 0x4 │ 0x0 │ 0x5 │ 0x2 │ 0xa │ 0x1 │ 0x3 │
│ 0x4 │ 0x7 │ 0xe │ 0xd │ 0x6 │ 0xc │ 0x1 │
│ 0x1 │ 0x4 │ 0x3 │ 0xe │ 0x2 │ 0x4 │ 0x1 │
│ 0xb │ 0xe │ 0x6 │ 0x7 │ 0x7 │ 0xd │ 0xa │
│ 0x4 │ 0x2 │ 0x0 │ 0x9 │ 0xa │ 0xc │ 0xb │
└─────┴──────┴──────┴──────┴─────┴──────┴──────┘┏━━━━━┳━━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━┩
│ 0x1 │ 0x11 │ 0x2 │ 0x3 │ 0x7 │ 0x9 │ 0x7 │
└─────┴──────┴─────┴─────┴─────┴─────┴─────┘Terminal too small┏━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━┩
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
└────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━┳━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━╇━━━━━╇━━━━━━┩
│ 0x0 │ 0xd │ 0x4 │ 0x2 │ 0x5 │ 0x11 │
│ 0x8 │ 0xd │ 0x5 │ 0xc │ 0x9 │ 0x2 │
│ 0x0 │ 0x3 │ 0x12 │ 0xc │ 0x8 │ 0x12 │
│ 0x1 │ 0x14 │ 0x11 │ 0x6 │ 0x9 │ 0x9 │
│ 0x13 │ 0x11 │ 0xa │ 0x0 │ 0x4 │ 0x9 │
│ 0x9 │ 0x6 │ 0xd │ 0x6 │ 0xf │ 0x1 │
│ 0xd │ 0x2 │ 0x4 │ 0x5 │ 0x1 │ 0x11 │
└──────┴──────┴──────┴─────┴─────┴──────┘┏━━━━━┳━━━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━━╇━━━━━╇━━━━━╇━━━━━━╇━━━━━╇━━━━━━┩
│ 0xe │ 0x12 │ 0x6 │ 0xc │ 0x12 │ 0xd │ 0x11 │
│ 0xb │ 0x2 │ 0x6 │ 0x2 │ 0xe │ 0x1 │ 0x11 │
└─────┴──────┴─────┴─────┴──────┴─────┴──────┘┏┓
└┘┏━━━━━┳━━━━━━┳━━━━━━┳━━━━━┳━━━━━┳━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━━╇━━━━━━╇━━━━━╇━━━━━╇━━━━━┩
│ 0x4 │ 0x14 │ 0x10 │ 0x3 │ 0x1 │ 0xd │
└─────┴──────┴──────┴─────┴─────┴─────┘Terminal too small┏━━━━━━┳━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x7 │ 0xd │ 0x2 │ 0x12 │ 0xc │
│ 0x11 │ 0x2 │ 0xb │ 0xe │ 0x14 │
│ 0x4 │ 0x5 │ 0xb │ 0x12 │ 0x4 │
│ 0x4 │ 0x9 │ 0xd │ 0x4 │ 0x5 │
│ 0xe │ 0x8 │ 0x13 │ 0x7 │ 0x13 │
│ 0x6 │ 0x9 │ 0x6 │ 0x12 │ 0x13 │
│ 0x1 │ 0x9 │ 0x6 │ 0x13 │ 0xe │
│ 0x0 │ 0x5 │ 0x5 │ 0xa │ 0x13 │
│ 0x5 │ 0xa │ 0x1 │ 0x3 │ 0x7 │
│ 0x1 │ 0xb │ 0x6 │ 0x2 │ 0x5 │
│ 0xe │ 0xd │ 0x5 │ 0x3 │ 0x11 │
│ 0x10 │ 0x1 │ 0x13 │ 0x7 │ 0x14 │
│ 0x3 │ 0xd │ 0x4 │ 0x7 │ 0x9 │
│ 0x5 │ 0xe │ 0x4 │ 0x12 │ 0xb │
│ 0xc │ 0x0 │ 0x13 │ 0xf │ 0x9 │
│ 0xd │ 0xd │ 0x13 │ 0x5 │ 0x12 │
└──────┴─────┴──────┴──────┴──────┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x7 │ 0x9 │ 0xe │ 0x10 │
│ 0x4 │ 0x12 │ 0x6 │ 0x5 │
│ 0x10 │ 0x5 │ 0x7 │ 0xf │
│ 0x3 │ 0x3 │ 0x9 │ 0x14 │
│ 0x5 │ 0x0 │ 0xf │ 0x14 │
│ 0xc │ 0x7 │ 0x11 │ 0x14 │
└──────┴──────┴──────┴──────┘Terminal too small┏━━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━┩
│ 0… │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ 0… │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ 0… │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ 0… │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ 0… │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ 0… │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ 0… │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ 0… │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │
└────┴────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┴───┘┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━┳━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━╇━━━┩
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴──┴───┘Terminal too small┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━┩
│ 0x… │ 0x7 │ 0xf │ 0xc │ 0xb │ 0x5 │ 0xa │ 0x1 │ 0x4 │ 0… │
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴────┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x3 │ 0x8 │ 0x13 │ 0x2 │ 0x14 │ 0x11 │ 0x2 │
│ 0x0 │ 0x11 │ 0x13 │ 0x2 │ 0xb │ 0x4 │ 0xe │
│ 0x10 │ 0xd │ 0xe │ 0x1 │ 0x1 │ 0x7 │ 0x2 │
│ 0x14 │ 0x5 │ 0x0 │ 0xc │ 0x6 │ 0x6 │ 0x10 │
│ 0x2 │ 0x9 │ 0x13 │ 0x1 │ 0xc │ 0xe │ 0x11 │
│ 0xe │ 0xf │ 0x9 │ 0x2 │ 0x4 │ 0xd │ 0xf │
│ 0x7 │ 0x3 │ 0x13 │ 0xd │ 0xb │ 0x10 │ 0x6 │
│ 0xc │ 0xa │ 0xb │ 0x4 │ 0xb │ 0x3 │ 0x14 │
│ 0x1 │ 0xc │ 0x2 │ 0xe │ 0x10 │ 0x8 │ 0x11 │
│ 0xb │ 0xa │ 0xf │ 0x12 │ 0x2 │ 0x11 │ 0xa │
│ 0x0 │ 0x5 │ 0xd │ 0xd │ 0xc │ 0xe │ 0x10 │
│ 0x9 │ 0x9 │ 0xb │ 0x10 │ 0xf │ 0x7 │ 0x12 │
│ 0xf │ 0xa │ 0xc │ 0x2 │ 0x8 │ 0xa │ 0x7 │
│ 0x6 │ 0x2 │ 0x6 │ 0x11 │ 0xa │ 0x12 │ 0xd │
│ 0x1 │ 0xf │ 0x5 │ 0xe │ 0xa │ 0x1 │ 0x0 │
│ 0xe │ 0x1 │ 0x9 │ 0x2 │ 0xc │ 0x10 │ 0x4 │
└──────┴──────┴──────┴──────┴──────┴──────┴──────┘┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━┩
│ 0x8 │ 0x… │ 0x4 │ 0x3 │ 0x4 │ 0x… │ 0x2 │ 0xb │ 0xa │ 0… │
│ 0x6 │ 0x… │ 0x… │ 0xc │ 0xf │ 0x9 │ 0x6 │ 0x… │ 0x2 │ 0… │
│ 0x8 │ 0x4 │ 0xc │ 0x8 │ 0x… │ 0x1 │ 0x3 │ 0x3 │ 0x7 │ 0… │
│ 0xe │ 0x1 │ 0x7 │ 0x4 │ 0xc │ 0x… │ 0x… │ 0x… │ 0x2 │ 0… │
│ 0xd │ 0x3 │ 0x9 │ 0x1 │ 0x0 │ 0x… │ 0x6 │ 0x5 │ 0xa │ 0… │
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴────┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0xb │ 0x12 │ 0xa │ 0xd │ 0x13 │ 0xe │ 0x8 │ 0x10 │
│ 0x2 │ 0x0 │ 0xd │ 0x9 │ 0x1 │ 0x6 │ 0x8 │ 0xd │
│ 0x5 │ 0xa │ 0xa │ 0xc │ 0x4 │ 0x4 │ 0x5 │ 0x13 │
│ 0xa │ 0x9 │ 0x6 │ 0xd │ 0xe │ 0x10 │ 0x8 │ 0x11 │
│ 0x11 │ 0x14 │ 0x10 │ 0xb │ 0x8 │ 0xb │ 0x10 │ 0x7 │
│ 0x1 │ 0xb │ 0x0 │ 0x5 │ 0xe │ 0x1 │ 0x4 │ 0x14 │
│ 0x0 │ 0x2 │ 0x4 │ 0x6 │ 0x7 │ 0xe │ 0x5 │ 0x3 │
│ 0x7 │ 0x11 │ 0x10 │ 0x1 │ 0x0 │ 0x13 │ 0x10 │ 0x4 │
│ 0x5 │ 0x3 │ 0xc │ 0x12 │ 0x7 │ 0x13 │ 0x6 │ 0xf │
│ 0x5 │ 0x1 │ 0x2 │ 0xf │ 0x14 │ 0xb │ 0x7 │ 0x2 │
│ 0x12 │ 0xc │ 0xd │ 0xb │ 0xa │ 0x13 │ 0x1 │ 0x1 │
└──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘┏┓
└┘┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━┩
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
└───┴───┴───┴───┴───┴───┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┘Terminal too small┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x3 │ 0xc │ 0x1 │ 0x4 │ 0x11 │
│ 0x7 │ 0x5 │ 0xf │ 0xa │ 0x12 │
│ 0x7 │ 0xf │ 0xa │ 0x8 │ 0xf │
│ 0x8 │ 0x7 │ 0xe │ 0xa │ 0xf │
│ 0x12 │ 0x14 │ 0x3 │ 0x8 │ 0x13 │
│ 0x3 │ 0x12 │ 0x7 │ 0x10 │ 0x13 │
│ 0x7 │ 0x1 │ 0x12 │ 0x5 │ 0x7 │
└──────┴──────┴──────┴──────┴──────┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x2 │ 0xf │ 0x0 │ 0x12 │ 0x11 │ 0x11 │ 0xe │
│ 0x14 │ 0xa │ 0x4 │ 0x8 │ 0x11 │ 0x1 │ 0xa │
│ 0xb │ 0x7 │ 0xa │ 0x0 │ 0xd │ 0x8 │ 0x14 │
│ 0x8 │ 0xb │ 0x6 │ 0xf │ 0x1 │ 0x12 │ 0x8 │
│ 0x13 │ 0x4 │ 0x4 │ 0x8 │ 0x3 │ 0x3 │ 0xd │
│ 0xf │ 0x10 │ 0x11 │ 0xa │ 0x5 │ 0x14 │ 0x7 │
│ 0x12 │ 0x7 │ 0x14 │ 0xf │ 0x13 │ 0x0 │ 0x12 │
│ 0x14 │ 0x0 │ 0x14 │ 0x6 │ 0x12 │ 0xd │ 0xe │
│ 0xb │ 0x0 │ 0x4 │ 0xe │ 0x2 │ 0x9 │ 0x4 │
│ 0x11 │ 0x11 │ 0xa │ 0xd │ 0x7 │ 0xd │ 0x4 │
│ 0x7 │ 0x8 │ 0x14 │ 0x3 │ 0x0 │ 0xa │ 0x10 │
│ 0x2 │ 0x1 │ 0xf │ 0x8 │ 0x13 │ 0x0 │ 0x2 │
│ 0x13 │ 0x2 │ 0x14 │ 0x5 │ 0xc │ 0x5 │ 0xc │
└──────┴──────┴──────┴──────┴──────┴──────┴──────┘Terminal too small┏┓
└┘┏━━━━━━┳━━━━━━┓
┃ ┃ ┃
┡━━━━━━╇━━━━━━┩
│ 0x4 │ 0x4 │
│ 0x11 │ 0xc │
│ 0xf │ 0x2 │
│ 0xe │ 0x0 │
│ 0xe │ 0x1 │
│ 0x7 │ 0x3 │
│ 0xc │ 0x1 │
│ 0x11 │ 0x8 │
│ 0x2 │ 0x7 │
│ 0x10 │ 0x5 │
│ 0x4 │ 0x12 │
│ 0xf │ 0x4 │
│ 0x12 │ 0x10 │
│ 0x13 │ 0x14 │
└──────┴──────┘┏━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━┩
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
└────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┘┏━━━━━━┓
┃ ┃
┡━━━━━━┩
│ 0x12 │
└──────┘Terminal too small┏┓
└┘┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━┳━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━╇━━━┩
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴──┴───┘┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━┩
│ 0xa │ 0xa │ 0x9 │ 0x4 │ 0xc │ 0xa │ 0x4 │ 0x1 │ 0x2 │ 0… │
│ 0xd │ 0x7 │ 0x… │ 0x… │ 0x0 │ 0x… │ 0x3 │ 0xc │ 0x0 │ 0… │
│ 0x5 │ 0x… │ 0xc │ 0x1 │ 0xf │ 0x3 │ 0x7 │ 0x0 │ 0x3 │ 0… │
│ 0x0 │ 0x7 │ 0x7 │ 0x8 │ 0xc │ 0x… │ 0x8 │ 0xa │ 0xe │ 0… │
│ 0x7 │ 0x… │ 0xc │ 0xd │ 0xd │ 0xc │ 0xe │ 0x… │ 0x… │ 0… │
│ 0xe │ 0x0 │ 0x5 │ 0xc │ 0x5 │ 0x0 │ 0x8 │ 0xe │ 0x3 │ 0… │
│ 0x8 │ 0x8 │ 0x… │ 0x… │ 0x0 │ 0x1 │ 0x6 │ 0x3 │ 0x… │ 0… │
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴────┘┏━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━╇━━┩
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┴──┘┏━━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━━━┳━━━━━┳━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━━╇━━━━━╇━━━━━╇━━━━━┩
│ 0xb │ 0xd │ 0x9 │ 0x4 │ 0x11 │ 0x0 │ 0xa │ 0x9 │
│ 0x10 │ 0xb │ 0x4 │ 0x1 │ 0xa │ 0xd │ 0x9 │ 0xe │
│ 0x8 │ 0xf │ 0x3 │ 0x5 │ 0x8 │ 0x4 │ 0x4 │ 0x2 │
│ 0xb │ 0x8 │ 0xa │ 0x5 │ 0x5 │ 0x1 │ 0xc │ 0xd │
│ 0xa │ 0x2 │ 0x6 │ 0x6 │ 0x13 │ 0x6 │ 0xb │ 0x9 │
└──────┴─────┴─────┴─────┴──────┴─────┴─────┴─────┘┏━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x2 │ 0x10 │ 0x3 │ 0x4 │
│ 0x5 │ 0xc │ 0x2 │ 0xf │
│ 0x5 │ 0xe │ 0x2 │ 0x12 │
│ 0xd │ 0x9 │ 0x1 │ 0x13 │
│ 0xe │ 0x1 │ 0x11 │ 0xf │
│ 0x6 │ 0x9 │ 0x8 │ 0x8 │
└─────┴──────┴──────┴──────┘Terminal too small┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━┩
│ 0xb │ 0xf │ 0xd │ 0xf │ 0x6 │ 0x5 │ 0xa │ 0x5 │ 0xe │ 0… │
│ 0x5 │ 0x9 │ 0x7 │ 0x5 │ 0x7 │ 0x… │ 0xe │ 0x6 │ 0xd │ 0… │
│ 0x3 │ 0x8 │ 0x6 │ 0x8 │ 0x8 │ 0xe │ 0x… │ 0x5 │ 0x1 │ 0… │
│ 0xe │ 0x5 │ 0x9 │ 0x… │ 0xa │ 0x8 │ 0xd │ 0x4 │ 0x4 │ 0… │
│ 0xd │ 0x5 │ 0x9 │ 0x… │ 0x… │ 0xb │ 0x0 │ 0xc │ 0xf │ 0… │
│ 0x… │ 0x2 │ 0x… │ 0x8 │ 0x1 │ 0x9 │ 0x5 │ 0xe │ 0x4 │ 0… │
│ 0x4 │ 0xa │ 0x3 │ 0x4 │ 0x… │ 0x8 │ 0x4 │ 0xf │ 0x4 │ 0… │
│ 0xb │ 0x… │ 0x… │ 0xe │ 0x… │ 0x… │ 0xf │ 0xa │ 0x2 │ 0… │
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴────┘┏┓
└┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0xe │ 0x13 │ 0x13 │ 0xe │ 0x0 │
│ 0x3 │ 0xc │ 0x7 │ 0xf │ 0xa │
│ 0xd │ 0x10 │ 0x12 │ 0x0 │ 0xd │
│ 0xf │ 0x13 │ 0x9 │ 0x10 │ 0xa │
│ 0xe │ 0xd │ 0x2 │ 0x11 │ 0xa │
│ 0x9 │ 0x14 │ 0x13 │ 0x13 │ 0xe │
│ 0x5 │ 0x10 │ 0x4 │ 0x3 │ 0x10 │
│ 0x11 │ 0x9 │ 0x8 │ 0xb │ 0x13 │
│ 0xa │ 0xd │ 0x2 │ 0xf │ 0x11 │
│ 0xb │ 0x0 │ 0xf │ 0x5 │ 0x9 │
│ 0xe │ 0xc │ 0x3 │ 0x13 │ 0xe │
│ 0x2 │ 0xb │ 0x1 │ 0x6 │ 0x11 │
│ 0xe │ 0xc │ 0xd │ 0xc │ 0x0 │
│ 0x11 │ 0x10 │ 0x4 │ 0x3 │ 0x4 │
│ 0x5 │ 0x13 │ 0xc │ 0xe │ 0xf │
└──────┴──────┴──────┴──────┴──────┘┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━┩
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │ … │
└───┴───┴───┴───┴───┴───┴───┴───┴────┴───┴────┴───┴────┴───┘┏━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━┩
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
└────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┘┏━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━┩
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
└──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┘┏━━━━━┳━━━━━┓
┃ ┃ ┃
┡━━━━━╇━━━━━┩
│ 0x7 │ 0xe │
│ 0xe │ 0x0 │
└─────┴─────┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━┳━━━━━━┳━━━━━┳━━━━━━┳━━━━━┳━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━╇━━━━━━╇━━━━━╇━━━━━━╇━━━━━╇━━━━━┩
│ 0x13 │ 0xa │ 0xb │ 0xa │ 0x11 │ 0xe │ 0x5 │ 0x6 │ 0xc │
│ 0x8 │ 0x7 │ 0xe │ 0x4 │ 0xb │ 0x0 │ 0x12 │ 0x9 │ 0x6 │
│ 0x14 │ 0x13 │ 0x11 │ 0x5 │ 0x8 │ 0x… │ 0x9 │ 0x3 │ 0xb │
│ 0xa │ 0x5 │ 0xc │ 0x3 │ 0x5 │ 0x7 │ 0xb │ 0x1 │ 0x… │
│ 0x11 │ 0x9 │ 0x2 │ 0x9 │ 0x3 │ 0x8 │ 0x3 │ 0xc │ 0x… │
│ 0xa │ 0x7 │ 0x14 │ 0x1 │ 0x1 │ 0x9 │ 0x3 │ 0x3 │ 0x7 │
└──────┴──────┴──────┴─────┴──────┴─────┴──────┴─────┴─────┘┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━┳━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━╇━━━┩
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ │ … │
└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴──┴───┘┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━╇━━━━┩
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
└────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴───┴────┘┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━╇━━━━┩
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
└────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴───┴────┘┏━━━━━━┓
┃ ┃
┡━━━━━━┩
│ 0xf │
│ 0x2 │
│ 0x5 │
│ 0x1 │
│ 0x4 │
│ 0x3 │
│ 0x12 │
│ 0xa │
│ 0x1 │
│ 0x2 │
└──────┘┏┓
└┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0xc │ 0x3 │ 0x1 │ 0x3 │ 0x14 │ 0xa │ 0x5 │ 0x12 │
│ 0x4 │ 0x2 │ 0x9 │ 0x6 │ 0x11 │ 0x13 │ 0x8 │ 0xe │
│ 0xf │ 0xb │ 0x4 │ 0x3 │ 0xc │ 0xb │ 0xc │ 0xe │
│ 0x3 │ 0x4 │ 0x5 │ 0x3 │ 0x6 │ 0xe │ 0xd │ 0x8 │
│ 0x1 │ 0x14 │ 0x9 │ 0xc │ 0x11 │ 0xf │ 0xb │ 0x8 │
│ 0x14 │ 0x8 │ 0x10 │ 0xc │ 0x14 │ 0x7 │ 0x10 │ 0x1 │
│ 0x7 │ 0x6 │ 0x5 │ 0xe │ 0xe │ 0x14 │ 0x6 │ 0x12 │
│ 0x8 │ 0xe │ 0x9 │ 0x10 │ 0x10 │ 0x6 │ 0x4 │ 0x7 │
│ 0x11 │ 0xa │ 0x12 │ 0xb │ 0x3 │ 0x13 │ 0x6 │ 0x13 │
│ 0xb │ 0x0 │ 0x11 │ 0x0 │ 0x8 │ 0x13 │ 0x4 │ 0x12 │
│ 0x10 │ 0x0 │ 0x4 │ 0x1 │ 0x1 │ 0x11 │ 0x3 │ 0xf │
│ 0xe │ 0xd │ 0xa │ 0x13 │ 0x12 │ 0x13 │ 0xf │ 0x9 │
│ 0x1 │ 0xe │ 0x14 │ 0xb │ 0x6 │ 0x14 │ 0x12 │ 0x11 │
└──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘┏┓
└┘┏━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━┩
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
└──┴──┴──┴──┴──┴──┴──┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┘Terminal too small┏━━━━━━┳━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━╇━━━━━━┩
│ 0x14 │ 0xc │ 0x14 │
│ 0x12 │ 0x2 │ 0x4 │
│ 0x0 │ 0x1 │ 0x7 │
│ 0x14 │ 0x7 │ 0x5 │
│ 0xc │ 0x5 │ 0x8 │
└──────┴─────┴──────┘Terminal too small┏┓
└┘┏━━━━━━┳━━━━━━┓
┃ ┃ ┃
┡━━━━━━╇━━━━━━┩
│ 0x12 │ 0x10 │
│ 0x13 │ 0x8 │
│ 0x1 │ 0x10 │
│ 0xe │ 0x10 │
│ 0x6 │ 0x4 │
│ 0xc │ 0xb │
│ 0x10 │ 0x8 │
│ 0x9 │ 0x12 │
│ 0x4 │ 0x14 │
│ 0x14 │ 0x10 │
│ 0xb │ 0x12 │
│ 0x4 │ 0x7 │
│ 0x8 │ 0x14 │
│ 0xc │ 0x9 │
│ 0x8 │ 0xe │
└──────┴──────┘┏━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x11 │ 0x11 │ 0x10 │
│ 0x11 │ 0x10 │ 0x4 │
│ 0x12 │ 0xc │ 0xc │
│ 0xf │ 0x10 │ 0x14 │
│ 0x6 │ 0x12 │ 0x5 │
│ 0x13 │ 0xe │ 0x13 │
│ 0x9 │ 0x0 │ 0xf │
│ 0x14 │ 0xb │ 0x14 │
│ 0x13 │ 0x8 │ 0xe │
│ 0x9 │ 0xa │ 0x10 │
│ 0x4 │ 0xe │ 0x0 │
│ 0x3 │ 0x12 │ 0x3 │
│ 0x13 │ 0x6 │ 0xf │
│ 0x4 │ 0x9 │ 0x0 │
│ 0x1 │ 0xb │ 0x3 │
│ 0x4 │ 0x10 │ 0x5 │
└──────┴──────┴──────┘┏━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━┩
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
└────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┘┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━╇━━━━┩
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
│ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ 0… │ … │ 0… │
└────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴───┴────┘┏━━━━━━┓
┃ ┃
┡━━━━━━┩
│ 0x13 │
│ 0x12 │
│ 0x6 │
│ 0x3 │
│ 0x8 │
│ 0x6 │
│ 0x8 │
└──────┘Terminal too small┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━┩
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
└───┴───┴───┴───┴───┴───┴───┴───┴───┴────┴───┴────┴───┴────┘┏━━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━╇━━━━━╇━━━━━━╇━━━━━┩
│ 0xb │ 0x7 │ 0x7 │ 0x8 │ 0xe │
│ 0x6 │ 0xf │ 0x3 │ 0x11 │ 0x5 │
└─────┴─────┴─────┴──────┴─────┘┏┓
└┘Terminal too small┏━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━┩
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
└──┴──┴──┴──┴──┴──┴──┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┘┏┓
└┘┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━┩
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
└───┴───┴───┴───┴───┴───┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x3 │ 0xc │ 0x9 │ 0x0 │ 0xc │ 0xd │ 0x12 │
│ 0xb │ 0x11 │ 0x7 │ 0x5 │ 0x14 │ 0x13 │ 0x10 │
│ 0xc │ 0x2 │ 0xe │ 0x11 │ 0xf │ 0x1 │ 0x7 │
│ 0x7 │ 0x9 │ 0x2 │ 0x2 │ 0x9 │ 0xe │ 0xa │
│ 0x3 │ 0x10 │ 0x1 │ 0xc │ 0xa │ 0x1 │ 0x12 │
│ 0x11 │ 0x13 │ 0xc │ 0x13 │ 0x5 │ 0x13 │ 0x11 │
│ 0xc │ 0x14 │ 0x9 │ 0x5 │ 0x12 │ 0x12 │ 0x2 │
│ 0x5 │ 0x7 │ 0xd │ 0xd │ 0x1 │ 0x14 │ 0x7 │
│ 0xb │ 0x11 │ 0xa │ 0xd │ 0x11 │ 0x12 │ 0x11 │
│ 0x14 │ 0x14 │ 0xe │ 0x2 │ 0x5 │ 0x9 │ 0x0 │
│ 0x12 │ 0x5 │ 0xc │ 0x14 │ 0x1 │ 0x14 │ 0x14 │
│ 0x13 │ 0x2 │ 0xa │ 0xc │ 0x12 │ 0x13 │ 0xa │
│ 0xe │ 0x8 │ 0xf │ 0x0 │ 0x8 │ 0x2 │ 0x8 │
│ 0xb │ 0xe │ 0x13 │ 0x0 │ 0x3 │ 0x7 │ 0x2 │
│ 0x4 │ 0x11 │ 0x8 │ 0x9 │ 0x4 │ 0xf │ 0x1 │
│ 0xc │ 0xc │ 0xd │ 0xf │ 0xe │ 0x4 │ 0xc │
└──────┴──────┴──────┴──────┴──────┴──────┴──────┘┏━━━━━━┓
┃ ┃
┡━━━━━━┩
│ 0x4 │
│ 0x1 │
│ 0x4 │
│ 0x2 │
│ 0x4 │
│ 0x14 │
│ 0x5 │
│ 0x12 │
│ 0xc │
│ 0x4 │
│ 0x9 │
│ 0x3 │
│ 0x13 │
│ 0x12 │
│ 0x13 │
│ 0x2 │
└──────┘┏━━━━━━┳━━━━━━┳━━━━━┳━━━━━━┳━━━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━╇━━━━━━╇━━━━━━╇━━━━━╇━━━━━╇━━━━━━╇━━━━━┩
│ 0x13 │ 0x6 │ 0x1 │ 0xa │ 0x9 │ 0x5 │ 0x8 │ 0xa │ 0x3 │
│ 0x5 │ 0x3 │ 0x2 │ 0x13 │ 0xc │ 0x… │ 0x5 │ 0xb │ 0x… │
│ 0x8 │ 0xd │ 0xf │ 0xe │ 0xc │ 0x1 │ 0xf │ 0xb │ 0xc │
│ 0x14 │ 0x1 │ 0x1 │ 0x5 │ 0x6 │ 0x5 │ 0xd │ 0x12 │ 0x2 │
│ 0x5 │ 0x9 │ 0x9 │ 0xe │ 0x14 │ 0x… │ 0x3 │ 0xe │ 0x… │
│ 0xa │ 0x12 │ 0xc │ 0xe │ 0x8 │ 0x3 │ 0x0 │ 0x0 │ 0x7 │
│ 0x1 │ 0x11 │ 0x4 │ 0x2 │ 0x6 │ 0x… │ 0x8 │ 0xf │ 0x9 │
│ 0xc │ 0x14 │ 0x6 │ 0x6 │ 0x7 │ 0xd │ 0x0 │ 0xe │ 0x… │
└──────┴──────┴─────┴──────┴──────┴─────┴─────┴──────┴─────┘┏━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━┩
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
│ │ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┘┏━━━━┳━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━┩
│ 0… │ 0… │ 0… │ 0x9 │ 0… │ 0x9 │ 0… │ 0x5 │ 0… │ 0xd │ 0… │
│ 0… │ 0… │ 0… │ 0xf │ 0… │ 0x… │ 0… │ 0x2 │ 0… │ 0x… │ 0… │
│ 0… │ 0… │ 0… │ 0x… │ 0… │ 0x… │ 0… │ 0x6 │ 0… │ 0x1 │ 0… │
│ 0… │ 0… │ 0… │ 0xe │ 0… │ 0x6 │ 0… │ 0x5 │ 0… │ 0x4 │ 0… │
│ 0… │ 0… │ 0… │ 0x6 │ 0… │ 0x… │ 0… │ 0x… │ 0… │ 0x6 │ 0… │
│ 0… │ 0… │ 0… │ 0xf │ 0… │ 0xb │ 0… │ 0x7 │ 0… │ 0x… │ 0… │
│ 0… │ 0… │ 0… │ 0x8 │ 0… │ 0x… │ 0… │ 0x… │ 0… │ 0x2 │ 0… │
│ 0… │ 0… │ 0… │ 0x… │ 0… │ 0x… │ 0… │ 0xd │ 0… │ 0x8 │ 0… │
│ 0… │ 0… │ 0… │ 0x3 │ 0… │ 0x0 │ 0… │ 0xf │ 0… │ 0x1 │ 0… │
│ 0… │ 0… │ 0… │ 0x… │ 0… │ 0x4 │ 0… │ 0xa │ 0… │ 0x… │ 0… │
│ 0… │ 0… │ 0… │ 0x4 │ 0… │ 0x7 │ 0… │ 0x8 │ 0… │ 0xb │ 0… │
│ 0… │ 0… │ 0… │ 0xc │ 0… │ 0x4 │ 0… │ 0xd │ 0… │ 0x… │ 0… │
│ 0… │ 0… │ 0… │ 0x4 │ 0… │ 0x… │ 0… │ 0x… │ 0… │ 0x… │ 0… │
└────┴────┴────┴─────┴────┴─────┴────┴─────┴────┴─────┴────┘┏━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x0 │ 0xa │ 0x10 │
│ 0x8 │ 0xf │ 0xf │
│ 0x12 │ 0x1 │ 0x6 │
│ 0x0 │ 0xa │ 0x12 │
│ 0x11 │ 0x12 │ 0x4 │
│ 0x11 │ 0xa │ 0x13 │
│ 0x5 │ 0x5 │ 0x7 │
│ 0x14 │ 0xd │ 0xe │
└──────┴──────┴──────┘┏┓
└┘┏┓
└┘┏━━━━┳━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━┩
│ 0… │ 0… │ 0… │ 0x… │ 0… │ 0xe │ 0… │ 0x9 │ 0… │ 0x8 │ 0… │
│ 0… │ 0… │ 0… │ 0xf │ 0… │ 0x3 │ 0… │ 0x… │ 0… │ 0x8 │ 0… │
│ 0… │ 0… │ 0… │ 0x7 │ 0… │ 0xb │ 0… │ 0x… │ 0… │ 0x… │ 0… │
│ 0… │ 0… │ 0… │ 0x… │ 0… │ 0x… │ 0… │ 0x0 │ 0… │ 0xc │ 0… │
│ 0… │ 0… │ 0… │ 0x1 │ 0… │ 0xd │ 0… │ 0xf │ 0… │ 0x… │ 0… │
│ 0… │ 0… │ 0… │ 0x… │ 0… │ 0x1 │ 0… │ 0x9 │ 0… │ 0x… │ 0… │
│ 0… │ 0… │ 0… │ 0x4 │ 0… │ 0xb │ 0… │ 0xb │ 0… │ 0x3 │ 0… │
│ 0… │ 0… │ 0… │ 0x… │ 0… │ 0x5 │ 0… │ 0x8 │ 0… │ 0xe │ 0… │
│ 0… │ 0… │ 0… │ 0x9 │ 0… │ 0x6 │ 0… │ 0x… │ 0… │ 0xd │ 0… │
│ 0… │ 0… │ 0… │ 0x… │ 0… │ 0x… │ 0… │ 0x… │ 0… │ 0xd │ 0… │
│ 0… │ 0… │ 0… │ 0xb │ 0… │ 0xf │ 0… │ 0x… │ 0… │ 0xb │ 0… │
│ 0… │ 0… │ 0… │ 0x6 │ 0… │ 0x… │ 0… │ 0x5 │ 0… │ 0x9 │ 0… │
└────┴────┴────┴─────┴────┴─────┴────┴─────┴────┴─────┴────┘┏┓
└┘┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━┩
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
│ … │ … │ … │ … │ … │ … │ … │ │ … │ │ … │ │ … │ │ … │ │
└───┴───┴───┴───┴───┴───┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┘┏━━━━━┳━━━━━┳━━━━━━┳━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━╇━━━━━╇━━━━━━╇━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x1 │ 0x8 │ 0x14 │ 0x1 │ 0x12 │ 0x14 │ 0x0 │
│ 0x5 │ 0x0 │ 0x4 │ 0xf │ 0x5 │ 0x8 │ 0x5 │
│ 0x2 │ 0x7 │ 0x8 │ 0x7 │ 0x4 │ 0xf │ 0x2 │
│ 0x2 │ 0xa │ 0x7 │ 0xd │ 0x3 │ 0x11 │ 0x10 │
│ 0x7 │ 0xd │ 0x14 │ 0xc │ 0x7 │ 0xb │ 0x4 │
└─────┴─────┴──────┴─────┴──────┴──────┴──────┘┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━┩
│ 0xf │ 0xa │ 0x10 │ 0x13 │ 0xc │
│ 0xb │ 0x6 │ 0x8 │ 0x1 │ 0x12 │
│ 0x12 │ 0x11 │ 0x10 │ 0xc │ 0x3 │
│ 0x3 │ 0x12 │ 0xa │ 0x14 │ 0x12 │
│ 0x0 │ 0x5 │ 0x5 │ 0x4 │ 0xa │
│ 0x8 │ 0x2 │ 0xc │ 0x5 │ 0x9 │
│ 0x14 │ 0xb │ 0x0 │ 0x4 │ 0x6 │
│ 0x10 │ 0xe │ 0x10 │ 0x1 │ 0xe │
│ 0xc │ 0x2 │ 0x8 │ 0x11 │ 0x12 │
│ 0x9 │ 0xb │ 0x12 │ 0x2 │ 0x13 │
│ 0x12 │ 0x2 │ 0x8 │ 0x12 │ 0x8 │
│ 0x5 │ 0x11 │ 0x3 │ 0x7 │ 0x0 │
│ 0x5 │ 0xa │ 0xc │ 0x3 │ 0x9 │
└──────┴──────┴──────┴──────┴──────┘┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━━╇━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━┩
│ 0… │ 0… │ 0… │ 0… │ 0xc │ 0… │ 0x7 │ 0… │ 0x… │ 0… │ 0x8 │
│ 0… │ 0… │ 0… │ 0… │ 0x… │ 0… │ 0xf │ 0… │ 0x7 │ 0… │ 0xd │
│ 0… │ 0… │ 0… │ 0… │ 0x4 │ 0… │ 0xa │ 0… │ 0x… │ 0… │ 0xf │
│ 0… │ 0… │ 0… │ 0… │ 0x9 │ 0… │ 0x… │ 0… │ 0xf │ 0… │ 0x1 │
│ 0… │ 0… │ 0… │ 0… │ 0xb │ 0… │ 0x8 │ 0… │ 0xd │ 0… │ 0xb │
│ 0… │ 0… │ 0… │ 0… │ 0x… │ 0… │ 0x3 │ 0… │ 0xf │ 0… │ 0x… │
│ 0… │ 0… │ 0… │ 0… │ 0xf │ 0… │ 0xd │ 0… │ 0x1 │ 0… │ 0xa │
│ 0… │ 0… │ 0… │ 0… │ 0x7 │ 0… │ 0xe │ 0… │ 0x9 │ 0… │ 0x… │
│ 0… │ 0… │ 0… │ 0… │ 0x9 │ 0… │ 0x4 │ 0… │ 0xa │ 0… │ 0x7 │
│ 0… │ 0… │ 0… │ 0… │ 0x… │ 0… │ 0x6 │ 0… │ 0xe │ 0… │ 0xe │
│ 0… │ 0… │ 0… │ 0… │ 0x5 │ 0… │ 0xc │ 0… │ 0xe │ 0… │ 0xa │
│ 0… │ 0… │ 0… │ 0… │ 0x6 │ 0… │ 0x3 │ 0… │ 0xe │ 0… │ 0x3 │
│ 0… │ 0… │ 0… │ 0… │ 0xa │ 0… │ 0x… │ 0… │ 0xf │ 0… │ 0x… │
│ 0… │ 0… │ 0… │ 0… │ 0x… │ 0… │ 0x5 │ 0… │ 0x… │ 0… │ 0x0 │
└────┴────┴────┴────┴─────┴────┴─────┴────┴─────┴────┴─────┘┏━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━┩
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
└──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┘┏━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━┩
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │ … │ │
└──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┘┏━━━━━━┳━━━━━━┳━━━━━━┓
┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━━┩
│ 0x6 │ 0x8 │ 0x2 │
│ 0x10 │ 0x9 │ 0xd │
│ 0x3 │ 0x4 │ 0x0 │
│ 0x13 │ 0x1 │ 0x0 │
│ 0xa │ 0x7 │ 0x5 │
│ 0xe │ 0x2 │ 0x14 │
│ 0x0 │ 0x13 │ 0x3 │
│ 0x7 │ 0x1 │ 0x1 │
│ 0x14 │ 0xe │ 0x14 │
│ 0x11 │ 0x5 │ 0xd │
│ 0x8 │ 0x14 │ 0xa │
└──────┴──────┴──────┘┏━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━┩
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
│ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │ … │ 0… │
└────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┴───┴────┘Terminal too small┏━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┳━━━┳━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━╇━━━╇━━┩
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
│ │ │ │ │ │ │ │ │ … │ │ … │ │ … │ │ … │ │ … │ │
└──┴──┴──┴──┴──┴──┴──┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┘┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━┳━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━╇━━━━╇━━━╇━━━━╇━━━╇━━━━┩
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
│ … │ … │ … │ … │ … │ … │ … │ … │ … │ 0… │ … │ 0… │ … │ 0… │
└───┴───┴───┴───┴───┴───┴───┴───┴───┴────┴───┴────┴───┴────┘┏━━━━━━┳━━━━━━┓
┃ ┃ ┃
┡━━━━━━╇━━━━━━┩
│ 0xb │ 0xc │
│ 0xe │ 0x6 │
│ 0x11 │ 0x10 │
│ 0x4 │ 0xf │
│ 0x1 │ 0xf │
│ 0x11 │ 0x11 │
│ 0xc │ 0x1 │
└──────┴──────┘┏━━━━━━┳━━━━━━┳━━━━━┳━━━━━━┳━━━━━┳━━━━━━┳━━━━━┳━━━━━━┳━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┡━━━━━━╇━━━━━━╇━━━━━╇━━━━━━╇━━━━━╇━━━━━━╇━━━━━╇━━━━━━╇━━━━━┩
│ 0x2 │ 0x8 │ 0x2 │ 0x6 │ 0x6 │ 0x5 │ 0x… │ 0x13 │ 0x2 │
│ 0x1 │ 0xf │ 0xb │ 0x2 │ 0xc │ 0x8 │ 0xe │ 0x5 │ 0x… │
│ 0xf │ 0x10 │ 0x8 │ 0x14 │ 0xf │ 0xf │ 0xe │ 0xe │ 0x8 │
│ 0x10 │ 0x14 │ 0xe │ 0xc │ 0x… │ 0x2 │ 0x4 │ 0x13 │ 0x… │
│ 0x6 │ 0xe │ 0x… │ 0x11 │ 0x… │ 0x10 │ 0xe │ 0x12 │ 0x1 │
└──────┴──────┴─────┴──────┴─────┴──────┴─────┴──────┴─────┘┏━━━━━┓
┃ ┃
┡━━━━━┩
│ 0x2 │
│ 0x0 │
│ 0x0 │
└─────┘┏━━━━━┓
┃ ┃
┡━━━━━┩
│ 0x2 │
│ 0x0 │
│ 0x0 │
└─────┘
[?25h

View file

@ -1,261 +1,261 @@
import io
import os
import random
import sys
import time
from typing import List
# import io
# import os
# import random
# import sys
# import time
# from typing import List
import pytest
from rich.console import Console
from rich.live import Live
from rich.table import Table
from rich.text import Text
# import pytest
# from rich.console import Console
# from rich.live import Live
# from rich.table import Table
# from rich.text import Text
from tests.util import get_capture_text, set_capture_text
# from tests.util import get_capture_text, set_capture_text
def create_capture_console(*, width: int = 60, height: int = 80) -> Console:
return Console(
width=width,
height=height,
file=io.StringIO(),
force_terminal=True,
legacy_windows=False,
color_system=None, # use no color system to reduce complexity of output
)
# def create_capture_console(*, width: int = 60, height: int = 80) -> Console:
# return Console(
# width=width,
# height=height,
# file=io.StringIO(),
# force_terminal=True,
# legacy_windows=False,
# color_system=None, # use no color system to reduce complexity of output
# )
def create_base_table() -> Table:
table = Table(title="test table", caption="table caption", expand=True)
table.add_column("foo", footer=Text("total"), no_wrap=True, overflow="ellipsis")
table.add_column("bar", justify="center")
table.add_column("baz", justify="right")
# def create_base_table() -> Table:
# table = Table(title="test table", caption="table caption", expand=True)
# table.add_column("foo", footer=Text("total"), no_wrap=True, overflow="ellipsis")
# table.add_column("bar", justify="center")
# table.add_column("baz", justify="right")
return table
# return table
def check_output(output_file: str, output: str) -> None:
output = output.replace("\r", "")
if os.getenv("CAPTURE") is not None: # adjust the correct output check
set_capture_text("live", output_file, output=output)
# def check_output(output_file: str, output: str) -> None:
# output = output.replace("\r", "")
# if os.getenv("CAPTURE") is not None: # adjust the correct output check
# set_capture_text("live", output_file, output=output)
correct_output = get_capture_text("live", output_file).replace("\r", "")
# correct_output = get_capture_text("live", output_file).replace("\r", "")
assert output == correct_output, "Console output differs from the correct output"
# assert output == correct_output, "Console output differs from the correct output"
def test_live_state() -> None:
# def test_live_state() -> None:
with Live("") as live:
assert live.is_started
live.start()
# with Live("") as live:
# assert live.is_started
# live.start()
assert live.item == ""
# assert live.item == ""
assert live.is_started
live.stop()
assert not live.is_started
# assert live.is_started
# live.stop()
# assert not live.is_started
assert not live.is_started
# assert not live.is_started
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_growing_table() -> None:
"""Test generating a table and adding more rows of data. No auto-refresh"""
console = create_capture_console()
table = create_base_table()
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_growing_table() -> None:
# """Test generating a table and adding more rows of data. No auto-refresh"""
# console = create_capture_console()
# table = create_base_table()
with console.capture() as capture, Live(
table, console=console, auto_refresh=False
) as live:
for step in range(20):
table.add_row(f"{step}", f"{step}", f"{step}")
live.refresh()
output = capture.get()
check_output("growing_table.txt", output=output)
# with console.capture() as capture, Live(
# table, console=console, auto_refresh=False
# ) as live:
# for step in range(20):
# table.add_row(f"{step}", f"{step}", f"{step}")
# live.refresh()
# output = capture.get()
# check_output("growing_table.txt", output=output)
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_growing_table_transient() -> None:
"""Test generating a table and adding more rows of data. Delete data at then end. No auto-refresh."""
console = create_capture_console()
table = create_base_table()
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_growing_table_transient() -> None:
# """Test generating a table and adding more rows of data. Delete data at then end. No auto-refresh."""
# console = create_capture_console()
# table = create_base_table()
with console.capture() as capture, Live(
table, console=console, auto_refresh=False, transient=True
) as live:
for step in range(20):
table.add_row(f"{step}", f"{step}", f"{step}")
live.refresh()
# with console.capture() as capture, Live(
# table, console=console, auto_refresh=False, transient=True
# ) as live:
# for step in range(20):
# table.add_row(f"{step}", f"{step}", f"{step}")
# live.refresh()
output = capture.get()
check_output("growing_table_transient.txt", output=output)
# output = capture.get()
# check_output("growing_table_transient.txt", output=output)
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_growing_table_overflow() -> None:
"""Test generating a table and adding more rows of data. No auto-refresh"""
console = create_capture_console(height=20)
table = create_base_table()
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_growing_table_overflow() -> None:
# """Test generating a table and adding more rows of data. No auto-refresh"""
# console = create_capture_console(height=20)
# table = create_base_table()
with console.capture() as capture, Live(
table, console=console, auto_refresh=False
) as live:
for step in range(20):
table.add_row(f"{step}", f"{step}", f"{step}")
live.refresh()
output = capture.get()
check_output("growing_table_overflow.txt", output=output)
# with console.capture() as capture, Live(
# table, console=console, auto_refresh=False
# ) as live:
# for step in range(20):
# table.add_row(f"{step}", f"{step}", f"{step}")
# live.refresh()
# output = capture.get()
# check_output("growing_table_overflow.txt", output=output)
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_growing_table_autorefresh() -> None:
"""Test generating a table but using auto-refresh from threading"""
console = create_capture_console()
table = create_base_table()
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_growing_table_autorefresh() -> None:
# """Test generating a table but using auto-refresh from threading"""
# console = create_capture_console()
# table = create_base_table()
with console.capture() as capture, Live(table, console=console):
for step in range(20):
table.add_row(f"{step}", f"{step}", f"{step}")
time.sleep(0.2)
# with console.capture() as capture, Live(table, console=console):
# for step in range(20):
# table.add_row(f"{step}", f"{step}", f"{step}")
# time.sleep(0.2)
# no way to truly test w/ multithreading
# # no way to truly test w/ multithreading
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_growing_table_logging() -> None:
"""Test generating a table but also add in console logging."""
console = create_capture_console()
table = create_base_table()
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_growing_table_logging() -> None:
# """Test generating a table but also add in console logging."""
# console = create_capture_console()
# table = create_base_table()
with console.capture() as capture, Live(table, console=console, auto_refresh=False):
for step in range(20):
console.print(f"Attempting Step #{step}")
table.add_row(f"{step}", f"{step}", f"{step}")
output = capture.get()
check_output("growing_table_logging.txt", output=output)
# with console.capture() as capture, Live(table, console=console, auto_refresh=False):
# for step in range(20):
# console.print(f"Attempting Step #{step}")
# table.add_row(f"{step}", f"{step}", f"{step}")
# output = capture.get()
# check_output("growing_table_logging.txt", output=output)
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_growing_table_large() -> None:
"""Test generating a table but also add in console logging."""
console = create_capture_console(height=1_000)
table = create_base_table()
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_growing_table_large() -> None:
# """Test generating a table but also add in console logging."""
# console = create_capture_console(height=1_000)
# table = create_base_table()
with console.capture() as capture, Live(
table, console=console, auto_refresh=False
) as live:
for step in range(100):
console.print(f"Attempting Step #{step}")
table.add_row(f"{step}", f"{step}", f"{step}")
if step % 20 == 0:
live.refresh()
output = capture.get()
check_output("growing_table_large.txt", output=output)
# with console.capture() as capture, Live(
# table, console=console, auto_refresh=False
# ) as live:
# for step in range(100):
# console.print(f"Attempting Step #{step}")
# table.add_row(f"{step}", f"{step}", f"{step}")
# if step % 20 == 0:
# live.refresh()
# output = capture.get()
# check_output("growing_table_large.txt", output=output)
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_growing_table_large_overflow() -> None:
"""Test generating a table but also add in console logging."""
console = create_capture_console()
table = create_base_table()
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_growing_table_large_overflow() -> None:
# """Test generating a table but also add in console logging."""
# console = create_capture_console()
# table = create_base_table()
with console.capture() as capture, Live(
table, console=console, auto_refresh=False
) as live:
for step in range(100):
console.print(f"Attempting Step #{step}")
table.add_row(f"{step}", f"{step}", f"{step}")
if step % 20 == 0:
live.refresh()
output = capture.get()
check_output("growing_table_large_overflow.txt", output=output)
# with console.capture() as capture, Live(
# table, console=console, auto_refresh=False
# ) as live:
# for step in range(100):
# console.print(f"Attempting Step #{step}")
# table.add_row(f"{step}", f"{step}", f"{step}")
# if step % 20 == 0:
# live.refresh()
# output = capture.get()
# check_output("growing_table_large_overflow.txt", output=output)
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_growing_table_file_console() -> None:
console = Console(
width=120,
height=80,
file=io.StringIO(),
legacy_windows=False,
color_system=None,
)
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_growing_table_file_console() -> None:
# console = Console(
# width=120,
# height=80,
# file=io.StringIO(),
# legacy_windows=False,
# color_system=None,
# )
table = create_base_table()
# table = create_base_table()
with console.capture() as capture, Live(table, console=console) as live:
for step in range(20):
console.print(f"step {step}")
table.add_row(f"{step}", f"{step}", f"{step}")
live.refresh()
# with console.capture() as capture, Live(table, console=console) as live:
# for step in range(20):
# console.print(f"step {step}")
# table.add_row(f"{step}", f"{step}", f"{step}")
# live.refresh()
output = capture.get()
check_output("growing_table_file_console.txt", output=output)
# output = capture.get()
# check_output("growing_table_file_console.txt", output=output)
def generate_random_data_table() -> Table:
Data = List[List[int]]
# def generate_random_data_table() -> Table:
# Data = List[List[int]]
def generate_data() -> Data:
rows = random.randint(0, 20)
return [
[random.randint(0, 20) for _ in range(rows)]
for _ in range(random.randint(0, 20))
]
# def generate_data() -> Data:
# rows = random.randint(0, 20)
# return [
# [random.randint(0, 20) for _ in range(rows)]
# for _ in range(random.randint(0, 20))
# ]
table = Table()
for data_row in generate_data():
table.add_row(*[hex(data_cell) for data_cell in data_row])
# table = Table()
# for data_row in generate_data():
# table.add_row(*[hex(data_cell) for data_cell in data_row])
return table
# return table
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_random_data_table() -> None:
"""Test generating a data table whose height fluctuates."""
console = create_capture_console()
random.seed(123) # seed so that it always provides same values
with console.capture() as capture, Live(
console=console, auto_refresh=False
) as live:
for _ in range(100):
table = generate_random_data_table()
live.update(table, refresh=True)
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_random_data_table() -> None:
# """Test generating a data table whose height fluctuates."""
# console = create_capture_console()
# random.seed(123) # seed so that it always provides same values
# with console.capture() as capture, Live(
# console=console, auto_refresh=False
# ) as live:
# for _ in range(100):
# table = generate_random_data_table()
# live.update(table, refresh=True)
output = capture.get()
check_output("random_data_table.txt", output=output)
# output = capture.get()
# check_output("random_data_table.txt", output=output)
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_random_data_table_overflow() -> None:
"""Test generating a data table whose height fluctuates."""
console = create_capture_console(height=20)
random.seed(123) # seed so that it always provides same values
with console.capture() as capture, Live(
console=console, auto_refresh=False
) as live:
for _ in range(100):
table = generate_random_data_table()
live.update(table, refresh=True)
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_random_data_table_overflow() -> None:
# """Test generating a data table whose height fluctuates."""
# console = create_capture_console(height=20)
# random.seed(123) # seed so that it always provides same values
# with console.capture() as capture, Live(
# console=console, auto_refresh=False
# ) as live:
# for _ in range(100):
# table = generate_random_data_table()
# live.update(table, refresh=True)
output = capture.get()
check_output("random_data_table_overflow.txt", output=output)
# output = capture.get()
# check_output("random_data_table_overflow.txt", output=output)
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
def test_random_data_table_logging() -> None:
"""Test generating a data table whose height fluctuates."""
console = create_capture_console()
random.seed(123) # seed so that it always provides same values
with console.capture() as capture, Live(
console=console, auto_refresh=False
) as live:
for step in range(100):
console.print(f"Step {step} start")
table = generate_random_data_table()
live.update(table, refresh=True)
print(f"Step {step} end") # test redirect of stdout
# @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires python3.7 or higher")
# def test_random_data_table_logging() -> None:
# """Test generating a data table whose height fluctuates."""
# console = create_capture_console()
# random.seed(123) # seed so that it always provides same values
# with console.capture() as capture, Live(
# console=console, auto_refresh=False
# ) as live:
# for step in range(100):
# console.print(f"Step {step} start")
# table = generate_random_data_table()
# live.update(table, refresh=True)
# print(f"Step {step} end") # test redirect of stdout
output = capture.get()
check_output("random_data_table_logging.txt", output=output)
# output = capture.get()
# check_output("random_data_table_logging.txt", output=output)

View file

@ -1,15 +0,0 @@
import pathlib
def get_capture_text(*paths: str) -> str:
with open(
pathlib.Path(__file__).parent.joinpath("captures", *paths), mode="rb"
) as file:
return file.read().decode("utf-8")
def set_capture_text(*paths: str, output: str) -> None:
with open(
pathlib.Path(__file__).parent.joinpath("captures", *paths), mode="wb"
) as file:
file.write(output.encode("utf-8"))