+
    DiN+                       ^ RI Ht ^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHtHtHt ]'       d   ^ R	It^ R
IHtHtHt M  ^ R	It^ RIHt  ! R R]4      t] ! R R4      4       tR R lt ! R R]4      t ! R R4      t  ! R R4      t!R	#   ] d    ^ R	It^ RIHt  LTi ; i  ] d    R	tR	t Lei ; i)    )annotations)AsyncGenerator)	dataclassfield)Enum)SpooledTemporaryFile)TYPE_CHECKING)unquote_plus)FormDataHeaders
UploadFileN)MultipartCallbacksQuerystringCallbacksparse_options_header)r   c                  *    ] tR t^t^t^t^t^t^tRt	R# )FormMessage N)
__name__
__module____qualname____firstlineno__FIELD_START
FIELD_NAME
FIELD_DATA	FIELD_ENDEND__static_attributes__r       s/Users/tonyclaw/.openclaw/workspace/services/omi-webhook/venv/lib/python3.14/site-packages/starlette/formparsers.pyr   r      s    KJJI
Cr   r   c                  z    ] tR t^$t$ RtR]R&   RtR]R&   ]! ]R7      t	R]R	&   Rt
R
]R&   ]! ]R7      tR]R&   RtR# )MultipartPartNzbytes | Nonecontent_disposition str
field_name)default_factory	bytearraydatazUploadFile | Nonefilezlist[tuple[bytes, bytes]]item_headersr   )r   r   r   r   r"   __annotations__r%   r   r'   r(   r)   listr*   r   r   r   r   r!   r!   $   sA    (,,JI6D)6"D
".3D.IL+Ir   r!   c               $    V ^8  d   QhRRRRRR/# )   srczbytes | bytearraycodecr$   returnr   )formats   "r   __annotate__r3   -   s"     % %, %S %S %r   c                v     V P                  V4      #   \        \        3 d    T P                  R 4      u # i ; i)latin-1)decodeUnicodeDecodeErrorLookupError)r/   r0   s   &&r   _user_safe_decoder9   -   s9    %zz%  , %zz)$$%s    "88c                  "    ] tR t^4tR R ltRtR# )MultiPartExceptionc                    V ^8  d   QhRRRR/# )r.   messager$   r1   Noner   )r2   s   "r   r3   MultiPartException.__annotate__5   s        r   c                	    Wn         R # Nr=   selfr=   s   &&r   __init__MultiPartException.__init__5   s    r   rB   N)r   r   r   r   rE   r   r   r   r   r;   r;   4   s     r   r;   c                  j    ] tR t^9tR R ltR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
RtR# )
FormParserc               $    V ^8  d   QhRRRRRR/# )r.   headersr   streamAsyncGenerator[bytes, None]r1   r>   r   )r2   s   "r   r3   FormParser.__annotate__:   s#     < < <1L <QU <r   c                	J    \         f   Q R4       hWn        W n        . V n        R # )NEThe `python-multipart` library must be installed to use form parsing.)	multipartrJ   rK   messages)rD   rJ   rK   s   &&&r   rE   FormParser.__init__:   s%    $m&mm$9;r   c                   V ^8  d   QhRR/# r.   r1   r>   r   )r2   s   "r   r3   rM   @   s     & & &r   c                	`    \         P                  R 3pV P                  P                  V4       R# r   N)r   r   rQ   appendrC   s   & r   on_field_startFormParser.on_field_start@   s$    **C0W%r   c               (    V ^8  d   QhRRRRRRRR/# r.   r(   bytesstartintendr1   r>   r   )r2   s   "r   r3   rM   D   (     & &% & &# &$ &r   c                	d    \         P                  WV 3pV P                  P                  V4       R # rA   )r   r   rQ   rW   rD   r(   r]   r_   r=   s   &&&& r   on_field_nameFormParser.on_field_nameD   (    ))4c?;W%r   c               (    V ^8  d   QhRRRRRRRR/# r[   r   )r2   s   "r   r3   rM   H   r`   r   c                	d    \         P                  WV 3pV P                  P                  V4       R # rA   )r   r   rQ   rW   rb   s   &&&& r   on_field_dataFormParser.on_field_dataH   re   r   c                   V ^8  d   QhRR/# rT   r   )r2   s   "r   r3   rM   L   s     & &d &r   c                	`    \         P                  R 3pV P                  P                  V4       R# rV   )r   r   rQ   rW   rC   s   & r   on_field_endFormParser.on_field_endL   s$    ((#.W%r   c                   V ^8  d   QhRR/# rT   r   )r2   s   "r   r3   rM   P   s     & & &r   c                	`    \         P                  R 3pV P                  P                  V4       R# rV   )r   r   rQ   rW   rC   s   & r   on_endFormParser.on_endP   s"    ??C(W%r   c                   V ^8  d   QhRR/# r.   r1   r   r   )r2   s   "r   r3   rM   T   s     & &X &r   c           
     	D  "   R V P                   RV P                  RV P                  RV P                  RV P                  /p\
        P                  ! V4      pRpRp. pV P                    Rj  xL
  pV'       d   VP                  V4       MVP                  4        \        V P                  4      pV P                  P                  4        V F  w  rV\        P                  8X  d   RpRpK   V\        P                  8X  d   W9,          pK?  V\        P                   8X  d   WI,          pK^  V\        P"                  8X  g   Ku  \%        VP'                  R4      4      p
