
    h                    b    S SK Jr  S SKrS SKJrJr  SS jr\" 5       SS.         S	S jjrg)
    )annotationsN)AnyCallablec                J    [         R                  " U 5      nXR                  ;   $ )zBReturns whether or not the given function has a specific parameter)inspect	signature
parameters)funcarg_namesigs      K/var/www/html/env/lib/python3.13/site-packages/openai/_utils/_reflection.pyfunction_has_argumentr      s    


D
!C~~%%     )exclude_paramsdescriptionc               D   [         R                  " U5      n[         R                  " U 5      n/ nUR                  R                  5        H  u  pxXr;   a  M  UR                  R	                  U5      n	U	(       d  UR                  SU S35        ME  U	R                  UR                  :w  d  Ma  UR                  SU S[        UR                  5       S[        U	R                  5       35        M     U(       a,  [        [        U5       SU S3SR                  U5      -   5      eg	)
zCEnsure that the signature of the second function matches the first.zthe `z` param is missingztypes for the `z!` param are do not match; source=z
 checking=z- errors encountered when comparing signaturesz:

z

N)r   r   r	   itemsgetappend
annotationreprAssertionErrorlenjoin)
source_func
check_funcr   r   	check_sig
source_sigerrorsnamesource_paramcustom_params
             r   assert_signatures_in_syncr$      s-    !!*-I"";/JF(3399;! ++//5MME$'9:;""l&=&==MM!$'HlNeNeIfHggqrv  xD  xO  xO  sP  rQ  R  < 6{mHUZ[^d^i^ijp^qq
 	
 r   )r
   Callable[..., Any]r   strreturnbool)
r   r%   r   r%   r   zset[str]r   r&   r'   None)	
__future__r   r   typingr   r   r   setr$    r   r   <module>r.      sP    "   &  #u 
# 
" 
 	 

  
 
 
r   