§
    +xÅjì× ã                  óD  — U d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 dZ
e
r.d dlmZmZmZ d dlmZmZmZ d dlmZ d d	lmZ  G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zd Zded<   dZded<   dZded<   dZded<   ej        Z ded<   ej!        Z"ded<   ej#        Z$ded<   ej%        Z&ded<   ej'        Z(ded<   ej)        Z*ded<   ej+        Z,ded <   ej-        Z.ded!<   d"Z/ded#<   e0e         Z1d$ed%<   ed&         Z2d$ed'<   ed(         Z3d$ed)<   ed*         d+z  Z4d$ed,<    G d-„ d.e5e6ef         ¦  «        Z7edQd3„¦   «         Z8 G d4„ d5¦  «        Z9edRd8„¦   «         Z:dSdTd;„Z;dUd?„Z<dVdB„Z=dC„ Z> G dD„ dE¦  «        Z?dWdH„Z@dXdI„ZAdYdK„ZBdZdO„ZCd[dP„ZDd+S )\é    )Úannotations)ÚIntEnum)Ú	lru_cache)ÚAnyÚLiteralÚcastF)ÚCallableÚMappingÚSequence)ÚFinalÚ	TypeAliasÚ	TypedDict)ÚSupportsRichComparison)ÚSelfc                  óú  — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   d	ed<   d	ed<   d	ed<   ded<   d	ed<   ded<   ded<   ded<   d	ed<   ded<   ded<   ded<   ded<   ded<   ded <   ded!<   ded"<   ded#<   ded$<   d%ed&<   d%ed'<   d%ed(<   ded)<   d%ed*<   d+ed,<   d	ed-<   d	ed.<   d	ed/<   d%ed0<   d%ed1<   d%ed2<   d%ed3<   d%ed4<   d%ed5<   d%ed6<   d%ed7<   d8ed9<   d:ed;<   d<ed=<   d<ed><   d?ed@<   d	edA<   d	edB<   d	edC<   dDS )EÚOptionsTypeú
str | NoneÚtitleÚintÚstartú
int | NoneÚendúSequence[str | None] | NoneÚfieldsÚboolÚheaderÚuse_header_widthÚborderÚpreserve_internal_borderÚsortbyÚreversesortú+Callable[[RowType], SupportsRichComparison]Úsort_keyúCallable[[RowType], bool]Ú
row_filterúdict[str, str]Ú
attributesÚformatÚ
HRuleStyleÚhrulesÚ
VRuleStyleÚvrulesústr | dict[str, str] | NoneÚ
int_formatÚfloat_formatúGCallable[[str, Any], str] | dict[str, Callable[[str, Any], str]] | NoneÚcustom_formatÚmin_table_widthÚmax_table_widthÚpadding_widthÚleft_padding_widthÚright_padding_widthÚstrÚvertical_charÚhorizontal_charÚhorizontal_align_charÚheader_horizontal_charÚjunction_charÚHeaderStyleTypeÚheader_styleÚxhtmlÚprint_emptyÚoldsortsliceÚtop_junction_charÚbottom_junction_charÚright_junction_charÚleft_junction_charÚtop_right_junction_charÚtop_left_junction_charÚbottom_right_junction_charÚbottom_left_junction_charúdict[str, AlignType]Úalignúdict[str, VAlignType]Úvalignúint | dict[str, int] | NoneÚ	min_widthÚ	max_widthú"str | dict[str, str | None] | NoneÚnone_formatÚescape_headerÚescape_dataÚbreak_on_hyphensN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úHC:\Projects\Historical\venv\Lib\site-packages\prettytable/prettytable.pyr   r   .   sV  € € € € € € ØÐÐÑØˆ
ˆ
‰
Øˆˆ‰Ø+Ð+Ð+Ñ+Øˆˆ‰ØÐÐÑØˆˆ‰Ø&Ð&Ð&Ñ&ØÐÐÑØÐÐÑØ=Ð=Ð=Ñ=Ø-Ð-Ð-Ñ-Ø"Ð"Ð"Ñ"Øˆˆ‰ØÐÐÑØÐÐÑØ/Ð/Ð/Ñ/Ø1Ð1Ð1Ñ1ð	
ð 	
ð 	
ñ 	
ð 	$Ð#Ð#Ñ#Ø#Ð#Ð#Ñ#ØÐÐÑØ&Ð&Ð&Ñ&Ø'Ð'Ð'Ñ'ØÐÐÑØÐÐÑØ"Ð"Ð"Ñ"Ø*Ð*Ð*Ñ*ØÐÐÑØ%Ð%Ð%Ñ%Øˆˆ‰ØÐÐÑØÐÐÑØÐÐÑØ!Ð!Ð!Ñ!Ø Ð Ð Ñ ØÐÐÑØ$Ð$Ð$Ñ$Ø#Ð#Ð#Ñ#Ø'Ð'Ð'Ñ'Ø&Ð&Ð&Ñ&Ø#Ð#Ð#Ñ#Ø%Ð%Ð%Ñ%Ø.Ð.Ð.Ñ.Ø.Ð.Ð.Ñ.Ø7Ð7Ð7Ñ7ØÐÐÑØÐÐÑØÐÐÑÐÐr[   r   c                  ó   — e Zd ZdZdZdZdZdS )r)   r   é   é   é   N)rV   rW   rX   ÚFRAMEÚALLÚNONEÚHEADERrZ   r[   r\   r)   r)   d   s"   € € € € € Ø€EØ
€CØ€DØ€F€F€Fr[   r)   c                  ó   — e Zd ZdZdZdZdS )r+   r   r^   r_   N)rV   rW   rX   ra   rb   rc   rZ   r[   r\   r+   r+   k   s   € € € € € Ø€EØ
€CØ€D€D€Dr[   r+   c                  ó2   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
S )Ú
TableStyleé
   é   é   é   é   é   é   é   é   N)rV   rW   rX   ÚDEFAULTÚMSWORD_FRIENDLYÚPLAIN_COLUMNSÚMARKDOWNÚORGMODEÚDOUBLE_BORDERÚSINGLE_BORDERÚRSTÚRANDOMrZ   r[   r\   rg   rg   q   s;   € € € € € Ø€GØ€OØ€MØ€HØ€GØ€MØ€MØ
€CØ€F€F€Fr[   rg   r   Ú_DEPRECATED_FRAMEr^   Ú_DEPRECATED_ALLr_   Ú_DEPRECATED_NONEr`   Ú_DEPRECATED_HEADERÚ_DEPRECATED_DEFAULTÚ_DEPRECATED_MSWORD_FRIENDLYÚ_DEPRECATED_PLAIN_COLUMNSÚ_DEPRECATED_MARKDOWNÚ_DEPRECATED_ORGMODEÚ_DEPRECATED_DOUBLE_BORDERÚ_DEPRECATED_SINGLE_BORDERÚ_DEPRECATED_RANDOMÚbase_align_valueÚBASE_ALIGN_VALUEr   ÚRowType©ÚlÚcÚrÚ	AlignType©ÚtÚmÚbÚ
VAlignType)Úcapr   ÚupperÚlowerNr=   c                  ó.   ‡ — e Zd ZdZˆ fd„Zdˆ fd„Zˆ xZS )	ÚObservableDicta  A dictionary that notifies a callback when items are set or changed.

    This dictionary subclass allows setting a callback function that will be
    invoked whenever an item is set or its value changes. This is used to
    maintain consistency between related format dictionaries.
    c                óH   •—  t          ¦   «         j        |i |¤Ž d| _        dS )zÂInitialize the observable dictionary.

        Arguments:
            *args: Positional arguments passed to dict.__init__
            **kwargs: Keyword arguments passed to dict.__init__
        N)ÚsuperÚ__init__Úcallback)ÚselfÚargsÚkwargsÚ	__class__s      €r\   rš   zObservableDict.__init__œ   s,   ø€ ð 	�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ØˆŒˆˆr[   Úkeyr7   Úvaluer   c                ó¾   •— |                       |¦  «        }| j        �||k    r|                      |||¦  «         t          ¦   «                              ||¦  «         dS )aE  Set an item and trigger callback if value changed.

        Sets the item in the dictionary and calls the callback function
        (if set) with the key, old value, and new value when the value
        actually changes.

        Arguments:
            key: The dictionary key
            value: The new value to set
        N)Úgetr›   r™   Ú__setitem__)rœ   r    r¡   Ú	old_valuerŸ   s       €r\   r¤   zObservableDict.__setitem__¦   s\   ø€ ð —H’H˜S‘M”Mˆ	ØŒ=Ð$¨°eÒ);Ð);Ø�MŠM˜#˜y¨%Ñ0Ô0Ð0Ý‰Œ×Ò˜C Ñ'Ô'Ð'Ð'Ð'r[   )r    r7   r¡   r   )rV   rW   rX   Ú__doc__rš   r¤   Ú__classcell__)rŸ   s   @r\   r—   r—   ”   s`   ø€ € € € € ðð ðð ð ð ð ð(ð (ð (ð (ð (ð (ð (ð (ð (ð (r[   r—   Útextr7   Úreturnútuple[int, int]c                ó„   — |                       d¦  «        }t          |¦  «        }t          d„ |D ¦   «         ¦  «        }||fS )Nú
c              3  ó4   K  — | ]}t          |¦  «        V — Œd S ©N©Ú_str_block_width©Ú.0Úlines     r\   ú	<genexpr>z_get_size.<locals>.<genexpr>»   s+   è è € Ð9Ð9¨4Õ  Ñ&Ô&Ð9Ð9Ð9Ð9Ð9Ð9r[   )ÚsplitÚlenÚmax)r¨   ÚlinesÚheightÚwidths       r\   Ú	_get_sizer»   ·   sD   € à�JŠJ�tÑÔ€EÝ�‰ZŒZ€FÝÐ9Ð9°5Ð9Ñ9Ô9Ñ9Ô9€EØ�&ˆ=Ðr[   c                  ój  — e Zd ZU ded<   ded<   ded<   ded<   ded	<   d
ed<   d
ed<   ded<   ded<   ded<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   d ed!<   d"ed#<   d$ed%<   d$ed&<   d'ed(<   ded)<   d
ed*<   d
ed+<   d,ed-<   d,ed.<   ded/<   ded0<   d,ed1<   ded2<   ded3<   ded4<   ded5<   ded6<   ded7<   ded8<   ded9<   ded:<   ded;<   ded<<   d$ed=<   ded><   ded?<   d@edA<   dedB<   dCedD<   d,edE<   dedF<   �d6�d7dL„Z�d8dM„Z�d9dR„ZdS„ Z�d:dV„Z�d;dW„Z	�d;dX„Z
�d;dY„Z�d8dZ„Zd[„ Zd\„ Zd]„ Zd^„ Zd_„ Zd`„ Zda„ Zdb„ Zdc„ Zdd„ Zde„ Zdf„ Zdg„ Zdh„ Zdi„ Zdj„ Ze�d<dl„¦   «         Ze�d=dn„¦   «         Ze�d>do„¦   «         Z e j!        �d?dq„¦   «         Z e�d@ds„¦   «         Z"e"j!        �dAdu„¦   «         Z"e�dBdw„¦   «         Z#e#j!        �dCdy„¦   «         Z#dz„ Z$e�dDd{„¦   «         Z%e%j!        �dEd}„¦   «         Z%d~„ Z&e�dFd„¦   «         Z'e'j!        �dGd�„¦   «         Z'd‚„ Z(e�dHdƒ„¦   «         Z)e)j!        �dId…„¦   «         Z)d†„ Z*e�dHd‡„¦   «         Z+e+j!        �dIdˆ„¦   «         Z+e�dJd‰„¦   «         Z,e,j!        �dKdŠ„¦   «         Z,e�dJd‹„¦   «         Z-e-j!        �dKdŒ„¦   «         Z-e�dLd�„¦   «         Z.e.j!        �dMd�„¦   «         Z.e�dNd�„¦   «         Z/e/j!        �dOd‘„¦   «         Z/e�dPd’„¦   «         Z0e0j!        �dKd“„¦   «         Z0e�dJd”„¦   «         Z1e1j!        �dKd•„¦   «         Z1e�dNd–„¦   «         Z2e2j!        �dQd—„¦   «         Z2e�d>d˜„¦   «         Z3e3j!        �d?d™„¦   «         Z3e�dRdš„¦   «         Z4e4j!        �dSd›„¦   «         Z4e�dTdœ„¦   «         Z5e5j!        �dUd�„¦   «         Z5e�d>dž„¦   «         Z6e6j!        �d?dŸ„¦   «         Z6e�d>d „¦   «         Z7e7j!        �d?d¡„¦   «         Z7e�dVd¢„¦   «         Z8e8j!        �dWd£„¦   «         Z8e�d>d¤„¦   «         Z9e9j!        �d?d¥„¦   «         Z9e�d>d¦„¦   «         Z:e:j!        �d?d§„¦   «         Z:e�dXd¨„¦   «         Z;e;j!        �dYd©„¦   «         Z;e�dZdª„¦   «         Z<e<j!        �d[d«„¦   «         Z<e�d\d¬„¦   «         Z=e=j!        �d]d®„¦   «         Z=e�d\d¯„¦   «         Z>e>j!        �d]d°„¦   «         Z>d±„ Z?d²„ Z@e�d^d³„¦   «         ZAeAj!        �d_dµ„¦   «         ZAe�dPd¶„¦   «         ZBeBj!        �dKd·„¦   «         ZBe�dJd¸„¦   «         ZCeCj!        �dKd¹„¦   «         ZCe�dJdº„¦   «         ZDeDj!        �dKd»„¦   «         ZDe�d;d¼„¦   «         ZEeEj!        �dOd½„¦   «         ZEe�d;d¾„¦   «         ZFeFj!        �dOd¿„¦   «         ZFe�d;dÀ„¦   «         ZGeGj!        �dOdÁ„¦   «         ZGe�dNdÂ„¦   «         ZHeHj!        �dQdÃ„¦   «         ZHe�d;dÄ„¦   «         ZIeIj!        �dOdÅ„¦   «         ZIe�d;dÆ„¦   «         ZJeJj!        �dOdÇ„¦   «         ZJe�d;dÈ„¦   «         ZKeKj!        �dOdÉ„¦   «         ZKe�d;dÊ„¦   «         ZLeLj!        �dOdË„¦   «         ZLe�d;dÌ„¦   «         ZMeMj!        �dOdÍ„¦   «         ZMe�d;dÎ„¦   «         ZNeNj!        �dOdÏ„¦   «         ZNe�d;dÐ„¦   «         ZOeOj!        �dOdÑ„¦   «         ZOe�d;dÒ„¦   «         ZPePj!        �dOdÓ„¦   «         ZPe�d;dÔ„¦   «         ZQeQj!        �dOdÕ„¦   «         ZQe�d>dÖ„¦   «         ZReRj!        �d?d×„¦   «         ZRe�d>dØ„¦   «         ZSeSj!        �d?dÙ„¦   «         ZSe�d\dÚ„¦   «         ZTeTj!        �d`dÛ„¦   «         ZTe�d>dÜ„¦   «         ZUeUj!        �d?dÝ„¦   «         ZUe�d>dÞ„¦   «         ZVeVj!        �d?dß„¦   «         ZVe�d>dà„¦   «         ZWeWj!        �d?dá„¦   «         ZWe�d>dâ„¦   «         ZXeXj!        �d?dã„¦   «         ZX�dadç„ZY�dbdê„ZZ�d8dë„Z[�d8dì„Z\�d8dí„Z]�d8dî„Z^�d8dï„Z_�d8dð„Z`�d8dñ„Za�d8dò„Zb�d8dó„Zcdôdõœ�dcdù„Zddôdõœ�dddü„Ze�dedþ„Zf�d8dÿ„Zg	 	 �df�dg�d„Zh�dh�di�d„Zi�di�d	„Zj�d8�d
„Zk�d8�d„Zl�dj�d„Zm�dk�dl�d„Zn�dm�d„Zo�dP�d„Zp�dn�d„Zq�do�d„Zr�dp�d„Zs�dq�d„Zt�dr�d„Zu�ds�d„Zv�d;�d„Zw	 �dt�du�d"„Zx�dv�d$„Zy�dw�d%„Zz�dx�d'„Z{�dy�dz�d,„Z|�d;�d-„Z}�d;�d.„Z~�d;�d/„Z�dw�d0„Z€�dw�d1„Z��d;�d2„Z‚�dw�d3„Zƒ�dw�d4„Z„�d;�d5„Z…dGS ({  ÚPrettyTabler   Ú_xhtmlrJ   Ú_alignrL   Ú_valignúdict[str, int]Ú
_min_widthÚ
_max_widthr   Ú_min_table_widthÚ_max_table_widthr   Ú_fieldsr   Ú_titler   Ú_startÚ_endÚ_sortbyÚ_reversesortr"   Ú	_sort_keyr$   Ú_row_filterÚ_headerÚ_use_header_widthr=   Ú_header_styleÚ_borderÚ_preserve_internal_borderr)   Ú_hrulesr+   Ú_vrulesr&   Ú_int_formatÚ_float_formatú$dict[str, Callable[[str, Any], str]]Ú_custom_formatÚ_padding_widthÚ_left_padding_widthÚ_right_padding_widthr7   Ú_vertical_charÚ_horizontal_charÚ_horizontal_align_charÚ_header_horizontal_charÚ_junction_charÚ_top_junction_charÚ_bottom_junction_charÚ_right_junction_charÚ_left_junction_charÚ_top_right_junction_charÚ_top_left_junction_charÚ_bottom_right_junction_charÚ_bottom_left_junction_charÚ_formatÚ_print_emptyÚ_oldsortsliceÚ_attributesÚ_escape_headerÚ_escape_datazTableStyle | NoneÚ_styleÚorgmodez	list[int]Ú_widthsÚ_hruleÚ_break_on_hyphensNÚfield_namesúSequence[str] | Noner©   ÚNonec                ó 
  — |                      dd¦  «        | _        g | _        g | _        g | _        d| _        g d¢| _        t          ¦   «         | _        | j	        | j        _
        t          ¦   «         | _        | j	        | j        _
        t          ¦   «         | _        | j	        | j        _
        t          ¦   «         | _        | j        | j        _
        t          ¦   «         | _        d| j        t           <   | j        | j        _
        t          ¦   «         | _        | j        | j        _
        t          ¦   «         | _        | j        | j        _
        t          ¦   «         | _        | j        | j        _
        i | _        |r|| _        ng | _        | j        D ]B}||v r-|                      |||         ¦  «         ||         | j        |<   Œ3d||<   d| j        |<   ŒC|d         pd| _        |d         pd| _        |d	         pd| _        |d
         pd| _        |d         dv r|d         | _         nd| _         |d         dv r|d         | _!        nd| _!        |d         pd| _"        |d         dv r|d         | _#        nd| _#        |d         dv r|d         | _$        nd| _$        |d         ptJ          j&        | _'        |d         ptP          j)        | _*        |d         pd| _+        |d         dv r|d         | _,        nd| _,        |d         pd„ | _-        |d         pd„ | _.        |d         dv r|d         | _/        nd| _/        |d         dv r|d         | _0        nd| _0        |  1                    ¦   «          |d         pd| _2        |d         pd| _3        |d         €d | _4        n|d         | _4        |d!         pd| _5        |d"         pd| _6        |d#         pd$| _7        |d%         pd&| _8        |d'         | _9        |d(         | _:        |d)         pd*| _;        |d+         | _<        |d,         | _=        |d-         | _>        |d.         | _?        |d/         | _@        |d0         | _A        |d1         | _B        |d2         | _C        |d3         dv r|d3         | _D        nd| _D        |d4         dv r|d4         | _E        nd| _E        |d5         pd| _F        |d6         pd| _G        |d7         pi | _H        |d8         dv r|d8         | _I        dS d| _I        dS )9aV  Return a new PrettyTable instance

        Arguments:

        encoding - Unicode encoding scheme used to decode any encoded input
        title - optional table title
        field_names - list or tuple of field names
        fields - list or tuple of field names to include in displays
        start - index of first data row to include in output
        end - index of last data row to include in output PLUS ONE (list slice style)
        header - print a header showing field names (True or False)
        use_header_width - reflect width of header (True or False)
        header_style - stylisation to apply to field names in header
            ("cap", "title", "upper", "lower" or None)
        border - print a border around the table (True or False)
        preserve_internal_border - print a border inside the table even if
            border is disabled (True or False)
        hrules - controls printing of horizontal rules after rows.
            Allowed values: HRuleStyle
        vrules - controls printing of vertical rules between columns.
            Allowed values: VRuleStyle
        int_format - controls formatting of integer data
        float_format - controls formatting of floating point data
        custom_format - controls formatting of any column using callable
        min_table_width - minimum desired table width, in characters
        max_table_width - maximum desired table width, in characters
        min_width - minimum desired field width, in characters
        max_width - maximum desired field width, in characters
        padding_width - number of spaces on either side of column data
            (only used if left and right paddings are None)
        left_padding_width - number of spaces on left hand side of column data
        right_padding_width - number of spaces on right hand side of column data
        vertical_char - single character string used to draw vertical lines
        horizontal_char - single character string used to draw horizontal lines
        horizontal_align_char - single character string used to indicate alignment
        header_horizontal_char - single character string used to draw the header
            separator, or None to use the same as horizontal_char
        junction_char - single character string used to draw line junctions
        top_junction_char - single character string used to draw top line junctions
        bottom_junction_char -
            single character string used to draw bottom line junctions
        right_junction_char - single character string used to draw right line junctions
        left_junction_char - single character string used to draw left line junctions
        top_right_junction_char -
            single character string used to draw top-right line junctions
        top_left_junction_char -
            single character string used to draw top-left line junctions
        bottom_right_junction_char -
            single character string used to draw bottom-right line junctions
        bottom_left_junction_char -
            single character string used to draw bottom-left line junctions
        sortby - name of field to sort rows by
        sort_key - sorting key function, applied to data points before sorting
        row_filter - filter function applied on rows
        align - default align for each column (None, "l", "c" or "r")
        valign - default valign for each row (None, "t", "m" or "b")
        reversesort - True or False to sort in descending or ascending order
        oldsortslice - Slice rows before sorting in the "old style"
        break_on_hyphens - Whether long lines are broken on hyphens or not, default: True
        ÚencodingzUTF-8N)1r   r   r   r   r   r   r   r   r    r!   r#   r%   r'   r(   r*   r,   r.   r/   r1   r2   r3   r4   r5   r6   r8   r9   r:   r;   r<   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rK   rM   rP   rO   rR   rS   rT   rU   r‹   r   r   r   r   r   r   ©TFTr   r>   r   r   Fr*   r,   r    r!   r#   c                ó   — | S r®   rZ   ©Úxs    r\   ú<lambda>z&PrettyTable.__init__.<locals>.<lambda>´  s   € ¸!€ r[   r%   c                ó   — dS ©NTrZ   rû   s    r\   rý   z&PrettyTable.__init__.<locals>.<lambda>µ  s   € ¸d€ r[   rT   rS   r2   r3   r4   r^   r5   r6   r8   ú|r9   ú-r:   r;   r<   ú+rB   rC   rD   rE   rF   rG   rH   rI   r@   rA   r(   r?   r'   rU   )Jr£   rø   Ú_field_namesÚ_rowsÚ	_dividersrï   Ú_optionsr—   Ú_none_formatÚ_remove_custom_format_callbackr›   rÕ   rÖ   rØ   Ú_custom_format_callbackr¿   r‡   Ú_align_callbackrÀ   Ú_valign_callbackrÃ   Ú_max_width_callbackrÂ   Ú_min_width_callbackÚ_kwargsrô   rñ   Ú_validate_optionrÇ   rÈ   rÉ   rÆ   rÎ   rÏ   rÐ   rÑ   rÒ   r)   ra   rÓ   r+   rb   rÔ   rÊ   rË   rÌ   rÍ   rî   rí   Ú_column_specific_argsrÄ   rÅ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rß   rà   rá   râ   rã   rä   rå   ræ   rç   rè   rê   rë   ré   r¾   rì   ró   )rœ   rô   rž   Úoptions       r\   rš   zPrettyTable.__init__õ   sy  € ðz Ÿ
š
 :¨wÑ7Ô7ˆŒð (*ˆÔØ$&ˆŒ
Ø%'ˆŒØˆŒð2
ð 2
ð 2
ˆŒõh 4BÑ3CÔ3CˆÔØ%)Ô%HˆÔÔ"å2@Ñ2BÔ2BˆÔØ$(Ô$GˆÔÔ!å4BÑ4DÔ4DˆÔØ&*Ô&IˆÔÔ#åDRÑDTÔDTˆÔØ'+Ô'CˆÔÔ$å-;Ñ-=Ô-=ˆŒØ(+ˆŒÕ$Ñ%Ø#Ô3ˆŒÔå.<Ñ.>Ô.>ˆŒØ $Ô 5ˆŒÔå1?Ñ1AÔ1AˆŒØ#'Ô#;ˆŒÔ å1?Ñ1AÔ1AˆŒØ#'Ô#;ˆŒÔ àˆŒØð 	)Ø*ˆDÔÐà&(ˆDŒLà”mð 	,ð 	,ˆFØ˜ÐÐØ×%Ò% f¨f°V¬nÑ=Ô=Ð=Ø'-¨f¤~�”˜VÑ$Ð$à!%��v‘Ø'+�”˜VÑ$Ð$à˜W”oÐ-¨ˆŒØ˜W”oÐ*¨ˆŒØ˜5”MÐ) TˆŒ	Ø˜hÔ'Ð/¨4ˆŒà�(Ô˜}Ð,Ð,Ø! (Ô+ˆDŒLˆLàˆDŒLØÐ$Ô%¨Ð6Ð6Ø%+Ð,>Ô%?ˆDÔ"Ð"à%)ˆDÔ"Ø# NÔ3Ð;°tˆÔØ�(Ô˜}Ð,Ð,Ø! (Ô+ˆDŒLˆLàˆDŒLØÐ,Ô-°Ð>Ð>Ø-3Ð4NÔ-OˆDÔ*Ð*à-2ˆDÔ*Ø˜hÔ'Ð;­:Ô+;ˆŒØ˜hÔ'Ð9­:¬>ˆŒà˜hÔ'Ð/¨4ˆŒØ�-Ô  MÐ1Ð1Ø & }Ô 5ˆDÔÐà %ˆDÔØ 
Ô+Ð<°°ˆŒØ! ,Ô/ÐC°N°NˆÔà�-Ô  MÐ1Ð1Ø & }Ô 5ˆDÔÐà $ˆDÔØ�/Ô" mÐ3Ð3Ø"(¨Ô"9ˆDÔÐà"&ˆDÔà×"Ò"Ñ$Ô$Ð$à &Ð'8Ô 9Ð A¸TˆÔØ &Ð'8Ô 9Ð A¸TˆÔØ�/Ô"Ð*Ø"#ˆDÔÐà"(¨Ô"9ˆDÔØ#)Ð*>Ô#?Ð#GÀ4ˆÔ Ø$*Ð+@Ô$AÐ$IÀTˆÔ!à$ _Ô5Ð<¸ˆÔØ &Ð'8Ô 9Ð @¸SˆÔØ&,Ð-DÔ&EˆÔ#Ø'-Ð.FÔ'GˆÔ$Ø$ _Ô5Ð<¸ˆÔØ"(Ð)<Ô"=ˆÔØ%+Ð,BÔ%CˆÔ"Ø$*Ð+@Ô$AˆÔ!Ø#)Ð*>Ô#?ˆÔ Ø(.Ð/HÔ(IˆÔ%Ø'-Ð.FÔ'GˆÔ$Ø+1Ð2NÔ+OˆÔ(Ø*0Ð1LÔ*MˆÔ'à�-Ô  MÐ1Ð1Ø & }Ô 5ˆDÔÐà $ˆDÔØ�.Ô! ]Ð2Ð2Ø!'¨Ô!7ˆDÔÐà!&ˆDÔØ˜hÔ'Ð0¨5ˆŒØ˜W”oÐ.¨ˆŒØ! ,Ô/Ð5°2ˆÔØÐ$Ô%¨Ð6Ð6Ø%+Ð,>Ô%?ˆDÔ"Ð"Ð"à%)ˆDÔ"Ð"Ð"r[   c                ób   — dD ]+}t          | ||| j        v r| j        |         pi ni ¦  «         Œ,d S )N)rK   rM   rP   rO   r.   r/   r1   rR   )Úsetattrr  )rœ   Úattrs     r\   r  z!PrettyTable._column_specific_argsé  sY   € ð	
ð 	ð 	ˆDõ Ø�d¸$À$Ä,Ð:NÐ:N˜Tœ\¨$Ô/Ð5°2øÐTVñô ð ð ð	ð 	r[   r¨   rº   rK   r�   c                ó¦   — dd l }|dk    r|                     ||¦  «        S |dk    r|                     ||¦  «        S |                     ||¦  «        S )Nr   rŠ   rŒ   )ÚwcwidthÚljustÚrjustÚcenter)rœ   r¨   rº   rK   r  s        r\   Ú_justifyzPrettyTable._justifyù  sY   € Øˆˆˆà�CŠ<ˆ<Ø—=’=  uÑ-Ô-Ð-Ø�cŠ\ˆ\Ø—=’=  uÑ-Ô-Ð-à—>’> $¨Ñ.Ô.Ð.r[   c                óˆ   — |dk    rt          | j        ¦  «        S |dk    rt          | j        ¦  «        S t          |¦  «        ‚)NÚrowcountÚcolcount)r¶   r  r  ÚAttributeError)rœ   Únames     r\   Ú__getattr__zPrettyTable.__getattr__  sE   € Ø�:ÒÐÝ�t”z‘?”?Ð"Ø�ZÒÐÝ�tÔ(Ñ)Ô)Ð)å  Ñ&Ô&Ð&r[   Úindexúint | slicec           
     ó¤  — t          ¦   «         }| j        |_        | j        D ]'}t          |d|› �t	          | d|› �¦  «        ¦  «         Œ(t          |t          ¦  «        r&| j        |         D ]}|                     |¦  «         ŒnKt          |t          ¦  «        r!|                     | j        |         ¦  «         nd|› d�}t          |¦  «        ‚|S )NÚ_zIndex z( is invalid, must be an integer or slice)r½   rô   r  r  ÚgetattrÚ
isinstanceÚslicer  Úadd_rowr   Ú
IndexError)rœ   r!  Únewr  ÚrowÚmsgs         r\   Ú__getitem__zPrettyTable.__getitem__  sä   € Ý‰mŒmˆØÔ*ˆŒØ”Mð 	@ð 	@ˆDÝ�C˜˜T˜˜¥W¨T°:°t°:°:Ñ%>Ô%>Ñ?Ô?Ð?Ð?Ý�e�UÑ#Ô#ð 	"Ø”z %Ô(ð !ð !�Ø—’˜CÑ Ô Ð Ð ð!å˜�sÑ#Ô#ð 	"Ø�KŠK˜œ
 5Ô)Ñ*Ô*Ð*Ð*àJ˜5ÐJÐJÐJˆCÝ˜S‘/”/Ð!Øˆ
r[   c                ó*   — |                       ¦   «         S r®   ©Ú
get_string©rœ   s    r\   Ú__str__zPrettyTable.__str__  ó   € Ø�ŠÑ Ô Ð r[   c                ó*   — |                       ¦   «         S r®   r/  r1  s    r\   Ú__repr__zPrettyTable.__repr__  r3  r[   c                ó*   — |                       ¦   «         S )zs
        Returns get_html_string value by default
        as the repr call in Jupyter notebook environment
        )Úget_html_stringr1  s    r\   Ú_repr_html_zPrettyTable._repr_html_   s   € ð
 ×#Ò#Ñ%Ô%Ð%r[   c                ó²  — |dk    r|                       |¦  «         d S |dk    r|                      |¦  «         d S |dv r|                      ||¦  «         d S |dk    r|                      ||¦  «         d S |dv r|                      ||¦  «         d S |dk    r|                      ||¦  «         d S |dk    r|                      ||¦  «         d S |dk    r|                      ||¦  «         d S |d	v r|                      ||¦  «         d S |d
k    r|  	                    |¦  «         d S |dk    r|  
                    ||¦  «         d S |dk    r|                      ||¦  «         d S |dk    r7|                     ¦   «         D ] \  }}|                      |› d|› �|¦  «         Œ!d S |dv r|                      ||¦  «         d S |dk    r|                      ||¦  «         d S d S )Nrô   rR   )	r   r   rP   rO   r2   r3   r4   r5   r6   r    )r#   r%   r*   r,   r   )r   r   r   r   r!   r?   r(   r@   rA   rS   rT   rU   r>   r.   r/   r1   ú.)r8   r9   r:   r;   r<   rB   rC   rD   rE   rF   rG   rH   rI   r'   )Ú_validate_field_namesÚ_validate_none_formatÚ_validate_nonnegative_intÚ_validate_field_nameÚ_validate_functionÚ_validate_hrulesÚ_validate_vrulesÚ_validate_all_field_namesÚ_validate_true_or_falseÚ_validate_header_styleÚ_validate_int_formatÚ_validate_float_formatÚitemsÚ_validate_single_charÚ_validate_attributes)rœ   r  ÚvalÚkÚ	formatters        r\   r  zPrettyTable._validate_option4  s™  € Ø�]Ò"Ð"Ø×&Ò& sÑ+Ô+Ð+Ð+Ð+Ø�}Ò$Ð$Ø×&Ò& sÑ+Ô+Ð+Ð+Ð+Øð 

ð 

ð 

ð ×*Ò*¨6°3Ñ7Ô7Ð7Ð7Ð7Ø�xÒÐØ×%Ò% f¨cÑ2Ô2Ð2Ð2Ð2ØÐ1Ð1Ð1Ø×#Ò# F¨CÑ0Ô0Ð0Ð0Ð0Ø�xÒÐØ×!Ò! &¨#Ñ.Ô.Ð.Ð.Ð.Ø�xÒÐØ×!Ò! &¨#Ñ.Ô.Ð.Ð.Ð.Ø�xÒÐØ×*Ò*¨6°3Ñ7Ô7Ð7Ð7Ð7Øð 
ð 
ð 
ð ×(Ò(¨°Ñ5Ô5Ð5Ð5Ð5Ø�~Ò%Ð%Ø×'Ò'¨Ñ,Ô,Ð,Ð,Ð,Ø�|Ò#Ð#Ø×%Ò% f¨cÑ2Ô2Ð2Ð2Ð2Ø�~Ò%Ð%Ø×'Ò'¨°Ñ4Ô4Ð4Ð4Ð4Ø�Ò&Ð&Ø #§	¢	¡¤ð Dð D‘��9Ø×'Ò'¨6¨¨°A¨¨¸ÑCÔCÐCÐCðDð Dàð 
ð 
ð 
ð ×&Ò& v¨sÑ3Ô3Ð3Ð3Ð3Ø�|Ò#Ð#Ø×%Ò% f¨cÑ2Ô2Ð2Ð2Ð2ð $Ð#r[   c                ó�  — | j         rn	 t          |¦  «        t          | j         ¦  «        k    sJ ‚nE# t          $ r8 dt          |¦  «        › dt          | j         ¦  «        › d�}t          |¦  «        ‚w xY w| j        rz	 t          |¦  «        t          | j        d         ¦  «        k    sJ ‚nK# t          $ r> dt          |¦  «        › dt          | j        d         ¦  «        › d�}t          |¦  «        ‚w xY w	 t          |¦  «        t          t          |¦  «        ¦  «        k    sJ ‚d S # t          $ r d}t          |¦  «        ‚w xY w)Nz9Field name list has incorrect number of values, (actual) ú!=ú (expected)r   zField names must be unique)r  r¶   ÚAssertionErrorÚ
ValueErrorr  Úset©rœ   rJ  r,  s      r\   r;  z!PrettyTable._validate_field_namesz  sŸ  € àÔð 	&ð&Ý˜3‘x”x¥3 tÔ'8Ñ#9Ô#9Ò9Ð9Ð9Ð9Ð9øÝ!ð &ð &ð &ðPÝ # C¡¤ðPð PÝ,/°Ô0AÑ,BÔ,BðPð Pð Pð õ ! ‘o”oÐ%ð&øøøð Œ:ð 	&ð&Ý˜3‘x”x¥3 t¤z°!¤}Ñ#5Ô#5Ò5Ð5Ð5Ð5Ð5øÝ!ð &ð &ð &ðLÝ # C¡¤ðLð LÝ,/°´
¸1´Ñ,>Ô,>ðLð Lð Lð õ ! ‘o”oÐ%ð&øøøð	"Ý�s‘8”8�s¥3 s¡8¤8™}œ}Ò,Ð,Ð,Ð,Ð,Ð,øÝð 	"ð 	"ð 	"Ø.ˆCÝ˜S‘/”/Ð!ð	"øøøs#   ‰'1 ±AA3Á>-B, Â,AC4Ã8/D) Ä)Ec                ó|   — 	 |�t          |t          ¦  «        sJ ‚d S d S # t          $ r d}t          |¦  «        ‚w xY w)Nz>Replacement for None value must be a string if being supplied.)r&  r7   rP  Ú	TypeErrorrS  s      r\   r<  z!PrettyTable._validate_none_format•  s[   € ð	!ØˆÝ! #¥sÑ+Ô+Ð+Ð+Ð+ð ˆØ+Ð+øÝð 	!ð 	!ð 	!ØRˆCÝ˜C‘.”.Ð ð	!øøøs   ‚ Ÿ;c                óR   — 	 |dv sJ ‚d S # t           $ r d}t          |¦  «        ‚w xY w)N)r“   r   r”   r•   Nz:Invalid header style, use cap, title, upper, lower or None©rP  rQ  rS  s      r\   rD  z"PrettyTable._validate_header_style�  sK   € ð	"ØÐBÐBÐBÐBÐBÐBÐBøÝð 	"ð 	"ð 	"ØNˆCÝ˜S‘/”/Ð!ð	"øøøs   ‚
 Š&c                óZ   — 	 |dv sJ ‚d S # t           $ r d|› d�}t          |¦  «        ‚w xY w)Nr‰   ú
Alignment z is invalid, use l, c or rrW  rS  s      r\   Ú_validate_alignzPrettyTable._validate_align¤  sU   € ð	"Ø˜/Ð)Ð)Ð)Ð)Ð)Ð)øÝð 	"ð 	"ð 	"Ø>˜sÐ>Ð>Ð>ˆCÝ˜S‘/”/Ð!ð	"øøøó   ‚
 Š *c                óZ   — 	 |dv sJ ‚d S # t           $ r d|› d�}t          |¦  «        ‚w xY w)NrŽ   rY  z is invalid, use t, m, brW  rS  s      r\   Ú_validate_valignzPrettyTable._validate_valign«  sU   € ð	"Ø˜/Ð)Ð)Ð)Ð)Ð)Ð)øÝð 	"ð 	"ð 	"Ø<˜sÐ<Ð<Ð<ˆCÝ˜S‘/”/Ð!ð	"øøør[  c                ó|   — 	 t          |¦  «        dk    sJ ‚d S # t          $ r d|› d|› �}t          |¦  «        ‚w xY w)Nr   úInvalid value for ú: )r   rP  rQ  ©rœ   r  rJ  r,  s       r\   r=  z%PrettyTable._validate_nonnegative_int²  sZ   € ð	"Ý�s‘8”8˜q’=�=�=�=�=�=øÝð 	"ð 	"ð 	"Ø4 tÐ4Ð4¨sÐ4Ð4ˆCÝ˜S‘/”/Ð!ð	"øøøs   ‚ ™";c                óZ   — 	 |dv sJ ‚d S # t           $ r d|› d�}t          |¦  «        ‚w xY w)Nrù   r_  z. Must be True or False.rW  ra  s       r\   rC  z#PrettyTable._validate_true_or_false¹  sU   € ð	"Ø˜-Ð'Ð'Ð'Ð'Ð'Ð'øÝð 	"ð 	"ð 	"ØE tÐEÐEÐEˆCÝ˜S‘/”/Ð!ð	"øøør[  c                ó¸   — |dk    rd S 	 t          |t          ¦  «        sJ ‚|                     ¦   «         sJ ‚d S # t          $ r d|› d�}t	          |¦  «        ‚w xY w)NÚ r_  z#. Must be an integer format string.)r&  r7   ÚisdigitrP  rQ  ra  s       r\   rE  z PrettyTable._validate_int_formatÀ  s{   € Ø�"Š9ˆ9ØˆFð	"Ý˜c¥3Ñ'Ô'Ð'Ð'Ð'Ø—;’;‘=”=Ð Ð �=Ð Ð øÝð 	"ð 	"ð 	"ØP tÐPÐPÐPˆCÝ˜S‘/”/Ð!ð	"øøøs	   Š-9 ¹ Ac                ó  — |dk    rd S 	 t          |t          ¦  «        sJ ‚d|v sJ ‚|                     d¦  «        }t          |¦  «        dk    sJ ‚|d         dk    s|d                              ¦   «         sJ ‚|d         dk    s[|d                              ¦   «         sC|d         d         dk    r-|d                              d¦  «                             ¦   «         sJ ‚d S d S d S # t          $ r d|› d	�}t          |¦  «        ‚w xY w)
Nrd  r:  r_   r   r^   éÿÿÿÿÚfr_  z . Must be a float format string.)r&  r7   rµ   r¶   re  ÚrstriprP  rQ  )rœ   r  rJ  Úbitsr,  s        r\   rF  z"PrettyTable._validate_float_formatÊ  s#  € Ø�"Š9ˆ9ØˆFð	"Ý˜c¥3Ñ'Ô'Ð'Ð'Ð'Ø˜#�:�:�:�:Ø—9’9˜S‘>”>ˆDÝ�t‘9”9 ’>�>�>�>Ø˜”7˜b’=�= D¨¤G§O¢OÑ$5Ô$5�=�=Ð5à�Q”˜2’�Ø˜”7—?’?Ñ$Ô$ð à˜”G˜B”K 3Ò&Ð&¨4°¬7¯>ª>¸#Ñ+>Ô+>×+FÒ+FÑ+HÔ+HÐ&Ð&ðJ����à&Ð&øåð 	"ð 	"ð 	"ØM tÐMÐMÐMˆCÝ˜S‘/”/Ð!ð	"øøøs   ŠCC& Ã& Dc                óp   — 	 t          |¦  «        sJ ‚d S # t          $ r d|› d�}t          |¦  «        ‚w xY w)Nr_  z. Must be a function.)ÚcallablerP  rQ  ra  s       r\   r?  zPrettyTable._validate_functionÜ  sU   € ð	"Ý˜C‘=”=Ð Ð �=Ð Ð øÝð 	"ð 	"ð 	"ØB tÐBÐBÐBˆCÝ˜S‘/”/Ð!ð	"øøøs   ‚ • 5c                ó~   — 	 |t          t          ¦  «        v sJ ‚d S # t          $ r d|› d�}t          |¦  «        ‚w xY w)Nr_  z. Must be HRuleStyle.)Úlistr)   rP  rQ  ra  s       r\   r@  zPrettyTable._validate_hrulesã  ó]   € ð	"Ø�$�zÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*øÝð 	"ð 	"ð 	"ØB tÐBÐBÐBˆCÝ˜S‘/”/Ð!ð	"øøøó   ‚ œ <c                ó~   — 	 |t          t          ¦  «        v sJ ‚d S # t          $ r d|› d�}t          |¦  «        ‚w xY w)Nr_  z. Must be VRuleStyle.)rn  r+   rP  rQ  ra  s       r\   rA  zPrettyTable._validate_vrulesê  ro  rp  c                ój   — 	 || j         v s|�J ‚d S d S # t          $ r d|› �}t          |¦  «        ‚w xY w)NzInvalid field name: )r  rP  rQ  ra  s       r\   r>  z PrettyTable._validate_field_nameñ  s\   € ð	"Ø˜4Ô,Ð,Ð,°#°+°+Ð>Ð,Ð,°+°+øÝð 	"ð 	"ð 	"Ø.¨Ð.Ð.ˆCÝ˜S‘/”/Ð!ð	"øøøs   ‚ “2c                ó|   — 	 |D ]}|                       ||¦  «         Œd S # t          $ r d}t          |¦  «        ‚w xY w)Nz(Fields must be a sequence of field names)r>  rP  rQ  )rœ   r  rJ  rü   r,  s        r\   rB  z%PrettyTable._validate_all_field_namesø  se   € ð	"Øð 3ð 3�Ø×)Ò)¨$°Ñ2Ô2Ð2Ð2ð3ð 3øåð 	"ð 	"ð 	"Ø<ˆCÝ˜S‘/”/Ð!ð	"øøøs   ‚ Ÿ;c                óx   — 	 t          |¦  «        dk    sJ ‚d S # t          $ r d|› d�}t          |¦  «        ‚w xY w)Nr^   r_  z. Must be a string of length 1.)r°   rP  rQ  ra  s       r\   rH  z!PrettyTable._validate_single_char   s]   € ð	"Ý# CÑ(Ô(¨AÒ-Ð-Ð-Ð-Ð-Ð-øÝð 	"ð 	"ð 	"ØL tÐLÐLÐLˆCÝ˜S‘/”/Ð!ð	"øøøs   ‚ ™ 9c                ót   — 	 t          |t          ¦  «        sJ ‚d S # t          $ r d}t          |¦  «        ‚w xY w)Nz3Attributes must be a dictionary of name/value pairs)r&  ÚdictrP  rU  ra  s       r\   rI  z PrettyTable._validate_attributes  sO   € ð	!Ý˜c¥4Ñ(Ô(Ð(Ð(Ð(Ð(Ð(øÝð 	!ð 	!ð 	!ØGˆCÝ˜C‘.”.Ð ð	!øøøs   ‚ ›7úlist[RowType]c                ó    — | j         d d …         S r®   )r  r1  s    r\   ÚrowszPrettyTable.rows  s   € àŒz˜!˜!˜!Œ}Ðr[   ú
list[bool]c                ó    — | j         d d …         S r®   ©r  r1  s    r\   ÚdividerszPrettyTable.dividers  s   € àŒ~˜a˜a˜aÔ Ð r[   c                ó   — | j         S )z,Print <br/> tags if True, <br> tags if False)r¾   r1  s    r\   r?   zPrettyTable.xhtml  s   € ð Œ{Ðr[   rJ  c                ó@   — |                       d|¦  «         || _        d S )Nr?   )r  r¾   ©rœ   rJ  s     r\   r?   zPrettyTable.xhtml  ó#   € à×Ò˜g sÑ+Ô+Ð+ØˆŒˆˆr[   údict[str, str | None]c                ó   — | j         S r®   )r  r1  s    r\   rR   zPrettyTable.none_format#  s   € àÔ Ð r[   rQ   c                ó„  — t          |t          ¦  «        r?| j        D ]}d| j        |<   Œ|                      |¦  «         | j        D ]}|| j        |<   ŒdS t          |t
          ¦  «        r=|r;|                     ¦   «         D ]$\  }}|                      |¦  «         || j        |<   Œ%dS | j                             ¦   «          dS )z„Representation of None values:

        Arguments:

        val - The alternative representation to be used for None values
        N)r&  r7   r  r  r<  rv  rG  Úclear©rœ   rJ  ÚfieldÚfvals       r\   rR   zPrettyTable.none_format'  s÷   € õ �c�3ÑÔð 	&ØÔ*ð 0ð 0�Ø+/�Ô! %Ñ(Ð(Ø×&Ò& sÑ+Ô+Ð+ØÔ*ð /ð /�Ø+.�Ô! %Ñ(Ð(ð/ð /å˜�TÑ"Ô"ð 	& sð 	&Ø"Ÿyšy™{œ{ð 0ð 0‘��tØ×*Ò*¨4Ñ0Ô0Ð0Ø+/�Ô! %Ñ(Ð(ð0ð 0ð Ô×#Ò#Ñ%Ô%Ð%Ð%Ð%r[   ú	list[str]c                ó   — | j         S )zÙList or tuple of field names

        When setting field_names, if there are already field names the new list
        of field names must be the same length. Columns are renamed and row data
        remains unchanged.)r  r1  s    r\   rô   zPrettyTable.field_names<  s   € ð Ô Ð r[   úSequence[Any]c                ó¦  — t          dd„ |D ¦   «         ¦  «        }|                      d|¦  «         d }| j        r| j        d d …         }|| _        |                      ¦   «          | j        rR|rPt          ||¦  «        D ]\  }}| j        |         | j        |<   Œ|D ]!}||vr| j                             |d ¦  «         Œ"n3| j        r%| j        D ]}| j        t                   | j        |<   Œnd| _        | j	        rS|rQt          ||¦  «        D ]\  }}| j	        |         | j	        |<   Œ|D ]!}||vr| j	                             |d ¦  «         Œ"d S d| _
        d S )Nr‰  c                ó,   — g | ]}t          |¦  «        ‘ŒS rZ   ©r7   ©r²   rü   s     r\   ú
<listcomp>z+PrettyTable.field_names.<locals>.<listcomp>G  s   € Ð 5Ð 5Ð 5¨A¥ Q¡¤Ð 5Ð 5Ð 5r[   rô   r‹   r�   )r   r  r  r  r¿   ÚzipÚpopr‡   rK   rÀ   rM   )rœ   rJ  Ú	old_namesÚold_nameÚnew_nameÚ
field_names         r\   rô   zPrettyTable.field_namesE  sÃ  € å�;Ð 5Ð 5°Ð 5Ñ 5Ô 5Ñ6Ô6ˆØ×Ò˜m¨SÑ1Ô1Ð1Øˆ	ØÔð 	-ØÔ)¨!¨!¨!Ô,ˆIØˆÔà×"Ò"Ñ$Ô$Ð$àŒ;ð 
	˜9ð 
	Ý&)¨)°SÑ&9Ô&9ð >ð >Ñ"�˜(Ø(,¬°HÔ(=�”˜HÑ%Ð%Ø%ð 4ð 4�Ø 3Ð&Ð&Ø”K—O’O H¨dÑ3Ô3Ð3øð4ð Œ[ð 	Ø"Ô/ð Hð H�
Ø*.¬+Õ6FÔ*G�”˜JÑ'Ð'ðHð ˆDŒJØŒ<ð 	˜Ið 	Ý&)¨)°SÑ&9Ô&9ð @ð @Ñ"�˜(Ø)-¬°hÔ)?�”˜XÑ&Ð&Ø%ð 5ð 5�Ø 3Ð&Ð&Ø”L×$Ò$ X¨tÑ4Ô4Ð4øð5ð 5ð ˆDŒKˆKˆKr[   c                ó0   — |                       |¦  «         dS )ag  Callback to call validators if dict attrs are modified.

        This callback is triggered when a field is modified from align dict and
        calls the validator for the new value.

        Arguments:
            field_name: Name of the field being modified
            old_value: Previous value (unused)
            new_value: New value (unused)

        N)rZ  ©rœ   r–  r¥   Ú	new_values       r\   r
  zPrettyTable._align_callbackd  s   € ð 	×Ò˜YÑ'Ô'Ð'Ð'Ð'r[   c                ó   — | j         S )zdControls alignment of fields
        Arguments:

        align - alignment, one of "l", "c", or "r" ©r¿   r1  s    r\   rK   zPrettyTable.alignr  s   € ð Œ{Ðr[   ú'AlignType | dict[str, AlignType] | Nonec                óZ  — t          |t          ¦  «        r-| j        st          |i| _        d S | j        D ]}|| j        |<   Œd S t          |t
          ¦  «        r(|r&|                     ¦   «         D ]\  }}|| j        |<   Œd S | j        r| j        D ]}d| j        |<   Œd S t          di| _        d S )Nr‹   )r&  r7   r  r‡   r¿   rv  rG  r†  s       r\   rK   zPrettyTable.alignz  sï   € å�c�3ÑÔð 	2ØÔ$ð -Ý/°Ð5�”��à!Ô.ð -ð -�EØ),�D”K Ñ&Ð&ð-ð -å˜�TÑ"Ô"ð 	2 sð 	2Ø"Ÿyšy™{œ{ð *ð *‘��tØ%)�”˜EÑ"Ð"ð*ð *àÔð 	2ØÔ*ð )ð )�Ø%(�”˜EÑ"Ð"ð)ð )õ ,¨SÐ1ˆDŒKˆKˆKr[   c                ó0   — |                       |¦  «         dS )ah  Callback to call validators if dict attrs are modified.

        This callback is triggered when a field is modified from valign dict
        and calls the validator for the new value.

        Arguments:
            field_name: Name of the field being modified
            old_value: Previous value (unused)
            new_value: New value (unused)

        N)r]  r˜  s       r\   r  zPrettyTable._valign_callback‹  s   € ð 	×Ò˜iÑ(Ô(Ð(Ð(Ð(r[   c                ó   — | j         S )zwControls vertical alignment of fields
        Arguments:

        valign - vertical alignment, one of "t", "m", or "b" ©rÀ   r1  s    r\   rM   zPrettyTable.valign™  s   € ð Œ|Ðr[   ú)VAlignType | dict[str, VAlignType] | Nonec                ó>  — | j         s| j                             ¦   «          t          |t          ¦  «        r| j         D ]}|| j        |<   Œd S t          |t
          ¦  «        r(|r&|                     ¦   «         D ]\  }}|| j        |<   Œd S | j         D ]}d| j        |<   Œd S )Nr�   )r  rÀ   r…  r&  r7   rv  rG  r†  s       r\   rM   zPrettyTable.valign¡  sØ   € àÔ ð 	!ØŒL×ÒÑ Ô Ð Ý�c�3ÑÔð 	*ØÔ*ð *ð *�Ø&)�”˜UÑ#Ð#ð*ð *å˜�TÑ"Ô"ð 	* sð 	*Ø"Ÿyšy™{œ{ð +ð +‘��tØ&*�”˜UÑ#Ð#ð+ð +ð Ô*ð *ð *�Ø&)�”˜UÑ#Ð#ð*ð *r[   c                ó2   — |                       d|¦  «         dS )ak  Callback to call validators if dict attrs are modified.

        This callback is triggered when a field is modified from max_width dict
        and calls the validator for the new value.

        Arguments:
            field_name: Name of the field being modified
            old_value: Previous value (unused)
            new_value: New value (unused)

        rP   N©r  r˜  s       r\   r  zPrettyTable._max_width_callback¯  ó    € ð 	×Ò˜k¨9Ñ5Ô5Ð5Ð5Ð5r[   c                ó   — | j         S )z^Controls maximum width of fields
        Arguments:

        max_width - maximum width integer)rÃ   r1  s    r\   rP   zPrettyTable.max_width½  ó   € ð ŒÐr[   rN   c                ó  — t          |t          ¦  «        r| j        D ]}|| j        |<   Œd S t          |t          ¦  «        r(|r&|                     ¦   «         D ]\  }}|| j        |<   Œd S | j                             ¦   «          d S r®   )r&  r   r  rÃ   rv  rG  r…  r†  s       r\   rP   zPrettyTable.max_widthÅ  ó¨   € å�c�3ÑÔð 	$ØÔ*ð -ð -�Ø),�” Ñ&Ð&ð-ð -å˜�TÑ"Ô"ð 	$ sð 	$Ø"Ÿyšy™{œ{ð .ð .‘��tØ)-�” Ñ&Ð&ð.ð .ð ŒO×!Ò!Ñ#Ô#Ð#Ð#Ð#r[   c                ó2   — |                       d|¦  «         dS )ak  Callback to call validators if dict attrs are modified.

        This callback is triggered when a field is modified from min_width dict
        and calls the validator for the new value.

        Arguments:
            field_name: Name of the field being modified
            old_value: Previous value (unused)
            new_value: New value (unused)

        rO   Nr¤  r˜  s       r\   r  zPrettyTable._min_width_callbackÐ  r¥  r[   c                ó   — | j         S )z^Controls minimum width of fields
        Arguments:

        min_width - minimum width integer)rÂ   r1  s    r\   rO   zPrettyTable.min_widthÞ  r§  r[   c                ó  — t          |t          ¦  «        r| j        D ]}|| j        |<   Œd S t          |t          ¦  «        r(|r&|                     ¦   «         D ]\  }}|| j        |<   Œd S | j                             ¦   «          d S r®   )r&  r   r  rÂ   rv  rG  r…  r†  s       r\   rO   zPrettyTable.min_widthæ  r©  r[   c                ó   — | j         S r®   )rÄ   r1  s    r\   r2   zPrettyTable.min_table_widthñ  ó   € àÔ$Ð$r[   c                ó@   — |                       d|¦  «         || _        d S )Nr2   )r  rÄ   r€  s     r\   r2   zPrettyTable.min_table_widthõ  ó'   € à×ÒÐ/°Ñ5Ô5Ð5Ø #ˆÔÐÐr[   c                ó   — | j         S r®   )rÅ   r1  s    r\   r3   zPrettyTable.max_table_widthú  r®  r[   c                ó@   — |                       d|¦  «         || _        d S )Nr3   )r  rÅ   r€  s     r\   r3   zPrettyTable.max_table_widthþ  r°  r[   c                ó   — | j         S )z3List or tuple of field names to include in displays)rÆ   r1  s    r\   r   zPrettyTable.fields  s   € ð Œ|Ðr[   úSequence[str | None]c                ó@   — |                       d|¦  «         || _        d S )Nr   )r  rÆ   r€  s     r\   r   zPrettyTable.fields  ó#   € à×Ò˜h¨Ñ,Ô,Ð,ØˆŒˆˆr[   c                ó   — | j         S )zEOptional table title

        Arguments:

        title - table title)rÇ   r1  s    r\   r   zPrettyTable.title  ó   € ð Œ{Ðr[   c                ó.   — t          |¦  «        | _        d S r®   )r7   rÇ   r€  s     r\   r   zPrettyTable.title  s   € å˜#‘h”hˆŒˆˆr[   c                ó   — | j         S )z{Start index of the range of rows to print

        Arguments:

        start - index of first data row to include in output)rÈ   r1  s    r\   r   zPrettyTable.start  r¸  r[   c                ó@   — |                       d|¦  «         || _        d S )Nr   )r  rÈ   r€  s     r\   r   zPrettyTable.start#  r�  r[   c                ó   — | j         S )z’End index of the range of rows to print

        Arguments:

        end - index of last data row to include in output PLUS ONE (list slice style))rÉ   r1  s    r\   r   zPrettyTable.end(  s   € ð ŒyÐr[   c                ó@   — |                       d|¦  «         || _        d S )Nr   )r  rÉ   r€  s     r\   r   zPrettyTable.end1  s#   € à×Ò˜e SÑ)Ô)Ð)ØˆŒ	ˆ	ˆ	r[   c                ó   — | j         S )z_Name of field by which to sort rows

        Arguments:

        sortby - field name to sort by)rÊ   r1  s    r\   r    zPrettyTable.sortby6  ó   € ð Œ|Ðr[   c                ó@   — |                       d|¦  «         || _        d S )Nr    )r  rÊ   r€  s     r\   r    zPrettyTable.sortby?  r¶  r[   c                ó   — | j         S )zºControls direction of sorting (ascending vs descending)

        Arguments:

        reveresort - set to True to sort by descending order, or False to sort by
            ascending order)rË   r1  s    r\   r!   zPrettyTable.reversesortD  ó   € ð Ô Ð r[   c                ó@   — |                       d|¦  «         || _        d S )Nr!   )r  rË   r€  s     r\   r!   zPrettyTable.reversesortN  ó&   € à×Ò˜m¨SÑ1Ô1Ð1ØˆÔÐÐr[   c                ó   — | j         S )z²Sorting key function, applied to data points before sorting

        Arguments:

        sort_key - a function which takes one argument and returns something to be
        sorted)rÌ   r1  s    r\   r#   zPrettyTable.sort_keyS  s   € ð Œ~Ðr[   c                ó@   — |                       d|¦  «         || _        d S )Nr#   )r  rÌ   r€  s     r\   r#   zPrettyTable.sort_key]  s#   € à×Ò˜j¨#Ñ.Ô.Ð.ØˆŒˆˆr[   c                ó   — | j         S )z‹Filter function, applied to data points

        Arguments:

        row_filter - a function which takes one argument and returns a Boolean)rÍ   r1  s    r\   r%   zPrettyTable.row_filterb  s   € ð ÔÐr[   c                ó@   — |                       d|¦  «         || _        d S )Nr%   )r  rÍ   r€  s     r\   r%   zPrettyTable.row_filterk  ó&   € à×Ò˜l¨CÑ0Ô0Ð0ØˆÔÐÐr[   c                ó   — | j         S )z‹Controls printing of table header with field names

        Arguments:

        header - print a header showing field names (True or False))rÎ   r1  s    r\   r   zPrettyTable.headerp  r¿  r[   c                ó@   — |                       d|¦  «         || _        d S )Nr   )r  rÎ   r€  s     r\   r   zPrettyTable.headery  r¶  r[   c                ó   — | j         S )zÊControls whether header is included in computing width

        Arguments:

        use_header_width - respect width of fieldname in header to calculate column
            width (True or False)
        )rÏ   r1  s    r\   r   zPrettyTable.use_header_width~  s   € ð Ô%Ð%r[   c                ó@   — |                       d|¦  «         || _        d S )Nr   )r  rÏ   r€  s     r\   r   zPrettyTable.use_header_width‰  ó'   € à×ÒÐ0°#Ñ6Ô6Ð6Ø!$ˆÔÐÐr[   c                ó   — | j         S )zÆControls stylisation applied to field names in header

        Arguments:

        header_style - stylisation to apply to field names in header
            ("cap", "title", "upper", "lower" or None))rÐ   r1  s    r\   r>   zPrettyTable.header_styleŽ  s   € ð Ô!Ð!r[   c                ó>   — |                       |¦  «         || _        d S r®   )rD  rÐ   r€  s     r\   r>   zPrettyTable.header_style˜  s$   € à×#Ò# CÑ(Ô(Ð(Ø ˆÔÐÐr[   c                ó   — | j         S )z~Controls printing of border around table

        Arguments:

        border - print a border around the table (True or False))rÑ   r1  s    r\   r   zPrettyTable.border�  r¿  r[   c                ó@   — |                       d|¦  «         || _        d S )Nr   )r  rÑ   r€  s     r\   r   zPrettyTable.border¦  r¶  r[   c                ó   — | j         S )z·Controls printing of border inside table

        Arguments:

        preserve_internal_border - print a border inside the table even if
            border is disabled (True or False))rÒ   r1  s    r\   r   z$PrettyTable.preserve_internal_border«  s   € ð Ô-Ð-r[   c                ó@   — |                       d|¦  «         || _        d S )Nr   )r  rÒ   r€  s     r\   r   z$PrettyTable.preserve_internal_borderµ  s'   € à×ÒÐ8¸#Ñ>Ô>Ð>Ø),ˆÔ&Ð&Ð&r[   c                ó   — | j         S )zŠControls printing of horizontal rules after rows

        Arguments:

        hrules - horizontal rules style.  Allowed values: HRuleStyle)rÓ   r1  s    r\   r*   zPrettyTable.hrulesº  r¿  r[   c                ó@   — |                       d|¦  «         || _        d S )Nr*   )r  rÓ   r€  s     r\   r*   zPrettyTable.hrulesÃ  r¶  r[   c                ó   — | j         S )z‹Controls printing of vertical rules between columns

        Arguments:

        vrules - vertical rules style.  Allowed values: VRuleStyle)rÔ   r1  s    r\   r,   zPrettyTable.vrulesÈ  r¿  r[   c                ó@   — |                       d|¦  «         || _        d S )Nr,   )r  rÔ   r€  s     r\   r,   zPrettyTable.vrulesÑ  r¶  r[   c                ó   — | j         S )zbControls formatting of integer data
        Arguments:

        int_format - integer format string)rÕ   r1  s    r\   r.   zPrettyTable.int_formatÖ  s   € ð ÔÐr[   r-   c                ó`  — t          |t          ¦  «        r,|                      d|¦  «         | j        D ]}|| j        |<   Œd S t          |t
          ¦  «        r>|r<|                     ¦   «         D ]%\  }}|                      d|¦  «         || j        |<   Œ&d S | j                             ¦   «          d S )Nr.   )r&  r7   r  r  rÕ   rv  rG  r…  r†  s       r\   r.   zPrettyTable.int_formatÞ  s×   € å�c�3ÑÔð 		%Ø×!Ò! ,°Ñ4Ô4Ð4ØÔ*ð .ð .�Ø*-�Ô  Ñ'Ð'ð.ð .å˜�TÑ"Ô"ð 	% sð 	%Ø"Ÿyšy™{œ{ð /ð /‘��tØ×%Ò% l°DÑ9Ô9Ð9Ø*.�Ô  Ñ'Ð'ð/ð /ð Ô×"Ò"Ñ$Ô$Ð$Ð$Ð$r[   c                ó   — | j         S )zrControls formatting of floating point data
        Arguments:

        float_format - floating point format string)rÖ   r1  s    r\   r/   zPrettyTable.float_formatë  s   € ð Ô!Ð!r[   c                ó`  — t          |t          ¦  «        r,|                      d|¦  «         | j        D ]}|| j        |<   Œd S t          |t
          ¦  «        r>|r<|                     ¦   «         D ]%\  }}|                      d|¦  «         || j        |<   Œ&d S | j                             ¦   «          d S )Nr/   )r&  r7   r  r  rÖ   rv  rG  r…  r†  s       r\   r/   zPrettyTable.float_formató  s×   € å�c�3ÑÔð 		'Ø×!Ò! .°#Ñ6Ô6Ð6ØÔ*ð 0ð 0�Ø,/�Ô" 5Ñ)Ð)ð0ð 0å˜�TÑ"Ô"ð 	' sð 	'Ø"Ÿyšy™{œ{ð 1ð 1‘��tØ×%Ò% n°dÑ;Ô;Ð;Ø,0�Ô" 5Ñ)Ð)ð1ð 1ð Ô×$Ò$Ñ&Ô&Ð&Ð&Ð&r[   c                ó,   — || j         v r
| j         |= dS dS )aÊ  Callback to remove custom format when a field is removed from format dicts.

        This callback is triggered when a field is removed from _none_format,
        _int_format, or _float_format dictionaries, and removes the corresponding
        entry from _custom_format if it exists.

        Arguments:
            field_name: Name of the field being removed
            old_value: Previous value (unused)
            new_value: New value (unused)
        N©rØ   r˜  s       r\   r  z*PrettyTable._remove_custom_format_callback   s+   € ð ˜Ô,Ð,Ð,ØÔ# JÐ/Ð/Ð/ð -Ð,r[   c                óp   — || j         v r| j         |= || j        v r| j        |= || j        v r
| j        |= dS dS )aË  Callback to remove std formats when a field is removed from custom_format.

        This callback is triggered when a field is removed from _custom_format
        dictionary, and removes the corresponding entries from _float_format,
        _int_format, and _none_format if they exist.

        Arguments:
            field_name: Name of the field being removed
            old_value: Previous value (unused)
            new_value: New value (unused)
        N)rÖ   rÕ   r  r˜  s       r\   r	  z#PrettyTable._custom_format_callback  s]   € ð ˜Ô+Ð+Ð+ØÔ" :Ð.Ø˜Ô)Ð)Ð)ØÔ  Ð,Ø˜Ô*Ð*Ð*ØÔ! *Ð-Ð-Ð-ð +Ð*r[   c                ó   — | j         S )z‚Controls formatting of any column using callable
        Arguments:

        custom_format - Dictionary of field_name and callablerÞ  r1  s    r\   r1   zPrettyTable.custom_format"  s   € ð Ô"Ð"r[   r0   c                ó|  — |€| j                              ¦   «          dS t          |t          ¦  «        r?|                     ¦   «         D ](\  }}|                      d|› �|¦  «         || j         |<   Œ)dS t          |¦  «        r,|                      d|¦  «         | j        D ]}|| j         |<   ŒdS d}t          |¦  «        ‚)a‹  Set custom format for columns using callable functions.

        Arguments:
            val: Can be:
                - None: Clears all custom formats
                - dict: Dictionary mapping field names to callable functions
                - callable: A single callable function applied to all fields

        Raises:
            TypeError: If val is not None, a dict, or a callable
        Nzcustom_value.Úcustom_valuez>The custom_format property need to be a dictionary or callable)	rØ   r…  r&  rv  rG  r?  rl  r  rU  )rœ   rJ  r‡  rˆ  r,  s        r\   r1   zPrettyTable.custom_format*  sð   € ð  ˆ;ØÔ×%Ò%Ñ'Ô'Ð'Ð'Ð'Ý˜�TÑ"Ô"ð 
	!Ø"Ÿyšy™{œ{ð 2ð 2‘��tØ×'Ò'Ð(?¸Ð(?Ð(?ÀÑFÔFÐFØ-1�Ô# EÑ*Ð*ð2ð 2õ �c‰]Œ]ð 	!Ø×#Ò# N°CÑ8Ô8Ð8ØÔ*ð 1ð 1�Ø-0�Ô# EÑ*Ð*ð1ð 1ð SˆCÝ˜C‘.”.Ð r[   c                ó   — | j         S )zœThe number of empty spaces between a column's edge and its content

        Arguments:

        padding_width - number of spaces, must be a positive integer)rÙ   r1  s    r\   r4   zPrettyTable.padding_widthH  ó   € ð Ô"Ð"r[   c                ó@   — |                       d|¦  «         || _        d S )Nr4   )r  rÙ   r€  s     r\   r4   zPrettyTable.padding_widthQ  ó&   € à×Ò˜o¨sÑ3Ô3Ð3Ø!ˆÔÐÐr[   c                ó   — | j         S )z The number of empty spaces between a column's left edge and its content

        Arguments:

        left_padding - number of spaces, must be a positive integer)rÚ   r1  s    r\   r5   zPrettyTable.left_padding_widthV  s   € ð Ô'Ð'r[   c                ó@   — |                       d|¦  «         || _        d S )Nr5   )r  rÚ   r€  s     r\   r5   zPrettyTable.left_padding_width_  s'   € à×ÒÐ2°CÑ8Ô8Ð8Ø#&ˆÔ Ð Ð r[   c                ó   — | j         S )z¢The number of empty spaces between a column's right edge and its content

        Arguments:

        right_padding - number of spaces, must be a positive integer)rÛ   r1  s    r\   r6   zPrettyTable.right_padding_widthd  s   € ð Ô(Ð(r[   c                ó@   — |                       d|¦  «         || _        d S )Nr6   )r  rÛ   r€  s     r\   r6   zPrettyTable.right_padding_widthm  s'   € à×ÒÐ3°SÑ9Ô9Ð9Ø$'ˆÔ!Ð!Ð!r[   c                ó   — | j         S )z¦The character used when printing table borders to draw vertical lines

        Arguments:

        vertical_char - single character string used to draw vertical lines)rÜ   r1  s    r\   r8   zPrettyTable.vertical_charr  rä  r[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )Nr8   )r7   r  rÜ   r€  s     r\   r8   zPrettyTable.vertical_char{  ó1   € å�#‰hŒhˆØ×Ò˜o¨sÑ3Ô3Ð3Ø!ˆÔÐÐr[   c                ó   — | j         S )z¬The character used when printing table borders to draw horizontal lines

        Arguments:

        horizontal_char - single character string used to draw horizontal lines)rÝ   r1  s    r\   r9   zPrettyTable.horizontal_char�  s   € ð Ô$Ð$r[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )Nr9   )r7   r  rÝ   r€  s     r\   r9   zPrettyTable.horizontal_charŠ  s2   € å�#‰hŒhˆØ×ÒÐ/°Ñ5Ô5Ð5Ø #ˆÔÐÐr[   c                ó   — | j         p| j        S )z«The character used to indicate column alignment in horizontal lines

        Arguments:

        horizontal_align_char - single character string used to indicate alignment)rÞ   r<   r1  s    r\   r:   z!PrettyTable.horizontal_align_char�  s   € ð Ô*Ð@¨dÔ.@Ð@r[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )Nr:   )r7   r  rÞ   r€  s     r\   r:   z!PrettyTable.horizontal_align_char™  s2   € å�#‰hŒhˆØ×ÒÐ5°sÑ;Ô;Ð;Ø&)ˆÔ#Ð#Ð#r[   c                ó   — | j         S )zÞThe character used when printing the header separator line

        Arguments:

        header_horizontal_char - single character string used to draw the header
        separator, or None to use the same as horizontal_char)rß   r1  s    r\   r;   z"PrettyTable.header_horizontal_charŸ  s   € ð Ô+Ð+r[   c                ób   — |�%t          |¦  «        }|                      d|¦  «         || _        d S )Nr;   )r7   r  rß   r€  s     r\   r;   z"PrettyTable.header_horizontal_char©  s7   € àˆ?Ý�c‘(”(ˆCØ×!Ò!Ð":¸CÑ@Ô@Ð@Ø'*ˆÔ$Ð$Ð$r[   c                ó   — | j         S )z¦The character used when printing table borders to draw line junctions

        Arguments:

        junction_char - single character string used to draw line junctions)rà   r1  s    r\   r<   zPrettyTable.junction_char°  rä  r[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )Nr<   )r7   r  rà   r€  s     r\   r<   zPrettyTable.junction_char¹  rí  r[   c                ó   — | j         p| j        S )z²The character used when printing table borders to draw top line junctions

        Arguments:

        top_junction_char - single character string used to draw top line junctions)rá   r<   r1  s    r\   rB   zPrettyTable.top_junction_char¿  s   € ð Ô&Ð<¨$Ô*<Ð<r[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )NrB   )r7   r  rá   r€  s     r\   rB   zPrettyTable.top_junction_charÈ  s2   € å�#‰hŒhˆØ×ÒÐ1°3Ñ7Ô7Ð7Ø"%ˆÔÐÐr[   c                ó   — | j         p| j        S )zÇThe character used when printing table borders to draw bottom line junctions

        Arguments:

        bottom_junction_char -
            single character string used to draw bottom line junctions)râ   r<   r1  s    r\   rC   z PrettyTable.bottom_junction_charÎ  s   € ð Ô)Ð?¨TÔ-?Ð?r[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )NrC   )r7   r  râ   r€  s     r\   rC   z PrettyTable.bottom_junction_charØ  s2   € å�#‰hŒhˆØ×ÒÐ4°cÑ:Ô:Ð:Ø%(ˆÔ"Ð"Ð"r[   c                ó   — | j         p| j        S )zÄThe character used when printing table borders to draw right line junctions

        Arguments:

        right_junction_char -
            single character string used to draw right line junctions)rã   r<   r1  s    r\   rD   zPrettyTable.right_junction_charÞ  s   € ð Ô(Ð>¨DÔ,>Ð>r[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )NrD   )r7   r  rã   r€  s     r\   rD   zPrettyTable.right_junction_charè  s2   € å�#‰hŒhˆØ×ÒÐ3°SÑ9Ô9Ð9Ø$'ˆÔ!Ð!Ð!r[   c                ó   — | j         p| j        S )zµThe character used when printing table borders to draw left line junctions

        Arguments:

        left_junction_char - single character string used to draw left line junctions)rä   r<   r1  s    r\   rE   zPrettyTable.left_junction_charî  s   € ð Ô'Ð=¨4Ô+=Ð=r[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )NrE   )r7   r  rä   r€  s     r\   rE   zPrettyTable.left_junction_char÷  s2   € å�#‰hŒhˆØ×ÒÐ2°CÑ8Ô8Ð8Ø#&ˆÔ Ð Ð r[   c                ó   — | j         p| j        S )zÙ
        The character used when printing table borders to draw top-right line junctions

        Arguments:

        top_right_junction_char -
            single character string used to draw top-right line junctions)rå   r<   r1  s    r\   rF   z#PrettyTable.top_right_junction_charý  s   € ð Ô,ÐB°Ô0BÐBr[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )NrF   )r7   r  rå   r€  s     r\   rF   z#PrettyTable.top_right_junction_char  s2   € å�#‰hŒhˆØ×ÒÐ7¸Ñ=Ô=Ð=Ø(+ˆÔ%Ð%Ð%r[   c                ó   — | j         p| j        S )zÖ
        The character used when printing table borders to draw top-left line junctions

        Arguments:

        top_left_junction_char -
            single character string used to draw top-left line junctions)ræ   r<   r1  s    r\   rG   z"PrettyTable.top_left_junction_char  s   € ð Ô+ÐA¨tÔ/AÐAr[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )NrG   )r7   r  ræ   r€  s     r\   rG   z"PrettyTable.top_left_junction_char  s2   € å�#‰hŒhˆØ×ÒÐ6¸Ñ<Ô<Ð<Ø'*ˆÔ$Ð$Ð$r[   c                ó   — | j         p| j        S )zäThe character used when printing table borders
           to draw bottom-right line junctions

        Arguments:

        bottom_right_junction_char -
            single character string used to draw bottom-right line junctions)rç   r<   r1  s    r\   rH   z&PrettyTable.bottom_right_junction_char  s   € ð Ô/ÐE°4Ô3EÐEr[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )NrH   )r7   r  rç   r€  s     r\   rH   z&PrettyTable.bottom_right_junction_char*  s2   € å�#‰hŒhˆØ×ÒÐ:¸CÑ@Ô@Ð@Ø+.ˆÔ(Ð(Ð(r[   c                ó   — | j         p| j        S )záThe character used when printing table borders
           to draw bottom-left line junctions

        Arguments:

        bottom_left_junction_char -
            single character string used to draw bottom-left line junctions)rè   r<   r1  s    r\   rI   z%PrettyTable.bottom_left_junction_char0  s   € ð Ô.ÐD°$Ô2DÐDr[   c                ó^   — t          |¦  «        }|                      d|¦  «         || _        d S )NrI   )r7   r  rè   r€  s     r\   rI   z%PrettyTable.bottom_left_junction_char;  s2   € å�#‰hŒhˆØ×ÒÐ9¸3Ñ?Ô?Ð?Ø*-ˆÔ'Ð'Ð'r[   c                ó   — | j         S )z~Controls whether or not HTML tables are formatted to match styling options

        Arguments:

        format - True or False)ré   r1  s    r\   r(   zPrettyTable.formatA  r¿  r[   c                ó@   — |                       d|¦  «         || _        d S )Nr(   )r  ré   r€  s     r\   r(   zPrettyTable.formatJ  r¶  r[   c                ó   — | j         S )z˜Controls whether or not empty tables produce a header and frame or just an
        empty string

        Arguments:

        print_empty - True or False)rê   r1  s    r\   r@   zPrettyTable.print_emptyO  rÂ  r[   c                ó@   — |                       d|¦  «         || _        d S )Nr@   )r  rê   r€  s     r\   r@   zPrettyTable.print_emptyY  rÄ  r[   c                ó   — | j         S )z¯A dictionary of HTML attribute name/value pairs to be included in the
        <table> tag when printing HTML

        Arguments:

        attributes - dictionary of attributes)rì   r1  s    r\   r'   zPrettyTable.attributes^  s   € ð ÔÐr[   c                ó@   — |                       d|¦  «         || _        d S )Nr'   )r  rì   r€  s     r\   r'   zPrettyTable.attributesh  rÉ  r[   c                ó   — | j         S )z<oldsortslice - Slice rows before sorting in the "old style" )rë   r1  s    r\   rA   zPrettyTable.oldsortslicem  s   € ð Ô!Ð!r[   c                ó@   — |                       d|¦  «         || _        d S )NrA   )r  rë   r€  s     r\   rA   zPrettyTable.oldsortslicer  s&   € à×Ò˜n¨cÑ2Ô2Ð2Ø ˆÔÐÐr[   c                ó   — | j         S )z0Escapes the text within a header (True or False))rí   r1  s    r\   rS   zPrettyTable.escape_headerw  s   € ð Ô"Ð"r[   c                ó@   — |                       d|¦  «         || _        d S )NrS   )r  rí   r€  s     r\   rS   zPrettyTable.escape_header|  ræ  r[   c                ó   — | j         S )z4Escapes the text within a data field (True or False))rî   r1  s    r\   rT   zPrettyTable.escape_data�  s   € ð Ô Ð r[   c                ó@   — |                       d|¦  «         || _        d S )NrT   )r  rî   r€  s     r\   rT   zPrettyTable.escape_data†  rÄ  r[   c                ó   — | j         S )z*Break longlines on hyphens (True or False))ró   r1  s    r\   rU   zPrettyTable.break_on_hyphens‹  s   € ð Ô%Ð%r[   c                ó@   — |                       d|¦  «         || _        d S )NrU   )r  ró   r€  s     r\   rU   zPrettyTable.break_on_hyphens�  rÎ  r[   rž   úMapping[str, Any]r   c                ó¸   — i }| j         D ]A}||v r(|                      |||         ¦  «         ||         ||<   Œ.t          | |¦  «        ||<   ŒBt          d|¦  «        S )Nr   )r  r  r%  r   )rœ   rž   Úoptionsr  s       r\   Ú_get_optionszPrettyTable._get_options™  sq   € Ø"$ˆØ”mð 	8ð 	8ˆFØ˜ÐÐØ×%Ò% f¨f°V¬nÑ=Ô=Ð=Ø"(¨¤.�˜‘�å")¨$°Ñ"7Ô"7�˜‘�Ý�M 7Ñ+Ô+Ð+r[   Ústylerg   c                óÞ  — |                       ¦   «          || _        |t          j        k    r|                      ¦   «          d S |t          j        k    r|                      ¦   «          d S |t          j        k    r|                      ¦   «          d S |t          j	        k    r|  
                    ¦   «          d S |t          j        k    r|                      ¦   «          d S |t          j        k    r|                      ¦   «          d S |t          j        k    r|                      ¦   «          d S |t          j        k    r|                      ¦   «          d S |t          j        k    rd}t)          |¦  «        ‚d S )NzInvalid pre-set style)Ú_set_default_stylerï   rg   rr   Ú_set_msword_stylers   Ú_set_columns_stylert   Ú_set_markdown_styleru   Ú_set_orgmode_stylerv   Ú_set_double_border_stylerw   Ú_set_single_border_stylerx   Ú_set_rst_stylery   Ú_set_random_stylerq   rQ  )rœ   r  r,  s      r\   Ú	set_stylezPrettyTable.set_style§  sq  € Ø×ÒÑ!Ô!Ð!ØˆŒØ•JÔ.Ò.Ð.Ø×"Ò"Ñ$Ô$Ð$Ð$Ð$Ø•jÔ.Ò.Ð.Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%Ø•jÔ)Ò)Ð)Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&Ø•jÔ(Ò(Ð(Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%Ø•jÔ.Ò.Ð.Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+Ø•jÔ.Ò.Ð.Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+Ø•j”nÒ$Ð$Ø×ÒÑ!Ô!Ð!Ð!Ð!Ø•jÔ'Ò'Ð'Ø×"Ò"Ñ$Ô$Ð$Ð$Ð$Ø•jÔ(Ò(Ð(Ø)ˆCÝ˜S‘/”/Ð!ð )Ð(r[   c                ó   — d| _         d S rÿ   )rð   r1  s    r\   r  zPrettyTable._set_orgmode_style¾  s   € ØˆŒˆˆr[   c                ó˜   — d| _         d| _        t          j        | _        d| _        d| _        d| _        d| _        d| _	        d| _
        d S )NTr^   r   ú:)r   r   r)   rd   rÓ   r4   r5   r6   r8   r<   rÞ   r1  s    r\   r  zPrettyTable._set_markdown_styleÁ  sP   € ØˆŒØˆŒÝ!Ô(ˆŒØˆÔØ"#ˆÔØ#$ˆÔ Ø ˆÔØ ˆÔØ&)ˆÔ#Ð#Ð#r[   c                ó´   — d| _         d| _        t          j        | _        d| _        d| _        d| _        d| _        d| _	        d| _
        d | _        d| _        d S )NTr^   r   r  r  ú=)r   r   r)   rb   rÓ   r4   r5   r6   r8   r<   r9   rÞ   r;   r1  s    r\   r!  zPrettyTable._set_rst_styleÌ  s_   € ØˆŒØˆŒÝ!”~ˆŒØˆÔØ"#ˆÔØ#$ˆÔ Ø ˆÔØ ˆÔØ"ˆÔØ&*ˆÔ#Ø&)ˆÔ#Ð#Ð#r[   c                óF  — d| _         d| _        t          j        | _        t
          j        | _        d| _        d| _	        d| _
        d| _        d| _        d | _        d | _        d| _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d S )NTr^   r   r  r  )r   r   r)   ra   rÓ   r+   rb   rÔ   r4   r5   r6   r8   r9   rÞ   r;   r<   rá   râ   rã   rä   rå   ræ   rç   rè   r1  s    r\   r  zPrettyTable._set_default_styleÙ  s©   € ØˆŒØˆŒÝ!Ô'ˆŒÝ!”~ˆŒØˆÔØ"#ˆÔØ#$ˆÔ Ø ˆÔØ"ˆÔØ&*ˆÔ#Ø&*ˆÔ#Ø ˆÔØ"&ˆÔØ%)ˆÔ"Ø$(ˆÔ!Ø#'ˆÔ Ø(,ˆÔ%Ø'+ˆÔ$Ø+/ˆÔ(Ø*.ˆÔ'Ð'Ð'r[   c                ó|   — d| _         d| _        t          j        | _        d| _        d| _        d| _        d| _        d S )NTr^   r   )	r   r   r)   rc   rÓ   r4   r5   r6   r8   r1  s    r\   r  zPrettyTable._set_msword_styleï  s?   € ØˆŒØˆŒÝ!”ˆŒØˆÔØ"#ˆÔØ#$ˆÔ Ø ˆÔÐÐr[   c                óL   — d| _         d| _        d| _        d| _        d| _        d S )NTFr^   r   é   )r   r   r4   r5   r6   r1  s    r\   r  zPrettyTable._set_columns_styleø  s.   € ØˆŒØˆŒØˆÔØ"#ˆÔØ#$ˆÔ Ð Ð r[   c                ó    — d| _         d| _        d| _        d| _        d| _        d| _        d| _        d| _        d	| _        d
| _	        d| _
        d S )Nu   â•�u   â•‘u   â•¬u   â•¦u   â•©u   â•£u   â• u   â•—u   â•”u   â•�u   â•š©r9   r8   r<   rB   rC   rD   rE   rF   rG   rH   rI   r1  s    r\   r  z$PrettyTable._set_double_border_styleÿ  ó`   € Ø$ˆÔØ"ˆÔØ"ˆÔØ!&ˆÔØ$)ˆÔ!Ø#(ˆÔ Ø"'ˆÔØ',ˆÔ$Ø&+ˆÔ#Ø*/ˆÔ'Ø).ˆÔ&Ð&Ð&r[   c                ó    — d| _         d| _        d| _        d| _        d| _        d| _        d| _        d| _        d	| _        d
