o
    ‡ÎÖa7 ã                   @   s”  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 ddlmZ ddlmZ g d¢ZG dd	„ d	eƒZG d
d„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZ G dd„ deƒZ!G dd„ deƒZ"G dd„ de"ƒZ#G dd„ deƒZ$G dd„ deƒZ%G dd„ deƒZ&G d d!„ d!eƒZ'G d"d#„ d#eƒZ(G d$d%„ d%eƒZ)G d&d'„ d'eƒZ*G d(d)„ d)eƒZ+dS )*zÍ
    pygments.lexers.jvm
    ~~~~~~~~~~~~~~~~~~~

    Pygments lexers for JVM languages.

    :copyright: Copyright 2006-2021 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©Úshebang_matches)Ú	unistring)Ú	JavaLexerÚ
ScalaLexerÚ	GosuLexerÚGosuTemplateLexerÚGroovyLexerÚ	IokeLexerÚClojureLexerÚClojureScriptLexerÚKotlinLexerÚ
XtendLexerÚAspectJLexerÚCeylonLexerÚPigLexerÚ	GoloLexerÚJasminLexerÚ	SarlLexerc                   @   s¨  e Zd ZdZdZdgZdgZdgZej	ej
B ejB Zdeeeeƒejƒdfdefd	ej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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fd*efd+efd,efded'fgd-œZ)d.S )/r   zM
    For `Java <https://www.oracle.com/technetwork/java/>`_ source code.
    ÚJavaÚjavaz*.javaztext/x-javazJ(^\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)\bzE((?:(?:[^\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)\bú6(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+)ú"Ú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(   r1   r/   r3   N)*Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚreÚ	MULTILINEÚDOTALLÚUNICODEÚflagsr   r   r   r   r   ÚDeclarationr   ÚSingleÚ	Multiliner   ÚFunctionr   Ú	DecoratorÚTypeÚ	NamespaceÚConstantr   ÚCharÚ	AttributeÚLabelr   ÚFloatÚHexÚBinÚOctÚIntegerr   ÚClassÚtokens© r_   r_   ú5/usr/lib/python3/dist-packages/pygments/lexers/jvm.pyr      sŒ    ÿþýþÿ
ÿÿÿ
ÿùÍ6
þÿ
ÿû
Àr   c                   @   sF   e Zd ZdZdZdgZdgZdgZh d£Zh d£Z	h d£Z
d	d
„ ZdS )r    zb
    For `AspectJ <http://www.eclipse.org/aspectj/>`_ source code.

    .. versionadded:: 1.6
    ÚAspectJÚaspectjz*.ajztext/x-aspectj>+   Ú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                 c   s¦   � t  | |¡D ]I\}}}|tu r|| jv r|t|fV  q|tju r9|| jv r9|t|d d… fV  |t|d fV  q|tju rJ|| j	v rJ|t|fV  q|||fV  qd S )Néÿÿÿÿ)
