Ë
    Ûvžj\  ã                   óê   — d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ de j                  d<   d dl
mZ d dlmZ i Z ej                  d	«      Z G d
„ dee«      Z G d„ dee«      Zd„ Z G d„ de«      Zy)é    N)ÚJupyterHandler)ÚExtensionApp)ÚExtensionHandlerMixinÚ1ÚJUPYTER_CADQUERY)ÚViewerBackend)ÚMessageTypeé    c                   ó   — e Zd Zd„ Zy)ÚMeasureHandlerc                 óÜ  — | j                  d«      }t        j                  | j                  d«      «      }| j                  d«      }|t        k7  rU| j                  j                  d«       | j                  dd¬«       | j                  t        j                  ddi«      «       y |€B| j                  j                  d«       | j                  t        j                  ddi«      «       y |€B| j                  j                  d	«       | j                  t        j                  dd
i«      «       y t        j                  |«      }|€B| j                  j                  d«       | j                  t        j                  ddi«      «       y | j                  j                  d|› d|› �«       |j                  |t        j                  «      }| j                  t        j                  d|i«      «       y )NÚviewerÚdataÚapikeyúInvalid API keyé‘  ©ÚreasonÚerrorúUnknown viewerzMissing messagez"Missing shape ID(s) or active ToolzIdentifiers received z for viewer Úsuccess)Úget_body_argumentÚorjsonÚloadsÚAPI_KEYÚlogr   Ú
set_statusÚfinishÚdumpsÚBACKENDSÚgetÚinfoÚhandle_eventr	   ÚUPDATES)Úselfr   Úmessager   ÚbackendÚresults         úe/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/jupyter_cadquery/app.pyÚpostzMeasureHandler.post$   st  € Ø×'Ñ'¨Ó1ˆÜ—,‘,˜t×5Ñ5°fÓ=Ó>ˆà×'Ñ'¨Ó1ˆØ”WÒØ�H‰H�N‰NÐ,Ô-Ø�O‰O˜CÐ(9ˆOÔ:Ø�K‰KœŸ™ gÐ/@Ð%AÓBÔCØàˆ>Ø�H‰H�N‰NÐ+Ô,Ø�K‰KœŸ™ gÐ/?Ð%@ÓAÕBØˆ_Ø�H‰H�N‰NÐ,Ô-Ø�K‰KœŸ™ gÐ/SÐ%TÓUÕVä—l‘l 6Ó*ˆGØˆØ—‘—‘Ð/Ô0Ø—‘œFŸL™L¨'Ð3CÐ)DÓEÕFà—‘—‘Ð 5°g°Y¸lÈ6È(ÐSÔTØ ×-Ñ-¨g´{×7JÑ7JÓK�Ø—‘œFŸL™L¨)°VÐ)<Ó=Õ>ó    N©Ú__name__Ú
__module__Ú__qualname__r*   © r+   r)   r   r   #   s   „ ó?r+   r   c                   ó   — e Zd Zd„ Zy)ÚObjectsHandlerc                 óH  — | j                  d«      }t        j                  | j                  d«      «      }| j                  d«      }|t        k7  rU| j                  j                  d«       | j                  dd¬«       | j                  t        j                  ddi«      «       y |€B| j                  j                  d«       | j                  t        j                  ddi«      «       y |€B| j                  j                  d	«       | j                  t        j                  dd	i«      «       y t        d
|¬«      t        |<   t        |   j                  |d   «       | j                  j                  d|› �«       | j                  t        j                  dd|› �i«      «       y )Nr   r   r   r   r   r   r   r   zMissing objectsr   )ÚportÚjcv_idÚmodelzObjects received for viewer r   )r   r   r   r   r   r   r   r   r   r   r    Ú
load_modelr"   )r%   r   r   r   s       r)   r*   zObjectsHandler.postA   sJ  € Ø×'Ñ'¨Ó1ˆÜ�|‰|˜D×2Ñ2°6Ó:Ó;ˆà×'Ñ'¨Ó1ˆØ”WÒØ�H‰H�N‰NÐ,Ô-Ø�O‰O˜CÐ(9ˆOÔ:Ø�K‰KœŸ™ gÐ/@Ð%AÓBÔCØàˆ>Ø�H‰H�N‰NÐ+Ô,Ø�K‰KœŸ™ gÐ/?Ð%@ÓAÕBØˆ\Ø�H‰H�N‰NÐ,Ô-Ø�K‰KœŸ™ gÐ/@Ð%AÓBÕCä,°!¸FÔCŒH�VÑÜ�VÑ×'Ñ'¨¨W©Ô6Ø�H‰H�M‰MÐ8¸¸ÐAÔBØ�K‰KÜ—‘˜iÐ+GÈÀxÐ)PÐQÓRõr+   Nr,   r0   r+   r)   r2   r2   @   s   „ ór+   r2   c                 ó   ‡ ‡— ˆˆ fd„}|S )Nc                  ó  •—  ‰«        ‰j                   } t        | «      t        j                  d<   t        t        j                  d<   ‰j
                  j                  d| › �«       ‰j
                  j                  dt        › �«       y )NÚJUPYTER_PORTÚJUPYTER_CADQUERY_API_KEYzJUPYTER_PORT=zJUPYTER_CADQUERY_API_KEY=)r4   ÚstrÚosÚenvironr   r   r"   )r4   Ú	init_httpr%   s    €€r)   Úinit_httpserverz wrapper.<locals>.init_httpserver\   sa   ø€ ÙŒØ�y‰yˆÜ%(¨£YŒ�
