§
    £E±cz3  ã                   óÚ   — d Z ddlZddl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 g d¢Z G d„ de¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        ZdS )zè
    pygments.lexers.installers
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for installer/packager DSLs and formats.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroupsÚusingÚthisÚdefault)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚPunctuationÚGenericÚNumberÚ
Whitespace)Ú	NSISLexerÚRPMSpecLexerÚSourcesListLexerÚDebianControlLexerc                   óš  — e Zd ZdZdZdZg d¢ZddgZdgZe	j
        Zd eee¦  «        fd	ej        fd
ej        dfdej        df ed¦  «         ed¦  «         ed¦  «        dej        fdej        fdefdefgd eeeeej        ¦  «        fd eej        eej        ¦  «        fd eej        e¦  «        fdefdefdefdefdej        fgdej        fgdej         j        fdej         fd ej!        j"        fd!ej!        fgd
ej        d"fd#ej#        f ed¦  «        d$ej        fgdej        d"fd#ej#        f ed¦  «        d%ej        fgd&œZ$d'S )(r   z6
    For NSIS scripts.

    .. versionadded:: 1.6
    ÚNSISzhttp://nsis.sourceforge.net/)ÚnsisÚnsiÚnshz*.nsiz*.nshztext/x-nsisz([;#].*)(\n)ú'.*?'ú"Ú
str_doubleú`Ústr_backtickÚmacroÚinterpolÚbasicz\$\{[a-z_|][\w|]*\}z
/[a-z_]\w*ú\s+z[\w.]+z$(\n)(Function)(\s+)([._a-z][.\w]*)\bz#\b([_a-z]\w*)(::)([a-z][a-z0-9]*)\bz\b([_a-z]\w*)(:)z!(\b[ULS]|\B)([!<>=]?=|\<\>?|\>)\Bz[|+-]z\\a­  \b(Abort|Add(?:BrandingImage|Size)|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient)|BrandingText|BringToFront|Call(?:InstDLL)?|(?:Sub)?Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|Shortcut)|Delete(?:INI(?:Sec|Str)|Reg(?:Key|Value))?|DetailPrint|DetailsButtonText|Dir(?:Show|Text|Var|Verify)|(?:Disabled|Enabled)Bitmap|EnableWindow|EnumReg(?:Key|Value)|Exch|Exec(?:Shell|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read(?:Byte)?|Seek|Write(?:Byte)?)?|Find(?:Close|First|Next|Window)|FlushINI|Function(?:End)?|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|FunctionAddress|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Inst(?:ProgressFlags|Type(?:[GS]etText)?)|Int(?:CmpU?|Fmt|Op)|IsWindow|LangString(?:UP)?|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|MessageBox|MiscButtonText|Name|Nop|OutFile|(?:Uninst)?Page(?:Ex(?:End)?)?|PluginDir|Pop|Push|Quit|Read(?:(?:Env|INI|Reg)Str|RegDWORD)|Reboot|(?:Un)?RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:Divider|End|(?:(?:Get|Set)(?:Flags|InstTypes|Size|Text))|Group(?:End)?|In)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress(?:ionLevel|or(?:DictSize)?)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|Error(?:s|Level)|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|ShellVarContext|Silent|StaticBkColor)|Show(?:(?:I|Uni)nstDetails|Window)|Silent(?:Un)?Install|Sleep|SpaceTexts|Str(?:CmpS?|Cpy|Len)|SubSection(?:End)?|Uninstall(?:ButtonText|(?:Sub)?Caption|EXEName|Icon|Text)|UninstPage|Var|VI(?:AddVersionKey|ProductVersion)|WindowIcon|Write(?:INIStr|Reg(:?Bin|DWORD|(?:Expand)?Str)|Uninstaller)|XPStyle)\baÕ  \b(CUR|END|(?:FILE_ATTRIBUTE_)?(?:ARCHIVE|HIDDEN|NORMAL|OFFLINE|READONLY|SYSTEM|TEMPORARY)|HK(CC|CR|CU|DD|LM|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_(?:CONFIG|USER)|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON[1-4]|ICON(?:EXCLAMATION|INFORMATION|QUESTION|STOP)|OK(?:CANCEL)?|RETRYCANCEL|RIGHT|SETFOREGROUND|TOPMOST|USERICON|YESNO(?:CANCEL)?)|SET|SHCTX|SW_(?:HIDE|SHOW(?:MAXIMIZED|MINIMIZED|NORMAL))|admin|all|auto|both|bottom|bzip2|checkbox|colored|current|false|force|hide|highest|if(?:diff|newer)|lastused|leave|left|listonly|lzma|nevershow|none|normal|off|on|pop|push|radiobuttons|right|show|silent|silentlog|smooth|textonly|top|true|try|user|zlib)\bzø\!(addincludedir(?:dir)?|addplugindir|appendfile|cd|define|delfilefile|echo(?:message)?|else|endif|error|execute|if(?:macro)?n?(?:def)?|include|insertmacro|macro(?:end)?|packhdr|search(?:parse|replace)|system|tempfilesymbol|undef|verbose|warning)\bz\$(R?[0-9])as  \$(ADMINTOOLS|APPDATA|CDBURN_AREA|COOKIES|COMMONFILES(?:32|64)|DESKTOP|DOCUMENTS|EXE(?:DIR|FILE|PATH)|FAVORITES|FONTS|HISTORY|HWNDPARENT|INTERNET_CACHE|LOCALAPPDATA|MUSIC|NETHOOD|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES(?:32|64)|QUICKLAUNCH|RECENT|RESOURCES(?:_LOCALIZED)?|SENDTO|SM(?:PROGRAMS|STARTUP)|STARTMENU|SYSDIR|TEMP(?:LATES)?|VIDEOS|WINDIR|\{NSISDIR\})z#\$(CMDLINE|INSTDIR|OUTDIR|LANGUAGE)z\$[a-z_]\w*ú#popz\$(\\[nrt"]|\$)z[^"]+z[^`]+)Úrootr#   r!   r"   r   r    N)%Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚreÚ
IGNORECASEÚflagsr   r
   r   r   ÚSingleÚDoubleÚBacktickr   r   ÚPseudor   Ú	Attributer	   ÚFunctionÚ	Namespacer   ÚLabelr   ÚConstantÚPreprocÚBuiltinÚVariableÚGlobalÚEscapeÚtokens© ó    ú</usr/lib/python3/dist-packages/pygments/lexers/installers.pyr   r      s2  € € € € € ðð ð
 €DØ
