
    g                      U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dl m!Z!m"Z"m#Z# d dl$Z$d dl%Z%d dl&Z&d dl'Z'd dl%m(Z(m)Z) d dl'm*Z* d	d
l+m,Z, d	dl-m.Z. d	dl/m0Z0m1Z1 d	dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZD d	dlEmFZFmGZGmHZHmIZImJZJmKZK d	dlLmMZMmNZN d	dlOmPZPmQZQmRZRmSZS d	dlTmUZUmVZVmWZWmXZX d	dlYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z` d	dlambZbmcZcmdZdmeZe d	dl,mfZfmgZgmhZhmiZi d	dljmkZk  e	j                  em      Zndeod<    edd      Zp edd      Zq ed      Zr edd       Zs ed!ebe         Zt ed"ede         Zuerd d#lvmwZx n	 d d#lvmwZx  G d% d&      Zz G d' d(ePeer         Z{ G d) d*e{er   eer         Z| G d+ d,eereqf         Z} G d- d.e{er   eer         Z~ ed/ee%j                  e%j                   f         Z ed0eebe   ede   f         Z G d1 d2eeef         Z G d3 d4e%j                        Zere%j                  ZneZ G d5 d6e      Z G d7 d8ee%j                  ebe   f         Z G d9 d:e%j                         Zere%j                   ZneZ G d; d<e      Z G d= d>ee%j                   ede   f         Zddddde3e3d?	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dPd@Z G dA dBeedf         Z G dC dD      Zeee!dE   f   ZdQdFZ eJdG      dRdH       Z G dI dJ      Zeee!dK   f   ZdSdLZdSdMZdTdNZ	 	 	 	 	 	 dUdOZy# ey$ r  e8d$      ZxY w xY w)V    )annotationsN)TracebackType)random)TYPE_CHECKINGAnyDictTypeUnionGenericMappingTypeVarIterableIteratorOptional	GeneratorAsyncIteratorcastoverload)Literaloverride
get_origin)URLLimits)PrivateAttr   )_exceptionsQuerystring)to_httpx_filesasync_to_httpx_files)	NOT_GIVENBodyOmitQueryHeadersTimeoutNotGiven	ResponseT	Transport
AnyMapping
PostParserProxiesTypesRequestFilesHttpxSendArgsAsyncTransportRequestOptionsHttpxRequestFilesModelBuilderProtocol)is_dictis_listasyncifyis_given	lru_cache
is_mapping)
model_copy
model_dump)GenericModelFinalRequestOptionsvalidate_typeconstruct_type)APIResponseBaseAPIResponseAsyncAPIResponseextract_response_type)DEFAULT_TIMEOUTMAX_RETRY_DELAYDEFAULT_MAX_RETRIESINITIAL_RETRY_DELAYRAW_RESPONSE_HEADEROVERRIDE_CAST_TO_HEADERDEFAULT_CONNECTION_LIMITS)Stream
SSEDecoderAsyncStreamSSEBytesDecoder)APIStatusErrorAPITimeoutErrorAPIConnectionErrorAPIResponseValidationError)LegacyAPIResponsezlogging.Loggerlog	SyncPageTzBaseSyncPage[Any])bound
AsyncPageTzBaseAsyncPage[Any]_T_T_coT)	covariant_StreamT_AsyncStreamT)DEFAULT_TIMEOUT_CONFIGg      @c                      e Zd ZU dZded<   ded<   e	 	 	 	 dd       Ze	 	 	 	 dd       Zeed	 	 	 	 	 dd	Zedd
       Z	y)PageInfozStores the necessary information to build the request to retrieve the next page.

    Either `url` or `params` must be set.
    URL | NotGivenurlQuery | NotGivenparamsc                    y N selfr`   s     K/var/www/openai/venv/lib/python3.12/site-packages/anthropic/_base_client.py__init__zPageInfo.__init__|       
     c                    y rd   re   )rg   rb   s     rh   ri   zPageInfo.__init__   rj   rk   r`   rb   c                    || _         || _        y rd   rm   )rg   r`   rb   s      rh   ri   zPageInfo.__init__   s     rk   c                    | j                   r&| j                  j                   d| j                    dS | j                  j                   d| j                   dS )Nz(url=)z(params=)r`   	__class____name__rb   rg   s    rh   __repr__zPageInfo.__repr__   sM    88nn--.eDHH:Q??..))*(4;;-qAArk   N)r`   r   returnNone)rb   r$   ru   rv   )r`   r_   rb   ra   ru   rv   ru   str)
rr   
__module____qualname____doc____annotations__r   ri   r!   r   rt   re   rk   rh   r^   r^   s   s    
 
  
	    
	  (#,	  !	
 
 B Brk   r^   c                  j    e Zd ZU dZ e       Zded<    e       Zded<   ddZddZ	ddZ
dd	Zdd
Zy)BasePagea<  
    Defines the core interface for pagination.

    Type Args:
        ModelT: The pydantic model that represents an item in the response.

    Methods:
        has_next_page(): Check if there is another page available
        next_page_info(): Get the necessary information to make a request for the next page
    r<   _optionsType[_T]_modelc                L    | j                         }|sy| j                         d uS )NF)_get_page_itemsnext_page_info)rg   itemss     rh   has_next_pagezBasePage.has_next_page   s*    $$&""$D00rk   c                     y rd   re   rs   s    rh   r   zBasePage.next_page_info   s    Crk   c                     y rd   re   rs   s    rh   r   zBasePage._get_page_items   s    rk   c                    t        j                  t        t        | j                  j
                              j                  |j
                        S rd   )httpxQueryParamsr   r   r   rb   mergerf   s     rh   _params_from_urlzBasePage._params_from_url   s3      c4==+?+?!@AGG

SSrk   c                   t        | j                        }|j                          t        |j                  t
              s!i |j                  |j                  |_        |S t        |j                  t
              sc| j                  |j                        }|j                  j                  |      }t        |j                        |_        t        |      |_        |S t        d      )N)rb   zUnexpected PageInfo state)r9   r   _strip_raw_response_header
isinstancerb   r'   r`   r   	copy_withdictrx   
ValueError)rg   infooptionsrb   r`   s        rh   _info_to_optionszBasePage._info_to_options   s    T]]+**,$++x0>>$++>GNN$((H-**4884F(($$F$3C!#**-GNc(GKN455rk   Nru   bool)ru   zOptional[PageInfo])ru   zIterable[_T])r`   r   ru   zhttpx.QueryParams)r   r^   ru   r<   )rr   ry   rz   r{   r   r   r|   r   r   r   r   r   r   re   rk   rh   r~   r~      s<    	 %0MH!1"}FH$1 8T6rk   r~   c                  j    e Zd ZU  ej                         Zded<   	 	 	 	 	 	 	 	 ddZd	dZd
dZ	ddZ
y)BaseSyncPageSyncAPIClient_clientc                .    || _         || _        || _        y rd   r   r   r   )rg   clientmodelr   s       rh   _set_private_attributesz$BaseSyncPage._set_private_attributes        rk   c              #  h   K   | j                         D ]  }|j                         D ]  }|   y wrd   
iter_pagesr   rg   pageitems      rh   __iter__zBaseSyncPage.__iter__   s/     OO%D,,.
 / &s   02c              #  ^   K   | }	 | |j                         r|j                         }ny 'wrd   r   get_next_pagerg   r   s     rh   r   zBaseSyncPage.iter_pages   s5     J!!#))+ s   +-c                    | j                         }|st        d      | j                  |      }| j                  j	                  | j
                  | j                  |      S NzYNo next page expected; please check `.has_next_page()` before calling `.get_next_page()`.)r   r   r   RuntimeErrorr   r   _request_api_listr   rq   rg   r   r   s      rh   r   zBaseSyncPage.get_next_page   sZ    ""$k  ''-||--dkkX_-``rk   N)r   r   r   r   r   r<   ru   rv   )ru   zIterator[_T])rg   rT   ru   zIterator[SyncPageT])rg   rT   ru   rT   )rr   ry   rz   pydanticr   r   r|   r   r   r   r   re   rk   rh   r   r      sR    1X113G]3     %	 
 
 $
