§
    ­˜ºh�r  ã                   ó|  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZ d dlmZmZ ddlmZmZ dd	lmZ dd
l m!Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, ddlm-Z-m.Z.m/Z/ ddlm0Z0 ddl1m2Z2m3Z3 d„ eD ¦   «         Z4dZ5dZ6erddl7m8Z8 ee9ef         Z:nej        j        Z: G d„ dej;        ¦  «        Z<d„ e<D ¦   «         Z= G d„ de:e&¦  «        Z> G d„ de>¦  «        Z?e*fddddddej@        dœdedee9         deeA         d eBd!ee9         d"ee3         d#e9d$e2d%e?fd&„ZCdS )'é    N)ÚExecutor)Ú
HTTPStatus)ÚSimpleCookie)ÚTYPE_CHECKINGÚAnyÚDictÚIteratorÚMutableMappingÚOptionalÚUnionÚcast)ÚCIMultiDictÚistré   )ÚhdrsÚpayload)ÚAbstractStreamWriter)ÚZLibCompressor)
ÚETAG_ANYÚQUOTED_ETAG_REÚETagÚHeadersMixinÚmust_be_empty_bodyÚparse_http_dateÚrfc822_formatted_timeÚsentinelÚshould_remove_content_lengthÚvalidate_etag_value)ÚSERVER_SOFTWAREÚHttpVersion10ÚHttpVersion11)ÚPayload)ÚJSONEncoderÚLooseHeadersc                 ó(   — i | ]}|j         |j        “ŒS © )ÚvalueÚphrase)Ú.0Úhttp_statuss     ú\/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/aiohttp/web_response.pyú
<dictcomp>r,   ,   s    € ÐVÐVÐV¸K�+Ô# [Ô%7ÐVÐVÐVó    i   )ÚContentCodingÚStreamResponseÚResponseÚjson_response)ÚBaseRequestc                   ó   — e Zd ZdZdZdZdS )r.   ÚdeflateÚgzipÚidentityN)Ú__name__Ú
__module__Ú__qualname__r4   r5   r6   r&   r-   r+   r.   r.   ;   s   € € € € € ð
 €GØ€DØ€H€H€Hr-   r.   c                 ó   — i | ]
}|j         |“ŒS r&   ©r'   )r)   Úcodings     r+   r,   r,   E   s   € ÐDÐDÐD¨F�6”< ÐDÐDÐDr-   c                   ó¼  ‡ — e Zd ZU edeeef         ed<   dZdZ	dZ
ee         ed<   dZeed<   dZeed<   dZee         ed<   dZee         ed	<   dZed
         ed<   dZee         ed<   dZeed<   dZee         ed<   dZdZee         ed<   dZdddddœdedee         dee         deee                  ddf
d„Ze defd„¦   «         Z!e dbd„¦   «         Z"e defd„¦   «         Z#e defd„¦   «         Z$e defd„¦   «         Z%e defd„¦   «         Z&	 dcdedee         ddfd „Z'dedee         ddfd!„Z(e dee         fd"„¦   «         Z)ddd#„Z*e defd$„¦   «         Z+e defd%„¦   «         Z,dcd&ee         ddfd'„Z-	 	 ded(eeeef                  d)ee         ddfd*„Z.e dfd,„¦   «         Z/e defd-„¦   «         Z0dddd.dddddd/œ	d0ed1ed2ee         d3ee         d4eeeef                  d5ed6ee         d7ee         d8ee         d9ee         d:ee         ddfd;„Z1dd.dddd<œd0ed3ee         d5ed6ee         d7ee         d9ee         ddfd=„Z2e dee         fˆ fd>„¦   «         Z3e3j4        d1ee         ddfd?„¦   «         Z3e defˆ fd@„¦   «         Z5e5j4        d1eddfdA„¦   «         Z5e dee         fˆ fdB„¦   «         Z6e6j4        d1ee         ddfdC„¦   «         Z6e dee7j7                 fdD„¦   «         Z8e8j4        d1eeee9e7j7        ef                  ddfdE„¦   «         Z8e dee:         fdF„¦   «         Z;e;j4        d1eee:ef                  ddfdG„¦   «         Z;e<j=        fdHe>ddfdI„Z?dJeddfdK„Z@dgdM„ZAdLd
dee         fdN„ZBdLd
defdO„ZCdddP„ZDdddQ„ZEdReeeeFf         ddfdS„ZGdddT„ZHdhdReddfdV„ZIdefdW„ZJdXedeKfdY„ZLdXed1eKddfdZ„ZMdXeddfd[„ZNdefd\„ZOdePe         fd]„ZQdefd^„ZRd_eSdefd`„ZTdefda„ZUˆ xZVS )ir/   NÚ_bodyTÚ_keep_aliveFÚ_chunkedÚ_compressionÚ_compression_strategyÚ_compression_forcer2   Ú_reqÚ_payload_writerÚ	_eof_sentÚ_must_be_empty_bodyr   Ú_cookieséÈ   )ÚstatusÚreasonÚheadersÚ_real_headersrJ   rK   rL   rM   Úreturnc                ó¨   — i | _         |�|| _        n*|�t          |¦  «        | _        nt          ¦   «         | _        |                      ||¦  «         dS )a;  Initialize a new stream response object.

        _real_headers is an internal parameter used to pass a pre-populated
        headers object. It is used by the `Response` class to avoid copying
        the headers when creating a new response object. It is not intended
        to be used by external code.
        N)Ú_stateÚ_headersr   Ú_set_status)ÚselfrJ   rK   rL   rM   s        r+   Ú__init__zStreamResponse.__init__^   sX   € ð ')ˆŒàÐ$Ø)ˆDŒMˆMØÐ Ý.9¸'Ñ.BÔ.BˆDŒMˆMå'™MœMˆDŒMà×Ò˜ Ñ(Ô(Ð(Ð(Ð(r-   c                 ó"   — | j         p| j        d uS ©N)rF   rE   ©rS   s    r+   ÚpreparedzStreamResponse.preparedx   s   € àŒ~ÐA Ô!5¸TÐ!AÐAr-   úOptional[asyncio.Task[None]]c                 ó,   — | j         r| j         j        S d S rV   )rD   ÚtaskrW   s    r+   r[   zStreamResponse.task|   s   € àŒ9ð 	Ø”9”>Ð!à�4r-   c                 ó   — | j         S rV   )Ú_statusrW   s    r+   rJ   zStreamResponse.statusƒ   ó
   € àŒ|Ðr-   c                 ó   — | j         S rV   )r@   rW   s    r+   ÚchunkedzStreamResponse.chunked‡   ó
   € àŒ}Ðr-   c                 ó   — | j         S rV   )rA   rW   s    r+   ÚcompressionzStreamResponse.compression‹   ó   € àÔ Ð r-   c                 ó   — | j         S rV   )Ú_reasonrW   s    r+   rK   zStreamResponse.reason�   r^   r-   c                 óT   — | j         r
J d¦   «         ‚|                      ||¦  «         d S )NzGCannot change the response status code after the headers have been sent)rX   rR   ©rS   rJ   rK   s      r+   Ú
set_statuszStreamResponse.set_status“   sH   € ð ”ð	Uð 	UàTñ	Uô 	Uð 	Uð 	×Ò˜ Ñ(Ô(Ð(Ð(Ð(r-   c                 ó¨   — t          |¦  «        | _        |€!t                               | j        d¦  «        }nd|v rt	          d¦  «        ‚|| _        d S )NÚ ú
zReason cannot contain \n)Úintr]   ÚREASON_PHRASESÚgetÚ
ValueErrorrf   rh   s      r+   rR   zStreamResponse._set_status�   sP   € Ý˜6‘{”{ˆŒØˆ>Ý#×'Ò'¨¬°bÑ9Ô9ˆFˆFØ�Vˆ^ˆ^ÝÐ8Ñ9Ô9Ð9ØˆŒˆˆr-   c                 ó   — | j         S rV   ©r?   rW   s    r+   Ú
keep_alivezStreamResponse.keep_alive¥   s   € àÔÐr-   c                 ó   — d| _         d S )NFrr   rW   s    r+   Úforce_closezStreamResponse.force_close©   s   € Ø ˆÔÐÐr-   c                 ó   — | j         S rV   )Ú_body_lengthrW   s    r+   Úbody_lengthzStreamResponse.body_length¬   rd   r-   c                 ó`   — t          j        dt          ¦  «         | j        sJ ‚| j        j        S )Nzoutput_length is deprecated)ÚwarningsÚwarnÚDeprecationWarningrE   Úbuffer_sizerW   s    r+   Úoutput_lengthzStreamResponse.output_length°   s1   € åŒÐ3Õ5GÑHÔHÐHØÔ#Ð#Ð#Ð#ØÔ#Ô/Ð/r-   Ú
chunk_sizec                 ó�   — t           j        | j        v rt          d¦  «        ‚|�t	          j        dt          ¦  «         d| _        dS )z,Enables automatic chunked transfer encoding.z>You can't enable chunked encoding when a content length is setNzChunk size is deprecated #1615T)r   ÚCONTENT_LENGTHrQ   ÚRuntimeErrorrz   r{   r|   r@   )rS   r   s     r+   Úenable_chunked_encodingz&StreamResponse.enable_chunked_encoding¶   sN   € åÔ $¤-Ð/Ð/ÝØPñô ð ð Ð!ÝŒMÐ:Õ<NÑOÔOÐOØˆŒˆˆr-   ÚforceÚstrategyc                 ó  — t          |t          ¦  «        r5|rt          j        nt          j        }t          j        dt          ¦  «         n!|�t          |t          ¦  «        s
J d¦   «         ‚d| _        || _	        || _
        dS )z&Enables response compression encoding.z+Using boolean for force is deprecated #3318Nz1force should one of None, bool or ContentEncodingT)Ú
