ó
    ûÞ jÐ4  ã                  ó   • S SK Jr  S SKrS SKrS SKrS SKrS SKJrJrJ	r	J
r
JrJrJrJrJrJr  S SKJr  S SKJrJr  S SKJrJr  S SKrSSKJrJrJrJrJr  \" S	5      r\" S
\	\ S4   S9r!\" S\
\"\ 4   S9r#\" S\\    S9r$\" S\S\4   S9r%\(       a  SSK&J'r'J(r(  S>S jr)SS.       S?S jjr*S@S jr+            SAS jr,SBS jr-SCS jr.SDS jr/SES jr0SFS jr1SGS jr2SHS jr3SIS jr4SJS jr5SKS  jr6S!S"S#.SLS$ jjr7SMS% jr8SNS& jr9\" S'5      r:\" S(5      r;\SOS) j5       r<\SPS* j5       r<\SQS+ j5       r<SRS, jr<SSS- jr=STS. jr>SUS/ jr?SVS0 jr@SWS1 jrASXS2 jrBSYS3 jrCSZS4 jrDS[S5 jrES\S6 jrFS]S7 jrGS8S9.S^S: jjrHS_S; jrIS`S< jrJSaS= jrKg)bé    )ÚannotationsN)
ÚTYPE_CHECKINGÚAnyÚTupleÚMappingÚTypeVarÚCallableÚIterableÚSequenceÚcastÚoverload)ÚPath)ÚdateÚdatetime)Ú	TypeGuardÚget_argsé   )ÚOmitÚNotGivenÚ	FileTypesÚArrayFormatÚHeadersLikeÚ_TÚ_TupleT.)ÚboundÚ	_MappingTÚ
_SequenceTÚ	CallableT)ÚAzureOpenAIÚAsyncAzureOpenAIc                óD   • U  VVs/ sH  o H  o"PM     M     snn$ s  snnf ©N© )ÚtÚsublistÚitems      ÚN/var/www/html/gaurav/venv/lib/python3.13/site-packages/openai/_utils/_utils.pyÚflattenr(   %   s"   € Ù !Ô6¡�Wªg dŠD©g‰D¡Ò6Ð6ùÓ6s   †Úbrackets)Úarray_formatc               óR   • / nU H  nUR                  [        XSSUS95        M      U$ )a�  Recursively extract files from the given dictionary based on specified paths.

A path may look like this ['foo', 'files', '<array>', 'data'].

``array_format`` controls how ``<array>`` segments contribute to the emitted
field name. Supported values: ``"brackets"`` (``foo[]``), ``"repeat"`` and
``"comma"`` (``foo``), ``"indices"`` (``foo[0]``, ``foo[1]``).

