<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

‹“Reô  ã               @   s  d  Z  d d l Z d d l Z d d l m Z d d l m Z d d l m	 Z	 e	 r” d d l
 m Z m Z m Z m Z m Z m Z m Z e d ƒ Z d Z e j d	 ƒ Z d
 d d d d g Z Gd d „  d e ƒ Z d d d „ Z d d d „ Z d d „  Z d d „  Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z  e	 ree e e  e f Z! Gd d
 „  d
 e ƒ Z" d S)z	 PEP 610 é    N)Úsix)Úparse)ÚMYPY_CHECK_RUNNING)ÚAnyÚDictÚIterableÚOptionalÚTypeÚTypeVarÚUnionÚTzdirect_url.jsonz.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$Ú	DirectUrlÚDirectUrlValidationErrorÚDirInfoÚArchiveInfoÚVcsInfoc               @   s   e  Z d  Z d S)r   N)Ú__name__Ú
__module__Ú__qualname__© r   r   úŽ/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/direct_url.pyr      s   c             C   sf   | |  k r | S|  | } t  j r8 | t k r8 t  j } t | | ƒ sb t d j | | | ƒ ƒ ‚ | S)z3Get value from dictionary and verify expected type.z-{!r} has unexpected type for {} (expected {}))r   ÚPY2ÚstrÚstring_typesÚ
isinstancer   Úformat)ÚdÚexpected_typeÚkeyÚdefaultÚvaluer   r   r   Ú_get"   s    
	r!   c             C   s:   t  |  | | | ƒ } | d  k r6 t d j | ƒ ƒ ‚ | S)Nz{} must have a value)r!   r   r   )r   r   r   r   r    r   r   r   Ú_get_required3   s    r"   c             C   sa   d d „  |  Dƒ }  |  s% t  d ƒ ‚ t |  ƒ d k rC t  d ƒ ‚ |  d d  k	 sY t ‚ |  d S)Nc             S   s"   g  |  ] } | d  k	 r | ‘ q S)Nr   )Ú.0Úinfor   r   r   ú
<listcomp>=   s   	 z#_exactly_one_of.<locals>.<listcomp>z/missing one of archive_info, dir_info, vcs_infoé   z1more than one of archive_info, dir_info, vcs_infor   )r   ÚlenÚAssertionError)Úinfosr   r   r   Ú_exactly_one_of;   s    		r*   c              K   s   d d „  |  j  ƒ  Dƒ S)z Make dict excluding None values.c             S   s+   i  |  ]! \ } } | d  k	 r | | “ q S)Nr   )r#   ÚkÚvr   r   r   ú
<dictcomp>M   s   	 z _filter_none.<locals>.<dictcomp>)Úitems)Úkwargsr   r   r   Ú_filter_noneJ   s    r0   c               @   sI   e  Z d  Z d Z d d d d d „ Z e d d „  ƒ Z d d „  Z d S)	r   Úvcs_infoNc             C   s1   | |  _  | |  _ | |  _ | |  _ | |  _ d  S)N)ÚvcsÚrequested_revisionÚ	commit_idÚresolved_revisionÚresolved_revision_type)Úselfr2   r4   r3   r5   r6   r   r   r   Ú__init__S   s
    				zVcsInfo.__init__c             C   sq   | d  k r d  S|  d t  | t d ƒ d t  | t d ƒ d t | t d ƒ d t | t d ƒ d t | t d ƒ ƒ S)Nr2   r4   r3   r5   r6   )r"   r   r!   )Úclsr   r   r   r   Ú
