
    Wh[
                     P    d dl Z d dlZd dlmZ d dlmZ d Zd Z G d dee      Zy)    N)UserDict)ReprHTMLMixinc                     t        j                         }d|_        d|_        d|_        t        j                  |j                  |            }| |v rdnd}|| |dS )zCategorizes parameters as 'default' or 'user-set' and formats their values.
    Escapes or truncates parameter values for display safety and readability.
          2   zuser-setdefault)
param_type
param_nameparam_value)reprlibReprmaxlistmaxtuple	maxstringhtmlescaperepr)namevaluenon_default_paramsrcleaned_valuer
   s         Y/var/www/html/jupyter_env/lib/python3.12/site-packages/sklearn/utils/_repr_html/params.py_read_paramsr      sV     	AAIAJAKKKu.M#'99yJ$DWW    c                     d}d}| j                         D cg c],  \  }} |j                  di t        ||| j                        . }}}|j                  dj	                  |            S c c}}w )a   Generate HTML representation of estimator parameters.

    Creates an HTML table with parameter names and values, wrapped in a
    collapsible details element. Parameters are styled differently based
    on whether they are default or user-set values.
    a/  
        <div class="estimator-table">
            <details>
                <summary>Parameters</summary>
                <table class="parameters-table">
                  <tbody>
                    {rows}
                  </tbody>
                </table>
            </details>
        </div>
    aZ  
        <tr class="{param_type}">
            <td><i class="copy-paste-icon"
                 onclick="copyToClipboard('{param_name}',
                          this.parentElement.nextElementSibling)"
            ></i></td>
            <td class="param">{param_name}&nbsp;</td>
            <td class="value">{param_value}</td>
        </tr>
    
)rows )itemsformatr   non_defaultjoin)paramsHTML_TEMPLATEROW_TEMPLATEr   r   r   s         r   _params_html_reprr(      s{    M	L "<<>D% 	Ll48J8JKLD 
 TYYt_55s   1A-c                   6     e Zd ZdZeZd e       f fd	Z xZS )
ParamsDicta  Dictionary-like class to store and provide an HTML representation.

    It builds an HTML structure to be used with Jupyter notebooks or similar
    environments. It allows storing metadata to track non-default parameters.

    Parameters
    ----------
    params : dict, default=None
        The original dictionary of parameters and their values.

    non_default : tuple
        The list of non-default parameters.
    Nc                 :    t         |   |xs i        || _        y )N)super__init__r#   )selfr%   r#   	__class__s      r   r-   zParamsDict.__init__Q   s    2&&r   )	__name__
__module____qualname____doc__r(   
_html_reprtupler-   __classcell__)r/   s   @r   r*   r*   @   s      #J" ' 'r   r*   )	r   r   collectionsr   sklearn.utils._repr_html.baser   r   r(   r*   r    r   r   <module>r9      s-        7X#6L' 'r   