isinstanceÚboolr.   r4   r6   rz   r{   r|   rA   rC   rB   )rS   r„   r…   s      r+   Úenable_compressionz!StreamResponse.enable_compressionÀ   s¦   € õ �e�TÑ"Ô"ð 	CØ-2ÐN•MÔ)Ð)½Ô8NˆEÝŒMØ=Õ?Qñô ð ð ð ÐÝØ•}ñô ð Cð CàBñCô Cð Cð !ˆÔØ"'ˆÔØ%-ˆÔ"Ð"Ð"r-   úCIMultiDict[str]c                 ó   — | j         S rV   )rQ   rW   s    r+   rL   zStreamResponse.headersÕ   ra   r-   c                 óD   — | j         €t          ¦   «         | _         | j         S rV   )rH   r   rW   s    r+   ÚcookieszStreamResponse.cookiesÙ   s   € àŒ=Ð Ý(™NœNˆDŒMØŒ}Ðr-   ú/)	ÚexpiresÚdomainÚmax_ageÚpathÚsecureÚhttponlyÚversionÚsamesiteÚpartitionedÚnamer'   r�   r�   r‘   r’   r“   r”   r•   r–   r—   c       	         óJ  — | j         €t          ¦   «         | _         || j         |<   | j         |         }|�||d<   n|                     d¦  «        dk    r|d= |�||d<   |�t          |¦  «        |d<   nd|v r|d= ||d<   |�||d<   |�||d<   |	�|	|d	<   |
�|
|d
<   |�||d<   dS dS )zŸSet or update response cookie.

        Sets new cookie or updates existent with new value.
        Also updates only those params which are not None.
        Nr�   úThu, 01 Jan 1970 00:00:00 GMTr�   zmax-ager’   r“   r”   r•   r–   r—   )rH   r   ro   Ústr)rS   r˜   r'   r�   r�   r‘   r’   r“   r”   r•   r–   r—   Úcs                r+   Ú
set_cookiezStreamResponse.set_cookieß   sø   € ð( Œ=Ð Ý(™NœNˆDŒMà#ˆŒ�dÑØŒM˜$ÔˆàÐØ"ˆAˆi‰LˆLØ�UŠU�9ÑÔÐ!@Ò@Ð@Ø�)�àÐØ ˆAˆh‰KàÐÝ˜w™<œ<ˆAˆi‰LˆLØ˜!ˆ^ˆ^Ø�)�àˆˆ&‰	àÐØ ˆAˆh‰KØÐØ$ˆAˆj‰MØÐØ"ˆAˆi‰LØÐØ$ˆAˆj‰MàÐ"Ø*ˆAˆmÑÐÐð #Ð"r-   )r�   r’   r“   r”   r–   c                ó†   — | j         �| j                              |d¦  «         |                      |ddd|||||¬¦	  «	         dS )zBDelete cookie.

        Creates new empty expired cookie.
        Nrk   r   rš   )r‘   r�   r�   r’   r“   r”   r–   )rH   Úpopr�   )rS   r˜   r�   r’   r“   r”   r–   s          r+   Ú
del_cookiezStreamResponse.del_cookie  sd   € ð Œ=Ð$ØŒM×Ò˜d DÑ)Ô)Ð)Ø�ŠØØØØ3ØØØØØð 	ñ 
	
ô 
	
ð 
	
ð 
	
ð 
	
