+
    iZ+                      R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHtHt ^ RIHtHtHt ^ R	IHt ^ R
IHtHt ^ RIHtHtHt  ! R R]4      t ! R R]4      t ! R R]4      t ]! ]4      RR l4       t!RR lt"]t#R# )z
A MathML printer.
)annotations)Any)Mul)S)default_sort_key)sympify)split_super_subrequires_partial)precedence_traditional
PRECEDENCEPRECEDENCE_TRADITIONAL)greek_unicode)Printerprint_function)prec_to_dpsrepr_dpsto_strc                  |    ] tR t^t$ Rt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/tR]R&   RR ltR tR t	Rt
R# ) MathMLPrinterBasezVContains common code required for MathMLContentPrinter and
MathMLPresentationPrinter.
orderNencodingzutf-8fold_frac_powersFfold_func_bracketsfold_short_fracinv_trig_styleabbreviatedln_notationlong_frac_ratio	mat_delim[mat_symbol_styleplain
mul_symbolroot_notationTsymbol_namesmul_symbol_mathml_numbers&#xB7;disable_split_super_subzdict[str, Any]_default_settingsc                	   a a \         P                  ! S V4       ^ RIHpHp V! 4       S n         ! R RV4      oVV 3R lpVS P
                  n        R# )    )DocumentTextc                       ] tR t^6tRR ltRtR# )+MathMLPrinterBase.__init__.<locals>.RawTextc                	    V P                   '       d.   VP                  R P                  W P                   V4      4       R# R# )z{}{}{}N)datawriteformat)selfwriterindent	addindentnewls   &&&&&u/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/printing/mathml.pywritexml4MathMLPrinterBase.__init__.<locals>.RawText.writexml7   s+    999LLD!IJ      N) r=   r=   )__name__
__module____qualname____firstlineno__r9   __static_attributes__r<   r;   r8   RawTextr.   6   s    K Kr;   rC   c                D   < S! 4       pWn         SP                  Vn        V# N)r0   domownerDocument)r0   rrC   r3   s   & r8   createRawTextNode5MathMLPrinterBase.__init__.<locals>.createRawTextNode;   s    	AF"hhAOHr;   N)r   __init__xml.dom.minidomr+   r,   rF   createTextNode)r3   settingsr+   r,   rI   rC   s   f&   @r8   rK   MathMLPrinterBase.__init__,   s@    x(2:	Kd 	K
	 #4r;   c                    \         P                  ! W4      pVP                  4       pVP                  RR4      pVP	                  4       pV# )z"
Prints the expression as MathML.
asciixmlcharrefreplace)r   _printtoxmlencodedecode)r3   exprmathMLunistrxmlbstrress   &&    r8   doprintMathMLPrinterBase.doprintC   s?     +--)<=nn
r;   c                	T    V P                   R ,          '       d   V. . 3# \        V4      # )r'   )	_settingsr   )r3   names   &&r8   _split_super_sub"MathMLPrinterBase._split_super_subM   s)    >>344"b>!"4((r;   )rF   rE   )r>   r?   r@   rA   __doc__r(   __annotations__rK   r\   ra   rB   r<   r;   r8   r   r      sr    
 	GEe4-u4SGd#X!5)~ $4.)r;   r   c                     ] tR t^TtRtRtR tR tR(R ltR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR t]t]tR tR tR tR t R t!R t"R t#R  t$R! t%R" t&]#t']#t(]#t)R# t*R$ t+R% t,R& t-R't.R# ))MathMLContentPrinterzuPrints an expression to the Content MathML markup language.

References: https://www.w3.org/TR/MathML2/chapter4.html
_mathml_contentc                
   / RRbRRbRRbRRbR	RbR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRb/ R R	bR!R"bR#R#bR$R$bR%R%bR&R&bR'R'bR(R(bR)R)bR*R*bR+R+bR,R,bR-R-bR.R.bR/R0bR1R2bR3R4bC/ R5R6bR7R8bR9R:bR;R8bR<R=bR>R?bR@RAbRBRCbRDREbRFRGbRHRIbRJRKbRLRMbRNRObRPRQbRRRSbRTRUbCRVRWRXRY/CpVP                   P                   F  pVP                  pWB9   g   K  W$,          u # 	  VP                   P                  pVP                  4       # )Z)Returns the MathML tag for an expression.Addplusr   times