| _	        d| _
        d S )Nu   â”€u   â”‚u   â”¼u   â”¬u   â”´u   â”¤u   â”œu   â”�u   â”Œu   â”˜u   â””r.  r1  s    r\   r   z$PrettyTable._set_single_border_style  r/  r[   c                ób  — dd l }|                     d¦  «        | _        |                     d¦  «        | _        |                     t	          t
          ¦  «        ¦  «        | _        |                     t	          t          ¦  «        ¦  «        | _        | 	                    dd¦  «        | _
        | 	                    dd¦  «        | _        |                     d¦  «        | _        |                     d¦  «        | _        |                     d¦  «        | _        |                     d¦  «        | _        d S )Nr   rù   é   z!~!@#$%^&*()_+|-=\{}[];':\",./;<>?)ÚrandomÚchoicer   r   rn  r)   rÓ   r+   rÔ   Úrandintr5   r6   r8   r9   r<   r   )rœ   r3  s     r\   r"  zPrettyTable._set_random_style  sì   € àˆˆˆà—m’m MÑ2Ô2ˆŒØ—m’m MÑ2Ô2ˆŒØ—}’}¥T­*Ñ%5Ô%5Ñ6Ô6ˆŒØ—}’}¥T­*Ñ%5Ô%5Ñ6Ô6ˆŒØ"(§.¢.°°AÑ"6Ô"6ˆÔØ#)§>¢>°!°QÑ#7Ô#7ˆÔ Ø#Ÿ]š]Ð+OÑPÔPˆÔØ%Ÿ}š}Ð-QÑRÔRˆÔØ#Ÿ]š]Ð+OÑPÔPˆÔØ(.¯ª°mÑ(DÔ(DˆÔ%Ð%Ð%r[   F©Údividerry  úSequence[RowType]r7  c               ó®   — |dd…         D ]}|                       |¦  «         Œt          |¦  «        dk    r|                       |d         |¬¦  «         dS dS )zçAdd rows to the table

        Arguments:

        rows - rows of data, should be an iterable of lists, each list with as many
        elements as the table has fields

        divider - add row divider after the row block
        Nrg  r   r6  )r(  r¶   )rœ   ry  r7  r+  s       r\   Úadd_rowszPrettyTable.add_rows,  sf   € ð ˜˜˜”9ð 	ð 	ˆCØ�LŠL˜ÑÔÐÐåˆt‰9Œ9�qŠ=ˆ=Ø�LŠL˜˜bœ¨7ˆLÑ3Ô3Ð3Ð3Ð3ð ˆ=r[   r+  rˆ   c               ó²  — | j         r\t          |¦  «        t          | j         ¦  «        k    r7dt          |¦  «        › dt          | j         ¦  «        › d�}t          |¦  «        ‚| j         s+d„ t          t          |¦  «        ¦  «        D ¦   «         | _        | j                             t          |¦  «        ¦  «         | j                             |¦  «         dS )z�Add a row to the table

        Arguments:

        row - row of data, should be a list with as many elements as the table
        has fieldsz-Row has incorrect number of values, (actual) rN  rO  c                ó   — g | ]
}d |dz   › �‘ŒS )zField r^   rZ   )r²   Úns     r\   r�  z'PrettyTable.add_row.<locals>.<listcomp>K  s%   € ÐJÐJÐJ°QÐ 0¨¨Q©Ð 0Ð 0ÐJÐJÐJr[   N)	r  r¶   rQ  Úrangerô   r  Úappendrn  r  )rœ   r+  r7  r,  s       r\   r(  zPrettyTable.add_row<  sÞ   € ð Ôð 	"¥ S¡¤­S°Ô1BÑ-CÔ-CÒ!CÐ!CðLÝ ™HœHðLð LÝ(+¨DÔ,=Ñ(>Ô(>ðLð Lð Lð õ ˜S‘/”/Ð!ØÔ ð 	KØJÐJ½%ÅÀCÁÄ¹/¼/ÐJÑJÔJˆDÔØŒ
×Ò�$˜s™)œ)Ñ$Ô$Ð$ØŒ×Ò˜gÑ&Ô&Ð&Ð&Ð&r[   Ú	row_indexc                ó°   — |t          | j        ¦  «        dz
  k    r*d|› dt          | j        ¦  «        › d�}t          |¦  «        ‚| j        |= | j        |= dS )z„Delete a row from the table

        Arguments:

        row_index - The index of the row you want to delete.  Indexing starts at 0.r^   zCan't delete row at index z, table only has z rowsN)r¶   r  r)  r  )rœ   r@  r,  s      r\   Údel_rowzPrettyTable.del_rowO  st   € ð •s˜4œ:‘”¨Ñ*Ò*Ð*ð9¨Yð 9ð 9Ý"% d¤j¡/¤/ð9ð 9ð 9ð õ ˜S‘/”/Ð!ØŒJ�yÐ!ØŒN˜9Ð%Ð%Ð%r[   c                óN   — t          | j        ¦  «        dk    rd| j        d<   dS dS )zAdd a divider to the tabler^   Trg  N)r¶   r  r1  s    r\   Úadd_dividerzPrettyTable.add_divider_  s1   € åˆtŒ~ÑÔ !Ò#Ð#Ø!%ˆDŒN˜2ÑÐÐð $Ð#r[   r‹   r�   Ú	fieldnameÚcolumnrM   r’   c                ó”  — t          | j        ¦  «        dt          |¦  «        fv rî|                      |¦  «         |                      |¦  «         | j                             |¦  «         || j        |<   || j        |<   t          t          |¦  «        ¦  «        D ]w}t          | j        ¦  «        |dz   k     r4| j                             g ¦  «         | j	                             d¦  «         | j        |                              ||         ¦  «         ŒxdS dt          |¦  «        › dt          | j        ¦  «        › �}t          |¦  «        ‚)aÅ  Add a column to the table.

        Arguments:

        fieldname - name of the field to contain the new column of data
        column - column of data, should be a list with as many elements as the
        table has rows
        align - desired alignment for this column - "l" for left, "c" for centre and
            "r" for right
        valign - desired vertical alignment for new columns - "t" for top,
            "m" for middle and "b" for bottomr   r^   FzColumn length z does not match number of rows N)r¶   r  rZ  r]  r  r?  r¿   rÀ   r>  r  rQ  )rœ   rE  rF  rK   rM   Úir,  s          r\   Ú
