o
    Ñ­j‘�  ã                   @   s4  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 g d¢ZG dd„ deƒZG dd	„ d	eƒZG d
d„ deƒZ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.dsls
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for various domain-specific languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)	ÚExtendedRegexLexerÚ
RegexLexerÚbygroupsÚwordsÚincludeÚdefaultÚthisÚusingÚcombined)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
Whitespace)ÚProtoBufLexerÚ	ZeekLexerÚPuppetLexerÚRslLexerÚMscgenLexerÚVGLLexerÚ
AlloyLexerÚPanLexerÚ
CrmshLexerÚThriftLexerÚFlatlineLexerÚSnowballLexerc                   @   s2  e Zd ZdZdZdZddgZdgZdZde	fd	e
fd
ejfdejfedddd�efeddd�ej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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fd!eeje	eƒfd"efgd#ejd$fed$ƒgd%ejd$fed$ƒgd%ed$fed$ƒgd&œZ d'S )(r   z5
    Lexer for Protocol Buffer definition files.
    zProtocol Bufferz/https://developers.google.com/protocol-buffers/ÚprotobufÚprotoz*.protoz1.4z[ \t]+z[,;{}\[\]()<>]z/(\\\n)?/(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/)ÚimportÚoptionÚoptionalÚrequiredÚrepeatedÚreservedr   ÚpackedÚctypeÚ
extensionsÚtoÚmaxÚrpcÚreturnsÚoneofÚsyntaxú\b©ÚprefixÚsuffix)Úint32Úint64Úuint32Úuint64Úsint32Úsint64Úfixed32Úfixed64Úsfixed32Úsfixed64ÚfloatÚdoubleÚboolÚstringÚbytes©r4   ú(true|false)\bz(package)(\s+)Úpackagez(message|extend)(\s+)Úmessagez(enum|group|service)(\s+)Útypez\".*?\"z\'.*?\'z'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z(\-?(inf|nan))\bz0x[0-9a-fA-F]+[LlUu]*z0[0-7]+[LlUu]*z
\d+[LlUu]*z[+-=]z([a-zA-Z_][\w.]*)([ \t]*)(=)z[a-zA-Z_][\w.]*z[a-zA-Z_][\w\.]*ú#popú[a-zA-Z_]\w*)ÚrootrF   rG   rH   N)!Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚversion_addedr   r   r   ÚSingleÚ	Multiliner   r   ÚTypeÚConstantr   Ú	NamespaceÚDeclarationr   r   ÚFloatÚHexÚOctÚIntegerr   r   Ú	Attributer   ÚClassÚtokens© rb   rb   úQ/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/dsls.pyr      sj    ýüýüÿÿÿà
#þ
þþ
Õr   c                   @   s”  e Zd ZdZdZdZdgZdgZdgZdZ	e
dƒe
d	ƒd
ejeddƒfdejeddƒfdeejeƒdfdeejeƒdfdeeeƒejeeƒfe
dƒe
dƒdefdefdefgdefdefgdefdefdejfgdejfgd
ejdfd ejfgd!ejdfd"ejfgd#ejdfedƒgd$ejdfedƒgd%efd&ejfd'ejfe d(d)d*�ejfe d+d)d*�ej!fe d,d)d)d-�ej"fgd.e#j$fd/e#j%fd0e#j&fgd1œ
Z'd2S )3r   z+
    For Thrift interface definitions.
    ÚThriftzhttps://thrift.apache.org/Úthriftz*.thriftzapplication/x-thriftú2.1Ú
