
    -ji                    h    S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SKJ	r	  S SKJ
r
   " S S5      rg)    )annotationsN)TracebackType)Any)IOc                  ~   ^  \ rS rSr% / rS\S'   SU 4S jjrSS jrSS jrSS jr	SS jr
        SS	 jrS
rU =r$ )NamedTemporaryFilePool   zlist[IO[Any]]tempfile_poolc                   > [        U S5      (       dB  [        [        U ]  U 5      U l        [
        R                  " U R                  R                  5        U R                  $ )N	_instance)hasattrsuperr   __new__r   atexitregistercleanup)clskwargs	__class__s     V/home/james-whalen/.local/lib/python3.13/site-packages/optuna/testing/tempfile_pool.pyr   NamedTemporaryFilePool.__new__   sD    sK((!"8#FsKCMOOCMM112}}    c                    Xl         g N)r   )selfr   s     r   __init__NamedTemporaryFilePool.__init__   s    r   c                    [         R                  " SSS0U R                  D6U l        U R                  R                  U R                  5        U R                  $ )NdeleteF )tempfileNamedTemporaryFiler   	_tempfiler
   appendr   s    r   r!   NamedTemporaryFilePool.tempfile   sB    !44QEQT[[Q!!$..1~~r   c                    [         R                  " 5         U R                   H#  n[        R                  " UR
                  5        M%     g r   )gccollectr
   osunlinkname)r   is     r   r   NamedTemporaryFilePool.cleanup    s+    


##AIIaff $r   c                "    U R                  5       $ r   )r!   r%   s    r   	__enter__ NamedTemporaryFilePool.__enter__%   s    }}r   c                8    U R                   R                  5         g r   )r#   close)r   exc_typeexc_valexc_tbs       r   __exit__NamedTemporaryFilePool.__exit__(   s     	r   )r#   r   )r   r   returnz'NamedTemporaryFilePool')r   r   r9   None)r9   zIO[Any])r9   r:   )r4   ztype[BaseException]r5   BaseExceptionr6   r   r9   r:   )__name__
__module____qualname____firstlineno__r
   __annotations__r   r   r!   r   r0   r7   __static_attributes____classcell__)r   s   @r   r   r      sV    #%M=%

%  	
 
 r   r   )
__future__r   r   r(   r*   r!   typesr   typingr   r   r   r    r   r   <module>rF      s)    #  	 	     r   