§
    ‚Øjo  ã                   óx  — d dl 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mZ d dlmZmZ ej                             d¦  «        gZded„Zdfd„Z ed	gd
¬¦  «        d„ ¦   «         Z edgd
¬¦  «        d„ ¦   «         Z edgd
¬¦  «        d„ ¦   «         Z edgd
¬¦  «        d„ ¦   «         Z edgd
¬¦  «        d„ ¦   «         Z edgd
¬¦  «        d„ ¦   «         Zd„ Zd„ Z edgd
¬¦  «        d„ ¦   «         Z edgd
¬¦  «        d„ ¦   «         Z edgd
 ej         ¦   «         dk    rd nd¬ ¦  «        d!„ ¦   «         Z! ed"gd
¬¦  «        d#„ ¦   «         Z" ed$gd
¬¦  «        d%„ ¦   «         Z# ed&gd
¬¦  «        d'„ ¦   «         Z$ ed(gd
¬¦  «        d)„ ¦   «         Z% ed*gd
¬¦  «        d+„ ¦   «         Z& ed,gd
¬¦  «        d-„ ¦   «         Z' ed.gd
¬¦  «        d/„ ¦   «         Z( ed0gd
¬¦  «        d1„ ¦   «         Z)d2„ Z*d3„ Z+d4„ Z,d5„ Z-d6„ Z.d7„ Z/ ed8gd9d
¬:¦  «        d;„ ¦   «         Z0d<„ Z1d=„ Z2 ed>gd
¬¦  «        d?„ ¦   «         Z3 ed@gd
¬¦  «        dA„ ¦   «         Z4dB„ Z5 edCgd9d
dDdEi¬F¦  «        dG„ ¦   «         Z6 edHgd9d
dD ej7        dId gdJdKgg¦  «        i¬F¦  «        dL„ ¦   «         Z8dM„ Z9dN„ Z:dO„ Z;dP„ Z<dQ„ Z=dR„ Z>dS„ Z?dT„ Z@ edUgd
¬¦  «        dV„ ¦   «         ZA edWgd
¬¦  «        dX„ ¦   «         ZBej         C                    dYdZd[i d9fd\did9fg¦  «        d]„ ¦   «         ZDd^„ ZEd_„ ZFd`„ ZGda„ ZHdb„ ZI edcgd
¬¦  «        dd„ ¦   «         ZJdS )gé    N)Úimage_comparison)ÚgridspecÚtickerÚtext_placeholdersé   Fc                 óF  — |                       ddg¦  «         |                      d¬¦  «         |sG|                      d|¬¦  «         |                      d|¬¦  «         |                      d|¬¦  «         d S |                      g ¦  «         |                      g ¦  «         d S )	Né   é   é   ©Únbinsúx-label©Úfontsizeúy-labelÚTitle)ÚplotÚlocator_paramsÚ
set_xlabelÚ
set_ylabelÚ	set_titleÚset_xticklabelsÚset_yticklabels)Úaxr   Únodecs      úœ/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_constrainedlayout.pyÚexample_plotr      sª   € Ø‡G‚GˆQ�ˆF�O„O€OØ×Ò˜AÐÑÔÐØð Ø
�Š�i¨(ˆÑ3Ô3Ð3Ø
�Š�i¨(ˆÑ3Ô3Ð3Ø
�Š�W xˆÑ0Ô0Ð0Ð0Ð0à
×Ò˜2ÑÔÐØ
×Ò˜2ÑÔÐÐÐó    c           	      óÆ  — d\  }}t           j        t          dd|z   |¦  «        t          dd|z   |¦  «        f         \  }}d|dz  z
  |dz  z   |dz  z   t          j        |dz   |dz  z
  ¦  «        z  }|                      |||d d…d d…f         d	d
dd¬¦  «        }|                      d|¬¦  «         |                      d|¬¦  «         |                      d|¬¦  «         |S )N)ç333333ã?r    éýÿÿÿr   r	   ç       @é   r
   éÿÿÿÿÚRdBu_rg      ð¿ç      ð?T)ÚcmapÚvminÚvmaxÚ
rasterizedr   r   r   r   )ÚnpÚmgridÚsliceÚexpÚ
pcolormeshr   r   r   )r   r   ÚdxÚdyÚyÚxÚzÚpcms           r   Úexample_pcolorr6      s   € Ø�F€BˆÝŒ8•E˜"˜a "™f bÑ)Ô)Ý˜"˜a "™f bÑ)Ô)ð*ô +�D€A€qà	
ˆQ�‰V‰�a˜1‘fÑ	˜q A™vÑ	%­¬°°a±°¸!¸q¹&Ñ0@Ñ)AÔ)AÑA€AØ
�-Š-˜˜1˜a    S b S œk°¸sÈØ#'ð ñ )ô )€Cà‡M‚M�) h€MÑ/Ô/Ð/Ø‡M‚M�) h€MÑ/Ô/Ð/Ø‡L‚L� 8€LÑ,Ô,Ð,Ø€Jr   zconstrained_layout1.pngÚmpl20)Ústylec                  óz   — t          j        d¬¦  «        } |                      ¦   «         }t          |d¬¦  «         dS )z,Test constrained_layout for a single subplotÚconstrained©Úlayouté   r   N)ÚpltÚfigureÚadd_subplotr   ©Úfigr   s     r   Útest_constrained_layout1rC   ,   s>   € õ Œ*˜MÐ
*Ñ
*Ô
*€CØ	�ŠÑ	Ô	€BÝ�˜bÐ!Ñ!Ô!Ð!Ð!Ð!r   zconstrained_layout2.pngc                  óp   — t          j        ddd¬¦  «        \  } }|j        D ]}t          |d¬¦  «         ŒdS )z(Test constrained_layout for 2x2 subplotsr
   r:   r;   r=   r   N)r>   ÚsubplotsÚflatr   ©rB   Úaxsr   s      r   Útest_constrained_layout2rI   4   sO   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð &ð &ˆÝ�R "Ð%Ñ%Ô%Ð%Ð%ð&ð &r   zconstrained_layout3.pngc                  óÖ   — t          j        ddd¬¦  «        \  } }t          |j        ¦  «        D ]9\  }}t	          |d¬¦  «        }|dk    rd}nd}|                      |||¬	¦  «         Œ:d
S )z3Test constrained_layout for colorbars with subplotsr
   r:   r;   r=   r   r   g{®Gáz´?ç{®Gáz”?)r   ÚpadN)r>   rE   Ú	enumeraterF   r6   Úcolorbar)rB   rH   Únnr   r5   rL   s         r   Útest_constrained_layout3rP   <   s‡   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆÝ˜CœHÑ%Ô%ð *ð *‰ˆˆBÝ˜R¨"Ð-Ñ-Ô-ˆØ�Š7ˆ7ØˆCˆCàˆCØ�Š�S˜R SˆÑ)Ô)Ð)Ð)ð*ð *r   zconstrained_layout4.pngc                  ó¢   — t          j        ddd¬¦  «        \  } }|j        D ]}t          |d¬¦  «        }Œ|                      ||dd¬¦  «         d	S )
z;Test constrained_layout for a single colorbar with subplotsr
   r:   r;   r=   r   ç{®Gáz„?r    ©r   rL   ÚshrinkN©r>   rE   rF   r6   rN   ©rB   rH   r   r5   s       r   Útest_constrained_layout4rW   J   sc   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð .ð .ˆÝ˜R¨"Ð-Ñ-Ô-ˆˆØ‡L‚L�˜ $¨s€LÑ3Ô3Ð3Ð3Ð3r   zconstrained_layout5.pngc                  ó¦   — t          j        ddd¬¦  «        \  } }|j        D ]}t          |d¬¦  «        }Œ|                      ||dddd	¬
¦  «         dS )zZ
    Test constrained_layout for a single colorbar with subplots,
    colorbar bottom
    r
   r:   r;   r=   r   FrR   r    Úbottom)r   Úuse_gridspecrL   rT   ÚlocationNrU   rV   s       r   Útest_constrained_layout5r\   T   sv   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð .ð .ˆÝ˜R¨"Ð-Ñ-Ô-ˆˆØ‡L‚L�˜Ø#¨°cØ"ð ñ $ô $ð $ð $ð $r   zconstrained_layout6.pngc            
      ó"  — t          j        d¬¦  «        } |                      dd| ¬¦  «        }|d                              dd¦  «        }|d                              dd¦  «        }g }|D ].}|                      |¦  «        }||gz  }t          |d¬¦  «         Œ/|                     d	¦  «         g }|D ].}|                      |¦  «        }||gz  }t          |d¬¦  «        }Œ/|                      ||d
ddt          j
        d¬¦  «        ¬¦  «         dS )z,Test constrained_layout for nested gridspecsr:   r;   r	   r
   ©r?   r   r   r   zx-label
MultiLinerR   g®Gáz®ï?rY   r#   r   )r   rL   rT   r[   ÚticksN)r>   r?   Úadd_gridspecÚsubgridspecr@   r   r   r6   rN   r   ÚMaxNLocator)rB   ÚgsÚgslÚgsrÚaxslr   Úaxsrr5   s           r   Útest_constrained_layout6rh   c   s@  € õ Œ*˜MÐ
*Ñ
*Ô
*€CØ	×	Ò	˜!˜Q sÐ	Ñ	+Ô	+€BØ
ˆQŒ%×
Ò
˜A˜qÑ
!Ô
!€CØ
ˆQŒ%×
Ò
˜A˜qÑ
!Ô
!€CØ€DØð &ð &ˆØ�_Š_˜RÑ Ô ˆØ��‰ˆÝ�R "Ð%Ñ%Ô%Ð%Ð%Ø‡M‚MÐ&Ñ'Ô'Ð'Ø€DØð .ð .ˆØ�_Š_˜RÑ Ô ˆØ��‰ˆÝ˜R¨"Ð-Ñ-Ô-ˆˆà‡L‚L�˜Ø $°ÝÔ)°Ð2Ñ2Ô2ð ñ 4ô 4ð 4ð 4ð 4r   c                  ó   — t          j        d¬¦  «        } |                      dd¦  «        }|d                              dd¦  «        }|d                              dd¦  «        }g }g }t	          d¦  «        D ]@}||                      ||         ¦  «        gz  }||                      ||         ¦  «        gz  }ŒA|                      ¦   «          |d                              ¦   «         j        |d                              ¦   «         j	        k    sJ ‚d S )NT©Úconstrained_layoutr
   r	   r   r   )
r>   r?   r`   ra   Úranger@   Údraw_without_renderingÚget_positionÚy0Úy1)rB   ÚGSÚGSAÚGSBÚaxaÚaxbÚis          r   Útest_identical_subgridspecrw   {   s  € å
Œ*¨Ð
-Ñ
-Ô
-€Cà	×	Ò	˜!˜QÑ	Ô	€Bà
ˆQŒ%×
Ò
˜A˜qÑ
!Ô
!€CØ
ˆQŒ%×
Ò
˜A˜qÑ
!Ô
!€Cà
€CØ
€CÝ�1‰XŒXð )ð )ˆØ�—’  A¤Ñ'Ô'Ð(Ñ(ˆØ�—’  A¤Ñ'Ô'Ð(Ñ(ˆˆà×ÒÑ Ô Ð àˆqŒ6×ÒÑ Ô Ô# c¨!¤f×&9Ò&9Ñ&;Ô&;Ô&>Ò>Ð>Ð>Ð>Ð>Ð>r   c                  óŽ  — t          j        t          d¬¦  «        5  t          j        d¬¦  «        } t          j        dd¦  «        }t          j        dd|d         ¦  «        }t          j        dd|d         ¦  «        }|D ]}|                      |¦  «         Œ|  	                    ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )	z2Test for proper warning if fig not set in GridSpeczhThere are no gridspecs with layoutgrids. Possibly did not call parent GridSpec with the "figure" keyword©Úmatchr:   r;   r	   r
   r   N)
ÚpytestÚwarnsÚUserWarningr>   r?   r   ÚGridSpecÚGridSpecFromSubplotSpecr@   rm   )rB   rc   rd   re   s       r   Útest_constrained_layout7r€   �   s  € å	ŒÝð 3ð
5ñ 
5ô 
5ð %ð %õ Œj Ð.Ñ.Ô.ˆÝÔ˜q !Ñ$Ô$ˆÝÔ.¨q°!°R¸´UÑ;Ô;ˆÝÔ.¨q°!°R¸´UÑ;Ô;ˆØð 	 ð 	 ˆBØ�OŠO˜BÑÔÐÐà×"Ò"Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   œBB:Â:B>ÃB>zconstrained_layout8.pngc                  ó0  — t          j        dd¬¦  «        } t          j        dd| ¬¦  «        }g }dD ]”}|dk    rd	g}ndd
g}|D ]�}|                      |||f         ¦  «        }||gz  }t          |d¬¦  «         |dk    r|                     d¦  «         |d	k     r|                     d¦  «         |                     d¦  «         Œ‚Œ•|                      |ddd…f         ¦  «        }||gz  }t          |d¬¦  «        }|  	                    ||dd¬¦  «         dS )z/Test for gridspecs that are not completely full)é
   r#   r:   ©Úfigsizer<   r   r#   r^   ©r   r	   r   r	   é   é	   r   Ú r
   NrR   r    rS   )
