
    -e,                        d Z ddlmZ ddlZ ej        e          ZddlmZ ddl	m
Z
mZ ddlmZ ddlmZ e
rd	d
lmZ dZddZddZdZdZdS )z` Provide a base class for all objects (called Bokeh Models) that can go in
a Bokeh |Document|.

    )annotationsN)
itemgetter)TYPE_CHECKINGAny   )make_id)append_docstring   )Model)	html_reprprocess_exampleobjr   c                   | j         j        }| j         j        }t          | dd           }t	                      dd}dfd}dd}d}|dz  }t	                      }d	| d
}	 |d| d| d| d          }
| ||
 |dt          |          z   dz   |	z             z             z  }|                                                                 }t          |t          d                    }|}t          |          D ][\  }\  }}|t          |          dz
  k    rdnd}| | |d           ||dz   t          |          z   |z             z             z  }\|dz  }|t          t          |          z  z  }|S )N_idcstrc                    d|  dS )Nz!<div style="display: table-row;"></div> r   s    0lib/python3.11/site-packages/bokeh/model/docs.pyrowzhtml_repr.<locals>.row<   s    <1<<<<    c                    d d|  dS )Nz<div class="z" style="display: none;">r   r   )r   cls_names    r   
hidden_rowzhtml_repr.<locals>.hidden_row>   s    JhJJJJJJr   c                    d|  dS )Nz"<div style="display: table-cell;">r   r   r   s    r   cellzhtml_repr.<locals>.cell@   s    =A====r    z<div style="display: table;">z
<span id="z+" style="cursor: pointer;">&hellip;)</span>z
<b title=".z">z</b>(zid&nbsp;=&nbsp;z, r   )keyr
   ),z&nbsp;=&nbsp;r   )ellipsis_idr   )r   r   )	__class__
__module____name__getattrr   reprproperties_with_valuesitemssortedr   	enumeratelen
_HTML_REPRdict)r   modulenamer   r   r   r   htmlr$   ellipsisprefixpropssorted_props	all_propsipropvalueendr   s                     @r   r   r   3   s   ]%F=!D
#ud
#
#CyyH= = = =K K K K K K> > > > D++D))KTKTTTHT;v;;;;;;;<<FCC4tCyy@4G(RSSSTTTD&&((..00E%Z]]333LI%i00 X X=D%#i..***cc

4488dd4/+ADKK+ORU+U&V&VVWWWHDJ+IIIIIDKr   cls	type[Any]returnNonec                    d| j         v r@t          | j        t                              | j         d                             | _        dS dS )zI A decorator to mark abstract base classes derived from |HasProps|.

    __example__)pathN)__dict__r	   __doc___EXAMPLE_TEMPLATEformat)r=   s    r   r   r   X   sL     $$&s{4E4L4LRUR^_lRm4L4n4noo %$r   a  
<script>
(function() {
  let expanded = false;
  const ellipsis = document.getElementById("%(ellipsis_id)s");
  ellipsis.addEventListener("click", function() {
    const rows = document.getElementsByClassName("%(cls_name)s");
    for (let i = 0; i < rows.length; i++) {
      const el = rows[i];
      el.style.display = expanded ? "none" : "table-row";
    }
    ellipsis.innerHTML = expanded ? "&hellip;)" : "&lsaquo;&lsaquo;&lsaquo;";
    expanded = !expanded;
  });
})();
</script>
z`

    Example
    -------

    .. bokeh-plot:: __REPO__/{path}
        :source-position: below

)r   r   )r=   r>   r?   r@   )rE   
__future__r   logging	getLoggerr'   logoperatorr   typingr   r   util.serializationr   util.stringsr	   modelr   __all__r   r   r/   rF   r   r   r   <module>rR      s     # " " " " " g!!        % % % % % % % % ) ( ( ( ( ( + + + + + + # # # #Jp p p p
$   r   