§
    ‡Ûg0º  ã            
       ó¼  — d dl mZ d dlmZ d dlZd dlZd dlmZ d dlZd dlZd dl	Z
d dlZd dlmZ d dlmZ d dlZd dlmZmZmZmZmZmZ d dlmZmZmZmZm Z  d d	l!m"Z"m#Z# d d
l$m%Z%m&Z&m'Z' d dl(m)Z* d dl+Z+ e#dgd¬¦  «        d„ ¦   «         Z, e#dgd¬¦  «        d„ ¦   «         Z- e#dgddgd¬¦  «        d„ ¦   «         Z.e+j/         0                    dddg¦  «         e#dgddg¬¦  «        d„ ¦   «         ¦   «         Z1d„ Z2e+j/         0                    dg d ¢¦  «         e"dg¬¦  «        d!„ ¦   «         ¦   «         Z3 e"dg¬¦  «        d"„ ¦   «         Z4 e"¦   «         d#„ ¦   «         Z5d$„ Z6d%„ Z7e+j/         0                    d&g d'¢¦  «        d(„ ¦   «         Z8e+j/         0                    d&g d)¢¦  «        d*„ ¦   «         Z9d+„ Z:d,„ Z;d-„ Z< e#d.gd¬¦  «        d/„ ¦   «         Z=d0„ Z>e+j/         0                    d1d2d3ggd4fd5d6ggd7fej?        d8d9ggd:fd8d;ggd<fd=d=ggd>fg¦  «        d?„ ¦   «         Z@ e#d@gd¬¦  «        dA„ ¦   «         ZA e#dBgd¬¦  «        dC„ ¦   «         ZB e#dDgdd¬E¦  «        dF„ ¦   «         ZC e"dg¬¦  «        dG„ ¦   «         ZDdH„ ZEdI„ ZF e#dJgd¬¦  «        dK„ ¦   «         ZG e#dLgdddg¬M¦  «        dN„ ¦   «         ZHdO„ ZI e#dPgdd¬E¦  «        dQ„ ¦   «         ZJ e#dRgd¬¦  «        dS„ ¦   «         ZK e"dg¬¦  «        dT„ ¦   «         ZL e#dUgddgdd¬V¦  «        dW„ ¦   «         ZM e#dXgdd¬E¦  «        dY„ ¦   «         ZNdZ„ ZO e#d[gdd¬E¦  «        d\„ ¦   «         ZPd]„ ZQd^„ ZRd_„ ZSd`„ ZTda„ ZUdb„ ZVe+j/         0                    dce ejW        dd¦  «         ejW        de¦  «         ejW        df¦  «         X                    dg¦  «        fe  ejW        dd¦  «         ejW        de¦  «         ejW        dh¦  «         X                    di¦  «        fg¦  «        dj„ ¦   «         ZYdk„ ZZdl„ Z[ e#dmgd¬¦  «        dn„ ¦   «         Z\ e#dogddp¬q¦  «        dr„ ¦   «         Z]ds„ Z^dt„ Z_ e#dugddv¬q¦  «        dw„ ¦   «         Z` e#dxgd¬¦  «        dy„ ¦   «         Zadz„ Zb e#d{gd¬¦  «        d|„ ¦   «         Zc e#d}g ejd        ¦   «         d~k    rd nddd¬€¦  «        d�„ ¦   «         Zed‚„ Zfe+j/         0                    dƒd„„ d… g                    ¦   «         D ¦   «         ¦  «        d†„ ¦   «         Zh e#d‡gdd¬E¦  «        dˆ„ ¦   «         Zi e#d‰gdd¬E¦  «        dŠ„ ¦   «         Zj e#d‹gdd¬E¦  «        dŒ„ ¦   «         Zke+j/         0                    d�ejl        ejm        dŽ„ d�„ g¦  «        d�„ ¦   «         Znd‘„ Zod’„ Zpd“„ Zqd”„ Zre+j/         0                    d•d–d—g¦  «        e+j/         0                    d˜d™dšg¦  «        d›„ ¦   «         ¦   «         Zsdœ„ Ztd�„ Zudž„ ZvdŸ„ Zw e"¦   «         d „ ¦   «         Zxd¡„ Zyej         z                    d¦  «        d¢„ ¦   «         Z{ G d£„ d¤ej|        ¦  «        Z}d¥„ Z~d¦„ Z e"dg¬¦  «        d§„ ¦   «         Z€e+j/         0                    d¨d=d8g¦  «         e"dg¬¦  «        d©„ ¦   «         ¦   «         Z� e"¦   «         dª„ ¦   «         Z‚ e#d«gd¬¦  «        d¬„ ¦   «         Zƒ e#d­gdd ejd        ¦   «         d®v rd¯nd ¬°¦  «        d±„ ¦   «         Z„e+j/         …                    d²¦  «        e+j/         0                    d³d´dµg¦  «        e+j/         0                    d¶g d·¢g d¸¢g¦  «         e"d¹¬¦  «        dº„ ¦   «         ¦   «         ¦   «         ¦   «         Z† e"dg¬¦  «        d»„ ¦   «         Z‡dS )¼é    )Ú	ExitStack)ÚcopyN)ÚPath)Úassert_array_equal)ÚImage)ÚcolorsÚimageÚpatchesÚpyplotÚstyleÚrcParams)Ú	AxesImageÚ	BboxImageÚFigureImageÚNonUniformImageÚPcolorImage)Úcheck_figures_equalÚimage_comparison)ÚBboxÚAffine2DÚTransformedBboxÚimage_interpsÚmpl20)r   c                  óÜ  — dt           j        d<   t          j        d¦  «                             dd¦  «        } t          j        d¦  «        \  }\  }}}|                     | d¬¦  «         |                     d	¦  «         |                     d¦  «         |                     | d
¬¦  «         |                     d
¦  «         |                     | d¬¦  «         |                     d¦  «         dS )z5Make the basic nearest, bilinear and bicubic interps.é   ztext.kerning_factoréd   é   é   é   Únearest©Úinterpolationzthree interpolationsÚbilinearÚbicubicN)	Úpltr   ÚnpÚarangeÚreshapeÚsubplotsÚimshowÚ	set_titleÚ
set_ylabel)ÚXÚfigÚax1Úax2Úax3s        úQ/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_image.pyÚtest_image_interpsr3      s×   € ð +,…C„LÐ&Ñ'å
Œ	�#‰Œ×Ò˜q "Ñ%Ô%€Aåœ<¨™?œ?Ñ€C‰ˆ#ˆs�CØ‡J‚Jˆq 	€JÑ*Ô*Ð*Ø‡M‚MÐ(Ñ)Ô)Ð)Ø‡N‚N�9ÑÔÐà‡J‚Jˆq 
€JÑ+Ô+Ð+Ø‡N‚N�:ÑÔÐà‡J‚Jˆq 	€JÑ*Ô*Ð*Ø‡N‚N�9ÑÔÐÐÐó    zinterp_alpha.pngT)Úremove_textc                  óX  — t          j        dd¦  «        \  } \  }}t          j        d¦  «        }t          j        d¦  «        |d<   t          j        t          j        dt          j        ¬¦  «        ¦  «        |d<   |                     |d¬	¦  «         |                     |d
¬	¦  «         dS )z:Test the interpolation of the alpha channel on RGBA imagesé   é   )r   r   é   ©r   r   ).r7   ©Údtype©.r   Únoner!   r#   N)r%   r)   r&   ÚzerosÚonesÚtrilÚuint8r*   )r.   ÚaxlÚaxrÚimgs       r2   Útest_alpha_interprF   .   s“   € õ ”l 1 aÑ(Ô(�O€C‰ˆ#ˆså
Œ(�9Ñ
Ô
€CÝ”'˜&‘/”/€Cˆ�Kå”'�"œ' &µ´Ð9Ñ9Ô9Ñ:Ô:€Cˆ�KØ‡J‚Jˆs &€JÑ)Ô)Ð)Ø‡J‚Jˆs *€JÑ-Ô-Ð-Ð-Ð-r4   Úinterp_nearest_vs_noneÚpdfÚsvg)Ú
extensionsr5   c                  ó\  — dt           d<   t          j        g d¢g d¢gg d¢g d¢ggt          j        ¬¦  «        } t	          j        dd	¦  «        \  }\  }}|                     | d
¬¦  «         |                     d¦  «         |                     | d¬¦  «         |                     d¦  «         dS )z5Test the effect of "nearest" and "none" interpolationr   úsavefig.dpi)éÚ   é¥   é    )éz   ég   éî   )é   éÿ   r   )rT   éc   éG   r;   r7   r8   r>   r!   zinterpolation noner    zinterpolation nearestN)r   r&   ÚarrayrB   r%   r)   r*   r+   )r-   r.   r/   r0   s       r2   Útest_interp_nearest_vs_nonerX   ;   sÁ   € ð  …Hˆ]ÑÝ
Œ�>�>�> ? ? ?Ð3Ø �=�= - - -Ð0ð2Ý9;¼ð	Cñ 	Cô 	C€Aå”l 1 aÑ(Ô(�O€C‰ˆ#ˆsØ‡J‚Jˆq €JÑ'Ô'Ð'Ø‡M‚MÐ&Ñ'Ô'Ð'Ø‡J‚Jˆq 	€JÑ*Ô*Ð*Ø‡M‚MÐ)Ñ*Ô*Ð*Ð*Ð*r4   ÚsuppressCompositeFÚfigimageÚpng)rJ   c                 óx  — t          j        dd¬¦  «        }| |_        t          j        t          j        d¦  «        dz  t          j        d¦  «        dz  ¦  «        \  }}t          j        |dz  |dz  z   ||z  z
  ¦  «        }t          j        d|dz  z  d|dz  z  z   ¦  «        }||dz  z   }|                     |d	d	d
¬¦  «         |                     |d d d…d d …f         d	dd
¬¦  «         |                     |d d …d d d…f         dd	d
¬¦  «         |                     |d d d…d d d…f         ddd
¬¦  «         d S )N©r8   r8   r   ©ÚfigsizeÚdpig      Y@r8   r   é2   r   r   Úlower)ÚxoÚyoÚoriginéÿÿÿÿ)r%   ÚfigurerY   r&   Úix_r'   ÚsinrZ   )rY   r.   ÚxÚyÚzÚcrE   s          r2   Útest_figimagern   M   sJ  € õ Œ*˜V¨Ð
-Ñ
-Ô
-€CØ-€CÔÝŒ6•"”)˜C‘.”. 5Ñ(­"¬)°C©.¬.¸3Ñ*>Ñ?Ô?�D€A€qÝ
Œˆq�!‰t�a˜‘d‰{˜Q˜q™SÑ Ñ!Ô!€AÝ
Œˆr�!�Q‘$‰w˜˜A˜q™D™Ñ Ñ!Ô!€AØ
ˆa�‰c‰'€Cà‡L‚L�˜˜q¨€LÑ1Ô1Ð1Ø‡L‚L��T�T�r�T˜1˜1˜1�W” !¨°G€LÑ<Ô<Ð<Ø‡L‚L��Q�Q�Q˜˜˜"˜�W” #¨!°G€LÑ<Ô<Ð<Ø‡L‚L��T�T�r�T˜4˜4˜R˜4�Z” S¨S¸€LÑAÔAÐAÐAÐAr4   c                  ó  — t          j        ¦   «         \  } }|                     g d¢¦  «         t          j        ¦   «         }|                      |¦  «         |                     d¦  «         t          j        |¦  «         d S )N)r7   r8   r   r   )r%   r)   ÚplotÚioÚBytesIOÚsavefigÚseekÚimread)r.   ÚaxÚbuffers      r2   Útest_image_python_iorx   ]   si   € ÝŒl‰nŒn�G€CˆØ‡G‚GˆIˆIˆIÑÔÐÝŒZ‰\Œ\€FØ‡K‚K�ÑÔÐØ
‡K‚K��N„N€NÝ„JˆvÑÔÐÐÐr4   z!img_size, fig_size, interpolation))r   r8   Úhanning)r   r   r    )r   é
   r    )r   ç333333@ry   )r   g333333"@r    c                 ó*  — t           j                             d¦  «         t          j        d         }t           j                             t          ||z  ¦  «        t          ||z  ¦  «        ¦  «        }| |fD ]}|                     ||¦  «         Œ|                      ¦   «         }| 	                    g d¢¦  «         | 
                    |d¬¦  «         |                     ¦   «         }| 	                    g d¢¦  «         | 
                    ||¬¦  «         d S )Né!N,rL   ©r   r   r7   r7   Úantialiasedr!   )r&   ÚrandomÚseedr%   r   ÚrandÚintÚset_size_inchesr)   Úset_positionr*   )	Úfig_testÚfig_refÚimg_sizeÚfig_sizer"   r`   ÚAr.   rv   s	            r2   Útest_imshow_antialiasedr‹   f   sþ   € õ „I‡N‚N�8ÑÔÐÝ
Œ,�}Ô
%€CÝ
Œ	�Š•s˜3 ™>Ñ*Ô*­C°°h±Ñ,?Ô,?Ñ@Ô@€AØ˜'Ð"ð 0ð 0ˆØ×Ò˜H hÑ/Ô/Ð/Ð/Ø	×	Ò	Ñ	Ô	€BØ‡O‚O�L�L�LÑ!Ô!Ð!Ø‡I‚Iˆa˜}€IÑ-Ô-Ð-Ø	×	Ò	Ñ	Ô	€BØ‡O‚O�L�L�LÑ!Ô!Ð!Ø‡I‚Iˆa˜}€IÑ-Ô-Ð-Ð-Ð-r4   c                 ó†  — t           j                             d¦  «         t          j        d         }t           j                             t          |dz  ¦  «        t          |dz  ¦  «        ¦  «        }| |fD ]}|                     dd¦  «         Œ|                      ¦   «         }| 	                    |d¬¦  «         | 
                    ddg¦  «         |                     ddg¦  «         |                     ¦   «         }| 	                    |d	¬¦  «         | 
                    ddg¦  «         |                     ddg¦  «         d S )
