
    ,h                     n   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mZmZmZmZmZmZmZ ddlmZ g dZ G d de      Z G d	 d
e      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z  G d de      Z! G d de      Z" G d de      Z# G d de      Z$y)z
    pygments.lexers.haskell
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Haskell and related languages.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)Lexer
RegexLexerbygroupsdo_insertionsdefaultincludeinheritline_re)
TextCommentOperatorKeywordNameStringNumberPunctuationGeneric
Whitespace)	unistring)
HaskellLexer
HspecLexer
IdrisLexer	AgdaLexerCryptolLexerLiterateHaskellLexerLiterateIdrisLexerLiterateAgdaLexerLiterateCryptolLexer	KokaLexerc                      e Zd ZdZdZdZddgZdgZdgZdZ	d	Z
d
Zg defdej                  fdej                  dfdej"                  dfdej"                  dfdej&                  fdj)                  dj+                  e
            ej"                  fdej.                  fdej2                  z   dz   ej4                  fdej2                  z   dz   efdej6                  z   dz   ej8                  fdej6                  z   dz   ej8                  fdej8                  fdej8                  fdej8                  fd ej4                  fd!ej<                  fd"ej8                  fd#efd$ej@                  fd%ej@                  fd&ej@                  fd'ej@                  fd(ejB                  fd)ejD                  fd*ejF                  fd+ejH                  fd,ej.                  d-fd.ed/fd0ej8                  fd1ejJ                  fd2e&fdefd.ed/fd3e&d4fd5efd6ej6                  z   d7z   ej6                  z   d8z    e'ejP                  eeee      d4fd6ej6                  z   d9z    e'ejP                  eeee&      d:fd6ej6                  z   d;z    e'ejP                  ee&      d:fd<ejP                  d4fgdefd6ej6                  z   d;z    e'ejP                  ee&      d:fd=ej6                  z   d>z   ejP                  d4fgdefd=ej6                  z   d?z   ej8                  fd@ej2                  z   dAz   ej4                  fdej                  fdej                  dfdBe&fd#efdCe&dDfd3e&dEfg	dFej                  fdej                  dGfdHej                  d4fdIej                  fgdJej.                  d4fdKejR                  dLfd,ej.                  d4fgdMefdKejR                  dLfd.ed4fgdNejR                  d4fdOej6                  z   dPz   ejR                  d4fdj+                  e      ejR                  d4fdQejR                  d4fdRejR                  d4fdSejR                  d4fdT e'eejR                        d4fgdUZ*yV)Wr   zP
    A Haskell lexer based on the lexemes defined in the Haskell 98 Report.
    Haskellzhttps://www.haskell.org/haskellhsz*.hsztext/x-haskellz0.8)caseclassdatar   derivingdoelsefamilyifin
