3
NZIY              @   @   s   d Z ddlZddlZddlZdZdZejd dkZejd dkZerfe	fZ
efZefZe	ZeZejZnefZ
eefZeejfZeZe	Zejjdred6ZnJG d
d deZyee  W n ek
r   ed8ZY nX ed:Z[dd Zdd ZG dd deZ G dd de Z!G dd dej"Z#G dd de Z$G dd de#Z%e$dddde$ddd d!de$d"ddd#d"e$d$d%d d&d$e$d'dd d(d'e$d)d%d d*d)e$d+d%d,d-e$d.d%d/e$ddde$d0d0d1e$d*d%d d*d)e$d2dd d3d2e$d4ddd5d4e!d d%e!d6d7e!d8d9e!d:d;d<e!d=d>d?e!d@dAdBe!dCdDdEe!dFdGdHe!dIdJdKe!dLdMdNe!dOdPdQe!dRdSdTe!dUdUdVe!dWdWdVe!dXdXdVe!dYdYdZe!d[d\e!d]d^e!d_d`e!dadbdae!dcdde!dedfdge!dhdidje!dkdldme!dndodpe!dqdrdse!dtdudve!dwdxdye!dzd{d|e!d}d~de!ddde!dddje!ddde!ddde!dddpe!de&d de!de&d de!de&d e&d e!ddde!ddde!ddg6Z'x<e'D ]4Z(e)e%e(j*e( e+e(e!re(ej,e&d e(j* < qW [(e'e%_'e%e&d  Z-ej,e&d < G dd de#Z.e$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$dddgZ/xe/D ]Z(e)e.e(j*e( qW [(e/e._'e.e&d  ej,e&d < ej,e&d < G dd de#Z0e$ddde$ddde$dddgZ1xe1D ]Z(e)e0e(j*e( qW [(e1e0_'e0e&d  ej,e&d < ej,e&d < G dd de#Z2e$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$ddde$dddg!Z3xe3D ]Z(e)e2e(j*e( qW [(e3e2_'e2e&d  ej,e&d < ej,e&d < G ddބ de#Z4e$ddde$ddde$ddde$dddgZ5xe5D ]Z(e)e4e(j*e( q>W [(e5e4_'e4e&d  ej,e&d < ej,e&d < G dd de#Z6e$dddgZ7xe7D ]Z(e)e6e(j*e( qW [(e7e6_'e6e&d  ej,e&d < ej,e&d < G dd dej"Z8e8e&d ej,e&d < dd Z9dd Z:erRdZ;dZ<dZ=dZ>dZ?dZ@dZAdZBdZCdZDn2dZ;dZ<dZ=dZ>dZ?d Z@dZAdZBdZCdZDyeEZFW n" eGk
r   dd ZFY nX eFZEyeHZHW n" eGk
r   dd ZHY nX erd	d
 ZIejJZKeZLn2dd
 ZIdd ZKG dd deZLeHZHeeId ejMe;ZNejMe<ZOejMe=ZPejMe>ZQejMe?ZRejMe@ZSdd ZTdd ZUdd ZVdd ZWe
r$dd ZXdd ZYeZZ[ejd dk	rdd Z\nej]dddZ\ej^dZ_ej`ZaebZcddldZdedjeZeedjfZfnVdd ZXdd ZYe[Z[eZZ\dd  Z_d!d" Zad#d$ ZcddleZeeeje ZeZfeeXd% eeYd& e
rege-jhd'Zid;d(d)Zjnd<d*d+Zieid, ege-jhd-dZkekdk
rd.d/ Zkeejd0 d1d2 Zld3d4 ZmdS (=  z6Utilities for writing code that runs on Python 2 and 3    Nz'Benjamin Peterson <benjamin@python.org>z1.5.2      java      c               @   s   e Zd Zdd ZdS )Xc             C   s   dS )Nr   r   l         )selfr   r   /usr/share/hplip/base/six.py__len__8   s    z	X.__len__N)__name__
__module____qualname__r   r   r   r   r
   r   7   s   r   ?   c             C   s
   || _ dS )z Add documentation to a function.N)__doc__)funcdocr   r   r
   _add_docE   s    r   c             C   s   t |  tj|  S )z7Import module, returning the module after the last dot.)
__import__sysmodules)namer   r   r
   _import_moduleJ   s    r   c               @   s   e Zd Zdd Zdd ZdS )
_LazyDescrc             C   s
   || _ d S )N)r   )r	   r   r   r   r
   __init__R   s    z_LazyDescr.__init__c             C   s(   | j  }t|| j| t|j| j |S )N)_resolvesetattrr   delattr	__class__)r	   objtpresultr   r   r
   __get__U   s    z_LazyDescr.__get__N)r   r   r   r   r"   r   r   r   r
   r   P   s   r   c                   s.   e Zd Zd fdd	Zdd Zdd Z  ZS )	MovedModuleNc                s2   t t| j| tr(|d kr |}|| _n|| _d S )N)superr#   r   PY3mod)r	   r   oldnew)r   r   r
   r   _   s    zMovedModule.__init__c             C   s
   t | jS )N)r   r&   )r	   r   r   r
   r   h   s    zMovedModule._resolvec             C   s:   |dkr| j tjkrt| j }t||}t| || |S )N__file__r   )r)   r   )r&   r   r   AttributeErrorr   getattrr   )r	   attr_modulevaluer   r   r
   __getattr__k   s    
zMovedModule.__getattr__)N)r   r   r   r   r   r/   __classcell__r   r   )r   r
   r#   ]   s   	r#   c                   s(   e Zd Z fddZdd Zg Z  ZS )_LazyModulec                s   t t| j| | jj| _d S )N)r$   r1   r   r   r   )r	   r   )r   r   r
   r   |   s    z_LazyModule.__init__c             C   s    ddg}|dd | j D 7 }|S )Nr   r   c             S   s   g | ]
}|j qS r   )r   ).0r,   r   r   r
   
<listcomp>   s    z'_LazyModule.__dir__.<locals>.<listcomp>)_moved_attributes)r	   Zattrsr   r   r
   __dir__   s    z_LazyModule.__dir__)r   r   r   r   r5   r4   r0   r   r   )r   r
   r1   z   s   r1   c                   s&   e Zd Zd fdd	Zdd Z  ZS )MovedAttributeNc                sd   t t| j| trH|d kr |}|| _|d kr@|d kr<|}n|}|| _n|| _|d krZ|}|| _d S )N)r$   r6   r   r%   r&   r,   )r	   r   Zold_modZnew_modZold_attrZnew_attr)r   r   r
   r      s    zMovedAttribute.__init__c             C   s   t | j}t|| jS )N)r   r&   r+   r,   )r	   moduler   r   r
   r      s    
zMovedAttribute._resolve)NN)r   r   r   r   r   r0   r   r   )r   r
   r6      s   r6   c               @   s   e Zd ZdZdS )_MovedItemszLazy loading of moved objectsN)r   r   r   r   r   r   r   r
   r8      s   r8   	cStringIOioStringIOfilter	itertoolsbuiltinsZifilterfilterfalseZifilterfalseinputZ__builtin__Z	raw_inputmapZimaprangeZxrangeZreload_moduleimpreloadreduce	functools
UserStringcollectionszipZizipzip_longestZizip_longestconfigparserConfigParsercopyregZcopy_regZdbm_gnuZgdbmzdbm.gnuZhttp_cookiejarZ	cookielibzhttp.cookiejarZhttp_cookiesZCookiezhttp.cookiesZhtml_entitiesZhtmlentitydefszhtml.entitiesZhtml_parserZ
HTMLParserzhtml.parserZhttp_clientZhttplibzhttp.clientZemail_mime_multipartzemail.MIMEMultipartzemail.mime.multipartZemail_mime_textzemail.MIMETextzemail.mime.textZemail_mime_basezemail.MIMEBasezemail.mime.baseZBaseHTTPServerzhttp.serverZCGIHTTPServerZSimpleHTTPServerZcPicklepickleZqueueZQueuereprlibreprZsocketserverZSocketServer_threadZthreadZtkinterZTkinterZtkinter_dialogZDialogztkinter.dialogZtkinter_filedialogZ
FileDialogztkinter.filedialogZtkinter_scrolledtextZScrolledTextztkinter.scrolledtextZtkinter_simpledialogZSimpleDialogztkinter.simpledialogZtkinter_tixZTixztkinter.tixZtkinter_ttkZttkztkinter.ttkZtkinter_constantsZTkconstantsztkinter.constantsZtkinter_dndZTkdndztkinter.dndZtkinter_colorchooserZtkColorChooserztkinter.colorchooserZtkinter_commondialogZtkCommonDialogztkinter.commondialogZtkinter_tkfiledialogZtkFileDialogZtkinter_fontZtkFontztkinter.fontZtkinter_messageboxZtkMessageBoxztkinter.messageboxZtkinter_tksimpledialogZtkSimpleDialogZurllib_parsez.moves.urllib_parsezurllib.parseZurllib_errorz.moves.urllib_errorzurllib.errorZurllibz.moves.urllibZurllib_robotparserrobotparserzurllib.robotparserZxmlrpc_clientZ	xmlrpclibzxmlrpc.clientwinreg_winregz.moves.z.movesc               @   s   e Zd ZdZdS )Module_six_moves_urllib_parsez7Lazy loading of moved objects in six.moves.urllib_parseN)r   r   r   r   r   r   r   r
   rU      s   rU   ZParseResultZurlparseZparse_qsZ	parse_qslZ	urldefragZurljoinZurlsplitZ
urlunparseZ
urlunsplitZquoteZ
quote_plusZunquoteZunquote_plusZ	urlencodez.moves.urllib.parsec               @   s   e Zd ZdZdS )Module_six_moves_urllib_errorz7Lazy loading of moved objects in six.moves.urllib_errorN)r   r   r   r   r   r   r   r
   rV     s   rV   ZURLErrorZurllib2Z	HTTPErrorZContentTooShortErrorz.moves.urllib.errorc               @   s   e Zd ZdZdS )Module_six_moves_urllib_requestz9Lazy loading of moved objects in six.moves.urllib_requestN)r   r   r   r   r   r   r   r
   rW     s   rW   Zurlopenzurllib.requestZinstall_openerZbuild_openerZpathname2urlZurl2pathnameZ
getproxiesZRequestZOpenerDirectorZHTTPDefaultErrorHandlerZHTTPRedirectHandlerZHTTPCookieProcessorZProxyHandlerZBaseHandlerZHTTPPasswordMgrZHTTPPasswordMgrWithDefaultRealmZAbstractBasicAuthHandlerZHTTPBasicAuthHandlerZProxyBasicAuthHandlerZAbstractDigestAuthHandlerZHTTPDigestAuthHandlerZProxyDigestAuthHandlerZHTTPHandlerZHTTPSHandlerZFileHandlerZ
FTPHandlerZCacheFTPHandlerZUnknownHandlerZHTTPErrorProcessorZurlretrieveZ
urlcleanupZ	URLopenerZFancyURLopenerZproxy_bypassz.moves.urllib.requestz.moves.urllib_requestc               @   s   e Zd ZdZdS ) Module_six_moves_urllib_responsez:Lazy loading of moved objects in six.moves.urllib_responseN)r   r   r   r   r   r   r   r
   rX   M  s   rX   Zaddbasezurllib.responseZaddclosehookZaddinfoZ
addinfourlz.moves.urllib.responsez.moves.urllib_responsec               @   s   e Zd ZdZdS )#Module_six_moves_urllib_robotparserz=Lazy loading of moved objects in six.moves.urllib_robotparserN)r   r   r   r   r   r   r   r
   rY   `  s   rY   ZRobotFileParserz.moves.urllib.robotparserz.moves.urllib_robotparserc               @   s^   e Zd ZdZeje d  Zeje d  Zeje d  Zeje d  Z	eje d  Z
dd Zd	S )
Module_six_moves_urllibzICreate a six.moves.urllib namespace that resembles the Python 3 namespacez.moves.urllib_parsez.moves.urllib_errorz.moves.urllib_requestz.moves.urllib_responsez.moves.urllib_robotparserc             C   s   dddddgS )NparseerrorrequestresponserR   r   )r	   r   r   r
   r5   x  s    zModule_six_moves_urllib.__dir__N)r   r   r   r   r   r   r[   r\   r]   r^   rR   r5   r   r   r   r
   rZ   p  s   rZ   c             C   s   t t| j|  dS )zAdd an item to six.moves.N)r   r8   r   )Zmover   r   r
   add_move  s    r_   c             C   sX   yt t|  W nD tk
