Ë
    ¤ehIï  ã                  ón  — d dl mZ d dlmZmZ d dlmZ d dlZd dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlZd dlZd d	lmZ d d
lmZmZ d dlmc mZ d dlZd dlmZmZm Z  d dl!m"Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z,  eg d¢g d¢dejZ                  dgdœ«      Z.dZ/dZ0 eddddddœddddddœddddddœd d d d d dœd d d d d dœd!d"d#d$d%dœd&œ«      Z1d'„ Z2 ejf                  d(d)g¬*«      d+„ «       Z4 ejf                   ejj                  d, ejl                  d,«      ¬-«      d.g¬*«      d/„ «       Z7d0„ Z8d1„ Z9d2„ Z:ejv                  jx                  ejv                  jz                  d3„ «       «       Z>d4„ Z?d5„ Z@d6„ ZAd7„ ZBd8„ ZCd9„ ZDd:„ ZEejv                  j�                  d;d<d=g«      d>„ «       ZGejv                  j�                  d;d<d=g«      d?„ «       ZHd@„ ZIejv                  jx                  ejv                  jz                  dA„ «       «       ZJejv                  jx                  ejv                  jz                  dB„ «       «       ZKdC„ ZLdD„ ZMdE„ ZNdF„ ZOdG„ ZPdH„ ZQdI„ ZRdJ„ ZSdK„ ZTdL„ ZUdM„ ZVejv                  j�                  dNd<dg«      dO„ «       ZWdP„ ZXdQ„ ZYdR„ ZZdS„ Z[dT„ Z\dU„ Z]dV„ Z^dW„ Z_dX„ Z`dY„ ZadZ„ Zbd[„ Zcd\„ Zdd]„ Zed^„ Zfd_„ Zgd`„ Zhda„ Zidb„ Zjdc„ Zk ejØ                  d,«      dd„ «       Zmde„ Zndf„ Zodg„ Zpdh„ Zqdi„ Zrdj„ Zsdk„ Ztdl„ Zudm„ Zvdn„ Zwdo„ Zxdp„ Zydq„ Zzejv                  j�                  d;d<d=g«      dr„ «       Z{ds„ Z|dt„ Z}ejv                  jx                  ejv                  jz                  du„ «       «       Z~dv„ Zdw„ Z€dx„ Z�dy„ Z‚dz„ Zƒd{„ Z„d|„ Z…d}„ Z†d~„ Z‡d„ Zˆd€„ Z‰d�„ ZŠd‚„ Z‹ejv                  jx                  ejv                  jz                  dƒ„ «       «       ZŒd„„ Z�d…„ ZŽy)†é    )Úannotations)ÚBytesIOÚStringIO)Ú	LZMAErrorN)Ú	ReadError)Ú	HTTPError)Ú
ParseError)Ú
BadZipFile)Úimport_optional_dependency)ÚEmptyDataErrorÚParserError)ÚNAÚ	DataFrameÚSeries)ÚArrowStringArrayÚStringArray)ÚArrowStringArrayNumpySemantics)Ú
get_handle)Úread_xml©ÚsquareÚcircleÚtriangle©éh  r   é´   é   é   ©ÚshapeÚdegreesÚsidesa[  <?xml version='1.0' encoding='utf-8'?>
<data xmlns="http://example.com">
  <row>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4</sides>
  </row>
  <row>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3</sides>
  </row>
</data>aÇ  <?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="http://example.com">
  <doc:row>
    <doc:shape>square</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides>4.0</doc:sides>
  </doc:row>
  <doc:row>
    <doc:shape>circle</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides/>
  </doc:row>
  <doc:row>
    <doc:shape>triangle</doc:shape>
    <doc:degrees>180</doc:degrees>
    <doc:sides>3.0</doc:sides>
  </doc:row>
</doc:data>ÚID_00001ÚID_00002ÚID_00003ÚID_00004ÚID_00005©r   é   é   r   r   zBlue Line (Forest Park)zRed, Purple Linez#LineStyle01ÚclampedToGroundzæ-87.77678526964958,41.8708863930319,0 -87.77826234150609,41.87097820122218,0 -87.78251583439344,41.87130129991005,0 -87.78418294588424,41.87145055520308,0 -87.7872369165933,41.8717239119163,0 -87.79160214925886,41.87210797280065,0a\  -87.65758750947528,41.96427269188822,0 -87.65802133507393,41.96581929055245,0 -87.65819033925305,41.96621846093642,0 -87.6583189819129,41.96650362897086,0 -87.65835858701473,41.96669002089185,0 -87.65838428411853,41.96688150295095,0 -87.65842208882658,41.96745896091846,0 -87.65846556843937,41.9683761425439,0 -87.65849296214573,41.96913893870342,0a”  -87.65492939166126,41.95377494531437,0 -87.65557043199591,41.95376544118533,0 -87.65606302030132,41.95376391658746,0 -87.65623502146268,41.95377379126367,0 -87.65634748981634,41.95380103566435,0 -87.65646537904269,41.95387703994676,0 -87.65656532461145,41.95396622645799,0 -87.65664760856414,41.95404201996044,0 -87.65671750555913,41.95416647054043,0 -87.65673983607117,41.95429949810849,0 -87.65673866475777,41.95441024240925,0 -87.6567690255541,41.95490657227902,0 -87.65683672482363,41.95692259283837,0 -87.6568900886376,41.95861070983142,0 -87.65699865558875,41.96181418669004,0 -87.65756347177603,41.96397045777844,0 -87.65758750947528,41.96427269188822,0ah  -87.65362593118043,41.94742799535678,0 -87.65363554415794,41.94819886386848,0 -87.6536456393239,41.95059994675451,0 -87.65365831235026,41.95108288489359,0 -87.6536604873874,41.9519954657554,0 -87.65362592053201,41.95245597302328,0 -87.65367158496069,41.95311153649393,0 -87.65368468595476,41.9533202828916,0 -87.65369271253692,41.95343095587119,0 -87.65373335834569,41.95351536301472,0 -87.65378605844126,41.95358212680591,0 -87.65385067928185,41.95364452823767,0 -87.6539390793817,41.95370263886964,0 -87.6540786298351,41.95373403675265,0 -87.65430648647626,41.9537535411832,0 -87.65492939166126,41.95377494531437,0a   -87.65345391792157,41.94217681262115,0 -87.65342448305786,41.94237224420864,0 -87.65339745703922,41.94268217746244,0 -87.65337753982941,41.94288140770284,0 -87.65336256753105,41.94317369618263,0 -87.65338799707138,41.94357253961736,0 -87.65340240886648,41.94389158188269,0 -87.65341837392448,41.94406444407721,0 -87.65342275247338,41.94421065714904,0 -87.65347469646018,41.94434829382345,0 -87.65351486483024,41.94447699917548,0 -87.65353483605053,41.9453896864472,0 -87.65361975532807,41.94689193720703,0 -87.65362593118043,41.94742799535678,0©ÚidÚnameÚstyleUrlÚextrudeÚaltitudeModeÚcoordinatesc                 ó°   — t        j                  d«       d} t        j                  t        | ¬«      5  t        t        «       d d d «       y # 1 sw Y   y xY w)NÚlxmlú—Passing literal xml to 'read_xml' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.©Úmatch)ÚpytestÚimportorskipÚtmÚassert_produces_warningÚFutureWarningr   Úxml_default_nmsp©Úmsgs    úZ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/io/xml/test_xml.pyÚtest_literal_xml_deprecationrA   ú   sJ   € ä
×Ñ˜Ôð	:ð ô 
×	#Ñ	#¤M¸Ô	=ñ #ÜÔ!Ô"÷#÷ #ñ #ús   ³AÁAÚrbÚr)Úparamsc                ó   — | j                   S ©N©Úparam©Úrequests    r@   ÚmoderK     ó   € à�=‰=Ðó    r4   )ÚmarksÚetreec                ó   — | j                   S rF   rG   rI   s    r@   ÚparserrQ     rL   rM   c                óÖ   — t        j                  «       5 }t        |dd¬«      5 }|j                  | «       d d d «       t	        |fi |¤Žcd d d «       S # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NÚwúutf-8©Úencoding)r:   Úensure_cleanÚopenÚwriter   )ÚdataÚkwargsÚpathÚfs       r@   Úread_xml_iterparser^     sc   € Ü	�‰Ó	ð (˜dÜ�$˜ gÔ.ð 	°!Ø�G‰G�DŒM÷	ä˜Ñ' Ñ'÷(ñ (÷	ð 	ú÷(ð (ús!   •A¤A¶AÁA	ÁAÁA(c                ób  — t        | d|¬«      5 }t        j                  «       5 }t        |dd¬«      5 }|j	                  |j
                  j                  «       «       d d d «       t        |fi |¤Žcd d d «       cd d d «       S # 1 sw Y   Œ'xY w# 1 sw Y   nxY w	 d d d «       y # 1 sw Y   y xY w)NrC   )ÚcompressionrS   rT   rU   )r   r:   rW   rX   rY   ÚhandleÚreadr   )Ú	comp_pathÚcompression_onlyr[   Úhandlesr\   r]   s         r@   Úread_xml_iterparse_comprf     s¤   € Ü	�I˜sÐ0@Ô	Að ,ÀWÜ�_‰_Óð 	, $Ü�d˜C¨'Ô2ð /°aØ—‘˜Ÿ™×+Ñ+Ó-Ô.÷/ä˜DÑ+ FÑ+÷	,ð 	,÷,ñ ,÷/ð /ú÷	,ð 	,úð 	,÷,÷ ,ñ ,ús9   �B%¤B³*BÁBÁ0	B%ÂBÂBÂB	ÂB%Â%B.c                ó.  — t        j                  d«       t        | d¬«      }t        | d¬«      }t        | ddg d¢i¬«      }t        | ddg d¢i¬«      }t        j                  ||«       t        j                  ||«       t        j                  ||«       y )Nr4   ©rQ   rO   Úbook©ÚcategoryÚtitleÚyearÚauthorÚprice©rQ   Ú	iterparse©r8   r9   r   r:   Úassert_frame_equal)Ú	xml_booksÚdf_file_lxmlÚdf_file_etreeÚdf_iter_lxmlÚdf_iter_etrees        r@   Útest_parser_consistency_filery   #  sŽ   € Ü
×Ñ˜ÔÜ˜I¨fÔ5€LÜ˜Y¨wÔ7€MäØØØÒKÐLô€Lô
 ØØØÒKÐLô€Mô ×Ñ˜,¨Ô6Ü×Ñ˜,¨Ô5Ü×Ñ˜,¨Õ6rM   c                óê   — |j                  t        ¬«       t        t        t        «      | ¬«      }t        t	        t        j                  «       «      | dg d¢i¬«      }t        j                  ||«       y )N©Úcontentrh   Úrowr   rp   )Úserve_contentr=   r   r   r   Úencoder:   rs   )rQ   Ú