whitespaceÚcommentsú"ÚstringescapeÚdqsz\'Úsqsz(namespace)(\s+)Ú	namespacez*(enum|union|struct|service|exception)(\s+)ÚclasszE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()ÚkeywordsÚnumbersz[&=]z[:;,{}()<>\[\]]z[a-zA-Z_](\.\w|\w)*ú\nú\s+ú#.*$z//.*?\nú/\*[\w\W]*?\*/z\\([\\nrt"\'])rI   z	[^\\"\n]+ú'z
[^\\\'\n]+z[a-z*](\.\w|\w)*rJ   z1(async|oneway|extends|throws|required|optional)\brE   z(const|typedef)\b)Úcpp_namespaceÚcpp_includeÚcpp_typeÚjava_packageÚcocoa_prefixÚcsharp_namespaceÚdelphi_namespaceÚphp_namespaceÚ	py_moduleÚperl_packageÚruby_namespaceÚsmalltalk_categoryÚsmalltalk_prefixÚxsd_allÚxsd_optionalÚxsd_nillableÚxsd_namespaceÚ	xsd_attrsr   r1   rD   )ÚvoidrA   ÚbyteÚi16Úi32Úi64r@   rB   ÚbinaryÚmapÚlistÚsetÚslistÚsenum)eÚBEGINÚENDÚ	__CLASS__Ú__DIR__Ú__FILE__Ú__FUNCTION__Ú__LINE__Ú
__METHOD__Ú__NAMESPACE__ÚabstractÚaliasÚandÚargsÚasÚassertÚbeginÚbreakÚcaseÚcatchrn   ÚcloneÚcontinueÚdeclareÚdefr   ÚdelÚdeleteÚdoÚdynamicÚelifÚelseÚelseifÚelsifÚendÚ
enddeclareÚendforÚ
endforeachÚendifÚ	endswitchÚendwhileÚensureÚexceptÚexecÚfinallyr?   ÚforÚforeachÚfunctionÚglobalÚgotoÚifÚ
implementsr"   ÚinÚinlineÚ
instanceofÚ	interfaceÚisÚlambdaÚmoduleÚnativeÚnewÚnextÚnilÚnotÚorÚpassÚpublicÚprintÚprivateÚ	protectedÚraiseÚredoÚrescueÚretryÚregisterÚreturnÚselfÚsizeofÚstaticÚsuperÚswitchÚsynchronizedÚthenr   ÚthrowÚ	transientÚtryÚundefÚunlessÚunsignedÚuntilÚuseÚvarÚvirtualÚvolatileÚwhenÚwhileÚwithÚxorÚyieldr2   z1[+-]?(\d+\.\d+([eE][+-]?\d+)?|\.?\d+[eE][+-]?\d+)z[+-]?0x[0-9A-Fa-f]+z[+-]?[0-9]+)
rK   rg   rh   rj   rk   rl   rm   rn   ro   rp   N)(rL   rM   rN   rO   rP   rQ   rR   rS   Ú	mimetypesrT   r   r   ÚDoubler
   rU   r   r   rY   r   rZ   r	   r   r   ÚFunctionr   r   r   rV   ÚEscaper   r`   rX   r   rW   ÚReservedr   r[   r\   r^   ra   rb   rb   rb   rc   r   T   s�    ÿÿýïþýÿ
þ
þ
þ
þúùýüîíï'ý
ªr   c                   @   sd  e Zd ZdZdZdZddgZddgZdZd	Z	d
Z
dZedƒedƒedƒedƒedƒedƒedƒedƒedƒdejfedƒgdefdefdeeeƒfgdefgdejfdejfdeejeejƒfgeddd d!�ejfged"d d#�ejfd$eejeejeejƒfd%eeeejeeeejƒfd&eeeeeeƒfd'eeeejeejƒfged(d d#�efd)efd*ejfd+eejeejƒfgd,ed-fd.ejd/fd0ejfd1e fd2e fd3e fd4e	 d5 e j!fe
d6 e j"fe
d  e j"fd7e j#fed8 e d9 efgd:efd;efd<ejfd=efgd>e$fd?e$fgd@eee$ƒfdAefgdBej%fdCej%fd,edDfdEefgdBej%fdFejdDfdEejfgdGœZ&dHS )Ir   z
    For Zeek scripts.
    ÚZeekzhttps://www.zeek.org/ÚzeekÚbroz*.zeekz*.broz2.5z[0-9a-fA-F]z(((\d*\.?\d+)|(\d+\.?\d*))([eE][-+]?\d+)?z[A-Za-z0-9][-A-Za-z0-9]*rg   rh   Ú
directivesÚ
attributesÚtypesro   ÚliteralsÚ	operatorsÚpunctuationz2((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(?=\s*\()Úidentifiersrq   rr   z(\\)(\n)rs   z)@(load-plugin|load-sigs|load|unload)\b.*$z=@(DEBUG|DIR|FILENAME|deprecated|if|ifdef|ifndef|else|endif)\bz(@prefixes)(\s*)((\+?=).*)$)ÚredefÚpriorityÚlogr$   r   Úadd_funcÚdelete_funcÚexpire_funcÚread_expireÚwrite_expireÚcreate_expirerá   Ú
persistentÚrotate_intervalÚrotate_sizeÚencryptÚ
raw_outputÚ	mergeableÚerror_handlerÚtype_columnÚ
deprecatedú&r1   r2   )ÚanyÚenumÚrecordr�   ÚtableÚvectorr¿   ÚhookÚeventÚaddrrA   Úcountr@   ÚfileÚintÚintervalÚpatternÚportrB   ÚsubnetÚtimerD   zA(opaque)(\s+)(of)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\bzR(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)(\s*)\b(record|enum)\bz<(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)zI(redef)(\s+)(record|enum)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\b)r  ÚexportrÂ   r¯   r½   rï   rÛ   r£   rÍ   r§   Úfallthroughrà   r   r¤   Úaddr«   rî   ÚtimeoutÚschedulez	(print)\bz(global|local|const|option)\bz4(module)(\s+)(([A-Za-z_]\w*)(?:::([A-Za-z_]\w*))*)\bri   rB   z/(?=.*/)Úregexz(T|F)\bz \d{1,5}/(udp|tcp|icmp|unknown)\bz(\d{1,3}.){3}(\d{1,3})\bzH\[([0-9a-fA-F]{0,4}:){2,7}([0-9a-fA-F]{0,4})?((\d{1,3}.){3}(\d{1,3}))?\]z0[xX]z+\bz!\s*(day|hr|min|sec|msec|usec)s?\bz(\d+)\bz(\.z)+z[!%*/+<=>~|&^-]z([-+=&|]{2}|[+=!><-]=)z(in|as|is|of)\bz\??\$z[{}()\[\],;.]z[?:]z([a-zA-Z_]\w*)(::)rJ   z\\.z%-?[0-9]*(\.[0-9]+)?[DTd-gsx]rI   Ú.ú/)rK   rg   rh   rû   rü   rý   ro   rþ   rÿ   r   r  rB   r*  N)'rL   rM   rN   rO   rP   rQ   rR   rS   rT   Ú_hexÚ_floatÚ_hr   r   rõ   r   r   r   r   ÚPreprocr   r   ÚPseudorW   r   ÚWordr`   rZ   rY   r   ÚRegexrX   r   r\   r[   r^   r   rö   ra   rb   rb   rb   rc   r   ½   sÒ    ÿôýÿÿýûúÿûúÿÿÿÿîûúÿö
æüú
þü
ý �
÷r   c                   @   sþ   e Zd ZdZdZdZdgZdgZdZe	dƒe	dƒe	d	ƒe	d
ƒe	dƒe	dƒde
fdefgdeeeƒfdejfgdefdejfgdejfdeeje
ee
ƒfdejfgdejfdejfdejfdejfdejjfdejfgedddd�efgd efd!efgd"œZd#S )$r   z'
    For Puppet configuration DSL.
    ÚPuppetzhttps://puppet.com/Úpuppetz*.ppú1.6rh   ro   Únamesrp   rÿ   Ústringsz[]{}:(),;[]rr   z(\s*)(#.*)$z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z(=>|\?|<|>|=|\+|-|/|\*|~|!|\|)z(in|and|or|not)\brJ   z(\$\S+)(\[)(\S+)(\])z\$\S+z'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?z\d+[eE][+-]?[0-9]+j?z	0[0-7]+j?z0[xX][a-fA-F0-9]+z\d+Lz\d+j?)mÚabsentÚalertr�   ÚauditÚaugeasÚbeforer¤   Úcheckrn   ÚcomputerÚ
configuredÚ	containedÚcreate_resourcesÚcritÚcronÚdebugr   ÚdefineÚdefinedÚ	directoryr¯   r±   ÚemergÚerrr»   Ú	extlookupÚfailÚfalser  Ú
filebucketÚ	fqdn_randÚgenerateÚhostrÂ   r"   r   ÚinfoÚinheritsÚinline_templateÚ	installedrÇ   Úk5loginÚlatestÚlinkÚloglevelÚmacauthorizationÚ	mailaliasÚmaillistÚmcxÚmd5ÚmountÚmountedÚnagios_commandÚnagios_contactÚnagios_contactgroupÚnagios_hostÚnagios_hostdependencyÚnagios_hostescalationÚnagios_hostextinfoÚnagios_hostgroupÚnagios_serviceÚnagios_servicedependencyÚnagios_serviceescalationÚnagios_serviceextinfoÚnagios_servicegroupÚnagios_timeperiodÚnodeÚnoopÚnoticeÚnotifyrF   ÚpresentÚpurgedÚrealizeÚregsubstÚ	resourcesÚroleÚrouterÚrunningr)  Úscheduled_taskÚsearchÚ
selbooleanÚ	selmoduleÚserviceÚsha1Ú
shellquoteÚsplitÚsprintfÚssh_authorized_keyÚsshkeyÚstageÚstoppedÚ	subscribeÚtagÚtaggedÚtemplateÚtidyÚtrueræ   Ú	unmountedÚuserÚ
versioncmpÚvlanÚwarningÚyumrepoÚzfsÚzoneÚzpoolz(?i)r1   r2   z	"([^"])*"z'(\\'|[^'])*')rK   rh   rÿ   r7  rp   ro   r8  N)rL   rM   rN   rO   rP   rQ   rR   rS   rT   r   r   r   r   r   rV   r   r2  r   r_   ÚVariabler   r   r[   r]   r\   r^   ÚLongr   r   ra   rb   rb   rb   rc   r   ^  sZ    ÷þþ
ÿü	
ùêéýþ
»r   c                   @   sì   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B Zded	d
d
d�efdejfdefdefdefdefdeeejeejƒfdeeejeeeeƒfdejfdejfdefdejfdefdejfdejfdejfdefdefgiZ dd„ Z!dS ) r   z‡
    RSL is the formal specification
    language used in RAISE (Rigorous Approach to Industrial Software Engineering)
    method.
    ÚRSLz"http://en.wikipedia.org/wiki/RAISEÚrslz*.rslztext/rslú2.0rK   )JÚBoolÚCharÚIntÚNatÚRealr   ÚUnitÚabsÚallÚalwaysr  r    ÚaxiomÚcardr¤   ÚchannelÚchaosrn   Údevt_relationÚdomÚelemsr¯   r®   r²   ÚexistsÚextendrM  r½   ÚhdÚhiderÂ   rÄ   rÈ   ÚindsÚ