Nr}   rL   r   r{   r   r!   rz   r   r    )r&   r€   r�   r%   r   r‚   rƒ   r„   r)   r*   Úset_xlimÚset_ylim)r†   r‡   r`   rŠ   r.   rv   s         r2   Útest_imshow_zoomr�   ~   s&  € õ „I‡N‚N�8ÑÔÐÝ
Œ,�}Ô
%€CÝ
Œ	�Š•s˜3 ™7‘|”|¥S¨¨q©¡\¤\Ñ2Ô2€AØ˜'Ð"ð &ð &ˆØ×Ò˜C Ñ%Ô%Ð%Ð%Ø	×	Ò	Ñ	Ô	€BØ‡I‚Iˆa˜}€IÑ-Ô-Ð-Ø‡K‚K��R�ÑÔÐØ‡K‚K��R�ÑÔÐØ	×	Ò	Ñ	Ô	€BØ‡I‚Iˆa˜y€IÑ)Ô)Ð)Ø‡K‚K��R�ÑÔÐØ‡K‚K��R�ÑÔÐÐÐr4   c                 óZ  — t          j        d¦  «         t          t          ¦  «        j        dz  }t          t          ¦  «        j        dz  }|                      d¦  «        }|d                              t          j        |¦  «        ¦  «         |d                              t          j        |¦  «        ¦  «         |                     d¦  «        }|d                              t          j
        |¦  «        ¦  «         |d                              t          j
        |¦  «        ¦  «         d S )NÚdefaultú%baseline_images/pngsuite/basn3p04.pngú%baseline_images/test_image/uint16.tifr8   r   r7   )r   Úuser   Ú__file__Úparentr)   r*   r   Úopenr%   ru   )r†   r‡   Úpng_pathÚ	tiff_pathÚaxss        r2   Útest_imshow_pilr›   �   sæ   € å	„IˆiÑÔÐÝ•H‰~Œ~Ô$Ð'NÑN€HÝ•X‘”Ô%Ð(OÑO€IØ
×
Ò
˜AÑ
Ô
€CØˆ„F‡M‚M•%”*˜XÑ&Ô&Ñ'Ô'Ð'Øˆ„F‡M‚M•%”*˜YÑ'Ô'Ñ(Ô(Ð(Ø
×
Ò
˜1Ñ
Ô
€CØˆ„F‡M‚M•#”*˜XÑ&Ô&Ñ'Ô'Ð'Øˆ„F‡M‚M•#”*˜YÑ'Ô'Ñ(Ô(Ð(Ð(Ð(r4   c                  ó  — t          j        t          j                             t          j                             t          ¦  «        ddd¦  «        ¦  «        } | j        t          j	        k    sJ ‚t          j
        | ¦  «        dk    sJ ‚d S )NÚbaseline_imagesÚ
test_imagez
uint16.tifé €ÿ)r%   ru   ÚosÚpathÚjoinÚdirnamer•   r<   r&   Úuint16Úsum©rE   s    r2   Útest_imread_pil_uint16r§   �   st   € Ý
Œ*•R”W—\’\¥"¤'§/¢/µ(Ñ";Ô";Ø&¨°lñDô Dñ Eô E€CàŒ9�œ	Ò!Ð!Ð!Ð!ÝŒ6�#‰;Œ;˜)Ò#Ð#Ð#Ð#Ð#Ð#r4   c                  óÄ   — t          j        t          t          ¦  «        j        dz  ¦  «        } | j        t          j        k    sJ ‚t          j        | ¦  «        dk    sJ ‚d S )Nr“   rŸ   )	r%   ru   r   r•   r–   r<   r&   r¤   r¥   r¦   s    r2   Útest_imread_fspathr©   ¤   s[   € Ý
Œ*Ý�X‰ŒÔÐ GÑGñIô I€CàŒ9�œ	Ò!Ð!Ð!Ð!ÝŒ6�#‰;Œ;˜)Ò#Ð#Ð#Ð#Ð#Ð#r4   Úfmt)r[   ÚjpgÚjpegÚtiffc                 óP  — | dv}t           j                             d¦  «         t           j                             dd¦  «        }t	          j        ¦   «         }t          j        ||| d¬¦  «         t	          j        ¦   «         }t          j        ||| d¬¦  «         |                     d¦  «         t          j	        || ¬¦  «        }|                     d¦  «         t          j	        || ¬¦  «        }|j
        ddd	|z   fk    sJ ‚|j
        ddd	|z   fk    sJ ‚t          ||¦  «         d S )
N)r«   r¬   r7   i@  r8   )Úformatr`   r   r   ©r¯   r   )r&   r€   r�   r‚   rq   rr   r%   Úimsavert   ru   Úshaper   )rª   Ú	has_alphaÚdataÚ	buff_dpi1Úbuff_dpi100Úarr_dpi1Ú
arr_dpi100s          r2   Útest_imsaver¹   «   s"  € à˜?Ð*€Iõ „I‡N‚N�1ÑÔÐõ Œ9�>Š>˜$ Ñ"Ô"€Då”
‘”€IÝ„Jˆy˜$ s°Ð2Ñ2Ô2Ð2å”*‘,”,€KÝ„Jˆ{˜D¨°#Ð6Ñ6Ô6Ð6à‡N‚N�1ÑÔÐÝŒz˜)¨CÐ0Ñ0Ô0€Hà×Ò�QÑÔÐÝ”˜K°Ð4Ñ4Ô4€JàŒ>˜d A q¨9¡}Ð5Ò5Ð5Ð5Ð5ØÔ  a¨¨Y©Ð7Ò7Ð7Ð7Ð7å�x Ñ,Ô,Ð,Ð,Ð,r4   )r[   rH   ÚpsÚepsrI   c                 óŒ   — t          j        t          t          j        ¦  «        t          j        ddgg¦  «        | ¬¦  «         d S )Nr   r7   r°   )r%   r±   r   r    Údevnullr&   rW   )rª   s    r2   Útest_imsave_fspathr¾   Î   s9   € å„J�t•B”JÑÔ¥¤¨A¨q¨6¨(Ñ!3Ô!3¸CÐ@Ñ@Ô@Ð@Ð@Ð@r4   c                  óÚ  — t           j                             d¦  «         dD ]È} t           j                             ddd¦  «        }t	          j        ¦   «         }t          j        ||| d¬¦  «         |                     d¦  «         t          j	        |¦  «        }d|z   
                    d	¦  «        }| d
k    r|d d d…         }d|z   
                    d	¦  «        }t          ||¦  «         ŒÉd S )Nr7   )rb   Úupperé   r9   r[   )re   r¯   r   rT   rB   rb   rf   )r&   r€   r�   r‚   rq   rr   r%   r±   rt   ru   Úastyper   )re   r´   ÚbuffÚarr_bufs       r2   Útest_imsave_color_alpharÅ   Ó   sç   € õ „I‡N‚N�1ÑÔÐà$ð *ð *ˆÝŒy�~Š~˜b " aÑ(Ô(ˆÝŒz‰|Œ|ˆÝŒ
�4˜ f°UÐ;Ñ;Ô;Ð;à�	Š	�!‰ŒˆÝ”*˜TÑ"Ô"ˆð
 �D‘× Ò  Ñ)Ô)ˆØ�WÒÐØ˜˜˜"˜”:ˆDØ�w‘;×&Ò& wÑ/Ô/ˆå˜4 Ñ)Ô)Ð)Ð)ð!*ð *r4   c                  ó  — ddl m}  t          j        ¦   «         } | ¦   «         }|                     dd¦  «         t          j        |ddgddggdd	|i¬
¦  «         t          j        |¦  «        }|j	        d         dk    sJ ‚d S )Nr   )ÚPngInfoÚSoftwareÚtestr7   r8   r   r[   Úpnginfo©r¯   Ú
pil_kwargs)
ÚPIL.PngImagePluginrÇ   rq   rr   Úadd_textr%   r±   r   r—   Úinfo)rÇ   ÚbufrÊ   Úims       r2   Útest_imsave_pil_kwargs_pngrÒ   ì   sŸ   € Ø*Ð*Ð*Ð*Ð*Ð*Ý
Œ*‰,Œ,€CØˆg‰iŒi€GØ×Ò�Z Ñ(Ô(Ð(Ý„Jˆs�a˜�V˜a ˜VÐ$Ø¨°GÐ(<ð>ñ >ô >ð >å	Œ�C‰Œ€BØŒ7�:Ô &Ò(Ð(Ð(Ð(Ð(Ð(r4   c                  ó6  ‡— ddl mŠ t          j        ¦   «         } ddi}t	          j        | ddgddggd|¬	¦  «         t          |¦  «        dk    sJ ‚t          j        | ¦  «        }ˆfd
„|j	         
                    ¦   «         D ¦   «         }|d         dk    sJ ‚d S )Nr   )ÚTAGS_V2Údescriptionz
test imager7   r8   r   r­   rË   c                 ó2   •— i | ]\  }}‰|         j         |“ŒS © )Úname)Ú.0ÚkÚvÚTAGSs      €r2   ú
<dictcomp>z/test_imsave_pil_kwargs_tiff.<locals>.<dictcomp>þ   s%   ø€ Ð:Ð:Ð:¡  1ˆD�ŒGŒL˜!Ð:Ð:Ð:r4   ÚImageDescription)ÚPIL.TiffTagsrÔ   rq   rr   r%   r±   Úlenr   r—   Útag_v2Úitems)rÐ   rÌ   rÑ   ÚtagsrÜ   s       @r2   Útest_imsave_pil_kwargs_tiffrä   ÷   s¶   ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ý
Œ*‰,Œ,€CØ Ð.€JÝ„Jˆs�a˜�V˜a ˜VÐ$¨VÀ
ÐKÑKÔKÐKÝˆz‰?Œ?˜aÒÐÐÐÝ	Œ�C‰Œ€BØ:Ð:Ð:Ð:¨¬	¯ªÑ(9Ô(9Ð:Ñ:Ô:€DØÐ"Ô# |Ò3Ð3Ð3Ð3Ð3Ð3r4   Úimage_alphac                  óL  — t           j                             d¦  «         t           j                             dd¦  «        } t	          j        dd¦  «        \  }\  }}}|                     | dd¬¦  «         |                     | dd¬¦  «         |                     | dd	¬¦  «         d S )
Nr   r   r7   r   ç      ð?r>   )Úalphar"   ç      à?r    )r&   r€   r�   r‚   r%   r)   r*   )ÚZr.   r/   r0   r1   s        r2   Útest_image_alpharë     s•   € å„I‡N‚N�1ÑÔÐÝ
Œ	�Š�q˜!ÑÔ€Aåœ<¨¨1Ñ-Ô-Ñ€C‰ˆ#ˆs�CØ‡J‚Jˆq˜¨6€JÑ2Ô2Ð2Ø‡J‚Jˆq˜¨6€JÑ2Ô2Ð2Ø‡J‚Jˆq˜¨9€JÑ5Ô5Ð5Ð5Ð5r4   c                  óZ  — ddl m}  t          j        ¦   «         \  }}|                     t          j        d¦  «                             dd¦  «        d¬¦  «        }d\  }}|j         	                    ||g¦  «        \  }} | d|j
        ||¦  «        }|                     |¦  «        d	k    sJ ‚d
\  }}|j         	                    ||g¦  «        \  }} | d|j
        ||¦  «        }|                     |¦  «        �J ‚|                     ¦   «          |                     t          j        d¦  «                             dd¦  «        d¬¦  «        }d\  }}|j         	                    ||g¦  «        \  }} | d|j
        ||¦  «        }|                     |¦  «        d	k    sJ ‚t          j        ¦   «         \  }}|                     t          j        d¦  «                             dd¦  «        g d¢¬¦  «        }d\  }}|j         	                    ||g¦  «        \  }} | d|j
        ||¦  «        }|                     |¦  «        dk    sJ ‚d\  }}|j         	                    ||g¦  «        \  }} | d|j
        ||¦  «        }|                     |¦  «        �J ‚d\  }}|j         	                    ||g¦  «        \  }} | d|j
        ||¦  «        }|                     |¦  «        �J ‚t          ¦   «                              d¦  «                             d¦  «        }	|                     t          j        d¦  «                             dd¦  «        |	|j        z   ¬¦  «        }d\  }}|j         	                    ||g¦  «        \  }} | d|j
        ||¦  «        }|                     |¦  «        d	k    sJ ‚d S )Nr   ©Ú
MouseEventr   rz   rÀ   )re   ©r9   r9   Úmotion_notify_eventé,   )g333333$@r9   rb   )r   ré   r   ré   ©Úextent)ç      Ð?rô   é7   )ç      è?rô   )ç{®Gáz„?g{®Gáz„¿r8   ré   )Ú	transform)r   rz   )Úmatplotlib.backend_basesrî   r%   r)   r*   r&   r'   r(   Ú	transDatarø   ÚcanvasÚget_cursor_dataÚclearr   ÚscaleÚrotate)
rî   r.   rv   rÑ   rj   rk   ÚxdispÚydispÚeventÚtranss
             r2   Útest_cursor_datar    s¸  € Ø3Ð3Ð3Ð3Ð3Ð3åŒl‰nŒn�G€CˆØ	�Š•2”9˜S‘>”>×)Ò)¨"¨bÑ1Ô1¸'ˆÑ	BÔ	B€Bà�D€A€qØ”<×)Ò)¨1¨a¨&Ñ1Ô1�L€Eˆ5àˆJÐ,¨c¬j¸%ÀÑGÔG€EØ×Ò˜eÑ$Ô$¨Ò*Ð*Ð*Ð*ð �D€A€qØ”<×)Ò)¨1¨a¨&Ñ1Ô1�L€Eˆ5àˆJÐ,¨c¬j¸%ÀÑGÔG€EØ×Ò˜eÑ$Ô$Ð,Ð,Ð,ð ‡H‚H�J„J€Jà	�Š•2”9˜S‘>”>×)Ò)¨"¨bÑ1Ô1¸'ˆÑ	BÔ	B€Bà�D€A€qØ”<×)Ò)¨1¨a¨&Ñ1Ô1�L€Eˆ5àˆJÐ,¨c¬j¸%ÀÑGÔG€EØ×Ò˜eÑ$Ô$¨Ò*Ð*Ð*Ð*åŒl‰nŒn�G€CˆØ	�Š•2”9˜S‘>”>×)Ò)¨"¨bÑ1Ô1Ð:JÐ:JÐ:JˆÑ	KÔ	K€Bà�D€A€qØ”<×)Ò)¨1¨a¨&Ñ1Ô1�L€Eˆ5àˆJÐ,¨c¬j¸%ÀÑGÔG€EØ×Ò˜eÑ$Ô$¨Ò*Ð*Ð*Ð*ð �D€A€qØ”<×)Ò)¨1¨a¨&Ñ1Ô1�L€Eˆ5àˆJÐ,¨c¬j¸%ÀÑGÔG€EØ×Ò˜eÑ$Ô$Ð,Ð,Ð,à�D€A€qØ”<×)Ò)¨1¨a¨&Ñ1Ô1�L€Eˆ5àˆJÐ,¨c¬j¸%ÀÑGÔG€EØ×Ò˜eÑ$Ô$Ð,Ð,Ð,õ ‰JŒJ×Ò˜QÑÔ×&Ò& sÑ+Ô+€EØ	�Š•2”9˜S‘>”>×)Ò)¨"¨bÑ1Ô1Ø" R¤\Ñ1ð 
ñ 
3ô 
3€Bà�D€A€qØ”<×)Ò)¨1¨a¨&Ñ1Ô1�L€Eˆ5ØˆJÐ,¨c¬j¸%ÀÑGÔG€EØ×Ò˜eÑ$Ô$¨Ò*Ð*Ð*Ð*Ð*Ð*r4   z
data, texti'  i'  z[10001.000]g°rh‘í|¿?g/Ý$�•ï?z[0.123]r7   r8   ú[]g     ð?z[1.0000000000000000]rf   z[-1.0000000000000000]c                 ó(  — ddl m} t          j        ¦   «         \  }}|                     | ¦  «        }|j                             ddg¦  «        \  }} |d|j        ||¦  «        }|                     | 	                    |¦  «        ¦  «        |k    sJ ‚d S )Nr   rí   rð   )
rù   rî   r%   r)   r*   rú   rø   rû   Úformat_cursor_datarü   )	r´   Útextrî   r.   rv   rÑ   r   r  r  s	            r2   Útest_format_cursor_datar	  T  sœ   € ð 4Ð3Ð3Ð3Ð3Ð3åŒl‰nŒn�G€CˆØ	�Š�4‰Œ€Bà”<×)Ò)¨1¨a¨&Ñ1Ô1�L€Eˆ5ØˆJÐ,¨c¬j¸%ÀÑGÔG€EØ× Ò  ×!3Ò!3°EÑ!:Ô!:Ñ;Ô;¸tÒCÐCÐCÐCÐCÐCr4   Ú
image_clipc                  óÎ   — ddgddgg} t          j        ¦   «         \  }}|                     | ¦  «        }t          j        dd|j        ¬¦  «        }|                     |¦  «         d S )Nr7   r8   r   r9   ©r   r   )Úradiusrø   )r%   r)   r*   r
   ÚCirclerú   Úset_clip_path)Údr.   rv   rÑ   Úpatchs        r2   Útest_image_clipr  g  sd   € à
