§
    ‚Øjd1 ã                   ó  — 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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j.         /                    d0g d1¢¦  «        d2„ ¦   «         Z0 G d3„ d4¦  «        Z1d5„ Z2d6„ Z3d7„ Z4d8„ Z5d9„ Z6d:„ Z7d;„ Z8d<„ Z9ej.         /                    d=d>¦  «        d?„ ¦   «         Z:ej.         /                    d@dAdBg e
j;        dC¦  «        g¦  «        dD„ ¦   «         Z<ej.         /                    dEdFdGg dH¢fdIdGg dH¢fdJdGg dH¢fdKdGg dH¢fdFdLg dM¢fdIdLg dN¢fdJdLg dN¢fdKdLg dN¢fdFdOg dM¢fdIdOg dP¢fdJdOg dQ¢fdKdOg dQ¢fdFdRg dS¢fdIdRg dT¢fdJdRg dT¢fdKdRg dU¢fg¦  «        ej=         >                    dV¦  «        dW„ ¦   «         ¦   «         Z?ej=         >                    dV¦  «        dX„ ¦   «         Z@dY„ ZAej.         /                    dZ ejB        d[„ ¦  «         ejC        d\¦  «        f¦  «        d]„ ¦   «         ZDd^„ ZEdS )_é    )ÚnullcontextN)Úparse)Úassert_almost_equalÚassert_array_equalÚassert_allclosec            
       ó  — 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	         
                    de¦  «        d„ ¦   «         Zej	         
                    de¦  «        d„ ¦   «         Ze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	         
                    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dS )*Ú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                 óx   — t          j        d¬¦  «        }t          |                     ||¦  «        |¦  «         d S )Nr!   ©Únbins©ÚmtickerÚMaxNLocatorr   Útick_values)ÚselfÚvminÚvmaxÚexpectedÚlocs        ú‘/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_ticker.pyÚ
test_basiczTestMaxNLocator.test_basic    s9   € åÔ!¨Ð*Ñ*Ô*ˆÝ˜CŸOšO¨D°$Ñ7Ô7¸ÑBÔBÐBÐBÐBó    zvmin, vmax, steps, expectedc                 ó|   — t          j        dd|¬¦  «        }t          |                     ||¦  «        |¦  «         d S )Nr!   T)r*   ÚintegerÚstepsr+   )r/   r0   r1   r9   r2   r3   s         r4   Útest_integerzTestMaxNLocator.test_integer%   s=   € åÔ!¨°4¸uÐEÑEÔEˆÝ˜CŸOšO¨D°$Ñ7Ô7¸ÑBÔBÐBÐBÐBr6   zkwargs, errortype, matchÚfooz5set_params() got an unexpected keyword argument 'foo'r9   r   z$steps argument must be an increasingé   c                 ó†   — t          j        ||¬¦  «        5  t          j        di |¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )N©Úmatch© )ÚpytestÚraisesr,   r-   )r/   ÚkwargsÚ	errortyper?   s       r4   Útest_errorszTestMaxNLocator.test_errors*   s”   € õ Œ]˜9¨EÐ2Ñ2Ô2ð 	*ð 	*ÝÔÐ)Ð) &Ð)Ð)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*s   —6¶:½:zsteps, result)r   r   r"   r"   c                 ón   — t          j        |¬¦  «        }|j        |k                         ¦   «         sJ ‚d S )N)r9   )r,   r-   Ú_stepsÚall)r/   r9   Úresultr3   s       r4   Útest_paddingzTestMaxNLocator.test_padding5   s<   € õ Ô!¨Ð.Ñ.Ô.ˆØ”
˜fÒ$×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r6   )Ú__name__Ú
__module__Ú__qualname__ÚnpÚarrayÚarangeÚ
basic_dataÚinteger_datarA   ÚmarkÚparametrizer5   r:   Ú	TypeErrorÚreÚescapeÚ
ValueErrorrE   rJ   r@   r6   r4   r	   r	      s{  € € € € € à	ˆS�(�"”(Ð5Ð5Ð5Ñ6Ô6Ð7Ø	�˜˜œÐ!LÐ!LÐ!LÑMÔMÐNØ	��h�b”hÐJÐJÐJÑKÔKÐLØ	
ˆH�i�b”i ‘l”l UÑ*Ð+Ø	�A�y�r”y  QÑ'Ô'¨%Ñ/Ð0ð€Jð 
ˆs�D˜(˜"œ( = = =Ñ1Ô1Ð2Ø	ˆt�T˜8˜2œ8Ð$DÐ$DÐ$DÑEÔEÐFØ	
ˆBÐ"Ð"Ð" H B¤HÐ-@Ð-@Ð-@Ñ$AÔ$AÐBð€Lð „[×ÒÐ3°ZÑ@Ô@ðCð Cñ AÔ@ðCð „[×ÒÐ:¸LÑIÔIðCð Cñ JÔIðCð „[×ÒÐ7Ø
�ˆ�YØ	ˆŒÐJÑ	KÔ	Kð	Mà
�A�q�6Ð	˜JÐ(NÐOØ
�1ˆ�zÐ#IÐJØ
�A�r�7Ð	˜ZÐ)OÐPð:ñ ô ð*ð *ñô ð*ð „[×Ò˜_Ø	ˆˆ�Z�Z�ZÐ Ø
ˆRˆ�*�*�*ÐØ
ˆQˆ���ÐØ
ˆˆjˆjˆjÐð	/ñ ô ð,ð ,ñô ð,ð ,ð ,r6   r	   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestLinearLocatorc                 ó¤   — t          j        d¬¦  «        }t          j        g d¢¦  «        }t	          |                     dd¦  «        |¦  «         d S )Né   ©Únumticks)çš™™™™™é¿ç333333Ó¿çš™™™™™É?r_   ra   )r,   ÚLinearLocatorrN   rO   r   r.   ©r/   r3   Ú
test_values      r4   r5   zTestLinearLocator.test_basicA   sO   € ÝÔ#¨QÐ/Ñ/Ô/ˆÝ”XÐ/Ð/Ð/Ñ0Ô0ˆ
Ý˜CŸOšO¨D°#Ñ6Ô6¸
ÑCÔCÐCÐCÐCr6   c                 ód   — t          j        d¬¦  «        }|                     dd¦  «        g k     d S )Nr   r]   r_   ra   )r,   rb   r.   ©r/   r3   s     r4   Útest_zero_numticksz$TestLinearLocator.test_zero_numticksF   s4   € ÝÔ#¨QÐ/Ñ/Ô/ˆØ�Š˜˜cÑ"Ô" bÒ(Ð(Ð(Ð(r6   c                 óš   — t          j        d¬¦  «        }|                     ddg i¬¦  «         |j        dk    sJ ‚|j        dg ik    sJ ‚dS )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,   rb   Ú
set_paramsr^   rk   rf   s     r4   Útest_set_paramsz!TestLinearLocator.test_set_paramsJ   sa   € õ
 Ô#¨QÐ/Ñ/Ô/ˆØ�Š ¨F°B¨<ˆÑ8Ô8Ð8ØŒ|˜qÒ Ð Ð Ð ØŒ{˜v r˜lÒ*Ð*Ð*Ð*Ð*Ð*r6   c                 ó²  — t          j        g d¢ddgdœ¬¦  «        }|                     dd¦  «        g d¢k    sJ ‚|                     dd¦  «        g d¢k    sJ ‚|                     dd¦  «        ddgk    sJ ‚|                     d	d
¦  «        ddgk    sJ ‚|                     dd¦  «        t          j        ddd¦  «        k                         ¦   «         sJ ‚d S )N)r   ç      ô?ç      ü?r   r    ))r   r   ©r   r   )rk   r   r   r   r   ç       @r<   )r,   rb   r.   rN   ÚlinspacerH   rf   s     r4   Útest_presetszTestLinearLocator.test_presetsT   s   € ÝÔ#°_°_°_Ø69¸3°Zð-Að -Að Bñ Bô Bˆà�Š˜q !Ñ$Ô$¨¨¨Ò7Ð7Ð7Ð7Ø�Š˜q !Ñ$Ô$¨¨¨Ò7Ð7Ð7Ð7Ø�Š˜q !Ñ$Ô$¨¨c¨
Ò2Ð2Ð2Ð2Ø�Š˜s CÑ(Ô(¨S°#¨JÒ6Ð6Ð6Ð6Ø—’  1Ñ%Ô%­¬°Q¸¸2Ñ)>Ô)>Ò>×CÒCÑEÔEÐEÐEÐEÐEÐEr6   N)rK   rL   rM   r5   rg   rm   rt   r@   r6   r4   rZ   rZ   @   sX   € € € € € ðDð Dð Dð
)ð )ð )ð+ð +ð +ðFð Fð Fð Fð Fr6   rZ   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚTestMultipleLocatorc                 ó¤   — t          j        d¬¦  «        }t          j        g d¢¦  «        }t	          |                     dd¦  «        |¦  «         d S )Nç“V-	@©Úbase)goƒÀÊá"Àç“V-Àg“V-	Àr   rx   ç“V-@goƒÀÊá"@g“V-)@éùÿÿÿr"   ©r,   ÚMultipleLocatorrN   rO   r   r.   rc   s      r4   r5   zTestMultipleLocator.test_basic_   sY   € ÝÔ%¨5Ð1Ñ1Ô1ˆÝ”Xð .ð .ð .ñ /ô /ˆ
å˜CŸOšO¨B°Ñ3Ô3°ZÑ@Ô@Ð@Ð@Ð@r6   c                 ó¦   — t          j        dd¬¦  «        }t          j        g d¢¦  «        }t	          |                     dd¦  «        |¦  «         d S )Nrx   ç333333ó?©rz   Úoffset)g¬Zd{ ÀgÇK7‰A`ÀgôýÔxé&ÿ¿r�   gÙÎ÷Sc@g`åÐ"Ûù@gÕxé&1H%@r}   r"   r~   rc   s      r4   Útest_basic_with_offsetz*TestMultipleLocator.test_basic_with_offsete   s[   € ÝÔ%¨5¸Ð=Ñ=Ô=ˆÝ”Xð 'ð 'ð 'ñ (ô (ˆ
å˜CŸOšO¨B°Ñ3Ô3°ZÑ@Ô@Ð@Ð@Ð@r6   c                 óÖ   — t          j        ddi¦  «        5  t          j        d¬¦  «        }t	          |                     dd¦  «        d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	z5
        Test basic behavior of view limits.
        úaxes.autolimit_modeÚdatarx   ry   r   r!   )r   r!   N©ÚmplÚ
rc_contextr,   r   r   Úview_limitsrf   s     r4   Útest_view_limitsz$TestMultipleLocator.test_view_limitsk   sÃ   € õ Œ^Ð2°FÐ;Ñ<Ô<ð 	Að 	AÝÔ)¨uÐ5Ñ5Ô5ˆCÝ §¢°°AÑ 6Ô 6¸Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	Aó   —:AÁA"Á%A"c                 óÖ   — t          j        ddi¦  «        5  t          j        d¬¦  «        }t	          |                     dd¦  «        d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	úb
        Test that everything works properly with 'round_numbers' for auto
        limit.
        r†   Úround_numbersrx   ry   éüÿÿÿé   )r{   r|   Nrˆ   rf   s     r4   Útest_view_limits_round_numbersz2TestMultipleLocator.test_view_limits_round_numberss   sÃ   € õ
 Œ^Ð2°OÐDÑEÔEð 	Ið 	IÝÔ)¨uÐ5Ñ5Ô5ˆCÝ §¢°°AÑ 6Ô 6¸ÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið 	Ið 	Ir�   c                 óØ   — t          j        ddi¦  «        5  t          j        dd¬¦  «        }t	          |                     dd¦  «        d¦  «         d	d	d	¦  «         d	S # 1 swxY w Y   d	S )
