htdZddlZddlZddlmZddlmZmZmZm Z m Z m Z m Z ddl mZddlmZddlmZejeZe eege effZer eeZneZd e ed e efd Zd ed e ed e efd Zd ed e ed e efdZGddeZdS)aUtilities to lazily create and visit candidates found. Creating and visiting a candidate is a *very* costly operation. It involves fetching, extracting, potentially building modules from source, and verifying distribution metadata. It is therefore crucial for performance to keep everything here lazy all the way down, so we only touch candidates that we absolutely need, and not "download the world" when we only need one version of something. N)Sequence) TYPE_CHECKINGAnyCallableIteratorOptionalSetTuple) _BaseVersion)MetadataInvalid) Candidateinfosreturnc#4Kt}|D]\}}||vr |}||V||2#t$rF}td||jj|||Yd}~}d}~wwxYwdS)zIterator for ``FoundCandidates``. This iterator is used when the package is not already installed. Candidates from index come later in their normal ordering. NzpIgnoring version %s of %s since it has invalid metadata: %s Please use pip<24.1 if you need to use this version.)setaddr loggerwarningireqname)rversions_foundversionfunc candidatees /builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py _iter_builtr*s ),N((  n $ $  (I OOO   w ' ' ' '! ( ( ( NNG        w ' ' ' ' ' ' ' ' ( ((s A B||_||_||_||_dSN) _get_infos _installed_prefers_installed_incompatible_ids)selfr(rr)r*s r__init__zFoundCandidates.__init__s($#"3!1r#indexrc tdNz don't do thisNotImplementedError)r1r3s r __getitem__zFoundCandidates.__getitem__"/222r#c}jst|}n2jrt j|}nt j|}fd|DS)Nc3HK|]}t|jv|VdSr,)idr0).0cr1s r z+FoundCandidates.__iter__..s6KKar!uuD4J'J'J'J'J'J'JKKr#)r-r.rr/r"r%)r1riterators` r__iter__zFoundCandidates.__iter__sv!! I"5))HH  $ I1$/5IIHH0%HHHKKKK8KKKKr#c tdr5r6r1s r__len__zFoundCandidates.__len__r9r#r )maxsizec@|jr |jrdSt|S)NT)r/r.anyrCs r__bool__zFoundCandidates.__bool__s'  " t 44yyr#N)__name__ __module__ __qualname____doc__rrIndexCandidateInforrboolr intr2rr8rArD functools lru_cacherHr#rr'r's  2B); <<= 2I& 2 2 c( 2 2 2 2333333 L(9-LLLL33333 Y###$$#r#r')rLrPloggingcollections.abcrtypingrrrrrr r pip._vendor.packaging.versionr pip._internal.exceptionsr baser getLoggerrIrrMSequenceCandidaterr"r%r'rRr#rr[s$$$$$$OOOOOOOOOOOOOOOOOO666666444444  8 $ $<"hy6I2I)JJK ! +!(x 23(8K((((>$$!)*