r>   r?   r   r~   r@   r6   r   r   r   rN   )rB   rc   rH   ÚjÚilistrv   r   r5   s           r   Útest_constrained_layout8r‹   Ÿ   sP  € õ Œ*˜W¨]Ð
;Ñ
;Ô
;€CÝ	Ô	˜1˜a¨Ð	,Ñ	,Ô	,€BØ
€CØð ð ˆØ�Š6ˆ6Ø�CˆEˆEà˜�FˆEØð 	ð 	ˆAØ—’  A q D¤Ñ*Ô*ˆBØ�B�4‰KˆCÝ˜2¨Ð*Ñ*Ô*Ð*Ø�1ŠuˆuØ—’˜bÑ!Ô!Ð!Ø�1ŠuˆuØ—’˜bÑ!Ô!Ð!Ø�LŠL˜ÑÔÐÐð	ð 
�Š˜˜A˜q˜q˜q˜DœÑ	"Ô	"€BØˆBˆ4�K€CÝ
˜ aÐ
(Ñ
(Ô
(€Cà‡L‚L�˜ $¨s€LÑ3Ô3Ð3Ð3Ð3r   zconstrained_layout9.pngc                  óR  — t          j        ddddd¬¦  «        \  } }|j        D ]=}t          |d¬¦  «        }|                     d¦  «         |                     d¦  «         Œ>|                     d¦  «         |                      ||d	d
¬¦  «         |                      dd¬¦  «         dS )z4Test for handling suptitle and for sharex and shareyr
   r:   F©r<   ÚsharexÚshareyr=   r   rˆ   r"   rR   r    rS   zTest Suptitleé   N)	r>   rE   rF   r6   r   r   Ú
set_aspectrN   ÚsuptitlerV   s       r   Útest_constrained_layout9r“   »   s»   € õ Œ|˜A˜q¨Ø#(°ð8ñ 8ô 8�H€CˆàŒhð ð ˆÝ˜R¨"Ð-Ñ-Ô-ˆØ
�Š�bÑÔÐØ
�Š�bÑÔÐÐØ‡M‚M�"ÑÔÐØ‡L‚L�˜ $¨s€LÑ3Ô3Ð3Ø‡L‚L�¨2€LÑ.Ô.Ð.Ð.Ð.r   zconstrained_layout10.pngÚx86_64gü©ñÒMb ?)r8   Útolc                  óÎ   — t          j        ddd¬¦  «        \  } }|j        D ]+}|                     t	          j        d¦  «        d¬¦  «         Œ,|                     dd¬	¦  «         d
S )z%Test for handling legend outside axisr
   r:   r;   r   zThis is a label)Úlabelzcenter left)gš™™™™™é?ç      à?)ÚlocÚbbox_to_anchorN)r>   rE   rF   r   r+   ÚarangeÚlegendrG   s      r   Útest_constrained_layout10r�   Ê   sm   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð 8ð 8ˆØ
�Š•”	˜"‘”Ð%6ˆÑ7Ô7Ð7Ð7Ø‡I‚I�-°
€IÑ;Ô;Ð;Ð;Ð;r   zconstrained_layout11.pngc                  ó  — t          j        dd¬¦  «        } t          j        dd| ¬¦  «        }t          j        dd|d         ¦  «        }t          j        dd|d         ¦  «        }|                      |d         ¦  «        }t          |d¬	¦  «         g }|D ].}|                      |¦  «        }||gz  }t          |d¬	¦  «        }Œ/|                      ||d
d¬¦  «         |                      |d         ¦  «        }t          |d¬	¦  «         dS )z"Test for multiple nested gridspecsr:   )é   r   ©r<   r„   r	   r
   r^   r   r‡   r   r    ç     €Q@©r   rT   ÚaspectN©	r>   r?   r   r~   r   r@   r   r6   rN   ©rB   Úgs0rd   Úgsl0r   rH   rc   r5   s           r   Útest_constrained_layout11r¨   Ô   s  € õ Œ*˜M°7Ð
;Ñ
;Ô
;€CÝ
Ô
˜A˜q¨Ð
-Ñ
-Ô
-€CÝ
Ô
*¨1¨a°°Q´Ñ
8Ô
8€CÝÔ+¨A¨q°#°a´&Ñ9Ô9€DØ	�Š˜˜QœÑ	 Ô	 €BÝ�˜aÐ Ñ Ô Ð Ø
€CØð -ð -ˆØ�_Š_˜RÑ Ô ˆØ�ˆt‰ˆÝ˜R¨!Ð,Ñ,Ô,ˆˆØ‡L‚L�˜ S°€LÑ5Ô5Ð5Ø	�Š˜˜QœÑ	 Ô	 €BÝ�˜aÐ Ñ Ô Ð Ð Ð r   zconstrained_layout11rat.pngc                  ó&  — t          j        dd¬¦  «        } t          j        dd| ddg¬¦  «        }t          j        dd|d         ¦  «        }t          j        dd|d         ddg¬	¦  «        }|                      |d         ¦  «        }t          |d
¬¦  «         g }|D ].}|                      |¦  «        }||gz  }t          |d
¬¦  «        }Œ/|                      ||dd¬¦  «         |                      |d         ¦  «        }t          |d
¬¦  «         dS )z4Test for multiple nested gridspecs with width_ratiosr:   )r‚   r   r    r	   r
   é   )r?   Úwidth_ratiosr   )Úheight_ratiosr‡   r   r    r¡   r¢   Nr¤   r¥   s           r   Útest_constrained_layout11ratr­   è   s"  € õ Œ*˜M°7Ð
