Ë
    u™ãj�N  ã                  óR  — U d Z ddlmZ ddlmZmZmZmZ ddlZddl	m
Z
mZmZmZ ddlmZ ddlZddlmZ ddlmZmZmZ dd	lmZmZ dd
lmZ ddlmZ e
rddl m!Z! ee"e"f   ee"   z  Z#de$d<    ed«      Z% ed«      Z&d#d„Z'd$d%d„Z(	 d&	 	 	 	 	 	 	 	 	 d'd„Z)	 	 d&	 	 	 	 	 	 	 	 	 d(d„Z*	 	 	 	 	 d)	 	 	 	 	 	 	 	 	 	 	 	 	 d*d„Z+	 	 	 	 	 	 	 	 d+d„Z,	 d,	 	 	 	 	 	 	 d-d„Z-d.d„Z.d/d0d„Z/	 	 	 	 d1	 	 	 	 	 	 	 	 	 	 	 	 	 d2d„Z0	 	 	 	 	 	 d3d„Z1 G d„ de2e%e&f   «      Z3 G d„ d«      Z4 G d „ d!e4«      Z5d4d"„Z6y)5z
Printing tools.
é    )Úannotations)ÚCallableÚIterableÚMappingÚSequenceN)ÚTYPE_CHECKINGÚAnyÚ	TypeAliasÚTypeVar)Úeast_asian_width)Ú_global_config)ÚABCExtensionArrayÚABCIndexÚ
ABCNDFrame)Úis_floatÚ	is_scalar)Únotna)Úget_console_size)ÚListLiker
   ÚEscapeCharsÚ_KTÚ_VTc           	     ó   — |j                  dt        «      }|j                  dt        «      }g }|dd D �cg c]  }t        t	        ||«      «      | z   ‘Œ }}|j                  t        t	        t        |d   «      «      «       t        t	        t        |«      «      }t        |«      D ]?  \  }	}
 ||
||	   d¬«      }d||	   z  g|t        |
«      z
  z  |z   }|j                  |«       ŒA t        |dd	iŽ}d
j                  d„ |D «       «      S c c}w )a»  
    Glues together two sets of strings using the amount of space requested.
    The idea is to prettify.

    ----------
    space : int
        number of spaces for padding
    lists : str
        list of str which being joined
    strlen : callable
        function used to calculate the length of each str. Needed for unicode
        handling.
    justfunc : callable
        function used to justify str. Needed for unicode handling.
    ÚstrlenÚjustfuncNéÿÿÿÿÚleft)Úmodeú ÚstrictTú
c              3  ó>   K  — | ]  }d j                  |«      –— Œ y­w)Ú N)Újoin)Ú.0Úliness     úe/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/io/formats/printing.pyú	<genexpr>zadjoin.<locals>.<genexpr>K   s   è ø€ Ò8¨�R—W‘W˜U—^Ñ8ùs   ‚)	ÚpopÚlenÚ_adj_justifyÚmaxÚmapÚappendÚ	enumerateÚzipr$   )ÚspaceÚlistsÚkwargsr   r   ÚnewListsÚxÚlengthsÚmaxLenÚiÚlstÚnlÚtoJoins                r'   Úadjoinr<   .   s  € ð  �Z‰Z˜¤#Ó&€FØ�z‰z˜*¤lÓ3€Hà€HØ49¸#¸2°JÖ?¨qŒs”3�v˜q“>Ó" UÓ*Ð?€GÐ?à‡N�N”3”sœ3  b¡	Ó*Ó+Ô,Ü””S˜%“Ó!€FÜ˜EÓ"ò ‰ˆˆ3Ù�c˜7 1™:¨FÔ3ˆØ�W˜Q‘ZÑÐ  F¬S°«XÑ$5Ñ6¸"Ñ<ˆØ�‰˜Õðô �(Ð( 4Ñ(€FØ�9‰9Ñ8°Ô8Ó8Ð8ùò @s   ¶Dc                óî   — |dk(  r| D �cg c]  }|j                  |«      ‘Œ c}S |dk(  r| D �cg c]  }|j                  |«      ‘Œ c}S | D �cg c]  }|j                  |«      ‘Œ c}S c c}w c c}w c c}w )zB
    Perform ljust, center, rjust against string or list-like
    r   Úcenter©Úljustr>   Úrjust)ÚtextsÚmax_lenr   r5   s       r'   r+   r+   N   sl   € ð ˆv‚~Ø*/Ö0 Q�—‘˜Õ Ò0Ð0Ø	�Ò	Ø+0Ö1 a�—‘˜Õ!Ò1Ð1à*/Ö0 Q�—‘˜Õ Ò0Ð0ùò	 1ùâ1ùâ0ó   ŠA(®A-ÁA2c                ób  — t        | t        «      rd}n't        | t        «      r| sdnd}nt        | d«      rdnd}|du rd}n|xs t        d	   d
   xs t        | «      }t        | «      }g }d}t        |«      D ]g  \  }	}
