ó
    ð¢g$“ ã                  óZ  • % S SK Jr  S SKrS SKrS SKrS SKJrJrJrJ	r	  S SK
Jr  S SKJr  S SKJrJrJrJrJrJr  \(       a  S SKJr  S SKJr  S S	KJrJr   " S
 S\5      r " S S\5      r " S S\5      rS rS\ S'   Sr!S\ S'   Sr"S\ S'   Sr#S\ S'   \RH                  r%S\ S'   \RL                  r'S\ S'   \RP                  r)S\ S'   \RT                  r+S\ S'   \RX                  r-S\ S'   \R\                  r/S\ S'   \R`                  r1S\ S'   \Rd                  r3S\ S'   S r4S\ S!'   \5\   r6S"\ S#'   \S$   r7S"\ S%'   \S&   r8S"\ S''   \S(   r9S"\ S)'    " S* S+\5      r:\Rv                  " S,5      r<S:S- jr= " S. S/5      r>S;S0 jr?S<S=S1 jjr@S>S2 jrAS?S3 jrB " S4 S5\5      rCS@S6 jrDSAS7 jrESBS8 jrFSCS9 jrGg)Dé    )ÚannotationsN)ÚCallableÚIterableÚMappingÚSequence)ÚIntEnum)Ú
HTMLParser)ÚTYPE_CHECKINGÚAnyÚFinalÚLiteralÚ	TypedDictÚcast)ÚCursor)ÚSupportsRichComparison)ÚSelfÚ	TypeAliasc                  ó$   • \ rS rSrSrSrSrSrSrg)Ú
HRuleStyleé3   r   é   é   é   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚFRAMEÚALLÚNONEÚHEADERÚ__static_attributes__r   ó    ÚX/var/www/blue/EV-Temp_rev04/venv/lib/python3.13/site-packages/prettytable/prettytable.pyr   r   3   s   † Ø€EØ
€CØ€DØƒFr$   r   c                  ó    • \ rS rSrSrSrSrSrg)Ú
VRuleStyleé:   r   r   r   r   N)r   r   r   r   r   r    r!   r#   r   r$   r%   r'   r'   :   s   † Ø€EØ
€CØƒDr$   r'   c                  ó4   • \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rg)Ú
TableStyleé@   é
   é   é   é   é   é   é   é   r   N)r   r   r   r   ÚDEFAULTÚMSWORD_FRIENDLYÚPLAIN_COLUMNSÚMARKDOWNÚORGMODEÚDOUBLE_BORDERÚSINGLE_BORDERÚRANDOMr#   r   r$   r%   r*   r*   @   s*   † Ø€GØ€OØ€MØ€HØ€GØ€MØ€MØƒFr$   r*   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©ÚcapÚtitleÚupperÚlowerNÚHeaderStyleTypec                  óØ  • \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   S
