+
     ]i2  c                   s	   ^ RI t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt	 ^ RI
t
^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ R	IHtHtH t H!t! ]! R
 4      w  t"t#/ ^ 3R lt$]!]]
PJ                  PM                  R4      R 4       4       4       t'R t(]!]
PJ                  PM                  R4      ]! R.RR7      R 4       4       4       t) ]PT                  ! R4      PV                  ]	! R4      8  t,] ]
PJ                  P]                  ]! R4      '       * RR7      ]
PJ                  P]                  ]! R4      '       * RR7      ]
PJ                  PM                  R4      ]! R.R],'       d   RM^ R7      R 4       4       4       4       4       t/]!] ]P`                  Pc                  R4      ]
PJ                  PM                  R4      R 4       4       4       4       t2]!]P`                  Pc                  R4      ]
PJ                  PM                  R4      R  4       4       4       t3]!]
PJ                  PM                  R4      ]! R!.RR"R7      R# 4       4       4       t4]!]P`                  Pc                  R4      ]
PJ                  PM                  R4      R$ 4       4       4       t5]P`                  Pc                  R4      ]
PJ                  PM                  R4      ]
PJ                  Pm                  R%]
Pn                  ! R&].R'7      ]
Pn                  ! R(] .R'7      ]
Pn                  ! R)]!.R'7      .4      R* 4       4       4       t8]P`                  Pc                  R4      ]
PJ                  PM                  R4      ]
PJ                  Pm                  R%]
Pn                  ! R&].R'7      ]
Pn                  ! R(] .R'7      ]
Pn                  ! R)]!.R'7      .4      R+ 4       4       4       t9]!R, 4       t:]!R- 4       t;]!R. 4       t<]!]R/ 4       4       t=]!R0 4       t>]! R1.R27      ]
PJ                  Pm                  R3R;4      ]
PJ                  PM                  R4      R4 4       4       4       t?]
PJ                  PM                  R4      R5 4       t@]!]
PJ                  P]                  ]! R64      '       * R7R7      ]
PJ                  PM                  R4      ]! R8.RRR97      R: 4       4       4       4       tAR#   ]PZ                   d    Rt, ELi ; i)<    N)BytesIO)parse)_has_tex_package_check_for_pgf)ImageComparisonFailure)compare_images)PdfPages)_image_directoriescheck_figures_equalimage_comparison)needs_ghostscriptneeds_pgf_lualatexneeds_pgf_pdflatexneeds_pgf_xelatexc                  s    R # )z
dummy func r       H/usr/lib64/python3.14/site-packages/matplotlib/tests/test_backend_pgf.py<lambda>r      s    lr   c                 s   \         P                  P                  \        V 4      p\        P
                  ! V3/ VB  \         P                  P                  \        R V ,          4      p\        P                  ! \         P                  P                  \        V 4      V4       \        WCVR7      pV'       d   \        V4      hR# )zexpected_%stolN)ospathjoin
result_dirpltsavefigshutilZcopyfilebaseline_dirr   r   )Zfnamesavefig_kwargsr   ZactualZexpectedZerrs   &&&   r   compare_figurer      s|    WW\\*e,FKK).)ww||J(=>H
OOBGGLLu5x@
s
3C
$S)) r   pgfc                 s    \         P                  ! 4       pVP                  R R R4       \        4       pVP	                  VRRR7       VP                  ^ 4       \         P                  ! V4      pR# )      ?z%_^ $a_b^c$pngr   )formatbackendN)r   figuretextr   r   seekimread)tmp_pathfigbufts   &   r   test_tex_special_charsr,   %   sP     **,CHHR]#
)CKKE5K1HHQK

3Ar   c                  s   \         P                  ! 4        \        P                  ! ^ ^^4      p \         P                  ! W ^,          R4       \         P                  ! V ^V ^,          ,
          R4       \         P
                  ! RR.RR.RRRR7       \         P                  ! . RO. ROR	4       \         P                  ! R
