§
    á! hÞ  ã            	       ó"  — d dl mZ d dlmZ d dlmZmZ d dlZd dlm	Z	 d dl
Z
d dlZd dlmZ d dlZd dlZd dlmZ d dlmc mZ d dlZd dlmZmZmZmZmZmZmZm Z m!Z! d dl"m#Z$ d d	l%m&Z&m'Z' d d
l(m)Z)  ej*        g d¢¬¦  «        d„ ¦   «         Z+d„ Z,d„ Z-d„ Z.d„ Z/ ej*         ej0        d ej1        d¦  «         ej1        d¦  «        g¬¦  «         ej0        d ej1        d¦  «        ¬¦  «        g¬¦  «        d„ ¦   «         Z2 G d„ d¦  «        Z3dS )é    )ÚIterator)Úpartial)ÚBytesIOÚStringION)ÚPath)ÚURLError)Úis_platform_windows)	ÚNAÚ	DataFrameÚ
MultiIndexÚSeriesÚ	TimestampÚ
date_rangeÚread_csvÚ	read_htmlÚto_datetime)ÚArrowStringArrayÚStringArray)Úfile_path_to_url)zchinese_utf-16.htmlzchinese_utf-32.htmlzchinese_utf-8.htmlzletz_latin1.html)Úparamsc                 ó(   —  |ddd| j         ¦  «        S )z6Parametrized fixture for HTML encoding test filenames.ÚioÚdataÚhtml_encoding)Úparam)ÚrequestÚdatapaths     úSc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/io/test_html.pyÚhtml_encoding_filer   (   s   € ð ˆ8�D˜& /°7´=ÑAÔAÐAó    c                 ón  — t          | ¦  «        t          |¦  «        k    s*J dt          | ¦  «        › dt          |¦  «        › �¦   «         ‚d}t          t          d„ | |¦  «        ¦  «        }|s
J |¦   «         ‚t          | |¦  «        D ],\  }}t	          j        ||g|¢R i |¤Ž |j        r
J d¦   «         ‚Œ-d S )Nz*lists are not of equal size len(list1) == z, len(list2) == z$not all list elements are DataFramesc                 óV   — t          | t          ¦  «        ot          |t          ¦  «        S ©N©Ú
isinstancer   )ÚxÚys     r   ú<lambda>z(assert_framelist_equal.<locals>.<lambda>>   s   € � A¥yÑ1Ô1ÐNµjÀÅIÑ6NÔ6N€ r    zframes are both empty)ÚlenÚallÚmapÚzipÚtmÚassert_frame_equalÚempty)Úlist1Úlist2ÚargsÚkwargsÚmsgÚboth_framesÚframe_iÚframe_js           r   Úassert_framelist_equalr8   5   sû   € Ýˆu‰:Œ:�˜U™œÒ#Ð#Ð#ð	&Ý˜U™œð	&ð 	&å˜U™œð	&ð 	&ñ $Ô#Ð#ð
 1€CÝÝØNÐNØØñ	
ô 	
ñô €Kð ÐÐ˜ÑÔˆ;Ý  uÑ-Ô-ð :ð :Ñˆ�Ý
Ô˜g wÐ@°Ð@Ð@Ð@¸Ð@Ð@Ð@Ø”=Ð9Ð9Ð"9Ñ9Ô9Ð Ð9ð:ð :r    c           	      ó&  — t          j        d¦  «        }t          j        d¦  «         |                      |dd¦  «         t          j        t          d¬¦  «        5  t           |ddd	d
¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚbs4Úhtml5libÚ__version__z4.2zPandas requires version©Úmatchr   r   Úhtmlú	spam.html©Úflavor)ÚpytestÚimportorskipÚsetattrÚraisesÚImportErrorr   )Úmonkeypatchr   r:   s      r   Útest_bs4_version_failsrI   I   sì   € Ý
Ô
˜eÑ
$Ô
$€CÝ
Ô˜
Ñ#Ô#Ð#à×Ò˜˜]¨EÑ2Ô2Ð2Ý	Œ•{Ð*CÐ	DÑ	DÔ	Dð Mð MÝ�(�(˜4 ¨°Ñ=Ô=ÀeÐLÑLÔLÐLðMð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð Mð Mð Ms   ÁBÂB
ÂB
c                  óÄ   — d} d}d|z   dz   }t          j        t          |¬¦  «        5  t          t	          | ¦  «        d|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz
google.comzinvalid flavorz\{z \} is not a valid set of flavorsr=   Úgoogle©r>   rB   )rC   rF   Ú
ValueErrorr   r   )ÚurlrB   r4   s      r   Útest_invalid_flavorrO   R   sÃ   € Ø
€CØ€FØ
�&‰.Ð>Ñ
>€Cå	Œ•z¨Ð	-Ñ	-Ô	-ð @ð @Ý•(˜3‘-”- x¸Ð?Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s   ¨ AÁAÁAc                 ó  — t          j        d¦  «         t          j        d¦  «         t          j        d¦  «          | dddd¦  «        }t          |ddg¬	¦  «        }t          |ddg¬	¦  «        }t          ||¦  «         d S )
Nr:   Úlxmlr;   r   r   r?   úvalid_markup.htmlr   )Ú	index_colrB   )rC   rD   r   r8   )r   ÚfilenameÚdfs_lxmlÚdfs_bs4s       r   Útest_same_orderingrW   [   s�   € Ý
Ô˜ÑÔÐÝ
Ô˜ÑÔÐÝ
Ô˜
Ñ#Ô#Ð#àˆx˜˜f fÐ.AÑBÔB€HÝ˜¨Q¸°xÐ@Ñ@Ô@€HÝ˜¨A°u°gÐ>Ñ>Ô>€GÝ˜8 WÑ-Ô-Ð-Ð-Ð-r    r:   r;   )ÚmarksrQ   c                 ó8   — t          t          | j        ¬¦  «        S )NrA   )r   r   r   )r   s    r   Úflavor_read_htmlrZ   f   s   € õ •9 W¤]Ð3Ñ3Ô3Ð3r    c            	       óü  — e Zd Zd„ Zej        d„ ¦   «         Zej        d„ ¦   «         Zd„ Zd„ Z	ej
        j        ej
        j        d„ ¦   «         ¦   «         Zej
        j        ej
        j        d„ ¦   «         ¦   «         Zej
        j        d„ ¦   «         Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$ej
        j        ej
        j        d„ ¦   «         ¦   «         Z%ej
        j        ej
        j        ej
        j        d„ ¦   «         ¦   «         ¦   «         Z&ej
        j        d„ ¦   «         Z'ej
        j        d „ ¦   «         Z(ej
        j        d!„ ¦   «         Z)ej
        j        d"„ ¦   «         Z*ej
        j        d#„ ¦   «         Z+ej
        j        d$„ ¦   «         Z,ej
        j        d%„ ¦   «         Z-ej
        j        d&„ ¦   «         Z.ej
        j        d'„ ¦   «         Z/d(„ Z0ej        d)„ ¦   «         Z1ej
        j        ej
        j        d*„ ¦   «         ¦   «         Z2ej
        j        ej
        j        d+„ ¦   «         ¦   «         Z3d,„ Z4d-„ Z5d.„ Z6d/„ Z7d0„ Z8d1„ Z9ej
        j        d2„ ¦   «         Z:ej
        j        d3„ ¦   «         Z;d4„ Z<d5„ Z=d6„ Z>d7„ Z?d8„ Z@d9„ ZAd:„ ZBd;„ ZCd<„ ZDd=„ ZEd>„ ZFd?„ ZGd@„ ZHej
         I                    dAdBdCg¦  «        dD„ ¦   «         ZJdE„ ZKdF„ ZLdG„ ZMdH„ ZNdI„ ZOdJ„ ZPdK„ ZQej
        j        dL„ ¦   «         ZRdM„ ZSdN„ ZTej
         I                    dOdB eUdPg¦  «        dQfdC eUdRg¦  «         eUdPg¦  «        fg¦  «        dS„ ¦   «         ZVej
         I                    dTdBdCg¦  «        dU„ ¦   «         ZWej
         X                    dV¦  «        dW„ ¦   «         ZYdX„ ZZdY„ Z[ej
        j        ej
        j        dZ„ ¦   «         ¦   «         Z\d[„ Z]d\„ Z^ej
         I                    dAg d]¢¦  «        d^„ ¦   «         Z_d_„ Z`d`„ Zada„ Zbdb„ ZcdQS )cÚTestReadHtmlc                 óˆ   — d}t          j        t          |¬¦  «        5   |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz™Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.r=   a  <table>
                <thead>
                    <tr>
                        <th>A</th>
                        <th>B</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>1</td>
                        <td>2</td>
                    </tr>
                </tbody>
                <tbody>
                    <tr>
                        <td>3</td>
                        <td>4</td>
                    </tr>
                </tbody>
            </table>)r-   Úassert_produces_warningÚFutureWarning)ÚselfrZ   r4   s      r   Útest_literal_html_deprecationz*TestReadHtml.test_literal_html_deprecationq   s¢   € ð>ð 	õ Ô'­¸SÐAÑAÔAð 	ð 	ØÐðñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ž7·;¾;c                 ó   —  |dddd¦  «        S )Nr   r   r?   r@   © ©r`   r   s     r   Ú	spam_datazTestReadHtml.spam_data‘   s   € àˆx˜˜f f¨kÑ:Ô:Ð:r    c                 ó   —  |dddd¦  «        S )Nr   r   r?   úbanklist.htmlrc   rd   s     r   Úbanklist_datazTestReadHtml.banklist_data•   s   € àˆx˜˜f f¨oÑ>Ô>Ð>r    c                 óÌ  — t          t          j                             d¦  «                             d¦  «        t	          j        t          d¦  «        t          ¬¦  «        ¬¦  «                             dj	        ¦  «         
                    t          ¦  «        }|                     ¦   «         } |t          |¦  «        ddid	¬
¦  «        d	         }t          j        ||¦  «         d S )Né   )é   é   Úabc©Údtype©Úcolumnsz{:.3f}ÚclassÚ	dataframer   )ÚattrsrS   )r   ÚnpÚrandomÚdefault_rngÚpdÚIndexÚlistÚobjectr+   ÚformatÚastypeÚfloatÚto_htmlr   r-   r.   )r`   rZ   ÚdfÚoutÚress        r   Útest_to_html_compatz TestReadHtml.test_to_html_compat™   sÈ   € åÝ”	×%Ò% aÑ(Ô(×/Ò/°Ñ7Ô7Ýœ¥ e¡¤µFÐ;Ñ;Ô;ðñ ô ÷
 ŠS�”Ñ!Ô!§&¢&­¡-¤-ð 	ð �jŠj‰lŒlˆØÐÝ�S‰MŒM '¨;Ð!7À1ð
ñ 
ô 
à
ôˆõ 	Ô˜c 2Ñ&Ô&Ð&Ð&Ð&r    c                 óØ  ‡	‡
‡— t          t          dt          j        dgd¬¦  «        t          g d¢d¬¦  «        t          dt          j        dgd¬¦  «        t          g d	¢d¬¦  «        g d
¢g d¢g d¢g d¢dœ¦  «        }|dk    ret	          t          j        g d¢t          j        ¬¦  «        ¦  «        }t	          t          j        ddt          gt          j        ¬¦  «        ¦  «        }n½|dk    r[t          j	        d¦  «        Šddl
mŠ	  ‰	‰                     g d¢¦  «        ¦  «        } ‰	‰                     g d¢¦  «        ¦  «        }n\t          j	        d¦  «        Št          ‰                     g d¢¦  «        ¦  «        }t          ‰                     g d¢¦  «        ¦  «        }|                     d¬¦  «        }t          j        d|¦  «        5   |t!          |¦  «        |¬¦  «        d         }d d d ¦  «         n# 1 swxY w Y   t          t          dt          j        dgd¬¦  «        t          g d¢d¬¦  «        t          dt          j        dgd¬¦  «        t          g d	¢d¬¦  «        t          ddt          gd¬¦  «        t          g d¢d¬¦  «        ||dœ¦  «        Š
|dk    r,dd lŠddl
mŠ	 t          ˆ	ˆ
ˆfd„‰
j        D ¦   «         ¦  «        Š
t'          j        |‰
¦  «         d S )Né   rl   ÚInt64rn   )r…   rj   rl   ç      ø?ç      @ÚFloat64)r‡   g       @rˆ   )TFN)TFT©ÚaÚbÚc)r‹   rŒ   N)r‹   rŒ   r�   ÚdÚeÚfÚgÚhÚpythonr‹   rŒ   Úpyarrowr   )ÚArrowExtensionArrayF©Úindexzmode.string_storage©Údtype_backendTÚbooleanc           	      ó^   •— i | ])}| ‰‰                      ‰|         d ¬¦  «        ¦  «        “Œ*S )T)Úfrom_pandas)Úarray)Ú.0Úcolr•   ÚexpectedÚpas     €€€r   ú
<dictcomp>z3TestReadHtml.test_dtype_backend.<locals>.<dictcomp>Ü   sL   ø€ ð ð ð àð Ð,Ð,¨R¯XªX°h¸s´mÐQU¨XÑ-VÔ-VÑWÔWðð ð r    )r   r   ru   Únanr   r�   Úobject_r
   rC   rD   Úpandas.arraysr•   r   r   rx   Úoption_contextr   r”   rq   r-   r.   )r`   Ústring_storager™   rZ   r€   Ústring_arrayÚstring_array_nar�   Úresultr•   r    r¡   s            @@@r   Útest_dtype_backendzTestReadHtml.test_dtype_backend¨   s‹  øøø€ åå˜Q¥¤¨˜N°'Ð:Ñ:Ô:Ý˜I˜I˜I¨WÐ5Ñ5Ô5Ý˜S¥"¤&¨#Ð.°iÐ@Ñ@Ô@Ý˜O˜O˜O°9Ð=Ñ=Ô=Ø(Ð(Ð(Ø(Ð(Ð(Ø$�_�_Ø%Ð%Ð%ð	ð 	ñ