|�	|	|k\  rd} nYt        |
«      r+t        |
«      r ddl
m} t        d	   d   } ||
d|› d�›«      }
|j                  t        |
|dz   fd
|i|¤Ž«       Œi dj                  |«      }|r|dz  }n#t        | t        «      rt        | «      dk(  r|dz  }|j!                  |¬«      S )z¶
    internal. pprinter for iterables. you should probably use pprint_thing()
    rather than calling this directly.

    bounds length of printed sequence, depending on options
    z
{{{body}}}zfrozenset()zfrozenset({{{body}}})Ú__setitem__z[{body}]z({body})FNÚdisplayÚmax_seq_itemsTr   )Ú_trim_zeros_single_floatÚ	precisionú.Úfé   ú, ú, ...ú,)Úbody)Ú
isinstanceÚsetÚ	frozensetÚhasattrÚconfigr*   Úiterr/   r   r   Úpandas.io.formats.formatrI   r.   Úpprint_thingr$   ÚtupleÚformat)ÚseqÚ	_nest_lvlrH   ÚkwdsÚfmtÚ	max_itemsÚsÚrÚmax_items_reachedr8   ÚitemrI   rJ   rQ   s                 r'   Ú_pprint_seqre   r   sD  € ô �#”sÔØ‰Ü	�CœÔ	#Ù#&‰mÐ,C‰ä# C¨Ô7‰j¸Zˆà˜ÑØ‰	à!ÒS¤V¨IÑ%6°Ñ%GÒSÌ3ÈsË8ˆ	äˆS‹	€Aà
€AØÐÜ˜Q“<ò 
Y‰ˆˆ4ØÐ!¨¨YªØ $ÐÙÜ�DŒ>œe DœkåIä˜yÑ)¨+Ñ6ˆIÙ+¨t°A°i°[À°>Ð.BÓDˆDØ	�‰”˜d I°¡MÑWÀÐWÐRVÑWÕXð
Yð �9‰9�Q‹<€DáØ�‰‰Ü	�CœÔ	¤C¨£H°¢MØ�‰ˆà�:‰:˜4ˆ:Ó Ð ó    c                óÚ  — d}g }d}|du rt        | «      }n|xs t        d   d   xs t        | «      }t        | j                  «       «      d| D ]G  \  }}	|j	                  |j                  t        ||dz   fd|i|¤Žt        |	|dz   fd|i|¤Ž¬«      «       ŒI |t        | «      k  r$|j                  d	j                  |«      d
z   ¬«      S |j                  d	j                  |«      ¬«      S )zy
    internal. pprinter for iterables. you should probably use pprint_thing()
    rather than calling this directly.
    z{{{things}}}z{key}: {val}FrG   rH   NrM   )ÚkeyÚvalrN   rO   )Úthings)r*   rV   ÚlistÚitemsr.   r[   rY   r$   )
r\   r]   rH   r^   r_   ÚpairsÚpfmtÚnitemsÚkÚvs
             r'   Ú_pprint_dictrr       sü   € ð €CØ€Eà€Dà˜ÑÜ�S“‰àÒP¤&¨Ñ"3°OÑ"DÒPÌÈCËˆä�S—Y‘Y“[Ó! ' 6Ð*ò 
