§
    ‹ŸjíÆ  ã                   ó   — 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
 ddlmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ g d¢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„ 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¦  «        Z0 G d/„ d0e¦  «        Z1 G d1„ d2e¦  «        Z2 G d3„ d4e¦  «        Z3dS )5zÜ
    pygments.lexers.configs
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for configuration file formats.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚExtendedRegexLexerÚ
RegexLexerÚdefaultÚwordsÚbygroupsÚincludeÚusingÚline_re)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚLiteralÚErrorÚGeneric)Ú	BashLexer)Ú	JsonLexer)ÚIniLexerÚSystemdLexerÚDesktopLexerÚRegeditLexerÚPropertiesLexerÚKconfigLexerÚCfengine3LexerÚApacheConfLexerÚSquidConfLexerÚNginxConfLexerÚLighttpdConfLexerÚDockerLexerÚTerraformLexerÚTermcapLexerÚTerminfoLexerÚPkgConfigLexerÚPacmanConfLexerÚAugeasLexerÚ	TOMLLexerÚNestedTextLexerÚSingularityLexerÚUnixConfigLexerc                   óp  — e Zd ZdZdZg d¢Zg d¢ZddgZdZdZ	d	e
fd
ej        fd eee
¦  «        fd eej        e
ee
e¦  «        dfd eej        e
ee
eee
¦  «        dfd eej        e
ee
e¦  «        fdej        fgd eeee
¦  «        dfd
ej        fdedfgd	e
fd ee
eee
¦  «        fdedfgdœZd„ ZdS )r   z5
    Lexer for configuration files in INI style.
    ÚINI)ÚiniÚcfgÚdosini)z*.iniz*.cfgz*.infz.editorconfigz
text/x-iniztext/infz&https://en.wikipedia.org/wiki/INI_fileÚ ú\s+ú[;#].*z(\[.*?\])([ \t]*)$z!(.*?)([ \t]*)([=:])([ \t]*)(["'])Úquoted_valuez.(.*?)([ \t]*)([=:])([ \t]*)([^;#\n]*)(\\)(\s+)Úvaluez6(.*?)([ \t]*)([=:])([ \t]*)([^ ;#\n]*(?: +[^ ;#\n]+)*)z(.+?)$z([^"'\n]*)(["'])(\s*)ú#popú$z(\s*)(.*)(\\)([ \t]*)z.*$)Úrootr7   r8   c                 óz   — |                       d¦  «        }|dk     rdS | d         dk    r| |dz
           dk    rdS dS )	Nú
é   Fr   ú[é   ú]gš™™™™™é?)Úfind)ÚtextÚnposs     úd/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/pygments/lexers/configs.pyÚanalyse_textzIniLexer.analyse_textI   sH   € Ø�yŠy˜‰ŒˆØ�!Š8ˆ8Ø�5Ø�Œ7�cŠ>ˆ>˜d 4¨¡6œl¨cÒ1Ð1Ø�3Øˆuó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   r   ÚSingler   r   r   Ú	Attributer   r   r   ÚtokensrF   © rG   rE   r   r      s‡  € € € € € ðð ð €DØ&Ð&Ð&€Gðð ð €Ið ˜zÐ*€IØ
2€CØ€Mð �ZÐ Ø˜œÐ'Ø" H H¨W°jÑ$AÔ$AÐBØ5ØˆX�d”n j°(¸JÈÑOÔOØðð ?ØˆX�d”n j°(¸JÈØ˜Jñ(ô (àðð GØˆX�d”n j°(¸JÈÑOÔOðQð ˜œÐ'ð
ð" *ØˆX�f˜f jÑ1Ô1°6ð;à˜œÐ'Ø�6˜6Ð"ð	
ð �ZÐ Ø%ØˆX�j &¨$°
Ñ;Ô;ð=à�V˜VÐ$ð	
ð/ð €Fð>ð ð ð ð rG   r   c                   óº   — e Zd ZdZdZdZdgZdgZdgZdZ	dd	e
fd
 eej        e
¦  «        fd eee
¦  «        fd eej        ej        e
ee
ee
¦  «        fgiZd„ ZdS )r   z#
    Lexer for .desktop files.
    zDesktop filezXhttps://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.htmlÚdesktopz	*.desktopzapplication/x-desktopú2.16r;   ú	^[ \t]*\nz
^(#.*)(\n)ú(\[[^\]\n]+\])(\n)zG([-A-Za-z0-9]+)(\[[^\] \t=]+\])?([ \t]*)(=)([ \t]*)([^\n]*)([ \t\n]*\n)c                 óˆ   — |                       d¦  «        rdS t          j        d| d d…         t          j        ¦  «        �dS dS )Nz[Desktop Entry]ç      ð?z^\[Desktop Entry\][ \t]*$éô  çÍÌÌÌÌÌì?ç        ©Ú
startswithÚreÚsearchÚ	MULTILINE©rC   s    rE   rF   zDesktopLexer.analyse_texth   sE   € Ø�?Š?Ð,Ñ-Ô-ð 	Ø�3ÝŒ9Ð1°4¸¸¸´:½r¼|ÑLÔLÐXØ�3ØˆsrG   N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   r   r   rR   r   r   rS   Ú	Namespacer   r   rT   rF   rU   rG   rE   r   r   R   s¿   € € € € € ðð ð €DØ
d€CØˆk€GØ�€IØ(Ð)€IØ€Mð 	Ø˜:Ð&Ø˜H˜H W¤^°ZÑ@Ô@ÐAØ" H H¨W°jÑ$AÔ$AÐBØWØˆX�d”n d¤n°jÀ(ÈJÐX^Ð`jÑkÔkðmð	
ð€Fðð ð ð ð rG   r   c                   ó<  — e Zd ZdZdZdZdgZg d¢ZdZde	fd e
ej        e	¦  «        fd	 e
ee	¦  «        fd
 e
ej        e	ee	eee	¦  «        dfd e
ej        e	ee	ee	¦  «        fgd e
ej        e	¦  «        fd e
e	eee	¦  «        fd e
e	ee	¦  «        dfgdœZd„ ZdS )r   z'
    Lexer for systemd unit files.
    ÚSystemdzDhttps://www.freedesktop.org/software/systemd/man/systemd.syntax.htmlÚsystemd)z	*.servicez*.socketz*.devicez*.mountz*.automountz*.swapz*.targetz*.pathz*.timerz*.slicez*.scoperX   rY   z^([;#].*)(\n)rZ   z*([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\\)(\n)r8   z&([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\n)z([ \t]*)([^\n]*)(\\)(\n)z([ \t]*)([^\n]*)(\n)r9   ©r;   r8   c                 óˆ   — |                       d¦  «        rdS t          j        d| d d…         t          j        ¦  «        �dS dS )Nz[Unit]r\   z^\[Unit\][ \t]*$r]   r^   r_   r`   re   s    rE   rF   zSystemdLexer.analyse_text”   sD   € Ø�?Š?˜8Ñ$Ô$ð 	Ø�3ÝŒ9Ð(¨$¨t°¨t¬*µb´lÑCÔCÐOØ�3ØˆsrG   N)rH   rI   rJ   rK   rL   rP   rM   rN   rQ   r   r   r   rR   r   r   rS   r   r   r   rT   rF   rU   rG   rE   r   r   p   s@  € € € € € ðð ð €DØ
P€CØˆk€Gðð ð €Ið €Mð ˜:Ð&Ø˜x˜x¨¬¸
ÑCÔCÐDØ" H H¨W°jÑ$AÔ$AÐBØ:ØˆX�d”n j°(¸JÈØ˜Jñ(ô (àðð 7ØˆX�d”n j°(¸JÈÐPZÑ[Ô[ð]ð

ð ˜x˜x¨¬¸
ÑCÔCÐDØ(ØˆX�j &¨$°
Ñ;Ô;ð=à$ØˆX�j &¨*Ñ5Ô5°vð?ð
ðð €Fð,ð ð ð ð rG   r   c                   ó$  — e Zd ZdZdZdZdgZdgZdgZdZ	de
fd	efd
ej        fd eeeej        e¦  «        fd eej        eee¦  «        dfd eej        eee¦  «        dfgdedfd eej        ee¦  «        dfdedf ed¦  «        gdœZd„ ZdS )r   z?
    Lexer for Windows Registry files produced by regedit.
    Úregz8http://en.wikipedia.org/wiki/Windows_Registry#.REG_filesÚregistryz*.regztext/x-windows-registryú1.6zWindows Registry Editor.*r5   r6   z(\[)(-?)(HKEY_[A-Z_]+)(.*?\])$z)("(?:\\"|\\\\|[^"])+")([ \t]*)(=)([ \t]*)r8   z(.*?)([ \t]*)(=)([ \t]*)ú-r9   z1(dword|hex(?:\([0-9a-fA-F]\))?)(:)([0-9a-fA-F,]+)ú.+rj   c                 ó,   — |                       d¦  «        S )NzWindows Registry Editor)ra   re   s    rE   rF   zRegeditLexer.analyse_textÂ   s   € Ø�ŠÐ8Ñ9Ô9Ð9rG   N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   r   r   rR   r   r   r   r   ÚBuiltinrS   ÚVariabler   r   r   r   rT   rF   rU   rG   rE   r   r   œ   s)  € € € € € ðð ð €DØ
