<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]                 @   sq  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 m Z Gd d	   d	 e	  Z
 d d   Z Gd d   d  Z i  d d  Z d d d   Z d d  d  Z e Z Gd! d   d  Z Gd" d   d  Z e j d# d$    Z d d% d&  Z d' d(   Z d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 f Z y e e  Z Wn e k
 rYn Xd6 d7   Z d8 d9   Z d: e d; e d< e i Z d= d   Z d> d: d? d; d@ dA dB dC dD dE dF dG dH dI i Z e e _ dJ dK   Z dL dM   Z  dN dO   Z! dP dQ   Z" d d dR dS dT d Z# GdU dV   dV e j$  Z% d d dR dS dW d Z& dX d   Z' d dY d  Z( d d dZ d  Z) Gd[ d\   d\  Z* Gd] d^   d^  Z+ d d_ d  Z, d d` d  Z- e, Z. d da d  Z/ Gdb d   d  Z0 Gdc d   d  Z1 y e Z2 d dd l3 TWn e4 k
 rlYn Xd S)eCommentdumpElementElementTree
fromstringfromstringlist	iselement	iterparseparse
ParseErrorPIProcessingInstructionQName
SubElementtostringtostringlistTreeBuilderVERSIONXMLXMLID	XMLParserregister_namespacez1.3.0    N   )ElementPathc               @   s   e  Z d  Z d S)r
   N)__name__
__module____qualname__ r   r   0/opt/alt/python35/lib64/python3.5/ElementTree.pyr
   g   s   	c             C   s   t  |  d  S)Ntag)hasattr)elementr   r   r   r   u   s    c               @   s  e  Z d  Z d Z d Z d Z d Z i  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 d d  d!  Z d d d" d#  Z d d$ d%  Z d d& d'  Z d( d)   Z d d* d+  Z d, d-   Z d. d/   Z d0 d1   Z d d2 d3  Z d d4 d5  Z  d6 d7   Z! d S)8r   Nc             K   s`   t  | t  s( t d | j j f   | j   } | j |  | |  _ | |  _ g  |  _	 d  S)Nzattrib must be dict, not %s)

isinstancedict	TypeError	__class__r   copyupdater   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   |  j  | |  S)N)r%   )r*   r   r(   r   r   r   makeelement   s    	zElement.makeelementc             C   sD   |  j  |  j |  j  } |  j | _ |  j | _ |  | d  d   <| S)N)r/   r   r(   texttail)r*   elemr   r   r   r&      s
    zElement.copyc             C   s   t  |  j  S)N)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.