‰ˆˆ1Ø�‰Ø�K‰KÜ   I°¡MÑWÀÐWÐRVÑWÜ   I°¡MÑWÀÐWÐRVÑWð ó õ	
ð
ð ”�C“ÒØ�z‰z §¡¨5Ó!1°GÑ!;ˆzÓ<Ð<à�z‰z §¡¨5Ó!1ˆzÓ2Ð2rf   c                ó~  — t        | «      rAt        | t        j                  «      s't	        | ||«      }|rt        | t
        «      rd|› d�}|S t        | d«      rt        | «      S t        | t        «      r |t        d   d   k  rt        | |d|¬«      }|S t        | t        j                  t        j                  t        t        t        t        t         t"        t$        t&        f
«      rJt        | t        j                  «      r| j(                  dk(  s!|t        d   d   k  rt+        | ||||¬«      }|S t	        | ||«      }|S )	a3  
    This function is the sanctioned way of converting objects
    to a string representation and properly handles nested sequences.

    Parameters
    ----------
    thing : anything to be formatted
    _nest_lvl : internal use only. pprint_thing() is mutually-recursive
        with pprint_sequence, this argument is used to keep track of the
        current nesting level, and limit it.
    escape_chars : list[str] or Mapping[str, str], optional
        Characters to escape. If a Mapping is passed the values are the
        replacements
    default_escapes : bool, default False
        Whether the input escape characters replaces or adds to the defaults
    max_seq_items : int or None, default None
        Pass through to other pretty printers to limit sequence printing

    Returns
    -------
    str
    ú'Ú__next__rG   Úpprint_nest_depthT)Úquote_stringsrH   r   ©Úescape_charsrw   rH   )r   rR   ÚnpÚrecordÚ_as_escaped_stringÚstrrU   r   rV   rr   ÚndarrayÚvoidrk   rZ   rS   rT   Úranger   r   r   Úndimre   )Úthingr]   ry   Údefault_escapesrw   rH   Úresults          r'   rY   rY   Â   s5  € ô@ �Ô¤
¨5´"·)±)Ô <ä# E¨<¸ÓIˆÙœZ¨¬sÔ3Ø˜˜ �]ˆFð\ €Mô[ 
�˜
Ô	#Ü�5‹zÐä�5œ'Ô"Øœ˜yÑ)Ð*=Ñ>Ò>äØ�9¨DÀô
ˆðN €MôA 	Øä—
‘
Ü—‘ÜÜÜÜÜÜ!ÜÜðô	
ô  ˜E¤2§:¡:Ô.°5·:±:À²?Øœ˜yÑ)Ð*=Ñ>Ò>äð ØØ%Ø'Ø'ô	
ˆð €Mô $ E¨<¸ÓIˆà€Mrf   c                óî   — dddddœ}t        |t        «      r0|r|j                  |«       n|}t        |j	                  «       «      }n|xs d}t        | «      }|D ]  }|j                  |||   «      }Œ |S )Nz\tz\nz\rz\')ú	r!   úrt   © )rR   r   Úupdaterk   Úkeysr}   Úreplace)r‚   ry   rƒ   Ú	translater„   Úcs         r'   r|   r|     s€   € ð  E°¸UÑC€IÜ�,¤Ô(ÙØ×Ñ˜\Õ*à$ˆIÜ˜L×-Ñ-Ó/Ó0‰à#Ò) rˆä�‹Z€FØò 1ˆØ—‘  9¨Q¡<Ó0‰ð1à€Mrf   c                ó<   — t        | «      }|j                  ||«      S ©N)rY   Úencode)r‚   ÚencodingÚerrorsÚvalues       r'   Úpprint_thing_encodedr”   *  s   € ô ˜Ó€EØ�<‰<˜ &Ó)Ð)rf   c                ó  ‡— dt         j                  vry ddlm}  |«       }|€y |j                  j
                  }d}| r2||vr#ddlm} ddlm	Š  G ˆfd„d|«      } |«       ||<   d	||   _
        y ||v rd
