Ë
    ^ãj¾/  ã                   ó�  — d dl mZmZ d dlZd dlZd dlZd dlmZ d dlm	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mZmZmZmZmZmZmZmZmZmZmZ d dlmZmZm Z!m"Z"m#Z$ d dl%m&Z&m'Z'  e
jP                  d«      duZ)d	„ Z*d
„ Z+d„ Z,d„ Z-ej\                  j_                  ej`                  dk(  xs e) d¬«      d„ «       Z1ej\                  je                  dg d¢«      d„ «       Z3d„ Z4d„ Z5d„ Z6d„ Z7ej\                  j_                  ej`                  dk7  xs e) d¬«      d„ «       Z8d„ Z9ej\                  j_                  ej`                  dk7  d¬«      d„ «       Z:d„ Z;ej\                  j_                   e<ed«       d ¬«      d!„ «       Z=d"„ Z>d#„ Z?d$„ Z@d%„ ZAd&„ ZBd'„ ZCej\                  j_                  ej`                  dk(  d(¬«      d)„ «       ZDd*„ ZEy)+é    )ÚBytesIOÚStringION)ÚPath)ÚImage)ÚfindfontÚfindSystemFontsÚ	FontEntryÚFontPropertiesÚfontManagerÚ	json_dumpÚ	json_loadÚget_fontÚis_opentype_cff_fontÚMSUserFontDirectoriesÚ_get_fontconfig_fontsÚttfFontProperty)ÚcbookÚft2fontÚpyplotÚ
rc_contextÚfigure)Úsubprocess_run_helperÚsubprocess_run_for_testingzfc-listc                  ó  — t        dddgi¬«      5  t        t        dg¬«      «      } d d d «       t         «      j                  dk(  sJ ‚t        | «      }|j                  «       }t        |«      dk(  sJ ‚|d	   d
k(  sJ ‚y # 1 sw Y   ŒYxY w)Núfont.sans-serifÚcmmi10úBitstream Vera Sans)Úrcú
sans-serif©Úfamilyz
cmmi10.ttféƒ   i"  é   )r   r   r
   r   Únamer   Úget_charmapÚlen)ÚfontfileÚfontÚcmaps      úd/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/matplotlib/tests/test_font_manager.pyÚtest_font_priorityr+      sŸ   € Ü	ØØÐ,Ð-ð/ô 
0ñ Cô œN°<°.ÔAÓBˆ÷Cô �‹>×Ñ ,Ò.Ð.Ð.ô �HÓ€DØ×ÑÓ€DÜˆt‹9˜ÒÐÐØ�‰:˜ÒÐÑ÷Cð Cús   ‘B Â B	c                  ó®  — dt        j                  dd«      k(  sJ ‚dt        j                  dd«      k(  sJ ‚dt        j                  dd«      cxk  rt        j                  dd«      k  sJ ‚ J ‚dt        j                  dd«      cxk  rt        j                  dd«      k  sJ ‚ J ‚t        j                  dd«      t        j                  dd«      k(  sJ ‚y )Nr   ÚregularÚboldi�  Únormal)r   Úscore_weight© ó    r*   Útest_score_weightr3   '   sç   € Ø”×(Ñ(¨°IÓ>Ò>Ð>Ð>Ø”×(Ñ(¨°Ó8Ò8Ð8Ð8Ø”×(Ñ(¨¨cÓ2ô 7Ü×$Ñ$ X¨vÓ6ò7ð 8ñ 7ð 8ð 7à”×(Ñ(¨°9Ó=ô 7Ü×$Ñ$ X¨vÓ6ò7ð 8ñ 7ð 8ð 7ä×$Ñ$ X¨yÓ9Ü×$Ñ$ S¨#Ó.ò/ð 0ñ /r2   c                 óX  — t        t        | dz  «       t        | dz  «      }t        j                  «       5  t        j
                  dd«       ddidddœdd	ifD ]:  }t        di |¤Ž}t        j                  |d