infix[lr]?instanceletnewtypeofthentypewhere_NULSOHz[SE]TXEOTENQACKBELBSHTLFVTFFCRzS[OI]DLEzDC[1-4]NAKSYNETBCANEMSUBESCz[FGRU]SSPDEL\s+!--(?![!#$%&*+./<=>?@^|_~:\\]).*?$\{-comment
\bimport\bimport
\bmodule\bmodule	\berror\b\b({})(?!\')\b|z'[^\\]'z^[_z][\w\']*z'?[_z][\w']*z('')?[z(')[z(')\[[^\]]*\]z(')\([^)]*\)z(')[:!#$%&*+.\\/<=>?@^|~-]+\\(?![:!#$%&*+.\\/<=>?@^|~-]+)+(<-|::|->|=>|=)(?![:!#$%&*+.\\/<=>?@^|~-]+):[:!#$%&*+.\\/<=>?@^|~-]*[:!#$%&*+.\\/<=>?@^|~-]+z40[xX]_*[\da-fA-F](_*[\da-fA-F])*_*[pP][+-]?\d(_*\d)*zR0[xX]_*[\da-fA-F](_*[\da-fA-F])*\.[\da-fA-F](_*[\da-fA-F])*(_*[pP][+-]?\d(_*\d)*)?z\d(_*\d)*_*[eE][+-]?\d(_*\d)*z+\d(_*\d)*\.\d(_*\d)*(_*[eE][+-]?\d(_*\d)*)?z0[bB]_*[01](_*[01])*z0[oO]_*[0-7](_*[0-7])*z 0[xX]_*[\da-fA-F](_*[\da-fA-F])*z	\d(_*\d)*'	character"string\[\]\(\)[][(),;`{}]\)#popqualified\bz([z][\w.]*)(\s+)(as)(\s+)([z][\w.]*)z][\w.]*)(\s+)(hiding)(\s+)(\()funclistz][\w.]*)(\s+)(\()[\w.]+[z][\w.]*z]\w*z(_[\w\']+|[z	][\w\']*),\(rf   rf   #pop:2[^-{}]+#push-\}[-{}][^\\']'\\escape[^\\"]+[abfnrtv"\'&\\]z\^[][z@^_]o[0-7]+x[\da-fA-F]+\d+	(\s+)(\\)rootrR   rT   rf   rP   r]   r_   rs   N)+__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedreservedasciir   r   Single	Multiliner   Reservedr   	Exceptionformatjoinr   CharuniLlFunctionLuTyper   Wordr   FloatBinOctHexIntegerBuiltinr   r   	NamespaceEscapetokens     Y/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/haskell.pyr   r      s    D
$C$GI!"IMFH9E*
Z *
 27>>B	*

 W&&	2*
 G,,h7*
 G,,h7*
 4>>**
 %%chhx&897;K;KL*
 %*
 cff_{*DMM:*
 svv
*D1*
 +-w||<*
  svv+W\\:!*
" w||,#*
$ gll+%*
& ,W\\:'*
* />+*
, <X]]K-*
. *7<<8/*
0 )(31*
4 EfllS5*
6()/77*
: .v||<;*
< <V\\J=*
> %fjj1?*
@ '

3A*
B 1&**=C*
D 6>>*E*
H 6;;,I*
J 68$K*
N gll#O*
P dll#Q*
R [)S*
Z Z 68$K(W%SVV^99CFFB[Pdnnj':tLfV SVV^??dnnj':{SU_a SVV^22dnnj+>
L /#
( Z SVV^22dnnj+>
LCFF]Z'@	
 Z CFF]W$gll3cff$|3T]]C17>>BW&&	2;((3K!9:K*
  **+W&&0W&&/w(()
 f-FMM8,&++v&	
  FMM8,&&!
  7(&--@XXe_fmmV4/fmmV4V]]F+8J>G
KnFr   r   c            	           e Zd ZdZdZdgZdgZg ZdZdd e	e
eej                        fd e	e
eej                        fd	 e	e
eej                        fegiZy
)r   z<
    A Haskell lexer with support for Hspec constructs.
    Hspechspecz*Spec.hsz2.4r{   z(it)(\s*)("[^"]*")z(describe)(\s*)("[^"]*")z(context)(\s*)("[^"]*")N)r|   r}   r~   r   r   r   r   r   r   r   r   r   r   Docr	   r   r   r   r   r   r      sy     DiGIIM 	"HT:vzz$JK((4VZZ*PQ'$
FJJ)OP	
Fr   r   c                      e Zd ZdZdZdZddgZdgZdgZdZ	d	Z
d
ZdZdj                  dj                  e             eeej$                        fd eeej(                        fd eeej(                        fd eeej*                        dfd eeej.                  eej2                  e      fdj                  dj                  e
            ej$                  fd eej$                  e      dfdej4                  fdefdej2                  fdej2                  fdej:                  fdej:                  fdej<                  fdej>                  fde jB                  dfd e d!fd"efd#efgd$efd% eejD                  ee#      d&fd'ejD                  d(fgd$efd)ej4                  fd*ej.                  fd+ej(                  fd,ej*                  dfd-e#fd.efd/e#d0fd1e#d2fg	d3ej*                  fd,ej*                  d4fd5ej*                  d(fd6ej*                  fgd7e jB                  fd8e jH                  d9fde jB                  d(fgd:e fd8e jH                  d9fd e d(fgd;e jH                  d(fd<e jH                  d(fdj                  e      e jH                  d(fd=e jH                  d(fd>e jH                  d(fde jH                  d(fd? eee jH                        d(fgd@Z%yA)Br   zq
    A lexer for the dependently typed programming language Idris.

    Based on the Haskell and Agda Lexer.
    Idriszhttps://www.idris-lang.org/idrisidrz*.idrztext/x-idris2.0)3r$   r%   r&   r   usingr(   r)   r+   r,   r-   r.   rewriteauto	namespacecodatamutualprivatepublicabstracttotalpartial	interfaceimplementationexportcoveringconstructorr/   proofr1   r2   staticr4   r5   withpatterntermsyntaxprefix	postulate
parametersrecorddsl
impossibleimplicittacticsintrosintrocomputerefineexacttrivialr6   )liblinkflagr   hidefreezeaccessr   loggingdynamicr   error_handlerslanguagez^(\s*)(%({}))rW   z((\s*)(--(?![!#$%&*+./<=>?@^|_~:\\]).*?)$z(\s*)(\|{3}.*?)$z
(\s*)(\{-)rP   ^(\s*)([^\s(){}]+)(\s*)(:)(\s*)rV   (import|module)(\s+)rT   ('')?[A-Z][\w\']*z[a-z][\w\']*z(<-|::|->|=>|=)z"([(){}\[\]:!#$%&*+.\\/<=>?@^|~-]+)\d+[eE][+-]?\d+\d+\.\d+([eE][+-]?\d+)?0[xX][\da-fA-F]+rx   r\   r]   r^   r_   
[^\s(){}]+\s+?rM   ([A-Z][\w.]*)(\s+)(\()rf   [A-Z][\w.]*rd   [A-Z]\w*(_[\w\']+|[a-z][\w\']*)z--.*$rO   ri   r[   rj   rk   rc   rl   rm   rn   ro   rp   z[^\\']rr   rs   rt   ru   \^[][A-Z@^_]rv   rw   ry   )r{   rT   rf   rP   r]   r_   rs   N)&r|   r}   r~   r   r   r   r   r   r   r   r   r   
directivesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      sR   
 D
'CG	I IMWH9E
YJ $$SXXj%9:j'"2"2358(:w~~:^_ (:w~~"FGHZ1B1BCYO/j$--X]]JWY %%chhx&897;K;KL$hw/?/?&LhW!7<<0d#/2HMMB.'6 &**-V^^$6;;,68$D!j!7
< Z &dnnj+>
LT^^V4	
 Z ',,''7w~~&W&&	2;((3K!9:K*
  **+W&&0W&&/w(()
 $FMM8,&++v&	
  FMM8,&&!
  7fmmV4XXe_fmmV4/fmmV4V]]F+8J>G
IMFr   r   c                   *   e Zd ZdZdZdZdgZdgZdgZdZ	dZ
d	 eeej                  eej                   e      fd
ej$                  fdej&                  dfdej(                  dfdj+                  dj-                  e
            ej0                  fd eej0                  e      dfdej2                  fdefdej                   fdej6                  fdej6                  fdej8                  fdej:                  fdej>                  dfdedfde fdefgd ej(                  fdej(                  d!fd"ej(                  d#fd$ej(                  fgdej&                  dfd%ed#fd&e fge!jD                  d   e!jD                  d   e!jD                  d   e!jD                  d'   d(Z"y))*r   za
    For the Agda dependently typed functional programming language and
    proof assistant.
    Agdaz.http://wiki.portal.chalmers.se/agda/pmwiki.phpagdaz*.agdaztext/x-agdar   )+r   r   coinductiver   r&   r(   zeta-equalityfieldforallhidingr,   	inductiveinfixinfixlinfixrr.   interleavedr/   macror   zno-eta-equalityopaqueopenoverlapr   r   	primitiver   quote	quoteTermr   renamingr   r   tactic	unfoldingunquoteunquoteDecl
unquoteDefr   variabler4   r   r   rN   rO   rP   z\{!holerV   rW   r   rT   z\b(Set|Prop)[\u2080-\u2089]*\bz(\(|\)|\{|\})z((\.{1,3}|\||\u03BB|\u2200|\u2192|:|=|->)r   r   r   rx   r\   r]   r^   r_   r   r   z[^!{}]+rn   z!\}rd   z[!{}]z[a-zA-Z][\w.\']*z	[\W0-9_]+rs   )r{   r   rT   rP   r]   r_   rs   N)#r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	Directiver   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s   
 D
:ChG
IIMH 0j$--mmZ12 27>>BW&&	2W&&/ %%chhx&897;K;KL$hw/?/?&L.=x(8(--H.'6 &**-V^^$6;;,68$D!j!9
@ **+W&&0W&&/w(()
 W&&	2 $/4 

  &&y1!((5%%h/%%h/]/Fr   r   c                      e Zd ZdZdZddgZdgZdgZdZdZ	d	Z
d
Zdefdej                  fdej                  dfdej"                  dfdej"                  dfdej&                  fdj)                  dj+                  e
            ej"                  fdej,                  fdefdej.                  fdej,                  fdej2                  fdej.                  fdefdej6                  fdej6                  fdej8                  fd ej:                  fd!ej<                  fd"ej@                  d#fd$ed%fd&ej.                  fd'ejB                  fd(e"fgdefd$ed%fd)e"d*fd+efd, e#ejH                  eeee      d*fd- e#ejH                  eeee"      d.fd/ e#ejH                  ee"      d.fd0ejH                  d*fgdefd/ e#ejH                  ee"      d.fd1ejH                  d*fgdefd2ej.                  fd3ej,                  fd4e"fdefd5e"d6fd)e"d7fgd8ej                  fdej                  d9fd:ej                  d*fd;ej                  fgd<ej@                  d*fd=ejJ                  d>fd"ej@                  d*fgd?efd=ejJ                  d>fd$ed*fgd@ejJ                  d*fdAejJ                  d*fdj+                  e      ejJ                  d*fdBejJ                  d*fdCejJ                  d*fd!ejJ                  d*fdD e#eejJ                        d*fgdEZ&h dFZ'dG Z(yH)Ir   zX
    FIXME: A Cryptol2 lexer based on the lexemes defined in the Haskell 98 Report.
    Cryptolcryptolcryz*.cryztext/x-cryptolhttps://www.cryptol.netr   )ArithBitCmpFalseInfTruer)   r   externfinr+   rR   inflg2maxminrT   r0   pragmapropertyr2   r3   r4   widthr6   rM   //.*$/\*rP   rQ   rR   rS   rT   rU   rV   rW   z^[_a-z][\w\']*z'?[_a-z][\w']*r   rX   rY   rZ   r[   r   r   z0[oO][0-7]+r   rx   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   z(([A-Z][\w.]*)(\s+)(as)(\s+)([A-Z][\w.]*)z#([A-Z][\w.]*)(\s+)(hiding)(\s+)(\()rf   r   rg   r   r   r   ri   rj   rk   rl   [^/*]+rn   \*/[*/]rq   rr   rs   rt   ru   r   rv   rw   ry   rz   >   <<>><<<>>>parregseqr   tailconsterrorsplittracer  ASSERTlengthreverse	transpose	undefinedc              #      K   dg}t        j                  | ||      D ]9  \  }}}|t        u r$|| j                  v r|t        j                  |f 3|||f ; y w)Nr{   )r   get_tokens_unprocessedr   EXTRA_KEYWORDSr   )selftextstackindextokenvalues         r   r-  z#CryptolLexer.get_tokens_unprocessed  sd     11$eD	*E5%}$*=*=!=T\\500UE))	*s   AAN))r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r.  r-  r   r   r   r   r   i  s    D% G	I!"I
#CM2H9E Z w~~&W&&	2 G,,h7G,,h74>>*%%chhx&897;K;KL.%!7<<0.>;X]]K)7<<8((3.'6VZZ( &**-V^^$6;;,68$gll#dll#[)A!
H Z 68$K(W%8dnnj':tLfV 4dnnj':{SU_a 'dnnj+>
L /#
( Z &dnnj+>
LT^^V4	
 Z ',,''7 ;((3K!9:K*
 ))*W&&0W&&/g''(
 f-FMM8,&++v&	
  FMM8,&&!
  7fmmV4XXe_fmmV4/fmmV4V]]F+8J>G
wdFLN
*r   r   c                   @    e Zd ZdZ ej
                  d      Zd Zd Zy)LiterateLexera  
    Base class for lexers of literate file formats based on LaTeX or Bird-style
    (prefixing each code line with ">").

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    z(>[ \t]*)(.*\n)c                 >    || _         t        j                  | fi | y )N)	baselexerr   __init__)r/  r8  optionss      r   r9  zLiterateLexer.__init__  s    "t'w'r   c           	   #     K   | j                   j                  d      }||j                         dd dv xr dxs d}d}g }|dk(  rt        j                  |      D ]  }|j                         }| j                  j                  |      }|rR|j                  t        |      dt        j                  |j                  d      fgf       ||j                  d      z  }|j                  t        |      dt        |fgf        ndd	lm}  |di | j                   }	d}
d}t        j                  |      D ]  }|j                         }|
r-|j                         j                  d
      rd}