r   Úget_tokens_unprocessedr   Úaj_keywordsr   rW   Úaj_inter_typer   rQ   Úaj_inter_type_annotation)ÚselfÚtextÚindexÚtokenÚvaluer_   r_   r`   r˜   Š   s   €÷z#AspectJLexer.get_tokens_unprocessedN)r@   rA   rB   rC   rD   rE   rF   rG   r™   rš   r›   r˜   r_   r_   r_   r`   r    p   s    r    c                   @   s‚  e Zd ZdZdZdgZdgZdgZej	ej
B Zde dd¡ d	 Zd
e ddddd¡ d	 Zde dd¡ d	 Zde Zde dd¡ Zde Zdeef Zdeeef Zdeeef Zdeef ZdZdeef 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 d+ƒe d,ƒe d-ƒe d.ƒe d/ƒe d0ƒe d1ƒe d2ƒe d3ƒe d4ƒe d5ƒg“d d6e!fg“d!d7e"j#fd8e"j$d9fg“d"d:e"j%fg“d#d;e&e'e!ƒd<fg“d$d=e&e'e!e'e!ƒd>fd?e&e'e!ƒd>fg“d%e(ed@d@dA�e'fdBe'fg“d&dCe e)j*fg“d'dDe&e+e!e'e!ƒfg“d(dEeef e&e'e!e)j,ƒfdFeef e&e'e!e)j-ƒfdGeef e&e'e!e'e!e)j-ƒfdHeef e&e'e!e)j-ƒfdIe'j.fdJeef e&e'e!e'e!e)j/ƒfdKe&e'e!ƒdLfdMe e&e'e!e)j-ƒfdNe e&e'e!e)ƒfg	“d)dOeeef e&e'e!e)j-ƒfg“d*dPe&e'e!ƒfg“d+dQe&e'e!e'ƒfdReef e&e'e!e)j-ƒfdSeeef e&e'e!e)j/ƒfg“d4dTe+fdUe+fg“d2e(ed@d@dA�e'fg“d3dVe e&e0e!ƒfdWe0fe(eƒe0fdXeef e0fg“d,dYe)j1j2fdZe'j3fd[e4j5fd\e4j6fd]e4j6fd^e4j6fd_e4j7j8fd`e4j7fdae9fdbe9fdce&e9j:e9j;e9j:ƒfdde9j:fg“i d-dee9dffdge9dhfdie9fg“d.dje e9j<fg“d/dke&e+e'ƒfg“d0dleef e'fdme'fg“d1dne+fdoe+fg“d5ee)j-fee)fg“d9dpe"j$fd8e"j$dqfdre"j$dsfdte"j$fg“d<due!dsfe d!ƒdve'fe dwƒdxe+dyfg“dye d ƒe d!ƒdve'fdze0fd{e+dsfd|e+fd}e+fe dwƒg“d>due!dsfe d!ƒe dwƒdxe+d~fg“d~e d ƒe d!ƒdze0fd{e+dsfd|e+fe dwƒg“dLde!dsfd€e+dsfe d!ƒe dwƒg“dfd�e9dsfd‚e9fe dƒƒg“dhd‚e9dsfe dƒƒg“d„d{e9j=dsfdxe+d…fe dƒg“d…dxe+dqfd{e+dsfe dƒg“dwee)j-fd†e e&e)j/e+ƒfd‡e+fee)fdˆe!fg“¥dƒd‰e9fdŠe9j;fd‹e e&e9j=e)ƒfdŒe9j=d„fd�e9fgi¥Z>dŽS )�r   z?
    For `Scala <http://www.scala-lang.org>`_ source code.
    ÚScalaÚscalaz*.scalaztext/x-scalaz[!#%&*\-\/:?@^ÚSmÚSoú]z[_\$ÚLlÚLuÚLoÚNlÚLtú[z(?:%s|[0-9])z\$Ú z%s+z%s%s*z%s%s*(?:(?<=_)%s+)?z
(?:%s|%s+)z`[^`]+`z	(?:%s|%s)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   â‡’ú?ú@ú|ú-ú+Ú*ú%ú~ú\)ÚprivateÚ	protectedÚsynchronizedz	@volatileÚabstractÚfinalÚlazyÚsealedÚimplicitÚoverridez
@transientz@nativer?   Ú
whitespaceÚcommentszscript-headerÚimportsÚexportszstorage-modifiersÚannotationsr   ÚdeclarationsÚinheritanceÚ	extensionÚendÚ	constantsÚstringsÚsymbolszsingleton-typeÚinlineÚquotedÚkeywordsÚ	operatorsÚpunctuationÚnamesr9   r*   ú/\*Ú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)z@%sz(\()(\s*)(using)(\s)z\b(def)\b(\s*)%s(%s)?z\b(trait)\b(\s*)%s(%s)?z3\b(?:(case)(\s+))?(class|object|enum)\b(\s*)%s(%s)?z(?<!\.)\b(type)\b(\s*)%s(%s)?z\b(val|var)\bz&\b(package)(\s+)(object)\b(\s*)%s(%s)?z\b(package)(\s+)Úpackagez\b(given)\b(\s*)(%s)z\b(given)\b(\s*)(%s)?zC\b(extends|with|derives)\b(\s*)(%s|%s|(?=\([^\)]+=>)|(?=%s)|(?="))?z\b(extension)(\s+)(?=[\[\(])z8\b(end)(\s+)(if|while|for|match|new|extension|val|var)\bz\b(end)(\s+)(%s)%sz\b(end)(\s+)(%s|%s)?%sz[{}()\[\];,.]z(?<!:):(?!:)z(%s{2,})(\s+)z	/(?![/*])z(?<!%s)(!|&&|\|\|)(?!%s)z\b(this|super)\br0   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
('%s)(?!')z(\.)(type)\bz\b(inline)(?=\s+(%s|%s)\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"""(?!")r2   zinterpolated-string-commonzinterpolated-string-bracez interpolated-string-nested-bracez(%s)(\.)z\.r)   z[^"$\\]+z\$\$z(\$)(%s)ú\$\{z\\.N)?r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rL   ÚuniÚcombineÚopcharÚletterÚupperLetterÚletterOrDigitÚreplaceÚletterOrDigitNoDollarSignÚalphaIdÚsimpleInterpolatedVariableÚidrestÚidUpperÚplainidÚbackQuotedIdÚanyIdÚnotStartOfCommentÚendOfLineMaybeWithCommentrç   rè   Ústorage_modifiersr   r   r   rN   rO   ÚHashbangr   r   r
   r   rQ   r   rP   r]   rM   rS   r   ÚBuiltinÚPseudorT   r   rY   rX   r\   ÚLongr   rU   ÚEscapeÚSymbolÚInterpolr^   r_   r_   r_   r`   r   —   s¢   êÿÿå