||   _
        y y )NÚIPythonr   )Úget_ipythonz!application/vnd.dataresource+json)ÚBaseFormatter©Ú
ObjectNamec                  ó&   •— e Zd Z W ° d«      ZefZy)ú<enable_data_resource_formatter.<locals>.TableSchemaFormatterÚ_repr_data_resource_N)Ú__name__Ú
__module__Ú__qualname__Úprint_methodÚdictÚ_return_typer™   s   €r'   ÚTableSchemaFormatterrœ   F  s   ø„ Ú)Ð*@ÓA�Ø $˜w‘rf   r¤   TF)ÚsysÚmodulesr–   r—   Údisplay_formatterÚ
formattersÚIPython.core.formattersr˜   Útraitlets.traitletsrš   Úenabled)Úenabler—   Úipr¨   Úmimetyper˜   r¤   rš   s          @r'   Úenable_data_resource_formatterr¯   1  s�   ø€ ØœŸ™Ñ#àÝ#ñ 
‹€BØ	€zàà×%Ñ%×0Ñ0€JØ2€HáØ˜:Ñ%å=Ý6ö' }ô 'ñ
 $8Ó#9ˆJ�xÑ à'+ˆ
�8ÑÕ$à	�ZÑ	Ø',ˆ
�8ÑÕ$ð 
 rf   c                ó    — t        | dd|¬«      S )N)r†   r‡   r!   Trx   ©rY   )r‚   rH   s     r'   Údefault_pprintr²   S  s   € ÜØØ'ØØ#ô	ð rf   c                óø  ‡!— t        «       \  }}|€t        d   d   xs d}|€t        | «      j                  }|r"t	        |«      }dd|dz   z  › �}	dd|dz   z  › �}
nd}	d	}
t	        | «      }|rd
dt	        |«      z  z   }nd}t        d   d   xs |}||kD  }t        «       Š!	 	 	 	 	 	 	 	 	 	 	 	 dˆ!fd„}dˆ!fd„}d}|dk(  rd|› �}|S |dk(  r|s || d   «      }d|› d|› �}|S |dk(  rg }| dd D �cg c]
  } ||«      ‘Œ }}n]||kD  rAt        |dz  d«      }| d| D �cg c]
  } ||«      ‘Œ }}| | d D �cg c]
  } ||«      ‘Œ }}ng }| D �cg c]
  } ||«      ‘Œ }}|r¢|rt        ||«      \  }}n�|s:t	        dj                  |«      «      |k  rt	        dj                  |«      «      |k  sTt         ||«       ||«      «      }|D �cg c]  }|j                  |«      ‘Œ }}|D �cg c]  }|j                  |«      ‘Œ }}|rŽ|t	        |
«      z
  }|d   }d}t        t        dt	        |«      dz   «      «      D ]!  }t        ||¬«      }t	        |«      |k  sŒ|} n |D �cg c]  }t        ||¬«      ‘Œ }}|D �cg c]  }t        ||¬«      ‘Œ }}d}|
}|D ]  }||z   dz   } ||||||
«      \  }}Œ |r||j                  «       |
z   dz   z  }|
}|dd D ]  } | |z   dz   } ||||||
«      \  }}Œ  ||||d   |dz
  |
