Ë
    ¨eh$ ã                   ó|  — d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dl	Z
d dlmZmZ d dlZd dlZd dlmZ d dlmZ  G d„ d«      Z G d„ d«      Z G d	„ d
«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z  G d„ d«      Z! G d„ d«      Z" G d„ d«      Z# G d„ d «      Z$ G d!„ d"«      Z% G d#„ d$«      Z& G d%„ d&«      Z' G d'„ d(«      Z( G d)„ d*«      Z) G d+„ d,«      Z* G d-„ d.«      Z+d/„ Z,ejZ                  j]                  d0g d1¢«      d2„ «       Z/ G d3„ d4«      Z0d5„ Z1d6„ Z2d7„ Z3d8„ Z4d9„ Z5d:„ Z6d;„ Z7d<„ Z8ejZ                  j]                  d=d>«      d?„ «       Z9ejZ                  j]                  d@dAdBg e
jt                  dC«      g«      dD„ «       Z;ejZ                  j]                  dEg dF¢«      ejx                  j{                  dG«      dH„ «       «       Z>dI„ Z?ejZ                  j]                  dJ ej€                  dK„ «       ej‚                  dL«      f«      dM„ «       ZBdN„ ZCy)Oé    )ÚnullcontextN)Úparse)Úassert_almost_equalÚassert_array_equalc            
       ó"  — e Zd Zdd ej                  g d¢«      fdd ej                  g d¢«      fdd ej                  g d	¢«      fd
d ej
                  d«      dz  fdd
 ej
                  dd«      dz  fgZddd ej                  g d¢«      fddd ej                  g d¢«      fddg d¢ ej                  g d¢«      fgZej                  j                  de«      d„ «       Zej                  j                  de«      d„ «       Zej                  j                  ddd
ie ej                  d «      fd!d"dgied#fd!d"ied#fd!d"d$gied#fg«      d%„ «       Zej                  j                  d&g d'¢g d'¢fd"d(gg d'¢fdd"gg d'¢fd"gg d'¢fg«      d)„ «       Zy)*ÚTestMaxNLocatoré   éd   )ç      4@g      D@g      N@g      T@ç      Y@çü©ñÒMbP?ç-Cëâ6?)ç        g-Cëâ6*?g-Cëâ6:?ga2U0*©C?g-Cëâ6J?r   ç  4&õkÃç  4&õkC)r   g  4&õküÂr   g  4&õküBr   r   g�œ&q‰5é   gL“oûñg5g�œ&q‰µéûÿÿÿé   çš™™™™™¹¿çš™™™™™ñ?N)éÿÿÿÿr   r   é   çffffffî?)g      Ð¿r   ç      Ð?ç      à?ç      è?ç      ð?é7   )r   ç      ø?é   r   é
   )r   é   é   é-   é<   úvmin, vmax, expectedc                 óh   — t        j                  d¬«      }t        |j                  ||«      |«       y )Nr    ©Únbins©ÚmtickerÚMaxNLocatorr   Útick_values)ÚselfÚvminÚvmaxÚexpectedÚlocs        úZ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_ticker.pyÚ
test_basiczTestMaxNLocator.test_basic    s'   € ä×!Ñ!¨Ô*ˆÜ˜CŸO™O¨D°$Ó7¸ÕBó    zvmin, vmax, steps, expectedc                 ól   — t        j                  dd|¬«      }t        |j                  ||«      |«       y )Nr    T)r)   ÚintegerÚstepsr*   )r.   r/   r0   r8   r1   r2   s         r3   Útest_integerzTestMaxNLocator.test_integer%   s+   € ä×!Ñ!¨°4¸uÔEˆÜ˜CŸO™O¨D°$Ó7¸ÕBr5   zkwargs, errortype, matchÚfooz5set_params() got an unexpected keyword argument 'foo'r8   r   z$steps argument must be an increasingé   c                 ó†   — t        j                  ||¬«      5  t        j                  di |¤Ž d d d «       y # 1 sw Y   y xY w)N©Úmatch© )ÚpytestÚraisesr+   r,   )r.   ÚkwargsÚ	errortyper>   s       r3   Útest_errorszTestMaxNLocator.test_errors*   s8   € ô �]‰]˜9¨EÔ2ñ 	*Ü×ÑÑ) &Ò)÷	*÷ 	*ñ 	*ús	   ˜7·A zsteps, result)r   r   r!   r!   c                 ón   — t        j                  |¬«      }|j                  |k(  j                  «       sJ ‚y )N)r8   )r+   r,   Ú_stepsÚall)r.   r8   Úresultr2   s       r3   Útest_paddingzTestMaxNLocator.test_padding5   s/   € ô ×!Ñ!¨Ô.ˆØ—
‘
˜fÑ$×)Ñ)Ô+Ð+Ñ+r5   )Ú__name__Ú
__module__Ú__qualname__ÚnpÚarrayÚarangeÚ
basic_dataÚinteger_datar@   ÚmarkÚparametrizer4   r9   Ú	TypeErrorÚreÚescapeÚ
ValueErrorrD   rI   r?   r5   r3   r   r      s÷  „ à	ˆS�(�"—(‘(Ò5Ó6Ð7Ø	�˜˜Ÿ™Ò!LÓMÐNØ	��h�b—h‘hÒJÓKÐLØ	
ˆH�i�b—i‘i “l UÑ*Ð+Ø	�A�y�r—y‘y  QÓ'¨%Ñ/Ð0ð€Jð 
ˆs�D˜(˜"Ÿ(™(¢=Ó1Ð2Ø	ˆt�T˜8˜2Ÿ8™8Ò$DÓEÐFØ	
ˆBÒ" H B§H¡HÒ-@Ó$AÐBð€Lð ‡[�[×ÑÐ3°ZÓ@ñCó AðCð ‡[�[×ÑÐ:¸LÓIñCó JðCð ‡[�[×ÑÐ7Ø
�ˆ�YØ	ˆ�‰ÐJÓ	Kð	Mà
�A�q�6Ð	˜JÐ(NÐOØ
�1ˆ�zÐ#IÐJØ
�A�r�7Ð	˜ZÐ)OÐPð:ó ñ*óð*ð ‡[�[×Ñ˜_Ú	’ZÐ Ø
ˆRˆ’*ÐØ
ˆQˆ’ÐØ
ˆŠjÐð	/ó ñ,óñ,r5   r   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestLinearLocatorc                 ó–   — t        j                  d¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )Né   ©Únumticks)çš™™™™™é¿ç333333Ó¿çš™™™™™É?r^   r`   )r+   ÚLinearLocatorrM   rN   r   r-   ©r.   r2   Ú
test_values      r3   r4   zTestLinearLocator.test_basicA   s6   € Ü×#Ñ#¨QÔ/ˆÜ—X‘XÒ/Ó0ˆ
Ü˜CŸO™O¨D°#Ó6¸
ÕCr5   c                 óZ   — t        j                  d¬«      }|j                  dd«      g k(   y )Nr   r\   r^   r`   )r+   ra   r-   ©r.   r2   s     r3   Útest_zero_numticksz$TestLinearLocator.test_zero_numticksF   s%   € Ü×#Ñ#¨QÔ/ˆØ�‰˜˜cÓ" bÓ(r5   c                 ó¢   — t        j                  d¬«      }|j                  ddg i¬«       |j                  dk(  sJ ‚|j                  dg ik(  sJ ‚y)z 
        Create linear locator with presets={}, numticks=2 and change it to
        something else. See if change was successful. Should not exception.
        r   r\   é   ©r   r   )r]   ÚpresetsN)r+   ra   Ú
set_paramsr]   rj   re   s     r3   Útest_set_paramsz!TestLinearLocator.test_set_paramsJ   sP   € ô
 ×#Ñ#¨QÔ/ˆØ�‰ ¨F°B¨<ˆÔ8Ø�|‰|˜qÒ Ð Ð Ø�{‰{˜v r˜lÒ*Ð*Ñ*r5   c                 óz  — t        j                  g d¢ddgdœ¬«      }|j                  dd«      g d¢k(  sJ ‚|j                  dd«      g d¢k(  sJ ‚|j                  dd«      ddgk(  sJ ‚|j                  d	d
«      ddgk(  sJ ‚|j                  dd«      t        j                  ddd«      k(  j                  «       sJ ‚y )N)r   ç      ô?ç      ü?r   r   ))r   r   ©r   r   )rj   r   r   r   r   ç       @r;   )r+   ra   r-   rM   ÚlinspacerG   re   s     r3   Útest_presetszTestLinearLocator.test_presetsT   s½   € Ü×#Ñ#²_Ø69¸3°Zñ-Aô Bˆà�‰˜q !Ó$ªÒ7Ð7Ð7Ø�‰˜q !Ó$ªÒ7Ð7Ð7Ø�‰˜q !Ó$¨¨c¨
Ò2Ð2Ð2Ø�‰˜s CÓ(¨S°#¨JÒ6Ð6Ð6Ø—‘  1Ó%¬¯©°Q¸¸2Ó)>Ñ>×CÑCÔEÐEÑEr5   N)rJ   rK   rL   r4   rf   rl   rs   r?   r5   r3   rY   rY   @   s   „ òDò
)ò+óFr5   rY   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestMultipleLocatorc                 ó–   — t        j                  d¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )Nç“V-	@©Úbase)goƒÀÊá"Àç“V-Àg“V-	Àr   rw   ç“V-@goƒÀÊá"@g“V-)@éùÿÿÿr!   ©r+   ÚMultipleLocatorrM   rN   r   r-   rb   s      r3   r4   zTestMultipleLocator.test_basic_   s:   € Ü×%Ñ%¨5Ô1ˆÜ—X‘Xò .ó /ˆ
ä˜CŸO™O¨B°Ó3°ZÕ@r5   c                 ó˜   — t        j                  dd¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )Nrw   ç333333ó?©ry   Úoffset)g¬Zd{ ÀgÇK7‰A`ÀgôýÔxé&ÿ¿r€   gÙÎ÷Sc@g`åÐ"Ûù@gÕxé&1H%@r|   r!   r}   rb   s      r3   Útest_basic_with_offsetz*TestMultipleLocator.test_basic_with_offsete   s<   € Ü×%Ñ%¨5¸Ô=ˆÜ—X‘Xò 'ó (ˆ
ä˜CŸO™O¨B°Ó3°ZÕ@r5   c                 óÀ   — t        j                  ddi«      5  t        j                  d¬«      }t	        |j                  dd«      d«       ddd«       y# 1 sw Y   yxY w)	z5
        Test basic behavior of view limits.
        úaxes.autolimit_modeÚdatarw   rx   r   r    )r   r    N©ÚmplÚ
rc_contextr+   r~   r   Úview_limitsre   s     r3   Útest_view_limitsz$TestMultipleLocator.test_view_limitsk   sT   € ô �^‰^Ð2°FÐ;Ó<ñ 	AÜ×)Ñ)¨uÔ5ˆCÜ §¡°°AÓ 6¸Ô@÷	A÷ 	Añ 	Aúó   ˜3AÁAc                 óÀ   — t        j                  ddi«      5  t        j                  d¬«      }t	        |j                  dd«      d«       ddd«       y# 1 sw Y   yxY w)	úb
        Test that everything works properly with 'round_numbers' for auto
        limit.
        r…   Úround_numbersrw   rx   éüÿÿÿé   )rz   r{   Nr‡   re   s     r3   Útest_view_limits_round_numbersz2TestMultipleLocator.test_view_limits_round_numberss   sT   € ô
 �^‰^Ð2°OÐDÓEñ 	IÜ×)Ñ)¨uÔ5ˆCÜ §¡°°AÓ 6¸ÔH÷	I÷ 	Iñ 	IúrŒ   c                 óÂ   — t        j                  ddi«      5  t        j                  dd¬«      }t	        |j                  dd«      d«       d	d	d	«       y	# 1 sw Y   y	xY w)
rŽ   r…   r�   rw   çÍÌÌÌÌÌô?r�   r�   r‘   )g`åÐ"ÛùÀg}?5^ºÉ@Nr‡   re   s     r3   Ú*test_view_limits_round_numbers_with_offsetz>TestMultipleLocator.test_view_limits_round_numbers_with_offset|   sV   € ô
 �^‰^Ð2°OÐDÓEñ 	IÜ×)Ñ)¨u¸SÔAˆCÜ §¡°°AÓ 6¸ÔH÷	I÷ 	Iñ 	Iús   ˜4AÁAc                 óÀ   — t        j                  ddi«      5  t        j                  d¬«      }t	        |j                  dd«      d«       ddd«       y# 1 sw Y   yxY w)	zM
        Test that 'round_numbers' works properly with a single bin.
        r…   r�   r   r(   gffffffÀgffffff@)r�   r‘   N)rˆ   r‰   r+   r,   r   rŠ   re   s     r3   Útest_view_limits_single_binz/TestMultipleLocator.test_view_limits_single_bin…   sT   € ô �^‰^Ð2°OÐDÓEñ 	EÜ×%Ñ%¨AÔ.ˆCÜ §¡°°cÓ :¸GÔD÷	E÷ 	Eñ 	EúrŒ   c                 óÐ   — t        j                  d¬«      }|j                  d¬«       |j                  j                  dk(  sJ ‚|j                  d¬«       |j
                  dk(  sJ ‚y)z
        Create multiple locator with 0.7 base, and change it to something else.
        See if change was successful.
        çffffffæ?rx   ç333333û?r[   )r‚   N)r+   r~   rk   Ú_edgeÚstepÚ_offset)r.   Úmults     r3   rl   z#TestMultipleLocator.test_set_params�   sX   € ô
 ×&Ñ&¨CÔ0ˆØ�‰˜SˆÔ!Ø�z‰z�‰ #Ò%Ð%Ð%Ø�‰˜qˆÔ!Ø�|‰|˜qÒ Ð Ñ r5   N)
rJ   rK   rL   r4   rƒ   r‹   r’   r•   r—   rl   r?   r5   r3   ru   ru   ^   s+   „ òAòAòAòIòIòEó	!r5   ru   c            
       ó˜  — e Zd Zd„ ZddgZd„ Zej                  j                  de«      d„ «       Z	g d¢Z
d„ Zej                  j                  d	e
«      d
„ «       Zg d¢Zg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gZ e eee«      «      Zej                  j                  de«      d„ «       Zej                  j                  dddg«      ej                  j                  ddg d¢fdg d¢fg«      d„ «       «       Zej                  j                  dddg«      ej                  j                  dddg d¢fd d!g d"¢fd#d$g d%¢fg«      d&„ «       «       Zy')(ÚTestAutoMinorLocatorc                 óð   — t        j                  «       \  }}|j                  dd«       |j                  «        t	        j
                  g d¢«      }t        |j                  j                  d¬«      |«       y )Nr   ç=
×£p=ö?©çš™™™™™©?çš™™™™™¹?g333333Ã?r   ç333333Ó?gffffffÖ?çÍÌÌÌÌÌÜ?r   çš™™™™™á?gÍÌÌÌÌÌä?r™   r   g333333ë?çÍÌÌÌÌÌì?r   çÍÌÌÌÌÌð?r   gffffffò?rn   r”   gš™™™™™õ?T©Úminor)	ÚpltÚsubplotsÚset_xlimÚminorticks_onrM   rN   r   ÚxaxisÚget_ticklocs©r.   ÚfigÚaxrc   s       r3   r4   zTestAutoMinorLocator.test_basicš   s^   € Ü—,‘,“.‰ˆˆRØ
�‰�A�tÔØ
×ÑÔÜ—X‘Xò Gó Hˆ
ô 	˜BŸH™H×1Ñ1¸Ð1Ó=¸zÕJr5   ©r   r   )r   r   c                 óÈ  — t        j                  «       \  }}|j                  dd«       |j                  j	                  t        j                  «       «       t        j                  g d¢«      }t        |j                  j                  d¬«      |«       |j                  dd«       t        j                  g d¢«      }t        |j                  j                  d¬«      |«       y	)
zI
        Test that first and last minor tick appear as expected.
        çffffffþ¿çffffffþ?) r¸   gÍÌÌÌÌÌü¿ç333333û¿gš™™™™™ù¿gffffffö¿gÍÌÌÌÌÌô¿g333333ó¿çš™™™™™ñ¿gÍÌÌÌÌÌì¿r^   gffffffæ¿g333333ã¿çš™™™™™Ù¿r_   çš™™™™™É¿r   r¥   r`   r¦   çš™™™™™Ù?ç333333ã?r™   çš™™™™™é?r©   r   r€   r”   gffffffö?gš™™™™™ù?rš   gÍÌÌÌÌÌü?r¹   Tr«   r   r    )g      Àg      Àg      Àg      Àg      Àg      ø¿ç      ð¿ç      à¿r   r   r   ç      @g      @ç      @g      @ç      @N)r­   r®   r¯   r±   Úset_minor_locatorr+   ÚAutoMinorLocatorrM   rN   r   r²   r³   s       r3   Útest_first_and_last_minorticksz3TestAutoMinorLocator.test_first_and_last_minorticks©   s®   € ô
 —,‘,“.‰ˆˆRØ
