Ë
    u™ãj_`  ã                  óÎ   — d Z ddlmZ ddlmZ ddlmZmZmZm	Z	 ddl
mZ ddlmZ ddlmZmZ ddlmZ dd	lmZmZmZ dd
lmZ er
ddlmZmZmZ  G d„ d«      Z G d„ de«      Zy)z,
Module for formatting output data in HTML.
é    )Úannotations)Údedent)ÚTYPE_CHECKINGÚAnyÚFinalÚcast)Ú_global_config)Úlib)Ú
MultiIndexÚoption_context)Úis_url)ÚDataFrameFormatterÚformat_nameÚget_level_lengths)Úpprint_thing)ÚHashableÚIterableÚMappingc                  óª  — e Zd ZU dZdZded<   	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zd d„Ze	d!d	„«       Z
e	d!d
„«       Ze	d!d„«       Ze	d"d„«       Zd#d„Ze	d!d„«       Ze	d"d„«       Zd$d%d„Z	 d&	 	 	 	 	 	 	 	 	 d'd„Zd(d)d„Z	 d*	 	 	 	 	 	 	 	 	 d+d„Z	 	 	 	 	 	 d,	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d-d„Zd$d.d„Zd.d„Zd.d„Zd.d„Zd/d„Zd.d„Z	 	 	 	 	 	 d0d„Z	 	 	 	 	 	 d0d„Zy)1ÚHTMLFormatterac  
    Internal class for formatting output data in html.
    This class is intended for shared functionality between
    DataFrame.to_html() and DataFrame._repr_html_().
    Any logic in common with other output formatting methods
    should ideally be inherited from classes in format.py
    and this class responsible for only producing html markup.
    é   r   Úindent_deltaNc                ó  — || _         || _        | j                   j                  | _        | j                   j                  j                  | _        g | _        | j                   j                  | _        | j                   j                  | _        | j                   j                  | _        |�|du rt        dt        d   d   d   «      }n|sd }|| _        || _        || _        i | _        t        | j                  t         «      }| j                   j                  j#                  «       D ]^  \  }}t        |t$        «      r|› d�n|}	|	| j                  |<   |sŒ/t        |t&        «      sŒ@|D ]  }
|	| j                  t)        |
«      <   Œ Œ` y )NTÚintÚdisplayÚhtmlÚborderÚpx)ÚfmtÚclassesÚframeÚtr_frameÚcolumnsÚelementsÚ	bold_rowsÚescapeÚshow_dimensionsr   Úconfigr   Útable_idÚrender_linksÚ	col_spaceÚ
isinstancer   Úitemsr   ÚtupleÚstr)ÚselfÚ	formatterr    r   r)   r*   Úis_multi_indexÚcolumnÚvalueÚcol_space_valueÚcolumn_indexs              úa/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/io/formats/html.pyÚ__init__zHTMLFormatter.__init__4   sJ  € ð ˆŒØˆŒà—X‘X—^‘^ˆŒ
Ø—x‘x×(Ñ(×0Ñ0ˆŒØ#%ˆŒØŸ™×+Ñ+ˆŒØ—h‘h—o‘oˆŒØ#Ÿx™x×7Ñ7ˆÔØˆ>˜V t™^Ü˜%¤¨	Ñ!2°6Ñ!:¸8Ñ!DÓE‰FÙØˆFàˆŒØ ˆŒØ(ˆÔàˆŒÜ# D§L¡L´*Ó=ˆØ!ŸX™X×/Ñ/×5Ñ5Ó7ò 	H‰MˆF�EÜ.8¸ÄÔ.D   r™lÈ%ˆOØ%4ˆD�N‰N˜6Ñ"ò ¤*¨V´UÕ";Ø$*ò H�LØ8G�D—N‘N¤3 |Ó#4Ò5ñHñ	Hó    c                ó¢   — | j                  «       }t        d„ |D «       «      r|D �cg c]  }t        |«      ‘Œ }}dj                  |«      S c c}w )Nc              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­w©N)r,   r/   )Ú.0Úxs     r7   ú	<genexpr>z*HTMLFormatter.to_string.<locals>.<genexpr>[   s   è ø€ Ò1 aŒz˜!œS×!Ñ1ùs   ‚ú
)ÚrenderÚanyr/   Újoin)r0   Úlinesr>   s      r7   Ú	to_stringzHTMLFormatter.to_stringY   sF   € Ø—‘“ˆÜÑ1¨5Ô1Ô1Ø%*Ö+ ”S˜•VÐ+ˆEÐ+Ø�y‰y˜ÓÐùò ,s   §Ac           
     óþ   — | j                  «        | j                  rVt        d«      }| j                  dt	        | j
                  «      › d|› dt	        | j
                  j                  «      › d�«       | j                  S )Né×   z<p>z rows ú z columns</p>)Ú_write_tableÚshould_show_dimensionsÚchrÚwriteÚlenr!   r#   r$   )r0   Úbys     r7   rA   zHTMLFormatter.render_   si   € Ø×ÑÔà×&Ò&Ü�S“ˆBØ�J‰JØ”c˜$Ÿ*™*“oÐ& f¨R¨D°´#°d·j±j×6HÑ6HÓ2IÐ1JÈ,ÐWôð �}‰}Ðr9   c                ó.   — | j                   j                  S r<   )r   rJ   ©r0   s    r7   rJ   z$HTMLFormatter.should_show_dimensionsj   s   € à�x‰x×.Ñ.Ð.r9   c                ó.   — | j                   j                  S r<   )r   Úshow_row_idx_namesrP   s    r7   rR   z HTMLFormatter.show_row_idx_namesn   ó   € à�x‰x×*Ñ*Ð*r9   c                ó.   — | j                   j                  S r<   )r   Úshow_col_idx_namesrP   s    r7   rU   z HTMLFormatter.show_col_idx_namesr   rS   r9   c                óŠ   — | j                   j                  r | j                  j                  j                  S | j                  ryy)Né   r   )r   Úindexr!   ÚnlevelsrU   rP   s    r7   Ú
