+
     h  c                   s   R t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	H
t
HtHtHtHtHtHtHtHt ^ RIHt ^ RIHtHt ^ RIHtHt ^ R	IHt ^ R
IHt ^ RIH t  ^ RI!H"t" ^ RI#H$t$ ]PJ                  ! ]&4      t' ! R R]4      t(]
]](3,          t)]]]3,          t*]]]]3,          t+]
]]]*,          3,          t,]
]]]+,          3,          t-]],]-3,          t.]])].3,          t/R R lt0RR R llt1R R lt2R R lt3R R lt4R R lt5R# )z&Validation of dependencies of packagesN)suppress)Parser)reduce)
CallableDict	FrozenSet	GeneratorIterableList
NamedTupleOptionalSetTuple)Requirement)Tag	parse_tag)NormalizedNamecanonicalize_name)Version))make_distribution_for_install_requirement)get_default_environment)BaseDistribution)InstallRequirementc                   s,   a  ] tR t^!t o V 3R ltRtV tR# )PackageDetailsc                sB   < V ^8  d   Qh/ S[ ;R&   S[S[,          ;R&   # )   versiondependencies)r   r   r   )format__classdict__s   "C/usr/lib/python3.14/site-packages/pip/_internal/operations/check.py__annotate__ZPackageDetails.__annotate__!   s       {##      N)__name__Z
__module__Z__qualname__Z__firstlineno__Z__annotate_func__Z__static_attributes__Z__classdictcell__)r   s   @r   r   r   !   s      r   r   c                sF    V ^8  d   QhR\         \        \        3,          /# )r   return)r   
PackageSetboolr      "r   r   r   1   s     ! !5T1A+B !r   c                 sB   / p Rp\        4       pVP                  RRR7       FA  pVP                  p \        VP	                  4       4      p\        VP                  V4      W&   KC  	  W3#   \        \        3 d$   p\        P                  RYF4       Rp Rp?Kw  Rp?ii ; i)z3Converts a list of distributions into a PackageSet.F)Z
local_onlyZskipz$Error parsing dependencies of %s: %sTNr    )r   Ziter_installed_distributionscanonical_namelistiter_dependenciesr   r   ZOSErrorZ
ValueErrorloggerZwarning)package_setZproblemsZenvdistnamer   Zes          r   !create_package_set_from_installedr.   1   s    KH
!
#C00E0K""	 6 6 89L .t||\ JK	 L   	 $ 	NNA4KH	s   1A**B;BBc                sv    V ^8  d   QhR\         R\        \        \        .\        3,          ,          R\
        /# )r   r+   should_ignorer"   )r#   r
   r   strr$   CheckResultr%   r&   r   r   r   B   s4     *  * * ,4XseTk5J,K* * r   c                s   / p/ pV P                  4        EF,  w  rE\        4       p\        4       pV'       d   V! V4      '       d   K2  VP                   F  p\        VP                  4      p	W9  dJ   Rp
VP
                  e   VP
                  P                  RR/4      p
V
'       d   VP                  W34       Kg  W	,          P                  pVP                  P                  VRR7      '       d   K  VP                  WV34       K  	  V'       d   \        V\        R7      W$&   V'       g   EK  \        V\        R7      W4&   EK/  	  W#3# )zCheck 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.
TZextraZ )Zprereleases)Zkey)Zitemssetr   r   r-   ZmarkerZevaluateaddr   Z	specifierZcontainsZsortedr0   )r+   r/   ZmissingZconflictingpackage_nameZpackage_detailZmissing_depsZconflicting_depsreqr-   Zmissedr   s   &&          r   check_package_setr6   B   s    GK(3(9(9(;$%(U-0U]<88!..C$SXX.D &::) ZZ00'2?F $$d[1 "'//G==))'t)DD $$dS%9: /" $*<S$AG!(./?S(IK%9 )<< r   c                sF    V ^8  d   QhR\         \        ,          R\        /# )r   
to_installr"   )r   r   ConflictDetailsr%   r&   r   r   r   o   s       -?(@ _ r   c                sn   a \        4       w  r\        W4      p\        W14      oV\        VV3R lR7      3# )zeFor checking if the dependency graph would be consistent after     installing given requirements
    c                 s   < V S9  # Nr    )r-   	whitelists   &r   Z<lambda>Z)check_install_conflicts.<locals>.<lambda>~   s
    D	4Ir   )r/   )r.   _simulate_installation_of_create_whitelistr6   )r7   r+   Z_would_be_installedr:   s   &   @r   check_install_conflictsr>   o   sD    
 78NK2:K ""4BI 	'I	
 r   c          	      s    V ^8  d   QhR\         \        ,          R\         \        ,          R\        \        RR3,          /# )r   packagessupported_tagsr"   N)r   r   r   r   r%   r&   r   r   r      s=      '(SM t+,r   c              #   s  "   V  F  p\        \        4      ;_uu_ 4        VP                  R 4      p\        \        P
                  \        \        \        4       P                  V4      P                  R. 4      4      \	        4       4      pVP                  V4      '       d   Vx  RRR4       K  	  R#   + '       g   i     K  ; i5i)ZWHEELr   N)r    ZFileNotFoundErrorZ	read_textr   Z	frozensetZunionZmapr   r   ZparsestrZget_allZ
isdisjoint)r?   r@   ZpZ
wheel_fileZ
wheel_tags   &&   r   check_unsupportedrB      s      '((W-J)/Ivx00<DDUBOP*J
 $$^44 )( (((s   CBB2$C2C=	Cc                sh    V ^8  d   QhR\         \        ,          R\        R\        \        ,          /# )r   r7   r+   r"   )r   r   r#   r   r   r%   r&   r   r   r      s/      '(7Ar   c                s    \        4       pV  Fj  p\        V4      pVP                  4       pVP                  p\	        VP
                  \        VP                  4       4      4      W&   VP                  V4       Kl  	  V# )z=Computes the version of packages after installing to_install.)	r2   r   Zget_metadata_distributionr'   r   r   r(   r)   r3   )r7   r+   Z	installedZinst_reqZabstract_distr,   r-   s   &&     r   r;   r;      so    
 I A(K668""*4<<d>T>T>V9WXd  r   c                sh    V ^8  d   QhR\         \        ,          R\        R\         \        ,          /# )r   r=   r+   r"   )r   r   r#   r%   r&   r   r   r      s.      N+:Dr   c                 s    \        V 4      pV FR  pW29   d   K  W,          P                   F1  p\        VP                  4      V9   g   K  VP	                  V4        KP  	  KT  	  V# r9   )r2   r   r   r-   r3   )r=   r+   Zpackages_affectedr4   r5   rA   r   r<   r<      sa     ./#,,99C *.??!%%l3 :	 $ r   r9   )6Z__doc__ZloggingZ
contextlibr    Zemail.parserr   Z	functoolsr   Ztypingr   r   r   r   r   r   r	   r
   r   r   Z"pip._vendor.packaging.requirementsr   Zpip._vendor.packaging.tagsr   r   Zpip._vendor.packaging.utilsr   r   Zpip._vendor.packaging.versionr   Zpip._internal.distributionsr   Zpip._internal.metadatar   Zpip._internal.metadata.baser   Zpip._internal.req.req_installr   Z	getLoggerr!   r*   r   r#   ZMissingZConflictingZMissingDictZConflictingDictr1   r8   r.   r6   r>   rB   r;   r<   r    r   r   <module>rC      s    ,       ; 5 I 1 Q : 8 <			8	$$Z $ ..01

+
,NG[89>4=01~tK'889K01
K/0!"* Z( &r   