403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/site-packages/pandas/tests/io/formats/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/site-packages/pandas/tests/io/formats/__pycache__/test_to_html.cpython-312.pyc
�

0	�g+����ddlmZddlmZddlZddlZddlZddlZddlZddl	Z
ddl	mZmZm
Z
mZmZddlmZddlmcmcmZdZd�Zej2ddg�	�d
��Zej2ej6�	�d��Zej:j=dd
dg�d��Zd�Z d�Z!d�Z"ej:j=dedejFd�i�dfeddgi�dfg�d��Z$d�Z%d�Z&ej:j=diddfdd id!d"fg�d#��Z'ej:j=d$d%d g�d&��Z(ej:j=d'gd(��d)��Z)ej:j=d*d+d,g�d-��Z*ej:j=d.edd/gd0d1gd2d3gd4d5gged6dge+�7�ejFd2��8�d9d:�id;fed<ed=d/d/�ed=d0d0�gi�d<d>�id?fed@e
jXdAdBgdC�D�i�d@dE�idFfee
jZd/d0gdG�7�e
jZd/d0gdH�7�e
jZd/d0gdI�7�e
jZd/d0gdJ�7�e
jZd%d gdK�7�e
jZdLdMge
j\dLdMg��7�e
jZd/dNge+�7�dO��dP�gd5zdQfg�dR��Z/dS�Z0dT�Z1ej:j=dUd/d3g�dV��Z2dW�Z3ej:j=dXdYdZg�d[��Z4ej:j=d\dd]�d^fdd_�dNfd0d`�dNfd0da�dNfg�db��Z5ej:j=dcdgd%�d�de��Z6ej:j=dcdgd%�d�df��Z7dg�Z8dh�Z9di�Z:ej:j=dje
jvejFd0�jyd0�ejze>d2�d0�gdkdlg�m�dndofe
jvejFd2�ejze>d2�d0�g�dpdqfg�dr��Z?ds�Z@ej:j=dtgdu��dv��ZAGdw�dx�ZBej:j=dydzd{d|gg�d}��ZCd~�ZDd�ZEd��ZFej:j=d�d%d g�ej:j=d�d%d g�ej:j=d�d%d g�ej:j=d�edd/g�d�fedd/gd����d�fe
j�dLgdMd�gg�d�fe
j�dLgdMd�ggd�d�g�m�d�fg�ej:j=d�edd/g�d�fedd/gd����d�fe
j�dLgdMd�gg�d�fe
j�dLgdMd�ggd�d�g�m�d�fg�d�������ZHej:j=d�d%d g�ej:j=d�d%d g�ej:j=d�d%d g�ej:j=d�eejFd���d�feejFd��d����d�fe
j�dLdMgd�d�gd�d�gg�d�fe
j�dLdMgd�d�gd�d�gggd���m�d�fg�ej:j=d�eejFd���d�feejFd��d����d�fe
j�dLdMgd�d�gd�d�gg�d�fe
j�dLdMgd�d�gd�d�gggd���m�d�fg�d�������ZIej:j=d�d dg�d���ZJej:j=d�d dg�ej:j=d�d�d�g�d����ZKej:j=d�d%d g�d���ZLd��ZMd��ZNej:j=d�d�d�g�d���ZOej:j=d�d�d�g�d���ZPej:j=d�d�d��fd�d��fg�ej:j=d�gd���d����ZQej:j=dyd%dg�d���ZRd��ZSej:j=d�gd���d���ZTGd��d��ZUd��ZVej:j=d�d�d�g�d���ZWd��ZXd��ZYd��ZZd��Z[d„Z\dÄZ]y)��)�datetime)�StringION)�	DataFrame�Index�
MultiIndex�
get_option�option_contexta�Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.c���dj|dg�}|dddd|�}t|d��5}|j�}ddd�|j�S#1swYj�SxYw)	a.
    Read HTML file from formats data directory.

    Parameters
    ----------
    datapath : pytest fixture
        The datapath fixture injected into a test by pytest.
    name : str
        The name of the HTML file without the suffix.

    Returns
    -------
    str : contents of HTML file.
    �.�html�io�formats�datazutf-8��encodingN)�join�open�read�rstrip)�datapath�name�filename�filepath�frs      �FC:\Python312\Lib\site-packages\pandas/tests/io/formats/test_to_html.py�
expected_htmlr!sg���x�x��v��'�H���i����B�H�	
�h��	)��Q��v�v�x����;�;�=����;�;�=��s�A�A.�mixed�empty)�paramsc
��|jdk(r�ttjj	d�jd�t
td�D�cgc]}|�d���	c}�d�tjd���}tj|jdd�d	f<tj|jdd�d
f<|S|jdk(r!ttjd���}|Sycc}w)z8Fixture for a big mixed Dataframe and an empty Dataframer���z?!��A�B��indexN�r$r%r)�paramr�np�random�default_rng�standard_normalr�range�arange�nan�loc)�request�i�dfs   r�biggie_df_fixturer57s����}�}���
��Y�Y�*�*�1�-�=�=�c�B��e�C�j�9��q�c��H�9�:�
��)�)�C�.�
���6�6����s��s�C�x���6�6����s��s�C�x���	�	���'�	!�
�R�Y�Y�s�^�
,���	�
"��:s�C7c��|jS�N)r))r2s r�justifyr8Js���=�=���	col_space��2c�d�ttjjd�jd���}|j	|��}|jd�D�cgc]}t
jd|�s�|��}}t|�dkDsJ�|D]}d|vsJ�t|�|vr�J�ycc}w)	Nr!�����size�r:z\n�<th[>\s]rz	min-width)
rr*r+r,�to_html�split�re�search�len�str)r:r4�result�x�hdrs�hs      r�test_to_html_with_col_spacerOOs���	�2�9�9�(�(��+�2�2��2�?�	@�B��Z�Z�)�Z�
,�F��|�|�E�*�H�!�b�i�i��Q�.G�A�H�D�H��t�9�q�=��=�
�#���a�����9�~��"�"�"�#��Is�B-�:B-c� �ttjjd�jd��gd���}d}t	j
t|��5|jdd	g�
�ddd�t	j
t|��5|jgd��
�ddd�d}t	j
t|��5|jd
ddd��
�ddd�y#1swY�~xYw#1swY�RxYw#1swYyxYw)Nr!�r@r@rA��a�b�c��columnszGCol_space length\(\d+\) should match DataFrame number of columns\(\d+\)��matchr;�(rC)r;rZr<�<zunknown column�foo��")rSrT�d)rr*r+r,�pytest�raises�
ValueErrorrE�r4�msgs  r�2test_to_html_with_column_specific_col_space_raisesre\s���	�
�	�	���a� �'�'�V�'�4�o�
�B�
	0��
���z��	-�'�
�
�
�b�"�X�
�&�'�
���z��	-�/�
�
�
�-�
�.�/��C�	���z��	-�=�
�
�
�5�r��;�
�<�=�=�'�'��/�/��=�=�s$�C,�C8�D�,C5�8D�D
c�"�ttjjd�jd��gd���}|j	ddd��	�}|jd
�D�cgc]}t
jd|�s�|��}}d|d
vsJ�d|dvsJ�d|dvsJ�|j	gd��	�}|jd
�D�cgc]}t
jd|�s�|��}}d|d
vsJ�d|dvsJ�d|dvsJ�ycc}wcc}w)Nr!rQrArRrV�2emr]�rSrTrC�
rDzmin-width: 2em;">a</th>r?zmin-width: 23px;">b</th>z
<th>c</th>r@)�1emr!r@zmin-width: 1em;">a</th>zmin-width: 2px;">b</th>zmin-width: 3px;">c</th>)rr*r+r,rErFrGrH)r4rKrLrMs    r�+test_to_html_with_column_specific_col_spacerkps��	�
�	�	���a� �'�'�V�'�4�o�
�B��Z�Z��B�"7�Z�
8�F��|�|�D�)�G�!�R�Y�Y�{�A�-F�A�G�D�G�$��Q��/�/�/�%��a��0�0�0��4��7�"�"�"�
�Z�Z�-�Z�
0�F��|�|�D�)�G�!�R�Y�Y�{�A�-F�A�G�D�G�$��Q��/�/�/�$��Q��/�/�/�$��Q��/�/�/��H��Hs�%D�D�	D�%Dc��ddgddgddgd�}t|�jddg�}|j�}d	|vsJ�y)
NrSrT�r?r!)�c1�c2rrnro�rowspan)r�	set_indexrE)rr4rKs   r�$test_to_html_with_empty_string_labelrr�sK����*�S�"�I��1�v�>�D�	�4��	"�	"�D�$�<�	0�B�
�Z�Z�\�F��F�"�"�"r9zdf,expecteduσg$@�	unicode_1r$�	unicode_2c�J�t||�}|j�}||k(sJ�yr7�rrE)r4�expectedrrKs    r�test_to_html_unicoderx�s)���X�x�0�H�
�Z�Z�\�F��X���r9c���|dz}|j|d��tt|�d��5}|j�|j�k(sJ�	ddd�y#1swYyxYw)N�	test.html�gbkr)rErrJr)�float_frame�tmp_path�pathrs    r�test_to_html_encodingr�sa���k�!�D�����u��-�	
�c�$�i�%�	(�1�A��"�"�$�����0�0�0�1�1�1�s�$A�A&c�l�tdgd�i�}|jd��}t|d�}||k(sJ�y)Nr$)g@g������@g������@�,)�decimal�gh12031_expected_output�rrEr�rr4rKrws    r�test_to_html_decimalr��s<��	�C��)�	*�B�
�Z�Z��Z�
$�F��X�'@�A�H��X���r9zkwargs,string,expectedz<type 'str'>�escaped�escapeFz<b>bold</b>�escape_disabledc��d}d}||||i||||id�}t|�jdi|��}t||�}||k(sJ�y)Nzstr<ing1 &amp;zstri>ng2 &amp;)zco<l1zco>l2�r�)�kwargs�stringrwrrSrT�	test_dictrKs        r�test_to_html_escapedr��s^��	�A��A��f�a��0�A�v�q�&�;Q�R�I�
)�Y�y�
!�
)�
)�
3�F�
3�F��X�x�0�H��X���r9�index_is_namedTc	�L�ttd�tdd�tdd�tdd�d��}tjddgdd	gg�|_|r&t|jjd
��|_|jd�
�}t|d�}||k(sJ�y)Nr!r@���rSrTrUr_rSrTrUr_�idx�rFr&�gh8452_expected_output)
rr.r�from_productrWrr'�valuesrEr)r�rr4rKrws     r�#test_to_html_multiindex_index_falser��s���
��A�h�U�1�a�[�u�Q��{��q�!��M�
�B��(�(�3��*�s�C�j�)A�B�B�J��������u�5���
�Z�Z�e�Z�
$�F��X�'?�@�H��X���r9zmulti_sparse,expected))F�(multiindex_sparsify_false_multi_sparse_1)F�(multiindex_sparsify_false_multi_sparse_2)T�multiindex_sparsify_1)T�multiindex_sparsify_2c�8�tjgd�gd�gddg��}tddgddgd	d
gddgg|�
�}|jd�r
|ddd�|_td|�5|j
�}ddd�t||�}|k(sJ�y#1swY�xYw)N)rrr?r?)rr?rr?r\��namesrr?r!r@�r��r�r&�2zdisplay.multi_sparse)r�from_arraysr�endswithrWr	rEr)�multi_sparserwrr'r4rKs      r� test_to_html_multiindex_sparsifyr��s���
�"�"�L�,�#?��t�}�U�E�	�Q��F�Q��F�Q��F�Q��F�3�5�	A�B�������3�Q�3�Z��
�	�.��	=���������X�x�0�H��X������s�#B�Bzmax_rows,expected)r[�gh14882_expected_output_1)�8�gh14882_expected_output_2c���tjgd�gd�gd�ggd���}tdtt	|��i|��}|j|��}t
||�}||k(sJ�y)	N)�dr"i,)�
r(r;)r?r!r@r�r�r�r�rRr��nr&)�max_rows)rr�rr.rIrEr)r�rwrr'r4rKs      r�)test_to_html_multiindex_odd_even_truncater��sg��
�#�#�	�,�(=�>�o�
�E�
�C��s�5�z�*�+�5�	9�B�
�Z�Z��Z�
*�F��X�x�0�H��X���r9zdf,formatters,expectedr?r!r@r�r�r�r�r\��dtype�rWr'�	__index__c��d|S)N�abcdr��rLs r�<lambda>r��s
��F�1�I�r9�index_formatter�monthsi�c�$�|jd�S)Nz%Y-%m��strftimer�s rr�r��s�����G�!4�r9�datetime64_monthformatter�hodz10:10:10.100z12:12:12.120z%H:%M:%S.%f)�formatc�$�|jd�S)Nz%H:%Mr�r�s rr�r�s��a�j�j��1�r9�datetime64_hourformatter�int64�float64�Int64r��booleanrSrTr�)r3r�I�srTrU�oc��y)N�	formattedr�r�s rr�r�s�r9�various_dtypes_formattedc�N�t||�}|j|��}||k(sJ�y)N��
formattersrv)r4r�rwrrKs     r�test_to_html_formattersr��s/��\�X�x�0�H�
�Z�Z�:�Z�
.�F��X���r9c�"�tgd�gd�tjjd�j	d�tjjd�j	d�d��}|jdgdg��j
�y)	N)rSrSrTrTrS)�1er�2èmer�r�r�r!r�)�clé1�clé2u	données1u	données2r�r��r'rW)rr*r+r,r-�pivot_table�_repr_html_�r4s r�test_to_html_regression_GH6098r� sp��	�.�<����.�.�q�1�A�A�!�D����.�.�q�1�A�A�!�D�		
�
�B��N�N�'��W�I�N�6�B�B�Dr9c��tjddd��}t|td���}|j	dd��}t|d	�}||k(sJ�y)
N�20010101�Dr()�start�freq�periodsr��r�)r��max_cols�truncate)�pd�
date_rangerr.rEr)rr'r4rKrws     r�test_to_html_truncater�.sP���M�M�
��b�A�E�	���b�	�	2�B�
�Z�Z��Q�Z�
/�F��X�z�2�H��X���r9rBc��tgd���}d}tjtt	j
|j
|����5|jdjg|z��ddd�y#1swYyxYw)NrRrVzAFormatters length({}) should match DataFrame number of columns(3)rXz{}r�)rr`rarbrGr�r�rE)rBr4rds   r�'test_html_invalid_formatters_arg_raisesr�6sa��
�?�	+�B�
M�C�	���z����3�:�:�d�3C�)D�	E�4�
�
�
�t�{�{�m�d�2�
�3�4�4�4�s�!A8�8Bc��ddddd�dddd	d�d
ddd
d�ddddd�g}t|�}d�}||ddg}|j|d��}t|d�}||k(sJ�y)Nr?r!r@r�)r$r%�Cr�r�r�r�r��	r����
���c��t|�dzS)N�_mod)rJr�s rr�z1test_to_html_truncate_formatter.<locals>.<lambda>Is��C��F�V�O�r9)r�r��truncate_formatterr�)rrr4�fmtr�rKrws       r�test_to_html_truncate_formatterr�?s����a�a�a�(��a�a�a�(��b�r��+��r���,�	�D�
�4��B�
#�C��s�D�$�'�J�
�Z�Z�:��Z�
:�F��X�';�<�H��X���r9zsparsify,expected)T�truncate_multi_index)F�truncate_multi_index_sparse_offc�|�gd�gd�g}t||��}|jdd|��}t||�}||k(sJ�y)N)�barr��bazr�r\r\�quxr�)�one�twor�r�r�r�r�r�r�r�)r�r��sparsifyr�)rrwr�arraysr4rKs      r�!test_to_html_truncate_multi_indexrPsN��	A�@��F�
���	0�B�
�Z�Z��Q��Z�
B�F��X�x�0�H��X���r9zoption,result,expectedc�"�|j�Sr7�rEr�s rr�r�bs��"�*�*�,�r9�1c�&�|jd��S)Nr!)�borderrr�s rr�r�cs��"�*�*�A�*�.�r9c�"�|j�Sr7rr�s rr�r�ds��r�z�z�|�r9c�"�|j�Sr7)r�r�s rr�r�es
��r�~�~�'�r9c��tdddgi�}|�	||�}ntd|�5||�}ddd�d|�d�}||vsJ�y#1swY�xYw)Nr$r?r!zdisplay.html.borderzborder="�")rr	)�optionrKrwr4s    r�test_to_html_borderr
_si��
�C�!�Q��=�	!�B�
�~�����
�1�6�
:�	 ��B�Z�F�	 ��(��1�%�H��v����	 �	 �s�	A�Ar5)�indirectc�v�|}|j�}t�}|j|��}|�J�|j�|k(sJ�t|t�sJ�|jddgd��|jddgdd�i��|jddgt��|jddgd	t�
�y)N)�bufr%r$�)rWr:c�
�|d�S)Nz.1fr�r�s rr�ztest_to_html.<locals>.<lambda>�s
���3��r9)rWr�)rW�float_formatr�)rWr:r)rEr�getvalue�
isinstancerJ)r5r4r�r�retvals     r�test_to_htmlrss���
�B�
�
�
��A�
�*�C�
�Z�Z�C�Z�
 �F��>��>��<�<�>�Q�����a������J�J��S�z�R�J�0��J�J��S�z�s�4H�.I�J�J��J�J��S�z��J�4��J�J��S�z�R�c�J�Br9c�(�|}|j�yr7r)r5r4s  r�test_to_html_empty_dataframer�s��	�B��J�J�Lr9c��|}|j�}|jd�}|j|�|j�}||k(sJ�y)Nrz)rErr)r5�tmpdirr4rwr~rKs      r�test_to_html_filenamer�sE��	�B��z�z�|�H��;�;�{�#�D��J�J�t��
�Y�Y�[�F��X���r9c���tdtjjd�j	d�i�}|jd��}||j
d�}d|vsJ�y)NrLr!r�F)�	bold_rowsz</thead>z<strong)rr*r+r,r-rE�find)r4rrKs   r�test_to_html_with_no_boldr �s\��	�C����.�.�q�1�A�A�!�D�E�	F�B�
�:�:��:�&�D�
�$�)�)�J�'�
(�F��F�"�"�"r9c�6�|jdg��}d|vsJ�y)Nr$rVz
<th>B</th>r)r|rKs  r�test_to_html_columns_argr"�s%��
�
 �
 �#��
 �
/�F��v�%�%�%r9zcolumns,justify,expected�CL0�CL1r��left�multiindex_1�right�multiindex_2c��ttd�td�g|��}|j|��}t||�}||k(sJ�y)Nr��efghrV�r8)r�listrEr)rWr8rwrr4rKs      r�test_to_html_multiindexr-�sG��&
�D��L�$�v�,�/��	A�B�
�Z�Z��Z�
(�F��X�x�0�H��X���r9c��tgd�gd�gd�d�gd���}|j|��}t|d�j|��}||k(sJ�y)N)r�i0ur!)r?r!ip)i�hrr?�r$r%r�rVr+r8)rrErr�)r8rr4rKrws     r�test_to_html_justifyr0�sS��	��-�n�E��
�B��Z�Z��Z�
(�F��X�y�1�8�8��8�I�H��X���r9r8)zsuper-rightz
small-left�	noinherit�tiny�pandasc��t�}d}tjt|��5|j	|��ddd�y#1swYyxYw)Nz#Invalid value for justify parameterrXr+)rr`rarbrE)r8r4rds   r�test_to_html_invalid_justifyr5�sA��

��B�
/�C�	���z��	-�$�
�
�
�7�
�#�$�$�$���A�A
c�l�eZdZejd��Zejd��Zd�Zd�Zd�Z	d�Z
y)�
TestHTMLIndexc�`�gd�}tgd�gd�ddtjgd�gd�|��}|S)N�r\r�r��r?r!r@)g333333�?g333333@gffffff@r�r�r/r�)rr*r0)�selfr'r4s   rr4zTestHTMLIndex.df�s3��%��
��/���r�v�v�8N�O�#��
��
�	r9c��t|d�S)N�index_2)r)r<rs  r�expected_without_indexz$TestHTMLIndex.expected_without_index�s���X�y�1�1r9c��t|d�}|j�|k(sJ�|jd��}|jD]}||vr�J�||k(sJ�y)N�index_1Fr&)rrEr')r<rr4r?�expected_with_indexrKr3s       r�$test_to_html_flat_index_without_namez2TestHTMLIndex.test_to_html_flat_index_without_name�sd��,�H�i�@���z�z�|�2�2�2�2����%��(�����	#�A��F�?�"�?�	#��/�/�/�/r9c��tgd�d��|_t|d�}|j�|k(sJ�|jd��|k(sJ�y)Nr:r�r��index_3Fr&)rr'rrE)r<rr4r?rBs     r�!test_to_html_flat_index_with_namez/TestHTMLIndex.test_to_html_flat_index_with_name�sM���.�U�;���+�H�i�@���z�z�|�2�2�2�2��z�z��z�&�*@�@�@�@r9c���gd�}tj|�|_t|d�}|j	�|k(sJ�|j	d��}dD]}||vr�J�||k(sJ�y)N�)r\�car)r\�bike)r�rI�index_4Fr&)r\r�rIrJ�r�from_tuplesr'rrE)r<rr4r?�tuplesrBrKr3s        r�%test_to_html_multiindex_without_namesz3TestHTMLIndex.test_to_html_multiindex_without_names�sz��C���)�)�&�1���+�H�i�@���z�z�|�2�2�2�2����%��(��.�	#�A��F�?�"�?�	#��/�/�/�/r9c��gd�}tj|ddg��|_t|d�}|j	�|k(sJ�|j	d��|k(sJ�y)NrH�idx1�idx2r��index_5Fr&rL)r<rr4r?rNrBs      r�"test_to_html_multiindex_with_namesz0TestHTMLIndex.test_to_html_multiindex_with_namess\��B���)�)�&���8H�I���+�H�i�@���z�z�|�2�2�2�2��z�z��z�&�*@�@�@�@r9N)�__name__�
__module__�__qualname__r`�fixturer4r?rCrFrOrTr�r9rr8r8�sF���^�^�����^�^�2��2�	0�A�
0�Ar9r8�classeszsortable draggable�sortable�	draggablec�b�t�}t|d�}|j|��}||k(sJ�y)N�with_classes�rY�rrrE)rYrr4rwrKs     r�test_to_html_with_classesr`s3��	��B��X�~�6�H�
�Z�Z��Z�
(�F��X���r9c�n�tdgd�i�}|jdd��}t|d�}||k(sJ�y)Nr$)r?r!r@r�Fr?)r'r��gh14998_expected_outputr�r�s    r�test_to_html_no_index_max_rowsrcs>��	�C��&�	'�B�
�Z�Z�e�a�Z�
0�F��X�'@�A�H��X���r9c��tgd�gd�ggd�gd�gddg��}tdggd�ggd	�gd�gdd
g��}tjdtjtjgtjdtjgtjtjd
gg�}t	|||�}|jd��}t
|d�}||k(sJ�y)N)�ba�bb�bc)�ca�cb�cc)rr?r!rTrU)�levels�codesr�r_)�aa�ab�ac)rrrrSg�?g@g@r!)r��gh6131_expected_output)rr*�arrayr0rrEr)rr'rWrr4rKrws       r� test_to_html_multiindex_max_colsrrs����"�$6�7��)�$��C�j�
�E�
���)�*��)�$��S�k��G�
�8�8�

�r�v�v�r�v�v�	�����b�f�f� 5��������7L�M��D�
�4���	(�B�
�Z�Z��Z�
#�F��X�'?�@�H��X���r9c	�<�ttd�tdd�tdd�tdd�d��}tjddgddgg�|_tjddggd�g�|_|j
d	�
�}t|d�}||k(sJ�y)Nr�r(r�rSrTrUr_)rUr_�er�gFr&�gh22579_expected_output)rr.rr�rWr'rErr�s    r�&test_to_html_multi_indexes_index_falserw-s���	��B�i�e�B��m�%��B�-�e�B�PR�m�T�
�B��(�(�3��*�s�C�j�)A�B�B�J��&�&��c�
�4M�'N�O�B�H�
�Z�Z�e�Z�
$�F��X�'@�A�H��X���r9�index_names�headerr'zcolumn_index, column_type�unnamed_standard�columns.namer��named_standardrU�
unnamed_multizcolumns.name.0zcolumns.name.1�named_multizrow_index, row_typez
index.namezindex.name.0zindex.name.1c�*�ttjdt��||��}|j	|||��}	|sd}n|s|jd�rd|z}|sd}n|s|jd�rd|z}d|zd	z|z}
t
||
�}|	|k(sJ�y)
N)r!r!r�r�)r'ryrx�none�named�un�index_�	_columns_)rr*�zeros�intrE�
startswithr�r�	row_index�row_type�column_index�column_typer'ryrxr4rKrrws            r�test_to_html_basic_alignmentr�9s���F
�2�8�8�F�#�.�i��	V�B�
�Z�Z�e�F��Z�
L�F����
�X�0�0��9��(�?�����
�[�3�3�G�<��[�(���(�"�[�0�;�>�H��X�x�0�H��X���r9r�r_rtr)r\Nr�c�B�ttjd�jdd�||��}|j	dd|||��}	|sd}n|s|jd�rd|z}|sd}n|s|jd�rd|z}d	|zd
z|z}
t
||
�}|	|k(sJ�y)N�@r�r�r�)r�r�r'ryrxr�r�r��trunc_df_index_r�)rr*r/�reshaperEr�rr�s            r�&test_to_html_alignment_with_truncationr�ns���R
�2�9�9�R�=�(�(��A�.�i��	V�B�
�Z�Z��Q�e�F����F����
�X�0�0��9��(�?�����
�[�3�3�G�<��[�(�� �8�+�k�9�K�G�H��X�x�0�H��X���r9c��ddgddgddgddgd	d
gg}t|�}|jd|��}t|d
�}||k(sJ�y)N�"��9�?�~�,��?�AG�Z�Q�?�&OY�@�u!V��?�5#��E��8N
�g�?�a����_ÿ�4iSu�l���L1AG�?r�)r�r'�gh15019_expected_outputr�)rr'rr4rKrws      r�,test_to_html_truncation_index_false_max_rowsr��sk��
�8��	�8��	�9��	�9��	�H���D�
�4��B�
�Z�Z��%�Z�
0�F��X�'@�A�H��X���r9z col_index_named, expected_output)F�gh22783_expected_output)T�gh22783_named_columns_indexc��gd�gd�g}t|�}|r|jjdd��|jd|��}t	||�}||k(sJ�y)N)r�r�r�r�r�)r�r�r�r�r�r{T)�inplacer�)r�r')rrW�renamerEr)rr'�col_index_named�expected_outputrr4rKrws        r�,test_to_html_truncation_index_false_max_colsr��sb��	;�=��D�
�4��B��
�
�
���.�$��7�
�Z�Z��%�Z�
0�F��X��7�H��X���r9�notebookc��tdgd�i�}|j|��}|rd|vsJ�d|vsJ�d|vsJ�yd|vsJ�d|vsJ�d|vsJ�y)Nr$r;�r�ztbody tr th:only-of-typezvertical-align: middle;zthead th�rrE)r�r4rKs   r�test_to_html_notebook_has_styler��sx��	�C��#�	$�B�
�Z�Z��Z�
*�F��)�V�3�3�3�(�F�2�2�2��V�#�#�#�)��7�7�7�(��6�6�6���'�'�'r9c�p�tdddgitddgd����}|jd	�
�}d|vsJ�y)Nr$r?r!rSrT�myindexnamer�r&F)rx�rrrE�r4rKs  r�#test_to_html_with_index_names_falser��s?��	�C�!�Q��=��s�C�j�}�(M�	N�B�
�Z�Z�E�Z�
*�F���&�&�&r9c�r�tdddgitddgd����}|jd	d
��}d|vsJ�y)
Nr$r?r!rSrTr�r�r&F�TEST_ID)rx�table_idz
 id="TEST_ID"r�r�s  r�test_to_html_with_idr��sA��	�C�!�Q��=��s�C�j�}�(M�	N�B�
�Z�Z�E�I�Z�
>�F��f�$�$�$r9zvalue,float_format,expected)gvöE��?z%.3f�gh21625_expected_output)gY@z%.0f�gh22270_expected_outputc�j�td|gi�}t||�}|j|��}||k(sJ�y)NrL�rr_)�valuerrwrr4rKs      r�(test_to_html_float_format_no_fixed_widthr��s>��
�C�%��>�	"�B��X�x�0�H�
�Z�Z�\�Z�
2�F��X���r9zrender_links,expected)T�render_links_true)F�render_links_falsec��gd�gd�g}t|tgd�t����}|j|��}t	||�}||k(sJ�y)N)rz$https://pandas.pydata.org/?q1=a&q2=b�
pydata.org)rzwww.pydata.orgr�)r\r�Nr�rV)�render_links)rr�objectrEr)r�rwrrr4rKs      r�test_to_html_render_linksr��sR��	B�+��D�
�4��';�6�!J�	K�B�
�Z�Z�\�Z�
2�F��X�x�0�H��X���r9zmethod,expectedrEc��tSr7��lorem_ipsumr�s rr�r�s��k�r9r�c� �td|dz
dzS)Nr��...r�r�s rr�r�s��+�g��A��"6��">�r9�max_colwidth)r�r(r<r�c��ttg�}td|�5t||��}ddd�||�}|vsJ�y#1swY�xYw)Nzdisplay.max_colwidth)rr�r	�getattr)�methodrwr�r4rKs     r� test_ignore_display_max_colwidthr�
sY��
�K�=�	!�B�	�.��	=�'�$���V�$�&��'���%�H��v����'�'�s�A�Ac��t�}d}tjt|��5|j	|��ddd�y#1swYyxYw)Nz(classes must be a string, list, or tuplerXr^)rr`ra�	TypeErrorrE)rYr4rds   r�!test_to_html_invalid_classes_typer�sA��
��B�
4�C�	���y��	,�$�
�
�
�7�
�#�$�$�$�r6c���tdgdg��}tdd�5|jd��}|jd��}ddd�d	vsJ�d
vsJ�y#1swY�xYw)Nr?g�^)���?rVzdisplay.precisionr@Fr�Tz0.55555z0.556)rr	rE)r4rr�s   r�!test_to_html_round_column_headersr�(sp��	�A�3��	�	*�B�	�+�Q�	/�-��z�z�5�z�)���:�:�t�:�,��-�������h����	-�-�s�%A�A�unit)�100pxz10%�5em�c��ttjjd�jd���}|j	|��}|jd�d}|jd�D�cgc]}t
jd|�s�|��}}t|t�rt|�d	z}|D]}d
|�d�}||vr�J�ycc}w)Nr!r>rArC�tbodyrrirD�pxz<th style="min-width: z;">)rr*r+r,rErFrGrHrr�rJ)r�r4rKrLrMrNrws       r�!test_to_html_with_col_space_unitsr�2s���
�2�9�9�(�(��+�2�2��2�?�	@�B�
�Z�Z�$�Z�
'�F�
�\�\�'�
"�1�
%�F��|�|�D�)�G�!�R�Y�Y�{�A�-F�A�G�D�G��$����4�y�4���
���+�D�6��5���1�}��}���Hs�2C�Cc��eZdZd�Zej
j
dgd��d��Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zy)�TestReprHTMLc���tdtd�i�}|j�}t|d�}||k(sJ�tdtd�i�}|j�}t|d�}||k(sJ�y)NrSr(�(html_repr_min_rows_default_no_truncation�=�$html_repr_min_rows_default_truncated)rr.r�r)r<rr4rKrws     r�test_html_repr_min_rows_defaultz,TestReprHTML.test_html_repr_min_rows_defaultAsz����U�2�Y�'�
(�����!�� ��+U�V����!�!�!���U�2�Y�'�
(�����!�� ��+Q�R����!�!�!r9zmax_rows,min_rows,expected))r�r�� html_repr_max_rows_10_min_rows_4)r�N�#html_repr_max_rows_12_min_rows_None)r�r��!html_repr_max_rows_10_min_rows_12)Nr��#html_repr_max_rows_None_min_rows_12c��tdtd�i�}t||�}td|d|�5|j	�}ddd�|k(sJ�y#1swY�xYw)NrSr��display.max_rowszdisplay.min_rows)rr.rr	r�)r<rr��min_rowsrwr4rKs       r�test_html_repr_min_rowsz$TestReprHTML.test_html_repr_min_rowsPsb�� ��U�2�Y�'�
(�� ��8�4��
�.��:L�h�
W�	&��^�^�%�F�	&���!�!�!�	&�	&�s�A�Ac�p�tjd�}|j|d��}|jrJ�y)Nz�        from pandas import DataFrame
        df = DataFrame({"A": [1, 2]})
        df._repr_html_()

        cfg = get_ipython().config
        cfg['IPKernelApp']['parent_appname']
        df._repr_html_()
        T)�silent)�textwrap�dedent�run_cell�
error_in_exec)r<�ip�coderKs    r�test_repr_html_ipython_configz*TestReprHTML.test_repr_html_ipython_configfs;�����
�

�����T�$��/���'�'�'�'�'r9c��d}d}|dz|dz
}}ttj|�D�cic]}|tjdd|z���c}�}d|j�vsJ�t	dd�5d|j�vsJ�	ddd�|dz
|dz}}ttj|�D�cic]}|tjdd|z���c}�}d|j�vsJ�t	ddd|�5d|j�vsJ�	ddd�ycc}w#1swY��xYwcc}w#1swYyxYw)	Nr[r(r?z	&lt;classzdisplay.large_repr�infoz<class�display.max_columns)rr*r/r�r	)r<r�r�rN�w�kr4s       r�test_info_repr_htmlz TestReprHTML.test_info_repr_htmlus?�������!�|�X��\�1��
��	�	�!��E�1��2�9�9�Q��A��.�.�E�
F���2�>�>�#3�3�3�3�
�0�&�
9�	4��2�>�>�#3�3�3�3�	4��!�|�X��\�1��
��	�	�!��E�1��2�9�9�Q��A��.�.�E�
F���r�~�~�/�/�/�/�
� �&�*?��
�	3��"�.�.�"2�2�2�2�	3�	3��F�	4�	4��
F�	3�	3�s#�!D �3D%�7!D1�D6�%D.�6D?c��|}d�}|j�}|�J�tdddd�5|j�}ddd�d|vsJ�y#1swY�xYw)Nc��ddddiiiS)N�config�	KernelApp�parent_appnamezipython-qtconsoler�r�r9r�get_ipythonz?TestReprHTML.test_fake_qtconsole_repr_html.<locals>.get_ipython�s���{�-=�?R�,S�T�U�Ur9r�r�r�r!�class)r�r	)r<r|r4r��repstrs     r�test_fake_qtconsole_repr_htmlz*TestReprHTML.test_fake_qtconsole_repr_html�sh��
��	V����!���!�!�!�
�.��3H�!�
L�	&��^�^�%�F�	&��&� � � �	&�	&�s�A�Ac���|}|j�tdddd�5|j�ddd�tdd�5|j�ddd�tddgddgg�}td	d
�5d|j�vsJ�	ddd�td	d�5d|j�vsJ�	ddd�y#1swY��xYw#1swY�{xYw#1swY�LxYw#1swYyxYw)Nr�r?r�zdisplay.notebook_repr_htmlFr!r@r�zdisplay.show_dimensionsTz2 rows)r�r	r)r<r|r4s   r�test_repr_htmlzTestReprHTML.test_repr_html�s���
��
����
�.��3H�!�
L�	��N�N��	��8�%�
@�	��N�N��	���A���A��'�
(��
�5�t�
<�	0��r�~�~�/�/�/�/�	0�
�5�u�
=�	4��2�>�>�#3�3�3�3�	4�	4�	�	��	�	��	0�	0��	4�	4�s/�C�C�<C�&C)�C�C�C&�)C2c��tddgddgg�}d|j�vsJ�tdd�5d|j�vsJ�	ddd�y#1swYyxYw)Nr?r!r@r��tex2jax_ignorezdisplay.html.use_mathjaxF)rr�r	)r<r4s  r�test_repr_html_mathjaxz#TestReprHTML.test_repr_html_mathjax�sc��
��A���A��'�
(���r�~�~�'7�7�7�7�
�6��
>�	8�#�r�~�~�'7�7�7�7�	8�	8�	8�s�A�Ac�@�d}tdg|dz
zgdz�}tdddd�5d|j�vsJ�	ddd�tdg|dzzgdz�}tdddd�5d|j�vsJ�	ddd�y#1swY�LxYw#1swYyxYw)	Nr(�aaaaaaaaaaaaaaaaaaaaaaaaar?r�r�r[r�r�)rr	r�)r<r�r4�wide_dfs    r�test_repr_html_widez TestReprHTML.test_repr_html_wide�s�����
��
�h��l�3�4�r�9�
:��
�.��4I�2�
N�	1����� 0�0�0�0�	1��h�Z�8�a�<�8�9�B�>�?��
�.��4I�2�
N�	2��G�/�/�1�1�1�1�	2�	2�		1�	1��	2�	2�s�B�)B�B�Bc���d}tjtj|dz�ddggddg��}t	dgt|�zgd	z|�
�}|j
�}d|vsJ�tjtjd|dzz�ddgfddg��}t	dgt|�zgd	z|�
�}td
ddd�5d|j
�vsJ�	ddd�y#1swYyxYw)Nr(r!r\r��first�secondr�rr�rVr�r?r�r[r�)rr�r*r/rrIr�r	)r<r��mcolsr4�reg_reprs     r�#test_repr_html_wide_multiindex_colsz0TestReprHTML.test_repr_html_wide_multiindex_cols�s�����'�'�
�Y�Y�x�1�}�
%��u�~�6�w��>Q�
����
�S��Z�/�0�2�5�u�
E���>�>�#���H�$�$�$��'�'�
�Y�Y�q�H��M�*�
+�e�U�^�<�W�h�DW�
����
�S��Z�/�0�2�5�u�
E��
�.��4I�2�
N�	-��B�N�N�,�,�,�,�	-�	-�	-�s�C+�+C4c	�,�tdd�5td�}|dz
}ttjdd|z�tjdd|z�d��}|j�}d|vsJ�t
d|dzz�|vsJ�|dz}ttjdd|z�tjdd|z�d��}|j�}d|vsJ�t
d|dzz�|vsJ�|�d�|vsJ�d	|vsJ�	ddd�y#1swYyxYw)
Nr�r[r?�)r#�..r!� rows �	2 columns)r	rrr*r/r�rJ�r<r�rNr4r�	long_reprs      r�test_repr_html_longz TestReprHTML.test_repr_html_long�s'��
�.��
3�	,�!�"4�5�H��1��A�����1�a�!�e�!4�2�9�9�R��a��;P�Q�R�B��~�~�'�H��x�'�'�'��r�H��M�)�*�h�6�6�6��1��A�����1�a�!�e�!4�2�9�9�R��a��;P�Q�R�B����(�I��9�$�$�$��r�H��M�)�*�)�;�;�;��S��<�9�,�,�,��)�+�+�+�	,�	,�	,�s�C3D
�
Dc
��tdd�5td�}|dz
}ttjdd|�tj
dd|z�tj
dd|z�d��j
d�}|j�}d	|vsJ�d
d|z�d�|vsJ�|dz}ttjdd|�tj
dd|z�tj
dd|z�d��j
d�}|j�}d	|vsJ�d
|vsJ�|�d�|vsJ�d|vsJ�	ddd�y#1swYyxYw)Nr�r[r?i����r�r)r�r$r%r�rz<td>rZz</td>z<td>31</td>rr)r	rrr*�linspacer/rqr�rs      r�test_repr_html_floatz!TestReprHTML.test_repr_html_float�sf��
�.��
3�	,�!�"4�5�H��1��A���;�;�s�B��2����1�a�!�e�,����2�r�A�v�.����i���

��~�~�'�H��x�'�'�'��"�q�&���'�8�3�3�3��1��A���;�;�s�B��2����1�a�!�e�,����2�r�A�v�.����i���

����(�I��9�$�$�$� �	�1�1�1��S��<�9�,�,�,��)�+�+�+�5	,�	,�	,�s�D&D=�=Ec���d}|dz}ttjtj|�ddg��}tj|ddg��}ttjjd�j|dzdf�|dd	g�
�}tdddd
�5|j�}ddd�dvsJ�ttjtj|dz�ddg��}tj|ddg��}ttjjd�j|dzdzdf�|dd	g�
�}|j�}d|vsJ�y#1swY��xYw)Nr[r!r\r�rrr�r$r%r�r�r�r(r�r?)
r,�	itertools�productr*r/rrMrr+r,r-r	r�)r<r��max_L1rNr�r4rrs        r�test_repr_html_long_multiindexz+TestReprHTML.test_repr_html_long_multiindex�s_�����Q����i�'�'��	�	�&�(9�E�5�>�J�K���$�$�V�G�X�3F�G��
��I�I�!�!�!�$�4�4�f�q�j�!�_�E���#�J�
��
�.��4I�2�
N�	(��~�~�'�H�	(��H�$�$�$��i�'�'��	�	�&�1�*�(=��u�~�N�O���$�$�V�G�X�3F�G��
��I�I�!�!�!�$�4�4�v��z�Q�6F��5J�K���#�J�
��
�N�N�$�	��	�!�!�!�	(�	(�s�$E.�.E7c�8�d}d}|dz
|dz
}}ttj|�D�cic]}|tjdd|z���c}�}tdddd�5d|j	�vsJ�	ddd�|dz|dz}}ttj|�D�cic]}|tjdd|z���c}�}tdddd�5d|j	�vsJ�	ddd�ycc}w#1swY��xYwcc}w#1swYyxYw)Nr(r[r?r�r�r�)rr*r/r	r�)r<r�r�rNr�r�r4s       r�test_repr_html_long_and_widez)TestReprHTML.test_repr_html_long_and_wides�������!�|�X��\�1��
��	�	�!��E�1��2�9�9�Q��A��.�.�E�
F��
�.��4I�2�
N�	1����� 0�0�0�0�	1��!�|�X��\�1��
��	�	�!��E�1��2�9�9�Q��A��.�.�E�
F��
�.��4I�2�
N�	-��B�N�N�,�,�,�,�	-�	-��
F�	1�	1��F�	-�	-�s#�!C:�!C?�%!D�D�?D�DN)rUrVrWr�r`�mark�parametrizer�r�r�rrrr	rrrrr!r�r9rr�r�@si��
"��[�[���$�		
��"��"�
(�3�&!�4� 8�2�-�",�",�:"�2-r9r�c�~�|}d|j_|j�|jj�y)Nr\)rWrrE�T)�/multiindex_year_month_day_dataframe_random_data�ymds  r�test_to_html_multilevelr(s)��
9�C��C�K�K���K�K�M��E�E�M�M�Or9�na_rep�NaN�Tedc��tddgddggddg��}|j|dj��}t|d�}|j|�	�}||k(sJ�y)
Nr$g��(\��?�Group�DatarVz{:.2f})r)r�gh13828_expected_output�r))rrEr�r)r)rr4rKrws     r�$test_to_html_na_rep_and_float_formatr1&sn��
�
�&�M�
�$�K�	
��&�!�
�B��Z�Z�v�H�O�O�Z�
D�F��X�'@�A�H����f��-�H��X���r9c�p�tdgd�d�g�}|jd��}t|d�}||k(sJ�y)Nr?r;rh�-r0�gh47103_expected_outputr�r�s    r�#test_to_html_na_rep_non_scalar_datar56s?��	�!�)�,�-�	.�B�
�Z�Z�s�Z�
#�F��X�'@�A�H��X���r9c�p�tdddgi��}|jd���}t|d�}||k(sJ�y)NrLg@�@�test)rc�
�|d�S)Nz,.0fr�r�s rr�z6test_to_html_float_format_object_col.<locals>.<lambda>As
��!�D��r9r��gh40024_expected_outputr�r�s    r�$test_to_html_float_format_object_colr:>sB��	��v�v�.�/�	0�B�
�Z�Z�%:�Z�
;�F��X�'@�A�H��X���r9c��tddgg�}tjddg�|_|j	d��}d}||k(sJ�y)Nr?r!)r?r?)r!r?r�rCa�<table border="1" class="dataframe">
  <thead>
    <tr>
      <th style="min-width: 100px;"></th>
      <th style="min-width: 100px;">1</th>
      <th style="min-width: 100px;">2</th>
    </tr>
    <tr>
      <th style="min-width: 100px;"></th>
      <th style="min-width: 100px;">1</th>
      <th style="min-width: 100px;">1</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>1</td>
      <td>2</td>
    </tr>
  </tbody>
