
    giO                     j   d dl mZmZmZmZ d dl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mZmZ d dlmZ d dlmZ  G d de          Zdd	ed
edee         fdZddee         dee         dededee         f
dZdedeeeedf         f         fdZ dedefdZ!dedefdZ"dedee         defdZ#dS )    )AnyIterator
NamedTupleOptional)commands)DenominatorNotFoundErrorDoubleSubscriptsErrorDoubleSuperscriptsErrorExtraLeftOrMissingRightErrorInvalidAlignmentErrorInvalidStyleForGenfracErrorInvalidWidthError!LimitsMustFollowMathOperatorErrorMissingEndError"MissingSuperScriptOrSubscriptErrorNoAvailableTokensErrorNumeratorNotFoundError)convert_symbol)tokenizec                       e Zd ZU eed<   dZeeedf                  ed<   dZ	ee         ed<   dZ
ee         ed<   dZee         ed<   dZeeeef                  ed<   dZee         ed	<   dS )
NodetokenN.children	delimiter	alignmenttext
attributesmodifier)__name__
__module____qualname__str__annotations__r   r   tupler   r   r   r   r   dictr        k/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/latex2mathml/walker.pyr   r      s         JJJ*.HhuS#X'...#Ix}####Ix}###D(3-+/Jc3h(///"Hhsm"""""r'   r   inlinedatadisplayreturnc                 N    t          |           }|dk    }t          ||          S )Nblock)r.   )r   _walk)r*   r+   tokensr.   s       r(   walkr1       s*    d^^FwEu%%%%r'   NFr0   
terminatorlimitr.   c                 +   g }d}| D ]}d}||k    rHd }|t           j        k    rt          |           }|                    t	          ||                      n|t           j        cxk    r|k    s"n |t           j        k    r|t           j        k    rt          |t           j        k    rt          |           }t          t          | t           j                            }t          |          dk    s|d         j        t           j        k    rt          t	          |t          |          r|nd |          }	n|t           j        k    ryt          t          | t           j                            }t          |          r%|d         j        t           j        k    r
|d d         }t	          t           j        |          }	n|t           j        t           j        fv r	 |                                }
n # t$          $ r t	          d	
          }
Y nw xY w||
j        cxk    rt           j        k    r
n nt&          ||
j        cxk    rt           j        k    rIn nF|
j        ?t          |
j                  dk    r'|
j        d         j        t           j        k    rt,          d }|
j        t           j        k    rXt           j        }	 |                                }
|
j                            d          st2          nB# t$          $ r t2          w xY w|r+|
j        t           j        t           j        fv rt           j        }|t           j        k    rz|
j        t           j        k    re|
j        ^t          t          | |d                    }t	          t           j        |
j        d         g||
j        d         R |
j                  }	n|t           j        k    rh|
j        t           j        k    rS|
j        Lt          t          | |d                    }t	          t           j        g |
j        |R |
j                  }	n|t           j        k    r|
j        t           j        k    r|
j        |
j        d         j        t           j        k    rwt          t          | |d                    }t	          t           j        |
j        d         t	          t           j        |
j        d         g|R           f|
j                  }	n	 t          t          | |d                    }n# t<          $ r t>          w xY w|
j        t           j         t           j!        fv r|
j        }t	          ||
g|R |          }	nM|t           j"        k    r	 |                                }
n # t$          $ r t	          d	
          }
Y nw xY w|
j        t           j        k    rF|
j        ?t          |
j                  dk    r'|
j        d         j        t           j        k    rt,          |
j        t           j        k    r|
j        zt          |
j                  dk    rb|
j        d         j        t           j        k    rBt	          t           j        |
j        d         t	          t           j#        
          f          }	n|
j        t           j        k    rL|
j        Et	          t           j        g |
j        t	          t           j        
          R |
j                  }	nt	          t           j        |
t	          t           j        
          f          }	n}|t           j$        v rZd }t          t          | |d                    }|t           j%        t           j&        fv r|d d d         }t	          |||          }	n|t           j'        v s|                    t           j(                  r2t          t          | |d                    }t	          ||          }	n|t           j)        k    r	 t          t          | |d                    d         }|j                            d          rJd|j        dd          z   }tU          |          }|r't	          |
          }	|                    |	           t	          |
          }	|+                    |	|f           # t<          $ r t	          |
          }	Y nw xY w|t           j,        t           j-        fv rt          t          | |d                    }|d         j        t           j.        k    rjt	          t           j        t          t          | t           j/                            d d                   gt          t          | |d                    R }t	          ||          }	n|t           j0        t           j1        t           j2        t           j3        t           j4        t           j5        fv rtt          t          | |d                    }|d         j        t           j        k    r|d         j        |d         j        }t	          |d|d         j        i          }	nG|t           j6        k    rdt          |           i}t          t          | |                    }d }t          |          r#|d         j        |k    r|d d         |d         }}|                    t	          |||                     |r|                    |            