¬«      |j                  |d
¬«      k(  rŒ:J ‚ 	 d d d «       y # 1 sw Y   y xY w)Nzfontlist.jsonÚignorez findfont: Font family.*not foundr!   ÚSTIXGeneralr   i¼  )r!   Úweightzno such font familyF)Úrebuild_if_missingr1   )r   r   r   ÚwarningsÚcatch_warningsÚfilterwarningsr
   r   )Útmp_pathÚcopyÚpropÚfps       r*   Útest_json_serializationr@   2   sÅ   € ô Œk˜8 oÑ5Ô6Ü�X Ñ/Ó0€DÜ	×	 Ñ	 Ó	"ñ AÜ×Ñ Ð*LÔMØ Ð.Ø 5ÀÑEØÐ 5Ð6ð8ò 	AˆDô  Ñ' $Ñ'ˆBÜ×(Ñ(¨ÀÔFØ—M‘M "¸�MÓ?ó@ð Að @ñ		A÷A÷ Añ Aús   ¶AB ÂB Â B)c                  óN  — d} t        | «      j                  «       rt        | «      sJ ‚t        j                  D ]^  }d|j
                  v sŒt        |j
                  d«      5 }|j                  d«      dk(  }d d d «       t        |j
                  «      k(  rŒ^J ‚ y # 1 sw Y   Œ&xY w)Nz//usr/share/fonts/opentype/freefont/FreeMono.otfÚotfÚrbé   s   OTTO)r   Úexistsr   r   ÚttflistÚfnameÚopenÚread)rG   ÚfÚfdÚress       r*   Útest_otfrM   A   s•   € Ø=€EÜˆEƒ{×ÑÔÜ# EÔ*Ð*Ð*Ü× Ñ ò 8ˆØ�A—G‘GÒÜ�a—g‘g˜tÓ$ð ,¨Ø—g‘g˜a“j GÑ+�÷,àÔ.¨q¯w©wÓ7Ó7Ð7Ð7ñ	8÷,ð ,ús   Á!BÂB$	Úwin32zno fontconfig installed)Úreasonc                  ó4   — t        t        «       «      dkD  sJ ‚y )Né   )r&   r   r1   r2   r*   Útest_get_fontconfig_fontsrR   L   s   € ô Ô$Ó&Ó'¨!Ò+Ð+Ñ+r2   Úfactor)é   rD   é   é   c                 ó°  — t        t        dg¬«      «      }t        |d¬«      }|j                  «        |j	                  dd«       |j                  d«       |j                  «       }t        || ¬«      }|j                  «        |j	                  dd«       |j                  d«       t        j                  j                  |j                  «       |d¬	«       y )
Nr   r    rQ   )Úhinting_factoré   éd   Úabcgš™™™™™¹?)Úrtol)
r   r
   r   ÚclearÚset_sizeÚset_textÚget_width_heightÚnpÚtestingÚassert_allclose)rS   r(   Úfont1ÚexpectedÚhinted_fonts        r*   Útest_hinting_factorrg   R   s­   € ä”N¨<¨.Ô9Ó:€Dä�T¨!Ô,€EØ	‡K�K„MØ	‡N�N�2�sÔØ	‡N�N�5ÔØ×%Ñ%Ó'€Hä˜4°Ô7€KØ×ÑÔØ×Ñ˜˜SÔ!Ø×Ñ˜Ôä‡J�J×Ñ˜{×;Ñ;Ó=¸xØ$'ð õ )r2   c                  ó°   — 	 t        d„ t        j                  D «       «      } | j                  dk(  sJ ‚y # t        $ r t        j                  d«       Y y w xY w)Nc              3   ód   K  — | ](  }t        |j                  «      j                  d k(  r|–— Œ* y­w)zseguisbi.ttfN)r   rG   r$   )Ú.0Úentrys     r*   ú	<genexpr>z#test_utf16m_sfnt.<locals>.<genexpr>h   s0   è ø€ ò B˜uÜ˜UŸ[™[Ó)×.Ñ.°.Ò@ô ñ Bùs   ‚.0iX  z0Couldn't find seguisbi.ttf font to test against.)Únextr   rF   r7   ÚStopIterationÚpytestÚskip)rk   s    r*   Útest_utf16m_sfntrq   e   sZ   € ð	#äñ B¬×(;Ñ(;ô Bó Bˆð �|‰|˜sÒ"Ð"Ñ"øô ò HÜ�‰ÐFÖGðHús   ‚ 4 ´AÁAc                  ó&  — t        dg¬«      } t        t        | «      «      j                  dk7  rt	        j
                  d«       t        j                  «       \  }}|j                  ddd| ¬«       dD ]  }|j                  t        «       |¬	«       Œ y )
