
    Rie[                     6   d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
 d dlmZ d dlmZmZmZmZ d dlmZmZmZmZmZmZmZmZmZmZ d dlmZmZm Z m!Z!m"Z"m#Z#m$Z$ d d	l%m&Z& d d
l'm(Z( d dl)m*Z* d dl+m,Z,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dlm9Z9 d dlm:Z: d dl;m<Z<  e<d          Z=h dZ>g dfdZ?d Z@d ZAd ZBd ZCd ZDd ZEd ZFd ZGd  ZHd! ZId" ZJed#             ZKd$ ZLd% ZMd& ZNd d'lOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZ d( Zd d)lmZ d d*lmZ d d+lmZmZ d d,lmZmZmZmZ d d-lmZmZmZ d. Zd d/lmZ d0 Zd d1lmZ d2 Zd d3lmZmZ d4 Zd d5lmZ d6 Zd d7lmZ d d8lmZ d9 Zed:             Zed;             Zd d<lmZ d d=lmZ d d>lmZ d d?lmZ d@ ZdA ZedB             ZdC ZdD ZdE ZdF ZdG ZdH ZdI Zd dJlmZ d dKlmZmZ d dLlmZ d dMlmZmZ d dNlmZ d dOlmZ dP ZedQ             ZedR             ZedS             Zd dTlmZ d dUlmZ dV Zd dWlmZ d dXlmZ dY ZdZ Zd[ Zd\ ZdS )]    N)meter)XFAILraises)AtomBasic)SingletonRegistry)StrDummySymbolWild)
EIpioozoonanIntegerRationalFloatAlgebraicNumber)EqualityGreaterThanLessThan
RelationalStrictGreaterThanStrictLessThan
Unequality)Add)Mul)Pow)
DerivativeFunctionFunctionClassLambdaWildFunction)Interval)	vectorize)HAS_GMPY)SymPyDeprecationWarning)S)symbols)import_modulecloudpickle>   _mat_smat_mhashis_EmptySet_assumptionsexpr_free_symbolsTc                     t           t                    rdD ]t          t           fd           dt          j        t          j        ddg}t          r|                    t          g           |D ]|v rt                    r"t           t                    r,            }ndt          j                  r)                                                             }n't          j        t          j                             }t                     }t          |          }t!          |          t!          |          k    sJ |s߈fd} | ||            || |           dS )z2 Check that pickling and copying round-trips.
    )r      c                  .    t          j                   S N)pickledumps)aprotocols   Clib/python3.11/site-packages/sympy/utilities/tests/test_pickling.py<lambda>zcheck.<locals>.<lambda>1   s    Q0I0I              c                 $   |D ]}|t           v rt          | |          st          | |          }t          |d          sNt          ||          s
