ó
    {ñ:i  ã                   óÌ   • S SK r S SKrS SKrS SKJr  S rS r\ R                  " SS9S 5       r\ R                  S 5       r\ R                  S	 5       r	\ R                  S
 5       r
g)é    N)Ú_apic                 ó¦   • S H  u  pU R                  X5        M     [        R                  " SSS9  S[        l        [        R                  " 5         g )N))Úmarkersz*flaky: (Provided by pytest-rerunfailures.))r   z&timeout: (Provided by pytest-timeout.))r   z6backend: Set alternate Matplotlib backend temporarily.)r   z3baseline_images: Compare output against references.)r   z.pytz: Tests that require pytz to be installed.)ÚfilterwarningsÚerror)r   z?ignore:.*The py23 module has been deprecated:DeprecationWarning)r   z]ignore:DynamicImporter.find_spec\(\) not found; falling back to find_module\(\):ImportWarningÚaggT)Úforce)Úaddinivalue_lineÚ
matplotlibÚuseÚ_called_from_pytestÚ_init_tests)ÚconfigÚkeyÚvalues      Ú^/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/matplotlib/testing/conftest.pyÚpytest_configurer      sD   € ó
‰
ˆð 	×Ñ Ö+ñô ‡N‚N�5 Ò%Ø%)„JÔ"Ü×ÒÕó    c                 ó   • S[         l        g )NF)r   r   )r   s    r   Úpytest_unconfigurer       s
   € Ø%*„JÕ"r   T)Úautousec           
   #   ój  #   • SSK Jn  U" 5          S nU R                  R                  S5      n[        R
                  " 5       nUb›  [        UR                  5      S:X  d   S5       eUR                  u  nUR                  R                  SS5      nUR                  5       R                  S5      (       a-  [        S	 S
 5       5      (       a  [        R                  " S5        [        R                  R!                  5         ["        R$                  " 5          Ub  SS KJn   UR+                  U5        [        R.                  R1                  SS/5        S S S 5         S v •  Ub'  WR3                  S5        [        R0                  " U5        S S S 5        g ! [,         aC  nSUR                  5       ;   d  W(       a"  [        R                  " SU SU S35         S nAN¨e S nAff = f! , (       d  f       N–= f! Ub(  WR3                  S5        [        R0                  " U5        f f = f! , (       d  f       g = f7f)Nr   )Ú_cleanup_cmÚbackendé   z(Marker 'backend' must specify 1 backend.Úskip_on_importerrorFÚqt5c              3   ó`   #   • U  H$  n[         R                  R                  U5      v •  M&     g 7f)N)ÚsysÚmodulesÚget)Ú.0Úks     r   Ú	<genexpr>Ú$mpl_test_settings.<locals>.<genexpr>6   s"   é € ÐGÒ3F¨a”s—{‘{—‘ q×)Ð)Ò3Fùs   ‚,.)ÚPyQt4ÚPySidezQt4 binding already importedÚcairozFailed to switch to backend z (z).ÚclassicÚ_classic_test_patchÚall)Úmatplotlib.testing.decoratorsr   ÚnodeÚget_closest_markerr   Úget_backendÚlenÚargsÚkwargsr!   ÚlowerÚ
startswithÚanyÚpytestÚskipÚtestingÚsetupr   Ú'suppress_matplotlib_deprecation_warningÚmatplotlib.pyplotÚpyplotÚswitch_backendÚImportErrorÚstyler   Úclose)Úrequestr   r   Úbackend_markerÚprev_backendr   ÚpltÚexcs           r   Úmpl_test_settingsrF   $   sÐ  é € å9á	�àˆØ Ÿ™×8Ñ8¸ÓCˆÜ!×-Ò-Ó/ˆØÑ%Ü�~×*Ñ*Ó+¨qÓ0ð ;Ø:ó;Ð0à%×*Ñ*‰HˆGØ"0×"7Ñ"7×";Ñ";Ø% uó#.Ðð �}‰}‹×)Ñ)¨%×0Ñ0ÜÑGÑ3FÓG×GÑGÜ—K’KÐ >Ô?ä×Ñ× Ñ Ô"Ü×9Ò9Õ;ØÑ"õ 0ð	Ø×&Ñ& wÔ/ô ×Ñ× Ñ  )Ð-BÐ!CÔD÷! <ð"	-ÛàÑ"Ø—	‘	˜%Ô Ü—’˜|Ô,÷Q 
ˆøô2 #ó ð  '§-¡-£/Ó1Ö5HÜŸšÐ$BØ'. i¨r°#°°bð%:÷ ;ñ ;ð ûðú÷ <Õ;ûð( Ñ"Ø—	‘	˜%Ô Ü—’˜|Õ,ð #ú÷M 
�üs}   ‚H3�DH"Ä
G!ÄFÄ0!G!ÅH"ÅG2Å*H"Æ	H3Æ
GÆ8GÇG!ÇGÇGÇG!Ç!
G/	Ç+H"Ç2-HÈH"È"
H0È,H3c                  óp   • [         R                  " S5      n  SSKJn  U" 5         U $ ! [         a     U $ f = f)aÐ  
Fixture to import and configure pandas. Using this fixture, the test is skipped when
pandas is not installed. Use this fixture instead of importing pandas in test files.

Examples
--------
Request the pandas fixture by passing in ``pd`` as an argument to the test ::

    def test_matshow_pandas(pd):

        df = pd.DataFrame({'x':[1,2,3], 'y':[4,5,6]})
        im = plt.figure().subplots().matshow(df)
        np.testing.assert_array_equal(im.get_array(), df)
Úpandasr   )Ú deregister_matplotlib_converters)r6   ÚimportorskipÚpandas.plottingrI   r>   )ÚpdÚ
deregisters     r   rL   rL   S   sC   € ô  
×	Ò	˜XÓ	&€Bðõ	<áŒð €Iøô ó ØØ€Iðús   ˜' §
5´5c                  ó2   • [         R                  " S5      n U $ )a­  
Fixture to import xarray so that the test is skipped when xarray is not installed.
Use this fixture instead of importing xrray in test files.

Examples
--------
Request the xarray fixture by passing in ``xr`` as an argument to the test ::

    def test_imshow_xarray(xr):

        ds = xr.DataArray(np.random.randn(2, 3))
        im = plt.figure().subplots().imshow(ds)
        np.testing.assert_array_equal(im.get_array(), ds)
Úxarray)r6   rJ   )Úxrs    r   rP   rP   m   s   € ô" 
×	Ò	˜XÓ	&€BØ€Ir   c                 ól   ^• SSK Jm  S nU4S jnU R                  SU5        U R                  SU5        g)a0  
Replace texts with placeholder rectangles.