row_levelszHTMLFormatter.row_levelsv   s4   € à�8‰8�>Š>à—:‘:×#Ñ#×+Ñ+Ð+Ø×$Ò$ð àr9   c                ó   — | j                   S r<   )r#   rP   s    r7   Ú_get_columns_formatted_valuesz+HTMLFormatter._get_columns_formatted_values…   s   € Ø�|‰|Ðr9   c                ó.   — | j                   j                  S r<   )r   Úis_truncatedrP   s    r7   r^   zHTMLFormatter.is_truncatedˆ   s   € à�x‰x×$Ñ$Ð$r9   c                óT   — t        | j                  j                  j                  «      S r<   )rM   r   r"   r#   rP   s    r7   ÚncolszHTMLFormatter.ncolsŒ   s   € ä�4—8‘8×$Ñ$×,Ñ,Ó-Ð-r9   c                ó\   — t        |«      }| j                  j                  d|z  |z   «       y )NrH   )r   r$   Úappend)r0   ÚsÚindentÚrss       r7   rL   zHTMLFormatter.write�   s&   € Ü˜!‹_ˆØ�‰×Ñ˜S 6™\¨BÑ.Õ/r9   c                óŒ   — | j                   j                  |d«      }|r|�|xs d}|d|› d�z  }| j                  |d||¬«       y)aŠ  
        Method for writing a formatted <th> cell.

        If col_space is set on the formatter then that is used for
        the value of min-width.

        Parameters
        ----------
        s : object
            The data to be written inside the cell.
        header : bool, default False
            Set to True if the <th> is for use inside <thead>.  This will
            cause min-width to be set if there is one.
        indent : int, default 0
            The indentation level of the cell.
        tags : str, default None
            Tags to include in the cell.

        Returns
        -------
        A written <th> cell.
        NÚ zstyle="min-width: z;"Úth©Úkindrd   Útags)r+   ÚgetÚ_write_cell)r0   rc   Úheaderrd   rk   r+   s         r7   Úwrite_thzHTMLFormatter.write_th”   sV   € ð2 —N‘N×&Ñ& q¨$Ó/ˆ	á�iÐ+Ø’:˜2ˆDØÐ(¨¨°2Ð6Ñ6ˆDà×Ñ˜ ¨f¸4ÐÕ@r9   c                ó.   — | j                  |d||¬«       y )NÚtdri   )rm   )r0   rc   rd   rk   s       r7   Úwrite_tdzHTMLFormatter.write_tdµ   s   € Ø×Ñ˜ ¨f¸4ÐÕ@r9   c                ód  — |�
d|› d|› d�}nd|› d�}| j                   rddddœ}ni }t        ||¬«      j                  «       }|j                  d	d
«      }| j                  r2t        |«      r't        |i ¬«      j                  «       }|d|› d�z  }d}	nd}	| j                  |› |› |	› d|› d�|«       y )Nú<rH   ú>z&amp;z&lt;z&gt;)ú&rt   ru   )Úescape_charsz  z&nbsp;&nbsp;z	<a href="z" target="_blank">z</a>rg   z</)r&   r   ÚstripÚreplacer*   r   rL   )
r0   rc   rj   rd   rk   Ú	start_tagÚescre   Úrs_unescapedÚend_as
             r7   rm   zHTMLFormatter._write_cell¸   sÍ   € ð ÐØ˜D˜6  4 &¨Ð*‰Ià˜D˜6 ˜ˆIà�;Š;à  w°WÑ=‰CàˆCä˜!¨#Ô.×4Ñ4Ó6ˆà�Z‰Z˜˜nÓ-ˆà×Ò¤¨¤Ü'¨¸Ô;×AÑAÓCˆLØ˜9 \ NÐ2DÐEÑEˆIØ‰EàˆEà�
‰
�i�[   U G¨2¨d¨V°1Ð5°vÕ>r9   c                ó^  — |€i }|€| j                  d|«       n| j                  d|› d�|«       ||z  }t        |«      D ]T  \  }}	|j                  |d «      }
|s| j                  r||k  r| j	                  |	|||
¬«       ŒA| j                  |	||
¬«       ŒV ||z  }| j                  d|«       y )Nz<tr>z<tr style="text-align: z;">)rd   rn   rk   )rk   z</tr>)rL   Ú	enumeraterl   r%   ro   rr   )r0   Úlinerd   r   rn   Úalignrk   Únindex_levelsÚirc   Úval_tags              r7   Úwrite_trzHTMLFormatter.write_trÓ   sº   € ð ˆ<ØˆDàˆ=Ø�J‰J�v˜vÕ&à�J‰JÐ0°°°sÐ;¸VÔDØ�,Ñˆä˜d“Oò 	7‰DˆAˆqØ—h‘h˜q $Ó'ˆGÙ˜$Ÿ.š.¨Q°Ò->Ø—‘˜a¨°vÀG�ÕLà—‘˜a ¨g�Õ6ð	7ð 	�,ÑˆØ�
‰
�7˜FÕ#r9   c           	     ód  — dg}t         d   d   d   }|s"|j                  d«       |j                  d«       | j                  �•t        | j                  t        «      r| j                  j                  «       | _        t        | j                  t        t        f«      s!t        dt        | j                  «      › �«      ‚|j                  | j                  «       | j                  €d}nd	| j                  › d
�}| j                  €d}nd| j                  › d
�}| j                  d|› ddj                  |«      › d
|› d�|«       | j                  j                   s| j"                  r| j%                  || j&                  z   «       | j)                  || j&                  z   «       | j                  d|«       y )NÚ	dataframer   r   Úuse_mathjaxÚtex2jax_ignoreÚmathjax_ignorez.classes must be a string, list, or tuple, not rg   z id="ú"z	 border="z<tablez class="rH   ru   z</table>)r(   rb   r    r,   r/   ÚsplitÚlistr.   Ú	TypeErrorÚtypeÚextendr)   r   rL   rC   r   rn   rR   Ú_write_headerr   Ú_write_body)r0   rd   Ú_classesrˆ   Ú
id_sectionÚborder_attrs         r7   rI   zHTMLFormatter._write_tableð   sx  € Ø�=ˆÜ˜YÑ'¨Ñ/°Ñ>ˆÙØ�O‰OÐ,Ô-Ø�O‰OÐ,Ô-Ø�<‰<Ð#Ü˜$Ÿ,™,¬Ô,Ø#Ÿ|™|×1Ñ1Ó3�”Ü˜dŸl™l¬T´5¨MÔ:Üð%Ü%)¨$¯,©,Ó%7Ð$8ð:óð ð �O‰O˜DŸL™LÔ)à�=‰=Ð Ø‰Jà  §¡ ¨qÐ1ˆJà�;‰;ÐØ‰Kà% d§k¡k ]°!Ð4ˆKà�
‰
Ø�[�M ¨#¯(©(°8Ó*<Ð)=¸Q¸z¸lÈ!ÐLØô	
ð
 �8‰8�?Š?˜d×5Ò5Ø×Ñ˜v¨×(9Ñ(9Ñ9Ô:à×Ñ˜ $×"3Ñ"3Ñ3Ô4à�
‰
�:˜vÕ&r9   c                ó   — | j                   j                  }t        | j                  t        «      �r¶d}| j                   j
                  rt        j                  }nd}| j                  j                  |d¬«      }t        ||«      }t        |«      dz
  }t        t        ||d¬«      «      D �]8  \  }\  }	}
|�r | j                   j                  }| j                   j
                  r©i }t        |	j                  «       «      D ]p  \  }}||k\  r	|||dz   <   n@||z   |kD  r3|dz   ||<   ||k(  rg |
d | ¢d‘|
|d  ¢­}
ng |
d | ¢|
|dz
     ‘|
