§
    ŠŠtj  ã                   óh   — d dl mZ d dlmZ ddlmZ dgZ ed¬¦  «        ded	ed
efd„¦   «         ZdS )é    )ÚAny)ÚProxyé   )ÚcompatibilityÚannotateF)Úis_backward_compatibleÚvalÚtypeÚreturnc                 ó¤   — t          | t          ¦  «        r:| j        j        r t	          d| j        j        › d|› d�¦  «        ‚|| j        _        | S | S )a¯  
    Annotates a Proxy object with a given type.

    This function annotates a val with a given type if a type of the val is a torch.fx.Proxy object
    Args:
        val (object): An object to be annotated if its type is torch.fx.Proxy.
        type (object): A type to be assigned to a given proxy object as val.
    Returns:
        The given val.
    Raises:
        RuntimeError: If a val already has a type in its node.
    zJTried to annotate a value that already had a type on it! Existing type is z and new type is z½. This could happen if you tried to annotate a function parameter value (in which case you should use the type slot on the function signature) or you called annotate on the same value twice)Ú
isinstancer   Únoder
   ÚRuntimeError)r	   r
   s     úO/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/fx/annotate.pyr   r      sq   € õ �#•uÑÔð ØŒ8Œ=ð 	!Ýð4Ø%(¤X¤]ð4ð 4à#'ð4ð 4ð 4ñô ð ð !ˆCŒHŒMØˆ
àˆ
ó    N)	Útypingr   Útorch.fx.proxyr   Ú_compatibilityr   Ú__all__r
   r   © r   r   ú<module>r      s‘   ðØ Ð Ð Ð Ð Ð à  Ð  Ð  Ð  Ð  Ð  à )Ð )Ð )Ð )Ð )Ð )ð ˆ,€ð € eÐ,Ñ,Ô,ð�#ð ˜Tð  cð ð ð ñ -Ô,ðð ð r   