initialiser  ÚinterÚisinÚlenÚletÚlocalÚltl_assertionÚobjectÚofÚoutÚpostÚpreÚreadÚrealÚrngÚschemeÚskipÚstopÚswaprâ   ÚtheoryÚ	test_caseÚtlÚtransition_systemr�  rH   Úunionré   rê   ÚvalueÚvariablerï   rð   Úwritez~isinz-inflistz-infsetz-listz-setr1   r2   z(variable|value)\bz--.*?\nz<:.*?:>z	\{!.*?!\}ú	/\*.*?\*/z^([ \t]*)([\w]+)([ \t]*)(:[^:])z5(^[ \t]*)([\w]+)([ \t]*)(\([\w\s,]*\))([ \t]*)(is|as)z\b[A-Z]\w*\brE   z".*"z\'.\'zq(><|->|-m->|/\\|<=|<<=|<\.|\|\||\|\^\||-~->|-~m->|\\/|>=|>>|\.>|\+\+|-\\|<->|=>|:-|~=|\*\*|<<|>>=|\+>|!!|\|=\||#)z [0-9]+\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-f]+ú[0-9]+rr   r+  c                 C   s   t  d| t j¡durdS dS )zP
        Check for the most common text in the beginning of a RSL file.
        zscheme\s*.*?=\s*class\s*typeNg      ð?)Úrer|  ÚI)Útextrb   rb   rc   Úanalyse_textì  s   ÿzRslLexer.analyse_textN)"rL   rM   rN   rO   rP   rQ   rR   rS   ró   rT   rÎ  Ú	MULTILINEÚDOTALLÚflagsr   r   rZ   r   r   r   r   rõ   r   rW   rX   r   r�  r   r   r[   r\   r^   ra   rÑ  rb   rb   rb   rc   r   µ  sV    õô
