
    Ii                        S SK r S SKrS SKJ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  SSKJrJrJrJrJrJr  SS	KJrJ r    " S
 S\\5      r! " S S\5      r" " S S\5      r# " S S\\5      r$S\\%\&\
\&   \\&   4   S\\	\%\%4   \\\4   4   4S jr'S\S\\	\%\%4   \!4   4S jr(S\S\S\\&   S\\	\%\%4   \4   4S jr)S\%S\\	\%\%4   \!4   4S jr*S\%S\\	\%\%4   \!4   4S jr+S\S\\	\%\%4   \!4   4S jr,     S"S\\   S\\   S\\   S\\   S\\&   S\\	\%\%4   \\\4   4   4S  jjr-    S#S\\   S\\%   S\\%   S\\   S\\	\%\%4   \\\4   4   4
S! jjr.g)$    N)dumps)
AnyAsyncIterableAsyncIteratorDictIterableIteratorMappingOptionalTupleUnion)	urlencode   )StreamClosedStreamConsumed)MultipartStream)AsyncByteStreamRequestContentRequestDataRequestFilesResponseContentSyncByteStream)peek_filelike_lengthprimitive_value_to_strc                   N    \ rS rSrS\SS4S jrS\\   4S jrS\\   4S jr	Sr
g)	
ByteStream   streamreturnNc                     Xl         g N_streamselfr   s     4/venv/lib/python3.13/site-packages/httpx/_content.py__init__ByteStream.__init__    s        c              #   (   #    U R                   v   g 7fr!   r"   r%   s    r&   __iter__ByteStream.__iter__#   s     lls   c                *   #    U R                   7v   g 7fr!   r"   r+   s    r&   	__aiter__ByteStream.__aiter__&   s     lls   r"   )__name__
__module____qualname____firstlineno__bytesr'   r	   r,   r   r/   __static_attributes__ r)   r&   r   r      s6    u  (5/ u!5 r)   r   c                   D    \ rS rSrSrS\\   SS4S jrS\\   4S jr	Sr
g)	IteratorByteStream*      r   r   Nc                 T    Xl         SU l        [        R                  " U5      U l        g NF)r#   _is_stream_consumedinspectisgenerator_is_generatorr$   s     r&   r'   IteratorByteStream.__init__-   s"    #( $008r)   c              #     #    U R                   (       a  U R                  (       a
  [        5       eSU l         [        U R                  S5      (       a`  U R                  R                  U R                  5      nU(       a3  Uv   U R                  R                  U R                  5      nU(       a  M2  g g U R                   H  nUv   M	     g 7f)NTread)r>   rA   r   hasattrr#   rD   
CHUNK_SIZEr%   chunkparts      r&   r,   IteratorByteStream.__iter__2   s     ##(:(: ""#' 4<<((LL%%doo6E))$//: %
 
 %s   B+C	/C	rA   r>   r#   )r1   r2   r3   r4   rF   r   r5   r'   r	   r,   r6   r7   r)   r&   r9   r9   *   s.    J9x 94 9
(5/ r)   r9   c                   D    \ rS rSrSrS\\   SS4S jrS\\   4S jr	Sr
g)	AsyncIteratorByteStreamC   r;   r   r   Nc                 T    Xl         SU l        [        R                  " U5      U l        g r=   )r#   r>   r?   
isasyncgenrA   r$   s     r&   r'    AsyncIteratorByteStream.__init__F   s"    #( $//7r)   c                  #    U R                   (       a  U R                  (       a
  [        5       eSU l         [        U R                  S5      (       aq  U R                  R                  U R                  5      I S h  vN nU(       a<  U7v   U R                  R                  U R                  5      I S h  vN nU(       a  M;  g g U R                    S h  vN nU7v   M   Nd N- N
 g 7f)NTaread)r>   rA   r   rE   r#   rS   rF   rG   s      r&   r/   !AsyncIteratorByteStream.__aiter__K   s     ##(:(: ""#' 4<<)),,,,T__==E"ll00AA %
 #ll d
 > BlsN   A7C&9C:8C&2C 3C& C&C$C"C$	C& C&"C$$C&rK   )r1   r2   r3   r4   rF   r   r5   r'   r   r/   r6   r7   r)   r&   rM   rM   C   s0    J8}U3 8 8
u!5 r)   rM   c                   @    \ rS rSrSrS\\   4S jrS\\   4S jr	Sr
g)UnattachedStream\   z
If a request or response is serialized using pickle, then it is no longer
attached to a stream for I/O purposes. Any stream operations should result
in `httpx.StreamClosed`.
r   c                     [        5       er!   r   r+   s    r&   r,   UnattachedStream.__iter__c   s
    nr)   c                   #    [        5       e7fr!   rY   r+   s    r&   r/   UnattachedStream.__aiter__f   s     ns   r7   N)r1   r2   r3   r4   __doc__r	   r5   r,   r   r/   r6   r7   r)   r&   rV   rV   \   s(    (5/ u!5 r)   rV   contentr   c                    [        U [        [        45      (       aV  [        U [        5      (       a  U R                  S5      OU n[	        U5      nU(       a  S[        U5      0O0 nU[        U5      4$ [        U [        5      (       aB  [        U [        5      (       d-  [        U 5      nUc  SS0nOS[        U5      0nU[        U 5      4$ [        U [        5      (       a  SS0nU[        U 5      4$ [        S[        U 5      < 35      e)Nutf-8Content-LengthzTransfer-EncodingchunkedzUnexpected type for 'content', )
isinstancer5   strencodelenr   r   dictr   r9   r   rM   	TypeErrortype)r^   bodycontent_lengthheaderscontent_length_or_nones        r&   encode_contentrn   k   s     'E3<((*4Wc*B*Bw~~g&T=A#S%89r
4(((	GX	&	&z'4/H/H
 "6g!>!)*I6G'-C)DEG*7333	G]	+	+&	2/888
5d7m5FG
HHr)   datac           
         / nU R                  5        Hj  u  p#[        U[        [        45      (       a.  UR	                  U Vs/ s H  oB[        U5      4PM     sn5        MN  UR                  U[        U5      45        Ml     [        USS9R                  S5      n[        [        U5      5      nSnXgS.nU[        U5      4$ s  snf )NT)doseqr`   z!application/x-www-form-urlencodedra   zContent-Type)itemsrc   listtupleextendr   appendr   re   rd   rf   r   )	ro   
plain_datakeyvalueitemrj   rk   content_typerl   s	            r&   encode_urlencoded_datar}      s     Jjjl
edE]++uUut%;D%ABuUVs$:5$ABC	 #
 Zt,33G<DT^N6L!/NGJt$$$ Vs   C