DerivativediffNumbercnintPowpowerMaxmaxMinminAbsabsAndandOrorXorxorNotnotImpliesimpliesSymbolciMatrixSymbolRandomSymbolIntegralSumsumsincostancotcscsecsinhcoshtanhcothcschsechasinarcsinasinharcsinhacosarccosacosharccoshatanarctanatanharctanhatan2acotarccotacotharccothasecarcsecasecharcsechacscarccscacscharccschloglnEqualityeq
UnequalityneqGreaterThangeqLessThanleqStrictGreaterThangtStrictLessThanltUnionunionIntersection	intersect	__class____mro__r>   lower)r3   e	translateclsns   &&   r8   
mathml_tagMathMLContentPrinter.mathml_tag[   s   6
66
76
 &6
 d	6

 46
 76
 56
 56
 56
 56
 $6
 56
 56
 y6
 d6
  D!6
" D#6
$ %6
& 5'6
( 5)6
* 5+6
, 5-6
. 5/6
0 516
2 536
4 F56
6 F76
8 F96
: F;6
< F=6
> F?6
@ HA6
B YC6
D HE6
F YG6
H HI6
J YK6
L XM6
N HO6
P YQ6
R HS6
T YU6
V HW6
X YY6
Z 4[6
\ ]6
^ %_6
` 5a6
b c6
d  e6
f dg6
h WKk6
	p ;;&&CA~ |# '
 KK  wwyr;   c                	   VP                  4       '       di   V P                  P                  R 4      pVP                  V P                  P                  R4      4       VP                  V P	                  V) 4      4       V# ^ RIHp V! V4      w  rEV\        P                  Jd   V P                  P                  R 4      pVP                  V P                  P                  R4      4       VP                  V P                  V4      4       VP                  V P                  V4      4       V# VP                  4       w  rgV\        P                  J d)   \        V4      ^8X  d   V P                  V^ ,          4      # V P                  R8w  d%   \        P                  ! V4      P                  4       pV P                  P                  R 4      pVP                  V P                  P                  R4      4       V^8w  d!   VP                  V P                  V4      4       V F#  pVP                  V P                  V4      4       K%  	  V# )applyminusfractiondivideoldrl   )could_extract_minus_signrF   createElementappendChild
_print_Mulsympy.simplifyr   r   OnerS   as_coeff_mullenr   r   
_from_argsas_ordered_factors)	r3   rW   xr   numerdenomcoefftermsterms	   &&       r8   r   MathMLContentPrinter._print_Mul   s   ((**&&w/AMM$((009:MM$//4%01H+~&&w/AMM$((00:;MM$++e,-MM$++e,-H((*AEE>c%jAo ;;uQx((::NN5)<<>EHH""7+	dhh,,W56A:MM$++e,-DMM$++d+, r;   Nc                	   V P                  WR 7      pV P                  V^ ,          4      p. pVR,           EF  pVP                  4       '       d   V P                  P	                  R4      pVP                  V P                  P	                  R4      4       VP                  V4       VP                  V P                  V) 4      4       TpWcR,          8X  d   VP                  V4       K  K  VP                  V4       V P                  V4      pWcR,          8X  g   K  VP                  V P                  V4      4       EK	  	  \        V4      ^8X  d   V# V P                  P	                  R4      pVP                  V P                  P	                  R4      4       V'       d#   VP                  VP                  ^ 4      4       K*  V# )r      NNr   r   rk   )	_as_ordered_termsrS   r   rF   r   r   appendr   pop)r3   rW   r   argslastProcessed	plusNodesargr   s   &&&     r8   
_print_AddMathMLContentPrinter._print_Add   s\   %%d%8DG,	88C++--HH**73dhh44W=>m,dkk3$/0 !r(?$$]3 #   / $C 0r(?$$T[[%56   y>Q  HH""7+	dhh,,V45MM)--*+r;   c                	x   VP                   R,          P                  R8w  d   \        R4      hV P                  P	                  R4      p\        VP                   4       F  w  pw  rEV\        VP                   4      ^,
          8X  dD   VR8X  d=   V P                  P	                  R4      pVP                  V P                  V4      4       M[V P                  P	                  R4      pVP                  V P                  V4      4       VP                  V P                  V4      4       VP                  V4       K  	  V# )r   TzAll Piecewise expressions must contain an (expr, True) statement to be used as a default condition. Without one, the generated expression may not evaluate to anything under some condition.	piecewise	otherwisepiecer   )	r   cond
ValueErrorrF   r   	enumerater   r   rS   )r3   rW   rootir   cr   s   &&     r8   _print_Piecewise%MathMLContentPrinter._print_Piecewise   s    99R=%  / 0 0
 xx%%k2"499-IAvC		NQ&&19..{;!!$++a.1..w7!!$++a.1!!$++a.1U# . r;   c           	     	T   V P                   P                  R 4      p\        VP                  4       Fs  pV P                   P                  R4      p\        VP                  4       F+  pVP                  V P                  WV3,          4      4       K-  	  VP                  V4       Ku  	  V# )matrix	matrixrow)rF   r   rangerowscolsr   rS   )r3   mr   r   x_rjs   &&    r8   _print_MatrixBase&MathMLContentPrinter._print_MatrixBase   s|    HH""8,qvvA((((5C166]AdG 45 #MM#	 
 r;   c                	
   VP                   ^8X  d[   V P                  P                  R4      pVP                  V P                  P	                  \        VP                  4      4      4       V# V P                  P                  R4      pVP                  V P                  P                  R4      4       V P                  P                  R4      pVP                  V P                  P	                  \        VP                  4      4      4       V P                  P                  R4      pVP                  V P                  P	                  \        VP                   4      4      4       VP                  V4       VP                  V4       V# )r   rp   r   r   )qrF   r   r   rM   strp)r3   r   r   xnumxdenoms   &&   r8   _print_Rational$MathMLContentPrinter._print_Rational   s   33!8&&t,AMM$((11#acc(;<HHH""7+	dhh,,X67xx%%d+00QSS:;''-488223qss8<=	d	fr;   c                	   V P                   P                  R 4      pVP                  V P                   P                  V P                  V4      4      4       V P                   P                  R4      pV P                   P                  R4      pVP                  V P	                  VP
                  ^,          4      4       VP                  V P	                  VP
                  ^,          4      4       VP                  V4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       V# )r   bvarlowlimit)rF   r   r   r   rS   r   )r3   r   r   x_1x_2s   &&   r8   _print_Limit!MathMLContentPrinter._print_Limit  s    HH""7+	dhh,,T__Q-?@Ahh$$V,hh$$Z0AFF1I./AFF1I./	c	c	dkk!&&),-r;   c                	8    V P                   P                  R 4      # )
imaginaryirF   r   r3   r   s   &&r8   _print_ImaginaryUnit)MathMLContentPrinter._print_ImaginaryUnit      xx%%l33r;   c                	8    V P                   P                  R 4      # )
eulergammar  r  s   &&r8   _print_EulerGamma&MathMLContentPrinter._print_EulerGamma  r  r;   c                    V P                   P                  R4      pVP                  V P                   P                  R4      4       V# )zoWe use unicode #x3c6 for Greek letter phi as defined here
https://www.w3.org/2003/entities/2007doc/isogrk1.htmlrp   u   φrF   r   r   rM   r3   r   r   s   && r8   _print_GoldenRatio'MathMLContentPrinter._print_GoldenRatio   s9     HH""4(	dhh--.JKLr;   c                	8    V P                   P                  R 4      # )exponentialer  r  s   &&r8   _print_Exp1 MathMLContentPrinter._print_Exp1'  s    xx%%n55r;   c                	8    V P                   P                  R 4      # )pir  r  s   &&r8   	_print_PiMathMLContentPrinter._print_Pi*  s    xx%%d++r;   c                	8    V P                   P                  R 4      # )infinityr  r  s   &&r8   _print_Infinity$MathMLContentPrinter._print_Infinity-      xx%%j11r;   c                	8    V P                   P                  R 4      # )
notanumberr  r  s   &&r8   
_print_NaNMathMLContentPrinter._print_NaN0  r  r;   c                	8    V P                   P                  R 4      # )emptysetr  r  s   &&r8   _print_EmptySet$MathMLContentPrinter._print_EmptySet3  r4  r;   c                	8    V P                   P                  R 4      # )truer  r  s   &&r8   _print_BooleanTrue'MathMLContentPrinter._print_BooleanTrue6  s    xx%%f--r;   c                	8    V P                   P                  R 4      # )falser  r  s   &&r8   _print_BooleanFalse(MathMLContentPrinter._print_BooleanFalse9  s    xx%%g..r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       VP                  V P                   P                  R4      4       V# )r   r   r1  )rF   r   r   r%  s   && r8   _print_NegativeInfinity,MathMLContentPrinter._print_NegativeInfinity<  sQ    HH""7+	dhh,,W56	dhh,,Z89r;   c                	r   a aa VVV 3R  lo\        SP                  4      pVP                  4        S! V4      # )c                  < SP                   P                  R 4      pVP                  SP                   P                  SP                  S4      4      4       SP                   P                  R4      pVP                  SP	                  V ^ ,          ^ ,          4      4       VP                  V4       \        V ^ ,          4      ^8X  d   SP                   P                  R4      pVP                  SP	                  V ^ ,          ^,          4      4       VP                  V4       SP                   P                  R4      pVP                  SP	                  V ^ ,          ^,          4      4       VP                  V4       \        V ^ ,          4      ^8X  d[   SP                   P                  R4      pVP                  SP	                  V ^ ,          ^,          4      4       VP                  V4       \        V 4      ^8X  d-   VP                  SP	                  SP                  4      4       V# VP                  S! V R,          4      4       V# )r   r  r  uplimitr   )rF   r   r   r   rS   r   function)limitsr   	bvar_elemlow_elemup_elemr   
lime_recurr3   s   &    r8   rP  8MathMLContentPrinter._print_Integral.<locals>.lime_recurC  s   &&w/AMM$((001CDE..v6I!!$++fQil";<MM)$6!9~"8811*=$$T[[1%>?h'((00;##DKKq	!$=>g&6!9~"((00;##DKKq	!$=>g&6{adkk!**56 H j45Hr;   )listrL  reverse)r3   r   rL  rP  s   ff @r8   _print_Integral$MathMLContentPrinter._print_IntegralB  s,    	0 ahh&!!r;   c                	$    V P                  V4      # rE   )rT  r  s   &&r8   
_print_SumMathMLContentPrinter._print_Sum_  s     ##A&&r;   c                	h  a  S P                   P                  S P                  V4      4      pV 3R  lpR pS P                  VP                  4      w  rVpV! V4      pV Uu. uF
  q! V4      NK  	  ppV U	u. uF
  q! V	4      NK  	  pp	S P                   P                  R4      p
V
P                  S P                   P                  V4      4       V'       g   V'       g-   VP                  S P                   P                  V4      4       V# S P                   P                  R4      pVP                  V
4       VP                  V! V4      4       VP                  V4        V# V'       gW   S P                   P                  R4      pVP                  V
4       VP                  V! V4      4       VP                  V4       V# S P                   P                  R4      pVP                  V
4       VP                  V! V4      4       VP                  V! V4      4       VP                  V4       V# u upi u up	i )c                  < \        V 4      ^8  d   SP                  P                  R4      p\        V 4       F  w  r#V^ 8  dW   SP                  P                  R4      pVP	                  SP                  P                  R4      4       VP	                  V4       SP                  P                  R4      pVP	                  SP                  P                  V4      4       VP	                  V4       K  	  V# SP                  P                  R4      pVP	                  SP                  P                  V ^ ,          4      4       V# )r   zmml:mrowzmml:mo mml:mir   rF   r   r   r   rM   itemsmrowr   itemmomir3   s   &     r8   join0MathMLContentPrinter._print_Symbol.<locals>.joing  s    5zA~xx--j9(/GA1u!XX33H=txx'>'>s'CD((,//9BNN488#:#:4#@A$$R(  0 XX++H5txx66uQx@A	r;   c                H    V \         9   d   \         P                  ! V 4      # V # rE   r   getss   &r8   r   5MathMLContentPrinter._print_Symbol.<locals>.translatey       M!$((++r;   r\  zmml:msubzmml:msupzmml:msubsup)rF   r   r   ra   r`   r   rM   )r3   symr   rd  r   r`   superssubssupsubmnamemsubmsupmsubsups   f&            r8   _print_Symbol"MathMLContentPrinter._print_Symbold  s   XX##DOOC$89	$	 "22388<d,23FS)C.F3*./$3	#$/&&x0$((11$78txx66t<=$ 	! xx--j9  '  d,t$ 	 xx--j9  '  f.t$ 	 ((00?##E*##DJ/##DL1w'	3 4/s   H*5H/c                	V   V P                   R ,          '       Ede   VP                  P                  '       EdH   VP                  P                  ^8X  Ed,   V P                  P                  R4      pVP                  V P                  P                  R4      4       VP                  P                  ^8w  d   V P                  P                  R4      pV P                  P                  R4      pVP                  V P                  P                  \        VP                  P                  4      4      4       VP                  V4       VP                  V4       VP                  V P                  VP                  4      4       V# V P                  P                  R4      pV P                  P                  V P                  V4      4      pVP                  V4       VP                  V P                  VP                  4      4       VP                  V P                  VP                  4      4       V# )r#   r   r   degreerp   )r_   expis_Rationalr  rF   r   r   r
  rM   r  rS   baser   )r3   r   r   xmldegxmlcnr  s   &&    r8   
_print_PowMathMLContentPrinter._print_Pow  sl    NN?++0A0A0AEEGGqL&&w/AMM$((0089uuww!|//9..t4!!$(("9"9#aeegg,"GH""5)f%MM$++aff-.HHH""7+hh$$T__Q%78	c	dkk!&&)*	dkk!%%()r;   c                	    V P                   P                  V P                  V4      4      pVP                  V P                   P	                  \        V4      4      4       V# rE   rF   r   r   r   rM   r  r%  s   && r8   _print_Number"MathMLContentPrinter._print_Number  C    HH""4??1#56	dhh--c!f56r;   c                	    V P                   P                  V P                  V4      4      p\        VP                  \        VP                  4      4      pVP                  V P                   P                  V4      4       V# rE   )	rF   r   r   mlib_to_str_mpf_r   _precr   rM   )r3   r   r   repr_es   &&  r8   _print_Float!MathMLContentPrinter._print_Float  sX    HH""4??1#56QWWhqww&78	dhh--f56r;   c                	   V P                   P                  R 4      pV P                  V4      p\        VP                  4      '       d   RpVP                  V P                   P                  V4      4       V P                   P                  R4      p\        VP                  4       F  w  rVVP                  V P                  V4      4       V^8  g   K.  V P                   P                  R4      pVP                  V P                  \        V4      4      4       VP                  V4       K  	  VP                  V4       VP                  V P                  VP                  4      4       V# )r   partialdiffr  ry  )
rF   r   r   r	   rW   r   reversedvariable_countrS   r   )r3   r   r   diff_symbolr  rm  rl   ry  s   &&      r8   _print_Derivative&MathMLContentPrinter._print_Derivative  s   HH""7+ooa(AFF##'K	dhh,,[9:hh$$V,"1#3#34JCOODKK,-qy//9""4;;wu~#>?' 5 	
c	dkk!&&)*r;   c                	   V P                   P                  R 4      pVP                  V P                   P                  V P                  V4      4      4       VP                   F#  pVP                  V P                  V4      4       K%  	  V# r   )rF   r   r   r   r   rS   r3   r   r   r   s   &&  r8   _print_Function$MathMLContentPrinter._print_Function  sb    HH""7+	dhh,,T__Q-?@A66CMM$++c*+ r;   c                	    V P                   P                  V P                  V4      4      pVP                   F#  pVP	                  V P                  V4      4       K%  	  V# rE   )rF   r   r   r   r   rS   r  s   &&  r8   _print_Basic!MathMLContentPrinter._print_Basic  sG    HH""4??1#5666CMM$++c*+ r;   c                	   V P                   P                  R 4      pV P                   P                  V P                  V4      4      pVP                  V4       VP                   F#  pVP                  V P                  V4      4       K%  	  V# r  )rF   r   r   r   r   rS   )r3   r   r   r  r   s   &&   r8   _print_AssocOp#MathMLContentPrinter._print_AssocOp  sg    HH""7+hh$$T__Q%78	c66CMM$++c*+ r;   c                	V   V P                   P                  R 4      pVP                  V P                   P                  V P                  V4      4      4       VP                  V P	                  VP
                  4      4       VP                  V P	                  VP                  4      4       V# r  )rF   r   r   r   rS   lhsrhsr%  s   && r8   _print_Relational&MathMLContentPrinter._print_Relational  sq    HH""7+	dhh,,T__Q-?@A	dkk!%%()	dkk!%%()r;   c                    V P                   P                  R4      pV F#  pVP                  V P                  V4      4       K%  	  V# )z_MathML reference for the <list> element:
https://www.w3.org/TR/MathML2/chapter4.html#contm.listrR  )rF   r   r   rS   )r3   seqdom_elementra  s   &&  r8   _print_list MathMLContentPrinter._print_list  s?     hh,,V4D##DKK$56 r;   c                	    V P                   P                  V P                  V4      4      pVP                  V P                   P	                  \        V4      4      4       V# rE   r  r3   r  r  s   && r8   
_print_intMathMLContentPrinter._print_int  F    hh,,T__Q-?@ 7 7A ?@r;   c                	    V P                   P                  R 4      pVP                   F#  pVP                  V P	                  V4      4       K%  	  V# )set)rF   r   r   r   rS   r  s   &&  r8   _print_FiniteSet%MathMLContentPrinter._print_FiniteSet  s>    HH""5)66CMM$++c*+ r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       VP                   F#  pVP                  V P	                  V4      4       K%  	  V# )r   setdiffrF   r   r   r   rS   r  s   &&  r8   _print_Complement&MathMLContentPrinter._print_Complement  sY    HH""7+	dhh,,Y7866CMM$++c*+ r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       VP                   F#  pVP                  V P	                  V4      4       K%  	  V# )r   cartesianproductr  r  s   &&  r8   _print_ProductSet&MathMLContentPrinter._print_ProductSet  sZ    HH""7+	dhh,,-?@A66CMM$++c*+ r;   c                	l   V P                   P                  V P                  V4      4      pVP                   FO  pV P                   P                  R 4      pVP	                  V P                  V4      4       VP	                  V4       KQ  	  VP	                  V P                  VP                  4      4       V# )r  )rF   r   r   	signaturer   rS   rW   )r3   r   r   r   r  s   &&   r8   _print_Lambda"MathMLContentPrinter._print_Lambda  s     HH""4??1#56;;C((((0COODKK,-MM#  	
dkk!&&)*r;   r<   rE   )/r>   r?   r@   rA   rc   printmethodr   r   r   r   r  r  r  r  r!  r&  r*  r.  r2  r7  r;  r?  rC  rF  rT  rW  rv  _print_MatrixSymbol_print_RandomSymbolr  r  r  r  r  r  r  r  r  r  _print_Implies
_print_Not
_print_Xorr  r  r  r  rB   r<   r;   r8   rf   rf   T   s     $K@D!F8*$446,242./":'
6p ('.
&
 $NJJ	r;   rf   c                     ] tR tRtRtRtR tR tR tR t	R t
R	 tR
 tR tR tR tRR ltR tRR ltR tRR ltR tR tR tR tR tR tR tR tR tR tR tR t R  t!R! t"R" t#R# t$R$ t%R% t&RR& lt'R' t(]'t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/ t1R0 t2R1 t3R2 t4R3 t5R4 t6R5 t7R6 t8RR7 lt9]9t:R8 t;RR9 lt<RR: lt=R; t>R< t?R= t@R> tAR? tBR@ tCRA tDRB tERC tF]FtGRD tHRE tIRF tJRG tKRH tLRI tMRJ tNRK tORL tP]PtQ]PtRRM tSRN tTRO tU]U;tVtWRP tXRQ tYRR tZRS t[RT t\RU t]RV t^RW t_RX t`RY taRZ tbR[ tcR\ tdR] teR^ tfR_ tgR` thRa tiRb tjRc tkRd tl]ltmRe tnRf toRg tpRh tqRi trRj tsRk ttRl tuRm tvRn twRo txRp tyRq tzRr t{Rs t|Rt t}Ru t~Rv tRw tRx tRy tRz tR{ tR| tR} tR~ tR tR tR tR tR tR tR tR tR tR tR tR tR tRtR# )MathMLPresentationPrinteri#  zzPrints an expression to the Presentation MathML markup language.

References: https://www.w3.org/TR/MathML2/chapter3.html
_mathml_presentationc                "  a  / RRbRRbRRbRRbRR	bR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRb/ RRbR RbR!R"bR#R$bR%R&bR'R(bR)R*bR+R,bR-R.bR/R0bR1R2bR3R4bR5R6bR7R8bR9R8bR:R;bR<R=bCR>R?R@RARBRCRDRERFRGRHRIRJRKRLRMRNRORPRCRQRERRRSRTRURVRW/CpV 3RX lpVP                   P                   F  pVP                  pWR9   g   K  W%,          u # 	  VP                   P                  RY8X  d   V! 4       # VP                   P                  pVP                  4       # )Zri   ro   mnLimitz&#x2192;rm   &dd;rq   r   rc  r   z&int;r   z&#x2211;r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   =r   z&#x2260;r   z&#x2265;r   z&#x2264;r   >r   <lerchphi&#x3A6;zetaz&#x3B6;dirichlet_etaz&#x3B7;
elliptic_kz&#x39A;
lowergamma&#x3B3;
uppergammaz&#x393;gammatotientz&#x3D5;reduced_totientz&#x3BB;primenuz&#x3BD;
primeomegaz&#x3A9;fresnelsr   fresnelcCLambertWW	Heavisidez&#x398;BooleanTrueTrueBooleanFalseFalseNoneTypeNonemathieusmathieucmathieusprimez	S&#x2032;mathieucprimez	C&#x2032;Lambdalambdac                 ~  < S P                   R ,          e   S P                   R ,          R8X  d   R# S P                   R ,          R8X  d   R# S P                   R ,          R8X  d   R# S P                   R ,          R8X  d   R# \        S P                   R ,          \        4      '       g   \        hS P                   R ,          # )	r"   r  &InvisibleTimes;rl   &#xD7;dotr&   ldotz&#x2024;)r_   
isinstancer  	TypeError)r3   s   r8   mul_symbol_selectionBMathMLPresentationPrinter.mathml_tag.<locals>.mul_symbol_selection_  s    |,4NN<0F:)-8-6-7!| <cBB~~l33r;   r   r   )r3   r   r   r  r   r   s   f&    r8   r   $MathMLPresentationPrinter.mathml_tag*  s]   1
d1
Z1
 &1
 4	1

 d1
 1
 :1
 51
 51
 51
 51
 H1
 Y1
 H1
 Y1
  H!1
" Y#1
$ H%1
& X'1
( )1
* *+1
, :-1
. 
/1
0  11
2 c31
4 	51
6 I71
8 Y91
: );1
< )=1
> )?1
@ YA1
B yC1
D yE1
F y)6G[[ha1
	f	4 ;;&&CA~ |# '
 ;;5('))KK  wwyr;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rb  (r$  r3   rb  s   & r8   _l_paren"MathMLPresentationPrinter._l_parenw  6    XX##D)
txx..s34	r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rb  )r$  r  s   & r8   _r_paren"MathMLPresentationPrinter._r_paren|  r  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rb  {r$  r  s   & r8   _l_brace"MathMLPresentationPrinter._l_brace  r  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rb  }r$  r  s   & r8   _r_brace"MathMLPresentationPrinter._r_brace  r  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rb  ,r$  r  s   & r8   _comma MathMLPresentationPrinter._comma  r  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rb  |r$  r  s   & r8   _barMathMLPresentationPrinter._bar  r  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rb  ;r$  r  s   & r8   
_semicolon$MathMLPresentationPrinter._semicolon  r  r;   c                	n   V P                   P                  R 4      pVP                  V P                  4       4       \	        V4       FL  w  r4V'       d    VP                  V P                  4       4       VP                  V P                  V4      4       KN  	  VP                  V P                  4       4       V# r`  )rF   r   r   r  r   r  rS   r   r3   r   r`  r   r   s   &*   r8   _paren_comma_separated0MathMLPresentationPrinter._paren_comma_separated  s    xx%%f-)oFA  /T[[-. & 	)r;   c                	n   V P                   P                  R 4      pVP                  V P                  4       4       \	        V4       FL  w  r4V'       d    VP                  V P                  4       4       VP                  V P                  V4      4       KN  	  VP                  V P                  4       4       V# r  )rF   r   r   r  r   r  rS   r   r  s   &*   r8   _paren_bar_separated.MathMLPresentationPrinter._paren_bar_separated  s    xx%%f-)oFA  -T[[-. & 	)r;   c                	X   \        V4      pWB8  g   V'       g   WB8:  d|   V P                  P                  R 4      pVP                  V P	                  4       4       VP                  V P                  V4      4       VP                  V P                  4       4       V# V P                  V4      # r  )r
   rF   r   r   r  rS   r   )r3   ra  levelstrictprec_valr`  s   &&&&  r8   parenthesize&MathMLPresentationPrinter.parenthesize  s    )$/v83D88))&1DT]]_-T[[./T]]_-K{{4  r;   c                	J  a  V 3R  lpS P                   P                  R4      pVP                  4       '       dc   S P                   P                  R4      pVP                  S P                   P	                  R4      4       VP                  V4       V! V) V4      pV# V! W4      pV# )c                R  < ^ RI Hp V! V 4      w  r4V\        P                  Jd   SP                  P                  R4      pSP                  R,          '       d,   \        \        V 4      4      ^8  d   VP                  RR4       SP                  V4      pSP                  V4      pVP                  V4       VP                  V4       VP                  V4       V# V P                  4       w  rV\        P                  J d:   \        V	4      ^8X  d*   VP                  SP                  V	^ ,          4      4       V# SP                  R8w  d%   \        P                  ! V	4      P!                  4       p	V^8w  d   SP                  V4      p
SP                  P                  R4      pVP                  SP                  P#                  SP%                  V 4      4      4       VP                  V
4       VP                  V4       V	 F  pVP                  SP'                  V\(        R,          4      4       WR	,          8X  d   K>  SP                  P                  R4      pVP                  SP                  P#                  SP%                  V 4      4      4       VP                  V4       K  	  V# )
r*   r   mfracr   bevelledr>  r   rb  r   r   )r   r   r   r   rF   r   r_   r   r  setAttributerS   r   r   r   r   r   r   rM   r   r"  r   )rW   r`  r   r   r   fracr  xdenr   r   r   yr   r3   s   &&           r8   multiply6MathMLPresentationPrinter._print_Mul.<locals>.multiply  s   /#D>LEAEE!xx--g6>>"344SY!9K%%j&9{{5){{5)  &  &  &,,.LE~#e*/  U1X!67zzU"u-@@BzKK&HH**40dhh55dood6KLM  #  #  !2!24E9J!KLRy(..t4AMM$(("9"9$//$:O"PQ$$Q'  Kr;   r`  rb  -)rF   r   r   r   rM   )r3   rW   r,  r`  r   s   f&   r8   r   $MathMLPresentationPrinter._print_Mul  s    !	D xx%%f-((**&&t,AMM$((11#67QTE4(D  D'Dr;   Nc                	   V P                   P                  R 4      pV P                  WR7      pVP                  V P	                  V^ ,          4      4       VR,           F  pVP                  4       '       dY   V P                   P                  R4      pVP                  V P                   P                  R4      4       V P	                  V) 4      pMVV P                   P                  R4      pVP                  V P                   P                  R4      4       V P	                  V4      pVP                  V4       VP                  V4       K  	  V# )r`  r   r   rb  r.  +)rF   r   r   r   rS   r   rM   )r3   rW   r   r`  r   r   r   r+  s   &&&     r8   r   $MathMLPresentationPrinter._print_Add  s   xx%%f-%%d%8T!W-.88C++--HH**40dhh55c:;KK% HH**40dhh55c:;KK$QQ  r;   c           	     	L   V P                   P                  R 4      p\        VP                  4       F  pV P                   P                  R4      p\        VP                  4       FW  pV P                   P                  R4      pVP                  V P                  WV3,          4      4       VP                  V4       KY  	  VP                  V4       K  	  V P                  R,          pVR8X  d   V# V P                   P                  R4      pV P                   P                  R4      p	VR8X  dV   VP                  V P                   P                  R4      4       V	P                  V P                   P                  R4      4       MTVP                  V P                   P                  R4      4       V	P                  V P                   P                  R	4      4       V P                   P                  R
4      p
V
P                  V4       V
P                  V4       V
P                  V	4       V
# )mtablemtrmtdr   r=   rb  r   ]r  r  r`  )	rF   r   r  r  r  r   rS   r_   rM   )r3   r  tabler   r   r  r+  r   leftrightr`  s   &&         r8   r  +MathMLPresentationPrinter._print_MatrixBase  s   &&x0qvvA&&u-A166]HH**51dkk!qD'23a  # a   NN;/	?Lxx%%d+&&t,TXX44S9:dhh55c:;TXX44S9:dhh55c:;xx%%f-r;   c                	   VP                   ^ 8  d   VP                   ) pMVP                   pV P                  P                  R4      pV'       g   V P                  R,          '       d   VP	                  RR4       VP                  V P                  V4      4       VP                  V P                  VP                  4      4       VP                   ^ 8  d   V P                  P                  R4      pV P                  P                  R4      pVP                  V P                  P                  R4      4       VP                  V4       VP                  V4       V# V# )r*   r&  r   r'  r>  r`  rb  r.  )	r  rF   r   r_   r(  r   rS   r
  rM   )r3   r   foldedr  r   r`  rb  s   &&&    r8   _get_printed_Rational/MathMLPresentationPrinter._get_printed_Rational  s    337AAHH""7+T^^$566NN:v.	dkk!n%	dkk!##&'33788))&1D''-BNN48822378R QKHr;   c                	    VP                   ^8X  d   V P                  VP                  4      # V P                  WP                  R,          4      # )r   r   )r
  rS   r  r>  r_   r  s   &&r8   r  )MathMLPresentationPrinter._print_Rational)  s;    33!8;;qss##))!^^<M-NOOr;   c                	   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       V P                   P                  R 4      pV P	                  VP
                  ^,          4      pV P                   P                  R4      pVP                  V P                   P                  V P                  V4      4      4       V P	                  VP
                  ^,          4      pVP                  V4       VP                  V4       VP                  V4       VP                  V4       VP                  V4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       V# )r`  munderrc  limrb  )rF   r   r   rM   rS   r   r   )	r3   r   r`  rC  rc  r   r  arrowr  s	   &&       r8   r  &MathMLPresentationPrinter._print_Limit0  sE   xx%%f-''1XX##D)
txx..u56HH""6*kk!&&)$&&t,$((11$//!2DEFkk!&&)$	c	e	c21 QVVAY/0r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  z&ImaginaryI;r$  r%  s   && r8   r  .MathMLPresentationPrinter._print_ImaginaryUnitF  s6    HH""4(	dhh--n=>r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  r  r$  r%  s   && r8   r&  ,MathMLPresentationPrinter._print_GoldenRatioK  6    HH""4(	dhh--i89r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  z&ExponentialE;r$  r%  s   && r8   r*  %MathMLPresentationPrinter._print_Exp1P  s7    HH""4(	dhh--.>?@r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  z&pi;r$  r%  s   && r8   r.  #MathMLPresentationPrinter._print_PiU  s6    HH""4(	dhh--f56r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  &#x221E;r$  r%  s   && r8   r2  )MathMLPresentationPrinter._print_InfinityZ  6    HH""4(	dhh--j9:r;   c                	,   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       V P	                  V4      pVP                  V4       VP                  V4       V# )r`  rb  r.  )rF   r   r   rM   r2  )r3   r   r`  r+  r   s   &&   r8   rF  1MathMLPresentationPrinter._print_NegativeInfinity_  sv    xx%%f-HH""4(	dhh--c23  #r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  z&#x210F;r$  r%  s   && r8   _print_HBar%MathMLPresentationPrinter._print_HBarh  rS  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  r  r$  r%  s   && r8   r!  +MathMLPresentationPrinter._print_EulerGammam  rK  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  TribonacciConstantr$  r%  s   && r8   _print_TribonacciConstant3MathMLPresentationPrinter._print_TribonacciConstantr  s7    HH""4(	dhh--.BCDr;   c                	    V P                   P                  R 4      pVP                  V P                  VP                  ^ ,          4      4       VP                  V P                   P                  R4      4       V# )rt  &#x2020;rF   r   r   rS   r   rM   r3   r   rt  s   && r8   _print_Dagger'MathMLPresentationPrinter._print_Daggerw  sW    xx%%f-QVVAY/000<=r;   c                	   V P                   P                  R 4      pVP                  V P                  VP                  ^ ,          4      4       V P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P                  VP                  ^,          4      4       V# )r`  rb  z&#x2208;ra  )r3   r   r`  rb  s   &&  r8   _print_Contains)MathMLPresentationPrinter._print_Contains}  s    xx%%f-QVVAY/0XX##D)
txx..z:;QVVAY/0r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  z&#x210B;r$  r%  s   && r8   _print_HilbertSpace-MathMLPresentationPrinter._print_HilbertSpace  rS  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       VP                  V P	                  VP
                  ^ ,          4      4       V# )rt  z	&#x1D49E;rF   r   r   rM   rS   r   rb  s   && r8   _print_ComplexSpace-MathMLPresentationPrinter._print_ComplexSpace  sW    xx%%f-00=>QVVAY/0r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  z&#x2131;r$  r%  s   && r8   _print_FockSpace*MathMLPresentationPrinter._print_FockSpace  rS  r;   c                	   ^R^R^R/pV P                   P                  R4      p\        VP                  4      ^8:  d   \        ;QJ d&    R VP                   4       F  '       d   K   RM	  RM! R VP                   4       4      '       ds   V P                   P                  R4      pVP                  V P                   P                  V\        VP                  4      ,          4      4       VP                  V4       EM\        VP                  4       EF  pV P                   P                  R4      pVP                  V P                   P                  V^,          4      4       \        V4      ^8X  d   VP                  V4       \        V4      ^8X  de   V P                   P                  R	4      pVP                  V4       VP                  V P                  V^,          4      4       VP                  V4       \        V4      ^8X  g   K  V P                   P                  R