r-   c                 ó*   •— t          ¦   «         j        S rV   )ÚsuperÚcontent_length©rS   Ú	__class__s    €r+   r£   zStreamResponse.content_length1  s   ø€ õ ‰wŒwÔ%Ð%r-   c                 óä   — |�Ht          |¦  «        }| j        rt          d¦  «        ‚t          |¦  «        | j        t
          j        <   d S | j                             t
          j        d ¦  «         d S )Nz<You can't set content length when chunked encoding is enable)rm   r@   r‚   r›   rQ   r   r�   rŸ   ©rS   r'   s     r+   r£   zStreamResponse.content_length6  sp   € àÐÝ˜‘J”JˆEØŒ}ð Ý"ØRñô ð õ 25°U±´ˆDŒM�$Ô-Ñ.Ð.Ð.àŒM×Ò�dÔ1°4Ñ8Ô8Ð8Ð8Ð8r-   c                 ó*   •— t          ¦   «         j        S rV   )r¢   Úcontent_typer¤   s    €r+   r©   zStreamResponse.content_typeB  s   ø€ õ ‰wŒwÔ#Ð#r-   c                 ód   — | j          t          |¦  «        | _        |                      ¦   «          d S rV   )r©   r›   Ú_content_typeÚ_generate_content_type_headerr§   s     r+   r©   zStreamResponse.content_typeG  s1   € àÔÐÝ  ™ZœZˆÔØ×*Ò*Ñ,Ô,Ð,Ð,Ð,r-   c                 ó*   •— t          ¦   «         j        S rV   )r¢   Úcharsetr¤   s    €r+   r®   zStreamResponse.charsetM  s   ø€ õ ‰wŒwŒÐr-   c                 ó  — | j         }|dk    rt          d¦  «        ‚| j        €J ‚|€| j                             dd ¦  «         n)t	          |¦  «                             ¦   «         | j        d<   |                      ¦   «          d S )Núapplication/octet-streamzYSetting charset for application/octet-stream doesn't make sense, setup content_type firstr®   )r©   r‚   Ú_content_dictrŸ   r›   Úlowerr¬   )rS   r'   Úctypes      r+   r®   zStreamResponse.charsetR  s–   € àÔ!ˆØÐ.Ò.Ð.Ýð?ñô ð ð Ô!Ð-Ð-Ð-Øˆ=ØÔ×"Ò" 9¨dÑ3Ô3Ð3Ð3å,/°©J¬J×,<Ò,<Ñ,>Ô,>ˆDÔ˜yÑ)Ø×*Ò*Ñ,Ô,Ð,Ð,Ð,r-   c                 ód   — t          | j                             t          j        ¦  «        ¦  «        S )zuThe value of Last-Modified HTTP header, or None.

        This header is represented as a `datetime` object.
        )r   rQ   ro   r   ÚLAST_MODIFIEDrW   s    r+   Úlast_modifiedzStreamResponse.last_modifieda  s%   € õ ˜tœ}×0Ò0µÔ1CÑDÔDÑEÔEÐEr-   c                 ór  — |€'| j                              t          j        d ¦  «         d S t	          |t
          t          f¦  «        rMt          j        dt          j	        t          j        |¦  «        ¦  «        ¦  «        | j         t          j        <   d S t	          |t          j        ¦  «        r;t          j        d|                     ¦   «         ¦  «        | j         t          j        <   d S t	          |t          ¦  «        r|| j         t          j        <   d S dt          |¦  «        j        › �}t#          |¦  «        ‚)Nz%a, %d %b %Y %H:%M:%S GMTz$Unsupported type for last_modified: )rQ   rŸ   r   rµ   r‡   rm   ÚfloatÚtimeÚstrftimeÚgmtimeÚmathÚceilÚdatetimeÚutctimetupler›   Útyper7   Ú	TypeError)rS   r'   Úmsgs      r+   r¶   zStreamResponse.last_modifiedi  s  € ð ˆ=ØŒM×Ò�dÔ0°$Ñ7Ô7Ð7Ð7Ð7Ý˜¥¥U˜|Ñ,Ô,ð 	!Ý04´Ø+­T¬[½¼À5Ñ9IÔ9IÑ-JÔ-Jñ1ô 1ˆDŒM�$Ô,Ñ-Ð-Ð-õ ˜�xÔ0Ñ1Ô1ð 	!Ý04´Ø+¨U×-?Ò-?Ñ-AÔ-Añ1ô 1ˆDŒM�$Ô,Ñ-Ð-Ð-õ ˜�sÑ#Ô#ð 	!Ø05ˆDŒM�$Ô,Ñ-Ð-Ð-àO½¸e¹¼Ô9MÐOÐOˆCÝ˜C‘.”.Ð r-   c                 ó0  — | j                              t          j        ¦  «        }|sd S |t          k    rt          t          ¬¦  «        S t          j        |¦  «        }|sd S |                     dd¦  «        \  }}t          t          |¦  «        |¬¦  «        S )Nr;   r   é   )Úis_weakr'   )
rQ   ro   r   ÚETAGr   r   r   Ú	fullmatchÚgrouprˆ   )rS   Úquoted_valueÚmatchrÅ   r'   s        r+   ÚetagzStreamResponse.etag}  s™   € à”}×(Ò(­¬Ñ3Ô3ˆØð 	(Ø�4Ø�XÒ%Ð%Ý�hÐ'Ñ'Ô'Ð'ÝÔ(¨Ñ6Ô6ˆØð 	Ø�4ØŸš Q¨Ñ*Ô*‰ˆ�ÝÝ˜‘M”MØð
ñ 
ô 
ð 	
r-   c                 ó¼  — |€'| j                              t          j        d ¦  «         d S t	          |t
          ¦  «        r|t          k    s%t	          |t          ¦  «        r+|j        t          k    rt          | j         t          j        <   d S t	          |t
          ¦  «        r)t          |¦  «         d|› d�| j         t          j        <   d S t	          |t          ¦  «        rat	          |j        t
          ¦  «        rGt          |j        ¦  «         |j
        rd|j        › d�n