�‰�D˜#ÔØ
�‰×"Ñ"¤7×#;Ñ#;Ó#=Ô>Ü—X‘Xò Bó Cˆ
ô 	˜BŸH™H×1Ñ1¸Ð1Ó=¸zÔJà
�‰�B˜ÔÜ—X‘Xò Gó Hˆ
ä˜BŸH™H×1Ñ1¸Ð1Ó=¸zÕJr5   z%nb_majorticks, expected_nb_minorticksc                 óv  — t        j                  «       \  }}d} |j                  |Ž  |j                  t	        j
                  |d   |d   |«      «       |j                  «        |j                  j                  t        j                  «       «       t        |j                  j                  «       «      |k(  sJ ‚y )N)r   r    r   r   )r­   r®   r¯   Ú
set_xticksrM   rr   r°   r±   rÆ   r+   rÇ   ÚlenÚget_minorticklocs)r.   Únb_majorticksÚexpected_nb_minorticksr´   rµ   Úxlimss         r3   Útest_low_number_of_majorticksz2TestAutoMinorLocator.test_low_number_of_majorticks¼   s�   € ô —,‘,“.‰ˆˆRØˆØˆ�‰�UÑØ
�‰”b—k‘k %¨¡(¨E°!©H°mÓDÔEØ
×ÑÔØ
�‰×"Ñ"¤7×#;Ñ#;Ó#=Ô>Ü�2—8‘8×-Ñ-Ó/Ó0Ð4JÒJÐJÑJr5   ))r   r    )r   r‘   )rÃ   r    )r    r    )r!   r    c                 ó  — t        j                  ddi«      5  | j                  D �cg c]  }|d   ‘Œ	 }}t        j                  j                  |t        j                  «       j                  «       d d d «       y c c}w # 1 sw Y   y xY w)Nú_internal.classic_modeFr   )	rˆ   r‰   Úmajorstep_minordivisionsrM   ÚtestingÚassert_allcloser+   ÚAutoLocatorrF   )r.   ÚxÚ
majorstepss      r3   Ú"test_using_all_default_major_stepsz7TestAutoMinorLocator.test_using_all_default_major_stepsÐ   sz   € Ü�^‰^Ð5°uÐ=Ó>ñ 	EØ(,×(EÑ(EÖF 1˜!˜A›$ÐFˆJÐFÜ�J‰J×&Ñ& zÜ'.×':Ñ':Ó'<×'CÑ'CôE÷	Eð 	EùÚF÷	Eð 	Eús   ˜A?§A:³>A?Á:A?Á?Bz&major_step, expected_nb_minordivisionsc                 óN  — t        j                  «       \  }}d|f} |j                  |Ž  |j                  |«       |j	                  «        |j
                  j                  t        j                  «       «       t        |j
                  j                  «       «      dz   }||k(  sJ ‚y ©Nr   r   )r­   r®   r¯   rÊ   r°   r±   rÆ   r+   rÇ   rË   rÌ   )r.   Ú
major_stepÚexpected_nb_minordivisionsr´   rµ   rÏ   Únb_minor_divisionss          r3   Útest_number_of_minor_ticksz/TestAutoMinorLocator.test_number_of_minor_ticksÖ   s‰   € ô —,‘,“.‰ˆˆRØ�J�ˆØˆ�‰�UÑØ
�‰�eÔØ
×ÑÔØ
�‰×"Ñ"¤7×#;Ñ#;Ó#=Ô>Ü  §¡×!;Ñ!;Ó!=Ó>ÀÑBÐØ!Ð%?Ò?Ð?Ñ?r5   )©r   r¢   ©r   g˜nƒÀÊÁ?)r   ç�Ô�ùÉ;)r   g¦ÖVs†?=)gH¯¼šò×Š¾gIhG|·a¾)gvƒôõ!´>ç�Ûí‚ÚÒ·>)çÍÒÊ”A{¶¾çÁ�v¾À(¸¾)g"s2_Èd­¾glEÕŽfU¹¾r£   )ç{®Gázt?ç{®Gáz„?ç¸…ëQ¸Ž?gš™™™™™™?g¸…ëQ¸ž?gìQ¸…ë¡?g
×£p=
§?r¤   g)\�Âõ(¬?g¤p=
×£°?gìQ¸…ë±?g333333³?gÃõ(\�Âµ?g
×£p=
·?gR¸…ëQ¸?gáz®Gáº?ç)\�Âõ(¼?gq=
×£p½?ç      À?g¤p=
×£À?gHáz®GÁ?)gO›
´ã‚;gO›
´ã’;g÷èŽUœ;g#B’¡œ§;g÷èŽU¬;gæÇÌˆ=‡°;g¹nP‹*@µ;g#B’¡œ·;g�Ô�ù¹;ga¼W�²¾;gæÇÌˆ=‡À;g›±mÉxµÁ;g…¯JïÄ;g¹nP‹*@Å;gnXñËenÆ;gØ+3MÜÊÈ;râ   )g›+¡†›„ö<g›+¡†›„=g´àø¤tã=g‚vIhÂ%=g´àø¤tã =g(Í´#=gQu÷.U)=g‚vIhÂ%,=gõ›ÙUö.=gnób]¾K2=g(Í´3=gá7ÎQ5=gU>?åì7=gQu÷.U9=gÈcß¯x½:=g;‰³ Ž==gõ›ÙUö>=)gç*«#&,Š¾g…¦™¬Y€‰¾g#"ˆ5�Ôˆ¾g_eGô|‡¾gý”SÐ'Ñ†¾gœBY[%†¾gØkÂÍ„¾gvƒôõ!„¾gÿû|)vƒ¾gQöØŽ�‚¾gïqÇÄr�¾g�íµ ÷Æ€¾g“É%e½Þ~¾gÐÀw$‡}¾g¸ßˆ‹/|¾g…¦™¬Y€y¾gÁ�v¾À(x¾gý”SÐ'Ñv¾gvƒôõ!t¾g³zê]Êr¾gïqÇÄrq¾gÐÀw$‡m¾gH¯¼šò×j¾gÁ�v¾À(h¾g³zê]Êb¾)g�äÑéL´>g§E–/Üw´>gÀ¦ZMÏ¢´>gØkÂÍ´>g	Ê§¦¨#µ>g!+lÄ›Nµ>g:Œ0âŽyµ>gRíôÿ�¤µ>gƒ¯};húµ>gœBY[%¶>g´qwNP¶>gÍÒÊ”A{¶>gý”SÐ'Ñ¶>göîü¶>g.WÜ'·>gG¸ )R·>gxz)eç§·>rã   )g5m”/G¸¾g©<² Íý·¾gÐTè·¾g«ô`½·¾gxz)eç§·¾gìIGÖm’·¾gÓè‚¸zg·¾gG¸ )R·¾g»‡¾š‡<·¾g¢&ú|”·¾göîü¶¾gŠÅ5_¡æ¶¾gqdqA®»¶¾gå3�²4¦¶¾gY­#»�¶¾)g#"ˆ5�Ô¸¾gò_ÿù¦~¸¾rå   g�Ûí‚ÚÒ·¾g.WÜ'·¾gý”SÐ'Ñ¶¾rä   gœBY[%¶¾g:Œ0âŽyµ¾g	Ê§¦¨#µ¾gØkÂÍ´¾g§E–/Üw´¾gEÁ„¸Ì³¾gÿû|)v³¾gä<sAC ³¾g³zê]Ê²¾gQöØŽ�²¾g 4PSªÈ±¾gïqÇÄr±¾g¾¯>ÜÝ±¾g\+-eq°¾g+i¤)+°¾gõM7Ü‰Š¯¾g“É%e½Þ®¾gÐÀw$‡­¾zlim, refc                 ó  — t        j                  «       \  }}|j                  «        |j                  dddd¬«       |j                  dddd¬«       |j	                  |«       t        |j                  j                  d¬	«      |«       y )
NTr¬   Úyr   )Ú	linewidthÚmajorÚk)Úcolorrí   r«   )r­   r®   r°   ÚgridÚset_ylimr   Úyaxisr²   )r.   ÚlimÚrefr´   rµ   s        r3   Útest_additionalz$TestAutoMinorLocator.test_additional  sm   € ä—,‘,“.‰ˆˆRà
×ÑÔØ
�‰��g˜s¨aˆÔ0Ø
�‰��g S°AˆÔ6Ø
�‰�CÔä˜BŸH™H×1Ñ1¸Ð1Ó=¸sÕCr5   Úuse_rcparamFTrà   rá   c                 ó2  — |rdddœ}i }ni }ddi}t        j                  |«      5  t        j                  «       \  }} |j                  |Ž   |j
                  |Ž  |j                  j                  t        j                  di |¤Ž«       |j                  j                  t        j                  di |¤Ž«       t        |j                  j                  d¬«      |«       t        |j                  j                  d¬«      |«       d d d «       y # 1 sw Y   y xY w)NÚauto©zxtick.minor.ndivszytick.minor.ndivsÚnTr«   r?   )rˆ   r‰   r­   r®   r¯   rò   r±   rÆ   r+   rÇ   ró   r   r²   )r.   rô   rõ   r÷   ÚcontextrB   r´   rµ   s           r3   Útest_number_of_minor_ticks_autoz4TestAutoMinorLocator.test_number_of_minor_ticks_auto  sì   € ñ Ø,2ÈÑPˆGØ‰FàˆGØ˜6�]ˆFä�^‰^˜GÓ$ñ 	HÜ—l‘l“n‰GˆC�ØˆB�K‰K˜ÑØˆB�K‰K˜ÑØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔGÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔG÷	H÷ 	Hñ 	Hús   ¦CDÄDzn, lim, refr   )r   r‘   )r   r   rÃ   rÄ   r‘   rp   )r   r   r   rn   r   ro   r!   ri   )	r¥   r`   r¦   r¾   r   r¿   r™   rÀ   r©   c                 óê  — |r||dœ}i }ni }d|i}t        j                  |«      5  t        j                  «       \  }} |j                  |Ž   |j
                  |Ž  |j                  j                  t        j                  d«      «       |j                  j                  t        j                  di |¤Ž«       |j                  j                  t        j                  d«      «       |j                  j                  t        j                  di |¤Ž«       t        |j                  j                  d¬«      |«       t        |j                  j                  d¬«      |«       d d d «       y # 1 sw Y   y xY w)Nrú   rû   r   Tr«   r?   )rˆ   r‰   r­   r®   r¯   rò   r±   Úset_major_locatorr+   r~   rÆ   rÇ   ró   r   r²   )	r.   rû   rô   rõ   r÷   rü   rB   r´   rµ   s	            r3   Útest_number_of_minor_ticks_intz3TestAutoMinorLocator.test_number_of_minor_ticks_int.  s&  € ñ Ø,-ÀAÑFˆGØ‰FàˆGØ˜1�XˆFä�^‰^˜GÓ$ñ 		HÜ—l‘l“n‰GˆC�ØˆB�K‰K˜ÑØˆB�K‰K˜ÑØ�H‰H×&Ñ&¤w×'>Ñ'>¸qÓ'AÔBØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJØ�H‰H×&Ñ&¤w×'>Ñ'>¸qÓ'AÔBØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔGÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔG÷		H÷ 		Hñ 		Hús   ¦D:E)Å)E2N)rJ   rK   rL   r4   ÚparamsrÈ   r@   rR   rS   rÐ   rÓ   rÙ   rß   ÚlimitsÚ	referenceÚlistÚzipÚadditional_datarö   rý   r   r?   r5   r3   r    r    ™   sÂ  „ òKð 	Øð€Fò