NzWenQuanYi Zen Heir    zwqy-zenhei.ttcz"Font wqy-zenhei.ttc may be missingç      à?u   â¿“©Úfontproperties©ÚrawÚsvgÚpdfÚps©Úformat©r
   r   r   r$   ro   rp   ÚpltÚsubplotsÚtextÚsavefigr   )r?   ÚfigÚaxÚfmts       r*   Útest_find_ttcr…   r   sz   € Ü	Ð 3Ð4Ô	5€BÜŒH�R‹LÓ×ÑÐ"2Ò2Ü�‰Ð8Ô9Ü�l‰l‹n�G€CˆØ‡G�GˆB�Ð/À€GÔCØ*ò +ˆØ�‰”G“I cˆÕ*ñ+r2   c                  ó2  — t        ddg¬«      } t        t        | «      «      j                  }|dvrt	        j
                  d|› d�«       t        j                  «       \  }}|j                  ddd| ¬	«       d
D ]  }|j                  t        «       |¬«       Œ y )NzNoto Sans CJK SCzNoto Sans CJK JPr    )zNotoSansCJKsc-Regular.otfzNotoSansCJK-Regular.ttcz,Noto Sans CJK SC font may be missing (found ú)rs   u   Hello, ä½ å¥½rt   rv   r{   r}   )r?   r$   r‚   rƒ   r„   s        r*   Útest_find_notorˆ   |   sŠ   € Ü	Ð 2Ð4FÐGÔ	H€BÜ”˜“Ó×"Ñ"€DØÐKÑKÜ�‰ÐBÀ4À&ÈÐJÔKä�l‰l‹n�G€CˆØ‡G�GˆC��o°b€GÔ9Ø*ò +ˆØ�‰”G“I cˆÕ*ñ+r2   c                 ó  — t        j                  t        «      5  t        | dz  «       d d d «       t        j                  t        «      5  t        t	        | dz  «      «       d d d «       t        j                  t        «      5  t        t        | dz  «      «       d d d «       ddlm} t        j                  t        d¬«      5   |t        «       «       d d d «       y # 1 sw Y   Œ¶xY w# 1 sw Y   Œ‰xY w# 1 sw Y   Œ\xY w# 1 sw Y   y xY w)Nznon-existent-font-name.ttfr   )ÚFT2Fontzfont file or a binary-mode file)Úmatch)
ro   ÚraisesÚFileNotFoundErrorr   ÚstrÚbytesÚmatplotlib.ft2fontrŠ   Ú	TypeErrorr   )r<   rŠ   s     r*   Útest_find_invalidr’   ˆ   sÜ   € ä	�‰Ô(Ó	)ñ :Ü�Ð8Ñ8Ô9÷:ô 
�‰Ô(Ó	)ñ ?Ü”�XÐ <Ñ<Ó=Ô>÷?ô 
�‰Ô(Ó	)ñ AÜ”�xÐ">Ñ>Ó?Ô@÷Aõ +Ü	�‰”yÐ(IÔ	Jñ Ù”“
Ô÷ð ÷:ð :ú÷?ð ?ú÷Að Aú÷
ð ús/   šCÁ
C*ÂC6ÃDÃC'Ã*C3Ã6C?ÄDÚlinuxz$only Linux with fontconfig installedc                 óL  ‡— dŠt        «       }t        ˆfd„|D «       «      rt        j                  ‰› d�«       | j	                  d«      }|j                  d¬«       t        j                  t        t        «      j                  ‰z  |j	                  ‰«      «       |j                  «       5 }|j                  dt        | «      «       t        j                  «        t        «       }t        ˆfd„|D «       «      sJ ‚	 d d d «       t        j                  «        y # 1 sw Y   ŒxY w)	Númpltest.ttfc              3   ó&   •K  — | ]  }‰|v –— Œ
 y ­w©Nr1   ©rj   r(   Úfont_test_files     €r*   rl   z(test_user_fonts_linux.<locals>.<genexpr>    ó   øè ø€ Ò
4 dˆ>˜TÔ!Ñ
4ùó   ƒú already exists in system fontsÚfontsT)ÚdirÚXDG_DATA_HOMEc              3   ó&   •K  — | ]  }‰|v –— Œ
 y ­wr—   r1   r˜   s     €r*   rl   z(test_user_fonts_linux.<locals>.<genexpr>®   s   øè ø€ Ò<¨d�> TÔ)Ñ<ùr›   )r   Úanyro   rp   ÚjoinÚensureÚshutilÚcopyfiler   Ú__file__ÚparentÚcontextÚsetenvrŽ   r   Úcache_clear)ÚtmpdirÚmonkeypatchr�   Úuser_fonts_dirÚmr™   s        @r*   Útest_user_fonts_linuxr¯   ™   sð   ø€ ð #€Nô Ó€EÜ
