ó
    ‰*£hu  ã                   ó*   • S SK Jr  S SKJr  S SKrS rg)é    )ÚBasic)ÚpprintNc           
      ó�   ^^^^	^
^^^^^• Su  mm	Su  mmSu  nm
Su  mnSu  p4Su  nmSmU4S jmUUUU	U
UUUUU4
S	 jmT" U S
5      $ )z6Traverse a tree asking a user which branch to choose. )z[0;31mz[1;31m)z[0;32mz[1;32m)z[0;33mz[1;33m)z[0;34mz[1;34m)z[0;35mz[1;35m)z[0;36mz[1;36mz[0mc                  ó\   >• [        SR                  [        [        U 5      5      T-   5        g )NÚ )ÚprintÚjoinÚmapÚstr)ÚargsÚENDs    €ÚX/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/interactive/traversal.pyÚcprintÚ%interactive_traversal.<locals>.cprint   s   ø€ Üˆb�g‰g”cœ#˜t“nÓ%¨Ñ+Õ,ó    c                 ó´  >
• US:”  a
  [        5         T" STUTS5        [        T	5        [        U 5        [        T5        [        U [        5      (       aQ  U R                  (       a  U R                  5       nONU R                  (       a  U R                  5       nO,U R                  nO[        U S5      (       a  [        U 5      nOU $ [        U5      nU(       d  U $ [        U5       H3  u  pET" TST
UTST[        U5      T5	        [        U5        [        5         M5     US:X  a  SnOS	US-
  -  n [        S
U-  5      nUS:X  a:  T" TSU-  5        T" TS5        T" TS5        T" TS5        T" TS5        T" X5      nU$ US;   a  U nU$ US:X  a  T" US   US-   5      nU$ US:X  a  T" US   US-   5      nU$ US:X  a"  T" [        R                   " U5      US-   5      nU$  [#        U5      nUS:  d  Xs:¼  a  T" TSU-  5        T" X5      nU$ T" X'   US-   5      n U$ ! [$         a    T" TSU-  5        T" X5      n U$ f = f! [&         a    U n[        5          U$ f = f)Nr   zCurrent expression (stage z):Ú__iter__Ú[z] é   Ú0z0-%dzYour choice [%s,f,l,r,d,?]: Ú?z.%s - select subexpression with the given indexz"f - select the first subexpressionz!l - select the last subexpressionz!r - select a random subexpressionz	d - done
)Údr   ÚfÚléÿÿÿÿÚrzChoice must be in %s range
z$Choice must be a number in %s range
)r   r   Ú
isinstancer   Úis_AddÚas_ordered_termsÚis_MulÚas_ordered_factorsr   ÚhasattrÚlistÚlenÚ	enumerateÚtypeÚinputÚrandomÚchoiceÚintÚ
ValueErrorÚEOFError)ÚexprÚstager   Ún_argsÚiÚargÚchoicesr)   ÚresultÚBCYANÚBGREENÚBLUEÚBREDÚBYELLOWr   ÚGREENÚREDÚ_interactive_traversalr   s            €€€€€€€€€€r   r;   Ú5interactive_traversal.<locals>._interactive_traversal   s�  ø€ Ø�1‹9ÜŒGáÐ+¨W°e¸SÀ$ÔGÜˆeŒÜˆtŒÜˆcŒ
ä�dœE×"Ñ"Ø�{�{Ø×,Ñ,Ó.‘Ø——Ø×.Ñ.Ó0‘à—y‘y‘Ü�T˜:×&Ñ&Ü˜“:‰DàˆKä�T“ˆæØˆKä –o‰FˆAÙ�5˜#˜v q¨%°°t¼TÀ#»YÈÔLÜ�3ŒKÜŽGñ &ð
 �Q‹;Ø‰Gà ¨¡
Ñ+ˆGð#	QÜÐ9¸GÑCÓDˆFð
 ˜‹}Ù�sÐLØñô  á�sÐ@ÔAÙ�sÐ?Ô@Ù�sÐ?Ô@Ù�s˜LÔ)á/°Ó<�ð. ˆð- ˜9Ó$Ø�ð* ˆð) ˜3“Ù/°°Q±¸À¹ÓC�ð& ˆð% ˜3“Ù/°°R±¸%À!¹)ÓD�ð" ˆð! ˜3“Ù/´·²¸dÓ0CÀUÈQÁYÓO�ð ˆðQÜ  ›[�Fð  “z VÓ%5Ù˜tÐ%CÀgÑ%MÔNÙ!7¸Ó!D˜ð ˆñ "8¸¹ÀeÈaÁiÓ!P™àˆøô "ó AÙ˜4ØBÀWÑLôNá3°DÓ@‘Fð ˆðAûô1 ó 	ØˆFÜ�GðB ˆðG	ús$   Ä,H= ÇH ÈH:È9H:È=IÉIr   © )r-   ÚYELLOWÚBBLUEÚMAGENTAÚBMAGENTAÚCYANr4   r5   r6   r7   r8   r   r9   r:   r;   r   s         @@@@@@@@@@r   Úinteractive_traversalrC      sa   ÿù€ ð +�I€CˆØ.�M€Eˆ6Ø0�O€FˆGØ,�K€Dˆ%Ø2Ñ€GØ,�K€Dˆ%Ø
€Cõ-÷Iö IñV " $¨Ó*Ð*r   )Úsympy.core.basicr   Úsympy.printingr   r(   rC   r=   r   r   Ú<module>rF      s   ðÝ "Ý !ã óY+r   