|d  ¢­}
n|||<   ||z   |k(  sŒ]d||<   g |
d | ¢d‘|
|d  ¢­}
Œr |}	t        |«      dz
  }||k(  rQd|	|<   nKi }t        |	j                  «       «      D ]  \  }}||k\  r	|||dz   <   Œ|||<   Œ d||<   |}	g |
d | ¢d‘|
|d  ¢}
dg| j                   dz
  z  }| j                   j"                  s| j$                  r[| j                   j&                  r4| j                  j(                  |   }|j+                  t-        |«      «       n|j+                  d«       i }t        |«      }t        |
«      D ]A  \  }}||	v r!|	|   dkD  r|j/                  |	|   ¬	«      ||<   nŒ,|dz  }|j+                  |«       ŒC | j1                  ||| j2                  |d¬
«       �Œ; y dg| j                   dz
  z  }| j                   j"                  s| j$                  rV| j                   j&                  r/|j+                  t-        | j                  j4                  «      «       n|j+                  d«       |j7                  | j9                  «       «       | j                   j:                  }|r5| j                   | j                   j                  z   }|j=                  |d«       | j1                  ||| j2                  d|¬«       y )Nz colspan="{span:d}" halign="left"F©ÚsparsifyÚinclude_namesrW   T©Ústrictú...rg   ©Úspan)rk   rn   )rn   r�   )r   Úis_truncated_horizontallyr,   r#   r   r˜   r
   Ú
no_defaultÚ_format_multir   rM   r   ÚzipÚ
tr_col_numr�   r-   rZ   rX   rU   Úshow_index_namesÚnamesrb   r   Úformatr…   r   Únamer�   r\   ÚjustifyÚinsert)r0   rd   rŸ   ÚtemplateÚsentinelÚlevelsÚlevel_lengthsÚ	inner_lvlÚlnumÚrecordsÚvaluesÚins_colÚrecs_newÚtagrž   Úrowr§   rk   Újrƒ   Úvr�   s                         r7   Ú_write_col_headerzHTMLFormatter._write_col_header  s"  € à$(§H¡H×$FÑ$FÐ!Ü�d—l‘l¤JÕ/Ø9ˆHð �x‰x× Ò äŸ>™>‘à �Ø—\‘\×/Ñ/¸ÐQVÐ/ÓWˆFÜ-¨f°hÓ?ˆMÜ˜MÓ*¨QÑ.ˆIÜ+4Ü�M 6°$Ô7ó,ó PVÑ'�Ñ'�w ò -à"Ÿh™h×1Ñ1�GØ—x‘x×(Ò(Ø#%˜ä)-¨g¯m©m«oÓ)>ò W™I˜C Ø" gš~Ø48 ¨¨q©Ò 1Ø!$ t¡¨gÒ!5Ø04°q± ¨¡Ø#'¨9Ò#4ð.&Ø)/°°Ð)9ð.&à(-ð.&ð *0°°Ð)9ñ.&¡Fð.&Ø)/°°Ð)9ð.&à(.¨w¸©{Ñ(;ð.&ð *0°°Ð)9ñ.&¡Fð 15 ¨¡ð  # T™z¨WÓ4Ø45 ¨Ñ 1Ø)V¨6°(°7Ð+;Ð)V¸UÐ)VÀVÈGÈHÐEUÑ)V¡ð1Wð2 #+˜Ü$'¨Ó$6¸Ñ$:˜	Ø 9Ò,Ø/0˜G GÒ,à#%˜Ü)-¨g¯m©m«oÓ)>ò 5™I˜C Ø" gš~Ø48 ¨¨q©Ò 1à04 ¨¢ð	5ð
 -.˜ Ñ)Ø"*˜Ø!N 6¨(¨7Ð#3Ð!N°UÐ!N¸VÀGÀHÐ=MÐ!N˜ð �d˜dŸo™o°Ñ1Ñ2�Ø—8‘8—>’> T×%<Ò%<ð —x‘x×0Ò0Ø#Ÿ|™|×1Ñ1°$Ñ7˜ØŸ
™
¤;¨tÓ#4Õ5àŸ
™
 2œà�Ü˜“H�Ü% fÓ-ò "‘D�A�qØ˜G‘|Ø" 1™:¨š>Ø&.§o¡o¸7À1¹: oÓ&F˜D šGà Ø˜‘F�AØ—J‘J˜q•Mð"ð —‘˜c 6¨4×+<Ñ+<À4ÐPT�ÖUñaPVðp �$˜$Ÿ/™/¨AÑ-Ñ.ˆCØ�x‰x�~Š~ ×!8Ò!8ð —8‘8×,Ò,Ø—J‘Jœ{¨4¯<©<×+<Ñ+<Ó=Õ>à—J‘J˜r”NØ�J‰J�t×9Ñ9Ó;Ô<Ø—H‘H×$Ñ$ˆEá(ØŸ/™/¨D¯H©H×,?Ñ,?Ñ?�Ø—
‘
˜7 EÔ*à�M‰M˜#˜v t×'8Ñ'8ÀÈUˆMÕSr9   c                ó  — | j                   j                  }| j                  j                  j                  D �cg c]  }t        |«      ‘Œ c}dg| j                  |rdndz   z  z   }| j                  ||| j                  d¬«       y c c}w )Nrg   rW   r   T)rn   )	r   rŸ   r!   rX   r¥   r   r`   r…   r   )r0   rd   rŸ   r>   rµ   s        r7   Ú_write_row_headerzHTMLFormatter._write_row_header‘  sw   € Ø$(§H¡H×$FÑ$FÐ!Ø'+§z¡z×'7Ñ'7×'=Ñ'=Ö> !Œ{˜1�~Ò>À"ÀØ�J‰JÑ8™!¸aÑ@ñB
ñ 
ˆð 	�‰�c˜6 4×#4Ñ#4¸TˆÕBùò ?s   ¹Bc                ó  — | j                  d|«       | j                  j                  r| j                  || j                  z   «       | j
                  r| j                  || j                  z   «       | j                  d|«       y )Nz<thead>z</thead>)rL   r   rn   r¸   r   rR   rº   )r0   rd   s     r7   r‘   zHTMLFormatter._write_header˜  sd   € Ø�
