
    hn                    r    S SK Jr  S SKJrJr  S SKJrJrJrJ	r	  S SK
Jr  \" S5      r " S S\\   \5      rg)	    )annotations)ABCabstractmethod)GenericTypeVarIterablecast)overrideTc                      \ rS rSrSrSS jr\SS j5       r\SS j5       r\SS j5       r	\
\SS j5       5       rSS jrSS	 jr\SS
 j5       rSrg)	LazyProxy
   zImplements data methods to pretend that an instance is another instance.

This includes forwarding attribute access and other methods.
c                f    U R                  5       n[        U[        5      (       a  U$ [        X!5      $ N)__get_proxied__
isinstancer   getattr)selfattrproxieds      F/var/www/html/env/lib/python3.13/site-packages/openai/_utils/_proxy.py__getattr__LazyProxy.__getattr__   s-    &&(gy))Nw%%    c                    U R                  5       n[        U[        5      (       a  UR                  R                  $ [        U R                  5       5      $ r   )r   r   r   	__class____name__reprr   r   s     r   __repr__LazyProxy.__repr__   sC    &&(gy))$$---D((*++r   c                    U R                  5       n[        U[        5      (       a  UR                  R                  $ [        U5      $ r   )r   r   r   r   r   strr   s     r   __str__LazyProxy.__str__    s9    &&(gy))$$---7|r   c                p    U R                  5       n[        U[        5      (       a  / $ UR                  5       $ r   )r   r   r   __dir__r   s     r   r'   LazyProxy.__dir__'   s/    &&(gy))I  r   c                    U R                  5       n[        [        U5      [        5      (       a  [        U5      $ UR                  $ r   )r   
issubclasstyper   r   r   s     r   r   LazyProxy.__class__.   s9     &&(d7mY//=    r   c                "    U R                  5       $ r   )__load__r   s    r   r   LazyProxy.__get_proxied__6   s    }}r   c                "    [        [        U 5      $ )zHHelper method that returns the current proxy, typed as the loaded object)r	   r   r/   s    r   __as_proxied__LazyProxy.__as_proxied__9   s    At}r   c                    g r    r/   s    r   r.   LazyProxy.__load__=   s     r   r5   N)r   r#   returnobject)r7   r#   )r7   zIterable[str])r7   r+   )r7   r   )r   
__module____qualname____firstlineno____doc__r   r
   r    r$   r'   propertyr   r   r2   r   r.   __static_attributes__r5   r   r   r   r   
   s~    & , ,   ! ! !  !    r   r   N)
__future__r   abcr   r   typingr   r   r   r	   typing_extensionsr
   r   r   r5   r   r   <module>rC      s/    " # 3 3 &CL4!
C 4!r   