Ë
    ¸Ó^j‘a  ã                   ó  — d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlm	Z
 d dlZd dlZd dlmZmZmZ d dlmZ d dlmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZm Z  d dl!m"Z"m#Z# d dl$m%Z%  e#dgd¬«      d„ «       Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0e%d„ «       Z1d„ Z2 e#dgd¬«      d„ «       Z3 e#d gd¬«      d!„ «       Z4ejj                  jm                  d"«       e"d#d$g¬%«      d&„ «       «       Z7e%d'„ «       Z8d(„ Z9 e#d)gd¬«      d*„ «       Z:d+„ Z; e#d,gd¬«      d-„ «       Z< e#d.gd¬«      d/„ «       Z= e#d0gd¬«      d1„ «       Z> e#d2gd¬«      d3„ «       Z?ej€                  jƒ                  d4d5d6g«      d7„ «       ZB e#d8gd¬«      d9„ «       ZCej€                  j‰                   e d:«       d;¬<«       e#d=gd¬«      d>„ «       «       ZEej€                  j‰                   e d?«       d@¬<«       e#dAgd¬«      dB„ «       «       ZFej€                  j‰                   e dC«       dD¬<«       e#dEgd¬«      dF„ «       «       ZGdG„ ZH e"d#g¬%«      dH„ «       ZI e"d#g¬%«      dI„ «       ZJ e"d#g¬%«      dJ„ «       ZK e"d#g¬%«      dK„ «       ZL e"d#g¬%«      dL„ «       ZMy)Mé    N)ÚPath)Úparse)ÚpyplotÚrcParamsÚfont_manager)Ú_get_data_path)ÚFT2Font)Úget_glyphs_subsetÚfont_as_file)ÚPdfPages)Ú	Rectangle)Ú_gen_multi_font_textÚ_has_tex_package)Úcheck_figures_equalÚimage_comparison)Úneeds_usetexzpdf_use14corefonts.pdfÚ_classic_test)Ústylec                  ó  — dt         d<   dt         d<   dt         d<   dgt         d<   d	t         d
<   d} t        j                  «       \  }}|j                  d«       |j	                  dd| ddd¬«       |j                  dd¬«       y )NTzpdf.use14corefontsz
sans-serifzfont.familyé   z	font.sizeÚ	Helveticazfont.sans-serifr   úpdf.compressionu�   A three-line text positioned just above a blue line
and containing some French characters and the euro symbol:
"Merci pÃ©pÃ© pour les 10 â‚¬"z0Test PDF backend with option use14corefonts=Trueç      à?ÚcenterÚbottomé   )ÚhorizontalalignmentÚverticalalignmentÚfontsize)Ú	linewidth)r   ÚpltÚsubplotsÚ	set_titleÚtextÚaxhline)r$   ÚfigÚaxs      úl/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/matplotlib/tests/test_backend_pdf.pyÚtest_use14corefontsr)      s�   € à%)„HÐ!Ñ"Ø*„Hˆ]ÑØ„Hˆ[ÑØ#. -„HÐÑØ"#„HÐÑð"€Dô �l‰l‹n�G€CˆØ‡L�LÐCÔDØ‡G�GˆC��d°Ø&Øð ô ð ‡J�Jˆs˜c€JÕ"ó    c                  ó‚  — t        t        j                  «       «      5 } | j                  «       dk(  sJ ‚t	        j
                  «       \  }}|j                  g d¢«       |j                  | d¬«       | j                  «       dk(  sJ ‚| j                  «        | j                  «       dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   )é   é   é   Úpdf©Úformatr,   r-   )r   ÚioÚBytesIOÚget_pagecountr!   r"   ÚplotÚsavefig)r/   r&   r'   s      r(   Útest_multipage_pagecountr7   -   s    € Ü	”"—*‘*“,Ó	ð ( 3Ø× Ñ Ó" aÒ'Ð'Ð'Ü—,‘,“.‰ˆˆRØ
�‰’	ÔØ�‰�C ˆÔ&Ø× Ñ Ó" aÒ'Ð'Ð'Ø�‰ŒØ× Ñ Ó" aÒ'Ð'Ñ'÷(÷ (ñ (ús   žBB5Â5B>c                  óp  — t        j                  «       } t        | «      5 }t        d«      D ]=  }t	        j
                  «       \  }}|j                  d«       |j                  |d¬«       Œ? 	 d d d «       | j                  «       }|j                  d«      dk(  sJ ‚t        |«      dk  sJ ‚y # 1 sw Y   Œ@xY w)Né
   zThis is a long titler/   r0   s	   startxrefr,   i@œ  )r2   r3   r   Úranger!   r"   r#   r6   ÚgetvalueÚcountÚlen)Úpdfior/   Úir&   r'   Úss         r(   Útest_multipage_properfinalizerA   8   sŸ   € Ü�J‰J‹L€EÜ	�%‹ð +˜CÜ�r“ò 	+ˆAÜ—l‘l“n‰GˆC�Ø�L‰LÐ/Ô0Ø�K‰K˜ EˆKÕ*ñ	+÷+ð
 	�‰Ó€AØ�7‰7�<Ó  AÒ%Ð%Ð%Üˆq‹6�EŠ>Ð‰>÷+ð +ús    AB,Â,B5c                 ó(  — | dz  }t        |«      5 }	 d d d «       |j                  «       rJ ‚| dz  }t        |«      5 }|j                  t        j                  «       «       d d d «       |j                  «       sJ ‚y # 1 sw Y   ŒjxY w# 1 sw Y   Œ(xY w)Nza.pdfzb.pdf)r   Úexistsr6   r!   Úfigure)Útmp_pathÚfnr/   s      r(   Útest_multipage_keep_emptyrG   D   s…   € à	�GÑ	€BÜ	�"‹ð ˜Ø÷à�y‰yŒ{Ðˆ?ð 
�GÑ	€BÜ	�"‹ð "˜Ø�‰”C—J‘J“LÔ!÷"à�9‰9Œ;Ð‰;÷ð ú÷"ð "ús   ‘A<½$BÁ<BÂBc                  ó`  — t        j                  t        j                  ddd«      t        j                  ddd«      «      \  } }t        j                  |dz  «      }t	        j
                  «       \  }}|j                  dd«       |j                  |g d¢¬«       |j                  |d d d	…   g d