add_columnzPrettyTable.add_columnd  sC  € õ& ˆtŒz‰?Œ?˜q¥# f¡+¤+Ð.Ð.Ð.Ø× Ò  Ñ'Ô'Ð'Ø×!Ò! &Ñ)Ô)Ð)ØÔ×$Ò$ YÑ/Ô/Ð/Ø%*ˆDŒK˜	Ñ"Ø&,ˆDŒL˜Ñ#Ý�3˜v™;œ;Ñ'Ô'ð 0ð 0�Ý�t”z‘?”? Q¨¡UÒ*Ð*Ø”J×%Ò% bÑ)Ô)Ð)Ø”N×)Ò)¨%Ñ0Ô0Ð0Ø”
˜1”×$Ò$ V¨A¤YÑ/Ô/Ð/Ð/ð	0ð 0ð%¥ V¡¤ð %ð %Ý�t”z‘?”?ð%ð %ð õ ˜S‘/”/Ð!r[   ÚIndexc                óþ   — | j                              d|¦  «         | j        d         pd| j        |<   | j        d         pd| j        |<   t          | j        ¦  «        D ]\  }}|                     d|dz   ¦  «         ŒdS )zŽAdd an auto-incrementing index column to the table.
        Arguments:
        fieldname - name of the field to contain the new column of datar   rK   r‹   rM   r�   r^   N)r  Úinsertr  r¿   rÀ   Ú	enumerater  )rœ   rE  rH  r+  s       r\   Úadd_autoindexzPrettyTable.add_autoindex‰  s�   € ð 	Ô× Ò   IÑ.Ô.Ð.Ø!%¤¨gÔ!6Ð!=¸#ˆŒ�IÑØ"&¤,¨xÔ"8Ð"?¸CˆŒ�YÑÝ ¤