ark   r   c                  @    e Zd Z	 	 	 	 	 	 	 	 	 	 ddZddZddZd	dZy)
AsyncPaginatorc                <    || _         || _        || _        || _        y rd   )r   r   r   	_page_cls)rg   r   r   page_clsr   s        rh   ri   zAsyncPaginator.__init__   s      !rk   c                >    | j                         j                         S rd   )	_get_page	__await__rs   s    rh   r   zAsyncPaginator.__await__  s    ~~))++rk   c                    K   d fd}| j                   _         j                  j                   j                   j                          d {   S 7 w)Nc                l    | j                  j                  j                  j                         | S )N)r   r   r   )r   r   r   r   )resprg   s    rh   _parserz)AsyncPaginator._get_page.<locals>._parser	  s2    ((kk|| ) 
 Krk   )r   rV   ru   rV   )r   post_parserr   requestr   )rg   r   s   ` rh   r   zAsyncPaginator._get_page  s?     	 %,!\\))$..$--HHHHs   AAAAc               h   K   t        t        |  d {         }|2 3 d {   }| 7 7 6 y wrd   )r   rV   r   s      rh   	__aiter__zAsyncPaginator.__aiter__  s7     J
  	$J 	$s$   2,

20.0202N)
r   AsyncAPIClientr   r<   r   Type[AsyncPageT]r   r   ru   rv   )ru   z Generator[Any, None, AsyncPageT])ru   rV   ru   zAsyncIterator[_T])rr   ry   rz   ri   r   r   r   re   rk   rh   r   r      sG    
"
" %
" #	
"
 
" 

",Irk   r   c                  j    e Zd ZU  ej                         Zded<   	 	 	 	 	 	 	 	 ddZd	dZd
dZ	ddZ
y)BaseAsyncPager   r   c                .    || _         || _        || _        y rd   r   )rg   r   r   r   s       rh   r   z%BaseAsyncPage._set_private_attributes"  r   rk   c               z   K   | j                         2 3 d {   }|j                         D ]  }| 	 $7 6 y wrd   r   r   s      rh   r   zBaseAsyncPage.__aiter__,  s8     //+ 	$,,.
 /	+s   ;979;9;c               t   K   | }	 | |j                         r|j                          d {   }ny 07 wrd   r   r   s     rh   r   zBaseAsyncPage.iter_pages1  s=     J!!#!//11  2s   ,868c                   K   | j                         }|st        d      | j                  |      }| j                  j	                  | j
                  | j                  |       d {   S 7 wr   r   r   s      rh   r   zBaseAsyncPage.get_next_page:  sd     ""$k  ''-\\33DKKdnn^e3ffffs   A$A-&A+'A-N)r   r   r   r   r   r<   ru   rv   r   )rg   rV   ru   zAsyncIterator[AsyncPageT])rg   rV   ru   rV   )rr   ry   rz   r   r   r   r|   r   r   r   r   re   rk   rh   r   r     sR    2h224G^4     %	 
 
 
grk   r   _HttpxClientT_DefaultStreamTc                  H   e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   dZded<   eeddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d5dZd6dZ	 	 	 	 d7dZ		 	 	 	 	 	 	 	 d8dZ
ddd9dZd:d Zd;d!Zdd	 	 	 	 	 d<d"Zd=d#Zd>d$Zd?d%Z	 	 	 	 	 	 	 	 d@d&ZedAd'       ZedBd(       ZedCd)       ZedDd*       ZedEd+       Z	 	 	 	 	 	 dFd,ZedGd-       ZedHd.       Zej8                  dId/       ZdJd0ZdKdLd1Z	 dK	 	 	 	 	 	 	 dMd2ZdNd3Z dGd4Z!y)O
BaseClientr   r   rx   _versionr   	_base_urlintmax_retrieszUnion[float, Timeout, None]timeouthttpx.Limits_limitsProxiesTypes | None_proxies!Transport | AsyncTransport | None
_transportr   _strict_response_validation
str | None_idempotency_headerNztype[_DefaultStreamT] | None_default_stream_cls)r   r   custom_headerscustom_queryc       
           || _         | j                  t        |            | _        || _        || _        || _        || _        || _        |	xs i | _	        |
xs i | _
        || _        d | _        d | _        |t        d      y )Nzmax_retries cannot be None. If you want to disable retries, pass `0`; if you want unlimited retries, pass `math.inf` or a very high number; if you want the default behavior, pass `anthropic.DEFAULT_MAX_RETRIES`)r   _enforce_trailing_slashr   r   r   r   r   r   r   _custom_headers_custom_queryr   r   	_platform	TypeError)rg   versionbase_urlr   r   r   limits	transportproxiesr   r   s              rh   ri   zBaseClient.__init__V  s      55c(mD&#-3)/R+F(#' *. e  rk   c                z    |j                   j                  d      r|S |j                  |j                   dz         S )N   /raw_path)r   endswithr   rf   s     rh   r   z"BaseClient._enforce_trailing_slashv  s3    <<  &J}}cllT&9}::rk   c                J   |j                   r|j                  sd }d|j                   }nD|j                  j	                         }|}	 t        j                  |      }d|j                   d| }| j                  |||      S # t        $ r |xs d|j                   }Y 2w xY w)NzError code: z - )bodyresponse)		is_closedis_stream_consumedstatus_codetextstripjsonloads	Exception_make_status_error)rg   r   r   err_msgerr_texts        rh    _make_status_error_from_responsez+BaseClient._make_status_error_from_response{  s     h&A&A D$X%9%9$:;G}}**,HDLzz(+()=)=(>c$H &&wTH&MM  L"KX5I5I4J&KLs   'B B"!B"c                   t               rd   )NotImplementedError)rg   r   r   r   s       rh   r   zBaseClient._make_status_error  s     "##rk   r   retries_takenc               r   |j                   xs i }t        | j                  |      }| j                  ||       t	        j
                  |      }| j                  }|rB|j                  j                         dk7  r%||vr!|j                  xs | j                         ||<   dd |D        vrt        |      |d<   |S )Ngetzx-stainless-retry-countc              3  <   K   | ]  }|j                           y wrd   )lower).0headers     rh   	<genexpr>z,BaseClient._build_headers.<locals>.<genexpr>  s     ,Y.V\\^.s   )headers_merge_mappingsdefault_headers_validate_headersr   r%   r   methodr	  idempotency_key_idempotency_keyrx   )rg   r   r  r   headers_dictr  idempotency_headers          rh   _build_headerszBaseClient._build_headers  s     .B&t';';^L|^< ---!55'.."6"6"8E"AFX`gFg*1*A*A*\TEZEZE\G&' %,Y.,YY14]1CG-.rk   c                    t        |      }|j                  rN| j                  j                  |j                  j	                  d      z   }| j                  j                  |      S |S )z
        Merge a URL argument together with any 'base_url' on the client,
        to create the URL used for the outgoing request.
        r   r   )r   is_relative_urlr   r   lstripr   )rg   r`   	merge_urlmerge_raw_paths       rh   _prepare_urlzBaseClient._prepare_url  sZ     H	$$!]]33i6H6H6O6OPT6UUN==**N*CCrk   c                    t               S rd   )rK   rs   s    rh   _make_sse_decoderzBaseClient._make_sse_decoder  s
    |rk   c                  t         j                  t        j                        r!t         j	                  dt        |d             i }|j                  }|j                  W|t        t        |j                        }n:t        |      rt        ||j                        }nt        dt        |       d      | j                  ||      }t        | j                  |j                         }|j#                  d      }|j$                  }|y|j'                  d      rhd	|vr|j)                  d       |r7t+        |      st-        d
t        |       d      | j/                  |      |d<   |st        t0        t3                     }| j5                  |j6                        }	d|	j8                  v r!d|	j8                  j;                  dd      i|d<    | j<                  j>                  d|tA        |jB                  tD              r| jB                  n|jB                  |jF                  |	|r6| jH                  jK                  t        tL        tN        tP        f   |            nd ||d|S )NzRequest options: %sT)exclude_unsetzUnexpected JSON data type, z , cannot merge with `extra_body`r  Content-Typezmultipart/form-databoundaryzGExpected query input to be a dictionary for multipart requests but got z	 instead.data_sni_hostname-
extensions)r  r   r  r`   rb   r   filesre   ))rS   isEnabledForloggingDEBUGdebugr:   	json_data
extra_jsonr   r"   r8   r  r   typer  default_queryrb   r  r(  
startswithpopr3   r   _serialize_multipartformr1   ForceMultipartDictr  r`   hostreplacer   build_requestr   r   r'   r  qs	stringifyr   rx   r   )
rg   r   r  kwargsr-  r  rb   content_typer(  prepared_urls
             rh   _build_requestzBaseClient._build_request  s%    GMM*II+Zt-TU!#%%	)  w'9'9:	I&+Iw7I7IJ	"%@i@QQq#rss%%g]%K !3!3W^^D{{>2 #(?(?@U(V- N+ y)#abfgpbqarr{|  "&!>!>y!Iv .0B0DE((5,###$2L4E4E4M4McSV4W#XF<  *t||)) 
$.w$IDLLw>>
 JP477$$T'#s(*;V%DEUY
 
 	
rk   c                    | j                   j                  |d      }i }|D ]B  \  }}|j                  |      }|s|||<   t        |      r|j	                  |       <||g||<   D |S )Nbrackets)array_format)r8  stringify_itemsr  r4   append)rg   r#  r   
serializedkeyvalueexistings          rh   r3  z#BaseClient._serialize_multipartform  s    '' #	 ( 
 )+
JC!~~c*H"'
3 x &#+U"3
3%  ( rk   c                    t        |j                        s|S t        |j                        }|j                  t        t
              }t        |      r||_        t        t        t           |      S |S rd   )	r6   r  r   r2  rH   r!   r   r	   r(   )rg   cast_tor   r  override_cast_tos        rh   _maybe_override_cast_toz"BaseClient._maybe_override_cast_to&  s^    (N w'
 #;;'>	J$%%GOY)9::rk   c                F    |j                   j                  t              dk(  S )Nstream)r  r  rG   rg   r   s     rh   _should_stream_response_bodyz'BaseClient._should_stream_response_body7  s    ""#678CCrk   c                  |t        t        d       S |t        u rt        t        |      S 	 t        j                  |      r1t        |t              r!t        t        |j                  ||            S | j                  rt        t        t        ||            S t        t        t        ||            S # t        j                  $ r}t        ||      |d }~ww xY w)N)r   r#  )type_rE  )r   r   )r   r(   objectinspectisclass
issubclassr2   buildr   r=   r>   r   ValidationErrorrQ   )rg   r#  rH  r   errs        rh   _process_response_dataz!BaseClient._process_response_data:  s     <	4((f	4((		Tw'Jw@T,UIw}}hT}'RSS//I}7$'OPP	>t#LMM'' 	T,hTJPSS	Ts$   AB4 2&B4 B4 4CCCc                    t               S rd   r   rs   s    rh   r8  zBaseClient.qsR  s
    }rk   c                     y rd   re   rs   s    rh   custom_authzBaseClient.custom_authV  s    rk   c                    i S rd   re   rs   s    rh   auth_headerszBaseClient.auth_headersZ  s    	rk   c                r    dd| j                   d| j                         | j                  | j                  S )Nzapplication/json)Acceptr!  z
User-Agent)
user_agentplatform_headersr]  r   rs   s    rh   r  zBaseClient.default_headers^  sN     ).//
 ##%	

 
 ""
 	
rk   c                    i | j                   S rd   )r   rs   s    rh   r0  zBaseClient.default_queryi  s    
  
 	
rk   c                     y)zaValidate the given default headers and custom headers.

        Does nothing by default.
        Nre   )rg   r  r   s      rh   r  zBaseClient._validate_headerso  s     	rk   c                L    | j                   j                   d| j                   S )Nz/Python )rq   rr   r   rs   s    rh   r`  zBaseClient.user_agentz  s"    ..))*(4==/BBrk   c                    | j                   S rd   )r   rs   s    rh   r   zBaseClient.base_url~  s    ~~rk   c                z    | j                  t        |t              r|      | _        y t        |            | _        y rd   )r   r   r   r   rf   s     rh   r   zBaseClient.base_url  s-    55ZS=Qc`WZ[^W_`rk   c                D    t        | j                  | j                        S )N)platform)ra  r   r   rs   s    rh   ra  zBaseClient.platform_headers  s      GGrk   c                   |y	 |j                  dd      }t        |      dz  S # t        t        f$ r Y nw xY w|j                  d      }	 t        |      S # t        t        f$ r Y nw xY wt        j
                  j                  |      }|yt        j
                  j                  |      }t        |t        j                         z
        S )a@  Returns a float of the number of seconds (not milliseconds) to wait after retrying, or None if unspecified.

        About the Retry-After header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After
        See also  https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After#syntax
        Nzretry-after-ms  zretry-after)	r  floatr   r   emailutilsparsedate_tz	mktime_tztime)rg   response_headersretry_ms_headerretry_headerretry_date_tuple