ˆQˆ�!�Q�Ð€AåŒl‰nŒn�G€CˆØ	�Š�1‰Œ€BÝŒN˜6¨!°r´|ÐDÑDÔD€EØ×Ò�UÑÔÐÐÐr4   Úimage_cliprectc                  óÞ   — t          j        ¦   «         \  } }ddgddgg}|                     |d¬¦  «        }t          j        ddd|j        j        ¬¦  «        }|                     |¦  «         d S )	Nr7   r8   r   r9   ©r   r   r   r   rò   ©r7   r7   )ÚxyÚwidthÚheightrø   )r%   r)   r*   r
   Ú	RectangleÚaxesrú   r  )r.   rv   r  rÑ   Úrects        r2   Útest_image_cliprectr  q  sz   € åŒl‰nŒn�G€CˆØ
ˆQˆ�!�Q�Ð€Aà	�Š�1˜\ˆÑ	*Ô	*€BåÔØ˜ 1°´Ô0AðCñ Cô C€Dà×Ò�TÑÔÐÐÐr4   r*   )r5   r   c                  ó  — t          j        ¦   «         \  } }t          j        d¦  «                             d¦  «        }|                     |dd¬¦  «         |                     dd¦  «         |                     dd¦  «         d S )Nr   ©rz   rz   r#   ©r7   r8   r7   r8   ©r"   ró   r   r   )r%   r)   r&   r'   r(   r*   r�   rŽ   ©r.   rv   Úarrs      r2   Útest_imshowr$  }  sr   € åŒl‰nŒn�G€CˆÝ
Œ)�C‰.Œ.×
 Ò
  Ñ
*Ô
*€CØ‡I‚Iˆc °L€IÑAÔAÐAØ‡K‚K��1ÑÔÐØ‡K‚K��1ÑÔÐÐÐr4   c                 óÎ  — t          j        d¦  «                             d¦  «        }|                     ¦   «         }|                     |d d …d d …df         dd¬¦  «         |                     dd¦  «         |                     dd¦  «         |                      ¦   «         }|                     |dd¬¦  «         |                     dd¦  «         |                     dd¦  «         d S )Nr   )rz   rz   r7   r   r#   r   r!  r   )r&   r'   r(   r)   r*   r�   rŽ   )r†   r‡   r#  rv   s       r2   Útest_imshow_10_10_1r&  †  sÙ   € õ Œ)�C‰.Œ.×
 Ò
  Ñ
-Ô
-€CØ	×	Ò	Ñ	Ô	€BØ‡I‚Iˆc�!�!�!�Q�Q�Q˜�'Œl¨*¸\€IÑJÔJÐJØ‡K‚K��1ÑÔÐØ‡K‚K��1ÑÔÐà	×	Ò	Ñ	Ô	€BØ‡I‚Iˆc °L€IÑAÔAÐAØ‡K‚K��1ÑÔÐØ‡K‚K��1ÑÔÐÐÐr4   c                  ó  — t          j        ¦   «         \  } }t          j        d¦  «                             d¦  «        }t          j        t          ¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NéÈ   )rz   rz   r8   ©	r%   r)   r&   r'   r(   ÚpytestÚraisesÚ	TypeErrorr*   r"  s      r2   Útest_imshow_10_10_2r-  •  ó¯   € ÝŒl‰nŒn�G€CˆÝ
Œ)�C‰.Œ.×
 Ò
  Ñ
-Ô
-€CÝ	Œ•yÑ	!Ô	!ð ð Ø
�	Š	�#‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ó   ÁA:Á:A>ÂA>c                  ó  — t          j        ¦   «         \  } }t          j        d¦  «                             d¦  «        }t          j        t          ¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Niô  )rz   rz   r   r)  r"  s      r2   Útest_imshow_10_10_5r1  œ  r.  r/  Úno_interpolation_originc                  ó>  — t          j        d¦  «        \  } }|d                              t          j        d¦  «                             d¦  «        dd¬¦  «         |d                              t          j        d¦  «                             d¦  «        d¬	¦  «         d S )
Nr8   r   r   )r8   ra   rb   r>   )re   r"   r7   r!   )r%   r)   r*   r&   r'   r(   )r.   rš   s     r2   Útest_no_interpolation_originr4  £  s…   € åŒ|˜A‰Œ�H€CˆØˆ„F‡M‚M•"”)˜C‘.”.×(Ò(¨Ñ1Ô1¸'Ø &ð ñ (ô (ð (àˆ„F‡M‚M•"”)˜C‘.”.×(Ò(¨Ñ1Ô1À€MÑHÔHÐHÐHÐHr4   Úimage_shift)r5   rJ   c            	      óô   — d„ t          dd¦  «        D ¦   «         } d}d}t          j        ¦   «         \  }}|                     | t	          j        ¦   «         d||ddf¬¦  «         |                     d¦  «         d S )	Nc                 óH   ‡— g | ]Šˆfd „t          dd¦  «        D ¦   «         ‘ŒS )c                 ó&   •— g | ]}d |z  d ‰z  z   ‘ŒS )r7   r×   )rÙ   rj   rk   s     €r2   ú
<listcomp>z/test_image_shift.<locals>.<listcomp>.<listcomp>­  s%   ø€ Ð5Ð5Ð5 !��A‘˜˜A™‘Ð5Ð5Ð5r4   r7   r   )Úrange)rÙ   rk   s    @r2   r9  z$test_image_shift.<locals>.<listcomp>­  s6   ø€ ÐMÐMÐM¸!Ð5Ð5Ð5Ð5¥u¨Q°¡}¤}Ð5Ñ5Ô5ÐMÐMÐMr4   r7   r   g�Mòãûk&Ag˜Šäûk&Ar>   )Únormr"   ró   Úauto)r:  r%   r)   r*   r   ÚLogNormÚ
set_aspect)ÚimgDataÚtMinÚtMaxr.   rv   s        r2   Útest_image_shiftrB  «  sƒ   € àMÐM½uÀQÈ¹}¼}ÐMÑMÔM€GØ€DØ€DåŒl‰nŒn�G€CˆØ‡I‚Iˆg�FœNÑ,Ô,¸FØ˜D ! SÐ)ð ñ +ô +ð +à‡M‚M�&ÑÔÐÐÐr4   c                  ó  — t          j        ddg¬¦  «        } |                      g d¢d¬¦  «        }t          j        t          j        d¦  «        d¦  «                             dd	¦  «        }|                     |d
g d¢dd¬¦  «        }dx}}|                     | |g¦  «         | 	                    | |g¦  «         | 
                    g ¦  «         |                     g ¦  «         t          j        ¦   «         }|                      |d¬¦  «         |                     d¦  «         t          j        |¦  «        }t#          |d d …df         ¦  «        \  }}}	}
t#          |d d …df         ¦  «        \  }}}	}
|dk    s
J d¦   «         ‚d S )Nr7   ©r_   r~   F)Úframeoné   é   r   é	   rÀ   ©éöÿÿÿrz   rJ  rz   r>   Úgray)re   ró   r"   Úcmapr8   )r   r7   r   )Ú	facecolorr   rf   r   z.Expected a non-green edge - but sadly, it was.)r%   rg   Úadd_axesr&   Útiler'   r(   r*   r�   rŽ   Ú
set_xticksÚ
set_yticksrq   rr   rs   rt   ru   r¥   )r.   rv   r´   rÑ   rj   rk   rÐ   ÚrÚgÚbÚas              r2   Útest_image_edgesrV  ·  sv  € Ý
Œ*˜a ˜VÐ
$Ñ
$Ô
$€CØ	�Š�l�l�l¨EˆÑ	2Ô	2€BåŒ7•2”9˜R‘=”= "Ñ%Ô%×-Ò-¨b°!Ñ4Ô4€Dà	�Š�4 Ð0BÐ0BÐ0BØ!'¨fð 
ñ 
6ô 
6€Bð €I€AˆØ‡K‚K�!��Q�ÑÔÐØ‡K‚K�!��Q�ÑÔÐà‡M‚M�"ÑÔÐØ‡M‚M�"ÑÔÐå
Œ*‰,Œ,€CØ‡K‚K�˜y€KÑ)Ô)Ð)à‡H‚HˆQ�K„K€Kå	Œ�C‰Œ€BÝ�R˜˜˜˜1˜”X‘”�J€A€qˆ!ˆQÝ�R˜˜˜˜2˜”Y‘”�J€A€qˆ!ˆQà�Š8ˆ8ˆ8ÐE‰8Œ8ˆ8ˆ8ˆ8r4   Úimage_composite_backgroundc                  ó>  — t          j        ¦   «         \  } }t          j        d¦  «                             dd¦  «        }|                     |g d¢¬¦  «         |                     |g d¢¬¦  «         |                     d¦  «         |                     ddg¦  «         d S )	NrF  r9   r   )r   r8   rG  r   rò   )r9   r   rG  r   )r7   r   r   ré   r   )r%   r)   r&   r'   r(   r*   Úset_facecolorr�   r"  s      r2   Útest_image_composite_backgroundrZ  Ó  s”   € õ Œl‰nŒn�G€CˆÝ
Œ)�B‰-Œ-×
Ò
  1Ñ
%Ô
%€CØ‡I‚Iˆc˜-˜-˜-€IÑ(Ô(Ð(Ø‡I‚Iˆc˜-˜-˜-€IÑ(Ô(Ð(Ø×Ò�^Ñ$Ô$Ð$Ø‡K‚K��B�ÑÔÐÐÐr4   Úimage_composite_alphac                  óð  — t          j        ¦   «         \  } }t          j        d¦  «        }d|dd…dd…df<   t          j        t          j        ddd¦  «        t          j        ddd¦  «        ddd…         f¦  «        |dd…dd…df<   t          j        d	¦  «        }d|dd…dd…df<   d|dd…dd…df<   t          j        t          j        ddd¦  «        t          j        ddd¦  «        ddd…         f¦  «        dd…t          j        f         |dd…dd…df<   |                     |g d
¢d¬¦  «         |                     |g d¢d¬¦  «         |                     |g d¢¬¦  «         |                     |g d¢¬¦  «         |                     |g d¢d¬¦  «         |                     |g d¢d¬¦  «         |                     d¦  «         | 	                    ddg¦  «         | 
                    ddg¦  «         dS )z{
    Tests that the alpha value is recognized and correctly applied in the
    process of compositing images together.
    )é   é   r9   r7   Nr   gš™™™™™ñ?çš™™™™™¹?rf   r   )r^  r]  r9   )r7   r8   r   r   ç333333Ó?)ró   rè   )r8   r   r   r   ç333333ã?)r   r9   r   r   rò   )r   r   r7   r8   )r   r   r8   r   )r   r   r   r9   )r   ré   r   r7   r   )r%   r)   r&   r?   Úconcatenater'   Únewaxisr*   rY  r�   rŽ   )r.   rv   r#  Úarr2s       r2   Útest_image_composite_alphare  Þ  s  € õ Œl‰nŒn�G€CˆÝ
Œ(�;Ñ
Ô
€CØ€Cˆˆˆˆ1ˆ1ˆ1ˆaˆ�LÝ”>Ý	Œ�1�c˜3Ñ	Ô	¥¤¨1¨a°Ñ!5Ô!5°d°d¸°dÔ!;Ð<ñ>ô >€Cˆˆˆˆ1ˆ1ˆ1ˆaˆ�LåŒ8�KÑ Ô €DØ€DˆˆˆˆAˆAˆAˆqˆ�MØ€DˆˆˆˆAˆAˆAˆqˆ�MÝ”NÝ	Œ�1�c˜3Ñ	Ô	¥¤¨1¨a°Ñ!5Ô!5°d°d¸°dÔ!;Ð<ñ>ô >Ø>?¸a¸aÅÄ¸môM€DˆˆˆˆAˆAˆAˆqˆ�Mà‡I‚Iˆc˜,˜,˜,¨c€IÑ2Ô2Ð2Ø‡I‚Iˆc˜,˜,˜,¨c€IÑ2Ô2Ð2Ø‡I‚Iˆc˜,˜,˜,€IÑ'Ô'Ð'Ø‡I‚Iˆd˜<˜<˜<€IÑ(Ô(Ð(Ø‡I‚Iˆd˜<˜<˜<¨s€IÑ3Ô3Ð3Ø‡I‚Iˆd˜<˜<˜<¨s€IÑ3Ô3Ð3Ø×Ò�^Ñ$Ô$Ð$Ø‡K‚K��A�ÑÔÐØ‡K‚K��A�ÑÔÐÐÐr4   c                 óŒ  — t          j        d¦  «                             d¦  «        }| |fD ]�}|                     ¦   «         }|                     |t
          j                             g d¢¦  «        |j        f¬¦  «         |                     |t
          j                             g d¢¦  «        |j        f¬¦  «         Œ‘d|_	        d S )NrH  ©r   r   )r  ©r   r7   )r7   r   )Ú	clip_path)r  ©r7   r8   )r8   r7   T)
r&   r'   r(   Úadd_subplotr*   Úmplr¡   r   rú   rY   )r†   r‡   Útr.   rv   s        r2   Ú#test_clip_path_disables_compositingrn  ù  sÉ   € å
Œ	�!‰Œ×Ò˜VÑ$Ô$€AØ˜'Ð"ð /ð /ˆØ�_Š_ÑÔˆØ
�	Š	�!¥¤§¢Ð.FÐ.FÐ.FÑ GÔ GØ "¤ð .ˆ	ñ 	/ô 	/ð 	/à
�	Š	�!¥¤§¢Ð.FÐ.FÐ.FÑ GÔ GØ "¤ð .ˆ	ñ 	/ô 	/ð 	/ð 	/à $€GÔÐÐr4   Úrasterize_10dpi)rJ   r5   r   c                  óX  — t          j        ddgddgg¦  «        } t          j        ddd¬¦  «        \  }}|d                              | ¦  «         |d                              ddgddgdd	¬
¦  «         |d                              dd¬¦  «         |d                              ddgddgd¬¦  «         |d                              dd¬¦  «         |D ]N}|                     g ¦  «         |                     g ¦  «         |j	        d d …          
                    d¦  «         ŒOdt          d<   d S )Nr7   r8   r   r9   )r   r7   rD  r   g      4@T)Ú	linewidthÚ
rasterizedrh  )rf   r8   ©ÚxlimÚylim)rq  Frz   rL   )r&   Úasarrayr%   r)   r*   rp   ÚsetrP  rQ  ÚspinesÚset_visibler   )rE   r.   rš   rv   s       r2   Útest_rasterize_dpirz    s4  € õ Œ*�q˜!�f˜q !˜fÐ%Ñ
&Ô
&€CåŒ|˜A˜q¨&Ð1Ñ1Ô1�H€Cˆàˆ„F‡M‚M�#ÑÔÐàˆ„F‡K‚K��A�˜˜A˜¨#¸$€KÑ?Ô?Ð?Øˆ„F‡J‚J�F €JÑ)Ô)Ð)àˆ„F‡K‚K��A�˜˜A˜¨#€KÑ.Ô.Ð.Øˆ„F‡J‚J�F €JÑ)Ô)Ð)ð ð (ð (ˆØ
�Š�bÑÔÐØ
�Š�bÑÔÐØ
Œ	�!�!�!Œ× Ò  Ñ'Ô'Ð'Ð'à …Hˆ]ÑÐÐr4   Úbbox_image_invertedc            	      óâ  — t          j        d¦  «                             d¦  «        } t          j        ¦   «         \  }}t          t          t          ddgddgg¦  «        |j        ¦  «        d¬¦  «        }| 	                    | ¦  «         | 
                    d¦  «         |                     dd¦  «         |                     dd¦  «         |                     |¦  «         t          j        d¦  «        } t          t          t          dd	gd
