Ë
    ‘©jª  ã                  óÐ   — d dl mZ d dlZd dlZd dlmZmZ d dlmZ d dlZd dl	m
Z
 d dlmZmZ d dlmZ d dlmZmZmZmZmZ  G d	„ d
«      Z G d„ deeej2                  f   «      Zy)é    )ÚannotationsN)Ú	b64decodeÚ	b64encode)ÚLiteral)ÚBadSignature)ÚMutableHeadersÚSecret)ÚHTTPConnection)ÚASGIAppÚMessageÚReceiveÚScopeÚSendc                  óL   — e Zd Z	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zy)ÚSessionMiddlewareNc	                óú   — || _         t        j                  t        |«      «      | _        || _        || _        || _        d|z   | _        |r| xj                  dz  c_        |�| xj                  d|› �z  c_        y y )Nzhttponly; samesite=z; securez	; domain=)	ÚappÚitsdangerousÚTimestampSignerÚstrÚsignerÚsession_cookieÚmax_ageÚpathÚsecurity_flags)	Úselfr   Ú
secret_keyr   r   r   Ú	same_siteÚ
https_onlyÚdomains	            úd/var/www/html/streamforge-license/venv/lib/python3.12/site-packages/starlette/middleware/sessions.pyÚ__init__zSessionMiddleware.__init__   s{   € ð ˆŒÜ"×2Ñ2´3°z³?ÓCˆŒØ,ˆÔØˆŒØˆŒ	Ø3°iÑ?ˆÔÙØ×Ò :Ñ-ÕØÐØ×Ò Y¨v¨hÐ#7Ñ7Öð ó    c              ƒ  ó@  ‡ ‡‡‡K  — ‰d   dvr‰ j                  ‰|‰«      ƒ d {  –—†  y t        ‰«      }dŠ‰ j                  |j                  v r}|j                  ‰ j                     j	                  d«      }	 ‰ j
                  j                  |‰ j                  ¬«      }t        t        j                  t        |«      «      «      ‰d<   dŠnt        «       ‰d<   d	ˆˆˆ ˆfd„}‰ j                  ‰||«      ƒ d {  –—†  y 7 ŒÙ# t        $ r t        «       ‰d<   Y Œ?w xY w7 Œ#­w)
NÚtype)ÚhttpÚ	websocketTúutf-8)r   ÚsessionFc              “  óØ  •K  — | d   dk(  �rJ‰d   }t        | ¬«      }|j                  r|j                  d«       |j                  r¼|rºt	        t        j                  |«      j                  d«      «      }‰j                  j                  |«      }dj                  ‰j                  |j                  d«      ‰j                  ‰j                  rd‰j                  › d	�nd
‰j                  ¬«      }|j!                  d|«       nT|j                  rH‰sFdj                  ‰j                  d‰j                  d‰j                  ¬«      }|j!                  d|«        ‰| «      ƒ d {  –—†  y 7 Œ­w)Nr%   zhttp.response.startr)   )ÚscopeÚCookier(   z?{session_cookie}={data}; path={path}; {max_age}{security_flags}zMax-Age=z; Ú )r   Údatar   r   r   z
Set-Cookiez?{session_cookie}={data}; path={path}; {expires}{security_flags}Únullz'expires=Thu, 01 Jan 1970 00:00:00 GMT; )r   r.   r   Úexpiresr   )r   ÚaccessedÚadd_vary_headerÚmodifiedr   ÚjsonÚdumpsÚencoder   ÚsignÚformatr   Údecoder   r   r   Úappend)	Úmessager)   Úheadersr.   Úheader_valueÚinitial_session_was_emptyr+   r   Úsends	        €€€€r!   Úsend_wrapperz0SessionMiddleware.__call__.<locals>.send_wrapper:   s>  øè ø€ Ø�v‰Ð"7Ó7Ø#(¨Ñ#3�Ü(¨wÔ7�Ø×#Ò#Ø×+Ñ+¨HÔ5Ø×#Ò#©ä$¤T§Z¡Z°Ó%8×%?Ñ%?ÀÓ%HÓI�DØŸ;™;×+Ñ+¨DÓ1�DØ#d×#kÑ#kØ'+×':Ñ':Ø!Ÿ[™[¨Ó1Ø!ŸY™YØ?C¿|º| (¨4¯<©<¨.¸Ñ ;ÐQSØ'+×':Ñ':ð $ló $�Lð —N‘N <°Õ>Ø×%Ò%Ñ.Gà#d×#kÑ#kØ'+×':Ñ':Ø#Ø!ŸY™YØ IØ'+×':Ñ':ð $ló $�Lð —N‘N <°Ô>Ù�w“-×Òús   ƒEE*Å"E(Å#E*)r;   r   ÚreturnÚNone)r   r
   r   Úcookiesr6   r   Úunsignr   ÚSessionr4   Úloadsr   r   )r   r+   Úreceiver?   Ú
connectionr.   r@   r>   s   `` `   @r!   Ú__call__zSessionMiddleware.__call__'   s  ûè ø€ Ø�‰=Ð 5Ñ5Ø—(‘(˜5 '¨4Ó0×0Ð0Øä# EÓ*ˆ
Ø$(Ð!à×Ñ *×"4Ñ"4Ñ4Ø×%Ñ% d×&9Ñ&9Ñ:×AÑAÀ'ÓJˆDð-Ø—{‘{×)Ñ)¨$¸¿¹Ð)ÓE�Ü#*¬4¯:©:´iÀ³oÓ+FÓ#G��iÑ Ø,1Ñ)ô  '›yˆE�)Ñ÷	 ð 	 ð< �h‰h�u˜g |Ó4×4Ñ4ð_ 1ùô  ò -Ü#*£9��iÓ ð-úðF 	5úsA   †D¤C>¥ADÁ8AD  Ã-DÃ8DÃ9DÄ DÄDÄDÄD)r)   i u ú/ÚlaxFN)r   r   r   zstr | Secretr   r   r   z
int | Noner   r   r   z Literal['lax', 'strict', 'none']r   Úboolr    z
str | NonerA   rB   )r+   r   rG   r   r?   r   rA   rB   )Ú__name__Ú
__module__Ú__qualname__r"   rI   © r#   r!   r   r      sx   „ ð
 (Ø/ØØ6;Ø Ø!ð8àð8ð !ð8ð ð	8ð
 ð8ð ð8ð 4ð8ð ð8ð ð8ð 
ó8ô,15r#   r   c                  óŒ   ‡ — e Zd ZU dZded<   dZded<   dd„Zdd„Zdˆ fd„Zdˆ fd„Z	dˆ fd	„Z
dˆ fd
„Zddˆ fd„Zdˆ fd„Zˆ xZS )rE   FrL   r1   r3   c                ó   — d| _         y ©NT)r1   ©r   s    r!   Úmark_accessedzSession.mark_accessed_   s	   € Øˆ�r#   c                ó    — d| _         d| _        y rS   )r1   r3   rT   s    r!   Úmark_modifiedzSession.mark_modifiedb   s   € ØˆŒØˆ�r#   c                óF   •— | j                  «        t        ‰| �	  ||«       y ©N)rW   ÚsuperÚ__setitem__)r   ÚkeyÚvalueÚ	__class__s      €r!   r[   zSession.__setitem__f   s   ø€ Ø×ÑÔÜ‰Ñ˜C Õ'r#   c                óD   •— | j                  «        t        ‰| �	  |«       y rY   )rW   rZ   Ú__delitem__)r   r\   r^   s     €r!   r`   zSession.__delitem__j   s   ø€ Ø×ÑÔÜ‰Ñ˜CÕ r#   c                óB   •— | j                  «        t        ‰| �	  «        y rY   )rW   rZ   Úclear)r   r^   s    €r!   rb   zSession.clearn   s   ø€ Ø×ÑÔÜ‰‰�r#   c                óR   •— | j                   xs || v | _         t        ‰| �  |g|¢­Ž S rY   )r3   rZ   Úpop)r   r\   Úargsr^   s      €r!   rd   zSession.popr   s+   ø€ ØŸ™Ò4¨°¨ˆŒÜ‰w‰{˜3Ð& Ò&Ð&r#   c                óL   •— || vr| j                  «        t        ‰| �	  ||«      S rY   )rW   rZ   Ú
setdefault)r   r\   Údefaultr^   s      €r!   rg   zSession.setdefaultv   s(   ø€ Ø�d‰?Ø×ÑÔ Ü‰wÑ! # wÓ/Ð/r#   c                óD   •— | j                  «        t        ‰| �  |i |¤Ž y rY   )rW   rZ   Úupdate)r   re   Úkwargsr^   s      €r!   rj   zSession.update{   s    ø€ Ø×ÑÔÜ‰‰˜Ð' Ó'r#   )rA   rB   )r\   r   r]   ú
typing.AnyrA   rB   )r\   r   rA   rB   )r\   r   re   rl   rA   rl   rY   )r\   r   rh   rl   rA   rl   )re   rl   rk   rl   rA   rB   )rM   rN   rO   r1   Ú__annotations__r3   rU   rW   r[   r`   rb   rd   rg   rj   Ú__classcell__)r^   s   @r!   rE   rE   [   sD   ø… Ø€HˆdÓØ€HˆdÓóóõ(õ!õõ'ö0÷
(ñ (r#   rE   )Ú
__future__r   r4   ÚtypingÚbase64r   r   r   r   Úitsdangerous.excr   Ústarlette.datastructuresr   r	   Ústarlette.requestsr
   Ústarlette.typesr   r   r   r   r   r   Údictr   ÚAnyrE   rP   r#   r!   ú<module>rx      sL   ðÝ "ã Û ß 'Ý ã Ý )ç ;Ý -ß BÕ B÷H5ñ H5ôV"(ˆd�3˜Ÿ
™
�?Ñ#õ "(r#   