Kð& ‡[�[×ÑÐDÀfÓMñ	Kó Nð	Kò )ÐòEð ‡[�[×ÑÐEØ5ó7ñ	@ó7ð	@ò>€Fò	Bò	ò	'ò	'ò	ò
	1ò	Eò	ð/€Iñ: ™3˜v yÓ1Ó2€Oà‡[�[×Ñ˜Z¨Ó9ñDó :ðDð ‡[�[×Ñ˜]¨U°D¨MÓ:Ø‡[�[×ÑØØòGðHð ò"ð#ð	
ó	ñHó	ó ;ðHð" ‡[�[×Ñ˜]¨U°D¨MÓ:Ø‡[�[×ÑØØ�Ò,Ð-Ø�Ò:Ð;Ø�ÒFÐGð
óñHóó ;ñHr5   r    c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestLogLocatorc                 ó¨  — t        j                  d¬«      }t        j                  t        «      5  |j                  dd«       d d d «       t        j                  g d¢«      }t        |j                  dd«      |«       t        j                  d¬	«      }t        j                  g d
¢«      }t        |j                  dd«      |«       y # 1 sw Y   Œ†xY w)Nr    r\   r   éè  )çñhãˆµøä>r   r¥   ç      $@ç     @�@ç     jø@ç    ÐcAç    eÍÍAr   g     Ûú@r   rx   )
r   r   rq   ç      @g       @g      0@g      @@g      P@g      `@g      p@r   r
   )	r+   Ú
LogLocatorr@   rA   rW   r-   rM   rN   r   rb   s      r3   r4   zTestLogLocator.test_basicJ  s£   € Ü× Ñ ¨!Ô,ˆÜ�]‰]œ:Ó&ñ 	%Ø�O‰O˜A˜tÔ$÷	%ô —X‘Xò @ó Aˆ
ô 	˜CŸO™O¨E°5Ó9¸:ÔFä× Ñ  aÔ(ˆÜ—X‘XÒNÓOˆ
Ü˜CŸO™O¨A¨sÓ3°ZÕ@÷	%ð 	%ús   °CÃCc                 ó¸   — t        j                  ddi¬«      \  }}|j                  d«       |j                  dd«       t	        |j                  «       g d¢«       y)	z<
        Polar Axes have a different ticking logic.
        Ú
projectionÚpolar)Ú
subplot_kwÚlogr   r
   )r!   r
   r
  N)r­   r®   Ú
set_yscalerò   r   Ú
get_yticks©r.   r´   rµ   s      r3   Útest_polar_axeszTestLogLocator.test_polar_axesX  sE   € ô —,‘,¨<¸Ð*AÔB‰ˆˆRØ
�‰�eÔØ
�‰�A�sÔÜ˜2Ÿ=™=›?ªOÕ<r5   c                 ó  — t        j                  d¬«      }t        |j                  dd«      g d¢«       t        j                  t	        j
                  dd«      ¬«      }d|j                  d	d
«      vsJ ‚d|j                  d	d
«      vsJ ‚y )NrG   ©Úsubsr§   r¨   )g)\�Âõ(Ü?gq=
×£pÝ?g¸…ëQ¸Þ?r   g¤p=
×£à?gHáz®Gá?gìQ¸…ëá?r   r!   r   r©   r   r  )r+   r  r   r-   rM   rO   re   s     r3   Útest_switch_to_autolocatorz)TestLogLocator.test_switch_to_autolocatora  sz   € Ü× Ñ  eÔ,ˆÜ˜3Ÿ?™?¨4°Ó6ÚDô	Fô × Ñ ¤b§i¡i°°2Ó&6Ô7ˆØ˜#Ÿ/™/¨#¨sÓ3Ñ3Ð3Ð3Ø˜3Ÿ?™?¨3°Ó4Ñ4Ð4Ñ4r5   c                 óÐ   — t        j                  «       }|j                  ddgd¬«       |j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |j                  «      dgk(  sJ ‚y)zÆ
        Create log locator with default value, base=10.0, subs=[1.0],
        numticks=15 and change it to something else.
        See if change was successful. Should not raise exception.
        é   rq   r‘   )r]   r  ry   N)r+   r  rk   r]   Ú_baser  Ú_subsre   s     r3   rl   zTestLogLocator.test_set_paramsj  s`   € ô × Ñ Ó"ˆØ�‰ ¨¨°AˆÔ6Ø�|‰|˜qÒ Ð Ð Ø�y‰y˜AŠ~Ðˆ~Ü�C—I‘I‹ 3 %Ò'Ð'Ñ'r5   c                 ó–   — t        j                  d¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )N©r   r   r    r  )r¥   r`   r   r   rq   rÅ   r  r   ç      I@r   ç      i@ç     @@r  ç     @Ÿ@ç     ˆ³@ç     ˆÃ@ç     ˆÓ@ç     jè@r  ç     jAç    €„Aç    €„.Aç    €„>Aç    ÐSAr  ç    ÐsAç    „×‡Aç    „×—Aç    „×§Aç    eÍ½Ar   r  )r+   r  rM   rN   r   r-   ©r.   Úllrc   s      r3   Útest_tick_values_correctz'TestLogLocator.test_tick_values_correctv  s>   € Ü×Ñ YÔ/ˆÜ—X‘Xò Oó Pˆ
ô
 	˜BŸN™N¨1¨cÓ2°JÕ?r5   c                 ó¼   — dt         j                  d<   t        j                  d¬«      }t	        j
                  g d¢«      }t        |j                  dd«      |«       y )NFrÒ   r%  r  )!r¥   r`   r   r   rq   rÅ   r  r   r&  r   r'  r(  r  r)  r*  r+  r,  r-  r  r.  r/  r0  r1  r2  r  r3  r4  r5  r6  r7  r  g    eÍÝAg    _ òAr   r5  )rˆ   ÚrcParamsr+   r  rM   rN   r   r-   r8  s      r3   Útest_tick_values_not_emptyz)TestLogLocator.test_tick_values_not_empty  sK   € Ø16Œ�‰Ð-Ñ.Ü×Ñ YÔ/ˆÜ—X‘Xò 7ó 8ˆ
ô 	˜BŸN™N¨1¨cÓ2°JÕ?r5   c                 ó  — t         j                  j                  d«      }|j                  d¬«      g g g}t	        j
                  t        |«      dd¬«      \  }}t        |j                  «       |«      D ]+  \  }}|j                  |d¬«       |j                  dd	¬
«       Œ- |j                  «       D ]W  }t        |j                  «       |d   j                  «       k(  «      sJ ‚|j                  «       |d   j                  «       k(  rŒWJ ‚ y )Ni!N,r
   )ÚsizeT)ÚsharexÚshareyr!   )Úbinsr  Úclip)Únonpositiver   )rM   ÚrandomÚdefault_rngÚnormalr­   r®   rË   r  ÚflattenÚhistr  rG   r  Úget_ylim)r.   ÚrngÚ
dummy_datar´   Úaxesrµ   r†   s          r3   Útest_multiple_shared_axesz(TestLogLocator.test_multiple_shared_axesŠ  så   € Ü�i‰i×#Ñ# HÓ-ˆØ—j‘j c�jÓ*¨B°Ð3ˆ
Ü—L‘L¤ Z£¸ÀdÔK‰	ˆˆTä˜DŸL™L›N¨JÓ7ò 	5‰HˆB�Ø�G‰G�D˜rˆGÔ"Ø�M‰M˜%¨VˆMÕ4ð	5ð —,‘,“.ò 	7ˆBÜ�r—}‘}“¨$¨q©'×*<Ñ*<Ó*>Ñ>Ô?Ð?Ð?Ø—;‘;“= D¨¡G×$4Ñ$4Ó$6Ó6Ð6Ð6ñ	7r5   N)
rJ   rK   rL   r4   r  r  rl   r:  r=  rN  r?   r5   r3   r  r  I  s(   „ òAò=ò5ò
(ò@ò	@ó7r5   r  c                   ó   — e Zd Zd„ Zy)ÚTestNullLocatorc                 ó¨   — t        j                  «       }t        j                  t        «      5  |j                  «        ddd«       y# 1 sw Y   yxY w)zˆ
        Create null locator, and attempt to call set_params() on it.
        Should not exception, and should raise a warning.
        N)r+   ÚNullLocatorr@   ÚwarnsÚUserWarningrk   re   s     r3   rl   zTestNullLocator.test_set_params™  s=   € ô
 ×!Ñ!Ó#ˆÜ�\‰\œ+Ó&ñ 	Ø�N‰NÔ÷	÷ 	ñ 	ús   ®AÁAN©rJ   rK   rL   rl   r?   r5   r3   rP  rP  ˜  s   „ ór5   rP  c                   ó,   — e Zd Zed„ «       Zed„ «       Zy)Ú_LogitHelperc                 óÒ   — d| cxk  rdk  r[n nXd|cxk  rdk  rMn nJt        j                  t        j                  d| z  dz
  «       t        j                  d|z  dz
  «       «      S dS )Nr   r   F)rM   Úiscloser  )r×   rì   s     r3   rY  z_LogitHelper.isclose¤  sZ   € ð �q”9˜1•9  Q¤¨¥ô —
‘
œBŸF™F 1 Q¡3 q¡5›M˜>¬B¯F©F°1°Q±3°q±5«M¨>Ó:ð 	7Ø05ð	7r5   c                 ó¨  — t        j                  | «      }t        j                  |«      }t        j                  |dkD  «      rt        j                  |dk  «      sJ ‚t        j                  |dkD  «      rt        j                  |dk  «      sJ ‚t        j                  d|z  dz
  «       }t        j                  d|z  dz
  «       }t	        ||«       y rÛ   )rM   rN   rG   r  r   )r×   rì   rµ   ÚayÚlxÚlys         r3   r   z _LogitHelper.assert_almost_equal©  sš   € ä�X‰X�a‹[ˆÜ�X‰X�a‹[ˆÜ�v‰v�b˜1‘fŒ~¤"§&¡&¨¨a©¤.Ð0Ð0Ü�v‰v�b˜1‘fŒ~¤"§&¡&¨¨a©¤.Ð0Ð0Ü�f‰f�Q�r‘T˜!‘V‹nˆ_ˆÜ�f‰f�Q�r‘T˜!‘V‹nˆ_ˆÜ˜B Õ#r5   N)rJ   rK   rL   ÚstaticmethodrY  r   r?   r5   r3   rW  rW  £  s(   „ Øñ7ó ð7ð ñ$ó ñ$r5   rW  c                   ó,  — e Zd Zg d¢Zdd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd	«      z  z  dd ej
                  dd
«      z  z  dd ej
                  dd«      z  z  gZg d¢Zej                  j                  d eee«      «      d„ «       Zej                  j                  de«      d„ «       Zej                  j                  deez   «      d„ «       Zej                  j                  d eee«      «      d„ «       Zd„ Zg d ej
                  dd«      z  ¢dd ej
                  dd«      z  z
  ¢Zej                  j                  d ej&                  ed¬«      D � ��cg c]  \  }}||k7  r||f‘Œ c}}} «      d„ «       Zej                  j                  de«      d„ «       Zyc c}}} w )ÚTestLogitLocator)©r¤   r   )ræ   g×£p=
×ï?)gü©ñÒMb@?g–C‹lçûï?©ç-Cëâ6
?g�St$—ÿï?)gñhãˆµøÔ>gŽ;¥ƒõÿï?)g�íµ ÷Æ >gõ…�óþÿï?©gH¯¼šò×j>ge(åÿÿï?)g:Œ0âŽy5>g$ÎPýÿÿï?r   r!   r[   r‘   r    r   r!  rh   é	   ))r¾   r¿   )r¤   r`   )rÀ   r   zlims, expected_low_ticksc                 óž   — t        g |¢d‘d|z
  ¢«      }t        j                  d¬«      }t        j	                   |j
                  |Ž |«       y)zR
        Create logit locator with huge number of major, and tests ticks.
        r   r   r
   r(   N)Úsortedr+   ÚLogitLocatorrW  r   r-   )r.   ÚlimsÚexpected_low_ticksÚexpected_ticksr2   s        r3   Útest_basic_majorz!TestLogitLocator.test_basic_majorÍ  sX   € ô  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAó
ˆô ×"Ñ"¨Ô-ˆÜ×(Ñ(ØˆC�O‰O˜TÐ"Øõ	
r5   ri  c                 óT  — t        j                  d¬«      }t        j                  dg d¢¬«      }dD ]t  }|j                  |¬«       |j                  |¬«        |j                  |Ž } |j                  |Ž }|j
                  |j
                  k(  sJ ‚||k(  j                  «       rŒtJ ‚ y)zj
        When the axis is zoomed, the locator must have the same behavior as
        MaxNLocator.
        r
   r(   )r   r   r    r!   )r)   r8   )r‘   rh   é   N)r+   rh  r,   rk   r-   ÚshaperG   )r.   ri  r2   Úmaxn_locr)   ÚticksÚ
maxn_tickss          r3   Útest_maxn_majorz TestLogitLocator.test_maxn_majorÞ  s¥   € ô ×"Ñ"¨Ô-ˆÜ×&Ñ&¨SºÔFˆØò 	/ˆEØ�N‰N ˆNÔ'Ø×Ñ eÐÔ,Ø#�C—O‘O TÐ*ˆEØ-˜×-Ñ-¨tÐ4ˆJØ—;‘; *×"2Ñ"2Ò2Ð2Ð2Ø˜ZÑ'×,Ñ,Õ.Ð.Ð.ñ	/r5   c                 ó.  — t        t        j                  t        j                  |d   «      «       «      dz  dz   }t	        j
                  d¬«      }t        |dd«      D ]4  }|j                  |¬«       t         |j                  |Ž «      |dz   k  rŒ4J ‚ y)zB
        Assert logit locator for respecting nbins param.
        r   r   r   r
   r(   r   N)
ÚintrM   ÚfloorÚlog10r+   rh  Úrangerk   rË   r-   )r.   ri  Úbasic_neededr2   r)   s        r3   Útest_nbins_majorz!TestLogitLocator.test_nbins_majorî  s‰   € ô œBŸH™H¤R§X¡X¨d°1©gÓ%6Ó7Ð7Ó8¸1Ñ<¸qÑ@ˆÜ×"Ñ"¨Ô-ˆÜ˜<¨¨BÓ/ò 	<ˆEØ�N‰N ˆNÔ'Ü��s—‘¨Ð-Ó.°%¸!±)Ó;Ð;Ð;ñ	<r5   c                 óø  — t        g |¢d‘d|z
  ¢«      }t        |«      }t        j                  d¬«      }t        j                  dd¬«      }t	        |dd«      D ]ž  }|j                  |¬«       |j                  |¬«        |j                  |Ž } |j                  |Ž }	t        |«      t        |«      k\  r t        |«      dz
  d	z  t        |	«      k  rŒzJ ‚t        j                  t        g |¢|	¢«      |«       Œ  y
)zt
        In large scale, test the presence of minor,
        and assert no minor when major are subsampled.
        r   r   r
   r(   T)r)   r¬   r   r   r    N)	rg  rË   r+   rh  rx  rk   r-   rW  r   )
r.   ri  rj  rk  ry  r2   Ú	minor_locr)   Úmajor_ticksÚminor_tickss
             r3   Ú
test_minorzTestLogitLocator.test_minorú  s
  € ô  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAó
ˆô ˜>Ó*ˆÜ×"Ñ"¨Ô-ˆÜ×(Ñ(¨s¸$Ô?ˆ	Ü˜<¨¨BÓ/ò 	JˆEØ�N‰N ˆNÔ'Ø× Ñ  uÐ Ô-Ø)˜#Ÿ/™/¨4Ð0ˆKØ/˜)×/Ñ/°Ð6ˆKÜ�;Ó¤3 ~Ó#6Ò6ä˜KÓ(¨1Ñ,°Ñ1´C¸Ó4DÓDÐDÐDô ×0Ñ0ÜÐ7˜[Ð7¨;Ð7Ó8¸.õJñ	Jr5   c                 ó¶   — t        j                  d¬«      }|j                  rJ ‚d|_        |j                  sJ ‚|j                  d¬«       |j                  rJ ‚y )Nr
   r(   TFr«   )r+   rh  r¬   rk   re   s     r3   Útest_minor_attrz TestLogitLocator.test_minor_attr  sM   € Ü×"Ñ"¨Ô-ˆØ—9’9Ðˆ}ØˆŒ	Ø�yŠyÐˆyØ�‰˜UˆÔ#Ø—9’9Ðˆ}�9r5   rÃ   éýÿÿÿr   r   )Úrepeatc                 ó|   — t        j                  «       } |j                  |Ž }t        |«      t        |«      k(  sJ ‚y)zd
        Create logit locator, and test the nonsingular method for acceptable
        value
        N)r+   rh  Únonsingularrg  )r.   ri  r2   Úlims2s       r3   Útest_nonsingular_okz$TestLogitLocator.test_nonsingular_ok$  s8   € ô ×"Ñ"Ó$ˆØ�—‘ Ð&ˆÜ�d‹|œv e›}Ò,Ð,Ñ,r5   Úokvalc                 óì   — t        j                  «       }d|}}|j                  ||«      \  }}||k(  sJ ‚d|cxk  r|k  sJ ‚ J ‚|d}}|j                  ||«      \  }}||k(  sJ ‚||cxk  rdk  sJ ‚ J ‚y)zh
        Create logit locator, and test the nonsingular method for non
        acceptable value
        r   r   r   r   N)r+   rh  r…  )r.   rˆ  r2   r/   r0   Úvmin2Úvmax2s          r3   Útest_nonsingular_nokz%TestLogitLocator.test_nonsingular_nok5  s–   € ô ×"Ñ"Ó$ˆØ˜%ˆdˆØ—‘ t¨TÓ2‰ˆˆuØ˜Š}Ðˆ}Ø�5Ô ˜5Ò Ð Ñ Ð Ð Ø˜QˆdˆØ—‘ t¨TÓ2‰ˆˆuØ˜Š}Ðˆ}Ø�uÔ ˜qÒ Ð Ñ Ð Ñ r5   N)rJ   rK   rL   Úref_basic_limitsrM   rO   Úref_basic_major_ticksÚref_maxn_limitsr@   rR   rS   r  rl  rs  rz  r  r�  Úacceptable_vmin_vmaxÚ	itertoolsÚproductr‡  rŒ  )Ú.0ÚaÚbs   000r3   r`  r`  ´  sm  „ ò	Ðð 	
ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q Ó#Ñ#Ñ$ð	Ðò G€Oà‡[�[×ÑØ"ÙÐÐ3Ó4óñ
ó	ð
ð ‡[�[×Ñ˜V _Ó5ñ/ó 6ð/ð ‡[�[×Ñ˜VÐ%5¸Ñ%GÓHñ	<ó Ið	<ð ‡[�[×ÑØ"ÙÐÐ3Ó4óñJó	ðJò2ðØ
��—‘˜2˜qÓ!Ñ
!ðà
ˆc�Y�R—Y‘Y˜r 1Ó%Ñ%Ñ
%ðÐð
 ‡[�[×ÑØð ,˜)×+Ñ+Ð,@ÈÔK÷	
ð 	
á��AØ�AŠvð �ŠFô	
óñ-óð-ð ‡[�[×Ñ˜WÐ&:Ó;ñ!ó <ñ!ùô!	
s   Ç
Hr`  c                   ó   — e Zd Zd„ Zy)ÚTestFixedLocatorc                 óŒ   — t        j                  t        dd«      d¬«      }|j                  d¬«       |j                  dk(  sJ ‚y)z™
        Create fixed locator with 5 nbins, and change it to something else.
        See if change was successful.
        Should not exception.
        r   é   r    r(   r!  N)r+   ÚFixedLocatorrx  rk   r)   )r.   Úfixeds     r3   rl   z TestFixedLocator.test_set_paramsG  s?   € ô ×$Ñ$¤U¨1¨b£\¸Ô;ˆØ×Ñ˜qÐÔ!Ø�{‰{˜aÒÐÑr5   NrU  r?   r5   r3   r—  r—  F  s   „ ó r5   r—  c                   ó   — e Zd Zd„ Zy)ÚTestIndexLocatorc                 óœ   — t        j                  dd¬«      }|j                  dd¬«       |j                  dk(  sJ ‚|j                  dk(  sJ ‚y)z¢
        Create index locator with 3 base, 4 offset. and change it to something
        else. See if change was successful.
        Should not exception.
        r[   r‘   r�   r!  N)r+   ÚIndexLocatorrk   r"  r‚   )r.   Úindexs     r3   rl   z TestIndexLocator.test_set_paramsS  sM   € ô ×$Ñ$¨!°AÔ6ˆØ×Ñ˜a¨ÐÔ*Ø�{‰{˜aÒÐÐØ�|‰|˜qÒ Ð Ñ r5   NrU  r?   r5   r3   r�  r�  R  s   „ ó	!r5   r�  c                   óz   — e Zd Zd„ Zej
                  j                  dddddgfddg d¢fg«      d„ «       Zd„ Zd	„ Z	y
)ÚTestSymmetricalLogLocatorc                 ó    — t        j                  dd¬«      }|j                  dgd¬«       |j                  dgk(  sJ ‚|j                  dk(  sJ ‚y)zÅ
        Create symmetrical log locator with default subs =[1.0] numticks = 15,
        and change it to something else.
        See if change was successful.
        Should not exception.
        r!   r   ©ry   Ú	linthreshrq   rh   )r  r]   N)r+   ÚSymmetricalLogLocatorrk   r#  r]   ©r.   Úsyms     r3   rl   z)TestSymmetricalLogLocator.test_set_params`  sN   € ô ×+Ñ+°¸qÔAˆØ�‰˜S˜E¨AˆÔ.Ø�y‰y˜S˜EÒ!Ð!Ð!Ø�|‰|˜qÒ Ð Ñ r5   r&   r   r   r   ©r   r   r   c                 óp   — t        j                  dd¬«      }|j                  ||¬«      }t        ||«       y )Nr!   r   r¤  )r/   r0   )r+   r¦  r-   r   )r.   r/   r0   r1   r¨  rq  s         r3   Útest_valuesz%TestSymmetricalLogLocator.test_valuesl  s2   € ô ×+Ñ+°¸qÔAˆØ—‘ T°�Ó5ˆÜ˜5 (Õ+r5   c                 ó¶   — t        j                  ddddg¬«      }|j                  «        |j                  j	                  dd«       t         |«       g d¢«       y )Nr!   r   rq   r  )ry   r¥  r  éöÿÿÿ)	éìÿÿÿiØÿÿÿéþÿÿÿr�   r   r   r‘   r	   é(   )r+   r¦  Úcreate_dummy_axisÚaxisÚset_view_intervalr   r§  s     r3   Ú	test_subsz#TestSymmetricalLogLocator.test_subsy  sG   € Ü×+Ñ+°¸qÈÈSÀzÔRˆØ×ÑÔØ�‰×"Ñ" 3¨Ô+Ü™3›5Ò"EÕFr5   c                 óº  — t        j                  dd¬«      }|j                  «        |j                  j	                  dd«        |«       dgk(  j                  «       sJ ‚|j                  j	                  dd«        |«       ddgk(  j                  «       sJ ‚|j                  dd«      d	k(  sJ ‚|j                  d