dgg¦  «        |j        j        ¦  «        d¬¦  «        }| 	                    | ¦  «         | 
                    d¦  «         |                     |¦  «         d S )Nr   r  r   r    r!   Frz   r_  çš™™™™™É?r`  rô   )r&   r'   r(   r%   r)   r   r   r   rú   Úset_dataÚset_clip_onr�   rŽ   Ú
add_artistÚidentityrg   ÚtransFigure)r	   r.   rv   Úbbox_ims       r2   Útest_bbox_image_invertedr„  $  s^  € õ ŒI�c‰NŒN×"Ò" 8Ñ,Ô,€EåŒl‰nŒn�G€CˆÝÝ�˜s C˜j¨1¨a¨&Ð1Ñ2Ô2°B´LÑAÔAØð!ñ !ô !€Gð ×Ò�UÑÔÐØ×Ò˜ÑÔÐØ‡K‚K��3ÑÔÐØ‡K‚K��3ÑÔÐØ‡M‚M�'ÑÔÐåŒK˜‰OŒO€Eå�­¨s°C¨j¸3À¸+Ð-FÑ(GÔ(GØ(*¬	Ô(=ñ?ô ?à&/ð1ñ 1ô 1€Gð ×Ò�UÑÔÐØ×Ò˜ÑÔÐØ‡M‚M�'ÑÔÐÐÐr4   c                  ó²  — t          j        g d¢g d¢g d¢g d¢g¦  «        } t          j        dd¬¦  «        \  }}|                     g d¢¦  «         |                     d	d
¦  «         |                     d	d
¦  «         |                     | g d¢d¬¦  «        }|j         	                    ¦   «          |j        j
        }|                     |¦  «        }t          |                     ¦   «         ddgddgg¦  «         t          j        dd¬¦  «        \  }}|                     g d¢¦  «         |                     d
d¦  «         |                     d	d
¦  «         |                     | g d¢d|j        ¬¦  «        }|j         	                    ¦   «          |j        j
        }|                     |¦  «        }t          |                     ¦   «         ddgddgg¦  «         d S )N)rô   rö   rç   rö   )r_  gÍÌÌÌÌÌä?ré   çš™™™™™Ù?)ra  r`  ç        r}  )çffffffæ?çÍÌÌÌÌÌì?r†  ra  r  r   r^   r~   r   r7   )r†  rˆ  r}  r‰  r    )ró   r"   i�  r(  i¼  i„  r8   )ró   r"   rø   )r&   rW   r%   r)   r…   r�   rŽ   r*   rû   ÚdrawÚrendererÚget_window_extentr   Ú
get_pointsÚ	transAxes)rÑ   r.   rv   Úim_objr‹  Úim_bboxs         r2   Ú$test_get_window_extent_for_AxisImager‘  =  sù  € õ
 
ŒÐ*Ð*Ð*Ð,AÐ,AÐ,AØ'Ð'Ð'Ð)=Ð)=Ð)=ð?ñ 
@ô 
@€BåŒl 8°Ð5Ñ5Ô5�G€CˆØ‡O‚O�L�L�LÑ!Ô!Ð!Ø‡K‚K��1ÑÔÐØ‡K‚K��1ÑÔÐØ�YŠYØ
Ð'Ð'Ð'°yð ñ Bô B€Fð „J‡O‚OÑÔÐØŒzÔ"€HØ×&Ò& xÑ0Ô0€Gå�w×)Ò)Ñ+Ô+¨s°C¨j¸3À¸*Ð-EÑFÔFÐFåŒl 8°Ð5Ñ5Ô5�G€CˆØ‡O‚O�L�L�LÑ!Ô!Ð!Ø‡K‚K��1ÑÔÐØ‡K‚K��1ÑÔÐØ�YŠYØ
Ð'Ð'Ð'°yØ”,ð ñ  ô  €Fð „J‡O‚OÑÔÐØŒzÔ"€HØ×&Ò& xÑ0Ô0€Gå�w×)Ò)Ñ+Ô+¨s°C¨j¸3À¸*Ð-EÑFÔFÐFÐFÐFr4   zzoom_and_clip_upper_origin.pngc                  ó  — t          j        d¦  «        } |                      d¦  «        } t          j        ¦   «         \  }}|                     | ¦  «         |                     dd¦  «         |                     dd¦  «         d S )Nr   r  ç       @ç      à¿)r&   r'   r(   r%   r)   r*   rŽ   r�   )r	   r.   rv   s      r2   Útest_zoom_and_clip_upper_originr•  `  sq   € õ ŒI�c‰NŒN€EØ�MŠM˜(Ñ#Ô#€EåŒl‰nŒn�G€CˆØ‡I‚IˆeÑÔÐØ‡K‚K��TÑÔÐØ‡K‚K��cÑÔÐÐÐr4   c                  ót   — t          j        ¦   «         } t          | ¦  «        }|                     d¦  «         d S )NÚBlues)r%   Úgcar   Úset_cmap©rv   rÑ   s     r2   Útest_nonuniformimage_setcmapr›  l  s2   € Ý	Œ‰Œ€BÝ	˜Ñ	Ô	€BØ‡K‚K�ÑÔÐÐÐr4   c                  ó–   — t          j        ¦   «         } t          | ¦  «        }|                     t          j        ¦   «         ¦  «         d S ©N)r%   r˜  r   Úset_normÚ	Normalizerš  s     r2   Útest_nonuniformimage_setnormr   r  s8   € Ý	Œ‰Œ€BÝ	˜Ñ	Ô	€BØ‡K‚K•”‘”Ñ Ô Ð Ð Ð r4   c                  ód  — t          j        dd¬¦  «        } t          d¦  «        D ]"}t          j        ddd¦  «        dz  | |d d …f<   Œ#t	          j        dd¦  «        }|                     |                      ¦   «         ¦  «         t          j	        ¦   «         \  }}| 
                    |¦  «         d S )	Nr  rB   r;   rz   r‡  rç   rT   ÚL)r&   r@   r:  Úlinspacer   ÚnewÚputdataÚflattenr%   r)   r*   )ÚimdÚirÑ   r.   rv   s        r2   Útest_jpeg_2dr©  x  sž   € å
Œ'�( 'Ð
*Ñ
*Ô
*€CÝ�2‰YŒYð 4ð 4ˆÝ”K  S¨"Ñ-Ô-°Ñ3ˆˆAˆqˆqˆqˆD‰	ˆ	Ý	Œ�3˜Ñ	!Ô	!€BØ‡J‚Jˆs�{Š{‰}Œ}ÑÔÐÝŒl‰nŒn�G€CˆØ‡I‚Iˆb�M„M€M€M€Mr4   c                  ó
  — t          j        dd¬¦  «         t          j        dt          ¬¦  «        } t          j        ddd¦  «        | d<   t          j        | ¦  «         t          j        ¦   «         }t          j	        |d	d
d¬¦  «         | 
                    d¦  «         t          j        |¦  «        }t          |                     d¦  «        ¦  «        }d|cxk    rdk    sn J ‚|                     d¦  «        }|dk    sJ ‚d S )Nr  é,  r^   )r«  r«  r9   r;   r‡  rç   r=   Úredr«   )rM  r¯   r`   r   é   é¯   éÒ   r  )éþ   r   r   )r%   rg   r&   r?   Úfloatr£  rZ   rq   rr   rs   rt   r   r—   rà   Ú	getcolorsÚgetpixel)rÑ   rÃ   r	   Ú
num_colorsÚcorner_pixels        r2   Útest_jpeg_alphar¶  ƒ  sþ   € Ý„J�v 3Ð'Ñ'Ô'Ð'õ 
Œ�-¥uÐ	-Ñ	-Ô	-€BÝ”˜S # sÑ+Ô+€B€v�Jå„L�ÑÔÐåŒ:‰<Œ<€DÝ„K� ¨e¸Ð=Ñ=Ô=Ð=à‡I‚Iˆa�L„L€LÝŒJ�tÑÔ€Eõ �U—_’_ SÑ)Ô)Ñ*Ô*€JØ�*Ð#Ð#Ò#Ð# Ò#Ð#Ð#Ð#Ð#Ð#à—>’> &Ñ)Ô)€LØ˜;Ò&Ð&Ð&Ð&Ð&Ð&r4   c                  ó  — t          j        ¦   «         } t          | ¦  «        }t          j        dt
          ¬¦  «                             d¦  «        }|                     |¦  «         d|d<   |j        d         dk    s
J d¦   «         ‚d S ©NrF  r;   ©r9   r   çÍÌÌÌÌÌ#@r  r   úvalue changed)	r%   r˜  r   r&   r'   r±  r(   r~  Ú_A)rv   rÑ   rl   s      r2   Útest_axesimage_setdatar½  ›  sw   € Ý	Œ‰Œ€BÝ	�2‰Œ€BÝ
Œ	�"�EÐ"Ñ"Ô"×*Ò*¨6Ñ2Ô2€AØ‡K‚K��N„N€NØ€A€d�GØŒ5�Œ;˜!ÒÐÐ˜_ÑÔÐÐÐr4   c                  ó  — t          j        ¦   «         } t          | ¦  «        }t          j        dt
          ¬¦  «                             d¦  «        }|                     |¦  «         d|d<   |j        d         dk    s
J d¦   «         ‚d S r¸  )	r%   Úgcfr   r&   r'   r±  r(   r~  r¼  )r.   rÑ   rl   s      r2   Útest_figureimage_setdatarÀ  ¤  sy   € Ý
Œ'‰)Œ)€CÝ	�SÑ	Ô	€BÝ
Œ	�"�EÐ"Ñ"Ô"×*Ò*¨6Ñ2Ô2€AØ‡K‚K��N„N€NØ€A€d�GØŒ5�Œ;˜!ÒÐÐ˜_ÑÔÐÐÐr4   zimage_cls,x,y,aç      @ç      @g      (@r¹  g      @)r   r8   c                 óx  — t          j        ¦   «         } | |¦  «        }|                     |||¦  «         dx|d<   x|d<   |d<   |j        d         |j        d         cxk    r|j        d         cxk    rdk    sn J d¦   «         ‚|                     |||                     g |j        ¢d‘R ¦  «        ¦  «         d S )Nrº  r   r  r»  rf   )r%   r˜  r~  r¼  Ú_AxÚ_Ayr(   r²   )Ú	image_clsrj   rk   rU  rv   rÑ   s         r2   Útest_setdata_xyarÇ  ­  sÎ   € õ 
Œ‰Œ€BØ	ˆ�2‰Œ€BØ‡K‚K��1�aÑÔÐØÐ€A€a�DÐˆ1ˆQ‰4�!�D‘'ØŒ5�Œ;˜"œ& œ)Ð5Ð5Ò5Ð5 r¤v¨a¤yÐ5Ð5Ò5Ð5°AÒ5Ð5Ð5Ð5Ð5°Ñ5Ô5Ð5Ø‡K‚K��1�a—i’i  !¤' ¨2  Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0r4   c                  óÊ  — ddl m}  t          j                             d¦  «         t          j                             dd¦  «        }t          j        dd¦  «        \  }}|d                              |¦  «        }|d                              |¦  «        }t          j	        ||d         ¬¦  «         t          j	        ||d         ¬¦  «         t          j        ¦   «         }t          j        |d¬¦  «         t          j        |                     ¦   «         ¦  «        }|                      |¦  «        }d }|                     d	¦  «        D ]}	|€	|	d
         }Œ|	d
         |k    rJ ‚Œd S )Nr   )ÚElementTreerz   r7   r8   )rv   rI   r°   r	   r  )Ú	xml.etreerÉ  r&   r€   r�   r‚   r%   r)   Ú
pcolormeshÚcolorbarrq   rr   rs   ÚgetvalueÚparseÚiter)
rÉ  r´   r.   rv   Úp1Úp2rÃ   Útreer  r	   s
             r2   Útest_minimized_rasterizedrÓ  ½  sQ  € ð &Ð%Ð%Ð%Ð%Ð%å„I‡N‚N�1ÑÔÐÝŒ9�>Š>˜"˜bÑ!Ô!€DåŒl˜1˜aÑ Ô �G€CˆØ	ˆAŒ×	Ò	˜$Ñ	Ô	€BØ	ˆAŒ×	Ò	˜$Ñ	Ô	€Bå„L�˜˜1œÐÑÔÐÝ„L�˜˜1œÐÑÔÐåŒ:‰<Œ<€DÝ„K�˜UÐ#Ñ#Ô#Ð#åŒ:�d—m’m‘o”oÑ&Ô&€DØ×Ò˜TÑ"Ô"€DØ€EØ—’˜7Ñ#Ô#ð ð ˆØˆ=Ø˜'”NˆEˆEà�WŒ~ Ò&Ð&Ø�ð 'ð	ð r4   c                  óà  — t          t          ¦  «        j        dz  } dt          j        dk    rdndz   |                      ¦   «                              ¦   «         z   }t          j        t          d¬¦  «        5  t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j                             |¦  «        5 }t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr’   zfile:Úwin32z///Ú zPlease open the URL©Úmatch)r   r•   r–   ÚsysÚplatformÚresolveÚas_posixr*  r+  Ú
ValueErrorr%   ru   ÚurllibÚrequestÚurlopen)r¡   ÚurlÚfiles      r2   Útest_load_from_urlrã  Þ  sP  € Ý•‰>Œ>Ô Ð#JÑJ€DØÝ”| wÒ.Ð.ˆeˆe°Bñ8à�\Š\‰^Œ^×$Ò$Ñ&Ô&ñ'€Cõ 
Œ•zÐ)>Ð	?Ñ	?Ô	?ð ð ÝŒ
�3‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ×	Ò	 Ñ	$Ô	$ð ¨ÝŒ
�4ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   Á6BÂBÂBÃC#Ã#C'Ã*C'Úlog_scale_imagec                  óÐ   — t          j        d¦  «        } d| d d d…<   t          j        ¦   «         \  }}|                     | g d¢dddd¬¦  «         |                     d	¬
¦  «         d S )Nr  r7   r8   )r7   r   r7   r   Úviridisrf   r<  )ró   rL  ÚvmaxÚvminÚaspectÚlog)Úyscale)r&   r?   r%   r)   r*   rw  )rê   r.   rv   s      r2   Útest_log_scale_imagerì  é  sx   € å
Œ�ÑÔ€AØ€A€c€cˆ€c�FåŒl‰nŒn�G€CˆØ‡I‚IˆaÐ(Ð(Ð(¨y¸qÀrØð ñ ô ð à‡F‚F�%€FÑÔÐÐÐr4   Úrotate_imagegffffffÖ?)r5   Útolc                  ó  — d} t          j        dd| ¦  «        x}}t          j        ||¦  «        \  }}t          j        |dz  |dz  z    dz  ¦  «        dt           j        z  z  }t          j        |dz
  dz  dz  |dz
  dz  dz  z    dz  ¦  «        dt           j        z  dz  dz  z  }||z
  }t          j        dd¦  «        \  }}	|	                     |dd	d
g d¢d¬¦  «        }
t          ¦   «          	                    d¦  «        |	j
        z   }|
                     |¦  «         |
                     ¦   «         \  }}}}|	                     |||||g|||||gdd|¬¦  «         |	                     dd¦  «         |	                     dd¦  «         d S )Nrô   ç      ÀrÁ  r8   r7   ç      ø?ré   r>   ræ  rb   )éþÿÿÿr9   éýÿÿÿr8   T)r"   rL  re   ró   Úclip_oné   zr--r   )Úlwrø   r   r   r9   )r&   r'   ÚmeshgridÚexpÚpir%   r)   r*   r   Ú