.R.R^R7       \         P                  ! R
RRR^R7       \         P                  ! RRRR7       \         P                  ! ^^R^RR7       \         P                  ! ^ ^4       \         P                  ! ^ ^4       R# )r    zb-zg>        g?z//Z	lightgrayZred)ZhatchZ	facecolorZ	edgecolorZbg?r    Zro)Z
markersizeu/   unicode (ü, °, §) and math ($\mu_i = x_i^2$)Zright)Zhafontsizez*sans-serif, blue, $\frac{\sqrt{x}}{y^2}$..
sans-serifZblue)ZfamilyZcolorz2should be clipped as default clip_box is Axes bboxT)r.   Zclip_onN)   r0   皙?r1   r0   )   r3   r    r2   )r   r$   npZlinspaceplotZfill_betweenZfillr%   ZylabelZxlimZylim)Zx    r   create_figurer7   2   s    JJL
Aq"A HHQQ HHQAqD$ b"XBxt{$&HH 137 HHcUSE4A.HHS#W"&JJ="&2HHQG$( HHQNHHQNr   zpgf_xelatex.pdfZdefault)stylec                  sd    R RRR/p \         P                  P                  V 4       \        4        R# )font.familyserifpgf.rcfontsFNmplrcParamsupdater7   )Z
rc_xelatexr6   r   test_xelatexr@   O   s,      (JLL
#Or   Zgsz9.50TZtype1eczneeds type1ec.sty)Zreasonucszneeds ucs.styzpgf_pdflatex.pdfgQk'@)r8   r   c                  sl    R RRRRRRR/p \         P                  P                  V 4       \        4        R# )	r9   r:   r;   Fpgf.texsystempdflatexpgf.preamblez4\usepackage[utf8x]{inputenc}\usepackage[T1]{fontenc}Nr<   )rc_pdflatexr6   r   test_pdflatexrF   a   s=     !' %"J! %@BK
 LL$Or   c                  s   R RR^RRR^
RRRR	/R R
R^
RRR^RRRRRR/.p \         '       d   ^ R.M^ ^ .p\        V 4       F  w  r#\        P                  ! V4      ;_uu_ 4        R FP  w  rEV\        P                  R,          9   g   K#  \        V4      '       d   K6  \        P                  ! RV R24       KR  	  \        4        \        RV^,            R2W,          R7       RRR4       K  	  R#   + '       g   i     K  ; i)r9   r/   z	font.sizezfigure.subplot.leftg?zlines.markersizer;   FrB   xelatexZ	monospaceg?rC   rD   zG\usepackage[utf8x]{inputenc}\usepackage[T1]{fontenc}\usepackage{sfmath}gffffff*@zneeds z.styZpgf_rcupdate.pdfr   N))sfmathrI   )Zutf8xrA   )
_old_gs_versionZ	enumerater=   Z
rc_contextr>   r   pytestskipr7   r   )Zrc_setsr   ZiZrc_setZ	substringZpkg         r   test_rcupdaterN   r   s    
 |R%r"Bu, {R%r"Bu "8:;G '1d)QFCw'	^^F##"J	n!== 0 5 5KK&T 23 #K O\!a%536B $# (###s   !!C.C.AC..C?c                  sp   \         P                  P                  R 4       \        P                  P                  RRRR/4       \        P                  ! ^^4      w  rV^ ,          P                  RR.RR.4       V^ ,          P                  ^ ^4       V^ ,          P                  ^ ^4       V^,          P                  ^ ^.^^.4       V^,          P                  \         P                  P                  RR7      ^R^
.R	7       V^,          P                  R
4       V P                  \!        4       RR7       R# )i!N,r9   r:   r;   Fr-   g}Ô%ITi  )Zsize)ZbinsrangeZlogpdfr"   Ni)r4   ZrandomZseedr=   r>   r?   r   subplotsr5   Zset_xlimZset_ylimZscatterZhistZnormalZ
set_xscaler   r   )r)   Zaxs     r   test_pathcliprT      s     IINN8LLFG||Aq!HCFKKUb%[)FOOAqFOOAqFNNAq6Aq6"FKK		  d +"S"IKFFeKK	%K(r   zpgf_mixedmode.pdfgףp=
?c                  s   \         P                  P                  R RRR/4       \        P                  R^R1R^R13,          w  r\
        P                  ! V^,          V ^,          ,           4      P                  R4       R# )r9   r:   r;   Fy              D@TNi)r=   r>   r?   r4   Zogridr   ZpcolorZset_rasterized)ZYZXrS   r   test_mixedmoderU      sc     LLFG88BqHb3h&'DAJJq!tad{**40r   c                  s   \         P                  P                  R RRR/4       \        P                  ! ^^4      w  p w  rVP                  \        ^4      4       VP                  \        ^4      4       \        P                  ! 4        VP                  4       P                  V P                  P                  4       4      p\        RRV/^ R7       R# )r9   r:   r;   Fzpgf_bbox_inches.pdfbbox_inches)r   r   N)r=   r>   r?   r   rR   r5   rO   tight_layoutZget_window_extentZtransformedZdpi_scale_transZinvertedr   )r)   ax1ax2Zbboxs       r   test_bbox_inchesrZ      s     LLFGll1a(OC#HHU1XHHU1X  "..s/B/B/K/K/MND(-9Nr   systemlualatex)ZmarksrC   rG   c                 s   R RRRRV /p\         P                  P                  V4       \        P                  ! 4       w  r#VP                  \        ^4      4       VP                  4        \        P                  ! RR7      w  rEVP                  \        ^4      4       VP                  4        \        P                  P                  \        RV  R24      pRR	R