;Ñ
;Ô
;€CÝ
Ô
˜A˜q¨¸A¸q¸6Ð
BÑ
BÔ
B€CÝ
Ô
*¨1¨a°°Q´Ñ
8Ô
8€CÝÔ+¨A¨q°#°a´&ÈÈAÈÐOÑOÔO€DØ	�Š˜˜QœÑ	 Ô	 €BÝ�˜aÐ Ñ Ô Ð Ø
€CØð -ð -ˆØ�_Š_˜RÑ Ô ˆØ�ˆt‰ˆÝ˜R¨!Ð,Ñ,Ô,ˆˆØ‡L‚L�˜ S°€LÑ5Ô5Ð5Ø	�Š˜˜QœÑ	 Ô	 €BÝ�˜aÐ Ñ Ô Ð Ð Ð r   zconstrained_layout12.pngc                  ój  — t          j        dd¬¦  «        } t          j        dd| ¬¦  «        }|                      |dd…d	f         ¦  «        }|                      |dd…d	f         ¦  «        }t          |d
¬¦  «         t          |d
¬¦  «         |                      |dd…df         ¦  «        }t          |d¬¦  «         |                      |dd…df         ¦  «        }t          |d¬¦  «         |                      |dd…df         ¦  «        }t          |d¬¦  «         |                     d¦  «         dS )z/Test that very unbalanced labeling still works.r:   )rª   é   r    rª   r
   r^   Nr   r	   é   r   r   T)r   r†   r   )r>   r?   r   r~   r@   r   r   )rB   r¦   Úax1Úax2r   s        r   Útest_constrained_layout12r³   ü   s7  € õ Œ*˜M°6Ð
:Ñ
:Ô
:€Cå
Ô
˜A˜q¨Ð
-Ñ
-Ô
-€Cà
�/Š/˜#˜b˜q˜b !˜eœ*Ñ
%Ô
%€CØ
�/Š/˜#˜a˜b˜b !˜eœ*Ñ
%Ô
%€Cå�˜rÐ"Ñ"Ô"Ð"Ý�˜rÐ"Ñ"Ô"Ð"à	�Š˜˜Q˜q˜S !˜VœÑ	%Ô	%€BÝ�˜4Ð Ñ Ô Ð Ø	�Š˜˜Q˜q˜S !˜VœÑ	%Ô	%€BÝ�˜4Ð Ñ Ô Ð Ø	�Š˜˜Q˜R˜R ˜UœÑ	$Ô	$€BÝ�˜4Ð Ñ Ô Ð Ø‡M‚M�)ÑÔÐÐÐr   zconstrained_layout13.pngc                  óª  — t          j        ddd¬¦  «        \  } }|j        D ]-}t          |d¬¦  «        }|                      ||ddd¬	¦  «         Œ.t          j        t          ¦  «        5  |                      ¦   «          	                    d
d¬¦  «         ddd¦  «         n# 1 swxY w Y   |                      ¦   «          	                    dd¬¦  «         dS )úTest that padding works.r
   r:   r;   r   r   r    ç      4@rK   ©r   rT   r£   rL   r	   )ÚwpadÚhpadNçUUUUUUÕ?©Úw_padÚh_pad)
r>   rE   rF   r6   rN   r{   ÚraisesÚ	TypeErrorÚget_layout_engineÚsetrV   s       r   Útest_constrained_layout13rÂ     s  € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð Cð CˆÝ˜R¨"Ð-Ñ-Ô-ˆØ�Š�S˜R¨°C¸TˆÑBÔBÐBÐBÝ	Œ•yÑ	!Ô	!ð 4ð 4Ø×ÒÑÔ×#Ò#¨°Ð#Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4à×ÒÑÔ×Ò g°WÐÑ=Ô=Ð=Ð=Ð=s   Á)*BÂB#Â&B#zconstrained_layout14.pngc                  óú   — t          j        ddd¬¦  «        \  } }|j        D ]-}t          |d¬¦  «        }|                      ||ddd¬	¦  «         Œ.|                      ¦   «                              d
d
dd¬¦  «         dS )rµ   r
   r:   r;   r   r   r    r¶   rK   r·   gUUUUUU¥?çš™™™™™É?©r¼   r½   ÚhspaceÚwspaceN)r>   rE   rF   r6   rN   rÀ   rÁ   rV   s       r   Útest_constrained_layout14rÈ     sŸ   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð Cð CˆÝ˜R¨"Ð-Ñ-Ô-ˆØ�Š�S˜R¨°C¸TˆÑBÔBÐBÐBØ×ÒÑÔ×ÒØ Ø˜sð  ñ $ô $ð $ð $ð $r   zconstrained_layout15.pngc                  óŠ   — dt           j        d<   t          j        dd¦  «        \  } }|j        D ]}t          |d¬¦  «         ŒdS )zTest that rcparams work.Tzfigure.constrained_layout.user
   r   r   N)ÚmplÚrcParamsr>   rE   rF   r   rG   s      r   Útest_constrained_layout15rÌ   *  sW   € ð 59…C„LÐ0Ñ1ÝŒ|˜A˜qÑ!Ô!�H€CˆØŒhð &ð &ˆÝ�R "Ð%Ñ%Ô%Ð%Ð%ð&ð &r   zconstrained_layout16.pngc                  ó‚   — t          j        d¬¦  «        \  } }t          |d¬¦  «         |                      d¦  «        }dS )zTest ax.set_position.r:   r;   r   r   )rÄ   rÄ   çš™™™™™Ù?rÎ   N)r>   rE   r   Úadd_axes©rB   r   r²   s      r   Útest_constrained_layout16rÑ   3  sC   € õ Œl -Ð0Ñ0Ô0�G€CˆÝ�˜bÐ!Ñ!Ô!Ð!Ø
�,Š,Ð+Ñ
,Ô
,€C€C€Cr   zconstrained_layout17.pngc                  óÊ  — t          j        d¬¦  «        } t          j        dd| ¬¦  «        }|                      |d         ¦  «        }|                      |ddd…f         ¦  «        }|                      |dd…dd	…f         ¦  «        }|                      |dd…d
f         ¦  «        }t          |¦  «         t          |¦  «         t          |¦  «         t          |¦  «         dS )zTest uneven gridspecsr:   r;   r   r^   ©r   r   r   r	   Nr
   r$   )r>   r?   r   r~   r@   r   )rB   rc   r±   r²   Úax3Úax4s         r   Útest_constrained_layout17rÖ   ;  sÛ   € õ Œ*˜MÐ
