+
    
nDjC                         ^ RI t ^ RIt^ RIHtHt ^ RIHtHt ^ RIH	t	 ]P                  ! ]4      t] P                  ! ^ R7      R R l4       t] P                  ! RR7      R	 R
 l4       tR# )    N)OptionalTuple)
specifiersversionRequirement)maxsizec                l    V ^8  d   QhR\         \        ,          R\        \        R3,          R\        /# )   requires_pythonversion_info.return)r   strr   intbool)formats   "W/data/cameron/venvs/s3viz/lib/python3.14/site-packages/pip/_internal/utils/packaging.py__annotate__r      s0     7 7c]727S/7	7    c                    V f   R# \         P                  ! V 4      p\        P                  ! RP	                  \        \        V4      4      4      pW29   # )a|  
Check if the given Python version matches a "Requires-Python" specifier.

:param version_info: A 3-tuple of ints representing a Python
    major-minor-micro version to check (e.g. `sys.version_info[:3]`).

:return: `True` if the given Python version satisfies the requirement.
    Otherwise, return `False`.

:raises InvalidSpecifier: If `requires_python` has an invalid format.
T.)r   SpecifierSetr   parsejoinmapr   )r   r   requires_python_specifierpython_versions   &&  r   check_requires_pythonr      sE      * 7 7 H]]388C\,B#CDN66r   i'  c                0    V ^8  d   QhR\         R\        /# )r   
req_stringr   )r   r   )r   s   "r   r   r   $   s     # # # #r   c                    \        V 4      # )z5Construct a packaging.Requirement object with cachingr   )r    s   &r   get_requirementr"   #   s     z""r   )	functoolsloggingtypingr   r   pip._vendor.packagingr   r   "pip._vendor.packaging.requirementsr   	getLogger__name__logger	lru_cacher   r"    r   r   <module>r-      sb      " 5 :			8	$ R 7 !7. U## $#r   