
    6DhrG                        S SK r S SKJr  S SKrS SKJr  S SKJr  S SKJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJr  \R8                  " S5      r\R8                  " S5      r\R8                  " S	5      rS SKJr  S SK r S
 r! " S S\"5      r#\#" 5       r$C#S>S jr%\
" 5       r&\&\$S'   \&\$S'   \&\$S'   \&\$S'   0 r'\" \'S9\$S'   \" \'SS9\$S'   \" \'S9\$S'   \" \'S9\$S'   \" \'S9\$S'   \" 5       \$S'   \" 5       \$S'   \" 5       \$S'   \" 5       \$S'   \" 5       r(\(\$S'   \(\$S'   \" 5       \$S '   \" 5       \$S!'   \" \'S9\$S"'   \" \'S#S$9\$S#'   \" \'S%S$9\$S&'   \" \'S'S$9\$S('   \" \'SS)9\$S*'   \" \'S+S)9\$S,'   \" 5       \$S-'   \" 5       \$S.'   Sr)\RT                  RW                  S/S5      r,\,(       a   \$R[                  \,5        \,r)GOo\(       GaO  \)(       d   S SK0r1Sr)\)(       d"  \Rf                  Ri                  S25      (       a  Sr)\)(       d  S3\RT                  ;   a  Sr)\)(       d  S4\RT                  ;   a  Sr)\)(       d  S5\RT                  ;   a  Sr)\)(       d  S6\RT                  ;   a  Sr)\)(       d  S7\RT                  ;   a  Sr)\)(       d   S8\RT                  ;   a   S S9K5J6r6  \6" 5         S r)\Ro                  5       r8\8Rr                  Rt                  r;\)(       d  \;S::X  a  S"r)\)(       d.  \;S;:X  a(  \<" \85      Rz                  R}                  S<5      (       a  Sr)\)(       d  S=r)O S SK?r?\?RV                  " 5         S"r)S\$lA        \)\$lB        g! \. a    \." S0R_                  \,S195      ef = f! \2 a     GNf = f! \. a     Nf = f! \@ a     NOf = f)?    N)copy)Version)optional_imports)MimetypeRendererExternalRendererPlotlyRendererNotebookRendererKaggleRendererAzureRendererColabRendererJsonRendererPngRendererJpegRendererSvgRendererPdfRendererBrowserRendererIFrameRendererSphinxGalleryHtmlRendererSphinxGalleryOrcaRendererCoCalcRendererDatabricksRenderer)validate_coerce_fig_to_dictIPythonzIPython.displaynbformatc                     S n  [         R                  " S5      nUb/  UR                  5       R                  5       R	                  5       S   n U c  g SU ;   aP  [         R                  " S5      nUb6  UR                  S:  a%  [        R                  " SUR                   S35        g g g SU ;   aP  [         R                  " S	5      nUb6  UR                  S
:  a%  [        R                  " SUR                   S35        g g g g ! [
         a     Nf = f)Npsutilzjupyter-notebooknotebook7z@Plotly version >= 6 requires Jupyter Notebook >= 7 but you have zV installed.
 To upgrade Jupyter Notebook, please run `pip install notebook --upgrade`.zjupyter-lab
jupyterlab3z:Plotly version >= 6 requires JupyterLab >= 3 but you have zQ installed. To upgrade JupyterLab, please run `pip install jupyterlab --upgrade`.)	r   
get_moduleProcessparentcmdline	Exception__version__warningswarn)parent_processr   jupyter_notebookjupyter_labs       F/var/www/html/env/lib/python3.13/site-packages/plotly/io/_renderers.py display_jupyter_version_warningsr.   (   s$   N!,,X6#^^-446>>@DN 	~	-+66zB',<,H,H3,NMMRScSoSoRp  qH  I -O'
 
.	(&11,?"{'>'>'DMML[MdMdLe  fw  x (E" 
)  s   AC= =
D
	D
c                       \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS r0 4S jr\S 5       r\R"                  S 5       r\S 5       r\R"                  S 5       r\4S jrS rS rS rSS jrSS jrSrg)RenderersConfigE   zA
Singleton object containing the current renderer configurations
c                 J    0 U l         S U l        / U l        SU l        / U l        g )NF)
_renderers_default_name_default_renderers_render_on_display_to_activateselfs    r-   __init__RenderersConfig.__init__J   s)    !"$"'    c                 ,    [        U R                  5      $ N)lenr3   r8   s    r-   __len__RenderersConfig.__len__S   s    4??##r<   c                     XR                   ;   $ r>   r3   )r9   items     r-   __contains__RenderersConfig.__contains__V   s    &&r<   c                 ,    [        U R                  5      $ r>   )iterr3   r8   s    r-   __iter__RenderersConfig.__iter__Y   s    DOO$$r<   c                 $    U R                   U   nU$ r>   rC   )r9   rD   renderers      r-   __getitem__RenderersConfig.__getitem__\   s    ??4(r<   c                     [        U[        [        45      (       d!  [        SR	                  [        U5      S95      eX R                  U'   g )NzhRenderer must be a subclass of MimetypeRenderer or ExternalRenderer.
    Received value with type: {typ})typ)
