
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,aÙ ã                   @   s®  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gZ dZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
 G dd	„ d	eƒZdd„ ZG d d„ dƒZi fd!d„Zd\d"d „Zd]d#d„ZeZG d$d„ dƒZG d%d„ dƒZejd&d'„ ƒZd^d(d)„Zd*d+„ Zd,ZzeeƒZW n ek
�r*   Y nX d-d.„ Zd/d0„ Zeeed1œZd2d„ Zd3d4d5d6d7d8d9d:œZ e e_ d;d<„ Z!d=d>„ Z"d?d@„ Z#dAdB„ Z$d_dddCdDœdEd„Z%G dFdG„ dGej&ƒZ'd`dddCdDœdHd„Z(dId„ Z)dadJd„Z*dbdKd„Z+G dLd„ dƒZ,dcdMd„Z-dddNd„Z.e-Z/dedOd„Z0G dPd„ dƒZ1G dQd„ dƒZ2dfdddRœdSd„Z3e 4dTej5¡j6Z7G dUd„ dƒZ8dVdW„ Z9dXdY„ Z:zeZ;ddZl<T dd[l<m=Z= W n e>k
�rž   Y nX e=eeƒ dS )gÚCommentÚdumpÚElementÚElementTreeÚ
fromstringÚfromstringlistÚ	iselementÚ	iterparseÚparseÚ
ParseErrorÚPIÚProcessingInstructionÚQNameÚ
SubElementÚtostringÚtostringlistÚTreeBuilderÚVERSIONÚXMLÚXMLIDÚ	XMLParserÚXMLPullParserÚregister_namespaceÚcanonicalizeÚC14NWriterTargetz1.3.0é    Né   )ÚElementPathc                   @   s   e Zd ZdS )r
   N)Ú__name__Ú
__module__Ú__qualname__© r    r    ú:/opt/alt/python38/lib64/python3.8/xml/etree/ElementTree.pyr
   j   s   	c                 C   s
   t | dƒS )NÚtag)Úhasattr)Úelementr    r    r!   r   x   s    c                   @   s  e Zd ZdZdZdZdZi fdd„Zdd„ Zdd„ Z	dd	„ Z
d
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd8d d!„Zd9d"d#„Zd:d$d%„Zd;d&d'„Zd(d)„ Zd<d*d+„Zd,d-„ Zd.d/„ Zd0d1„ Zd=d2d3„Zd>d4d5„Z d6d7„ Z!dS )?r   Nc                 K   s6   t |tƒstd|jjf ƒ‚|| _||–| _g | _d S )Nzattrib must be dict, not %s)Ú
isinstanceÚdictÚ	TypeErrorÚ	__class__r   r"   ÚattribÚ	_children)Úselfr"   r)   Úextrar    r    r!   Ú__init__©   s    
ÿ
zElement.__init__c                 C   s   d| j j| jt| ƒf S )Nz<%s %r at %#x>)r(   r   r"   Úid©r+   r    r    r!   Ú__repr__±   s    zElement.__repr__c                 C   s   |   ||¡S ©N)r(   )r+   r"   r)   r    r    r!   Úmakeelement´   s    	zElement.makeelementc                 C   s0   |   | j| j¡}| j|_| j|_| |d d …< |S r1   )r2   r"   r)   ÚtextÚtail)r+   Úelemr    r    r!   Úcopy¿   s
    zElement.copyc                 C   s
   t | jƒS r1   )Úlenr*   r/   r    r    r!   Ú__len__Ì   s    zElement.__len__c                 C   s   t jdtdd� t| jƒdkS )NzyThe behavior of this method will change in future versions.  Use specific 'len(elem)' or 'elem is not None' test instead.é   ©Ú
stacklevelr   )ÚwarningsÚwarnÚFutureWarningr7   r*   r/   r    r    r!   Ú__bool__Ï   s     ýzElement.__bool__c                 C   s
   | j | S r1   ©r*   ©r+   Úindexr    r    r!   Ú__getitem__×   s    zElement.__getitem__c                 C   s8   t |tƒr |D ]}|  |¡ qn
|  |¡ || j|< d S r1   )r%   ÚsliceÚ_assert_is_elementr*   )r+   rB   r$   Zeltr    r    r!   Ú__setitem__Ú   s
    