ô 
ˆð ˜XÒ%Ð%Ý&¥r¤x°°°ÅrÄzÐ'RÑ'RÔ'RÑSÔSˆLÝ)­"¬(°C¸½b°>ÍÌÐ*TÑ*TÔ*TÑUÔUˆOˆOØ˜iÒ'Ð'ÝÔ$ YÑ/Ô/ˆBØ9Ð9Ð9Ð9Ð9Ð9à.Ð.¨r¯xªx¸¸¸Ñ/HÔ/HÑIÔIˆLØ1Ð1°"·(²(Ð;KÐ;KÐ;KÑ2LÔ2LÑMÔMˆOˆOåÔ$ YÑ/Ô/ˆBÝ+¨B¯HªH°_°_°_Ñ,EÔ,EÑFÔFˆLÝ.¨r¯xªxÐ8HÐ8HÐ8HÑ/IÔ/IÑJÔJˆOà�jŠj˜uˆjÑ%Ô%ˆÝÔÐ4°nÑEÔEð 	Uð 	UØ%Ð%¥h¨s¡m¤mÀ=ÐQÑQÔQÐRSÔTˆFð	Uð 	Uð 	Uñ 	Uô 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uøøøð 	Uð 	Uð 	Uð 	Uõ å˜Q¥¤¨˜N°'Ð:Ñ:Ô:Ý˜I˜I˜I¨WÐ5Ñ5Ô5Ý˜S¥"¤&¨#Ð.°iÐ@Ñ@Ô@Ý˜O˜O˜O°9Ð=Ñ=Ô=Ý˜T 5­"Ð-°YÐ?Ñ?Ô?ÝÐ/Ð/Ð/°yÐAÑAÔAØ!Ø$ð	ð 	ñ
ô 
ˆð ˜IÒ%Ð%Ø Ð Ð Ð à9Ð9Ð9Ð9Ð9Ð9å ðð ð ð ð ð à'Ô/ðñ ô ñô ˆHõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/s   Ç!G>Ç>HÈHc                 ó  — t          |d¬¦  «        5 }|                     |                     ¦   «         ¬¦  «          ||j        d¬¦  «        } ||j        d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          ||¦  «         d S )Núutf-8©Úencoding©ÚcontentúFirst Federal Bank of Floridar=   úMetcalf Bank©ÚopenÚserve_contentÚreadrN   r8   )r`   Ú
httpserverrh   rZ   r�   Údf1Údf2s          r   Útest_banklist_urlzTestReadHtml.test_banklist_urlä   sà   € õ �-¨'Ð2Ñ2Ô2ð 	°aØ×$Ò$¨Q¯VªV©X¬XÐ$Ñ6Ô6Ð6Ø"Ð"à”Ø5ðñ ô ˆCð #Ð"Ø”Ø$ðñ ô ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	˜s CÑ(Ô(Ð(Ð(Ð(ó   ’AA+Á+A/Á2A/c                 ó  — t          |d¬¦  «        5 }|                     |                     ¦   «         ¬¦  «          ||j        d¬¦  «        } ||j        d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          ||¦  «         d S )Nr­   r®   r°   ú	.*Water.*r=   ÚUnitr´   )r`   r¸   re   rZ   r�   r¹   rº   s          r   Útest_spam_urlzTestReadHtml.test_spam_urlö   sÞ   € õ �) gÐ.Ñ.Ô.ð 	A°!Ø×$Ò$¨Q¯VªV©X¬XÐ$Ñ6Ô6Ð6Ø"Ð" :¤>¸ÐEÑEÔEˆCØ"Ð" :¤>¸Ð@Ñ@Ô@ˆCð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Aõ
 	˜s CÑ(Ô(Ð(Ð(Ð(r¼   c                 óf   —  ||dddi¬¦  «        } ||dddi¬¦  «        }t          ||¦  «         d S )Nz.*Florida.*ÚidÚtable©r>   rt   r³   ©r8   )r`   rh   rZ   r¹   rº   s        r   Útest_banklistzTestReadHtml.test_banklist   s`   € àÐØ °t¸W°oð
ñ 
ô 
ˆð ÐØ ¸¸g°ð
ñ 
ô 
ˆõ 	˜s CÑ(Ô(Ð(Ð(Ð(r    c                 ó¾   —  ||d¬¦  «        } ||d¬¦  «        }t          ||¦  «         |d         j        d         dk    sJ ‚|d         j        d         dk    sJ ‚d S )Nr¾   r=   r¿   r   ©r   r   Ú
ProximatesÚNutrient)r8   Úilocrq   ©r`   re   rZ   r¹   rº   s        r   Ú	test_spamzTestReadHtml.test_spam  sz   € ØÐ˜y°Ð<Ñ<Ô<ˆØÐ˜y°Ð7Ñ7Ô7ˆÝ˜s CÑ(Ô(Ð(à�1ŒvŒ{˜4Ô  LÒ0Ð0Ð0Ð0Ø�1ŒvŒ~˜aÔ  JÒ.Ð.Ð.Ð.Ð.Ð.r    c                 óT   —  ||¦  «        }|D ]}t          |t          ¦  «        sJ ‚Œd S r#   r$   )r`   re   rZ   Údfsr€   s        r   Útest_spam_no_matchzTestReadHtml.test_spam_no_match  sD   € ØÐ˜yÑ)Ô)ˆØð 	-ð 	-ˆBÝ˜b¥)Ñ,Ô,Ð,Ð,Ð,Ð,ð	-ð 	-r    c                 ó\   —  ||ddi¬¦  «        }|D ]}t          |t          ¦  «        sJ ‚Œd S )NrÂ   rÃ   )rt   r$   )r`   rh   rZ   rÏ   r€   s        r   Útest_banklist_no_matchz#TestReadHtml.test_banklist_no_match  sM   € ØÐ˜}°T¸7°OÐDÑDÔDˆØð 	-ð 	-ˆBÝ˜b¥)Ñ,Ô,Ð,Ð,Ð,Ð,ð	-ð 	-r    c                 óf   —  ||dd¬¦  «        d         }|j         d         dk    sJ ‚|j        rJ ‚d S )Nr¾   rj   ©r>   Úheaderr   rÉ   )rq   r/   )r`   re   rZ   r€   s       r   Útest_spam_headerzTestReadHtml.test_spam_header  sH   € ØÐ˜i¨{À1ÐEÑEÔEÀaÔHˆØŒz˜!Œ} Ò,Ð,Ð,Ð,Ø”8ÐÐˆ|ÐÐr    c                 ó^   —  ||dd¬¦  «        } ||dd¬¦  «        }t          ||¦  «         d S ©Nr¾   r…   ©r>   Úskiprowsr¿   rÅ   rÌ   s        r   Útest_skiprows_intzTestReadHtml.test_skiprows_int"  óF   € ØÐ˜y°ÀaÐHÑHÔHˆØÐ˜y°ÀÐCÑCÔCˆå˜s CÑ(Ô(Ð(Ð(Ð(r    c                 ó’   —  ||dt          d¦  «        ¬¦  «        } ||dt          d¦  «        ¬¦  «        }t          ||¦  «         d S ©Nr¾   rj   rÙ   r¿   )Úranger8   rÌ   s        r   Útest_skiprows_rangez TestReadHtml.test_skiprows_range(  óR   € ØÐ˜y°ÅeÈAÁhÄhÐOÑOÔOˆØÐ˜y°ÅÀqÁÄÐJÑJÔJˆå˜s CÑ(Ô(Ð(Ð(Ð(r    c                 óf   —  ||dddg¬¦  «        } ||dddg¬¦  «        }t          ||¦  «         d S ©Nr¾   r…   rj   rÙ   r¿   rÅ   rÌ   s        r   Útest_skiprows_listzTestReadHtml.test_skiprows_list.  óN   € ØÐ˜y°ÀqÈ!ÀfÐMÑMÔMˆØÐ˜y°À!ÀQÀÐHÑHÔHˆå˜s CÑ(Ô(Ð(Ð(Ð(r    c                 óf   —  ||dddh¬¦  «        } ||dddh¬¦  «        }t          ||¦  «         d S rã   rÅ   rÌ   s        r   Útest_skiprows_setzTestReadHtml.test_skiprows_set4  rå   r    c                 ó^   —  ||dd¬¦  «        } ||dd¬¦  «        }t          ||¦  «         d S rØ   rÅ   rÌ   s        r   Útest_skiprows_slicez TestReadHtml.test_skiprows_slice:  rÜ   r    c                 ó’   —  ||dt          d¦  «        ¬¦  «        } ||dt          d¦  «        ¬¦  «        }t          ||¦  «         d S rÞ   ©Úslicer8   rÌ   s        r   Útest_skiprows_slice_shortz&TestReadHtml.test_skiprows_slice_short@  rá   r    c           	      ó˜   —  ||dt          dd¦  «        ¬¦  «        } ||dt          ddd¦  «        ¬¦  «        }t          ||¦  «         d S )	Nr¾   rj   é   rÙ   r¿   rk   r…   éÿÿÿÿrë   rÌ   s        r   Útest_skiprows_slice_longz%TestReadHtml.test_skiprows_slice_longF  sX   € ØÐ˜y°ÅeÈAÈqÁkÄkÐRÑRÔRˆØÐ˜y°ÅÀqÈ!ÈRÁÄÐQÑQÔQˆå˜s CÑ(Ô(Ð(Ð(Ð(r    c                 ó¦   —  ||dt          j        d¦  «        ¬¦  «        } ||dt          j        d¦  «        ¬¦  «        }t          ||¦  «         d S rÞ   )ru   Úaranger8   rÌ   s        r   Útest_skiprows_ndarrayz"TestReadHtml.test_skiprows_ndarrayL  sW   € ØÐ˜y°ÅbÄiÐPQÁlÄlÐSÑSÔSˆØÐ˜y°ÅÄÈ1ÁÄÐNÑNÔNˆå˜s CÑ(Ô(Ð(Ð(Ð(r    c                 óŠ   — t          j        t          d¬¦  «        5   ||dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz%is not a valid type for skipping rowsr=   r¾   ÚasdfrÙ   )rC   rF   Ú	TypeError)r`   re   rZ   s      r   Útest_skiprows_invalidz"TestReadHtml.test_skiprows_invalidR  s¨   € ÝŒ]�9Ð-TÐVÑVÔVð 	Lð 	LØÐ˜Y¨kÀFÐKÑKÔKÐKð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð 	Lð 	Ls   œ8¸<¿<c                 ó^   —  ||dd¬¦  «        } ||dd¬¦  «        }t          ||¦  «         d S ©Nr¾   r   ©r>   rS   r¿   rÅ   rÌ   s        r   Ú
test_indexzTestReadHtml.test_indexV  sF   € ØÐ˜y°ÀqÐIÑIÔIˆØÐ˜y°À!ÐDÑDÔDˆÝ˜s CÑ(Ô(Ð(Ð(Ð(r    c                 ób   —  ||ddd¬¦  «        } ||ddd¬¦  «        }t          ||¦  «         d S ©Nr¾   r…   r   )r>   rÕ   rS   r¿   rÅ   rÌ   s        r   Útest_header_and_index_no_typesz+TestReadHtml.test_header_and_index_no_types[  óK   € ØÐ˜y°ÀAÐQRÐSÑSÔSˆØÐ˜y°¸qÈAÐNÑNÔNˆÝ˜s CÑ(Ô(Ð(Ð(Ð(r    c                 ób   —  ||ddd¬¦  «        } ||ddd¬¦  «        }t          ||¦  «         d S rþ   rÅ   rÌ   s        r   Ú test_header_and_index_with_typesz-TestReadHtml.test_header_and_index_with_types`  r   r    c                 ó^   —  ||dd¬¦  «        } ||dd¬¦  «        }t          ||¦  «         d S rú   rÅ   rÌ   s        r   Útest_infer_typeszTestReadHtml.test_infer_typese  sF   € àÐ˜y°ÀqÐIÑIÔIˆØÐ˜y°À!ÐDÑDÔDˆÝ˜s CÑ(Ô(Ð(Ð(Ð(r    c                 ó‚  — t          |d¬¦  «        5 }t          |                     ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d¬¦  «        5 }t          |                     ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y    ||d¬¦  «        } ||d¬¦  «        }t          ||¦  «         d S ©NzUTF-8r®   r¾   r=   r¿   )rµ   r   r·   r8   )r`   re   rZ   r�   Údata1Údata2r¹   rº   s           r   Útest_string_iozTestReadHtml.test_string_iok  s:  € Ý�) gÐ.Ñ.Ô.ð 	'°!Ý˜QŸVšV™XœXÑ&Ô&ˆEð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'õ �) gÐ.Ñ.Ô.ð 	'°!Ý˜QŸVšV™XœXÑ&Ô&ˆEð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð Ð˜u¨KÐ8Ñ8Ô8ˆØÐ˜u¨FÐ3Ñ3Ô3ˆÝ˜s CÑ(Ô(Ð(Ð(Ð(s#   ’"A Á AÁAÁ"B
Â
BÂBc                 ó  — t          |d¬¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y    |t          |¦  «        d¬¦  «        } |t          |¦  «        d¬¦  «        }t          ||¦  «         d S r  )rµ   r·   r   r8   )r`   re   rZ   r�   r   r¹   rº   s          r   Útest_stringzTestReadHtml.test_stringv  sÂ   € Ý�) gÐ.Ñ.Ô.ð 	°!Ø—6’6‘8”8ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð Ð�x¨™~œ~°[ÐAÑAÔAˆØÐ�x¨™~œ~°VÐ<Ñ<Ô<ˆå˜s CÑ(Ô(Ð(Ð(Ð(s   ’3³7º7c                 óþ   — t          |d¬¦  «        5 } ||d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d¬¦  «        5 } ||d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S r  )rµ   r8   )r`   re   rZ   r�   r¹   rº   s         r   Útest_file_likezTestReadHtml.test_file_like  s  € Ý�) gÐ.Ñ.Ô.ð 	9°!Ø"Ð" 1¨KÐ8Ñ8Ô8ˆCð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9õ �) gÐ.Ñ.Ô.ð 	4°!Ø"Ð" 1¨FÐ3Ñ3Ô3ˆCð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4õ 	˜s CÑ(Ô(Ð(Ð(Ð(s   ’,¬0³0ÁA"Á"A&Á)A&c                 ó¶   — |                      dd¬¦  «         t          j        t          d¬¦  «        5   |dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz#urlopen error unknown url type: gité”  ©Úcoder=   zgit://github.comr¾   )r¶   rC   rF   r   ©r`   r¸   rZ   s      r   Útest_bad_url_protocolz"TestReadHtml.test_bad_url_protocolˆ  sÃ   € ð 	× Ò Ð!FÈSÐ ÑQÔQÐQÝŒ]�8Ð+PÐQÑQÔQð 	Dð 	DØÐÐ/°{ÐCÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	Dð 	Ds   ³AÁAÁAc                 óÎ   — |                      dd¬¦  «         t          j        t          t          fd¬¦  «        5   ||j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzName or service not knownr  r  zHTTP Error 404: NOT FOUNDr=   r¾   )r¶   rC   rF   r   rM   rN   r  s      r   Útest_invalid_urlzTestReadHtml.test_invalid_url�  sÉ   € ð 	× Ò Ð!<À3Ð ÑGÔGÐGÝŒ]�H¥jÐ1Ð9TÐUÑUÔUð 	@ð 	@ØÐ˜Zœ^°;Ð?Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@s   ºAÁAÁ!Ac                 óä   — |} |t          t          j                             |¦  «        ¦  «        dddi¬¦  «        }t	          |t
          ¦  «        sJ ‚|D ]}t	          |t          ¦  «        sJ ‚Œd S )NÚFirstrÂ   rÃ   rÄ   )r   ÚosÚpathÚabspathr%   rz   r   ©r`   rh   rZ   rN   rÏ   r€   s         r   Útest_file_urlzTestReadHtml.test_file_url—  sŠ   € àˆØÐÝ�RœWŸ_š_¨SÑ1Ô1Ñ2Ô2¸'È$ÐPWÈð
ñ 
ô 
ˆõ ˜#�tÑ$Ô$Ð$Ð$Ð$Øð 	-ð 	-ˆBÝ˜b¥)Ñ,Ô,Ð,Ð,Ð,Ð,ð	-ð 	-r    c                 ó’   — |}t          j        t          d¬¦  «        5   ||dddi¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzNo tables foundr=   r²   rÂ   Ú	tasdfablerÄ   ©rC   rF   rM   )r`   rh   rZ   rN   s       r   Útest_invalid_table_attrsz%TestReadHtml.test_invalid_table_attrs¡  s¨   € àˆÝŒ]�:Ð->Ð?Ñ?Ô?ð 	ð 	ØÐØÐ:À4ÈÐBUðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ž<¼A ÁA c                 óp   —  ||dddiddg¬¦  «        d         }t          |j        t          ¦  «        sJ ‚d S )NÚMetcalfrÂ   rÃ   r   r…   )r>   rt   rÕ   ©r%   rq   r   ©r`   rh   rZ   r€   s       r   Útest_multiindex_headerz#TestReadHtml.test_multiindex_header©  sR   € àÐØ °4¸°/È1ÈaÈ&ð
ñ 
ô 
à
ôˆõ ˜"œ*¥jÑ1Ô1Ð1Ð1Ð1Ð1Ð1r    c                 óp   —  ||dddiddg¬¦  «        d         }t          |j        t          ¦  «        sJ ‚d S )Nr"  rÂ   rÃ   r   r…   )r>   rt   rS   )r%   r—   r   r$  s       r   Útest_multiindex_indexz"TestReadHtml.test_multiindex_index°  sS   € àÐØ °4¸°/ÈaÐQRÈVð
ñ 
ô 
à
ôˆõ ˜"œ(¥JÑ/Ô/Ð/Ð/Ð/Ð/Ð/r    c                 ó®   —  ||dddiddgddg¬¦  «        d         }t          |j        t          ¦  «        sJ ‚t          |j        t          ¦  «        sJ ‚d S )Nr"  rÂ   rÃ   r   r…   )r>   rt   rÕ   rS   )r%   rq   r   r—   r$  s       r   Útest_multiindex_header_indexz)TestReadHtml.test_multiindex_header_index·  sv   € àÐØØØ˜�/Ø�q�6Ø˜!�fð
ñ 
ô 
ð ôˆõ ˜"œ*¥jÑ1Ô1Ð1Ð1Ð1Ý˜"œ(¥JÑ/Ô/Ð/Ð/Ð/Ð/Ð/r    c                 ór   —  ||dddiddgd¬¦  «        d         }t          |j        t          ¦  «        sJ ‚d S ©Nr"  rÂ   rÃ   r   r…   )r>   rt   rÕ   rÚ   r#  r$  s       r   Ú&test_multiindex_header_skiprows_tuplesz3TestReadHtml.test_multiindex_header_skiprows_tuplesÃ  óZ   € àÐØØØ˜�/Ø�q�6Øð
ñ 
ô 
ð ôˆõ ˜"œ*¥jÑ1Ô1Ð1Ð1Ð1Ð1Ð1r    c                 ór   —  ||dddiddgd¬¦  «        d         }t          |j        t          ¦  «        sJ ‚d S r+  r#  r$  s       r   Útest_multiindex_header_skiprowsz,TestReadHtml.test_multiindex_header_skiprowsÎ  r-  r    c                 ó°   —  ||dddiddgddgd¬¦  «        d         }t          |j        t          ¦  «        sJ ‚t          |j        t          ¦  «        sJ ‚d S )Nr"  rÂ   rÃ   r   r…   )r>   rt   rÕ   rS   rÚ   )r%   r—   r   rq   r$  s       r   Ú%test_multiindex_header_index_skiprowsz2TestReadHtml.test_multiindex_header_index_skiprowsÙ  sy   € àÐØØØ˜�/Ø�q�6Ø˜!�fØð
ñ 
ô 
ð ôˆõ ˜"œ(¥JÑ/Ô/Ð/Ð/Ð/Ý˜"œ*¥jÑ1Ô1Ð1Ð1Ð1Ð1Ð1r    c                 ó,  — |} |t          t          j                             |¦  «        ¦  «        t	          j        t	          j        d¦  «        ¦  «        ddi¬¦  «        }t          |t          ¦  «        sJ ‚|D ]}t          |t          ¦  «        sJ ‚Œd S )NÚFloridarÂ   rÃ   rÄ   )	r   r  r  r  ÚreÚcompiler%   rz   r   r  s         r   Útest_regex_idempotencyz#TestReadHtml.test_regex_idempotencyæ  sŸ   € àˆØÐÝ�RœWŸ_š_¨SÑ1Ô1Ñ2Ô2Ý”*�RœZ¨	Ñ2Ô2Ñ3Ô3Ø˜�/ð
ñ 
ô 
ˆõ
 ˜#�tÑ$Ô$Ð$Ð$Ð$Øð 	-ð 	-ˆBÝ˜b¥)Ñ,Ô,Ð,Ð,Ð,Ð,ð	-ð 	-r    c                 óŽ   — d}t          j        t          |¬¦  «        5   ||dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz\(you passed a negative value\)r=   ÚWaterrð   rÙ   r  )r`   re   rZ   r4   s       r   Útest_negative_skiprowsz#TestReadHtml.test_negative_skiprowsò  s¬   € Ø0ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Dð 	DØÐ˜Y¨gÀÐCÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	Dð 	Ds   ž:º>Á>c                 ó   — dS )Naf  
          <table class="contentstable" align="center"><tr>
            <td width="50%">
            <p class="biglink"><a class="biglink" href="whatsnew/2.7.html">What's new in Python 2.7?</a><br/>
                <span class="linkdescr">or <a href="whatsnew/index.html">all "What's new" documents</a> since 2.0</span></p>
            <p class="biglink"><a class="biglink" href="tutorial/index.html">Tutorial</a><br/>
                <span class="linkdescr">start here</span></p>
            <p class="biglink"><a class="biglink" href="library/index.html">Library Reference</a><br/>
                <span class="linkdescr">keep this under your pillow</span></p>
            <p class="biglink"><a class="biglink" href="reference/index.html">Language Reference</a><br/>
                <span class="linkdescr">describes syntax and language elements</span></p>
            <p class="biglink"><a class="biglink" href="using/index.html">Python Setup and Usage</a><br/>
                <span class="linkdescr">how to use Python on different platforms</span></p>
            <p class="biglink"><a class="biglink" href="howto/index.html">Python HOWTOs</a><br/>
                <span class="linkdescr">in-depth documents on specific topics</span></p>
            </td><td width="50%">
            <p class="biglink"><a class="biglink" href="installing/index.html">Installing Python Modules</a><br/>
                <span class="linkdescr">installing from the Python Package Index &amp; other sources</span></p>
            <p class="biglink"><a class="biglink" href="distributing/index.html">Distributing Python Modules</a><br/>
                <span class="linkdescr">publishing modules for installation by others</span></p>
            <p class="biglink"><a class="biglink" href="extending/index.html">Extending and Embedding</a><br/>
                <span class="linkdescr">tutorial for C/C++ programmers</span></p>
            <p class="biglink"><a class="biglink" href="c-api/index.html">Python/C API</a><br/>
                <span class="linkdescr">reference for C/C++ programmers</span></p>
            <p class="biglink"><a class="biglink" href="faq/index.html">FAQs</a><br/>
                <span class="linkdescr">frequently asked questions (with answers!)</span></p>
            </td></tr>
        </table>

        <p><strong>Indices and tables:</strong></p>
        <table class="contentstable" align="center"><tr>
            <td width="50%">
            <p class="biglink"><a class="biglink" href="py-modindex.html">Python Global Module Index</a><br/>
                <span class="linkdescr">quick access to all modules</span></p>
            <p class="biglink"><a class="biglink" href="genindex.html">General Index</a><br/>
                <span class="linkdescr">all functions, classes, terms</span></p>
            <p class="biglink"><a class="biglink" href="glossary.html">Glossary</a><br/>
                <span class="linkdescr">the most important terms explained</span></p>
            </td><td width="50%">
            <p class="biglink"><a class="biglink" href="search.html">Search page</a><br/>
                <span class="linkdescr">search this documentation</span></p>
            <p class="biglink"><a class="biglink" href="contents.html">Complete Table of Contents</a><br/>
                <span class="linkdescr">lists all sections and subsections</span></p>
            </td></tr>
        </table>
        rc   ©r`   s    r   Úpython_docszTestReadHtml.python_docs÷  s   € ð-ð -r    c                 ó€   — |                      |¬¦  «          ||j        d¬¦  «        }t          |¦  «        dk    sJ ‚d S )Nr°   ÚPythonr=   r…   )r¶   rN   r)   )r`   r<  r¸   rZ   rÏ   s        r   Útest_multiple_matchesz"TestReadHtml.test_multiple_matches(  sI   € ð 	× Ò ¨Ð Ñ5Ô5Ð5ØÐ˜zœ~°XÐ>Ñ>Ô>ˆÝ�3‰xŒx˜!Š|ˆ|ˆ|ˆ|ˆ|ˆ|r    c                 óœ   — |                      |¬¦  «          ||j        d¬¦  «        }d„ |D ¦   «         }t          |¦  «        ddgk    sJ ‚d S )Nr°   r>  r=   c                 ó8   — g | ]}|j         d          dd…         ‘ŒS )rÈ   r   rk   )rË   )rž   r€   s     r   ú