Ñ+Ô+ð 	!ð 	!‰FˆAˆsØ�JŠJ�q˜!˜a™%Ñ Ô Ð Ð ð	!ð 	!r[   c           	     ó  — || j         vrPd                     |d                     t          t          | j         ¦  «        ¦  «        ¦  «        }t          |¦  «        ‚| j                              |¦  «        }| j         |= | j        D ]}||= ŒdS )zxDelete a column from the table

        Arguments:

        fieldname - The field name of the column you want to delete.zUCan't delete column {!r} which is not a field name of this table. Field names are: {}z, N)r  r(   ÚjoinÚmapÚreprrQ  r!  r  )rœ   rE  r,  Ú	col_indexr+  s        r\   Ú
del_columnzPrettyTable.del_column“  sœ   € ð ˜DÔ-Ð-Ð-ð'ß'-¢vØ˜tŸyšy­­T°4Ô3DÑ)EÔ)EÑFÔFñ(ô (ð õ ˜S‘/”/Ð!àÔ%×+Ò+¨IÑ6Ô6ˆ	ØÔ˜iÐ(Ø”:ð 	ð 	ˆCØ�I��ð	ð 	r[   c                ó"   — g | _         g | _        dS )z?Delete all rows from the table but keep the current field namesN)r  r  r1  s    r\   Ú
clear_rowszPrettyTable.clear_rows¨  s   € ð ˆŒ
ØˆŒˆˆr[   c                ó>   — g | _         g | _        g | _        g | _        dS )z_Delete all rows and field names from the table, maintaining nothing but
        styling optionsN)r  r  r  rñ   r1  s    r\   r…  zPrettyTable.clear®  s%   € ð ˆŒ
ØˆŒØˆÔØˆŒˆˆr[   r   c                ó4   — dd l }|                     | ¦  «        S ©Nr   )ÚcopyÚdeepcopy)rœ   rZ  s     r\   rZ  zPrettyTable.copy»  s   € Øˆˆˆà�}Š}˜TÑ"Ô"Ð"r[   Ú
out_formatc                ó  — |dk    r | j         d
i |¤ŽS |dk    r | j        d
i |¤ŽS |dk    r | j        d
i |¤ŽS |dk    r | j        d
i |¤ŽS |dk    r | j        d
i |¤ŽS |dk    r | j        d
i |¤ŽS d|› d�}t          |¦  «        ‚)zÙReturn string representation of specified format of table in current state.

        Arguments:
        out_format - resulting table format
        kwargs - passed through to function that performs formatting
        r¨   ÚhtmlÚjsonÚcsvÚlatexÚ	mediawikizInvalid format z;. Must be one of: text, html, json, csv, latex or mediawikiNrZ   )r0  r7  Úget_json_stringÚget_csv_stringÚget_latex_stringÚget_mediawiki_stringrQ  )rœ   r\  rž   r,  s       r\   Úget_formatted_stringz PrettyTable.get_formatted_stringÀ  s  € ð ˜ÒÐØ"�4”?Ð,Ð, VÐ,Ð,Ð,Ø˜ÒÐØ'�4Ô'Ð1Ð1¨&Ð1Ð1Ð1Ø˜ÒÐØ'�4Ô'Ð1Ð1¨&Ð1Ð1Ð1Ø˜ÒÐØ&�4Ô&Ð0Ð0¨Ð0Ð0Ð0Ø˜Ò Ð Ø(�4Ô(Ð2Ð2¨6Ð2Ð2Ð2Ø˜Ò$Ð$Ø,�4Ô,Ð6Ð6¨vÐ6Ð6Ð6ðH˜jð Hð Hð Hð 	õ ˜‰oŒoÐr[   r‡  r¡   r   c                ó>  — t          |t          ¦  «        r|| j        v rd| j        |         › d�|z  S t          |t          ¦  «        r|| j        v rd| j        |         › d�|z  S | j                             |d„ ¦  «        } |||¦  «                             ¦   «         S )Nú%Údrh  c                ó    — t          |¦  «        S r®   rŽ  )rh  Úvs     r\   rý   z+PrettyTable._format_value.<locals>.<lambda>ä  s   € ÅÀQÁÄ€ r[   )r&  r   rÕ   ÚfloatrÖ   rØ   r£   Ú
expandtabs)rœ   r‡  r¡   rL  s       r\   Ú_format_valuezPrettyTable._format_valueÞ  s¸   € Ý�e�SÑ!Ô!ð 	> e¨tÔ/?Ð&?Ð&?Ø2˜Ô(¨Ô/Ð2Ð2Ð2°eÑ;Ð;Ý˜�uÑ%Ô%ð 	>¨%°4Ô3EÐ*EÐ*EØ4˜Ô*¨5Ô1Ð4Ð4Ð4¸Ñ=Ð=àÔ'×+Ò+¨EÐ4GÐ4GÑIÔIˆ	ð ˆy˜ Ñ&Ô&×1Ò1Ñ3Ô3Ð3r[   c                óF  — |d         t           j        k    rd}n|d         t           j        k    rd}nd}t          |                      |¦  «        ¦  «        }t          | j        ¦  «        D ]5\  }}|d         r|d         r ||d         v r|| j        |         |z   dz   z  }Œ6|S )Nr,   r_   r^   r   r   )r+   ra   rb   ÚsumÚ_get_padding_widthsrM  rô   rñ   )rœ   r  Útable_widthÚper_col_paddingr!  rE  s         r\   Ú_compute_table_widthz PrettyTable._compute_table_widthó  sÄ   € Ø�8Ô¥
Ô 0Ò0Ð0ØˆKˆKØ�XÔ¥*¤.Ò0Ð0ØˆKˆKàˆKÝ˜d×6Ò6°wÑ?Ô?Ñ@Ô@ˆÝ )¨$Ô*:Ñ ;Ô ;ð 	Ið 	IÑˆE�9Ø˜8Ô$ð IØ˜Ô!ðIØ&/°7¸8Ô3DÐ&DÐ&Dà˜tœ|¨EÔ2°_ÑDÀqÑHÑH�øØÐr[   úlist[list[str]]r  c           
     ó¾  ‡‡— |d         r|d         rd„ | j         D ¦   «         }nt          | j        ¦  «        dgz  }|D �]5}t          |¦  «        D �]!\  }}| j        |         }|dk    r| j                             |¦  «        x}�|}|| j        v rFt          ||         t          t          |¦  «        d         | j        |         ¦  «        ¦  «        ||<   n,t          ||         t          |¦  «        d         ¦  «        ||<   || j
        v r$t          ||         | j
        |         ¦  «        ||<   | j        t          j        k    r-| j        |         dv rd}	nd}	t          |	||         ¦  «        ||<   �Œ#�Œ7|| _        t!          |                      |¦  «        ¦  «        Š| j        rh|                      |¦  «        }