J |            t          ||          |k    s J t          ||          d|d            d S )N__call__z != z, protocol: )excluded_attrshasattrgetattr)r:   bdiattrr;   s        r<   czcheck.<locals>.cL   s     m m&&q!}} q!}}tZ00 m"1a==++!+++"1a==D000gVWYZmmmm]a]a]ackck2l000m mr>   N)
isinstancer   r   NotImplementedErrorcopydeepcopyr-   extendcallabletypeinspectismoduleloadsr9   r8   dirset)	r:   exclude
check_attr	protocolsrG   d1d2rK   r;   s	   `       @r<   checkr]   +   s    !U K 	K 	KH&(I(I(I(I(IJJJJDIt}a3I (+''' ! !wH 	8!T"" AAh'' 	8x~~a0011AAV\!X6677AVVVV2ww#b''!!!! 			m 		m 		m 		m 		m 	
!Q	!QC! !r>   c                      t           t                      t          t                      t          t          fD ]} t	          |            d S r7   )r   r   r   r*   r]   rK   s    r<   test_core_basicr`   _   s>    DFFE577,=qA  a r>   c                  >    t          t          d                     d S Nx)r]   r	    r>   r<   test_core_Strre   c   s    	#c((OOOOOr>   c                      t           t          dd          t          t          dd          t          t          d          fD ]} t          |            d S )Nrc   F)commutative_issue_3130)r
   r   r   r]   r_   s    r<   test_core_symbolri   f   s[     U3E222F=e444dDIIG  a r>   c                      t          d          t          dd          t          d          fD ]} t          |            t          t	          t          d                    fD ]} t          | d           d S )Nr?   r@   z1.2FrY   )r   r   r   r]   r   sqrtr_   s    r<   test_core_numbersrm   o   s{    ajj(1a..%,,7  atAww778 # #aE"""""# #r>   c                  H    t          d          dz   } t          |            d S )Nrc   g      ?)r   r]   )ys    r<   test_core_float_copyrp   v   s!    scA	!HHHHHr>   c                     t          d          } t          d          }t          t          | |          t          t          | |          t          t          | |          t          t	          | |          t
          t          | |          t          t          | |          t          t          | |          fD ]}t          |           d S )Nrc   ro   )	r   r   r   r   r   r   r   r   r]   )rc   ro   rK   s      r<   test_core_relationalrr   |   s    sAsAA[A5F5FA
Jq!4D4D!21a!8!8.Q""J
1a0@0@B   	a	 r>   c                  v    t          d          } t          t          | d          fD ]}t          |           d S Nrc   rA   )r   r   r]   rc   rK   s     r<   test_core_addrv      @    sA3q!99  a r>   c                  v    t          d          } t          t          | d          fD ]}t          |           d S rt   )r   r   r]   ru   s     r<   test_core_mulry      rw   r>   c                  v    t          d          } t          t          | d          fD ]}t          |           d S rt   )r   r    r]   ru   s     r<   test_core_powerr{      rw   r>   c                      t          d          } t          t          |           t          t          t          t
          fD ]}t          |           d S rb   )r   r!   r"   r#   r$   r%   r]   )rc   fs     r<   test_core_functionr~      sI    sA*Q--=&  a r>   c                      t          d          } t          t          d                    }|                    t                     t          | |           d S )Nr}      rX   )r"   listrangeappendr-   r]   )r}   rX   s     r<   test_core_undefinedfunctionsr      sK    A588nnG NN;	!Wr>   c                  B    t          d          } t          |            d S )Nr}   )r"   r]   )r}   s    r<   !test_core_undefinedfunctions_failr      s     	A	!HHHHHr>   c                  X    t           t          dd          fD ]} t          |            d S )Nr   r?   )r&   r]   r_   s    r<   test_core_intervalr      s5    A'  a r>   c                  V    t           t          d          fD ]} t          |            d S )Nr   )r'   r]   r_   s    r<   test_core_multidimensionalr      s3    1&  a r>   c                     g d} t           j         t           j        g}|d | D             z  }t          r|d gz  }t          d          t          d          t          d          t	          dd          t
          t          t          t          t           t          t          t          j        t          j        t          j        t          j        t          j        t          j        fD ]}|D ]} ||          |u sJ d S )N)r   r5   r?   r@   rA   c                     g | ]fd S )c                 R    t          j        t          j        |                     S r7   )r8   rU   r9   )rc   protos    r<   r=   z,test_Singletons.<locals>.<listcomp>.<lambda>   s    &,v|Au'='=>> r>   rd   ).0r   s    @r<   