<listcomp>z7TestReadHtml.test_python_docs_table.<locals>.<listcomp>4  s'   € Ð/Ð/Ð/ RˆbŒg�dŒm˜A˜a˜CÔ Ð/Ð/Ð/r    ÚPythÚWhat)r¶   rN   Úsorted)r`   r<  r¸   rZ   rÏ   Úzzs         r   Útest_python_docs_tablez#TestReadHtml.test_python_docs_table/  sg   € ð 	× Ò ¨Ð Ñ5Ô5Ð5ØÐ˜zœ~°XÐ>Ñ>Ô>ˆØ/Ð/¨3Ð/Ñ/Ô/ˆÝ�b‰zŒz˜f fÐ-Ò-Ð-Ð-Ð-Ð-Ð-r    c                 ód   — d} |t          |¦  «        ¦  «        }t          |¦  «        dk    sJ ‚dS )z@
        Make sure that read_html ignores empty tables.
        aà  
            <table>
                <thead>
                    <tr>
                        <th>A</th>
                        <th>B</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>1</td>
                        <td>2</td>
                    </tr>
                </tbody>
            </table>
            <table>
                <tbody>
                </tbody>
            </table>
        r…   N)r   r)   )r`   rZ   r?   rª   s       r   Útest_empty_tableszTestReadHtml.test_empty_tables7  s>   € ðˆð( "Ð!¥(¨4¡.¤.Ñ1Ô1ˆÝ�6‰{Œ{˜aÒÐÐÐÐÐr    c                 óž   —  |t          d¦  «        ¦  «        d         }t          ddgddggddg¬	¦  «        }t          j        ||¦  «         d S )
NaÎ  <table>
            <thead>
                <tr>
                    <th>A</th>
                    <th>B</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>1</td>
                    <td>2</td>
                </tr>
            </tbody>
            <tbody>
                <tr>
                    <td>3</td>
                    <td>4</td>
                </tr>
            </tbody>
        </table>r   r…   rj   rl   rk   ÚAÚB©r   rq   ©r   r   r-   r.   ©r`   rZ   rª   r    s       r   Útest_multiple_tbodyz TestReadHtml.test_multiple_tbodyR  sp   € ð "Ð!Ýðñô ñ