*Ñ
*Ô
*€CÝ	Ô	˜1˜a¨Ð	,Ñ	,Ô	,€Bà
�/Š/˜"˜Tœ(Ñ
#Ô
#€CØ
�/Š/˜"˜Q   ˜Uœ)Ñ
$Ô
$€CØ
�/Š/˜"˜Q˜R˜R  1 ˜Wœ+Ñ
&Ô
&€CØ
�/Š/˜"˜Q˜R˜R ˜Vœ*Ñ
%Ô
%€Cå�ÑÔÐÝ�ÑÔÐÝ�ÑÔÐÝ�ÑÔÐÐÐr   c                  óL  — t          j        d¬¦  «        \  } }|                     ¦   «         }t          |¦  «         t          |d¬¦  «         |                      ¦   «          t          |                     ¦   «         j        |                     ¦   «         j        k    ¦  «        sJ ‚dS )z
Test twinxr:   r;   r=   r   N)r>   rE   Útwinxr   rm   Úallrn   ÚextentsrÐ   s      r   Útest_constrained_layout18rÛ   L  s“   € åŒl -Ð0Ñ0Ô0�G€CˆØ
�(Š(‰*Œ*€CÝ�ÑÔÐÝ�˜rÐ"Ñ"Ô"Ð"Ø×ÒÑ Ô Ð Ýˆr�ŠÑ Ô Ô(¨C×,<Ò,<Ñ,>Ô,>Ô,FÒFÑGÔGÐGÐGÐGÐGÐGr   c                  ó   — t          j        d¬¦  «        \  } }|                     ¦   «         }t          |¦  «         t          |d¬¦  «         |                     d¦  «         |                     d¦  «         |                      ¦   «          t          |                     ¦   «         j        |                     ¦   «         j        k    ¦  «        sJ ‚dS )z
Test twinyr:   r;   r=   r   rˆ   N)	r>   rE   Útwinyr   r   rm   rÙ   rn   rÚ   rÐ   s      r   Útest_constrained_layout19rÞ   V  s·   € åŒl -Ð0Ñ0Ô0�G€CˆØ
�(Š(‰*Œ*€CÝ�ÑÔÐÝ�˜rÐ"Ñ"Ô"Ð"Ø‡M‚M�"ÑÔÐØ‡L‚L�ÑÔÐØ×ÒÑ Ô Ð Ýˆr�ŠÑ Ô Ô(¨C×,<Ò,<Ñ,>Ô,>Ô,FÒFÑGÔGÐGÐGÐGÐGÐGr   c                  ó0  — t          j        ddd¦  «        } t          j        | | dd…df         ¦  «        }t          j        ¦   «         }|                     d¦  «        }|                     | | |dd…dd…f         ¦  «        }|                     |¦  «         dS )z)Smoke test cl does not mess up added Axeséûÿÿÿr#   r†   N)r   r   r	   r	   r$   )r+   ÚlinspaceÚhypotr>   r?   rÏ   r/   rN   )ÚgxÚimgrB   r   Úmeshs        r   Útest_constrained_layout20ræ   b  s‹   € å	Œ�R˜˜AÑ	Ô	€BÝ
Œ(�2�r˜!˜!˜!˜T˜'”{Ñ
#Ô
#€Cå
Œ*‰,Œ,€CØ	�Š�lÑ	#Ô	#€BØ�=Š=˜˜R  S b S¨#¨2¨# X¤Ñ/Ô/€DØ‡L‚L�ÑÔÐÐÐr   c                  óÆ  — t          j        d¬¦  «        \  } }|                      d¦  «         |                      ¦   «          t	          j        |                     ¦   «         j        ¦  «        }|                      d¦  «         |                      ¦   «          t	          j        |                     ¦   «         j        ¦  «        }t          j         	                    ||¦  «         dS )z>#11035: repeated calls to suptitle should not alter the layoutr:   r;   Ú	Suptitle0Ú	Suptitle1N)
r>   rE   r’   rm   r+   Úcopyrn   rÚ   ÚtestingÚassert_allclose©rB   r   Úextents0Úextents1s       r   Útest_constrained_layout21rð   m  s¶   € åŒl -Ð0Ñ0Ô0�G€Cˆà‡L‚L�ÑÔÐØ×ÒÑ Ô Ð ÝŒw�r—’Ñ(Ô(Ô0Ñ1Ô1€Hà‡L‚L�ÑÔÐØ×ÒÑ Ô Ð ÝŒw�r—’Ñ(Ô(Ô0Ñ1Ô1€Hå„J×Ò˜x¨Ñ2Ô2Ð2Ð2Ð2r   c                  ó   — t          j        d¬¦  «        \  } }|                      ¦   «          t          j        |                     ¦   «         j        ¦  «        }|                      dd¬¦  «         |                      ¦   «          t          j        |                     ¦   «         j        ¦  «        }t          j         	                    ||¦  «         dS )zC#11035: suptitle should not be include in CL if manually positionedr:   r;   ÚSuptitler˜   ©r2   N)
r>   rE   rm   r+   rê   rn   rÚ   r’   rë   rì   rí   s       r   Útest_constrained_layout22rô   |  s¨   € åŒl -Ð0Ñ0Ô0�G€Cˆà×ÒÑ Ô Ð ÝŒw�r—’Ñ(Ô(Ô0Ñ1Ô1€Hà‡L‚L�˜s€LÑ#Ô#Ð#Ø×ÒÑ Ô Ð ÝŒw�r—’Ñ(Ô(Ô0Ñ1Ô1€Hå„J×Ò˜x¨Ñ2Ô2Ð2Ð2Ð2r   c                  óì   — t          d¦  «        D ]c} t          j        ddd¬¦  «        }|                     dd¦  «        }|d                              dd¦  «        }|                     d| › �¦  «         Œdd	S )
zu
    Comment in #11035: suptitle used to cause an exception when
    reusing a figure w/ CL with ``clear=True``.
    r
   r:   TÚ123)r<   ÚclearÚnumr	   r   rò   N)rl   r>   r?   r`   ra   r’   )rv   rB   rc   Úsubs       r   Útest_constrained_layout23rú   Š  s‚   € õ �1‰XŒXð %ð %ˆÝŒj °T¸uÐEÑEÔEˆØ×Ò˜a Ñ#Ô#ˆØ�Œe×Ò  1Ñ%Ô%ˆØ�Š�^ �^�^Ñ$Ô$Ð$Ð$ð	%ð %r   ztest_colorbar_location.pngT)Úremove_textr8   c                  ó\  — t          j        ddd¬¦  «        \  } }|j        D ];}t          |¦  «        }|                     d¦  «         |                     d¦  «         Œ<|                      ||dd…df         d¬	¦  «         |                      ||d
dd…f         dd¬¦  «         |                      ||ddd…f         ddd¬¦  «         |                      ||ddd…f         dd¬¦  «         |                      ||d         dd¬¦  «         |                      ||dd…df         dd¬¦  «         dS )zY
    Test that colorbar handling is as expected for various complicated
    cases...
    r†   r#   r:   r;   rˆ   Nr	   rÎ   )r   rT   r$   r
   r˜   rY   )r   rT   r[   r   gš™™™™™©?)r   rT   r[   rL   éþÿÿÿr   ÚtoprÓ   ÚleftÚright)r>   rE   rF   r6   r   r   rN   rV   s       r   Útest_colorbar_locationr  —  sE  € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð ð ˆÝ˜RÑ Ô ˆØ
�Š�bÑÔÐØ
�Š�bÑÔÐÐØ‡L‚L�˜˜Q˜Q˜Q ˜Tœ¨3€LÑ/Ô/Ð/Ø‡L‚L�˜˜R  ! ˜Vœ¨S¸8€LÑDÔDÐDØ‡L‚L�˜˜Q   ˜Uœ¨C¸(È€LÑMÔMÐMØ‡L‚L�˜˜R   ˜Vœ¨S¸5€LÑAÔAÐAØ‡L‚L�˜˜Tœ¨3¸€LÑ@Ô@Ð@Ø‡L‚L�˜˜Q˜q˜S !˜Vœ¨S¸7€LÑCÔCÐCÐCÐCr   c                  óB  — t          j        ddd¬¦  «        \  } }|d                              d¦  «         |                      ¦   «          t	          j        |d                              ¦   «         j        ¦  «        }t          j         	                    |g d¢d¬	¦  «         d S )
Nr
   r:   r;   r…   FrÓ   )gý/×¢¨?g<Ü‹Qá?gd:tzÞ�Þ?g©¼á´`ï?çñhãˆµøä>)Úrtol)
r>   rE   Úset_visiblerm   r+   rê   rn   rÚ   rë   rì   )rB   rH   rï   s      r   Útest_hidden_axesr  «  s¦   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØˆ„I×Ò˜%Ñ Ô Ð Ø×ÒÑ Ô Ð ÝŒw�s˜4”y×-Ò-Ñ/Ô/Ô7Ñ8Ô8€Hå„J×ÒØÐ:Ð:Ð:Àð ñ Gô Gð Gð Gð Gr   c            	      óÆ  — dD �]Ü} t          j        ddd¬¦  «        \  }}g }t          |j        ¦  «        D ]Ó\  }}|                     d¬¦  «         t          |¦  «        }|                     ||| dd¬	¦  «        }||gz  }|j                             d¬¦  «         |d
k    rh|j        j         	                    g ¦  «         |j        j
         	                    g ¦  «         |                     g ¦  «         |                     g ¦  «         ŒÔ|                     ¦   «                              dddd¬¦  «         |                     ¦   «          | dv rÊt           j                             |d         j                             ¦   «         j        |d         j                             ¦   «         j        ¦  «         t           j                             |d
         j                             ¦   «         j        |d         j                             ¦   «         j        ¦  «         �Œt           j                             |d         j                             ¦   «         j        |d
         j                             ¦   «         j        ¦  «         t           j                             |d         j                             ¦   «         j        |d         j                             ¦   «         j        ¦  «         �ŒÞd S )N)r   rÿ   rþ   rY   r
   r:   r;   Úin)Ú	directionr    g{®Gáz¤?)r   r[   rT   rL   r	   gÇqÇq¬?gš™™™™™¹?rÅ   )rÿ   r   r   r   )r>   rE   rM   rF   Útick_paramsr6   rN   r   ÚxaxisÚ	set_ticksÚyaxisr   r   rÀ   rÁ   rm   r+   rë   rì   rn   Úx0ro   )r[   rB   rH   ÚcbsrO   r   ÚpcÚcbs           r   Útest_colorbar_alignr  ¸  sµ  € Ø6ð Dñ DˆÝ”<  1¨]Ð;Ñ;Ô;‰ˆˆSØˆÝ ¤Ñ)Ô)ð 	'ð 	'‰FˆB�Ø�NŠN TˆNÑ*Ô*Ð*Ý Ñ#Ô#ˆBØ—’˜b R°(À3Ø"&ð ñ (ô (ˆBà�B�4‰KˆCØŒE×Ò¨ÐÑ-Ô-Ð-Ø�QŠwˆwØ””×%Ò% bÑ)Ô)Ð)Ø””×%Ò% bÑ)Ô)Ð)Ø×"Ò" 2Ñ&Ô&Ð&Ø×"Ò" 2Ñ&Ô&Ð&øØ×ÒÑÔ×#Ò#¨&¸Ø+.°sð 	$ñ 	<ô 	<ð 	<ð 	×"Ò"Ñ$Ô$Ð$ØÐ(Ð(Ð(ÝŒJ×&Ò& s¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BØ'*¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BñDô Dð DåŒJ×&Ò& s¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BØ'*¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BñDô Dð Dñ Dõ ŒJ×&Ò& s¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BØ'*¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BñDô Dð DåŒJ×&Ò& s¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BØ'*¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BñDô Dð Dñ Dð7Dð Dr   ztest_colorbars_no_overlapV.pngc                  ó‚  — t          j        dd¬¦  «        } |                      dddd¬¦  «        }|D ]w}|j                             t          j        ¦   «         ¦  «         |                     dd	¬