‰
�9˜fÔ%à�8‰8�?Š?Ø×"Ñ" 6¨D×,=Ñ,=Ñ#=Ô>à×"Ò"Ø×"Ñ" 6¨D×,=Ñ,=Ñ#=Ô>à�
‰
�:˜vÕ&r9   c                óÌ   — t        dd «      5  t        | j                  «      D �ci c]  }|| j                  j	                  |«      “Œ  }}d d d «       |S c c}w # 1 sw Y   S xY w)Nzdisplay.max_colwidth)r   Úranger`   r   Ú
format_col)r0   rƒ   Ú
fmt_valuess      r7   Ú_get_formatted_valuesz#HTMLFormatter._get_formatted_values£  sb   € ÜÐ2°DÓ9ñ 	PÜ=BÀ4Ç:Á:Ó=NÖO¸˜!˜TŸX™X×0Ñ0°Ó3Ñ3ÐOˆJÐO÷	PàÐùò P÷	PàÐús   �A¥#AÁAÁAÁA#c                ó^  — | j                  d|«       | j                  «       }| j                  j                  rDt	        | j
                  j                  t        «      r | j                  ||| j                  z   «       n| j                  ||| j                  z   «       | j                  d|«       y )Nz<tbody>z</tbody>)
rL   rÀ   r   rX   r,   r!   r   Ú_write_hierarchical_rowsr   Ú_write_regular_rows)r0   rd   r¿   s      r7   r’   zHTMLFormatter._write_body¨  s‚   € Ø�
‰
�9˜fÔ%Ø×/Ñ/Ó1ˆ
ð �8‰8�>Š>œj¨¯©×)9Ñ)9¼:ÔFØ×)Ñ)¨*°f¸t×?PÑ?PÑ6PÕQà×$Ñ$ Z°¸$×:KÑ:KÑ1KÔLà�
‰
�:˜vÕ&r9   c                óF  ‡‡— | j                   j                  }| j                   j                  }t        | j                   j                  «      }| j                   j
                  r}| j                   j                  d«      }|�0| j                   j                  j
                  j                  |«      }n0| j                   j                  j
                  j                  d¬«      }g }t        |«      D �]0  Š|rR‰| j                   j                  k(  r9dgt        |«      z  }	| j                  |	|| j                  d | j                  ¬«       g }| j                   j
                  r|j                  ‰   «       n| j                  r|j                  d«       |j!                  ˆˆfd„t        | j"                  «      D «       «       |r5| j                   j$                  | j                  z   }