d
«      dk(  sJ ‚|j                  dd«      dk(  sJ ‚y )Nr!   r   r¤  rh   re  r   é   r  )r   r
   r­  )éœÿÿÿr   r   )çü©ñÒMbP¿r   )r+   r¦  r±  r²  r³  rG   rŠ   r§  s     r3   Útest_extendingz(TestSymmetricalLogLocator.test_extending  sÊ   € Ü×+Ñ+°¸qÔAˆØ×ÑÔØ�‰×"Ñ" 1 aÔ(Ù“˜#˜‘×#Ñ#Ô%Ð%Ð%Ø�‰×"Ñ" 1 bÔ)Ù“˜#˜t˜Ñ$×)Ñ)Ô+Ð+Ð+Ø�‰˜r 2Ó&¨(Ò2Ð2Ð2Ø�‰˜s CÓ(¨JÒ6Ð6Ð6Ø�‰˜q !Ó$¨Ò7Ð7Ñ7r5   N)
rJ   rK   rL   rl   r@   rR   rS   r«  r´  r¹  r?   r5   r3   r¢  r¢  _  sT   „ ò
!ð ‡[�[×ÑØ"à�A˜˜1�v�Ø�Qš
Ð#ðóñ,óð,òGó	8r5   r¢  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestAsinhLocatorc                 ó˜   — t        j                  dd¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚y )NgX9´Èv¾@é   )Úlinear_widthr]   r!   )r+   ÚAsinhLocatorr¾  r]   ry   ©r.   Úlctrs     r3   Ú	test_initzTestAsinhLocator.test_initŒ  sJ   € Ü×#Ñ#°ÀÔDˆØ× Ñ  EÒ)Ð)Ð)Ø�}‰} Ò"Ð"Ð"Ø�y‰y˜BŠÐ‰r5   c                 ó.  — t        j                  ddddd¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j
                  dk(  sJ ‚|j                  d¬«       |j                  dk(  sJ ‚|j                  d «       |j                  dk(  sJ ‚|j                  d	¬
«       |j                  d	k(  sJ ‚|j                  d ¬
«       |j                  d	k(  sJ ‚|j                  d¬«       |j                  dk(  sJ ‚|j                  d ¬«       |j                  dk(  sJ ‚|j                  d¬«       |j
                  dk(  sJ ‚|j                  d ¬«       |j
                  dk(  sJ ‚|j                  g ¬«       |j
                  �J ‚y )Nr    é   rê   r‘   )rÃ   g      
@)r¾  r]   Ú	symthreshry   r  é   r\   r   )rÅ  r!  rx   )r   g     €@r  )r+   r¿  r]   rÅ  ry   r  rk   rÀ  s     r3   rl   z TestAsinhLocator.test_set_params’  s~  € Ü×#Ñ#°Ø-/¸5Ø)*°ô>ˆð �}‰} Ò"Ð"Ð"Ø�~‰~ Ò&Ð&Ð&Ø�y‰y˜AŠ~Ðˆ~Ø�y‰y˜KÒ'Ð'Ð'à�‰ ˆÔ$Ø�}‰} Ò"Ð"Ð"Ø�‰˜ÔØ�}‰} Ò"Ð"Ð"à�‰ #ˆÔ&Ø�~‰~ Ò$Ð$Ð$Ø�‰ $ˆÔ'Ø�~‰~ Ò$Ð$Ð$à�‰˜QˆÔØ�y‰y˜AŠ~Ðˆ~Ø�‰˜TˆÔ"Ø�y‰y˜AŠ~Ðˆ~à�‰˜ZˆÔ(Ø�y‰y˜JÒ&Ð&Ð&Ø�‰˜TˆÔ"Ø�y‰y˜JÒ&Ð&Ð&Ø�‰˜RˆÔ Ø�y‰yÐ Ð Ñ r5   c                 óZ  — t        j                  ddd¬«      }t        |j                  dd«      t	        j
                  ddd«      «       t        |j                  d	d
«      t	        j
                  d	dd«      «       t        |j                  dd«      t	        j
                  ddd«      «       y )Nr
   r;   r   ©r¾  r]   ry   r   r   ç)\�Âõ(ð?r`   r   r¥   gB`åÐ"Û¹?ç{®Gáz”?g{®Gáz„¿rç   gM„O¯„?çü©ñÒMb`?©r+   r¿  r   r-   rM   rO   rÀ  s     r3   Útest_linear_valuesz#TestAsinhLocator.test_linear_values±  s‹   € Ü×#Ñ#°¸rÈÔJˆä˜D×,Ñ,¨R°Ó3ÜŸI™I b¨$°Ó4ô	6ä˜D×,Ñ,¨T°3Ó7ÜŸI™I d¨E°4Ó8ô	:ä˜D×,Ñ,¨U°DÓ9ÜŸI™I e¨V°UÓ;õ	=r5   c                 ó¬   — t        j                  ddd¬«      }t        |j                  dd«      g d¢«       t        |j                  dd	«      g d
¢«       y )Nr¥   r;   r   rÈ  r·  r
   )r·  r®  r   r   r½   r   r`   r   r    r	   r
   éüÿÿr
  )rÏ  r·  r®  r‚  r¼   r   r¾   r[   r	   r
   r
  ©r+   r¿  r   r-   rÀ  s     r3   Útest_wide_valuesz!TestAsinhLocator.test_wide_values»  sP   € Ü×#Ñ#°¸rÈÔJˆä˜D×,Ñ,¨T°3Ó7ò4ô	5ô 	˜D×,Ñ,¨U°DÓ9ò7õ	8r5   c                 óp   — t        j                  ddd¬«      }t        |j                  dd«      g d¢«       y)	z<Check that manually injected zero will supersede nearby tickr
   r[   r   rÈ  r»   r©   )rÁ   r   r©   NrÐ  rÀ  s     r3   Útest_near_zerozTestAsinhLocator.test_near_zeroÅ  s.   € ä×#Ñ#°¸qÀqÔIˆä˜D×,Ñ,¨T°3Ó7Ò9IÕJr5   c                 ó”   — t        j                  dd¬«      }t        |j                  dd«      t	        j
                  ddd«      «       y )Nr   r;   r\   ée   éf   gq=
×£€Y@r¥   rÌ  rÀ  s     r3   Útest_fallbackzTestAsinhLocator.test_fallbackË  s;   € Ü×#Ñ# C°"Ô5ˆä˜D×,Ñ,¨S°#Ó6ÜŸI™I c¨6°3Ó7õ	9r5   c                 óÎ  — t        j                  dddd¬«      }|j                  «        |j                  j	                  dd«       t         |«       g d¢«       |j                  j	                  dd	«       t         |«       g d
¢«       |j                  j	                  dd«       t         |«       g d
¢«       |j                  j	                  dd«       t         |«       g d¢«       y )Nr   r[   r   r   )r¾  r]   rÅ  ry   r   r   )r   r   r   r©   r©  g333333ë¿rª   r   )r   rª   r   )r+   r¿  r±  r²  r³  r   rÀ  s     r3   Útest_symmetrizingz"TestAsinhLocator.test_symmetrizingÑ  s§   € Ü×#Ñ#°¸QØ.2¸ô<ˆà×ÑÔ à�	‰	×#Ñ# B¨Ô*Ü™D›F¢JÔ/à�	‰	×#Ñ# B¨Ô,Ü™D›F¢JÔ/à�	‰	×#Ñ# E¨4Ô0Ü™D›F¢JÔ/à�	‰	×#Ñ# A sÔ+Ü™D›F¢NÕ3r5   c                 óÞ   — t        j                  dddd¬«      }t        |j                  dd«      g d¢«       t        j                  dd	d
¬«      }t        |j                  dd«      g d¢«       y )Nr   rh   r!   )r   r[   r    )r¾  r]   ry   r  é’ÿÿÿén   )iþÿÿiÔþÿÿr·  iÎÿÿÿiâÿÿÿr­  r   r‚  r   rÂ   r_   r   r   r¥   r¦   r   r   r[   r    r!   r#   é2   r
   i,  éô  r	   r    rÈ  iæûÿÿi  )i�ýÿÿiƒÿÿÿiçÿÿÿr   r   r½   r   r`   r   r    é   é}   iq  rÐ  )r.   Úlctr10Úlctr5s      r3   Útest_base_roundingz#TestAsinhLocator.test_base_roundingâ  sk   € Ü×%Ñ%°1¸qØ+-°Iô?ˆä˜F×.Ñ.¨t°SÓ9òAô	Bô
 ×$Ñ$°!¸bÀqÔIˆÜ˜E×-Ñ-¨e°TÓ:ò6õ	7r5   N)rJ   rK   rL   rÂ  rl   rÍ  rÑ  rÓ  r×  rÙ  rã  r?   r5   r3   r»  r»  ‹  s+   „ òò!ò>=ò8òKò9ò4ó"7r5   r»  c                   ó˜  — e Zd Zg d¢ZddgZddgZg d¢Zddgddgd	d
gddgddggZg d¢Ze	j                  j                  dddg«      d„ «       Ze	j                  j                  de«      d„ «       Ze	j                  j                  de«      d„ «       Ze	j                  j                  de«      d„ «       Zd„ Zd„ Ze	j                  j                  de«      d„ «       Ze	j                  j                  de«      d„ «       Ze	j                  j                  d e«      d!„ «       Ze	j                  j                  d e«      d"„ «       Zd#„ Zd$„ Zd%„ Zy&)'ÚTestScalarFormatter))é{   é½   r   )iCÿÿÿi…ÿÿÿr   )i50  i=0  i40  )iÃÏÿÿiËÏÿÿiÌÏÿÿ)g    øiø@g    ¨jø@é † )g    ¨jøÀg    øiøÀé`yþÿ)g    hiø@g    jø@rè  )g    jøÀg    hiøÀré  )iOÔ iQÔ iPÔ )i¯+íÿi±+íÿi°+íÿ)r   r   r   )ræ  ræ  r   )gì/»'Ý?g”ö_˜LÝ?r§   )g
×£p=š­@g33333Ž­@iÄ  )gš™™™‰æ@g    ø`æ@iÈ¯  )g1Ðµ/ G?gšÃÿgÞ»G?gÖÿ9Ì—G?)g\�Âõh˜È@g¤p=
·—È@i.1  )g      "@g      (@r   )g      Œ@ç     À’@r   )g     °�@rê  r   )ç®Gáz®ï?rÉ  r   )g{®Gáú#@g…ëQ¸$@r!   )g�Âõ(\ÿX@gq=
×£ Y@r
   )gö(\�Âõ@g
×£p=
@r   )g{®Gáú/@gÃõ(\�0@rn  )g!°rh‘íÜ¿ç°rh‘í|ß?r   )g°rh‘í|ß¿rì  r   )g3333³È@g    @È@i0  )gffff¦ÈÀgffff¦È@r   TF)	)Fr¶   )r  r   r   F)T©r¯  r   )r­  r	   r   F)Trí  )r®  r!   r   F)Trí  )rÛ  éx   r   F)Trí  )iˆÿÿÿrÜ  r   F)Trí  )r¸  rË  r‚  F)T)r|   r!  )g   €tÒÚAg   0ëþAre  T)Tr¶   ©g     jøÀr  r    F)T)r   r   rï  r   Fr   z0.000g�(í¾0‰?z0.012g°rh‘í|¿?z0.123g®Gáz®ó?z1.230gš™™™™™(@z12.300))r¥   ú1e-1)ré   z1.1e-1)r5  Ú1e8)g    Þ9šAz1.1e8zunicode_minus, result)Tõ   âˆ’1)Fú-1c                 óÆ   — |t         j                  d<   t        j                  «       j                  j                  «       j                  d«      j                  «       |k(  sJ ‚y )Núaxes.unicode_minusr   )rˆ   r<  r­   Úgcar±   Úget_major_formatterÚformat_data_shortÚstrip)r.   Úunicode_minusrH   s      r3   Útest_unicode_minusz&TestScalarFormatter.test_unicode_minus2  sO   € ð .;Œ�‰Ð)Ñ*ä�G‰G‹I�O‰O×/Ñ/Ó1×CÑCÀBÓG×MÑMÓOØòð	ñr5   zleft, right, offsetc                 óV  — t        j                  «       \  }}|j                  j                  «       }||k(  rt	        j
                  t        d¬«      n	t        «       5  |j                  ||«       d d d «       |j                  j                  «        |j                  |k(  sJ ‚||k(  rt	        j
                  t        d¬«      n	t        «       5  |j                  ||«       d d d «       |j                  j                  «        |j                  |k(  sJ ‚y # 1 sw Y   Œ¥xY w# 1 sw Y   ŒAxY w)NzAttempting to set identicalr=   )r­   r®   r±   r÷  r@   rS  rT  r   r¯   Ú_update_ticksr‚   )r.   ÚleftÚrightr‚   r´   rµ   Ú	formatters          r3   Útest_offset_valuez%TestScalarFormatter.test_offset_value:  só   € ä—,‘,“.‰ˆˆRØ—H‘H×0Ñ0Ó2ˆ	ð ˜’ô �l‰lœ;Ð.KÕLÜ$/£Mñ	%à�K‰K˜˜eÔ$÷	%ð 	�‰×ÑÔ Ø×Ñ 6Ò)Ð)Ð)ð ˜’ô �l‰lœ;Ð.KÕLÜ$/£Mñ	%à�K‰K˜˜tÔ$÷	%ð 	�‰×ÑÔ Ø×Ñ 6Ò)Ð)Ñ)÷	%ð 	%ú÷	%ð 	%ús   ÁDÃDÄDÄD(Ú
use_offsetc                 óÒ   — t        j                  d|i«      5  t        j                  «       }||j	                  «       k(  sJ ‚|j
                  dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nzaxes.formatter.useoffsetr   )rˆ   r‰   r+   ÚScalarFormatterÚget_useOffsetr‚   )r.   r  Útmp_forms      r3   Útest_use_offsetz#TestScalarFormatter.test_use_offsetK  s`   € ä�^‰^Ð7¸ÐDÓEñ 	(Ü×.Ñ.Ó0ˆHØ ×!7Ñ!7Ó!9Ò9Ð9Ð9Ø—?‘? aÒ'Ð'Ñ'÷	(÷ 	(ñ 	(ús   ˜;AÁA&Úuse_math_textc                 ó°   — t        j                  d|i«      5  t        j                  «       }||j	                  «       k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Núaxes.formatter.use_mathtext)rˆ   r‰   r+   r  Úget_useMathText)r.   r  r  s      r3   Útest_useMathTextz$TestScalarFormatter.test_useMathTextR  sN   € ä�^‰^Ð:¸MÐJÓKñ 	?Ü×.Ñ.Ó0ˆHØ  H×$<Ñ$<Ó$>Ò>Ð>Ñ>÷	?÷ 	?ñ 	?ús   ˜*AÁAc                 ó”   — t        j                  «       }|j                  d«       |j                  «       rJ ‚|j                  dk(  sJ ‚y )Nr   )r+   r  Úset_useOffsetr  r‚   ©r.   r  s     r3   Útest_set_use_offset_floatz-TestScalarFormatter.test_set_use_offset_floatX  sB   € Ü×*Ñ*Ó,ˆØ×Ñ˜sÔ#Ø×)Ñ)Ô+Ð+Ð+Ø�‰ #Ò%Ð%Ñ%r5   c                 óÖ  — t        j                  «       }|d   }|r|d   dd  g t         j                  gfv rt        j                  d«       t        j                  ddi«      5  t        j                  «       }|j                  «       sJ ‚|j                  «        |j                  j                  dd«       |j                  g d	¢«       | |d
«      v sJ ‚	 d d d «       y # 1 sw Y   y xY w)NÚthousands_sepÚgroupingr   zLocale does not apply groupingzaxes.formatter.use_localeTr   r!   )r   r   r[   r  )ÚlocaleÚ
localeconvÚCHAR_MAXr@   Úskiprˆ   r‰   r+   r  Úget_useLocaler±  r²  Úset_data_intervalÚset_locs)r.   ÚconvÚsepr  s       r3   Útest_use_localez#TestScalarFormatter.test_use_locale^  sÐ   € Ü× Ñ Ó"ˆØ�?Ñ#ˆÙ�d˜:Ñ& r sÐ+°´V·_±_Ð4EÐ/FÑFÜ�K‰KÐ8Ô9ä�^‰^Ð8¸$Ð?Ó@ñ 	(Ü×.Ñ.Ó0ˆHØ×)Ñ)Ô+Ð+Ð+à×&Ñ&Ô(Ø�M‰M×+Ñ+¨A¨rÔ2Ø×ÑšiÔ(Ø™( 3›-Ñ'Ð'Ñ'÷	(÷ 	(ñ 	(ús   Á#A2CÃC(z.sci_type, scilimits, lim, orderOfMag, fewticksc                 óÆ  — t        j                  «       }|j                  |«       |j                  |«       t	        j
                  «       \  }}|j                  j                  |«        |j                  |Ž  |r.|j                  j                  t        j                  d«      «       |j                  |j                  j                  «       «       ||j                  k(  sJ ‚y )Nr‘   )r+   r  Úset_scientificÚset_powerlimitsr­   r®   ró   Úset_major_formatterrò   rÿ   r,   r  Úget_majorticklocsÚorderOfMagnitude)	r.   Úsci_typeÚ	scilimitsrô   Ú
