§
    £E±cû  ã                   óx   — d Z ddl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 dgZ G d„ de¦  «        ZdS )zÌ
    pygments.lexers.clean
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Clean language.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )ÚExtendedRegexLexerÚwordsÚdefaultÚincludeÚbygroups)
ÚCommentÚErrorÚKeywordÚLiteralÚNameÚNumberÚOperatorÚPunctuationÚStringÚ
WhitespaceÚ
CleanLexerc                   óÞ  — e Zd ZdZdZdZdgZddgZdZdZ	d	Z
d
ZdZdez   Zde
z   ZdZd                     e
eeg¦  «        Zi d ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «        g	“ddefg“ddej        fdej        dfdej        dfg“ddej        dfdej        d fd!ej        fd"ej        fd#ej        fg“d eed$d$¬%¦  «        efg“d ee	d$d$¬%¦  «        ej        fd&ej        d'fg“d' ed¦  «        eej        dfg“dd( eee¦  «        d)fd*ez   d+z    eeeej        ee¦  «        d,fg“d)d- eee¦  «        fd. eee¦  «        d/feej        fd0 eeee¦  «        fdef ed¦  «        g“d1 ed¦  «        e
ej        dfeej        dfg“d,d2ez   d3z    eeeej        ¦  «        d4fd5ez   d6z    eeeej        e¦  «        d7fd8ez   d9z    eeeej        ¦  «        d:fd;e
z   dz   ez   d9z    eeee¦  «        f ed¦  «        d< eee¦  «        fd=edf ed¦  «        g“d4d>edfd?ed@fd=edAf ed¦  «        g“d@d>efdBefdCedf ed¦  «        g“d7dDedfd?ed7fd=edAf ed¦  «         ed¦  «        g“d:d>edfdEedFfd=edAf ed¦  «        g“dFd>efdBefdGedf ed¦  «        g“ddHe j!        fdIe"j#        fdJe"j$        fdKe"j%        fdLe"j&        fdMe fdNe'j(        dOfg“dPe'j(        fdNe'j(        dfdQe'j(        fdRe)dfgdSe*fdTe*fgdUefdV eeej        e¦  «        fge
efeefeej+        feej        feej        fgdWœ¥Z,dXS )Yr   z�
    Lexer for the general purpose, state-of-the-art, pure and lazy functional
    programming language Clean.

    .. versionadded: 2.2
    ÚCleanzhttp://clean.cs.ru.nl/CleanÚcleanz*.iclz*.dcl)ÚcaseÚccallÚclassÚcodezcode inlineÚderiveÚexportÚforeignÚgenericÚifÚinÚinfixÚinfixlÚinfixrÚinstanceÚletÚofÚ	otherwiseÚspecialÚstdcallÚwhereÚwith)ÚimplementationÚ