d|j        › d�}|| j         t          j        <   d S t          dt          |¦  «        › d�¦  «        ‚)Nú"zW/"zUnsupported etag type: z . etag must be str, ETag or None)rQ   rŸ   r   rÆ   r‡   r›   r   r   r'   r   rÅ   rp   rÀ   )rS   r'   Ú	hdr_values      r+   rË   zStreamResponse.etag�  sV  € àˆ=ØŒM×Ò�dœi¨Ñ.Ô.Ð.Ð.Ð.Ý˜¥Ñ$Ô$ð 	¨µ(Ò):Ð):Ý�u�dÑ#Ô#ð *;Ø(-¬µxÒ(?Ð(?å'/ˆDŒM�$œ)Ñ$Ð$Ð$Ý˜�sÑ#Ô#ð 	Ý Ñ&Ô&Ð&Ø'3¨5 | | |ˆDŒM�$œ)Ñ$Ð$Ð$Ý˜�tÑ$Ô$ð 	­°E´KÅÑ)EÔ)Eð 	Ý ¤Ñ,Ô,Ð,Ø05´ÐUÐ,˜eœkÐ,Ð,Ð,Ð,ÐCUÀuÄ{ÐCUÐCUÐCUˆIØ'0ˆDŒM�$œ)Ñ$Ð$Ð$åð2­$¨u©+¬+ð 2ð 2ð 2ñô ð r-   ÚCONTENT_TYPEc                 óØ   — | j         €J ‚| j        €J ‚d                     d„ | j                              ¦   «         D ¦   «         ¦  «        }|r| j        dz   |z   }n| j        }|| j        |<   d S )Nz; c              3   ó*   K  — | ]\  }}|› d |› �V — ŒdS )ú=Nr&   )r)   ÚkÚvs      r+   ú	<genexpr>z?StreamResponse._generate_content_type_header.<locals>.<genexpr>§  s0   è è € ÐMÐM©$¨!¨Q˜a˜:˜: !˜:˜:ÐMÐMÐMÐMÐMÐMr-   )r±   r«   ÚjoinÚitemsrQ   )rS   rÏ   Úparamsr³   s       r+   r¬   z,StreamResponse._generate_content_type_header¢  s‡   € ð Ô!Ð-Ð-Ð-ØÔ!Ð-Ð-Ð-Ø—’ÐMÐM°$Ô2D×2JÒ2JÑ2LÔ2LÐMÑMÔMÑMÔMˆØð 	'ØÔ&¨Ñ-°Ñ6ˆEˆEàÔ&ˆEØ&+ˆŒ�lÑ#Ð#Ð#r-   r<   c              ƒ   ó  K  — |t           j        u rd S | j        €J ‚|j        | j        t
          j        <   | j                             |j        | j        ¦  «         | j         	                    t
          j
        d ¦  «         d S rV   )r.   r6   rE   r'   rQ   r   ÚCONTENT_ENCODINGr‰   rB   Úpopallr�   )rS   r<   s     r+   Ú_do_start_compressionz$StreamResponse._do_start_compression®  s�   è è € Ø•]Ô+Ð+Ð+ØˆFØÔ#Ð/Ð/Ð/Ø/5¬|ˆŒ•dÔ+Ñ,ØÔ×/Ò/ØŒL˜$Ô4ñ	
ô 	
ð 	
ð
 	Œ×Ò�TÔ0°$Ñ7Ô7Ð7Ð7Ð7r-   Úrequestc              ƒ   óL  K  — | j         r"|                      | j         ¦  «        ƒ d {V —† d S |j                             t          j        d¦  «                             ¦   «         }t                               ¦   «         D ]'\  }}||v r|                      |¦  «        ƒ d {V —†  d S Œ(d S )Nrk   )	rC   rÜ   rL   ro   r   ÚACCEPT_ENCODINGr²   ÚCONTENT_CODINGSr×   )rS   rÝ   Úaccept_encodingr'   r<   s        r+   Ú_start_compressionz!StreamResponse._start_compressionº  sÍ   è è € ØÔ"ð 	Ø×,Ò,¨TÔ-DÑEÔEÐEÐEÐEÐEÐEÐEÐEØˆFð "œ/×-Ò-­dÔ.BÀBÑGÔG×MÒMÑOÔOˆÝ,×2Ò2Ñ4Ô4ð 	ð 	‰MˆE�6Ø˜Ð'Ð'Ø×0Ò0°Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø��ð (ð	ð 	r-   c              ƒ   ó¨   K  — | j         rd S | j        �| j        S t          |j        | j        ¦  «        | _        |                      |¦  «        ƒ d {V —†S rV   )rF   rE   r   ÚmethodrJ   rG   Ú_start)rS   rÝ   s     r+   ÚpreparezStreamResponse.prepareÆ  sa   è è € ØŒ>ð 	Ø�4ØÔÐ+ØÔ'Ð'Ý#5°g´nÀdÄkÑ#RÔ#RˆÔ Ø—[’[ Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)r-   c              ƒ   óÒ   K  — || _         |j        x}| _        |                      ¦   «         ƒ d {V —† |                     | ¦  «        ƒ d {V —† |                      ¦   «         ƒ d {V —† |S rV   )rD   rE   Ú_prepare_headersÚ_prepare_hookÚ_write_headers)rS   rÝ   Úwriters      r+   rå   zStreamResponse._startÎ  s�   è è € ØˆŒ	Ø(/Ô(?Ð?ˆ�Ô%à×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ø×#Ò# DÑ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø×!Ò!Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#àˆr-   c              ƒ   ó\  K  — | j         }|€J ‚| j        }|€J ‚| j        }|€|j        }|| _        |j        }| j        }| j        rZ| j                             ¦   «         D ]@}|                     d¬¦  «        dd …         }| 	                    t          j        |¦  «         ŒA| j        r|                      |¦  «        ƒ d {V —† | j        r]|t          k    r't!          d                     |j        ¦  «        ¦  «        ‚| j        s#|                     ¦   «          d|t          j        <   nY| j        rR| j        |_        |j        €?|t          k    r+| j        s#|                     ¦   «          d|t          j        <   n	| j        sd}| j        rQt          j        |v r't3          |j        | j        ¦  «        r|t          j        = t          j        |v r|t          j        = n9| j        r|j        n| j        dk    r |                     t          j        d¦  «         |                     t          j        t?          ¦   «         ¦  «         |                     t          j         tB          ¦  «         t          j"        |vr<|r|tF          k    rd	|t          j"        <   d S d S |t          k    rd
