§
    OŠtjã ã            	      óª  — U d Z ddlmZ ddlmZmZmZ ddlZddlm	Z	m
Z
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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"m#Z#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. ddl/m0Z0m1Z2 ddl3m4Z4m5Z5 ddl6Z6erddl7m8Z8 ddl9m:Z: g d¢Z;i dd“dd“dd“dd“dd “d!d"“d#d$“d%d&“d'd(“d)d*“d+d,“d-d.“d/d0“d1d2“d3d4“d5d6“d7d8“i d9d:“d;d<“d=d>“d?d@“dAdB“dCdD“dEdF“dGdH“dIdJ“dKd,“dLdM“dNdD“dOdP“dQdR“dSdT“dUdV“dWdX“¥dYdZd[œ¥Z<h d\£Z=i d]d^„ “d_d`„ “dadb„ “dcdd„ “dedf„ “dgdh„ “didj„ “dkdl„ “dmdn„ “dodp„ “dqdr„ “dsdt„ “dudv„ “dwdx„ “dydz„ “d{d|„ “d}d~„ “d„ d€„ d�„ d‚„ dƒ„ d„„ d…„ d†œ¥Z>d‡e?dˆ<    e@e¦  «        ZA e6jB        d‰¦  «         e6jB        dŠ¦  «        fZCd˜dŽ„ZD G d�„ d�e(¦  «        ZEd˜d‘„ZF e)eE¦  «        d’„ ¦   «         ZGd“„ ZHd™d—„ZIdS )šzC
A Printer which converts an expression into its LaTeX equivalent.
é    )Úannotations)ÚAnyÚCallableÚTYPE_CHECKINGN)ÚAddÚFloatÚModÚMulÚNumberÚSÚSymbolÚExpr)Úgreeks)ÚTuple)ÚFunctionÚAppliedUndefÚ
Derivative)ÚAssocOp)ÚPow)Údefault_sort_key)ÚSympifyError)ÚtrueÚBooleanTrueÚBooleanFalse)Úprecedence_traditional)ÚPrinterÚprint_function)Úsplit_super_subÚrequires_partial)Ú
precedenceÚ
PRECEDENCE)Úprec_to_dpsÚto_str)Úhas_varietyÚsift)Ú	NDimArray)ÚBasisDependent)ÚarcsinÚarccosÚarctanÚsinÚcosÚtanÚsinhÚcoshÚtanhÚsqrtÚlnÚlogÚsecÚcscÚcotÚcothÚreÚimÚfracÚrootÚargÚAlphaz
\mathrm{A}ÚBetaz
\mathrm{B}ÚGammaú\GammaÚDeltaz\DeltaÚEpsilonz
\mathrm{E}ÚZetaz
\mathrm{Z}ÚEtaz
\mathrm{H}ÚThetaz\ThetaÚIotaz
\mathrm{I}ÚKappaz
\mathrm{K}ÚLambdaz\LambdaÚMuz
\mathrm{M}ÚNuz
\mathrm{N}ÚXiz\XiÚomicronÚoÚOmicronz
\mathrm{O}ÚPiz\PiÚRhoz
\mathrm{P}ÚSigmaz\SigmaÚTauz
\mathrm{T}ÚUpsilonz\UpsilonÚPhiz\PhiÚChiz
\mathrm{X}ÚPsiz\PsiÚOmegaz\OmegaÚlamdaz\lambdaÚLamdaÚkhiz\chiÚKhiÚ
varepsilonz\varepsilonÚvarkappaz	\varkappaÚvarphiz\varphiÚvarpiz\varpiÚvarrhoz\varrhoz	\varsigmaz	\vartheta)ÚvarsigmaÚvartheta>
   ÚwpÚellÚethÚmhoÚbethÚhbarÚalephÚgimelÚdalethÚhslashÚmathringc                ó   — d| z   dz   S )Nz
\mathring{Ú}© ©Úss    úR/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/printing/latex.pyú<lambda>rt   [   s   € ˜-¨™/¨$Ñ.€ ó    Úddddotc                ó   — d| z   dz   S )Nz\ddddot{ro   rp   rq   s    rs   rt   rt   \   s   € ˜ A™ dÑ*€ ru   Údddotc                ó   — d| z   dz   S )Nz\dddot{ro   rp   rq   s    rs   rt   rt   ]   ó   € �z !‘| DÑ(€ ru   Úddotc                ó   — d| z   dz   S )Nz\ddot{ro   rp   rq   s    rs   rt   rt   ^   s   € �i ‘k $Ñ&€ ru   Údotc                ó   — d| z   dz   S )Nz\dot{ro   rp   rq   s    rs   rt   rt   _   ó   € �X˜a‘Z ‘_€ ru   Úcheckc                ó   — d| z   dz   S )Nz\check{ro   rp   rq   s    rs   rt   rt   `   rz   ru   Úbrevec                ó   — d| z   dz   S )Nz\breve{ro   rp   rq   s    rs   rt   rt   a   rz   ru   Úacutec                ó   — d| z   dz   S )Nz\acute{ro   rp   rq   s    rs   rt   rt   b   rz   ru   Úgravec                ó   — d| z   dz   S )Nz\grave{ro   rp   rq   s    rs   rt   rt   c   rz   ru   Útildec                ó   — d| z   dz   S )Nz\tilde{ro   rp   rq   s    rs   rt   rt   d   rz   ru   Úhatc                ó   — d| z   dz   S )Nz\hat{ro   rp   rq   s    rs   rt   rt   e   r   ru   Úbarc                ó   — d| z   dz   S )Nz\bar{ro   rp   rq   s    rs   rt   rt   f   r   ru   Úvecc                ó   — d| z   dz   S )Nz\vec{ro   rp   rq   s    rs   rt   rt   g   r   ru   Úprimec                ó   — d| z   dz   S ©NÚ{z}'rp   rq   s    rs   rt   rt   h   s   € �s˜1‘u˜T‘z€ ru   Úprmc                ó   — d| z   dz   S r’   rp   rq   s    rs   rt   rt   i   s   € �S˜‘U˜4‘Z€ ru   Úboldc                ó   — d| z   dz   S ©Nz\boldsymbol{ro   rp   rq   s    rs   rt   rt   k   s   € �o aÑ'¨Ñ,€ ru   Úbmc                ó   — d| z   dz   S r˜   rp   rq   s    rs   rt   rt   l   s   € �O AÑ% dÑ*€ ru   c                ó   — d| z   dz   S )Nz	\mathcal{ro   rp   rq   s    rs   rt   rt   m   ó   € �\ !‘^ DÑ(€ ru   c                ó   — d| z   dz   S )Nz	\mathscr{ro   rp   rq   s    rs   rt   rt   n   rœ   ru   c                ó   — d| z   dz   S )Nz
\mathfrak{ro   rp   rq   s    rs   rt   rt   o   s   € �m A‘o dÑ*€ ru   c                ó   — d| z   dz   S )Nz\left\|{z	}\right\|rp   rq   s    rs   rt   rt   q   s   € �k !‘m LÑ0€ ru   c                ó   — d| z   dz   S )Nz\left\langle{z}\right\ranglerp   rq   s    rs   rt   rt   r   s   € Ð% aÑ'Ð(9Ñ9€ ru   c                ó   — d| z   dz   S ©Nz\left|{z}\right|rp   rq   s    rs   rt   rt   s   ó   € �Z ‘\ +Ñ-€ ru   c                ó   — d| z   dz   S r¢   rp   rq   s    rs   rt   rt   t   r£   ru   )ÚcalÚscrÚfrakÚnormÚavgÚabsÚmagzdict[str, Callable[[str], str]]Úmodifier_dictz[0-9][} ]*$z(\d|\\frac{\d+}{\d+})rr   ÚstrÚreturnc                óÆ   — |                       dd¦  «        } dD ]}|                       |d|z   ¦  «        } Œ|                       dd¦  «        } |                       dd¦  «        } | S )zÉ
    Escape a string such that latex interprets it as plaintext.

    We cannot use verbatim easily with mathjax, so escaping is easier.
    Rules from https://tex.stackexchange.com/a/34586/41112.
    ú\z\textbackslashz&%$#_{}ú~z\textasciitildeú^z\textasciicircum)Úreplace)rr   Úcs     rs   Úlatex_escaperµ      sm   € ð 	
�	Š	�$Ð)Ñ*Ô*€AØð #ð #ˆØ�IŠI�a˜ ™Ñ"Ô"ˆˆØ	�	Š	�#Ð)Ñ*Ô*€AØ	�	Š	�#Ð*Ñ+Ô+€AØ€Hru   c                  ón  ‡ — e Zd ZU dZi dd“dd“dd“dd“dd	“d
d“dd“dd“dd“dd“dd“dd“dd“di “dd“dd“dd“ddddddddddœ	¥Zded<   �dfd „Z�dgd#„Z�dgd$„Z�dh�dgd%„Z	d&„ Z
�dgd'„Z�did)„Z�did*„Z�dh�did+„Z�did,„Z�did-„Z�did.„Z�djd0„Zd1„ Z�dkd4„ZeZeZd5„ Z�dfd6„Zd7„ Zd8„ Zd9„ Zd:„ Zd;„ Zd<„ Zd=„ Zd>„ Z d?„ Z!d@„ Z"�dldB„Z#dC„ Z$dD„ Z%�dmdF„Z&�dndH„Z'dI„ Z(dJ„ Z)dK„ Z*�dodM„Z+dN„ Z,dO„ Z-dP„ Z.dQ„ Z/dR„ Z0dS„ Z1dT„ Z2�dpdV„Z3�df�dqdX„Z4dY„ Z5dZ„ Z6e7d[„ ¦   «         Z8d\„ Z9d]„ Z:d^„ Z;�df�dgd_„Z<e<xZ=Z>�dfd`„Z?�dfda„Z@�dfdb„ZA�dfdc„ZB�dfdd„ZC�dfde„ZDdf„ ZEdg„ ZFdh„ ZGdi„ ZHdj„ ZI�dfdk„ZJ�dfdl„ZK�dfdm„ZL�dfdn„ZM�dfdo„ZN�dfdp„ZO�dfdq„ZP�dfdr„ZQ�dfds„ZR�dfdt„ZS�dfdu„ZT�drdw„ZU�dfdx„ZV�dfdy„ZW�dfdz„ZX�df�dgd{„ZYeYZZ�dfd|„Z[�dfd}„Z\�dfd~„Z]�dfd„Z^�dfd€„Z_�dfd�„Z`�dfd‚„Za�dfdƒ„Zb�dfd„„Zc�dfd…„Zd�dsd‡„Ze�dgdˆ„Zf�dfd‰„Zg�dfdŠ„Zh�dfd‹„Zi�dfdŒ„Zj�dfd�„Zk�dfdŽ„Zl�dfd�„Zm�dfd�„Zn�dfd‘„Zo�dfd’„Zp�dt�dgd”„Zq�dt�dgd•„Zr�dfd–„Zs�dfd—„Zt�dfd˜„Zu�dfd™„Zv�dfdš„Zw�dfd›„Zx�dfdœ„Zy�dfd�„Zz�dfdž„Z{�dfdŸ„Z|�dfd „Z}�dfd¡„Z~�dfd¢„Z�dfd£„Z€�dfd¤„Z��dfd¥„Z‚�dfd¦„Zƒ�dfd§„Z„�dfd¨„Z…�dfd©„Z†�dfdª„Z‡�dfd«„Zˆ�dud¬„Z‰�dfd­„ZŠ�dfd®„Z‹�dfd¯„ZŒ�dfd°„Z�d±„ ZŽd²„ Z��dv�dwd´„Z�e�Z‘�dxd·„Z’�dv�dyd¹„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 �dfdÇ„Z¡dÈ„ Z¢dÉ„ Z£dÊ„ Z¤dË„ Z¥dÌ„ Z¦dÍ„ Z§dÎ„ Z¨dÏ„ Z©dÐ„ Zª�dzdÒ„Z«�d{dÕ„Z¬dÖ„ Z­d×„ Z®dØ„ Z¯dÙ„ Z°dÚ„ Z±dÛ„ Z²dÜ„ Z³dÝ„ Z´dÞ„ Zµ�dfdß„Z¶dà„ Z·dá„ Z¸dâ„ Z¹dã„ Zºdä„ Z»då„ Z¼dæ„ Z½�dfdç„Z¾�dfdè„Z¿�dfdé„ZÀ�dfdê„ZÁ�dfdë„ZÂdì„ ZÃdí„ ZÄdî„ ZÅeÅZÆdï„ ZÇ�dfdð„ZÈ�dfdñ„ZÉ�dfdò„ZÊ�dfdó„ZË�dfdô„ZÌ�dfdõ„ZÍ�dfdö„ZÎ�dfd÷„ZÏdø„ ZÐeÐZÑeÐZÒeÐ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ó�d„ Zô�d„ Zõ�d„ Zö�d„ Z÷�d„ Zø�df�d„Zù�df�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�df�d.„�Z	�d/„ �Z
�d0„ �Z�d1„ �Z�d2„ �Z�d3„ �Z�d4„ �Z�d5„ �Z�d6„ �Z�d7„ �Z�d8„ �Z�d9„ �Z�d:„ �Z�d;„ �Z�d<„ �Z�e�Z�d=„ �Z�d>„ �Z�d?„ �Z�d@„ �Z�dA„ �Z�dB„ �Z�dC„ �Z�dD„ �Z �dE„ �Z!�dF„ �Z"�dG„ �Z#�dH„ �Z$�dI„ �Z%�dJ„ �Z&�dK„ �Z'�dL„ �Z(�dM„ �Z)�dN„ �Z*�dO„ �Z+�dP„ �Z,�dQ„ �Z-�dR„ �Z.�dS„ �Z/�dT„ �Z0�dU„ �Z1�df�dV„�Z2�df�dW„�Z3�df�dX„�Z4�df�dY„�Z5�df�dZ„�Z6�df�d[„�Z7�d\„ �Z8�d]„ �Z9�d^„ �Z:�d_„ �Z;�d`„ �Z<�da„ �Z=�db„ �Z>�dc„ �Z?�dd„ �Z@ˆ f�de„�ZAˆ x�ZBS (}  ÚLatexPrinterÚ_latexÚ	full_precFÚfold_frac_powersÚfold_func_bracketsÚfold_short_fracNÚinv_trig_styleÚabbreviatedÚitexÚln_notationÚlong_frac_ratioÚ	mat_delimú[Úmat_strÚmodeÚplainÚ
mul_symbolÚorderÚsymbol_namesÚroot_notationTÚmat_symbol_styleÚimaginary_unitÚiÚperiodÚdÚdagger)	Úgothic_re_imÚdecimal_separatorÚperm_cyclicÚparenthesize_superÚminÚmaxÚdiff_operatorÚadjoint_styleÚdisable_split_super_subzdict[str, Any]Ú_default_settingsc                ó6  — t          j        | |¦  «         d| j        v r"g d¢}| j        d         |vrt          d¦  «        ‚| j        d         €| j        d         dk    r
d| j        d<   ddd	d
dœ}	 || j        d                  | j        d<   n%# t          $ r | j        d         | j        d<   Y nw xY w	 || j        d         pd         | j        d<   nW# t          $ rJ | j        d                              ¦   «         dv r|d         | j        d<   n| j        d         | j        d<   Y nw xY wdddœ| _        ddddddddœ}| j        d         }|                     ||¦  «        | j        d<   ddddd œ}| j        d!         }|                     ||¦  «        | j        d"<   d S )#NrÅ   )ÚinlinerÆ   Úequationz	equation*zB'mode' must be one of 'inline', 'plain', 'equation' or 'equation*'r¼   rÜ   Tú z \,.\, ú \cdot ú \times )NÚldotr}   ÚtimesrÇ   Úmul_symbol_latexr}   Úmul_symbol_latex_numbers)Ú rÞ   r°   z\,z\:ú\;z\quadú)ú])ú(rÃ   rÍ   z
\mathrm{i}z\text{i}Újz
\mathrm{j}z\text{j})NrÍ   ÚriÚtirê   ÚrjÚtjrÌ   Úimaginary_unit_latexrÏ   z
\mathrm{d}z\text{d})NrÏ   ÚrdÚtdr×   Údiff_operator_latex)r   Ú__init__Ú	_settingsÚ
ValueErrorÚKeyErrorÚstripÚ_delim_dictÚget)ÚselfÚsettingsÚvalid_modesÚmul_symbol_tableÚimaginary_unit_tableÚ	imag_unitÚdiff_operator_tabler×   s           rs   ró   zLatexPrinter.__init__®   sP  € ÝÔ˜˜xÑ(Ô(Ð(à�T”^Ð#Ð#ð(ð (ð (ˆKàŒ~˜fÔ%¨[Ð8Ð8Ý ð "=ñ >ô >ð >ð Œ>Ð+Ô,Ð4Ø”˜vÔ&¨(Ò2Ð2Ø04ˆDŒNÐ,Ñ-ð ØØØ ð	
ð 
Ðð	-à  ¤°Ô!=Ô>ð ŒNÐ-Ñ.Ð.øåð 	-ð 	-ð 	-à”˜|Ô,ð ŒNÐ-Ñ.Ð.Ð.ð	-øøøð
	1à  ¤°Ô!=Ð!FÀÔGð ŒNÐ5Ñ6Ð6øåð 	1ð 	1ð 	1Ø”˜|Ô,×2Ò2Ñ4Ô4ØBðCð Cð % UÔ+ð ”Ð9Ñ:Ð:ð ”N <Ô0ð ”Ð9Ñ:øøð	1øøøð "%¨3Ð/Ð/ˆÔð ØØØØØØð 
ð  
Ðð ”NÐ#3Ô4ˆ	Ø1E×1IÒ1IÈ)ÐU^Ñ1_Ô1_ˆŒÐ-Ñ.ð ØØØð	
ð 
Ðð œ Ô7ˆØ0C×0GÒ0GÈÐWdÑ0eÔ0eˆŒÐ,Ñ-Ð-Ð-s%   Á1B ÂB/Â.B/Â3C ÃAD%Ä$D%r®   r­   c                ó,   — d                      |¦  «        S )Nz\left({}\right)©Úformat©rú   rr   s     rs   Ú_add_parenszLatexPrinter._add_parensë   s   € Ø!×(Ò(¨Ñ+Ô+Ð+ru   c                ó,   — d                      |¦  «        S )Nz\left( {}\right)r  r  s     rs   Ú_add_parens_lspacezLatexPrinter._add_parens_lspaceï   s   € Ø"×)Ò)¨!Ñ,Ô,Ð,ru   c                ó  — t          |¦  «        }|r*|r(|                      |                      |¦  «        ¦  «        S ||k     s|s.||k    r(|                      |                      |¦  «        ¦  «        S |                      |¦  «        S ©N)r   r  Ú_print)rú   ÚitemÚlevelÚis_negÚstrictÚprec_vals         rs   ÚparenthesizezLatexPrinter.parenthesizeò   sŠ   € Ý)¨$Ñ/Ô/ˆØð 	7�fð 	7Ø×#Ò# D§K¢K°Ñ$5Ô$5Ñ6Ô6Ð6à�uÒÐ vÐ°8¸uÒ3DÐ3DØ×#Ò# D§K¢K°Ñ$5Ô$5Ñ6Ô6Ð6à—;’;˜tÑ$Ô$Ð$ru   c                ó|   — d|v r7| j         d         r|                      |¦  «        S d                     |¦  «        S |S )z”
        Protect superscripts in s

        If the parenthesize_super option is set, protect with parentheses, else
        wrap in braces.
        r²   rÔ   z{{{}}})rô   r  r  r  s     rs   rÔ   zLatexPrinter.parenthesize_superü   sH   € ð �!ˆ8ˆ8ØŒ~Ð2Ô3ð *Ø×'Ò'¨Ñ*Ô*Ð*à—’ qÑ)Ô)Ð)Øˆru   c                óÔ   — t          j        | |¦  «        }| j        d         dk    r|S | j        d         dk    rd|z  S | j        d         rd|z  S | j        d         }d|›d|›d	|›d�S )
NrÅ   rÆ   rÜ   z$%s$r¿   z$$%s$$z\begin{ro   z\end{)r   Údoprintrô   )rú   ÚexprÚtexÚenv_strs       rs   r  zLatexPrinter.doprint
  s‡   € ÝŒo˜d DÑ)Ô)ˆàŒ>˜&Ô! WÒ,Ð,ØˆJØŒ^˜FÔ# xÒ/Ð/Ø˜S‘=Ð ØŒ^˜FÔ#ð 	EØ˜s‘?Ð"à”n VÔ,ˆGˆGØ.5¨g¨g°s°s°s¸G¸G¸GÐDÐDru   Úboolc                ó\   — |j         r|j        p|j        o|t          j        uo|j        du  S )zÁ
        Returns True if the expression needs to be wrapped in brackets when
        printed, False otherwise. For example: a + b => True; a => False;
        10 => False; -10 => True.
        F)Ú
is_IntegerÚis_nonnegativeÚis_Atomr   ÚNegativeOneÚis_Rational©rú   r  s     rs   Ú_needs_bracketszLatexPrinter._needs_brackets  sH   € ð ”_Ð<¨Ô)<ð JØœð I¨$µa´mÐ*Cð +HØ.2Ô.>À%Ð.GðKð 	Kru   c                óÌ   — |                       |¦  «        sdS |j        r|                      |¦  «        sdS |j        r|                      |¦  «        sdS |j        s|j        rdS dS )aˆ  
        Returns True if the expression needs to be wrapped in brackets when
        passed as an argument to a function, False otherwise. This is a more
        liberal version of _needs_brackets, in that many expressions which need
        to be wrapped in brackets when added/subtracted/raised to a power do
        not need them when passed to a function. Such an example is a*b.
        FT)r  Úis_MulÚ_mul_is_cleanÚis_PowÚ_pow_is_cleanÚis_AddÚis_Functionr  s     rs   Ú_needs_function_bracketsz%LatexPrinter._needs_function_brackets!  s‡   € ð ×#Ò# DÑ)Ô)ð 	Ø�5ð Œ{ð 	 4×#5Ò#5°dÑ#;Ô#;ð 	Ø�tà”ð  T×%7Ò%7¸Ñ%=Ô%=ð Ø�tà”ð  Ô 0ð Ø�tà�uru   c                óZ  ‡— ddl m} ddlm} ddlm} ‰j        r|s‰                     ¦   «         rdS n)t          ‰¦  «        t          d         k     rdS ‰j
        rdS ‰j        rdS t          ˆfd„t          fD ¦   «         ¦  «        rdS |s t          ˆfd„|||fD ¦   «         ¦  «        rdS d	S )
aÇ  
        Returns True if the expression needs to be wrapped in brackets when
        printed as part of a Mul, False otherwise. This is True for Add,
        but also for some container objects that would not need brackets
        when appearing last in a Mul, e.g. an Integral. ``last=True``
        specifies that this expr is the last to appear in a Mul.
        ``first=True`` specifies that this expr is the first to appear in
        a Mul.
        r   )ÚProduct)ÚSum)ÚIntegralTr
   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  ©Úhas©Ú.0Úxr  s     €rs   ú	<genexpr>z3LatexPrinter._needs_mul_brackets.<locals>.<genexpr>O  ó-   øè è € Ð+Ð+˜qˆt�xŠx˜‰{Œ{Ð+Ð+Ð+Ð+Ð+Ð+ru   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  r-  r/  s     €rs   r2  z3LatexPrinter._needs_mul_brackets.<locals>.<genexpr>R  s-   øè è € ÐBÐB A�D—H’H˜Q‘K”KÐBÐBÐBÐBÐBÐBru   F)Úsympy.concrete.productsr)  Úsympy.concrete.summationsr*  Úsympy.integrals.integralsr+  r!  Úcould_extract_minus_signr   r!   Úis_RelationalÚis_PiecewiseÚanyr	   )rú   r  ÚfirstÚlastr)  r*  r+  s    `     rs   Ú_needs_mul_bracketsz LatexPrinter._needs_mul_brackets8  s  ø€ ð 	4Ð3Ð3Ð3Ð3Ð3Ø1Ð1Ð1Ð1Ð1Ð1Ø6Ð6Ð6Ð6Ð6Ð6àŒ;ð 	Øð ˜T×:Ò:Ñ<Ô<ð Ø�tøÝ# DÑ)Ô)­J°uÔ,=Ò=Ð=Ø�4ØÔð 	Ø�4ØÔð 	Ø�4ÝÐ+Ð+Ð+Ð+¥S FÐ+Ñ+Ô+Ñ+Ô+ð 	Ø�4Øð 	ÝÐBÐBÐBÐB¨(°G¸SÐ)AÐBÑBÔBÑBÔBð	à�4àˆuru   c                ór   ‡— ‰j         rdS t          ˆfd„t          fD ¦   «         ¦  «        rdS ‰j        rdS dS )z±
        Returns True if the expression needs to be wrapped in brackets when
        printed as part of an Add, False otherwise.  This is False for most
        things.
        Tc              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  r-  r/  s     €rs   r2  z3LatexPrinter._needs_add_brackets.<locals>.<genexpr>_  r3  ru   F)r9  r;  r	   r%  r  s    `rs   Ú_needs_add_bracketsz LatexPrinter._needs_add_bracketsW  sU   ø€ ð Ôð 	Ø�4ÝÐ+Ð+Ð+Ð+¥S FÐ+Ñ+Ô+Ñ+Ô+ð 	Ø�4ØŒ;ð 	Ø�4Øˆuru   c                ó.   — |j         D ]}|j        r dS ŒdS )NFT)Úargsr&  )rú   r  r<   s      rs   r"  zLatexPrinter._mul_is_cleane  s.   € Ø”9ð 	ð 	ˆCØŒð Ø�u�uðàˆtru   c                ó8   — |                       |j        ¦  «         S r	  )r  Úbaser  s     rs   r$  zLatexPrinter._pow_is_cleank  s   € Ø×'Ò'¨¬	Ñ2Ô2Ð2Ð2ru   r  c                ó   — |�	d|›d|›d�S |S )Nú\left(ú	\right)^{ro   rp   ©rú   r  Úexps      rs   Ú_do_exponentzLatexPrinter._do_exponentn  s!   € Øˆ?ˆ?Ø.2¨d¨d°C°C°CÐ8Ð8àˆKru   c                óö   ‡ — ‰                       |j        j        ¦  «        }|j        r>ˆ fd„|j        D ¦   «         }d}|                     |d                     |¦  «        ¦  «        S d                     |¦  «        S )Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   ©r
  )r0  rM   rú   s     €rs   ú
<listcomp>z-LatexPrinter._print_Basic.<locals>.<listcomp>w  s#   ø€ Ð4Ð4Ð4 Q�$—+’+˜a‘.”.Ð4Ð4Ð4ru   z"\operatorname{{{}}}\left({}\right)ú, z\text{{{}}})Ú_deal_with_super_subÚ	__class__Ú__name__rC  r  Újoin)rú   r  ÚnameÚlsrr   s   `    rs   Ú_print_BasiczLatexPrinter._print_Basict  sw   ø€ Ø×(Ò(¨¬Ô)@ÑAÔAˆØŒ9ð 	/Ø4Ð4Ð4Ð4¨$¬)Ð4Ñ4Ô4ˆBØ5ˆAØ—8’8˜D $§)¢)¨B¡-¤-Ñ0Ô0Ð0à!×(Ò(¨Ñ.Ô.Ð.ru   Úeú!bool | BooleanTrue | BooleanFalsec                ó   — d|z  S ©Nú	\text{%s}rp   ©rú   rX  s     rs   Ú_print_boolzLatexPrinter._print_bool}  ó   € Ø˜aÑÐru   c                ó   — d|z  S r[  rp   r]  s     rs   Ú_print_NoneTypezLatexPrinter._print_NoneTypeƒ  r_  ru   c                ó  — |                       ||¬¦  «        }d}t          |¦  «        D ]b\  }}|dk    rn"|                     ¦   «         r	|dz  }| }n|dz  }|                      |¦  «        }|                      |¦  «        rd|z  }||z  }Œc|S )N)rÈ   rå   r   ú - ú + ú\left(%s\right))Ú_as_ordered_termsÚ	enumerater8  r
  rA  )rú   r  rÈ   Útermsr  rÍ   ÚtermÚterm_texs           rs   Ú
_print_AddzLatexPrinter._print_Add†  s¶   € Ø×&Ò& t°5Ð&Ñ9Ô9ˆàˆÝ  Ñ'Ô'ð 	ð 	‰GˆAˆtØ�AŠvˆvØØ×.Ò.Ñ0Ô0ð Ø�u‘�Ø�u��à�u‘�Ø—{’{ 4Ñ(Ô(ˆHØ×'Ò'¨Ñ-Ô-ð 9Ø-°Ñ8�Ø�8‰OˆCˆCàˆ
ru   c                óL  — ddl m} |j        dk    rdS  ||¦  «        }|j        }|j        }|j        d         |dz
  k    r
||dz
  ggz   }d}|D ](}|t          |¦  «                             dd¦  «        z  }Œ)|                     d	d