ÿÿÿþÝÿ(r   c                   @   sÈ   e Zd ZdZdZdZddgZdgZdZdZ	d	e
jfd
ejfdejfde
fdefdejfe	ejfdedfdefedƒg
dedfe	d e	 eejeeeeƒfdefedƒgdejfdejfdefgdœZdS )r   z
    For Mscgen files.
    ÚMscgenz!http://www.mcternan.me.uk/mscgen/ÚmscgenÚmscz*.mscr6  z(\w+|"(?:\\"|[^"])*")zmsc\bzO(hscale|HSCALE|width|WIDTH|wordwraparcs|WORDWRAPARCS|arcgradient|ARCGRADIENT)\bz)(abox|ABOX|rbox|RBOX|box|BOX|note|NOTE)\bz(\.|-|\|){3}zT(?:-|=|\.|:){2}|<<=>>|<->|<=>|<<>>|<:>|->|=>>|>>|=>|:>|-x|-X|<-|<<=|<<|<=|<:|x-|X-|=z\*z\[Úattrsz	\{|\}|,|;rh   z\]rI   z(\s*)(=)(\s*)ú,z(?://|#).*?\nz/\*(?:.|\n)*?\*/z
[ \t\r\n]+)rK   rØ  rh   N)rL   rM   rN   rO   rP   rQ   rR   rS   rT   Ú_varr   rW   r   ÚPropertyr   r2  ÚBuiltinr—  r   r   r   r_   r   r   r   rU   rV   ra   rb   rb   rb   rc   r   ô  sJ    ÿýî
ÿÿú	ý
ãr   c                   @   s’   e Zd ZdZdZdZdgZdgZdZe	j
e	jB e	jB Zddejfd	ejfd
efdejfdefdefdeeejƒfdefdefdefdefgiZdS )r   z,
    For SampleManager VGL source code.
    ÚVGLz-http://www.thermoscientific.com/samplemanagerÚvglz*.rpfr6  rK   z	\{[^}]*\}r¨   zî(if|then|else|endif|while|do|endwhile|and|or|prompt|object|create|on|line|with|global|routine|value|endroutine|constant|global|set|join|library|compile_option|file|exists|create|copy|delete|enable|windows|name|notprotected)(?! *[=<>.,()])z$(true|false|null|empty|error|locked)z[~^*#!%&\[\]()<>|+=:;,./?-]z"[^"]*"z(\.)([a-z_$][\w$]*)z&[0-9][0-9]*(\.[0-9]+(e[+\-]?[0-9]+)?)?z[a-z_$][\w$]*z[\r\n]+rr   N)rL   rM   rN   rO   rP   rQ   rR   rS   rT   rÎ  rÒ  rÓ  Ú