4      pVP                  V4       VP                  V P                  V^,          4      4       VP                  V P                  V^,          4      4       VP                  V4       EK  	  VP                  V P                  VP                  \        R,          RR7      4       \        VP                  4       F  pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P                  V^ ,          4      4       K  	  V# )r   z&#x222B;z&#x222C;z&#x222D;r`  c              3  >   "   T F  p\        V4      ^8H  x  K  	  R# 5i)r   N)r   ).0rD  s   & r8   	<genexpr><MathMLPresentationPrinter._print_Integral.<locals>.<genexpr>  s     (N+3SQ+s   FTrb  rt  ru  r   r   r  )rF   r   r   rL  allr   rM   r  rS   r"  rK  r   )	r3   rW   
intsymbolsr`  rb  rD  rt  ru  ds	   &&       r8   rT  )MathMLPresentationPrinter._print_Integral  sz   Q
AzB
xx%%f-t{{q SS(N$++(NSSS(N$++(N%N%N''-BNN48822:c$++>N3OPQR   ,XX++D1txx66z!}EFs8q=$$R(s8q=8811&9D$$R($$T[[Q%89$$T*s8q="hh44Y?G''+''CF(;<''CF(;<$$W- -" 	**4==*U:K26 + 8 	9 DKK(C&&t,AMM$((11&9:QT[[Q01	 )
 r;   c                	   \        VP                  4      pV P                  P                  R 4      pV P	                  V^ ,          ^,          4      pV P	                  V^ ,          ^,          4      pV P                  P                  R4      pVP                  V P                  P                  V P                  V4      4      4       V P                  P                  R4      pV P	                  V^ ,          ^ ,          4      pV P                  P                  R4      p	V	P                  V P                  P                  R4      4       VP                  V4       VP                  V	4       VP                  V4       VP                  V4       VP                  V4       VP                  V4       V P                  P                  R4      p
V
P                  V4       V
P                  V P                  VP                  \        V4      4      4       V
# )
munderoverrb  r`  r  )rR  rL  rF   r   rS   r   rM   r   r"  rK  r
   )r3   r   rL  subsuprN  rO  summandlowvarequalr`  s   &&         r8   rW  $MathMLPresentationPrinter._print_Sum  s~   ahh''5;;vay|,++fQil+((((.DHH33DOOA4FGHhh$$V,kk&)A,'&&t,$((11#67!7#37#xx%%f- **1::7Ma7PQRr;   c                	  a  V 3R  lpR pS P                  VP                  4      w  rVpV! V4      pV Uu. uF
  q! V4      NK  	  ppV U	u. uF
  q! V	4      NK  	  pp	S P                  P                  R4      p
V
P	                  S P                  P                  V4      4       \        V4      ^ 8X  dX   \        V4      ^ 8X  d   T
pMS P                  P                  R4      pVP	                  V
4       VP	                  V! V4      4       M\        V4      ^ 8X  dE   S P                  P                  R4      pVP	                  V
4       VP	                  V! V4      4       MZS P                  P                  R4      pVP	                  V
4       VP	                  V! V4      4       VP	                  V! V4      4       VR8X  d   VP                  RR4       V# u upi u up	i )c                  < \        V 4      ^8  d   SP                  P                  R4      p\        V 4       F  w  r#V^ 8  dW   SP                  P                  R4      pVP	                  SP                  P                  R4      4       VP	                  V4       SP                  P                  R4      pVP	                  SP                  P                  V4      4       VP	                  V4       K  	  V# SP                  P                  R4      pVP	                  SP                  P                  V ^ ,          4      4       V# )r   r`  rb  r[  rc  r]  r^  s   &     r8   rd  5MathMLPresentationPrinter._print_Symbol.<locals>.join  s    5zA~xx--f5(/GA1u!XX33D9txx'>'>s'CD((,//5BNN488#:#:4#@A$$R(  0 XX++D1txx66uQx@A	r;   c                H    V \         9   d   \         P                  ! V 4      # V # rE   rg  ri  s   &r8   r   :MathMLPresentationPrinter._print_Symbol.<locals>.translate  rl  r;   rc  rs  rt  ru  boldmathvariant)ra   r`   rF   r   r   rM   r   r(  )r3   rm  stylerd  r   r`   rn  ro  rp  rq  rr  r   s   f&&         r8   rv  'MathMLPresentationPrinter._print_Symbol  s{   	$	 "22388<d,23FS)C.F3*./$3	#$/&&t,$((11$78v;!4yA~HH**62e$d4j)4yA~HH**62e$d6l+HH**95e$d4j)d6l+F?NN=&13 4/s   GGc                	J    V P                  VV P                  R ,          R7      # )r    )r  )rv  r_   )r3   rm  s   &&r8   r  -MathMLPresentationPrinter._print_MatrixSymbol  s+    !!#(,7I(J " L 	Lr;   c                	    V P                   P                  R 4      pVP                  RR4       VP                  V P	                  VP
                  ^ ,          4      4       V# )menclosenotationtop)rF   r   r(  r   rS   r   )r3   rW   encs   && r8   _print_conjugate*MathMLPresentationPrinter._print_conjugate  sH    hh$$Z0U+DIIaL12
r;   c                	@   V P                   P                  R 4      pVP                  V P                  V\        R,          4      4       V P                   P                  R4      pVP                  V P                   P                  V4      4       VP                  V4       V# )r`  Funcrb  )rF   r   r   r"  r   rM   )r3   oprW   rowrb  s   &&&  r8   _print_operator_after/MathMLPresentationPrinter._print_operator_after  st    hh$$V,))$
60BCDXX##D)
txx..r23
r;   c                	H    V P                  R VP                  ^ ,          4      # )!r  r   r3   rW   s   &&r8   _print_factorial*MathMLPresentationPrinter._print_factorial   s    ))#tyy|<<r;   c                	H    V P                  R VP                  ^ ,          4      # )z!!r  r  s   &&r8   _print_factorial2+MathMLPresentationPrinter._print_factorial2#  s    ))$		!==r;   c                	   V P                   P                  R 4      pVP                  RR4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V P	                  VP
                  ^,          4      4       V P                   P                  R4      pVP                  V P                  4       4       VP                  V4       VP                  V P                  4       4       V# )r&  linethickness0r`  )rF   r   r(  r   rS   r   r  r   )r3   rW   r)  bracs   &&  r8   _print_binomial)MathMLPresentationPrinter._print_binomial&  s    xx%%g./3/TYYq\23TYYq\23xx%%f-))r;   c                	r
   VP                   P                  '       Ed   \        VP                   P                  4      ^8X  Ed   VP                   P                  ^8w  Edz   V P
                  R,          '       Ed`   VP                   P                  ^8X  dF   V P                  P                  R4      pVP                  V P                  VP                  4      4       VP                   P                  ^8w  dz   V P                  P                  R4      pVP                  V P                  VP                  4      4       VP                  V P                  VP                   P                  4      4       VP                   P                  R8X  dO   V P                  P                  R4      pVP                  V P                  ^4      4       VP                  X4       V# X# VP                   P                  '       Ed   VP                   P                  ^8w  Ed   VP                   P                  '       d   V P                  P                  R4      pVP                  V P                  ^4      4       V P                  P                  R4      pVP                  V P                  VP                  \        R,          4      4       VP                  V P                  VP                   ) V P
                  R,          4      4       VP                  V4       V# V P                  P                  R4      pVP                  V P                  VP                  \        R,          4      4       VP                  V P                  VP                   V P
                  R,          4      4       V# VP                   P                  '       Ed   V P                  P                  R4      pVP                  V P                  ^4      4       VP                   R8X  d-   VP                  V P                  VP                  4      4       V# V P                  P                  R4      pVP                  V P                  VP                  \        R,          4      4       VP                  V P                  VP                   ) 4      4       VP                  V4       V# V P                  P                  R4      pVP                  V P                  VP                  \        R,          4      4       VP                  V P                  VP                   4      4       V# )	r   r#   msqrtmrootr&  rt  rr   r   r   )rz  r{  ry   r  r
  r_   rF   r   r   rS   r|  is_negativer"  r   r>  )r3   r   r   r)  r  s   &&   r8   r  $MathMLPresentationPrinter._print_Pow1  s{    EE#aeegg,!"31//uuww!|HH**73dkk!&&12uuww!|HH**73dkk!&&12dkk!%%''23uuww"}xx--g6  Q0  #55Auu   hh,,W5A/HH**62d//
58IJKd88!%%$(NN3E$FH I"
HH**62d//
58IJKd88$(NN3E$FH I55hh,,W5A/55B;OODKK$78 
	 ..v6AMM$"3"3AFFJu<M"NOMM$++quuf"56OOA&
HH""6*	d''
50ABC	dkk!%%()r;   c                	    V P                   P                  V P                  V4      4      pVP                  V P                   P	                  \        V4      4      4       V# rE   r  r%  s   && r8   r  'MathMLPresentationPrinter._print_Numberg  r  r;   c                	z   V P                   P                  R 4      pVP                  V P                   P                  R4      4       V P                   P                  R 4      pVP                  V P                   P                  R4      4       V P                   P                  R4      pVP                  V4       VP                  V P	                  VP
                  4      4       VP                  V P                  4       4       VP                  V P	                  VP                  4      4       VP                  V4       V# )rb     ⟨   ⟩r`  )rF   r   r   rM   rS   rw   r  ru   )r3   r   r9  r:  r  s   &&   r8   _print_AccumulationBounds3MathMLPresentationPrinter._print_AccumulationBoundsl  s    xx%%d+00:;&&t,$((11(;<xx%%f-QUU+,'QUU+,r;   c                	J   \        VP                  4      '       d   R pMV P                  V4      pV P                  P	                  R4      p^ p\        VP                  4       EF  w  rVWF,          pV^8  d   V P                  P	                  R4      pV P                  P	                  R4      pVP                  V P                  P                  V4      4       VP                  V4       VP                  V P                  V4      4       MEV P                  P	                  R4      pVP                  V P                  P                  V4      4       VP                  V4       V P                  V4      p	VP                  V	4       EK"  	  V P                  P	                  R4      p
V^8  d   V P                  P	                  R4      pV P                  P	                  R4      pVP                  V P                  P                  V4      4       VP                  V4       VP                  V P                  V4      4       MEV P                  P	                  R4      pVP                  V P                  P                  V4      4       V
P                  V4       V P                  P	                  R4      pV P                  P	                  R4      pVP                  V
4       VP                  V4       VP                  V4       VP                  V P                  VP                  4      4       V# )z&#x2202;r`  rt  rb  r&  )
r	   rW   r   rF   r   r  r  r   rM   rS   )r3   r   rz  r  dimrm  numr   xxr+  mnumr`  r)  s   &&           r8   r  +MathMLPresentationPrinter._print_Derivativey  sO   AFF##A"A HH""6* !1!12HCJCaxHH**62XX++D1txx66q9:b!dkk#./HH**40dhh55a89MM!C AMM! 3 xx%%f-!8&&v.A''-BNN48822156MM"MM$++c*+&&t,AMM$((11!45xx%%f-xx%%g. 	QVV,-r;   c                	   V P                   P                  R 4      pV P                  V4      R8X  dE   V P                  R,          '       d,   VP	                  V P                   P                  R4      4       M9VP	                  V P                   P                  V P                  V4      4      4       V P                   P                  R4      pVP	                  V4       VP	                  V P                  ! VP                  !  4       V# )rc  r   r   r   r`  )rF   r   r   r_   r   rM   r  r   )r3   r   r   r`  s   &&  r8   r  )MathMLPresentationPrinter._print_Function  s    HH""4(??1&4>>-+H+HMM$((11$78MM$((11$//!2DEFxx%%f-44aff=>r;   c                	   \        VP                  4      p\        VP                  VR R7      pV P                  R,          pV P
                  P                  R4      pRV9   Ed   VP                  R4      w  rgV^ ,          R8X  d
   VR,          pV P
                  P                  R4      pVP                  V P
                  P                  V4      4       VP                  V4       V P
                  P                  R4      p	V	P                  V P
                  P                  V4      4       VP                  V	4       V P
                  P                  R	4      p
V P
                  P                  R4      pVP                  V P
                  P                  R
4      4       V
P                  V4       V P
                  P                  R4      pVP                  V P
                  P                  V4      4       V
P                  V4       VP                  V
4       V# VR8X  d   V P                  R4      # VR8X  d   V P                  R4      # V P
                  P                  R4      pVP                  V P
                  P                  V4      4       V# )T)strip_zerosr%   r`  r   r1  r   r  rb  rt  10z+infNz-inf)r   r  r  r  r_   rF   r   splitr   rM   r2  rF  )r3   rW   dpsstr_real	separatorr`  mantrz  r  rb  rt  s   &&         r8   r  &MathMLPresentationPrinter._print_Float  s   $**%tzz3DA NN#>?	xx%%f-(?"..-KT1v}"g''-BNN48822489R ''-BNN488229=>R 88))&1D''-BNN48822489R ''-BNN48822378R T"K''--//55''-BNN488228<=Ir;   c                	   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V4       V P                   P                  R 4      pVP                  V P                  4       4       VP                  V P	                  VP
                  ^,          4      4       VP                  V P                  4       4       VP                  V4       V# )r`  rs  rc  Li)rF   r   r   rM   rS   r   r  r   )r3   rW   r`  r  rc  r  s   &&    r8   _print_polylog(MathMLPresentationPrinter._print_polylog  s    xx%%f-HH""6*XX##D)
txx..t45	b	dkk$))A,/0xx%%f-)TYYq\23)r;   c                	X   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  V P	                  V4      4      4       VP                  V4       VP                  V P
                  ! VP                  !  4       V# r`  rc  )rF   r   r   rM   r   r  r   )r3   r   r`  rc  s   &&  r8   r  &MathMLPresentationPrinter._print_Basic  s~    xx%%f-XX##D)
txx..tq/ABC44aff=>r;   c                	6    V P                   ! VP                  !  # rE   )r  r   r  s   &&r8   _print_Tuple&MathMLPresentationPrinter._print_Tuple  s    **AFF33r;   c                	n   V P                   P                  R 4      pVP                  '       d,   VP                  V P                   P	                  R4      4       M*VP                  V P                   P	                  R4      4       V P                   P                  R 4      pVP
                  '       d,   VP                  V P                   P	                  R4      4       M*VP                  V P                   P	                  R4      4       V P                   P                  R4      pVP                  V4       VP                  V P                  VP                  4      4       VP                  V P                  4       4       VP                  V P                  VP                  4      4       VP                  V4       V# )rb  r  r7  r  r   r`  )