||z  }<||z  }B|j                         j                  d      r>d}
||z  }|j                  t        |      t!        |	j#                  |            f       d}||z  } |j                  t        |      t!        |	j#                  |            f       t%        || j&                  j#                  |            E d {    y 7 w)Nlitstyler      z%\latexbird    )TexLexerz
\end{code}z\begin{code}r   )r:  getlstripr
   finditergroupbird_rematchappendlenr   Specialr   pygments.lexers.markuprB  
startswithlistr-  r   r8  )r/  r0  stylecode
insertionsrH  linemrB  lxlexer	codelinesr>  s               r   r-  z$LiterateLexer.get_tokens_unprocessed  s      ,=[[]1Q'50=gGE
F? ))$/ F{{}LL&&t,%%s4y)*GOOQWWQZ(H'I'K LAGGAJ&D%%s4yAtT?2C&DEF 8..GIE ))$/ "{{}{{}//>$%	[[]--o> !ITME%%s4y'+G,J,J5,Q'R'T UETME"  s4y#G$B$B5$IJL M T^^-R-RSW-XYYYs   H6I 8H>9I N)	r|   r}   r~   r   recompilerG  r9  r-  r   r   r   r6  r6    s%    
 bjj+,G(*Zr   r6  c                   6    e Zd ZdZdZg dZdgZdgZdZdZ	d Z
y	)
r   aS  
    For Literate Haskell (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Haskell)zliterate-haskelllhaskelllhsz*.lhsztext/x-literate-haskellz-https://wiki.haskell.org/Literate_programmingz0.9c                 H    t        di |}t        j                  | |fi | y Nr   )r   r6  r9  r/  r:  hslexers      r   r9  zLiterateHaskellLexer.__init__D  s$    ))tW88r   Nr|   r}   r~   r   r   r   r   r   r   r   r9  r   r   r   r   r   2  s1    	 D5G	I*+I
