U
    luf                     @   s|   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 deZG dd deZdS )	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                   @   s  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je	fd&e
e	ej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d0e
e	ee	fd1e
e	ee	dfgd2Zd3S )4r   z4
    Lexer for LDIF

    .. versionadded:: 2.17
    ZLDIFZ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	   ZOther	AttributeZClassr   ZPropertyr
   ZPreprocFiler   r   tokens r'   r'   8/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/ldap.pyr      s               
 
 
 
 
 

   	

 c                   @   sL  e Zd ZdZdZddgZdddg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B Zddejfdefde deeeejfde deeeejfdeeeejfdeeeejfde de deeeejfdeeeejfdeeeejfdeeeejfdeeeefd eeeeejfde d!eeeefgiZd"S )#r   zM
    Lexer for OpenLDAP configuration files.

    .. versionadded:: 2.17
    zLDAP configuration fileZldapconfZldaprcz.ldaprcz	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   Z_sasl_keywordsZ_tls_keywordsZ_literal_keywordsZ_boolean_keywordsZ_integer_keywordsZ	_secpropsre
IGNORECASE	MULTILINEflagsr   r#   r   r   r   Constantr   r$   r   r&   r'   r'   r'   r(   r   j   sb   





)r   r,   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   r   r   __all__r   r   r'   r'   r'   r(   <module>   s   
0U