Ó
4¨eÔ
4Ô4Ü�‰�~Ð&Ð&EÐFÔGð —[‘[ Ó)€NØ×Ñ˜dÐÔ#Ü
‡O�O”Dœ“N×)Ñ)¨NÑ:Ø"×'Ñ'¨Ó7ô9ð 
×	Ñ	Ó	ð = !Ø	�‰�¤# f£+Ô.Ü×)Ñ)Ô+äÓ!ˆÜÓ<°eÔ<Ô<Ð<Ñ<÷=ô ×%Ñ%Õ'÷=ð =ús   Â,ADÄD#c                  óÂ  — d} t        t        «      j                  | z  }	 t        j                  |«       t        j
                  D �cg c]  }|j                  j                  | «      r|‘Œ! c}\  }t        j
                  j                  |«       t        j
                  D �cg c]  }|j                  j                  | «      r|‘Œ! }}|D ]!  }t        j
                  j                  |«       Œ# yc c}w c c}w # t        j
                  D �cg c]  }|j                  j                  | «      r|‘Œ! nc c}w }}|D ]!  }t        j
                  j                  |«       Œ# w xY w)z/Smoke test that addfont() accepts pathlib.Path.r•   N)	r   r¦   r§   r   ÚaddfontrF   rG   ÚendswithÚremove)r™   Úpathr(   ÚaddedÚ	to_removes        r*   Útest_addfont_as_pathr·   ´   s1  € à"€NÜ”‹>× Ñ  >Ñ1€Dð	-Ü×Ñ˜DÔ!Ü#.×#6Ñ#6ö :˜4Ø—Z‘Z×(Ñ(¨Ô8ò ò :‰ˆä×Ñ×"Ñ" 5Ô)ä&1×&9Ñ&9ö =˜dØŸ
™
×+Ñ+¨NÔ;ò ð =ˆ	ð =àò 	-ˆDÜ×Ñ×&Ñ& tÕ,ñ	-ùò:ùò=ø¤k×&9Ñ&9ö =˜dØŸ
™
×+Ñ+¨NÔ;ò ñ =ùò =ˆ	ð =àò 	-ˆDÜ×Ñ×&Ñ& tÕ,ñ	-ús/    'C8 Á$C.Á+$C8 Â!$C3Ã.C8 Ã8EÄ$D0Ä//EzWindows onlyc                  ó"  ‡— t         j                  j                  d«      s4t         j                  j                  d«      st        j                  d«       t        j                  d«       dŠt        «       } t        ˆfd„| D «       «      rt        j                  ‰› d�«       t        d   }t        j                  |«       t        j                  t        t        «      j                  ‰z  |«       t        «       } t        ˆfd	„| D «       «      sJ ‚y )
NÚAPPVEYORÚTF_BUILDznThis test should only run on CI (appveyor or azure) as the developer's font directory should remain unchanged.z4We need to update the registry for this test to workr•   c              3   ó&   •K  — | ]  }‰|v –— Œ
 y ­wr—   r1   r˜   s     €r*   rl   z(test_user_fonts_win32.<locals>.<genexpr>Ï   rš   r›   rœ   r   c              3   ó&   •K  — | ]  }‰|v –— Œ
 y ­wr—   r1   r˜   s     €r*   rl   z(test_user_fonts_win32.<locals>.<genexpr>Ý   s   øè ø€ Ò8¨$ˆ~ Ô%Ñ8ùr›   )ÚosÚenvironÚgetro   Úxfailr   r¡   rp   r   Úmakedirsr¤   r=   r   r¦   r§   )r�   r­   r™   s     @r*   Útest_user_fonts_win32rÂ   Ä   sÉ   ø€ ä�J‰J�N‰N˜:Ô&¬"¯*©*¯.©.¸Ô*DÜ�‰ð "ô 	#ô ‡L�LÐGÔHØ"€Nô Ó€EÜ
