Ë
    v¹1h†  ã                   óò   — d dl m Z  ddlmZ ddlmZ  G d„ de «      Zdd„Zd„ Zd	„ Zd
„ Z	 ee	«      Z	d„ Z
d„ Z ee«      Zd„ Z ee«      Zd„ Z ee«      Zd„ Z ee«      Zd„ Z ee«      Z G d„ de«      Zy)é    )Úgreenleté   )ÚTestCase)Úfails_leakcheckc                   ó2   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZeZ	y)ÚgenletNc                 ó.   — || _         || _        d | _        y ©N)ÚargsÚkwdsÚchild)Úselfr   r   s      úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/greenlet/tests/test_generator_nested.pyÚ__init__zgenlet.__init__   s   € ØˆŒ	ØˆŒ	Øˆ�
ó    c                 óX   — | j                   \  } || j                  i | j                  ¤Ž y r
   )Úfnr   r   )r   r   s     r   Úrunz
genlet.run   s$   € ð �g‰g‰ˆÙ
ˆD�I‰IÐ#˜Ÿ™Ó#r   c                 ó   — | S r
   © ©r   s    r   Ú__iter__zgenlet.__iter__   s   € Øˆr   c                 ó   — || _         y r
   )r   )r   r   s     r   Ú	set_childzgenlet.set_child   s	   € Øˆ�
r   c                 ó  — | j                   rK| j                   }|j                   r"|}|j                   }d |_         |j                   rŒ"|j                  «       }n)t        j                  «       | _        | j                  «       }| r|S t
        ‚r
   )r   Úswitchr   Ú
getcurrentÚparentÚStopIteration)r   r   ÚtmpÚresults       r   Ú__next__zgenlet.__next__   sm   € Ø�:Š:Ø—J‘JˆEØ—+’+Ø�ØŸ™�Ø �”	ð —+“+ð
 —\‘\“^‰Fä"×-Ñ-Ó/ˆDŒKØ—[‘[“]ˆFáØˆMäÐr   )
Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r"   Únextr   r   r   r   r      s'   „ Ø€Fòò
$òòòð$ �Dr   r   c                 óü   — t        j                  «       }|dk7  rRt        |t        «      st	        d«      ‚|dkD  r|j
                  j                  |«       |j
                  }|dz  }|dk7  rŒR|j                  | «       y )Nr   zyield outside a genletr   )r   r   Ú