\%        VP'                  R4      4      pVP)                  W34       K  	  EK'   EL#ED%\+        T4      # 5i)rX   rc   rh   rl   rp   r   Nr5   )rX   rc   rh   rl   rp   rP   QuerystringParserrK   writefinalizer,   rQ   clearr   r   r   r   r   r
   r6   rW   r   )rD   	callbacksparserr%   field_valueitemschunkrQ   message_typemessage_bytesnamevalues   &           r   parseFormParser.parseT   sZ     d11T//T//D--dkk+
	 ,,Y7
46  ;; 	0 	0%U#!DMM*HMM!/7+;#:#::!$J"%K![%;%;;/J![%;%;;0K![%:%::'
(9(9)(DED(););I)FGELL$/ 08	0;( s2   A'F )F-F.F1CF AF FF )rJ   rQ   rK   N)r   r   r   r   rE   rX   rc   rh   rl   rp   r   r   r   r   r   rH   rH   9   s*    <&&&&&& &r   rH   c                      ] tR t^}tRt Rt RRRRRR/R R lltR R ltR	 R
 ltR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltRtR# )MultiPartParser	max_filesi  
max_fieldsmax_part_sizec               0    V ^8  d   QhRRRRRRRRRR	R
R/# )r.   rJ   r   rK   rL   r   zint | floatr   r   r^   r1   r>   r   )r2   s   "r   r3   MultiPartParser.__annotate__   sF     + ++ ,+
 +  + + 
+r   c               	    \         f   Q R4       hWn        W n        W0n        W@n        . V n        ^ V n        ^ V n        RV n        RV n	        \        4       V n        RV n        . V n        . V n        . V n        WPn        R # )NrO   r   r#   )rP   rJ   rK   r   r   r|   _current_files_current_fields_current_partial_header_name_current_partial_header_valuer!   _current_part_charset_file_parts_to_write_file_parts_to_finish_files_to_close_on_errorr   )rD   rJ   rK   r   r   r   s   &&&$$$r   rE   MultiPartParser.__init__   s     $m&mm$"$9;
 36)47**_GI!:<"KM%*r   c                   V ^8  d   QhRR/# rT   r   )r2   s   "r   r3   r      s     - -t -r   c                	$    \        4       V n        R # rA   )r!   r   rD   s   &r   on_part_beginMultiPartParser.on_part_begin   s    *_r   c               (    V ^8  d   QhRRRRRRRR/# r[   r   )r2   s   "r   r3   r      s.     R R Rs R R Rr   c                	   WV pV P                   P                  f   \        V P                   P                  4      \        V4      ,           V P                  8  d*   \        R\        V P                  R,          4       R24      hV P                   P                  P                  V4       R # V P                  P                  V P                   V34       R # )NzPart exceeded maximum size of i   zKB.)
