§
    
Á³g›  ã                   ó.  — d dl mZmZmZ d dlmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZmZ ddlmZmZ ddlmZ ddlmZmZ ddlmZ dd	lmZ dd
lmZ ddlm Z m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z'm(Z( ddl)m*Z*m+Z+ erddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 e G d„ d¦  «        ¦   «         Z3e G d„ d¦  «        ¦   «         Z4 G d„ de	¦  «        Z5 G d„ de¦  «        Z6e7dk    �rAd dl8m-Z- d dl9m:Z: d dl;m6Z6 ddl<m=Z=  e=d¦  «        5   e6dd d!¬"¦  «        Z>e> ?                    d#d$d%d&¬'¦  «         e> ?                    d(d)¬*¦  «         e> ?                    d+d!d,¬-¦  «         e> @                    d.d/d0¦  «         e> @                    d1d2d3¦  «         e> @                    d4d5d6d7d&¬8¦  «         e> @                    d9d:d;¦  «         d<eAd=d>fd?„ZB e-¦   «         Z, e:¦   «         ZC eBd@¦  «         e, D                    e>dA¬B¦  «         d&e>_E         eBdC¦  «         e, D                    e>¦  «         dDe>_F         eBdE¦  «         e, D                    e>dA¬B¦  «         d>e>_F        dFe>_E        dGdHge>_G         eBdI¦  «         e, D                    e>dA¬B¦  «         d>e>_F        dFe>_E        dGdHge>_G        de>_H         eBdJ¦  «         e, D                    e>dA¬B¦  «         d>e>_F        dFe>_E        dGdHge>_G        d&e>_I        d e>_H         eBdK¦  «         e, D                    e>dA¬B¦  «         d>d>d>¦  «         d>S # 1 swxY w Y   d>S d>S )Lé    )Ú	dataclassÚfieldÚreplace)	ÚTYPE_CHECKINGÚDictÚIterableÚListÚ
NamedTupleÚOptionalÚSequenceÚTupleÚUnioné   )ÚboxÚerrors)Úloop_first_lastÚ	loop_last)Ú	pick_bool)Úratio_distributeÚratio_reduce)ÚVerticalAlignMethod)ÚJupyterMixin)ÚMeasurement)ÚPaddingÚPaddingDimensions)Úis_renderable)ÚSegment)ÚStyleÚ	StyleType)ÚTextÚTextType)ÚConsoleÚConsoleOptionsÚJustifyMethodÚOverflowMethodÚRenderableTypeÚRenderResultc                   óž  — e Zd ZU dZdZded<   	 dZded<   	 dZeed<   	 dZ	eed<   	 dZ
eed<   	 d	Zd
ed<   	 dZded<   	 dZded<   	 dZee         ed<   	 dZee         ed<   	 dZee         ed<   	 dZee         ed<   	 dZeed<   	 dZeed<   	  ee¬¦  «        Zed         ed<   d!d„Zeded         fd„¦   «         Zedefd „¦   «         ZdS )"Ú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.
        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 (bool, 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.
    Ú r&   ÚheaderÚfooterÚheader_styleÚfooter_styleÚstyleÚleftr$   ÚjustifyÚtopr   ÚverticalÚellipsisr%   ÚoverflowNÚwidthÚ	min_widthÚ	max_widthÚratioFÚno_wrapr   Ú_index)Údefault_factoryÚ_cellsÚreturnc                 ó$   — t          | g ¬¦  «        S )zReturn a copy of this Column.©r=   )r   ©Úselfs    úT/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_vendor/rich/table.pyÚcopyzColumn.copyr   s   € å�t BÐ'Ñ'Ô'Ð'ó    c              #   ó$   K  — | j         E d{V —† dS )z2Get all cells in the column, not including header.Nr@   rA   s    rC   ÚcellszColumn.cellsv   s(   è è € ð ”;ÐÐÐÐÐÐÐÐÐrE   c                 ó   — | j         duS )z!Check if this column is flexible.N)r9   rA   s    rC   ÚflexiblezColumn.flexible{   s   € ð Œz Ð%Ð%rE   )r>   r)   ) Ú__name__Ú
__module__Ú__qualname__Ú__doc__r+   Ú__annotations__r,   r-   r   r.   r/   r1   r3   r5   r6   r   Úintr7   r8   r9   r:   Úboolr;   r   Úlistr=   r	   rD   Úpropertyr   rG   rI   © rE   rC   r)   r)   &   sÈ  € € € € € € ðð ð<  "€FÐÐ!Ð!Ñ!ØHà!€FÐÐ!Ð!Ñ!ØHà €L�)Ð Ð Ñ Ø-à €L�)Ð Ð Ñ Ø-à€Eˆ9ÐÐÑØ-à%€Gˆ_Ð%Ð%Ñ%Ø[à&+€HÐ#Ð+Ð+Ñ+ØMà!+€HÐÐ+Ð+Ñ+Øà€Eˆ8�CŒ=ÐÐÑØ\à#€Iˆx˜Œ}Ð#Ð#Ñ#Ø_à#€Iˆx˜Œ}Ð#Ð#Ñ#Ø_à€Eˆ8�CŒ=ÐÐÑØwà€GˆTÐÐÑØRà€FˆC€O€O�OØà%* U¸4Ð%@Ñ%@Ô%@€FˆDÐ!Ô"Ð@Ð@Ñ@ð(ð (ð (ð (ð ð�xÐ 0Ô1ð ð ð ñ „Xðð ð&˜$ð &ð &ð &ñ „Xð&ð &ð &rE   r)   c                   ó>   — e Zd ZU dZdZee         ed<   	 dZe	ed<   dS )ÚRowzInformation regarding a row.Nr/   FÚend_section)
rJ   rK   rL   rM   r/   r   r   rN   rV   rP   rS   rE   rC   rU   rU   �   s@   € € € € € € à&Ð&à!%€Eˆ8�IÔÐ%Ð%Ñ%Ø à€K�ÐÐÑØLÐLrE   rU   c                   ó6   — e Zd ZU dZeed<   	 ded<   	 eed<   dS )Ú_CellzA single cell in a table.r/   r&   Ú
renderabler3   N)rJ   rK   rL   rM   r   rN   r   rS   rE   rC   rX   rX   Œ   sB   € € € € € € Ø#Ð#àÐÐÑØ!Ø Ð Ð Ñ ØØ!Ð!Ð!Ñ!Ø"Ð"rE   rX   c            7       óÚ  — e Zd ZU dZee         ed<   ee         ed<   ddddej	        ddddddddddd	dd
ddddddddœde
eef         dee         dee         dee         dee         deej                 dee         dededededededededededeee                  d ee         d!ee         d"ee         d#ee         d$ee         d%d&d'd&d(ed)df6d*„Zeddddd+œde
eef         dedededed)d fd,„¦   «         Zed)efd-„¦   «         Zej        ded)dfd.„¦   «         Zed)efd/„¦   «         Zed)efd0„¦   «         Zd1d2d3ed)efd4„Zd1d2d5d6d)efd7„Zed)eeeeef         fd8„¦   «         Z e j        ded)d fd9„¦   «         Z 	 	 d\dddd;d<d=dddddd>œd?d@dAd@d ee         d!ee         dee         dBd&dCdDdEdFdee         dee         dGee         dHee         dIed)dfdJ„Z!dddKœdLed@         dee         dMed)dfdN„Z"d]dO„Z#	 	 	 	 	 	 d^dQ„Z$d1d2d5d6d)ee         fdR„Z%edSee         dTee         dGed)ee         fdU„¦   «         Z&d1d2dVedWed)ee'         fdX„Z(dVed)efdY„Z)d1d2d5d6dWed)efdZ„Z*d1d2d5d6dSee         d)dPfd[„Z+dS )_Ú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 (bool, 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.
    ÚcolumnsÚrowsN)r   r   FTr   Únoneztable.headerztable.footerÚcenter)ÚtitleÚcaptionr6   r7   r   Úsafe_boxÚpaddingÚcollapse_paddingÚpad_edgeÚexpandÚshow_headerÚshow_footerÚ	show_edgeÚ