|t          j"        <   d S d S d S )Nrk   )Úheaderr   z@Using chunked encoding is forbidden for HTTP/{0.major}.{0.minor}r`   Fr   r°   z
keep-aliveÚclose)$rD   rE   r?   rs   r•   rQ   rH   ÚvaluesÚoutputÚaddr   Ú
SET_COOKIErA   râ   r@   r!   r‚   ÚformatrG   Úenable_chunkingÚTRANSFER_ENCODINGÚ_length_checkr£   Úlengthr�   r   rä   rJ   Ú
setdefaultrÏ   ÚDATEr   ÚSERVERr   Ú
CONNECTIONr    )rS   rÝ   rë   rs   r•   rL   Úcookier'   s           r+   rè   zStreamResponse._prepare_headersØ  sæ  è è € Ø”)ˆØÐ"Ð"Ð"ØÔ%ˆØÐ!Ð!Ð!ØÔ%ˆ
ØÐØ Ô+ˆJØ%ˆÔà”/ˆà”-ˆØŒ=ð 	4Øœ-×.Ò.Ñ0Ô0ð 4ð 4�ØŸš¨R˜Ñ0Ô0°°°Ô4�Ø—’�DœO¨UÑ3Ô3Ð3Ð3àÔð 	3Ø×)Ò)¨'Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2àŒ=ð 	'Ø�-Ò'Ð'Ý"ð3ß39²6¸'¼/Ñ3JÔ3Jñô ð ð Ô+ð <Ø×&Ò&Ñ(Ô(Ð(Ø2;��Ô.Ñ/øØÔð 	'Ø Ô/ˆFŒMØŒ}Ð$Ø�mÒ+Ð+ØÔ3ð DØ×.Ò.Ñ0Ô0Ð0Ø:C˜¥Ô 6Ñ7øØÔ1ð 'Ø!&�Jð Ô#ð 	NÝÔ" gÐ-Ð-Õ2NØ” ¤ñ3ô 3Ð-ð �DÔ/Ð0õ Ô%¨Ð0Ð0Ø�DÔ2Ð3øØ#Ô1ÐJˆfŒmˆm°tÔ7JÈqÒPÐPà×Ò�tÔ0Ð2LÑMÔMÐMØ×Ò�4œ9Õ&;Ñ&=Ô&=Ñ>Ô>Ð>Ø×Ò�4œ;­Ñ8Ô8Ð8õ Œ? 'Ð)Ð)Øð 3Ø�mÒ+Ð+Ø/;�G�DœOÑ,Ð,Ð,ð ,Ð+à�MÒ)Ð)Ø+2��œÑ(Ð(Ð(ð *Ð)ð *Ð)r-   c              ƒ   ó  K  — | j         }|€J ‚| j        }|€J ‚|j        }d|d         › d|d         › d| j        › d| j        › �}|                     || j        ¦  «        ƒ d {V —† | j        r|                     ¦   «          d S d S )NzHTTP/r   ú.r   ú )	rD   rE   r•   r]   rf   Úwrite_headersrQ   Ú_send_headers_immediatelyÚsend_headers)rS   rÝ   rë   r•   Ústatus_lines        r+   rê   zStreamResponse._write_headers  s¼   è è € Ø”)ˆØÐ"Ð"Ð"ØÔ%ˆØÐ!Ð!Ð!à”/ˆØU˜g aœjÐUÐU¨7°1¬:ÐUÐU¸¼ÐUÐUÀtÄ|ÐUÐUˆØ×"Ò" ;°´Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>àÔ)ð 	"Ø×ÒÑ!Ô!Ð!Ð!Ð!ð	"ð 	"r-   Údatac              ƒ   ó  K  — t          |t          t          t          f¦  «        sJ dt	          |¦  «        z  ¦   «         ‚| j        rt          d¦  «        ‚| j        €t          d¦  «        ‚| j                             |¦  «        ƒ d {V —† d S )Nú#data argument must be byte-ish (%r)z%Cannot call write() after write_eof()z$Cannot call write() before prepare())	r‡   ÚbytesÚ	bytearrayÚ
memoryviewrÀ   rF   r‚   rE   Úwrite©rS   r  s     r+   r
  zStreamResponse.write&  s©   è è € ÝØ•5�)¥ZÐ0ñ
ô 
ð 	>ð 	>à0µ4¸±:´:Ñ=ñ	>ô 	>ð 	>ð Œ>ð 	HÝÐFÑGÔGÐGØÔÐ'ÝÐEÑFÔFÐFàÔ"×(Ò(¨Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.r-   c              ƒ   óÄ   K  — | j         r
J d¦   «         ‚| j        €
J d¦   «         ‚t          j        dt          d¬¦  «         | j                             ¦   «         ƒ d {V —† d S )NzEOF has already been sentúResponse has not been startedz2drain method is deprecated, use await resp.write()rÄ   )Ú
stacklevel)rF   rE   rz   r{   r|   ÚdrainrW   s    r+   r  zStreamResponse.drain2  s†   è è € Ø”>Ð>Ð>Ð#>Ñ>Ô>Ð>ØÔ#Ð/Ð/Ð1PÑ/Ô/Ð/ÝŒØ@ÝØð	
ñ 	
ô 	
ð 	
ð
 Ô"×(Ò(Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*r-   r-   c              ƒ   óB  K  — t          |t          t          t          f¦  «        sJ dt	          |¦  «        z  ¦   «         ‚| j        rd S | j        €
J d¦   «         ‚| j                             |¦  «        ƒ d {V —† d| _        d | _        | j        j	        | _
        d | _        d S )Nr  r  T)r‡   r  r  r	  rÀ   rF   rE   Ú	write_eofrD   Úoutput_sizerw   r  s     r+   r  zStreamResponse.write_eof<  sÂ   è è € ÝØ•5�)¥ZÐ0ñ
ô 
ð 	>ð 	>à0µ4¸±:´:Ñ=ñ	>ô 	>ð 	>ð Œ>ð 	ØˆFàÔ#Ð/Ð/Ð1PÑ/Ô/Ð/àÔ"×,Ò,¨TÑ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ØˆŒØˆŒ	Ø Ô0Ô<ˆÔØ#ˆÔÐÐr-   c                 óª   — | j         rd}n/| j        r&| j        €J ‚| j        j        › d| j        j        › d�}nd}d| j        j        › d| j        › d|› d�S )NÚeofrÿ   znot preparedú<ú>)rF   rX   rD   rä   r’   r¥   r7   rK   )rS   Úinfos     r+   Ú__repr__zStreamResponse.__repr__L  sy   € ØŒ>ð 	"ØˆDˆDØŒ]ð 	"Ø”9Ð(Ð(Ð(Ø”iÔ&Ð:Ð:¨¬¬Ð:Ð:Ð:ˆDˆDà!ˆDØB�4”>Ô*ÐBÐB¨T¬[ÐBÐB¸4ÐBÐBÐBÐBr-   Úkeyc                 ó   — | j         |         S rV   ©rP   ©rS   r  s     r+   Ú__getitem__zStreamResponse.__getitem__V  s   € ØŒ{˜3ÔÐr-   c                 ó   — || j         |<   d S rV   r  )rS   r  r'   s      r+   Ú__setitem__zStreamResponse.__setitem__Y  s   € Ø ˆŒ�CÑÐÐr-   c                 ó   — | j         |= d S rV   r  r  s     r+   Ú__delitem__zStreamResponse.__delitem__\  s   € ØŒK˜ÐÐÐr-   c                 ó*   — t          | j        ¦  «        S rV   )ÚlenrP   rW   s    r+   Ú__len__zStreamResponse.__len___  s   € Ý�4”;ÑÔÐr-   c                 ó*   — t          | j        ¦  «        S rV   )ÚiterrP   rW   s    r+   Ú__iter__zStreamResponse.__iter__b  s   € Ý�D”KÑ Ô Ð r-   c                 ó:   — t          t          | ¦  «        ¦  «        S rV   )ÚhashÚidrW   s    r+   Ú__hash__zStreamResponse.__hash__e  s   € Ý•B�t‘H”H‰~Œ~Ðr-   Úotherc                 ó
   — | |u S rV   r&   )rS   r,  s     r+   Ú__eq__zStreamResponse.__eq__h  s   € Ø�uˆ}Ðr-   c                 ó   — dS )NTr&   rW   s    r+   Ú__bool__zStreamResponse.__bool__k  s   € Øˆtr-   )rN   rY   rV   )rN   N)NN)rN   rŠ   )rÝ   r2   rN   N©r-   )Wr7   r8   r9   r   r  r  r"   Ú__annotations__rö   r>   r?   r   rˆ   r@   rA   rB   rm   rC   r.   rD   rE   r   rF   rG   rw   rH   r   r  r›   r$   r   rT   ÚpropertyrX   r[   rJ   r`   rc   rK   ri   rR   rs   ru   rx   r~   rƒ   r‰   rL   r�   r�   r    r£   Úsetterr©   r®   r¾   r¶   r¸   r   rË   r   rÏ   r   r¬   rÜ   râ   ræ   rå   rè   rê   r	  r
  r  r  r  r   r  r  r!  r$  r	   r'  r+  Úobjectr.  r0  Ú__classcell__©r¥   s   @r+   r/   r/   L   s
  ø€ € € € € € à��u˜i¨Ð0Ô1Ð1Ð1Ñ1Ø€MØ€EØ"&€K�˜$”Ð&Ð&Ñ&Ø€HˆdÐÐÑØ€L�$ÐÐÑØ+/Ð˜8 Cœ=Ð/Ð/Ñ/Ø26Ð˜ Ô/Ð6Ð6Ñ6Ø$(€Dˆ(�=Ô