|
| j        k    rH‰t          |¦  «        z  t          |¦  «        z   dz
  }| j        |z
  |
|z
  z  Šˆfd	„|D ¦   «         | _        | j        s	|d
         �r=|d
         r[t          d„ |d
                              d¦  «        D ¦   «         ¦  «        ‰z   }|d         t,          j        t,          j        fv r|dz  }nd}| j        pd}t          ||¦  «        }	|d         rt          |¦  «        dz   }n|d         rt          |¦  «        }nd}|	t!          ˆfd„|D ¦   «         ¦  «        |z   z  }	t!          |¦  «        pd}||	k     rTd|	z  |z  Šˆfd„|D ¦   «         }t!          |¦  «        |	k     r |dxx         |	t!          |¦  «        z
  z  cc<   || _        d S d S d S )Nr   r   c                ó8   — g | ]}t          |¦  «        d          ‘ŒS ©r   ©r»   )r²   r‡  s     r\   r�  z/PrettyTable._compute_widths.<locals>.<listcomp>  s%   € ÐIÐIÐI¨e•i Ñ&Ô& qÔ)ÐIÐIÐIr[   r   rö   )rŠ   rŒ   r^   r`   c           	     óP   •— g | ]"}t          d t          |‰z  ¦  «        ¦  «        ‘Œ#S ©r^   )r·   r   ©r²   ÚwÚscales     €r\   r�  z/PrettyTable._compute_widths.<locals>.<listcomp>.  s-   ø€ ÐGÐGÐG¸1¥ A¥s¨1¨u©9¡~¤~Ñ 6Ô 6ÐGÐGÐGr[   r   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r®   r¯   r±   s     r\   r´   z.PrettyTable._compute_widths.<locals>.<genexpr>4  s+   è è € ÐXÐX°4Õ(¨Ñ.Ô.ÐXÐXÐXÐXÐXÐXr[   r¬   r,   r_   r   r   c                ó   •— g | ]}‰‘ŒS rZ   rZ   )r²   r$  rt  s     €r\   r�  z/PrettyTable._compute_widths.<locals>.<listcomp>E  s   ø€ Ð>Ð>Ð>°!˜oÐ>Ð>Ð>r[   g      ð?c                ó4   •— g | ]}t          |‰z  ¦  «        ‘ŒS rZ   )r   r}  s     €r\   r�  z/PrettyTable._compute_widths.<locals>.<listcomp>L  s#   ø€ Ð9Ð9Ð9¨Q�#˜a %™i™.œ.Ð9Ð9Ð9r[   rg  )r  r¶   rô   rM  rR   r£   rP   r·   Úminr»   rO   rï   rg   rt   r¿   rñ   rq  rr  rÅ   ru  rÄ   rµ   r+   ra   rb   r2   )rœ   ry  r  Úwidthsr+  r!  r¡   rE  Únone_valrO   rs  Úmarkup_charsÚtitle_widthr2   ÚbordersÚcontent_widthrt  r  s                   @@r\   Ú_compute_widthszPrettyTable._compute_widths  sæ  øø€ Ø�8Ôð 	1 Ð);Ô!<ð 	1ØIÐI°tÔ7HÐIÑIÔIˆFˆFå˜Ô)Ñ*Ô*¨a¨SÑ0ˆFàð 	Bñ 	BˆCÝ )¨#¡¤ð Bñ B‘��uØ Ô,¨UÔ3�	à˜V’O�OØ%)Ô%5×%9Ò%9¸)Ñ%DÔ%DÐD˜ÐQà$�EØ ¤Ð.Ð.Ý$'Ø˜uœÝ�I eÑ,Ô,¨QÔ/°´À	Ô1JÑKÔKñ%ô %�F˜5‘M�Mõ
 %(¨¨u¬µyÀÑ7GÔ7GÈÔ7JÑ$KÔ$K�F˜5‘MØ ¤Ð.Ð.Ý$'¨¨u¬°t´~ÀiÔ7PÑ$QÔ$Q�F˜5‘Mà”;¥*Ô"5Ò5Ð5à”{ 9Ô-°Ð;Ð;Ø$%˜	˜	à$%˜	Ý$'¨	°6¸%´=Ñ$AÔ$A�F˜5‘Mùñ/Bð2 ˆŒå˜d×6Ò6°wÑ?Ô?Ñ@Ô@ˆàÔ ð 	HØ×3Ò3°GÑ<Ô<ˆKØ˜TÔ2Ò2Ð2à.µ°V±´Ñ<½sÀ6¹{¼{ÑJÈQÑN�ØÔ.°Ñ=Ø ,Ñ.ñ�ð  HÐGÐGÐGÀÐGÑGÔG�”ð Ô ð 	& G¨GÔ$4ñ 	&Ø�wÔð  åÐXÐX¸7À7Ô;K×;QÒ;QÐRVÑ;WÔ;WÐXÑXÔXÑXÔXØ%ñ&ð ð ˜8Ô$­Ô)9½:¼>Ð(JÐJÐJØ 1Ñ$�Køà�Ø"Ô2Ð7°aˆOÝ˜K¨Ñ9Ô9ˆIØ�xÔ ð Ý˜f™+œ+¨™/��ØÐ3Ô4ð Ý˜f™+œ+��à�ð �Ð>Ð>Ð>Ð>°vÐ>Ñ>Ô>Ñ?Ô?À'ÑIÑIˆIå ™KœKÐ,¨1ˆMà˜yÒ(Ð(à˜i™¨-Ñ7�Ø9Ð9Ð9Ð9°&Ð9Ñ9Ô9�Ý�v‘;”; Ò*Ð*Ø˜2�J�J”J )­c°&©k¬kÑ"9Ñ9�J�J‘JØ%�”��ð=	&ð 	&ð0 )Ð(r[   rª   c                ón   — |d         �	|d         }n|d         }|d         �	|d         }n|d         }||fS )Nr5   r4   r6   rZ   )rœ   r  ÚlpadÚrpads       r\   rr  zPrettyTable._get_padding_widthsQ  sR   € ØÐ'Ô(Ð4ØÐ/Ô0ˆDˆDà˜?Ô+ˆDØÐ(Ô)Ð5ØÐ0Ô1ˆDˆDà˜?Ô+ˆDØ�TˆzÐr[   c                ó‚  ‡‡— ‰d         r| j         ‰d         ‰d         …         }n| j         }ˆfd„|D ¦   «         }‰d         r]| j                             ‰d         ¦  «        Šˆfd„|D ¦   «         }|                     ‰d         ‰d         ¬	¦  «         d
„ |D ¦   «         }‰d         s|‰d         ‰d         …         }|S )zŸReturn only those data rows that should be printed, based on slicing and
        sorting.

        Arguments:

        options - dictionary of option settings.rA   r   r   c                ó6   •— g | ]} ‰d          |¦  «        ¯|‘ŒS )r%   rZ   )r²   r+  r  s     €r\   r�  z)PrettyTable._get_rows.<locals>.<listcomp>i  s.   ø€ ÐBÐBÐB˜Ð'< w¨|Ô'<¸SÑ'AÔ'AÐB�ÐBÐBÐBr[   r    c                ó(   •— g | ]}|‰         g|z   ‘ŒS rZ   rZ   )r²   r+  Ú	sortindexs     €r\   r�  z)PrettyTable._get_rows.<locals>.<listcomp>o  s%   ø€ Ð;Ð;Ð;¨s�S˜”^Ð$ sÑ*Ð;Ð;Ð;r[   r!   r#   )Úreverser    c                ó"   — g | ]}|d d…         ‘ŒS ©r^   NrZ   )r²   r+  s     r\   r�  z)PrettyTable._get_rows.<locals>.<listcomp>s  s    € Ð,Ð,Ð, �C˜˜˜”GÐ,Ð,Ð,r[   )r  r  r!  Úsort)rœ   r  ry  r‘  s    ` @r\   Ú	_get_rowszPrettyTable._get_rows\  sñ   øø€ ð �>Ô"ð 	Ø”:˜g gÔ.°¸´Ð?Ô@ˆDˆDà”:ˆDàBÐBÐBÐB˜tÐBÑBÔBˆð �8Ôð 	-ØÔ)×/Ò/°¸Ô0AÑBÔBˆIà;Ð;Ð;Ð;°dÐ;Ñ;Ô;ˆDà�IŠI˜g mÔ4¸'À*Ô:MˆIÑNÔNÐNà,Ð, tÐ,Ñ,Ô,ˆDð �~Ô&ð 	;Ø˜ Ô(¨7°5¬>Ð9Ô:ˆDàˆr[   c                ó„   — |d         r| j         |d         |d         …         }n| j         }|d         rd„ |D ¦   «         }|S )zŠReturn only those dividers that should be printed, based on slicing.

        Arguments:

        options - dictionary of option settings.rA   r   r   r    c                ó   — g | ]}d ‘ŒS )FrZ   )r²   r7  s     r\   r�  z-PrettyTable._get_dividers.<locals>.<listcomp>‡  s   € Ð6Ð6Ð6 '˜Ð6Ð6Ð6r[   r|  )rœ   r  r}  s      r\   Ú_get_dividerszPrettyTable._get_dividers{  sY   € ð �>Ô"ð 	&Ø”~ g¨gÔ&6¸À¼Ð&GÔHˆHˆHà”~ˆHà�8Ôð 	7Ø6Ð6¨XÐ6Ñ6Ô6ˆHàˆr[   c                óF   ‡ — ˆ fd„t          ‰ j        |¦  «        D ¦   «         S )Nc                óB   •— g | ]\  }}‰                      ||¦  «        ‘ŒS rZ   )ro  )r²   r‡  r¡   rœ   s      €r\   r�  z+PrettyTable._format_row.<locals>.<listcomp>Œ  s=   ø€ ð 
ð 
ð 
á�˜ð ×Ò˜u eÑ,Ô,ð
ð 
ð 
r[   ©r‘  r  )rœ   r+  s   ` r\   Ú_format_rowzPrettyTable._format_row‹  s;   ø€ ð
ð 
ð 
ð 
å"% dÔ&7¸Ñ"=Ô"=ð
ñ 
ô 
ð 	
r[   c                ó    ‡ — ˆ fd„|D ¦   «         S )Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rZ   )r�  ©r²   r+  rœ   s     €r\   r�  z,PrettyTable._format_rows.<locals>.<listcomp>’  s'   ø€ Ð6Ð6Ð6¨#�× Ò  Ñ%Ô%Ð6Ð6Ð6r[   rZ   )rœ   ry  s   ` r\   Ú_format_rowszPrettyTable._format_rows‘  s   ø€ Ø6Ð6Ð6Ð6°Ð6Ñ6Ô6Ð6r[   c           
     ó  ‡
‡— |                       |¦  «        }g }| j        dk    r|d         r|d         sdS |                      |¦  «        }|                      |¦  «        }|                      |¦  «        }|                      ||¦  «         |                      |¦  «        | _        |d         p| j        }|ru| j	        t          j        k    r*|                     |                      ||¦  «        ¦  «         n6|                     d„ |                     d¦  «        D ¦   «         dgz   ¦  «         |d         r)|                     |                      |¦  «        ¦  «         nÀ|d         r¸|d	         t"          j        t"          j        fv r˜|                     |                      |d
¬¦  «        ¦  «         |rl|d         t(          j        t(          j        fv rLt+          | j        ¦  «        Š
t+          | j        ¦  «        Š| j        |d         ‰
‰ …         z   | j        z   |d<   t1          |dd…         |dd…         ¦  «        D ]^\  }}	|                     |                      ||| j        ¦  «        ¦  «         |	r(|                     |                      |¦  «        ¦  «         Œ_|rE|                     |                      |d         ||                      |d¬¦  «        ¦  «        ¦  «         |d         r@|d	         t"          j        k    r*|                     |                      |d¬¦  «        ¦  «         d| j        v r>| j        r7t+          | j        ¦  «        Š
t+          | j        ¦  «        Šˆ
ˆfd„|D ¦   «         }d                     |¦  «        S )a¡  Return string representation of table in current state.

        Arguments:

        title - optional table title
        start - index of first data row to include in output
        end - index of last data row to include in output PLUS ONE (list slice style)
        fields - names of fields (columns) to include
        header - print a header showing field names (True or False)
        use_header_width - reflect width of header (True or False)
        border - print a border around the table (True or False)
        preserve_internal_border - print a border inside the table even if
            border is disabled (True or False)
        hrules - controls printing of horizontal rules after rows.
            Allowed values: HRuleStyle
        vrules - controls printing of vertical rules between columns.
            Allowed values: VRuleStyle
        int_format - controls formatting of integer data
        float_format - controls formatting of floating point data
        custom_format - controls formatting of any column using callable
        padding_width - number of spaces on either side of column data (only used if
            left and right paddings are None)
        left_padding_width - number of spaces on left hand side of column data
        right_padding_width - number of spaces on right hand side of column data
        vertical_char - single character string used to draw vertical lines
        horizontal_char - single character string used to draw horizontal lines
        horizontal_align_char - single character string used to indicate alignment
        header_horizontal_char - single character string used to draw the header
            separator, or None to use the same as horizontal_char
        junction_char - single character string used to draw line junctions
        top_junction_char - single character string used to draw top line junctions
        bottom_junction_char -
            single character string used to draw bottom line junctions
        right_junction_char - single character string used to draw right line junctions
        left_junction_char - single character string used to draw left line junctions
        top_right_junction_char -
            single character string used to draw top-right line junctions
        top_left_junction_char -
            single character string used to draw top-left line junctions
        bottom_right_junction_char -
            single character string used to draw bottom-right line junctions
        bottom_left_junction_char -
            single character string used to draw bottom-left line junctions
        sortby - name of field to sort rows by
        sort_key - sorting key function, applied to data points before sorting
        reversesort - True or False to sort in descending or ascending order
        row_filter - filter function applied on rows
        print empty - if True, stringify just the header for an empty table,
            if False return an empty stringr   r@   r   rd  r   c                ó   — g | ]}d |› d �‘Œ	S )z**rZ   r±   s     r\   r�  z*PrettyTable.get_string.<locals>.<listcomp>å  s    € ÐJÐJÐJ°˜m 4˜m˜m˜mÐJÐJÐJr[   r¬   r   r*   Útop_)Úwherer,   rg  NÚbottom_rð   c                ób   •— g | ]+}|                      d ¦  «        D ]}d|‰‰ …         z   dz   ‘ŒŒ,S )r¬   r   )rµ   )r²   Úold_lineÚnew_lineÚ
left_j_lenÚright_j_lens      €€r\   r�  z*PrettyTable.get_string.<locals>.<listcomp>	  sb   ø€ ð ð ð àØ (§¢¨tÑ 4Ô 4ðð ð ð �h˜z¨;¨,Ð6Ô7Ñ7¸#Ñ=ðð ð ð r[   )r  r  r–  r™  r¡  rŠ  Ú_stringify_hrulerò   rÇ   rï   rg   rt   r?  Ú_stringify_titleÚextendrµ   Ú_stringify_headerr)   rb   ra   r+   r¶   rE   rD   r‘  Ú_stringify_rowÚ__dict__rð   rP  )rœ   rž   r  r¸   ry  r}  Úformatted_rowsr   r+  r7  rª  r«  s             @@r\   r0  zPrettyTable.get_string˜  s»  øø€ ðf ×#Ò# FÑ+Ô+ˆàˆð Œ=˜AÒÐ w¨}Ô'=ÐÀWÈXÔEVÐØ�2ð �~Š~˜gÑ&Ô&ˆØ×%Ò% gÑ.Ô.ˆð ×*Ò*¨4Ñ0Ô0ˆð 	×Ò˜^¨WÑ5Ô5Ð5Ø×+Ò+¨GÑ4Ô4ˆŒð ˜Ô Ð/ D¤KˆØð 	SØŒ{�jÔ1Ò1Ð1Ø—’˜T×2Ò2°5¸'ÑBÔBÑCÔCÐCÐCà—’ÐJÐJ¸¿ºÀDÑ8IÔ8IÐJÑJÔJÈbÈTÑQÑRÔRÐRð �8Ôð 	Ø�LŠL˜×/Ò/°Ñ8Ô8Ñ9Ô9Ð9Ð9Ø�XÔð 	 7¨8Ô#4ÝŒNÝÔð9
ð $
ð $
ð �LŠL˜×.Ò.¨w¸fÐ.ÑEÔEÑFÔFÐFØð ˜ Ô*­z¬~½zÔ?OÐ.PÐPÐPÝ  Ô!8Ñ9Ô9�
Ý! $Ô":Ñ;Ô;�àÔ+Ø˜B”i 
¨K¨<Ð 7Ô8ñ9àÔ.ñ/ð �b‘	õ   ¨s°¨sÔ 3°X¸c¸r¸c´]ÑCÔCð 	=ð 	=‰LˆC�Ø�LŠL˜×,Ò,¨S°'¸4¼;ÑGÔGÑHÔHÐHØð =Ø—’˜T×2Ò2°7Ñ;Ô;Ñ<Ô<Ð<øØð 	Ø�LŠLØ×#Ò#Ø" 2Ô&ØØ×)Ò)¨'¸Ð)ÑCÔCñô ñô ð ð �8Ôð 	J ¨Ô!2µjÔ6FÒ!FÐ!FØ�LŠL˜×.Ò.¨w¸iÐ.ÑHÔHÑIÔIÐIà˜œÐ%Ð%¨$¬,Ð%Ý˜TÔ4Ñ5Ô5ˆJÝ˜dÔ6Ñ7Ô7ˆKðð ð ð ð à %ðñ ô ˆEð �yŠy˜ÑÔÐr[   rd  r¥  úLiteral['top_', 'bottom_', '']c                ó(  — |d         s
|d         sdS |                       |¦  «        \  }}|d         t          j        t          j        fv r||› d�         g}n	|d         g}| j        s3|                     ||› d�         ¦  «         d                     |¦  «        S t          | j        | j        ¦  «        D ]Ý\  }}|d         r||d         vrŒ||z   |z   |d         z  }| j	        rH| j
        |         d	v rd
| j	        z   |dd …         z   }| j
        |         dv r|d d…         | j	        z   d
z   }|                     |¦  «         |d         t          j        k    r|                     ||› d�         ¦  «         ŒÂ|                     |d         ¦  «         ŒÞ|d         t          j        t          j        fv r2|                     ¦   «          |                     ||› d�         ¦  «         |d         r|d         s
|dd…         }d                     |¦  «        S )Nr   r   rd  r,   rE   r9   rD   r   )rŠ   r‹   ú r_   )r‹   rŒ   éþÿÿÿr<   r^   rg  )rr  r+   rb   ra   r  r?  rP  r‘  rñ   rÞ   r¿   r’  )	rœ   r  r¥  rŒ  r�  rj  r‡  rº   r³   s	            r\   r¬  zPrettyTable._stringify_hrule	  sU  € ð �xÔ ð 	¨Ð1KÔ)Lð 	Ø�2Ø×-Ò-¨gÑ6Ô6‰
ˆˆdØ�8Ô¥¤µÔ1AÐ BÐBÐBØ˜uÐ8Ð8Ð8Ô9Ð:ˆDˆDàÐ-Ô.Ð/ˆDàÔ ð 	!Ø�KŠK˜ 5Ð =Ð =Ð =Ô>Ñ?Ô?Ð?Ø—7’7˜4‘=”=Ð Ý Ô 1°4´<Ñ@Ô@ð 	8ð 	8‰LˆE�5Ø�xÔ ð  U°'¸(Ô2CÐ%CÐ%CØà˜D‘L 4Ñ'¨7Ð3DÔ+EÑEˆDð Ô*ð IØ”;˜uÔ%¨Ð3Ð3Ø Ô!<Ñ<¸tÀAÀBÀB¼xÑG�DØ”;˜uÔ%¨Ð3Ð3Ø   œ9 tÔ'BÑBÀSÑH�Dà�KŠK˜ÑÔÐØ�xÔ ¥J¤NÒ2Ð2Ø—’˜G uÐ$;Ð$;Ð$;Ô<Ñ=Ô=Ð=Ð=à—’˜GÐ$5Ô6Ñ7Ô7Ð7Ð7Ø�8Ô¥¤µÔ1AÐ BÐBÐBØ�HŠH‰JŒJˆJØ�KŠK˜ 5Ð =Ð =Ð =Ô>Ñ?Ô?Ð?àÐ-Ô.ð 	°w¸xÔ7Hð 	Ø˜˜"˜”:ˆDà�wŠw�t‰}Œ}Ðr[   r   c           	     ó  ‡‡	— g }|d         r�|d         t           j        k    rHt           j        |d<   |                     |                      |d¦  «        ¦  «         t           j        |d<   n?|d         t           j        k    r)|                     |                      |d¦  «        ¦  «         |d         t           j        t           j        fv r|d         r|d         nd}|                      |¦  «        \  ŠŠ	t          ˆˆ	fd„| j        D ¦   «         ¦  «        }|                     d¦  «        D ]C}d‰z  |z   d‰	z  z   }|                     ||  	                    ||dz
  d	¦  «        z   |z   ¦  «         ŒDd 
                    |¦  «        S )
Nr   r,   r¤  r8   rµ  c                ó&   •— g | ]}|‰z   ‰z   d z   ‘ŒS r|  rZ   )r²   r=  rŒ  r�  s     €€r\   r�  z0PrettyTable._stringify_title.<locals>.<listcomp>N	  s&   ø€ ÐDÐDÐD°!˜!˜d™( T™/¨AÑ-ÐDÐDÐDr[   r¬   r^   r‹   )r+   rb   ra   r?  r¬  rr  rq  rñ   rµ   r  rP  )
rœ   r   r  r¸   ÚendpointÚ
sum_widthsÚ
title_lineÚpaddedrŒ  r�  s
           @@r\   r­  zPrettyTable._stringify_title>	  sŸ  øø€ ØˆØ�8Ôð 	EØ�xÔ ¥J¤NÒ2Ð2Ý$.Ô$4�˜Ñ!Ø—’˜T×2Ò2°7¸FÑCÔCÑDÔDÐDÝ$.¤N�˜Ñ!Ð!Ø˜Ô"¥jÔ&6Ò6Ð6Ø—’˜T×2Ò2°7¸FÑCÔCÑDÔDÐDð �xÔ ¥Z¤^µZÔ5EÐ$FÐFÐFØ˜Ô!ð Gð �OÔ$Ð$ð ð	 	ð ×-Ò-¨gÑ6Ô6‰
ˆˆdÝÐDÐDÐDÐDÐD°t´|ÐDÑDÔDÑEÔEˆ
ØŸ+š+ dÑ+Ô+ð 	ð 	ˆJØ˜4‘Z *Ñ,¨s°T©zÑ9ˆFØ�LŠLØ˜4Ÿ=š=¨°¸a±ÀÑEÔEÑEÈÑPñô ð ð ð �yŠy˜ÑÔÐr[   c           
     óv  — g }|                       |¦  «        \  }}|d         �r#|d         t          j        t          j        fv r²|                     |                      |d¦  «        ¦  «         |d         rl|d         t          j        t          j        fv rLt          | j        ¦  «        }t          | j	        ¦  «        }| j        |d         || …         z   | j	        z   |d<   |                     d¦  «         |d         t          j        t          j        fv r|                     |d         ¦  «         n|                     d	¦  «         | j
        sQ|d         t          j        t          j        fv r|                     |d         ¦  «         n|                     d	¦  «         t          | j
        | j        ¦  «        D �]Q\  }}|d
         r||d
         vrŒ| j        dk    r|                     ¦   «         }	nb| j        dk    r|                     ¦   «         }	nB| j        dk    r|                     ¦   «         }	n"| j        dk    r|                     ¦   «         }	n|}	t%          |	¦  «        |k    r