9CM9r   r   c                   6    e Zd ZdZdZg dZdgZdgZdZdZ	d Z
y	)
r   aQ  
    For Literate Idris (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Idris)zliterate-idrislidrislidrz*.lidrztext/x-literate-idrisz?https://idris2.readthedocs.io/en/latest/reference/literate.htmlr   c                 H    t        di |}t        j                  | |fi | y r\  )r   r6  r9  r]  s      r   r9  zLiterateIdrisLexer.__init__[  s$    'w'tW88r   Nr_  r   r   r   r   r   I  s1    	 D2G
I()I
KCM9r   r   c                   6    e Zd ZdZdZddgZdgZdgZdZdZ	d	 Z
y
)r   a:  
    For Literate Agda source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Agdazliterate-agdalagdaz*.lagdaztext/x-literate-agdazEhttps://agda.readthedocs.io/en/latest/tools/literate-programming.htmlr   c                 L    t        di |}t        j                  | |fddi| y )Nr<  r>  r   )r   r6  r9  )r/  r:  	agdalexers      r   r9  zLiterateAgdaLexer.__init__r  s)    ((	tYLLGLr   Nr_  r   r   r   r   r   `  s7    	 D(GI'(I
QCMMr   r   c                   6    e Zd ZdZdZg dZdgZdgZdZdZ	d Z
y	)
r   aS  
    For Literate Cryptol (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Cryptol)zliterate-cryptollcryptollcryz*.lcryztext/x-literate-cryptolr  r   c                 H    t        di |}t        j                  | |fi | y r\  )r   r6  r9  )r/  r:  crylexers      r   r9  zLiterateCryptolLexer.__init__  s$    *'*tX99r   Nr_  r   r   r   r   r   w  s1    	 D6G