RRRRRR\        P                  ! R^^\        P                  ! \        P                  ! ^ 4      4      R7      RR/p\        WgR7      ;_uu_ 4       pVP!                  V4       VP!                  V4       VP!                  V4       RRR4       R#   + '       g   i     R# ; i)r9   r:   r;   FrB   ZfigsizeZ	pdfpages_rH   AuthormeTitleMultipage PDF with pgfSubject	Test pageKeywordstest,pdf,multipageModDate  ZtzinfoTrappedZUnknownZmetadataN)r0   r2   )r=   r>   r?   r   rR   r5   rO   rW   r   r   r   r   datetimetimezone	timedeltar   r   )	r[   rE   Zfig1rX   Zfig2rY   r   mdrP   s	   &        r   test_pdf_pagesro      s4    	wuK
 LL$IDHHU1XV,IDHHU1X77<<
ixt$<=D$);(8$$!Qx001C1CA1FGI9
B 
$	$	$DDD 
%	$	$	$s   64E44F	c                 s   \         P                  ! R 4      pV P                  RR4       \        P                  P                  RV/4       \        P                  ! 4       w  r4VP                  \        ^4      4       RRRRRR	R
RR\        P                  ! R^^\        P                  ! \        P                  ! ^ 4      4      R7      RR/p\        P                  P                  \         RV R24      p\#        WeR7      ;_uu_ 4       pVP%                  V4       RRR4       VP&                  P)                  V4      ;_uu_ 4       pVP*                  P-                  4        UU	u/ uF  w  rV\/        V	4      bK  	  p
pp	RRR4       RX
9   d   V
R RV
9   d   V
R V
P1                  R4      pR#   + '       g   i     L; iu up	pi   + '       g   i     LP; i)pikepdfZSOURCE_DATE_EPOCHZ0rB   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   ZTrueZpdfpages_meta_check_rH   rj   Nz/PTEX.FullBannerz/PTEX.Fullbannerz	/Producer)rK   ZimportorskipZsetenvr=   r>   r?   r   rR   r5   rO   rk   rl   rm   r   r   r   r   r   r   ZPdfZopenZdocinfoZitemsZstrZpop)Zmonkeypatchr[   rp   r)   axrn   r   rP   ZkZvZinfoZproducers   &&          r   test_pdf_pages_metadata_checkrr      s    !!),G*C0LL&12llnGCGGE!H 	$);(8$$!Qx001C1CA1FGI6
B 77<<
&:6($$GHD	$	$	$C 
% 
		$		3&)kk&7&7&9:&9da3q6	&9: 
  T!#$T!#$ xx$H 
%	$ ; 
 	s*   F)G F<
7G)F9	<GG	c                 s2   V R ,          p\        V4      ;_uu_ 4       p RRR4       V R,          p\        V4      ;_uu_ 4       pVP                  \        P                  ! 4       4       RRR4       R#   + '       g   i     L[; i  + '       g   i     R# ; i)za.pdfNzb.pdf)r   r   r   r$   )r(   ZfnrP   s   &  r   test_multipage_keep_emptyrs   !  sc     
G	B	" 

 
G	B	"CJJL! 
 
 
s   A2%B2B	B	c                  s   \         P                  ! 4       p V P                  R 4       \        P                  ! \
        4      ;_uu_ 4        V P                  \        4       RR7       RRR4       \         P                  ! 4       p V P                  R4       V P                  \        4       RR7       R#   + '       g   i     LS; i)z\oopsr   rQ   Nz
this is ok)r   r$   ZsuptitlerK   ZraisesZ
ValueErrorr   r   )r)   r6   r   test_tex_restart_after_errorrt   0  ss    
**,CLL	z	"	"GIe, 
# **,CLLKK	%K( 
#	"s   	B00C 	c                  s    \         P                  ! 4       w  rVP                  ^ ^.^^..4       V P                  \	        4       RRRR7       R# )r    rP   r   Ztight)r"   r#   rV   N)r   rR   Zimshowr   r   )r)   rq   rS   r   test_bbox_inches_tightru   <  s>    llnGCII1v1vKK	%GKLr   c                  s    \        4       p \        P                  ! 4       P                  V R RRR7       V P	                  ^ 4       \        P
                  ! V 4      pR# )r!   r   T)r"   r#   ZtransparentN)r   r   r$   r   r&   r'   )r*   r+   rS   r   test_png_transparencyrv   C  s@     )CJJLUEtLHHQK

