§
    �Štj`
  ã                  ó”   — d dl mZ d dlmZ d dlZeeef         Zdd„Z G d„ dej	        j
        ¦  «        Z G d	„ d
¦  «        Zg d¢ZdS )é    )Úannotations)ÚSelfNÚreturnÚ_POOL_HANDLEc                 ó>   — t           j                             ¦   «         S )zL
    Return an opaque token representing the id of a graph memory pool.
    )ÚtorchÚ_CÚ_mtia_graphPoolHandle© ó    úS/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/mtia/mtia_graph.pyÚgraph_pool_handler      s   € õ
 Œ8×)Ò)Ñ+Ô+Ð+r   c                  ón   ‡ — e Zd ZdZddˆ fd„Zdˆ fd„Zdˆ fd„Zdˆ fd„Zdˆ fd„Zdˆ fd„Z	dˆ fd„Z
ˆ xZS )Ú	MTIAGraphz&
    Wrapper around a MTIA graph.
    FÚ
keep_graphÚboolr   r   c                óH   •— t          ¦   «                              | |¦  «        S ©N)ÚsuperÚ__new__)Úclsr   Ú	__class__s     €r   r   zMTIAGraph.__new__   s   ø€ Ý‰wŒw�Š˜s JÑ/Ô/Ð/r   Úpoolr   ÚNonec                óJ   •— t          ¦   «                              |¦  «         dS )z/
        Begin capturing a MTIA graph.
        N)r   Úcapture_begin)Úselfr   r   s     €r   r   zMTIAGraph.capture_begin   s#   ø€ õ 	‰Œ×Ò˜dÑ#Ô#Ð#Ð#Ð#r   c                óH   •— t          ¦   «                              ¦   «          dS )z2
        End the capture of a MTIA graph.
        N)r   Úcapture_end©r   r   s    €r   r   zMTIAGraph.capture_end"   ó!   ø€ õ 	‰Œ×ÒÑÔÐÐÐr   c                óH   •— t          ¦   «                              ¦   «          dS )z6
        Instantiate the captured MTIA graph.
        N)r   Úinstantiater    s    €r   r#   zMTIAGraph.instantiate(   r!   r   c                óH   •— t          ¦   «                              ¦   «          dS )z1
        Replay the captured MTIA graph.
        N)r   Úreplayr    s    €r   r%   zMTIAGraph.replay.   s   ø€ õ 	‰Œ�ŠÑÔÐÐÐr   c                óH   •— t          ¦   «                              ¦   «          dS )zB
        Destroy the captured graph and reset the states.
        N)r   Úresetr    s    €r   r'   zMTIAGraph.reset4   s   ø€ õ 	‰Œ�Š‰Œˆˆˆr   c                óD   •— t          ¦   «                              ¦   «         S )zX
        Return an opaque token representing the id of this graph's memory pool
        )r   r   r    s    €r   r   zMTIAGraph.pool:   s   ø€ õ ‰wŒw�|Š|‰~Œ~Ðr   )F)r   r   r   r   )r   r   r   r   ©r   r   ©r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r#   r%   r'   r   Ú__classcell__)r   s   @r   r   r      s   ø€ € € € € ðð ð0ð 0ð 0ð 0ð 0ð 0ð 0ð$ð $ð $ð $ð $ð $ðð ð ð ð ð ðð ð ð ð ð ðð ð ð ð ð ðð ð ð ð ð ðð ð ð ð ð ð ð ð ð r   r   c                  ó<   — e Zd ZU dZded<   	 	 ddd	„Zdd„Zdd„ZdS )ÚgraphNútorch.mtia.Stream | NoneÚdefault_capture_streamÚ
mtia_graphr   r   ú_POOL_HANDLE | NoneÚstreamc                ó<  — | j         j        €(t          j                             ¦   «         | j         _        |€dn|f| _        |�|n| j         j        | _        | j        €t          d¦  «        ‚t          j                             | j        ¦  «        | _	        || _
        d S )Nr   zcapture_stream must not be None)r   r3   r   ÚmtiaÚcurrent_streamr   Úcapture_streamÚAssertionErrorr6   Ú
stream_ctxr4   )r   r4   r   r6   s       r   Ú__init__zgraph.__init__D   s�   € ð Œ>Ô0Ð8Ý49´J×4MÒ4MÑ4OÔ4OˆDŒNÔ1à;?¸<°R°RÈdÈWˆŒ	àÐ(ˆFˆF¨d¬nÔ.Sð 	Ôð ÔÐ&Ý Ð!BÑCÔCÐCÝœ*×+Ò+¨DÔ,?Ñ@Ô@ˆŒØ$ˆŒˆˆr   r   r   c                ó  — t           j                             ¦   «          t           j                             ¦   «          | j                             ¦   «          | j        r| j        d         nd}| j                             |¦  «         d S )Nr   )r   r   )	r   r8   ÚsynchronizeÚempty_cacher<   Ú	__enter__r   r4   r   )r   Úpool_args     r   rA   zgraph.__enter__V   sp   € ÝŒ
×ÒÑ Ô Ð ÝŒ
×ÒÑ Ô Ð àŒ×!Ò!Ñ#Ô#Ð#à#'¤9Ð8�4”9˜Q”<�<°&ˆØŒ×%Ò% hÑ/Ô/Ð/Ð/Ð/r   ÚargsÚobjectc                óV   — | j                              ¦   «           | j        j        |Ž  d S r   )r4   r   r<   Ú__exit__)r   rC   s     r   rF   zgraph.__exit___   s.   € ØŒ×#Ò#Ñ%Ô%Ð%Ø ˆŒÔ  $Ð'Ð'Ð'Ð'r   )NN)r4   r   r   r5   r6   r2   r)   )rC   rD   r   r   )r+   r,   r-   r3   Ú__annotations__r=   rA   rF   r   r   r   r1   r1   A   sq   € € € € € € Ø7;ÐÐ;Ð;Ð;Ñ;ð
 %)Ø+/ð	%ð %ð %ð %ð %ð$0ð 0ð 0ð 0ð(ð (ð (ð (ð (ð (r   r1   )r   r1   r   r*   )Ú
__future__r   Útyping_extensionsr   r   ÚtupleÚintr   r   r	   Ú
_MTIAGraphr   r1   Ú__all__r   r   r   ú<module>rN      sÃ   ðà "Ð "Ð "Ð "Ð "Ð "à "Ð "Ð "Ð "Ð "Ð "à €€€ð �S˜#�XŒ€ð,ð ,ð ,ð ,ð*ð *ð *ð *ð *�”Ô#ñ *ô *ð *ðZ (ð  (ð  (ð  (ð  (ñ  (ô  (ð  (ðFð ð €€€r   