¦  «         |                     ddgddgg¦  «        }|  	                    ||d¬¦  «         Œx|  
                    d¦  «         d S )N)r
   r†   r:   rƒ   r
   r	   T©rŽ   r�   Úbothr  ©Úaxisr	  r   r†   Úvertical©r   ÚorientationÚfoo)r>   r?   rE   r  Úset_major_formatterr   ÚNullFormatterr
  ÚimshowrN   r’   ©rB   rH   r   Úims       r   Útest_colorbars_no_overlapVr!  Ø  sÄ   € å
Œ*˜V¨MÐ
:Ñ
:Ô
:€CØ
�,Š,�q˜! D°ˆ,Ñ
6Ô
6€CØð 8ð 8ˆØ
Œ×$Ò$¥VÔ%9Ñ%;Ô%;Ñ<Ô<Ð<Ø
�Š˜F¨dˆÑ3Ô3Ð3Ø�YŠY˜˜A˜  A Ð'Ñ(Ô(ˆØ�Š�R˜B¨JˆÑ7Ô7Ð7Ð7Ø‡L‚L�ÑÔÐÐÐr   ztest_colorbars_no_overlapH.pngc                  ó‚  — t          j        dd¬¦  «        } |                      d¦  «         |                      dddd¬¦  «        }|D ]w}|j                             t          j        ¦   «         ¦  «         |                     d	d
¬¦  «         | 	                    ddgddgg¦  «        }|  
                    ||d¬¦  «         Œxd S )N©r†   r
   r:   rƒ   r  r	   r
   Tr  r  r  r  r   r†   Ú
horizontalr  )r>   r?   r’   rE   r  r  r   r  r
  r  rN   r  s       r   Útest_colorbars_no_overlapHr%  ä  sÈ   € å
Œ*˜V¨MÐ
:Ñ
:Ô
:€CØ‡L‚L�ÑÔÐØ
�,Š,�q˜! D°ˆ,Ñ
6Ô
6€CØð :ð :ˆØ
Œ×$Ò$¥VÔ%9Ñ%;Ô%;Ñ<Ô<Ð<Ø
�Š˜F¨dˆÑ3Ô3Ð3Ø�YŠY˜˜A˜  A Ð'Ñ(Ô(ˆØ�Š�R˜B¨LˆÑ9Ô9Ð9Ð9ð	:ð :r   c                  óÞ  — t          j        ddd¬¦  «        \  } }|d                              g d¢¦  «         |                      ¦   «          |d                              ¦   «         }t
          j                             |ddgddgg¦  «         t          j        ddd¬¦  «        \  } }|d                              g d¢¦  «         |d                              t
          j	         
                    d	d	¦  «        ¦  «        }|                      ||d         ¬
¦  «         |                      ¦   «          |d                              ¦   «         }t
          j                             |ddgddgg¦  «         d S )Nr	   r
   r:   r;   r   ©rÄ   rÄ   ç333333Ó?r(  rÄ   r˜   é   ©r   g)\�Âõ(Ü?)r>   rE   Úset_positionrm   rn   r+   rë   rì   r/   ÚrandomÚrandrN   )rB   rH   Úppr  s       r   Útest_manually_set_positionr/  ð  sS  € ÝŒ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØˆ„F×ÒÐ,Ð,Ð,Ñ-Ô-Ð-Ø×ÒÑ Ô Ð Ø	ˆQŒ×	Ò	Ñ	Ô	€BÝ„J×Ò˜r S¨# J°°c°