retry_dates         rh   _parse_retry_after_headerz$BaseClient._parse_retry_after_header  s     #	.223CTJO)D00:& 		 (++M:	 &&:& 		 !;;33LA#[[**+;<
Z$))+-..s   % 77
A A)(A)c                   |j                  | j                        }| j                  |      }|d|cxk  rdk  r|S  t        ||z
  d      }t        t        t        d|      z  t              }ddt               z  z
  }||z  }	|	dk\  r|	S dS )Nr   <   rj  g       @r   g      ?)get_max_retriesr   rv  minrF   powrD   r   )
rg   remaining_retriesr   rq  r   retry_after
nb_retriessleep_secondsjitterr   s
             rh   _calculate_retry_timeoutz#BaseClient._calculate_retry_timeout  s     --d.>.>? 445EF"q;'<"'< (= '88$?
 /#c:2FFX TFH_$&(!Q,w-A-rk   c                P   |j                   j                  d      }|dk(  rt        j                  d       y|dk(  rt        j                  d       y|j                  dk(  r!t        j                  d	|j                         y|j                  d
k(  r!t        j                  d	|j                         y|j                  dk(  r!t        j                  d	|j                         y|j                  dk\  r!t        j                  d	|j                         yt        j                  d       y)Nzx-should-retrytruez4Retrying as header `x-should-retry` is set to `true`Tfalsez9Not retrying as header `x-should-retry` is set to `false`Fi  zRetrying due to status code %ii  i  i  zNot retrying)r  r  rS   r,  r   )rg   r   should_retry_headers      rh   _should_retryzBaseClient._should_retry  s    &..223CD &(IILM')IIQR 3&II68L8LM 3&II68L8LM 3&II68L8LM 3&II68L8LM		.!rk   c                0    dt        j                          S )Nzstainless-python-retry-)uuiduuid4rs   s    rh   r  zBaseClient._idempotency_key  s    (77rk   )r   rx   r   	str | URLr   r   r   r   r   zfloat | Timeout | Noner   r   r   r   r   r   r   Mapping[str, str] | Noner   Mapping[str, object] | Noneru   rv   )r`   r   ru   r   )r   httpx.Responseru   rN   )r   rx   r   rQ  r   r  ru   z_exceptions.APIStatusError)r   r<   r  r   ru   zhttpx.Headers)r`   rx   ru   r   )ru   zSSEDecoder | SSEBytesDecoder)r   r<   r  r   ru   httpx.Request)r#  zMapping[object, object]ru   dict[str, object])rH  type[ResponseT]r   r<   ru   r  )r   r  ru   r   )r#  rQ  rH  r  r   r  ru   r(   )ru   r   )ru   zhttpx.Auth | None)ru   zdict[str, str])ru   zdict[str, str | Omit])ru   r  )r  r%   r   r%   ru   rv   rw   )ru   r   )r`   z	URL | strru   rv   )ru   Dict[str, str]rd   )rq  Optional[httpx.Headers]ru   zfloat | None)r|  r   r   r<   rq  r  ru   rk  )r   r  ru   r   )"rr   ry   rz   r|   r   rE   rC   ri   r   r  r   r  r  r  r=  r3  rJ  rN  rX  propertyr8  r[  r]  r  r0  r  r`  r   setterra  rv  r  r  r  re   rk   rh   r   r   I  s   MN((!!11!%%##8<5< /*9 4848  	
 &*  (  5 % 1 2 
@;
N N 
N,$$ 	$
 !$ 
$$ TU & 	I
$I
 	I

 
I
V<"DT T !	T
 !T 
T0       
 
 
 

		  	 
		 C C   __a aH /L 59	.. %. 2	.
 
.0!F8rk   r   c                        e Zd Zd fdZ xZS )_DefaultHttpxClientc                    |j                  dt               |j                  dt               |j                  dd       t        |   di | y Nr   r   follow_redirectsTre   
setdefaultrC   rI   superri   rg   r:  rq   s     rh   ri   z_DefaultHttpxClient.__init__  E    )_5($=>,d3"6"rk   r:  r   ru   rv   rr   ry   rz   ri   __classcell__rq   s   @rh   r  r        # #rk   r  c                      e Zd ZddZy)SyncHttpxClientWrapperc                D    	 | j                          y # t        $ r Y y w xY wrd   )closer   rs   s    rh   __del__zSyncHttpxClientWrapper.__del__  s"    	JJL 		s    	Nru   rv   rr   ry   rz   r  re   rk   rh   r  r    s    rk   r  c            	      4    e Zd ZU ded<   dZded<   eeddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3 fdZd4dZd5d	Z	d6d
Z
	 	 	 	 	 	 	 	 d7dZ	 	 	 	 d8dZ	 	 	 	 d9dZe	 d:	 	 	 	 	 	 	 	 	 	 	 d;d       Ze	 d:dd	 	 	 	 	 	 	 	 	 d<d       Ze	 d:ddd	 	 	 	 	 	 	 	 	 	 	 d=d       Z	 d:ddd	 	 	 	 	 	 	 	 	 	 	 d>dZ	 	 	 	 	 	 	 	 	 	 	 	 d?dZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 d@dZdd	 	 	 	 	 	 	 	 	 	 	 	 	 dAdZ	 	 	 	 	 	 	 	 dBdZei dd	 	 	 	 	 	 	 	 	 dCd       Zei d	 	 	 	 	 	 	 	 	 	 	 dDd       Zei dd	 	 	 	 	 	 	 	 	 	 	 dEd        Zi ddd!	 	 	 	 	 	 	 	 	 	 	 dEd"Zedi ddd#	 	 	 	 	 	 	 	 	 	 	 	 	 dFd$       Zedi dd%	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dGd&       Zedi ddd'	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dHd(       Zdi dddd)	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dHd*Zdi d+	 	 	 	 	 	 	 	 	 dId,Zddi d-	 	 	 	 	 	 	 	 	 	 	 dJd.Zdi d+	 	 	 	 	 	 	 	 	 dId/Zdi d0d1	 	 	 	 	 	 	 	 	 	 	 	 	 dKd2Z xZS )Lr   zhttpx.Clientr   Nztype[Stream[Any]] | Noner   r   r   r   r   r   http_clientr   r   c                  i }|)t        j                  dt        d       |t        d      t        }|.||d<   t        j                  dt        d       |t        d      |.||d<   t        j                  d	t        d       |t        d
      t        |      s(|r |j                  t        k7  r|j                  }nt        }|1t        |t        j                        st        dt        |             t        | =  ||t!        t"        |      |||||