rF   r   
right_openr   rM   	left_openrS   startr  end)r3   r   r:  r9  r`  s   &&   r8   _print_Interval)MathMLPresentationPrinter._print_Interval  s/   &&t,<<<dhh55c:;dhh55c:;xx%%d+;;;TXX44S9:TXX44S9:xx%%f-QWW-.'QUU+,r;   c                	   V P                   P                  R 4      pVP                  V P                  4       4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V P                  4       4       V# r  )rF   r   r   r  rS   r   )r3   rW   rz  r`  s   &&& r8   
_print_Abs$MathMLPresentationPrinter._print_Abs	  sb    xx%%f-%TYYq\23%r;   c                	   V P                   P                  R 4      pVP                  V P                  4       4       VP                  V P	                  V4      4       VP                  V P                  4       4       V P                   P                  R4      pVP                  V P                   P                  V4      4       V P                   P                  R 4      pVP                  V4       VP                  V4       V# r  )rF   r   r   r  rS   r   rM   )r3   r   rW   r  rc  r`  s   &&&   r8   _print_re_im&MathMLPresentationPrinter._print_re_im  s    xx%%f-)T*+)XX##D)
txx..q12xx%%f-r;   c                	H    V P                  R VP                  ^ ,          4      # )u   ℜr  r   r3   rW   rz  s   &&&r8   	_print_re#MathMLPresentationPrinter._print_re        499Q<88r;   c                	H    V P                  R VP                  ^ ,          4      # )u   ℑr  r  s   &&&r8   	_print_im#MathMLPresentationPrinter._print_im!  r  r;   c                	l   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  V P	                  V4      4      4       VP                  V4       VP
                   F#  pVP                  V P                  V4      4       K%  	  V# r  )rF   r   r   rM   r   r   rS   )r3   r   r`  rc  r   s   &&   r8   r  (MathMLPresentationPrinter._print_AssocOp$  s    xx%%f-XX##D)