!Ð(Ð(Ñ(Ø6:€O�XÐ2Ô3Ð:Ð:Ñ:Ø€IˆtÐÐÑØ*.Ð˜ $œÐ.Ð.Ñ.Ø€LØ'+€Hˆh�|Ô$Ð+Ð+Ñ+Ø $Ðð
 Ø $Ø*.Ø48ð)ð )ð )ð ð)ð ˜”ð	)ð
 ˜,Ô'ð)ð   ¨CÔ 0Ô1ð)ð 
ð)ð )ð )ð )ð4 ðB˜$ð Bð Bð Bñ „XðBð ðð ð ñ „Xðð ð˜ð ð ð ñ „Xðð ð˜ð ð ð ñ „Xðð ð!˜Tð !ð !ð !ñ „Xð!ð ð˜ð ð ð ñ „Xðð !%ð)ð )àð)ð ˜”ð)ð 
ð	)ð )ð )ð )ð #ð ¨x¸¬}ð Àð ð ð ð ð ð ˜H TœNð  ð  ð  ñ „Xð ð!ð !ð !ð !ð ð!˜Sð !ð !ð !ñ „Xð!ð ð0˜sð 0ð 0ð 0ñ „Xð0ð
ð °(¸3´-ð È4ð ð ð ð ð 7;Ø"&ð.ð .à˜˜d MÐ1Ô2Ô3ð.ð ˜3”-ð.ð 
ð	.ð .ð .ð .ð* ðð ð ñ „Xðð ð˜ð ð ð ñ „Xðð "&Ø $Ø-1ØØ!%Ø#'Ø!%Ø"&Ø&*ð3+ð 3+ð 3+àð3+ð ð3+ð
 ˜#”ð3+ð ˜”ð3+ð ˜%  S œ/Ô*ð3+ð ð3+ð ˜”ð3+ð ˜4”.ð3+ð ˜#”ð3+ð ˜3”-ð3+ð ˜d”^ð3+ð 
ð3+ð 3+ð 3+ð 3+ðr !%ØØ!%Ø#'Ø"&ð
ð 
ð 
àð
ð ˜”ð	
ð
 ð
ð ˜”ð
ð ˜4”.ð
ð ˜3”-ð
ð 
ð
ð 
ð 
ð 
ð: ð& ¨¤ð &ð &ð &ð &ð &ñ „Xð&ð Ôð	9 H¨S¤Mð 	9°dð 	9ð 	9ð 	9ñ Ôð	9ð ð$˜cð $ð $ð $ð $ð $ñ „Xð$ð Ôð- #ð -¨$ð -ð -ð -ñ Ôð-ð
 ð˜ #œð ð ð ð ð ñ „Xðð „^ð-˜X cœ]ð -¨tð -ð -ð -ñ „^ð-ð ðF˜x¨Ô(9Ô:ð Fð Fð Fñ „XðFð Ôð!Ø˜e C¨°Ô0AÀ3Ð$FÔGÔHð!à	ð!ð !ð !ñ Ôð!ð& ð
�h˜t”nð 
ð 
ð 
ñ „Xð
ð 
„[ð˜( 5¨¨s¨Ô#3Ô4ð ¸ð ð ð ñ „[ðð* $(Ô#4ð
,ð 
,Ø ð
,à	ð
,ð 
,ð 
,ð 
,ð
8°-ð 
8ÀDð 
8ð 
8ð 
8ð 
8ð
ð 
ð 
ð 
ð* ]ð *°xÐ@TÔ7Uð *ð *ð *ð *ð Mð Ð6Jð ð ð ð ð?3ð ?3ð ?3ð ?3ðB"ð "ð "ð "ð
/  e¨Y¸
Ð&BÔ Cð 
/Èð 
/ð 
/ð 
/ð 
/ð+ð +ð +ð +ð$ð $ Eð $°Dð $ð $ð $ð $ð C˜#ð Cð Cð Cð Cð ˜sð   sð  ð  ð  ð  ð!˜sð !¨3ð !°4ð !ð !ð !ð !ð˜sð  tð ð ð ð ð ˜ð  ð  ð  ð  ð!˜( 3œ-ð !ð !ð !ð !ð˜#ð ð ð ð ð˜Fð  tð ð ð ð ð˜$ð ð ð ð ð ð ð ð r-   r/   c                   ó"  ‡ — e Zd ZU dZee         ed<   dZddddddddddœ	dede	dee
         d	ee
         d
ee         dee
         dee
         dee	         dee         ddfˆ fd„Zedeeeef                  fd„¦   «         Zej        deddfd„¦   «         Zedee
         fd„¦   «         Zej        d	e
ddfd„¦   «         Zedee	         fd„¦   «         Zej        dee	         ddfd„¦   «         Zd deddfˆ fd„Zdddefˆ fd„Zdeddfˆ fd„Zˆ xZS )!r0   NÚ_compressed_bodyFrI   )	ÚbodyrJ   rK   ÚtextrL   r©   r®   Úzlib_executor_sizeÚzlib_executorr:  rJ   rK   r;  rL   r©   r®   r<  r=  rN   c       	         ó²  •— |�|�t          d¦  «        ‚|€t          ¦   «         }
nt          |¦  «        }
|�d|v rt          d¦  «        ‚|�‹t          j        |
v r|s|rt          d¦  «        ‚n¦t	          |t
          ¦  «        st          dt          |¦  «        z  ¦  «        ‚|€d}|€d}|dz   |z   |
t          j        <   |                     |¦  «        }d }n=t          j        |
v r|€|�t          d¦  «        ‚n|�|�|d|z   z  }||
t          j        <   t          ¦   «          
                    |||
