
    Mh                    f   d Z ddlZddl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mZmZ ddlmZ ddlmZ g 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 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 d( d)e          Z,dS )*z
    pygments.lexers.jvm
    ~~~~~~~~~~~~~~~~~~~

    Pygments lexers for JVM languages.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)	Lexer
RegexLexerincludebygroupsusingthiscombineddefaultwords)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespaceshebang_matches)	unistring)	JavaLexer
ScalaLexer	GosuLexerGosuTemplateLexerGroovyLexer	IokeLexerClojureLexerClojureScriptLexerKotlinLexer
XtendLexerAspectJLexerCeylonLexerPigLexer	GoloLexerJasminLexer	SarlLexerc                   :   e Zd ZdZdZdZdgZdgZdgZdZ	e
j        e
j        z  Zd ee ee          ej                  d	fd
efd eej        e          fdej        fdefd e ee          ej        ee          fdej        fdej        fdej        fd eej        e          dfdej        fdej        d	fd eej        e          dfd eej        e          dfdedfdedfdej        fd eeej                   fd eeee          fd  eeej!        e          fd!efd"e"j#        fd#e"j$        fd$e"j%        fd%e"j&        fd&e"j'        fd'e(fd(efd)efgd*e)fd!ej*        d+fgd!ed+fgd,ej        d+fgd-ed+fdef e+d          gd.efd/efd0efd1efded+fgd2Z,d3S )4r   z
    For Java source code.
    Javaz(https://www.oracle.com/technetwork/java/javaz*.javaztext/x-java zJ(^\s*)((?:(?:public|private|protected|static|strictfp)(?:\s+))*)(record)\bclass[^\S\n]+(//.*?)(\n)	/\*.*?\*/zz(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while)\bzF((?:(?:[^\W\d]|\$)[\w.\[\]$<>?]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()@[^\W\d][\w.]*z(abstract|const|enum|extends|final|implements|native|private|protected|public|sealed|static|strictfp|super|synchronized|throws|transient|volatile|yield)\b6(boolean|byte|char|double|float|int|long|short|void)\b(package)(\s+)import(true|false|null)\bz(class|interface)\bz
(var)(\s+)varz(import(?:\s+static)?)(\s+)z"""\nmultiline_string"string!'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'(\.)((?:[^\W\d]|\$)[\w$]*)z^(\s*)(default)(:)z^(\s*)((?:[^\W\d]|\$)[\w$]*)(:)z([^\W\d]|\$)[\w$]*a  ([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?z"0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?z0[bB][01][01_]*[lL]?z0[0-7_]+[lL]?z0|[1-9][0-9_]*[lL]?[~^*!%&\[\]<>|+=/?-]
[{}();:.,]\n\s+#pop	[\w.]+\*?"""z[^\\"]+\\\\\\"\\)rootr,   r5   r3   r6   r8   N)-__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedre	MULTILINEDOTALLflagsr   r   r   r   r   Declarationr   Single	Multiliner   Functionr   	DecoratorType	NamespaceConstantr   Char	AttributeLabelr   FloatHexBinOctIntegerr   r   Classr   tokens     S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/jvm.pyr   r      s         D
4ChG
IIML29$E [Xj%%++w/BCCWN*%XXgnjAAB7,-M XeeDkk4=*kJJL /,-4-@B G\):J G GR#W%56#W%8'BHHW%8*EEuM+XXg6G-T-Tv1268$16;?*HH[59^-E -E F"HHZ+$N$NO/*dj:E2G 2G H"D). 06|= 3FJ?$fj1vz*#V^4$h/K(Jg4
l TN"DJ7

 #D&1
 4>62
 VV$6NGH
  fVFO66"
KL LFFFrg   r   c                   N    e Zd ZdZdZdZdgZdgZdgZdZ	h dZ
h d	Zh d
Zd ZdS )r"   z"
    For AspectJ source code.
    AspectJzhttp://www.eclipse.org/aspectj/aspectjz*.ajztext/x-aspectj1.6>+   getsetargscalllocksoftaftercflowerroraroundaspectbeforetargetunlockwithindeclarehandlerparentsperthisproceedwarningpercflowpointcutthrowing	execution	pertarget	returning
annotation
cflowbelow
precedence
privileged
withincodeissingletonpercflowbelowpertypewithinthisJoinPointinitializationadviceexecutionpreinitializationthisAspectInstancestaticinitializationthisJoinPointStaticPart thisEnclosingJoinPointStaticPart>   soft:error:parents:warning:precedence:>   @type@field@method@constructorc              #   ^  K   t                               | |          D ]\  }}}|t          u r|| j        v r|t          |fV  %|t          j        u r0|| j        v r'|t          |d d         fV  |t          |d         fV  c|t          j        u r|| j	        v r|t          |fV  |||fV  d S )N)
r   get_tokens_unprocessedr   aj_keywordsr   r^   aj_inter_typer   rX   aj_inter_type_annotation)selftextindextokenvalues        rh   r   z#AspectJLexer.get_tokens_unprocessed   s      #,#C#CD$#O#O 		* 		*E5%}}$*:!:!:We+++++$*$$$2D)D)DWeCRCj0000XuRy00000$.((Ud6S-S-SWe+++++UE)))))		* 		*rg   N)rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   r   r   r   r   rf   rg   rh   r"   r"   w   s          D
+CkGI!"IM
 
 
K ONNMMMM
* 
* 
* 
* 
*rg   r"   c                   Z   e Zd ZdZdZdZdgZdgZdgZdZ	e
j        e
j        z  Zd ej        d	d
          z   dz   Zd ej        ddddd          z   dz   Zd ej        dd          z   dz   Zde dZd                    e                    dd                    Ze dZe e dZe e de dZe e de dZde de dZdZde de dZdZd Zd!Z d"Z!d#Z"i d$ e#d%           e#d&           e#d'           e#d(           e#d)           e#d*           e#d+           e#d,           e#d-           e#d.           e#d/           e#d0           e#d1           e#d2           e#d3           e#d4           e#d5           e#d6           e#d7           e#d8           e#d9           e#d:          gd%d;e$fgd&d<e%j&        fd=e%j'        d>fgd'd?e%j(        fgd(d@ e)e*e$          dAfgd)dB e)e*e$e*e$          dCfdD e)e*e$          dCfgd* e+e"dEdEF          e*fdGe*fgd+dHe e,j-        fgd,dI e)e.e$e*e$          fgd-dJe dKe dL e)e*e$e,j/                  fdMe dKe dL e)e*e$e,j0                  fdNe dKe dL e)e*e$e*e$e,j0                  fdOe dKe dL e)e*e$e,j0                  fdPe*j1        fdQe dKe dL e)e*e$e*e$e,j2                  fdR e)e*e$          dSfdTe d e)e*e$e,j0                  fdTe dL e)e*e$e,          fg	d.dUe de dVe dW e)e*e$e,j0                  fgd/dX e)e*e$          fgd0dY e)e*e$e*          fdZe de  e)e*e$e,j0                  fdZe de dLe  e)e*e$e,j2                  fgd9d[e.fd\e.fgd7 e+e dEdEF          e*fgd8dKe d] e)e3e$          fd^e3f e+e!          e3fd_e d`e de3fgd1dae,j4        j5        fdbe*j6        fdce7j8        fdde7j9        fdee7j9        fdfe7j9        fdge7j:        j;        fdhe7j:        fdie<fdje<fdk e)e<j=        e<j>        e<j=                  fdle<j=        fgi d2dme<dnfdoe<dpfdqe<fgd3dre dse<j?        fgd4dt e)e.e*          fgd5due de dve*fdwe*fgd6dxe.fdye.fgd:ee,j0        fee,fgd>dze%j'        fd=e%j'        d{fd|e%j'        d}fd~e%j'        fgdAde@d}f e#d&          de*f e#d          de.dfgd e#d%           e#d&          de*fde3fde.d}fde.fde.f e#d          gdCde@d}f e#d&           e#d          de.dfgd e#d%           e#d&          de3fde.d}fde.f e#d          gdSde@d}fde.d}f e#d&           e#d          gdnde<d}fde<f e#d          gdpde<d}f e#d          gdde<jA        d}fde.df e#d$          gdde.d{fde.d}f e#d$          gdee,j0        fdKe d e)e,j2        e.          fde.fee,fde$fgdde<fde<j>        fde d e)e<jA        e,          fde<jA        dfde<fgiZBdS )r   z 
    For Scala source code.
    Scalazhttp://www.scala-lang.orgscalaz*.scalaztext/x-scalar+   z[!#%&*\-\/:?@^SmSo]z[_\$LlLuLoNlLt[z(?:z|[0-9])z(?:{}|[0-9])\$+*z