n|t           j7        k    rNdt          |           i}t          t          | |d                    d         }|8                    |          }	
n7|g t           j9        :                                t           j;        :                                t           j<        t           j=        t           j>        t           j        t           j?        t           j@        t           jA        t           jB        t           jC        t           jD        R v r t	          |t          |                     }		n^|t           jE        k    rDdt          |           i}t          t          | |d                    }t	          |||          }		n
|t           jF        t           jG        t           jH        t           jI        t           jJ        t           jK        t           jL        t           jM        fv rd }d }|t           jH        k    rFt          |           N                    d          t          |           N                    d          z   }n|t           jI        k    rJddi}t          |           N                    d          t          |           N                    d          z   }n8|t           jJ        k    rd}n%|t           jK        k    rd}n|t           jL        k    rd}|t           jF        t           jH        fv r9t          t          | |d                    d         }t          |          }d|i}n4|t           jG        t           jJ        t           jK        t           jL        fv rddi}t          t          | |                    }d }t          |          r#|d         j        |k    r|d d         |d         }}t          |          dk    r>|t           jJ        t           jK        fv rt	          t           j        d          f}nt          t          |          dk    r>|t           jJ        t           jK        fv rt	          t           j        d          g}nt          t          |          dk    rt	          t           j        |          f}t          |          dk    rg ||R }n,t	          t           j        t          |                    g|R }t	          t           jR        |||          g}||                    |            n|t           jS        k    rd }t          t          | d                     d         }|j        t           j.        k    rt          t          | t           j/                            d d         }t          t          | d                     d         }t          |          dk    rt	          t           j        |          f}|r!t	          t           jT        |g|R           }	nt	          ||f          }	n|t           jT        k    rt          t          | d!                    d d         }t          t          | d                     d         }t          |          dk    rt	          t           j        |          f}|rt	          ||g|R           }	nt	          ||t	          t           j        d          f          }	n|t           jU        v rt          t          | |                    }d }t          |          r#|d         j        |k    r|d d         |d         }}t          |          dk    r5|d         j        t           j        k    r|d         j        r|d         j        }|*|+                    t	          ||d	"          |g            nt	          ||d	"          }	n|t           jV        k    rt          |           N                    d          t          |           N                    d          z   }t          t          | |d                    \  }}t          |          }t          |          }d|i}t          t          | |d                    }|+                    t	          |
          t	          ||||#          g            n|t           jX        k    rt          t          | |d$                    \  }}}t          |          \  }}t          |          \  }}d%d&i}t	          |t	          |t	          t           jZ        t	          |j        |j        |          f          g|R           t	          |t	          |j        |j        |          g|R           f          }	n|t           j[        k    rt          t          | |d                    \  }}|j        } | t           j        k    r8|j        t          |j                  dk    rt          |j        d         j        } | ]                                st          t	          ||fdd't          |           z  d(d)i          }	n@|                    t           j_                  rt          ||           }	nt	          |
          }	|                    |	           |rt          |          |k    r n|st<          |S )*NFT)r   r   r2   r   )r   r   r   )r   r    r         \)r2   r3   )r   r   r   )r   r   r   z\nwidth)r   r   	mathcolorstyle)r   )r   r   hreflinethickness0z{}z[]z()r&   )r   r   r   r   )r3   z\ofr   r   r   )r   r   r   r      movablelimitsfalseg"~j?z.3fem)ar   RIGHTnextappendr   MIDDLEr   LEFTr$   r/   lenr   OPENING_BRACECLOSING_BRACEBRACES	SUBSCRIPTSUPERSCRIPTpop
IndexErrorr	   r   PRIMEr
   LIMITS