ô 
ð. ô/ˆõ2  A q 6¨A¨q¨6Ð"2¸SÀ#¸JÐGÑGÔGˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó”   —  |t          d¦  «        ¦  «        d         }t          ddidg¬¦  «        }t          j        ||¦  «         dS )zt
        Don't fail with bs4 when there is a header and only one column
        as described in issue #9178
        a3  <table>
                <thead>
                    <tr>
                        <th>Header</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>first</td>
                    </tr>
                </tbody>
            </table>r   ÚHeaderÚfirst©r   r—   NrN  rO  s       r   Útest_header_and_one_columnz'TestReadHtml.test_header_and_one_columnr  sf   € ð
 "Ð!Ýðñô ñ
ô 
ð ôˆõ"  8¨WÐ"5¸a¸SÐAÑAÔAˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó˜   —  |t          d¦  «        ¦  «        d         }t          g d¢gg d¢¬¦  «        }t          j        ||¦  «         dS )zK
        Ensure parser adds <tr> within <thead> on malformed HTML.
        aœ  <table>
            <thead>
                <tr>
                    <th>Country</th>
                    <th>Municipality</th>
                    <th>Year</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>Ukraine</td>
                    <th>Odessa</th>
                    <td>1944</td>
                </tr>
            </tbody>
        </table>r   )ÚUkraineÚOdessaé˜  )ÚCountryÚMunicipalityÚYearrM  NrN  rO  s       r   Útest_thead_without_trz"TestReadHtml.test_thead_without_trŒ  sx   € ð "Ð!Ýðñô ñ
ô 
ð& ô'ˆõ* Ø-Ð-Ð-Ð.Ø7Ð7Ð7ð
ñ 
ô 
ˆõ
 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óŒ  — d}t          ddggddg¬¦  «        }t          ddgddggddg¬¦  «        }|                     d	¬
¦  «        }|                     d¬
¦  «        } |t          |¦  «        ¦  «        d         } |t          |¦  «        ¦  «        d         }t          j        ||¦  «         t          j        ||¦  «         dS )zh
        Make sure that read_html reads tfoot, containing td or th.
        Ignores empty tfoot
        a†  <table>
            <thead>
                <tr>
                    <th>A</th>
                    <th>B</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>bodyA</td>
                    <td>bodyB</td>
                </tr>
            </tbody>
            <tfoot>
                {footer}
            </tfoot>
        </table>ÚbodyAÚbodyBrK  rL  rM  ÚfootAÚfootBÚ )Úfooterz%<tr><td>footA</td><th>footB</th></tr>r   N)r   r|   r   r-   r.   )	r`   rZ   Údata_templateÚ	expected1Ú	expected2r  r  Úresult1Úresult2s	            r   Útest_tfoot_readzTestReadHtml.test_tfoot_read¬  sæ   € ð
ˆõ$  W¨gÐ$6Ð#7À#ÀsÀÐLÑLÔLˆ	åØ˜GÐ$ w°Ð&8Ð9ÀCÈÀ:ð
ñ 
ô 
ˆ	ð ×$Ò$¨BÐ$Ñ/Ô/ˆØ×$Ò$Ð,SÐ$ÑTÔTˆà"Ð"¥8¨E¡?¤?Ñ3Ô3°AÔ6ˆØ"Ð"¥8¨E¡?¤?Ñ3Ô3°AÔ6ˆå
Ô˜g yÑ1Ô1Ð1Ý
Ô˜g yÑ1Ô1Ð1Ð1Ð1r    c                 ó˜   —  |t          d¦  «        d¬¦  «        d         }t          ddggd¬¦  «        }t          j        ||¦  «         d S )Na
  
            <table>
                <tr>
                    <td>S</td>
                    <td>I</td>
                </tr>
                <tr>
                    <td>text</td>
                    <td>1944</td>
                </tr>
            </table>
        r   ©rÕ   ÚtextrY  )ÚSÚIrp   rN  rO  s       r   Ú&test_parse_header_of_non_string_columnz3TestReadHtml.test_parse_header_of_non_string_columnÒ  sp   € ð "Ð!Ýðñô ð ð
ñ 
ô 
ð  ô!ˆõ$ ˜v t˜nÐ-°zÐBÑBÔBˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óÊ  ‡— ddl mŠ ˆfd„} ||dddi¬¦  «        d         }t           |dd	d
d¦  «        t          t          dœ¬¦  «        }|j        |j        k    sJ ‚g d¢}g d¢}|                     |¦  «                             ||¦  «        }	|                     |¦  «        }
|	}ddg}||                              t          ¦  «        ||<   t          j
        ||
¦  «         d S )Nr   )Ú_remove_whitespacec                 ó@   •— 	  ‰| ¦  «        S # t           $ r | cY S w xY wr#   )ÚAttributeError)r&   rr  s    €r   Útry_remove_wsz8TestReadHtml.test_banklist_header.<locals>.try_remove_wsï  s=   ø€ ðØ)Ð)¨!Ñ,Ô,Ð,øÝ!ð ð ð Ø���ðøøøs   ƒ
 Žœr"  rÂ   rÃ   rÄ   r   r   Úcsvzbanklist.csv)úUpdated DateúClosing Date©Ú
converters)
z,First Vietnamese American Bank In Vietnamesez"Westernbank Puerto Rico En Espanolz*R-G Premier Bank of Puerto Rico En EspanolzEurobank En EspanolzSanderson State Bank En EspanolzLWashington Mutual Bank (Including its subsidiary Washington Mutual Bank FSB)zSilver State Bank En Espanolz%AmTrade International Bank En EspanolzHamilton Bank, NA En Espanolz6The Citizens Savings Bank Pioneer Community Bank, Inc.)
zFirst Vietnamese American BankzWesternbank Puerto RicozR-G Premier Bank of Puerto RicoÚEurobankzSanderson State BankzWashington Mutual BankzSilver State BankzAmTrade International BankzHamilton Bank, NAzThe Citizens Savings Bankrx  rw  )Úpandas.io.htmlrr  r   r   Úshaper+   ÚreplaceÚapplyr   r-   r.   )r`   rh   r   rZ   ru  r€   Úground_truthÚoldÚnewÚdfnewÚgtnewÚ	convertedÚ	date_colsrr  s                @r   Útest_banklist_headerz!TestReadHtml.test_banklist_headerë  s8  ø€ à5Ð5Ð5Ð5Ð5Ð5ð	ð 	ð 	ð 	ð 	ð Ð˜m°9ÀTÈ7ÀOÐTÑTÔTÐUVÔWˆÝØˆH�T˜6 5¨.Ñ9Ô9Ý(1Å9ÐMÐMð
ñ 
ô 
ˆð Œx˜<Ô-Ò-Ð-Ð-Ð-ð
ð 
ð 
ˆð
ð 
ð 
ˆð —’�}Ñ%Ô%×-Ò-¨c°3Ñ7Ô7ˆØ× Ò  Ñ/Ô/ˆØˆ	Ø# ^Ð4ˆ	Ø(¨Ô3×9Ò9½+ÑFÔFˆ	�)ÑÝ
Ô˜i¨Ñ/Ô/Ð/Ð/Ð/r    c                 óì   — d}t          |d¬¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   ||v sJ ‚ ||dddi¬¦  «        d         }||                     ¦   «         v sJ ‚d S )NzGold Canyonr­   r®   rÂ   rÃ   rÄ   r   )rµ   r·   Ú	to_string)r`   rh   rZ   Úgcr�   Úraw_textr€   s          r   Útest_gold_canyonzTestReadHtml.test_gold_canyon  sÓ   € àˆÝ�-¨'Ð2Ñ2Ô2ð 	 °aØ—v’v‘x”xˆHð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð �Xˆ~ˆ~ˆ~ˆ~ØÐØ °t¸W°oð
ñ 
ô 
à
ôˆð �R—\’\‘^”^Ð#Ð#Ð#Ð#Ð#Ð#s   ”5µ9¼9c                 ó°   —  |t          d¦  «        d¬¦  «        d         } |t          d¦  «        d¬¦  «        d         }t          j        ||¦  «         d S )Na�  <table>
                        <thead>
                            <tr style="text-align: right;">
                            <th></th>
                            <th>C_l0_g0</th>
                            <th>C_l0_g1</th>
                            <th>C_l0_g2</th>
                            <th>C_l0_g3</th>
                            <th>C_l0_g4</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                            <th>R_l0_g0</th>
                            <td> 0.763</td>
                            <td> 0.233</td>
                            <td> nan</td>
                            <td> nan</td>
                            <td> nan</td>
                            </tr>
                            <tr>
                            <th>R_l0_g1</th>
                            <td> 0.244</td>
                            <td> 0.285</td>
                            <td> 0.392</td>
                            <td> 0.137</td>
                            <td> 0.222</td>
                            </tr>
                        </tbody>
                    </table>r   ©rS   a¸  <table>
                    <thead>
                        <tr style="text-align: right;">
                        <th></th>
                        <th>C_l0_g0</th>
                        <th>C_l0_g1</th>
                        <th>C_l0_g2</th>
                        <th>C_l0_g3</th>
                        <th>C_l0_g4</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                        <th>R_l0_g0</th>
                        <td> 0.763</td>
                        <td> 0.233</td>
                        </tr>
                        <tr>
                        <th>R_l0_g1</th>
                        <td> 0.244</td>
                        <td> 0.285</td>
                        <td> 0.392</td>
                        <td> 0.137</td>
                        <td> 0.222</td>
                        </tr>
                    </tbody>
                 </table>)r   r-   r.   )r`   rZ   r    rª   s       r   Útest_different_number_of_colsz*TestReadHtml.test_different_number_of_cols'  s•   € Ø#Ð#Ýð ñô ð@ ðC"