isinstancer   ÚRuntimeErrorr   r   r   )ÚvalueÚlevelÚgs      r   ÚYieldr-   -   sn   € Ü×ÑÓ€Aà
�1Š*Ü˜!œVÔ$ÜÐ7Ó8Ð8Ø�1Š9Ø�H‰H×Ñ˜qÔ!Ø�H‰HˆØ�‰
ˆð �1‹*ð ‡H�HˆU…Or   c                 ó*   ‡ —  G ˆ fd„dt         «      }|S )Nc                   ó   •— e Zd ZW ° fZy)úGenlet.<locals>.TheGenletN)r#   r$   r%   r   )Úfuncs   €r   Ú	TheGenletr0   <   s
   ø„ ÙˆW‰r   r2   )r   )r1   r2   s   ` r   ÚGenletr3   ;   s   ø€ ö”Fô àÐr   c              #   ó\   K  — t        | «      D ]  }|j                  |dz   «       |–— Œ y ­w©Nr   )ÚrangeÚappend©ÚnÚseenÚis      r   Úg1r<   C   s.   è ø€ Ü�1‹Xò ˆØ�‰�A˜‘EÔØ‹ñùs   ‚*,c                 ób   — t        | «      D ]!  }|j                  |dz   «       t        |«       Œ# y r5   )r6   r7   r-   r8   s      r   Úg2r>   I   s,   € Ü�1‹Xò ˆØ�‰�A˜‘EÔÜˆa�ñr   c                 ó   — t        | «       y r
   )r-   )r;   s    r   Únestedr@   Q   s	   € Ü	ˆ!…Hr   c                 ób   — t        | «      D ]!  }|j                  |dz   «       t        |«       Œ# y r5   )r6   r7   r@   r8   s      r   Úg3rB   U   s,   € Ü�1‹Xò ˆØ�‰�A˜‘EÔÜˆq�	ñr   c                 ób   — | dk(  ry t        | dz
  «      D ]  }t        |«       Œ t        | «       y )Nr   r   )Úaxr-   ©r9   Úiis     r   ÚarG   \   s1   € ØˆA‚vØÜ��Q‘‹iò ˆÜˆb�	ðä	ˆ!…Hr   c                 óÔ   — t        | «      dkD  rE| D ]?  }t        | D �cg c]
  }||k7  sŒ	|‘Œ c}«      D �cg c]  }t        |g|z   «      ‘Œ }}|rŒ?J ‚ y t        | «       y c c}w c c}w r5   )ÚlenÚpermsr-   )ÚlÚeÚxÚps       r   rJ   rJ   e   sh   € Ü
ˆ1ƒv�‚zØò 	ˆAä).¸1Ö/G°aÀÀQÃ²Ò/GÓ)HÖI A”˜�s˜Q‘w•ÐIˆAÐIÚˆH�1ñ	ô
 	ˆa�ùò 0HùÒIs   �
A 
¨A 
µA%c                 óZ   — t        d| «      D ]  }t        |«       t        ||z  d«       Œ y )Nr   é   )r6   r-   rE   s     r   Úgr1rQ   p   s,   € Ü�A�q‹kò ˆÜˆbŒ	Üˆb�2‰g�qÕñr   c                 óF   — t        | «      D ]  }|j                  |«       Œ y r
   )rQ   r7   )r9   r:   rF   s      r   Úgr2rS   x   s    € Ü�!‹fò ˆØ�‰�B�ñr   c                   ó4   — e Zd Zd„ Zed„ «       Zd„ Zd„ Zd„ Zy)ÚNestedGeneratorTestsc                 ót   — g }t        d|«      D ]  }|j                  |«       Œ | j                  |g d¢«       y )Né   )r   r   rP   é   é   é	   rX   é   )rS   r7   ÚassertEqual©r   r:   rF   s      r   Útest_layered_genletsz)NestedGeneratorTests.test_layered_genlets€   s8   € ØˆÜ�a˜“,ò 	ˆBØ�K‰K˜�Oð	à×Ñ˜Ò8Õ9r   c                 ó  — t        t        t        d«      «      «      }t        |«      }| j                  t	        |«      d«       | j                  g d¢|«       | j                  g d¢|«       g }t        t        t        t        d«      «      «      t        t        t        d«      «      «      «      D ]  }|j                  |«       Œ | j                  |g d¢g d¢fg d¢g d¢fg d	¢g d
¢fg d¢g d¢fg d¢g d¢fg d¢g d¢fg«       y )NrX   é   )r   r   rP   rY   )rY   rP   r   r   rY   )r   r   rP   )r   r   rY   rP   )r   rP   r   )r   rP   r   rY   )r   r   rP   )r   rP   rY   r   )r   rP   r   )r   rY   r   rP   )rP   r   r   )r   rY   rP   r   )rP   r   r   )rJ   Úlistr6   r\   rI   ÚassertInÚzipr7   )r   Ú	gen_permsÚpermutationsÚresrF   s        r   Útest_permutationsz&NestedGeneratorTests.test_permutations†   sÓ   € äœ$œu Q›x›.Ó)ˆ	Ü˜I“ˆØ×Ñœ˜\Ó*¨MÔ:Ø�‰’l LÔ1Ø�‰’l LÔ1ØˆÜ”eœD¤ q£›NÓ+¬U´4¼¸a»³>Ó-BÓCò 	ˆBØ�J‰J�r�Nð	à×ÑØÚšIÐ&ª²yÐ(AÚšIÐ&ª²yÐ(AÚšIÐ&ª²yÐ(AðCõ	Dr   c                 óÀ   — t         t        t        fD ]J  }g }t        d«      D ]!  } |d|«      D ]  }|j	                  |«       Œ Œ# | j                  |dg d¢z  «       ŒL y )NrY   rW   )
r   r   rP   r   rY   rP   rX   rY   rW   rX   )r<   r>   rB   r6   r7   r\   )r   r,   r:   Ú_Újs        r   Útest_genlet_simplez'NestedGeneratorTests.test_genlet_simple—   si   € Ü”Rœ�ò 	GˆAØˆDÜ˜1“Xò #�Ù˜1˜d›ò #�AØ—K‘K •Nñ#ð#ð ×Ñ˜T 1Ò'EÑ#EÕFñ	Gr   c                 ó:   — 	 t        d«       y # t        $ r Y y w xY w)Né
   )r-   r)   r   s    r   Útest_genlet_badz$NestedGeneratorTests.test_genlet_badŸ   s    € ð	Ü�"�IøÜò 	Ùð	ús   ‚ Ž	™c                 óJ   — g }t        d«      D ]  }|j                  |«       Œ y )NrW   )rD   r7   r]   s      r   Útest_nested_genletsz(NestedGeneratorTests.test_nested_genlets¥   s%   € ØˆÜ�Q“%ò 	ˆBØ�K‰K˜�Oñ	r   N)	r#   r$   r%   r^   r   rg   rk   rn   rp   r   r   r   rU   rU      s-   „ ò:ð ñDó ðDò Gòór   rU   N)r   )r   Ú r   Ú	leakcheckr   r   r-   r3   r<   r>   r@   rB   rG   rD   rJ   rQ   rS   rU   r   r   r   ú<module>rs      s›   ðå Ý Ý &ô%ˆXô %óNòòòñ
 ˆBƒZ€òòñ ˆBƒZ€òñ ˆAƒY€òñ 	ˆu‹€òñ
 ˆSƒk€òñ ˆSƒk€ô)˜8õ )r   