D€CØˆl€GØ�	€IØ*Ð+€IØ€Mð *¨4Ð0Ø�ZÐ Ø˜œÐ'Ø.ØˆX�g˜x¨¬°wÑ?Ô?ðAð :ØˆX�d”n j°(¸JÑGÔGØðð )ØˆX�d”n j°(¸JÑGÔGØðð
ð  �8˜VÐ$ØAØˆX�d”m [°&Ñ9Ô9¸6ðCð �F˜FÐ#ØˆG�F‰OŒOð
ð!ð €Fð4:ð :ð :ð :ð :rG   r   c            	       ó  — e Zd ZdZdZddgZdgZdgZdZdZ	d	e
j        fd
efdef ed¦  «        gdej        f ed¦  «        d eeee¦  «        dfdedfd
edfgdef ed¦  «        d
edfgd eej        e¦  «        fdej        fgdœZdS )r   z‹
    Lexer for configuration files in Java's properties format.

    Note: trailing whitespace counts as part of the value as per spec
    Ú
PropertiesÚ
propertiesÚjpropertiesz*.propertiesztext/x-java-propertiesz)https://en.wikipedia.org/wiki/.propertiesz1.4z[!#].*|/{2}.*ú\nz	^[^\S\n]+Úkeyz
[^\\:=\s]+Úescapesz([^\S\n]*)([:=])([^\S\n]*))r9   r8   ú[^\S\n]+r9   z[^\\\n]+z(\\\n)([^\S\n]*)z\\(.|\n))r;   rz   r8   r{   N)rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   rR   r   r   r   rS   r   r   r   r   ÚEscaperT   rU   rG   rE   r   r   Æ   s  € € € € € ðð ð €DØ˜]Ð+€GØÐ €IØ)Ð*€IØ
5€CØ€Mð
 ˜wœ~Ð.à�JÐà˜:Ð&àˆG�E‰NŒNð	
ð ˜DœNÐ+àˆG�IÑÔð +ØˆX�j (¨JÑ7Ô7Øð ð ˜*Ð&7Ð8à�J Ð'ð
ð  ˜&Ð!àˆG�IÑÔà�J Ð'ð
ð ! ( (¨6¬=¸*Ñ"EÔ"EÐFà˜&œ-Ð(ð	
ðC'ð '€F€F€FrG   r   c                 ó^   — d}|dk    rd}nd|dz
  z  }| dk    rd}nd| › d�}d	|› d
|› d|› d�S )Né   é   ú+z{1,%d}r@   r4   Ú{Ú}z(?:\t| z\t| {z})z.*\nrU   )ÚlevelÚ	tab_widthÚspace_repeatÚlevel_repeats       rE   Ú
_rx_indentrˆ   þ   sg   € ð €Ið �A‚~€~Øˆˆà 9¨q¡=Ñ1ˆØ�‚z€zØˆˆà%˜E�~�~�~ˆØJ�lÐJÐJ¨)ÐJÐJ¸ÐJÐJÐJÐJrG   c                   ó  — e Zd ZdZdZg d¢ZdZg d¢ZdgZdZ	dZ
d	„ Zd
„ Zdefdej        f edd¬¦  «        efded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f ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed ¦  «         ed!¦  «        g	 ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed ¦  «        d"œ	Zd#S )$r   z(
    For Linux-style Kconfig files.
    ÚKconfig)ÚkconfigÚ
menuconfigzlinux-configzkernel-configro   )zKconfig*z*Config.in*zexternal.in*zstandard-modules.inztext/x-kconfigzChttps://www.kernel.org/doc/html/latest/kbuild/kconfig-language.htmlr   c                 ó@   — t          | ¦  «        t          j        d| › �fS )NÚindent)rˆ   r   ÚDoc©r„   s    rE   Úcall_indentzKconfigLexer.call_indent#  s"   € å˜5Ñ!Ô!¥6¤:Ð/?¸Ð/?Ð/?Ð@Ð@rG   c                 óf   — t          | ¦  «        t          j        fdt          ft	          d¦  «        gS )Nú\s*\nú#pop:2)rˆ   r   r�   r   r   r�   s    rE   Ú	do_indentzKconfigLexer.do_indent'  s3   € õ ˜ÑÔ¥¤
Ð+Ø•tÐÝ�HÑÔð
ð 	
rG   r5   ú#.*?\n)ÚmainmenuÚconfigrŒ   ÚchoiceÚ	endchoiceÚcommentÚmenuÚendmenuz
visible ifÚifÚendifÚsourceÚpromptÚselectz
depends onr   ÚrangeÚoptionú\b©Úsuffixz(---help---|help)[\t ]*\nÚhelpz;(bool|tristate|string|hex|int|defconfig_list|modules|env)\bz[!=&|]z[()]ú[0-9]+z'(''|[^'])*'z"(""|[^"])*"ú\S+r“   é   é   é   é   r>   r€   r@   r9   )	r;   r¨   Úindent7Úindent6Úindent5Úindent4Úindent3Úindent2Úindent1N)rH   rI   rJ   rK   rL   rM   rQ   rN   rO   rP   Úflagsr‘   r•   r   r   rR   r   r   r   rs   r   r   r   ÚIntegerr   ÚDoubler   r   rT   rU   rG   rE   r   r     sÉ  € € € € € ðð ð €DØHÐHÐH€GØ€Mð(ð (ð (€Ià!Ð"€IØ
O€Cð €EðAð Að Að
ð 
ð 
ð �ZÐ Ø˜œÐ'ØˆUð #ð ,1ð	2ñ 2ô 2ð
 ðð *¨7°FÐ;ØKØŒ\ðà˜Ð!Ø�kÐ"Ø˜œÐ'Ø˜fœmÐ,Ø˜fœmÐ,Ø�TˆNð#
ð. �tÐð ˆK˜‰NŒNØˆK˜‰NŒNØˆK˜‰NŒNØˆK˜‰NŒNØˆK˜‰NŒNØˆK˜‰NŒNØˆK˜‰NŒNØˆG�F‰OŒOð
ð  �9˜Q‘<”<Ø�9˜Q‘<”<Ø�9˜Q‘<”<Ø�9˜Q‘<”<Ø�9˜Q‘<”<Ø�9˜Q‘<”<Ø�9˜Q‘<”<ðY-ð -€F€F€FrG   r   c                   óx  — e Zd ZdZdZdZddgZdgZg ZdZ	de
fd	 eeeeee¦  «        fd
 eeeeeej        e¦  «        dfd eeeeeej        ¦  «        fd eeej        eeej        eee¦  «        fd eej        eee¦  «        fdedfd eej        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fdej        fdej        fdej        fdefgdej        dfdej        fdedfd efd!efgdej        d"fd#ej        dfd$ej        fgd%edfd&efdej        fdefgd'œZd(S ))r   z+
    Lexer for CFEngine3 policy files.
    Ú	CFEngine3zhttp://cfengine.orgÚ	cfengine3Úcf3z*.cfz1.5r–   z(body)(\s+)(\S+)(\s+)(control)z%(body|bundle)(\s+)(\S+)(\s+)(\w+)(\()Úarglistz!(body|bundle)(\s+)(\S+)(\s+)(\w+)z7(")([^"]+)(")(\s+)(string|slist|int|real)(\s*)(=>)(\s*)z(\S+)(\s*)(=>)(\s*)ú"Ústringz	(\w+)(\()z([\w.!&|()]+)(::)z(\w+)(:)z@[{(][^)}]+[})]z[(){},;]z=>z->z\d+\.\d+ú\d+ú\w+r5   z\$[{(]Úinterpolú\\.r9   ry   ú.ú#pushz[})]z	[^${()}]+z\)ú,)r;   r¿   rÂ   r½   N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   r   r   r   r   ÚFunctionr   rt   ÚTyper   ÚReservedr   r   ÚClassÚDeclarationr   ÚFloatr·   ÚInterpolr}   rT   rU   rG   rE   r   r   `  s-  € € € € € ðð ð €DØ