\S'   S
\S'   S\S'   S
\S'   S\S'   S\S'   S
\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S '   S\S!'   S\S"'   S#\S$'   S#\S%'   S#\S&'   S#\S''   S(\S)'   S
\S*'   S
\S+'   S
\S,'   S#\S-'   S#\S.'   S#\S/'   S#\S0'   S#\S1'   S#\S2'   S#\S3'   S#\S4'   S5\S6'   S7\S8'   S9\S:'   S9\S;'   S<\S='   S
\S>'   S
\S?'   S@rgA)BÚOptionsTypeéb   ú
str | NonerW   ÚintÚstartú
int | NoneÚendúSequence[str | None] | NoneÚfieldsÚboolÚheaderÚborderÚpreserve_internal_borderÚsortbyÚreversesortú+Callable[[RowType], SupportsRichComparison]Úsort_keyúdict[str, str]Ú
attributesÚformatr   Úhrulesr'   Úvruleszstr | dict[str, str] | NoneÚ
int_formatÚfloat_formatzGCallable[[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Újunction_charrZ   Ú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]Úvalignzint | dict[str, int] | NoneÚ	min_widthÚ	max_widthz"str | dict[str, str | None] | NoneÚnone_formatÚescape_headerÚescape_datar   N)r   r   r   r   Ú__annotations__r#   r   r$   r%   r\   r\   b   s  ‡ ØÓØƒJØ	ƒOØ'Ó'ØƒLØƒLØ"Ó"ØÓØÓØ9Ó9ØÓØƒLØÓØÓØ+Ó+Ø-Ó-àOóð  ÓØÓØÓØ"Ó"Ø#Ó#ØÓØÓØÓØÓØ!Ó!ØƒKØÓØÓØÓØÓØÓØÓØ Ó ØÓØ #Ó#Ø"Ó"ØÓØ!Ó!Ø*Ó*Ø*Ó*Ø3Ó3ØÓØÖr$   r\   z\033\[[0-9;]*m|\033\(Bc                ód   • U R                  S5      n[        U5      n[        S U 5       5      nX24$ )NÚ
c              3  ó6   #   • U H  n[        U5      v •  M     g 7f©N©Ú_str_block_width)Ú.0Úlines     r%   Ú	<genexpr>Ú_get_size.<locals>.<genexpr>š   s   é € Ð9±5¨4Ô  ×&Ð&²5ùs   ‚)ÚsplitÚlenÚmax)ÚtextÚlinesÚheightÚwidths       r%   Ú	_get_sizer¦   —   s1   € Ø�J‰J�tÓ€EÜ�‹Z€FÜÑ9±5Ó9Ó9€EØˆ=Ðr$   c                  ó¤  • \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S \S!'   S"\S#'   S"\S$'   S%\S&'   S\S''   S\S('   S\S)'   S*\S+'   S*\S,'   S\S-'   S*\S.'   S\S/'   S\S0'   S\S1'   S\S2'   S\S3'   S\S4'   S\S5'   S\S6'   S\S7'   S\S8'   S\S9'   S"\S:'   S\S;'   S\S<'   S=\S>'   S\S?'   S@\SA'   S*\SB'   SéSêSD jjrSE rSëSF jrSG rSìSH jr	SíSI jr
SíSJ jrSíSK jrSîSL jrSM rSN rSO rSP rSQ rSR rSS rST rSU rSV rSW rSX rSY rSZ rS[ rS\ r\SïS] j5       r\SðS^ j5       r \SñS_ j5       r!\!RD                  SòS` j5       r!\Sa 5       r#\#RD                  Sb 5       r#\Sc 5       r$\$RD                  SîSd j5       r$\Se 5       r%\%RD                  SîSf j5       r%\Sg 5       r&\&RD                  SîSh j5       r&\Si 5       r'\'RD                  SîSj j5       r'\Sk 5       r(\(RD                  SîSl j5       r(\SóSm j5       r)\)RD                  SôSn j5       r)\SóSo j5       r*\*RD                  SôSp j5       r*\SõSq j5       r+\+RD                  SöSr j5       r+\S÷Ss j5       r,\,RD                  SøSt j5       r,\SùSu j5       r-\-RD                  SôSv j5       r-\SóSw j5       r.\.RD                  SôSx j5       r.\S÷Sy j5       r/\/RD                  SúSz j5       r/\SñS{ j5       r0\0RD                  SòS| j5       r0\SûS} j5       r1\1RD                  SüS~ j5       r1\SñS j5       r2\2RD                  SòS€ j5       r2\SýS� j5       r3\3RD                  SþS‚ j5       r3\SñSƒ j5       r4\4RD                  SòS„ j5       r4\SñS… j5       r5\5RD                  SòS† j5       r5\SÿS‡ j5       r6\6RD                  GS Sˆ j5       r6\GSS‰ j5       r7\7RD                  GSSŠ j5       r7\S‹ 5       r8\8RD                  SîSŒ j5       r8\S� 5       r9\9RD                  SîSŽ j5       r9\S� 5       r:\:RD                  S� 5       r:\SùS‘ j5       r;\;RD                  SôS’ j5       r;\SóS“ j5       r<\<RD                  SôS” j5       r<\SóS• j5       r=\=RD                  SôS– j5       r=\SíS— j5       r>\>RD                  SøS˜ j5       r>\SíS™ j5       r?\?RD                  SøSš j5       r?\SíS› j5       r@\@RD                  SøSœ j5       r@\SíS� j5       rA\ARD                  SøSž j5       rA\SíSŸ j5       rB\BRD                  SøS  j5       rB\SíS¡ j5       rC\CRD                  SøS¢ j5       rC\SíS£ j5       rD\DRD                  SøS¤ j5       rD\SíS¥ j5       rE\ERD                  SøS¦ j5       rE\SíS§ j5       rF\FRD                  SøS¨ j5       rF\SíS© j5       rG\GRD                  SøSª j5       rG\SíS« j5       rH\HRD                  SøS¬ j5       rH\SíS­ j5       rI\IRD                  SøS® j5       rI\SñS¯ j5       rJ\JRD                  SòS° j5       rJ\SñS± j5       rK\KRD                  SòS² j5       rK\GSS³ j5       rL\LRD                  GSS´ j5       rL\SñSµ j5       rM\MRD                  SòS¶ j5       rM\SñS· j5       rN\NRD                  SòS¸ j5       rN\SñS¹ j5       rO\ORD                  SòSº j5       rOGSS» jrPGSS¼ jrQSîS½ jrRSîS¾ jrSSîS¿ jrTSîSÀ jrUSîSÁ jrVSîSÂ jrWSîSÃ jrXSîSÄ jrYGSSÅ jrZSÆSÇ.GSSÈ jjr[GS	SÉ jr\SîSÊ jr]  GS
         GSSË jjr^GSGSSÌ jjr_GSSÍ jr`SîSÎ jraSîSÏ jrbGSSÐ jrcGSGSSÑ jjrdGSSÒ jreSùSÓ jrfGSSÔ jrgGSSÕ jrhGSSÖ jriGSS× jrjGSSØ jrkGSSÙ jrlSíSÚ jrm GS     GSSÛ jjrnGSSÜ jroGSSÝ jrpGSSÞ jrqGSGSSß jjrrSíSà jrsSíSá jrtSíSâ jruGSSã jrvGSSä jrwSíSå jrxGSSæ jryGSSç jrzSèr{gC(  ÚPrettyTableéž   re   Ú_xhtmlr‹   Ú_alignr�   Ú_valignzdict[str, int]Ú
_min_widthÚ
_max_widthra   Ú_min_table_widthÚ_max_table_widthrc   Ú_fieldsr^   Ú_titler_   Ú_startÚ_endÚ_sortbyÚ_reversesortrk   Ú	_sort_keyÚ_headerrZ   Ú_header_styleÚ_borderÚ_preserve_internal_borderr   Ú_hrulesr'   Ú_vrulesrm   Ú_int_formatÚ_float_formatz$dict[str, Callable[[str, Any], str]]Ú_custom_formatÚ_padding_widthÚ_left_padding_widthÚ_right_padding_widthrz   Ú_vertical_charÚ_horizontal_charÚ_horizontal_align_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Ú_hruleNc                óˆ  • UR                  SS5      U l        / U l        / U l        / U l        0 U l        0 U l        0 U l        0 U l        0 U l	        0 U l
        0 U l        SU l        / SQU l        0 U l        0 U l        U(       a  Xl        O/ U l        U R                   HB  nX2;   a'  U R%                  X2U   5        X#   U R                  U'   M/  SX#'   SU R                  U'   MD     US   =(       d    SU l        US   =(       d    SU l        US   =(       d    SU l        US	   =(       d    SU l        US
   S;   a  US
   U l        OSU l        US   =(       d    SU l        US   S;   a  US   U l        OSU l        US   S;   a  US   U l        OSU l        US   =(       d    [6        R8                  U l        US   =(       d    [<        R>                  U l         US   =(       d    SU l!        US   S;   a  US   U l"        OSU l"        US   =(       d    S U l#        US   S;   a  US   U l$        OSU l$        US   S;   a  US   U l%        OSU l%        U RM                  5         US   =(       d    SU l'        US   =(       d    SU l(        US   c  SU l)        O
US   U l)        US   =(       d    SU l*        US   =(       d    SU l+        US   =(       d    S U l,        US!   =(       d    S"U l-        US#   U l.        US$   =(       d    S%U l/        US&   U l0        US'   U l1        US(   U l2        US)   U l3        US*   U l4        US+   U l5        US,   U l6        US-   U l7        US.   S;   a  US.   U l8        OSU l8        US/   S;   a  US/   U l9        OSU l9        US0   =(       d    SU l:        US1   =(       d    SU l;        US2   =(       d    0 U l<        g)3aQ  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)
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
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
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" ÚencodingzUTF-8N)-rW   r`   rb   rd   rf   rg   rh   ri   rj   rl   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   rŒ   rŽ   r�   r�   r‘   r’   r“   rW   r`   r   rb   rd   rf   ©TFTr   rg   rh   Frp   rq   ri   rj   rl   c                ó   • U $ r˜   r   )Úxs    r%   Ú<lambda>Ú&PrettyTable.__init__.<locals>.<lambda>q  s   € ¹!r$   r“   r’   ru   rv   rw   r   rx   ry   r{   Ú|r|   Ú-r}   r~   Ú+rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r�   r‚   ro   r€   rn   )=ÚgetrÛ   Ú_field_namesÚ_rowsÚ	_dividersrŒ   rŽ   r�   r�   rr   rs   rt   rÖ   Ú_optionsÚ_none_formatÚ_kwargsÚfield_namesrØ   Ú_validate_optionr²   r³   r´   r±   r¸   r¹   rº   r»   r   r   r¼   r'   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Ó   )Úselfrë   ÚkwargsÚoptions       r%   Ú__init__ÚPrettyTable.__init__Ð   sð  € ðp Ÿ
™
 :¨wÓ7ˆŒð (*ˆÔØ$&ˆŒ
Ø%'ˆŒØˆŒ
ØˆŒØˆŒØˆŒØˆŒØˆÔØˆÔØˆŒò.
ˆŒð` 46ˆÔØˆŒÞØ*Õà&(ˆDŒLà—m”mˆFØÓØ×%Ñ% f°V©nÔ=Ø'-¡~�—‘˜VÓ$à!%�‘Ø'+�—‘˜VÓ$ñ $ð ˜W‘o×-¨ˆŒØ˜W‘o×*¨ˆŒØ˜5‘M×) TˆŒ	Ø˜hÑ'×/¨4ˆŒà�(Ñ˜}Ó,Ø! (Ñ+ˆD�LàˆDŒLØ# NÑ3×;°tˆÔØ�(Ñ˜}Ó,Ø! (Ñ+ˆD�LàˆDŒLØÐ,Ñ-°Ó>Ø-3Ð4NÑ-OˆDÕ*à-2ˆDÔ*Ø˜hÑ'×;¬:×+;Ñ+;ˆŒØ˜hÑ'×9¬:¯>©>ˆŒà˜hÑ'×/¨4ˆŒØ�-Ñ  MÓ1Ø & }Ñ 5ˆDÕà %ˆDÔØ 
Ñ+×<±ˆŒà�-Ñ  MÓ1Ø & }Ñ 5ˆDÕà $ˆDÔØ�/Ñ" mÓ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ˆÔ#Ø$ _Ñ5×<¸ˆÔØ"(Ð)<Ñ"=ˆÔØ%+Ð,BÑ%CˆÔ"Ø$*Ð+@Ñ$AˆÔ!Ø#)Ð*>Ñ#?ˆÔ Ø(.Ð/HÑ(IˆÔ%Ø'-Ð.FÑ'GˆÔ$Ø+1Ð2NÑ+OˆÔ(Ø*0Ð1LÑ*MˆÔ'à�-Ñ  MÓ1Ø & }Ñ 5ˆDÕà $ˆDÔØ�.Ñ! ]Ó2Ø!'¨Ñ!7ˆDÕà!&ˆDÔØ˜hÑ'×0¨5ˆŒØ˜W‘o×.¨ˆŒØ! ,Ñ/×5°2ˆÕr$   c                ó|   • S H6  n[        XXR                  ;   a  U R                  U   =(       d    0 O0 5        M8     g )N)rŒ   rŽ   r�   r�   rr   rs   rt   r‘   )Úsetattrrê   )rî   Úattrs     r%   rí   Ú!PrettyTable._column_specific_args   s8   € ó	
ˆDô Ø¸$Ç,Á,Ó:N˜TŸ\™\¨$Ñ/×5°2øÐTVöò	
r$   c                ó  • U[        U5      -
  nUS:X  a  XS-  -   $ US:X  a  US-  U-   $ US-  (       aA  [        U5      S-  (       a  US-  S-  U-   US-  S-   S-  -   $ US-  S-   S-  U-   US-  S-  -   $ US-  S-  U-   US-  S-  -   $ )NrL   Ú rN   r   r   r™   )rî   r¢   r¥   rŒ   Úexcesss        r%   Ú_justifyÚPrettyTable._justify°  sÄ   € ØÔ)¨$Ó/Ñ/ˆØ�C‹<Ø 3™,Ñ&Ð&Ø�c‹\Ø˜C‘< $Ñ&Ð&à˜�zô $ DÓ)¨A×-Ø" a™K¨3Ñ.°Ñ5¸À1¹Àq¹ÈCÑ8OÑOÐOð # a™K¨!™O¨sÑ2°TÑ9¸VÀq¹[ÈCÑ<OÑOÐOð
  !™ sÑ*¨TÑ1°V¸q±[ÀCÑ4GÑGÐGr$   c                óú   • US:X  a  [        U R                  5      $ US:X  aP  U R                  (       a  [        U R                  5      $ U R                  (       a  [        U R                  S   5      $ g[        U5      e)NÚrowcountÚcolcountr   )r    ræ   rå   ÚAttributeError)rî   Únames     r%   Ú__getattr__ÚPrettyTable.__getattr__Å  sb   € Ø�:ÓÜ�t—z‘z“?Ð"Ø�ZÓØ× × Ü˜4×,Ñ,Ó-Ð-Ø——Ü˜4Ÿ:™: a™=Ó)Ð)àä  Ó&Ð&r$   c           
     óÎ  • [        5       nU R                  Ul        U R                   H   n[        USU-   [	        U SU-   5      5        M"     [        US[	        U S5      5        [        U[        5      (       a)  U R                  U    H  nUR                  U5        M     U$ [        U[        5      (       a   UR                  U R                  U   5        U$ SU S3n[        U5      e)NÚ_r«   zIndex z( is invalid, must be an integer or slice)r¨   rë   rè   rô   ÚgetattrÚ
isinstanceÚsliceræ   Úadd_rowr_   Ú
IndexError)rî   ÚindexÚnewrõ   ÚrowÚmsgs         r%   Ú__getitem__ÚPrettyTable.__getitem__Ò  sË   € Ü‹mˆØ×*Ñ*ˆŒØ—M”MˆDÜ�C˜˜t™¤W¨T°3¸±:Ó%>Ö?ñ "ä��Xœw t¨XÓ6Ô7Ü�eœU×#Ñ#Ø—z‘z %Ô(�Ø—‘˜CÖ ñ )ð ˆ
ô ˜œs×#Ñ#Ø�K‰K˜Ÿ
™
 5Ñ)Ô*ð ˆ
ð ˜5˜'Ð!IÐJˆCÜ˜S“/Ð!r$   c                ó"   • U R                  5       $ r˜   ©Ú
get_string©rî   s    r%   Ú__str__ÚPrettyTable.__str__â  ó   € Ø�‰Ó Ð r$   c                ó"   • U R                  5       $ r˜   r  r  s    r%   Ú__repr__ÚPrettyTable.__repr__å  r  r$   c                ó"   • U R                  5       $ )z[
Returns get_html_string value by default
as the repr call in Jupyter notebook environment
)Úget_html_stringr  s    r%   Ú_repr_html_ÚPrettyTable._repr_html_è  s   € ð
 ×#Ñ#Ó%Ð%r$   c                ó  • US:X  a  U R                  U5        g US:X  a  U R                  U5        g US;   a  U R                  X5        g US:X  a  U R                  X5        g US:X  a  U R	                  X5        g US:X  a  U R                  X5        g US:X  a  U R                  X5        g US:X  a  U R                  X5        g US	;   a  U R                  X5        g US
:X  a  U R                  U5        g US:X  a  U R                  X5        g US:X  a  U R                  X5        g US:X  a1  UR                  5        H  u  p4U R	                  U SU 3U5        M     g US;   a  U R                  X5        g US:X  a  U R                  X5        g g )Nrë   r‘   )	r`   rb   r�   r�   ru   rv   rw   rx   ry   ri   rl   rp   rq   rd   )
rf   rg   rh   rj   r€   ro   r�   r‚   r’   r“   r   rr   rs   rt   Ú.)r{   r|   r}   r~   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   rn   )Ú_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ì   ÚPrettyTable._validate_optionü  s„  € Ø�]Ó"Ø×&Ñ& sÕ+Ø�}Ó$Ø×&Ñ& sÕ+Øð 

ó 

ð ×*Ñ*¨6Õ7Ø�xÓØ×%Ñ% fÕ2Ø�zÓ!Ø×#Ñ# FÕ0Ø�xÓØ×!Ñ! &Õ.Ø�xÓØ×!Ñ! &Õ.Ø�xÓØ×*Ñ*¨6Õ7Øð 
ó 
ð ×(Ñ(¨Õ5Ø�~Ó%Ø×'Ñ'¨Õ,Ø�|Ó#Ø×%Ñ% fÕ2Ø�~Ó%Ø×'Ñ'¨Õ4Ø�Ó&Ø #§	¡	¦‘�Ø×'Ñ'¨6¨(°!°A°3¨¸ÖCò !,àð 
ó 
ð ×&Ñ& vÕ3Ø�|Ó#Ø×%Ñ% fÕ2ð $r$   c                ób  • U R                   (       a&   [        U5      [        U R                   5      :X  d   e U R                  (       a)   [        U5      [        U R                  S   5      :X  d   e  [        U5      [        [        U5      5      :X  d   eg ! [         a1    S[        U5       S[        U R                   5       S3n[        U5      ef = f! [         a4    S[        U5       S[        U R                  S   5       S3n[        U5      ef = f! [         a    Sn[        U5      ef = f)Nz9Field name list has incorrect number of values, (actual) ú!=ú (expected)r   zField names must be unique)rå   r    ÚAssertionErrorÚ
ValueErrorræ   Úset©rî   r/  r  s      r%   r   Ú!PrettyTable._validate_field_names?  s-  € à××ð&Ü˜3“x¤3 t×'8Ñ'8Ó#9Ó9Ð9Ñ9ð �:�:ð&Ü˜3“x¤3 t§z¡z°!¡}Ó#5Ó5Ð5Ñ5ð	"Ü�s“8œs¤3 s£8›}Ó,Ð,Ñ,øô# "ó &ð Ü # C£˜z¨¬C°×0AÑ0AÓ,BÐ+CÀ;ðPð ô ! “oÐ%ð&ûô "ó &ð Ü # C£˜z¨¬C°·
±
¸1±Ó,>Ð+?¸{ðLð ô ! “oÐ%ð&ûô ó 	"Ø.ˆCÜ˜S“/Ð!ð	"ús#   “$B Á
'C Á3#D Â;CÃ>DÄD.c                ór   •  Ub  [        U[        5      (       d   eg g ! [         a    Sn[        U5      ef = f)Nz>Replacement for None value must be a string if being supplied.)r  rz   r6  Ú	TypeErrorr9  s      r%   r!  Ú!PrettyTable._validate_none_formatZ  sB   € ð	!Ø‰Ü! #¤s×+Ñ+Ð+Ñ+ð øäó 	!ØRˆCÜ˜C“.Ð ð	!ús   ‚ ž6c                óL   •  US;   d   eg ! [          a    Sn[        U5      ef = f)NrU   z:Invalid header style, use cap, title, upper, lower or None©r6  r7  r9  s      r%   r)  Ú"PrettyTable._validate_header_styleb  s4   € ð	"ØÐBÓBÐBÑBøÜó 	"ØNˆCÜ˜S“/Ð!ð	"ús   ‚ ‹#c                óT   •  US;   d   eg ! [          a    SU S3n[        U5      ef = f)NrK   ú
Alignment z is invalid, use l, c or rr?  r9  s      r%   Ú_validate_alignÚPrettyTable._validate_aligni  s=   € ð	"Ø˜/Ó)Ð)Ñ)øÜó 	"Ø˜s˜eÐ#=Ð>ˆCÜ˜S“/Ð!ð	"úó   ‚ ‹'c                óT   •  US;   d   eg ! [          a    SU S3n[        U5      ef = f)NrP   rB  z is invalid, use t, m, br?  r9  s      r%   Ú_validate_valignÚPrettyTable._validate_valignp  s=   € ð	"Ø˜/Ó)Ð)Ñ)øÜó 	"Ø˜s˜eÐ#;Ð<ˆCÜ˜S“/Ð!ð	"úrE  c                ój   •  [        U5      S:¼  d   eg ! [         a    SU SU 3n[        U5      ef = f)Nr   úInvalid value for ú: )r_   r6  r7  ©rî   r   r/  r  s       r%   r"  Ú%PrettyTable._validate_nonnegative_intw  sB   € ð	"Ü�s“8˜q“=Ð ‘=øÜó 	"Ø& t f¨B¨s¨eÐ4ˆCÜ˜S“/Ð!ð	"ús   ‚ ”2c                óT   •  US;   d   eg ! [          a    SU S3n[        U5      ef = f)NrÜ   rJ  z. Must be True or False.r?  rL  s       r%   r(  Ú#PrettyTable._validate_true_or_false~  s=   € ð	"Ø˜-Ó'Ð'Ñ'øÜó 	"Ø& t fÐ,DÐEˆCÜ˜S“/Ð!ð	"úrE  c                ó®   • US:X  a  g  [        U[        5      (       d   eUR                  5       (       d   eg ! [         a    SU S3n[	        U5      ef = f)NÚ rJ  z#. Must be an integer format string.)r  rz   Úisdigitr6  r7  rL  s       r%   r*  Ú PrettyTable._validate_int_format…  s\   € Ø�"‹9Øð	"Ü˜c¤3×'Ñ'Ð'Ð'Ø—;‘;—=‘=Ð ‘=øÜó 	"Ø& t fÐ,OÐPˆCÜ˜S“/Ð!ð	"ús	   ‰.8 ¸Ac                óÊ  • US:X  a  g  [        U[        5      (       d   eSU;   d   eUR                  S5      n[        U5      S::  d   eUS   S:X  d  US   R	                  5       (       d   eUS   S:X  dO  US   R	                  5       (       d6  US   S   S:X  a'  US   R                  S5      R	                  5       (       d   eg g g ! [         a    SU S	3n[        U5      ef = f)
NrQ  r  r   r   r   éÿÿÿÿÚfrJ  z . Must be a float format string.)r  rz   rŸ   r    rR  Úrstripr6  r7  )rî   r   r/  Úbitsr  s        r%   r+  Ú"PrettyTable._validate_float_format�  s÷   € Ø�"‹9Øð	"Ü˜c¤3×'Ñ'Ð'Ð'Ø˜#“:Ð�:Ø—9‘9˜S“>ˆDÜ�t“9 “>Ð!�>Ø˜‘7˜b“= D¨¡G§O¡O×$5Ñ$5Ð5Ð5à�Q‘˜2“Ø˜‘7—?‘?×$Ñ$Ø˜‘G˜B‘K 3Ó&¨4°©7¯>©>¸#Ó+>×+FÑ+F×+HÑ+HððJà+Hð %ð øô ó 	"Ø& t fÐ,LÐMˆCÜ˜S“/Ð!ð	"ús   ‰B:C ÃC"c                ój   •  [        US5      (       d   eg ! [         a    SU S3n[        U5      ef = f)NÚ__call__rJ  z. Must be a function.)Úhasattrr6  r7  rL  s       r%   r$  ÚPrettyTable._validate_function¡  sB   € ð	"Ü˜3 
×+Ñ+Ð+Ñ+øÜó 	"Ø& t fÐ,AÐBˆCÜ˜S“/Ð!ð	"ús   ‚ –2c                ón   •  U[        [        5      ;   d   eg ! [         a    SU S3n[        U5      ef = f)NrJ  z. Must be HRuleStyle.)Úlistr   r6  r7  rL  s       r%   r%  ÚPrettyTable._validate_hrules¨  óB   € ð	"Øœ$œzÓ*Ó*Ð*Ñ*øÜó 	"Ø& t fÐ,AÐBˆCÜ˜S“/Ð!ð	"úó   ‚ ˜4c                ón   •  U[        [        5      ;   d   eg ! [         a    SU S3n[        U5      ef = f)NrJ  z. Must be VRuleStyle.)r_  r'   r6  r7  rL  s       r%   r&  ÚPrettyTable._validate_vrules¯  ra  rb  c                ól   •  X R                   ;   d  Ub   eg g ! [         a    SU 3n[        U5      ef = f)NzInvalid field name: )rå   r6  r7  rL  s       r%   r#  Ú PrettyTable._validate_field_name¶  sG   € ð	"Ø×,Ñ,Ó,°#±+Ð>Ð>°+Ð,øÜó 	"Ø(¨¨Ð.ˆCÜ˜S“/Ð!ð	"ús   ‚ ˜3c                óp   •  U H  nU R                  X5        M     g ! [         a    Sn[        U5      ef = f)Nz(Fields must be a sequence of field names)r#  r6  r7  )rî   r   r/  rÞ   r  s        r%   r'  Ú%PrettyTable._validate_all_field_names½  s=   € ð	"Û�Ø×)Ñ)¨$Ö2ò øäó 	"Ø<ˆCÜ˜S“/Ð!ð	"ús   ‚ �5c                óf   •  [        U5      S:X  d   eg ! [         a    SU S3n[        U5      ef = f)Nr   rJ  z. Must be a string of length 1.)rš   r6  r7  rL  s       r%   r-  Ú!PrettyTable._validate_single_charÅ  sB   € ð	"Ü# CÓ(¨AÓ-Ð-Ñ-øÜó 	"Ø& t fÐ,KÐLˆCÜ˜S“/Ð!ð	"ús   ‚ ”0c                ój   •  [        U[        5      (       d   eg ! [         a    Sn[        U5      ef = f)Nz3Attributes must be a dictionary of name/value pairs)r  Údictr6  r<  rL  s       r%   r.  Ú PrettyTable._validate_attributesÌ  s8   € ð	!Ü˜c¤4×(Ñ(Ð(Ñ(øÜó 	!ØGˆCÜ˜C“.Ð ð	!ús   ‚ š2c                ó    • U R                   S S  $ r˜   )ræ   r  s    r%   ÚrowsÚPrettyTable.rowsÖ  s   € à�z‰z™!ˆ}Ðr$   c                ó    • U R                   S S  $ r˜   )rç   r  s    r%   ÚdividersÚPrettyTable.dividersÚ  s   € à�~‰~™aÐ Ð r$   c                ó   • U R                   $ )z,Print <br/> tags if True, <br> tags if False)rª   r  s    r%   r€   ÚPrettyTable.xhtmlÞ  s   € ð �{‰{Ðr$   c                ó4   • U R                  SU5        Xl        g )Nr€   )rì   rª   ©rî   r/  s     r%   r€   ru  ã  ó   € à×Ñ˜g sÔ+Ø�r$   c                ó   • U R                   $ r˜   )ré   r  s    r%   r‘   ÚPrettyTable.none_formatè  s   € à× Ñ Ð r$   c                ó.  • U R                   (       d  0 U l        g Ub$  [        U[        5      (       a2  [	        U5      S:X  a#  U R                    H  nS U R                  U'   M     g U R                  U5        U R                    H  nXR                  U'   M     g ©Nr   )rå   ré   r  rl  r    r!  ©rî   r/  Úfields      r%   r‘   rz  ì  s|   € à× × Ø "ˆDÕØ‰[œZ¨¬T×2Ñ2´s¸3³xÀ1³}Ø×*Ô*�Ø+/�×!Ñ! %Ó(ò +ð ×&Ñ& sÔ+Ø×*Ô*�Ø+.×!Ñ! %Ó(ò +r$   c                ó   • U R                   $ )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å   r  s    r%   rë   ÚPrettyTable.field_namesø  s   € ð × Ñ Ð r$   c                ót  • U Vs/ sH  n[        U5      PM     nnU R                  SU5        S nU R                  (       a  U R                  S S  nXl        U R                  5         U R                  (       am  U(       af  [        X15       H!  u  pEU R                  U   U R                  U'   M#     U H/  nX@R                  ;  d  M  U R                  R                  U5        M1     OLU R                  (       a4  U R                   H#  nU R                  [           U R                  U'   M%     OSU l        U R                  (       am  U(       af  [        X15       H!  u  pEU R                  U   U R                  U'   M#     U H/  nX@R                  ;  d  M  U R                  R                  U5        M1     g SU l
        g s  snf )Nrë   rM   rQ   )rz   rì   rå   rí   r«   ÚzipÚpoprI   rŒ   r¬   rŽ   )rî   r/  rÞ   Ú	old_namesÚold_nameÚnew_nameÚ
field_names          r%   rë   r€    sP  € á"Ó#™s˜!Œs�1Žv™sˆÐ#Ø×Ñ˜m¨SÔ1Øˆ	Ø××Ø×)Ñ)©!Ð,ˆIØÔà×"Ñ"Ô$à�;�;ž9Ü&)¨)Ö&9Ñ"�Ø(,¯©°HÑ(=�—‘˜HÓ%ñ ':ã%�Ø§;¡;Õ.Ø—K‘K—O‘O HÖ-ò &ð �[�[Ø"×/Ô/�
Ø*.¯+©+Ô6FÑ*G�—‘˜JÓ'ò 0ð ˆDŒJØ�<�<žIÜ&)¨)Ö&9Ñ"�Ø)-¯©°hÑ)?�—‘˜XÓ&ñ ':ã%�Ø§<¡<Õ/Ø—L‘L×$Ñ$ XÖ.ò &ð ˆD�Kùò7 $s   …F5c                ó   • U R                   $ )zTControls alignment of fields
Arguments:

align - alignment, one of "l", "c", or "r" )r«   r  s    r%   rŒ   ÚPrettyTable.align   s   € ð �{‰{Ðr$   c                óx  • Ub$  [        U[        5      (       aQ  [        U5      S:X  aB  U R                  (       d  [        S0U l        g U R                   H  nSU R
                  U'   M     g U R                  U5        U R                  (       d  [        U0U l        g U R                   H  nXR
                  U'   M     g )Nr   rM   )r  rl  r    rå   rI   r«   rC  r}  s      r%   rŒ   r‰  (  s‘   € à‰;œ: c¬4×0Ñ0´S¸³XÀ³]Ø×$×$Ü/°Ð5�•à!×.Ô.�EØ),�D—K‘K Ó&ò /ð × Ñ  Ô%Ø×$×$Ü/°Ð5�•à!×.Ô.�EØ),—K‘K Ó&ò /r$   c                ó   • U R                   $ )zgControls vertical alignment of fields
Arguments:

valign - vertical alignment, one of "t", "m", or "b" )r¬   r  s    r%   rŽ   ÚPrettyTable.valign8  s   € ð �|‰|Ðr$   c                ó.  • U R                   (       d  0 U l        g Ub$  [        U[        5      (       a2  [	        U5      S:X  a#  U R                    H  nSU R                  U'   M     g U R                  U5        U R                    H  nXR                  U'   M     g )Nr   rQ   )rå   r¬   r  rl  r    rG  r}  s      r%   rŽ   rŒ  @  sw   € à× × ØˆD�LØ‰[œZ¨¬T×2Ñ2´s¸3³xÀ1³}Ø×*Ô*�Ø&)�—‘˜UÓ#ò +ð ×!Ñ! #Ô&Ø×*Ô*�Ø&)—‘˜UÓ#ò +r$   c                ó   • U R                   $ )zNControls maximum width of fields
Arguments:

max_width - maximum width integer)r®   r  s    r%   r�   ÚPrettyTable.max_widthL  ó   € ð �‰Ðr$   c                óÈ   • Ub$  [        U[        5      (       a  [        U5      S:X  a  0 U l        g U R	                  SU5        U R
                   H  nXR                  U'   M     g )Nr   r�   )r  rl  r    r®   rì   rå   r}  s      r%   r�   r�  T  óP   € à‰;œ: c¬4×0Ñ0´S¸³XÀ³]Ø ˆD�Oà×!Ñ! +¨sÔ3Ø×*Ô*�Ø),—‘ Ó&ò +r$   c                ó   • U R                   $ )zNControls minimum width of fields
Arguments:

min_width - minimum width integer)r­   r  s    r%   r�   ÚPrettyTable.min_width]  r�  r$   c                óÈ   • Ub$  [        U[        5      (       a  [        U5      S:X  a  0 U l        g U R	                  SU5        U R
                   H  nXR                  U'   M     g )Nr   r�   )r  rl  r    r­   rì   rå   r}  s      r%   r�   r”  e  r’  r$   c                ó   • U R                   $ r˜   )r¯   r  s    r%   ru   ÚPrettyTable.min_table_widthn  ó   € à×$Ñ$Ð$r$   c                ó4   • U R                  SU5        Xl        g )Nru   )rì   r¯   rw  s     r%   ru   r—  r  ó   € à×ÑÐ/°Ô5Ø #Õr$   c                ó   • U R                   $ r˜   )r°   r  s    r%   rv   ÚPrettyTable.max_table_widthw  r˜  r$   c                ó4   • U R                  SU5        Xl        g )Nrv   )rì   r°   rw  s     r%   rv   rœ  {  rš  r$   c                ó   • U R                   $ )z3List or tuple of field names to include in displays)r±   r  s    r%   rd   ÚPrettyTable.fields€  s   € ð �|‰|Ðr$   c                ó4   • U R                  SU5        Xl        g )Nrd   )rì   r±   rw  s     r%   rd   rŸ  …  ó   € à×Ñ˜h¨Ô,Ø�r$   c                ó   • U R                   $ )z5Optional table title

Arguments:

title - table title)r²   r  s    r%   rW   ÚPrettyTable.titleŠ  ó   € ð �{‰{Ðr$   c                ó$   • [        U5      U l        g r˜   )rz   r²   rw  s     r%   rW   r£  “  s   € ä˜#“hˆ�r$   c                ó   • U R                   $ )zkStart index of the range of rows to print

Arguments:

start - index of first data row to include in output)r³   r  s    r%   r`   ÚPrettyTable.start—  r¤  r$   c                ó4   • U R                  SU5        Xl        g )Nr`   )rì   r³   rw  s     r%   r`   r§     rx  r$   c                ó   • U R                   $ )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´   r  s    r%   rb   ÚPrettyTable.end¥  s   € ð �y‰yÐr$   c                ó4   • U R                  SU5        Xl        g )Nrb   )rì   r´   rw  s     r%   rb   rª  ®  s   € à×Ñ˜e SÔ)Ø�	r$   c                ó   • U R                   $ )zOName of field by which to sort rows

Arguments:

sortby - field name to sort by)rµ   r  s    r%   ri   ÚPrettyTable.sortby³  ó   € ð �|‰|Ðr$   c                ó4   • U R                  SU5        Xl        g )Nri   )rì   rµ   rw  s     r%   ri   r­  ¼  r¡  r$   c                ó   • U R                   $ )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¶   r  s    r%   rj   ÚPrettyTable.reversesortÁ  ó   € ð × Ñ Ð r$   c                ó4   • U R                  SU5        Xl        g )Nrj   )rì   r¶   rw  s     r%   rj   r±  Ë  ó   € à×Ñ˜m¨SÔ1ØÕr$   c                ó   • U R                   $ )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·   r  s    r%   rl   ÚPrettyTable.sort_keyÐ  s   € ð �~‰~Ðr$   c                ó4   • U R                  SU5        Xl        g )Nrl   )rì   r·   rw  s     r%   rl   r¶  Ú  s   € à×Ñ˜j¨#Ô.Ø�r$   c                ó   • U R                   $ )z{Controls printing of table header with field names

Arguments:

header - print a header showing field names (True or False))r¸   r  s    r%   rf   ÚPrettyTable.headerß  r®  r$   c                ó4   • U R                  SU5        Xl        g )Nrf   )rì   r¸   rw  s     r%   rf   r¹  è  r¡  r$   c                ó   • U R                   $ )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¹   r  s    r%   r   ÚPrettyTable.header_styleí  s   € ð ×!Ñ!Ð!r$   c                ó2   • U R                  U5        Xl        g r˜   )r)  r¹   rw  s     r%   r   r¼  ÷  s   € à×#Ñ# CÔ(Ø Õr$   c                ó   • U R                   $ )znControls printing of border around table

Arguments:

border - print a border around the table (True or False))rº   r  s    r%   rg   ÚPrettyTable.borderü  r®  r$   c                ó4   • U R                  SU5        Xl        g )Nrg   )rì   rº   rw  s     r%   rg   r¿    r¡  r$   c                ó   • U R                   $ )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»   r  s    r%   rh   Ú$PrettyTable.preserve_internal_border
  s   € ð ×-Ñ-Ð-r$   c                ó4   • U R                  SU5        Xl        g )Nrh   )rì   r»   rw  s     r%   rh   rÂ    s   € à×ÑÐ8¸#Ô>Ø),Õ&r$   c                ó   • U R                   $ )zzControls printing of horizontal rules after rows

Arguments:

hrules - horizontal rules style.  Allowed values: HRuleStyle)r¼   r  s    r%   rp   ÚPrettyTable.hrules  r®  r$   c                ó4   • U R                  SU5        Xl        g )Nrp   )rì   r¼   rw  s     r%   rp   rÅ  "  r¡  r$   c                ó   • U R                   $ )z{Controls printing of vertical rules between columns

Arguments:

vrules - vertical rules style.  Allowed values: VRuleStyle)r½   r  s    r%   rq   ÚPrettyTable.vrules'  r®  r$   c                ó4   • U R                  SU5        Xl        g )Nrq   )rì   r½   rw  s     r%   rq   rÈ  0  r¡  r$   c                ó   • U R                   $ )zRControls formatting of integer data
Arguments:

int_format - integer format string)r¾   r  s    r%   rr   ÚPrettyTable.int_format5  s   € ð ×ÑÐr$   c                óÈ   • Ub$  [        U[        5      (       a  [        U5      S:X  a  0 U l        g U R	                  SU5        U R
                   H  nXR                  U'   M     g )Nr   rr   )r  rl  r    r¾   rì   rå   r}  s      r%   rr   rË  =  sS   € à‰;œ: c¬4×0Ñ0´S¸³XÀ³]Ø!ˆDÕà×!Ñ! ,°Ô4Ø×*Ô*�Ø*-× Ñ  Ó'ò +r$   c                ó   • U R                   $ )zbControls formatting of floating point data
Arguments:

float_format - floating point format string)r¿   r  s    r%   rs   ÚPrettyTable.float_formatF  s   € ð ×!Ñ!Ð!r$   c                óÈ   • Ub$  [        U[        5      (       a  [        U5      S:X  a  0 U l        g U R	                  SU5        U R
                   H  nXR                  U'   M     g )Nr   rs   )r  rl  r    r¿   rì   rå   r}  s      r%   rs   rÎ  N  sS   € à‰;œ: c¬4×0Ñ0´S¸³XÀ³]Ø!#ˆDÕà×!Ñ! .°#Ô6Ø×*Ô*�Ø,/×"Ñ" 5Ó)ò +r$   c                ó   • U R                   $ )zrControls formatting of any column using callable
Arguments:

custom_format - Dictionary of field_name and callable)rÀ   r  s    r%   rt   ÚPrettyTable.custom_formatW  s   € ð ×"Ñ"Ð"r$   c                óP  • Uc  0 U l         g [        U[        5      (       a5  UR                  5        H  u  p#U R	                  SU 3U5        M     Xl         g [        US5      (       a4  U R	                  SU5        U R                   H  nXR                   U'   M     g Sn[        U5      e)Nzcustom_value.r[  Úcustom_valuez>The custom_format property need to be a dictionary or callable)rÀ   r  rl  r,  r$  r\  rå   r<  )rî   r/  r0  Úvr~  r  s         r%   rt   rÑ  _  s˜   € à‰;Ø"$ˆDÕÜ˜œT×"Ñ"ØŸ	™	ž‘�Ø×'Ñ'¨-¸°sÐ(;¸QÖ?ñ $à"%ÕÜ�S˜*×%Ñ%Ø×#Ñ# N°CÔ8Ø×*Ô*�Ø-0×#Ñ# EÓ*ò +ð SˆCÜ˜C“.Ð r$   c                ó   • U R                   $ )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Á   r  s    r%   rw   ÚPrettyTable.padding_widtho  ó   € ð ×"Ñ"Ð"r$   c                ó4   • U R                  SU5        Xl        g )Nrw   )rì   rÁ   rw  s     r%   rw   rÖ  x  ó   € à×Ñ˜o¨sÔ3Ø!Õr$   c                ó   • U R                   $ )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Â   r  s    r%   rx   ÚPrettyTable.left_padding_width}  s   € ð ×'Ñ'Ð'r$   c                ó4   • U R                  SU5        Xl        g )Nrx   )rì   rÂ   rw  s     r%   rx   rÛ  †  s   € à×ÑÐ2°CÔ8Ø#&Õ r$   c                ó   • U R                   $ )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Ã   r  s    r%   ry   ÚPrettyTable.right_padding_width‹  s   € ð ×(Ñ(Ð(r$   c                ó4   • U R                  SU5        Xl        g )Nry   )rì   rÃ   rw  s     r%   ry   rÞ  ”  s   € à×ÑÐ3°SÔ9Ø$'Õ!r$   c                ó   • U R                   $ )z–The character used when printing table borders to draw vertical lines

Arguments:

vertical_char - single character string used to draw vertical lines)rÄ   r  s    r%   r{   ÚPrettyTable.vertical_char™  r×  r$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nr{   )rz   rì   rÄ   rw  s     r%   r{   rá  ¢  ó!   € ä�#‹hˆØ×Ñ˜o¨sÔ3Ø!Õr$   c                ó   • U R                   $ )zœThe character used when printing table borders to draw horizontal lines

Arguments:

horizontal_char - single character string used to draw horizontal lines)rÅ   r  s    r%   r|   ÚPrettyTable.horizontal_char¨  s   € ð ×$Ñ$Ð$r$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nr|   )rz   rì   rÅ   rw  s     r%   r|   rå  ±  s"   € ä�#‹hˆØ×ÑÐ/°Ô5Ø #Õr$   c                ó@   • U R                   =(       d    U R                  $ )z›The character used to indicate column alignment in horizontal lines

Arguments:

horizontal_align_char - single character string used to indicate alignment©rÏ   r~   r  s    r%   r}   Ú!PrettyTable.horizontal_align_char·  s   € ð ×.Ñ.×D°$×2DÑ2DÐDr$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nr}   )rz   rì   rÆ   rw  s     r%   r}   ré  À  s"   € ä�#‹hˆØ×ÑÐ5°sÔ;Ø&)Õ#r$   c                ó   • U R                   $ )z–The character used when printing table borders to draw line junctions

Arguments:

junction_char - single character string used to draw line junctions)rÇ   r  s    r%   r~   ÚPrettyTable.junction_charÆ  r×  r$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nr~   )rz   rì   rÇ   rw  s     r%   r~   rì  Ï  rã  r$   c                ó@   • U R                   =(       d    U R                  $ )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~   r  s    r%   rƒ   ÚPrettyTable.top_junction_charÕ  s   € ð ×&Ñ&×<¨$×*<Ñ*<Ð<r$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nrƒ   )rz   rì   rÈ   rw  s     r%   rƒ   rï  Þ  s"   € ä�#‹hˆØ×ÑÐ1°3Ô7Ø"%Õr$   c                ó@   • U R                   =(       d    U R                  $ )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~   r  s    r%   r„   Ú PrettyTable.bottom_junction_charä  s   € ð ×)Ñ)×?¨T×-?Ñ-?Ð?r$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nr„   )rz   rì   rÉ   rw  s     r%   r„   rò  î  s"   € ä�#‹hˆØ×ÑÐ4°cÔ:Ø%(Õ"r$   c                ó@   • U R                   =(       d    U R                  $ )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~   r  s    r%   r…   ÚPrettyTable.right_junction_charô  s   € ð ×(Ñ(×>¨D×,>Ñ,>Ð>r$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nr…   )rz   rì   rÊ   rw  s     r%   r…   rõ  þ  s"   € ä�#‹hˆØ×ÑÐ3°SÔ9Ø$'Õ!r$   c                ó@   • U R                   =(       d    U R                  $ )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~   r  s    r%   r†   ÚPrettyTable.left_junction_char  s   € ð ×'Ñ'×=¨4×+=Ñ+=Ð=r$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nr†   )rz   rì   rË   rw  s     r%   r†   rø    s"   € ä�#‹hˆØ×ÑÐ2°CÔ8Ø#&Õ r$   c                ó@   • U R                   =(       d    U R                  $ )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~   r  s    r%   r‡   Ú#PrettyTable.top_right_junction_char  s   € ð ×,Ñ,×B°×0BÑ0BÐBr$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nr‡   )rz   rì   rÌ   rw  s     r%   r‡   rû    s"   € ä�#‹hˆØ×ÑÐ7¸Ô=Ø(+Õ%r$   c                ó@   • U R                   =(       d    U R                  $ )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~   r  s    r%   rˆ   Ú"PrettyTable.top_left_junction_char$  s   € ð ×+Ñ+×A¨t×/AÑ/AÐAr$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nrˆ   )rz   rì   rÍ   rw  s     r%   rˆ   rþ  /  s"   € ä�#‹hˆØ×ÑÐ6¸Ô<Ø'*Õ$r$   c                ó@   • U R                   =(       d    U R                  $ )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~   r  s    r%   r‰   Ú&PrettyTable.bottom_right_junction_char5  s   € ð ×/Ñ/×E°4×3EÑ3EÐEr$   c                óJ   • [        U5      nU R                  SU5        Xl        g )Nr‰   )rz   rì   rÎ   rw  s     r%   r‰   r  @  s"   € ä�#‹hˆØ×ÑÐ:¸CÔ@Ø+.Õ(r$   c                ó@   • U R                   =(       d    U R                  $ )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 junctionsrè  r  s    r%   rŠ   Ú%PrettyTable.bottom_left_junction_charF  s   € ð ×.Ñ.×D°$×2DÑ2DÐDr$   c                óJ   • [        U5      nU R                  SU5        Xl        g )NrŠ   )rz   rì   rÏ   rw  s     r%   rŠ   r  Q  s"   € ä�#‹hˆØ×ÑÐ9¸3Ô?Ø*-Õ'r$   c                ó   • U R                   $ )znControls whether or not HTML tables are formatted to match styling options

Arguments:

format - True or False)rÐ   r  s    r%   ro   ÚPrettyTable.formatW  r®  r$   c                ó4   • U R                  SU5        Xl        g )Nro   )rì   rÐ   rw  s     r%   ro   r  `  r¡  r$   c                ó   • U R                   $ )z€Controls whether or not empty tables produce a header and frame or just an
empty string

Arguments:

print_empty - True or False)rÑ   r  s    r%   r�   ÚPrettyTable.print_emptye  r²  r$   c                ó4   • U R                  SU5        Xl        g )Nr�   )rì   rÑ   rw  s     r%   r�   r
  o  r´  r$   c                ó   • U R                   $ )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Ó   r  s    r%   rn   ÚPrettyTable.attributest  s   € ð ×ÑÐr$   c                ó4   • U R                  SU5        Xl        g )Nrn   )rì   rÓ   rw  s     r%   rn   r  ~  s   € à×Ñ˜l¨CÔ0ØÕr$   c                ó   • U R                   $ )z<oldsortslice - Slice rows before sorting in the "old style" )rÒ   r  s    r%   r‚   ÚPrettyTable.oldsortsliceƒ  s   € ð ×!Ñ!Ð!r$   c                ó4   • U R                  SU5        Xl        g )Nr‚   )rì   rÒ   rw  s     r%   r‚   r  ˆ  s   € à×Ñ˜n¨cÔ2Ø Õr$   c                ó   • U R                   $ )z0Escapes the text within a header (True or False))rÔ   r  s    r%   r’   ÚPrettyTable.escape_header�  s   € ð ×"Ñ"Ð"r$   c                ó4   • U R                  SU5        Xl        g )Nr’   )rì   rÔ   rw  s     r%   r’   r  ’  rÙ  r$   c                ó   • U R                   $ )z4Escapes the text within a data field (True or False))rÕ   r  s    r%   r“   ÚPrettyTable.escape_data—  s   € ð × Ñ Ð r$   c                ó4   • U R                  SU5        Xl        g )Nr“   )rì   rÕ   rw  s     r%   r“   r  œ  r´  r$   c                ó¨   • 0 nU R                    H1  nX1;   a  U R                  X1U   5        X   X#'   M$  [        X5      X#'   M3     [        [        U5      $ r˜   )rè   rì   r  r   r\   )rî   rï   Úoptionsrð   s       r%   Ú_get_optionsÚPrettyTable._get_options¥  sQ   € Ø"$ˆØ—m”mˆFØÓØ×%Ñ% f°V©nÔ=Ø"(¡.�“ä")¨$Ó"7�“ñ $ô ”K Ó)Ð)r$   c                óx  • U R                  5         Xl        U[        R                  :X  a  U R	                  5         g U[        R
                  :X  a  U R                  5         g U[        R                  :X  a  U R                  5         g U[        R                  :X  a  U R                  5         g U[        R                  :X  a  U R                  5         g U[        R                  :X  a  U R                  5         g U[        R                  :X  a  U R!                  5         g U[        R"                  :w  a  Sn[%        U5      eg )NzInvalid pre-set style)Ú_set_default_stylerÖ   r*   r5   Ú_set_msword_styler6   Ú_set_columns_styler7   Ú_set_markdown_styler8   Ú_set_orgmode_styler9   Ú_set_double_border_styler:   Ú_set_single_border_styler;   Ú_set_random_styler4   r7  )rî   Ústyler  s      r%   Ú	set_styleÚPrettyTable.set_style³  së   € Ø×ÑÔ!ØŒØ”J×.Ñ.Ó.Ø×"Ñ"Õ$Ø”j×.Ñ.Ó.Ø×#Ñ#Õ%Ø”j×)Ñ)Ó)Ø×$Ñ$Õ&Ø”j×(Ñ(Ó(Ø×#Ñ#Õ%Ø”j×.Ñ.Ó.Ø×)Ñ)Õ+Ø”j×.Ñ.Ó.Ø×)Ñ)Õ+Ø”j×'Ñ'Ó'Ø×"Ñ"Õ$Ø”j×(Ñ(Ó(Ø)ˆCÜ˜S“/Ð!ð )r$   c                ó   • SU l         g )NT)r×   r  s    r%   r!  ÚPrettyTable._set_orgmode_styleÈ  s	   € Øˆ�r$   c                óž   • SU l         SU l        [        R                  U l        SU l        SU l        SU l        SU l        SU l	        SU l
        g )NTr   rá   Ú:)rf   rg   r   r"   r¼   rw   rx   ry   r{   r~   rÆ   r  s    r%   r   ÚPrettyTable._set_markdown_styleË  sM   € ØˆŒØˆŒÜ!×(Ñ(ˆŒØˆÔØ"#ˆÔØ#$ˆÔ Ø ˆÔØ ˆÔØ&)ˆÕ#r$   c                óF  • SU l         SU l        [        R                  U l        [
        R                  U l        SU l        SU l	        SU l
        SU l        SU l        S U l        SU l        S U l        S U l        S U l        S U l        S U l        S U l        S U l        S U l        g )NTr   rá   râ   rã   )rf   rg   r   r   r¼   r'   r    r½   rw   rx   ry   r{   r|   rÆ   r~   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   r  s    r%   r  ÚPrettyTable._set_default_styleÖ  s    € ØˆŒØˆŒÜ!×'Ñ'ˆŒÜ!—~‘~ˆŒØˆÔØ"#ˆÔØ#$ˆÔ Ø ˆÔØ"ˆÔØ&*ˆÔ#Ø ˆÔØ"&ˆÔØ%)ˆÔ"Ø$(ˆÔ!Ø#'ˆÔ Ø(,ˆÔ%Ø'+ˆÔ$Ø+/ˆÔ(Ø*.ˆÕ'r$   c                ó‚   • SU l         SU l        [        R                  U l        SU l        SU l        SU l        SU l        g )NTr   rá   )	rf   rg   r   r!   r¼   rw   rx   ry   r{   r  s    r%   r  ÚPrettyTable._set_msword_styleë  s;   € ØˆŒØˆŒÜ!—‘ˆŒØˆÔØ"#ˆÔØ#$ˆÔ Ø ˆÕr$   c                óJ   • SU l         SU l        SU l        SU l        SU l        g )NTFr   r   é   )rf   rg   rw   rx   ry   r  s    r%   r  ÚPrettyTable._set_columns_styleô  s(   € ØˆŒØˆŒØˆÔØ"#ˆÔØ#$ˆÕ r$   c                óž   • SU l         SU l        SU l        SU l        SU l        SU l        SU l        SU l        S	U l        S
U l	        SU l
        g )Nu   â•�u   â•‘u   â•¬u   â•¦u   â•©u   â•£u   â• u   â•—u   â•”u   â•�u   â•š©r|   r{   r~   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r  s    r%   r"  Ú$PrettyTable._set_double_border_styleû  óZ   € Ø$ˆÔØ"ˆÔØ"ˆÔØ!&ˆÔØ$)ˆÔ!Ø#(ˆÔ Ø"'ˆÔØ',ˆÔ$Ø&+ˆÔ#Ø*/ˆÔ'Ø).ˆÕ&r$   c                óž   • SU l         SU l        SU l        SU l        SU l        SU l        SU l        SU l        S	U l        S
U l	        SU l
        g )Nu   â”€u   â”‚u   â”¼u   â”¬u   â”´u   â”¤u   â”œu   â”�u   â”Œu   â”˜u   â””r5  r  s    r%   r#  Ú$PrettyTable._set_single_border_style  r7  r$   c                óü  • SS K nUR                  S5      U l        UR                  S5      U l        UR                  [	        [
        5      5      U l        UR                  [	        [        5      5      U l        UR                  SS5      U l
        UR                  SS5      U l        UR                  S5      U l        UR                  S5      U l        UR                  S5      U l        UR                  S5      U l        g )Nr   rÜ   é   z!~!@#$%^&*()_+|-=\{}[];':\",./;<>?)ÚrandomÚchoicerf   rg   r_  r   r¼   r'   r½   Úrandintrx   ry   r{   r|   r~   rh   )rî   r<  s     r%   r$  ÚPrettyTable._set_random_style  s¼   € ãà—m‘m MÓ2ˆŒØ—m‘m MÓ2ˆŒØ—}‘}¤T¬*Ó%5Ó6ˆŒØ—}‘}¤T¬*Ó%5Ó6ˆŒØ"(§.¡.°°AÓ"6ˆÔØ#)§>¡>°!°QÓ#7ˆÔ Ø#Ÿ]™]Ð+OÓPˆÔØ%Ÿ}™}Ð-QÓRˆÔØ#Ÿ]™]Ð+OÓPˆÔØ(.¯©°mÓ(DˆÕ%r$   c                ó8   • U H  nU R                  U5        M     g)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 fieldsN)r  ©rî   ro  r  s      r%   Úadd_rowsÚPrettyTable.add_rows(  s   € ó ˆCØ�L‰L˜Öò r$   F)Údividerc               óÔ  • U R                   (       aR  [        U5      [        U R                   5      :w  a0  S[        U5       S[        U R                   5       S3n[        U5      eU R                   (       d0  [        S[        U5      5       Vs/ sH  nSUS-    3PM     snU l        U R
                  R                  [        U5      5        U R                  R                  U5        gs  snf )zuAdd 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) r4  r5  r   zField r   N)	rå   r    r7  Úrangerë   ræ   Úappendr_  rç   )rî   r  rD  r  Úns        r%   r  ÚPrettyTable.add_row2  sÂ   € ð ××¤ S£¬S°×1BÑ1BÓ-CÓ!CðÜ ›H˜: R¬¨D×,=Ñ,=Ó(>Ð'?¸{ðLð ô ˜S“/Ð!Ø× × Ü:?ÀÄ3ÀsÃ8Ô:LÓMÑ:L°Q &¨¨Q©¨Ó 0Ñ:LÑMˆDÔØ�
‰
×Ñœ$˜s›)Ô$Ø�‰×Ñ˜gÕ&ùò  Ns   ÂC%c                ó¾   • U[        U R                  5      S-
  :”  a'  SU S[        U R                  5       S3n[        U5      eU R                  U	 U R                  U	 g)ztDelete 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î   Ú	row_indexr  s      r%   Údel_rowÚPrettyTable.del_rowE  sc   € ð ”s˜4Ÿ:™:“¨Ñ*Ó*à,¨Y¨Kð 8"Ü"% d§j¡j£/Ð!2°%ð9ð ô ˜S“/Ð!Ø�J‰J�yÐ!Ø�N‰N˜9Ñ%r$   c                óV   • [        U R                  5      S:¼  a  SU R                  S'   gg)zAdd a divider to the tabler   TrU  N)r    rç   r  s    r%   Úadd_dividerÚPrettyTable.add_dividerU  s&   € äˆt�~‰~Ó !Ó#Ø!%ˆD�N‰N˜2Òð $r$   c                óx  • [        U R                  5      S[        U5      4;   aè  U R                  U5        U R                  U5        U R                  R                  U5        X0R                  U'   X@R                  U'   [        S[        U5      5       Hu  n[        U R                  5      US-   :  a6  U R                  R                  / 5        U R                  R                  S5        U R                  U   R                  X%   5        Mw     gS[        U5       S[        U R                  5       3n[        U5      e)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æ   rC  rG  rå   rG  r«   r¬   rF  rç   r7  )rî   Ú	fieldnameÚcolumnrŒ   rŽ   Úir  s          r%   Ú
add_columnÚPrettyTable.add_columnZ  sþ   € ô& ˆt�z‰z‹?˜q¤# f£+Ð.Ó.Ø× Ñ  Ô'Ø×!Ñ! &Ô)Ø×Ñ×$Ñ$ YÔ/Ø%*�K‰K˜	Ñ"Ø&,�L‰L˜Ñ#Ü˜1œc &›kÖ*�Ü�t—z‘z“? Q¨¡UÓ*Ø—J‘J×%Ñ% bÔ)Ø—N‘N×)Ñ)¨%Ô0Ø—
‘
˜1‘×$Ñ$ V¡YÖ/ò	 +ð !¤ V£ Ð-LÜ�t—z‘z“?Ð#ð%ð ô ˜S“/Ð!r$   c                ó6  • U R                   R                  SU5        U R                  S   =(       d    SU R                  U'   U R                  S   =(       d    SU R                  U'   [        U R                  5       H  u  p#UR                  SUS-   5        M     g)z~Add an auto-incrementing index column to the table.
Arguments:
fieldname - name of the field to contain the new column of datar   rŒ   rM   rŽ   rQ   r   N)rå   Úinsertrê   r«   r¬   Ú	enumerateræ   )rî   rR  rT  r  s       r%   Úadd_autoindexÚPrettyTable.add_autoindex  sy   € ð 	×Ñ× Ñ   IÔ.Ø!%§¡¨gÑ!6×!=¸#ˆ�‰�IÑØ"&§,¡,¨xÑ"8×"?¸Cˆ�‰�YÑÜ §
¡
Ö+‰FˆAØ�J‰J�q˜!˜a™%Ö ò ,r$   c           	     ó$  • XR                   ;  aD  SR                  USR                  [        [        U R                   5      5      5      n[        U5      eU R                   R                  U5      nU R                   U	 U R                   H  nXC	 M     g)zhDelete 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å   ro   ÚjoinÚmapÚreprr7  r
  ræ   )rî   rR  r  Ú	col_indexr  s        r%   Ú
del_columnÚPrettyTable.del_column‰  s‚   € ð ×-Ñ-Ó-ð'ß'-¡vØ˜tŸy™y¬¬T°4×3DÑ3DÓ)EÓFó(ð ô ˜S“/Ð!à×%Ñ%×+Ñ+¨IÓ6ˆ	Ø×Ñ˜iÐ(Ø—:”:ˆCØ’ò r$   c                ó    • / U l         / U l        g)z?Delete all rows from the table but keep the current field namesN)ræ   rç   r  s    r%   Ú
clear_rowsÚPrettyTable.clear_rowsž  s   € ð ˆŒ
Øˆ�r$   c                ó<   • / U l         / U l        / U l        / U l        g)zWDelete all rows and field names from the table, maintaining nothing but
styling optionsN)ræ   rç   rå   rØ   r  s    r%   ÚclearÚPrettyTable.clear¤  s!   € ð ˆŒ
ØˆŒØˆÔØˆ�r$   c                ó,   • SS K nUR                  U 5      $ r|  )ÚcopyÚdeepcopy)rî   rj  s     r%   rj  ÚPrettyTable.copy±  s   € Ûà�}‰}˜TÓ"Ð"r$   c                ó  • US:X  a  U R                   " S0 UD6$ US:X  a  U R                  " S0 UD6$ US:X  a  U R                  " S0 UD6$ US:X  a  U R                  " S0 UD6$ US:X  a  U R                  " S0 UD6$ SU S3n[        U5      e)	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ÚlatexzInvalid format z1. Must be one of: text, html, json, csv, or latexr   )r  r  Úget_json_stringÚget_csv_stringÚget_latex_stringr7  )rî   Ú
out_formatrï   r  s       r%   Úget_formatted_stringÚ PrettyTable.get_formatted_string¶  s²   € ð ˜ÓØ—?’?Ñ, VÑ,Ð,Ø˜ÓØ×'Ò'Ñ1¨&Ñ1Ð1Ø˜ÓØ×'Ò'Ñ1¨&Ñ1Ð1Ø˜ÓØ×&Ò&Ñ0¨Ñ0Ð0Ø˜Ó Ø×(Ò(Ñ2¨6Ñ2Ð2ð ˜j˜\ð *>ð >ð 	ô ˜‹oÐr$   c                ó4  • [        U[        5      (       a%  XR                  ;   a  SU R                  U    S3U-  $ [        U[        5      (       a%  XR                  ;   a  SU R                  U    S3U-  $ U R
                  R                  US 5      nU" X5      $ )NÚ%ÚdrV  c                ó   • [        U5      $ r˜   )rz   )rV  rÔ  s     r%   rß   Ú+PrettyTable._format_value.<locals>.<lambda>Ø  s   € ÄÀQÄr$   )r  r_   r¾   Úfloatr¿   rÀ   rä   )rî   r~  Úvaluer1  s       r%   Ú_format_valueÚPrettyTable._format_valueÒ  s–   € Ü�eœS×!Ñ! e×/?Ñ/?Ó&?Ø˜×(Ñ(¨Ñ/Ð0°Ð2°eÑ;Ð;Ü˜œu×%Ñ%¨%×3EÑ3EÓ*EØ˜×*Ñ*¨5Ñ1Ð2°!Ð4¸Ñ=Ð=à×'Ñ'×+Ñ+¨EÑ4GÓIˆ	Ù˜Ó&Ð&r$   c                óN  • US   [         R                  :X  a  SnUS   [         R                  :X  a  SnOSn[        U R	                  U5      5      n[        U R                  5       H<  u  pEUS   (       a  US   (       d  M  XQS   ;   d  M%  X R                  U   U-   S-   -  nM>     U$ )Nrq   r   r   r   rd   )r'   r   r    ÚsumÚ_get_padding_widthsrY  rë   rØ   )rî   r  Útable_widthÚper_col_paddingr
  rR  s         r%   Ú_compute_table_widthÚ PrettyTable._compute_table_widthÛ  s¢   € Ø�8Ñ¤
× 0Ñ 0Ó0ØˆKØ�8Ñ¤
§¡Ó.Ø‰KàˆKÜ˜d×6Ñ6°wÓ?Ó@ˆÜ )¨$×*:Ñ*:Ö ;ÑˆEØ˜8×$Ø˜×!Ñ! i¸8Ñ3DÕ&DàŸ|™|¨EÑ2°_ÑDÀqÑHÑH’ñ	 !<ð
 Ðr$   c           
     óþ  • US   (       a(  U R                    Vs/ sH  n[        U5      S   PM     nnO[        U R                  5      S/-  nU GH"  n[	        U5       GH  u  pgU R                  U   nUS:X  a   U R
                  R                  U5      =n	b  U	nX€R                  ;   a4  [        XF   [        [        U5      S   U R                  U   5      5      XF'   O[        XF   [        U5      S   5      XF'   X€R                  ;   a  [        XF   U R                  U   5      XF'   U R                  [        R                  :X  d  Mæ  U R                  U   S;   a  Sn
OSn
[        X¤U   5      XF'   GM     GM%     X@l        [!        U R#                  U5      5      nU R$                  (       a}  U R'                  U5      nXÀR$                  :”  a]  U[        U5      -  [        U5      -   S-
  nU R$                  U-
  XÍ-
  -  nU Vs/ sH  n[        S[)        Xþ-  5      5      PM     snU l        U R*                  (       d  US   (       Ga+  US   (       a>  [        US   5      U-   nUS   [,        R.                  [,        R0                  4;   a  US	-  nOSnU R2                  =(       d    Sn[        UU5      n
US
   (       a  [        U5      S-   nOUS   (       a  [        U5      nOSnU
[!        U Vs/ sH  nUPM     sn5      U-   -  n
[!        U5      =(       d    SnUU
:  aS  SU
-  U-  nU Vs/ sH  n[)        Xþ-  5      PM     nn[!        U5      U
:  a  US==   U
[!        U5      -
  -  ss'   X@l        g g g s  snf s  snf s  snf s  snf )Nrf   r   ÚNone)rL   rN   r   r   rW   rq   r   rg   rh   g      ð?rU  )rå   r¦   r    rë   rY  r‘   rä   r�   r¡   Úminr�   rÖ   r*   r7   r«   rØ   r‚  rƒ  r°   r†  r_   r¯   r'   r   r    ru   )rî   ro  r  r~  Úwidthsr  r
  r~  rR  Únone_valr�   r…  r„  Úmarkup_charsÚscaleÚwÚtitle_widthru   Úbordersr  Úcontent_widths                        r%   Ú_compute_widthsÚPrettyTable._compute_widthsê  s@  € Ø�8×Ø7;×7HÒ7HÓIÑ7H¨e”i Ó& qÔ)Ñ7HˆFÐIˆFä˜×)Ñ)Ó*¨a¨SÑ0ˆFäˆCÜ )¨#§‘�Ø ×,Ñ,¨UÑ3�	à˜V“OØ%)×%5Ñ%5×%9Ñ%9¸)Ó%DÐD˜ÑQà$�EØ§¡Ó.Ü$'Ø™ÜœI eÓ,¨QÑ/°·±À	Ñ1JÓKó%�F’Mô
 %(¨©´yÀÓ7GÈÑ7JÓ$K�F‘MØ§¡Ó.Ü$'¨©°t·~±~ÀiÑ7PÓ$Q�F‘Mà—;‘;¤*×"5Ñ"5Õ5à—{‘{ 9Ñ-°Ó;Ø$%™	à$%˜	Ü$'¨	¸%±=Ó$A�F”Mô/ !/ñ ð4 Œä˜d×6Ñ6°wÓ?Ó@ˆà× × Ø×3Ñ3°GÓ<ˆKØ×2Ñ2Ó2à.´°V³Ñ<¼sÀ6»{ÑJÈQÑN�Ø×.Ñ.°Ñ=ØÑ.ñ�ñ AGÓGÁ¸1¤ A¤s¨1©9£~Ö 6ÁÑG�”ð × ×  G¨G×$4Ð$4Ø�w×Ü! '¨'Ñ"2Ó3°oÑE�Ø˜8Ñ$¬×)9Ñ)9¼:¿>¹>Ð(JÓJØ 1Ñ$�Køà�Ø"×2Ñ2×7°aˆOÜ˜K¨Ó9ˆIØ�x× Ü˜f›+¨™/‘ØÐ3×4Ü˜f›+‘à�ð œ±vÓ>±v°!›o±vÑ>Ó?À'ÑIÑIˆIä ›K×,¨1ˆMà˜yÓ(à˜i™¨-Ñ7�Ù28Ó9±&¨Qœ#˜a™iž.±&�Ð9Ü�v“; Ó*Ø˜2“J )¬c°&«kÑ"9Ñ9“JØ%•ð )ð+ %5ùò[ JùòT  Hùò( ?ùò :s   ™M+Ç; M0Ë%M5
Ì"M:c                óP   • US   b  US   nOUS   nUS   b  US   nX#4$ US   nX#4$ )Nrx   rw   ry   r   )rî   r  ÚlpadÚrpads       r%   rƒ  ÚPrettyTable._get_padding_widths6  sX   € ØÐ'Ñ(Ñ4ØÐ/Ñ0‰Dà˜?Ñ+ˆDØÐ(Ñ)Ñ5ØÐ0Ñ1ˆDð ˆzÐð ˜?Ñ+ˆDØˆzÐr$   c                ó®  • SSK nUS   (       a%  UR                  U R                  US   US    5      nOUR                  U R                  5      nUS   (       a^  U R                  R	                  US   5      nU Vs/ sH  oUU   /U-   PM     nnUR                  US   US   S	9  U Vs/ sH  oUS
S PM	     nnUS   (       d
  X1S   US    nU$ s  snf s  snf )z‡Return only those data rows that should be printed, based on slicing and
sorting.

Arguments:

options - dictionary of option settings.r   Nr‚   r`   rb   ri   rj   rl   )ÚreverseÚkeyr   )rj  rk  ræ   rå   r
  Úsort)rî   r  rj  ro  Ú	sortindexr  s         r%   Ú	_get_rowsÚPrettyTable._get_rowsA  sä   € ó 	à�>×"Ø—=‘= §¡¨G°GÑ,<¸wÀu¹~Ð!NÓO‰Dà—=‘= §¡Ó,ˆDð �8×Ø×)Ñ)×/Ñ/°¸Ñ0AÓBˆIá6:Ó;±d¨s˜‘^Ð$ sÔ*±dˆDÐ;à�I‰I˜g mÑ4¸'À*Ñ:MˆIÑNá'+Ó,¡t ˜˜“G¡tˆDÐ,ð �~×&Ø Ñ(¨7°5©>Ð:ˆDàˆùò <ùò -s   Á;CÂ(Cc                óâ   • SSK nUS   (       a%  UR                  U R                  US   US    5      nOUR                  U R                  5      nUS   (       a  U Vs/ sH  nSPM     nnU$ s  snf )zzReturn only those dividers that should be printed, based on slicing.

Arguments:

options - dictionary of option settings.r   Nr‚   r`   rb   ri   F)rj  rk  rç   )rî   r  rj  rr  rD  s        r%   Ú_get_dividersÚPrettyTable._get_dividers_  si   € ó 	à�>×"Ø—}‘} T§^¡^°G¸GÑ4DÀwÈuÁ~Ð%VÓW‰Hà—}‘} T§^¡^Ó4ˆHà�8×Ù-5Ó6©X '›©XˆHÐ6àˆùò 7s   ÁA,c                ó€   • [        U R                  U5       VVs/ sH  u  p#U R                  X#5      PM     snn$ s  snnf r˜   )r‚  rå   r  )rî   r  r~  r~  s       r%   Ú_format_rowÚPrettyTable._format_rowq  sC   € ô #& d×&7Ñ&7¸Ô"=ô
á"=‘�ð ×Ñ˜uÖ,Ù"=ò
ð 	
ùó 
s   š:c                óL   • U Vs/ sH  o R                  U5      PM     sn$ s  snf r˜   )r¤  rA  s      r%   Ú_format_rowsÚPrettyTable._format_rowsw  s#   € Ù15Ó6±¨#× Ñ  Ö%±Ñ6Ð6ùÒ6s   …!c                ó’  • U R                  U5      n/ nU R                  S:X  a  US   (       a
  US   (       d  gU R                  U5      nU R                  U5      nU R	                  U5      nU R                  Xb5        U R                  U5      U l        US   =(       d    U R                  nU(       a   UR                  U R                  Xr5      5        US   (       a!  UR                  U R                  U5      5        OÍUS   (       aÃ  US   [        R                  [        R                  4;   aœ  UR                  U R                  USS	95        U(       av  US
   [        R                  [        R                  4;   aO  [!        U R"                  5      n[!        U R$                  5      n	U R"                  US   X‰*  -   U R$                  -   US'   ['        USS USS 5       HY  u  p«UR                  U R)                  X¢U R                  5      5        U(       d  M9  UR                  U R                  U5      5        M[     U(       a3  UR                  U R)                  US   UU R                  USS	95      5        US   (       a6  US   [        R                  :X  a  UR                  U R                  USS	95        SU R*                  ;   ao  U R,                  (       a^  [!        U R"                  5      n[!        U R$                  5      n	U VVs/ sH&  nUR/                  S5       H  nSXØU	*  -   S-   PM     M(     nnnSR1                  U5      $ s  snnf )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)
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
junction_char - single character string used to draw line junctions
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
print empty - if True, stringify just the header for an empty table,
    if False return an empty stringr   r�   rg   rQ  rW   rf   rp   Útop_)Úwhererq   rU  NÚbottom_r×   r–   rá   )r  rý   rž  r¡  r§  r“  Ú_stringify_hrulerÙ   r²   rG  Ú_stringify_titleÚ_stringify_headerr   r    r   r'   r    r†   r…   r‚  Ú_stringify_rowÚ__dict__r×   rŸ   r]  )rî   rï   r  r£   ro  rr  Úformatted_rowsrW   Ú
left_j_lenÚright_j_lenr  rD  Úold_lineÚnew_lines                 r%   r  ÚPrettyTable.get_string~  s÷  € ð` ×#Ñ# FÓ+ˆàˆð �=‰=˜AÓ w¨}×'=ÀWÈX×EVØð �~‰~˜gÓ&ˆØ×%Ñ% gÓ.ˆð ×*Ñ*¨4Ó0ˆð 	×Ñ˜^Ô5Ø×+Ñ+¨GÓ4ˆŒð ˜Ñ ×/ D§K¡KˆÞØ�L‰L˜×.Ñ.¨uÓ>Ô?ð �8×Ø�L‰L˜×/Ñ/°Ó8Õ9Ø�X× 7¨8Ñ#4Ü�N‰NÜ×Ñð9
ó $
ð �L‰L˜×.Ñ.¨w¸fÐ.ÐEÔFÞ˜ Ñ*¬z¯~©~¼z×?OÑ?OÐ.PÓPÜ  ×!8Ñ!8Ó9�
Ü! $×":Ñ":Ó;�à×+Ñ+Ø˜B‘i 
¨<Ð8ñ9à×.Ñ.ñ/ð �b‘	ô   ¨s°Ð 3°X¸c¸r°]ÖC‰LˆCØ�L‰L˜×,Ñ,¨S¸4¿;¹;ÓGÔHßˆwØ—‘˜T×2Ñ2°7Ó;Ö<ñ Dö Ø�L‰LØ×#Ñ#Ø" 2Ñ&ØØ×)Ñ)¨'¸Ð)ÐCóôð �8× ¨Ñ!2´j×6FÑ6FÓ!FØ�L‰L˜×.Ñ.¨w¸iÐ.ÐHÔIà˜Ÿ™Ó%¨$¯,¯,Ü˜T×4Ñ4Ó5ˆJÜ˜d×6Ñ6Ó7ˆKñ !&ôá %�HØ (§¡¨tÖ 4�Hð �h¨;¨,Ð7Ñ7¸#Ô=á 4ñ >Ù %ð ñ ð �y‰y˜ÓÐùós   Ì,Mc                ó  • US   (       d  US   (       d  gU R                  U5      u  p4US   [        R                  [        R                  4;   a	  XS-      /nOUS   /nU R                  (       d'  UR                  XS-      5        SR                  U5      $ [        U R                  U R                  5       HÛ  u  pgUS   (       a
  XaS   ;  a  M  Xs-   U-   US   -  nU R                  (       aP  U R                  U   S	;   a  S
U R                  -   USS  -   nU R                  U   S;   a  US S U R                  -   S
-   nUR                  U5        US   [        R                  :X  a  UR                  XS-      5        MÇ  UR                  US   5        MÝ     US   [        R                  [        R                  4;   a&  UR                  5         UR                  XS-      5        US   (       a  US   (       d  USS nSR                  U5      $ )Nrg   rh   rQ  rq   r†   r|   r…   rd   )rL   rM   rø   r   )rM   rN   éþÿÿÿr~   r   rU  )rƒ  r'   r    r   rå   rG  r]  r‚  rØ   rÆ   r«   rƒ  )	rî   r  r«  r–  r—  rX  r~  r¥   rœ   s	            r%   r­  ÚPrettyTable._stringify_hruleõ  så  € ð �x× ¨Ð1K×)LØØ×-Ñ-¨gÓ6‰
ˆØ�8Ñ¤§¡´×1AÑ1AÐ BÓBØÐ$8Ñ8Ñ9Ð:‰DàÐ-Ñ.Ð/ˆDà× × Ø�K‰K˜Ð(=Ñ =Ñ>Ô?Ø—7‘7˜4“=Ð Ü × 1Ñ 1°4·<±<Ö@‰LˆEØ�x×  U¸(Ñ2CÓ%CÙà‘L 4Ñ'¨7Ð3DÑ+EÑEˆDð ×*×*Ø—;‘;˜uÑ%¨Ó3Ø ×!<Ñ!<Ñ<¸tÀAÀB¸xÑG�DØ—;‘;˜uÑ%¨Ó3Ø  ˜9 t×'BÑ'BÑBÀSÑH�Dà�K‰K˜ÔØ�xÑ ¤J§N¡NÓ2Ø—‘˜G¨OÑ$;Ñ<Ö=à—‘˜GÐ$5Ñ6Ö7ñ# Að$ �8Ñ¤§¡´×1AÑ1AÐ BÓBØ�H‰HŒJØ�K‰K˜Ð(=Ñ =Ñ>Ô?àÐ-×.°w¸x×7HØ˜˜"�:ˆDà�w‰w�t‹}Ðr$   c                óv  • / nU R                  U5      u  pEUS   (       a—  US   [        R                  :X  aH  [        R                  US'   UR	                  U R                  US5      5        [        R                  US'   O8US   [        R                  :X  a!  UR	                  U R                  US5      5        / nUS   [        R                  [        R                  4;   a  US   (       a  US   OSnUR	                  U5        SU-  U-   SU-  -   nU R                  U5      u  pE[        U R                   Vs/ sH  oˆU-   U-   S-   PM     sn5      n	UR	                  U R                  XS-
  S5      5        UR	                  U5        UR	                  SR                  U5      5        S	R                  U5      $ s  snf )
Nrg   rq   rª  r{   rø   r   rM   rQ  r–   )
rƒ  r'   r    r   rG  r­  r‚  rØ   rú   r]  )
rî   rW   r  r£   r–  r—  rX  ÚendpointrH  Ú
sum_widthss
             r%   r®  ÚPrettyTable._stringify_title  sƒ  € ØˆØ×-Ñ-¨gÓ6‰
ˆØ�8×Ø�xÑ ¤J§N¡NÓ2Ü$.×$4Ñ$4�˜Ñ!Ø—‘˜T×2Ñ2°7¸FÓCÔDÜ$.§N¡N�˜Ò!Ø˜Ñ"¤j×&6Ñ&6Ó6Ø—‘˜T×2Ñ2°7¸FÓCÔDØˆð �xÑ ¤Z§^¡^´Z×5EÑ5EÐ$FÓFØ˜×!ð �OÒ$ð ð	 	ð 	�‰�HÔØ�d‘
˜UÑ" S¨4¡ZÑ/ˆØ×-Ñ-¨gÓ6‰
ˆÜ°t·|²|ÓD±|°!˜d™( T™/¨AÔ-±|ÑDÓEˆ
à�‰�D—M‘M %°a©¸Ó=Ô>Ø�‰�HÔØ�‰�R—W‘W˜T“]Ô#Ø�y‰y˜ÓÐùò Es   Ä6F6c           
     óà  • / nU R                  U5      u  p4US   (       Ga&  US   [        R                  [        R                  4;   a²  UR	                  U R                  US5      5        US   (       av  US   [        R                  [        R                  4;   aO  [        U R                  5      n[        U R                  5      nU R                  US   XV*  -   U R                  -   US'   UR	                  S5        US   [        R                  [        R                  4;   a  UR	                  US   5        OUR	                  S	5        U R                  (       dM  US   [        R                  [        R                  4;   a  UR	                  US   5        OUR	                  S	5        [        U R                  U R                  5       GHD  u  pxUS
   (       a
  XqS
   ;  a  M  U R                  S:X  a  UR                  5       n	OeU R                  S:X  a  UR                  5       n	ODU R                  S:X  a  UR!                  5       n	O#U R                  S:X  a  UR#                  5       n	OUn	[%        U	5      U:”  a  U	S U n	UR	                  S	U-  U R'                  X˜U R(                  U   5      -   S	U-  -   5        US   (       d  US   (       d  GM  US   [        R                  :X  a  UR	                  US   5        GM3  UR	                  S	5        GMG     US   (       d+  US   (       a!  UR+                  5         UR	                  S	5        US   (       a;  US   [        R                  :X  a$  UR+                  5         UR	                  US   5        US   (       d
  US   (       aC  US   [        R,                  :w  a,  UR	                  S5        UR	                  U R.                  5        SR1                  U5      $ )Nrg   rp   rª  rW   rq   rU  r–   r{   rø   rd   rV   rX   rY   rh   rQ  )rƒ  r   r    r   rG  r­  r'   r    r†   r…   rå   r‚  rØ   r¹   Ú
capitalizerW   rX   rY   rš   rú   r«   rƒ  r!   rÙ   r]  )
rî   r  rX  r–  r—  r³  r´  r~  r¥   rR  s
             r%   r¯  ÚPrettyTable._stringify_header9  sH  € ØˆØ×-Ñ-¨gÓ6‰
ˆØ�8×ÐØ�xÑ ¤Z§^¡^´Z×5EÑ5EÐ$FÓFØ—‘˜D×1Ñ1°'¸6ÓBÔCØ˜7×#¨°Ñ(9Ü—N‘NÜ×$Ñ$ð>ó )ô "% T×%<Ñ%<Ó!=�JÜ"% d×&>Ñ&>Ó"?�Kà×/Ñ/Ø˜r™( :¨lÐ;ñ<à×2Ñ2ñ3ð ˜‘Hð
 —‘˜DÔ!Ø�xÑ ¤Z§^¡^´Z×5EÑ5EÐ$FÓFØ—‘˜G OÑ4Õ5à—‘˜CÔ à× × Ø�xÑ ¤Z§^¡^´Z×5EÑ5EÐ$FÓFØ—‘˜G OÑ4Õ5à—‘˜CÔ Ü × 1Ñ 1°4·<±<×@‰LˆEØ�x×  U¸(Ñ2CÓ%CÙØ×!Ñ! UÓ*Ø!×,Ñ,Ó.‘	Ø×#Ñ# wÓ.Ø!ŸK™K›M‘	Ø×#Ñ# wÓ.Ø!ŸK™K›M‘	Ø×#Ñ# wÓ.Ø!ŸK™K›M‘	à!�	Ü 	Ó*¨UÓ2Ø% f uÐ-�	Ø�K‰KØ�d‘
Ø—-‘- 	°$·+±+¸eÑ2DÓEñFà˜‘*ñôð
 �x×  GÐ,F×$GÒ$GØ˜8Ñ$¬
¯©Ó6Ø—K‘K ¨Ñ 8×9à—K‘K ×$ñ1 Að8 �x×  WÐ-G×%HØ�H‰HŒJØ�K‰K˜Ôð �8× ¨Ñ!2´j×6FÑ6FÓ!FØ�H‰HŒJØ�K‰K˜ Ñ0Ô1Ø�H× Ð)C×!DÈ'ØñK
ä�_‰_óKð �K‰K˜ÔØ�K‰K˜Ÿ™Ô$Ø�w‰w�t‹}Ðr$   c                óJ  • SS K n[        [        S[        U5      5      U R                  XR
                  5       H�  u  pVpxUR                  S5      n	/ n
U	 HZ  nUS:X  a   U R                  R                  U5      =nb  Un[        U5      U:”  a  UR                  X¸5      nU
R                  U5        M\     U
n	SR                  U	5      nXqU'   M’     SnU H  n[        U5      S   nXý:”  d  M  UnM     / nU R                  U5      u  nn[        SU5       H{  nUR                  / 5        US   (       d  M   US   [        R                   [        R"                  4;   a   UU   R                  U R$                  5        Mg  UU   R                  S5        M}     [        U R                  XR
                  5       GHN  u  pgnU R&                  U   nUR                  S5      n	U[        U	5      -
  nU(       aK  US:X  a,  S	/[)        US
-  5      -  U	-   S	/U[)        US
-  5      -
  -  -   n	OUS:X  a
  S	/U-  U	-   n	O	U	S	/U-  -   n	[+        U	5       H¸  u  nnUS   (       a
  XbS   ;  a  M  UU   R                  SU-  U R-                  X¸U R.                  U   5      -   SU-  -   5        US   (       d  US   (       d  Mm  US   [        R                   :X  a   UU   R                  U R$                  5        M¤  UU   R                  S5        Mº     GMQ     US   (       d1  US   (       a'  US   R1                  5         US   R                  S5        [        SU5       HR  nUS   (       d  M  US   [        R"                  :X  d  M(  UU   R1                  5         UU   R                  US   5        MT     US   (       aE  US   [2        R                   :X  a.  UUS-
     R                  S5        UUS-
     R                  U5        U Vs/ sH  nS	R                  U5      PM     nnSR                  U5      $ s  snf )Nr   r–   r‰  r   rg   rq   rø   rR   rQ  r   rS   rd   rh   rU  r{   rp   )Útextwrapr‚  rF  r    rå   rØ   rŸ   r‘   rä   rš   ÚfillrG  r]  r¦   rƒ  r'   r    r   r{   r¬   r_   rY  rú   r«   rƒ  r   )rî   r  r  ÚhrulerÃ  r
  r~  r~  r¥   r£   Ú	new_linesrœ   rŒ  Ú
row_heightrM   ÚhrX  r–  r—  ÚyrŽ   Úd_heightÚbits_yÚbits_strs                           r%   r°  ÚPrettyTable._stringify_row€  sÙ  € Ûä*-Ü�!”S˜“XÓ × 1Ñ 1°3¿¹ö+
Ñ&ˆE˜%ð —K‘K Ó%ˆEØ#%ˆIÛ�à˜F“NØ%)×%5Ñ%5×%9Ñ%9¸%Ó%@Ð@˜ÑMà#�DÜ# DÓ)¨EÓ1Ø#Ÿ=™=¨Ó5�DØ× Ñ  Ö&ñ ð ˆEØ—I‘I˜eÓ$ˆEØ�‹Jñ#+
ð& ˆ
ÛˆAÜ˜!“˜Q‘ˆAØ�~Ø’
ñ ð
 !#ˆØ×-Ñ-¨gÓ6‰
ˆˆdÜ�q˜*Ö%ˆAØ�K‰K˜ŒOØ�x× Ñ Ø˜8Ñ$¬¯©¼×9IÑ9IÐ(JÓJØ˜‘G—N‘N 4×#5Ñ#5Ö6à˜‘G—N‘N 3Ö'ñ &ô $' t×'8Ñ'8¸#¿|¹|×#LÑˆE˜%Ø—\‘\ %Ñ(ˆFØ—K‘K Ó%ˆEØ!¤C¨£JÑ.ˆHÞØ˜S“=à˜œs 8¨a¡<Ó0Ñ0Øñ à˜$ (¬S°¸A±Ó->Ñ">Ñ?ñ@ñ ð
 ˜s“]Ø˜D 8™O¨eÑ3‘Eà! R D¨8¡OÑ3�Eä$ UÖ+‘��4Ø˜8×$¨¸hÑ6GÓ)GÙà�Q‘—‘Ø˜$‘JØ—m‘m D°·±¸UÑ1CÓDñEà˜D‘jñ!ôð
 ˜8×$¨Ð0J×(KÑ(KØ˜xÑ(¬J¯N©NÓ:Ø˜Q™Ÿ™ t×'9Ñ'9Ö:à˜Q™Ÿ™ sÖ+ô ,ñ! $MðB �x×  WÐ-G×%HØ�‰H�L‰LŒNØ�‰H�O‰O˜CÔ ô �q˜*Ö%ˆAØ�x× Ñ  W¨XÑ%6¼*×:JÑ:JÕ%JØ�Q‘—‘”Ø�Q‘—‘˜w Ñ7Ö8ñ &ð
 �8× ¨Ñ!2´j·n±nÓ!DØ�˜a‘Ñ ×'Ñ'¨Ô-Ø�˜a‘Ñ ×'Ñ'¨Ô.á26Ó7±$¨�B—G‘G˜F–O±$ˆÐ7Ø�y‰y˜Ó"Ð"ùò 8s   Ï3P c                ó*  • / nUR                  SS5      US'   UR                  SU R                  5      n [        US   U-   U5      US'   UR                  U R                  " S0 UD65        US   U:X  a  OUS==   U-  ss'   MO  UR                  U5      $ )Nr`   r   rb   r   )rä   rý   rŠ  rG  r  r]  )rî   Úpage_lengthÚ
line_breakrï   ÚpagesÚtrue_ends         r%   ÚpaginateÚPrettyTable.paginateÙ  s–   € ØˆØ Ÿ*™* W¨aÓ0ˆˆw‰Ø—:‘:˜e T§]¡]Ó3ˆØÜ  w¡°+Ñ =¸xÓHˆF�5‰MØ�L‰L˜ŸšÑ2¨6Ñ2Ô3Ø�e‰} Ó(ØØ�7‹O˜{Ñ*‹Oñ ð �‰˜uÓ%Ð%r$   c                óú  • SSK nU R                  U5      nUR                  5        VVs0 sH  u  pEXC;  d  M  XE_M     nnn[        R                  " 5       nUR
                  " U40 UD6nUR                  S5      (       a[  US   (       a6  UR                  U R                   V	s/ sH  o™US   ;   d  M  U	PM     sn	5        OUR                  U R                  5        U R                  U5      n
US   (       aG  U
 VV	Vs/ sH7  n[        U R                  U5       V	Vs/ sH  u  pœX“S   ;   d  M  UPM     snn	PM9     n
n	nnU
 H  nUR                  U5        M     UR                  5       $ s  snnf s  sn	f s  snn	f s  snn	nf )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   Nrf   rd   )rp  r  r,  ÚioÚStringIOÚwriterrä   Úwriterowrå   rž  r‚  Úgetvalue)rî   rï   rp  r  r›  r~  Úcsv_optionsÚ
csv_bufferÚ
csv_writerrV  ro  r  rz  s                r%   rs  ÚPrettyTable.get_csv_stringè  sf  € ó 	à×#Ñ# FÓ+ˆà)/¯©¬ô
Ù)7™:˜3¸3Ñ;M‹JˆCŠJ©ð 	ñ 
ô —[’[“]ˆ
Ø—Z’Z 
Ñ:¨kÑ:ˆ
à�;‰;�x× Ñ Ø�x× Ø×#Ñ#Ø $× 1Ò 1ÓLÑ 1˜1¸'À(Ñ:KÑ5K—QÑ 1ÑLõð ×#Ñ# D×$5Ñ$5Ô6à�~‰~˜gÓ&ˆØ�8×ñ  õá�Cô  # 4×#4Ñ#4°cÔ:ÔUÑ:‘t�q¸aÈ8ÑCTÑ>T—Ñ:ÕUÙð ò ó ˆCØ×Ñ Ö$ñ ð ×"Ñ"Ó$Ð$ùó/
ùò Mùó Vùôs4   ©
E%·E%Â!E+Â0E+Ã:E6ÄE0Ä)E0Ä/E6Å0E6c           
     ó  • SSK nU R                  U5      nSSSS.nUR                  UR                  5        VVs0 sH  u  pVXS;  d  M  XV_M     snn5        / nUR	                  S5      (       a[  US   (       a6  UR                  U R                   Vs/ sH  oˆUS   ;   d  M  UPM     sn5        OUR                  U R                  5        U R                  U5      n	US   (       aM  U	 HF  n
UR                  [        U R                  U
5       VVs0 sH  u  p‹XƒS   ;   d  M  X‹_M     snn5        MH     O7U	 H1  n
UR                  [        [        U R                  U
5      5      5        M3     UR                  " U40 UD6$ s  snnf s  snf s  snnf )	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é   )Ú,rK  T)ÚindentÚ
separatorsÚ	sort_keysrf   rd   )ro  r  Úupdater,  rä   rG  rå   rë   rž  r‚  rl  Údumps)rî   rï   ro  r  Újson_optionsr›  r~  ÚobjectsrV  ro  r  rz  s               r%   rr  ÚPrettyTable.get_json_string	  so  € ó 	à×#Ñ# FÓ+ˆàØ%Øñ(
ˆð
 	×ÑØ*0¯,©,¬.ÔO©.™J˜C¸CÑ<N‹ZˆSŠZ©.ÒOô	
ð 57ˆà�;‰;�x× Ñ Ø�x× Ø—‘¨4×+<Ò+<ÓWÑ+< aÀWÈXÑEVÑ@V§Ñ+<ÑWÕXà—‘˜t×/Ñ/Ô0Ø�~‰~˜gÓ&ˆØ�8×Û�Ø—‘ô %(¨×(9Ñ(9¸3Ô$?ôá$?™D˜AØ¨Ñ 1Ñ1ó ˜šÙ$?òöò ó �Ø—‘œt¤C¨×(9Ñ(9¸3Ó$?Ó@ÖAñ ð �zŠz˜'Ñ2 \Ñ2Ð2ùó/ Pùò  Xùós#   º
E;
ÁE;
ÂFÂ FÄFÄFc                ó„   • U R                  U5      nUS   (       a  U R                  U5      nU$ U R                  U5      nU$ )aa  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
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 Falsero   )r  Ú_get_formatted_html_stringÚ_get_simple_html_string©rî   rï   r  Ústrings       r%   r  ÚPrettyTable.get_html_string?	  sK   € ðF ×#Ñ# FÓ+ˆà�8×Ø×4Ñ4°WÓ=ˆFð ˆð ×1Ñ1°'Ó:ˆFàˆr$   c           
     ó  • SSK Jn  / nUS   (       a  SnOSnS/nUS   (       a@  US   R                  5        H)  u  pgUR                  SU" U5       S	U" U5       S
35        M+     UR                  S5        UR                  SR	                  U5      5        US   =(       d    U R
                  nU(       a  UR                  SU" U5       S35        US   (       a­  UR                  S5        UR                  S5        U R                   HY  n	US   (       a
  X‘S   ;  a  M  US   (       a  U" U	5      n	UR                  SR                  U	R                  SU5      5      5        M[     UR                  S5        UR                  S5        UR                  S5        U R                  U5      n
U R                  U
5      nU Hš  nUR                  S5        [        U R                  U5       H[  u  p�US   (       a
  X‘S   ;  a  M  US   (       a  U" U5      nUR                  SR                  UR                  SU5      5      5        M]     UR                  S5        Mœ     UR                  S5        UR                  S5        SR	                  U5      $ )Nr   ©Úescaper€   ú<br/>ú<br>ú<tablern   rø   ú="Ú"Ú>rQ  rW   ú    <caption>ú
</caption>rf   ú    <thead>ú        <tr>rd   r’   z            <th>{}</th>r–   ú        </tr>ú    </thead>ú    <tbody>r“   z            <td>{}</td>ú    </tbody>ú</table>)rn  rò  r,  rG  r]  r²   rå   ro   Úreplacerž  r§  r‚  )rî   r  rò  r£   Ú	linebreakÚopen_tagÚ	attr_nameÚ
attr_valuerW   r~  ro  r²  r  Údatums                 r%   rì  Ú#PrettyTable._get_simple_html_stringk	  s4  € ÝàˆØ�7×Ø‰IàˆIà�:ˆØ�<× Ø)0°Ñ)>×)DÑ)DÖ)FÑ%�	Ø—‘ !¡F¨9Ó$5Ð#6°b¹À
Ó9KÐ8LÈAÐ NÖOñ *Gà�‰˜ÔØ�‰�R—W‘W˜XÓ&Ô'ð ˜Ñ ×/ D§K¡KˆÞØ�L‰L˜=©°«¨°zÐBÔCð �8×Ø�L‰L˜Ô'Ø�L‰L˜Ô(Ø×*Ô*�Ø˜8×$¨¸hÑ6GÓ)GÙØ˜?×+Ù" 5›M�Eà—‘Ø-×4Ñ4°U·]±]À4ÈÓ5SÓTöñ +ð �L‰L˜Ô)Ø�L‰L˜Ô(ð 	�‰�]Ô#Ø�~‰~˜gÓ&ˆØ×*Ñ*¨4Ó0ˆÛ!ˆCØ�L‰L˜Ô(Ü # D×$5Ñ$5°sÖ ;‘�Ø˜8×$¨¸hÑ6GÓ)GÙØ˜=×)Ù" 5›M�Eà—‘Ø-×4Ñ4°U·]±]À4ÈÓ5SÓTöñ !<ð �L‰L˜Ö)ñ "ð 	�‰�^Ô$Ø�‰�ZÔ à�y‰y˜ÓÐr$   c                ó4	  • SSK Jn  / nU R                  U5      u  pEUS   (       a  SnOSnS/nUS   (       Gad  US   [        R                  :X  a*  US	   [
        R                  :X  a  UR                  S
5        GO#US   [        R                  :X  a)  US	   [
        R                  :X  a  UR                  S5        OãUS   [        R                  :X  a)  US	   [
        R                  :X  a  UR                  S5        O£US   [        R                  :X  a  UR                  S5        OzUS   [        R                  :X  a  UR                  S5        OQUS	   [
        R                  :X  a  UR                  S5        O(US	   [
        R                  :X  a  UR                  S5        US   (       d  US   (       a  UR                  S5        US   (       a@  US   R                  5        H)  u  p‰UR                  SU" U5       SU" U	5       S35        M+     UR                  S5        UR                  SR                  U5      5        US   =(       d    U R                  n
U
(       a  UR                  SU" U
5       S35        US   (       aª  UR                  S5        UR                  S5        U R                   HV  nUS   (       a
  X±S   ;  a  M  US    (       a  U" U5      nUR                  S!U5      nUR                  S"U S#U S$U S%35        MX     UR                  S&5        UR                  S'5        UR                  S(5        U R                  U5      nU R                  U5      n/ n/ nU R                   HM  nUR                  S)S*S+S,.U R                  U      5        UR                  S-S.S/S0.U R                   U      5        MO     U H¢  nUR                  S5        [#        U R                  UUU5       Ha  u  nnnnUS   (       a
  X±S   ;  a  M  US1   (       a  U" U5      nUR                  S!U5      nUR                  S2U S#U S3U S4U S5U S635        Mc     UR                  S&5        M¤     UR                  S75        UR                  S85        S!R                  U5      $ )9Nr   rñ  r€   ró  rô  rõ  rg   rp   rq   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"rh   z rules="cols"rn   rø   rö  r÷  rø  rQ  rW   rù  rú  rf   rû  rü  rd   r’   r–   z%            <th style="padding-left: zem; padding-right: zem; text-align: center">z</th>rý  rþ  rÿ  ÚleftÚrightÚcenter)rL   rN   rM   ÚtopÚmiddleÚbottomrP   r“   z%            <td style="padding-left: zem; text-align: z; vertical-align: z">z</td>r   r  )rn  rò  rƒ  r   r    r'   rG  r   r,  r]  r²   rå   r  rž  r§  r«   r¬   r‚  )rî   r  rò  r£   r–  r—  r  r  r  r  rW   r~  Úcontentro  r²  ÚalignsÚvalignsr  r  rŒ   rŽ   s                        r%   rë  Ú&PrettyTable._get_formatted_html_string¦	  s:  € ÝàˆØ×-Ñ-¨gÓ6‰
ˆØ�7×Ø‰IàˆIà�:ˆØ�8×Ðà˜Ñ!¤Z§^¡^Ó3Ø˜HÑ%¬¯©Ó7à—‘Ð :Ö;à˜Ñ!¤Z×%5Ñ%5Ó5Ø˜HÑ%¬×)9Ñ)9Ó9à—‘ Õ/à˜Ñ!¤Z×%5Ñ%5Ó5Ø˜HÑ%¬¯©Ó7à—‘Ð ;Õ<Ø˜Ñ"¤j×&6Ñ&6Ó6Ø—‘Ð 1Õ2Ø˜Ñ"¤j§n¡nÓ4Ø—‘Ð >Õ?Ø˜Ñ"¤j×&6Ñ&6Ó6Ø—‘Ð 1Õ2Ø˜Ñ"¤j§n¡nÓ4Ø—‘Ð >Ô?Ø�x×  WÐ-G×%HØ�O‰O˜OÔ,Ø�<× Ø)0°Ñ)>×)DÑ)DÖ)FÑ%�	Ø—‘ !¡F¨9Ó$5Ð#6°b¹À
Ó9KÐ8LÈAÐ NÖOñ *Gà�‰˜ÔØ�‰�R—W‘W˜XÓ&Ô'ð ˜Ñ ×/ D§K¡KˆÞØ�L‰L˜=©°«¨°zÐBÔCð �8×Ø�L‰L˜Ô'Ø�L‰L˜Ô(Ø×*Ô*�Ø˜8×$¨¸hÑ6GÓ)GÙØ˜?×+Ù" 5›M�EàŸ-™-¨¨iÓ8�Ø—‘ð%Ø%) Fð +&Ø&* Vð ,+Ø+2¨)°5ð:öñ +ð �L‰L˜Ô)Ø�L‰L˜Ô(ð 	�‰�]Ô#Ø�~‰~˜gÓ&ˆØ×*Ñ*¨4Ó0ˆØˆØˆØ×&Ô&ˆEØ�M‰MØ 7°Ñ:¸4¿;¹;ÀuÑ;MÑNôð �N‰NØ (°Ñ:¸4¿<¹<ÈÑ;NÑOöñ	 'ó "ˆCØ�L‰L˜Ô(Ü/2Ø×!Ñ! 3¨°ö0Ñ+��u˜e Vð ˜8×$¨¸hÑ6GÓ)GÙØ˜=×)Ù" 5›M�EàŸ-™-¨¨iÓ8�Ø—‘ð%Ø%) Fð +&Ø&* Vð ,#Ø#( 'ð *'Ø'- h¨b°°	¸ð	@öñ0ð  �L‰L˜Ö)ñ% "ð& 	�‰�^Ô$Ø�‰�ZÔ à�y‰y˜ÓÐr$   c                ó„   • U R                  U5      nUS   (       a  U R                  U5      nU$ U R                  U5      nU$ )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
format - Controls whether or not HTML tables are formatted to match
    styling options (True or False)
ro   )r  Ú_get_formatted_latex_stringÚ_get_simple_latex_stringrí  s       r%   rt  ÚPrettyTable.get_latex_string
  sJ   € ð0 ×#Ñ# FÓ+ˆà�8×Ø×5Ñ5°gÓ>ˆFð ˆð ×2Ñ2°7Ó;ˆFØˆr$   c                óÄ  • / n/ nUS   (       a&  U R                    Vs/ sH  oDUS   ;   d  M  UPM     nnOU R                   nSR                  U Vs/ sH  o@R                  U   PM     sn5      nSU S3nUR                  U5        US   (       a#  UR                  SR                  U5      S-   5        U R	                  U5      nU R                  U5      nU HV  n	[        U R                   U	5       V
Vs/ sH  u  p«X£;   d  M  UPM     nn
nUR                  SR                  U5      S-   5        MX     UR                  S5        S	R                  U5      $ s  snf s  snf s  snn
f )
Nrd   rQ  ú\begin{tabular}{Ú}rf   ú & ú \\ú\end{tabular}ú
)rå   r]  r«   rG  rž  r§  r‚  )rî   r  r£   Úwanted_fieldsr~  Ú
alignmentsÚ	begin_cmdro  r²  r  rV  rz  Úwanted_datas                r%   r  Ú$PrettyTable._get_simple_latex_string3
  sW  € ØˆàˆØ�8×à#'×#4Ò#4óÙ#4˜%ÀÈÑARÑ8R—Ñ#4ð ð ˆMð !×-Ñ-ˆMà—W‘W¹mÓL¹m°UŸk™k¨%Ô0¹mÑLÓMˆ
à*¨:¨,°bÐ9ˆ	Ø�‰�YÔð �8×Ø�L‰L˜Ÿ™ MÓ2°WÑ<Ô=ð �~‰~˜gÓ&ˆØ×*Ñ*¨4Ó0ˆÛ!ˆCä! $×"3Ñ"3°SÔ9ôÙ9‘d�a¸QÑ=O—Ñ9ð ñ ð �L‰L˜Ÿ™ KÓ0°7Ñ:Ö;ñ	 "ð 	�‰Ð%Ô&à�{‰{˜5Ó!Ð!ùò5ùò Mùós   �E¬EÁEÃ2
EÄ Ec                óø  • / n/ nUS   (       a&  U R                    Vs/ sH  oDUS   ;   d  M  UPM     nnOU R                   nU Vs/ sH  o@R                  U   PM     nnUS   (       a)  US   [        R                  :X  a  SR	                  U5      nO7US   (       d  US   (       a  SR	                  U5      nOSR	                  U5      nUS   (       a/  US   [        R                  [        R
                  4;   a  SU-   S-   nSU S3nUR                  U5        US   (       a8  US	   [        R                  [        R
                  4;   a  UR                  S
5        US   (       a#  UR                  SR	                  U5      S-   5        US   (       d
  US   (       a8  US	   [        R                  [        R                  4;   a  UR                  S
5        U R                  U5      nU R                  U5      n	U R                  U5      nU	 HŒ  n
[        U R                   U
5       VVs/ sH  u  p¼X³;   d  M  UPM     nnnUR                  SR	                  U5      S-   5        US   (       d  Mb  US	   [        R                  :X  d  M{  UR                  S
5        MŽ     US   (       a(  US	   [        R
                  :X  a  UR                  S
5        UR                  S5        SR	                  U5      $ s  snf s  snf s  snnf )Nrd   rg   rq   rá   rh   rQ  r  r  rp   z\hlinerf   r  r  r  r  )rå   r«   r'   r    r]  r   rG  r   r"   rž  r§  r‚  )rî   r  r£   r  r~  Úwanted_alignmentsÚalignment_strr!  ro  r²  r  rV  rz  r"  s                 r%   r  Ú'PrettyTable._get_formatted_latex_stringT
  s³  € Øˆà#%ˆØ�8×à#'×#4Ò#4óÙ#4˜%ÀÈÑARÑ8R—Ñ#4ð ð ˆMð !×-Ñ-ˆMá=JÓK¹]°EŸ[™[¨Ô/¹]ÐÐKØ�8× ¨Ñ!2´j·n±nÓ!DØŸH™HÐ%6Ó7‰MØ˜×" wÐ/I×'JØŸH™HÐ%6Ó7‰MàŸG™GÐ$5Ó6ˆMà�8× ¨Ñ!2Ü�N‰NÜ×Ñð7
ó "
ð   -Ñ/°#Ñ5ˆMà*¨=¨/¸Ð<ˆ	Ø�‰�YÔØ�8× ¨Ñ!2Ü�N‰NÜ×Ñð7
ó "
ð �L‰L˜Ô#ð �8×Ø�L‰L˜Ÿ™ MÓ2°WÑ<Ô=Ø�H× Ð)C×!DÈ'ØñK
ä�n‰nœj×/Ñ/Ð0óK1ð �L‰L˜Ô#ð �~‰~˜gÓ&ˆØ×*Ñ*¨4Ó0ˆØ�~‰~˜gÓ&ˆÛ!ˆCä! $×"3Ñ"3°SÔ9ôÙ9‘d�a¸QÑ=O—Ñ9ð ñ ð �L‰L˜Ÿ™ KÓ0°7Ñ:Ô;Ø�x× Ñ  W¨XÑ%6¼*¿.¹.Õ%HØ—‘˜YÖ'ñ "ð �8× ¨Ñ!2´j×6FÑ6FÓ!FØ�L‰L˜Ô#à�‰Ð%Ô&à�{‰{˜5Ó!Ð!ùòkùò LùóFs   �K,¬K,ÁK1È$
K6È2K6)Pr«   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°   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ª   rŒ   rg   r„   rŠ   r‰   rt   rÛ   rë   rs   rf   r|   rr   r~   r†   rx   r�   r�   r×   rw   rh   r…   ry   rƒ   rˆ   r‡   rŽ   r{   r˜   )rë   úSequence[str] | NoneÚreturnr‰  )r¢   rz   r¥   r_   rŒ   rO   r)  rz   )r
  zint | slicer)  r¨   )r)  rz   ©r)  r‰  )r)  úlist[RowType])r)  ú
list[bool])r)  re   )r/  re   r)  r‰  )r)  ra   )r/  r_   r)  r‰  )r)  rc   )r/  zSequence[str | None]r)  r‰  )r)  r^   )r/  rz   r)  r‰  )r)  r_   )r/  r^   r)  r‰  )r)  rk   )r/  rk   r)  r‰  )r)  rZ   )r/  rZ   r)  r‰  )r)  r   )r/  r   r)  r‰  )r)  r'   )r/  r'   r)  r‰  )r)  rm   )r/  rm   r)  r‰  )rï   zMapping[str, Any]r)  r\   )r%  r*   r)  r‰  )ro  zIterable[RowType]r)  r‰  )r  rJ   rD  re   r)  r‰  )rK  r_   r)  r‰  )rM   rQ   )
rR  rz   rS  zSequence[Any]rŒ   rO   rŽ   rT   r)  r‰  )ÚIndex)rR  rz   r)  r‰  )r)  r   )r¢   )ru  rz   r)  rz   )r~  rz   r~  r   r)  rz   )ro  úlist[list[str]]r  r\   r)  r‰  )r  r\   r)  útuple[int, int])r  r\   r)  r+  )r  r\   r)  r,  )r  rJ   r)  ú	list[str])ro  r+  r)  r.  )rQ  )r  r\   r«  zLiteral['top_', 'bottom_', '']r)  rz   )rW   rz   r  r\   r)  rz   )r  r\   r)  rz   )r  r0  r  r\   rÅ  rz   r)  rz   )r(   Ú)rÏ  r_   rÐ  rz   r)  rz   )|r   r   r   r   r”   rñ   rí   rú   r  r  r  r  r  rì   r   r!  r)  rC  rG  r"  r(  r*  r+  r$  r%  r&  r#  r'  r-  r.  Úpropertyro  rr  r€   Úsetterr‘   rë   rŒ   rŽ   r�   r�   ru   rv   rd   rW   r`   rb   ri   rj   rl   rf   r   rg   rh   rp   rq   rr   rs   rt   rw   rx   ry   r{   r|   r}   r~   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   ro   r�   rn   r‚   r’   r“   r  r&  r!  r   r  r  r  r"  r#  r$  rB  r  rL  rO  rU  rZ  ra  rd  rg  rj  rv  r  r†  r“  rƒ  rž  r¡  r¤  r§  r  r­  r®  r¯  r°  rÓ  rs  rr  r  rì  rë  rt  r  r  r#   r   r$   r%   r¨   r¨   ž   sX  ‡ ØƒLØ Ó Ø"Ó"ØÓØÓØ Ó Ø Ó Ø(Ó(ØÓØƒKØ
ÓØÓØÓØ:Ó:ØƒMØ"Ó"ØƒMØ#Ó#ØÓØÓØÓØ!Ó!Ø8Ó8ØÓØ#Ó#Ø$Ó$ØÓØÓØ&Ó&ØÓØ"Ó"Ø%Ó%Ø$Ó$Ø#Ó#Ø(Ó(Ø'Ó'Ø!+Ó+Ø *Ó*ØƒMØÓØÓØÓØÓØÓØÓØƒMØÓØƒKöN6ò`ô Hò*'ôô !ô!ô&ô(A3òF"ò6!ò"ò"ò"ò"ò"ò"ò"ò$"ò"ò"ò"ò"ò"ò!ð óó ðð ó!ó ð!ð óó ðð ‡\�\óó ðð ñ!ó ð!ð ×Ññ	/ó ð	/ð ñ!ó ð!ð ×Ñóó ðð< ñó ðð ‡\�\ó-ó ð-ð ñó ðð ‡]�]ó	*ó ð	*ð ñó ðð ×Ñó-ó ð-ð ñó ðð ×Ñó-ó ð-ð ó%ó ð%ð ×Ñó$ó ð$ð ó%ó ð%ð ×Ñó$ó ð$ð óó ðð ‡]�]óó ðð óó ðð ‡\�\óó ðð óó ðð ‡\�\óó ðð óó ðð 	‡Z�Zóó ðð óó ðð ‡]�]óó ðð ó!ó ð!ð ×Ñó ó ð ð óó ðð ‡_�_óó ðð óó ðð ‡]�]óó ðð ó"ó ð"ð ×Ñó!ó ð!ð óó ðð ‡]�]óó ðð ó.ó ð.ð ×$Ñ$ó-ó %ð-ð óó ðð ‡]�]ôó ðð ôó ðð ‡]�]ôó ðð ñ ó ð ð ×Ñó.ó ð.ð ñ"ó ð"ð ×Ñó0ó ð0ð ñ#ó ð#ð ×Ññ!ó ð!ð ó#ó ð#ð ×Ñó"ó ð"ð ó(ó ð(ð ×Ñó'ó ð'ð ó)ó ð)ð ×Ñó(ó  ð(ð ó#ó ð#ð ×Ñó"ó ð"ð
 ó%ó ð%ð ×Ñó$ó ð$ð
 óEó ðEð ×!Ñ!ó*ó "ð*ð
 ó#ó ð#ð ×Ñó"ó ð"ð
 ó=ó ð=ð ×Ñó&ó ð&ð
 ó@ó ð@ð × Ñ ó)ó !ð)ð
 ó?ó ð?ð ×Ñó(ó  ð(ð
 ó>ó ð>ð ×Ñó'ó ð'ð
 óCó ðCð ×#Ñ#ó,ó $ð,ð
 óBó ðBð ×"Ñ"ó+ó #ð+ð
 óFó ðFð  ×&Ñ&ó/ó 'ð/ð
 óEó ðEð ×%Ñ%ó.ó &ð.ð
 óó ðð ‡]�]óó ðð ó!ó ð!ð ×Ñó ó ð ð ô ó ð ð ×Ñôó ðð ó"ó ð"ð ×Ñó!ó ð!ð ó#ó ð#ð ×Ñó"ó ð"ð ó!ó ð!ð ×Ñó ó ð õ*õ"ô*ô	*ô/ô*!ô%ô/ô/ôEõ&ð 8=÷ 'ð 'õ&&ô &ð Ø ñ#"àð#"ð ð#"ð ð	#"ð
 ð#"ð 
