Ë
    %êñi±.  ã                   ó  — 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„ Zej                  j                   e j                  «       dk7  d¬«      d	„ «       Zej                  j                   e j                  «       dk7  d¬«      d
„ «       Zd„ Zd„ Zd„ Zd„ Z e	dg«      d„ «       Z e	dg«      d„ «       Z e	dgd¬«      d„ «       Z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d$„ Z  e	d%gd¬«      d&„ «       Z!d'„ Z"d(„ Z#d)„ Z$d*„ Z%d2d+„Z&d2d,„Z'ej                  jQ                  d-g d.¢«       e
d/g¬0«      d1„ «       «       Z)y)3é    N)Úpyplot)Úimage_comparison)Úcheck_figures_equalc                 óL  — t        j                  t        j                  ddt         j                  z  d«      t        j                  ddt         j                  z  d«      «      \  }}t        j                  |«      }t        j
                  |«      } | j                  ||fi |¤Ž}|S )Nr   é   é   )ÚnpÚmeshgridÚarangeÚpiÚcosÚsinÚquiver)ÚaxÚkwargsÚXÚYÚUÚVÚQs          ú^/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/matplotlib/tests/test_quiver.pyÚdraw_quiverr      sy   € Ü�;‰;”r—y‘y  A¬¯©¡I¨qÓ1Ü—y‘y  A¬¯©¡I¨qÓ1ó3�D€A€qä
�‰ˆq‹	€AÜ
�‰ˆq‹	€Aàˆ�	‰	�!�QÑ!˜&Ñ!€AØ€Hó    ÚCPythonzRequires CPython)Úreasonc                  óà   — t        j                  «       \  } }t        |«      }|j                  }t	        j
                  |«      }|j                  «        ~t	        j
                  |«      |k  sJ ‚y ©N)ÚpltÚsubplotsr   r   ÚsysÚgetrefcountÚremove)Úfigr   r   ÚttXÚorig_refcounts        r   Útest_quiver_memory_leakr&      sV   € ô �l‰l‹n�G€Cˆä�B‹€AØ
�#‰#€CÜ—O‘O CÓ(€MØ‡H�H„Jà	ä�?‰?˜3Ó -Ò/Ð/Ñ/r   c            
      óú   — t        j                  «       \  } }t        |«      }|j                  |dddddddi¬«      }t	        j
                  |«      }|j                  «        t	        j
                  |«      |k  sJ ‚y )	Nç      à?çq=
