ó
    Û°›j:1  ã                   ó€  • 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\R4                  S:¼  a  SSKJr  OSSKJr  \\\SS4   rSr S\R4                  s=:*  =(       a    S:  Os  r!\R4                  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)\RT                  " S5      r+S\,S\,4S jr-S\,SSS\4S  jr.\.r/ SSK0J1r1  \1R^                  r2\(       d  \2r/gg! \3 a     gf = f)!z"Http related parsers and protocol.é    N)ÚTYPE_CHECKINGÚAnyÚ	AwaitableÚCallableÚIterableÚListÚ
NamedTupleÚOptional)ÚCIMultiDicté   )ÚAbstractStreamWriter)ÚBaseProtocol)ÚClientConnectionResetError)ÚZLibCompressor)ÚNO_EXTENSIONS)ÚStreamWriterÚHttpVersionÚHttpVersion10ÚHttpVersion11)é   é   )ÚBuffer)ÚUnionzmemoryview[int]zmemoryview[bytes]i   )r   é   r   )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!   ó    ÚP/home/mande/repo/quber/.venv/lib/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'   Sr\\S'   Sr	\\S'   Sr
\S-  \S'     S*S\S	\R                  S
\S\SS4
S jjr\S\R&                  S-  4S j5       r\S\4S j5       rS+S jr S,S\S\S-  SS4S jjrS\SS4S jrS\\   SS4S jrS\SS4S jrS\S\SS4S jrSSS.S\S\S\SS4S  jjrS!\S"S#SS4S$ jr S+S% jr!S+S& jr"S-S\#SS4S' jjr$S+S( jr%S)r&g).r   é;   NÚlengthFÚchunkedÚ_eofÚ	_compressÚprotocolÚloopÚon_chunk_sentÚon_headers_sentÚreturnc                 óP   • Xl         X l        X0l        X@l        S U l        SU l        g )NF)Ú	_protocolr3   Ú_on_chunk_sentÚ_on_headers_sentÚ_headers_bufÚ_headers_written)Úselfr2   r3   r4   r5   s        r*   Ú__init__ÚStreamWriter.__init__B   s*   € ð "ŒØŒ	Ø.;ÔØ2AÔØ*.ˆÔØ&+ˆÕr)   c                 ó.   • U R                   R                  $ ©N)r8   Ú	transport©r=   s    r*   rB   ÚStreamWriter.transportP   s   € à�~‰~×'Ñ'Ð'r)   c                 ó   • U R                   $ rA   )r8   rC   s    r*   r2   ÚStreamWriter.protocolT   s   € à�~‰~Ðr)   c                 ó   • SU l         g )NT)r/   rC   s    r*   Úenable_chunkingÚStreamWriter.enable_chunkingX   s	   € Øˆ�r)   ÚencodingÚstrategyc                 ó    • [        XS9U l        g )N)rJ   rK   )r   r1   )r=   rJ   rK   s      r*   Úenable_compressionÚStreamWriter.enable_compression[   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_sizer8   rB   Ú
is_closingr   Úwrite)r=   rO   ÚsizerB   s       r*   Ú_writeÚStreamWriter._write`   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   rQ   r)   )rR   rS   rT   r8   rB   rU   r   ÚSKIP_WRITELINESÚMIN_PAYLOAD_FOR_WRITELINESrV   ÚjoinÚ
writelines)r=   rZ   rW   rO   rB   s        r*   Ú_writelinesÚStreamWriter._writelinesi   s    € ØˆÛˆEØ”C˜“JÑŠDñ à×Ò˜DÑ ÕØ×Ò˜DÑ ÕØ—N‘N×,Ñ,ˆ	ØÑ 	× 4Ñ 4× 6Ñ 6Ü,Ð-PÓQÐQßŠ?˜dÔ%?Ó?Ø�O‰O˜CŸH™H VÓ,Õ-à× Ñ  Õ(r)   c                 óf   • [        U5      S S3R                  S5      nU R                  X!S45        g)z+Write a chunk with proper chunked encoding.Úxú
Úasciió   
N)rR   Úencoder`   )r=   rO   Úchunk_len_pres      r*   Ú_write_chunked_payloadÚ#StreamWriter._write_chunked_payloadw   s2   € ä˜u›: a˜.¨Ð-×4Ñ4°WÓ=ˆØ×Ñ˜-°Ð8Õ9r)   Úis_eofc                 óÖ  • SU l         U R                  nSU l        [        (       a  Uc   eU R                  (       d,  U(       a  U R	                  X145        gU R                  U5        gU(       aO  [        U5      S S3R                  S5      nU(       a  U R	                  X4US45        gU R	                  X4US45        gU(       a  U R	                  US45        gU R                  U5        g)	zASend buffered headers with payload, coalescing into single write.TNrc   rd   re   ó   
0

