
    Vpf                    T   d Z ddlmZ ddlZddlZddlZddlZddlZddlm	Z	m
Z
 dej        v ZerddlmZ ddlmZ  G d d	ej        
          Ze
eef         Z G d de          Zej         G d de                      Zej         G d de                      Zd&dZd'dZd(dZ ej        ed          Z ej        ed          Z ej        ed          Z ej        ed          Z  ej        ed           Z! ej        ed!          Z" ej        ed"          Z#d)d$Z$d% Z%dS )*z(Module for building interfaces in Colab.    )annotationsN)AnyUnionzgoogle.colab)output)displayc                  .    e Zd Zej        d             ZdS )
DOMElementc                    d S N selfs    [/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jax/_src/debugger/colab_lib.pyrenderzDOMElement.render%       D    N)__name__
__module____qualname__abcabstractmethodr   r   r   r   r	   r	   #   s1        	 	 	 	 	r   r	   )	metaclassc                      e Zd ZdZej        d             Zej        d
d            Zej        dd            Zej        d             Z	d	S )DynamicDOMElementz"A DOM element that can be mutated.c                    d S r   r   r   s    r   r   zDynamicDOMElement.render0   r   r   childr	   c                    d S r   r   r   r   s     r   appendzDynamicDOMElement.append4   r   r   elemc                    d S r   r   r   r    s     r   updatezDynamicDOMElement.update8   r   r   c                    d S r   r   r   s    r   clearzDynamicDOMElement.clear<   r   r   Nr   r	   r    r	   )
r   r   r   __doc__r   r   r   r   r#   r%   r   r   r   r   r   -   s        **	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	r   r   c                      e Zd ZU dZ ej        d          Zded<    ej        d          Zded<   ded	<   d
 Z	e
d             Zd ZddZddZd ZdS )
DynamicDivzA `div` that can be edited.Finitstr_uuidr	   
_root_elemzDOMElement | strr    c                    t          t          j                              | _        d| _        t          | j                  | _        d S )NF)id)r-   uuiduuid4r.   	_rendereddivtagr/   r   s    r   __post_init__zDynamicDiv.__post_init__G   s6    TZ\\""DJDNTX&&&DOOOr   c                    d| j          S )Nztag-)r.   r   s    r   r6   zDynamicDiv.tagL   s    $*r   c                    | j         rt          d          | j                                         d| _         |                     | j                   d S )NzCan't call `render` twice.T)r4   
ValueErrorr/   r   r   r    r   s    r   r   zDynamicDiv.renderP   sP    ~ 53444ODNKK	r   r   c                2   | j         s|                                  t          j        | j        g          5  t          j        d| j                   5  |                                 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )N#)r4   r   r   use_tagsr6   redirect_to_elementr   s     r   r   zDynamicDiv.appendW   s   > 
kkmmm	$(	$	$  %n$(nn55                                 s5   BA4(B4A8	8B;A8	<BBBc                d    |                                   || _        |                                  d S r   )r%   r    r   r"   s     r   r#   zDynamicDiv.update^   s'    JJLLLDIKKMMMMMr   c                J    t          j        | j        g           d| _        d S )N)output_tagsF)r   r%   r6   r4   r   s    r   r%   zDynamicDiv.clearc   s$    
LdhZ((((DNNNr   Nr&   r'   )r   r   r   r(   dataclassesfieldr.   __annotations__r/   r7   propertyr6   r   r   r#   r%   r   r   r   r*   r*   @   s         ## { e,,,%,,,,,;,%888*8888' ' '
   8        
    r   r*   c                      e Zd ZU dZ ej        d          Zded<   ded<   ded<   d	ed
<   d Zd Z	ddZ
d Zd ZddZddZdS )StaticDOMElementzAn immutable DOM element.Fr+   r-   r.   namezlist[str | DOMElement]childrenzdict[str, str]attrsc                   d}| j         r9dd                    d | j                                         D                       z   }g }d                    d | j        D                       }d| j         | d| d| j         dS )	N  c                $    g | ]\  }}| d | dS )z=""r   ).0keyvalues      r   
<listcomp>z)StaticDOMElement.html.<locals>.<listcomp>t   s-    
E
E
EJCce
E
E
Er   
c                ,    g | ]}t          |          S r   )r-   )rP   cs     r   rS   z)StaticDOMElement.html.<locals>.<listcomp>v   s    888Q#a&&888r   <>z</)rJ   joinitemsrI   rH   )r   attr_strrI   s      r   htmlzStaticDOMElement.htmlp   s    Hz H
E
E$*2B2B2D2D
E
E
EG G HhHyy88$-88899H=ty=(==X======r   c                v    t          j         t          j        |                                                      d S r   )r   HTMLr\   r   s    r   r   zStaticDOMElement.rendery   s*    OGL--.....r   rQ   returnc                    | j         |         S r   )rJ   )r   rQ   s     r   attrzStaticDOMElement.attr|   s    :c?r   c                *    |                                  S r   r\   r   s    r   __str__zStaticDOMElement.__str__       99;;r   c                *    |                                  S r   rc   r   s    r   __repr__zStaticDOMElement.__repr__   re   r   r   r	   c                @    t          j        | g | j        |          S )N)rI   )rB   replacerI   r   s     r   r   zStaticDOMElement.append   s%    t.E.Eu.EFFFFr   c                &    t          j        | fi |S r   )rB   ri   )r   kwargss     r   ri   zStaticDOMElement.replace   s    t..v...r   N)rQ   r-   r_   r-   )r   r	   r_   r	   )r_   r	   )r   r   r   r(   rB   rC   r.   rD   r\   r   ra   rd   rg   r   ri   r   r   r   rG   rG   h   s         !! { e,,,%,,,,)))""""> > >/ / /       G G G G/ / / / / /r   rG   
style_dictdict[str, Any]r_   r-   c                d    d                     d |                                 D                       S )NrM   c                $    g | ]\  }}| d | dS )z: ;r   )rP   kvs      r   rS   z&_style_dict_to_str.<locals>.<listcomp>   s(    ???DAqa<<1<<<???r   )rY   rZ   )rl   s    r   _style_dict_to_strrs      s/    	??J,<,<,>,>???	@	@@r   r    c                     t          |           S r   )r*   )r    s    r   dynamicru      s    	D		r   r6   rI   Elementc                >    t          | t          |          |          S )z(Helper function for making DOM elements.)rG   list)r6   rI   rJ   s      r   
_make_elemry      s    	#tH~~u	5	55r   coder5   liolpreprogressspantextc                &    t          d| gi           S )Nstyle)rG   )r   s    r   cssr      s    	'D62	.	..r   c                 4    t          t          | i |          S r   )rs   dict)argsrk   s     r   r   r      s    	D$1&11	2	22r   )rl   rm   r_   r-   )r    rG   r_   r*   )r6   r-   rI   rv   r_   rG   )r   r-   r_   rG   )&r(   
__future__r   r   rB   	functoolssysr2   typingr   r   modulesIS_COLAB_ENABLEDgoogle.colabr   IPythonr   ABCMetar	   r-   rv   r   	dataclassr*   rG   rs   ru   ry   partialrz   r5   r{   r|   r}   r~   r   r   r   r   r   r   <module>r      s   / . " " " " " " 



         



         !S[0   "!!!!!
	 	 	 	 	3; 	 	 	 	 
C
 	 	 	 	 	
 	 	 	& $ $ $ $ $" $ $ $N  /  /  /  /  /z  /  /  /FA A A A   6 6 6 6
 yV,,i
E**Yz4((Yz4((i
E**9Z44yV,,/ / / /3 3 3 3 3r   