rotate_degrú   Úset_transformÚ
get_extentrp   r�   rŽ   )Údeltarj   rk   r-   ÚYÚZ1ÚZ2rê   r.   r/   Úim1Útrans_data2Úx1Úx2Úy1Úy2s                   r2   Útest_rotate_imager  ø  s¯  € à€EÝŒI�d˜C Ñ'Ô'Ð'€AˆÝŒ;�q˜!ÑÔ�D€A€qÝ	Œ�!�Q‘$˜˜A™‘+� Ñ"Ñ	#Ô	# q­2¬5¡yÑ	1€BÝ
Œ&�Q˜‘U˜c‘M AÑ%¨!¨a©%°3©¸Ñ(:Ñ:Ð;¸aÑ?Ñ
@Ô
@Ø�rŒu‰9�s‰?˜SÑ ñ"€Bà
ˆR‰€AåŒ|˜A˜qÑ!Ô!�H€CˆØ
�*Š*�Q f°9Ø#Ø*˜N˜N°Dð ñ :ô :€Cõ ‘*”*×'Ò'¨Ñ+Ô+¨c¬mÑ;€KØ×Ò�kÑ"Ô"Ð"ð —^’^Ñ%Ô%�N€BˆˆB�à‡H‚Hˆb�"�b˜"˜bÐ! B¨¨B°°BÐ#7¸À1Ø"ð ñ $ô $ð $ð ‡L‚L��AÑÔÐØ‡L‚L��AÑÔÐÐÐr4   c                  ó  — t          j        ¦   «         } t          j        d¦  «        }t	          j        | |d¬¦  «         |                      d¦  «         t	          j        | ¦  «        }|j        d d…         |j        k    sJ ‚d S )N)iá  iA  r[   r°   r   r8   )	rq   rr   r&   r?   r%   r±   rt   ru   r²   )rÃ   rÑ   rE   s      r2   Útest_image_preserve_sizer	    st   € ÝŒ:‰<Œ<€Då	Œ�*Ñ	Ô	€BÝ„Jˆt�R Ð&Ñ&Ô&Ð&à‡I‚Iˆa�L„L€LÝ
Œ*�TÑ
Ô
€CàŒ9�R�a�RŒ=˜BœHÒ$Ð$Ð$Ð$Ð$Ð$r4   c                  óŒ  — d} t          j        | t          ¦  «        }t          j        | | fd¬¦  «        }t          j        |g d¢¦  «        }|                     ¦   «          |                     |¦  «         |                     |ddd¬¦  «         t          j
        ¦   «         }|                     |d	¬
¦  «         |                     d¦  «         t          j        |¦  «        }|j        dk    sJ ‚t          t          j        |d d …d d …df         t"          ¦  «        t          j        | t"          ¦  «        d d d…         ¦  «         d S )Né   F)r_   rE  )r‡  r‡  rç   rç   r    rb   r<  )r"   re   ré  r7   )r`   r   )r  r  r9   rf   )r&   r�  r±  r%   rg   ÚAxesÚset_axis_offrN  r*   rq   rr   rs   rt   ru   r²   r   rv  Úbool)Únr´   r.   rv   rÃ   rE   s         r2   Útest_image_preserve_size2r     s,  € Ø	€AÝŒ;�q�%Ñ Ô €Då
Œ*˜a ˜V¨UÐ
3Ñ
3Ô
3€Cå	Œ�#Ð+Ð+Ð+Ñ	,Ô	,€BØ‡O‚OÑÔÐØ‡L‚L�ÑÔÐØ‡I‚Iˆd )°GÀF€IÑKÔKÐKÝŒ:‰<Œ<€DØ‡K‚K�˜!€KÑÔÐà‡I‚Iˆa�L„L€LÝ
Œ*�TÑ
Ô
€CàŒ9˜	Ò!Ð!Ð!Ð!å•r”z # a a a¨¨¨¨A g¤,µÑ5Ô5Ý”{ 1¥dÑ+Ô+¨D¨D¨b¨DÔ1ñ3ô 3ð 3ð 3ð 3r4   zmask_image_over_under.pngrç   c            
      óÖ  — dt           j        d<   d} t          j        dd| ¦  «        x}}t          j        ||¦  «        \  }}t          j        |dz  |dz  z    dz  ¦  «        dt          j        z  z  }t          j        |dz
  dz  dz  |dz
  d	z  dz  z    dz  ¦  «        dt          j        z  d	z  dz  z  }d
||z
  z  }t           j        j         	                    ddd¬¦  «        }t          j
                             |dk    |¦  «        }	t          j        dd¦  «        \  }
\  }}|                     |	d|t          j        ddd¬¦  «        dg d¢¬¦  «        }|                     d¦  «         |
                     |dd|d
¬¦  «         |                     |	d|t          j        g d¢dd¬¦  «        dg d¢¬¦  «        }|                     d¦  «         |
                     |dd d|d
¬!¦  «         d S )"NFzpcolormesh.snapgš™™™™™™?rð  rÁ  r8   r7   rñ  ré   rz   rR  rS  rT  ©ÚoverÚunderÚbadç333333ó?r#   g      ð¿rç   )rè  rç  Úcliprb   )ró  r   ró  r   )r"   rL  r;  re   ró   zGreen=low, Red=high, Blue=badÚbothÚ
horizontal)ÚextendÚorientationrv   ré  r    )rf   r”  gš™™™™™É¿r   r}  ré   r7   r­  )Úncolorsr  zWith BoundaryNormÚproportional)r  Úspacingr  rv   ré  )r%   r   r&   r'   r÷  rø  rù  ÚcmrK  Úwith_extremesÚmaÚmasked_wherer)   r*   r   rŸ  r+   rÌ  ÚBoundaryNorm)rý  rj   rk   r-   rþ  rÿ  r   rê   ÚpaletteÚZmr.   r/   r0   rÑ   s                 r2   Útest_mask_image_over_underr&  6  s+  € ð ',…C„LÐ"Ñ#à€EÝŒI�d˜C Ñ'Ô'Ð'€AˆÝŒ;�q˜!ÑÔ�D€A€qÝ	Œ�!�Q‘$˜˜A™‘+� Ñ"Ñ	#Ô	# q­2¬5¡yÑ	1€BÝ
Œ&�Q˜‘U˜c‘M AÑ%¨!¨a©%°3©¸Ñ(:Ñ:Ð;¸aÑ?Ñ
@Ô
@Ø�rŒu‰9�s‰?˜SÑ ñ"€Bà
ˆB�‰G‰€AåŒfŒk×'Ò'¨S¸ÀÐ'ÑEÔE€GÝ	Œ×	Ò	˜A šG QÑ	'Ô	'€BÝ”l 1 aÑ(Ô(�O€C‰ˆ#ˆsØ	�Š�B jØ ÝÔ)¨t¸#ÀEÐJÑJÔJØ"¨>¨>¨>ð 
ñ 
;ô 
;€Bð ‡M‚MÐ1Ñ2Ô2Ð2Ø‡L‚L�˜F°Ø ð ñ $ô $ð $ð 
�Š�B iØ ÝÔ,Ð-MÐ-MÐ-MØ58¸uðFñ Fô Fà"¨>¨>¨>ð	 
ñ 
;ô 
;€Bð
 ‡M‚MÐ%Ñ&Ô&Ð&Ø‡L‚L�˜F¨NØ)¨c¸"ð ñ >ô >ð >ð >ð >r4   Ú
mask_imagec                  ó²  — t          j        dd¦  «        \  } \  }}t          j        d¦  «        }t          j        |dd…dd…f<   |                     |d¬¦  «         t          j        dt          ¬¦  «        }d|dd…dd…f<   t          j         	                    t          j        dt          j
        ¬¦  «        |¦  «        }|                     |d¬¦  «         d S )Nr7   r8   r:   r    r!   r;   T)r%   r)   r&   r@   Únanr*   r?   r  r!  Úmasked_arrayr¤   )r.   r/   r0   rŠ   s       r2   Útest_mask_imager+  X  sÄ   € õ ”l 1 aÑ(Ô(�O€C‰ˆ#ˆså
Œ�‰Œ€AÝ”&€A€aˆ€cˆ1ˆQˆ3€h�Kà‡J‚Jˆq 	€JÑ*Ô*Ð*å
Œ��tÐ$Ñ$Ô$€AØ€A€aˆ€cˆ1ˆQˆ3€h�KÝ
Œ×Ò�2œ7 6µ´Ð;Ñ;Ô;¸QÑ?Ô?€Aà‡J‚Jˆq 	€JÑ*Ô*Ð*Ð*Ð*r4   c                  óÌ   — t          j        dt           j        ¦  «        } t          j        ¦   «         \  }}|                     | ¦  «         |j                             ¦   «          d S )Nr]   )r&   Úfullr)  r%   r)   r*   rû   Ú	draw_idle)r´   r.   rv   s      r2   Útest_mask_image_allr/  j  sM   € åŒ7�6�2œ6Ñ"Ô"€DÝŒl‰nŒn�G€CˆØ‡I‚Iˆd�O„O€OØ„J×ÒÑÔÐÐÐr4   zimshow_endianess.pngc                  ór  — t          j        d¦  «        } t          j        | | ¦  «        \  }}t          j        |dz
  |dz
  ¦  «        }t	          j        dd¦  «        \  }\  }}t          ddd¬¦  «        } |j        |                     d	¦  «        fi |¤Ž  |j        |                     d
¦  «        fi |¤Ž d S )Nrz   r   r7   r8   rb   r    ræ  )re   r"   rL  z<f8z>f8)	r&   r'   r÷  Úhypotr%   r)   Údictr*   rÂ   )rj   r-   rþ  rê   r.   r/   r0   Úkwargss           r2   Útest_imshow_endianessr4  r  s¸   € å
Œ	�"‰Œ€AÝŒ;�q˜!ÑÔ�D€A€qÝ
Œ��Q‘˜˜A™ÑÔ€Aå”l 1 aÑ(Ô(�O€C‰ˆ#ˆså˜°	À	ÐJÑJÔJ€Fà€C„Jˆq�xŠx˜‰ŒÐ)Ð) &Ð)Ð)Ð)Ø€C„Jˆq�xŠx˜‰ŒÐ)Ð) &Ð)Ð)Ð)Ð)Ð)r4   Úimshow_masked_interpolationÚx86_64r÷   )rî  r5   r   c                  ó"  — t           j        d                              ddd¬¦  «        } d}t          j        d||z  dz
  ¬	¦  «        }t          j        ||z  t          ¬
¦  «                             ||¦  «        }d|d<   d|d<   t
          j	        |d<   t          j
        |¦  «                             d¦  «        }d|d<   t
          j                             ||¦  «        }t          j        dd¦  «        \  }}t!          t"          j        ¦  «        }|                     d¦  «         t)          ||                     ¦   «         ¦  «        D ]H\  }}	|	                     |¦  «         |	                     ||| |¬¦  «         |	                     d¦  «         ŒId S )Nræ  rR  rT  rÚ   r  r   r   r7   ©rè  rç  r;   rf   r:   g     jø@)rG  r   )rG  rG  r  T)r   rG  r   r   r   )r;  rL  r"   Úoff)rl  Ú	colormapsr   r   rŸ  r&   r'   r±  r(   ÚinfÚ
zeros_likerÂ   r!  r*  r%   r)   ÚsortedÚmimageÚ	_interpd_ÚremoveÚzipÚravelr+   r*   Úaxis)
rL  ÚNr  r´   Úmaskr.   Úax_gridÚinterpsÚinterprv   s
             r2   Ú test_imshow_masked_interpolationrI  €  sp  € õ
 Œ=˜Ô#×1Ò1°sÀ#È3Ð1ÑOÔO€Dà
€AÝÔ˜a a¨¡c¨!¡eÐ,Ñ,Ô,€AåŒ9�Q�q‘S¥Ð&Ñ&Ô&×.Ò.¨q°!Ñ4Ô4€Dà€Dˆ�Jð €Dˆ�Kõ ”6€Dˆ�LåŒ=˜ÑÔ×%Ò% fÑ-Ô-€DØ€Dˆ�KåŒ5×Ò˜d DÑ)Ô)€Då”<  1Ñ%Ô%�L€CˆÝ•VÔ%Ñ&Ô&€GØ‡N‚N�=Ñ!Ô!Ð!å˜' 7§=¢=¡?¤?Ñ3Ô3ð ð ‰
ˆ�Ø
�Š�VÑÔÐØ
�	Š	�$˜Q T¸ˆ	Ñ@Ô@Ð@Ø
�Š�‰Œˆˆðð r4   c                  óN   — t          j        ddgdt          j        gg¦  «         d S )Nr7   r8   r   )r%   r*   r&   r)  r×   r4   r2   Útest_imshow_no_warn_invalidrK  ¤  s'   € Ý„J��A�˜�BœF˜Ð$Ñ%Ô%Ð%Ð%Ð%r4   r<   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS r×   )r&   r<   )rÙ   Úss     r2   r9  r9  ©  s    € ÐBÐBÐB˜a�bŒh�q‰kŒkÐBÐBÐBr4   zu2 u4 i2 i4 i8 f4 f8c                 óV  — t          j        d| ¬¦  «                             d¦  «        }| j        dk    r|dz  }|dk     }|dk    }| j        dk    r|dz  }t	          j        ¦   «         \  }}|                     |¦  «                             ¦   «         }||         dk                         ¦   «         sJ ‚| j        dk    r4||         d	k                         ¦   «         sJ ‚|j	        j        dk    sJ ‚d S ||         dk                         ¦   «         sJ ‚|j	        t           j
        k    sJ ‚d S )
