§
    Ÿj’  ã                   ó:   — d dl mZ d dlmZ  G d„ de¦  «        ZdS )é    )ÚSessionBase)Úsigningc                   ó”   — e Zd Zd„ Zd„ Zd„ Zd„ Zdd„Zdd„Zdd	„Z	dd
„Z
dd„Zdd„Zd„ Zd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         ZdS )ÚSessionStorec                 ó¸   — 	 t          j        | j        | j        |                      ¦   «         d¬¦  «        S # t
          $ r |                      ¦   «          Y nw xY wi S )z½
        Load the data from the key itself instead of fetching from some
        external data store. Opposite of _get_session_key(), raise BadSignature
        if signature fails.
        ú/django.contrib.sessions.backends.signed_cookies)Ú
serializerÚmax_ageÚsalt)r   ÚloadsÚsession_keyr	   Úget_session_cookie_ageÚ	ExceptionÚcreate©Úselfs    ú|/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/django/contrib/sessions/backends/signed_cookies.pyÚloadzSessionStore.load   st   € ð	Ý”=ØÔ Øœ?à×3Ò3Ñ5Ô5ØFðñ ô ð øõ ð 	ð 	ð 	ð �KŠK‰MŒMˆMˆMˆMð	øøøð ˆ	s   ‚36 ¶AÁAc              ƒ   ó.   K  — |                       ¦   «         S ©N)r   r   s    r   ÚaloadzSessionStore.aload   s   è è € Ø�yŠy‰{Œ{Ðó    c                 ó   — d| _         dS )z…
        To create a new key, set the modified flag so that the cookie is set
        on the client for the current request.
        TN)Úmodifiedr   s    r   r   zSessionStore.create   s   € ð
 ˆŒˆˆr   c              ƒ   ó.   K  — |                       ¦   «         S r   )r   r   s    r   ÚacreatezSessionStore.acreate$   s   è è € Ø�{Š{‰}Œ}Ðr   Fc                 óF   — |                       ¦   «         | _        d| _        dS )zº
        To save, get the session key as a securely signed string and then set
        the modified flag so that the cookie is set on the client for the
        current request.
        TN)Ú_get_session_keyÚ_session_keyr   ©r   Úmust_creates     r   ÚsavezSessionStore.save'   s#   € ð !×1Ò1Ñ3Ô3ˆÔØˆŒˆˆr   c              ƒ   ó2   K  — |                       |¬¦  «        S )N)r!   ©r"   r    s     r   ÚasavezSessionStore.asave0   s   è è € Ø�yŠy [ˆyÑ1Ô1Ð1r   Nc                 ó   — dS )zµ
        This method makes sense when you're talking to a shared resource, but
        it doesn't matter when you're storing the information in the client's
        cookie.
        F© ©r   r   s     r   ÚexistszSessionStore.exists3   s	   € ð ˆur   c              ƒ   ó2   K  — |                       |¬¦  «        S ©N)r   )r)   r(   s     r   ÚaexistszSessionStore.aexists;   ó   è è € Ø�{Š{ {ˆ{Ñ3Ô3Ð3r   c                 ó0   — d| _         i | _        d| _        dS )z¿
        To delete, clear the session key and the underlying data structure
        and set the modified flag so that the cookie is set on the client for
        the current request.
        Ú TN)r   Ú_session_cacher   r(   s     r   ÚdeletezSessionStore.delete>   s   € ð ˆÔØ ˆÔØˆŒˆˆr   c              ƒ   ó2   K  — |                       |¬¦  «        S r+   )r1   r(   s     r   ÚadeletezSessionStore.adeleteH   r-   r   c                 ó.   — |                       ¦   «          dS )zž
        Keep the same data but with a new key. Call save() and it will
        automatically save a cookie with a new key at the end of the request.
        Nr$   r   s    r   Ú	cycle_keyzSessionStore.cycle_keyK   s   € ð
 	�	Š	‰Œˆˆˆr   c              ƒ   ó.   K  — |                       ¦   «         S r   )r5   r   s    r   Ú
acycle_keyzSessionStore.acycle_keyR   s   è è € Ø�~Š~ÑÔÐr   c                 óF   — t          j        | j        dd| j        ¬¦  «        S )z�
        Instead of generating a random string, generate a secure url-safe
        base64-encoded string of data as our session key.
        Tr   )Úcompressr   r	   )r   ÚdumpsÚ_sessionr	   r   s    r   r   zSessionStore._get_session_keyU   s-   € õ
 Œ}ØŒMØØBØ”ð	
ñ 
ô 
ð 	
r   c                 ó   — d S r   r'   ©Úclss    r   Úclear_expiredzSessionStore.clear_expireda   s   € àˆr   c              ƒ   ó
   K  — d S r   r'   r=   s    r   Úaclear_expiredzSessionStore.aclear_expirede   s   è è € àˆr   )Fr   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r"   r%   r)   r,   r1   r3   r5   r7   r   Úclassmethodr?   rA   r'   r   r   r   r      s+  € € € € € ðð ð ð(ð ð ðð ð ðð ð ðð ð ð ð2ð 2ð 2ð 2ðð ð ð ð4ð 4ð 4ð 4ðð ð ð ð4ð 4ð 4ð 4ðð ð ð ð  ð  ð

ð 

ð 

ð ðð ñ „[ðð ðð ñ „[ðð ð r   r   N)Ú%django.contrib.sessions.backends.baser   Údjango.corer   r   r'   r   r   ú<module>rH      sg   ðØ =Ð =Ð =Ð =Ð =Ð =Ø Ð Ð Ð Ð Ð ðbð bð bð bð b�;ñ bô bð bð bð br   