Ë
    [^(hX+  ã                  óæ   — d dl mZ d dlZd dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ eZg d¢Z G d„ d	ej                  «      Z G d
„ dej                  «      Z G d„ de«      ZeZ G d„ d«      Zy)é    )ÚannotationsN)Úref)Ú_IterationGuard)ÚMutableMappingÚMapping)ÚTensor)ÚTensorWeakRefÚ	WeakIdRefÚWeakIdKeyDictionaryÚWeakTensorKeyDictionaryc                  ó<   ‡ — e Zd ZdgZdˆ fd„	Zˆ fd„Zd„ Zd„ Zˆ xZS )r
   Ú_idc                óF   •— t        |«      | _        t        ‰| �  ||«       y ©N)Úidr   ÚsuperÚ__init__©ÚselfÚkeyÚcallbackÚ	__class__s      €úN/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/utils/weak.pyr   zWeakIdRef.__init__.   s   ø€ ô �c“7ˆŒÜ‰Ñ˜˜hÕ'ó    c                ó\   •— t         ‰| �  «       }t        |d«      r|j                  «        |S ©NÚ_fix_weakref©r   Ú__call__Úhasattrr   ©r   Úrr   s     €r   r   zWeakIdRef.__call__7   ó)   ø€ Ü‰GÑÓˆä�1�nÔ%Ø�N‰NÔØˆr   c                ó   — | j                   S r   ©r   ©r   s    r   Ú__hash__zWeakIdRef.__hash__>   ó   € Ø�x‰xˆr   c                ó6   —  | «       } |«       }|�|�||u S | |u S r   © ©r   ÚotherÚaÚbs       r   Ú__eq__zWeakIdRef.__eq__A   s.   € ñ ‹FˆÙ‹GˆØˆ=˜Q˜]Ø˜�6ˆMØ�uˆ}Ðr   r   ©	Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r   r   r'   r/   Ú__classcell__©r   s   @r   r
   r
   +   s   ø„ Ø�€Iõ(ôòör   r
   c                  ó<   ‡ — e Zd ZdgZdˆ fd„	Zˆ fd„Zd„ Zd„ Zˆ xZS )Ú_WeakHashRefr   c                óF   •— t        |«      | _        t        ‰| �  ||«       y r   )Úhashr   r   r   r   s      €r   r   z_WeakHashRef.__init__Y   s   ø€ ô ˜“9ˆŒÜ‰Ñ˜˜hÕ'r   c                ó\   •— t         ‰| �  «       }t        |d«      r|j                  «        |S r   r   r!   s     €r   r   z_WeakHashRef.__call__b   r#   r   c                ó   — | j                   S r   r%   r&   s    r   r'   z_WeakHashRef.__hash__i   r(   r   c                ó\   —  | «       } |«       }|�|�t        |«      t        |«      k(  S | |u S r   )r:   r+   s       r   r/   z_WeakHashRef.__eq__l   s8   € ñ ‹FˆÙ‹GˆØˆ=˜Q˜]Ü˜“7œd 1›gÑ%Ð%Ø�uˆ}Ðr   r   r0   r6   s   @r   r8   r8   V   s   ø„ Ø�€Iõ(ôòör   r8   c                  ó°   — e Zd Zdefd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZeZd„ Zdd„Zd„ Zd„ Zd„ ZeZd„ Zd„ Zd„ Zd„ Zdd„Zdd„Zd„ Zd„ Zd„ Zd„ Zy)r   Nc                ó¬   — i | _         || _        t        | «      fd„}|| _        g | _        t        «       | _        d| _        |�| j                  |«       y y )Nc                ó¢   —  |«       }|�7|j                   r|j                  j                  | «       y 	 |j                  | = y y # t        $ r Y y w xY wr   )Ú
