ó
    ½Rj�  ã                   ó^   • S SK Jr  S SKJr  S SKJr  S SKJrJr  \" S5      r	 " S S\5      r
g)	é    )Úpatch_vary_headers)ÚMiddlewareMixin)Ú_lazy_re_compile)Úcompress_sequenceÚcompress_stringz\bgzip\bc                   ó"   • \ rS rSrSrSrS rSrg)ÚGZipMiddlewareé	   z¡
Compress content if the browser allows gzip compression.
Set the Vary header accordingly, so that caches will base their storage
on the Accept-Encoding header.
éd   c                 ó„  ^ ^• UR                   (       d  [        UR                  5      S:  a  U$ UR                  S5      (       a  U$ [	        US5        UR
                  R                  SS5      n[        R                  U5      (       d  U$ UR                   (       ab  UR                  (       a   UR                  mUU 4S jnU" 5       Ul
        O#[        UR                  T R                  S9Ul
        UR                  S	 Os[        UR                  T R                  S9n[        U5      [        UR                  5      :¼  a  U$ XRl        [        [        UR                  5      5      UR                  S'   UR                  S	5      nU(       a(  UR!                  S
5      (       a  SU-   UR                  S	'   SUR                  S'   U$ )NéÈ   zContent-Encoding)zAccept-EncodingÚHTTP_ACCEPT_ENCODINGÚ c                 ó\   >#   • T  S h  v•N n [        U TR                  S97v •  M"   N
 g 7f)N©Úmax_random_bytes)r   r   )ÚchunkÚorignal_iteratorÚselfs    €€ÚBD:\diplom_project\venv\Lib\site-packages\django/middleware/gzip.pyÚgzip_wrapperÚ5GZipMiddleware.process_response.<locals>.gzip_wrapper'   s1   øé € Ù'7÷ ˜eÜ-Ø!Ø-1×-BÑ-Bñõ ñÑ'7ùs   ƒ,†*Š(‹*Ž,¨*ª,r   zContent-LengthÚETagÚ"zW/Úgzip)Ú	streamingÚlenÚcontentÚ
has_headerr   ÚMETAÚgetÚre_accepts_gzipÚsearchÚis_asyncÚstreaming_contentr   r   Úheadersr   ÚstrÚ
startswith)r   ÚrequestÚresponseÚaer   Úcompressed_contentÚetagr   s   `      @r   Úprocess_responseÚGZipMiddleware.process_response   s†  ù€ à×!×!¤c¨(×*:Ñ*:Ó&;¸cÓ&AØˆOð ×ÑÐ1×2Ñ2ØˆOä˜8Ð%9Ô:à�\‰\×ÑÐ4°bÓ9ˆÜ×%Ñ% b×)Ñ)ØˆOà××Ø× × ð $,×#=Ñ#=Ð öñ .:«^�Õ*ä->Ø×.Ñ.Ø%)×%:Ñ%:ñ.�Ô*ð × Ñ Ð!1Ñ2ô "1Ø× Ñ Ø!%×!6Ñ!6ñ"Ðô Ð%Ó&¬#¨h×.>Ñ.>Ó*?Ó?Ø�Ø1ÔÜ14´S¸×9IÑ9IÓ5JÓ1KˆH×ÑÐ-Ñ.ð
 �|‰|˜FÓ#ˆÞ�D—O‘O C×(Ñ(Ø'+¨d¡{ˆH×Ñ˜VÑ$Ø/5ˆ×ÑÐ+Ñ,àˆó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r.   Ú__static_attributes__r1   r0   r   r	   r	   	   s   † ñð Ðõ8r0   r	   N)Údjango.utils.cacher   Údjango.utils.deprecationr   Údjango.utils.regex_helperr   Údjango.utils.textr   r   r"   r	   r1   r0   r   Ú<module>r<      s)   ðÝ 1Ý 4Ý 6ß @á" ;Ó/€ôA�_õ Ar0   