
    Yh                        U d Z ddlZddlZddlmZ ddlZ G d d          Z e            Zd Zd Z	ej
                                        Zi Zeee         ee         f         ed<   i Zeeee         f         ed	<   d
 Zd Zd Zd Z ej                    Zej        ed<    ej                    Zej        ed<   d Zd Zd Zd ZdS )zJIT-related state.

This module stores various pieces of Python-global state relating to the JIT.

This is not intended to be imported directly; please the exposed
functionalities in `torch.jit`.
    N)Anyc                   &    e Zd ZdZddZd Zd ZdS )EnabledProxyzyStores whether the JIT is enabled or not.

    This is just a wrapper for a bool, so that we get reference semantics
    returnNc                 @    |                      dddd          | _        d S )NPYTORCH_JITTz> Using PyTorch JITz> PyTorch JIT DISABLED)	parse_envenabledselfs    b/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/torch/jit/_state.py__init__zEnabledProxy.__init__   s&    ~~4!68P
 
    c                 *   t           j                            |          }||S |                                dv rdS |                                dv rdS |dk    rt	          |           dS |dk    rt	          |           dS t          d| d          )	N>   1yestrueT>   0nofalseF1v0vzUnknown setting of z. Try using 0 or 1.)osenvirongetlowerprint
ValueError)r   namedefaulttrue_messagefalse_messagevalues         r   r	   zEnabledProxy.parse_env   s    
t$$=N;;==0004[[]]2225D==,4d]]-   5HtHHHIIIr   c                     | j         S N)r
   r   s    r   __bool__zEnabledProxy.__bool__,   s
    |r   )r   N)__name__
__module____qualname____doc__r   r	   r&    r   r   r   r      sS         

 
 
 

J J J     r   r   c                      dt           _        d S )NF_enabledr
   r+   r   r   disabler/   3   s    Hr   c                      dt           _        d S )NTr-   r+   r   r   enabler1   7   s    Hr   _script_classes_name_to_pyclassc                 R    |t           | <   | t          |                                <   d S r%   )r2   r3   qualified_name)python_classscript_classs     r   _add_script_classr8   F   s)    $0OL!6B\0022333r   c                 |    t          | dd           }|t          |          } t                              | d           S )N_jit_override_qualname)getattr_get_python_classr2   r   )r6   overrides     r   _get_script_classr>   K   s=    |%=tDDH(22|T222r   c                 8    t                               | d           S r%   )r3   r   r5   s    r   r<   r<   R   s    555r   c                  j    t                                            t                                           d S r%   )r2   clearr3   r+   r   r   _clear_class_staterC   V   s,    r   _jit_caching_layer_jit_function_overload_cachingc                 X    t                               | d           }|rd |D             S d S )Nc                 B    g | ]}t                               |          S r+   )
_python_cufind_function).0	qual_names     r   
<listcomp>z1_try_get_jit_cached_overloads.<locals>.<listcomp>j   s&    PPP	
((33PPPr   )rE   r   )key
qual_namess     r   _try_get_jit_cached_overloadsrO   g   s8    /33C>>J PPZPPPPtr   c                 .    d |D             t           | <   d S )Nc                     g | ]	}|j         
S r+   r@   )rJ   fns     r   rL   z+_set_jit_overload_cache.<locals>.<listcomp>p   s    *T*T*T2+<*T*T*Tr   )rE   )rM   compiled_fnss     r   _set_jit_overload_cacherT   o   s!    *T*T|*T*T*T"3'''r   c                     t          | dd          du rd S t                              | d           }|rt                              |          S d S )N __disable_jit_function_caching__FT)r;   rD   r   rH   rI   )rM   rK   s     r   _try_get_jit_cached_functionrW   s   sU    s6>>$FFt"&&sD11I ''	222tr   c                 f    t          |t          j        j                  sJ |j        t
          | <   d S r%   )
isinstancetorchjitScriptFunctionr5   rD   )rM   r#   s     r   _set_jit_function_cacher]   }   s1    eUY566666#2sr   )r*   r   weakreftypingr   rZ   r   r.   r/   r1   _CCompilationUnitrH   r2   dicttype__annotations__r3   strr8   r>   r<   rC   WeakKeyDictionaryrD   rE   rO   rT   rW   r]   r+   r   r   <module>rg      s     
			               > <>>     X%%''
 /1d3ic*+ 0 0 0)+ $sDI~& + + +C C C
3 3 36 6 6   1J0I0K0K G- K K K<UG<U<W<W  9 W W W  U U U  3 3 3 3 3r   