httpserverÚdf_xpathÚdf_iters       r@   Útest_parser_consistency_urlrƒ   8  sb   € ð ×ÑÔ%5ÐÔ6äœÔ!1Ó2¸6ÔB€HÜÜÔ ×'Ñ'Ó)Ó*ØØÒ7Ð8ô€Gô ×Ñ˜( GÕ,rM   c                óÔ   — t        | ||dk(  rdnd ¬«      5 }t        ||¬«      }d d d «       t        g d¢g d¢g d¢g d¢g d	¢d
œ«      }t        j                  |«       y # 1 sw Y   Œ;xY w©NrC   rT   rU   rh   ©ÚcookingÚchildrenÚweb©zEveryday ItalianzHarry PotterzLearning XML©zGiada De LaurentiiszJ K. RowlingzErik T. Ray©éÕ  r�   iÓ  ©g      >@g=
×£pý=@gš™™™™ùC@©rk   rl   rn   rm   ro   )rX   r   r   r:   rs   )rt   rQ   rK   r]   Údf_fileÚdf_expecteds         r@   Útest_file_liker’   G  sk   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið -ÈQÜ˜1 VÔ,ˆ÷-ô â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜' ;Õ/÷-ð -ús   –AÁA'c                ó<  — t        | ||dk(  rdnd ¬«      5 }|j                  «       }d d d «       t        t        t        «      rt        |«      n
t        |«      |¬«      }t        g d¢g d¢g d¢g d¢g d	¢d
œ«      }t        j                  ||«       y # 1 sw Y   ŒlxY wr…   )
rX   rb   r   Ú
isinstanceÚbytesr   r   r   r:   rs   )rt   rQ   rK   r]   Úxml_objÚdf_ior‘   s          r@   Útest_file_ior˜   X  s‘   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQØ—&‘&“(ˆ÷ô Ü'¨´Ô7Œ�Ô	¼XÀgÓ=NØô€Eô
 â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜% Õ-÷%ð ús   –BÂBc                óR  — t        | ||dk(  rdnd ¬«      5 }|j                  «       }d d d «       |dk(  rt        j                  «       «      }n|dk(  rt        «      }t	        |¬«      }t        g d¢g d¢g d¢g d	¢g d
¢dœ«      }t        j                  ||«       y # 1 sw Y   ŒwxY w©NrC   rT   rU   rB   rh   r†   rŠ   r‹   rŒ   rŽ   r�   )rX   rb   r   Údecoder   r   r:   rs   ©rt   rQ   rK   r]   r–   Údf_strr‘   s          r@   Ú test_file_buffered_reader_stringrž   n  sŸ   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQØ—&‘&“(ˆ÷ð ˆt‚|Ü˜7Ÿ>™>Ó+Ó,‰Ø	�ŠÜ˜7Ó#ˆä�g fÔ-€Fäâ6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜& +Õ.÷)ð ús   –BÂB&c                óh  — t        | ||dk(  rdnd ¬«      5 }t        |«       |j                  «       }d d d «       |dk(  rt        j	                  «       «      }n|dk(  rt        «      }t        |¬«      }t        g d¢g d¢g d¢g d	¢g d
¢dœ«      }t        j                  ||«       y # 1 sw Y   ŒwxY wrš   )	rX   Únextrb   r   r›   r   r   r:   rs   rœ   s          r@   Ú,test_file_buffered_reader_no_xml_declarationr¡   †  s¦   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQÜˆQŒØ—&‘&“(ˆ÷ð ˆt‚|Ü˜7Ÿ>™>Ó+Ó,‰Ø	�ŠÜ˜7Ó#ˆä�g fÔ-€Fäâ6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜& +Õ.÷+ð ús   –B(Â(B1c                ó‚   — d}t        t        |«      | ¬«      }t        dddœdg¬«      }t        j                  ||«       y )Nõ<   <ä¸­æ–‡æ¨™ç±¤><row><c1>1</c1><c2>2</c2></row></ä¸­æ–‡æ¨™ç±¤>rh   r)   r*   )Úc1Úc2r   )Úindex©r   r   r   r:   rs   )rQ   Útxtr�   r‘   s       r@   Útest_string_charsetr©   Ÿ  s:   € Ø
H€Cä”h˜s“m¨FÔ3€Fä 1¨AÑ.°q°cÔ:€Kä×Ñ˜& +Õ.rM   c                ó˜   — t        | |¬«      }t        g d¢dj                  ddg«      d dgg d¢dœ«      }t        j                  ||«       y )	Nrh   )uP   å•�  è‹¥ç®‡æ˜¯é‚ªè€Œè¨€ç ´é‚ª ä½•è€…æ˜¯æ­£è€Œé�“(Sorry, this is Big5 only)ç”³æ­£u;   å•� æ—¢ç ´æœ‰å¾—ç”³ç„¡å¾— äº¦æ‡‰ä½†ç ´æ€§åŸ·ç”³å�‡å��ä»¥ä¸�uO   å•� æ—¢ç ´æ€§ç”³å�‡ äº¦æ‡‰ä½†ç ´æœ‰ç”³ç„¡ è‹¥æœ‰ç„¡å…©æ´— äº¦æ‡‰æ€§å�‡é›™ç ´è€¶Ú u<   ç­”  é‚ªæ—¢ç„¡é‡� æ­£äº¦å¤šé€”  å¤§ç•¥ç‚ºè¨€ä¸�å‡ºäºŒç¨® è¬‚u;   æœ‰å¾—èˆ‡ç„¡å¾— æœ‰å¾—æ˜¯é‚ªé ˆç ´ ç„¡å¾—æ˜¯æ­£é ˆç”³
		æ•…uL   ç­”  ä¸�ä¾‹  æœ‰ç„¡çš†æ˜¯æ€§ æ‰€ä»¥é ˆé›™ç ´ æ—¢åˆ†æ€§å�‡ç•° æ•…æœ‰ç ´ä¸�ç ´)NuV   ç­” æ€§åŸ·æ˜¯æœ‰å¾— å�‡å��æ˜¯ç„¡å¾—  ä»Šç ´æœ‰å¾—ç”³ç„¡å¾— å�³æ˜¯ç ´æ€§åŸ·ç”³å�‡å��ä¹ŸN)u   å•�u   ç­”Úa)r   r   Újoinr:   rs   )Úxml_doc_ch_utfrQ   r�   r‘   s       r@   Útest_file_charsetr¯   ©  s_   € Ü�~¨fÔ5€Gäòð —‘àVØXðóð Ø^ð	òñ!	
ó€Kô2 ×Ñ˜' ;Õ/rM   c                ó¬   — t        | d«      5 }t        t        |j                  «       «      |¬«       |j                  rJ ‚	 d d d «       y # 1 sw Y   y xY w)NrB   rh   )rX   r   r   rb   Úclosed)rt   rQ   r]   s      r@   Útest_file_handle_closer²   È  sF   € Ü	ˆi˜Ó	ð  !Ü”˜Ÿ™›Ó"¨6Õ2à—8’8Ðˆ|�8÷÷ ñ ús   �3A
Á
AÚvalr«   rM   c                ó:  — t        j                  d«      }dj                  ddg«      }t        j                  |j                  |¬«      5  t        | t        «      rt        t        | «      d¬«       nt        t        | «      d¬«       d d d «       y # 1 sw Y   y xY w)Nú
lxml.etreeú|zDocument is emptyzNone \(line 0\)r6   r4   rh   )
r8   r9   r­   ÚraisesÚXMLSyntaxErrorr”   Ústrr   r   r   )r³   Ú
lxml_etreer?   s      r@   Útest_empty_string_lxmlr»   Ï  s|   € ä×$Ñ$ \Ó2€Jà
�(‰(ààð	
ó€Cô 
�‰�z×0Ñ0¸Ô	<ñ 2Ü�cœ3ÔÜ”X˜c“]¨6Ö2ä”W˜S“\¨&Õ1÷	2÷ 2ñ 2ús   Á
>BÂBc                óÞ   — t        j                  t        d¬«      5  t        | t        «      rt        t        | «      d¬«       nt        t        | «      d¬«       d d d «       y # 1 sw Y   y xY w)Nzno element foundr6   rO   rh   )r8   r·   r	   r”   r¹   r   r   r   )r³   s    r@   Útest_empty_string_etreer½   á  sL   € ä	�‰”zÐ);Ô	<ñ 3Ü�cœ3ÔÜ”X˜c“]¨7Ö3ä”W˜S“\¨'Õ2÷	3÷ 3ñ 3ús   œ>A#Á#A,c                óÄ   — d}t         j                  j                  ddd«      }t        j                  t
        |¬«      5  t        || ¬«       d d d «       y # 1 sw Y   y xY w)Nr5   rZ   Úhtmlz	books.xmlr6   rh   )Úosr\   r­   r8   r·   r<   r   )rQ   r?   Úfilenames      r@   Útest_wrong_file_pathrÂ   ê  sW   € ð	:ð ô
 �w‰w�|‰|˜F F¨KÓ8€Hä	�‰ÜØô
ñ *ô 	� &Õ)÷	*÷ *ñ *ús   ¿AÁAc                óB  — t        j                  d«       t        |d¬«      5 }| j                  |j	                  «       ¬«       t        | j                  d¬«      }d d d «       t        g d¢g d¢g d	¢g d
¢g d¢dœ«      }t        j                  |«       y # 1 sw Y   Œ;xY w)Nr4   rT   rU   r{   ú.//book[count(*)=4]©Úxpathr†   rŠ   r‹   rŒ   rŽ   r�   )
r8   r9   rX   r~   rb   r   Úurlr   r:   rs   )r€   Úxml_filer]   Údf_urlr‘   s        r@   Útest_urlrÊ   ù  s‘   € ô ×Ñ˜ÔÜ	ˆh Ô	)ð G¨QØ× Ñ ¨¯©«Ð Ô2Ü˜*Ÿ.™.Ð0EÔFˆ÷Gô â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜& +Õ.÷Gð Gús   £8BÂBc                óº   — |j                  dd¬«       t        j                  t        d¬«      5  t	        |j
                  d| ¬«       d d d «       y # 1 sw Y   y xY w)Nz	NOT FOUNDi”  )ÚcodezHTTP Error 404: NOT FOUNDr6   rÄ   ©rÆ   rQ   )r~   r8   r·   r   r   rÇ   )rQ   r€   s     r@   Útest_wrong_urlrÎ     sP   € ð ×Ñ˜[¨sÐÔ3Ü	�‰”yÐ)DÔ	Fñ MÜ�—‘Ð'<ÀVÕL÷M÷ Mñ Mús   ¯AÁAc                óâ   — d}t        t        |«      | d¬«      }t        || dg d¢id¬«      }t        g d¢g d¢g d	¢dœd¬