show_linesÚleadingr/   Ú
row_stylesr-   r.   Úborder_styleÚtitle_styleÚcaption_styleÚtitle_justifyÚcaption_justifyÚ	highlightÚheadersr`   ra   r6   r7   r   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   r/   rl   r-   r.   rm   rn   ro   rp   r$   rq   rr   r>   c                óŒ  — g | _         g | _        || _        || _        || _        || _        || _        || _        t          j	        |¦  «        | _
        |	| _        |
| _        || _        || _        || _        || _        || _        || _        || _        |pd| _        |pd| _        || _        || _        || _        || _        || _        || _        t9          |pg ¦  «        | _        | j         j        }|D ]R}t?          |t@          ¦  «        r|  !                    |¬¦  «         Œ.tE          | j         ¦  «        |_#         ||¦  «         ŒSd S )Nr*   )r+   )$r\   r]   r`   ra   r6   r7   r   rb   r   ÚunpackÚ_paddingre   Ú_expandrg   rh   ri   rj   rk   rd   r/   r-   r.   rm   rn   ro   rp   rq   rr   rQ   rl   ÚappendÚ
isinstanceÚstrÚ
add_columnÚlenr;   )rB   r`   ra   r6   r7   r   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   r/   rl   r-   r.   rm   rn   ro   rp   rq   rr   rs   Úappend_columnr+   s                                rC   Ú__init__zTable.__init__º   s\  € ð< &(ˆŒØ!ˆŒ	ØˆŒ
ØˆŒØˆŒ
Ø"ˆŒØˆŒØ ˆŒÝœ wÑ/Ô/ˆŒØ ˆŒØˆŒØ&ˆÔØ&ˆÔØ"ˆŒØ$ˆŒØˆŒØ 0ˆÔØˆŒ
Ø(Ð.¨BˆÔØ(Ð.¨BˆÔØ(ˆÔØ&ˆÔØ*ˆÔØ.;ˆÔØ0?ˆÔØ"ˆŒÝ/3°JÐ4DÀ"Ñ/EÔ/EˆŒØœÔ+ˆØð 	&ð 	&ˆFÝ˜&¥#Ñ&Ô&ð &Ø—’ v�Ñ.Ô.Ð.Ð.å # D¤LÑ 1Ô 1�”Ø�˜fÑ%Ô%Ð%Ð%ð	&ð 	&rE   )rc   rd   re   rf   c                ó    —  | |d||ddd||dœŽ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)r   rc   rd   rg   rh   ri   re   rf   rS   )Úclsrc   rd   re   rf   rs   s         rC   Úgridz
Table.gridû   s8   € ð* ˆsØØØØ-ØØØØØð

ð 

ð 

ð 
	
rE   c                 ó"   — | j         p| j        duS )z-Setting a non-None self.width implies expand.N)rw   r6   rA   s    rC   rf   zTable.expand  s   € ð Œ|Ð5˜tœz°Ð5Ð5rE   c                 ó   — || _         dS )zSet expand.N)rw   )rB   rf   s     rC   rf   zTable.expand!  s   € ð ˆŒˆˆrE   c                 ór   — d}| j         r| j        r|dz  }| j         r|t          | j        ¦  «        dz
  z  }|S )z'Get extra width to add to cell content.r   é   r   )r   ri   r|   r\   )rB   r6   s     rC   Ú_extra_widthzTable._extra_width&  sM   € ð ˆØŒ8ð 	˜œð 	Ø�Q‰JˆEØŒ8ð 	+Ø•S˜œÑ&Ô&¨Ñ*Ñ*ˆEØˆrE   c                 ó*   — t          | j        ¦  «        S )zGet the current number of rows.)r|   r]   rA   s    rC   Ú	row_countzTable.row_count0  s   € õ �4”9‰~Œ~ÐrE   Úconsoler"   Úindexc                 ó  — t          j        ¦   «         }| j        r8||                     | j        |t	          | j        ¦  «        z           ¦  «        z  }| j        |         j        }|�||                     |¦  «        z  }|S )zGet the current row style.)r   Únullrl   Ú	get_styler|   r]   r/   )rB   r‰   rŠ   r/   Ú	row_styles        rC   Úget_row_stylezTable.get_row_style5  sx   € å”
‘”ˆØŒ?ð 	VØ�W×&Ò& t¤°u½sÀ4Ä?Ñ?SÔ?SÑ7SÔ'TÑUÔUÑUˆEØ”I˜eÔ$Ô*ˆ	ØÐ Ø�W×&Ò& yÑ1Ô1Ñ1ˆEØˆrE   Úoptionsr#   c           	      óþ  ‡‡‡‡	— ‰j         Š	| j        �| j        Š	‰	dk     rt          dd¦  «        S | j        }t	          |                      ‰‰                     ‰	|z
  ¦  «        ¦  «        ¦  «        Š	| j        Šˆˆˆ	ˆfd„| j        D ¦   «         }t	          d„ |D ¦   «         ¦  «        |z   }| j        €t	          d„ |D ¦   «         ¦  «        |z   n| j        }t          ||¦  «        }| 	                    | j
        ¦  «        }|S )Nr   c                 óP   •— g | ]"} ‰‰‰                      ‰¦  «        |¦  «        ‘Œ#S rS   )Úupdate_width)Ú.0ÚcolumnÚ_measure_columnr‰   r8   r�   s     €€€€rC   ú
<listcomp>z*Table.__rich_measure__.<locals>.<listcomp>P  sE   ø€ ð 
ð 
ð 
àð ˆO˜G W×%9Ò%9¸)Ñ%DÔ%DÀfÑMÔMð
ð 
ð 
rE   c              3   ó$   K  — | ]}|j         V — Œd S ©N)Úminimum©r”   Úmeasurements     rC   ú	<genexpr>z)Table.__rich_measure__.<locals>.<genexpr>U  ó%   è è € ÐDÐD¨�Ô#ÐDÐDÐDÐDÐDÐDrE   c              3   ó$   K  — | ]}|j         V — Œd S r™   ©Úmaximumr›   s     rC   r�   z)Table.__rich_measure__.<locals>.<genexpr>X  rž   rE   )r8   r6   r   r†   ÚsumÚ_calculate_column_widthsr“   r–   r\   Úclampr7   )
rB   r‰   r�   Úextra_widthÚmeasurementsÚminimum_widthÚmaximum_widthrœ   r–   r8   s
    ``     @@rC   Ú__rich_measure__zTable.__rich_measure__?  sG  øøøø€ ð Ô%ˆ	ØŒ:Ð!Øœ
ˆIØ�qŠ=ˆ=Ý˜q !Ñ$Ô$Ð$àÔ'ˆÝØ×)Ò)Ø˜×-Ò-¨i¸+Ñ.EÑFÔFñô ñ
ô 
ˆ	ð
 Ô.ˆð
ð 
ð 
ð 
ð 
ð 
ð 
àœ,ð
ñ 
ô 
ˆõ
 ÐDÐD°|ÐDÑDÔDÑDÔDÀ{ÑRð 	ð
 ”
Ð"õ ÐDÐD°|ÐDÑDÔDÑDÔDÀ{ÑRÐRà”ð 	õ
 " -°Ñ?Ô?ˆØ!×'Ò'¨¬Ñ7Ô7ˆØÐrE   c                 ó   — | j         S )zGet cell padding.)rv   rA   s    rC   rc   zTable.padding`  s   € ð Œ}ÐrE   c                 ó8   — t          j        |¦  «        | _        | S )zSet cell padding.)r   ru   rv   )rB   rc   s     rC   rc   zTable.paddinge  s   € õ  œ wÑ/Ô/ˆŒØˆrE   r*   r0   r2   r4   )r-   r.   r/   r1   r3   r5   r6   r7   r8   r9   r:   r+   r&   r,   r1   r3   r   r5   r%   r8   r9   r:   c                ó¤   — t          t          | j        ¦  «        |||pd|pd|pd||||	|