þâ"ÿÞ%ÿÛ(ÿýØ-ÿúÓ6ÿÊ9ýÇ>
ÿ
ÿÿþ
ÿÿþÿ
ÿïÂRþýÿ®Xÿ¨[
ÿ
ÿÿþú¥eþ›iÿ—l
ü”r
ÿ
óŽ ý �þ ÿ �ù 
ÿ �ö 
ÿÿû �ó ü �ë þ �å !

ü �ß 'û �Ù .ø �Ò 8ü �È >ú �Â Fü �º Lý �´ Qþ �¯ U
ý �« Zý �¦ aû �Ÿ h
ÿ
ú �
˜r   c                   @   sŒ  e Zd ZdZdZdgZg d¢ZdgZej	ej
B 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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.

    .. versionadded:: 1.5
    ÚGosuÚgosu)z*.gsz*.gsxz*.gspz*.varkztext/x-gosuú9^(\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)\br.   z (true|false|null|NaN|Infinity)\bz5(class|interface|enhancement|enum)(\s+)([a-zA-Z_]\w*)z(uses)(\s+)([\w.]+\*?)r2   r3   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ñ   r8   z(\\<)|(\\\$)z(<%@\s+)(extends|params)ÚstringTemplatez<%!--.*?--%>z
(<%)|(<%=)rù   ÚstringTemplateShorthandÚ.r:   ÚtemplateTextz%>r?   rõ   rö   )r?   r  r3   r  r  N)$r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rL   r   r   r   r   rP   r   r   r   rN   rO   rQ   r   rM   rR   rS   rT   r]   r   rV   r   rX   r\   r   r^   r_   r_   r_   r`   r   ¶  s†    ýýþÿÿÿ
ÿ
ÿÝ&ÿù
þýü
Èr   c                   @   s.   e Zd ZdZdZdgZdgZdgZdd„ ZdS )	r   z8
    For Gosu templates.

    .. versionadded:: 1.5
    zGosu TemplateÚgstz*.gstztext/x-gosu-templatec                 c   s$   � t ƒ }dg}| ||¡E d H  d S )Nr  )r   r˜   )rœ   r�   ÚlexerÚstackr_   r_   r`   r˜     s   €z(GosuTemplateLexer.get_tokens_unprocessedN)	r@   rA   rB   rC   rD   rE   rF   rG   r˜   r_   r_   r_   r`   r     s    r   c                   @   sb  e Zd ZdZdZdgZddgZdgZej	ej
B Zdejdfedƒgd	efd
ej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*d+„ Z)d,S )-r   z]
    For `Groovy <http://groovy.codehaus.org/>`_ source code.

    .. versionadded:: 1.5
    ÚGroovyÚgroovyz*.groovyz*.gradleztext/x-groovyz#!(.*?)$Ú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)\br.   r0   ú(class|interface)(\s+)r(   ú(import)(\s+)r/   z	""".*?"""z	'''.*?'''ú"(\\\\|\\[^\\]|[^"\\])*"ú'(\\\\|\\[^\\]|[^'\\])*'z\$/((?!/\$).)*/\$z/(\\\\|\\[^\\]|[^/\\])*/r4   ú(\.)([a-zA-Z_]\w*)ú[a-zA-Z_]\w*:r  ú[~^*!%&\[\](){}<>|+=:;,./?-]r  ú0x[0-9a-fA-F]+ú[0-9]+L?r8   ú[a-zA-Z_]\w*r:   r;   )r?   r"  r(   r/   c                 C   s
   t | dƒS )Nr!  r   )r�   r_   r_   r`   Úanalyse_text`  s   