ö#"÷J!ð !õô*ôõ#÷
ð õ8'ôõJ&õX	õõ<õ$
õ7ôu ðp MOñ'Ø"ð'Ø+Ið'à	ö'õR õ6EõNW#÷r
&ð 
&ô#%ôP)3ô^*õX9 õvg ôZõ@"÷B:"ð :"r$   r¨   c                óT   • SS K nUR                  [        R                  SU 5      5      $ )Nr   rQ  )ÚwcwidthÚwcswidthÚ_reÚsub)r/  r5  s     r%   rš   rš   –
  s!   € Ûà×ÑœCŸG™G B¨Ó,Ó-Ð-r$   c                ó<  • SS K n0 nS H  nXR;   d  M
  UR                  U5      XE'   M     U(       a  UR                  " U 40 UD6nOPUR                  5       R	                  U R                  S5      5      nU R                  S5        UR                  X5      n[        S0 UD6nU(       a  Xl        O-[        U5       V	s/ sH  o™R                  5       PM     sn	Ul        U H1  n
UR                  U
 V	s/ sH  o™R                  5       PM     sn	5        M3     U$ s  sn	f s  sn	f )Nr   )Ú	delimiterÚdoublequoteÚ
escapecharÚlineterminatorÚ	quotecharÚquotingÚskipinitialspaceÚstricti   r   )rp  rƒ  ÚreaderÚSnifferÚsniffÚreadÚseekr¨   rë   ÚnextÚstripr  )Úfprë   rï   rp  Ú	fmtparamsÚparamrB  ÚdialectÚtablerÞ   r  s              r%   Úfrom_csvrN  ¡
  sì   € Ûà€Ió	ˆð �?Ø%Ÿz™z¨%Ó0ˆIÓñ	ö Ø—’˜BÑ, )Ñ,‰à—+‘+“-×%Ñ% b§g¡g¨d£mÓ4ˆØ