¦  «        }|                     dd¦  «        }|S )Nr   ©ÚPermutationú\left( \right)éÿÿÿÿé   rå   ú,ræ   rÃ   ú\left( rè   ú\right))Ú sympy.combinatorics.permutationsrn  ÚsizeÚcyclic_formÚ
array_formr­   r³   )rú   r  rn  Ú	expr_permÚsizrj  rÍ   s          rs   Ú_print_CyclezLatexPrinter._print_Cycle™  sÎ   € Ø@Ð@Ð@Ð@Ð@Ð@ØŒ9˜Š>ˆ>Ø$Ð$Øˆ{˜4Ñ Ô ˆØÔ$ˆ	ØŒiˆØŒ?˜2Ô #¨¡'Ò)Ð)Ø! c¨A¡g Y KÑ/ˆIØˆØð 	3ð 	3ˆAØ�˜A™œŸš s¨EÑ2Ô2Ñ2ˆHˆHØ×#Ò# C¨Ñ4Ô4ˆØ×#Ò# C¨Ñ4Ô4ˆØˆru   c                óÖ  ‡ — ddl m} ddlm} |j        }|� |d|› d�ddd¬	¦  «         n‰ j                             d
d¦  «        }|r‰                      |¦  «        S |j        dk    rdS ˆ fd„|j	        D ¦   «         }ˆ fd„t          t          |¦  «        ¦  «        D ¦   «         }d                     |¦  «        }d                     |¦  «        }d                     ||f¦  «        }	d|	z  S )Nr   rm  )Ú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Ó   Tro  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  ©r0  r<   rú   s     €rs   rO  z3LatexPrinter._print_Permutation.<locals>.<listcomp>Á  s%   ø€ Ð=Ð=Ð= c�—’˜SÑ!Ô!Ð=Ð=Ð=ru   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  rƒ  s     €rs   rO  z3LatexPrinter._print_Permutation.<locals>.<listcomp>Â  s%   ø€ Ð?Ð?Ð? c�—’˜SÑ!Ô!Ð?Ð?Ð?ru   ú & ú \\ z \begin{pmatrix} %s \end{pmatrix})ru  rn  Úsympy.utilities.exceptionsr}  Úprint_cyclicrô   rù   r{  rv  rx  ÚrangeÚlenrT  )
rú   r  rn  r}  rÓ   ÚlowerÚupperÚrow1Úrow2Úmats
   `         rs   Ú_print_PermutationzLatexPrinter._print_Permutation©  s@  ø€ Ø@Ð@Ð@Ð@Ð@Ð@ØHÐHÐHÐHÐHÐHà!Ô.ˆØÐ"Ø%Ð%ðà+6ðð ð ð */Ø+PØðñ ô ð ð ð œ.×,Ò,¨]¸DÑAÔAˆKàð 	+Ø×$Ò$ TÑ*Ô*Ð*àŒ9˜Š>ˆ>Ø$Ð$à=Ð=Ð=Ð=¨T¬_Ð=Ñ=Ô=ˆØ?Ð?Ð?Ð?­Uµ3°u±:´:Ñ->Ô->Ð?Ñ?Ô?ˆà�zŠz˜%Ñ Ô ˆØ�zŠz˜%Ñ Ô ˆØ�lŠl˜D $˜<Ñ(Ô(ˆØ2°SÑ8Ð8ru   c                ót   — |j         \  }}d|                      |¦  «        ›d|                      |¦  «        ›d�S )Nz\sigma_{z}(rç   )rC  r
  )rú   r  ÚpermÚvars       rs   Ú_print_AppliedPermutationz&LatexPrinter._print_AppliedPermutationÊ  s>   € Ø”I‰	ˆˆcˆcØ%)§[¢[°Ñ%6Ô%6Ð%6Ð%6¸¿ºÀCÑ8HÔ8HÐ8HÐ8HÐIÐIru   c                ó0  — t          |j        ¦  «        }| j        d         rdnd}d| j        v r| j        d         nd }d| j        v r| j        d         nd }t          |j        ||||¬¦  «        }| j        d         }d|v r_|                     d¦  «        \  }}	|	d	         d
k    r
|	dd …         }	| j        d         dk    r|                     dd¦  «        }|›|›d|	›d�S |dk    rdS |dk    rdS | j        d         dk    r|                     dd¦  «        }|S )Nr¹   FTrÕ   rÖ   )Ústrip_zerosÚ	min_fixedÚ	max_fixedrä   rX  r   ú+rq  rÒ   Úcommaú.z{,}z10^{ro   z+infz\inftyz-infz- \infty)r"   Ú_precrô   Úmlib_to_strÚ_mpf_Úsplitr³   )
rú   r  Údpsr÷   ÚlowÚhighÚstr_realÚ	separatorÚmantrJ  s
             rs   Ú_print_FloatzLatexPrinter._print_FloatÎ  sL  € å˜$œ*Ñ%Ô%ˆØœ¨Ô4Ð>��¸$ˆØ',°´Ð'>Ð'>ˆdŒn˜UÔ#Ð#ÀDˆØ(-°´Ð(?Ð(?ˆtŒ~˜eÔ$Ð$ÀTˆÝ˜tœz¨3¸EÈSÐ\`ÐaÑaÔaˆð ”NÐ#=Ô>ˆ	à�(ˆ?ˆ?Ø"Ÿ.š.¨Ñ-Ô-‰KˆT�3à�1Œv˜Š}ˆ}Ø˜!˜"˜"”g�ØŒ~Ð1Ô2°gÒ=Ð=Ø—|’| C¨Ñ.Ô.�à%) T¨9¨9¨9°c°c°cÐ:Ð:Ø˜ÒÐØ�9Ø˜ÒÐØ�;àŒ~Ð1Ô2°gÒ=Ð=Ø#×+Ò+¨C°Ñ6Ô6�ØˆOru   c                ó¨   — |j         }|j        }|                      |t          d         ¦  «        ›d|                      |t          d         ¦  «        ›�S )Nr
   rà   ©Ú_expr1Ú_expr2r  r!   ©rú   r  Úvec1Úvec2s       rs   Ú_print_CrosszLatexPrinter._print_Crossì  sU   € ØŒ{ˆØŒ{ˆØ"&×"3Ò"3°D½*ÀUÔ:KÑ"LÔ"LÐ"LÐ"LØ"&×"3Ò"3°D½*ÀUÔ:KÑ"LÔ"LÐ"LðNð 	Nru   c                óX   — |j         }d|                      |t          d         ¦  «        z  S )Nz\nabla\times %sr
   ©Ú_exprr  r!   ©rú   r  rŽ   s      rs   Ú_print_CurlzLatexPrinter._print_Curlò  s)   € ØŒjˆØ! D×$5Ò$5°c½:ÀeÔ;LÑ$MÔ$MÑMÐMru   c                óX   — |j         }d|                      |t          d         ¦  «        z  S )Nz\nabla\cdot %sr
   r°  r²  s      rs   Ú_print_DivergencezLatexPrinter._print_Divergenceö  s)   € ØŒjˆØ  4×#4Ò#4°S½*ÀUÔ:KÑ#LÔ#LÑLÐLru   c                ó¨   — |j         }|j        }|                      |t          d         ¦  «        ›d|                      |t          d         ¦  «        ›�S )Nr
   rß   r¨  r«  s       rs   Ú
_print_DotzLatexPrinter._print_Dotú  sU   € ØŒ{ˆØŒ{ˆØ!%×!2Ò!2°4½ÀEÔ9JÑ!KÔ!KÐ!KÐ!KØ!%×!2Ò!2°4½ÀEÔ9JÑ!KÔ!KÐ!KðMð 	Mru   c                óX   — |j         }d|                      |t          d         ¦  «        z  S )Nz	\nabla %sr
   r°  ©rú   r  Úfuncs      rs   Ú_print_GradientzLatexPrinter._print_Gradient   ó)   € ØŒzˆØ˜d×/Ò/°µjÀÔ6GÑHÔHÑHÐHru   c                óX   — |j         }d|                      |t          d         ¦  «        z  S )Nz	\Delta %sr
   r°  r¹  s      rs   Ú_print_LaplacianzLatexPrinter._print_Laplacian  r¼  ru   r   c                óò  ‡ ‡‡‡— ddl m} ‰ j        d         Š‰ j        d         Šd!ˆˆ fd„}d!ˆˆ ˆfd„Št          |t          ¦  «        rG|j        }|d         t          j        u s!t          d	„ |d
d …         D ¦   «         ¦  «        r ‰|¦  «        S d}| 	                    ¦   «         r| }d}|j
        r|dz  }d}nd} ||d¬¦  «        \  }}|t          j        u r)t          d
dd¬¦  «        |j        vr| ||¦  «        z  }�ní ||¦  «        }	 ||¦  «        }
t          |
                     ¦   «         ¦  «        }‰ j        d         }‰ j        d         r:|dk    r4d|
vr0‰                      |d¬¦  «        r|d|	›d|
›�z  }�nn||	›d|
›�z  }�nb|��St          |	                     ¦   «         ¦  «        ||z  k    �r*‰                      |d¬¦  «        r|d|
›d‰›d|	›d�z  }�n|j        rít          j        }t          j        }|j        D ]n}‰                      |d¬¦  «        sJt           |||z  ¦  «                             ¦   «         ¦  «        ||z  k    s|j        |j        cxu rdu r	n n||z  }Œi||z  }Œo‰                      |d¬¦  «        r%|d ||¦  «        ›d|
›d‰›d ||¦  «        ›d�	z  }n=|d ||¦  «        ›d|
›d‰› ||¦  «        ›�z  }n|d|
›d‰›|	›�z  }n|d|	›d|
›d�z  }|r|d z  }|S )"Nr   )Úfractionrã   rä   r®   r­   c                ó4  •— | j         s"t          ‰                     | ¦  «        ¦  «        S ‰j        dvr|                      ¦   «         }nt          | j        ¦  «        }t          |d„ d¬¦  «        \  }}t          |d„ d¬¦  «        \  }} ‰||z   |z   ¦  «        S )N)ÚoldÚnonec                ó–   — t          | d¦  «        p9t          | d¦  «        p)t          | t          ¦  «        ot          | j        d¦  «        S )NÚ_scale_factorÚis_physical_constant)ÚhasattrÚ
isinstancer   rE  ©r1  s    rs   rt   z:LatexPrinter._print_Mul.<locals>.convert.<locals>.<lambda>  sN   € ½ÀÀ?Ñ8SÔ8SÐ8yÕW^Ð_`ÐbxÑWyÔWyð 8HÝ)¨!­SÑ1Ô1ð  GÝ& q¤vÐ/EÑFÔFð ru   T)Úbinaryc                ó"   — t          | d¦  «        S )NrÅ  )rÇ  rÉ  s    rs   rt   z:LatexPrinter._print_Mul.<locals>.convert.<locals>.<lambda>  s   € ½ÀÀ?Ñ8SÔ8S€ ru   )r!  r­   r
  rÈ   Úas_ordered_factorsÚlistrC  r%   )r  rC  ÚunitsÚnonunitsÚprefixesÚconvert_argsrú   s        €€rs   Úconvertz(LatexPrinter._print_Mul.<locals>.convert  s¼   ø€ Ø”;ð AÝ˜4Ÿ;š; tÑ,Ô,Ñ-Ô-Ð-à”: _Ð4Ð4Ø×2Ò2Ñ4Ô4�D�Då ¤	™?œ?�Dõ #' tð .Hð .HàPTð#Vñ #Vô #V‘��xõ #' uÐ.SÐ.SÐ\`Ð"aÑ"aÔ"a‘�˜%Ø#�| H¨xÑ$7¸%Ñ$?Ñ@Ô@Ð@ru   c           	     óÆ  •— dx}}t          | ¦  «        D ]Ë\  }}‰                     |¦  «        }t          |d¦  «        s“t          |d¦  «        sƒ‰                     ||dk    |t	          | ¦  «        dz
  k    ¬¦  «        rd|z  }t
          d                              |¦  «        r&t
          d                              |¦  «        r|‰z  }n|r|‰z  }n|r|‰z  }||z  }|}ŒÌ|S )Nrå   rÅ  rÆ  r   rq  )r<  r=  re  )rg  r
  rÇ  r>  rŠ  Ú_between_two_numbers_pÚsearchÚmatch)	rC  Ú_texÚlast_term_texrÍ   ri  rj  Ú	numberseprú   r¤  s	         €€€rs   rÑ  z-LatexPrinter._print_Mul.<locals>.convert_args  s  ø€ Ø#%Ð%ˆD�=å$ T™?œ?ð )ð )‘��4ØŸ;š; tÑ,Ô,�Ý  oÑ6Ô6ð &½'À$ÐH^Ñ:_Ô:_ð &Ø×/Ò/°¸QÀ!ºVØ67½3¸t¹9¼9Àq¹=Ò6Hð 0ñ Kô Kð Aà#5¸Ñ#@˜å.¨qÔ1×8Ò8¸ÑGÔGð *Ý.¨qÔ1×7Ò7¸ÑAÔAð*ð  	Ñ)˜˜Øð *Ø 	Ñ)˜øØð &Ø˜IÑ%�Dà˜Ñ �Ø (��ØˆKru   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S r	  )rÈ  r   )r0  r<   s     rs   r2  z*LatexPrinter._print_Mul.<locals>.<genexpr>;  s,   è è € Ð&SÐ&SÀ3¥z°#µvÑ'>Ô'>Ð&SÐ&SÐ&SÐ&SÐ&SÐ&Sru   rq  Fú- ré   Trå   )Úexactrp  )ÚevaluaterÁ   r¼   é   r²   )r=  rG  z
\right) / z / z	\frac{1}{ro   rt  ú\frac{ú}{rç   ©r®   r­   )Úsympy.simplifyrÀ  rô   rÈ  r
   rC  r   ÚOner;  r8  r%  r   rŠ  rŸ  r>  r!  Úis_commutative)rú   r  rÀ  rÒ  rC  Úinclude_parensr  ÚnumerÚdenomÚsnumerÚsdenomÚldenomÚratioÚaÚbr1  rÑ  rÙ  r¤  s   `               @@@rs   Ú
_print_MulzLatexPrinter._print_Mul  s$  øøøø€ Ø+Ð+Ð+Ð+Ð+Ð+ØœÐ(:Ô;ˆ	ØœÐ(BÔCˆ	ð	Að 	Að 	Að 	Að 	Að 	Að 	Að 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	õ8 �d�CÑ Ô ð 	*Ø”9ˆDØ�AŒw�!œ%ÐÐ¥3Ð&SÐ&SÈ$ÈqÈrÈrÌ(Ð&SÑ&SÔ&SÑ#SÔ#SÐØ#�| DÑ)Ô)Ð)àˆØ×(Ò(Ñ*Ô*ð 	Ø�5ˆDØˆCØŒ{ð &Ø�s‘
�Ø!%�øàˆCà�x ¨DÐ1Ñ1Ô1‰ˆˆuà•A”Eˆ>ˆ>�c ! R°%Ð8Ñ8Ô8ÀÄ	ÐIÐIð �7�7˜4‘=”=Ñ ˆC‰Cð �W˜U‘^”^ˆFØ�W˜U‘^”^ˆFÝ˜Ÿš™œÑ(Ô(ˆFØ”NÐ#4Ô5ˆEØŒ~Ð/Ô0ð !;°V¸q²[°[Ø˜vÐ%Ð%à×+Ò+¨E¸Ð+Ñ>Ô>ð 9Ø�C°f°f°f¸f¸fÐEÑE�C‘Cà¨¨¨°°Ð8Ñ8�C‘CØÑ"Ý˜Ÿš™œÑ'Ô'¨%°©,Ò6Ñ6à×+Ò+¨E¸Ð+Ñ=Ô=ð MØ�CØ!˜6˜6 9 9 9¨f¨f¨fð6ñ 6�C‘Cà”\ð Måœ�AÝœ�AØ"œZð #ð #˜Ø×3Ò3°A¸EÐ3ÑBÔBð #Ý # G G¨A¨a©C¡L¤L×$6Ò$6Ñ$8Ô$8Ñ 9Ô 9¸EÀ&¹LÒ HÐ HØ!"Ô!1°QÔ5EÐ!NÐ!NÐ!NÐ!NÈÐ!NÐ!NÐ!NÐ!NÐ!NØ ™F˜A˜Aà ™F˜A˜AØ×/Ò/°¸Ð/Ñ=Ô=ð JØ˜Ø&˜w q™zœz˜z˜z¨6¨6¨6°9°9°9¸g¸gÀa¹j¼j¸j¸jð Jñ J˜˜ð ˜Ø&˜w q™zœz˜z˜z¨6¨6¨6°9°9¸g¸gÀa¹j¼j¸jð Jñ J˜˜ð �C°&°&°&¸)¸)ÀVÀVÐLÑL�C�Cà�¨6¨6¨6°6°6°6Ð:Ñ:�àð 	Ø�3‰JˆCØˆ
ru   c                óÐ   — |j         r9|                      |                     ¦   «                              ¦   «         ¦  «        S |                      |                     ¦   «         ¦  «        S r	  )Ú
is_aliasedr
  Úas_polyÚas_exprr  s     rs   Ú_print_AlgebraicNumberz#LatexPrinter._print_AlgebraicNumber{  sL   € ØŒ?ð 	/Ø—;’;˜tŸ|š|™~œ~×5Ò5Ñ7Ô7Ñ8Ô8Ð8à—;’;˜tŸ|š|™~œ~Ñ.Ô.Ð.ru   c                óº   — |                       |j        ¦  «        }|j        rd|› d�S |                       |j                             ¦   «         ¦  «        }d|› d|› d�S )NrG  rt  rP  )r
  ÚpÚis_inertÚalpharò  )rú   r  rõ  r÷  s       rs   Ú_print_PrimeIdealzLatexPrinter._print_PrimeIdeal�  sh   € Ø�KŠK˜œÑÔˆØŒ=ð 	(Ø'˜QÐ'Ð'Ð'Ð'Ø—’˜DœJ×.Ò.Ñ0Ô0Ñ1Ô1ˆØ,˜Ð,Ð,˜eÐ,Ð,Ð,Ð,ru   r   c                ó‚  — |j         j        �rÛ|j         j        }|j         j        }t	          |¦  «        dk    rh|dk    rb| j        d         rU|                      |j        ¦  «        }|dk    rd|z  }n| j        d         rd||fz  }nd||fz  }|j         j        rd|z  S |S | j        d	         r…|dk    r|  	                    |j        t          d
         ¦  «        }|j        j        r|                      |¦  «        }|j        j        r!|                      |j        |›d|›�¬¦  «        S |›d|›d|›d�S |j         j        rª|j        j        rž|j        dk    r|j        ›d|j         ›d�S |j        j        r`|j        j        }|j        j        }||z  t	          |¦  «        k    r2|j         dk    r	d|›d|›d�S d|›d|›dt	          |j         ¦  «        ›d�S |                      |¦  «        S |j        j        r4|                      |j        |                      |j         ¦  «        ¬¦  «        S d}|                      ||¦  «        S )Nrq  rÊ   rÞ  z	\sqrt{%s}r¿   z\root{%d}{%s}z\sqrt[%d]{%s}z\frac{1}{%s}rº   r   ú/©rJ  ú^{ro   rp  z\frac{1}{\frac{rà  ú}}z\frac{1}{(\frac{z})^{z%s^{%s})rJ  r  rõ  Úqrª   rô   r
  rE  Úis_negativer  r!   Ú	is_SymbolrÔ   r&  rä  rî  Ú_helper_print_standard_power)rú   r  rõ  rþ  rE  r  Úbase_pÚbase_qs           rs   Ú
_print_PowzLatexPrinter._print_Powˆ  sx  € àŒ8Ôñ %	-Ø”X”ZˆAØ”X”ZˆAÝ�1‰vŒv˜Š{ˆ{˜q Ašv˜v¨$¬.¸Ô*I˜vØ—{’{ 4¤9Ñ-Ô-�Ø˜’6�6Ø&¨Ñ-�C�CØ”^ FÔ+ð 7Ø*¨a°¨YÑ6�C�Cà*¨a°¨YÑ6�CØ”8Ô'ð Ø*¨SÑ0Ð0à�JØ”Ð 2Ô3ð -¸¸Qº¸Ø×(Ò(¨¬µJ¸uÔ4EÑFÔF�à”9Ô&ð 9Ø×2Ò2°4Ñ8Ô8�DØ”9Ô(ð HØŸ;š; t¤yÀÀÀÀAÀAÐ6F˜;ÑGÔGÐGØ(,¨¨¨a¨a¨a°°°Ð3Ð3Ø”Ô%ð -¨$¬)Ô*Bð -à”9 ’>�>Ø)-¬¨¨°D´H°H°HÐ=Ð=à”9Ô(ð gØ"&¤)¤+�FØ"&¤)¤+�FØ ‘­#¨f©+¬+Ò5Ð5Øœ8 rš>˜>˜>ØAGÀÀÈÈÈÐ#PÐPð *ð IOÈÈÐPVÐPVÐPVÕX[Ð\`Ô\dÑXeÔXeÐXeÐXeÐ#fÐfà—’ tÑ,Ô,Ð,ØŒ9Ô ð 	EØ—;’;˜tœy¨d¯kªk¸$¼(Ñ.CÔ.C�;ÑDÔDÐDØˆØ×0Ò0°°sÑ;Ô;Ð;ru   Útemplatec                ó¾  — |                       |j        ¦  «        }|                      |j        t          d         ¦  «        }|j        j        r|                      |¦  «        }nu|j        j        rd|z  }nct          |j        t          ¦  «        rI| 
                    d¦  «        r4t          j        d|¦  «        r|                     d¦  «        r
|dd…         }|||fz  S )Nr   z{%s}rG  z\\left\(\\d?d?dotrt  é   iùÿÿÿ)r
  rJ  r  rE  r!   r   rÔ   Úis_FloatrÈ  r   Ú
startswithr8   rÖ  Úendswith)rú   r  r  rJ  rE  s        rs   r  z)LatexPrinter._helper_print_standard_powerµ  sÞ   € Ø�kŠk˜$œ(Ñ#Ô#ˆð × Ò  ¤­J°uÔ,=Ñ>Ô>ˆØŒ9Ôð 		Ø×*Ò*¨4Ñ0Ô0ˆDˆDØŒYÔð 	Ø˜T‘>ˆDˆDÝ˜œ¥JÑ/Ô/ð 	Ø—’ 	Ñ*Ô*ð	å”Ð-¨tÑ4Ô4ð	ð —’˜jÑ)Ô)ð	ð
 ˜˜2˜”;ˆDØ˜4 ˜+Ñ%Ð%ru   c                óB   — |                       |j        d         ¦  «        S ©Nr   ©r
  rC  r  s     rs   Ú_print_UnevaluatedExprz#LatexPrinter._print_UnevaluatedExprÆ  s   € Ø�{Š{˜4œ9 Qœ<Ñ(Ô(Ð(ru   c                ó¦  ‡ ‡— t          |j        ¦  «        dk    r*dt          ˆ fd„|j        d         D ¦   «         ¦  «        z  }n4ˆ fd„Šdt                               dˆfd„|j        D ¦   «         ¦  «        z  }t          |j        t          ¦  «        r!|d	‰                      |j        ¦  «        z  z  }n|‰                      |j        ¦  «        z  }|S )
Nrq  z\sum_{%s=%s}^{%s} c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  ©r0  rÍ   rú   s     €rs   rO  z+LatexPrinter._print_Sum.<locals>.<listcomp>Ì  ó#   ø€ Ð>Ð>Ð>¨!�t—{’{ 1‘~”~Ð>Ð>Ð>ru   r   c                ój   •— dt          ˆfd„| d         | d         | d         fD ¦   «         ¦  «        z  S )Nú%s \leq %s \leq %sc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  ©r0  rr   rú   s     €rs   rO  zALatexPrinter._print_Sum.<locals>._format_ineq.<locals>.<listcomp>Ð  ó#   ø€ ÐFÐFÐF¨a˜4Ÿ;š; q™>œ>ÐFÐFÐFru   rq  r   rÞ  ©Útuple©Úlrú   s    €rs   Ú_format_ineqz-LatexPrinter._print_Sum.<locals>._format_ineqÎ  óE   ø€ Ø,ÝÐFÐFÐFÐF°A°a´D¸!¸A¼$ÀÀ!ÄÐ3EÐFÑFÔFÑGÔGñHð Hru   z\sum_{\substack{%s}} ú\\c                ó&   •— g | ]} ‰|¦  «        ‘ŒS rp   rp   ©r0  r  r  s     €rs   rO  z+LatexPrinter._print_Sum.<locals>.<listcomp>Ó  ó!   ø€ Ð!GÐ!GÐ!G°a , ,¨q¡/¤/Ð!GÐ!GÐ!Gru   re  ©	rŠ  Úlimitsr  r­   rT  rÈ  Úfunctionr   r
  ©rú   r  r  r  s   `  @rs   Ú
_print_SumzLatexPrinter._print_SumÉ  sò   øø€ ÝˆtŒ{ÑÔ˜qÒ Ð Ø'ÝÐ>Ð>Ð>Ð>¨t¬{¸1¬~Ð>Ñ>Ô>Ñ?Ô?ñ@ˆCˆCðHð Hð Hð Hð Hð +Ý—’˜Ð!GÐ!GÐ!GÐ!G¸4¼;Ð!GÑ!GÔ!GÑHÔHñIˆCõ �d”m¥SÑ)Ô)ð 	.ØÐ%¨¯ª°D´MÑ(BÔ(BÑBÑBˆCˆCà�4—;’;˜tœ}Ñ-Ô-Ñ-ˆCàˆ
ru   c                ó¦  ‡ ‡— t          |j        ¦  «        dk    r*dt          ˆ fd„|j        d         D ¦   «         ¦  «        z  }n4ˆ fd„Šdt                               dˆfd„|j        D ¦   «         ¦  «        z  }t          |j        t          ¦  «        r!|d	‰                      |j        ¦  «        z  z  }n|‰                      |j        ¦  «        z  }|S )
Nrq  z\prod_{%s=%s}^{%s} c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  r  s     €rs   rO  z/LatexPrinter._print_Product.<locals>.<listcomp>ß  r  ru   r   c                ój   •— dt          ˆfd„| d         | d         | d         fD ¦   «         ¦  «        z  S )Nr  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  r  s     €rs   rO  zELatexPrinter._print_Product.<locals>._format_ineq.<locals>.<listcomp>ã  r  ru   rq  r   rÞ  r  r  s    €rs   r  z1LatexPrinter._print_Product.<locals>._format_ineqá  r  ru   z\prod_{\substack{%s}} r  c                ó&   •— g | ]} ‰|¦  «        ‘ŒS rp   rp   r   s     €rs   rO  z/LatexPrinter._print_Product.<locals>.<listcomp>æ  r!  ru   re  r"  r%  s   `  @rs   Ú_print_ProductzLatexPrinter._print_ProductÜ  sò   øø€ ÝˆtŒ{ÑÔ˜qÒ Ð Ø(ÝÐ>Ð>Ð>Ð>¨t¬{¸1¬~Ð>Ñ>Ô>Ñ?Ô?ñ@ˆCˆCðHð Hð Hð Hð Hð ,Ý—’˜Ð!GÐ!GÐ!GÐ!G¸4¼;Ð!GÑ!GÔ!GÑHÔHñIˆCõ �d”m¥SÑ)Ô)ð 	.ØÐ%¨¯ª°D´MÑ(BÔ(BÑBÑBˆCˆCà�4—;’;˜tœ}Ñ-Ô-Ñ-ˆCàˆ
ru   ú'BasisDependent'c                óÈ  — ddl m} g }||j        k    r|j        j        S t	          ||¦  «        r'|                     ¦   «                              ¦   «         }nd|fg}|D ]Í\  }}t          |j                             ¦   «         ¦  «        }| 	                    d„ ¬¦  «         |D ]ˆ\  }}	|	dk    r| 
                    d|j        z   ¦  «         Œ)|	dk    r| 
                    d|j        z   ¦  «         ŒMd	|                      |	¦  «        z   d
z   }
| 
                    d|
z   |j        z   ¦  «         Œ‰ŒÎd                     |¦  «        }|d         dk    r|dd …         }n
|dd …         }|S )Nr   )ÚVectorc                ó6   — | d                               ¦   «         S r  )Ú__str__rÉ  s    rs   rt   z4LatexPrinter._print_BasisDependent.<locals>.<lambda>ü  s   € ¨!¨A¬$¯,ª,©.¬.€ ru   ©Úkeyrq  rd  rp  rc  rG  rt  rå   ú-é   )Úsympy.vectorr/  ÚzeroÚ_latex_formrÈ  ÚseparateÚitemsrÍ  Ú
componentsÚsortÚappendr
  rT  )rú   r  r/  Úo1r:  ÚsystemÚvectÚ
inneritemsÚkÚvÚarg_strÚoutstrs               rs   Ú_print_BasisDependentz"LatexPrinter._print_BasisDependentï  s‹  € Ø'Ð'Ð'Ð'Ð'Ð'àˆØ�4”9ÒÐØ”9Ô(Ð(Ý�d˜FÑ#Ô#ð 	 Ø—M’M‘O”O×)Ò)Ñ+Ô+ˆEˆEà˜�Y�KˆEà!ð 
	?ð 
	?‰LˆF�DÝ˜dœo×3Ò3Ñ5Ô5Ñ6Ô6ˆJØ�OŠOÐ 8Ð 8ˆOÑ9Ô9Ð9Ø"ð ?ð ?‘��1Ø˜’6�6Ø—I’I˜e a¤mÑ3Ñ4Ô4Ð4Ð4Ø˜"’W�WØ—I’I˜e a¤mÑ3Ñ4Ô4Ð4Ð4à'¨$¯+ª+°a©.¬.Ñ8¸:ÑE�GØ—I’I˜e g™o°´Ñ=Ñ>Ô>Ð>Ð>ð?ð —'’'˜"‘+”+ˆØ�!Œ9˜ÒÐØ˜A˜B˜B”ZˆFˆFà˜A˜B˜B”ZˆFØˆru   c                ó¬   — |                       |j        ¦  «        }d|z   dz   dd                     t          | j         |j        ¦  «        ¦  «        z  z   }|S )Nr“   ro   ú_{%s}rr  )r
  rE  rT  ÚmapÚindices)rú   r  Útex_baser  s       rs   Ú_print_IndexedzLatexPrinter._print_Indexed  sU   € Ø—;’;˜tœyÑ)Ô)ˆØ�(‰l˜3Ñ˜w¨¯ªÝ�”˜Tœ\Ñ*Ô*ñ*,ô *,ñ  ,ñ ,ˆàˆ
ru   c                ó6   — |                       |j        ¦  «        S r	  )r
  Úlabelr  s     rs   Ú_print_IndexedBasezLatexPrinter._print_IndexedBase  s   € Ø�{Š{˜4œ:Ñ&Ô&Ð&ru   c                óZ  — |                       |j        ¦  «        }|j        �‰|                       |j        ¦  «        }|j        �|                       |j        ¦  «        }n|                       t          j        ¦  «        }d                     ||¬¦  «        }d                     ||¬¦  «        S |S )Nz%{lower}\mathrel{{..}}\nobreak {upper})r‹  rŒ  z{{{label}}}_{{{interval}}})rN  Úinterval)r
  rN  rŒ  r‹  r   ÚZeror  )rú   r  rN  rŒ  r‹  rQ  s         rs   Ú
_print_IdxzLatexPrinter._print_Idx  s©   € Ø—’˜DœJÑ'Ô'ˆØŒ:Ð!Ø—K’K ¤
Ñ+Ô+ˆEØŒzÐ%ØŸš D¤JÑ/Ô/��àŸš¥A¤FÑ+Ô+�Ø@×GÒGØ!¨5ð Hñ 2ô 2ˆHà/×6Ò6Ø¨(ð 7ñ 4ô 4ð 4ð ˆru   c           	     ó¸  — t          |j        ¦  «        rd}n| j        d         }d}d}t          |j        ¦  «        D ]u\  }}||z  }|dk    r||›d|                      |¦  «        ›�z  }Œ.||›d|                      |                      |¦  «        ¦  «        ›d|                      |¦  «        ›d�z  }Œv|dk    r
d	|›d
|›d�}nd	|›d|                      |¦  «        ›d|›d�}t          d„ |j        D ¦   «         ¦  «        r.|›d|  	                    |j        t          d         dd¬¦  «        ›�S |›d|  	                    |j        t          d         dd¬¦  «        ›�S )Nz\partialrò   rå   r   rq  rÞ   rü  ro   rß  rà  ú}}{c              3  ó>   K  — | ]}|                      ¦   «         V — Œd S r	  ©r8  ©r0  rÍ   s     rs   r2  z1LatexPrinter._print_Derivative.<locals>.<genexpr>;  s.   è è € Ð?Ð?°ˆq×)Ò)Ñ+Ô+Ð?Ð?Ð?Ð?Ð?Ð?ru   r
   T©r  r  F)r   r  rô   ÚreversedÚvariable_countr
  rÔ   r;  rC  r  r!   )rú   r  Údiff_symbolr  Údimr1  Únums          rs   Ú_print_DerivativezLatexPrinter._print_Derivative%  sÅ  € Ý˜DœIÑ&Ô&ð 	@Ø%ˆKˆKàœ.Ð)>Ô?ˆKàˆØˆÝ˜tÔ2Ñ3Ô3ð 	:ð 	:‰FˆAˆsØ�3‰JˆCØ�aŠxˆxØ ; ; ;°·²¸A±´°Ð?Ñ?��à¨¨¨Ø(,×(?Ò(?ÀÇÂÈAÁÄÑ(OÔ(OÐ(OÐ(OØ(,¯ª°CÑ(8Ô(8Ð(8Ð(8ð:ñ :��ð �!Š8ˆ8ˆ8Ø&1 k k°3°3°3Ð7ˆCˆCð ð ,7¨;¨;¸¿ºÀCÑ8HÔ8HÐ8HÐ8HÈ#È#È#ÐNˆCåÐ?Ð?°T´YÐ?Ñ?Ô?Ñ?Ô?ð 	@Ø"˜s˜s D×$5Ò$5°d´iÝ2<¸UÔ2CØ9=Ø9=ð %6ñ %?ô %?ð %?ð @ð @ð
 ˜3˜3 × 1Ò 1°$´)Ý2<¸UÔ2CØ9>Ø9=ð !2ñ !?ô !?ð !?ð @ð 	@ru   c                óè   ‡ — |j         \  }}}‰                      |¦  «        }ˆ fd„|D ¦   «         }ˆ fd„|D ¦   «         }d                     d„ t          ||¦  «        D ¦   «         ¦  «        }d|›d|›d�S )Nc              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  rN  ©r0  rX  rú   s     €rs   r2  z+LatexPrinter._print_Subs.<locals>.<genexpr>I  ó-   øè è € Ð1Ð1¨�T—[’[ ‘^”^Ð1Ð1Ð1Ð1Ð1Ð1ru   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  rN  rb  s     €rs   r2  z+LatexPrinter._print_Subs.<locals>.<genexpr>J  rc  ru   z\\ c              3  ó>   K  — | ]}|d          dz   |d         z   V — ŒdS )r   ú=rq  Nrp   )r0  rX  s     rs   r2  z+LatexPrinter._print_Subs.<locals>.<genexpr>K  sL   è è € ð !Bð !BØ"#ˆAˆaŒD�3‰J˜˜1œÑð!Bð !Bð !Bð !Bð !Bð !Bru   z\left. z \right|_{\substack{ z }})rC  r
  rT  Úzip)	rú   Úsubsr  rÂ  ÚnewÚ
latex_exprÚ	latex_oldÚ	latex_newÚ
latex_subss	   `        rs   Ú_print_SubszLatexPrinter._print_SubsF  s¯   ø€ Øœ‰ˆˆc�3Ø—[’[ Ñ&Ô&ˆ
Ø1Ð1Ð1Ð1¨SÐ1Ñ1Ô1ˆ	Ø1Ð1Ð1Ð1¨SÐ1Ñ1Ô1ˆ	Ø—[’[ð !Bð !BÝ'*¨9°iÑ'@Ô'@ð!Bñ !Bô !Bñ Bô Bˆ
ˆ
à9C¸¸Ø9C¸¸ðEð 	Eru   c           
     óØ  ‡ ‡— dg }}‰ j         d         Št          |j        ¦  «        dk    rTt          d„ |j        D ¦   «         ¦  «        r6ddt          |j        ¦  «        dz
  z  z   dz   }ˆˆ fd	„|j        D ¦   «         }�nt	          |j        ¦  «        D ]ø}|d
         }|dz  }t          |¦  «        dk    r¨‰ j         d         dk    r‰ j         d         s|dz  }t          |¦  «        dk    r>|d‰                      |d         ¦  «        ›d‰                      |d         ¦  «        ›d�z  }t          |¦  «        dk    r!|d‰                      |d         ¦  «        z  z  }|                     d
d‰›‰                      |¦  «        ›�¦  «         Œù|›d‰                      |j        t          d         t          d„ |j        D ¦   «         ¦  «        d¬¦  «        ›d                     |¦  «        ›�S )Nrå   rò   é   c              3  ó<   K  — | ]}t          |¦  «        d k    V — ŒdS )rq  N)rŠ  )r0  Úlims     rs   r2  z/LatexPrinter._print_Integral.<locals>.<genexpr>U  s,   è è € Ð(NÐ(N¸3­¨S©¬°QªÐ(NÐ(NÐ(NÐ(NÐ(NÐ(Nru   z\irÍ   rq  Úntc                óP   •— g | ]"}d ‰›‰                      |d         ¦  «        ›�‘Œ#S )ú\, r   rN  )r0  Úsymbolr\  rú   s     €€rs   rO  z0LatexPrinter._print_Integral.<locals>.<listcomp>Y  sE   ø€ ð 2ð 2ð 2Ø!˜6ð &1 [°$·+²+¸fÀQ¼iÑ2HÔ2HÐ2HÐIð 2ð 2ð 2ru   r   z\intrÅ   rÜ   r¿   z\limitsr5  ú_{ú}^{rÞ  ro   ú^{%s}ru  rÞ   r
   c              3  ó>   K  — | ]}|                      ¦   «         V — Œd S r	  rW  rX  s     rs   r2  z/LatexPrinter._print_Integral.<locals>.<genexpr>p  s/   è è € Ð>oÐ>oÐ`a¸q×?YÒ?YÑ?[Ô?[Ð>oÐ>oÐ>oÐ>oÐ>oÐ>oru   TrY  )rô   rŠ  r#  ÚallrZ  r
  Úinsertr  r$  r!   r;  rC  rT  )rú   r  r  Úsymbolsrr  rv  r\  s   `     @rs   Ú_print_IntegralzLatexPrinter._print_IntegralP  s/  øø€ Ø˜2ˆWˆØ”nÐ%:Ô;ˆõ ˆtŒ{ÑÔ˜qÒ Ð ¥SÐ(NÐ(NÀ$Ä+Ð(NÑ(NÔ(NÑ%NÔ%NÐ ð ˜#�s 4¤;Ñ/Ô/°!Ñ3Ñ4Ñ4°tÑ;ˆCð2ð 2ð 2ð 2ð 2Ø%)¤[ð2ñ 2ô 2ˆG‰Gõ   ¤Ñ,Ô,ð Sð S�Ø˜Qœ�Ø�w‘�å�s‘8”8˜a’<�<Ø”~ fÔ-°Ò9Ð9Ø$(¤N°6Ô$:ð :à˜zÑ)˜å˜3‘x”x 1’}�}Ø˜¨t¯{ª{¸3¸q¼6Ñ/BÔ/BÐ/BÐ/BØ/3¯{ª{¸3¸q¼6Ñ/BÔ/BÐ/BÐ/Bð Dñ D˜å˜3‘x”x 1’}�}Ø˜w¨$¯+ª+°c¸!´fÑ*=Ô*=Ñ>Ñ>˜à—’˜q˜q°°¸T¿[º[ÈÑ=PÔ=PÐ=PÐ"QÑRÔRÐRÐRà ˜S˜S $×"3Ò"3°D´MÝ4>¸uÔ4EÝ;>Ð>oÐ>oÐeiÔenÐ>oÑ>oÔ>oÑ;oÔ;oØ;?ð #4ñ #Aô #Að #Að  ŸWšW WÑ-Ô-Ð-ð	/ð 	/ru   c                óÒ  — |j         \  }}}}d|                      |¦  «        z  }t          |¦  «        dk    s|t          j        t          j        fv r|d|                      |¦  «        z  z  }n1||                      |¦  «        ›d|                      |¦  «        ›d�z  }t          |t          ¦  «        r|›d|                      |¦  «        ›d�S |›d|                      |¦  «        ›�S )	Nz\lim_{%s \to z+-z%s}r²   ro   rG  rt  rÞ   )rC  r
  r­   r   ÚInfinityÚNegativeInfinityrÈ  r   )rú   r  rX  ÚzÚz0Údirr  s          rs   Ú_print_LimitzLatexPrinter._print_Limitt  sÞ   € Øœ	‰ˆˆ1ˆb�#à §¢¨Q¡¤Ñ/ˆÝˆs‰8Œ8�tÒÐ˜r¥a¤jµ!Ô2DÐ%EÐEÐEØ�6˜DŸKšK¨™OœOÑ+Ñ+ˆCˆCà §¢¨B¡¤  °·²¸SÑ1AÔ1AÐ1AÐ1AÐBÑBˆCå�a�Ñ!Ô!ð 	4Ø+.¨3¨3°·²¸A±´°°Ð?Ð?à"˜s˜s D§K¢K°¡N¤N NÐ3Ð3ru   rº  c                ó  — |                       |¦  «        }|                     d¦  «        }|                     d¦  «        }|t          v rd|z  }n»t          |¦  «        dk    s!|                     d¦  «        s|dk    s|dk    r|}n„|dk    r;|dk    r5d|dt          ||¦  «        …         ›d	|t          ||¦  «        d…         ›�}nC|dk    rd|d|…         ›d	||d…         ›�}n$|dk    rd|d|…         ›d	||d…         ›�}nd
|z  }|S )ak  
        Logic to decide how to render a function to latex
          - if it is a recognized latex name, use the appropriate latex command
          - if it is a single letter, excluding sub- and superscripts, just use that letter
          - if it is a longer name, then put \operatorname{} around it and be
            mindful of undercores in the name
        r²   Ú_z\%srq  r°   r   ú\operatorname{Nro   z\operatorname{%s})rQ  ÚfindÚaccepted_latex_functionsrŠ  r	  rÕ   )rú   rº  ÚsuperscriptidxÚsubscriptidxrU  s        rs   Ú_hprint_FunctionzLatexPrinter._hprint_Function‚  sf  € ð ×(Ò(¨Ñ.Ô.ˆØŸš 3™œˆØ—y’y ‘~”~ˆØÕ+Ð+Ð+Ø˜D‘=ˆDˆDÝ�‰YŒY˜!Š^ˆ^˜tŸš¨tÑ4Ô4ˆ^¸ÈÒ8IÐ8IÈ^Ð_`ÒM`ÐM`ØˆDˆDà Ò!Ð! l°QÒ&6Ð&6Ð&6àÐ:�#˜l¨>Ñ:Ô:Ð:Ô;Ð;Ð;Ø�˜\¨.Ñ9Ô9Ð:Ð:Ô;Ð;ð=��ð   !Ò#Ð#Ð#à˜˜.˜Ô)Ð)Ð)Ø˜˜˜Ô)Ð)ð+��ð  Ò!Ð!Ð!à˜˜,˜Ô'Ð'Ð'Ø˜˜˜Ô'Ð'ð)��ð ,¨dÑ2�Øˆru   r   c                ó<  ‡ — |j         j        }t          ‰ d|z   ¦  «        r2t          |t          ¦  «        s t          ‰ d|z   ¦  «        ||¦  «        S ˆ fd„|j        D ¦   «         }‰ j        d         }d}‰ j        d         o3t          |¦  «        dk    o ‰  	                    |j        d         ¦  «         }g d¢}||v r?|d	k    rn8|d