The rectangle size only depends on the font size and the number of characters. It is
thus insensitive to font properties and rendering details. This should be used for
tests that depend on text geometries but not the actual text rendering, e.g. layout
tests.
r   )Ú	Rectanglec                 óP   • UR                  5       n[        U5      U-  S-  nSnXeU4$ )zæ
Replace ``_get_text_metrics_with_cache`` with fixed results.

The usual ``renderer.get_text_width_height_descent`` would depend on font
metrics; instead the fixed results are based on font size and the length of the
string only.
gÙÎ÷Sãù?r   )Úget_sizer0   )ÚrendererÚtextÚfontpropÚismathÚdpiÚheightÚwidthÚdescents           r   Ú#patched_get_text_metrics_with_cacheÚ>text_placeholders.<locals>.patched_get_text_metrics_with_cacheŽ   s5   € ð ×"Ñ"Ó$ˆÜ�D“	˜FÑ" UÑ*ˆØˆØ˜gÐ%Ð%r   c                 ó  >• Ub  Xl         U R                  5       (       d  gU R                  5       S:X  a  gU R                  5       nT" UR                  UR
                  UR                  U R                  5       SS9nUR                  U5        g)zÉ
Replace ``Text.draw`` with a fixed bounding box Rectangle.

The bounding box corresponds to ``Text.get_window_extent``, which ultimately
depends on the above patched ``_get_text_metrics_with_cache``.
NÚ Únone)Ú	facecolorÚ	edgecolor)	Ú	_rendererÚget_visibleÚget_textÚget_window_extentÚp0r[   rZ   Ú	get_colorÚdraw)ÚselfrU   ÚbboxÚrectrR   s       €r   Úpatched_text_drawÚ,text_placeholders.<locals>.patched_text_drawž   sv   ø€ ð ÑØ%ŒNØ×Ñ×!Ñ!ØØ�=‰=‹?˜bÓ ØØ×%Ñ%Ó'ˆÙ˜Ÿ™ $§*¡*¨d¯k©kØ#'§>¡>Ó#3¸vñGˆà�	‰	�(Õr   z,matplotlib.text._get_text_metrics_with_cachezmatplotlib.text.Text.drawN)Úmatplotlib.patchesrR   Úsetattr)Úmonkeypatchr]   rn   rR   s      @r   Útext_placeholdersrs   ‚   s:   ø€ õ -ò&õ ð$ ×ÑÐFØ;ô=à×ÑÐ3Ð5FÕGr   )r6   r   r   r   r   r   ÚfixturerF   rL   rP   rs   © r   r   Ú<module>rv      sƒ   ðÛ Û 
Û Ý òò2+ð ‡‚˜Ññ+-ó ð+-ð\ ‡�ñó ðð2 ‡�ñó ðð( ‡�ñ/Hó ñ/Hr   