�‰�Œ
Ø—‘˜BÓ(ˆäÑ!˜&Ñ!€EÞØ'Õä04°V´Ó=±¨1ŸW™WžY±Ñ=ˆÔãˆØ�‰©#Ó.©# Q—w‘w–y©#Ñ.Ö/ñ ð €Lùò >ùò /s   Â;DÃ/D
c                óà   • U R                   (       aX  [        S0 UD6nU R                    Vs/ sH  o3S   PM	     snUl        U R                  5        H  nUR	                  U5        M     U$ g s  snf )Nr   r   )Údescriptionr¨   rë   Úfetchallr  )Úcursorrï   rM  Úcolr  s        r%   Úfrom_db_cursorrT  Ä
  sd   € Ø××ÜÑ%˜fÑ%ˆØ/5×/AÒ/AÓBÑ/A¨ œVÑ/AÑBˆÔØ—?‘?Ö$ˆCØ�M‰M˜#Öñ %àˆØùò	 Cs   «A+c                óØ   • SS K n[        S0 UD6nUR                  U 5      nUS   Ul        USS   H1  nUR                   Vs/ sH  oeU   PM	     nnUR	                  U5        M3     U$ s  snf )Nr   r   r   )ro  r¨   Úloadsrë   r  )Újson_stringrï   ro  rM  rè  Úobjr›  r  s           r%   Ú	from_jsonrY  Î
  sr   € ÛäÑ!˜&Ñ!€EØ�j‰j˜Ó%€GØ ™