ñ "
ô "
ðD ôE"ˆðH "Ð!Ýðñô ð: ð=
ñ 
ô 
ð> ô?ˆõB 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó˜   —  |t          d¦  «        ¦  «        d         }t          g d¢gg d¢¬¦  «        }t          j        ||¦  «         d S )NaZ  
            <table>
                <tr>
                    <th>A</th>
                    <th colspan="1">B</th>
                    <th rowspan="1">C</th>
                </tr>
                <tr>
                    <td>a</td>
                    <td>b</td>
                    <td>c</td>
                </tr>
            </table>
        r   rŠ   )rK  rL  ÚCrp   rN  rO  s       r   Útest_colspan_rowspan_1z#TestReadHtml.test_colspan_rowspan_1o  sh   € à!Ð!Ýðñô ñ
ô 
ð" ô#ˆõ& ˜o˜o˜oÐ.¸¸¸ÐHÑHÔHˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óœ   —  |t          d¦  «        d¬¦  «        d         }t          g d¢gg d¢¬¦  «        }t          j        ||¦  «         d S )Na…  
            <table>
                <tr>
                    <td colspan="2">X</td>
                    <td>Y</td>
                    <td rowspan="2">Z</td>
                    <td>W</td>
                </tr>
                <tr>
                    <td>A</td>
                    <td colspan="2">B</td>
                    <td>C</td>
                </tr>
            </table>
        r   rl  )rK  rL  rL  ÚZr‘  )ÚXzX.1ÚYr”  ÚWrM  rN  rO  s       r   Ú test_colspan_rowspan_copy_valuesz-TestReadHtml.test_colspan_rowspan_copy_valuesˆ  s‚   € ð "Ð!Ýðñô ð" ð%
ñ 
ô 
ð& ô'ˆõ* Ø+Ð+Ð+Ð,Ð6QÐ6QÐ6Qð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óœ   —  |t          d¦  «        d¬¦  «        d         }t          g d¢gg d¢¬¦  «        }t          j        ||¦  «         d S )Na(  
            <table>
                <tr>
                    <td rowspan="2">A</td>
                    <td rowspan="2" colspan="3">B</td>
                    <td>C</td>
                </tr>
                <tr>
                    <td>D</td>
                </tr>
            </table>
        r   rl  )rK  rL  rL  rL  ÚD)rK  rL  zB.1zB.2r‘  rM  rN  rO  s       r   Útest_colspan_rowspan_both_not_1z,TestReadHtml.test_colspan_rowspan_both_not_1«  s‚   € ð "Ð!Ýðñô ð ð
ñ 
ô 
ð  ô!ˆõ$ Ø+Ð+Ð+Ð,Ð6SÐ6SÐ6Sð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óœ   —  |t          d¦  «        d¬¦  «        d         }t          ddggddg¬¦  «        }t          j        ||¦  «         d S )Nzñ
            <table>
                <tr>
                    <td>A</td>
                    <td rowspan="2">B</td>
                </tr>
                <tr>
                    <td>C</td>
                </tr>
            </table>
        r   rl  r‘  rL  rK  rM  rN  rO  s       r   Útest_rowspan_at_end_of_rowz'TestReadHtml.test_rowspan_at_end_of_rowË  ss   € ð "Ð!Ýð
ñô ð ð
ñ 
ô 
ð ôˆõ"  C¨ : ,¸¸c¸
ÐCÑCÔCˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó¢   —  |t          d¦  «        d¬¦  «        d         }t          ddgddggddg¬¦  «        }t          j        ||¦  «         d S )Nz³
            <table>
                <tr>
                    <td rowspan="3">A</td>
                    <td rowspan="3">B</td>
                </tr>
            </table>
        r   rl  rK  rL  rM  rN  rO  s       r   Útest_rowspan_only_rowsz#TestReadHtml.test_rowspan_only_rowsè  sz   € ð "Ð!Ýðñ	ô 	ð ð
ñ 
ô 
ð ôˆõ  C¨ :°°S¨zÐ":ÀSÈ#ÀJÐOÑOÔOˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óÎ   —  |t          d¦  «        ¦  «        d         }t          ddgddggddgddgg¬¦  «        }t          dd	gg|¬
¦  «        }t          j        ||¦  «         d S )Nam  
            <table>
                <tr>
                    <th>A</th>
                    <th>B</th>
                </tr>
                <tr>
                    <th>a</th>
                    <th>b</th>
                </tr>
                <tr>
                    <td>1</td>
                    <td>2</td>
                </tr>
            </table>
        r   rK  rL  r‹   rŒ   r…   ©ÚlevelsÚcodesrj   rM  ©r   r   r   r-   r.   ©r`   rZ   rª   rq   r    s        r   Ú+test_header_inferred_from_rows_with_only_thz8TestReadHtml.test_header_inferred_from_rows_with_only_thý  s�   € à!Ð!Ýðñô ñ
ô 
ð& ô'ˆõ*  c¨3 Z°#°s°Ð$<ÀaÈÀVÈaÐQRÈVÐDTÐUÑUÔUˆÝ A q 6 (°GÐ<Ñ<Ô<ˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óJ  — t          dt          dd¬¦  «        i¦  «        }|                     ¦   «         } |t          |¦  «        dgd¬¦  «        }t	          j        ||d         ¦  «          |t          |¦  «        dgd¬¦  «        }t	          j        ||d         ¦  «         d S )NÚdateú1/1/2001é
   ©Úperiodsr…   r   ©Úparse_datesrS   )r   r   r   r   r-   r.   )r`   rZ   r€   r    r‚   s        r   Útest_parse_dates_listz"TestReadHtml.test_parse_dates_list  s¥   € Ý˜¥