«      }t	        j
                  ||«       t	        j
                  ||«       y )NaÍ  
      <data>
        <row sides=" 4 ">
          <shape>
              square
          </shape>
          <degrees>&#009;360&#009;</degrees>
        </row>
        <row sides=" 0 ">
          <shape>
              circle
          </shape>
          <degrees>&#009;360&#009;</degrees>
        </row>
        <row sides=" 3 ">
          <shape>
              triangle
          </shape>
          <degrees>&#009;180&#009;</degrees>
        </row>
      </data>Ústring)rQ   Údtyper}   )r"   r    r!   )rQ   rq   rÑ   )z 4 z 0 z 3 )z 
              square
          z 
              circle
          z"
              triangle
          )ú	360	rÒ   z	180	©rÑ   ©r   r   r^   r   r:   rs   ©rQ   Úxmlr�   r‚   r‘   s        r@   Útest_whitespacer×     s~   € ð€Cô, œ ›¨f¸HÔE€Hä ØØØÒ7Ð8Øô	€Gô â*òò
 9ñ	
ð ô€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rM   c                óª   — t        j                  d«       t        j                  t        d¬«      5  t	        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nr4   úxpath does not return any nodesr6   z	.//pythonrÍ   ©r8   r9   r·   Ú
ValueErrorr   ©rt   s    r@   Útest_empty_xpath_lxmlrÝ   M  s@   € Ü
×Ñ˜ÔÜ	�‰”zÐ*KÔ	Mñ >Ü� +°fÕ=÷>÷ >ñ >úó   ±A	Á	Ac                ó€   — t        j                  t        d¬«      5  t        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nz/You have used an incorrect or unsupported XPathr6   ú	.//[book]rO   rÍ   ©r8   r·   ÚSyntaxErrorr   rÜ   s    r@   Útest_bad_xpath_etreerã   S  s7   € Ü	�‰ÜÐMô
ñ ?ô 	� +°gÕ>÷?÷ ?ñ ?úó   œ4´=c                ó¶   — t        j                  d«      }t        j                  |j                  d¬«      5  t	        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nrµ   zInvalid expressionr6   rà   r4   rÍ   ©r8   r9   r·   ÚXPathEvalErrorr   )rt   rº   s     r@   Útest_bad_xpath_lxmlrè   Z  sH   € Ü×$Ñ$ \Ó2€Jä	�‰�z×0Ñ0Ð9MÔ	Oñ >Ü� +°fÕ=÷>÷ >ñ >úó   ·AÁAc                ó  — t        t        t        «      dddi| ¬«      }t        t        | dg d¢i¬«      }t	        g d¢g d	¢d
t        d«      dgdœ«      }t        j                  ||«       t        j                  ||«       y )Nú	.//ns:rowÚnsúhttp://example.com©rÆ   Ú
namespacesrQ   r}   r   rp   r   r   ç      @Únanç      @)r   r   r=   r^   r   Úfloatr:   rs   ©rQ   Údf_nmspr‚   r‘   s       r@   Útest_default_namespacerö   d  s†   € ÜÜÔ!Ó"ØØÐ.Ð/Øô	€Gô !ÜØØÒ7Ð8ô€Gô â5Ú&Øœ5 ›<¨Ð-ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rM   c                ó  — t        t        t        «      dddi| ¬«      }t        t        | dg d¢i¬«      }t	        g d¢g d	¢d
t        d«      dgdœ«      }t        j                  ||«       t        j                  ||«       y )Nú
.//doc:rowÚdocrí   rî   r}   r   rp   r   r   rð   rñ   rò   )r   r   Úxml_prefix_nmspr^   r   ró   r:   rs   rô   s       r@   Útest_prefix_namespacerû   ~  sƒ   € ÜÜ”Ó!ØØÐ/Ð0Øô	€Gô !Ü °5Ò:WÐ2Xô€Gô â5Ú&Øœ5 ›<¨Ð-ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rM   c                 óÒ   — t        j                  d«       t        t        t        «      dddid¬«      } t        t        t        «      dddid¬«      }t        j                  | |«       y )	Nr4   rë   rì   rí   rî   rø   rù   rO   )r8   r9   r   r   r=   r:   rs   ©Údf_lxmlÚdf_etrees     r@   Ú"test_consistency_default_namespacer   •  sh   € Ü
×Ñ˜ÔÜÜÔ!Ó"ØØÐ.Ð/Øô	€Gô ÜÔ!Ó"ØØÐ/Ð0Øô	€Hô ×Ñ˜' 8Õ,rM   c                 óÒ   — t        j                  d«       t        t        t        «      dddid¬«      } t        t        t        «      dddid¬«      }t        j                  | |«       y )Nr4   rø   rù   rí   rî   rO   )r8   r9   r   r   rú   r:   rs   rý   s     r@   Ú!test_consistency_prefix_namespacer  ¨  sf   € Ü
×Ñ˜ÔÜÜ”Ó!ØØÐ/Ð0Øô	€Gô Ü”Ó!ØØÐ/Ð0Øô	€Hô ×Ñ˜' 8Õ,rM   c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)NrÙ   r6   z.//PlacemarkrÍ   ©r8   r·   rÛ   r   ©rt   rQ   s     r@   Ú*test_missing_prefix_with_default_namespacer  ¾  s6   € Ü	�‰”zÐ*KÔ	Mñ AÜ� .¸Õ@÷A÷ Añ Aúrä   c                ó€   — t        j                  t        d¬«      5  t        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nz'you used an undeclared namespace prefixr6   ú.//kml:PlacemarkrO   rÍ   rá   )Úkml_cta_rail_liness    r@   Ú$test_missing_prefix_definition_etreer
  Ã  s8   € Ü	�‰”{Ð+TÔ	Vñ OÜÐ#Ð+=ÀgÕN÷O÷ Oñ Oúrä   c                ó¶   — t        j                  d«      }t        j                  |j                  d¬«      5  t	        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nrµ   zUndefined namespace prefixr6   r  r4   rÍ   ræ   )r	  rº   s     r@   Ú#test_missing_prefix_definition_lxmlr  È  sN   € Ü×$Ñ$ \Ó2€Jä	�‰�z×0Ñ0Ð9UÔ	Wñ NÜÐ#Ð+=ÀfÕM÷N÷ Nñ Núré   Úkeyc                óÊ   — t        j                  d«       t        j                  t        d¬«      5  t	        t        t        «      d| did¬«       d d d «       y # 1 sw Y   y xY w)Nr4   z0empty namespace prefix is not supported in XPathr6   r  úhttp://www.opengis.net/kml/2.2rî   )r8   r9   r·   Ú	TypeErrorr   r   r=   )r  s    r@   Útest_none_namespace_prefixr  Ï  sY   € ä
×Ñ˜ÔÜ	�‰ÜÐLô
ñ 
ô 	ÜÔ%Ó&Ø$ØÐ=Ð>Øõ		
÷
÷ 
ñ 
ús   ±AÁA"c                óÐ   — t        | |¬«      }t        | |dg d¢i¬«      }t        g d¢g d¢g d¢g d¢g d	¢dœ«      }t        j                  ||«       t        j                  ||«       y )
Nrh   ri   r�   rp   r†   rŠ   r‹   rŒ   rŽ   ©r   r   r:   rs   ©rt   rQ   r�   r‚   r‘   s        r@   Útest_file_elems_and_attrsr  à  si   € Ü�y¨Ô0€GÜØØØÒKÐLô€Gô
 â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rM   c                ó¸   — t        | d|¬«      }t        | |ddgi¬«      }t        dg d¢i«      }t        j                  ||«       t        j                  ||«       y )NT)Ú