|	|
       |xs t%        d|t!        t"        |      |dd|| _        y )NhThe `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead   category
stacklevelNThe `http_client` argument is mutually exclusive with `connection_pool_limits`r   [The `transport` argument is deprecated. The `http_client` argument should be passed insteadAThe `http_client` argument is mutually exclusive with `transport`r   YThe `proxies` argument is deprecated. The `http_client` argument should be passed instead?The `http_client` argument is mutually exclusive with `proxies`zOInvalid `http_client` argument; Expected an instance of `httpx.Client` but got )
r   r   r   r   r   r   r   r   r   r   Tr   r   r   r  re   )warningswarnDeprecationWarningr   rI   r6   r   HTTPX_DEFAULT_TIMEOUTrC   r   r   Clientr   r/  r  ri   r   r&   r  r   )rg   r   r   r   r   r   r   r   r  r   r   r   r:  rq   s                rh   ri   zSyncAPIClient.__init__  s~    "$MMz+
 & !qrr.F "+F;MMm+
 & !dee 'F9MMk+
 & !bcc  {226KK%--)":k5<<+Pabfgrbsatu  	'*#%)(C 	 	
 # 
&< '
'*!'
 '
rk   c                .    | j                   j                  S rd   r   r   rs   s    rh   r   zSyncAPIClient.is_closedd      ||%%%rk   c                R    t        | d      r| j                  j                          yy)`Close the underlying HTTPX client.

        The client will *not* be usable after this.
        r   N)hasattrr   r  rs   s    rh   r  zSyncAPIClient.closeg  s#     4#LL  $rk   c                    | S rd   re   rs   s    rh   	__enter__zSyncAPIClient.__enter__q  s    rk   c                $    | j                          y rd   r  rg   exc_typeexcexc_tbs       rh   __exit__zSyncAPIClient.__exit__t  s     	

rk   c                    |S z#Hook for mutating the given optionsre   rg   r   s     rh   _prepare_optionszSyncAPIClient._prepare_options|  s	    
 rk   c                     ya  This method is used as a callback for mutating the `Request` object
        after it has been constructed.
        This is useful for cases where you want to add certain headers based off of
        the request properties, e.g. `url`, `method` etc.
        Nre   rM  s     rh   _prepare_requestzSyncAPIClient._prepare_request  s     rk   c                    y rd   re   rg   rH  r   r|  rL  
stream_clss         rh   r   zSyncAPIClient.request       rk   FrL  c                    y rd   re   )rg   rH  r   r|  rL  s        rh   r   zSyncAPIClient.request       rk   rL  r  c                    y rd   re   r  s         rh   r   zSyncAPIClient.request        #rk   c               t    ||j                  | j                        |z
  }nd}| j                  |||||      S Nr   )rH  r   rL  r  r  ry  r   _request)rg   rH  r   r|  rL  r  r  s          rh   r   zSyncAPIClient.request  sP     (#33D4D4DEHYYMM}}!'  
 	
rk   c          	        t        |      }| j                  ||      }| j                  |      }|j                  | j                        |z
  }| j                  ||      }| j                  |       i }	| j                  | j                  |	d<   t        j                  d|j                  |j                         	  | j                  j                  |fd|xs | j                  |      i|	}
t        j                  d|j                  |j                  |
j*                  |
j,                  |
j.                         t        j                  d|
j.                  j1                  d             	 |
j3                          | jC                  |||
|||      S # t        j                   $ r_}t        j                  dd       |d	kD  r| j#                  |||||d 
      cY d }~S t        j                  d       t%        |      |d }~wt&        $ r_}t        j                  dd       |d	kD  r| j#                  |||||d 
      cY d }~S t        j                  d       t)        |      |d }~ww xY w# t        j4                  $ r}t        j                  dd       |d	kD  re| j7                  |j8                        rJ|j8                  j;                          | j#                  ||||j8                  j.                  ||      cY d }~S |j8                  j<                  s|j8                  j?                          t        j                  d       | jA                  |j8                        d d }~ww xY w)Nr  authzSending HTTP Request: %s %srL  r   "Encountered httpx.TimeoutExceptionTexc_infor   r  rL  r  rq  Raising timeout errorEncountered ExceptionRaising connection errorzHTTP Response: %s %s "%i %s" %szrequest_id: %sz
request-id!Encountered httpx.HTTPStatusErrorr  rq  rL  r  Re-raising status errorrH  r   r   rL  r  r  )"r9   rJ  r  ry  r   r=  r  r[  rS   r,  r  r`   r   sendrN  r   TimeoutException_retry_requestrO   r   rP   r   reason_phraser  r  raise_for_statusHTTPStatusErrorr  r   r  r   readr  _process_response)rg   rH  r   r  rL  r  input_optionsr|  r   r:  r   rW  s               rh   r  zSyncAPIClient._request  s0    #7+..w@''0#33D4D4DEU%%g]%Kg& "'!--F6N		/M#	?(t||((S!B!B7!B!S HH 			-NNKK  ""	
 			"H$4$4$8$8$FG	P%%'. %%!' & 
 	
