£Á°è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>

7Re  c               @   s   d  d l  Z  d  d l Z d  d l Z d  d l m Z d  d l m Z m Z d  d l m	 Z	 m
 Z
 d  d l m Z d  d l m Z m Z e j Z e j Z Gd d   d e
  Z e	 j e  d S(	   i    N(   u   call_subprocess(   u   display_pathu   rmtree(   u   vcsu   VersionControl(   u   logger(   u   url2pathnameu   urlparsec                s   |  Ee  Z d  Z d Z d Z d Z d% Z d	 Z d
 Z d&   f 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   f d! d"   Z d# d$   Z   S('   u   Gitu   gitu   .gitu   cloneu   git+httpu	   git+httpsu   git+sshu   git+gitu   git+fileu   git-clone.txtus   # This was a Git repo; to make it a repo again run:
git init
git remote add origin %(url)s -f
git checkout %(rev)s
c                s   | r t  |  \ } } } } } | j d  r | d  t | j d    }	 |	 t |  j d d  j d  }
 t | | |
 | | f  } | j d  d } | d  |  t | | d   | |
 | | f  } q n  t t	 |   j
 | | |  d  S(   Nu   fileu   /u   \u   +i   (   u   urlsplitu   endswithu   lenu   lstripu   url2pathnameu   replaceu
   urlunsplitu   findu   superu   Gitu   __init__(   u   selfu   urlu   argsu   kwargsu   schemeu   netlocu   pathu   queryu   fragmentu   initial_slashesu   newpathu
   after_plus(   u	   __class__(    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   __init__   s     %9u   Git.__init__c             C   s   d  } } x | j   D] } | j   s | j   j d  rE q n  t j d |  } | ru | j d  j   } n  t j d |  } | r | j d  j   } n  | r | r | | f Sq Wd S(   Nu   #u$   git\s*remote\s*add\s*origin(.*)\s*-fi   u   ^git\s*checkout\s*-q\s*(.*)\s*(   NN(   u   Noneu
   splitlinesu   stripu
   startswithu   reu   searchu   group(   u   selfu   contentu   urlu   revu   lineu	   url_matchu	   rev_match(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   parse_vcs_bundle_file%   s    
"u   Git.parse_vcs_bundle_filec             C   s   t  j d d  } |  j |  zT | j d  s> | d } n  t |  j d d d d | g d |  j d	 d d
 | Wd t |  Xd S(   u@   Export the Git repository at the url to the destination locationu   -exportu   pip-u   /u   checkout-indexu   -au   -fu   --prefixu   filter_stdoutu   show_stdoutu   cwdNF(	   u   tempfileu   mkdtempu   unpacku   endswithu   call_subprocessu   cmdu   _filteru   Falseu   rmtree(   u   selfu   locationu   temp_dir(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   export4   s    u
   Git.exportc             C   s`   |  j  |  } d | } | | k r0 | | g S| | k rG | | g St j d |  | Sd S(   u   Check the revision options before checkout to compensate that tags
        and branches may need origin/ as a prefix.
        Returns the SHA1 of the branch or tag if found.
        u	   origin/%su5   Could not find a tag or branch '%s', assuming commit.N(   u   get_refsu   loggeru   warn(   u   selfu   revu   destu   rev_optionsu	   revisionsu
   origin_rev(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   check_rev_optionsA   s    
u   Git.check_rev_optionsc             C   sP   t  |  j d d | g d | t  |  j d d g | d | |  j |  d  S(   Nu   configu   remote.origin.urlu   cwdu   checkoutu   -q(   u   call_subprocessu   cmdu   update_submodules(   u   selfu   destu   urlu   rev_options(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   switchS   s
    u
   Git.switchc             C   sr   t  |  j d d g d | | r> |  j | d | |  } n  t  |  j d d d g | d | |  j |  d  S(   Nu   fetchu   -qu   cwdi    u   resetu   --hard(   u   call_subprocessu   cmdu   check_rev_optionsu   update_submodules(   u   selfu   destu   rev_options(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   update[   s
    #u
   Git.updatec             C   s  |  j    \ } } | r. | g } d | } n d g } d } |  j | | | |  r t j d | | t |  f  t |  j d d | | g  |  j |  | r |  j | | |  } |  j	 |  j
 | d  s t |  j d d g | d	 | q q n  d  S(
   Nu    (to %s)u   origin/masteru    u   Cloning %s%s to %su   cloneu   -qi    u   checkoutu   cwd(   u   get_url_revu   check_destinationu   loggeru   notifyu   display_pathu   call_subprocessu   cmdu   update_submodulesu   check_rev_optionsu   get_revisionu
   startswith(   u   selfu   destu   urlu   revu   rev_optionsu   rev_display(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   obtaine   s    		 u
   Git.obtainc             C   s.   t  |  j d d g d d d | } | j   S(   Nu   configu   remote.origin.urlu   show_stdoutu   cwdF(   u   call_subprocessu   cmdu   Falseu   strip(   u   selfu   locationu   url(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   get_urlx   s    u   Git.get_urlc             C   s.   t  |  j d d g d d d | } | j   S(   Nu	   rev-parseu   HEADu   show_stdoutu   cwdF(   u   call_subprocessu   cmdu   Falseu   strip(   u   selfu   locationu   current_rev(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   get_revision~   s    !u   Git.get_revisionc             C   s	  t  |  j d g d d
 d | } i  } x | j   j   D] } | j d d  \ } } | j   } d } | j d  r | t d  d  } nP | j d  r | t d  d  } n( | j d	  r | t d	  d  } n  | d k	 r: | j   | | <q: q: W| S(   u=   Return map of named refs (branches or tags) to commit hashes.u   show-refu   show_stdoutu   cwdu    i   u   refs/remotes/Nu   refs/heads/u
   refs/tags/F(	   u   call_subprocessu   cmdu   Falseu   stripu
   splitlinesu   splitu   Noneu
   startswithu   len(   u   selfu   locationu   outputu   rvu   lineu   commitu   refu   ref_name(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   get_refs   s     u   Git.get_refsc       
      C   s   |  j  |  } | j   j d  s1 d | } n  | j   j d d  d } | sW d  S|  j |  } |  j |  } t d d   | j	   D  } | | k r d | | | f }	 n
 d	 | }	 d
 | | |	 f S(   Nu   git:u   git+u   -i   i    c             s   s!   |  ] \ } } | | f Vq d  S(   N(    (   u   .0u   refu   commit(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu	   <genexpr>   s    u*   Git.get_src_requirement.<locals>.<genexpr>u   %s-%su   %s-devu   %s@%s#egg=%s(
   u   get_urlu   loweru
   startswithu   egg_nameu   splitu   Noneu   get_revisionu   get_refsu   dictu   items(
   u   selfu   distu   locationu	   find_tagsu   repou   egg_project_nameu   current_revu   refsu   names_by_commitu   full_egg_name(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   get_src_requirement   s    
u   Git.get_src_requirementc                s   d |  j  k rl d |  j  k s$ t  |  j  j d d  |  _  t t |   j   \ } } | j d d  } n t t |   j   \ } } | | f S(   u;  
        Prefixes stub URLs like 'user@hostname:user/repo.git' with 'ssh://'.
        That's required because although they use SSH they sometimes doesn't
        work with a ssh:// scheme (e.g. Github). But we need a scheme for
        parsing. Hence we remove it again afterwards and return it as a stub.
        u   ://u   file:u   git+u
   git+ssh://u   ssh://u    (   u   urlu   AssertionErroru   replaceu   superu   Gitu   get_url_rev(   u   selfu   urlu   rev(   u	   __class__(    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   get_url_rev   s    u   Git.get_url_revc             C   sN   t  j j t  j j | d   s% d  St |  j d d d d d g d | d  S(   Nu   .gitmodulesu	   submoduleu   updateu   --initu   --recursiveu   -qu   cwd(   u   osu   pathu   existsu   joinu   call_subprocessu   cmd(   u   selfu   location(    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   update_submodules   s    !u   Git.update_submodules(   u   gitu   git+httpu	   git+httpsu   git+sshu   git+gitu   git+fileN(   u   __name__u
   __module__u   __qualname__u   nameu   dirnameu	   repo_nameu   schemesu   bundle_fileu   guideu   Noneu   __init__u   parse_vcs_bundle_fileu   exportu   check_rev_optionsu   switchu   updateu   obtainu   get_urlu   get_revisionu   get_refsu   get_src_requirementu   get_url_revu   update_submodules(   u
   __locals__(    (   u	   __class__u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   Git   s&   
u   Git(   u   tempfileu   reu   os.pathu   osu   pip.utilu   call_subprocessu   display_pathu   rmtreeu   pip.vcsu   vcsu   VersionControlu   pip.logu   loggeru   pip.backwardcompatu   url2pathnameu   urlparseu   urlsplitu
   urlunsplitu   Gitu   register(    (    (    u$   /tmp/pip-zej_zi-build/pip/vcs/git.pyu   <module>   s   		