|||¬¦  «        }| j                             |¦  «         dS )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.
            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*   )r;   r+   r,   r-   r.   r/   r1   r3   r5   r6   r7   r8   r9   r:   N)r)   r|   r\   rx   )rB   r+   r,   r-   r.   r/   r1   r3   r5   r6   r7   r8   r9   r:   r•   s                  rC   r{   zTable.add_columnk  sy   € õJ Ý�t”|Ñ$Ô$ØØØ%Ð+¨Ø%Ð+¨Ø�+˜2ØØØØØØØØð
ñ 
ô 
ˆð  	Œ×Ò˜FÑ#Ô#Ð#Ð#Ð#rE   ©r/   rV   ÚrenderablesrV   c                óÔ  — dt           ddddfd„}t          |¦  «        }| j        }t          |¦  «        t          |¦  «        k     r'g |¢dgt          |¦  «        t          |¦  «        z
  z  ¢}t	          |¦  «        D ]Â\  }}|t          |¦  «        k    rNt          |¬¦  «        }	| j        D ]}
 ||	t          d¦  «        ¦  «         Œ| j                             |	¦  «         n||         }	|€ ||	d¦  «         Œ}t          |¦  «        r ||	|¦  «         Œ™t          j
        d	t          |¦  «        j        › d
�¦  «        ‚| j                             t          ||¬¦  «        ¦  «         dS )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•   rY   r&   r>   Nc                 ó:   — | j                              |¦  «         d S r™   )r=   rx   )r•   rY   s     rC   Úadd_cellzTable.add_row.<locals>.add_cell´  s   € ØŒM× Ò  Ñ,Ô,Ð,Ð,Ð,rE   )r;   r*   zunable to render z1; a string or other renderable object is requiredr­   )r)   rQ   r\   r|   Ú	enumerater]   r    rx   r   r   ÚNotRenderableErrorÚtyperJ   rU   )rB   r/   rV   r®   r±   Úcell_renderablesr\   rŠ   rY   r•   Ú_s              rC   Úadd_rowzTable.add_row¢  s¸  € ð$	-�Vð 	-Ð1Að 	-Àdð 	-ð 	-ð 	-ð 	-õ >BÀ+Ñ=NÔ=NÐà”,ˆÝÐÑ Ô ¥3 w¡<¤<Ò/Ð/ð Ø!ð à��3˜w™<œ<­#Ð.>Ñ*?Ô*?Ñ?Ñ@ð Ðõ "+Ð+;Ñ!<Ô!<ð 	ð 	ÑˆE�:Ø�˜G™œÒ$Ð$Ý uÐ-Ñ-Ô-�Øœð /ð /�AØ�H˜V¥T¨"¡X¤XÑ.Ô.Ð.Ð.Ø”×#Ò# FÑ+Ô+Ð+Ð+à  œ�ØÐ!Ø�˜ Ñ$Ô$Ð$Ð$Ý˜zÑ*Ô*ð Ø�˜ Ñ,Ô,Ð,Ð,åÔ/Øt­¨ZÑ(8Ô(8Ô(AÐtÐtÐtñô ð ð 	Œ	×Ò� 5°kÐBÑBÔBÑCÔCÐCÐCÐCrE   c                 ó<   — | j         rd| j         d         _        dS dS )z2Add a new section (draw a line after current row).TéÿÿÿÿN)r]   rV   rA   s    rC   Úadd_sectionzTable.add_sectionÑ  s,   € ð Œ9ð 	-Ø(,ˆDŒI�bŒMÔ%Ð%Ð%ð	-ð 	-rE   r'   c           	   #   ó˜  ‡‡K  — | j         st          d¦  «        V — d S |j        }| j        �| j        }| j        }|                      ‰|                     ||z
  ¦  «        ¦  «        }t          |¦  «        |z   }|                     || j	        d ¬¦  «        Š	 ddt          dt          dddd	fˆˆfd
