Ë
    [^(h�  ã                   ó¢   — d dl Z d dlmZmZ d dlmZmZ  ed«      Z ed«      Z ed«      Z	 e
«       Zdeee	ef   ef   deee	ef   ef   fd	„Zy)
é    N)ÚCallableÚTypeVar)ÚConcatenateÚ	ParamSpecÚ_PÚ_TÚ_CÚfÚreturnc           	      ó¾   ‡ ‡— d‰ j                   z   Št        j                  ‰ «      dt        dt        j
                  dt        j                  dt        fˆˆ fd„«       }|S )a  
    Like `@functools.cache` but for methods.

    `@functools.cache` (and similarly `@functools.lru_cache`) shouldn't be used
    on methods because it caches `self`, keeping it alive
    forever. `@cache_method` ignores `self` so won't keep `self` alive (assuming
    no cycles with `self` in the parameters).

    Footgun warning: This decorator completely ignores self's properties so only
    use it when you know that self is frozen or won't change in a meaningful
    way (such as the wrapped function being pure).
    Ú_cache_method_ÚselfÚargsÚkwargsr   c                 ó®   •— |rJ ‚t        | ‰d «      x}si }t        | ‰|«       |j                  |t        «      }|t        ur|S  ‰| g|¢­i |¤Ž}|||<   |S )N)ÚgetattrÚsetattrÚgetÚ_cache_sentinel)r   r   r   ÚcacheÚcached_valueÚvalueÚ
cache_namer
   s         €€úT/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/utils/_functools.pyÚwrapzcache_method.<locals>.wrap   sp   ø€ áÐˆzÜ   z°4Ó8Ð8�Ð8ØˆEÜ�D˜* eÔ,Ø—y‘y ¤Ó7ˆØœÑ.ØÐÙ�$Ð(˜Ò( Ñ(ˆØˆˆd‰Øˆó    )Ú__name__Ú	functoolsÚwrapsr	   r   r   r   r   )r
   r   r   s   ` @r   Úcache_methodr       sY   ù€ ð " A§J¡JÑ.€Jä‡_�_�QÓð
”2ð 
œbŸg™gð 
´·±ð 
¼rõ 
ó ð
ð €Kr   )r   Útypingr   r   Útyping_extensionsr   r   r   r   r	   Úobjectr   r    © r   r   ú<module>r%      so   ðÛ ß $ß 4ñ ˆtƒ_€ÙˆTƒ]€ÙˆTƒ]€ñ “(€ðØ�˜B ˜FÑ# RÐ'Ñ(ðàˆk˜"˜b˜&Ñ! 2Ð%Ñ&ôr   