+
     ]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V^8H  P                  4       '       d   Q hR# )      ?z%_^ $a_b^c$pngr   )formatbackendN)r   figuretextr   r   seekimreadall)tmp_pathfigbufts   &   r   test_tex_special_charsr-   %   sg     **,CHHR]#
)CKKE5K1HHQK

3AQ||~~~r   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)   r1   皙?r2   r1   )   r4   r    r3   )r   r$   npZlinspaceplotZfill_betweenZfillr%   ZylabelZxlimZylim)Zx    r   create_figurer8   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updater8   )Z
rc_xelatexr7   r   test_xelatexrA   O   s,      (JLL
#Or   Zgsz9.50TZtype1eczneeds type1ec.sty)Zreasonucszneeds ucs.styzpgf_pdflatex.pdfgQk'@)r9   r   c                  sl    R RRRRRRR/p \         P                  P                  V 4       \        4        R# )	r:   r;   r<   Fpgf.texsystempdflatexpgf.preamblez4\usepackage[utf8x]{inputenc}\usepackage[T1]{fontenc}Nr=   )rc_pdflatexr7   r   test_pdflatexrG   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)r:   r0   z	font.sizezfigure.subplot.leftg?zlines.markersizer<   FrC   xelatexZ	monospaceg?rD   rE   zG\usepackage[utf8x]{inputenc}\usepackage[T1]{fontenc}\usepackage{sfmath}gffffff*@zneeds z.styZpgf_rcupdate.pdfr   N))sfmathrJ   )Zutf8xrB   )
_old_gs_versionZ	enumerater>   Z
rc_contextr?   r   pytestskipr8   r   )Zrc_setsr   ZiZrc_setZ	substringZpkg         r   test_rcupdaterO   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,r:   r;   r<   Fr.   g}Ô%ITi  )Zsize)ZbinsrangeZlogpdfr"   Ni)r5   ZrandomZseedr>   r?   r@   r   subplotsr6   Zset_xlimZset_ylimZscatterZhistZnormalZ
set_xscaler   r   )r*   Zaxs     r   test_pathcliprU      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# )r:   r;   r<   Fy              D@TNi)r>   r?   r@   r5   Zogridr   ZpcolorZset_rasterized)ZYZXrT   r   test_mixedmoderV      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# )r:   r;   r<   Fzpgf_bbox_inches.pdfbbox_inches)r   r   N)r>   r?   r@   r   rS   r6   rP   tight_layoutZget_window_extentZtransformedZdpi_scale_transZinvertedr   )r*   ax1ax2Zbboxs       r   test_bbox_inchesr[      s     LLFGll1a(OC#HHU1XHHU1X  "..s/B/B/K/K/MND(-9Nr   systemlualatex)ZmarksrD   rH   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       VP#                  4       ^8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r:   r;   r<   FrC   ZfigsizeZ	pdfpages_rI   AuthormeTitleMultipage PDF with pgfSubject	Test pageKeywordstest,pdf,multipageModDate  ZtzinfoTrappedZUnknownZmetadataN)r1   r3   )r>   r?   r@   r   rS   r6   rP   rX   r   r   r   r   datetimetimezone	timedeltar   r   Zget_pagecount)	r\   rF   Zfig1rY   Zfig2rZ   r   mdrQ   s	   &        r   test_pdf_pagesrp      sK    	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  "a''' 
%	$	$	$s   6AFF	c                 sP   \         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VR\        P2                   28X  g   VR8X  d   RV9   g   Q hV
RRRRRR\        P2                   R 2R!RR"R#R$R	R%RR&R'/8X  g   Q hR#   + '       g   i     L; iu up	pi   + '       g   i     L; i)(pikepdfZSOURCE_DATE_EPOCHZ0rC   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   ZTrueZpdfpages_meta_check_rI   rk   Nz/PTEX.FullBannerz/PTEX.Fullbannerz	/ProducerzMatplotlib pgf backend vr]   ZLuaTeXz/Authorz/CreationDatezD:19700101000000Zz/CreatorzMatplotlib vz, https://matplotlib.orgz	/Keywordsz/ModDatezD:19680801000000Zz/Subjectz/Titlez/Trappedz/True)rL   ZimportorskipZsetenvr>   r?   r@   r   rS   r6   rP   rl   rm   rn   r   r   r   r   r   r   ZPdfZopenZdocinfoZitemsZstrZpopZ__version__)Zmonkeypatchr\   rq   r*   axro   r   rQ   ZkZvZinfoZproducers   &&          r   test_pdf_pages_metadata_checkrs      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1#//1BCCj X%9; ; 4,l3??"33KL)'K*G	 	 	 	# 
%	$ ; 
 	s*   G<H H