startswithr   	SUMMATIONPRODUCTSUBSUPr   r   r   	OVERBRACE
UNDERBRACE
APOSTROPHEDPRIMECOMMANDS_WITH_TWO_PARAMETERSOVERSETUNDERSETCOMMANDS_WITH_ONE_PARAMETERMATHNOTr   extend
XLEFTARROWXRIGHTARROWOPENING_BRACKETCLOSING_BRACKETHSKIPHSPACEKERNMKERNMSKIPMSPACECOLORSTYLE_replaceBIGkeysBIG_OPEN_CLOSEFBOXHBOXMBOXTEXTTEXTBFTEXTITTEXTRMTEXTSFTEXTTTHREFABOVEATOPABOVEWITHDELIMSATOPWITHDELIMSBRACEBRACKCHOOSEOVERlstrip_get_dimensionr   r   FRACSQRTROOTMATRICESGENFRAC
_get_styleSIDESET_make_subsupVPHANTOMSKEWr   isdigitintBEGIN_get_environment_node)!r0   r2   r3   r.   grouphas_available_tokensr   r   r   nodepreviousr   r   	next_nodenegated_symbolsymbolsiblingdimension_node	dimensiondenominator
root_nodes
style_noder>   leftrightoperator
left_tokenleft_childrenright_tokenright_children
width_nodechildr<   s!                                    r(   r/   r/   &   s.   E  Q Q#JIX^++ LL	LLEY???@@@Ex~33333333(/9Q9QV`dldrVrVr..hm##VIU6hnEEEFFH8}}!!Xb\%78>%I%I22e#h--.QhhT]fgggDDh,,,U6h6LMMMNNH8}} )"!3x7M!M!M#CRC=hoAAADDx)8+?@@@* 99;; * * *b>>>* <<<<(*<<<<<<++????8+??????!-)**a//%a(.(.@@--H~00#?<$yy{{H#>44T:: @??@! < < <;;< +8>h.@(BR-SSS#?***x~AU/U/UZbZkZw v*A!N!N!NOO"/&/2TXTx?PQR?STT%.   ---(.HDV2V2V[c[l[x v*A!N!N!NOO(/<[h>O<[RZ<[<[fnfwxxx---Nh&:::%1%a(.(.@@ v*A!N!N!NOO". )!,8?h>OPQ>R=^U]=^=^___ &.  =$U6jPQ%R%R%RSSHH- = = =<<=>h&8(:M%NNN'~H%82Gh2G2GRZ[[[h)))* 99;; * * *b>>>* ("666%1)**a//%a(.(.@@-- ("666%1)**a//%a(.(.@@("6(BSTUBVX\ckcrXsXsXsAtuuu8#555(:K:W"/Mx0M$X^2L2L2LMM%.   ("6(DW_WeLfLfLfAghhhh;;;JU6jJJJKKH)8+<===#DDbD>eh:NNNDDh:::e>N>Nx}>]>]:U6jJJJKKHeh777DDhl"")!%:Q"O"O"OPPQRS	?--d33 !%*Y_QRR-@%@N+N;;F !#.999T*** %(((dI.///) ) ) )%((()x*H,@AAAU6jJJJKKH{ H$<<<&oeFW_Wo>p>p>p8q8qrusuru8v   5JaHHHII	  eh777DDx~xx~W_WegogvwwwU6jJJJKKH{ HO338L8X#A;/e(1+:K0LMMMDDhn$$%tF||4JU6jAAABBHG8}} @"!3z!A!A$,SbSM8B<'LLEHTTTUUU &W%%%Ehn$$!4<<0JeFzKKKLLQOI%%%<<DD 
\  
$))++
 M
 M	

 M
 O
 M
 O
 O
 O
 O
 O
 
 
 
 e$v,,777DDhm## $v,,/JU6jJJJKKHeh:NNNDDNM$#NNOM	
 	
 	
 JI000 LL//55V8K8KD8Q8QQ		(111-s3
 LL//55V8K8KD8Q8QQ		(.(( 		(.(( 		(/)) 	)ABBB!&uV
RS'T'T'T!U!UVW!X*>::	-y9