txx..tq/ABC66CT[[-. r;   c                	   V P                   P                  R 4      pVP                  V P                  VP                  ^ ,          V4      4       VP                  R,           F{  pV P                   P                  R4      pVP                  V P                   P                  V4      4       V P                  WS4      pVP                  V4       VP                  V4       K}  	  V# r`  r   rb  )rF   r   r   r"  r   rM   )r3   rW   symbolprecr`  r   r   r+  s   &&&&    r8   _print_SetOp&MathMLPresentationPrinter._print_SetOp-  s    xx%%f-**499Q<>?99R==C&&t,AMM$((11&9:!!#,AQQ ! r;   c                	B    \         R ,          pV P                  VRV4      # )r   z&#x222A;r   r  r3   rW   r  s   && r8   _print_Union&MathMLPresentationPrinter._print_Union8  s!    %g.  z488r;   c                	B    \         R ,          pV P                  VRV4      # )r   z&#x2229;r  r  s   && r8   _print_Intersection-MathMLPresentationPrinter._print_Intersection<  s!    %n5  z488r;   c                	B    \         R ,          pV P                  VRV4      # )
Complementz&#x2216;r  r  s   && r8   r  +MathMLPresentationPrinter._print_Complement@  !    %l3  z488r;   c                	B    \         R ,          pV P                  VRV4      # )SymmetricDifference&#x2206;r  r  s   && r8   _print_SymmetricDifference4MathMLPresentationPrinter._print_SymmetricDifferenceD  s"    %&;<  z488r;   c                	B    \         R ,          pV P                  VRV4      # )
ProductSetz&#x00d7;r  r  s   && r8   r  +MathMLPresentationPrinter._print_ProductSetH  r  r;   c                	8    V P                  VP                  4      # rE   )
_print_setr   )r3   rj  s   &&r8   r  *MathMLPresentationPrinter._print_FiniteSetL  s    qvv&&r;   c                	   \        V\        R 7      pV P                  P                  R4      pVP	                  V P                  4       4       \        V4       FL  w  rEV'       d    VP	                  V P                  4       4       VP	                  V P                  V4      4       KN  	  VP	                  V P                  4       4       V# )keyr`  )
sortedr   rF   r   r   r  r   r  rS   r  )r3   rj  r_  r  r   ra  s   &&    r8   r  $MathMLPresentationPrinter._print_setO  s    q./xx%%f-) 'GA  /T[[./ ( 	)r;   c                	b   V P                   P                  R 4      pV^ ,          P                  '       d   V^ ,          P                  '       g   V P                   P                  R 4      pVP	                  V P                  4       4       VP	                  V P                  V^ ,          4      4       VP	                  V P                  4       4       VP	                  V4       M'VP	                  V P                  V^ ,          4      4       VR,           EF  pV P                   P                  R4      pVP	                  V P                   P                  V4      4       VP                  '       d   VP                  '       g{   V P                   P                  R 4      pVP	                  V P                  4       4       VP	                  V P                  V4      4       VP	                  V P                  4       4       MV P                  V4      pVP	                  V4       VP	                  V4       EK  	  V# r  )	rF   r   
is_Booleanis_Notr   r  rS   r   rM   )r3   r   r  r`  r  r   r   r+  s   &&&     r8   _print_LogOp&MathMLPresentationPrinter._print_LogOp\  s   xx%%f-7d1gnnn88))&1DT]]_-T[[a12T]]_-T"T[[a1288C&&t,AMM$((11&9:~~~cjjjHH**62dmmo.dkk#./dmmo.KK$QQ  r;   c                	   ^ RI Hp WP                  8X  d   V P                  VP                  4      # \	        W4      '       d    VP                  4       P                  4       pM^ V3.pV P                  P                  R4      pV EF  w  rV\        VP                  P                  4       4      pVP                  R R7       \        V4       EFn  w  pw  rV
^8X  d   V'       dW   V P                  P                  R4      pVP                  V P                  P                  R4      4       VP                  V4       VP                  V P                  V	4      4       K  V
R	8X  dz   V P                  P                  R4      pVP                  V P                  P                  R4      4       VP                  V4       VP                  V P                  V	4      4       EK  V'       dW   V P                  P                  R4      pVP                  V P                  P                  R4      4       VP                  V4       V P                  P                  R4      pVP                  V P                  4       4       VP                  V P                  V
4      4       VP                  V P!                  4       4       VP                  V4       V P                  P                  R4      pVP                  V P                  P                  R4      4       VP                  V4       VP                  V P                  V	4      4       EKq  	  EK  	  V# )
r*   )Vectorr`  c                0    V ^ ,          P                  4       # )r*   )__str__)r   s   &r8   <lambda>AMathMLPresentationPrinter._print_BasisDependent.<locals>.<lambda>  s    1Q4<<>r;   r  rb  r1  r.  r  r   )sympy.vectorr  zerorS   r  separater_  rF   r   rR  
componentssortr   r   rM   r  r   )r3   rW   r  r_  r`  systemvect
inneritemsr   kvrb  mbracs   &&           r8   _print_BasisDependent/MathMLPresentationPrinter._print_BasisDependentt  sY   '99;;tyy))d##MMO))+EYKExx%%f-!LFdoo3356JOO"9O:&z2	6A6!XX33D9txx'>'>s'CD((,$$T[[^4"W//5BNN488#:#:3#?@$$R($$T[[^4!XX33D9txx'>'>s'CD((, HH226:E%%dmmo6%%dkk!n5%%dmmo6$$U+//5BNN488#:#:;M#NO$$R($$T[[^43 3 ": r;   c                	\    \        VP                  \        R 7      pV P                  VR4      # )r  z&#x2227;r
  r   r   r  r3   rW   r   s   && r8   
_print_And$MathMLPresentationPrinter._print_And  &    dii%56  z22r;   c                	\    \        VP                  \        R 7      pV P                  VR4      # )r  z&#x2228;r%  r&  s   && r8   	_print_Or#MathMLPresentationPrinter._print_Or  r)  r;   c                	\    \        VP                  \        R 7      pV P                  VR4      # )r  z&#x22BB;r%  r&  s   && r8   r  $MathMLPresentationPrinter._print_Xor  r)  r;   c                	:    V P                  VP                  R 4      # )z&#x21D2;)r  r   r  s   &&r8   r  (MathMLPresentationPrinter._print_Implies  s      J77r;   c                	\    \        VP                  \        R 7      pV P                  VR4      # )r  z&#x21D4;r%  r&  s   && r8   _print_Equivalent+MathMLPresentationPrinter._print_Equivalent  r)  r;   c                	   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  ^ ,          P
                  '       d   V P                   P                  R 4      pVP                  V P                  4       4       VP                  V P                  VP                  ^ ,          4      4       VP                  V P                  4       4       M"V P                  VP                  ^ ,          4      pVP                  V4       V# )r`  rb  z&#xAC;)	rF   r   r   rM   r   r  r  rS   r   )r3   r   r`  rb  r   s   &&   r8   r  $MathMLPresentationPrinter._print_Not  s    xx%%f-XX##D)