r�   r†   r�   rx   çÍÌÌÌÌÌô?r‚   r‘   r’   )g`åÐ"ÛùÀg}?5^ºÉ@Nrˆ   rf   s     r4   Ú*test_view_limits_round_numbers_with_offsetz>TestMultipleLocator.test_view_limits_round_numbers_with_offset|   sÅ   € õ
 Œ^Ð2°OÐDÑEÔEð 	Ið 	IÝÔ)¨u¸SÐAÑAÔAˆCÝ §¢°°AÑ 6Ô 6¸ÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið 	Ið 	Is   —;AÁA#Á&A#c                 óÖ   — t          j        ddi¦  «        5  t          j        d¬¦  «        }t	          |                     dd¦  «        d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	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‹   rf   s     r4   Útest_view_limits_single_binz/TestMultipleLocator.test_view_limits_single_bin…   sÃ   € õ Œ^Ð2°OÐDÑEÔEð 	Eð 	EÝÔ%¨AÐ.Ñ.Ô.ˆCÝ §¢°°cÑ :Ô :¸GÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Er�   c                 óÆ   — t          j        d¬¦  «        }|                     d¬¦  «         |j        j        dk    sJ ‚|                     d¬¦  «         |j        dk    sJ ‚dS )z
        Create multiple locator with 0.7 base, and change it to something else.
        See if change was successful.
        çffffffæ?ry   ç333333û?r\   )rƒ   N)r,   r   rl   Ú_edgeÚstepÚ_offset)r/   Úmults     r4   rm   z#TestMultipleLocator.test_set_params�   sm   € õ
 Ô&¨CÐ0Ñ0Ô0ˆØ�Š˜SˆÑ!Ô!Ð!ØŒzŒ #Ò%Ð%Ð%Ð%Ø�Š˜qˆÑ!Ô!Ð!ØŒ|˜qÒ Ð Ð Ð Ð Ð r6   N)
rK   rL   rM   r5   r„   rŒ   r“   r–   r˜   rm   r@   r6   r4   rv   rv   ^   s�   € € € € € ðAð Að AðAð Að AðAð Að AðIð Ið IðIð Ið IðEð Eð Eð	!ð 	!ð 	!ð 	!ð 	!r6   rv   c            
       óÂ  — e Zd Zd„ ZddgZd„ Zej                             de¦  «        d„ ¦   «         Z	g d¢Z
d„ Ze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                             de¦  «        d„ ¦   «         Zej                             dddg¦  «        ej                             ddg d¢fdg d¢fg¦  «        d„ ¦   «         ¦   «         Zej                             dddg¦  «        ej                             dddg d¢fd d!g d"¢fd#d$g d%¢fg¦  «        d&„ ¦   «         ¦   «         Zd'S )(ÚTestAutoMinorLocatorc                 ó  — t          j        ¦   «         \  }}|                     dd¦  «         |                     ¦   «          t	          j        g d¢¦  «        }t          |j                             d¬¦  «        |¦  «         d S )Nr   ç=
×£p=ö?©çš™™™™™©?çš™™™™™¹?g333333Ã?r   ç333333Ó?gffffffÖ?çÍÌÌÌÌÌÜ?r   çš™™™™™á?gÍÌÌÌÌÌä?rš   r   g333333ë?çÍÌÌÌÌÌì?r   çÍÌÌÌÌÌð?r   gffffffò?ro   r•   gš™™™™™õ?T©Úminor)	ÚpltÚsubplotsÚset_xlimÚminorticks_onrN   rO   r   ÚxaxisÚget_ticklocs©r/   ÚfigÚaxrd   s       r4   r5   zTestAutoMinorLocator.test_basicš   s‡   € Ý”,‘.”.‰ˆˆRØ
�Š�A�tÑÔÐØ
×ÒÑÔÐÝ”Xð Gð Gð Gñ Hô Hˆ
õ 	˜BœH×1Ò1¸Ð1Ñ=Ô=¸zÑJÔJÐJÐJÐJr6   ©r   r   )r   r   c                 óÜ  — t          j        ¦   «         \  }}|                     dd¦  «         |j                             t          j        ¦   «         ¦  «         t          j        g d¢¦  «        }t          |j         
                    d¬¦  «        |¦  «         |                     dd¦  «         t          j        g d¢¦  «        }t          |j         
                    d¬¦  «        |¦  «         d	S )
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¦   ra   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,   ÚAutoMinorLocatorrN   rO   r   r³   r´   s       r4   Útest_first_and_last_minorticksz3TestAutoMinorLocator.test_first_and_last_minorticks©   sò   € õ
 ”,‘.”.‰ˆˆRØ
�Š�D˜#ÑÔÐØ
Œ×"Ò"¥7Ô#;Ñ#=Ô#=Ñ>Ô>Ð>Ý”Xð Bð Bð Bñ Cô Cˆ
õ 	˜BœH×1Ò1¸Ð1Ñ=Ô=¸zÑJÔJÐJà
�Š�B˜ÑÔÐÝ”Xð Gð Gð Gñ Hô Hˆ
å˜BœH×1Ò1¸Ð1Ñ=Ô=¸zÑJÔJÐJÐJÐJr6   z%nb_majorticks, expected_nb_minorticksc                 óŠ  — t          j        ¦   «         \  }}d} |j        |Ž  |                     t	          j        |d         |d         |¦  «        ¦  «         |                     ¦   «          |j                             t          j
        ¦   «         ¦  «         t          |j                             ¦   «         ¦  «        |k    sJ ‚d S )N)r   r!   r   r   )r®   r¯   r°   Ú
set_xticksrN   rs   r±   r²   rÇ   r,   rÈ   ÚlenÚget_minorticklocs)r/   Únb_majorticksÚexpected_nb_minorticksrµ   r¶   Úxlimss         r4   Útest_low_number_of_majorticksz2TestAutoMinorLocator.test_low_number_of_majorticks¼   s®   € õ ”,‘.”.‰ˆˆRØˆØˆŒ�UÐÐØ
�Š•b”k %¨¤(¨E°!¬H°mÑDÔDÑEÔEÐEØ
×ÒÑÔÐØ
Œ×"Ò"¥7Ô#;Ñ#=Ô#=Ñ>Ô>Ð>Ý�2”8×-Ò-Ñ/Ô/Ñ0Ô0Ð4JÒJÐJÐJÐJÐJÐJr6   ))r   r!   )r   r’   )rÄ   r!   )r!   r!   )r"   r!   c                 óò   — t          j        ddi¦  «        5  d„ | j        D ¦   «         }t          j                             |t          j        ¦   «         j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nú_internal.classic_modeFc                 ó   — g | ]
}|d          ‘ŒS ©r   r@   )Ú.0Úxs     r4   ú
<listcomp>zKTestAutoMinorLocator.test_using_all_default_major_steps.<locals>.<listcomp>Ò   s   € ÐFÐFÐF 1˜!˜Aœ$ÐFÐFÐFr6   )	r‰   rŠ   Úmajorstep_minordivisionsrN   Útestingr   r,   ÚAutoLocatorrG   )r/   Ú
majorstepss     r4   Ú"test_using_all_default_major_stepsz7TestAutoMinorLocator.test_using_all_default_major_stepsÐ   sÔ   € ÝŒ^Ð5°uÐ=Ñ>Ô>ð 	Eð 	EØFÐF¨Ô(EÐFÑFÔFˆJÝŒJ×&Ò& zÝ'.Ô':Ñ'<Ô'<Ô'CñEô Eð Eð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Es   —AA,Á,A0Á3A0z&major_step, expected_nb_minordivisionsc                 óX  — t          j        ¦   «         \  }}d|f} |j        |Ž  |                     |¦  «         |                     ¦   «          |j                             t          j        ¦   «         ¦  «         t          |j         
                    ¦   «         ¦  «        dz   }||k    sJ ‚d S ©Nr   r   )r®   r¯   r°   rË   r±   r²   rÇ   r,   rÈ   rÌ   rÍ   )r/   Ú
major_stepÚexpected_nb_minordivisionsrµ   r¶   rÐ   Únb_minor_divisionss          r4   Útest_number_of_minor_ticksz/TestAutoMinorLocator.test_number_of_minor_ticksÖ   s§   € õ ”,‘.”.‰ˆˆRØ�J�ˆØˆŒ�UÐÐØ
�Š�eÑÔÐØ
×ÒÑÔÐØ
Œ×"Ò"¥7Ô#;Ñ#=Ô#=Ñ>Ô>Ð>Ý  ¤×!;Ò!;Ñ!=Ô!=Ñ>Ô>ÀÑBÐØ!Ð%?Ò?Ð?Ð?Ð?Ð?Ð?r6   )©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        ¦   «         \  }}|                     ¦   «          |                     dddd¬¦  «         |                     dddd¬¦  «         |                     |¦  «         t          |j                             d¬	¦  «        |¦  «         d S )
NTr­   Úyr   )Ú	linewidthÚmajorÚk)Úcolorrñ   r¬   )r®   r¯   r±   ÚgridÚset_ylimr   Úyaxisr³   )r/   ÚlimÚrefrµ   r¶   s        r4   Útest_additionalz$TestAutoMinorLocator.test_additional  s’   € å”,‘.”.‰ˆˆRà
×ÒÑÔÐØ
�Š��g˜s¨aˆÑ0Ô0Ð0Ø
�Š��g S°AˆÑ6Ô6Ð6Ø
�Š�CÑÔÐå˜BœH×1Ò1¸Ð1Ñ=Ô=¸sÑCÔCÐCÐCÐCr6   Úuse_rcparamFTrä   rå   c                 ó  — |rdddœ}i }ni }ddi}t          j        |¦  «        5  t          j        ¦   «         \  }} |j        |Ž   |j        |Ž  |j                             t          j	        di |¤Ž¦  «         |j
                             t          j	        di |¤Ž¦  «         t          |j                             d¬¦  «        |¦  «         t          |j
                             d¬¦  «        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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û   ÚcontextrC   rµ   r¶   s           r4   Útest_number_of_minor_ticks_autoz4TestAutoMinorLocator.test_number_of_minor_ticks_auto  sw  € ð ð 	#Ø,2ÈÐPÐPˆGØˆFˆFàˆGØ˜6�]ˆFåŒ^˜GÑ$Ô$ð 	Hð 	HÝ”l‘n”n‰GˆC�ØˆBŒK˜ÐÐØˆBŒK˜ÐÐØŒH×&Ò&¥wÔ'?Ð'IÐ'IÀ&Ð'IÐ'IÑJÔJÐJØŒH×&Ò&¥wÔ'?Ð'IÐ'IÀ&Ð'IÐ'IÑJÔJÐJÝ ¤× 5Ò 5¸DÐ 5Ñ AÔ AÀ3ÑGÔGÐGÝ ¤× 5Ò 5¸DÐ 5Ñ AÔ AÀ3ÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hs   ¥CDÄDÄDzn, lim, refr   )r   r’   ©r   r    rÄ   rÅ   r’   rq   )r   r   r   ro   r    rp   r"   rj   )	r¦   ra   r§   r¿   r   rÀ   rš   rÁ   rª   c                 óÌ  — |r||dœ}i }ni }d|i}t          j        |¦  «        5  t          j        ¦   «         \  }} |j        |Ž   |j        |Ž  |j                             t          j	        d¦  «        ¦  «         |j         
                    t          j        di |¤Ž¦  «         |j                             t          j	        d¦  «        ¦  «         |j         
                    t          j        di |¤Ž¦  «         t          |j                             d¬¦  «        |¦  «         t          |j                             d¬¦  «        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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   rC   rµ   r¶   s	            r4   Útest_number_of_minor_ticks_intz3TestAutoMinorLocator.test_number_of_minor_ticks_int.  s¹  € ð ð 	Ø,-ÀAÐFÐFˆGØˆFˆFàˆGØ˜1�XˆFåŒ^˜GÑ$Ô$ð 		Hð 		HÝ”l‘n”n‰GˆC�ØˆBŒK˜ÐÐØˆBŒK˜ÐÐØŒH×&Ò&¥wÔ'>¸qÑ'AÔ'AÑBÔBÐBØŒH×&Ò&¥wÔ'?Ð'IÐ'IÀ&Ð'IÐ'IÑJÔJÐJØŒH×&Ò&¥wÔ'>¸qÑ'AÔ'AÑBÔBÐBØŒH×&Ò&¥wÔ'?Ð'IÐ'IÀ&Ð'IÐ'IÑJÔJÐJÝ ¤× 5Ò 5¸DÐ 5Ñ AÔ AÀ3ÑGÔGÐGÝ ¤× 5Ò 5¸DÐ 5Ñ AÔ AÀ3ÑGÔGÐGð		Hð 		Hð 		Hñ 		Hô 		Hð 		Hð 		Hð 		Hð 		Hð 		Hð 		Hð 		Høøøð 		Hð 		Hð 		Hð 		Hð 		Hð 		Hs   ¥D'EÅEÅ EN)rK   rL   rM   r5   ÚparamsrÉ   rA   rS   rT   rÑ   rÙ   rÝ   rã   ÚlimitsÚ	referenceÚlistÚzipÚadditional_datarú   r  r  r@   r6   r4   r¡   r¡   ™   sÚ  € € € € € ðKð Kð Kð 	Øð€Fð
Kð Kð Kð& „[×ÒÐDÀfÑMÔMð	Kð 	Kñ NÔMð	Kð )ð  )ð  )ÐðEð Eð Eð „[×ÒÐEØ5ñ7ô 7ð	@ð 	@ñ7ô 7ð	@ð>ð >ð >€Fð	Bð 	Bð 	Bð	ð 	ð 	ð	'ð 	'ð 	'ð	'ð 	'ð 	'ð	ð 	ð 	ð
	1ð 	1ð 	1ð	Eð 	Eð 	Eð	ð 	ð 	ð/€Ið: �d˜3˜3˜v yÑ1Ô1Ñ2Ô2€Oà„[×Ò˜Z¨Ñ9Ô9ðDð Dñ :Ô9ðDð „[×Ò˜]¨U°D¨MÑ:Ô:Ø„[×ÒØØðGð Gð GðHð ð"ð "ð "ð#ð	
ñ	ô 	ðHð Hñ	ô 	ñ ;Ô:ðHð" „[×Ò˜]¨U°D¨MÑ:Ô:Ø„[×ÒØØ�Ð,Ð,Ð,Ð-Ø�Ð:Ð:Ð:Ð;Ø�ÐFÐFÐFÐGð
ñô ðHð Hñô ñ ;Ô:ðHð Hð Hr6   r¡   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚTestLogLocatorc                 óÐ  — t          j        d¬¦  «        }t          j        t          ¦  «        5  |                     dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        }t          |                     dd¦  «        |¦  «         t          j        d¬	¦  «        }t          j        g d
¢¦  «        }t          |                     dd¦  «        |¦  «         d S )Nr!   r]   r   éè  )çñhãˆµøä>r   r¦   ç      $@ç     @�@ç     jø@ç    ÐcAr   g     Ûú@r   ry   )	r   r   rr   ç      @g       @g      0@g      @@g      P@g      `@r   r   )	r,   Ú
LogLocatorrA   rB   rX   r.   rN   rO   r   rc   s      r4   r5   zTestLogLocator.test_basicJ  s  € ÝÔ ¨!Ð,Ñ,Ô,ˆÝŒ]�:Ñ&Ô&ð 	%ð 	%Ø�OŠO˜A˜tÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%õ ”XÐHÐHÐHÑIÔIˆ
Ý˜CŸOšO¨E°5Ñ9Ô9¸:ÑFÔFÐFåÔ  aÐ(Ñ(Ô(ˆÝ”XÐGÐGÐGÑHÔHˆ
Ý˜CŸOšO¨A¨sÑ3Ô3°ZÑ@Ô@Ð@Ð@Ð@s   ¯AÁAÁAc                 óØ   — t          j        ddi¬¦  «        \  }}|                     d¦  «         |                     dd¦  «         t	          |                     ¦   «         g d¢¦  «         dS )	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      r4   Útest_polar_axeszTestLogLocator.test_polar_axesV  sg   € õ ”,¨<¸Ð*AÐBÑBÔB‰ˆˆRØ
�Š�eÑÔÐØ
�Š�A�sÑÔÐÝ˜2Ÿ=š=™?œ?¨O¨O¨OÑ<Ô<Ð<Ð<Ð<r6   c                 óÎ  — t          j        d¬¦  «        }t          |                     dd¦  «        g d¢¦  «         t          j        t	          j        dd¦  «        ¬¦  «        }d|                     d	d
¦  «        vsJ ‚d|                     d	d
¦  «        vsJ ‚t          j        d¬¦  «        }|                     dd¦  «        }t          |d|k    |dk    z           dg¦  «         d S )NrH   ©Ú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  r   r.   rN   rP   )r/   r3   Útvs      r4   Útest_switch_to_autolocatorz)TestLogLocator.test_switch_to_autolocator_  sò   € ÝÔ  eÐ,Ñ,Ô,ˆÝ˜3Ÿ?š?¨4°Ñ6Ô6ØDÐDÐDñ	Fô 	Fð 	Fõ Ô ¥b¤i°°2Ñ&6Ô&6Ð7Ñ7Ô7ˆØ˜#Ÿ/š/¨#¨sÑ3Ô3Ð3Ð3Ð3Ð3Ø˜3Ÿ?š?¨3°Ñ4Ô4Ð4Ð4Ð4Ð4åÔ  fÐ-Ñ-Ô-ˆØ�_Š_˜R Ñ$Ô$ˆÝ˜2˜r Ršx¨B°"ªHÑ5Ô6¸¸Ñ=Ô=Ð=Ð=Ð=r6   c                 óÈ   — t          j        ¦   «         }|                     ddgd¬¦  «         |j        dk    sJ ‚|j        dk    sJ ‚t          |j        ¦  «        dgk    sJ ‚dS )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.
        é   rr   r’   )r^   r"  rz   N)r,   r  rl   r^   Ú_baser	  Ú_subsrf   s     r4   rm   zTestLogLocator.test_set_paramsl  so   € õ Ô Ñ"Ô"ˆØ�Š ¨¨°AˆÑ6Ô6Ð6ØŒ|˜qÒ Ð Ð Ð ØŒy˜AŠ~ˆ~ˆ~ˆ~Ý�C”I‰Œ 3 %Ò'Ð'Ð'Ð'Ð'Ð'r6   c                 ó¤   — t          j        d¬¦  «        }t          j        g d¢¦  «        }t	          |                     dd¦  «        |¦  «         d S )N©r   r   r!   r!  )r¦   ra   r   r   rr   rÆ   r  r   ç      I@r   ç      i@ç     @@r  ç     @Ÿ@ç     ˆ³@ç     ˆÃ@ç     ˆÓ@ç     jè@r  ç     jAç    €„Aç    €„.Aç    €„>Aç    ÐSAr  ç    ÐsAç    „×‡Ar   r  )r,   r  rN   rO   r   r.   ©r/   Úllrd   s      r4   Útest_tick_values_correctz'TestLogLocator.test_tick_values_correctx  s[   € ÝÔ YÐ/Ñ/Ô/ˆÝ”Xð 7ð 7ð 7ñ 8ô 8ˆ
õ
 	˜BŸNšN¨1¨cÑ2Ô2°JÑ?Ô?Ð?Ð?Ð?r6   c                 óÂ   — dt           j        d<   t          j        d¬¦  «        }t	          j        g d¢¦  «        }t          |                     dd¦  «        |¦  «         d S )NFrÓ   r*  r!  )r¦   ra   r   r   rr   rÆ   r  r   r+  r   r,  r-  r  r.  r/  r0  r1  r2  r  r3  r4  r5  r6  r7  r  r8  r9  ç    „×—Ag    „×§Ag    eÍ½Ar   r>  )r‰   ÚrcParamsr,   r  rN   rO   r   r.   r:  s      r4   Útest_tick_values_not_emptyz)TestLogLocator.test_tick_values_not_empty�  sm   € Ø16�ŒÐ-Ñ.ÝÔ YÐ/Ñ/Ô/ˆÝ”Xð Oð Oð Oñ Pô Pˆ
õ
 	˜BŸNšN¨1¨cÑ2Ô2°JÑ?Ô?Ð?Ð?Ð?r6   c                 ó€  — t           j                             d¦  «        }|                     d¬¦  «        g g g}t	          j        t          |¦  «        dd¬¦  «        \  }}t          |                     ¦   «         |¦  «        D ]3\  }}| 	                    |d¬¦  «         | 
                    dd	¬
¦  «         Œ4|                     ¦   «         D ]s}t          |                     ¦   «         |d                              ¦   «         k    ¦  «        sJ ‚|                     ¦   «         |d                              ¦   «         k    sJ ‚Œtd S )Ni!N,r   )ÚsizeT)ÚsharexÚshareyr"   )Úbinsr  Úclip)Únonpositiver   )rN   ÚrandomÚdefault_rngÚnormalr®   r¯   rÌ   r
  ÚflattenÚhistr  rH   r  Úget_ylim)r/   ÚrngÚ
dummy_datarµ   Úaxesr¶   r‡   s          r4   Útest_multiple_shared_axesz(TestLogLocator.test_multiple_shared_axes‹  s#  € ÝŒi×#Ò# HÑ-Ô-ˆØ—j’j c�jÑ*Ô*¨B°Ð3ˆ
Ý”L¥ Z¡¤¸ÀdÐKÑKÔK‰	ˆˆTå˜DŸLšL™NœN¨JÑ7Ô7ð 	5ð 	5‰HˆB�Ø�GŠG�D˜rˆGÑ"Ô"Ð"Ø�MŠM˜%¨VˆMÑ4Ô4Ð4Ð4à—,’,‘.”.ð 	7ð 	7ˆBÝ�r—}’}‘”¨$¨q¬'×*<Ò*<Ñ*>Ô*>Ò>Ñ?Ô?Ð?Ð?Ð?Ø—;’;‘=”= D¨¤G×$4Ò$4Ñ$6Ô$6Ò6Ð6Ð6Ð6Ð6ð	7ð 	7r6   N)
rK   rL   rM   r5   r  r$  rm   r<  r@  rQ  r@   r6   r4   r  r  I  s†   € € € € € ð
Að 
Að 
Að=ð =ð =ð>ð >ð >ð
(ð 
(ð 
(ð@ð @ð @ð@ð @ð @ð7ð 7ð 7ð 7ð 7r6   r  c                   ó   — e Zd Zd„ ZdS )ÚTestNullLocatorc                 ó¸   — t          j        ¦   «         }t          j        t          ¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )zˆ
        Create null locator, and attempt to call set_params() on it.
        Should not exception, and should raise a warning.
        N)r,   ÚNullLocatorrA   ÚwarnsÚUserWarningrl   rf   s     r4   rm   zTestNullLocator.test_set_paramsš  s–   € õ
 Ô!Ñ#Ô#ˆÝŒ\�+Ñ&Ô&ð 	ð 	Ø�NŠNÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ­AÁAÁAN©rK   rL   rM   rm   r@   r6   r4   rS  rS  ™  s#   € € € € € ðð ð ð ð r6   rS  c                   ó:   — e Zd Zed„ ¦   «         Zed„ ¦   «         ZdS )Ú_LogitHelperc                 óÔ   — d| cxk     rdk     rZn nWd|cxk     rdk     rJn nGt          j        t          j        d| z  dz
  ¦  «         t          j        d|z  dz
  ¦  «         ¦  «        ndS )Nr   r   F)rN   Úiscloser  )r×   rð   s     r4   r\  z_LogitHelper.isclose¥  su   € ð �q�9�9’9�9˜1’9�9�9�9�9  Q  ¢ ¨¢    õ ”
