
Rc        @   @@  s  d  d k  l Z d  d k Z d  d k Z d  d k Z e i d  d j  od  d k l Z e f Z e	 Z
 d  d k l Z d  d k Z d  d k Z d d k l Z d  d k l Z l Z l Z l Z l Z d  d	 k l Z l Z l Z l Z l Z l  Z  l! Z! d
   Z d  d k" Z" d  d k" l# Z# l$ Z$ l% Z% l& Z& l' Z' l( Z( l) Z) l* Z* l+ Z+ l, Z, d  d k- Z- d  d k. Z. d  d k/ Z0 d  d k1 l1 Z1 d  d k2 Z2 e3 Z3 d  d k4 l5 Z6 d  d k4 l7 Z8 d a: d   Z; d e< f d     YZ= d   Z> d   Z? nd  d k@ l Z eA f Z eA Z
 d  d k@ lB Z d  d k Z d  d k Z d  d k Z d  d kC l Z l Z l Z l; Z; l Z l Z l Z l Z l! Z! d  d kD l$ Z$ l Z l# Z# l Z l Z l' Z' l( Z( l) Z) l* Z* l+ Z+ l, Z, d  d kE l& Z& l% Z% l  Z  d  d kF iG Z- d  d kD iH Z" d  d kI iG Z. d  d k0 Z0 d  d kJ l1 Z1 d  d kK iL Z2 eM Z3 d  d k4 l8 Z8 e6 Z6 d  d kN l? Z? l= Z= d  d kO lP ZQ eR eQ d  o
 eQ ZP n= d  d kO lS ZT d eT f d     YZS d eQ f d      YZP y d  d! kU lV ZV Wn eW j
 o d"   ZV n Xy d  d kX ZX Wn# eW j
 o d d# k lX ZX n Xy
 eY ZY Wn, eZ j
 o  d  d$ k[ l\ Z\ d%   ZY n Xy e i] Z] e i^ Z^ WnN e_ j
 oB e i`   Za ea d& j o
 d' Zb n d( Zb d)   Z] d*   Z^ n Xy d  d+ kc ld Zd WnV eW j
 oJ d  d, ke lf Zf lg Zg d  d k Z e ih d-  Zi d.   Zj d/   Zd n Xy d  d0 kk ll Zl Wn# eW j
 o d  d0 km ll Zl n Xe1   in Zn y d  d1 k[ lo Zo Wno eW j
 oc d  d2 k[ lp Zp y d  d3 kq lr Zs Wn eW j
 o d4 d5  Zs n Xd6 ep f d7     YZo n Xy d  d8 kt lu Zu Wn eW j
 o d d9  Zu n Xy d  d: k[ lv Zv Wn eW j
 o y d  d; kw lx Zy Wn# eW j
 o d  d; kz lx Zy n Xy  d  d< k{ l| Z| l} Z} l~ Z~ Wn eW j
 o n Xd= e f d>     YZv n Xd S(?   i    (   t   absolute_importNi   (   t   StringIO(   t   FileTypei   (   t   shutil(   t   urlparset
   urlunparset   urljoint   urlsplitt
   urlunsplit(   t   urlretrievet   quotet   unquotet   url2pathnamet   pathname2urlt   ContentTooShortErrort	   splittypec         C@  s-   t  |  t  o |  i d  }  n t |   S(   Ns   utf-8(   t
   isinstancet   unicodet   encodet   _quote(   t   s(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR
      s    (
   t   Requestt   urlopent   URLErrort	   HTTPErrort   HTTPBasicAuthHandlert   HTTPPasswordMgrt   HTTPSHandlert   HTTPHandlert   HTTPRedirectHandlert   build_opener(   t
   HTMLParser(   t   ifilter(   t   ifilterfalsec         C@  s]   t  d j o d d k } | i d  a  n t  i |   } | o | i d d  Sd |  f S(   sJ   splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.i    Ns   ^(.*)@(.*)$i   i   (   t	   _userprogt   Nonet   ret   compilet   matcht   group(   t   hostR$   R&   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt	   splituser-   s     t   CertificateErrorc           B@  s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR*   8   s   c         C@  s   g  } x] |  i  d  D]L } | d j o | i d  q t i |  } | i | i d d   q Wt i d d i |  d t i  S(	   Nt   .t   *s   [^.]+s   \*s   [^.]*s   \As   \.s   \Z(   t   splitt   appendR$   t   escapet   replaceR%   t   joint
   IGNORECASE(   t   dnt   patst   frag(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   _dnsname_to_pat<   s     c         C@  sw  |  p t  d   n g  } |  i d d  } xM | D]E \ } } | d j o, t |  i |  o d S| i |  q6 q6 W| pq xn |  i d d  D]V } xM | D]E \ } } | d j o, t |  i |  o d S| i |  q q Wq Wn t |  d j o, t d | d	 i t t	 |   f   n> t |  d j o t d
 | | d f   n t d   d S(   s7  Verify that *cert* (in decoded format as returned by
        SSLSocket.getpeercert()) matches the *hostname*.  RFC 2818 rules
        are mostly followed, but IP addresses are not accepted for *hostname*.

        CertificateError is raised on failure. On success, the function
        returns nothing.
        s   empty or no certificatet   subjectAltNamet   DNSNt   subjectt
   commonNamei   s&   hostname %r doesn't match either of %ss   , s   hostname %r doesn't match %ri    s=   no appropriate commonName or subjectAltName fields were found(    (    (
   t
   ValueErrort   getR8   R&   R0   t   lenR*   R3   t   mapt   repr(   t   certt   hostnamet   dnsnamest   sant   keyt   valuet   sub(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   match_hostnameJ   s4       &(   t   TextIOWrapper(	   R   R   R   R)   R
   R   R   R   R   (   R   R	   R   R   R   R   R   R   R   R   R   (   R   R   R   (   t   filterfalse(   RI   R*   (   t   ZipFilet	   __enter__(   t
   ZipExtFileRN   c           B@  s#   e  Z d    Z d   Z d   Z RS(   c         C@  s   |  i  i | i   d  S(   N(   t   __dict__t   update(   t   selft   base(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __init__   s    c         C@  s   |  S(   N(    (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyRM      s    c         G@  s   |  i    d  S(   N(   t   close(   RQ   t   exc_info(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __exit__   s    (   R+   R,   RS   RM   RV   (    (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyRN      s   		RL   c           B@  s#   e  Z d    Z d   Z d   Z RS(   c         C@  s   |  S(   N(    (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyRM      s    c         G@  s   |  i    d  S(   N(   RT   (   RQ   RU   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyRV      s    c         O@  s   t  i |  | |  } t |  S(   N(   t   BaseZipFilet   openRN   (   RQ   t   argst   kwargsRR   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyRX      s    (   R+   R,   RM   RV   RX   (    (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyRL      s   		(   t   python_implementationc           C@  sF   d t  i j o d St i d j o d St  i i d  o d Sd S(   s6   Return a string identifying the Python implementation.t   PyPyt   javat   Jythont
   IronPythont   CPython(   t   syst   versiont   ost   namet
   startswith(    (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR[      s    (   t	   sysconfig(   t   Callablec         C@  s   t  |  t  S(   N(   R   Rg   (   t   obj(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   callable   s    t   mbcst   strictt   surrogateescapec         C@  sS   t  |  t  o |  St  |  t  o |  i t t  St d t |   i   d  S(   Ns   expect bytes or str, not %s(	   R   t   bytest	   text_typeR   t   _fsencodingt	   _fserrorst	   TypeErrort   typeR+   (   t   filename(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   fsencode   s    c         C@  sS   t  |  t  o |  St  |  t  o |  i t t  St d t |   i   d  S(   Ns   expect bytes or str, not %s(	   R   Rn   Rm   t   decodeRo   Rp   Rq   Rr   R+   (   Rs   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   fsdecode   s    (   t   detect_encoding(   t   BOM_UTF8t   lookups   coding[:=]\s*([-\w.]+)c         C@  sd   |  d  i    i d d  } | d j p | i d  o d S| d j p | i d  o d S|  S(   s(   Imitates get_normal_name in tokenizer.c.i   t   _t   -s   utf-8s   utf-8-s   latin-1s
   iso-8859-1s   iso-latin-1s   latin-1-s   iso-8859-1-s   iso-latin-1-(   s   latin-1s
   iso-8859-1s   iso-latin-1(   s   latin-1-s   iso-8859-1-s   iso-latin-1-(   t   lowerR2   Re   (   t   orig_enct   enc(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   _get_normal_name   s    c      	   @  s  y  i  i  Wn t j
 o d  n Xt   d } d }  f d   }    f d   } |   } | i t  o t   | d } d } n | p | g  f S| |  } | o | | g f S|   } | p | | g f S| |  } | o | | | g f S| | | g f S(   s>  
        The detect_encoding() function is used to detect the encoding that should
        be used to decode a Python source file.  It requires one argment, readline,
        in the same way as the tokenize() generator.

        It will call readline a maximum of twice, and return the encoding used
        (as a string) and a list of any lines (left as bytes) it has read in.

        It detects the encoding from the presence of a utf-8 bom or an encoding
        cookie as specified in pep-0263.  If both a bom and a cookie are present,
        but disagree, a SyntaxError will be raised.  If the encoding cookie is an
        invalid charset, raise a SyntaxError.  Note that if a utf-8 bom is found,
        'utf-8-sig' is returned.

        If no encoding is specified, then the default of 'utf-8' will be returned.
        s   utf-8c           @  s&   y     SWn t  j
 o d SXd  S(   Nt    (   t   StopIteration(    (   t   readline(    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   read_or_stop  s    c         @  sG  y |  i  d  } WnH t j
 o< d }   d  j	 o d i |    } n t |   n Xt i |  } | p d  St | d  } y t |  } WnL t	 j
 o@   d  j o d | } n d i   |  } t |   n X oT | i
 d j o6   d  j o
 d } n d i    } t |   n | d	 7} n | S(
   Ns   utf-8s'   invalid or missing encoding declarations   {} for {!r}i    s   unknown encoding: s   unknown encoding for {!r}: {}s   encoding problem: utf-8s    encoding problem for {!r}: utf-8s   -sig(   Ru   t   UnicodeDecodeErrorR#   t   formatt   SyntaxErrort	   cookie_ret   findallR   Ry   t   LookupErrorRd   (   t   linet   line_stringt   msgt   matchest   encodingt   codec(   Rs   t	   bom_found(    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   find_cookie  s6    		
i   s	   utf-8-sigN(   t   __self__Rd   t   AttributeErrorR#   t   FalseRe   Rx   t   True(   R   R   t   defaultR   R   t   firstt   second(    (   R   Rs   R   sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyRw      s4    &	

	(   R1   (   t   ChainMap(   t   MutableMapping(   t   recursive_reprs   ...c         @  s     f d   } | S(   sm   
            Decorator to make a repr function return fillvalue for a recursive
            call
            c         @  sm   t          f d   } t  d  | _ t  d  | _ t  d  | _ t  d h   | _ | S(   Nc         @  sY   t  |   t   f } |  j o   S i |  z  |   } Wd   i |  X| S(   N(   t   idt	   get_identt   addt   discard(   RQ   RF   t   result(   t	   fillvaluet   repr_runningt   user_function(    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   wrapperj  s    R,   t   __doc__R+   t   __annotations__(   t   sett   getattrR,   R   R+   R   (   R   R   (   R   (   R   R   sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   decorating_functiong  s    	(    (   R   R   (    (   R   sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   _recursive_repra  s    R   c           B@  s   e  Z d  Z d   Z d   Z d   Z d d  Z d   Z d   Z	 d   Z
 d   Z e   d	    Z e d
    Z d   Z e Z d   Z e d    Z d   Z d   Z d   Z d   Z d   Z RS(   s   A ChainMap groups multiple dicts (or other mappings) together
        to create a single, updateable view.

        The underlying mappings are stored in a list.  That list is public and can
        accessed or updated using the *maps* attribute.  There is no other state.

        Lookups search the underlying mappings successively until a key is found.
        In contrast, writes, updates, and deletions only operate on the first
        mapping.

        c         G@  s   t  |  p h  g |  _ d S(   s   Initialize a ChainMap by setting *maps* to the given mappings.
            If no mappings are provided, a single empty dictionary is used.

            N(   t   listt   maps(   RQ   R   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyRS     s    c         C@  s   t  |   d  S(   N(   t   KeyError(   RQ   RF   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __missing__  s    c         C@  sC   x3 |  i  D]( } y | | SWq
 t j
 o q
 Xq
 W|  i |  S(   N(   R   R   R   (   RQ   RF   t   mapping(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __getitem__  s    
 	c         C@  s   | |  j o	 |  | S| S(   N(    (   RQ   RF   R   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR>     s    c         C@  s   t  t   i |  i    S(   N(   R?   R   t   unionR   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __len__  s    c         C@  s   t  t   i |  i    S(   N(   t   iterR   R   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __iter__  s    c         @  s   t    f d   |  i D  S(   Nc         3@  s   x |  ] }   | j Vq Wd  S(   N(    (   t   .0t   m(   RF   (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pys	   <genexpr>  s   	 (   t   anyR   (   RQ   RF   (    (   RF   sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __contains__  s    c         C@  s   t  |  i  S(   N(   R   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __bool__  s    c         C@  s%   d i  |  d i t t |  i    S(   Ns   {0.__class__.__name__}({1})s   , (   R   R3   R@   RA   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __repr__  s    c         G@  s   |  t  i | |   S(   s?   Create a ChainMap with a single dict created from the iterable.(   t   dictt   fromkeys(   t   clst   iterableRY   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s    c         C@  s$   |  i  |  i d i   |  i d  S(   sH   New ChainMap or subclass with a new copy of maps[0] and refs to maps[1:]i    i   (   t	   __class__R   t   copy(   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s    c         C@  s   |  i  h  |  i  S(   s;   New ChainMap with a new dict followed by all previous maps.(   R   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt	   new_child  s    c         C@  s   |  i  |  i d   S(   s   New ChainMap from maps[1:].i   (   R   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   parents  s    c         C@  s   | |  i  d | <d  S(   Ni    (   R   (   RQ   RF   RG   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __setitem__  s    c         C@  sA   y |  i  d | =Wn( t j
 o t d i |    n Xd  S(   Ni    s(   Key not found in the first mapping: {!r}(   R   R   R   (   RQ   RF   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __delitem__  s    c         C@  s;   y |  i  d i   SWn t j
 o t d   n Xd S(   sP   Remove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.i    s#   No keys found in the first mapping.N(   R   t   popitemR   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s    c         G@  sJ   y |  i  d i | |  SWn( t j
 o t d i |    n Xd S(   sW   Remove *key* from maps[0] and return its value. Raise KeyError if *key* not in maps[0].i    s(   Key not found in the first mapping: {!r}N(   R   t   popR   R   (   RQ   RF   RY   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s    c         C@  s   |  i  d i   d S(   s'   Clear maps[0], leaving maps[1:] intact.i    N(   R   t   clear(   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s    N(   R+   R,   R   RS   R   R   R#   R>   R   R   R   R   R   R   t   classmethodR   R   t   __copy__R   t   propertyR   R   R   R   R   R   (    (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR   ~  s(   													(   t   cache_from_sourcec         C@  sM   |  i  d  p t  | d  j o
 t } n | o
 d } n d } |  | S(   Ns   .pyt   ct   o(   t   endswitht   AssertionErrorR#   t	   __debug__(   t   patht   debug_overridet   suffix(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s    

(   t   OrderedDict(   R   (   t   KeysViewt
   ValuesViewt	   ItemsViewR   c           B@  s  e  Z d  Z d   Z e i d  Z e i d  Z d   Z d   Z d   Z	 e
 d  Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z e Z e   Z e d  Z d d  Z d d  Z d   Z d   Z e d d   Z d   Z d   Z d   Z  d   Z! d   Z" RS(   s)   Dictionary that remembers insertion orderc         O@  s   t  |  d j o t d t  |    n y |  i Wn9 t j
 o- g  |  _ } | | d g | (h  |  _ n X|  i | |   d S(   s   Initialize an ordered dictionary.  Signature is the same as for
            regular dictionaries, but keyword arguments are not recommended
            because their insertion order is arbitrary.

            i   s$   expected at most 1 arguments, got %dN(   R?   Rq   t   _OrderedDict__rootR   R#   t   _OrderedDict__mapt   _OrderedDict__update(   RQ   RY   t   kwdst   root(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyRS   
  s    c         C@  s^   | |  j o= |  i  } | d } | | | g | d <| d <|  i | <n | |  | |  d S(   s!   od.__setitem__(i, y) <==> od[i]=yi    i   N(   R   R   (   RQ   RF   RG   t   dict_setitemR   t   last(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s
    	
*c         C@  s@   | |  |  |  i  i |  \ } } } | | d <| | d <d S(   s    od.__delitem__(y) <==> del od[y]i   i    N(   R   R   (   RQ   RF   t   dict_delitemt	   link_prevt	   link_next(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR   $  s    
c         c@  s?   |  i  } | d } x% | | j	 o | d V| d } q Wd S(   s   od.__iter__() <==> iter(od)i   i   N(   R   (   RQ   R   t   curr(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR   -  s    	
 	c         c@  s?   |  i  } | d } x% | | j	 o | d V| d } q Wd S(   s#   od.__reversed__() <==> reversed(od)i    i   N(   R   (   RQ   R   R   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __reversed__5  s    	
 	c         C@  so   yH x |  i  i   D]
 } | 2q W|  i } | | d g | (|  i  i   Wn t j
 o n Xt i |   d S(   s.   od.clear() -> None.  Remove all items from od.N(   R   t
   itervaluesR   R#   R   R   R   (   RQ   t   nodeR   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR   =  s     	c         C@  s   |  p t  d   n |  i } | o, | d } | d } | | d <| | d <n) | d } | d } | | d <| | d <| d } |  i | =t i |  |  } | | f S(   s   od.popitem() -> (k, v), return and remove a (key, value) pair.
            Pairs are returned in LIFO order if last is true or FIFO order if false.

            s   dictionary is emptyi    i   i   (   R   R   R   R   R   (   RQ   R   R   t   linkR   R   RF   RG   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR   I  s     	








c         C@  s
   t  |   S(   s   od.keys() -> list of keys in od(   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   keysb  s    c         C@  s#   g  } |  D] } | |  | q ~ S(   s#   od.values() -> list of values in od(    (   RQ   t   _[1]RF   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   valuesf  s    c         C@  s)   g  } |  D] } | | |  | f q ~ S(   s.   od.items() -> list of (key, value) pairs in od(    (   RQ   R   RF   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   itemsj  s    c         C@  s
   t  |   S(   s0   od.iterkeys() -> an iterator over the keys in od(   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   iterkeysn  s    c         c@  s   x |  D] } |  | Vq Wd S(   s2   od.itervalues -> an iterator over the values in odN(    (   RQ   t   k(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR   r  s     c         c@  s$   x |  D] } | |  | f Vq Wd S(   s=   od.iteritems -> an iterator over the (key, value) items in odN(    (   RQ   R   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt	   iteritemsw  s     c          O@  s0  t  |   d j o t d t  |   f   n |  p t d   n |  d } d } t  |   d j o |  d } n t | t  o# xz | D] } | | | | <q Wn[ t | d  o) xG | i   D] } | | | | <q Wn" x | D] \ } } | | | <q Wx$ | i   D] \ } } | | | <qWd S(	   s  od.update(E, **F) -> None.  Update od from dict/iterable E and F.

            If E is a dict instance, does:           for k in E: od[k] = E[k]
            If E has a .keys() method, does:         for k in E.keys(): od[k] = E[k]
            Or if E is an iterable of items, does:   for k, v in E: od[k] = v
            In either case, this is followed by:     for k, v in F.items(): od[k] = v

            i   s8   update() takes at most 2 positional arguments (%d given)s,   update() takes at least 1 argument (0 given)i    i   R   N(    (   R?   Rq   R   R   t   hasattrR   R   (   RY   R   RQ   t   otherRF   RG   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyRP   |  s.    	
    c         C@  sG   | |  j o |  | } |  | =| S| |  i  j o t |   n | S(   s   od.pop(k[,d]) -> v, remove specified key and return the corresponding value.
            If key is not found, d is returned if given, otherwise KeyError is raised.

            (   t   _OrderedDict__markerR   (   RQ   RF   R   R   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s    
c         C@  s$   | |  j o	 |  | S| |  | <| S(   sD   od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od(    (   RQ   RF   R   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt
   setdefault  s    	
c         C@  s   | p
 h  } n t  |   t   f } | | j o d Sd | | <z7 |  p d |  i i f Sd |  i i |  i   f SWd | | =Xd S(   s   od.__repr__() <==> repr(od)s   ...i   s   %s()s   %s(%r)N(   R   t
   _get_identR   R+   R   (   RQ   t   _repr_runningt   call_key(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s     

c         C@  s   g  } |  D] } | | |  | g q ~ } t  |   i   } x' t  t    D] } | i | d  qM W| o |  i | f | f S|  i | f f S(   s%   Return state information for picklingN(   t   varsR   R   R   R#   R   (   RQ   R   R   R   t	   inst_dict(    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt
   __reduce__  s    + c         C@  s   |  i  |   S(   s!   od.copy() -> a shallow copy of od(   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s    c         C@  s(   |    } x | D] } | | | <q W| S(   s   OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S
            and values equal to v (which defaults to None).

            (    (   R   R   RG   t   dRF   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s
    	 c         C@  sP   t  | t  o0 t |   t |  j o |  i   | i   j St i |  |  S(   s   od.__eq__(y) <==> od==y.  Comparison to another OD is order-sensitive
            while comparison to a regular mapping is order-insensitive.

            (   R   R   R?   R   R   t   __eq__(   RQ   R   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s    0c         C@  s   |  | j S(   N(    (   RQ   R   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   __ne__  s    c         C@  s
   t  |   S(   s@   od.viewkeys() -> a set-like object providing a view on od's keys(   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   viewkeys  s    c         C@  s
   t  |   S(   s<   od.viewvalues() -> an object providing a view on od's values(   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt
   viewvalues  s    c         C@  s
   t  |   S(   sB   od.viewitems() -> a set-like object providing a view on od's items(   R   (   RQ   (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt	   viewitems  s    N(#   R+   R,   R   RS   R   R   R   R   R   R   R   R   R   R   R   R   R   R   RP   R   t   objectR   R   R#   R   R   R   R   R   R   R   R   R   R   R   (    (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyR     s:   	
													
	
					(   t
   __future__R    Rc   R$   Ra   t   version_infoR   t
   basestringt   string_typesR   Rn   t   typesR   t	   file_typet   __builtin__t   builtinst   ConfigParsert   configparsert	   _backportR   R   R   R   R   R   t   urllibR	   R
   R   R   R   R   R   R   t   urllib2R   R   R   R   R   R   R   R   R   R   t   httplibt	   xmlrpclibt   Queuet   queueR   t   htmlentitydefst	   raw_inputt	   itertoolsR    t   filterR!   RK   R#   R"   R)   R=   R*   R8   RI   t   iot   strRJ   t   urllib.parset   urllib.requestt   urllib.errort   http.clientt   clientt   requestt   xmlrpc.clientt   html.parsert   html.entitiest   entitiest   inputt   sslt   zipfileRL   RW   R   RN   t   BaseZipExtFilet   platformR[   t   ImportErrorRf   Ri   t	   NameErrort   collectionsRg   Rt   Rv   R   t   getfilesystemencodingRo   Rp   t   tokenizeRw   t   codecsRx   Ry   R%   R   R   t   htmlR1   t   cgit   unescapeR   R   t   reprlibR   R   t   impR   R   t   threadR   R   t   dummy_threadt   _abcollR   R   R   R   (    (    (    sU   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/vendor/distlib/compat.pyt   <module>   s   	(4	F		)	@L


	
				[b
 