¢¬«       dt        j                  d<   t        t        j                  «       «      5 }|j                  |d¬«       t        |j                  j                  «      dk(  sJ ‚	 d d d «       dt        j                  d<   t        t        j                  «       «      5 }|j                  |d¬«       t        |j                  j                  «      dk(  sJ ‚	 d d d «       y # 1 sw Y   Œ{xY w# 1 sw Y   y xY w)Néûÿÿÿé   r,   r-   r   r.   )r   r,   r   r,   )Úextentéÿÿÿÿ)r-   r.   r   r,   Tzimage.composite_imager/   r0   F)ÚnpÚmeshgridÚarangeÚsinr!   r"   Úset_xlimÚimshowr   r   r2   r3   r6   r=   Ú_fileÚ_images)ÚXÚYÚZr&   r'   r/   s         r(   Útest_composite_imagerX   R   sQ  € ô �;‰;”r—y‘y  Q¨Ó*¬B¯I©I°b¸!¸QÓ,?Ó@�D€A€qÜ
�‰ˆq�A‰v‹€AÜ�l‰l‹n�G€CˆØ‡K�K��1ÔØ‡I�Iˆaš€IÔ%Ø‡I�Iˆa‘�"�‰gšl€IÔ+Ø,0„C‡L�LÐ(Ñ)Ü	”"—*‘*“,Ó	ð + 3Ø�‰�C ˆÔ&Ü�3—9‘9×$Ñ$Ó%¨Ò*Ð*Ñ*÷+ð -2„C‡L�LÐ(Ñ)Ü	”"—*‘*“,Ó	ð + 3Ø�‰�C ˆÔ&Ü�3—9‘9×$Ñ$Ó%¨Ò*Ð*Ñ*÷+ð +÷	+ð +ú÷+ð +ús   Ã%8FÅ8F$ÆF!Æ$F-c                  ó€  — t        j                  d«      } t        j                  dt        j                  ¬«      }t        j
                  d«      |d d …ddf<   dt        d<   t        j                  «       }|j                  |d¬«       t        j                  «       }|j                  |d	d
