Ë
    L²j'  ã                   ó°   — d dl Z d dlZ d dlZd dlmZ d dlmZ edefd„«       Z	de
eeef      ddez  fd„Zdedej                  dz  fd	„Zedefd
„«       Zy)é    N)Úcache)ÚversionÚreturnc                  óF   — t        t        j                  dd«      «      dk(  S )zx
    Single point to check if native DSL ops are disabled globally,
    checked via:
    TORCH_DISABLE_NATIVE_JIT=1
    ÚTORCH_DISABLE_NATIVE_JITr   é   ©ÚintÚosÚgetenv© ó    úY/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/_native/common_utils.pyÚcheck_native_jit_disabledr   	   s    € ô Œr�y‰yÐ3°QÓ7Ó8¸AÑ=Ð=r   Údepsc                 ól   — | D ]/  \  }}t         j                  j                  |«      �Œ&d|› d|› d�c S  y)z¡
    Check availability of required packages - cuteDSL & deps,
    informing user what (if anything) is missing

    NOTE: Doesn't actually import anything.
    Nzmissing optional dependency `z` (importlib.util.find_spec(z	) failed))Ú	importlibÚutilÚ	find_spec)r   Úpackage_nameÚmodule_names      r   Ú_unavailable_reasonr      sP   € ð &*ò Ñ!ˆ�kä�>‰>×#Ñ# KÓ0Ñ8à/°¨~ð >-Ø-9¨N¸)ðEòðð r   Úpackagec                 óê   — 	 t         j                  j                  | «      }	 t	        j
                  |«      }|S # t         j                  j                  $ r Y yw xY w# t        j                  $ r Y yw xY w)zè
    Get the installed version of a package as (major, minor, patch).

    Handles pre-release suffixes like "0.7.0rc1" or "3.1.0.post1" by
    stripping non-numeric tails from each component. Returns None on
    parse failure.
    N)r   Úmetadatar   ÚPackageNotFoundErrorÚ_packaging_versionÚparseÚInvalidVersion)r   r   Úvs      r   Ú_available_versionr!   $   sr   € ðÜ×$Ñ$×,Ñ,¨WÓ5ˆðÜ×$Ñ$ WÓ-ˆð €Høô ×Ñ×2Ñ2ò Ùðûô
 ×,Ñ,ò Ùðús    ‚9 ¢A ¹AÁAÁA2Á1A2c                  óF   — t        t        j                  dd«      «      dk(  S )z†
    Single point to check if native DSL version gating should be skipped,
    checked via:
    TORCH_NATIVE_SKIP_VERSION_CHECK=1
    ÚTORCH_NATIVE_SKIP_VERSION_CHECKr   r   r	   r   r   r   Úcheck_native_version_skipr$   9   s    € ô Œr�y‰yÐ:¸AÓ>Ó?À1ÑDÐDr   )r   Úimportlib.metadatar   Ú	functoolsr   Útorch._vendor.packagingr   r   Úboolr   ÚlistÚtupleÚstrr   ÚVersionr!   r$   r   r   r   ú<module>r-      s�   ðÛ Û Û 	Ý å Að ð> 4ò >ó ð>ð˜d 5¨¨c¨¡?Ñ3ð ¸¸s¹
ó ð" ð Ð(:×(BÑ(BÀTÑ(Ió ð* ðE 4ò Eó ñEr   