«      \  }}||z  }d|j                  d«      z   }||z  }t	        |«      |kD  s|r||	z  }n|dz  }d|t	        |
«      d z   }|S c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w )a×  
    Return the formatted obj as a unicode string

    Parameters
    ----------
    obj : object
        must be iterable and support __getitem__
    formatter : callable
        string formatter for an element
    is_justify : bool
        should justify the display
    name : name, optional
        defaults to the class name of the obj
    indent_for_name : bool, default True
        Whether subsequent lines should be indented to
        align with the name.
    line_break_each_value : bool, default False
        If True, inserts a line break for each value of ``obj``.
        If False, only break lines when a line of values gets wider
        than the display width.

    Returns
    -------
    summary string
    NrG   ÚwidthéP   r!   r   rM   é   z
 z,
 rP   rH   c                óÄ   •— ‰j                  |j                  «       «      ‰j                  |j                  «       «      z   |k\  r| |j                  «       z  } |}||z  }| |fS r�   )r*   Úrstrip)ra   Úliner“   Údisplay_widthÚnext_line_prefixÚadjs        €r'   Ú_extend_linez+format_object_summary.<locals>._extend_lineš  sW   ø€ ð �7‰7�4—;‘;“=Ó! C§G¡G¨E¯L©L«NÓ$;Ñ;¸}ÒLØ�—‘“ÑˆAØ#ˆDØ�‰ˆØ�$ˆwˆrf   c                ó2   •— | rt        ˆfd„| D «       «      S y)Nc              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr�   ©r*   )r%   r5   r¼   s     €r'   r(   z:format_object_summary.<locals>.best_len.<locals>.<genexpr>¥  s   øè ø€ Ò2 a�s—w‘w˜q—zÑ2ùs   ƒr   )r,   )Úvaluesr¼   s    €r'   Úbest_lenz'format_object_summary.<locals>.best_len£  s   ø€ ÙÜÓ2¨6Ô2Ó2Ð2àrf   rN   r   z[]ú[ú]r   é
   )rH   r#   z...)ra   r}   r¹   r}   r“   r}   rº   Úintr»   r}   Úreturnztuple[str, str])rÁ   ú	list[str]rÇ   rÆ   )r   rV   Útyperž   r*   Úget_adjustmentÚminÚ_justifyr$   r,   rA   Úreversedr€   re   r¸   )"ÚobjÚ	formatterÚ