|j'                  |
d«       | j                  ||| j                  d | j                  ¬«       �Œ3 y )NÚ	__index__F©Úinclude_namerœ   ©rk   r‚   rg   c              3  ó.   •K  — | ]  }‰|   ‰   –— Œ y ­wr<   © ©r=   r¶   r¿   rƒ   s     €€r7   r?   z4HTMLFormatter._write_regular_rows.<locals>.<genexpr>Ù  s   øè ø€ ÒC¨A�z !‘} QÕ'ÑCùó   ƒ)r   rŸ   Úis_truncated_verticallyrM   r"   rX   Ú_get_formatterÚmapÚ_format_flatr½   Ú
tr_row_numr…   r   rZ   rb   rU   r�   r`   r£   r©   )r0   r¿   rd   rŸ   rÍ   Únrowsr   Úindex_valuesrµ   Ústr_sep_rowÚ
dot_col_ixrƒ   s    `         @r7   rÃ   z!HTMLFormatter._write_regular_rows´  s«  ù€ ð %)§H¡H×$FÑ$FÐ!Ø"&§(¡(×"BÑ"BÐä�D—H‘H×%Ñ%Ó&ˆà�8‰8�>Š>Ø—(‘(×)Ñ)¨+Ó6ˆCØˆØ#Ÿx™x×0Ñ0×6Ñ6×:Ñ:¸3Ó?‘ð  $Ÿx™x×0Ñ0×6Ñ6×CÑCÐQVÐCÓW�àˆÜ�u“ó 	ˆAÙ&¨1°·±×1DÑ1DÒ+EØ$˜g¬¨C«Ñ0�Ø—‘ØØØ×%Ñ%ØØ"&§/¡/ð ô ð ˆCØ�x‰x�~Š~Ø—
‘
˜<¨™?Õ+ð
 ×(Ò(Ø—
‘
˜2”Ø�J‰JÔC´°t·z±zÓ1BÔCÔCá(Ø!ŸX™X×0Ñ0°4·?±?ÑB�
Ø—
‘
˜: uÔ-Ø�M‰MØ�V˜T×.Ñ.°TÈÏÉð ö ñ3	r9   c                ód	  ‡‡— d}| j                   j                  }| j                   j                  }| j                   j                  }t	        |«      }t        |j                  t        «      sJ ‚|j                  j                  dd¬«      }t        t        |ddiŽ«      }| j                   j                  �r®t        j                  }	|j                  j                  |	d¬«      }
t        |
|	«      }t	        |«      dz
  }|�r_| j                   j                  }d}t!        |«      D �]  \  }}i }t        |j#                  «       «      D ]æ  \  }}||k\  r	|||dz   <   np||z   |kD  rc|dz   ||<   |s4t        ||dz
     «      }d|d<   |j%                  |t'        |«      «       d}n*t        ||   «      }d|||z
  <   t'        |«      ||<   n|||<   ||z   |k(  sŒ�d||<   |d	k(  r)|j%                  |t'        dgt	        |«      z  «      «       ŒÀ|sŒÃt        ||   «      }d|||z
  <   t'        |«      ||<   Œè |||<   �Œ d||   |<   ‰D ]  }‰|   j%                  |d«       Œ |dz  }t)        |«      D ]ö  Šg }i }d	}d	}t        ||‰   d¬
«      D ]F  \  }}‰|v r!|‰   dkD  r|j+                  |‰   ¬«      ||<   n|dz  }Œ1|dz  }|j-                  |«       ŒH |j/                  ˆˆfd„t)        | j0                  «      D «       «       |r6|j%                  | j2                  |z
  | j                   j4                  z   d«       | j7                  ||| j8                  |t	        |
