§
    ó»·el  ã                  óÊ   — d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZmZ erd d	lmZ d d
lmZ  ej        e¦  «        Z G d„ de¦  «        Zdd„ZdS )é    )ÚannotationsN)ÚTYPE_CHECKING)ÚDocument)ÚBokehSessionContextÚ_RequestProxy)ÚServerSession)Úsettings)Úgenerate_jwt_tokenÚgenerate_session_id)ÚDocumentPatchedEvent)ÚSessionCallbackc                  ó(   — e Zd ZdZdd„Zdd„Zd	„ Zd
S )ÚServerSessionStubzf
    Stubs out ServerSession methods since the session is only used for
    warming up the cache.
    Úeventr   ÚreturnÚNonec                ó   — d S ©N© ©Úselfr   s     ú0lib/python3.11/site-packages/panel/io/session.pyÚ_document_patchedz#ServerSessionStub._document_patched   ó   € Øˆó    r   c                ó   — d S r   r   r   s     r   Ú_session_callback_addedz)ServerSessionStub._session_callback_added   r   r   c                ó   — d S r   r   r   s     r   Ú_session_callback_removedz+ServerSessionStub._session_callback_removed    r   r   N)r   r   r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r      sU   € € € € € ðð ð
ð ð ð ðð ð ð ðð ð ð ð r   r   Tc                óZ  ‡— t          j        ¦   «         }t          j        ¦   «         }t          ||¬¦  «        }|pi }t	          ||||¬¦  «        }t          ¦   «         }t          |d |¦  «        Št          ||                     d¦  «        |                     d¦  «        |                     d¦  «        ¬¦  «        ‰_	        |‰_
        ˆfd„|_        |r|                      |¦  «         |j        j        }	t          ¦   «         |j        _        t!          ||d |¬¦  «        }
|	|j        _        |
S )	N)Ú
secret_keyÚsigned)r%   r&   Úextra_payloadÚ	argumentsÚcookiesÚheaders)r(   r)   r*   c                 ó   •— ‰ S r   r   )Úsession_contexts   €r   ú<lambda>z"generate_session.<locals>.<lambda>>   s   ø€  ?€ r   )Úio_loopÚtoken)r	   Úsecret_key_bytesÚsign_sessionsr   r
   r   r   r   ÚgetÚ_requestÚ_tokenÚ_session_contextÚinitialize_documentÚ	callbacksÚ_session_callbacksÚsetr   )ÚapplicationÚrequestÚpayloadÚ
initializer%   r1   Ú
session_idr/   Údocr7   Úsessionr,   s              @r   Úgenerate_sessionrA   #   sF  ø€ ÝÔ*Ñ,Ô,€JÝÔ*Ñ,Ô,€MÝ$ØØðñ ô €Jð ˆm˜€GÝØØØØð	ñ ô €Eõ ‰*Œ*€CÝ)ØØØñô €Oõ
  -ØØ—+’+˜kÑ*Ô*Ø—’˜IÑ&Ô&Ø—’˜IÑ&Ô&ð	 ñ  ô  €OÔð #€OÔØ2Ð2Ð2Ð2€CÔØð -Ø×'Ò'¨Ñ,Ô,Ð,ð ”Ô0€IÝ'*¡u¤u€C„MÔ$Ý 
¨C¸ÀUÐKÑKÔK€GØ'0€C„MÔ$Ø€Nr   )NNT)Ú
__future__r   ÚloggingÚtypingr   Úbokeh.documentr   Úbokeh.server.contextsr   r   Úbokeh.server.sessionr   Úbokeh.settingsr	   Úbokeh.util.tokenr
   r   Úbokeh.document.eventsr   Úbokeh.server.callbacksr   Ú	getLoggerr    Úlogr   rA   r   r   r   ú<module>rN      s   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€à  Ð  Ð  Ð  Ð  Ð  à #Ð #Ð #Ð #Ð #Ð #Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ .Ð .Ð .Ð .Ð .Ð .Ø #Ð #Ð #Ð #Ð #Ð #Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ Dàð 7Ø:Ð:Ð:Ð:Ð:Ð:Ø6Ð6Ð6Ð6Ð6Ð6ð €gÔ˜Ñ!Ô!€ðð ð ð ð ˜ñ ô ð ð%ð %ð %ð %ð %ð %r   