is_justifyÚnameÚindent_for_nameÚline_break_each_valuerº   Ú_Úname_lenÚspace1Úspace2ÚnÚseprH   Úis_truncatedr½   rÂ   ÚcloseÚsummaryÚfirstÚheadr5   ÚtailÚ
max_lengthÚ	max_spacer“   r`   Ú	num_itemsÚpprinted_seqr¹   Ú
head_valueÚwordÚ	tail_itemr¼   s"                                    @r'   Úformat_object_summaryrç   \  s  ø€ ôB (Ó)Ñ€M�1ØÐÜ˜yÑ)¨'Ñ2Ò8°bˆØ€|Ü�C‹y×!Ñ!ˆáÜ�t“9ˆØ�s˜h¨™lÑ+Ð-Ð.ˆØ�s˜h¨™lÑ+Ð-Ð.‰àˆØˆäˆC‹€AÙð �sœS ›Y‘Ñ&‰àˆÜ˜9Ñ% oÑ6Ò;¸!€Mð �}Ñ$€Lô Ó
€CðØðØðØ"%ðØ69ðØMPðà	õõð €EàˆA‚vØ�u�g�,ˆðh €Nðg 
ˆaŠÑ-Ù˜#˜a™&Ó!ˆØ�e�W˜A˜e˜WÐ%ˆðb €Nð_ ˜AÒàˆDØ*-¨b¨c¨(Ö3 Q‘I˜a•LÐ3ˆDÑ3Ø�ÒÜ�M QÑ&¨Ó+ˆAØ*-¨b¨q¨'Ö2 Q‘I˜a•LÐ2ˆDÐ2Ø*-¨q¨b¨c¨(Ö3 Q‘I˜a•LÐ3ˆDÑ3àˆDØ*-Ö. Q‘I˜a•LÐ.ˆDÐ.ñ Ù$ô & d¨DÓ1‘
�‘dÙÜ�D—I‘I˜d“OÓ$ }Ò4Ü˜Ÿ	™	 $›Ó(¨=Ò8ô !¡¨$£±¸$³Ó@�
Ø59Ö:°˜Ÿ™ 
Õ+Ð:�Ð:Ø59Ö:°˜Ÿ™ 
Õ+Ð:�Ð:ñ !ð
 &¬¨F«Ñ3ˆIØ˜‘GˆEØˆIÜ%¤e¨A¬s°5«z¸A©~Ó&>Ó?ò �	Ü*¨5À	ÔJ�Ü�|Ó$ yÓ0Ø )�IÙð	ð
 FJÖJÀ”K °Ö;ÐJˆDÐJØEIÖJÀ”K °Ö;ÐJˆDÐJàˆØˆàò 	UˆJØ Ñ# cÑ)ˆDÙ(¨°$¸¸mÈVÓT‰MˆG‘Tð	Uñ à�t—{‘{“} vÑ-°Ñ5Ñ5ˆGØˆDà˜c˜r˜ò 	UˆIØ˜s‘? SÑ(ˆDÙ(¨°$¸¸mÈVÓT‰MˆG‘Tð	Uñ
 % W¨d°D¸±H¸mÈaÑ>OÐQWÓX‰ˆ�Ø�4‰ˆð �e—l‘l 3Ó'Ñ'ˆØ�5Ñˆäˆw‹<˜=Ò)Ñ-BØ�vÑ‰Gà�s‰NˆGð ˜¤ F£ Ð.Ñ.ˆà€NùòY 4ùò 3ùÚ3ùò /ùò ;ùÚ:ùò" KùÚJs0   Ã0MÄMÄ6MÅM#ÇM(Ç)M-É#M2É=M7c                ó   — | |z   }dgt        |d   «      z  }|D ]D  }|D �cg c]  }t        |«      ‘Œ }}t        ||d¬«      D ��cg c]  \  }}t        ||«      ‘Œ }}}ŒF | D �	cg c]   }	t        d„ t        |	|d¬«      D «       «      ‘Œ" }
}	|D �	cg c]   }	t        d„ t        |	|d¬«      D «       «      ‘Œ" }}	|
|fS c c}w c c}}w c c}	w c c}	w )aà  
    Justify items in head and tail, so they are right-aligned when stacked.

    Parameters
    ----------
    head : list-like of list-likes of strings
    tail : list-like of list-likes of strings

    Returns
    -------
    tuple of list of tuples of strings
        Same as head and tail, but items are right aligned when stacked
        vertically.

    Examples
    --------
    >>> _justify([["a", "b"]], [["abc", "abcd"]])
    ([('  a', '   b')], [('abc', 'abcd')])
    r   T)r    c              3  óD   K  — | ]  \  }}|j                  |«      –— Œ y ­wr�   ©rA   ©r%   r5   rC   s      r'   r(   z_justify.<locals>.<genexpr>$  ó   è ø€ ÒS¡: 1 gˆa�g‰g�g×ÑSùó   ‚ c              3  óD   K  — | ]  \  }}|j                  |«      –— Œ y ­wr�   rê   rë   s      r'   r(   z_justify.<locals>.<genexpr>(  rì   rí   )r*   r0   r,   rZ   )rÞ   rß   Úcombinedrà   Ú	inner_seqrd   Úlengthr5   Úyr\   Úhead_tuplesÚtail_tupless               r'   rÌ   rÌ     s÷   € ð, �d‰{€Hð �”s˜8 A™;Ó'Ñ'€JØò Rˆ	Ø(1Ö2 ”#�d•)Ð2ˆÐ2Ü,/°
¸FÈ4Ô,P×Q¡D A q”c˜!˜Q•iÐQˆ
ÒQðRð öàô 	ÑS´°S¸*ÈTÔ1RÔSÕSð€Kð ð öàô 	ÑS´°S¸*ÈTÔ1RÔSÕSð€Kð ð ˜Ð#Ð#ùò 3ùÛQùòùòs   ¡B;ÁC Á%%CÂ%Cc                  ó   — e Zd ZdZdd„Zy)Ú
PrettyDictz.Dict extension to support abbreviated __repr__c                ó   — t        | «      S r�   r±   ©Úselfs    r'   Ú__repr__zPrettyDict.__repr__1  s   € Ü˜DÓ!Ð!rf   N)rÇ   r}   )rž   rŸ   r    Ú__doc__rú   rˆ   rf   r'   rö   rö   .  s
   „ Ù8ô"rf   rö   c                  ó.   — e Zd Zdd„Zdd„Zdd	d„Zd
d„Zy)Ú_TextAdjustmentc                ó&   — t         d   d   | _        y )NrG   r‘   )rV   r‘   rø   s    r'   Ú__init__z_TextAdjustment.__init__6  s   € Ü˜yÑ)¨*Ñ5ˆ�rf   c                ó   — t        |«      S r�   rÀ   ©rù   Útexts     r'   r*   z_TextAdjustment.len9  s   € Ü�4‹yÐrf   c                óî   — |dk(  r|D �cg c]  }|j                  |«      ‘Œ c}S |dk(  r|D �cg c]  }|j                  |«      ‘Œ c}S |D �cg c]  }|j                  |«      ‘Œ c}S c c}w c c}w c c}w )zJ
        Perform ljust, center, rjust against string or list-like
        r   r>   r?   )rù   rB   rC   r   r5   s        r'   Újustifyz_TextAdjustment.justify<  sl   € ð �6Š>Ø.3Ö4¨�A—G‘G˜GÕ$Ò4Ð4Ø�XÒØ/4Ö5¨!�A—H‘H˜WÕ%Ò5Ð5à.3Ö4¨�A—G‘G˜GÕ$Ò4Ð4ùò	 5ùâ5ùâ4rD   c                óN   — t        |g|¢­| j                  | j                  dœ|¤ŽS )N)r   r   )r<   r*   r  )rù   r1   r2   r3   s       r'   r<   z_TextAdjustment.adjoinG  s&   € Ü�eÐV˜eÑV¨D¯H©H¸t¿|¹|ÑVÈvÑVÐVrf   N©rÇ   ÚNone©r  r}   rÇ   rÆ   ©Úright)rB   r	   rC   rÆ   r   r}   rÇ   rÈ   )r1   rÆ   r2   r	   r3   r	   rÇ   r}   )rž   rŸ   r    rÿ   r*   r  r<   rˆ   rf   r'   rý   rý   5  s   „ ó6óô	5ôWrf   rý   c                  óB   ‡ — e Zd Zdˆ fd„Zdd„Z	 d	 	 	 	 	 	 	 dd„Zˆ xZS )Ú_EastAsianTextAdjustmentc                óx   •— t         ‰| �  «        t        d   d   d   rd| _        nd| _        ddddddœ| _        y )NrG   ÚunicodeÚambiguous_as_wider¶   rM   )ÚNaÚNÚWÚFÚH)Úsuperrÿ   rV   Úambiguous_widthÚ_EAW_MAP)rù   Ú	__class__s    €r'   rÿ   z!_EastAsianTextAdjustment.__init__L  sE   ø€ Ü‰ÑÔÜ�)Ñ˜YÑ'Ð(;Ò<Ø#$ˆDÕ à#$ˆDÔ ð
  ! q¨q°q¸qÑAˆ�rf   c                ób   ‡ — t        |t        «      st        |«      S t        ˆ fd„|D «       «      S )zN
        Calculate display width considering unicode East Asian Width
        c              3  ó|   •K  — | ]3  }‰j                   j                  t        |«      ‰j                  «      –— Œ5 y ­wr�   )r  Úgetr   r  )r%   r�   rù   s     €r'   r(   z/_EastAsianTextAdjustment.len.<locals>.<genexpr>_  s3   øè ø€ ò 
ØMNˆD�M‰M×ÑÔ.¨qÓ1°4×3GÑ3G×Hñ
ùs   ƒ9<)rR   r}   r*   Úsumr  s   ` r'   r*   z_EastAsianTextAdjustment.lenX  s3   ø€ ô ˜$¤Ô$Ü�t“9Ðäó 
ØRVô
ó 
ð 	
rf   c                ó$  ‡ ‡— dˆˆ fd„}|dk(  r%|D �cg c]  }|j                   ||«      «      ‘Œ c}S |dk(  r%|D �cg c]  }|j                   ||«      «      ‘Œ c}S |D �cg c]  }|j                   ||«      «      ‘Œ c}S c c}w c c}w c c}w )Nc                óD   •— ‰‰j                  | «      z
  t        | «      z   S r�   rÀ   )ÚtrC   rù   s    €€r'   Ú_get_padz2_EastAsianTextAdjustment.justify.<locals>._get_padg  s   ø€ Ø˜TŸX™X a›[Ñ(¬3¨q«6Ñ1Ð1rf   r   r>   )r  r}   rÇ   rÆ   r?   )rù   rB   rC   r   r   r5   s   ` `   r'   r  z _EastAsianTextAdjustment.justifyc  s~   ù€ ö	2ð �6Š>Ø27Ö8¨Q�A—G‘G™H Q›KÕ(Ò8Ð8Ø�XÒØ38Ö9¨a�A—H‘H™X a›[Õ)Ò9Ð9à27Ö8¨Q�A—G‘G™H Q›KÕ(Ò8Ð8ùò	 9ùâ9ùâ8s   “B½BÁ"Br  r  r	  ©rB   zIterable[str]rC   rÆ   r   r}   rÇ   rÈ   )rž   rŸ   r    rÿ   r*   r  Ú__classcell__)r  s   @r'   r  r  K  s9   ø„ õ
Bó	
ð ?Fð9Ø"ð9Ø-0ð9Ø8;ð9à	÷9rf   r  c                 óL   — t         d   d   d   } | r
t        «       S t        «       S )NrG   r  r   )rV   r  rý   )Úuse_east_asian_widths    r'   rÊ   rÊ   r  s-   € Ü! )Ñ,¨YÑ7Ð8JÑKÐÙÜ'Ó)Ð)äÓ Ð rf   )r1   rÆ   r2   rÈ   r3   r	   rÇ   r}   r	  r!  )r   N)
r\   r   r]   rÆ   rH   ú
int | Noner^   r	   rÇ   r}   )
r\   zMapping[Any, Any]r]   rÆ   rH   r%  r^   r	   rÇ   r}   )r   NFFN)r‚   Úobjectr]   rÆ   ry   úEscapeChars | Nonerƒ   Úboolrw   r(  rH   r%  rÇ   r}   )r‚   r	   ry   r'  rƒ   r(  rÇ   r}   )zutf-8r‹   )r‚   r&  r‘   r}   r’   r}   rÇ   Úbytes)r¬   r(  rÇ   r  r�   )r‚   r	   rH   r%  rÇ   r}   )TNTF)rÎ   r   rÏ   zCallable[..., Any]rÐ   r(  rÑ   z
str | NonerÒ   r(  rÓ   r(  rÇ   r}   )rÞ   úlist[Sequence[str]]rß   r*  rÇ   z3tuple[list[tuple[str, ...]], list[tuple[str, ...]]])rÇ   rý   )7rû   Ú
__future__r   Úcollections.abcr   r   r   r   r¥   Útypingr   r	   r
   r   Úunicodedatar   Únumpyrz   Úpandas._config.configr   rV   Úpandas.core.dtypes.genericr   r   r   Úpandas.core.dtypes.inferencer   r   Úpandas.core.dtypes.missingr   Úpandas.io.formats.consoler   Úpandas._typingr   r}   r   Ú__annotations__r   r   r<   r+   re   rr   rY   r|   r”   r¯   r²   rç   rÌ   r¢   rö   rý   r  rÊ   rˆ   rf   r'   ú<module>r7     se  ðòõ #÷ó ó ÷ó õ )ã å :÷ñ ÷
õ -å 6áÝ'Ø   c Ñ*¨X°c©]Ñ:€ˆYÓ :Ùˆeƒn€Ùˆeƒn€ó9ô@	1ðJ DHð+!Ø	ð+!Ø!ð+!Ø6@ð+!ØQTð+!àó+!ð` Ø $ð3Ø	ð3àð3ð ð3ð ð	3ð
 	ó3ðH Ø'+Ø!ØØ $ðRØðRàðRð %ðRð ð	Rð
 ðRð ðRð 	óRðjØðØ0ðØCGðàóð( ;Dð*Øð*Ø ð*Ø47ð*à
ó*ó-ôDð ØØ Ø"'ðdØ	ðdà!ðdð ðdð ð	dð
 ðdð  ðdð 	ódðN($Ø
ð($Ø%8ð($à8ó($ôV"��c˜3�h‘ô "÷Wñ Wô,$9˜ô $9ôN!rf   