definitionÚsystemz[a-z`][\w`]*z[A-Z`][\w`]*z[~@#$%\^?!+\-*<>\\/|&=:]+Ú_z[a-zA-Z_][a-zA-Z0-9_.`]+ú|ÚrootÚcommentsÚkeywordsÚmoduleÚimportÚ
whitespaceÚliteralsÚ	operatorsÚ
delimitersÚnamesz\s+z//.*\nz/\*zcomments.inz/\*\*z\*\/ú#popz#pushz[^*/]+z\*(?!/)ú/z\b)ÚprefixÚsuffixz
\bmodule\bzmodule.namez\b(import)\b(\s*)zimport.modulez\b(from)\b(\s*)\b(z)\b(\s*)\b(import)\bzimport.whatz\b(qualified)\b(\s*)z(\s*)\b(as)\b)r:   úimport.module.asz(\s*)(,)(\s*)r>   z\b(class)\b(\s+)(ú)zimport.what.classz\b(instance)(\s+)(z)(\s+)zimport.what.instancez(::)(\s*)\b(z)\bzimport.what.typez\b(generic)\b(\s+)\b(z(,)(\s+)ú$ú,z\(zimport.what.class.membersz#pop:2z\.\.z\)z[,)]z[({]z import.what.type.consesandfieldsz[)}]z$\'([^\'\\]|\\(x[\da-fA-F]+|\d+|.))\'z[+~-]?0[0-7]+\bz[+~-]?\d+\.\d+(E[+-]?\d+)?z[+~-]?\d+\bz[+~-]?0x[\da-fA-F]+\bz
True|Falseú"úliterals.stringdz	[^\\"\n]+z\\.z[$\n]z[-~@#$%\^?!+*<>\\/|&=:.]+z\b_+\bz[,;(){}\[\]]z(\')([\w`.]+)(\'))rC   r7   r8   r9   N)-Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesr2   ÚmodulewordsÚlowerIdÚupperIdÚfunnyIdÚscoreUpperIdÚscoreLowerIdÚmoduleIdÚjoinÚclassIdr   r   r   ÚSingleÚ	MultilineÚSpecialr   r
   Ú	Namespacer   ÚClassr   r   r   r   ÚCharr   ÚOctÚFloatÚIntegerÚHexr   ÚDoubler	   r   ÚFunctionÚtokens© ó    ú7/usr/lib/python3/dist-packages/pygments/lexers/clean.pyr   r      sl  € € € € € ðð ð €DØ
'€CØˆi€GØ˜'Ð"€Ið€Hð =€Kà€GØ€GØ*€GØ˜'‘>€LØ˜'‘>€LØ*€HØ�hŠh˜ ¨'Ð2Ñ3Ô3€GðEØØˆG�JÑÔØˆG�JÑÔØˆG�HÑÔØˆG�HÑÔØˆG�LÑ!Ô!ØˆG�JÑÔØˆG�KÑ Ô ØˆG�LÑ!Ô!ØˆG�GÑÔð

ðEð 	Ø�ZÐ ð
ðEð 	Ø˜œÐ'Ø�WÔ&¨Ð6Ø�w”¨Ð6ð
ðEð( 	Ø�gÔ'¨Ð0Ø�WÔ&¨Ð0Ø˜Ô)Ð*Ø˜Ô*Ð+Ø�7Ô$Ð%ð
ð)Eð6 	ØˆU�8 E°%Ð8Ñ8Ô8¸'ÐBð
ð7Eð< 	ØˆU�; u°UÐ;Ñ;Ô;¸WÔ=NÐOØ˜GÔ-¨}Ð=ð
ð=EðD 	ØˆG�LÑ!Ô!Ø�t”z 6Ð*ð
ðEEðL 	Ø! 8 8¨G°ZÑ#@Ô#@À/ÐRØ" XÑ-Ð0GÑGØ�˜ *¨d¬j¸*ÀgÑNÔNØðð
ðMEðX 	Ø$ h h¨w¸
Ñ&CÔ&CÐDØ˜x˜x¨
°GÑ<Ô<Ð>ZÐ[Ø�t”zÐ"Ø˜x˜x¨
°KÀÑLÔLÐMØ�ZÐ ØˆG�F‰OŒOð
ðYEðh 	ØˆG�LÑ!Ô!Ø�d”j &Ð)Ø�d”j &Ð)ð
ðiEðr 	Ø! GÑ+¨dÑ2Ø�˜ *¨d¬jÑ9Ô9Ð;NðPà" WÑ,¨yÑ8Ø�˜ *¨d¬j¸*ÑEÔEÐG]ð_à˜wÑ&¨Ñ/Ø�˜ j°$´*Ñ=Ô=Ð?QðSà%¨Ñ/°#Ñ5¸Ñ?À&ÑHØ�˜ *¨dÑ3Ô3ð5àˆG�GÑÔØ˜(˜( ;°
Ñ;Ô;Ð<Ø�:˜vÐ&ØˆG�LÑ!Ô!ð
ðsEðN 	Ø�; Ð'Ø�KÐ!<Ð=Ø�:˜xÐ(ØˆG�LÑ!Ô!ð	
ðOEðZ 	$Ø�;ÐØ�kÐ"Ø�K Ð(ØˆG�GÑÔð	&
ð[Eðf 	Ø�k 6Ð*Ø�KÐ!7Ð8Ø�:˜xÐ(ØˆG�LÑ!Ô!ØˆG�GÑÔð!
ðgEðt 	Ø�; Ð'Ø�kÐ#EÐFØ�:˜xÐ(ØˆG�LÑ!Ô!ð	
ðuEð@ 	+Ø�;ÐØ�kÐ"Ø�k 6Ð*ØˆG�GÑÔð	-
ðAEðL 	Ø4°g´lÐCØ ¤Ð,Ø*¨F¬LÐ9Ø˜Vœ^Ð,Ø% v¤zÐ2Ø˜GÐ$Ø�6”=Ð"4Ð5ð
ðMEð` ˜6œ=Ð)Ø�6”= &Ð)Ø�V”]Ð#Ø�u˜fÐ%ð	
ð *¨8Ð4Ø˜Ð!ð
ð
 ˜kÐ*Ø!Ø�˜ d¤j°+Ñ>Ô>ð@ð
ð �dˆOØ˜4Ð Ø�d”mÐ$Ø�d”jÐ!Ø˜4œ:Ð&ð
ð}Eð Eð E€F€F€Frc   N)rG   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   r   Ú__all__r   rb   rc   rd   ú<module>rh      sü   ððð ð QÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ Pð.ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð ˆ.€ðað að að að aÐ#ñ aô að að að arc   