<listcomp>z#test_Singletons.<locals>.<listcomp>   s2     $ $ $ ?>>> $ $ $r>   c                 f    t                               t                               |                     S r7   )r-   rU   r9   )rc   s    r<   r=   z!test_Singletons.<locals>.<lambda>   s"    k//0A0A!0D0DEE r>   r   r5   r?   )rN   rO   r-   r   r   r   r   r   r   r   r   r*   GoldenRatioTribonacciConstant
EulerGammaCatalanEmptySetIdentityFunction)rZ   copiersobjfuncs       r<   test_Singletonsr      s    Iy$-(G $ $"$ $ $ $G GEEFFWQZZXa^^RAS#q}a.BL!)QZ1CE $ $  	$ 	$D499#####	$$ $r>   );	Piecewise
lowergammaacosh
chebyshevu
chebyshevtlnchebyshevt_rootlegendre	Heaviside	bernoullicothtanhassoc_legendresignargasin
DiracDeltarerfAbs
uppergammabinomialsinhcoscotacosacotgammabellhermiteharmonicLambertWzetalog	factorialasinhacothcoshdirichlet_etaEijkloggammaerfceilingim	fibonacci
tribonacci	conjugatetanchebyshevu_rootflooratanhrl   sinatanfflucasatan2	polygammaexpc                     g t           t          t          t          t          t
          t          t          t          t          t          t          t          t          t          t          t           t"          t$          t&          t(          t*          t,          t.          t          t0          t2          t4          t6          t8          t:          t<          t>          t@          tB          tD          tF          tH          tJ          tL          tN          tP          tR          R } tT          tV          tX          tZ          t\          t^          t`          tb          td          tf          th          f}tk          d          \  }}}tl          tn          tq          |||          ts          d|dk     f|dz  |dk    f|dz  df          tt          f}| D ]+}tw          |            ||          }tw          |           ,|D ],}tw          |            |||          }tw          |           -|D ]}tw          |           d S )Nx,y,zr   r   r?   r5   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   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]   )one_vartwo_varrc   ro   zothersclsrK   s           r<   test_functionsr      s   Mu Mb M) MY M	 M4 M MMMM'M)+M-0M26M8;M=@MBFMHLMMM!M#+M-1M36M8AMCHM M M 'M )1M 36M 8?M ACM ENM 	M "	M $'	M ).	M 05	M 7:	M <@	M BG	M IL	M MG
 2z:z89gx=GgGAq!Q11r6{QT16NQT4LAAF   c


CFFa  c


C1IIa  c



 r>   )GeometryEntity)Point)CircleEllipse)LineLinearEntityRaySegment)PolygonRegularPolygonTrianglec                  j   t          dd          } t          dd          }t          dd          }t          dd          }t          t                      t           | t          t          | d          t          t          | dd          t          t	          | |          t
          t          | |          t          t          | |          t          t          | |          t          t          | |||          t          t          | dd          t          t          | ||          fD ]}t          |d           d S )	Nr5   r?   r@   r   rA   r   Frk   )r   r   r   r   r   r   r   r   r   r   r   r]   )p1p2p3p4rK   s        r<   test_geometryr      s    	q!B	q!B	q!B	q!B((%VVB]]Q""D$r2,,Rc3r2;;RRR((.2q!$$hR0D0DF # # 	aE"""""# #r>   )Integralc                  t    t          d          } t          t          |           fD ]}t          |           d S rb   )r   r   r]   ru   s     r<   test_integralsr     s>    sA$  a r>   )Logicc                  V    t           t          d          fD ]} t          |            d S Nr5   )r   r]   r_   s    r<   
test_logicr     s3    U1XX  a r>   )MatrixSparseMatrixc                      t           t          g d          t          t          ddgddgg          fD ]} t          |            d S )Nr5   r?   r@   r5   r?   r@   rA   )r   r   r]   r_   s    r<   test_matricesr     sS    fYYY''|aVaQRVDT7U7UV  a r>   )Sievec                  T    t           t                      fD ]} t          |            d S r7   )r   r]   r_   s    r<   test_ntheoryr     s1    UWW  a r>   )Pauli)Unitc                  n    t           t          t          t          d          fD ]} t          |            d S r   )r  r   r   r]   r_   s    r<   test_physicsr  %  s7    E5%((+  a r>   c                  D   ddl m} m} ddlm} ddlm}m} ddlm	}m
}m}m} ddlm}	 ddlm}
 ddlm} dd	lm} dd