attrs_onlyrQ   ri   rk   rp   r†   r  r  s        r@   Útest_file_only_attrsr  õ  sU   € Ü�y¨T¸&ÔA€GÜ�y¨¸FÀZÀLÐ;QÔR€GÜ˜ZÒ)GÐHÓI€Kä×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rM   c                óÌ   — t        | d|¬«      }t        | |dg d¢i¬«      }t        g d¢g d¢g d¢g d	¢dœ«      }t        j                  ||«       t        j                  ||«       y )
NT)Ú
elems_onlyrQ   ri   )rl   rn   rm   ro   rp   rŠ   r‹   rŒ   rŽ   r  r  s        r@   Útest_file_only_elemsr  þ  sh   € Ü�y¨T¸&ÔA€GÜØØØÒ?Ð@ô€Gô
 âIÚLÚ&Ú*ñ		
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rM   c                ó‚   — t        j                  t        d¬«      5  t        | dd|¬«       d d d «       y # 1 sw Y   y xY w)Nz3Either element or attributes can be parsed not bothr6   T)r  r  rQ   r  )r	  rQ   s     r@   Útest_elem_and_attrs_onlyr    s>   € Ü	�‰ÜØDô
ñ Vô 	Ð#°ÀÈfÕU÷	V÷ Vñ Vús   œ5µ>c                ó˜   — d}t        j                  t        d¬«      5  t        t	        |«      dd| ¬«       d d d «       y # 1 sw Y   y xY w)NaU  
      <data>
        <row>
          <shape sides="4">square</shape>
          <degrees>360</degrees>
        </row>
        <row>
          <shape sides="0">circle</shape>
          <degrees>360</degrees>
        </row>
        <row>
          <shape sides="3">triangle</shape>
          <degrees>180</degrees>
        </row>
      </data>ú-xpath does not return any nodes or attributesr6   ú./rowT)rÆ   r  rQ   ©r8   r·   rÛ   r   r   ©rQ   rÖ   s     r@   Útest_empty_attrs_onlyr#    sJ   € ð€Cô  
�‰ÜØ>ô
ñ Oô 	”˜#“ g¸$ÀvÕN÷	O÷ Oñ Oúó   žA Á A	c                ó˜   — d}t        j                  t        d¬«      5  t        t	        |«      dd| ¬«       d d d «       y # 1 sw Y   y xY w)Nz¿
      <data>
        <row sides="4" shape="square" degrees="360"/>
        <row sides="0" shape="circle" degrees="360"/>
        <row sides="3" shape="triangle" degrees="180"/>
      </data>r  r6   r   T)rÆ   r  rQ   r!  r"  s     r@   Útest_empty_elems_onlyr&  2  sJ   € ð€Cô 
�‰ÜØ>ô
ñ Oô 	”˜#“ g¸$ÀvÕN÷	O÷ Oñ Oúr$  c                 ó*  — t        j                  d«       d} t        t        | «      d¬«      }t        t        | «      dd¬«      }t	        | ddd	gi¬
«      }t	        | dddd	gi¬«      }t        j                  ||«       t        j                  ||«       y )Nr4   aº  <?xml version="1.0" encoding="UTF-8"?>
<TrainSchedule>
      <Stations>
         <station Name="Manhattan" coords="31,460,195,498"/>
         <station Name="Laraway Road" coords="63,409,194,455"/>
         <station Name="179th St (Orland Park)" coords="0,364,110,395"/>
         <station Name="153rd St (Orland Park)" coords="7,333,113,362"/>
         <station Name="143rd St (Orland Park)" coords="17,297,115,330"/>
         <station Name="Palos Park" coords="128,281,239,303"/>
         <station Name="Palos Heights" coords="148,257,283,279"/>
         <station Name="Worth" coords="170,230,248,255"/>
         <station Name="Chicago Ridge" coords="70,187,208,214"/>
         <station Name="Oak Lawn" coords="166,159,266,185"/>
         <station Name="Ashburn" coords="197,133,336,157"/>
         <station Name="Wrightwood" coords="219,106,340,133"/>
         <station Name="Chicago Union Sta" coords="220,0,360,43"/>
      </Stations>
</TrainSchedule>z
.//stationrÅ   rO   rÍ   ÚstationÚNameÚcoords©rq   rp   )r8   r9   r   r   r^   r:   rs   )rÖ   rþ   rÿ   Ú
df_iter_lxÚ
df_iter_ets        r@   Útest_attribute_centric_xmlr.  A  sŽ   € Ü
×Ñ˜Ôð€Cô( ”x “}¨LÔ9€GÜœ ›¨\À'ÔJ€Hä# C°IÀÈÐ?QÐ3RÔS€JÜ#Ø�G¨	°F¸HÐ3EÐ'Fô€Jô ×Ñ˜' 8Ô,Ü×Ñ˜* jÕ1rM   c                óÜ   — t        | g d¢|¬«      }t        | |g d¢dg d¢i¬«      }t        g d¢g d¢g d¢g d	¢g d
¢dœ«      }t        j                  ||«       t        j                  ||«       y )N)ÚCol1ÚCol2ÚCol3ÚCol4ÚCol5©ÚnamesrQ   ri   r�   )rQ   r6  rq   r†   rŠ   r‹   rŒ   rŽ   r  r  s        r@   Útest_names_option_outputr7  f  st   € ÜØÒAÈ&ô€Gô ØØÚ6ØÒKÐLô	€Gô â2ÚHÚJÚ&Ú)ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rM   c                óè   — d}t        t        |«      d| g d¢¬«      }t        || dg d¢ig d¢¬«      }t        dd	gd
dgddgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Nz°<shapes>
  <shape type="2D">
    <name>circle</name>
    <type>curved</type>
  </shape>
  <shape type="3D">
    <name>sphere</name>
    <type>curved</type>
  </shape>
</shapes>ú.//shape)Útype_dimr    Ú	type_edge©rÆ   rQ   r6  r    )Útyper.   r=  ©rQ   rq   r6  Ú2DÚ3Dr   ÚsphereÚcurvedrÔ   rÕ   s        r@   Útest_repeat_namesrC    s�   € ð
€Cô Ü�‹ØØÚ0ô	€Hô !ØØØÒ4Ð5Ú0ô	€Gô à˜t˜Ø Ð)Ø" HÐ-ñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rM   c                óâ   — d}t        t        |«      d| ddg¬«      }t        || dddgiddg¬«      }t        g d	¢g d
¢dœ«      }t	        j
                  ||«       t	        j
                  ||«       y )NaB  <shapes>
  <shape>
    <name>rectangle</name>
    <family>rectangle</family>
  </shape>
  <shape>
    <name>square</name>
    <family>rectangle</family>
  </shape>
  <shape>
    <name>ellipse</name>
    <family>ellipse</family>
  </shape>
  <shape>
    <name>circle</name>
    <family>ellipse</family>
  </shape>
</shapes>r9  r.   Úgroupr<  r    Úfamilyr>  )Ú	rectangler   Úellipser   )rG  rG  rH  rH  )r.   rE  rÔ   rÕ   s        r@   Útest_repeat_values_new_namesrI  ¥  s‡   € ð€Cô& Ü�‹˜Z°¸vÀwÐ>Oô€Hô !ØØØ˜V XÐ.Ð/Ø�wÐô	€Gô â@ÚEñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rM   c                óî   — d}t        t        |«      d| g d¢¬«      }t        || dg d¢ig d¢¬«      }t        g d¢g d	¢g d
¢g d¢dœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Na  <shapes>
  <shape>
    <value item="name">circle</value>
    <value item="family">ellipse</value>
    <value item="degrees">360</value>
    <value item="sides">0</value>
  </shape>
  <shape>
    <value item="name">triangle</value>
    <value item="family">polygon</value>
    <value item="degrees">180</value>
    <value item="sides">3</value>
  </shape>
  <shape>
    <value item="name">square</value>
    <value item="family">polygon</value>
    <value item="degrees">360</value>
    <value item="sides">4</value>
  </shape>
</shapes>r9  )r.   rF  r!   r"   r<  r    )ÚvaluerK  rK  rK  r>  )r   r   r   )rH  ÚpolygonrL  )r   r   r   )r   r   r   rÔ   rÕ   s        r@   Útest_repeat_elementsrM  Ï  s‚   € ð€Cô* Ü�‹ØØÚ4ô	€Hô !ØØØÒ@ÐAÚ4ô	€Gô â4Ú7Ú&Úñ		
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rM   c                ó„   — t        j                  t        d¬«      5  t        | g d¢|¬«       d d d «       y # 1 sw Y   y xY w)Nznames does not match lengthr6   )r0  r1  r2  r5  r  r  s     r@   Útest_names_option_wrong_lengthrO     s7   € Ü	�‰”zÐ*GÔ	Iñ KÜ�Ò":À6ÕJ÷K÷ Kñ Kúó   œ6¶?c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nzis not a valid type for namesr6   zCol1, Col2, Col3r5  ©r8   r·   r  r   r  s     r@   Útest_names_option_wrong_typerS    s7   € Ü	�‰”yÐ)HÔ	Jñ EÜ�Ð"4¸VÕD÷E÷ Eñ Eúrä   c                ó~   — t        j                  t        d¬«      5  t        | |¬«       d d d «       y # 1 sw Y   y xY w)Nz'utf-8' codec can't decoder6   rh   ©r8   r·   ÚUnicodeDecodeErrorr   ©Úxml_baby_namesrQ   s     r@   Útest_wrong_encodingrY    s1   € Ü	�‰Ô)Ð2NÔ	Pñ 0Ü�¨Õ/÷0÷ 0ñ 0úó   œ3³<c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)NzLUTF-16 stream does not start with BOM|'utf-16(-le)?' codec can't decode byter6   zUTF-16©rV   rQ   )r8   r·   ÚUnicodeErrorr   rW  s     r@   Útest_utf16_encodingr^    s=   € Ü	�‰Üð5ô
ñ Cô 	�¨(¸6ÕB÷C÷ Cñ Cúrä   c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nzunknown encoding: UFT-8r6   zUFT-8r\  )r8   r·   ÚLookupErrorr   rW  s     r@   Útest_unknown_encodingra    s6   € Ü	�‰”{Ð+DÔ	Fñ BÜ�¨'¸&ÕA÷B÷ Bñ Búrä   c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nz'ascii' codec can't decode byter6   Úasciir\  rU  rW  s     r@   Útest_ascii_encodingrd  "  s7   € Ü	�‰Ô)Ð2SÔ	Uñ BÜ�¨'¸&ÕA÷B÷ Bñ Búrä   c                ó6  — t        j                  d«       t        | dd¬«      }t        | dd¬«      }t        | dddg d¢i¬«      }t        | dddg d¢i¬«      }t        j                  ||«       t        j                  ||«       t        j                  ||«       y )	Nr4   z
ISO-8859-1©rQ   rV   rO   z
iso-8859-1r}   )ÚrankÚmalenameÚ
femalename)rQ   rV   rq   rr   )rX  Údf_xpath_lxmlÚdf_xpath_etreerw   rx   s        r@   Ú%test_parser_consistency_with_encodingrl  '  s˜   € Ü
×Ñ˜ÔÜ˜^°FÀ\ÔR€MÜ˜n°WÀ|ÔT€NäØØØØÒ<Ð=ô	€Lô ØØØØÒ<Ð=ô	€Mô ×Ñ˜-¨Ô8Ü×Ñ˜.¨-Ô8Ü×Ñ˜,¨Õ6rM   c                 óÀ   — t        j                  d«       d} t        j                  t        d¬«      5  t	        t        | «      dd ¬«       d d d «       y # 1 sw Y   y xY w)Nr4   ú-<data>
  <row>
    <a>c</a>
  </row>