stacklevel   r   )warningswarnFutureWarningr3   r)   )r*   r   r   r   __bool__   s    zElement.__bool__c             C   s   |  j  | S)N)r)   )r*   indexr   r   r   __getitem__   s    zElement.__getitem__c             C   s   | |  j  | <d  S)N)r)   )r*   r;   r!   r   r   r   __setitem__   s    zElement.__setitem__c             C   s   |  j  | =d  S)N)r)   )r*   r;   r   r   r   __delitem__   s    zElement.__delitem__c             C   s!   |  j  |  |  j j |  d  S)N)_assert_is_elementr)   append)r*   
subelementr   r   r   r@      s    zElement.appendc             C   s2   x | D] } |  j  |  q W|  j j |  d  S)N)r?   r)   extend)r*   elementsr!   r   r   r   rB      s    zElement.extendc             C   s$   |  j  |  |  j j | |  d  S)N)r?   r)   insert)r*   r;   rA   r   r   r   rD      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   r?      s    zElement._assert_is_elementc             C   s   |  j  j |  d  S)N)r)   remove)r*   rA   r   r   r   rH     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.r5   r6   )r7   r8   DeprecationWarningr)   )r*   r   r   r   getchildren  s    zElement.getchildrenc             C   s   t  j |  | |  S)N)r   find)r*   path
namespacesr   r   r   rK      s    	zElement.findc             C   s   t  j |  | | |  S)N)r   findtext)r*   rL   defaultrM   r   r   r   rN   +  s    zElement.findtextc             C   s   t  j |  | |  S)N)r   findall)r*   rL   rM   r   r   r   rP   9  s    	zElement.findallc             C   s   t  j |  | |  S)N)r   iterfind)r*   rL   rM   r   r   r   rQ   D  s    	zElement.iterfindc             C   s*   |  j  j   g  |  _ d  |  _ |  _ d  S)N)r(   clearr)   r0   r1   )r*   r   r   r   rR   O  s    	zElement.clearc             C   s   |  j  j | |  S)N)r(   get)r*   keyrO   r   r   r   rS   Z  s    zElement.getc             C   s   | |  j  | <d  S)N)r(   )r*   rT   valuer   r   r   setg  s    zElement.setc             C   s   |  j  j   S)N)r(   keys)r*   r   r   r   rW   q  s    zElement.keysc             C   s   |  j  j   S)N)r(   items)r*   r   r   r   rX   z  s    	zElement.itemsc             c   s\   | d k r d  } | d  k s- |  j  | k r2 |  Vx# |  j D] } | j |  Ed  Hq< Wd  S)N*)r   r)   iter)r*   r   rG   r   r   r   rZ     s    zElement.iterc             C   s)   t  j d t d d t |  j |   S)NzbThis method will be removed in future versions.  Use 'elem.iter()' or 'list(elem.iter())' instead.r5   r6   )r7   r8   PendingDeprecationWarninglistrZ   )r*   r   r   r   r   getiterator  s    zElement.getiteratorc             c   su   |  j  } t | t  r) | d  k	 r) d  S|  j } | r= | Vx1 |  D]) } | j   Ed  H| j } | rD | VqD Wd  S)N)r   r"   strr0   itertextr1   )r*   r   trG   r   r   r   r_     s    			zElement.itertext)"r   r   r   r   r(   r0   r1   r,   r.   r/   r&   r4   r:   r<   r=   r>   r@   rB   rD   r?   rH   rJ   rK   rN   rP   rQ   rR   rS   rV   rW   rX   rZ   r]   r_   r   r   r   r   r   z   s>   	


		c             K   s<   | j    } | j |  |  j | |  } |  j |  | S)N)r&   r'   r/   r@   )parentr   r(   r+   r!   r   r   r   r     s
    c             C   s   t  t  } |  | _ | S)N)r   r   r0   )r0   r!   r   r   r   r     s    		c             C   s3   t  t  } |  | _ | r/ | j d | | _ | S)N )r   r   r0   )targetr0   r!   r   r   r   r     s
    
	c               @   s   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)r0   )r*   Ztext_or_urir   r   r   r   r,     s    zQName.__init__c             C   s   |  j  S)N)r0   )r*   r   r   r   __str__  s    zQName.__str__c             C   s   d |  j  j |  j f S)Nz<%s %r>)r%   r   r0   )r*   r   r   r   r.     s    zQName.__repr__c             C   s   t  |  j  S)N)hashr0   )r*   r   r   r   __hash__  s    zQName.__hash__c             C   s,   t  | t  r |  j | j k S|  j | k S)N)r"   r   r0   )r*   otherr   r   r   __le__  s    zQName.__le__c             C   s,   t  | t  r |  j | j k  S|  j | k  S)N)r"   r   r0   )r*   rg   r   r   r   __lt__	  s    zQName.__lt__c             C   s,   t  | t  r |  j | j k S|  j | k S)N)r"   r   r0   )r*   rg   r   r   r   __ge__  s    zQName.__ge__c             C   s,   t  | t  r |  j | j k S|  j | k S)N)r"   r   r0   )r*   rg   r   r   r   __gt__  s    zQName.__gt__c             C   s,   t  | t  r |  j | j k S|  j | k S)N)r"   r   r0   )r*   rg   r   r   r   __eq__  s    zQName.__eq__)r   r   r   r,   rd   r.   rf   rh   ri   rj   rk   rl   r   r   r   r   r     s   c               @   s   e  Z d  Z d 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 d  Z
 d d d  Z d d d  Z d d d d d d d d Z d d   Z d S)r   Nc             C   s    | |  _  | r |  j |  d  S)N)_rootr	   )r*   r!   filer   r   r   r,   (  s    	zElementTree.__init__c             C   s   |  j  S)N)rm   )r*   r   r   r   getroot.  s    zElementTree.getrootc             C   s   | |  _  d  S)N)rm   )r*   r!   r   r   r   _setroot2  s    zElementTree._setrootc          
   C   s   d } t  | d  s* t | d  } d } z | d  k rj t   } t  | d  rj | j |  |  _ |  j Sx' | j d  } | s P| j |  qm W| j   |  _ |  j SWd  | r | j   Xd  S)NFreadrbT_parse_wholei   )r    openr   rs   rm   rq   feedclose)r*   sourceparserclose_sourcedatar   r   r   r	   <  s&    	zElementTree.parsec             C   s   |  j  j |  S)N)rm   rZ   )r*   r   r   r   r   rZ   a  s    