Note: this mutates the given dictionary.
r   N©ÚindexÚflattened_keyr*   )ÚextendÚ_extract_items)ÚqueryÚpathsr*   ÚfilesÚpaths        r'   Úextract_filesr5   )   s0   € ð$ *,€EÛˆØ�‰”^ E°qÈÐ[gÑhÖiñ à€Ló    c           
     óœ   • U S:X  a  gU S:X  a  SU S3$ U S:X  d  U S:X  a  g[        S	U  S
SR                  [        [        5      5       35      e)Nr)   z[]ÚindicesÚ[Ú]ÚrepeatÚcommaÚ zUnknown array_format value: z, choose from ú, )ÚNotImplementedErrorÚjoinr   r   )r*   Úarray_indexs     r'   Ú_array_suffixrB   A   se   € Ø�zÓ!ØØ�yÓ Ø�;�-˜qÐ!Ð!Ø�xÓ <°7Ó#:ð Ü
Ø
& | n°NÀ4Ç9Á9ÌXÔVaÓMbÓCcÐBdÐeóð r6   c               ó  •  X   nUS-  n[        U 5      (       aM   [        S XS   5       5      (       a  U R                  U5      nOX   n Uc  UnO	USU S3-  n[        UUUUUS9$ [	        U 5      (       aL  US	:w  a  / $ [        [        U 5       VVs/ sH#  u  pŒ[        UUUUb  UOS
[        XH5      -   US9PM%     snn5      $ / $ ! [          a¤    [        U 5      (       d  / s $ SSKJn  Uc   e[	        U 5      (       aY  / n[        U 5       HD  u  p‰[        XH5      n
U(       a  X:-   OU
nU" X›S9  UR                  U[        [        U	5      45        MF     Us $ U" XS9  U[        [        U 5      4/s $ f = f! [         a    / s $ f = fs  snnf )Nr   )Úassert_is_file_content)Úkeyé   c              3  ó(   #   • U H	  oS :H  v •  M     g7f)ú<array>Nr#   )Ú.0Úps     r'   Ú	<genexpr>Ú!_extract_items.<locals>.<genexpr>u   s   é € Ð8©< a˜	–>ª<ùs   ‚r9   r:   r,   rH   r=   )Ú
IndexErrorÚis_givenÚ_filesrD   Úis_listÚ	enumeraterB   Úappendr   r   Úis_dictÚallÚpopÚKeyErrorr0   r(   )Úobjr4   r-   r.   r*   rE   rD   r3   rA   ÚentryÚsuffixÚemitted_keyr&   s                r'   r0   r0   O   sÏ  € ð7Ø‰kˆð0 
ˆQ�J€EÜˆs‡|�|ð	ô Ñ8¨4°©<Ó8×8Ñ8Ø—w‘w˜s“|‘à‘x‘ð Ñ Ø‰Mà˜q   Q˜ZÑ'ˆMÜØØØØ'Ø%ñ
ð 	
ô 
��‰Ø�)ÓØˆIäô *3°3¬ôñ *8Ñ%�Kô ØØØà*7Ñ*C™ÈÌ}Ð]iÓOwÑwà!-ôñ *8òó
ð 	
ð  €IøôI ó 7Ü˜�}‰}àŠIõ 	4ð Ñ(Ð(Ð(ä�3�<‰<Ø13ˆEÜ&/°¦nÑ"�Ü& |ÓA�Þ:G˜}Ò5ÈV�Ù& uÒ>Ø—‘˜k¬4´	¸5Ó+AÐBÖCñ	 '5ð
 ŠLá˜sÒ6Ø¤¤Y°Ó 4Ð5Ð6Ò6ð+7ûô@ ó 	ð ŠIð		üó*s;   ‚C œ*E7 ÁE7 Â)F	
ÃE4Ã$A2E4ÅE4Å3E4Å7FÆFc                ód   • [        U [        5      (       + =(       a    [        U [        5      (       + $ r"   )Ú
isinstancer   r   ©rW   s    r'   rN   rN       s!   € Ü˜#œxÓ(Ô(×F´¸CÄÓ1FÔ-FÐFr6   c                ó"   • [        U [        5      $ r"   ©r\   Útupler]   s    r'   Úis_tuplera   ®   ó   € Ü�cœ5Ó!Ð!r6   c                ó"   • [        U [        5      $ r"   r_   r]   s    r'   Ú
is_tuple_trd   ²   rb   r6   c                ó"   • [        U [        5      $ r"   ©r\   r   r]   s    r'   Úis_sequencerg   ¶   ó   € Ü�cœ8Ó$Ð$r6   c                ó"   • [        U [        5      $ r"   rf   r]   s    r'   Úis_sequence_trj   º   rh   r6   c                ó"   • [        U [        5      $ r"   ©r\   r   r]   s    r'   Ú
is_mappingrm   ¾   ó   € Ü�cœ7Ó#Ð#r6   c                ó"   • [        U [        5      $ r"   rl   r]   s    r'   Úis_mapping_trp   Â   rn   r6   c                ó"   • [        U [        5      $ r"   )r\   Údictr]   s    r'   rS   rS   Æ   ó   € Ü�cœ4Ó Ð r6   c                ó"   • [        U [        5      $ r"   )r\   Úlistr]   s    r'   rP   rP   Ê   rs   r6   c                ó"   • [        U [        5      $ r"   )r\   r
   r]   s    r'   Úis_iterablerw   Î   rh   r6   r>   Úor)ÚdelimÚfinalc               ó¨   • [        U 5      nUS:X  a  gUS:X  a  U S   $ US:X  a  U S    SU SU S    3$ UR                  U S S 5      SU SU S    3-   $ )Nr   r=   rF   r   Ú éÿÿÿÿ)Úlenr@   )Úseqry   rz   Úsizes       r'   Ú
human_joinr�   Ó   sv   € Üˆs‹8€DØˆqƒyØàˆqƒyØ�1‰vˆàˆqƒyØ�a‘&�˜˜5˜'  3 q¡6 (Ð+Ð+à�:‰:�c˜#˜2�hÓ A e W¨A¨c°"©g¨YÐ"7Ñ7Ð7r6   c                ó   • SU  S3$ )zOAdd single quotation marks around the given string. Does *not* do any escaping.Ú'r#   )Ústrings    r'   Úquoter…   á   s   € àˆvˆh�aˆ=Ðr6   c                 ó   ^ • SU 4S jjnU$ )a   Decorator to enforce a given set of arguments or variants of arguments are passed to the decorated function.

Useful for enforcing runtime validation of overloaded functions.

Example usage:
```py
@overload
def foo(*, a: str) -> str: ...


@overload
def foo(*, b: bool) -> str: ...


# This enforces the same constraints that a static type checker would
# i.e. that either a or b must be passed to the function
@required_args(["a"], ["b"])
def foo(*, a: str | None = None, b: bool | None = None) -> str: ...
```
c                ó6  >^ ^• [         R                  " T 5      R                  nUR                  5        VVs/ sH/  u  p#UR                  UR
                  UR                  1;   d  M-  UPM1     snnm[        R                  " T 5      SU UU4S jj5       nU$ s  snnf )Nc                 óh  >^• [        5       m[        U 5       H  u  p# TR                  TU   5        M     UR                  5        H  nTR                  U5        M     T H!  n[        U4S jU 5       5      nU(       d  M!    OÚ   [        T5      S:”  aK  [        T VVs/ sH,  nS[        U Vs/ sH  n[        U5      PM     snSS9-   S	-   PM.     snn5      nS
U S3n	Os[        T5      S:”  d   e[        [        TS   5      T-
  5      n
[        U
5      S:”  a(  S[        U
 Vs/ sH  n[        U5      PM     sn5       3n	OS[        U
S   5       3n	[	        U	5      eT" U 0 UD6$ ! [         a2    [	        TR
                   S[        T5       S[        U 5       S35      S ef = fs  snf s  snnf s  snf )Nz	() takes z argument(s) but z were givenc              3  ó*   >#   • U H	  oT;   v •  M     g 7fr"   r#   )rI   ÚparamÚgiven_paramss     €r'   rK   Ú@required_args.<locals>.inner.<locals>.wrapper.<locals>.<genexpr>  s   øé € ÐJÁ'¸¨Ö4Â'ùs   ƒrF   Ú(Úand)rz   Ú)z,Missing required arguments; Expected either z arguments to be givenr   zMissing required arguments: zMissing required argument: )ÚsetrQ   ÚaddrM   Ú	TypeErrorÚ__name__r~   ÚkeysrT   r�   r…   ru   )ÚargsÚkwargsÚiÚ_rE   ÚvariantÚmatchesÚargÚ
variationsÚmsgÚmissingr‹   ÚfuncÚ
positionalÚvariantss              @€€€r'   ÚwrapperÚ-required_args.<locals>.inner.<locals>.wrapper  sÄ  ù€ ä%(£UˆLÜ! $ž‘�ð Ø ×$Ñ$ Z°¡]Ö3ñ (ð —{‘{–}�Ø× Ñ  Ö%ñ %ó $�ÜÔJÁ'ÓJÓK�ß�7Ùñ $ô
 �x“= 1Ó$Ü!+ÙmuÔvÑmuÐbi˜œzÁÓ*IÁ¸#¬5°®:ÁÑ*IÐQVÑWÑWÐZ]Ô]ÑmuÒvó"�Jð IÈÈÐTjÐk‘Cä˜x›=¨1Ó,Ð,Ð,ô #¤3 x°¡{Ó#3°lÑ#BÓC�GÜ˜7“| aÓ'Ø <¼ZÑ_fÓHgÑ_fÐX[ÌÈsÎÑ_fÑHgÓ=hÐ<iÐj™à ;¼EÀ'È!Á*Ó<MÐ;NÐO˜Ü “nÐ$Ù˜Ð( Ñ(Ð(øô9 "ó  Ü#ØŸ=™=˜/¨´3°z³?Ð2CÐCTÔUXÐY]ÓU^ÐT_Ð_jÐkóàð ð üò +JùÓvùò Ihs)   žE%ÂF)
Â-F$ÃF)
Ä#F/
Å%<F!Æ$F)
)r•   Úobjectr–   r¤   Úreturnr¤   )	ÚinspectÚ	signatureÚ
parametersÚitemsÚkindÚPOSITIONAL_ONLYÚPOSITIONAL_OR_KEYWORDÚ	functoolsÚwraps)rŸ   ÚparamsÚnamerŠ   r¢   r    r¡   s   `    @€r'   ÚinnerÚrequired_args.<locals>.innerü   s“   ú€ Ü×"Ò" 4Ó(×3Ñ3ˆð  &Ÿ|™|œ~ô
á-‘�Ø�z‰zà×%Ñ%Ø×+Ñ+ðñ÷ Ù-ò
ˆ
ô 
�Š˜Ó	÷!	)ð !	)ó 
ð!	)ðF ˆùó]
s   ·+BÁ&B)rŸ   r   r¥   r   r#   )r¡   r±   s   ` r'   Úrequired_argsr³   æ   s   ø€ ÷,0ðd €Lr6   Ú_KÚ_Vc                ó   • g r"   r#   r]   s    r'   Ústrip_not_givenr·   5  s   € Ø(+r6   c                ó   • g r"   r#   r]   s    r'   r·   r·   9  s   € ØFIr6   c                ó   • g r"   r#   r]   s    r'   r·   r·   =  s   € Ø,/r6   c                ó°   • U c  g[        U 5      (       d  U $ U R                  5        VVs0 sH  u  p[        U[        5      (       a  M  X_M      snn$ s  snnf )zHRemove all top-level keys where their values are instances of `NotGiven`N)rm   r©   r\   r   )rW   rE   Úvalues      r'   r·   r·   A  sE   € à
�{Øä�c�?‰?Øˆ
à),¯©¬ÔX©™:˜3¼JÀuÌh×<W‹JˆCŠJ©ÒXÐXùÓXs   ªAÁAc                ó   • [        U SS9$ )Né
   )Úbase)Úint©Úvals    r'   Úcoerce_integerrÂ   L  s   € Üˆs˜ÑÐr6   c                ó   • [        U 5      $ r"   )ÚfloatrÀ   s    r'   Úcoerce_floatrÅ   P  s   € Ü�‹:Ðr6   c                ó<   • U S:H  =(       d    U S:H  =(       d    U S:H  $ )NÚtrueÚ1Úonr#   rÀ   s    r'   Úcoerce_booleanrÊ   T  s   € Ø�&‰=×5˜C 3™J×5¨#°©+Ð5r6   c                ó    • U c  g [        U 5      $ r"   )rÂ   rÀ   s    r'   Úmaybe_coerce_integerrÌ   X  ó   € Ø
�{ØÜ˜#ÓÐr6   c                ó    • U c  g [        U 5      $ r"   )rÅ   rÀ   s    r'   Úmaybe_coerce_floatrÏ   ^  s   € Ø
�{ØÜ˜ÓÐr6   c                ó    • U c  g [        U 5      $ r"   )rÊ   rÀ   s    r'   Úmaybe_coerce_booleanrÑ   d  rÍ   r6   c                óN   • U R                  U5      (       a  U [        U5      S $ U $ )zPRemove a prefix from a string.

Backport of `str.removeprefix` for Python < 3.9
N)Ú
startswithr~   )r„   Úprefixs     r'   ÚremoveprefixrÕ   j  s+   € ð
 ×Ñ˜× Ñ Ø”c˜&“k�mÐ$Ð$Ø€Mr6   c                óP   • U R                  U5      (       a  U S[        U5      *  $ U $ )zPRemove a suffix from a string.

Backport of `str.removesuffix` for Python < 3.9
N)Úendswithr~   )r„   rY   s     r'   ÚremovesuffixrØ   t  s+   € ð
 ‡��v×ÑØ�nœ˜V›˜Ð%Ð%Ø€Mr6   c                óx   • [        U 5      R                  5       n[        R                  R	                  U 5      nX!4$ r"   )r   Ú
read_bytesÚosr4   Úbasename)r4   ÚcontentsÚ	file_names      r'   Úfile_from_pathrß   ~  s1   € Ü�D‹z×$Ñ$Ó&€HÜ—‘× Ñ  Ó&€IØÐ Ð r6   c                óª  • UR                  5       n[        U 5      (       aH  U R                  5        H4  u  p4UR                  5       U:X  d  M  [        U[        5      (       d  M2  Us  $    [
        R                  " SS UR                  5       5      nXUR                  5       U4 H  nU R                  U5      nU(       d  M  Us  $    [        SU S35      e)Nz([^\w])(\w)c                ód   • U R                  S5      U R                  S5      R                  5       -   $ )NrF   r   )ÚgroupÚupper)Úpats    r'   Ú<lambda>Ú%get_required_header.<locals>.<lambda>�  s#   € ¸#¿)¹)ÀA»,ÈÏÉÐSTË×I[ÑI[ÓI]Ò:]r6   zCould not find z header)Úlowerrp   r©   r\   ÚstrÚreÚsubÚ
capitalizerã   ÚgetÚ
ValueError)ÚheadersÚheaderÚlower_headerÚkÚvÚintercaps_headerÚnormalized_headerr»   s           r'   Úget_required_headerrõ   „  s²   € Ø—<‘<“>€LÜ�G×Ñà—M‘M–O‰DˆAØ�w‰w‹y˜LÕ(¬Z¸¼3×-?Ó-?Ø’ñ $ô
 —v’v˜nÑ.]Ð_e×_pÑ_pÓ_rÓsÐà$°F·L±L³NÐDTÓUÐØ—‘Ð-Ó.ˆßˆ5ØŠLñ Vô
 � v h¨gÐ6Ó
7Ð7r6   c                 óN   •  [         R                  " 5       $ ! [         a     gf = f)NÚfalse)ÚsniffioÚcurrent_async_libraryÚ	Exceptionr#   r6   r'   Úget_async_libraryrû   —  s(   € ðÜ×,Ò,Ó.Ð.øÜó Ùðús   ‚ —
$£$é€   ©Úmaxsizec                óJ   • [         R                  " U S9n[        [        U5      $ )zeA version of functools.lru_cache that retains the type signature
for the wrapped function arguments.
rý   )r­   Ú	lru_cacher   r   )rþ   r¢   s     r'   r   r   ž  s&   € ô ×!Ò!Øñ€Gô ”�WÓÐr6   c                ó–  • [        U 5      (       a7  U R                  5        VVs0 sH  u  p[        U5      [        U5      _M     snn$ [        U 5      (       a;  [	        U [
        [        [        45      (       d  U  Vs/ sH  n[        U5      PM     sn$ [	        U [        [        45      (       a  U R                  5       $ U $ s  snnf s  snf )znTranslates a mapping / sequence recursively in the same fashion
as `pydantic` v2's `model_dump(mode="json")`.
)rm   r©   Ú	json_saferw   r\   rè   ÚbytesÚ	bytearrayr   r   Ú	isoformat)ÚdatarE   r»   r&   s       r'   r  r  ¨  s    € ô �$×ÑØCGÇ:Á:Ä<ÔPÁ<±Z°S”	˜#“¤	¨%Ó 0Ò0Á<ÒPÐPä�4×Ñ¤¨D´3¼¼yÐ2I×!JÑ!JÙ,0Ó1©D D”	˜$–©DÑ1Ð1ä�$œ¤4Ð(×)Ñ)Ø�~‰~ÓÐà€Kùó Qùò 2s   ¤ C Á<Cc                ó$   • SSK Jn  [        X5      $ )Nr   )r   )Ú	lib.azurer   r\   )Úclientr   s     r'   Úis_azure_clientr
  ¸  s   € Ý'ä�fÓ*Ð*r6   c                ó$   • SSK Jn  [        X5      $ )Nr   )r    )r  r    r\   )r	  r    s     r'   Úis_async_azure_clientr  ¾  s   € Ý,ä�fÓ/Ð/r6   )r$   zIterable[Iterable[_T]]r¥   zlist[_T])r1   zMapping[str, object]r2   zSequence[Sequence[str]]r*   r   r¥   úlist[tuple[str, FileTypes]])r*   r   rA   r¿   r¥   rè   )rW   r¤   r4   úSequence[str]r-   r¿   r.   ú
str | Noner*   r   r¥   r  )rW   z_T | NotGiven | Omitr¥   zTypeGuard[_T])rW   r¤   r¥   zTypeGuard[tuple[object, ...]])rW   z_TupleT | objectr¥   zTypeGuard[_TupleT])rW   r¤   r¥   zTypeGuard[Sequence[object]])rW   z_SequenceT | objectr¥   zTypeGuard[_SequenceT])rW   r¤   r¥   zTypeGuard[Mapping[str, object]])rW   z_MappingT | objectr¥   zTypeGuard[_MappingT])rW   r¤   r¥   zTypeGuard[dict[object, object]])rW   r¤   r¥   zTypeGuard[list[object]])rW   r¤   r¥   zTypeGuard[Iterable[object]])r   r  ry   rè   rz   rè   r¥   rè   )r„   rè   r¥   rè   )r¡   r  r¥   ú Callable[[CallableT], CallableT])rW   ÚNoner¥   r  )rW   zMapping[_K, _V | NotGiven]r¥   zdict[_K, _V])rW   r¤   r¥   r¤   )rW   zobject | Noner¥   r¤   )rÁ   rè   r¥   r¿   )rÁ   rè   r¥   rÄ   )rÁ   rè   r¥   Úbool)rÁ   r  r¥   ú
int | None)rÁ   r  r¥   zfloat | None)rÁ   r  r¥   zbool | None)r„   rè   rÔ   rè   r¥   rè   )r„   rè   rY   rè   r¥   rè   )r4   rè   r¥   r   )rî   r   rï   rè   r¥   rè   )r¥   rè   )rþ   r  r¥   r  )r  r¤   r¥   r¤   )r	  r¤   r¥   zTypeGuard[AzureOpenAI])r	  r¤   r¥   zTypeGuard[AsyncAzureOpenAI])LÚ
__future__r   rÛ   ré   r¦   r­   Útypingr   r   r   r   r   r	   r
   r   r   r   Úpathlibr   r   r   Útyping_extensionsr   r   rø   Ú_typesr   r   r   r   r   r   r¤   r   rè   r   r   r   r  r   r    r(   r5   rB   r0   rN   ra   rd   rg   rj   rm   rp   rS   rP   rw   r�   r…   r³   r´   rµ   r·   rÂ   rÅ   rÊ   rÌ   rÏ   rÑ   rÕ   rØ   rß   rõ   rû   r   r  r
  r  r#   r6   r'   Ú<module>r     sü  ðÝ "ã 	Û 	Û Û ÷÷ ÷ õ ß #ß 1ã ç HÕ HáˆTƒ]€Ù
�) 5¨°¨Ñ#5Ñ
6€Ù�K w¨s°F¨{Ñ';Ñ<€	Ù�\¨°&Ñ)9Ñ:€
Ù�K x°°S°Ñ'9Ñ:€	æß9ô7ð !+ñð  ðð
 #ðð ðð !õô0ðNØ	ðNà
ðNð ð	Nð
 ðNð ðNð !ôNôbGô"ô"ô%ô%ô$ô$ô!ô!ô%ð
 48Àd÷ 8ôô
HñV ˆTƒ]€ÙˆTƒ]€ð 
Û +ó 
Ø +ð 
Û Ió 
Ø Ið 
Û /ó 
Ø /ôYôôô6ôôôôôô!ô8ô&ð (+÷ ôô +õ0r6   