¬	¦  «         |�|| _        n|| _        || _        |	| _        d S )
Nz&body and text are not allowed togetherr®   z,charset must not be in content_type argumentzPpassing both Content-Type header and content_type or charset params is forbiddenútext argument must be str (%r)ú
text/plainúutf-8z
; charset=)rJ   rK   rM   )rp   r   r   rÏ   r‡   r›   rÁ   rÀ   Úencoder¢   rT   r;  r:  Ú_zlib_executor_sizeÚ_zlib_executor)rS   r:  rJ   rK   r;  rL   r©   r®   r<  r=  Úreal_headersr¥   s              €r+   rT   zResponse.__init__t  s¸  ø€ ð Ð Ð 0ÝÐEÑFÔFÐFàˆ?Ý-8©]¬]ˆLˆLå& wÑ/Ô/ˆLàÐ#¨	°\Ð(AÐ(AÝÐKÑLÔLÐLàÐÝÔ  LÐ0Ð0Øð  7ð Ý$ð'ñô ð ðõ " $­Ñ,Ô,ð SÝ#Ð$DÅtÈDÁzÄzÑ$QÑRÔRÐRØÐ'Ø#/�LØ�?Ø%�GØ2>ÀÑ2MÐPWÑ2W��TÔ.Ñ/Ø—{’{ 7Ñ+Ô+�Ø��ÝÔ ,Ð.Ð.ØÐ'¨7Ð+>Ý ð#ñô ð ð ,?ð Ð%ØÐ"Ø ¨wÑ 6Ñ6�Ø.:ˆL�Ô*Ñ+å‰Œ×Ò ¨vÀ\ÐÑRÔRÐRàÐØˆDŒIˆIàˆDŒIà#5ˆÔ Ø+ˆÔÐÐr-   c                 ó   — | j         S rV   )r>   rW   s    r+   r:  zResponse.bodyµ  s
   € àŒzÐr-   c                 óÔ  — |€d | _         nÖt          |t          t          f¦  «        r|| _         n²	 t          j                             |¦  «        x| _         }n2# t          j        $ r  t          dt          |¦  «        z  ¦  «        ‚w xY w| j
        }t          j        |vr|j        |t          j        <   |j        r(|j                             ¦   «         D ]\  }}||vr|||<   Œd | _        d S )NzUnsupported body type %r)r>   r‡   r  r  r   ÚPAYLOAD_REGISTRYro   ÚLookupErrorrp   rÀ   rQ   r   rÏ   r©   rL   r×   r9  )rS   r:  rL   r  r'   s        r+   r:  zResponse.body¹  s
  € àˆ<ØˆDŒJˆJÝ˜�u¥iÐ0Ñ1Ô1ð 	-ØˆDŒJˆJðJÝ$+Ô$<×$@Ò$@ÀÑ$FÔ$FÐF�”
˜T˜TøÝÔ&ð Jð Jð JÝ Ð!;½dÀ4¹j¼jÑ!HÑIÔIÐIðJøøøð ”mˆGõ Ô ¨Ð/Ð/Ø-1Ô->��Ô)Ñ*ð Œ|ð -Ø"&¤,×"4Ò"4Ñ"6Ô"6ð -ð -‘J�C˜Ø 'Ð)Ð)Ø',˜ ™øà $ˆÔÐÐs   °&A Á/Bc                 óV   — | j         €d S | j                              | j        pd¦  «        S )NrA  )r>   Údecoder®   rW   s    r+   r;  zResponse.textÓ  s.   € àŒ:ÐØ�4ð Œz× Ò  ¤Ð!8°Ñ9Ô9Ð9r-   c                 óô   — |�/t          |t          ¦  «        sJ dt          |¦  «        z  ¦   «         ‚| j        dk    rd| _        | j        €d| _        |                     | j        ¦  «        | _        d | _        d S )Nr?  r°   r@  rA  )r‡   r›   rÀ   r©   r®   rB  r>   r9  )rS   r;  s     r+   r;  zResponse.textÜ  s~   € àˆ|�zØ•#ñ 
ô  
ˆ|ˆ|à+­d°4©j¬jÑ8ñ Œ|ˆ|ð ÔÐ :Ò:Ð:Ø ,ˆDÔØŒ<ÐØ"ˆDŒLà—[’[ ¤Ñ.Ô.ˆŒ
Ø $ˆÔÐÐr-   c                 ó*  — | j         rd S t          j        | j        v r$t	          | j        t          j                 ¦  «        S | j        �t          | j        ¦  «        S t          | j        t          ¦  «        rd S | j        �t          | j        ¦  «        S dS )Nr   )
r@   r   r�   rQ   rm   r9  r#  r‡   r>   r"   rW   s    r+   r£   zResponse.content_lengthê  s‡   € àŒ=ð 	Ø�4åÔ $¤-Ð/Ð/Ý�t”}¥TÔ%8Ô9Ñ:Ô:Ð:àÔ Ð,å�tÔ,Ñ-Ô-Ð-Ý˜œ
¥GÑ,Ô,ð 	à�4ØŒZÐ#Ý�t”z‘?”?Ð"à�1r-   r'   c                 ó    — t          d¦  «        ‚)Nz#Content length is set automatically)r‚   r§   s     r+   r£   zResponse.content_lengthý  s   € åÐ@ÑAÔAÐAr-   r-   r  c              ƒ   ón  •K  — | j         rd S | j        €| j        }n| j        }|rJ d|›�¦   «         ‚| j        €J ‚| j        €J ‚|�| j        r(t          ¦   «                              ¦   «         ƒ d {V —† d S t          | j        t          ¦  «        rl| j         
                    | j        ¦  «        ƒ d {V —† | j                             ¦   «         ƒ d {V —† t          ¦   «                              ¦   «         ƒ d {V —† d S t          ¦   «                              t          t          |¦  «        ¦  «        ƒ d {V —† d S )Nzdata arg is not supported, got )rF   r9  r>   rD   rE   rG   r¢   r  r‡   r"   r
  rî   r   r  )rS   r  r:  r¥   s      €r+   r  zResponse.write_eof  sq  øè è € ØŒ>ð 	ØˆFØÔ Ð(Ø48´JˆDˆDàÔ(ˆDØÐCÐCÐC¸4ÐCÐCÑCÔCÐCØŒyÐ$Ð$Ð$ØÔ#Ð/Ð/Ð/Øˆ<˜4Ô3ˆ<Ý‘'”'×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ý˜œ
¥GÑ,Ô,ð 	7Ø”*×"Ò" 4Ô#7Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø”*×"Ò"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ý‘'”'×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%å‘'”'×#Ò#¥D­°Ñ$5Ô$5Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6r-   rÝ   r2   c              ƒ   ó<  •K  — t           j        | j        v r-t          |j        | j        ¦  «        r| j        t           j        = n³| j        s¬t          | j        t          ¦  «        r0| j        j
        x}�!t          |¦  «        | j        t           j        <   nb| j        rt          | j        ¦  «        nd}|dk    s| j        dk    r4|j        t           j        vr!t          |¦  «        | j        t           j        <   t          ¦   «                              |¦  «        ƒ d {V —†S )NÚ0i0  )r   r�   rQ   r   rä   rJ   r@   r‡   r>   r"   Úsizer›   r#  ÚMETH_HEAD_ALLr¢   rå   )rS   rÝ   rR  Úbody_lenr¥   s       €r+   rå   zResponse._start  sú   øè è € ÝÔ $¤-Ð/Ð/Ý+¨G¬N¸D¼KÑHÔHð 7Ø”M¥$Ô"5Ð6øØ”ð 
	GÝ˜$œ*¥gÑ.Ô.ð 	GØ œJœOÐ+�DÐ8Ý9<¸T¹¼�D”M¥$Ô"5Ñ6øà.2¬jÐA�3˜tœz™?œ?˜?¸c�à˜s’?�?Ø”K 3Ò&Ð&¨7¬>ÅÔASÐ+SÐ+Så9<¸X¹¼�D”M¥$Ô"5Ñ6å‘W”W—^’^ GÑ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,r-   r<   c              ƒ   ó¸  •K  — | j         st          | j        t          ¦  «        r't	          ¦   «                              |¦  «        ƒ d {V —†S |t          j        u rd S t          |j	        | j
        | j        ¬¦  «        }| j        €J ‚| j
        €Gt          | j        ¦  «        t          k    r*t          j        dt          | j        ¦  «        › d�¦  «         |                     | j        ¦  «        ƒ d {V —†|                     ¦   «         z   | _        |j	        | j        t(          j        <   t-          t          | j        ¦  «        ¦  «        | j        t(          j        <   d S )N)ÚencodingÚmax_sync_chunk_sizeÚexecutorz2Synchronous compression of large response bodies (z£ bytes) might block the async event loop. Consider providing a custom value to zlib_executor_size/zlib_executor response properties or disabling compression on it.)r@   r‡   r>   r"   r¢   rÜ   r.   r6   r   r'   rC  rD  r#  ÚLARGE_BODY_SIZErz   r{   ÚcompressÚflushr9  rQ   r   rÚ   r›   r�   )rS   r<   Ú