¨:¸rÐ BÑ BÔ BÐCÑDÔDˆØ—:’:‘<”<ˆØÐ�x¨Ñ1Ô1À¸sÈaÐPÑPÔPˆÝ
Ô˜b # a¤&Ñ)Ô)Ð)ØÐ�x¨Ñ1Ô1À¸xÐSTÐUÑUÔUˆÝ
Ô˜b # a¤&Ñ)Ô)Ð)Ð)Ð)r    c                 óp  — t          t          dd¬¦  «        ¦  «        }t          |                     d„ ¦  «        |                     d„ ¦  «        dœ¦  «        } |t	          |                     ¦   «         ¦  «        ddd	gid¬
¦  «        }t          d|i¦  «        }t          j        ||d         ¦  «         d S )Nr©  rª  r«  c                 óD   — t          |                      ¦   «         ¦  «        S r#   )Ústrr¨  ©r&   s    r   r(   z7TestReadHtml.test_parse_dates_combine.<locals>.<lambda>%  ó   € µ°A·F²F±H´H±´€ r    c                 óD   — t          |                      ¦   «         ¦  «        S r#   )r²  Útimer³  s    r   r(   z7TestReadHtml.test_parse_dates_combine.<locals>.<lambda>&  r´  r    )r¨  r¶  Údatetimer…   rj   r­  r   )r   r   r   r+   r   r   r-   r.   )r`   rZ   Ú	raw_datesr€   r‚   Únewdfs         r   Útest_parse_dates_combinez%TestReadHtml.test_parse_dates_combine!  sÆ   € Ý�: j¸"Ð=Ñ=Ô=Ñ>Ô>ˆ	Ýà!ŸšÐ&=Ð&=Ñ>Ô>Ø!ŸšÐ&=Ð&=Ñ>Ô>ðð ñ
ô 
ˆð ÐÝ�R—Z’Z‘\”\Ñ"Ô"°¸aÀ¸VÐ0DÐPQð
ñ 
ô 
ˆõ ˜: yÐ1Ñ2Ô2ˆÝ
Ô˜e S¨¤VÑ,Ô,Ð,Ð,Ð,r    c                 óø  —  |dddd¦  «        }t           j                             |¦  «        sJ t          |¦  «        › d�¦   «         ‚t           j                             |¦  «        sJ t          |¦  «        › d�¦   «         ‚ ||dd¬	¦  «        d
         }|j        dk    sJ ‚d|j        d         v sJ ‚|d         j        t          j        d¦  «        k    sJ ‚t          j	        |j
        d         d¦  «        sJ ‚d S )Nr   r   r?   úwikipedia_states.htmlz is not a filez is an empty fileÚArizonar…   rÔ   r   )é<   é   ÚUnnamedrð   úsq miÚfloat64)r   rÁ  çHázPN$A)r  r  ÚisfileÚreprÚgetsizer}  rq   ro   ru   ÚallcloseÚloc©r`   r   rZ   r   rª   s        r   Útest_wikipedia_states_tablez(TestReadHtml.test_wikipedia_states_table/  s  € Øˆx˜˜f fÐ.EÑFÔFˆÝŒw�~Š~˜dÑ#Ô#ÐBÐB­¨T©
¬
Ð%BÐ%BÐ%BÑBÔBÐ#ÝŒw�Š˜tÑ$Ô$ÐFÐF­¨d©¬Ð&FÐ&FÐ&FÑFÔFÐ$Ø!Ð! $¨iÀÐBÑBÔBÀ1ÔEˆØŒ|˜xÒ'Ð'Ð'Ð'Ø˜FœN¨2Ô.Ð.Ð.Ð.Ð.Ø�gŒÔ$­¬°Ñ(;Ô(;Ò;Ð;Ð;Ð;ÝŒ{˜6œ: jÔ1°9Ñ=Ô=Ð=Ð=Ð=Ð=Ð=r    c                 óú   —  |dddd¦  «        } ||dd¬¦  «        d         }|j         dk    sJ ‚d	|j        d
         d         v sJ ‚|j        j        dk    sJ ‚t          j        |j        d         d¦  «        sJ ‚d S )Nr   r   r?   r¼  r½  r   rû   )r¾  é   rÀ  rð   r…   rj   )ÚAlaska)zTotal area[2]rÁ  rÃ  )r}  rq   Únlevelsru   rÇ  rÈ  rÉ  s        r   Ú test_wikipedia_states_multiindexz-TestReadHtml.test_wikipedia_states_multiindex9  s    € Øˆx˜˜f fÐ.EÑFÔFˆØ!Ð! $¨iÀ1ÐEÑEÔEÀaÔHˆØŒ|˜xÒ'Ð'Ð'Ð'Ø˜FœN¨2Ô.¨qÔ1Ð1Ð1Ð1Ð1ØŒ~Ô%¨Ò*Ð*Ð*Ð*ÝŒ{˜6œ:Ð&JÔKÈYÑWÔWÐWÐWÐWÐWÐWr    c                 óÄ   —  |t          d¦  «        ddg¬¦  «        }t          ddggt          j        ddg¦  «        ¬	¦  «        }t	          j        |d         |¦  «         d S )
NaK  
                <table>
                    <thead>
                        <tr><th></th><th></tr>
                        <tr><th>A</th><th>B</th></tr>
                    </thead>
                    <tbody>
                        <tr><td>a</td><td>b</td></tr>
                    </tbody>
                </table>
            r   r…   rl  r‹   rŒ   )úUnnamed: 0_level_0rK  )zUnnamed: 1_level_0rL  rp   )r   r   r   Úfrom_tuplesr-   r.   rO  s       r   Ú%test_parser_error_on_empty_header_rowz2TestReadHtml.test_parser_error_on_empty_header_rowA  s‹   € Ø!Ð!Ýð
ñô ð �q�6ð
ñ 
ô 
ˆõ  Ø�3ˆZˆLÝÔ*Ø,Ð.IÐJñô ð
ñ 
ô 
ˆõ 	Ô˜f Qœi¨Ñ2Ô2Ð2Ð2Ð2r    c                 óâ   —  |t          d¦  «        d¬¦  «        d         }t          ddidg¬¦  «        }|d         j        t          j        d¦  «        k    sJ ‚t	          j        ||¦  «         d S )	Na�  <html>
            <body>
             <table>
                <thead>
                    <tr>
                        <th>Header</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>1100#101</td>
                    </tr>
                </tbody>
            </table>
            </body>
        </html>ú#)Údecimalr   rR  g–C‹lg0‘@rT  rÂ  )r   r   ro   ru   r-   r.   rO  s       r   Útest_decimal_rowszTestReadHtml.test_decimal_rowsZ  s‘   € à!Ð!Ýðñô ð$ ð'
ñ 
ô 
ð( ô)ˆõ,  8¨XÐ"6¸q¸cÐBÑBÔBˆà�hÔÔ%­¬°)Ñ)<Ô)<Ò<Ð<Ð<Ð<Ý
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    ÚargTFc                 ó°   — t          j        d¦  «        }t          j        t          |¬¦  «        5   |||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz–Passing a bool to header is invalid. Use header=None for no header or header=int or list-like of ints to specify the row(s) making up the column namesr=   rl  )r4  ÚescaperC   rF   r÷   )r`   re   rØ  rZ   r4   s        r   Útest_bool_header_argz!TestReadHtml.test_bool_header_argw  s«   € õ Œiðñ
ô 
ˆõ
 Œ]�9¨CÐ0Ñ0Ô0ð 	4ð 	4ØÐ˜Y¨sÐ3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   °AÁAÁAc                 ó¤   —  |t          d¦  «        dt          i¬¦  «        d         }t          dddgi¦  «        }t          j        ||¦  «         d S )Naƒ  <table>
                 <thead>
                   <tr>
                     <th>a</th>
                    </tr>
                 </thead>
                 <tbody>
                   <tr>
                     <td> 0.763</td>
                   </tr>
                   <tr>
                     <td> 0.244</td>
                   </tr>
                 </tbody>
               </table>r‹   ry  r   z0.763z0.244)r   r²  r   r-   r.   rO  s       r   Útest_converterszTestReadHtml.test_converters‚  sp   € à!Ð!Ýðñô ð" �S�zð%
ñ 
ô 
ð& ô'ˆõ* ˜c G¨WÐ#5Ð6Ñ7Ô7ˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó¬   —  |t          d¦  «        dg¬¦  «        d         }t          ddt          j        gi¦  «        }t	          j        ||¦  «         d S )Na‚  <table>
                 <thead>
                   <tr>
                     <th>a</th>
                   </tr>
                 </thead>
                 <tbody>
                   <tr>
                     <td> 0.763</td>
                   </tr>
                   <tr>
                     <td> 0.244</td>
                   </tr>
                 </tbody>
               </table>g¬Zd;Ï?)Ú	na_valuesr   r‹   gÑ"Ûù~jè?©r   r   ru   r£   r-   r.   rO  s       r   Útest_na_valueszTestReadHtml.test_na_values�  so   € à!Ð!Ýðñô ð" �gð%
ñ 
ô 
ð& ô'ˆõ* ˜c E­2¬6 ?Ð3Ñ4Ô4ˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óR  — d}t          dddgi¦  «        } |t          |¦  «        d¬¦  «        d         }t          j        ||¦  «         t          dt          j        t          j        gi¦  «        } |t          |¦  «        d¬¦  «        d         }t          j        ||¦  «         d S )	Naé  <table>
                        <thead>
                            <tr>
                            <th>a</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                            <td> N/A</td>
                            </tr>
                            <tr>
                            <td> NA</td>
                            </tr>
                        </tbody>
                    </table>r‹   zN/Ar
   F)Úkeep_default_nar   T)r   r   r-   r.   ru   r£   )r`   rZ   Ú	html_dataÚexpected_dfÚhtml_dfs        r   Útest_keep_default_naz!TestReadHtml.test_keep_default_na¸  s¬   € ð ˆ	õ     u¨d mÐ 4Ñ5Ô5ˆØ"Ð"¥8¨IÑ#6Ô#6ÈÐNÑNÔNÈqÔQˆÝ
Ô˜k¨7Ñ3Ô3Ð3å ¥r¤v­r¬vÐ&6Ð 7Ñ8Ô8ˆØ"Ð"¥8¨IÑ#6Ô#6ÈÐMÑMÔMÈaÔPˆÝ
Ô˜k¨7Ñ3Ô3Ð3Ð3Ð3r    c                 óÆ   —  |t          d¦  «        ¦  «        d         }t          ddgt          j        t          j        ggddg¬¦  «        }t	          j        ||¦  «         d S )Nak  
            <table>
                <tr>
                    <th>A</th>
                    <th>B</th>
                </tr>
                <tr>
                    <td>a</td>
                    <td>b</td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                </tr>
            </table>
        r   r‹   rŒ   rK  rL  rM  rà  rO  s       r   Útest_preserve_empty_rowsz%TestReadHtml.test_preserve_empty_rowsÑ  st   € Ø!Ð!Ýðñô ñ
ô 
ð& ô'ˆõ*  C¨ :µ´½¼Ð/?Ð"@È3ÐPSÈ*ÐUÑUÔUˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óÎ   —  |t          d¦  «        ¦  «        d         }t          ddgddggddgddgg¬¦  «        }t          dd	gg|¬
¦  «        }t          j        ||¦  «         d S )NaU  
            <table>
                <thead>
                    <tr><th></th><th></tr>
                    <tr><th>A</th><th>B</th></tr>
                    <tr><th>a</th><th>b</th></tr>
                </thead>
                <tbody>
                    <tr><td>1</td><td>2</td></tr>
                </tbody>
            </table>
        r   rK  rL  r‹   rŒ   r…   r¡  rj   rM  r¤  r¥  s        r   Ú,test_ignore_empty_rows_when_inferring_headerz9TestReadHtml.test_ignore_empty_rows_when_inferring_headerë  s�   € Ø!Ð!Ýðñô ñ
ô 
ð ôˆõ"  c¨3 Z°#°s°Ð$<ÀaÈÀVÈaÐQRÈVÐDTÐUÑUÔUˆÝ A q 6 (°GÐ<Ñ<Ô<ˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óÖ   — t          g d¢¬¦  «        }g d¢g d¢g|_        |                     d¬¦  «        } |t          |¦  «        ¦  «        d         }t	          j        ||¦  «         d S )N))ÚHillaryéD   rš  )ÚBernieéJ   rš  )ÚDonaldéE   ÚR)r   )rÑ  ÚAgeÚParty)ÚNamezUnnamed: 1_level_1zUnnamed: 2_level_1Fr–   r   )r   rq   r   r   r-   r.   )r`   rZ   rå  r?   ræ  s        r   Útest_multiple_header_rowsz&TestReadHtml.test_multiple_header_rows  s‰   € åØQÐQÐQð
ñ 
ô 
ˆð 3Ð2Ð2Ø@Ð@Ð@ð
ˆÔð ×"Ò"¨Ð"Ñ/Ô/ˆØ"Ð"¥8¨D¡>¤>Ñ2Ô2°1Ô5ˆÝ
Ô˜k¨7Ñ3Ô3Ð3Ð3Ð3r    c                 ó¤   —  |dddd¦  «        } ||d¬¦  «        }t          |t          ¦  «        sJ ‚t          |d         t          ¦  «        sJ ‚d S )Nr   r   r?   rR   r   rŽ  )r%   rz   r   )r`   r   rZ   rT   rÏ   s        r   Útest_works_on_valid_markupz'TestReadHtml.test_works_on_valid_markup  sc   € Ø�8˜D &¨&Ð2EÑFÔFˆØÐ˜x°1Ð5Ñ5Ô5ˆÝ˜#�tÑ$Ô$Ð$Ð$Ð$Ý˜#˜aœ&¥)Ñ,Ô,Ð,Ð,Ð,Ð,Ð,r    c                 óB   —  |dddd¦  «        } ||dddg¬¦  «         d S )	Nr   r   r?   rg   r¾   rQ   r;   rL   rc   )r`   r   rZ   rh   s       r   Útest_fallback_successz"TestReadHtml.test_fallback_success  s:   € à ˜  v¨v°ÑGÔGˆàÐ˜¨kÀ6È:ÐBVÐWÑWÔWÐWÐWÐWr    c                 óÞ   — t          dd¬¦  «        }t          t          j                             d¦  «                             d¦  «        |¬¦  «        }|                     ¦   «         }d|v sJ ‚d S )Nz
2000-01-01rª  r«  rj   )rª  rk   r–   )r   r   ru   rv   rw   Ústandard_normalr   )r`   Úrngr€   rª   s       r   Útest_to_html_timestampz#TestReadHtml.test_to_html_timestamp  si   € Ý˜¨rÐ2Ñ2Ô2ˆÝ•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑHÔHÐPSÐTÑTÔTˆà—’‘”ˆØ˜vÐ%Ð%Ð%Ð%Ð%Ð%r    c                 ó   — t          dddœg¦  «        }|                     ¦   «         }|                     d¬¦  «        }|                     d¬¦  «        }|                     d¬¦  «        }|                     d¬¦  «        }|                     d¬¦  «        }d|v sJ ‚||k    sJ ‚||k    sJ ‚||k    sJ ‚d	|v sJ ‚d
|vsJ ‚d|vsJ ‚||k    sJ ‚d S )Nr…   rj   ©rK  rL  T)Úborderr   Fz border="1"z border="2"z border="0"z border)r   r   )r`   r€   Úout_border_defaultÚout_border_trueÚout_border_explicit_defaultÚout_border_nondefaultÚout_border_zeroÚout_border_falses           r   Útest_to_html_borderlessz$TestReadHtml.test_to_html_borderless"  s  € Ý˜a aÐ(Ð(Ð)Ñ*Ô*ˆØŸZšZ™\œ\ÐØŸ*š*¨D˜*Ñ1Ô1ˆØ&(§j¢j¸ jÑ&:Ô&:Ð#Ø "§
¢
°! 
Ñ 4Ô 4ÐØŸ*š*¨A˜*Ñ.Ô.ˆàŸ:š:¨U˜:Ñ3Ô3ÐàÐ 2Ð2Ð2Ð2Ð2ØÐ"4Ò4Ð4Ð4Ð4Ø!Ð%@Ò@Ð@Ð@Ð@Ø!Ð%:Ò:Ð:Ð:Ð:ØÐ 5Ð5Ð5Ð5Ð5Ø OÐ3Ð3Ð3Ð3ØÐ 0Ð0Ð0Ð0Ð0ØÐ"2Ò2Ð2Ð2Ð2Ð2Ð2r    zdisplayed_only,exp0,exp1ÚfooNzfoo  bar  baz  quxc                 óÜ   — d} |t          |¦  «        |¬¦  «        }t          j        |d         |¦  «         |�t          j        |d         |¦  «         d S t          |¦  «        dk    sJ ‚d S )Na  <html>
          <body>
            <table>
              <tr>
                <td>
                  foo
                  <span style="display:none;text-align:center">bar</span>
                  <span style="display:none">baz</span>
                  <span style="display: none">qux</span>
                </td>
              </tr>
            </table>
            <table style="display: none">
              <tr>
                <td>foo</td>
              </tr>
            </table>
          </body>
        </html>©Údisplayed_onlyr   r…   )r   r-   r.   r)   )r`   r  Úexp0Úexp1rZ   r   rÏ   s          r   Útest_displayed_onlyz TestReadHtml.test_displayed_only5  sw   € ðˆð( Ð�x¨™~œ~¸nÐMÑMÔMˆÝ
Ô˜c !œf dÑ+Ô+Ð+àÐÝÔ! # a¤&¨$Ñ/Ô/Ð/Ð/Ð/å�s‘8”8˜q’=�=�=�=�=�=r    r  c                 ó    — d} |t          |¦  «        |¬¦  «        d         }t          ddgddgdœ¦  «        }t          j        ||¦  «         d S )	NaW  
        <table>
            <tr>
                <th>A</th>
                <th>B</th>
            </tr>
            <tr>
                <td>1</td>
                <td>2</td>
            </tr>
            <tr>
                <td><span style="display:none"></span>4</td>
                <td>5</td>
            </tr>
        </table>
        r  r   r…   rk   rj   rï   r  rN  )r`   r  rZ   Ú