k    r|d         dk    rdnd|dd…         z   }n|dk    r|dd…         }d}|�d}|r|t          v rd|z  }	nPd|z  }	nJ|�3‰                      |¦  «        }
‰                      |
¦  «        }
|
›d|›d�}	n‰                      |¦  «        }	|r|t          v r|	dz  }	n|	dz  }	n|	dz  }	|r
|�|	d|z  z  }	|	d                     |¦  «        z  S )a#  
        Render functions to LaTeX, handling functions that LaTeX knows about
        e.g., sin, cos, ... by using the proper LaTeX command (\sin, \cos, ...).
        For single-letter function names, render them as regular LaTeX math
        symbols. For multi-letter function names that LaTeX does not know
        about, (e.g., Li, sech) use \operatorname{} so that the function name
        is rendered in Roman font and LaTeX handles spacing properly.

        expr is the expression involving the function
        exp is an exponent
        Ú_print_c                óT   •— g | ]$}t          ‰                     |¦  «        ¦  «        ‘Œ%S rp   )r­   r
  rƒ  s     €rs   rO  z0LatexPrinter._print_Function.<locals>.<listcomp>³  s-   ø€ Ð?Ð?Ð?¨c•C˜Ÿš CÑ(Ô(Ñ)Ô)Ð?Ð?Ð?ru   r½   Fr»   rq  r   )ÚasinÚacosÚatanÚacscÚasecÚacotÚasinhÚacoshÚatanhÚacschÚasechÚacothr¾   Úfullrp  ÚhÚarÚarcNÚpowerTz\%s^{-1}z\operatorname{%s}^{-1}rü  ro   z {%s}ú%sú{\left(%s \right)}ry  rr  )rº  rS  rÇ  rÈ  r   ÚgetattrrC  rô   rŠ  r'  rŠ  r�  rÔ   rT  )rú   r  rJ  rº  rC  r½   Úinv_trig_power_caseÚcan_fold_bracketsÚinv_trig_tablerU  Úfunc_texs   `          rs   Ú_print_FunctionzLatexPrinter._print_Function¢  s7  ø€ ð ŒyÔ!ˆÝ�4˜ TÑ)Ñ*Ô*ð =	)Ý˜t¥\Ñ2Ô2ð=	)à2•7˜4 ¨TÑ!1Ñ2Ô2°4¸Ñ=Ô=Ð=à?Ð?Ð?Ð?°T´YÐ?Ñ?Ô?ˆDð "œ^Ð,<Ô=ˆNà"'Ðà $¤Ð/CÔ Dð !@Ý�D‘	”	˜Q’ð!@à×1Ò1°$´)¸A´,Ñ?Ô?Ð?ð ðð ð ˆNð �~Ð%Ð%Ø! ]Ò2Ð2ØØ# vÒ-Ð-Ø$(¨¤H°¢O O˜D˜D¸À$ÀqÀrÀrÄ(ÑJ�D�DØ# wÒ.Ð.Ø   œ8�DØ*.Ð'ð �Ø,1Ð)à"ð 
3ØÕ3Ð3Ð3Ø&¨Ñ-�D�Dà4°tÑ;�D�DØ�Ø×0Ò0°Ñ6Ô6�Ø×2Ò2°8Ñ<Ô<�Ø%- X X¨s¨s¨sÐ3��à×,Ò,¨TÑ2Ô2�à ð .ØÕ3Ð3Ð3ð ˜HÑ$�D�Dà˜E‘M�D�DàÐ-Ñ-�à"ð ' s Ø˜ 3™Ñ&�à˜#Ÿ(š( 4™.œ.Ñ(Ð(ru   c                óF   — |                       t          |¦  «        ¦  «        S r	  )r�  r­   r  s     rs   Ú_print_UndefinedFunctionz%LatexPrinter._print_UndefinedFunctionî  s   € Ø×$Ò$¥S¨¡Y¤YÑ/Ô/Ð/ru   c                ót   — d|                       |j        ¦  «        ›d|                       |j        ¦  «        ›d�S )Nr“   z}_{\circ}\left({z}\right))r
  r$  r  r  s     rs   Ú_print_ElementwiseApplyFunctionz,LatexPrinter._print_ElementwiseApplyFunctionñ  s<   € € à�KŠK˜œÑ&Ô&Ð&Ð&Ø�KŠK˜œ	Ñ"Ô"Ð"Ð"ð
ð 	
ru   c                ó^   — ddl m} ddlm}m} ddlm} ddlm} ddl	m
} |d|d|d	|d
|d|diS )Nr   )ÚKroneckerDelta)ÚgammaÚ
lowergamma)Úbeta)Ú
DiracDelta)rU   z\deltar@   ú\gammaz\operatorname{B}z\operatorname{Chi})Ú(sympy.functions.special.tensor_functionsr¯  Ú'sympy.functions.special.gamma_functionsr°  r±  Ú&sympy.functions.special.beta_functionsr²  Ú'sympy.functions.special.delta_functionsr³  Ú'sympy.functions.special.error_functionsrU   )rú   r¯  r°  r±  r²  r³  rU   s          rs   Ú_special_function_classesz&LatexPrinter._special_function_classes÷  sŒ   € àKÐKÐKÐKÐKÐKØMÐMÐMÐMÐMÐMÐMÐMØ?Ð?Ð?Ð?Ð?Ð?ØFÐFÐFÐFÐFÐFØ?Ð?Ð?Ð?Ð?Ð?Ø 	Ø˜	Ø˜IØÐ)Ø˜IØÐ*ð,ð 	,ru   c                ó¸   — | j         D ]1}t          ||¦  «        r|j        |j        k    r| j         |         c S Œ2|                      t	          |¦  «        ¦  «        S r	  )rº  Ú
issubclassrS  r�  r­   )rú   r  Úclss      rs   Ú_print_FunctionClassz!LatexPrinter._print_FunctionClass  sc   € ØÔ1ð 	;ð 	;ˆCÝ˜$ Ñ$Ô$ð ;¨¬¸#¼,Ò)FÐ)FØÔ5°cÔ:Ð:Ð:Ð:øØ×$Ò$¥S¨¡Y¤YÑ/Ô/Ð/ru   c                óô   — |j         \  }}t          |¦  «        dk    r|                      |d         ¦  «        }n"|                      t          |¦  «        ¦  «        }d|›d|                      |¦  «        ›d�}|S )Nrq  r   rs  z	 \mapsto ú \right))rC  rŠ  r
  r  )rú   r  r}  r  s       rs   Ú_print_LambdazLatexPrinter._print_Lambda  sr   € Øœ	‰ˆ�åˆw‰<Œ<˜1ÒÐØ—k’k '¨!¤*Ñ-Ô-ˆGˆGà—k’k¥%¨¡.¤.Ñ1Ô1ˆGøà18°°¸$¿+º+ÀdÑ:KÔ:KÐ:KÐ:KÐLˆàˆ
ru   c                ó   — dS )Nz\left( x \mapsto x \right)rp   r  s     rs   Ú_print_IdentityFunctionz$LatexPrinter._print_IdentityFunction  s   € Ø,Ð,ru   c                óî   ‡ — t          |j        t          ¬¦  «        }ˆ fd„|D ¦   «         }dt          |j        ¦  «                             ¦   «         ›dd                     |¦  «        ›d�}|�|›d|›d�S |S )	Nr2  c                ó@   •— g | ]}d ‰                      |¦  «        z  ‘ŒS )r¢  rN  )r0  rv  rú   s     €rs   rO  z:LatexPrinter._hprint_variadic_function.<locals>.<listcomp>  s*   ø€ ÐBÐBÐB°6�5˜4Ÿ;š; vÑ.Ô.Ñ.ÐBÐBÐBru   r°   rG  rP  rt  rü  ro   )ÚsortedrC  r   r­   rº  r‹  rT  )rú   r  rJ  rC  Útexargsr  s   `     rs   Ú_hprint_variadic_functionz&LatexPrinter._hprint_variadic_function  s‰   ø€ Ý�d”iÕ%5Ð6Ñ6Ô6ˆØBÐBÐBÐB¸TÐBÑBÔBˆˆÝ'*¨4¬9¡~¤~×';Ò';Ñ'=Ô'=Ð'=Ð'=Ø'+§y¢y°Ñ'9Ô'9Ð'9Ð'9ð;ˆàˆ?Ø!$   c c cÐ*Ð*àˆJru   c                ó`   — d|                       |j        d         ¦  «        z  }|�|›d|›d�S |S )Nz\left\lfloor{%s}\right\rfloorr   rü  ro   r  ©rú   r  rJ  r  s       rs   Ú_print_floorzLatexPrinter._print_floor&  s;   € Ø.°·²¸T¼YÀq¼\Ñ1JÔ1JÑJˆàˆ?Ø!$   c c cÐ*Ð*àˆJru   c                ó`   — d|                       |j        d         ¦  «        z  }|�|›d|›d�S |S )Nz\left\lceil{%s}\right\rceilr   rü  ro   r  rÊ  s       rs   Ú_print_ceilingzLatexPrinter._print_ceiling.  s;   € Ø,¨t¯{ª{¸4¼9ÀQ¼<Ñ/HÔ/HÑHˆàˆ?Ø!$   c c cÐ*Ð*àˆJru   c                óÂ   — | j         d         s$d|                      |j        d         ¦  «        z  }n#d|                      |j        d         ¦  «        z  }|�|›d|›d�S |S )NrÀ   z\log{\left(%s \right)}r   z\ln{\left(%s \right)}rü  ro   )rô   r
  rC  rÊ  s       rs   Ú
_print_logzLatexPrinter._print_log6  si   € ØŒ~˜mÔ,ð 	GØ+¨d¯kªk¸$¼)ÀA¼,Ñ.GÔ.GÑGˆCˆCà*¨T¯[ª[¸¼À1¼Ñ-FÔ-FÑFˆCàˆ?Ø!$   c c cÐ*Ð*àˆJru   c                ó`   — d|                       |j        d         ¦  «        z  }|�|›d|›d�S |S )Nú\left|{%s}\right|r   rü  ro   r  rÊ  s       rs   Ú
_print_AbszLatexPrinter._print_AbsA  s;   € Ø" T§[¢[°´¸1´Ñ%>Ô%>Ñ>ˆàˆ?Ø!$   c c cÐ*Ð*àˆJru   c                ó&  — | j         d         r0d|                      |j        d         t          d         ¦  «        z  }n?d                     |                      |j        d         t          d         ¦  «        ¦  «        }|                      ||¦  «        S )NrÑ   z\Re{%s}r   ÚAtomz\operatorname{{re}}{{{}}}©rô   r  rC  r!   r  rK  rÊ  s       rs   Ú	_print_rezLatexPrinter._print_reI  ó€   € ØŒ>˜.Ô)ð 	kØ˜t×0Ò0°´¸1´½zÈ&Ô?QÑRÔRÑRˆCˆCà.×5Ò5°d×6GÒ6GÈÌ	ÐRSÌÕV`ÐagÔVhÑ6iÔ6iÑjÔjˆCà× Ò   cÑ*Ô*Ð*ru   c                ó&  — | j         d         r0d|                      |j        d         t          d         ¦  «        z  }n?d                     |                      |j        d         t          d         ¦  «        ¦  «        }|                      ||¦  «        S )NrÑ   z\Im{%s}r   rÔ  z\operatorname{{im}}{{{}}}rÕ  rÊ  s       rs   Ú	_print_imzLatexPrinter._print_imQ  r×  ru   c                ó²  — ddl m}m} t          |j        d         |¦  «        r!|                      |j        d         d¦  «        S t          |j        d         |¦  «        r!|                      |j        d         d¦  «        S |j        d         j        r#d|                      |j        d         ¦  «        z  S d|                      |j        d         ¦  «        z  S )Nr   )Ú
EquivalentÚImpliesz\not\Leftrightarrowz\not\Rightarrowz\neg \left(%s\right)z\neg %s)	Úsympy.logic.boolalgrÛ  rÜ  rÈ  rC  Ú_print_EquivalentÚ_print_ImpliesÚ
is_Booleanr
  )rú   rX  rÛ  rÜ  s       rs   Ú
_print_NotzLatexPrinter._print_NotY  sÑ   € Ø=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ý�a”f˜Q”i Ñ,Ô,ð 	MØ×)Ò)¨!¬&°¬)Ð5KÑLÔLÐLÝ�a”f˜Q”i Ñ)Ô)ð 	FØ×&Ò& q¤v¨a¤yÐ2DÑEÔEÐEØŒF�1ŒIÔ ð 	7Ø*¨T¯[ª[¸¼À¼Ñ-CÔ-CÑCÐCà §¢¨A¬F°1¬IÑ 6Ô 6Ñ6Ð6ru   c                óF  — |d         }|j         r |j        sd|                      |¦  «        z  }nd|                      |¦  «        z  }|dd …         D ]N}|j         r'|j        s |d|›d|                      |¦  «        ›d�z  }Œ0|d|›d|                      |¦  «        ›�z  }ŒO|S )Nr   re  r¢  rq  rÞ   z \left(rt  )rà  Úis_Notr
  )rú   rC  Úcharr<   r  s        rs   Ú_print_LogOpzLatexPrinter._print_LogOpd  sÊ   € Ø�1ŒgˆØŒ>ð 	+ #¤*ð 	+Ø$ t§{¢{°3Ñ'7Ô'7Ñ7ˆCˆCà˜$Ÿ+š+ cÑ*Ô*Ñ*ˆCà˜˜˜”8ð 	<ð 	<ˆCØŒ~ð < c¤jð <Ø�°°°°t·{²{À3Ñ7GÔ7GÐ7GÐ7GÐHÑH��à� D D D¨$¯+ª+°cÑ*:Ô*:Ð*:Ð;Ñ;��àˆ