×£pí?r   ú$2 \frac{m}{s}$ÚWÚweightÚbold©ÚlabelposÚfontproperties)r   r   r   Ú	quiverkeyr    r!   r"   )r#   r   r   Úqkr%   s        r   Útest_quiver_key_memory_leakr3   %   su   € ô �l‰l‹n�G€Cˆä�B‹€Aà	�‰�a˜˜d AÐ'9Ø"Ø&.°Ð%7ð 
ó 
9€Bô —O‘O BÓ'€MØ‡I�I„KÜ�?‰?˜2Ó Ò.Ð.Ñ.r   c            	      ó*  — ddg} t        j                  t        d¬«      5  t        j                  | «       d d d «       t        j                  t        d¬«      5  t        j                  | | | | | | «       d d d «       y # 1 sw Y   ŒHxY w# 1 sw Y   y xY w)Nr   r   z7takes from 2 to 5 positional arguments but 1 were given©Úmatchz7takes from 2 to 5 positional arguments but 6 were given)ÚpytestÚraisesÚ	TypeErrorr   r   )r   s    r   Útest_quiver_number_of_argsr:   4   s‡   € Ø	
ˆAˆ€AÜ	�‰ÜØKô
Mñ ô 	�
‰
�1Œ÷ô 
�‰ÜØKô
Mñ %ô 	�
‰
�1�a˜˜A˜q !Ô$÷%ð %÷	ð ú÷%ð %ús    A=ÁB	Á=BÂ	Bc                  óV  — ddg} g d¢}t        j                  t        d¬«      5  t        j                  | || | «       d d d «       t        j                  t        d¬«      5  t        j                  | | || «       d d d «       t        j                  t        d¬«      5  t        j                  | | | |«       d d d «       t        j                  t        d¬«      5  t        j                  | | | | |«       d d d «       y # 1 sw Y   Œ¿xY w# 1 sw Y   Œ�xY w# 1 sw Y   Œ_xY w# 1 sw Y   y xY w)	Nr   r   )r   r   é   z?X and Y must be the same size, but X.size is 2 and Y.size is 3.r5   zMArgument U has a size 3 which does not match 2, the number of arrow positionszMArgument V has a size 3 which does not match 2, the number of arrow positionszMArgument C has a size 3 which does not match 2, the number of arrow positions)r7   r8   Ú
ValueErrorr   r   )ÚX2ÚX3s     r   Útest_quiver_arg_sizesr@   @   s  € Ø
ˆQˆ€BÚ	€BÜ	�‰Üð  >ô
@ñ #ô 	�
‰
�2�r˜2˜rÔ"÷#ô 
�‰Üð  Bô
Dñ #ô 	�
‰
�2�r˜2˜rÔ"÷#ô 
�‰Üð  Bô
Dñ #ô 	�
‰
�2�r˜2˜rÔ"÷#ô 
�‰Üð  Bô
Dñ 'ô 	�
‰
�2�r˜2˜r 2Ô&÷'ð '÷#ð #ú÷#ð #ú÷#ð #ú÷'ð 'ús/   ¤C;Á DÂDÃDÃ;DÄDÄDÄD(c                  óŠ  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}}t        j                  j                  dd«      dz
  dz  }|j                  |||||¬«       | j                  j                  «        y )Né   é
   r(   é–   ©Úangles)r   r   r	   r
   r   Ú	ones_likeÚrandomÚrandr   ÚcanvasÚdraw©r#   r   r   r   r   r   Úphis          r   Útest_no_warningsrN   U   s‰   € Ü�l‰l‹n�G€CˆÜ�;‰;”r—y‘y “}¤b§i¡i°£mÓ4�D€A€qÜ�L‰L˜‹OÐ€AˆÜ�9‰9�>‰>˜"˜bÓ! BÑ&¨#Ñ
-€CØ‡I�Iˆa��A�q €IÔ%Ø‡J�J‡O�OÕr   c                  ób  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      t        j                  |«      }}|j                  ||dd¬«       | j                  j                  «        y )NrC   r   )Ú
headlengthÚheadaxislength)
r   r   r	   r
   r   r   r   r   rJ   rK   )r#   r   r   r   r   r   s         r   Útest_zero_headlengthrR   ^   sr   € ô �l‰l‹n�G€CˆÜ�;‰;”r—y‘y “}¤b§i¡i°£mÓ4�D€A€qÜ�6‰6�!‹9”b—f‘f˜Q“i€q€AØ‡I�Iˆa�˜q°€IÔ3Ø‡J�J‡O�OÕr   zquiver_animated_test_image.pngc            
      ó€   — t        j                  «       \  } }t        |d¬«      }|j                  |ddddddd	i¬