7H<H	HH%	c                 s   V R ,          p\        V4      ;_uu_ 4       p RRR4       VP                  4       '       d   Q hV R,          p\        V4      ;_uu_ 4       pVP                  \        P                  ! 4       4       RRR4       VP                  4       '       g   Q hR#   + '       g   i     L; i  + '       g   i     L=; i)za.pdfNzb.pdf)r   Zexistsr   r   r$   )r)   ZfnrQ   s   &  r   test_multipage_keep_emptyrt   !  s     
G	B	" 
yy{{? 
G	B	"CJJL! 
99;;; 
 
s   B"%B5"B2	5C	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   rR   Nz
this is ok)r   r$   ZsuptitlerL   ZraisesZ
ValueErrorr   r   )r*   r7   r   test_tex_restart_after_errorru   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    rQ   r   Ztight)r"   r#   rW   N)r   rS   Zimshowr   r   )r*   rr   rT   r   test_bbox_inches_tightrv   <  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VR,          ^ 8H  P                  4       '       g   Q hR# )r!   r   T)r"   r#   ZtransparentN).r1   )r   r   r$   r   r&   r'   r(   )r+   r,   rT   r   test_png_transparencyrw   C  s]     )CJJLUEtLHHQK

3AfIN!!!!r   c                 sp   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V P                   Uu. uF  qP                  4       NK  	  up9   g   Q hR#   + '       g   i     LB; iu upi )	ZWARNINGzthis-font-does-not-existr:   r    zhello, worldr   rR   Nz/Ignoring unknown font: this-font-does-not-exist)	Zat_levelr>   r?   r   Zfigtextr   r   ZrecordsZ
getMessage)ZcaplogZrs   & r   test_unknown_fontrx   M  s    		#	#&@]#BN+GIe, 
$ = &A0 .1A0 0 0 0	 
$	#A0s   AB =B3 B0	rQ   )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 requiredrC   r    z$-1$u   $−1$N)r   rL   rM   r>   r?   r%   )Zfig_testZfig_refry   s   &&&r   test_minus_signs_with_texrz   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VX9   g   Q hR#   + '       g   i     L; i)	r1   r^   F)ZscaleZlengthZ
randomnessr   rR   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}%)r1   r1   )r   rS   Z
set_xticksZ
set_yticksZset_frame_onr6   Zset_sketch_paramsr   r   ZgetvalueZdecode)r*   rr   ZhandleZfdr+   ZbaselinerN   r   test_sketch_paramsr{   b  s    ll6*GCMM"MM"OOEggq!foGF
1RB?	bBu%kkm""$ 
H s?? 
s   2CC	zunicode-mathzneeds unicode-math.styzpgf_document_font_size.pdf)r9   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	# )
rC   rH   r<   FrE   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$   r6   Zlegendr   r   r   test_document_font_sizer|   ~  sg     LLu4 
 JJLHHR$ HHRP JJLr   )rD   rH   r]   )Brl   Zior   r   r   Znumpyr5   Zpackaging.versionr   Zparse_versionrL   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-   r8   rA   Z_get_executable_infoZversionrK   ZExecutableNotFoundErrorZskipifrG   r9   ZcontextrO   rU   rV   r[   ZparametrizeZparamrp   rs   rt   ru   rv   rw   rx   rz   r{   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