orderOfMagÚfewticksr  r´   rµ   s	            r3   Útest_scilimitsz"TestScalarFormatter.test_scilimitsm  s¬   € ô ×*Ñ*Ó,ˆØ×Ñ Ô)Ø× Ñ  Ô+Ü—,‘,“.‰ˆˆRØ
�‰×$Ñ$ XÔ.Øˆ�‰�SÑÙØ�H‰H×&Ñ&¤w×':Ñ':¸1Ó'=Ô>à×Ñ˜"Ÿ(™(×4Ñ4Ó6Ô7Ø˜X×6Ñ6Ò6Ð6Ñ6r5   zvalue, expectedc                 ó~   — dt         j                  d<   t        j                  «       }|j	                  |«      |k(  sJ ‚y )NFrõ  )rˆ   r<  r+   r  Úformat_data)r.   Úvaluer1   Úsfs       r3   Útest_format_dataz$TestScalarFormatter.test_format_data|  s6   € à-2Œ�‰Ð)Ñ*Ü×$Ñ$Ó&ˆØ�~‰~˜eÓ$¨Ò0Ð0Ñ0r5   zdata, expectedc                 ó¸   — t        j                  «       \  }}|j                  dd«       |j                  j	                  «       j
                  } ||«      |k(  sJ ‚y )Nr   r   )r­   r®   r¯   r±   r÷  rø  )r.   r†   r1   r´   rµ   Úfmts         r3   Útest_cursor_precisionz)TestScalarFormatter.test_cursor_precision‚  sI   € ä—,‘,“.‰ˆˆRØ
�‰�B˜ÔØ�h‰h×*Ñ*Ó,×>Ñ>ˆÙ�4‹y˜HÒ$Ð$Ñ$r5   c                 ó2  — t        j                  «       }|j                  «        |j                  j	                  dd«       |j
                  } ||«      |k(  sJ ‚|j                  j                  «       dk(  sJ ‚|j                  j                  «       dk(  sJ ‚y )Nr   r!   re  )r+   r  r±  r²  r³  rø  Úget_tick_spaceÚ
get_minpos)r.   r†   r1   r,  r/  s        r3   Útest_cursor_dummy_axisz*TestScalarFormatter.test_cursor_dummy_axis‰  s…   € ô ×$Ñ$Ó&ˆØ
×ÑÔØ
�‰×!Ñ! ! RÔ(Ø×"Ñ"ˆÙ�4‹y˜HÒ$Ð$Ð$Ø�w‰w×%Ñ%Ó'¨1Ò,Ð,Ð,Ø�w‰w×!Ñ!Ó# qÒ(Ð(Ñ(r5   c                 óÈ  — t         j                  j                  ddddœ«       t        t        j
                  «      j                  dk  rit	        j                  t        d¬«      5  t        j                  «       \  }}|j                  g d¢«       |j                  j                  «        d d d «       y t	        j                  t        d	¬«      5  t	        j                  t        d¬«      5  t        j                  «       \  }}|j                  g d¢«       |j                  j                  «        d d d «       d d d «       y # 1 sw Y   y xY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)
NÚserifÚcmr10F)úfont.familyz
font.serifr
  rh   zcmr10 font should ideallyr=   r©  z
Glyph 8722)rˆ   r<  ÚupdateÚparse_versionr@   Ú__version__rî   rS  rT  r­   r®   rÊ   ÚcanvasÚdrawr  s      r3   Útest_mathtext_ticksz'TestScalarFormatter.test_mathtext_ticks”  s  € Ü�‰×ÑØ"Ø!Ø+0ñ
ô 	ô œ×+Ñ+Ó,×2Ñ2°QÒ6Ü—‘œkÐ1LÔMñ "ÜŸ,™,›.‘��RØ—‘šjÔ)Ø—
‘
—‘Ô!÷"ð "ô
 —,‘,œ{°,Ô?ñ "Ü—,‘,œ{Ð2MÔNñ"äŸ,™,›.‘��RØ—‘šjÔ)Ø—
‘
—‘Ô!÷	"÷ "ð "÷"ð "ú÷
"ð "ú÷ "ð "ús2   Á%AE ÃEÃ*AEÄ/EÅ E	ÅE	ÅEÅE!c                 óì  — t         j                  j                  ddddœ«       |j                  t        j
                  d¬«      5  t        j                  «       \  }}|j                  ddgd	dg«       |j                  d
«       g d¢}t        j                  «       }|j                  |t        ||«      «       |j                  j                  «        |j                   rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr7  ÚcmT)r8  zmathtext.fontsetr
  zmatplotlib.mathtext)Úloggerg¸…ëQ¸ž¿r¤   r°  r  )rÊ  r¦   r‘   rÝ  )rˆ   r<  r9  Úat_levelÚloggingÚWARNINGr­   r®   Úplotr  r+   ÚLogFormatterSciNotationÚ