(€CØ$Ð$Ð$€GØ˜'Ð"€IØ�€IàŒM€Eð ˜h˜h w°
Ñ;Ô;Ð<Ø�v”}Ð%Ø�6”= ,Ð/Ø�6”? NÐ3ØˆG�GÑÔØˆG�JÑÔØˆG�GÑÔØ# W¤^Ð4Ø˜DœNÐ+Ø�ZÐ Ø˜Ðð
ð 5ØˆX�j '¨:°t´}ÑEÔEðGà3ØˆX�gÔ'¨°d´mÑDÔDðFà  ( (¨4¬:°{Ñ"CÔ"CÐDØ1°8Ð<Ø�xÐ Ø�KÐ ð%ðJ $ðK%%ðL&ð (,¤}ð6ð_?
ðBð $œOð	-ð
ð ˜Tœ\Ô0Ð1ðKð Œ\ðð 4°T´]Ô5IÐJØ˜Tœ]Ð+ð
ð �6”= &Ð)Ø ¤Ð/ØˆG�JÑÔØ�v”}Ð%ð	
ð �6”= &Ð)Ø ¤Ð/ØˆG�JÑÔØ�v”}Ð%ð	
ðOmð m€F€F€FrC   r   c                   ó²  — e Zd ZdZdZdgZdgZdgZdZde	f e
d¦  «        gd	ez   d
z    eej        e¦  «        dfdefdefgdej        fd	ez   d
z    eej        e¦  «        dfdefdefgdej        dfdej        f e
d¦  «        dej        fg e
d¦  «        d eej        e ee¦  «        ¦  «        fdej        dfdej        dfd	ez   d
z    eej        e¦  «        fdef e
d¦  «        dej        fdej        dfdefdefgde	j        fde	j        fd ee	j        e¦  «        fgdej        fdej        fd ej        fd!ej        j        fd"ej         fgd#œZ!d$S )%r   z=
    For RPM ``.spec`` files.

    .. versionadded:: 1.6
    ÚRPMSpecÚspecz*.specztext/x-rpm-speczS(?:package|prep|build|install|clean|check|pre[a-z]*|post[a-z]*|trigger[a-z]*|files)z#.*$r#   z^(%z)(.*)$r%   r$   ú.z\*.*$r   z/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})r"   r!   zì(?i)^(Name|Version|Release|Epoch|Summary|Group|License|Packager|Vendor|Icon|URL|Distribution|Prefix|Patch[0-9]*|Source[0-9]*|Requires\(?[a-z]*\)?|[a-z]+Req|Obsoletes|Suggests|Provides|Conflicts|Build[a-z]+|[a-z]+Arch|Auto[a-z]+)(:)(.*)$z^%descriptionÚdescriptionz^%changelogÚ	changelogzo%(attr|defattr|dir|doc(?:dir)?|setup|config(?:ure)?|make(?:install)|ghost|patch[0-9]+|find_lang|exclude|verify)r   Ústringz
