Ë
    ¨eh\  ã                   ó@   — d Z ddlmZ ddlmZ ddlZddlmZ ddœd„Zy)zœ
Internal debugging utilities, that are not expected to be used in the rest of
the codebase.

WARNING: Code in this module may change without prior notice!
é    )ÚStringIO)ÚPathN)ÚTransformNode)Ú	highlightc                ó@  ‡‡‡— ‰€| gŠt        «       Šˆˆˆfd„Št        «       }|j                  d«        ‰| |«       |j                  d«       t        j                  ddt        |«      j                  dd d|g|j                  «       j                  d	«      d
¬«       y)aÔ  
    Generate a graphical representation of the transform tree for *transform*
    using the :program:`dot` program (which this function depends on).  The
    output format (png, dot, etc.) is determined from the suffix of *dest*.

    Parameters
    ----------
    transform : `~matplotlib.transform.Transform`
        The represented transform.
    dest : str
        Output filename.  The extension must be one of the formats supported
        by :program:`dot`, e.g. png, svg, dot, ...
        (see https://www.graphviz.org/doc/info/output.html).
    highlight : list of `~matplotlib.transform.Transform` or None
        The transforms in the tree to be drawn in bold.
        If *None*, *transform* is highlighted.
    Nc           
      óz  •— t        | «      ‰v ry ‰j                  t        | «      «       i }t        | «      j                  }| j                  rd|› d�}| ‰v rd|d<   d|d<   d|z  |d<   d	j                  t        d
j                  |j                  «       «      «      }|j                  t        | «      › d|› d�«       t        | «      j                  «       D ]d  \  }}t        |t        «      sŒt        | «      |j                  v sŒ/|j                  dt        | «      › dt        |«      › d|› d�«        ‰||«       Œf y )Nú[ú]ÚboldÚstyleÚboxÚshapez"%s"Úlabelú z{0[0]}={0[1]}z [z];
ú"z" -> "z
" [label="z", fontsize=10];
)ÚidÚaddÚtypeÚ__name__Ú_invalidÚjoinÚmapÚformatÚitemsÚwriteÚvarsÚ
isinstancer   Ú_parents)	ÚrootÚbufÚpropsr   ÚkeyÚvalr   ÚrecurseÚseens	         €€€úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/_internal_utils.pyr$   z(graphviz_dump_transform.<locals>.recurse&   s$  ø€ Üˆd‹8�tÑØØ�‰”�D“ÔØˆÜ�T“
×#Ñ#ˆØ�=Š=Ø˜�w˜a�LˆEØ�9ÑØ#ˆE�'‰NØˆˆg‰Ø %™ˆˆg‰Ø—‘œ˜_×3Ñ3°U·[±[³]ÓCÓDˆØ�	‰	”R˜“X�J˜b   tÐ,Ô-Ü˜T›
×(Ñ(Ó*ò 	"‰HˆC�Ü˜#œ}Õ-´"°T³(¸c¿l¹lÒ2JØ—	‘	˜Aœb ›h˜Z v¬b°«g¨Yð 7%Ø%( EÐ);ð=ô >á˜˜SÕ!ñ		"ó    zdigraph G {
z}
Údotz-Té   z-ozutf-8T)ÚinputÚcheck)	Úsetr   r   Ú
subprocessÚrunr   ÚsuffixÚgetvalueÚencode)Ú	transformÚdestr   r    r$   r%   s     ` @@r&   Úgraphviz_dump_transformr4      sŠ   ú€ ð& ÐØ�Kˆ	Ü‹5€Dö"ô( ‹*€CØ‡I�IˆoÔÙˆI�sÔØ‡I�IˆeÔÜ‡N�NØ	�”d˜4“j×'Ñ'¨¨Ð+¨T°4Ð8Ø�l‰l‹n×#Ñ# GÓ,°Dö:r'   )	Ú__doc__Úior   Úpathlibr   r-   Úmatplotlib.transformsr   r4   © r'   r&   ú<module>r:      s"   ðñõ Ý Û å /ð ;?õ 1:r'   