lm} ddlm}m}m}m}m}m}m}m} ddl m!} ddl"m#} ddl$m%} |  | dd          ||||||||||	|
||||||||||||||fD ]}tM          |           d S )Nr   )ColorGradientColorScheme)ManagedWindow)Plot
ScreenShot)PlotAxesPlotAxesBasePlotAxesFramePlotAxesOrdinate)
PlotCamera)PlotController)	PlotCurve)PlotInterval)PlotMode)Cartesian2DCartesian3DCylindricalParametricCurve2DParametricCurve3DParametricSurfacePolar	Spherical)
PlotObject)PlotSurface)
PlotWindowg?g?)'&sympy.plotting.pygletplot.color_schemer  r  (sympy.plotting.pygletplot.managed_windowr  sympy.plotting.plotr  r	  #sympy.plotting.pygletplot.plot_axesr
  r  r  r  %sympy.plotting.pygletplot.plot_camerar  )sympy.plotting.pygletplot.plot_controllerr  $sympy.plotting.pygletplot.plot_curver  'sympy.plotting.pygletplot.plot_intervalr  #sympy.plotting.pygletplot.plot_moder  $sympy.plotting.pygletplot.plot_modesr  r  r  r  r  r  r  r  %sympy.plotting.pygletplot.plot_objectr  &sympy.plotting.pygletplot.plot_surfacer  %sympy.plotting.pygletplot.plot_windowr  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  rK   s                             r<   test_plottingr+  -  s   QQQQQQQQFFFFFF44444444kkkkkkkkkkkk@@@@@@HHHHHH>>>>>>DDDDDD<<<<<<R R R R R R R R R R R R R R R R R R R R@@@@@@BBBBBB@@@@@@}}S#..]tZ<'^<;&(95)Z   	a r>   c                      ddl m}  ddlm} ddlm} t           | d                     t           |dd                     t           |                       d S )	Nr   )r  )r  )r
  rainbowr5   F)visible)r  r  r   r  r!  r
  r]   )r  r  r
  s      r<   test_plotting2r/  H  s     CBBBBB((((((<<<<<< 
++i
 
 !!!	$$q%
 
 
 !!!	((**r>   )ZZ)QQ)lex)Polyc                      ddl m}  t          d          }t          t          ||          fD ]}t	          |           |  | |          fD ]}t	          |           d S )Nr   )PurePolyrc   )sympy.polys.polytoolsr5  r   r3  r]   )r5  rc   rK   s      r<   test_pickling_polys_polytoolsr7  e  s{    ......sADAJJ  a$  a r>   c            	      T   ddl m} m}m} |  | t	          d          gt	          d          gt	          d          ggt                    fD ]}t          |           | |t	          d          t	          d          gt	          d          t	          d          gft                    fD ]}t          |           | |t          d          t          d          gt          d          t          d          t          d          gt                    fD ]}t          |           d S )Nr   )DMPDMFANPr5   r?   r@   )sympy.polys.polyclassesr9  r:  r;  r0  r]   r1  )r9  r:  r;  rK   s       r<   test_pickling_polys_polyclassesr=  t  s    555555555533A"Q%%2a55'2B778  a33A1A17<<=  a331r!uu~1r!uubee'<bAAB  a r>   c                      ddl m}   | dt          t                    }| |fD ]}t	          |ddg           |j        |j        fD ]}t	          |ddgd           d S )Nr   )PolyRingr   r5   r   F)rX   rY   )sympy.polys.ringsr?  r0  r2  r]   dtypeone)r?  ringrK   s      r<   test_pickling_polys_ringsrD  ~  s    
 +*****8GR%%D ! !a!Q     j$(# 3 3a!QE222223 3r>   c                      d S r7   rd   rd   r>   r<   test_pickling_polys_fieldsrF    s    Dr>   c                  R    ddl m}  |  | dd          fD ]}t          |           d S )Nr   )PythonRationalr5      )"sympy.polys.domains.pythonrationalrH  r]   )rH  rK   s     r<   test_pickling_polys_elementsrK    sM    AAAAAA nnQ223  a r>   c                     ddl m}  ddlm} |  |             fD ]}t	          |d           | |            fD ]}t	          |d           t
          rLddlm} ddlm	} | |            fD ]}t	          |d           | |            fD ]}t	          |d           ddl