zElement.__setitem__c                 C   s   | j |= d S r1   r@   rA   r    r    r!   Ú__delitem__â   s    zElement.__delitem__c                 C   s   |   |¡ | j |¡ d S r1   ©rE   r*   Úappend©r+   Ú
subelementr    r    r!   rI   å   s    
zElement.appendc                 C   s$   |D ]}|   |¡ | j |¡ qd S r1   rH   )r+   Úelementsr$   r    r    r!   Úextendð   s    
zElement.extendc                 C   s   |   |¡ | j ||¡ d S r1   )rE   r*   Úinsert)r+   rB   rK   r    r    r!   rN   ú   s    
zElement.insertc                 C   s    t |tƒstdt|ƒj ƒ‚d S )Nzexpected an Element, not %s)r%   Ú_Element_Pyr'   Útyper   )r+   Úer    r    r!   rE   ÿ   s    
zElement._assert_is_elementc                 C   s   | j  |¡ d S r1   )r*   ÚremoverJ   r    r    r!   rR     s    zElement.removec                 C   s   t jdtdd� | jS )NzaThis method will be removed in future versions.  Use 'list(elem)' or iteration over elem instead.r9   r:   )r<   r=   ÚDeprecationWarningr*   r/   r    r    r!   Úgetchildren  s     ýzElement.getchildrenc                 C   s   t  | ||¡S r1   )r   Úfind©r+   ÚpathÚ
namespacesr    r    r!   rU   !  s    	zElement.findc                 C   s   t  | |||¡S r1   )r   Úfindtext©r+   rW   ÚdefaultrX   r    r    r!   rY   ,  s    zElement.findtextc                 C   s   t  | ||¡S r1   )r   ÚfindallrV   r    r    r!   r\   :  s    	zElement.findallc                 C   s   t  | ||¡S r1   )r   ÚiterfindrV   r    r    r!   r]   E  s    	zElement.iterfindc                 C   s    | j  ¡  g | _d  | _| _d S r1   )r)   Úclearr*   r3   r4   r/   r    r    r!   r^   P  s    
zElement.clearc                 C   s   | j  ||¡S r1   )r)   Úget)r+   Úkeyr[   r    r    r!   r_   [  s    zElement.getc                 C   s   || j |< d S r1   )r)   )r+   r`   Úvaluer    r    r!   Úseth  s    zElement.setc                 C   s
   | j  ¡ S r1   )r)   Úkeysr/   r    r    r!   rc   r  s    zElement.keysc                 C   s
   | j  ¡ S r1   )r)   Úitemsr/   r    r    r!   rd   {  s    	zElement.itemsc                 c   sD   |dkrd }|d ks| j |kr$| V  | jD ]}| |¡E d H  q*d S )NÚ*)r"   r*   Úiter)r+   r"   rQ   r    r    r!   rf   †  s    
zElement.iterc                 C   s   t jdtdd� t|  |¡ƒS )NzbThis method will be removed in future versions.  Use 'elem.iter()' or 'list(elem.iter())' instead.r9   r:   ©r<   r=   rS   Úlistrf   ©r+   r"   r    r    r!   Úgetiterator�  s     ýzElement.getiteratorc                 c   sX   | j }t|tƒs|d k	rd S | j}|r,|V  | D ]"}| ¡ E d H  |j}|r0|V  q0d S r1   )r"   r%   Ústrr3   Úitertextr4   )r+   r"   ÚtrQ   r    r    r!   rl   ¥  s    zElement.itertext)N)NN)N)N)N)N)N)"r   r   r   r"   r)   r3   r4   r-   r0   r2   r6   r8   r?   rC   rF   rG   rI   rM   rN   rE   rR   rT   rU   rY   r\   r]   r^   r_   rb   rc   rd   rf   rj   rl   r    r    r    r!   r   }   s>   	






	

c                 K   s"   ||–}|   ||¡}|  |¡ |S r1   )r2   rI   )Úparentr"   r)   r,   r$   r    r    r!   r   ¹  s    
c                 C   s   t tƒ}| |_|S r1   )r   r   r3   )r3   r$   r    r    r!   r   Ë  s    	c                 C   s&   t tƒ}| |_|r"|jd | |_|S )Nú )r   r   r3   )Útargetr3   r$   r    r    r!   r   Ù  s
    
c                   @   sV   e Zd Zddd„Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dd„ Z
dd„ ZdS )r   Nc                 C   s   |rd||f }|| _ d S )Nz{%s}%s©r3   )r+   Ztext_or_urir"   r    r    r!   r-   ú  s    zQName.__init__c                 C   s   | j S r1   rq   r/   r    r    r!   Ú__str__þ  s    zQName.__str__c                 C   s   d| j j| jf S )Nz<%s %r>)r(   r   r3   r/   r    r    r!   r0      s    zQName.__repr__c                 C   s
   t | jƒS r1   )Úhashr3   r/   r    r    r!   Ú__hash__  s    zQName.__hash__c                 C   s    t |tƒr| j|jkS | j|kS r1   ©r%   r   r3   ©r+   Úotherr    r    r!   Ú__le__  s    
zQName.__le__c                 C   s    t |tƒr| j|jk S | j|k S r1   ru   rv   r    r    r!   Ú__lt__  s    
zQName.__lt__c                 C   s    t |tƒr| j|jkS | j|kS r1   ru   rv   r    r    r!   Ú__ge__  s    
zQName.__ge__c                 C   s    t |tƒr| j|jkS | j|kS r1   ru   rv   r    r    r!   Ú__gt__  s    
zQName.__gt__c                 C   s    t |tƒr| j|jkS | j|kS r1   ru   rv   r    r    r!   Ú__eq__  s    
zQName.__eq__)N)r   r   r   r-   rr   r0   rt   rx   ry   rz   r{   r|   r    r    r    r!   r   ì  s   
c                   @   s„   e Zd Zddd„Zdd„ Zdd„ Zddd	„Zdd
d„Zddd„Zd dd„Z	d!dd„Z
d"dd„Zd#dd„Zd$ddœdd„Zdd„ ZdS )%r   Nc                 C   s   || _ |r|  |¡ d S r1   )Ú_rootr	   )r+   r$   Úfiler    r    r!   r-   '  s    zElementTree.__init__c                 C   s   | j S r1   ©r}   r/   r    r    r!   Úgetroot-  s    zElementTree.getrootc                 C   s
   || _ d S r1   r   )r+   r$   r    r    r!   Ú_setroot1  s    zElementTree._setrootc                 C   sŽ   d}t |dƒst|dƒ}d}z^|d krLtƒ }t |dƒrL| |¡| _| jW ¢2S | d¡}|s\qh| |¡ qL| ¡ | _| jW ¢S |rˆ| ¡  X d S )NFÚreadÚrbTÚ_parse_wholei   )r#   ÚopenÚcloser   r„   r}   r‚   Úfeed)r+   ÚsourceÚparserÚclose_sourceÚdatar    r    r!   r	   ;  s$    






zElementTree.parsec                 C   s   | j  |¡S r1   )r}   rf   ri   r    r    r!   rf   `  s    
zElementTree.iterc                 C   s   t jdtdd� t|  |¡ƒS )NzbThis method will be removed in future versions.  Use 'tree.iter()' or 'list(tree.iter())' instead.r9   r:   rg   ri   r    r    r!   rj   m  s     ýzElementTree.getiteratorc                 C   s:   |d d… dkr,d| }t jd| tdd� | j ||¡S ©Nr   ú/Ú.z‡This search is broken in 1.3 and earlier, and will be fixed in a future version.  If you rely on the current behaviour, change it to %rr9   r:   )r<   r=   r>   r}   rU   rV   r    r    r!   rU   u  s    þ üzElementTree.findc                 C   s<   |d d… dkr,d| }t jd| tdd� | j |||¡S rŒ   )r<   r=   r>   r}   rY   rZ   r    r    r!   rY   ‹  s    þ üzElementTree.findtextc                 C   s:   |d d… dkr,d| }t jd| tdd� | j ||¡S rŒ   )r<   r=   r>   r}   r\   rV   r    r    r!   r\   ¡  s    þ üzElementTree.findallc                 C   s:   |d d… dkr,d| }t jd| tdd� | j ||¡S rŒ   )r<   r=   r>   r}   r]   rV   r    r    r!   r]   ·  s    þ üzElementTree.iterfindT©Úshort_empty_elementsc             	   C   sÞ   |s
d}n|t krtd| ƒ‚|s4|dkr0d}nd}| ¡ }t||ƒ�Ž}|dkrŽ|sd|d krŽ|dkrŽ|}	|dkr€dd l}
|
 ¡ }	|d	|	f ƒ |d