|	d |…         }	|                     d	|z  |                      |	|| j        |         ¦  «        z   d	|z  z   ¦  «         |d         s|d         rH|d         t          j        k    r|                     |d         ¦  «         �Œ<|                     d	¦  «         �ŒS|d         s1|d         r)|                     ¦   «          |                     d	¦  «         |d         rE|d         t          j        k    r/|                     ¦   «          |                     |d         ¦  «         |d         s|d         r„|d         t          j        k    rn|                     d¦  «         |d         r7i |¥d|d         i¥}
|                     |                      |
¦  «        ¦  «         n|                     | j        ¦  «         d                     |¦  «        S )Nr   r*   r¤  r   r,   rg  r¬   r8   rµ  r   r“   r”   r•   r   r;   r9   rd  )rr  r)   rb   ra   r?  r¬  r+   r¶   rE   rD   r  r‘  rñ   rÐ   Ú
capitalizer   r”   r•   r°   r  r¿   r’  rc   rò   rP  )rœ   r  rj  rŒ  r�  rª  r«  r‡  rº   rE  Úheader_optionss              r\   r¯  zPrettyTable._stringify_headerV	  s\  € ØˆØ×-Ò-¨gÑ6Ô6‰
ˆˆdØ�8Ôñ 	!Ø�xÔ ¥Z¤^µZÔ5EÐ$FÐFÐFØ—’˜D×1Ò1°'¸6ÑBÔBÑCÔCÐCØ˜7Ô#ð 
¨°Ô(9Ý”NÝÔ$ð>ð )ð )õ "% TÔ%<Ñ!=Ô!=�JÝ"% dÔ&>Ñ"?Ô"?�KàÔ/Ø˜rœ( :¨{¨lÐ#:Ô;ñ<àÔ2ñ3ð ˜‘Hð
 —’˜DÑ!Ô!Ð!Ø�xÔ ¥Z¤^µZÔ5EÐ$FÐFÐFØ—’˜G OÔ4Ñ5Ô5Ð5Ð5à—’˜CÑ Ô Ð àÔ ð 	!Ø�xÔ ¥Z¤^µZÔ5EÐ$FÐFÐFØ—’˜G OÔ4Ñ5Ô5Ð5Ð5à—’˜CÑ Ô Ð Ý Ô 1°4´<Ñ@Ô@ð 	%ñ 	%‰LˆE�5Ø�xÔ ð  U°'¸(Ô2CÐ%CÐ%CØØÔ! UÒ*Ð*Ø!×,Ò,Ñ.Ô.�	�	ØÔ# wÒ.Ð.Ø!ŸKšK™MœM�	�	ØÔ# wÒ.Ð.Ø!ŸKšK™MœM�	�	ØÔ# wÒ.Ð.Ø!ŸKšK™MœM�	�	à!�	Ý 	Ñ*Ô*¨UÒ2Ð2Ø% f u fÔ-�	Ø�KŠKØ�d‘
Ø—-’- 	¨5°$´+¸eÔ2DÑEÔEñFà˜‘*ññô ð ð
 �xÔ ð % GÐ,FÔ$Gð %Ø˜8Ô$­
¬Ò6Ð6Ø—K’K ¨Ô 8Ñ9Ô9Ð9Ñ9à—K’K Ñ$Ô$Ð$ùð �xÔ ð 	 WÐ-GÔ%Hð 	Ø�HŠH‰JŒJˆJØ�KŠK˜ÑÔÐð �8Ôð 	2 ¨Ô!2µjÔ6FÒ!FÐ!FØ�HŠH‰JŒJˆJØ�KŠK˜ Ô0Ñ1Ô1Ð1Ø�HÔð 	) Ð)CÔ!Dð 	)È'ØôK
åŒ_òKð Kð �KŠK˜ÑÔÐØÐ/Ô0ð )ð"Øð"à% wÐ/GÔ'Hð"ð "�ð —’˜D×1Ò1°.ÑAÔAÑBÔBÐBÐBà—’˜DœKÑ(Ô(Ð(Ø�wŠw�t‰}Œ}Ðr[   Úhrulec                ó¾  — dd l }t          t          t          |¦  «        ¦  «        | j        || j        ¦  «        D ]¼\  }}}}|                     d¦  «        }	g }
|	D ]}|dk    r| j                             |¦  «        x}�|}t          |¦  «        |k    r1d 
                    |                     |||d         ¬¦  «        ¦  «        }|
                     |¦  «         Œ€|
}	d 
                    |	¦  «        }|||<   Œ½t          d„ |D ¦   «         ¦  «        }g }|                      |¦  «        \  }}t          |¦  «        D ]{}|                     g ¦  «         |d         r\|d         t          j        t          j        fv r!||                              | j        ¦  «         Œ`||                              d	¦  «         Œ|t          | j        || j        ¦  «        D �]a\  }}}| j        |         }|                     d¦  «        }	|t          |	¦  «        z
  }|rS|d
k    r4dgt)          |dz  ¦  «        z  |	z   dg|t)          |dz  ¦  «        z
  z  z   }	n|dk    r
dg|z  |	z   }	n	|	dg|z  z   }	t+          |	¦  «        D ]Á\  }}|d         r||d         vrŒ||                              d	|z  |                      ||| j        |         ¦  «        z   d	|z  z   ¦  «         |d         s|d         rR|d         t          j        k    r!||                              | j        ¦  «         Œ¦||                              d	¦  «         ŒÂ�Œc|d         s=|d         r5|d                              ¦   «          |d                              d	¦  «         t          |¦  «        D ][}|d         rQ|d         t          j        k    r;||                              ¦   «          ||                              |d         ¦  «         Œ\|d         rR|d         t2          j        k    r<||dz
                                d¦  «         ||dz
                                |¦  «         d„ |D ¦   «         }d 
                    |¦  «        S )Nr   r¬   rö   rU   )rU   c              3  ó@   K  — | ]}t          |¦  «        d          V — ŒdS r”  rz  )r²   r‹   s     r\   r´   z-PrettyTable._stringify_row.<locals>.<genexpr>¾	  s,   è è € Ð6Ð6¨Q� 1™œ aœÐ6Ð6Ð6Ð6Ð6Ð6r[   r   r,   rµ  r�   rd  r_   r‘   r   r   rg  r8   r*   r^   c                ó8   — g | ]}d                       |¦  «        ‘ŒS ©rd  )rP  )r²   Úbits_ys     r\   r�  z.PrettyTable._stringify_row.<locals>.<listcomp>ú	  s"   € Ð7Ð7Ð7¨�B—G’G˜F‘O”OÐ7Ð7Ð7r[   )r  r‘  r>  r¶   r  rñ   rµ   rR   r£   r°   rP  Úwrapr?  r·   rr  r+   rb   ra   r8   rÀ   r   rM  r  r¿   r’  r)   )rœ   r+  r  rÀ  r  r!  r‡  r¡   rº   r¸   Ú	new_linesr³   r…  Ú
row_heightrj  rŒ  r�  ÚyrM   Úd_heightÚbits_strs                        r\   r°  zPrettyTable._stringify_row¤	  s½  € Øˆˆˆå*-Ý•#�c‘(”(‰OŒO˜TÔ.°°T´\ñ+
ô +
ð 	ð 	Ñ&ˆE�5˜% ð —K’K Ñ%Ô%ˆEØ#%ˆIØð 'ð '�à˜F’N�NØ%)Ô%5×%9Ò%9¸%Ñ%@Ô%@Ð@˜ÐMà#�DÝ# DÑ)Ô)¨EÒ1Ð1ØŸ9š9ØŸšØ  %¸'ÐBTÔ:Uð %ñ ô ñô �Dð
 × Ò  Ñ&Ô&Ð&Ð&ØˆEØ—I’I˜eÑ$Ô$ˆEØˆC�‰JˆJåÐ6Ð6°#Ð6Ñ6Ô6Ñ6Ô6ˆ
à "ˆØ×-Ò-¨gÑ6Ô6‰
ˆˆdÝ�zÑ"Ô"ð 	(ð 	(ˆAØ�KŠK˜‰OŒOˆOØ�xÔ ð (Ø˜8Ô$­¬½Ô9IÐ(JÐJÐJØ˜”G—N’N 4Ô#5Ñ6Ô6Ð6Ð6à˜”G—N’N 3Ñ'Ô'Ð'øå#& tÔ'8¸#¸t¼|Ñ#LÔ#Lð 	,ñ 	,ÑˆE�5˜%Ø”\ %Ô(ˆFØ—K’K Ñ%Ô%ˆEØ!¥C¨¡J¤JÑ.ˆHØð 
4Ø˜S’=�=à˜�s 8¨a¡<Ñ0Ô0Ñ0Øñ à˜$ (­S°¸A±Ñ->Ô->Ñ">Ñ?ñ@ð �Eð
 ˜s’]�]Ø˜D 8™O¨eÑ3�E�Eà! R D¨8¡OÑ3�Eå$ UÑ+Ô+ð ,ð ,‘��4Ø˜8Ô$ð ¨°g¸hÔ6GÐ)GÐ)GØà�Q”—’Ø˜$‘JØ—m’m D¨%°´¸UÔ1CÑDÔDñEà˜D‘jñ!ñô ð ð
 ˜8Ô$ð ,¨Ð0JÔ(Kð ,Ø˜xÔ(­J¬NÒ:Ð:Ø˜QœŸš tÔ'9Ñ:Ô:Ð:Ð:à˜QœŸš sÑ+Ô+Ð+øñ,ð" �xÔ ð 	! WÐ-GÔ%Hð 	!Ø�ŒH�LŠL‰NŒNˆNØ�ŒH�OŠO˜CÑ Ô Ð õ �zÑ"Ô"ð 	9ð 	9ˆAØ�xÔ ð 9 W¨XÔ%6½*Ô:JÒ%JÐ%JØ�Q”—’‘”�Ø�Q”—’˜w Ô7Ñ8Ô8Ð8øà�8Ôð 	/ ¨Ô!2µj´nÒ!DÐ!DØ�˜a‘Ô ×'Ò'¨Ñ-Ô-Ð-Ø�˜a‘Ô ×'Ò'¨Ñ.Ô.Ð.à7Ð7°$Ð7Ñ7Ô7ˆØ�yŠy˜Ñ"Ô"Ð"r[   é:   úÚpage_lengthÚ
line_breakc                óN  — g }|                      dd¦  «        |d<   |                      d| j        ¦  «        }	 t          |d         |z   |¦  «        |d<   |                      | j        di |¤Ž¦  «         |d         |k    rn|dxx         |z  cc<   ŒZ|                     |¦  «        S )a*  Return string representation of table split into pages.

        Arguments:

        page_length - number of rows per page (default: 58)
        line_break - string used to separate pages (default: "" form feed)
        **kwargs - additional keyword arguments passed to get_string() method,
            such as title, fields, header, border, etc.

        The table is split into pages of the specified length, with each page
        separated by the line_break character. All formatting options available
        in get_string() can be used via kwargs.r   r   r   TrZ   )r£   r  rƒ  r?  r0  rP  )rœ   rÎ  rÏ  rž   ÚpagesÚtrue_ends         r\   ÚpaginatezPrettyTable.paginateý	  s»   € ð ˆØ Ÿ*š* W¨aÑ0Ô0ˆˆw‰Ø—:’:˜e T¤]Ñ3Ô3ˆð	+Ý  w¤°+Ñ =¸xÑHÔHˆF�5‰MØ�LŠL˜˜œÐ2Ð2¨6Ð2Ð2Ñ3Ô3Ð3Ø�eŒ} Ò(Ð(ØØ�7ˆOˆOŒO˜{Ñ*ˆOˆO‰Oð	+ð �Š˜uÑ%Ô%Ð%r[   c                óZ  ‡ ‡	— ddl }ddl}‰                      |¦  «        Š	ˆ	fd„|                     ¦   «         D ¦   «         }|                     ¦   «         } |j        |fi |¤Ž}‰	                     d¦  «        rI‰	d         r'|                     ˆ	fd„‰ j        D ¦   «         ¦  «         n|                     ‰ j        ¦  «         ‰  	                    ‰  
                    ‰	¦  «        ¦  «        }‰	d         rˆ	ˆ fd„|D ¦   «         }|D ]}|                     |¦  «         Œ|                     ¦   «         S )a´  Return string representation of CSV formatted table in the current state

        Keyword arguments are first interpreted as table formatting options, and
        then any unused keyword arguments are passed to csv.writer(). For
        example, get_csv_string(header=False, delimiter='	') would use
        header as a PrettyTable formatting option (skip the header row) and
        delimiter as a csv.writer keyword argument.
        r   Nc                ó$   •— i | ]\  }}|‰v¯	||“ŒS rZ   rZ   ©r²   r    r¡   r  s      €r\   ú
<dictcomp>z.PrettyTable.get_csv_string.<locals>.<dictcomp>%
  s0   ø€ ð 
ð 
ð 
Ù%˜3 ¸3ÀgÐ;MÐ;MˆC�Ð;MÐ;MÐ;Mr[   r   r   c                ó(   •— g | ]}|‰d          v ¯|‘ŒS ©r   rZ   ©r²   rh  r  s     €r\   r�  z.PrettyTable.get_csv_string.<locals>.<listcomp>.
  s(   ø€ ÐLÐLÐL˜1°Q¸'À(Ô:KÐ5KÐ5K�QÐ5KÐ5KÐ5Kr[   c                óR   •— g | ]#}ˆfd „t          ‰j        |¦  «        D ¦   «         ‘Œ$S )c                ó.   •— g | ]\  }}|‰d          v ¯|‘ŒS rÙ  rZ   ©r²   rh  rj  r  s      €r\   r�  z9PrettyTable.get_csv_string.<locals>.<listcomp>.<listcomp>6
  s,   ø€ ÐUÐUÐU‘t�q˜!¸aÀ7È8ÔCTÐ>TÐ>T�Ð>TÐ>TÐ>Tr[   rœ  ©r²   r+  r  rœ   s     €€r\   r�  z.PrettyTable.get_csv_string.<locals>.<listcomp>5
  sK   ø€ ð ð ð àð VÐUÐUÐU�s 4Ô#4°cÑ:Ô:ÐUÑUÔUðð ð r[   )r`  Úior  rG  ÚStringIOÚwriterr£   Úwriterowr  r¡  r–  Úgetvalue)
rœ   rž   r`  rß  Úcsv_optionsÚ
csv_bufferÚ
csv_writerry  r+  r  s
   `        @r\   rd  zPrettyTable.get_csv_string
  s‡  øø€ ð 	ˆ
ˆ
ˆ
Øˆ	ˆ	ˆ	à×#Ò# FÑ+Ô+ˆð
ð 
ð 
ð 
Ø)/¯ª©¬ð
ñ 
ô 
ˆð —[’[‘]”]ˆ
Ø�S”Z 
Ð:Ð:¨kÐ:Ð:ˆ
à�;Š;�xÑ Ô ð 	7Ø�xÔ ð 7Ø×#Ò#ØLÐLÐLÐL Ô 1ÐLÑLÔLñô ð ð ð ×#Ò# DÔ$5Ñ6Ô6Ð6à× Ò  §¢°Ñ!8Ô!8Ñ9Ô9ˆØ�8Ôð 	ðð ð ð ð àðñ ô ˆDð ð 	%ð 	%ˆCØ×Ò Ñ$Ô$Ð$Ð$à×"Ò"Ñ$Ô$Ð$r[   c                óH  ‡ ‡— ddl }‰                      |¦  «        Šddddœ}|                     ˆfd„|                     ¦   «         D ¦   «         ¦  «         g }‰                     d¦  «        rI‰d	         r'|                     ˆfd
„‰ j        D ¦   «         ¦  «         n|                     ‰ j        ¦  «         ‰                      ‰¦  «        }‰d	         r#| 	                    ˆˆ fd„|D ¦   «         ¦  «         n!| 	                    ˆ fd„|D ¦   «         ¦  «          |j
        |fi |¤ŽS )a®  Return string representation of JSON formatted table in the current state

        Keyword arguments are first interpreted as table formatting options, and
        then any unused keyword arguments are passed to json.dumps(). For
        example, get_json_string(header=False, indent=2) would use header as
        a PrettyTable formatting option (skip the header row) and indent as a
        json.dumps keyword argument.
        r   Né   )ú,r`  T)ÚindentÚ
separatorsÚ	sort_keysc                ó$   •— i | ]\  }}|‰v¯	||“ŒS rZ   rZ   rÖ  s      €r\   r×  z/PrettyTable.get_json_string.<locals>.<dictcomp>S
  s)   ø€ ÐOÐOÐO™J˜C ¸CÀwÐ<NÐ<NˆS�%Ð<NÐ<NÐ<Nr[   r   r   c                ó(   •— g | ]}|‰d          v ¯|‘ŒS rÙ  rZ   rÚ  s     €r\   r�  z/PrettyTable.get_json_string.<locals>.<listcomp>Y
  s(   ø€ ÐWÐWÐW aÀÀWÈXÔEVÐ@VÐ@V Ð@VÐ@VÐ@Vr[   c              3  óZ   •K  — | ]%}ˆfd „t          ‰j        |¦  «        D ¦   «         V — Œ&dS )c                ó0   •— i | ]\  }}|‰d          v ¯||“ŒS rÙ  rZ   rÝ  s      €r\   r×  z9PrettyTable.get_json_string.<locals>.<genexpr>.<dictcomp>_
  s.   ø€ ÐXÐXÐX™$˜!˜QÀÀgÈhÔFWÐAWÐAW��AÐAWÐAWÐAWr[   Nrœ  rÞ  s     €€r\   r´   z.PrettyTable.get_json_string.<locals>.<genexpr>^
  sY   øè è € ð ð àð YÐXÐXÐX¥# dÔ&7¸Ñ"=Ô"=ÐXÑXÔXðð ð ð ð ð r[   c              3  ó\   •K  — | ]&}t          t          ‰j        |¦  «        ¦  «        V — Œ'd S r®   )rv  r‘  r  r   s     €r\   r´   z.PrettyTable.get_json_string.<locals>.<genexpr>c
  s8   øè è € ÐMÐMÀ�4¥ DÔ$5°sÑ ;Ô ;Ñ<Ô<ÐMÐMÐMÐMÐMÐMr[   )r_  r  ÚupdaterG  r£   r?  r  rô   r–  r®  Údumps)rœ   rž   r_  Újson_optionsÚobjectsry  r  s   `     @r\   rc  zPrettyTable.get_json_stringA
  s‚  øø€ ð 	ˆˆˆà×#Ò# FÑ+Ô+ˆàØ%Øð(
ð (
ˆð
 	×ÒØOÐOÐOÐO¨&¯,ª,©.¬.ÐOÑOÔOñ	
ô 	
ð 	
ð 57ˆà�;Š;�xÑ Ô ð 	1Ø�xÔ ð 1Ø—’ÐWÐWÐWÐW¨4Ô+<ÐWÑWÔWÑXÔXÐXÐXà—’˜tÔ/Ñ0Ô0Ð0Ø�~Š~˜gÑ&Ô&ˆØ�8Ôð 	NØ�NŠNð ð ð ð ð àðñ ô ñ ô ð ð ð
 �NŠNÐMÐMÐMÐMÈÐMÑMÔMÑMÔMÐMàˆtŒz˜'Ð2Ð2 \Ð2Ð2Ð2r[   c                ó–   — |                       |¦  «        }|d         r|                      |¦  «        }n|                      |¦  «        }|S )aé  Return string representation of HTML formatted version of table in current
        state.

        Arguments:

        title - optional table title
        start - index of first data row to include in output
        end - index of last data row to include in output PLUS ONE (list slice style)
        fields - names of fields (columns) to include
        header - print a header showing field names (True or False)
        escape_header - escapes the text within a header (True or False)
        border - print a border around the table (True or False)
        preserve_internal_border - print a border inside the table even if
            border is disabled (True or False)
        hrules - controls printing of horizontal rules after rows.
            Allowed values: HRuleStyle
        vrules - controls printing of vertical rules between columns.
            Allowed values: VRuleStyle
        int_format - controls formatting of integer data
        float_format - controls formatting of floating point data
        custom_format - controls formatting of any column using callable
        padding_width - number of spaces on either side of column data (only used if
            left and right paddings are None)
        left_padding_width - number of spaces on left hand side of column data
        right_padding_width - number of spaces on right hand side of column data
        sortby - name of field to sort rows by
        sort_key - sorting key function, applied to data points before sorting
        row_filter - filter function applied on rows
        attributes - dictionary of name/value pairs to include as HTML attributes in the
            <table> tag
        format - Controls whether or not HTML tables are formatted to match
            styling options (True or False)
        escape_data - escapes the text within a data field (True or False)
        xhtml - print <br/> tags if True, <br> tags if False
        break_on_hyphens - Whether long lines are broken on hyphens or not, default: True
        r(   )r  Ú_get_formatted_html_stringÚ_get_simple_html_string©rœ   rž   r  Ústrings       r\   r7  zPrettyTable.get_html_stringk
  sR   € ðL ×#Ò# FÑ+Ô+ˆà�8Ôð 	;Ø×4Ò4°WÑ=Ô=ˆFˆFà×1Ò1°'Ñ:Ô:ˆFàˆr[   c           
     óÎ  — ddl m} g }|d         rd}nd}dg}|d         rN|d                              ¦   «         D ]3\  }}|                     d ||¦  «        › d	 ||¦  «        › d
�¦  «         Œ4|                     d¦  «         |                     d                     |¦  «        ¦  «         |d         p| j        }|r8 ||¦  «                             d|¦  «        }	|                     d|	› d�¦  «         |d         rÀ|                     d¦  «         |                     d¦  «         | j        D ]d}
|d         r|
|d         vrŒ|d         r ||
¦  «        }
|                     d                     |
                     d|¦  «        ¦  «        ¦  «         Œe|                     d¦  «         |                     d¦  «         |                     d¦  «         |  	                    |¦  «        }|  
                    |¦  «        }|D ]©}|                     d¦  «         t          | j        |¦  «        D ]g\  }
}|d         r|
|d         vrŒ|d         r ||¦  «        }|                     d                     |                     d|¦  «        ¦  «        ¦  «         Œh|                     d¦  «         Œª|                     d¦  «         |                     d¦  «         d                     |¦  «        S )Nr   ©Úescaper?   ú<br/>ú<br>ú<tabler'   rµ  ú="ú"ú>rd  r   r¬   ú    <caption>ú
</caption>r   ú    <thead>ú        <tr>r   rS   z            <th>{}</th>ú        </tr>ú    </thead>ú    <tbody>rT   z            <td>{}</td>ú    </tbody>ú</table>)r^  rý  rG  r?  rP  rÇ   Úreplacer  r(   r–  r¡  r‘  )rœ   r  rý  r¸   Ú	linebreakÚopen_tagÚ	attr_nameÚ
attr_valuer   Úcaptionr‡  ry  r²  r+  Údatums                  r\   rø  z#PrettyTable._get_simple_html_stringš
  sH  € ØÐÐÐÐÐàˆØ�7Ôð 	ØˆIˆIàˆIà�:ˆØ�<Ô ð 	PØ)0°Ô)>×)DÒ)DÑ)FÔ)Fð Pð PÑ%�	˜:Ø—’Ð N F F¨9Ñ$5Ô$5Ð NÐ N¸¸À
Ñ9KÔ9KÐ NÐ NÐ NÑOÔOÐOÐOØ�Š˜ÑÔÐØ�Š�R—W’W˜XÑ&Ô&Ñ'Ô'Ð'ð ˜Ô Ð/ D¤KˆØð 	>Ø�f˜U‘m”m×+Ò+¨D°)Ñ<Ô<ˆGØ�LŠLÐ<¨Ð<Ð<Ð<Ñ=Ô=Ð=ð �8Ôð 	)Ø�LŠL˜Ñ'Ô'Ð'Ø�LŠL˜Ñ(Ô(Ð(ØÔ*ð ð �Ø˜8Ô$ð ¨°g¸hÔ6GÐ)GÐ)GØØ˜?Ô+ð *Ø"˜F 5™MœM�Eà—’Ø-×4Ò4°U·]²]À4ÈÑ5SÔ5SÑTÔTñô ð ð ð �LŠL˜Ñ)Ô)Ð)Ø�LŠL˜Ñ(Ô(Ð(ð 	�Š�]Ñ#Ô#Ð#Ø�~Š~˜gÑ&Ô&ˆØ×*Ò*¨4Ñ0Ô0ˆØ!ð 	*ð 	*ˆCØ�LŠL˜Ñ(Ô(Ð(Ý # DÔ$5°sÑ ;Ô ;ð ð ‘��uØ˜8Ô$ð ¨°g¸hÔ6GÐ)GÐ)GØØ˜=Ô)ð *Ø"˜F 5™MœM�Eà—’Ø-×4Ò4°U·]²]À4ÈÑ5SÔ5SÑTÔTñô ð ð ð �LŠL˜Ñ)Ô)Ð)Ð)Ø�Š�^Ñ$Ô$Ð$Ø�Š�ZÑ Ô Ð à�yŠy˜ÑÔÐr[   c                óŒ	  ‡ — ddl m} g }‰                      |¦  «        \  }}|d         rd}nd}dg}|d         �rv|d         t          j        k    r-|d	         t
          j        k    r|                     d
¦  «         �n3|d         t          j        k    r,|d	         t
          j        k    r|                     d¦  «         nñ|d         t          j        k    r,|d	         t
          j        k    r|                     d¦  «         n¯|d         t          j        k    r|                     d¦  «         nƒ|d         t          j        k    r|                     d¦  «         nW|d	         t
          j        k    r|                     d¦  «         n+|d	         t
          j        k    r|                     d¦  «         |d         s|d         r|                     d¦  «         |d         rN|d                              ¦   «         D ]3\  }}	|                     d ||¦  «        › d ||	¦  «        › d�¦  «         Œ4|                     d¦  «         |                     d 	                    |¦  «        ¦  «         |d         p‰ j
        }
|
r8 ||
¦  «                             d|¦  «        }|                     d|› d�¦  «         |d         r¹|                     d¦  «         |                     d¦  «         ‰ j        D ]]}|d          r||d          vrŒ|d!         r ||¦  «        }|                     d|¦  «        }|                     d"|› d#|› d$|› d%�¦  «         Œ^|                     d&¦  «         |                     d'¦  «         |                     d(¦  «         ‰                      |¦  «        }‰                      |¦  «        }ˆ fd)„‰ j        D ¦   «         }ˆ fd*„‰ j        D ¦   «         }|D ]¬}|                     d¦  «         t          ‰ j        |||¦  «        D ]h\  }}}}|d          r||d          vrŒ|d+         r ||¦  «        }|                     d|¦  «        }|                     d,|› d#|› d-|› d.|› d/|› d0�¦  «         Œi|                     d&¦  «         Œ­|                     d1¦  «         |                     d2¦  «         d 	                    |¦  «        S )3Nr   rü  r?   rþ  rÿ  r   r   r*   r,   z frame="box" rules="all"z frame="box"z frame="box" rules="cols"z frame="hsides"z frame="hsides" rules="rows"z frame="vsides"z frame="vsides" rules="cols"r   z rules="cols"r'   rµ  r  r  r  rd  r   r¬   r  r  r   r  r  r   rS   z%            <th style="padding-left: zem; padding-right: zem; text-align: center">z</th>r  r	  r
  c                ó>   •— g | ]}d dddœ‰j         |                  ‘ŒS )ÚleftÚrightr  )rŠ   rŒ   r‹   r›  ©r²   r‡  rœ   s     €r\   r�  z:PrettyTable._get_formatted_html_string.<locals>.<listcomp>  s?   ø€ ð 