*(?:(?<=_)z+)?|z+)z`[^`]+`)z
(?!//|/\*)z(?=\s*(//|$)))newreturnthrowclassOfisInstanceOfasInstanceOfelseifthendowhileforyieldmatchcasecatchfinallytry)z<%z=:=z<:<z<%<z>:z<:===z!=<=>=z<><>z<-u   ←->u   →=>u   ⇒?@r   -r   r   %~\)private	protectedsynchronizedz	@volatileabstractfinallazysealedimplicitoverridez
@transientz@nativerE   
whitespacecommentszscript-headerimportsexportszstorage-modifiersannotationsr   declarationsinheritance	extensionend	constantsstringssymbolszsingleton-typeinlinequotedkeywords	operatorspunctuationnamesr>   //.*?\n/\*commentz^#!([^\n]*)$z\b(import)(\s+)zimport-pathz\b(export)(\s+)(given)(\s+)zexport-pathz\b(export)(\s+)\b)prefixsuffixzj\b(transparent|opaque|infix|open|inline)\b(?=[a-z\s]*\b(def|val|var|given|type|class|trait|object|enum)\b)r   z(\()(\s*)(using)(\s)z\b(def)\b(\s*)(z)?z\b(trait)\b(\s*)z,\b(?:(case)(\s+))?(class|object|enum)\b(\s*)z(?<!\.)\b(type)\b(\s*)z\b(val|var)\bz\b(package)(\s+)(object)\b(\s*)z\b(package)(\s+)packagez\b(given)\b(\s*)(z \b(extends|with|derives)\b(\s*)(z|(?=\([^\)]+=>)|(?=z	)|(?="))?z\b(extension)(\s+)(?=[\[\(])z8\b(end)(\s+)(if|while|for|match|new|extension|val|var)\bz\b(end)(\s+)(z[{}()\[\];,.]z(?<!:):(?!:)z
{2,})(\s+)z	/(?![/*])z(?<!z)(!|&&|\|\|)(?!z\b(this|super)\br4   z0[xX][0-9a-fA-F_]*zJ([0-9][0-9_]*\.[0-9][0-9_]*|\.[0-9][0-9_]*)([eE][+-]?[0-9][0-9_]*)?[fFdD]?z[0-9]+([eE][+-]?[0-9]+)?[fFdD]z[0-9]+([eE][+-]?[0-9]+)[fFdD]?z
[0-9]+[lL][0-9]+z""".*?"""(?!")z"(\\\\|\\"|[^"])*"z(')(\\.)(')z'[^\\]'|'\\u[0-9a-fA-F]{4}'z[fs]"""zinterpolated-string-triplez[fs]"zinterpolated-stringzraw"(\\\\|\\"|[^"])*"z('z)(?!')z(\.)(type)\bz\b(inline)(?=\s+(z)\s*:)z=\b(inline)\b(?=(?:.(?!\b(?:val|def|given)\b))*\b(if|match)\b)z['$]\{(?!')z'\[(?!')z[^/*]+#push\*/r?   [*/]z(?<=[\n;:])z\b(given)\bzqualified-name\{zimport-path-curly-bracer   \},z[\[\]]zexport-path-curly-bracez
(?<=[\n;]):z"""(?!")r7   zinterpolated-string-commonzinterpolated-string-bracez interpolated-string-nested-bracez)(\.)z\.r-   z[^"$\\]+z\$\$z(\$)(\$\{z\\.N)CrF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   unicombineopcharletterupperLetterletterOrDigitformatreplaceletterOrDigitNoDollarSignalphaIdsimpleInterpolatedVariableidrestidUpperplainidbackQuotedIdanyIdnotStartOfCommentendOfLineMaybeWithCommentr   r   storage_modifiersr   r   r   rU   rV   Hashbangr   r   r   r   rX   r   rW   rd   rT   rZ   r   BuiltinPseudor[   r   r`   r_   rc   Longr   r\   EscapeSymbolr   Interpolre   rf   rg   rh   r   r      s:         D
%CiGI IML29$E+#+dD"9"99C?F{s{4tT4@@@3FFD$///#5K)&)))M . 5 5fnnUB6O6O P PlllG%+"I-F"I"I"I<<<<<<FBmBBvBBBG'F''V'''GL,7,,\,,,E% 0HIkGL!!GJGO$$GIGIG'((GM""GGGN##GM""GK  GENNGK  GIGIG$%%GHGHGJGK  GM""GG-
k6 	Z 
7k< 	(W&	2
=kD 	g./
EkJ 	':!>!>N
KkP 	+*gzBBMS':!>!>N
QkZ 	U$U5AAA7K
DELN
[kl 	&]]DN+
mkr 	 %hh{JQ[&\&\]
sk| 	<0<<5<<<Xgz4=99;>!2>>U>>>*dj99;Z=NZZQVZZZ*gz4:NNPD'8DD5DDD*dj99;w23M0AMMEMMM*gz4>RRT ((7J"?"?K,',,,*dj99;+%+++*d335
}k` 	PP P(P P=DP P P*dj99;
akj 	,hhw
.K.KL
kkp 	H*g668CgCC(ACC*dj99;SlSSWSS8QSS*dn==?
qkB 	{+k*
CkJ 	U8E%888'B
KkP 	&&&&&:(F(FG8$U9x(5V55F555x@	
Qk\ 	 $,"56#W%56"FJ/017?.=.=FN/0''"F+XXfk6=&+NNO+V[9
]k kz 	!=>v45%v.
{kD 	"7"""FM2
EkJ 	hh{G<<=
KkP 	 A'@@L@@@M
Qk` 	[)+&	
akl 	dj!DM
mkx 	)*W&0W&/g'(	
ykD 	T6*GJW%G$%%K!:;
EkR 	"GL!!GJW%HK(;$G$%%	$
Skf 	T6*GJG$%%K!:;	
gkr 	"GL!!GJHK(;G$%%$
skB 	D&);'GJG$%%	
CkN 	%&&)6NG011'
OkX 	66"G011 
Yk` 	$FOV,K!CDGFOO&
akj 	+K)K(GFOO-
kkx 	dj!% E EFK DM*%
yk kF 	%&!fm$30333$//1fo'BCV'
Gk kFFFrg   r   c                      e Zd ZdZdZdgZg dZdgZdZdZ	e
j        e
j        z  Zd e ee          ej        ee          fd	efd
ej        fdej        fdej        fdefdej        fd eej        eej                  fdej        fd eej        e          fdej        fd eej        eej                  fd eej        eej                  fdedfd eeej                   fd eeej                   fdefdefde!j"        fde!j#        fdefgdefd eeej                  d fd!ej        fd"ed fd#ed$fd%efgded&f e$d'          gdedfd(ed&f e$d)          gdedfd*ed$fd+ed&f e$d)          gd,Z%d-S ).r   z
    For Gosu source code.
    Gosugosu)z*.gsz*.gsxz*.gspz*.varkztext/x-gosuhttps://gosu-lang.github.io1.59^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()r-   r   r/   @[a-zA-Z_][\w.]*z(in|as|typeof|statictypeof|typeis|typeas|if|else|foreach|for|index|while|do|continue|break|return|try|catch|finally|this|throw|new|switch|case|default|eval|super|outer|classpath|using)\bz(var|delegate|construct|function|private|internal|protected|public|abstract|override|final|static|extends|transient|implements|represents|readonly)\bz(property)(\s+)(get|set)?z<(boolean|byte|char|double|float|int|long|short|void|block)\br2   z (true|false|null|NaN|Infinity)\bz5(class|interface|enhancement|enum)(\s+)([a-zA-Z_]\w*)z(uses)(\s+)([\w.]+\*?)r7   r8   z(\??[.#])([a-zA-Z_]\w*)z(:)([a-zA-Z_]\w*)[a-zA-Z_$]\w*z)and|or|not|[\\~^*!%&\[\](){}<>|+=:;,./?-]%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?r   r=   z(\\<)|(\\\$)z(<%@\s+)(extends|params)stringTemplatez<%!--.*?--%>z
(<%)|(<%=)r  stringTemplateShorthand.r?   templateTextz%>rE   r  r  )rE   r/  r8   r,  r-  N)&rF   rG   rH   rI   rJ   rL   rM   rN   rK   rO   rP   rQ   rR   rS   r   r   r   r   rW   r   r   r   rU   rV   rX   r   rT   rY   rZ   r[   rd   r   r]   r   r_   rc   r   re   rf   rg   rh   r   r     s         DhG444II
'CML29$E
 XeeDkk4=*hGGI *%(7,- $.1 "#23:3FH *88G4GU\Uh+i+ijL\):J G GH0'2BCEXg):tzBBD&Xg'T^DDF68$'Xh//1!Xh//1t$98D5v|D'JG$
L f%(Xh//1ACg/0H&67h 9:6N
 66"GN##

 68$Hf%GFOO
 68$H78Hf%GFOO	$
q> >FFFrg   r   c                   6    e Zd ZdZdZdgZdgZdgZdZdZ	d Z
d	S )
r   z
    For Gosu templates.
    zGosu Templategstz*.gstztext/x-gosu-templater&  r'  c              #   d   K   t                      }dg}|                    ||          E d {V  d S )Nr/  )r   r   )r   r   lexerstacks       rh   r   z(GosuTemplateLexer.get_tokens_unprocessed  sE       //e<<<<<<<<<<<rg   N)rF   rG   rH   rI   rJ   rL   rM   rN   rK   rO   r   rf   rg   rh   r   r   
  sT          DgG	I'(I
'CM= = = = =rg   r   c                      e Zd ZdZdZdZdgZddgZdgZdZ	e
j        e
j        z  Zd	ej        d
f ed
          gdefd eej        e          fdej        fdefd e ee          ej        ee          fdej        fdej        fdej        fd eej        e          fdej        fd eej        e          dfd eej        e          dfde j!        fde j        fde j!        fde j        fde fde fde j"        fd  eeej#                  fd!ej$        fd"efd#efd$e%j&        fd%e%j'        fd&e%j(        fd'efgd(ej)        d)fgd*ej        d)fgd+Z*d, Z+d-S ).r   z!
    For Groovy source code.
    Groovyzhttps://groovy-lang.org/groovyz*.groovyz*.gradleztext/x-groovyr'  z#!(.*?)$baser-   r.   r/   z(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while|in|as)\bzo^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*|"(?:\\\\|\\[^\\]|[^"\\])*"|'(?:\\\\|\\[^\\]|[^'\\])*')(\s*)(\()r)  z(abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\bz:(def|boolean|byte|char|double|float|int|long|short|void)\br2   r4   (class|interface)(\s+)r,   (import)(\s+)r3   z	""".*?"""z	'''.*?'''"(\\\\|\\[^\\]|[^"\\])*"'(\\\\|\\[^\\]|[^'\\])*'z\$/((?!/\$).)*/\$z/(\\\\|\\[^\\]|[^/\\])*/r9   (\.)([a-zA-Z_]\w*)[a-zA-Z_]\w*:r*  [~^*!%&\[\](){}<>|+=:;,./?-]r+  0x[0-9a-fA-F]+[0-9]+L?r=   [a-zA-Z_]\w*r?   r@   )rE   r8  r,   r3   c                 "    t          | d          S )Nr7  r   )r   s    rh   analyse_textzGroovyLexer.analyse_texte  s    tY///rg   N),rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   r   Preprocr
   r   r   rU   rV   r   r   r   r   rW   r   rX   rT   rY   rZ   r[   r   Doubler\   r]   r^   r   r_   r`   rc   rd   re   rD  rf   rg   rh   r   r     s<         D