kr¤t|| jƒ n,t| j|ƒ\}}t | }||| j|||d� W 5 Q R X d S )NÚxmlzunknown method %rÚc14núutf-8úus-ascii)r“   r”   Úunicoder•   r   z$<?xml version='1.0' encoding='%s'?>
r3   r�   )	Ú
_serializeÚ
ValueErrorÚlowerÚ_get_writerÚlocaleZgetpreferredencodingÚ_serialize_textr}   Ú_namespaces)r+   Úfile_or_filenameÚencodingÚxml_declarationÚdefault_namespaceÚmethodr�   Z	enc_lowerÚwriteZdeclared_encodingrš   ÚqnamesrX   Z	serializer    r    r!   r¢   Í  s:    ÿþÿÿzElementTree.writec                 C   s   | j |dd�S )Nr’   )r¡   )r¢   )r+   r~   r    r    r!   Ú
write_c14n  s    zElementTree.write_c14n)NN)N)N)N)N)NN)N)N)NNNN)r   r   r   r-   r€   r�   r	   rf   rj   rU   rY   r\   r]   r¢   r¤   r    r    r    r!   r     s$   


%





    üû:c                 c   s"  z
| j }W nP tk
rZ   |dkr.t| dƒ}nt| d|dd�}|� |j V  W 5 Q R X Y nÄX |dkrl|V  n²t ¡ �¤}t| tjƒrˆ| }nft| tjƒr¬t 	| ¡}| 
|j¡ nBt ¡ }dd„ |_||_ z| j|_| j|_W n tk
rì   Y nX tj||ddd�}| 
|j¡ |j V  W 5 Q R X d S )	Nr•   ÚwÚxmlcharrefreplace)rž   Úerrorsc                   S   s   dS ©NTr    r    r    r    r!   Ú<lambda>0  ó    z_get_writer.<locals>.<lambda>Ú
)rž   r§   Únewline)r¢   ÚAttributeErrorr…   Ú
contextlibÚ	ExitStackr%   ÚioÚBufferedIOBaseÚ	RawIOBaseÚBufferedWriterÚcallbackÚdetachÚwritableÚseekableÚtellÚTextIOWrapper)r�   rž   r¢   r~   Ústackr    r    r!   r™     sB    
ÿ


ýr™   c                    s  d d i‰i ‰ˆ rdˆˆ < ‡ ‡‡fdd„}|   ¡ D ]Ú} | j}t|tƒrZ|jˆkr–||jƒ n<t|tƒrv|ˆkr–||ƒ n |d k	r–|tk	r–|tk	r–t|ƒ |  	¡ D ]F\}}t|tƒr¶|j}|ˆkrÆ||ƒ t|tƒrž|jˆkrž||jƒ qž| j}t|tƒr0|jˆkr0||jƒ q0ˆˆfS )NÚ c                    sÂ   z | d d… dkrŠ| dd …   dd¡\}}ˆ |¡}|d krjt |¡}|d krZdtˆƒ }|dkrj|ˆ|< |r€d||f ˆ| < qž|ˆ| < nˆ r–tdƒ‚| ˆ| < W n tk
r¼   t| ƒ Y nX d S )Nr   Ú{Ú}zns%dr‘   z%s:%sz<cannot use non-qualified names with default_namespace option)Úrsplitr_   Ú_namespace_mapr7   r—   r'   Ú_raise_serialization_error)ÚqnameÚurir"   Úprefix©r    rX   r£   r    r!   Ú	add_qnameM  s(    