¬«       | j                  j                  |«      5 }|j                  \  }t!        | j"                  «      t!        d«      k  r|j$                  j'                  «       \  }n |j)                  «       j'                  «       \  }| j+                  |«      }|j,                  sJ ‚|j/                  «       }t        j0                  |j3                  d«      «      }	d d d «       t        j4                  j7                  |	«       y # 1 sw Y   Œ*xY w)NÚpikepdf)é   r,   r.   )Údtyper[   r   Tr   )Úresizer/   rD   )r1   Údpiz10.9.0ÚRGB)ÚpytestÚimportorskiprM   ÚzerosÚuint8rO   r   r!   rD   Úfigimager2   r3   r6   ÚPdfÚopenÚpagesÚparse_versionÚ__version__ÚimagesÚvaluesÚ
get_imagesÚPdfImageÚindexedÚas_pil_imageÚasarrayÚconvertÚtestingÚassert_array_equal)
rZ   Údatar&   Úbufr/   ÚpageÚimageÚ	pdf_imageÚ	pil_imageÚrgbs
             r(   Útest_indexed_imager{   e   sS  € ä×!Ñ! )Ó,€Gä�8‰8�K¤r§x¡xÔ0€DÜ—I‘I˜c“N€DŠˆAˆqˆ�Mà"&„HÐÑÜ
�*‰*‹,€CØ‡L�L�˜d€LÔ#Ü
�*‰*‹,€CØ‡K�K�˜E x€KÔ0à	�‰×	Ñ	˜#Ó	ð 	3 #Ø—	‘	‰ˆÜ˜×,Ñ,Ó-´¸hÓ0GÒGØ—[‘[×'Ñ'Ó)‰F‰Eà—_‘_Ó&×-Ñ-Ó/‰FˆEØ×$Ñ$ UÓ+ˆ	Ø× Ò Ð Ð Ø×*Ñ*Ó,ˆ	Ü�j‰j˜×*Ñ*¨5Ó1Ó2ˆ÷	3ô ‡J�J×!Ñ! $¨Õ,÷	3ð 	3ús   ÃC F4Æ4F=c                 óÐ  — t        j                  d«      }| j                  dd«       t        j                  «       \  }}|j                  t        d«      «       ddddt        j                  d	d
dt        j                  t        j                  d«      «      ¬«      ddœ}t        j                  «       }|j                  ||d¬«       |j                  j                  |«      5 }|j                  j!                  «       D ��ci c]  \  }}|t#        |«      “Œ }	}}d d d «       	dddt$        j&                  › d�dddt$        j&                  › �ddddœ	k(  sJ ‚y c c}}w # 1 sw Y   ŒDxY w)NrZ   ÚSOURCE_DATE_EPOCHÚ0rJ   ÚmeúMultipage PDFú	Test pageútest,pdf,multipageé°  r   r,   r   ©ÚtzinfoÚTrue©ÚAuthorÚTitleÚSubjectÚKeywordsÚModDateÚTrappedr/   )Úmetadatar1   úD:19700101000000ZúMatplotlib vú, https://matplotlib.orgúD:19680801000000ZúMatplotlib pdf backend vú/True©	z/Authorz/CreationDatez/Creatorz	/Keywordsz/ModDatez	/Producerz/Subjectz/Titlez/Trapped)r`   ra   Úsetenvr!   r"   r5   r:   ÚdatetimeÚtimezoneÚ	timedeltar2   r3   r6   re   rf   ÚdocinfoÚitemsÚstrÚmplri   ©
ÚmonkeypatchrZ   r&   r'   Úmdru   r/   ÚkÚvÚinfos
             r(   Útest_savefig_metadatar¤   €   sP  € Ü×!Ñ! )Ó,€GØ×ÑÐ*¨CÔ0ä�l‰l‹n�G€CˆØ‡G�GŒE�!‹HÔð Ø ØØ(Ü×$Ñ$Ø�!�Qœx×0Ñ0´×1CÑ1CÀAÓ1FÓGôIàñ
€Bô �*‰*‹,€CØ‡K�K�˜b¨€KÔ/à	�‰×	Ñ	˜#Ó	ð ; #Ø&)§k¡k×&7Ñ&7Ó&9×:™d˜a �”3�q“6‘	Ð:ˆÑ:÷;ð ØØ,Ø"¤3§?¡?Ð"3Ð3KÐLØ)Ø'Ø/´·±Ð/@ÐAØØ!Øñ
ò 
ð 
ñ 
ùó ;÷;ð ;ús   Ã"EÄ EÄEÅEÅE%c                  óò  — t        j                  «       \  } }t        j                  t        d¬«      5  | j                  t        j                  «       dddi¬«       d d d «       t        j                  t        d¬«      5  | j                  t        j                  «       ddd	i¬«       d d d «       t        j                  t        d
¬«      5  | j                  t        j                  «       dddi¬«       d d d «       t        j                  t        d¬«      5  | j                  t        j                  «       dddi¬«       d d d «       y # 1 sw Y   ŒîxY w# 1 sw Y   Œ®xY w# 1 sw Y   ŒnxY w# 1 sw Y   y xY w)Nz#Unknown infodict keyword: 'foobar'.)Úmatchr/   ÚfoobarÚinvalid)r1   rŽ   z%not an instance of datetime.datetime.rŒ   z
1968-08-01z'not one of {"True", "False", "Unknown"}r�   Úfooznot an instance of str.r‰   iÒ  )r!   r"   r`   ÚwarnsÚUserWarningr6   r2   r3   ©r&   r'   s     r(   Útest_invalid_metadatar­   £   s;  € Ü�l‰l‹n�G€Cˆä	�‰”kØAô
Cñ Pà�‰”B—J‘J“L¨¸(ÀIÐ9NˆÔO÷Pô 
�‰”kØCô
Eñ 8à�‰”B—J‘J“L¨Ø'¨Ð6ð 	ô 	8÷8ô
 
�‰”kØEô
Gñ Mà�‰”B—J‘J“L¨¸)ÀUÐ9KˆÔL÷Mô 
�‰”kÐ)BÔ	Cñ JØ�‰”B—J‘J“L¨¸'À4¸ˆÔI÷Jð J÷Pð Pú÷8ð 8ú÷
Mð Mú÷Jð Jús/   ³)E	Á?)EÃ)E!Ä)E-Å	EÅEÅ!E*Å-E6c                 ó0  — t        j                  d«      }| j                  dd«       t        j                  «       \  }}|j                  t        d«      «       ddddt        j                  d	d
dt        j                  t        j                  d«      «      ¬«      ddœ}t        j                  «       }t        ||¬«      5 }|j                  |«       |j                  |«       d d d «       |j                  j                  |«      5 }|j                   j#                  «       D ��ci c]  \  }}|t%        |«      “Œ }	}}d d d «       	dddt&        j(                  › d�dddt&        j(                  › �ddddœ	k(  sJ ‚y # 1 sw Y   Œ˜xY wc c}}w # 1 sw Y   ŒPxY w)NrZ   r}   r~   rJ   r   r€   r�   r‚   rƒ   r   r,   r   r„   r†   r‡   )rŽ   r�   r�   r‘   r’   r“   r”   r•   )r`   ra   r–   r!   r"   r5   r:   r—   r˜   r™   r2   r3   r   r6   re   rf   rš   r›   rœ   r�   ri   rž   s
             r(   Útest_multipage_metadatar¯   ·   sx  € Ü×!Ñ! )Ó,€GØ×ÑÐ*¨CÔ0ä�l‰l‹n�G€CˆØ‡G�GŒE�!‹HÔð Ø ØØ(Ü×$Ñ$Ø�!�Qœx×0Ñ0´×1CÑ1CÀAÓ1FÓGôIàñ
€Bô �*‰*‹,€CÜ	�# Ô	#ð  sØ�‰�CÔØ�‰�CÔ÷ð 
�‰×	Ñ	˜#Ó	ð ; #Ø&)§k¡k×&7Ñ&7Ó&9×:™d˜a �”3�q“6‘	Ð:ˆÑ:÷;ð ØØ,Ø"¤3§?¡?Ð"3Ð3KÐLØ)Ø'Ø/´·±Ð/@ÐAØØ!Øñ
ò 
ð 
ñ 
÷ð üó
 ;÷;ð ;ús*   Ã #E:ÄFÄ$FÄ:FÅ:FÆFÆFc                  óˆ  ‡‡— t        j                  d«      } dŠt        j                  d¬«      }|j	                  ddd‰› d�¬«       |j	                  dd	d
‰› d�¬«       t        j                  «       5 }|j                  |d¬«       | j                  j                  |«      5 }|j                  d   j                  }dD ]X  \  }Št        ˆˆfd„|D «       d «      }|€J ‚t        |dd «      �J ‚|j                  d   t        j                   |«      dz  k(  rŒXJ ‚ 	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NrZ   ú&https://test_text_urls.matplotlib.org/©r-   r,   ©Úfigsizeçš™™™™™¹?ztest plain 123Úplain)Úurlgš™™™™™Ù?ztest mathtext $123$Úmathtextr/   r0   r   ))z0.1r¶   )z0.4r¸   c              3   ó^   •K  — | ]$  }|j                   j                  ‰› ‰› �k(  sŒ!|–— Œ& y ­w©N©ÚAÚURI)Ú.0ÚaÚfragmentÚtest_urls     €€r(   ú	<genexpr>z!test_text_urls.<locals>.<genexpr>ï   s)   øè ø€ ÒM˜1¨!¯#©#¯'©'¸°zÀ(ÀÐ5LÓ*L”QÑMùs   ƒ"-¦-Ú
QuadPointsr,   éH   )r`   ra   r!   rD   r$   r2   r3   r6   re   rf   rg   ÚAnnotsÚnextÚgetattrÚRectÚdecimalÚDecimal)	rZ   r&   Úfdr/   ÚannotsÚyÚannotrÀ   rÁ   s	          @@r(   Útest_text_urlsrÏ   Ü   sL  ù€ Ü×!Ñ! )Ó,€Gà7€Hä
�*‰*˜VÔ
$€CØ‡H�HˆS�#Ð'°¨z¸Ð-?€HÔ@Ø‡H�HˆS�#Ð,°X°J¸hÐ2G€HÔHä	�‰‹ð @˜Ø�‰�B˜uˆÔ%à�[‰[×Ñ˜bÓ!ð 	@ SØ—Y‘Y˜q‘\×(Ñ(ˆFð  Gò @‘��8ÜÜM ÔMØó�ð Ð(Ð(Ð(Ü˜u l°DÓ9ÐAÐAÐAà—z‘z !‘}¬¯©¸Ó(:¸RÑ(?Ó?Ð?Ð?ñ@÷	@÷@ð @÷	@ð 	@ú÷@ð @ús+   Á4/D8Â#A3D,ÄD,ÄD8Ä,D5	Ä1D8Ä8Ec                  óX  ‡— t        j                  d«      } dŠt        j                  d¬«      }|j	                  dddd‰› ¬«       t        j                  «       5 }|j                  |d	¬
«       | j                  j                  |«      5 }|j                  d   j                  }t        ˆfd„|D «       d «      }|€J ‚t        |dd «      €J ‚|j                  d   |j                  d   t!        j"                  d«      z
  k(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NrZ   r±   )r,   r,   r³   rµ   ÚNé-   )Úrotationr·   r/   r0   r   c              3   óX   •K  — | ]!  }|j                   j                  ‰› k(  sŒ|–— Œ# y ­wrº   r»   ©r¾   r¿   rÁ   s     €r(   rÂ   z)test_text_rotated_urls.<locals>.<genexpr>  s"   øè ø€ Ò?�q a§c¡c§g¡g°H°:Ó&>”Ñ?ùs   ƒ*£*rÃ   é   z0.00001)r`   ra   r!   rD   r$   r2   r3   r6   re   rf   rg   rÅ   rÆ   rÇ   rÈ   rÃ   rÉ   rÊ   ©rZ   r&   rË   r/   rÌ   rÎ   rÁ   s         @r(   Útest_text_rotated_urlsrØ   ÷   s+  ø€ Ü×!Ñ! )Ó,€Gà7€Hä
