
    shP                        S SK Jr  S SKrS SKJr  S SKJr  S SKJrJ	r	  SSK
Jr  S=r=rr \" SS	S
/0S9R                  r\" SS	S/0S9R                  r\" SSS	S/0S9r\(       a   " S S\R                   5      rS,S jrS rS rS rS rS rS-S jrS rS rS rS rS rS  rS! rS" rS# r S$ r!S% r"S& r#S' r$S( r%S) r&S* r'S+ r(g! \ a     N|f = f).    )versionN)import_module)
StrPrinter)BraKet   )LaTeXParsingErrorz&sympy.parsing.latex._antlr.latexparserfromlistLaTeXParser)import_kwargsz%sympy.parsing.latex._antlr.latexlexer
LaTeXLexerzantlr4.error.ErrorListenerTErrorListener)warn_not_installedr   c                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )MathErrorListener   c                 J   > [         [        R                  U ]  5         Xl        g N)superr   __init__src)selfr   	__class__s     z/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/sympy/parsing/latex/_parse_latex_antlr.pyr   MathErrorListener.__init__    s    ---t=?H    c                 >   SnSU-  S-   nUR                  S5      (       a  XuU R                  U4-  n	OUR                  S5      (       a  USU R                  U4-  n	OUR                  S5      (       a  [        R                  n
UR	                  5        Vs/ s H  o[        U
5      :  d  M  X   PM     nn[        U5      S:  a'  S	R                  U5      nUS
U-   U R                  U4-  n	O%USU R                  U4-  n	OUSU R                  U4-  n	[        U	5      es  snf )Nz%s
%s
%s~^missingz	no viablezI expected something else here
mismatched
    zI expected one of these: zI don't understand this)
startswithr   r   literalNamesgetExpectedTokenslenjoinr	   )r   recogsymbollinecolmsgefmtmarkererrnamesiexpecteds                r   syntaxErrorMathErrorListener.syntaxError$   s(   C3Y_F~~i(($((F33,,=txxPP--#00&'&9&9&;&;3u:~HEH&;   x=2%"xx1H"="H$(("("* *C "BDHH"("* *C 6&II#C((s   D*D)r   )__name__
__module____qualname____firstlineno__r   r5   __static_attributes____classcell__)r   s   @r   r   r      s    		) 	)r   r   c                    [        S5      nS U[        4;   d  [        S5      R                  S5      (       d  [	        S5      eU R
                  " 5       n [        U 5      nUR                  U 5      n[        U5      nUR                  5         UR                  U5        UR                  U5      n[        U5      nUR                  5         UR                  U5        UR                  5       R                  5       nU(       aK  UR                  R                  S:w  d&  UR                  R                  [!        U 5      S-
  :w  a  [#        S5      e[%        U5      n	U	$ )Nantlr4zantlr4-python3-runtimez4.11zLaTeX parsing requires the antlr4 Python package, provided by pip (antlr4-python3-runtime) or conda (antlr-python-runtime), version 4.11r   r   zInvalid LaTeX)r   r   r   r$   ImportErrorstripInputStreamr   removeErrorListenersaddErrorListenerCommonTokenStreamr   mathrelationstartstopr'   r	   convert_relation)
sympystrictr>   	matherrorstreamlextokensparserrF   exprs
             r   parse_latexrR   =   s#   8$F)**01<<VDD H I 	I KKME!%(I&F
V
C#%%c*F F !
I&{{}%%'H8>>''1,0B0Bc%jSTn0T00H%DKr   c                    U R                  5       (       a  [        U R                  5       5      $ [        U R                  S5      5      n[        U R                  S5      5      nU R	                  5       (       a  [
        R                  " X5      $ U R                  5       (       a  [
        R                  " X5      $ U R                  5       (       a  [
        R                  " X5      $ U R                  5       (       a  [
        R                  " X5      $ U R                  5       (       a  [
        R                  " X5      $ U R                  5       (       a  [
        R                   " X5      $ g Nr   r   )rQ   convert_exprrI   rF   LTrJ   StrictLessThanLTELessThanGTStrictGreaterThanGTEGreaterThanEQUALEqNEQNe)rellhrhs      r   rI   rI   ]   s    
xxzzCHHJ''	#,,q/	*B	#,,q/	*B
vvxx##B++	~~b%%	&&r..	  ((	xx	xx 
r   c                 4    [        U R                  5       5      $ r   )convert_addadditive)rQ   s    r   rU   rU   q   s    t}}''r   c           	      L   U R                  5       (       aI  [        U R                  S5      5      n[        U R                  S5      5      n[        R                  " XSS9$ U R                  5       (       a  [        U R                  S5      5      n[        U R                  S5      5      n[        US5      (       a*  UR                  (       a  [        R                  " USU-  SS9$ [        R                  " U[        R                  " SUSS9SS9$ [        U R                  5       5      $ )Nr   r   Fevaluateis_Atom)ADDrf   rg   rJ   AddSUBhasattrrk   Mul
convert_mpmp)addrc   rd   s      r   rf   rf   u   s    
wwyya)a)yy%00	a)a)2y!!bjj99Rb599yyUYYr2>OO#&&(##r   c           	         [        U S5      (       a#  U R                  S5      nU R                  S5      nO"U R                  S5      nU R                  S5      nU R                  5       (       d*  U R	                  5       (       d  U R                  5       (       a+  [        U5      n[        U5      n[        R                  " X4SS9$ U R                  5       (       d*  U R                  5       (       d  U R                  5       (       a@  [        U5      n[        U5      n[        R                  " U[        R                  " USSS9SS9$ [        U S5      (       a  [        U R                  5       5      $ [        U R                  5       5      $ )Nrs   r   r   Fri   rl   unary)rp   rs   	mp_nofuncMUL	CMD_TIMESCMD_CDOTrr   rJ   rq   DIVCMD_DIVCOLONPowconvert_unaryrv   unary_nofunc)rs   mp_leftmp_rightrc   rd   s        r   rr   rr      s
   r4%%(558,,q/<<?	vvxx2<<>>R[[]] !yy%00	RZZ\\RXXZZ !yyUYYr2>OO2w ,, !233r   c                    [        U S5      (       a  U R                  5       nOU R                  5       n[        U S5      (       a'  U R                  5       nU R	                  5       nU/U-   nOU R                  5       nU R                  5       (       a  [        U5      $ U R                  5       (       a  [        U5      nU* $ U(       a  [        U5      $ g )Nrv   postfix_nofunc)	rp   rv   r   postfixr   rm   r   ro   convert_postfix_list)rv   nested_unaryfirsttailr   numabss         r   r   r      s    ug{{}))+u&''##%'D.--/yy{{\**	|,w	#G,, 
r   c                 Z   U[        U 5      :  a  [        S5      e[        X   5      n[        U[        R
                  5      (       Ga  U[        U 5      S-
  :X  a  U$ US:  a  [        XS-
     5      n[        XS-      5      n[        U[        R
                  5      (       a  [        U[        R
                  5      (       a  [        XS-
     5      R                  [        R                  5      n[        XS-      5      R                  [        R                  5      nU(       d$  U(       d  [        U5      S:X  a  [        XS-   5      $ [        R                  " U[        XS-   5      SS9$ US   nU[        U 5      S-
  :X  a  [        S5      e[        XS-   5      n[        R                  " X5      $ )NzIndex out of boundsr   r   xFri   z"Expected expression for derivative)r'   r	   convert_postfix
isinstancerJ   ExpratomsSymbolstrr   rq   
Derivative)	arrr3   resleftright	left_syms
right_symswrtrQ   s	            r   r   r      sc   CH} 566
#&
!C#uzz""C1J1u&sq5z2'E
3dEJJ//Juzz5+ 5+ /E
 ; A A%,, OI!0U!<!B!B"&J &SS3CQ??99)#1u5G G !fC1#$HII'U3D##D..r   c                    UR                  5       (       a~  [        UR                  5       5      nUR                  [        R                  5      n[        U5      S:X  a  U $ [        U5      S:  a%  [        [        U5      5      nU R                  XB5      $ g UR                  5       (       aa  [        UR                  5       R                  S5      5      n[        UR                  5       R                  S5      5      nU R                  XV5      $ g rT   )
rQ   rU   r   rJ   r   r'   nextitersubsequality)rQ   atat_exprsymssymrc   rd   s          r   do_subsr      s    	wwyyrwwy)}}U\\*t9>KY]tDz"C99S**  
"++-,,Q/0"++-,,Q/0yy   
r   c                    [        U S5      (       a  U R                  5       nOU R                  5       n[        U5      nU R	                  5        GH  nUR                  5       (       a7  [        U[        5      (       a  [        S5      e[        R                  " USS9nMP  UR                  5       (       d  Mg  UR                  5       nS nS nUR                  5       (       a  [        X$R                  5       5      nUR                  5       (       a  [        X$R                  5       5      nUb  Ub  [        R                  " USU-  SS9nM  Ub  UnM  Uc  GM  UnGM
     U$ )Nexpz"Cannot apply postfix to derivativeFri   rl   )rp   r   
exp_nofuncconvert_exp
postfix_opBANGr   listr	   rJ   	factorialeval_ateval_at_supr   eval_at_subrn   )r   
exp_nestedr   opevat_bat_as          r   r   r      s   w[[]
'')

j
!C  "7799#t$$'(LMM//#6CZZ\\BDD~~sNN$45~~sNN$45D$4iib4i%@!!% #( Jr   c                 6   [        U S5      (       a  U R                  5       nOU R                  5       nU(       a  [        U5      n[	        U[
        5      (       a  [        S5      eU R                  5       (       a  [        U R                  5       5      nO.U R                  5       (       a  [        U R                  5       5      n[        R                  " UWSS9$ [        U S5      (       a  [        U R                  5       5      $ [        U R                  5       5      $ )Nr   z Cannot raise derivative to powerFri   comp)rp   r   r   r   r   r   r	   atomconvert_atomrQ   rU   rJ   r~   convert_compr   comp_nofunc)r   r   baseexponents       r   r   r      s    sEWWY
^^%
:&dD!!#$FGG88::#CHHJ/HXXZZ#CHHJ/Hyyx%883
++ 122r   c                    U R                  5       (       a'  [        U R                  5       R                  5       5      $ U R                  5       (       a:  [        R
                  " [        U R                  5       R                  5       5      SS9$ U R                  5       (       a  [        U R                  5       5      $ U R                  5       (       a  [        U R                  5       5      $ U R                  5       (       a  [        U R                  5       5      $ U R                  5       (       a  [        U R                  5       5      $ g NFri   )grouprU   rQ   	abs_grouprJ   Absr   r   floorconvert_floorceilconvert_ceilfuncconvert_func)r   s    r   r   r     s    zz||DJJL--/00			yydnn&6&;&;&=>OO	DIIK((	TZZ\**	DIIK((	DIIK(( 
r   c                 >   U R                  5       (       Ga  U R                  5       R                  5       nU R                  5       (       a  U R                  5       R                  5       (       a(  [	        U R                  5       R                  5       5      nO'[        U R                  5       R                  5       5      nUS[        5       R                  U5      -   S-   -  nU R                  5       (       a   XR                  5       R                  5       -  n[        R                  " U5      $ U R                  5       (       a  U R                  5       R                  5       SS  nUS:X  a  [        R                  $ U R                  5       (       a  S nU R                  5       R                  5       (       a(  [	        U R                  5       R                  5       5      nO'[        U R                  5       R                  5       5      n[        5       R                  U5      nUSU-   S-   -  n[        R                  " U5      $ U R                  5       (       aD  U R                  5       R                  5       R                  SS5      n[        R                   " U5      $ U R#                  5       (       a<  [%        U R#                  5       5      n[        R                  " SUR&                  -   5      $ U R)                  5       (       a=  [+        U R)                  5       R-                  5       5      n[        R                  " U5      $ U R/                  5       (       a  [1        U R/                  5       5      $ U R3                  5       (       a  [5        U R3                  5       5      $ U R7                  5       (       a2  [	        U R7                  5       R                  5       5      n[9        U5      $ U R;                  5       (       a2  [	        U R;                  5       R                  5       5      n[=        U5      $ g )N_{}r   infty, d)LETTERgetTextsubexprrQ   rU   r   r   r   doprintSINGLE_QUOTESrJ   r   SYMBOLoonumberreplaceNumberDIFFERENTIALget_differential_varnamemathit	rule2textmathit_textfracconvert_fracbinomconvert_binombrar   ketr   )r   sname	subscriptssubscriptNamevartextvals           r   r   r   $  s   {{}}%%'<<>>||~""$$()<)<)>?	()<)<)>?	TJL00;;cAAE'')1133E||E""	KKM!!#AB'<88O||~~ 	<<>&&(( ,T\\^-@-@-B CI ,T\\^-@-@-B CI * 4 4Y ?TM)C//<<?"	KKM!!#++C4||A					"4#4#4#67||C#((N++	2245||D!!	DIIK((	TZZ\**	488:??,-3x	488:??,-3x 
r   c                     U R                   R                  5       nU R                   R                   nU R                  R                  nUR                  X#5      $ r   )rG   getInputStreamrH   r   )ctxrM   startIdxstopIdxs       r   r   r   S  s=    YY%%'FyyHhhmmG>>(,,r   c                 `	   SnSnU R                   (       Ga  U R                  (       Ga  U R                   R                  5       nUS   US   -
  S-   nU R                   R                  U R                   R                  :X  a_  U R                   R                  R
                  [        R                  :X  a-  [        U R                   R                  R                  5      nSnGOUS:X  Ga  U R                   R                  R
                  [        R                  :X  a  U R                   R                  R                  S:X  a  U R                   R                  R
                  [        R                  :X  d2  U R                   R                  R
                  [        R                  :X  aY  SnU R                   R                  R                  nU R                   R                  R
                  [        R                  :X  a  USS  nU(       d  U(       Ga  [        R                  " W5      nU(       a  U R                  R                  U R                  R                  :X  aY  U R                  R                  R
                  [        R                  :X  a'  U R                  R                  R                  S:X  a  U/$ U(       a  U R                  R                  U R                  R                  :X  aY  U R                  R                  R
                  [        R                  :X  a'  U R                  R                  R                  S:X  a  U/$ [        U R                  5      nS nU(       a%  UR                  S5      (       a  [!        USS  5      nOBU(       a;  U R                  R                  R                  S:X  a  [!        U[#        S5      S  5      nU(       a  [        R$                  " Xu5      $ U R                  (       a  ['        U R                  5      nO*[        R(                  " U R*                  R                  5      nU R                   (       a  ['        U R                   5      nO*[        R(                  " U R,                  R                  5      n[        R.                  " USSS	9n	US:X  a  U	$ [        R0                  " XySS	9$ )
NFr   r   T   z\partialr   rl   ri   )loweruppergetSourceIntervalrG   rH   typer   r   get_differential_var_strr   r   r   rJ   r   r   r$   rR   r'   r   rU   r   upperdlowerdr~   rq   )
r   diff_op
partial_op	lower_itvlower_itv_lenr   
upper_textexpr_topexpr_botinverse_denoms
             r   r   r   ]  s   GJzzzdjjjJJ002	!!y|3a7JJ

/JJ$$))Z-D-DD*4::+;+;+@+@ACGq TZZ%5%5%:%:j>O>O%O**""'';6::??'':+<+<<jjoo**j.?.??J**//&&Czz##z'8'88!"gj,,s#CDJJ,,

?

((--1B1BB

((--4u!1!1TZZ__!Djj&&++z/@/@@jj&&++{:u"4::.JH:0055&z!"~6

 0 0 5 5 D&z#k2B2C'DE''66zz

+<< 0 01zz

+<< 0 01IIhU;M1}yy5AAr   c                     [        U R                  5      n[        U R                  5      n[        R                  " XSS9$ r   )rU   nkrJ   binomial)r   expr_nexpr_ks      r   r   r     s/    %''"F%''"F>>&599r   c                 V    [        U R                  5      n[        R                  " USS9$ r   )rU   r   rJ   r   )r   r   s     r   r   r     s!    
uyy
!C;;sU++r   c                 V    [        U R                  5      n[        R                  " USS9$ r   )rU   r   rJ   ceiling)r   r   s     r   r   r     s!    
txx
 C==u--r   c                 (   U R                  5       (       Ga  U R                  5       (       a  [        U R                  5       5      nO[        U R	                  5       5      nU R                  5       R
                  R                  SS  nUS;   a'  SUSS  -   n[        [        R                  U5      " USS9nUS;   a'  SUSS  -   n[        [        R                  U5      " USS9nUS	:X  a  [        R                  " USS9nUS
;   a  U R                  5       (       as  U R                  5       R                  5       (       a(  [        U R                  5       R                  5       5      nOG[        U R                  5       R                  5       5      nOUS:X  a  SnOUS;   a  [        R                   n[        R"                  " UWSS9nS nSnU R%                  5       (       ar  U R%                  5       R                  5       (       a(  [        U R%                  5       R                  5       5      nO'[        U R%                  5       R                  5       5      nUS;   a,  US:X  a  SU-   nSn[        [        R                  U5      " USS9nU(       a  U(       a  [        R&                  " WUSS9nW$ U R)                  5       (       d  U R+                  5       (       Ga  U R)                  5       (       a  U R)                  5       R-                  5       nO6U R+                  5       (       a!  U R+                  5       R-                  5       SS  n[/        W5      nU R                  5       (       a  U R                  5       R                  5       (       a(  [        U R                  5       R                  5       5      nO'[        U R                  5       R                  5       5      n[1        5       R3                  U5      n	USU	-   S-   -  nU R5                  5       (       a   XpR5                  5       R-                  5       -  nU R7                  5       n
/ nU
R7                  5       (       aO  UR9                  [        U
R                  5       5      5        U
R7                  5       n
U
R7                  5       (       a  MO  UR9                  [        U
R                  5       5      5        [        R:                  " U5      " U6 $ U R=                  5       (       a  [?        U 5      $ U RA                  5       (       ae  [        U RB                  5      nU RD                  (       a*  [        U RD                  5      n[        RD                  " X<SS9$ [        RF                  " USS9$ U RI                  5       (       a*  [        U RB                  5      n[        RJ                  " USS9$ U RM                  5       (       a  [O        U S5      $ U RQ                  5       (       a  [O        U S5      $ U RS                  5       (       a  [U        U 5      $ g )Nr   )arcsinarccosarctanarccscarcsecarccota   Fri   )arsinharcoshartanhr   r   )loglglnr  r"   )r  r  T)	sincostancscseccotsinhcoshtanhrl   r   r   	summationproduct)+func_normalL_PARENconvert_func_argfunc_argfunc_arg_noparensrG   r   getattrrJ   	functionsr   r   rQ   rU   r   r   Er  supexprr~   r   r   r   r   r   r   r   argsappendFunctionFUNC_INThandle_integral	FUNC_SQRTr   rootsqrtFUNC_OVERLINE	conjugateFUNC_SUMhandle_sum_or_prod	FUNC_PRODFUNC_LIMhandle_limit)r   argr   rQ   r   func_pow
should_powfnamer   r   
input_argsoutput_argsrs                r   r   r     s   <<>>"4==?3C"4#9#9#;<C!'',,QR0  
 
 ab>D5??D1#FD11ab>D5??D1#FD5=99S51D&&||~~<<>&&(('(;(;(=>D'(;(;(=>D&ww99S$7D
<<>>||~""$$'(;(;(=>'(;(;(=> 
 
 2~Tz"
5??D1#FD
99T8e<D	$++--;;==KKM))+E[[]]KKM))+AB/EE
<<>>||~""$$()<)<)>?	()<)<)>?	&L00;MTM)C//E'')1133EYY[
oo|JOO,=>?#*J oo 	<
(9:;~~e$k22	t$$			DII&99TYY'A::d66::dU33					DII&te44	!$44			!$	22	D!! 
r   c                     [        U S5      (       a  [        U R                  5       5      $ [        U R	                  5       5      $ )NrQ   )rp   rU   rQ   rr   rw   )r=  s    r   r'  r'    s1    sFCHHJ''#--/**r   c                    U R                  5       (       a  [        U R                  5       5      nO1U R                  5       (       a  [        U R                  5       5      nOSnS nU R	                  5       (       a  [        U R	                  5       5      nOUR                  [        R                  5       Hh  n[        U5      n[        U5      S:  d  M  US   S:X  d  M*  US   S:X  a  [        R                  " USS  5      nO[        R                  " USS  5      nUnMj     U(       a  UR                  WS5      nO[        R                  " S5      nU R                  5       (       a  U R                  5       R                  5       (       a(  [        U R                  5       R                  5       5      nO'[        U R                  5       R!                  5       5      nU R#                  5       R                  5       (       a(  [        U R#                  5       R                  5       5      nO'[        U R#                  5       R!                  5       5      n[        R$                  " XXg45      $ [        R$                  " X5      $ )Nr   r   r   \r   r   )rg   rf   r   r   r   r   r   rJ   r   r   r'   r   r   r   r   rU   rQ   r-  Integral)r   	integrandint_varr   r   int_symr   r   s           r   r2  r2    s   }}0		 -		G&t'8'8':;??5<<0CCA1vzadckQ44<#ll1QR51G#ll1QR51G 1 !w2I ll3'G||~~<<>   !4!4!67E !4!4!67E<<>   !4!4!67E !4!4!67E~~i5)@AA~~i11r   c                 j   [        U R                  5       5      n[        U R                  5       R	                  5       R                  S5      5      n[        U R                  5       R	                  5       R                  S5      5      nU R                  5       R                  5       (       a(  [        U R                  5       R                  5       5      nO'[        U R                  5       R                  5       5      nUS:X  a  [        R                  " X#XE45      $ US:X  a  [        R                  " X#XE45      $ g )Nr   r   r#  r$  )rr   rs   rU   subeqr   rQ   r-  r   r   rJ   SumProduct)r   r   r   iter_varrG   ends         r   r9  r9  .  s    
TWWY
CDJJL11388;<H..055a89E||~4<<>..014<<>..01{yy455		}}SU"899 
r   c                 j   U R                  5       nUR                  5       (       a3  [        R                  " UR                  5       R	                  5       5      nOaUR                  5       (       a6  [        R                  " UR                  5       R	                  5       SS  5      nO[        R                  " S5      nUR                  5       (       a  SnOUR                  5       (       a  SnOSn[        UR                  5       5      n[        U R                  5       5      n[        R                  " XRXC5      $ )Nr   r   -+z+-)	limit_subr   rJ   r   r   r   ro   rm   rU   rQ   rr   rs   Limit)r   subr   	directionapproachingcontents         r   r<  r<  =  s    
..
C
zz||ll3::<//12	ll3::<//1!"56ll3
wwyy				sxxz*K#G;;w[<<r   c                 `    [        U R                  5       5      n[        R                  " U5      $ r   )r   r   rJ   r   )r   r   s     r   r   r   Q  s!    #AIIK0D<<r   c                     [        S[        U 5      5       H)  nX   nUS:X  a  M  US:X  a  M  US:X  a  M  US:X  a  M'  Un  O   U WS  n U S   S:X  a  U SS  n U $ )Nr   r#   
	r   rF  )ranger'   )r   r3   cidxs       r   r   r   V  sg    1c$i GSAIda4iC	 !
 :DAw$ABxKr   )F)r   ))importlib.metadatar   rJ   sympy.externalr   sympy.printing.strr   sympy.physics.quantum.stater   r   errorsr	   r   r   r   	Exceptionr   rR   rI   rU   rf   rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r'  r2  r9  r<  r   r    r   r   <module>ri     s9   '  ( ) 0 % 04 3 3j,	 H/9M?.KMMX[ F.8<.-IKKU: 
 :15-7/9J,K  )M77 )<@ (($4.-,/B!<3,),^-2Bh:
,.^"B+%2P:=(
	E  		s   (C CC