rR   ytj| = W n" tk
rL   td| f Y nX Y nX dS )zRemove item from six.moves.zno such move, %rN)r   r8   r*   moves__dict__KeyError)r   r   r   r
   remove_move  s    rc   __func____self____closure____code____defaults____globals__keysvaluesitemsZlistsim_funcZim_selfZfunc_closureZ	func_codeZfunc_defaultsZfunc_globalsiterkeys
itervalues	iteritems	iterlistsc             C   s   | j  S )N)next)itr   r   r
   advance_iterator  s    rt   c             C   s   t dd t| jD S )Nc             s   s   | ]}d |j kV  qdS )__call__N)ra   )r2   klassr   r   r
   	<genexpr>  s    zcallable.<locals>.<genexpr>)anytype__mro__)r   r   r   r
   callable  s    r{   c             C   s   | S )Nr   )unboundr   r   r
   get_unbound_function  s    r}   c             C   s   | j S )N)rm   )r|   r   r   r
   r}     s    c             C   s   t j| ||jS )N)types
MethodTyper   )r   r   r   r   r
   create_bound_method  s    r   c               @   s   e Zd Zdd ZdS )Iteratorc             C   s   t | j| S )N)ry   __next__)r	   r   r   r
   rr     s    zIterator.nextN)r   r   r   rr   r   r   r   r
   r     s   r   z3Get the function out of a possibly unbound functionc             K   s   t t| tf |S )z1Return an iterator over the keys of a dictionary.)iterr+   	_iterkeys)dkwr   r   r
   rn     s    c             K   s   t t| tf |S )z3Return an iterator over the values of a dictionary.)r   r+   _itervalues)r   r   r   r   r
   ro     s    c             K   s   t t| tf |S )z?Return an iterator over the (key, value) pairs of a dictionary.)r   r+   