$CjGJ'I !IML29$E
 '/62GFOO
 *%XXgnjAAB7,-S XeeDkk4=*hGGI !$.1&'.':< K\):J G GH#W%56&1Dj(Q(Qxx(9:FFQ6=)6=)(&-8(&-8!6*(&116;?"HHXt~$F$FGtz*t$,h75v|D
+&.)JW,
\ dj&1
 4>62
m9 9Fv0 0 0 0 0rg   r   c                      e Zd ZdZdZdZdgZddgZdgZdZ	d	e
j        fd
edfgde
df ed          de
fgde
j        df ed          de
j        fgdedf ed          gde
j        df ed          de
j        fde
j        fgde
j        df ed          de
j        fde
j        fgde
df ed          de
fgg defdefdefdefde
j        dfde
j        d fd!e
j        fd"e
j        fd#e
j        fd$e
j        d%fd&e
d'fd(e
d)fd*ej        fd+ej        fd,ej        fd-efd.efd/efd0ej        fd1ej        fd2efd3ej        fd4efd5ej        fd6efd7ej        fd8ej        fd9ej        fd:ej        fd;ej        fd<ej        fd=ej        fd>ej        fd?efd@e fdAe fdBefdCej!        fdDefdEZ"dFS )Gr   z`
    For Ioke (a strongly typed, dynamic,
    prototype based programming language) source.
    Iokezhttps://ioke.org/z*.ikiokeikztext/x-iokesrcz1.4zS(\\b|\\e|\\t|\\n|\\f|\\r|\\"|\\\\|\\#|\\\Z|\\u[0-9a-fA-F]{1,4}|\\[0-3]?[0-7]?[0-7])z#\{textInterpolationRootz(?<!\\)"r?   interpolatableTextz[^"]r  rE   z(?<!\\)/[im-psux]*z\\/z[^/]z(?<!\\)][im-psux]*z\\]z[^\]]z(?<!\\)]r=   r>   z;(.*?)\nz\A#!(.*?)\nz#/slashRegexpz#r\[squareRegexpz	:[\w!:?]+z[\w!:?]+:(?![\w!?])z:"(\\\\|\\[^\\]|[^"\\])*"z((?<=fn\()|(?<=fnx\()|(?<=method\()|(?<=macro\()|(?<=lecro\()|(?<=syntax\()|(?<=dmacro\()|(?<=dlecro\()|(?<=dlecrox\()|(?<=dsyntax\())(\s*)"documentationr7   r   z#\[