�BœF 1 Q¡3 q¡5™MœM˜>­B¬F°1°Q±3°q±5©M¬M¨>Ñ:Ô:Ð:Ø05ð	7r6   c                 óª  — t          j        | ¦  «        }t          j        |¦  «        }t          j        |dk    ¦  «        rt          j        |dk     ¦  «        sJ ‚t          j        |dk    ¦  «        rt          j        |dk     ¦  «        sJ ‚t          j        d|z  dz
  ¦  «         }t          j        d|z  dz
  ¦  «         }t	          ||¦  «         d S rß   )rN   rO   rH   r  r   )r×   rð   r¶   ÚayÚlxÚlys         r4   r   z _LogitHelper.assert_almost_equalª  s²   € åŒX�a‰[Œ[ˆÝŒX�a‰[Œ[ˆÝŒv�b˜1’f‰~Œ~Ð0¥"¤&¨¨aª¡.¤.Ð0Ð0Ð0ÝŒv�b˜1’f‰~Œ~Ð0¥"¤&¨¨aª¡.¤.Ð0Ð0Ð0ÝŒf�Q�r‘T˜!‘V‰nŒnˆ_ˆÝŒf�Q�r‘T˜!‘V‰nŒnˆ_ˆÝ˜B Ñ#Ô#Ð#Ð#Ð#r6   N)rK   rL   rM   Ústaticmethodr\  r   r@   r6   r4   rZ  rZ  ¤  sH   € € € € € Øð7ð 7ñ „\ð7ð ð$ð $ñ „\ð$ð $ð $r6   rZ  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	         
                    d e eee¦  «        ¦  «        ¦  «        d„ ¦   «         Zej	         
                    de¦  «        d„ ¦   «         Zej	         
                    deez   ¦  «        d„ ¦   «         Zej	         
                    d e 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	         
                    dd„  ej        ed¬¦  «        D ¦   «         ¦  «        d„ ¦   «         Zej	         
                    de¦  «        d„ ¦   «         ZdS )Ú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&  ri   é	   ))r¿   rÀ   )r¥   ra   )rÁ   r   zlims, expected_low_ticksc                 ó¦   — t          g |¢d‘d|z
  ¢¦  «        }t          j        d¬¦  «        }t                                |j        |Ž |¦  «         dS )zR
        Create logit locator with huge number of major, and tests ticks.
        r   r   r   r)   N)Úsortedr,   ÚLogitLocatorrZ  r   r.   )r/   ÚlimsÚexpected_low_ticksÚexpected_ticksr3   s        r4   Útest_basic_majorz!TestLogitLocator.test_basic_majorÎ  sr   € õ  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAñ
ô 
ˆõ Ô"¨Ð-Ñ-Ô-ˆÝ×(Ò(ØˆCŒO˜TÐ"Øñ	
ô 	
ð 	
ð 	
ð 	
r6   rl  c                 óB  — t          j        d¬¦  «        }t          j        dg d¢¬¦  «        }dD ]n}|                     |¬¦  «         |                     |¬¦  «          |j        |Ž } |j        |Ž }|j        |j        k    sJ ‚||k                         ¦   «         sJ ‚ŒodS )zj
        When the axis is zoomed, the locator must have the same behavior as
        MaxNLocator.
        r   r)   )r   r   r!   r"   )r*   r9   )r’   ri   é   N)r,   rk  r-   rl   r.   ÚshaperH   )r/   rl  r3   Úmaxn_locr*   ÚticksÚ
maxn_tickss          r4   Útest_maxn_majorz TestLogitLocator.test_maxn_majorß  sÇ   € õ Ô"¨Ð-Ñ-Ô-ˆÝÔ&¨S¸¸¸ÐFÑFÔFˆØð 	/ð 	/ˆEØ�NŠN ˆNÑ'Ô'Ð'Ø×Ò eÐÑ,Ô,Ð,Ø#�C”O TÐ*ˆEØ-˜Ô-¨tÐ4ˆJØ”; *Ô"2Ò2Ð2Ð2Ð2Ø˜ZÒ'×,Ò,Ñ.Ô.Ð.Ð.Ð.Ð.ð	/ð 	/r6   c                 óD  — t          t          j        t          j        |d         ¦  «        ¦  «         ¦  «        dz  dz   }t	          j        d¬¦  «        }t          |dd¦  «        D ]8}|                     |¬¦  «         t           |j	        |Ž ¦  «        |dz   k    sJ ‚Œ9dS )zB
        Assert logit locator for respecting nbins param.
        r   r   r   r   r)   r   N)
ÚintrN   ÚfloorÚlog10r,   rk  Úrangerl   rÌ   r.   )r/   rl  Úbasic_neededr3   r*   s        r4   Útest_nbins_majorz!TestLogitLocator.test_nbins_majorï  s«   € õ �BœH¥R¤X¨d°1¬gÑ%6Ô%6Ñ7Ô7Ð7Ñ8Ô8¸1Ñ<¸qÑ@ˆÝÔ"¨Ð-Ñ-Ô-ˆÝ˜<¨¨BÑ/Ô/ð 	<ð 	<ˆEØ�NŠN ˆNÑ'Ô'Ð'Ý��s”¨Ð-Ñ.Ô.°%¸!±)Ò;Ð;Ð;Ð;Ð;ð	<ð 	<r6   c                 ó<  — t          g |¢d‘d|z
  ¢¦  «        }t          |¦  «        }t          j        d¬¦  «        }t          j        dd¬¦  «        }t	          |dd¦  «        D ]·}|                     |¬¦  «         |                     |¬¦  «          |j        |Ž } |j        |Ž }	t          |¦  «        t          |¦  «        k    r)t          |¦  «        dz
  d	z  t          |	¦  «        k     sJ ‚Œ‹t                               t          g |¢|	¢¦  «        |¦  «         Œ¸d
S )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)	rj  rÌ   r,   rk  r{  rl   r.   rZ  r   )
r/   rl  rm  rn  r|  r3   Ú	minor_locr*   Úmajor_ticksÚminor_tickss
             r4   Ú
test_minorzTestLogitLocator.test_minorû  sX  € õ  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAñ
ô 
ˆõ ˜>Ñ*Ô*ˆÝÔ"¨Ð-Ñ-Ô-ˆÝÔ(¨s¸$Ð?Ñ?Ô?ˆ	Ý˜<¨¨BÑ/Ô/ð 	Jð 	JˆEØ�NŠN ˆNÑ'Ô'Ð'Ø× Ò  uÐ Ñ-Ô-Ð-Ø)˜#œ/¨4Ð0ˆKØ/˜)Ô/°Ð6ˆKÝ�;ÑÔ¥3 ~Ñ#6Ô#6Ò6Ð6å˜KÑ(Ô(¨1Ñ,°Ñ1µC¸Ñ4DÔ4DÒDÐDÐDÐDÐDõ ×0Ò0ÝÐ7˜[Ð7¨;Ð7Ñ8Ô8¸.ñJô Jð Jð Jð	Jð 	Jr6   c                 ó    — t          j        d¬¦  «        }|j        rJ ‚d|_        |j        sJ ‚|                     d¬¦  «         |j        rJ ‚d S )Nr   r)   TFr¬   )r,   rk  r­   rl   rf   s     r4   Útest_minor_attrz TestLogitLocator.test_minor_attr  s]   € ÝÔ"¨Ð-Ñ-Ô-ˆØ”9ÐÐˆ}ØˆŒ	ØŒyÐÐˆyØ�Š˜UˆÑ#Ô#Ð#Ø”9ÐÐˆ}ÐÐr6   rÄ   éýÿÿÿr   c                 ó(   — g | ]\  }}||k    ¯||f‘ŒS r@   r@   )rÖ   ÚaÚbs      r4   rØ   zTestLogitLocator.<listcomp>'  s1   € ð 	
ð 	
ð 	
á��AØ�AŠvˆvð �ˆFàˆvˆvr6   r   )Úrepeatc                 ó„   — t          j        ¦   «         } |j        |Ž }t          |¦  «        t          |¦  «        k    sJ ‚dS )zd
        Create logit locator, and test the nonsingular method for acceptable
        value
        N)r,   rk  Únonsingularrj  )r/   rl  r3   Úlims2s       r4   Útest_nonsingular_okz$TestLogitLocator.test_nonsingular_ok%  sC   € õ Ô"Ñ$Ô$ˆØ�” Ð&ˆÝ�d‰|Œ|�v e™}œ}Ò,Ð,Ð,Ð,Ð,Ð,r6   Úokvalc                 ó  — t          j        ¦   «         }d|}}|                     ||¦  «        \  }}||k    sJ ‚d|cxk     r|k     sn J ‚|d}}|                     ||¦  «        \  }}||k    sJ ‚||cxk     rdk     sn J ‚dS )zh
        Create logit locator, and test the nonsingular method for non
        acceptable value
        r   r   r   r   N)r,   rk  r‹  )r/   rŽ  r3   r0   r1   Úvmin2Úvmax2s          r4   Útest_nonsingular_nokz%TestLogitLocator.test_nonsingular_nok6  s¼   € õ Ô"Ñ$Ô$ˆØ˜%ˆdˆØ—’ t¨TÑ2Ô2‰ˆˆuØ˜Š}ˆ}ˆ}ˆ}Ø�5Ð Ð Ò Ð ˜5Ò Ð Ð Ð Ð Ð Ø˜QˆdˆØ—’ t¨TÑ2Ô2‰ˆˆuØ˜Š}ˆ}ˆ}ˆ}Ø�uÐ Ð Ò Ð ˜qÒ Ð Ð Ð Ð Ð Ð Ð r6   N)rK   rL   rM   Úref_basic_limitsrN   rP   Úref_basic_major_ticksÚref_maxn_limitsrA   rS   rT   r	  r
  ro  rv  r}  r‚  r„  Úacceptable_vmin_vmaxÚ	itertoolsÚproductr�  r’  r@   r6   r4   rc  rc  µ  së  € € € € € ð	ð 	ð 	Ðð 	
ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q Ñ#Ô#Ñ#Ñ$ð	Ðð GÐFÐF€Oà„[×ÒØ"ØˆˆSˆSÐ!Ð#8Ñ9Ô9Ñ:Ô:ñô ð
ð 
ñ	ô ð
ð „[×Ò˜V _Ñ5Ô5ð/ð /ñ 6Ô5ð/ð „[×Ò˜VÐ%5¸Ñ%GÑHÔHð	<ð 	<ñ IÔHð	<ð „[×ÒØ"ØˆˆSˆSÐ!Ð#8Ñ9Ô9Ñ:Ô:ñô ðJð Jñ	ô ðJð2ð ð ðØ
��”˜2˜qÑ!Ô!Ñ
!ðà
ˆc�Y�R”Y˜r 1Ñ%Ô%Ñ%Ñ
%ðÐð
 „[×ÒØð	
ð 	
à+˜)Ô+Ð,@ÈÐKÑKÔKð	
ñ 	
ô 	
ñô ð-ð -ñô ð-ð „[×Ò˜WÐ&:Ñ;Ô;ð!ð !ñ <Ô;ð!ð !ð !r6   rc  c                   ó   — e Zd Zd„ ZdS )ÚTestFixedLocatorc                 ó”   — t          j        t          dd¦  «        d¬¦  «        }|                     d¬¦  «         |j        dk    sJ ‚dS )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,   ÚFixedLocatorr{  rl   r*   )r/   Úfixeds     r4   rm   z TestFixedLocator.test_set_paramsH  sQ   € õ Ô$¥U¨1¨b¡\¤\¸Ð;Ñ;Ô;ˆØ×Ò˜qÐÑ!Ô!Ð!ØŒ{˜aÒÐÐÐÐÐr6   NrX  r@   r6   r4   rš  rš  G  s#   € € € € € ð ð  ð  ð  ð  r6   rš  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestIndexLocatorc                 ó”   — t          j        dd¬¦  «        }|                     dd¬¦  «         |j        dk    sJ ‚|j        dk    sJ ‚dS )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,   ÚIndexLocatorrl   r'  rƒ   ©r/   Úindexs     r4   rm   z TestIndexLocator.test_set_paramsT  s^   € õ Ô$¨!°AÐ6Ñ6Ô6ˆØ×Ò˜a¨ÐÑ*Ô*Ð*ØŒ{˜aÒÐÐÐØŒ|˜qÒ Ð Ð Ð Ð Ð r6   c                 ón  — t          j        dd¬¦  «        }t          |                     dd¦  «        g d¢¦  «         t          j        dd¬¦  «        }t          |                     dd¦  «        g d¢¦  «         t          j        dd¬¦  «        }t          |                     dd	¦  «        g d
¢¦  «         dS )zQ
        Test that tick_values does not return values greater than vmax.
        r   r   r‚   r’   )r   r   r   r\   r’   r   r  r   r!   )r   r   r’   N)r,   r¢  r   r.   r£  s     r4   Ú#test_tick_values_not_exceeding_vmaxz4TestIndexLocator.test_tick_values_not_exceeding_vmax_  s¼   € õ
 Ô$¨!°AÐ6Ñ6Ô6ˆÝ˜5×,Ò,¨Q°Ñ2Ô2°O°O°OÑDÔDÐDõ Ô$¨!°CÐ8Ñ8Ô8ˆÝ˜5×,Ò,¨Q°Ñ2Ô2Ð4HÐ4HÐ4HÑIÔIÐIõ Ô$¨!°AÐ6Ñ6Ô6ˆÝ˜5×,Ò,¨Q°Ñ2Ô2°I°I°IÑ>Ô>Ð>Ð>Ð>r6   N)rK   rL   rM   rm   r¦  r@   r6   r4   r   r   S  s2   € € € € € ð	!ð 	!ð 	!ð?ð ?ð ?ð ?ð ?r6   r   c                   ó€   — e Zd Zd„ Zej                             dddddgfddg d¢fg¦  «        d„ ¦   «         Zd„ Zd	„ Z	d
S )ÚTestSymmetricalLogLocatorc                 ó˜   — t          j        dd¬¦  «        }|                     dgd¬¦  «         |j        dgk    sJ ‚|j        dk    sJ ‚dS )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   ©rz   Ú	linthreshrr   ri   )r"  r^   N)r,   ÚSymmetricalLogLocatorrl   r(  r^   ©r/   Úsyms     r4   rm   z)TestSymmetricalLogLocator.test_set_paramsq  s_   € õ Ô+°¸qÐAÑAÔAˆØ�Š˜S˜E¨AˆÑ.Ô.Ð.ØŒy˜S˜EÒ!Ð!Ð!Ð!ØŒ|˜qÒ Ð Ð Ð Ð Ð r6   r'   r   r   r   ©r   r   r   c                 ó€   — t          j        dd¬¦  «        }|                     ||¬¦  «        }t          ||¦  «         d S )Nr"   r   rª  )r0   r1   )r,   r¬  r.   r   )r/   r0   r1   r2   r®  rt  s         r4   Útest_valuesz%TestSymmetricalLogLocator.test_values}  sD   € õ Ô+°¸qÐAÑAÔAˆØ—’ T°�Ñ5Ô5ˆÝ˜5 (Ñ+Ô+Ð+Ð+Ð+r6   c                 óÊ   — t          j        ddddg¬¦  «        }|                     ¦   «          |j                             dd¦  «         t           |¦   «         g d¢¦  «         d S )Nr"   r   rr   r  )rz   r«  r"  éöÿÿÿ)	éìÿÿÿiØÿÿÿéþÿÿÿr‘   r   r   r’   r
   é(   )r,   r¬  Úcreate_dummy_axisÚaxisÚset_view_intervalr   r­  s     r4   Ú	test_subsz#TestSymmetricalLogLocator.test_subsŠ  sj   € ÝÔ+°¸qÈÈSÀzÐRÑRÔRˆØ×ÒÑÔÐØŒ×"Ò" 3¨Ñ+Ô+Ð+Ý˜3˜3™5œ5Ð"EÐ"EÐ"EÑFÔFÐFÐFÐFr6   c                 óü  — t          j        dd¬¦  «        }|                     ¦   «          |j                             dd¦  «          |¦   «         dgk                         ¦   «         sJ ‚|j                             dd¦  «          |¦   «         ddgk                         ¦   «         sJ ‚|                     dd¦  «        d	k    sJ ‚|                     d