ÿz_namespaces.<locals>.add_qname)
rf   r"   r%   r   r3   rk   r   r   rÀ   rd   )r5   r    rÅ   r"   r`   ra   r3   r    rÄ   r!   rœ   B  s4    




rœ   c                 K   s´  |j }|j}|tkr$| d| ƒ �nv|tkr<| d| ƒ �n^|| }|d kr||r\| t|ƒƒ |D ]}t| ||d |d� q`�n| d| ƒ t| ¡ ƒ}	|	sž|�r2|ràt| ¡ dd„ d�D ](\}
}|rÊd| }| d	|t	|
ƒf ƒ q¶|	D ]L\}}
t
|tƒrü|j}t
|
tƒ�r||
j }
nt	|
ƒ}
| d
|| |
f ƒ qä|�sHt|ƒ�sH|�s’| dƒ |�rb| t|ƒƒ |D ]}t| ||d |d� �qf| d| d ƒ n| dƒ |j�r°| t|jƒƒ d S )Nú	<!--%s-->ú<?%s?>r�   ú<c                 S   s   | d S ©Nr   r    ©Úxr    r    r!   r©   •  rª   z _serialize_xml.<locals>.<lambda>©r`   ú:ú xmlns%s="%s"ú %s="%s"ú>ú</z />)r"   r3   r   r   Ú_escape_cdataÚ_serialize_xmlrh   rd   ÚsortedÚ_escape_attribr%   r   r7   r4   )r¢   r5   r£   rX   r�   Úkwargsr"   r3   rQ   rd   ÚvÚkr    r    r!   rÓ     s\    
ÿ
ÿþ


ÿ
rÓ   )ZareaÚbaseZbasefontÚbrÚcolÚframeZhrZimgÚinputZisindexÚlinkÚmetaZparamc                 K   sÆ  |j }|j}|tkr(| dt|ƒ ƒ �n„|tkrD| dt|ƒ ƒ �nh|| }|d kr€|rd| t|ƒƒ |D ]}t| ||d ƒ qh�n,| d| ƒ t| ¡ ƒ}|s¢|�r8|rät| ¡ dd„ d�D ](\}	}
|
rÎd|
 }
| d|
t	|	ƒf ƒ qº|D ]N\}
}	t
|
tƒ�r|
j}
t
|	tƒ�r||	j }	nt|	ƒ}	| d	||
 |	f ƒ qè| d
ƒ | ¡ }|�rx|dk�sb|dk�rl| |ƒ n| t|ƒƒ |D ]}t| ||d ƒ �q||tk�r¬| d| d
 ƒ |j�rÂ| t|jƒƒ d S )NrÆ   rÇ   rÈ   c                 S   s   | d S rÉ   r    rÊ   r    r    r!   r©   Í  rª   z!_serialize_html.<locals>.<lambda>rÌ   rÍ   rÎ   rÏ   rÐ   ZscriptZstylerÑ   )r"   r3   r   rÒ   r   Ú_serialize_htmlrh   rd   rÔ   rÕ   r%   r   Ú_escape_attrib_htmlr˜   Ú
HTML_EMPTYr4   )r¢   r5   r£   rX   rÖ   r"   r3   rQ   rd   r×   rØ   Zltagr    r    r!   rà   ¹  sX    
ÿþ


rà   c                 C   s*   |  ¡ D ]}| |ƒ q|jr&| |jƒ d S r1   )rl   r4   )r¢   r5   Úpartr    r    r!   r›   ë  s    
r›   )r‘   Úhtmlr3   c                 C   sL   t  d| ¡rtdƒ‚tt ¡ ƒD ]\}}||ks8|| kr t|= q | t|< d S )Nzns\d+$z'Prefix format reserved for internal use)ÚreÚmatchr—   rh   r¿   rd   )rÃ   rÂ   rØ   r×   r    r    r!   r   ú  s    r‘   rä   ZrdfZwsdlZxsZxsiZdc)ú$http://www.w3.org/XML/1998/namespacezhttp://www.w3.org/1999/xhtmlz+http://www.w3.org/1999/02/22-rdf-syntax-ns#z http://schemas.xmlsoap.org/wsdl/z http://www.w3.org/2001/XMLSchemaz)http://www.w3.org/2001/XMLSchema-instancez http://purl.org/dc/elements/1.1/c                 C   s   t d| t| ƒjf ƒ‚d S )Nzcannot serialize %r (type %s))r'   rP   r   rq   r    r    r!   rÀ     s    ÿrÀ   c              	   C   sh   zBd| kr|   dd¡} d| kr*|   dd¡} d| kr>|   dd¡} | W S  ttfk
rb   t| ƒ Y nX d S )Nú&ú&amp;rÈ   ú&lt;rÐ   ú&gt;©Úreplacer'   r­   rÀ   rq   r    r    r!   rÒ   !  s    rÒ   c              	   C   sÌ   z¦d| kr|   dd¡} d| kr*|   dd¡} d| kr>|   dd¡} d| krR|   dd¡} d	| krf|   d	d
¡} d| krz|   dd
¡} d
| krŽ|   d
d¡} d| kr¢|   dd¡} | W S  ttfk
rÆ   t| ƒ Y nX d S )Nrè   ré   rÈ   rê   rÐ   rë   ú"ú&quot;z
r«   úz&#10;ú	z&#09;rì   rq   r    r    r!   rÕ   1  s(    rÕ   c              	   C   sh   zBd| kr|   dd¡} d| kr*|   dd¡} d| kr>|   dd¡} | W S  ttfk
rb   t| ƒ Y nX d S )Nrè   ré   rÐ   rë   rî   rï   rì   rq   r    r    r!   rá   M  s    rá   T)rŸ   r    r�   c                C   s:   |dkrt  ¡ nt  ¡ }t| ƒj||||||d� | ¡ S )Nr•   ©rŸ   r    r¡   r�   )r°   ÚStringIOÚBytesIOr   r¢   Úgetvalue)r$   rž   r¡   rŸ   r    r�   Ústreamr    r    r!   r   \  s    üc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )Ú_ListDataStreamc                 C   s
   || _ d S r1   )Úlst)r+   rø   r    r    r!   r-   v  s    z_ListDataStream.__init__c                 C   s   dS r¨   r    r/   r    r    r!   r¶   y  s    z_ListDataStream.writablec                 C   s   dS r¨   r    r/   r    r    r!   r·   |  s    z_ListDataStream.seekablec                 C   s   | j  |¡ d S r1   )rø   rI   )r+   Úbr    r    r!   r¢     s    z_ListDataStream.writec                 C   s
   t | jƒS r1   )r7   rø   r/   r    r    r!   r¸   ‚  s    z_ListDataStream.tellN)r   r   r   r-   r¶   r·   r¢   r¸   r    r    r    r!   r÷   t  s
   r÷   c                C   s*   g }t |ƒ}t| ƒj||||||d� |S )Nrò   )r÷   r   r¢   )r$   rž   r¡   rŸ   r    r�   rø   rö   r    r    r!   r   …  s    üc                 C   sL   t | tƒst| ƒ} | jtjdd� |  ¡ j}|r<|d dkrHtj d¡ d S )Nr•   )rž   éÿÿÿÿr«   )r%   r   r¢   ÚsysÚstdoutr€   r4   )r5   r4   r    r    r!   r   ’  s    

c                 C   s   t ƒ }| | |¡ |S r1   )r   r	   )rˆ   r‰   Útreer    r    r!   r	   ¨  s    	c                    sf   t ||d�‰‡ ‡‡‡fdd„‰G ‡fdd„dtjjƒ}|ƒ ‰d ˆ_Š~d‰ tˆdƒsbtˆdƒ‰d	‰ ˆS )
N)ÚeventsÚ_parserc                  3   s^   zJˆ ¡ E d H  ˆ d¡} | s q,ˆ | ¡ qˆ ¡ }ˆ ¡ E d H  |ˆ_W 5 ˆ rXˆ  ¡  X d S )Ni @  )r†   Úread_eventsr‚   r‡   Ú_close_and_return_rootÚroot)r‹   r  )rŠ   ÚitÚ
pullparserrˆ   r    r!   ÚiteratorÈ  s    

ziterparse.<locals>.iteratorc                       s   e Zd Z” ƒ jZdS )z$iterparse.<locals>.IterParseIteratorN)r   r   r   Ú__next__r    )r  r    r!   ÚIterParseIteratorØ  s   r  Fr‚   rƒ   T)r   ÚcollectionsÚabcÚIteratorr  r#   r…   )rˆ   rþ   r‰   r  r    )rŠ   r  r  r  rˆ   r!   r   ¶  s    

c                   @   s<   e Zd Zdddœdd„Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )r   N)rÿ   c                C   s<   t  ¡ | _|pttƒ d�| _|d kr(d}| j | j|¡ d S )N©rp   )Úend)r  ÚdequeÚ_events_queuer   r   rÿ   Ú
_setevents)r+   rþ   rÿ   r    r    r!   r-   è  s
    
zXMLPullParser.__init__c              
   C   sZ   | j d krtdƒ‚|rVz| j  |¡ W n. tk
rT } z| j |¡ W 5 d }~X Y nX d S )Nz!feed() called after end of stream)rÿ   r—   r‡   ÚSyntaxErrorr  rI   )r+   r‹   Úexcr    r    r!   r‡   ô  s    
zXMLPullParser.feedc                 C   s   | j  ¡ }d | _ |S r1   )rÿ   r†   )r+   r  r    r    r!   r  þ  s    
z$XMLPullParser._close_and_return_rootc                 C   s   |   ¡  d S r1   )r  r/   r    r    r!   r†     s    zXMLPullParser.closec                 c   s.   | j }|r*| ¡ }t|tƒr"|‚q|V  qd S r1   )r  Úpopleftr%   Ú	Exception)r+   rþ   Úeventr    r    r!   r     s    
zXMLPullParser.read_events)N)r   r   r   r-   r‡   r  r†   r   r    r    r    r!   r   æ  s
   
c                 C   s"   |st tƒ d�}| | ¡ | ¡ S ©Nr  ©r   r   r‡   r†   )r3   r‰   r    r    r!   r     s    
c                 C   sR   |st tƒ d�}| | ¡ | ¡ }i }| ¡ D ]}| d¡}|r.|||< q.||fS )Nr  r.   )r   r   r‡   r†   rf   r_   )r3   r‰   rý   Zidsr5   r.   r    r    r!   r   ,  s    



c                 C   s,   |st tƒ d�}| D ]}| |¡ q| ¡ S r  r  )Zsequencer‰   r3   r    r    r!   r   D  s
    	c                   @   sd   e Zd Zddddddœdd„Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Z	ddd„Z
dd„ ZdS )r   NF)Úcomment_factoryÚ
pi_factoryÚinsert_commentsÚ
insert_pisc                C   sd   g | _ g | _d | _d | _d | _|d kr*t}|| _|| _|d krBt}|| _	|| _
|d krZt}|| _d S r1   )Ú_dataÚ_elemÚ_lastr}   Ú_tailr   Ú_comment_factoryr  r   Ú_pi_factoryr  r   Ú_factory)r+   Zelement_factoryr  r  r  r  r    r    r!   r-   j  s     zTreeBuilder.__init__c                 C   s   | j S r1   r   r/   r    r    r!   r†   ~  s    zTreeBuilder.closec                 C   s>   | j r:| jd k	r4d | j ¡}| jr,|| j_n|| j_g | _ d S ©Nr»   )r  r  Újoinr  r4   r3   ©r+   r3   r    r    r!   Ú_flush„  s    

zTreeBuilder._flushc                 C   s   | j  |¡ d S r1   )r  rI   ©r+   r‹   r    r    r!   r‹   �  s    zTreeBuilder.datac                 C   sX   |   ¡  |  ||¡ | _}| jr2| jd  |¡ n| jd krB|| _| j |¡ d| _|S )Nrú   r   )r%  r!  r  r  rI   r}   r  )r+   r"   Úattrsr5   r    r    r!   Ústart”  s    
zTreeBuilder.startc                 C   s    |   ¡  | j ¡ | _d| _| jS rÉ   )r%  r  Úpopr  r  ri   r    r    r!   r  ¥  s    zTreeBuilder.endc                 C   s   |   | j| j|¡S r1   )Ú_handle_singler  r  r$  r    r    r!   Úcomment³  s
      ÿzTreeBuilder.commentc                 C   s   |   | j| j||¡S r1   )r*  r   r  )r+   rp   r3   r    r    r!   Úpi»  s       ÿzTreeBuilder.pic                 G   s:   ||Ž }|r6|   ¡  || _| jr0| jd  |¡ d| _|S )Nrú   r   )r%  r  r  rI   r  )r+   ÚfactoryrN   Úargsr5   r    r    r!   r*  Ä  s    zTreeBuilder._handle_single)N)N)r   r   r   r-   r†   r%  r‹   r(  r  r+  r,  r*  r    r    r    r!   r   V  s     þ
	c                   @   sl   e Zd Zdddœdd„Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ ZdS )r   N)rp   rž   c                C   sd  zddl m} W n> tk
rN   zdd l}W n tk
rH   tdƒ‚Y nX Y nX | |d¡}|d krjtƒ }| | _| _| | _| _	|j
| _i | _| j|_t|dƒrª| j|_t|dƒr¼| j|_t|dƒrÎ| j|_t|dƒrà| j|_t|d	ƒrò|j|_t|d
ƒ�r|j|_t|dƒ�r|j|_d|_d|_d|_ d | _!i | _"zd|j# | _$W n t%k
�r^   Y nX d S )Nr   ©Úexpatz7No module named expat; use SimpleXMLTreeBuilder insteadr½   r(  r  Ústart_nsÚend_nsr‹   r+  r,  r   zExpat %d.%d.%d)&Úxml.parsersr0  ÚImportErrorZpyexpatZParserCreater   r‰   rÿ   rp   Ú_targetÚerrorÚ_errorÚ_namesÚ_defaultZDefaultHandlerExpandr#   Ú_startÚStartElementHandlerÚ_endÚEndElementHandlerÚ	_start_nsÚStartNamespaceDeclHandlerÚ_end_nsÚEndNamespaceDeclHandlerr‹   ZCharacterDataHandlerr+  ÚCommentHandlerr,  ÚProcessingInstructionHandlerZbuffer_textÚordered_attributesÚspecified_attributesÚ_doctypeÚentityÚversion_infoÚversionr­   )r+   rp   rž   r0  r‰   r    r    r!   r-   Ú  sP    ÿ




zXMLParser.__init__c                 C   s8  | j }|j}|D �] }|dkrDd|_d|_||| jfdd„}||_q|dkrf||| jfdd„}||_q|dkr¤t| j	dƒrŽ||| j
fd	d„}n||fd
d„}||_q|dkrât| j	dƒrÌ||| jfdd„}n||fdd„}||_q|dk�r||| fdd„}||_q|dk�r&||| fdd„}||_qtd| ƒ‚qd S )Nr(  r   c                 S   s   |||| |ƒfƒ d S r1   r    )r"   Z	attrib_inr  rI   r(  r    r    r!   Úhandler  s    z%XMLParser._setevents.<locals>.handlerr  c                 S   s   |||| ƒfƒ d S r1   r    )r"   r  rI   r  r    r    r!   rJ    s    zstart-nsr1  c                 S   s   |||| |ƒfƒ d S r1   r    )rÃ   rÂ   r  rI   r1  r    r    r!   rJ  !  s    c                 S   s   ||| p
d|pdffƒ d S r"  r    )rÃ   rÂ   r  rI   r    r    r!   rJ  %  s    zend-nsr2  c                 S   s   |||| ƒfƒ d S r1   r    )rÃ   r  rI   r2  r    r    r!   rJ  +  s    c                 S   s   ||d fƒ d S r1   r    )rÃ   r  rI   r    r    r!   rJ  /  s    r+  c                 S   s   |||j  | ¡fƒ d S r1   )rp   r+  )r3   r  rI   r+   r    r    r!   rJ  3  s    r,  c                 S   s   |||j  | |¡fƒ d S r1   )rp   r,  )Z	pi_targetr‹   r  rI   r+   r    r    r!   rJ  7  s    zunknown event %r)rÿ   rI   rD  rE  r:  r;  r<  r=  r#   rp   r>  r?  r@  rA  rB  rC  r—   )r+   Zevents_queueZevents_to_reportr‰   rI   Z
event_namerJ  r    r    r!   r    sL    
ÿ
ÿ
ÿÿ

ÿ
zXMLParser._seteventsc                 C   s&   t |ƒ}|j|_|j|jf|_|‚d S r1   )r
   ÚcodeÚlinenoÚoffsetZposition)r+   ra   Úerrr    r    r!   Ú_raiseerror>  s    zXMLParser._raiseerrorc                 C   sF   z| j | }W n2 tk
r@   |}d|kr2d| }|| j |< Y nX |S )Nr½   r¼   )r8  ÚKeyError)r+   r`   Únamer    r    r!   Ú_fixnameD  s    zXMLParser._fixnamec                 C   s   | j  |pd|pd¡S r"  )rp   r1  ©r+   rÃ   rÂ   r    r    r!   r>  O  s    zXMLParser._start_nsc                 C   s   | j  |pd¡S r"  )rp   r2  )r+   rÃ   r    r    r!   r@  R  s    zXMLParser._end_nsc                 C   sR   | j }||ƒ}i }|rDtdt|ƒdƒD ]}||d  |||| ƒ< q&| j ||¡S )Nr   r9   r   )rR  Úranger7   rp   r(  )r+   r"   Ú	attr_listZfixnamer)   Úir    r    r!   r:  U  s    zXMLParser._startc                 C   s   | j  |  |¡¡S r1   )rp   r  rR  ri   r    r    r!   r<  a  s    zXMLParser._endc              	   C   sØ  |d d… }|dkr²z| j j}W n tk
r6   Y d S X z|| j|dd…  ƒ W nZ tk
r¬   ddlm} | d|| jj	| jj
f ¡}d|_| jj	|_| jj
|_|‚Y nX �n"|dkrÔ|d d	… d
krÔg | _�n | jd k	�rÔ|dkròd | _d S | ¡ }|�sd S | j |¡ t| jƒ}|dk�rÔ| jd }|dk�rd|dk�rd| j\}}}	}
|	�rŽ|	dd… }	n*|dk�rŠ|dk�rŠ| j\}}}
d }	nd S t| j dƒ�r¶| j  ||	|
dd… ¡ nt| dƒ�rÎt dt¡ d | _d S )Nr   rè   rú   r   r/  z'undefined entity %s: line %d, column %dé   rÈ   é	   z	<!DOCTYPErÐ   r9   ZPUBLICé   ZSYSTEMé   ÚdoctypezaThe doctype() method of XMLParser is ignored.  Define doctype() method on the TreeBuilder target.)rp   r‹   r­   rG  rP  r3  r0  r6  r‰   ZErrorLineNumberZErrorColumnNumberrK  rL  rM  rF  ÚstriprI   r7   r#   r[  r<   r=   ÚRuntimeWarning)r+   r3   rÃ   Zdata_handlerr0  rN  ÚnrP   rQ  ZpubidÚsystemr    r    r!   r9  d  sd    ÿÿÿ