Nr«  r;   )rz   rz   r   Úurz   r   rT   Úfr7   )r&   r'   r(   Úkindr%   r)   r*   Ú	get_arrayÚallr<   rB   )r<   r#  Útoo_lowÚtoo_highÚ_rv   Úouts          r2   Ú$test_imshow_clips_rgb_to_valid_rangerX  ¨  s4  € õ Œ)�C˜uÐ
%Ñ
%Ô
%×
-Ò
-¨kÑ
:Ô
:€CØ„z�SÒÐØˆr‰	ˆØ�AŠg€GØ�SŠy€HØ„z�SÒÐØ�C‰iˆÝŒL‰NŒN�E€A€rØ
�)Š)�C‰.Œ.×
"Ò
"Ñ
$Ô
$€CØ�ŒL˜AÒ×"Ò"Ñ$Ô$Ð$Ð$Ð$Ø„z�SÒÐØ�H” Ò"×'Ò'Ñ)Ô)Ð)Ð)Ð)ØŒyŒ~ Ò$Ð$Ð$Ð$Ð$Ð$à�H” Ò$×)Ò)Ñ+Ô+Ð+Ð+Ð+ØŒy�BœHÒ$Ð$Ð$Ð$Ð$Ð$r4   zimshow_flatfield.pngc                  ó°   — t          j        ¦   «         \  } }|                     t          j        d¦  «        d¬¦  «        }|                     dd¦  «         d S )Nr:   r    r!   ré   rñ  )r%   r)   r*   r&   r@   Úset_clim©r.   rv   rÑ   s      r2   Útest_imshow_flatfieldr\  ½  sH   € åŒl‰nŒn�G€CˆØ	�Š•2”7˜6‘?”?°)ˆÑ	<Ô	<€BØ‡K‚K��CÑÔÐÐÐr4   zimshow_bignumbers.pngc                  óè   — dt           d<   t          j        ¦   «         \  } }t          j        g d¢g d¢gt          j        ¬¦  «        }|                     |¦  «        }|                     dd¦  «         d S )Nr    úimage.interpolation)r7   r8   g   ¢”mB)r   r7   r9   r;   r   r   )r   r%   r)   r&   rW   Úuint64r*   rZ  ©r.   rv   rE   Úpcs       r2   Útest_imshow_bignumbersrb  Ä  sj   € à&/…HÐ"Ñ#õ Œl‰nŒn�G€CˆÝ
Œ(�L�L�L ) ) )Ð,µB´IÐ
>Ñ
>Ô
>€CØ	�Š�3‰Œ€BØ‡K‚K��1ÑÔÐÐÐr4   zimshow_bignumbers_real.pngc                  óÐ   — dt           d<   t          j        ¦   «         \  } }t          j        g d¢g d¢g¦  «        }|                     |¦  «        }|                     dd¦  «         d S )Nr    r^  )r“  rç   g’ÕMÏð€D)rÂ  rç   rÁ  r   r   )r   r%   r)   r&   rW   r*   rZ  r`  s       r2   Útest_imshow_bignumbers_realrd  Ï  se   € ð '0…HÐ"Ñ#õ Œl‰nŒn�G€CˆÝ
Œ(�O�O�O \ \ \Ð2Ñ
3Ô
3€CØ	�Š�3‰Œ€BØ‡K‚K��1ÑÔÐÐÐr4   Ú	make_normc                  ó*   — t          j        d¦  «        S ©Nr7   )r   Ú
SymLogNormr×   r4   r2   ú<lambda>ri  ß  s   € �VÔ˜qÑ!Ô!€ r4   c                  ó*   — t          j        d¦  «        S rg  )r   Ú	PowerNormr×   r4   r2   ri  ri  à  s   € �VÔ˜aÑ Ô € r4   c                 óô  — t          j        ¦   «         \  }}t          j        t          d¬¦  «        5  |                     g g | ¦   «         ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     g d¢¦  «         |j                             ¦   «          t          j	        t          ¦  «        5  |                     |j                             ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz.Attempting to set identical low and high xlimsr×  ©r;  )éûÿÿÿr   rn  r   )r%   r)   r*  ÚwarnsÚUserWarningr*   Ú
set_extentrû   rŠ  r+  ÚRuntimeErrorÚ
make_imageÚget_renderer)re  r.   rv   rÑ   s       r2   Útest_empty_imshowru  Û  sb  € õ Œl‰nŒn�G€CˆÝ	Œ•kØLð
Nñ 
Nô 
Nð /ð /à�YŠY˜�t ) )¡+¤+ˆYÑ.Ô.ˆð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð ‡M‚M�.�.�.Ñ!Ô!Ð!Ø„J‡O‚OÑÔÐå	Œ•|Ñ	$Ô	$ð 1ð 1Ø
�Š�c”j×-Ò-Ñ/Ô/Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1s#   ²!AÁA#Á&A#Â3-C-Ã-C1Ã4C1c                  óÊ   — t          j        ¦   «         \  } }|                     t          j        dt          j        ¬¦  «        ¦  «         | j                             ¦   «          d S )Nrg  r;   )r%   r)   r*   r&   r?   Úfloat16rû   rŠ  ©r.   rv   s     r2   Útest_imshow_float16ry  í  sL   € ÝŒl‰nŒn�G€CˆØ‡I‚I�bŒh�v¥R¤ZÐ0Ñ0Ô0Ñ1Ô1Ð1à„J‡O‚OÑÔÐÐÐr4   c                  óž  — t          j        ¦   «         \  } }|                     t          j        dt          j        ¬¦  «        ¦  «         t          j        t          j        t          j        d¦  «        rt          ¦   «         nt          j
        t          ¦  «        5  | j                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nrg  r;   Úequiv)r%   r)   r*   r&   r?   Ú
longdoubleÚcan_castÚfloat64r   r*  ro  rp  rû   rŠ  rx  s     r2   Útest_imshow_float128r  ô  sÞ   € ÝŒl‰nŒn�G€CˆØ‡I‚I�bŒh�v¥R¤]Ð3Ñ3Ô3Ñ4Ô4Ð4Ýœ¥R¤]µB´JÀÑHÔHð )�)‰+Œ+ˆ+ÝŒ|�KÑ(Ô(ðð ð 	Œ
�ŠÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂCÃCÃ	Cc                  óš   — t          j        ¦   «         \  } }|                     t          j        ddgddggt
          ¬¦  «        ¦  «         d S )NTFr;   )r%   r)   r*   r&   rW   r  rx  s     r2   Útest_imshow_boolr�  ý  sE   € ÝŒl‰nŒn�G€CˆØ‡I‚I�bŒh˜˜u˜¨¨t }Ð5½TÐBÑBÔBÑCÔCÐCÐCÐCr4   c                  óÈ   — t          j        ¦   «         \  } }|                     t          j        dt          j        ¦  «        ¦  «         | j                             ¦   «          d S )Nr  )r%   r)   r*   r&   r-  r)  rû   rŠ  rx  s     r2   Útest_full_invalidrƒ    sI   € ÝŒl‰nŒn�G€CˆØ‡I‚I�bŒg�h¥¤Ñ'Ô'Ñ(Ô(Ð(à„J‡O‚OÑÔÐÐÐr4   zfmt,counted)rº   s    colorimage)rI   s   <imagezcomposite_image,count)Tr7   )Fr8   c                 óN  — t          j        t          j        ddd¦  «        t          j        ddd¦  «        ¦  «        \  }}t          j        |dz  ¦  «        }t	          j        ¦   «         \  }}|                     dd¦  «         |                     |g d¢¬¦  «         |                     |d d d	…         g d
¢¬¦  «         |t          j        d<   t          j
        ¦   «         }	|                     |	| ¬¦  «         |	                     ¦   «                              |¦  «        |k    sJ ‚d S )Nrn  r   r7   r8   r   r   ©r   r7   r   r7   rò   rf   )r8   r   r   r7   zimage.composite_imager°   )r&   r÷  r'   ri   r%   r)   r�   r*   r   rq   rr   rs   rÍ  Úcount)
rª   ÚcountedÚcomposite_imager†  r-   rþ  rê   r.   rv   rÐ   s
             r2   Útest_compositer‰  	  s  € õ Œ;•r”y  Q¨Ñ*Ô*­B¬I°b¸!¸QÑ,?Ô,?Ñ@Ô@�D€A€qÝ
Œˆq�A‰v‰Œ€AåŒl‰nŒn�G€CˆØ‡K‚K��1ÑÔÐØ‡I‚Iˆa˜˜˜€IÑ%Ô%Ð%Ø‡I‚Iˆa���"�Œg˜l˜l˜l€IÑ+Ô+Ð+Ø,;…C„LÐ(Ñ)Ý
Œ*‰,Œ,€CØ‡K‚K�˜C€KÑ Ô Ð Ø�<Š<‰>Œ>×Ò Ñ(Ô(¨EÒ1Ð1Ð1Ð1Ð1Ð1r4   c                  ó  — t          j        ¦   «         \  } }|                     dggd¬¦  «         |                     ¦   «          |                     ¦   «          |                     ¦   «         |                     ¦   «         cxk    rdk    sn J ‚d S )Nr   r…  rò   rh  )r%   r)   r*   ÚrelimÚ	autoscaleÚget_xlimÚget_ylimrx  s     r2   Ú
test_relimr�    s€   € ÝŒl‰nŒn�G€CˆØ‡I‚I�ˆsˆe˜L€IÑ)Ô)Ð)Ø‡H‚H�J„J€JØ‡L‚L�N„N€NØ�;Š;‰=Œ=˜BŸKšK™MœMÐ3Ð3Ò3Ð3¨VÒ3Ð3Ð3Ð3Ð3Ð3Ð3Ð3r4   c                  ó”  — t          j        ¦   «         \  } }|                     ¦   «          |                     ddgddggdddd¬¦  «        }|                     dd¬¦  «         | j                             ¦   «          t          j        | j         	                    ¦   «         ¦  «        d	d d
…f         dk     
                    ¦   «         sJ ‚d S )Nr   r<  rI  rK  F)ré  ró   rL  rô  rh  rs  .r   )r%   r)   r  r*   rw  rû   rŠ  r&   rW   Úbuffer_rgbarS  r[  s      r2   Útest_unclippedr’  $  sÄ   € ÝŒl‰nŒn�G€CˆØ‡O‚OÑÔÐØ	�Š�Q˜�F˜Q ˜FÐ#¨FÐ;MØ¨ð 
ñ 
/ô 
/€Bà‡F‚F�˜V€FÑ$Ô$Ð$Ø„J‡O‚OÑÔÐõ ŒH�S”Z×+Ò+Ñ-Ô-Ñ.Ô.¨s°B°Q°B¨wÔ7¸1Ò<×AÒAÑCÔCÐCÐCÐCÐCÐCr4   c                  óŠ  — t          j        d¦  «        \  } }|D ]}|                     ¦   «          Œ|d                              ddgddggdd¬¦  «        }|                     d ¦  «         |                     |d         j        ¦  «         t          j        ¦   «         }|  	                    |d¬	¦  «         h | 
                    ¦   «         £d
hk    sJ ‚|d                              d¬¦  «         t          j        ¦   «         }|  	                    |d¬	¦  «         | 
                    ¦   «         | 
                    ¦   «         k    sJ ‚d S )Nr8   r7   r   r   r<  r…  )ré  ró   Úrgbar°   rT   )rf   r   )ru  )r%   r)   r  r*   r  Úset_clip_boxÚbboxrq   rr   rs   rÍ  rw  )r.   rš   rv   rÑ   Ú
buf_beforeÚ	buf_afters         r2   Útest_respects_bboxr™  0  s8  € ÝŒ|˜A‰Œ�H€CˆØð ð ˆØ
�ŠÑÔÐÐØ	ˆQŒ�Š˜˜A˜  A Ð'°¸|ˆÑ	LÔ	L€BØ×Ò�TÑÔÐð ‡O‚O�C˜”F”KÑ Ô Ð Ý”‘”€JØ‡K‚K�
 6€KÑ*Ô*Ð*Ø#ˆZ× Ò Ñ"Ô"Ð#¨ vÒ-Ð-Ð-Ð-Øˆ„F‡J‚J�G€JÑÔÐÝ”
‘”€IØ‡K‚K�	 &€KÑ)Ô)Ð)Ø×ÒÑ Ô  I×$6Ò$6Ñ$8Ô$8Ò8Ð8Ð8Ð8Ð8Ð8r4   c                  óÆ  — t          j        ¦   «         \  } }|                     t          j        d¦  «        ¦  «        }t          j                             dgdg¬¦  «        }|                     |¦  «        dk    sJ ‚t          j                             dgdg¬¦  «        }|                     |¦  «        dk    sJ ‚t          j        }|                     |¦  «        dk    sJ ‚d S )	Nrï   r   T©rE  r  Fz[0]z[nan])	r%   r)   r*   r&   r?   r!  r*  r  r)  )r.   rv   rÑ   r´   s       r2   Útest_image_cursor_formattingrœ  B  sÒ   € ÝŒl‰nŒn�G€Cˆà	�Š•2”8˜FÑ#Ô#Ñ	$Ô	$€BåŒ5×Ò˜q˜c¨¨ÐÑ/Ô/€DØ× Ò  Ñ&Ô&¨$Ò.Ð.Ð.Ð.åŒ5×Ò˜q˜c¨¨ÐÑ0Ô0€DØ× Ò  Ñ&Ô&¨%Ò/Ð/Ð/Ð/åŒ6€DØ× Ò  Ñ&Ô&¨'Ò1Ð1Ð1Ð1Ð1Ð1r4   c                 óü  — t          j        dd¦  «        }t          j        ||¦  «        \  }}t          j        d|dz
  dz  z  |dz
  z   ¦  «        }||                     ¦   «         z  }t
          j        d         }|                      ¦   «         }|                     |||d¬	¦  «         |                     ¦   «         } | t          j
        ¦   «         |¦  «        ¦  «        }	||	d
<   |                     |	d¬¦  «         dS )zPer-pixel alpha channel test.r   r7   ró  ré   r8   g[�Âõ(\ß?ræ  r    )rè   rL  r"   ).rf   r!   N)r&   r£  r÷  rø  Úmaxrl  r:  rk  r*   r   rŸ  )
r†   r‡   rj   ÚxxÚyyÚzzrè   rL  rv   r”  s
             r2   Útest_image_array_alphar¢  Q  sð   € õ 	Œ�A�qÑÔ€AÝŒ[˜˜AÑÔ�F€Bˆå	Œ�˜˜S™ Q‘Ñ'¨2°©=Ñ9Ñ	:Ô	:€BØ�—’‘”‰M€EåŒ=˜Ô#€DØ	×	Ò	Ñ	Ô	€BØ‡I‚Iˆb˜ D¸	€IÑBÔBÐBà	×	Ò	Ñ	Ô	€BØˆ4Ð"•Ô Ñ"Ô" 2Ñ&Ô&Ñ'Ô'€DØ€Dˆ�MØ‡I‚Iˆd )€IÑ,Ô,Ð,Ð,Ð,r4   c                  óÂ   — t          j        t          d¬¦  «        5  t          j        t          j        d¦  «        ddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzalpha must be a float, two-dr×  r]   r7   )rè   )r*  r+  r,  r%   r*   r&   r?   r×   r4   r2   Ú!test_image_array_alpha_validationr¤  d  sŸ   € Ý	Œ•yÐ(FÐ	GÑ	GÔ	Gð 3ð 3ÝŒ
•2”8˜FÑ#Ô#¨A¨q¨6Ð2Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   œ+AÁAÁAc                  óä  — t          t          j        d         ¦  «        } |                      d¬¦  «         t	          j        dd¬¦  «        }|                     g d¢¦  «        }t          j        g d¢gt          ¬	¦  «        }| 
                    |d
| dd¬¦  «        }|                     d¦  «         |j                             ¦   «          |                     |j        j        ¦  «        d         d         }|                     |                     |dggdz  z  j                             ¦   «         ¦  «        ¦  «        dz                       t*          ¦  «        }t          j        ||k    ¦  «        sJ ‚d S )NÚautumn_rÚ	lightgrey)Úcolor)gffffffþ?r_  r   r^   r~   )rf   rf   rf   r   r   r   r   é+   éO   é_   éB   r7   rf   rf   rf   r   r   r   é"   r;   r<  r   )ré  rL  rè  rç  r9  r7   rz   rT   )r   rl  r:  Ú	set_underr%   rg   rN  r&   rW   r±  r*   rC  rû   rŠ  rs  r‹  rL  r;  ÚTrB  rÂ   rƒ   rS  )rL  r.   rv   r´   rÑ   Ú
from_imageÚdirect_computations          r2   Útest_exact_vminr²  i  sL  € å•”˜jÔ)Ñ*Ô*€DØ‡N‚N˜€NÑ%Ô%Ð%õ Œ*˜Z¨SÐ
1Ñ
1Ô
1€CØ	�Š�l�l�lÑ	#Ô	#€BåŒ8Ø	MÐ	MÐ	MÐNÝðñ ô €Dð
 
�Š�4 ¨T¸ÀˆÑ	DÔ	D€BØ‡G‚GˆE�N„N€NØ„J‡O‚OÑÔÐð —’˜sœzÔ2Ñ3Ô3°AÔ6°qÔ9€Jð 	�Š�—’˜ 1 # ¨¡Ñ,Ô/×5Ò5Ñ7Ô7Ñ8Ô8Ñ9Ô9¸CÑ?ß‚f�S�k„kð õ
 Œ6�*Ð 2Ò2Ñ3Ô3Ð3Ð3Ð3Ð3Ð3r4   c                   óF   ‡ — e Zd Zd„ Zd„ Zˆ fd„Zd„ Zed„ ¦   «         Zˆ xZ	S )Ú
QuantityNDc                 ób   — t          j        |¦  «                             | ¦  «        }||_        |S r�  )r&   rv  ÚviewÚunits)ÚclsÚinput_arrayr·  Úobjs       r2   Ú__new__zQuantityND.__new__‹  s+   € ÝŒj˜Ñ%Ô%×*Ò*¨3Ñ/Ô/ˆØˆŒ	Øˆ
r4   c                 ó2   — t          |dd ¦  «        | _        d S ©Nr·  )Úgetattrr·  )Úselfrº  s     r2   Ú__array_finalize__zQuantityND.__array_finalize__�  s   € Ý˜S '¨4Ñ0Ô0ˆŒ
ˆ
ˆ
r4   c                 óÈ   •— t          | dd ¦  «        }t          t          | ¦  «                             |¦  «        }t	          |t          ¦  «        s|�t          ||¦  «        }|S r½  )r¾  Úsuperr´  Ú__getitem__Ú
isinstance)r¿  Úitemr·  ÚretÚ	__class__s       €r2   rÃ  zQuantityND.__getitem__“  s\   ø€ Ý˜˜g tÑ,Ô,ˆÝ•J Ñ%Ô%×1Ò1°$Ñ7Ô7ˆÝ�c�:Ñ&Ô&ð 	)¨%Ð*;Ý˜S %Ñ(Ô(ˆCØˆ
r4   c                 ó®  — t          ||¦  «        }d|v rt          S t          |¦  «        dk    r6|d         }t          |dd¦  «        } |t          j        |¦  «        fi |¤Ž}�nIt          |¦  «        dk    �r.|d         }|d         }	t          |dd¦  «        }
t          |	dd¦  «        }|
€|n|
}
|€|
n|}|t          j        t          j        fv r|
|k    rt          ‚|
}n�|t          j        k    r|
› d|› �}ni|t          j	        k    r	|
› d|› d	�}nP|t          j
        t          j        t          j        t          j        t          j        t          j        fv rd }nt          S  ||                     t          j        ¦  «        |	                     t          j        ¦  «        fi |¤Ž}nt          S |€t          j        |¦  «        }nt'          ||¦  «        }|S )
NrW  r7   r   r·  Údimensionlessr8   Ú*z/(ú))r¾  ÚNotImplementedrà   r&   rv  ÚaddÚsubtractrÝ  ÚmultiplyÚdivideÚgreaterÚgreater_equalÚequalÚ	not_equalÚlessÚ
less_equalr¶  ÚndarrayrW   r´  )r¿  ÚufuncÚmethodÚinputsr3  ÚfuncÚi0ÚunitÚout_arrÚi1Úu0Úu1s               r2   Ú__array_ufunc__zQuantityND.__array_ufunc__š  sÖ  € Ý�u˜fÑ%Ô%ˆØ�Fˆ?ˆ?Ý!Ð!Ýˆv‰;Œ;˜!ÒÐØ˜”ˆBÝ˜2˜w¨Ñ8Ô8ˆDØ�d�2œ: b™>œ>Ð4Ð4¨VÐ4Ð4ˆG‰GÝ�‰[Œ[˜AÒÑØ˜”ˆBØ˜”ˆBÝ˜˜W oÑ6Ô6ˆBÝ˜˜W oÑ6Ô6ˆBØ�z�� rˆBØ�z�� rˆBØ�œ¥¤Ð-Ð-Ð-Ø˜’8�8Ý$Ð$Ø��Ø�"œ+Ò%Ð%Ø�|�|˜r�|�|��Ø�"œ)Ò#Ð#Ø�~�~ �~�~�~��Ø�2œ:¥rÔ'7Ýœ8¥R¤\Ýœ7¥B¤Mð3ð 3ð 3ð ��å%Ð%Ø�d˜2Ÿ7š7¥2¤:Ñ.Ô.°·²½¼
Ñ0CÔ0CÐNÐNÀvÐNÐNˆGˆGå!Ð!Øˆ<Ý”h˜wÑ'Ô'ˆGˆGå  ¨$Ñ/Ô/ˆGØˆr4   c                 ó@   — |                       t          j        ¦  «        S r�  )r¶  r&   r×  )r¿  s    r2   rÛ   zQuantityND.vÁ  s   € à�yŠy�œÑ$Ô$Ð$r4   )
Ú__name__Ú
__module__Ú__qualname__r»  rÀ  rÃ  râ  ÚpropertyrÛ   Ú__classcell__)rÇ  s   @r2   r´  r´  Š  s�   ø€ € € € € ðð ð ð
1ð 1ð 1ðð ð ð ð ð%ð %ð %ðN ð%ð %ñ „Xð%ð %ð %ð %ð %r4   r´  c                  óø  — t          ddgd¦  «        } | d d …         \  }}t          j        | j        t          j        ddg¦  «        k    ¦  «        sJ ‚| j        dk    sJ ‚t          j        ||z   j        t          j        dg¦  «        k    ¦  «        sJ ‚||z  j        dk    sJ ‚||z  j        dk    sJ ‚t          j        t          ¦  «        5  |t          dd¦  «        z    d d d ¦  «         d S # 1 swxY w Y   d S )Nr7   r8   Úmr   zm*mzm/(m)rM  )	r´  r&   rS  rÛ   rv  r·  r*  r+  rÝ  )ÚqÚq0Úq1s      r2   Útest_quantityndrî  Æ  sB  € Ý�A�q�6˜3ÑÔ€AØˆqˆqˆqŒT�F€BˆÝŒ6�!”#�œ Q¨ FÑ+Ô+Ò+Ñ,Ô,Ð,Ð,Ð,ØŒ7�cŠ>ˆ>ˆ>ˆ>ÝŒ6�2˜‘7”+¥¤¨Q¨C¡¤Ò0Ñ1Ô1Ð1Ð1Ð1Ø�‰GŒ?˜eÒ#Ð#Ð#Ð#Ø�‰GŒ?˜gÒ%Ð%Ð%Ð%Ý	Œ•zÑ	"Ô	"ð  ð  Ø
�Z˜˜3ÑÔÑÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  s   ÃC/Ã/C3Ã6C3c                  óÒ   — t          t          j        d¦  «        d¦  «        } t          j        ¦   «         \  }}|                     | ¦  «         |j                             ¦   «          d S )Nr]   rê  )r´  r&   r@   r%   r)   r*   rû   rŠ  )r#  r.   rv   s      r2   Útest_imshow_quantityndrð  Ò  sO   € å
•R”W˜V‘_”_ cÑ
*Ô
*€CÝŒl‰nŒn�G€CˆØ‡I‚Iˆc�N„N€Nà„J‡O‚OÑÔÐÐÐr4   c                 óÌ  — t          j        ddt           j        ¬¦  «        }d|dd…d d …f<   t           j                             |d¬¦  «        }d	|j        dd…dd…f<   t          j        d
                              d¬¦  «        }|  	                    ¦   «         }| 
                    |t          j        dd¬¦  «        dd|¬¦  «        }|                     t          j        dd¬¦  «        ¦  «         | 
                    |t          j        dd¬¦  «        dd|¬¦  «        }|                     t          j        dd¬¦  «        ¦  «         |                     dd¬¦  «         | 	                    ¦   «         }| 
                    |t          j        dd¬¦  «        dd|¬¦  «         | 
                    |t          j        dd¬¦  «        dd|¬¦  «         |                     dd¬¦  «         d S )Nr:   r7   r;   rf   r   r8   Fr›  Træ  Úw©r  ré   r8  r  r    )r;  ró   r"   rL  rò  )r   rz   r   rz   ©r   rz   rs  )r&   r-  r~  r!  rW   rE  rl  r:  r   r)   r*   r   r=  rž  rŸ  rw  )r†   r‡   r´   Úmasked_datarL  rv   rÑ   s          r2   Útest_norm_changerö  Û  sð  € õ Œ7�6˜1¥B¤JÐ/Ñ/Ô/€DØ€Dˆˆ1ˆˆaˆaˆaˆ�Lå”%—+’+˜d¨�+Ñ/Ô/€KØ!%€KÔ�Q�q�S˜!˜A˜#�XÑåŒ=˜Ô#×1Ò1¸Ð1Ñ<Ô<€Dà	×	Ò	Ñ	Ô	€BØ	�Š�4�fœn°#¸AÐ>Ñ>Ô>Ø&°iÀdð 
ñ 
Lô 
L€Bà‡K‚K•Ô  b¨qÐ1Ñ1Ô1Ñ2Ô2Ð2Ø	�Š�;¥V¤^¸À1Ð%EÑ%EÔ%EØ(¸	Èð 
ñ 
Nô 
N€Bà‡K‚K•Ô  b¨qÐ1Ñ1Ô1Ñ2Ô2Ð2Ø‡F‚F�˜g€FÑ&Ô&Ð&à	×	Ò	Ñ	Ô	€BØ‡I‚Iˆd�Ô)¨r¸Ð:Ñ:Ô:Ø!°Àð ñ Gô Gð Gà‡I‚Iˆk¥Ô 0°b¸qÐ AÑ AÔ AØ#°9À4ð ñ Iô Ið Ià‡F‚F�˜g€FÑ&Ô&Ð&Ð&Ð&r4   rj   c                 óN  — t          j        d|t           j        ¬¦  «        }d|dd…d d …f<   |                      ¦   «         }|                     |t          j        d|                     ¦   «         ¬¦  «        dd	¬
¦  «         t          j        d|t           j        ¬¦  «        }d|dd…d d …f<   |                     ¦   «         }t          j	        d	          
                    d¬¦  «        }|                     |t          j        d|                     ¦   «         ¬¦  «        d|¬
¦  «         d S )Nr:   r;   g@Œµx¯Dr   r8   r7   r8  r    ræ  )r;  r"   rL  iè  rò  ró  )r&   r-  r~  r)   r*   r   r=  rž  rl  r:  r   rŸ  )r†   r‡   rj   r´   rv   rL  s         r2   Útest_huge_range_logrø  ÷  s   € õ Œ7�6˜1¥B¤JÐ/Ñ/Ô/€DØ€Dˆˆ1ˆˆaˆaˆaˆ�Là	×	Ò	Ñ	Ô	€BØ‡I‚Iˆd�œ¨Q°T·X²X±Z´ZÐ@Ñ@Ô@Ø%¨Ið ñ 7ô 7ð 7õ Œ7�6˜1¥B¤JÐ/Ñ/Ô/€DØ€Dˆˆ1ˆˆaˆaˆaˆ�Là	×	Ò	Ñ	Ô	€BÝŒ=˜Ô#×1Ò1¸Ð1Ñ<Ô<€DØ‡I‚Iˆd�Ô)¨q°t·x²x±z´zÐBÑBÔBØ%¨Dð ñ 2ô 2ð 2ð 2ð 2r4   c           
      óÔ  — |                       dd¦  «        }|                      dd¦  «        }ddgddggddgddggddgddggf}g d¢}t          t          ||¦  «        ¦  «        D �]�\  }\  }}||                              |¦  «         ||                              |¦  «         ||                              |¦  «         ||                              |dddddd¬	¦  «         ||                              d
d¦  «         ||                              dd
¦  «         ||         j         	                    ¦   «          ||         j
                             d¦  «         ||         j                             d¦  «         ||         j                             t          j        dg d¢d¬¦  «        ¦  «         ||         j                             t          j        dg d¢d¬¦  «        ¦  «         �Œƒd S )Nr7   r   r   )r@   r?   Úmixedr    rÓ  rÀ   ÚGreys)r"   ré  re   rL  rè  rç  r”  rñ  gÍÌÌÌÌÌð?r  rH  )r7   r8   r   rz   T)ÚnbinsÚstepsÚinteger)r)   Ú	enumeraterA  r+   Úspyr*   r�   rŽ   ÚxaxisÚtick_topÚtitleÚset_yÚset_ticks_positionÚset_major_locatorÚmtickerÚMaxNLocatorÚyaxis)	r†   r‡   Úax_testÚax_refÚ	plot_dataÚplot_titlesr¨  rl   r  s	            r2   Útest_spy_boxr    s  € ð ×Ò  1Ñ%Ô%€GØ×Ò˜a Ñ#Ô#€Fð ˆQˆ�!�Q�ÐØ
ˆQˆ�!�Q�ÐØ
ˆQˆ�!�Q�Ðð€Ið
 -Ð,Ð,€Kå"¥3 y°+Ñ#>Ô#>Ñ?Ô?ð 
ñ 
‰ˆ‰:ˆAˆuØ�Œ
×Ò˜UÑ#Ô#Ð#Ø�Œ
�Š�qÑÔÐØˆqŒ	×Ò˜EÑ"Ô"Ð"ØˆqŒ	×Ò˜¨)Ø#*°7ÀØ!"¨ð 	ñ 	,ô 	,ð 	,ð 	ˆqŒ	×Ò˜4 Ñ%Ô%Ð%ØˆqŒ	×Ò˜3 Ñ%Ô%Ð%ØˆqŒ	Œ× Ò Ñ"Ô"Ð"ØˆqŒ	Œ×Ò˜dÑ#Ô#Ð#ØˆqŒ	Œ×*Ò*¨6Ñ2Ô2Ð2ØˆqŒ	Œ×)Ò)ÝÔ a¨}¨}¨}ÀdÐKÑKÔKñ	
ô 	
ð 	
ð 	ˆqŒ	Œ×)Ò)ÝÔ a¨}¨}¨}ÀdÐKÑKÔKñ	
ô 	
ð 	
ñ 	
ð
ð 
r4   znonuniform_and_pcolor.pngc                  óÚ  — t          j        d¬¦  «                             ddd¬¦  «        } t          | ddg¦  «        D ]‘\  }}t	          ||¬¦  «        }|                     t          j        d¦  «        d	z  t          j        d¦  «        d	z  t          j        d
¦  «                             d¦  «        ¦  «         | 	                    |¦  «         Œ’| d	          
                    t          j        d¦  «        d	z  t          j        d¦  «        d	z  t          j        d
¦  «                             d¦  «        ¦  «         | D ],}|                     ¦   «          |                     d¬¦  «         Œ-d S )Nrg  rD  r   T)ÚsharexÚshareyr    r#   r!   r8   rH  r9   rô  )rt  )r%   rg   r)   rA  r   r~  r&   r'   r(   Ú	add_imageÚ
pcolorfastr  rw  )rš   rv   r"   rÑ   s       r2   Útest_nonuniform_and_pcolorr  ,  sV  € å
Œ*˜VÐ
$Ñ
$Ô
$×
-Ò
-¨a¸ÀTÐ
-Ñ
JÔ
J€CÝ   y°*Ð&=Ñ>Ô>ð ð ÑˆˆMÝ˜R¨}Ð=Ñ=Ô=ˆØ
�Š•B”I˜a‘L”L AÑ%¥r¤y°¡|¤|°qÑ'8Ý”I˜a‘L”L×(Ò(¨Ñ0Ô0ñ	2ô 	2ð 	2à
�Š�RÑÔÐÐØˆ„F×ÒÝ
Œ	�!‰Œ˜Ñ�2œ9 Q™<œ<¨1Ñ,­b¬i¸©l¬l×.BÒ.BÀ6Ñ.JÔ.JñLô Lð Làð ð ˆØ
�ŠÑÔÐà
�Š�GˆÑÔÐÐðð r4   zrgba_antialias.png)Úaarch64Úppc64leÚs390xgyé&1¬|?)r   r5   rî  c                  ó  — t          j        dddddd¬¦  «        \  } }d}t          j        ||f¦  «        }d|d d d…d d …f<   t          j        |¦  «        |z  dz
  }t          j        |¦  «        |z  dz
  }t          j        ||¦  «        \  }}t          j        |dz  |dz  z   ¦  «        }d	}	d
}
t          j        t          j        dz  |	|z  |
|dz  z  dz  z   z  ¦  «        }d|d t          |dz  ¦  «        …d d …f         |d t          |dz  ¦  «        …d d …f         dk     <   d|d t          |dz  ¦  «        …d d …f         |d t          |dz  ¦  «        …d d …f         dk     <   |d d …t          |dz  ¦  «        d …f         |d d …t          |dz  ¦  «        d …f<   t          j
        |dd…dd…f<   d|dd…dd…f<   d|dd…dd…f<   d|dd…dd…f<   d|dd…dd…f<   t          t           j        j        ¦  «        }|                     d¦  «         |                     d¦  «         |                     ¦   «         }|d                              |d|dd¬¦  «         |d                              |dz  dz
  |dz  dz   g¦  «         |d                              |dz  dz   |dz  d	z
  g¦  «         |d                              |d|dd¬¦  «         |d                              |dd |dd¬!¦  «         |d"                              |dd#|dd¬!¦  «         d S )$Nr8   )ç      @r  FT)r_   r  r  Úconstrained_layoutéú   rf   ré   rz   éK   r†  r7   r`  r   ra   g    €„.AéF   éZ   g    €„.Árõ  éÃ   é×   ÚyellowÚcyanr   r    g333333ó¿r  )r"   rL  rè  rç  é   r   r´   )r"   Úinterpolation_stagerL  rè  rç  r   r”  )r%   r)   r&   r@   r'   r÷  Úsqrtri   rù  rƒ   ÚNaNr   r  ÚRdBu_rÚset_overr®  r¦  r*   r�   rŽ   )r.   rš   rD  Úaarj   rk   r-   rþ  ÚRÚf0rÚ   rU  rL  s                r2   Útest_rgba_antialiasr,  <  sf  € õ Œ|˜A˜q¨*¸UØ#(¸TðCñ Cô C�H€Cˆà€AÝ	Œ�!�Q�‰Œ€BØ€B€s€sˆ€sˆAˆAˆA€v�Jå