d
¦  «        dk    sJ ‚|                     dd¦  «        dk    sJ ‚d S )Nr"   r   rª  ri   rh  r   é   r  )r   r   r³  )éœÿÿÿr   r   )çü©ñÒMbP¿r   )r,   r¬  r·  r¸  r¹  rH   r‹   r­  s     r4   Útest_extendingz(TestSymmetricalLogLocator.test_extending�  s  € ÝÔ+°¸qÐAÑAÔAˆØ×ÒÑÔÐØŒ×"Ò" 1 aÑ(Ô(Ð(Ø�‘”˜#˜’×#Ò#Ñ%Ô%Ð%Ð%Ð%ØŒ×"Ò" 1 bÑ)Ô)Ð)Ø�‘”˜#˜t˜Ò$×)Ò)Ñ+Ô+Ð+Ð+Ð+Ø�Š˜r 2Ñ&Ô&¨(Ò2Ð2Ð2Ð2Ø�Š˜s CÑ(Ô(¨JÒ6Ð6Ð6Ð6Ø�Š˜q !Ñ$Ô$¨Ò7Ð7Ð7Ð7Ð7Ð7r6   N)
rK   rL   rM   rm   rA   rS   rT   r±  rº  r¿  r@   r6   r4   r¨  r¨  p  s—   € € € € € ð
!ð 
!ð 
!ð „[×ÒØ"à�A˜˜1�v�Ø�Q˜
˜
˜
Ð#ðñô ð,ð ,ñô ð,ðGð Gð Gð	8ð 	8ð 	8ð 	8ð 	8r6   r¨  c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestAsinhLocatorc                 ó€   — t          j        dd¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚d S )NgX9´Èv¾@é   )Úlinear_widthr^   r"   )r,   ÚAsinhLocatorrÄ  r^   rz   ©r/   Úlctrs     r4   Ú	test_initzTestAsinhLocator.test_init�  sQ   € ÝÔ#°ÀÐDÑDÔDˆØÔ  EÒ)Ð)Ð)Ð)ØŒ} Ò"Ð"Ð"Ð"ØŒy˜BŠˆˆˆˆˆr6   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 ‚|                     d¬¦  «         |j        dk    sJ ‚|                     d ¦  «         |j        dk    sJ ‚|                     d	¬
¦  «         |j        d	k    sJ ‚|                     d ¬
¦  «         |j        d	k    sJ ‚|                     d¬¦  «         |j        dk    sJ ‚|                     d ¬¦  «         |j        dk    sJ ‚|                     d¬¦  «         |j        dk    sJ ‚|                     d ¬¦  «         |j        dk    sJ ‚|                     g ¬¦  «         |j        �J ‚d S )Nr!   é   rî   r’   )rÄ   g      
@)rÄ  r^   Ú	symthreshrz   r"  é   r]   r   )rË  r&  ry   )r   g     €@r!  )r,   rÅ  r^   rË  rz   r"  rl   rÆ  s     r4   rm   z TestAsinhLocator.test_set_params£  sÅ  € ÝÔ#°Ø-/¸5Ø)*°ð>ñ >ô >ˆð Œ} Ò"Ð"Ð"Ð"ØŒ~ Ò&Ð&Ð&Ð&ØŒy˜AŠ~ˆ~ˆ~ˆ~ØŒy˜KÒ'Ð'Ð'Ð'à�Š ˆÑ$Ô$Ð$ØŒ} Ò"Ð"Ð"Ð"Ø�Š˜ÑÔÐØŒ} Ò"Ð"Ð"Ð"à�Š #ˆÑ&Ô&Ð&ØŒ~ Ò$Ð$Ð$Ð$Ø�Š $ˆÑ'Ô'Ð'ØŒ~ Ò$Ð$Ð$Ð$à�Š˜QˆÑÔÐØŒy˜AŠ~ˆ~ˆ~ˆ~Ø�Š˜TˆÑ"Ô"Ð"ØŒy˜AŠ~ˆ~ˆ~ˆ~à�Š˜ZˆÑ(Ô(Ð(ØŒy˜JÒ&Ð&Ð&Ð&Ø�Š˜TˆÑ"Ô"Ð"ØŒy˜JÒ&Ð&Ð&Ð&Ø�Š˜RˆÑ Ô Ð ØŒyÐ Ð Ð Ð Ð r6   c                 ó„  — t          j        ddd¬¦  «        }t          |                     dd¦  «        t	          j        ddd¦  «        ¦  «         t          |                     d	d
¦  «        t	          j        d	dd¦  «        ¦  «         t          |                     dd¦  «        t	          j        ddd¦  «        ¦  «         d S )Nr   r<   r   ©rÄ  r^   rz   r   r   ç)\�Âõ(ð?ra   r   r¦   gB`åÐ"Û¹?ç{®Gáz”?g{®Gáz„¿rë   gM„O¯„?çü©ñÒMb`?©r,   rÅ  r   r.   rN   rP   rÆ  s     r4   Útest_linear_valuesz#TestAsinhLocator.test_linear_valuesÂ  sÂ   € ÝÔ#°¸rÈÐJÑJÔJˆå˜D×,Ò,¨R°Ñ3Ô3ÝœI b¨$°Ñ4Ô4ñ	6ô 	6ð 	6å˜D×,Ò,¨T°3Ñ7Ô7ÝœI d¨E°4Ñ8Ô8ñ	:ô 	:ð 	:å˜D×,Ò,¨U°DÑ9Ô9ÝœI e¨V°UÑ;Ô;ñ	=ô 	=ð 	=ð 	=ð 	=r6   c                 óÌ   — t          j        ddd¬¦  «        }t          |                     dd¦  «        g d¢¦  «         t          |                     dd	¦  «        g d
¢¦  «         d S )Nr¦   r<   r   rÎ  r½  r   )r½  r´  r   r   r¾   r   ra   r   r!   r
   r   éüÿÿr  )rÕ  r½  r´  r…  r½   r   r¿   r\   r
   r   r  ©r,   rÅ  r   r.   rÆ  s     r4   Útest_wide_valuesz!TestAsinhLocator.test_wide_valuesÌ  s‹   € ÝÔ#°¸rÈÐJÑJÔJˆå˜D×,Ò,¨T°3Ñ7Ô7ð4ð 4ð 4ñ	5ô 	5ð 	5õ 	˜D×,Ò,¨U°DÑ9Ô9ð7ð 7ð 7ñ	8ô 	8ð 	8ð 	8ð 	8r6   c                 ó€   — t          j        ddd¬¦  «        }t          |                     dd¦  «        g d¢¦  «         dS )	z<Check that manually injected zero will supersede nearby tickr   r\   r   rÎ  r¼   rª   )rÂ   r   rª   NrÖ  rÆ  s     r4   Útest_near_zerozTestAsinhLocator.test_near_zeroÖ  sF   € åÔ#°¸qÀqÐIÑIÔIˆå˜D×,Ò,¨T°3Ñ7Ô7Ð9IÐ9IÐ9IÑJÔJÐJÐJÐJr6   c                 ó¢   — t          j        dd¬¦  «        }t          |                     dd¦  «        t	          j        ddd¦  «        ¦  «         d S )Nr   r<   r]   ée   éf   gq=
×£€Y@r¦   rÒ  rÆ  s     r4   Útest_fallbackzTestAsinhLocator.test_fallbackÜ  sV   € ÝÔ# C°"Ð5Ñ5Ô5ˆå˜D×,Ò,¨S°#Ñ6Ô6ÝœI c¨6°3Ñ7Ô7ñ	9ô 	9ð 	9ð 	9ð 	9r6   c                 ó  — t          j        dddd¬¦  «        }|                     ¦   «          |j                             dd¦  «         t           |¦   «         g d¢¦  «         |j                             dd	¦  «         t           |¦   «         g d
¢¦  «         |j                             dd¦  «         t           |¦   «         g d
¢¦  «         |j                             dd¦  «         t           |¦   «         g d¢¦  «         d S )Nr   r\   r   r   )rÄ  r^   rË  rz   r   r   )r   r   r   rª   r¯  g333333ë¿r«   r   )r   r«   r   )r,   rÅ  r·  r¸  r¹  r   rÆ  s     r4   Útest_symmetrizingz"TestAsinhLocator.test_symmetrizingâ  s  € ÝÔ#°¸QØ.2¸ð<ñ <ô <ˆà×ÒÑ Ô Ð àŒ	×#Ò# B¨Ñ*Ô*Ð*Ý˜D˜D™FœF J J JÑ/Ô/Ð/àŒ	×#Ò# B¨Ñ,Ô,Ð,Ý˜D˜D™FœF J J JÑ/Ô/Ð/àŒ	×#Ò# E¨4Ñ0Ô0Ð0Ý˜D˜D™FœF J J JÑ/Ô/Ð/àŒ	×#Ò# A sÑ+Ô+Ð+Ý˜D˜D™FœF N N NÑ3Ô3Ð3Ð3Ð3r6   c                 óü   — t          j        dddd¬¦  «        }t          |                     dd¦  «        g d¢¦  «         t          j        dd	d
¬¦  «        }t          |                     dd¦  «        g d¢¦  «         d S )Nr   ri   r"   )r   r\   r!   )rÄ  r^   rz   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   ra   r   r!   é   é}   iq  rÖ  )r/   Úlctr10Úlctr5s      r4   Útest_base_roundingz#TestAsinhLocator.test_base_roundingó  s±   € ÝÔ%°1¸qØ+-°Ið?ñ ?ô ?ˆå˜F×.Ò.¨t°SÑ9Ô9ðAð Að Añ	Bô 	Bð 	Bõ
 Ô$°!¸bÀqÐIÑIÔIˆÝ˜E×-Ò-¨e°TÑ:Ô:ð6ð 6ð 6ñ	7ô 	7ð 	7ð 	7ð 	7r6   N)rK   rL   rM   rÈ  rm   rÓ  r×  rÙ  rÝ  rß  ré  r@   r6   r4   rÁ  rÁ  œ  s�   € € € € € ðð ð ð!ð !ð !ð>=ð =ð =ð8ð 8ð 8ðKð Kð Kð9ð 9ð 9ð4ð 4ð 4ð"7ð 7ð 7ð 7ð 7r6   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
                             dddg¦  «        d„ ¦   «         Ze	j
                             de¦  «        d„ ¦   «         Ze	j
                             de¦  «        d„ ¦   «         Ze	j
                             de¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Ze	j
                             de¦  «        d„ ¦   «         Ze	j
                             d e¦  «        d!„ ¦   «         Ze	j
                             d"e¦  «        d#„ ¦   «         Ze	j
                             d"e¦  «        d$„ ¦   «         Zd%„ Zd&„ Zd'„ Zd(S ))Ú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@rq  )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ëþArh  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)r>  Ú1e8)g    Þ9šAz1.1e8zunicode_minus, result)Tõ   âˆ’1)Fú-1c                 óÎ   — |t           j        d<   t          j        ¦   «         j                             ¦   «                              d¦  «                             ¦   «         |k    sJ ‚d S )Núaxes.unicode_minusr   )r‰   r?  r®   Úgcar²   Úget_major_formatterÚformat_data_shortÚstrip)r/   Úunicode_minusrI   s      r4   Útest_unicode_minusz&TestScalarFormatter.test_unicode_minusC  sc   € ð .;�ŒÐ)Ñ*åŒG‰IŒIŒO×/Ò/Ñ1Ô1×CÒCÀBÑGÔG×MÒMÑOÔOØòð ð ð ð ð r6   zleft, right, offsetc                 óp  — t          j        ¦   «         \  }}|j                             ¦   «         }||k    rt	          j        t          d¬¦  «        nt          ¦   «         5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   |j         	                    ¦   «          |j
        |k    sJ ‚||k    rt	          j        t          d¬¦  «        nt          ¦   «         5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   |j         	                    ¦   «          |j
        |k    sJ ‚d S )NzAttempting to set identicalr>   )r®   r¯   r²   rý  rA   rV  rW  r   r°   Ú_update_ticksrƒ   )r/   ÚleftÚrightrƒ   rµ   r¶   Ú	formatters          r4   Útest_offset_valuez%TestScalarFormatter.test_offset_valueK  sª  € å”,‘.”.‰ˆˆRØ”H×0Ò0Ñ2Ô2ˆ	ð ˜’�õ Œl�;Ð.KÐLÑLÔLÐLÝ$/¡M¤Mð	%ð 	%à�KŠK˜˜eÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	Œ×ÒÑ Ô Ð ØÔ 6Ò)Ð)Ð)Ð)ð ˜’�õ Œl�;Ð.KÐLÑLÔLÐLÝ$/¡M¤Mð	%ð 	%à�KŠK˜˜tÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	Œ×ÒÑ Ô Ð ØÔ 6Ò)Ð)Ð)Ð)Ð)Ð)s$   ÁBÂBÂ	BÃ"DÄD	ÄD	Ú
use_offsetc                 óÚ   — t          j        d|i¦  «        5  t          j        ¦   «         }||                     ¦   «         k    sJ ‚|j        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nzaxes.formatter.useoffsetr   )r‰   rŠ   r,   ÚScalarFormatterÚget_useOffsetrƒ   )r/   r  Útmp_forms      r4   Útest_use_offsetz#TestScalarFormatter.test_use_offset\  s½   € åŒ^Ð7¸ÐDÑEÔEð 	(ð 	(ÝÔ.Ñ0Ô0ˆHØ ×!7Ò!7Ñ!9Ô!9Ò9Ð9Ð9Ð9Ø”? aÒ'Ð'Ð'Ð'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   —;A Á A$Á'A$Úuse_math_textc                 óÀ   — t          j        d|i¦  «        5  t          j        ¦   «         }||                     ¦   «         k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Núaxes.formatter.use_mathtext)r‰   rŠ   r,   r
  Úget_useMathText)r/   r  r  s      r4   Útest_useMathTextz$TestScalarFormatter.test_useMathTextc  sª   € åŒ^Ð:¸MÐJÑKÔKð 	?ð 	?ÝÔ.Ñ0Ô0ˆHØ  H×$<Ò$<Ñ$>Ô$>Ò>Ð>Ð>Ð>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð 	?ð 	?s   —.AÁAÁAc                 óœ   — t          j        ¦   «         }|                     d¦  «         |                     ¦   «         rJ ‚|j        dk    sJ ‚d S )Nr   ©r,   r
  Úset_useOffsetr  rƒ   ©r/   r  s     r4   Útest_set_use_offset_floatz-TestScalarFormatter.test_set_use_offset_floati  sU   € ÝÔ*Ñ,Ô,ˆØ×Ò˜sÑ#Ô#Ð#Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+ØŒ #Ò%Ð%Ð%Ð%Ð%Ð%r6   c                 ó  — t          j        ¦   «         }|                     d¦  «         |                     ¦   «         sJ ‚|j        dk    sJ ‚|                     d¦  «         |                     ¦   «         rJ ‚|j        dk    sJ ‚d S )NTr   Fr  r  s     r4   Útest_set_use_offset_boolz,TestScalarFormatter.test_set_use_offset_boolo  s”   € ÝÔ*Ñ,Ô,ˆØ×Ò˜tÑ$Ô$Ð$Ø×%Ò%Ñ'Ô'Ð'Ð'Ð'ØŒ !Ò#Ð#Ð#Ð#à×Ò˜uÑ%Ô%Ð%Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+ØŒ !Ò#Ð#Ð#Ð#Ð#Ð#r6   c                 óœ   — t          j        ¦   «         }|                     d¦  «         |                     ¦   «         rJ ‚|j        dk    sJ ‚d S )Nr   r  r  s     r4   Útest_set_use_offset_intz+TestScalarFormatter.test_set_use_offset_inty  sU   € ÝÔ*Ñ,Ô,ˆØ×Ò˜qÑ!Ô!Ð!Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+ØŒ !Ò#Ð#Ð#Ð#Ð#Ð#r6   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        ¦   «         }| 	                    ¦   «         sJ ‚| 
                    ¦   «          |j                             dd¦  «         |                     g d	¢¦  «         | |d
¦  «        v sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NÚthousands_sepÚgroupingr   zLocale does not apply groupingzaxes.formatter.use_localeTr   r"   )r   r   r\   g    eÍÍA)ÚlocaleÚ
localeconvÚCHAR_MAXrA   Úskipr‰   rŠ   r,   r
  Úget_useLocaler·  r¸  Úset_data_intervalÚset_locs)r/   ÚconvÚsepr  s       r4   Útest_use_localez#TestScalarFormatter.test_use_locale  sS  € ÝÔ Ñ"Ô"ˆØ�?Ô#ˆØð 	:�d˜:Ô& r s sÔ+°µV´_Ð4EÐ/FÐFÐFÝŒKÐ8Ñ9Ô9Ð9åŒ^Ð8¸$Ð?Ñ@Ô@ð 	(ð 	(ÝÔ.Ñ0Ô0ˆHØ×)Ò)Ñ+Ô+Ð+Ð+Ð+à×&Ò&Ñ(Ô(Ð(ØŒM×+Ò+¨A¨rÑ2Ô2Ð2Ø×Ò˜i˜i˜iÑ(Ô(Ð(Ø˜(˜( 3™-œ-Ð'Ð'Ð'Ð'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   Á'A?C4Ã4C8Ã;C8z.sci_type, scilimits, lim, orderOfMag, fewticksc                 óÂ  — t          j        ¦   «         }|                     |¦  «         |                     |¦  «         t	          j        ¦   «         \  }}|j                             |¦  «          |j        |Ž  |r,|j         	                    t          j
        d¦  «        ¦  «         |                     |j                             ¦   «         ¦  «         ||j        k    sJ ‚d S )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	            r4   Útest_scilimitsz"TestScalarFormatter.test_scilimitsŽ  sÓ   € õ Ô*Ñ,Ô,ˆØ×Ò Ñ)Ô)Ð)Ø× Ò  Ñ+Ô+Ð+Ý”,‘.”.‰ˆˆRØ
Œ×$Ò$ XÑ.Ô.Ð.ØˆŒ�SÐÐØð 	?ØŒH×&Ò&¥wÔ':¸1Ñ'=Ô'=Ñ>Ô>Ð>à×Ò˜"œ(×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø˜XÔ7Ò7Ð7Ð7Ð7Ð7Ð7r6   zvalue, expectedc                 ó€   — dt           j        d<   t          j        ¦   «         }|                     |¦  «        |k    sJ ‚d S )NFrû  )r‰   r?  r,   r
  Úformat_data)r/   Úvaluer2   Úsfs       r4   Útest_format_dataz$TestScalarFormatter.test_format_data�  s@   € à-2�ŒÐ)Ñ*ÝÔ$Ñ&Ô&ˆØ�~Š~˜eÑ$Ô$¨Ò0Ð0Ð0Ð0Ð0Ð0r6   zdata, expectedc                 ó¼   — t          j        ¦   «         \  }}|                     dd¦  «         |j                             ¦   «         j        } ||¦  «        |k    sJ ‚d S )Nr   r   )r®   r¯   r°   r²   rý  rþ  )r/   r‡   r2   rµ   r¶   Úfmts         r4   Útest_cursor_precisionz)TestScalarFormatter.test_cursor_precision£  sZ   € å”,‘.”.‰ˆˆRØ
�Š�B˜ÑÔÐØŒh×*Ò*Ñ,Ô,Ô>ˆØˆs�4‰yŒy˜HÒ$Ð$Ð$Ð$Ð$Ð$r6   c                 ó6  — t          j        ¦   «         }|                     ¦   «          |j                             dd¦  «         |j        } ||¦  «        |k    sJ ‚|j                             ¦   «         dk    sJ ‚|j                             ¦   «         dk    sJ ‚d S )Nr   r"   rh  )r,   r
  r·  r¸  r¹  rþ  Úget_tick_spaceÚ
get_minpos)r/   r‡   r2   r7  r:  s        r4   Útest_cursor_dummy_axisz*TestScalarFormatter.test_cursor_dummy_axisª  s¡   € õ Ô$Ñ&Ô&ˆØ
×ÒÑÔÐØ
Œ×!Ò! ! RÑ(Ô(Ð(ØÔ"ˆØˆs�4‰yŒy˜HÒ$Ð$Ð$Ð$ØŒw×%Ò%Ñ'Ô'¨1Ò,Ð,Ð,Ð,ØŒw×!Ò!Ñ#Ô# qÒ(Ð(Ð(Ð(Ð(Ð(r6   c                 óâ  — t           j                             ddddœ¦  «         t          t          j        ¦  «        j        dk     r|t	          j        t          d¬¦  «        5  t          j
        ¦   «         \  }}|                     g d¢¦  «         |j                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S t	          j        t          d	¬¦  «        5  t	          j        t          d¬¦  «        5  t          j
        ¦   «         \  }}|                     g d¢¦  «         |j                             ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )
NÚserifÚcmr10F)úfont.familyz
font.serifr  ri   zcmr10 font should ideallyr>   r¯  z
Glyph 8722)r‰   r?  ÚupdateÚparse_versionrA   Ú__version__rò   rV  rW  r®   r¯   rË   ÚcanvasÚdrawr  s      r4   Útest_mathtext_ticksz'TestScalarFormatter.test_mathtext_ticksµ  s  € ÝŒ×ÒØ"Ø!Ø+0ð
ð 
ñ 	ô 	ð 	õ �Ô+Ñ,Ô,Ô2°QÒ6Ð6Ý”�kÐ1LÐMÑMÔMð "ð "Ýœ,™.œ.‘��RØ—’˜j˜j˜jÑ)Ô)Ð)Ø”
—’Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "õ
 ”,�{°,Ð?Ñ?Ô?ð "ð "Ý”,�{Ð2MÐNÑNÔNð"ð "åœ,™.œ.‘��RØ—’˜j˜j˜jÑ)Ô)Ð)Ø”
—’Ñ!Ô!Ð!ð	"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "sJ   Á!AB5Â5B9Â<B9ÃE$Ã9AEÅ E$ÅE	ÅE$ÅE	ÅE$Å$E(Å+E(c                 ó  — t           j                             ddddœ¦  «         |                     t          j        d¬¦  «        5  t          j        ¦   «         \  }}|                     ddgd	dg¦  «         | 	                    d
¦  «         g d¢}t          j        ¦   «         }|                     |t          ||¦  «        ¦  «         |j                             ¦   «          |j        rJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NrB  ÚcmT)rC  zmathtext.fontsetr  zmatplotlib.mathtext)Úloggerg¸…ëQ¸ž¿r¥   r¶  r  )rÐ  r§   r’   rã  )r‰   r?  rD  Úat_levelÚloggingÚWARNINGr®   r¯   Úplotr  r,   ÚLogFormatterSciNotationÚ
set_yticksÚmaprG  rH  Útext)r/   Úcaplogrµ   r¶   Úyticksr  s         r4   Útest_cmr10_substitutionsz,TestScalarFormatter.test_cmr10_substitutionsÈ  sD  € ÝŒ×ÒØ"Ø $Ø+/ð
ð 
ñ 	ô 	ð 	ð �_Š_�Wœ_Ð5Jˆ_ÑKÔKð 	#ð 	#Ý”l‘n”n‰GˆC�Ø�GŠG�U˜D�M B¨ :Ñ.Ô.Ð.Ø�MŠM˜%Ñ Ô Ð Ø'Ð'Ð'ˆFÝÔ7Ñ9Ô9ˆIØ�MŠM˜&¥# i°Ñ"8Ô"8Ñ9Ô9Ð9ØŒJ�OŠOÑÔÐØ”{Ð"Ð"�?Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#s   ÁB#C6Ã6C:Ã=C:c                 óx   — t          j        ¦   «         }|                     g ¦  «          |d¦  «        dk    sJ ‚d S )Nr   Ú )r,   r
  r%  )r/   r7  s     r4   Útest_empty_locsz#TestScalarFormatter.test_empty_locsÚ  s8   € ÝÔ$Ñ&Ô&ˆØ
�Š�B‰ŒˆØˆr�#‰wŒw˜"Š}ˆ}ˆ}ˆ}ˆ}ˆ}r6   N)rK   rL   rM   Úoffset_dataÚuse_offset_dataÚuseMathText_dataÚscilimits_dataÚcursor_datar5  rA   rS   rT   r  r  r  r  r  r  r  r(  r3  r8  r;  r?  rI  rW  rZ  r@   r6   r4   rë  rë    s‰  € € € € € ðð ð €KðB ˜U�m€Oà˜e�}Ðð
ð 
ð 
€Nð 
ˆWˆØ	�ÐØ	�ÐØ	�ÐØ	ˆxÐð€Kðð ð €Kð „[×ÒÐ4Ø7¸ÐGñIô Iðð ñIô Iðð „[×ÒÐ2°KÑ@Ô@ð*ð *ñ AÔ@ð*ð  „[×Ò˜\¨?Ñ;Ô;ð(ð (ñ <Ô;ð(ð „[×Ò˜_Ð.>Ñ?Ô?ð?ð ?ñ @Ô?ð?ð
&ð &ð &ð$ð $ð $ð$ð $ð $ð(ð (ð (ð „[×ÒØ8¸.ñJô Jð8ð 8ñJô Jð8ð „[×ÒÐ.°Ñ<Ô<ð1ð 1ñ =Ô<ð1ð
 „[×ÒÐ-¨{Ñ;Ô;ð%ð %ñ <Ô;ð%ð „[×ÒÐ-¨{Ñ;Ô;ð)ð )ñ <Ô;ð)ð"ð "ð "ð&#ð #ð #ð$ð ð ð ð r6   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                             de	¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Zd„ ZdS )ÚTestLogFormatterExponentTr’   r…  r  )z-3z-2rù  Ú0Ú1Ú2Ú3Fr"   r¦   r  ra   r¾   gñhãˆµøä¾r   )ú0.1z1e-05ú3.14z0.2z-0.2z-1e-05rã  )r\   r!   r¼  é*   ©Údtype)re  Ú5Ú12Ú42rr   rÆ   r  z2labelOnlyBase, exponent, locs, positions, expectedrz   c                 ó  ‡	— t          j        ||¬¦  «        Š	‰	                     ¦   «          ‰	j                             d||z  ¦  «         ||z  }ˆ	fd„t          ||¦  «        D ¦   «         }d„ |D ¦   «         }||k    sJ ‚d S )N©rz   ÚlabelOnlyBaser   c                 ó.   •— g | ]\  }} ‰||¦  «        ‘ŒS r@   r@   )rÖ   r×   Úposr  s      €r4   rØ   z7TestLogFormatterExponent.test_basic.<locals>.<listcomp>ø  s)   ø€ ÐIÐIÐI©¨¨C�)�)˜A˜sÑ#Ô#ÐIÐIÐIr6   c                 ó:   — g | ]}|                      d d¦  «        ‘ŒS )ú-u   âˆ’©Úreplace)rÖ   Úlabels     r4   rØ   z7TestLogFormatterExponent.test_basic.<locals>.<listcomp>ù  s'   € ÐOÐOÐO¸U�E—M’M #Ð'7Ñ8Ô8ÐOÐOÐOr6   )r,   ÚLogFormatterExponentr·  r¸  r¹  r
  )
r/   rp  rz   ÚexponentÚlocsÚ	positionsr2   ÚvalsÚlabelsr  s
            @r4   r5   z#TestLogFormatterExponent.test_basicî  s¨   ø€ õ
 Ô0°dØ?LðNñ Nô Nˆ	à×#Ò#Ñ%Ô%Ð%ØŒ×(Ò(¨¨D°(©NÑ;Ô;Ð;Ø�T‰zˆØIÐIÐIÐIµC¸¸iÑ4HÔ4HÐIÑIÔIˆØOÐOÀhÐOÑOÔOˆØ˜Ò!Ð!Ð!Ð!Ð!Ð!r6   c                 ó²   — t          j        dd¬¦  «        }|                     ¦   «          |j                             dd¦  «          |d¦  «        dk    sJ ‚d S )Nr"   Tro  r   g&üøŽ$ô?rY  )r,   rx  r·  r¸  r¹  )r/   r  s     r4   Ú