I*+I
#CM:r   r   c                      e Zd ZdZdZdZdgZddgZdgZdZ	g d	Z
g d
Zg dZg dZdZdez   dz   ZdZej$                  Zej(                  Zej.                  Z ed      dez   edfd eeee      dfd eeee      dfdj;                  dj=                  e            dz    eeee      dfd eeeeeej>                        fd eeeej>                  eeeeeej>                  	      fdez   dz    eeeeeej@                        fdez   dz    eeeeeeeej@                        fdj;                  dj=                  e            ez   ejB                  fdj;                  dj=                  e
            ez   efdj;                  dj=                  e            ez   ejD                  fd ez   efd! eej>                  e      fd" eej>                  e      fd#ez   dz    eej>                  e      fd$ejF                  fd%e$jJ                  d&fed'z   e&fd(e&fd)e'fd*e(jR                  fd+e(jT                  fd,e(jV                  fd-e$jX                  d.fd/e$jJ                  d0fgd1ef ed      gd2e'd3f ed      gd4ed5f ed6      gd7ed3fd4ed5fd8efd9 eeee      f ed6      g ed      dj;                  dj=                  e            ez   efd:j;                  dj=                  e
            ez   d;z   ed3fd<ez   efd=efd$ejF                  fd! eej>                  e      fd> eej>                  e      fd?ef e-d3      g
d@ eee.j^                        fdAefdBe.j`                  dCfdDe.jb                  fgdEe.j`                  fdBe.j`                  dFfdGe.j`                  d3fdHe.j`                  fgdIe$jJ                  fdJe$jd                  fd/e$jJ                  d3fgdKe$jJ                  f edL      dMe$jJ                  d3fgdNe$jX                  f edL      dOe$jX                  d3fgdPe$jd                  fdQe$jd                  fdRe$jd                  fdSe$jd                  fgdTZ3yU)Vr   z&
    Lexer for the Koka language.
    Kokaz/https://koka-lang.github.io/koka/doc/index.htmlkokaz*.kkz*.kkiztext/x-kokaz1.6)"r   r   r   r3   cotyperectypealiasstructconfunfunctionvalvarexternalr+   r2   r)   elifreturnrH  r   r   r   rT   rR   asr   inlinerectryyieldenumr   r.   )r3   rp  rq  rr  rs  r  )r   existssomer   )forwhilerepeatforeachzforeach-indexedr$  catchfinallycsjsfilerefassignedz[$%&*+@!/\\^~=.:\-?|<>]+z(?!)z	(?![\w/])
whitespacez::?r3   z(alias)(\s+)([a-z]\w*)?
alias-typez(struct)(\s+)([a-z]\w*)?struct-typez({})rW   z(\s+)([a-z]\w*)?z=(module)(\s+)(interface(?=\s))?(\s+)?((?:[a-z]\w*/)*[a-z]\w*)z`(import)(\s+)((?:[a-z]\w*/)*[a-z]\w*)(?:(\s*)(=)(\s*)(qualified)?(\s*)((?:[a-z]\w*/)*[a-z]\w*))?z>^(public|private)?(\s+)?(function|fun|val)(\s+)([a-z]\w*|\((?:z|/)\))zd^(?:(public|private)(?=\s+external))?((?<!^)\s+)?(external)(\s+)(inline(?=\s))?(\s+)?([a-z]\w*|\((?:z::?|:=|\->|[=.]z((?:[a-z]\w*/)*)([A-Z]\w*)z((?:[a-z]\w*/)*)([a-z]\w*)z((?:[a-z]\w*/)*)(\((?:z_\w*z@"	litstringz
|/(?![*/])`z[{}()\[\];,]z![0-9]+\.[0-9]+([eE][\-+]?[0-9]+)?z0[xX][0-9a-fA-F]+z[0-9]+r\   charr^   r_   =z(?=\((?!,*\)))rd   z[(\[<]type-nestedtype-contentz[)\]>]ri   z([a-z]\w*)(\s*)(:)(?!:)z(?=(({})z))z[EPHVX]z[a-z][0-9]*(?![\w/])z((?:[a-z]\w*/)*)([a-z]\w+)z::|->|[.:|]z(\n\s*)(#.*)$rM   r  rP   r  r  rn   r  r  z[^"]+z""z	[^\\"\n]+escape-sequencez["\n]z
[^\\\'\n]+z[\'\n]z\\[nrt\\"\']z\\x[0-9a-fA-F]{2}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{6})r{   r  r  r3   r  r  r  rP   r  r_   r  r  N)4r|   r}   r~   r   r   r   r   r   r   r   keywordstypeStartKeywordstypekeywordsbuiltinsymbols	sboundaryboundaryr   	Attribute	tokenTypeClasstokenTypeDefr   EmphtokenConstructorr   r   r   r   r   r   r   r   r   PseudoVariabler   Doubler   r   r   r   r   r   r   r   r   Preprocr   r   r   r   r   r   r   r   r     s    D
;ChG!IIMH 
L
G *G #%I H I::L||
 L! iF3'':|)T((7J*UnnSXX&789 !"*7J"M Ngz7JOQ+ gz4>>:wPZz4>>;<%'./1:;gz7JNP ")*,56gz7JUYUbUbce
 ^^CHH\23h>M^^CHHX./(:GD^^CHHW-.97>>J)+W5 +dnn&679*HT^^T,JK&09<dnnd+-dmm$ FMM;/ |#X.8k* 26<<@!6::.'6;;'6==(+u;
~ 7OFO
 V4FO
 	=1N#
 	6*	=19'dJ	24N#
 L! ^^CHH\23h>H 23h>Ef ("I. %i0i(()*dnni02*dnni02 Y' FO/
8 x
GOODEZ W&&	2w~~&	
 ))*W&&0W&&/g''(	
 v}}%FMM"6==&)
 6==)%&v}}f-
 FKK(%&V,
 fmm,!6==1!6==1!6==1
cXFr   r   )%r   rV  pygments.lexerr   r   r   r   r   r   r	   r
   pygments.tokenr   r   r   r   r   r   r   r   r   r   pygmentsr   r   __all__r   r   r   r   r   r6  r   r   r   r   r   r   r   r   <module>r     s    
' ' '- - - %0
A: AH *l l^F
 FRF*: F*R=ZE =Z@9= 9.9 9.M M.:= :.T
 Tr   