</table>)rrrMrWrE�r4rKrws   r�)test_to_html_multiindex_col_with_colspacer=FsS��	�Q��F�8�	�B��'�'���(8�9�B�J�
�Z�Z�#�Z�
&�F�	�
�.�X���r9c�Z�tdgdgd��}|jd��}d}||k(sJ�y)Nr?r!)rhrTr�rCaP<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th style="min-width: 100px;"></th>
      <th style="min-width: 100px;">(a, b)</th>
      <th style="min-width: 100px;">b</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>1</td>
      <td>2</td>
    </tr>
  </tbody>
</table>r�r<s   r�$test_to_html_tuple_col_with_colspacer?es?��	���1�#�.�	/�B�
�Z�Z�#�Z�
&�F�	�
�$�X���r9c�~�tdtjgd��i�}|jd��}d}||k(sJ�y)NrL�complexr�r�rCz�<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th style="min-width: 100px;"></th>
      <th style="min-width: 100px;">x</th>
    </tr>
  </thead>
  <tbody>
  </tbody>
</table>)rr*rqrEr<s   r� test_to_html_empty_complex_arrayrB~sF��	�C����"�I�6�7�	8�B�
�Z�Z�#�Z�
&�F�		�
��X���r9c��tdgd�i�}d}tjt|��5|j	dd�ddd�y#1swYyxYw)NrSr;zmStarting with pandas version 3.0 all arguments of to_html except for the argument 'buf' will be keyword-only.rX)r�tm�assert_produces_warning�
FutureWarningrErcs  r�!test_to_html_pos_args_deprecationrG�sP��	�C��#�	$�B�	0��
�	#�	#�M��	=��
�
�
�4������s�A	�	A)^rr
rrrGr��numpyr*r`r3r�rrrrr	�pandas._testing�_testingrD�pandas.io.formats.formatrr�r�r�rrXr5�VALID_JUSTIFY_PARAMETERSr8r"r#rOrerkrrr/rxrr�r�r�r�r�r��to_datetime�Series�CategoricalDtyper�r�r�r�r�rr
rrrr r"r��repeat�modr.r-r0r5r8r`rcrrrwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r(r1r5r:r=r?rBrGr�r9r�<module>rRso�����	���
�����&�&�+���,������)�*��+��$����s�3�3�4��5��������r�2�h�/�	#�0�	#�=�(0�$#�������	�H�i�b�i�i��o�.�	/��=�	�C�(��$�	%�{�3������1��������	�^�Y�'�
�E�	�M�+<�=�����������)�D�%�=�9�
�:�
������������������)�)������������
��Q��!�Q��!�Q��!�Q��0��u�d�m�6�:��b�i�i��l�
�
�-�.��	
�
�x�(�4��A�"6���q�!�8L�!M�N�O�
�4�5�'�	
�
��>�2�>�>�'��8����
��1�2�&�
	
�
�"����A�q�6��9�"����A�q�6��;�"����A�q�6��9�"����A�q�6��:�"����D�%�=�	�B�"����C��:�5H�R�5H�5H�#�s��5T�U�"����A�s�8�6�:��

�#�#�a�'�&�	
�5)�,�Z�[,�Z�E��������!�Q��(�4�)�4��"������#�%O�P���	��������	
�&��,�	
�.��4�	
�#�S�)�	
�'��-�	����������,�w�i�$��G�C�H�C�&�����,�w�i�$��G��H��
�#�&�
������
#�J�"�"�����1��$�$�Q�'������a��!�)<�=��e�n�
�
��
	
�
#�J�"�"�I�B�I�I�a�L�&�"�&�&��q��1�2E�#F�G���	
���$�%�$�������
�K��$��$�4A�4A�n������%9�J��;T�$U�V��W����*	��������u�
�6�������D�%�=�1�������4��-�0�������	��1�v��*�+�	��1�v�N�	+�-=�>�	 ��	 �	 �3�%�#�s��!4�	5��G�#�J�#�#����c�
�#�,<�>N�+O�
�
�		
�	
�
�������	��1�v��*�+�	��1�v�L�	)�+;�<�	 ��	 �	 �3�%�#�s��!4�	5��G�#�J�#�#����c�
�#�N�N�+K�
�
�		
�	
�
��
�
�1�2�7�>�,�������u�
�6�������D�%�=�1�������4��-�0�������	�y�r�y�y��|�	�0�1�	�y�r�y�y��|�.�	1�3C�D�#�J�#�#�c�3�Z�#�s��c�3�Z�$H�I��	
�

$�J�#�#��s��c�3�Z�#�s��4�<P�
�
�		
�
��"������	�y�r�y�y��|�	�0�1�	�y�r�y�y��|�,�	/�1A�B�#�J�#�#�c�3�Z�#�s��c�3�Z�$H�I��	
�

$�J�#�#��s��c�3�Z�#�s��4�<P�
�
�		
�
��"�#�#�1�2�7�J�0������5�!�*�-��.��������5�!�*�-������&�'�)N�O��
�	�.�

� ������d�E�]�3�(�4�(�'�%������!�4�2������������ �"?�@��
�	�
�������	�)�*�	�>�?���������):�;��<���������T�1�I�.�$�/�$��������!=�>�
�?�
�[-�[-�|�������E�5�>�2��3�����>�2�&r9

Youez - 2016 - github.com/yon3zu
LinuXploit