Ë
    ¥#ij«  ã                   óv   — d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ  G d	„ d
e«      Zy)é    N)Úimport_module)Úsettings)ÚUpdateError)ÚSessionInterrupted)Úpatch_vary_headers)ÚMiddlewareMixin)Ú	http_datec                   ó*   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zˆ xZS )ÚSessionMiddlewarec                 óx   •— t         ‰| �  |«       t        t        j                  «      }|j
                  | _        y ©N)ÚsuperÚ__init__r   r   ÚSESSION_ENGINEÚSessionStore)ÚselfÚget_responseÚengineÚ	__class__s      €ú\/var/www/html/office/venv/lib/python3.12/site-packages/django/contrib/sessions/middleware.pyr   zSessionMiddleware.__init__   s.   ø€ Ü‰Ñ˜Ô&Üœx×6Ñ6Ó7ˆØ"×/Ñ/ˆÕó    c                 ó‚   — |j                   j                  t        j                  «      }| j	                  |«      |_        y r   )ÚCOOKIESÚgetr   ÚSESSION_COOKIE_NAMEr   Úsession)r   ÚrequestÚsession_keys      r   Úprocess_requestz!SessionMiddleware.process_request   s.   € Ø—o‘o×)Ñ)¬(×*FÑ*FÓGˆØ×+Ñ+¨KÓ8ˆ�r   c                 ó2  — 	 |j                   j                  }|j                   j                  }|j                   j                  «       }t
        j                  |j                  v rS|rQ|j                  t
        j                  t
        j                  t
        j                  t
        j                  ¬«       d}�n)|}|st
        j                  �r|�s|j                   j                  «       rd}d}n<|j                   j                  «       }t        j                  «       |z   }	t!        |	«      }|j"                  dk  r§	 |j                   j%                  «        |j+                  t
        j                  |j                   j,                  ||t
        j                  t
        j                  t
        j.                  xs dt
        j0                  xs dt
        j                  ¬«	       d}|rt3        |d«       |S # t        $ r |cY S w xY w# t&        $ r t)        d«      ‚w xY w)zå
        If request.session was modified, or if the configuration is to save the
        session every time, save the changes and set a session cookie or delete
        the session cookie if the session has been emptied.
        )ÚpathÚdomainÚsamesiteTNiô  z‚The request's session was deleted before the request completed. The user may have logged out in a concurrent request, for example.)Úmax_ageÚexpiresr"   r!   ÚsecureÚhttponlyr#   )ÚCookie)r   ÚaccessedÚmodifiedÚis_emptyÚAttributeErrorr   r   r   Údelete_cookieÚSESSION_COOKIE_PATHÚSESSION_COOKIE_DOMAINÚSESSION_COOKIE_SAMESITEÚSESSION_SAVE_EVERY_REQUESTÚget_expire_at_browser_closeÚget_expiry_ageÚtimer	   Ústatus_codeÚsaver   r   Ú
set_cookier   ÚSESSION_COOKIE_SECUREÚSESSION_COOKIE_HTTPONLYr   )
r   r   Úresponser)   r*   ÚemptyÚneed_vary_cookier$   r%   Úexpires_times
             r   Úprocess_responsez"SessionMiddleware.process_response   sÈ  € ð	Ø—‘×/Ñ/ˆHØ—‘×/Ñ/ˆHØ—O‘O×,Ñ,Ó.ˆEô
 ×'Ñ'¨7¯?©?Ñ:¹uØ×"Ñ"Ü×,Ñ,Ü×1Ñ1Ü×5Ñ5Ü!×9Ñ9ð	 #ô ð  $Òð  (ÐÙœH×?Ó?ÊØ—?‘?×>Ñ>Ô@Ø"�GØ"‘Gà%Ÿo™o×<Ñ<Ó>�GÜ#'§9¡9£;°Ñ#8�LÜ'¨Ó5�Gð ×'Ñ'¨#Ò-ðØŸ™×,Ñ,Ô.ð ×'Ñ'Ü ×4Ñ4ØŸ™×3Ñ3Ø 'Ø 'Ü'×=Ñ=Ü%×9Ñ9Ü'×=Ñ=ÒEÀÜ!)×!AÑ!AÒ!IÀTÜ!)×!AÑ!Að (ô 
ð (,Ð$ÙÜ˜x¨Ô5Øˆøôe ò 	ØŠOð	ûô: 'ò Ü0ðHóð ðús   ‚AG0 Ä:H Ç0G>Ç=G>ÈH)Ú__name__Ú
__module__Ú__qualname__r   r   r>   Ú__classcell__)r   s   @r   r   r      s   ø„ ô0ò
9ö<r   r   )r4   Ú	importlibr   Údjango.confr   Ú%django.contrib.sessions.backends.baser   Ú"django.contrib.sessions.exceptionsr   Údjango.utils.cacher   Údjango.utils.deprecationr   Údjango.utils.httpr	   r   © r   r   ú<module>rK      s+   ðÛ Ý #å  Ý =Ý AÝ 1Ý 4Ý 'ôF˜õ Fr   