§
    OŠtj×�  ã                  ó6  — d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ d
dlmZmZ d
dlmZmZ ddlmZmZ  G d„ de¦  «        Z ee¦  «        d„ ¦   «         Z  G d„ de¦  «        Z! ee!¦  «        d„ ¦   «         Z"dS )zI
A Printer for generating readable representation of most SymPy classes.
é    )Úannotations)ÚAny)ÚSÚRationalÚPowÚBasicÚMulÚNumber)Ú_keep_coeff)ÚInteger)Ú
Relational)Údefault_sort_key)Úsifté   )Ú
precedenceÚ
PRECEDENCE)ÚPrinterÚprint_function)Úprec_to_dpsÚto_strc            	      óp  — e Zd ZU dZdddddddddœZded<   i Zd	ed
<   d‘d„Zd’d„Zd„ Z	d“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„ 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(„ Z#d)„ Z$d*„ Z%d+„ Z&d,„ Z'd-„ Z(d.„ Z)d/„ Z*d0„ Z+d1„ Z,d2„ Z-d3„ Z.d4„ Z/d5„ Z0d6„ Z1d7„ Z2d8„ Z3d9„ Z4d:„ Z5d;„ Z6d<„ Z7d=„ Z8d>„ Z9d?„ Z:d@„ Z;dA„ Z<dB„ Z=dC„ Z>dD„ Z?dE„ Z@dF„ ZAdG„ ZBdH„ ZCdI„ ZDdJ„ ZEdK„ ZFdL„ ZGdM„ ZHdN„ ZIdO„ ZJdP„ ZKdQ„ ZLdR„ ZMd‘dS„ZNdT„ ZOdU„ ZPdV„ ZQdW„ ZRdX„ ZSdY„ ZTdZ„ ZUd[„ ZVd\„ ZWd]„ ZXd^„ ZYd_„ ZZd`„ Z[da„ Z\db„ Z]dc„ Z^dd„ Z_de„ Z`df„ Zadg„ Zbdh„ Zcdi„ Zddj„ Zedk„ Zfdl„ Zgdm„ Zhdn„ Zido„ ZjejZkejZldp„ Zmdq„ Zndr„ Zods„ Zpdt„ Zqdu„ Zrdv„ Zsdw„ Ztdx„ Zudy„ Zvdz„ Zwd{„ Zxd|„ Zyd}„ Zzd~„ 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‹„ ZˆdŒ„ Z‰d�„ ZŠdŽ„ Z‹d�„ ZŒd�„ Z�dS )”Ú
StrPrinterÚ	_sympystrNÚautoFT)ÚorderÚ	full_precÚsympy_integersÚabbrevÚperm_cyclicÚminÚmaxÚdpszdict[str, Any]Ú_default_settingszdict[str, str]Ú_relationalsc                ó¬   — t          |¦  «        |k     s|s+t          |¦  «        |k    rd|                      |¦  «        z  S |                      |¦  «        S )Nú(%s))r   Ú_print)ÚselfÚitemÚlevelÚstricts       úP/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/printing/str.pyÚparenthesizezStrPrinter.parenthesize#   sU   € Ý�tÑÔ˜uÒ$Ð$¨vÐ$½:ÀdÑ;KÔ;KÈuÒ;TÐ;TØ˜DŸKšK¨Ñ-Ô-Ñ-Ð-à—;’;˜tÑ$Ô$Ð$ó    r   c                óJ   ‡ ‡— |                      ˆˆ fd„|D ¦   «         ¦  «        S )Nc                ó<   •— g | ]}‰                      |‰¦  «        ‘ŒS © ©r-   )Ú.0r)   r*   r(   s     €€r,   ú
<listcomp>z(StrPrinter.stringify.<locals>.<listcomp>*   s)   ø€ ÐIÐIÐI¸D˜×*Ò*¨4°Ñ7Ô7ÐIÐIÐIr.   )Újoin)r(   ÚargsÚsepr*   s   `  `r,   Ú	stringifyzStrPrinter.stringify)   s.   øø€ Ø�xŠxÐIÐIÐIÐIÐIÀDÐIÑIÔIÑJÔJÐJr.   c                ó–   — t          |t          ¦  «        r|S t          |t          ¦  «        rt          |¦  «        S t          |¦  «        S ©N)Ú
isinstanceÚstrr   Úrepr©r(   Úexprs     r,   ÚemptyPrinterzStrPrinter.emptyPrinter,   sC   € Ý�d�CÑ Ô ð 	ØˆKÝ˜�eÑ$Ô$ð 	Ý˜‘:”:Ðå�t‘9”9Ðr.   c                óÞ  — |                       ||¬¦  «        }t          |¦  «        }g }|D ]Ž}|                      |¦  «        }|                     d¦  «        r|j        sd}|dd …         }nd}t          |¦  «        |k     s|j        r|                     |d|z  g¦  «         Œw|                     ||g¦  «         Œ�|                     d¦  «        }|dk    rd}|d                     |¦  «        z   S )	N©r   ú-r   ú+r&   r   Ú ú )Ú_as_ordered_termsr   r'   Ú
startswithÚis_AddÚextendÚpopr5   )	r(   r?   r   ÚtermsÚprecÚlÚtermÚtÚsigns	            r,   Ú
_print_AddzStrPrinter._print_Add4   s  € Ø×&Ò& t°5Ð&Ñ9Ô9ˆå˜$ÑÔˆØˆØð 
	$ð 
	$ˆDØ—’˜DÑ!Ô!ˆAØ�|Š|˜CÑ Ô ð ¨¬ð Ø�Ø�a�b�b”E��à�Ý˜$ÑÔ $Ò&Ð&¨$¬+Ð&Ø—’˜$ ¨¡
Ð+Ñ,Ô,Ð,Ð,à—’˜$ ˜Ñ#Ô#Ð#Ð#Ø�uŠu�Q‰xŒxˆØ�3Š;ˆ;ØˆDØ�c—h’h˜q‘k”kÑ!Ð!r.   c                ó   — dS )NÚTruer1   r>   s     r,   Ú_print_BooleanTruezStrPrinter._print_BooleanTrueI   s   € Øˆvr.   c                ó   — dS )NÚFalser1   r>   s     r,   Ú_print_BooleanFalsezStrPrinter._print_BooleanFalseL   ó   € Øˆwr.   c                ó`   — d|                       |j        d         t          d         ¦  «        z  S )Nz~%sr   ÚNot)r-   r6   r   r>   s     r,   Ú
_print_NotzStrPrinter._print_NotO   s(   € Ø�t×(Ò(¨¬°1¬µjÀÔ6GÑHÔHÑIÐIr.   c                óD  — t          |j        ¦  «        }t          |¦  «        D ][\  }}t          |t          ¦  «        rA|j        j        t          j        u r)| 	                    d| 
                    |¦  «        ¦  «         Œ\|                      |dt          d         ¦  «        S )Nr   z & Ú