set_yticksÚmapr<  r=  Útext)r.   Úcaplogr´   rµ   Úyticksr   s         r3   Útest_cmr10_substitutionsz,TestScalarFormatter.test_cmr10_substitutions§  sÃ   € Ü�‰×ÑØ"Ø $Ø+/ñ
ô 	ð �_‰_œWŸ_™_Ð5Jˆ_ÓKñ 	#Ü—l‘l“n‰GˆC�Ø�G‰G�U˜D�M B¨ :Ô.Ø�M‰M˜%Ô Ú'ˆFÜ×7Ñ7Ó9ˆIØ�M‰M˜&¤# i°Ó"8Ô9Ø�J‰J�O‰OÔØ—{’{Ð"�?�{÷	#÷ 	#ñ 	#ús   ÁBC*Ã*C3c                 óh   — t        j                  «       }|j                  g «        |d«      dk(  sJ ‚y )Nr   Ú )r+   r  r  )r.   r,  s     r3   Útest_empty_locsz#TestScalarFormatter.test_empty_locs¹  s+   € Ü×$Ñ$Ó&ˆØ
�‰�BŒÙ�#‹w˜"Š}Ð‰}r5   N)rJ   rK   rL   Úoffset_dataÚuse_offset_dataÚuseMathText_dataÚscilimits_dataÚcursor_datar*  r@   rR   rS   rû  r  r  r  r  r  r(  r-  r0  r4  r>  rL  rO  r?   r5   r3   rå  rå  ð  sµ  „ ò€KðB ˜U�m€Oà˜e�}Ðò
€Nð 
ˆWˆØ	�ÐØ	�ÐØ	�ÐØ	ˆxÐð€Kò€Kð ‡[�[×ÑÐ4Ø7¸ÐGóIñóIðð ‡[�[×ÑÐ2°KÓ@ñ*ó Að*ð  ‡[�[×Ñ˜\¨?Ó;ñ(ó <ð(ð ‡[�[×Ñ˜_Ð.>Ó?ñ?ó @ð?ò
&ò(ð ‡[�[×ÑØ8¸.óJñ7óJð7ð ‡[�[×ÑÐ.°Ó<ñ1ó =ð1ð
 ‡[�[×ÑÐ-¨{Ó;ñ%ó <ð%ð ‡[�[×ÑÐ-¨{Ó;ñ)ó <ð)ò"ò&#ó$r5   rå  c                   óÂ  — e Zd Zdd ej                  dd«       ej                  dd«      g d¢fdd ej
                  dd	ej                  d
ddg«       ed«      g d¢fdd ej
                  g d¢e¬«       ed«      g d¢fgZ	dddej                  ej                  gZej                  j                  de	«      ej                  j                  de«      d„ «       «       Zd„ Zy)ÚTestLogFormatterExponentTr‘   r‚  r  )z-3z-2ró  Ú0Ú1Ú2Ú3Fr!   r¥   r  r`   r½   gñhãˆµøä¾r   )ú0.1z1e-05ú3.14z0.2z-0.2z-1e-05rÝ  )r[   r    r¶  é*   ©Údtype)rZ  Ú5Ú12Ú42rq   rÅ   r  z2labelOnlyBase, exponent, locs, positions, expectedry   c                 óF  — t        j                  ||¬«      }|j                  «        |j                  j	                  d||z  «       ||z  }t        ||«      D �	�
cg c]  \  }	}
 ||	|
«      ‘Œ }}	}
|D �cg c]  }|j                  dd«      ‘Œ }}||k(  sJ ‚y c c}
}	w c c}w )N©ry   ÚlabelOnlyBaser   ú-u   âˆ’)r+   ÚLogFormatterExponentr±  r²  r³  r  Úreplace)r.   re  ry   ÚexponentÚlocsÚ	positionsr1   r   Úvalsr×   ÚposÚlabelsÚlabels                r3   r4   z#TestLogFormatterExponent.test_basicÍ  s¢   € ô
 ×0Ñ0°dØ?LôNˆ	à×#Ñ#Ô%Ø�‰×(Ñ(¨¨D°(©NÔ;Ø�T‰zˆÜ47¸¸iÓ4H×I©¨¨C‘)˜A˜sÕ#ÐIˆÑIØFNÖO¸U�E—M‘M #Ð'7Õ8ÐOˆÐOØ˜Ò!Ð!Ñ!ùó JùÚOs   ÁBÁ5Bc                 ó¤   — t        j                  dd¬«      }|j                  «        |j                  j	                  dd«        |d«      dk(  sJ ‚y )Nr!   Trd  r   g&üøŽ$ô?rN  )r+   rg  r±  r²  r³  )r.   r   s     r3   Ú
test_blankz#TestLogFormatterExponent.test_blankÛ  sG   € ä×0Ñ0°bÈÔMˆ	Ø×#Ñ#Ô%Ø�‰×(Ñ(¨¨BÔ/Ù˜Ó! RÒ'Ð'Ñ'r5   N)rJ   rK   rL   rM   rO   rN   Úpirx  ÚfloatÚ
param_dataÚeÚ	base_datar@   rR   rS   r4   rq  r?   r5   r3   rV  rV  ¿  së   „ à	ˆq�)�"—)‘)˜B Ó$ i b§i¡i°°CÓ&8Ú	/ð	1ð 
��H�B—H‘H˜c 7¨B¯E©E°3¸¸hÐGÓHÙ	ˆq‹ÒDð	Fà	��H�B—H‘Hš^°5Ô9¹5À»8Ú	ð	!ð	€Jð �c˜4 §¡¨¯©Ð-€Ià‡[�[×ÑØ@À*óNà‡[�[×Ñ˜V YÓ/ñ	"ó 0óNð	"ó(r5   rV  c                   óz   — e Zd Z ej                  «       Zg d¢Zej                  j                  de«      d„ «       Z
y)ÚTestLogFormatterMathtext))r   r   ú$\mathdefault{10^{0}}$)r   rç   z$\mathdefault{10^{-2}}$)r   r   z$\mathdefault{10^{2}}$)r[   r   z$\mathdefault{1}$)r[   rç   z$\mathdefault{0.01}$)r[   r   z$\mathdefault{100}$)r[   r   z$\mathdefault{10^{-3}}$)r[   r  z$\mathdefault{10^{3}}$zmin_exponent, value, expectedc                 óŠ   — t        j                  d|i«      5  | j                  |«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nzaxes.formatter.min_exponent)rˆ   r‰   r/  )r.   Úmin_exponentr+  r1   s       r3   Útest_min_exponentz*TestLogFormatterMathtext.test_min_exponentð  s?   € ä�^‰^Ð:¸LÐIÓJñ 	/Ø—8‘8˜E“? hÒ.Ð.Ñ.÷	/÷ 	/ñ 	/ús	   ˜9¹AN)rJ   rK   rL   r+   ÚLogFormatterMathtextr/  Ú	test_datar@   rR   rS   r|  r?   r5   r3   rx  rx  ã  s@   „ Ø
&ˆ'×
&Ñ
&Ó
(€Cò	€Ið ‡[�[×ÑÐ<¸iÓHñ/ó Iñ/r5   rx  c                   ó”   — e Zd Zg d¢Zej
                  j                  d«      ej                  j                  de«      d„ «       «       Z
y)ÚTestLogFormatterSciNotation))r   g       ?z$\mathdefault{2^{-5}}$)r   r   z$\mathdefault{2^{0}}$)r   é    z$\mathdefault{2^{5}}$)r   g333333£?z$\mathdefault{1.2\times2^{-5}}$)r   r€   z$\mathdefault{1.2\times2^{0}}$)r   g333333C@z$\mathdefault{1.2\times2^{5}}$)r!   r   z$\mathdefault{-10^{0}}$)r!   r  z$\mathdefault{10^{-5}}$)r!   r   ry  )r!   rè  z$\mathdefault{10^{5}}$)r!   gñhãˆµøô>z$\mathdefault{2\times10^{-5}}$)r!   r   z$\mathdefault{2\times10^{0}}$)r!   i@ z$\mathdefault{2\times10^{5}}$)r!   rc  z$\mathdefault{5\times10^{-5}}$)r!   r    z$\mathdefault{5\times10^{0}}$)r!   i ¡ z$\mathdefault{5\times10^{5}}$Údefaultzbase, value, expectedc                 ó¤   — t        j                  |¬«      }t        j                  ddi«      5   ||«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrx   útext.usetexF)r+   rF  rˆ   r‰   )r.   ry   r+  r1   r   s        r3   r4   z&TestLogFormatterSciNotation.test_basic
  sM   € ô ×3Ñ3¸Ô>ˆ	Ü�^‰^˜]¨EÐ2Ó3ñ 	0Ù˜UÓ# xÒ/Ð/Ñ/÷	0÷ 	0ñ 	0ús   ®AÁAN)rJ   rK   rL   r~  rˆ   Ústylerü   r@   rR   rS   r4   r?   r5   r3   r€  r€  ö  sG   „ ò€Ið& 	‡Y�Y×Ñ�yÓ!Ø‡[�[×ÑÐ4°iÓ@ñ0ó Aó "ñ0r5   r€  c                   óz  — e Zd Zg d¢Zej
                  j                  de«      d„ «       Zej
                  j                  dg d¢«      d„ «       Zdd„Z	e
j                  j                  d«      d	„ «       Zej
                  j                  d
g d¢«      d„ «       Zej
                  j                  d
g d¢«      d„ «       Zy)ÚTestLogFormatter)„)ç}…9“x ?r   z3.142e-5)çÜæGÅ·–4?r   z3.142e-4)ç“à™¶e¼i?r   z3.142e-3)ç\, ’¿ ?r   z3.142e-2)çs7¨v/Ô?r   z3.142e-1)çPERTû!	@r   ú3.142)ç¤Öf)zj?@r   z3.142e1)ç&FàYŒ¢s@r   z3.142e2)ç°WXp/‹¨@r   z3.142e3)çœmnLû­Þ@r   z3.142e4)ç�Å½,Ar   z3.142e5)r  r   ú1e-5)r   r   ú1e-4)r   r   ú1e-3)rç   r   ú1e-2)r¥   r   rð  )r   r   rX  )r!   r   Ú10)r
   r   Ú100)r
  r   Ú1000)é'  r   Ú1e4)rè  r   Ú1e5)rˆ  rè   rW  )r‰  rè   rW  )rŠ  rè   ú0.003)r‹  rè   ú0.031)rŒ  rè   ú0.314)r�  rè   rŽ  )r�  rè   ú31.416)r�  rè   ú314.159)r‘  rè   ú3141.593)r’  rè   ú	31415.927)r“  rè   ú
314159.265)r  rè   rW  )r   rè   rW  )r   rè   ú0.001)rç   rè   ú0.01)r¥   rè   r[  )r   rè   rX  )r!   rè   r˜  )r
   rè   r™  )r
  rè   rš  )r›  rè   Ú10000)rè  rè   Ú100000)rˆ  r   rW  )r‰  r   rW  )rŠ  r   rž  )r‹  r   rŸ  )rŒ  r   r   )r�  r   rŽ  )r�  r   r¡  )r�  r   r¢  )r‘  r   r£  )r’  r   r¤  )r“  r   r¥  )r  r   rW  )r   r   rW  )r   r   r¦  )rç   r   r§  )r¥   r   r[  )r   r   rX  )r!   r   r˜  )r
   r   r™  )r
  r   rš  )r›  r   r¨  )rè  r   r©  )rˆ  r    rW  )r‰  r    rW  )rŠ  r    rW  )r‹  r    z0.03)rŒ  r    z0.31)r�  r    r\  )r�  r    z31.42)r�  r    z314.16)r‘  r    z3141.59)r’  r    z31415.93)r“  r    z	314159.27)r  r    rW  )r   r    rW  )r   r    rW  )rç   r    r§  )r¥   r    r[  )r   r    rX  )r!   r    r˜  )r
   r    r™  )r
  r    rš  )r›  r    r¨  )rè  r    r©  )rˆ  r
   rW  )r‰  r
   rW  )rŠ  r
   rW  )r‹  r
   rW  )rŒ  r
   z0.3)r�  r
   ú3.1)r�  r
   z31.4)r�  r
   z314.2)r‘  r
   z3141.6)r’  r
   z31415.9)r“  r
   z314159.3)r  r
   rW  )r   r
   rW  )r   r
   rW  )rç   r
   rW  )r¥   r
   r[  )r   r
   rX  )r!   r
   r˜  )r
   r
   r™  )r
  r
   rš  )r›  r
   r¨  )rè  r
   r©  )rˆ  r0  z3.1e-5)r‰  r0  z3.1e-4)rŠ  r0  z3.1e-3)r‹  r0  z3.1e-2)rŒ  r0  z3.1e-1)r�  r0  rª  )r�  r0  z3.1e1)r�  r0  z3.1e2)r‘  r0  z3.1e3)r’  r0  z3.1e4)r“  r0  z3.1e5)r  r0  r”  )r   r0  r•  )r   r0  r–  )rç   r0  r—  )r¥   r0  rð  )r   r0  rX  )r!   r0  r˜  )r
   r0  r™  )r
  r0  rš  )r›  r0  rœ  )rè  r0  r�  zvalue, domain, expectedc                 ó^   — t        j                  «       }|j                  ||«      }||k(  sJ ‚y ©N)r+   ÚLogFormatterÚ_pprint_val)r.   r+  Údomainr1   r/  ro  s         r3   Útest_pprintzTestLogFormatter.test_pprintš  s.   € ä×"Ñ"Ó$ˆØ—‘  vÓ.ˆØ˜Ò Ð Ñ r5   zvalue, long, short))r   rW  rW  )r   rW  rW  )rÁ   z-10^0ró  )g»½×Ùß|ë=z2x10^-10z2e-10)g    _ Bz10^10z1e+10c                 óà   — t        j                  «       \  }}|j                  d«       |j                  j	                  «       }|j                  |«      |k(  sJ ‚|j                  |«      |k(  sJ ‚y )Nr  )r­   r®   Ú
set_xscaler±   r÷  r*  rø  )r.   r+  ÚlongÚshortr´   rµ   r/  s          r3   r-  z!TestLogFormatter.test_format_data   sa   € ô —,‘,“.‰ˆˆRØ
�‰�eÔØ�h‰h×*Ñ*Ó,ˆØ�‰˜uÓ%¨Ò-Ð-Ð-Ø×$Ñ$ UÓ+¨uÒ4Ð4Ñ4r5   c                 óH  — |j                  «       }|j                  «       }|j                  |«       |dt        j                  t        j
                  |«      «      z  z  }|D �cg c]  }t        |«      |v ‘Œ }}|D �cg c]  } ||«      dk7  ‘Œ }	}|	|k(  sJ ‚yc c}w c c}w )z.Test whether locator marks subs to be labeled.r!   rN  N)Úget_minor_formatterrÌ   r  rM   rv  rw  Úround)
r.   r²  r  r/  Úminor_tlocsÚcoefsÚcÚlabel_expectedr×   Ú
label_tests
             r3   Ú_sub_labelszTestLogFormatter._sub_labels®  s˜   € à×&Ñ&Ó(ˆØ×,Ñ,Ó.ˆØ�‰�[Ô!Ø˜b¤2§8¡8¬B¯H©H°[Ó,AÓ#BÑCÑCˆØ49Ö:¨qœ% ›( dÒ*Ð:ˆÐ:Ø,7Ö8 q‘c˜!“f “lÐ8ˆ
Ð8Ø˜^Ò+Ð+Ñ+ùò ;ùÚ8s   Á$BÁ>Br‚  c           	      ó$  — t        j                  «       \  }}|j                  d«       |j                  j	                  t        j                  dg ¬«      «       |j                  j                  t        j                  dt        j                  dd«      ¬«      «       |j                  j                  t        j                  d¬«      «       |j                  j                  t        j                  d¬«      «       |j                  dd	«       |j                  j                  «       }|j                  |j                  j!                  «       «       |j                  j!                  «       D �cg c]  } ||«      d
k7  ‘Œ }}t        j"                  |«      sJ ‚| j%                  |j                  g ¬«       |j                  dd«       | j%                  |j                  g ¬«       |j                  dd«       | j%                  |j                  g ¬«       |j                  dd«       | j%                  |j                  g d¢¬«       |j                  dd«       | j%                  |j                  t        j                  ddt&        ¬«      ¬«       y c c}w )Nr  r!   )ry   r  r   T)re  Fr   r+  rN  r  i   éP   rh   )r   r[   r‘   r   r   r©   r^  )r­   r®   r²  r±   rÿ   r+   r  rÆ   rM   rO   r!  r­  Úset_minor_formatterr¯   r÷  r  r"  rG   r½  ru  )r.   r´   rµ   r/  r×   Úshow_major_labelss         r3   Útest_sublabelzTestLogFormatter.test_sublabel¸  sñ  € ô —,‘,“.‰ˆˆRØ
�‰�eÔØ
�‰×"Ñ"¤7×#5Ñ#5¸2ÀBÔ#GÔHØ
�‰×"Ñ"¤7×#5Ñ#5¸2Ü;=¿9¹9ÀQÈÓ;Kô$Mô 	Nà
�‰×$Ñ$¤W×%9Ñ%9ÈÔ%MÔNØ
�‰×$Ñ$¤W×%9Ñ%9ÈÔ%NÔOà
�‰�A�sÔØ�h‰h×*Ñ*Ó,ˆØ�‰�R—X‘X×/Ñ/Ó1Ô2à&(§h¡h×&@Ñ&@Ó&BöDØ!"ñ ! ›V r›\ð DÐð Dä�v‰vÐ'Ô(Ð(Ð(Ø×Ñ˜Ÿ™¨ÐÔ+ð 	�‰�A�sÔØ×Ñ˜Ÿ™¨ÐÔ+ð 	�‰�A�rÔØ×Ñ˜Ÿ™¨ÐÔ+ð 	�‰�A�qÔØ×Ñ˜Ÿ™ªÐÔ5ð 	�‰�C˜ÔØ×Ñ˜Ÿ™¬¯	©	°!°R¼sÔ(CÐÕDùò-Ds   Å,JÚval)r   r!   r
   r
  c                 ó°   — t        j                  «       }|j                  «        |j                  j	                  dd«        ||«      t        |«      k(  sJ ‚y ©Nr   r!   )r+   r­  r±  r²  r³  Ústr©r.   rÃ  Útemp_lfs      r3   Útest_LogFormatter_callz'TestLogFormatter.test_LogFormatter_callÞ  sH   € ô ×&Ñ&Ó(ˆØ×!Ñ!Ô#Ø�‰×&Ñ& q¨"Ô-Ù�s‹|œs 3›xÒ'Ð'Ñ'r5   )g       g       g       g       c                 ó”   — t        j                  «       }|j                  «        |j                  j	                  dd«        ||«       y rÅ  )r+   r­  r±  r²  r³  rÇ  s      r3   Útest_LogFormatter_call_tinyz,TestLogFormatter.test_LogFormatter_call_tinyæ  s9   € ô ×&Ñ&Ó(ˆØ×!Ñ!Ô#Ø�‰×&Ñ& q¨"Ô-Ù��r5   N)r?   )rJ   rK   rL   Úpprint_datar@   rR   rS   r°  r-  r½  rˆ   r…  rü   rÂ  rÉ  rË  r?   r5   r3   r‡  r‡    sÕ   „ òE€KðN ‡[�[×ÑÐ6¸ÓDñ!ó Eð!ð
 ‡[�[×ÑÐ1ò 4ó ñ5óð5ó,ð 	‡Y�Y×Ñ�yÓ!ñ#Eó "ð#EðJ ‡[�[×Ñ˜UÒ$6Ó7ñ(ó 8ð(ð ‡[�[×Ñ˜UÒ$FÓGñó Hñr5   r‡  c                   óÌ  — e Zd Zed„ «       Zej                  j                  dg d¢«      d„ «       Z e	 e
dd«      D � �cg c]  }d| z  ‘Œ
 c}}  e
dd«      D � �cg c]  }dd| z  z
  ‘Œ c}} z   dgz   «      Zej                  j                  de«      d	„ «       Zej                  j                  dd
«      d„ «       Zej                  j                  ddd ej                   ej                   ddd«       «      z   z  «      d„ «       Zg d¢Zej                  j                  de«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  dd«      d„ «       Zyc c}} w c c}} w )ÚTestLogitFormatterc                 óR  — t        j                  d| «      }|rL|d   du}|d   rt        |d   «      nd}|d   �t        |d   «      nd}|d|z  z  }|d   s|d   �	|rd|z
  S |S t        j                  d	| «      }|r!t        |d
   «      t        |d   «      }}||z  S t	        d«      ‚)z¯
        Parser to convert string as r'$\mathdefault{1.41\cdot10^{-4}}$' in
        float 1.41e-4, as '0.5' or as r'$\mathdefault{\frac{1}{2}}$' in float
        0.5,
        zT[^\d]*(?P<comp>1-)?(?P<mant>\d*\.?\d*)?(?:\\cdot)?(?:10\^\{(?P<expo>-?\d*)})?[^\d]*$ÚcompNÚmantr   Úexpor   r!   z4[^\d]*\\frac\{(?P<num>\d+)\}\{(?P<deno>\d+)\}[^\d]*$ÚnumÚdenozNot formatted by LogitFormatter)rU   r>   rs  ru  rW   )Ústringr>   rÐ  ÚmantissarÒ  r+  rÓ  rÔ  s           r3   Úlogit_deformatterz$TestLogitFormatter.logit_deformatterð  s×   € ô —‘ðð ó
ˆñ Ø˜‘=¨Ð,ˆDØ/4°Vª}”u˜U 6™]Ô+À!ˆHØ).¨v©Ð)B”3�u˜V‘}Ô%ÈˆDØ˜r T™zÑ)ˆEØ�VŠ}  f¡Ð 9ÙØ˜u™9Ð$Ø�Ü—‘ØCÀVó
ˆñ Ü˜e E™lÓ+¬U°5¸±=Ó-A�ˆCØ˜‘:ÐÜÐ:Ó;Ð;r5   zfx, x))zSTUFF0.41OTHERSTUFFg=
×£p=Ú?)zSTUFF1.41\cdot10^{-2}OTHERSTUFFgÿ!ýöuàŒ?)zSTUFF1-0.41OTHERSTUFFgâz®Gáâ?)z!STUFF1-1.41\cdot10^{-2}OTHERSTUFFgx$(~Œï?)ÚSTUFFN)zSTUFF12.4e-3OTHERSTUFFNc                 óê   — |€8t        j                  t        «      5  t        j	                  |«       d d d «       y t        j	                  |«      }t
        j                  ||«      sJ ‚y # 1 sw Y   y xY wr¬  )r@   rA   rW   rÎ  r×  rW  rY  )r.   Úfxr×   rì   s       r3   Útest_logit_deformaterz(TestLogitFormatter.test_logit_deformater  se   € ð ˆ9Ü—‘œzÓ*ñ 9Ü"×4Ñ4°RÔ8÷9ð 9ô #×4Ñ4°RÓ8ˆAÜ×'Ñ'¨¨1Ô-Ð-Ñ-÷	9ð 9ús   œA)Á)A2r   r!   r   r×   c                 óÐ   — t        j                  d¬«      }|j                  | j                  «        ||«      }t        j                  |«      }t        j                  ||«      sJ ‚y)zj
        Test the formatted value correspond to the value for ideal ticks in
        logit space.
        F©Úuse_overlineN)r+   ÚLogitFormatterr  Údecade_testrÎ  r×  rW  rY  )r.   r×   r   ÚsÚx2s        r3   r4   zTestLogitFormatter.test_basic*  sW   € ô ×*Ñ*¸Ô>ˆ	Ø×Ñ˜4×+Ñ+Ô,Ù�a‹LˆÜ×1Ñ1°!Ó4ˆÜ×#Ñ# A rÔ*Ð*Ñ*r5   )r   rÂ   r   r   r   r   c                 ó„   — t        j                  d¬«      }|j                  | j                  «        ||«      }|dk(  sJ ‚y)zl
        Test that invalid value are formatted with empty string without
        raising exception.
        FrÝ  rN  N)r+   rß  r  rà  )r.   r×   r   rá  s       r3   Útest_invalidzTestLogitFormatter.test_invalid6  s<   € ô ×*Ñ*¸Ô>ˆ	Ø×Ñ˜4×+Ñ+Ô,Ù�a‹LˆØ�BŠwˆ‰wr5   r|   r!  c                 ó>  — t        j                  d¬«      }dD ]‚  }|d|z  z   dk  sŒ|j                  |d|z  z
  ||d|z  z   g«        ||«      } ||d|z  z   «      }t        j	                  |«      t        j	                  |«      z
  }d|cxk  r
d|z  k  rŒJ ‚ J ‚ y)zS
        The format length should change depending on the neighbor labels.
        FrÝ  )	r!   r	   rÝ  r
   éÈ   r
  iÐ  iˆ  r›  r   r   r   N)r+   rß  r  rÎ  r×  )r.   r×   r   ÚNÚsxÚsx1Úds          r3   Útest_variablelengthz&TestLogitFormatter.test_variablelengthA  s³   € ô
 ×*Ñ*¸Ô>ˆ	Ø@ò 		%ˆAØ�1�q‘5‰y˜1‹}Ø×"Ñ" A¨¨A©¡I¨q°!°a¸!±e±)Ð#<Ô=Ù˜q“\�Ù  A¨¡E¡	Ó*�ä&×8Ñ8¸Ó=Ü(×:Ñ:¸2Ó>ñ?ð ð ˜1”}˜q 1™u“}Ð$‘}Ð$�}ñ		%r5   ))Trd  )©rß  F)éK   F)Trb  )rì  ©rí  T)Tra  )©rß  Trî  )F)r   gR¸…ëQè?g¤p=
×£è?))r!  Trï  rî  zmethod, lims, casesc                 óª  — |r&t        j                  d¬«      } |j                  |Ž }nt        j                  |«      }t        j
                  d¬«      }|D ]v  \  }}|j                  |«       |j                  |«      }	|	D �
cg c]  }
t        |
«      dkD  sŒ|
‘Œ }}
|rt        |«      dkD  rŒWJ ||f«       ‚t        |«      dk(  rŒoJ ||f«       ‚ yc c}
w )z,
        Test minor/major displays.
        Tr«   r   N)	r+   rh  r-   rM   rN   rß  Úset_minor_thresholdÚformat_ticksrË   )r.   Úmethodri  ÚcasesÚmin_locrq  Úmin_formÚ	thresholdÚ	has_minorÚ	formattedÚfÚlabelleds               r3   Útest_minor_vs_majorz&TestLogitFormatter.test_minor_vs_majorY  s×   € ñ Ü×*Ñ*°Ô6ˆGØ'�G×'Ñ'¨Ð.‰Eä—H‘H˜T“NˆEÜ×)Ñ)°Ô5ˆØ$)ò 	BÑ ˆI�yØ×(Ñ(¨Ô3Ø ×-Ñ-¨eÓ4ˆIØ#,Ö;˜a´°A³¸³
šÐ;ˆHÐ;ÙÜ˜8“} qÓ(Ð@¨9°iÐ*@Ó@Ð(ä˜8“}¨Ó)ÐA¨I°yÐ+AÓAÐ)ñ	Bùò <s   ÂCÂCc                 ó8  — t        j                  d¬«      }t        j                  d¬«      }|j                  dd«      }dD ]R  }|j	                  |«       |j                  |«      }|D �cg c]  }t        |«      dkD  sŒ|‘Œ }}t        |«      |k(  rŒRJ ‚ yc c}w )z1
        Test the parameter minor_number
        Tr«   r¤   r   )r   r‘   rh   rn  r   N)r+   rh  rß  r-   Úset_minor_numberrò  rË   )r.   rõ  rö  rq  Úminor_numberrù  rú  rû  s           r3   Útest_minor_numberz$TestLogitFormatter.test_minor_numbern  s—   € ô ×&Ñ&¨TÔ2ˆÜ×)Ñ)°Ô5ˆØ×#Ñ# D¨(Ó3ˆØ)ò 	1ˆLØ×%Ñ% lÔ3Ø ×-Ñ-¨eÓ4ˆIØ#,Ö;˜a´°A³¸³
šÐ;ˆHÐ;Ü�x“= LÓ0Ð0Ð0ñ		1ùò <s   Á*BÁ>Bc                 óÎ   — d}d}d}t        j                  d¬«      } ||«      |k(  sJ ‚|j                  d«        ||«      |k(  sJ ‚|j                  d«        ||«      |k(  sJ ‚y)z1
        Test the parameter use_overline
        rë  z$\mathdefault{1-10^{-2}}$z"$\mathdefault{\overline{10^{-2}}}$FrÝ  TN)r+   rß  rÞ  )r.   r×   Úfx1Úfx2Úforms        r3   Útest_use_overlinez$TestLogitFormatter.test_use_overline{  so   € ð ˆØ*ˆØ3ˆÜ×%Ñ%°5Ô9ˆÙ�A‹w˜#Š~Ðˆ~Ø×Ñ˜$ÔÙ�A‹w˜#Š~Ðˆ~Ø×Ñ˜%Ô Ù�A‹w˜#Š~Ð‰~r5   c                 ó¸   — t        j                  «       }d |d«      v sJ ‚|j                  d«       d |d«      v sJ ‚|j                  d«       d |d«      v sJ ‚y)z-
        Test the parameter one_half
        z\frac{1}{2}r   z1/2zone halfN)r+   rß  Úset_one_half)r.   r  s     r3   Útest_one_halfz TestLogitFormatter.test_one_half‰  sd   € ô ×%Ñ%Ó'ˆØ¡ c£Ñ*Ð*Ð*Ø×Ñ˜%Ô Ø™˜S›	Ñ!Ð!Ð!Ø×Ñ˜*Ô%Ø™T #›YÑ&Ð&Ñ&r5   rç  )r
   éý   iò  c                 ó  — t        j                  dd|«      dd }t        j                  «       }|D ]W  }|j	                  |«      }|j                  d«      rdt        |dd  «      z
  }nt        |«      }t        ||z
  «      d|z  k  rŒWJ ‚ y )Nr   r   r   z1-r   )rM   rr   r+   rß  rø  Ú
startswithrs  Úabs)r.   rç  rj  r  r×   rÚ  râ  s          r3   Útest_format_data_shortz)TestLogitFormatter.test_format_data_short”  s‹   € ä�{‰{˜1˜a Ó# A bÐ)ˆÜ×%Ñ%Ó'ˆØò 	'ˆAØ×'Ñ'¨Ó*ˆBØ�}‰}˜TÔ"Øœ˜r ! "˜v›Ñ&‘ä˜2“Y�Ü�q˜2‘v“;  Q¡Ó&Ð&Ð&ñ	'r5   N)rJ   rK   rL   r^  r×  r@   rR   rS   rÛ  rg  rx  rà  r4   rä  rM   Úexprr   rë  Úlims_minor_majorrü  r   r  r  r  )r“  Úis   00r3   rÎ  rÎ  ï  s›  „ Øñ<ó ð<ð@ ‡[�[×ÑØò	
ó
ñ.ó
ð.ñ Ù" 1 b›\×*˜ˆ��‹Ó*Ù#(¨¨B£<×
0˜aˆ1ˆr�q�b‰z‹>Ó
0ñ	1àˆ'ñ	ó€Kð ‡[�[×Ñ˜S +Ó.ñ	+ó /ð	+ð ‡[�[×Ñ˜SÐ"?Ó@ñó Aðð ‡[�[×Ñ˜S ! q¨6¨2¯6©6°;°2·;±;¸rÀ1ÀbÓ3IÐ2IÓ+JÑ'JÑ"KÓLñ%ó Mð%ò Ðð ‡[�[×ÑÐ2Ð4DÓEñBó FðBò(1òò	'ð ‡[�[×Ñ˜S /Ó2ñ	'ó 3ñ	'ùóa 	+ùÛ
0s   ¿E
ÁE rÎ  c                   ó   — e Zd Zd„ Zy)ÚTestFormatStrFormatterc                 óH   — t        j                  d«      }d |d«      k(  sJ ‚y )Nz%05dÚ00002r   )r+   ÚFormatStrFormatterr  s     r3   r4   z!TestFormatStrFormatter.test_basic¢  s$   € ä×-Ñ-¨fÓ5ˆØ™( 1›+Ò%Ð%Ñ%r5   N)rJ   rK   rL   r4   r?   r5   r3   r  r  ¡  s   „ ó&r5   r  c                   óX   — e Zd Zg d¢Zej
                  j                  de«      d„ «       Zy)ÚTestStrMethodFormatter))ú{x:05d}©r   Fr  )r  r  Tr  )r  ©r¯  Fz-0002)r  r  Tu   âˆ’0002)ú{x:03d}-{pos:02d}©r   r   Fú002-01)r  r  Tr  )r  ©r¯  r   Fz-02-01)r  r  Tu   âˆ’02-01z&format, input, unicode_minus, expectedc                 óœ   — t        j                  d|i«      5  t        j                  |«      } ||Ž |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrõ  )rˆ   r‰   r+   ÚStrMethodFormatter)r.   ÚformatÚinputrú  r1   r/  s         r3   r4   z!TestStrMethodFormatter.test_basic´  sK   € ä�^‰^Ð1°=ÐAÓBñ 	+Ü×,Ñ,¨VÓ4ˆCÙ˜�; (Ò*Ð*Ñ*÷	+÷ 	+ñ 	+ús   ˜ AÁAN)rJ   rK   rL   r~  r@   rR   rS   r4   r?   r5   r3   r  r  ¨  s0   „ ò	€Ið ‡[�[×ÑÐEÀyÓQñ+ó Rñ+r5   r  c                   óX   — e Zd Zg d¢Zej
                  j                  de«      d„ «       Zy)ÚTestEngFormatter))FççÆô„EJ“À)z
-1.23457 kú-1 kz-1.23 k)Tr%  )u   âˆ’1.23457 kõ   âˆ’1 ku	   âˆ’1.23 k)FçÞƒBÊÀó¿)z-1.23457ró  z-1.23)Tr(  )u
   âˆ’1.23457rò  u   âˆ’1.23)Fç_c97Ýš¿¿)z
-123.457 mz-123 mz	-123.46 m)Tr)  )u   âˆ’123.457 mu   âˆ’123 mu   âˆ’123.46 m)FçQ^•-':T¿)z
-1.23457 mz-1 mz-1.23 m)Tr*  )u   âˆ’1.23457 mu   âˆ’1 mu	   âˆ’1.23 m)Tg       €©rW  rW  z0.00©Tr   r+  r,  )Tg›áÀm¶´>)u
   1.23457 Âµu   1 Âµu   1.23 Âµ)Tg_c97Ýš¿?)z	123.457 mz123 mz123.46 m)Tr¥   )ú100 mr-  z100.00 m)Tr   )rX  rX  z1.00)TgÞƒBÊÀó?)z1.23457rX  z1.23)Tg33333?�@)z999.9ú1 kz999.90)Tg*:’Ëÿ?�@©r.  r.  ú1.00 k)Fç*:’Ëÿ?�À)r&  r&  z-1.00 k)Tr1  )r'  r'  u	   âˆ’1.00 k)Tr
  r/  )Tié  )z1.001 kr.  r0  )Ti¡† )z	100.001 kz100 kz100.00 k)Tg¬Z¤$.A)z	987.654 kz988 kz987.65 k)TgCY¸,dRÎF)ú1230 Qr2  z	1230.00 Qzunicode_minus, input, expectedc                 ó°  ‡‡	‡
— |t         j                  d<   dŠ	dŠ|}t        j                  «       t        j                  d¬«      t        j                  d¬«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ ˆˆ	fd„|D «       }t        j                  ‰	¬«      t        j                  ‰	d¬	«      t        j                  ‰	d¬	«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ d
D ]å  Š
ˆˆ	ˆ
fd„|D «       }t        j                  ‰	‰
¬«      t        j                  ‰	d‰
¬«      t        j                  ‰	d‰
¬«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ ˆ
fd„|D «       }t        j                  ‰
¬«      t        j                  d‰
¬«      t        j                  d‰
¬«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ Œç y)aá  
        Test the formatting of EngFormatter for various values of the 'places'
        argument, in several cases:

        0. without a unit symbol but with a (default) space separator;
        1. with both a unit symbol and a (default) space separator;
        2. with both a unit symbol and some non default separators;
        3. without a unit symbol but with some non default separators.

        Note that cases 2. and 3. are looped over several separator strings.
        rõ  rá  Ú
0123456789r   )Úplacesr   c              3   óF   •K  — | ]  }|d    ‰v r|dz   ‰z   n|‰z   –— Œ y­w©r   ú Nr?   )r“  Ú_sÚDIGITSÚUNITs     €€r3   ú	<genexpr>z/TestEngFormatter.test_params.<locals>.<genexpr>  s8   øè ø€ ò :Ø*,ð +-¨R©&°FÑ*:�r˜C‘x $’Ø ™Ió&ñ :ùs   ƒ!)Úunit)r=  r5  )rN  u   â€¯z@_@c              3   óf   •K  — | ](  }|d    ‰v r|‰z   ‰z   n|j                  d‰«      ‰z   –— Œ* y­wr7  ©rh  )r“  r9  r:  r;  Ú_seps     €€€r3   r<  z/TestEngFormatter.test_params.<locals>.<genexpr>  sE   øè ø€ ò /à!ð 02°"©v¸Ñ/?˜2 ™9 tÒ+Ø "§
¡
¨3°Ó 5¸Ñ <ó=ñ /ùs   ƒ.1)r=  r  )r=  r5  r  c              3   óB   •K  — | ]  }|j                  d ‰«      –— Œ y­w)r8  Nr?  )r“  r9  r@  s     €r3   r<  z/TestEngFormatter.test_params.<locals>.<genexpr>"  s   øè ø€ ÒD°R˜2Ÿ:™: c¨4×0ÑDùs   ƒ)r  )r5  r  N)r­   r<  r+   ÚEngFormatterr  )r.   rú  r"  r1   Úexp_outputsÚ
formattersÚ
_formatterÚ_exp_outputr:  r;  r@  s           @@@r3   Útest_paramszTestEngFormatter.test_paramsä  sù  ú€ ð .;Œ�‰Ð)Ñ*ØˆØˆð ˆä× Ñ Ó"Ü× Ñ ¨Ô*Ü× Ñ ¨Ô*ð
ˆ
ô
 (+¨:°{Ó'Cò 	4Ñ#ˆJ˜Ù˜eÓ$¨Ó3Ð3Ð3ð	4ô:Ø08ô:ˆô × Ñ  dÔ+Ü× Ñ  d°1Ô5Ü× Ñ  d°1Ô5ð
ˆ
ô
 (+¨:°{Ó'Cò 	4Ñ#ˆJ˜Ù˜eÓ$¨Ó3Ð3Ð3ð	4ð
 =ò 	8ˆDõ/à%-ô/ˆKô ×$Ñ$¨$°DÔ9Ü×$Ñ$¨$°q¸dÔCÜ×$Ñ$¨$°q¸dÔCðˆJô
 ,/¨z¸;Ó+Gò 8Ñ'�
˜KÙ! %Ó(¨KÓ7Ð7Ð7ð8ó E¸8ÔDˆKä×$Ñ$¨Ô.Ü×$Ñ$¨A°4Ô8Ü×$Ñ$¨A°4Ô8ðˆJô
 ,/¨z¸;Ó+Gò 8Ñ'�
˜KÙ! %Ó(¨KÓ7Ð7Ð7ñ8ñ1	8r5   N)rJ   rK   rL   Úraw_format_datar@   rR   rS   rG  r?   r5   r3   r$  r$  »  s3   „ ò#€OðJ ‡[�[×ÑÐ=¸ÓOñD8ó PñD8r5   r$  c                  óÂ  — t        j                  «       \  } }|j                  g d¢g d¢«       |j                  g d¢«       t	        j
                  d¬«      t	        j
                  d¬«      fD ]k  }|j                  j                  |«       | j                  j                  «        |j                  «       D �cg c]  }|j                  «       ‘Œ }}|g d¢k(  rŒkJ ‚ y c c}w )N)r   rÞ  r
  T)Úusetex)ÚuseMathText)z$0$z$500$z$1$ k)r­   r®   rE  rÊ   r+   rB  r±   r!  r<  r=  Úget_xticklabelsÚget_text)r´   rµ   r   ÚlablÚx_tick_label_texts        r3   Ú$test_engformatter_usetex_useMathTextrP  ,  s²   € Ü�l‰l‹n�G€CˆØ‡G�GŠNšNÔ+Ø‡M�M’.Ô!Ü×*Ñ*°$Ô7Ü×*Ñ*°tÔ<ð>ò >ˆ	à
�‰×$Ñ$ YÔ/Ø�
‰
�‰ÔØ9;×9KÑ9KÓ9MÖN°˜TŸ]™]�_ÐNÐÐNð !Ò$=Ó=Ð=Ð=ñ>ùò Os   Â7Cz9data_offset, noise, oom_center_desired, oom_noise_desired))g  @R›OBr!   re  r   )g  B€±¸Bi€–˜ r¶  r   )ç /Ý$&;@rç   r   r‚  )gÍÌÌÌÌ5¥@rç   r[   r‚  )g    ’Ar   r[   r‚  )ç¤p=
×÷p@r   r   r‚  )g   uÓHBr
   re  r[   )rQ  gH¯¼šò×z>r   iúÿÿÿ)rR  r   r   r‚  )rQ  r   r   r‚  )g    @ƒÚ@r›  r   r[   )rQ  r›  r   r[   )rQ  r
  r   r[   )rQ  r
   r   r   )rQ  r!   r   r   c                 ó  — d}t        j                  «       \  }}| t        j                  ddt        ¬«      |z  z   }|j                  |«       t        j                  d|¬«      }d|j                  d<   |j                  j                  |«       |j                  j                  «        |j                  «       }	|j                  «       D �
cg c]  }
|
j                  «       ‘Œ }}
|j                   rP|	d	   }|j                  |   }|	d
t#        |«      z
     }|j                  |   }||k(  sJ ‚||k(  sJ ‚|D ]  }||vrŒJ ‚ y |dk(  sJ ‚|	dk(  sJ ‚|D ]1  }|d   dk(  rdn|}|j%                  |j                  |   |z   «      rŒ1J ‚ y c c}
w )NÚeVr   r!  r^  T)Ú	useOffsetr=  Ú_r   r   r   rN  rW  )r­   r®   rM   rO   rs  rE  r+   rB  ÚENG_PREFIXESró   r!  r<  r=  Ú
get_offsetÚget_yticklabelsrM  r‚   rË   Úendswith)Údata_offsetÚnoiseÚoom_center_desiredÚoom_noise_desiredr;  r´   rµ   Úydatar   Ú
offset_gotrN  Ú	ticks_gotÚprefix_noise_gotÚprefix_noise_desiredÚprefix_center_gotÚprefix_center_desiredÚtickÚ
prefix_idxs                     r3   Útest_engformatter_offset_oomrh  :  s£  € ð< €DÜ�l‰l‹n�G€CˆØœ"Ÿ)™) B¨´Ô7¸Ñ=Ñ=€EØ‡G�GˆE„NÜ×$Ñ$¨t¸$Ô?€Ià #€I×Ñ˜1ÑØ‡H�H× Ñ  Ô+Ø‡J�J‡O�OÔØ×%Ñ%Ó'€JØ-/×-?Ñ-?Ó-AÖB T�—‘•ÐB€IÐBð ×ÒØ% a™=ÐØ(×5Ñ5Ð6GÑHÐØ& r¬#¨d«)¡|Ñ4ÐØ )× 6Ñ 6Ð7IÑ JÐØ#Ð'7Ò7Ð7Ð7Ø$Ð(9Ò9Ð9Ð9àò 	$ˆDØ˜tÒ#Ð#Ð#ñ	$ð " QÒ&Ð&Ð&Ø˜RÒÐÐàò 	LˆDð # 1™g¨šn™Ð2CˆJØ—=‘= ×!7Ñ!7¸
Ñ!CÀdÑ!JÕKÐKÐKñ		Lùò) Cs   Ã
Fc                   ó°   — e Zd Zg d¢Zg d¢Zg d¢Zej                  j                  dee¬«      d„ «       Z	ej                  j                  de«      d„ «       Z
y	)
ÚTestPercentFormatter))r
   r   ú%rî  r
   z120%)r
   r   rk  r
   éZ   z100%)r
   r   rk  rl  rÝ  z90%)r
   r   rk  rº   r°  z-2%)r
   r   rk  g     €V@r
   z90.0%)r
   r   rk  gfffffT@rl  z80.1%)r
   r   rk  g…ëQ¸ŽQ@rÝ  z70.2%)r
   r   rk  gôýÔxéFNÀr°  z-60.6%)r
   Nrk  é_   r   z95.00%)r   Nrk  r[   r   z300%)ç      1@Nrk  r   g      !@z6%)rn  Nrk  r   gÍÌÌÌÌÌ @z5.9%)r    Nrk  r·  g�íµ ÷Æ°>z-2000.00000%)r   r   Nr€   r
   z120.00)rí  r[   rN  rÝ  r
   z66.667)r]  Nz
^^Foobar$$é   r¶  z50.0^^Foobar$$)zdecimals=0, x>100%zdecimals=0, x=100%zdecimals=0, x<100%zdecimals=0, x<0%zdecimals=1, x>100%zdecimals=1, x=100%zdecimals=1, x<100%zdecimals=1, x<0%z$autodecimal, x<100%, display_range=1z7autodecimal, x>100%, display_range=6 (custom xmax test)z;autodecimal, x<100%, display_range=8.5 (autodecimal test 1)z;autodecimal, x<100%, display_range=8.4 (autodecimal test 2)z=autodecimal, x<-100%, display_range=1e-6 (tiny display range)zNone as percent symbolzEmpty percent symbolzCustom percent symbol))FFú50\{t}%)FTz50\\\{t\}\%)TFrp  )TTrp  z2xmax, decimals, symbol, x, display_range, expected)Úidsc                 ó¼   — t        j                  |||«      }t        j                  ddi¬«      5  |j	                  ||«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr„  F©Úrc©r+   ÚPercentFormatterrˆ   r‰   Ú
format_pct)r.   ÚxmaxÚdecimalsÚsymbolr×   Údisplay_ranger1   r   s           r3   r4   zTestPercentFormatter.test_basic²  s]   € ô
 ×,Ñ,¨T°8¸VÓDˆ	Ü�^‰^ ¨uÐ5Ô6ñ 	FØ×'Ñ'¨¨=Ó9¸XÒEÐEÑE÷	F÷ 	Fñ 	Fúó   °AÁAzis_latex, usetex, expectedc                 ó¼   — t        j                  d|¬«      }t        j                  d|i¬«      5  |j	                  dd«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nz\{t}%)rz  Úis_latexr„  rs  rÝ  r
   ru  )r.   r~  rJ  r1   r/  s        r3   Ú
test_latexzTestPercentFormatter.test_latex»  sS   € ä×&Ñ&¨hÀÔJˆÜ�^‰^ ¨vÐ6Ô7ñ 	7Ø—>‘> " cÓ*¨hÒ6Ð6Ñ6÷	7÷ 	7ñ 	7úr|  N)rJ   rK   rL   Úpercent_dataÚpercent_idsÚ
latex_datar@   rR   rS   r4   r  r?   r5   r3   rj  rj  }  sp   „ ò€Lò.€Kò,€Jð ‡[�[×ÑØ@Ø˜kð ó +ñFó+ðFð ‡[�[×ÑÐ9¸:ÓFñ7ó Gñ7r5   rj  c                  ó”  — 	 t        j                  t         j                  d«       t        j                  dd¬«      } d}| j                  |d«      }|dk(  sJ ‚d}| j                  |d«      }|d	k(  sJ ‚t        j                  d
d¬«      } d}| j                  |d«      }|dk(  sJ ‚y # t         j                  $ r t	        d«       Y y w xY w)Nzde_DE.UTF-8z9SKIP: Locale de_DE.UTF-8 is not supported on this machineT)rK  Ú	useLocalez$\mathdefault{%1.1f}$r   z$\mathdefault{0{,}5}$z,$\mathdefault{,%1.1f},$z,$\mathdefault{,0{,}5},$Fz%1.1fz0,5)r  Ú	setlocaleÚLC_ALLÚErrorÚprintr+   r  Ú_format_maybe_minus_and_locale)rq  r/  r×   s      r3   Ú_impl_locale_commarŠ  Â  sÑ   € ðÜ×ÑœŸ™¨Ô6ô ×#Ñ#°ÀÔE€EØ
"€CØ×,Ñ,¨S°#Ó6€AØÐ(Ò(Ð(Ð(à
%€CØ×,Ñ,¨S°#Ó6€AØÐ+Ò+Ð+Ð+ä×#Ñ#°ÀÔF€EØ
€CØ×,Ñ,¨S°#Ó6€AØ�Š:Ð‰:øô �<‰<ò ÜÐIÔJÙðús   ‚$B& Â&CÃCc                  óÚ   — t         j                  j                  t        dddi¬«      } t	        d„ | j
                  j                  «       D «       d«      }|rt        j                  |«       y y )Nr%   Ú
MPLBACKENDÚAgg)ÚtimeoutÚ	extra_envc              3   óv   K  — | ]1  }|j                  d «      r|t        d «      d j                  «       –— Œ3 y­w)zSKIP:N)r  rË   rù  )r“  Úlines     r3   r<  z$test_locale_comma.<locals>.<genexpr>ß  s8   è ø€ ò 2ØØŸ™¨Ô0ð œ#˜g›,˜-Ð(×.Ñ.×0ñ 2ùs   ‚79rN  )	rˆ   rÔ   Úsubprocess_run_helperrŠ  ÚnextÚstdoutÚ
splitlinesr@   r  )ÚprocÚskip_msgs     r3   Útest_locale_commar˜  ×  sj   € ô �;‰;×,Ñ,Ô-?ÈØ8DÀeÐ7Lð -ó N€Däñ 2Ø!%§¡×!7Ñ!7Ó!9ô2ð ó€Hñ Ü�‰�HÕð r5   c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr¬  )	r­   r®   r@   rA   rT   r±   r!  r+   r  ©r´   rµ   s     r3   Útest_majformatter_typer›  ç  óM   € Ü�l‰l‹n�G€CˆÜ	�‰”yÓ	!ñ ;Ø
�‰×$Ñ$¤W×%7Ñ%7Ó%9Ô:÷;÷ ;ñ ;úó   ±.A(Á(A1c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr¬  )	r­   r®   r@   rA   rT   r±   rÀ  r+   r  rš  s     r3   Útest_minformatter_typerŸ  í  rœ  r�  c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr¬  )	r­   r®   r@   rA   rT   r±   rÿ   r+   r­  rš  s     r3   Útest_majlocator_typer¡  ó  óM   € Ü�l‰l‹n�G€CˆÜ	�‰”yÓ	!ñ ;Ø
�‰×"Ñ"¤7×#7Ñ#7Ó#9Ô:÷;÷ ;ñ ;úr�  c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr¬  )	r­   r®   r@   rA   rT   r±   rÆ   r+   r­  rš  s     r3   Útest_minlocator_typer¤  ù  r¢  r�  c                  óˆ   ‡— t        j                  «       Šˆfd„}  | ddd«        | ddd«        | ddd«        | ddd«       y )Nc                 ó8  •— | |dœ}t        j                  |¬«      5  ‰j                  dd|«      }d d d «       t        j                  j                  «       «      dkD  | k(  sJ ‚t        |j                  j                  «       «      dkD  |k(  sJ ‚y # 1 sw Y   Œ`xY w)N)zxtick.minor.visiblezytick.minor.visiblers  r   r   )r­   r‰   Úadd_subplotrË   r±   Úget_minor_ticksró   )ÚxminorÚyminorr  rt  rµ   r´   s        €r3   Úminorticksubplotz,test_minorticks_rc.<locals>.minorticksubplot  s�   ø€ Ø%+Ø%+ñ-ˆä�^‰^˜rÔ"ñ 	*Ø—‘  A qÓ)ˆB÷	*ô �B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ð>Ü�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ñ>÷		*ð 	*ús   �BÂBFr   Tr   r[   r‘   )r­   Úfigure)r«  r´   s    @r3   Útest_minorticks_rcr­  ÿ  sE   ø€ Ü
�*‰*‹,€Cô?ñ �U˜E 1Ô%Ù�T˜5 !Ô$Ù�U˜D !Ô$Ù�T˜4 Õ#r5   c                  óð   ‡— t        j                  «       Šˆfd„} g d¢}|D ]>  } | dd|d«        | dd|d«        | dd|d«        | dd|d«       ‰j                  «        Œ@ t        j                  ‰«       y	)
ax  
    Test toggling minor ticks

    Test `.Axis.minorticks_on()` and `.Axis.minorticks_off()`. Testing is
    limited to a subset of built-in scales - `'linear'`, `'log'`, `'asinh'`
    and `'logit'`. `symlog` scale does not seem to have a working minor
    locator and is omitted. In future, this test should cover all scales in
    `matplotlib.scale.get_scale_names()`.
    c                 óL  •— ‰j                  dd|«      }|j                  |«       |j                  |«       | s|s|j                  «        | r6|s4|j                  j                  «        |j                  j                  «        | s6|r4|j                  j                  «        |j                  j                  «        | r|r|j                  «        t        |j                  j                  «       «      dkD  | k(  sJ ‚t        |j                  j                  «       «      dkD  |k(  sJ ‚y )Nr   r   )	r§  r²  r  Úminorticks_offr±   r°   ró   rË   r¨  )r©  rª  Úscaler  rµ   r´   s        €r3   Úminortickstogglez0test_minorticks_toggle.<locals>.minortickstoggle  sã   ø€ Ø�_‰_˜Q  1Ó%ˆØ
�‰�eÔØ
�‰�eÔÙ™fØ×ÑÔÙ™&Ø�H‰H×"Ñ"Ô$Ø�H‰H×#Ñ#Ô%Ù™&Ø�H‰H×#Ñ#Ô%Ø�H‰H×"Ñ"Ô$Ù‘fØ×ÑÔä�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ð>Ü�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ñ>r5   )Úlinearr  ÚasinhÚlogitFr   Tr   r[   r‘   N)r­   r¬  ÚclearÚclose)r²  Úscalesr±  r´   s      @r3   Útest_minorticks_toggler¹    sy   ø€ ô �*‰*‹,€Cô?ò$ 1€FØò ˆÙ˜  u¨aÔ0Ù˜˜u e¨QÔ/Ù˜  e¨QÔ/Ù˜˜t U¨AÔ.Ø�	‰	�ðô ‡I�Iˆc…Nr5   z%remove_overlapping_locs, expected_num))Tr   )Nr   )Fre  c                 ó0  — t        j                  ddd¬«      }t        j                  t        |«      «      }t	        j
                  «       \  }}|j                  ||«       |j                  j                  t        j                  j                  «       «       |j                  j                  t        j                  j                  d«      «       |j                  j                  t        j                  j                  d«      «       |j                  j!                  t        j                  j                  d«      «       |j                  j#                  d«       | �| |j                  _        |j                  j$                  }||j                  j'                  «       k(  sJ ‚t	        j(                  |j                  |¬	«       |j                  j$                  }||j                  j$                  k(  sJ ‚t        |j                  j+                  «       «      |k(  sJ ‚t        |j                  j#                  «       «      |k(  sJ ‚t        |j                  j-                  «       «      |k(  sJ ‚t        |j                  j/                  «       «      |d
z  k(  sJ ‚y )Nz
2018-11-03z
2018-11-06Ú
datetime64r^  z
%a)r   r   r¶  é   z%H:%Mr"   )Úremove_overlapping_locsr   )rM   rO   ÚonesrË   r­   r®   rE  r±   rÿ   rˆ   ÚdatesÚ
DayLocatorr!  ÚDateFormatterrÆ   ÚHourLocatorrÀ  r¨  r½  Úget_remove_overlapping_locsÚsetprÌ   Úget_minorticklabelsÚget_minorticklines)r½  Úexpected_numÚtr×   r´   rµ   ÚcurrentÚnews           r3   Útest_remove_overlaprË  9  sÔ  € ô
 	�	‰	�, °LÔA€AÜ
�‰”�A“‹€Aä�l‰l‹n�G€CˆØ‡G�GˆAˆq„Mà‡H�H×ÑœsŸy™y×3Ñ3Ó5Ô6Ø‡H�H× Ñ ¤§¡×!8Ñ!8¸Ó!@ÔAà‡H�H×ÑœsŸy™y×4Ñ4°^ÓDÔEØ‡H�H× Ñ ¤§¡×!8Ñ!8¸Ó!AÔBà‡H�H×Ñ˜RÔ ØÐ*Ø+Bˆ�‰Ô(ð �h‰h×.Ñ.€GØ�r—x‘x×;Ñ;Ó=Ò=Ð>Ð=Ü‡H�HˆR�X‰X¨wÕ7Ø
�(‰(×
*Ñ
*€CØ�2—8‘8×3Ñ3Ò3Ð4Ð3ô ˆr�x‰x×)Ñ)Ó+Ó,°Ò<Ð<Ð<äˆr�x‰x×'Ñ'Ó)Ó*¨lÒ:Ð:Ð:Üˆr�x‰x×+Ñ+Ó-Ó.°,Ò>Ð>Ð>Üˆr�x‰x×*Ñ*Ó,Ó-°¸a±Ò?Ð?Ñ?r5   ÚsubÚhiÚaardvark)r   r   c                 ó¬   — t        j                  «       }t        j                  t        «      5  |j                  | ¬«       d d d «       y # 1 sw Y   y xY w)Nr  )r+   r  r@   rA   rW   rk   )rÌ  r9  s     r3   Útest_bad_locator_subsrÐ  ^  sA   € ô 
×	Ñ	Ó	€BÜ	�‰”zÓ	"ñ  Ø
�‰˜3ˆÔ÷ ÷  ñ  ús   ®A
Á
Ar]   )r   r   r[   re  r‚  c           	      ó  — t        j                  «       }|j                  | ¬«       dD ]_  }|j                  d|«      }t	        j
                  t	        j                  |j                  dd«      «      «      dk(  j                  «       rŒ_J ‚ y )Nr\   )r    r!  re  r;   r"   rÝ  r
   r
  r   r   é–   r   )r+   r  rk   r-   rM   Údiffrw  rG   )r]   r9  Útoprq  s       r3   Útest_small_range_loglocatorrÕ  g  su   € ô 