zElementTree.iterc             C   s)   t  j d t d d t |  j |   S)NzbThis method will be removed in future versions.  Use 'tree.iter()' or 'list(tree.iter())' instead.r5   r6   )r7   r8   r[   r\   rZ   )r*   r   r   r   r   r]   n  s    zElementTree.getiteratorc             C   sM   | d  d  d k r: d | } t  j d | t d d |  j j | |  S)Nr   /.zThis 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 %rr5   r6   )r7   r8   r9   rm   rK   )r*   rL   rM   r   r   r   rK   w  s    
zElementTree.findc             C   sP   | d  d  d k r: d | } t  j d | t d d |  j j | | |  S)Nr   r{   r|   zThis 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 %rr5   r6   )r7   r8   r9   rm   rN   )r*   rL   rO   rM   r   r   r   rN     s    
zElementTree.findtextc             C   sM   | d  d  d k r: d | } t  j d | t d d |  j j | |  S)Nr   r{   r|   zThis 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 %rr5   r6   )r7   r8   r9   rm   rP   )r*   rL   rM   r   r   r   rP     s    
zElementTree.findallc             C   sM   | d  d  d k r: d | } t  j d | t d d |  j j | |  S)Nr   r{   r|   zThis 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 %rr5   r6   )r7   r8   r9   rm   rQ   )r*   rL   rM   r   r   r   rQ     s    
zElementTree.iterfindshort_empty_elementsTc            C   s7  | s d } n | t  k r+ t d |   | sL | d k rF d } n d } | j   } t | |   } | d k r | s | d  k r | d k r | }	 | d k r d d  l }
 |
 j   }	 | d |	 f  | d	 k r t | |  j  n> t |  j |  \ } } t  | } | | |  j | | d
 | Wd  QRXd  S)Nxmlzunknown method %rc14nutf-8us-asciiunicoder   z$<?xml version='1.0' encoding='%s'?>
r0   r}   )r   r   r   )	
_serialize
ValueErrorlower_get_writerlocalegetpreferredencoding_serialize_textrm   _namespaces)r*   file_or_filenameencodingZxml_declarationdefault_namespacemethodr}   Z	enc_lowerwriteZdeclared_encodingr   qnamesrM   Z	serializer   r   r   r     s2    		
zElementTree.writec             C   s   |  j  | d d S)Nr   r   )r   )r*   rn   r   r   r   
write_c14n	  s    zElementTree.write_c14n)r   r   r   r,   ro   rp   r	   rZ   r]   rK   rN   rP   rQ   r   r   r   r   r   r   r     s    
%	5c             c   s|  y |  j  } Wna t k
 rp | d k r; t |  d  } n t |  d d | d d } |  | j  VWd  QRXYnX| d k r | Vn t j    } t |  t j  r |  } n t |  t j  r t j	 |   } | j
 | j  nU t j   } d d   | _ | | _  y |  j | _ |  j | _ Wn t k
 r7Yn Xt j | d | d d d d	 } | j
 | j  | j  VWd  QRXd  S)
Nr   wr   errorsxmlcharrefreplacec               S   s   d S)NTr   r   r   r   r   <lambda>2  s    z_get_writer.<locals>.<lambda>newline
)r   AttributeErrorrt   
contextlib	ExitStackr"   ioBufferedIOBase	RawIOBaseBufferedWritercallbackdetachwritableseekabletellTextIOWrapper)r   r   r   rn   stackr   r   r   r     s>    				r   c                s  d  d  i  i     r" d    <    f d d   } xK|  j    D]=}  |  j } t | t  r | j  k r | | j  nV t | t  r |  k r | |  n. | d  k	 r | t k	 r | t k	 r t |  xs |  j	   D]e \ } } t | t  r| j } |  k r!| |  t | t  r | j  k r | | j  q W|  j } t | t  rG | j  k rG | | j  qG W  f S)N c                s  y |  d  d  d k r |  d d   j  d d  \ } }  j |  } | d  k r t j |  } | d  k r d t   } | d k r |  | <| r d | | f  |  <q |  |  <n   r t d   |   |  <Wn t k
 r t |   Yn Xd  S)Nr   {}zns%dr~   z%s:%sz<cannot use non-qualified names with default_namespace option)rsplitrS   _namespace_mapr3   r   r$   _raise_serialization_error)Zqnameurir   prefix)r   rM   r   r   r   	add_qnameO  s&    "
	z_namespaces.<locals>.add_qname)