ýzXMLParser._defaultc              
   C   sF   z| j  |d¡ W n. | jk
r@ } z|  |¡ W 5 d }~X Y nX d S )Nr   )r‰   ÚParser7  rO  )r+   r‹   r×   r    r    r!   r‡   š  s    zXMLParser.feedc              
   C   sŠ   z| j  dd¡ W n. | jk
r@ } z|  |¡ W 5 d }~X Y nX z0z| jj}W n tk
rd   Y nX |ƒ W ¢S W 5 | ` | `| `| `X d S )Nr»   r   )	r‰   r`  r7  rO  rÿ   rp   r5  r†   r­   )r+   r×   Zclose_handlerr    r    r!   r†   ¡  s    zXMLParser.close)r   r   r   r-   r  rO  rR  r>  r@  r:  r<  r9  r‡   r†   r    r    r    r!   r   Ð  s   
.66)ÚoutÚ	from_filec                K   sˆ   | d kr|d krt dƒ‚d }|d kr0t ¡  }}tt|jf|Žd�}| d k	r`| | ¡ | ¡  n|d k	rtt||d� |d k	r„| 	¡ S d S )Nz:Either 'xml_data' or 'from_file' must be provided as inputr  )r‰   )
r—   r°   ró   r   r   r¢   r‡   r†   r	   rõ   )Zxml_datara  rb  ZoptionsZsior‰   r    r    r!   r   ¶  s    