Ó
4¨eÔ
4Ô4Ü�‰�~Ð&Ð&EÐFÔGä*¨1Ñ-€Nô ‡K�K�Ôô ‡K�K””X“×%Ñ%¨Ñ6¸ÔGô Ó€EÜÓ8°%Ô8Ô8Ð8Ñ8r2   c                 ó�   — t        j                  «       \  }}|j                  t        «       d¬«       t        j                  «        y )Nry   r{   )r~   r   r�   r   Úclose)Ú_r‚   rƒ   s      r*   Ú_model_handlerrÆ   à   s,   € Ü�l‰l‹n�G€CˆØ‡K�K”“	 %€KÔ(Ü‡I�I…Kr2   Úregister_at_forkz Cannot register at_fork handlersc                  óÐ   — t        d«       t        j                  d«      } | j                  d¬«      5 }|j	                  t         t        d«      «       d d d «       y # 1 sw Y   y xY w)Nr   ÚforkrT   )Ú	processes)rÆ   ÚmultiprocessingÚget_contextÚPoolÚmapÚrange)ÚctxÚpools     r*   Ú	test_forkrÒ   æ   sS   € ô �1ÔÜ
×
%Ñ
% fÓ
-€CØ	�‰˜AˆÓ	ð + $Ø�‰”¤ q£Ô*÷+÷ +ñ +ús   ³ AÁA%c                 óö   — dgt         j                  d<   | j                  d«      5  t        d«       d d d «       | j                  D �cg c]  }|j                  «       ‘Œ c}ddgk(  sJ ‚y # 1 sw Y   Œ9xY wc c}w )Nzthis-font-does-not-existr   ÚWARNINGÚsanszFfindfont: Font family ['sans'] not found. Falling back to DejaVu Sans.zufindfont: Generic family 'sans' not found because none of the following families were found: this-font-does-not-exist)r~   ÚrcParamsÚat_levelr   ÚrecordsÚ
getMessage)ÚcaplogÚrecs     r*   Útest_missing_familyrÜ   ï   sw   € Ø'AÐ&B„C‡L�LÐ"Ñ#Ø	�‰˜Ó	#ñ Ü�Ô÷à(.¯©Ö7 ˆC�N‰NÕÒ7ð	'ð	Bð<ò ð ñ ÷ð üâ7s   ¦A*ÁA6Á*A3c                  ó   ‡‡‡— dd l } ddlmŠ dd lmŠ d}| j                  |«      Šˆˆˆfd„}t        |«      D �cg c]  }| j                  |d|› �|f¬«      ‘Œ }}|D ]  }|j                  «        Œ |D ]  }|j                  «        Œ y c c}w )Nr   )ÚLOAD_NO_HINTINGé
   c                 óÀ   •— ‰j                  «        t        d«      D ]?  }‰j                  ‰j                  d«      «      }|j	                  t        | «      d‰¬«       ŒA y )NrZ   zDejaVu Sansg        )Úflags)ÚwaitrÏ   r   r   r_   rŽ   )ÚnÚjr(   rÞ   ÚbÚfms      €€€r*   Úbad_ideaz!_test_threading.<locals>.bad_idea  sL   ø€ Ø	�‰ŒÜ�s“ò 	>ˆAØ—;‘;˜rŸ{™{¨=Ó9Ó:ˆDØ�M‰Mœ#˜a›& #¨_ˆMÕ=ñ	>r2   Úbad_thread_)Útargetr$   Úargs)
Ú	threadingr�   rÞ   Úmatplotlib.font_managerÚfont_managerÚBarrierrÏ   ÚThreadÚstartr¢   )	rë   ÚNrç   rä   ÚthreadsÚtrÞ   rå   ræ   s	         @@@r*   Ú_test_threadingrô   û   s�   ú€ ÛÝ2Ý(à
€AØ×Ñ˜!Ó€Aö>ô �q“öàð 	×Ñ °¸Q¸CÐ/@ÈÀtÐÕLð€Gð ð
 ò ˆØ	�‰�	ðð ò ˆØ	�‰�ñùòs   »Bc                  óP   — t        j                  d«       t        t        d¬«       y )Nrë   rß   )Útimeout)ro   Úimportorskipr   rô   r1   r2   r*   Útest_fontcache_thread_saferø     s   € Ü