�*‰*˜VÔ
$€CØ‡H�HˆS�#�s R°¨z€HÔ;ä	�‰‹ð @˜Ø�‰�B˜uˆÔ%à�[‰[×Ñ˜bÓ!ð 	@ SØ—Y‘Y˜q‘\×(Ñ(ˆFô Û?˜FÔ?ØóˆEð Ð$Ð$Ð$Ü˜5 ,°Ó5ÐAÐAÐAà—:‘:˜a‘=Ø×Ñ Ñ"¤W§_¡_°YÓ%?Ñ?ò@ð @ñ @÷	@÷@ð @÷	@ð 	@ú÷@ð @ús%   Á/D Â	A9DÄD ÄD	ÄD Ä D)c                  ó$  ‡— t        j                  d«      } dŠt        j                  d¬«      }|j	                  dddd‰› d	�¬
«       t        j                  «       5 }|j                  |d¬«       | j                  j                  |«      5 }|j                  d   j                  }t        ˆfd„|D «       d «      }|€J ‚|j                  d   t        j                  d«      dz  k(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NrZ   r±   r²   r³   rµ   gffffffæ?ztest tex $123$TÚtex)Úusetexr·   r/   r0   r   c              3   ó\   •K  — | ]#  }|j                   j                  ‰› d �k(  sŒ |–— Œ% y­w)rÚ   Nr»   rÕ   s     €r(   rÂ   z%test_text_urls_tex.<locals>.<genexpr>#  s'   øè ø€ ÒB�q a§c¡c§g¡g°H°:¸SÐ1AÓ&A”ÑBùs   ƒ!,¥,r,   z0.7rÄ   )r`   ra   r!   rD   r$   r2   r3   r6   re   rf   rg   rÅ   rÆ   rÈ   rÉ   rÊ   r×   s         @r(   Útest_text_urls_texrÝ     s  ø€ ä×!Ñ! )Ó,€Gà7€Hä
�*‰*˜VÔ
$€CØ‡H�HˆS�#Ð'°¸X¸JÀcÐ:J€HÔKä	�‰‹ð @˜Ø�‰�B˜uˆÔ%à�[‰[×Ñ˜bÓ!ð 
	@ SØ—Y‘Y˜q‘\×(Ñ(ˆFô ÛB˜FÔBØóˆEð Ð$Ð$Ð$à—:‘:˜a‘=¤G§O¡O°EÓ$:¸RÑ$?Ò?Ð?Ñ?÷
	@÷@ð @÷
	@ð 
	@ú÷@ð @ús%   Á/DÂAC:Ã)DÃ:D	Ã?DÄDc                 ó�   — t        | dz  «      5 }|j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY w)Nz
unused.pdf)r   r6   r!   rD   )rE   r/   s     r(   Útest_pdfpages_fspathrß   *  s8   € Ü	�(˜\Ñ)Ó	*ð "¨cØ�‰”C—J‘J“LÔ!÷"÷ "ñ "ús	   �$<¼Azhatching_legend.pdfÚmpl20c                 ó¨   — t        j                  d¬«      }t        ddgdddd¬«      }t        ddgdddd¬«      }|j                  ||||gg d¢«       y	)
z.Test for correct hatching on patches in legend)r,   r-   r³   r   ÚgreenÚXXXX)Ú	facecolorÚhatchÚblue)Ú rç   rç   rç   N)r!   rD   r   Úlegend)Útext_placeholdersr&   r¿   Úbs       r(   Útest_hatching_legendrë   /  sW   € ô �*‰*˜VÔ
$€Cä�1�a�&˜!˜Q¨'¸Ô@€AÜ�1�a�&˜!˜Q¨&¸Ô?€Að ‡J�J��1�a˜ˆ|Ò-Õ.r*   zgrayscale_alpha.pdfc                  óD  — t         j                  ddd…ddd…f   \  } }t        j                  | dz  |dz  z    «      }t         j                  ||dk  <   t	        j
                  «       \  }}|j                  |dd¬«       |j                  g «       |j                  g «       y)z9Masking images with NaN did not work for grayscale imageséþÿÿÿr-   rµ   ÚnoneÚgray_r)ÚinterpolationÚcmapN)	rM   ÚogridÚexpÚnanr!   r"   rR   Ú
