Ë
    òÍ:jÛ  ã                   ó6  — d Z ddlZddlmZmZmZmZmZmZ ddl	m
Z
  ed«      Z e
d«      Ze	 ddeeef   ded	eeef   fd
„«       Ze	 dded   ded	eeeef   geeef   f   fd„«       Z	 ddeeeef      ded	eeeef   eeeef   geeef   f   f   fd„Zy)za
APIs related to torch.compile which lazily import torch._dynamo to avoid
circular dependencies.
é    N)ÚCallableÚLiteralÚOptionalÚoverloadÚTypeVarÚUnion)Ú	ParamSpecÚ_TÚ_PÚfnÚ	recursiveÚreturnc                  ó   — y ©N© ©r   r   s     úc/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/torch/_compile.pyÚ_disable_dynamor      s   € ð ó    c                  ó   — y r   r   r   s     r   r   r      s   € ð 69r   c                 óÎ   ‡ ‡— ‰ �Gt        j                  ‰ «      dt        j                  dt        j                  dt
        fˆ ˆfd„«       }|S t        j                  t        ‰¬«      S )au  
    This API should be only used inside torch, external users should still use
    torch._dynamo.disable. The main goal of this API is to avoid circular
    imports issues that is common while using _dynamo.disable inside torch
    itself.

    This API avoids it by lazily importing torch._dynamo from the import time to
    the invocation of the decorated function.
    ÚargsÚkwargsr   c                  ó„   •— t        ‰dd «      }|€)dd l}|j                  j                  ‰‰d¬«      }|‰_         || i |¤ŽS )NÚ__dynamo_disabler   F)Úwrapping)ÚgetattrÚtorch._dynamoÚ_dynamoÚdisabler   )r   r   Ú
disable_fnÚtorchr   r   s       €€r   Úinnerz_disable_dynamo.<locals>.inner)   sR   ø€ ô ! Ð%7¸Ó>ˆJØÐ!Û$ð #Ÿ]™]×2Ñ2°2°yÈ5Ð2ÓQ�
Ø&0�Ô#á˜tÐ. vÑ.Ð.r   )r   )Ú	functoolsÚwrapsr   r   r   r
   Úpartialr   )r   r   r#   s   `` r   r   r      s^   ù€ ð 
€~ä	�‰˜Ó	ð	/œŸ™ð 	/¬B¯I©Ið 	/¼"õ 	/ó 
ð	/ð ˆô × Ñ ¤¸IÔFÐFr   )T)NT)Ú__doc__r$   Útypingr   r   r   r   r   r   Útyping_extensionsr	   r
   r   Úboolr   r   r   r   ú<module>r+      s&  ðñó
 ß H× HÝ 'ñ ˆTƒ]€Ùˆtƒ_€ð 
à,0ñØ��R�ÑðØ%)ðàˆb�"ˆfÑòó 
ðð
 
à04ñ9Ø�‰ð9Ø)-ð9àˆx˜˜B˜ÑÐ  (¨2¨r¨6Ñ"2Ð2Ñ3ò9ó 
ð9ð >Bñ GØ�˜"˜b˜&Ñ!Ñ"ð GØ6:ð Gà
ˆ8�B˜�FÑ˜X x°°B°Ñ'7Ð&8¸(À2ÀrÀ6Ñ:JÐ&JÑKÐKÑLô Gr   