«      |z
  ¬«       Œø y g }t)        t	        |«      «      D �]3  Š|rR‰| j                   j                  k(  r9dgt	        |«      z  }| j7                  ||| j8                  d | j2                  ¬«       t        t        |j                  j                  dd¬«      ddiŽ«      }g }|j/                  |‰   «       |j/                  ˆˆfd„t)        | j0                  «      D «       «       |r3|j%                  | j2                  | j                   j4                  z   d«       | j7                  ||| j8                  d |j                  j:                  ¬«       �Œ6 y )Nzrowspan="{span}" valign="top"Fr—   r›   TrW   rœ   éÿÿÿÿr   rš   r�   c              3  ó.   •K  — | ]  }‰|   ‰   –— Œ y ­wr<   rÊ   rË   s     €€r7   r?   z9HTMLFormatter._write_hierarchical_rows.<locals>.<genexpr>6  ó   øè ø€ ÒG°˜: a™=¨Õ+ÑGùrÌ   rÈ   c              3  ó.   •K  — | ]  }‰|   ‰   –— Œ y ­wr<   rÊ   rË   s     €€r7   r?   z9HTMLFormatter._write_hierarchical_rows.<locals>.<genexpr>W  rÙ   rÌ   )r   rŸ   rÍ   r"   rM   r,   rX   r   r¡   r�   r¢   r˜   r
   r    r   rÑ   r   r-   r©   r.   r½   r¦   rb   r�   r`   rZ   r£   r…   r   rY   )r0   r¿   rd   rª   rŸ   rÍ   r!   rÒ   Ú
idx_valuesr«   r¬   r­   r®   Úins_rowÚinsertedr¯   r°   Úrec_newr´   rž   Údot_rowÚix_colrµ   rk   Úsparse_offsetr¶   r·   rÔ   rƒ   s    `                          @r7   rÂ   z&HTMLFormatter._write_hierarchical_rowsâ  sµ  ù€ ð 3ˆà$(§H¡H×$FÑ$FÐ!Ø"&§(¡(×"BÑ"BÐØ—‘×!Ñ!ˆÜ�E“
ˆä˜%Ÿ+™+¤zÔ2Ð2Ð2Ø—[‘[×.Ñ.¸ÈUÐ.ÓSˆ
Üœ#˜zÐ7°$Ñ7Ó8ˆ
à�8‰8×Óä—~‘~ˆHØ—[‘[×.Ñ.¸ÐPUÐ.ÓVˆFä-¨f°hÓ?ˆMÜ˜MÓ*¨QÑ.ˆIÚ&ð Ÿ(™(×-Ñ-�Ø �Ü%.¨}Ó%=ó "2‘M�D˜'Ø �GÜ%)¨'¯-©-«/Ó%:ò E™	˜˜TØ 'š>Ø/3˜G C¨!¡GÒ,Ø  4™Z¨'Ò1Ø+/°!©8˜G C™Lñ $,Ü*.¨z¸'ÀA¹+Ñ/FÓ*G Ø.3 ¨¡Ø *× 1Ñ 1°'¼5À»>Ô JØ+/¡ä*.¨z¸'Ñ/BÓ*C Ø<A ¨	°DÑ(8Ñ 9Ü6;¸G³n 
¨7Ò 3à+/˜G C™Lð  ™:¨Ó0Ø/0˜G GÑ,Ø# qšyØ *× 1Ñ 1Ø$+¬U°E°7¼SÀÓ=OÑ3OÓ-Põ!"ò
 "*Ü*.¨z¸'Ñ/BÓ*C Ø<A ¨	°DÑ(8Ñ 9Ü6;¸G³n 
¨7Ò 3ð?Eð@ +2�M $Ó'ðE"2ðH 56�˜iÑ(¨Ñ1Ø(ò >�FØ˜vÑ&×-Ñ-¨g°uÕ=ð>à˜‘
�ä˜5“\ò �Ø�Ø�à !�Ø�Ü"% m°ZÀ±]È4Ô"Pò 	"‘J�G˜QØ˜G‘|Ø" 1™:¨š>Ø&.§o¡o¸7À1¹: oÓ&F˜D šGà%¨Ñ*˜Ø à˜‘F�AØ—J‘J˜q•Mð	"ð —
‘
ÔG´U¸4¿:¹:Ó5FÔGÔGÙ,Ø—J‘JØŸ™¨-Ñ7¸$¿(¹(×:MÑ:MÑMÈuôð —‘ØØØ×%Ñ%ØÜ"% f£+°Ñ"=ð õ ñ-ð< ˆCÜœ3˜u›:Ó&ó �Ù*¨q°T·X±X×5HÑ5HÒ/IØ#( '¬C°«HÑ"4�KØ—M‘MØ#ØØ×)Ñ)Ø!Ø&*§o¡oð "ô ô "ÜØŸ™×2Ñ2¸EÐQVÐ2ÓWðà#ñó�
ð �Ø—
‘
˜: a™=Ô)Ø—
‘
ÔG´U¸4¿:¹:Ó5FÔGÔGÙ,Ø—J‘J˜tŸ™°·±×1DÑ1DÑDÀeÔLØ—‘ØØØ×%Ñ%ØØ"'§+¡+×"5Ñ"5ð ö ñ-r9   )NNNF)r1   r   r    z(str | list[str] | tuple[str, ...] | Noner   zint | bool | Noner)   ú
str | Noner*   ÚboolÚreturnÚNone)rä   r/   ©rä   z	list[str])rä   rã   )rä   r   )rä   úIterable[Hashable])r   )rc   r   rd   r   rä   rå   )Fr   N)
rc   r   rn   rã   rd   r   rk   râ   rä   rå   )r   N)rc   r   rd   r   rk   râ   rä   rå   )rq   r   N)
rc   r   rj   r/   rd   r   rk   râ   rä   rå   )r   r   FNNr   )r€   rç   rd   r   r   r   rn   rã   r�   râ   rk   zdict[int, str] | Noner‚   r   rä   rå   )rd   r   rä   rå   ©rä   zdict[int, list[str]])r¿   zMapping[int, list[str]]rd   r   rä   rå   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r8   rE   rA   ÚpropertyrJ   rR   rU   rZ   r\   r^   r`   rL   ro   rr   rm   r…   rI   r¸   rº   r‘   rÀ   r’   rÃ   rÂ   rÊ   r9   r7   r   r   (   s3  … ñð €L�%Óð
 =AØ$(Ø#Ø"ð#Hà%ð#Hð :ð#Hð "ð	#Hð
 ð#Hð ð#Hð 
ó#HóJ ó	ð ò/ó ð/ð ò+ó ð+ð ò+ó ð+ð òó ðóð ò%ó ð%ð ò.ó ð.ô0ð
 QUðAØðAØ"ðAØ47ðAØCMðAà	óAôBAð MQð?Øð?Øð?Ø03ð?Ø?Ið?à	ó?ð< ØØØ Ø&*Øð$à ð$ð ð$ð ð	$ð
 ð$ð ð$ð $ð$ð ð$ð 
ó$ô:$'óLyTóvCó	'óó

'ð,Ø1ð,Ø;>ð,à	ó,ð\~Ø1ð~Ø;>ð~à	ô~r9   r   c                  ó<   ‡ — e Zd ZdZdd„Zdd„Zdd„Zdˆ fd„Zˆ xZS )	ÚNotebookFormatterz×
    Internal class for formatting output data in html for display in Jupyter
    Notebooks. This class is intended for functionality specific to
    DataFrame._repr_html_() and DataFrame.to_html(notebook=True)
    c                ó†   — t        | j                  «      D �ci c]  }|| j                  j                  |«      “Œ  c}S c c}w r<   )r½   r`   r   r¾   )r0   rƒ   s     r7   rÀ   z'NotebookFormatter._get_formatted_valuesj  s3   € Ü38¸¿¹Ó3DÖE¨a��4—8‘8×&Ñ& qÓ)Ñ)ÒEÐEùÒEs   ˜#>c                ó:   — | j                   j                  d¬«      S )NFrÆ   )r#   rÐ   rP   s    r7   r\   z/NotebookFormatter._get_columns_formatted_valuesm  s   € à�|‰|×(Ñ(°eÐ(Ó<Ð<r9   c                óJ  ‡— d}d}dŠddg}t        | j                  t        «      r/|j                  d«       | j                  r#|j                  d«       n|j                  d«       d	j                  ˆfd