Ð#;Ñ<Ô<Ð<åŒ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØˆ„F×ÒÐ,Ð,Ð,Ñ-Ô-Ð-Ø	ˆQŒ×	Ò	�2œ9Ÿ>š>¨"¨bÑ1Ô1Ñ	2Ô	2€BØ‡L‚L�˜˜Aœ€LÑÔÐØ×ÒÑ Ô Ð Ø	ˆQŒ×	Ò	Ñ	Ô	€BÝ„J×Ò˜r S¨# J°°s°Ð#<Ñ=Ô=Ð=Ð=Ð=r   ztest_bboxtight.pngÚbbox_inchesÚtight)rû   r8   Úsavefig_kwargc                  ó`   — t          j        d¬¦  «        \  } }|                     d¦  «         d S ©Nr:   r;   r&   ©r>   rE   r‘   rA   s     r   Útest_bboxtightr6     s2   € õ Œl -Ð0Ñ0Ô0�G€CˆØ‡M‚M�"ÑÔÐÐÐr   ztest_bbox.pngr˜   g      @r
   c                  ó`   — t          j        d¬¦  «        \  } }|                     d¦  «         d S r4  r5  rA   s     r   Ú	test_bboxr8    s2   € õ
 Œl -Ð0Ñ0Ô0�G€CˆØ‡M‚M�"ÑÔÐÐÐr   c                  ó
  — t          j        ddddddi¬¦  «        \  } \  }}}|                     dd¦  «         |                     d	¦  «         |                     d
d¦  «         |                     d	¦  «         |                     dd¦  «         |                     d	¦  «         |                      |||f¬¦  «         |                      ¦   «          |j        j                             ¦   «         |j        j                             ¦   «         |j        j                             ¦   «         g}t          j
                             |d         j        |d         j        g|d         j        dd¬¦  «         |d         j        dk    sJ ‚dS )zî
    Tests for a bug in which constrained layout and align_ylabels on
    three unevenly sized subplots, one of whose y tick labels include
    negative numbers, drives the non-negative subplots' y labels off
    the edge of the plot
    r   r	   r:   )gš™™™™™@r¯   r¬   )r	   r	   gffffffæ?)r<   r„   Úgridspec_kwr   ÚLabelg      ø¿g      ø?)rH   r
   r  )r  ÚatolN)r>   rE   Úset_ylimr   Úalign_ylabelsrm   r  r—   Úget_window_extentr+   rë   rì   r  )rB   rÔ   r±   r²   Úafter_aligns        r   Útest_align_labelsrA    s‹  € õ œ<¨¨1°]Ø08Ø5Dð GLð 5MðNñ Nô NÑ€C‰ˆ#ˆs�Cð
 ‡L‚L��AÑÔÐØ‡N‚N�7ÑÔÐà‡L‚L��sÑÔÐØ‡N‚N�7ÑÔÐà‡L‚L��AÑÔÐØ‡N‚N�7ÑÔÐà×Ò˜3  S˜/ÐÑ*Ô*Ð*à×ÒÑ Ô Ð Ø”9”?×4Ò4Ñ6Ô6Ø”9”?×4Ò4Ñ6Ô6Ø”9”?×4Ò4Ñ6Ô6ð8€Kõ „J×Ò ¨A¤Ô 1°;¸q´>Ô3DÐEØ*¨1œ~Ô0°q¸uð ñ Fô Fð Fð �qŒ>Ô Ò!Ð!Ð!Ð!Ð!Ð!r   c                  ó¾  — t          j        d¬¦  «        \  } }|                      ¦   «          |                     | j                             ¦   «         ¦  «        }|                      d¦  «         |                      d¦  «         |                      ¦   «          |                     | j                             ¦   «         ¦  «        }|j        |j        dz   k    sJ ‚|j	        |j	        dz   k    sJ ‚t          j        d¬¦  «        \  } }|                      ¦   «          |                     | j                             ¦   «         ¦  «        }|                      dd¬¦  «         |                      dd¬¦  «         |                      ¦   «          |                     | j                             ¦   «         ¦  «        }|j        |j        dz   k    sJ ‚|j	        |j	        dz   k    sJ ‚d S )	Nr:   r;   ÚBooÚBooyg      $@r˜   )r3   ró   )
r>   rE   rm   Úget_tightbboxÚcanvasÚget_rendererÚ	supxlabelÚ	supylabelro   r  )rB   r   Úpos0Úposs       r   Útest_suplabelsrL  3  s´  € ÝŒl -Ð0Ñ0Ô0�G€CˆØ×ÒÑ Ô Ð Ø×Ò˜CœJ×3Ò3Ñ5Ô5Ñ6Ô6€DØ‡M‚M�%ÑÔÐØ‡M‚M�&ÑÔÐØ×ÒÑ Ô Ð Ø
×
Ò
˜3œ:×2Ò2Ñ4Ô4Ñ
5Ô
5€CØŒ6�D”G˜d‘NÒ"Ð"Ð"Ð"ØŒ6�D”G˜d‘NÒ"Ð"Ð"Ð"åŒl -Ð0Ñ0Ô0�G€CˆØ×ÒÑ Ô Ð Ø×Ò˜CœJ×3Ò3Ñ5Ô5Ñ6Ô6€Dà‡M‚M�%˜3€MÑÔÐØ‡M‚M�%˜3€MÑÔÐØ×ÒÑ Ô Ð Ø
×
Ò
˜3œ:×2Ò2Ñ4Ô4Ñ
5Ô
5€CØŒ6�D”G˜d‘NÒ"Ð"Ð"Ð"ØŒ6�D”G˜d‘NÒ"Ð"Ð"Ð"Ð"Ð"r   c                  óÂ   — t          j        ¦   «         } |                      dd¦  «        }|                      |dd …dd …f         ¦  «        }|                      ¦   «          d S )Nr   r   r	   )r>   r?   r`   r@   rm   )rB   rc   Úsps      r   Útest_gridspec_addressingrO  J  s[   € Ý
Œ*‰,Œ,€CØ	×	Ò	˜!˜QÑ	Ô	€BØ	�Š˜˜A˜B˜B   ˜FœÑ	$Ô	$€BØ×ÒÑ Ô Ð Ð Ð r   c                  ó.  — t          j        d¬¦  «        \  } }|                      ¦   «          t          j        t
          d¬¦  «        5  t          j        ¦   «         \  } }|                      d¦  «         |                      ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          j        ¦   «         \  } }|                      dddœ¦  «         |                      ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )NTrj   zwill be deprecatedry   rK   r»   )r>   rE   rm   r{   r|   ÚPendingDeprecationWarningÚset_constrained_layoutrA   s     r   Útest_discouraged_apirS  Q  s‘  € ÝŒl¨dÐ3Ñ3Ô3�G€CˆØ×ÒÑ Ô Ð å	ŒÕ/Ø0ð
2ñ 
2ô 
2ð %ð %å”,‘.”.‰ˆˆRØ×"Ò" 4Ñ(Ô(Ð(Ø×"Ò"Ñ$Ô$Ð$ð	%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ 
ŒÕ/Ø0ð
2ñ 
2ô 
2ð %ð %å”,‘.”.‰ˆˆRØ×"Ò"¨T¸DÐ#AÐ#AÑBÔBÐBØ×"Ò"Ñ$Ô$Ð$ð	%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s&   ÁA BÂBÂBÂ:AD
Ä
DÄDc                  ób   — t          j        ddi¬¦  «        \  } }|                      ¦   «          d S )Nr½   rK   rj   )r>   rE   rm   rA   s     r   Útest_kwargsrU  b  s4   € ÝŒl¨w¸¨oÐ>Ñ>Ô>�G€CˆØ×ÒÑ Ô Ð Ð Ð r   c                  óJ  — t          j        d¬¦  «        \  } }|                      ¦   «                              g d¢¬¦  «         |                      ¦   «          |                     ¦   «         }|j        dk     sJ ‚|j        dk     sJ ‚t          j        d¬¦  «        \  } }|                      ¦   «                              g d¢¬¦  «         |                      ¦   «          |                     ¦   «         }|j        dk     sJ ‚|j        dk     sJ ‚|j        dk    sJ ‚|j	        dk    sJ ‚d S )Nr:   r;   )r   r   r˜   r˜   )Úrectr˜   r'  rÄ   )
r>   rE   rÀ   rÁ   rm   rn   Úx1rp   r  ro   )rB   r   Úpposs      r   Ú	test_rectrZ  g  s"  € ÝŒl -Ð0Ñ0Ô0�G€CˆØ×ÒÑÔ×ÒÐ%5Ð%5Ð%5ÐÑ6Ô6Ð6Ø×ÒÑ Ô Ð Ø�?Š?ÑÔ€DØŒ7�SŠ=ˆ=ˆ=ˆ=ØŒ7�SŠ=ˆ=ˆ=ˆ=åŒl -Ð0Ñ0Ô0�G€CˆØ×ÒÑÔ×ÒÐ%9Ð%9Ð%9ÐÑ:Ô:Ð:Ø×ÒÑ Ô Ð Ø�?Š?ÑÔ€DØŒ7�SŠ=ˆ=ˆ=ˆ=ØŒ7�SŠ=ˆ=ˆ=ˆ=ØŒ7�SŠ=ˆ=ˆ=ˆ=ØŒ7�SŠ=ˆ=ˆ=ˆ=ˆ=ˆ=r   c                  ó¼  — t          j        ddddd¬¦  «        \  } }|j        D ]5}|                     t          j                             dd¦  «        ¦  «        }Œ6|                      ||¬¦  «         |                      ¦   «          |d          	                    ¦   «         }t          j
                             |j        d	d
¬¦  «         |d          	                    ¦   «         }t          j
                             |j        dd¬¦  «         t          j        dddddd¬¦  «        \  } }|j        D ]5}|                     t          j                             dd¦  «        ¦  «        }Œ6|                      ||¬¦  «         |                      ¦   «          |d          	                    ¦   «         }t          j
                             |j        dd¬¦  «         t          j
                             |j        dd
¬¦  «         |d          	                    ¦   «         }t          j
                             |j        dd¬¦  «         t          j
                             |j        dd
¬¦  «         d S )Nr   r
   Ú
