ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3

  \2                 @   s   d Z ddlZddlZddlZddlmZ dddgZG dd dZG d	d dZ	d
d Z
G dd deZG dd deZG dd dZ[G dd dZG dd dZ[G dd dZdS )z4Implementation of the DOM Level 3 'LS-Load' feature.    N)
NodeFilter
DOMBuilderDOMEntityResolverDOMInputSourcec               @   s\   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdZdZdZdZdZdZdZdZdZdS )OptionszFeatures object that has variables set for each DOMBuilder feature.

    The DOMBuilder class uses an instance of this class to pass settings to
    the ExpatBuilder class.
       TFN)__name__
__module____qualname____doc__
namespacesnamespace_declarations
validationexternal_parameter_entitiesexternal_general_entitiesZexternal_dtd_subsetvalidate_if_schemaZvalidatedatatype_normalizationcreate_entity_ref_nodesentitieswhitespace_in_element_contentcdata_sectionscommentscharset_overrides_xml_encodinginfosetsupported_mediatypes_onlyerrorHandlerfilter r   r   */usr/lib64/python3.6/xml/dom/xmlbuilder.pyr      s(   r   c            5   @   sV  e Zd ZdZdZdZdZdZdZdZ	eeee	f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d4d5gd6d7gd8d9gd:d;gd<d=gd>d?gd@dAgdBdCgdDdEgdFdGgdHdIdJgdKdLgdMdNgdOdPgdQdRgdSdTgdUdVgdWdXgdYdZgd[d\gd]g d^d_d`dadbdcdddedfdgg	dhdigdjdkgdldmgiZd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 ZdS )nr   Nr            c             C   s   t  | _d S )N)r   _options)selfr   r   r   __init__:   s    zDOMBuilder.__init__c             C   s   | j S )N)entityResolver)r#   r   r   r   _get_entityResolver=   s    zDOMBuilder._get_entityResolverc             C   s
   || _ d S )N)r%   )r#   r%   r   r   r   _set_entityResolver?   s    zDOMBuilder._set_entityResolverc             C   s   | j S )N)r   )r#   r   r   r   _get_errorHandlerB   s    zDOMBuilder._get_errorHandlerc             C   s
   || _ d S )N)r   )r#   r   r   r   r   _set_errorHandlerD   s    zDOMBuilder._set_errorHandlerc             C   s   | j S )N)r   )r#   r   r   r   _get_filterG   s    zDOMBuilder._get_filterc             C   s
   || _ d S )N)r   )r#   r   r   r   r   _set_filterI   s    zDOMBuilder._set_filterc             C   s   | j |rv|rdpd}y| jt||f }W n& tk
rR   tjjd|f Y qX x4|D ]\}}t| j|| qZW ntjj	dt
| d S )Nr   r   zunsupported feature: %rzunknown feature: )supportsFeature	_settings_name_xformKeyErrorxmldomNotSupportedErrsetattrr"   NotFoundErrrepr)r#   namestateZsettingsvaluer   r   r   
setFeatureL   s    
zDOMBuilder.setFeaturec             C   s   t | jt|S )N)hasattrr"   r.   )r#   r6   r   r   r   r,   Z   s    zDOMBuilder.supportsFeaturec             C   s   t ||rdpdf}|| jkS )Nr   r   )r.   r-   )r#   r6   r7   keyr   r   r   canSetFeature]   s    zDOMBuilder.canSetFeaturer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c             C   s   t |}yt| j|S  tk
r   |dkrj| j}|joh|joh|joh|joh|jpf|j	pf|j
pf|jpf|j S tjjdt| Y nX d S )Nr   zfeature %s not known)r.   getattrr"   AttributeErrorr   r   r   r   r   r   r   r   r   r0   r1   r4   r5   )r#   r6   Zxnameoptionsr   r   r   
getFeature   s     zDOMBuilder.getFeaturec             C   s.   | j r| j jd |}nt jd |}| j|S )N)r%   resolveEntityr   parse)r#   uriinputr   r   r   parseURI   s    zDOMBuilder.parseURIc             C   sR   t j | j}| j|_| j|_|j}|d krF|jrFdd l}|jj|j}| j	||S )Nr   )
copyr"   r   r   
byteStreamsystemIdurllib.requestrequestZurlopen_parse_bytestream)r#   rD   r?   fpurllibr   r   r   rB      s    zDOMBuilder.parsec             C   s   || j krtdtdd S )Nznot a legal actionzHaven't written this yet...)_legal_actions
ValueErrorNotImplementedError)r#   rD   Zcnodeactionr   r   r   parseWithContext   s    
zDOMBuilder.parseWithContextc             C   s    dd l }|jjj|}|j|S )Nr   )Zxml.dom.expatbuilderr1   ZexpatbuilderZmakeBuilderZ	parseFile)r#   streamr?   r0   Zbuilderr   r   r   rK      s    zDOMBuilder._parse_bytestream)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   )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   )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   )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   ZACTION_REPLACEZACTION_APPEND_AS_CHILDRENZACTION_INSERT_AFTERZACTION_INSERT_BEFORErN   r$   r&   r'   r(   r)   r*   r+   r9   r,   r<   r-   r@   rE   rB   rR   rK   r   r   r   r   r   -   s   

c             C   s   | j  jddS )N-_)lowerreplace)r6   r   r   r   r.      s    r.   c               @   s0   e Zd ZdZdd Zdd Zdd Zdd	 Zd
S )r   _openerc             C   s   t  }||_||_| j j||_| j||_dd l}dd l	}|j
j|}|\}}}	}
}}|	r|	jd r|j|	d }	|||	|
||f}|j
j||_|S )Nr   /)r   publicIdrH   _get_openeropenrG   _guess_media_encodingencoding	posixpathZurllib.parserB   ZurlparseendswithdirnameZ
urlunparsebaseURI)r#   rZ   rH   sourcer_   rM   partsschemeZnetlocpathZparamsZqueryZfragmentr   r   r   rA      s    zDOMEntityResolver.resolveEntityc             C   s,   y| j S  tk
r&   | j | _ | j S X d S )N)rX   r>   _create_opener)r#   r   r   r   r[      s
    
zDOMEntityResolver._get_openerc             C   s   dd l }|jj S )Nr   )rI   rJ   Zbuild_opener)r#   rM   r   r   r   rg      s    z DOMEntityResolver._create_openerc             C   sF   |j j }d|krBx.|j D ]"}|jdr|jddd j S qW d S )NzContent-Typezcharset==r   )rG   infoZgetplist
startswithsplitrV   )r#   rc   ri   Zparamr   r   r   r]      s
    

z'DOMEntityResolver._guess_media_encodingN)rX   )r   r	   r
   	__slots__rA   r[   rg   r]   r   r   r   r   r      s
   c               @   s   e Zd Z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&S )(r   rG   characterStream
stringDatar^   rZ   rH   rb   c             C   s.   d | _ d | _d | _d | _d | _d | _d | _d S )N)rG   rm   rn   r^   rZ   rH   rb   )r#   r   r   r   r$     s    zDOMInputSource.__init__c             C   s   | j S )N)rG   )r#   r   r   r   _get_byteStream  s    zDOMInputSource._get_byteStreamc             C   s
   || _ d S )N)rG   )r#   rG   r   r   r   _set_byteStream  s    zDOMInputSource._set_byteStreamc             C   s   | j S )N)rm   )r#   r   r   r   _get_characterStream  s    z#DOMInputSource._get_characterStreamc             C   s
   || _ d S )N)rm   )r#   rm   r   r   r   _set_characterStream  s    z#DOMInputSource._set_characterStreamc             C   s   | j S )N)rn   )r#   r   r   r   _get_stringData  s    zDOMInputSource._get_stringDatac             C   s
   || _ d S )N)rn   )r#   datar   r   r   _set_stringData  s    zDOMInputSource._set_stringDatac             C   s   | j S )N)r^   )r#   r   r   r   _get_encoding  s    zDOMInputSource._get_encodingc             C   s
   || _ d S )N)r^   )r#   r^   r   r   r   _set_encoding  s    zDOMInputSource._set_encodingc             C   s   | j S )N)rZ   )r#   r   r   r   _get_publicId"  s    zDOMInputSource._get_publicIdc             C   s
   || _ d S )N)rZ   )r#   rZ   r   r   r   _set_publicId$  s    zDOMInputSource._set_publicIdc             C   s   | j S )N)rH   )r#   r   r   r   _get_systemId'  s    zDOMInputSource._get_systemIdc             C   s
   || _ d S )N)rH   )r#   rH   r   r   r   _set_systemId)  s    zDOMInputSource._set_systemIdc             C   s   | j S )N)rb   )r#   r   r   r   _get_baseURI,  s    zDOMInputSource._get_baseURIc             C   s
   || _ d S )N)rb   )r#   rC   r   r   r   _set_baseURI.  s    zDOMInputSource._set_baseURIN)rG   rm   rn   r^   rZ   rH   rb   )r   r	   r
   rl   r$   ro   rp   rq   rr   rs   ru   rv   rw   rx   ry   rz   r{   r|   r}   r   r   r   r   r     s"    	c               @   s>   e Zd ZdZdZdZdZdZej	Z
dd Zdd	 Zd
d ZdS )DOMBuilderFilterzSElement filter which can be used to tailor construction of
    a DOM instance.
    r   r   r    r!   c             C   s   | j S )N)
whatToShow)r#   r   r   r   _get_whatToShowC  s    z DOMBuilderFilter._get_whatToShowc             C   s   | j S )N)FILTER_ACCEPT)r#   elementr   r   r   
acceptNodeF  s    zDOMBuilderFilter.acceptNodec             C   s   | j S )N)r   )r#   r   r   r   r   startContainerI  s    zDOMBuilderFilter.startContainerN)r   r	   r
   r   r   ZFILTER_REJECTZFILTER_SKIPZFILTER_INTERRUPTr   ZSHOW_ALLr   r   r   r   r   r   r   r   r~   2  s   r~   c               @   s$   e Zd Zdd Zdd Zdd ZdS )_AsyncDeprecatedPropertyc             C   s   |j }tjdj|dt d S )Nz+{cls}.async is deprecated; use {cls}.async_)cls)r   warningswarnformatDeprecationWarning)r#   r   Zclsnamer   r   r   r   P  s    
z_AsyncDeprecatedProperty.warnc             C   s   | j | |d k	r|jS dS )NF)r   async_)r#   instancer   r   r   r   __get__V  s    
z _AsyncDeprecatedProperty.__get__c             C   s   | j t| t|d| d S )Nr   )r   typer3   )r#   r   r8   r   r   r   __set__\  s    z _AsyncDeprecatedProperty.__set__N)r   r	   r
   r   r   r   r   r   r   r   r   O  s   r   c               @   sP   e Zd ZdZdZe e d< dd Zdd Zdd	 Z	d
d Z
dd Zdd ZdS )
DocumentLSz=Mixin to create documents that conform to the load/save spec.Fasyncc             C   s   dS )NFr   )r#   r   r   r   
_get_asyncg  s    zDocumentLS._get_asyncc             C   s   |rt jjdd S )Nz.asynchronous document loading is not supported)r0   r1   r2   )r#   flagr   r   r   
_set_asyncj  s    zDocumentLS._set_asyncc             C   s   t dd S )Nz'haven't figured out what this means yet)rP   )r#   r   r   r   aborto  s    zDocumentLS.abortc             C   s   t dd S )Nzhaven't written this yet)rP   )r#   rC   r   r   r   loadu  s    zDocumentLS.loadc             C   s   t dd S )Nzhaven't written this yet)rP   )r#   rc   r   r   r   loadXMLx  s    zDocumentLS.loadXMLc             C   s*   |d kr| }n|j | k	r"tjj |j S )N)ZownerDocumentr0   r1   ZWrongDocumentErrZtoxml)r#   Zsnoder   r   r   saveXML{  s
    

zDocumentLS.saveXMLN)r   r	   r
   r   r   r   localsr   r   r   r   r   r   r   r   r   r   r   a  s   r   c               @   s,   e Zd ZdZdZdd Zdd Zdd Zd	S )
DOMImplementationLSr   r   c             C   sF   |d k	rt jjd|| jkr$t S || jkr:t jjdtdd S )NzschemaType not yet supportedz'asynchronous builders are not supportedzunknown value for mode)r0   r1   r2   MODE_SYNCHRONOUSr   MODE_ASYNCHRONOUSrO   )r#   modeZ
schemaTyper   r   r   createDOMBuilder  s    

z$DOMImplementationLS.createDOMBuilderc             C   s   t dd S )Nz-the writer interface hasn't been written yet!)rP   )r#   r   r   r   createDOMWriter  s    z#DOMImplementationLS.createDOMWriterc             C   s   t  S )N)r   )r#   r   r   r   createDOMInputSource  s    z(DOMImplementationLS.createDOMInputSourceN)r   r	   r
   r   r   r   r   r   r   r   r   r   r     s
   r   )r   rF   r   Zxml.domr0   Zxml.dom.NodeFilterr   __all__r   r   r.   objectr   r   r~   r   r   r   r   r   r   r   <module>   s"   
  %,1"