«       y )NT)Úanimatedr(   r)   r   r*   r+   r,   r-   r.   )r   r   r   r1   ©r#   r   r   s      r   Útest_quiver_animaterV   h   sF   € ô �l‰l‹n�G€CˆÜ�B Ô&€AØ‡L�L��C˜˜qÐ"4Ø¨x¸Ð.@ð õ Br   zquiver_with_key_test_image.pngc                  ó¤   — t        j                  «       \  } }|j                  d«       t        |«      }|j	                  |dddddddd	d
dœ¬«	       y )Nçš™™™™™¹?r(   gffffffî?r   z"$2\, \mathrm{m}\, \mathrm{s}^{-1}$iöÿÿÿÚfigurer+   r-   Úlarge)r,   Úsize)ÚangleÚcoordinatesr/   r0   )r   r   Úmarginsr   r1   rU   s      r   Útest_quiver_with_keyr_   q   sS   € ä�l‰l‹n�G€CˆØ‡J�Jˆs„OÜ�B‹€AØ‡L�L��C˜˜qØ6ØØ%ØØ+1¸7Ñ Cð õ Er   zquiver_single_test_image.pngT)Úremove_textc                  ó„   — t        j                  «       \  } }|j                  d«       |j                  dgdgdgdg«       y )NrX   r   r   )r   r   r^   r   ©r#   r   s     r   Útest_quiver_singlerc   ~   s6   € ä�l‰l‹n�G€CˆØ‡J�Jˆs„OØ‡I�Iˆqˆc�A�3˜˜˜a˜SÕ!r   c                  ó  — t        j                  «       \  } }t        t        j                  dg«      t        j                  dg«      ¬«      }|j                  dgdg|d   |d   «      }d|d   d<   |j                  d   dk(  sJ ‚y )Nçš™™™™™ñ?g       @)ÚuÚvr   rf   rg   r   )r   r   Údictr	   Úarrayr   r   )r#   r   ÚuvÚq0s       r   Útest_quiver_copyrl   …   sr   € Ü�l‰l‹n�G€CˆÜ	”—‘˜#˜“¤2§8¡8¨S¨E£?Ô	3€BØ	�‰�A�3˜˜˜R ™W b¨¡gÓ	.€BØ€B€s�GˆA�JØ�4‰4�‰7�cŠ>Ð‰>r   zquiver_key_pivot.pngc                  ó"  — t        j                  «       \  } }t        j                  ddt        j                  z  d…ddt        j                  z  d…f   \  }}|j                  t        j                  |«      t        j                  |«      «      }|j                  dd«       |j                  dd«       |j                  |ddddd¬	«       |j                  |dddd
d
¬	«       |j                  |ddddd¬	«       |j                  |ddddd¬	«       y )Nr   r   y              $@éþÿÿÿé   r(   r   ÚN)r/   ÚEÚSr+   )r   r   r	   Úmgridr   r   r   r   Úset_xlimÚset_ylimr1   )r#   r   rf   rg   Úqs        r   Útest_quiver_key_pivotrw   �   sà   € ä�l‰l‹n�G€Cˆä�8‰8�A�aœŸ™‘g˜c�M 1 Q¤r§u¡u¡W¨S =Ð0Ñ1�D€A€qà
�	‰	”"—&‘&˜“)œRŸV™V A›YÓ'€AØ‡K�K��BÔØ‡K�K��BÔØ‡L�L��C˜˜A˜s¨S€LÔ1Ø‡L�L��A�s˜A˜s¨S€LÔ1Ø‡L�L��C˜˜A˜s¨S€LÔ1Ø‡L�L��A�s˜A˜s¨S€LÕ1r   zquiver_key_xy.pngc                  ó  — t        j                  d«      } t        j                  d«      }| t         j                  dz  z  }t        j                  d|z  «      }|j
                  }|j                  }t        j                  d«      \  }}t        |d«      D ]p  \  }}	|j                  dd«       |j                  dd«       |j                  | |||d	d
ddd
|	¬«
      }