C %% 	<II:TIJ 1$**!"/!)%) +   II-.!'2; 	?II-I= 1$**!"/!)%) +   II01$W53>	?8 $$ 	PII9DII 1$););CLL)I""$**!"/%(\\%9%9!) +   <<))!!#II/077E4O)	Psb   :3F )I+ I(#2G=I("G==I(	2I#;I("I##I(+M%>A;M 9M%?A!M  M%c               d   |j                  | j                        |z
  }|dk(  rt        j                  d       nt        j                  d|       | j	                  |||      }t        j                  d|j                  |       t        j                  |       | j                  |||dz   ||      S Nr   z1 retry leftz%i retries leftz$Retrying request to %s in %f seconds)r   rH  r  rL  r  )
ry  r   rS   r,  r  r   r`   rp  sleepr  	rg   r   rH  r  rq  rL  r  r|  r   s	            rh   r  zSyncAPIClient._retry_request/  s     $33D4D4DEU!IIn%II'):;//0A7L\]7gN 	

7}}'!+!  
 	
rk   r   r  c                  |j                   j                  j                  t              dk(  r t	        t
        t        || |||||            S t        |      xs |}t        j                  |      rgt        |t              rWt        |t              st        dt         d|       t	        d|      }t	        t
         ||| t        |      ||||            S |t        j                   k(  rt	        t
        |      S t        || t	        d|      ||||      }	t#        |j                   j                  j                  t                    rt	        t
        |	      S |	j%                         S )Nr  rawr   rH  rL  r  r   r  !API Response types must subclass ; Received type[BaseAPIResponse[Any]]r  )r   r  r  rG   r   r(   rR   r   rR  rS  rT  r@   r?   r   rB   r   Responser   parse
rg   rH  r   r   rL  r  r  originresponse_clsapi_responses
             rh   r  zSyncAPIClient._process_responseN  s\    ##''(;<F! #!)#"/  G$/??6"z&/'Jfk2"CK=P[\b[c dee <gFL 1,?!)#"/  enn$	8,,"*G4!'
   ((,,-@AB	<00!!##rk   c                N     d fd}|_          j                  |d      S )Nc                0    | j                         | S )N)r   r   r   )r   )r   r   r   rg   s    rh   r   z0SyncAPIClient._request_api_list.<locals>._parser  s&    (( ) 
 Krk   Fr  )r   rT   ru   rT   )r   r   )rg   r   r   r   r   s   `` ` rh   r   zSyncAPIClient._request_api_list  s'    	 &||D'%|88rk   r   rL  c                    y rd   re   rg   pathrH  r   rL  s        rh   r  zSyncAPIClient.get  r  rk   r   c                    y rd   re   rg   r  rH  r   rL  r  s         rh   r  zSyncAPIClient.get  r  rk   r   r  c                    y rd   re   r  s         rh   r  zSyncAPIClient.get  r  rk   r   rL  r  c          	     x    t        j                  dd|d|}t        t        | j	                  ||||            S Nr  )r  r`   r  re   )r<   	constructr   r(   r   rg   r  rH  r   rL  r  optss          rh   r  zSyncAPIClient.get  s?     #,,OEtOwO It||GT&U_|`aark   )r   r   r(  rL  c                    y rd   re   )rg   r  rH  r   r   r(  rL  s          rh   postzSyncAPIClient.post  s     rk   )r   r   r(  c                    y rd   re   rg   r  rH  r   r   r(  rL  r  s           rh   r  zSyncAPIClient.post  s     rk   )r   r   r(  r  c                    y rd   re   r  s           rh   r  zSyncAPIClient.post  s      #rk   )r   r   r(  rL  r  c          	         t        j                  dd||t        |      d|}t        t        | j                  ||||            S Nr  r  r`   r-  r(  r  re   )r<   r  r   r   r(   r   )	rg   r  rH  r   r   r(  rL  r  r  s	            rh   r  zSyncAPIClient.post  sP     #,, 
tt>%;P
T[
 It||GT&U_|`aark   r   r   c               X    t        j                  dd||d|}| j                  ||      S Npatchr  r`   r-  re   r<   r  r   rg   r  rH  r   r   r  s         rh   r&  zSyncAPIClient.patch  s3     #,,aGQUaY`a||GT**rk   r   r(  r   c          	     l    t        j                  dd||t        |      d|}| j                  ||      S Nputr"  re   )r<   r  r   r   rg   r  rH  r   r(  r   r  s          rh   r-  zSyncAPIClient.put  sB     #,, 
dd.:O
SZ
 ||GT**rk   c               X    t        j                  dd||d|}| j                  ||      S Ndeleter'  re   r(  r)  s         rh   r1  zSyncAPIClient.delete  s3     #,,bH$RVbZab||GT**rk   r  r   r   r  c               Z    t        j                  d|||d|}| j                  |||      S Nr'  re   r<   r  r   rg   r  r   r   r   r   r  r  s           rh   get_api_listzSyncAPIClient.get_api_list%  7     #,,`FPT`X_`%%eT488rk   )r   rx   r   r  r   r   r   !float | Timeout | None | NotGivenr   zTransport | Noner   r   r   Limits | Noner  zhttpx.Client | Noner   r  r   r  r   r   ru   rv   r   r  rg   rW   ru   rW   r  ztype[BaseException] | Noner  zBaseException | Noner  zTracebackType | Noneru   rv   r   r<   ru   r<   r   r  ru   rv   rd   )rH  Type[ResponseT]r   r<   r|  Optional[int]rL  Literal[True]r  zType[_StreamT]ru   rZ   )
rH  r?  r   r<   r|  r@  rL  Literal[False]ru   r(   )rH  r?  r   r<   r|  r@  rL  r   r  zType[_StreamT] | Noneru   ResponseT | _StreamT)rH  r?  r   r<   r|  r@  rL  r   r  type[_StreamT] | Noneru   rC  )rH  r?  r   r<   r  r   rL  r   r  rD  ru   rC  )r   r<   rH  r?  r  r   rq  httpx.Headers | NonerL  r   r  rD  ru   rC  rH  r?  r   r<   r   r  rL  r   r  z1type[Stream[Any]] | type[AsyncStream[Any]] | Noner  r   ru   r(   )r   Type[object]r   Type[SyncPageT]r   r<   ru   rT   
r  rx   rH  r?  r   r0   rL  rB  ru   r(   )r  rx   rH  r?  r   r0   rL  rA  r  type[_StreamT]ru   rZ   )r  rx   rH  r?  r   r0   rL  r   r  rD  ru   rC  )r  rx   rH  r?  r   Body | Noner   r0   r(  RequestFiles | NonerL  rB  ru   r(   )r  rx   rH  r?  r   rK  r   r0   r(  rL  rL  rA  r  rJ  ru   rZ   )r  rx   rH  r?  r   rK  r   r0   r(  rL  rL  r   r  rD  ru   rC  
r  rx   rH  r?  r   rK  r   r0   ru   r(   r  rx   rH  r?  r   rK  r(  rL  r   r0   ru   r(   )r  rx   r   rG  r   rH  r   rK  r   r0   r  rx   ru   rT   )rr   ry   rz   r|   r   rE   r!   ri   r   r  r  r  r  r  r   r   r  r  r  r   r  r  r&  r-  r1  r7  r  r  s   @rh   r   r   	  s   4818 /5>&*'+ $+/3748U
 U
 	U

 U
 3U
 $U
 %U
 U
 )U
 1U
 2U
 &*U
 
U
n&!, " %	
 
$ 
		 
	 
 ,0	  % )	  # 
  
 ,0	 "'  % )	  
  
 ,0	# ,0# # %# )	# # *# 
# # ,0	
 ,0
 
 %
 )	
 
 *
 