zGroovyLexer.analyse_textN)*r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rL   r   ÚPreprocr	   r   rN   rO   r   r   r   r   r   rP   r   rQ   rM   rR   rS   rT   r   ÚDoublerU   rV   rW   r   rX   rY   r\   r]   r^   r-  r_   r_   r_   r`   r     sl    
ýþùþÿÿÕ
.ÿ
ÿÊ;r   c                   @   sJ  e Zd ZdZdZdgZddgZdg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‘d.ejf‘d/ejf‘d0ef‘d1ejf‘d2ef‘d3ejf‘d4ef‘d5ejf‘d6ejf‘d7ejf‘d8ejf‘d9ejf‘d:ejf‘d;ejf‘d<ejf‘d=e
f‘d>ef‘d?ef‘d@e
f‘dAejf‘dBef‘dCœZ dDS )Er   z‘
    For `Ioke <http://ioke.org/>`_ (a strongly typed, dynamic,
    prototype based programming language) source.

    .. versionadded:: 1.4
    ÚIokez*.ikÚiokeÚikztext/x-iokesrczS(\\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ö   r?   z(?<!\\)/[im-psux]*z\\/z[^/]z(?<!\\)][im-psux]*z\\]z[^\]]z(?<!\\)]r8   r9   z;(.*?)\nz\A#!(.*?)\nz#/ÚslashRegexpz#r\[ÚsquareRegexpz	:[\w!:?]+z[\w!:?]+:(?![\w!?])z:"(\\\\|\\[^\\]|[^"\\])*"zŠ((?<=fn\()|(?<=fnx\()|(?<=method\()|(?<=macro\()|(?<=lecro\()|(?<=syntax\()|(?<=dmacro\()|(?<=dlecro\()|(?<=dlecrox\()|(?<=dsyntax\())\s*"Údocumentationr2   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!:?]*)r4  r�   r7  r3  r5  r6  r8  r?   N)!r@   rA   rB   rC   rD   rF   rE   rG   r   r  r   r   ÚDocÚRegexr   r   r  ÚOtherr   ÚEntityÚVariabler   ÚReservedrT   r  rP   r   rY   rX   r\   r   r]   r^   r_   r_   r_   r`   r   d  s(   ÿýý
ýþ
ü
üýÿþûú
	÷

öóòñþîéèåÿâ"þÞ'Ù*þÖ/Ñ2Î5ÿË9ýÇ?ÁBÿ¾D¼Gþ¹Lý´Rþ®W©Z	÷¦fþšk•l”m“o‘rúŽyÿ‡}ƒ  �ÿ  �ü
Ôr   c                   @   sè   e Zd ZdZdZddgZdgZddgZdZd	Z	d
Z
dZddejfdefdejfdejfdejfdefde ejfdejfde ejfdefeedd�efee	dd�ejfee
dd�ejfde 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 <http://clojure.org/>`_ source code.

    .. versionadded:: 0.11
    ÚClojureÚclojureÚcljz*.cljztext/x-clojurezapplication/x-clojure)
