
     fh                        d dl Z 	  G d d      Z G d d      Z G d d      Z G d d	e      Z G d
 de      Z G d de      Z G d de      Z G d d      Z G d d      Z	 G d d      Z
 G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d  d!e      Z G d" d#e      Z G d$ d%e      Z G d& d'e      Z G d( d)e      Z G d* d+e      Z G d, d-e      Z G d. d/e      Z G d0 d1e      Z G d2 d3e      Z G d4 d5e      Z G d6 d7e      Z G d8 d9e      Z G d: d;e      Z G d< d=e      Z G d> d?e      Zy)@    Nc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)docnodec                 "    t               | _        y N)listelementsselfs    %D:\Git_Server-LaTeX-VALEP\py\latex.py__init__zdocnode.__init__   s        c                 h   d}| j                   D ]  }t        |t              r;|j                  dk(  r||j	                          dz  }9||j	                          z  }Nt        |t
              r||j	                          z  }st        |t              r|t        |      z  }t        d| d        |S )N par
ERROR: type of  could not be identified!
)r   
isinstanceCommandnameexpandr   strprint)r
   stringelements      r   r   zdocnode.expand"   s    }} 	NG'7+<<5(!1 2"55F!1 23FGW-W^^-./GS)#g,&y0KLM	N r   c                    d}| j                   D ]  }t        |j                  t              r|j	                  |      }|r|c S t        |j                  t              sO|j                  |k(  r|c S |j                  D ]%  }|j                  j	                  |      }|s!|c c S  |j                  D ]%  }|j                  j	                  |      }|s!|c c S   |S NF)r   r   	__class__r   find
issubclassr   r   optargscontentreqargs)r
   r   nodeelemoptargreqargs         r   r   zdocnode.find3   s    MM 	)D$..'2yy$..'299$Tk"ll )F!>>..t4DD[) #ll )F!>>..t4DD[)	) r   c                    d}| j                   D ]z  }t        |t              r||j                  |      z  }(t        |t              r||j                  |      z  }Mt        |t
              r|t        |      z  }lt        d| d       | |S )Nr   r   r   )r   r   r   renderr   r   r   )r
   jinjar   r   s       r   r)   zdocnode.renderD   s    }} 	NG'7+'..//GW-'..//GS)#g,&y0KLM	N r   c                 \   d}t        |t              r|j                  j                  D ]  }t        |t              r||z  }t        |t
              r6|j                  dk(  r||z  }>|j                  dk(  rN|j                  dk(  s^_t        |t              rp|dz  }t        d        |S y)Nr   objattfilterz: [ERROR: incorrect expression in jinja document template] z/ERROR: "template" is not a jinjaDocument object)	r   jinjaDocumentdocr   r   jinjaExpressiontypejinjaStatementr   )r
   template
doc_stringr   r   s        r   render_documentzdocnode.render_documentR   s    h}-#<<00 Xgs+Vw->V8||u,*, . 17ZZFVWX MDr   c                     t        | j                        dk(  ry| j                  D ]!  }t        |      r|dk(  s yt        |      r! y y)Nr   Fr   T)lenr   r   )r
   r%   s     r   nonemptyzdocnode.nonemptyg   sE    t}}"5MM 	,D4yDYt	, r   N)	__name__
