£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
    YI~d/                 @   s   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 ddlmZ dd Z	i fddZ
i fd	d
Zi fddZdd ZG dd dejZG dd dejZdddZdS )    N   )handler)	xmlreaderc             C   s&   x |  D ]\}}| ||} q
W | S )N)itemsreplace)sdkeyvalue r   5/opt/alt/python37/lib64/python3.7/xml/sax/saxutils.py__dict_replace   s    r   c             C   s6   |  dd} |  dd} |  dd} |r2t| |} | S )N&z&amp;>z&gt;<z&lt;)r   r   )dataentitiesr   r   r   escape   s    	
r   c             C   s2   |  dd} |  dd} |r&t| |} |  ddS )Nz&lt;r   z&gt;r   z&amp;r   )r   r   )r   r   r   r   r   unescape"   s
    
r   c             C   s\   |  }|dddd t| |} d| krPd| krFd| dd } qXd	|  } nd|  } | S )
Nz&#10;z&#13;z&#9;)
	"'z"%s"z&quot;z'%s')copyupdater   r   )r   r   r   r   r   	quoteattr0   s    

r   c                s    d krdd l }|jS t tjr& S t tjtjfr< S t tjrlG  fddd}| }dd |_	nDt
 }dd |_ j|_y j|_ j|_W n tk
r   Y nX tj||ddd	d
S )Nr   c                   s   e Zd Z jZ fddZdS )z _gettextwriter.<locals>._wrapperc                s
   t  |S )N)getattr)selfname)outr   r   __getattr__[   s    z,_gettextwriter.<locals>._wrapper.__getattr__N)__name__
__module____qualname__	__class__r!   r   )r    r   r   _wrapperY   s   r&   c               S   s   d S )Nr   r   r   r   r   <lambda>^       z _gettextwriter.<locals>.<lambda>c               S   s   dS )NTr   r   r   r   r   r'   c   r(   xmlcharrefreplacer   T)encodingerrorsnewlinewrite_through)sysstdout
isinstanceio
TextIOBasecodecsStreamWriterStreamReaderWriter	RawIOBasecloseBufferedIOBasewritablewriteseekabletellAttributeErrorTextIOWrapper)r    r*   r.   r&   bufferr   )r    r   _gettextwriterH   s.    
r@   c               @   s   e Zd Zd ddZd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d Zdd Zdd ZdS )"XMLGeneratorN
iso-8859-1Fc             C   sV   t j|  t||}|j| _|j| _i g| _| jd | _	g | _
|| _|| _d| _d S )NF)r   ContentHandler__init__r@   r:   _writeflush_flush_ns_contexts_current_context_undeclared_ns_maps	_encoding_short_empty_elements_pending_start_element)r   r    r*   Zshort_empty_elementsr   r   r   rE   s   s    
zXMLGenerator.__init__c             C   sJ   |d rBd|d kr d|d  S | j |d  }|rB|d |d  S |d S )Nr   z$http://www.w3.org/XML/1998/namespacezxml:r   :)rJ   )r   r   prefixr   r   r   _qname   s    zXMLGenerator._qnamec             C   s   | j r| d d| _ d S )Nr   F)rN   rF   )r   
endElementr   r   r   _finish_pending_start_element   s    
z*XMLGenerator._finish_pending_start_elementc             C   s   |  d| j  d S )Nz$<?xml version="1.0" encoding="%s"?>
)rF   rL   )r   r   r   r   startDocument   s    zXMLGenerator.startDocumentc             C   s   |    d S )N)rH   )r   r   r   r   endDocument   s    zXMLGenerator.endDocumentc             C   s0   | j | j  || j|< | j||f d S )N)rI   appendrJ   r   rK   )r   rP   urir   r   r   startPrefixMapping   s    
zXMLGenerator.startPrefixMappingc             C   s   | j d | _| j d= d S )NrC   )rI   rJ   )r   rP   r   r   r   endPrefixMapping   s    zXMLGenerator.endPrefixMappingc             C   s^   |    | d|  x*| D ]\}}| d|t|f  q W | jrPd| _n
| d d S )Nr   z %s=%sTr   )rS   rF   r   r   rM   rN   )r   r   attrsr
   r   r   r   startElement   s    zXMLGenerator.startElementc             C   s*   | j r| d d| _ n| d|  d S )Nz/>Fz</%s>)rN   rF   )r   r   r   r   r   rR      s    
zXMLGenerator.endElementc             C   s   |    | d| |  x8| jD ].\}}|rD| d||f  q$| d|  q$W g | _x0| D ]$\}}| d| |t|f  qfW | jrd| _n
| d d S )Nr   z xmlns:%s="%s"z xmlns="%s"z %s=%sTr   )rS   rF   rQ   rK   r   r   rM   rN   )r   r   qnamerZ   rP   rW   r
   r   r   r   startElementNS   s     zXMLGenerator.startElementNSc             C   s0   | j r| d d| _ n| d| |  d S )Nz/>Fz</%s>)rN   rF   rQ   )r   r   r\   r   r   r   endElementNS   s    
zXMLGenerator.endElementNSc             C   s4   |r0|    t|ts"t|| j}| t| d S )N)rS   r0   strrL   rF   r   )r   contentr   r   r   
characters   s
    
zXMLGenerator.charactersc             C   s0   |r,|    t|ts"t|| j}| | d S )N)rS   r0   r_   rL   rF   )r   r`   r   r   r   ignorableWhitespace   s
    
