
    Vpf5                         d Z ddlmZmZ ddlZddlmZ dedee         deeegef         eg e	e         f         e	e         f         fdZ
dS )	zA LazyLoader class.    )CallableSequenceN)Anypackage_name
submodulesreturnc                      t                    dt          dt          f fd}dt           t                   ffd}||fS )zLazily loads submodules of a package.

  Example use:
  ```
  __getattr__, __dir__, __all__ = lazy_loader.attach(__name__, ["sub1", "sub2"])
  ```
  namer   c                 h    | v rt          j         d|            S t          d d|            )N.zmodule 'z' has no attribute ')	importlibimport_moduleAttributeError)r
   r   r   s    T/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jax/_src/lazy_loader.py__getattr__zattach.<locals>.__getattr__%   sL    z$%=%=t%=%=>>>
LLLLdLL
M
MM    c                       S )N )__all__s   r   __dir__zattach.<locals>.__dir__*   s    Nr   )liststrr   )r   r   r   r   r   s   ``  @r   attachr      s     J'''N N N N N N N N N
49       
gw	&&r   )__doc__collections.abcr   r   r   typingr   r   tupler   r   r   r   r   <module>r      s      . . . . . . . .          ' '(3- 'EcUCZRc]I= ' ' ' ' ' 'r   