html_tablerª   r    s         r   Ú&test_displayed_only_with_many_elementsz3TestReadHtml.test_displayed_only_with_many_elementsZ  sh   € ðˆ
ð  "Ð!¥(¨:Ñ"6Ô"6À~ÐVÑVÔVØô
ˆõ  A q 6°°A°Ð7Ð7Ñ8Ô8ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    z\ignore:You provided Unicode markup but also provided a value for from_encoding.*:UserWarningc                 óF  — t           j                             |¦  «        }t           j                             |¦  «        d         }|                     d¦  «        \  }}	 t          |d¦  «        5 } ||                     ¦   «         |d¬¦  «                             ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 } |t          |                     ¦   «         ¦  «        |d¬¦  «                             ¦   «         }	d d d ¦  «         n# 1 swxY w Y    |||d¬¦  «                             ¦   «         }
t          j
        ||	¦  «         t          j
        ||
¦  «         d S # t          $ r+ t          ¦   «         rd|v sd|v rt          j        ¦   «          ‚ w xY w)Nr   Ú_Úrb)r¯   rS   Ú16Ú32)r  r  ÚbasenameÚsplitextÚsplitrµ   r·   Úpopr   r-   r.   Ú	Exceptionr	   rC   Úskip)r`   r   rZ   Ú	base_pathÚrootr  r¯   ÚfobjÚfrom_stringÚfrom_file_likeÚfrom_filenames              r   Útest_encodezTestReadHtml.test_encoder  s&  € õ
 ”G×$Ò$Ð%7Ñ8Ô8ˆ	ÝŒw×Ò 	Ñ*Ô*¨1Ô-ˆØ—j’j ‘o”o‰ˆˆ8ð	ÝÐ(¨$Ñ/Ô/ð °4Ø.Ð.Ø—I’I‘K”K¨(¸aðñ ô ç’#‘%”%ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 Ð(¨$Ñ/Ô/ð °4Ø!1Ð!1Ý˜DŸIšI™KœKÑ(Ô(°8Àqð"ñ "ô "ç’#‘%”%ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
 -Ð,Ø"¨XÀðñ ô çŠc‰eŒeð õ Ô! +¨~Ñ>Ô>Ð>ÝÔ! +¨}Ñ=Ô=Ð=Ð=Ð=øÝð 	ð 	ð 	å"Ñ$Ô$ð "Ø˜8Ð#Ð# t¨xÐ'7Ð'7Ý”K‘M”M�MØð	øøøsV   ÁE+ Á.3B-Â!E+ Â-B1Â1E+ Â4B1Â5E+ ÃA DÄE+ ÄDÄE+ ÄDÄAE+ Å+5F c                 ó>  — |j                              d¦  «        dk    rt          j        d¦  «          G d„ dt          ¦  «        } |d¦  «        } ||¦  «        sJ ‚t          j        t          d¬¦  «        5   ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	NrB   rQ   zNot applicable for lxmlc                   ó   — e Zd Zd„ ZdS )úFTestReadHtml.test_parse_failure_unseekable.<locals>.UnseekableStringIOc                 ó   — dS ©NFrc   r;  s    r   ÚseekablezOTestReadHtml.test_parse_failure_unseekable.<locals>.UnseekableStringIO.seekable™  s   € Ø�ur    N)Ú__name__Ú
__module__Ú__qualname__r+  rc   r    r   ÚUnseekableStringIOr(  ˜  s#   € € € € € ðð ð ð ð r    r/  z?
            <table><tr><td>spam<foobr />eggs</td></tr></table>z#passed a non-rewindable file objectr=   )ÚkeywordsÚgetrC   r  r   rF   rM   )r`   rZ   r/  Úbads       r   Útest_parse_failure_unseekablez*TestReadHtml.test_parse_failure_unseekable’  s  € ð Ô$×(Ò(¨Ñ2Ô2°fÒ<Ð<ÝŒKÐ1Ñ2Ô2Ð2ð	ð 	ð 	ð 	ð 	¥ñ 	ô 	ð 	ð !Ð ðBñ
ô 
ˆð
  Ð Ñ$Ô$Ð$Ð$Ð$åŒ]�:Ð-RÐSÑSÔSð 	"ð 	"ØÐ˜SÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"s   Á9BÂBÂBc                 ó€   —  G d„ d¦  «        } |d¦  «        } |d¦  «        } ||¦  «        sJ ‚ ||¦  «        sJ ‚d S )Nc                   ó<   — e Zd Zd	d„Zd
d„Zd„ Zd„ Zd„ Zdefd„Z	dS )ú9TestReadHtml.test_parse_failure_rewinds.<locals>.MockFileÚreturnNc                 ó"   — || _         d| _        d S r*  )r   Úat_end)r`   r   s     r   Ú__init__zBTestReadHtml.test_parse_failure_rewinds.<locals>.MockFile.__init__ª  s   € Ø �”	Ø#�”��r    c                 ó4   — | j         rdn| j        }d| _         |S )Nrc  T)r9  r   )r`   Úsizer   s      r   r·   z>TestReadHtml.test_parse_failure_rewinds.<locals>.MockFile.read®  s    € Ø!œ[Ð7�r�r¨d¬i�Ø"�”Ø�r    c                 ó   — d| _         d S r*  )r9  )r`   Úoffsets     r   Úseekz>TestReadHtml.test_parse_failure_rewinds.<locals>.MockFile.seek³  s   € Ø#�”��r    c                 ó   — dS )NTrc   r;  s    r   r+  zBTestReadHtml.test_parse_failure_rewinds.<locals>.MockFile.seekable¶  s   € Ø�tr    c                 ó   — d S r#   rc   r;  s    r   Ú__next__zBTestReadHtml.test_parse_failure_rewinds.<locals>.MockFile.__next__º  s   € Ø�r    c                 ó   — | S r#   rc   r;  s    r   Ú__iter__zBTestReadHtml.test_parse_failure_rewinds.<locals>.MockFile.__iter__½  s	   € ð �r    )r7  Nr#   )
r,  r-  r.  r:  r·   r?  r+  rB  r   rD  rc   r    r   ÚMockFiler6  ©  s„   € € € € € ð$ð $ð $ð $ðð ð ð ð
$ð $ð $ðð ð ðð ð ð (ð ð ð ð ð ð r    rE  z/<table><tr><td>spam<br />eggs</td></tr></table>z2<table><tr><td>spam<foobr />eggs</td></tr></table>rc   )r`   rZ   rE  Úgoodr2  s        r   Útest_parse_failure_rewindsz'TestReadHtml.test_parse_failure_rewinds¦  s€   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð2 ˆxÐIÑJÔJˆØˆhÐKÑLÔLˆàÐ Ñ%Ô%Ð%Ð%Ð%ØÐ Ñ$Ô$Ð$Ð$Ð$Ð$Ð$r    c                 óª  —  G d„ dt           j        ¦  «        } |dddd¦  «        } |||f¬¦  «        } |||f¬¦  «        }|                     ¦   «          |                     ¦   «          |                     ¦   «         s|                     ¦   «         r)	 |                     ¦   «         °|                     ¦   «         °)d |j        cxu r	|j        u sn J ‚d S )Nc                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ú@TestReadHtml.test_importcheck_thread_safety.<locals>.ErrorThreadc                 ó–   •— 	 t          ¦   «                              ¦   «          d | _        d S # t          $ r}|| _        Y d }~d S d }~ww xY wr#   )ÚsuperÚrunÚerrr  )r`   rN  Ú	__class__s     €r   rM  zDTestReadHtml.test_importcheck_thread_safety.<locals>.ErrorThread.runÎ  sZ   ø€ ð$Ý‘G”G—K’K‘M”M�Mð  $�D”H�H�Høõ !ð #ð #ð #Ø"�D”H�H�H�H�H�H�Høøøøð#øøøs   ƒ , ¬
A¶AÁA)r,  r-  r.  rM  Ú__classcell__)rO  s   @r   ÚErrorThreadrJ  Í  s8   ø€ € € € € ð$ð $ð $ð $ð $ð $ð $ð $ð $r    rQ  r   r   r?   rR   )Útargetr2   )Ú	threadingÚThreadÚstartÚis_aliverN  )r`   r   rZ   rQ  rT   Úhelper_thread1Úhelper_thread2s          r   Útest_importcheck_thread_safetyz+TestReadHtml.test_importcheck_thread_safetyÈ  s  € ð
	$ð 	$ð 	$ð 	$ð 	$�)Ô*ñ 	$ô 	$ð 	$ð �8˜D &¨&Ð2EÑFÔFˆØ$˜Ð,<ÀHÀ;ÐOÑOÔOˆØ$˜Ð,<ÀHÀ;ÐOÑOÔOˆà×ÒÑÔÐØ×ÒÑÔÐà×%Ò%Ñ'Ô'ð 	¨>×+BÒ+BÑ+DÔ+Dð 	Øð ×%Ò%Ñ'Ô'ð 	¨>×+BÒ+BÑ+DÔ+Dð 	à�~Ô)Ð?Ð?Ð?Ð?¨^Ô-?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?r    c                 ó®   —  |dddd¦  «        }t          |¦  «        } ||¦  «        d         } ||¦  «        d         }t          j        ||¦  «         d S )Nr   r   r?   r@   r   )r   r-   r.   )r`   r   rZ   Úfile_path_stringÚ	file_pathr¹   rº   s          r   Útest_parse_path_objectz#TestReadHtml.test_parse_path_objectá  sj   € à#˜8 D¨&°&¸+ÑFÔFÐÝÐ)Ñ*Ô*ˆ	ØÐÐ/Ñ0Ô0°Ô3ˆØÐ˜yÑ)Ô)¨!Ô,ˆÝ