</data>
zencoding Noner6   rf  )r8   r9   r·   r  r   r   )rZ   s    r@   Útest_wrong_encoding_for_lxmlro  >  sL   € Ü
×Ñ˜Ôð€Dô 
�‰”y¨Ô	8ñ ?Ü”˜$“¨¸Õ>÷?÷ ?ñ ?ús   ³AÁAc                 ó~   — d} t        t        | «      dd ¬«      }t        ddgi«      }t        j                  ||«       y )Nrn  rO   rf  r¬   Úcr§   )rZ   ÚresultÚexpecteds      r@   Útest_none_encoding_etreert  K  s=   € ð€Dô ”h˜t“n¨W¸tÔD€FÜ˜# ˜u˜Ó&€HÜ×Ñ˜& (Õ+rM   c                óz   — t        j                  t        d¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nz7lxml not found, please install or use the etree parser.r6   )r8   r·   ÚImportErrorr   rÜ   s    r@   Útest_default_parser_no_lxmlrw  [  s3   € ä	�‰ÜÐUô
ñ ô 	�Ô÷÷ ñ ús   œ1±:c                ó~   — t        j                  t        d¬«      5  t        | d¬«       d d d «       y # 1 sw Y   y xY w)Nz,Values for parser can only be lxml or etree.r6   Úbs4rh   r  rÜ   s    r@   Útest_wrong_parserrz  c  s5   € Ü	�‰ÜÐIô
ñ *ô 	� 5Õ)÷*÷ *ñ *úrZ  c                óÚ   — t        j                  d«       t        | dddi|¬«      }t        | dg d¢i¬«      }t        j                  t
        |«       t        j                  t
        |«       y )	Nr4   ú.//k:PlacemarkÚkr  ©rÆ   rï   Ú
stylesheetÚ	Placemarkr,   r+  )r8   r9   r   r:   rs   Údf_kml)r	  Úxsl_flatten_docÚdf_styler‚   s       r@   Útest_stylesheet_filer„  m  sj   € Ü
×Ñ˜ÔÜØØØÐ9Ð:Ø"ô	€Hô Øàò ð	
ô€Gô ×Ñœ& (Ô+Ü×Ñœ& 'Õ*rM   c                óØ   — t        j                  d«       t        |||dk(  rdnd ¬«      5 }t        | dddi|¬«      }d d d «       t	        j
                  t        «       y # 1 sw Y   Œ$xY w©	Nr4   rC   rT   rU   r|  r}  r  r~  )r8   r9   rX   r   r:   rs   r�  )r	  r‚  rK   r]   rƒ  s        r@   Útest_stylesheet_file_liker‡  ˆ  sj   € Ü
×Ñ˜ÔÜ	ˆo˜t¸Àº©gÈ$Ô	Oð 
ÐSTÜØØ"ØÐ=Ð>Øô	
ˆ÷
ô ×Ñœ& (Õ+÷
ð 
ús   «A Á A)c                óH  — t        j                  d«       t        |||dk(  rdnd ¬«      5 }|dk(  rt        |j	                  «       «      }nt        |j	                  «       «      }d d d «       t        | dddi¬	«      }t        j                  t        |«       y # 1 sw Y   Œ5xY w)
Nr4   rC   rT   rU   rB   r|  r}  r  r~  )
r8   r9   rX   r   rb   r   r   r:   rs   r�  ©r	  r‚  rK   r]   Úxsl_objrƒ  s         r@   Útest_stylesheet_ior‹  •  s—   € ô ×Ñ˜Ôô 
ˆo˜t¸Àº©gÈ$Ô	Oð )ÐSTØ�4Š<Ü˜aŸf™f›hÓ'‰Gä˜qŸv™v›xÓ(ˆG÷	)ô ØØØÐ9Ð:Øô	€Hô ×Ñœ& (Õ+÷)ð )ús   «9BÂB!c                óø   — t        j                  d«       t        |||dk(  rdnd ¬«      5 }|j                  «       }d d d «       t	        | dddi¬«      }t        j                  t        |«       y # 1 sw Y   Œ5xY wr†  )r8   r9   rX   rb   r   r:   rs   r�  r‰  s         r@   Útest_stylesheet_buffered_readerr�  «  sw   € Ü
×Ñ˜ÔÜ	ˆo˜t¸Àº©gÈ$Ô	Oð ÐSTØ—&‘&“(ˆ÷ô ØØØÐ9Ð:Øô	€Hô ×Ñœ& (Õ+÷ð ús   «A0Á0A9c                 ó¶   — t        j                  d«       d} d}t        t        | «      «      }t        t        | «      |¬«      }t	        j
                  ||«       y )Nr4   r£   u­  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
 </xsl:template>

 <xsl:template match="ä¸­æ–‡æ¨™ç±¤">
     <æ ¹>
       <xsl:apply-templates />
     </æ ¹>
 </xsl:template>

</xsl:stylesheet>©r  )r8   r9   r   r   r:   rs   )rÖ   ÚxslÚdf_origrƒ  s       r@   Útest_style_charsetr’  º  sL   € Ü
×Ñ˜ÔØ
H€Cð€Cô& ”x “}Ó%€GÜœ ›°#Ô6€Hä×Ñ˜' 8Õ,rM   c                ó´   — t        j                  d«      }t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nrµ   zdocument is not a stylesheetr6   r�  ©r8   r9   r·   ÚXSLTParseErrorr   )r	  rt   rº   s      r@   Útest_not_stylesheetr–  ×  sL   € Ü×$Ñ$ \Ó2€Jä	�‰Ø×!Ñ!Ð*Hô
ñ ;ô 	Ð#°	Õ:÷;÷ ;ñ ;ús   ·AÁAc                ó¸   — t        j                  d«      }d}t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nrµ   a‹  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                              xmlns:k="http://www.opengis.net/kml/2.2"/>
    <xsl:output method="xml" omit-xml-declaration="yes"
                cdata-section-elements="k:description" indent="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
    </xsl:template>

    <xsl:template match="k:MultiGeometry|k:LineString">
        <xsl:apply-templates select='*'/>
    </xsl:template>

    <xsl:template match="k:description|k:Snippet|k:Style"/>