BitwiseAnd)Úlistr6   Ú	enumerater;   r   Ú	canonicalÚrhsr   ÚNegativeInfinityÚinsertrK   r8   r   )r(   r?   r6   ÚjÚis        r,   Ú
_print_AndzStrPrinter._print_AndR   s†   € Ý�D”I‰ŒˆÝ˜d‘O”Oð 	,ð 	,‰DˆAˆqÝ˜!�ZÑ(Ô(ð ,Ø”K”O¥qÔ'9Ð9Ð9Ø—’˜A˜tŸxšx¨™{œ{Ñ+Ô+Ð+øØ�~Š~˜d E­:°lÔ+CÑDÔDÐDr.   c                óP   — |                       |j        dt          d         ¦  «        S )Nz | Ú	BitwiseOr©r8   r6   r   r>   s     r,   Ú	_print_OrzStrPrinter._print_OrZ   s   € Ø�~Š~˜dœi¨µ
¸;Ô0GÑHÔHÐHr.   c                óP   — |                       |j        dt          d         ¦  «        S )Nz ^ Ú
BitwiseXorrj   r>   s     r,   Ú
_print_XorzStrPrinter._print_Xor]   s   € Ø�~Š~˜dœi¨µ
¸<Ô0HÑIÔIÐIr.   c                ót   — |                       |j        ¦  «        ›d|                      |j        d¦  «        ›d�S ©Nú(ú, ú))r'   Úfunctionr8   Ú	argumentsr>   s     r,   Ú_print_AppliedPredicatez"StrPrinter._print_AppliedPredicate`   s=   € à�KŠK˜œÑ&Ô&Ð&Ð&¨¯ª°t´~ÀtÑ(LÔ(LÐ(LÐ(LðNð 	Nr.   c                ót   ‡ — ˆ fd„|j         D ¦   «         }|j        j        dd                     |¦  «        z  z   S )Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r1   ©r'   )r3   Úor(   s     €r,   r4   z+StrPrinter._print_Basic.<locals>.<listcomp>e   s#   ø€ Ð/Ð/Ð/ ˆT�[Š[˜‰^Œ^Ð/Ð/Ð/r.   r&   rr   )r6   Ú	__class__Ú__name__r5   )r(   r?   rN   s   `  r,   Ú_print_BasiczStrPrinter._print_Basicd   s=   ø€ Ø/Ð/Ð/Ð/ T¤YÐ/Ñ/Ô/ˆØŒ~Ô&¨°$·)²)¸A±,´,Ñ)>Ñ>Ð>r.   c                ó–   — |j         j        dk    r |                      |j         d         ¦  «         |                      |j         ¦  «        S )N)r   r   )r   r   )ÚblocksÚshaper'   )r(   ÚBs     r,   Ú_print_BlockMatrixzStrPrinter._print_BlockMatrixh   s=   € ØŒ8Œ>˜VÒ#Ð#Ø�KŠK˜œ œÑ'Ô'Ð'Ø�{Š{˜1œ8Ñ$Ô$Ð$r.   c                ó   — dS )NÚCatalanr1   r>   s     r,   Ú_print_CatalanzStrPrinter._print_Catalanm   s   € Øˆyr.   c                ó   — dS )NÚzoor1   r>   s     r,   Ú_print_ComplexInfinityz!StrPrinter._print_ComplexInfinityp   ó   € Øˆur.   c                óÈ   ‡ — t          ˆ fd„|j        |j        fD ¦   «         ¦  «        }|j        t          j        u rd|z  S |‰                      |j        ¦  «        fz  }d|z  S )Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r1   ry   ©r3   rf   r(   s     €r,   r4   z2StrPrinter._print_ConditionSet.<locals>.<listcomp>t   s#   ø€ ÐCÐCÐC¨�d—k’k !‘n”nÐCÐCÐCr.   zConditionSet(%s, %s)zConditionSet(%s, %s, %s))ÚtupleÚsymÚ	conditionÚbase_setr   ÚUniversalSetr'   )r(   Úsr6   s   `  r,   Ú_print_ConditionSetzStrPrinter._print_ConditionSets   sn   ø€ ÝÐCÐCÐCÐC¨q¬u°a´kÐ.BÐCÑCÔCÑDÔDˆØŒ:�œÐ'Ð'Ø)¨DÑ0Ð0Ø�—’˜QœZÑ(Ô(Ð*Ñ*ˆØ)¨DÑ0Ð0r.   c                ó„   ‡ — |j         }d„ |j        D ¦   «         }dd                     ˆ fd„|g|z   D ¦   «         ¦  «        z  S )Nc                ó:   — g | ]}|d          d k    r|d         n|‘ŒS )r   r   r1   )r3   rf   s     r,   r4   z0StrPrinter._print_Derivative.<locals>.<listcomp>|   s,   € ÐGÐGÐG¨a˜˜1œ š˜��1”�¨ÐGÐGÐGr.   zDerivative(%s)rr   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r:   ry   ©r3   Úargr(   s     €r,   ú	<genexpr>z/StrPrinter._print_Derivative.<locals>.<genexpr>}   s/   øè è € Ð,YÐ,YÀ#¨T¯[ª[¸Ñ-=Ô-=Ð,YÐ,YÐ,YÐ,YÐ,YÐ,Yr.   )r?   Úvariable_countr5   )r(   r?   ÚdexprÚdvarss   `   r,   Ú_print_DerivativezStrPrinter._print_Derivativez   sS   ø€ Ø”	ˆØGÐG°4Ô3FÐGÑGÔGˆØ $§)¢)Ð,YÐ,YÐ,YÐ,YÈ%ÈÐSXÉÐ,YÑ,YÔ,YÑ"ZÔ"ZÑZÐZr.   c                ó   — t          |                     ¦   «         t          ¬¦  «        }g }|D ]J}|                      |¦  «        ›d|                      ||         ¦  «        ›�}|                     |¦  «         ŒKdd                     |¦  «        z  S )N©Úkeyz: ú{%s}rr   )ÚsortedÚkeysr   r'   Úappendr5   )r(   Údr£   Úitemsr    r)   s         r,   Ú_print_dictzStrPrinter._print_dict   sŒ   € Ý�a—f’f‘h”hÕ$4Ð5Ñ5Ô5ˆØˆàð 	ð 	ˆCØ#Ÿ{š{¨3Ñ/Ô/Ð/Ð/°·²¸Q¸s¼VÑ1DÔ1DÐ1DÐEˆDØ�LŠL˜ÑÔÐÐà˜Ÿ	š	 %Ñ(Ô(Ñ(Ð(r.   c                ó,   — |                       |¦  «        S r:   )r§   r>   s     r,   Ú_print_DictzStrPrinter._print_Dict‰   ó   € Ø×Ò Ñ%Ô%Ð%r.   c                óF  — t          |d¦  «        r*d|                      |                     ¦   «         ¦  «        z   S t          |d¦  «        r;d|                      |j        ¦  «        z   dz   |                      |j        ¦  «        z   S d|                      |j        ¦  «        z   S )NÚ
as_booleanzDomain: Úsetz in z
Domain on )Úhasattrr'   r¬   Úsymbolsr­   )r(   r¥   s     r,   Ú_print_RandomDomainzStrPrinter._print_RandomDomainŒ   s–   € Ý�1�lÑ#Ô#ð 	9Ø §¢¨A¯LªL©N¬NÑ ;Ô ;Ñ;Ð;Ý�Q˜ÑÔð 	9Ø §¢¨Q¬YÑ!7Ô!7Ñ7¸&Ñ@Ø—K’K ¤Ñ&Ô&ñ'ð (ð   $§+¢+¨a¬iÑ"8Ô"8Ñ8Ð8r.   c                ó   — d|j         z   S ©NÚ_©Únamer>   s     r,   Ú_print_DummyzStrPrinter._print_Dummy•   s   € Ø�T”Y‰Ðr.   c                ó   — dS )NÚ
EulerGammar1   r>   s     r,   Ú_print_EulerGammazStrPrinter._print_EulerGamma˜   s   € Øˆ|r.   c                ó   — dS )NÚEr1   r>   s     r,   Ú_print_Exp1zStrPrinter._print_Exp1›   ó   € Øˆsr.   c                ót   — d|                       |j        ¦  «        ›d|                       |j        ¦  «        ›d�S rp   )r'   r?   Úcondr>   s     r,   Ú_print_ExprCondPairzStrPrinter._print_ExprCondPairž   s7   € € Ø!Ÿ[š[¨¬Ñ3Ô3Ð3Ð3°T·[²[ÀÄÑ5KÔ5KÐ5KÐ5KÐLÐLr.   c                óX   — |j         j        d|                      |j        d¦  «        z  z   S ©Nr&   rr   )Úfuncr|   r8   r6   r>   s     r,   Ú_print_FunctionzStrPrinter._print_Function¡   s'   € ØŒyÔ! F¨T¯^ª^¸D¼IÀtÑ-LÔ-LÑ$LÑLÐLr.   c                ó   — dS )NÚGoldenRatior1   r>   s     r,   Ú_print_GoldenRatiozStrPrinter._print_GoldenRatio¤   s   € Øˆ}r.   c                óX   — |j         j        d|                      |j        d¦  «        z  z   S rÂ   )rÃ   r|   r8   Úpargsr>   s     r,   Ú_print_HeavisidezStrPrinter._print_Heaviside§   s)   € ð ŒyÔ! F¨T¯^ª^¸D¼JÈÑ-MÔ-MÑ$MÑMÐMr.   c                ó   — dS )NÚTribonacciConstantr1   r>   s     r,   Ú_print_TribonacciConstantz$StrPrinter._print_TribonacciConstant¬   s   € Ø#Ð#r.   c                ó   — dS ©NÚIr1   r>   s     r,   Ú_print_ImaginaryUnitzStrPrinter._print_ImaginaryUnit¯   r½   r.   c                ó   — dS )NÚoor1   r>   s     r,   Ú_print_InfinityzStrPrinter._print_Infinity²   ó   € Øˆtr.   c                óž   ‡ ‡— ˆ fd„Šd                      ˆfd„|j        D ¦   «         ¦  «        }d‰                      |j        ¦  «        ›d|›d�S )Nc                óÈ   •— t          | ¦  «        dk    r‰                     | d         ¦  «        S ‰                     | d         ft          | dd …         ¦  «        z   ¦  «        S ©Nr   r   ©Úlenr'   r�   ©Úxabr(   s    €r,   Ú
_xab_tostrz.StrPrinter._print_Integral.<locals>._xab_tostr¶   óS   ø€ Ý�3‰xŒx˜1Š}ˆ}Ø—{’{ 3 q¤6Ñ*Ô*Ð*à—{’{ C¨¤F 9­u°S¸¸¸´W©~¬~Ñ#=Ñ>Ô>Ð>r.   rr   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r1   r1   ©r3   rN   rÝ   s     €r,   r4   z.StrPrinter._print_Integral.<locals>.<listcomp>»   ó!   ø€ Ð:Ð:Ð:¨�z�z !‘}”}Ð:Ð:Ð:r.   z	Integral(rs   ©r5   Úlimitsr'   rt   ©r(   r?   ÚLrÝ   s   `  @r,   Ú_print_IntegralzStrPrinter._print_Integralµ   sl   øø€ ð	?ð 	?ð 	?ð 	?ð 	?ð
 �IŠIÐ:Ð:Ð:Ð:¨d¬kÐ:Ñ:Ô:Ñ;Ô;ˆˆØ%)§[¢[°´Ñ%?Ô%?Ð%?Ð%?ÀÀÀÐCÐCr.   c                ó¼   — d}|j         \  }}}}|j        r
|j        rd}n-|j        r|sd}n!|j        r|sd}n|s|sd}n|r|rd}n|rd}nd} |j        di |||dœ¤ŽS )NzInterval{m}({a}, {b})rE   z.openz.Lopenz.Ropen)ÚaÚbÚmr1   )r6   Úis_infiniteÚformat)r(   rf   Úfinrè   ré   rN   Úrrê   s           r,   Ú_print_IntervalzStrPrinter._print_Interval¾   sÂ   € Ø&ˆØ”V‰
ˆˆ1ˆa�ØŒ=ð 	˜Qœ]ð 	ØˆAˆAØŒ]ð 	 1ð 	ØˆAˆAØŒ]ð 		 1ð 		ØˆAˆAØð 	˜1ð 	ØˆAˆAØð 	�1ð 	ØˆAˆAØð 	ØˆAˆAàˆAØˆsŒzÐ5Ð5 !¨!°!Ð4Ð4Ð5Ð5Ð5r.   c                ót   — d|                       |j        ¦  «        ›d|                       |j        ¦  «        ›d�S )NzAccumBounds(rr   rs   )r'   r    r!   )r(   rf   s     r,   Ú_print_AccumulationBoundsz$StrPrinter._print_AccumulationBoundsÑ   s<   € € Ø(,¯ª°A´EÑ(:Ô(:Ð(:Ð(:Ø(,¯ª°A´EÑ(:Ô(:Ð(:Ð(:ð<ð 	<r.   c                óT   — d|                       |j        t          d         ¦  «        z  S )Nz%s**(-1)r   ©r-   r˜   r   )r(   rÐ   s     r,   Ú_print_InversezStrPrinter._print_InverseÕ   s$   € Ø˜D×-Ò-¨a¬eµZÀÔ5FÑGÔGÑGÐGr.   c                óÌ   — |j         }|j        }t          |¦  «        dk    r|d         j        r|d         }d|                      |¦  «        ›d|                      |¦  «        ›d�S )Nr   r   zLambda(rr   rs   )r?   Ú	signaturerÚ   Ú	is_symbolr'   )r(   Úobjr?   Úsigs       r,   Ú_print_LambdazStrPrinter._print_LambdaØ   sc   € ØŒxˆØŒmˆÝˆs‰8Œ8�qŠ=ˆ=˜S œVÔ-ˆ=Ø�a”&ˆCøØ#'§;¢;¨sÑ#3Ô#3Ð#3Ð#3°T·[²[ÀÑ5FÔ5FÐ5FÐ5FÐGÐGr.   c                óœ   ‡ — t          |j        t          ¬¦  «        }|j        j        dd                     ˆ fd„|D ¦   «         ¦  «        z  z   S )NrŸ   r&   rr   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r:   ry   r—   s     €r,   r™   z.StrPrinter._print_LatticeOp.<locals>.<genexpr>á   s/   øè è € Ð6XÐ6XÈC°t·{²{À3Ñ7GÔ7GÐ6XÐ6XÐ6XÐ6XÐ6XÐ6Xr.   )r¢   r6   r   rÃ   r|   r5   ©r(   r?   r6   s   `  r,   Ú_print_LatticeOpzStrPrinter._print_LatticeOpß   sO   ø€ Ý�d”iÕ%5Ð6Ñ6Ô6ˆØŒyÔ! F¨T¯YªYÐ6XÐ6XÐ6XÐ6XÐSWÐ6XÑ6XÔ6XÑ-XÔ-XÑ$XÑXÐXr.   c           
     ól   — |j         \  }}}}dt          t          | j        ||||f¦  «        ¦  «        z  S )NzLimit(%s, %s, %s, dir='%s'))r6   r�   Úmapr'   )r(   r?   ÚeÚzÚz0Údirs         r,   Ú_print_LimitzStrPrinter._print_Limitã   s9   € Øœ	‰ˆˆ1ˆb�#Ø,­uµS¸¼ÀqÈ!ÈRÐQTÀoÑ5VÔ5VÑ/WÔ/WÑWÐWr.   c                ó4   — d|                       |d¦  «        z  S )Nú[%s]rr   )r8   r>   s     r,   Ú_print_listzStrPrinter._print_listè   s   € Ø˜Ÿš t¨TÑ2Ô2Ñ2Ð2r.   c                ó,   — |                       |¦  «        S r:   )r  r>   s     r,   Ú_print_ListzStrPrinter._print_Listë   rª   r.   c                ó,   — |                      | ¦  «        S r:   )Ú_format_strr>   s     r,   Ú_print_MatrixBasezStrPrinter._print_MatrixBaseî   rª   r.   c                óÆ   — |                       |j        t          d         d¬¦  «        d|                      |j        ¦  «        ›d|                      |j        ¦  «        ›d�z   S )NÚAtomT©r+   ú[rr   ú])r-   Úparentr   r'   rf   re   r>   s     r,   Ú_print_MatrixElementzStrPrinter._print_MatrixElementñ   s`   € Ø× Ò  ¤­j¸Ô.@ÈÐ ÑNÔNÐNØ ŸKšK¨¬Ñ/Ô/Ð/Ð/°·²¸T¼VÑ1DÔ1DÐ1DÐ1DÐEñFð 	Fr.   c                óà   ‡ — ˆ fd„}‰                       |j        t          d         d¬¦  «        dz    ||j        |j        j        ¦  «        z   dz    ||j        |j        j        ¦  «        z   dz   S )Nc                óÆ   •— t          | ¦  «        } | d         dk    r| d= | d         dk    rd| d<   | d         |k    rd| d<   d                     ˆfd„| D ¦   «         ¦  «        S )Né   r   r   rE   ú:c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r:   ry   r—   s     €r,   r™   zBStrPrinter._print_MatrixSlice.<locals>.strslice.<locals>.<genexpr>þ   s/   øè è € Ð;Ð;°#˜TŸ[š[¨Ñ-Ô-Ð;Ð;Ð;Ð;Ð;Ð;r.   )r_   r5   )ÚxÚdimr(   s     €r,   Ústrslicez/StrPrinter._print_MatrixSlice.<locals>.strsliceö   su   ø€ Ý�Q‘”ˆAØ�Œt�qŠyˆyØ�a�DØ�Œt�qŠyˆyØ��!‘Ø�Œt�sŠ{ˆ{Ø��!‘Ø—8’8Ð;Ð;Ð;Ð;¸Ð;Ñ;Ô;Ñ<Ô<Ð<r.   r  Tr  r  rr   r  )r-   r  r   ÚrowsliceÚrowsÚcolsliceÚcols)r(   r?   r  s   `  r,   Ú_print_MatrixSlicezStrPrinter._print_MatrixSliceõ   s‘   ø€ ð	=ð 	=ð 	=ð 	=ð 	=ð ×!Ò! $¤+­z¸&Ô/AÈ$Ð!ÑOÔOÐRUÑUØ�˜œ¨¬Ô(8Ñ9Ô9ñ:Ø<@ñAà�˜œ¨¬Ô(8Ñ9Ô9ñ:à<?ñ@ð 	Ar.   c                ó   — |j         S r:   r´   r>   s     r,   Ú_print_DeferredVectorz StrPrinter._print_DeferredVector  ó
   € ØŒyÐr.   c                ó
  ‡ ‡— t          |¦  «        Š|j        }|d         t          j        u s"t	          d„ |dd …         D ¦   «         ¦  «        �rÅt          |d„ d¬¦  «        \  }}t          |¦  «        D ]y\  }}|j        j        r	|j         }n9t          |j        j        ¦  «        }|d          |d<   t          j        |¦  «        }|dz
  rt          |j        |d¬¦  «        n|j        ||<   Œzg }	|rP|d         j        sC|d                              ¦   «         r)‰                      |                     d¦  «        ¦  «        g}	|	ˆˆ fd	„|D ¦   «         z   }