txx..x89FF1I   &&v.AMM$--/*MM$++affQi01MM$--/*AFF1I&Ar;   c                	    V P                   P                  R 4      pVP                  V P                   P                  V P	                  V4      4      4       V# rc  rF   r   r   rM   r   r3   r   rc  s   && r8   _print_bool%MathMLPresentationPrinter._print_bool  ?    XX##D)
txx..tq/ABC	r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  V P	                  V4      4      4       V# r7  r8  r9  s   && r8   _print_NoneType)MathMLPresentationPrinter._print_NoneType  r<  r;   c                	~   R pVP                   P                  '       dI   VP                  P                  '       d-   VP                  P                  '       d	   VR^ ^V3pMV^^ RV3pMVP                   P                  '       d%   W!R,          VP                  ,
          VR,          3pMVP                  P                  '       d$   \        V4      p\        V4      \        V4      V3pME\        V4      ^8  d+   \        V4      p\        V4      \        V4      W!R,          3pM\        V4      pV P                  P                  R4      pVP                  V P                  4       4       \        V4       F  w  rgV'       d    VP                  V P                  4       4       Wr8X  dY   V P                  P                  R4      pVP                  V P                  P                  V4      4       VP                  V4       K  VP                  V P!                  V4      4       K  	  VP                  V P#                  4       4       V# )u   …r`  rc  r   )r  is_infinitestopstepis_positiveiternextr   tuplerF   r   r   r  r   r  rM   rS   r  )	r3   rj  dotsprintsetitr  r   elrc  s	   &&       r8   _print_Range&MathMLPresentationPrinter._print_Range  s   77166#5#5#5vv!!!Q4/Ar4/WW   rUQVV^QrU2HVVaBBxb4/HVaZaBBxb426HQxHxx%%f-)x(EA  /zXX++D1txx66t<=  $  R1 ) 	)r;   c                	   \        VP                  \        R 7      pV P                  P	                  R4      pV P                  P	                  R4      pVP                  V P                  P                  \        VP                  4      P                  4       4      4       VP                  V4       VP                  V P                  ! V!  4       V# )r  r`  rb  )r
  r   r   rF   r   r   rM   r  funcr   r  )r3   rW   r   r`  rb  s   &&   r8   _hprint_variadic_function3MathMLPresentationPrinter._hprint_variadic_function  s    dii%56xx%%f-XX##D)
txx..DII/E/E/GHI44d;<r;   c                	    V P                   P                  R 4      pVP                  V P                  R4      4       VP                  V P	                  VP
                  ^ ,          4      4       V# )rt  N)rF   r   r   r*  rS   r   )r3   rW   rt  s   && r8   
_print_exp$MathMLPresentationPrinter._print_exp  sS    xx%%f-))$/0TYYq\23r;   c                	   V P                   P                  R 4      pVP                  V P                  VP                  4      4       V P                   P                  R4      pVP                  V P                   P                  V P                  V4      4      4       VP                  V4       VP                  V P                  VP                  4      4       V# )r`  rb  )rF   r   r   rS   r  rM   r   r  )r3   r   r`  r   s   &&  r8   r  +MathMLPresentationPrinter._print_Relational  s    xx%%f-QUU+,HH""4(	dhh--dooa.@ABQUU+,r;   c                	    V P                   P                  V P                  V4      4      pVP                  V P                   P	                  \        V4      4      4       V# rE   r  r  s   && r8   r  $MathMLPresentationPrinter._print_int  r  r;   c                	.   V P                   P                  R 4      pVP                  w  r4V P                   P                  R4      pVP                  RR4       VP	                  V P                   P                  VP                  V,          4      4       VP	                  V4       V P                   P                  R4      pVP                  RR4       VP	                  V P                   P                  VP                  4      4       VP	                  V4       V# )rs  rc  r  r  )rF   r   _idr(  r   rM   _variable_names_name)r3   r   rs  indexr  rc  s   &&    r8   _print_BaseScalar+MathMLPresentationPrinter._print_BaseScalar  s    xx%%f-XX##D)
v.
txx..v/E/Ee/LMNXX##D)
v.
txx..v||<=r;   c                	2   V P                   P                  R 4      pVP                  w  r4V P                   P                  R4      pV P                   P                  R4      pVP                  RR4       VP	                  V P                   P                  VP                  V,          4      4       VP	                  V4       V P                   P                  R4      pVP	                  V P                   P                  R4      4       VP	                  V4       VP	                  V4       V P                   P                  R4      pVP                  RR4       VP	                  V P                   P                  VP                  4      4       VP	                  V4       V# )rs  moverrc  r  r  rb  ^)rF   r   rZ  r(  r   rM   _vector_namesr\  )r3   r   rs  r]  r  ra  rc  rb  s   &&      r8   _print_BaseVector+MathMLPresentationPrinter._print_BaseVector  s*   xx%%f-&&w/XX##D)
v.
txx..v/C/CE/JKL"XX##D)
txx..s34"XX##D)
v.
txx..v||<=r;   c                	   V P                   P                  R 4      pV P                   P                  R4      pVP                  RR4       VP                  V P                   P	                  R4      4       VP                  V4       V P                   P                  R4      pVP                  V P                   P	                  R4      4       VP                  V4       V# )ra  rc  r  r  r  rb  rb  rF   r   r(  r   rM   )r3   r   ra  rc  rb  s   &&   r8   _print_VectorZero+MathMLPresentationPrinter._print_VectorZero,  s    &&w/XX##D)
v.
txx..s34"XX##D)
txx..s34"r;   c                	   V P                   P                  R 4      pVP                  pVP                  pVP	                  V P                  V\        R,          4      4       V P                   P                  R4      pVP	                  V P                   P                  R4      4       VP	                  V4       VP	                  V P                  V\        R,          4      4       V# )r`  r   rb  r  rF   r   _expr1_expr2r   r"  r   rM   r3   rW   r`  vec1vec2rb  s   &&    r8   _print_Cross&MathMLPresentationPrinter._print_Cross7      xx%%f-{{{{**4E1BCDXX##D)
txx..x89**4E1BCDr;   c                	    V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       V P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  \        R,          4      4       V# )r`  rb  &#x2207;r  r   rF   r   r   rM   r"  _exprr   r3   rW   r`  rb  s   &&  r8   _print_Curl%MathMLPresentationPrinter._print_CurlB      xx%%f-XX##D)
txx..z:;XX##D)
txx..x89**4::z%7HIJr;   c                	    V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       V P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  \        R,          4      4       V# )r`  rb  ru  r&   r   rv  rx  s   &&  r8   _print_Divergence+MathMLPresentationPrinter._print_DivergenceM  r{  r;   c                	   V P                   P                  R 4      pVP                  pVP                  pVP	                  V P                  V\        R,          4      4       V P                   P                  R4      pVP	                  V P                   P                  R4      4       VP	                  V4       VP	                  V P                  V\        R,          4      4       V# )r`  r   rb  r&   rk  rn  s   &&    r8   
_print_Dot$MathMLPresentationPrinter._print_DotX  rs  r;   c                	T   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  \        R,          4      4       V# )r`  rb  ru  r   rv  rx  s   &&  r8   _print_Gradient)MathMLPresentationPrinter._print_Gradientc  |    xx%%f-XX##D)
txx..z:;**4::z%7HIJr;   c                	T   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  \        R,          4      4       V# )r`  rb  r  r   rv  rx  s   &&  r8   _print_Laplacian*MathMLPresentationPrinter._print_Laplaciank  r  r;   c                	    V P                   P                  R 4      pVP                  RR4       VP                  V P                   P	                  R4      4       V# )rc  r  normalz&#x2124;rg  r%  s   && r8   _print_Integers)MathMLPresentationPrinter._print_Integerss  D    HH""4(	}h/	dhh--j9:r;   c                	    V P                   P                  R 4      pVP                  RR4       VP                  V P                   P	                  R4      4       V# )rc  r  r  z&#x2102;rg  r%  s   && r8   _print_Complexes*MathMLPresentationPrinter._print_Complexesy  r  r;   c                	    V P                   P                  R 4      pVP                  RR4       VP                  V P                   P	                  R4      4       V# )rc  r  r  z&#x211D;rg  r%  s   && r8   _print_Reals&MathMLPresentationPrinter._print_Reals  r  r;   c                	    V P                   P                  R 4      pVP                  RR4       VP                  V P                   P	                  R4      4       V# )rc  r  r  &#x2115;rg  r%  s   && r8   _print_Naturals)MathMLPresentationPrinter._print_Naturals  r  r;   c                	h   V P                   P                  R 4      pV P                   P                  R4      pVP                  RR4       VP                  V P                   P	                  R4      4       VP                  V4       VP                  V P                  \        P                  4      4       V# )rs  rc  r  r  r  )rF   r   r(  r   rM   rS   r   Zero)r3   r   rq  r   s   &&  r8   _print_Naturals0*MathMLPresentationPrinter._print_Naturals0  s}    hh$$V,HH""4(	}h/	dhh--j9:AFF+,
r;   c                	   VP                   ^ ,          VP                   ^,          ,
          pVP                   ^,          pV P                  P                  R4      pVP                  V P                  P	                  R4      4       V P                  P                  R4      pVP                  V P                  P	                  R4      4       V P                  P                  R4      pVP                  V4       VP                  V P                  V4      4       VP                  V4       V P                  P                  R4      pVP                  V4       VP                  V P                  V4      4       V# )r*   rb  r  r  r`  rt  )r   rF   r   r   rM   rS   )r3   rW   shiftrs   r9  r:  r  rp  s   &&      r8   _print_SingularityFunction4MathMLPresentationPrinter._print_SingularityFunction  s   		!tyy|+		!xx%%d+00:;&&t,$((11(;<xx%%f-U+,hh$$V,E*+
r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  NaNr$  r%  s   && r8   r7  $MathMLPresentationPrinter._print_NaN  s6    HH""4(	dhh--e45r;   c                	:   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  V4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       \        VP
                  4      ^8X  d   V# V P                   P                  R4      pVP                  V4       VP                  V P                  ! VP
                  R,          !  4       V# )rs  rc  r`  r   )rF   r   r   rM   rS   r   r   r  )r3   r   r`   rq  rc  r`  s   &&&   r8   _print_number_function0MathMLPresentationPrinter._print_number_function  s     hh$$V,XX##D)
txx..t45AFF1I./qvv;!Jxx%%f-44affRjABr;   c                	&    V P                  VR 4      # )Br  r  s   &&r8   _print_bernoulli*MathMLPresentationPrinter._print_bernoulli      **1c22r;   c                	&    V P                  VR 4      # )r  r  r  s   &&r8   _print_catalan(MathMLPresentationPrinter._print_catalan  r  r;   c                	&    V P                  VR 4      # )Er  r  s   &&r8   _print_euler&MathMLPresentationPrinter._print_euler  r  r;   c                	&    V P                  VR 4      # )Fr  r  s   &&r8   _print_fibonacci*MathMLPresentationPrinter._print_fibonacci  r  r;   c                	&    V P                  VR 4      # )Lr  r  s   &&r8   _print_lucas&MathMLPresentationPrinter._print_lucas  r  r;   c                	&    V P                  VR 4      # )z&#x03B3;r  r  s   &&r8   _print_stieltjes*MathMLPresentationPrinter._print_stieltjes  s    **1j99r;   c                	&    V P                  VR 4      # )Tr  r  s   &&r8   _print_tribonacci+MathMLPresentationPrinter._print_tribonacci  r  r;   c                	   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       V P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       V# )ra  rb  rQ  ~r$  )r3   r   r   rb  s   &&  r8   _print_ComplexInfinity0MathMLPresentationPrinter._print_ComplexInfinity  s    HH""7+XX##D)
txx..z:;	bXX##D)
txx..s34	br;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rb  z&#x2205;r$  r%  s   && r8   r;  )MathMLPresentationPrinter._print_EmptySet  rS  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rb  z	&#x1D54C;r$  r%  s   && r8   _print_UniversalSet-MathMLPresentationPrinter._print_UniversalSet  6    HH""4(	dhh--k:;r;   c                	   ^ RI Hp VP                  pV P                  P	                  R4      p\        W24      '       g   V P                  P	                  R4      pVP                  V P                  4       4       VP                  V P                  V4      4       VP                  V P                  4       4       VP                  V4       M VP                  V P                  V4      4       V P                  P	                  R4      pVP                  V P                  P                  R4      4       VP                  V4       V# )r*   r   rt  r`  rb  r`  sympy.matricesr   r   rF   r   r  r   r  rS   r   rM   r3   rW   r   matrp  r  rb  s   &&     r8   _print_Adjoint(MathMLPresentationPrinter._print_Adjoint  s    /hhhh$$V,#,,88))&1DT]]_-T[[-.T]]_-OOD!OODKK,-XX##D)
txx..z:;
r;   c                	   ^ RI Hp VP                  pV P                  P	                  R4      p\        W24      '       g   V P                  P	                  R4      pVP                  V P                  4       4       VP                  V P                  V4      4       VP                  V P                  4       4       VP                  V4       M VP                  V P                  V4      4       V P                  P	                  R4      pVP                  V P                  P                  R4      4       VP                  V4       V# )r*   r  rt  r`  rb  r  r  r  s   &&     r8   _print_Transpose*MathMLPresentationPrinter._print_Transpose  s    /hhhh$$V,#,,88))&1DT]]_-T[[-.T]]_-OOD!OODKK,-XX##D)
txx..s34
r;   c                	   ^ RI Hp VP                  pV P                  P	                  R4      p\        W24      '       g   V P                  P	                  R4      pVP                  V P                  4       4       VP                  V P                  V4      4       VP                  V P                  4       4       VP                  V4       M VP                  V P                  V4      4       VP                  V P                  R4      4       V# )r*   r  rt  r`  r   )
r  r   r   rF   r   r  r   r  rS   r   )r3   rW   r   r  rp  r  s   &&    r8   _print_Inverse(MathMLPresentationPrinter._print_Inverse  s    /hhhh$$V,#,,88))&1DT]]_-T[[-.T]]_-OOD!OODKK,-B(
r;   c           	     	   ^ RI Hp V P                  P                  R4      pVP                  p\        V^ ,          \        4      '       d0   V^ ,          P                  4       \        VR,          4      ,           pM\        V4      p\        W4      '       d   VP                  4       '       d|   V^ ,          R	8X  d   VR,          pMV^ ,          ) V^ &   V P                  P                  R4      pVP                  V P                  P                  R4      4       VP                  V4       VRR	  F  pVP                  V P                  V\        V4      R4      4       V P                  P                  R4      pVP                  V P                  P                  R4      4       VP                  V4       K  	  VP                  V P                  VR	,          \        V4      R4      4       V# )
r*   )MatMulr`  r   rb  r.  NFr  r   )!sympy.matrices.expressions.matmulr  rF   r   r   r  r   r   rR  r   r   rM   r"  r
   )r3   rW   r  r   r   rb  r   s   &&     r8   _print_MatMul'MathMLPresentationPrinter._print_MatMul  su   <HH""6*yyd1gs##7--/$tBx.@D:Dd##(E(E(G(GAw"}Bx7(Q''-BNN48822378MM"9CMM$++C1G1M,13 4''-BNN488223EFGMM"  	
d''R2H2N(-/ 	0r;   c                	.   ^ RI Hp VP                  VP                  rCV P                  P                  R4      p\        W24      '       g   V P                  P                  R4      pVP                  V P                  4       4       VP                  V P                  V4      4       VP                  V P                  4       4       VP                  V4       M VP                  V P                  V4      4       VP                  V P                  V4      4       V# )r*   r  rt  r`  )r  r   r|  rz  rF   r   r  r   r  rS   r   )r3   rW   r   r|  rz  rp  r  s   &&     r8   _print_MatPow'MathMLPresentationPrinter._print_MatPow1  s    /IItxxchh$$V,$--88))&1DT]]_-T[[./T]]_-OOD!OODKK-.C()
r;   c           	     	   V P                   P                  R 4      pVP                  pVRR  F  pVP                  V P	                  V\        V4      R4      4       V P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       K  	  VP                  V P	                  VR,          \        V4      R4      4       V# )r`  NFrb  z&#x2218;r   )rF   r   r   r   r"  r
   rM   )r3   rW   r   r   r   rb  s   &&    r8   _print_HadamardProduct0MathMLPresentationPrinter._print_HadamardProduct@  s    HH""6*yy9CMM!!#'=d'CUKM''-BNN48822:>?MM"  	
d2h(>t(DeL	Nr;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )r  z&#x1D7D8r$  r3   Zr   s   && r8   _print_ZeroMatrix+MathMLPresentationPrinter._print_ZeroMatrixM  rS  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )r  z&#x1D7D9r$  r  s   && r8   _print_OneMatrix*MathMLPresentationPrinter._print_OneMatrixR  rS  r;   c                	    V P                   P                  R 4      pVP                  V P                   P                  R4      4       V# )rc  z	&#x1D540;r$  )r3   Ir   s   && r8   _print_Identity)MathMLPresentationPrinter._print_IdentityW  r  r;   c                	   V P                   P                  R 4      pVP                  V P                   P                  R4      4       V P                   P                  R 4      pVP                  V P                   P                  R4      4       V P                   P                  R4      pVP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V4       V# )rb  u   ⌊u   ⌋r`  rl  r3   r   r9  r:  r`  s   &&   r8   _print_floor&MathMLPresentationPrinter._print_floor\      xx%%d+00:;&&t,$((11(;<xx%%f-QVVAY/0r;   c                	   V P                   P                  R 4      pVP                  V P                   P                  R4      4       V P                   P                  R 4      pVP                  V P                   P                  R4      4       V P                   P                  R4      pVP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V4       V# )rb  u   ⌈u   ⌉r`  rl  r  s   &&   r8   _print_ceiling(MathMLPresentationPrinter._print_ceilingg  r  r;   c                	   V P                   P                  R 4      pVP                  ^ ,          p\        V4      ^8X  d   V P	                  V^ ,          4      pMV P	                  V4      pVP                  V P                  4       4       VP                  V4       V P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP                  ^,          4      4       VP                  V P                  4       4       V# )r`  rb  z&#x21A6;)	rF   r   r   r   rS   r   r  rM   r   )r3   r   r`  symbolsrb  s   &&   r8   r  'MathMLPresentationPrinter._print_Lambdar  s    xx%%f-&&)w<1kk'!*-Gkk'*G)!XX##D)
txx..z:;QVVAY/0)r;   c                	"    V P                   ! V!  # rE   )r  r  s   &&r8   _print_tuple&MathMLPresentationPrinter._print_tuple  s    **A..r;   c                	8    V P                  VP                  4      # rE   )rS   labelr  s   &&r8   _print_IndexedBase,MathMLPresentationPrinter._print_IndexedBase  s    {{177##r;   c                	~   V P                   P                  R 4      pVP                  V P                  VP                  4      4       \        VP                  4      ^8X  d4   VP                  V P                  VP                  ^ ,          4      4       V# VP                  V P                  VP                  4      4       V# )rs  )rF   r   r   rS   r|  r   indicesr%  s   && r8   _print_Indexed(MathMLPresentationPrinter._print_Indexed  s    HH""6*	dkk!&&)*qyy>QMM$++aiil34H	dkk!)),-r;   c                	   V P                   P                  R 4      pVP                  V P                  VP                  \
        R,          RR7      4       V P                   P                  R4      p\        VP                  4       FL  w  rEV'       d    VP                  V P                  4       4       VP                  V P                  V4      4       KN  	  VP                  V4       V# )rs  AtomTrw  r`  )
rF   r   r   r"  parentr   r   r  r  rS   )r3   r   r   r  r   r   s   &&    r8   _print_MatrixElement.MathMLPresentationPrinter._print_MatrixElement  s    HH""6*	d''*V2Dt'TUxx%%f-		*FA  /T[[-. + 	
dr;   c                	:   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P                  ! VP
                  !  4       V# )r`  rc  z	&#x1d5a5;rF   r   r   rM   r  r   r3   r   r   rc  s   &&  r8   _print_elliptic_f+MathMLPresentationPrinter._print_elliptic_f  q    HH""6*XX##D)
txx..{;<	b	d//89r;   c                	:   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P                  ! VP
                  !  4       V# )r`  rc  z	&#x1d5a4;r  r  s   &&  r8   _print_elliptic_e+MathMLPresentationPrinter._print_elliptic_e  r  r;   c                	&   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       V P                   P                  R 4      pVP                  V P	                  4       4       \        VP                  4      ^8X  do   VP                  w  rVVP                  V P                  V4      4       VP                  V P                  4       4       VP                  V P                  V4      4       MVP                  w  rVpVP                  V P                  V4      4       VP                  V P                  4       4       VP                  V P                  V4      4       VP                  V P                  4       4       VP                  V P                  V4      4       VP                  V P                  4       4       VP                  V4       V# )r`  rc  z	&#x1d6f1;)rF   r   r   rM   r  r   r   rS   r  r  r   )r3   r   r   rc  r+  r   r  zs   &&      r8   _print_elliptic_pi,MathMLPresentationPrinter._print_elliptic_pi  s]   HH""6*XX##D)
txx..{;<	bHH""6*	dmmo&qvv;!66DAMM$++a.)MM$))+&MM$++a.)ffGA!MM$++a.)MM$//+,MM$++a.)MM$))+&MM$++a.)	dmmo&	ar;   c                	<   V P                   P                  R 4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  4      4       V# )r`  rc  Eirl  r  s   &&  r8   	_print_Ei#MathMLPresentationPrinter._print_Ei  so    HH""6*XX##D)
txx..t45	b	dkk!&&)*r;   c                	   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V4       VP                  V P	                  VP
                  R,          4      4       V# )r`  rs  rb  r  r   rl  r3   r   r   r+  rb  s   &&   r8   _print_expint'MathMLPresentationPrinter._print_expint      HH""6*HH""6*XX##D)
txx..s34	b	dkk!&&),-	a	dkk!&&*-.r;   c                	f   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V P	                  VP
                  R,          4      4       VP                  V4       VP                  V P	                  VP
                  R,          4      4       V# )r`  ru  rb  P:r      N:r$  NNrl  r  s   &&   r8   _print_jacobi'MathMLPresentationPrinter._print_jacobi      HH""6*HH""9-XX##D)
txx..s34	b	dkk!&&),-	dkk!&&+./	a	dkk!&&*-.r;   c                	f   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V P	                  VP
                  R,          4      4       VP                  V4       VP                  V P	                  VP
                  R,          4      4       V# )r`  ru  rb  r  r      Nr*  NNrl  r  s   &&   r8   _print_gegenbauer+MathMLPresentationPrinter._print_gegenbauer  r'  r;   c                	   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V4       VP                  V P	                  VP
                  R,          4      4       V# )r`  rs  rb  r  r   rl  r  s   &&   r8   _print_chebyshevt+MathMLPresentationPrinter._print_chebyshevt  r!  r;   c                	   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V4       VP                  V P	                  VP
                  R,          4      4       V# )r`  rs  rb  Ur   rl  r  s   &&   r8   _print_chebyshevu+MathMLPresentationPrinter._print_chebyshevu  r!  r;   c                	   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V4       VP                  V P	                  VP
                  R,          4      4       V# )r`  rs  rb  r#  r   rl  r  s   &&   r8   _print_legendre)MathMLPresentationPrinter._print_legendre  r!  r;   c                	f   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V P	                  VP
                  R,          4      4       VP                  V4       VP                  V P	                  VP
                  R,          4      4       V# )r`  ru  rb  r#  r)  r+  rl  r  s   &&   r8   _print_assoc_legendre/MathMLPresentationPrinter._print_assoc_legendre  r'  r;   c                	   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V4       VP                  V P	                  VP
                  R,          4      4       V# )r`  rs  rb  r  r   rl  r  s   &&   r8   _print_laguerre)MathMLPresentationPrinter._print_laguerre  r!  r;   c                	f   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V P	                  VP
                  R,          4      4       VP                  V4       VP                  V P	                  VP
                  R,          4      4       V# )r`  ru  rb  r  r)  r+  rl  r  s   &&   r8   _print_assoc_laguerre/MathMLPresentationPrinter._print_assoc_laguerre&  r'  r;   c                	   V P                   P                  R 4      pV P                   P                  R4      pV P                   P                  R4      pVP                  V P                   P                  R4      4       VP                  V4       VP                  V P	                  VP
                  ^ ,          4      4       VP                  V4       VP                  V P	                  VP
                  R,          4      4       V# )r`  rs  rb  Hr   rl  r  s   &&   r8   _print_hermite(MathMLPresentationPrinter._print_hermite2  r!  r;   r<   )FrE   )r!   )r>   r?   r@   rA   rc   r  r   r  r   r  r  r  r  r  r  r  r"  r   r   r  r>  r  r  r  r&  r*  r.  r2  rF  rW  r!  r]  rc  rf  ri  rm  rp  rT  rW  rv  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  _print_Determinantr  r  r  r  r  r  r  r  r  r  r  r  _print_frozensetr  r"  r'  r+  r  r  r2  r  r:  r?  rC  r>  rL  rP  
_print_Min
_print_MaxrS  r  r  r^  rd  rh  rq  ry  r}  r  r  r  r  r  r  r  r  r  r7  r  r  _print_bellr  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/  r3  r6  r9  r<  r?  rC  rB   r<   r;   r8   r  r  #  s    )KKZ






!-^(4(P,








$L24lL (=>	4l
.`	%N 4& $
99	99999'	 "0)X33383
 %%
> 87J
$					 
3 #K3333:3

"":


		 /$	.	

			
	
	r;   r  c                x    VR8X  d   \        V4      P                  V 4      # \        V4      P                  V 4      # )zReturns the MathML representation of expr. If printer is presentation
then prints Presentation MathML else prints content MathML.
presentation)r  r\   rf   )rW   printerrN   s   &&,r8   mathmlrM  >  s8    
 . (2::4@@#H-55d;;r;   c                    VR8X  d   \        V4      pM\        V4      pVP                  \        V 4      4      pVP	                  4       p\        V4       R# )a  
Prints a pretty representation of the MathML code for expr. If printer is
presentation then prints Presentation MathML else prints content MathML.

Examples
========

>>> ##
>>> from sympy import print_mathml
>>> from sympy.abc import x
>>> print_mathml(x+1) #doctest: +NORMALIZE_WHITESPACE
<apply>
    <plus/>
    <ci>x</ci>
    <cn>1</cn>
</apply>
>>> print_mathml(x+1, printer='presentation')
<mrow>
    <mi>x</mi>
    <mo>+</mo>
    <mn>1</mn>
</mrow>

rK  N)r  rf   rS   r   toprettyxmlprint)rW   rL  rN   rj  xml
pretty_xmls   &&,   r8   print_mathmlrS  I  sF    2 . %h/ *
((74=
!C"J	*r;   N)content)$rc   
__future__r   typingr   sympy.core.mulr   sympy.core.singletonr   sympy.core.sortingr   sympy.core.sympifyr   sympy.printing.conventionsr   r	   sympy.printing.precedencer
   r   r   &sympy.printing.pretty.pretty_symbologyr   sympy.printing.printerr   r   mpmath.libmpr   r   r   r  r   rf   r  rM  rS  MathMLPrinterr<   r;   r8   <module>ra     s    #   " / & H? ? @ : E E<) <)~J, J^X 1 Xv0 !"< #< H %r;   