rZ   r   r"   r   r0   r^   r   r   r   rX   )r2   r   r   r   rT   rU   r0   r   )r   rM   r   r   r   D  s4    
	$
	
	r   c             K   sJ  | j  } | j } | t k r/ |  d |  n| t k rL |  d |  n| | } | d  k r | rx |  t |   x| D] } t |  | | d  d | q Wn|  d |  t | j    }	 |	 s | r| r0xV t | j   d d d   D]6 \ }
 } | rd | } |  d	 | t	 |
  f  q Wxu t |	  D]g \ } }
 t
 | t  ra| j } t
 |
 t  r| |
 j }
 n t	 |
  }
 |  d
 | | |
 f  q=W| st |  s| r |  d  | r|  t |   x' | D] } t |  | | d  d | qW|  d | d  n
 |  d  | j rF|  t | j   d  S)Nz	<!--%s-->z<?%s?>r}   <rT   c             S   s   |  d S)Nr   r   )xr   r   r   r     s    z _serialize_xml.<locals>.<lambda>:z xmlns%s="%s"z %s="%s">z</z />)r   r0   r   r   _escape_cdata_serialize_xmlr\   rX   sorted_escape_attribr"   r   r3   r1   )r   r2   r   rM   r}   kwargsr   r0   rG   rX   vkr   r   r   r     sT    		

	

	r   ZareabaseZbasefontbrcolframehrZimginputZisindexlinkmetaZparamc             K   sa  | j  } | j } | t k r5 |  d t |   n| t k rX |  d t |   n| | } | d  k r | r |  t |   x| D] } t |  | | d   q Wn|  d |  t | j    } | s | r| r6xV t | j   d d d   D]6 \ }	 }
 |
 rd |
 }
 |  d |
 t	 |	  f  q Wxu t |  D]g \ }
 }	 t
 |
 t  rg|
 j }
 t
 |	 t  r| |	 j }	 n t |	  }	 |  d	 | |
 |	 f  qCW|  d
  | j   } | r| d k s| d k r|  |  n |  t |   x! | D] } t |  | | d   qW| t k rA|  d | d
  | j r]|  t | j   d  S)Nz	<!--%s-->z<?%s?>r   rT   c             S   s   |  d S)Nr   r   )r   r   r   r   r     s    z!_serialize_html.<locals>.<lambda>r   z xmlns%s="%s"z %s="%s"r   Zscriptstylez</)r   r0   r   r   r   _serialize_htmlr\   rX   r   r   r"   r   _escape_attrib_htmlr   
HTML_EMPTYr1   )r   r2   r   rM   r   r   r0   rG   rX   r   r   Zltagr   r   r   r     sT    		

	
	r   c             C   s;   x | j    D] } |  |  q W| j r7 |  | j  d  S)N)r_   r1   )r   r2   partr   r   r   r     s    	r   r~   htmlr0   c             C   sn   t  j d |   r t d   x? t t j    D]+ \ } } | | k sU | |  k r1 t | =q1 W|  t | <d  S)Nzns\d+$z'Prefix format reserved for internal use)rematchr   r\   r   rX   )r   r   r   r   r   r   r   r     s    z$http://www.w3.org/XML/1998/namespacezhttp://www.w3.org/1999/xhtmlz+http://www.w3.org/1999/02/22-rdf-syntax-ns#Zrdfz http://schemas.xmlsoap.org/wsdl/Zwsdlz http://www.w3.org/2001/XMLSchemaZxsz)http://www.w3.org/2001/XMLSchema-instanceZxsiz http://purl.org/dc/elements/1.1/Zdcc             C   s#   t  d |  t |   j f   d  S)Nzcannot serialize %r (type %s))r$   rF   r   )r0   r   r   r   r     s    r   c             C   s   yb d |  k r! |  j  d d  }  d |  k r? |  j  d d  }  d |  k r] |  j  d d  }  |  SWn" t t f k
 r t |   Yn Xd  S)N&z&amp;r   z&lt;r   z&gt;)replacer$   r   r   )r0   r   r   r   r   #  s    r   c             C   s!  y d |  k r! |  j  d d  }  d |  k r? |  j  d d  }  d |  k r] |  j  d d  }  d |  k r{ |  j  d d  }  d	 |  k r |  j  d	 d
  }  d |  k r |  j  d d
  }  d
 |  k r |  j  d
 d  }  d |  k r |  j  d d  }  |  SWn" t t f k
 rt |   Yn Xd  S)Nr   z&amp;r   z&lt;r   z&gt;"z&quot;z