test_blankz#TestLogFormatterExponent.test_blankü  sb   € åÔ0°bÈÐMÑMÔMˆ	Ø×#Ò#Ñ%Ô%Ð%ØŒ×(Ò(¨¨BÑ/Ô/Ð/Øˆy˜Ñ!Ô! RÒ'Ð'Ð'Ð'Ð'Ð'r6   N)rK   rL   rM   rN   rP   rO   Úpir{  ÚfloatÚ
param_dataÚeÚ	base_datarA   rS   rT   r5   r  r@   r6   r4   ra  ra  à  s9  € € € € € à	ˆq�)�"”)˜B Ñ$Ô$ i b¤i°°CÑ&8Ô&8Ø	/Ð	/Ð	/ð	1ð 
��H�B”H˜c 7¨B¬E°3¸¸hÐGÑHÔHØ	ˆˆq‰ŒÐDÐDÐDð	Fà	��H�B”H˜^˜^˜^°5Ð9Ñ9Ô9¸5¸5À¹8¼8Ø	Ð	Ð	ð	!ð	€Jð �c˜4 ¤¨¬Ð-€Ià„[×ÒØ@À*ñNô Nà„[×Ò˜V YÑ/Ô/ð	"ð 	"ñ 0Ô/ñNô Nð	"ð(ð (ð (ð (ð (r6   ra  c                   ó|   — e Zd Z ej        ¦   «         Zg d¢Zej         	                    de¦  «        d„ ¦   «         Z
dS )Ú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  |                      |¦  «        |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nzaxes.formatter.min_exponent)r‰   rŠ   r:  )r/   Úmin_exponentr6  r2   s       r4   Útest_min_exponentz*TestLogFormatterMathtext.test_min_exponent  sš   € åŒ^Ð:¸LÐIÑJÔJð 	/ð 	/Ø—8’8˜E‘?”? hÒ.Ð.Ð.Ð.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   —AÁAÁAN)rK   rL   rM   r,   ÚLogFormatterMathtextr:  Ú	test_datarA   rS   rT   rŠ  r@   r6   r4   r†  r†    se   € € € € € Ø
&ˆ'Ô
&Ñ
(Ô
(€Cð	ð 	ð 	€Ið „[×ÒÐ<¸iÑHÔHð/ð /ñ IÔHð/ð /ð /r6   r†  c                   óž   — e Zd Zg d¢Zej                             d¦  «        ej         	                    de¦  «        d„ ¦   «         ¦   «         Z
dS )Ú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   r‡  )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"   rf  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 ¦  «         d S # 1 swxY w Y   d S )Nry   útext.usetexF)r,   rQ  r‰   rŠ   )r/   rz   r6  r2   r  s        r4   r5   z&TestLogFormatterSciNotation.test_basic+  s®   € õ Ô3¸Ð>Ñ>Ô>ˆ	ÝŒ^˜]¨EÐ2Ñ3Ô3ð 	0ð 	0Ø�9˜UÑ#Ô# xÒ/Ð/Ð/Ð/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   ¬AÁAÁAN)rK   rL   rM   rŒ  r‰   Ústyler   rA   rS   rT   r5   r@   r6   r4   rŽ  rŽ    sp   € € € € € ðð ð €Ið& 	„Y×Ò�yÑ!Ô!Ø„[×ÒÐ4°iÑ@Ô@ð0ð 0ñ AÔ@ñ "Ô!ð0ð 0ð 0r6   rŽ  c                   ó�  — e Zd Zg d¢Zej                             de¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zdd„Z	e
j                             d	¦  «        d
„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         ZdS )Ú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   rc  )r"   r   Ú10)r   r   Ú100)r  r   Ú1000)é'  r   Ú1e4)rî  r   Ú1e5)r–  rì   rb  )r—  rì   rb  )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ì   rb  )r   rì   rb  )r   rì   ú0.001)rë   rì   ú0.01)r¦   rì   rf  )r   rì   rc  )r"   rì   r¦  )r   rì   r§  )r  rì   r¨  )r©  rì   Ú10000)rî  rì   Ú100000)r–  r   rb  )r—  r   rb  )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   rb  )r   r   rb  )r   r   r´  )rë   r   rµ  )r¦   r   rf  )r   r   rc  )r"   r   r¦  )r   r   r§  )r  r   r¨  )r©  r   r¶  )rî  r   r·  )r–  r!   rb  )r—  r!   rb  )r˜  r!   rb  )r™  r!   z0.03)rš  r!   z0.31)r›  r!   rg  )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!   rb  )r   r!   rb  )r   r!   rb  )rë   r!   rµ  )r¦   r!   rf  )r   r!   rc  )r"   r!   r¦  )r   r!   r§  )r  r!   r¨  )r©  r!   r¶  )rî  r!   r·  )r–  r   rb  )r—  r   rb  )r˜  r   rb  )r™  r   rb  )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   rb  )r   r   rb  )r   r   rb  )rë   r   rb  )r¦   r   rf  )r   r   rc  )r"   r   r¦  )r   r   r§  )r  r   r¨  )r©  r   r¶  )rî  r   r·  )r–  r5  z3.1e-5)r—  r5  z3.1e-4)r˜  r5  z3.1e-3)r™  r5  z3.1e-2)rš  r5  z3.1e-1)r›  r5  r¸  )r�  r5  z3.1e1)rž  r5  z3.1e2)rŸ  r5  z3.1e3)r   r5  z3.1e4)r¡  r5  z3.1e5)r  r5  r¢  )r   r5  r£  )r   r5  r¤  )rë   r5  r¥  )r¦   r5  rö  )r   r5  rc  )r"   r5  r¦  )r   r5  r§  )r  r5  r¨  )r©  r5  rª  )rî  r5  r«  zvalue, domain, expectedc                 óh   — t          j        ¦   «         }|                     ||¦  «        }||k    sJ ‚d S ©N)r,   ÚLogFormatterÚ_pprint_val)r/   r6  Údomainr2   r:  rw  s         r4   Útest_pprintzTestLogFormatter.test_pprint»  s:   € åÔ"Ñ$Ô$ˆØ—’  vÑ.Ô.ˆØ˜Ò Ð Ð Ð Ð Ð r6   zvalue, long, short))r   rb  rb  )r   rb  rb  )rÂ   z-10^0rù  )g»½×Ùß|ë=z2x10^-10z2e-10)g    _ Bz10^10z1e+10c                 óú   — t          j        ¦   «         \  }}|                     d¦  «         |j                             ¦   «         }|                     |¦  «        |k    sJ ‚|                     |¦  «        |k    sJ ‚d S )Nr  )r®   r¯   Ú
set_xscaler²   rý  r5  rþ  )r/   r6  ÚlongÚshortrµ   r¶   r:  s          r4   r8  z!TestLogFormatter.test_format_dataÁ  sz   € õ ”,‘.”.‰ˆˆRØ
�Š�eÑÔÐØŒh×*Ò*Ñ,Ô,ˆØ�Š˜uÑ%Ô%¨Ò-Ð-Ð-Ð-Ø×$Ò$ UÑ+Ô+¨uÒ4Ð4Ð4Ð4Ð4Ð4r6   r@   c                 ó$  ‡‡— |                      ¦   «         Š|                     ¦   «         }‰                     |¦  «         |dt          j        t          j        |¦  «        ¦  «        z  z  }ˆfd„|D ¦   «         }ˆfd„|D ¦   «         }||k    sJ ‚dS )z.Test whether locator marks subs to be labeled.r"   c                 ó2   •— g | ]}t          |¦  «        ‰v ‘ŒS r@   )Úround)rÖ   Úcr"  s     €r4   rØ   z0TestLogFormatter._sub_labels.<locals>.<listcomp>Õ  s$   ø€ Ð:Ð:Ð:¨q�% ™(œ( dÐ*Ð:Ð:Ð:r6   c                 ó.   •— g | ]} ‰|¦  «        d k    ‘ŒS ©rY  r@   ©rÖ   r×   r:  s     €r4   rØ   z0TestLogFormatter._sub_labels.<locals>.<listcomp>Ö  s%   ø€ Ð8Ð8Ð8 q�c�c˜!‘f”f ’lÐ8Ð8Ð8r6   N)Úget_minor_formatterrÍ   r%  rN   ry  rz  )r/   r¸  r"  Úminor_tlocsÚcoefsÚlabel_expectedÚ
label_testr:  s     `    @r4   Ú_sub_labelszTestLogFormatter._sub_labelsÏ  s¤   øø€ à×&Ò&Ñ(Ô(ˆØ×,Ò,Ñ.Ô.ˆØ�Š�[Ñ!Ô!Ð!Ø˜b¥2¤8­B¬H°[Ñ,AÔ,AÑ#BÔ#BÑCÑCˆØ:Ð:Ð:Ð:°EÐ:Ñ:Ô:ˆØ8Ð8Ð8Ð8¨KÐ8Ñ8Ô8ˆ
Ø˜^Ò+Ð+Ð+Ð+Ð+Ð+r6   r�  c           	      ó„  ‡— t          j        ¦   «         \  }}|                     d¦  «         |j                             t          j        dg ¬¦  «        ¦  «         |j                             t          j        dt          j	        dd¦  «        ¬¦  «        ¦  «         |j         
                    t          j        d¬¦  «        ¦  «         |j                             t          j        d¬¦  «        ¦  «         |                     dd	¦  «         |j                             ¦   «         Š‰                     |j                             ¦   «         ¦  «         ˆfd
„|j                             ¦   «         D ¦   «         }t          j        |¦  «        sJ ‚|                      |j        g ¬¦  «         |                     dd¦  «         |                      |j        g ¬¦  «         |                     dd¦  «         |                      |j        g ¬¦  «         |                     dd¦  «         |                      |j        g d¢¬¦  «         |                     dd¦  «         |                      |j        g d¢¬¦  «         |                     dd¦  «         |                      |j        t          j	        ddt&          ¬¦  «        ¬¦  «         d S )Nr  r"   )rz   r"  r   T)rp  Fr   r0  c                 ó.   •— g | ]} ‰|¦  «        d k    ‘ŒS rÈ  r@   rÉ  s     €r4   rØ   z2TestLogFormatter.test_sublabel.<locals>.<listcomp>ç  s;   ø€ ð Dð Dð DØ!"ð !˜S ™VœV rš\ð Dð Dð Dr6   r!  i   éP   rÁ   rh  )r   r\   r’   r   ri   r   rª   ri  )r®   r¯   rÀ  r²   r  r,   r  rÇ   rN   rP   r,  r»  Úset_minor_formatterr°   rý  r%  r-  rH   rÏ  rx  )r/   rµ   r¶   Úshow_major_labelsr:  s       @r4   Útest_sublabelzTestLogFormatter.test_sublabelÙ  s¤  ø€ õ ”,‘.”.‰ˆˆRØ
�Š�eÑÔÐØ
Œ×"Ò"¥7Ô#5¸2ÀBÐ#GÑ#GÔ#GÑHÔHÐHØ
Œ×"Ò"¥7Ô#5¸2Ý;=¼9ÀQÈÑ;KÔ;Kð$Mñ $Mô $Mñ 	Nô 	Nð 	Nà
Œ×$Ò$¥WÔ%9ÈÐ%MÑ%MÔ%MÑNÔNÐNØ
Œ×$Ò$¥WÔ%9ÈÐ%NÑ%NÔ%NÑOÔOÐOà
�Š�A�sÑÔÐØŒh×*Ò*Ñ,Ô,ˆØ�Š�R”X×/Ò/Ñ1Ô1Ñ2Ô2Ð2ðDð Dð Dð DØ&(¤h×&@Ò&@Ñ&BÔ&BðDñ Dô DÐåŒvÐ'Ñ(Ô(Ð(Ð(Ð(Ø×Ò˜œ¨ÐÑ+Ô+Ð+ð 	�Š�A�sÑÔÐØ×Ò˜œ¨ÐÑ+Ô+Ð+ð 	�Š�A�rÑÔÐØ×Ò˜œ¨ÐÑ+Ô+Ð+ð 	�Š�B˜ÑÔÐØ×Ò˜œ¨¨¨ÐÑ5Ô5Ð5ð 	�Š�A�qÑÔÐØ×Ò˜œ¨¨¨ÐÑ5Ô5Ð5ð 	�Š�C˜ÑÔÐØ×Ò˜œ­¬	°!°R½sÐ(CÑ(CÔ(CÐÑDÔDÐDÐDÐDr6   Úval)r   r"   r   r  c                 óÆ   — t          j        ¦   «         }|                     ¦   «          |j                             dd¦  «          ||¦  «        t          |¦  «        k    sJ ‚d S ©Nr   r"   )r,   r»  r·  r¸  r¹  Ústr©r/   rÖ  Útemp_lfs      r4   Útest_LogFormatter_callz'TestLogFormatter.test_LogFormatter_call  sa   € õ Ô&Ñ(Ô(ˆØ×!Ò!Ñ#Ô#Ð#ØŒ×&Ò& q¨"Ñ-Ô-Ð-Øˆw�s‰|Œ|�s 3™xœxÒ'Ð'Ð'Ð'Ð'Ð'r6   )g       g       g       g       c                 ó    — t          j        ¦   «         }|                     ¦   «          |j                             dd¦  «          ||¦  «         d S rØ  )r,   r»  r·  r¸  r¹  rÚ  s      r4   Útest_LogFormatter_call_tinyz,TestLogFormatter.test_LogFormatter_call_tiny  sM   € õ Ô&Ñ(Ô(ˆØ×!Ò!Ñ#Ô#Ð#ØŒ×&Ò& q¨"Ñ-Ô-Ð-Øˆ�‰Œˆˆˆr6   N)r@   )rK   rL   rM   Úpprint_datarA   rS   rT   r¾  r8  rÏ  r‰   r“  r   rÕ  rÜ  rÞ  r@   r6   r4   r•  r•  3  sJ  € € € € € ðEð Eð E€KðN „[×ÒÐ6¸ÑDÔDð!ð !ñ EÔDð!ð
 „[×ÒÐ1ð 4ð 4ð 4ñ ô ð5ð 5ñô ð5ð,ð ,ð ,ð ,ð 	„Y×Ò�yÑ!Ô!ð(Eð (Eñ "Ô!ð(EðT „[×Ò˜UÐ$6Ð$6Ð$6Ñ7Ô7ð(ð (ñ 8Ô7ð(ð „[×Ò˜UÐ$FÐ$FÐ$FÑGÔGðð ñ HÔGðð ð r6   r•  c                   ó°  — e Zd Zed„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Z e	d„  e
dd¦  «        D ¦   «         d„  e
dd¦  «        D ¦   «         z   d	gz   ¦  «        Zej                             d
e¦  «        d„ ¦   «         Zej                             d
d¦  «        d„ ¦   «         Zej                             d
dd ej         ej        ddd¦  «         ¦  «        z   z  ¦  «        d„ ¦   «         Zg d¢Zej                             de¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zej                             dd¦  «        d„ ¦   «         ZdS )ÚTestLogitFormatterc                 ó¬  — t          j        d| ¦  «        }|ri|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)rV   r?   r�  rx  rX   )Ústringr?   rã  Úmantissarå  r6  ræ  rç  s           r4   Úlogit_deformatterz$TestLogitFormatter.logit_deformatter  s	  € õ ”ðð ñ
ô 
ˆð ð 	Ø˜”=¨Ð,ˆDØ/4°V¬}ÐC•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Ô-A�ˆCØ˜‘:ÐÝÐ:Ñ;Ô;Ð;r6   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                 ó  — |€Nt          j        t          ¦  «        5  t                               |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t                               |¦  «        }t
                               ||¦  «        sJ ‚d S rº  )rA   rB   rX   rá  rê  rZ  r\  )r/   Úfxr×   rð   s       r4   Útest_logit_deformaterz(TestLogitFormatter.test_logit_deformater7  sÈ   € ð ˆ9Ý”�zÑ*Ô*ð 9ð 9Ý"×4Ò4°RÑ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9õ #×4Ò4°RÑ8Ô8ˆAÝ×'Ò'¨¨1Ñ-Ô-Ð-Ð-Ð-Ð-Ð-s   œAÁAÁAc                 ó   — g | ]}d | z  ‘Œ	S )r"   r@   ©rÖ   Úis     r4   rØ   zTestLogitFormatter.<listcomp>K  s   € Ð*Ð*Ð*˜ˆ��‰Ð*Ð*Ð*r6   r   r"   c                 ó    — g | ]}d d| z  z
  ‘ŒS )r   r"   r@   rð  s     r4   rØ   zTestLogitFormatter.<listcomp>L  s"   € Ð
0Ð
0Ð
0˜aˆ1ˆr�q�b‰z‰>Ð
0Ð
0Ð
0r6   r   r×   c                 óè   — t          j        d¬¦  «        }|                     | j        ¦  «          ||¦  «        }t                               |¦  «        }t                               ||¦  «        sJ ‚dS )zj
        Test the formatted value correspond to the value for ideal ticks in
        logit space.
        F©Úuse_overlineN)r,   ÚLogitFormatterr%  Údecade_testrá  rê  rZ  r\  )r/   r×   r  ÚsÚx2s        r4   r5   zTestLogitFormatter.test_basicP  sp   € õ Ô*¸Ð>Ñ>Ô>ˆ	Ø×Ò˜4Ô+Ñ,Ô,Ð,ØˆI�a‰LŒLˆÝ×1Ò1°!Ñ4Ô4ˆÝ×#Ò# A rÑ*Ô*Ð*Ð*Ð*Ð*Ð*r6   )r   rÃ   r   r   r    r   c                 óŠ   — t          j        d¬¦  «        }|                     | j        ¦  «          ||¦  «        }|dk    sJ ‚dS )zl
        Test that invalid value are formatted with empty string without
        raising exception.
        Frô  rY  N)r,   rö  r%  r÷  )r/   r×   r  rø  s       r4   Útest_invalidzTestLogitFormatter.test_invalid\  sL   € õ Ô*¸Ð>Ñ>Ô>ˆ	Ø×Ò˜4Ô+Ñ,Ô,Ð,ØˆI�a‰LŒLˆØ�BŠwˆwˆwˆwˆwˆwr6   r}   r&  c                 ód  — t          j        d¬¦  «        }dD ]—}|d|z  z   dk     r‰|                     |d|z  z
  ||d|z  z   g¦  «          ||¦  «        } ||d|z  z   ¦  «        }t                               |¦  «        t                               |¦  «        z
  }d|cxk     r	d|z  k     sn J ‚Œ˜dS )zS
        The format length should change depending on the neighbor labels.
        Frô  )	r"   r
   rã  r   éÈ   r  iÐ  éˆ  r©  r   r   r   N)r,   rö  r%  rá  rê  )r/   r×   r  ÚNÚsxÚsx1Úds          r4   Útest_variablelengthz&TestLogitFormatter.test_variablelengthg  sÞ   € õ
 Ô*¸Ð>Ñ>Ô>ˆ	Ø@ð 		%ð 		%ˆAØ�1�q‘5‰y˜1Š}ˆ}Ø×"Ò" A¨¨A©¡I¨q°!°a¸!±e±)Ð#<Ñ=Ô=Ð=Ø�Y˜q‘\”\�Ø�i  A¨¡E¡	Ñ*Ô*�å&×8Ò8¸Ñ=Ô=Ý(×:Ò:¸2Ñ>Ô>ñ?ð ð ˜1�}�}’}�}˜q 1™u’}�}�}�}�}�}øð		%ð 		%r6   ))Trg  )©rå  F)éK   F)Tre  )r  ©r  T)Trd  )©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 ]|\  }}|                     |¦  «         |                     |¦  «        }	d„ |	D ¦   «         }
|r t          |
¦  «        dk    sJ ||f¦   «         ‚Œ]t          |
¦  «        dk    sJ ||f¦   «         ‚Œ}dS )z,
        Test minor/major displays.
        Tr¬   c                 ó8   — g | ]}t          |¦  «        d k    ¯|‘ŒS rÕ   ©rÌ   ©rÖ   Úfs     r4   rØ   z:TestLogitFormatter.test_minor_vs_major.<locals>.<listcomp>Ž  ó#   € Ð;Ð;Ð;˜aµ°A±´¸²
°
˜°
°
°
r6   r   N)	r,   rk  r.   rN   rO   rö  Úset_minor_thresholdÚformat_ticksrÌ   )r/   Úmethodrl  ÚcasesÚmin_locrt  Úmin_formÚ	thresholdÚ	has_minorÚ	formattedÚlabelleds              r4   Útest_minor_vs_majorz&TestLogitFormatter.test_minor_vs_major  s  € ð ð 	#ÝÔ*°Ð6Ñ6Ô6ˆGØ'�GÔ'¨Ð.ˆEˆEå”H˜T‘N”NˆEÝÔ)°Ð5Ñ5Ô5ˆØ$)ð 	Bð 	BÑ ˆI�yØ×(Ò(¨Ñ3Ô3Ð3Ø ×-Ò-¨eÑ4Ô4ˆIØ;Ð; 9Ð;Ñ;Ô;ˆHØð BÝ˜8‘}”} qÒ(Ð(Ð(¨9°iÐ*@Ñ(Ô(Ð(Ð(å˜8‘}”}¨Ò)Ð)Ð)¨I°yÐ+AÑ)Ô)Ð)Ð)ð	Bð 	Br6   c                 ó&  — t          j        d¬¦  «        }t          j        d¬¦  «        }|                     dd¦  «        }dD ]M}|                     |¦  «         |                     |¦  «        }d„ |D ¦   «         }t          |¦  «        |k    sJ ‚ŒNdS )z1
        Test the parameter minor_number
        Tr¬   r¥   r   )r   r’   ri   rq  c                 ó8   — g | ]}t          |¦  «        d k    ¯|‘ŒS rÕ   r
  r  s     r4   rØ   z8TestLogitFormatter.test_minor_number.<locals>.<listcomp>ž  r  r6   N)r,   rk  rö  r.   Úset_minor_numberr  rÌ   )r/   r  r  rt  Úminor_numberr  r  s          r4   Útest_minor_numberz$TestLogitFormatter.test_minor_number”  s¬   € õ Ô&¨TÐ2Ñ2Ô2ˆÝÔ)°Ð5Ñ5Ô5ˆØ×#Ò# D¨(Ñ3Ô3ˆØ)ð 	1ð 	1ˆLØ×%Ò% lÑ3Ô3Ð3Ø ×-Ò-¨eÑ4Ô4ˆIØ;Ð; 9Ð;Ñ;Ô;ˆHÝ�x‘=”= LÒ0Ð0Ð0Ð0Ð0ð		1ð 	1r6   c                 óö   — d}d}d}t          j        d¬¦  «        } ||¦  «        |k    sJ ‚|                     d¦  «          ||¦  «        |k    sJ ‚|                     d¦  «          ||¦  «        |k    sJ ‚dS )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        r4   Útest_use_overlinez$TestLogitFormatter.test_use_overline¡  s‘   € ð ˆØ*ˆØ3ˆÝÔ%°5Ð9Ñ9Ô9ˆØˆt�A‰wŒw˜#Š~ˆ~ˆ~ˆ~Ø×Ò˜$ÑÔÐØˆt�A‰wŒw˜#Š~ˆ~ˆ~ˆ~Ø×Ò˜%Ñ Ô Ð Øˆt�A‰wŒw˜#Š~ˆ~ˆ~ˆ~ˆ~ˆ~r6   c                 óÚ   — t          j        ¦   «         }d |d¦  «        v sJ ‚|                     d¦  «         d |d¦  «        v sJ ‚|                     d¦  «         d |d¦  «        v sJ ‚dS )z-
        Test the parameter one_half
        z\frac{1}{2}r   z1/2zone halfN)r,   rö  Úset_one_half)r/   r!  s     r4   Útest_one_halfz TestLogitFormatter.test_one_half¯  s‹   € õ Ô%Ñ'Ô'ˆØ   c¡¤Ð*Ð*Ð*Ð*Ø×Ò˜%Ñ Ô Ð Ø˜˜˜S™	œ	Ð!Ð!Ð!Ð!Ø×Ò˜*Ñ%Ô%Ð%Ø˜T˜T #™YœYÐ&Ð&Ð&Ð&Ð&Ð&r6   rÿ  )r   éý   iò  c                 óP  — t          j        dd|¦  «        dd…         }t          j        ¦   «         }|D ]q}|                     |¦  «        }|                     d¦  «        rdt          |dd …         ¦  «        z
  }nt          |¦  «        }t          ||z
  ¦  «        d|z  k     sJ ‚Œrd S )Nr   r   r   z1-r   )rN   rs   r,   rö  rþ  Ú
startswithr�  Úabs)r/   rÿ  rz  r!  r×   rí  rù  s          r4   Útest_format_data_shortz)TestLogitFormatter.test_format_data_shortº  s³   € åŒ{˜1˜a Ñ#Ô# A b DÔ)ˆÝÔ%Ñ'Ô'ˆØð 	'ð 	'ˆAØ×'Ò'¨Ñ*Ô*ˆBØ�}Š}˜TÑ"Ô"ð Ø�˜r ! " "œv™œÑ&��å˜2‘Y”Y�Ý�q˜2‘v‘;”;  Q¡Ò&Ð&Ð&Ð&Ð&ð	'ð 	'r6   N)rK   rL   rM   ra  rê  rA   rS   rT   rî  rj  r{  r÷  r5   rû  rN   Úexprs   r  Úlims_minor_majorr  r  r"  r%  r*  r@   r6   r4   rá  rá    s  € € € € € Øð<ð <ñ „\ð<ð@ „[×ÒØð	
ð 	
ð 	
ñ
ô 
ð.ð .ñ
ô 
ð.ð �&Ø*Ð*˜U˜U 1 b™\œ\Ð*Ñ*Ô*Ø
0Ð
0 5 5¨¨B¡<¤<Ð
0Ñ
0Ô
0ñ	1àˆ'ñ	ñô €Kð „[×Ò˜S +Ñ.Ô.ð	+ð 	+ñ /Ô.ð	+ð „[×Ò˜SÐ"?Ñ@Ô@ðð ñ AÔ@ðð „[×Ò˜S ! q¨6¨2¬6°;°2´;¸rÀ1ÀbÑ3IÔ3IÐ2IÑ+JÔ+JÑ'JÑ"KÑLÔLð%ð %ñ MÔLð%ð ð ð Ðð „[×ÒÐ2Ð4DÑEÔEðBð Bñ FÔEðBð(1ð 1ð 1ðð ð ð	'ð 	'ð 	'ð „[×Ò˜S /Ñ2Ô2ð	'ð 	'ñ 3Ô2ð	'ð 	'ð 	'r6   rá  c                   ó   — e Zd Zd„ ZdS )ÚTestFormatStrFormatterc                 óP   — t          j        d¦  «        }d |d¦  «        k    sJ ‚d S )Nz%05dÚ00002r   )r,   ÚFormatStrFormatterr  s     r4   r5   z!TestFormatStrFormatter.test_basicÈ  s1   € åÔ-¨fÑ5Ô5ˆØ˜(˜( 1™+œ+Ò%Ð%Ð%Ð%Ð%Ð%r6   N)rK   rL   rM   r5   r@   r6   r4   r.  r.  Ç  s#   € € € € € ð&ð &ð &ð &ð &r6   r.  c                   ó^   — e Zd Zg d¢Zej                             de¦  «        d„ ¦   «         ZdS )ÚTestStrMethodFormatter))ú{x:05d}©r   Fr0  )r4  r5  Tr0  )r4  ©rµ  Fz-0002)r4  r6  Tu   âˆ’0002)ú{x:03d}-{pos:02d}©r   r   Fú002-01)r7  r8  Tr9  )r7  ©rµ  r   Fz-02-01)r7  r:  Tu   âˆ’02-01z&format, input, unicode_minus, expectedc                 ó¤   — t          j        d|i¦  «        5  t          j        |¦  «        } ||Ž |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nrû  )r‰   rŠ   r,   ÚStrMethodFormatter)r/   ÚformatÚinputr   r2   r:  s         r4   r5   z!TestStrMethodFormatter.test_basicÚ  s¦   € åŒ^Ð1°=ÐAÑBÔBð 	+ð 	+ÝÔ,¨VÑ4Ô4ˆCØ�3˜�; (Ò*Ð*Ð*Ð*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   — AÁA	ÁA	N)rK   rL   rM   rŒ  rA   rS   rT   r5   r@   r6   r4   r3  r3  Î  sU   € € € € € ð	ð 	ð 	€Ið „[×ÒÐEÀyÑQÔQð+ð +ñ RÔQð+ð +ð +r6   r3  c                   ó^   — e Zd Zg d¢Zej                             de¦  «        d„ ¦   «         ZdS )ÚTestEngFormatter))FççÆô„EJ“À)z
-1.23457 kú-1 kz-1.23 k)TrA  )u   âˆ’1.23457 kõ   âˆ’1 ku	   âˆ’1.23 k)FçÞƒBÊÀó¿)z-1.23457rù  z-1.23)TrD  )u
   âˆ’1.23457rø  u   âˆ’1.23)Fç_c97Ýš¿¿)z
-123.457 mz-123 mz	-123.46 m)TrE  )u   âˆ’123.457 mu   âˆ’123 mu   âˆ’123.46 m)FçQ^•-':T¿)z
-1.23457 mz-1 mz-1.23 m)TrF  )u   âˆ’1.23457 mu   âˆ’1 mu	   âˆ’1.23 m)Tg       €©rb  rb  z0.00©Tr   rG  rH  )Tg›áÀm¶´>)u
   1.23457 Âµu   1 Âµu   1.23 Âµ)Tg_c97Ýš¿?)z	123.457 mz123 mz123.46 m)Tr¦   )ú100 mrI  z100.00 m)Tr   )rc  rc  z1.00)TgÞƒBÊÀó?)z1.23457rc  z1.23)Tg33333?�@)z999.9ú1 kz999.90)Tg*:’Ëÿ?�@©rJ  rJ  ú1.00 k)Fç*:’Ëÿ?�À)rB  rB  z-1.00 k)TrM  )rC  rC  u	   âˆ’1.00 k)Tr  rK  )Tié  )z1.001 krJ  rL  )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 QrN  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    sJ ‚Œˆˆ	fd„|D ¦   «         }t          j        ‰	¬¦  «        t          j        ‰	d¬	¦  «        t          j        ‰	d¬	¦  «        f}t	          ||¦  «        D ]\  }} ||¦  «        |k    sJ ‚Œd
D ]ñŠ
ˆˆ	ˆ
fd„|D ¦   «         }t          j        ‰	‰
¬¦  «        t          j        ‰	d‰
¬¦  «        t          j        ‰	d‰
¬¦  «        f}t	          ||¦  «        D ]\  }} ||¦  «        |k    sJ ‚Œˆ
fd„|D ¦   «         }t          j        ‰
¬¦  «        t          j        d‰
¬¦  «        t          j        d‰
¬¦  «        f}t	          ||¦  «        D ]\  }} ||¦  «        |k    sJ ‚ŒŒòdS )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   V — ŒdS ©r   ú Nr@   )rÖ   Ú_sÚDIGITSÚUNITs     €€r4   ú	<genexpr>z/TestEngFormatter.test_params.<locals>.<genexpr>*  sV   øè è € ð :ð :Ø*,ð +-¨R¬&°FÐ*:Ð*:�r˜C‘x $‘�Ø ™Ið:ð :ð :ð :ð :ð :r6   )Úunit)rY  rQ  )rY  u   â€¯z@_@c              3   ón   •K  — | ]/}|d          ‰v r|‰z   ‰z   n|                      d‰¦  «        ‰z   V — Œ0dS rS  ru  )rÖ   rU  rV  rW  Ú_seps     €€€r4   rX  z/TestEngFormatter.test_params.<locals>.<genexpr>:  sg   øè è € ð /ð /à!ð 02°"¬v¸Ð/?Ð/?˜2 ™9 tÑ+Ð+Ø "§
¢
¨3°Ñ 5Ô 5¸Ñ <ð/ð /ð /ð /ð /ð /r6   )rY  r'  )rY  rQ  r'  c              3   óD   •K  — | ]}|                      d ‰¦  «        V — ŒdS )rT  Nru  )rÖ   rU  r[  s     €r4   rX  z/TestEngFormatter.test_params.<locals>.<genexpr>H  s1   øè è € ÐDÐD°R˜2Ÿ:š: c¨4Ñ0Ô0ÐDÐDÐDÐDÐDÐDr6   )r'  )rQ  r'  N)r®   r?  r,   ÚEngFormatterr
  )r/   r   r>  r2   Úexp_outputsÚ
formattersÚ
_formatterÚ_exp_outputrV  rW  r[  s           @@@r4   Útest_paramszTestEngFormatter.test_params
  s±  øøø€ ð .;�ŒÐ)Ñ*ØˆØˆð ˆåÔ Ñ"Ô"ÝÔ ¨Ð*Ñ*Ô*ÝÔ ¨Ð*Ñ*Ô*ð
ˆ
õ
 (+¨:°{Ñ'CÔ'Cð 	4ð 	4Ñ#ˆJ˜Ø�:˜eÑ$Ô$¨Ò3Ð3Ð3Ð3Ð3ð
:ð :ð :ð :ð :Ø08ð:ñ :ô :ˆõ Ô  dÐ+Ñ+Ô+ÝÔ  d°1Ð5Ñ5Ô5ÝÔ  d°1Ð5Ñ5Ô5ð
ˆ
õ
 (+¨:°{Ñ'CÔ'Cð 	4ð 	4Ñ#ˆJ˜Ø�:˜eÑ$Ô$¨Ò3Ð3Ð3Ð3Ð3ð =ð 	8ð 	8ˆDð/ð /ð /ð /ð /ð /à%-ð/ñ /ô /ˆKõ Ô$¨$°DÐ9Ñ9Ô9ÝÔ$¨$°q¸dÐCÑCÔCÝÔ$¨$°q¸dÐCÑCÔCðˆJõ
 ,/¨z¸;Ñ+GÔ+Gð 8ð 8Ñ'�
˜KØ!�z %Ñ(Ô(¨KÒ7Ð7Ð7Ð7Ð7ð
 EÐDÐDÐD¸8ÐDÑDÔDˆKåÔ$¨Ð.Ñ.Ô.ÝÔ$¨A°4Ð8Ñ8Ô8ÝÔ$¨A°4Ð8Ñ8Ô8ðˆJõ
 ,/¨z¸;Ñ+GÔ+Gð 8ð 8Ñ'�
˜KØ!�z %Ñ(Ô(¨KÒ7Ð7Ð7Ð7Ð7ð8ð1	8ð 	8r6   N)rK   rL   rM   Úraw_format_datarA   rS   rT   rb  r@   r6   r4   r@  r@  á  s[   € € € € € ð#ð #ð #€OðJ „[×ÒÐ=¸ÑOÔOðD8ð D8ñ PÔOðD8ð D8ð D8r6   r@  c                  ó¤  — t          j        ¦   «         \  } }|                     g d¢g d¢¦  «         |                     g d¢¦  «         t	          j        d¬¦  «        t	          j        d¬¦  «        fD ]]}|j                             |¦  «         | j         	                    ¦   «          d„ | 
                    ¦   «         D ¦   «         }|g d¢k    sJ ‚Œ^d S )N)r   rä  r  T)Úusetex)ÚuseMathTextc                 ó6   — g | ]}|                      ¦   «         ‘ŒS r@   ©Úget_text©rÖ   Úlabls     r4   rØ   z8test_engformatter_usetex_useMathText.<locals>.<listcomp>Z  s    € ÐNÐNÐN°˜TŸ]š]™_œ_ÐNÐNÐNr6   )z$0$z$500$z$1$ k)r®   r¯   rP  rË   r,   r]  r²   r,  rG  rH  Úget_xticklabels)rµ   r¶   r  Úx_tick_label_texts       r4   Ú$test_engformatter_usetex_useMathTextrn  R  så   € ÝŒl‰nŒn�G€CˆØ‡G‚GˆNˆNˆN˜N˜N˜NÑ+Ô+Ð+Ø‡M‚M�.�.�.Ñ!Ô!Ð!ÝÔ*°$Ð7Ñ7Ô7ÝÔ*°tÐ<Ñ<Ô<ð>ð >ð >ˆ	à
Œ×$Ò$ YÑ/Ô/Ð/ØŒ
�ŠÑÔÐØNÐN¸×9KÒ9KÑ9MÔ9MÐNÑNÔNÐð !Ð$=Ð$=Ð$=Ò=Ð=Ð=Ð=Ð=ð>ð >r6   z9data_offset, noise, oom_center_desired, oom_noise_desired))g  @R›OBr"   rh  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   rh  r\   )ro  gH¯¼šò×z>r   iúÿÿÿ)rp  r   r   r…  )ro  r   r   r…  )g    @ƒÚ@r©  r   r\   )ro  r©  r   r\   )ro  r  r   r\   )ro  r   r   r   )ro  r"   r   r   c                 óþ  — d}t          j        ¦   «         \  }}| t          j        ddt          ¬¦  «        |z  z   }|                     |¦  «         t          j        d|¬¦  «        }d|j        d<   |j	         
                    |¦  «         |j                             ¦   «          |                     ¦   «         }	d	„ |                     ¦   «         D ¦   «         }
|j        rW|	d
         }|j        |         }|	dt!          |¦  «        z
           }|j        |         }||k    sJ ‚||k    sJ ‚|
D ]}||vsJ ‚Œ	d S |dk    sJ ‚|	dk    sJ ‚|
D ]7}|d         dk    rdn|}|                     |j        |         |z   ¦  «        sJ ‚Œ8d S )NÚeVr   r&  ri  T)Ú	useOffsetrY  Ú_r   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r@   rh  rj  s     r4   rØ   z0test_engformatter_offset_oom.<locals>.<listcomp>ˆ  s    € ÐBÐBÐB T�—’‘”ÐBÐBÐBr6   r   r   rY  rb  )r®   r¯   rN   rP   r�  rP  r,   r]  ÚENG_PREFIXESr÷   r,  rG  rH  Ú
get_offsetÚget_yticklabelsrƒ   rÌ   Úendswith)Údata_offsetÚnoiseÚoom_center_desiredÚoom_noise_desiredrW  rµ   r¶   Úydatar  Ú
offset_gotÚ	ticks_gotÚprefix_noise_gotÚprefix_noise_desiredÚprefix_center_gotÚprefix_center_desiredÚtickÚ
prefix_idxs                    r4   Útest_engformatter_offset_oomr‡  `  sÞ  € ð< €DÝŒl‰nŒn�G€CˆØ�"œ) B¨µÐ7Ñ7Ô7¸Ñ=Ñ=€EØ‡G‚GˆE�N„N€NÝÔ$¨t¸$Ð?Ñ?Ô?€Ià #€IÔ˜1ÑØ„H× Ò  Ñ+Ô+Ð+Ø„J‡O‚OÑÔÐØ×%Ò%Ñ'Ô'€JØBÐB¨R×-?Ò-?Ñ-AÔ-AÐBÑBÔB€Ið Ôð LØ% aœ=ÐØ(Ô5Ð6GÔHÐØ& r­#¨d©)¬)¡|Ô4ÐØ )Ô 6Ð7IÔ JÐØ#Ð'7Ò7Ð7Ð7Ð7Ø$Ð(9Ò9Ð9Ð9Ð9àð 	$ð 	$ˆDØ˜tÐ#Ð#Ð#Ð#Ð#ð	$ð 	$ð " QÒ&Ð&Ð&Ð&Ø˜RÒÐÐÐàð 	Lð 	LˆDð # 1œg¨šn˜n˜˜Ð2CˆJØ—=’= Ô!7¸
Ô!CÀdÑ!JÑKÔKÐKÐKÐKÐKð		Lð 	Lr6   c                   óº   — e Zd Zg d¢Zg d¢Zg d¢Zej                             dee¬¦  «        d„ ¦   «         Z	ej                             de¦  «        d„ ¦   «         Z
d	S )
ÚTestPercentFormatter))r   r   ú%rô  r   z120%)r   r   rŠ  r   éZ   z100%)r   r   rŠ  r‹  rã  z90%)r   r   rŠ  r»   r¶  z-2%)r   r   rŠ  g     €V@r   z90.0%)r   r   rŠ  gfffffT@r‹  z80.1%)r   r   rŠ  g…ëQ¸ŽQ@rã  z70.2%)r   r   rŠ  gôýÔxéFNÀr¶  z-60.6%)r   NrŠ  é_   r   z95.00%)r   NrŠ  r\   r   z300%)ç      1@NrŠ  r   g      !@z6%)r�  NrŠ  r   gÍÌÌÌÌÌ @z5.9%)r!   NrŠ  r½  g�íµ ÷Æ°>z-2000.00000%)r   r   Nr�   r   z120.00)r  r\   rY  rã  r   z66.667)rh  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\}\%)TFr�  )TTr�  z2xmax, decimals, symbol, x, display_range, expected)Úidsc                 óÌ   — t          j        |||¦  «        }t          j        ddi¬¦  «        5  |                     ||¦  «        |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr’  F©Úrc©r,   ÚPercentFormatterr‰   rŠ   Ú
format_pct)r/   ÚxmaxÚdecimalsÚsymbolr×   Údisplay_ranger2   r  s           r4   r5   zTestPercentFormatter.test_basicØ  sÌ   € õ
 Ô,¨T°8¸VÑDÔDˆ	ÝŒ^ ¨uÐ5Ð6Ñ6Ô6ð 	Fð 	FØ×'Ò'¨¨=Ñ9Ô9¸XÒEÐEÐEÐEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fó   ®AÁAÁ Azis_latex, usetex, expectedc                 óÌ   — t          j        d|¬¦  «        }t          j        d|i¬¦  «        5  |                     dd¦  «        |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nz\{t}%)r™  Úis_latexr’  r’  rã  r   r”  )r/   r�  re  r2   r:  s        r4   Ú
