Ë
    7^(hŸ  ã                   óV   — d Z ddlmZ ddlmZmZ efd„Zefd„Zefd„Zefd„Z	efd„Z
y	)
zStrategies to Traverse a Tree.é    )Ú	basic_fns)ÚchainÚdo_onec                 ó&   ‡ ‡— t        ‰ ˆˆ fd„«      S )z;Apply a rule down a tree running it on the top nodes first.c                 ó<   •—  t        t        ‰‰«      ‰«      | «      S ©N©ÚsallÚtop_down©ÚexprÚfnsÚrules    €€úW/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/strategies/traverse.pyú<lambda>ztop_down.<locals>.<lambda>   s   ø€ Ð$B¤D¬°$¸Ó)<¸cÓ$BÀ4Ó$H€ ó    ©r   ©r   r   s   ``r   r   r      s   ù€ ä�ÔHÓIÐIr   c                 ó&   ‡ ‡— t        ˆˆ fd„‰ «      S )z>Apply a rule down a tree running it on the bottom nodes first.c                 ó<   •—  t        t        ‰‰«      ‰«      | «      S r   ©r
   Ú	bottom_upr   s    €€r   r   zbottom_up.<locals>.<lambda>   s   ø€ Ð=œd¤9¨T°3Ó#7¸Ó=¸dÓC€ r   r   r   s   ``r   r   r      s   ù€ äÔCÀTÓJÐJr   c                 ó&   ‡ ‡— t        ‰ ˆˆ fd„«      S )z+Apply a rule down a tree - stop on success.c                 ó<   •—  t        t        ‰‰«      ‰«      | «      S r   r	   r   s    €€r   r   ztop_down_once.<locals>.<lambda>   s   ø€ Ð%C¤T¬(°4¸Ó*=¸sÓ%CÀDÓ%I€ r   ©r   r   s   ``r   Útop_down_oncer      s   ù€ ä�$ÔIÓJÐJr   c                 ó&   ‡ ‡— t        ˆˆ fd„‰ «      S )z)Apply a rule up a tree - stop on success.c                 ó<   •—  t        t        ‰‰«      ‰«      | «      S r   r   r   s    €€r   r   z bottom_up_once.<locals>.<lambda>   s   ø€ Ð>œt¤I¨d°CÓ$8¸#Ó>¸tÓD€ r   r   r   s   ``r   Úbottom_up_oncer      s   ù€ äÔDÀdÓKÐKr   c                 óX   ‡ ‡‡‡‡— t        |j                  d«      \  ŠŠŠŠˆˆˆˆˆ fd„}|S )z#Strategic all - apply rule to args.)ÚopÚnewÚchildrenÚleafc                 óZ   •—  ‰| «      r| S t        ‰ ‰| «      «      } ‰ ‰| «      g|¢­Ž S r   )Úmap)r   Úargsr#   r$   r"   r!   r   s     €€€€€r   Úall_rlzsall.<locals>.all_rl   s3   ø€ Ù�Œ:ØˆKä�t™X d›^Ó,ˆDÙ‘r˜$“xÐ' $Ò'Ð'r   )r&   Úget)r   r   r(   r#   r$   r"   r!   s   `  @@@@r   r
   r
      s.   ü€ ä! #§'¡'Ð+LÓMÑ€BˆˆX�t÷(ð (ð €Mr   N)Ú__doc__Úsympy.strategies.utilr   Úsympy.strategies.corer   r   r   r   r   r   r
   © r   r   ú<module>r.      sD   ðÙ $Ý +ß /ð !ó Jð
 "ó Kð
 &ó Kð
 'ó Lð
 ô r   