
    |e                         d Z ddlZddl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 ddgZ G d de      Z G d de      Zy)	z
    pygments.lexers.ldap
    ~~~~~~~~~~~~~~~~~~~~

    Pygments lexers for LDAP.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerbygroupsdefault)
OperatorCommentKeywordLiteralNameStringNumberPunctuation
WhitespaceEscape	LdifLexerLdaprcLexerc                      e Zd ZdZdZdgZdgZdgZdZde	fd e
ee	      fd	 e
ej                  e	      fd
 e
eee	ej                   e	      fd e
eee	ej$                  e	ee	      dfd e
eee	ee	      fd e
eee	ej&                  e	      fd e
eee	ee	      fd e
ee      dfd e
ee      dfd e
eee	ej(                  e	      fd e
ej&                  e      dfd e
ej&                  e      dfd e
ej&                  e      dfgdedfdedf ed      gd  e
ej,                  e      fd! e
ej,                  e      dfd" e
ej,                  e      dfgd# e
e	ee	      fd$ e
e	ee	      dfgd% e
e	ej0                  e	      fd& e
e	ej0                  e	      dfgd' e
e	ej&                  e      d(fgd)efd*ed+fd,ed+fd-efd.e	fd/e	dfgd0 e
e	ee	      fd1 e
e	ee	      dfgd2Zy3)4r   z4
    Lexer for LDIF

    .. versionadded:: 2.17
    LDIFldifz*.ldifztext/x-ldifz-https://datatracker.ietf.org/doc/html/rfc2849z\s*\nz(-)(\n)z	(#.*)(\n)z"(version)(:)([ \t]*)(.*)([ \t]*\n)z?(control)(:)([ \t]*)([\.0-9]+)([ \t]+)((?:true|false)?)([ \t]*)after-controlz+(deleteoldrdn)(:)([ \n]*)([0-1]+)([ \t]*\n)z,(add|delete|replace)(::?)(\s*)(.*)([ \t]*\n)z)(changetype)(:)([ \t]*)([a-z]*)([ \t]*\n)z(dn|newrdn)(::)	base64-dnz(dn|newrdn)(:)dnz-(objectclass)(:)([ \t]*)([^ \t\n]*)([ \t]*\n)z!([a-zA-Z]*|[0-9][0-9\.]*[0-9])(;)propertyz"([a-zA-Z]*|[0-9][0-9\.]*[0-9])(:<)urlz#([a-zA-Z]*|[0-9][0-9\.]*[0-9])(::?)valuez:<)#popr   z::?)r   r   r   z([-a-zA-Z0-9]*)(;)z([-a-zA-Z0-9]*)(:<)z([-a-zA-Z0-9]*)(::?)z(\s*)([^\n]+\S)(\n )z(\s*)([^\n]+\S)(\n)z([ \t]*)(\S*)([ \t]*\n )z([ \t]*)(\S*)([ \t]*\n)z([ \t]*)([-a-zA-Z0-9\.]+)(=))r   dn-valuez\\[^\n],)r   r   z\+z	[^,\+\n]+z\n z\nz+([ \t]*)([^ \t\n][^ \t\n]*[^\n])([ \t]*\n )z*([ \t]*)([^ \t\n][^ \t\n]*[^\n])([ \t]*\n))rootr   r   r   r   r   r   r   N)__name__
__module____qualname____doc__namealiases	filenames	mimetypesr   r   r   r   r   Singler   r   Integerr
   Other	AttributeClassr   Propertyr   PreprocFiler   r   tokens     6/usr/lib/python3/dist-packages/pygments/lexers/ldap.pyr   r      s    DhG
II
9C z"+z:;8GNNJ?@2HW*fnnj5B CO+z4::zSZ\fgixz;g{J
KM<hj$..*?N O9g{JLN';!?M+ >E=xj$**j@J K1dnnk2J@2dnnk2E;3dnnk2G=-
4 K1["34FO
 #HT]]K$HI#dmm[1?D$dmm[13DF	
 %j&*57#j&*5v?
 )j'"5"5zBD'*  **./57
 -hz^^X/'(<>

  ;/Hn-6"Z J'
 <j$
35:j$
3V=
}DFr0   c                   |   e Zd ZdZdZddgZg dZdgZdZdZ	d	Z
d
e	 de
 dZdZdZdZej                   ej"                  z  Zddej(                  fdefde d eeeej0                        fde d eeeej4                        fd eeeej4                        fd eeeej0                        fde de d eeeej0                        fd eeeej0                        fd eeeej0                        fd eeeej0                        fd eeee      fd eeeeej4                        fde d  eeee      fgiZy!)"r   zM
    Lexer for OpenLDAP configuration files.

    .. versionadded:: 2.17
    zLDAP configuration fileldapconfldaprc)z.ldaprcr4   z	ldap.confztext/x-ldapconfzkhttps://www.openldap.org/software//man.cgi?query=ldap.conf&sektion=5&apropos=0&manpath=OpenLDAP+2.4-Releasez,SASL_(?:MECH|REALM|AUTHCID|AUTHZID|CBINDING)zSTLS_(?:CACERT|CACERTDIR|CERT|ECNAME|KEY|CIPHER_SUITE|PROTOCOL_MIN|RANDFILE|CRLFILE)z(?:URI|SOCKET_BIND_ADDRESSES||)zEGSSAPI_(?:ALLOW_REMOTE_PRINCIPAL|ENCRYPT|SIGN)|REFERRALS|SASL_NOCANONzSKEEPALIVE_(?:IDLE|PROBES|INTERVAL)|NETWORK_TIMEOUT|PORT|SIZELIMIT|TIMELIMIT|TIMEOUTz]none|noanonymous|noplain|noactive|nodict|forwardsec|passcred|(?:minssf|maxssf|maxbufsize)=\d+r   z#.*z\s+(z!)(\s+)(on|true|yes|off|false|no)$z)(\s+)(\d+)z(VERSION)(\s+)(2|3)z,(DEREF)(\s+)(never|searching|finding|always)z(SASL_SECPROPS)(\s+)((?:z)(?:,z)*)z2(SASL_CBINDING)(\s+)(none|tls-unique|tls-endpoint)z7(TLS_REQ(?:CERT|SAN))(\s+)(allow|demand|hard|never|try)z"(TLS_CRLCHECK)(\s+)(none|peer|all)z(BASE|BINDDN)(\s+)(\S+)$z#(HOST)(\s+)([a-z0-9]+)((?::(\d+))?)z)(\s+)(\S+)$N)r   r    r!   r"   r#   r$   r%   r&   r   _sasl_keywords_tls_keywords_literal_keywords_boolean_keywords_integer_keywords	_secpropsre
IGNORECASE	MULTILINEflagsr   r'   r   r   r   Constantr   r(   r	   r.   r/   r0   r1   r   r   j   s    %D8$G2I"#I
wCDNjM88H-XYZ`npIMMBLL(E 	W^^$Z #$$EFgz7+;+;<>#$K0gz6>>:<#Xgz6>>%RS<gz7+;+;<>(53Ggz7+;+;<>Bgz7+;+;<>Ggz7+;+;<>2gz7+;+;<> )gz735 4gz7FNNCE#$L1gz7353
Fr0   )r"   r>   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   r   __all__r   r   r/   r0   r1   <module>rF      sM    
 9 8, , , 
&R
 Rj3* 3r0   