ru   c                ód   — t          |j        t          ¬¦  «        }|                      |d¦  «        S )Nr2  z\wedge©rÆ  rC  r   rå  ©rú   rX  rC  s      rs   Ú
_print_AndzLatexPrinter._print_Ands  s-   € Ý�a”fÕ"2Ð3Ñ3Ô3ˆØ× Ò   yÑ1Ô1Ð1ru   c                ód   — t          |j        t          ¬¦  «        }|                      |d¦  «        S )Nr2  z\veerç  rè  s      rs   Ú	_print_OrzLatexPrinter._print_Orw  s-   € Ý�a”fÕ"2Ð3Ñ3Ô3ˆØ× Ò   wÑ/Ô/Ð/ru   c                ód   — t          |j        t          ¬¦  «        }|                      |d¦  «        S )Nr2  z\veebarrç  rè  s      rs   Ú
_print_XorzLatexPrinter._print_Xor{  s-   € Ý�a”fÕ"2Ð3Ñ3Ô3ˆØ× Ò   zÑ2Ô2Ð2ru   c                ó<   — |                       |j        |pd¦  «        S )Nz\Rightarrow)rå  rC  )rú   rX  Úaltchars      rs   rß  zLatexPrinter._print_Implies  s   € Ø× Ò  ¤¨Ð)B°NÑCÔCÐCru   c                óh   — t          |j        t          ¬¦  «        }|                      ||pd¦  «        S )Nr2  z\Leftrightarrowrç  )rú   rX  rï  rC  s       rs   rÞ  zLatexPrinter._print_Equivalent‚  s3   € Ý�a”fÕ"2Ð3Ñ3Ô3ˆØ× Ò   wÐ'DÐ2DÑEÔEÐEru   c                ó`   — d|                       |j        d         ¦  «        z  }|�|›d|›d�S |S )Nz\overline{%s}r   rü  ro   r  rÊ  s       rs   Ú_print_conjugatezLatexPrinter._print_conjugate†  s;   € Ø §¢¨T¬Y°q¬\Ñ!:Ô!:Ñ:ˆàˆ?Ø!$   c c cÐ*Ð*àˆJru   c                óp   — d}d|                       |j        d         ¦  «        z  }|�
|›d|›d|›�S |›|›�S )Nz\operatorname{polar\_lift}r£  r   rü  ro   r  )rú   r  rJ  rº  r<   s        rs   Ú_print_polar_liftzLatexPrinter._print_polar_liftŽ  sN   € Ø,ˆØ# d§k¢k°$´)¸A´,Ñ&?Ô&?Ñ?ˆàˆ?Ø#' 4 4¨¨¨¨c¨cÐ2Ð2à"˜d C CÐ(Ð(ru   c                ót   — d|                       |j        d         ¦  «        z  }|                      ||¦  «        S )Nze^{%s}r   )r
  rC  rK  rÊ  s       rs   Ú_print_ExpBasezLatexPrinter._print_ExpBase—  s6   € ð ˜$Ÿ+š+ d¤i°¤lÑ3Ô3Ñ3ˆØ× Ò   cÑ*Ô*Ð*ru   c                ó   — dS )NrX  rp   rI  s      rs   Ú_print_Exp1zLatexPrinter._print_Exp1�  s   € Øˆsru   c                óf   — d|                       |j        d         ¦  «        z  }|�d|›d|›�S d|z  S )Nre  r   zK^{ro   zK%sr  rÊ  s       rs   Ú_print_elliptic_kzLatexPrinter._print_elliptic_k   s@   € Ø  4§;¢;¨t¬y¸¬|Ñ#<Ô#<Ñ<ˆØˆ?ˆ?Ø"% # # s sÐ+Ð+à˜C‘<Ðru   c                óª   — d|                       |j        d         ¦  «        ›d|                       |j        d         ¦  «        ›d�}|�d|›d|›�S d|z  S )	NrG  r   ú	\middle| rq  rt  zF^{ro   zF%sr  rÊ  s       rs   Ú_print_elliptic_fzLatexPrinter._print_elliptic_f§  sc   € € à�[Š[˜œ 1œÑ&Ô&Ð&Ð&¨¯ª°D´I¸a´LÑ(AÔ(AÐ(AÐ(AðCˆàˆ?ˆ?Ø"% # # s sÐ+Ð+à˜C‘<Ðru   c                ó"  — t          |j        ¦  «        dk    rFd|                      |j        d         ¦  «        ›d|                      |j        d         ¦  «        ›d�}n#d|                      |j        d         ¦  «        z  }|�d|›d	|›�S d
|z  S )NrÞ  rG  r   rü  rq  rt  re  zE^{ro   zE%s©rŠ  rC  r
  rÊ  s       rs   Ú_print_elliptic_ezLatexPrinter._print_elliptic_e¯  s—   € ÝˆtŒy‰>Œ>˜QÒÐÐà—’˜TœY qœ\Ñ*Ô*Ð*Ð*¨D¯KªK¸¼	À!¼Ñ,EÔ,EÐ,EÐ,EðGˆCˆCð % t§{¢{°4´9¸Q´<Ñ'@Ô'@Ñ@ˆCØˆ?ˆ?Ø"% # # s sÐ+Ð+à˜C‘<Ðru   c           	     ó¨  — t          |j        ¦  «        dk    rgd|                      |j        d         ¦  «        ›d|                      |j        d         ¦  «        ›d|                      |j        d         ¦  «        ›d�}nEd|                      |j        d         ¦  «        ›d|                      |j        d         ¦  «        ›d�}|�d	|›d
|›�S d|z  S )Nr5  rG  r   ú; rq  rü  rÞ  rt  z\Pi^{ro   z\Pi%srÿ  rÊ  s       rs   Ú_print_elliptic_pizLatexPrinter._print_elliptic_piº  s×   € ÝˆtŒy‰>Œ>˜QÒÐÐà—’˜TœY qœ\Ñ*Ô*Ð*Ð*¨D¯KªK¸¼	À!¼Ñ,EÔ,EÐ,EÐ,EØ—’˜TœY qœ\Ñ*Ô*Ð*Ð*ð,ˆCˆCð ð —’˜TœY qœ\Ñ*Ô*Ð*Ð*¨D¯KªK¸¼	À!¼Ñ,EÔ,EÐ,EÐ,EðGˆCàˆ?ˆ?Ø$' C C¨¨Ð-Ð-à˜c‘>Ð!ru   c                ó°   — |j         d         }t          |j         ¦  «        dk    r|j         d         n|j         d         }d|› d|› d�}|�d|›d|›�S d|z  S )	Nr   rq  rG  rP  rt  z\operatorname{B}^{ro   z\operatorname{B}%s)rC  rŠ  )rú   r  rJ  r1  Úyr  s         rs   Ú_print_betazLatexPrinter._print_betaÇ  so   € ØŒI�aŒLˆå ¤	™NœN¨aÒ/Ð/ˆDŒI�aŒLˆL°T´Y¸q´\ˆØ'˜Ð'Ð'˜QÐ'Ð'Ð'ˆàˆ?ˆ?Ø14°°°c°cÐ:Ð:à(¨3Ñ.Ð.ru   ÚBc           
     óÆ   ‡ — ˆ fd„|j         D ¦   «         }d|d         ›d|d         ›d�}|�d|›d|d	         ›d|d
         ›d|›d|›�
S d|›d|d	         ›d|d
         ›d|›�S )Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  rƒ  s     €rs   rO  z/LatexPrinter._print_betainc.<locals>.<listcomp>Ó  s%   ø€ Ð7Ð7Ð7 c�—’˜SÑ!Ô!Ð7Ð7Ð7ru   rG  r   rP  rq  rt  rˆ  z}_{(rÞ  r5  z)}^{ro   z)})rC  )rú   r  rJ  ÚoperatorÚlargsr  s   `     rs   Ú_print_betainczLatexPrinter._print_betaincÒ  s¦   ø€ Ø7Ð7Ð7Ð7¨T¬YÐ7Ñ7Ô7ˆˆØ(-¨a¬¨¨°%¸´(°(°(Ð;ˆàˆ?ˆ?Ø=E¸X¸XÀuÈQÄxÀxÀxÐQVÐWXÔQYÐQYÐQYÐ[^Ð[^Ð[^Ð`cÐ`cÐdÐdð ð 9A¸¸À%ÈÄ(À(À(ÈEÐRSÌHÈHÈHÐVYÐVYÐZÐZru   c                ó2   — |                       ||d¬¦  «        S )NÚI)r
  )r  rI  s      rs   Ú_print_betainc_regularizedz'LatexPrinter._print_betainc_regularizedÛ  s   € Ø×"Ò" 4¨°sÐ"Ñ;Ô;Ð;ru   c                óª   — d|                       |j        d         ¦  «        ›d|                       |j        d         ¦  «        ›d�}|�d|›d|›�S d|z  S )	NrG  r   rP  rq  rt  z\Gamma^{ro   z\Gamma%sr  rÊ  s       rs   Ú_print_uppergammazLatexPrinter._print_uppergammaÞ  óg   € € Ø(,¯ª°D´I¸a´LÑ(AÔ(AÐ(AÐ(AØ(,¯ª°D´I¸a´LÑ(AÔ(AÐ(AÐ(AðCˆð ˆ?ˆ?Ø'* s s¨C¨CÐ0Ð0à Ñ$Ð$ru   c                óª   — d|                       |j        d         ¦  «        ›d|                       |j        d         ¦  «        ›d�}|�d|›d|›�S d|z  S )	NrG  r   rP  rq  rt  z\gamma^{ro   ú\gamma%sr  rÊ  s       rs   Ú_print_lowergammazLatexPrinter._print_lowergammaç  r  ru   c                óÌ   — d|                       |j        d         ¦  «        z  }|�"|                       |j        ¦  «        ›d|›d|›�S |                       |j        ¦  «        ›|›�S ©Nre  r   rü  ro   )r
  rC  rº  rÊ  s       rs   Ú_hprint_one_arg_funcz!LatexPrinter._hprint_one_arg_funcð  sh   € Ø  4§;¢;¨t¬y¸¬|Ñ#<Ô#<Ñ<ˆàˆ?Ø#'§;¢;¨t¬yÑ#9Ô#9Ð#9Ð#9¸3¸3¸3ÀÀÐDÐDà"Ÿkšk¨$¬)Ñ4Ô4Ð4°c°cÐ:Ð:ru   c                óf   — d|                       |j        d         ¦  «        z  }|�d|›d|›�S d|z  S )Nre  r   z\operatorname{Chi}^{ro   z\operatorname{Chi}%sr  rÊ  s       rs   Ú
_print_ChizLatexPrinter._print_Chiú  sA   € Ø  4§;¢;¨t¬y¸¬|Ñ#<Ô#<Ñ<ˆàˆ?ˆ?Ø36°3°3¸¸Ð<Ð<à*¨SÑ0Ð0ru   c                ó²   — d|                       |j        d         ¦  «        z  }|                       |j        d         ¦  «        }|�d|›d|›d|›�S d|›d|›�S )Nre  rq  r   z\operatorname{E}_{rx  ro   r  )rú   r  rJ  r  Únus        rs   Ú_print_expintzLatexPrinter._print_expint  sk   € Ø  4§;¢;¨t¬y¸¬|Ñ#<Ô#<Ñ<ˆØ�[Š[˜œ 1œÑ&Ô&ˆàˆ?ˆ?Ø68°b°b¸#¸#¸#¸s¸sÐCÐCð ð 24°°°S°SÐ9Ð9ru   c                óf   — d|                       |j        d         ¦  «        z  }|�d|›d|›�S d|z  S )Nre  r   zS^{ro   zS%sr  rÊ  s       rs   Ú_print_fresnelszLatexPrinter._print_fresnels  ó@   € Ø  4§;¢;¨t¬y¸¬|Ñ#<Ô#<Ñ<ˆàˆ?ˆ?Ø"% # # s sÐ+Ð+à˜C‘<Ðru   c                óf   — d|                       |j        d         ¦  «        z  }|�d|›d|›�S d|z  S )Nre  r   zC^{ro   zC%sr  rÊ  s       rs   Ú_print_fresnelczLatexPrinter._print_fresnelc  r   ru   c                óz   — d|                       |j        d         t          d         ¦  «        z  }|�	d|›d|›d�S |S )Nz!%sr   ÚFuncrG  rH  ro   ©r  rC  r!   rÊ  s       rs   Ú_print_subfactorialz LatexPrinter._print_subfactorial  sF   € Ø�t×(Ò(¨¬°1¬µzÀ&Ô7IÑJÔJÑJˆàˆ?ˆ?Ø.1¨c¨c°3°3°3Ð7Ð7àˆJru   c                óx   — d|                       |j        d         t          d         ¦  «        z  }|�|›d|›d�S |S )Nz%s!r   r$  rü  ro   r%  rÊ  s       rs   Ú_print_factorialzLatexPrinter._print_factorial#  sD   € Ø�t×(Ò(¨¬°1¬µzÀ&Ô7IÑJÔJÑJˆàˆ?Ø!$   c c cÐ*Ð*àˆJru   c                óx   — d|                       |j        d         t          d         ¦  «        z  }|�|›d|›d�S |S )Nz%s!!r   r$  rü  ro   r%  rÊ  s       rs   Ú_print_factorial2zLatexPrinter._print_factorial2+  sD   € Ø˜×)Ò)¨$¬)°A¬,½
À6Ô8JÑKÔKÑKˆàˆ?Ø!$   c c cÐ*Ð*àˆJru   c                ó¤   — d|                       |j        d         ¦  «        ›d|                       |j        d         ¦  «        ›d�}|�|›d|›d�S |S )Nz{\binom{r   rà  rq  rý  rü  ro   r  rÊ  s       rs   Ú_print_binomialzLatexPrinter._print_binomial3  sa   € € Ø%)§[¢[°´¸1´Ñ%>Ô%>Ð%>Ð%>Ø%)§[¢[°´¸1´Ñ%>Ô%>Ð%>Ð%>ð@ˆð ˆ?Ø!$   c c cÐ*Ð*àˆJru   c                óÂ   — |j         \  }}d|                      |t          d         ¦  «        z  }d|›d|                      |¦  «        ›d�}|                      ||¦  «        S )Nr¢  r$  r“   ú	}^{\left(ú\right)}©rC  r  r!   r
  rK  )rú   r  rJ  ÚnrB  rE  r  s          rs   Ú_print_RisingFactorialz#LatexPrinter._print_RisingFactorial<  s`   € ØŒy‰ˆˆ1Ø�t×(Ò(¨­J°vÔ,>Ñ?Ô?Ñ?ˆˆà+/¨4¨4°·²¸Q±´°°Ð@ˆà× Ò   cÑ*Ô*Ð*ru   c                óÂ   — |j         \  }}d|                      |t          d         ¦  «        z  }d|                      |¦  «        ›d|›d�}|                      ||¦  «        S )Nr¢  r$  z{\left(z
\right)}_{ro   r0  )rú   r  rJ  r1  rB  Úsubr  s          rs   Ú_print_FallingFactorialz$LatexPrinter._print_FallingFactorialD  s`   € ØŒy‰ˆˆ1Ø�d×'Ò'¨­:°fÔ+=Ñ>Ô>Ñ>ˆˆà+/¯;ª;°q©>¬>¨>¨>¸3¸3¸3Ð?ˆà× Ò   cÑ*Ô*Ð*ru   Úsymc                ó  — d|z  }d}|�$|                      d¦  «        dk    r	|›d|›d�}nd}|›d|                      |j        ¦  «        ›d	|                      |j        ¦  «        ›d
�}|r|                      ||¦  «        }|S )Nr¢  Fr²   rp  rü  ro   Trw  ú}\left(rt  )r‰  r
  rÈ   ÚargumentrK  )rú   r  rJ  r6  r  Úneed_exps         rs   Ú_hprint_BesselBasezLatexPrinter._hprint_BesselBaseL  s£   € Ø�s‰mˆàˆØˆ?Ø�xŠx˜‰}Œ} Ò"Ð"Ø$' C C¨¨¨Ð-��à�à+.¨3¨3°·²¸D¼JÑ0GÔ0GÐ0GÐ0GØ+/¯;ª;°t´}Ñ+EÔ+EÐ+EÐ+EðGˆð ð 	.Ø×#Ò# C¨Ñ-Ô-ˆCØˆ
ru   c                óž   — |sdS d}|d d…         D ]}|d|                       |¦  «        z  z  }Œ||                       |d         ¦  «        z  }|S )Nrå   rp  z%s, rN  )rú   rŽ   rr   rÍ   s       rs   Ú_hprint_veczLatexPrinter._hprint_vec]  se   € Øð 	Ø�2ØˆØ�S�b�S”ð 	)ð 	)ˆAØ�˜$Ÿ+š+ a™.œ.Ñ(Ñ(ˆAˆAØ	ˆT�[Š[˜˜RœÑ!Ô!Ñ!ˆØˆru   c                ó0   — |                       ||d¦  «        S )NÚJ©r;  rI  s      rs   Ú_print_besseljzLatexPrinter._print_besseljf  ó   € Ø×&Ò& t¨S°#Ñ6Ô6Ð6ru   c                ó0   — |                       ||d¦  «        S )Nr  r@  rI  s      rs   Ú_print_besselizLatexPrinter._print_besselii  rB  ru   c                ó0   — |                       ||d¦  «        S )NÚKr@  rI  s      rs   Ú_print_besselkzLatexPrinter._print_besselkl  rB  ru   c                ó0   — |                       ||d¦  «        S )NÚYr@  rI  s      rs   Ú_print_besselyzLatexPrinter._print_besselyo  rB  ru   c                ó0   — |                       ||d¦  «        S )Nr  r@  rI  s      rs   Ú	_print_ynzLatexPrinter._print_ynr  rB  ru   c                ó0   — |                       ||d¦  «        S )Nrê   r@  rI  s      rs   Ú	_print_jnzLatexPrinter._print_jnu  rB  ru   c                ó0   — |                       ||d¦  «        S )NzH^{(1)}r@  rI  s      rs   Ú_print_hankel1zLatexPrinter._print_hankel1x  ó   € Ø×&Ò& t¨S°)Ñ<Ô<Ð<ru   c                ó0   — |                       ||d¦  «        S )NzH^{(2)}r@  rI  s      rs   Ú_print_hankel2zLatexPrinter._print_hankel2{  rQ  ru   c                ó0   — |                       ||d¦  «        S )Nzh^{(1)}r@  rI  s      rs   Ú
_print_hn1zLatexPrinter._print_hn1~  rQ  ru   c                ó0   — |                       ||d¦  «        S )Nzh^{(2)}r@  rI  s      rs   Ú
_print_hn2zLatexPrinter._print_hn2�  rQ  ru   rå   c                ól   — d|                       |j        d         ¦  «        z  }|�
|›d|›d|›�S |›|›�S r  r  ©rú   r  rJ  Únotationr  s        rs   Ú_hprint_airyzLatexPrinter._hprint_airy„  sI   € Ø  4§;¢;¨t¬y¸¬|Ñ#<Ô#<Ñ<ˆàˆ?Ø#+ 8 8¨S¨S¨S°#°#Ð6Ð6à&˜h¨¨Ð,Ð,ru   c                óp   — d|                       |j        d         ¦  «        z  }|�d|›d|›d|›�S |›d|›�S )Nre  r   r“   z
^\prime}^{ro   z^\primer  rY  s        rs   Ú_hprint_airy_primezLatexPrinter._hprint_airy_primeŒ  sM   € Ø  4§;¢;¨t¬y¸¬|Ñ#<Ô#<Ñ<ˆàˆ?ˆ?Ø,4¨H¨H°c°c°c¸3¸3Ð?Ð?à%- X X¨s¨sÐ3Ð3ru   c                ó0   — |                       ||d¦  «        S ©NÚAi©r[  rI  s      rs   Ú_print_airyaizLatexPrinter._print_airyai”  ó   € Ø× Ò   s¨DÑ1Ô1Ð1ru   c                ó0   — |                       ||d¦  «        S ©NÚBira  rI  s      rs   Ú_print_airybizLatexPrinter._print_airybi—  rc  ru   c                ó0   — |                       ||d¦  «        S r_  ©r]  rI  s      rs   Ú_print_airyaiprimezLatexPrinter._print_airyaiprimeš  ó   € Ø×&Ò& t¨S°$Ñ7Ô7Ð7ru   c                ó0   — |                       ||d¦  «        S re  ri  rI  s      rs   Ú_print_airybiprimezLatexPrinter._print_airybiprime�  rk  ru   c                ód  — d|                       t          |j        ¦  «        ¦  «        ›d|                       t          |j        ¦  «        ¦  «        ›d|                      |j        ¦  «        ›d|                      |j        ¦  «        ›d|                       |j        ¦  «        ›d�}|�	d|›d|›d	�}|S )
Nz{{}_{z}F_{ú}\left(\begin{matrix} r†  z \end{matrix}\middle| {ú
} \right)}r“   rx  ro   )r
  rŠ  ÚapÚbqr=  r9  rÊ  s       rs   Ú_print_hyperzLatexPrinter._print_hyper   s®   € € ð �[Š[�˜TœW™œÑ&Ô&Ð&Ð&¨¯ªµC¸¼±L´LÑ(AÔ(AÐ(AÐ(AØ×Ò˜tœwÑ'Ô'Ð'Ð'¨×)9Ò)9¸$¼'Ñ)BÔ)BÐ)BÐ)BØ�kŠk˜$œ-Ñ(Ô(Ð(Ð(ð	*ˆð ˆ?ˆ?Ø"% # # s s sÐ+ˆCØˆ
ru   c                óp  — d|                       t          |j        ¦  «        ¦  «        ›d|                       t          |j        ¦  «        ¦  «        ›d|                       t          |j        ¦  «        ¦  «        ›d|                       t          |j        ¦  «        ¦  «        ›d|                      |j        ¦  «        ›d|                      |j        ¦  «        ›d|                      |j        ¦  «        ›d|                      |j        ¦  «        ›d|                       |j	        ¦  «        ›d�}|�	d	|›d|›d
�}|S )Nz{G_{rP  rx  ro  r…  ú \\z \end{matrix} \middle| {rp  r“   ro   )
r
  rŠ  rq  rr  r™   Úanr=  ÚaotherÚbotherr9  rÊ  s       rs   Ú_print_meijergzLatexPrinter._print_meijerg«  s  € € ð �[Š[�˜TœW™œÑ&Ô&Ð&Ð&¨¯ªµC¸¼±L´LÑ(AÔ(AÐ(AÐ(AØ�kŠk�#˜dœg™,œ,Ñ'Ô'Ð'Ð'¨¯ªµS¸¼±\´\Ñ)BÔ)BÐ)BÐ)BØ×Ò˜tœwÑ'Ô'Ð'Ð'¨×)9Ò)9¸$¼+Ñ)FÔ)FÐ)FÐ)FØ×Ò˜tœwÑ'Ô'Ð'Ð'¨×)9Ò)9¸$¼+Ñ)FÔ)FÐ)FÐ)FØ�kŠk˜$œ-Ñ(Ô(Ð(Ð(ð*ˆð ˆ?ˆ?Ø"% # # s s sÐ+ˆCØˆ
ru   c                óf   — d|                       |j        d         ¦  «        z  }|�d|›d|›�S d|z  S )Nre  r   z\eta^{ro   z\eta%sr  rÊ  s       rs   Ú_print_dirichlet_etaz!LatexPrinter._print_dirichlet_eta¸  s@   € Ø  4§;¢;¨t¬y¸¬|Ñ#<Ô#<Ñ<ˆØˆ?ˆ?Ø%( S S¨#¨#Ð.Ð.Ø˜3‰Ðru   c                óì   — t          |j        ¦  «        dk    r+dt          t          | j        |j        ¦  «        ¦  «        z  }n#d|                      |j        d         ¦  «        z  }|�d|›d|›�S d|z  S )NrÞ  z\left(%s, %s\right)re  r   z\zeta^{ro   z\zeta%s©rŠ  rC  r  rI  r
  rÊ  s       rs   Ú_print_zetazLatexPrinter._print_zeta¾  sv   € ÝˆtŒy‰>Œ>˜QÒÐØ(­5µ°T´[À$Ä)Ñ1LÔ1LÑ+MÔ+MÑMˆCˆCà$ t§{¢{°4´9¸Q´<Ñ'@Ô'@Ñ@ˆCØˆ?ˆ?Ø&) c c¨3¨3Ð/Ð/Ø˜CÑÐru   c                óî   — t          |j        ¦  «        dk    r+dt          t          | j        |j        ¦  «        ¦  «        z  }n#d|                      |j        d         ¦  «        z  }|�	d|›d|›d�S d|z  S )	NrÞ  z_{%s}\left(%s\right)rH  r   r´  rü  ro   r  r}  rÊ  s       rs   Ú_print_stieltjeszLatexPrinter._print_stieltjesÇ  sx   € ÝˆtŒy‰>Œ>˜QÒÐØ)­Eµ#°d´kÀ4Ä9Ñ2MÔ2MÑ,NÔ,NÑNˆCˆCà˜TŸ[š[¨¬°1¬Ñ6Ô6Ñ6ˆCØˆ?ˆ?Ø'* s s¨C¨C¨CÐ0Ð0Ø˜SÑ Ð ru   c                ót   — dt          t          | j        |j        ¦  «        ¦  «        z  }|€d|z  S d|›d|›�S )Nz\left(%s, %s, %s\right)z\Phi%sz\Phi^{ro   )r  rI  r
  rC  rÊ  s       rs   Ú_print_lerchphizLatexPrinter._print_lerchphiÐ  sG   € Ø(­5µ°T´[À$Ä)Ñ1LÔ1LÑ+MÔ+MÑMˆØˆ;Ø˜s‘?Ð"ð à!$   c cÐ*Ð*ru   c                óp   — t          | j        |j        ¦  «        \  }}d|z  }|€d|›d|›�S d|›d|›d|›�S )Nre  z\operatorname{Li}_{ro   rx  ©rI  r
  rC  )rú   r  rJ  rr   r‚  r  s         rs   Ú_print_polylogzLatexPrinter._print_polylogÖ  sW   € Ý�4”; ¤	Ñ*Ô*‰ˆˆ1Ø  1Ñ$ˆØˆ;ˆ;Ø23°!°!°S°SÐ9Ð9ð à34°1°1°c°c°c¸3¸3Ð?Ð?ru   c           	     ó|   — t          | j        |j        ¦  «        \  }}}}d|›d|›d|›d|›d�	}|�d|z   d|z  z   }|S )NúP_{r.  rr  ú\right)}\left(rt  rG  ú\right)^{%s}r„  )rú   r  rJ  r1  rì  rí  r1  r  s           rs   Ú_print_jacobizLatexPrinter._print_jacobiÝ  sZ   € Ý˜œ d¤iÑ0Ô0‰
ˆˆ1ˆa��Ø?@¸q¸qÀ!À!À!ÀQÀQÀQÈÈÈÐJˆØˆ?Ø˜c‘/ O°sÑ$;Ñ;ˆCØˆ
ru   c                ót   — t          | j        |j        ¦  «        \  }}}d|›d|›d|›d�}|�d|z   d|z  z   }|S )NzC_{r.  rˆ  rt  rG  r‰  r„  ©rú   r  rJ  r1  rì  r1  r  s          rs   Ú_print_gegenbauerzLatexPrinter._print_gegenbauerä  óR   € Ý�d”k 4¤9Ñ-Ô-‰ˆˆ1ˆaˆaØ<=¸A¸A¸q¸q¸qÀ!À!À!ÐDˆØˆ?Ø˜c‘/ O°sÑ$;Ñ;ˆCØˆ
ru   c                ól   — t          | j        |j        ¦  «        \  }}d|›d|›d�}|�d|z   d|z  z   }|S )NzT_{r8  rt  rG  r‰  r„  ©rú   r  rJ  r1  r1  r  s         rs   Ú_print_chebyshevtzLatexPrinter._print_chebyshevtë  óJ   € Ý�4”; ¤	Ñ*Ô*‰ˆˆ1ˆ1Ø*+¨!¨!¨Q¨Q¨QÐ/ˆØˆ?Ø˜c‘/ O°sÑ$;Ñ;ˆCØˆ
ru   c                ól   — t          | j        |j        ¦  «        \  }}d|›d|›d�}|�d|z   d|z  z   }|S )NzU_{r8  rt  rG  r‰  r„  r�  s         rs   Ú_print_chebyshevuzLatexPrinter._print_chebyshevuò  r’  ru   c                ól   — t          | j        |j        ¦  «        \  }}d|›d|›d�}|�d|z   d|z  z   }|S )Nr‡  r8  rt  rG  r‰  r„  r�  s         rs   Ú_print_legendrezLatexPrinter._print_legendreù  r’  ru   c                ót   — t          | j        |j        ¦  «        \  }}}d|›d|›d|›d�}|�d|z   d|z  z   }|S )Nr‡  r.  rˆ  rt  rG  r‰  r„  rŒ  s          rs   Ú_print_assoc_legendrez"LatexPrinter._print_assoc_legendre   rŽ  ru   c                ól   — t          | j        |j        ¦  «        \  }}d|›d|›d�}|�d|z   d|z  z   }|S )NzH_{r8  rt  rG  r‰  r„  r�  s         rs   Ú_print_hermitezLatexPrinter._print_hermite  r’  ru   c                ól   — t          | j        |j        ¦  «        \  }}d|›d|›d�}|�d|z   d|z  z   }|S )NúL_{r8  rt  rG  r‰  r„  r�  s         rs   Ú_print_laguerrezLatexPrinter._print_laguerre  r’  ru   c                ót   — t          | j        |j        ¦  «        \  }}}d|›d|›d|›d�}|�d|z   d|z  z   }|S )Nrœ  r.  rˆ  rt  rG  r‰  r„  rŒ  s          rs   Ú_print_assoc_laguerrez"LatexPrinter._print_assoc_laguerre  rŽ  ru   c           	     ó|   — t          | j        |j        ¦  «        \  }}}}d|›d|›d|›d|›d�	}|�d|z   d|z  z   }|S )NzY_{rx  r8  rr  rt  rG  r‰  r„  ©rú   r  rJ  r1  ÚmÚthetaÚphir  s           rs   Ú
_print_YnmzLatexPrinter._print_Ynm  ó[   € Ý˜tœ{¨D¬IÑ6Ô6Ñˆˆ1ˆe�S�SØ23°!°!°Q°Q°Q¸¸¸¸s¸s¸sÐCˆØˆ?Ø˜c‘/ O°sÑ$;Ñ;ˆCØˆ
ru   c           	     ó|   — t          | j        |j        ¦  «        \  }}}}d|›d|›d|›d|›d�	}|�d|z   d|z  z   }|S )NzZ_{rx  r8  rr  rt  rG  r‰  r„  r¡  s           rs   Ú
_print_ZnmzLatexPrinter._print_Znm#  r¦  ru   c           
     óv   — t          | j        |¦  «        \  }}}|rdnd}|sdnd|z  }|›|›d|›d|›d|›d|›�
S )Nz	^{\prime}rå   ry  rG  rP  rt  )rI  r
  )	rú   Ú	characterrC  r�   rJ  rì  rþ  r‚  Úsups	            rs   Ú__print_mathieu_functionsz&LatexPrinter.__print_mathieu_functions*  s`   € Ý�d”k 4Ñ(Ô(‰ˆˆ1ˆaØ#Ð+ˆlˆl¨ˆØÐ.ˆbˆb ¨3¡ˆØ3<°9¸c¸c¸cÀ1À1À1ÀaÀaÀaÈÈÈÈCÈCÐPÐPru   c                ó<   — |                       d|j        |¬¦  «        S )NÚCrû  ©Ú&_LatexPrinter__print_mathieu_functionsrC  rI  s      rs   Ú_print_mathieuczLatexPrinter._print_mathieuc0  ó   € Ø×-Ò-¨c°4´9À#Ð-ÑFÔFÐFru   c                ó<   — |                       d|j        |¬¦  «        S )Nr   rû  r¯  rI  s      rs   Ú_print_mathieuszLatexPrinter._print_mathieus3  r²  ru   c                ó>   — |                       d|j        d|¬¦  «        S )Nr®  T©r�   rJ  r¯  rI  s      rs   Ú_print_mathieucprimez!LatexPrinter._print_mathieucprime6  ó!   € Ø×-Ò-¨c°4´9ÀDÈcÐ-ÑRÔRÐRru   c                ó>   — |                       d|j        d|¬¦  «        S )Nr   Tr¶  r¯  rI  s      rs   Ú_print_mathieusprimez!LatexPrinter._print_mathieusprime9  r¸  ru   c                óÌ   — |j         dk    r@d}|j        }|j        dk     rd}| }| j        d         rd|||j         fz  S d|||j         fz  S |                      |j        ¦  «        S )Nrq  rå   r   rÛ  r¼   z	%s%d / %dz%s\frac{%d}{%d})rþ  rõ  rô   r
  )rú   r  Úsignrõ  s       rs   Ú_print_RationalzLatexPrinter._print_Rational<  s|   € ØŒ6�QŠ;ˆ;ØˆDØ”ˆAØŒv˜ŠzˆzØ�Ø�B�ØŒ~Ð/Ô0ð 8Ø# t¨Q°´Ð&7Ñ7Ð7Ø%¨¨q°$´&Ð(9Ñ9Ð9à—;’;˜tœvÑ&Ô&Ð&ru   c                ó@  — |                       |j        ¦  «        }|j        rt          d„ |j        D ¦   «         ¦  «        st	          |j        ¦  «        dk    rÃ|dz  }t	          |j        ¦  «        dk    r||                       |j        ¦  «        z  }n*|j        r#||                       |j        d         ¦  «        z  }|dz  }t	          |j        ¦  «        dk    r||                       |j        ¦  «        z  }n#||                       |j        d         ¦  «        z  }d|z  S )Nc              3  ó6   K  — | ]}|t           j        k    V — Œd S r	  )r   rR  )r0  rõ  s     rs   r2  z,LatexPrinter._print_Order.<locals>.<genexpr>K  s(   è è € Ð>Ð>¨a˜a¥1¤6škÐ>Ð>Ð>Ð>Ð>Ð>ru   rq  r  r   ú\rightarrow zO\left(%s\right))r
  r  Úpointr;  rŠ  Ú	variables)rú   r  rr   s      rs   Ú_print_OrderzLatexPrinter._print_OrderI  s  € Ø�KŠK˜œ	Ñ"Ô"ˆØŒ:ð 	0�#Ð>Ð>°4´:Ð>Ñ>Ô>Ñ>Ô>ð 	0ÝˆtŒ~ÑÔ Ò"Ð"Ø�‰IˆAÝ�4”>Ñ"Ô" QÒ&Ð&Ø�T—[’[ ¤Ñ0Ô0Ñ0��Ø”ð 4Ø�T—[’[ ¤°Ô!2Ñ3Ô3Ñ3�Ø�Ñ ˆAÝ�4”:‰Œ Ò"Ð"Ø�T—[’[ ¤Ñ,Ô,Ñ,��à�T—[’[ ¤¨A¤Ñ/Ô/Ñ/�Ø" QÑ&Ð&ru   r   c                ó‚   — | j         d                              |¦  «        }|�|S |                      |j        |¬¦  «        S )NrÉ   ©Ústyle)rô   rù   rQ  rU  )rú   r  rÆ  rU  s       rs   Ú_print_SymbolzLatexPrinter._print_SymbolY  sB   € Ø”N >Ô2×6Ò6°tÑ<Ô<ˆØÐØˆKà×(Ò(¨¬¸%Ð(Ñ@Ô@Ð@ru   rU  ú tuple[str, list[str], list[str]]c                ó  — |�d|v r|g g fS | j         d         r/|                     dd¦  «                             dd¦  «        g g }}}nt          |¦  «        \  }}}t          |¦  «        }d„ |D ¦   «         }d„ |D ¦   «         }|||fS )	Nr“   rÙ   r‡  z\_r²   z\^c                ó,   — g | ]}t          |¦  «        ‘ŒS rp   ©Ú	translate)r0  r«  s     rs   rO  z1LatexPrinter._split_super_sub.<locals>.<listcomp>j  s   € Ð3Ð3Ð3 S•)˜C‘.”.Ð3Ð3Ð3ru   c                ó,   — g | ]}t          |¦  «        ‘ŒS rp   rË  )r0  r4  s     rs   rO  z1LatexPrinter._split_super_sub.<locals>.<listcomp>k  s   € Ð/Ð/Ð/ 3•	˜#‘”Ð/Ð/Ð/ru   )rô   r³   r   rÌ  )rú   rU  Úsupersrh  s       rs   Ú_split_super_subzLatexPrinter._split_super_subb  s¬   € Øˆ<˜3 $˜;˜;Ø˜"˜b�>Ð!ØŒ^Ð5Ô6ð 	7Ø"&§,¢,¨s°EÑ":Ô":×"BÒ"BÀ3ÈÑ"NÔ"NÐPRÐTV˜$�&ˆDˆDå!0°Ñ!6Ô!6ÑˆD�&˜$Ý˜‰ŒˆØ3Ð3¨FÐ3Ñ3Ô3ˆØ/Ð/¨$Ð/Ñ/Ô/ˆØ�f˜dÐ#Ð#ru   Ústringc                óâ   — |                       |¦  «        \  }}}|dk    rd                     |¦  «        }|r|dd                     |¦  «        z  z  }|r|dd                     |¦  «        z  z  }|S )Nr–   ú\mathbf{{{}}}ry  rÞ   rH  )rÏ  r  rT  )rú   rÐ  rÆ  rU  rÎ  rh  s         rs   rQ  z!LatexPrinter._deal_with_super_subn  s…   € Ø!×2Ò2°6Ñ:Ô:Ñˆˆf�dð �FŠ?ˆ?Ø#×*Ò*¨4Ñ0Ô0ˆDð ð 	/Ø�G˜cŸhšh vÑ.Ô.Ñ.Ñ.ˆDØð 	-Ø�G˜cŸhšh t™nœnÑ,Ñ,ˆDàˆru   c                óÊ   — | j         d         rd}d}nd}d}d||ddd	d
œ}|                      |j        ¦  «        ›d||j                 ›d|                      |j        ¦  «        ›�S )Nr¿   z\gtz\ltú>ú<rf  z\geqz\leqz\neq)z==rÔ  rÕ  z>=z<=z!=rÞ   )rô   r
  ÚlhsÚrel_opÚrhs)rú   r  ÚgtÚltÚcharmaps        rs   Ú_print_RelationalzLatexPrinter._print_Relational}  s�   € ØŒ>˜&Ô!ð 	ØˆBØˆBˆBàˆBØˆBð ØØØØØð
ð 
ˆð "Ÿ[š[¨¬Ñ2Ô2Ð2Ð2Ø$ T¤[Ô1Ð1Ð1°4·;²;¸t¼xÑ3HÔ3HÐ3HðJð 	Jru   c                óÜ  ‡ — ˆ fd„|j         d d…         D ¦   «         }|j         d         j        t          k    r<|                     d‰                      |j         d         j        ¦  «        z  ¦  «         n`|                     ‰                      |j         d         j        ¦  «        ›d‰                      |j         d         j        ¦  «        ›�¦  «         d}|d                     |¦  «        z  S )Nc                óp   •— g | ]2\  }}‰                      |¦  «        ›d ‰                      |¦  «        ›�‘Œ3S )ú & \text{for}\: rN  )r0  rX  r´   rú   s      €rs   rO  z1LatexPrinter._print_Piecewise.<locals>.<listcomp>’  sL   ø€ ð /ð /ð /Ù�q˜!ð /3¯kªk¸!©n¬n¨n¨n¸d¿kºkÈ!¹n¼n¸nÐMð /ð /ð /ru   rp  z%s & \text{otherwise}rß  z\begin{cases} %s \end{cases}ru  )rC  Úcondr   r=  r
  r  rT  )rú   r  Úecpairsr  s   `   rs   Ú_print_PiecewisezLatexPrinter._print_Piecewise‘  sø   ø€ ð/ð /ð /ð /Ø#œy¨¨"¨œ~ð/ñ /ô /ˆàŒ9�RŒ=Ô¥Ò%Ð%Ø�NŠNÐ3ØŸ;š; t¤y°¤}Ô'9Ñ:Ô:ñ;ñ <ô <ð <ð <ð �NŠNØ ŸKšK¨¬	°"¬Ô(:Ñ;Ô;Ð;Ð;Ø ŸKšK¨¬	°"¬Ô(:Ñ;Ô;Ð;ð=ñ >ô >ð >ð .ˆØ�V—[’[ Ñ)Ô)Ñ)Ð)ru   c           
     óÐ  ‡ — g }t          |j        ¦  «        D ]@}|                     d                     ˆ fd„||d d …f         D ¦   «         ¦  «        ¦  «         ŒA‰ j        d         }|€&‰ j        d         dk    rd}n|j        dk    du rd	}nd
}d}|                     d|¦  «        }|d
k    r$|                     ddd|j        z  z   dz   ¦  «        }|d                     |¦  «        z  S )Nr…  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  r  s     €rs   rO  z7LatexPrinter._print_matrix_contents.<locals>.<listcomp>¢  s#   ø€ Ð$KÐ$KÐ$K¸ T§[¢[°¡^¤^Ð$KÐ$KÐ$Kru   rÄ   rÅ   rÜ   Úsmallmatrixé
   TÚmatrixÚarrayú \begin{%MATSTR%}%s\end{%MATSTR%}ú%MATSTR%r¢  r“   r´   ú}%sr  )r‰  Úrowsr=  rT  rô   Úcolsr³   )rú   r  ÚlinesÚlinerÄ   Úout_strs   `     rs   Ú_print_matrix_contentsz#LatexPrinter._print_matrix_contentsž  s	  ø€ Øˆå˜$œ)Ñ$Ô$ð 	Nð 	NˆDØ�LŠL˜ŸšÐ$KÐ$KÐ$KÐ$K¸TÀ$ÈÈÈÀ'¼]Ð$KÑ$KÔ$KÑLÔLÑMÔMÐMÐMà”. Ô+ˆØˆ?ØŒ~˜fÔ%¨Ò1Ð1Ø'��à”I ’O¨Ð,Ð,Ø&�G�Gà%�Gà5ˆØ—/’/ *¨gÑ6Ô6ˆØ�gÒÐØ—o’o d¨C°#°d´i±-Ñ,?À%Ñ,GÑHÔHˆGØ˜Ÿš EÑ*Ô*Ñ*Ð*ru   c                óš   — |                       |¦  «        }| j        d         r(| j        d         }| j        |         }d|z   |z   dz   |z   }|S )NrÂ   ú\leftú\right)rñ  rô   rø   )rú   r  rð  Ú
left_delimÚright_delims        rs   Ú_print_MatrixBasezLatexPrinter._print_MatrixBase´  sa   € Ø×-Ò-¨dÑ3Ô3ˆØŒ>˜+Ô&ð 	.Øœ¨Ô4ˆJØÔ*¨:Ô6ˆKØ Ñ+¨gÑ5Øñ Ø"-ñ.ˆGàˆru   c                óÒ   — |                       |j        t          d         d¬¦  «        }|                      |j        ¦  «        › d|                      |j        ¦  «        › �}d|› d|› d�S )NrÔ  T©r  rr  r“   ú}_{ro   )r  Úparentr!   r
  rÍ   rê   )rú   r  Úmatrix_partÚ