squareTextz\w[\w!:?]+(?=\s*=.*mimic\s)z.[a-zA-Z_][\w!:?]*(?=[\s]*[+*/-]?=[^=].*($|\.))z(break|cond|continue|do|ensure|for|for:dict|for:set|if|let|loop|p:for|p:for:dict|p:for:set|return|unless|until|while|with)(?![\w!:?])z%(eval|mimic|print|println)(?![\w!:?])z|(cell\?|cellNames|cellOwner\?|cellOwner|cells|cell|documentation|hash|identity|mimic|removeCell\!|undefineCell\!)(?![\w!:?])z(stackTraceAsText)(?![\w!:?])z"(dict|list|message|set)(?![\w!:?])z`(case|case:and|case:else|case:nand|case:nor|case:not|case:or|case:otherwise|case:xor)(?![\w!:?])z(asText|become\!|derive|freeze\!|frozen\?|in\?|is\?|kind\?|mimic\!|mimics|mimics\?|prependMimic\!|removeAllMimics\!|removeMimic\!|same\?|send|thaw\!|uniqueHexId)(?![\w!:?])z (after|around|before)(?![\w!:?])zG(kind|cellDescriptionDict|cellSummary|genSym|inspect|notice)(?![\w!:?])z(use|destructuring)zn(cell\?|cellOwner\?|cellOwner|cellNames|cells|cell|documentation|identity|removeCell!|undefineCell)(?![\w!:?])z(internal:compositeRegexp|internal:concatenateText|internal:createDecimal|internal:createNumber|internal:createRegexp|internal:createText)(?![\w!:?])zk(availableRestarts|bind|error\!|findRestart|handle|invokeRestart|rescue|restart|signal\!|warn\!)(?![\w!:?])z(nil|false|true)(?![\w!:?])a
  (Arity|Base|Call|Condition|DateTime|Aspects|Pointcut|Assignment|BaseBehavior|Boolean|Case|AndCombiner|Else|NAndCombiner|NOrCombiner|NotCombiner|OrCombiner|XOrCombiner|Conditions|Definitions|FlowControl|Internal|Literals|Reflection|DefaultMacro|DefaultMethod|DefaultSyntax|Dict|FileSystem|Ground|Handler|Hook|IO|IokeGround|Struct|LexicalBlock|LexicalMacro|List|Message|Method|Mixins|NativeMethod|Number|Origin|Pair|Range|Reflector|Regexp Match|Regexp|Rescue|Restart|Runtime|Sequence|Set|Symbol|System|Text|Tuple)(?![\w!:?])uw   (generateMatchMethod|aliasMethod|λ|ʎ|fnx|fn|method|dmacro|dlecro|syntax|macro|dlecrox|lecrox|lecro|syntax)(?![\w!:?])z-?0[xX][0-9a-fA-F]+z(-?(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?-?\d+z#\(a  (&&>>|\|\|>>|\*\*>>|:::|::|\.\.\.|===|\*\*>|\*\*=|&&>|&&=|\|\|>|\|\|=|\->>|\+>>|!>>|<>>>|<>>|&>>|%>>|#>>|@>>|/>>|\*>>|\?>>|\|>>|\^>>|~>>|\$>>|=>>|<<=|>>=|<=>|<\->|=~|!~|=>|\+\+|\-\-|<=|>=|==|!=|&&|\.\.|\+=|\-=|\*=|\/=|%=|&=|\^=|\|=|<\-|\+>|!>|<>|&>|%>|#>|\@>|\/>|\*>|\?>|\|>|\^>|~>|\$>|<\->|\->|<<|>>|\*\*|\?\||\?&|\|\||>|<|\*|\/|%|\+|\-|&|\^|\||=|\$|!|~|\?|#|\u2260|\u2218|\u2208|\u2209)z-(and|nand|or|xor|nor|return|import)(?![\w!?])z.(\`\`|\`|\'\'|\'|\.|\,|@@|@|\[|\]|\(|\)|\{|\})z[A-Z][\w!:?]*z[a-z_][\w!:?]*)rL  r   rO  rK  rM  rN  rP  rE   N)#rF   rG   rH   rI   rJ   rK   rM   rL   rN   rO   r   r   r   r   DocRegexr   r   r!  Otherr   EntityVariabler   Reservedr[   r  rW   r   r`   r_   rc   r   rd   re   rf   rg   rh   r   r   i  s         D
CItnG!"IM&'-}6["9:
 &&)G())f
 &*f-G())fj!
 K(GFOO"
 #FL&9G())V\"fl#	
 #FL&9G())V\"v|$	
 &&)G())v
D
JD
Z D

 '"D
 W%D
 FL-0D
 flN3D
 6=)D
 $V\2D
 *6=9D