z	^\w+:\w+$c                   @   sŒ   e Zd Zddddddddœdd„Zefdd„Zdd	„ Zdd
d„Zdd„ Zdj	fdd„Z
dd„ Zdd„ Zddd„Zdd„ Zdd„ Zdd„ ZdS )r   FN)Úwith_commentsÚ
strip_textÚrewrite_prefixesÚqname_aware_tagsÚqname_aware_attrsÚexclude_attrsÚexclude_tagsc          	      C   sÎ   || _ g | _|| _|| _|r$t|ƒnd | _|r6t|ƒnd | _|| _|rRt|ƒ| _nd | _|rjt|ƒj	| _
nd | _
dgg| _g | _|s˜| j tt ¡ ƒ¡ | j g ¡ i | _dg| _d | _d| _d| _d| _d S )N)rç   r‘   Fr   )Ú_writer  Ú_with_commentsÚ_strip_textrb   Ú_exclude_attrsÚ_exclude_tagsÚ_rewrite_prefixesÚ_qname_aware_tagsÚintersectionÚ_find_qname_aware_attrsÚ_declared_ns_stackÚ	_ns_stackrI   rh   r¿   rd   Ú_prefix_mapÚ_preserve_spaceÚ_pending_startÚ
_root_seenÚ
_root_doneÚ_ignored_depth)	r+   r¢   rc  rd  re  rf  rg  rh  ri  r    r    r!   r-   í  s2    ÿzC14NWriterTarget.__init__c                 c   s    ||ƒD ]}|r|E d H  qd S r1   r    )r+   Zns_stackZ	_reversedrX   r    r    r!   Ú_iter_namespaces  s    z!C14NWriterTarget._iter_namespacesc                 C   s\   |  dd¡\}}|  | j¡D ]$\}}||krd|› d|› �  S qtd|› d|› d�ƒ‚d S )NrÍ   r   r¼   r½   zPrefix z of QName "ú" is not declared in scope)Úsplitr{  rt  r—   )r+   Zprefixed_namerÃ   rQ  rÂ   Úpr    r    r!   Ú_resolve_prefix_name  s
    z%C14NWriterTarget._resolve_prefix_namec                 C   sˆ  |d kr:|d d… dkr,|dd …   dd¡nd|f\}}n|}tƒ }|  | j¡D ]B\}}||krˆ||krˆ|rz|› d|› �n|||f  S | |¡ qP| jrò|| jkr°| j| }ndt| jƒ› � }| j|< | jd  ||f¡ |› d|› �||fS |�sd|k�r|||fS |  | j	¡D ]J\}}||k�r| jd  ||f¡ |�rR|› d|› �n|||f  S �q|�st|||fS t