r  Údefr¶   Úfnr´   Úletr­   Úquoter1   Úloop)zdef-Údefnzdefn-ÚdefmacroÚdefmultiÚ	defmethodÚ	defstructÚdefoncerr   Ú	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-classrc   zhash-mapzhash-setz
identical?Úidentityzif-letr/   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ÚlongrG  Úmacroexpandzmacroexpand-1z
make-arrayz	make-nodeÚmapz
map-invertzmap?ÚmapcatÚmaxzmax-keyÚmemfnÚmergez
merge-withÚmetaÚminzmin-keyrD   Ú	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Úrightsr?   ÚrrestÚrseqÚsecondÚselectzselect-keysÚsendzsend-offÚseqzseq-zipzseq?rd   Ú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!$%*+<=>?/.#|-]+r?   z;.*$z[,\s]+z
-?\d+\.\d+r9  z0x-?[abcdef\d]+r%  ú'z\\(.|[a-z]+)z::?#?z~@|[`\'#^~&@]ú ©rï   z(?<=\()z(\[|\])z(\{|\})z(\(|\))N) r@   rA   rB   rC   rD   rE   rF   rG   Úspecial_formsrÞ   ÚbuiltinsÚ
valid_namer   rN   r   r   rX   r\   rY   r   r  rU   r   r
   r   rM   r   r  rP   r>  r   r^   r_   r_   r_   r`   r   #  s>    9Îÿr   c                   @   s*   e Zd ZdZdZddgZdgZddgZdS )	r   zs
    Lexer for `ClojureScript <http://clojure.org/clojurescript>`_
    source code.

    .. versionadded:: 2.0
    ÚClojureScriptÚclojurescriptÚcljsz*.cljsztext/x-clojurescriptzapplication/x-clojurescriptN)r@   rA   rB   rC   rD   rE   rF   rG   r_   r_   r_   r`   r   ­  s    r   c                   @   sö   e Zd ZdZejejB 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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 )ÚTeaLangLexerz|
    For `Tea <http://teatrove.org/>`_ 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)\br0   z(template)(\s+)Útemplater$  r/   r%  r&  r'  r(  z[a-zA-Z_\$]\w*z3(isa|[.]{3}|[.]{2}|[=#!<>+-/%&;,.\*\\\(\)\[\]\{\}])r  r*  r+  r8   r,  r:   r;   )r?   rô  r/   N)!r@   rA   rB   rC   rH   rI   rJ   rL   r   r   r   r   rP   r   r   r   rN   rO   rQ   r   rM   rT   rS   r   r/  rV   rW   r   rX   rY   r\   r]   r^   r_   r_   r_   r`   ró  º  sB    ýÿç
ÿ
ÿ
áró  c                   @   s„  e Zd ZdZdZdgZdgZdgZej	ej
B ZdZdeeeƒejeeƒfdefd	ej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d.œZ'd/S )0r!   zY
    For `Ceylon <http://ceylon-lang.org/>`_ source code.

    .. versionadded:: 1.6
    ÚCeylonÚceylonz*.ceylonztext/x-ceylonz(?:\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+)r0   z#(class|interface|object|alias)(\s+)r(   r$  r/   r%  z%'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'z(\.)([a-z_]\w*)r(  r,  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]?r8   z[A-Za-z_]\w*r:   z[a-z][\w.]*z[^*/]rò   ró   rô   )r?   r(   r/   rì   N)(r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rL   Ú_wsr   r   r   r   rP   r   r   r   rN   rO   rQ   r   rM   rR   rS   rT   r   rU   rV   rW   r   rX   rY   rZ   r\   r]   r^   r_   r_   r_   r`   r!   é  sˆ    ý
þþÿÿÿ
ÿÿÿÕ
.ÿÿÿ

ü
Ër!   c                   @   sæ  e Zd ZdZdZdgZddgZdgZej	ej
B ejB Zde dd	d
dd¡ d d e dd	d
ddddddd¡
 d Zde dd	d