</xsl:stylesheet>z(Extra content at the end of the documentr6   r�  ©r8   r9   r·   r¸   r   ©r	  rº   r�  s      r@   Útest_incorrect_xsl_syntaxrš  à  sU   € Ü×$Ñ$ \Ó2€Jð€Cô( 
�‰Ø×!Ñ!Ð*Tô
ñ 5ô 	Ð#°Õ4÷5÷ 5ñ 5úó   ¹AÁAc                ó¸   — t        j                  d«      }d}t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nrµ   a‹  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                              xmlns:k="http://www.opengis.net/kml/2.2">
    <xsl:output method="xml" omit-xml-declaration="yes"
                cdata-section-elements="k:description" indent="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="node(*)|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
    </xsl:template>

    <xsl:template match="k:MultiGeometry|k:LineString">
        <xsl:apply-templates select='*'/>
    </xsl:template>

    <xsl:template match="k:description|k:Snippet|k:Style"/>
</xsl:stylesheet>zfailed to compiler6   r�  r”  r™  s      r@   Útest_incorrect_xsl_evalr�  ý  sP   € Ü×$Ñ$ \Ó2€Jð€Cô( 
�‰�z×0Ñ0Ð9LÔ	Nñ 5ÜÐ#°Õ4÷5÷ 5ñ 5úr›  c                ó¸   — t        j                  d«      }d}t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nrµ   ag  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:copy-of select="document('non_existent.xml')/*"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>zCannot resolve URIr6   r�  )r8   r9   r·   ÚXSLTApplyErrorr   r™  s      r@   Útest_incorrect_xsl_applyr     sP   € Ü×$Ñ$ \Ó2€Jð
€Cô 
�‰�z×0Ñ0Ð9MÔ	Oñ 5ÜÐ#°Õ4÷5÷ 5ñ 5úr›  c                ó¾   — t        j                  d«      }|dz  }t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nrµ   zflatten.xslz!Start tag expected, '<' not foundr6   r�  r˜  )r	  Úxml_data_pathÚ	xml_etreer�  s       r@   Útest_wrong_stylesheetr¤  +  sV   € Ü×#Ñ# LÓ1€Ià
˜-Ñ
'€Cä	�‰Ø× Ñ Ø2ô
ñ 5ô 	Ð#°Õ4÷	5÷ 5ñ 5ús   ¼AÁAc                ó*  — t        j                  d«       t        |||dk(  rdnd ¬«      5 }|dk(  rt        |j	                  «       «      }nt        |j	                  «       «      }t        | |¬«       |j                  rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr4   rC   rT   rU   rB   r�  )r8   r9   rX   r   rb   r   r   r±   )r	  r‚  rK   r]   rŠ  s        r@   Útest_stylesheet_file_closer¦  7  s€   € ô ×Ñ˜Ôô 
ˆo˜t¸Àº©gÈ$Ô	Oð ÐSTØ�4Š<Ü˜aŸf™f›hÓ'‰Gä˜qŸv™v›xÓ(ˆGäÐ#°Õ8à—8’8Ðˆ|�8÷÷ ñ ús   «AB	Â	Bc                óª   — t        j                  d«       t        j                  t        d¬«      5  t	        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nr4   z*To use stylesheet, you need lxml installedr6   rO   )rQ   r  rÚ   )r	  r‚  s     r@   Útest_stylesheet_with_etreer¨  H  sJ   € Ü
×Ñ˜ÔÜ	�‰ÜÐGô
ñ Qô 	Ð#¨GÀÕP÷Q÷ Qñ QúrÞ   c                óî   — t        j                  d«       d}t        j                  j	                  ddd«      }t        j
                  t        |¬«      5  t        || ¬«       d d d «       y # 1 sw Y   y xY w)Nr4   r5   rZ   rÖ   zcta_rail_lines.kmlr6   r�  )r8   r9   rÀ   r\   r­   r·   r<   r   )r³   r?   Úkmls      r@   Útest_empty_stylesheetr«  P  s`   € ä
×Ñ˜Ôð	:ð ô
 �'‰'�,‰,�v˜uÐ&:Ó
;€Cä	�‰”}¨CÔ	0ñ &Ü� Õ%÷&÷ &ñ &ús   ÁA+Á+A4c           	     óŒ  — t        | ||dk(  rdnd ¬«      5 }|dk(  rE|dk(  r@t        j                  t        d¬«      5  t	        ||dg d¢i¬	«       d d d «       	 d d d «       y t	        ||dg d¢i¬	«      }	 d d d «       t        g d
¢g d¢g d¢g d¢g d¢dœ«      }t        j                  |«       y # 1 sw Y   Œ`xY w# 1 sw Y   ŒGxY w©NrC   rT   rU   r4   z.reading file objects must return bytes objectsr6   ri   rj   rp   r†   rŠ   r‹   rŒ   rŽ   r�   )rX   r8   r·   r  r   r   r:   rs   )rt   rQ   rK   r]   Údf_fileliker‘   s         r@   Útest_file_like_iterparser¯  _  sÙ   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQØ�3Š;˜6 VÒ+Ü—‘ÜÐ"Rôñ 	ô ØØ!àÒ Pðõ÷	ð ÷ð ô #ØØØ!Ò#SÐTô‰K÷ô( â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜+ {Õ3÷9	ð 	ú÷ð ús(   –&B:¼B.Á	B:Á!B:Â.B7	Â3B:Â:Cc           
     ó  — |dk(  rt         nt        }t        | ||dk(  rdnd ¬«      5 } ||j                  «       «      5 }|dk(  rM|dk(  rHt	        j
                  t        d¬«      5  t        ||dg d¢i¬	«       d d d «       	 d d d «       d d d «       y t        ||dg d¢i¬	«      }	 d d d «       d d d «       t        g d
¢g d¢g d¢g d¢g d¢dœ«      }t        j                  |«       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒOxY w# 1 sw Y   ŒSxY wr­  )r   r   rX   rb   r8   r·   r  r   r   r:   rs   )rt   rQ   rK   ÚfuncIOr]   ÚbÚ	df_fileior‘   s           r@   Útest_file_io_iterparser´  �  s  € Ø š�X¬'€FÜ	ØØØ  CšK‘¨Tô
ð ð 
Ù�A—F‘F“HÓð 	 Ø�sŠ{˜v¨Ò/Ü—]‘]ÜÐ&Vôñ 	ô ØØ%à"Ò$Tð#õ÷	ð ÷	÷ð ô& %ØØ!àÒ Pðô‘	÷	÷ô6 â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜) [Õ1÷=	ð 	ú÷	ð 	ú÷ð úsF   §C>¾&C2Á$C&Á7	C2Â C>ÂC2Â$C>Ã&C/Ã+C2Ã2C;	Ã7C>Ã>Dc           	     ó   — t        |d¬«      5 }|j                  |j                  «       ¬«       t        j                  t
        d¬«      5  t        |j                  | dg d¢i¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)	NrT   rU   r{   ú)iterparse is designed for large XML filesr6   r}   ©r    r!   r"   Údaterp   )rX   r~   rb   r8   r·   r   r   rÇ   )rQ   r€   rÈ   r]   s       r@   Útest_url_path_errorr¹  «  s…   € ô 
ˆh Ô	)ð 	¨QØ× Ñ ¨¯©«Ð Ô2Ü�]‰]ÜÐ Kô
ñ 	ô Ø—‘ØØ Ò"GÐHõ÷	÷	ð 	÷	ð 	ú÷	ð 	ús#   Ž<BÁ
A8Á'BÁ8B	Á=BÂBc           	     ó  — t        j                  d¬«      5 }t        j                  || |¬«       t	        j
                  t        d¬«      5  t        || dg d¢i|¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)	Nzgeom_xml.zip©rÁ   ©rQ   r`   r¶  r6   r}   r·  ©rQ   rq   r`   )r:   rW   Úgeom_dfÚto_xmlr8   r·   r   r   )rQ   rd   r\   s      r@   Útest_compression_errorrÀ  º  s€   € Ü	�‰ .Ô	1ð °TÜ�‰�t FÐ8HˆÔIä�]‰]ÜÐ Kô
ñ 	ô ØØØ Ò"GÐHØ,õ	÷	÷ð ÷	ð 	ú÷ð ús#   —4A<ÁA0ÁA<Á0A9	Á5A<Á<Bc                ó„   — t        j                  t        d¬«      5  t        | |g d¢¬«       d d d «       y # 1 sw Y   y xY w)Nz&list is not a valid type for iterparser6   rj   rp   rR  r  s     r@   Útest_wrong_dict_typerÂ  É  s7   € Ü	�‰”yÐ(PÔ	Qñ 
ÜØØÚFõ	
÷
÷ 
ñ 
úrP  c                ó„   — t        j                  t        d¬«      5  t        | |ddi¬«       d d d «       y # 1 sw Y   y xY w)Nz8<class 'str'> is not a valid type for value in iterparser6   ri   rk   rp   rR  r  s     r@   Útest_wrong_dict_valuerÄ  Ò  s@   € Ü	�‰ÜÐSô
ñ Kô 	� 6°f¸jÐ5IÕJ÷K÷ Kñ KúrP  c           
     óN  — d}t        j                  d¬«      5 }t        |dd¬«      5 }|j                  |«       d d d «       t	        j
                  t        d¬«      5  t        || d	gd
g d¢i¬«       d d d «       d d d «       y # 1 sw Y   ŒJxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)Na‘  <?xml version='1.0' encoding='utf-8'?>
  <row>
    <shape>square</shape>
    <degrees>00360</degrees>
    <sides>4.0</sides>
    <date>2020-01-01</date>
   </row>
  <row>
    <shape>circle</shape>
    <degrees>00360</degrees>
    <sides/>
    <date>2021-01-01</date>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>00180</degrees>
    <sides>3.0</sides>
    <date>2022-01-01</date>
  </row>
zbad.xmlr»  rS   rT   rU   zDExtra content at the end of the document|junk after document elementr6   r¸  r}   r·  )rQ   Úparse_datesrq   )r:   rW   rX   rY   r8   r·   râ   r   )rQ   Úbad_xmlr\   r]   s       r@   Útest_bad_xmlrÈ  Ù  s«   € ð€Gô* 
�‰ )Ô	,ð °Ü�$˜ gÔ.ð 	°!Ø�G‰G�GÔ÷	ô �]‰]Üð.ô
ñ 	ô ØØØ#˜HØ Ò"GÐHõ	÷	÷	ð ÷	ð 	ú÷	ð 	ú÷	ð ús9   ™B¨Bº#BÁBÁ2BÂB	ÂBÂB	ÂBÂB$c                óÖ   — d}t        t        |«      d| ¬«      }t        || dddgi¬«      }t        dd	gd
dgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Na-  <!-- comment before root -->
<shapes>
  <!-- comment within root -->
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
    <!-- comment within child -->
  </shape>
  <!-- comment within root -->
</shapes>
<!-- comment after root -->r9  rÍ   r    r.   r=  rp   r   rA  r?  r@  ©r.   r=  rÔ   rÕ   s        r@   Útest_commentrË    sz   € ð€Cô" œ ›¨ZÀÔG€Hä Ø�F w°¸Ð0@Ð&Aô€Gô à˜xÐ(Ø˜4�Lñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rM   c                óÖ   — d}t        t        |«      d| ¬«      }t        || dddgi¬«      }t        dd	gd
dgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Na8  <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE non-profits [
    <!ELEMENT shapes (shape*) >
    <!ELEMENT shape ( name, type )>
    <!ELEMENT name (#PCDATA)>
]>
<shapes>
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
  </shape>
</shapes>r9  rÍ   r    r.   r=  rp   r   rA  r?  r@  rÊ  rÔ   rÕ   s        r@   Útest_dtdrÍ  %  óz   € ð€Cô$ œ ›¨ZÀÔG€Hä Ø�F w°¸Ð0@Ð&Aô€Gô à˜xÐ(Ø˜4�Lñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rM   c                óÖ   — d}t        t        |«      d| ¬«      }t        || dddgi¬«      }t        dd	gd
dgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Nam  <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<?display table-view?>
<?sort alpha-ascending?>
<?textinfo whitespace is allowed ?>
<?elementnames <shape>, <name>, <type> ?>
<shapes>
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
  </shape>
