Ë
    S>{iì  ã                   óž   — d dl Z d dlmZ d dlmZ d dlmZ er$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„ Zd„ Z G d„ de«      Zy)é    N)Údatetime_utcnow)ÚTYPE_CHECKING)Úformat_timestamp)Údatetime)ÚOptional)ÚUnion)ÚAny)ÚDict)ÚSessionStatusc                 ó(   — | j                  dd¬«      S )Nr   )ÚsecondÚmicrosecond)Úreplace)Útss    úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sentry_sdk/session.pyÚ_minute_truncr      s   € à�:‰:˜Q¨Aˆ:Ó.Ð.ó    c                 ód   — t        | t        j                  «      r| S t        j                  | «      S ©N)Ú
isinstanceÚuuidÚUUID)Úvals    r   Ú
_make_uuidr      s%   € ô �#”t—y‘yÔ!Øˆ
Ü�9‰9�S‹>Ðr   c                   óx   — e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zed„ «       Z	 	 	 	 	 	 	 	 	 	 	 	 d	d„Z	 d
d„Z	 dd„Zd„ Z	y)ÚSessionNc                 ó  — |€t        j                  «       }|€
t        «       }|€d}|| _        d | _        || _        d | _        d | _        d | _        d | _	        d | _
        || _        d| _        | j                  |||||||	|
||¬«
       y )NÚokr   )
ÚsidÚdidÚ	timestampÚdurationÚreleaseÚenvironmentÚ
user_agentÚ
ip_addressÚerrorsÚuser)r   Úuuid4r   Ústatusr    Ústartedr#   r$   r"   r%   r&   Úsession_moder'   Úupdate)Úselfr   r    r!   r+   r"   r*   r#   r$   r%   r&   r'   r(   r,   s                 r   Ú__init__zSession.__init__    s¢   € ð" ˆ;Ü—*‘*“,ˆCØˆ?Ü%Ó'ˆGØˆ>ØˆFØˆŒØˆŒØˆŒØˆŒØˆÔØˆŒØˆŒØˆŒØ(ˆÔØˆŒà�‰ØØØØØØ#Ø!Ø!ØØð 	õ 	
r   c                 ó,   — t        | j                  «      S r   )r   r+   )r.   s    r   Útruncated_startedzSession.truncated_startedO   s   € ô ˜TŸ\™\Ó*Ð*r   c                 ó   — |rL|
€|j                  d«      }
|€7|j                  d«      xs$ |j                  d«      xs |j                  d«      }|�t        |«      | _        |�t        |«      | _        |€
t        «       }|| _        |�|| _        |�|| _        |�|| _	        |�|| _
        |
�|
| _        |	�|	| _        |�|| _        |�|| _        y y )Nr&   ÚidÚemailÚusername)Úgetr   r   Ústrr    r   r!   r+   r"   r#   r$   r&   r%   r'   r*   )r.   r   r    r!   r+   r"   r*   r#   r$   r%   r&   r'   r(   s                r   r-   zSession.updateT   sì   € ñ" ØÐ!Ø!ŸX™X lÓ3�
Øˆ{Ø—h‘h˜t“nÒQ¨¯©°Ó(9ÒQ¸T¿X¹XÀjÓ=Q�àˆ?Ü! #“ˆDŒHØˆ?Ü˜3“xˆDŒHØÐÜ'Ó)ˆIØ"ˆŒØÐØ"ˆDŒLØÐØ$ˆDŒMØÐØ"ˆDŒLØÐ"Ø*ˆDÔØÐ!Ø(ˆDŒOØÐ!Ø(ˆDŒOØÐØ ˆDŒKàÐØ ˆD�Kð r   c                 óT   — |€| j                   dk(  rd}|�| j                  |¬«       y y )Nr   Úexited)r*   )r*   r-   )r.   r*   s     r   ÚclosezSession.close„   s2   € ð ˆ>˜dŸk™k¨TÒ1ØˆFØÐØ�K‰K˜vˆKÕ&ð r   c                 óæ   — i }| j                   �| j                   |d<   | j                  �| j                  |d<   |r6| j                  �| j                  |d<   | j                  �| j                  |d<   |S )Nr#   r$   r&   r%   )r#   r$   r&   r%   )r.   Úwith_user_infoÚattrss      r   Úget_json_attrszSession.get_json_attrs�   su   € ð ˆØ�<‰<Ð#Ø#Ÿ|™|ˆE�)ÑØ×ÑÐ'Ø#'×#3Ñ#3ˆE�-Ñ ÙØ�‰Ð*Ø&*§o¡o��lÑ#Ø�‰Ð*Ø&*§o¡o��lÑ#Øˆr   c                 ól  — t        | j                  «      dt        | j                  «      t        | j                  «      | j
                  dœ}| j                  r| j                  |d<   | j                  �| j                  |d<   | j                  �| j                  |d<   | j                  «       }|r||d<   |S )NT)r   Úinitr+   r!   r*   r'   r    r"   r=   )
r7   r   r   r+   r!   r*   r'   r    r"   r>   )r.   Úrvr=   s      r   Úto_jsonzSession.to_json�   s›   € ô �t—x‘x“=ØÜ'¨¯©Ó5Ü)¨$¯.©.Ó9Ø—k‘kñ
ˆð �;Š;ØŸ;™;ˆBˆx‰LØ�8‰8ÐØŸ™ˆBˆu‰IØ�=‰=Ð$Ø!Ÿ]™]ˆBˆz‰NØ×#Ñ#Ó%ˆÙØˆBˆw‰KØˆ	r   )NNNNNNNNNNNNÚapplication)NNNNNNNNNNNNr   )T)
Ú__name__Ú
__module__Ú__qualname__r/   Úpropertyr1   r-   r:   r>   rB   © r   r   r   r      sŠ   „ ð ØØØØØØØØØØØØ"ó-
ð^ ñ+ó ð+ð ØØØØØØØØØØØó.!ðb ó'ð "óó r   r   )r   Úsentry_sdk._compatr   Úsentry_sdk._typesr   Úsentry_sdk.utilsr   r   Útypingr   r   r	   r
   r   r   r   Úobjectr   rH   r   r   ú<module>rN      s>   ðÛ å .Ý +Ý -áÝ!ÝÝÝÝå/ò/ò
ôPˆfõ Pr   