t        dd«      D ]  \  }}|j                  |
|dd|dd¬«       Œ Œr y )Né   é   y              ð?r   )rj   Úxyéÿÿÿÿgš™™™™™É¿çš™™™™™É?Úmiddler{   gš™™™™™©?)ÚpivotÚunitsÚwidthÚscaleÚscale_unitsrF   )r}   r(   çš™™™™™é?)r   é-   éZ   r„   r   Ú Úb)r   r   r   r\   ÚlabelÚcolor)r	   r   Úzerosr   ÚexpÚrealÚimagr   r   Úziprt   ru   r   r1   )r   r   rF   rj   r   r   r#   Úaxsr   Ú	angle_strrv   Úxr\   s                r   Útest_quiver_key_xyr“   œ   sþ   € ô 	�	‰	�!‹€AÜ
�‰�‹€AØ”"—%‘%˜!‘)‰_€FÜ	�‰��V‘Ó	€BØ
�‰€AØ
�‰€AÜ�|‰|˜A‹�H€CˆÜ˜S ,Ó/ò O‰ˆˆIØ
�‰�B˜ÔØ
�‰�D˜#ÔØ�I‰I�a˜˜A˜q¨Ø ¨Ø¨4Ø&ð ó (ˆô ˜O¨[Ó9ò 	O‰HˆAˆuØ�L‰L˜˜a 3¨!°5ÀÈ#ˆLÕNñ	OñOr   zbarbs_test_image.pngc                  ó  — t        j                  ddd«      } t        j                  | | «      \  }}d|z  d|z  }}t        j                  «       \  }}|j                  ||||t        j                  ||«      ddt        ddd¬	«      d
¬«	       y )Néûÿÿÿé   é   TFç      Ð?r}   ç333333Ó?©Ú	emptybarbÚspacingÚheightÚviridis)Ú
fill_emptyÚroundingÚsizesÚcmap)r	   Úlinspacer
   r   r   ÚbarbsÚhypotrh   ©r’   r   r   r   r   r#   r   s          r   Ú
test_barbsr§   ´   s€   € ä
�‰�B˜˜1Ó€AÜ�;‰;�q˜!Ó�D€A€qØˆa‰4��A‘€q€AÜ�l‰l‹n�G€CˆØ‡H�HˆQ��1�aœŸ™ ! Q›°DÀ5Ü $°¸CÔ@Øð õ r   zbarbs_pivot_test_image.pngc                  ó  — t        j                  ddd«      } t        j                  | | «      \  }}d|z  d|z  }}t        j                  «       \  }}|j                  ||||dddt        ddd	¬
«      ¬«       |j                  ||dd¬«       y )Nr•   r–   r—   TFç333333û?r˜   r}   r™   rš   )rŸ   r    r   r¡   é1   Úblack)ÚsÚc)r	   r£   r
   r   r   r¤   rh   Úscatterr¦   s          r   Útest_barbs_pivotr¯   ¿   sˆ   € ä
�‰�B˜˜1Ó€AÜ�;‰;�q˜!Ó�D€A€qØˆa‰4��A‘€q€AÜ�l‰l‹n�G€CˆØ‡H�HˆQ��1�a D°5ÀÜ $°¸CÔ@ð ô Bà‡J�Jˆq�!�r˜W€JÕ%r   zbarbs_test_flip.pngc                  óø   — t        j                  ddd«      } t        j                  | | «      \  }}d|z  d|z  }}t        j                  «       \  }}|j                  ||||dddt        ddd	¬
«      |dk  ¬«	       y)z'Test barbs with an array for flip_barb.r•   r–   r—   TFr©   r˜   r}   r™   rš   r   )rŸ   r    r   r¡   Ú	flip_barbN)r	   r£   r
   r   r   r¤   rh   r¦   s          r   Útest_barbs_flipr²   Ê   s|   € ô 	�‰�B˜˜1Ó€AÜ�;‰;�q˜!Ó�D€A€qØˆa‰4��A‘€q€AÜ�l‰l‹n�G€CˆØ‡H�HˆQ��1�a D°5ÀÜ $°¸CÔ@Ø˜1‘uð õ r   c                  ó  — t        j                  «       \  } }t        j                  dg«      }t        j                  dg«      }|j	                  dgdg||«      }d|d<   |j
                  d   dk(  sJ ‚d|d<   |j                  d   dk(  sJ ‚y )Nre   gš™™™™™@r   r   )r   r   r	   ri   r¤   rf   rg   )r#   r   rf   rg   Úb0s        r   Útest_barb_copyrµ   Ö   s�   € Ü�l‰l‹n�G€CˆÜ