ð 
ð 
àð ˜w¨XÐ6Ð6°t´{À5Ô7IÔJð
ð 
ð 
r[   c                ó>   •— g | ]}d dddœ‰j         |                  ‘ŒS )ÚtopÚmiddleÚbottomrŽ   r   r  s     €r\   r�  z:PrettyTable._get_formatted_html_string.<locals>.<listcomp>#  s?   ø€ ð 
ð 
ð 
àð ˜h¨XÐ6Ð6°t´|ÀEÔ7JÔKð
ð 
ð 
r[   rT   z%            <td style="padding-left: zem; text-align: z; vertical-align: z">z</td>r  r  )r^  rý  rr  r)   rb   r+   r?  ra   rG  rP  rÇ   r  r  r–  r¡  r‘  )rœ   r  rý  r¸   rŒ  r�  r  r  r  r  r   r  r‡  Úcontentry  r²  ÚalignsÚvalignsr+  r  rK   rM   s   `                     r\   r÷  z&PrettyTable._get_formatted_html_stringÖ
  sÉ  ø€ ØÐÐÐÐÐàˆØ×-Ò-¨gÑ6Ô6‰
ˆˆdØ�7Ôð 	ØˆIˆIàˆIà�:ˆØ�8Ôñ 	@à˜Ô!¥Z¤^Ò3Ð3Ø˜HÔ%­¬Ò7Ð7à—’Ð :Ñ;Ô;Ð;Ñ;à˜Ô!¥ZÔ%5Ò5Ð5Ø˜HÔ%­Ô)9Ò9Ð9à—’ Ñ/Ô/Ð/Ð/à˜Ô!¥ZÔ%5Ò5Ð5Ø˜HÔ%­¬Ò7Ð7à—’Ð ;Ñ<Ô<Ð<Ð<Ø˜Ô"¥jÔ&6Ò6Ð6Ø—’Ð 1Ñ2Ô2Ð2Ð2Ø˜Ô"¥j¤nÒ4Ð4Ø—’Ð >Ñ?Ô?Ð?Ð?Ø˜Ô"¥jÔ&6Ò6Ð6Ø—’Ð 1Ñ2Ô2Ð2Ð2Ø˜Ô"¥j¤nÒ4Ð4Ø—’Ð >Ñ?Ô?Ð?Ø�xÔ ð 	- WÐ-GÔ%Hð 	-Ø�OŠO˜OÑ,Ô,Ð,Ø�<Ô ð 	PØ)0°Ô)>×)DÒ)DÑ)FÔ)Fð Pð PÑ%�	˜:Ø—’Ð N F F¨9Ñ$5Ô$5Ð NÐ N¸¸À
Ñ9KÔ9KÐ NÐ NÐ NÑOÔOÐOÐOØ�Š˜ÑÔÐØ�Š�R—W’W˜XÑ&Ô&Ñ'Ô'Ð'ð ˜Ô Ð/ D¤KˆØð 	>Ø�f˜U‘m”m×+Ò+¨D°)Ñ<Ô<ˆGØ�LŠLÐ<¨Ð<Ð<Ð<Ñ=Ô=Ð=ð �8Ôð 	)Ø�LŠL˜Ñ'Ô'Ð'Ø�LŠL˜Ñ(Ô(Ð(ØÔ*ð ð �Ø˜8Ô$ð ¨°g¸hÔ6GÐ)GÐ)GØØ˜?Ô+ð *Ø"˜F 5™MœM�EàŸ-š-¨¨iÑ8Ô8�Ø—’ð:Ø%)ð:ð :à&*ð:ð :ð ,3ð:ð :ð :ñô ð ð ð �LŠL˜Ñ)Ô)Ð)Ø�LŠL˜Ñ(Ô(Ð(ð 	�Š�]Ñ#Ô#Ð#Ø�~Š~˜gÑ&Ô&ˆØ×*Ò*¨4Ñ0Ô0ˆð
ð 
ð 
ð 
àÔ*ð
ñ 
ô 
ˆð
ð 
ð 
ð 
àÔ*ð
ñ 
ô 
ˆð "ð 	*ð 	*ˆCØ�LŠL˜Ñ(Ô(Ð(Ý/2ØÔ! 3¨°ñ0ô 0ð ð Ñ+��u˜e Vð ˜8Ô$ð ¨°g¸hÔ6GÐ)GÐ)GØØ˜=Ô)ð *Ø"˜F 5™MœM�EàŸ-š-¨¨iÑ8Ô8�Ø—’ð@Ø%)ð@ð @à&*ð@ð @ð $)ð@ð @ð (.ð	@ð @ð 29ð	@ð @ð @ñô ð ð ð �LŠL˜Ñ)Ô)Ð)Ð)Ø�Š�^Ñ$Ô$Ð$Ø�Š�ZÑ Ô Ð à�yŠy˜ÑÔÐr[   c                ó–   — |                       |¦  «        }|d         r|                      |¦  «        }n|                      |¦  «        }|S )a½  Return string representation of LaTex formatted version of table in current
        state.

        Arguments:

        start - index of first data row to include in output
        end - index of last data row to include in output PLUS ONE (list slice style)
        fields - names of fields (columns) to include
        header - print a header showing field names (True or False)
        border - print a border around the table (True or False)
        preserve_internal_border - print a border inside the table even if
            border is disabled (True or False)
        hrules - controls printing of horizontal rules after rows.
            Allowed values: HRuleStyle
        vrules - controls printing of vertical rules between columns.
            Allowed values: VRuleStyle
        int_format - controls formatting of integer data
        float_format - controls formatting of floating point data
        sortby - name of field to sort rows by
        sort_key - sorting key function, applied to data points before sorting
        row_filter - filter function applied on rows
        format - Controls whether or not HTML tables are formatted to match
            styling options (True or False)
        r(   )r  Ú_get_formatted_latex_stringÚ_get_simple_latex_stringrù  s       r\   re  zPrettyTable.get_latex_stringC  sQ   € ð2 ×#Ò# FÑ+Ô+ˆà�8Ôð 	<Ø×5Ò5°gÑ>Ô>ˆFˆFà×2Ò2°7Ñ;Ô;ˆFØˆr[   c                óz  ‡ ‡‡	— g }‰d         rˆfd„‰ j         D ¦   «         Š	n‰ j         Š	d                     ˆ fd„‰	D ¦   «         ¦  «        }d|› d�}|                     |¦  «         ‰d         r+|                     d                     ‰	¦  «        d	z   ¦  «         ‰                      ‰¦  «        }‰                      |¦  «        }|D ]N}ˆ	fd
„t          ‰ j         |¦  «        D ¦   «         }|                     d                     |¦  «        d	z   ¦  «         ŒO|                     d¦  «         d                     |¦  «        S )Nr   c                ó(   •— g | ]}|‰d          v ¯|‘ŒS rÙ  rZ   ©r²   r‡  r  s     €r\   r�  z8PrettyTable._get_simple_latex_string.<locals>.<listcomp>h  ó/   ø€ ð ð ð Ø¸ÀÈÔARÐ8RÐ8R�Ð8RÐ8RÐ8Rr[   rd  c                ó*   •— g | ]}‰j         |         ‘ŒS rZ   r›  r  s     €r\   r�  z8PrettyTable._get_simple_latex_string.<locals>.<listcomp>n  s    ø€ ÐLÐLÐL°U˜dœk¨%Ô0ÐLÐLÐLr[   ú\begin{tabular}{Ú}r   ú & ú \\c                ó"   •— g | ]\  }}|‰v ¯	|‘ŒS rZ   rZ   ©r²   rh  rj  Úwanted_fieldss      €r\   r�  z8PrettyTable._get_simple_latex_string.<locals>.<listcomp>{  ó.   ø€ ð ð ð Ù�a˜¸QÀ-Ð=OÐ=O�Ð=OÐ=OÐ=Or[   ú\end{tabular}ú
)r  rP  r?  r–  r¡  r‘  )
rœ   r  r¸   Ú
alignmentsÚ	begin_cmdry  r²  r+  Úwanted_datar.  s
   ``       @r\   r"  z$PrettyTable._get_simple_latex_stringd  s  øøø€ Øˆà�8Ôð 	.ðð ð ð Ø#'Ô#4ðñ ô ˆMˆMð !Ô-ˆMà—W’WÐLÐLÐLÐL¸mÐLÑLÔLÑMÔMˆ
à9¨:Ð9Ð9Ð9ˆ	Ø�Š�YÑÔÐð �8Ôð 	=Ø�LŠL˜Ÿš MÑ2Ô2°VÑ;Ñ<Ô<Ð<ð �~Š~˜gÑ&Ô&ˆØ×*Ò*¨4Ñ0Ô0ˆØ!ð 	;ð 	;ˆCðð ð ð Ý! $Ô"3°SÑ9Ô9ðñ ô ˆKð �LŠL˜Ÿš KÑ0Ô0°6Ñ9Ñ:Ô:Ð:Ð:à�ŠÐ%Ñ&Ô&Ð&à�{Š{˜5Ñ!Ô!Ð!r[   c                ó^  ‡ ‡‡
— g }‰d         rˆfd„‰ j         D ¦   «         Š
n‰ j         Š
ˆ fd„‰
D ¦   «         }‰d         r,‰d         t          j        k    rd                     |¦  «        }n;‰d         s‰d         rd                     |¦  «        }nd                     |¦  «        }‰d         r&‰d         t          j        t          j        fv rd|› d�}d	|› d
�}|                     |¦  «         ‰d         r5‰d         t          j        t          j        fv r|                     d¦  «         ‰d         r+|                     d                     ‰
¦  «        dz   ¦  «         ‰d         s‰d         r5‰d         t          j        t          j        fv r|                     d¦  «         ‰                      ‰¦  «        }‰  	                    |¦  «        }|D ]�}ˆ
fd„t          ‰ j         |¦  «        D ¦   «         }	|                     d                     |	¦  «        dz   ¦  «         ‰d         r+‰d         t          j        k    r|                     d¦  «         Œ‚‰d         r+‰d         t          j        k    r|                     d¦  «         |                     d¦  «         d                     |¦  «        S )Nr   c                ó(   •— g | ]}|‰d          v ¯|‘ŒS rÙ  rZ   r%  s     €r\   r�  z;PrettyTable._get_formatted_latex_string.<locals>.<listcomp>ˆ  r&  r[   c                ó*   •— g | ]}‰j         |         ‘ŒS rZ   r›  r  s     €r\   r�  z;PrettyTable._get_formatted_latex_string.<locals>.<listcomp>Ž  s    ø€ ÐKÐKÐK°E˜Tœ[¨Ô/ÐKÐKÐKr[   r   r,   r   r   rd  r(  r)  r*   z\hliner   r*  r+  c                ó"   •— g | ]\  }}|‰v ¯	|‘ŒS rZ   rZ   r-  s      €r\   r�  z;PrettyTable._get_formatted_latex_string.<locals>.<listcomp>°  r/  r[   r0  r1  )r  r+   rb   rP  ra   r?  r)   rd   r–  r¡  r‘  )rœ   r  r¸   Úwanted_alignmentsÚalignment_strr3  ry  r²  r+  r4  r.  s   ``        @r\   r!  z'PrettyTable._get_formatted_latex_string„  s  øøø€ Øˆà�8Ôð 	.ðð ð ð Ø#'Ô#4ðñ ô ˆMˆMð !Ô-ˆMàKÐKÐKÐK¸]ÐKÑKÔKÐØ�8Ôð 	7 ¨Ô!2µj´nÒ!DÐ!DØŸHšHÐ%6Ñ7Ô7ˆMˆMØ˜Ô"ð 	7 wÐ/IÔ'Jð 	7ØŸHšHÐ%6Ñ7Ô7ˆMˆMàŸGšGÐ$5Ñ6Ô6ˆMà�8Ôð 	1 ¨Ô!2ÝŒNÝÔð7
ð "
ð "
ð 1 Ð0Ð0Ð0ˆMà<¨=Ð<Ð<Ð<ˆ	Ø�Š�YÑÔÐØ�8Ôð 	$ ¨Ô!2ÝŒNÝÔð7
ð "
ð "
ð �LŠL˜Ñ#Ô#Ð#ð �8Ôð 	=Ø�LŠL˜Ÿš MÑ2Ô2°VÑ;Ñ<Ô<Ð<Ø�HÔð 	$ Ð)CÔ!Dð 	$È'ØôK
åŒn�jÔ/Ð0ðK1ð K1ð �LŠL˜Ñ#Ô#Ð#ð �~Š~˜gÑ&Ô&ˆØ×*Ò*¨4Ñ0Ô0ˆØ!ð 	(ð 	(ˆCðð ð ð Ý! $Ô"3°SÑ9Ô9ðñ ô ˆKð �LŠL˜Ÿš KÑ0Ô0°6Ñ9Ñ:Ô:Ð:Ø�xÔ ð ( W¨XÔ%6½*¼.Ò%HÐ%HØ—’˜YÑ'Ô'Ð'øà�8Ôð 	$ ¨Ô!2µjÔ6FÒ!FÐ!FØ�LŠL˜Ñ#Ô#Ð#à�ŠÐ%Ñ&Ô&Ð&à�{Š{˜5Ñ!Ô!Ð!r[   c                óJ  ‡— |                       |¦  «        }g }|                     d¦  «        }|r_t          |t          ¦  «        rJd                     d„ |                     ¦   «         D ¦   «         ¦  «        }|                     d|› �¦  «         n|                     d¦  «         |                     d| j        ¦  «        }|r|                     d|› �¦  «         |                     d¦  «        Š|                     d	¦  «        ra|                     d
¦  «         ‰€| j        }nˆfd„| j        D ¦   «         }|r-d                     |¦  «        }|                     d|› �¦  «         |  	                    |¦  «        }	|  
                    |	¦  «        }
|
D ]j}|                     d
¦  «         ‰€|}n!ˆfd„t          | j        |¦  «        D ¦   «         }|r+|                     dd                     |¦  «        z   ¦  «         Œk|                     d¦  «         d                     |¦  «        S )a–  
        Return string representation of the table in MediaWiki table markup.
        The generated markup follows simple MediaWiki syntax. For example:
            {| class="wikitable"
            |+ Optional caption
            |-
            ! Header1 !! Header2 !! Header3
            |-
            | Data1 || Data2 || Data3
            |-
            | Data4 || Data5 || Data6
            |}
        r'   rµ  c              3  ó,   K  — | ]\  }}|› d |› d�V — ŒdS )r  r  NrZ   )r²   rK  rl  s      r\   r´   z3PrettyTable.get_mediawiki_string.<locals>.<genexpr>Ö  s2   è è € ÐSÐS±°°A 1  ¨   ÐSÐSÐSÐSÐSÐSr[   z{| z{| class="wikitable"r   z|+ r   r   ú|-Nc                ó   •— g | ]}|‰v ¯|‘Œ	S rZ   rZ   )r²   r‡  Úfields_options     €r\   r�  z4PrettyTable.get_mediawiki_string.<locals>.<listcomp>å  s*   ø€ ð ð ð Ø#¸EÀ]Ð<RÐ<R�EÐ<RÐ<RÐ<Rr[   z !! z! c                ó"   •— g | ]\  }}|‰v ¯	|‘ŒS rZ   rZ   )r²   r‡  Úcellr?  s      €r\   r�  z4PrettyTable.get_mediawiki_string.<locals>.<listcomp>ó  s2   ø€ ð ð ð á#˜˜tØ Ð-Ð-ð à-Ð-Ð-r[   z| z || ú|}r¬   )r  r£   r&  rv  rP  rG  r?  rÇ   r  r–  r¡  r‘  )rœ   rž   r  r¸   Úattributes_optionÚattr_strr  ÚheadersÚheader_linery  r²  r+  Úcellsr?  s                @r\   rf  z PrettyTable.get_mediawiki_stringÂ  s]  ø€ ð ×#Ò# FÑ+Ô+ˆØˆà#ŸKšK¨Ñ5Ô5ÐØð 	1¥Ð,=½tÑ!DÔ!Dð 	1Ø—x’xÐSÐSÐ9J×9PÒ9PÑ9RÔ9RÐSÑSÔSÑSÔSˆHØ�LŠLÐ* Ð*Ð*Ñ+Ô+Ð+Ð+à�LŠLÐ/Ñ0Ô0Ð0à—+’+˜g t¤{Ñ3Ô3ˆØð 	*Ø�LŠL˜˜w˜˜Ñ)Ô)Ð)àŸš HÑ-Ô-ˆØ�;Š;�xÑ Ô ð 
	1Ø�LŠL˜ÑÔÐØÐ$ØÔ+��ðð ð ð Ø'+Ô'8ðñ ô �ð ð 1Ø$Ÿkšk¨'Ñ2Ô2�Ø—’Ð/ +Ð/Ð/Ñ0Ô0Ð0à�~Š~˜gÑ&Ô&ˆØ×*Ò*¨4Ñ0Ô0ˆØ!ð 	8ð 	8ˆCØ�LŠL˜ÑÔÐØÐ$Ø��ðð ð ð å'*¨4Ô+<¸cÑ'BÔ'Bðñ ô �ð
 ð 8Ø—’˜T F§K¢K°Ñ$6Ô$6Ñ6Ñ7Ô7Ð7øà�Š�TÑÔÐØ�yŠy˜ÑÔÐr[   r®   )rô   rõ   r©   rö   ©r©   rö   )r¨   r7   rº   r   rK   r�   r©   r7   )r!  r"  r©   r½   )r©   r7   )r©   rw  )r©   rz  )r©   r   )rJ  r   r©   rö   )r©   r‚  )rJ  rQ   )r©   r‰  )rJ  r‹  r©   rö   )r©   rJ   )rJ  rœ  r©   rö   )r©   rL   )rJ  r¡  r©   rö   )r©   rÁ   )rJ  rN   r©   rö   )r©   r   )rJ  r   r©   rö   )r©   r   )rJ  r´  r©   rö   )r©   r   )rJ  r7   r©   rö   )r©   r   )rJ  r   r©   rö   )r©   r"   )rJ  r"   r©   rö   )r©   r$   )rJ  r$   r©   rö   )r©   r=   )rJ  r=   r©   rö   )r©   r)   )rJ  r)   r©   rö   )r©   r+   )rJ  r+   r©   rö   )r©   r&   )rJ  r-   r©   rö   )r©   r×   )rJ  r0   )rJ  r&   r©   rö   )rž   r  r©   r   )r  rg   r©   rö   )ry  r8  r7  r   r©   rö   )r+  rˆ   r7  r   r©   rö   )r@  r   r©   rö   )r‹   r�   )
rE  r7   rF  r‹  rK   r�   rM   r’   r©   rö   )rJ  )rE  r7   r©   rö   )r©   r   )r¨   )r\  r7   r©   r7   )r‡  r7   r¡   r   r©   r7   )ry  rv  r  r   r©   rö   )r  r   r©   rª   )r  r   r©   rw  )r  r   r©   rz  )r+  rˆ   r©   r‰  )ry  rw  r©   rv  rÄ  )r  r   r¥  r³  r©   r7   )r   r7   r  r   r©   r7   )r  r   r©   r7   )r+  r‰  r  r   rÀ  r7   r©   r7   )rÌ  rÍ  )rÎ  r   rÏ  r7   r©   r7   )†rV   rW   rX   rY   rš   r  r  r   r-  r2  r5  r8  r  r;  r<  rD  rZ  r]  r=  rC  rE  rF  r?  r@  rA  r>  rB  rH  rI  Úpropertyry  r}  r?   ÚsetterrR   rô   r
  rK   r  rM   r  rP   r  rO   r2   r3   r   r   r   r   r    r!   r#   r%   r   r   r>   r   r   r*   r,   r.   r/   r  r	  r1   r4   r5   r6   r8   r9   r:   r;   r<   rB   rC   rD   rE   rF   rG   rH   rI   r(   r@   r'   rA   rS   rT   rU   r  r#  r  r  r!  r  r  r  r  r   r"  r:  r(  rB  rD  rI  rN  rT  rV  r…  rZ  rg  ro  ru  rŠ  rr  r–  r™  r�  r¡  r0  r¬  r­  r¯  r°  rÓ  rd  rc  r7  rø  r÷  re  r"  r!  rf  rZ   r[   r\   r½   r½   ¿   sð  € € € € € € Ø€L€L�LØ Ð Ð Ñ Ø"Ð"Ð"Ñ"ØÐÐÑØÐÐÑØ Ð Ð Ñ Ø Ð Ð Ñ Ø(Ð(Ð(Ñ(ØÐÐÑØ€K€K�KØÐÐÑØÐÐÑØÐÐÑØ:Ð:Ð:Ñ:Ø*Ð*Ð*Ñ*Ø€M€M�MØÐÐÑØ"Ð"Ð"Ñ"Ø€M€M�MØ#Ð#Ð#Ñ#ØÐÐÑØÐÐÑØÐÐÑØ!Ð!Ð!Ñ!Ø8Ð8Ð8Ñ8ØÐÐÑØ#Ð#Ð#Ñ#Ø$Ð$Ð$Ñ$ØÐÐÑØÐÐÑØ&Ð&Ð&Ñ&Ø'Ð'Ð'Ñ'ØÐÐÑØ"Ð"Ð"Ñ"Ø%Ð%Ð%Ñ%Ø$Ð$Ð$Ñ$Ø#Ð#Ð#Ñ#Ø(Ð(Ð(Ñ(Ø'Ð'Ð'Ñ'Ø+Ð+Ð+Ñ+Ø*Ð*Ð*Ñ*Ø€M€M�MØÐÐÑØÐÐÑØÐÐÑØÐÐÑØÐÐÑØÐÐÑØ€M€M�MØÐÐÑØ€K€K�KØÐÐÑñr*ñ r*ð r*ð r*ð r*ñhð ð ð ñ /ð /ð /ð /ð'ð 'ð 'ñð ð ð ñ!ð !ð !ð !ñ!ð !ð !ð !ñ&ð &ð &ð &ñ(D3ð D3ð D3ð D3ðL"ð "ð "ð6!ð !ð !ð"ð "ð "ð"ð "ð "ð"ð "ð "ð"ð "ð "ð"ð "ð "ð"ð "ð "ð"ð "ð "ð$"ð "ð "ð"ð "ð "ð"ð "ð "ð"ð "ð "ð"ð "ð "ð"ð "ð "ð!ð !ð !ð ñð ð ñ „Xðð ñ!ð !ð !ñ „Xð!ð ñð ð ñ „Xðð „\ñð ð ñ „\ðð ñ!ð !ð !ñ „Xð!ð Ôñ&ð &ð &ñ Ôð&ð( ñ!ð !ð !ñ „Xð!ð Ôñð ð ñ Ôðð<(ð (ð (ð ñð ð ñ „Xðð „\ñ2ð 2ð 2ñ „\ð2ð )ð )ð )ð ñð ð ñ „Xðð „]ñ*ð *ð *ñ „]ð*ð6ð 6ð 6ð ñð ð ñ „Xðð Ôñ$ð $ð $ñ Ôð$ð6ð 6ð 6ð ñð ð ñ „Xðð Ôñ$ð $ð $ñ Ôð$ð ñ%ð %ð %ñ „Xð%ð Ôñ$ð $ð $ñ Ôð$ð ñ%ð %ð %ñ „Xð%ð Ôñ$ð $ð $ñ Ôð$ð ñð ð ñ „Xðð „]ñð ð ñ „]ðð ñð ð ñ „Xðð „\ñð ð ñ „\ðð ñð ð ñ „Xðð „\ñð ð ñ „\ðð ñð ð ñ „Xðð 	„Zñð ð ñ „Zðð ñð ð ñ „Xðð „]ñð ð ñ „]ðð ñ!ð !ð !ñ „Xð!ð Ôñ ð  ð  ñ Ôð ð ñð ð ñ „Xðð „_ñð ð ñ „_ðð ñ ð  ð  ñ „Xð ð Ôñð ð ñ Ôðð ñð ð ñ „Xðð „]ñð ð ñ „]ðð ñ&ð &ð &ñ „Xð&ð Ôñ%ð %ð %ñ Ôð%ð ñ"ð "ð "ñ „Xð"ð Ôñ!ð !ð !ñ Ôð!ð ñð ð ñ „Xðð „]ñð ð ñ „]ðð ñ.ð .ð .ñ „Xð.ð Ô$ñ-ð -ð -ñ %Ô$ð-ð ñð ð ñ „Xðð „]ñð ð ñ „]ðð ñð ð ñ „Xðð „]ñð ð ñ „]ðð ñ ð  ð  ñ „Xð ð Ôñ
%ð 
%ð 
%ñ Ôð
%ð ñ"ð "ð "ñ „Xð"ð Ôñ
'ð 
'ð 
'ñ Ôð
'ð0ð 0ð 0ð.ð .ð .ð& ñ#ð #ð #ñ „Xð#ð Ôñ!ð !ð !ñ Ôð!ð: ñ#ð #ð #ñ „Xð#ð Ôñ"ð "ð "ñ Ôð"ð ñ(ð (ð (ñ „Xð(ð Ôñ'ð 'ð 'ñ Ôð'ð ñ)ð )ð )ñ „Xð)ð Ôñ(ð (ð (ñ  Ôð(ð ñ#ð #ð #ñ „Xð#ð Ôñ"ð "ð "ñ Ôð"ð
 ñ%ð %ð %ñ „Xð%ð Ôñ$ð $ð $ñ Ôð$ð
 ñAð Að Añ „XðAð Ô!ñ*ð *ð *ñ "Ô!ð*ð
 ñ,ð ,ð ,ñ „Xð,ð Ô"ñ+ð +ð +ñ #Ô"ð+ð ñ#ð #ð #ñ „Xð#ð Ôñ"ð "ð "ñ Ôð"ð
 ñ=ð =ð =ñ „Xð=ð Ôñ&ð &ð &ñ Ôð&ð
 ñ@ð @ð @ñ „Xð@ð Ô ñ)ð )ð )ñ !Ô ð)ð
 ñ?ð ?ð ?ñ „Xð?ð Ôñ(ð (ð (ñ  Ôð(ð
 ñ>ð >ð >ñ „Xð>ð Ôñ'ð 'ð 'ñ Ôð'ð
 ñCð Cð Cñ „XðCð Ô#ñ,ð ,ð ,ñ $Ô#ð,ð
 ñBð Bð Bñ „XðBð Ô"ñ+ð +ð +ñ #Ô"ð+ð
 ñFð Fð Fñ „XðFð  Ô&ñ/ð /ð /ñ 'Ô&ð/ð
 ñEð Eð Eñ „XðEð Ô%ñ.ð .ð .ñ &Ô%ð.ð
 ñð ð ñ „Xðð „]ñð ð ñ „]ðð ñ!ð !ð !ñ „Xð!ð Ôñ ð  ð  ñ Ôð ð ñ ð  ð  ñ „Xð ð Ôñð ð ñ Ôðð ñ"ð "ð "ñ „Xð"ð Ôñ!ð !ð !ñ Ôð!ð ñ#ð #ð #ñ „Xð#ð Ôñ"ð "ð "ñ Ôð"ð ñ!ð !ð !ñ „Xð!ð Ôñ ð  ð  ñ Ôð ð ñ&ð &ð &ñ „Xð&ð Ôñ%ð %ð %ñ Ôð%ñ,ð ,ð ,ð ,ñ"ð "ð "ð "ñ.ð ð ð ñ	*ð 	*ð 	*ð 	*ñ*ð *ð *ð *ñ/ð /ð /ð /ñ,!ð !ð !ð !ñ%ð %ð %ð %ñ/ð /ð /ð /ñ/ð /ð /ð /ñEð Eð Eð Eð& DIð 4ð 4ñ 4ð 4ð 4ð 4ð  8=ð 'ð 'ñ 'ð 'ð 'ð 'ñ&&ð &ð &ð &ñ &ð &ð &ð &ð Ø ñ#"ñ #"ñ #"ð #"ð #"ñJ!ñ !ñ !ð !ð !ññ ð ð ñ*ñ ð ð ññ ð ð ñ#ñ #ð #ð #ñ
ñ ñ ð ð ñ<4ñ 4ð 4ð 4ñ*ñ ð ð ñM&ñ M&ð M&ð M&ñ^	ñ 	ð 	ð 	ññ ð ð ñ>ñ ð ð ñ 
ñ 
ð 
ð 
ñ7ñ 7ð 7ð 7ñ{ ñ { ð { ð { ð| MOñ'ñ 'ñ 'ð 'ð 'ñR ñ  ð  ð  ñ0Lñ Lð Lð Lñ\W#ñ W#ð W#ð W#ñr&ñ &ñ &ð &ð &ñ6$%ñ $%ð $%ð $%ñR$3ñ $3ð $3ð $3ñT-ñ -ð -ð -ñ^: ñ : ð : ð : ñxg ñ g ð g ð g ñZñ ð ð ñB"ñ "ð "ð "ñ@8"ñ 8"ð 8"ð 8"ñ|: ñ : ð : ð : ð : ð : r[   r½   rJ  r   c                ó4   — dd l }|                     | ¦  «        S rY  )r  rº   )rJ  r  s     r\   r°   r°     s   € à€N€N€Nà�=Š=˜ÑÔÐr[   rô   rõ   c                óð  — dd l }i }dD ]}||v r|                     |¦  «        ||<   Œ|r |j        | fi |¤Ž}ne|                     ¦   «                              |                      d¦  «        ¦  «        }|                      d¦  «         |                     | |¦  «        }t          di |¤Ž}|r||_        nd„ t          |¦  «        D ¦   «         |_        |D ]!}	| 
                    d„ |	D ¦   «         ¦  «         Œ"|S )Nr   )Ú	delimiterÚdoublequoteÚ
escapecharÚlineterminatorÚ	quotecharÚquotingÚskipinitialspaceÚstricti   c                ó6   — g | ]}|                      ¦   «         ‘ŒS rZ   ©Ústripr�  s     r\   r�  zfrom_csv.<locals>.<listcomp>+  s    € Ð=Ð=Ð=¨1˜QŸWšW™YœYÐ=Ð=Ð=r[   c                ó6   — g | ]}|                      ¦   «         ‘ŒS rZ   rV  r�  s     r\   r�  zfrom_csv.<locals>.<listcomp>.  s    € Ð.Ð.Ð. Q�q—w’w‘y”yÐ.Ð.Ð.r[   rZ   )r`  r’  ÚreaderÚSnifferÚsniffÚreadÚseekr½   rô   Únextr(  )
Úfprô   rž   r`  Ú	fmtparamsÚparamrY  ÚdialectÚtabler+  s
             r\   Úfrom_csvrd    s'  € Ø€J€J€Jà€Ið	ð 1ð 1ˆð �Fˆ?ˆ?Ø%Ÿzšz¨%Ñ0Ô0ˆI�eÑøØð )Ø�”˜BÐ,Ð, )Ð,Ð,ˆˆà—+’+‘-”-×%Ò% b§g¢g¨d¡m¤mÑ4Ô4ˆØ
�Š�‰
Œ
ˆ
Ø—’˜B Ñ(Ô(ˆåÐ!Ð!˜&Ð!Ð!€EØð >Ø'ˆÔÐà=Ð=µ°V±´Ð=Ñ=Ô=ˆÔàð 0ð 0ˆØ�ŠÐ.Ð.¨#Ð.Ñ.Ô.Ñ/Ô/Ð/Ð/à€Lr[   Úcursorr   úPrettyTable | Nonec                ó´   — | j         rPt          di |¤Ž}d„ | j         D ¦   «         |_        |                      ¦   «         D ]}|                     |¦  «         Œ|S d S )Nc                ó   — g | ]
}|d          ‘ŒS ry  rZ   )r²   Úcols     r\   r�  z"from_db_cursor.<locals>.<listcomp>6  s   € ÐBÐBÐB¨˜S œVÐBÐBÐBr[   rZ   )Údescriptionr½   rô   Úfetchallr(  )re  rž   rc  r+  s       r\   Úfrom_db_cursorrl  3  sq   € ØÔð ÝÐ%Ð%˜fÐ%Ð%ˆØBÐB¨vÔ/AÐBÑBÔBˆÔØ—?’?Ñ$Ô$ð 	ð 	ˆCØ�MŠM˜#ÑÔÐÐØˆØˆ4r[   Újson_stringústr | bytesc                óÖ   ‡— dd l }t          di |¤Ž}|                     | ¦  «        }|d         |_        |dd …         D ]*Šˆfd„|j        D ¦   «         }|                     |¦  «         Œ+|S )Nr   r^   c                ó    •— g | ]
}‰|         ‘ŒS rZ   rZ   )r²   r    Úobjs     €r\   r�  zfrom_json.<locals>.<listcomp>D  s   ø€ Ð5Ð5Ð5˜Cˆs�3ŒxÐ5Ð5Ð5r[   rZ   )r_  r½   Úloadsrô   r(  )rm  rž   r_  rc  rõ  r+  rq  s         @r\   Ú	from_jsonrs  =  s‰   ø€ Ø€K€K€KåÐ!Ð!˜&Ð!Ð!€EØ�jŠj˜Ñ%Ô%€GØ œ
€EÔØ�q�r�rŒ{ð ð ˆØ5Ð5Ð5Ð5 5Ô#4Ð5Ñ5Ô5ˆØ�Š�cÑÔÐÐØ€Lr[   c                 ó4   ‡— ddl mŠ  G ˆfd„d‰¦  «        } | S )Nr   ©Ú
HTMLParserc                  óD   •— e Zd Zdˆ fd„Zdd„Zdd	„Zdd„Zdd„Zdd„ZdS )ú*_make_table_handler.<locals>._TableHandlerr©   rö   c                ó°   •— ‰                      | ¦  «         || _        g | _        g | _        g | _        d| _        d | _        d| _        d| _        d| _	        d S )Nr   rd  F)
rš   rž   ÚtablesÚlast_rowry  Úmax_row_widthÚactiveÚlast_contentÚis_last_row_headerÚcolspan)rœ   rž   rv  s     €r\   rš   z3_make_table_handler.<locals>._TableHandler.__init__M  s]   ø€ Ø×Ò Ñ%Ô%Ð%Ø ˆDŒKØ-/ˆDŒKØ')ˆDŒMØ68ˆDŒIØ!"ˆDÔØ&*ˆDŒKØ "ˆDÔØ&+ˆDÔ#ØˆDŒLˆLˆLr[   Útagr7   Úattrsúlist[tuple[str, str | None]]c                ór   — || _         |dk    rd| _        |D ]\  }}|dk    rt          |¦  «        | _        Œ d S )NÚthTr€  )r}  r  r   r€  )rœ   r�  r‚  r    r¡   s        r\   Úhandle_starttagz:_make_table_handler.<locals>._TableHandler.handle_starttagY  sR   € ð ˆDŒKØ�dŠ{ˆ{Ø*.�Ô'Ø#ð .ð .‘
��UØ˜)Ò#Ð#Ý#& u¡:¤:�D”Løð.ð .r[   c                ó^  — |dv rs| j                              ¦   «         }| j                             |¦  «         | j        r9t          d| j        ¦  «        D ]}| j                             d¦  «         Œd| _        |dk    r`| j                             | j        | j        f¦  «         t          | j	        t          | j        ¦  «        ¦  «        | _	        g | _        d| _        |dk    r;|                      | j        ¦  «        }| j                             |¦  «         g | _        d| _         d | _        d S )	N)r…  Útdr^   rd  r   ÚtrFrc  rµ  )r~  rW  r{  r?  r€  r>  ry  r  r·   r|  r¶   Úgenerate_tablerz  r}  )rœ   r�  Ústripped_contentr$  rc  s        r\   Úhandle_endtagz8_make_table_handler.<locals>._TableHandler.handle_endtagc  s#  € Ø�lÐ"Ð"Ø#'Ô#4×#:Ò#:Ñ#<Ô#<Ð Ø”×$Ò$Ð%5Ñ6Ô6Ð6Ø”<ð %Ý" 1 d¤lÑ3Ô3ð 1ð 1˜Øœ×,Ò,¨RÑ0Ô0Ð0Ð0Ø#$�D”Là�dŠ{ˆ{Ø”	× Ò  $¤-°Ô1HÐ!IÑJÔJÐJÝ%(¨Ô);½SÀÄÑ=OÔ=OÑ%PÔ%P�Ô"Ø "�”Ø*/�Ô'Ø�gŠ~ˆ~Ø×+Ò+¨D¬IÑ6Ô6�Ø”×"Ò" 5Ñ)Ô)Ð)Ø�”	Ø #ˆDÔØˆDŒKˆKˆKr[   Údatac                ó&   — | xj         |z  c_         d S r®   )r~  )rœ   r�  s     r\   Úhandle_dataz6_make_table_handler.<locals>._TableHandler.handle_datax  s   € ØÐÔ Ñ%ÐÔÐÐr[   ry  úlist[tuple[list[str], bool]]r½   c                ó¦  — t          di | j        ¤Ž}| j        D ]·}t          |d         ¦  «        | j        k     rK| j        t          |d         ¦  «        z
  }t          d|¦  «        D ]}|d                              d¦  «         Œ|d         r)|                      |d         ¦  «         |d         |_        Œœ| 	                    |d         ¦  «         Œ¸|S )zM
            Generates from a list of rows a PrettyTable object.
            r   r^   r  rZ   )