dd¡ d d e dd	d
dddddddd¡ d Zde d e d ZdZg def‘def‘def‘def‘dejf‘d ejf‘d!ejf‘d"ef‘d#ef‘d$ejf‘ed%ƒejf‘ed&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‘d.ej"f‘d/eeee!eƒd0f‘d1e d2 ee#e$d3d4�ej%eƒd0f‘d5eej%ee!ƒd6f‘d1e d7 ee#e$d3d4�ej%eƒd8f‘d1e d9 ee#e$d3d4�ej%eƒd:f‘d;ef‘d<ef‘d=e!f‘d>e&d?f‘d@e&dAf‘dBe&j'f‘dCe(f‘dDe dE ef‘eej)dFfgeej*dFfgdGe!fdefeej*fdHe dI ee!eeƒfdJedKfdLe!dFfgdJedKfdDe dM e eee!ej+ƒdFfeej+dFfgdNeeeƒdFfdOe!fdPefdGe!fdefeefgdQej%fdefe,dFƒgd@e&dFfe-dRƒgd>e&dFfd@e&fe-dRƒgdSe&fdTe&fdUe&fdVe&j.dWfdXee&j.eƒfdYe&fgd@e&fdVe&j.dWfdZe!d[fd\e&j.dFfe-d]ƒgdZe!d[fd\e!dFfe-d]ƒgd^œZ/d_S )`r   z\
    For `Kotlin <http://kotlinlang.org/>`_
    source code.

    .. versionadded:: 1.5
    ÚKotlinÚkotlinz*.ktz*.ktsztext/x-kotlinz@?[_r§   r¦   rª   ÚLmr©   r¥   r«   ÚNdÚPcÚCfÚMnÚMcz]*ÚZsz\'~!%^&*()+=|\[\]:;,.<>/\?-]*ú(z|`z`)zËactual|abstract|annotation|companion|const|crossinline|data|enum|expect|external|final|infix|inline|inner|internal|lateinit|noinline|open|operator|override|private|protected|public|sealed|suspend|tailrecr)   r9   ú\\\nr8   r*   z	^#!/.+?\nz/[*].*?[*]/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ÚByterU   r/  rX   ÚIntr  ÚShortr   ÚAnyÚUnitrí   rì  r0   z(package|import)(\s+)(\S+)z(\?\.)((?:[^\W\d]|\$)[\w$]*)r5   r,   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::|!!|\?[:.]r6   r7   ú"""Úmultiline_stringr2   r3   z'\\.'|'[^\\]'z?[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFL]?|0[xX][0-9a-fA-F]+[Ll]?r¬   z((\?[^.])?)r:   r÷   z	(:)(\s+)(ú)rÃ   Úgenericú\)z(\.)z(>)(\s*)rø   z(reified|out|in)\bz\w+Ústring_commonr<   r=   r>   rù   Úinterpolationz	(\$)(\w+)z[^\\"$]+rõ   Úscoperö   r?   )r?   r(   r  r  r  r  r	  r3   r  r  r  r  N)0r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rú   rû   Úkt_nameÚkt_space_nameÚkt_idr	  r   r   rN   rO   r   r   r  r
   rR   rT   r   rS   r   rV   r   rQ   r   r   rM   r   rU   r   r]   r>  rP   r	   r   r  r^   r_   r_   r_   r`   r   8  s>   ÿÿÿþÿÿÿýþýüûùø	÷õþôñÿïÿÿíêèæåãá!ß
#ÿÝ&ÿÚ
(ÿØ
+ÿÕ.Ò/Ñ1Ï3Í4Ì5Ë7ÿÉ:Æ
=ÿ
ÿú	
ýú	ýþý
ú	

ûý
‹r   c                   @   s<  e Zd ZdZdZdgZdgZdgZej	ej
B 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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   zW
    For `Xtend <http://xtend-lang.org/>`_ source code.

    .. versionadded:: 1.6
    ÚXtendÚxtendz*.xtendztext/x-xtendú=^(\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)\br-   r.   r0   r#  r(   r$  r/   z(''')rô  z(\u00BB)r%  r&  r(  r  ú[~^*!%&\[\](){}<>\|+=:;,./?-]r  r*  r+  r8   r,  r:   r;   z'''z\u00ABr  )r?   r(   r/   rô  N©%r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rL   r   r   r   r   rP   r   r   r   rN   rO   rQ   r   rM   rR   rS   rT   r   r/  rW   r   rX   rY   r\   r]   r^   r_   r_   r_   r`   r   Ô  sd    ýýþÿÿÞ
%ÿ
ÿý
Õr   c                   @   sö   e Zd ZdZdZdgZdgZdgZej	ej
B Zdefdefdejfd	e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 <https://pig.apache.org/>`_ source code.

    .. versionadded:: 2.0
    ÚPigÚpigz*.pigz