�‰�#�‹€AÜ
�‰�#�‹€AØ	�‰�1�#˜�s˜A˜qÓ	!€BØ€A€a�DØ�4‰4�‰7�cŠ>Ðˆ>Ø€A€a�DØ�4‰4�‰7�cŠ>Ð‰>r   c                  óR  — t        j                  d«      } t        j                  d«      }t         j                  j                  dt        j                  d«      z  «      }t         j                  j                  dt        j
                  |«      z  «      }t         j                  j                  |d<   t         j                  j                  |d<   t        j                  «       \  }}t        j                  t        «      5  |j                  | |||«       ddd«       y# 1 sw Y   yxY w)z=Test error handling when given differing sized masked arrays.r<   g      .@)rz   r   N)r	   r   Úmari   ÚonesrG   Úmaskedr   r   r7   r8   r=   r¤   )r’   Úyrf   rg   r#   r   s         r   Útest_bad_masked_sizesr»   á   s¾   € ä
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ
�‰�‰�Cœ"Ÿ'™' $›-Ñ'Ó(€AÜ
�‰�‰�Cœ"Ÿ,™, q›/Ñ)Ó*€AÜ�5‰5�<‰<€A€a�DÜ�5‰5�<‰<€A€a�DÜ�l‰l‹n�G€CˆÜ	�‰”zÓ	"ñ Ø
�‰��A�q˜!Ô÷÷ ñ ús   Ã?DÄD&c                  óX  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}}t        j                  j                  dd«      dz
  dz  }|j                  |||||d¬«       y )NrB   rC   r(   rD   r{   ©rF   rƒ   )	r   r   r	   r
   r   rG   rH   rI   r   rL   s          r   Útest_angles_and_scaler¾   î   s}   € ä�l‰l‹n�G€CˆÜ�;‰;”r—y‘y “}¤b§i¡i°£mÓ4�D€A€qÜ�L‰L˜‹OÐ€AˆÜ�9‰9�>‰>˜"˜bÓ! BÑ&¨#Ñ
-€CØ‡I�Iˆa��A�q °$€IÕ7r   zquiver_xy.pngc            	      óâ   — t        j                  t        d¬«      ¬«      \  } }|j                  ddddddd¬«       |j	                  dd«       |j                  dd«       |j                  «        y )	NÚequal)Úaspect)Ú
subplot_kwr   r   r{   )rF   rƒ   r‚   re   )r   r   rh   r   rt   ru   Úgridrb   s     r   Útest_quiver_xyrÄ   ÷   sZ   € ô �l‰l¤d°'Ô&:Ô;�G€CˆØ‡I�Iˆa��A�q °4¸q€IÔAØ‡K�K��3ÔØ‡K�K��3ÔØ‡G�G…Ir   c                  ó   — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}x}}|j                  |||||¬«      }|j                  |dddd«      }| j                  j                  «        t        |j                  «      dk(  sJ ‚y )Nr   rE   r   ÚLabel)r   r   r	   r
   r   rG   r   r1   rJ   rK   ÚlenÚverts)	r#   r   r   r   r   r   rF   rv   r2   s	            r   Útest_quiverkey_anglesrÉ     s    € ô �l‰l‹n�G€Cˆä�;‰;”r—y‘y “|¤R§Y¡Y¨q£\Ó2�D€A€qÜ—\‘\ !“_Ð$€AÐ$ˆˆFà