|
sd
g}
t%          |¦  «        dk    rD|d                              ¦   «         r*‰                      |                     d¦  «        ¦  «        g}	ng }	|	ˆˆ fd„|D ¦   «         z   }d                     |
¦  «        }d                     |¦  «        }t%          |¦  «        dk    r|›d|›d�S |r|›d|›�S |S |                     ¦   «         \  }}|dk     rt+          | |¦  «        }d}nd}g }g }g }‰ j        dvr|                     ¦   «         }nt          j        |¦  «        }d„ }|D �]…}|j        rët5          |t          ¦  «        rÖt7          |j                             ¦   «         d         dk     ¦  «        r¦|j        t          j        ur|                      ||¦  «        ¦  «         Œ�t%          |j        d         j        ¦  «        dk    r6t5          |j        t          t          f¦  «        r|                     |¦  «         |                     |j        ¦  «         Œõ|j        rt|t          j        urf|j         dk    r'|                     tC          |j         ¦  «        ¦  «         |j"        dk    r'|                     tC          |j"        ¦  «        ¦  «         �Œp|                     |¦  «         �Œ‡|pt          j        g}ˆˆ fd„|D ¦   «         }ˆˆ fd„|D ¦   «         }|D ]I}|j        |v r>d|| #                    |j        ¦  «                 z  || #                    |j        ¦  «        <   ŒJ|s|d                     |¦  «        z   S t%          |¦  «        dk    r$|d                     |¦  «        z   dz   |d         z   S |d                     |¦  «        z   dd                     |¦  «        z  z   S )Nr   c              3  óŠ   K  — | ]>}t          |t          ¦  «        p$|j        ot          d „ |j        D ¦   «         ¦  «        V — Œ?dS )c              3  ó$   K  — | ]}|j         V — Œd S r:   )Ú
is_Integer)r3   Úais     r,   r™   z2StrPrinter._print_Mul.<locals>.<genexpr>.<genexpr>  s$   è è € Ð @Ð @°2 ¤Ð @Ð @Ð @Ð @Ð @Ð @r.   N)r;   r
   Úis_PowÚallr6   )r3   rè   s     r,   r™   z(StrPrinter._print_Mul.<locals>.<genexpr>  sk   è è € ð ##ð ##ð õ ˜1�fÑ%Ô%ð AØ”Ð@�SÐ @Ð @¸¼Ð @Ñ @Ô @Ñ@Ô@ð##ð ##ð ##ð ##ð ##ð ##r.   r   c                óŒ   — t          | t          ¦  «        o/t          | j                             ¦   «         d         dk     ¦  «        S ©Nr   )r;   r   ÚboolÚexpÚas_coeff_Mul)r  s    r,   ú<lambda>z'StrPrinter._print_Mul.<locals>.<lambda>  s9   € Ý˜1�cÑ"Ô"ÐH¥t¨A¬E×,>Ò,>Ñ,@Ô,@ÀÔ,CÀaÒ,GÑ'HÔ'Hð r.   T)ÚbinaryF©Úevaluatec                ó@   •— g | ]}‰                      |‰d ¬¦  «        ‘ŒS ©Fr  r2   ©r3   rè   rM   r(   s     €€r,   r4   z)StrPrinter._print_Mul.<locals>.<listcomp>$  ó>   ø€ ð ð ð Øð #×/Ò/°°4ÀÐ/ÑFÔFð ð ð r.   Ú1c                ó@   •— g | ]}‰                      |‰d ¬¦  «        ‘ŒS r6  r2   r7  s     €€r,   r4   z)StrPrinter._print_Mul.<locals>.<listcomp>.  r8  r.   Ú*z/(rs   ú/rC   rE   )ÚoldÚnonec                óx  — |                       ¦   «         \  }}t          t          j        |¦  «        ¦  «        }|d         t          j        u r|dd …         }n|d          |d<   t          j        |¦  «        }t          | t          ¦  «        r|  	                    ||d¬¦  «        S |  	                    |d¬¦  «        S )Nr   r   Fr3  )
Úas_base_expr_   r	   Ú	make_argsr   ÚNegativeOneÚ
_from_argsr;   r   rÃ   )rf   ré   r  Úeargss       r,   Úapowz#StrPrinter._print_Mul.<locals>.apowL  s¨   € Ø—=’=‘?”?‰DˆAˆqÝ�œ qÑ)Ô)Ñ*Ô*ˆEØ�QŒx�1œ=Ð(Ð(Ø˜a˜b˜bœ	��à! !œH˜9��a‘Ý”˜uÑ%Ô%ˆAÝ˜!�SÑ!Ô!ð 4Ø—v’v˜a ¨U�vÑ3Ô3Ð3Ø—6’6˜! e�6Ñ,Ô,Ð,r.   c                ó@   •— g | ]}‰                      |‰d ¬¦  «        ‘ŒS r6  r2   ©r3   r  rM   r(   s     €€r,   r4   z)StrPrinter._print_Mul.<locals>.<listcomp>m  ó.   ø€ ÐEÐEÐE¸a�×"Ò" 1 d°5Ð"Ñ9Ô9ÐEÐEÐEr.   c                ó@   •— g | ]}‰                      |‰d ¬¦  «        ‘ŒS r6  r2   rG  s     €€r,   r4   z)StrPrinter._print_Mul.<locals>.<listcomp>n  rH  r.   r&   z/(%s))$r   r6   r   ÚOneÚanyr   r`   r/  Ú	is_Numberr_   r	   rC  r   ÚbaserI   Úcould_extract_minus_signr'   rK   rÚ   r5   r0  r   r   Úas_ordered_factorsrA  Úis_commutativer;   r.  rB  r¤   Úis_RationalÚInfinityÚpr   ÚqÚindex)r(   r?   r6   r¥   Únrf   Údir  ÚdargsÚpreÚnfactorsÚdfactorsÚcrQ   rè   ré   Ú	pow_parenrE  r)   Úa_strÚb_strrM   s   `                    @r,   Ú
_print_MulzStrPrinter._print_Mul  s†  øø€ å˜$ÑÔˆð ŒyˆØ�Œ7•a”eÐÐ�sð ##ð ##ð ˜a˜b˜bœð##ñ ##ô ##ñ  #ô  #Ñõ ˜ð Ið Iàðñ ô ‰DˆAˆqõ # 1™œð Mð M‘��2Ø”6Ô#ð .Øœ˜�A�Aå  ¤¤Ñ-Ô-�EØ % a¤˜y�E˜!‘HÝœ uÑ-Ô-�AØ:;¸a¹%ÐL•s˜2œ7 A°Ð6Ñ6Ô6Ð6ÀRÄW��!‘�àˆCàð .˜˜1œœð .¨¨1¬×)FÒ)FÑ)HÔ)Hð .Ø—{’{ 1§5¢5¨¡8¤8Ñ,Ô,Ð-�àð ð ð ð ð Øðñ ô ñ ˆHàð !Ø˜5�õ �1‰vŒv˜Šzˆz˜a œd×;Ò;Ñ=Ô=ˆzØ—{’{ 1§5¢5¨¡8¤8Ñ,Ô,Ð-��à�Øð ð ð ð ð Øðñ ô ñ ˆHð —’˜Ñ"Ô"ˆAØ—’˜Ñ"Ô"ˆAÝ�8‰}Œ}˜qÒ Ð Ø$% A A q q qÐ)Ð)Øð (Ø"# ! ! Q QÐ'Ð'ØˆHà× Ò Ñ"Ô"‰ˆˆ1ØˆqŠ5ˆ5Ý ˜r 1Ñ%Ô%ˆDØˆDˆDàˆDàˆØˆàˆ	àŒ:˜_Ð,Ð,Ø×*Ò*Ñ,Ô,ˆDˆDõ ”= Ñ&Ô&ˆDð
	-ð 
	-ð 
	-ð ð 	ñ 	ˆDØÔ#ð Ý˜t¥SÑ)Ô)ðå˜œ×.Ò.Ñ0Ô0°Ô3°aÒ7Ñ8Ô8ðð ”8¥1¤=Ð0Ð0Ø—H’H˜T˜T $™ZœZÑ(Ô(Ð(Ð(å˜DœI aœLÔ-Ñ.Ô.°!Ò3Ð3Ý& t¤yµ3½°*Ñ=Ô=ð 4ð "×(Ò(¨Ñ.Ô.Ð.Ø—H’H˜TœYÑ'Ô'Ð'Ð'ØÔ!ð  dµ!´*Ð&<Ð&<Ø”6˜Q’;�;Ø—H’H�X d¤fÑ-Ô-Ñ.Ô.Ð.Ø”6˜Q’;�;Ø—H’H�X d¤fÑ-Ô-Ñ.Ô.Ð.ùà—’˜‘”�‘àˆL•!”%�ˆàEÐEÐEÐEÐEÀ1ÐEÑEÔEˆØEÐEÐEÐEÐEÀ1ÐEÑEÔEˆð ð 	Oð 	OˆDØŒy˜Aˆ~ˆ~Ø,2°U¸1¿7º7À4Ä9Ñ;MÔ;MÔ5NÑ,N��a—g’g˜dœiÑ(Ô(Ñ)øàð 	FØ˜#Ÿ(š( 5™/œ/Ñ)Ð)Ý�‰VŒV�qŠ[ˆ[Ø˜#Ÿ(š( 5™/œ/Ñ)¨CÑ/°%¸´(Ñ:Ð:à˜#Ÿ(š( 5™/œ/Ñ)¨G°c·h²h¸u±o´oÑ,EÑEÐEr.   c                óN  ‡ ‡— ‰                      ¦   «         \  }}d}|j        rZ|                     ¦   «         \  }}|j        r|j        rt          | |¦  «        Šd}n!|j        r|j        rt          | |¦  «        Šd}|d                     ˆˆ fd„‰j        D ¦   «         ¦  «        z   S )NrE   rC   r;  c                óV   •— g | ]%}‰                      |t          ‰¦  «        ¦  «        ‘Œ&S r1   ©r-   r   ©r3   r˜   r?   r(   s     €€r,   r4   z,StrPrinter._print_MatMul.<locals>.<listcomp>Š  s1   ø€ ÐKÐKÐK¸#ˆT×Ò˜s¥J¨tÑ$4Ô$4Ñ5Ô5ÐKÐKÐKr.   )Úas_coeff_mmulÚ	is_numberÚas_real_imagÚis_zeroÚis_negativer   r5   r6   )r(   r?   r\  rê   rQ   ÚreÚims   ``     r,   Ú_print_MatMulzStrPrinter._print_MatMul|  sÈ   øø€ Ø×!Ò!Ñ#Ô#‰ˆˆ1àˆØŒ;ð 	Ø—^’^Ñ%Ô%‰FˆB�ØŒzð ˜bœnð Ý" A 2 qÑ)Ô)�Ø��Ø”ð  ¤ð Ý" A 2 qÑ)Ô)�Ø�à�c—h’hØKÐKÐKÐKÐKÀÄÐKÑKÔKñ