×	Ñ	Ó	€BØ‡M�M˜8€MÔ$Ø/ò FˆØ—‘˜r 3Ó'ˆÜ—‘œŸ™ §¡°°3Ó!7Ó8Ó9¸QÑ>×CÑCÕEÐEÐEñFr5   c                  óž   — t        j                  «       }  | d«      dk(  sJ ‚| j                  d«      dk(  sJ ‚| j                  d«      dk(  sJ ‚y )Nr   rN  )r+   ÚNullFormatterr*  rø  ©r   s    r3   Útest_NullFormatterrÙ  q  sT   € Ü×%Ñ%Ó'€IÙ�S‹>˜RÒÐÐØ× Ñ  Ó%¨Ò+Ð+Ð+Ø×&Ñ& sÓ+¨rÒ1Ð1Ñ1r5   r   c                 ó   — d| › �S )Nzval: r?   )r”  s    r3   ú<lambda>rÛ  y  s   €  e¨A¨3 K€ r5   )r:   Úbarc                 óz   — | j                  «       dk(  sJ ‚| j                  d«       | j                  «       dk(  sJ ‚y )NrN  rˆ   )rX  Úset_offset_stringrØ  s    r3   Útest_set_offset_stringrß  x  s@   € ð ×ÑÓ! RÒ'Ð'Ð'Ø×Ñ Ô&Ø×ÑÓ! UÒ*Ð*Ñ*r5   c                  óD  — t        j                  «       \  } }|j                  t        j                  d«      dg¬«       |j                  t        j                  d«      dg¬«       |j                  t        j                  d«      dg¬«       |j                  d¬«       |j                  d¬«       |j                  «        | j                  «        |j                  «       sJ ‚t        |j                  j                  «       t        j                  j                  «      sJ ‚y)	zœ
    Turning on minor gridlines in a multi-Axes Figure
    that contains more than one boxplot and shares the x-axis
    should not raise an exception.
    r!   r   )rk  r   rî   )Úwhichr¬   N)r­   r®   ÚboxplotrM   rO   rñ   r°   Údraw_without_renderingÚget_xgridlinesÚ