r   z&#10;	z&#09;)r   r$   r   r   )r0   r   r   r   r   3  s(    r   c             C   s   yb d |  k r! |  j  d d  }  d |  k r? |  j  d d  }  d |  k r] |  j  d d  }  |  SWn" t t f k
 r t |   Yn Xd  S)Nr   z&amp;r   z&gt;r   z&quot;)r   r$   r   r   )r0   r   r   r   r   O  s    r   r}   Tc            C   sP   | d k r t  j   n	 t  j   } t |   j | | d | d | | j   S)Nr   r   r}   )r   StringIOBytesIOr   r   getvalue)r!   r   r   r}   streamr   r   r   r   ^  s    $c               @   sL   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)N)lst)r*   r   r   r   r   r,   s  s    z_ListDataStream.__init__c             C   s   d S)NTr   )r*   r   r   r   r   v  s    z_ListDataStream.writablec             C   s   d S)NTr   )r*   r   r   r   r   y  s    z_ListDataStream.seekablec             C   s   |  j  j |  d  S)N)r   r@   )r*   br   r   r   r   |  s    z_ListDataStream.writec             C   s   t  |  j  S)N)r3   r   )r*   r   r   r   r     s    z_ListDataStream.tellN)r   r   r   r,   r   r   r   r   r   r   r   r   r   q  s
   r   c            C   s8   g  } t  |  } t |   j | | d | d | | S)Nr   r}   )r   r   r   )r!   r   r   r}   r   r   r   r   r   r     s
    c             C   sk   t  |  t  s t |   }  |  j t j d d |  j   j } | sW | d d k rg t j j d  d  S)Nr   r   r   r   )r"   r   r   sysstdoutro   r1   )r2   r1   r   r   r   r     s    c             C   s   t    } | j |  |  | S)N)r   r	   )rw   rx   treer   r   r   r	     s    		c             C   sc   d } t  |  d  s* t |  d  }  d } y t |  | | |  SWn | rW |  j     Yn Xd  S)NFrq   rr   T)r    rt   _IterParseIteratorrv   )rw   eventsrx   ry   r   r   r   r     s    
c               @   sU   e  Z d  Z d d d d d Z d d   Z d d   Z d	 d
   Z d d   Z d S)XMLPullParserN_parserc            C   sY   g  |  _  d |  _ | p' t d t    |  _ | d  k r? d } |  j j |  j  |  d  S)Nr   rc   end)r   )_events_queue_indexr   r   r   
_setevents)r*   r   r   r   r   r   r,     s    		zXMLPullParser.__init__c             C   sq   |  j  d  k r t d   | rm y |  j  j |  Wn5 t k
 rl } z |  j j |  WYd  d  } ~ Xn Xd  S)Nz!feed() called after end of stream)r   r   ru   SyntaxErrorr   r@   )r*   rz   excr   r   r   ru     s    zXMLPullParser.feedc             C   s   |  j  j   } d  |  _  | S)N)r   rv   )r*   rootr   r   r   _close_and_return_root  s    	z$XMLPullParser._close_and_return_rootc             C   s   |  j    d  S)N)r   )r*   r   r   r   rv     s    zXMLPullParser.closec             c   s   |  j  } x |  j } y | |  j } d  | |  j <Wn t k
 rH PYn X| d 7} | d t |  k r g  | d  |  <d |  _ n	 | |  _ t | t  r |  q | Vq Wd  S)Nr   r6   r   )r   r   
IndexErrorr3   r"   	Exception)r*   r   r;   eventr   r   r   read_events  s     		
		zXMLPullParser.read_events)r   r   r   r,   ru   r   rv   r   r   r   r   r   r     s
   