isinstancer   r   
ValueErrorformattyper3   )r9   keyvalues      r-   __setitem__RenderersConfig.__setitem__`   sL    %"24D!EFF''-vU (. (   %r<   c                 N    U R                   U	 U R                  U:X  a  S U l        g g r>   )r3   _default)r9   rU   s     r-   __delitem__RenderersConfig.__delitem__l   s(    OOC  ==C DM  r<   c                 6    U R                   R                  5       $ r>   )r3   keysr8   s    r-   r^   RenderersConfig.keyst   s    ##%%r<   c                 6    U R                   R                  5       $ r>   )r3   itemsr8   s    r-   ra   RenderersConfig.itemsw   s    $$&&r<   c                 R    [        U40 UD6R                  5        H	  u  p4X@U'   M     g)a  
Update one or more renderers from a dict or from input keyword
arguments.

Parameters
----------
d: dict
    Dictionary from renderer names to new renderer objects.

kwargs
    Named argument value pairs where the name is a renderer name
    and the value is a new renderer object
N)dictra   )r9   dkwargskvs        r-   updateRenderersConfig.updatez   s*     %f%++-DAG .r<   c                     U R                   $ )a  
The default renderer, or None if no there is no default

If not None, the default renderer is used to render
figures when the `plotly.io.show` function is called on a Figure.

If `plotly.io.renderers.render_on_display` is True, then the default
renderer will also be used to display Figures automatically when
displayed in the Jupyter Notebook

Multiple renderers may be registered by separating their names with
'+' characters. For example, to specify rendering compatible with
the classic Jupyter Notebook, JupyterLab, and PDF export:

>>> import plotly.io as pio
>>> pio.renderers.default = 'notebook+jupyterlab+pdf'

The names of available renderers may be retrieved with:

>>> import plotly.io as pio
>>> list(pio.renderers)

Returns
-------
str
)r4   r8   s    r-   defaultRenderersConfig.default   s    8 !!!r<   c                     U(       d  SU l         / U l        g U R                  U5      nXl         U Vs/ s H  o0U   PM	     snU l        [        U R                  5      U l        g s  snf )N )r4   r5   _validate_coerce_rendererslistr7   )r9   rV   renderer_namesnames       r-   rl   rm      sh      "$D&(D# 88?":H"I.$:."I !!8!89 #Js   A#c                     U R                   $ )z
If True, the default mimetype renderers will be used to render
figures when they are displayed in an IPython context.

Returns
-------
bool
)r6   r8   s    r-   render_on_display!RenderersConfig.render_on_display   s     &&&r<   c                 $    [        U5      U l        g r>   )boolr6   )r9   vals     r-   ru   rv      s    "&s)r<   c                 Z   U R                    Vs/ s H  o!(       d  M  [        X!5      (       d  M  UPM!     nnU(       a*  UR                  S5      nUR                  5         U(       a  M*  U R                    Vs/ s H  o!(       a  [        X!5      (       a  M  UPM     snU l         gs  snf s  snf )z
Activate all renderers that are waiting in the _to_activate list

Parameters
----------
cls
    Only activate renders that are subclasses of this class
r   N)r7   rQ   popactivate)r9   clsrto_activate_with_clsrL   s        r-   _activate_pending_renderers+RenderersConfig._activate_pending_renderers   s     (( 
(!CAJq4FA( 	  
 # ,//2H	 #" ((
(!A9KA(
 

s   
B#B#B#6B(B(c                     [        U[        5      (       d  [        S5      eUR                  S5      nU Vs/ s H  o3U ;  d  M
  UPM     nnU(       a#  [        SR	                  [        U5      5      5      eU$ s  snf )z
Input a string and validate that it contains the names of one or more
valid renderers separated on '+' characters.  If valid, return
a list of the renderer names

Parameters
----------
renderers_string: str

Returns
-------
list of str
z&Renderer must be specified as a string+z'
Invalid named renderer(s) received: {})rQ   strrR   splitrS   )r9   renderers_stringrr   rs   invalids        r-   rp   *RenderersConfig._validate_coerce_renderers   s{     *C00EFF)//4$2GND$6F4NG**0&L+   Hs   	A7A7c                 d    SR                  [        U R                  5      U R                  5       S9$ )NzuRenderers configuration
-----------------------
    Default renderer: {default}
    Available renderers:
{available}
)rl   	available)rS   reprrl   _available_renderers_strr8   s    r-   __repr__RenderersConfig.__repr__  s4     F&$2O2O2Q  
	
r<   c           	      v    SR                  [        R                  " [        [	        U 5      5      SSSS95      nU$ )zM
Return nicely wrapped string representation of all
available renderer names

G   z        z	         )widthinitial_indentsubsequent_indent)jointextwrapwrapr   rq   )r9   r   s     r-   r   (RenderersConfig._available_renderers_str  s;    
 IIMMT$Z &")	
	 r<   Nc                    U(       aV  U R                  U5      nU Vs/ s H  oPU   PM	     nnU H*  n[        U[        5      (       d  M  UR                  5         M,     OU R	                  [        S9  U R
                  n0 nU H|  n[        U[        5      (       d  M  [        U5      nUR                  5        H#  u  p[        Xy5      (       d  M  [        XyU
5        M%     UR                  UR                  U5      5        M~     U$ s  snf )a  
Build a mime bundle dict containing a kev/value pair for each
MimetypeRenderer specified in either the default renderer string,
or in the supplied renderers_string argument.

Note that this method skips any renderers that are not subclasses
of MimetypeRenderer.

Parameters
----------
fig_dict: dict
    Figure dictionary
renderers_string: str or None (default None)
    Renderer string to process rather than the current default
    renderer string

Returns
-------
dict
r}   )rp   rQ   r   r|   r   r5   r   ra   hasattrsetattrri   to_mimebundle)r9   fig_dictr   rf   rr   rs   renderers_listrL   bundlerg   rh   s              r-   _build_mime_bundle"RenderersConfig._build_mime_bundle  s    * !<<=MNN5CD^T4j^ND +h(899%%' +
 ,,1A,B!44N&H($455>"LLNDAx++Q/ + h44X>? ' + Es   Dc                    U(       aV  U R                  U5      nU Vs/ s H  oPU   PM	     nnU H*  n[        U[        5      (       d  M  UR                  5         M,     OU R	                  [        S9  U R
                  nU Hm  n[        U[        5      (       d  M  [        U5      nUR                  5        H#  u  p[        Xx5      (       d  M  [        XxU	5        M%     UR                  U5        Mo     gs  snf )a  
Perform external rendering for each ExternalRenderer specified
in either the default renderer string, or in the supplied
renderers_string argument.

Note that this method skips any renderers that are not subclasses
of ExternalRenderer.

Parameters
----------
fig_dict: dict
    Figure dictionary
renderers_string: str or None (default None)
    Renderer string to process rather than the current default
    renderer string

Returns
-------
None
r   N)rp   rQ   r   r|   r   r5   r   ra   r   r   render)
r9   r   r   rf   rr   rs   r   rL   rg   rh   s
             r-   _perform_external_rendering+RenderersConfig._perform_external_renderingI  s    * !<<=MNN5CD^T4j^ND +h(899%%' + ,,1A,B!44N&H($455>"LLNDAx++Q/ + ) ' Es   C1)rZ   r4   r5   r6   r3   r7   r>   )__name__
__module____qualname____firstlineno____doc__r:   r@   rE   rI   rM   rW   r[   r^   ra   ri   propertyrl   setterru   objectr   rp   r   r   r   r   __static_attributes__ r<   r-   r0   r0   E   s    $'%
%!&'  $ " ": ^^: :" 	' 	' , , /5 
.<	
,\(*r<   r0   Tc                 l   [        X5      n[        R                  " U4SU0UD6nU(       ap  [        (       d  [	        S5      e[
        (       a&  [        [
        R                  5      [        S5      :  a  [	        S5      e[        5         [        R                  USS9  [        R                  " U4SU0UD6  g)a  
Show a figure using either the default renderer(s) or the renderer(s)
specified by the renderer argument

Parameters
----------
fig: dict of Figure
    The Figure object or figure dict to display

renderer: str or None (default None)
    A string containing the names of one or more registered renderers
    (separated by '+' characters) or None.  If None, then the default
    renderers specified in plotly.io.renderers.default are used.

validate: bool (default True)
    True if the figure should be validated before being shown,
    False otherwise.

width: int or float
    An integer or float that determines the number of pixels wide the
    plot is. The default is set in plotly.js.

height: int or float
    An integer or float specifying the height of the plot in pixels.
    The default is set in plotly.js.

config: dict
    A dict of parameters to configure the figure. The defaults are set
    in plotly.js.

Returns
-------
None
r   z<Mime type rendering requires ipython but it is not installedz4.2.0zDMime type rendering requires nbformat>=4.2.0 but it is not installedT)rawN)r   	renderersr   ipython_displayrR   r   r   r'   r.   displayr   )figrL   validaterf   r   r   s         r-   showr   {  s    F +39H ))(XXXQWXFN  x78#7#7877;KKV  	)*D1 ))(XXXQWXr<   plotly_mimetyper    nteractvscode)configr   )r   	connectednotebook_connectedkaggleazurecolabcocalc
databricksjsonpngjpegjpgsvgpdfbrowserfirefox)r   using)chromezgoogle-chromer   )chromiumzchromium-browserr   )r   include_plotlyjsiframecdniframe_connectedsphinx_gallerysphinx_gallery_pngPLOTLY_RENDERERzb
Invalid named renderer(s) specified in the 'PLOTLY_RENDERER'
environment variable: {env_renderer})env_rendererz/kaggle/inputAZURE_NOTEBOOKS_HOST
VSCODE_PIDNTERACT_EXECOCALC_PROJECT_IDDATABRICKS_RUNTIME_VERSIONSPYDER_ARGS)validate_executableTerminalInteractiveShellZMQInteractiveShellz
ipykernel.zplotly_mimetype+notebook)NT)Cr   r   ospackaging.versionr   plotlyr   plotly.io._base_renderersr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   plotly.io._utilsr   r"   ipythonr   r   r(   r.   r   r0   r   r   plotly_rendererr   jpeg_rendererdefault_rendererenvirongetr   rp   rR   rS   google.colabgoogleImportErrorpathexistsplotly.io.orcar   get_ipythonipython_info	__class__r   shellrT   r   
startswith
webbrowserr&   ru   rl   r   r<   r-   <module>r      s     	 % #    ( 9

%
%i
0"--.?@&&z2 # :l*f l*b	 	7Y| !".	
 )	, &	) %	(  
(7	* "2&D"Q	
 $F3	( "&1	' "&1	' $&	( ,.	,  !N	&  =	% !	&  	% =	% =	%  'f5	) &fYH	) %V;VW	( '9	*  %FTJ	(  .fu U	
 79	
 ";"=	
 
   zz~~/6	
,,\: $ 	&
  ? ?#  6"** D" 

 :#  ;$  3rzz A# <

 J'  ;	:!$ &&(L""++E*D!D$ ++,**55lCC,
 5	$ #	 $	 s  
((.) )/ )
 	

$  		B  		>   		sB   1M M# M0 M< M #M-,M-0M98M9<NN