filesboundaryc                 <    [        XUS9nUR                  5       nXC4$ )N)ro   r~   r   )r   get_headers)ro   r~   r   	multipartrl   s        r&   encode_multipart_datar      s'      TJI##%Gr)   textc                 r    U R                  S5      n[        [        U5      5      nSnX#S.nU[        U5      4$ )Nr`   ztext/plain; charset=utf-8rr   re   rd   rf   r   )r   rj   rk   r|   rl   s        r&   encode_textr      s:    ;;wDT^N.L!/NGJt$$$r)   htmlc                 r    U R                  S5      n[        [        U5      5      nSnX#S.nU[        U5      4$ )Nr`   ztext/html; charset=utf-8rr   r   )r   rj   rk   r|   rl   s        r&   encode_htmlr      s:    ;;wDT^N-L!/NGJt$$$r)   jsonc                     [        U 5      R                  S5      n[        [        U5      5      nSnX#S.nU[	        U5      4$ )Nr`   zapplication/jsonrr   )
json_dumpsre   rd   rf   r   )r   rj   rk   r|   rl   s        r&   encode_jsonr      sA    d""7+DT^N%L!/NGJt$$$r)   c                 0   Ub=  [        U[        5      (       d(  Sn[        R                  " U[        5        [        U5      $ U b  [        U 5      $ U(       a  [        U=(       d    0 X$5      $ U(       a  [        U5      $ Ub  [        U5      $ 0 [        S5      4$ )zt
Handles encoding the given `content`, `data`, `files`, and `json`,
returning a two-tuple of (<headers>, <stream>).
z5Use 'content=<...>' to upload raw bytes/text content.r)   )
rc   r
   warningswarnDeprecationWarningrn   r   r}   r   r   )r^   ro   r~   r   r   messages         r&   encode_requestr      s     
4 9 9 Jg12d##g&&	$TZRAA	%d++		4  z#r)   c                     U b  [        U 5      $ Ub  [        U5      $ Ub  [        U5      $ Ub  [        U5      $ 0 [	        S5      4$ )zW
Handles encoding the given `content`, returning a two-tuple of
(<headers>, <stream>).
r)   )rn   r   r   r   r   )r^   r   r   r   s       r&   encode_responser      sW     g&&		4  		4  		4  z#r)   )NNNNN)NNNN)/r?   r   r   r   r   typingr   r   r   r   r   r	   r
   r   r   r   urllib.parser   _exceptionsr   r   
_multipartr   _typesr   r   r   r   r   r   _utilsr   r   r   r9   rM   rV   rd   r5   rn   r}   r   r   r   r   r   r   r7   r)   r&   <module>r      sx     $   # 5 '  A.  2o 2 I3xe0DDEI
4S>5!@AABI:%
%
4S>:%&% 
*6>uo
4S>?*+%c %eDcNJ$>? %%c %eDcNJ$>? %%c %eDcNJ$>? % )-"&$( $ n% 
;
  L!  3-	 
 uo  4S>5!@AAB H *.	o&
3- 3- 3-	
 4S>5!@AABr)   