„|D «       «      }t        |› d|› d|› �«      }| j                  |«       y )Nz            <style scoped>z            </style>zM                .dataframe %s {
                    %s: %s;
                })ztbody tr th:only-of-typeúvertical-alignÚmiddle)ztbody tr thrô   Útop)zthead tr thú
text-alignÚleft)zthead tr:last-of-type thr÷   Úright)zthead thr÷   rù   z

c              3  ó(   •K  — | ]	  }‰|z  –— Œ y ­wr<   rÊ   )r=   ÚtÚtemplate_selects     €r7   r?   z0NotebookFormatter.write_style.<locals>.<genexpr>‰  s   øè ø€ Ò"N¸1 ?°QÕ#6Ñ"Nùs   ƒr@   )r,   r#   r   rb   rR   rC   r   rL   )r0   Útemplate_firstÚtemplate_lastÚelement_propsÚtemplate_midrª   rü   s         @r7   Úwrite_stylezNotebookFormatter.write_styleq  s®   ø€ ðˆðˆðˆð
 EØ4ð
ˆô �d—l‘l¤JÔ/Ø× Ñ Ð!FÔGØ×&Ò&Ø×$Ñ$ØGõð × Ñ Ð!DÔEØ—{‘{Ó"NÀÔ"NÓNˆÜ˜^Ð,¨B¨|¨n¸B¸}¸oÐNÓOˆØ�
‰
�8Õr9   c                óœ   •— | j                  d«       | j                  «        t        ‰| �  «        | j                  d«       | j                  S )Nz<div>z</div>)rL   r  ÚsuperrA   r$   )r0   Ú	__class__s    €r7   rA   zNotebookFormatter.render�  s;   ø€ Ø�
‰
�7ÔØ×ÑÔÜ‰‰ÔØ�
‰
�8ÔØ�}‰}Ðr9   rè   ræ   )rä   rå   )	ré   rê   rë   rì   rÀ   r\   r  rA   Ú__classcell__)r  s   @r7   rð   rð   c  s"   ø„ ñóFó=ó÷8ñ r9   rð   N) rì   Ú
__future__r   Útextwrapr   Útypingr   r   r   r   Úpandas._config.configr	   r(   Úpandas._libsr
   Úpandasr   r   Úpandas.io.commonr   Úpandas.io.formats.formatr   r   r   Úpandas.io.formats.printingr   Úcollections.abcr   r   r   r   rð   rÊ   r9   r7   ú<module>r     sc   ðñõ #å ÷ó õ ;å ÷õ
 $÷ñ õ
 4á÷ñ ÷xñ xôv/˜õ /r9   