_iteritems)r   r   r   r   r
   rp     s    c             K   s   t t| tf |S )zBReturn an iterator over the (key, [values]) pairs of a dictionary.)r   r+   
_iterlists)r   r   r   r   r
   rq     s    c             C   s
   | j dS )Nzlatin-1)encode)sr   r   r
   b  s    r   c             C   s   | S )Nr   )r   r   r   r
   u  s    r   c             C   s
   t | fS )N)bytes)ir   r   r
   int2byte  s    r   to_bytesZbigc             C   s   | S )Nr   )r   r   r   r
   r     s    c             C   s   t | jdddS )Nz\\z\\\\Zunicode_escape)unicodereplace)r   r   r   r
   r     s    c             C   s   t | d S )Nr   )ord)Zbsr   r   r
   byte2int  s    r   c             C   s   t | | S )N)r   )bufr   r   r   r
   
indexbytes  s    r   c             C   s   dd | D S )Nc             s   s   | ]}t |V  qd S )N)r   )r2   Zbyter   r   r
   rw   
  s    ziterbytes.<locals>.<genexpr>r   )r   r   r   r
   	iterbytes	  s    r   zByte literalzText literalexecc             C   s   |j |k	r|j||d S )N)__traceback__with_traceback)r    r.   tbr   r   r
   reraise  s    

