
    Vpf                         U d dl mZ d dlmZ d dlZd ZdededdfdZdededefd	Z	e G d
 d                      Z
i Zeee
f         ed<   deddfdZdeddfdZdeddfdZdedefdZdedededdfdZdS )    )	dataclass)
ModuleTypeNc                       fd}|S )Nc                     | v r:|          \  }}|t          |          t          j        |t          d           |S t          dd|           )N   )
stacklevelzmodule z has no attribute )AttributeErrorwarningswarnDeprecationWarning)namemessagefndeprecationsmodules      U/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jax/_src/deprecations.pygetattrz$deprecation_getattr.<locals>.getattr0   sk    | &kgr	W%%%mG/A>>>>i
G6GGtGG
H
HH     )r   r   r   s   `` r   deprecation_getattrr   /   s/    I I I I I I 
.r   r   r   returnc                 >    | j         |         \  }}|df| j         |<   dS )zAccelerate the deprecation of a module-level attribute.

  Raises an AttributeError instead of a DeprecationWarning upon attribute access.
  Used in Google-internal code to implement faster deprecation.
  N_deprecations)r   r   r   _s       r   accelerate_getattr_deprecationr   <   s,     #D)*'1 '&tr   c                 ,    | j         |         d         du S )zqReturns true if given name is accelerated.

  Raises an error if name is not a deprecated attribute in module.
     Nr   )r   r   s     r   is_accelerated_attributer   E   s    
 
	d	#A	&$	..r   c                       e Zd ZU dZeed<   dS )DeprecationStateFacceleratedN)__name__
__module____qualname__r"   bool__annotations__r   r   r   r!   r!   T   s"         +tr   r!   _registered_deprecationsdeprecation_idc                 2    t                      t          | <   d S )N)r!   r(   r)   s    r   registerr,   [   s    -=-?-?>***r   c                 r    | t           vrt          d| d          t                               |            d S Ndeprecation_id= not registered.)r(   
ValueErrorpopr+   s    r   
unregisterr3   _   sB    333
;;;;
<
<<~.....r   c                 b    | t           vrt          d| d          dt           |          _        d S )Nr/   r0   Tr(   r1   r"   r+   s    r   
accelerater6   e   s<    333
;;;;
<
<<9=>*666r   c                 ^    | t           vrt          d| d          t           |          j        S r.   r5   r+   s    r   is_acceleratedr8   k   s6    333
;;;;
<
<<	!.	1	==r   r   r   c                     t          |           rt          |          t          j        |t          |dz              dS )zGWarns about a deprecation, or errors if the deprecation is accelerated.r   )categoryr   N)r8   r1   r
   r   r   )r)   r   r   s      r   r   r   q   sO    N## -
W

M'$6'!^- - - - - -r   )dataclassesr   typesr   r
   r   strr   r&   r   r!   r(   dictr'   r,   r3   r6   r8   intr   r   r   r   <module>r@      s   " ! ! ! ! ! !       <
 
 
/: /S /T / / / //Z /s /t / / / /         9; $s$445 : : :@S @T @ @ @ @/s /t / / / />s >t > > > >>3 >4 > > > >- -s - - - - - - - -r   