IGNORECASErÔ  r   rV   r   rX   r   r   r   r   r_   r   r   ra   rb   rb   rb   rc   r   %  s0    üñÿr   c                   @   sZ  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B ZdZd	Zd
efZdedfeefedefdedfgeeedfgededfeedfgedƒeedfgdejfdejfdejfedeejeƒdfdeejeƒdfdejfdejfdefdefdefdefdefdej fdeeeƒdfd eeeƒd!fd"efd#efeefd$efd%e!j"feefd&efgd'œZ#d(S ))r   z 
    For Alloy source code.
    ÚAlloyzhttp://alloy.mit.eduÚalloyz*.alsztext/x-alloyr›  z[a-zA-Z_][\w]*"*z"\b(\\\\|\\[^\\]|[^"\\])*"z[^\S\n]+z(extends)\brI   rÙ  ú\{Úfunz--.*?$z//.*?$rÌ  z(module|open)(\s+)rÊ   z(sig|enum)(\s+)Úsigz(iden|univ|none)\bz(int|Int)\bz2(var|this|abstract|extends|set|seq|one|lone|let)\bz"(all|some|no|sum|disj|when|else)\bz-(run|check|for|but|exactly|expect|as|steps)\bz)(always|after|eventually|until|release)\bz,(historically|before|once|since|triggered)\bz(and|or|implies|iff|in)\bz(fun|pred|assert)(\s+)z(fact)(\s+)Úfactz&!|#|&&|\+\+|<<|>>|>=|<=>|<=|\.\.|\.|->z[-+/*%=<>&!^|~{}\[\]().\';]z[:,]rÍ  rq   )rä  rÊ   rã  rå  rK   N)$rL   rM   rN   rO   rP   rQ   rR   rS   ró   rT   rÎ  rÒ  rÓ  rÔ  Úiden_rexÚ