set_xticksÚ
set_yticks)ÚxrÍ   Úddr&   r'   s        r(   Útest_grayscale_alpharù   <  s�   € ô �8‰8�B�q˜�G˜R  "˜WÐ$Ñ%�D€A€qÜ	�‰�!�Q‘$˜˜A™‘+�Ó	€BÜ—&‘&€B€rˆB�w�KÜ�l‰l‹n�G€CˆØ‡I�Iˆb ¨X€IÔ6Ø‡M�M�"ÔØ‡M�M�"Õr*   Údefaultr/   Úeps)Ú
extensionsc           	      óü   — | j                  «       }|j                  «        |j                  t        j                  t        j
                  ddd«      «      dd¬«       |j                  «       }|j                  «        y )NrI   rJ   éd   r¢   rî   ©Úc)Úadd_subplotÚset_axis_offr5   rM   rP   Úlinspace)Úfig_testÚfig_refÚax_testÚax_refs       r(   Ú'test_pdf_eps_savefig_when_color_is_noner  H  s`   € ð ×"Ñ"Ó$€GØ×ÑÔØ‡L�L”—‘œŸ™ B¨¨3Ó/Ó0°#¸€LÔ@Ø× Ñ Ó"€FØ
×ÑÕr*   c                  óà   — t        j                  dd¬«       t        j                  t        «      5  t        j
                  t        j                  «       d¬«       ddd«       y# 1 sw Y   yxY w)z"Test failing latex subprocess callz$22_2_2$T)rÛ   r/   r0   N)r!   Úxlabelr`   ÚraisesÚRuntimeErrorr6   r2   r3   © r*   r(   Útest_failing_latexr  R  sG   € ô ‡J�Jˆz $Õ'Ü	�‰”|Ó	$ñ 0Ü�‰”B—J‘J“L¨Õ/÷0÷ 0ñ 0ús   ±*A$Á$A-c                  ó¤   — t        j                  «       \  } }|j                  g g d¬«       | j                  t	        j
                  «       d¬«       y )NT)Ú
rasterizedr/   r0   )r!   r"   r5   r6   r2   r3   r¬   s     r(   Útest_empty_rasterizedr  Z  s9   € ä�l‰l‹n�G€CˆØ‡G�GˆB�˜t€GÔ$Ø‡K�K”—
‘
“ U€KÕ+r*   zkerning.pdfc                  ó„   — t        j                  «       } d}| j                  dd|d¬«       | j                  dd|d¬«       y )Nu   AVAVAVAVAVAVAVAVâ‚¬AAVVr   g      Ð?rJ   ©Úsizeg      è?é   )r!   rD   r$   )r&   r@   s     r(   Útest_kerningr  a  s:   € ä
�*‰*‹,€CØ!€AØ‡H�HˆQ��Q˜Q€HÔØ‡H�HˆQ��Q˜R€HÕ r*   c                  ór  — t        t        d«      «      } d}t        | «      }|j                  |«       |j	                  «       }|D �ch c]  }|t        |«         ’Œ }}t        t        j                  | d«      |«      5 }t        t        |j                  «      «      }d d d «       j                  |«       |j	                  «       }h |£|D �	ch c]  }	t        |	«      ’Œ c}	k(  sJ ‚t        |«      t        |«      k  sJ ‚|j                  «       |j                  «       k(  sJ ‚y c c}w # 1 sw Y   ŒŒxY wc c}	w )Nzfonts/ttf/DejaVuSerif.ttfz%these should be subsetted! 1234567890r   )rœ   r   r	   Úset_textÚget_charmapÚordr
   ÚfmÚFontPathr   ÚfontÚchrr=   Úget_num_glyphs)
ÚfpathÚcharsÚ	nosubfontÚ	nosubcmapr   Úglyph_indicesÚsubsetÚsubfontÚsubcmapÚkeys
             r(   Útest_glyphs_subsetr)  i  s  € Ü”Ð:Ó;Ó<€EØ3€Eô ˜“€IØ×Ñ�uÔØ×%Ñ%Ó'€Ið 16Ö6¨1�Yœs 1›vÓ&Ð6€MÐ6Ü	œ2Ÿ;™; u¨aÓ0°-Ó	@ð 5ÀFÜœ, v§{¡{Ó3Ó4ˆ÷5à×Ñ�UÔØ×!Ñ!Ó#€Gð ˆUˆ8¨GÖ4 Sœ˜C�Ò4Ò4Ð4Ð4ô ˆw‹<œ#˜i›.Ò(Ð(Ð(ð ×!Ñ!Ó# y×'?Ñ'?Ó'AÒAÐAÑAùò 7÷5ð 5üò 5s   ÁD#Á>D(ÃD4Ä(D1zmulti_font_type3.pdfc                  óÔ   — t        «       \  } }t        j                  d| d¬«       t        j                  dd¬«       t        j                  d¬«      }|j	                  d	d	|d
d
¬«       y )Nr  é   ©Úfamilyr  r/   r.   ©Úfonttype©r   rÖ   r³   r   r   ©r   r   ©r   r!   ÚrcrD   r$   ©ÚfontsÚtest_strr&   s      r(   Útest_multi_font_type3r7  ƒ  sW   € ä*Ó,�O€Eˆ8Ü‡F�Fˆ6˜% bÕ)Ü‡F�Fˆ5˜1Õä
�*‰*˜VÔ
$€CØ‡H�HˆS�#�xØ!)¸Xð õ Gr*   zmulti_font_type42.pdfc                  óÔ   — t        «       \  } }t        j                  d| d¬«       t        j                  dd¬«       t        j                  d¬«      }|j	                  d	d	|d
d
¬«       y )Nr  r+  r,  r/   é*   r.  r0  r³   r   r   r1  r2  r4  s      r(   Útest_multi_font_type42r:  Ž  sW   € ä*Ó,�O€Eˆ8Ü‡F�Fˆ6˜% bÕ)Ü‡F�Fˆ5˜2Õä
�*‰*˜VÔ
$€CØ‡H�HˆS�#�xØ!)¸Xð õ Gr*   zttc_type3.pdfc            	      ó
  — t        j                  dg¬«      } t        t        j                  | «      «      j                  dk7  rt        j                  d«       ddg}t        j                  dd¬«       t        j                  d	d
¬«       t        j                  dt        |«      dz  f¬«      j                  t        |«      «      }t        ||«      D ]/  \  }}|j                  dd|› dt        j                  › �|dd¬«       Œ1 y )NúWenQuanYi Zen Hei©r-  úwqy-zenhei.ttcú"Font wqy-zenhei.ttc may be missingúWenQuanYi Zen Hei Monor  r+  r  r/   r.   r.  é   r-   r³   r   ú: r   ©r  r   r   ©r  ÚFontPropertiesr   ÚfindfontÚnamer`   Úskipr!   r3  rD   r=   Ú
subfiguresÚzipr$   ÚstringÚascii_uppercase©Úfpr5  Úfigsr  r&   s        r(   Útest_ttc_type3rP  ™  sÝ   € ä	×	Ñ	Ð#6Ð"7Ô	8€BÜŒB�K‰K˜‹OÓ×!Ñ!Ð%5Ò5Ü�‰Ð8Ô9à Ð":Ð;€EÜ‡F�Fˆ6˜ÕÜ‡F�Fˆ5˜1Õä�:‰:˜q¤# e£*¨q¡.Ð1Ô2×=Ñ=¼cÀ%»jÓI€DÜ˜ Ó%ò K‰	ˆˆcØ�‰��c˜d˜V 2¤f×&<Ñ&<Ð%=Ð>ÀTØ%-Àð 	õ 	KñKr*   zttc_type42.pdfc            	      ó
  — t        j                  dg¬«      } t        t        j                  | «      «      j                  dk7  rt        j                  d«       ddg}t        j                  dd¬«       t        j                  d	d