„}| j        r6 || j        t          j        | j        d¦  «        | j        ¬¦  «        E d {V —† |                      ‰‰|¦  «        E d {V —† | j        r8 || j        t          j        | j        d¦  «        | j        ¬¦  «        E d {V —† d S d S )Nú
)r6   rr   Úheightr_   Útextr/   r1   r$   r>   r'   c                 ó¸   •— t          | t          ¦  «        r‰                     | |d¬¦  «        n| }‰                     |‰                     |¬¦  «        ¬¦  «        S )NF)r/   rr   ©r1   )r�   )ry   rz   Ú
render_strÚrenderÚupdate)r¾   r/   r1   Úrender_textr‰   Úrender_optionss       €€rC   Úrender_annotationz1Table.__rich_console__.<locals>.render_annotationí  sl   ø€ õ
 ˜d¥CÑ(Ô(ð�×"Ò" 4¨uÀÐ"ÑFÔFÐFàð ð
 —>’>Ø ^×%:Ò%:À7Ð%:Ñ%KÔ%Kð "ñ ô ð rE   ztable.title)r/   r1   ztable.caption)r_   )r\   r   r8   r6   r†   r£   r“   r¢   rÃ   rr   r!   r   r`   r   Ú
pick_firstrn   rp   Ú_renderra   ro   rq   )	rB   r‰   r�   r8   r¥   ÚwidthsÚtable_widthrÆ   rÅ   s	    `      @rC   Ú__rich_console__zTable.__rich_console__×  sù  øøè è € ð Œ|ð 	Ý˜$‘-”-ÐÐÐØˆFàÔ%ˆ	ØŒ:Ð!Øœ
ˆIàÔ'ˆØ×.Ò.Ø�W×)Ò)¨)°kÑ*AÑBÔBñ
ô 
ˆõ ˜&‘k”k KÑ/ˆà ŸšØ¨¬Àð (ñ 
ô 
ˆð
 JRð
	ð 
	Ýð
	Ý#,ð
	Ø7Fð
	àð
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð Œ:ð 	Ø(Ð(Ø”
ÝÔ& tÔ'7¸ÑGÔGØÔ*ðñ ô ð ð ð ð ð ð ð ð
 —<’< ¨¸Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@ØŒ<ð 	Ø(Ð(Ø”ÝÔ& tÔ'9¸?ÑKÔKØÔ,ðñ ô ð ð ð ð ð ð ð ð ð ð	ð 	rE   c                 ó  ‡ ‡‡‡— ‰j         }‰ j        }ˆˆˆ fd„|D ¦   «         }d„ |D ¦   «         }‰ j        Š‰ j        }‰ j        r¬d„ |D ¦   «         }t          |¦  «        r‘d„ t          ||¦  «        D ¦   «         }	ˆfd„|D ¦   «         }
|t          |	¦  «        z
  }t          |||
¦  «        }t          |¦  «        }t          |¦  «        D ]'\  }}|j        r|	|         t          |¦  «        z   ||<   Œ(t          |¦  «        }||k    r—‰                      |d„ |D ¦   «         |¦  «        }t          |¦  «        }||k    r7||z
  }t          |dgt          |¦  «        z  ||¦  «        }t          |¦  «        }ˆˆˆ fd„t          ||¦  «        D ¦   «         }d	„ |D ¦   «         }||k     r‰ j        s‰ j        �\|‰ j        |z
  k     rN‰ j        €|nt#          ‰ j        |z
  |¦  «        }t          ||z
  |¦  «        }d„ t          ||¦  «        D ¦   «         }|S )zNCalculate the widths of each column, including padding, not including borders.c                 ó>   •— g | ]}‰                      ‰‰|¦  «        ‘ŒS rS   )r–   )r”   r•   r‰   r�   rB   s     €€€rC   r—   z2Table._calculate_column_widths.<locals>.<listcomp>  s8   ø€ ð 
ð 
ð 
Ø?EˆD× Ò  ¨'°6Ñ:Ô:ð
ð 
ð 
rE   c                 ó    — g | ]}|j         pd ‘ŒS ©r   r    ©r”   Ú_ranges     rC   r—   z2Table._calculate_column_widths.<locals>.<listcomp>  s   € ÐAÐAÐA¨&�&”.Ð% AÐAÐAÐArE   c                 ó.   — g | ]}|j         ¯	|j        pd ‘ŒS ©r   )rI   r9   )r”   Úcols     rC   r—   z2Table._calculate_column_widths.<locals>.<listcomp>  s%   € ÐHÐHÐH¨¸3¼<ÐH�c”i�n 1ÐHÐHÐHrE   c                 ó4   — g | ]\  }}|j         rd n|j        ‘ŒS rÓ   )rI   r¡   )r”   rÑ   r•   s      rC   r—   z2Table._calculate_column_widths.<locals>.<listcomp>  s9   € ð  ð  ð  á&˜ ð  œÐ<�A�A¨f¬nð ð  ð  rE   c                 óR   •— g | ]#}|j         ¯	|j        pd  ‰|j        ¦  «        z   ‘Œ$S rÏ   )rI   r6   r;   )r”   r•   Úget_padding_widths     €rC   r—   z2Table._calculate_column_widths.<locals>.<listcomp>  sK   ø€ ð  ð  ð  àØ”ð Ø”\Ð& QÐ*;Ð*;¸F¼MÑ*JÔ*JÑJð ð  ð  rE   c                 ó0   — g | ]}|j         d u o|j         ‘ŒS r™   )r6   r:   )r”   r•   s     rC   r—   z2Table._calculate_column_widths.<locals>.<listcomp>*  s)   € ÐUÐUÐUÀ6�&”, $Ð&Ð=¨v¬~Ð+=ÐUÐUÐUrE   r   c                 ój   •— g | ]/\  }}‰                      ‰‰                     |¦  «        |¦  «        ‘Œ0S rS   )r–   r“   )r”   r6   r•   r‰   r�   rB   s      €€€rC   r—   z2Table._calculate_column_widths.<locals>.<listcomp>4  sM   ø€ ð ð ð á!�E˜6ð ×$Ò$ W¨g×.BÒ.BÀ5Ñ.IÔ.IÈ6ÑRÔRðð ð rE   c                 ó    — g | ]}|j         pd ‘ŒS rÓ   r    rÐ   s     rC   r—   z2Table._calculate_column_widths.<locals>.<listcomp>8  s   € ÐEÐEÐE¨f�f”nÐ)¨ÐEÐEÐErE   Nc                 ó   — g | ]
\  }}||z   ‘ŒS rS   rS   )r”   Ú_widthÚpads      rC   r—   z2Table._calculate_column_widths.<locals>.<listcomp>C  s    € ÐNÐNÐN¡{ v¨s�f˜s‘lÐNÐNÐNrE   )r8   r\   Ú_get_padding_widthr†   rf   ÚanyÚzipr¢   r   Úiterr²   rI   ÚnextÚ_collapse_widthsr   r|   r7   Úmin)rB   r‰   r�   r8   r\   Úwidth_rangesrÉ   r¥   ÚratiosÚfixed_widthsÚflex_minimumÚflexible_widthÚflex_widthsÚiter_flex_widthsrŠ   r•   rÊ   Úexcess_widthÚ
_max_widthÚ
pad_widthsr×   s   ```                 @rC   r£   zTable._calculate_column_widths  sÓ  øøøø€ ð Ô%ˆ	Ø”,ˆð
ð 
ð 
ð 
ð 
ð 
ØIPð
ñ 
ô 
ˆð BÐA°LÐAÑAÔAˆØ Ô3ÐØÔ'ˆØŒ;ð 	UØHÐH°ÐHÑHÔHˆFÝ�6‰{Œ{ð Uð ð  å*-¨l¸GÑ*DÔ*Dð ñ  ô  �ð ð  ð  ð  à")ð ñ  ô  �ð
 "+­S°Ñ->Ô->Ñ!>�Ý.¨~¸vÀ|ÑTÔT�Ý#'¨Ñ#4Ô#4Ð Ý%.¨wÑ%7Ô%7ð Uð U‘M�E˜6Ø”ð UØ(4°UÔ(;½dÐCSÑ>TÔ>TÑ(T˜˜u™øÝ˜&‘k”kˆà˜Ò"Ð"Ø×*Ò*ØØUÐUÈWÐUÑUÔUØñô ˆFõ
 ˜f™+œ+ˆKà˜YÒ&Ð&Ø*¨YÑ6�Ý% l°Q°C½#¸f¹+¼+Ñ4EÀvÈvÑVÔV�Ý! &™kœk�ðð ð ð ð ð å%(¨°Ñ%9Ô%9ðñ ô ˆLð FÐE¸ÐEÑEÔEˆFà˜)Ò#Ð#¨¬Ð#ØŒNÐ&¨;¸$¼.È;Ñ:VÒ+WÐ+Wð ”>Ð)ð �	å˜œ¨+Ñ5°yÑAÔAð õ
 *¨*°{Ñ*BÀFÑKÔKˆJØNÐNµc¸&À*Ñ6MÔ6MÐNÑNÔNˆFàˆrE   rÉ   Úwrapablec                 ó  ‡
— t          |¦  «        }||z
  }t          |¦  «        rÚ|rØ|dk    rÒt          d„ t          ||¦  «        D ¦   «         ¦  «        Š