m} dd	lm} | |t          t          d
                    fD ]}t	          |d           | |            fD ]}t	          |d           d S )Nr   )PythonIntegerRing)PythonRationalFieldFrk   )GMPYIntegerRing)GMPYRationalField)AlgebraicField)ExpressionDomainr@   )%sympy.polys.domains.pythonintegerringrM  'sympy.polys.domains.pythonrationalfieldrN  r]   r(   #sympy.polys.domains.gmpyintegerringrO  %sympy.polys.domains.gmpyrationalfieldrP  "sympy.polys.domains.algebraicfieldrQ  $sympy.polys.domains.expressiondomainrR  r1  rl   )rM  rN  rK   rO  rP  rQ  rR  s          r<   test_pickling_polys_domainsrY    s   GGGGGGKKKKKK  !2!2!4!45 # #aE"""""!#6#6#8#89 # #aE""""" 'GGGGGGKKKKKK "??#4#45 	' 	'A!&&&&&#%6%6%8%89 	' 	'A!&&&&& BAAAAA FEEEEE nnRa99: # #aE"""""  0 0 2 23 # #aE"""""# #r>   c                      ddl m} m}m}m} |  |             fD ]}t          |           | |            fD ]}t          |           | |            fD ]}t          |           | | |                       fD ]}t          |           d S )Nr   )LexOrderGradedLexOrderReversedGradedLexOrderInverseOrder)sympy.polys.orderingsr[  r\  r]  r^  r]   )r[  r\  r]  r^  rK   s        r<   test_pickling_polys_orderingsr`    s    . . . . . . . . . . . . 

#  ann../  a$&<&<&>&>?  a LL445  a r>   c                      ddl m} m} t          d          \  }}}|  | d          fD ]}t	          |           | |d|||f          fD ]}t	          |           d S )Nr   )MonomialOpsMonomialr   r@   r   )sympy.polys.monomialsrb  rc  r+   r]   )rb  rc  rc   ro   r   rK   s         r<   test_pickling_polys_monomialsre  
  s    ;;;;;;;;gGAq!;;q>>*  aQ1I667  a r>   c                     ddl m} m}m}m}m}m}m}m}m	}m
}	m}
m}m}m}m}m}m}m}m} |  |             fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           |	 |	            fD ]}t)          |           |
 |
            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           | |            fD ]}t)          |           d S )Nr   )HeuristicGCDFailedHomomorphismFailedIsomorphismFailedExtraneousFactorsEvaluationFailedRefinementFailedCoercionFailedNotInvertibleNotReversibleNotAlgebraicDomainErrorPolynomialErrorUnificationFailedGeneratorsErrorGeneratorsNeededUnivariatePolynomialErrorMultivariatePolynomialErrorOptionError	FlagError)sympy.polys.polyerrorsrg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  r]   )rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rK   s                       r<   test_pickling_polys_errorsr{    s                                            ( !"4"4"6"67  a "4"4"6"67  a!2!2!4!45  a!2!2!4!45  a 0 0 2 23  a 0 0 2 23  ann../  a]]__-  a]]__-  aLLNN+  a;;==)  a001  a!2!2!4!45  a001  a 0 0 2 23  a ()B)B)D)DE  a)+F+F+H+HI  a ;;==)  a%  a r>   c                      ddl m} m} t          d          }|dz  |z   dz   }|  | |d          fD ]}t	          |           | ||t
                    fD ]}t	          |           d S )Nr   )CRootOfRootSumrc   r@   )sympy.polys.rootoftoolsr}  r~  r   r]   r   )r}  r~  rc   r}   rK   s        r<   test_pickling_polys_rootoftoolsr  u  s    88888888sA	1q1Awwq!}}%  awwq#'  a r>   )LatexPrinter)MathMLContentPrinterMathMLPresentationPrinter)PrettyPrinter)
prettyForm
stringPict)Printer)PythonPrinterc                      t           t                      t          t          t          t          t
          t          d          t          t                      t          t                      fD ]} t          |            d S )Nr:   )	r  r  r  r  r  r  r  r  r]   r_   s    r<   test_printingr    s[    LNN,@'
Joow		=oo   	a	 r>   c                  <    t          t                                 d S r7   )r]   r  rd   r>   r<   test_printing1r    s    	

 
 !!!!!r>   c                  <    t          t                                 d S r7   )r]   r  rd   r>   r<   test_printing2r    s    	