string_rexr   Ú
text_tupler   r   r   r   r   r   r   rU   rV   r   rY   rZ   rX   rW   r2  r   r^   ra   rb   rb   rb   rc   r   F  sn    ûþýþÿè
ër   c                
   @   sþ   e Zd ZdZdZdZdgZdgZdZe	dƒde
d	fd
e
dfe	dƒgedddd�e
fedddd�ejfdefdejfdeejeeƒfdefdefdefgdejfdejfdefdefdefgde
dfde
fdejfd efd!efe	d"ƒgd#e
dfe	d"ƒgd$œZd%S )&r   z?
    Lexer for pan source files.

    Based on tcsh lexer.
    ÚPanzhttps://github.com/quattor/pan/Úpanz*.panr›  Úbasicz\(Úparenrâ  ÚcurlyÚdata)rÂ   r½   rð   r¯   rH   Úbindrï   ÚvalidÚfinalr3   Úuniquer¸  r¾   r   r‹  r¿   rÊ  Ú	structureÚ
extensibleÚdeclarationr1   r2   )4Úfile_contentsÚformatÚindexÚlengthÚmatchÚmatchesÚreplaceÚsplicer‚  ÚsubstrÚto_lowercaseÚto_uppercaserE  ÚerrorÚ	tracebackr  Úbase64_decodeÚbase64_encodeÚdigestÚescapeÚunescapeÚappendÚcreateÚfirstÚnlistÚkeyr�   ÚmergerÍ   ÚprependÚ
is_booleanÚ
is_definedÚ	is_doubleÚis_listÚis_longÚis_nlistÚis_nullÚ	is_numberÚis_propertyÚis_resourceÚ	is_stringÚ
to_booleanÚ	to_doubleÚto_longÚ	to_stringr¦   r«   r¬  Úpath_existsÚ	if_existsrÛ   rÉ  z#.*z\\[\w\W]z(\b\w+)(\s*)(=)z[\[\]{}()=]+z<<\s*(\'?)\\?(\w+)[\w\W]+?\2ú;z!(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"z!(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'rr   z[^=\s\[\]{}()$"\'`\\;#]+z\d+(?= |\Z)z\}rI   z:-z\w+z[^}:"\'`$]+ú:rK   ú\))rK   rë  rî  rí  rì  N)rL   rM   rN   rO   rP   rQ   rR   rS   rT   r   r   r   r   rÜ  r   r   rö   r   r—  r   r   r   rô   rU   r   r   ra   rb   rb   rb   rc   r   Š  s\    üüû
öõèûú	þ
Ðr   c                   @   sD  e Zd ZdZdZdZddgZddgZg ZdZ	e
d	d
d�Ze
dd
d�Ze
dd
d�Ze
dd
d�Ze
dd
d�Ze
dd
d�ZdZdZdZdZddeeeƒfdeejeeƒfdeeeeeƒfdefeefeefeefde› de› d�ejfeejfeejfeejfdej fde› d�eeeeƒfd e› d!�eeeejƒfd"efd#efgiZ!d$S )%r   zE
    Lexer for crmsh configuration files for Pacemaker clusters.
    ÚCrmshzhttp://crmsh.github.io/ÚcrmshÚpcmkz*.crmshz*.pcmkrf   )ro  Ú	primitiveÚgroupr¦   ÚmsÚlocationÚ