€CØ˜EÐ"€GØ�€IØ€IØ€Mð ˜Ð Ø.ØˆX�g˜z¨7°JÀÑHÔHðJà5ØˆX�g˜z¨7°JÀÄÈ{Ñ[Ô[Øðð 2ØˆX�g˜z¨7°JÀÄÑNÔNðPàGØˆX�k 4¤=°+Ø  '¤,°
¸HÀjñRô RðSð $ØˆX�gÔ&¨
°H¸dÑCÔCðEà�6˜8Ð$Ø˜8˜8 D¤M°;Ñ?Ô?Ð@Ø! 8 8¨D¬J¸Ñ#DÔ#DÐEØ˜(˜( 7Ô#6¸ÑDÔDÐEØ ¤Ð/Ø˜+Ð&Ø�HÐØ�HÐØ˜&œ,Ð'Ø�V”^Ð$Ø�T”]Ð#Ø�ZÐ ð3
ð8 ˜œ¨Ð4Ø�V”]Ð#Ø�6˜6Ð"Ø�FˆOØ�6ˆNð
ð ˜œ¨Ð1Ø�f”o vÐ.Ø˜6œ?Ð+ð
ð �K Ð(Ø�;ÐØ�T”]Ð#Ø�ZÐ ð	
ðQ.ð .€F€F€FrG   r   c                   ó2  — e Zd ZdZdZg d¢Zg d¢ZdgZdZdZ	e
j        e
j        z  Zdefd	efd
 eej        eeej        ¦  «        fd eej        ej        ¦  «        fdej        dfdefgdefdedfdefdefdefdefdej        fdefdej        fdefg
dœZdS )r    zT
    Lexer for configuration files following the Apache config file
    format.
    Ú
ApacheConf)Ú
apacheconfÚaconfÚapache)z	.htaccesszapache.confzapache2.confztext/x-apacheconfz6https://httpd.apache.org/docs/current/configuring.htmlz0.6r5   z#(.*\\\n)+.*$|(#.*?)$z"(<[^\s>/][^\s>]*)(?:(\s+)(.*))?(>)z(</[^\s>]+)(>)z[a-z]\w*r8   z\.+z\\\nz\n+r9   z\\r|   ú\d+\.\d+\.\d+\.\d+(?:/\d+)?rÀ   z/([*a-z0-9][*\w./-]+)z¢(on|off|none|any|all|double|email|dns|min|minimal|os|productonly|full|emerg|alert|crit|error|warn|notice|info|debug|registry|script|inetd|standalone|user|group)\bz"([^"\\]*(?:\\(.|\n)[^"\\]*)*)"z	[^\s"\\]+rj   N)rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rb   rd   Ú
IGNORECASEr¶   r   r   r   r   ÚTagr   rs   r   r   ÚOtherr   r¸   rT   rU   rG   rE   r    r    �  s)  € € € € € ðð ð
 €DØ/Ð/Ð/€GØ<Ð<Ð<€IØ$Ð%€IØ
B€CØ€MØŒL˜2œ=Ñ(€Eð �ZÐ Ø% wÐ/Ø2ØˆX�d”h 
¨F°D´HÑ=Ô=ð?àØˆX�d”h ¤Ñ)Ô)ð+à˜$œ,¨Ð0Ø�TˆNð	
ð �dˆOØ�Z Ð(Ø�DˆMØ˜*Ð%Ø+¨VÐ4Ø�VÐØ% v¤|Ð4ðð  'ð(ð 0°´Ð?Ø˜4Ð ð
ðð €F€F€FrG   r    c                   óÆ  — e Zd ZdZdZdZg d¢ZdgZdgZdZ	e
j        ZdZd	Zd
ZdZdZdZdZde› de› d�ZdZde› de› d�Zde› de› d�Ze› de› d�Zdefdedf eedd¬¦  «        ef eedd¬¦  «        ej        f eedd¬¦  «        ef eedd¬¦  «        ef eedd ¬¦  «        ef eedd¬¦  «        efee j!        fd!e fd"e"fgd#ej#        d$fd%ed$f e$d$¦  «        gd&œZ%d'S )(r!   z.
    Lexer for squid configuration files.
    Ú	SquidConfzhttp://www.squid-cache.org/)Ú	squidconfú
squid.confÚsquidrÚ   ztext/x-squidconfz0.9)ºÚ
access_logÚaclÚalways_directÚannounce_hostÚannounce_periodÚannounce_portÚannounce_toÚanonymize_headersÚappend_domainÚas_whois_serverÚauth_param_basicÚauthenticate_childrenÚauthenticate_programÚauthenticate_ttlÚbroken_postsÚbuffered_logsÚcache_access_logÚcache_announceÚ	cache_dirÚcache_dns_programÚcache_effective_groupÚcache_effective_userÚ
cache_hostÚcache_host_aclÚcache_host_domainÚ	cache_logÚ	cache_memÚcache_mem_highÚcache_mem_lowÚ	cache_mgrÚcachemgr_passwdÚ
cache_peerÚcache_peer_accessÚcache_replacement_policyÚcache_stoplistÚcache_stoplist_patternÚcache_store_logÚ
cache_swapÚcache_swap_highÚcache_swap_logÚcache_swap_lowÚ	client_dbÚclient_lifetimeÚclient_netmaskÚconnect_timeoutÚcoredump_dirÚdead_peer_timeoutÚdebug_optionsÚdelay_accessÚdelay_classÚdelay_initial_bucket_levelÚdelay_parametersÚdelay_poolsÚ	deny_infoÚdns_childrenÚdns_defnamesÚdns_nameserversÚdns_testnamesÚemulate_httpd_logÚerr_html_textÚfake_user_agentÚfirewall_ipÚforwarded_forÚforward_snmpd_portÚfqdncache_sizeÚftpget_optionsÚftpget_programÚftp_list_widthÚftp_passiveÚftp_userÚhalf_closed_clientsÚheader_accessÚheader_replaceÚhierarchy_stoplistÚhigh_response_time_warningÚhigh_page_fault_warningÚ
hosts_fileÚ	htcp_portÚhttp_accessÚhttp_anonymizerÚhttpd_accelÚhttpd_accel_hostÚhttpd_accel_portÚhttpd_accel_uses_host_headerÚhttpd_accel_with_proxyÚ	http_portÚhttp_reply_accessÚ
icp_accessÚicp_hit_staleÚicp_portÚicp_query_timeoutÚident_lookupÚident_lookup_accessÚident_timeoutÚincoming_http_averageÚincoming_icp_averageÚinside_firewallÚipcache_highÚipcache_lowÚipcache_sizeÚlocal_domainÚlocal_ipÚlogfile_rotateÚlog_fqdnÚlog_icp_queriesÚlog_mime_hdrsÚmaximum_object_sizeÚmaximum_single_addr_triesÚmcast_groupsÚmcast_icp_query_timeoutÚmcast_miss_addrÚmcast_miss_encode_keyÚmcast_miss_portÚmemory_poolsÚmemory_pools_limitÚmemory_replacement_policyÚ
mime_tableÚmin_http_poll_cntÚmin_icp_poll_cntÚminimum_direct_hopsÚminimum_object_sizeÚminimum_retry_timeoutÚmiss_accessÚnegative_dns_ttlÚnegative_ttlÚneighbor_timeoutÚneighbor_type_domainÚ
netdb_highÚ	netdb_lowÚnetdb_ping_periodÚnetdb_ping_rateÚnever_directÚno_cacheÚpassthrough_proxyÚpconn_timeoutÚpid_filenameÚpinger_programÚpositive_dns_ttlÚprefer_directÚ
proxy_authÚproxy_auth_realmÚ
query_icmpÚquick_abortÚquick_abort_maxÚquick_abort_minÚquick_abort_pctÚrange_offset_limitÚread_timeoutÚredirect_childrenÚredirect_programÚredirect_rewrites_host_headerÚreference_ageÚrefresh_patternÚreload_into_imsÚrequest_body_max_sizeÚrequest_sizeÚrequest_timeoutÚshutdown_lifetimeÚsingle_parent_bypassÚsiteselect_timeoutÚsnmp_accessÚsnmp_incoming_addressÚ	snmp_portÚsource_pingÚ	ssl_proxyÚstore_avg_object_sizeÚstore_objects_per_bucketÚstrip_query_termsÚswap_level1_dirsÚswap_level2_dirsÚtcp_incoming_addressÚtcp_outgoing_addressÚtcp_recv_bufsizeÚtest_reachabilityÚudp_hit_objÚudp_hit_obj_sizeÚudp_incoming_addressÚudp_outgoing_addressÚunique_hostnameÚunlinkd_programÚuri_whitespaceÚuseragent_logÚvisible_hostnameÚ
wais_relayÚwais_relay_hostÚwais_relay_port)z
proxy-onlyÚweightÚttlzno-queryr   zround-robinzmulticast-responderÚonÚoffÚallÚdenyÚallowÚviaÚparentz	no-digestÚheapÚlruÚrealmÚchildrenÚq1Úq2ÚcredentialsttlÚnoneÚdisableÚoffline_toggleÚdiskd)ÚshutdownÚinfoÚ	parameterÚserver_listÚclient_listrÚ   )ÚobjectsÚ
vm_objectsÚutilizationÚipcacheÚ	fqdncacheÚdnsÚ
redirectorÚioÚreply_headersÚfiledescriptorsÚnetdb)ÚstatusÚenabler§  Úclear)Ú	url_regexÚurlpath_regexÚreferer_regexÚportÚprotoÚreq_mime_typeÚrep_mime_typeÚmethodÚbrowserÚuserÚsrcÚdstÚtimeÚ	dstdomainÚidentÚsnmp_communityz(\d+|0x[0-9a-f]+)ú(z(\.z){3})z([0-9a-f]{0,4})z(:z){1,7})ú|ú)z(/(z|\d+))?r5   ú#r›   r¥   ©Úprefixr§   zstats/zlog/ú=z(?:\b\d+\b(?:-\b\d+|%)?)rª   z	\s*TAG:.*r9   rq   )r;   r›   N)&rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   rb   rÔ   r¶   ÚkeywordsÚoptsÚactionsÚactions_statsÚactions_logÚaclsÚ
ipv4_groupÚipv4Ú
ipv6_groupÚipv6Úbare_ipÚipr   r   r   r   r   ÚConstantr   r   rÌ   r   r}   r   rT   rU   rG   rE   r!   r!   È  sß  € € € € € ðð ð €DØ
'€CØ2Ð2Ð2€GØ�€IØ#Ð$€IØ€MØŒM€Eð9€Hðv€Dð€Gð
€Mð
 ;€Kð€Dð &€JØ2�
Ð2Ð2˜zÐ2Ð2Ð2€DØ#€JØ3�
Ð3Ð3˜jÐ3Ð3Ð3€DØ!�4Ð!Ð!˜$Ð!Ð!Ð!€Gð Ð	)Ð	)˜Ð	)Ð	)Ð	)€Bð �ZÐ Ø�7˜IÐ&ØˆU�8 E°%Ð8Ñ8Ô8¸'ÐBØˆU�4 ¨eÐ4Ñ4Ô4°d´mÐDàˆU�7 5°Ð7Ñ7Ô7¸Ð@ØˆU�=¨¸5ÐAÑAÔAÀ6ÐJØˆU�; w°tÐ<Ñ<Ô<¸fÐEØˆU�4 ¨eÐ4Ñ4Ô4°gÐ>Ø�”ÐØ(¨&Ð1Ø�TˆNð
ð ˜6œ=¨&Ð1Ø�G˜VÐ$ØˆG�F‰OŒOð
ðð €F€F€FrG   r!   c                   óx  — e Zd ZdZdZdZdgZdgZdgZdZ	d e
eee¦  «        fd	ed
f ed¦  «        gdedfd	ej        d
f ed¦  «        gdedfdedf ed¦  «        gdej        fdej        fdej        fd e
eeej        ¦  «        fdefdej        fd e
eeej        ¦  «        fdefdefdefdefdefgdœZdS ) r"   z.
    Lexer for Nginx configuration files.
    zNginx configuration filezhttp://nginx.net/Únginxz
nginx.confztext/x-nginx-confú0.11z(include)(\s+)([^\s;]+)z[^\s;#]+ÚstmtÚbaseú\}r”   ú\{Úblockú;r9   ú#.*\nzon|offz\$[^\s;#()]+z([a-z0-9.-]+)(:)([0-9]+)z[a-z-]+/[a-z-+]+z[0-9]+[km]?\bz(~)(\s*)([^\s{]+)z[:=~]z[^\s;#{}$]+z	/[^\s;#]*r5   z[$;])r;   rè  rä  rå  N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   r   r   r   r   r   rf   r   rR   rà  rt   r   r·   r   ÚRegexr   rT   rU   rG   rE   r"   r"   I  s]  € € € € € ðð ð &€DØ
€CØˆi€GØ�€IØ$Ð%€IØ€Mð (¨¨°'¸:ÀtÑ)LÔ)LÐMØ˜' 6Ð*ØˆG�F‰OŒOð
ð �K Ð*Ø˜'Ô+¨VÐ4ØˆG�F‰OŒOð
ð �K Ð)Ø�; Ð'ØˆG�F‰OŒOð
ð �w”~Ð&Ø˜œÐ&Ø˜dœmÐ,Ø(ØˆX�d˜K¨¬Ñ8Ô8ð:à  &Ð)à˜vœ~Ð.Ø! 8 8¨K¸ÀVÄ\Ñ#RÔ#RÐSØ�{Ð#Ø˜VÐ$Ø˜4Ð Ø�ZÐ Ø�dˆOð
ð! ð  €F€F€FrG   r"   c                   ó”   — e Zd ZdZdZdZddgZdgZdgZdZ	d	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fdej        fdefg
iZdS )r#   z1
    Lexer for Lighttpd configuration files.
    zLighttpd configuration filezhttp://lighttpd.net/ÚlighttpdÚlightyzlighttpd.confztext/x-lighttpd-confrã  r;   rê  z/\S*z[a-zA-Z._-]+rÓ   r©   z=>|=~|\+=|==|=|\+z\$[A-Z]+z[(){}\[\],]z"([^"\\]*(?:\\.[^"\\]*)*)"r5   N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   rR   r   r   r   r   rs   r   r   r¸   r   rT   rU   rG   rE   r#   r#   w  s©   € € € € € ðð ð )€DØ
 €CØ˜8Ð$€GØ Ð!€IØ'Ð(€IØ€Mð 	Ø�w”~Ð&Ø�dˆOØ˜gÐ&Ø+¨VÐ4Ø˜ÐØ! 8Ð,Ø˜$œ,Ð'Ø˜[Ð)Ø*¨F¬MÐ:Ø�ZÐ ð
ð€F€F€FrG   r#   c                   óæ  — e Zd ZdZdZdZddgZddgZdgZd	Z	d
Z
dZdZej        ej        z  Zddefd eeeeeeee¦  «        fde› d� eee ee¦  «        ¦  «        fde› de› d� eee ee¦  «        ¦  «        fde› d� eee ee¦  «         ee¦  «        ¦  «        fde› de› d� eee ee¦  «        ¦  «        fde
› d� eeee¦  «        fde› d� eee¦  «        fd ee¦  «        fg	iZdS )r$   z/
    Lexer for Docker configuration files.
    ÚDockerzhttp://docker.ioÚdockerÚ
