+
    TŎi                         ^ RI t ^ RIt^ RIHtHtHtHt ^ RIHt ^ RI	H
t
Ht ^RIHtHtHt ^RIHt ^RIHt R
t ! R	 R4      tR# )    N)AnyIterableListOptional)	urlencode)	MultiDictMultiDictProxy)hdrs	multipartpayload)guess_filenamePayloadFormDatac                      a  ] tR t^t o RtRRR/V 3R lR lllt]V 3R lR l4       tR	RR
RRR/V 3R lR lltV 3R lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltRtV tR# )r   zlHelper class for form body generation.

Supports multipart/form-data and application/x-www-form-urlencoded.
Ndefault_to_multipartFc          
      V   < V ^8  d   QhRS[ S[,          RS[RS[S[,          RS[RR/# )   fieldsquote_fieldscharsetr   returnN)r   r   boolr   str)format__classdict__s   "_/Users/ahmad/.openclaw/workspace/scripts/.venv/lib/python3.14/site-packages/aiohttp/formdata.py__annotate__FormData.__annotate__   sE     ! !! ! #	! #! 
!    c               ,   \         P                  ! R 4      V n        . V n        W@n        W n        W0n        \        V\        4      '       d   \        VP                  4       4      pM\        V\        \        34      '       g   V3pV P                  ! V!   R# )	form-dataN)r   MultipartWriter_writer_fields_is_multipart_quote_fields_charset
isinstancedictlistitemstuple
add_fields)selfr   r   r   r   s   &&&&$r   __init__FormData.__init__   so     !00="$1)fd##&,,.)FFT5M22YF r    c                    < V ^8  d   QhRS[ /# r   r   )r   )r   r   s   "r   r   r   *   s     " "d "r    c                    V P                   # N)r&   r/   s   &r   is_multipartFormData.is_multipart)   s    !!!r    content_typefilenamecontent_transfer_encodingc                l   < V ^8  d   QhRS[ RS[RS[S[ ,          RS[S[ ,          RS[S[ ,          RR/# )r   namevaluer9   r:   r;   r   N)r   r   r   )r   r   s   "r   r   r   -   sS     3< 3<3< 3<
 sm3< 3-3< $,C=3< 
3<r    c               <   \        V\        P                  4      '       d	   R V n        MH\        V\        \
        \        34      '       d(   RpVf"   Vf   \        P                  ! V\        4       Tp\        RV/4      pVe)   \        V\        4      '       g   \        RV,          4      hVf,   \        V\        P                  4      '       d   \        W!4      pVe   WGR&   R V n        / pVeB   \        V\        4      '       g   \        RV,          4      hW8\        P                  &   R V n        VeM   \        V\        4      '       g   \        RV,          4      hRp\        P                  ! V\        4       R V n        V P                   P#                  WxV34       R# )	TzIn v4, passing bytes will no longer create a file field. Please explicitly use the filename parameter or pass a BytesIO object.Nr=   z,filename must be an instance of str. Got: %sr:   z0content_type must be an instance of str. Got: %sz=content_transfer_encoding must be an instance of str. Got: %szfcontent_transfer_encoding is deprecated. To maintain compatibility with v4 please pass a BytesPayload.)r)   ioIOBaser&   bytes	bytearray
memoryviewwarningswarnDeprecationWarningr   r   	TypeErrorr   r
   CONTENT_TYPEr%   append)	r/   r=   r>   r9   r:   r;   msgtype_optionsheaderss	   &&&$$$   r   	add_fieldFormData.add_field-   st    eRYY''!%Dy*=>>Y  $=$Ec#56'0&$'@
8S(A(AJXUVV
5")) < <%e2H'/$!%D#lC00FU  *6D%%&!%D$07==')BC 
P  MM#12!%D\E:;r    c                $   < V ^8  d   QhRS[ RR/# )r   r   r   N)r   )r   r   s   "r   r   r   b   s      # $ r    c                    \        V4      pV'       d   VP                  ^ 4      p\        V\        P                  4      '       d    \        VR4      pV P                  WC4       KX  \        V\        \        34      '       d"   VP                  VP                  4       4       K  \        V\         \        34      '       d(   \        V4      ^8X  d   Vw  rEV P                  WE4       K  \        RP                  V4      4      hR# )r   unknownzxOnly io.IOBase, multidict and (name, file) pairs allowed, use .add_field() for passing more complex parameters, got {!r}N)r+   popr)   r@   rA   r   rN   r	   r   extendr,   r-   lenrH   r   )r/   r   to_addreckfps   &*    r   r.   FormData.add_fieldsb   s    f**Q-C#ryy))"3	2q&C.)!<==ciik*C$//CHMq%  88>s  r    c                4   < V ^8  d   QhRS[ P                  /# r3   )r   BytesPayload)r   r   s   "r   r   r   z   s     
 
g&:&: 
r    c                (   . pV P                    F   w  r#pVP                  VR ,          V34       K"  	  V P                  e   V P                  MRpVR8X  d   RpM	RV,          p\        P                  ! \        VRVR7      P                  4       VR7      # )r=   zutf-8z!application/x-www-form-urlencodedz-application/x-www-form-urlencoded; charset=%sT)doseqencoding)r9   )r%   rJ   r(   r   r\   r   encode)r/   datarL   _r>   r   r9   s   &      r   _gen_form_urlencodedFormData._gen_form_urlencodedz   s    &*ll"LUKKf-u56 '3 $(==#<$--'g>LJWTL##d$9@@B%
 	
r    c                4   < V ^8  d   QhRS[ P                  /# r3   )r   r#   )r   r   s   "r   r   r      s     ! !	 9 9 !r    c           
        V P                    F  w  rp \        P                  V9   d;   \        P                  ! VV\        P                  ,          VV P
                  R7      pM#\        P                  ! W2V P
                  R7      p V'       dY   VP                  ! RRV P                  /VB  VP                  f   Q hVP                  P                  \        P                  R4       V P                  P                  V4       K  	  V P                   P!                  4        V P                  #   \         d'   p\        R\        T4      : RT: RT: 24      ThRp?ii ; i)	zAEncode a list of fields using the multipart/form-data MIME format)r9   rM   r_   )rM   r_   zCan not serialize value type: z
 headers: z	
 value: Nr   )r"   )r%   r
   rI   r   get_payloadr(   	ExceptionrH   typeset_content_dispositionr'   rM   popallCONTENT_LENGTHr$   append_payloadclear)r/   
dispparamsrM   r>   partexcs   &     r   _gen_form_dataFormData._gen_form_data   s&   *.,,&J$$/"..%,T->->%? '!%	D #..D ,, .2.@.@DN
 ||///##D$7$7>LL''-9 +7< 	||%  15eguN s   AD+#"D++E6!EEc                    < V ^8  d   QhRS[ /# r3   r   )r   r   s   "r   r   r      s     / /' /r    c                f    V P                   '       d   V P                  4       # V P                  4       # r5   )r&   rr   rc   r6   s   &r   __call__FormData.__call__   s,    &&((,,..r    )r(   r%   r&   r'   r$   ) TN)__name__
__module____qualname____firstlineno____doc__r0   propertyr7   rN   r.   rc   rr   rv   __static_attributes____classdictcell__)r   s   @r   r   r      s     
! &+! !( " "3<
 '+3< #'3< 483< 3<j 0
 
$! !F/ /r    )r   )r@   rE   typingr   r   r   r   urllib.parser   	multidictr   r	    r
   r   r   helpersr   r   __all__r   rx   r    r   <module>r      s4    	  0 0 " / & & # 
d/ d/r    