<!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>

Rex                 @   s  d  Z  d d l 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 e rFd d	 l m Z d d
 l m Z m Z m Z m Z m Z m Z m Z e e d 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" e d d d g  Z# d d   Z$ d d d  Z% d d   Z& d d   Z' d d   Z( d S)z'Validation of dependencies of packages
    N)
namedtuple)canonicalize_name)RequirementParseError))make_distribution_for_install_requirement)get_installed_distributions)MYPY_CHECK_RUNNING)InstallRequirement)AnyCallableDictOptionalSetTupleListPackageDetailsversionrequiresc              K   s   |  i  k r d d d f  i }  i  } d } x t  |    D]| } t | j  } y  t | j | j    | | <Wq7 t t f k
 r } z t j	 d | |  d } WYd d } ~ Xq7 Xq7 W| | f S)z8Converts a list of distributions into a PackageSet.
    
local_onlyFskipz%Error parsing requirements for %s: %sTN)
r   r   project_namer   r   r   OSErrorr   loggerwarning)kwargspackage_setproblemsdistnamee r   /builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/operations/check.py!create_package_set_from_installed%   s     r!   c             C   s4  i  } i  } x|  D]} t    } t    } | r@ | |  r@ q x |  | j D] } t | j  } | |  k r d }	 | j d k	 r | j j   }	 |	 rN | j | | f  qN |  | j }
 | j j	 |
 d d sN | j | |
 | f  qN W| r
t
 | d t | | <| r t
 | d t | | <q W| | f S)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.
    TNprereleaseskey)setr   r   r   markerevaluateaddr   	specifiercontainssortedstr)r   should_ignoremissingconflictingpackage_namemissing_depsconflicting_depsreqr   missedr   r   r   r    check_package_set:   s0    		r4   c                sO   t    \ } } t |  |  } t | |    | t | d   f d d   f S)zeFor checking if the dependency graph would be consistent after     installing given requirements
    r,   c                s
   |    k S)Nr   )r   )	whitelistr   r    <lambda>v   s    z)check_install_conflicts.<locals>.<lambda>)r!   _simulate_installation_of_create_whitelistr4   )
to_installr   _would_be_installedr   )r5   r    check_install_conflictsf   s    r<   c             C   s   t    } xp |  D]h } t |  } | j   } | d k	 s@ t  t | j  } t | j | j    | | <| j	 |  q W| S)zBComputes the version of packages after installing to_install.
    N)
r$   r   get_pkg_resources_distributionAssertionErrorr   r#   r   r   r   r'   )r9   r   	installedinst_reqabstract_distr   r   r   r   r    r7   {   s    	r7   c             C   sk   t  |   } xX | D]P } | | k r( q x8 | | j D]) } t | j  | k r6 | j |  Pq6 Wq W| S)N)r$   r   r   r   r'   )r;   r   packages_affectedr/   r2   r   r   r    r8      s    	r8   ))__doc__loggingcollectionsr   Zpip._vendor.packaging.utilsr   Zpip._vendor.pkg_resourcesr   pip._internal.distributionsr   pip._internal.utils.miscr   pip._internal.utils.typingr   	getLogger__name__r   Zpip._internal.req.req_installr   typingr	   r
   r   r   r   r   r   r+   Z
PackageSetZMissingZConflictingZMissingDictZConflictingDictZCheckResultZConflictDetailsr   r!   r4   r<   r7   r8   r   r   r   r    <module>   s0   4,