%define.*$z%\{\!\?.*%define.*\}z+(%(?:if(?:n?arch)?|else(?:if)?|endif))(.*)$z%\{?__[a-z_]+\}?z'%\{?_([a-z_]+dir|[a-z_]+path|prefix)\}?z
%\{\?\w+\}z\$\{?RPM_[A-Z0-9_]+\}?z%\{[a-zA-Z]\w+\})r&   rI   rJ   rK   r#   r!   r"   N)"r'   r(   r)   r*   r+   r-   r.   r/   Ú_directivesr
   r   r   r   Ú	Decoratorr	   r   r   Ú
Subheadingr   r4   r@   ÚHeadingr   r   r   r   r3   r<   r8   r6   r>   r?   r;   rA   rB   rC   rD   r   r   “   sC  € € € € € ðð ð €DØˆh€GØ�
€IØ"Ð#€Ið5€Kð
 �gÐØˆG�GÑÔð
ð
 �kÑ! HÑ,ØˆX�d”n dÑ+Ô+¨Vð5à�ZÐ Ø�4ˆLð	
ð �wÔ)Ð*Ø�kÑ! HÑ,ØˆX�d”n dÑ+Ô+¨Vð5à�ZÐ Ø�4ˆLð
ð �6”= &Ð)Ø?ÀÄÐOØˆG�JÑÔØ�6”=Ð!ð	
ð ˆG�GÑÔð;ð ˆX�g”o {°E°E¸$±K´KÑ@Ô@ð	Bð
 ˜tœ~¨}Ð=Ø˜Tœ^¨[Ð9Ø�kÑ! HÑ,¨h¨h°t´~ÀtÑ.LÔ.LÐMðLàðð ˆG�JÑÔØ�v”}Ð%Ø�6”= (Ð+Ø�ZÐ Ø�4ˆLð#
ð( ˜GœOÐ,Ø$ g¤oÐ6Ø;ØˆX�g”o tÑ,Ô,ð.ð
ð ! $¤-Ð0Ø7¸¼ÐHØ˜DœMÐ*Ø&¨¬Ô(<Ð=Ø  'Ô"2Ð3ð
ðc8ð 8€F€F€FrC   r   c            	       ó  — e Zd ZdZdZg d¢ZdgZdgZdefde	fd e
ee¦  «        d	fgde	d
fdej        fdefdej        dfdefdedfgdej        d
fdej        fdej        fdej        fgde	dfdedfdefdej        fgdœZd„ ZdS )r   zU
    Lexer that highlights debian sources.list files.

    .. versionadded:: 0.7
    zDebian Sourcelist)Ú
debsourcesÚsourceslistúsources.listrS   z application/x-debian-sourceslistr$   z#.*?$z^(deb(?:-src)?)(\s+)Údistributionr%   z
\$\(ARCH\)z[^\s$[]+z\[úescaped-distributionz\$Ú
componentsz\]z[^\]$]+z#pop:2ú$z\S+)r&   rT   rU   rV   c                 ó¶   — |                       ¦   «         D ]C}|                     ¦   «         }|                     d¦  «        s|                     d¦  «        r dS ŒDd S )Nzdeb zdeb-src T)Ú
splitlinesÚstripÚ
startswith)ÚtextÚlines     rD   Úanalyse_textzSourcesListLexer.analyse_text  se   € Ø—O’OÑ%Ô%ð 	ð 	ˆDØ—:’:‘<”<ˆDØ�Š˜vÑ&Ô&ð ¨$¯/ª/¸*Ñ*EÔ*Eð Ø�t�tðð	ð 	rC   N)r'   r(   r)   r*   r+   r-   r.   Úmimetyper   r
   r   r   r   r>   r   ÚOtherr	   r6   rA   r^   rB   rC   rD   r   r   Ý   s*  € € € € € ðð ð €DØ;Ð;Ð;€GØÐ €IØ2Ð3€Hð �ZÐ Ø�wÐØ$ØˆX�g˜zÑ*Ô*¨Nð<ð
