Ë
    îñþi  ã                   óž   — d dl Z d dlZd dlmZ d dlmZmZ d dlmZm	Z	m
Z
mZmZ dZ G d„ d«      Z G d„ d	«      Z G d
„ de«      Zde	defd„Zy)é    N)ÚNoReturn)ÚHeadersÚMutableHeaders)ÚASGIAppÚMessageÚReceiveÚScopeÚSend)ztext/event-streamc            	       ó>   — e Zd Zddedededdfd„Zdeded	eddfd
„Z	y)ÚGZipMiddlewareÚappÚminimum_sizeÚcompresslevelÚreturnNc                 ó.   — || _         || _        || _        y ©N)r   r   r   )Úselfr   r   r   s       úY/root/aria/mcps/aria-brain/venv/lib/python3.12/site-packages/starlette/middleware/gzip.pyÚ__init__zGZipMiddleware.__init__   s   € ØˆŒØ(ˆÔØ*ˆÕó    ÚscopeÚreceiveÚsendc              ƒ   óZ  K  — |d   dk7  r| j                  |||«      ƒ d {  –—†  y t        |¬«      }d|j                  dd«      v r-t        | j                   | j                  | j
                  ¬«      }n t        | j                   | j                  «      } ||||«      ƒ d {  –—†  y 7 Œ…7 Œ­w)NÚtypeÚhttp)r   ÚgzipúAccept-EncodingÚ )r   )r   r   ÚgetÚGZipResponderr   r   ÚIdentityResponder)r   r   r   r   ÚheadersÚ	responders         r   Ú__call__zGZipMiddleware.__call__   s›   è ø€ Ø�‰=˜FÒ"Ø—(‘(˜5 '¨4Ó0×0Ð0Øä Ô&ˆà�W—[‘[Ð!2°BÓ7Ñ7Ü% d§h¡h°×0AÑ0AÐQU×QcÑQcÔd‰Iä)¨$¯(©(°D×4EÑ4EÓFˆIá˜˜w¨Ó-×-Ñ-ð 1øð 	.ús"   ‚B+¡B'¢A?B+Â!B)Â"B+Â)B+)iô  é	   )
Ú__name__Ú
__module__Ú__qualname__r   Úintr   r	   r   r
   r%   © r   r   r   r      sE   „ ñ+˜Gð +°3ð +ÈSð +ÐY]ó +ð
