|ezdZddlZddlmZmZmZmZmZmZm Z m Z ddl m Z m Z mZmZmZmZmZmZmZmZmZmZddlmZddlmZgdZGdd eZGd d eZGd d eZGddeZ GddeZ!dZ"GddeZ#GddeZ$GddeZ%GddeZ&GddeZ'GddeZ(Gdd eZ)Gd!d"eZ*Gd#d$eZ+Gd%d&eZ,Gd'd(eZ-Gd)d*eZ.Gd+d,eZ/Gd-d.eZ0Gd/d0eZ1Gd1d2eZ2Gd3d4eZ3y)5z pygments.lexers.configs ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for configuration file formats. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)ExtendedRegexLexer RegexLexerdefaultwordsbygroupsincludeusingline_re) TextCommentOperatorKeywordNameStringNumber Punctuation WhitespaceLiteralErrorGeneric) BashLexer) JsonLexer)IniLexer SystemdLexer DesktopLexer RegeditLexerPropertiesLexer KconfigLexerCfengine3LexerApacheConfLexerSquidConfLexerNginxConfLexerLighttpdConfLexer DockerLexerTerraformLexer TermcapLexer TerminfoLexerPkgConfigLexerPacmanConfLexer AugeasLexer TOMLLexerNestedTextLexerSingularityLexerUnixConfigLexerc eZdZdZdZgdZgdZddgZdefde jfd e e efd e e jeeeeeed fd e e jeeeefd e jfgdefde eeeefdedfgdZdZy)rz5 Lexer for configuration files in INI style. INI)inicfgdosini)z*.iniz*.cfgz*.infz .editorconfigz text/x-iniztext/inf\s+[;#].*z(\[.*?\])([ \t]*)$u0(.*?)([  \t]*)([=:])([ \t]*)([^;#\n]*)(\\)(\s+)valueu8(.*?)([ \t]*)([=:])([  \t]*)([^ ;#\n]*(?: +[^ ;#\n]+)*)z(.+?)$z(\s*)(.*)(\\)([ \t]*)z.*$#poprootr6cZ|jd}|dkry|ddk(r ||dz dk(ryy) N Fr[]g?)find)textnposs 9/usr/lib/python3/dist-packages/pygments/lexers/configs.py analyse_textzIniLexer.analyse_text>s9yy !8 7c>d46lc1N)__name__ __module__ __qualname____doc__namealiases filenames mimetypesrr Singlerrr Attributer rr tokensrDrErCrrs D&GIz*IZ  ' "HWj$A B @ dnnj(JJ(  I dnnj(J O Q '  Z % j&$ ; = VV $  F,rErceZdZdZdZdZdgZdgZddefde e jefd e e efd e e je jeeeeefgiZd Zy ) rz? Lexer for .desktop files. .. versionadded:: 2.16 z Desktop filezXhttps://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.htmldesktopz *.desktopr9 ^[ \t]*\nz ^(#.*)(\n)(\[[^\]\n]+\])(\n)zG([-A-Za-z0-9]+)(\[[^\] \t=]+\])?([ \t]*)(=)([ \t]*)([^\n]*)([ \t\n]*\n)cz|jdrytjd|ddtjyy)Nz[Desktop Entry]?z^\[Desktop Entry\][ \t]*$? startswithresearch MULTILINErAs rCrDzDesktopLexer.analyse_text]s6 ??, - 9914:r|| L XrEN)rFrGrHrIrJurlrKrLrrr rNrrrO Namespacer rrPrDrQrErCrrGs D dCkG I  : & HW^^Z@ A "HWj$A B W dnndnnj(JX^`j k m  FrErc 4eZdZdZdZdZdgZgdZdefde e jefde e efd e e jeeeeeed fd e e jeeeeefgde e jefd e eeeefd e eeedfgdZdZy)rzC Lexer for systemd unit files. .. versionadded:: 2.16 SystemdzDhttps://www.freedesktop.org/software/systemd/man/systemd.syntax.htmlsystemd) z *.servicez*.socketz*.devicez*.mountz *.automountz*.swapz*.targetz*.pathz*.timerz*.slicez*.scoperTz ^([;#].*)(\n)rUz*([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\\)(\n)r6z&([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\n)z([ \t]*)([^\n]*)(\\)(\n)z([ \t]*)([^\n]*)(\n)r7r8cz|jdrytjd|ddtjyy)Nz[Unit]rWz^\[Unit\][ \t]*$rXrYrZr[r`s rCrDzSystemdLexer.analyse_texts5 ??8 $ 99($t*bll C OrEN)rFrGrHrIrJrarKrLrrr rNrrrOr rr rPrDrQrErCrres D PCkGI: & x C D "HWj$A B : dnnj(JJ(  7 dnnj(JPZ [ ]  x C D ( j&$ ; = $ j&* 5v ?  F,rErc 2eZdZdZdZdZdgZdgZdgZde fde fd e jfd e eeej"efd e ej$e ee d fd e ej$e ee d fgdedfde ej&eedfdedfedgdZdZy)rzZ Lexer for Windows Registry files produced by regedit. .. versionadded:: 1.6 regz8http://en.wikipedia.org/wiki/Windows_Registry#.REG_filesregistryz*.regztext/x-windows-registryzWindows Registry Editor.*r4r5z(\[)(-?)(HKEY_[A-Z_]+)(.*?\])$z)("(?:\\"|\\\\|[^"])+")([ \t]*)(=)([ \t]*)r6z(.*?)([ \t]*)(=)([ \t]*)-r7z1(dword|hex(?:\([0-9a-fA-F]\))?)(:)([0-9a-fA-F,]+).+r8c$|jdS)NzWindows Registry Editor)r\r`s rCrDzRegeditLexer.analyse_texts899rEN)rFrGrHrIrJrarKrLrMr rr rNrrr rBuiltinrOVariablerrrrrPrDrQrErCrrs D DClG I*+I*4 0 Z  ' . gxw ? A: dnnj(J G  ) dnnj(J G   8V $ A dmm[& 96 CFF # FO  !F4:rErc eZdZdZdZddgZdgZdgZdejfde fd e fe d gd e jfed d ee ee dfde dfde dfgdefed de dfgdeej$e fdej$fgdZy)rz Lexer for configuration files in Java's properties format. Note: trailing whitespace counts as part of the value as per spec .. versionadded:: 1.4 Properties properties jpropertiesz *.propertiesztext/x-java-propertiesz [!#].*|/{2}.*\nz ^[^\S\n]+keyz [^\\:=\s]+escapesz([^\S\n]*)([:=])([^\S\n]*))r7r6[^\S\n]+r7z[^\\\n]+z(\\\n)([^\S\n]*)z\\(.|\n))r9rtr6ruN)rFrGrHrIrJrKrLrMr rNrrrrOrrr rEscaperPrQrErCrrs D]+G I)*I w~~ . J  : & EN  DNN + I + j(J 7  *&7 8 J '  & ! I  J '  !(6==*"E F &-- (  C'FrErcXd}|dk(rd}nd|dz z}|dk(rd}nd|z}d|d |d |d S) N+z{1,%d}r>z{%s}z(?:\t| z\t| {z})z.*\nrQ)level tab_width space_repeat level_repeats rC _rx_indentrsH IA~ 9q=1  z ~ *6 < PPrEc eZdZdZdZgdZgdZdgZdZdZ dZ d e fd e jfed d efdedfdej"fdefdefdej*fdejfdej.fdefg defe de de de de de de dedg e de de de de de de dd Zy!)"rzC For Linux-style Kconfig files. .. versionadded:: 1.6 Kconfig)kconfig menuconfigz linux-configz kernel-config)zKconfig*z *Config.in*z external.in*zstandard-modules.inztext/x-kconfigrc@t|tjd|zfS)Nzindent%s)rrDocr}s rC call_indentzKconfigLexer.call_indents5!6::zE/ABBrEc\t|tjfdtft dgS)N\s*\n#pop:2)rrrr rrs rC do_indentzKconfigLexer.do_indents/  + t  H   rEr4#.*?\n)mainmenuconfigrchoice endchoicecommentmenuendmenuz visible ififendifsourcepromptselectz depends onrrangeoption\bsuffixz(---help---|help)[\t ]*\nhelpz;(bool|tristate|string|hex|int|defconfig_list|modules|env)\bz[!=&|]z[()][0-9]+z '(''|[^'])*'z "(""|[^"])*"\S+rr<rzr>r7) r9rindent7indent6indent5indent4indent3indent2indent1N)rFrGrHrIrJrKrLrMflagsrrrr rNrrrrmr rrIntegerrDoubler rrPrQrErCrr sC DHG(I!"I EC Z  ' #,1 2    *7F ; K \\   ! k "  ' fmm , fmm , TN# .t  N N N N N N N FO Q<Q<Q<Q<Q<Q<Q)(\s*)z(\S+)(\s*)(=>)(\s*)"stringz (\w+)(\()z([\w.!&|()]+)(::)z(\w+)(:)z@[{(][^)}]+[})]z[(){},;]z=>z->z\d+\.\d+\d+\w+r4z\$[{(]interpol\\.r7rs.#pushz[})]z [^${()}]+z\),)r9rrrN)rFrGrHrIrJrarKrLrMr rrrrFunctionrrnTyper Reservedr rClass DeclarationrFloatrInterpolrwrPrQrErCrrVs  D CE"GII . gz7J H J 5 gz7J { [  2 gz7J N P G k4==+ ',, HjR S$ g&& Hd C E 68 $ 8DMM;? @ !8DJJ #D E (7#6#6 D E  / + & H  H  &,, ' V^^ $ T]] # Z 3 8 4 V]] # 66 " FO 6N   1 foov . 6?? + K ( ;  T]] # Z  Q.FrErc veZdZdZdZgdZgdZdgZejejzZ de fde fdeej e eej fd eej ej fd ej$d fd efgd efde dfdefde fdefdefdej*fdefdej.fdefg dZy)r zo Lexer for configuration files following the Apache config file format. .. versionadded:: 0.6 ApacheConf) apacheconfaconfapache)z .htaccessz apache.confz apache2.confztext/x-apacheconfr4z#(.*\\\n)+.*$|(#.*?)$z"(<[^\s>/][^\s>]*)(?:(\s+)(.*))?(>)z(]+)(>)z[a-z]\w*r6z\.+z\\\nz\n+r7z\\rv\d+\.\d+\.\d+\.\d+(?:/\d+)?rz/([*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"\\]+r8N)rFrGrHrIrJrKrLrMr]r_ IGNORECASErrr rrTagrrmr rOtherrrrPrQrErCr r s D/G   (& 1 TN  6==& 1 GV $ FO FrEr!ceZdZdZdZdZdgZdgZdgZde e e e fde d fe d gd ed fde jd fe d gd edfdedfe d gdej"fde j$fde j&fde e eej*fdefdej*fde ee ej.fdefdefde fde fdefg dZy)r"zJ Lexer for Nginx configuration files. .. versionadded:: 0.11 zNginx configuration filezhttp://nginx.net/nginxz nginx.confztext/x-nginx-confz(include)(\s+)([^\s;]+)z[^\s;#]+stmtbase\}r\{block;r7#.*\nzon|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;#]*r4z[$;])r9rrrN)rFrGrHrIrJrarKrLrMrrrrrrrbr rNrrnrrrRegexr rPrQrErCr"r"As6 &D CiGI$%I(':t)L M '6 * FO K * '++V 4 FO K ) ; ' FO w~~ &  & dmm , ( dK 8 : & ) v~~ . !8KV\\#R S { # V $ 4 Z dO ! FrEr"c eZdZdZdZdZddgZdgZdgZdd e jfd e fd e fd e fd e fdefde jfdefdej$fdefg iZy)r#zM Lexer for Lighttpd configuration files. .. versionadded:: 0.11 zLighttpd configuration filezhttp://lighttpd.net/lighttpdlightyz lighttpd.confztext/x-lighttpd-confr9rz/\S*z [a-zA-Z._-]+rrz=>|=~|\+=|==|=|\+z\$[A-Z]+z [(){}\[\],]z"([^"\\]*(?:\\.[^"\\]*)*)"r4N)rFrGrHrIrJrarKrLrMr rNrrrr rmrrrrrPrQrErCr#r#ps )D C8$G !I'(I  w~~ & dO g & +V 4   !8 , $,, ' [ ) *FMM : Z   FrEr#ceZdZdZdZdZddgZddgZdgZd Z d Z d Z e je jzZd d efdeeeeeeeefde deeeeefde de deeeeefde deeeeeeefde de deeeeefde zeeeefde deeefdeefg iZy)r$zJ Lexer for Docker configuration files. .. versionadded:: 2.0 Dockerzhttp://docker.iodocker dockerfile Dockerfilez*.dockerztext/x-dockerfile-configz-(?:MAINTAINER|EXPOSE|WORKDIR|USER|STOPSIGNAL)z-(?:RUN|CMD|ENTRYPOINT|ENV|ARG|LABEL|ADD|COPY)z (?:\s*\\?\s*)r9#.*z1(FROM)([ \t]*)(\S*)([ \t]*)(?:(AS)([ \t]*)(\S*))?z(ONBUILD)(\s+)(rz(HEALTHCHECK)(\s+)((z --\w+=\w+z)*)z#(VOLUME|ENTRYPOINT|CMD|SHELL)(\s+)(z )(\[.*?\])z(LABEL|ENV|ARG)(\s+)((z\w+=\w+z(%s|VOLUME)\b(\s+)(.*)rz)(\s+)z (.*\\\n)*.+N)rFrGrHrIrJrarKrLrM _keywords_bash_keywords_lbr]rr_rr rrrrr rrrPrQrErCr$r$s9 D C&Gz*I+,IAIFN C MMBLL (E  W  A gz6:w TZ [ ]&) +Xgz5QZK[-\ ]8;S A*eI.>? ACF H*eI.>i@PQ S8;S A*eI.>? A &) 4hw TZ6[ \+ -x/L M U9- . FrEr$cdeZdZdZdZdZgdZddgZddgZd Z d jd je Z d Z d ZdZdZdZdZdZdZdZdZeezezezezezezezezZd jd jeZdZededdeej:fedddej@fee dde!jDfededde#fgd e$jJd!fd"e$jLfedd#ee'ejPe'e)e'e*fd$ee'ejVe'e)e'fd%ee'e,j8j:e'e)e'fed&zeejZe*fd'ee*ejPe*fe d(zee!j\e'ej^e'ej`e'e*fd)efg d*eej`fd+eej`fgd,e*fgd-e$jJfd.e$jJd/fd0e$jJd1fd2e$jJfgd3e'fd4e'fd5ee1e'fgd6Z2y7)8r%zH Lexer for terraformi ``.tf`` files. .. versionadded:: 2.1 Terraformzhttps://www.terraform.io/) terraformtfhclz*.tfz*.hclzapplication/x-tfzapplication/x-terraform)backenddatamoduleoutputprovider provisionerresourcevariablez({})r) rnumberboollisttuplemapsetobjectnull) absceilfloorlogmaxmixparseintpowsignum)chompformat formatlistindentjoinlowerregexregexallreplacesplitstrrevsubstrtitletrim trimprefix trimsuffix trimspaceupper)alltrueanytrue chunklistcoalesce coalescelistcompactconcatcontainsdistinctelementflattenindexkeyslengthrlookupr matchkeysmergerreversesetintersection setproduct setsubtractsetunionslicesortsum transposevalueszipmap) base64decode base64encode base64gzip csvdecode jsondecode jsonencodetextdecodebase64textencodebase64 urlencode yamldecode yamlencode) abspathdirname pathexpandbasenamefile fileexistsfileset filebase64 templatefile) formatdatetimeadd timestamp) base64sha256 base64sha512bcryptfilebase64sha256filebase64sha512filemd5filesha1 filesha256 filesha512md5 rsadecryptsha1sha256sha512uuiduuidv5)cidrhost cidrnetmask cidrsubnet cidrsubnets) candefaultstobooltolisttomaptonumbertosettostringtryc#hK|jd}|t|jdf|jdtj|jdf|jd|_|j d|_|j tj|jdf|j |_|jd}d}g}tj|j|j D]}|r|jj}n|jj}||k(r|D]3}|jtj|jf5|jtj|jf|j |_nA|j||D])}|jt|jf+t|j|_yw)Nr>rzr<T)startr groupr DelimiterposendHeredocr finditerrAstriprstripappendrlen) selfmatchctxrphdnametolerantlinescheckamatchs rCheredoc_callbackzTerraformLexer.heredoc_callbacks AXu{{1~--kk!nf.. A>>++a.))A,ggv~~u{{1~55))+Q%%chh8 ?I6Gzz'23J YE= W[A`T!I!#336JJM__235JKMab!"H-- 8 45K# N G  L !/ 0$U5 A4== Q5u 5w|| D L ! M "   $))9 5 w~~ . L !8 j$,, HjR] ^ `3 j$..*h S U - j'.."7"7Xz Z \7 "HT]]K$H I%h{DLL+&V WU U g&& DJJ DMM[egr s u/0@ A?  D0$--1H I > dmm $ & #K 0 w(( ) W&& 0 W&& / g'' (  J  Z (44 5 CFFrEr%c eZdZdZdZdgZddgZgZdefde jdfde fgd e d fd e d fd e fde jfgdeee fde dfdeeefdedfd e fde j$fgdefd e d fdefdefgdZy)r&zm Lexer for termcap database source. This is very simple and minimal. .. versionadded:: 2.1 Termcaptermcapz termcap.src^#.*z ^[^\s#:|]+namesr4rsr7:defs\|z[^:|]+z(\\)(\n[ \t]*)z\n[ \t]*r (#)([0-9]+)rrz [^\s:=#]+z\\072z[^:\\]+rr9rrrN)rFrGrHrIrJrKrLrMr rrrrrOrr r rrrrPrQrErCr&r&[s DkGM*IIg  DHHg . Z  J ' ; ' K  '  z : ; *h / Xh7 8 8V $ ;  4:: &  w  ; '  ! 7O  )FrEr&c eZdZdZdZdgZddgZgZdefde jdfde fgd e d fd e e e d fd e fde jfgde fd e dfde eefdedfd e e e fde j"fgdefd e e e d fdefdefgdZy)r'zn Lexer for terminfo database source. This is very simple and minimal. .. versionadded:: 2.1 Terminfoterminfoz terminfo.srcz^#.*$z ^[^\s#,|]+rr4rsr7z (,)([ \t]*)rrz[^,|]+z\n[ \t]+rrrrz [^\s,=#]+z\\[,\\]z[^\\,]+rrN)rFrGrHrIrJrKrLrMr rrrrrrOr rrrrPrQrErCr'r's DlG^,IIw  DHHg . Z  J ' Xk:> G K  '  * % J ) Xh7 8 8V $ Xk:> ? 4:: &   ! Xk:> G  ! 7O  )FrEr'c ^eZdZdZdZdZdgZdgZgZde jfde e jefde e jed fed d efd efd efgdefdej*dfgdej*dfde jfged de jdfdedfd efdefd efgdZy)r(z Lexer for pkg-config (see also `manual page `_). .. versionadded:: 2.1 PkgConfigz4http://www.freedesktop.org/wiki/Software/pkg-config/ pkgconfigz*.pc#.*$z ^(\w+)(=)z ^([\w.]+)(:)spvalueinterpr4z [^${}#=:\n.]+rz\$\$z\$\{curlyrr7rrsz [^${}#\n\s]+)r9rrrN)rFrGrHrIrJrarKrLrMr rNrrrOr rrrrr rrrPrQrErCr(r(s D @CmGIIgnn %8DNNH= > dhh ,i 9 H Z t $ 4L! (dOfoow /  FOOV , T^^ $ H  gnnf - J 'Z d # 4L  =)FrEr(c eZdZdZdZdZdgZdgZgZdde jfde e e e fd e eje efd e e eje fed d ej$fde fdefgiZy)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. .. versionadded:: 2.1 PacmanConfz3https://www.archlinux.org/pacman/pacman.conf.5.html pacmanconfz pacman.confr9rz^(\s*)(\[.*?\])(\s*)$z (\w+)(\s*)(=)z^(\s*)(\w+)(\s*)$)z$repoz$archz%oz%urrr4rN)rFrGrHrIrJrarKrLrMr rNrrrrrOr rrnr rPrQrErCr)r)s$ D ?CnGII  gnn %&x GZ'P Q dnnj( ; =" j$..* = ?  ! ]]  Z 4L7 FrEr)ceZdZdZdZdZdgZdgZdee je e jfdee je e jfdee je fd eee jee j"efd ej&d fd efd efdej,dfdej.dfdee jee jfde jfde fg dej0fdej,fdej,dfgdej0fdej.fdej.dfgdej&fd ej&dfdej&dfdej&fgdZy)r*z6 Lexer for Augeas. .. versionadded:: 2.4 Augeaszhttp://augeas.netaugeasz*.augz(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\(\*rz [*+\-.;=?|]z [()\[\]{}]rrz\/rz([A-Z]\w*)(\.)(\w+)rr4rz[^"]r7z[^/]z[^*)]rz\*\)z[)*])r9rrrN)rFrGrHrIrJrarKrLrrrbrrrrnrmrrr rr rrrrwrPrQrErCr*r*-s D CjG I'1B1BJPTP^P^(_ ` #Xg.A.A:t}}%] ^ fhpquq}q}@JiK L H(S^`d`m`moz}D}I}IKVKW X g'' 3 X & H % 6==( + FLL' * #Xdnnk4==%Y Z 4== ! Z   V]] # fmm $ 6==& ) V]] # fll # FLL& ) w(( ) g'' 1 g'' 0 g'' (  3FrEr*ceZdZdZdZdgZgdZdgZdZdZ de d Z d e fd e jfed d eee dfdedfgdefdej(dfdejdfdefgdefdej(dfdejdfdefdedfde fge ej.dfe ej.dfdej2dfdej2dfdej2dfdej4dfdej6dfdej8dfd ej:dfd!ej(d"fdej(d#fd$ejd%fdejd&fd'ej<dfd(ed)fd*ed+fgd e fd e jfd,efd-edfedgde fed d eee dfd,efd.edfgdej(dfed/d0ej(fgd1ejdfgd!ej(dfd2eej@e fed/d0ej(fdej(fgd$ejdfd3ejfdejfgd4ej@fd5ej@fgd6 Z!y7)8r+zX Lexer for TOML, a simple language for config files. .. versionadded:: 2.4 TOMLtoml)z*.tomlPipfilez poetry.lockzapplication/tomlzhttps://toml.ioz\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 )? )? r4rrtz(=)(\s*)r6z\[\[? table-keyz[A-Za-z0-9_-]+r basic-string'literal-stringz\.z\]\]?r7[ \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""")r7multiline-basic-string)r7rz''')r7multiline-literal-string)r7rz true|false\[)r7arrayr)r7 inline-tabler\]rruz[^"\\]+z.*?'rz[^']+z#\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}r) r9rtrr6rrrrrrruN)"rFrGrHrIrJrKrLrMra_time _datetimerr rNrrr rrrrrrDaterrBinOctHexrrrrwrPrQrErCr+r+ZsX DhG4I#$I C &E I*Z W^^ $ EN(8Z8' Bw ,- 4 % 6==. 1 6=="2 3 K   ( 6==. 1 6=="2 3 G  w ' # " f - GLL& )1&,, G > \\6 # f 5FJJ / VZZ 0 !6::v 6 fnnf 5V]]$F G 6==": ; V]]$H I 6=="< =G,,f 5K!2 3K!9 :C" LZ W^^ $; K ( G  $ # EN(; ;W E; K ( $6==& ) I   ' fmmV , V]]F + (6==*= > I   ' 6== ! # V]]F + v}} % 6== !% 4V]] C V]] # QLFrEr+c>eZdZdZdZdZddgZdgZdee e fdee e d fd ee e d fd ee e fd ee e e e e fdee e fdee e e e e fdee e fdee e e e je fdee e je fdee e je e e e fg edde fedde fde dfdedfgedde jfde dfde dfdedfgedde fedde dfde dfgedd e d fd!e d fgd"e fgd#Zy$)%r,z Lexer for *NextedText*, a human-friendly data format. .. versionadded:: 2.9 .. versionchanged:: 2.16 Added support for *NextedText* v3.0. NestedTextzhttps://nestedtext.org nestedtextntz*.ntz ^([ ]*)(#.*)$z ^([ ]*)(\{) inline_dictz ^([ ]*)(\[) inline_listz ^([ ]*)(>)$z^([ ]*)(>)( )(.*?)([ \t]*)$z ^([ ]*)(-)$z^([ ]*)(-)( )(.*?)([ \t]*)$z ^([ ]*)(:)$z^([ ]*)(:)( )([^\n]*?)([ \t]*)$z^([ ]*)([^\{\[\s].*?)(:)$z)^([ ]*)([^\{\[\s].*?)(:)( )(.*?)([ \t]*)$rz[^\{\}\[\],\s]+ inline_valuerrr7rsz[^\{\}\[\],:\s]+rinline_dict_valuerrrrr)r9rrrrrN)rFrGrHrIrJrarKrLrrr rr rrrrrPrQrErCr,r,s D "CT"GI x G< =Xj+> NXj+> NXj+> ?,Xj+z[_ak-l mXj+> ?,Xj+z[_ak-l mXj+> ?0*kS]_c_g_gis1t u*8J++V W:8JPTPXPXZegqswzDNg\(\?)r]r^rr-_section)rAresults rCrDzSingularityLexer.analyse_textvsQ 99>bmm T cMF 99%..qr2D 9 dNF rEN)rFrGrHrIrJrarKrLr]rr_DOTALLr_headersr_appsectrrHeadingrrr r rr rrPrDrQrErCr-r-Vs D MCoG-(I MMBLL (299 4EeHfHHHx  F rEr-cLeZdZdZdZddgZgZddefdefde fd e fd e fd e fgiZ y ) r.z Lexer for Unix/Linux config files using colon-separated values, e.g. * ``/etc/group`` * ``/etc/passwd`` * ``/etc/shadow`` .. versionadded:: 2.12 zUnix/Linux config files unixconfig linuxconfigr9rrsrrz"((?!\n)[a-zA-Z0-9\_\-\s\(\),]){2,}z[^:\n]+N)rFrGrHrIrJrKrLr rrrr rrPrQrErCr.r.s^ %D]+GI  g  J  ;    2D 9    FrEr.)4rIr]pygments.lexerrrrrrrr r pygments.tokenr r r rrrrrrrrrpygments.lexers.shellrpygments.lexers.datar__all__rrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.rQrErCrsl &&&====+* E(z(V:<*:*Z(::(:V5j5pQ(J:JZ;Z;|(j(VZD,Z,^ :!*!Hg'gT,:,^,J,^7Z7t7j7t***Zg gRPjPf*z*ZjrE