§
    ÷„tj–  ã                   ó^  — d Z ddlZddlmZmZmZmZmZmZm	Z	 ddl
mZ ddlmZ ddlmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ  ej        e¦  «        Z G d„ de¦  «        Z eee f         Z!e	eef         Z"e	eeef         Z#eeee"         f         Z$eeee#         f         Z%e	e$e%f         Z&e	e!e&f         Z'de	e!e(f         fd„Z)	 dde!deee*ge(f                  de&fd„Z+dee         de'fd„Z,dee         de!dee         fd„Z-dee         de!dee         fd„Z.de!ddfd„Z/dS )z'Validation of dependencies of packages
é    N)ÚCallableÚDictÚListÚ
NamedTupleÚOptionalÚSetÚTuple)ÚRequirement)ÚLegacySpecifier)ÚNormalizedNameÚcanonicalize_name)ÚLegacyVersion)Ú)make_distribution_for_install_requirement)Úget_default_environment)ÚDistributionVersion)ÚInstallRequirement)Ú
deprecatedc                   ó0   — e Zd ZU eed<   ee         ed<   dS )ÚPackageDetailsÚversionÚdependenciesN)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   r
   © ó    ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pip/_internal/operations/check.pyr   r      s/   € € € € € € Ø Ð Ð Ñ Ø�{Ô#Ð#Ð#Ñ#Ð#Ð#r   r   Úreturnc                  ó\  — i } d}t          ¦   «         }|                     dd¬¦  «        D ]}|j        }	 t          |                     ¦   «         ¦  «        }t          |j        |¦  «        | |<   ŒD# t          t          f$ r(}t           
                    d||¦  «         d}Y d}~Œxd}~ww xY w| |fS )z3Converts a list of distributions into a PackageSet.Fr   )Ú
local_onlyÚskipz%Error parsing requirements for %s: %sTN)r   Úiter_installed_distributionsÚcanonical_nameÚlistÚiter_dependenciesr   r   ÚOSErrorÚ
ValueErrorÚloggerÚwarning)Úpackage_setÚproblemsÚenvÚdistÚnamer   Úes          r   Ú!create_package_set_from_installedr1   %   sÏ   € à€KØ€HÝ
!Ñ
#Ô
#€CØ×0Ò0¸EÈÐ0ÑKÔKð ð ˆØÔ"ˆð	Ý × 6Ò 6Ñ 8Ô 8Ñ9Ô9ˆLÝ .¨t¬|¸\Ñ JÔ JˆK˜ÑÐøÝ�Ð$ð 	ð 	ð 	å�NŠNÐBÀDÈ!ÑLÔLÐLØˆHˆHˆHˆHˆHˆHøøøøð	øøøð ˜Ð Ð s   ´9A.Á.B'Á?B"Â"B'r+   Úshould_ignorec                 ól  — t          | ¦  «         i }i }|                      ¦   «         D �]\  }}t          ¦   «         }t          ¦   «         }|r ||¦  «        rŒ0|j        D ]š}t	          |j        ¦  «        }	|	| vr?d}
|j        �|j                             ddi¦  «        }
|
r|                     |	|f¦  «         ŒY| |	         j	        }|j
                             |d¬¦  «        s|                     |	||f¦  «         Œ›|rt          |t          ¬¦  «        ||<   |rt          |t          ¬¦  «        ||<   �Œ
||fS )z—Check if a package set is consistent

    If should_ignore is passed, it should be a callable that takes a
    package name and returns a boolean.
    TNÚextraÚ )Úprereleases)Úkey)Ú#warn_legacy_versions_and_specifiersÚitemsÚsetr   r   r/   ÚmarkerÚevaluateÚaddr   Ú	specifierÚcontainsÚsortedÚstr)r+   r2   ÚmissingÚconflictingÚpackage_nameÚpackage_detailÚmissing_depsÚconflicting_depsÚreqr/   Úmissedr   s               r   Úcheck_package_setrJ   6   sy  € õ (¨Ñ4Ô4Ð4à€GØ€Kà(3×(9Ò(9Ñ(;Ô(;ð Jñ JÑ$ˆ�nå%(¡U¤UˆÝ-0©U¬UÐàð 	˜]˜]¨<Ñ8Ô8ð 	Øà!Ô.ð 	;ð 	;ˆCÝ$ S¤XÑ.Ô.ˆDð ˜;Ð&Ð&Ø�Ø”:Ð)Ø œZ×0Ò0°'¸2°Ñ?Ô?�FØð 2Ø ×$Ò$ d¨C [Ñ1Ô1Ð1Øð " $Ô'Ô/ˆGØ”=×)Ò)¨'¸tÐ)ÑDÔDð ;Ø ×$Ò$ d¨G°SÐ%9Ñ:Ô:Ð:øàð 	BÝ$*¨<½SÐ$AÑ$AÔ$AˆG�LÑ!Øð 	JÝ(.Ð/?ÅSÐ(IÑ(IÔ(IˆK˜Ñ%ùà�KÐÐr   Ú