t          ˆ
fd„t          ||¦  «        D ¦   «         ¦  «        }‰
|z
  }ˆ
fd„t          ||¦  «        D ¦   «         }t          |¦  «        r|snOt	          ||¦  «        gt          |¦  «        z  }	t          |||	|¦  «        }t          |¦  «        }||z
  }|r|dk    °Ò|S )aM  Reduce 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.
        r   c              3   ó$   K  — | ]\  }}|¯|V — Œd S r™   rS   )r”   r6   Ú
allow_wraps      rC   r�   z)Table._collapse_widths.<locals>.<genexpr>Y  s?   è è € ð !ð !Ù/˜e ZÈJð!Øð!ð !ð !ð !ð !ð !rE   c              3   ó6   •K  — | ]\  }}|r|‰k    r|nd V — ŒdS )r   NrS   ©r”   r6   rò   Ú
max_columns      €rC   r�   z)Table._collapse_widths.<locals>.<genexpr>\  sN   øè è € ð (ð (á)˜˜zð (ÐF¨E°ZÒ,?Ð,?�E�EÀQð(ð (ð (ð (ð (ð (rE   c                 ó.   •— g | ]\  }}|‰k    r|rd nd‘ŒS )r   r   rS   rô   s      €rC   r—   z*Table._collapse_widths.<locals>.<listcomp>a  s@   ø€ ð ð ð á)˜˜zð ! JÒ.Ð.°:Ð.�Q�QÀAðð ð rE   )r¢   rß   Úmaxrà   rä   r|   r   )r€   rÉ   rï   r8   Útotal_widthrì   Úsecond_max_columnÚcolumn_differenceræ   Ú
max_reducerõ   s             @rC   rã   zTable._collapse_widthsG  sm  ø€ õ ˜&‘k”kˆØ" YÑ.ˆÝˆx‰=Œ=ð 	7Øð 7 ,°Ò"2Ð"2Ý ð !ð !Ý36°v¸xÑ3HÔ3Hð!ñ !ô !ñ ô �
õ %(ð (ð (ð (ð (å-0°¸Ñ-BÔ-Bð(ñ (ô (ñ %ô %Ð!ð %/Ð1BÑ$BÐ!ðð ð ð å-0°¸Ñ-BÔ-Bðñ ô �õ ˜6‘{”{ð Ð*;ð ØÝ! ,Ð0AÑBÔBÐCÅcÈ&ÁkÄkÑQ�
Ý% l°F¸JÈÑOÔO�å! &™kœk�Ø*¨YÑ6�ð' ð 7 ,°Ò"2Ð"2ð( ˆrE   Úcolumn_indexr•   c              #   ó¦  ‡‡‡‡‡‡K  — | j         Š| j        Š| j        Št          ‰¦  «        }|dk    Š|t	          | j        ¦  «        dz
  k    Ši Šdt          dt          dt          t          t          t          t          f         fˆˆˆˆˆˆfd„}g }|j	        }|j
        }| j        r5 || j        pd¦  «         ||j        ¦  «        z   }	 ||	|j        f¦  «          ||j        pd¦  «        }
|j        D ]} ||
|f¦  «         Œ| j        r5 || j        pd¦  «         ||j        ¦  «        z   } |||j        f¦  «         |r_t&          }t)          |¦  «        D ]F\  }}\  }}t+          | || |||¦  «        ¦  «        t-          |dd	¦  «        p|j        ¦  «        V — ŒGd	S |D ].\  }}t+          ||t-          |dd	¦  «        p|j        ¦  «        V — Œ/d	S )
z3Get all the cells with padding and optional header.r   r   Ú	first_rowÚlast_rowr>   c                 óâ   •— ‰                      | |f¦  «        }|r|S ‰\  }}}}‰	r*‰
st          d||z
  ¦  «        }|st          d||z
  ¦  «        }‰s‰
rd}‰rd}| rd}|rd}||||f}|‰| |f<   |S )Nr   )Úgetr÷   )rþ   rÿ   Úcachedr2   ÚrightÚbottomr0   rv   Ú_padding_cacherd   Úfirst_columnÚlast_columnre   rc   s           €€€€€€rC   Úget_paddingz%Table._get_cells.<locals>.get_padding}  sÒ   ø€ Ø#×'Ò'¨°HÐ(=Ñ>Ô>ˆFØð Ø�Ø'.Ñ$ˆC�˜ àð 2Ø#ð 0Ý˜q $¨¡,Ñ/Ô/�DØð 2Ý   C¨&¡LÑ1Ô1�Fàð Øð Ø�DØð Ø�EØð Ø�CØð Ø�FØ˜U F¨DÐ1ˆHØ4<ˆN˜I xÐ0Ñ1ØˆOrE   r*   r3   N)rd   re   rc   rß   r|   r\   rP   r   rO   rx   r�   rg   r-   r+   r/   rG   rh   r.   r,   r   r   rX   Úgetattrr3   )rB   r‰   rü   r•   Úany_paddingr  Ú	raw_cellsÚ_appendr�   r-   Ú
cell_styleÚcellr.   Ú_PaddingÚfirstÚlastr/   rY   r  rd   r  r  re   rc   s                     @@@@@@rC   Ú
_get_cellszTable._get_cellsn  s¢  øøøøøøè è € ð
  Ô0ÐØ”=ˆØ”,ˆÝ˜'‘l”lˆà# qÒ(ˆØ"¥c¨$¬,Ñ&7Ô&7¸!Ñ&;Ò;ˆàMOˆð	¥4ð 	µ4ð 	½EÅ#ÅsÍCÕQTÐBTÔ<Uð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð2 ?Aˆ	ØÔ"ˆØÔ%ˆ	ØÔð 	3Ø$˜9 TÔ%6Ð%<¸"Ñ=Ô=À	À	ØÔ#ñAô Añ ˆLð ˆG�\ 6¤=Ð1Ñ2Ô2Ð2Ø�Y˜vœ|Ð1¨rÑ2Ô2ˆ