</shapes>r9  rÍ   r    r.   r=  rp   r   rA  r?  r@  rÊ  rÔ   rÕ   s        r@   Útest_processing_instructionrÐ  I  rÎ  rM   c                óˆ   — t        j                  t        d¬«      5  t        | |dg d¢i¬«       d d d «       y # 1 sw Y   y xY w)Nz+No result from selected items in iterparse.r6   Únode©Úattr1Úelem1Úelem2Úelem3rp   )r8   r·   r   r   r  s     r@   Útest_no_resultrØ  m  sB   € Ü	�‰ÜÐHô
ñ 
ô 	ØØØÒCÐDõ	
÷
÷ 
ñ 
úó	   œ8¸Ac                óˆ   — t        j                  t        d¬«      5  t        | |dg d¢i¬«       d d d «       y # 1 sw Y   y xY w)NzNo columns to parse from filer6   ri   rÓ  rp   )r8   r·   r   r   r  s     r@   Útest_empty_datarÛ  x  s=   € Ü	�‰”~Ð-LÔ	Mñ 
ÜØØØÒCÐDõ	
÷
÷ 
ñ 
úrÙ  c            	     óÊ   — t        j                  d«       d} d}t        t        | «      dddg|¬«      }t	        dd	d
dddœddddddœdœ«      }t        j                  ||«       y )Nr4   a  <?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Hide your heart</title>
    <artist>Bonnie Tyler</artist>
    <country>UK</country>
    <company>CBS Records</company>
    <price>9.90</price>
    <year>1988</year>
  </cd>
  <cd>
    <title>Greatest Hits</title>
    <artist>Dolly Parton</artist>
    <country>USA</country>
    <company>RCA</company>
    <price>9.90</price>
    <year>1982</year>
  </cd>
  <cd>
    <title>Still got the blues</title>
    <artist>Gary Moore</artist>
    <country>UK</country>
    <company>Virgin records</company>
    <price>10.20</price>
    <year>1990</year>
  </cd>
  <cd>
    <title>Eros</title>
    <artist>Eros Ramazzotti</artist>
    <country>EU</country>
    <company>BMG</company>
    <price>9.90</price>
    <year>1997</year>
  </cd>
  <cd>
    <title>One night only</title>
    <artist>Bee Gees</artist>
    <country>UK</country>
    <company>Polydor</company>
    <price>10.90</price>
    <year>1998</year>
  </cd>
  <cd>
    <title>Sylvias Mother</title>
    <artist>Dr.Hook</artist>
    <country>UK</country>
    <company>CBS</company>
    <price>8.10</price>
    <year>1973</year>
  </cd>
  <cd>
    <title>Maggie May</title>
    <artist>Rod Stewart</artist>
    <country>UK</country>
    <company>Pickwick</company>
    <price>8.50</price>
    <year>1990</year>
  </cd>
  <cd>
    <title>Romanza</title>
    <artist>Andrea Bocelli</artist>
    <country>EU</country>
    <company>Polydor</company>
    <price>10.80</price>
    <year>1996</year>
  </cd>
  <cd>
    <title>When a man loves a woman</title>
    <artist>Percy Sledge</artist>
    <country>USA</country>
    <company>Atlantic</company>
    <price>8.70</price>
    <year>1987</year>
  </cd>
  <cd>
    <title>Black angel</title>
    <artist>Savage Rose</artist>
    <country>EU</country>
    <company>Mega</company>
    <price>10.90</price>
    <year>1995</year>
  </cd>
  <cd>
    <title>1999 Grammy Nominees</title>
    <artist>Many</artist>
    <country>USA</country>
    <company>Grammy</company>
    <price>10.20</price>
    <year>1999</year>
  </cd>
  <cd>
    <title>For the good times</title>
    <artist>Kenny Rogers</artist>
    <country>UK</country>
    <company>Mucik Master</company>
    <price>8.70</price>
    <year>1995</year>
  </cd>
  <cd>
    <title>Big Willie style</title>
    <artist>Will Smith</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>9.90</price>
    <year>1997</year>
  </cd>
  <cd>
    <title>Tupelo Honey</title>
    <artist>Van Morrison</artist>
    <country>UK</country>
    <company>Polydor</company>
    <price>8.20</price>
    <year>1971</year>
  </cd>
  <cd>
    <title>Soulsville</title>
    <artist>Jorn Hoel</artist>
    <country>Norway</country>
    <company>WEA</company>
    <price>7.90</price>
    <year>1996</year>
  </cd>
  <cd>
    <title>The very best of</title>
    <artist>Cat Stevens</artist>
    <country>UK</country>
    <company>Island</company>
    <price>8.90</price>
    <year>1990</year>
  </cd>
  <cd>
    <title>Stop</title>
    <artist>Sam Brown</artist>
    <country>UK</country>
    <company>A and M</company>
    <price>8.90</price>
    <year>1988</year>
  </cd>
  <cd>
    <title>Bridge of Spies</title>
    <artist>T`Pau</artist>
    <country>UK</country>
    <company>Siren</company>
    <price>7.90</price>
    <year>1987</year>
  </cd>
  <cd>
    <title>Private Dancer</title>
    <artist>Tina Turner</artist>
    <country>UK</country>
    <company>Capitol</company>
    <price>8.90</price>
    <year>1983</year>
  </cd>
  <cd>
    <title>Midt om natten</title>
    <artist>Kim Larsen</artist>
    <country>EU</country>
    <company>Medley</company>
    <price>7.80</price>
    <year>1983</year>
  </cd>
  <cd>
    <title>Pavarotti Gala Concert</title>
    <artist>Luciano Pavarotti</artist>
    <country>UK</country>
    <company>DECCA</company>
    <price>9.90</price>
    <year>1991</year>
  </cd>
  <cd>
    <title>The dock of the bay</title>
    <artist>Otis Redding</artist>
    <country>USA</country>
    <COMPANY>Stax Records</COMPANY>
    <PRICE>7.90</PRICE>
    <YEAR>1968</YEAR>
  </cd>
  <cd>
    <title>Picture book</title>
    <artist>Simply Red</artist>
    <country>EU</country>
    <company>Elektra</company>
    <price>7.20</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Red</title>
    <artist>The Communards</artist>
    <country>UK</country>
    <company>London</company>
    <price>7.80</price>
    <year>1987</year>
  </cd>
  <cd>
    <title>Unchain my heart</title>
    <artist>Joe Cocker</artist>
    <country>USA</country>
    <company>EMI</company>
    <price>8.20</price>
    <year>1987</year>
  </cd>
</catalog>
a7  <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
  <h2>My CD Collection</h2>
  <table border="1">
    <tr bgcolor="#9acd32">
      <th style="text-align:left">Title</th>
      <th style="text-align:left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
  </table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
z.//tr[td and position() <= 6]rl   Úartist)rÆ   r6  r  zEmpire BurlesquezHide your heartzGreatest HitszStill got the bluesÚErosr(   z	Bob DylanzBonnie TylerzDolly Partonz
Gary MoorezEros Ramazzotti)rl   rÝ  )r8   r9   r   r   r   r:   rs   )rÖ   r�  Údf_xslr‘   s       r@   Útest_online_stylesheetrà  �  s�   € Ü
×Ñ˜ÔðT€Cðj€Cô2 Ü�‹Ø-Ø˜Ð!Øô	€Fô ð &Ø$Ø"Ø(Øñð Ø!Ø!ØØ$ññ	
ó€Kô& ×Ñ˜+ vÕ.rM   c           	     ó4  — t        j                  «       5 }t        j                  |d| |¬«       t	        || |¬«      }t        ||| dg d¢i|¬«      }d d d «       t        j                  t        «       t        j                  t        «       y # 1 sw Y   Œ>xY w)NF)r¦   rQ   r`   r¼  r}   r   r½  )r:   rW   r¾  r¿  r   rf   rs   )rQ   rd   rc   r�   r‚   s        r@   Útest_compression_readrâ  ‘  s�   € Ü	�‰Ó	ð 
˜iÜ�‰Ø˜U¨6Ð?Oð 	ô 	
ô ˜I¨fÐBRÔSˆä)ØØØØÒ;Ð<Ø(ô
ˆ÷
ô ×Ñ˜(¤GÔ,Ü×Ñ˜'¤7Õ+÷!
ð 
ús   •<BÂBc                ó  — |}|}||k(  rt        j                  |› d|› �«       t        dft        dft        dft        dfdœ}t        dd¬	«      }|�|j                  d
f|d<   t        dd¬	«      }|�t        df|d<   ||   \  }}	t        j                  «       5 }
t        j                  |
| |¬«       t        j                  ||	¬«      5  t        |
| |¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nz == zInvalid data streamzNot a gzipped filezFile is not a zip filez%file could not be opened successfully)Úbz2ÚgzipÚzipÚtarÚ	zstandardÚignore)ÚerrorszUnknown frame descriptorÚzstdÚlzmaz%Input format not supported by decoderÚxzr¼  r6   )r8   ÚskipÚOSErrorr
   r   r   Ú	ZstdErrorr   r:   rW   r¾  r¿  r·   r   )rQ   r`   rd   Úactual_compressionÚattempted_compressionrê  rë  rì  Ú	error_clsÚ	error_strr\   s              r@   Útest_wrong_compressionrõ  ¥  s)  € Ø$ÐØ,ÐàÐ2Ò2Ü�‰Ð)Ð*¨$Ð/DÐ.EÐFÔGô Ð.Ð/ÜÐ.Ð/ÜÐ4Ð5ÜÐBÐCñ	€Fô & k¸(ÔC€DØÐØŸ.™.Ð*DÐEˆˆv‰Ü% f°XÔ>€DØÐÜ!Ð#JÐKˆˆt‰Ø!Ð"7Ñ8Ñ€Iˆyä	�‰Ó	ð M˜dÜ�‰�t FÐ8JˆÔKä�]‰]˜9¨IÔ6ñ 	MÜ�T &Ð6KÕL÷	M÷Mð M÷	Mð 	Mú÷Mð Mús$   Â0C5Ã	C)ÃC5Ã)C2	Ã.C5Ã5C>c                óÒ   — t        j                  t        d¬«      5  t        j                  «       5 }t        || d¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NzUnrecognized compression typer6   Ú7zr¼  )r8   r·   rÛ   r:   rW   r   )rQ   r\   s     r@   Útest_unsuported_compressionrø  Á  sX   € Ü	�‰”zÐ)HÔ	Iñ <Ü�_‰_Óð 	< $Ü�T &°dÕ;÷	<÷<ð <÷	<ð 	<ú÷<ð <ús"   œA±AÁ AÁA	ÁAÁA&c                óÜ   — t        j                  d«       t        j                  d«       d| j                  › d�}t        |d|¬«      }t        |d|¬«      }t	        j
                  ||«       y )NÚs3fsr4   zs3://z
/books.xml)rQ   Ústorage_optionsrO   )r8   r9   r.   r   r:   rs   )Ús3_public_bucket_with_dataÚs3soÚs3rþ   rÿ   s        r@   Útest_s3_parser_consistencyrÿ  Ê  sb   € ô ×Ñ˜ÔÜ
×Ñ˜ÔØÐ+×0Ñ0Ð1°Ð	<€Bä�r &¸$Ô?€Gä˜ 7¸DÔA€Hä×Ñ˜' 8Õ,rM   c                óv  — d}|rOt        j                  d«      }t        |j                  ddg«      «      }t        |j                  dd g«      «      }�n
|dk(  ret	        t        j                  ddgt
        j                  ¬«      «      }t	        t        j                  dt        gt
        j                  ¬«      «      }n |dk(  rNt        j                  d«      }ddlm	}  ||j                  ddg«      «      } ||j                  dd g«      «      }nMt        j                  d«      }t        |j                  ddg«      «      }t        |j                  dd g«      «      }t        j                  d	|«      5  t        t        |«      | |¬
«      }	d d d «       t        |t!        ddgd¬«      t!        ddgd¬«      |t!        dt        gd¬«      t!        dt        gd¬«      t!        t        t        gd¬«      t!        ddgd¬«      t!        dt        gd¬«      dœ	«      }
|dk(  rut        j                  d«      }ddlm	} t        |
j"                  D �ci c]  }| ||j                  |
|   d¬«      «      “Œ! c}«      }
 ||j                  d d g«      «      |
d<   t%        j&                  	|
«       y # 1 sw Y   �ŒxY wc c}w )Na;  <?xml version='1.0' encoding='utf-8'?>
<data xmlns="http://example.com">
<row>
  <a>x</a>
  <b>1</b>
  <c>4.0</c>
  <d>x</d>
  <e>2</e>
  <f>4.0</f>
  <g></g>
  <h>True</h>
  <i>False</i>
</row>
<row>
  <a>y</a>
  <b>2</b>
  <c>5.0</c>
  <d></d>
  <e></e>
  <f></f>
  <g></g>
  <h>False</h>
  <i></i>
</row>
</data>ÚpyarrowÚxÚyÚpythonrÓ   r   )ÚArrowExtensionArrayzmode.string_storage)rQ   Údtype_backendr)   r*   ÚInt64rð   g      @ÚFloat64TFÚboolean)	r¬   r²  rq  ÚdÚer]   ÚgÚhÚi)Úfrom_pandasr  )r8   r9   r   Úarrayr   ÚnpÚobject_r   Úpandas.arraysr  r   ÚpdÚoption_contextr   r   r   r   Úcolumnsr:   rs   )rQ   Ústring_storager  Úusing_infer_stringrZ   ÚpaÚstring_arrayÚstring_array_nar  rr  rs  Úcols               r@   Útest_read_xml_nullable_dtypesr  Ø  s^  € ð€Dñ4 Ü× Ñ  Ó+ˆÜ5°b·h±hÀÀS¸zÓ6JÓKˆÜ8¸¿¹À3ÈÀ+Ó9NÓOŠà	˜8Ò	#Ü"¤2§8¡8¨S°#¨J¼b¿j¹jÔ#IÓJˆÜ%¤b§h¡h°´R¨yÄÇ
Á
Ô&KÓL‰à	˜)Ò	#Ü× Ñ  Ó+ˆÝ5á*¨2¯8©8°S¸#°JÓ+?Ó@ˆÙ-¨b¯h©h¸¸T°{Ó.CÓD‰ô × Ñ  Ó+ˆÜ'¨¯©°#°s°Ó(<Ó=ˆÜ*¨2¯8©8°S¸$°KÓ+@ÓAˆä	×	Ñ	Ð0°.Ó	Añ VÜœ( 4›.°À}ÔUˆ÷Vô àÜ˜˜A˜ gÔ.Ü˜˜c˜
¨)Ô4Ø Ü˜œB˜ wÔ/Ü˜œb˜	¨Ô3ÜœœR˜¨Ô0Ü˜˜u˜¨YÔ7Ü˜¤˜¨9Ô5ñ
	
ó€Hð ˜	Ò!Ü× Ñ  Ó+ˆÝ5äð $×+Ñ+öàð Ñ(¨¯©°(¸3±-ÈT¨Ó)RÓSÑSòó
ˆñ ,¨B¯H©H°d¸D°\Ó,BÓCˆ�‰ä×Ñ˜& (Õ+÷;Vñ Vüò,s   Å4J)É$J6Ê)J3c                 ó‚   — d} t        j                  t        | ¬«      5  t        dd¬«       d d d «       y # 1 sw Y   y xY w)NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r6   ÚtestÚnumpy)r  r  r>   s    r@   Útest_invalid_dtype_backendr!  +  s;   € ð	!ð ô 
�‰”z¨Ô	-ñ 0Ü� wÕ/÷0÷ 0ñ 0ús   ž5µ>)�Ú
__future__r   Úior   r   rì  r   rÀ   Útarfiler   Úurllib.errorr   Úxml.etree.ElementTreer	   Úzipfiler
   r   r  r8   Úpandas.compat._optionalr   Úpandas.errorsr   r   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr  r   r   r   Úpandas._testingÚ_testingr:   Úpandas.core.arraysr   r   Úpandas.core.arrays.string_arrowr   Úpandas.io.commonr   Úpandas.io.xmlr   rñ   r¾  r=   rú   r�  rA   ÚfixturerK   rH   Ú
skip_if_norQ   r^   rf   ry   ÚmarkÚnetworkÚ
single_cpurƒ   r’   r˜   rž   r¡   r©   r¯   r²   Úparametrizer»   r½   rÂ   rÊ   rÎ   r×   rÝ   rã   rè   rö   rû   r   r  r  r
  r  r  r  r  r  r  r#  r&  r.  r7  rC  rI  rM  rO  rS  rY  r^  ra  rd  rl  ro  rt  Úskip_if_installedrw  rz  r„  r‡  r‹  r�  r’  r–  rš  r�  r   r¤  r¦  r¨  r«  r¯  r´  r¹  rÀ  rÂ  rÄ  rÈ  rË  rÍ  rÐ  rØ  rÛ  rà  râ  rõ  rø  rÿ  r  r!  © rM   r@   ú<module>r=     sÉ  ðÝ "÷õ Û 	Ý Ý "Ý ,Ý ã Û å >÷÷ *Ð )ã ÷ñ õ
 ÷õ Kå 'Ý "ñl â1Ú"Ø�R—V‘V˜Q�ñó€ðÐ ð(€ñ* 
ð ØØØØñ
ð )Ø!Ø!Ø!Ø!ñ
ð ØØØØñ
ð ˜Q 1¨¨qÑ1à Ø Ø Ø Ø ñ
ð9ð9ð9ð&9ð$9ñuI
ñ=hój
€òZ
#ð €‡�˜˜c�{Ô#ñó $ðð €‡�˜˜Ÿ™ V°=°2·=±=ÀÓ3HÔIÈ7ÐSÔTñó Uðò(ò,ò7ð* ‡�×ÑØ‡�×Ññ
-ó ó ð
-ò0ò".ò,/ò0/ò2/ò0ò>ð ‡�×Ñ˜  S 	Ó*ñ2ó +ð2ð" ‡�×Ñ˜  S 	Ó*ñ3ó +ð3ò*ð ‡�×ÑØ‡�×Ññ/ó ó ð/ð& ‡�×ÑØ‡�×ÑñMó ó ðMò.0òh>ò?ò>ò0ò40ò.-ò&-ò,Aò
Oò
Nð ‡�×Ñ˜  T 
Ó+ñ

ó ,ð

ò 0ò*0ò0ò(VòOò0Oò2òJ0ò2#0òL'0òT.0òbKò
Eò0ò
CòBò
Bò
7ò.
?ò
,ð  €×Ñ�fÓñó ðò*ò+ò6
,ò,ò,,ò-ò:;ò5ò:5ò65ò&	5òò"Qð ‡�×Ñ˜  S 	Ó*ñ
&ó +ð
&ò4òD'2ðT ‡�×ÑØ‡�×Ññ
ó ó ð
òò
òKò&òR 0òF!0òH!0òH
ò
òJ/ò`,ò(Mò8<ð ‡�×ÑØ‡�×Ññ	-ó ó ð	-òP,óf0rM   