Ë
    µ2Úip  ã                   óN  — d Z ddl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	 ddl
mZmZ dd„Zej                  j                  ddd	d
ddd ej                   dddeeg¬«      d ej                   ddde¬«      g	«      d„ «       Zej                  j                  dddg«      d„ «       Zy)z
Test output reproducibility.
é    N)Úpyplot)Úneeds_ghostscriptÚneeds_usetexÚmhic           	      óv  — t        j                  |«       t         j                  j                  d|dœ«       t	        j
                  «       }d| v r–|j                  ddd«      }t        d«      }|j                  |dgdz  d¬«       |j                  |d	gdz  d
¬«       |j                  |dgdz  d¬«       |j                  |dgdz  d¬«       |j                  |dgdz  d¬«       d| v r |j                  ddd	«      }|j                  t        dd«      t        dd«      «      |j                  t        dd«      dgdz  t        dd«      ¬«      z   }|j                  g d¢«       d}t        ||«      D ]  \  }	}
|	j                  |
«       Œ d| v r�g d¢g d¢g d¢g}|j                  ddd«      j                  |d¬«       g d¢g d¢g d¢g}|j                  ddd«      j                  |d¬«       g d¢g d¢g d¢g}|j                  ddd«      j                  |d¬«       t        d«      }|j                  ddd«      }|j                  ||«       |j                  d«       |j                  d«       |j!                  d«       t#        t$        j&                  d t$        j&                  «      }|j)                  ||¬!«       y )"NÚasdf)zsvg.hashsaltztext.usetexÚmé   é   é
   ÚD)Úmarkeré   Úxé   ú^é   ÚHé   ÚvÚh)Úbottom)g      ø?g      @g      @g      @)ú-ú+r   ú\Ú*ÚoÚOú.Úi)r
   r   r   )r   r   r
   )r   r
   r   Únearest)Úinterpolation)r
   r   r   Úbilinear)r   r
   r   ÚbicubiczA string $1+2+\sigma$Úbuffer)Úformat)ÚmplÚuseÚrcParamsÚupdateÚpltÚfigureÚadd_subplotÚrangeÚplotÚbarÚ
set_xticksÚzipÚ	set_hatchÚimshowÚ	set_titleÚ
set_xlabelÚ
set_ylabelÚgetattrÚsysÚstdoutÚsavefig)ÚobjectsÚfmtÚusetexÚfigÚax1r   Úax2ÚbarsÚpatternsr0   ÚpatternÚAÚaxr:   s                 úX/var/www/html/acx/venv/lib/python3.12/site-packages/matplotlib/tests/test_determinism.pyÚ_save_figurerH      sb  € Ü‡G�GˆC„LÜ‡L�L×Ñ¨ÀÑGÔHä
�*‰*‹,€Cà
ˆg�~à�o‰o˜a  AÓ&ˆÜ�"‹IˆØ�‰��Q�C˜"‘H SˆÔ)Ø�‰��Q�C˜"‘H SˆÔ)Ø�‰��Q�C˜"‘H SˆÔ)Ø�‰��Q�C˜"‘H SˆÔ)Ø�‰��Q�C˜"‘H SˆÔ)à
ˆg�~à�o‰o˜a  AÓ&ˆØ—‘œ˜a ›¤U¨1¨a£[Ó1Ø—‘œ˜a › a S¨1¡W´U¸1¸a³[�ÓAñBˆà�‰Ò+Ô,à<ˆÜ  hÓ/ò 	#‰LˆC�Ø�M‰M˜'Õ"ð	#ð ˆg�~âš	¢9Ð-ˆØ�‰˜˜1˜aÓ ×'Ñ'¨¸Ð'ÔCÚš	¢9Ð-ˆØ�‰˜˜1˜aÓ ×'Ñ'¨¸Ð'ÔDÚš	¢9Ð-ˆØ�‰˜˜1˜aÓ ×'Ñ'¨¸Ð'ÔCäˆa‹€AØ	�‰˜˜A˜qÓ	!€BØ‡G�GˆAˆq„MØ‡L�LÐ)Ô*Ø‡M�MÐ*Ô+Ø‡M�MÐ*Ô+ä”S—Z‘Z ¬3¯:©:Ó6€FØ‡K�K�˜s€KÕ#ó    zobjects, fmt, usetex)Ú ÚpdfF)r	   rK   F)r   rK   F)r    rK   F)r   rK   F)r   ÚpsFrL   T)Úmarks)r   ÚsvgFrN   c                 ó>  — t        d«      D �cg c]J  }t        j                  t        j                  ddd| ›d|›d|› d�gi t
        j                  ¥ddd	œ¥¬
«      ‘ŒL }}|dd D ]2  }|dk(  r!|r||d   k7  sŒt        j                  d«       Œ)||d   k(  rŒ2J ‚ yc c}w )a?  
    Output three times the same graphs and checks that the outputs are exactly
    the same.

    Parameters
    ----------
    objects : str
        Objects to be included in the test document: 'm' for markers, 'h' for
        hatch patterns, 'i' for images.
    fmt : {"pdf", "ps", "svg"}
        Output format.
    r   ú-Rú-czHfrom matplotlib.tests.test_determinism import _save_figure;_save_figure(z, ú)Ú	946684800ÚAgg©ÚSOURCE_DATE_EPOCHÚ