Ø”Lð 	(ð 	(ˆDØˆG�Z Ð&Ñ'Ô'Ð'Ð'ØÔð 	3Ø$˜9 TÔ%6Ð%<¸"Ñ=Ô=À	À	ØÔ#ñAô Añ ˆLð ˆG�\ 6¤=Ð1Ñ2Ô2Ð2àð 	ÝˆHÝ4CÀIÑ4NÔ4Nð ð Ñ0��tÑ0˜e ZÝØØ�H˜Z¨¨°U¸DÑ)AÔ)AÑBÔBÝ˜J¨
°DÑ9Ô9ÐL¸V¼_ñô ð ð ð ð ðð ð (1ð ð Ñ#�˜
ÝØØÝ˜J¨
°DÑ9Ô9ÐL¸V¼_ñô ð ð ð ð ðð rE   c                 ód   — | j         \  }}}}| j        r|dk    rt          d||z
  ¦  «        }||z   S )zGet extra width from padding.r   )rc   rd   r÷   )rB   rü   r¶   Ú	pad_rightÚpad_lefts        rC   rÞ   zTable._get_padding_width·  sG   € à$(¤LÑ!ˆˆ9�a˜ØÔ ð 	8Ø˜aÒÐÝ˜q (¨YÑ"6Ñ7Ô7�Ø˜)Ñ#Ð#rE   c                 ó²  — |j         }|dk     rt          dd¦  «        S |                      |j        ¦  «        }|j        �3t          |j        |z   |j        |z   ¦  «                             |¦  «        S g }g }|j        }|j        }	t          j        }
|                      ||j        |¦  «        D ]-} |
|||j	        ¦  «        \  }} ||¦  «          |	|¦  «         Œ.t          |rt          |¦  «        nd|rt          |¦  «        n|¦  «                             |¦  «        }|                     |j        €dn	|j        |z   |j         €dn	|j         |z   ¦  «        }|S )z0Get the minimum and maximum width of the column.r   r   N)r8   r   rÞ   r;   r6   Úwith_maximumrx   r  r  rY   r÷   r¤   r7   )rB   r‰   r�   r•   r8   Úpadding_widthÚ
min_widthsÚ
max_widthsÚ
append_minÚ
append_maxÚget_render_widthr  Ú_minÚ_maxrœ   s                  rC   r–   zTable._measure_column¿  sˆ  € ð Ô%ˆ	Ø�qŠ=ˆ=Ý˜q !Ñ$Ô$Ð$à×/Ò/°´Ñ>Ô>ˆàŒ<Ð#åØ”˜}Ñ,¨f¬l¸]Ñ.Jñô çŠl˜9Ñ%Ô%ð&ð !#ˆ
Ø "ˆ
ØÔ&ˆ
ØÔ&ˆ
Ý&œ?ÐØ—O’O G¨V¬]¸FÑCÔCð 	ð 	ˆDØ)Ð)¨'°7¸D¼OÑLÔL‰JˆD�$ØˆJ�tÑÔÐØˆJ�tÑÔÐÐå!Ø)Ð0�C�
‰OŒOˆO¨qØ)Ð8�C�
‰OŒOˆO¨yñ
ô 
÷ Š,�yÑ
!Ô
!ð 	ð "×'Ò'ØÔ$Ð,ˆDˆD°&Ô2BÀ]Ñ2RØÔ$Ð,ˆDˆD°&Ô2BÀ]Ñ2Rñ
ô 
ˆð ÐrE   c              #   óÜ
  ‡ ‡‡%‡&‡'‡(‡)‡*‡+‡,K  — ‰                      ‰ j        pd¦  «        }|‰                      ‰ j        pd¦  «        z   }ˆˆ fd„t          ‰ j        ¦  «        D ¦   «         }t          t          |Ž ¦  «        }‰ j        r4‰ j                             |t          ‰ j
        ‰j
        ¦  «        ¬¦  «        nd }|r‰ j        s|                     ¦   «         n|}t          j        ¦   «         }	‰ j        }
‰ j        }‰ j        }‰ j        }‰ j        }‰ j        }t          Š%|r½ ‰%|j        |¦  «         ‰%|j        |¦  «         ‰%|j        |¦  «        f ‰%|j        |¦  «         ‰%|j        |¦  «         ‰%|j        |¦  «        f ‰%|j        |¦  «         ‰%|j        |¦  «         ‰%|j        |¦  «        fg}|r% ‰%|                     |¦  «        |¦  «        V — |	V — ng }‰ j        }‰j         Š(t          t=          |¦  «        ¦  «        D �]3\  }\  }}}|o|Š)|o|Š'‰)s‰'s‰ j        ||z
           nd }dŠ*g }‰)s‰'rtA          j!        ¦   «         Š,n ‰( |‰|r|dz
  n|¦  «        ¦  «        Š,t          |||
¦  «        D ]�\  }}}| "                    ||j#        |j$        |j%        d ¬¦  «        }‰ &                    |j'        | ‰(|j        ¦  «        ‰,z   ¬¦  «        }tQ          ‰*tS          |¦  «        ¦  «        Š*| *                    |¦  «         Œ�tQ          d„ |D ¦   «         ¦  «        Š+dtV          tV          t                            d	d
dtX          dt@          dtV          tV          t                            f
ˆ%ˆ'ˆ)ˆ+fd„Š&ˆ%ˆ&ˆ(ˆ*ˆ,fd„t          ||||
¦  «        D ¦   «         |d d …<   |rÅ|r*|r( ‰%| -                    |d|¬¦  «        |¦  «        V — |	V — ||rdn|rdnd         \  }}}|j.         /                    ¦   «         r|n ‰%|j.        ‰,j0        |j        z   ¦  «        } tc          ‰*¦  «        D ];}!|r|V — te          |¦  «        D ]\  }"}#|#|!         E d {V —† |"s| V — Œ|r|V — |	V — Œ<n)tc          ‰*¦  «        D ]}!|D ]}#|#|!         E d {V —† Œ|	V — Œ|r,|r*|r( ‰%| -                    |d|¬¦  «        |¦  «        V — |	V — |o|j3        }$|rv|s|s|$rp|sn|r|tS          |¦  «        dz
  k    sV|r‰)sR|r( ‰%| -                    |d|¬¦  «        |z  |¦  «        V — n$ ‰%| -                    |d|¬¦  «        |¦  «        V — |	V — �Œ5|r)|r) ‰%| 4                    |¦  «        |¦  «        V — |	V — d S d S d S )Nr*   c              3   óL   •K  — | ]\  }}‰                      ‰||¦  «        V — Œd S r™   )r  )r”   rü   r•   r‰   rB   s      €€rC   r�   z Table._render.<locals>.<genexpr>í  sK   øè è € ð 
ð 
á$�˜fð �OŠO˜G \°6Ñ:Ô:ð
ð 
ð 
ð 
ð 
ð 
rE   )Úsafer   )r6   r1   r:   r5   r½   ©r/   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r™   )r|   )r”   r  s     rC   r�   z Table._render.<locals>.<genexpr>@  s(   è è € Ð9Ð9¨4�S ™YœYÐ9Ð9Ð9Ð9Ð9Ð9rE   r  r3   r   r6   r/   r>   c                 ó¾   •— ‰rd}n‰rd}|dk    r‰                      | |‰|¦  «        S |dk    r‰                     | |‰|¦  «        S ‰                     | |‰|¦  «        S )Nr  r2   Úmiddle)Ú	align_topÚalign_middleÚalign_bottom)r  r3   r6   r/   Ú_SegmentÚ
footer_rowÚ
header_rowÚ
row_heights       €€€€rC   Ú
align_cellz!Table._render.<locals>.align_cellB  s…   ø€ ð ð %Ø'�H�HØð %Ø$�Hà˜uÒ$Ð$Ø#×-Ò-¨d°E¸:ÀuÑMÔMÐMØ Ò)Ð)Ø#×0Ò0°°u¸jÈ%ÑPÔPÐPØ×,Ò,¨T°5¸*ÀeÑLÔLÐLrE   c                 óŒ   •— g | ]@\  }}}}‰                       ‰||j        | ‰|j        ¦  «        ‰	z   ¦  «        |‰¦  «        ‘ŒAS rS   )Ú	set_shaper3   r/   )
r”   r6   Ú_cellr  r•   r*  r.  r�   Ú
max_heightrŽ   s
        €€€€€rC   r—   z!Table._render.<locals>.<listcomp>S  sy   ø€ ð ð ð ñ /�E˜5 $¨ð ×"Ò"Ø�JØØœØØ!˜	 %¤+Ñ.Ô.°Ñ:ñ	ô ð Øñ	ô 	ðð ð rE   Úfoot)Úedger   r…   ÚheadÚmidÚrow)5r�   r/   rm   r²   r\   rQ   rà   r   Ú