to_installc                 ó’   ‡— t          ¦   «         \  }}t          | |¦  «        }t          ||¦  «        Š|t          |ˆfd„¬¦  «        fS )zeFor checking if the dependency graph would be consistent after     installing given requirements
    c                 ó   •— | ‰vS ©Nr   )r/   Ú	whitelists    €r   ú<lambda>z)check_install_conflicts.<locals>.<lambda>t   s   ø€ °DÀ	Ð4I€ r   )r2   )r1   Ú_simulate_installation_ofÚ_create_whitelistrJ   )rK   r+   Ú_Úwould_be_installedrO   s       @r   Úcheck_install_conflictsrU   e   sf   ø€ õ
 7Ñ8Ô8�N€K�å2°:¸{ÑKÔKÐõ "Ð"4°kÑBÔB€Ið 	ÝØÐ'IÐ'IÐ'IÐ'Ið	
ñ 	
ô 	
ðð r   c                 ó  — t          ¦   «         }| D ]x}t          |¦  «        }|                     ¦   «         }|j        }t	          |j        t          |                     ¦   «         ¦  «        ¦  «        ||<   |                     |¦  «         Œy|S )z=Computes the version of packages after installing to_install.)	r:   r   Úget_metadata_distributionr$   r   r   r%   r&   r=   )rK   r+   Ú	installedÚinst_reqÚabstract_distr.   r/   s          r   rQ   rQ   y   s‰   € õ
 ‘”€Ið ð ð ˆÝAÀ(ÑKÔKˆØ×6Ò6Ñ8Ô8ˆØÔ"ˆÝ*¨4¬<½¸d×>TÒ>TÑ>VÔ>VÑ9WÔ9WÑXÔXˆ�DÑà�Š�dÑÔÐÐàÐr   rT   c                 ó²   — t          | ¦  «        }|D ]D}||v rŒ||         j        D ]/}t          |j        ¦  «        |v r|                     |¦  «          nŒ0ŒE|S rN   )r:   r   r   r/   r=   )rT   r+   Úpackages_affectedrD   rH   s        r   rR   rR   Œ   s†   € õ Ð.Ñ/Ô/Ðà#ð ð ˆØÐ,Ð,Ð,Øà˜|Ô,Ô9ð 	ð 	ˆCÝ  ¤Ñ*Ô*Ð.?Ð?Ð?Ø!×%Ò% lÑ3Ô3Ð3Ø�ð @øð Ðr   c           
      óL  — |                       ¦   «         D ]Ž\  }}t          |j        t          ¦  «        r"t	          |› d|j        › d�d|› d�dd¬¦  «         |j        D ]E}t          d„ |j        D ¦   «         ¦  «        r%t	          |› d|j        › d	|› d
�d|› d�dd¬¦  «         ŒFŒ�d S )Nú z# has a non-standard version number.z!to upgrade to a newer version of z^ or contact the author to suggest that they release a version with a conforming version numberi/  z24.1)ÚreasonÚreplacementÚissueÚgone_inc              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rN   )Ú
isinstancer   )Ú.0Úspecs     r   ú	<genexpr>z6warn_legacy_versions_and_specifiers.<locals>.<genexpr>®   s,   è è € ÐOÐO¸•:˜d¥OÑ4Ô4ÐOÐOÐOÐOÐOÐOr   z) has a non-standard dependency specifier ú.ze or contact the author to suggest that they release a version with a conforming dependency specifiers)r9   rd   r   r   r   r   Úanyr>   )r+   Úproject_nameÚpackage_detailsÚdeps       r   r8   r8   �   sD  € Ø)4×):Ò):Ñ)<Ô)<ð ð Ñ%ˆ�oÝ�oÔ-­}Ñ=Ô=ð 	Ýà#ð :ð : oÔ&=ð :ð :ð :ðJ¸ð Jð Jð Jð Øðñ ô ð ð #Ô/ð 	ð 	ˆCÝÐOÐOÀÄÐOÑOÔOÑOÔOð Ýà'ð Jð J¨/Ô*Að Jð JØCFðJð Jð JðU¸Lð Uð Uð Uð  Ø"ðñ ô ð øð	ðð r   rN   )0Ú__doc__ÚloggingÚtypingr   r   r   r   r   r   r	   Ú"pip._vendor.packaging.requirementsr
   Ú pip._vendor.packaging.specifiersr   Úpip._vendor.packaging.utilsr   r   Úpip._vendor.packaging.versionr   Úpip._internal.distributionsr   Úpip._internal.metadatar   Úpip._internal.metadata.baser   Úpip._internal.req.req_installr   Úpip._internal.utils.deprecationr   Ú	getLoggerr   r)   r   Ú
PackageSetÚMissingÚConflictingÚMissingDictÚConflictingDictÚCheckResultÚConflictDetailsÚboolr1   rA   rJ   rU   rQ   rR   r8   r   r   r   ú<module>r‚      sÚ  ððð ð €€€Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ Ià :Ð :Ð :Ð :Ð :Ð :Ø <Ð <Ð <Ð <Ð <Ð <Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ 7Ð 7Ð 7Ð 7Ð 7Ð 7à QÐ QÐ QÐ QÐ QÐ QØ :Ð :Ð :Ð :Ð :Ð :Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø <Ð <Ð <Ð <Ð <Ð <Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6à	ˆÔ	˜8Ñ	$Ô	$€ð$ð $ð $ð $ð $�Zñ $ô $ð $ð �. .Ð0Ô1€
Ø
� Ð+Ô
,€Ø�NÐ$7¸ÐDÔE€à�> 4¨¤=Ð0Ô1€Ø�~ t¨KÔ'8Ð8Ô9€Ø�K Ð0Ô1€Ø˜
 KÐ/Ô0€ð!¨5°¸TÐ1AÔ+Bð !ð !ð !ð !ð$ OSð, ð , Øð, Ø,4°X¸s¸eÀT¸kÔ5JÔ,Kð, àð, ð , ð , ð , ð^¨Ð-?Ô(@ð À_ð ð ð ð ð(ØÐ'Ô(ðØ7AðàˆÔðð ð ð ð&Ø˜NÔ+ðØ:DðàˆÔðð ð ð ð"°Zð ÀDð ð ð ð ð ð r   