r   c             C   sB   |dkr*t jd}|j}|dkr&|j}~n|dkr6|}td dS )zExecute code in a namespace.Nr   zexec _code_ in _globs_, _locs_)r   	_getframe	f_globalsf_localsr   )Z_code_Z_globs_Z_locs_framer   r   r
   exec_  s    
r   z9def reraise(tp, value, tb=None):
    raise tp, value, tb
printc        
         s6  |j dtj  dkrdS  fdd}d}|j dd}|dk	r`t|trNd}nt|ts`td|j d	d}|dk	rt|trd}nt|tstd
|rtd|sx| D ]}t|trd}P qW |rtd}td}nd}d}|dkr|}|dk r|}x,t| D ] \}	}|	r|| || qW || dS )z4The new-style print function for Python 2.4 and 2.5.fileNc                sd   t | tst| } t  trVt | trV jd k	rVt dd }|d krHd}| j j|}  j|  d S )Nerrorsstrict)	
isinstance
basestringstrr   r   encodingr+   r   write)datar   )fpr   r
   r   4  s    



zprint_.<locals>.writeFsepTzsep must be None or a stringendzend must be None or a stringz$invalid keyword arguments to print()
 )popr   stdoutr   r   r   	TypeError	enumerate)
argskwargsr   Zwant_unicoder   r   argnewlineZspacer   r   )r   r
   print_/  sL    







r   zReraise an exception.c             G   s   | d|i S )z%Create a base class with a metaclass.ZNewBaser   )metabasesr   r   r
   with_metaclassg  s    r   c                s    fdd}|S )z6Class decorator for creating a class with a metaclass.c                sl   | j j }|jdd  |jdd  |jd}|d k	r\t|trD|g}x|D ]}|j| qJW  | j| j|S )Nra   __weakref__	__slots__)ra   copyr   getr   r   r   	__bases__)clsZ	orig_varsslotsZ	slots_var)	metaclassr   r
   wrapperm  s    



zadd_metaclass.<locals>.wrapperr   )r   r   r   )r   r
   add_metaclassk  s    r   l        il        il            l    )N)NN)nr   operatorr   r~   
__author____version__version_infoZPY2r%   r   Zstring_typesintZinteger_typesry   Zclass_typesZ	text_typer   Zbinary_typemaxsizeZMAXSIZEr   ZlongZ	ClassTyper   platform
startswithobjectr   lenOverflowErrorr   r   r   r#   
ModuleTyper1   r6   r8   r   r4   r,   r   r   r   r   r`   rU   Z_urllib_parse_moved_attributesrV   Z_urllib_error_moved_attributesrW   Z _urllib_request_moved_attributesrX   Z!_urllib_response_moved_attributesrY   Z$_urllib_robotparser_moved_attributesrZ   r_   rc   Z
_meth_funcZ
_meth_selfZ_func_closureZ
_func_codeZ_func_defaultsZ_func_globalsr   r   r   r   rr   rt   	NameErrorr{   r}   r   r   r   
attrgetterZget_method_functionZget_method_selfZget_function_closureZget_function_codeZget_function_defaultsZget_function_globalsrn   ro   rp   rq   r   r   chrZunichrr   methodcaller
itemgetterr   getitemr   r   r   r:   r;   BytesIOr+   r>   r   r   r   r   r   r   r   r   r
   <module>   s$  














































$


$
































$



$
$








5