
    
3j/7                     F   S SK Jr  S SKrS SKJr  S SKrS SKrS SKrS SKr	S SK
r
S SKJrJrJrJr  S SKJr  S SKJr  S SKJr  S SKJrJr  S S	KJrJr  S SKrS SKJ r  S SKJ r!  S SK"J#r$  \
RJ                  RM                  S
S9\
RJ                  RO                  SSS/5      \
RJ                  RO                  SSS/5      \
RJ                  RO                  SSS0 4SSSS04SSSS04SSSS04SS0 4SSSS04SSSS04// SQS9S 5       5       5       5       r(S r)\\S  5       5       r*\" S!/S"S#9S$ 5       r+\\" S!/S"S#9S% 5       5       r,S& r-\S' 5       r.\S( 5       r/\S) 5       r0\" S*/S"S#9S+ 5       r1\" S,/S"S#9S- 5       r2\" S/S.9S/ 5       r3\S0 5       r4\" S1/S2S#9S3 5       r5\
RJ                  RO                  S4S5S6/5      S7 5       r6S8 r7S9 r8S: r9\" S;/S2S#9S< 5       r:\" S=/S2S#9S> 5       r;\" S?/S2S#9S@ 5       r<\" SA/S2S#9SB 5       r=\" SC/S"S#9SD 5       r>\" SE/SFSG0S2SH9SI 5       r?SJ r@g)K    )CounterN)Path)cbookfont_managerpathpatheffects)Figure)Ellipse)_gen_multi_font_text)needs_ghostscriptneeds_usetex)check_figures_equalimage_comparison   )reruns	papersizeletterfigureorientationportrait	landscapezformat, use_log, rcParamspsFps.usedistillerghostscriptxpdftext.usetexTeps	ps.useafm)r   zps with distiller=ghostscriptzps with distiller=xpdfzps with usetexr   zeps afmzeps with usetex)idsc           	         [         R                  R                  U5        [         R                  S   S:X  a   [         R                  " S5        OD[         R                  S   S:X  a-   [         R                  " S5        [         R                  " S5        [        R                  " 5       u  pg[        R                  " 5        n[        R                  " 5        n	U(       a  UR                  S5        UR                  SS/SS/5        S	n
[         R                  S
   (       d  U
S-  n
UR                  U
5        / n[         R                  S
   (       a  UR!                  ["        5        [         R                  S   (       a  UR!                  [         R$                  5         UR'                  XUUS9  UR'                  XUUS9  UR*                  (       a   eU	R*                  (       a   eUR-                  5       R/                  S5      nU	R-                  5       nU S:X  a  [         R                  S   S:X  a4  US:X  a  SUR1                  5       ;  d   eO}SUR1                  5       ;   d   eOf[         R                  S   (       d  [         R                  S
   (       a  US:X  a  SOSnUS:X  a  SU-   OSnX;   d   eOUS:X  a	  SU;  d   eOSU;   d   e[2        R4                  " SSU5      n[2        R4                  " SSU5      nXR7                  SS5      :X  d   e S S S 5        S S S 5        g ! [         R                   a*  n[
        R                  " [        U5      5         S nAGNS nAff = f! [         R                   a*  n[
        R                  " [        U5      5         S nAGN	S nAff = f! [)        U5       a*  n[
        R                  " [        U5      5         S nAGNS nAff = f! , (       d  f       N= f! , (       d  f       g = f)Nr   r   gsr   pdftopslog      u	   Déjà vur   u    −€r   )formatr   	papertypeasciir   r   s   letterr   s   432.0s   576.0s   -dDEVICEWIDTHPOINTS=s   -sPAPERSIZEs   %%DocumentPaperSizess   (?<=
%%CreationDate: ).*    s   
   
)mplrcParamsupdate_get_executable_infoExecutableNotFoundErrorpytestskipstrpltsubplotsioStringIOBytesIO
set_yscaleplot	set_titleappendRuntimeErrorMatplotlibDeprecationWarningsavefigtupleclosedgetvalueencodelowerresubreplace)r&   use_logr,   r   r   excfigaxs_bufb_buftitleallowable_exceptionss_valb_valwidthwanteds                   Z/home/wildlama/miniconda3/lib/python3.13/site-packages/matplotlib/tests/test_backend_ps.pytest_savefig_to_stringiorT      s#   * LL!
||%&-7	"$$T* 
'	(F	2	"$$T*$$Y/ llnGC	%MM% 
AA||M*33E
U!<<& ''5<<$ ''(H(HI	"KK+"+  -KK+"+  -
 <<<< ''0 T> ||-.&8 ($EKKM999$555/0CLL4O$/;$>H=F(=R1E9- &(2%???2e;;;
 3S%@3S%@gu5555o ". ** 	"KKC!!	" ** 	"KKC!!	"2 )* 	"KKC!!	") ".s   L" ',M# ?O1CO "N$=EO O1"M 6MM #N!7NN!$O3OO OO  
O.	*O11
O?c                  $   [         R                  " SSS9/[        R                  S'   [        R
                  " 5       u  pUR                  / SQ5        [        R                  " 5        nU R                  USS9  S S S 5        g ! , (       d  f       g = f)N   w)	linewidth
foregroundzpath.effects)r$   r%   r   r   r&   )
r   
withStroker+   r,   r3   r4   r9   r5   r7   r>   )rI   rJ   r   s      rS   test_patheffectsr\   v   s`    s;$=CLL llnGCGGI	Bt$ 
s   'B
Bc                 X   U S-  nUR                  5         [        R                  " [        [	        U5      S9   S[
        R                  S'   [        R                  " / SQ5        [        R                  " S5        [        R                  " US-  SS	9  S S S 5        g ! , (       d  f       g = f)
Nzshort-1)tempdirTr   )r$   r%   r   rV   z\textbf{time} (s)ztex_demo.epsr   rZ   )mkdirr   _setattr_cmtempfiler2   r+   r,   r3   r9   xlabelr>   )tmp_pathbase_tempdirs     rS   test_tilde_in_tempfilenamere      sx     i'L 
		8S->	?&*]#

'(L>1$? 
@	?	?s   AB
B)z	empty.eps_classic_test)stylec                      [         R                  " 5       u  pUR                  5         UR                  SS/SSS9  UR	                  SSSSSS9  g )Nr   r$   rcoloralpha      ?foo)r3   r4   set_axis_offr9   textrI   rJ   s     rS   test_transparencyrr      sE    llnGCOOGGQF#QG'GGBEAG.r)   c                      S[         R                  S'   [        R                  " 5       u  pUR	                  5         UR                  SS/SSS9  UR                  SSSSSS9  g )	NTr   r   r$   ri   rj   rm   rn   )r+   r,   r3   r4   ro   r9   rp   rq   s     rS   test_transparency_texrt      sU     #'CLLllnGCOOGGQF#QG'GGBEAG.r)   c            	      z   [         R                  " 5       u  p[        R                  " 5        nU R	                  USS9  UR                  5       nS S S 5        [        R                  " SW[        R                  5      nU(       d   e[        R                  " SU[        R                  5      nU(       d   e[        SS5       Hg  nSUR                  U5      ;  d   e[        UR                  U5      5      [        R                  " [        UR                  U5      5      S5      :X  a  Mg   e   g ! , (       d  f       N= f)Nr   rZ   s$   ^%%BoundingBox: (.+) (.+) (.+) (.+)$s)   ^%%HiResBoundingBox: (.+) (.+) (.+) (.+)$r$         .)r3   r4   r5   r7   r>   rA   rD   search	MULTILINErangegroupintr0   approxfloat)rI   rJ   bufbbhibbis         rS   	test_bboxr      s    llnGC	C&lln 
 
:C	NBI299A3\\#DK41a[288A;&&&288A;6==tzz!}1Eq#IIII  
s   !D,,
D:c                     S[         R                  S'   [        R                  " S5        [        R
                  " [        5         [        R                  " [        R                  " 5       SS9  SSS5        g! , (       d  f       g= f)z"Test failing latex subprocess callTr   z$22_2_2$r   rZ   N)
r+   r,   r3   rb   r0   raisesr<   r>   r5   r7    r)   rS   test_failing_latexr      sJ     #'CLLJJz	|	$BJJL. 
%	$	$s   )A66
Bc                    U R                  S5        [        R                  " SSSSS9  [        R                  " SSSSS9  [        R                  " [        R
                  " 5       SS	9  U R                  u  nS
UR                  5       ;   d   eg )NWARNING皙?rn   T)usetex皙?barr   rZ   zas if usetex=False)	set_levelr3   figtextr>   r5   r7   records
getMessage)caplogrecords     rS   test_partial_usetexr      sj    
YKKBd+KKBd+KK

T*nnGF6#4#4#6666r)   c                     [         R                  R                  SSS.5        [        R                  " SSS5        [        R
                  " [        R                  " 5       SS9  g )NTz$\usepackage{color,graphicx,textcomp})r   ztext.latex.preamblerm   rn   r   rZ   )r+   r,   r-   r3   r   r>   r5   r7   )r   s    rS   test_usetex_preambler      sE    LLF 
 KKBKK

T*r)   z
useafm.epsc                      S[         R                  S'   [        R                  " 5       u  pUR	                  5         UR                  S5        UR                  SSS5        g )NTr   rm   qk)r+   r,   r3   r4   ro   axhlinerp   rq   s     rS   test_useafmr      sB     $CLLllnGCOOJJrNGGBDr)   zcoloredhatcheszerolw.epsc                     [         R                  " 5       n U R                  [        SSSSSSSS95        U R                  [        SS	S	S
SSSS95        U R                  [        SSSSSSSS95        U R	                  5         g )N)r   r   r$   /noneri   r   )hatch	facecolor	edgecolorrX   )rm   rm   rm   +gr   )r$   r$   g333333?g?\b)r3   gca	add_patchr
   ro   )rJ   s    rS   !test_colored_hatch_zero_linewidthr      s}    	BLLASF#&!5 6LLS#SF#&#7 8LLc#&!5 6OOr)   )
extensionsc                 ~    U R                  5       nUR                  SSSU R                  SS9  UR                  5         g )Nr   helloT)	transformclip_on)add_subplotrp   transFigure)fig_testfig_refrJ   s      rS   test_text_clipr      s8    				BGGAq'X%9%94GHr)   c                     [         R                  " 5       nUR                  SSS5        U S-  nUR                  U5        [        R
                  R                  R                  USS9  g )Nrm   defztest.epsF)cache)r3   r   rp   r>   r+   testingcompareconvert)rc   rI   outs      rS   test_d_glyphr      sR     **,CHHRU
Z
CKKKK51r)   ztype42_without_prep.epsmpl20c                      S[         R                  S'   S[         R                  S'   [        R                  " SSS5        g )N*   ps.fonttypestixzmathtext.fontsetrm   zMass $m$)r+   r,   r3   r   r   r)   rS   test_type42_font_without_prepr      s1     #%CLL'-CLL#$KKS*%r)   fonttype342c                 ^   U [         R                  S'   [        R                  " 5       u  pUR	                  SSS5        [
        R                  " 5       nUR                  USS9  S[        U  SS	9-   S
-   n[        R                  " XCR                  5       [        R                  5      (       d   eg )Nr   g      ?rm   z&Forty-two is the answer to everything!r   rZ   s
   /FontType zutf-8)encodings    def)r+   r,   r3   r4   rp   r5   r7   r>   bytesrD   rx   rA   ry   )r   rI   rJ   r   tests        rS   test_fonttyper     s    "*CLLllnGCGGD#?@
**,CKKDK!5H:AAGKD99T<<>2<<8888r)   c                      [         R                  " 5       u  pUR                  SS/SS9  [        R                  " 5       nU R                  USS9  UR                  5       S:  d   eg)z-Test that dashed lines do not break PS outputr   r$   z--)	linestyler   rZ   N)r3   r4   r9   r5   r7   r>   tell)rI   rJ   r   s      rS   test_linedashr     sP    llnGCGGQFdG#
**,CKKDK!88:>>r)   c                      [        5       n U R                  SSS5        [        R                  " 5       nU R	                  USS9  U R	                  USS9  g )Nrm   z
foo

r   rZ   r   )r	   rp   r5   r7   r>   )r   r   s     rS   test_empty_liner   !  sD    XF
KKS+&
**,C
NN3uN%
NN3tN$r)   c                  0   [        5       n U R                  SS[        SS9S9nUR                   H&  nUR	                  / / S9  UR                  SS/5        M(     U R                  S5        [        R                  " 5       nU R                  US	S
9  UR                  S5        UR                  5        Vs/ s H/  nUR                  S5      (       d  M  UR                  S5      S   PM1     nn[        [        U5      R!                  5       5      S:X  d   eg s  snf )NrV   polar)
projection)
subplot_kw)xticksyticksr$   r%   zhello, worldr   rZ   r   r    )r	   r4   dictflatsetr9   suptitler5   r6   r>   seek	readlines
startswith	partitionmaxr   values)rI   axsrJ   r   lnwdss         rS   test_no_duplicate_definitionr   *  s    
(C
,,q!(@,
AChh
b$
A  LL 
++-CKKEK"HHQK " 2mmC   2<<Q   " ws|""$%***	"s   2DDzmulti_font_type3.epsc                      [        5       u  p[        R                  " SU SS9  [        R                  " SSS9  [        R                  " SS9nUR	                  S	S	US
S
S9  g )Nfont   familysizer   r   r         figsizerm   centerhorizontalalignmentverticalalignmentr   r3   rcr   rp   fontstest_strrI   s      rS   test_multi_font_type3r   >  sU    *,OEFF6%b)FF4!
**V
$CHHS#x!)X  Gr)   zmulti_font_type42.epsc                      [        5       u  p[        R                  " SU SS9  [        R                  " SSS9  [        R                  " SS9nUR	                  S	S	US
S
S9  g )Nr   r   r   r   r   r   r   r   rm   r   r   r   r   s      rS   test_multi_font_type42r   I  sU    *,OEFF6%b)FF4"
**V
$CHHS#x!)X  Gr)   zttc_type3.epsc            
         [         R                  " S/S9n [        [         R                  " U 5      5      R                  S:w  a  [
        R                  " S5        SS/n[        R                  " SSS9  [        R                  " S	S
S9  [        R                  " S[        U5      S-  4S9R                  [        U5      5      n[        X5       H,  u  p4UR                  SSU S[        R                   3USSS9  M.     g )NWenQuanYi Zen Heir   wqy-zenhei.ttc"Font wqy-zenhei.ttc may be missingWenQuanYi Zen Hei Monor   r   r   pdfr   r      r%   r   rm   : r   r   r   r   r   FontPropertiesr   findfontnamer0   r1   r3   r   r   len
subfiguresziprp   stringascii_uppercasefpr   figsr   rI   s        rS   test_ttc_type3r  T  s    		$	$-@,A	BBL!!"%&++/??89 ":;EFF6FF51::q#e*q.12==c%jID%	cdV2f&<&<%=>T%- 	 	K &r)   zttc_type42.epsc            
         [         R                  " S/S9n [        [         R                  " U 5      5      R                  S:w  a  [
        R                  " S5        SS/n[        R                  " SSS9  [        R                  " S	S
S9  [        R                  " S[        U5      S-  4S9R                  [        U5      5      n[        X5       H,  u  p4UR                  SSU S[        R                   3USSS9  M.     g )Nr   r   r   r   r   r   r   r  r  r   r   r  r%   r   rm   r  r   r  r  r  s        rS   test_ttc_type42r  d  s    		$	$-@,A	BBL!!"%&++/??89 ":;EFF6FF52::q#e*q.12==c%jID%	cdV2f&<&<%=>T%- 	 	K &r)   zscatter.epsc                  f   [         R                  R                  S5      n U R                  SSS5      nU R                  SSS5      nU R                  SSS5      n[        R
                  " 5       u  pEUR                  XU/ SQSS	9  UR                  5         [        S
S5       Vs/ s H"  n[        R                  R                  U5      PM$     nnU R                  SSS5      R                  SS5      nSS/n[        R                  " XsSSUS9n	UR                  U	SS9  UR!                  SS5        g s  snf )Ni!N,r   r$   
      d   )g?r   r   <)r   markerr   r        r%   g{Gz?g{Gz?yellow)zorder
facecolorsoffsetsF)autolim)nprandomdefault_rnguniformr3   r4   scatterro   rz   r   r   unit_regular_polygonreshapemcollectionsPathCollectionadd_collectionset_xlim)
rngxvalsyvalssizesrI   rJ   r   pathsr!  pcs
             rS   test_path_collectionr4  t  s   
))


)CKK1b!EKK1b!EKKC$EllnGCJJuUocJJOO8=aD1TYY++A.EDkk!S"%--b!4G4LE		$	$U"08'
KB b%(KK1 Es   ")D.zcolorbar_shift.epsbbox_inchestight)savefig_kwargrg   c                     [         R                  " / SQ5      n[         R                  " / SQUR                  5      n[        R
                  " SS/SS/SS/XS9  [        R                  " 5         g )N)ri   r   r   )r  g      rm   r$   r   r$   )ccmapnorm)mcolorsListedColormapBoundaryNormNr3   r'  colorbar)rc   r:  r;  s      rS   test_colorbar_shiftrA    sR     !!/2D 2DFF;DKKAA1a&t?LLNr)   c                  h   [         R                  " 5       n [        R                  " [        SS9   U R                  [        R                  " 5       SSS9  S S S 5        [        R                  " [        SS9   S[        R                  S'   S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = f)Nz'auto' is not a valid value)matchr   auto)r&   r'   zps.papersize)
r3   r   r0   r   
ValueErrorr>   r5   r7   r+   r,   )rI   s    rS   test_auto_papersize_removalrF    sv    
**,C	z)F	GBJJL&A 
H 
z)F	G'-^$ 
H	G 
H	G 
H	Gs   %B5B#
B #
B1)Acollectionsr   r5   pathlibr   rD   r  ra   numpyr#  r0   
matplotlibr   r   r   r   matplotlib.figurer	   matplotlib.patchesr
   matplotlib.testingr   matplotlib.testing._markersr   r   matplotlib.testing.decoratorsr   r   r+   matplotlib.collectionsr*  matplotlib.colorscolorsr<  matplotlib.pyplotpyplotr3   markflakyparametrizerT   r\   re   rr   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r4  rA  rF  r   r)   rS   <module>rX     sf    	  	     = = $ & 3 G O  - #  !x&:;[(AB4	5"	5$m45	5$f-.	5=$'(
E2
D;%&
EM4()7  "G6# C < (G6T% @  @" ;-7/ 8/ ;-7/ 8 /J$ / / 7 7 + + <.8 9 -.oF G ( ) 2 2 ,-W=& >& c4[19 29	%+( )*':G ;G *+7;G <G ?#73K 4K #$G4K 5K =/9 :* '(8P!!.r)   