§
    ‚Øjl  ã                   ó’   — d dl Z d dlmZ d dlZd dlmZ d dlZ	d dl
Z
d dlmZ d„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )é    N)ÚStringIO)Úcyclerc                  ó2  — t          j        ¦   «         \  } }|                     t          dg d¢¦  «        ¦  «         t	          d¦  «        D ]2}|                     t	          d¦  «        t	          d¦  «        ¦  «         Œ3d„ |j        D ¦   «         g d¢k    sJ ‚d S )NÚcolor©ÚrÚgÚyé   é
   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS © ©Ú	get_color©Ú.0Úls     ú‘/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_cycles.pyú
<listcomp>z)test_colorcycle_basic.<locals>.<listcomp>   ó    € Ð,Ð,Ð,˜aˆA�KŠK‰MŒMÐ,Ð,Ð,ó    ©r   r	   r
   r   ©ÚpltÚsubplotsÚset_prop_cycler   ÚrangeÚplotÚlines©ÚfigÚaxÚ_s      r   Útest_colorcycle_basicr$      s™   € ÝŒl‰nŒn�G€CˆØ×Ò•f˜W o o oÑ6Ô6Ñ7Ô7Ð7Ý�1‰XŒXð &ð &ˆØ
�Š•�b‘	”	�5 ™9œ9Ñ%Ô%Ð%Ð%Ø,Ð, 2¤8Ð,Ñ,Ô,Ð0DÐ0DÐ0DÒDÐDÐDÐDÐDÐDr   c                  óŠ  — t          j        ¦   «         \  } }|                     t          dg d¢¦  «        t          dg d¢¦  «        z   ¦  «         t	          d¦  «        D ]2}|                     t	          d¦  «        t	          d¦  «        ¦  «         Œ3d„ |j        D ¦   «         g d¢k    sJ ‚d	„ |j        D ¦   «         g d
¢k    sJ ‚d S )NÚcr   Úmarker©ú.Ú*Úxr   r   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   r   r   s     r   r   z%test_marker_cycle.<locals>.<listcomp>   r   r   r   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   ©Ú
get_markerr   s     r   r   z%test_marker_cycle.<locals>.<listcomp>   ó    € Ð-Ð-Ð-˜qˆA�LŠL‰NŒNÐ-Ð-Ð-r   ©r)   r*   r+   r)   r   r    s      r   Útest_marker_cycler2      sÝ   € ÝŒl‰nŒn�G€CˆØ×Ò•f˜S / / /Ñ2Ô2Ý˜X   Ñ7Ô7ñ8ñ 9ô 9ð 9å�1‰XŒXð &ð &ˆØ
�Š•�b‘	”	�5 ™9œ9Ñ%Ô%Ð%Ð%Ø,Ð, 2¤8Ð,Ñ,Ô,Ð0DÐ0DÐ0DÒDÐDÐDÐDØ-Ð- B¤HÐ-Ñ-Ô-Ð1EÐ1EÐ1EÒEÐEÐEÐEÐEÐEr   c                  ó|   — t          j        ¦   «         \  } }|                     t          g d¢¬¦  «        ¦  «         d S )N)é   ú+r)   r   )r'   )r   r   r   r   ©r!   r"   s     r   Útest_valid_marker_cyclesr7      s=   € ÝŒl‰nŒn�G€CˆØ×Ò•fÐ$4Ð$4Ð$4Ð5Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6r   c                  óŽ  — t          j        ¦   «         \  } }|                     t          j        g d¢¦  «        t          g d¢¦  «        ¬¦  «         t          d¦  «        D ]2}|                     t          d¦  «        t          d¦  «        ¦  «         Œ3d„ |j        D ¦   «         g d¢k    sJ ‚d„ |j        D ¦   «         g d	¢k    sJ ‚d S )
Nr   r(   )r&   r'   r   r   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   r   r   s     r   r   z=test_marker_cycle_kwargs_arrays_iterators.<locals>.<listcomp>)   r   r   r   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   r.   r   s     r   r   z=test_marker_cycle_kwargs_arrays_iterators.<locals>.<listcomp>*   r0   r   r1   )	r   r   r   ÚnpÚarrayÚiterr   r   r   r    s      r   Ú)test_marker_cycle_kwargs_arrays_iteratorsr>   #   sÛ   € ÝŒl‰nŒn�G€CˆØ×Ò�œ   Ñ1Ô1Ý! / / /Ñ2Ô2ð ñ 4ô 4ð 4å�1‰XŒXð &ð &ˆØ
�Š•�b‘	”	�5 ™9œ9Ñ%Ô%Ð%Ð%Ø,Ð, 2¤8Ð,Ñ,Ô,Ð0DÐ0DÐ0DÒDÐDÐDÐDØ-Ð- B¤HÐ-Ñ-Ô-Ð1EÐ1EÐ1EÒEÐEÐEÐEÐEÐEr   c                  ó2  — t          j        ¦   «         \  } }|                     t          dg d¢¦  «        ¦  «         t	          d¦  «        D ]2}|                     t	          d¦  «        t	          d¦  «        ¦  «         Œ3d„ |j        D ¦   «         g d¢k    sJ ‚d S )NÚls©ú-ú--ú:r   r   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   ©Úget_linestyler   s     r   r   z-test_linestylecycle_basic.<locals>.<listcomp>2   ó"   € Ð0Ð0Ð0 !ˆA�OŠOÑÔÐ0Ð0Ð0r   ©rB   rC   rD   rB   r   r    s      r   Útest_linestylecycle_basicrJ   -   sœ   € ÝŒl‰nŒn�G€CˆØ×Ò•f˜TÐ#3Ð#3Ð#3Ñ4Ô4Ñ5Ô5Ð5Ý�1‰XŒXð &ð &ˆØ
�Š•�b‘	”	�5 ™9œ9Ñ%Ô%Ð%Ð%Ø0Ð0 r¤xÐ0Ñ0Ô0Ð4IÐ4IÐ4IÒIÐIÐIÐIÐIÐIr   c                  óò  — t          j        ¦   «         \  } }|                     t          dg d¢¦  «        t          dg d¢¦  «        z   t          dg d¢¦  «        z   ¦  «         t	          d¦  «        D ]2}|                     t	          d¦  «        t	          d¦  «        ¦  «         Œ3d	„ |j        D ¦   «         d
„ dD ¦   «         k    sJ ‚d„ |j        D ¦   «         g d¢k    sJ ‚d„ |j        D ¦   «         g d¢k    sJ ‚d S )Nr&   r   Úhatch©ÚxxÚOú|-Ú	linestylerA   r   r   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   ©Úget_facecolor©r   Úps     r   r   z(test_fillcycle_basic.<locals>.<listcomp><   ó"   € Ð3Ð3Ð3 1ˆQ�_Š_ÑÔÐ3Ð3Ð3r   c                 óL   — g | ]!}t           j                             |¦  «        ‘Œ"S r   ©ÚmplÚcolorsÚto_rgba©r   r&   s     r   r   z(test_fillcycle_basic.<locals>.<listcomp>=   ó(   € ÐDÐDÐD¨!•”
×"Ò" 1Ñ%Ô%ÐDÐDÐDr   r   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   ©Ú	get_hatchrU   s     r   r   z(test_fillcycle_basic.<locals>.<listcomp>>   ó    € Ð.Ð.Ð.˜aˆA�KŠK‰MŒMÐ.Ð.Ð.r   )rN   rO   rP   rN   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   rF   rU   s     r   r   z(test_fillcycle_basic.<locals>.<listcomp>?   ó"   € Ð2Ð2Ð2 !ˆA�OŠOÑÔÐ2Ð2Ð2r   rI   ©r   r   r   r   r   ÚfillÚpatchesr    s      r   Útest_fillcycle_basicrh   5   s8  € ÝŒl‰nŒn�G€CˆØ×Ò•f˜S ? ? ?Ñ3Ô3Ý˜WÐ&7Ð&7Ð&7Ñ8Ô8ñ9å˜[Ð*:Ð*:Ð*:Ñ;Ô;ñ<ñ =ô =ð =õ �1‰XŒXð &ð &ˆØ
�Š•�b‘	”	�5 ™9œ9Ñ%Ô%Ð%Ð%Ø3Ð3¨¬
Ð3Ñ3Ô3ØDÐDÐ/CÐDÑDÔDòEð Eð Eð Eà.Ð. 2¤:Ð.Ñ.Ô.Ð2IÐ2IÐ2IÒIÐIÐIÐIØ2Ð2 r¤zÐ2Ñ2Ô2Ð6KÐ6KÐ6KÒKÐKÐKÐKÐKÐKr   c                  ó  — t          j        ¦   «         \  } }|                     t          dg d¢¦  «        t          dg d¢¦  «        z   t          dg d¢¦  «        z   ¦  «         t	          d¦  «        }|                     ||dd	¬
¦  «         |                     ||d¬
¦  «         |                     ||¦  «         |                     ||¦  «         d„ |j        D ¦   «         d„ dD ¦   «         k    sJ ‚d„ |j        D ¦   «         g d¢k    sJ ‚d S )Nr   r   rL   rM   r'   )r)   r*   ÚDr   r   rN   )rL   rO   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   rS   rU   s     r   r   z)test_fillcycle_ignore.<locals>.<listcomp>P   rW   r   c                 óL   — g | ]!}t           j                             |¦  «        ‘Œ"S r   rY   r]   s     r   r   z)test_fillcycle_ignore.<locals>.<listcomp>Q   r^   r   )r   r   r	   r
   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   r`   rU   s     r   r   z)test_fillcycle_ignore.<locals>.<listcomp>R   rb   r   )rN   rO   rO   rP   re   )r!   r"   Úts      r   Útest_fillcycle_ignorero   B   s6  € ÝŒl‰nŒn�G€CˆØ×Ò•f˜W   Ñ7Ô7Ý˜WÐ&7Ð&7Ð&7Ñ8Ô8ñ9å˜X   Ñ7Ô7ñ8ñ 9ô 9ð 9õ 	ˆb‰	Œ	€Að ‡G‚GˆAˆq�#˜T€GÑ"Ô"Ð"à‡G‚GˆAˆq˜€GÑÔÐØ‡G‚GˆAˆq�M„M€MØ‡G‚GˆAˆq�M„M€MØ3Ð3¨¬
Ð3Ñ3Ô3ØDÐDÐ/CÐDÑDÔDòEð Eð Eð Eà.Ð. 2¤:Ð.Ñ.Ô.Ð2HÐ2HÐ2HÒHÐHÐHÐHÐHÐHr   c                  ó`  — t          j        ¦   «         \  } }|                     dddg¦  «         t          d¦  «        }t          dd¦  «        D ]}|                     ||d¬¦  «         Œ|                     ||¦  «         |                     ||¦  «         d„ |j        D ¦   «         g d	¢k    sJ ‚d S )
NÚ	linewidthé   r   r   r4   çš™™™™™¹?©Úlwc                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   ©Úget_linewidthr   s     r   r   z0test_property_collision_plot.<locals>.<listcomp>]   rH   r   )rs   rs   rs   rr   r   )r   r   r   r   r   r   ©r!   r"   rn   r&   s       r   Útest_property_collision_plotrz   U   s¸   € ÝŒl‰nŒn�G€CˆØ×Ò�k A q 6Ñ*Ô*Ð*Ýˆb‰	Œ	€AÝ�1�a‰[Œ[ð ð ˆØ
�Š��1˜ˆÑÔÐÐØ‡G‚GˆAˆq�M„M€MØ‡G‚GˆAˆq�M„M€MØ0Ð0 r¤xÐ0Ñ0Ô0Ð4IÐ4IÐ4IÒIÐIÐIÐIÐIÐIr   c                  ó¤  — t          j        ¦   «         \  } }|                     g d¢d¬¦  «         t          d¦  «        }t          dd¦  «        D ]}|                     ||d¬¦  «         Œ|                     ||¦  «         |                     ||¦  «         d	„ |j        D ¦   «         d
„ dD ¦   «         k    sJ ‚d„ |j        D ¦   «         g d¢k    sJ ‚d S )N)rr   é   r   é   é   Úbgcmy)rq   Ú	facecolorr   r4   r   rs   rt   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   rS   rU   s     r   r   z0test_property_collision_fill.<locals>.<listcomp>h   rW   r   c                 óL   — g | ]!}t           j                             |¦  «        ‘Œ"S r   rY   r]   s     r   r   z0test_property_collision_fill.<locals>.<listcomp>i   s(   € Ð7Ð7Ð7¨!•”
×"Ò" 1Ñ%Ô%Ð7Ð7Ð7r   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   rw   rU   s     r   r   z0test_property_collision_fill.<locals>.<listcomp>j   rd   r   )rs   rs   rs   r}   r~   )r   r   r   r   rf   rg   ry   s       r   Útest_property_collision_fillr„   `   só   € ÝŒl‰nŒn�G€CˆØ×Ò   ¸7ÐÑCÔCÐCÝˆb‰	Œ	€AÝ�1�a‰[Œ[ð ð ˆØ
�Š��1˜ˆÑÔÐÐØ‡G‚GˆAˆq�M„M€MØ‡G‚GˆAˆq�M„M€MØ3Ð3¨¬
Ð3Ñ3Ô3Ø7Ð7¨wÐ7Ñ7Ô7ò8ð 8ð 8ð 8à2Ð2 r¤zÐ2Ñ2Ô2Ð6KÐ6KÐ6KÒKÐKÐKÐKÐKÐKr   c            	      óL  — t          j        ¦   «         \  } }|                     d ¦  «         |                     t          dddg¦  «        ¦  «         |                     dd¦  «         |                     dd¦  «         |                     dddg¦  «         |                     dt	          ddg¦  «        ¦  «         |                     dt          j        ddg¦  «        ¦  «         |                     dt          j        g d¢g d	¢g d
¢g¦  «        ¦  «         |                     dg ddgg d¢g¦  «         |                     ddgddgddg¬¦  «         |                     t          j        ddg¦  «        t          j        ddg¦  «        t          j        ddg¦  «        ¬¦  «         d S )Nrq   r4   rr   r   Úrgywkbcmru   )r4   rr   )r4   r   r   )r   r4   r   )r   r   r4   Údashesé   )é   r|   r4   r|   ÚkÚwrB   rC   )ru   r   r@   )r   r   r   r   r=   r;   r<   r6   s     r   Útest_valid_input_formsrŒ   m   s¹  € ÝŒl‰nŒn�G€Cˆà×Ò�dÑÔÐØ×Ò•f˜[¨1¨a¨&Ñ1Ô1Ñ2Ô2Ð2Ø×Ò�g˜zÑ*Ô*Ð*Ø×Ò�d˜FÑ#Ô#Ð#Ø×Ò�k A q 6Ñ*Ô*Ð*Ø×Ò�k¥4¨¨A¨¡<¤<Ñ0Ô0Ð0Ø×Ò�k¥2¤8¨Q°¨FÑ#3Ô#3Ñ4Ô4Ð4Ø×Ò�g�rœx¨¨¨Ø)2¨¨Ø)2¨¨ð)4ñ  5ô  5ñ 6ô 6ð 6ð ×Ò�h  b¨! W¨l¨l¨lÐ ;Ñ<Ô<Ð<Ø×Ò˜!˜Q˜¨¨S z°s¸D°kÐÑBÔBÐBØ×Ò�œ 1 a &Ñ)Ô)ÝœH c¨3 ZÑ0Ô0Ýœ 3¨ +Ñ.Ô.ð ñ 0ô 0ð 0ð 0ð 0r   c                  ó¾  — t          j        ¦   «         \  } }t          ¦   «         }t          ¦   «         }t          ¦   «         }t          j        |¦  «        5  t          j        |                     ddgd¬¦  «        d         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     g d¢¬¦  «         t          j        |¦  «        5  t          j        |                     ddgd¬¦  «        d         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         |                     ¦   «         k    sJ ‚|                     d ¦  «         t          j        |¦  «        5  t          j        |                     ddgd¬¦  «        d         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         |                     ¦   «         k    sJ ‚d S )Nr4   rr   Úlabel)rŽ   r   )r   é	   r   )rq   )	r   r   r   Ú
contextlibÚredirect_stdoutÚgetpr   r   Úgetvalue)r!   r"   Úprop0Úprop1Úprop2s        r   Útest_cycle_resetr—   �   sZ  € ÝŒl‰nŒn�G€CˆÝ‰JŒJ€EÝ‰JŒJ€EÝ‰JŒJ€Eå	Ô	# EÑ	*Ô	*ð 4ð 4ÝŒ�—’˜!˜Q˜ w�Ñ/Ô/°Ô2Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð ×Ò 
 
 
ÐÑ+Ô+Ð+Ý	Ô	# EÑ	*Ô	*ð 4ð 4ÝŒ�—’˜!˜Q˜ w�Ñ/Ô/°Ô2Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4à�>Š>ÑÔ˜uŸ~š~Ñ/Ô/Ò/Ð/Ð/Ð/à×Ò�dÑÔÐÝ	Ô	# EÑ	*Ô	*ð 4ð 4ÝŒ�—’˜!˜Q˜ w�Ñ/Ô/°Ô2Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4à�>Š>ÑÔ˜uŸ~š~Ñ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/s6   Á2BÂBÂBÃ
2DÄDÄDÅ(2F&Æ&F*Æ-F*c                  ó†  — t          j        ¦   «         \  } }t          j        t          t
          f¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t
          f¦  «        5  |                     ddg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t
          f¦  «        5  |                     dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t
          f¦  «        5  |                     dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t
          f¦  «        5  |                     dddh¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t
          f¦  «        5  |                     dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t
          f¦  «        5  |                     dddg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t
          f¦  «        5  |                     ddg¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t
          f¦  «        5  |                     t          ddg¬	¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          ¦  «        5  |                     t          d
d¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr4   rr   r   Úfishrq   r   )rq   r   Úfoobar)rš   ÚrgbÚcmy)r   r&   )r   r   ÚpytestÚraisesÚ	TypeErrorÚ
ValueErrorr   r   r6   s     r   Útest_invalid_input_formsr¡   •   sK  € ÝŒl‰nŒn�G€Cˆå	Œ�	¥:Ð.Ñ	/Ô	/ð ð Ø
×Ò˜!ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ�	¥:Ð.Ñ	/Ô	/ð "ð "Ø
×Ò˜1˜a˜&Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ 
Œ�	¥:Ð.Ñ	/Ô	/ð +ð +Ø
×Ò˜' 6Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ 
Œ�	¥:Ð.Ñ	/Ô	/ð *ð *Ø
×Ò˜+ qÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *å	Œ�	¥:Ð.Ñ	/Ô	/ð /ð /Ø
×Ò˜+¨¨1 vÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /å	Œ�	¥:Ð.Ñ	/Ô	/ð 2ð 2Ø
×Ò A¨SÐÑ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ 
Œ�	¥:Ð.Ñ	/Ô	/ð ,ð ,Ø
×Ò˜( Q¨ FÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,å	Œ�	¥:Ð.Ñ	/Ô	/ð )ð )Ø
×Ò ! Q ÐÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ 
Œ�	¥:Ð.Ñ	/Ô	/ð 1ð 1Ø
×Ò�&¨¨A¨Ð/Ñ/Ô/Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1å	Œ•zÑ	"Ô	"ð 8ð 8Ø
×Ò�& u°Ð6Ñ6Ô6Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s³   ·AÁAÁ AÂB(Â(B,Â/B,ÃC6Ã6C:Ã=C:Ä!EÅEÅEÅ/FÆFÆFÆ?G#Ç#G'Ç*G'ÈH3È3H7È:H7ÉJÊJÊ
JÊ.&K Ë K$Ë'K$Ì%L6Ì6L:Ì=L:)r�   Úior   Ú
matplotlibrZ   Úmatplotlib.pyplotÚpyplotr   Únumpyr;   r�   r   r$   r2   r7   r>   rJ   rh   ro   rz   r„   rŒ   r—   r¡   r   r   r   ú<module>r§      s>  ðØ Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð ðEð Eð EðFð Fð Fð7ð 7ð 7ð
Fð Fð FðJð Jð Jð
Lð 
Lð 
LðIð Ið Ið&Jð Jð Jð
Lð 
Lð 
Lð0ð 0ð 0ð(0ð 0ð 0ð(8ð 8ð 8ð 8ð 8r   