Ë
    ��h–  ã                   óp   — d dl Z d dlZd dlmZmZ dee   fd„Zdee   fd„Zdee   fd„Zdeeef   fd„Z	y)é    N)ÚOptionalÚTupleÚreturnc                  ó.   — t        «       xs
 t        «       S )z9Returns glibc version string, or None if not using glibc.)Úglibc_version_string_confstrÚglibc_version_string_ctypes© ó    úW/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/utils/glibc.pyÚglibc_version_stringr      s   € ä'Ó)ÒJÔ-HÓ-JÐJr
   c                  óº   — t         j                  dk(  ry	 t        j                  d«      } | €y| j	                  «       \  }}|S # t
        t        t        f$ r Y yw xY w)z@Primary implementation of glibc_version_string using os.confstr.Úwin32NÚCS_GNU_LIBC_VERSION)ÚsysÚplatformÚosÚconfstrÚsplitÚAttributeErrorÚOSErrorÚ
ValueError)Úgnu_libc_versionÚ_Úversions      r   r   r      se   € ô ‡|�|�wÒØðÜŸ:™:Ð&;Ó<ÐØÐ#Øà%×+Ñ+Ó-‰
ˆˆ7ð €Nøô œG¤ZÐ0ò áðús   –A ®A ÁAÁAc                  ó  — 	 ddl } 	 | j                  d«      }	 |j                  }| j                  |_         |«       }t        |t        «      s|j                  d«      }|S # t        $ r Y yw xY w# t        $ r Y yw xY w# t
        $ r Y yw xY w)z=Fallback implementation of glibc_version_string using ctypes.r   NÚascii)ÚctypesÚImportErrorÚCDLLr   Úgnu_get_libc_versionr   Úc_char_pÚrestypeÚ
isinstanceÚstrÚdecode)r   Úprocess_namespacer    Úversion_strs       r   r   r      s£   € ðÛð"Ø"ŸK™K¨Ó-ÐðØ0×EÑEÐð $*§?¡?ÐÔ Ù+Ó-€Kä�k¤3Ô'Ø!×(Ñ(¨Ó1ˆàÐøôG ò Ùðûô$ ò Ùðûô
 ò ñ ðús3   ‚A  ‡A/ ™A> Á 	A,Á+A,Á/	A;Á:A;Á>	B
Â	B
c                  ó$   — t        «       } | €yd| fS )z“Try to determine the glibc version

    Returns a tuple of strings (lib, version) which default to empty strings
    in case the lookup fails.
    )Ú r)   Úglibc)r   )Úglibc_versions    r   Úlibc_verr,   [   s    € ô )Ó*€MØÐØà˜Ð'Ð'r
   )
r   r   Útypingr   r   r$   r   r   r   r,   r	   r
   r   ú<module>r.      sU   ðÛ 	Û 
ß "ðK˜h s™mó Kð
 h¨s¡mó ð(( X¨c¡]ó (ðx
(�%˜˜S˜‘/ô 
(r
   