rf   ó   0

)r<   r;   r   r/   r`   rX   rR   rg   )r=   rO   rk   Úheaders_bufrh   s        r*   Ú_send_headers_with_payloadÚ'StreamWriter._send_headers_with_payload|   sÕ   € ð !%ˆÔØ×'Ñ'ˆØ ˆÔçŠ=ð Ñ*Ð*Ð*à�|�|æØ× Ñ  +Ð!5Ô6ð ð —‘˜KÔ(Øö Ü" 5›z¨!˜n¨DÐ1×8Ñ8¸ÓAˆMÞØ× Ñ  +¸eÐEUÐ!VÕWà× Ñ  +¸eÀWÐ!MÕNÞØ×Ñ˜k¨<Ð8Õ9à�K‰K˜Õ$r)   Ti   )ÚdrainÚLIMITrr   rs   c             ƒ   óÎ  #   • 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 R                  (       aZ  U R                  (       dI  U R                  US5        U(       a/  U R                  U:”  a  SU l        U R                  5       I Sh  v•N   gU(       am  U R                  (       a  U R                  U5        OU R!                  U5        U(       a1  U R                  U:”  a   SU l        U R                  5       I Sh  v•N   gggg GN· 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   F)r9   Ú
isinstanceÚ
memoryviewÚnbytesrR   Úcastr1   Úcompressr.   r;   r<   rp   rS   rr   r/   ri   rX   )r=   rO   rr   rs   Ú	chunk_lens        r*   rV   ÚStreamWriter.writeœ   s|  é € ð ×ÑÑ*Ø×%Ñ% eÓ,×,Ð,ä�eœZ×(Ñ(Ø�|‰|œs 5›zÓ)àŸ
™
 3›�à�>‰>Ñ%ØŸ.™.×1Ñ1°%Ó8×8ˆEÞØà�;‰;Ñ"Ü˜E›
ˆIØ�{‰{˜iÓ'Ø"Ÿk™k¨IÑ5�•à˜m §¡Ð,�Ø�”ÞØð ×× T×%:×%:Ø×+Ñ+¨E°5Ô9Þ˜×)Ñ)¨EÓ1Ø#$�Ô Ø—j‘j“l×"Ð"ØæØ�|�|Ø×+Ñ+¨EÕ2à—‘˜EÔ"æ˜×)Ñ)¨EÓ1Ø#$�Ô Ø—j‘j“l×"Ñ"ð 2ˆuð ò= -ò 9ñ& #ñ #ùsH   ‚"G%¤G¥A.G%ÂGÂCG%Å G!Å!A1G%ÇG#Ç	G%ÇG%Ç!G%Ç#G%Ústatus_lineÚheadersr+   c              ƒ   óŒ   #   • U R                   b  U R                  U5      I Sh  v•N   [        X5      nSU l        X0l        g N7f)zWrite headers to the stream.NF)r:   Ú_serialize_headersr<   r;   )r=   r}   r~   Úbufs       r*   Úwrite_headersÚStreamWriter.write_headersÏ   sD   é € ð × Ñ Ñ,Ø×'Ñ'¨Ó0×0Ð0ä  Ó6ˆØ %ˆÔØÕñ	 1ùs   ‚"A¤A¥Ac                 óÀ   • U R                   (       a  U R                  (       a  gSU l        U R                   nSU l         [        (       a  Uc   eU R                  U5        g)z3Force sending buffered headers if not already sent.NT)r;   r<   r   rX   ©r=   ro   s     r*   Úsend_headersÚStreamWriter.send_headersÚ   sN   € à× ×  D×$9×$9Øà $ˆÔØ×'Ñ'ˆØ ˆÔçŠ=àÑ*Ð*Ð*à�‰�KÕ r)   c                 ó¢  • U R                   (       a  gU R                  (       ar  U R                  (       da  SU l        U R                  nSU l        [        (       a  Uc   eU R                  (       a  U R                  US45        OEU R                  U5        O3U R                  (       a"  U R                  (       a  U R                  S5        SU l         g)z&Indicate that the message is complete.NTrn   )r0   r;   r<   r   r/   r`   rX   r…   s     r*   Úset_eofÚStreamWriter.set_eofé   s•   € à�9�9Øð ×× T×%:×%:Ø$(ˆDÔ!Ø×+Ñ+ˆKØ $ˆDÔçŠ}à"Ñ.Ð.Ð.ð �|�|Ø× Ñ  +¨|Ð!<Õ=à—‘˜KÕ(Ø�\�\˜d×3×3à�K‰K˜Ô%àˆ�	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 R                  (       d�  SU l        U R                  nS U l        U R                  (       a-  US S3R                  S5      nU R                  Xg/UQSP75        OU R                  U/UQ75        U R                  5       I S h  v•N   SU l         g U R                  (       a-  US S3R                  S5      nU R                  U/UQSP75        O5[	        U5      S:”  a  U R                  U5        OU R                  US   5        U R                  5       I S h  v•N   SU l         g U R                  (       aC  U R                  (       d2  U R                  US5        U R                  5       I S h  v•N   SU l         g U R                  (       ai  U(       a1  U R                  [	        U5      S S3R                  S5      US45        OU R                  S5        U R                  5       I S h  v•N   SU l         g U(       a)  U R                  U5        U R                  5       I S h  v•N   SU l         g  GNò GNµ GN¬ GN NÊ NR N7f)	Nr   Trc   rd   re   rm   r   rn   )r0   r9   r1   rz   rR   ÚappendÚflushr;   r<   r/   rg   r`   rr   rX   rp   )r=   rO   rZ   Ú
chunks_lenÚcompressed_chunkÚflush_chunkro   rh   s           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˜+Ô&ÞÐ�:ð × × ¨×)>×)>Ø(,�Ô%Ø"×/Ñ/�Ø$(�Ô!à—<—<à'1°! n°DÐ$9×$@Ñ$@ÀÓ$I�MØ×$Ñ$Ø$ÐO°fÐOÐ>NÑOõð
 ×$Ñ$ kÐ%;°FÑ%;Ô<Ø—j‘j“l×"Ð"Ø �”	Øð �|�|Ø#-¨a .°Ð 5× <Ñ <¸WÓ E�Ø× Ñ  -Ð!K°&Ð!KÐ:JÑ!KÕLÜ�V“˜q“Ø× Ñ  Õ(à—‘˜F 1™IÔ&Ø—*‘*“,×ÐØˆDŒIØð ×× T×%:×%:à×+Ñ+¨E°4Ô8Ø—*‘*“,×ÐØˆDŒIØð �<�<Þà× Ñ Ü˜E›
 1�~ TÐ*×1Ñ1°'Ó:¸EÐCSÐTõð —‘˜LÔ)Ø—*‘*“,×ÐØˆDŒIØæØ�K‰K˜ÔØ—*‘*“,×Ðàˆ�	òO -ò /Sò0 #ò ñ ñ ñ ùs   ‚;M½L/¾?MÁ=L2Á>DMÆ	L5Æ
BMÈL8ÈAMÉ0L;É1A9MË*L=Ë+7MÌ"L?Ì#MÌ2MÌ5MÌ8MÌ;MÌ=MÌ?M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)r8   rB   Ú_pausedÚ_drain_helper)r=   r2   s     r*   rr   ÚStreamWriter.drainR  sA   é € ð —>‘>ˆØ×ÑÑ)¨h×.>×.>Ø×(Ñ(Ó*×*Ñ*ð /?Ð)Ù*ùs   ‚>A
Á AÁA
)r1   r0   r;   r<   r9   r:   r8   rS   r/   r.   r3   )NN)r6   N)ÚdeflateN)r)   )'r"   r#   r$   r%   r.   r&   r'   r/   Úboolr0   r1   r   r   ÚasyncioÚAbstractEventLoopÚ_T_OnChunkSentÚ_T_OnHeadersSentr>   ÚpropertyÚ	TransportrB   r2   rH   ÚstrrM   r   rX   r   r`   ri   rp   rV   r‚   r†   r‰   Úbytesr‘   rr   r(   r!   r)   r*   r   r   ;   s±  ‡ à€FˆC�$‰JÓØ€GˆTÓØ€Dˆ$ÓØ'+€Iˆ~ Ñ$Ó+ð )-Ø,0ñ,àð,ð ×'Ñ'ð,ð &ð	,ð
 *ð,ð 
õ,ð ð(˜7×,Ñ,¨tÑ3ó (ó ð(ð ð˜,ó ó ðôð AEñNØðNØ36¸±:ðNà	õNð
˜Fð  tô ð) (¨6Ñ"2ð )°tô )ð:¨Fð :°tô :ð
%°ð %Àð %Èô %ðB /3Àò1#Øð1#Ø'+ð1#Ø;>ð1#à	õ1#ðf	 Øð	 Ø);ð	 à	ô	 ô!ôñ6L Uð L°Tõ L÷\
+r)   r   z[\x00-\x08\x0a-\x1f\x7f]Ústringr6   c                 óH   • [         R                  U 5      b  [        S5      eU $ )NzSForbidden control character detected in headers. Potential header injection attack.)Ú_FORBIDDEN_HEADER_CHARS_REÚsearchÚ
ValueError)r¡   s    r*   Ú_safe_headerr¦   d  s,   € Ü!×(Ñ(¨Ó0Ñ<Üð1ó
ð 	
ð €Mr)   r}   r~   c                 óœ   • [        U 5        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>o  s$   é € ÐXÊÁÀ”< “? TÑ)¬L¸«OÖ;Êùs   ‚)+rd   z

zutf-8)r¦   Úitemsr^   rg   )r}   r~   Úheaders_genÚlines       r*   Ú_py_serialize_headersr±   m  sF   € Ü�ÔÙXÈÏÉÌÓX€KØ˜Ñ &§+¡+¨kÓ":Ñ:¸ZÑG€DØ�;‰;�wÓÐr)   )4Ú__doc__r™   ÚreÚsysÚtypingr   r   r   r   r   r   r	   r
   Ú	multidictr   Úabcr   Úbase_protocolr   Úclient_exceptionsr   Úcompression_utilsr   Úhelpersr   Ú__all__Úversion_infoÚcollections.abcr   r   r    Ú	bytearrayr]   ÚIS_PY313_BEFORE_313_2ÚIS_PY_BEFORE_312_9r\   r   r   r   r›   rœ   r   Úcompiler£   rŸ   r¦   r±   r€   Úaiohttp._http_writerÚ_http_writerÚ_c_serialize_headersÚImportErrorr!   r)   r*   Ú<module>rÇ      sŠ  ðÙ (ã Û 	Û 
÷	÷ 	ó 	õ "å %Ý 'Ý 9Ý -Ý "à
K€à×Ñ�wÓÞ&åà�5˜)Ð%6Ð8KÐKÑL€Fð "Ð Ø" c×&6Ñ&6×CÓC¸ÔCÐ Ø×%Ñ%¨
Ñ2Ð Ø'×=Ð+=€ô�*ô ñ
 ˜A˜qÓ!€Ù˜A˜qÓ!€ð ˜( F 8¨Y°t©_Ð#<Ñ=Ñ>€Ø˜HÐ&8Ð%9¸9ÀT¹?Ð%JÑKÑLÐ ôa+Ð'ô a+ðL	  ŸZšZÐ(CÓDÐ ð˜ð  ô ð  sð  Ð5Gð  ÈEô  ð +Ð ð	Ý/à'×:Ñ:ÐÞØ1Ñð øàó 	Ùð	ús   ÄD4 Ä4D=Ä<D=