
    |ez3                         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y)z
    pygments.lexers.installers
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for installer/packager DSLs and formats.

    :copyright: Copyright 2006-2023 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                   R   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j2                        fd eej4                  eej2                        fd eej8                  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jB                  jD                  fd!ejB                  fgd
ej"                  d"fd#ejF                  f ed      d$ej"                  fgdej"                  d"fd#ejF                  f ed      d%ej"                  fgd&Z$y')(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      s   
 D
(C$G'"IIMME hw
;<v}}%6==,/6??N3GJG#W^^4DNN+Z 
 5j':t}}EG3g''dmmDF (4::{"CD18<x K %J $K%%L& (,}}6_?
B $OO	-
 T\\001K \\ 4T]]5I5IJT]]+
 6==&)/Jv}}%	
 6==&)/Jv}}%	
OmFrC   r   c                   F   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j4                  fdej&                  dfdefdefgde	j6                  fde	j6                  fd ee	j6                  e      fgdej8                  fdej:                  fd ej<                  fd!ej<                  j>                  fd"ej@                  fgd#Z!y$)%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      s)    DhG
I"#I5K
 gG

 k!H,dnnd+V5Z 4L	
 w))*k!H,dnnd+V5Z 4L
 6==&)?OJ6==!	
 G; goo{E$K@	B
 t~~}=T^^[9k!H,ht~~t.LML Jv}}%6==(+Z 4L#
( GOO,$goo6;goot,.
 !$--07HDMM*&(<(<= '"2"23
c8FrC   r   c            	       J   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y)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                     | j                         D ]6  }|j                         }|j                  d      s|j                  d      s6 y y )Nzdeb zdeb-src T)
splitlinesstrip
startswith)textlines     rD   analyse_textzSourcesListLexer.analyse_text  s=    OO% 	D::<Dv&$//**E	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3H Z w$gz*N<
 w'DMM*&!FLL"89FOZ.
 FLL&)DMM*&FLL!	!
 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y&)'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
JCY'GI 7-x/FAgt$i15x7N2gtV,.2gtV,.1gtV,.0gz624
$ '..&1(dOv&
 (dFD$**57w~~&tFO
 ,hdkk48:D-(HTND&!t/%

 D&!$hxv&FG
W/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      sb    
 N N- - -!{
 {|G: GT-z -`: :rC   