test_latexzTestPercentFormatter.test_latexá  sµ   € åÔ&¨hÀÐJÑJÔJˆÝŒ^ ¨vÐ6Ð7Ñ7Ô7ð 	7ð 	7Ø—>’> " cÑ*Ô*¨hÒ6Ð6Ð6Ð6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7r›  N)rK   rL   rM   Úpercent_dataÚpercent_idsÚ
latex_datarA   rS   rT   r5   rž  r@   r6   r4   r‰  r‰  £  s·   € € € € € ðð ð €Lð.ð ð €Kð,ð ð €Jð „[×ÒØ@Ø˜kð ñ +ô +ðFð Fñ+ô +ðFð „[×ÒÐ9¸:ÑFÔFð7ð 7ñ GÔFð7ð 7ð 7r6   r‰  c                  óª  — 	 t          j        t           j        d¦  «         n%# t           j        $ r t	          d¦  «         Y d S w xY wt          j        dd¬¦  «        } d}|                      |d¦  «        }|dk    sJ ‚d}|                      |d¦  «        }|d	k    sJ ‚t          j        d
d¬¦  «        } d}|                      |d¦  «        }|dk    sJ ‚d S )Nzde_DE.UTF-8z9SKIP: Locale de_DE.UTF-8 is not supported on this machineT)rf  Ú	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)rt  r:  r×   s      r4   Ú_impl_locale_commar©  è  s  € ðÝÔ�œ¨Ñ6Ô6Ð6Ð6øÝŒ<ð ð ð ÝÐIÑJÔJÐJØˆˆðøøøõ Ô#°ÀÐEÑEÔE€EØ
"€CØ×,Ò,¨S°#Ñ6Ô6€AØÐ(Ò(Ð(Ð(Ð(à
%€CØ×,Ò,¨S°#Ñ6Ô6€AØÐ+Ò+Ð+Ð+Ð+åÔ#°ÀÐFÑFÔF€EØ
€CØ×,Ò,¨S°#Ñ6Ô6€AØ�Š:ˆ:ˆ:ˆ:ˆ:ˆ:s   ‚" ¢AÁAc                  óê   — t           j                             t          dddi¬¦  «        } t	          d„ | j                             ¦   «         D ¦   «         d¦  «        }|rt          j        |¦  «         d S d S )Nr&   Ú
MPLBACKENDÚAgg)ÚtimeoutÚ	extra_envc              3   ó’   K  — | ]B}|                      d ¦  «        ¯|t          d ¦  «        d…                              ¦   «         V — ŒCdS )zSKIP:N)r(  rÌ   rÿ  )rÖ   Úlines     r4   rX  z$test_locale_comma.<locals>.<genexpr>  sb   è è € ð 2ð 2ØØŸš¨Ñ0Ô0ð2�T�#˜g™,œ,˜-˜-Ô(×.Ò.Ñ0Ô0ð 2ð 2ð 2ð 2ð 2ð 2r6   rY  )	r‰   rÚ   Úsubprocess_run_helperr©  ÚnextÚstdoutÚ
splitlinesrA   r"  )ÚprocÚskip_msgs     r4   Útest_locale_commar·  ý  s—   € õ Œ;×,Ò,Õ-?ÈØ8DÀeÐ7Lð -ñ Nô N€Dåð 2ð 2Ø!%¤×!7Ò!7Ñ!9Ô!9ð2ñ 2ô 2ð ñô €Hð ð ÝŒ�HÑÔÐÐÐðð r6   c                  óì   — t          j        ¦   «         \  } }t          j        t          ¦  «        5  |j                             t          j        ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rº  )	r®   r¯   rA   rB   rU   r²   r,  r,   r  ©rµ   r¶   s     r4   Útest_majformatter_typerº    ó¤   € ÝŒl‰nŒn�G€CˆÝ	Œ•yÑ	!Ô	!ð ;ð ;Ø
Œ×$Ò$¥WÔ%7Ñ%9Ô%9Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;ó   °,A)Á)A-Á0A-c                  óì   — t          j        ¦   «         \  } }t          j        t          ¦  «        5  |j                             t          j        ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rº  )	r®   r¯   rA   rB   rU   r²   rÓ  r,   r  r¹  s     r4   Útest_minformatter_typer¾    r»  r¼  c                  óì   — t          j        ¦   «         \  } }t          j        t          ¦  «        5  |j                             t          j        ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rº  )	r®   r¯   rA   rB   rU   r²   r  r,   r»  r¹  s     r4   Útest_majlocator_typerÀ    ó¤   € ÝŒl‰nŒn�G€CˆÝ	Œ•yÑ	!Ô	!ð ;ð ;Ø
Œ×"Ò"¥7Ô#7Ñ#9Ô#9Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;r¼  c                  óì   — t          j        ¦   «         \  } }t          j        t          ¦  «        5  |j                             t          j        ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rº  )	r®   r¯   rA   rB   rU   r²   rÇ   r,   r»  r¹  s     r4   Útest_minlocator_typerÃ    rÁ  r¼  c                  ó    ‡— t          j        ¦   «         Šˆfd„}  | ddd¦  «          | ddd¦  «          | ddd¦  «          | ddd¦  «         d S )Nc                 óZ  •— | |dœ}t          j        |¬¦  «        5  ‰                     dd|¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |j                             ¦   «         ¦  «        dk    | k    sJ ‚t          |j                             ¦   «         ¦  «        dk    |k    sJ ‚d S )N)zxtick.minor.visiblezytick.minor.visibler’  r   r   )r®   rŠ   Úadd_subplotrÌ   r²   Úget_minor_ticksr÷   )ÚxminorÚyminorrñ  r“  r¶   rµ   s        €r4   Úminorticksubplotz,test_minorticks_rc.<locals>.minorticksubplot(  sò   ø€ Ø%+Ø%+ð-ð -ˆåŒ^˜rÐ"Ñ"Ô"ð 	*ð 	*Ø—’  A qÑ)Ô)ˆBð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*õ �B”H×,Ò,Ñ.Ô.Ñ/Ô/°!Ò3¸Ò>Ð>Ð>Ð>Ý�B”H×,Ò,Ñ.Ô.Ñ/Ô/°!Ò3¸Ò>Ð>Ð>Ð>Ð>Ð>s   œA Á AÁAFr   Tr   r\   r’   )r®   Úfigure)rÊ  rµ   s    @r4   Útest_minorticks_rcrÌ  %  sƒ   ø€ Ý
Œ*‰,Œ,€Cð?ð ?ð ?ð ?ð ?ð Ð�U˜E 1Ñ%Ô%Ð%ØÐ�T˜5 !Ñ$Ô$Ð$ØÐ�U˜D !Ñ$Ô$Ð$ØÐ�T˜4 Ñ#Ô#Ð#Ð#Ð#r6   c                  ó
  ‡— t          j        ¦   «         Šˆfd„} g d¢}|D ]N} | dd|d¦  «          | dd|d¦  «          | dd|d¦  «          | dd|d¦  «         ‰                     ¦   «          ŒOt          j        ‰¦  «         d	S )
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                 ó‚  •— ‰                      dd|¦  «        }|                     |¦  «         |                     |¦  «         | s|s|                     ¦   «          | r4|s2|j                             ¦   «          |j                             ¦   «          | s4|r2|j                             ¦   «          |j                             ¦   «          | r|r|                     ¦   «          t          |j                             ¦   «         ¦  «        dk    | k    sJ ‚t          |j                             ¦   «         ¦  «        dk    |k    sJ ‚d S )Nr   r   )	rÆ  rÀ  r  Úminorticks_offr²   r±   r÷   rÌ   rÇ  )rÈ  rÉ  Úscalerñ  r¶   rµ   s        €r4   Úminortickstogglez0test_minorticks_toggle.<locals>.minortickstoggleB  sJ  ø€ Ø�_Š_˜Q  1Ñ%Ô%ˆØ
�Š�eÑÔÐØ
�Š�eÑÔÐØð 	 ˜fð 	 Ø×ÒÑÔÐØð 	&˜&ð 	&ØŒH×"Ò"Ñ$Ô$Ð$ØŒH×#Ò#Ñ%Ô%Ð%Øð 	%˜&ð 	%ØŒH×#Ò#Ñ%Ô%Ð%ØŒH×"Ò"Ñ$Ô$Ð$Øð 	�fð 	Ø×ÒÑÔÐå�B”H×,Ò,Ñ.Ô.Ñ/Ô/°!Ò3¸Ò>Ð>Ð>Ð>Ý�B”H×,Ò,Ñ.Ô.Ñ/Ô/°!Ò3¸Ò>Ð>Ð>Ð>Ð>Ð>r6   )Úlinearr  ÚasinhÚlogitFr   Tr   r\   r’   N)r®   rË  ÚclearÚclose)rÑ  ÚscalesrÐ  rµ   s      @r4   Útest_minorticks_togglerØ  7  sÁ   ø€ õ Œ*‰,Œ,€Cð?ð ?ð ?ð ?ð ?ð$ 1Ð0Ð0€FØð ð ˆØÐ˜  u¨aÑ0Ô0Ð0ØÐ˜˜u e¨QÑ/Ô/Ð/ØÐ˜  e¨QÑ/Ô/Ð/ØÐ˜˜t U¨AÑ.Ô.Ð.Ø�	Š	‰Œˆˆå„Iˆc�N„N€N€N€Nr6   z%remove_overlapping_locs, expected_num))Tr   )Nr   )Frh  c                 ó  — t          j        ddd¬¦  «        }t          j        t          |¦  «        ¦  «        }t	          j        ¦   «         \  }}|                     ||¦  «         |j                             t          j
                             ¦   «         ¦  «         |j                             t          j
                             d¦  «        ¦  «         |j                             t          j
                             d¦  «        ¦  «         |j                             t          j
                             d¦  «        ¦  «         |j                             d¦  «         | �| |j        _        |j        j        }||j                             ¦   «         k    sJ ‚t	          j        |j        |¬	¦  «         |j        j        }||j        j        k    sJ ‚t          |j                             ¦   «         ¦  «        |k    sJ ‚t          |j                             ¦   «         ¦  «        |k    sJ ‚t          |j                             ¦   «         ¦  «        |k    sJ ‚t          |j                             ¦   «         ¦  «        |d
