
    ;;i                    P    d dl mZ d dlZd dlmZ d dlmZmZ d dlZ G d d      Z	y)    )annotationsN)TracebackType)LiteralSelfc                  N    e Zd ZU dZded<   ded<   d
dZddZ	 	 	 	 	 	 	 	 ddZy	)prepended_to_syspathz>A context for prepending a directory to sys.path for a second.strdirbooladdedc                     || _         d| _        y NF)r
   r   )selfr
   s     Y/home/rose/Desktop/poly/venv/lib/python3.12/site-packages/IPython/utils/syspathcontext.py__init__zprepended_to_syspath.__init__   s    
    c                    | j                   t        j                  vr3t        j                  j                  d| j                          d| _        | S d| _        | S )Nr   TF)r
   syspathinsertr   )r   s    r   	__enter__zprepended_to_syspath.__enter__   sD    88388#HHOOAtxx(DJ  DJr   c                    | j                   r+	 t        j                  j                  | j                         yy# t
        $ r Y yw xY wr   )r   r   r   remover
   
ValueError)r   exc_typeexc_valexc_tbs       r   __exit__zprepended_to_syspath.__exit__   s@     ::)   s   )9 	AAN)r
   r	   returnNone)r   r   )r   ztype[BaseException] | Noner   zBaseException | Noner   zTracebackType | Noner   zLiteral[False])__name__
__module____qualname____doc____annotations__r   r   r    r   r   r   r   
   sD    H	HK, & %	
 
r   r   )

__future__r   r   typesr   typingr   r   warningsr   r&   r   r   <module>r+      s    " 
     r   