r   c               @   s7   e  Z d  Z d d d  Z d d   Z d d   Z d S)	r   Fc             C   s>   t  d | d |  |  _ | |  _ | |  _ d  |  _ |  _ d  S)Nr   r   )r   r   _file_close_filer   rm   )r*   rw   r   rx   ry   r   r   r   r,     s    		z_IterParseIterator.__init__c          	   C   s   y xo x |  j  j   D] } | SW|  j  j  d  k r4 P|  j j d  } | r_ |  j  j |  q |  j  j   |  _ q W|  j |  _ Wn! |  j r |  j j	     Yn X|  j r |  j j	   t
  d  S)N   i   i @  )r   r   r   rq   ru   r   rm   r   r   rv   StopIteration)r*   r   rz   r   r   r   __next__  s$    		z_IterParseIterator.__next__c             C   s   |  S)Nr   )r*   r   r   r   __iter__/  s    z_IterParseIterator.__iter__N)r   r   r   r,   r   r   r   r   r   r   r     s   r   c             C   s/   | s t  d t    } | j |   | j   S)Nrc   )r   r   ru   rv   )r0   rx   r   r   r   r   3  s    c             C   sw   | s t  d t    } | j |   | j   } i  } x3 | j   D]% } | j d  } | rD | | | <qD W| | f S)Nrc   r-   )r   r   ru   rv   rZ   rS   )r0   rx   r   Zidsr2   r-   r   r   r   r   D  s    
c             C   s@   | s t  d t    } x |  D] } | j |  q W| j   S)Nrc   )r   r   ru   rv   )Zsequencerx   r0   r   r   r   r   \  s
    	c               @   s[   e  Z d  Z d d d  Z d d   Z d d   Z d d	   Z d
 d   Z d d   Z d S)r   Nc             C   sC   g  |  _  g  |  _ d  |  _ d  |  _ | d  k r6 t } | |  _ d  S)N)_data_elem_last_tailr   _factory)r*   Zelement_factoryr   r   r   r,   {  s    				zTreeBuilder.__init__c             C   s   |  j  S)N)r   )r*   r   r   r   rv     s    zTreeBuilder.closec             C   s[   |  j  rW |  j d  k	 rN d j |  j   } |  j rB | |  j _ n | |  j _ g  |  _  d  S)Nr   )r   r   joinr   r1   r0   )r*   r0   r   r   r   _flush  s    		zTreeBuilder._flushc             C   s   |  j  j |  d  S)N)r   r@   )r*   rz   r   r   r   rz     s    zTreeBuilder.datac             C   s]   |  j    |  j | |  |  _ } |  j r@ |  j d j |  |  j j |  d |  _ | S)Nr   r   r   )r   r   r   r   r@   r   )r*   r   Zattrsr2   r   r   r   start  s    
		zTreeBuilder.startc             C   s,   |  j    |  j j   |  _ d |  _ |  j S)Nr   )r   r   popr   r   )r*   r   r   r   r   r     s    
	zTreeBuilder.end)	r   r   r   r,   rv   r   rz   r   r   r   r   r   r   r   n  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 d   Z d d   Z	 d d   Z
 e
 Z d d   Z d d   Z d S)r   r   Nc             C   s  y d d l  m } WnC t k
 rY y d d  l } Wn t k
 rT t d   Yn XYn X| j | d  } | d  k r t   } | |  _ |  _ | |  _ |  _	 | j
 |  _ i  |  _ |  j | _ t | d  r |  j | _ t | d  r |  j | _ t | d  r| j | _ t | d  r.| j | _ t | d	  rI| j | _ d
 | _ d
 | _ d
 | _ d  |  _ i  |  _ y d | j |  _  Wn t! k
 rYn Xd  S)Nr   )expatz7No module named expat; use SimpleXMLTreeBuilder insteadr   r   r   rz   commentpir   zExpat %d.%d.%d)"xml.parsersr   ImportErrorZpyexpatZParserCreater   rx   r   rc   _targeterror_error_names_defaultZDefaultHandlerExpandr    _startStartElementHandler_endEndElementHandlerrz   ZCharacterDataHandlerr   ZCommentHandlerr   ZProcessingInstructionHandlerZbuffer_textordered_attributesspecified_attributes_doctypeentityversion_infoversionr   )r*   r   rc   r   r   rx   r   r   r   r,     sF    							zXMLParser.__init__c             C   s   |  j  } | j } x | D] } | d k ra d | _ d | _ | | |  j d d  } | | _ q | d k r | | |  j d d  } | | _ q | d k r | | d d  } | | _ q | d	 k r | | d
 d  } | | _	 q t
 d |   q Wd  S)Nr   r   c             S   s   | | | |  |  f  d  S)Nr   )r   Z	attrib_inr   r@   r   r   r   r   handler  s    z%XMLParser._setevents.<locals>.handlerr   c             S   s   | | | |   f  d  S)Nr   )r   r   r@   r   r   r   r   r     s    zstart-nsc             S   s&   | | |  p d | p d f f  d  S)Nr   r   )r   r   r   r@   r   r   r   r    s    zend-nsc             S   s   | | d  f  d  S)Nr   )r   r   r@   r   r   r   r  	  s    zunknown event %r)r   r@   r  r  r  r  r  r  ZStartNamespaceDeclHandlerZEndNamespaceDeclHandlerr   )r*   Zevents_queueZevents_to_reportrx   r@   Z