isinstancer±   Úget_minor_locatorrˆ   ÚtickerrÇ   rš  s     r3   Útest_minorticks_on_multi_figrè  �  sÎ   € ô �l‰l‹n�G€Cˆà‡J�JŒr�y‰y˜‹}¨¨€JÔ,Ø‡J�JŒr�y‰y˜‹}¨¨€JÔ,Ø‡J�JŒr�y‰y˜‹}¨¨€JÔ,à‡G�G�'€GÔØ‡G�G�'€GÔØ×ÑÔØ×ÑÔ à×ÑÔÐÐÜ�b—h‘h×0Ñ0Ó2´C·J±J×4OÑ4OÔPÐPÑPr5   )DÚ
contextlibr   r‘  r  rC  rU   Úpackaging.versionr   r:  ÚnumpyrM   Únumpy.testingr   r   r@   Ú
matplotlibrˆ   Úmatplotlib.pyplotÚpyplotr­   Úmatplotlib.tickerrç  r+   r   rY   ru   r    r  rP  rW  r`  r—  r�  r¢  r»  rå  rV  rx  r€  r‡  rÎ  r  r  r$  rP  rR   rS   rh  rj  rŠ  r˜  r›  rŸ  r¡  r¤  r­  r¹  rË  ÚzerosrÐ  r…  rü   rÕ  rÙ  ÚFuncFormatterÚFixedFormatterrß  rè  r?   r5   r3   ú<module>rô     s‡  ðÝ "Û Û Û Û 	Ý 4ã ß AÛ ã Ý Ý #÷,,ñ ,,÷^Fñ F÷<8!ñ 8!÷vmHñ mH÷`L7ñ L7÷^ñ ÷$ñ $÷"O!ñ O!÷d	 ñ 	 ÷
!ñ 
!÷)8ñ )8÷Xb7ñ b7÷JLñ L÷^!(ñ !(÷H/ñ /÷&0ñ 0÷8Zñ Z÷zo'ñ o'÷d&ñ &÷+ñ +÷&n8ñ n8òb>ð ‡�×ÑØ?ò Bóñ0(Ló1ð0(L÷VB7ñ B7òJò*ò ;ò;ò;ò;ò$ò$%ðP ‡�×ÑÐ@ð&ó'ñ@ó	'ð@ðB ‡�×Ñ˜Ø	ˆ:ÐØ€B‡H�HˆVÓð!ó ñ óð ð ‡�×Ñ˜¢\Ó2Ø‡�×Ñ�9ÓñFó ó 3ðFò2ð ‡�×Ñ˜Ø€G×ÑÑ/Ó0Ø€G×Ñ˜>Ó*ð',ó -ñ+ó-ð+óQr5   