Files
tamigo-cli/venv/lib/python3.12/site-packages/rich/__pycache__/table.cpython-312.pyc

325 lines
43 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00><16>ia<69><00><00>L<00>ddlmZmZmZddlmZmZmZmZm Z m
Z
m Z m Z m Z ddlmZmZddlmZmZddlmZddlmZmZddlmZdd lmZdd
lmZdd lm Z m!Z!dd l"m#Z#dd l$m%Z%ddl&m'Z'm(Z(ddl)m*Z*m+Z+erddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2eGd<11>d<12><00>Z3eGd<13>d<14><00>Z4Gd<15>de <09>Z5Gd<17>de<1C>Z6e7dk(<00>r<>ddl8m-Z-ddl9m:Z:ddl;m<Z<e<d<1D>5e6ddd <20>!<21>Z=e=j}d"d#d$d%<25>&<26>e=j}d'd(<28>)<29>e=j}d*d d+<2B>,<2C>e=jd-d.d/<2F>e=jd0d1d2<64>e=jd3d4d5d6d%<25>7<EFBFBD>e=jd8d9d:<3A>d;e@d<d=fd><3E>ZAe-<2D>Z,e:<3A>ZBeAd?<3F>e,j<>e=d@<40>A<EFBFBD>d%e=_DeAdB<64>e,j<>e=<3D>dCe=_EeAdD<64>e,j<>e=d@<40>A<EFBFBD>d=e=_EdEe=_DdFdGge=_FeAdH<64>e,j<>e=d@<40>A<EFBFBD>d=e=_EdEe=_DdFdGge=_Fde=_GeAdI<64>e,j<>e=d@<40>A<EFBFBD>d=e=_EdEe=_DdFdGge=_Fd%e=_Hde=_GeAdJ<64>e,j<>e=d@<40>A<EFBFBD>d=d=d=<3D>y=y=#1swYy=xYw)K<>)<03> dataclass<73>field<6C>replace) <09> TYPE_CHECKING<4E>Dict<63>Iterable<6C>List<73>
NamedTuple<EFBFBD>Optional<61>Sequence<63>Tuple<6C>Union<6F>)<02>box<6F>errors)<02>loop_first_last<73> loop_last)<01> pick_bool)<02>ratio_distribute<74> ratio_reduce)<01>VerticalAlignMethod)<01> JupyterMixin)<01> Measurement)<02>Padding<6E>PaddingDimensions)<01> is_renderable)<01>Segment)<02>Style<6C> StyleType)<02>Text<78>TextType)<06>Console<6C>ConsoleOptions<6E> JustifyMethod<6F>OverflowMethod<6F>RenderableType<70> RenderResultc<00>v<00>eZdZUdZdZded< dZded< dZeed< dZ eed< dZ
eed< d Z d
ed < d Z d ed< dZ ded< dZeeed< dZeeed< dZeeed< dZeeed< dZeed< dZeed< dZeed< ee<19><1C>Zeded<d"d<1F>Zededfd <20><04>Zedefd!<21><04>Z y)#<23>Columna
Defines a column within a ~Table.
Args:
title (Union[str, Text], optional): The title of the table rendered at the top. Defaults to None.
caption (Union[str, Text], optional): The table caption rendered below. Defaults to None.
width (int, optional): The width in characters of the table, or ``None`` to automatically fit. Defaults to None.
min_width (Optional[int], optional): The minimum width of the table, or ``None`` for no minimum. Defaults to None.
box (box.Box, optional): One of the constants in box.py used to draw the edges (see :ref:`appendix_box`), or ``None`` for no box lines. Defaults to box.HEAVY_HEAD.
safe_box (Optional[bool], optional): Disable box characters that don't display on windows legacy terminal with *raster* fonts. Defaults to True.
padding (PaddingDimensions, optional): Padding for cells (top, right, bottom, left). Defaults to (0, 1).
collapse_padding (bool, optional): Enable collapsing of padding around cells. Defaults to False.
pad_edge (bool, optional): Enable padding of edge cells. Defaults to True.
show_header (bool, optional): Show a header row. Defaults to True.
show_footer (bool, optional): Show a footer row. Defaults to False.
show_edge (bool, optional): Draw a box around the outside of the table. Defaults to True.
show_lines (bool, optional): Draw lines between every row. Defaults to False.
leading (int, optional): Number of blank lines between rows (precludes ``show_lines``). Defaults to 0.
style (Union[str, Style], optional): Default style for the table. Defaults to "none".
row_styles (List[Union, str], optional): Optional list of row styles, if more than one style is given then the styles will alternate. Defaults to None.
header_style (Union[str, Style], optional): Style of the header. Defaults to "table.header".
footer_style (Union[str, Style], optional): Style of the footer. Defaults to "table.footer".
border_style (Union[str, Style], optional): Style of the border. Defaults to None.
title_style (Union[str, Style], optional): Style of the title. Defaults to None.
caption_style (Union[str, Style], optional): Style of the caption. Defaults to None.
title_justify (str, optional): Justify method for title. Defaults to "center".
caption_justify (str, optional): Justify method for caption. Defaults to "center".
highlight (bool, optional): Highlight cell contents (if str). Defaults to False.
<20>r&<00>header<65>footer<65> header_style<6C> footer_style<6C>style<6C>leftr$<00>justify<66>topr<00>vertical<61>ellipsisr%<00>overflowN<77>width<74> min_width<74> max_width<74>ratioF<6F>no_wrap<61> highlightr<00>_index)<01>default_factory<72>_cells<6C>returnc<00><00>t|g<00><01>S)zReturn a copy of this Column.<2E>r>)r<00><01>selfs <20>P/home/daniel/Projects/tamigo-cli/venv/lib/python3.12/site-packages/rich/table.py<70>copyz Column.copyts<00><00><16>t<EFBFBD>B<EFBFBD>'<27>'<27>c#<00>8K<00>|jEd{<00><02><02>y7<00><05>w)z2Get all cells in the column, not including header.NrArBs rD<00>cellsz Column.cellsxs<00><00><><00><18>;<3B>;<3B><1E><1E>s <00><01><04>c<00><00>|jduS)z!Check if this column is flexible.N)r9rBs rD<00>flexiblezColumn.flexible}s<00><00><14>z<EFBFBD>z<EFBFBD><14>%<25>%rF)r?r))!<21>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__r+<00>__annotations__r,r-rr.r/r1r3r5r6r <00>intr7r8r9r:<00>boolr;r<r<00>listr>r rE<00>propertyrrHrJ<00>rFrDr)r)&s5<00><00><08>: "<22>F<EFBFBD> <1C>!<21>H<>!<21>F<EFBFBD> <1C>!<21>H<> <20>L<EFBFBD>)<29> <20>-<2D> <20>L<EFBFBD>)<29> <20>-<2D><19>E<EFBFBD>9<EFBFBD><19>-<2D>%<25>G<EFBFBD>_<EFBFBD>%<25>[<5B>&+<2B>H<EFBFBD>#<23>+<2B>M<>!+<2B>H<EFBFBD><1E>+<2B><1F><1F>E<EFBFBD>8<EFBFBD>C<EFBFBD>=<3D><1F>\<5C>#<23>I<EFBFBD>x<EFBFBD><03>}<7D>#<23>_<>#<23>I<EFBFBD>x<EFBFBD><03>}<7D>#<23>_<><1F>E<EFBFBD>8<EFBFBD>C<EFBFBD>=<3D><1F>w<><19>G<EFBFBD>T<EFBFBD><19>R<><1B>I<EFBFBD>t<EFBFBD><1B>C<><13>F<EFBFBD>C<EFBFBD>O<EFBFBD><1A>%*<2A>4<EFBFBD>%@<40>F<EFBFBD>D<EFBFBD>!<21> "<22>@<40>(<28><0E><1F>x<EFBFBD> 0<>1<><1F><0E><1F><0E>&<26>$<24>&<26><0E>&rFr)c<00>6<00>eZdZUdZdZeeed< dZe ed<y)<06>RowzInformation regarding a row.Nr/F<> end_section)
rKrLrMrNr/r rrOrWrQrTrFrDrVrV<00>s$<00><00>&<26>!%<25>E<EFBFBD>8<EFBFBD>I<EFBFBD> <1E>%<25> <20><1D>K<EFBFBD><14><1D>LrFrVc<00>4<00>eZdZUdZeed< ded< eed<y)<07>_CellzA single cell in a table.r/r&<00>
renderabler3N)rKrLrMrNrrOrrTrFrDrYrY<00>s <00><00>#<23> <14><14>!<21> <20> <20><1A>!<21>!<21>"rFrYc7<00><00>eZdZUdZeeed<eeed<ddddejddddddddddd dd
d dddd d dd <0A>de
ee fde e de e de ede ede ejde ededededededededededede eed e ed!e ed"e ed#e ed$e ed%d&d'd&d(ed)df6d*<2A>Zeddddd+<2B>de
ee fdedededed)df d,<2C><06>Zed)efd-<2D><04>Zej2ded)dfd.<2E><04>Zed)efd/<2F><04>Zed)efd0<64><04>Zd1d2d3ed)efd4<64>Zd1d2d5d6d)efd7<64>Zed)eeeeeffd8<64><04>Z e j2ded)dfd9<64><04>Z d[ddddd:d;d<dddddd=<3D> d>d?d@d?d e ed(e ed!e ede edAd&dBdCdDdEde ede edFe edGe edHed)dfdI<64>Z!dddJ<64>dKe d?de edLed)dfdM<64>Z"d\dN<64>Z# d]dP<64>Z$d1d2d5d6d)eefdQ<64>Z%edReedSeedFed)eefdT<64><04>Z&d1d2dUedVed)ee'fdW<64>Z(dUed)efdX<64>Z)d1d2d5d6dVed)efdY<64>Z*d1d2d5d6dReed)dOfdZ<64>Z+y)^<5E>Tablea A console renderable to draw a table.
Args:
*headers (Union[Column, str]): Column headers, either as a string, or :class:`~rich.table.Column` instance.
title (Union[str, Text], optional): The title of the table rendered at the top. Defaults to None.
caption (Union[str, Text], optional): The table caption rendered below. Defaults to None.
width (int, optional): The width in characters of the table, or ``None`` to automatically fit. Defaults to None.
min_width (Optional[int], optional): The minimum width of the table, or ``None`` for no minimum. Defaults to None.
box (box.Box, optional): One of the constants in box.py used to draw the edges (see :ref:`appendix_box`), or ``None`` for no box lines. Defaults to box.HEAVY_HEAD.
safe_box (Optional[bool], optional): Disable box characters that don't display on windows legacy terminal with *raster* fonts. Defaults to True.
padding (PaddingDimensions, optional): Padding for cells (top, right, bottom, left). Defaults to (0, 1).
collapse_padding (bool, optional): Enable collapsing of padding around cells. Defaults to False.
pad_edge (bool, optional): Enable padding of edge cells. Defaults to True.
expand (bool, optional): Expand the table to fit the available space if ``True``, otherwise the table width will be auto-calculated. Defaults to False.
show_header (bool, optional): Show a header row. Defaults to True.
show_footer (bool, optional): Show a footer row. Defaults to False.
show_edge (bool, optional): Draw a box around the outside of the table. Defaults to True.
show_lines (bool, optional): Draw lines between every row. Defaults to False.
leading (int, optional): Number of blank lines between rows (precludes ``show_lines``). Defaults to 0.
style (Union[str, Style], optional): Default style for the table. Defaults to "none".
row_styles (List[Union, str], optional): Optional list of row styles, if more than one style is given then the styles will alternate. Defaults to None.
header_style (Union[str, Style], optional): Style of the header. Defaults to "table.header".
footer_style (Union[str, Style], optional): Style of the footer. Defaults to "table.footer".
border_style (Union[str, Style], optional): Style of the border. Defaults to None.
title_style (Union[str, Style], optional): Style of the title. Defaults to None.
caption_style (Union[str, Style], optional): Style of the caption. Defaults to None.
title_justify (str, optional): Justify method for title. Defaults to "center".
caption_justify (str, optional): Justify method for caption. Defaults to "center".
highlight (bool, optional): Highlight cell contents (if str). Defaults to False.
<20>columns<6E>rowsN)rrFTr<00>nonez table.headerz table.footer<65>center)<19>title<6C>captionr6r7r<00>safe_box<6F>padding<6E>collapse_padding<6E>pad_edge<67>expand<6E> show_header<65> show_footer<65> show_edge<67>
show_lines<EFBFBD>leadingr/<00>
row_stylesr-r.<00> border_style<6C> title_style<6C> caption_style<6C> title_justify<66>caption_justifyr;<00>headersrarbr6r7rrcrdrerfrgrhrirjrkrlr/rmr-r.rnrorprqr$rrr;r?c<00><><00>g|_g|_||_||_||_||_||_||_tj|<07>|_
| |_ |
|_ | |_ | |_| |_||_||_||_||_|xsd|_|xsd|_||_||_||_||_||_||_t9|xsg<00>|_|jj<}|D]G}t?|t@<00>r|jC|<1C><02><00>&tE|j<00>|_#||<1C><00>Iy)Nr*)r+)$r]r^rarbr6r7rrcr<00>unpack<63>_paddingrf<00>_expandrhrirjrkrlrer/r-r.rnrorprqrrr;rRrm<00>append<6E>
isinstance<EFBFBD>str<74>
add_column<EFBFBD>lenr<)rCrarbr6r7rrcrdrerfrgrhrirjrkrlr/rmr-r.rnrorprqrrr;rs<00> append_columnr+s rD<00>__init__zTable.__init__<5F>s6<00><00>:&(<28><04> <0C>!<21><04> <09><1A><04>
<EFBFBD><1E><04> <0C><1A><04>
<EFBFBD>"<22><04><0E><16><04><08> <20><04> <0A><1F><0E><0E>w<EFBFBD>/<2F><04> <0A> <20><04> <0A><1D><04> <0C>&<26><04><18>&<26><04><18>"<22><04><0E>$<24><04><0F><1E><04> <0C> 0<><04><1D><1A><04>
<EFBFBD>(<28>.<2E>B<EFBFBD><04><19>(<28>.<2E>B<EFBFBD><04><19>(<28><04><19>&<26><04><18>*<2A><04><1A>.;<3B><04><1A>0?<3F><04><1C>"<22><04><0E>/3<>J<EFBFBD>4D<34>"<22>/E<><04><0F><1C> <0C> <0C>+<2B>+<2B> <0A><1D> &<26>F<EFBFBD><19>&<26>#<23>&<26><14><0F><0F>v<EFBFBD><0F>.<2E> #<23>D<EFBFBD>L<EFBFBD>L<EFBFBD> 1<><06> <0A><1D>f<EFBFBD>%<25>  &rF)rdrerfrgc <00> <00>||d||ddd||d<03><08>S)a<>Get a table with no lines, headers, or footer.
Args:
*headers (Union[Column, str]): Column headers, either as a string, or :class:`~rich.table.Column` instance.
padding (PaddingDimensions, optional): Get padding around cells. Defaults to 0.
collapse_padding (bool, optional): Enable collapsing of padding around cells. Defaults to True.
pad_edge (bool, optional): Enable padding around edges of table. Defaults to False.
expand (bool, optional): Expand the table to fit the available space if ``True``, otherwise the table width will be auto-calculated. Defaults to False.
Returns:
Table: A table instance.
NF)rrdrerhrirjrfrgrT)<06>clsrdrerfrgrss rD<00>gridz
Table.grid<69>s,<00><00>*<13> <14><14><1B>-<2D><1D><1D><1B><1D><19>

<EFBFBD>
rFc<00>:<00>|jxs|jduS)z-Setting a non-None self.width implies expand.N)rwr6rBs rDrgz Table.expands<00><00><14>|<7C>|<7C>5<>t<EFBFBD>z<EFBFBD>z<EFBFBD><14>5<>5rFc<00><00>||_y)z Set expand.N)rw)rCrgs rDrgz Table.expand"s <00><00><1E><04> rFc<00><><00>d}|jr|jr|dz }|jr|t|j<00>dz
z }|S)z'Get extra width to add to cell content.r<00>r)rrjr|r])rCr6s rD<00> _extra_widthzTable._extra_width'sC<00><00><12><05> <0F>8<EFBFBD>8<EFBFBD><04><0E><0E> <11>Q<EFBFBD>J<EFBFBD>E<EFBFBD> <0F>8<EFBFBD>8<EFBFBD> <11>S<EFBFBD><14><1C><1C>&<26><11>*<2A> *<2A>E<EFBFBD><14> rFc<00>,<00>t|j<00>S)zGet the current number of rows.)r|r^rBs rD<00> row_countzTable.row_count1s<00><00><13>4<EFBFBD>9<EFBFBD>9<EFBFBD>~<7E>rF<00>consoler"<00>indexc<00><00>tj<00>}|jr7||j|j|t |j<00>z<00>z }|j
|j }|<04>||j|<04>z }|S)zGet the current row style.)r<00>nullrm<00> get_styler|r^r/)rCr<>r<>r/<00> row_styles rD<00> get_row_stylezTable.get_row_style6st<00><00><15>
<EFBFBD>
<EFBFBD> <0C><05> <0F>?<3F>?<3F> <11>W<EFBFBD>&<26>&<26>t<EFBFBD><EFBFBD><EFBFBD>u<EFBFBD>s<EFBFBD>4<EFBFBD>?<3F>?<3F>?S<>7S<37>'T<>U<> U<>E<EFBFBD><18>I<EFBFBD>I<EFBFBD>e<EFBFBD>$<24>*<2A>*<2A> <09> <14> <20> <11>W<EFBFBD>&<26>&<26>y<EFBFBD>1<> 1<>E<EFBFBD><14> rF<00>optionsr#c <00>6<00>|j}|j<00> |j}|dkr tdd<01>S|j}t |j ||j ||z
<00><00><00>}|j}|jD<00>cgc]}|||j |<03>|<06><00><02>}}t d<02>|D<00><00>|z}|j<00>t d<03>|D<00><00>|zn |j} t|| <09>}
|
j|j<00>}
|
Scc}w)Nrc3<00>4K<00>|]}|j<00><01><00>y<00>w<01>N)<01>minimum<75><02>.0<EFBFBD> measurements rD<00> <genexpr>z)Table.__rich_measure__.<locals>.<genexpr>V<00><00><00><><00>D<> <0B> <0B>#<23>#<23>D<><44><00>c3<00>4K<00>|]}|j<00><01><00>y<00>wr<>)<01>maximumr<6D>s rDr<>z)Table.__rich_measure__.<locals>.<genexpr>Yr<>r<>) r8r6rr<><00>sum<75>_calculate_column_widths<68> update_width<74>_measure_columnr]<00>clampr7) rCr<>r<>r8<00> extra_widthr<68><00>column<6D> measurements<74> minimum_width<74> maximum_widthr<68>s rD<00>__rich_measure__zTable.__rich_measure__@s&<00><00><1C>%<25>%<25> <09> <0F>:<3A>:<3A> !<21><1C>
<EFBFBD>
<EFBFBD>I<EFBFBD> <14>q<EFBFBD>=<3D><1E>q<EFBFBD>!<21>$<24> $<24><1A>'<27>'<27> <0B><17> <10> )<29> )<29><17><17>-<2D>-<2D>i<EFBFBD>+<2B>.E<>F<> <0E>
<EFBFBD> <09>
<1F>.<2E>.<2E><0F><1F>,<2C>,<2C>
<EFBFBD><16> <1C>G<EFBFBD>W<EFBFBD>%9<>%9<>)<29>%D<>f<EFBFBD> M<>
<EFBFBD> <0C>
<EFBFBD>
<10>D<>|<7C>D<> D<>{<7B> R<> <16>
<15>
<EFBFBD>
<EFBFBD>"<22> <10>D<>|<7C>D<> D<>{<7B> R<><15><1A><1A> <16>
"<22>-<2D><1D>?<3F> <0B>!<21>'<27>'<27><04><0E><0E>7<> <0B><1A><1A><>
s<00> Dc<00><00>|jS)zGet cell padding.)rvrBs rDrdz Table.paddingas<00><00><14>}<7D>}<7D>rFc<00>:<00>tj|<01>|_|S)zSet cell padding.)rrurv)rCrds rDrdz Table.paddingfs<00><00> <20><0E><0E>w<EFBFBD>/<2F><04> <0A><13> rFr0r2r4) r-r;r.r/r1r3r5r6r7r8r9r:r+r&r,r1r3rr5r%r8r9r:c <00><><00>tt|j<00>|||xsd|<04>|n |j|xsd|xsd||| |
| | | |<0E><03>}|jj |<0F>y)a<>Add a column to the table.
Args:
header (RenderableType, optional): Text or renderable for the header.
Defaults to "".
footer (RenderableType, optional): Text or renderable for the footer.
Defaults to "".
header_style (Union[str, Style], optional): Style for the header, or None for default. Defaults to None.
highlight (bool, optional): Whether to highlight the text. The default of None uses the value of the table (self) object.
footer_style (Union[str, Style], optional): Style for the footer, or None for default. Defaults to None.
style (Union[str, Style], optional): Style for the column cells, or None for default. Defaults to None.
justify (JustifyMethod, optional): Alignment for cells. Defaults to "left".
vertical (VerticalAlignMethod, optional): Vertical alignment, one of "top", "middle", or "bottom". Defaults to "top".
overflow (OverflowMethod): Overflow method: "crop", "fold", "ellipsis". Defaults to "ellipsis".
width (int, optional): Desired width of column in characters, or None to fit to contents. Defaults to None.
min_width (Optional[int], optional): Minimum width of column, or ``None`` for no minimum. Defaults to None.
max_width (Optional[int], optional): Maximum width of column, or ``None`` for no maximum. Defaults to None.
ratio (int, optional): Flexible ratio for the column (requires ``Table.expand`` or ``Table.width``). Defaults to None.
no_wrap (bool, optional): Set to ``True`` to disable wrapping of this column.
r*N)r<r+r,r-r;r.r/r1r3r5r6r7r8r9r:)r)r|r]r;rx)rCr+r,r-r;r.r/r1r3r5r6r7r8r9r:r<>s rDr{zTable.add_columnlsr<00><00>N<18><16>t<EFBFBD>|<7C>|<7C>$<24><19><19>%<25>+<2B><12>#,<2C>#8<>i<EFBFBD>d<EFBFBD>n<EFBFBD>n<EFBFBD>%<25>+<2B><12><17>+<2B>2<EFBFBD><1B><1D><1D><17><1F><1F><17><1B>
<EFBFBD><06>" <0A> <0C> <0C><1B><1B>F<EFBFBD>#rF<00>r/rW<00> renderablesrWc<00><><00>dtddddfd<06>}t|<03>}|j}t|<05>t|<06>krg|<05>dgt|<06>t|<05>z
z<00>}t |<05>D]<5D>\}}|t|<06>k(rVt||j
<00><07>} |j D]}
|| td<08><00><00>|jj| <09>n||} |<08>
|| d<08><00>{t|<08>r
|| |<08><00><>tjd t|<08>j<00>d
<EFBFBD><03><00>|j jt||<02> <0B><00>y) a<>Add a row of renderables.
Args:
*renderables (None or renderable): Each cell in a row must be a renderable object (including str),
or ``None`` for a blank cell.
style (StyleType, optional): An optional style to apply to the entire row. Defaults to None.
end_section (bool, optional): End a section and draw a line. Defaults to False.
Raises:
errors.NotRenderableError: If you add something that can't be rendered.
r<>rZr&r?Nc<00>:<00>|jj|<01>yr<>)r>rx)r<>rZs rD<00>add_cellzTable.add_row.<locals>.add_cell<6C>s<00><00> <12>M<EFBFBD>M<EFBFBD> <20> <20><1A> ,rF)r<r;r*zunable to render z1; a string or other renderable object is requiredr<64>)r)rRr]r|<00> enumerater;r^r rxrr<00>NotRenderableError<6F>typerKrV) rCr/rWr<>r<><00>cell_renderablesr]r<>rZr<><00>_s rD<00>add_rowz Table.add_row<6F>sQ<00><00>$ -<2D>V<EFBFBD> -<2D>1A<31> -<2D>d<EFBFBD> -<2D>>B<01>+<2B>=N<><18><16>,<2C>,<2C><07> <0E><1F> <20>3<EFBFBD>w<EFBFBD><<3C> /<2F> <0E>!<21> <0E><16><16>3<EFBFBD>w<EFBFBD><<3C>#<23>.><3E>*?<3F>?<3F>@<40> <0E> <1C>"+<2B>+;<3B>!<<3C> <12> <1D>E<EFBFBD>:<3A><14><03>G<EFBFBD> <0C>$<24><1F>u<EFBFBD><04><0E><0E>G<><06><1D><19><19>/<2F>A<EFBFBD><1C>V<EFBFBD>T<EFBFBD>"<22>X<EFBFBD>.<2E>/<2F><14> <0C> <0C>#<23>#<23>F<EFBFBD>+<2B> <20><15><1E><06><19>!<21><18><16><12>$<24><1E>z<EFBFBD>*<2A><18><16><1A>,<2C><1C>/<2F>/<2F>'<27><04>Z<EFBFBD>(8<>(A<>(A<>'B<>Bs<42>t<><12><12> <12> <0A> <09> <09><18><18><13>5<EFBFBD>k<EFBFBD>B<>CrFc<00>F<00>|jrd|jd_yy)z2Add a new section (draw a line after current row).T<><54><EFBFBD><EFBFBD><EFBFBD>N)r^rWrBs rD<00> add_sectionzTable.add_section<6F>s <00><00> <10>9<EFBFBD>9<EFBFBD>(,<2C>D<EFBFBD>I<EFBFBD>I<EFBFBD>b<EFBFBD>M<EFBFBD> %<25> rFr'c #<00><><00><01>K<00>|jstd<01><00><01>y|j}|j<00> |j}|j}|j <00>|j ||z
<00><00>}t|<05>|z}|j||jd<00><02><00> d dtdtddddf<08><01>fd <09> }|jrE||jtj|jd
<EFBFBD>|j <00> <0B>Ed{<00><02><02>|j#<00><01>|<05>Ed{<00><02><02>|j$rF||j$tj|j&d <0C>|j(<00> <0B>Ed{<00><02><02>yy7<00>r7<00>Y7<00>
<EFBFBD>w)N<>
)r6r;<00>height<68>textr/r1r$r?r'c<00><><00><02>t|t<00>r<14>j||d<01><02>n|}<03>j|<03>j |<02><03><00><04>S)NF)r/r;<00>r1)r<>)ryrz<00>
render_str<EFBFBD>render<65>update)r<>r/r1<00> render_textr<74><00>render_optionss <20><>rD<00>render_annotationz1Table.__rich_console__.<locals>.render_annotation<6F>sY<00><><00>
<1E>d<EFBFBD>C<EFBFBD>(<28><18>"<22>"<22>4<EFBFBD>u<EFBFBD><05>"<22>F<><19> <18>
<1B>><3E>><3E><1B>^<5E>%:<3A>%:<3A>7<EFBFBD>%:<3A>%K<>"<22><0E> rFz table.title)r/r1z table.caption)r`)r]rr8r6r<>r<>r<>r<>r<>r;r!rrar<00>
pick_firstrorq<00>_renderrbrprr) rCr<>r<>r8r<><00>widths<68> table_widthr<68>r<>s ` @rD<00>__rich_console__zTable.__rich_console__<5F>st<00><><00><><00><14>|<7C>|<7C><19>$<24>-<2D> <1F> <12><1B>%<25>%<25> <09> <0F>:<3A>:<3A> !<21><1C>
<EFBFBD>
<EFBFBD>I<EFBFBD><1A>'<27>'<27> <0B><15>.<2E>.<2E> <13>W<EFBFBD>)<29>)<29>)<29>k<EFBFBD>*A<>B<>
<EFBFBD><06><1A>&<26>k<EFBFBD>K<EFBFBD>/<2F> <0B> <20><1E><1E><1D><14><1E><1E><04>(<28>
<EFBFBD><0E>
JR<01>
<0E><1A>
<0E>#,<2C>
<0E>7F<37>
<0E> <1B>
<0E> <10>:<3A>:<3A>(<28><14>
<EFBFBD>
<EFBFBD><1B>&<26>&<26>t<EFBFBD>'7<>'7<><1D>G<><1C>*<2A>*<2A><0E> <0E> <0E>
<18><<3C><<3C><07><1E><16>@<40>@<40>@<40> <0F><<3C><<3C>(<28><14> <0C> <0C><1B>&<26>&<26>t<EFBFBD>'9<>'9<>?<3F>K<><1C>,<2C>,<2C><0E> <0E> <0E> <18>  <0E><>
A<01><> <0E>s7<00>DE=<01>E7<04>E=<01>E9<04> AE=<01>0E;<04>1E=<01>9E=<01>;E=c
<00>,<00>|j}|j}|D<00>cgc]}|j|||<05><00><02>}}|D<00>cgc]}|jxsd<01><02>}}|j} |j
}
|j <00>r|D<00> cgc]} | js<01>| jxsd<02><02>!} } t| <0C>r<>t||<04>D<00><07>cgc]\}}|jrdn |j<00><02>!} }}|D<00>cgc]1}|jr#|jxsd| |j<00>z<00><02>3}}|t| <0A>z
}t|| |<0E>}t|<10>}t!|<04>D]&\}}|js<01>| |t#|<11>z||<<00>(t|<08>}||kDr<>|j%||D<00>cgc]}|jduxr |j& <00><02>!c}|<03>}t|<08>}||kDr+||z
}t)|dgt+|<08>z||<08>}t|<08>}t||<04>D<00><15>cgc]'\}}|j||j-|<15>|<05><00><02>)}}}|D<00>cgc]}|jxsd<02><02>}}||kr |j s|j.<00>i||j.|
z
krW|j.<00>|nt1|j.|
z
|<03>}t||z
|<08>}t||<17>D<00><18>cgc]
\}}||z<00><02> }}}|Scc}wcc}wcc} wcc}}wcc}wcc}wcc}}wcc}wcc}}w)zNCalculate the widths of each column, including padding, not including borders.rrN)r8r]r<>r<><00>_get_padding_widthr<68>rgrJr9<00>any<6E>zipr6r<r<>r<00>iterr<72><00>next<78>_collapse_widthsr:rr|r<>r7<00>min)rCr<>r<>r8r]r<><00> width_ranges<65>_ranger<65><00>get_padding_widthr<68><00>col<6F>ratios<6F> fixed_widths<68> flex_minimum<75>flexible_width<74> flex_widths<68>iter_flex_widthsr<73>r<><00> excess_widthr6<00>
_max_width<EFBFBD>
pad_widths<EFBFBD>_width<74>pads rDr<>zTable._calculate_column_widths s:<00><00><1C>%<25>%<25> <09><16>,<2C>,<2C><07>IP<49>
<EFBFBD>?E<>D<EFBFBD> <20> <20><17>'<27>6<EFBFBD> :<3A>
<EFBFBD> <0C>
<EFBFBD>5A<01>A<>&<26>&<26>.<2E>.<2E>%<25>A<EFBFBD>%<25>A<><06>A<> <20>3<>3<><19><1A>'<27>'<27> <0B> <0F>;<3B>;<3B>07<30>H<><13>3<EFBFBD><<3C><<3C>c<EFBFBD>i<EFBFBD>i<EFBFBD>n<EFBFBD>1<EFBFBD>n<EFBFBD>H<>F<EFBFBD>H<><12>6<EFBFBD>{<7B>+.<2E>l<EFBFBD>G<EFBFBD>*D<> <12>&<26><06><06> <20><1F><1F>A<EFBFBD>f<EFBFBD>n<EFBFBD>n<EFBFBD><<3C> <12> <0C> <12> #*<2A> <12><1E><1D><EFBFBD><EFBFBD><1C>\<5C>\<5C>&<26>Q<EFBFBD>*;<3B>F<EFBFBD>M<EFBFBD>M<EFBFBD>*J<>J<> <12> <0C> <12>
"+<2B>S<EFBFBD><1C>-><3E>!><3E><0E>.<2E>~<7E>v<EFBFBD>|<7C>T<> <0B>#'<27> <0B>#4<> <20>%.<2E>w<EFBFBD>%7<>U<01>M<EFBFBD>E<EFBFBD>6<EFBFBD><1D><EFBFBD><EFBFBD>(4<>U<EFBFBD>(;<3B>d<EFBFBD>CS<43>>T<>(T<><06>u<EFBFBD> <0A>U<01><1A>&<26>k<EFBFBD> <0B> <16><19> "<22><19>*<2A>*<2A><16>MT<4D>U<>6<EFBFBD>&<26>,<2C>,<2C>$<24>&<26>=<3D>v<EFBFBD>~<7E>~<7E>+=<3D>=<3D>U<><19><0E>F<EFBFBD>
<1E>f<EFBFBD>+<2B>K<EFBFBD><1A>Y<EFBFBD>&<26>*<2A>Y<EFBFBD>6<> <0C>%<25>l<EFBFBD>Q<EFBFBD>C<EFBFBD>#<23>f<EFBFBD>+<2B>4E<34>v<EFBFBD>v<EFBFBD>V<><06>!<21>&<26>k<EFBFBD> <0B>&)<29><16><17>%9<><0E>!<21>E<EFBFBD>6<EFBFBD><15>$<24>$<24>W<EFBFBD>g<EFBFBD>.B<>.B<>5<EFBFBD>.I<>6<EFBFBD>R<><0E>L<EFBFBD><0E>9E<01>E<>f<EFBFBD>f<EFBFBD>n<EFBFBD>n<EFBFBD>)<29><01>)<29>E<>F<EFBFBD>E<> <17>)<29> #<23><04> <0B> <0B> <10>N<EFBFBD>N<EFBFBD> &<26>;<3B>$<24>.<2E>.<2E>;<3B>:V<>+W<><18>><3E>><3E>)<29><1A><18><14><1E><1E>+<2B>5<>y<EFBFBD>A<> <17>
*<2A>*<2A>{<7B>*B<>F<EFBFBD>K<>J<EFBFBD>69<36>&<26>*<2A>6M<36>N<>{<7B>v<EFBFBD>s<EFBFBD>f<EFBFBD>s<EFBFBD>l<EFBFBD>N<>F<EFBFBD>N<><15> <0A><>s
<EFBFBD><EFBFBD>B<01><>
I<01><> <12><> <12><> V<01><><0E><>F<01><>Os:<00>K&<04>K+<04>?K0<04>K0<04>?$K5<06>*6K;<04>$L
<EFBFBD>,L<06>L <04>Lr<><00>wrapablec<00><><00> <0C>t|<01>}||z
}t|<02>r<>|r<>|dkDr<>td<02>t||<02>D<00><00><00> t<00> fd<03>t||<02>D<00><00>}<06> |z
}t||<02>D<00><08> cgc]\}} |<08> k(r| rdnd<01><02>}
}} t|
<EFBFBD>r|s |St ||<07>gt |<01>z} t ||
| |<01>}t|<01>}||z
}|r|dkDr<01><>|Scc} }w)aMReduce widths so that the total is under max_width.
Args:
widths (List[int]): List of widths.
wrapable (List[bool]): List of booleans that indicate if a column may shrink.
max_width (int): Maximum width to reduce to.
Returns:
List[int]: A new list of widths.
rc3<00>,K<00>|] \}}|s<01> |<01><01><00>y<00>wr<>rT)r<>r6<00>
allow_wraps rDr<>z)Table._collapse_widths.<locals>.<genexpr>^s<00><00><><00>!<12>/<2F>e<EFBFBD>Z<EFBFBD>J<EFBFBD>E<EFBFBD>!<12>s<00>
<01>c3<00>:<00>K<00>|]\}}|r|<01>k7r|nd<00><01><00>y<01>w)rNrT)r<>r6r<><00>
max_columns <20>rDr<>z)Table._collapse_widths.<locals>.<genexpr>as+<00><><00><><00>(<12>)<29><05>z<EFBFBD>(<28>E<EFBFBD>Z<EFBFBD>,?<3F>E<EFBFBD>Q<EFBFBD>F<>(<12>s<00>r)r<>r<><00>maxr<78>r<>r|r) r<>r<>r<>r8<00> total_widthr<68><00>second_max_column<6D>column_differencer6r<>r<><00>
max_reducer<EFBFBD>s @rDr<>zTable._collapse_widthsLs<00><><00><1A>&<26>k<EFBFBD> <0B>"<22>Y<EFBFBD>.<2E> <0C> <0E>x<EFBFBD>=<3D><1D>,<2C><11>"2<> <20>!<12>36<33>v<EFBFBD>x<EFBFBD>3H<33>!<12><12>
<EFBFBD>%(<28>(<12>-0<><16><18>-B<>(<12>%<12>!<21>%/<2F>1B<31>$B<>!<21>.1<EFBFBD><16><18>-B<><12>)<29><05>z<EFBFBD>!<21>J<EFBFBD>.<2E>:<3A>Q<EFBFBD>A<EFBFBD>E<><12><06><12><1B>6<EFBFBD>{<7B>*;<3B><19> <16> <0A> "<22>,<2C>0A<30>B<>C<>c<EFBFBD>&<26>k<EFBFBD>Q<>
<EFBFBD>%<25>l<EFBFBD>F<EFBFBD>J<EFBFBD><06>O<><06>!<21>&<26>k<EFBFBD> <0B>*<2A>Y<EFBFBD>6<> <0C>'<1E>,<2C><11>"2<>(<16> <0A><>s<00>2C<06> column_indexr<78>c #<00><><00><12><13><14><15><16>K<00>|j<00>|j<00>|j<00>t<00><17>}|dk(<00>|t |j
<00>dz
k(<00>i<00>dt dt dtttttff<06><12><13><14><15><16>fd<06> }g}|j}|j}|jr=||jxsd<07>||j<00>z} || |jf<02>||jxsd<07>}
|jD] } ||
| f<02><00>|j r=||j"xsd<07>||j"<00>z} || |j$f<02>|rTt&} t)|<06>D]?\}}\}}t+|| ||||<0F><00>t-|dd <09>xs |j.<00><00><01><00>Ay |D]-\}}t+||t-|dd <09>xs |j.<00><00><01><00>/y <09>w)
z3Get all the cells with padding and optional header.rr<00> first_row<6F>last_rowr?c<00><><00><06><00>j||f<02>}|r|S<00> \}}}}<06> r"<22>
std||z
<00>}|std||z
<00>}<05> s<10>
rd}<06> rd}|rd}|rd}||||f}|<07>||f<|S)Nr)<02>getr<74>)r<>r<><00>cachedr2<00>right<68>bottomr0rv<00>_padding_cachere<00> first_column<6D> last_columnrfrds <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rD<00> get_paddingz%Table._get_cells.<locals>.get_padding<6E>s<><00><><00>#<23>'<27>'<27><19>H<EFBFBD>(=<3D>><3E>F<EFBFBD><15><1D> <0A>'.<2E> $<24>C<EFBFBD><15><06><04><1F>#<23><1E>q<EFBFBD>$<24><15>,<2C>/<2F>D<EFBFBD><1F> <20><11>C<EFBFBD>&<26>L<EFBFBD>1<>F<EFBFBD><1B><1F><1C>D<EFBFBD><1E><1D>E<EFBFBD><1C><1B>C<EFBFBD><1B><1E>F<EFBFBD><1B>U<EFBFBD>F<EFBFBD>D<EFBFBD>1<>H<EFBFBD>4<<3C>N<EFBFBD>I<EFBFBD>x<EFBFBD>0<> 1<><1B>OrFr*r3N)rerfrdr<>r|r]rQr rPrxr<>rhr-r+r/rHrir.r,rrrY<00>getattrr3)rCr<>r<>r<><00> any_paddingr<67><00> raw_cells<6C>_appendr<64>r-<00>
cell_style<EFBFBD>cellr.<00>_Padding<6E>first<73>lastr/rZr<>rer<>r<>rfrds @@@@@@rD<00>
_get_cellszTable._get_cellsss<00><><00><><00>
 <20>0<>0<><18><17>=<3D>=<3D><08><16>,<2C>,<2C><07><19>'<27>l<EFBFBD> <0B>#<23>q<EFBFBD>(<28> <0C>"<22>c<EFBFBD>$<24>,<2C>,<2C>&7<>!<21>&;<3B>;<3B> <0B>MO<4D><0E> <1C>4<EFBFBD> <1C>4<EFBFBD> <1C>E<EFBFBD>#<23>s<EFBFBD>C<EFBFBD>QT<51>BT<42><U<> <1C> <1C>2?A<01> <09><1B>"<22>"<22><07><1B>%<25>%<25> <09> <0F> <1B> <1B>$<24>T<EFBFBD>%6<>%6<>%<<3C>"<22>=<3D> <09><16>#<23>#<23>A<0E><0E>L<EFBFBD> <14>\<5C>6<EFBFBD>=<3D>=<3D>1<> 2<><1E>v<EFBFBD>|<7C>|<7C>1<>r<EFBFBD>2<>
<EFBFBD><1A>L<EFBFBD>L<EFBFBD> (<28>D<EFBFBD> <13>Z<EFBFBD><14>&<26> '<27> (<28> <0F> <1B> <1B>$<24>T<EFBFBD>%6<>%6<>%<<3C>"<22>=<3D> <09><16>#<23>#<23>A<0E><0E>L<EFBFBD> <14>\<5C>6<EFBFBD>=<3D>=<3D>1<> 2<> <16><1E>H<EFBFBD>4C<34>I<EFBFBD>4N<34> <12>0<><05>t<EFBFBD>0<>e<EFBFBD>Z<EFBFBD><1B><19><1C>Z<EFBFBD><1B>U<EFBFBD>D<EFBFBD>)A<>B<><1B>J<EFBFBD>
<EFBFBD>D<EFBFBD>9<>L<>V<EFBFBD>_<EFBFBD>_<EFBFBD><12><12> <12>&/<2F> <12>!<21><05>z<EFBFBD><1B><19><1E><1B>J<EFBFBD>
<EFBFBD>D<EFBFBD>9<>L<>V<EFBFBD>_<EFBFBD>_<EFBFBD><12><12> <12>s<00>G,G4c<00><><00>|j\}}}}|jrd}t||z
<00>}|js$|dk(rd}|t |j
<00>dz
k(rd}||zS)zGet extra width from padding.rr)rdre<00>absrfr|r])rCr<>r<><00> pad_right<68>pad_lefts rDr<>zTable._get_padding_width<74>sk<00><00>$(<28>L<EFBFBD>L<EFBFBD>!<21><01>9<EFBFBD>a<EFBFBD><18> <0F> <20> <20><18>H<EFBFBD><1B>H<EFBFBD>y<EFBFBD>0<>1<>I<EFBFBD><13>}<7D>}<7D><1B>q<EFBFBD> <20><1C><08><1B>s<EFBFBD>4<EFBFBD><<3C><<3C>0<>1<EFBFBD>4<>4<><1D> <09><17>)<29>#<23>#rFc<00><><00>|j}|dkr tdd<02>S|j|j<00>}|j<00>5t|j|z|j|z<00>j |<04>Sg}g}|j }|j } tj}
|j||j|<03>D])} |
||| j<00>\} } || <0C>| | <0A><00>+t|r t|<06>nd|r t|<07>n|<04>j |<04>}|j|j<00>dn|j|z|j<00>d<03>}|S|j|z<00>}|S)z0Get the minimum and maximum width of the column.rrN) r8rr<>r<r6<00> with_maximumrxr<>rrZr<>r<>r7)rCr<>r<>r<>r8<00> padding_width<74>
min_widths<EFBFBD>
max_widths<EFBFBD>
append_min<EFBFBD>
append_max<EFBFBD>get_render_widthr<68><00>_min<69>_maxr<78>s rDr<>zTable._measure_column<6D>st<00><00><1C>%<25>%<25> <09> <14>q<EFBFBD>=<3D><1E>q<EFBFBD>!<21>$<24> $<24><1C>/<2F>/<2F><06> <0A> <0A>><3E> <0A> <11><<3C><<3C> #<23><1E><16> <0C> <0C>}<7D>,<2C>f<EFBFBD>l<EFBFBD>l<EFBFBD>]<5D>.J<><0E><1A>l<EFBFBD>9<EFBFBD>%<25> &<26>!#<23>
<EFBFBD> "<22>
<EFBFBD><1F>&<26>&<26>
<EFBFBD><1F>&<26>&<26>
<EFBFBD>&<26>?<3F>?<3F><18><18>O<EFBFBD>O<EFBFBD>G<EFBFBD>V<EFBFBD>]<5D>]<5D>F<EFBFBD>C<> <1D>D<EFBFBD>)<29>'<27>7<EFBFBD>D<EFBFBD>O<EFBFBD>O<EFBFBD>L<>J<EFBFBD>D<EFBFBD>$<24> <16>t<EFBFBD> <1C> <16>t<EFBFBD> <1C> <1D>
"<22>)<29>C<EFBFBD>
<EFBFBD>O<EFBFBD>q<EFBFBD>)<29>C<EFBFBD>
<EFBFBD>O<EFBFBD>y<EFBFBD>
<EFBFBD> <17>,<2C>y<EFBFBD>
!<21> <14>"<22>'<27>'<27><1A>$<24>$<24>,<2C>D<EFBFBD>&<26>2B<32>2B<32>]<5D>2R<32><1A>$<24>$<24>,<2C>D<EFBFBD>
<EFBFBD> <0B><1B><1A>39<33>2B<32>2B<32>]<5D>2R<32>
<EFBFBD> <0B><1B>rFc#<00><> <00><00><01>*<2A>+<2B>,<2C>-K<00><00>j<00>jxsd<01>}|<04>j<00>jxsd<01>z}<05><01>fd<02>t<00>j<00>D<00>}t t |<06><00>}<07>jr;<3B>jj|t<00>j<00>j<00><00><03>nd}|r<1C>js|j<00>n|}tj<00>} <09>j}
<EFBFBD>j} <0B>j} <0C>j } <0A>j"}<0E>j$}t<00>*|r<><00>*|j&|<05><00>*|j(|<05><00>*|j*|<05>f<00>*|j,|<05><00>*|j.|<05><00>*|j0|<05>f<00>*|j2|<05><00>*|j4|<05><00>*|j6|<05>fg}| r!<00>*|j9|<03>|<05><00><01>| <09><01>ng}<10>j:}<11>j}tt=|<07><00>D<00>]S\}\}}}|xr| <0B>,|xr| <0C>+<2B>,s<14>+s<12>j>|| z
nd}d}g}<19>,s<02>+rtAjB<00>}n||<11>| r|dz
n|<13><00>}t |||
<EFBFBD>D]<5D>\}}}|jE||jF|jH|jJd|jL<00><05>}<1E>jO|jP|||j<00>|z<00><06>}tS|tU|<1F><00>}|jW|<1F><00><>tSd<07>|D<00><00><00>-dtXtXtd d
d tZd t@d tXtXtf
<EFBFBD>*<2A>+<2B>,<2C>-fd<0E> } t ||||
<EFBFBD>D<00><1B>!<21><1C>cgc]@\}}!}}<1D>*j]| ||!j^|||!j<00>|z<00>||<18><00><02>Bc}}}!}|dd|r<>|r#| r!<00>*|ja|d| <0A><10>|<05><00><01>| <09><01>||rdn|rdnd\}"}#}$|$jbje<00>r|$n)<00>*|$jb|jf|$jz<00>}%ti|<18>D]9}&| r|"<22><01>tk|<19>D]\}'}(|(|&Ed{<00><02><02>|'r<01>|%<25><01><00>| r|#<23><01>| <09><01><00>;n(ti|<18>D]}&|D]}(|(|&Ed{<00><02><02><00>| <09><01><00>|r%|r#| r!<00>*|ja|d| <0A><10>|<05><00><01>| <09><01>|xr |jl})|s<02><02><>|s|s|)s<02><02><>|r<02><02><>| r|tU|<07>dz
k\r<02><03>
| r<04>,r<02><03>|r!<00>*|ja|d| <0A><10>|z|<05><00><01>n<00>*|ja|d| <0A><10>|<05><00><01>| <09><01><00><03>V|r"| r<00>*|jo|<03>|<05><00><01>| <09><01>yyycc}}}!}w7<00><01>7<00><><EFBFBD>w)Nr*c3<00>J<00>K<00>|]\}}<02>j<00>||<02><00><01><00>y<00>wr<>)r)r<>r<>r<>r<>rCs <20><>rDr<>z Table._render.<locals>.<genexpr><3E>s*<00><><00><><00>
<EFBFBD>$<24> <0C>f<EFBFBD> <11>O<EFBFBD>O<EFBFBD>G<EFBFBD>\<5C>6<EFBFBD> :<3A>
<EFBFBD>s<00> #)<01>safer)r6r1r:r5r<>r;<00>r/c3<00>2K<00>|]}t|<01><00><01><00>y<00>wr<>)r|)r<>r<>s rDr<>z Table._render.<locals>.<genexpr>Ns<00><00><><00>9<>4<EFBFBD>S<EFBFBD><14>Y<EFBFBD>9<>s<00>r<>r3rr6r/r?c<00><><00><04><00>rd}n<04>rd}|dk(r<14>j||<02>|<03>S|dk(r<14>j||<02>|<03>S<00>j||<02>|<03>S)Nr<4E>r2<00>middle)<03> align_top<6F> align_middle<6C> align_bottom)r<>r3r6r/<00>_Segment<6E>
footer_row<EFBFBD>
header_row<EFBFBD>
row_heights <20><><EFBFBD><EFBFBD>rD<00>
align_cellz!Table._render.<locals>.align_cellPsj<00><><00> <1E>'<27>H<EFBFBD><1F>$<24>H<EFBFBD><1B>u<EFBFBD>$<24>#<23>-<2D>-<2D>d<EFBFBD>E<EFBFBD>:<3A>u<EFBFBD>M<>M<><1D><18>)<29>#<23>0<>0<><14>u<EFBFBD>j<EFBFBD>%<25>P<>P<><1F>,<2C>,<2C>T<EFBFBD>5<EFBFBD>*<2A>e<EFBFBD>L<>LrF<00>foot)<01>edgerr<><00>head<61>mid<69>row)8r<38>r/rnr<>r]rRr<>r<00>
substituterrcrh<00>get_plain_headed_boxr<00>linerirjrkrl<00> head_left<66>
head_right<EFBFBD> head_vertical<61>mid_left<66> mid_right<68> mid_vertical<61> foot_left<66>
foot_right<EFBFBD> foot_vertical<61>get_topr<70>rr^rr<>r<>r1r:r5r;<00> render_linesrZr<>r|rxr rP<00> set_shaper3<00>get_rowr<77><00>strip<69>background_style<6C>rangerrW<00>
get_bottom).rCr<>r<>r<><00> table_stylern<00> _column_cells<6C> row_cells<6C>_box<6F>new_liner]rhrirjrkrl<00> box_segmentsr<73>r<>r<>rr<00>row_cellr$<00>
max_heightrHr<>r6r<>r<>r<><00>linesr<00>_cellr0r<><00>_divider<65>divider<65>line_no<6E> last_cell<6C> rendered_cellrWrrrrs.`` @@@@rDr<>z Table._render<65>s<00><><00><><00><1E>'<27>'<27><04>
<EFBFBD>
<EFBFBD>(8<>b<EFBFBD>9<> <0B>"<22>W<EFBFBD>%6<>%6<>t<EFBFBD>7H<37>7H<37>7N<37>B<EFBFBD>%O<>O<> <0C>
<EFBFBD>(1<>$<24>,<2C>,<2C>(?<3F>
<EFBFBD> <0A>
.2<EFBFBD>#<23>}<7D>2E<32>-F<> <09>
<14>x<EFBFBD>x<EFBFBD> <11>H<EFBFBD>H<EFBFBD> <1F> <1F><17>i<EFBFBD><04> <0A> <0A>w<EFBFBD>7G<37>7G<37>H<> <20> <0E><16> <0A>/3<>4<EFBFBD>;K<>;K<>t<EFBFBD>(<28>(<28>*<2A>QU<51><04><1A><<3C><<3C>><3E><08><16>,<2C>,<2C><07><1A>&<26>&<26> <0B><1A>&<26>&<26> <0B><18>N<EFBFBD>N<EFBFBD> <09><19>_<EFBFBD>_<EFBFBD>
<EFBFBD><16>,<2C>,<2C><07><1A><08> <0F><1D>T<EFBFBD>^<5E>^<5E>\<5C>:<3A><1C>T<EFBFBD>_<EFBFBD>_<EFBFBD>l<EFBFBD>;<3B><1C>T<EFBFBD>/<2F>/<2F><1C>><3E><12> <1D>T<EFBFBD>]<5D>]<5D>L<EFBFBD>9<><1C>T<EFBFBD>^<5E>^<5E>\<5C>:<3A><1C>T<EFBFBD>.<2E>.<2E> <0C>=<3D><12> <1D>T<EFBFBD>^<5E>^<5E>\<5C>:<3A><1C>T<EFBFBD>_<EFBFBD>_<EFBFBD>l<EFBFBD>;<3B><1C>T<EFBFBD>/<2F>/<2F><1C>><3E><12><0E>L<EFBFBD>"<19><1E>t<EFBFBD>|<7C>|<7C>F<EFBFBD>3<>\<5C>B<>B<><1E><0E><1D>L<EFBFBD><1C>*<2A>*<2A> <0A><1B>%<25>%<25> <09>.7<EFBFBD><0F> <09>8R<38>.S<>v #<23> *<2A>E<EFBFBD>*<2A>E<EFBFBD>4<EFBFBD><18><1E>.<2E>;<3B>J<EFBFBD><1D>-<2D>+<2B>J<EFBFBD>#<23>:<3A><15> <09> <09>%<25>+<2B>-<2D>.<2E><19> <10>
<1B>J<EFBFBD>/1<>E<EFBFBD><19>Z<EFBFBD>!<21>J<EFBFBD>J<EFBFBD>L<EFBFBD> <09>%<25>!<21>'<27> <0B>5<EFBFBD>1<EFBFBD>9<EFBFBD><15>O<><12> <09>(+<2B>6<EFBFBD>8<EFBFBD>W<EFBFBD>'E<> $<24>#<23><05>t<EFBFBD>V<EFBFBD>!(<28><1E><1E><1F>"<22>N<EFBFBD>N<EFBFBD>"<22>N<EFBFBD>N<EFBFBD>#<23>_<EFBFBD>_<EFBFBD><1F>$<24>.<2E>.<2E> "0<>"<12><0E> <20>,<2C>,<2C><18>O<EFBFBD>O<EFBFBD>"<22>#<23>D<EFBFBD>J<EFBFBD>J<EFBFBD>/<2F>)<29>;<3B>-<2D><12><05>
!<21><1A>S<EFBFBD><15>Z<EFBFBD>8<>
<EFBFBD><15> <0C> <0C>U<EFBFBD>#<23> $<24>"<1D>9<>5<EFBFBD>9<>9<>J<EFBFBD> M<01><1A>4<EFBFBD><07>=<3D>)<29> M<01>/<2F> M<01><1B> M<01><1D>  M<01>
<16>d<EFBFBD>7<EFBFBD>m<EFBFBD>$<24>  M<01> M<01>836<33>f<EFBFBD>h<EFBFBD><05>w<EFBFBD>2W<32> <0E> <0E>/<2F>E<EFBFBD>5<EFBFBD>$<24><06><19>"<22>"<22><1E><1C><1D><0E><0E><1D>!<21>%<25>+<2B>+<2B>.<2E><19>:<3A> <16> <1A><1E> <12> <0E>E<EFBFBD>!<21>H<EFBFBD><14><17>K<EFBFBD>"<22><1C> <0C> <0C>V<EFBFBD>V<EFBFBD>)<29> <0C>D<>l<EFBFBD><16><16>#<23>N<EFBFBD>(4<>%<25>Q<EFBFBD>4<EFBFBD>a<EFBFBD>UV<55>(X<>%<25><04>e<EFBFBD>X<EFBFBD>
 <20>}<7D>}<7D>*<2A>*<2A>,<2C><1D>!<21> <20> <0A> <0A>y<EFBFBD>'A<>'A<>H<EFBFBD>N<EFBFBD>N<EFBFBD>'R<><16><18> %<25>Z<EFBFBD>0<> #<23>G<EFBFBD> <20>"<22>
<EFBFBD>4=<3D>e<EFBFBD>4D<34>*<2A>0<> <09>=<3D>#0<><17>#9<>9<>9<>(<28>")<29>M<EFBFBD>*<2A>!<21>#<23> <0B>"<22>N<EFBFBD> #<23> %<25>Z<EFBFBD>0<>#<23>G<EFBFBD>).<2E>:<3A> <0A>#0<><17>#9<>9<>9<>:<3A>"<22>N<EFBFBD>#<23><14><05>+<2B><1E><18>L<EFBFBD>L<EFBFBD><16><16>i<EFBFBD>L<EFBFBD>@<40>,<2C><12><12><1F><0E><1D>1<>#<23>/<2F>/<2F>K<EFBFBD><13><1A>w<EFBFBD>+<2B><1C>(<28>U<EFBFBD>c<EFBFBD>)<29>n<EFBFBD>q<EFBFBD>6H<36>-H<>(<28>Z<EFBFBD><1E>&<26> <20>L<EFBFBD>L<EFBFBD><16><15>Y<EFBFBD>L<EFBFBD>G<>'<27>Q<>(<28><1A><1A>
'<27> <20>L<EFBFBD>L<EFBFBD><16><15>Y<EFBFBD>L<EFBFBD>G<><1C><1A><1A>#<23>N<EFBFBD>mv #<23>p <10>I<EFBFBD><1A>4<EFBFBD>?<3F>?<3F>6<EFBFBD>2<>L<EFBFBD>A<> A<><1A>N<EFBFBD><1E>4<EFBFBD><34>I <0E>D:<3A><>:<3A>sX<00>N'W<01>/AV9 <0C>4B4W<01>(W
<EFBFBD>)W<01>0.W<01>W
<EFBFBD>AW<01>&W<01>.W<01>2W<01>W<01> A5W<01>W)r*r*)r?N)r<>r"r<>r#r?r'),rKrLrMrNr r)rOrVr<00>
HEAVY_HEADrrzr r!rP<00>BoxrQrrrr~<00> classmethodr<64>rSrg<00>setterr<72>r<>r<>rr<>r rdr{r<>r<>r<>r<>r<>rYrr<>r<>r<>rTrFrDr\r\<00>s<><00><00><08>><12>&<26>\<5C><19>
<0E>s<EFBFBD>)<29>O<EFBFBD>
%)<29>&*<2A>#<23>#'<27>!$<24><1E><1E>#'<27>%+<2B>!&<26><1D><1C> <20>!<21><1E> <20><18>!<21>48<34>,:<3A>,:<3A>,0<>+/<2F>-1<>)1<>+3<><1F>7>&<26><17><06><03> <0B>$<24>>&<26><18><08>!<21>>&<26><1A>(<28>#<23> >&<26>
<18><03>}<7D> >&<26> <1C>C<EFBFBD>=<3D> >&<26><16>c<EFBFBD>g<EFBFBD>g<EFBFBD> <1E>>&<26><1B>4<EFBFBD>.<2E>>&<26>#<23>>&<26><1F>>&<26><17>>&<26><15>>&<26><1A>>&<26><1A>>&<26><18>>&<26> <19>!>&<26>"<15>#>&<26>$<19>%>&<26>&<1D>X<EFBFBD>i<EFBFBD>0<>1<>'>&<26>(<1F>y<EFBFBD>)<29>)>&<26>*<1F>y<EFBFBD>)<29>+>&<26>,<1F>y<EFBFBD>)<29>->&<26>.<1E>i<EFBFBD>(<28>/>&<26>0 <20> <09>*<2A>1>&<26>2'<27>3>&<26>4)<29>5>&<26>6<18>7>&<26>8
<0E>9>&<26>@<11>&'<27>!%<25><1E><1C> 
<EFBFBD><17><06><03> <0B>$<24>
<EFBFBD>#<23>
<EFBFBD><1F> 
<EFBFBD>
<17> 
<EFBFBD> <15> 
<EFBFBD>
<11>
<EFBFBD><11>
<EFBFBD>@<0E>6<><04>6<><0E>6<> <0C>]<5D>]<5D><1E>T<EFBFBD><1E>d<EFBFBD><1E><13><1E><0E><15>c<EFBFBD><15><0E><15><0E><1E>3<EFBFBD><1E><0E><1E><15>Y<EFBFBD><15>s<EFBFBD><15>y<EFBFBD><15><1B> <20><1B>+;<3B><1B> <14><1B>B<0E><1D><15>s<EFBFBD>C<EFBFBD><13>c<EFBFBD>1<>2<><1D><0E><1D> <0A>^<5E>^<5E><14>0<><14>W<EFBFBD><14><14><14>$&<26>#%<25>8$<24>
-1<>$(<28>,0<>%)<29>#)<29>*/<2F>%/<2F>#<23>#'<27>#'<27>#<23><1D>!8$<24> <20>8$<24>!<21>8$<24>
<1F>y<EFBFBD>)<29> 8$<24> <1C>D<EFBFBD>><3E> 8$<24><1F>y<EFBFBD>)<29>8$<24><18> <09>"<22>8$<24>!<21>8$<24>(<28>8$<24>#<23>8$<24><18><03>}<7D>8$<24><1C>C<EFBFBD>=<3D>8$<24><1C>C<EFBFBD>=<3D>8$<24><18><03>}<7D>8$<24> <16>!8$<24>"
<0E>#8$<24>z&*<2A>!<21> -D<01><1E>/<2F>0<>-D<01><18> <09>"<22>-D<01><1A> -D<01>
<0E> -D<01>^-<2D> .<0E> <20>.<0E>+;<3B>.<0E> <17>.<0E>`?<16> <20>?<16>+;<3B>?<16> <0A>c<EFBFBD><19>?<16>B<11>$<16><19>#<23>Y<EFBFBD>$<16>*.<2E>t<EFBFBD>*<2A>$<16>AD<41>$<16> <0A>c<EFBFBD><19>$<16><11>$<16>LG<12> <20>G<12>03<30>G<12>=C<>G<12> <11>%<25><1F>G<12>R$<24>s<EFBFBD>$<24>s<EFBFBD>$<24> %<1B><1A>%<1B>"<22>%<1B><17> %<1B>
<15> %<1B>Nt<1B> <20>t<1B>+;<3B>t<1B>EI<45>#<23>Y<EFBFBD>t<1B> <17>trFr\<00>__main__)r")<01>ReprHighlighter)<01>timerz Table renderzStar Wars MovieszRich example tabler<65>)rarbrr<00>Released<65> bright_cyan<61>cyanT)r-r/r:<00>Title<6C>magentarz
Box Office<63>green)r1r/z Dec 20, 2019z Star Wars: The Rise of Skywalkerz $952,110,690z May 25, 2018zSolo: A Star Wars Storyz $393,151,347z Dec 15, 2017z!Star Wars Ep. V111: The Last Jediz$1,332,539,889zon blackr<6B>z Dec 16, 2016zRogue One: A Star Wars Storyz$1,332,439,889r<39>r?Nc<00><><00>tj<00>tjt|<00><00>tj<00>yr<>)r<><00>print<6E>ruler;)r<>s rDr+r+<00>s$<00><00> <13>M<EFBFBD>M<EFBFBD>O<EFBFBD> <13>L<EFBFBD>L<EFBFBD><19>4<EFBFBD><1F> )<29> <13>M<EFBFBD>M<EFBFBD>OrFz Example Tabler`r<>z expand=True<75>2zwidth=50F<30>dimr_zrow_styles=['dim', 'none']z%leading=1, row_styles=['dim', 'none']z+show_lines=True, row_styles=['dim', 'none'])I<> dataclassesrrr<00>typingrrrr r
r r r rr*rr<00>_looprr<00>_pickr<00>_ratiorr<00>alignr<00>jupyterr<00>measurerrdrr<00>protocolr<00>segmentrr/rrr<>r r!r<>r"r#r$r%r&r'r)rVrYr\rK<00> rich.console<6C>rich.highlighterrM<00>_timerrN<00>tabler{r<>rzr+r;rVrgr6rmrlrkrTrFrD<00><module>rhs<><00><01>1<>1<>
<02>
<02>
<02><1A>-<2D><1C>2<>&<26>!<21> <20>/<2F>#<23><1C>#<23> <20><10><06><06> <0B>Y&<26>Y&<26> <0B>Y&<26>x <0B>M<01>M<01> <0B>M<01>#<23>J<EFBFBD>#<23>N <1B>L<EFBFBD>N <1B>b <0C>z<EFBFBD><19>$<24>0<><1D> <0E>~<7E> <1E>G/<2F><15>$<24>(<28>#<23>
<EFBFBD><05> <0E><18><18> <16>]<5D>&<26>$<24> <19>
<EFBFBD> <0E><18><18><17> <09><18>2<> <0A><18><18><1C>w<EFBFBD>g<EFBFBD><18>F<> <0A> <0A> <0A> <1A> .<2E> <1A>
<EFBFBD>
<0E> <0A> <0A>n<EFBFBD>&?<3F><1E>P<> <0A> <0A> <0A> <1A> /<2F> <1C><1C><1C> <16>
<EFBFBD> <0E> <0A> <0A> <1A> *<2A> <1C>
<EFBFBD>  <1C><13> <1C><14> <1C>
<1A>)<29><07>#<23>%<25> <09><0E><EFBFBD><1F><0F> <0A> <0A>e<EFBFBD>X<EFBFBD> <0A>.<2E><1B><05> <0C><0E>}<7D><1D><0F> <0A> <0A>e<EFBFBD><1C><18><05> <0B><0E>z<EFBFBD><1A><0F> <0A> <0A>e<EFBFBD>X<EFBFBD> <0A>.<2E><1A><05> <0B><1C><05> <0C>!<21>6<EFBFBD>?<3F><05><18><0E>+<2B>,<2C><0F> <0A> <0A>e<EFBFBD>X<EFBFBD> <0A>.<2E><1A><05> <0B><1C><05> <0C>!<21>6<EFBFBD>?<3F><05><18><19><05> <0A><0E>6<>7<><0F> <0A> <0A>e<EFBFBD>X<EFBFBD> <0A>.<2E><1A><05> <0B><1C><05> <0C>!<21>6<EFBFBD>?<3F><05><18><1F><05><18><19><05> <0A><0E><<3C>=<3D><0F> <0A> <0A>e<EFBFBD>X<EFBFBD> <0A>.<2E>OG/<2F>G/<2F> <1A> G/<2F>G/<2F>s <00>F5J<03>J#