index_parts       rs   Ú_print_MatrixElementz!LatexPrinter._print_MatrixElement½  sl   € Ø×'Ò'¨¬µZÀÔ5GÐPTÐ'ÑUÔUˆØŸš D¤FÑ+Ô+ÐCÐC¨d¯kªk¸$¼&Ñ.AÔ.AÐCÐCˆ
Ø4�KÐ4Ð4 jÐ4Ð4Ð4Ð4ru   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 )NrÞ  rq  r   ú:c              3  óJ   •K  — | ]}|�‰                      |¦  «        ndV — Œd S ©Nrå   rN  )r0  Úxirú   s     €rs   r2  zFLatexPrinter._print_MatrixSlice.<locals>.latexslice.<locals>.<genexpr>Ë  s5   øè è € ÐRÐRÈ"¨r¨~˜DŸKšK¨™OœO˜OÀ2ÐRÐRÐRÐRÐRÐRru   )rÍ  rT  )r1  r]  rú   s     €rs   Ú
latexslicez3LatexPrinter._print_MatrixSlice.<locals>.latexsliceÃ  sv   ø€ Ý�Q‘”ˆAØ�Œt�qŠyˆyØ�a�DØ�Œt�qŠyˆyØ��!‘Ø�Œt�sŠ{ˆ{Ø��!‘Ø—8’8ÐRÐRÐRÐRÐPQÐRÑRÔRÑRÔRÐRru   rÔ  Trù  ú\left[rP  ú\right])r  rû  r!   Úrowslicerì  Úcolslicerí  )rú   r  r  s   `  rs   Ú_print_MatrixSlicezLatexPrinter._print_MatrixSliceÂ  s–   ø€ ð	Sð 	Sð 	Sð 	Sð 	Sð ×!Ò! $¤+­z¸&Ô/AÈ$Ð!ÑOÔOÐR[Ñ[Ø�
˜4œ=¨$¬+Ô*:Ñ;Ô;ñ<Ø>BñCà�
˜4œ=¨$¬+Ô*:Ñ;Ô;ñ<à>HñIð 	Jru   c                ó6   — |                       |j        ¦  «        S r	  )r
  Úblocksr  s     rs   Ú_print_BlockMatrixzLatexPrinter._print_BlockMatrixÐ  s   € Ø�{Š{˜4œ;Ñ'Ô'Ð'ru   c                ó  — |j         }ddlm}m} t	          ||¦  «        s/t	          ||¦  «        s|j        rd|                      |¦  «        z  S |                      |t          |¦  «        d¦  «        }d|v rd|z  S d|z  S )Nr   ©ÚMatrixSymbolÚBlockMatrixz\left(%s\right)^{T}Tr²   z%s^{T})	r<   Úsympy.matricesr  r  rÈ  Úis_MatrixExprr
  r  r   )rú   r  r�  r  r  rr   s         rs   Ú_print_TransposezLatexPrinter._print_TransposeÓ  s¥   € ØŒhˆØ<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ý˜3 Ñ-Ô-ð 	$Ý˜3 Ñ,Ô,ð	$Ø14Ô1Bð	$à)¨D¯KªK¸Ñ,<Ô,<Ñ<Ð<à×!Ò! #Õ'=¸dÑ'CÔ'CÀTÑJÔJˆAØ�aˆxˆxØ-°Ñ1Ð1à !‘|Ð#ru   c                ó@   — |j         }d|                      |¦  «        z  S )Nz!\operatorname{tr}\left(%s \right))r<   r
  ©rú   r  r�  s      rs   Ú_print_TracezLatexPrinter._print_Traceà  s    € ØŒhˆØ3°d·k²kÀ#Ñ6FÔ6FÑFÐFru   c                óf  — ddddœ}|                      | j        d         d¦  «        }|j        }ddlm}m} t          ||¦  «        s3t          ||¦  «        s#|j        rd|                      |¦  «        ›d	|›d
�S |  	                    |t          |¦  «        d¦  «        }d|v r	d|›d	|›d
�S |›d|›d
�S )Nz\daggerz\astz
\mathsf{H})rÐ   ÚstarÚ	hermitianrØ   r   r  rG  rH  ro   Tr²   rü  )rù   rô   r<   r  r  r  rÈ  r  r
  r  r   )rú   r  Ústyle_to_latexrØ   r�  r  r  rr   s           rs   Ú_print_AdjointzLatexPrinter._print_Adjointä  sú   € à#Ø Ø&ð
ð 
ˆð
 '×*Ò*¨4¬>¸/Ô+JÈJÑWÔWˆØŒhˆØ<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ý˜3 Ñ-Ô-ð 	7Ý˜3 Ñ,Ô,ð	7Ø14Ô1Bð	7ð 	7à.2¯kªk¸#Ñ.>Ô.>Ð.>Ð.>ÀÀÀÐNÐNà×!Ò! #Õ'=¸dÑ'CÔ'CÀTÑJÔJˆAØ�aˆxˆxˆxØ23°!°!°]°]°]ÐCÐCà%& Q Q¨¨¨Ð6Ð6ru   c                óJ  ‡ ‡‡— ddl mŠ ˆˆˆ fd„}t          ‰j        ¦  «        }‰                     ¦   «         rI|d         dk    r|dd …         }n|d          |d<   dd                     t          ||¦  «        ¦  «        z   S d                     t          ||¦  «        ¦  «        S )Nr   )ÚMatMulc                óÀ   •— t          | t          ¦  «        r%t          | ‰¦  «        s‰                     | ¦  «        n#‰                     | t	          ‰¦  «        d¦  «        S ©NF)rÈ  r
   r
  r  r   )r1  r  r  rú   s    €€€rs   rt   z,LatexPrinter._print_MatMul.<locals>.<lambda>û  sZ   ø€ ­Z¸½3Ñ-?Ô-?ð FÍ
ÐSTÐV\ÑH]ÔH]ð F˜4Ÿ;š; q™>œ>˜>Ø×Ò˜aÕ!7¸Ñ!=Ô!=¸uÑEÔEð ru   rp  rq  rÛ  rÞ   )Úsympyr  rÍ  rC  r8  rT  rI  )rú   r  ÚparensrC  r  s   ``  @rs   Ú_print_MatMulzLatexPrinter._print_MatMul÷  sÈ   øøø€ Ø Ð Ð Ð Ð Ð ðFð Fð Fð Fð Fð Fˆõ �D”I‰ŒˆØ×(Ò(Ñ*Ô*ð 	/Ø�AŒw˜"Š}ˆ}Ø˜A˜B˜B”x��à œ7˜(��Q‘Ø˜#Ÿ(š(¥3 v¨tÑ#4Ô#4Ñ5Ô5Ñ5Ð5à—8’8�C ¨Ñ-Ô-Ñ.Ô.Ð.ru   c                ó’   — t          |¦  «        }|j        \  }}|                      ||¦  «        › d|                      ||¦  «        › �S )Nrß   )r   rC  r  )rú   r  r  ÚleftÚrights        rs   Ú_print_DotProductzLatexPrinter._print_DotProduct  sO   € Ý& tÑ,Ô,ˆØ”i‰ˆˆeØ×$Ò$ T¨5Ñ1Ô1Ð[Ð[¸$×:KÒ:KÈEÐSXÑ:YÔ:YÐ[Ð[Ð[ru   c                óä   — |j         }|j        rKddlm} t	          ||¦  «        rd|                      |j        ¦  «        z  S d|                      |¦  «        z  S d|                      |¦  «        z  S )Nr   )r  rÑ  )r<   r  Ú&sympy.matrices.expressions.blockmatrixr  rÈ  rñ  r  r
  )rú   r  r�  r  s       rs   Ú_print_DeterminantzLatexPrinter._print_Determinant  s„   € ØŒhˆØÔð 	;ØJÐJÐJÐJÐJÐJÝ˜#˜{Ñ+Ô+ð VØ+¨d×.IÒ.IÈ#Ì*Ñ.UÔ.UÑUÐUØ'¨$¯+ª+°cÑ*:Ô*:Ñ:Ð:Ø# d×&AÒ&AÀ#Ñ&FÔ&FÑFÐFru   c                óŒ  — |�dd|                       |j        d         t          d         d¬¦  «        ›d|                       |j        d         t          d         d¬¦  «        ›d|›d	�S |                       |j        d         t          d         d¬¦  «        ›d|                       |j        d         t          d         d¬¦  «        ›�S )
NrG  r   r
   Trù  z \bmod rq  rH  ro   r%  rI  s      rs   Ú
_print_ModzLatexPrinter._print_Mod  sþ   € Øˆ?ˆ?à×"Ò" 4¤9¨Q¤<µ¸EÔ1BØ*.ð #ñ 0ô 0ð 0ð 0à×"Ò" 4¤9¨Q¤<µ¸EÔ1BØ*.ð #ñ 0ô 0ð 0ð 0à��ðð ð "&×!2Ò!2°4´9¸Q´<Ý3=¸eÔ3DØ:>ð "3ñ "@ô "@ð "@ð "@ð "&×!2Ò!2°4´9¸Q´<Ý3=¸eÔ3DØ:>ð "3ñ "@ô "@ð "@ðAð 	Aru   c                ó€   ‡‡— |j         }t          d         Š| j        Šd                     ˆˆfd„|D ¦   «         ¦  «        S )Nr   z \circ c              3  ó4   •K  — | ]} ‰|‰d ¬¦  «        V — ŒdS ©Trù  Nrp   ©r0  r<   r"  Úprecs     €€rs   r2  z6LatexPrinter._print_HadamardProduct.<locals>.<genexpr>,  ó4   øè è € Ð<Ð<°ˆVˆV�C˜ dÐ+Ñ+Ô+Ð<Ð<Ð<Ð<Ð<Ð<ru   ©rC  r!   r  rT  ©rú   r  rC  r"  r1  s      @@rs   Ú_print_HadamardProductz#LatexPrinter._print_HadamardProduct&  sM   øø€ ØŒyˆÝ˜%Ô ˆØÔ"ˆà�ŠØ<Ð<Ð<Ð<Ð<°tÐ<Ñ<Ô<ñ>ô >ð 	>ru   c                ó~   — t          |j        ¦  «        t          d         k     rd}nd}|                      ||¦  «        S )Nr
   z%s^{\circ \left({%s}\right)}z%s^{\circ {%s}})r   rJ  r!   r  )rú   r  r  s      rs   Ú_print_HadamardPowerz!LatexPrinter._print_HadamardPower.  s>   € Ý! $¤(Ñ+Ô+­j¸Ô.?Ò?Ð?Ø6ˆHˆHà)ˆHØ×0Ò0°°xÑ@Ô@Ð@ru   c                ó€   ‡‡— |j         }t          d         Š| j        Šd                     ˆˆfd„|D ¦   «         ¦  «        S )Nr   ú	 \otimes c              3  ó4   •K  — | ]} ‰|‰d ¬¦  «        V — ŒdS r/  rp   r0  s     €€rs   r2  z7LatexPrinter._print_KroneckerProduct.<locals>.<genexpr>;  r2  ru   r3  r4  s      @@rs   Ú_print_KroneckerProductz$LatexPrinter._print_KroneckerProduct5  sO   øø€ ØŒyˆÝ˜%Ô ˆØÔ"ˆà× Ò Ø<Ð<Ð<Ð<Ð<°tÐ<Ñ<Ô<ñ>ô >ð 	>ru   c                óV  — |j         |j        }}ddlm} t	          ||¦  «        s6|j        r/d|                      |¦  «        ›d|                      |¦  «        ›d�S |                      |¦  «        }d|v rd|›d|                      |¦  «        ›d�S |›d|                      |¦  «        ›d�S )Nr   )r  rG  rH  ro   r²   rü  )rE  rJ  r  r  rÈ  r  r
  )rú   r  rE  rJ  r  Úbase_strs         rs   Ú_print_MatPowzLatexPrinter._print_MatPow=  sÛ   € Ø”I˜tœxˆcˆØ/Ð/Ð/Ð/Ð/Ð/Ý˜$ Ñ-Ô-ð 	@°$Ô2Dð 	@ð 	@Ø/3¯{ª{¸4Ñ/@Ô/@Ð/@Ð/@Ø.2¯kªk¸#Ñ.>Ô.>Ð.>Ð.>ð@ð @ð —{’{ 4Ñ(Ô(ˆHØ�hˆˆˆØ2:°(°(¸D¿KºKÈÑ<LÔ<LÐ<LÐ<LÐMÐMà$, H H¨d¯kªk¸#Ñ.>Ô.>Ð.>Ð.>Ð?Ð?ru   c                óF   — |                       || j        d         ¬¦  «        S )NrË   rÅ  )rÇ  rô   r  s     rs   Ú_print_MatrixSymbolz LatexPrinter._print_MatrixSymbolJ  s+   € Ø×!Ò! $¨d¬nØô/ Ð!ñ !ô !ð 	!ru   c                ó,   — | j         d         dk    rdndS )NrË   rÆ   Ú0z
\mathbf{0}©rô   )rú   ÚZs     rs   Ú_print_ZeroMatrixzLatexPrinter._print_ZeroMatrixN  ó(   € Ø”nØô Ø#*ò+ð +ˆsˆsØ0=ð	>ru   c                ó,   — | j         d         dk    rdndS )NrË   rÆ   Ú1z
\mathbf{1}rC  )rú   ÚOs     rs   Ú_print_OneMatrixzLatexPrinter._print_OneMatrixR  rF  ru   c                ó,   — | j         d         dk    rdndS )NrË   rÆ   z
\mathbb{I}z
\mathbf{I}rC  )rú   r  s     rs   Ú_print_IdentityzLatexPrinter._print_IdentityV  s(   € Ø $¤Øô! Ø#*ò!+ð !+ˆ}ˆ}Ø0=ð	>ru   c                óL   — |                       |j        d         ¦  «        }d|z  S )Nr   zP_{%s}r  )rú   ÚPÚperm_strs      rs   Ú_print_PermutationMatrixz%LatexPrinter._print_PermutationMatrixZ  s$   € Ø—;’;˜qœv aœyÑ)Ô)ˆØ˜(Ñ"Ð"ru   r&   c           
     óÂ  — |                      ¦   «         dk    r|                      |d         ¦  «        S | j        d         }|€B| j        d         dk    rd}n.|                      ¦   «         dk    s|j        d         dk    rd	}nd
}d}|                     d|¦  «        }|d
k    r*|                     ddd|j        d         z  z   dz   ¦  «        }| j        d         r(| j        d         }| j        |         }d|z   |z   dz   |z   }|                      ¦   «         dk    r|dz  S d„ t          |                      ¦   «         dz   ¦  «        D ¦   «         }d„ |j        D ¦   «         }t          j        |Ž D �]C}|d          	                    |                      ||         ¦  «        ¦  «         d}	t          |                      ¦   «         dz
  dd¦  «        D ]ã}
t          ||
dz            ¦  «        |j        |
         k     r n¹|	r8||
          	                    d                     ||
dz            ¦  «        ¦  «         ns||
          	                    |d                     ||
dz            ¦  «        z  ¦  «         t          ||
dz            ¦  «        dk    rd||
         d         z   dz   ||
         d<   |	 }	g ||
dz   <   Œä�ŒE|d         d         }|                      ¦   «         dz  dk    r||z  }|S )Nr   rp   rÄ   rÅ   rÜ   rå  rp  ræ  rç  rè  ré  rê  r¢  r“   r´   rë  rÂ   ró  rô  rå   c                ó   — g | ]}g ‘ŒS rp   rp   rX  s     rs   rO  z1LatexPrinter._print_NDimArray.<locals>.<listcomp>z  s   € Ð%IÐ%IÐ%I¨Q bÐ%IÐ%IÐ%Iru   rq  c                óF   — g | ]}t          t          |¦  «        ¦  «        ‘ŒS rp   )rÍ  r‰  rX  s     rs   rO  z1LatexPrinter._print_NDimArray.<locals>.<listcomp>{  s$   € Ð;Ð;Ð;¨1��U 1™XœX™œÐ;Ð;Ð;ru   Tr…  r  r  r  rÞ  )Úrankr
  rô   Úshaper³   rø   r‰  Ú	itertoolsÚproductr=  rŠ  rT  )rú   r  rÄ   Ú	block_strrõ  rö  Ú	level_strÚshape_rangesÚouter_iÚevenÚback_outer_irð  s               rs   Ú_print_NDimArrayzLatexPrinter._print_NDimArray^  s   € à�9Š9‰;Œ;˜!ÒÐØ—;’;˜t BœxÑ(Ô(Ð(à”. Ô+ˆØˆ?ØŒ~˜fÔ%¨Ò1Ð1Ø'��à—I’I‘K”K 1Ò$Ð$¨$¬*°R¬.¸BÒ*>Ð*>Ø&�G�Gà%�GØ7ˆ	Ø×%Ò% j°'Ñ:Ô:ˆ	Ø�gÒÐØ!×)Ò)¨$°°c¸$¼*ÀQ¼-Ñ6GÑ0GÈ%Ñ0OÑPÔPˆIàŒ>˜+Ô&ð 	0Ø"œn¨[Ô9ˆJØÔ*¨:Ô6ˆKØ  :Ñ-°	Ñ9Ø!ñ"Ø$/ñ0ˆIð �9Š9‰;Œ;˜!ÒÐØ˜r‘>Ð!à%IÐ%Iµ%¸¿	º	¹¼Àa¹Ñ2HÔ2HÐ%IÑ%IÔ%Iˆ	Ø;Ð;°´
Ð;Ñ;Ô;ˆÝ Ô(¨,Ð7ð 	/ñ 	/ˆGØ�bŒM× Ò  §¢¨T°'¬]Ñ!;Ô!;Ñ<Ô<Ð<ØˆDÝ % d§i¢i¡k¤k°!¡m°R¸Ñ <Ô <ð /ð /�Ý�y ¨a¡Ô0Ñ1Ô1°D´J¸|Ô4LÒLÐLØ�EØð EØ˜lÔ+×2Ò2ØŸš I¨l¸1©nÔ$=Ñ>Ô>ñ@ô @ð @ð @ð ˜lÔ+×2Ò2Ø! U§Z¢Z°	¸,Àq¹.Ô0IÑ%JÔ%JÑKñMô Mð Må˜9 \°!¡^Ô4Ñ5Ô5¸Ò:Ð:Ø6?Ø% lÔ3°BÔ7ñ78Ø:Dñ7E˜	 ,Ô/°Ñ3à�x�Ø,.�	˜, q™.Ñ)Ð)ùà˜A”,˜q”/ˆà�9Š9‰;Œ;˜‰?˜aÒÐØ 'Ñ)ˆGàˆru   Ú	index_mapÚdictc                ó`  — |                       |¦  «        }d }d }|D ]Š}|j        }||v s|r||k    r|dz  }||k    r|�|dz  }|j        r|dz  }n|dz  }||                       |j        d         ¦  «        z  }||v r&|dz  }||                       ||         ¦  «        z  }d}nd}|}Œ‹|�|dz  }|S )	Nrr  ro   z{}^{z{}_{r   rf  TF)r
  Úis_uprC  )	rú   rU  rJ  r_  rð  Úlast_valenceÚprev_mapÚindexÚnew_valences	            rs   Ú_printer_tensor_indicesz$LatexPrinter._printer_tensor_indices•  s  € Ø—+’+˜dÑ#Ô#ˆØˆØˆØð 	'ð 	'ˆEØœ+ˆKØ˜)Ð#Ð#¨Ð#Ø  KÒ/Ð/Ø˜3‘�Ø˜{Ò*Ð*ØÐ+Ø˜s‘N�GØ”;ð &Ø˜vÑ%�G�Gà˜vÑ%�GØ�t—{’{ 5¤:¨a¤=Ñ1Ô1Ñ1ˆGØ˜	Ð!Ð!Ø˜3‘�Ø˜4Ÿ;š; y°Ô'7Ñ8Ô8Ñ8�Ø��à �Ø&ˆLˆLØÐ#Ø�s‰NˆGØˆru   c                óˆ   — |j         d         j         d         }|                     ¦   «         }|                      ||i ¦  «        S r  )rC  Úget_indicesrg  )rú   r  rU  rJ  s       rs   Ú_print_TensorzLatexPrinter._print_Tensor±  s>   € ØŒy˜Œ|Ô  Ô#ˆØ×"Ò"Ñ$Ô$ˆØ×+Ò+¨D°'¸2Ñ>Ô>Ð>ru   c                óª   — |j         j        d         j        d         }|j                              ¦   «         }|j        }|                      |||¦  «        S r  )r  rC  ri  r_  rg  )rú   r  rU  rJ  r_  s        rs   Ú_print_TensorElementz!LatexPrinter._print_TensorElement¶  sJ   € ØŒyŒ~˜aÔ Ô% aÔ(ˆØ”)×'Ò'Ñ)Ô)ˆØ”Nˆ	Ø×+Ò+¨D°'¸9ÑEÔEÐEru   c                ó~   ‡ ‡— ‰                      ¦   «         \  }}|d                     ˆˆ fd„|D ¦   «         ¦  «        z   S )Nrå   c                óV   •— g | ]%}‰                      |t          ‰¦  «        ¦  «        ‘Œ&S rp   )r  r    )r0  r<   r  rú   s     €€rs   rO  z/LatexPrinter._print_TensMul.<locals>.<listcomp>À  s1   ø€ ÐFÐFÐF¸#ˆT×Ò˜s¥J¨tÑ$4Ô$4Ñ5Ô5ÐFÐFÐFru   )Ú!_get_args_for_traditional_printerrT  )rú   r  r¼  rC  s   ``  rs   Ú_print_TensMulzLatexPrinter._print_TensMul¼  sP   øø€ à×;Ò;Ñ=Ô=‰
ˆˆdØ�b—g’gØFÐFÐFÐFÐFÀÐFÑFÔFñ
ô 
ñ 
ð 	
ru   c           	     ó  — g }|j         }|D ]8}|                     |                      |t          |¦  «        ¦  «        ¦  «         Œ9|                     ¦   «          d                     |¦  «        }|                     dd¦  «        }|S )Nrd  z+ -rÛ  )rC  r=  r  r    r<  rT  r³   )rú   r  rì  rC  r1  rr   s         rs   Ú_print_TensAddzLatexPrinter._print_TensAddÃ  s~   € ØˆØŒyˆØð 	=ð 	=ˆAØ�HŠH�T×&Ò& q­*°TÑ*:Ô*:Ñ;Ô;Ñ<Ô<Ð<Ð<Ø	�Š‰ŒˆØ�JŠJ�q‰MŒMˆØ�IŠI�e˜TÑ"Ô"ˆØˆru   c                ób   — d|j         rdnd›d|                      |j        d         ¦  «        ›d�S )Nz{}r²   r‡  r“   r   ro   )rb  r
  rC  r  s     rs   Ú_print_TensorIndexzLatexPrinter._print_TensorIndexÍ  s=   € € à”:Ð&ˆCˆC 3Ð&Ð&Ø�KŠK˜œ	 !œÑ%Ô%Ð%Ð%ð
ð 	
ru   c           
     óš  ‡ — t          |j        ¦  «        dk    rLd‰                      |j        d         ¦  «        ›d‰                      |j        t
          d         d¦  «        ›d�S dt          |j        ¦  «        ›dd	                     ˆ fd
„|j        D ¦   «         ¦  «        ›d‰                      |j        t
          d         d¦  «        ›d�S )Nrq  z\frac{\partial}{\partial {r   rU  r
   Fro   z\frac{\partial^{rÞ   c                ó@   •— g | ]}d ‰                      |¦  «        z  ‘ŒS )z\partial {%s}rN  r  s     €rs   rO  z9LatexPrinter._print_PartialDerivative.<locals>.<listcomp>Ü  s)   ø€ ÐTÐTÐTÀÐ*¨T¯[ª[¸©^¬^Ñ;ÐTÐTÐTru   rà  )rŠ  rÂ  r
  r  r  r!   rT  r  s   ` rs   Ú_print_PartialDerivativez%LatexPrinter._print_PartialDerivativeÓ  sÕ   ø€ ÝˆtŒ~ÑÔ !Ò#Ð#Ð#à—’˜DœN¨1Ô-Ñ.Ô.Ð.Ð.Ø×!Ò! $¤)­Z¸Ô->ÀÑFÔFÐFÐFðð ð $õ �D”NÑ#Ô#Ð#Ð#Ø—’ÐTÐTÐTÐTÀTÄ^ÐTÑTÔTÑUÔUÐUÐUØ×!Ò! $¤)­Z¸Ô->ÀÑFÔFÐFÐFðð ru   c                ó6   — |                       |j        ¦  «        S r	  )r
  rU  r  s     rs   Ú_print_ArraySymbolzLatexPrinter._print_ArraySymbolà  s   € Ø�{Š{˜4œ9Ñ%Ô%Ð%ru   c                ó¨   ‡ — d‰                       |j        t          d         d¦  «        ›dd                     ˆ fd„|j        D ¦   «         ¦  «        ›d�S )Nz{{r$  Trú  rP  c                ó<   •— g | ]}‰                      |¦  «        › ‘ŒS rp   rN  r  s     €rs   rO  z4LatexPrinter._print_ArrayElement.<locals>.<listcomp>æ  s&   ø€ ÐAÐAÐA¨q˜$Ÿ+š+ a™.œ.Ð*ÐAÐAÐAru   rý  )r  rU  r!   rT  rJ  r  s   ` rs   Ú_print_ArrayElementz LatexPrinter._print_ArrayElementã  s_   ø€ € à×Ò˜dœi­°FÔ);¸TÑBÔBÐBÐBØ�IŠIÐAÐAÐAÐA°D´LÐAÑAÔAÑBÔBÐBÐBðDð 	Dru   c                ó   — dS )Nz
\mathbb{U}rp   r  s     rs   Ú_print_UniversalSetz LatexPrinter._print_UniversalSetè  ó   € Øˆ}ru   c                óš   — |€#d|                       |j        d         ¦  «        z  S d|                       |j        d         ¦  «        ›d|›d�S )Nz$\operatorname{frac}{\left(%s\right)}r   z\operatorname{frac}{\left(z
\right)}^{ro   r  rI  s      rs   Ú_print_fraczLatexPrinter._print_fracë  sW   € Øˆ;Ø:¸T¿[º[ÈÌÐSTÌÑ=VÔ=VÑVÐVð ð —K’K ¤	¨!¤Ñ-Ô-Ð-Ð-¨s¨s¨sð4ð 4ru   c                óh  ‡ — ‰ j         d         dk    rd}n#‰ j         d         dk    rd}nt          d¦  «        ‚t          |¦  «        dk    r1‰                      ‰                      |d         ¦  «        |z   ¦  «        S ‰                      |d	z                        ˆ fd
„|D ¦   «         ¦  «        ¦  «        S )NrÒ   rš  ú;rÎ   rr  úUnknown Decimal Separatorrq  r   z \  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  r  s     €rs   rO  z-LatexPrinter._print_tuple.<locals>.<listcomp>ÿ  s#   ø€ Ð%CÐ%CÐ%C¸ d§k¢k°!¡n¤nÐ%CÐ%CÐ%Cru   )rô   rõ   rŠ  r  r
  rT  )rú   r  Úseps   `  rs   Ú_print_tuplezLatexPrinter._print_tupleò  sÃ   ø€ ØŒ>Ð-Ô.°'Ò9Ð9ØˆCˆCØŒ^Ð/Ô0°HÒ<Ð<ØˆCˆCåÐ8Ñ9Ô9Ð9åˆt‰9Œ9˜Š>ˆ>à×*Ò*¨4¯;ª;°t¸A´wÑ+?Ô+?À#Ñ+EÑFÔFÐFà×*Ò*Ø�w‘×$Ò$Ð%CÐ%CÐ%CÐ%C¸dÐ%CÑ%CÔ%CÑDÔDñFô Fð Fru   c                óT   ‡ — ˆ fd„|j         D ¦   «         }d                     |¦  «        S )Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  ©r0  rì  rú   s     €rs   rO  z5LatexPrinter._print_TensorProduct.<locals>.<listcomp>  ó#   ø€ Ð6Ð6Ð6 q�D—K’K ‘N”NÐ6Ð6Ð6ru   r9  ©rC  rT  ©rú   r  Úelementss   `  rs   Ú_print_TensorProductz!LatexPrinter._print_TensorProduct  s2   ø€ Ø6Ð6Ð6Ð6¨D¬IÐ6Ñ6Ô6ˆØ× Ò  Ñ*Ô*Ð*ru   c                óT   ‡ — ˆ fd„|j         D ¦   «         }d                     |¦  «        S )Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  rŠ  s     €rs   rO  z4LatexPrinter._print_WedgeProduct.<locals>.<listcomp>  r‹  ru   ú \wedge rŒ  r�  s   `  rs   Ú_print_WedgeProductz LatexPrinter._print_WedgeProduct  s2   ø€ Ø6Ð6Ð6Ð6¨D¬IÐ6Ñ6Ô6ˆØ×Ò Ñ)Ô)Ð)ru   c                ó,   — |                       |¦  «        S r	  )r‡  r  s     rs   Ú_print_TuplezLatexPrinter._print_Tuple	  s   € Ø× Ò  Ñ&Ô&Ð&ru   c                óö   ‡ — ‰ j         d         dk    r$dd                     ˆ fd„|D ¦   «         ¦  «        z  S ‰ j         d         dk    r$dd                     ˆ fd„|D ¦   «         ¦  «        z  S t          d	¦  «        ‚)
NrÒ   rš  z\left[ %s\right]z; \  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  r  s     €rs   rO  z,LatexPrinter._print_list.<locals>.<listcomp>  ó#   ø€ Ð<Ð<Ð<°!˜tŸ{š{¨1™~œ~Ð<Ð<Ð<ru   rÎ   ú, \  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  r  s     €rs   rO  z,LatexPrinter._print_list.<locals>.<listcomp>  r˜  ru   r„  )rô   rT  rõ   r  s   ` rs   Ú_print_listzLatexPrinter._print_list  sœ   ø€ ØŒ>Ð-Ô.°'Ò9Ð9Ø&Ø—’Ð<Ð<Ð<Ð<°tÐ<Ñ<Ô<Ñ=Ô=ñ>ð >àŒ^Ð/Ô0°HÒ<Ð<Ø&Ø—’Ð<Ð<Ð<Ð<°tÐ<Ñ<Ô<Ñ=Ô=ñ>ð >õ Ð8Ñ9Ô9Ð9ru   c                ó   — t          |                     ¦   «         t          ¬¦  «        }g }|D ]J}||         }|                     |                      |¦  «        ›d|                      |¦  «        ›�¦  «         ŒKdd                     |¦  «        z  S )Nr2  z : z\left\{ %s\right\}r™  )rÆ  Úkeysr   r=  r
  rT  )rú   rÏ   r�  r:  r3  Úvals         rs   Ú_print_dictzLatexPrinter._print_dict  sŽ   € Ý�a—f’f‘h”hÕ$4Ð5Ñ5Ô5ˆØˆàð 	Kð 	KˆCØ�C”&ˆCØ�LŠL d§k¢k°#Ñ&6Ô&6Ð&6Ð&6¸¿ºÀCÑ8HÔ8HÐ8HÐIÑJÔJÐJÐJà$ x§}¢}°UÑ';Ô';Ñ;Ð;ru   c                ó,   — |                       |¦  «        S r	  )rŸ  r  s     rs   Ú_print_DictzLatexPrinter._print_Dict!  s   € Ø×Ò Ñ%Ô%Ð%ru   c                ó@  — t          |j        ¦  «        dk    s|j        d         dk    r$d|                      |j        d         ¦  «        z  }nEd|                      |j        d         ¦  «        ›d|                      |j        d         ¦  «        ›d�}|r	d|›d|›d	�}|S )
Nrq  r   z\delta\left(%s\right)z\delta^{\left( z \right)}\left( rÀ  rG  rH  ro   rÿ  rÊ  s       rs   Ú_print_DiracDeltazLatexPrinter._print_DiracDelta$  s«   € ÝˆtŒy‰>Œ>˜QÒÐ $¤)¨A¤,°!Ò"3Ð"3Ø*¨T¯[ª[¸¼À1¼Ñ-FÔ-FÑFˆCˆCð #4ð —’˜DœI aœLÑ)Ô)Ð)Ð)¨4¯;ª;°t´yÀ´|Ñ+DÔ+DÐ+DÐ+DðFˆCàð 	7ð 	7Ø-0¨S¨S°#°#°#Ð6ˆCØˆ
ru   c                óÐ   — |                       |j        d         |j        d         z
  ¦  «        }|                       |j        d         ¦  «        }d|›d|›d�}|�d|›d|›d	|›d�}|S )
Nr   rq  rÞ  z{\left\langle z \right\rangle}^{ro   z{\left({\langle z \rangle}^{z}\right)}^{r  )rú   r  rJ  Úshiftr¡  r  s         rs   Ú_print_SingularityFunctionz'LatexPrinter._print_SingularityFunction.  sv   € Ø—’˜DœI aœL¨4¬9°Q¬<Ñ7Ñ8Ô8ˆØ—’˜DœI aœLÑ)Ô)ˆˆØ9>¸¸ÀÀÀÐFˆØˆ?ˆ?ØFKÀeÀeÈUÈUÈUÐTWÐTWÐTWÐXˆCØˆ
ru   c                ót   ‡ — d                      ˆ fd„|j        D ¦   «         ¦  «        }d|z  }|r	d|›d|›d�}|S )NrP  c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  rN  rƒ  s     €rs   r2  z0LatexPrinter._print_Heaviside.<locals>.<genexpr>7  s/   øè è € ÐAÐA¨s˜$Ÿ+š+ cÑ*Ô*ÐAÐAÐAÐAÐAÐAru   z\theta\left(%s\right)rG  rH  ro   )rT  Úpargs)rú   r  rJ  r©  r  s   `    rs   Ú_print_HeavisidezLatexPrinter._print_Heaviside6  sY   ø€ Ø—	’	ÐAÐAÐAÐA°d´jÐAÑAÔAÑAÔAˆØ&¨Ñ.ˆØð 	7ð 	7Ø-0¨S¨S°#°#°#Ð6ˆCØˆ
ru   c                ó
  — |                       |j        d         ¦  «        }|                       |j        d         ¦  «        }|j        d         j        r|j        d         j        r
d|›d|›d�}n	d|›d|›d�}|�	d|›d|›d�}|S )	Nr   rq  z\delta_{rÞ   ro   rP  rG  rH  )r
  rC  r  )rú   r  rJ  rÍ   rê   r  s         rs   Ú_print_KroneckerDeltaz"LatexPrinter._print_KroneckerDelta=  s›   € Ø�KŠK˜œ	 !œÑ%Ô%ˆØ�KŠK˜œ	 !œÑ%Ô%ˆØŒ9�QŒ<Ôð 	. D¤I¨a¤LÔ$8ð 	.ð 	.Ø'( q q¨!¨!¨!Ð,ˆCˆCøà()¨¨¨1¨1¨1Ð-ˆCØˆ?ˆ?Ø-0¨S¨S°#°#°#Ð6ˆCØˆ
ru   c                óî   — t          | j        |j        ¦  «        }t          d„ |j        D ¦   «         ¦  «        rdd                     |¦  «        z  }ndd                     |¦  «        z  }|r	d|›d|›d�}|S )Nc              3  ó$   K  — | ]}|j         V — Œd S r	  )r  )r0  r1  s     rs   r2  z1LatexPrinter._print_LeviCivita.<locals>.<genexpr>J  s$   è è € Ð,Ð,˜QˆqŒyÐ,Ð,Ð,Ð,Ð,Ð,ru   z\varepsilon_{%s}rÞ   rP  rG  rH  ro   )rI  r
  rC  r{  rT  )rú   r  rJ  rJ  r  s        rs   Ú_print_LeviCivitazLatexPrinter._print_LeviCivitaH  sˆ   € Ý�d”k 4¤9Ñ-Ô-ˆÝÐ,Ð, $¤)Ð,Ñ,Ô,Ñ,Ô,ð 	;Ø%¨¯ª°Ñ(9Ô(9Ñ9ˆCˆCà%¨¯	ª	°'Ñ(:Ô(:Ñ:ˆCØð 	7ð 	7Ø-0¨S¨S°#°#°#Ð6ˆCØˆ
ru   c                ó�  — t          |d¦  «        r*d|                      |                     ¦   «         ¦  «        z   S t          |d¦  «        r;d|                      |j        ¦  «        z   dz   |                      |j        ¦  «        z   S t          |d¦  «        rd|                      |j        ¦  «        z   S |                      d ¦  «        S )NÚ
as_booleanz\text{Domain: }Úsetú \in r}  z\text{Domain on })rÇ  r
  r±  r}  r²  )rú   rÏ   s     rs   Ú_print_RandomDomainz LatexPrinter._print_RandomDomainR  s¸   € Ý�1�lÑ#Ô#ð 	%Ø%¨¯ª°A·L²L±N´NÑ(CÔ(CÑCÐCÝ�Q˜ÑÔð 	%Ø&¨¯ª°Q´YÑ)?Ô)?Ñ?À(ÑJØ—K’K ¤Ñ&Ô&ñ'ð (å�Q˜	Ñ"Ô"ð 	%Ø'¨$¯+ª+°a´iÑ*@Ô*@Ñ@Ð@à—;’;˜tÑ$Ô$Ð$ru   c                ób   — t          |j        t          ¬¦  «        }|                      |¦  «        S )Nr2  )rÆ  rC  r   Ú
_print_set©rú   rr   r:  s      rs   Ú_print_FiniteSetzLatexPrinter._print_FiniteSet]  s)   € Ý�q”vÕ#3Ð4Ñ4Ô4ˆØ�Š˜uÑ%Ô%Ð%ru   c                ó>  — t          |t          ¬¦  «        }| j        d         dk    r)d                     t	          | j        |¦  «        ¦  «        }nI| j        d         dk    r)d                     t	          | j        |¦  «        ¦  «        }nt          d¦  «        ‚d|z  S )	Nr2  rÒ   rš  r  rÎ   rP  r„  ú\left\{%s\right\})rÆ  r   rô   rT  rI  r
  rõ   r·  s      rs   r¶  zLatexPrinter._print_seta  s“   € Ý�qÕ.Ð/Ñ/Ô/ˆØŒ>Ð-Ô.°'Ò9Ð9Ø—I’I�c $¤+¨uÑ5Ô5Ñ6Ô6ˆEˆEØŒ^Ð/Ô0°HÒ<Ð<Ø—I’I�c $¤+¨uÑ5Ô5Ñ6Ô6ˆEˆEåÐ8Ñ9Ô9Ð9Ø# eÑ+Ð+ru   c                ó˜  ‡ ‡‡— ˆˆ fd„}t          ¦   «         Š‰j        j        r(‰j        j        r‰j        j        r‰ddd‰f}nà‰ddd‰f}nØ‰j        j        r‰‰d         ‰j        z
  ‰d         f}n²‰j        j        r/t          ‰¦  «        }t          |¦  «        t          |¦  «        ‰f}nw‰j        �f‰j	        dk     dk    rt          ‰¦  «        }nQ‰j        r6t          ‰¦  «        }t          |¦  «        t          |¦  «        ‰‰d         f}n |¦   «         S  |¦   «         S dd                     ˆˆ fd	„|D ¦   «         ¦  «        z   d
z   S )Nc                 ó°  •— ‰j         d         dk    rY‰j         d         dk    r!‰                     ‰j         d         ¦  «        } n�d                     ˆfd„‰j         D ¦   «         ¦  «        } nf‰j         d         dk    r/d                     ˆfd„‰j         d d…         D ¦   «         ¦  «        } n&d                     ˆfd„‰j         D ¦   «         ¦  «        } d| › d	�S )
Nr   rÞ  rq  rP  c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  rN  rƒ  s     €rs   r2  zKLatexPrinter._print_Range.<locals>._print_symbolic_range.<locals>.<genexpr>u  ó/   øè è € Ð$HÐ$H¸# T§[¢[°Ñ%5Ô%5Ð$HÐ$HÐ$HÐ$HÐ$HÐ$Hru   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  rN  rƒ  s     €rs   r2  zKLatexPrinter._print_Range.<locals>._print_symbolic_range.<locals>.<genexpr>x  s/   øè è € Ð$LÐ$L¸# T§[¢[°Ñ%5Ô%5Ð$LÐ$LÐ$LÐ$LÐ$LÐ$Lru   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  rN  rƒ  s     €rs   r2  zKLatexPrinter._print_Range.<locals>._print_symbolic_range.<locals>.<genexpr>z  r¾  ru   z\text{Range}\left(rt  )rC  r
  rT  )Úcontrr   rú   s    €€rs   Ú_print_symbolic_rangez8LatexPrinter._print_Range.<locals>._print_symbolic_rangeo  sÞ   ø€ àŒv�aŒy˜AŠ~ˆ~Ø”6˜!”9 ’>�>ØŸ;š; q¤v¨a¤yÑ1Ô1�D�DàŸ9š9Ð$HÐ$HÐ$HÐ$HÀÄÐ$HÑ$HÔ$HÑHÔH�D�Dà”6˜!”9 ’>�>ØŸ9š9Ð$LÐ$LÐ$LÐ$LÀÄÈÈÈÄÐ$LÑ$LÔ$LÑLÔL�D�DàŸ9š9Ð$HÐ$HÐ$HÐ$HÀÄÐ$HÑ$HÔ$HÑHÔH�Dà:¨DÐ:Ð:Ð:Ð;ru   rp  r   rq  rp  Tú\left\{rP  c              3  óN   •K  — | ]}|‰ur‰                      |¦  «        nd V — Œ dS ©z\ldotsNrN  ©r0  ÚelÚdotsrú   s     €€rs   r2  z,LatexPrinter._print_Range.<locals>.<genexpr>•  ó:   øè è € Ð_Ð_ÐPR¨b¸¨n¨n˜4Ÿ;š; r™?œ?˜?À)Ð_Ð_Ð_Ð_Ð_Ð_ru   ú\right\})ÚobjectÚstartÚis_infiniteÚstopÚstepÚis_positiveÚiterÚnextÚis_emptyrv  r  Úis_iterablerT  )rú   rr   rÂ  ÚprintsetÚitrÈ  s   ``   @rs   Ú_print_RangezLatexPrinter._print_Rangen  sŠ  øøø€ ð	<ð 	<ð 	<ð 	<ð 	<ð 	<õ ‰xŒxˆàŒ7Ôð 	+ 1¤6Ô#5ð 	+ØŒvÔ!ð 0Ø  Q¨¨4Ð/��à  A r¨4Ð/��ØŒWÔ ð 	+Ø˜Q˜rœU Q¤V™^¨Q¨r¬UÐ2ˆHˆHØŒVÔð 	+Ý�a‘”ˆBÝ˜B‘x”x¥ b¡¤¨4Ð/ˆHˆHØŒZÐ#Ø”˜’
˜tÒ#Ð#Ý  ™8œ8��Ø”ð /Ý˜!‘W”W�Ý ™8œ8¥T¨"¡X¤X¨t°Q°r´UÐ:��à,Ð,Ñ.Ô.Ð.à(Ð(Ñ*Ô*Ð*ØØ—
’
Ð_Ð_Ð_Ð_Ð_ÐV^Ð_Ñ_Ô_Ñ_Ô_ñ`àñð 	ru   c           
     ó¼  — t          |j        ¦  «        dk    r“|�J|›d|                      |j        d         ¦  «        ›d|›d|                      |j        d         ¦  «        ›d�S |›d|                      |j        d         ¦  «        ›d|                      |j        d         ¦  «        ›d�S |›d|                      |j        d         ¦  «        ›d�}|�|›d	|›d�}|S )