¬«       t        j                  dt        |«      dz  f¬«      j                  t        |«      «      }t        ||«      D ]/  \  }}|j                  dd|› dt        j                  › �|dd¬«       Œ1 y )Nr<  r=  r>  r?  r@  r  r+  r  r/   r9  r.  rA  r-   r³   r   rB  r   rC  rD  rM  s        r(   Útest_ttc_type42rR  ©  sÝ   € ä	×	Ñ	Ð#6Ð"7Ô	8€BÜŒB�K‰K˜‹OÓ×!Ñ!Ð%5Ò5Ü�‰Ð8Ô9à Ð":Ð;€EÜ‡F�Fˆ6˜ÕÜ‡F�Fˆ5˜2Õä�:‰:˜q¤# e£*¨q¡.Ð1Ô2×=Ñ=¼cÀ%»jÓI€DÜ˜ Ó%ò K‰	ˆˆcØ�‰��c˜d˜V 2¤f×&<Ñ&<Ð%=Ð>ÀTØ%-Àð 	õ 	KñKr*   zfamily_name, file_name)z	Noto SanszNotoSans-Regular.otf)ÚFreeMonozFreeMono.otfc                 ó„  — t        j                  | g¬«      }t        t        j                  |«      «      j                  |k7  rt        j                  d| › d�«       t        j                  d| gd¬«       t        j                  «       }|j                  ddd	«       |j                  t        j                  «       d
¬«       y )Nr=  zFont z may be missingr  é   r,  g333333Ã?gffffffÞ?u   ÐŸÑ€Ð¸Ð²ÐµÑ‚ Ð¼Ð¸Ñ€!r/   r0   )r  rE  r   rF  rG  r`   rH  r!   r3  rD   r$   r6   r2   r3   )Úfamily_nameÚ	file_namerN  r&   s       r(   Útest_otf_font_smokerX  ¹  sŠ   € ô
 
×	Ñ	 ; -Ô	0€BÜŒB�K‰K˜‹OÓ×!Ñ! YÒ.Ü�‰�e˜K˜=¨Ð8Ô9ä‡F�Fˆ6˜;˜-¨bÕ1ä
�*‰*‹,€CØ‡H�HˆT�5Ð0Ô1Ø‡K�K”—
‘
“ U€KÕ+r*   ztruetype-conversion.pdfc                 óü   — dt         j                  d<   t        j                  «       \  }}|j	                  dddt        t        «      j                  dz  d¬«       |j                  g «       |j                  g «       y )Nr.   zpdf.fonttyper   ÚABCDEzdata/mpltest.ttfrÄ   )r  r   )
r�   r   r!   r"   r$   r   Ú__file__Úparentrõ   rö   )Úrecwarnr&   r'   s      r(   Útest_truetype_conversionr^  É  sf   € ð $%„C‡L�L�Ñ Ü�l‰l‹n�G€CˆØ‡G�GˆAˆq�'Ü”h“×&Ñ&Ð);Ñ;Àbð ô Jà‡M�M�"ÔØ‡M�M�"Õr*   Ú
heuristicazLaTeX lacks heuristica package)Úreasonzfont-heuristica.pdfc                  óæ   — dj                  d«      t        j                  d<   t        j                  «       \  } }|j                  ddddd¬«       |j                  g «       |j                  g «       y )	Nú
)z\usepackage{heuristica}ú\usepackage[T1]{fontenc}ú\usepackage[utf8]{inputenc}útext.latex.preamblerµ   zBHTem fi ffl 1234Té2   ©rÛ   r   ©Újoinr�   r   r!   r"   r$   rõ   rö   r¬   s     r(   Útest_font_heuristicarj  Õ  sa   € ð
 +/¯)©)ð 5ó +„C‡L�LÐ&Ñ'ô
 �l‰l‹n�G€CˆØ‡G�GˆC�Ð*°4À"€GÔEØ‡M�M�"ÔØ‡M�M�"Õr*   Ú
DejaVuSanszLaTeX lacks DejaVuSans packagezfont-dejavusans.pdfc                  ó  — dj                  d«      t        j                  d<   t        j                  «       \  } }|j                  ddddd¬«       |j                  dd	d
dd¬«       |j                  g «       |j                  g «       y )Nrb  )z\usepackage{DejaVuSans}rc  rd  re  rµ   u   \textsf{Ã±Ã¤Ã¶ ABCDabcd}Trf  rg  ç333333Ó?z\textsf{fi ffl 1234}rh  r¬   s     r(   Útest_font_dejavusansrn  å  sx   € ð
 +/¯)©)ð 5ó +„C‡L�LÐ&Ñ'ô �l‰l‹n�G€CˆØ‡G�GˆC�Ð1¸$È€GÔLØ‡G�GˆC�Ð-°dÀR€GÔHØ‡M�M�"ÔØ‡M�M�"Õr*   ÚcharterzLaTeX lacks charter packagezfont-bitstream-charter.pdfc                  ó  — dj                  d«      t        j                  d<   t        j                  «       \  } }|j                  ddddd¬«       |j                  dd	d
dd¬«       |j                  g «       |j                  g «       y )Nrb  )z\usepackage{charter}rc  rd  re  rµ   u   Ã¥Ã¼Å¡ ABCDabcdTrf  rg  rm  zfi ffl 1234rh  r¬   s     r(   Útest_font_bitstream_charterrq  ÷  sw   € ð +/¯)©)ð 5ó +„C‡L�LÐ&Ñ'ô
 �l‰l‹n�G€CˆØ‡G�GˆC�Ð(°À€GÔCØ‡G�GˆC��n¨T¸B€GÔ?Ø‡M�M�"ÔØ‡M�M�"Õr*   c                  óæ  — t         j                  j                  d«      } d}| j                  |«      dz  }| j                  |«      dz  }| j                  |«      }t        j                  «       \  }}|j                  |||¬«       |j                  dd«       |j                  dd«       t        j                  «       }|j                  |d¬«       |j                  «       }t        j                  |«       t        j                  «       \  }	}
|
j                  g g «       |
j                  dd«       |
j                  dd«       t        j                  «       }|	j                  |d¬«       |j                  «       }t        j                  |	«       t        j                  «       \  }}|j                  |dz   |dz   |¬«       |j                  dd«       |j                  dd«       t        j                  «       }|j                  |d¬«       |j                  «       }t        j                  |«       ||d	z   k  sJ d
|› d|› d�«       ‚||dz   kD  sJ d|› d|› d�«       ‚||dz   kD  sJ d|› d|› d�«       ‚y)a(  
    Test that off-axis scatter plots with per-point colors don't bloat PDFs.

    Regression test for issue #2488. When scatter points with per-point colors
    are completely outside the visible axes, the PDF backend should skip
    writing those markers to significantly reduce file size.
    é!N,éè  r9   rÿ   r  é   r/   r0   iˆ  zOff-axis colored scatter PDF (z< bytes) is too large. Expected close to empty scatter size (z- bytes). Markers may not be properly skipped.i˜:  zVisible scatter PDF (z* bytes) should be much larger than empty (z bytes) to validate the test.z- bytes) should be much larger than off-axis (z! bytes) to validate optimization.N)rM   ÚrandomÚdefault_rngr!   r"   ÚscatterrQ   Úset_ylimr2   r3   r6   ÚtellÚclose)ÚrngÚn_pointsr÷   rÍ   r   Úfig1Úax1Úbuf1Úsize_offaxis_coloredÚfig2Úax2Úbuf2Ú
size_emptyÚfig3Úax3Úbuf3Úsize_visibles                    r(   Ú%test_scatter_offaxis_colored_pdf_sizerŠ    sM  € ô �)‰)×
Ñ
 Ó
)€Cà€HØ�
‰
�8Ó˜rÑ!€AØ�
‰
�8Ó˜rÑ!€AØ�
‰
�8Ó€Aô —‘“�I€Dˆ#Ø‡K�K��1˜€KÔØ‡L�L��RÔØ‡L�L��RÔä�:‰:‹<€DØ‡L�L�˜e€LÔ$ØŸ9™9›;ÐÜ‡I�Iˆd„Oô —‘“�I€Dˆ#Ø‡K�K��BÔØ‡L�L��RÔØ‡L�L��RÔä�:‰:‹<€DØ‡L�L�˜e€LÔ$Ø—‘“€JÜ‡I�Iˆd„Oô —‘“�I€Dˆ#Ø‡K�K��B‘˜˜B™ !€KÔ$Ø‡L�L��RÔØ‡L�L��RÔä�:‰:‹<€DØ‡L�L�˜e€LÔ$Ø—9‘9“;€LÜ‡I�Iˆd„Oð   *¨uÑ"4Ò4ð Ø
(Ð)=Ð(>ð ?1Ø1;°ð =/ð	0óÐ4ð ˜* vÑ-Ò-ð Ø
 ˜~ð .Ø!�lÐ"?ð	AóÐ-ð Ð.°Ñ7Ò7ð Ø
 ˜~ð .Ø.Ð/Ð/Pð	RóÑ7r*   c                 óÜ  — t         j                  j                  d«      }d}|j                  |«      dz  }|j                  |«      dz  }|j                  |«      }| j                  «       }|j	                  |||d¬«       |j                  dd«       |j                  dd«       |j                  «       }|j	                  |||d¬«       |j                  dd«       |j                  dd«       y)	z±
    Test that on-axis scatter with per-point colors still renders correctly.

    Ensures the optimization for off-axis markers doesn't break normal
    scatter rendering.
    rs  rþ   rJ   rf  ©r   r@   r   r9   N)rM   rv  rw  r"   rx  rQ   ry  ©	r  r  r|  r}  r÷   rÍ   r   r  r  s	            r(   Ú#test_scatter_offaxis_colored_visualrŽ  N  sÕ   € ô �)‰)×
Ñ
 Ó
)€Cà€HØ�
‰
�8Ó˜qÑ €AØ�
‰
�8Ó˜qÑ €AØ�
‰
�8Ó€Að ×ÑÓ!€GØ‡O�O�A�q˜A €OÔ$Ø×Ñ�Q˜ÔØ×Ñ�Q˜Ôð ×ÑÓ€FØ
‡N�N�1�a˜1 €NÔ#Ø
‡O�O�A�rÔØ
‡O�O�A�rÕr*   c                 ó   — t         j                  j                  d«      }d}|j                  |«      dz  }|j                  |«      dz  }|j                  |«      dz  dz   }|j                  |«      dz  dz   }t        j                  ||g«      }t        j                  ||g«      }	|j                  d|z  «      }
| j	                  «       }|j                  ||	|
d¬«       |j                  dd«       |j                  dd«       |j	                  «       }|j                  |||
d	| d¬«       |j                  dd«       |j                  dd«       y	)
z¼
    Test scatter with some points on-axis and some off-axis.

    Ensures the optimization correctly handles the common case where only
    some markers are outside the visible area.
    rs  rf  rJ   é   r-   rŒ  r   r9   N)rM   rv  rw  Úconcatenater"   rx  rQ   ry  )r  r  r|  r}  Úx_onÚy_onÚx_offÚy_offr÷   rÍ   r   r  r  s                r(   Útest_scatter_mixed_onoff_axisr–  j  s5  € ô �)‰)×
Ñ
 Ó
)€Cð €HØ�:‰:�hÓ !Ñ#€DØ�:‰:�hÓ !Ñ#€DØ�J‰J�xÓ  1Ñ$ rÑ)€EØ�J‰J�xÓ  1Ñ$ rÑ)€Eä
�‰˜˜e�}Ó%€AÜ
�‰˜˜e�}Ó%€AØ�
‰
�1�x‘<Ó €Að ×ÑÓ!€GØ‡O�O�A�q˜A €OÔ$Ø×Ñ�Q˜ÔØ×Ñ�Q˜Ôð ×ÑÓ€FØ
‡N�N�4˜  9 H °€NÔ4Ø
‡O�O�A�rÔØ
‡O�O�A�rÕr*   c                 ó²  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }| j                  «       }|j                  |||d¬«       |j	                  dd«       |j                  dd«       |j                  «       }|j                  |||d¬«       |j	                  dd«       |j                  dd«       y)	zÜ
    Test that large markers are rendered when partially visible.

    Addresses reviewer concern: markers with centers outside the canvas but
    with edges extending into the visible area should still be rendered.
    )ç      à¿g      %@rJ   )rJ   rJ   r˜  )gš™™™™™É?r   gš™™™™™é?iô  rŒ  r   r9   N)rM   Úarrayr"   rx  rQ   ry  )r  r  r÷   rÍ   r   r  r  s          r(   Ú'test_scatter_large_markers_partial_cliprš  Œ  s²   € ô 	�‰’Ó!€AÜ
�‰’Ó€AÜ
�‰’Ó!€Að ×ÑÓ!€GØ‡O�O�A�q˜A €OÔ%Ø×Ñ�Q˜ÔØ×Ñ�Q˜Ôð ×ÑÓ€FØ
‡N�N�1�a˜1 €NÔ$Ø
‡O�O�A�rÔØ
‡O�O�A�rÕr*   c                 óp  — t         j                  j                  d«      }d}d|j                  |«      dz  z  }d|j                  |«      dz  z  }|j                  |«      }| j                  «       }|j	                  |||d¬«       |j                  d«       |j                  d«       |j                  dd«       |j                  dd«       |j                  «       }|j	                  |||d¬«       |j                  d«       |j                  d«       |j                  dd«       |j                  dd«       y	)
z‰
    Test scatter optimization with logarithmic scales.

    Ensures bounds checking works correctly in log-transformed coordinates.
    rs  rf  r9   é   rŒ  Úlogrþ   rt  N)	rM   rv  rw  r"   rx  Ú
set_xscaleÚ
set_yscalerQ   ry  r�  s	            r(   Útest_scatter_logscaler   ¨  s  € ô �)‰)×
Ñ
 Ó
)€Cð €HØ
ˆs�z‰z˜(Ó# aÑ'Ñ(€AØ
ˆs�z‰z˜(Ó# aÑ'Ñ(€AØ�
‰
�8Ó€Að ×ÑÓ!€GØ‡O�O�A�q˜A €OÔ$Ø×Ñ�uÔØ×Ñ�uÔØ×Ñ�S˜$ÔØ×Ñ�S˜$Ôð ×ÑÓ€FØ
‡N�N�1�a˜1 €NÔ#Ø
×Ñ�eÔØ
×Ñ�eÔØ
‡O�O�C˜ÔØ
‡O�O�C˜Õr*   c                 óÆ  — t         j                  j                  d«      }d}|j                  |«      dz  t         j                  z  }|j                  |«      dz  }|j                  |«      }| j	                  ddi¬«      }|j                  |||d¬«       |j                  d	d«       |j	                  ddi¬«      }|j                  |||d¬«       |j                  d	d«       y
)z~
    Test scatter optimization with polar coordinates.

    Ensures bounds checking works correctly in polar projections.
    rs  rf  r-   r.   Ú
projectionÚpolar)Ú
subplot_kwrŒ  r   N)rM   rv  rw  Úpir"   rx  ry  )	r  r  r|  r}  ÚthetaÚrr   r  r  s	            r(   Útest_scatter_polarr¨  È  sÔ   € ô �)‰)×
Ñ
 Ó
)€Cà€HØ�J‰J�xÓ  1Ñ$¤r§u¡uÑ,€EØ�
‰
�8Ó˜qÑ €AØ�
‰
�8Ó€Að ×Ñ¨L¸'Ð+BÐÓC€GØ‡O�O�E˜1  R€OÔ(Ø×Ñ�Q˜Ôð ×Ñ¨,¸Ð)@ÐÓA€FØ
‡N�N�5˜!˜q B€NÔ'Ø
‡O�O�A�qÕr*   )Nr—   rÉ   r2   Úpathlibr   rK  ÚnumpyrM   Úpackaging.versionr   rh   r`   Ú
matplotlibr�   r   r!   r   r   r  Úmatplotlib.cbookr   Úmatplotlib.ft2fontr	   Ú#matplotlib.backends._backend_pdf_psr
   r   Úmatplotlib.backends.backend_pdfr   Úmatplotlib.patchesr   Úmatplotlib.testingr   r   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.testing._markersr   r)   r7   rA   rG   rX   r{   r¤   r­   r¯   rÏ   rØ   rÝ   rß   rë   rù   r   Úcontextr  r  r  r  r)  r7  r:  rP  rR  ÚmarkÚparametrizerX  r^  Úskipifrj  rn  rq  rŠ  rŽ  r–  rš  r   r¨  r  r*   r(   ú<module>r¹     s¥  ðÛ Û Û 	Ý Û ã Ý 4Û ã ÷ñ õ ,Ý &ß OÝ 4Ý (ß Eß OÝ 4ñ Ð+Ð,°OÔDñ#ó Eð#ò&(ò	òò+ò&-ò6 òFJò("òJ@ò6@ð4 ñ@ó ð@ò0"ñ
 Ð(Ð)°Ô9ñ	/ó :ð	/ñ Ð(Ð)°ÔAñó Bðð ‡�×Ñ�9ÓÙ ¨ Ô/ñó 0ó ðð ñ0ó ð0ò,ñ �=�/¨Ô1ñ!ó 2ð!òBñ4 Ð)Ð*°'Ô:ñGó ;ðGñ Ð*Ð+°7Ô;ñGó <ðGñ �?Ð#¨7Ô3ñKó 4ðKñ Ð#Ð$¨GÔ4ñKó 5ðKð ‡�×ÑÐ1Ø?Ø6ð8ó9ñ
,ó9ð
,ñ Ð,Ð-°WÔ=ñó >ðð ‡�×ÑÑ(¨Ó6Ð6Ø;ð ó =áÐ(Ð)°ÔAñ
ó Bó=ð
ð ‡�×ÑÑ(¨Ó6Ð6Ø;ð ó =áÐ(Ð)°ÔAñó Bó=ðð ‡�×ÑÑ(¨Ó3Ð3Ø8ð ó :áÐ/Ð0¸ÔHñ
ó Ió:ð
òDñN   Ô(ñó )ðñ6   Ô(ñó )ðñB   Ô(ñó )ðñ6   Ô(ñó )ðñ>   Ô(ñó )ñr*   