compressedTr�   r)  r*  rÓ   g™»–�zÎ?rR   ©r<  r…   g™»–�zæ?çü©ñÒMbP?)r#   r†   )r<   rŽ   r�   r„   gÄZ|
€ñ¬?g+ö—Ý“‡ë?)r	   r
   g’\þCúíë?gMóŽSt$Ç?)r>   rE   rF   r  r+   r,  ÚrandnrN   rm   rn   rë   rì   r  rX  rp   ro   )rB   rH   r   r  rK  s        r   Útest_compressed1r`  y  s  € ÝŒ|˜A˜q¨Ø#'°ð6ñ 6ô 6�H€CˆàŒhð 0ð 0ˆØ�YŠY•r”y—’ r¨2Ñ.Ô.Ñ/Ô/ˆˆà‡L‚L�˜€LÑÔÐØ×ÒÑ Ô Ð à
ˆdŒ)×
 Ò
 Ñ
"Ô
"€CÝ„J×Ò˜sœv v°DÐÑ9Ô9Ð9Ø
ˆdŒ)×
 Ò
 Ñ
"Ô
"€CÝ„J×Ò˜sœv v°DÐÑ9Ô9Ð9õ Œ|˜A˜q¨Ø#'°¸fðFñ Fô F�H€CˆàŒhð 0ð 0ˆØ�YŠY•r”y—’ r¨2Ñ.Ô.Ñ/Ô/ˆˆà‡L‚L�˜€LÑÔÐØ×ÒÑ Ô Ð à
ˆdŒ)×
 Ò
 Ñ
"Ô
"€CÝ„J×Ò˜sœv w°TÐÑ:Ô:Ð:Ý„J×Ò˜sœv v°DÐÑ9Ô9Ð9Ø
ˆdŒ)×
 Ò
 Ñ
"Ô
"€CÝ„J×Ò˜sœv v°DÐÑ9Ô9Ð9Ý„J×Ò˜sœv v°DÐÑ9Ô9Ð9Ð9Ð9r   c                  óÖ  — t          j        ddddddœ¬¦  «        \  } \  }}|                     d¦  «         |                     d	¦  «         |                     d¦  «         |                     d
¦  «         |                      d¦  «        }|                      ¦   «          |                     ¦   «         d
         t          j        dd¬¦  «        k    sJ ‚|                      dd¬¦  «        }|                      ¦   «          |                     ¦   «         d
         dk    sJ ‚|                      dd¬¦  «        }|                      ¦   «          |                     ¦   «         d
         dk    sJ ‚d S )Nr
   )r†   r‚   r\  )g      Ð?g      è?r   )r¬   rÆ   )Únrowsr„   r<   r:  Úequalrº   r	   r   gà-� øç?r^  )Úabsg\�Âõ(\ï?ró   F)Ú	in_layout)	r>   rE   r  Úset_box_aspectr’   rm   rn   r{   Úapprox)rB   Úax0r±   Útitles       r   Útest_compressed_suptitlerj  ˜  so  € Ý”lØ˜¨Ø&4ÀÐBÐBðDñ Dô D�O€C‰ˆ#ˆsð ‡H‚HˆWÑÔÐØ×Ò�sÑÔÐà‡H‚HˆWÑÔÐØ×Ò�qÑÔÐà�LŠL˜Ñ!Ô!€EØ×ÒÑ Ô Ð Ø×ÒÑÔ Ô"¥f¤m°FÀÐ&EÑ&EÔ&EÒEÐEÐEÐEà�LŠL˜ DˆLÑ)Ô)€EØ×ÒÑ Ô Ð Ø×ÒÑÔ Ô" dÒ*Ð*Ð*Ð*à�LŠL˜¨EˆLÑ2Ô2€EØ×ÒÑ Ô Ð Ø×ÒÑÔ Ô" dÒ*Ð*Ð*Ð*Ð*Ð*r   z%test_compressed_suptitle_colorbar.pngc                  ó¦  — t          j        d¦  «                             d¦  «        } t          j        ddd¬¦  «        \  }}|d                              | ¦  «        }|d                              | ¦  «        }t          j        ||d         ¬	¦  «        }t          j        ||d         ¬	¦  «        }|                     d
¦  «         |j         	                    ¦   «          t          |||g¦  «        D ]à\  }}|                     ¦   «         }	|j                             ¦   «         }
t          |
j        |	j        z
  ¦  «        dk     sJ d|
j        › d|	j        › �¦   «         ‚t          |
j        |	j        z
  ¦  «        dk     sJ d|
j        › d|	j        › �¦   «         ‚t          |
j        |	j        z
  ¦  «        dk     sJ d|
j        › d|	j        › �¦   «         ‚ŒádS )zGTest that colorbars align with axes in compressed layout with suptitle.éd   ©r‚   r‚   r
   r#  r\  )Úncolsr„   r<   r   r	   r*  r   rR   zColorbar height z doesn't match axes height zColorbar y0 z doesn't match axes y0 zColorbar y1 z doesn't match axes y1 N)r+   r›   Úreshaper>   rE   r  rN   r’   rF  ÚdrawÚziprn   r   rd  Úheightro   rp   ©ÚarrrB   rH   Úim0Úim1Úcb0Úcb1r   r  Úax_posÚcb_poss              r   Ú!test_compressed_suptitle_colorbarr{  °  sÔ  € õ Œ)�C‰.Œ.×
 Ò
  Ñ
*Ô
*€CÝŒ| !¨V¸LÐIÑIÔI�H€Cˆà
ˆaŒ&�-Š-˜Ñ
Ô
€CØ
ˆaŒ&�-Š-˜Ñ
Ô
€Cå
Œ,�s˜s 1œvÐ
&Ñ
&Ô
&€CÝ
Œ,�s˜s 1œvÐ
&Ñ
&Ô
&€Cà‡L‚L�ÑÔÐð „J‡O‚OÑÔÐå�c˜C ˜:Ñ&Ô&ð Ið I‰ˆˆBØ—’Ñ"Ô"ˆØ”×#Ò#Ñ%Ô%ˆõ �6”= 6¤=Ñ0Ñ1Ô1°DÒ8Ð8Ð8ØX˜vœ}ÐXÐXÈÌÐXÐXñ 9Ô8Ð8õ �6”9˜vœyÑ(Ñ)Ô)¨DÒ0Ð0Ð0ØH˜6œ9ÐHÐH¸V¼YÐHÐHñ 1Ô0Ð0å�6”9˜vœyÑ(Ñ)Ô)¨DÒ0Ð0Ð0ØH˜6œ9ÐHÐH¸V¼YÐHÐHñ 1Ô0Ð0Ð0ðIð Ir   z&test_compressed_supylabel_colorbar.pngc                  óª  — t          j        d¦  «                             d¦  «        } t          j        ddd¬¦  «        \  }}|d                              | ¦  «        }|d                              | ¦  «        }t          j        ||d         d	¬
¦  «        }t          j        ||d         d	¬
¦  «        }|                     d¦  «         |j         	                    ¦   «          t          |||g¦  «        D ]à\  }}|                     ¦   «         }	|j                             ¦   «         }
t          |
j        |	j        z
  ¦  «        dk     sJ d|
j        › d|	j        › �¦   «         ‚t          |
j        |	j        z
  ¦  «        dk     sJ d|
j        › d|	j        › �¦   «         ‚t          |
j        |	j        z
  ¦  «        dk     sJ d|
j        › d|	j        › �¦   «         ‚ŒádS )za
    Test that horizontal colorbars align with axes
    in compressed layout with supylabel.
    rl  rm  r
   )r   r†   r\  )rb  r„   r<   r   r	   r$  r  r   rR   zColorbar width z doesn't match axes width zColorbar x0 z doesn't match axes x0 zColorbar x1 z doesn't match axes x1 N)r+   r›   ro  r>   rE   r  rN   rI  rF  rp  rq  rn   r   rd  Úwidthr  rX  rs  s              r   Ú"test_compressed_supylabel_colorbarr~  Ò  sØ  € õ Œ)�C‰.Œ.×
 Ò
  Ñ
*Ô
*€CÝŒ| !¨V¸LÐIÑIÔI�H€Cˆà
ˆaŒ&�-Š-˜Ñ
Ô
€CØ
ˆaŒ&�-Š-˜Ñ
Ô
€Cå
Œ,�s˜s 1œv°<Ð
@Ñ
@Ô
@€CÝ
Œ,�s˜s 1œv°<Ð
@Ñ
@Ô
@€Cà‡M‚M�'ÑÔÐð „J‡O‚OÑÔÐå�c˜C ˜:Ñ&Ô&ð Ið I‰ˆˆBØ—’Ñ"Ô"ˆØ”×#Ò#Ñ%Ô%ˆõ �6”< &¤,Ñ.Ñ/Ô/°$Ò6Ð6Ð6ØT˜fœlÐTÐTÀfÄlÐTÐTñ 7Ô6Ð6õ �6”9˜vœyÑ(Ñ)Ô)¨DÒ0Ð0Ð0ØH˜6œ9ÐHÐH¸V¼YÐHÐHñ 1Ô0Ð0å�6”9˜vœyÑ(Ñ)Ô)¨DÒ0Ð0Ð0ØH˜6œ9ÐHÐH¸V¼YÐHÐHñ 1Ô0Ð0Ð0ðIð Ir   z
arg, state)TT)FFrW  c                 óf   — t          j        | ¬¦  «        \  }}|                     ¦   «         |u sJ ‚d S )Nrj   )r>   rE   Úget_constrained_layout)ÚargÚstaterB   r   s       r   Útest_set_constrained_layoutrƒ  ÷  s=   € õ Œl¨cÐ2Ñ2Ô2�G€CˆØ×%Ò%Ñ'Ô'¨5Ð0Ð0Ð0Ð0Ð0Ð0r   c                  óš  — t          j        ¦   «         \  } }t          j        t          ¦  «        5  |                      d¦  «         |                      ¦   «         sJ ‚|                      d¦  «         |                      ¦   «         rJ ‚|                      d¦  «         |                      ¦   «         sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NTF)r>   rE   r{   r|   rQ  rR  r€  rA   s     r   Útest_constrained_toggler…    s  € ÝŒl‰nŒn�G€CˆÝ	ŒÕ/Ñ	0Ô	0ð ,ð ,Ø×"Ò" 4Ñ(Ô(Ð(Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+Ø×"Ò" 5Ñ)Ô)Ð)Ø×-Ò-Ñ/Ô/Ð/Ð/Ð/Ø×"Ò" 4Ñ(Ô(Ð(Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   °BC Ã CÃCc                  ó*  — t          j        dd¬¦  «        } |                      ¦   «          |                      ¦   «          t          j        d¦  «         ~ t          j        ¦   «          t          d„ t          j        ¦   «         D ¦   «         ¦  «        rJ ‚d S )NTrm  )rk   r„   rÙ   c              3   óT   K  — | ]#}t          |t          j        j        ¦  «        V — Œ$d S )N)Ú
isinstancerÊ   Ú_layoutgridÚ
LayoutGrid)Ú.0Úobjs     r   ú	<genexpr>z#test_layout_leak.<locals>.<genexpr>  sE   è è € ð 0ð 0Øõ ˜c¥3¤?Ô#=Ñ>Ô>ð 0ð 0ð 0ð 0ð 0ð 0r   )	r>   r?   r@   rm   ÚcloseÚgcÚcollectÚanyÚget_objects)rB   s    r   Útest_layout_leakr“    s¢   € õ Œ*¨°hÐ
?Ñ
?Ô
?€CØ‡O‚OÑÔÐØ×ÒÑ Ô Ð Ý„IˆeÑÔÐØÝ„J�L„L€LÝð 0ð 0Ý œnÑ.Ô.ð0ñ 0ô 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0r   c                  ó¬  — t          j        dd¬¦  «        } |                      dd¦  «        }g }|                     ¦   «         D ]–}|                     dd¦  «        }t          d¦  «        D ]=}||                     ||df         ¦  «        gz  }|d                              ¦   «          Œ>|                     |d	d	…df         ¦  «                             ¦   «          Œ—|                      ¦   «          |dd	…         D ][}t          j
        |                     ¦   «         j        d         |d                              ¦   «         j        d         d
¬¦  «        sJ ‚Œ\d	S )z‚
    Test that the submerged margin logic does not get called multiple times
    on same axes if it is already in a subfigure
    )r†   r#   r:   rƒ   r   r	   r
   r   r$   Ng�íµ ÷Æ°>r]  )r>   r?   Ú
subfiguresÚflattenr`   rl   r@   r   rm   r+   Úallclosern   Úbounds)rB   ÚfiguresrH   Úfrc   rv   r   s          r   Útest_submerged_subfigr›    si  € õ
 Œ*˜V¨MÐ