$'(.
OE%D
. 66"/D
0 V\*1D
6 ,T[97D
< ?]=D
D!")"24ED
N 6w?OD
T$&UD
^ .w7_D
d 3G4DEeD
j45<5EGkD
r %&sD
~ 1'2BCD
D$&ED
H $W%56ID
N$&OD
X %-/YD
d$-/eD
n ,T];oD
t	. 04|	=uD
L!],MD
V $VZ0WD
X 9&,GYD
Z v~&[D
^ [!_D
d2 4<=eD
r >sD
z ?L{D
@ tz*AD
F %GD
Yq qFFFrg   r   c                      e Zd ZdZdZdZddgZddgZdd	gZd
Z	dZ
dZdZdZddej        fdefdefdej        fdefdej        fdej        fdefdez   ej        fdej        fdez   ej        fdef ee
d          ef eed          ej        f eed          ej        fdez   ej        feej         fde!fd e!fd!e!fgiZ"d"S )#r   z(
    Lexer for Clojure source code.
    Clojurezhttp://clojure.org/clojurecljz*.cljz*.cljcztext/x-clojurezapplication/x-clojurez0.11)
r.  defr   fnr   letr   quoter5   loop)zdef-defnzdefn-defmacrodefmulti	defmethod	defstructdefoncer|   	definlinedefinterfacedefprotocol	defrecorddeftype
defprojectns(-  r   r   r   r   /r   r   r   r   r   r   z..accessoragentzagent-errorsagetalengthzall-nsalterandzappend-childapplyz	array-mapasetzaset-booleanz	aset-bytez	aset-charzaset-doublez
aset-floatzaset-intz	aset-longz
aset-shortassertassocawaitz	await-forbeanbindingzbit-andzbit-notzbit-orzbit-shift-leftzbit-shift-rightzbit-xorbooleanzbranch?butlastbytecastcharchildrenr,   zclear-agent-errorsr   commutecomp
comparator
complementconcatconjcons
constantlycondzif-notzconstruct-proxyz	contains?countz	create-nszcreate-structcycledecderef
differencedisjdissocdistinctdoalldocdorundoseqdosyncdotimesdotodoubledowndropz
drop-whileeditzend?ensureevalzevery?zfalse?ffirstzfile-seqfilterfindzfind-doczfind-nszfind-varfirstfloatflushr   fnseqfrestgensymzget-proxy-classrm   zhash-mapzhash-setz
identical?identityzif-letr3   zin-nsincr   zinsert-childzinsert-leftzinsert-rightzinspect-tablezinspect-treez	instance?int
interleaveintersectionintoz
into-arrayiteratejoinkeykeyskeywordzkeyword?lastzlazy-catz	lazy-consleftleftszline-seqzlist*listloadz	load-filelockinglongr`  macroexpandzmacroexpand-1z
make-arrayz	make-nodemapz
map-invertzmap?mapcatmaxzmax-keymemfnmergez
merge-withmetaminzmin-keyrJ   	namespacezneg?r   newlinenextznil?nodenotznot-any?z
not-every?znot=z
ns-importsz
ns-internszns-mapzns-namez
ns-publicsz	ns-refersz
ns-resolvezns-unmapnthnthrestorparsepartialpathpeekpopzpos?przpr-strprintz	print-strprintlnzprintln-strprnzprn-strprojectproxyzproxy-mappingsquotrandzrand-intrangezre-findz	re-groupsz
re-matcherz
re-matchesz
re-patternzre-seqreadz	read-linereducerefzref-setreferremremovezremove-methodz	remove-nsrenamezrename-keysrepeatr  	replicateresolverestzresultset-seqreverserfirstrightrightsrE   rrestrseqsecondselectzselect-keyssendzsend-offseqzseq-zipzseq?rn   shortslurpsomesortzsort-byz
sorted-mapzsorted-map-byz
sorted-setzspecial-symbol?zsplit-atz
split-withstrzstring?structz
struct-mapsubssubvecsymbolzsymbol?synctakeztake-nthz
take-whiletesttimezto-arrayzto-array-2dztree-seqztrue?unionupzupdate-proxyvalvalszvar-getzvar-setzvar?vectorz
vector-zipzvector?whenz
when-firstzwhen-letzwhen-notzwith-local-varsz	with-metaz	with-openzwith-out-strzxml-seqzxml-zipzzero?zipmapzipperz(?!#)[\w!$%*+<=>?/.#|-]+rE   z;.*$z,+r>   z
-?\d+\.\d+z	-?\d+/\d+rQ  z0x-?[abcdef\d]+r;  'z\\(.|[a-z]+)z::?#?z~@|[`\'#^~&@] r   z(?<=\()z(\[|\])z(\{|\})z(\(|\))N)#rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   special_formsr   builtins
valid_namer   rU   r   r   r   r_   rc   r`   r   r!  r\   r   r   r   rT   r   r  rW   rV  r   re   rf   rg   rh   r   r   (  s         D
C% G(#I!#:;IMML1;Hr -J 	 gn% DMZ  FL)6"v~&, )&1J.fk* 
"FM2 x( U=---w7 U<,,,g.AB U8C((($,7 *$dm4 ' % % %i5
7FFFrg   r   c                   4    e Zd ZdZdZdZddgZdgZddgZd	Z	d
S )r   z.
    Lexer for ClojureScript source code.
    ClojureScriptz http://clojure.org/clojurescriptclojurescriptcljsz*.cljsztext/x-clojurescriptzapplication/x-clojurescript2.0N)
rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rf   rg   rh   r   r     sE          D
,C'G
I')FGIMMMrg   r   c                      e Zd ZdZej        ej        z  Zd e e	e
          ej        ee          fdefd eej        e          fdej        fdej        fdefdej        fd	ej        fd
 eej        e          dfd eej        e          dfdej        fdej        fd eeej                  fdej        fdefdefdej        fdej        fdej        fdefgdej        dfgdej        dfgdZ dS )TeaLangLexerzb
    For Tea source code. Only used within a
    TeaTemplateLexer.

    .. versionadded:: 1.5
    z:^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()r-   r.   r/   z@[a-zA-Z_][\w\.]*z/(and|break|else|foreach|if|in|not|or|reverse)\bz(as|call|define)\br4   z(template)(\s+)templater:  r3   r;  r<  r=  r>  z[a-zA-Z_\$]\w*z3(isa|[.]{3}|[.]{2}|[=#!<>+-/%&;,.\*\\\(\)\[\]\{\}])r+  r@  rA  r=   rB  r?   r@   )rE   r  r3   N)!rF   rG   rH   rI   rP   rQ   rR   rS   r   r   r   r   rW   r   r   r   rU   rV   rX   r   rT   r[   rZ   r   rF  r]   r^   r   r_   r`   rc   rd   re   rf   rg   rh   r  r    s{         L29$E
 XeeDkk4=*hGGI *%XXgnjAAB7,-!4>2?"G$78#W%56'*=z!J!JJWxx(9:FFQ(&-8(&-8"HHXt~$F$FGtz*%CXN5v|D
+&.)J3
8 dj&1
 4>62
?" "FFFrg   r  c                      e Zd ZdZdZdZdgZdgZdgZdZ	e
j        e
j        z  ZdZd	 e ee          ej        ee          fd
efd eej        e          fdej        dfdej        fdefdej        fdej        fd eej        e          fdej        fd eej        e          dfd eej        e          dfdefdej         fd eeej!                  fdej"        fdefdefde#j$        fde#j$        fd e#j$        fd!e#j$        fd"e#j%        fd#e#j%        fd$e#j&        fd%e#j&        fd&e#j'        fd'e#j'        fd(efgd)ej(        d*fgd+ej        d*fgd,ej        fdej        d-fd.ej        d*fd/ej        fgd0Z)d1S )2r#   z!
    For Ceylon source code.
    Ceylonzhttp://ceylon-lang.org/ceylonz*.ceylonztext/x-ceylonrl   z(?:\s|//.*?\n|/[*].*?[*]/)+r(  r-   r.   r   r   z(shared|abstract|formal|default|actual|variable|deprecated|small|late|literal|doc|by|see|throws|optional|license|tagged|final|native|annotation|sealed)\bz(break|case|catch|continue|else|finally|for|in|if|return|switch|this|throw|try|while|is|exists|dynamic|nonempty|then|outer|assert|let)\bz9(abstracts|extends|satisfies|super|given|of|out|assign)\bz(function|value|void|new)\bz(assembly|module|package)(\s+)r4   z#(class|interface|object|alias)(\s+)r,   r:  r3   r;  z%'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'z(\.)([a-z_]\w*)r>  rB  r?  z/\d{1,3}(_\d{3})+\.\d{1,3}(_\d{3})+[kMGTPmunpf]?z7\d{1,3}(_\d{3})+\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?z*[0-9][0-9]*\.\d{1,3}(_\d{3})+[kMGTPmunpf]?z2[0-9][0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?z##([0-9a-fA-F]{4})(_[0-9a-fA-F]{4})+z#[0-9a-fA-F]+z\$([01]{4})(_[01]{4})+z\$[01]+z\d{1,3}(_\d{3})+[kMGTP]?z[0-9]+[kMGTP]?r=   z[A-Za-z_]\w*r?   z[a-z][\w.]*z[^*/]r  r  r  )rE   r,   r3   r   N)*rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   _wsr   r   r   r   rW   r   r   r   rU   rV   rX   r   rT   rY   rZ   r[   r   r\   r]   r^   r   r_   r`   ra   rc   rd   re   rf   rg   rh   r#   r#     sh         D
#CjGI !IML29$E )C
 XeeDkk4=*hGGI *%XXgnjAABW&	2%&*n623:<-.5.AC+\.9JJ0W0WX#W%563Xg):66Axx(9:FFQ(&15v{CXh//1tz*d#,h7?NG\:FLIB\3VZ@vz*&
3$(&.9/JW,
\ dj&1
 ^V%

 w()W&0W&/g'(	
k; ;FFFrg   r#   c                      e Zd ZdZdZdZdgZddgZdgZdZ	e
j        e
j        z  Zd	 ej        d
dddd          z   dz   dz    ej        d
ddddddddd
  
        z   dz   Zd	 ej        d
dddd          z   dz   dz    ej        d
dddddddddd          z   dz   Zdez   dz   ez   dz   ZdZg defdefdej        fd efd! eej        e          fd" eej        e          fd#ej        fd$efd%efd&ej        f ed'          ej        f ed(d)*          ej        fd+ej         fd, eeeej!                  fd- ee"ej#                  fd. ee$ej#                  fd/ej%        fd0ej%        fd1 eeee$e          d2fd3ez   d4z    e e&e'd56          ej(        e          d2fd7 eej(        ee$          d8fd3ez   d9z    e e&e'd56          ej(        e          d:fd3ez   d;z    e e&e'd56          ej(        e          d<fd=e"fd>e"fd?e$fd@edAfdBedCfdDej)        fdEe*fdFez   dGz   efeej+        dHfgeej,        dHfgdIe$fdefeej,        fdJez   dKz    ee$ee          fdLe"dMfdNe$dHfgdLe"dMfdFez   dOz   ez    eee$ej-                  dHfeej-        dHfgdP ee"e          dHfdQe$fdRefdIe$fdefeefgdSej(        fdef e.dH          gdBedHf e/dT          gd@edHfdBef e/dT          gdUefdVefdWefdXej0        dYfdZ eej0        e          fd[efgdBefdXej0        dYfd\e$d]fd^ej0        dHf e/d_          gd\e$d]fd^e$dHf e/d_          gd`Z1daS )br    z!
    For Kotlin source code.
    Kotlinzhttp://kotlinlang.org/kotlinz*.ktz*.ktsztext/x-kotlinr'  z@?[_r   r   r   Lmr   r   r   NdPcCfMnMcz]*Zsz\'~!%^&*()+=|\[\]:;,.<>/\?-]*r   z|`z`)zactual|abstract|annotation|companion|const|crossinline|data|enum|expect|external|final|infix|inline|inner|internal|lateinit|noinline|open|operator|override|private|protected|public|sealed|suspend|tailrec|valuer-   r>   \\$r=   r.   z^(#!/.+?)(\n)z/[*].*?[*]/zas\?z(as|break|by|catch|constructor|continue|do|dynamic|else|finally|get|for|if|init|[!]*in|[!]*is|out|reified|return|set|super|this|throw|try|typealias|typeof|vararg|when|where|while)\bzit\b)zBoolean?zByte?zChar?zDouble?zFloat?zInt?zLong?zShort?zString?zAny?zUnit?)BooleanByter\   rF  r_   Intr  Shortr   AnyUnitr   r  r4   z(package|import)(\s+)(\S+)z(\?\.)((?:[^\W\d]|\$)[\w$]*)r:   r0   z[^\W\d][\w.]+@z(object)(\s+)(:)(\s+)r,   z((?:(?:z(|fun)\s+)*)(class|interface|object)(\s+)	modifiers)statez(var|val)(\s+)(\()destructuring_assignmentz)\s+)*)(var|val)(\s+)variablez)\s+)*)(fun)(\s+)functionz::|!!|\?[:.]r;   r<   rA   r6   r7   r8   z'\\.'|'[^\\]'z?[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFL]?|0[xX][0-9a-fA-F]+[Ll]?r+   z((\?[^.])?)r?   r  z	(:)(\s+)(r   r   generic\)z(\.)z(>)(\s*)r  z(reified|out|in)\bz\w+string_commonrB   rC   rD   r  interpolationz	(\$)(\w+)z[^\\"$]+r  scoper  rE   )rE   r,   r)  r(  r*  r+  r&  r8   r6   r-  r.  r/  N)2rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   r	  r
  kt_namekt_space_namekt_idr&  r   r   r   r   r   rU   rV   r   r   r  r   rY   r[   rZ   r   r]   r   rX   r   r   rT   r\   r   rd   rV  rW   r
   r   r"  re   rf   rg   rh   r    r    >  s         D
"CjG!I !IML29$ED$dDAAACG S[tT4tT4!%t- --/34G kck$dD$GGG#M S[tT4tT4!%tT3 33 33M
 'MD =047EAI;
*%;
 Z ;
 V]#	;

 J;
 XXgnjAAB;
 xx
CCD;
 W./;
 g;
FGNP;
 dl#;
" U D E EFMlT#;
& U >FKM M MNUl\';
, $W%56-;
0 +HHWj$.,Y,YZ1;
4 -hhx.P.PQ5;
6 +HH[$.,Q,QR7;
: /;;
> /?;
B &xx[R\']']_fgC;
F )#&QQXeeD444g6I:VVX_aG;
L #HHW-@*k$Z$Z')M;
P )#&>>XeeD444g6I:VVXbdQ;
V )#&::XeeD444g6I:VVXbdW;
\ h'];
^ %h/_;
b K(c;
f V/0g;
h 68$i;
j v{+k;
n'(.0o;
t 5[>)40u;
z DJ'
 DM6*
 ;Z DM"E!C'+z4)P)PQ8Y'K(%
 8Y'5[7"U*HHT;,V,VX^_DM6*
 ((8Z88&A;"G,;Z DM
 W()Z GFOO
 66"GO$$

 VV$6NGO$$
 fVFOfo788FOT::;&!
 6Nfo7K)FOV,GFOO
 K)K(GFOO
kz zFFFrg   r    c                   B   e Zd ZdZdZdZdgZdgZdgZdZ	e
j        e
j        z  Zd e ee          ej        ee          fd	efd
 eej        e          fdej        fdej        fdefdej        fdej        fd eej        e          fdej        fd eej        e          dfd eej        e          dfdedfdedfdej        fdej        fdej         fdefdefde!j"        fde!j#        fd e!j$        fd!efgd"ej%        d#fgd$ej        d#fgd%ed#fd&ed#fd'efgd(Z&d)S )*r!   z 
    For Xtend source code.
    Xtendzhttps://www.eclipse.org/xtend/xtendz*.xtendztext/x-xtendrl   =^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_$][\w$]*)(\s*)(\()r-   r.   r/   r)  z(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while|IF|ELSE|ELSEIF|ENDIF|FOR|ENDFOR|SEPARATOR|BEFORE|AFTER)\bz(def|abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile|val|var)\br1   r2   r4   r9  r,   r:  r3   z(''')r  z(\u00BB)r;  r<  r>  r*  [~^*!%&\[\](){}<>\|+=:;,./?-]r+  r@  rA  r=   rB  r?   r@   z'''z\u00ABr.  )rE   r,   r3   r  N'rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   r   r   r   r   rW   r   r   r   rU   rV   rX   r   rT   rY   rZ   r[   r   rF  r^   r   r_   r`   rc   rd   re   rf   rg   rh   r!   r!     s         D
*CiGI IML29$E
 XeeDkk4=*hGGI *%XXgnjAAB7,- $.1G ./6/BD G\):J G GH#W%56&1Dj(Q(Qxx(9:FFQvz*&*-(&-8(&-8tz*t$-x85v|D
+&.)JE#
J dj&1
 4>62
 VV$'6N
W0 0FFFrg   r!   c                      e Zd ZdZdZdZdgZdgZdgZdZ	e
j        e
j        z  Zdefd	efd
ej        fdej        fdefdef ed           ed           ed           ed           ed          dej        fdej        fdej        fdefd eej        ee          fdefdefdefgdefgdej        fgdej        fgdefgde fd e fd!e fgd"Z!d#S )$r$   z$
    For Pig Latin source code.
    Pigzhttps://pig.apache.org/pigz*.pigz
text/x-pigr  r>   z--.*z/\*[\w\W]*?\*/r  rD   z1\'(?:\\[ntbrf\\\']|\\u[0-9a-f]{4}|[^\'\\\n\r])*\'r   typesr  punctr   z[0-9]*\.[0-9]+(e[0-9]+)?[fd]?z0x[0-9a-f]+rA  r=   z([a-z_]\w*)(\s*)(\()z[()#:]z[^(:#\'")\s]+z\S+\s+a  (assert|and|any|all|arrange|as|asc|bag|by|cache|CASE|cat|cd|cp|%declare|%default|define|dense|desc|describe|distinct|du|dump|eval|exex|explain|filter|flatten|foreach|full|generate|group|help|if|illustrate|import|inner|input|into|is|join|kill|left|limit|load|ls|map|matches|mkdir|mv|not|null|onschema|or|order|outer|output|parallel|pig|pwd|quit|register|returns|right|rm|rmf|rollup|run|sample|set|ship|split|stderr|stdin|stdout|store|stream|through|union|using|void)\bz(AVG|BinStorage|cogroup|CONCAT|copyFromLocal|copyToLocal|COUNT|cross|DIFF|MAX|MIN|PigDump|PigStorage|SIZE|SUM|TextLoader|TOKENIZE)\bzR(bytearray|BIGINTEGER|BIGDECIMAL|chararray|datetime|double|float|int|long|tuple)\bz[;(){}\[\]][#=,./%+\-?] (eq|gt|lt|gte|lte|neq|matches)\b(==|<=|<|>=|>|!=))rE   r   r  r<  r=  r   N)"rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   
IGNORECASErS   r   r   rV   r   r   r   r   r   r_   r`   rc   r   r   rW   r   r   r  rY   r   re   rf   rg   rh   r$   r$     s         D
#CgG	IIML2=(E Z g 12V]#DMA6JGJGGGJGGGK  -v|<VZ(&.)J$XdmZ==?t$)
.3 5<=	
!\+
"#*<1

 [)
 h'0(;!8,
[2 2FFFrg   r$   c                    \   e Zd ZdZdZdZdgZdgZdZde	fde
fd	efd
efdej        fdefd eej        e	          dfd eej        e          fdej        fd eej        e	          dfd eej        e	          dfd eej        e	          dfdej        fdefd eej        e          fdej        fd eej        e          fdej        fdej        fdej        fdej        j        fd ej        fd!efd"ej        fd#e ed$d%          fd&e ed$d'          fd(e ed$d)          fd*ej        fgd!ej        d+fgd,ej        d+fgd-ej         d+fgd!ej!        d+fgd.efd/efgd0ej"        fgd#ed+f e#d1          d2efgd&ej$        d+f e#d1          gd(ed+f e#d1          gd3efd4efd5efgd6Z%d7S )8r%   z
    For Golo source code.
    Golozhttp://golo-lang.org/z*.gologolor  r-   z#.*$z5(\^|\.\.\.|:|\?:|->|==|!=|=|\+|\*|%|/|<=|<|>=|>|=|\.)z(?<=[^-])(-)(?=[^-])z2(?<=[^`])(is|isnt|and|or|not|oftype|in|orIfNull)\bz