,i
 !i
 %	i

 i
 i
 *i
 
i
V
$
 !

 
 /
 
 *
 

N ;$ !;$ %	;$
 !;$ ;$ F;$ ;$ 
;$z99 9 %	9
 
9$  #%!& !	
    
   #% !	
    # 
   #%,0## !	#
  # # *# 
# # #%,0bb !	b
  b b *b 
b  !"$%)!&		 !		
 	  	 #	 	 
	 	  !"$%)

 !	

 
  
 #
 
 #
 

 
  !"$%),0
#
# !	
#
 
#  
# #
# 
# *
# 

# 
#" !"$%),0bb !	b
 b  b #b b *b 
b* !"$	+	+ !		+
 	+  	+ 
	+  !%)"$++ !	+
 + #+  + 
+& !"$	+	+ !		+
 	+  	+ 
	+" !"$99 	9
 9 9  9 9 
9rk   r   c                        e Zd Zd fdZ xZS )_DefaultAsyncHttpxClientc                    |j                  dt               |j                  dt               |j                  dd       t        |   di | y r  r  r  s     rh   ri   z!_DefaultAsyncHttpxClient.__init__4  r  rk   r  r  r  s   @rh   rP  rP  3  r  rk   rP  c                      e Zd ZddZy)AsyncHttpxClientWrapperc                    	 t        j                         j                  | j                                y # t        $ r Y y w xY wrd   )asyncioget_running_loopcreate_taskacloser   rs   s    rh   r  zAsyncHttpxClientWrapper.__del__H  s6    	$$&224;;=A 		s   14 	A A Nr  r  re   rk   rh   rS  rS  G  s    rk   rS  c            	      .    e Zd ZU ded<   dZded<   eeddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d4 fdZd5dZd6d	Z	d7d
Z
	 	 	 	 	 	 	 	 d8dZ	 	 	 	 d9dZ	 	 	 	 d:dZeddd	 	 	 	 	 	 	 	 	 d;d       Zedd	 	 	 	 	 	 	 	 	 	 	 d<d       Zeddd	 	 	 	 	 	 	 	 	 	 	 d=d       Zdddd	 	 	 	 	 	 	 	 	 	 	 d=dZ	 	 	 	 	 	 	 	 	 	 	 	 d>dZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 d?dZdd	 	 	 	 	 	 	 	 	 	 	 	 	 d@dZ	 	 	 	 	 	 	 	 dAdZei dd	 	 	 	 	 	 	 	 	 dBd       Zei d	 	 	 	 	 	 	 	 	 	 	 dCd        Zei dd!	 	 	 	 	 	 	 	 	 	 	 dDd"       Zi ddd#	 	 	 	 	 	 	 	 	 	 	 dDd$Zeddi dd%	 	 	 	 	 	 	 	 	 	 	 	 	 dEd&       Zeddi d'	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dFd(       Zeddi dd)	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dGd*       Zddi ddd+	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dGd,Zdi d-	 	 	 	 	 	 	 	 	 dHd.Zddi d'	 	 	 	 	 	 	 	 	 	 	 dId/Zdi d-	 	 	 	 	 	 	 	 	 dHd0Zdi d1d2	 	 	 	 	 	 	 	 	 	 	 	 	 dJd3Z xZS )Kr   zhttpx.AsyncClientr   Nztype[AsyncStream[Any]] | Noner   r  c                  i }|)t        j                  dt        d       |	t        d      t        }|.||d<   t        j                  dt        d       |	t        d      |.||d<   t        j                  d	t        d       |	t        d
      t        |      s(|	r |	j                  t        k7  r|	j                  }nt        }|	1t        |	t        j                        st        dt        |	             t        | =  |||t!        t"        |      |||||
|
       |	xs t%        d|t!        t"        |      |dd|| _        y )Nr  r  r  r  r   r  r  r   r  r  zTInvalid `http_client` argument; Expected an instance of `httpx.AsyncClient` but got )
r   r   r   r   r   r   r   r   r   r   Tr  re   )r  r  r  r   rI   r6   r   r  rC   r   r   AsyncClientr   r/  r  ri   r   r&   rS  r   )rg   r   r   r   r   r   r   r   r   r  r   r   r:  rq   s                rh   ri   zAsyncAPIClient.__init__T  s    "$MMz+
 & !qrr.F "+F;MMm+
 & !dee 'F9MMk+
 & !bcc  {226KK%--)":k5CTCT+Ufgklwgxfyz  	'*#%)(C 	 	
 # 
&= '
'*!'
 '
rk   c                .    | j                   j                  S rd   r  rs   s    rh   r   zAsyncAPIClient.is_closed  r  rk   c                T   K   | j                   j                          d{    y7 w)r  N)r   rX  rs   s    rh   r  zAsyncAPIClient.close  s     
 ll!!###s   (&(c                   K   | S wrd   re   rs   s    rh   