event_namer  r   r   r   r     s(    				zXMLParser._seteventsc             C   s7   t  |  } | j | _ | j | j f | _ |  d  S)N)r
   codelinenooffsetZposition)r*   rU   errr   r   r   _raiseerror  s    zXMLParser._raiseerrorc             C   sS   y |  j  | } Wn; t k
 rN | } d | k r= d | } | |  j  | <Yn X| S)Nr   r   )r  KeyError)r*   rT   namer   r   r   _fixname  s    
zXMLParser._fixnamec             C   ss   |  j  } | |  } i  } | r` x< t d t |  d  D]" } | | d | | | |  <q: W|  j j | |  S)Nr   r6   r   )r  ranger3   rc   r   )r*   r   Z	attr_listZfixnamer(   ir   r   r   r     s    	 zXMLParser._startc             C   s   |  j  j |  j |   S)N)rc   r   r  )r*   r   r   r   r   r  ,  s    zXMLParser._endc             C   s  | d  d  } | d k r y |  j  j } Wn t k
 rD d  SYn Xy | |  j | d d   Wqt k
 r d d l m } | j d | |  j j	 |  j j
 f  } d | _ |  j j	 | _ |  j j
 | _ |  YqXn| d k r| d  d  d	 k rg  |  _ n}|  j d  k	 r| d
 k r7d  |  _ d  S| j   } | sMd  S|  j j |  t |  j  } | d k r|  j d } | d k r| d k r|  j \ } } }	 }
 |	 r|	 d d  }	 n7 | d k r| d k r|  j \ } } }
 d  }	 n d  St |  j  d  r7|  j  j | |	 |
 d d   nL |  j |  j k r|  j | |	 |
 d d   |  j | |	 |
 d d   d  |  _ d  S)Nr   r   r   )r   z'undefined entity %s: line %d, column %d   r   	   z	<!DOCTYPEr   r6   ZPUBLIC   ZSYSTEM   doctyper   r   r   r   r   )rc   rz   r   r
  r  r   r   r   rx   ZErrorLineNumberZErrorColumnNumberr  r  r  r	  stripr@   r3   r    r  _XMLParser__doctype)r*   r0   r   Zdata_handlerr   r  nrF   r  pubidsystemr   r   r   r  /  sZ    		"		#zXMLParser._defaultc             C   s   t  j d t  d  S)Nz[This method of XMLParser is deprecated.  Define doctype() method on the TreeBuilder target.)r7   r8   rI   )r*   r  r   r!  r   r   r   r  c  s    zXMLParser.doctypec             C   sS   y |  j  j | d  Wn5 |  j k
 rN } z |  j |  WYd  d  } ~ Xn Xd  S)Nr   )rx   Parser   r  )r*   rz   r   r   r   r   ru   s  s    zXMLParser.feedc             C   s   y |  j  j d d  Wn5 |  j k
 rN } z |  j |  WYd  d  } ~ Xn Xz0 y |  j j } Wn t k
 rv Yn X|   SWd  |  `  |  ` |  ` |  ` Xd  S)Nr   r   )	rx   r"  r   r  rc   rv   r   r   r   )r*   r   Zclose_handlerr   r   r   rv   z  s     zXMLParser.close)r   r   r   r,   r   r  r  r  r  r  r  r  ru   rv   r   r   r   r   r     s   *!4)rY   )5__all__r   r   r   r7   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   contextmanagerr   r   r   r   rV   	NameErrorr   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   rE   _elementtreer   r   r   r   r   <module>K   s   	 @04=22			E$K