d|› d	�ƒ‚d S )
Nr   r¼   r½   r»   rÍ   r^  rú   zNamespace "r|  )r¾   rb   r{  rs  Úaddro  ru  r7   rI   rt  r—   )r+   rÁ   rÂ   r"   Zprefixes_seenÚurÃ   r    r    r!   Ú_qname  s.    2 


&
zC14NWriterTarget._qnamec                 C   s   | j s| j |¡ d S r1   )rz  r  rI   r&  r    r    r!   r‹   C  s    zC14NWriterTarget.datar»   c                 C   s’   || j ƒ}| j d d …= | jr.| jd s.| ¡ }| jd k	rv| jd  }| _|rVt|ƒrV|nd }| j||fžŽ  |d k	rvd S |rŽ| jrŽ|  t	|ƒ¡ d S ©Nrú   )
r  rl  rv  r\  rw  Ú_looks_like_prefix_namer:  rx  rj  Ú_escape_cdata_c14n)r+   Z
_join_textr‹   r.  Ú
qname_textr    r    r!   r%  G  s    


zC14NWriterTarget._flushc                 C   s0   | j r
d S | jr|  ¡  | jd  ||f¡ d S rƒ  )rz  r  r%  rt  rI   rS  r    r    r!   r1  U  s
    zC14NWriterTarget.start_nsc                 C   s€   | j d k	r,| js|| j kr,|  jd7  _d S | jr:|  ¡  g }| j |¡ | jd k	rn|| jkrn|||f| _d S |  |||¡ d S rÉ   )	rn  rz  r  r%  rs  rI   rp  rw  r:  )r+   r"   r'  Únew_namespacesr    r    r!   r(  ]  s    