�	‰	�!�Q˜˜1 Vˆ	Ó,€AØ	�‰�a˜˜A˜q 'Ó	*€Bà‡J�J‡O�OÔÜˆr�x‰x‹=˜AÒÐÑr   c                  óF  — ddidddœddig} | D �]  }t        j                  t         j                   t         j                  d«      }t        j                  |«      t         j                  z  dz  }t        j                  |«      }t        j                  |«      }t        j                  «       }|j                  d¬«      } |j                  ||||fi |¤Ž}|j                  |d	d	d
d«      }	|j                  j                  «        t        |	j                  «      d
k(  r�ŒJ ‚ y )NrF   r{   r½   rƒ   ro   é   Úaitoff)Ú
projectionr   r   ú1 units)r	   r£   r   rG   Ú
zeros_liker   rY   Úadd_subplotr   r1   rJ   rK   rÇ   rÈ   )
Úkwargs_listÚkwargs_dictr’   rº   ÚvxÚvyr#   r   rv   r2   s
             r   Útest_quiverkey_angles_xy_aitoffrÕ     sö   € ð 
�4ÐØ¨Ñ-Ø	˜Ðð€Kð #ó "ˆä�K‰KœŸ™˜¤§¡ rÓ*ˆÜ�L‰L˜‹OœbŸe™eÑ# aÑ'ˆÜ�]‰]˜1ÓˆÜ�\‰\˜!‹_ˆä�j‰j‹lˆØ�_‰_¨ˆ_Ó1ˆØˆB�I‰I�a˜˜B Ñ2 kÑ2ˆØ�\‰\˜!˜Q  1 iÓ0ˆà�
‰
�‰ÔÜ�2—8‘8‹} Ô!Ð!Ð!ñ"r   c            	      ód  — ddidddœddig} | D ]Ÿ  }g d¢}g d¢}g d¢}g d¢}t        j                  «       \  }} |j                  ||||fi |¤Ž}|j                  |dd	d
dd¬«       |j                  |ddd
d«      }	|j                  j                  «        t        |	j                  «      d
k(  rŒŸJ ‚ y )NrF   r{   r½   rƒ   )r   r|   r   )r   r|   r   )r   r|   r   r™   re   r   zQuiver key, length = 1rq   )r   r   r   r‰   r/   r   rÎ   )r   r   r   r1   rJ   rK   rÇ   rÈ   )
rÑ   rÒ   r   r   r   r   r#   r   rv   r2   s
             r   Ú+test_quiverkey_angles_scale_units_cartesianr×   -  sË   € ð 
�4ÐØ¨Ñ-Ø	˜Ðð€Kð #ò "ˆÚˆÚˆÚˆÚˆä—,‘,“.‰ˆˆRØˆB�I‰I�a˜˜A˜qÑ0 KÑ0ˆØ
�‰�Q˜# ¨Ø3¸cð 	ô 	Cà�\‰\˜!˜Q  1 iÓ0ˆà�
‰
�‰ÔÜ�2—8‘8‹} Ó!Ð!Ð!ñ"r   c                  ó*  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}}|j                  ||||«      }|j                  dd«       y)zBCheck that it is possible to set all arrow UVC to the same numbersr   r   r   N)r   r   r	   r
   r   rG   r   Úset_UVC)r#   r   r   r   r   r   rv   s          r   Útest_quiver_setuvc_numbersrÚ   H  sj   € ô �l‰l‹n�G€Cˆä�;‰;”r—y‘y “|¤R§Y¡Y¨q£\Ó2�D€A€qÜ�L‰L˜‹OÐ€Aˆà
�	‰	�!�Q˜˜1Ó€AØ‡I�Iˆa�…Or   c                 óþ  — t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}d\  }}| j                  «       }|j	                  ||||d¬«      }	|j                  dd«       |j                  dd«       |€2|j                  |	d	d	d
ddd¬«       |j                  |	ddddddd¬«       y|j                  |	d	d	d
ddd|¬«       |j                  |	ddddddd|¬«	       y)z/Draw Quiver and QuiverKey using zorder argumentr   rË   ©r   r   r~   ©r   r(   ç      @Nrz   é   Údatar   Úblue©r]   r‰   rŠ   r   é   r   r†   ©r]   r‰   rŠ   r\   )r]   r‰   rŠ   Úzorder)r]   r‰   rŠ   r\   rå   )r	   r   r
   r   r   rt   ru   r1   )