MPLBACKEND©Úenvr
   NrL   r   z+failed, maybe due to ghostscript timestamps)	r.   Ú
subprocessÚcheck_outputr9   Ú
executableÚosÚenvironÚpytestÚskip)r<   r=   r>   Ú_ÚplotsÚps         rG   Útest_determinism_checkrd   @   sÇ   € ôD �q“öð ô 	×ÑÜ�^‰^˜T 4ðØ$˜K r¨#¨°°6°(¸!ð=ð>ð&”2—:‘:ð &°KØ$ò&ö		'ð€Eð ð �1�2ˆYò !ˆØ�$Š;™6Ø�E˜!‘H‹}Ü—‘ÐIÕJà˜˜a™“=Ð �=ñ!ùòs   ŽABzfmt, string)rK   s!   /CreationDate (D:20000101000000Z))rL   s(   %%CreationDate: Sat Jan 01 00:00:00 2000c                 ó”   — t        j                  t        j                  ddd| ›d�gi t        j
                  ¥dddœ¥¬«      }||v sJ ‚y	)
a—  
    Test SOURCE_DATE_EPOCH support. Output a document with the environment
    variable SOURCE_DATE_EPOCH set to 2000-01-01 00:00 UTC and check that the
    document contains the timestamp that corresponds to this date (given as an
    argument).

    Parameters
    ----------
    fmt : {"pdf", "ps", "svg"}
        Output format.
    string : bytes
        Timestamp string for 2000-01-01 00:00 UTC.
    rP   rQ   zMfrom matplotlib.tests.test_determinism import _save_figure; _save_figure('', rR   rS   rT   rU   rX   N)rZ   r[   r9   r\   r]   r^   )r=   ÚstringÚbufs      rG   Ú"test_determinism_source_date_epochrh   l   s]   € ô0 ×
!Ñ
!Ü	�‰˜˜tðØ ˜G 1ð
&ð	'ð"Œr�z‰zð "°Ø ò"ô	#€Cð �S‰=Ð‰=rI   )Ú__doc__r]   rZ   r9   r_   Ú
matplotlibr'   Úmatplotlib.testing.comparer   r+   Úmatplotlib.testing._markersr   r   rH   ÚmarkÚparametrizeÚparamrd   rh   © rI   rG   ú<module>rq      sÏ   ðñó 
Û Û 
ã ã Û !Ý $ß Gó,$ð^ ‡�×ÑØØØØØØØØˆ�‰Ø�4˜ lÐ4EÐ%Fô	HàØˆ�‰�U˜E 4¨|Ô<ðóñ!óð!ð< ‡�×ÑØØ5ð
 	<ðó	ñó	ñrI   