×Ñ˜Ô$äœ/°2Ö6r2   c                 ó|   — t        t        j                  ddgi t        j                  ¥dt        | «      i¥d¬«      }y )Nz-czlimport matplotlib;import os;p = matplotlib.get_cachedir();os.chmod(p, 0o555);import matplotlib.font_manager;ÚMPLCONFIGDIRT)ÚenvÚcheck)r   ÚsysÚ
executabler½   r¾   rŽ   )r<   Úprocs     r*   Útest_lockfilefailurer     s>   € ô &ä�N‰NØð.ð	
ð :Œr�z‰zÐ9˜>¬3¨x«=Ñ9Øô�Dr2   c                  ó  — t        d¬«      } | j                  «       }t        j                  t	        |«      «      }|j
                  dkD  sJ ‚|j                  dkD  sJ ‚| j                  «       }|j                  d«      sJ ‚y )Nú	font-name)r$   r   z<img src="data:image/png;base64)	r	   Ú
_repr_png_r   rH   r   ÚwidthÚheightÚ_repr_html_Ú
startswith)ÚfontentÚpngÚimgÚhtmls       r*   Útest_fontentry_dataclassr  1  sm   € Ü˜[Ô)€Gà
×
Ñ
Ó
€CÜ
�*‰*”W˜S“\Ó
"€CØ�9‰9�qŠ=Ðˆ=Ø�:‰:˜Š>Ðˆ>à×ÑÓ €DØ�?‰?Ð=Ô>Ð>Ñ>r2   c                  óš   — t        j                  t        «      5  t        dd¬«      } | j	                  «        d d d «       y # 1 sw Y   y xY w)Nz/randomr  )rG   r$   )ro   rŒ   r�   r	   r  )r  s    r*   Ú%test_fontentry_dataclass_invalid_pathr  =  s<   € Ü	�‰Ô(Ó	)ñ Ü )°+Ô>ˆØ×ÑÔ÷÷ ñ ús   šAÁA
zLinux or OS onlyc                  ó  — dD � cg c]  } t        j                  d| «      ‘Œ }} t        |d¬«      }t        d¬«      }g }||z   D ]>  }	 t        j                  |«      }t        |«      }|j                  |j                  «       Œ@ t        t        t        |«      «      «      }t        t        j                  «       «      }	t        |«      t        |	«      k(  sJ ‚t        |«      t        |	«      k(  sJ ‚||	k(  sJ ‚y c c} w # t        $ r Y ŒÅw xY w)N)Úttfr�   r  )Úfontext)r   Ú_get_data_pathr   r   rŠ   r   Úappendr$   Ú	ExceptionÚsortedÚlistÚsetr   Úget_font_namesr&   )
ÚsubdirÚ	paths_mplÚ	fonts_mplÚfonts_systemÚ	ttf_fontsr´   r(   r>   Úavailable_fontsÚmpl_font_namess
             r*   Útest_get_font_namesr   C  s   € àELÖM¸6”×%Ñ% g¨vÕ6ÐM€IÐMÜ 	°5Ô9€IÜ"¨5Ô1€LØ€IØ˜LÑ(ò ˆð	Ü—?‘? 4Ó(ˆDÜ" 4Ó(ˆDØ×Ñ˜TŸY™YÕ'ð	ô œT¤# i£.Ó1Ó2€OÜœK×6Ñ6Ó8Ó9€NÜˆÓ¤3 ~Ó#6Ò6Ð6Ð6ÜˆÓ¤3 ~Ó#6Ò6Ð6Ð6Ø˜nÒ,Ð,Ñ,ùò Nøô ò 	Ùð	ús   …C9Á;C>Ã>	D
Ä	D
c                  ó¨   ‡—  G d„ d«      Šˆfd„}  | «        t        j                  «       D ]$  }t        |‰«      sŒt        j                  d«       Œ& y )Nc                   ó   — e Zd Zy)ú/test_donot_cache_tracebacks.<locals>.SomeObjectN)Ú__name__Ú
__module__Ú__qualname__r1   r2   r*   Ú
SomeObjectr#  Y  s   „ Ør2   r'  c                  óf  •—  ‰«       } t        j                  «       }|j                  «       }|j                  dddd¬«       t	        «       5 }t        j                  «       5  t        j                  d«       |j                  |d¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nrs   ÚaardvarkÚdoesnotexistr    r5   rw   r{   )	ÚmfigureÚFigurer   r€   r   r9   r:   r;   r�   )Úxr‚   rƒ   Úoutr'  s       €r*   Úinnerz*test_donot_cache_tracebacks.<locals>.inner\  s•   ø€ Ù‹LˆÜ�n‰nÓˆØ�\‰\‹^ˆØ�‰��R˜¨NˆÔ;Ü‹Yð 	/˜#Ü×(Ñ(Ó*ñ /Ü×'Ñ'¨Ô1Ø—‘˜C¨�Ô.÷/÷	/ð 	/÷/ð /ú÷	/ð 	/ús$   ÁB'Á!)BÂ
B'ÂB$	Â B'Â'B0z#object from inner stack still alive)ÚgcÚget_objectsÚ
isinstancero   Úfail)r/  Úobjr'  s     @r*   Útest_donot_cache_tracebacksr5  W  sF   ø€ ÷ñ ô/ñ 
„Gä�~‰~Óò ?ˆÜ�c˜:Õ&Ü�K‰KÐ=Õ>ñ?r2   )FÚior   r   r0  rË   r½   Úpathlibr   ÚPILr   r¤   rý   r9   Únumpyra   ro   rì   r   r   r	   r
   r   r   r   r   r   r   r   r   Ú