NrÞ  rw  r   rx  r8  rq  rt  ro   rü  rÿ  )rú   r  ÚletterrJ  r  s        rs   Ú__print_number_polynomialz&LatexPrinter.__print_number_polynomial˜  sõ   € ÝˆtŒy‰>Œ>˜QÒÐØˆØ9?¸¸Ø ŸKšK¨¬	°!¬Ñ5Ô5Ð5Ð5°s°s°sØ ŸKšK¨¬	°!¬Ñ5Ô5Ð5Ð5ð7ð 7ð 17°°ØŸš D¤I¨a¤LÑ1Ô1Ð1Ð1°4·;²;¸t¼yÈ¼|Ñ3LÔ3LÐ3LÐ3LðNð Nð #˜F˜F D§K¢K°´	¸!´Ñ$=Ô$=Ð$=Ð$=Ð>ˆØˆ?Ø #   S S SÐ)ˆCØˆ
ru   c                ó0   — |                       |d|¦  «        S ©Nr  ©Ú&_LatexPrinter__print_number_polynomialrI  s      rs   Ú_print_bernoullizLatexPrinter._print_bernoulli¦  ó   € Ø×-Ò-¨d°C¸Ñ=Ô=Ð=ru   c                ó0   — |                       |d|¦  «        S )NÚGrÝ  rI  s      rs   Ú_print_genocchizLatexPrinter._print_genocchi©  rà  ru   c                ór  ‡ — t          |j        ¦  «        dk    rˆd‰                      |j        d         ¦  «        ›d‰                      |j        d         ¦  «        ›d�}dd                     ˆ fd„|j        d	         D ¦   «         ¦  «        z  }|�|›d
|›d|›�}n||z   }|S ‰                      |d|¦  «        S )Nr5  zB_{r   rP  rq  ro   re  c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  rN  )r0  rÇ  rú   s     €rs   r2  z+LatexPrinter._print_bell.<locals>.<genexpr>°  sI   øè è € ð 3Cð 3CØ/1ð 48·;²;¸r±?´?ð 3Cð 3Cð 3Cð 3Cð 3Cð 3Cru   rÞ  rü  r  )rŠ  rC  r
  rT  rÞ  )rú   r  rJ  Útex1Útex2r  s   `     rs   Ú_print_bellzLatexPrinter._print_bell¬  sé   ø€ ÝˆtŒy‰>Œ>˜QÒÐÐØ$(§K¢K°´	¸!´Ñ$=Ô$=Ð$=Ð$=Ø $§¢¨D¬I°a¬LÑ 9Ô 9Ð 9Ð 9ð;ˆDà%¨¯
ª
ð 3Cð 3Cð 3Cð 3CØ59´Y¸q´\ð3Cñ 3Cô 3Cñ )Cô )Cñ CˆDàˆØ&* d d¨C¨C¨C°°Ð6��à˜T‘k�ØˆJØ×-Ò-¨d°C¸Ñ=Ô=Ð=ru   c                ó0   — |                       |d|¦  «        S ©NÚFrÝ  rI  s      rs   Ú_print_fibonaccizLatexPrinter._print_fibonacci¹  rà  ru   c                ó`   — d|                       |j        d         ¦  «        z  }|�|›d|›d�}|S )NzL_{%s}r   rü  ro   r  rÊ  s       rs   Ú_print_lucaszLatexPrinter._print_lucas¼  ó:   € Ø˜$Ÿ+š+ d¤i°¤lÑ3Ô3Ñ3ˆØˆ?Ø #   S S SÐ)ˆCØˆ
ru   c                ó0   — |                       |d|¦  «        S )NÚTrÝ  rI  s      rs   Ú_print_tribonaccizLatexPrinter._print_tribonacciÂ  rà  ru   c                óš   — |€#d|                       |j        d         ¦  «        z  S d|›d|                       |j        d         ¦  «        ›d�S )Nz\mu\left(%s\right)r   z\mu^{r8  rt  r  rI  s      rs   Ú_print_mobiuszLatexPrinter._print_mobiusÅ  sP   € Øˆ;Ø(¨4¯;ª;°t´yÀ´|Ñ+DÔ+DÑDÐDð à-0¨S¨S°$·+²+¸d¼iÈ¼lÑ2KÔ2KÐ2KÐ2KÐLÐLru   c           
     óX  ‡ ‡— t          ¦   «         Št          |j        j        ¦  «        dk    st          |j        j        ¦  «        dk    rud‰                      |j        ¦  «        ›d‰                      |j        d         ¦  «        ›d‰                      |j        ¦  «        ›d‰                      |j        ¦  «        ›d�	S |j        t          j	        u rd|j        }‰| 
                    |dz
  ¦  «        | 
                    |dz
  ¦  «        | 
                    |d	z
  ¦  «        | 
                    |¦  «        f}nM|j        t          j        u s|j        d
k    r |d d
…         }|                     ‰¦  «         nt          |¦  «        }dd                     ˆˆ fd„|D ¦   «         ¦  «        z   dz   S )Nr   rÃ  z
\right\}_{rf  rx  ro   r5  rÞ  rq  rp  r  rP  c              3  óN   •K  — | ]}|‰ur‰                      |¦  «        nd V — Œ dS rÅ  rN  rÆ  s     €€rs   r2  z1LatexPrinter._print_SeqFormula.<locals>.<genexpr>Þ  rÉ  ru   r  )rË  rŠ  rÌ  Úfree_symbolsrÎ  r
  ÚformularÂ  r   r�  Úcoeffr€  Úlengthr=  r  rT  )rú   rr   rÎ  rÕ  rÈ  s   `   @rs   Ú_print_SeqFormulazLatexPrinter._print_SeqFormulaÊ  s“  øø€ Ý‰xŒxˆÝˆqŒwÔ#Ñ$Ô$ qÒ(Ð(­C°´Ô0CÑ,DÔ,DÀqÒ,HÐ,Høà—’˜AœIÑ&Ô&Ð&Ð&Ø—’˜AœK¨œNÑ+Ô+Ð+Ð+Ø—’˜AœGÑ$Ô$Ð$Ð$Ø—’˜AœFÑ#Ô#Ð#Ð#ð	ð ð Œ7•aÔ(Ð(Ð(Ø”6ˆDØ˜aŸgšg d¨Q¡hÑ/Ô/°·²¸À¹Ñ1BÔ1BØŸš  q¡Ñ)Ô)¨1¯7ª7°4©=¬=ð:ˆHˆHàŒV•q”zÐ!Ð! Q¤X°¢\ \Ø˜˜!˜”uˆHØ�OŠO˜DÑ!Ô!Ð!Ð!å˜Q‘x”xˆHàØ—
’
Ð_Ð_Ð_Ð_Ð_ÐV^Ð_Ñ_Ô_Ñ_Ô_ñ`àñð 	ru   c                ó  — |j         |j        k    rd|                      |j         ¦  «        z  S |j        rd}nd}|j        rd}nd}d|›|                      |j         ¦  «        ›d|                      |j        ¦  «        ›d|›�S )	Nrº  ré   rÃ   rç   rè   ró  rP  rô  )rÌ  Úendr
  Ú	left_openÚ
right_open)rú   rÍ   r%  r&  s       rs   Ú_print_IntervalzLatexPrinter._print_Intervalå  sœ   € ØŒ7�a”eÒÐØ'¨$¯+ª+°a´gÑ*>Ô*>Ñ>Ð>ð Œ{ð Ø��à�àŒ|ð Ø��à�øð �D˜$Ÿ+š+ a¤gÑ.Ô.Ð.Ð.°·²¸A¼EÑ0BÔ0BÐ0BÐ0BÀEÀEðKð Kru   c                ót   — d|                       |j        ¦  «        ›d|                       |j        ¦  «        ›d�S )Nz\left\langle rP  z\right\rangle)r
  rÕ   rÖ   ©rú   rÍ   s     rs   Ú_print_AccumulationBoundsz&LatexPrinter._print_AccumulationBounds÷  s;   € € à—’˜QœUÑ#Ô#Ð#Ð# T§[¢[°´Ñ%7Ô%7Ð%7Ð%7ð9ð 	9ru   c                óv   ‡ ‡— t          |¦  «        Šˆˆ fd„|j        D ¦   «         }d                     |¦  «        S )Nc                ó<   •— g | ]}‰                      |‰¦  «        ‘ŒS rp   ©r  ©r0  rÍ   r1  rú   s     €€rs   rO  z-LatexPrinter._print_Union.<locals>.<listcomp>ý  ó)   ø€ Ð?Ð?Ð?°1�D×%Ò% a¨Ñ.Ô.Ð?Ð?Ð?ru   z \cup ©r   rC  rT  ©rú   ÚuÚargs_strr1  s   `  @rs   Ú_print_UnionzLatexPrinter._print_Unionû  óA   øø€ Ý% aÑ(Ô(ˆØ?Ð?Ð?Ð?Ð?¸¼Ð?Ñ?Ô?ˆØ�~Š~˜hÑ'Ô'Ð'ru   c                óv   ‡ ‡— t          |¦  «        Šˆˆ fd„|j        D ¦   «         }d                     |¦  «        S )Nc                ó<   •— g | ]}‰                      |‰¦  «        ‘ŒS rp   r  r  s     €€rs   rO  z2LatexPrinter._print_Complement.<locals>.<listcomp>	  r  ru   z \setminus r	  r
  s   `  @rs   Ú_print_ComplementzLatexPrinter._print_Complement 	  óC   øø€ Ý% aÑ(Ô(ˆØ?Ð?Ð?Ð?Ð?¸¼Ð?Ñ?Ô?ˆØ×"Ò" 8Ñ,Ô,Ð,ru   c                óv   ‡ ‡— t          |¦  «        Šˆˆ fd„|j        D ¦   «         }d                     |¦  «        S )Nc                ó<   •— g | ]}‰                      |‰¦  «        ‘ŒS rp   r  r  s     €€rs   rO  z4LatexPrinter._print_Intersection.<locals>.<listcomp>	  r  ru   z \cap r	  r
  s   `  @rs   Ú_print_Intersectionz LatexPrinter._print_Intersection	  r  ru   c                óv   ‡ ‡— t          |¦  «        Šˆˆ fd„|j        D ¦   «         }d                     |¦  «        S )Nc                ó<   •— g | ]}‰                      |‰¦  «        ‘ŒS rp   r  r  s     €€rs   rO  z;LatexPrinter._print_SymmetricDifference.<locals>.<listcomp>	  r  ru   z \triangle r	  r
  s   `  @rs   Ú_print_SymmetricDifferencez'LatexPrinter._print_SymmetricDifference
	  r  ru   c                ó<  ‡ ‡— t          |¦  «        Št          |j        ¦  «        dk    rMt          |j        ¦  «        s9‰                      |j        d         ‰¦  «        dt          |j        ¦  «        z  z   S d                     ˆˆ fd„|j        D ¦   «         ¦  «        S )Nrq  r   z^{%d}rà   c              3  óD   •K  — | ]}‰                      |‰¦  «        V — Œd S r	  r  )r0  r²  r1  rú   s     €€rs   r2  z1LatexPrinter._print_ProductSet.<locals>.<genexpr>	  sD   øè è € ð  <ð  <Ø-0ˆD×Ò˜c 4Ñ(Ô(ð <ð  <ð  <ð  <ð  <ð  <ru   )r   rŠ  Úsetsr$   r  rT  )rú   rõ  r1  s   ` @rs   Ú_print_ProductSetzLatexPrinter._print_ProductSet	  s¦   øø€ Ý% aÑ(Ô(ˆÝˆqŒv‰;Œ;˜!ÒÐ¥K°´Ñ$7Ô$7ÐØ×$Ò$ Q¤V¨A¤Y°Ñ5Ô5¸Å#ÀaÄfÁ+Ä+Ñ8MÑMÐMØ×Òð  <ð  <ð  <ð  <ð  <Ø45´Fð <ñ  <ô  <ñ <ô <ð 	<ru   c                ó   — dS )Nz	\emptysetrp   r]  s     rs   Ú_print_EmptySetzLatexPrinter._print_EmptySet	  s   € Øˆ|ru   c                ó   — dS )Nz
\mathbb{N}rp   ©rú   r1  s     rs   Ú_print_NaturalszLatexPrinter._print_Naturals	  r  ru   c                ó   — dS )Nz\mathbb{N}_0rp   r   s     rs   Ú_print_Naturals0zLatexPrinter._print_Naturals0	  s   € Øˆru   c                ó   — dS ©Nz
\mathbb{Z}rp   r  s     rs   Ú_print_IntegerszLatexPrinter._print_Integers	  r  ru   c                ó   — dS ©Nz
\mathbb{Q}rp   r  s     rs   Ú_print_RationalszLatexPrinter._print_Rationals"	  r  ru   c                ó   — dS ©Nz
\mathbb{R}rp   r  s     rs   Ú_print_RealszLatexPrinter._print_Reals%	  r  ru   c                ó   — dS ©Nz
\mathbb{C}rp   r  s     rs   Ú_print_ComplexeszLatexPrinter._print_Complexes(	  r  ru   c                óì   ‡ — |j         j        }|j         j        }ˆ fd„t          ||j        ¦  «        D ¦   «         }d                     d„ |D ¦   «         ¦  «        }d‰                      |¦  «        ›d|›d�S )Nc              3  ór   •K  — | ]1\  }}‰                      |¦  «        ‰                      |¦  «        fV — Œ2d S r	  rN  )r0  r1  r  rú   s      €rs   r2  z/LatexPrinter._print_ImageSet.<locals>.<genexpr>.	  s@   øè è € ÐRÐR±D°A°q�—’˜A‘” §¢¨A¡¤Ð/ÐRÐRÐRÐRÐRÐRru   rP  c              3  ó    K  — | ]	}d |z  V — Œ
dS )ú	%s \in %sNrp   )r0  Úxys     rs   r2  z/LatexPrinter._print_ImageSet.<locals>.<genexpr>/	  s'   è è € Ð;Ð;°˜<¨"Ñ,Ð;Ð;Ð;Ð;Ð;Ð;ru   rÃ  ú\; \middle|\; rÊ  )rX   r  Ú	signaturerg  Ú	base_setsrT  r
  )rú   rr   r  ÚsigÚxysÚxinyss   `     rs   Ú_print_ImageSetzLatexPrinter._print_ImageSet+	  s~   ø€ ØŒwŒ|ˆØŒgÔˆØRÐRÐRÐR½CÀÀQÄ[Ñ<QÔ<QÐRÑRÔRˆØ—
’
Ð;Ð;°sÐ;Ñ;Ô;Ñ;Ô;ˆˆØ7;·{²{À4Ñ7HÔ7HÐ7HÐ7HÈ%È%È%ÐPÐPru   c           
     óP  ‡ — d                      ˆ fd„t          |j        ¦  «        D ¦   «         ¦  «        }|j        t          j        u r!d|›d‰                      |j        ¦  «        ›d�S d|›d|›d‰                      |j        ¦  «        ›d‰                      |j        ¦  «        ›d�	S )NrP  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  ©r0  r“  rú   s     €rs   rO  z4LatexPrinter._print_ConditionSet.<locals>.<listcomp>3	  s%   ø€ ÐIÐIÐI°S §¢¨CÑ 0Ô 0ÐIÐIÐIru   rÃ  r5  ú	 \right\}r³  r’  )rT  r   r6  Úbase_setr   ÚUniversalSetr
  Ú	condition©rú   rr   Ú
vars_prints   `  rs   Ú_print_ConditionSetz LatexPrinter._print_ConditionSet2	  s·   ø€ Ø—Y’YÐIÐIÐIÐI½EÀ!Ä%¹L¼LÐIÑIÔIÑJÔJˆ
ØŒ:�œÐ'Ð'Ð'à��˜TŸ[š[¨¬Ñ5Ô5Ð5Ð5ð7ð 7ð (ð
 ˆJˆJØˆJˆJØ�KŠK˜œ
Ñ#Ô#Ð#Ð#Ø�KŠK˜œÑ$Ô$Ð$Ð$ð	&ð 	&ru   c                ól   — |                       |j        d         ¦  «        }d                     |¦  «        S )Nr   z\mathcal{{P}}\left({}\right)©r
  rC  r  )rú   r  Ú	arg_prints      rs   Ú_print_PowerSetzLatexPrinter._print_PowerSet>	  s-   € Ø—K’K ¤	¨!¤Ñ-Ô-ˆ	Ø.×5Ò5°iÑ@Ô@Ð@ru   c                óÈ   ‡ — d                      ˆ fd„|j        D ¦   «         ¦  «        }d‰                      |j        ¦  «        ›d|›d‰                      |j        ¦  «        ›d�S )NrP  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  r>  s     €rs   rO  z5LatexPrinter._print_ComplexRegion.<locals>.<listcomp>C	  s%   ø€ ÐHÐHÐH°S §¢¨CÑ 0Ô 0ÐHÐHÐHru   rÃ  r5  r³  r?  )rT  rÂ  r
  r  r  rC  s   `  rs   Ú_print_ComplexRegionz!LatexPrinter._print_ComplexRegionB	  sl   ø€ Ø—Y’YÐHÐHÐHÐH¸A¼KÐHÑHÔHÑIÔIˆ
ˆ
à�KŠK˜œÑÔÐÐØˆJˆJØ�KŠK˜œÑÔÐÐð!ð 	!ru   c                óJ   ‡ — dt          ˆ fd„|j        D ¦   «         ¦  «        z  S )Nr3  c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  rN  rŠ  s     €rs   r2  z/LatexPrinter._print_Contains.<locals>.<genexpr>J	  s-   øè è € Ð#CÐ#C°q D§K¢K°¡N¤NÐ#CÐ#CÐ#CÐ#CÐ#CÐ#Cru   )r  rC  r]  s   ` rs   Ú_print_ContainszLatexPrinter._print_ContainsI	  s-   ø€ Ø�eÐ#CÐ#CÐ#CÐ#C¸A¼FÐ#CÑ#CÔ#CÑCÔCÑCÐCru   c                óê   — |j         j        t          j        u r2|j        j        t          j        u r|                      |j        ¦  «        S |                      |                     ¦   «         ¦  «        dz   S )Nz	 + \ldots)	rv  rø  r   rR  Úbnr
  Úa0rk  Útruncater  s     rs   Ú_print_FourierSeriesz!LatexPrinter._print_FourierSeriesL	  sV   € ØŒ4Œ<�1œ6Ð!Ð! a¤d¤lµa´fÐ&<Ð&<Ø—;’;˜qœtÑ$Ô$Ð$Ø�Š˜qŸzšz™|œ|Ñ,Ô,¨|Ñ;Ð;ru   c                ó6   — |                       |j        ¦  «        S r	  )rk  Úinfiniter  s     rs   Ú_print_FormalPowerSeriesz%LatexPrinter._print_FormalPowerSeriesQ	  s   € Ø�Š˜qœzÑ*Ô*Ð*ru   c                ó   — d|j         z  S )Nz\mathbb{F}_{%s})Úmodr  s     rs   Ú_print_FiniteFieldzLatexPrinter._print_FiniteFieldT	  s   € Ø! D¤HÑ,Ð,ru   c                ó   — dS r%  rp   r  s     rs   Ú_print_IntegerRingzLatexPrinter._print_IntegerRingW	  r  ru   c                ó   — dS r(  rp   r  s     rs   Ú_print_RationalFieldz!LatexPrinter._print_RationalFieldZ	  r  ru   c                ó   — dS r+  rp   r  s     rs   Ú_print_RealFieldzLatexPrinter._print_RealField]	  r  ru   c                ó   — dS r.  rp   r  s     rs   Ú_print_ComplexFieldz LatexPrinter._print_ComplexField`	  r  ru   c                ó    — |                       |j        ¦  «        }d                     t          | j         |j        ¦  «        ¦  «        }|›d|›d�S )NrP  r  r  ©r
  ÚdomainrT  rI  r}  ©rú   r  re  r}  s       rs   Ú_print_PolynomialRingz"LatexPrinter._print_PolynomialRingc	  óG   € Ø—’˜Tœ[Ñ)Ô)ˆØ—)’)�C ¤¨T¬\Ñ:Ô:Ñ;Ô;ˆØ'- v v¨w¨w¨wÐ7Ð7ru   c                ó    — |                       |j        ¦  «        }d                     t          | j         |j        ¦  «        ¦  «        }|›d|›d�S )NrP  rG  rt  rd  rf  s       rs   Ú_print_FractionFieldz!LatexPrinter._print_FractionFieldh	  rh  ru   c                óº   — |                       |j        ¦  «        }d                     t          | j         |j        ¦  «        ¦  «        }d}|j        sd}|›|›d|›d�S )NrP  rå   zS_<^{-1}r  r  )r
  re  rT  rI  r}  Úis_Poly)rú   r  re  r}  Úinvs        rs   Ú_print_PolynomialRingBasez&LatexPrinter._print_PolynomialRingBasem	  s_   € Ø—’˜Tœ[Ñ)Ô)ˆØ—)’)�C ¤¨T¬\Ñ:Ô:Ñ;Ô;ˆØˆØŒ|ð 	ØˆCØ),¨¨f¨f¨f°g°g°gÐ>Ð>ru   c           	     óÚ  — |j         j        }g }|                     ¦   «         D �]t\  }}d}t          |¦  «        D ]f\  }}|dk    r[|dk    r$||                      |j        |         ¦  «        z  }Œ5||                      t          |j        |         |¦  «        ¦  «        z  }Œg|j        r1|r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<   d                     |¦  «        }t          t!          | j        |j        ¦  «        ¦  «        }d	|                      |                     ¦   «         ¦  «        z  }d
                     |g|z   |gz   ¦  «        }|t$          v r
d|›d|›d�}n	d|›d|›d�}|S )Nrå   r   rq  re  r™  r4  rÞ   )r4  r™  z	domain=%srP  r°   ú {\left(z	 \right)}rˆ  z	}{\left( )rR  rS  rh  rg  r
  ÚgensÚpowr%  r   rã  Úextendr  r	  ÚpoprT  rÍ  rI  Ú
get_domainrŠ  )rú   Úpolyr½  rh  Úmonomrù  Ús_monomrÍ   rJ  Ús_coeffÚs_termÚmodifierr  rq  re  rC  r  s                    rs   Ú_print_PolyzLatexPrinter._print_Polyu	  s•  € ØŒnÔ%ˆØˆØ ŸJšJ™LœLð "	,ñ "	,‰LˆE�5ØˆGÝ# EÑ*Ô*ð Gð G‘��3Ø˜’7�7Ø˜a’x�xØ 4§;¢;¨t¬y¸¬|Ñ#<Ô#<Ñ<˜˜à 4§;¢;­s°4´9¸Q´<ÀÑ/EÔ/EÑ#FÔ#FÑF˜øàŒ|ð -Øð 1Ø0°4·;²;¸uÑ3EÔ3EÑE�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‘à�xŠx˜‰ŒˆÝ•C˜œ T¤YÑ/Ô/Ñ0Ô0ˆØ˜tŸ{š{¨4¯?ª?Ñ+<Ô+<Ñ=Ô=Ñ=ˆà�yŠy˜$˜ $™¨&¨Ñ1Ñ2Ô2ˆØÕ*Ð*Ð*Ð*Ø/2¨s¨s°D°D°DÐ9ˆCˆCð +ð >A¸S¸SÀ$À$À$ÐGˆCàˆ
ru   c                óž   — |j         j        }|dk    rd}|                      |j        ¦  «        }|j        }|t
          v rd|||fz  S d|||fz  S )NÚComplexRootOfÚCRootOfz\%s {\left(%s, %d\right)}z'\operatorname{%s} {\left(%s, %d\right)})rR  rS  r
  r  re  rŠ  )rú   r;   r½  r  re  s        rs   Ú_print_ComplexRootOfz!LatexPrinter._print_ComplexRootOf®	  sq   € ØŒnÔ%ˆØ�/Ò!Ð!ØˆCØ�{Š{˜4œ9Ñ%Ô%ˆØ”
ˆØÕ*Ð*Ð*Ø/°3¸¸eÐ2DÑDÐDà=ÀÀdØAFðAHñ Hð Hru   c                óR  — |j         j        }|                      |j        ¦  «        g}|j        t
          j        ur-|                     |                      |j        ¦  «        ¦  «         |t          v rd|›dd 	                    |¦  «        ›d�S d|›dd 	                    |¦  «        ›d�S )Nr°   rp  rP  r/  rˆ  z	} {\left()
rR  rS  r
  r  Úfunr   ÚIdentityFunctionr=  rŠ  rT  )rú   r  r½  rC  s       rs   Ú_print_RootSumzLatexPrinter._print_RootSumº	  sª   € ØŒnÔ%ˆØ—’˜DœIÑ&Ô&Ð'ˆàŒ8�1Ô-Ð-Ð-Ø�KŠK˜Ÿš D¤HÑ-Ô-Ñ.Ô.Ð.àÕ*Ð*Ð*Ð*Ø/2¨s¨s°D·I²I¸d±O´O°O°OÐDÐDð +ð >A¸S¸SØ=A¿YºYÀt¹_¼_¸_¸_ðNð Nru   c                ó   — dS )Nú\omegarp   r  s     rs   Ú_print_OrdinalOmegaz LatexPrinter._print_OrdinalOmegaÇ	  s   € Øˆyru   c                ó¾   — |j         \  }}|dk    r1|dk    rd                     ||¦  «        S d                     |¦  «        S |dk    rd                     |¦  «        S dS )Nrq  z{} \omega^{{{}}}z	{} \omegaz\omega^{{{}}}r†  )rC  r  )rú   r  rJ  Úmuls       rs   Ú_print_OmegaPowerzLatexPrinter._print_OmegaPowerÊ	  sk   € Ø”9‰ˆˆSØ�!Š8ˆ8Ø�aŠxˆxØ*×1Ò1°#°sÑ;Ô;Ð;à#×*Ò*¨3Ñ/Ô/Ð/à�aŠxˆxØ'×.Ò.¨sÑ3Ô3Ð3à �yru   c                óP   ‡ — d                      ˆ fd„|j        D ¦   «         ¦  «        S )Nrd  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  rƒ  s     €rs   rO  z/LatexPrinter._print_Ordinal.<locals>.<listcomp>Ø	  s%   ø€ ÐAÐAÐA°˜4Ÿ;š; sÑ+Ô+ÐAÐAÐAru   )rT  rC  r  s   ` rs   Ú_print_OrdinalzLatexPrinter._print_Ordinal×	  s,   ø€ Ø�zŠzÐAÐAÐAÐA°t´yÐAÑAÔAÑBÔBÐBru   c                óV   — | j         d         }|                     | t          d|¦  «        S )Nrã   z	{%s}^{%d})rô   r­   r!   )rú   rv  rÇ   s      rs   Ú_print_PolyElementzLatexPrinter._print_PolyElementÚ	  s'   € Ø”^Ð$6Ô7ˆ
Ø�xŠx˜�j¨+°zÑBÔBÐBru   c                óÆ   — |j         dk    r|                      |j        ¦  «        S |                      |j        ¦  «        }|                      |j         ¦  «        }d|›d|›d�S )Nrq  rß  rà  ro   )rç  r
  ræ  )rú   r:   ræ  rç  s       rs   Ú_print_FracElementzLatexPrinter._print_FracElementÞ	  s\   € ØŒ:˜Š?ˆ?Ø—;’;˜tœzÑ*Ô*Ð*à—K’K ¤
Ñ+Ô+ˆEØ—K’K ¤
Ñ+Ô+ˆEˆEØ', u u¨e¨e¨eÐ4Ð4ru   c                óæ   — t          |j        ¦  «        dk    r|j        d         d fn|j        \  }}d|                      |¦  «        z  }|�|›d|›d�}|�|›d|                      |¦  «        ›d�}|S )Nrq  r   zE_{%s}rü  ro   rG  rt  rÿ  )rú   r  rJ  r¢  r1  r  s         rs   Ú_print_eulerzLatexPrinter._print_euleræ	  s€   € Ý'*¨4¬9¡~¤~¸Ò':Ð':�”	˜!”˜dÐ#Ð#ÀÄ	‰ˆˆ1Ø˜$Ÿ+š+ a™.œ.Ñ(ˆØˆ?Ø #   S S SÐ)ˆCØˆ=Ø*-¨#¨#¨t¯{ª{¸1©~¬~¨~¨~Ð>ˆCØˆ
ru   c                ó`   — d|                       |j        d         ¦  «        z  }|�|›d|›d�}|S )NzC_{%s}r   rü  ro   r  rÊ  s       rs   Ú_print_catalanzLatexPrinter._print_catalanï	  rï  ru   c           
     óð   — d                      ||rdnd|                      |j        d         ¦  «        |                      |j        d         ¦  «        |                      |j        d         ¦  «        ¦  «        S )Nz5\mathcal{{{}}}{}_{{{}}}\left[{}\right]\left({}\right)z^{-1}rå   rq  r   rÞ  ©r  r
  rC  )rú   r  rr   Úinverses       rs   Ú_print_UnifiedTransformz$LatexPrinter._print_UnifiedTransformõ	  sÛ   € ØG×NÒNÈqÐ]dÐRlÐRYÐRYÐjlÐnr×nyÒnyÐz~ô  {Dð  EFô  {Gñ  oHô  oHð  JN÷  JUò  JUð  VZô  V_ð  `aô  Vbñ  Jcô  Jcð  ei÷  epò  epð  quô  qzð  {|ô  q}ñ  e~ô  e~ñ  ô  ð  	ru   c                ó.   — |                       |d¦  «        S )NÚM©r™  r  s     rs   Ú_print_MellinTransformz#LatexPrinter._print_MellinTransformø	  ó   € Ø×+Ò+¨D°#Ñ6Ô6Ð6ru   c                ó0   — |                       |dd¦  «        S )Nr›  Trœ  r  s     rs   Ú_print_InverseMellinTransformz*LatexPrinter._print_InverseMellinTransformû	  ó   € Ø×+Ò+¨D°#°tÑ<Ô<Ð<ru   c                ó.   — |                       |d¦  «        S )NÚLrœ  r  s     rs   Ú_print_LaplaceTransformz$LatexPrinter._print_LaplaceTransformþ	  rž  ru   c                ó0   — |                       |dd¦  «        S )Nr£  Trœ  r  s     rs   Ú_print_InverseLaplaceTransformz+LatexPrinter._print_InverseLaplaceTransform
  r¡  ru   c                ó.   — |                       |d¦  «        S rê  rœ  r  s     rs   Ú_print_FourierTransformz$LatexPrinter._print_FourierTransform
  rž  ru   c                ó0   — |                       |dd¦  «        S )Nrë  Trœ  r  s     rs   Ú_print_InverseFourierTransformz+LatexPrinter._print_InverseFourierTransform
  r¡  ru   c                ó.   — |                       |d¦  «        S )NÚSINrœ  r  s     rs   Ú_print_SineTransformz!LatexPrinter._print_SineTransform

  ó   € Ø×+Ò+¨D°%Ñ8Ô8Ð8ru   c                ó0   — |                       |dd¦  «        S )Nr¬  Trœ  r  s     rs   Ú_print_InverseSineTransformz(LatexPrinter._print_InverseSineTransform
  ó   € Ø×+Ò+¨D°%¸Ñ>Ô>Ð>ru   c                ó.   — |                       |d¦  «        S )NÚCOSrœ  r  s     rs   Ú_print_CosineTransformz#LatexPrinter._print_CosineTransform
  r®  ru   c                ó0   — |                       |dd¦  «        S )Nr³  Trœ  r  s     rs   Ú_print_InverseCosineTransformz*LatexPrinter._print_InverseCosineTransform
  r±  ru   c                óÒ   — 	 |j         �-|                      |j                              |¦  «        ¦  «        S n# t          $ r Y nw xY w|                      t	          |¦  «        ¦  «        S r	  )Úringr
  Úto_sympyr   Úrepr©rú   rõ  s     rs   Ú
_print_DMPzLatexPrinter._print_DMP
  sn   € ð	ØŒvÐ!à—{’{ 1¤6§?¢?°1Ñ#5Ô#5Ñ6Ô6Ð6ð "øõ ð 	ð 	ð 	ØˆDð	øøøà�{Š{�4 ™7œ7Ñ#Ô#Ð#s   ‚37 ·
AÁAc                ó,   — |                       |¦  «        S r	  )r¼  r»  s     rs   Ú
_print_DMFzLatexPrinter._print_DMF
  s   € Ø�Š˜qÑ!Ô!Ð!ru   c                óP   — |                       t          |j        ¦  «        ¦  «        S r	  ©r
  r   rU  )rú   rË  s     rs   Ú_print_ObjectzLatexPrinter._print_Object"
  s   € Ø�{Š{�6 &¤+Ñ.Ô.Ñ/Ô/Ð/ru   c                ó  — |                       |j        d         ¦  «        }|�d|›d�nd}t          |j        ¦  «        dk    r