r   r)   lenr(   r   r;   r^   extendr   rW   )rD   r(   r]   r_   r   s   &&&& r   on_part_dataMultiPartParser.on_part_data   s    3""*4%%**+c-.@@4CUCUU(+I#dN`N`cgNgJhIiil)mnn##**=9%%,,d.@.@--PQr   c                   V ^8  d   QhRR/# rT   r   )r2   s   "r   r3   r      s     X XT Xr   c                	   V P                   P                  f\   V P                  P                  V P                   P                  \        V P                   P                  V P                  4      34       R # V P                  P                  V P                   4       V P                  P                  V P                   P                  V P                   P                  34       R # rA   )	r   r)   r|   rW   r%   r9   r(   r   r   r   s   &r   on_part_endMultiPartParser.on_part_end   s    ""*JJ&&11%d&8&8&=&=t}}M &&--d.@.@A JJt11<<d>P>P>U>UVWr   c               (    V ^8  d   QhRRRRRRRR/# r[   r   )r2   s   "r   r3   r      s(     = =E =# =C =D =r   c                	<    V ;P                   WV ,          un         R # rA   )r   rD   r(   r]   r_   s   &&&&r   on_header_fieldMultiPartParser.on_header_field   s    ))T_<)r   c               (    V ^8  d   QhRRRRRRRR/# r[   r   )r2   s   "r   r3   r      s(     > >E ># >C >D >r   c                	<    V ;P                   WV ,          un         R # rA   )r   r   s   &&&&r   on_header_valueMultiPartParser.on_header_value   s    **do=*r   c                   V ^8  d   QhRR/# rT   r   )r2   s   "r   r3   r      s     1 1t 1r   c                	    V P                   P                  4       pVR 8X  d   V P                  V P                  n        V P                  P
                  P                  WP                  34       RV n         RV n        R# )s   content-dispositionr   N)r   lowerr   r   r"   r*   rW   )rD   r   s   & r   on_header_endMultiPartParser.on_header_end   sf    11779**595W5WD2''..7Y7Y/Z[,/)-0*r   c                   V ^8  d   QhRR/# rT   r   )r2   s   "r   r3   r      s     + +T +r   c           	     	R   \        V P                  P                  4      w  r \        VR ,          V P                  4      V P                  n        RT9   d   T ;P                  ^,          un        T P                  T P                  8  d   \        RT P                   R24      h\        TR,          T P                  4      p\        T P                  R7      pT P                  P                  T4       \        T^ T\        T P                  P                   R7      R7      T P                  n        R	# T ;P$                  ^,          un        T P$                  T P&                  8  d   \        RT P&                   R24      hR	T P                  n        R	#   \         d    \        R4      hi ; i)
s   namez=The Content-Disposition header field "name" must be provided.s   filenamez+Too many files. Maximum number of files is .)max_size)raw)r)   sizefilenamerJ   z-Too many fields. Maximum number of fields is N)r   r   r"   r9   r   r%   KeyErrorr;   r   r   r   spool_max_sizer   rW   r   r   r*   r)   r   r   )rD   dispositionoptionsr   tempfiles   &    r   on_headers_finished#MultiPartParser.on_headers_finished   sf   3D4F4F4Z4Z[	f,=gg>NPTP]P],^D) '!1$""T^^3(+VW[WeWeVffg)hii()=t}}MH+T5H5HIH))00:&0!D$6$6$C$CD	'D#   A% ##doo5(+XY]YhYhXiij)kll&*D#'  	f$%dee	fs   ,F F&c                   V ^8  d   QhRR/# rT   r   )r2   s   "r   r3   r      s       r   c                	    R # rA   r   r   s   &r   rp   MultiPartParser.on_end   s    r   c                   V ^8  d   QhRR/# rs   r   )r2   s   "r   r3   r      s     2$ 2$X 2$r   c                	  "   \        V P                  R ,          4      w  rVP                  RR4      p\        V\        4      '       d   VP                  R4      pW0n         VR,          pRT P                  RT P                  RT P                  R	T P                  R
T P                  RT P                  RT P                  RT P                   /p\"        P$                  ! YE4      p T P&                    Rj  xL
  pTP)                  T4       T P*                   F<  w  rTP,                  '       g   Q hTP,                  P)                  T	4      G Rj  xL
  K>  	  T P.                   F:  pTP,                  '       g   Q hTP,                  P1                  ^ 4      G Rj  xL
  K<  	  T P*                  P3                  4        T P.                  P3                  4        K    \         d    \        R4      hi ; i L L L\EDM8  \         d+   p
T P4                   F  pTP7                  4        K  	  T
hRp
?
ii ; iTP9                  4        \;        T P<                  4      # 5i)zContent-Types   charsetzutf-8r5   s   boundaryzMissing boundary in multipart.r   r   r   r   r   r   r   rp   N)r   rJ   get
isinstancer\   r6   r   r   r;   r   r   r   r   r   r   r   rp   rP   MultipartParserrK   rv   r   r)   r   seekrx   r   closerw   r   r|   )rD   _paramscharsetboundaryry   rz   r}   partr(   excr)   s   &           r   r   MultiPartParser.parse   s    (n)EF	**Z1gu%%nnY/G	Gk*H T//D--4++t33t33T//!4#;#;dkk	)
	 **8?	#{{ 3 3eU# #'";";JD999$9))//$/// #< !66D999$9))..+++ 7 ))//1**002C  	G$%EFF	G&3 0 ,  + " 	55

 6I		 	

##s   AI!	G *A8I#G9 /G63G04G67AG9 G2A	G9 G4>G9 G--I0G62G9 4G9 6G9 8I9H.%H))H..(I)r   r   r   r   r   r   r   r   r   rJ   r|   r   r   r   rK   Ni   )r   r   r   r   r   r   rE   r   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   }   si     NQM>+
 "&+ #'+ )+4-RX=>1+22$ 2$r   r   )"
__future__r   collections.abcr   dataclassesr   r   enumr   r   r   typingr	   urllib.parser
   starlette.datastructuresr   r   r   python_multipartrP   python_multipart.multipartr   r   r   ModuleNotFoundErrormultipart.multipartr   r!   r9   	Exceptionr;   rH   r   r   r   r   <module>r      s    " * (  )   % B B(ii	$	A0G$  J J J% 
A AHW$ W$S # 	A@	A  $	#$s*   
B B/,B2 .B//B2 2C ?C 