_from_dicta   s    zVcsInfo._from_dictc             C   s4   t  d |  j d |  j d |  j d |  j d |  j ƒ S)Nr2   r3   r4   r5   r6   )r0   r2   r3   r4   r5   r6   )r7   r   r   r   Ú_to_dictn   s    				zVcsInfo._to_dict)r   r   r   Únamer8   Úclassmethodr:   r;   r   r   r   r   r   P   s   c               @   sC   e  Z d  Z d Z d d d „ Z e d d „  ƒ Z d d „  Z d S)	r   Úarchive_infoNc             C   s   | |  _  d  S)N)Úhash)r7   r?   r   r   r   r8   |   s    zArchiveInfo.__init__c             C   s)   | d  k r d  S|  d t  | t d ƒ ƒ S)Nr?   )r!   r   )r9   r   r   r   r   r:   ‚   s    zArchiveInfo._from_dictc             C   s   t  d |  j ƒ S)Nr?   )r0   r?   )r7   r   r   r   r;   ‰   s    zArchiveInfo._to_dict)r   r   r   r<   r8   r=   r:   r;   r   r   r   r   r   y   s   c               @   sC   e  Z d  Z d Z d d d „ Z e d d „  ƒ Z d d „  Z d	 S)
r   Údir_infoFc             C   s   | |  _  d  S)N)Úeditable)r7   rA   r   r   r   r8   ‘   s    zDirInfo.__init__c             C   s/   | d  k r d  S|  d t  | t d d d ƒƒ S)NrA   r   F)r"   Úbool)r9   r   r   r   r   r:   —   s    zDirInfo._from_dictc             C   s   t  d |  j p d  ƒ S)NrA   )r0   rA   )r7   r   r   r   r;       s    zDirInfo._to_dictN)r   r   r   r<   r8   r=   r:   r;   r   r   r   r   r   Ž   s   	c               @   s…   e  Z d  Z d d d „ Z d d „  Z e d d „  ƒ Z d d	 „  Z e d
 d „  ƒ Z	 d d „  Z
 e d d „  ƒ Z d d „  Z d S)r   Nc             C   s   | |  _  | |  _ | |  _ d  S)N)Úurlr$   Úsubdirectory)r7   rC   r$   rD   r   r   r   r8   «   s    		zDirectUrl.__init__c             C   ss   d | k r | S| j  d d ƒ \ } } t |  j t ƒ r\ |  j j d k r\ | d k r\ | St j | ƒ ro | S| S)Nú@r&   Úgit)Úsplitr   r$   r   r2   Ú
ENV_VAR_REÚmatch)r7   ÚnetlocÚ	user_passÚnetloc_no_user_passr   r   r   Ú_remove_auth_from_netlocµ   s    z"DirectUrl._remove_auth_from_netlocc             C   sR   t  j |  j ƒ } |  j | j ƒ } t  j | j | | j | j | j	 f ƒ } | S)z¯url with user:password part removed unless it is formed with
        environment variables as specified in PEP 610, or it is ``git``
        in the case of a git URL.
        )
Úurllib_parseÚurlsplitrC   rM   rJ   Ú
urlunsplitÚschemeÚpathÚqueryÚfragment)r7   ÚpurlrJ   Úsurlr   r   r   Úredacted_urlÄ   s
    $zDirectUrl.redacted_urlc             C   s   |  j  |  j ƒ  ƒ d  S)N)Ú	from_dictÚto_dict)r7   r   r   r   ÚvalidateÒ   s    zDirectUrl.validatec             C   s   t  d t | t d ƒ d t | t d ƒ d t t j t | t d ƒ ƒ t j t | t d ƒ ƒ t	 j t | t d ƒ ƒ g ƒ ƒ S)NrC   rD   r$   r>   r@   r1   )
r   r"   r   r!   r*   r   r:   Údictr   r   )r9   r   r   r   r   rX   Ö   s    zDirectUrl.from_dictc             C   s8   t  d |  j d |  j ƒ } |  j j ƒ  | |  j j <| S)NrC   rD   )r0   rW   rD   r$   r;   r<   )r7   Úresr   r   r   rY   å   s
    	zDirectUrl.to_dictc             C   s   |  j  t j | ƒ ƒ S)N)rX   ÚjsonÚloads)r9   Úsr   r   r   Ú	from_jsonî   s    zDirectUrl.from_jsonc             C   s   t  j |  j ƒ  d d ƒS)NÚ	sort_keysT)r]   ÚdumpsrY   )r7   r   r   r   Úto_jsonó   s    zDirectUrl.to_json)r   r   r   r8   rM   ÚpropertyrW   rZ   r=   rX   rY   r`   rc   r   r   r   r   r   ©   s   	)#Ú__doc__r]   ÚreÚpip._vendorr   Zpip._vendor.six.moves.urllibr   rN   Úpip._internal.utils.typingr   Útypingr   r   r   r   r	   r
   r   r   ÚDIRECT_URL_METADATA_NAMEÚcompilerH   Ú__all__Ú	Exceptionr   r!   r"   r*   r0   Úobjectr   r   r   ZInfoTyper   r   r   r   r   Ú<module>   s4   4	)