matplotlibr   r   r   r~   r   r   r+  Úmatplotlib.testingr   r   ÚwhichÚ
has_fclistr+   r3   r@   rM   ÚmarkÚskipifÚplatformrR   Úparametrizerg   rq   r…   rˆ   r’   r¯   r·   rÂ   rÆ   ÚhasattrrÒ   rÜ   rô   rø   r   r  r  r   r5  r1   r2   r*   ú<module>rC     sõ  ðß  Û 	Û Û 	Ý Ý Û Û 
Û ã Û ÷C÷ C÷ Có C÷ TÕ Sß Pð ˆV�\‰\˜)Ó$¨DÐ0€
òò0òAò8ð ‡�×Ñ�C—L‘L GÑ+Ò=°:¨~Ø4ð ó 6ñ,ó6ð,ð ‡�×Ñ˜¢<Ó0ñ)ó 1ð)ò$
#ò+ò	+òð" ‡�×Ñ�C—L‘L GÑ+Ò=°:¨~ØAð ó Cñ(óCð(ò2-ð  ‡�×Ñ�C—L‘L GÑ+°NÐÓCñ9ó Dð9ò6ð ‡�×Ñ™ Ð$6Ó7Ð7Ø=ð ó ?ñ+ó?ð+ò	òò47òò,	?òð ‡�×Ñ�C—L‘L GÑ+Ð4FÐÓGñ-ó Hð-ó&?r2   