. Eð .°Gð .À4ð .ÈDô .r   r   c                   óh   — e Zd ZU eed<   dededdfd„Zdede	d	e
ddfd
„Zdeddfd„Zdededefd„Zy)r"   Úcontent_encodingr   r   r   Nc                 ón   — || _         || _        t        | _        i | _        d| _        d| _        d| _        y )NF)r   r   Úunattached_sendr   Úinitial_messageÚstartedÚcontent_encoding_setÚcontent_type_is_excluded)r   r   r   s      r   r   zIdentityResponder.__init__#   s7   € ØˆŒØ(ˆÔÜ)ˆŒ	Ø(*ˆÔØˆŒØ$)ˆÔ!Ø(-ˆÕ%r   r   r   r   c              ƒ   óh   K  — || _         | j                  ||| j                  «      ƒ d {  –—†  y 7 Œ­wr   )r   r   Úsend_with_compression)r   r   r   r   s       r   r%   zIdentityResponder.__call__,   s)   è ø€ ØˆŒ	Ø�h‰h�u˜g t×'AÑ'AÓB×BÒBús   ‚(2ª0«2Úmessagec              ƒ   óÊ  K  — |d   }|dk(  rT|| _         t        | j                   d   ¬«      }d|v | _        |j                  dd«      j	                  t
        «      | _        y |dk(  rh| j                  s| j                  rP| j                  s*d	| _        | j                  | j                   «      ƒ d {  –—†  | j                  |«      ƒ d {  –—†  y |dk(  �r×| j                  �sÊd	| _        |j                  d
d«      }|j                  dd«      }t        |«      | j                  k  r?|s=| j                  | j                   «      ƒ d {  –—†  | j                  |«      ƒ d {  –—†  y |s­| j                  |d¬«      }t        | j                   d   ¬«      }|j                  d«       ||d
   k7  r+| j                  |d<   t        t        |«      «      |d<   ||d
<   | j                  | j                   «      ƒ d {  –—†  | j                  |«      ƒ d {  –—†  y | j                  |d	¬«      }t        | j                   d   ¬«      }|j                  d«       ||d
   k7  r| j                  |d<   |d= ||d
<   | j                  | j                   «      ƒ d {  –—†  | j                  |«      ƒ d {  –—†  y |dk(  rT|j                  d
d«      }|j                  dd«      }| j                  ||¬«      |d
<   | j                  |«      ƒ d {  –—†  y |dk(  r=| j                  | j                   «      ƒ d {  –—†  | j                  |«      ƒ d {  –—†  y y 7 �Œ˜7 �Œ‚7 �Œ	7 �Œó7 �Œ`7 �ŒJ7 ŒÌ7 Œµ7 Œ^7 Œ77 Œ ­w)Nr   zhttp.response.startr#   )Úrawzcontent-encodingzcontent-typer   zhttp.response.bodyTÚbodyr   Ú	more_bodyF)r:   r   zContent-EncodingzContent-Lengthzhttp.response.pathsend)r0   r   r2   r    Ú
startswithÚDEFAULT_EXCLUDED_CONTENT_TYPESr3   r1   r   Úlenr   Úapply_compressionr   Úadd_vary_headerr-   Ústr)r   r6   Úmessage_typer#   r9   r:   s         r   r5   z'IdentityResponder.send_with_compression0   s   è ø€ Ø˜v‘ˆØÐ0Ò0ð $+ˆDÔ Ü $×"6Ñ"6°yÑ"AÔBˆGØ(:¸gÐ(EˆDÔ%Ø,3¯K©K¸ÈÓ,K×,VÑ,VÔWuÓ,vˆDÕ)ØÐ1Ò1°t×7PÒ7PÐTX×TqÒTqØ—<’<Ø#�”Ø—i‘i × 4Ñ 4Ó5×5Ð5Ø—)‘)˜GÓ$×$Ñ$ØÐ1Ó1¸$¿,»,ØˆDŒLØ—;‘;˜v sÓ+ˆDØŸ™ K°Ó7ˆIÜ�4‹y˜4×,Ñ,Ò,±Yà—i‘i × 4Ñ 4Ó5×5Ð5Ø—i‘i Ó(×(Ñ(Ùà×-Ñ-¨d¸eÐ-ÓD�ä(¨T×-AÑ-AÀ)Ñ-LÔM�Ø×'Ñ'Ð(9Ô:Ø˜7 6™?Ò*Ø26×2GÑ2G�GÐ.Ñ/Ü03´C¸³I³�GÐ,Ñ-Ø&*�G˜F‘Oà—i‘i × 4Ñ 4Ó5×5Ð5Ø—i‘i Ó(×(Ñ(ð ×-Ñ-¨d¸dÐ-ÓC�ä(¨T×-AÑ-AÀ)Ñ-LÔM�Ø×'Ñ'Ð(9Ô:Ø˜7 6™?Ò*Ø26×2GÑ2G�GÐ.Ñ/ØÐ 0Ð1Ø&*�G˜F‘Oà—i‘i × 4Ñ 4Ó5×5Ð5Ø—i‘i Ó(×(Ñ(ØÐ1Ò1à—;‘;˜v sÓ+ˆDØŸ™ K°Ó7ˆIà"×4Ñ4°TÀYÐ4ÓOˆG�F‰Oà—)‘)˜GÓ$×$Ñ$ØÐ5Ò5à—)‘)˜D×0Ñ0Ó1×1Ð1Ø—)‘)˜GÓ$×$Ñ$ð 6ðY 6ùØ$ùð 6ùØ(ùð 6ùØ(ùð 6øØ(øð %øð 2øØ$úsÊ   ‚B-M#Â/MÂ0M#ÃM
Ã	A;M#ÅMÅM#ÅMÅBM#Ç3MÇ4M#ÈMÈA?M#ÊMÊM#Ê%MÊ&AM#Ë>MË?(M#Ì'MÌ(M#Í M!ÍM#Í
M#ÍM#ÍM#ÍM#ÍM#ÍM#ÍM#ÍM#ÍM#Í!M#r9   r:   c                ó   — |S )zÚApply compression on the response body.

        If more_body is False, any compression file should be closed. If it
        isn't, it won't be closed automatically until all background tasks
        complete.
        r+   ©r   r9   r:   s      r   r>   z#IdentityResponder.apply_compressionm   s	   € ð ˆr   )r'   r(   r)   r@   Ú__annotations__r   r*   r   r	   r   r
   r%   r   r5   ÚbytesÚboolr>   r+   r   r   r"   r"       sv   … ØÓð.˜Gð .°3ð .¸4ó .ðC Eð C°Gð CÀ4ð CÈDó Cð;%°7ð ;%¸tó ;%ðz eð ¸4ð ÀEô r   r"   c            	       óf   ‡ — e Zd ZdZddedededdfˆ fd„Zded	ed
e	ddfˆ fd„Z
dededefd„Zˆ xZS )r!   r   r   r   r   r   Nc                 ó¦   •— t         ‰| �  ||«       t        j                  «       | _        t        j                  d| j                  |¬«      | _        y )NÚwb)ÚmodeÚfileobjr   )Úsuperr   ÚioÚBytesIOÚgzip_bufferr   ÚGzipFileÚ	gzip_file)r   r   r   r   Ú	__class__s       €r   r   zGZipResponder.__init__z   s;   ø€ Ü‰Ñ˜˜lÔ+äŸ:™:›<ˆÔÜŸ™¨D¸$×:JÑ:JÐZgÔhˆ�r   r   r   r   c              ƒ   óÈ   •K  — | j                   5  | j                  5  t        ‰| �  |||«      ƒ d {  –—†  d d d «       d d d «       y 7 Œ# 1 sw Y   ŒxY w# 1 sw Y   y xY w­wr   )rO   rQ   rL   r%   )r   r   r   r   rR   s       €r   r%   zGZipResponder.__call__€   s_   øè ø€ Ø×Ññ 	9˜tŸ~™~ñ 	9Ü‘'Ñ" 5¨'°4Ó8×8Ð8÷	9÷ 	9ð 	9Ø8ø÷	9ð 	9ú÷ 	9ð 	9üsA   ƒA"�A�A
²A³A
·A¿	A"ÁA
Á
A	ÁAÁAÁA"r9   r:   c                ó  — | j                   j                  |«       |s| j                   j                  «        | j                  j	                  «       }| j                  j                  d«       | j                  j                  «        |S )Nr   )rQ   ÚwriteÚcloserO   ÚgetvalueÚseekÚtruncaterC   s      r   r>   zGZipResponder.apply_compression„   sf   € Ø�‰×Ñ˜TÔ"ÙØ�N‰N× Ñ Ô"à×Ñ×(Ñ(Ó*ˆØ×Ñ×Ñ˜aÔ Ø×Ñ×!Ñ!Ô#àˆr   )r&   )r'   r(   r)   r-   r   r*   r   r	   r   r
   r%   rE   rF   r>   Ú__classcell__)rR   s   @r   r!   r!   w   sk   ø„ ØÐñi˜Gð i°3ð iÀsð iÐSWõ ið9 Eð 9°Gð 9À4ð 9ÈDõ 9ð	 eð 	¸4ð 	ÀE÷ 	r   r!   r6   r   c              ƒ   ó    K  — t        d«      ‚­w)Nzsend awaitable not set)ÚRuntimeError)r6   s    r   r/   r/   �   s   è ø€ Ü
Ð/Ó
0Ð0ùs   ‚)r   rM   Útypingr   Ústarlette.datastructuresr   r   Ústarlette.typesr   r   r   r	   r
   r<   r   r"   r!   r/   r+   r   r   ú<module>r`      sT   ðÛ Û 	Ý ç <ß BÕ Bà!7Ð ÷.ñ .÷*Tñ TônÐ%ô ð21 7ð 1¨xô 1r   