U
    ªÊ¹jé  ã                   @   s   d Z ddlZddd„ZdS )za
APIs related to torch.compile which lazily import torch._dynamo to avoid
circular dependencies.
é    NTc                    s6   ˆ dk	r$t  ˆ ¡‡ ‡fdd„ƒ}|S t jtˆd�S d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.
    Nc                     s   dd l }|j ˆ ˆ¡| |ŽS )Nr   )Ztorch._dynamoZ_dynamoÚdisable)ÚargsÚkwargsZtorch©ÚfnÚ	recursive© úM/var/www/html/bwave/python/venv/lib/python3.8/site-packages/torch/_compile.pyÚinner   s    z_disable_dynamo.<locals>.inner)r   )Ú	functoolsÚwrapsÚpartialÚ_disable_dynamo)r   r   r
   r   r   r	   r      s
    
r   )NT)Ú__doc__r   r   r   r   r   r	   Ú<module>   s   