Œ	�!‰Œ�qÑ˜3Ñ€AÝ
Œ	�!‰Œ�qÑ˜3Ñ€AåŒ;�q˜!ÑÔ�D€A€qÝ
Œ��1‘�q˜!‘t‘ÑÔ€AØ	€BØ
€Aå
Œ�rŒu�q‰y˜B ™F Q¨¨A©¡X°¡\Ñ1Ñ2Ñ3Ô3€Að .0€A€i…sˆ1ˆQ‰3�x„x€i���€l„O�A�i•s˜1˜Q™3‘x”x�i   �l”O cÒ)Ñ*Ø-.€A€i…sˆ1ˆQ‰3�x„x€i���€l„O�A�i•s˜1˜Q™3‘x”x�i   �l”O cÒ)Ñ*Ø˜˜˜�C  !¡™HœH˜I˜I˜”€B€q€q€q�#ˆa�‰c‰(Œ(ˆ)ˆ)€|Ñõ ”v€B€rˆ"€uˆb�ˆe€|ÑØ€B€rˆ"€uˆb�ˆe€|ÑØ€B€rˆ"€uˆb�ˆe€|ÑØ€B€rˆ"€uˆc�#ˆg€~ÑØ€B€rˆ"€uˆc�#ˆg€~Ñå•””ÑÔ€DØ‡M‚M�(ÑÔÐØ‡N‚N�6ÑÔÐà
�+Š+‰-Œ-€Càˆ„F‡M‚M�" I°D¸tÈ#€MÑNÔNÐNØˆ„F‡O‚O�Q�q‘S˜‘V˜Q˜q™S ™VÐ$Ñ%Ô%Ð%Øˆ„F‡O‚O�Q�q‘S˜‘V˜Q˜q™S ™VÐ$Ñ%Ô%Ð%ð ˆ„F‡M‚M�" I°D¸tÈ#€MÑNÔNÐNð ˆ„F‡M‚M�" MÀvØ $¨Sð ñ 2ô 2ð 2ð
 ˆ„F‡M‚M�" MÀvØ $¨Sð ñ 2ô 2ð 2ð 2ð 2r4   z<ignore:Data with more than .* cannot be accurately displayedre   rÀ   rb   zdim, size, msg)Úrowi  € z2\*\*23 columns)Úcoli   z2\*\*24 rows)r[   c           	      ó,  — |                       ¦   «         }|                      ¦   «         }t          j        d|dz   f¦  «        }d|d d …|j        dz  d …f<   |dk    r|j        }|                     |ddddd|¬¦  «        }	t          j        t          d	|› d