text/x-pigr9   z--.*z/\*[\w\W]*?\*/r  r>   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]+r+  r8   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ú(==|<=|<|>=|>|!=))r?   rç   rî  r   r!  rè   N)r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   Ú
IGNORECASErL   r   r   rO   r   r   r   rX   rY   r\   r   r   rP   r   r   r  rR   r   r^   r_   r_   r_   r`   r"     s`    ÿìùÿþÿÿÿÿý
Ór"   c                   @   sÔ  e Zd ZdZdZdgZdg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d.ej fgd!ed)fe!d/ƒd0efgd$ej"d)fe!d/ƒgd&ed)fe!d/ƒgd1e	fd2e	fd3e	fgd4œZ#d5S )6r#   zU
    For `Golo <http://golo-lang.org/>`_ source code.

    .. versionadded:: 2.0
    ÚGoloz*.goloÚgolor)   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$.]*r  ÚstringescapeÚtriplestringr2   Ú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})r3   r8   r"  r#  r$  )r?   r+  r(  r*  r)  r3   r,  r-  r.  r/  rè   N)$r@   rA   rB   rC   rD   rF   rE   r   r   r   ÚWordr   r   r   rS   r   rM   rT   r  rP   r   rX   r[   rY   r\   r  rQ   r   r   r:  r]   r>  r  r   r/  r^   r_   r_   r_   r`   r#   X  s¬    ÿ
þ
þ
þ
þú
ÿÿ
ÿ
È
=ÿ
ÿ
ÿ
ÿþÿÿý
þþý
¢r#   c                   @   s  e Zd ZdZdZddgZdgZdZde Zde Z	d	e	 Z
d
e	 Zde	 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‘d*e
 ejd+f‘d,e
 ejdf‘d-e
 ejd.f‘d/e
 ejd0f‘d1e
 ejd2f‘ed3e
d4�ejf‘d5e
 ejd6f‘d7e
 ejd8f‘d9e
 ejd:f‘d;e
 ejd<f‘ed=e
d4�ejdf‘d>e
 ejd?f‘d@e
 ejdAf‘“dBdejdfdCejfdDejfg“ddejdfdEejfdFejfg“dGdHefdejdBfedƒdIe eejeeƒfeej fg“ddedJfdKe
 ejdLfedƒg“dMdHefdNe
 ejdfedƒeej dOfg“dPdHefdNe
 ejdfedƒe!dOƒg“dQdejdBfedƒeej fg“ddRe
 edfed+ƒg“d!edƒdSeef eej"ej#ej$eƒdfdTeef eej#ej$ƒdfg“d6edƒdUedVfdWeef eej"ej#ej$eƒdfdXeef eej#ej$ƒdfg“d?edƒdUefdYeef eej"ej#ej$eƒdfdZe	 ej"dfe!dƒg“d[edƒdUefdWeef eej"ej#ej$eƒdfdZe	 ej"dfe!dƒg“d\d]edfe!d?ƒg“d2eefd^e	 ed_fe!d`ƒg“d+edƒdTeef eej#ej%ƒdfg“dadbe
 ejdcfedƒddee	eef eej#ej$ejj&ƒdfg“edƒdeee	eef eej#ej$ej'eƒdffgedƒeejdfgedƒdge eej'eƒdffgdhe
 ejdfedƒgedƒddee	eef eej#ej$ejj$ƒdfgdHefdKe
 ejdfedƒeejfgedƒeejdfgedƒdie
 edfdje
 edkfdle
 edmfgdnœ¥Z(dodp„ Z)dqS )rr$   zb
    For `Jasmin <http://jasmin.sourceforge.net/>`_ assembly code.

    .. versionadded:: 2.0
    ÚJasminÚjasminÚjasminxtz*.jz \n\t\rz	(?:[%s]+)z%s:=z