colocationÚorderÚfencing_topologyÚ
rsc_ticketÚrsc_templateÚpropertyÚrsc_defaultsÚop_defaultsÚ
acl_targetÚ	acl_groupr�  rx  r‰  z(?![\w#$-])rD   )ÚparamsÚmetaÚ
operationsÚopÚrulerü   Úutilization)r½  rË  Údeny)rž   rÐ   )rG  Únot_defined)Úin_rangeÚdateÚspecrÄ   z*(?:tag|ref|reference|attribute|type|xpath)z(?:lt|gt|lte|gte|eq|ne)z(?:string|version|number)z:(?:Master|Started|Slave|Stopped|start|promote|demote|stop)rK   z^(#.*)(\n)?z!([\w#$-]+)(=)("(?:""|[^"])*"|\S+)z(node)(\s+)([\w#$-]+)(:)z([+-]?([0-9]+|inf)):z(?:z:)?(z)(?![\w#$-])z#[a-z]+(?![\w#$-])ú(z)(:)("(?:""|[^"])*"|\S+)z([\w#$-]+)(?:(:)(z))?(?![\w#$-])z(\\(?=\n)|[\[\](){}/:@])z\s+|\nN)"rL   rM   rN   rO   rP   rQ   rR   rS   ró   rT   r   ÚelemÚsubÚaclÚbin_relÚun_opsÚdate_expÚacl_modÚbin_opsÚval_qualÚrsc_role_actionr   r   r   r   r_   r   r   r   r   r   r2  rÜ  ra   rb   rb   rb   rc   r   Î  sb    ûþÿÿ

ÿ
ÿßÿr   c                   @   s²   e Zd ZdZdZdZdgZg ZdgZdZ	dZ
dZd	Zd
d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ee
dd�efeedd�ejfde ejfeejfdefgiZdS )r   z)
    Lexer for Flatline expressions.
    ÚFlatlinez$https://github.com/bigmlcom/flatlineÚflatlineztext/x-flatlineú2.2)rµ  )†z!=Ú*ú+ú-ú<z<=ú=ú>z>=r¢  Úacosr£  zall-butzall-with-defaultszall-with-numeric-defaultrž   ÚasinÚatanÚavgz
avg-windowz
bin-centerz	bin-countÚcallzcategory-countÚceilÚcondzcond-windowÚconsÚcosÚcoshr  zdiff-windowÚdivzensure-valuezensure-weighted-valueÚepochz	epoch-dayzepoch-fieldsz
epoch-hourzepoch-millisecondzepoch-minutezepoch-monthzepoch-secondzepoch-weekdayz
epoch-yearÚexpÚfÚfieldz
field-propÚfieldsÚfilterr
  ÚfloorÚheadrÂ   rÄ   ÚintegerÚlanguagerù  Úlevenshteinzlinear-regressionr�   Úlnr  Úlog10rŽ   rû  zmatches?r,   Úmaximumr^  ÚmeanÚmedianÚminÚminimumÚmissingzmissing-countzmissing?Úmissing_countÚmodÚmodeÚ	normalizerÏ   ÚnthÚoccurrencesrÐ   Ú
percentilezpercentile-labelÚ
populationzpopulation-fractionÚpowÚ	preferredz
preferred?zquantile-labelÚrandzrand-intzrandom-valuezre-quoter¾  rü  zreplace-firstÚrestÚroundz
row-numberzsegment-labelr€  Úsha256ÚsinÚsinhÚsqrtÚsquarezstandard-deviationÚstandard_deviationÚstrÚsubsÚsumzsum-squaresz
sum-windowÚsum_squaresÚsummaryz
summary-nozsummary-strÚtailÚtanÚtanhz
to-degreesz
to-radiansÚvarianceÚ	vectorizezweighted-random-valueÚwindowÚwinnowzwithin-percentiles?zz-scorez(?!#)[\w!$%*+<=>?/.#-]+rK   z[,]+rr   z
-?\d+\.\d+z-?\d+z0x-?[a-f\d]+z"(\\\\|\\[^\\]|[^"\\])*"z\\(.|[a-z]+)Ú_ú rD   z(?<=\()z(\(|\))N)rL   rM   rN   rO   rP   rQ   rR   rS   ró   rT   Úspecial_formsÚbuiltinsÚ
valid_namer   r   r   r[   r^   r\   r   r�  ÚSymbolr   r   r   rÜ  rõ   r—  r   ra   rb   rb   rb   rc   r     s6    âÿr   c                   @   sf  e Zd ZdZdZdZdgZdgZdZdZ	dd	„ Z
d
d„ Zdd„ Zdd„ Zdejfdejfedƒgde	› d�efdejfdejdfdefdejfdejfdefeddd�ejfeddd�ejd fed!dd�ejfed"dd�ejfd#e	› d$e	› d%�eejeejƒfd&e	› d'e	› d(�efd)efgd*ed+fed,dd�ed-fedƒgd.ed/ƒfgd.ed0ƒfgd1œZ d5d3d4„Z!d2S )6r   z)
    Lexer for Snowball source code.
    ÚSnowballzhttps://snowballstem.org/Úsnowballz*.sblrL  z\n\r\t c                 K   s   |   ¡  tj| fi |¤Ž d S ©N)Ú_reset_stringescapesr   Ú__init__)rÜ   Úoptionsrb   rb   rc   rš  l  s   zSnowballLexer.__init__c                 C   s   d| _ d| _d S )Nru   )Ú_startÚ_end)rÜ   rb   rb   rc   r™  p  s   
z"SnowballLexer._reset_stringescapesc                    s   ‡ fdd„}|S )Nc           	      3   sR  � |  ¡ }| ¡ }t dt | j¡› d�¡j}t dt | j¡› d�¡j}d}ˆ }|t|ƒk r |rt|||ƒ}||  d¡ t	j
| d¡fV  | d¡dkra||  d¡ t	j
| d¡fV  |j ¡  n?||  d¡ t	j| d¡fV  | ¡ }|||ƒ}||  ¡  t	j| ¡ fV  | d¡| jkr”d|jd< n| ¡ }d	}|t|ƒk s/|| ¡  |_d S )
Nz([^ú]*)(.)r   é   é   ru   r  éÿÿÿÿT)Ústartr'  rÎ  Úcompiler  rœ  rú  r�  r´  r   rU   ÚstackÚpoprö   r²   Úpos)	Úlexerrú  ÚctxÚsrÐ  rB   r  r¦  Ú	do_string©Údo_string_firstrb   rc   Úcallbacku  s4   €



