
    קg"                     H    d dl mZ ddlmZ  ed          d             ZdS )    )Proxy   )compatibilityF)is_backward_compatiblec                     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   nodetypeRuntimeError)valr
   s     M/var/www/html/ai-engine/env/lib/python3.11/site-packages/torch/fx/annotate.pyannotater      sz     #u 8= 		!  C47HM C  C26 C  C  C D D D !CHM

    N)torch.fx.proxyr   _compatibilityr   r    r   r   <module>r      sZ                ) ) ) ) ) )e,,,  -,  r   