§
    Ë²Åj�  ã                   ó\   — d dl mZmZmZmZ  ed¦  «        Z G d„ dee         ¦  «        ZdS )é    )ÚCallableÚGenericÚOptionalÚTypeVarÚRc                   ó€   — e Zd ZU dZeeg ef                  ed<   ee         ed<   ddgZdeg ef         fd„Z	defd„Z
dS )ÚThunkz¥
    A simple lazy evaluation implementation that lets you delay
    execution of a function.  It properly handles releasing the
    function once it is forced.
    ÚfÚrc                 ó"   — || _         d | _        d S ©N©r
   r   )Úselfr
   s     úCC:\Projects\Historical\venv\Lib\site-packages\torch/utils/_thunk.pyÚ__init__zThunk.__init__   s   € ØˆŒØˆŒˆˆó    Úreturnc                 ól   — | j         €| j        S |                       ¦   «         | _        d | _         | j        S r   r   )r   s    r   ÚforcezThunk.force   s-   € ØŒ6ˆ>Ø”6ˆMØ—’‘”ˆŒØˆŒØŒvˆr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ú__annotations__Ú	__slots__r   r   © r   r   r	   r	      s�   € € € € € € ðð ð �˜˜Q˜”Ô Ð Ð Ñ Ø�„{€N€N�Nà�c�
€Ið˜( 2 q 5œ/ð ð ð ð ð�qð ð ð ð ð ð r   r	   N)Útypingr   r   r   r   r   r	   r   r   r   ú<module>r      sp   ðØ 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ð €GˆC�L„L€ðð ð ð ð ˆG�AŒJñ ô ð ð ð r   