Ô˜c 3Ñ'Ô'Ð'Ð'Ð'r    c                 ó”   —  |t          d¦  «        ¦  «        d         }t          dggdg¬¦  «        }t          j        ||¦  «         d S )NzÓ
            <table>
                <tr>
                    <th>A</th>
                </tr>
                <tr>
                    <td>word1<br>word2</td>
                </tr>
            </table>
        r   zword1 word2rK  rM  rN  rO  s       r   Útest_parse_br_as_spacez#TestReadHtml.test_parse_br_as_spaceé  sd   € à!Ð!Ýð	ñô ñ
ô 
ð ôˆõ  M ?Ð"3¸c¸UÐCÑCÔCˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    )r*   ÚbodyrÕ   rd  c                 óÈ  — d}g d¢g d¢g d¢g d¢g d¢g d¢dœ}|d	         }|d
         }|d         }|dk    r|d         }|d         }|d         }n,|dk    r	|d         }n|dk    r	|d         }n|dk    r|d         } |t          |¦  «        |¬¦  «        d         }t          ||g|¬¦  «        }	|	                     t          j        ¦  «        }	t          j        ||	¦  «         d S )Naì  
          <table>
            <tr>
              <th>HTTP</th>
              <th>FTP</th>
              <th><a href="https://en.wiktionary.org/wiki/linkless">Linkless</a></th>
            </tr>
            <tr>
              <td><a href="https://en.wikipedia.org/">Wikipedia</a></td>
              <td>SURROUNDING <a href="ftp://ftp.us.debian.org/">Debian</a> TEXT</td>
              <td>Linkless</td>
            </tr>
            <tfoot>
              <tr>
                <td><a href="https://en.wikipedia.org/wiki/Page_footer">Footer</a></td>
                <td>
                  Multiple <a href="1">links:</a> <a href="2">Only first captured.</a>
                </td>
              </tr>
            </tfoot>
          </table>
          )ÚHTTPÚFTPÚLinkless))rb  N)rc  N)rd  z'https://en.wiktionary.org/wiki/linkless)Ú	WikipediaúSURROUNDING Debian TEXTrd  ))re  zhttps://en.wikipedia.org/)rf  zftp://ftp.us.debian.org/)rd  N)ÚFooterú$Multiple links: Only first captured.N))rg  z)https://en.wikipedia.org/wiki/Page_footer)rh  Ú1N)Úhead_ignoreÚhead_extractÚbody_ignoreÚbody_extractÚfooter_ignoreÚfooter_extractrl  rn  rj  r*   rm  ro  rk  r`  rd  rÕ   ©Úextract_linksr   rp   )r   r   Úfillnaru   r£   r-   r.   )
r`   rØ  rZ   Úgh_13141_dataÚgh_13141_expectedÚdata_expÚfoot_expÚhead_exprª   r    s
             r   Útest_extract_linkszTestReadHtml.test_extract_linksþ  sV  € ðˆð0 7Ð6Ð6ðð ð ð
 PÐOÐOðð ð ð
ð ð ð
ð ð ð%
ð 
Ðð2 % ]Ô3ˆØ$ _Ô5ˆØ$ ]Ô3ˆØ�%Š<ˆ<Ø(¨Ô8ˆHØ(Ð)9Ô:ˆHØ(¨Ô8ˆHˆHØ�FŠ]ˆ]Ø(¨Ô8ˆHˆHØ�HŠ_ˆ_Ø(Ð)9Ô:ˆHˆHØ�HŠ_ˆ_Ø(¨Ô8ˆHà!Ð!¥(¨=Ñ"9Ô"9ÈÐMÑMÔMÈaÔPˆÝ˜h¨Ð1¸8ÐDÑDÔDˆØ—?’?¥2¤6Ñ*Ô*ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó”   — d}t          j        t          |¬¦  «        5  t          |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzY`extract_links` must be one of {None, "header", "footer", "body", "all"}, got "incorrect"r=   Ú	incorrectrp  ©rC   rF   rM   r   )r`   re   r4   s      r   Útest_extract_links_badz#TestReadHtml.test_extract_links_badC  s›   € ðIð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	<ð 	<Ý�i¨{Ð;Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ó   ž=½AÁAc                 ó–   — d} |t          |¦  «        d¬¦  «        d         }t          dgg¦  «        }t          j        ||¦  «         d S )Nz¦
        <table>
          <tr>
            <td>
              <a href='https://google.com'>Google.com</a>
            </td>
          </tr>
        </table>
        r*   rp  r   )z
Google.comzhttps://google.comrN  ©r`   rZ   r   rª   r    s        r   Ú test_extract_links_all_no_headerz-TestReadHtml.test_extract_links_all_no_headerK  sX   € ðˆð "Ð!¥(¨4¡.¤.ÀÐFÑFÔFÀqÔIˆÝÐCÐDÐEÑFÔFˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó”   — d}t          j        t          |¬¦  «        5  t          dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r=   ÚtestÚnumpyr˜   r{  )r`   r4   s     r   Útest_invalid_dtype_backendz'TestReadHtml.test_invalid_dtype_backendZ  sš   € ð%ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	5ð 	5Ý�f¨GÐ4Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5r}  c                 ó¢   — d} |t          |¦  «        ¦  «        d         }t          ddgddggddg¬	¦  «        }t          j        ||¦  «         d S )
Na�  
        <table>
            <tr>
                <th>
                    <style>.style</style>
                    A
                    </th>
                <th>B</th>
            </tr>
            <tr>
                <td>A1</td>
                <td>B1</td>
            </tr>
            <tr>
                <td>A2</td>
                <td>B2</td>
            </tr>
        </table>
        r   ÚA1ÚB1ÚA2ÚB2rK  rL  rM  rN  r  s        r   Útest_style_tagzTestReadHtml.test_style_tagb  sb   € ðˆð& "Ð!¥(¨4¡.¤.Ñ1Ô1°!Ô4ˆÝ D¨$ <°$¸°Ð">ÈÈcÈ
ÐSÑSÔSˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    )dr,  r-  r.  ra   rC   Úfixturere   rh   rƒ   r«   ÚmarkÚnetworkÚ
single_cpur»   rÀ   ÚslowrÆ   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/  r1  r6  r9  r<  r?  rG  rI  rP  rU  r]  rj  rp  r‡  rŒ  r�  r’  r˜  r›  r�  rŸ  r¦  r¯  rº  rÊ  rÏ  rÓ  r×  ÚparametrizerÛ  rÝ  rá  rç  ré  rë  r÷  rù  rû  rÿ  r	  r   r  r  Úfilterwarningsr%  r3  rG  rY  r]  r_  rx  r|  r€  r„  rŠ  rc   r    r   r\   r\   p   sl  € € € € € ðð ð ð@ „^ð;ð ;ñ „^ð;ð „^ð?ð ?ñ „^ð?ð'ð 'ð 'ð:0ð :0ð :0ðx „[ÔØ„[Ôð)ð )ñ Ôñ Ôð)ð  „[ÔØ„[Ôð)ð )ñ Ôñ Ôð)ð „[Ôð)ð )ñ Ôð)ð/ð /ð /ð-ð -ð -ð
-ð -ð -ð
ð ð ð
)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ðLð Lð Lð)ð )ð )ð
)ð )ð )ð
)ð )ð )ð
)ð )ð )ð	)ð 	)ð 	)ð)ð )ð )ð)ð )ð )ð „[ÔØ„[ÔðDð Dñ Ôñ ÔðDð
 „[ÔØ„[ÔØ„[Ôð@ð @ñ Ôñ Ôñ Ôð@ð
 „[Ôð-ð -ñ Ôð-ð „[Ôðð ñ Ôðð „[Ôð2ð 2ñ Ôð2ð „[Ôð0ð 0ñ Ôð0ð „[Ôð	0ð 	0ñ Ôð	0ð „[Ôð2ð 2ñ Ôð2ð „[Ôð2ð 2ñ Ôð2ð „[Ôð
2ð 
2ñ Ôð
2ð „[Ôð	-ð 	-ñ Ôð	-ðDð Dð Dð
 „^ð.ð .ñ „^ð.ð` „[ÔØ„[Ôðð ñ Ôñ Ôðð
 „[ÔØ„[Ôð.ð .ñ Ôñ Ôð.ð ð  ð  ð60ð 0ð 0ð@0ð 0ð 0ð40ð 0ð 0ð@$2ð $2ð $2ðL0ð 0ð 0ð2 „[Ôð-0ð -0ñ Ôð-0ð^ „[Ôð	$ð 	$ñ Ôð	$ðF0ð F0ð F0ðP0ð 0ð 0ð2!0ð !0ð !0ðF0ð 0ð 0ð@0ð 0ð 0ð:0ð 0ð 0ð*0ð 0ð 0ð8*ð *ð *ð-ð -ð -ð>ð >ð >ðXð Xð Xð3ð 3ð 3ð20ð 0ð 0ð: „[×Ò˜U T¨5 MÑ2Ô2ð4ð 4ñ 3Ô2ð4ð0ð 0ð 0ð60ð 0ð 0ð64ð 4ð 4ð20ð 0ð 0ð40ð 0ð 0ð.4ð 4ð 4ð-ð -ð -ð „[ÔðXð Xñ ÔðXð
&ð &ð &ð3ð 3ð 3ð& „[×ÒØ"à�9�9˜e˜WÑ%Ô% tÐ,Ø�I�IÐ3Ð4Ñ5Ô5°y°yÀ%ÀÑ7IÔ7IÐJð	
ñô ð!ð !ñô ð!ð< „[×ÒÐ-°°e¨}Ñ=Ô=ð0ð 0ñ >Ô=ð0ð. „[×Òð	&ñô ðð ñ	ô ðð8"ð "ð "ð( %ð  %ð  %ðD „[ÔØ„[Ôð@ð @ñ Ôñ Ôð@ð.(ð (ð (ð0ð 0ð 0ð* „[×Ò˜UÐ$GÐ$GÐ$GÑHÔHðB0ð B0ñ IÔHðB0ðH<ð <ð <ð0ð 0ð 0ð5ð 5ð 5ð0ð 0ð 0ð 0ð 0r    r\   )4Úcollections.abcr   Ú	functoolsr   r   r   r   r  Úpathlibr   r4  rS  Úurllib.errorr   rƒ  ru   rC   Úpandas.compatr	   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasrx   r
   r   r   r   r   r   r   r   r   Úpandas._testingÚ_testingr-   Úpandas.core.arraysr   r   Úpandas.io.commonr   r‹  r   r8   rI   rO   rW   r   Ú
skip_if_norZ   r\   rc   r    r   ú<module>r¡     sé  ðØ $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð 
€	€	€	Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !à Ð Ð Ð Ø €€€à -Ð -Ð -Ð -Ð -Ð -Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð
 .Ð -Ð -Ð -Ð -Ð -ð €„ðð ð ðñ ô ðBð Bñô ðBð
:ð :ð :ð(Mð Mð Mð@ð @ð @ð.ð .ð .ð €„àˆŒ�U = 2¤=°Ñ#7Ô#7¸¸¼ÀzÑ9RÔ9RÐ"SÐTÑTÔTØˆŒ�V = 2¤=°Ñ#8Ô#8Ð9Ñ9Ô9ððñ ô ð4ð 4ñô ð4ðI0ð I0ð I0ð I0ð I0ñ I0ô I0ð I0ð I0ð I0r    