substituter   rb   rg   Úget_plain_headed_boxr   Úlinerh   ri   rj   rk   Ú	head_leftÚ
head_rightÚhead_verticalÚ	foot_leftÚ
foot_rightÚfoot_verticalÚmid_leftÚ	mid_rightÚmid_verticalÚget_topr�   r   r]   r   rŒ   rÃ   r1   r:   r5   Úrender_linesrY   r÷   r|   rx   r	   rO   Úget_rowr¾   ÚstripÚbackground_styleÚranger   rV   Ú
get_bottom)-rB   r‰   r�   rÉ   Útable_stylerm   Ú_column_cellsÚ	row_cellsÚ_boxÚnew_liner\   rg   rh   ri   rj   rk   Úbox_segmentsr�   rŠ   r  r  Úrow_cellr7  rG   r6   r  r•   rÅ   Úlinesr0   r  Ú_dividerÚdividerÚline_noÚ	last_cellÚrendered_cellrV   r*  r.  r+  r�   r,  r2  r-  rŽ   s-   ``                                   @@@@@@@@rC   rÈ   zTable._renderç  sî  øøøøøøøøøøè è € ð ×'Ò'¨¬
Ð(8°bÑ9Ô9ˆà" W×%6Ò%6°tÔ7HÐ7NÈBÑ%OÔ%OÑOˆð
ð 
ð 
ð 
ð 
å(1°$´,Ñ(?Ô(?ð
ñ 
ô 
ˆõ .2µ#°}Ð2EÑ-FÔ-Fˆ	ð
 ŒxðˆDŒH×ÒØ�i¨¬°wÔ7GÑHÔHð  ñ ô ð ð ð 	ð /3ÐU¸4Ô;KÐUˆt×(Ò(Ñ*Ô*Ð*ÐQUˆå”<‘>”>ˆà”,ˆØÔ&ˆØÔ&ˆØ”Nˆ	Ø”_ˆ
Ø”,ˆåˆØð 	ð �H˜Tœ^¨\Ñ:Ô:Ø�H˜Tœ_¨lÑ;Ô;Ø�H˜TÔ/°Ñ>Ô>ðð �H˜Tœ^¨\Ñ:Ô:Ø�H˜Tœ_¨lÑ;Ô;Ø�H˜TÔ/°Ñ>Ô>ðð �H˜Tœ]¨LÑ9Ô9Ø�H˜Tœ^¨\Ñ:Ô:Ø�H˜TÔ.°Ñ=Ô=ððˆLð" ð Ø�h˜tŸ|š|¨FÑ3Ô3°\ÑBÔBÐBÐBÐBØ���øàˆLàÔ*ˆØÔ%ˆ	å.7½È	Ñ8RÔ8RÑ.SÔ.Sð u	#ñ u	#Ñ*ˆEÑ*�E˜4 ØÐ. ;ˆJØÐ- +ˆJð #ðØ+5ð�”	˜% +Ñ-Ô.Ð.àð ð
 ˆJØ/1ˆEØð ˜Zð Ý!œJ™LœL�	�	à%˜IØ!�M '¸Ð+N¨5°1©9¨9ÈÑOÔOñô �	õ (+¨6°8¸WÑ'EÔ'Eð $ð $Ñ#��t˜VØ!(§¢ØØ"œNØ"œNØ#œ_Øð "0ñ "ô "�ð  ×,Ò,Ø”OØ"Ø#˜) D¤JÑ/Ô/°)Ñ;ð -ñ ô �õ
 ! ­S°©Z¬ZÑ8Ô8�
Ø—’˜UÑ#Ô#Ð#Ð#åÐ9Ð9°5Ð9Ñ9Ô9Ñ9Ô9ˆJðMÝ�4¥œ=Ô)ðMà/ðMõ ðMõ ð	Mõ
 •d�7”mÔ$ðMð Mð Mð Mð Mð Mð Mð Mð Mð"ð ð ð ð ð ð ð õ 36°f¸hÈÈwÑ2WÔ2Wðñ ô ˆE�!�!�!‰Hð ð #Øð #˜Kð #Ø"˜(ØŸš V¨V¸)˜ÑDÔDÀlñô ð ð ð ð #�N�N�NØ(4¸%Ð5W°Q°QÈ4ÐFVÀaÀaÐUVÔ(XÑ%��e˜Xð
  ”}×*Ò*Ñ,Ô,ð�H�Hà!˜Ø œ yÔ'AÀHÄNÑ'Rñô ð õ  % ZÑ0Ô0ð 	#ð 	#�GØ ð #Ø"˜
˜
˜
Ý4=¸eÑ4DÔ4Dð *ð *Ñ0˜	 =Ø#0°Ô#9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø(ð *Ø")˜M˜M˜MøØ ð $Ø#˜˜˜Ø"�N�N�N�Nð	#õ  % ZÑ0Ô0ð #ð #�GØ).ð :ð :˜Ø#0°Ô#9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø"�N�N�N�NØð ˜ð  +ð Ø�hØ—L’L ¨°i�LÑ@Ô@À,ñô ð ð ð ð ���ØÐ1 #¤/ˆKØð #˜ð # wð #°+ð #àð#à(ð#à-2µc¸)±n´nÀqÑ6HÒ-HÐ-HØ(ð .IØ-7ð .Ið ð Ø&˜hØ ŸLšL¨°¸Y˜LÑGÔGÈ'ÑQØ(ñô ð ð ð ð ð
 '˜hØ ŸLšL¨°¸Y˜LÑGÔGÈñô ð ð ð ð #�N�N�Nùàð 	�Ið 	Ø�(˜4Ÿ?š?¨6Ñ2Ô2°LÑAÔAÐAÐAÐAØˆNˆNˆNˆNˆNð	ð 	ð 	ð 	rE   )r*   r*   )r>   N)r‰   r"   r�   r#   r>   r'   ),rJ   rK   rL   rM   r	   r)   rN   rU   r   Ú
HEAVY_HEADr   rz   r   r!   rO   ÚBoxrP   r   r   r   r~   Úclassmethodr�   rR   rf   Úsetterr†   rˆ   r�   r   r©   r   rc   r{   r·   rº   rË   r£   rã   rX   r  rÞ   r–   rÈ   rS   rE   rC   r[   r[   —   sØ  € € € € € € ðð ð> �&Œ\ÐÐÑØ
ˆsŒ)€O€O�Oð
 %)Ø&*Ø#Ø#'Ø!$¤Ø#'Ø%+Ø!&ØØØ Ø!ØØ ØØ!Ø48Ø,:Ø,:Ø,0Ø+/Ø-1Ø)1Ø+3Øð7?&ð ?&ð ?&à˜ ˜Ô$ð?&ð ˜Ô!ð?&ð ˜(Ô#ð	?&ð
 ˜Œ}ð?&ð ˜C”=ð?&ð �c”gÔð?&ð ˜4”.ð?&ð #ð?&ð ð?&ð ð?&ð ð?&ð ð?&ð ð?&ð ð?&ð  ð!?&ð" ð#?&ð$ ð%?&ð& ˜X iÔ0Ô1ð'?&ð( ˜yÔ)ð)?&ð* ˜yÔ)ð+?&ð, ˜yÔ)ð-?&ð. ˜iÔ(ð/?&ð0   	Ô*ð1?&ð2 'ð3?&ð4 )ð5?&ð6 ð7?&ð8 
ð9?&ð ?&ð ?&ð ?&ðB ð &'Ø!%ØØð
ð 
ð 
à˜ ˜Ô$ð
ð #ð
ð ð	
ð
 ð
ð ð
ð 
ð
ð 
ð 
ñ „[ð
ð@ ð6˜ð 6ð 6ð 6ñ „Xð6ð „]ð˜Tð  dð ð ð ñ „]ðð ð˜cð ð ð ñ „Xðð ð˜3ð ð ð ñ „Xðð Yð °sð ¸yð ð ð ð ðØ ðØ+;ðà	ðð ð ð ðB ð˜˜s C¨¨cÐ1Ô2ð ð ð ñ „Xðð „^ðÐ0ð °Wð ð ð ñ „^ðð $&Ø#%ð5$ð
 -1Ø,0Ø%)Ø#)Ø*/Ø%/Ø#Ø#'Ø#'Ø#Øð5$ð 5$ð 5$à ð5$ð !ð5$ð
 ˜yÔ)ð5$ð ˜yÔ)ð5$ð ˜	Ô"ð5$ð !ð5$ð (ð5$ð #ð5$ð ˜Œ}ð5$ð ˜C”=ð5$ð ˜C”=ð5$ð ˜Œ}ð5$ð ð5$ð  