:Ñ
:Ô
:€CØ�nŠn˜Q Ñ"Ô"€GØ
€CØ�_Š_ÑÔð 'ð 'ˆØ�^Š^˜A˜qÑ!Ô!ˆÝ�q‘”ð 	ð 	ˆAØ�A—M’M " Q¨ T¤(Ñ+Ô+Ð,Ñ,ˆCØ�ŒG�LŠL‰NŒNˆNˆNØ	�Š�b˜˜˜˜A˜”hÑÔ×$Ò$Ñ&Ô&Ð&Ð&Ø×ÒÑ Ô Ð Ø�!�"�"Œgð Hð HˆÝŒ{˜2Ÿ?š?Ñ,Ô,Ô3°BÔ7Ø˜qœ6×.Ò.Ñ0Ô0Ô7¸Ô;À$ðHñ Hô Hð 	Hð 	Hð Hð 	HðHð Hr   c                  óÎ  — d} d}t          j        | d¬¦  «        \  }}t          j        |d¬¦  «        \  }}||fD ]>}|                     ¦   «                              d¬¦  «         |                     ¦   «          Œ?dD ]h}t
          j                             ||                              ¦   «         j	        d         ||                              ¦   «         j	        d         ¦  «         Œid	S )
zHTest that the gap between rows does not depend on the number of columns.zAC;BCz	ACDE;BCDEr:   r;   rÄ   )r½   ©ÚAÚBr$   N©
r>   Úsubplot_mosaicrÀ   rÁ   rm   r+   rë   rì   rn   r˜  ©Úmosaic1Úmosaic2Úfig1Úax_dict1Úfig2Úax_dict2rB   r—   s           r   Útest_submerged_height_gapr©  .  s   € ð €GØ€GåÔ'¨¸ÐFÑFÔF�N€Dˆ(ÝÔ'¨¸ÐFÑFÔF�N€Dˆ(Ø�Tˆzð %ð %ˆØ×ÒÑÔ×#Ò#¨#Ð#Ñ.Ô.Ð.Ø×"Ò"Ñ$Ô$Ð$Ð$àð Nð NˆÝ
Œ
×"Ò" 8¨E¤?×#?Ò#?Ñ#AÔ#AÔ#HÈÔ#LØ#+¨E¤?×#?Ò#?Ñ#AÔ#AÔ#HÈÔ#Lñ	Nô 	Nð 	Nð 	NðNð Nr   c                  óÎ  — d} d}t          j        | d¬¦  «        \  }}t          j        |d¬¦  «        \  }}||fD ]>}|                     ¦   «                              d¬¦  «         |                     ¦   «          Œ?dD ]h}t
          j                             ||                              ¦   «         j	        d         ||                              ¦   «         j	        d         ¦  «         Œid	S )
zHTest that the gap between columns does not depend on the number of rows.zAB;CCzAB;CC;DDr:   r;   rÄ   )r¼   r�  rý   Nr   r¢  s           r   Útest_submerged_width_gapr«  ?  s   € ð €GØ€GåÔ'¨¸ÐFÑFÔF�N€Dˆ(ÝÔ'¨¸ÐFÑFÔF�N€Dˆ(Ø�Tˆzð %ð %ˆØ×ÒÑÔ×#Ò#¨#Ð#Ñ.Ô.Ð.Ø×"Ò"Ñ$Ô$Ð$Ð$àð Nð NˆÝ
Œ
×"Ò" 8¨E¤?×#?Ò#?Ñ#AÔ#AÔ#HÈÔ#LØ#+¨E¤?×#?Ò#?Ñ#AÔ#AÔ#HÈÔ#Lñ	Nô 	Nð 	Nð 	NðNð Nr   z test_submerged_with_colorbar.pngc                  ó¨   — d} t          j        | d¬¦  «        \  }}|d                              ddgddgg¦  «        }|                     |¦  «         d S )	NzAABBCC;DDDEEEr:   r;   rž  r   r	   r
   r   )r>   r¡  ÚcontourfrN   )ÚmosaicrB   Úax_dictÚcfs       r   Útest_submerged_with_colorbarr±  P  s\   € à€FåÔ% f°]ÐCÑCÔC�L€Cˆà	�Œ×	Ò	  A ¨¨A¨Ð/Ñ	0Ô	0€BØ‡L‚L�ÑÔÐÐÐr   )r   F)r   )Kr�  ÚplatformÚnumpyr+   r{   Ú
matplotlibrÊ   Úmatplotlib.testing.decoratorsr   Úmatplotlib.pyplotÚpyplotr>   Úmatplotlib.transformsÚ
transformsÚmtransformsr   r   ÚmarkÚusefixturesÚ
pytestmarkr   r6   rC   rI   rP   rW   r\   rh   rw   r€   r‹   r“   Úmachiner�   r¨   r­   r³   rÂ   rÈ   rÌ   rÑ   rÖ   rÛ   rÞ   ræ   rð   rô   rú   r  r  r  r!  r%  r/  r6  ÚBboxr8  rA  rL  rO  rS  rU  rZ  r`  rj  r{  r~  Úparametrizerƒ  r…  r“  r›  r©  r«  r±  © r   r   ú<module>rÂ     sá  ðØ 	€	€	€	Ø €€€à Ð Ð Ð Ø €€€à Ð Ð Ð Ø :Ð :Ð :Ð :Ð :Ð :Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'ð „K×ÒÐ/Ñ0Ô0ð€
ð
	ð 	ð 	ð 	ð
ð 
ð 
ð 
ð ÐÐ,Ð-°WÐ=Ñ=Ô=ð"ð "ñ >Ô=ð"ð ÐÐ,Ð-°WÐ=Ñ=Ô=ð&ð &ñ >Ô=ð&ð ÐÐ,Ð-°WÐ=Ñ=Ô=ð
*ð 
*ñ >Ô=ð
*ð ÐÐ,Ð-°WÐ=Ñ=Ô=ð4ð 4ñ >Ô=ð4ð ÐÐ,Ð-°WÐ=Ñ=Ô=ð$ð $ñ >Ô=ð$ð ÐÐ,Ð-°WÐ=Ñ=Ô=ð4ð 4ñ >Ô=ð4ð.?ð ?ð ?ð(%ð %ð %ð  ÐÐ,Ð-°WÐ=Ñ=Ô=ð4ð 4ñ >Ô=ð4ð6 ÐÐ,Ð-°WÐ=Ñ=Ô=ð/ð /ñ >Ô=ð/ð ÐÐ-Ð.°gØ+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸uðFñ Fô Fð<ð <ñFô Fð<ð ÐÐ-Ð.°gÐ>Ñ>Ô>ð!ð !ñ ?Ô>ð!ð& ÐÐ0Ð1¸ÐAÑAÔAð!ð !ñ BÔAð!ð& ÐÐ-Ð.°gÐ>Ñ>Ô>ðð ñ ?Ô>ðð* ÐÐ-Ð.°gÐ>Ñ>Ô>ð>ð >ñ ?Ô>ð>ð ÐÐ-Ð.°gÐ>Ñ>Ô>ð$ð $ñ ?Ô>ð$ð ÐÐ-Ð.°gÐ>Ñ>Ô>ð&ð &ñ ?Ô>ð&ð ÐÐ-Ð.°gÐ>Ñ>Ô>ð-ð -ñ ?Ô>ð-ð ÐÐ-Ð.°gÐ>Ñ>Ô>ðð ñ ?Ô>ðð Hð Hð Hð	Hð 	Hð 	Hðð ð ð3ð 3ð 3ð3ð 3ð 3ð
%ð 
%ð 
%ð ÐÐ/Ð0Ø"¨'ð3ñ 3ô 3ðDð Dñ3ô 3ðDð$
Gð 
Gð 
GðDð Dð Dð@ ÐÐ3Ð4¸GÐDÑDÔDðð ñ EÔDðð ÐÐ3Ð4¸GÐDÑDÔDð:ð :ñ EÔDð:ð>ð >ð >ð  ÐÐ'Ð(Ø"¨'Ø!.°Ð 8ð:ñ :ô :ðð ñ:ô :ðð
 Ð�?Ð#Ø"¨'Ø!.Ø!1 Ô!1°C¸°8¸cÀ1¸XÐ2FÑ!GÔ!Gð!IðJñ Jô Jðð ñ	Jô Jðð
"ð "ð "ðD#ð #ð #ð.!ð !ð !ð%ð %ð %ð"!ð !ð !ð
ð ð ð$:ð :ð :ð>+ð +ð +ð0 ÐÐ:Ð;À7ÐKÑKÔKðIð Iñ LÔKðIðB ÐÐ;Ð<ÀGÐLÑLÔLð!Ið !Iñ MÔLð!IðH „×Ò˜ØØØˆ€JØˆd€^�TÐð	(ñ ô ð1ð 1ñô ð1ð
,ð ,ð ,ð
0ð 
0ð 
0ðHð Hð Hð(Nð Nð Nð"Nð Nð Nð" ÐÐ5Ð6¸gÐFÑFÔFðð ñ GÔFðð ð r   