8=(.(.(/ZZZ-s3
f D D DEEKG; IKO$9Z$G$G'23B3'7RW;1$$X^X^<<<#'ho#K#K#K"MKK225zzQX^X^<<<!"EEEFEE00;!###(/KPPPR5zzQ1U1[11 xuNNN]Q\]]ZclmmmnE"W%%%Ehm##JeF!44455a8I(":::"5H<T#U#U#UVVWZXZWZ[
!%a"8"8"899!<	z??Q&&"&X_z"R"R"R!TJ @(-9:Rz:R:RSSS%9,???hm##uV???@@"EJeF!44455a8I:""":NNNP
 i%92Jz2J2JKKK%9dce>f>f>f2ghhhh'''U6jAAABBHG8}} @"!3z!A!A$,SbSM8B<'8}}!!hqk&78?&J&JxXY{Oc&J#A;/"dRPPPRYZ[[[%(bIIIh&&&V++D11DLL4G4G4M4MMI).uV
Z[/\/\/\)])]&NJ&~66Iz**E)95JU6jJJJKKHLLE"""DuxS\is$t$t$tu   Eh&&&$)%:UV*W*W*W$X$X!D%(4T(:(:%J*6u*=*='K)73J( &.&7$(x~HYfp$q$q$q*"  " +" "   ) x~@Q^hiii"+" "    DD0 hm## %eFzQR&S&S&S T TJ$E''&.#j6I2J2Ja2O2O++"+A.4==?? (''euhGPVY\]bYcYcPcMkMkMkMkClmmmDDhn-- 	%(77DDe$$$DT 	SZZ5((E %$$LsU    G55HH5K::LT""T4VV98V9Bc&'cc-,c-r   .c                    | j         t          j        k    sJ 	 | j        bdt	          | j        d         j                  cxk    rdk    r8n n5| j        d         j         t          j        t          j        t          j        fv sJ | j        d         j         }| j        d         j        dd          }||fS # t          $ r Y dS w xY w)Nr9   r   rC   r:   )r7   r&   )	r   r   rO   r   rL   rY   rP   rQ   rS   )r   r   r   s      r(   r   r     s    :((((M%Sq)2338888q88888a &"$    a &=#,QRR0h   vvs   BB4 4
CCc                 p    | j         }| j         t          j        k    r| j        | j        d         j         }|S )Nr   )r   r   rO   r   )r   r   s     r(   r   r     s4    
IzX_$$)BM!$*	r'   c                 
   | j         }| j         t          j        k    r| j        | j        d         j         }|dk    rt          j        S |dk    rt          j        S |dk    rt          j        S |dk    rt          j        S t          )Nr   rA   123)	r   r   rO   r   DISPLAYSTYLE	TEXTSTYLESCRIPTSTYLESCRIPTSCRIPTSTYLEr   )r   r>   s     r(   r   r     s|    JEzX_$$)Ba &||$$||!!||##||))
%%r'   r   c                    |                      d          dz   }| |d         }t          j         d| d}t          t	          ||                    }t          |          r|d         j        |k    rt          |d d         }d}t          |          r|d         j        t          j        k    rdt          |          }t          |           |D ]3}|j        t          j        k    r n|j        dvrt          ||j        z  }4t          |          }nt          |          r|d         j        |d         j        t          j        k    s0|                    d	          rs|d         j        t          j        k    rXt#          d
 |d         j        D                       r4d                    d |d         j        D                       }|dd          }t'          d| ||          S )N{r:   r6   }r5   r7   r   lcr|*c              3   (   K   | ]}|j         d v V  dS )r   Nr8   .0cs     r(   	<genexpr>z(_get_environment_node.<locals>.<genexpr>  s)      @@a6!@@@@@@r'   c              3   $   K   | ]}|j         V  d S )Nr8   r   s     r(   r   z(_get_environment_node.<locals>.<genexpr>  s$      BBAGBBBBBBr'   r;   rB   )indexr   ENDr$   r/   rL   r   r   rg   iterrH   rh   r   r   rO   endswithBRACKETSalljoinr   )	r   r0   start_indexenvironmentr2   r   r   children_iterr   s	            r(   r   r     s   ++c""Q&KB'K\44[444JU6j999::H
8}} "+z99}HI
8}}  !*h.FFFX] 	! 	!Aw(222&&++ II''H
 QK ,QK00$$S)) 1.6qk.?8CT.T.T@@8A;+?@@@@@ /U GGBBXa[-ABBBBB	ABB<(;((8yQQQQr'   )r)   )Nr   F)$typingr   r   r   r   latex2mathmlr   latex2mathml.exceptionsr   r	   r
   r   r   r   r   r   r   r   r   r   latex2mathml.symbols_parserr   latex2mathml.tokenizerr   r   r"   listr1   r   boolr/   r$   r   r   r   r   r&   r'   r(   <module>r      sY   6 6 6 6 6 6 6 6 6 6 6 6 ! ! ! ! ! !                            7 6 6 6 6 6 + + + + + +# # # # #: # # #& &s &S &T
 & & & &X X(3- XXc] X# XZ^ Xkoptku X X X Xv
t c5s+;&; <    * #    &T &c & & & &!R !Rhsm !R !R !R !R !R !R !Rr'   