3Ar   c                 s   V P                  R 4      ;_uu_ 4        R\        P                  R&   \        P                  ! RRR4       \        P
                  ! \        4       RR7       RRR4       R#   + '       g   i     R# ; i)ZWARNINGzthis-font-does-not-existr9   r    zhello, worldr   rQ   N)Zat_levelr=   r>   r   Zfigtextr   r   )Zcaplogs   &r   test_unknown_fontrw   M  sN    		#	#&@]#BN+GIe, 
$	#	#	#s   AA00B	rP   )Z
extensions	texsystemc                 s    \        V4      '       g   \        P                  ! VR ,           4       V\        P                  R&   V P                  RRR4       VP                  RRR4       R# )z + pgf is requiredrB   r    z$-1$u   $−1$N)r   rK   rL   r=   r>   r%   )Zfig_testZfig_refrx   s   &&&r   test_minus_signs_with_texry   W  sP     )$$I 445$-CLL!MM"b&!LLR,-r   c                  s   \         P                  ! RR7      w  rVP                  . 4       VP                  . 4       VP	                  R4       VP                  ^ ^.4      w  pVP                  ^^^*R7       \        4       ;_uu_ 4       pV P                  VRR7       VP                  4       P                  4       pRRR4       RpR#   + '       g   i     RpR# ; i)	r0   r]   F)ZscaleZlengthZ
randomnessr   rQ   NaR  \pgfpathmoveto{\pgfqpoint{0.375000in}{0.300000in}}%
\pgfpathlineto{\pgfqpoint{2.700000in}{2.700000in}}%
\usepgfmodule{decorations}%
\usepgflibrary{decorations.pathmorphing}%
\pgfkeys{/pgf/decoration/.cd, segment length = 0.150000in, amplitude = 0.100000in}%
\pgfmathsetseed{42}%
\pgfdecoratecurrentpath{random steps}%
\pgfusepath{stroke}%)r0   r0   )r   rR   Z
set_xticksZ
set_yticksZset_frame_onr5   Zset_sketch_paramsr   r   ZgetvalueZdecode)r)   rq   ZhandleZfdr*   ZbaselinerM   r   test_sketch_paramsrz   b  s    ll6*GCMM"MM"OOEggq!foGF
1RB?	bBu%kkm""$ 
H	 
Hs   2CC	zunicode-mathzneeds unicode-math.styzpgf_document_font_size.pdf)r8   Zremove_textc                  s   \         P                  P                  R RRRRR/4       \        P                  ! 4        \        P
                  ! . RR7       \        P
                  ! . RR7       \        P                  ! 4        R	# )
rB   rG   r;   FrD   z\usepackage{unicode-math}zM$this is a very very very long math label a \times b + 10^{-3}$ and some text)Zlabelz:\normalsize the document font size is \the\fontdimen6\fontN)r=   r>   r?   r   r$   r5   Zlegendr   r   r   test_document_font_sizer{   ~  sg     LLu4 
 JJLHHR$ HHRP JJLr   )rC   rG   r\   )Brk   Zior   r   r   Znumpyr4   Zpackaging.versionr   Zparse_versionrK   Z
matplotlibr=   Zmatplotlib.pyplotZpyplotr   Zmatplotlib.testingr   r   Zmatplotlib.testing.exceptionsr   Zmatplotlib.testing.comparer   Zmatplotlib.backends.backend_pgfr   Zmatplotlib.testing.decoratorsr   r	   r
   Zmatplotlib.testing._markersr   r   r   r   r   r   r   Zmarkr#   r,   r7   r@   Z_get_executable_infoZversionrJ   ZExecutableNotFoundErrorZskipifrF   r8   ZcontextrN   rT   rU   rZ   ZparametrizeZparamro   rr   rs   rt   ru   rv   rw   ry   rz   r{   r   r   r   <module>r|      s'     	   4    ? @ 5 4? ? 
 ..BC j *, * U   : U$%Y7 8    &..v1FF  (33<OP(//HU%&i.eA77  I Q  9UC    C8 9U)   )" U&'ydC1 D  1 9U    9U
LL$6#78
LL$6#78
LL#4"56$ 
 (   (F 9U
LL$6#78
LL$6#78
LL#4"56$ 
/  /d   ) ) M M "  " 0 0 (&IJU.  K ). U 6 ((1I   U/0	tT U  Q	 "" Os   %S SS