ðz'SnowballLexer._string.<locals>.callbackrb   )r¬  r­  rb   r«  rc   Ú_stringt  s   zSnowballLexer._stringc                 C   s6   |  d¡| _|  d¡| _ttjttjttjƒ| ||ƒS )Né   é   )	r'  rœ  r�  r   r   r÷   r   r   rö   )r§  rú  r¨  rb   rb   rc   Ú_stringescapes�  s   ÿÿzSnowballLexer._stringescapeszlen\bzlenof\bÚroot1ú[z]+z\d+ru   rB   z[()]rt   z//.*z)[!*+\-/<=>]=|[-=]>|<[+-]|[$*+\-/<=>?\[\]])r    ÚgetÚhexÚamongrF  ÚdecimalÚbackwardmoder1   rD   )r8  ÚbooleansÚintegersÚroutinesÚ	externalsÚ	groupingsrõ  )!r¬   rÐ   rž   r½   ÚhopÚnonrÏ   r�   rå   rL  rÁ   ÚlooprÍ   Útestr�  rM  ÚunsetÚatmarkÚattachr«   ÚgopastÚinsertÚrepeatrÝ   ÚtomarkÚatleastÚatlimitÚreverseÚsetmarkÚtolimitÚsetlimitÚ	backwardsÚ	substring)ÚsizeÚlimitÚcursorÚmaxintÚminintz(stringdef\b)([z]*)([^z]+)z(stringescapes\b)([z]*)(.)([rž  z[A-Za-z]\w*r"  rI   )r´  Úlenof)r²  rõ  z[^']*'TF)rK   r²  rõ  rB   r  Nc                 C   s   |   ¡  t | ||¡S r˜  )r™  r   Úget_tokens_unprocessed)rÜ   rÐ  Úcontextrb   rb   rc   r×  È  s   z$SnowballLexer.get_tokens_unprocessed)NN)"rL   rM   rN   rO   rP   rQ   rR   rS   rT   Ú_wsrš  r™  r®  r±  r   rÜ  r   r2  r   r   r   r^   r   rU   r   r   rV   r   r   r÷   r   rö   ra   r×  rb   rb   rb   rc   r   _  s~    ý
ÿþÿþûúÿþÿÿäÿü
ÿ
ÿÓ2r   )$rO   rÎ  Úpygments.lexerr   r   r   r   r   r   r   r	   r
   Úpygments.tokenr   r   r   r   r   r   r   r   r   Ú__all__r   r   r   ÚBroLexerr   r   r   r   r   r   r   r   r   rb   rb   rb   rc   Ú<module>   s&    
,,=i W?1!DDEL