Ë
    +Œ:j  ã                   óÄ   — d dl Z d dlZd dlZd dlmZ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 ej(                  dk\  rd dlmZ nd dlmZ  G d	„ d
«      Zy)é    N)Ú	b64decodeÚ	b64encode)ÚBadSignature)ÚMutableHeadersÚSecret)ÚHTTPConnection)ÚASGIAppÚMessageÚReceiveÚScopeÚSend)é   é   )ÚLiteralc                   ó–   — e Zd Z	 	 	 	 	 ddedej
                  eef   dedej                  e	   dede
d   ded	d
fd„Zdededed	d
fd„Zy
)ÚSessionMiddlewareÚappÚ
secret_keyÚsession_cookieÚmax_ageÚpathÚ	same_site)ÚlaxÚstrictÚnoneÚ
https_onlyÚreturnNc                 óÆ   — || _         t        j                  t        |«      «      | _        || _        || _        || _        d|z   | _        |r| xj                  dz  c_        y y )Nzhttponly; samesite=z; secure)	r   ÚitsdangerousÚTimestampSignerÚstrÚsignerr   r   r   Úsecurity_flags)Úselfr   r   r   r   r   r   r   s           ú_/var/www/html/tokenscope/api/venv/lib/python3.12/site-packages/starlette/middleware/sessions.pyÚ__init__zSessionMiddleware.__init__   s]   € ð ˆŒÜ"×2Ñ2´3°z³?ÓCˆŒØ,ˆÔØˆŒØˆŒ	Ø3°iÑ?ˆÔÙØ×Ò :Ñ-Öð ó    ÚscopeÚreceiveÚsendc              ƒ   ó  ‡ ‡‡‡K  — ‰d   dvr‰ j                  ‰|‰«      ƒ d {  –—†  y t        ‰«      }dŠ‰ j                  |j                  v rt|j                  ‰ j                     j	                  d«      }	 ‰ j
                  j                  |‰ j                  ¬«      }t        j                  t        |«      «      ‰d<   dŠni ‰d<   dt        d	d fˆˆˆ ˆfd
„}‰ j                  ‰||«      ƒ d {  –—†  y 7 ŒÐ# t        $ r i ‰d<   Y Œ?w xY w7 Œ­w)NÚtype)ÚhttpÚ	websocketTúutf-8)r   ÚsessionFÚmessager   c              “   óˆ  •K  — | d   dk(  �r"‰d   rÉt        t        j                  ‰d   «      j                  d«      «      }‰j                  j                  |«      }t        | ¬«      }dj                  ‰j                  |j                  d«      ‰j                  ‰j                  rd‰j                  › d�nd	‰j                  ¬
«      }|j                  d|«       nT‰sRt        | ¬«      }dj                  ‰j                  d‰j                  d‰j                  ¬«      }|j                  d|«        ‰| «      ƒ d {  –—†  y 7 Œ­w)Nr,   zhttp.response.startr0   r/   )r(   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   r4   r   Úexpiresr#   )r   ÚjsonÚdumpsÚencoder"   Úsignr   Úformatr   Údecoder   r   r#   Úappend)r1   r4   ÚheadersÚheader_valueÚinitial_session_was_emptyr(   r$   r*   s       €€€€r%   Úsend_wrapperz0SessionMiddleware.__call__.<locals>.send_wrapper:   s   øè ø€ Ø�v‰Ð"7Ó7Ø˜Ò#ä$¤T§Z¡Z°°iÑ0@Ó%A×%HÑ%HÈÓ%QÓR�DØŸ;™;×+Ñ+¨DÓ1�DÜ,°7Ô;�GØ#d×#kÑ#kØ'+×':Ñ':Ø!Ÿ[™[¨Ó1Ø!ŸY™YØ?C¿|º| (¨4¯<©<¨.¸Ñ ;ÐQSØ'+×':Ñ':ð $ló $�Lð —N‘N <°Õ>Ù2ä,°7Ô;�GØ#d×#kÑ#kØ'+×':Ñ':Ø#Ø!ŸY™YØ IØ'+×':Ñ':ð $ló $�Lð —N‘N <°Ô>Ù�w“-×Òús   ƒD7EÄ:E Ä;E)r   r   r   Úcookiesr9   r"   Úunsignr   r7   Úloadsr   r   r
   )r$   r(   r)   r*   Ú
connectionr4   rA   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�Ü#'§:¡:¬i¸«oÓ#>��iÑ Ø,1Ñ)ð  "ˆE�)Ñð	 ¬ð 	 °D÷ 	 ð 	 ð8 �h‰h�u˜g |Ó4×4Ñ4ð[ 1ùô  ò &Ø#%��iÓ ð&úðB 	5úsA   †D¤C5¥ADÁ8A
C7 Ã-DÃ/DÃ0DÃ7DÄDÄDÄD)r0   i u ú/r   F)Ú__name__Ú
__module__Ú__qualname__r	   ÚtypingÚUnionr!   r   ÚOptionalÚintr   Úboolr&   r   r   r   rF   © r'   r%   r   r      s£   „ ð
 (Ø(9ØØ6;Ø ñ.àð.ð —L‘L  f Ñ-ð.ð ð	.ð
 —‘ Ñ%ð.ð ð.ð Ð2Ñ3ð.ð ð.ð 
ó.ð&/5 Eð /5°Gð /5À4ð /5ÈDô /5r'   r   )r7   ÚsysrK   Úbase64r   r   r   Úitsdangerous.excr   Ústarlette.datastructuresr   r   Ústarlette.requestsr   Ústarlette.typesr	   r
   r   r   r   Úversion_infor   Útyping_extensionsr   rP   r'   r%   ú<module>rY      sC   ðÛ Û 
Û ß 'ã Ý )ç ;Ý -ß BÕ Bà×Ñ�vÒÞå)÷C5ò C5r'   