‰
�>Ñ"Ü18Œ�
‰
Ð-Ñ.Ø�‰�‰˜ d VÐ,Ô-Ø�‰�‰Ð1´'°Ð;Õ<r+   r0   )r%   r?   r@   s   `` r)   ÚwrapperrA   [   s   ù€ õ=ð Ðr+   c                   ó*   — e Zd ZdZg Zg Zd„ Zd„ Zd„ Zy)ÚJupyterCadqueryBackendÚjupyter_cadqueryc                 óþ   — | j                   j                  dt        f«       | j                   j                  dt        f«       | j                  j
                  }t        | j                  |«      | j                  _        y )Nz/measurez/objects)ÚhandlersÚappendr   r2   Ú	serverappr@   rA   )r%   r?   s     r)   Úinitialize_handlersz*JupyterCadqueryBackend.initialize_handlersl   sV   € Ø�‰×Ñ˜k¬>Ð:Ô;Ø�‰×Ñ˜k¬>Ð:Ô;à—N‘N×2Ñ2ˆ	Ü)0°·±ÀÓ)Kˆ�‰Õ&r+   c                  ó   — y ©Nr0   ©r%   s    r)   Úinitialize_settingsz*JupyterCadqueryBackend.initialize_settingss   ó   € Ør+   c                  ó   — y rK   r0   rL   s    r)   Úinitialize_templatesz+JupyterCadqueryBackend.initialize_templatesv   rN   r+   N)	r-   r.   r/   ÚnameÚstatic_pathsÚtemplate_pathsrI   rM   rP   r0   r+   r)   rC   rC   g   s!   „ Ø€DØ€LØ€NòLòór+   rC   )r=   Úsecretsr   Újupyter_server.base.handlersr   Ú$jupyter_server.extension.applicationr   Ú jupyter_server.extension.handlerr   r>   Úocp_vscode.backendr   Úocp_vscode.commsr	   r    Útoken_urlsafer   r   r2   rA   rC   r0   r+   r)   Ú<module>r[      sv   ðó" 
Û ã Ý 7Ý =Ý Bð "%€‡
�
ÐÑ Ý ,Ý (à€à
ˆ'×
Ñ
 Ó
#€ô?Ð*¨Nô ?ô:Ð*¨Nô ò6	ô˜\õ r+   