ð �w Ð'Ø˜DœMÐ*Ø˜&Ð!Ø�F”LÐ"8Ð9Ø�FˆOØ�Z Ð.ð
ð �F”L &Ð)Ø˜DœMÐ*Ø˜œÐ&Ø�F”LÐ!ð	!
ð �w Ð)Ø�4˜Ð"Ø�ZÐ Ø�W”^Ð$ð	
ð+ð €Fð:ð ð ð ð rC   r   c                   ó  — e Zd ZdZdZdZddgZdgZdedfd e	ee
¦  «        d	fd
 e	ee
¦  «        dfd e	ee
¦  «        dfd e	ee
e¦  «        fd e	ee
e¦  «        fd e	ee
e¦  «        fd e	eee¦  «        fgdej        dfdej        fde
fde
dfde
fgd e	e
eeej        ¦  «        fdej        fde
f ed¦  «        gd e	ee
ej        e
¦  «        fde
dfdefde
fde
dfd e
fd!ej        fd"ej        fgd#e
dfd$ e	ee
e¦  «        fgd%œZd&S )'r   zm
    Lexer for Debian ``control`` files and ``apt-cache show <pkg>`` outputs.

    .. versionadded:: 0.9
    zDebian Control filez>https://www.debian.org/doc/debian-policy/ch-controlfields.htmlÚ
debcontrolÚcontrolz^(Description)rI   z^(Maintainer|Uploaders)(:\s*)Ú
maintainerz1^((?:Build-|Pre-)?Depends(?:-Indep|-Arch)?)(:\s*)Údependsz%^(Recommends|Suggests|Enhances)(:\s*)z"^((?:Python-)?Version)(:\s*)(\S+)$z"^((?:Installed-)?Size)(:\s*)(\S+)$z!^(MD5Sum|SHA1|SHA256)(:\s*)(\S+)$z ^([a-zA-Z\-0-9\.]*?)(:\s*)(.*?)$z<[^>]+>$r%   z<[^>]+>z,\n?z[^,<]+$z[^,<]+z(.*)(Homepage)(: )(\S+)z:.*\nz .*\nz(\$)(\{)(\w+\s*:\s*\w+)(\})z\(Údepend_versz\|z,\nz\nz[,\s]z[+.a-zA-Z0-9-]+z\[.*?\]z\)z([><=]+)(\s*)([^)]+))r&   rd   rI   re   rf   N)r'   r(   r)   r*   r+   r,   r-   r.   r   r   r	   r   r   r   r   ÚStrongr   ÚClassr   r   ÚEntityr8   rA   rB   rC   rD   r   r     s  € € € € € ðð ð
 !€DØ
J€CØ˜YÐ'€GØ�€Ið  ¨Ð7Ø-¨x¨x¸ÀÑ/FÔ/FØðàAØˆX�g˜tÑ$Ô$ ið1à5°x°xÀÈÑ7NÔ7NØðà2ØˆX�g˜t VÑ,Ô,ð.à2ØˆX�g˜t VÑ,Ô,ð.à1ØˆX�g˜t VÑ,Ô,ð.à0ØˆX�g˜z¨6Ñ2Ô2ð4ð
ð$ ˜'œ.¨&Ð1Ø˜œÐ(Ø�dˆOØ˜˜vÐ&Ø˜Ðð
ð (ØˆX�d˜F D¨$¬*Ñ5Ô5ð7à�w”~Ð&Ø�tÐØˆG�F‰OŒOð
ð ,ØˆX�h  d¤k°4Ñ8Ô8ð:à�D˜-Ð(Ø�HÐØ�TˆNØ�D˜&Ð!Ø�tÐØ ¤Ð/Ø˜œÐ%ð

ð �D˜&Ð!Ø$ h h¨x¸¸vÑ&FÔ&FÐGð
ðW/ð /€F€F€FrC   r   )r*   r0   Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   r   r   Ú__all__r   r   r   r   rB   rC   rD   ú<module>rm      s˜  ððð ð 
€	€	€	à NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nð-ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð!ð !ð !€ð{ð {ð {ð {ð {�
ñ {ô {ð {ð|Gð Gð Gð Gð G�:ñ Gô Gð GðT-ð -ð -ð -ð -�zñ -ô -ð -ð`:ð :ð :ð :ð :˜ñ :ô :ð :ð :ð :rC   