U
    ]g                     @   s  d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
 ddlmZmZmZ dgZdddd	d
dddddddddddddddddgZdddgZdd gZd!d"d#d$gZd%d&d'd(d)d*d+d,d-d.d/d0d1d2gZd3d4d5d6d7gZd8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMgZdNdO ZG dPd deZdS )Qz
    pygments.lexers.asn1
    ~~~~~~~~~~~~~~~~~~~~

    Pygments lexers for ASN.1.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)CommentOperatorKeywordNameStringNumberPunctuation
Whitespace)
RegexLexerwordsbygroups	Asn1LexerZENCODEDzABSTRACT-SYNTAXZENDZAPPLICATIONZEXPLICITZIMPLICITZ	AUTOMATICZTAGSZBEGINZEXTENSIBILITYZBYZFROMZ	COMPONENTZ	UNIVERSALZ
COMPONENTSZCONSTRAINEDZIMPLIEDZDEFINITIONSZINCLUDESZPRIVATEZWITHZOFZEXCEPTZUNIONZINTERSECTIONZEXPORTSZIMPORTSzSEQUENCE OFzSET OFzINSTANCE OFzWITH SYNTAXZSIZEZSEQUENCEZSETZCLASSZUNIQUEDEFAULTZCHOICEZPATTERNOPTIONALZPRESENTZABSENTZ
CONTAININGZ
ENUMERATEDALLzOBJECT IDENTIFIERz
BIT STRINGzOCTET STRINGzCHARACTER STRINGzEMBEDDED PDVzRELATIVE-OIDzTYPE-IDENTIFIERZObjectDescriptor	IA5StringZINTEGERZISO646String	T61String	BMPStringNumericStringZTeletexStringGeneralizedTimeZREALZBOOLEANZGeneralStringZGraphicStringUniversalStringUTCTimeVisibleString
UTF8StringPrintableStringZVideotexStringZEXTERNALc                 C   s   dd dd | D  d S )N(|c                 s   s   | ]}| d dV  qdS ) \s+N)replace).0token r"   8/tmp/pip-unpacked-wheel-zak7uw41/pygments/lexers/asn1.py	<genexpr>r   s     z!word_sequences.<locals>.<genexpr>z)\b)join)tokensr"   r"   r#   word_sequencesq   s    r'   c                   @   sT  e Zd ZdZejZdZdgZdgZ	dZ
dZdefdejfd	ejd
fdejfdejfdejfedddejfeeejfeeddejfdejfeeddejfeeej fee!ddej fee"ddej#fee$efdejfdefde%fde&dfde'e&e&j(fde'e&e&j(fgdejfd	ejdfdejdfdejfgde&fde&dfde&fgd Z)d!S )"r   z+
    Lexer for ASN.1 module definition
    zASN.1asn1z*.asn1zDhttps://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdfz2.16r   z--.*$z/\*commentz\d+\.\d*([eE][-+]?\d+)?z\d+z!&?[a-z][-a-zA-Z0-9]*[a-zA-Z0-9]\b)TRUEFALSENULLzMINUS-INFINITYzPLUS-INFINITYZMINMAXz\b)suffixzEXPORTS\s+ALL\bz!&?[A-Z][-a-zA-Z0-9]*[a-zA-Z0-9]\bz!(::=|\.\.\.|\.\.|\[\[|\]\]|\||\^)z(\.|,|\{|\}|\(|\)|\[|\])"stringz('[01 ]*')(B)\bz('[0-9A-F ]*')(H)\bz[^*/]+z#pushz\*/z#popz[*/]z""z[^"])rootr)   r0   N)*__name__
__module____qualname____doc__re	MULTILINEflagsnamealiases	filenamesurlZversion_addedr	   r   SingleZ	Multiliner   ZFloatZIntegerr   Variabler   r   Constantr'   TWO_WORDS_TYPESTypeSINGLE_WORD_TYPES	NamespaceSINGLE_WORD_NAMESPACE_KEYWORDSr   MULTI_WORDS_DECLARATIONSZDeclarationSINGLE_WORDS_DECLARATIONSOPERATOR_WORDSWordSINGLE_WORD_KEYWORDSr   r   r   ZAffixr&   r"   r"   r"   r#   r   u   sN   

$

)r5   r6   Zpygments.tokenr   r   r   r   r   r   r   r	   Zpygments.lexerr
   r   r   __all__rI   rG   rD   rE   rF   r@   rB   r'   r   r"   r"   r"   r#   <module>   s   
(	