__module____qualname__r   r   r   r)   r6   r9    r   r   r   r      s!    ""E*r   r   c                      e Zd Zi ddddddddd	d
dddddddddddddddddddddddd i d!d"d#d$d%d$d&d$d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d*d8d9d:d.d;d<d=d>i d?d@dAdBdCdDdEdFdGdHdIdHdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_i d`d_dadbdcdddedfdgdhdidjdkdldmdndodndpdqdrdsdtdsdudsdvdwdxdwdydwdzdwd{d|d}dfd~dddddddddZd Zd Zd Zd Zd Zy)docstack	VALEPlbrc{	VALEPrbrc}ztextdollar*$VALEPand&	VALEPhash#VALEPpct%textbackslash\
textemdashu   —
textendashu   –textasciitilde~textasciicircum^textunderscore_textvisiblespaceu   ␣textasteriskcenteredu   ⚹ztextbraceleft*ztextbraceright*
textbulletu   •textperiodcentered   ·ztextellipsis*u   …ldotsdotsglqqu   „grqqu   “glqu   ‚grqu   ‘flqq   «frqq   »flqu   ‹frqu   ›textquotedbllefttextquotedblrightu   ”textquotelefttextquoterightu   ’o   øO   Ølu   łLu   Łiu   ıP   ¶ztextparagraph*ddagu   ‡oeu   œOEu   Œae   æAE   Æaa   åAA   Åss   ßSSu   ẞzdh*   ðzDH*u   ĐzDJ*zdj*u   đS   §dagu   †textbar|texttrademarku   ™textexclamdown   ¡textregistered   ®cirlcedRtextquestiondown   ¿	copyright   ©ztextcopyright*textcopyrighteurou   €EURtexteuroEURofc   £u   ✓u   ✠   ½   ¼   ¾u   ⟨u   ⟩u   ⌊u   ⌋u   ⌈u   ⌉)pounds	checkmarkmaltese
textdaggertextonehalftextonequartertextthreequarterslangleranglelfloorrfloorlceilrceilc                     t               | _        t               | _        t               | _        t               | _        t               | _        t               | _        y r   )r   cdsenvscounterstheoremspackagesdictunknownr	   s    r   r   zdocstack.__init__   s8    6F	vr   c                 h    | j                   D ]#  }|j                  |k(  s|j                  dk(  s# y y)Nr   TF)r   r   nargr
   command_namecomms      r   is_defined_textmacrozdocstack.is_defined_textmacro   s2    HH 	IDyyL(TYY!^D	Ir   c                 `    | j                   D ]  }|j                  |k(  s|j                  c S  yr   )r   r   begdefr   s      r   get_definition_textmacroz!docstack.get_definition_textmacro   s-    HH 	=DyyL(*<	=r   c                    d}| j                   D ]8  }t        |t              r||j                          dz  }*t	        d| d       : |dz  }| j
                  D ]8  }t        |t              r||j                          dz  }*t	        d| d       : |dz  }| j                  D ]8  }t        |t              r||j                          dz  }*t	        d| d       : |dz  }| j                  D ]8  }t        |t              r||j                          dz  }*t	        d| d       : |dz  }| j                  D ])  }t        |t              s||j                          dz  }+ |d	z  }t        | j                  j                               }|j                          |D ]  }|| d
| j                  |    dz  } |S )Nz%
LIST OF DECLARATIONS:
(1) Commands:
r   zERROR: z# does not have the type NewCommand!z
(2) Environments:
z
(3) Counters:
z
(4) Theorems:
z
(5) Packages:
$
UNKNOWN COMMANDS AND ENVIRONMENTS

 ()
)r   r   
NewCommandr   r   r   r   r   r   r   r   r   keyssort)r
   r   r   r   ks        r   r   zdocstack.expand   s   ;xx 	PG':.W^^=M<Nb:Q0Q''*MNO	P 	))yy 	PG':.W^^=M<Nb:Q0Q''*MNO	P 	%%}} 	PG':.W^^=M<Nb:Q0Q''*MNO	P 	%%}} 	PG':.W^^=M<Nb:Q0Q''*MNO	P 	%%}} 	OG'7+V'..:J9K27N-NV	O;;DLL%%'(		=AvA3ba(9!==v=r   c                     d}t        | j                  j                               }|j                          |D ]  }|| d| j                  |    dz  } |S )Nr   r   r   )r   r   r   r   )r
   r   r   r   s       r   expand_unknownzdocstack.expand_unknown   sV    :DLL%%'(		=AvA3ba(9!==v=r   N)	r:   r;   r<   text_macrosr   r   r   r   r   r=   r   r   r?   r?   o   s   
S
%s
,93
C
$c
+5s
<KT
 	e
 *5
 	#	
  1#	
 7G	
 N`af	

 	

 (8

 ?PQT
 	e
 24
 :I%
 RYZ_
 bhin
 	
 u
 ',U
 5:5
 CI$
 QWX\
 _dej
 mrsx
 	E
 $7
 @OPU
 Xhin
 	T
 
 "4
 *-d
 58
 @CD
 K[\`
 cijo
 	d
 $
 !%d
 -1$
 9=d
 EI$
 QUVZ
 ]abg
 	t
 D
 #(
 05d
 	T
 %
 "+C
 2A%
 JZ[_
 	$
 !+D
 3Ed
 MXY]
 `pqu
 xG  IM
  	!
  e!
  &0!
  9A%!
  TXuERVjn!Ueu`epu'
K2
4r   r?   c                       e Zd Zd Zd Zy)r   c                     t        |      | _        t        |      | _        d| _        t	               | _        t	               | _        t	               | _        t	               | _        y )Nr   )	r   r2   r   r   r   optsecoptr   enddef)r
   r2   r   s      r   r   zNewCommand.__init__   sC    I	I		9iiir   c           
      &   | j                   dk(  s| j                   dk(  rd| j                   }n| j                  }| j                  rd| j                   d}nd}| j                  r9| j                  j	                         rd| j                  j	                          d}nd}| j
                  r9| j
                  j	                         rd| j
                  j	                          d}nd}| j                  r9| j                  j	                         rd| j                  j	                          d}nd}| j                  r9| j                  j	                         rd| j                  j	                          d}nd}d| j                    d| d| | | | | 
S )	N
newcommandznewcommand*rL   []r   rA   rC   )r2   r   r   r   r   r   r   r   )r
   commandr   r   r   r   r   s          r   r   zNewCommand.expand   sT   99$		](B499+&GiiG99q1-dd88)dhhoo'(*Cc;;4;;--/++-.a0Ff;;4;;--/$++,,./r2Ff;;4;;--/$++,,./r2FfDII;b	D6#vhvhvhOOr   N)r:   r;   r<   r   r   r=   r   r   r   r      s     Pr   r   c                       e Zd Zy)r   Nr:   r;   r<   r=   r   r   r   r          r   r   c                       e Zd Zy)newenvironmentNr   r=   r   r   r   r      r   r   r   c                       e Zd Zy)
newcounterNr   r=   r   r   r   r      r   r   r   c                       e Zd Zy)
newtheoremNr   r=   r   r   r   r      r   r   r   c                       e Zd Zd Zy)	jinjaSpecc                 x   || _         t               | _        t        j                  dd|      }|j                  d      }|D ]w  }|s|j                         d   }|t        |      dz   d  j                         }|j                         j                         }t        ||      }|D ]  }|| j                  |<    y y )N\{#[^#].*#\}r   z

name:r      )
errorr   r   regexsubsplit
splitlinesr8   stripjinjaCommSpec)	r
   r   r   specsspecitcommsspecspeclistr   s	            r   r   zjinjaSpec.__init__   s    
OBv6[) 	3F))+A.c%jlm,224++-(u5! 3D*2DMM$'3	3r   Nr:   r;   r<   r   r=   r   r   r   r      s    3r   r   c                       e Zd Zd Zy)r/   c                 p    || _         || _        t        j                  dd|      }t	        ||      | _        y )Nr   r   )r   r   r   r   r   r0   )r
   r   template_stringr   s       r   r   zjinjaDocument.__init__	  s0    
))_RH %8r   Nr   r=   r   r   r/   r/     s    9r   r/   c                       e Zd ZddZy)r   c                    || _         t               | _        t        j                  d|      rt        j                  d|      }|}|j                         dkD  r,| j                  j                  |d|j                                 |j                  d      dk(  r|j                  d      dk(  r|j                  d      j                         }|dd dk(  rt        j                  d|      r\t        j                  d|      }t        ||j                         |j                                }| j                  j                  |       n| xj                   d	z  c_         t        d
       n| xj                   dz  c_         t        d       n|j                  d      dk(  rX|j                  d      dk(  rDt        |j                  d      j                               }| j                  j                  |       n | xj                   dz  c_         t        d       ||j                         d  }t        j                  d|      r|r| j                  j                  |       y y )Nz\{(\%|\{)(.*?)(\%|\})\}r   r   rJ         if\{\%\s*endif\s*\%\}z&jinja ERROR: incomplete if statement.
z%jinja ERROR: incomplete if statement.z)jinja ERROR: statement type not covered.
z(jinja ERROR: statement type not covered.rA   rC   zjinja ERROR: incorrect syntax.
zjinja ERROR: incorrect syntax.)r   r   r   r   searchstartappendgroupr   r3   endr   r1   )r
   r   r   	specstartspecend	statement
expressions          r   r   zjinjaCommSpec.__init__  s   
ll5d;%?EIG 1$dmm&:&:4)//BS;T&Uq!S(Y__Q-?3-F%OOA.446	Qq>T)||$:4@"',,/Ed"K$24	8I'++-3X$Y	,,Y7

(OP
 EGJJ$NOJDF#s*yq/AS/H,Y__Q-?-E-E-GH
$$Z0

 @A
68(D1 ll5d;2 %%d+4r   N)r   r   r=   r   r   r   r     s    ,r   r   c                       e Zd Zd Zy)jinjaIfClausec                 D    t        |      | _        t        |      | _        y r   )r1   questionr   answer)r
   r   r   s      r   r   zjinjaIfClause.__init__3  s    '1#F+r   Nr   r=   r   r   r   r   2  s    ,r   r   c                       e Zd Zd Zy)r3   c                    t               | _        t        d      | _        |dd dk(  r|dd  dk(  rt	        j
                  d|      }|j                  d      j                         }|j                  d      }| j                  j                  t        ||             ||j                         d  }t	        j
                  d	|      rt	        j
                  d	|      }|j                  d      j                         }|j                  d      }| j                  j                  t        ||             ||j                         d  }t	        j
                  d	|      rt	        j
                  d
|      rJt	        j
                  d
|      }|j                  d      }t        |      | _        ||j                         d  }t	        j
                  d|      st        d|        y y t        d|        y )Nr   r   r   z{%z%}z\{\%\s*if(.*?)\%\}(.*?)(?=\{\%)r   z!\{\%\s*elif(.*?)\%\}(.*?)(?=\{\%)z\{\%\s*else\s*\%\}(.*?)(?=\{\%)r   z$jinja ERROR: if statement ends with z.There is something wrong with jinja statement )r   elifsr   
elseclauser   matchr   r   r   r   r   r   )r
   r   r   r   r   s        r   r   zjinjaStatement.__init__;  s   V
'+!9bcd!2$FtLI q)//1H__Q'FJJmHf=>	()D++B4H!KK(LTR	$??1-335"+

!!-&"ABIMMO,- ++B4H {{=dC!KK(J4P	"+"/"7IMMO,-;;5d;UEijnioCp=q;B4&IJr   Nr   r=   r   r   r3   r3   :  s    Kr   r3   c                       e Zd Zd Zy)r1   c                     |j                         }|dk(  rd| _        d| _        y |dd dk(  rd| _        |dd  | _        y d| _        || _        y )	Nr,   r   r      zobj.attributesr-      r.   )r   r2   	attribute)r
   exprs     r   r   zjinjaExpression.__init__X  sS    zz|5=DIDN!BZ++DI!"#YDN DI!DNr   Nr   r=   r   r   r1   r1   W  s    "r   r1   c                       e Zd Zd Zy)Argumentc                 ^    t               | _        t               | _        t               | _        y r   )r   r   datatyper   r"   r	   s    r   r   zArgument.__init__g  s    E	yr   Nr   r=   r   r   r  r  f  s    !r   r  c                   4    e Zd ZdZd Zd Zd Zd Zd Zd Z	y)	r   r   c                    t        |      | _        t               | _        t               | _        t               | _        d }t        j                  d|| j                  j                        }|j                         }d}d}|D ]  }|d   dk(  r|d   dk(  rz|dd j                  d      }t        |      dkD  r|d   }nd	}t               }	|d   |	_        ||	_        | j                  j                  |	       d
|g| j                  |d   <   |dz  }|j                  d      }t        |      dkD  r|d   }nd	}t               }	|d   |	_        ||	_        | j                  j                  |	       d|g| j                  |d   <   |dz  } y )Nc                 L    d| j                  d      j                          d}|S )Nr   r   r   )r   r   )r  replacements     r   replzCommand.__init__.<locals>.replx  s(    ekk!n2245Q7Kr   z\[([^\]]*)\]r   r   r   r   :r   r   req)r   r   r   r!   r#   r   argdictr   r   r   argsr   r8   r  r  r   )
r
   r   r  r  optargnrreqargnrarg
argcontentr  arguments
             r   r   zCommand.__init__r  so   I	vvv	 yy$0C0CDzz| 	C1v}RC 2Y__S1
z?Q&:a=!#h#: *1$,!##H-/4X.>Z]+A YYs^
z?Q&:a=!#h#: *1$,!##H-/4X.>Z]+A)	r   c                 6	   d}|j                   D ]  }t        |t              r||z  }t        |t              r|j                  dk(  r>| j
                  r,|| j
                  d   j                  j                  |      z  }r|dz  }x|j                  dk(  r4|j                  | j                  v r| j                  |j                     d   dk(  rG|| j                  | j                  |j                     d      j                  j                  |      z  }| j                  |j                     d   d	k(  rG|| j
                  | j                  |j                     d      j                  j                  |      z  }l|d
z  }st        j                  d|j                        r!t        j                  d|j                        }|j                  d      }|j                  d|j                          }|| j                  v s| j                  |   d   dk(  rI| j                  | j                  |   d      |   r'|| j                  | j                  |   d      |   z  }P| j                  |   d   d	k(  rI| j
                  | j                  |   d      |   r'|| j
                  | j                  |   d      |   z  }|dz  }|dz  }|j                  dk(  r|dz  }|dz  }t        |t              r|j                   D ]Y  }|j"                  rD|j$                  r7d}	|j"                  j                  dk(  r| j&                  rd}	n|j"                  j                  dk(  r|j"                  j                  j)                  d      }
t+        |
      dkD  r|dz  }n|
d   | j                  v rz| j                  |
d      d   dk(  r%| j                  | j                  |
d      d      rd}	nH| j                  |
d      d   d	k(  r0| j
                  | j                  |
d      d      rd}	n|dz  }n|dz  }|	s4|| j-                  |j$                  |      z  }U|dz  }\ |j.                  sa|| j-                  |j.                  |      z  }|dz  } |S )Nr   r,   r  z( [RENDERING ERROR: no reqarg available] r-   r   r   r   r  z[UNKNOWN ARGUMENT]z\[(.*)\]z([something wrong with special attribute]z[Unknown Att Type]r.   z  [FILTER (not yet implemented) ]z! [RENDERING ERROR IN JINJA FILE] FTr   z[jinja complex argument]z"jinja ERROR: argument not present.z[FILTER (not yet implemented)]z'[jinja ERROR: if clause is incomplete.])r   r   r   r1   r2   r#   r"   r)   r	  r  r!   r   r   r   r   r3   r  r   r   requargsr   r8   render_jinja_specr  )r
   r   r*   r   r   indexargprr  quandaquattnames              r   r   zCommand.render_jinja_spec  sP   }} D	<G'#&GO4<<5(||R 0 8 8 ? ? FF JJ\\U*((DLL8<<(9(9:1=F DLLg>O>O1PQR1S$T$\$\$c$cdi$jjD!\\'*;*;<Q?5H DLLg>O>O1PQR1S$T$\$\$c$cdi$jjD $88D !<<G4E4EF$)LLW=N=N$OE$)KKNE")"3"3Aekkm"DC$4#'<<#6q#9U#Bt||TXT`T`afTghiTjGkloGp$(DLLe9LQ9O,PQT,U$UD%)\\%%8%;u%DVZVbVbchVijkVlImnqIr$(DLLe9LQ9O,PQT,U$UD$(,V$VD $88D\\X->>D??DGN3%mm JF6=="!??//58#}}4b#__11U:&,oo&?&?&E&Ec&JG"7|a/ $(B B $+1:#='+||GAJ'?'Be'KPTP\P\]a]i]ijqrsjt]uvw]xPy-1)-gaj)A!)D)MRVR^R^_c_k_klstulv_wxy_zR{-1$(,P$PD $DDD D$:$:6==%$PPD II3J4 %%D2273E3EuMMD;;ID	<J r   c                    d}t        | j                  t              rt        | t              r|d| j                          dz  }|S t        | t              r|d| j                          dz  }|S t        | t              r|d| j                          dz  }|S t        | t              r|d| j                          d	z  }|S d
}|S t        | j                  t              rF|dz  }| j                  D ]+  }|dz  }|D ]  }|d|j                  |       dz  } |dz  }- |dz  }|S | j                  |j                  v r+| j                  |j                  | j                     |      }|S | j                  D ]$  }|d|j                   j                  |       dz  }& | j"                  D ]$  }|d|j                   j                  |       dz  }& |S )Nr   z\(z\)z\[z\]z\begin{equation}z\end{equation}z\begin{eqnarray}z\end{eqnarray}z [ERROR: formula type unknown] z	
<table>
z
<tr>z<td>z</td>z</tr>z

</table>
z	<opt-arg>z
</opt-arg>z	<req-arg>z
</req-arg>)r    r   Formular   mathexpand_formuladisplaymathequationeqnarraytabularrowsr)   r   r   r   r!   r"   r#   )r
   r*   r   rowcellr&   r'   s          r   r)   zCommand.render  s   dnng.$t$dD4G4G4I3J#.N&Nd K D-tT=P=P=R<SSV7W/Wt
 K	 D(+T7J4K^K^K`Jaar5s-sT K D(+T7J4K^K^K`Jaar5s-sT K 9Kdnng. M!Dyy    =Dd4;;u#5"6e<<D=	 
 N"DKYY%..())%..*CUKDK ,,d)FNN<Q<QRW<X;YYc0d(dd,,d)FNN<Q<QRW<X;YYc0d(ddKr   c                 `   t        | t              r| j                         S d}| j                  D ]#  }|d|j                  j                          dz  }% d}| j                  D ]#  }|d|j                  j                          dz  }% |s|rd| j                   | | S d| j                   dS )Nr   r   r   rA   rC   rL    )r   r-  expand_tabler!   r"   r   r#   r   r
   r!   r  r#   s       r   r   zCommand.expand  s    dG$$$&&<<GCa0B0B0D/EQ,G!GG<<ICb1C1C1E0Fb,I!IIg		{7)G955		{!$$r   c                 v    d}| j                   D ]'  }|dz  }|D ]  }|j                         }|d| dz  } ) |S )Nr   z	    ROW: zCELL: r   )r.  r   )r
   r   r/  r0  r   s        r   r3  zCommand.expand_table  sX    99 	+C;C +xr**+	+
 
r   c                    d}| j                   D ]#  }|d|j                  j                          dz  }% d}t        | j                        dkD  r5| j                  dd D ]#  }|d|j                  j                          dz  }% t        | j                        dkD  r*|| j                  d   j                  j                         z  }| | S )	Nr   r   r   r   r   r  rA   rC   )r!   r"   r   r8   r#   r4  s       r   r)  zCommand.expand_formula  s    <<GCa0B0B0D/EQ,G!GGt||q ||Ab) 9R 2 2 45R889t||q 'T\\"-=-E-E-L-L-N"N'7)$$r   N)
r:   r;   r<   r  r   r   r)   r   r3  r)  r=   r   r   r   r   p  s)    D!FGV#J
%%r   r   c                       e Zd Zy)UnknownCommandNr   r=   r   r   r8  r8  %  r   r   r8  c                       e Zd Zy)EnvironmentNr   r=   r   r   r:  r:  (  r   r   r:  c                       e Zd Zy)UnknownEnvironmentNr   r=   r   r   r<  r<  ,  r   r   r<  c                       e Zd Zy)r'  Nr   r=   r   r   r'  r'  2  r   r   r'  c                       e Zd ZdZy)r(  r   Nr:   r;   r<   r  r=   r   r   r(  r(  5      Dr   r(  c                       e Zd ZdZy)r*  r   Nr?  r=   r   r   r*  r*  8  r@  r   r*  c                       e Zd ZdZy)r+  r   Nr?  r=   r   r   r+  r+  ;  r@  r   r+  c                       e Zd ZdZy)r,  declNr?  r=   r   r   r,  r,  >  s    Dr   r,  c                   "     e Zd ZdZ fdZ xZS )r-  z[ opt ] defc                 `    t         |   |       t               | _        t               | _        y r   )superr   r   coldefr.  )r
   r   r   s     r   r   ztabular.__init__C  s"    fF	r   )r:   r;   r<   r  r   __classcell__)r   s   @r   r-  r-  A  s    D r   r-  c                       e Zd ZdZy)tabular_zwidth [opt] defNr?  r=   r   r   rK  rK  I  s    Dr   rK  c                       e Zd ZdZy)tabbingr   Nr?  r=   r   r   rM  rM  L  r@  r   rM  c                       e Zd ZdZy)
usepackage[ opt ] selfNr?  r=   r   r   rO  rO  O  s    Dr   rO  c                       e Zd ZdZdZy)SectionrP  r   N)r:   r;   r<   r  levelr=   r   r   rR  rR  S  s    DEr   rR  c                       e Zd ZdZy)newlinez[ opt ]Nr?  r=   r   r   rU  rU  g  s    Dr   rU  c                       e Zd ZdZy)VALEPThinSpacer   Nr?  r=   r   r   rW  rW  k  r@  r   rW  c                       e Zd ZdZy)	VALEPnbspr   Nr?  r=   r   r   rY  rY  n  r@  r   rY  ) r   r   r?   r   r   r   r   r   r   r/   r   r   r3   r1   r  r   r8  r:  r<  r'  r(  r*  r+  r,  r-  rK  rM  rO  rR  rU  rW  rY  r=   r   r   <module>rZ     sz   0N NbQ Qh#P #PJ	 		Z 		 		 	3 3"9 9, ,B, ,K K:" "! !r% r%j	W 		' 		 		k 	7 ' w w k w g  g (g W  r   