d|›d|›d�}n7|                       |j        d         ¦  «        }d	                     |||¦  «        }|S )
Nr   rü  ro   rå   rq  ÚWrG  rt  zW{0}_{{{1}}}\left({2}\right))r
  rC  rŠ  r  )rú   r  rJ  Úarg0ÚresultÚarg1s         rs   Ú_print_LambertWzLatexPrinter._print_LambertW%
  s�   € Ø�{Š{˜4œ9 Qœ<Ñ(Ô(ˆØ#& ? ?˜#˜#˜#ÐÐ¸ˆÝˆtŒy‰>Œ>˜QÒÐÐØ.1¨c¨c°4°4°4Ð8ˆFˆFà—;’;˜tœy¨œ|Ñ,Ô,ˆDØ5×<Ò<¸SÀ$ÈÑMÔMˆFØˆru   c                óh   — d                      |                      |j        d         ¦  «        ¦  «        S )Nz!\operatorname{{E}}\left[{}\right]r   r—  r  s     rs   Ú_print_ExpectationzLatexPrinter._print_Expectation/
  ó)   € Ø3×:Ò:¸4¿;º;ÀtÄyÐQRÄ|Ñ;TÔ;TÑUÔUÐUru   c                óh   — d                      |                      |j        d         ¦  «        ¦  «        S )Nz#\operatorname{{Var}}\left({}\right)r   r—  r  s     rs   Ú_print_VariancezLatexPrinter._print_Variance2
  s)   € Ø5×<Ò<¸T¿[º[ÈÌÐSTÌÑ=VÔ=VÑWÔWÐWru   c                óv   ‡ — d                      d                     ˆ fd„|j        D ¦   «         ¦  «        ¦  «        S )Nz#\operatorname{{Cov}}\left({}\right)rP  c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r	  rN  rƒ  s     €rs   r2  z1LatexPrinter._print_Covariance.<locals>.<genexpr>6
  s1   øè è € ÐFmÐFmÐ\_ÀtÇ{Â{ÐSVÑGWÔGWÐFmÐFmÐFmÐFmÐFmÐFmru   )r  rT  rC  r  s   ` rs   Ú_print_CovariancezLatexPrinter._print_Covariance5
  s<   ø€ Ø5×<Ò<¸T¿YºYÐFmÐFmÐFmÐFmÐcgÔclÐFmÑFmÔFmÑ=mÔ=mÑnÔnÐnru   c                óh   — d                      |                      |j        d         ¦  «        ¦  «        S )Nz!\operatorname{{P}}\left({}\right)r   r—  r  s     rs   Ú_print_ProbabilityzLatexPrinter._print_Probability8
  rÊ  ru   c                óx   — |                       |j        ¦  «        }|                       |j        ¦  «        }|›d|›�S )NrÀ  )r
  re  Úcodomain)rú   Úmorphismre  rÓ  s       rs   Ú_print_MorphismzLatexPrinter._print_Morphism;
  s:   € Ø—’˜Xœ_Ñ-Ô-ˆØ—;’;˜xÔ0Ñ1Ô1ˆØ&, f f¨h¨hÐ7Ð7ru   c                ó|   — |                       |j        ¦  «        |                       |j        ¦  «        }}d|›d|›d�S )Nrß  rà  ro   )r
  r^  Úden)rú   r  r^  r×  s       rs   Ú_print_TransferFunctionz$LatexPrinter._print_TransferFunction@
  s<   € Ø—;’;˜tœxÑ(Ô(¨$¯+ª+°d´hÑ*?Ô*?ˆSˆˆØ#& 3 3¨¨¨Ð,Ð,ru   c                ó€   ‡ ‡— t          ‰j        ¦  «        }ˆˆ fd„}d                     t          ||¦  «        ¦  «        S )Nc                óL   •— ‰                      | t          ‰¦  «        d¦  «        S r   )r  r   )r1  r  rú   s    €€rs   rt   z,LatexPrinter._print_Series.<locals>.<lambda>F
  s'   ø€ ˜4×,Ò,¨QÕ0FÀtÑ0LÔ0LØ,1ñ3ô 3€ ru   rÞ   )rÍ  rC  rT  rI  )rú   r  rC  r"  s   ``  rs   Ú_print_SerieszLatexPrinter._print_SeriesD
  sH   øø€ Ý�D”I‰Œˆð3ð 3ð 3ð 3ð 3ˆà�xŠx�˜F DÑ)Ô)Ñ*Ô*Ð*ru   c                ó¢   ‡ ‡‡— ddl mŠ t          ‰j        ¦  «        d d d…         }ˆˆˆ fd„}d                     t          ||¦  «        ¦  «        S )Nr   )ÚMIMOParallelrp  c                ó–   •— t          | ‰¦  «        r$‰                     | t          ‰¦  «        d¦  «        n‰                     | ¦  «        S r   )rÈ  r  r   r
  )r1  rÝ  r  rú   s    €€€rs   rt   z0LatexPrinter._print_MIMOSeries.<locals>.<lambda>M
  sT   ø€ Ý7AÀ!À\Ñ7RÔ7Rðg˜4×,Ò,¨QÕ0FÀtÑ0LÔ0LØ-2ñ4ô 4ð 4ØX\×XcÒXcÐdeÑXfÔXfð ru   z\cdot)Úsympy.physics.control.ltirÝ  rÍ  rC  rT  rI  )rú   r  rC  r"  rÝ  s   ``  @rs   Ú_print_MIMOSerieszLatexPrinter._print_MIMOSeriesJ
  sq   øøø€ Ø:Ð:Ð:Ð:Ð:Ð:Ý�D”I‰Œ˜t˜t ˜tÔ$ˆðgð gð gð gð gð gˆà�}Š}�S ¨Ñ.Ô.Ñ/Ô/Ð/ru   c                ó\   — d                      t          | j        |j        ¦  «        ¦  «        S ©Nrd  ©rT  rI  r
  rC  r  s     rs   Ú_print_ParallelzLatexPrinter._print_ParallelQ
  ó"   € Ø�zŠz�#˜dœk¨4¬9Ñ5Ô5Ñ6Ô6Ð6ru   c                ó\   — d                      t          | j        |j        ¦  «        ¦  «        S râ  rã  r  s     rs   Ú_print_MIMOParallelz LatexPrinter._print_MIMOParallelT
  rå  ru   c           	     óp  — ddl m}m} |j         |dd|j        ¦  «        }}t          ||¦  «        rt          |j        ¦  «        n|g}t          |j        |¦  «        rt          |j        j        ¦  «        n|j        g}|}t          ||¦  «        r t          |j        |¦  «        r |g |¢|¢R Ž }	nªt          ||¦  «        r8t          |j        |¦  «        r#|j        |k    r ||Ž }	nt| |g |¢|j        ‘R Ž f}	nbt          ||¦  «        r+t          |j        |¦  «        r||k    r ||Ž }	n1 ||g|¢R Ž }	n'||k    r ||Ž }	n|j        |k    r ||Ž }	n
 |g |¢|¢R Ž }	|  	                    |¦  «        }
|  	                    |¦  «        }|  	                    |	¦  «        }|j
        dk    rdnd}d|
›d|›d	|›d	|›d
�	S )Nr   )ÚTransferFunctionÚSeriesrq  rp  r™  r4  rß  rà  rÞ   ro   )Úsympy.physics.controlré  rê  Úsys1r“  rÈ  rÍ  rC  Úsys2r
  r¼  )rú   r  ré  rê  r^  ÚtfÚnum_arg_listÚden_arg_listÚ
den_term_1Ú
den_term_2ræ  Údenom_1Údenom_2Ú_signs                 rs   Ú_print_FeedbackzLatexPrinter._print_FeedbackW
  s?  € ØBÐBÐBÐBÐBÐBÐBÐBà”)Ð-Ð-¨a°°D´HÑ=Ô=ˆRˆÝ)3°C¸Ñ)@Ô)@ÐK•t˜CœH‘~”~�~ÀsÀeˆå�t”y &Ñ)Ô)ð;•t˜DœIœNÑ+Ô+Ð+Ø04´	¨{ð 	àˆ
å�c˜6Ñ"Ô"ð 	B¥z°$´)¸VÑ'DÔ'Dð 	BØ˜Ð= Ð=°Ð=Ð=Ð=ˆJˆJÝ˜˜VÑ$Ô$ð 	B­°D´IÐ?OÑ)PÔ)Pð 	BØŒy˜BŠˆØ#˜V \Ð2�
�
à  Ð!A¨Ð!A°t´yÐ!AÐ!AÐ!AÐA�
�
Ý˜Ð-Ñ.Ô.ð 	Bµ:¸d¼iÈÑ3PÔ3Pð 	BØ�bŠyˆyØ#˜V \Ð2�
�
à#˜V CÐ7¨,Ð7Ð7Ð7�
�
à�bŠyˆyØ#˜V \Ð2�
�
Ø”˜b’�Ø#˜V \Ð2�
�
à#˜VÐA \ÐA°LÐAÐAÐA�
à—’˜CÑ Ô ˆØ—+’+˜jÑ)Ô)ˆØ—+’+˜jÑ)Ô)ˆØ”y B’���¨Cˆˆà).¨¨°°°¸¸¸ÀÀÀÐHÐHru   c                óÈ   — ddl m} |                       ||j        |j        ¦  «        ¦  «        }|                      |j        ¦  «        }|j        dk    rdnd}d|›d|›d|›�S )	Nr   )Ú
MIMOSeriesrp  r™  r4  z\left(I_{\tau} rÞ   z\right)^{-1} \cdot )rë  rø  r
  rí  rì  r¼  )rú   r  rø  Úinv_matrì  rõ  s         rs   Ú_print_MIMOFeedbackz LatexPrinter._print_MIMOFeedback{
  st   € Ø4Ð4Ð4Ð4Ð4Ð4Ø—+’+˜j˜j¨¬°D´IÑ>Ô>Ñ?Ô?ˆØ�{Š{˜4œ9Ñ%Ô%ˆØ”y B’���¨CˆˆØ?D¸u¸uÀgÀgÀgÈtÈtÐTÐTru   c                ó@   — |                       |j        ¦  «        }d|z  S )Nz%s_\tau)r
  Ú	_expr_matr  s      rs   Ú_print_TransferFunctionMatrixz*LatexPrinter._print_TransferFunctionMatrix‚
  s    € Ø�kŠk˜$œ.Ñ)Ô)ˆØ˜CÑÐru   c                óL   — d                      |j        j        |j        ¦  «        S )Nz\text{{{}}}_{{{}}})r  rR  rS  r1  r  s     rs   Ú
_print_DFTzLatexPrinter._print_DFT†
  s   € Ø$×+Ò+¨D¬NÔ,CÀTÄVÑLÔLÐLru   c                óˆ   — |                       t          |j        ¦  «        ¦  «        }|                      |¦  «        }|›d|›�S )Nr  )r
  r   rU  rÕ  )rú   rÔ  Úpretty_nameÚpretty_morphisms       rs   Ú_print_NamedMorphismz!LatexPrinter._print_NamedMorphismŠ
  sA   € Ø—k’k¥&¨¬Ñ"7Ô"7Ñ8Ô8ˆØ×.Ò.¨xÑ8Ô8ˆØ%˜+˜+  Ð7Ð7ru   c                ób   — ddl m} |                       ||j        |j        d¦  «        ¦  «        S )Nr   )ÚNamedMorphismÚid)Úsympy.categoriesr  r  re  rÓ  )rú   rÔ  r  s      rs   Ú_print_IdentityMorphismz$LatexPrinter._print_IdentityMorphism�
  sF   € Ø2Ð2Ð2Ð2Ð2Ð2Ø×(Ò(¨¨ØŒO˜XÔ.°ñ*6ô *6ñ 7ô 7ð 	7ru   c                ó¶   ‡ — ˆ fd„|j         D ¦   «         }|                     ¦   «          d                     |¦  «        dz   }‰                      |¦  «        }||z   S )Nc                ó^   •— g | ])}‰                      t          |j        ¦  «        ¦  «        ‘Œ*S rp   rÀ  )r0  Ú	componentrú   s     €rs   rO  z9LatexPrinter._print_CompositeMorphism.<locals>.<listcomp>—
  sE   ø€ ð  Bð  Bð  BØ )ð !%§¢­F°9´>Ñ,BÔ,BÑ CÔ Cð  Bð  Bð  Bru   z\circ r  )r;  ÚreverserT  rÕ  )rú   rÔ  Úcomponent_names_listÚcomponent_namesr  s   `    rs   Ú_print_CompositeMorphismz%LatexPrinter._print_CompositeMorphism”
  s}   ø€ ð Bð  Bð  Bð  BØ-5Ô-@ð Bñ  Bô  BÐà×$Ò$Ñ&Ô&Ð&Ø#Ÿ.š.Ð)=Ñ>Ô>ÀÑDˆà×.Ò.¨xÑ8Ô8ˆØ Ñ0Ð0ru   c                óv   — d                      |                      t          |j        ¦  «        ¦  «        ¦  «        S ©NrÒ  )r  r
  r   rU  )rú   rÔ  s     rs   Ú_print_CategoryzLatexPrinter._print_CategoryŸ
  s,   € Ø×&Ò& t§{¢{µ6¸(¼-Ñ3HÔ3HÑ'IÔ'IÑJÔJÐJru   c                óÔ   — |j         s|                      t          j        ¦  «        S |                      |j         ¦  «        }|j        r |d|                      |j        ¦  «        z  z  }|S )Nz\Longrightarrow %s)Úpremisesr
  r   ÚEmptySetÚconclusions)rú   ÚdiagramÚlatex_results      rs   Ú_print_DiagramzLatexPrinter._print_Diagram¢
  sl   € ØÔð 	+à—;’;�qœzÑ*Ô*Ð*à—{’{ 7Ô#3Ñ4Ô4ˆØÔð 	=ØÐ1Ø ŸKšK¨Ô(;Ñ<Ô<ñ=ñ =ˆLð Ðru   c                ó.  — dd|j         z  z  }t          |j        ¦  «        D ]m}t          |j         ¦  «        D ]>}|||f         r|t          |||f         ¦  «        z  }|dz  }||j         dz
  k    r|dz  }Œ?||j        dz
  k    r|dz  }|dz  }Œn|dz  }|S )	Nz\begin{array}{%s}
r´   rÞ   rq  ú& r  ú
z\end{array}
)Úwidthr‰  ÚheightÚlatex)rú   Úgridr  rÍ   rê   s        rs   Ú_print_DiagramGridzLatexPrinter._print_DiagramGrid®
  sÍ   € Ø-°°t´zÑ1AÑBˆå�t”{Ñ#Ô#ð 
	!ð 
	!ˆAÝ˜4œ:Ñ&Ô&ð )ð )�Ø˜˜1˜”:ð 6Ø ¥E¨$¨q°!¨t¬*Ñ$5Ô$5Ñ5�LØ Ñ#�Ø˜œ
 Q™Ò&Ð&Ø  DÑ(�Løà�D”K !‘OÒ#Ð#Ø Ñ&�Ø˜DÑ ˆLˆLàÐ(Ñ(ˆØÐru   c                óŽ   — d                      |                      |j        ¦  «        |                      |j        ¦  «        ¦  «        S )Nz{{{}}}^{{{}}})r  r
  r¸  rT  ©rú   r›  s     rs   Ú_print_FreeModulezLatexPrinter._print_FreeModuleÀ
  s4   € Ø×%Ò% d§k¢k°!´&Ñ&9Ô&9¸4¿;º;ÀqÄvÑ;NÔ;NÑOÔOÐOru   c                ól   ‡ — d                      d                     ˆ fd„|D ¦   «         ¦  «        ¦  «        S )Nú\left[ {} \right]rr  c              3  óN   •K  — | ]}d ‰                      |¦  «        z   dz   V — Œ dS ©r“   ro   NrN  ©r0  r1  rú   s     €rs   r2  z8LatexPrinter._print_FreeModuleElement.<locals>.<genexpr>Å
  sH   øè è € ð 43ð 43Ø+,ˆC�$—+’+˜a‘.”.Ñ  3Ñ&ð43ð 43ð 43ð 43ð 43ð 43ru   )r  rT  )rú   r¢  s   ` rs   Ú_print_FreeModuleElementz%LatexPrinter._print_FreeModuleElementÃ
  sQ   ø€ à#×*Ò*¨3¯8ª8ð 43ð 43ð 43ð 43Ø01ð43ñ 43ô 43ñ ,3ô ,3ñ 4ô 4ð 	4ru   c                ó¬   ‡ ‡‡‡— ˆˆ fd„‰j         D ¦   «         }d„ Šd„ Šd                     ˆˆfd„|D ¦   «         ¦  «        }d                     |¦  «        S )Nc                ó.   •— g | ]}ˆˆfd „|D ¦   «         ‘ŒS )c                ój   •— g | ]/}‰                      ‰j                             |¦  «        ¦  «        ‘Œ0S rp   )r
  r¸  r¹  )r0  r1  r¢  rú   s     €€rs   rO  z<LatexPrinter._print_SubModule.<locals>.<listcomp>.<listcomp>É
  s3   ø€ Ð<Ð<Ð<°Q�—’˜QœVŸ_š_¨QÑ/Ô/Ñ0Ô0Ð<Ð<Ð<ru   rp   )r0  Úgr¢  rú   s     €€rs   rO  z1LatexPrinter._print_SubModule.<locals>.<listcomp>É
  s1   ø€ ÐMÐMÐMÀÐ<Ð<Ð<Ð<Ð<¸!Ð<Ñ<Ô<ÐMÐMÐMru   c                ó   — d| z   dz   S )Nr“   ro   rp   ©rM   s    rs   rt   z/LatexPrinter._print_SubModule.<locals>.<lambda>Ê
  s   € ˜$ ™( T™/€ ru   c                ó   — d| z   dz   S )Nz\left[ z \right]rp   r0  s    rs   rt   z/LatexPrinter._print_SubModule.<locals>.<lambda>Ë
  s   € ˜:¨™>¨KÑ7€ ru   rr  c           	   3  ó~   •K  — | ]7} ‰ ‰d                       ˆfd„|D ¦   «         ¦  «        ¦  «        ¦  «        V — Œ8dS )rr  c              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S r	  rp   )r0  r1  Úcurlys     €rs   r2  z:LatexPrinter._print_SubModule.<locals>.<genexpr>.<genexpr>Ì
  s+   øè è € Ð3HÐ3HÀ°E°E¸!±H´HÐ3HÐ3HÐ3HÐ3HÐ3HÐ3Hru   N)rT  )r0  r.  r4  Úsquares     €€rs   r2  z0LatexPrinter._print_SubModule.<locals>.<genexpr>Ì
  sX   øè è € ÐYÐYÈq˜e˜e F F¨3¯8ª8Ð3HÐ3HÐ3HÐ3HÀaÐ3HÑ3HÔ3HÑ+HÔ+HÑ$IÔ$IÑJÔJÐYÐYÐYÐYÐYÐYru   ú\left\langle {} \right\rangle)rq  rT  r  )rú   r¢  rq  Ú
gens_latexr4  r5  s   ``  @@rs   Ú_print_SubModulezLatexPrinter._print_SubModuleÈ
  sr   øøøø€ ØMÐMÐMÐMÐMÀaÄfÐMÑMÔMˆØ)Ð)ˆØ7Ð7ˆØ—X’XÐYÐYÐYÐYÐYÐTXÐYÑYÔYÑYÔYˆ
Ø/×6Ò6°zÑBÔBÐBru   c                óz   ‡ — d                      ˆ fd„|j        D ¦   «         ¦  «        }d                     |¦  «        S )Nrr  c                óF   •— g | ]}d ‰                      |¦  «        z   dz   ‘ŒS )r“   ro   rN  )r0  r.  rú   s     €rs   rO  z9LatexPrinter._print_SubQuotientModule.<locals>.<listcomp>Ð
  s-   ø€ ÐJÐJÐJ¸a˜s T§[¢[°¡^¤^Ñ3°cÑ9ÐJÐJÐJru   r6  )rT  rq  r  )rú   r¢  r7  s   `  rs   Ú_print_SubQuotientModulez%LatexPrinter._print_SubQuotientModuleÏ
  s?   ø€ Ø—X’XÐJÐJÐJÐJÀ1Ä6ÐJÑJÔJÑKÔKˆ
Ø/×6Ò6°zÑBÔBÐBru   c                ó¢   ‡ ‡— ˆfd„‰j         j        D ¦   «         }d                     ˆ fd„|D ¦   «         ¦  «        }d                     |¦  «        S )Nc                óH   •— g | ]\  }‰j                              |¦  «        ‘ŒS rp   )r¸  r¹  ©r0  r1  r¢  s     €rs   rO  z>LatexPrinter._print_ModuleImplementedIdeal.<locals>.<listcomp>Ô
  s)   ø€ Ð=Ð=Ð=¡s¨�”—’ Ñ"Ô"Ð=Ð=Ð=ru   rr  c              3  óN   •K  — | ]}d ‰                      |¦  «        z   dz   V — Œ dS r(  rN  r)  s     €rs   r2  z=LatexPrinter._print_ModuleImplementedIdeal.<locals>.<genexpr>Õ
  s7   øè è € ÐGÐG¸Q˜c D§K¢K°¡N¤NÑ2°SÑ8ÐGÐGÐGÐGÐGÐGru   r6  )Ú_modulerq  rT  r  )rú   r¢  rq  r7  s   ``  rs   Ú_print_ModuleImplementedIdealz*LatexPrinter._print_ModuleImplementedIdealÓ
  s[   øø€ Ø=Ð=Ð=Ð=¨a¬i¬nÐ=Ñ=Ô=ˆØ—X’XÐGÐGÐGÐGÀ$ÐGÑGÔGÑGÔGˆ
Ø/×6Ò6°zÑBÔBÐBru   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     €rs   rO  z2LatexPrinter._print_Quaternion.<locals>.<listcomp>Û
  sC   ø€ ð !ð !ð !Øð ×Ò˜q¥*¨UÔ"3¸DÐÑAÔAð !ð !ð !ru   r   c                ó$   — g | ]\  }}|d z   |z   ‘ŒS )rÞ   rp   )r0  rÍ   rê   s      rs   rO  z2LatexPrinter._print_Quaternion.<locals>.<listcomp>Ý
  s$   € Ð<Ð<Ð<¡$ ! Q�a˜‘e˜A‘gÐ<Ð<Ð<ru   rq  Úijkrd  )rC  rg  rT  )rú   r  rr   rì  s   `   rs   Ú_print_QuaternionzLatexPrinter._print_QuaternionØ
  sn   ø€ ð!ð !ð !ð !Ø”ið!ñ !ô !ˆàˆqŒTˆFÐ<Ð<­#¨a°°°¬e°UÑ*;Ô*;Ð<Ñ<Ô<Ñ<ˆØ�zŠz˜!‰}Œ}Ðru   c                óŽ   — d                      |                      |j        ¦  «        |                      |j        ¦  «        ¦  «        S ©Nz\frac{{{}}}{{{}}})r  r
  r¸  Ú
base_ideal)rú   ÚRs     rs   Ú_print_QuotientRingz LatexPrinter._print_QuotientRingà
  s;   € à#×*Ò*¨4¯;ª;°q´vÑ+>Ô+>Ø—’˜Qœ\Ñ*Ô*ñ,ô ,ð 	,ru   c                óÂ   — |                       |j                             |¦  «        ¦  «        }d                     ||                       |j        j        ¦  «        ¦  «        S )Nú{{{}}} + {{{}}})r
  r¸  r¹  r  rI  )rú   r1  Úx_latexs      rs   Ú_print_QuotientRingElementz'LatexPrinter._print_QuotientRingElementå
  sO   € Ø—+’+˜aœfŸošo¨aÑ0Ô0Ñ1Ô1ˆØ!×(Ò(¨Ø—’˜QœVÔ.Ñ/Ô/ñ1ô 1ð 	1ru   c                óú   ‡ ‡— ˆfd„‰j         D ¦   «         }d                     d                     ˆ fd„|D ¦   «         ¦  «        ¦  «        }d                     |‰                      ‰j        j        ¦  «        ¦  «        S )Nc                óN   •— g | ]!}‰j         j                             |¦  «        ‘Œ"S rp   )Úmoduler¸  r¹  r>  s     €rs   rO  z=LatexPrinter._print_QuotientModuleElement.<locals>.<listcomp>ë
  s+   ø€ Ð:Ð:Ð:¨a�””×&Ò& qÑ)Ô)Ð:Ð:Ð:ru   r&  rr  c              3  óN   •K  — | ]}d ‰                      |¦  «        z   dz   V — Œ dS r(  rN  r)  s     €rs   r2  z<LatexPrinter._print_QuotientModuleElement.<locals>.<genexpr>ì
  sH   øè è € ð :6ð :6Ø+,ˆC�$—+’+˜a‘.”.Ñ  3Ñ&ð:6ð :6ð :6ð :6ð :6ð :6ru   rM  )Údatar  rT  r
  rR  Úkilled_module)rú   r¢  rT  Ú
data_latexs   ``  rs   Ú_print_QuotientModuleElementz)LatexPrinter._print_QuotientModuleElementê
  s˜   øø€ Ø:Ð:Ð:Ð:°1´6Ð:Ñ:Ô:ˆØ)×0Ò0°·²ð :6ð :6ð :6ð :6Ø04ð:6ñ :6ô :6ñ 26ô 26ñ 7ô 7ˆ
à!×(Ò(¨Ø—’˜QœXÔ3Ñ4Ô4ñ6ô 6ð 	6ru   c                óŽ   — d                      |                      |j        ¦  «        |                      |j        ¦  «        ¦  «        S rH  )r  r
  rE  rU  r#  s     rs   Ú_print_QuotientModulez"LatexPrinter._print_QuotientModuleñ
  s;   € à#×*Ò*¨4¯;ª;°q´vÑ+>Ô+>Ø—’˜Qœ_Ñ-Ô-ñ/ô /ð 	/ru   c                óÚ   — d                      |                      |                     ¦   «         ¦  «        |                      |j        ¦  «        |                      |j        ¦  «        ¦  «        S )Nz{{{}}} : {{{}}} \to {{{}}})r  r
  Ú_sympy_matrixre  rÓ  )rú   rž  s     rs   Ú_print_MatrixHomomorphismz&LatexPrinter._print_MatrixHomomorphismö
  sS   € Ø,×3Ò3°D·K²KÀÇÂÑ@QÔ@QÑ4RÔ4RØ�KŠK˜œÑ!Ô! 4§;¢;¨q¬zÑ#:Ô#:ñ<ô <ð 	<ru   c                óÊ   — |                       |j        j        ¦  «        \  }}}d|z  }|r|dd                     |¦  «        z  z  }|r|dd                     |¦  «        z  z  }|S )Nr\  ry  rÞ   rH  )rÏ  rU  rT  )rú   ÚmanifoldrU  rÎ  rh  s        rs   Ú_print_ManifoldzLatexPrinter._print_Manifoldú
  st   € Ø!×2Ò2°8´=Ô3EÑFÔFÑˆˆf�dà˜dÑ"ˆØð 	/Ø�G˜cŸhšh vÑ.Ô.Ñ.Ñ.ˆDØð 	-Ø�G˜cŸhšh t™nœnÑ,Ñ,ˆDàˆru   c                ót   — d|                       |j        ¦  «        ›d|                       |j        ¦  «        ›d�S )Nú\text{rú  ro   )r
  rU  r^  )rú   Úpatchs     rs   Ú_print_PatchzLatexPrinter._print_Patch  s7   € € Ø$(§K¢K°´
Ñ$;Ô$;Ð$;Ð$;¸T¿[º[ÈÌÑ=XÔ=XÐ=XÐ=XÐYÐYru   c                ó´   — d|                       |j        ¦  «        ›d|                       |j        j        ¦  «        ›d|                       |j        ¦  «        ›d�S )Nra  z	}^{\text{z}}_{ro   )r
  rU  rb  r^  )rú   Úcoordsyss     rs   Ú_print_CoordSystemzLatexPrinter._print_CoordSystem  sV   € € à�KŠK˜œÑ&Ô&Ð&Ð&¨¯ª°H´NÔ4GÑ(HÔ(HÐ(HÐ(HÈ$Ï+Ê+ÐV^ÔVgÑJhÔJhÐJhÐJhð
ð 	
ru   c                ó<   — d|                       |j        ¦  «        z  S )Nz\mathbb{\nabla}_{%s})r
  Ú_wrt)rú   Úcvds     rs   Ú_print_CovarDerivativeOpz%LatexPrinter._print_CovarDerivativeOp  s   € Ø&¨¯ª°S´XÑ)>Ô)>Ñ>Ð>ru   c                ó¤   — |j         j        |j                 j        }d                     |                      t          |¦  «        ¦  «        ¦  «        S r  ©Ú
_coord_sysr}  Ú_indexrU  r  r
  r   ©rú   ÚfieldrÐ  s      rs   Ú_print_BaseScalarFieldz#LatexPrinter._print_BaseScalarField  s=   € ØÔ!Ô)¨%¬,Ô7Ô<ˆØ×&Ò& t§{¢{µ6¸&±>´>Ñ'BÔ'BÑCÔCÐCru   c                ó¤   — |j         j        |j                 j        }d                     |                      t          |¦  «        ¦  «        ¦  «        S )Nz\partial_{{{}}}rl  ro  s      rs   Ú_print_BaseVectorFieldz#LatexPrinter._print_BaseVectorField  s=   € ØÔ!Ô)¨%¬,Ô7Ô<ˆØ!×(Ò(¨¯ªµV¸F±^´^Ñ)DÔ)DÑEÔEÐEru   c                ó&  — |j         }t          |d¦  «        rQ|j        j        |j                 j        }d                     |                      t          |¦  «        ¦  «        ¦  «        S |                      |¦  «        }d                     |¦  «        S )Nrm  z\operatorname{{d}}{}z!\operatorname{{d}}\left({}\right))	Ú_form_fieldrÇ  rm  r}  rn  rU  r  r
  r   )rú   Údiffrp  rÐ  s       rs   Ú_print_Differentialz LatexPrinter._print_Differential  s}   € ØÔ ˆÝ�5˜,Ñ'Ô'ð 	GØÔ%Ô-¨e¬lÔ;Ô@ˆFØ*×1Ò1°$·+²+½fÀV¹n¼nÑ2MÔ2MÑNÔNÐNà—[’[ Ñ'Ô'ˆFØ7×>Ò>¸vÑFÔFÐFru   c                ól   — |                       |j        d         ¦  «        }d                     |¦  «        S )Nr   z"\operatorname{{tr}}\left({}\right)rG  )rú   rõ  Úcontentss      rs   Ú	_print_TrzLatexPrinter._print_Tr!  s-   € à—;’;˜qœv aœyÑ)Ô)ˆØ4×;Ò;¸HÑEÔEÐEru   c                óš   — |�'d|                       |j        d         ¦  «        ›d|›d�S d|                       |j        d         ¦  «        z  S )Nz\left(\phi\left(r   ú\right)\right)^{ro   z\phi\left(%s\right)r  rI  s      rs   Ú_print_totientzLatexPrinter._print_totient&  sQ   € Øˆ?ˆ?à—’˜TœY qœ\Ñ*Ô*Ð*Ð*¨C¨C¨Cð1ð 1à%¨¯ª°D´I¸a´LÑ(AÔ(AÑAÐAru   c                óš   — |�'d|                       |j        d         ¦  «        ›d|›d�S d|                       |j        d         ¦  «        z  S )Nz\left(\lambda\left(r   r|  ro   z\lambda\left(%s\right)r  rI  s      rs   Ú_print_reduced_totientz#LatexPrinter._print_reduced_totient,  sQ   € Øˆ?ˆ?à—’˜TœY qœ\Ñ*Ô*Ð*Ð*¨C¨C¨Cð1ð 1à(¨4¯;ª;°t´yÀ´|Ñ+DÔ+DÑDÐDru   c           	     ó  — t          |j        ¦  «        dk    r>dt          t          | j        |j        d         |j        d         f¦  «        ¦  «        z  }n#d|                      |j        d         ¦  «        z  }|�d|›d|›�S d|z  S )	NrÞ  ú_%s\left(%s\right)rq  r   re  z\sigma^{ro   z\sigma%sr}  rÊ  s       rs   Ú_print_divisor_sigmaz!LatexPrinter._print_divisor_sigma2  s—   € ÝˆtŒy‰>Œ>˜QÒÐØ'­%µ°D´KØ15´¸1´¸t¼yÈ¼|Ð0Lñ1Nô 1Nñ +Oô +Oñ OˆCˆCð % t§{¢{°4´9¸Q´<Ñ'@Ô'@Ñ@ˆCØˆ?ˆ?Ø'* s s¨C¨CÐ0Ð0Ø˜SÑ Ð ru   c           	     ó  — t          |j        ¦  «        dk    r>dt          t          | j        |j        d         |j        d         f¦  «        ¦  «        z  }n#d|                      |j        d         ¦  «        z  }|�d|›d|›�S d|z  S )	NrÞ  r�  rq  r   re  z
\sigma^*^{ro   z
\sigma^*%sr}  rÊ  s       rs   Ú_print_udivisor_sigmaz"LatexPrinter._print_udivisor_sigma<  s—   € ÝˆtŒy‰>Œ>˜QÒÐØ'­%µ°D´KØ15´¸1´¸t¼yÈ¼|Ð0Lñ1Nô 1Nñ +Oô +Oñ OˆCˆCð % t§{¢{°4´9¸Q´<Ñ'@Ô'@Ñ@ˆCØˆ?ˆ?Ø),¨¨¨c¨cÐ2Ð2Ø˜sÑ"Ð"ru   c                óš   — |�'d|                       |j        d         ¦  «        ›d|›d�S d|                       |j        d         ¦  «        z  S )Nz\left(\nu\left(r   r|  ro   z\nu\left(%s\right)r  rI  s      rs   Ú_print_primenuzLatexPrinter._print_primenuF  sQ   € Øˆ?ˆ?à—’˜TœY qœ\Ñ*Ô*Ð*Ð*¨C¨C¨Cð1ð 1à$ t§{¢{°4´9¸Q´<Ñ'@Ô'@Ñ@Ð@ru   c                óš   — |�'d|                       |j        d         ¦  «        ›d|›d�S d|                       |j        d         ¦  «        z  S )Nz\left(\Omega\left(r   r|  ro   z\Omega\left(%s\right)r  rI  s      rs   Ú_print_primeomegazLatexPrinter._print_primeomegaL  sQ   € Øˆ?ˆ?à—’˜TœY qœ\Ñ*Ô*Ð*Ð*¨C¨C¨Cð1ð 1à'¨$¯+ª+°d´iÀ´lÑ*CÔ*CÑCÐCru   c                ó*   — t          |j        ¦  «        S r	  )r­   rU  r  s     rs   Ú
_print_StrzLatexPrinter._print_StrR  s   € Ý�1”6‰{Œ{Ðru   c                óF   — |                       t          |¦  «        ¦  «        S r	  )r
  r   r  s     rs   Ú_print_floatzLatexPrinter._print_floatU  s   € Ø�{Š{�5 ™;œ;Ñ'Ô'Ð'ru   c                ó    — t          |¦  «        S r	  ©r­   r  s     rs   Ú
_print_intzLatexPrinter._print_intX  ó   € Ý�4‰yŒyÐru   c                ó    — t          |¦  «        S r	  rŽ  r  s     rs   Ú
_print_mpzzLatexPrinter._print_mpz[  r�  ru   c                ó    — t          |¦  «        S r	  rŽ  r  s     rs   Ú
_print_mpqzLatexPrinter._print_mpq^  r�  ru   c                ó    — t          |¦  «        S r	  rŽ  r  s     rs   Ú_print_fmpzzLatexPrinter._print_fmpza  r�  ru   c                ó    — t          |¦  «        S r	  rŽ  r  s     rs   Ú_print_fmpqzLatexPrinter._print_fmpqd  r�  ru   c                ój   — d                      t          t          |j        ¦  «        ¦  «        ¦  «        S )Nz"\operatorname{{Q}}_{{\text{{{}}}}})r  rµ   r­   rU  r  s     rs   Ú_print_PredicatezLatexPrinter._print_Predicateg  s&   € Ø4×;Ò;½LÍÈTÌYÉÌÑ<XÔ<XÑYÔYÐYru   c                óœ   ‡ — |j         }|j        }‰                      |¦  «        }d                     ˆ fd„|D ¦   «         ¦  «        }|›d|›d�S )NrP  c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rp   rN  rŠ  s     €rs   rO  z8LatexPrinter._print_AppliedPredicate.<locals>.<listcomp>n  s#   ø€ Ð=Ð=Ð=°1 §¢¨A¡¤Ð=Ð=Ð=ru   ré   rç   )r$  Ú	argumentsr
  rT  )rú   r  ÚpredrC  Ú
pred_latexÚ
args_latexs   `     rs   Ú_print_AppliedPredicatez$LatexPrinter._print_AppliedPredicatej  s[   ø€ ØŒ}ˆØŒ~ˆØ—[’[ Ñ&Ô&ˆ
Ø—Y’YÐ=Ð=Ð=Ð=¸Ð=Ñ=Ô=Ñ>Ô>ˆ
Ø%˜:˜: z z zÐ2Ð2ru   c                ój   •— t          ¦   «                              |¦  «        }dt          |¦  «        z  S )Nz\mathtt{\text{%s}})ÚsuperÚemptyPrinterrµ   )rú   r  rr   rR  s      €rs   r¤  zLatexPrinter.emptyPrinterq  s+   ø€ å‰GŒG× Ò  Ñ&Ô&ˆà$¥|°A¡¤Ñ6Ð6ru   r	  rá  )FF)r®   r  )r  r­   )rX  rY  )r  r   )r  r   )r  r­   r®   r­   )r  r-  )rº  r­   r®   r­   )r  r   r®   r­   rÜ  )r6  r­   r®   r­   r  )FN)rÆ   )r  r   )rU  r­   r®   rÈ  )rÐ  r­   r®   r­   )r  r&   )r_  r`  )F(C  rS  Ú
__module__Ú__qualname__ÚprintmethodrÚ   Ú__annotations__ró   r  r  r  rÔ   r  r  r'  r>  rA  r"  r$  rK  rW  r^  Ú_print_BooleanTrueÚ_print_BooleanFalsera  rk  r{  r�  r”  r¦  r®  r³  rµ  r·  r»  r¾  rî  ró  rø  r  r  r  r&  r,  rF  rL  rO  rS  r_  rn  r~  r…  r�  r©  r«  r­  Úpropertyrº  r¾  rÁ  rÃ  rÈ  Ú
_print_MinÚ
_print_MaxrË  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  Ú_print_gammar  r  r  r"  r&  r(  r*  r,  r2  r5  r;  r=  rA  rD  rG  rJ  rL  rN  rP  rS  rU  rW  r[  r]  rb  rg  rj  rm  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Ç  Ú_print_RandomSymbolrÏ  rQ  rÜ  râ  rñ  r÷  rþ  r
  r  r  r  r  r#  r'  r*  r,  r5  r7  r;  r>  r@  rE  rJ  rL  rP  r^  rg  rj  rl  rp  rr  rt  rw  ry  r|  r~  r�  r‡  r�  r“  r•  r›  rŸ  r¡  r£  r¦  rª  r¬  r¯  r´  r¸  r¶  Ú_print_frozensetr×  rÞ  rß  rã  rè  rì  rî  rò  rô  rû  Ú_print_SeqPerÚ_print_SeqAddÚ_print_SeqMulr   r  r  r  r  r  r  r  r!  r#  r&  r)  r,  r/  r;  rE  rI  rL  rO  rT  rW  rZ  r\  r^  r`  rb  rg  rj  rn  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ÿ  Ú_print_IDFTr  r  r  r  r  r!  r$  r*  r8  r;  rA  rF  rK  rO  rW  rY  r\  r_  rc  rf  rj  rq  rs  rw  rz  r}  r  r‚  r„  r†  rˆ  rŠ  rŒ  r�  r’  r”  r–  r˜  rš  r¡  r¤  Ú__classcell__)rR  s   @rs   r·   r·   Ž   sé  ø€ € € € € € Ø€Kð)Ø�Uð)à˜Eð)ð 	˜eð)ð 	˜4ð	)ð
 	˜-ð)ð 	�ð)ð 	�uð)ð 	˜4ð)ð 	�Sð)ð 	�4ð)ð 	�ð)ð 	�dð)ð 	�ð)ð 	˜ð)ð 	˜ð)ð  	˜Gð!)ð" 	˜#ð#)ð$ Ø%ØØ"ØØØØ!Ø#(ð5)ð )ð )Ðð ð ð ñ ñ:;fð ;fð ;fð ;fñz,ð ,ð ,ð ,ñ-ð -ð -ð -ñ%ñ %ð %ð %ð %ðð ð ñEð Eð Eð EñKð Kð Kð Kñð ð ð ñ.ñ ð ð ð ñ>ð ð ð ñð ð ð ñ3ð 3ð 3ð 3ñð ð ð ð/ð /ð /ñ ð  ð  ð  ð %ÐØ%Ðð ð  ð  ñð ð ð ð&ð ð ð 9ð 9ð 9ðBJð Jð Jðð ð ð<Nð Nð NðNð Nð NðMð Mð MðMð Mð MðIð Ið IðIð Ið Iñqð qð qð qðf/ð /ð /ð-ð -ð -ñ+<ð +<ð +<ð +<ñZ&ð &ð &ð &ð")ð )ð )ðð ð ð&ð ð ñ&ð ð ð ð<ð ð ð'ð 'ð 'ðð ð ð@ð @ð @ðBEð Eð Eð"/ð "/ð "/ðH4ð 4ð 4ñð ð ð ñ@J)ñ J)ð J)ð J)ð J)ðX0ð 0ð 0ð