ô 
ñ 
ð 	
r.   c                óh   — d                      |j        |                      |j        ¦  «        ¦  «        S )Nz{}.({}))rì   rt   r'   r?   r>   s     r,   Ú_print_ElementwiseApplyFunctionz*StrPrinter._print_ElementwiseApplyFunction�  s0   € Ø×ÒØŒMØ�KŠK˜œ	Ñ"Ô"ñ
ô 
ð 	
r.   c                ó   — dS )NÚnanr1   r>   s     r,   Ú
_print_NaNzStrPrinter._print_NaN“  r‰   r.   c                ó   — dS )Nz-oor1   r>   s     r,   Ú_print_NegativeInfinityz"StrPrinter._print_NegativeInfinity–  r‰   r.   c                óD  — |j         rt          d„ |j        D ¦   «         ¦  «        r]t          |j         ¦  «        dk    rd|                      |j        ¦  «        z  S d|                      |j        f|j         z   dd¦  «        z  S d|                      |j        dd¦  «        z  S )Nc              3  ó2   K  — | ]}|t           j        u V — Œd S r:   )r   ÚZero)r3   rS  s     r,   r™   z*StrPrinter._print_Order.<locals>.<genexpr>š  s(   è è € Ð$EÐ$E°Q Q­!¬& [Ð$EÐ$EÐ$EÐ$EÐ$EÐ$Er.   r   zO(%s)rr   r   )Ú	variablesr+  ÚpointrÚ   r'   r?   r8   r6   r>   s     r,   Ú_print_OrderzStrPrinter._print_Order™  s    € ØŒ~ð 	@¥Ð$EÐ$E¸$¼*Ð$EÑ$EÔ$EÑ!EÔ!Eð 	@Ý�4”>Ñ"Ô" aÒ'Ð'Ø §¢¨T¬YÑ!7Ô!7Ñ7Ð7à §¢°´°¸t¼~Ñ0MÈtÐUVÑ!WÔ!WÑWÐWà˜TŸ^š^¨D¬I°t¸QÑ?Ô?Ñ?Ð?r.   c                ó*   — |                      ¦   «         S r:   ©Ú__str__r>   s     r,   Ú_print_OrdinalzStrPrinter._print_Ordinal¢  ó   € Ø�|Š|‰~Œ~Ðr.   c                ó*   — |                      ¦   «         S r:   r{  r>   s     r,   Ú_print_CyclezStrPrinter._print_Cycle¥  r~  r.   c                ó   — ddl m}m} ddlm} |j        }|� |d|› d�ddd¬	¦  «         n| j                             d
d¦  «        }|r |j        sdS   ||¦  «        |j        dz
  ¦  «         	                    ¦   «         t          d¦  «        d …         }|                     d¦  «        }|dk    s!d||d …         vr||d …         |d |…         z   }|                     dd¦  «        }|S |                     ¦   «         }|sE|j        dk     rd|                      |j        ¦  «        z  S d|                      |j        ¦  «        z  S |                      |j        d |d         dz   …         ¦  «        d|                      |j        ¦  «        z  z   }|                      |j        ¦  «        x}	}
t          |¦  «        t          |
¦  «        k     r|}	d|	z  S )Nr   )ÚPermutationÚCycle)Úsympy_deprecation_warningzw
                Setting Permutation.print_cyclic is deprecated. Instead use
                init_printing(perm_cyclic=z).
                z1.6z#deprecated-permutation-print_cyclicé   )Údeprecated_since_versionÚactive_deprecations_targetÚ