dockerfileÚ
Dockerfilez*.dockerztext/x-dockerfile-configz2.0z-(?:MAINTAINER|EXPOSE|WORKDIR|USER|STOPSIGNAL)z-(?:RUN|CMD|ENTRYPOINT|ENV|ARG|LABEL|ADD|COPY)z(?:\s*\\?\s*)r;   ú#.*z1(FROM)([ \t]*)(\S*)([ \t]*)(?:(AS)([ \t]*)(\S*))?z(ONBUILD)(\s+)(rÏ  z(HEALTHCHECK)(\s+)((z	--\w+=\w+z)*)z#(VOLUME|ENTRYPOINT|CMD|SHELL)(\s+)(z
)(\[.*?\])z(LABEL|ENV|ARG)(\s+)((z\w+=\w+rÍ  z|VOLUME)\b(\s+)(.*)z)(\s+)z(.*\\\n)*.+N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   Ú	_keywordsÚ_bash_keywordsÚ_lbrb   rÔ   rd   r¶   r   r   r   r   r   r	   r   r   rT   rU   rG   rE   r$   r$   “  sÅ  € € € € € ðð ð €DØ
€CØ˜Ð&€GØ˜zÐ*€IØ+Ð,€IØ€MàA€IØF€NØ
€CØŒM˜BœLÑ(€Eð 	Ø�WÐØAØˆX�g˜z¨6°:¸wÈ
ÐTZÑ[Ô[ð]à& Ð&Ð&Ð&¨¨°¸*ÀeÀeÈIÑFVÔFVÑ(WÔ(WÐXØ; SÐ;Ð;°3Ð;Ð;Ð;Ø�˜ *¨e¨e°IÑ.>Ô.>Ñ?Ô?ðAàC°CÐCÐCÐCØ�˜ *¨e¨e°IÑ.>Ô.>ÀÀÀiÑ@PÔ@PÑQÔQðSà; sÐ;Ð;°3Ð;Ð;Ð;Ø�˜ *¨e¨e°IÑ.>Ô.>Ñ?Ô?ðAà0�)Ð0Ð0Ð0°(°(¸7ÀJÐPVÑ2WÔ2WÐXØ(�.Ð(Ð(Ð(¨(¨(°7¸JÑ*GÔ*GÐHØ˜U˜U 9Ñ-Ô-Ð.ð
ð€F€F€FrG   r$   c                   ó(  — e Zd ZdZdZdZg d¢ZddgZddgZd	Z	d
Z
d                     d                     e
¦  «        ¦  «        ZdZdZdZdZdZdZdZdZdZdZeez   ez   ez   ez   ez   ez   ez   ez   Zd                     d                     e¦  «        ¦  «        Zd„ Z ed¦  «         ed¦  «        d eej        ¦  «        f eddd¬¦  «        e j!        f eedd¬¦  «        e"j#        f ed¦  «         ed¦  «        d e$fgd!e%j&        d"fd#e%j'        f ed¦  «        d$ ee(e j)        e(e*e(e+¦  «        fd% ee(e j,        e(e*e(¦  «        fd& ee(e-j        j        e(e*e(¦  «        fed'z    ee j.        e+¦  «        fd( ee+e j)        e+¦  «        fed)z    ee"j/        e(e j0        e(e j1        e(e+¦  «        fd*efg
d+ ee j1        ¦  «        fd, ee j1        ¦  «        fgd-e+fgd.e%j&        fd/e%j&        d0fd1e%j&        d2fd3e%j&        fgd4e(fd5e(fd6 ee2e(¦  «        fgd7œZ3d8S )9r%   z-
    Lexer for terraformi ``.tf`` files.
    Ú	Terraformzhttps://www.terraform.io/)Ú	terraformÚtfÚhclz*.tfz*.hclzapplication/x-tfzapplication/x-terraformú2.1)ÚbackendÚdataÚmoduleÚoutputÚproviderÚprovisionerÚresourceÚvariablez({})rÎ  )	r¿   ÚnumberÚboolÚlistÚtupleÚmapÚsetÚobjectÚnull)	ÚabsÚceilÚfloorÚlogÚmaxÚmixÚparseintÚpowÚsignum)ÚchompÚformatÚ
formatlistrŽ   ÚjoinÚlowerÚregexÚregexallÚreplaceÚsplitÚstrrevÚsubstrÚtitleÚtrimÚ
trimprefixÚ
trimsuffixÚ	trimspaceÚupper)ÚalltrueÚanytrueÚ	chunklistÚcoalesceÚcoalescelistÚcompactÚconcatÚcontainsÚdistinctÚelementÚflattenÚindexÚkeysÚlengthr  Úlookupr
  Ú	matchkeysÚmerger£   ÚreverseÚsetintersectionÚ
setproductÚsetsubtractÚsetunionÚsliceÚsortÚsumÚ	transposeÚvaluesÚzipmap)Úbase64decodeÚbase64encodeÚ
base64gzipÚ	csvdecodeÚ
jsondecodeÚ
jsonencodeÚtextdecodebase64Útextencodebase64Ú	urlencodeÚ
yamldecodeÚ
yamlencode)	ÚabspathÚdirnameÚ
pathexpandÚbasenameÚfileÚ
fileexistsÚfilesetÚ
filebase64Útemplatefile)Ú
formatdateÚtimeaddÚ	timestamp)Úbase64sha256Úbase64sha512ÚbcryptÚfilebase64sha256Úfilebase64sha512Úfilemd5Úfilesha1Ú
filesha256Ú
filesha512Úmd5Ú
rsadecryptÚsha1Úsha256Úsha512ÚuuidÚuuidv5)ÚcidrhostÚcidrnetmaskÚ
cidrsubnetÚcidrsubnets)	ÚcanÚdefaultsÚtoboolÚtolistÚtomapÚtonumberÚtosetÚtostringÚtryc              #   óÆ  K  — |                      d¦  «        }|t          |                     d¦  «        fV — |                      d¦  «        t          j        |                     d¦  «        fV — |                      d¦  «        |_        |                     d¦  «        |_        |j        t          j        |                     d¦  «        fV — |                     ¦   «         |_        |                     d¦  «        }d}g }t          j	        |j
        |j        ¦  «        D ]ö}|r'|                     ¦   «                              ¦   «         }n&|                     ¦   «                              ¦   «         }||k    rŠ|D ]7}|                      ¦   «         t          j        |                     ¦   «         fV — Œ8|                      ¦   «         t          j        |                     ¦   «         fV — |                     ¦   «         |_         nK|                     |¦  «         Œ÷|D ]2}|                      ¦   «         t          |                     ¦   «         fV — Œ3t          |j
        ¦  «        |_        d S )Nr@   r€   r>   T)Ústartr   Úgroupr   Ú	DelimiterÚposÚendÚHeredocr
   ÚfinditerrC   ÚstripÚrstripÚappendr   Úlen)	ÚselfÚmatchÚctxry  ÚhdnameÚtolerantÚlinesÚcheckÚamatchs	            rE   Úheredoc_callbackzTerraformLexer.heredoc_callbackñ  s   è è € ð —’˜A‘”ˆØ•X˜uŸ{š{¨1™~œ~Ð-Ð-Ð-Ð-Ø�kŠk˜!‰nŒn�fÔ.°·²¸A±´Ð>Ð>Ð>Ð>à—+’+˜a‘.”.ˆŒØ—)’)˜A‘,”,ˆŒØŒg•v”~ u§{¢{°1¡~¤~Ð5Ð5Ð5Ð5Ø—)’)‘+”+ˆŒà—’˜Q‘”ˆØˆàˆåÔ% c¤h°´Ñ8Ô8ð 	<ð 	<ˆEØð /ØŸš™œ×+Ò+Ñ-Ô-��àŸš™œ×,Ò,Ñ.Ô.�Ø˜ŠˆØ#ð Ið I�FØ Ÿ,š,™.œ.­&¬.¸&¿,º,¹.¼.ÐHÐHÐHÐHÐHØ—k’k‘m”m¥VÔ%5°u·{²{±}´}ÐDÐDÐDÐDØŸ)š)™+œ+�”Ø�à—’˜UÑ#Ô#Ð#Ð#ð  ð <ð <�Ø—l’l‘n”n¥e¨V¯\ª\©^¬^Ð;Ð;Ð;Ð;Ð;Ý�c”h‘-”-ˆŒˆˆrG   ÚbasicÚ
whitespacez(".*"))ÚtrueÚfalser¥   rÑ  Ú
identifierÚpunctuationr©   z\s*/\*r›   z\s*(#|//).*\nz'(\s*)([0-9a-zA-Z-_]+)(\s*)(=?)(\s*)(\{)z"(\s*)([0-9a-zA-Z-_]+)(\s*)(=)(\s*)z(\s*)("\S+")(\s*)([=:])(\s*)z(\()z(\[)([a-z_,\s]+)(\])z8(\s+)("[0-9a-zA-Z-_]+")?(\s*)("[0-9a-zA-Z-_]+")(\s+)(\{)z(<<-?)\s*([a-zA-Z_]\w*)(.*?\n)z\b(var\.[0-9a-zA-Z-_\.\[\]]+)\bz.\b([0-9a-zA-Z-_\[\]]+\.[0-9a-zA-Z-_\.\[\]]+)\bz[\[\]()\{\},.?:!=]z[^*/]z/\*rÅ   z\*/r9   z[*/]ry   r5   ú(\\)(\n))r;   r�  r‘  r’  r›   rŽ  N)4rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   Úclassesr  r  Ú
classes_reÚtypesÚnumeric_functionsÚstring_functionsÚcollection_functionsÚencoding_functionsÚfilesystem_functionsÚdate_time_functionsÚhash_crypto_functionsÚip_network_functionsÚtype_conversion_functionsÚbuiltinsÚbuiltins_rerŒ  r   r   r   r¸   r   r   rà  r   rÈ   r   r   Ú	MultilinerR   r   rs   r   r   rS   r   rÇ   rÉ   rÊ   rt   r   rT   rU   rG   rE   r%   r%   ¶  s…  € € € € € ðð ð €DØ
%€CØ(Ð(Ð(€GØ˜Ð!€IØ#Ð%>Ð?€IØ€Mð6€Gà—’ Ÿzšz¨'Ñ2Ô2Ñ3Ô3€JàY€Eð=ÐðÐðÐðWÐð[Ðð AÐð`Ðð TÐð!IÐð !Ð#3Ñ3Ð6JÑJÐM_Ñ_ØñØ2ñ3Ø5JñKØMañbà!ñ"€Hð —-’- §
¢
¨8Ñ 4Ô 4Ñ5Ô5€Kð# ð # ð # ðN ˆG�GÑÔØˆG�LÑ!Ô!ð ˜˜ ¤Ñ/Ô/Ð0ð ˆUÐ$¨U¸5ÐAÑAÔAÀ4Ä=ÐQð ˆU�5 ¨uÐ5Ñ5Ô5°w´|ÐDàˆG�LÑ!Ô!ØˆG�MÑ"Ô"Ø˜Ðð
ð$ ˜Ô)¨9Ð5Ø˜wœ~Ð.ØˆG�LÑ!Ô!ð 8ØˆX�j $¤,°
¸HÀjÐR]Ñ^Ô^ð`ð 3ØˆX�j $¤.°*¸hÈ
ÑSÔSðUð
 -ØˆX�j '¤.Ô"7¸ÀXÈzÑZÔZð\ð ˜7Ñ" H H¨T¬]¸KÑ$HÔ$HÐIð % h h¨{¸D¼LÈ+Ñ&VÔ&VÐWð ÐUÑUØˆX�gÔ&¨
°D´JÀ
ÈDÌMÐ[eÐgrÑsÔsðuð /Ð0@ÐAð? 
ðD 0°°¸$¼-Ñ1HÔ1HÐIØ>ØˆX�d”mÑ$Ô$ð&ð
ð # KÐ0ð
ð �wÔ(Ð)Ø�WÔ&¨Ð0Ø�WÔ&¨Ð/Ø�gÔ'Ð(ð	
ð �JÐØ�ZÐ Ø˜(˜( 4¨Ñ4Ô4Ð5ð
ðCFð F€F€F€FrG   r%   c            	       óö   — e Zd ZdZdZdgZddgZg ZdZdZ	de
fdej        d	fd
efgdedfdedfdefdej        fgd eee¦  «        fdedfd eee¦  «        fdedfdefdej        fgdefdedfdefdefgdœZdS )r&   zR
    Lexer for termcap database source.

    This is very simple and minimal.
    ÚTermcapÚtermcapztermcap.srcz%https://en.wikipedia.org/wiki/Termcaprý  ú^#.*z
^[^\s#:|]+Únamesr5   ry   r9   ú:Údefsú\|z[^:|]+z(\\)(\n[ \t]*)z\n[ \t]*r”   ú(#)([0-9]+)rÓ  rÿ  z	[^\s:=#]+z\\072z[^:\\]+rÄ   ©r;   r§  r©  rÿ  N)rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   r   rÕ   r   r   rS   r   r   r   r   rÊ   r   rT   rU   rG   rE   r&   r&   _  s  € € € € € ðð ð
 €DØˆk€GØ˜MÐ*€IØ€IØ
1€CØ€Mð �gÐØ˜DœH gÐ.Ø�ZÐ ð
ð �J Ð'Ø�; Ð'Ø�KÐ Ø˜œÐ'ð	
ð   ¨¨zÑ :Ô :Ð;Ø˜* hÐ/Ø˜X˜X h°Ñ7Ô7Ð8Ø�8˜VÐ$Ø�;ÐØ˜4œ:Ð&ð
ð �wÐØ�; Ð'Ø˜Ð!Ø�7ˆOð	
ð)ð €F€F€FrG   r&   c                   ó  — e Zd ZdZdZdgZddgZg ZdZdZ	de
fdej        d	fd
efgdedfd eee¦  «        dfdefdej        fgdefdedfd eee¦  «        fdedfd eee¦  «        fdej        fgdefd eee¦  «        dfdefdefgdœZdS )r'   zS
    Lexer for terminfo database source.

    This is very simple and minimal.
    ÚTerminfoÚterminfozterminfo.srcz&https://en.wikipedia.org/wiki/Terminforý  z^#.*$z
^[^\s#,|]+r§  r5   ry   r9   z(,)([ \t]*)r©  rª  z[^,|]+z\n[ \t]+r”   r«  rÓ  rÿ  z	[^\s,=#]+z\\[,\\]z[^\\,]+rÄ   r¬  N)rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   r   rÕ   r   r   r   rS   r   r   rÊ   r   rT   rU   rG   rE   r'   r'   Ž  s0  € € € € € ðð ð
 €DØˆl€GØ˜^Ð,€IØ€IØ
2€CØ€Mð �wÐØ˜DœH gÐ.Ø�ZÐ ð
ð �J Ð'Ø˜X˜X k°:Ñ>Ô>ÀÐGØ�KÐ Ø˜œÐ'ð	
ð ˜*Ð%Ø�J Ð)Ø˜X˜X h°Ñ7Ô7Ð8Ø�8˜VÐ$Ø˜X˜X k°:Ñ>Ô>Ð?Ø˜4œ:Ð&ð
ð ˜Ð!Ø˜X˜X k°:Ñ>Ô>ÀÐGØ˜Ð!Ø�7ˆOð	
ð)ð €F€F€FrG   r'   c            
       ó6  — e Zd ZdZdZdZdgZdgZg ZdZ	de
j        fd eej        e¦  «        fd	 eej        e¦  «        d
f ed¦  «        defdefdefgdefdej        dfgdej        dfdej        fg ed¦  «        de
j        dfdedfdefdefdefgdœZdS )r(   ze
    Lexer for pkg-config
    (see also `manual page <http://linux.die.net/man/1/pkg-config>`_).
    Ú	PkgConfigz4http://www.freedesktop.org/wiki/Software/pkg-config/Ú	pkgconfigz*.pcrý  ú#.*$z	^(\w+)(=)z^([\w.]+)(:)ÚspvalueÚinterpr5   z[^${}#=:\n.]+rÄ   z\$\$z\$\{Úcurlyræ  r9   rÁ   ry   z[^${}#\n\s]+)r;   rµ  r¶  r´  N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   rR   r   r   rS   r   rÕ   r   r   r   r   r   rÍ   rT   rU   rG   rE   r(   r(   ½  s2  € € € € € ðð ð
 €DØ
@€CØˆm€GØ�€IØ€IØ€Mð �g”nÐ%ð ˜8˜8 D¤N°HÑ=Ô=Ð>ð ØˆX�d”h Ñ,Ô,¨ið9ð ˆG�HÑÔð �ZÐ Ø˜tÐ$Ø�4ˆLð!
ð( �dˆOð �f”o wÐ/ð
ð �F”O VÐ,Ø�T”^Ð$ð
ð
 ˆG�HÑÔà�g”n fÐ-Ø�J Ð'ð �ZÐ Ø˜dÐ#Ø�4ˆLð

ð=)ð )€F€F€FrG   r(   c            
       óà   — e Zd ZdZdZdZdgZdgZg ZdZ	dde
j        fd	 eeee¦  «        fd
 eej        ee¦  «        fd eeej        e¦  «        f edd¬¦  «        ej        fdefdefgiZdS )r)   a@  
    Lexer for pacman.conf.

    Actually, IniLexer works almost fine for this format,
    but it yield error token. It is because pacman.conf has
    a form without assignment like:

        UseSyslog
        Color
        TotalDownload
        CheckSpace
        VerbosePkgLists

    These are flags to switch on.
    Ú
PacmanConfz3https://www.archlinux.org/pacman/pacman.conf.5.htmlÚ
pacmanconfzpacman.confrý  r;   r³  z^(\s*)(\[.*?\])(\s*)$z(\w+)(\s*)(=)z^(\s*)(\w+)(\s*)$)z$repoz$archz%oz%ur¥   r¦   r5   rÄ   N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   rR   r   r   r   r   rS   r   r   rt   r   rT   rU   rG   rE   r)   r)   ö  sæ   € € € € € ðð ð  €DØ
?€CØˆn€GØ�€IØ€IØ€Mð 	à�g”nÐ%ð & x x°
¸GÀZÑ'PÔ'PÐQð ØˆX�d”n j°(Ñ;Ô;ð=ð "ØˆX�j $¤.°*Ñ=Ô=ð?ð ˆUð ð
  ð!ñ !ô !ð Œ]ðð �ZÐ Ø�4ˆLð7