r#   rå   r’   rº   r   r   r   r   r   rv   s
             r   Údraw_quiverkey_zorder_argumentræ   T  s  € ä
�	‰	�!�Q˜Ó€AÜ
�	‰	�!�Q˜Ó€AÜ�;‰;�q˜!Ó�D€A€qØ�D€A€qà	�‰‹€BØ
�	‰	�!�Q˜˜1 Hˆ	Ó-€AØ‡K�K��SÔØ‡K�K��SÔØ€~Ø
�‰�Q˜˜1˜b¨fØ fð 	ô 	.à
�‰�Q˜˜Q °Ø f°Bð 	õ 	8ð 	�‰�Q˜˜1˜b¨fØ f°Vð 	ô 	=à
�‰�Q˜˜Q °Ø f°B¸vð 	õ 	Gr   c           
      óÜ  — t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}d\  }}| j                  «       }|j	                  ||||d¬«      }	|j                  dd«       |j                  dd«       |j                  |	ddd	d
dd¬«      }
|j                  |	dddd
ddd¬«      }|�#|
j                  |«       |j                  |«       yy)z*Draw Quiver and QuiverKey using set_zorderr   rË   rÜ   r~   rÝ   r(   rÞ   rz   rß   rà   r   rá   râ   r   rã   r   r†   rä   N)	r	   r   r
   r   r   rt   ru   r1   Ú
set_zorder)r#   rå   r’   rº   r   r   r   r   r   rv   Úqk1Úqk2s               r   Údraw_quiverkey_setzorderrë   k  së   € ä
�	‰	�!�Q˜Ó€AÜ
�	‰	�!�Q˜Ó€AÜ�;‰;�q˜!Ó�D€A€qØ�D€A€qà	�‰‹€BØ
�	‰	�!�Q˜˜1 Hˆ	Ó-€AØ‡K�K��SÔØ‡K�K��SÔØ
�,‰,�q˜!˜Q °Ø ¨ð ó 0€Cà
�,‰,�q˜#˜q "°&Ø ¨°bð ó :€CàÐØ�‰�vÔØ�‰�vÕð r   rå   )r   r   r–   NÚpng)Ú
extensionsc                 ó8   — t        | |¬«       t        ||¬«       y )N)rå   )ræ   rë   )Úfig_testÚfig_refrå   s      r   Útest_quiverkey_zorderrñ     s   € ô # 8°FÕ;Ü˜W¨VÖ4r   r   )*Úplatformr    Únumpyr	   r7   Ú
matplotlibr   r   Úmatplotlib.testing.decoratorsr   r   r   ÚmarkÚskipifÚpython_implementationr&   r3   r:   r@   rN   rR   rV   r_   rc   rl   rw   r“   r§   r¯   r²   rµ   r»   r¾   rÄ   rÉ   rÕ   r×   rÚ   ræ   rë   Úparametrizerñ   © r   r   ú<module>rû      s0  ðÛ Û 
ã Û å $Ý :Ý =òð ‡�×ÑÐ2�H×2Ñ2Ó4¸	ÑAØ-ð ó /ñ
0ó/ð
0ð ‡�×ÑÐ2�H×2Ñ2Ó4¸	ÑAØ-ð ó /ñ
/ó/ð
/ò	%ò'ò*òñ Ð3Ð4Ó5ñBó 6ðBñ Ð3Ð4Ó5ñ	Eó 6ð	Eñ Ð1Ð2ÀÔEñ"ó Fð"òñ Ð)Ð*¸Ô=ñ2ó >ð2ñ Ð&Ð'°TÔ:ñOó ;ðOñ. Ð)Ð*¸Ô=ñó >ðñ Ð/Ð0¸dÔCñ&ó Dð&ñ Ð(Ð)°tÔ<ñó =ðòò
ò8ñ �?Ð#°Ô6ñó 7ðòò"ò:"ò6	óGó.ð( ‡�×Ñ˜¢?Ó3Ù  Ô(ñ5ó )ó 4ñ5r   