#
%
%&&&&&r>   c                  <    t          t                                 d S r7   )r]   r  rd   r>   r<   test_printing3r    s    	-//r>   )Limit)Orderc                      t          d          } t          d          }t          t          | |d          t          t          |           fD ]}t          |           d S )Nerc   r5   )r   r  r  r]   )r  rc   rK   s      r<   test_seriesr    sW    sAsAU1a^^UE!HH5  a r>   )Product)Sumc            	          t          d          } t          t          | | ddf          t          t          | | ddf          fD ]}t          |           d S )Nrc   r?   rA   )r   r  r  r]   ru   s     r<   test_concreter    s\    sAwq1a),,c3q1a)3D3DE  a r>   c                  H    t          ddd          } t          |            d S )Nmessagez1.0zactive-deprecations)deprecated_since_versionactive_deprecations_target)r)   r]   )ws    r<   test_deprecation_warningr    s&    	Ef{|||A	!HHHHHr>   c                      t          j        t          j        t          j                            t          j        k    sJ d S r7   )r8   rU   r9   r*   Halfrd   r>   r<   test_issue_18438r    s1    <QV,,--777777r>   c                  X    d} t          j        |           t          d          k    sJ d S )Nsi   ^       sympy.core.powerPowsympy.core.numbersIntegerKR}bhHalf)R}bR}b.r?   )r8   rU   rl   )datas    r<   !test_unpickle_from_older_versionsr    s5    	8 	 <a((((((r>   )rS   rN   r8   sympy.physics.unitsr   sympy.testing.pytestr   r   sympy.core.basicr   r   sympy.core.singletonr   sympy.core.symbolr	   r
   r   r   sympy.core.numbersr   r   r   r   r   r   r   r   r   r   sympy.core.relationalr   r   r   r   r   r   r   sympy.core.addr   sympy.core.mulr   sympy.core.powerr    sympy.core.functionr!   r"   r#   r$   r%   sympy.sets.setsr&   sympy.core.multidimensionalr'   sympy.external.gmpyr(   sympy.utilities.exceptionsr)   r*   r+   sympy.externalr,   r-   rD   r]   r`   re   ri   rm   rp   rr   rv   ry   r{   r~   r   r   r   r   r   sympy.functionsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rl   r   r   r   r   r   r   r   r   sympy.geometry.entityr   sympy.geometry.pointr   sympy.geometry.ellipser   r   sympy.geometry.liner   r   r   r   sympy.geometry.polygonr   r   r   r   sympy.integrals.integralsr   r   sympy.core.logicr   r   sympy.matricesr   r   r   sympy.ntheory.generater   r   sympy.physics.paulialgebrar   r  r  r+  r/  sympy.polys.domains.integerringr0  !sympy.polys.domains.rationalfieldr1  r_  r2  r6  r3  r7  r=  rD  rF  rK  rY  r`  re  r{  r  sympy.printing.latexr  sympy.printing.mathmlr  r  sympy.printing.pretty.prettyr   sympy.printing.pretty.stringpictr  r  sympy.printing.printerr  sympy.printing.pythonr  r  r  r  r  sympy.series.limitsr  sympy.series.orderr  r  sympy.concrete.productsr  sympy.concrete.summationsr  r  r  r  r  rd   r>   r<   <module>r     s	      % % % % % % . . . . . . . . ( ( ( ( ( ( ( ( 2 2 2 2 2 2 6 6 6 6 6 6 6 6 6 6 6 6* * * * * * * * * * * * * * * * * * * * * * * *7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7                                      $ $ $ $ $ $ 1 1 1 1 1 1 ( ( ( ( ( ( > > > > > > " " " " " " % % % % % % ( ( ( ( ( (mM**   D - - - -h      # # #                   
  
$ $ $ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 1 0 0 0 0 0 & & & & & & 2 2 2 2 2 2 2 2 @ @ @ @ @ @ @ @ @ @ @ @ D D D D D D D D D D# # # / . . . . .   # " " " " "  
 0 / / / / / / /  
 ) ( ( ( ( (  
 - , , , , , $ $ $ $ $ $     4   . / . . . . . 0 0 0 0 0 0 % % % % % % & & & & & &	 	 	   3 3 3	 	 	"  09# 9# 9#x  0  T T TB
 
 
 . - - - - - Q Q Q Q Q Q Q Q 6 6 6 6 6 6 C C C C C C C C * * * * * * / / / / / /   " " " ' ' '    & % % % % % $ $ $ $ $ $   , + + + + + ) ) ) ) ) )  
  8 8 8
) ) ) ) )r>   