ÿÿzC14NWriterTarget.startc                    s  ˆj d k	r$|r$‡fdd„| ¡ D ƒ}|h|™}i }|d k	rVˆ |¡ }||< | |¡ ˆjd k	r°|r°ˆ |¡}|rª|D ]0}	||	 }
t|
ƒrvˆ |
¡ }||
< | |¡ qvq´d }nd }ˆj‰ ‡ fdd„t|dd„ d�D ƒ}|rôdd„ |D ƒ}| ¡  ng }|�rjt| ¡ ƒD ]^\}}|d k	�r@||k�r@||k�r@|||  d	 }|| \}}	}| 	|�r\|n|	|f¡ �q
| 
d
¡}ˆj 	|�rˆ|dknˆjd ¡ ˆj}|d|| d	  ƒ |�rÌ|d dd„ |D ƒ¡ƒ |dƒ |d k	�rö|t|||  d	 ƒƒ dˆ_ˆj 	g ¡ d S )Nc                    s    i | ]\}}|ˆ j kr||“qS r    )rm  ©Ú.0rØ   r×   r/   r    r!   Ú
<dictcomp>p  s     
  z+C14NWriterTarget._start.<locals>.<dictcomp>c                    s   i | ]}|ˆ |ƒ“qS r    r    )r‰  r^  )Úparse_qnamer    r!   rŠ  ˆ  s      c                 S   s   |   dd¡S )Nr½   r   )r}  )r^  r    r    r!   r©   ‰  rª   z)C14NWriterTarget._start.<locals>.<lambda>rÌ   c                 S   s$   g | ]\}}|rd | nd|f‘qS )zxmlns:Zxmlnsr    )r‰  rÂ   rÃ   r    r    r!   Ú
<listcomp>�  s   ÿz+C14NWriterTarget._start.<locals>.<listcomp>r   z+{http://www.w3.org/XML/1998/namespace}spaceZpreserverú   rÈ   r»   c                 S   s&   g | ]\}}d |› dt |ƒ› d�‘qS )ro   z="rî   )Ú_escape_attrib_c14nrˆ  r    r    r!   rŒ  ©  s     rÐ   T)rm  rd   r  r€  rr  r„  r‚  rÔ   ÚsortrI   r_   rv  rj  r#  r…  rx  rt  )r+   r"   r'  r‡  r†  r£   Zresolved_namesrÁ   ZqattrsZ	attr_namera   Zparsed_qnamesrU  rØ   r×   Z
attr_qnamerÂ   Zspace_behaviourr¢   r    )r‹  r+   r!   r:  n  s`    


 ÿ
þ

þ
zC14NWriterTarget._startc                 C   st   | j r|  j d8  _ d S | jr&|  ¡  |  d|  |¡d › d�¡ | j ¡  t| jƒdk| _| j	 ¡  | j
 ¡  d S )Nr   rÑ   r   rÐ   )rz  r  r%  rj  r‚  rv  r)  r7   ry  rs  rt  ri   r    r    r!   r  ³  s    

zC14NWriterTarget.endc                 C   sd   | j s
d S | jrd S | jr&|  d¡ n| jr:| jr:|  ¡  |  dt|ƒ› d�¡ | js`|  d¡ d S )Nr«   z<!--z-->)rk  rz  ry  rj  rx  r  r%  r…  r$  r    r    r!   r+  ¿  s    zC14NWriterTarget.commentc                 C   sp   | j r
d S | jr|  d¡ n| jr0| jr0|  ¡  |  |rNd|› dt|ƒ› d�n
d|› d�¡ | jsl|  d¡ d S )Nr«   z<?ro   z?>)rz  ry  rj  rx  r  r%  r…  )r+   rp   r‹   r    r    r!   r,  Ì  s    $ÿzC14NWriterTarget.pi)N)N)r   r   r   r-   Úreversedr{  r  r‚  r‹   r#  r%  r1  r(  r:  r  r+  r,  r    r    r    r!   r   ×  s&       ý%
%
Ec              	   C   s|   zVd| kr|   dd¡} d| kr*|   dd¡} d| kr>|   dd¡} d| krR|   dd¡} | W S  ttfk
rv   t| ƒ Y nX d S )	Nrè   ré   rÈ   rê   rÐ   rë   rð   ú&#xD;rì   rq   r    r    r!   r…  Ù  s    r…  c              	   C   s¤   z~d| kr|   dd¡} d| kr*|   dd¡} d| kr>|   dd¡} d| krR|   dd¡} d	| krf|   d	d
¡} d| krz|   dd¡} | W S  ttfk
rž   t| ƒ Y nX d S )Nrè   ré   rÈ   rê   rî   rï   rñ   z&#x9;r«   z&#xA;rð   r�  rì   rq   r    r    r!   r�  ì  s     r�  )re   )Ú_set_factories)N)N)N)NN)NN)N)NN)N)N)N)N)?Ú__all__r   rû   rå   r<   r°   r  Zcollections.abcr®   r»   r   r  r
   r   r   r   r   r   r   r   r   Úcontextmanagerr™   rœ   rÓ   râ   rb   Ú	NameErrorrà   r›   r–   r   r¿   rÀ   rÒ   rÕ   rá   r   r±   r÷   r   r   r	   r   r   r   r   r   r   r   r   r   ÚcompileÚUNICODEræ   r„  r   r…  r�  rO   Z_elementtreer‘  r4  r    r    r    r!   Ú<module>K   sÞ            ï  >

0 s
3
=22ý	ö þ þ

05


z g  