ð€F€F€FrG   r)   c                   ó   — e Zd ZdZdZdZdgZdgZdZd e	e
j        eej        ¦  «        fd e	e
j        eej        ¦  «        fd	 e	ej        e¦  «        fd
 e	eej        ee
j        e¦  «        fdej        dfdefdefdej        dfdej        dfd e	ej        eej        ¦  «        fdej        fdefgdej        fdej        fdej        dfgdej        fdej        f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 ) r*   z
    Lexer for Augeas.
    ÚAugeaszhttp://augeas.netÚaugeasz*.augú2.4z(module)(\s*)([^\s=]+)z(let)(\s*)([^\s=]+)zV(del|store|value|counter|seq|key|label|autoload|incl|excl|transform|test|get|put)(\s+)z8(\()([^:]+)(\:)(unit|string|regexp|lens|tree|filter)(\))z\(\*r›   z[*+\-.;=?|]z
[()\[\]{}]r¾   r¿   z\/r  z([A-Z]\w*)(\.)(\w+)rÄ   r5   rÃ   z[^"]r9   z[^/]z[^*)]rÅ   z\*\)z[)*])r;   r¿   r  r›   N)rH   rI   rJ   rK   rL   rP   rM   rN   rQ   r   r   rf   r   r   rË   rt   rs   r   rÈ   r   r¢  r   r   r¸   rë  r}   rT   rU   rG   rE   r*   r*   /  sÎ  € € € € € ðð ð €DØ
€CØˆj€GØ�	€IØ€Mð '¨¨°Ô1BÀJÐPTÔP^Ñ(_Ô(_Ð`Ø# X X¨gÔ.AÀ:ÈtÌ}Ñ%]Ô%]Ð^ØfÐhpÐhpÐquÔq}ð  @Jñ  iKô  iKð  LØHÈ(È(ÐS^Ð`dÔ`mÐozð  }Dô  }Ið  KVñ  KWô  KWð  XØ�gÔ'¨Ð3Ø˜XÐ&Ø˜HÐ%Ø�6”= (Ð+Ø�F”L 'Ð*Ø# X X¨d¬n¸kÈ4Ì=Ñ%YÔ%YÐZØ�4”=Ð!Ø�ZÐ ð
ð �V”]Ð#Ø�f”mÐ$Ø�6”= &Ð)ð
ð �V”]Ð#Ø�f”lÐ#Ø�F”L &Ð)ð
ð �wÔ(Ð)Ø�gÔ'¨Ð1Ø�gÔ'¨Ð0Ø�gÔ'Ð(ð	
ð3ð €F€F€FrG   r*   c                   ó¶  — e Zd ZdZdZdgZg d¢ZdgZdZdZ	dZ
d	e
› d
�Zdefdej        f ed¦  «        d eee¦  «        dfdedfgdefdej        dfdej        dfdefgdefdej        dfdej        dfdefdedfdefgeej        dfe
ej        dfdej        dfdej        dfdej        dfdej        dfdej        dfd ej        dfd!ej        dfd"ej        d#fdej        d$fd%ej        d&fdej        d'fd(ej        dfd)ed*fd+ed,fgdefdej        fd-efd.edf e d¦  «        gdefdej        f ed¦  «        d eee¦  «        dfd-efd/edfgdej        df ed0¦  «        d1ej        fgd2ej        dfgd"ej        dfd3 eej!        e¦  «        f ed0¦  «        d1ej        fdej        fgd%ej        dfd4ej        fdej        fgd5ej!        fd6ej!        fgd7œZ"d8S )9r+   z=
    Lexer for TOML, a simple language for config files.
    ÚTOMLÚtoml)z*.tomlÚPipfilezpoetry.lockzapplication/tomlzhttps://toml.ior½  z\d\d:\d\d(:\d\d(\.\d+)?)?zm(?x)
                  \d\d\d\d-\d\d-\d\d # date, e.g., 1988-10-27
                (
                  [Tt ] z™ # optional time
                  (
                    [Zz]|[+-]\d\d:\d\d # optional time offset
                  )?
                )?
              r5   rô  rz   z(=)(\s*)r8   z\[\[?ú	table-keyz[A-Za-z0-9_-]+r¾   úbasic-stringú'úliteral-stringz\.z\]\]?r9   ú[ \t]+z [+-]?\d[0-9_]*[eE][+-]?\d[0-9_]*z.[+-]?\d[0-9_]*\.\d[0-9_]*([eE][+-]?\d[0-9_]*)?z[+-]?(inf|nan)z
-?0b[01_]+z-?0o[0-7_]+z-?0x[0-9a-fA-F_]+z[+-]?[0-9_]+z""")r9   úmultiline-basic-string)r9   rÃ  z''')r9   úmultiline-literal-string)r9   rÅ  z
true|falseú\[)r9   Úarrayrç  )r9   úinline-tablerÆ   ú\]ræ  r{   z[^"\\]+z.*?'r“  z[^']+z5\\x[0-9a-fA-F]{2}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}rÃ   )r;   rz   rÂ  r8   rÊ  rË  rÃ  rÅ  rÇ  rÈ  r{   N)#rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   Ú_timeÚ	_datetimer   r   rR   r   r   r   r   r   r   r¸   r   r   ÚDater   rÌ   ÚBinÚOctÚHexr·   rà  r   r}   rT   rU   rG   rE   r+   r+   [  sm  € € € € € ðð ð €DØˆh€GØ4Ð4Ð4€IØ#Ð$€IØ
€CØ€Mð
 )€Eðð ðð ð €Ið* �ZÐ ð �W”^Ð$ð ˆG�E‰NŒNð ˜(˜( 8¨ZÑ8Ô8¸'ÐBð �w Ð,ð-
ð4  Ð%à�6”= .Ð1Ø�6”=Ð"2Ð3à�KÐ ð
ð  Ð(Ø�6”= .Ð1Ø�6”=Ð"2Ð3Ø�GÐØ�w Ð'ð ˜
Ð#ð
ð" ˜œ fÐ-Ø�G”L &Ð)ð 1°&´,ÀÐGØ>ØŒ\˜6ð#ð  ¤¨fÐ5ð ˜FœJ¨Ð/Ø˜VœZ¨Ð0Ø! 6¤:¨vÐ6Ø˜fœn¨fÐ5ð �V”]Ð$FÐGØ�6”=Ð":Ð;Ø�V”]Ð$HÐIØ�6”=Ð"<Ð=ð ˜GÔ,¨fÐ5ð �KÐ!2Ð3ð �KÐ!9Ð:ðC"
ðL �ZÐ Ø�W”^Ð$ð �;Ðð �K Ð(ð ˆG�GÑÔð
ð" �ZÐ Ø�W”^Ð$ð ˆG�E‰NŒNð ˜(˜( ;°
Ñ;Ô;¸WÐEð �;Ðð �K Ð(ð
ð$ �6”= &Ð)ØˆG�IÑÔØ˜œÐ'ð
ð �f”m VÐ,ð
ð �V”] FÐ+Ø˜(˜( 6¤=°*Ñ=Ô=Ð>ØˆG�IÑÔØ˜œÐ'Ø�6”=Ð!ð#
ð �V”] FÐ+Ø�v”}Ð%Ø�6”=Ð!ð%
ð FÀvÄ}ÐUØ�V”]Ð#ð
ðQLð L€F€F€FrG   r+   c                   ó‚  — e Zd ZdZdZdZddgZdgZdZd e	e
e¦  «        fd	 e	e
e¦  «        d
fd e	e
e¦  «        dfd e	e
e¦  «        fd e	e
ee
ee
¦  «        fd e	e
e¦  «        fd e	e
ee
ee
¦  «        fd e	e
e¦  «        fd e	e
ee
ej        e
¦  «        fd e	e
ej        e¦  «        fd e	e
ej        ee
ee
¦  «        fg ed¦  «        def ed¦  «        defdedfdedfg ed¦  «        dej        fdedfdedfdedfg ed¦  «        def ed¦  «        dedfded fg ed¦  «        d!ed
fd"edfgd#e
fgd$œZd%S )&r,   zŠ
    Lexer for *NextedText*, a human-friendly data format.

    .. versionchanged:: 2.16
        Added support for *NextedText* v3.0.
    Ú
NestedTextzhttps://nestedtext.orgÚ
nestedtextÚntz*.ntz2.9z^([ ]*)(#.*)$z^([ ]*)(\{)Úinline_dictz^([ ]*)(\[)Úinline_listz^([ ]*)(>)$z^([ ]*)(>)( )(.*?)([ \t]*)$z^([ ]*)(-)$z^([ ]*)(-)( )(.*?)([ \t]*)$z^([ ]*)(:)$z^([ ]*)(:)( )([^\n]*?)([ \t]*)$z^([ ]*)([^\{\[\s].*?)(:)$z)^([ ]*)([^\{\[\s].*?)(:)( )(.*?)([ \t]*)$rŽ  z[^\{\}\[\],\s]+Úinline_valuerÆ   rÌ  r9   ry   z[^\{\}\[\],:\s]+r¨  Úinline_dict_valueræ  r”   rç  rÉ  rÆ  )r;   rØ  r×  rÚ  rÙ  rŽ  N)rH   rI   rJ   rK   rL   rP   rM   rN   rQ   r   r   r   r   r   r   rÕ   r   r   rT   rU   rG   rE   r,   r,     sy  € € € € € ðð ð €DØ
"€CØ˜TÐ"€GØ�€IØ€Mð
 ˜x˜x¨
°GÑ<Ô<Ð=ð ˜X˜X j°+Ñ>Ô>ÀÐNð ˜X˜X j°+Ñ>Ô>ÀÐNð ˜X˜X j°+Ñ>Ô>Ð?ð ,¨X¨X°jÀ+ÈzÐ[_ÐakÑ-lÔ-lÐmð ˜X˜X j°+Ñ>Ô>Ð?ð ,¨X¨X°jÀ+ÈzÐ[_ÐakÑ-lÔ-lÐmð ˜X˜X j°+Ñ>Ô>Ð?ð 0°°¸*ÀkÐS]Ð_cÔ_gÐisÑ1tÔ1tÐuð *¨8¨8°JÀÄÈ+Ñ+VÔ+VÐWð :¸8¸8ÀJÐPTÔPXÐZeÐgqÐswð  zDñ  <Eô  <Eð  FðA!
ðF ˆG�LÑ!Ô!Ø Ð&ØˆG�NÑ#Ô#Ø�;ÐØ�K Ð(Ø�E˜6Ð"ð
ð ˆG�LÑ!Ô!Ø  $¤(Ð+Ø�;Ð 3Ð4Ø�K Ð(Ø�E˜6Ð"ð
ð ˆG�LÑ!Ô!Ø  $Ð'ØˆG�NÑ#Ô#Ø�; Ð'Ø�K Ð*ð
ð ˆG�LÑ!Ô!Ø�K Ð/Ø�K Ð/ð
ð ˜
Ð#ð
ð}Að A€F€F€FrG   r,   c                   ó  — e Zd ZdZdZdZdgZddgZdZe	j
        e	j        z  e	j        z  ZdZdZd	Ze eej        e¦  «        d
fe eej        e¦  «        d
fe eeee¦  «        fdefdefdefdefgd ee¦  «        dfgdœZd„ ZdS )r-   z1
    Lexer for Singularity definition files.
    ÚSingularityzAhttps://www.sylabs.io/guides/3.0/user-guide/definition_files.htmlÚsingularityz*.defz2.6zS^(\s*)(bootstrap|from|osversion|mirrorurl|include|registry|namespace|includecmd)(:)zT^(%(?:pre|post|setup|environment|help|labels|test|runscript|files|startscript))(\s*)z6^(%app(?:install|help|run|labels|env|test|files))(\s*)Úscriptz	\s*#.*?\nz"\b(([0-9]+\.?[0-9]*)|(\.[0-9]+))\brÆ  z
(?!^\s*%).z(.+?(?=^\s*%))|(.*)r9   )r;   rÞ  c                 ó¬   — d}t          j        d| t           j        ¦  «        r|dz  }t          j        t          j        dd…         | ¦  «        r|dz  }|S )zlThis is a quite simple script file, but there are a few keywords
        which seem unique to this language.r   z&\b(?:osversion|includecmd|mirrorurl)\bg      à?r@   Ng\�Âõ(\ß?)rb   rc   rÔ   r-   Ú_section)rC   Úresults     rE   rF   zSingularityLexer.analyse_textt  sZ   € ð ˆÝŒ9Ð>ÀÅbÄmÑTÔTð 	Ø�c‰MˆFåŒ9Õ%Ô.¨q¨r¨rÔ2°DÑ9Ô9ð 	Ø�d‰NˆFàˆrG   N)rH   rI   rJ   rK   rL   rP   rM   rN   rQ   rb   rÔ   rd   ÚDOTALLr¶   Ú_headersrà  Ú_appsectr   r   ÚHeadingr   r   r   r   r   r	   r   rT   rF   rU   rG   rE   r-   r-   U  s  € € € € € ðð ð €DØ
M€CØˆo€GØ˜-Ð(€IØ€MØŒM˜BœLÑ(¨2¬9Ñ4€Eàe€HØf€HØH€Hð �x�x ¤°Ñ<Ô<¸hÐGØ�x�x ¤°Ñ<Ô<¸hÐGØ�x�x 
¨G°TÑ:Ô:Ð;Ø˜7Ð#Ø2°FÐ;Ø˜
Ð#Ø˜DÐ!ð
ð $ U U¨9Ñ%5Ô%5°vÐ>ð
ðð €Fð
ð 
ð 
ð 
ð 
rG   r-   c                   óV   — e Zd ZdZdZddgZg ZdZdZdde	fd	e
fd
efdefdefdefgiZdS )r.   z�
    Lexer for Unix/Linux config files using colon-separated values, e.g.

    * ``/etc/group``
    * ``/etc/passwd``
    * ``/etc/shadow``
    zUnix/Linux config filesÚ
unixconfigÚlinuxconfigzUhttps://en.wikipedia.org/wiki/Configuration_file#Unix_and_Unix-like_operating_systemsz2.12r;   r¦  ry   r¨  r©   z"((?!\n)[a-zA-Z0-9\_\-\s\(\),]){2,}z[^:\n]+N)rH   rI   rJ   rK   rL   rM   rN   rP   rQ   r   r   r   r   r   r   rT   rU   rG   rE   r.   r.   �  sy   € € € € € ðð ð %€DØ˜]Ð+€GØ€IØ
a€CØ€Mð 	Ø�gÐØ�JÐØ�;ÐØ˜ÐØ2°DÐ9Ø˜Ð ð
ð	€F€F€FrG   r.   )4rK   rb   Úpygments.lexerr   r   r   r   r   r   r	   r
   Úpygments.tokenr   r   r   r   r   r   r   r   r   r   r   r   Úpygments.lexers.shellr   Úpygments.lexers.datar   Ú__all__r   r   r   r   r   rˆ   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   rU   rG   rE   ú<module>rî     s6  ððð ð 
€	€	€	ð&ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð=ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =ð =à +Ð +Ð +Ð +Ð +Ð +Ø *Ð *Ð *Ð *Ð *Ð *ðEð Eð E€ð3ð 3ð 3ð 3ð 3ˆzñ 3ô 3ð 3ðlð ð ð ð �:ñ ô ð ð<)ð )ð )ð )ð )�:ñ )ô )ð )ðX':ð ':ð ':ð ':ð ':�:ñ ':ô ':ð ':ðT5ð 5ð 5ð 5ð 5�jñ 5ô 5ð 5ðpKð Kð Kð(Kð Kð Kð Kð K�:ñ Kô Kð Kð\:ð :ð :ð :ð :�Zñ :ô :ð :ðz(ð (ð (ð (ð (�jñ (ô (ð (ðV~ð ~ð ~ð ~ð ~�Zñ ~ô ~ð ~ðB+ð +ð +ð +ð +�Zñ +ô +ð +ð\ð ð ð ð ˜
ñ ô ð ð8 ð  ð  ð  ð  �*ñ  ô  ð  ðFfð fð fð fð fÐ'ñ fô fð fðR,ð ,ð ,ð ,ð ,�:ñ ,ô ,ð ,ð^,ð ,ð ,ð ,ð ,�Jñ ,ô ,ð ,ð^6ð 6ð 6ð 6ð 6�Zñ 6ô 6ð 6ðr6ð 6ð 6ð 6ð 6�jñ 6ô 6ð 6ðr)ð )ð )ð )ð )�*ñ )ô )ð )ðXfð fð fð fð f�
ñ fô fð fðPOð Oð Oð Oð O�jñ Oô Oð Oðd)ð )ð )ð )ð )�zñ )ô )ð )ðXð ð ð ð �jñ ô ð ð ð rG   