(?=[%s]|$)z[^%s]+z(?:[^%s.;\[/]+)r	   r8   r:   rê  )r:   rF  r2   r3   r¿   rø   Úlabelz;.*z(\$[-+])?0x-?[\da-fA-F]+%sz(\$[-+]|\+)?-?\d+%szG-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?[fFdD]?[\x00-\x08\x0b\x0c\x0e-\x1f]*%sz\$%sz\.annotation%sr~   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)%sz	\.catch%szcaught-exceptionzb(\.class|\.implements|\.inner|\.super|inner|invisible|invisibleparam|outer|visible|visibleparam)%súclass/convert-dotsz	\.field%s)údescriptor/convert-dotsÚfieldz(\.end|\.limit|use)%súno-verificationz
\.method%sÚmethodz\.set%sr1   z
\.throws%sÚ	exceptionz(from|offset|to|using)%szis%s)r6  r1   z(locals|stack)%sÚverificationzmethod%sz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ì  z0(anewarray|checkcast|instanceof|ldc|ldc_w|new)%súclass/no-dotsz=invoke(dynamic|interface|nonvirtual|special|static|virtual)%sÚ
invocationz(getfield|putfield)%s)údescriptor/no-dotsr7  z(getstatic|putstatic)%s)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)%sr6  ztableswitch%sÚtablerF  z\\u[\da-fA-F]{4}z[^'\\]+z0\\([nrtfb"\'\\]|u[\da-fA-F]{4}|[0-3]?[0-7]{1,2})z[^"\\]+r?   z\n+z(%s)([ \t\r]*)(:))r:   úannotation-bodyz	default%s)r:   úannotation-defaultr  z\.end%s)úannotation-itemsrï  r  r  zall%sz(L)((?:%s[/.])*)(%s)(;)z((?:%s[/.])*)(%s)z\[+)r:   rï  z(L)((?:%s/)*)(%s)(;)z((?:%s/)*)(%s)z(L)((?:%s[/.])*)(%s?)(;)z
[^%s\[)L]+rï  údescriptors/convert-dotsr  z(?=[^%s]*\())r:   rî  )r:   r5  r7  zstatic%s)r:   rð  z(((?:%s[/.](?=[^%s]*[/.]))*)(%s[/.])?(%s)z-((?:%s[/.](?=[^%s(]*[/.]))*)(%s[/.])?(%s)(\())r:   r6  r	  r6  z(%s)(\()z(locals|method|stack)%sz8(Double|Float|Integer|Long|Null|Top|UninitializedThis)%szObject%s)r:   rí  zUninitialized%s)r:   r4  )rî  r4  r9  r8  rð  r  r1   r;  c                 C   sV   d}t  d| t j¡r|d7 }t  d| t j¡r|d7 }t  d| t j¡r&|d7 }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      ð?)rH   ÚsearchrI   r©  )r�   Úscorer_   r_   r`   r-  Ä  s   þ
zJasminLexer.analyse_textN)*r@   rA   rB   rC   rD   rE   rF   Ú_whitespacer÷  Ú
_separatorÚ_breakÚ_nameÚ_unqualified_namer   r   rN   r/  r   r   r   rY   r\   rX   r   r>  r   r?  r
   r  r   r   rW   r<  r	   rR   rS   r]   Ú	ExceptionÚInstancerP   r^   r-  r_   r_   r_   r`   r$   É  sp   ÿ
þ
ýüûúùø	÷
ÿÿöôñüûðêÿþé
ÿæ
ÿäâá à!ß
"ÿÞ$Ü%Û(êêØ?ÿÁAÿþ¿
Dÿ¼
FÿºHüû¸
Nÿ²P°ÿS
ý­X
ÿü¨^
ÿú¢f
ÿüšl
ü”rüŽx
ýˆ}þƒ 
þ
ÿû �þ 

þ
ÿú �ö 
þù �í 
þù �ä %þ �Û )ý �× .
ÿþ �Ò 3
ÿýý �Í <
ÿýþ	
þÿþþ
ÿþþü
þÿÿû �Ÿ jr$   c                   @   s  e Zd ZdZdZdgZdgZdgZej	ej
B 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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%   zR
    For `SARL <http://www.sarl.io>`_ source code.

    .. versionadded:: 2.4
    ÚSARLÚsarlz*.sarlztext/x-sarlr  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)\br-   r.   z+(false|it|null|occurrence|this|true|void)\bzY(agent|annotation|artifact|behavior|capacity|class|enum|event|interface|skill|space)(\s+)r(   r$  r/   r%  r&  r(  r  r  r  r*  r+  r8   r,  r:   r;   )r?   r(   r/   Nr  r_   r_   r_   r`   r%   Ñ  sZ    ýýþÿ
þß
$ÿ
ÿ
Ùr%   ),rC   rH   Úpygments.lexerr   r   r   r   r   r   r   r	   r
   Úpygments.tokenr   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%   r_   r_   r_   r`   Ú<module>   s>    
,(V'  !OM @ /O ACq  