r½   rž   ry  r¶   r|  r>  r?  Úmake_fields_uniquerô   r(  )rœ   ry  rc  r+  ÚappendsrH  s         r\   rŠ  z9_make_table_handler.<locals>._TableHandler.generate_table{  sÜ   € õ  Ð.Ð. $¤+Ð.Ð.ˆEØ”yð 
*ð 
*�Ý�s˜1”v‘;”; Ô!3Ò3Ð3Ø"Ô0µ3°s¸1´v±;´;Ñ>�GÝ" 1 gÑ.Ô.ð +ð +˜Ø˜AœŸš cÑ*Ô*Ð*Ð*à�q”6ð *Ø×+Ò+¨C°¬FÑ3Ô3Ð3Ø(+¨A¬�EÔ%Ð%à—M’M # a¤&Ñ)Ô)Ð)Ð)ØˆLr[   r   r‰  c                óÎ   — t          t          |¦  «        ¦  «        D ]G}t          |dz   t          |¦  «        ¦  «        D ]$}||         ||         k    r||xx         dz  cc<   Œ%ŒHdS )zJ
            iterates over the row and make each field unique
            r^   ú'N)r>  r¶   )rœ   r   rH  Újs       r\   r’  z=_make_table_handler.<locals>._TableHandler.make_fields_unique�  s}   € õ �3˜v™;œ;Ñ'Ô'ð )ð )�Ý˜q 1™u¥c¨&¡k¤kÑ2Ô2ð )ð )�AØ˜a”y F¨1¤IÒ-Ð-Ø˜q˜	˜	œ	 SÑ(˜	˜	™	øð)ð)ð )r[   NrH  )r�  r7   r‚  rƒ  r©   rö   )r�  r7   r©   rö   )r�  r7   r©   rö   )ry  r�  r©   r½   )r   r‰  r©   rö   )	rV   rW   rX   rš   r†  rŒ  r�  rŠ  r’  ru  s   €r\   Ú_TableHandlerrx  L  s—   ø€ € € € € ð
	ð 
	ð 
	ð 
	ð 
	ð 
	ð	.ð 	.ð 	.ð 	.ð	ð 	ð 	ð 	ð*	&ð 	&ð 	&ð 	&ð	ð 	ð 	ð 	ð$	)ð 	)ð 	)ð 	)ð 	)ð 	)r[   r—  )Úhtml.parserrv  )r—  rv  s    @r\   Ú_make_table_handlerr™  I  s\   ø€ Ø&Ð&Ð&Ð&Ð&Ð&ðH)ð H)ð H)ð H)ð H)ð H)ð H)˜
ñ H)ô H)ð H)ðT Ðr[   c                  ó   — e Zd ZdZdd„ZdS )ÚTableHandlerz3Deprecated: use from_html or from_html_one instead.r©   rö   c                óŽ   — dd l }|                     dt          d¬¦  «         t          ¦   «         }|| _         |j        | fi |¤Ž d S )Nr   zoTableHandler is deprecated and will be removed in a future release. Use from_html() or from_html_one() instead.r_   ©Ú
stacklevel)ÚwarningsÚwarnÚDeprecationWarningr™  rŸ   rš   )rœ   rž   rŸ  Úclss       r\   rš   zTableHandler.__init__œ  se   € Øˆˆˆà�Šð:åØð	 	ñ 	
ô 	
ð 	
õ "Ñ#Ô#ˆØˆŒØˆŒ�TÐ$Ð$˜VÐ$Ð$Ð$Ð$Ð$r[   NrH  )rV   rW   rX   r¦   rš   rZ   r[   r\   r›  r›  ™  s.   € € € € € Ø=Ð=ð%ð %ð %ð %ð %ð %r[   r›  Ú	html_codeúlist[PrettyTable]c                ób   —  t          ¦   «         di |¤Ž}|                     | ¦  «         |j        S )zƒ
    Generates a list of PrettyTables from a string of HTML code. Each <table> in
    the HTML becomes one PrettyTable object.
    rZ   )r™  Úfeedrz  )r£  rž   Úparsers      r\   Ú	from_htmlr¨  ª  s:   € ð
 #Õ Ñ"Ô"Ð,Ð, VÐ,Ð,€FØ
‡K‚K�	ÑÔÐØŒ=Ðr[   c                ó˜   — t          | fi |¤Ž}	 t          |¦  «        dk    sJ ‚n# t          $ r d}t          |¦  «        ‚w xY w|d         S )ze
    Generates a PrettyTable from a string of HTML code which contains only a
    single <table>
    r^   zCMore than one <table> in provided HTML code. Use from_html instead.r   )r¨  r¶   rP  rQ  )r£  rž   rz  r,  s       r\   Úfrom_html_onerª  ´  sp   € õ �yÐ+Ð+ FÐ+Ð+€FðÝ�6‰{Œ{˜aÒÐÐÐÐøÝð ð ð ØSˆÝ˜‰oŒoÐðøøøð �!Œ9Ðs	   �% ¥AÚ	wiki_textc                óV  — |                       ¦   «                              d¦  «        }t          di |¤Ž}d}g }d}|D �]}|                      ¦   «         }|                     d¦  «        rd}Œ/|                     d¦  «        r nÈ|sŒI|                     d¦  «        rŒ_|                     d¦  «        rŒu|                     d	¦  «        r/d
„ |dd…                              d¦  «        D ¦   «         }||_        Œ¹|                     d¦  «        r>d„ |dd…                              d¦  «        D ¦   «         }|                     |¦  «         �Œ�Œ|rL|D ]H}	t          |	¦  «        t          |¦  «        k    rd}
t          |
¦  «        ‚|                     |	¦  «         ŒInd}t          |¦  «        ‚|S )zî
    Returns a PrettyTable instance from simple MediaWiki table markup.
    Note that the table should have a header row.
    Arguments:
    wiki_text -- Multiline string containing MediaWiki table markup
    (Enter within '''   ''')
    r¬   NFz{|TrB  r=  z|+ú!c                ó6   — g | ]}|                      ¦   «         ‘ŒS rZ   rV  ©r²   rA  s     r\   r�  z"from_mediawiki.<locals>.<listcomp>Þ  s    € ÐDÐDÐD t�d—j’j‘l”lÐDÐDÐDr[   r^   z!!r   c                ó6   — g | ]}|                      ¦   «         ‘ŒS rZ   rV  r¯  s     r\   r�  z"from_mediawiki.<locals>.<listcomp>â  s    € ÐFÐFÐF¨˜Ÿ
š
™œÐFÐFÐFr[   z||z,Row length mismatch between header and body.z-No valid header found in the MediaWiki table.rZ   )	rW  rµ   r½   Ú
startswithrô   r?  r¶   rQ  r(  )r«  rž   r¸   rc  r   ry  Úinside_tabler³   Úrow_datar+  Úerror_messager,  s               r\   Úfrom_mediawikirµ  Ã  sÝ  € ð �OŠOÑÔ×#Ò# DÑ)Ô)€EÝÐ!Ð!˜&Ð!Ð!€EØ€FØ€DØ€LØð ñ ˆØ�zŠz‰|Œ|ˆØ�?Š?˜4Ñ Ô ð 	ØˆLØØ�?Š?˜4Ñ Ô ð 	ØˆEØð 	ØØ�?Š?˜4Ñ Ô ð 	ØØ�?Š?˜4Ñ Ô ð 	ØØ�?Š?˜3ÑÔð 	ØDÐD¨t°A°B°B¬x¯~ª~¸dÑ/CÔ/CÐDÑDÔDˆFØ &ˆEÔØØ�?Š?˜3ÑÔð 	ØFÐF°°a°b°b´·²ÀÑ1EÔ1EÐFÑFÔFˆHØ�KŠK˜Ñ!Ô!Ð!Ùñ	ð
 ð Øð 	ð 	ˆCÝ�3‰xŒx�3˜v™;œ;Ò&Ð&Ø N�Ý  Ñ/Ô/Ð/Ø�MŠM˜#ÑÔÐÐð		ð >ˆÝ˜‰oŒoÐØ€Lr[   r  Úmodule_globalsúdict[str, Any]c                óâ   — |                      d| › �¦  «        x}€dt          › d| › d�}t          |¦  «        ‚||| <   | dv rd| › d�}nd| › d�}d	d l}|                     |t
          d
¬¦  «         |S )NÚ_DEPRECATED_zmodule 'z' has no attribute 'r•  >   rb   rc   ra   rd   zthe 'zM' constant is deprecated, use the 'HRuleStyle' and 'VRuleStyle' enums insteadz;' constant is deprecated, use the 'TableStyle' enum insteadr   r`   r�  )r£   rV   r  rŸ  r   r¡  )r  r¶  rJ  r,  rŸ  s        r\   Ú_warn_deprecationrº  ò  s»   € Ø×!Ò!Ð"7°Ð"7Ð"7Ñ8Ô8Ð8ˆÐAØ>�Ð>Ð>°tÐ>Ð>Ð>ˆÝ˜SÑ!Ô!Ð!Ø€N�4ÑØÐ1Ð1Ð1ðB�Dð Bð Bð Bð 	ˆð
 X�dÐWÐWÐWˆà€O€O€Oà‡M‚M�#Õ)°a€MÑ8Ô8Ð8Ø€Jr[   c                óØ   — | dk    rHdd l }ddlm} |                     dt          d¬¦  «          G d„ d|¦  «        }|t          ¦   «         | <   |S t          | t          ¦   «         ¬¦  «        S )	Nr   r   )r   zAOptionsType is deprecated and will be removed in a future releaser_   r�  c                  ó   — e Zd ZdS )ú __getattr__.<locals>.OptionsTypeN)rV   rW   rX   rZ   r[   r\   r   r½    s   € € € € € ØˆDr[   )r¶  )rŸ  Útypingr   r   r¡  Úglobalsrº  )r  rŸ  r   r   s       r\   r   r     s¢   € Øˆ}ÒÐØˆˆˆØ$Ð$Ð$Ð$Ð$Ð$à�ŠØOÝØð 	ñ 	
ô 	
ð 	
ð	ð 	ð 	ð 	ð 	˜)ñ 	ô 	ð 	ð &�‰	Œ	�$‰ØÐå˜Tµ'±)´)Ð<Ñ<Ô<Ð<r[   )r¨   r7   r©   rª   )rJ  r7   r©   r   r®   )rô   rõ   r©   r½   )re  r   r©   rf  )rm  rn  r©   r½   )r£  r7   r©   r¤  )r£  r7   r©   r½   )r«  r7   r©   r½   )r  r7   r¶  r·  r©   r   )r  r7   r©   r   )EÚ
__future__r   Úenumr   Ú	functoolsr   r¾  r   r   r   ÚTYPE_CHECKINGÚcollections.abcr	   r
   r   r   r   r   Ú	_typeshedr   Útyping_extensionsr   r   r)   r+   rg   rz   rY   r{   r|   r}   rq   r~   rr   r   rs   r€   rt   r�   ru   r‚   rv   rƒ   rw   r„   ry   r…   r‡   rn  rˆ   r�   r’   r=   rv  r7   r—   r»   r½   r°   rd  rl  rs  r™  r›  r¨  rª  rµ  rº  r   rZ   r[   r\   ú<module>rÇ     sh  ðð@ #Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à€Øð :Ø;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ø2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2à0Ð0Ð0Ð0Ð0Ð0Ø&Ð&Ð&Ð&Ð&Ð&ð3ð 3ð 3ð 3ð 3�iñ 3ô 3ð 3ðlð ð ð ð �ñ ô ð ðð ð ð ð �ñ ô ð ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð Ð Ð Ð Ð Ñ Ø€Ð Ð Ð Ñ ØÐ Ð Ð Ð Ñ ØÐ Ð Ð Ð Ñ Ø'Ô/Ð Ð /Ð /Ð /Ñ /Ø%/Ô%?Ð Ð ?Ð ?Ð ?Ñ ?Ø#-Ô#;Ð Ð ;Ð ;Ð ;Ñ ;Ø(Ô1Ð Ð 1Ð 1Ð 1Ñ 1Ø'Ô/Ð Ð /Ð /Ð /Ñ /Ø#-Ô#;Ð Ð ;Ð ;Ð ;Ñ ;Ø#-Ô#;Ð Ð ;Ð ;Ð ;Ñ ;Ø&Ô-Ð Ð -Ð -Ð -Ñ -ð -Ð Ð ,Ð ,Ð ,Ñ ,à˜#”Y€Ð Ð Ð Ñ Ø˜}Ô-€	Ð -Ð -Ð -Ñ -Ø Ô.€
Ð .Ð .Ð .Ñ .Ø$Ð%EÔFÈÑM€Ð MÐ MÐ MÑ Mð (ð  (ð  (ð  (ð  (�T˜#˜s˜(”^ñ  (ô  (ð  (ðF ðð ð ñ „ðð}, ð }, ð }, ð }, ð }, ñ }, ô }, ð }, ðJZ ðð ð ñ „ðð ð  ð  ð  ð  ðFð ð ð ð	ð 	ð 	ð 	ðMð Mð Mð`%ð %ð %ð %ð %ñ %ô %ð %ð"ð ð ð ðð ð ð ð,ð ,ð ,ð ,ð^ð ð ð ð&=ð =ð =ð =ð =ð =r[   