compressorr¥   s      €r+   rÜ   zResponse._do_start_compression&  se  øè è € ØŒ=ð 	?�J t¤zµ7Ñ;Ô;ð 	?Ý™œ×6Ò6°vÑ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ø•]Ô+Ð+Ð+ØˆFõ $Ø”\Ø $Ô 8ØÔ(ð
ñ 
ô 
ˆ
ð
 ŒzÐ%Ð%Ð%ØÔ#Ð+µ°D´J±´Å/Ò0QÐ0QÝŒMðTÝ˜œ
‘O”OðTð Tð Tñô ð ð ×%Ò% d¤jÑ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1°J×4DÒ4DÑ4FÔ4FÑFð 	Ôð 06¬|ˆŒ•dÔ+Ñ,Ý-0µ°TÔ5JÑ1KÔ1KÑ-LÔ-LˆŒ•dÔ)Ñ*Ð*Ð*r-   r1  )r7   r8   r9   r9  r   r  r2  r  r   rm   r›   r$   r   rT   r3  r   r"   r:  r4  r;  r£   r  r   rå   r.   rÜ   r6  r7  s   @r+   r0   r0   o  sÁ  ø€ € € € € € à(,Ð�h˜u”oÐ,Ð,Ñ,Ø %Ðð
 ØØ $Ø"Ø*.Ø&*Ø!%Ø,0Ø,0ð?,ð ?,ð ?,ð ð?,ð ð	?,ð
 ˜”ð?,ð �sŒmð?,ð ˜,Ô'ð?,ð ˜s”mð?,ð ˜#”ð?,ð % SœMð?,ð   Ô)ð?,ð 
ð?,ð ?,ð ?,ð ?,ð ?,ð ?,ðB ð�h˜u U¨G ^Ô4Ô5ð ð ð ñ „Xðð 
„[ð%˜ð % ð %ð %ð %ñ „[ð%ð2 ð:�h˜s”mð :ð :ð :ñ „Xð:ð 
„[ð%˜ð % ð %ð %ð %ñ „[ð%ð ð ¨¤ð ð ð ñ „Xðð$ ÔðB H¨S¤Mð B°dð Bð Bð Bñ ÔðBð7ð 7 Eð 7°Dð 7ð 7ð 7ð 7ð 7ð 7ð&- Mð -Ð6Jð -ð -ð -ð -ð -ð -ð$M°-ð MÀDð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mr-   r0   rI   zapplication/json)r;  r:  rJ   rK   rL   r©   Údumpsr  r;  r:  rJ   rK   rL   r©   r]  rN   c                óz   — | t           ur|s|rt          d¦  «        ‚ || ¦  «        }t          ||||||¬¦  «        S )Nz3only one of data, text, or body should be specified)r;  r:  rJ   rK   rL   r©   )r   rp   r0   )r  r;  r:  rJ   rK   rL   r©   r]  s           r+   r1   r1   A  sc   € ð •8ÐÐØð 	�4ð 	ÝÐRÑSÔSÐSà�5˜‘;”;ˆDÝØØØØØØ!ðñ ô ð r-   )DÚasyncioÚcollections.abcÚcollectionsr¾   ÚenumÚjsonr¼   r¹   rz   Úconcurrent.futuresr   Úhttpr   Úhttp.cookiesr   Útypingr   r   r   r	   r
   r   r   r   Ú	multidictr   r   rk   r   r   Úabcr   Úcompression_utilsr   Úhelpersr   r   r   r   r   r   r   r   r   r   r   r    r!   r"   Útypedefsr#   r$   rn   rY  Ú__all__Úweb_requestr2   r›   Ú	BaseClassÚEnumr.   rà   r/   r0   r]  r  rm   r1   r&   r-   r+   ú<module>rq     s¼  ðØ €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð (Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'à Ð Ð Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø -Ð -Ð -Ð -Ð -Ð -ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð @Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø Ð Ð Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /àVÐVÈ:ÐVÑVÔV€Ø€à
J€ð ð /Ø(Ð(Ð(Ð(Ð(Ð(à˜s C˜xÔ(€I€Ià”Ô.€Iðð ð ð ð �D”Iñ ô ð ð EÐD°mÐDÑDÔD€ð`ð `ð `ð `ð `�Y ñ `ô `ð `ðFOMð OMð OMð OMð OMˆ~ñ OMô OMð OMðf ðð Ø ØØ Ø&*Ø*Øœðð ð Ø
ðð �3Œ-ðð �5Œ/ð	ð
 ðð �SŒMðð �lÔ#ðð ðð ðð ðð ð ð ð ð r-   