_iteratingÚ_pending_removalsÚappendÚdataÚKeyError)ÚkÚselfrefr   s      r   Úremovez,WeakIdKeyDictionary.__init__.<locals>.remove}   sS   € Ù“9ˆDØÐØ—?’?Ø×*Ñ*×1Ñ1°!Õ4ðØ ŸI™I a™Lð  øô $ò Ùðús   ³A Á	AÁAF)	rD   Úref_typer   Ú_removerB   ÚsetrA   Ú
_dirty_lenÚupdate)r   ÚdictrI   rH   s       r   r   zWeakIdKeyDictionary.__init__x   sT   € ØˆŒ	à ˆŒä! $›ió 		ð ˆŒà!#ˆÔÜ›%ˆŒØˆŒØÐØ�K‰K˜Õð r   c                óž   — | j                   j                  }| j                  }	 	  |«       }	 ||= Œ# t        $ r Y y w xY w# t        $ r Y Œw xY wr   )rB   ÚpoprD   Ú
IndexErrorrE   )r   rP   Údr   s       r   Ú_commit_removalsz$WeakIdKeyDictionary._commit_removals�   se   € ð
 ×$Ñ$×(Ñ(ˆØ�I‰IˆØðÙ“e�ðØ�c�Fð øô ò Ùðûô
 ò Ùðús   ¥1 ­A  ±	=¼=Á 	AÁAc                ó|   — | j                   }| j                  D �cg c]	  }||v sŒ|‘Œ c}| _        d| _        y c c}w ©NF)rD   rB   rL   )r   rR   rF   s      r   Ú_scrub_removalsz#WeakIdKeyDictionary._scrub_removals¡   s7   € Ø�I‰IˆØ-1×-CÑ-CÖ!N¨ÀqÈAÂv¢!Ò!NˆÔØˆ�ùò "Os   ›	9¥9c                óJ   — d| _         | j                  | j                  |«      = y ©NT)rL   rD   rI   ©r   r   s     r   Ú__delitem__zWeakIdKeyDictionary.__delitem__¦   s   € ØˆŒØ�I‰I�d—m‘m CÓ(Ñ)r   c                ó>   — | j                   | j                  |«         S r   )rD   rI   rY   s     r   Ú__getitem__zWeakIdKeyDictionary.__getitem__ª   s   € Ø�y‰y˜Ÿ™ sÓ+Ñ,Ð,r   c                ó¨   — | j                   r| j                  r| j                  «        t        | j                  «      t        | j                  «      z
  S r   )rL   rB   rV   ÚlenrD   r&   s    r   Ú__len__zWeakIdKeyDictionary.__len__­   s=   € Ø�?Š?˜t×5Ò5ð × Ñ Ô"Ü�4—9‘9‹~¤ D×$:Ñ$:Ó ;Ñ;Ð;r   c                óP   — d| j                   j                  › dt        | «      d›d�S )Nú<z at z#xú>)r   r1   r   r&   s    r   Ú__repr__zWeakIdKeyDictionary.__repr__´   s(   € Ø�4—>‘>×*Ñ*Ð+¨4´°4³¸¨}¸AÐ>Ð>r   c                óV   — || j                   | j                  || j                  «      <   y r   )rD   rI   rJ   )r   r   Úvalues      r   Ú__setitem__zWeakIdKeyDictionary.__setitem__·   s   € Ø6;ˆ�	‰	�$—-‘-  T§\¡\Ó2Ò3r   c                óÀ   — t        «       }t        | «      5  | j                  j                  «       D ]  \  }} |«       }|€Œ|||<   Œ 	 d d d «       |S # 1 sw Y   |S xY wr   )r   r   rD   Úitems)r   Únewr   re   Úos        r   ÚcopyzWeakIdKeyDictionary.copyº   sc   € Ü!Ó#ˆÜ˜TÓ"ñ 	#Ø"Ÿi™iŸo™oÓ/ò #‘
��UÙ“E�Ø‘=Ø"�C˜’Fñ#÷	#ð
 ˆ
÷	#ð
 ˆ
ús   –*AÁAÁAc                óæ   — ddl m} | j                  «       }t        | «      5  | j                  j                  «       D ]  \  }} |«       }|€Œ |||«      ||<   Œ 	 d d d «       |S # 1 sw Y   |S xY w)Nr   )Údeepcopy)rk   rm   r   r   rD   rh   )r   Úmemorm   ri   r   re   rj   s          r   Ú__deepcopy__z WeakIdKeyDictionary.__deepcopy__Å   sq   € Ý!Ø�n‰nÓˆÜ˜TÓ"ñ 	3Ø"Ÿi™iŸo™oÓ/ò 3‘
��UÙ“E�Ø‘=Ù% e¨TÓ2�C˜’Fñ3÷	3ð
 ˆ