ð!5$ð 5$ð 5$ð 5$ðt &*Ø!ð	-Dð -Dð -DàÐ/Ô0ð-Dð ˜	Ô"ð-Dð ð	-Dð
 
ð-Dð -Dð -Dð -Dð^-ð -ð -ð -ð.Ø ð.Ø+;ð.à	ð.ð .ð .ð .ð`>Ø ð>Ø+;ð>à	ˆcŒð>ð >ð >ð >ð@ ð$Ø˜#”Yð$Ø*.¨t¬*ð$ØADð$à	ˆcŒð$ð $ð $ñ „[ð$ðLGØ ðGØ03ðGØ=CðGà	�%ŒðGð Gð Gð GðR$¨sð $°sð $ð $ð $ð $ð&àð&ð "ð&ð ð	&ð
 
ð&ð &ð &ð &ðPrØ ðrØ+;ðrØEIÈ#ÄYðrà	ðrð rð rð rð rð rrE   r[   Ú__main__)r"   )ÚReprHighlighter)r[   )ÚtimerzTable renderzStar Wars MovieszRich example tabler  )r`   ra   rq   ÚReleasedÚbright_cyanÚcyanT)r-   r/   r:   ÚTitleÚmagentar#  z
Box OfficeÚgreen)r1   r/   zDec 20, 2019z Star Wars: The Rise of Skywalkerz$952,110,690zMay 25, 2018zSolo: A Star Wars Storyz$393,151,347zDec 15, 2017z!Star Wars Ep. V111: The Last Jediz$1,332,539,889zon blackr­   zDec 16, 2016zRogue One: A Star Wars Storyz$1,332,439,889r¾   r>   Nc                 ó¸   — t                                ¦   «          t                                t          | ¦  «        ¦  «         t                                ¦   «          d S r™   )r‰   ÚprintÚrulerr   )r¾   s    rC   r+   r+   Ã  s8   € Ý�MŠM‰OŒOˆOÝ�LŠL� 4™œÑ)Ô)Ð)Ý�MŠM‰OŒOˆOˆOˆOrE   zExample Tabler_   rÀ   zexpand=Trueé2   zwidth=50FÚdimr^   zrow_styles=['dim', 'none']z%leading=1, row_styles=['dim', 'none']z+show_lines=True, row_styles=['dim', 'none'])JÚdataclassesr   r   r   Útypingr   r   r   r	   r
   r   r   r   r   r*   r   r   Ú_loopr   r   Ú_pickr   Ú_ratior   r   Úalignr   Újupyterr   Úmeasurer   rc   r   r   Úprotocolr   Úsegmentr   r/   r   r   r¾   r    r!   r‰   r"   r#   r$   r%   r&   r'   r)   rU   rX   r[   rJ   Úpip._vendor.rich.consoleÚpip._vendor.rich.highlighterr]  Úpip._vendor.rich.tableÚ_timerr^  Útabler{   r·   rz   r+   rr   rf  rf   r6   rl   rk   rj   rS   rE   rC   ú<module>ry     s4  ðØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð Ð Ð Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø Ð Ð Ð Ð Ð Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø &Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !Ø  Ð  Ð  Ð  Ð  Ð  Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  àð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðW&ð W&ð W&ð W&ð W&ñ W&ô W&ñ „ðW&ðt ðMð Mð Mð Mð Mñ Mô Mñ „ðMð#ð #ð #ð #ð #ˆJñ #ô #ð #ðBð Bð Bð Bð BˆLñ Bô Bð BðJ ˆzÒÑØ0Ð0Ð0Ð0Ð0Ð0Ø<Ð<Ð<Ð<Ð<Ð<Ø5Ð5Ð5Ð5Ð5Ð5àÐÐÐÐÐà	ˆˆ~Ñ	Ô	ð G/ð G/Ø�Ø$Ø(Ø#ð
ñ 
ô 
ˆð 	×ÒØ ]¸&È$ð 	ñ 	
ô 	
ð 	
ð 	×Ò˜¨	ÐÑ2Ô2Ð2Ø×Ò˜¨w¸gÐÑFÔFÐFà�ŠØØ.Øñ	
ô 	
ð 	
ð
 	�Š�nÐ&?ÀÑPÔPÐPØ�ŠØØ/ØØØð 	ñ 	
ô 	
ð 	
ð 	�ŠØØ*Øñ	
ô 	
ð 	
ð	˜ð 	 ð 	ð 	ð 	ð 	ð
 �'‘)”)ˆØ#�OÑ%Ô%ˆ	ØˆˆÑÔÐØ�Š�e XˆÑ.Ô.Ð.àˆŒØˆˆ}ÑÔÐØ�Š�eÑÔÐàˆŒØˆˆzÑÔÐà�Š�e XˆÑ.Ô.Ð.àˆŒØˆŒØ! 6˜?ˆÔØˆÐ+Ñ,Ô,Ð,à�Š�e XˆÑ.Ô.Ð.àˆŒØˆŒØ! 6˜?ˆÔØˆŒØˆÐ6Ñ7Ô7Ð7Ø�Š�e XˆÑ.Ô.Ð.àˆŒØˆŒØ! 6˜?ˆÔØˆÔØˆŒØˆÐ<Ñ=Ô=Ð=Ø�Š�e XˆÑ.Ô.Ð.ðOG/ð G/ð G/ñ G/ô G/ð G/ð G/ð G/ð G/ð G/ð G/ð G/øøøð G/ð G/ð G/ð G/ð G/ð G/ð Ðs   Ã7HLÌLÌL