�¬¦  «        5  | j	         
                    ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }d|d d …df<   |dk    r|j        }|                     |ddddd|¬¦  «        }	d S )Nr7   r8   r.  r   r<  r…  r>   )rè  rç  ré  ró   r"   re   zData with more than z  cannot be accurately displayed.r×  rj  )r)   r&   r?   Úsizer¯  r*   r*  ro  rp  rû   rŠ  )
r†   r‡   Údimr0  Úmsgre   r
  r  rW   rÑ   s
             r2   Útest_large_imager3  v  s�  € ð ×ÒÑ!Ô!€GØ×ÒÑÔ€FåŒH�a˜ ™�]Ñ#Ô#€EØ!"€Eˆ!ˆ!ˆ!ˆUŒZ˜1‰_ÐÐÐ
ÑØ
ˆe‚|€|Ø”ˆØ	�Š˜ A¨AØ%¨lØ&,Ø%ð 
ñ 
'ô 
'€Bõ
 
Œ•kð.°3ð .ð .ð .ð
/ñ 
/ô 
/ð ð ð 	Œ×ÒÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 ŒH�VÑÔ€EØ€Eˆ!ˆ!ˆ!ˆQˆ$�KØ
ˆe‚|€|Ø”ˆØ	�Š�u 1¨1°VØ*Ø%+Ø$ð 
ñ 
&ô 
&€B€B€Bs   ÂCÃCÃ
Cc                 óš  — t           j                             dd¦  «        dz  dz   }|                      dd¦  «        }|d                              |d¬¦  «         |d                              |dd	¬
¦  «         |d                              |d¬¦  «         |d                              |ddd¬¦  «         |d                              |ddd¬¦  «         |                     dd¦  «        }|d                              |t          j        ¦   «         ¬¦  «         |d                              |t          j        d	¬¦  «        ¬¦  «         |d                              |t          j        d¬¦  «        ¬¦  «         |d                              |t          j        ddd¬¦  «        ¬¦  «         |d                              |dd¬¦  «         t          |d         j	        d         j
        ¦  «        t
          j        k    sJ ‚t          j        t          ¦  «        5  |d                              |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrz   gš™™™™™é?r_  r7   r   r   rê  rm  r}  )r;  rè  r8   Úsymlogr   r`  rˆ  )r;  rè  rç  r9   Úlogit)rè  )Ú	linthresh)r7  rè  rç  )r`  rˆ  )r;  ÚclimÚfoobar)r&   r€   r‚   r)   r*   r   r=  rh  ÚtypeÚimagesr;  r*  r+  rÝ  )r†   r‡   rm  ÚaxtsÚaxrss        r2   Útest_str_normsr>  œ  sG  € å
Œ	�Š�r˜2ÑÔ Ñ# bÑ(€AØ×Ò˜Q Ñ"Ô"€DØˆ„G‡N‚N�1˜5€NÑ!Ô!Ð!Øˆ„G‡N‚N�1˜5 r€NÑ*Ô*Ð*Øˆ„G‡N‚N�1˜8€NÑ$Ô$Ð$Øˆ„G‡N‚N�1˜8¨"°2€NÑ6Ô6Ð6Øˆ„G‡N‚N�1˜7¨°"€NÑ5Ô5Ð5Ø×Ò˜A˜qÑ!Ô!€DØˆ„G‡N‚N�1�6œ>Ñ+Ô+€NÑ,Ô,Ð,Øˆ„G‡N‚N�1�6œ>¨rÐ2Ñ2Ô2€NÑ3Ô3Ð3àˆ„G‡N‚N�1�6Ô,°qÐ9Ñ9Ô9€NÑ:Ô:Ð:Øˆ„G‡N‚N�1�6Ô,°q¸rÈÐKÑKÔK€NÑLÔLÐLØˆ„G‡N‚N�1˜7¨€NÑ2Ô2Ð2å��Q””˜qÔ!Ô&Ñ'Ô'­6¬>Ò9Ð9Ð9Ð9Ý	Œ•zÑ	"Ô	"ð )ð )ØˆQŒ�Š�q˜xˆÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   ÈI É IÉI)ˆÚ
contextlibr   r   rq   r    Úpathlibr   rÚ  rÙ  Úurllib.requestrÞ  Únumpyr&   Únumpy.testingr   ÚPILr   Ú
matplotlibrl  r   r	   r>  r
   r   r%   r   r   Úmatplotlib.imager   r   r   r   r   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.transformsr   r   r   Úmatplotlib.tickerÚtickerr  r*  r3   rF   rX   ÚmarkÚparametrizern   rx   r‹   r�   r›   r§   r©   r¹   r¾   rÅ   rÒ   rä   rë   r  r)  r	  r  r  r$  r&  r-  r1  r4  rB  rV  rZ  re  rn  rz  r„  r‘  r•  r›  r   r©  r¶  r½  rÀ  r'   r(   rÇ  rÓ  rã  rì  r  r	  r  r&  r+  r/  r4  ÚmachinerI  rK  ÚsplitrX  r\  rb  rd  rŸ  r=  ru  ry  r  r�  rƒ  r‰  r�  r’  r™  rœ  r¢  r¤  Úcontextr²  r×  r´  rî  rð  rö  rø  r  r  r,  Úfilterwarningsr3  r>  r×   r4   r2   ú<module>rQ     s  ðØ  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø €€€Ø 
€
€
€
Ø Ð Ð Ð à Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø Ð Ð Ð Ð Ð à Ð Ð Ð ðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð<ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <à OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ #Ð #Ð #Ð #Ð #Ð #à €€€ð Ð�?Ð#¨7Ð3Ñ3Ô3ðð ñ 4Ô3ðð& ÐÐ%Ð&°DÐ9Ñ9Ô9ð	.ð 	.ñ :Ô9ð	.ð ÐÐ+Ð,Ø# U˜^¸ð?ñ ?ô ?ð+ð +ñ?ô ?ð+ð  „×ÒÐ,¨u°d¨mÑ<Ô<ØÐ�:�,¨E°5¨>Ð:Ñ:Ô:ðBð Bñ ;Ô:ñ =Ô<ðBðð ð ð „×ÒØ'ðð ð ñô ð Ð  Ð(Ñ(Ô(ð.ð .ñ )Ô(ñô ð.ð Ð  Ð(Ñ(Ô(ðð ñ )Ô(ðð" ÐÑÔð	)ð 	)ñ Ôð	)ð$ð $ð $ð$ð $ð $ð „×Ò˜Ð >Ð >Ð >Ñ?Ô?ð-ð -ñ @Ô?ð-ðD „×Ò˜Ð BÐ BÐ BÑCÔCðAð Añ DÔCðAð*ð *ð *ð2)ð )ð )ð4ð 4ð 4ð Ð�=�/¨tÐ4Ñ4Ô4ð6ð 6ñ 5Ô4ð6ðD+ð D+ð D+ðN „×ÒØØ�%ˆ.Ð	˜=Ð)Ø�ˆ,ˆ˜Ð#ØŒ6�1�aˆ.Ð	˜4Ð Øˆgˆ,ˆÐ/Ð0Øˆrˆ(ˆÐ,Ð-ðñô ðDð Dñô ðDð Ð�<�.¨Ð0Ñ0Ô0ðð ñ 1Ô0ðð ÐÐ#Ð$¨GÐ4Ñ4Ô4ðð ñ 5Ô4ðð Ð�8�*¨$°gÐ>Ñ>Ô>ðð ñ ?Ô>ðð Ð  Ð(Ñ(Ô(ðð ñ )Ô(ððð ð ðð ð ð ÐÐ,Ð-¸4Ð@Ñ@Ô@ðIð Iñ AÔ@ðIð Ð�=�/¨tÀÈÀÐOÑOÔOðð ñ PÔOððFð Fð Fð8 ÐÐ/Ð0Ø"¨'ð3ñ 3ô 3ðð ñ3ô 3ðð ÐÐ*Ð+¸Ð>Ñ>Ô>ðð ñ ?Ô>ðð4 Ð  Ð(Ñ(Ô(ð%ð %ñ )Ô(ð%ð ÐÐ$Ð%Ø# U˜^¸ÀWðNñ Nô Nð!ð !ñNô Nð!ð: ÐÐ(Ð)°tÀ7ÐKÑKÔKðð ñ LÔKðð0 Gð  Gð  GðF ÐÐ3Ð4Ø"¨'ð3ñ 3ô 3ðð ñ3ô 3ððð ð ð!ð !ð !ðð ð ð'ð 'ð 'ð0-ð -ð -ð-ð -ð -ð „×ÒØØ	Ø	ˆŒ�2‰Œ˜	˜œ	 "™œ y r¤y°¡~¤~×'=Ò'=¸fÑ'EÔ'Eð	Gà	Ø	ˆŒ�2‰Œ˜	˜œ	 "™œ y r¤y°¡}¤}×'<Ò'<¸VÑ'DÔ'Dð	Fðñô ð1ð 1ñô ð1ðð ð ðBð ð ð ÐÐ$Ð%°4Ð8Ñ8Ô8ðð ñ 9Ô8ðð Ð�>Ð"°¸$Ð?Ñ?Ô?ðð ñ @Ô?ðð6	%ð 	%ð 	%ð3ð 3ð 3ð, ÐÐ.Ð/¸TÀsÐKÑKÔKð>ð >ñ LÔKð>ðB Ð�<�.¨dÐ3Ñ3Ô3ð+ð +ñ 4Ô3ð+ð"ð ð ð ÐÐ)Ð*¸Ð=Ñ=Ô=ð
*ð 
*ñ >Ô=ð
*ð ÐÐ0Ð1Ø+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸tØ"¨'ð3ñ 3ô 3ðð ñ3ô 3ððB&ð &ð &ð „×ÒØÐBÐBÐ#9×#?Ò#?Ñ#AÔ#AÐBÑBÔBñDô Dð%ð %ñDô Dð%ð& ÐÐ)Ð*¸ÀGÐLÑLÔLðð ñ MÔLðð ÐÐ*Ð+¸ÀWÐMÑMÔMðð ñ NÔMðð ÐÐ/Ð0Ø"¨'ð3ñ 3ô 3ðð ñ3ô 3ðð „×ÒØØÔØ„^Ø!Ð!Ø Ð ð"ñ#ô #ð	1ð 	1ñ#ô #ð	1ðð ð ðð ð ðDð Dð Dð
ð ð ð „×Ò˜Ø0Ð2DÐEñGô Gà„×ÒÐ0°9¸jÐ2IÑJÔJð2ð 2ñ KÔJñGô Gð2ð 4ð 4ð 4ð	Dð 	Dð 	Dð9ð 9ð 9ð$2ð 2ð 2ð ÐÑÔð-ð -ñ Ôð-ð$3ð 3ð 3ð
 „×Ò�7ÑÔð4ð 4ñ Ôð4ð@9%ð 9%ð 9%ð 9%ð 9%�”ñ 9%ô 9%ð 9%ðx	 ð 	 ð 	 ðð ð ð Ð  Ð(Ñ(Ô(ð'ð 'ñ )Ô(ð'ð6 „×Ò˜˜r 1˜gÑ&Ô&ØÐ  Ð(Ñ(Ô(ð2ð 2ñ )Ô(ñ 'Ô&ð2ð$ ÐÑÔð
ð 
ñ Ôð
ð@ ÐÐ.Ð/°wÐ?Ñ?Ô?ðð ñ @Ô?ðð ÐØÐ '°tØ!�Ô!Ñ#Ô#Ð'FÐFÐFˆˆÈAðOñ Oô Oð22ð 22ñOô Oð22ðn „×Òð =ñ >ô >à„×Ò˜ G¨WÐ#5Ñ6Ô6Ø„×ÒØÐ9Ð9Ð9Ø6Ð6Ð6ð8ñ9ô 9ð Ð 	Ð*Ñ*Ô*ð&ð &ñ +Ô*ñ9ô 9ñ 7Ô6ñ>ô >ð&ð> Ð  Ð(Ñ(Ô(ð)ð )ñ )Ô(ð)ð )ð )r4   