[]{}|(),[]z(module|import)(\s+)modnamez\b([a-zA-Z_][\w$.]*)(::)z+\b([a-zA-Z_][\w$]*(?:\.[a-zA-Z_][\w$]*)+)\bz(let|var)(\s+)varnamez(struct)(\s+)
structnamez(function)(\s+)funcnamez(null|true|false)\bz(augment|pimp|if|else|case|match|return|case|when|then|otherwise|while|for|foreach|try|catch|finally|throw|local|continue|break)\bz%(map|array|list|set|vector|tuple)(\[)z6(print|println|readln|raise|fun|asInterfaceInstance)\bz(`?[a-zA-Z_][\w$]*)(\()z&-?[\d_]*\.[\d_]*([eE][+-]?\d[\d_]*)?F?z	0[0-7]+j?z0[xX][a-fA-F0-9]+z-?\d[\d_]*Lz
-?\d[\d_]*z`?[a-zA-Z_][\w$]*z@[a-zA-Z_][\w$.]*rA   stringescapetriplestringr7   doublestringr  singlestringz----((.|\n)*?)----r?   z[a-zA-Z_][\w$.]*\*?z`?[\w.]+\*?z[^\\\'"\n]+z[\'"\\]zY\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})r8   r=   r>  r?  r@  )rE   rH  rE  rG  rF  r8   rI  rJ  rK  rL  r   N)&rF   rG   rH   rI   rJ   rK   rM   rL   rO   r   r   r   Wordr   r   r   rZ   r   rT   r[   r  rW   r   r_   rb   r`   rc   r  rX   r   r	   rR  rd   rV  r   r   rF  re   rf   rg   rh   r%   r%   ]  s         D
!C
IhGM *%gE$h/BHMRK($*J77 )88DNK+P+PQ;T^L,j99 ,j99  ,j99 $W%56# %,- 6{335()-7'446 7E6:&!6:.V^01FN+!4(!4>2VXXnnEEF688NNCCD688NNCCD"FJ/q:
z "4=&9
 $T^V<
 TZ0
 "4=&9
 V$ 

<=C]L

 VV$GHFO
 6=&)GH

 66"GH

 h'0(;!8,
}c cFFFrg   r%   c                   z   e Zd ZdZdZdZddgZdgZdZdZ	d	e	 d
Z
e	 dZde dZde dZde dZi dg dedfdej        dfdej        dfdefdedfe
efdej        fde ej        fde ej        fde ej        fd e ej        fd!e ej        d"fd#e ej        fd$e ej        d%fd&e ej        d'fd(e ej        d)fd*e ej        d+fd,e ej        d-fd.e ej        d/fd0e ej        d1fd2e ej        dfd3e ej        d4fd5e ej        d6fd-e ej        d7f ed8e9          ej        fd:e ej        d;fd<e ej        d=fd>e ej        d?fd@e ej        dAf edBe9          ej        dfdCe ej        dDfdEe ej        dFfdGdej        dfdHej        fdIej        fgddej        dfdJej        fdKej        fgdLdMefdej        dGf ed          dNe dO e ej!        ee          feej"        fgd"dedPfde ej        dQf ed          gdRdMefdSe ej        df ed          eej"        dTfgdUdMefdSe ej        df ed           e#dT          gdVdej        dGf ed          eej"        fgd%dWe edf ed1          gd' ed          dXe dYe dZ e ej$        ej%        ej&        e          dfd[e dYe d\ e ej%        ej&                  dfgd; ed          d]ed^fdXe d_e dZ e ej$        ej%        ej&        e          dfd[e d_e d\ e ej%        ej&                  dfgdD ed          d]efdXe dYe d` e ej$        ej%        ej&        e          dfde daej$        df e#d          gdb ed          d]efdXe d_e dZ e ej$        ej%        ej&        e          dfde daej$        df e#d          gdcddedf e#dD          gd7e
efdee dfe'dgf e#dh          gd1 ed          d[e dYe d\ e ej%        ej(                  dfgdidje ej        dkf ed          d[e dle dme dne d\	 e ej%        ej&        ej        j)                  dfg ed          d[e dle doe dne dp	 e ej%        ej&        ej*        e          dqfg ed          eej!        dfg ed          dNe dp e ej*        e          dqfgdre ej        df ed          g ed          d[e dle dme dne d\	 e ej%        ej&        ej        j&                  dfgdMefde ej        df ed          eej!        fg ed          eej        dfg ed          dse edfdte edufdve edwfgdxZ+dy Z,dzS ){r&   z#
    For Jasmin assembly code.
    Jasminzhttp://jasmin.sourceforge.net/jasminjasminxtz*.jr  z \n\t\rz(?:[z]+)z:=z(?=[z]|$)z[^z]+z(?:[^z.;\[/]+)r
   r=   r?   r  )r?   r_  r7   r8   r   r  labelz;.*z(\$[-+])?0x-?[\da-fA-F]+z(\$[-+]|\+)?-?\d+zE-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?[fFdD]?[\x00-\x08\x0b\x0c\x0e-\x1f]*r   z\.annotationr   a  (\.attribute|\.bytecode|\.debug|\.deprecated|\.enclosing|\.interface|\.line|\.signature|\.source|\.stack|\.var|abstract|annotation|bridge|class|default|enum|field|final|fpstrict|interface|native|private|protected|public|signature|static|synchronized|synthetic|transient|varargs|volatile)z\.catchzcaught-exceptionz`(\.class|\.implements|\.inner|\.super|inner|invisible|invisibleparam|outer|visible|visibleparam)class/convert-dotsz\.field)descriptor/convert-dotsfieldz(\.end|\.limit|use)no-verificationz\.methodmethodz\.setr5   z\.throws	exceptionz(from|offset|to|using)is)rT  r5   z(locals|stack)verificationzenclosing-method)aaloadaastoreaconst_nullaloadaload_0aload_1aload_2aload_3aload_wareturnarraylengthastoreastore_0astore_1astore_2astore_3astore_wathrowbaloadbastorebipush
breakpointcaloadcastored2fd2id2ldadddaloaddastoredcmpgdcmpldconst_0dconst_1ddivdloaddload_0dload_1dload_2dload_3dload_wdmuldnegdremdreturndstoredstore_0dstore_1dstore_2dstore_3dstore_wdsubdupdup2dup2_x1dup2_x2dup_x1dup_x2f2df2if2lfaddfaloadfastorefcmpgfcmplfconst_0fconst_1fconst_2fdivfloadfload_0fload_1fload_2fload_3fload_wfmulfnegfremfreturnfstorefstore_0fstore_1fstore_2fstore_3fstore_wfsubi2bi2ci2di2fi2li2siaddialoadiandiastoreiconst_0iconst_1iconst_2iconst_3iconst_4iconst_5	iconst_m1idiviinciinc_wiloadiload_0iload_1iload_2iload_3iload_wimulinegint2byteint2char	int2shortioriremireturnishlishristoreistore_0istore_1istore_2istore_3istore_wisubiushrixorl2dl2fl2iladdlaloadlandlastorelcmplconst_0lconst_1ldc2_wldivlloadlload_0lload_1lload_2lload_3lload_wlmullneglookupswitchlorlremlreturnlshllshrlstorelstore_0lstore_1lstore_2lstore_3lstore_wlsublushrlxormonitorentermonitorexitnopr  pop2retret_wr   saloadsastoresipushswapr  z.(anewarray|checkcast|instanceof|ldc|ldc_w|new)class/no-dotsz;invoke(dynamic|interface|nonvirtual|special|static|virtual)
invocationz(getfield|putfield))descriptor/no-dotsrU  z(getstatic|putstatic))r  static)gotogoto_w	if_acmpeq	if_acmpne	if_icmpeq	if_icmpge	if_icmpgt	if_icmple	if_icmplt	if_icmpneifeqifgeifgtifleifltifne	ifnonnullifnulljsrjsr_wz(multianewarray|newarray)rT  tableswitchtabler_  z\\u[\da-fA-F]{4}z[^'\\]+z0\\([nrtfb"\'\\]|u[\da-fA-F]{4}|[0-3]?[0-7]{1,2})z[^"\\]+rE   z\n+r   z)([ \t\r]*)(:))r?   annotation-body)r?   annotation-defaultr&  z\.end)annotation-itemsr  r'  r(  allz(L)((?:z[/.])*)(z)(;)z((?:r   z\[+)r?   r  z/)*)(z?)(;)z\[)L]+r  descriptors/convert-dotsr,  z(?=[^z]*\())r?   r  )r?   rS  rU  r  )r?   r  z	[/.](?=[^z]*[/.]))*)(z[/.])?(z(]*[/.]))*)(z)(\())r?   rT  r*  rT  z(locals|method|stack)z6(Double|Float|Integer|Long|Null|Top|UninitializedThis)Object)r?   r  Uninitialized)r?   rR  )r  rR  rW  rV  r  r%  r5   rZ  c                    d}t          j        d| t           j                  r*|dz  }t          j        d| t           j                  r|dz  }t          j        d| t           j                  r|dz  }t          |d          S )	Nr   z^\s*\.class\sg      ?z^\s*[a-z]+_[a-z]+\bg333333?za^\s*\.(attribute|bytecode|debug|deprecated|enclosing|inner|interface|limit|set|signature|stack)\bg333333?g      ?)rP   searchrQ   r  )r   scores     rh   rD  zJasminLexer.analyse_text  s    9%tR\:: 	SLEy/r|DD 9 EFJ\# # 	 SLE5#rg   N)-rF   rG   rH   rI   rJ   rK   rL   rM   rO   _whitespacer  
_separator_break_name_unqualified_namer   r   rU   rF  r   r   r   r`   rc   r_   r   rV  r   rW  r   r   r   r   r^   rT  r
   rY   rZ   rd   r   	ExceptionInstancerW   re   rD  rf   rg   rh   r&   r&     s         D