€EÔØ�q�r‹{ˆØ#(×#4Ò#4Ó5Ñ#4˜C�3ŒxÑ#4ˆÐ5Ø�‰�cÖñ ð €Lùò 6s   ÁA'c                  óP   • \ rS rSrS
S jrSS jrSS jrSS jrSS jrSS jr	Sr
g	)ÚTableHandleriÚ
  c                ó¬   • [         R                  " U 5        Xl        / U l        / U l        / U l        SU l        S U l        SU l        SU l	        SU l
        g )Nr   rQ  F)r	   rñ   rï   ÚtablesÚlast_rowro  Úmax_row_widthÚactiveÚlast_contentÚis_last_row_headerÚcolspan)rî   rï   s     r%   rñ   ÚTableHandler.__init__Û
  sP   € Ü×Ò˜DÔ!ØŒØ)+ˆŒØ#%ˆŒØ24ˆŒ	ØˆÔØ"&ˆŒØˆÔØ"'ˆÔØˆ�r$   c                óp   • Xl         US:X  a  SU l        U H  u  p4US:X  d  M  [        U5      U l        M     g )NÚthTrc  )r`  rb  r_   rc  )rî   ÚtagÚattrsr›  r~  s        r%   Úhandle_starttagÚTableHandler.handle_starttagç
  s5   € ØŒØ�$‹;Ø&*ˆDÔ#Û‰JˆCØ�iÕÜ" 5›z�–ò  r$   c                ó¢  • US;   a…  U R                   R                  5       nU R                  R                  U5        U R                  (       a?  [        SU R                  5       H  nU R                  R                  S5        M      SU l        US:X  am  U R                  R                  U R                  U R                  45        [        U R                  [        U R                  5      5      U l	        / U l        SU l        US:X  a=  U R                  U R                  5      nU R                  R                  U5        / U l        SU l         S U l        g )	N)rf  Útdr   rQ  r   ÚtrFrM  rø   )ra  rH  r^  rG  rc  rF  ro  rb  r¡   r_  r    Úgenerate_tabler]  r`  )rî   rg  Ústripped_contentr  rM  s        r%   Úhandle_endtagÚTableHandler.handle_endtagï
  sÿ   € Ø�,ÓØ#×0Ñ0×6Ñ6Ó8ÐØ�M‰M× Ñ Ð!1Ô2Ø�|�|Ü˜q $§,¡,Ö/�AØ—M‘M×(Ñ(¨Ö,ñ 0à �”à�$‹;Ø�I‰I×Ñ˜dŸm™m¨T×-DÑ-DÐEÔFÜ!$ T×%7Ñ%7¼¸T¿]¹]Ó9KÓ!LˆDÔØˆDŒMØ&+ˆDÔ#Ø�'‹>Ø×'Ñ'¨¯	©	Ó2ˆEØ�K‰K×Ñ˜uÔ%ØˆDŒIØˆÔØˆ�r$   c                ó.   • U =R                   U-  sl         g r˜   )ra  )rî   Údatas     r%   Úhandle_dataÚTableHandler.handle_data  s   € Ø×Ò˜TÑ!Ör$   c                óŽ  • [        S0 U R                  D6nU R                   HŸ  n[        US   5      U R                  :  aB  U R                  [        US   5      -
  n[        SU5       H  nUS   R                  S5        M     US   (       a   U R                  US   5        US   Ul        M‹  UR                  US   5        M¡     U$ )z5
Generates from a list of rows a PrettyTable object.
r   r   râ   r   )
r¨   rï   ro  r    r_  rF  rG  Úmake_fields_uniquerë   r  )rî   ro  rM  r  ÚappendsrT  s         r%   rn  ÚTableHandler.generate_table  s°   € ô Ñ*˜dŸk™kÑ*ˆØ—9”9ˆCÜ�3�q‘6‹{˜T×/Ñ/Ó/Ø×,Ñ,¬s°3°q±6«{Ñ:�Ü˜q 'Ö*�AØ˜‘F—M‘M #Ö&ñ +ð �1�vØ×'Ñ'¨¨A©Ô/Ø$'¨¡F�Ö!à—‘˜c !™fÖ%ñ ð ˆr$   c                óª   • [        S[        U5      5       H:  n[        US-   [        U5      5       H  nX   X   :X  d  M  X==   S-  ss'   M     M<     g)z2
iterates over the row and make each field unique
r   r   Ú'N)rF  r    )rî   rd   rT  Újs       r%   rw  ÚTableHandler.make_fields_unique  sJ   € ô �qœ#˜f›+Ö&ˆAÜ˜1˜q™5¤# f£+Ö.�Ø‘9 ¡	Õ)Ø“I Ñ$•Ió /ò 'r$   )	r`  rc  rb  rï   ra  r^  r_  ro  r]  Nr*  )rg  rz   rh  zlist[tuple[str, str | None]]r)  r‰  )rg  rz   r)  r‰  )rs  rz   r)  r‰  )ro  zlist[tuple[list[str], bool]]r)  r¨   )rd   r0  r)  r‰  )r   r   r   r   rñ   ri  rp  rt  rn  rw  r#   r   r$   r%   r[  r[  Ú
  s    † ô
ô*ôô*"ô÷$%r$   r[  c                óR   • [        S0 UD6nUR                  U 5        UR                  $ )zw
Generates a list of PrettyTables from a string of HTML code. Each <table> in
the HTML becomes one PrettyTable object.
r   )r[  Úfeedr]  )Ú	html_coderï   Úparsers      r%   Ú	from_htmlr‚  #  s'   € ô Ñ#˜FÑ#€FØ
‡K�K�	ÔØ�=‰=Ðr$   c                ó€   • [        U 40 UD6n [        U5      S:X  d   e US   $ ! [         a    Sn[        U5      ef = f)zY
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    r6  r7  )r€  rï   r]  r  s       r%   Úfrom_html_oner„  .  sV   € ô �yÑ+ FÑ+€FðÜ�6‹{˜aÓÐÑð �!‰9Ðøô ó ØSˆÜ˜‹oÐðús   Ž% ¥=c                óÆ   • UR                  SU  35      =nc  S[         SU  S3n[        U5      eX!U '   U S;   a  SU  S3nOSU  S3n[        R                  " U[
        S	S
9  U$ )NÚ_DEPRECATED_zmodule 'z' has no attribute 'r{  >   r    r!   r   r"   zthe 'zM' constant is deprecated, use the 'HRuleStyle' and 'VRuleStyle' enums insteadz;' constant is deprecated, use the 'TableStyle' enum insteadr   )Ú
stacklevel)rä   r   rÿ   ÚwarningsÚwarnÚDeprecationWarning)r   Úmodule_globalsr/  r  s       r%   Ú_warn_deprecationrŒ  =  s�   € Ø×!Ñ! L°°Ð"7Ó8Ð8ˆÑAØœ˜
Ð"6°t°f¸AÐ>ˆÜ˜SÓ!Ð!Ø�4ÑØÐ1Ó1à�D�6ð Bð Bñ 	ð
 �d�VÐVÐWˆÜ‡M‚M�#Ô)°aÒ8Ø€Jr$   c                ó&   • [        U [        5       S9$ )N)r‹  )rŒ  Úglobals)r   s    r%   r  r  M  s   € Ü˜T´'³)Ñ<Ð<r$   )r¢   rz   r)  r/  )r/  rz   r)  r_   r˜   )rë   r(  r)  r¨   )rR  r   r)  zPrettyTable | None)rW  zstr | bytesr)  r¨   )r€  rz   r)  zlist[PrettyTable])r€  rz   r)  r¨   )r   rz   r‹  zdict[str, Any]r)  r   )r   rz   r)  r   )HÚ
__future__r   rÖ  Úrerˆ  Úcollections.abcr   r   r   r   Úenumr   Úhtml.parserr	   Útypingr
   r   r   r   r   r   Úsqlite3r   Ú	_typeshedr   Útyping_extensionsr   r   r   r'   r*   r<   r”   r=   r>   r?   r4   r@   r5   rA   r6   rB   r7   rC   r8   rD   r9   rE   r:   rF   r;   rG   rI   r_  rJ   rO   rT   rZ   r\   Úcompiler7  r¦   r¨   rš   rN  rT  rY  r[  r‚  r„  rŒ  r  r   r$   r%   Ú<module>r™     s½  ðöD #ã 	Û 	Û ß AÓ AÝ Ý "ß F× FæÝå0ß1ô�ô ô�ô ô�ô ð Ð �5Ó Ø€�Ó ØÐ �%Ó ØÐ �EÓ Ø'×/Ñ/Ð �UÓ /Ø%/×%?Ñ%?Ð ˜UÓ ?Ø#-×#;Ñ#;Ð ˜5Ó ;Ø(×1Ñ1Ð �eÓ 1Ø'×/Ñ/Ð �UÓ /Ø#-×#;Ñ#;Ð ˜5Ó ;Ø#-×#;Ñ#;Ð ˜5Ó ;Ø&×-Ñ-Ð �EÓ -ð -Ð �%Ó ,à˜#‘Y€ˆÓ Ø˜}Ñ-€	ˆ9Ó -Ø Ñ.€
ˆIÓ .Ø$Ð%KÑL€�Ó Lô/�)ô /ðd 	‡j‚jÐ*Ó+€ô÷p'"ñ p'"ôpO.ö ôFô	ôF%�:ô F%ôRôôõ =r$   