ó
    	[h«  ã                   ó  • S r SSKrSSKrSSKrSSKJrJrJrJrJ	r	J
r
JrJr  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJr  SrSrS\R6                  s=:*  =(       a    S:  Os  r\R6                  S:  r\=(       d    \r " S S\
5      r\" SS5      r \" SS5      r!\\\"/\S   4      r#\\S/\S   4      r$ " S S\5      r%S\&S\&4S jr'S\&SSS\"4S jr(\(r) SSK*J+r+  \+RR                  r,\(       d  \,r)gg! \- a     gf = f)z"Http related parsers and protocol.é    N)ÚAnyÚ	AwaitableÚCallableÚIterableÚListÚ
NamedTupleÚOptionalÚUnion)ÚCIMultiDicté   )ÚAbstractStreamWriter)ÚBaseProtocol)ÚClientConnectionResetError)ÚZLibCompressor)ÚNO_EXTENSIONS)ÚStreamWriterÚHttpVersionÚHttpVersion10ÚHttpVersion11i   )é   é   r   )r   r   é   )r   é   é	   c                   ó*   • \ rS rSr% \\S'   \\S'   Srg)r   é'   ÚmajorÚminor© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚintÚ__annotations__Ú__static_attributes__r   ó    Úb/home/gothic/public_html/Fooocus/fooocus_env/lib64/python3.13/site-packages/aiohttp/http_writer.pyr   r   '   s   ‡ ØƒJØ†Jr'   r   úCIMultiDict[str]c                   óÀ  • \ rS rSr% Sr\\   \S'   Sr\	\S'   Sr
\	\S'   Sr\\   \S'     S'S\S	\R                  S
\S\SS4
S jjr\S\\R(                     4S j5       r\S\4S j5       rS(S jrS\R2                  4S\S\SS4S jjrS\\\\4   SS4S jr S\!\   SS4S jr"SSS.S\\\\4   S\	S\SS4S jjr#S\S S!SS4S" jr$S(S# jr%S)S\SS4S$ jjr&S(S% jr'S&r(g)*r   é4   NÚlengthFÚchunkedÚ_eofÚ	_compressÚprotocolÚloopÚon_chunk_sentÚon_headers_sentÚreturnc                 ó4   • Xl         X l        X0l        X@l        g ©N)Ú	_protocolr1   Ú_on_chunk_sentÚ_on_headers_sent)Úselfr0   r1   r2   r3   s        r(   Ú__init__ÚStreamWriter.__init__;   s   € ð "ŒØŒ	Ø.;ÔØ2AÕr'   c                 ó.   • U R                   R                  $ r6   )r7   Ú	transport©r:   s    r(   r>   ÚStreamWriter.transportG   s   € à�~‰~×'Ñ'Ð'r'   c                 ó   • U R                   $ r6   )r7   r?   s    r(   r0   ÚStreamWriter.protocolK   s   € à�~‰~Ðr'   c                 ó   • SU l         g )NT)r-   r?   s    r(   Úenable_chunkingÚStreamWriter.enable_chunkingO   s	   € Øˆ�r'   ÚdeflateÚencodingÚstrategyc                 ó    • [        XS9U l        g )N)rG   rH   )r   r/   )r:   rG   rH   s      r(   Úenable_compressionÚStreamWriter.enable_compressionR   s   € ô (°ÑMˆ�r'   Úchunkc                 ó  • [        U5      nU =R                  U-  sl        U =R                  U-  sl        U R                  R                  nUb  UR                  5       (       a  [        S5      eUR                  U5        g )Nú!Cannot write to closing transport)ÚlenÚbuffer_sizeÚoutput_sizer7   r>   Ú
is_closingr   Úwrite)r:   rL   Úsizer>   s       r(   Ú_writeÚStreamWriter._writeW   sh   € Ü�5‹zˆØ×Ò˜DÑ ÕØ×Ò˜DÑ ÕØ—N‘N×,Ñ,ˆ	ØÑ 	× 4Ñ 4× 6Ñ 6Ü,Ð-PÓQÐQØ�‰˜Õr'   Úchunksc                 óŠ  • SnU H  nU[        U5      -  nM     U =R                  U-  sl        U =R                  U-  sl        U R                  R                  nUb  UR                  5       (       a  [        S5      e[        (       d
  U[        :  a!  UR                  SR                  U5      5        g UR                  U5        g )Nr   rN   r'   )rO   rP   rQ   r7   r>   rR   r   ÚSKIP_WRITELINESÚMIN_PAYLOAD_FOR_WRITELINESrS   ÚjoinÚ
writelines)r:   rW   rT   rL   r>   s        r(   Ú_writelinesÚStreamWriter._writelines`   s    € ØˆÛˆEØ”C˜“JÑŠDñ à×Ò˜DÑ ÕØ×Ò˜DÑ ÕØ—N‘N×,Ñ,ˆ	ØÑ 	× 4Ñ 4× 6Ñ 6Ü,Ð-PÓQÐQßŠ?˜dÔ%?Ó?Ø�O‰O˜CŸH™H VÓ,Õ-à× Ñ  Õ(r'   Ti   )ÚdrainÚLIMITr_   r`   c             ƒ   ó0  #   • U R                   b  U R                  U5      I Sh  v•N   [        U[        5      (       a*  UR                  [	        U5      :w  a  UR                  S5      nU R                  b+  U R                  R                  U5      I Sh  v•N nU(       d  gU R                  bN  [	        U5      nU R                  U:¼  a  U R                  U-
  U l        OUSU R                   nSU l        U(       d  gU(       aŒ  U R                  (       a1  U R                  [	        U5      S S3R                  S5      US45        OU R                  U5        U R                  U:”  a(  U(       a   SU l        U R                  5       I Sh  v•N   gggg GNk Nþ N7f)z¡Writes chunk of data to a stream.

write_eof() indicates end of stream.
writer can't be used after write_eof() method being called.
write() return drain future.
NÚcr   Úxú
Úasciis   
)r8   Ú
isinstanceÚ
memoryviewÚnbytesrO   Úcastr/   Úcompressr,   r-   r]   ÚencoderU   rP   r_   )r:   rL   r_   r`   Ú	chunk_lens        r(   rS   ÚStreamWriter.writen   sO  é € ð ×ÑÑ*Ø×%Ñ% eÓ,×,Ð,ä�eœZ×(Ñ(Ø�|‰|œs 5›zÓ)àŸ
™
 3›�à�>‰>Ñ%ØŸ.™.×1Ñ1°%Ó8×8ˆEÞØà�;‰;Ñ"Ü˜E›
ˆIØ�{‰{˜iÓ'Ø"Ÿk™k¨IÑ5�•à˜m §¡Ð,�Ø�”ÞØæØ�|�|Ø× Ñ Ü˜E›
 1�~ TÐ*×1Ñ1°'Ó:¸EÀ7ÐKõð —‘˜EÔ"à×Ñ %Ó'®EØ#$�Ô Ø—j‘j“l×"Ñ"ð -2Ð'ð ò- -ñ 9ñ0 #ùs5   ‚"F¤F¥A.FÂFÂC2FÆFÆ	FÆFÆFÚstatus_lineÚheadersr)   c              ƒ   ó”   #   • U R                   b  U R                  U5      I Sh  v•N   [        X5      nU R                  U5        g N!7f)z*Write request/response status and headers.N)r9   Ú_serialize_headersrU   )r:   rn   ro   Úbufs       r(   Úwrite_headersÚStreamWriter.write_headersž   sD   é € ð × Ñ Ñ,Ø×'Ñ'¨Ó0×0Ð0ô ! Ó6ˆØ�‰�CÕñ	 1ùs   ‚"A¤A¥"Ac                 ó   • SU l         g)z&Indicate that the message is complete.TN)r.   r?   s    r(   Úset_eofÚStreamWriter.set_eof©   s	   € àˆ�	r'   c              ƒ   óò  #   • U R                   (       a  g U(       a&  U R                  b  U R                  U5      I S h  v•N   U R                  (       Ga  / nSnU(       aF  U R                  R                  U5      I S h  v•N =n(       a  [	        U5      nUR                  U5        U R                  R                  5       nU[	        U5      -  nUR                  U5        U(       d   eU R                  (       a-  US S3R                  S5      nU R                  U/UQSP75        Oª[	        U5      S:”  a  U R                  U5        O‰U R                  US   5        OtU R                  (       aK  U(       a2  [	        U5      S S3R                  S5      nU R                  XaS45        O*U R                  S5        OU(       a  U R                  U5        U R                  5       I S h  v•N   SU l         g  GN² GNu N7f)	Nr   rc   rd   re   s   
0

r   s   0

T)r.   r8   r/   rj   rO   ÚappendÚflushr-   rk   r]   rU   r_   )r:   rL   rW   Ú
chunks_lenÚcompressed_chunkÚflush_chunkÚchunk_len_pres          r(   Ú	write_eofÚStreamWriter.write_eof­   s“  é € Ø�9�9Øæ�T×(Ñ(Ñ4Ø×%Ñ% eÓ,×,Ð,à�>�>ˆ>Ø"$ˆFØˆJÞ°D·N±N×4KÑ4KÈEÓ4R×.RÐRÐ*ÕRÜ Ð!1Ó2�
Ø—‘Ð.Ô/àŸ.™.×.Ñ.Ó0ˆKØœ#˜kÓ*Ñ*ˆJØ�M‰M˜+Ô&ÞÐ�:à�|�|Ø#-¨a .°Ð 5× <Ñ <¸WÓ E�Ø× Ñ  -Ð!K°&Ð!KÐ:JÑ!KÕLÜ�V“˜q“Ø× Ñ  Õ(à—‘˜F 1™IÕ&Ø�\�\ÞÜ#& u£:¨a .°Ð 5× <Ñ <¸WÓ E�Ø× Ñ  -Ð8HÐ!IÕJà—‘˜LÕ)ÞØ�K‰K˜Ôà�j‰j‹l×Ðàˆ�	òA -ò
 /Sñ2 	ùs4   ‚;G7½G/¾?G7Á=G2Á>E$G7Ç"G5Ç#G7Ç2G7Ç5G7c              ƒ   ó˜   #   • U R                   nUR                  b+  UR                  (       a  UR                  5       I Sh  v•N   ggg N7f)z_Flush the write buffer.

The intended use is to write

  await w.write(data)
  await w.drain()
N)r7   r>   Ú_pausedÚ_drain_helper)r:   r0   s     r(   r_   ÚStreamWriter.drainÔ   sA   é € ð —>‘>ˆØ×ÑÑ)¨h×.>×.>Ø×(Ñ(Ó*×*Ñ*ð /?Ð)Ù*ùs   ‚>A
Á AÁA
)	r/   r.   r8   r9   r7   rP   r-   r,   r1   )NN)r4   N)r'   ))r    r!   r"   r#   r,   r	   r$   r%   r-   Úboolr.   r/   r   r   ÚasyncioÚAbstractEventLoopÚ_T_OnChunkSentÚ_T_OnHeadersSentr;   ÚpropertyÚ	Transportr>   r0   rD   ÚzlibÚZ_DEFAULT_STRATEGYÚstrrJ   r
   ÚbytesÚ	bytearrayrg   rU   r   r]   rS   rs   rv   r   r_   r&   r   r'   r(   r   r   4   s¡  ‡ à €FˆH�S‰MÓ Ø€GˆTÓØ€Dˆ$ÓØ*.€Iˆx˜Ñ'Ó.ð )-Ø,0ñ
Bàð
Bð ×'Ñ'ð
Bð &ð	
Bð
 *ð
Bð 
õ
Bð ð(˜8 G×$5Ñ$5Ñ6ó (ó ð(ð ð˜,ó ó ðôð (¸×9PÑ9PñNØðNØ36ðNà	õNð
˜E %¨°JÐ">Ñ?ð ÀDô ð) (¨5¡/ð )°dô )ð$ Øò.#à�U˜I zÐ1Ñ2ð.#ð ð	.#ð
 ð.#ð 
õ.#ð`	Øð	Ø);ð	à	ô	ôñ% Uð %°Tõ %÷N
+r'   r   Ústringr4   c                 ó4   • SU ;   d  SU ;   a  [        S5      eU $ )NÚÚ
zRNewline or carriage return detected in headers. Potential header injection attack.)Ú
ValueError)r‘   s    r(   Ú_safe_headerr–   á   s(   € Øˆvƒ~˜ ›Üð1ó
ð 	
ð €Mr'   rn   ro   c                 ó†   • S UR                  5        5       nU S-   SR                  U5      -   S-   nUR                  S5      $ )Nc              3   óZ   #   • U  H!  u  p[        U5      S -   [        U5      -   v •  M#     g7f)z: N)r–   )Ú.0ÚkÚvs      r(   Ú	<genexpr>Ú(_py_serialize_headers.<locals>.<genexpr>ë   s$   é € ÐXÊÁÀ”< “? TÑ)¬L¸«OÖ;Êùs   ‚)+rd   z

zutf-8)Úitemsr[   rk   )rn   ro   Úheaders_genÚlines       r(   Ú_py_serialize_headersr¡   ê   s>   € ÙXÈÏÉÌÓX€KØ˜Ñ &§+¡+¨kÓ":Ñ:¸ZÑG€DØ�;‰;�wÓÐr'   ).Ú__doc__r†   ÚsysrŒ   Útypingr   r   r   r   r   r   r	   r
   Ú	multidictr   Úabcr   Úbase_protocolr   Úclient_exceptionsr   Úcompression_utilsr   Úhelpersr   Ú__all__rZ   Úversion_infoÚIS_PY313_BEFORE_313_2ÚIS_PY_BEFORE_312_9rY   r   r   r   r�   rˆ   r‰   r   rŽ   r–   r¡   rq   Úaiohttp._http_writerÚ_http_writerÚ_c_serialize_headersÚImportErrorr   r'   r(   Ú<module>r³      sO  ðÙ (ã Û 
Û ÷	÷ 	ó 	õ "å %Ý 'Ý 9Ý -Ý "à
K€ð "Ð Ø" c×&6Ñ&6×CÓC¸ÔCÐ Ø×%Ñ%¨
Ñ2Ð Ø'×=Ð+=€ô�*ô ñ
 ˜A˜qÓ!€Ù˜A˜qÓ!€ð ˜( E 7¨I°d©OÐ#;Ñ<Ñ=€Ø˜HÐ&8Ð%9¸9ÀT¹?Ð%JÑKÑLÐ ôj+Ð'ô j+ðZ˜ð  ô ð  sð  Ð5Gð  ÈEô  ð +Ð ð	Ý/à'×:Ñ:ÐÞØ1Ñð øàó 	Ùð	ús   ÃC< Ã<DÄD