*C$GIMK
"+
"
"
"C $$$J%Z%%%F *   E5555c Q
J'Q
6="34Q
 6=(+Q
 ;	Q

 ;(Q
 *Q
 W^$Q
 2116:>Q
 +&**FN;Q
7.47 78>FQ
 5]]DM*Q
 &V%%w'7FQ
 L DJ	L L
 !Q
, !  '"24FG-Q
.D;AD D35/Q
4 !  '"2135Q
8 -F,,g.> 9Q
< "!!7#3X>=Q
> f 0%8?Q
@ "!!7#3[AAQ
B 0v//1A7KCQ
D 6^^W-/1EQ
H (v'')9>JIQ
J  v!13EFKQ
P U -, 6<-= = =, ?F>N-PQQ
~ HvGG0Q
B) &) )*1*:CQ
H -F,,g.>,.IQ
L /f..0@-/MQ
P U * 39	: : :
 w(QQ
\ 3&22G4D&(]Q
` %F$$g&6@aQ
cf 	6=&) &-0'
gcp 	6=&)@]'	
qc| 	Z 6='*GI'%'''Xdj*k::<FL!
}cL 	J ;<   '"2+-GI	
McX 	Z f 0&9GIFL"LM	
Ycd 	Z f 0&9GIG>??	
ecp 	6='*GIFL!
qcz 	F__gv.GK  
{cB 	GI>)>>5>>>XglDNDJLL 9&88888Xdndj116;
CcR 	GI["@A;);;;;;XglDNDJLL 6&55U555Xdndj116;
Scd 	"GI[!?)??5???XglDNDJLL &:%%%w|V<GFOO$
ecv 	GI[!;);;;;;XglDNDJLL &:%%%w|V<GFOO
wcH 	#K(G-..%
IcP 	*'j'''/EFG233
QcZ 	GI8&88888Xdndn55v?
[cd 	v!13EFGIj&jjjjHYjjbgjjjXdndj$-2HII
ect GIo&ooooIZoochoooXdndj$-MM)*
 GIDJ'

 GI% D D)*
 /f..0@&IGI

 GIj&jjjjHYjjbgjjjXdndj$-2EFFP
 Z    '"2F;GIDJ	
 GIDM6*

 GIOvOOQXZ`av*CD&f&&1BC	
{c c cFJ
 
 
 
 
rg   r&   c                      e Zd ZdZdZdZdgZdgZdgZdZ	e
j        e
j        z  Zd e ee          ej        ee          fd	efd
 eej        e          fdej        fdej        fdefdej        fdej        fd eej        e          fdej        fd eej        e          dfd eej        e          dfdej        fdej        fdej         fdefdefde!j"        fde!j#        fde!j$        fdefgdej%        d fgd!ej        d fgd"Z&d#S )$r'   z
    For SARL source code.
    SARLzhttp://www.sarl.iosarlz*.sarlztext/x-sarlz2.4r6  r-   r.   r/   r)  z(as|break|case|catch|default|do|else|extends|extension|finally|fires|for|if|implements|instanceof|new|on|requires|return|super|switch|throw|throws|try|typeof|uses|while|with)\bz(abstract|def|dispatch|final|native|override|private|protected|public|static|strictfp|synchronized|transient|val|var|volatile)\br1   r2   z+(false|it|null|occurrence|this|true|void)\bzY(agent|annotation|artifact|behavior|capacity|class|enum|event|interface|skill|space)(\s+)r,   r:  r3   r;  r<  r>  r*  r7  r+  r@  rA  r=   rB  r?   r@   )rE   r,   r3   Nr8  rf   rg   rh   r'   r'     s         D
ChG
IIML29$E
 XeeDkk4=*hGGI *%XXgnjAAB7,- $.1B R " G\):J G GH;W=MN,-5Xg6I:-V-V xx(9:FFQ(&-8(&-8tz*t$-x85v|D
+&.)JC"
H dj&1
 4>62
O* *FFFrg   r'   )-rI   rP   pygments.lexerr   r   r   r   r   r   r	   r
   r   pygments.tokenr   r   r   r   r   r   r   r   r   pygments.utilr   pygmentsr   r	  __all__r   r"   r   r   r   r   r   r   r   r  r#   r    r!   r$   r%   r&   r'   rf   rg   rh   <module>r?     sh    
			# # # # # # # # # # # # # # # # # # # # # #$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ) ) ) ) ) ) % % % % % %@ @ @Z Z Z Z Z
 Z Z Zz$* $* $* $* $*9 $* $* $*NZ Z Z Z Z Z Z ZzL L L L L
 L L L^= = = = = = = =$J0 J0 J0 J0 J0* J0 J0 J0Z| | | | |
 | | |~I I I I I: I I IX	 	 	 	 	 	 	 	, , , , ,: , , ,^L L L L L* L L L^X X X X X* X X Xv> > > > > > > >B@ @ @ @ @z @ @ @Fn n n n n
 n n nbA A A A A* A A AH8 8 8 8 8
 8 8 8 8 8rg   