÷	3ð
 ˆ
ús   ¢*A&ÁA&Á&A0c                óX   — | j                   j                  | j                  |«      |«      S r   )rD   ÚgetrI   ©r   r   Údefaults      r   rq   zWeakIdKeyDictionary.getÏ   s    € Ø�y‰y�}‰}˜TŸ]™]¨3Ó/°Ó9Ð9r   c                ó`   — 	 | j                  |«      }|| j                  v S # t        $ r Y yw xY wrU   )rI   Ú	TypeErrorrD   )r   r   Úwrs      r   Ú__contains__z WeakIdKeyDictionary.__contains__Ò   s9   € ð	Ø—‘˜sÓ#ˆBð �T—Y‘YˆÐøô ò 	Ùð	ús   ‚! ¡	-¬-c              #  ó²   K  — t        | «      5  | j                  j                  «       D ]  \  }} |«       }|€Œ||f–— Œ 	 d d d «       y # 1 sw Y   y xY w­wr   ©r   rD   rh   )r   rv   re   r   s       r   rh   zWeakIdKeyDictionary.itemsÙ   sV   è ø€ Ü˜TÓ"ñ 	%Ø!ŸY™YŸ_™_Ó.ò %‘	��EÙ“d�Ø‘?Ø˜u˜*Ó$ñ%÷	%÷ 	%ñ 	%üs!   ‚AŽ*A¹AÁ	AÁAÁAc              #  óŒ   K  — t        | «      5  | j                  D ]  } |«       }|€Œ|–— Œ 	 d d d «       y # 1 sw Y   y xY w­wr   )r   rD   )r   rv   Úobjs      r   ÚkeyszWeakIdKeyDictionary.keysà   sF   è ø€ Ü˜TÓ"ñ 	Ø—i‘iò �Ù“d�Ø‘?Ø“Iñ÷	÷ 	ñ 	üs   ‚AŽ8¨8¯	A¸A½Ac              #  óª   K  — t        | «      5  | j                  j                  «       D ]  \  }} |«       €Œ|–— Œ 	 d d d «       y # 1 sw Y   y xY w­wr   ry   )r   rv   re   s      r   ÚvalueszWeakIdKeyDictionary.valuesé   sM   è ø€ Ü˜TÓ"ñ 	 Ø!ŸY™YŸ_™_Ó.ò  ‘	��EÙ“4Ñ#Ø“Kñ ÷	 ÷ 	 ñ 	 üs    ‚AŽ(A·A¾	AÁAÁAc                ó,   — t        | j                  «      S )az  Return a list of weak references to the keys.

        The references are not guaranteed to be 'live' at the time
        they are used, so the result of calling the references needs
        to be checked before being used.  This can be used to avoid
        creating references that will cause the garbage collector to
        keep the keys around longer than needed.

        )ÚlistrD   r&   s    r   ÚkeyrefszWeakIdKeyDictionary.keyrefsï   s   € ô �D—I‘I‹Ðr   c                óh   — d| _         	 | j                  j                  «       \  }} |«       }|�||fS Œ+rX   )rL   rD   Úpopitem)r   r   re   rj   s       r   rƒ   zWeakIdKeyDictionary.popitemû   s<   € ØˆŒØØŸ™×*Ñ*Ó,‰JˆC�Ù“ˆAØˆ}Ø˜%�x�ð	 r   c                óh   — d| _          | j                  j                  | j                  |«      g|¢­Ž S rX   )rL   rD   rP   rI   )r   r   Úargss      r   rP   zWeakIdKeyDictionary.pop  s,   € ØˆŒØˆt�y‰y�}‰}˜TŸ]™]¨3Ó/Ð7°$Ò7Ð7r   c                ón   — | j                   j                  | j                  || j                  «      |«      S r   )rD   Ú
setdefaultrI   rJ   rr   s      r   r‡   zWeakIdKeyDictionary.setdefault  s(   € Ø�y‰y×#Ñ# D§M¡M°#°t·|±|Ó$DÀgÓNÐNr   c                ó  — | j                   }|�Tt        |d«      s t        i «      |«      }|j                  «       D ]$  \  }}||| j	                  || j
                  «      <   Œ& t        |«      r| j                  |«       y y )Nrh   )rD   r    Útyperh   rI   rJ   r^   rM   )r   rN   ÚkwargsrR   r   re   s         r   rM   zWeakIdKeyDictionary.update
  st   € Ø�I‰IˆØÐÜ˜4 Ô)Ø”t˜B“x “~�Ø"Ÿj™j›lò <‘
��UØ6;��$—-‘-  T§\¡\Ó2Ò3ð<äˆvŒ;Ø�K‰K˜Õð r   c                ó(   — | j                  |«       | S r   )rM   )r   r,   s     r   Ú__ior__zWeakIdKeyDictionary.__ior__  s   € Ø�‰�EÔØˆr   c                óˆ   — t        |t        j                  «      r#| j                  «       }|j	                  |«       |S t
        S r   )Ú
isinstanceÚ_collections_abcr   rk   rM   ÚNotImplemented©r   r,   Úcs      r   Ú__or__zWeakIdKeyDictionary.__or__  s4   € Ü�eÔ-×5Ñ5Ô6Ø—	‘	“ˆAØ�H‰H�UŒOØˆHÜÐr   c                óª   — t        |t        j                  «      r4| j                  «       }|j	                  |«       |j	                  | «       |S t
        S r   )rŽ   r�   r   r   rM   r�   r‘   s      r   Ú__ror__zWeakIdKeyDictionary.__ror__  s@   € Ü�eÔ-×5Ñ5Ô6Ø—‘Ó ˆAØ�H‰H�UŒOØ�H‰H�TŒNØˆHÜÐr   c                óü   — t        |t        «      st        S | j                  «       D ��ci c]  \  }}t	        |«      |“Œ c}}|j                  «       D ��ci c]  \  }}t	        |«      |“Œ c}}k(  S c c}}w c c}}w r   )rŽ   r   r�   rh   r   )r   r,   rF   Úvs       r   r/   zWeakIdKeyDictionary.__eq__)  s]   € Ü˜%¤Ô)Ü!Ð!Ø%)§Z¡Z£\×2™T˜Q ”�1“�q‘Ó2ÈEÏKÉKËM×6ZÁDÀAÀq´r¸!³u¸a±xÓ6ZÑZÐZùÓ2ùÓ6Zs   ªA2ÁA8r   )r1   r2   r3   r
   r   rS   rV   rZ   r\   r_   rc   rf   rk   Ú__copy__ro   rq   rw   rh   r|   Ú__iter__r~   r�   rƒ   rP   r‡   rM   rŒ   r“   r•   r/   r*   r   r   r   r   w   s�   „ Ø ¨9ó ò.ò$ ò
*ò-ò<ò?ò<òð €Hòó:òò%òð €Hò ò
ò ò8óOó òòòó[r   r   c                  ó*   — e Zd ZU dZded<   dd„Zd„ Zy)r	   zuWrapper around a weak ref of a Tensor that handles the _fix_weakref() call required when unwrapping a Tensor weakref.zWeakRef[Tensor]r   c                ó\   — t        |t        «      sJ ‚t        j                  |«      | _        y r   )rŽ   r   Úweakrefr   )r   Útensors     r   r   zTensorWeakRef.__init__7  s"   € Ü˜&¤&Ô)Ð)Ð)Ü—;‘;˜vÓ&ˆ�r   c                ór   — | j                  «       }|€|S t        |t        «      sJ ‚|j                  «        |S r   )r   rŽ   r   r   )r   Úouts     r   r   zTensorWeakRef.__call__;  s8   € Ø�h‰h‹jˆØˆ;ØˆJÜ˜#œvÔ&Ð&Ð&à×ÑÔØˆ
r   N)r�   r   )r1   r2   r3   Ú__doc__Ú__annotations__r   r   r*   r   r   r	   r	   2  s   … Ùà	Óó'ór   r	   )Ú
__future__r   rœ   r   Ú_weakrefsetr   Úcollections.abcr   r   Útorchr   Úabcr�   ÚWeakRefÚ__all__r
   r8   r   r   r	   r*   r   r   ú<module>r©      sn   ðå "ã Ý Ý 'ß 3Ý Ý *ð €ò [€ô8'�—‘ô 'ôV�7—;‘;ô ôBu[˜.ô u[ðp .Ð ÷ò r   