Ñò
Nf¾Uc           @` sn  d  d k  l Z l Z l Z d  d k Z d  d k Z d  d k Z d d k l Z d d d d d	 g Z	 e i
 d
 d d d d d d g ƒ Z d „  Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ e i d e i ƒ Z h d d 6d d 6d d 6d d 6d d 6Z d „  Z d „  Z d Z d e f d  „  ƒ  YZ d! „  Z e i d" ƒ Z d# „  Z d$ „  Z d S(%   i    (   t   absolute_importt   divisiont   print_functionNi   (   t   Infinityt   parset   Versiont   LegacyVersiont   InvalidVersiont   VERSION_PATTERNt   _Versiont   epocht   releaset   devt   pret   postt   localc         C` s/   y t  |  ƒ SWn t j
 o t |  ƒ SXd S(   sÑ   
    Parse the given version string and return either a :class:`Version` object
    or a :class:`LegacyVersion` object depending on if the given version is
    a valid PEP 440 version or a legacy version.
    N(   R   R   R   (   t   version(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   "   s    c           B` s   e  Z d  Z RS(   sF   
    An invalid version was found, users should refer to PEP 440.
    (   t   __name__t
   __module__t   __doc__(    (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   .   s   t   _BaseVersionc           B` sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C` s   t  |  i ƒ S(   N(   t   hasht   _key(   t   self(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   __hash__6   s    c         C` s   |  i  | d „  ƒ S(   Nc         S` s
   |  | j  S(    (    (   t   st   o(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   <lambda>:   s    (   t   _compare(   R   t   other(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   __lt__9   s    c         C` s   |  i  | d „  ƒ S(   Nc         S` s
   |  | j S(    (    (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   =   s    (   R   (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   __le__<   s    c         C` s   |  i  | d „  ƒ S(   Nc         S` s
   |  | j S(    (    (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   @   s    (   R   (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   __eq__?   s    c         C` s   |  i  | d „  ƒ S(   Nc         S` s
   |  | j S(    (    (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   C   s    (   R   (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   __ge__B   s    c         C` s   |  i  | d „  ƒ S(   Nc         S` s
   |  | j S(    (    (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   F   s    (   R   (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   __gt__E   s    c         C` s   |  i  | d „  ƒ S(   Nc         S` s
   |  | j S(    (    (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   I   s    (   R   (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   __ne__H   s    c         C` s(   t  | t ƒ p t S| |  i | i ƒ S(   N(   t
   isinstanceR   t   NotImplementedR   (   R   R   t   method(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   K   s    (
   R   R   R   R   R   R    R!   R"   R#   R   (    (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   4   s   							c           B` sn   e  Z d  „  Z d „  Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 RS(   c         C` s%   t  | ƒ |  _ t |  i ƒ |  _ d  S(   N(   t   strt   _versiont   _legacy_cmpkeyR   (   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   __init__T   s    c         C` s   |  i  S(   N(   R(   (   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   __str__X   s    c         C` s   d i  t t |  ƒ ƒ ƒ S(   Ns   <LegacyVersion({0})>(   t   formatt   reprR'   (   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   __repr__[   s    c         C` s   |  i  S(   N(   R(   (   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   public^   s    c         C` s   |  i  S(   N(   R(   (   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   base_versionb   s    c         C` s   d  S(   N(   t   None(   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   f   s    c         C` s   t  S(   N(   t   False(   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   is_prereleasej   s    c         C` s   t  S(   N(   R2   (   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   is_postreleasen   s    (   R   R   R*   R+   R.   t   propertyR/   R0   R   R3   R4   (    (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   R   s   			s   (\d+ | [a-z]+ | \.| -)t   ct   previews   final-t   -t   rct   @c         c` s}   xq t  i |  ƒ D]` } t i | | ƒ } | p | d j o q n | d  d j o | i d ƒ Vq d | Vq Wd Vd  S(   Nt   .i   t
   0123456789i   t   *s   *final(   t   _legacy_version_component_ret   splitt   _legacy_version_replacement_mapt   gett   zfill(   R   t   part(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   _parse_version_parts|   s     c         C` sÅ   d } g  } x  t  |  i ƒ  ƒ D]Œ } | i d ƒ oi | d j  o. x+ | o | d d j o | i ƒ  qE Wn x+ | o | d d j o | i ƒ  qs Wn | i | ƒ q Wt | ƒ } | | f S(   NiÿÿÿÿR=   s   *finals   *final-t   00000000(   RD   t   lowert
   startswitht   popt   appendt   tuple(   R   R
   t   partsRC   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR)      s       s—  
    v?
    (?:
        (?:(?P<epoch>[0-9]+)!)?                           # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
        (?P<pre>                                          # pre-release
            [-_\.]?
            (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?P<pre_n>[0-9]+)?
        )?
        (?P<post>                                         # post release
            (?:-(?P<post_n1>[0-9]+))
            |
            (?:
                [-_\.]?
                (?P<post_l>post|rev|r)
                [-_\.]?
                (?P<post_n2>[0-9]+)?
            )
        )?
        (?P<dev>                                          # dev release
            [-_\.]?
            (?P<dev_l>dev)
            [-_\.]?
            (?P<dev_n>[0-9]+)?
        )?
    )
    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
c           B` s’   e  Z e i d  e d e i e i Bƒ Z d „  Z d „  Z	 d „  Z
 e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d	 „  ƒ Z RS(
   s   ^\s*s   \s*$c         C` s`  |  i  i | ƒ } | p t d i | ƒ ƒ ‚ n t d | i d ƒ o t | i d ƒ ƒ n d d t d „  | i d ƒ i d ƒ Dƒ ƒ d t	 | i d ƒ | i d	 ƒ ƒ d
 t	 | i d ƒ | i d ƒ p | i d ƒ ƒ d t	 | i d ƒ | i d ƒ ƒ d t
 | i d ƒ ƒ ƒ |  _ t |  i i |  i i |  i i |  i i |  i i |  i i ƒ |  _ d  S(   Ns   Invalid version: '{0}'R
   i    R   c         s` s   x |  ] } t  | ƒ Vq Wd  S(   N(   t   int(   t   .0t   i(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pys	   <genexpr>Ù   s   	 R;   R   t   pre_lt   pre_nR   t   post_lt   post_n1t   post_n2R   t   dev_lt   dev_nR   (   t   _regext   searchR   R,   R	   t   groupRL   RJ   R?   t   _parse_letter_versiont   _parse_local_versionR(   t   _cmpkeyR
   R   R   R   R   R   R   (   R   R   t   match(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR*   Ð   s.    ,("					c         C` s   d i  t t |  ƒ ƒ ƒ S(   Ns   <Version({0})>(   R,   R-   R'   (   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR.   ó   s    c         C` s]  g  } |  i  i d j o  | i d i |  i  i ƒ ƒ n | i d i d „  |  i  i Dƒ ƒ ƒ |  i  i d  j	 o* | i d i d „  |  i  i Dƒ ƒ ƒ n |  i  i d  j	 o$ | i d i |  i  i d ƒ ƒ n |  i  i	 d  j	 o$ | i d	 i |  i  i	 d ƒ ƒ n |  i  i
 d  j	 o3 | i d
 i d i d „  |  i  i
 Dƒ ƒ ƒ ƒ n d i | ƒ S(   Ni    s   {0}!R;   c         s` s   x |  ] } t  | ƒ Vq Wd  S(   N(   R'   (   RM   t   x(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pys	   <genexpr>þ   s   	 t    c         s` s   x |  ] } t  | ƒ Vq Wd  S(   N(   R'   (   RM   R]   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pys	   <genexpr>  s   	 s   .post{0}i   s   .dev{0}s   +{0}c         s` s   x |  ] } t  | ƒ Vq Wd  S(   N(   R'   (   RM   R]   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pys	   <genexpr>  s   	 (   R(   R
   RI   R,   t   joinR   R   R1   R   R   R   (   R   RK   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR+   ö   s     &*$$-c         C` s   t  |  ƒ i d d ƒ d S(   Nt   +i   i    (   R'   R?   (   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR/     s    c         C` sl   g  } |  i  i d j o  | i d i |  i  i ƒ ƒ n | i d i d „  |  i  i Dƒ ƒ ƒ d i | ƒ S(   Ni    s   {0}!R;   c         s` s   x |  ] } t  | ƒ Vq Wd  S(   N(   R'   (   RM   R]   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pys	   <genexpr>!  s   	 R^   (   R(   R
   RI   R,   R_   R   (   R   RK   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR0     s
     &c         C` s2   t  |  ƒ } d | j o | i d d ƒ d Sd  S(   NR`   i   (   R'   R?   (   R   t   version_string(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   %  s    c         C` s   t  |  i i p
 |  i i ƒ S(   N(   t   boolR(   R   R   (   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR3   +  s    c         C` s   t  |  i i ƒ S(   N(   Rb   R(   R   (   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR4   /  s    (   R   R   t   ret   compileR   t   VERBOSEt
   IGNORECASERV   R*   R.   R+   R5   R/   R0   R   R3   R4   (    (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   É   s   	#		c         C` sÁ   |  o | d  j o
 d } n |  i ƒ  }  |  d j o
 d }  nF |  d j o
 d }  n/ |  d j o
 d	 }  n |  d j o
 d }  n |  t | ƒ f S|  o | o d }  |  t | ƒ f Sd  S(   Ni    t   alphat   at   betat   bR6   R   R7   R9   t   revt   rR   (   R6   s   pres   preview(   Rk   Rl   (   R1   RF   RL   (   t   lettert   number(    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyRY   4  s     




s   [\._-]c         C` s/   |  d j	 o t d „  t i |  ƒ Dƒ ƒ Sd S(   sR   
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    c         s` s9   x2 |  ]+ } | i  ƒ  p | i ƒ  n
 t | ƒ Vq Wd  S(   N(   t   isdigitRF   RL   (   RM   RC   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pys	   <genexpr>\  s   	N(   R1   RJ   t   _local_version_seperatorsR?   (   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyRZ   V  s    c         C` sé   t  t t t i d „  t | ƒ ƒ ƒ ƒ ƒ } | d  j o% | d  j o | d  j	 o t } n | d  j o
 t } n | d  j o t } n | d  j o
 t } n | d  j o t } n t  d „  | Dƒ ƒ } |  | | | | | f S(   Nc         S` s
   |  d  j S(   i    (    (   R]   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR   j  s    c         s` s=   x6 |  ]/ } t  | t ƒ o | d  f n t | f Vq Wd S(   R^   N(   R$   RL   R   (   RM   RN   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pys	   <genexpr>  s   	(   RJ   t   reversedt   listt	   itertoolst	   dropwhileR1   R   (   R
   R   R   R   R   R   (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyR[   a  s&    	'

	(   t
   __future__R    R   R   t   collectionsRs   Rc   t   _structuresR   t   __all__t
   namedtupleR	   R   t
   ValueErrorR   t   objectR   R   Rd   Re   R>   R@   RD   R)   R   R   RY   Rp   RZ   R[   (    (    (    sZ   /Builds/sources/setuptools/18.1/setuptools-18.1/pkg_resources/_vendor/packaging/version.pyt   <module>   s0   	!&		9k		