__aenter__zAsyncAPIClient.__aenter__  s        c                @   K   | j                          d {    y 7 wrd   r  r  s       rh   	__aexit__zAsyncAPIClient.__aexit__  s      jjls   c                   K   |S wr  re   r  s     rh   r  zAsyncAPIClient._prepare_options  s     
 r`  c                   K   ywr  re   rM  s     rh   r  zAsyncAPIClient._prepare_request  s         F)rL  r|  c                  K   y wrd   re   )rg   rH  r   rL  r|  s        rh   r   zAsyncAPIClient.request        re  )r|  c                  K   y wrd   re   rg   rH  r   rL  r  r|  s         rh   r   zAsyncAPIClient.request        re  )r  r|  c                  K   y wrd   re   ri  s         rh   r   zAsyncAPIClient.request        %(re  )rL  r  r|  c                  K   ||j                  | j                        |z
  }nd}| j                  |||||       d {   S 7 wr  r  )rg   rH  r   rL  r  r|  r  s          rh   r   zAsyncAPIClient.request  s^      (#33D4D4DEHYYMM]]!' # 
 
 	
 
s   =AA Ac          	       K   | j                   ! t        t                      d {   | _         t        |      }| j	                  ||      }| j                  |       d {   }|j                  | j                        |z
  }| j                  ||      }| j                  |       d {    i }	| j                  | j                  |	d<   	  | j                  j                  |fd|xs | j                  |      i|	 d {   }
t         j#                  d|j,                  |j.                  |
j0                  |
j2                         	 |
j5                          | jG                  |||
|||       d {   S 7 T7 7 7 }# t        j                  $ rh}t         j#                  dd       |dkD  r%| j%                  |||||d 	       d {  7  cY d }~S t         j#                  d
       t'        |      |d }~wt(        $ rh}t         j#                  dd       |dkD  r%| j%                  |||||d 	       d {  7  cY d }~S t         j#                  d       t+        |      |d }~ww xY w# t        j6                  $ r}t         j#                  dd       |dkD  rw| j9                  |j:                        r\|j:                  j=                          d {  7   | j%                  ||||j:                  j>                  ||       d {  7  cY d }~S |j:                  j@                  s#|j:                  jC                          d {  7   t         j#                  d       | jE                  |j:                        d d }~ww xY w7 w)Nr  r  rL  r  r  Tr  r   r  r  r  r  zHTTP Request: %s %s "%i %s"r  r  r  r  )$r   r5   get_platformr9   rJ  r  ry  r   r=  r  r[  r   r  rN  r   r  rS   r,  r  rO   r   rP   r  r`   r   r  r  r  r  r   rX  r  r   areadr  r  )rg   rH  r   rL  r  r  r  r|  r   r:  r   rW  s               rh   r  zAsyncAPIClient._request  sh     >>! $:8L#9#;;DN
 #7+..w@--g66#33D4D4DEU%%g]%K##G,,, "'!--F6N#	?.T\\..S!B!B7!B!S  HH 			)7>>7;;H\H\^f^t^t	
	P%%'. ++!' , 
 
 	
g < 7 	-
 %% 	<II:TIJ 1$!00!"/!)%) 1     II-.!'2; 	?II-I= 1$!00!"/!)%) 1     II01$W53>	?, $$ 	PII9DII 1$););CLL)Ill))+++!00!"/%(\\%9%9!) 1     <<))ll((***II/077E4O)	P,
s  $NE::N!E="A	N+F ,!N6F FF 	ANI1 N5N
6N=N NF I.6G:GG:I.N"G::I.6I)<H?=I)I.N"I))I..N1NANK3NLNNN3NM6NNNc                 K   |j                  | j                        |z
  }|dk(  rt        j                  d       nt        j                  d|       | j	                  |||      }t        j                  d|j                  |       t        j                  |       d {    | j                  |||dz   ||       d {   S 7 %7 wr  )
ry  r   rS   r,  r  r   r`   anyior  r  r  s	            rh   r  zAsyncAPIClient._retry_requestp  s      $33D4D4DEU!IIn%II'):;//0A7L\]7gNkk'"""]]'!+! # 
 
 	
 	#
s$   BCC C?C CCr   r  c                 K   |j                   j                  j                  t              dk(  r t	        t
        t        || |||||            S t        |      xs |}t        j                  |      rct        |t              rSt        |t              st        dt         d|       t	        d|      }t	        d ||| t        |      ||||            S |t        j                   k(  rt	        t
        |      S t        || t	        d|      ||||      }	t#        |j                   j                  j                  t                    rt	        t
        |	      S |	j%                          d {   S 7 w)Nr  r  r  r  r  r(   r  )r   r  r  rG   r   r(   rR   r   rR  rS  rT  r@   rA   r   rB   r   r  r   r  r  s
             rh   r  z AsyncAPIClient._process_response  si     ##''(;<F! #!)#"/  G$/??6"z&/'Jf&67"CDTCUU`ag`h ijj <gFL 1,?!)#"/  enn$	8,,'*G4!'
   ((,,-@AB	<00!''))))s   E(E1*E/+E1c                     t        | |||      S )N)r   r   r   r   )r   )rg   r   r   r   s       rh   r   z AsyncAPIClient._request_api_list  s     T7TQVWWrk   r  c                  K   y wrd   re   r  s        rh   r  zAsyncAPIClient.get  rg  re  r  c                  K   y wrd   re   r  s         rh   r  zAsyncAPIClient.get  rj  re  r  c                  K   y wrd   re   r  s         rh   r  zAsyncAPIClient.get  rl  re  r  c               x   K   t        j                  dd|d|}| j                  ||||       d {   S 7 wr  r(  r  s          rh   r  zAsyncAPIClient.get  s?      #,,OEtOwO\\'4:\VVVVs   1:8:)r   r(  r   rL  c                  K   y wrd   re   )rg   r  rH  r   r(  r   rL  s          rh   r  zAsyncAPIClient.post  s      re  r*  c                  K   y wrd   re   rg   r  rH  r   r(  r   rL  r  s           rh   r  zAsyncAPIClient.post
  s      re  )r   r(  r   r  c                  K   y wrd   re   r{  s           rh   r  zAsyncAPIClient.post  s      %(re  )r   r(  r   rL  r  c          	        K   t        j                  dd||t        |       d {   d|}| j                  ||||       d {   S 7 &7 wr!  r<   r  r    r   )	rg   r  rH  r   r(  r   rL  r  r  s	            rh   r  zAsyncAPIClient.post$  s^      #,, 
ttAUV[A\;\
`g
 \\'4:\VVV <]Vs!   "AA!AAAAr#  c               t   K   t        j                  dd||d|}| j                  ||       d {   S 7 wr%  r(  r)  s         rh   r&  zAsyncAPIClient.patch4  s=      #,,aGQUaY`a\\'40000   /868c          	        K   t        j                  dd||t        |       d {   d|}| j                  ||       d {   S 7 #7 wr,  r~  r.  s          rh   r-  zAsyncAPIClient.put?  sX      #,, 
dd@TUZ@[:[
_f
 \\'4000 ;\0s!   "AAAA
A
Ac               t   K   t        j                  dd||d|}| j                  ||       d {   S 7 wr0  r(  r)  s         rh   r1  zAsyncAPIClient.deleteM  s=      #,,bH$RVbZab\\'40000r  r  r2  c               Z    t        j                  d|||d|}| j                  |||      S r4  r5  r6  s           rh   r7  zAsyncAPIClient.get_api_listX  r8  rk   )r   rx   r   r  r   r   r   r   r   r9  r   zAsyncTransport | Noner   r   r   r:  r  zhttpx.AsyncClient | Noner   r  r   r  ru   rv   r   r  r;  r<  r=  r>  )
rH  r?  r   r<   rL  rB  r|  r@  ru   r(   )rH  r?  r   r<   rL  rA  r  type[_AsyncStreamT]r|  r@  ru   r[   )rH  r?  r   r<   rL  r   r  type[_AsyncStreamT] | Noner|  r@  ru   ResponseT | _AsyncStreamT)rH  r?  r   r<   rL  r   r  r  r  r   ru   r  )r   r<   rH  r?  r  r   rq  rE  rL  r   r  r  ru   r  rF  )r   r   r   r   r   r<   ru   AsyncPaginator[_T, AsyncPageT]rI  )r  rx   rH  r?  r   r0   rL  rA  r  r  ru   r[   )r  rx   rH  r?  r   r0   rL  r   r  r  ru   r  )r  rx   rH  r?  r   rK  r(  rL  r   r0   rL  rB  ru   r(   )r  rx   rH  r?  r   rK  r(  rL  r   r0   rL  rA  r  r  ru   r[   )r  rx   rH  r?  r   rK  r(  rL  r   r0   rL  r   r  r  ru   r  rM  rN  )r  rx   r   r   r   r   r   rK  r   r0   r  rx   ru   r  )rr   ry   rz   r|   r   rE   r!   ri   r   r  r_  rb  r  r  r   r   r  r  r  r   r  r  r&  r-  r1  r7  r  r  s   @rh   r   r   P  s   9=6= /5>+/'+ $043748U
 U
 	U

 &*U
 U
 3U
 )U
 %U
 U
 .U
 1U
 2U
 