ð 
ð 
ð ð,ð ,ñ „Xð,ð0ð 0ð 0ð
ð 
ð 
ð-ð -ð -ññ ð ð ð ð 8Ð7€J�ñð ð ð ñð ð ð ñ	ð 	ð 	ð 	ñð ð ð ñ+ð +ð +ð +ñ+ð +ð +ð +ð	7ð 	7ð 	7ðð ð ð2ð 2ð 2ð0ð 0ð 0ð3ð 3ð 3ñDð Dð Dð DñFð Fð Fð Fñð ð ð ñ)ð )ð )ð )ñ+ð +ð +ð +ñð ð ð ñ ð  ð  ð  ñ ð  ð  ð  ñ	 ð 	 ð 	 ð 	 ñ"ð "ð "ð "ñ	/ð 	/ð 	/ð 	/ñ[ð [ð [ð [ñ<ð <ð <ð <ñ%ð %ð %ð %ñ%ð %ð %ð %ñ;ñ ;ð ;ð ;ð ;ð (€Lñ1ð 1ð 1ð 1ñ:ð :ð :ð :ñ ð  ð  ð  ñ ð  ð  ð  ñð ð ð ñð ð ð ñð ð ð ñð ð ð ñ+ð +ð +ð +ñ+ð +ð +ð +ñð ð ð ñ"ð ð ð ñ7ð 7ð 7ð 7ñ7ð 7ð 7ð 7ñ7ð 7ð 7ð 7ñ7ð 7ð 7ð 7ñ7ð 7ð 7ð 7ñ7ð 7ð 7ð 7ñ=ð =ð =ð =ñ=ð =ð =ð =ñ=ð =ð =ð =ñ=ð =ð =ð =ñ-ñ -ð -ð -ð -ñ4ñ 4ð 4ð 4ð 4ñ2ð 2ð 2ð 2ñ2ð 2ð 2ð 2ñ8ð 8ð 8ð 8ñ8ð 8ð 8ð 8ñ	ð 	ð 	ð 	ñð ð ð ñð ð ð ñ ð  ð  ð  ñ!ð !ð !ð !ñ+ð +ð +ð +ñ@ð @ð @ð @ñð ð ð ñð ð ð ñð ð ð ñð ð ð ñð ð ð ñð ð ð ñð ð ð ñð ð ð ñð ð ð ñð ð ð ñð ð ð ñQð Qð Qð QñGð Gð Gð GñGð Gð Gð GñSð Sð Sð SñSð Sð Sð Sð'ð 'ð 'ð'ð 'ð 'ñ Añ Að Að Að Að (Ðñ
$ð 
$ð 
$ð 
$ññ ð ð ð ðJð Jð Jð(*ð *ð *ð+ð +ð +ð,ð ð ð5ð 5ð 5ð
Jð Jð Jð(ð (ð (ð$ð $ð $ðGð Gð Gð7ð 7ð 7ð&/ð /ð /ð"\ð \ð \ð
Gð Gð GñAð Að Að Að>ð >ð >ðAð Að Að>ð >ð >ð@ð @ð @ð!ð !ð !ð>ð >ð >ð>ð >ð >ð>ð >ð >ð#ð #ð #ñ5ð 5ð 5ð 5ñnð ð ð ð8?ð ?ð ?ð
Fð Fð Fð
ð 
ð 
ðð ð ð
ð 
ð 
ðð ð ð&ð &ð &ðDð Dð Dð
ð ð ñ4ð 4ð 4ð 4ðFð Fð Fð+ð +ð +ð*ð *ð *ð'ð 'ð 'ð:ð :ð :ð<ð <ð <ð&ð &ð &ñð ð ð ñð ð ð ñð ð ð ñ	ð 	ð 	ð 	ñð ð ð ð	%ð 	%ð 	%ð&ð &ð &ð,ð ,ð ,ð "Ðð(ð (ð (ñTð ð ð ñ>ð >ð >ð >ñ>ð >ð >ð >ñ>ð >ð >ð >ñ>ð >ð >ð >ñð ð ð ñ>ð >ð >ð >ñMð Mð Mð Mð
ð ð ð. &€MØ%€MØ%€MðKð Kð Kð$9ð 9ð 9ð(ð (ð (ð
-ð -ð -ð
(ð (ð (ð
-ð -ð -ð
<ð <ð <ñð ð ñð ð ñð ð ñð ð ñð ð ñð ð ñð ð ñQð Qð Qñ
&ð 
&ð 
&ñAð Að Añ!ð !ð !ñDð Dð Dñ<ð <ð <ñ
+ð +ð +ñ-ð -ð -ñð ð ñð ð ñð ð ñð ð ñ8ð 8ð 8ñ
8ð 8ð 8ñ
?ð ?ð ?ñ7ð 7ð 7ñr
Hð 
Hð 
HñNð Nð Nñð ð ñ!ð !ð !ñCð Cð CñCð Cð Cñ5ð 5ð 5ññ ð ð ññ ð ð ññ ð ð ñ7ð 7ð 7ñ=ð =ð =ñ7ð 7ð 7ñ=ð =ð =ñ7ð 7ñ 7ñ=ð =ñ =ñ9ð 9ñ 9ñ?ð ?ñ ?ñ9ð 9ñ 9ñ?ð ?ñ ?ñ$ð $ñ $ñ"ð "ñ "ñ0ð 0ñ 0ññ ð ñ ñVð Vñ VñXð Xñ Xñoð oñ oñVð Vñ Vñ8ð 8ñ 8ñ
-ð -ñ -ñ+ð +ñ +ñ0ð 0ñ 0ñ7ð 7ñ 7ñ7ð 7ñ 7ñ"Ið "Iñ "IñHUð Uñ Uñ ð  ñ  ñMð Mñ Má�Kñ8ð 8ñ 8ñ
7ð 7ñ 7ñ
	1ð 	1ñ 	1ñKð Kñ Kñ
ð 
ñ 
ñð ñ ñ$Pð Pñ Pñ4ð 4ñ 4ñ
Cð Cñ CñCð Cñ CñCð Cñ Cñ
ð ñ ñ,ð ,ñ ,ñ
1ð 1ñ 1ñ
6ð 6ñ 6ñ/ð /ñ /ñ
<ð <ñ <ñ	ð 	ñ 	ñZð Zñ Zñ
ð 
ñ 
ñ
?ð ?ñ ?ñDð Dñ DñFð Fñ FñGð Gñ GñFð Fñ Fñ
Bñ Bð Bñ BñEñ Eð Eñ Eñ!ñ !ð !ñ !ñ#ñ #ð #ñ #ñAñ Að Añ AñDñ Dð Dñ Dñð ñ ñ(ð (ñ (ñð ñ ñð ñ ñð ñ ñð ñ ñð ñ ñZð Zñ Zñ3ð 3ñ 3ð7ð 7ñ 7ð 7ñ 7ð 7ð 7ñ 7ð 7ru   r·   c           
     ó&  — t                                | ¦  «        }|r|S |                      ¦   «         t          v rd|                      ¦   «         z   S | t          v rd| z   S t          t                               ¦   «         t          d¬¦  «        D ]ƒ}|                      ¦   «          	                    |¦  «        rZt          | ¦  «        t          |¦  «        k    r:t          |         t          | dt          |¦  «         …         ¦  «        ¦  «        c S Œ„| S )aŽ  
    Check for a modifier ending the string.  If present, convert the
    modifier to latex and translate the rest recursively.

    Given a description of a Greek letter or other special character,
    return the appropriate latex.

    Let everything else pass as given.

    >>> from sympy.printing.latex import translate
    >>> translate('alphahatdotprime')
    "{\\dot{\\hat{\\alpha}}}'"
    r°   T)r3  r  N)Útex_greek_dictionaryrù   r‹  Úgreek_letters_setÚother_symbolsrÆ  r¬   r�  rŠ  r
  rÌ  )rr   r  r3  s      rs   rÌ  rÌ  x  sù   € õ ×
"Ò
" 1Ñ
%Ô
%€CØ
ð Øˆ
Ø	
�Š‰ŒÕ'Ð	'Ð	'Ø�a—g’g‘i”iÑÐØ	
�mÐ	Ð	Ø�a‰xˆõ �-×,Ò,Ñ.Ô.µCÀÐFÑFÔFð 	Dð 	DˆCØ�wŠw‰yŒy×!Ò! #Ñ&Ô&ð D­3¨q©6¬6µC¸±H´HÒ+<Ð+<Ý$ SÔ)­)°A°j½¸C¹¼°y°j´MÑ*BÔ*BÑCÔCÐCÐCÐCøØˆru   c                óF   — t          |¦  «                             | ¦  «        S )a¦%  Convert the given expression to LaTeX string representation.

    Parameters
    ==========
    full_prec: boolean, optional
        If set to True, a floating point number is printed with full precision.
    fold_frac_powers : boolean, optional
        Emit ``^{p/q}`` instead of ``^{\frac{p}{q}}`` for fractional powers.
    fold_func_brackets : boolean, optional
        Fold function brackets where applicable.
    fold_short_frac : boolean, optional
        Emit ``p / q`` instead of ``\frac{p}{q}`` when the denominator is
        simple enough (at most two terms and no powers). The default value is
        ``True`` for inline mode, ``False`` otherwise.
    inv_trig_style : string, optional
        How inverse trig functions should be displayed. Can be one of
        ``'abbreviated'``, ``'full'``, or ``'power'``. Defaults to
        ``'abbreviated'``.
    itex : boolean, optional
        Specifies if itex-specific syntax is used, including emitting
        ``$$...$$``.
    ln_notation : boolean, optional
        If set to ``True``, ``\ln`` is used instead of default ``\log``.
    long_frac_ratio : float or None, optional
        The allowed ratio of the width of the numerator to the width of the
        denominator before the printer breaks off long fractions. If ``None``
        (the default value), long fractions are not broken up.
    mat_delim : string, optional
        The delimiter to wrap around matrices. Can be one of ``'['``, ``'('``,
        or the empty string ``''``. Defaults to ``'['``.
    mat_str : string, optional
        Which matrix environment string to emit. ``'smallmatrix'``,
        ``'matrix'``, ``'array'``, etc. Defaults to ``'smallmatrix'`` for
        inline mode, ``'matrix'`` for matrices of no more than 10 columns, and
        ``'array'`` otherwise.
    mode: string, optional
        Specifies how the generated code will be delimited. ``mode`` can be one
        of ``'plain'``, ``'inline'``, ``'equation'`` or ``'equation*'``.  If
        ``mode`` is set to ``'plain'``, then the resulting code will not be
        delimited at all (this is the default). If ``mode`` is set to
        ``'inline'`` then inline LaTeX ``$...$`` will be used. If ``mode`` is
        set to ``'equation'`` or ``'equation*'``, the resulting code will be
        enclosed in the ``equation`` or ``equation*`` environment (remember to
        import ``amsmath`` for ``equation*``), unless the ``itex`` option is
        set. In the latter case, the ``$$...$$`` syntax is used.
    mul_symbol : string or None, optional
        The symbol to use for multiplication. Can be one of ``None``,
        ``'ldot'``, ``'dot'``, or ``'times'``.
    order: string, optional
        Any of the supported monomial orderings (currently ``'lex'``,
        ``'grlex'``, or ``'grevlex'``), ``'old'``, and ``'none'``. This
        parameter does nothing for `~.Mul` objects. Setting order to ``'old'``
        uses the compatibility ordering for ``~.Add`` defined in Printer. For
        very large expressions, set the ``order`` keyword to ``'none'`` if
        speed is a concern.
    symbol_names : dictionary of strings mapped to symbols, optional
        Dictionary of symbols and the custom strings they should be emitted as.
    root_notation : boolean, optional
        If set to ``False``, exponents of the form 1/n are printed in fractonal
        form. Default is ``True``, to print exponent in root form.
    mat_symbol_style : string, optional
        Can be either ``'plain'`` (default) or ``'bold'``. If set to
        ``'bold'``, a `~.MatrixSymbol` A will be printed as ``\mathbf{A}``,
        otherwise as ``A``.
    imaginary_unit : string, optional
        String to use for the imaginary unit. Defined options are ``'i'``
        (default) and ``'j'``. Adding ``r`` or ``t`` in front gives ``\mathrm``
        or ``\text``, so ``'ri'`` leads to ``\mathrm{i}`` which gives
        `\mathrm{i}`.
    gothic_re_im : boolean, optional
        If set to ``True``, `\Re` and `\Im` is used for ``re`` and ``im``, respectively.
        The default is ``False`` leading to `\operatorname{re}` and `\operatorname{im}`.
    decimal_separator : string, optional
        Specifies what separator to use to separate the whole and fractional parts of a
        floating point number as in `2.5` for the default, ``period`` or `2{,}5`
        when ``comma`` is specified. Lists, sets, and tuple are printed with semicolon
        separating the elements when ``comma`` is chosen. For example, [1; 2; 3] when
        ``comma`` is chosen and [1,2,3] for when ``period`` is chosen.
    parenthesize_super : boolean, optional
        If set to ``False``, superscripted expressions will not be parenthesized when
        powered. Default is ``True``, which parenthesizes the expression when powered.
    min: Integer or None, optional
        Sets the lower bound for the exponent to print floating point numbers in
        fixed-point format.
    max: Integer or None, optional
        Sets the upper bound for the exponent to print floating point numbers in
        fixed-point format.
    diff_operator: string, optional
        String to use for differential operator. Default is ``'d'``, to print in italic
        form. ``'rd'``, ``'td'`` are shortcuts for ``\mathrm{d}`` and ``\text{d}``.
    adjoint_style: string, optional
        String to use for the adjoint symbol. Defined options are ``'dagger'``
        (default),``'star'``, and ``'hermitian'``.

    Notes
    =====

    Not using a print statement for printing, results in double backslashes for
    latex commands since that's the way Python escapes backslashes in strings.

    >>> from sympy import latex, Rational
    >>> from sympy.abc import tau
    >>> latex((2*tau)**Rational(7,2))
    '8 \\sqrt{2} \\tau^{\\frac{7}{2}}'
    >>> print(latex((2*tau)**Rational(7,2)))
    8 \sqrt{2} \tau^{\frac{7}{2}}

    Examples
    ========

    >>> from sympy import latex, pi, sin, asin, Integral, Matrix, Rational, log
    >>> from sympy.abc import x, y, mu, r, tau

    Basic usage:

    >>> print(latex((2*tau)**Rational(7,2)))
    8 \sqrt{2} \tau^{\frac{7}{2}}

    ``mode`` and ``itex`` options:

    >>> print(latex((2*mu)**Rational(7,2), mode='plain'))
    8 \sqrt{2} \mu^{\frac{7}{2}}
    >>> print(latex((2*tau)**Rational(7,2), mode='inline'))
    $8 \sqrt{2} \tau^{7 / 2}$
    >>> print(latex((2*mu)**Rational(7,2), mode='equation*'))
    \begin{equation*}8 \sqrt{2} \mu^{\frac{7}{2}}\end{equation*}
    >>> print(latex((2*mu)**Rational(7,2), mode='equation'))
    \begin{equation}8 \sqrt{2} \mu^{\frac{7}{2}}\end{equation}
    >>> print(latex((2*mu)**Rational(7,2), mode='equation', itex=True))
    $$8 \sqrt{2} \mu^{\frac{7}{2}}$$
    >>> print(latex((2*mu)**Rational(7,2), mode='plain'))
    8 \sqrt{2} \mu^{\frac{7}{2}}
    >>> print(latex((2*tau)**Rational(7,2), mode='inline'))
    $8 \sqrt{2} \tau^{7 / 2}$
    >>> print(latex((2*mu)**Rational(7,2), mode='equation*'))
    \begin{equation*}8 \sqrt{2} \mu^{\frac{7}{2}}\end{equation*}
    >>> print(latex((2*mu)**Rational(7,2), mode='equation'))
    \begin{equation}8 \sqrt{2} \mu^{\frac{7}{2}}\end{equation}
    >>> print(latex((2*mu)**Rational(7,2), mode='equation', itex=True))
    $$8 \sqrt{2} \mu^{\frac{7}{2}}$$

    Fraction options:

    >>> print(latex((2*tau)**Rational(7,2), fold_frac_powers=True))
    8 \sqrt{2} \tau^{7/2}
    >>> print(latex((2*tau)**sin(Rational(7,2))))
    \left(2 \tau\right)^{\sin{\left(\frac{7}{2} \right)}}
    >>> print(latex((2*tau)**sin(Rational(7,2)), fold_func_brackets=True))
    \left(2 \tau\right)^{\sin {\frac{7}{2}}}
    >>> print(latex(3*x**2/y))
    \frac{3 x^{2}}{y}
    >>> print(latex(3*x**2/y, fold_short_frac=True))
    3 x^{2} / y
    >>> print(latex(Integral(r, r)/2/pi, long_frac_ratio=2))
    \frac{\int r\, dr}{2 \pi}
    >>> print(latex(Integral(r, r)/2/pi, long_frac_ratio=0))
    \frac{1}{2 \pi} \int r\, dr

    Multiplication options:

    >>> print(latex((2*tau)**sin(Rational(7,2)), mul_symbol="times"))
    \left(2 \times \tau\right)^{\sin{\left(\frac{7}{2} \right)}}

    Trig options:

    >>> print(latex(asin(Rational(7,2))))
    \operatorname{asin}{\left(\frac{7}{2} \right)}
    >>> print(latex(asin(Rational(7,2)), inv_trig_style="full"))
    \arcsin{\left(\frac{7}{2} \right)}
    >>> print(latex(asin(Rational(7,2)), inv_trig_style="power"))
    \sin^{-1}{\left(\frac{7}{2} \right)}

    Matrix options:

    >>> print(latex(Matrix(2, 1, [x, y])))
    \left[\begin{matrix}x\\y\end{matrix}\right]
    >>> print(latex(Matrix(2, 1, [x, y]), mat_str = "array"))
    \left[\begin{array}{c}x\\y\end{array}\right]
    >>> print(latex(Matrix(2, 1, [x, y]), mat_delim="("))
    \left(\begin{matrix}x\\y\end{matrix}\right)

    Custom printing of symbols:

    >>> print(latex(x**2, symbol_names={x: 'x_i'}))
    x_i^{2}

    Logarithms:

    >>> print(latex(log(10)))
    \log{\left(10 \right)}
    >>> print(latex(log(10), ln_notation=True))
    \ln{\left(10 \right)}

    ``latex()`` also supports the builtin container types :class:`list`,
    :class:`tuple`, and :class:`dict`:

    >>> print(latex([2/x, y], mode='inline'))
    $\left[ 2 / x, \  y\right]$

    Unsupported types are rendered as monospaced plaintext:

    >>> print(latex(int))
    \mathtt{\text{<class 'int'>}}
    >>> print(latex("plain % text"))
    \mathtt{\text{plain \% text}}

    See :ref:`printer_method_example` for an example of how to override
    this behavior for your own types by implementing ``_latex``.

    .. versionchanged:: 1.7.0
        Unsupported types no longer have their ``str`` representation treated as valid latex.

    )r·   r  ©r  rû   s     rs   r  r  —  s!   € õn ˜Ñ!Ô!×)Ò)¨$Ñ/Ô/Ð/ru   c                ó:   — t          t          | fi |¤Ž¦  «         dS )z`Prints LaTeX representation of the given expression. Takes the same
    settings as ``latex()``.N)Úprintr  r»  s     rs   Úprint_latexr¾  q  s(   € õ 
�%�Ð
!Ð
!˜Ð
!Ð
!Ñ"Ô"Ð"Ð"Ð"ru   rq  úalign*Fc           
     ó  — t          di |¤Ž}|dk    rd}d}d}	d}
d}nD|dk    rd}d}d}	d	}
d}n3|d
k    rd}d}d}	d}
d}n"t          d                     |¦  «        ¦  «        ‚d}|rd}|                     ¦   «         }t	          |¦  «        }d}t          |¦  «        D ]å}||         }d}d}d}||k    r	|rd}nd}d}||k    r||dz
  k     r||	z   dz   dz   }nd}|                     ¦   «         d         dk    rd|z  }d}|dk    rK|dk    rd}|d                     |                     | ¦  «        |||                     |¦  «        |¦  «        z  }n.|d                     |||                     |¦  «        |¦  «        z  }|dz  }Œæ||
z  }|S )a¦  
    This function generates a LaTeX equation with a multiline right-hand side
    in an ``align*``, ``eqnarray`` or ``IEEEeqnarray`` environment.

    Parameters
    ==========

    lhs : Expr
        Left-hand side of equation

    rhs : Expr
        Right-hand side of equation

    terms_per_line : integer, optional
        Number of terms per line to print. Default is 1.

    environment : "string", optional
        Which LaTeX wnvironment to use for the output. Options are "align*"
        (default), "eqnarray", and "IEEEeqnarray".

    use_dots : boolean, optional
        If ``True``, ``\\dots`` is added to the end of each line. Default is ``False``.

    Examples
    ========

    >>> from sympy import multiline_latex, symbols, sin, cos, exp, log, I
    >>> x, y, alpha = symbols('x y alpha')
    >>> expr = sin(alpha*y) + exp(I*alpha) - cos(log(y))
    >>> print(multiline_latex(x, expr))
    \begin{align*}
    x = & e^{i \alpha} \\
    & + \sin{\left(\alpha y \right)} \\
    & - \cos{\left(\log{\left(y \right)} \right)}
    \end{align*}

    Using at most two terms per line:
    >>> print(multiline_latex(x, expr, 2))
    \begin{align*}
    x = & e^{i \alpha} + \sin{\left(\alpha y \right)} \\
    & - \cos{\left(\log{\left(y \right)} \right)}
    \end{align*}

    Using ``eqnarray`` and dots:
    >>> print(multiline_latex(x, expr, terms_per_line=2, environment="eqnarray", use_dots=True))
    \begin{eqnarray}
    x & = & e^{i \alpha} + \sin{\left(\alpha y \right)} \dots\nonumber\\
    & & - \cos{\left(\log{\left(y \right)} \right)}
    \end{eqnarray}

    Using ``IEEEeqnarray``:
    >>> print(multiline_latex(x, expr, environment="IEEEeqnarray"))
    \begin{IEEEeqnarray}{rCl}
    x & = & e^{i \alpha} \nonumber\\
    & & + \sin{\left(\alpha y \right)} \nonumber\\
    & & - \cos{\left(\log{\left(y \right)} \right)}
    \end{IEEEeqnarray}

    Notes
    =====

    All optional parameters from ``latex`` can also be used.

    Úeqnarrayz\begin{eqnarray}
z& = &z	\nonumberz
\end{eqnarray}TÚIEEEeqnarrayz\begin{IEEEeqnarray}{rCl}
z
\end{IEEEeqnarray}r¿  z\begin{align*}
z= &rå   z
\end{align*}FzUnknown environment: {}z\dotsrq  r™  z& & r  r  r  r   rp  r4  z{:s} {:s}{:s} {:s} {:s}z{:s}{:s} {:s} {:s}rp   )r·   rõ   r  Úas_ordered_termsrŠ  r‰  rÌ  r  )rÖ  rØ  Úterms_per_lineÚenvironmentÚuse_dotsrû   r  rÅ  Ú
first_termÚnonumberÚend_termÚdoubleetrÈ  rh  Ún_termsÚ
term_countrÍ   ri  Ú
term_startÚterm_endr¼  s                        rs   Úmultiline_latexrÏ  x  s+  € õF 	Ð Ð �xÐ Ð €AØ�jÒ Ð Ø+ˆØˆ
ØˆØ&ˆØˆˆØ	˜Ò	&Ð	&Ø4ˆØˆ
ØˆØ*ˆØˆˆØ	˜Ò	 Ð	 Ø)ˆØˆ
ØˆØ%ˆØˆˆåÐ2×9Ò9¸+ÑFÔFÑGÔGÐGØ€DØð ØˆØ× Ò Ñ"Ô"€EÝ�%‰jŒj€GØ€JÝ�7‰^Œ^ð ð ˆØ�QŒxˆØˆ
ØˆØˆØ˜Ò&Ð&Øð "Ø#�
�
à!�
ØˆJØ˜Ò'Ð'à�7˜1‘9Š}ˆ}à (™?¨UÑ2°TÑ9��à�à×"Ò"Ñ$Ô$ QÔ'¨2Ò-Ð-Ø�d‘7ˆDØˆDØ�Š6ˆ6Ø�sŠ{ˆ{Ø�ØÐ0×7Ò7¸¿	º	À#¹¼Ø" D¨!¯)ª)°D©/¬/¸8ñEô Eñ EˆFˆFð Ð+×2Ò2°:¸tØŸ	š	 $™œ¨ñ3ô 3ñ 3ˆFà�a‰ˆ
ˆ
Ø
ˆhÑ€FØ€Mru   )rr   r­   r®   r­   )rq  r¿  F)JÚ__doc__Ú
__future__r   Útypingr   r   r   rV  Ú
sympy.corer   r   r	   r
   r   r   r   r   Úsympy.core.alphabetsr   Úsympy.core.containersr   Úsympy.core.functionr   r   r   Úsympy.core.operationsr   Úsympy.core.powerr   Úsympy.core.sortingr   Úsympy.core.sympifyr   rÝ  r   r   r   Úsympy.printing.precedencer   Úsympy.printing.printerr   r   Úsympy.printing.conventionsr   r   r    r!   Úmpmath.libmp.libmpfr"   r#   r�  Úsympy.utilities.iterablesr$   r%   r8   Úsympy.tensor.arrayr&   Úsympy.vector.basisdependentr'   rŠ  r·  r¹  r¬   r¨  Ú	frozensetr¸  ÚcompilerÔ  rµ   r·   rÌ  r  r¾  rÏ  rp   ru   rs   ú<module>rä     s8  ððð ð ð #Ð "Ð "Ð "Ð "Ð "Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à Ð Ð Ð à DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ )Ð )Ð )Ð )Ð )Ð )Ø  Ð  Ð  Ð  Ð  Ð  Ø /Ð /Ð /Ð /Ð /Ð /Ø +Ð +Ð +Ð +Ð +Ð +Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?ð =Ð <Ð <Ð <Ð <Ð <Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ <Ð <Ð <Ð <Ð <Ð <Ð <Ð <à BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bà 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à 	€	€	€	àð ;Ø,Ð,Ð,Ð,Ð,Ð,Ø:Ð:Ð:Ð:Ð:Ð:ðð ð Ð ð%Øˆ]ð%à
ˆMð%ð ˆYð%ð ˆYð	%ð
 ˆ}ð%ð ˆMð%ð 
ˆ=ð%ð ˆYð%ð ˆMð%ð ˆ]ð%ð ˆjð%ð 	ˆ-ð%ð 	ˆ-ð%ð 	ˆ&ð%ð ˆsð%ð  ˆ}ð!%ð" 	ˆ&ð#%ð %ð$ 
ˆ=ð%%ð& ˆYð'%ð( 
ˆ=ð)%ð* ˆ{ð+%ð, 
ˆ7ð-%ð. 
ˆ=ð/%ð0 
ˆ7ð1%ð2 ˆYð3%ð4 ˆZð5%ð6 ˆZð7%ð8 
ˆ7ð9%ð: 
ˆ=ð;%ð< �.ð=%ð> �ð?%ð@ ˆjðA%ðB ˆYðC%ðD ˆjðE%ð %ðF ØðI%ð %ð %Ð ðN,ð ,ð ,€ð2àÐ.Ð.ð2ð Ð*Ð*ð2ð Ð(Ð(ð	2ð
 Ð&Ð&ð2ð 
Ð$Ð$ð2ð Ð(Ð(ð2ð Ð(Ð(ð2ð Ð(Ð(ð2ð Ð(Ð(ð2ð Ð(Ð(ð2ð 
Ð$Ð$ð2ð 
Ð$Ð$ð2ð 
Ð$Ð$ð2ð Ð!Ð!ð2ð  
ÐÐð!2ð$ Ð,Ð,ð%2ð& 	Ð
*Ð
*ð'2ð( )Ð(Ø(Ð(Ø*Ð*à0Ð0Ø9Ð9Ø-Ð-Ø-Ð-ð72ð 2ð 2€ð ð ð ñ ð< �I˜fÑ%Ô%Ð ð €B„Jˆ~ÑÔØ€B„JÐ'Ñ(Ô(ðÐ ðð ð ð ðg+7ð g+7ð g+7ð g+7ð g+7�7ñ g+7ô g+7ð g+7ðTWð ð ð ð> €�ÑÔðV0ð V0ñ ÔðV0ðr#ð #ð #ð~ð ~ð ~ð ~ð ~ð ~ru   