z  k    sJ ‚d S )Nz
2018-11-03z
2018-11-06Ú
datetime64ri  z
%a)r   r   r¼  é   z%H:%Mr#   )Úremove_overlapping_locsr   )rN   rP   ÚonesrÌ   r®   r¯   rP  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           r4   Útest_remove_overlaprê  _  s  € õ
 	Œ	�, °LÐAÑAÔA€AÝ
Œ•�A‘”‰Œ€AåŒl‰nŒn�G€CˆØ‡G‚GˆAˆq�M„M€Mà„H×Ò�sœy×3Ò3Ñ5Ô5Ñ6Ô6Ð6Ø„H× Ò ¥¤×!8Ò!8¸Ñ!@Ô!@ÑAÔAÐAà„H×Ò�sœy×4Ò4°^ÑDÔDÑEÔEÐEØ„H× Ò ¥¤×!8Ò!8¸Ñ!AÔ!AÑBÔBÐBà„H×Ò˜RÑ Ô Ð ØÐ*Ø+BˆŒÔ(ð ŒhÔ.€GØ�r”x×;Ò;Ñ=Ô=Ò=Ð=Ð=Ð=Ý„HˆRŒX¨wÐ7Ñ7Ô7Ð7Ø
Œ(Ô
*€CØ�2”8Ô3Ò3Ð3Ð3Ð3õ ˆrŒx×)Ò)Ñ+Ô+Ñ,Ô,°Ò<Ð<Ð<Ð<åˆrŒx×'Ò'Ñ)Ô)Ñ*Ô*¨lÒ:Ð:Ð:Ð:ÝˆrŒx×+Ò+Ñ-Ô-Ñ.Ô.°,Ò>Ð>Ð>Ð>ÝˆrŒx×*Ò*Ñ,Ô,Ñ-Ô-°¸a±Ò?Ð?Ð?Ð?Ð?Ð?r6   ÚsubÚhiÚaardvark)r   r   c                 ó¼   — t          j        ¦   «         }t          j        t          ¦  «        5  |                     | ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr!  )r,   r  rA   rB   rX   rl   )rë  r;  s     r4   Útest_bad_locator_subsrï  „  sš   € õ 
Ô	Ñ	Ô	€BÝ	Œ•zÑ	"Ô	"ð  ð  Ø
�Š˜3ˆÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  s   ­AÁAÁAznumticks, lims, ticksr   )r   r!   )r¦   r   r"   r   r\   rh  )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  i@B )r¦   r   r"   r   r  r©  r�  c                 óæ   — t          j        | ¬¦  «        }t          t          j        j        ¦  «        j        dk     rt           |j        |Ž |d¬¦  «         d S t           |j        |Ž |¦  «         d S )Nr]   r   g¼‰Ø—²Ò¬<)Úrtol)	r,   r  rE  rN   Úversionrò   r   r.   r   )r^   rl  rt  r;  s       r4   Útest_small_range_loglocatorró  �  su   € õ( 
Ô	 XÐ	.Ñ	.Ô	.€BÝ•R”ZÔ'Ñ(Ô(Ô.°Ò2Ð2Ý˜˜œ¨Ð-¨u¸5ÐAÑAÔAÐAÐAÐAå˜>˜2œ>¨4Ð0°%Ñ8Ô8Ð8Ð8Ð8r6   c                  óR  — d} d}t          j        t          d| dz   ¦  «        t          j        t          |¦  «        d¦  «        ¦  «        D �]Z\  }\  }}t	          j        |¬¦  «        }t          j        |                     d|z  d|z  ¦  «        ¦  «         	                    ¦   «          
                    t          ¦  «        }t          |¦  «        |dz   k    sJ ‚|d         |cxk     r|d         k    sn J ‚|d         |cxk    r|d	         k     sn J ‚h t          j        |¦  «        £\  }||z  dk                         ¦   «         s_t          d|¦  «        D ]N}t          ||z   |dz   |¦  «        }	t          |	¦  «        t          |¦  «        k     st          |	¦  «        |k    sJ ‚ŒO�Œ\d S )
Nri   r
   r   r   r]   r"   r   rµ  r   )r—  r˜  r{  Úcombinationsr,   r  rN   rz  r.   rÅ  Úastyperx  rÌ   ÚdiffrH   )
Úmax_numticksÚpow_endr^   Úlorì  r;  ÚdecadesÚstriderƒ   Úalt_decadess
             r4   Útest_loglocator_propertiesrþ  ¨  sÑ  € ð €LØ€GÝ'Ô/Ý�!�\ AÑ%Ñ&Ô&­	Ô(>½uÀW¹~¼~ÈqÑ(QÔ(QñSô Sð Vñ VÑˆ‘(�2�råÔ¨Ð2Ñ2Ô2ˆÝ”(˜2Ÿ>š>¨"¨b©&°"°b±&Ñ9Ô9Ñ:Ô:×@Ò@ÑBÔB×IÒIÍ#ÑNÔNˆõ �7‰|Œ|˜x¨!™|Ò+Ð+Ð+Ð+Ø�qŒz˜BÐ,Ð,Ò,Ð, '¨!¤*Ò,Ð,Ð,Ð,Ð,Ð,Ø�rŒ{˜bÐ.Ð.Ò.Ð. 7¨2¤;Ò.Ð.Ð.Ð.Ð.Ð.Ø%•B”G˜GÑ$Ô$Ð%‰ˆà˜&Ñ  AÒ%×*Ò*Ñ,Ô,ð 	Võ    6Ñ*Ô*ð Vð V�Ý# B¨¡K°°a±¸Ñ@Ô@�Ý˜;Ñ'Ô'­#¨g©,¬,Ò6Ð6½#¸kÑ:JÔ:JÈXÒ:UÐ:UÐ:UÐUøùð#Vð Vr6   c                  óº   — t          j        ¦   «         }  | d¦  «        dk    sJ ‚|                      d¦  «        dk    sJ ‚|                      d¦  «        dk    sJ ‚d S )Nr   rY  )r,   ÚNullFormatterr5  rþ  ©r  s    r4   Útest_NullFormatterr  Â  sm   € ÝÔ%Ñ'Ô'€IØˆ9�S‰>Œ>˜RÒÐÐÐØ× Ò  Ñ%Ô%¨Ò+Ð+Ð+Ð+Ø×&Ò& sÑ+Ô+¨rÒ1Ð1Ð1Ð1Ð1Ð1r6   r  c                 ó   — d| › �S )Nzval: r@   )r‡  s    r4   ú<lambda>r  Ê  s   €  K¨A K K€ r6   )r;   Úbarc                 ó˜   — |                       ¦   «         dk    sJ ‚|                      d¦  «         |                       ¦   «         dk    sJ ‚d S )NrY  r‰   )rw  Úset_offset_stringr  s    r4   Útest_set_offset_stringr  É  sX   € ð ×ÒÑ!Ô! RÒ'Ð'Ð'Ð'Ø×Ò Ñ&Ô&Ð&Ø×ÒÑ!Ô! UÒ*Ð*Ð*Ð*Ð*Ð*r6   c                  ór  — t          j        ¦   «         \  } }|                     t          j        d¦  «        dg¬¦  «         |                     t          j        d¦  «        dg¬¦  «         |                     t          j        d¦  «        dg¬¦  «         |                     d¬¦  «         |                     d¬¦  «         |                     ¦   «          |                      ¦   «          |                     ¦   «         sJ ‚t          |j
                             ¦   «         t          j        j        ¦  «        sJ ‚dS )	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   )r{  r   rò   )Úwhichr­   N)r®   r¯   ÚboxplotrN   rP   rõ   r±   Údraw_without_renderingÚget_xgridlinesÚ
isinstancer²   Úget_minor_locatorr‰   ÚtickerrÈ   r¹  s     r4   Útest_minorticks_on_multi_figr  Ò  s  € õ Œl‰nŒn�G€Cˆà‡J‚J�rŒy˜‰}Œ}¨¨€JÑ,Ô,Ð,Ø‡J‚J�rŒy˜‰}Œ}¨¨€JÑ,Ô,Ð,Ø‡J‚J�rŒy˜‰}Œ}¨¨€JÑ,Ô,Ð,à‡G‚G�'€GÑÔÐØ‡G‚G�'€GÑÔÐØ×ÒÑÔÐØ×ÒÑ Ô Ð à×ÒÑÔÐÐÐÝ�b”h×0Ò0Ñ2Ô2µC´JÔ4OÑPÔPÐPÐPÐPÐPÐPr6   )FÚ
contextlibr   r—  r  rN  rV   Úpackaging.versionr   rE  ÚnumpyrN   Únumpy.testingr   r   r   rA   Ú
matplotlibr‰   Úmatplotlib.pyplotÚpyplotr®   Úmatplotlib.tickerr  r,   r	   rZ   rv   r¡   r  rS  rZ  rc  rš  r   r¨  rÁ  rë  ra  r†  rŽ  r•  rá  r.  r3  r@  rn  rS   rT   r‡  r‰  r©  r·  rº  r¾  rÀ  rÃ  rÌ  rØ  rê  Úzerosrï  r“  r   ró  rþ  r  ÚFuncFormatterÚFixedFormatterr  r  r@   r6   r4   ú<module>r     sí  ðØ "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4à Ð Ð Ð Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ €€€à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #ð,,ð ,,ð ,,ð ,,ð ,,ñ ,,ô ,,ð ,,ð^Fð Fð Fð Fð Fñ Fô Fð Fð<8!ð 8!ð 8!ð 8!ð 8!ñ 8!ô 8!ð 8!ðvmHð mHð mHð mHð mHñ mHô mHð mHð`M7ð M7ð M7ð M7ð M7ñ M7ô M7ð M7ð`ð ð ð ð ñ ô ð ð$ð $ð $ð $ð $ñ $ô $ð $ð"O!ð O!ð O!ð O!ð O!ñ O!ô O!ð O!ðd	 ð 	 ð 	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ð:)8ð )8ð )8ð )8ð )8ñ )8ô )8ð )8ðXb7ð b7ð b7ð b7ð b7ñ b7ô b7ð b7ðJ\ð \ð \ð \ð \ñ \ô \ð \ð~!(ð !(ð !(ð !(ð !(ñ !(ô !(ð !(ðH/ð /ð /ð /ð /ñ /ô /ð /ð&0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ð8_ð _ð _ð _ð _ñ _ô _ð _ðDo'ð o'ð o'ð o'ð o'ñ o'ô o'ð o'ðd&ð &ð &ð &ð &ñ &ô &ð &ð+ð +ð +ð +ð +ñ +ô +ð +ð&n8ð n8ð n8ð n8ð n8ñ n8ô n8ð n8ðb>ð >ð >ð „×ÒØ?ð Bð Bð Bñô ð0(Lð (Lñ1ô ð0(LðVB7ð B7ð B7ð B7ð B7ñ B7ô B7ð B7ðJð ð ð*ð ð ð ;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ð$ð $ð $ð$%ð %ð %ðP „×ÒÐ@ð&ñ'ô 'ð@ð @ñ	'ô 'ð@ðB „×Ò˜Ø	ˆ:ÐØ€B„HˆVÑÔð!ñ ô ð ð  ñô ð ð „×ÒÐ0Øˆ���ÐØˆ���ÐØˆ���ÐØˆ���ÐØˆ�/�/�/Ð"ØˆÐ"Ð"Ð"Ð#ØˆÐ"Ð"Ð"Ð#ØˆÐ"Ð"Ð"Ð#Øˆ	�?�?�?Ð#Øˆ	Ð(Ð(Ð(Ð)Øˆ	Ð*Ð*Ð*Ð+Øˆ	Ð*Ð*Ð*Ð+Øˆ
Ð&Ð&Ð&Ð'Øˆ
Ð/Ð/Ð/Ð0Øˆ
Ð/Ð/Ð/Ð0Øˆ
Ð3Ð3Ð3Ð4ð!3ñ ô ð$ „×Ò�9ÑÔð9ð 9ñ Ôñ%ô ð&9ð „×Ò�9ÑÔðVð Vñ ÔðVð22ð 2ð 2ð „×Ò˜Ø€GÔÐ/Ð/Ñ0Ô0Ø€GÔ˜>Ñ*Ô*ð',ñ -ô -ð+ð +ñ-ô -ð+ðQð Qð Qð Qð Qr6   