U
n&$, " %	
 
$ 
		 
	  "'+/  %
  ) 
   ,0  %
  ( ) 
   26+/( ( %(
 ( /( )( 
#( ( 15+/
 
 %

 
 /
 )
 
#
,f
 f
 %f

 f
 /f
 f
 
#f
P
$
 !

 
 /
 
 /
 
#
J ;* !;* %	;*
 !;* ;* F;* ;* 
;*zXX X %	X
 
(X  #%!& !	
    
   #% !	
    ( 
   #%15(( !	(
  ( ( /( 
#( ( #%15
W
W !	
W
  
W 
W /
W 
#
W  !%)"$!&		 !		
 	 #	  	 	 
	 	  !%)"$

 !	

 
 #
  
 
 (
 

 
  !%)"$15
(
( !	
(
 
( #
(  
( 
( /
( 
#
( 
(" !%)"$15WW !	W
 W #W  W W /W 
#W* !"$	1	1 !		1
 	1  	1 
	1  !%)"$11 !	1
 1 #1  1 
1& !"$	1	1 !		1
 	1  	1 
	1" !"$99 	9
 9 9  9 9 
(9rk   r   )queryextra_headersextra_query
extra_bodyr  r   r   c                    i }|||d<   |t        t        |      |d<   | | |d<   |i |j                  di       ||d<   t        |t              s||d<   |||d<   t        |      r||d<   |S )zECreate a dict of type RequestOptions without keys of NotGiven values.r  r.  rb   r   r  r   )r   r*   r  r   r'   r6   )r  r  r  r  r  r   r   r   s           rh   make_request_optionsr  f  s     !G *	 $Z <!Hw{{8R8HKHgx($	"%4!"!,Nrk   c                      e Zd ZddZy)r4  c                     y)NTre   rs   s    rh   __bool__zForceMultipartDict.__bool__  s    rk   Nr   )rr   ry   rz   r  re   rk   rh   r4  r4    s    rk   r4  c                  &    e Zd ZddZedd       Zy)OtherPlatformc                    || _         y rd   namerg   r  s     rh   ri   zOtherPlatform.__init__  	    	rk   c                     d| j                    S )NzOther:r  rs   s    rh   __str__zOtherPlatform.__str__      		{##rk   Nr  rx   ru   rv   rw   rr   ry   rz   ri   r   r  re   rk   rh   r  r         $ $rk   r  )MacOSLinuxWindowsFreeBSDOpenBSDiOSAndroidUnknownc                 F   	 t        j                         j                         } t        j                          j                         }d|v sd|v ry| dk(  ry| dk(  ryd	|v ry
| dk(  r!t	        j
                         }|dk(  ry|dk(  ryy|rt        |      S y# t        $ r Y yw xY w)Nr  iphoneipadr  darwinr  windowsr  androidr  linuxfreebsdr  openbsdr  r  )rh  systemr	  r   distroidr  )r  platform_name	distro_ids      rh   ro  ro    s    "((* ))+113 = Fm$;
 M! IIK		!	!]++G  s   AB 	B B )maxsizec                   d| t        |xs
 t                     t        t                     t               t	               dS )Npython)zX-Stainless-LangzX-Stainless-Package-VersionzX-Stainless-OSzX-Stainless-ArchzX-Stainless-RuntimezX-Stainless-Runtime-Version)rx   ro  get_architectureget_python_runtimeget_python_version)r   rh  s     rh   ra  ra    s;     %'.h8,.9 0 2313'9'; rk   c                  &    e Zd ZddZedd       Zy)	OtherArchc                    || _         y rd   r  r  s     rh   ri   zOtherArch.__init__  r  rk   c                     d| j                    S )Nzother:r  rs   s    rh   r  zOtherArch.__str__  r  rk   Nr  rw   r  re   rk   rh   r  r    r  rk   r  )x32x64armarm64unknownc                 J    	 t        j                         S # t        $ r Y yw xY wNr  )rh  python_implementationr   re   rk   rh   r  r    s(    --//     	""c                 J    	 t        j                         S # t        $ r Y yw xY wr  )rh  python_versionr   re   rk   rh   r  r    s(    &&(( r  c                     	 t        j                         j                         } | dv ry| dk(  ry| dk(  ryt        j
                  dk  ry| rt        |       S y# t        $ r Y yw xY w)	Nr  )r  aarch64r  r  x86_64r  l        r  )rh  machiner	  r   sysr  r  )r  s    rh   r  r    sz    ""$**, && %( {{e!!)  s   "A 	A#"A#c                    i | |}|j                         D ci c]  \  }}t        |t              r|| c}}S c c}}w )zMerge two mappings of the same type, removing any values that are instances of `Omit`.

    In cases with duplicate keys the second mapping takes precedence.
    )r   r   r#   )obj1obj2mergedrD  rE  s        rh   r  r    sC     F)/W:3z%QU?VCJWWWs   <<)r  Query | Noner  zHeaders | Noner  r  r  rK  r  r   r   z'float | httpx.Timeout | None | NotGivenr   zPostParser | NotGivenru   r0   )ru   Platform)r   rx   rh  zPlatform | Noneru   r  rw   )ru   Arch)r  Mapping[_T_co, Union[_T, Omit]]r  r  ru   zDict[_T_co, _T])
__future__r   r  r   rp  r  rl  rU  rR  r*  rh  r  email.utilstypesr   r   typingr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   typing_extensionsr   r   r   rr  r   r  r   r   r   r    r   _qsr   _filesr   r    _typesr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   _utilsr3   r4   r5   r6   r7   r8   _compatr9   r:   _modelsr;   r<   r=   r>   	_responser?   r@   rA   rB   
_constantsrC   rD   rE   rF   rG   rH   rI   
_streamingrJ   rK   rL   rM   rN   rO   rP   rQ   _legacy_responserR   	getLoggerrr   rS   r|   rT   rV   rW   rX   rZ   r[   httpx._configr\   r  ImportErrorr^   r~   r   r   r   r  r[  r   r   r   r  DefaultHttpxClientr  r   rP  DefaultAsyncHttpxClientrS  r   r  rx   r4  r  r  ro  ra  r  r  r  r  r  r  re   rk   rh   <module>r     s   " 
                " < ;          8    ( P O + U U    I H  0'g''1^ 1 K':;	\)=>
 T]4(:VC[1{3/?@M-Q$B $BN-6|WR[ -6`+a8B< +a\$WR^, $N#gHRL'"+ #gL uU\\5CTCT5T/UV+5kRUFV9V3WXa878 a8H#%,, #  -/ g9Ju||VC[89 g9T#u00 # #// 75 S9Z 1 1;s3C CD S9p $( $""&7@)2"" "" 	"
 "  " 5" '" "Jc4i 
$ $ 		
'T 4 $ $ Y GHHI4	X
)	X
)	X 	XI=  - '-s   M MM