stacklevelr   Tz()r   rƒ  rq   ú,rE   é   zPermutation(%s)zPermutation([], size=%s)éÿÿÿÿz	, size=%s)Ú sympy.combinatorics.permutationsr‚  rƒ  Úsympy.utilities.exceptionsr„  Úprint_cyclicÚ	_settingsÚgetÚsizeÚ__repr__rÚ   ÚrfindÚreplaceÚsupportr'   Ú
array_form)r(   r?   r‚  rƒ  r„  r   r’   ÚlastÚtrimÚuseÚfulls              r,   Ú_print_PermutationzStrPrinter._print_Permutation¨  s  € ØGÐGÐGÐGÐGÐGÐGÐGØHÐHÐHÐHÐHÐHà!Ô.ˆØÐ"Ø%Ð%ðà+6ðð ð ð */Ø+PØðñ ô ð ð ð œ.×,Ò,¨]¸DÑAÔAˆKàð 	+Ø”9ð Ø�tð ���d‘”˜DœI¨™MÑ*Ô*×3Ò3Ñ5Ô5µc¸'±l´l°m°mÔDˆAØ—7’7˜3‘<”<ˆDØ˜1’9�9 ¨A¨d¨e¨e¬HÐ!4Ð!4Ø�d�e�e”H˜q  $ œxÑ'�Ø—	’	˜#˜rÑ"Ô"ˆAØˆHà—’‘”ˆAØð KØ”9˜q’=�=Ø,¨t¯{ª{¸4¼?Ñ/KÔ/KÑKÐKØ1°D·K²KÀÄ	Ñ4JÔ4JÑJÐJØ—;’;˜tœ¨z°°"´¸±	¨zÔ:Ñ;Ô;¸kÈDÏKÊKÐX\ÔXaÑLbÔLbÑ>bÑbˆDØŸš T¤_Ñ5Ô5Ð5ˆC�$Ý�4‰yŒy�3˜t™9œ9Ò$Ð$Ø�Ø$ sÑ*Ð*r.   c                óò   — |j         \  }}}t          |j        ¦  «        dk    r|d         }|d         }d|                      |¦  «        ›d|                      |¦  «        ›d|                      |¦  «        ›d�S )Nr   r   zSubs(rr   rs   )r6   rÚ   rx  r'   )r(   rø   r?   r=  Únews        r,   Ú_print_SubszStrPrinter._print_SubsÑ  s~   € Øœ‰ˆˆc�3ÝˆsŒy‰>Œ>˜QÒÐØ�a”&ˆCØ�a”&ˆCøà�KŠK˜ÑÔÐÐ˜tŸ{š{¨3Ñ/Ô/Ð/Ð/°·²¸SÑ1AÔ1AÐ1AÐ1AðCð 	Cr.   c                ó*   — |                      ¦   «         S r:   ry   r>   s     r,   Ú_print_TensorIndexzStrPrinter._print_TensorIndexÙ  ó   € Ø�{Š{‰}Œ}Ðr.   c                ó*   — |                      ¦   «         S r:   ry   r>   s     r,   Ú_print_TensorHeadzStrPrinter._print_TensorHeadÜ  r¡  r.   c                ó*   — |                      ¦   «         S r:   ry   r>   s     r,   Ú_print_TensorzStrPrinter._print_Tensorß  r¡  r.   c                ó~   ‡ ‡— ‰                      ¦   «         \  }}|d                     ˆˆ fd„|D ¦   «         ¦  «        z   S )Nr;  c                óV   •— g | ]%}‰                      |t          ‰¦  «        ¦  «        ‘Œ&S r1   rc  rd  s     €€r,   r4   z-StrPrinter._print_TensMul.<locals>.<listcomp>æ  s1   ø€ ÐFÐFÐF¸#ˆT×Ò˜s¥J¨tÑ$4Ô$4Ñ5Ô5ÐFÐFÐFr.   )Ú!_get_args_for_traditional_printerr5   )r(   r?   rQ   r6   s   ``  r,   Ú_print_TensMulzStrPrinter._print_TensMulâ  sP   øø€ à×;Ò;Ñ=Ô=‰
ˆˆdØ�c—h’hØFÐFÐFÐFÐFÀÐFÑFÔFñ
ô 
ñ 
ð 	
r.   c                ó*   — |                      ¦   «         S r:   ry   r>   s     r,   Ú_print_TensAddzStrPrinter._print_TensAddé  r¡  r.   c                ó6   — |                       |j        ¦  «        S r:   ©r'   rµ   r>   s     r,   Ú_print_ArraySymbolzStrPrinter._print_ArraySymbolì  s   € Ø�{Š{˜4œ9Ñ%Ô%Ð%r.   c                ó¦   ‡ — ‰                       |j        t          d         d¦  «        ›dd                     ˆ fd„|j        D ¦   «         ¦  «        ›d�S )NÚFuncTr  rr   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r1   ry   rŒ   s     €r,   r4   z2StrPrinter._print_ArrayElement.<locals>.<listcomp>ñ  s%   ø€ ÐNtÐNtÐNtÐbcÈtÏ{Ê{Ð[\É~Ì~ÐNtÐNtÐNtr.   r  )r-   rµ   r   r5   Úindicesr>   s   ` r,   Ú_print_ArrayElementzStrPrinter._print_ArrayElementï  s^   ø€ à×Ò˜dœi­°FÔ);¸TÑBÔBÐBÐBÀDÇIÂIÐNtÐNtÐNtÐNtÐgkÔgsÐNtÑNtÔNtÑDuÔDuÐDuÐDuðwð 	wr.   c                óZ   ‡ — ˆ fd„|j         D ¦   «         }dd                     |¦  «        z  S )Nc                ó@   •— g | ]}d ‰                      |¦  «        z  ‘ŒS )z    %sry   )r3   rè   r(   s     €r,   r4   z6StrPrinter._print_PermutationGroup.<locals>.<listcomp>ô  s(   ø€ Ð:Ð:Ð:¨1ˆX˜Ÿš A™œÑ&Ð:Ð:Ð:r.   zPermutationGroup([
%s])z,
)r6   r5   )r(   r?   rS  s   `  r,   Ú_print_PermutationGroupz"StrPrinter._print_PermutationGroupó  s3   ø€ Ø:Ð:Ð:Ð:°´	Ð:Ñ:Ô:ˆØ)¨E¯JªJ°q©M¬MÑ9Ð9r.   c                ó   — dS )NÚpir1   r>   s     r,   Ú	_print_PizStrPrinter._print_Pi÷  rÕ   r.   c                óÄ   ‡ — dd                      ˆ fd„|j        D ¦   «         ¦  «        ›d‰                      |j        ¦  «        ›d‰                      |j        ¦  «        ›d�S )NzPolynomial ring in rr   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r:   ry   )r3   Úrsr(   s     €r,   r™   z-StrPrinter._print_PolyRing.<locals>.<genexpr>ü  s-   øè è € Ð?Ð?¨B˜Ÿš B™œÐ?Ð?Ð?Ð?Ð?Ð?r.   ú over ú with ú order©r5   r¯   r'   Údomainr   )r(   Úrings   ` r,   Ú_print_PolyRingzStrPrinter._print_PolyRingú  sh   ø€ € à�YŠYÐ?Ð?Ð?Ð?°$´,Ð?Ñ?Ô?Ñ@Ô@Ð@Ð@Ø�KŠK˜œÑ$Ô$Ð$Ð$ d§k¢k°$´*Ñ&=Ô&=Ð&=Ð&=ð?ð 	?r.   c                óÄ   ‡ — dd                      ˆ fd„|j        D ¦   «         ¦  «        ›d‰                      |j        ¦  «        ›d‰                      |j        ¦  «        ›d�S )NzRational function field in rr   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r:   ry   )r3   Úfsr(   s     €r,   r™   z.StrPrinter._print_FracField.<locals>.<genexpr>  s-   øè è € Ð@Ð@¨B˜Ÿš B™œÐ@Ð@Ð@Ð@Ð@Ð@r.   r½  r¾  r¿  rÀ  ©r(   Úfields   ` r,   Ú_print_FracFieldzStrPrinter._print_FracFieldÿ  sj   ø€ € à�YŠYÐ@Ð@Ð@Ð@°%´-Ð@Ñ@Ô@ÑAÔAÐAÐAØ�KŠK˜œÑ%Ô%Ð%Ð% t§{¢{°5´;Ñ'?Ô'?Ð'?Ð'?ðAð 	Ar.   c                ó*   — |                      ¦   «         S r:   r{  )r(   Úelms     r,   Ú_print_FreeGroupElementz"StrPrinter._print_FreeGroupElement  s   € Ø�{Š{‰}Œ}Ðr.   c                ó(   — d|j         ›d|j        ›d�S )Nrq   ú + z*I))r  Úy©r(   Úpolys     r,   Ú_print_GaussianElementz!StrPrinter._print_GaussianElement  s   € € Ø $¤  ¨¬¨¨Ð/Ð/r.   c                ó<   — |                      | t          dd¦  «        S )Nz%s**%sr;  )r<   r   rÐ  s     r,   Ú_print_PolyElementzStrPrinter._print_PolyElement
  s   € Ø�xŠx˜�j¨(°CÑ8Ô8Ð8r.   c                óü   — |j         dk    r|                      |j        ¦  «        S |                      |j        t          d         d¬¦  «        }|                      |j         t          d         d¬¦  «        }|dz   |z   S )Nr   r	   Tr  r  r<  )Údenomr'   Únumerr-   r   )r(   Úfracr×  rÖ  s       r,   Ú_print_FracElementzStrPrinter._print_FracElement  sr   € ØŒ:˜Š?ˆ?Ø—;’;˜tœzÑ*Ô*Ð*à×%Ò% d¤jµ*¸UÔ2CÈDÐ%ÑQÔQˆEØ×%Ò% d¤jµ*¸VÔ2DÈTÐ%ÑRÔRˆEØ˜3‘; Ñ&Ð&r.   c                ó¾  ‡ ‡— t           d         dz
  Šg ˆˆ fd„|j        D ¦   «         }}|                     ¦   «         D �]t\  }}g }t          |¦  «        D ]N\  }}|dk    rC|dk    r|                     ||         ¦  «         Œ-|                     ||         d|z  z   ¦  «         ŒOd                     |¦  «        }|j        r4|rd‰                      |¦  «        z   dz   }	nz‰                      |¦  «        }	nd|rM|t          j	        u r| 
                    d	|g¦  «         ŒÞ|t          j        u r| 
                    d
|g¦  «         �Œ‰                      |¦  «        }	|s|	}
n|	dz   |z   }
|
                     d
¦  «        r!| 
                    d
|
dd …         g¦  «         �Œ]| 
                    d	|
g¦  «         �Œv|d         dv r)|                     d¦  «        }|d
k    rd
|d         z   |d<   |j        j        dz   }ddlm} 	 |d|                     ¦   «         z  z  }n%# |$ r |d|                     ¦   «         z  z  }Y nw xY w|dz  }t          |¦  «        D ]a\  }}t)          |¦  «        dk    rI|d d…         dk    r;|t)          |¦  «        dz
  d …         dk    r|dt)          |¦  «        dz
  …         ||<   Œb|d                     |¦  «        d                     |¦  «        fz  S )Nr  r   c                ó<   •— g | ]}‰                      |‰¦  «        ‘ŒS r1   r2   )r3   r’   Ú	ATOM_PRECr(   s     €€r,   r4   z*StrPrinter._print_Poly.<locals>.<listcomp>  s)   ø€ ÐPÐPÐPÀ˜D×-Ò-¨a°Ñ;Ô;ÐPÐPÐPr.   r   z**%dr;  rq   rs   rD   rC   )rC   rD   z(%s, %s)ÚPolynomialErrorz, modulus=%sz, domain='%s'r  rF   rr   )r   ÚgensrL   r`   r¤   r5   rI   r'   r   rJ  rJ   rB  rH   rK   r{   r|   Úsympy.polys.polyerrorsrÝ  Úget_modulusÚ
get_domainrÚ   )r(   r?   rL   rÞ  ÚmonomÚcoeffÚs_monomrf   r  Ús_coeffÚs_termÚmodifierrì   rÝ  rU  r)   rÜ  s   `               @r,   Ú_print_PolyzStrPrinter._print_Poly  s4  øø€ Ý˜vÔ&¨Ñ*ˆ	ØÐPÐPÐPÐPÐPÀTÄYÐPÑPÔPˆtˆà ŸJšJ™LœLð %	,ñ %	,‰LˆE�5ØˆGå! %Ñ(Ô(ð =ð =‘��1Ø�q’5�5Ø˜A’v�vØŸš t¨A¤wÑ/Ô/Ð/Ð/àŸš t¨A¤w°¸!±Ñ';Ñ<Ô<Ð<øà—h’h˜wÑ'Ô'ˆGàŒ|ð -Øð 1Ø! D§K¢K°Ñ$6Ô$6Ñ6¸Ñ<�G�Gà"Ÿkšk¨%Ñ0Ô0�G�Gàð !Ø¥¤�~�~ØŸš c¨7 ^Ñ4Ô4Ð4Ø à¥¤Ð-Ð-ØŸš c¨7 ^Ñ4Ô4Ð4Ù àŸ+š+ eÑ,Ô,�àð 1Ø ��à  3™¨Ñ0�à× Ò  Ñ%Ô%ð ,Ø—’˜c 6¨!¨"¨"¤:Ð.Ñ/Ô/Ð/Ñ/à—’˜c 6˜]Ñ+Ô+Ð+Ñ+à�Œ8�zÐ!Ð!Ø—y’y ‘|”|ˆHà˜3ŠˆØ  q¤™>��a‘à”Ô(¨9Ñ4ˆà:Ð:Ð:Ð:Ð:Ð:ð	:Ø�n t×'7Ò'7Ñ'9Ô'9Ñ9Ñ9ˆFˆFøØð 	:ð 	:ð 	:Ø�o¨¯ªÑ(9Ô(9Ñ9Ñ9ˆFˆFˆFð	:øøøð 	�#‰ˆå$ T™?œ?ð 	4ð 	4‰KˆE�4Ý�4‰yŒy˜1Š}ˆ} $ r¨ r¤(¨c¢/ /°d½3¸t¹9¼9Àq¹=¸>¸>Ô6JÈcÒ6QÐ6QØ" 1¥S¨¡Y¤Y°¡] ?Ô3��U‘øà˜Ÿš %™œ¨$¯)ª)°D©/¬/Ð:Ñ:Ð:s   Ç<H ÈH9È8H9c                ó   — dS )Nr‘   r1   )r(   rS  s     r,   Ú_print_UniversalSetzStrPrinter._print_UniversalSetW  s   € Øˆ~r.   c                óÐ   — |j         r9|                      |                     ¦   «                              ¦   «         ¦  «        S |                      |                     ¦   «         ¦  «        S r:   )Ú
is_aliasedr'   Úas_polyÚas_exprr>   s     r,   Ú_print_AlgebraicNumberz!StrPrinter._print_AlgebraicNumberZ  sL   € ØŒ?ð 	/Ø—;’;˜tŸ|š|™~œ~×5Ò5Ñ7Ô7Ñ8Ô8Ð8à—;’;˜tŸ|š|™~œ~Ñ.Ô.Ð.r.   c                ó  ‡ — t          |¦  «        }|j        t          j        u r|sd‰                      |j        ¦  «        z  S |j        r˜|j         t          j        u r1|s/dt          ˆ fd„t          j        |j        fD ¦   «         ¦  «        z  S |j        t          j         u r?‰                      t          j        ¦  «        ›d‰  	                    |j        |d¬¦  «        ›�S ‰  	                    |j        |d¬¦  «        }‰ j
        dk    r[|j        j        rO|j        j        dk    r?|                     d	¦  «        r*‰  	                    |j        |d¬¦  «        ›d
|dd…         ›�S ‰  	                    |j        |d¬¦  «        ›d
|›�S )a$  Printing helper function for ``Pow``

        Parameters
        ==========

        rational : bool, optional
            If ``True``, it will not attempt printing ``sqrt(x)`` or
            ``x**S.Half`` as ``sqrt``, and will use ``x**(1/2)``
            instead.

            See examples for additional details

        Examples
        ========

        >>> from sympy import sqrt, StrPrinter
        >>> from sympy.abc import x

        How ``rational`` keyword works with ``sqrt``:

        >>> printer = StrPrinter()
        >>> printer._print_Pow(sqrt(x), rational=True)
        'x**(1/2)'
        >>> printer._print_Pow(sqrt(x), rational=False)
        'sqrt(x)'
        >>> printer._print_Pow(1/sqrt(x), rational=True)
        'x**(-1/2)'
        >>> printer._print_Pow(1/sqrt(x), rational=False)
        '1/sqrt(x)'

        Notes
        =====

        ``sqrt(x)`` is canonicalized as ``Pow(x, S.Half)`` in SymPy,
        so there is no need of defining a separate printer for ``sqrt``.
        Instead, it should be handled here as well.
        zsqrt(%s)z%s/sqrt(%s)c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r:   ry   r—   s     €r,   r™   z(StrPrinter._print_Pow.<locals>.<genexpr>�  s/   øè è € Ð-]Ð-]À3¨d¯kªk¸#Ñ.>Ô.>Ð-]Ð-]Ð-]Ð-]Ð-]Ð-]r.   r<  Fr  Ú
_sympyreprr   z	(Rationalú**r‹  )r   r/  r   ÚHalfr'   rM  rP  r�   rJ  r-   ÚprintmethodrQ  rT  rH   )r(   r?   ÚrationalÚPRECr  s   `    r,   Ú
_print_PowzStrPrinter._print_Pow`  s¤  ø€ õL ˜$ÑÔˆàŒ8•q”vÐÐ hÐØ §¢¨D¬IÑ 6Ô 6Ñ6Ð6àÔð 	TØ”ˆy�AœFÐ"Ð"¨8Ð"ð %¥uÐ-]Ð-]Ð-]Ð-]Í1Ì5ÐRVÔR[ÐJ\Ð-]Ñ-]Ô-]Ñ'^Ô'^Ñ^Ð^ØŒx�AœE˜6Ð!Ð!à"&§+¢+­a¬eÑ"4Ô"4Ð"4Ð"4Ø"&×"3Ò"3°D´I¸tÈEÐ"3Ñ"RÔ"RÐ"RðTð Tð ×Ò˜dœh¨°UÐÑ;Ô;ˆØÔ˜|Ò+Ð+°´Ô0DÐ+ÈÌÌÐWXÊÈð �|Š|˜KÑ(Ô(ð ^Ø#'×#4Ò#4°T´YÀÈUÐ#4Ñ#SÔ#SÐ#SÐ#SÐUVÐWXÐY[ÐW[ÔU\ÐU\Ð]Ð]Ø×,Ò,¨T¬Y¸ÀUÐ,ÑKÔKÐKÐKÈQÈQÐOÐOr.   c                óB   — |                       |j        d         ¦  «        S r-  ©r'   r6   r>   s     r,   Ú_print_UnevaluatedExprz!StrPrinter._print_UnevaluatedExpr�  s   € Ø�{Š{˜4œ9 Qœ<Ñ(Ô(Ð(r.   c                óš   — t          |¦  «        }|                      |j        |d¬¦  «        ›d|                      |j        |d¬¦  «        ›�S )NFr  ró  )r   r-   rM  r/  )r(   r?   r÷  s      r,   Ú_print_MatPowzStrPrinter._print_MatPow   sX   € Ý˜$ÑÔˆØ×,Ò,¨T¬Y¸ÀUÐ,ÑKÔKÐKÐKØ×*Ò*¨4¬8°TÀ%Ð*ÑHÔHÐHðJð 	Jr.   c                ój   — | j                              dd¦  «        rd|z  S t          |j        ¦  «        S )Nr   FzS(%s))r�  r�  r<   rS  r>   s     r,   Ú_print_IntegerzStrPrinter._print_Integer¥  s6   € ØŒ>×ÒÐ.°Ñ6Ô6ð 	$Ø˜dÑ#Ð#Ý�4”6‰{Œ{Ðr.   c                ó   — dS )NÚIntegersr1   r>   s     r,   Ú_print_IntegerszStrPrinter._print_Integersª  ó   € Øˆzr.   c                ó   — dS )NÚNaturalsr1   r>   s     r,   Ú_print_NaturalszStrPrinter._print_Naturals­  r  r.   c                ó   — dS )NÚ	Naturals0r1   r>   s     r,   Ú_print_Naturals0zStrPrinter._print_Naturals0°  ó   € Øˆ{r.   c                ó   — dS )NÚ	Rationalsr1   r>   s     r,   Ú_print_RationalszStrPrinter._print_Rationals³  r
  r.   c                ó   — dS )NÚRealsr1   r>   s     r,   Ú_print_RealszStrPrinter._print_Reals¶  rY   r.   c                ó   — dS )NÚ	Complexesr1   r>   s     r,   Ú_print_ComplexeszStrPrinter._print_Complexes¹  r
  r.   c                ó   — dS )NÚEmptySetr1   r>   s     r,   Ú_print_EmptySetzStrPrinter._print_EmptySet¼  r  r.   c                ó   — dS )NÚEmptySequencer1   r>   s     r,   Ú_print_EmptySequencezStrPrinter._print_EmptySequence¿  s   € Øˆr.   c                ó    — t          |¦  «        S r:   ©r<   r>   s     r,   Ú
_print_intzStrPrinter._print_intÂ  ó   € Ý�4‰yŒyÐr.   c                ó    — t          |¦  «        S r:   r  r>   s     r,   Ú
_print_mpzzStrPrinter._print_mpzÅ  r  r.   c                ó¼   — |j         dk    rt          |j        ¦  «        S | j                             dd¦  «        rd|j        ›d|j         ›�S |j        ›d|j         ›�S )Nr   r   FzS(z)/r<  )rT  r<   rS  r�  r�  r>   s     r,   Ú_print_RationalzStrPrinter._print_RationalÈ  se   € ØŒ6�QŠ;ˆ;Ý�t”v‘;”;ÐàŒ~×!Ò!Ð"2°EÑ:Ô:ð 5ð 5Ø%)¤V V V¨T¬V¨VÐ4Ð4Ø"œf˜f˜f d¤f fÐ-Ð-r.   c                ób   — |j         dk    rt          |j        ¦  «        S d|j        |j         fz  S )Nr   z%d/%d)rT  r<   rS  r>   s     r,   Ú_print_PythonRationalz StrPrinter._print_PythonRationalÐ  s/   € ØŒ6�QŠ;ˆ;Ý�t”v‘;”;Ðà˜dœf d¤fÐ-Ñ-Ð-r.   c                ób   — |j         dk    rt          |j        ¦  «        S |j        ›d|j         ›�S ©Nr   r<  ©Údenominatorr<   Ú	numeratorr>   s     r,   Ú_print_FractionzStrPrinter._print_FractionÖ  ó7   € ØÔ˜qÒ Ð Ý�t”~Ñ&Ô&Ð&à"œn˜n˜n¨dÔ.>Ð.>Ð?Ð?r.   c                ób   — |j         dk    rt          |j        ¦  «        S |j        ›d|j         ›�S r%  r&  r>   s     r,   Ú
_print_mpqzStrPrinter._print_mpqÜ  r*  r.   c                óL  — |j         }| j                             dd ¦  «        }|€|dk     rdnt          |j         ¦  «        }| j        d         du rd}n.| j        d         du rd}n| j        d         dk    r| j        dk    }d	| j        v r| j        d	         nd }d
| j        v r| j        d
         nd }t          |j        ||||¬¦  «        }|                     d¦  «        rd|dd …         z   }n"|                     d¦  «        rd|dd …         z   }|                     d¦  «        }|S )Nr"   rŠ  r   r   TFr   r   r    r!   )Ústrip_zerosÚ	min_fixedÚ	max_fixedz-.0z-0.é   z.0z0.r  rD   )	Ú_precr�  r�  r   Ú_print_levelÚmlib_to_strÚ_mpf_rH   Úremoveprefix)r(   r?   rM   r"   ÚstripÚlowÚhighÚrvs           r,   Ú_print_FloatzStrPrinter._print_Floatâ  sH  € ØŒzˆØŒn× Ò  ¨Ñ-Ô-ˆØˆ;Ø˜a’x�x�!�!¥[°´Ñ%<Ô%<ˆCØŒ>˜+Ô&¨$Ð.Ð.ØˆEˆEØŒ^˜KÔ(¨EÐ1Ð1ØˆEˆEØŒ^˜KÔ(¨FÒ2Ð2ØÔ%¨Ò)ˆEØ',°´Ð'>Ð'>ˆdŒn˜UÔ#Ð#ÀDˆØ(-°´Ð(?Ð(?ˆtŒ~˜eÔ$Ð$ÀTˆÝ˜œ S°eÀsÐVZÐ[Ñ[Ô[ˆØ�=Š=˜ÑÔð 	Ø˜˜A˜B˜Bœ‘ˆBˆBØ�]Š]˜4Ñ Ô ð 	Ø˜˜1˜2˜2œ‘ˆBØ�_Š_˜SÑ!Ô!ˆØˆ	r.   c           
     óª  — ddddddddd	œ}|j         |v rF||j                  ›d
|                      |j        ¦  «        ›d|                      |j        ¦  «        ›d�S |                      |j        t          |¦  «        ¦  «        ›d| j                             |j         ¦  «        p|j         ›d|                      |j        t          |¦  «        ¦  «        ›�S )NÚEqÚNeÚ
AssignmentÚAddAugmentedAssignmentÚSubAugmentedAssignmentÚMulAugmentedAssignmentÚDivAugmentedAssignmentÚModAugmentedAssignment)z==z!=z:=z+=z-=z*=z/=z%=rq   rr   rs   rF   )Úrel_opr'   Úlhsrb   r-   r   r$   r�  )r(   r?   Úcharmaps      r,   Ú_print_RelationalzStrPrinter._print_Relational÷  sò   € ð ØØØ*Ø*Ø*Ø*Ø*ð	
ð 	
ˆð Œ;˜'Ð!Ð!Ø#*¨4¬;Ô#7Ð#7Ð#7¸¿ºÀTÄXÑ9NÔ9NÐ9NÐ9NØ#'§;¢;¨t¬xÑ#8Ô#8Ð#8Ð#8ð:ð :ð "×.Ò.¨t¬x½ÀDÑ9IÔ9IÑJÔJÐJÐJØÔ,×0Ò0°´Ñ=Ô=ÐLÀÄÐLÐLØ×,Ò,¨T¬XµzÀ$Ñ7GÔ7GÑHÔHÐHðJð 	Jr.   c                óN   — d|                       |j        d¬¦  «        |j        fz  S )NzCRootOf(%s, %d)ÚlexrB   )rR   r?   rU  r>   s     r,   Ú_print_ComplexRootOfzStrPrinter._print_ComplexRootOf  s-   € Ø  D§O¢O°D´IÀe OÑ$LÔ$LØ$(¤Jð$0ñ 0ð 	0r.   c                óì   — |                       |j        d¬¦  «        g}|j        t          j        ur-|                     |                      |j        ¦  «        ¦  «         dd                     |¦  «        z  S )NrJ  rB   zRootSum(%s)rr   )rR   r?   Úfunr   ÚIdentityFunctionr¤   r'   r5   rý   s      r,   Ú_print_RootSumzStrPrinter._print_RootSum  sa   € Ø—’ ¤	°�Ñ7Ô7Ð8ˆàŒ8�1Ô-Ð-Ð-Ø�KŠK˜Ÿš D¤HÑ-Ô-Ñ.Ô.Ð.à˜tŸyšy¨™œÑ.Ð.r.   c                ó\  ‡ ‡— ‰j         j        }ˆˆ fd„‰j        D ¦   «         }dd                     |¦  «        z  }ˆ fd„‰j        D ¦   «         }d‰                      ‰j        ¦  «        z  }d‰                      ‰j        ¦  «        z  }|g|z   ||gz   }|›dd                     |¦  «        ›d�S )	Nc                óH   •— g | ]}‰                      |‰j        ¬ ¦  «        ‘ŒS )rB   )rR   r   )r3   r˜   Úbasisr(   s     €€r,   r4   z3StrPrinter._print_GroebnerBasis.<locals>.<listcomp>  s+   ø€ ÐPÐPÐP¸S�—’ ¨E¬K�Ñ8Ô8ÐPÐPÐPr.   r  rr   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r1   ry   )r3   Úgenr(   s     €r,   r4   z3StrPrinter._print_GroebnerBasis.<locals>.<listcomp>  s%   ø€ Ð9Ð9Ð9 c�—’˜SÑ!Ô!Ð9Ð9Ð9r.   zdomain='%s'z
order='%s'rq   rs   )r{   r|   Úexprsr5   rÞ  r'   rÁ  r   )r(   rR  ÚclsrU  rÞ  rÁ  r   r6   s   ``      r,   Ú_print_GroebnerBasiszStrPrinter._print_GroebnerBasis  s¾   øø€ ØŒoÔ&ˆàPÐPÐPÐPÐPÀEÄKÐPÑPÔPˆØ˜Ÿš 5Ñ)Ô)Ñ)ˆà9Ð9Ð9Ð9¨U¬ZÐ9Ñ9Ô9ˆØ §¢¨U¬\Ñ!:Ô!:Ñ:ˆØ˜tŸ{š{¨5¬;Ñ7Ô7Ñ7ˆàˆw˜‰~ ¨ Ñ/ˆà˜3˜3 §	¢	¨$¡¤  Ð0Ð0r.   c                ó„   ‡ — t          |t          ¬¦  «        }d                     ˆ fd„|D ¦   «         ¦  «        }|sdS d|z  S )NrŸ   rr   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r:   ry   ©r3   r)   r(   s     €r,   r™   z(StrPrinter._print_set.<locals>.<genexpr>)  ó/   øè è € Ð=Ð=¨t˜Ÿš TÑ*Ô*Ð=Ð=Ð=Ð=Ð=Ð=r.   zset()r¡   )r¢   r   r5   ©r(   r’   r¦   r6   s   `   r,   Ú
_print_setzStrPrinter._print_set&  sS   ø€ Ý�qÕ.Ð/Ñ/Ô/ˆà�yŠyÐ=Ð=Ð=Ð=°uÐ=Ñ=Ô=Ñ=Ô=ˆØð 	Ø�7Ø˜‰}Ðr.   c                ó
  ‡ ‡— ddl mŠ t          |t          ¬¦  «        }d                     ˆ fd„|D ¦   «         ¦  «        }t          ˆfd„|D ¦   «         ¦  «        rd                     |¦  «        S d                     |¦  «        S )	Nr   )Ú	FiniteSetrŸ   rr   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r:   ry   rZ  s     €r,   r™   z.StrPrinter._print_FiniteSet.<locals>.<genexpr>2  r[  r.   c              3  óB   •K  — | ]}|                      ‰¦  «        V — Œd S r:   )Úhas)r3   r)   r_  s     €r,   r™   z.StrPrinter._print_FiniteSet.<locals>.<genexpr>3  s/   øè è € Ð5Ð5 tˆt�xŠx˜	Ñ"Ô"Ð5Ð5Ð5Ð5Ð5Ð5r.   zFiniteSet({})z{{{}}})Úsympy.sets.setsr_  r¢   r   r5   rK  rì   )r(   r’   r¦   r6   r_  s   `   @r,   Ú_print_FiniteSetzStrPrinter._print_FiniteSet.  sš   øø€ Ø-Ð-Ð-Ð-Ð-Ð-Ý�qÕ.Ð/Ñ/Ô/ˆà�yŠyÐ=Ð=Ð=Ð=°uÐ=Ñ=Ô=Ñ=Ô=ˆÝÐ5Ð5Ð5Ð5¨uÐ5Ñ5Ô5Ñ5Ô5ð 	0Ø"×)Ò)¨$Ñ/Ô/Ð/Ø�Š˜tÑ$Ô$Ð$r.   c                óœ   ‡ — t          |t          ¬¦  «        }d                     ˆ fd„|D ¦   «         ¦  «        }d                     |¦  «        S )NrŸ   rr   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r:   ry   r—   s     €r,   r™   z.StrPrinter._print_Partition.<locals>.<genexpr>:  s/   øè è € Ð;Ð;¨c˜Ÿš SÑ)Ô)Ð;Ð;Ð;Ð;Ð;Ð;r.   zPartition({}))r¢   r   r5   rì   r\  s   `   r,   Ú_print_PartitionzStrPrinter._print_Partition7  sP   ø€ Ý�qÕ.Ð/Ñ/Ô/ˆà�yŠyÐ;Ð;Ð;Ð;°UÐ;Ñ;Ô;Ñ;Ô;ˆØ×%Ò% dÑ+Ô+Ð+r.   c                ó:   — |sdS d|                       |¦  «        z  S )Nzfrozenset()zfrozenset(%s))r]  ©r(   r’   s     r,   Ú_print_frozensetzStrPrinter._print_frozenset=  s&   € Øð 	!Ø �=Ø §¢°Ñ!3Ô!3Ñ3Ð3r.   c                óž   ‡ ‡— ˆ fd„Šd                      ˆfd„|j        D ¦   «         ¦  «        }d‰                      |j        ¦  «        ›d|›d�S )Nc                óÈ   •— t          | ¦  «        dk    r‰                     | d         ¦  «        S ‰                     | d         ft          | dd …         ¦  «        z   ¦  «        S rØ   rÙ   rÛ   s    €r,   rÝ   z)StrPrinter._print_Sum.<locals>._xab_tostrC  rÞ   r.   rr   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r1   r1   rà   s     €r,   r4   z)StrPrinter._print_Sum.<locals>.<listcomp>H  rá   r.   zSum(rs   râ   rä   s   `  @r,   Ú
_print_SumzStrPrinter._print_SumB  sl   øø€ ð	?ð 	?ð 	?ð 	?ð 	?ð
 �IŠIÐ:Ð:Ð:Ð:¨d¬kÐ:Ñ:Ô:Ñ;Ô;ˆˆØ $§¢¨D¬MÑ :Ô :Ð :Ð :¸A¸A¸AÐ>Ð>r.   c                ó   — |j         S r:   r´   r>   s     r,   Ú_print_SymbolzStrPrinter._print_SymbolK  r$  r.   c                ó   — dS rÏ   r1   r>   s     r,   Ú_print_IdentityzStrPrinter._print_IdentityP  r½   r.   c                ó   — dS )NÚ0r1   r>   s     r,   Ú_print_ZeroMatrixzStrPrinter._print_ZeroMatrixS  r½   r.   c                ó   — dS )Nr9  r1   r>   s     r,   Ú_print_OneMatrixzStrPrinter._print_OneMatrixV  r½   r.   c                ó   — d|j         z  S )NzQ.%sr´   r>   s     r,   Ú_print_PredicatezStrPrinter._print_PredicateY  s   € Ø˜œ	Ñ!Ð!r.   c                ó    — t          |¦  «        S r:   r  r>   s     r,   Ú
_print_strzStrPrinter._print_str\  r  r.   c                ó–   — t          |¦  «        dk    rd|                      |d         ¦  «        z  S d|                      |d¦  «        z  S )Nr   z(%s,)r   r&   rr   )rÚ   r'   r8   r>   s     r,   Ú_print_tuplezStrPrinter._print_tuple_  sE   € Ýˆt‰9Œ9˜Š>ˆ>Ø˜TŸ[š[¨¨a¬Ñ1Ô1Ñ1Ð1à˜DŸNšN¨4°Ñ6Ô6Ñ6Ð6r.   c                ó,   — |                       |¦  «        S r:   )r}  r>   s     r,   Ú_print_TuplezStrPrinter._print_Tuplee  s   € Ø× Ò  Ñ&Ô&Ð&r.   c                óT   — d|                       |j        t          d         ¦  «        z  S )Nz%s.Tr   ró   )r(   ÚTs     r,   Ú_print_TransposezStrPrinter._print_Transposeh  s$   € Ø˜×)Ò)¨!¬%µ¸EÔ1BÑCÔCÑCÐCr.   c                ót   — d|                       |j        ¦  «        ›d|                       |j        ¦  «        ›d�S )NzUniform(rr   rs   )r'   rè   ré   r>   s     r,   Ú_print_UniformzStrPrinter._print_Uniformk  s7   € € Ø$(§K¢K°´Ñ$7Ô$7Ð$7Ð$7¸¿ºÀTÄVÑ9LÔ9LÐ9LÐ9LÐMÐMr.   c                ó`   — | j                              dd¦  «        r
d|j        z  S d|j        z  S )Nr   Fz%s)r�  r�  r   rµ   r>   s     r,   Ú_print_QuantityzStrPrinter._print_Quantityn  s6   € ØŒ>×Ò˜h¨Ñ.Ô.ð 	&Ø˜$œ+Ñ%Ð%Ø�d”iÑÐr.   c                ó¬   ‡ — ˆ fd„|j         D ¦   «         }|d         gd„ t          |dd …         d¦  «        D ¦   «         z   }d                     |¦  «        S )Nc                óV   •— g | ]%}‰                      |t          d          d¬¦  «        ‘Œ&S )r	   Tr  )r-   r   rŒ   s     €r,   r4   z0StrPrinter._print_Quaternion.<locals>.<listcomp>t  s3   ø€ ÐUÐUÐUÀaˆT×Ò˜q¥*¨UÔ"3¸DÐÑAÔAÐUÐUÐUr.   r   c                ó$   — g | ]\  }}|d z   |z   ‘ŒS )r;  r1   )r3   rf   re   s      r,   r4   z0StrPrinter._print_Quaternion.<locals>.<listcomp>u  s$   € Ð<Ð<Ð<¡$ ! Q�a˜‘e˜A‘gÐ<Ð<Ð<r.   r   ÚijkrÎ  )r6   Úzipr5   )r(   r?   r’   rè   s   `   r,   Ú_print_QuaternionzStrPrinter._print_Quaternions  s_   ø€ ØUÐUÐUÐUÈ4Ì9ÐUÑUÔUˆØˆqŒTˆFÐ<Ð<­#¨a°°°¬e°UÑ*;Ô*;Ð<Ñ<Ô<Ñ<ˆØ�zŠz˜!‰}Œ}Ðr.   c                ó    — t          |¦  «        S r:   r  r>   s     r,   Ú_print_DimensionzStrPrinter._print_Dimensionx  r  r.   c                ó   — |j         dz   S r²   r´   r>   s     r,   Ú_print_WildzStrPrinter._print_Wild{  ó   € ØŒy˜3‰Ðr.   c                ó   — |j         dz   S r²   r´   r>   s     r,   Ú_print_WildFunctionzStrPrinter._print_WildFunction~  r‘  r.   c                ó   — |j         S r:   r´   r>   s     r,   Ú_print_WildDotzStrPrinter._print_WildDot�  r$  r.   c                ó   — |j         S r:   r´   r>   s     r,   Ú_print_WildPluszStrPrinter._print_WildPlus„  r$  r.   c                ó   — |j         S r:   r´   r>   s     r,   Ú_print_WildStarzStrPrinter._print_WildStar‡  r$  r.   c                ó€   — | j                              dd¦  «        rdS |                      t          d¦  «        ¦  «        S )Nr   FzS(0)r   )r�  r�  rÿ  r   r>   s     r,   Ú_print_ZerozStrPrinter._print_ZeroŠ  s<   € ØŒ>×ÒÐ.°Ñ6Ô6ð 	Ø�6Ø×"Ò"¥7¨1¡:¤:Ñ.Ô.Ð.r.   c                ó²   — |j         j        }|                      |                     ¦   «         ¦  «        }|                      |j        ¦  «        }|›d|›d|›d�S rp   )r{   r|   r'   Úto_listÚdom)r(   rS  rV  Úreprž  s        r,   Ú
_print_DMPzStrPrinter._print_DMP�  sQ   € ØŒkÔ"ˆØ�kŠk˜!Ÿ)š)™+œ+Ñ&Ô&ˆØ�kŠk˜!œ%Ñ Ô ˆà"˜s˜s C C C¨¨¨Ð-Ð-r.   c                óÒ   — |j         j        }|                      |j        ¦  «        }|                      |j        ¦  «        }|                      |j        ¦  «        }|›d|›d|›d|›d�S rp   )r{   r|   r'   ÚnumÚdenrž  )r(   r?   rV  r¢  r£  rž  s         r,   Ú
_print_DMFzStrPrinter._print_DMF–  sd   € ØŒnÔ%ˆØ�kŠk˜$œ(Ñ#Ô#ˆØ�kŠk˜$œ(Ñ#Ô#ˆØ�kŠk˜$œ(Ñ#Ô#ˆà#& 3 3¨¨¨¨S¨S¨S°#°#°#Ð6Ð6r.   c                ó   — d|j         z  S )NzObject("%s")r´   )r(   rø   s     r,   Ú_print_ObjectzStrPrinter._print_Objectž  s   € Ø ¤Ñ(Ð(r.   c                ó   — d|j         z  S )NzIdentityMorphism(%s))rÁ  ©r(   Úmorphisms     r,   Ú_print_IdentityMorphismz"StrPrinter._print_IdentityMorphism¡  s   € Ø%¨¬Ñ7Ð7r.   c                ó8   — d|j         ›d|j        ›d|j        ›d�S )NzNamedMorphism(rr   z, "z"))rÁ  Úcodomainrµ   r¨  s     r,   Ú_print_NamedMorphismzStrPrinter._print_NamedMorphism¤  s,   € € à”�� Ô!2Ð!2Ð!2°H´M°M°MðCð 	Cr.   c                ó   — d|j         z  S )NzCategory("%s")r´   )r(   Úcategorys     r,   Ú_print_CategoryzStrPrinter._print_Category¨  s   € Ø (¤-Ñ/Ð/r.   c                ó   — |j         j         S r:   r´   )r(   Úmanifolds     r,   Ú_print_ManifoldzStrPrinter._print_Manifold«  s   € ØŒ}Ô!Ð!r.   c                ó   — |j         j         S r:   r´   )r(   Úpatchs     r,   Ú_print_PatchzStrPrinter._print_Patch®  s   € ØŒzŒÐr.   c                ó   — |j         j         S r:   r´   )r(   Úcoordss     r,   Ú_print_CoordSystemzStrPrinter._print_CoordSystem±  s   € ØŒ{ÔÐr.   c                ó:   — |j         j        |j                 j        S r:   ©Ú
_coord_sysr¯   Ú_indexrµ   rÇ  s     r,   Ú_print_BaseScalarFieldz!StrPrinter._print_BaseScalarField´  s   € ØÔÔ'¨¬Ô5Ô:Ð:r.   c                ó@   — d|j         j        |j                 j        z  S )Nze_%sr»  rÇ  s     r,   Ú_print_BaseVectorFieldz!StrPrinter._print_BaseVectorField·  s   € Ø˜Ô(Ô0°´Ô>ÔCÑCÐCr.   c                óž   — |j         }t          |d¦  «        rd|j        j        |j                 j        z  S d|                      |¦  «        z  S )Nr¼  zd%szd(%s))Ú_form_fieldr®   r¼  r¯   r½  rµ   r'   )r(   ÚdiffrÈ  s      r,   Ú_print_DifferentialzStrPrinter._print_Differentialº  sN   € ØÔ ˆÝ�5˜,Ñ'Ô'ð 	0Ø˜5Ô+Ô3°E´LÔAÔFÑFÐFà˜TŸ[š[¨Ñ/Ô/Ñ/Ð/r.   c                óN   — d›d|                       |j        d         ¦  «        ›d�S )NÚTrrq   r   rs   rú  r>   s     r,   Ú	_print_TrzStrPrinter._print_TrÁ  s)   € à˜4˜4 §¢¨T¬Y°q¬\Ñ!:Ô!:Ð!:Ð!:Ð;Ð;r.   c                ó6   — |                       |j        ¦  «        S r:   r­  ri  s     r,   Ú
_print_StrzStrPrinter._print_StrÅ  s   € Ø�{Š{˜1œ6Ñ"Ô"Ð"r.   c                ó¬   — |j         }|                      |¦  «        ›d|                      |j        ¦  «        ›d|                      |j        ¦  «        ›d�S rp   )rt   r'   rF  rb   )r(   r?   Úrels      r,   Ú_print_AppliedBinaryRelationz'StrPrinter._print_AppliedBinaryRelationÈ  sV   € ØŒmˆØ#Ÿ{š{¨3Ñ/Ô/Ð/Ð/Ø#Ÿ{š{¨4¬8Ñ4Ô4Ð4Ð4Ø#Ÿ{š{¨4¬8Ñ4Ô4Ð4Ð4ð6ð 	6r.   )F)r   r:   )Žr|   Ú
__module__Ú__qualname__rõ  r#   Ú__annotations__r$   r-   r8   r@   rR   rU   rX   r\   rg   rk   rn   rv   r}   r‚   r…   rˆ   r“   r�   r§   r©   r°   r¶   r¹   r¼   rÀ   rÄ   rÇ   rÊ   rÍ   rÑ   rÔ   ræ   rï   rñ   rô   rú   rþ   r  r  r
  r  r  r!  r#  r`  rl  rn  rq  rs  ry  r}  r€  r›  rž  r   r£  r¥  r©  r«  r®  r³  r¶  r¹  rÃ  rÉ  rÌ  rÒ  rÔ  rÙ  rè  rê  rï  rø  rû  rý  rÿ  r  r  r	  r  r  r  r  r  r  r  r!  r#  r)  r,  r;  rH  rK  rO  rW  r]  rd  rg  rj  rn  rp  Ú_print_MatrixSymbolÚ_print_RandomSymbolrr  ru  rw  ry  r{  r}  r  r‚  r„  r†  rŒ  rŽ  r�  r“  r•  r—  r™  r›  r   r¤  r¦  rª  r­  r°  r³  r¶  r¹  r¾  rÀ  rÄ  rÇ  rÉ  rÌ  r1   r.   r,   r   r      s»  € € € € € € Ø€KàØØØØØØØð	)ð 	)Ðð 	ð 	ð 	ñ 	ð $&€LÐ%Ð%Ð%Ñ%ð%ð %ð %ð %ðKð Kð Kð Kðð ð ð"ð "ð "ð "ð*ð ð ðð ð ðJð Jð JðEð Eð EðIð Ið IðJð Jð JðNð Nð Nð?ð ?ð ?ð%ð %ð %ð
ð ð ðð ð ð1ð 1ð 1ð[ð [ð [ð
)ð )ð )ð&ð &ð &ð9ð 9ð 9ðð ð ðð ð ðð ð ðMð Mð MðMð Mð Mðð ð ðNð Nð Nð
$ð $ð $ðð ð ðð ð ðDð Dð Dð6ð 6ð 6ð&<ð <ð <ðHð Hð HðHð Hð HðYð Yð YðXð Xð Xð
3ð 3ð 3ð&ð &ð &ð&ð &ð &ðFð Fð FðAð Að Aðð ð ðtFð tFð tFðl
ð 
ð 
ð"
ð 
ð 
ðð ð ðð ð ð@ð @ð @ðð ð ðð ð ð'+ð '+ð '+ðRCð Cð Cðð ð ðð ð ðð ð ð
ð 
ð 
ðð ð ð&ð &ð &ðwð wð wð:ð :ð :ðð ð ð?ð ?ð ?ð
Að Að Að
ð ð ð0ð 0ð 0ð9ð 9ð 9ð'ð 'ð 'ð@;ð @;ð @;ðDð ð ð/ð /ð /ð;Pð ;Pð ;Pð ;Pðz)ð )ð )ðJð Jð Jð
ð ð ð
ð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð.ð .ð .ð.ð .ð .ð@ð @ð @ð@ð @ð @ðð ð ð*Jð Jð Jð*0ð 0ð 0ð/ð /ð /ð1ð 1ð 1ðð ð ð%ð %ð %ð,ð ,ð ,ð4ð 4ð 4ð
?ð ?ð ?ðð ð à'ÐØ'Ððð ð ðð ð ðð ð ð"ð "ð "ðð ð ð7ð 7ð 7ð'ð 'ð 'ðDð Dð DðNð Nð Nð ð  ð  ð
ð ð ð
ð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð/ð /ð /ð
.ð .ð .ð7ð 7ð 7ð)ð )ð )ð8ð 8ð 8ðCð Cð Cð0ð 0ð 0ð"ð "ð "ðð ð ð ð  ð  ð;ð ;ð ;ðDð Dð Dð0ð 0ð 0ð<ð <ð <ð#ð #ð #ð6ð 6ð 6ð 6ð 6r.   r   c                óN   — t          |¦  «        }|                     | ¦  «        }|S )ab  Returns the expression as a string.

    For large expressions where speed is a concern, use the setting
    order='none'. If abbrev=True setting is used then units are printed in
    abbreviated form.

    Examples
    ========

    >>> from sympy import symbols, Eq, sstr
    >>> a, b = symbols('a b')
    >>> sstr(Eq(a + b, 0))
    'Eq(a + b, 0)'
    )r   Údoprint©r?   ÚsettingsrS  r’   s       r,   ÚsstrrÖ  Ï  s%   € õ" 	�8ÑÔ€AØ	�	Š	�$‰Œ€Aà€Hr.   c                  ó   — e Zd ZdZd„ Zd„ ZdS )ÚStrReprPrinterz(internal) -- see sstrreprc                ó    — t          |¦  «        S r:   )r=   ri  s     r,   r{  zStrReprPrinter._print_stré  s   € Ý�A‰wŒwˆr.   c                óV   — |j         j        ›d|                      |j        ¦  «        ›d�S )Nrq   rs   )r{   r|   r'   rµ   ri  s     r,   rÉ  zStrReprPrinter._print_Strì  s,   € àœ;Ô/Ð/Ð/°·²¸Q¼VÑ1DÔ1DÐ1DÐ1DÐEÐEr.   N)r|   rÍ  rÎ  Ú__doc__r{  rÉ  r1   r.   r,   rØ  rØ  æ  s=   € € € € € Ø$Ð$ðð ð ðFð Fð Fð Fð Fr.   rØ  c                óN   — t          |¦  «        }|                     | ¦  «        }|S )zÞreturn expr in mixed str/repr form

       i.e. strings are returned in repr form with quotes, and everything else
       is returned in str form.

       This function could be useful for hooking into sys.displayhook
    )rØ  rÓ  rÔ  s       r,   ÚsstrreprrÝ  ð  s%   € õ 	�xÑ Ô €AØ	�	Š	�$‰Œ€Aà€Hr.   N)#rÛ  Ú
__future__r   Útypingr   Ú
sympy.corer   r   r   r   r	   r
   Úsympy.core.mulr   Úsympy.core.numbersr   Úsympy.core.relationalr   Úsympy.core.sortingr   Úsympy.utilities.iterablesr   r   r   Úprinterr   r   Úmpmath.libmpr   r   r4  r   rÖ  rØ  rÝ  r1   r.   r,   ú<module>rè     sÂ  ððð ð #Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø &Ð &Ð &Ð &Ð &Ð &Ø &Ð &Ð &Ð &Ð &Ð &Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø /Ð /Ð /Ð /Ð /Ð /Ø *Ð *Ð *Ð *Ð *Ð *Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;ðx6ð x6ð x6ð x6ð x6�ñ x6ô x6ð x6ðv €�
ÑÔðð ñ Ôðð,Fð Fð Fð Fð F�Zñ Fô Fð Fð €�ÑÔðð ñ  Ôðð ð r.   