
    tni                     P    d dl mZ erd dl mZ  e            Z G d d          ZdS )    )TYPE_CHECKING)Anyc                   8    e Zd ZdeddfdZddZddd
ZddZdS )LRUCachemax_sizereturnNc                 |    |dk    rt          d|           || _        i | _        dx| _        | _        d| _        d S )Nr   zinvalid max_size: F)AssertionErrorr   _datahitsmissesfull)selfr   s     R/var/www/html/gpu-tools/venv/lib/python3.11/site-packages/sentry_sdk/_lru_cache.py__init__zLRUCache.__init__   sI    q== !@h!@!@AAA ')
"##	DK			    keyr   valuec                 \   | j                             |t                    }|t          ur|| j         |<   nU| j        rD| j                             t	          t          | j                                        || j         |<   n
|| j         |<   t          | j                   | j        k    | _        d S N)r   pop	_SENTINELr   nextiterlenr   )r   r   r   currents       r   setzLRUCache.set   s    *..i00)###DJsOOY 	$JNN4TZ 0 011222#DJsOO#DJsO
OOt}4			r   defaultc                     	 | j                             |          }| xj        dz  c_        || j         |<   n"# t          $ r | xj        dz  c_        |}Y nw xY w|S )N   )r   r   r   KeyErrorr   )r   r   r   rets       r   getzLRUCache.get   su    	"*..%%C
 IINII!DJsOO  	 	 	KK1KKCCC	 
s   7 AAlist[tuple[Any, Any]]c                 N    t          | j                                                  S r   )listr   items)r   s    r   get_allzLRUCache.get_all*   s    DJ$$&&'''r   )r   r   r   r   r   Nr   )r   r   r   r   r   r   )r   r$   )__name__
__module____qualname__intr   r   r#   r(    r   r   r   r   
   sw             	5 	5 	5 	5
 
 
 
 
( ( ( ( ( (r   r   N)typingr   r   objectr   r   r-   r   r   <module>r0      sp                 FHH	!( !( !( !( !( !( !( !( !( !(r   