'(, d dl mZ d dlmZmZmZmZ d dlmZ d dl m Z d dlmZ dede de fd Zd e defdZ dded ee dedefdZdS ) )Optional)ArchiveInfo DirectUrlDirInfoVcsInfo)Link)path_to_url)vcs direct_urlnamereturnc F | |dz }g }t | j t r4|d | j j | j | j j z }nvt | j t r6|| j z }| j j r| | j j n&t | j t sJ || j z }| j r| d| j z |r|dd | z z }|S )z0Convert a DirectUrl to a pip requirement string.z @ z{}+{}@{}z subdirectory=#&)validate isinstanceinfor formatr url commit_idr hashappendr subdirectoryjoin)r r requirement fragmentss /builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el9.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/utils/direct_url_helpers.py%direct_url_as_pep440_direct_referencer s% ,KI*/7++ &z((O1J JO[ 1 1 &z~%? 3Z_1222*/733333z~% D:+BBCCC 1sSXXi0000 source_dirc Z t t | t d S )NT)editable)r r )r r r )r s r direct_url_for_editabler# s2 ## d # # # r NFlinklink_is_in_wheel_cachec | j rt j | j }|sJ | | j \ }}}|r|sJ |}n|sJ | | }t |t |j || | j S | r(t | j t | j S d }| j } | r| d| j }t | j t | | j S )N)r r requested_revision)r r r =)r )is_vcsr get_backend_for_schemeschemeget_url_rev_and_authurl_without_fragmentget_revisionr r r subdirectory_fragmentis_existing_dirr hash_namer r ) r$ r r% vcs_backendr r' _r r r1 s r direct_url_from_linkr4 ' si { - 0=={%0%E%E%& & " " = &%%%*II :#00<