z XMLGenerator.ignorableWhitespacec             C   s   |    | d||f  d S )Nz	<?%s %s?>)rS   rF   )r   targetr   r   r   r   processingInstruction   s    z"XMLGenerator.processingInstruction)NrB   F)F)r"   r#   r$   rE   rQ   rS   rT   rU   rX   rY   r[   rR   r]   r^   ra   rb   rd   r   r   r   r   rA   q   s   


rA   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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d0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 ZdS );XMLFilterBaseNc             C   s   t j|  || _d S )N)r   	XMLReaderrE   _parent)r   parentr   r   r   rE      s    zXMLFilterBase.__init__c             C   s   | j | d S )N)_err_handlererror)r   	exceptionr   r   r   rj      s    zXMLFilterBase.errorc             C   s   | j | d S )N)ri   
fatalError)r   rk   r   r   r   rl      s    zXMLFilterBase.fatalErrorc             C   s   | j | d S )N)ri   warning)r   rk   r   r   r   rm      s    zXMLFilterBase.warningc             C   s   | j | d S )N)_cont_handlersetDocumentLocator)r   Zlocatorr   r   r   ro      s    z XMLFilterBase.setDocumentLocatorc             C   s   | j   d S )N)rn   rT   )r   r   r   r   rT      s    zXMLFilterBase.startDocumentc             C   s   | j   d S )N)rn   rU   )r   r   r   r   rU     s    zXMLFilterBase.endDocumentc             C   s   | j || d S )N)rn   rX   )r   rP   rW   r   r   r   rX     s    z XMLFilterBase.startPrefixMappingc             C   s   | j | d S )N)rn   rY   )r   rP   r   r   r   rY   	  s    zXMLFilterBase.endPrefixMappingc             C   s   | j || d S )N)rn   r[   )r   r   rZ   r   r   r   r[     s    zXMLFilterBase.startElementc             C   s   | j | d S )N)rn   rR   )r   r   r   r   r   rR     s    zXMLFilterBase.endElementc             C   s   | j ||| d S )N)rn   r]   )r   r   r\   rZ   r   r   r   r]     s    zXMLFilterBase.startElementNSc             C   s   | j || d S )N)rn   r^   )r   r   r\   r   r   r   r^     s    zXMLFilterBase.endElementNSc             C   s   | j | d S )N)rn   ra   )r   r`   r   r   r   ra     s    zXMLFilterBase.charactersc             C   s   | j | d S )N)rn   rb   )r   charsr   r   r   rb     s    z!XMLFilterBase.ignorableWhitespacec             C   s   | j || d S )N)rn   rd   )r   rc   r   r   r   r   rd     s    z#XMLFilterBase.processingInstructionc             C   s   | j | d S )N)rn   skippedEntity)r   r   r   r   r   rq   !  s    zXMLFilterBase.skippedEntityc             C   s   | j ||| d S )N)_dtd_handlernotationDecl)r   r   publicIdsystemIdr   r   r   rs   &  s    zXMLFilterBase.notationDeclc             C   s   | j |||| d S )N)rr   unparsedEntityDecl)r   r   rt   ru   Zndatar   r   r   rv   )  s    z XMLFilterBase.unparsedEntityDeclc             C   s   | j ||S )N)Z_ent_handlerresolveEntity)r   rt   ru   r   r   r   rw   .  s    zXMLFilterBase.resolveEntityc             C   s@   | j |  | j |  | j |  | j |  | j | d S )N)rg   ZsetContentHandlerZsetErrorHandlerZsetEntityResolverZsetDTDHandlerparse)r   sourcer   r   r   rx   3  s
    zXMLFilterBase.parsec             C   s   | j | d S )N)rg   	setLocale)r   localer   r   r   rz   :  s    zXMLFilterBase.setLocalec             C   s   | j |S )N)rg   
getFeature)r   r   r   r   r   r|   =  s    zXMLFilterBase.getFeaturec             C   s   | j || d S )N)rg   
setFeature)r   r   stater   r   r   r}   @  s    zXMLFilterBase.setFeaturec             C   s   | j |S )N)rg   getProperty)r   r   r   r   r   r   C  s    zXMLFilterBase.getPropertyc             C   s   | j || d S )N)rg   setProperty)r   r   r
   r   r   r   r   F  s    zXMLFilterBase.setPropertyc             C   s   | j S )N)rg   )r   r   r   r   	getParentK  s    zXMLFilterBase.getParentc             C   s
   || _ d S )N)rg   )r   rh   r   r   r   	setParentN  s    zXMLFilterBase.setParent)N)r"   r#   r$   rE   rj   rl   rm   ro   rT   rU   rX   rY   r[   rR   r]   r^   ra   rb   rd   rq   rs   rv   rw   rx   rz   r|   r}   r   r   r   r   r   r   r   r   re      s8   
re    c             C   s  t | trt| } n^t| drt| }t } t |dtrH| | n
| | t|drtt |jtrt| 	|j | 
 d kr
|  d kr
|  }tjtj|}tj||}tj|r| 	| t|d}n$| 	tj|| tj|  }| | | S )Nreadr   r   rb)r0   r_   r   ZInputSourcehasattrr   ZsetCharacterStreamZsetByteStreamr   ZsetSystemIdZgetCharacterStreamZgetByteStreamZgetSystemIdospathdirnamenormpathjoinisfileopenurllibrx   ZurljoinZrequestZurlopen)ry   basefZsysidZbaseheadZsysidfilenamer   r   r   prepare_input_sourceS  s*    




r   )r   )r   Zurllib.parser   Zurllib.requestr1   r3   r   r   r   r   r   r   r   r@   rD   rA   rf   re   r   r   r   r   r   <module>   s   )so