§
    £E±cü‰  ã                   óî   — d Z ddl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 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dS )zÈ
    pygments.lexers.ml
    ~~~~~~~~~~~~~~~~~~

    Lexers for ML family languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroupsÚdefaultÚwords)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚError)ÚSMLLexerÚ
OcamlLexerÚOpaLexerÚReasonLexerÚ
FStarLexerc                   ó
  — e Zd ZdZdZdgZg d¢ZddgZh d£Zh d£Z	h d	£Z
d
ZdZd„ Zd„ Zd„ Zd„ Zi ddefdej        dfg“ddedfdedfdej        dfdej        dfdej        dfg“ddd                     d „ e
D ¦   «         ¦  «        z  efd!ej        d"fd#ej        d$fd%ej        fd&ej        fd'ej        fd(ej        fd)ej        fd*ej        fd+ej        fd,ej         fd-ez  ej         fd.ez  ej         fd/ej        d0fd1ej        d2fd3ej        d4fd5ej        d6fd7ej!        fd8ez  ed9fdez  efdez  efg“d9d8ez  efdez  edfdez  edfde"fd:e"fg“d; e#d¦  «        g“d e$d¦  «        d<ej        d=fd>ej        d?f e$d¦  «         e$d¦  «        d:e"fg“d@ e$d¦  «        dAefdej        dfdBej        dCfdDej        dEfdFedCfdGej        dHf e$d¦  «         e$d¦  «        d:e"fg
“d" eej        ¦  «        “d$ eej        ¦  «        “dIdJd                     e¦  «        z  edfg“d4 e$d¦  «         e$dI¦  «        dez  ej%        f e#d¦  «        g“dC e$d¦  «        d7ej!        fdKedLfdez  ej&        dfdez  ej&        df e#d¦  «        g“d= e$d¦  «        d7ej!        fdKedLfdMe›dNe›dO� e'ej(        ee¦  «        dfdMe›dNe›dO� e'ej(        ee¦  «        dfdez  ej(        dfdez  ej(        df e#d¦  «        g“d6 e$d¦  «         e$dI¦  «        d7ej!        fdKedLfdPez  edQfdez  ej)        fdez  ej)        fd:e"dfg“dR e$d¦  «        dSej        dTf e$dI¦  «         e$d¦  «        d:e"dfg“d0 e$d¦  «         e$dI¦  «        d7ej!        fdKedLfdU e'eeej        ¦  «        dfdPez  edVfdez  ej)        fdez  ej)        fd:e"dfg	“dW e$d¦  «        dSej        dXfdYej        dTfdZej        fd[ez   e'eeej*        ¦  «        fd\ez   e'eeej*        ¦  «        f e$dI¦  «         e$d¦  «        d:e"fg	“ e$d¦  «        d]ez   e'ej        eej*        ¦  «        fd^ez   e'ej        eej*        ¦  «        fdZej        fdMe›d_e›d`�ej*        f e#d¦  «        g e$d¦  «        dez  ej*        dfdez  ej*        dfd:e"dfgdAefdej        dfd7ej!        feefdaefdbedfeefgdcej        fdej        ddfdeej        dfdfej        fgdgœ¥Z+dhS )ir   zB
    For the Standard ML language.

    .. versionadded:: 1.5
    zStandard MLÚsml)z*.smlz*.sigz*.funztext/x-standardmlzapplication/x-standardml>)   ÚasÚdoÚfnÚifÚinÚofÚopÚandÚendÚfunÚletÚrecÚsigÚvalÚcaseÚelseÚopenÚthenÚtypeÚwithÚinfixÚlocalÚraiseÚwhereÚwhileÚeqtypeÚhandleÚinfixrÚnonfixÚorelseÚstructÚabstypeÚandalsoÚfunctorr   ÚsharingÚdatatypeÚwithtypeÚ	exceptionÚ	signatureÚ	structure>   ú#ú:ú=ú->ú:>ú=>ú\|>
   ú...Ú_ú(ú)ú,ú;ú[ú]ú{ú}z[a-zA-Z][\w']*z[!%&$#+\-/:<=>?@\\~`^|*]+c           	      ó–   — d| fdt           j        fdt           j        fdt           j        fdt           j        fdt           j        fd| dfgS )	Nz[^"\\]z\\[\\"abtnvfr]z\\\^[\x40-\x5e]ú
\\[0-9]{3}z\\u[0-9a-fA-F]{4}z\\\s+\\ú"ú#pop)r   ÚEscapeÚInterpol)Úwhatkinds    ú4/usr/lib/python3/dist-packages/pygments/lexers/ml.pyÚstringyzSMLLexer.stringy<   sR   € à˜Ð!Ø¥¤Ð.ð  ¥¤Ð/à�FœMÐ*Ø!¥6¤=Ð1Ø�œÐ)Ø�8˜VÐ$ð
ð 	
ó    c              #   ó(  K  — |                      d¦  «        | j        v rt          }nt          j        }|                     d¦  «        ||                      d¦  «        fV — |                     d¦  «        t          |                      d¦  «        fV — d S )Né   é   )ÚgroupÚalphanumid_reservedr   r   Ú	NamespaceÚstartr   ©ÚselfÚmatchÚtokens      rX   Úlong_id_callbackzSMLLexer.long_id_callbackK   s€   è è € Ø�;Š;�q‰>Œ>˜TÔ5Ð5Ð5ÝˆEˆEå”NˆEØ�kŠk˜!‰nŒn˜e U§[¢[°¡^¤^Ð3Ð3Ð3Ð3Ø�kŠk˜!‰nŒn�k¨5¯;ª;°q©>¬>Ð9Ð9Ð9Ð9Ð9Ð9rZ   c              #   ó  K  — |                      d¦  «        | j        v rt          }n+|                      d¦  «        | j        v rt          }nt          }|                     d¦  «        ||                      d¦  «        fV — d S ©Nr\   )r^   r_   r   Úsymbolicid_reservedr   ra   rb   s      rX   Úend_id_callbackzSMLLexer.end_id_callbackS   sv   è è € Ø�;Š;�q‰>Œ>˜TÔ5Ð5Ð5ÝˆEˆEØ�[Š[˜‰^Œ^˜tÔ7Ð7Ð7ÝˆEˆEåˆEØ�kŠk˜!‰nŒn˜e U§[¢[°¡^¤^Ð3Ð3Ð3Ð3Ð3Ð3rZ   c              #   óÄ   K  — |                      d¦  «        }|| j        v rt          j        }n|| j        v rt
          }nt          }|                     d¦  «        ||fV — d S rh   )r^   r_   r   ÚReservedri   r   r   ra   )rc   rd   Ústrre   s       rX   Úid_callbackzSMLLexer.id_callback\   sj   è è € Ø�kŠk˜!‰nŒnˆØ�$Ô*Ð*Ð*ÝÔ$ˆEˆEØ�DÔ,Ð,Ð,ÝˆEˆEåˆEØ�kŠk˜!‰nŒn˜e SÐ(Ð(Ð(Ð(Ð(Ð(rZ   Ú
whitespaceú\s+ú\(\*ÚcommentÚ
delimitersz\(|\[|\{Úmainz\)|\]|\}rT   z\b(let|if|local)\b(?!\'))rt   rt   z\b(struct|sig|while)\b(?!\')z\b(do|else|end|in|then)\b(?!\')Úcoreú(%s)ú|c              #   ó>   K  — | ]}t          j        |¦  «        V — Œd S )N)ÚreÚescape)Ú.0Úzs     rX   ú	<genexpr>zSMLLexer.<genexpr>|   s*   è è € ÐEÐE°¥¤	¨!¡¤ÐEÐEÐEÐEÐEÐErZ   z#"ÚcharrS   Ústringz~?0x[0-9a-fA-F]+z0wx[0-9a-fA-F]+z0w\d+z~?\d+\.\d+[eE]~?\d+z
~?\d+\.\d+z~?\d+[eE]~?\d+z~?\d+z#\s*[1-9][0-9]*z#\s*(%s)z#\s+(%s)z\b(datatype|abstype)\b(?!\')Údnamez\b(exception)\b(?!\')Úenamez4\b(functor|include|open|signature|structure)\b(?!\')Úsnamez\b(type|eqtype)\b(?!\')Útnamez	\'[\w\']*z(%s)(\.)Údottedz\S+Úrootz\b(val|and)\b(?!\')Úvnamez\b(fun)\b(?!\'))rT   úmain-funÚfnamer‡   z\sz\b(fun|and)\b(?!\')rˆ   z\b(val)\b(?!\'))rT   rt   r†   rF   z\b(case|handle)\b(?!\'))rT   rt   Úbreakoutz(?=\b(%s)\b(?!\'))ú\(ÚtyvarseqrI   z)(\s*)(=(?!z))z=(?!%s))rT   ÚtypbindrŒ   z\b(and)\b(?!\'))rT   rƒ   z(=)(\s*)(datatype))rT   ÚdatbindÚdatconr�   )rT   r€   z\b(withtype)\b(?!\')z\b(of)\b(?!\')z(\|)(\s*)(%s)z(\|)(\s+)(%s)z(and\b)(\s+)(%s)z(and\b)(\s*)(%s)z)|(rJ   rK   ú\)z[^(*)]ú#pushú\*\)ú[(*)])r�   rŽ   r‹   rr   N),Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesr_   ri   Únonid_reservedÚalphanumid_reÚsymbolicid_rerY   rf   rj   rn   r   r	   Ú	Multiliner   r   rl   Újoinr   ÚCharÚDoubler   ÚHexÚIntegerÚFloatr   ÚLabelÚ	Decoratorr   r   r   r`   ÚFunctionr   ÚVariableÚTypeÚClassÚtokens© rZ   rX   r   r      sç  € € € € € ðð ð €DØˆg€GØ+Ð+Ð+€IØ$Ð&@ÐA€Ið	ð 	ð 	Ððð ð Ðð JÐIÐI€Nà%€MØ0€Mð
ð 
ð 
ð:ð :ð :ð4ð 4ð 4ð)ð )ð )ðzàØ�TˆNØ�gÔ'¨Ð3ð
ðzð 	ð ˜+ vÐ.Ø˜+ vÐ.Ø(¨'Ô*:Ð<LÐMØ,¨gÔ.>ÀÐGØ/°Ô1AÀ6ÐJð
ðzð( 	à�s—x’xÐEÐE°nÐEÑEÔEÑEÔEÑEØðð �F”K Ð(Ø�6”= (Ð+Ø  &¤*Ð-Ø ¤Ð,Ø�v”~Ð&Ø# V¤\Ð2Ø˜FœLÐ)Ø ¤Ð-Ø�v”~Ð&ð   ¤Ð,Ø˜=Ñ(¨$¬*Ð5Ø˜=Ñ(¨$¬*Ð5à,¨gÔ.>ÀÐHØ% wÔ'7¸ÐAØDØÔ˜wð(à'¨Ô)9¸7ÐCð ˜4œ>Ð*Ø˜=Ñ(Ð*:¸HÐEØ�}Ñ$ kÐ2Ø�}Ñ$ kÐ2ð? 
ð)zðj 	Ø˜=Ñ(Ð*:Ð;Ø�}Ñ$ o°vÐ>Ø�}Ñ$ o°vÐ>Ø�UˆOØ�UˆOð
ðkzð~ 	ØˆG�F‰OŒOð
ðzðJ 	ØˆG�LÑ!Ô!ð $ WÔ%5°wÐ?Ø Ô!1Ø*ð,ð ˆG�LÑ!Ô!ØˆG�F‰OŒOØ�UˆOð
ðKzðf 	ØˆG�LÑ!Ô!à�DˆMØ�gÔ'¨Ð3ð $ WÔ%5°wÐ?Ø Ô!1Ø&ð(ð �K Ð)Ø'¨Ô)9Øðð ˆG�LÑ!Ô!ØˆG�F‰OŒOØ�UˆOð%
ðgzðR 	��˜œÑ$Ô$ðSzðT 	�'�'˜&œ-Ñ(Ô(ðUzðX 	Ø" S§X¢XÐ.AÑ%BÔ%BÑBÀDÈ&ÐQð
ðYzðb 	ØˆG�LÑ!Ô!ØˆG�JÑÔà�}Ñ$ d¤nÐ5ØˆG�F‰OŒOð
ðczðt 	ØˆG�LÑ!Ô!Ø˜4œ>Ð*Ø�K Ð,à�}Ñ$ d¤m°VÐ<Ø�}Ñ$ d¤m°VÐ<ð ˆG�F‰OŒOð

ðuzðN 	ØˆG�LÑ!Ô!Ø˜4œ>Ð*Ø�K Ð,Ð,à&3 m m°]°]°]ÐCØˆX�d”m T¨;Ñ7Ô7¸ðAð Aà&3 m m°]°]°]ÐCØˆX�d”m T¨;Ñ7Ô7¸ðAà�}Ñ$ d¤m°VÐ<Ø�}Ñ$ d¤m°VÐ<ð ˆG�F‰OŒOð
ðOzðp 	ØˆG�LÑ!Ô!ØˆG�JÑÔà˜4œ>Ð*Ø�K Ð,Ø˜-Ñ'¨Ð6IÐJà�}Ñ$ g¤lÐ3Ø�}Ñ$ g¤lÐ3Ø�U˜FÐ#ð
ðqzðL 	ØˆG�LÑ!Ô!à Ô!1Ð3DÐEàˆG�JÑÔØˆG�F‰OŒOØ�U˜FÐ#ð
ðMzðb 	ØˆG�LÑ!Ô!ØˆG�JÑÔà˜4œ>Ð*Ø�K Ð,Ø"ØˆX�k 4¨Ô)9Ñ:Ô:¸FðDà˜-Ñ'¨Ø*ð,ð �}Ñ$ g¤lÐ3Ø�}Ñ$ g¤lÐ3Ø�U˜FÐ#ð
ðczðD 	ØˆG�LÑ!Ô!à Ô!1Ð3DÐEØ$ gÔ&6Ð8IÐJØ Ô 0Ð1à Ñ-ØˆX�k 4¨¬Ñ4Ô4ð6à Ñ-ØˆX�k 4¨¬Ñ4Ô4ð6ð ˆG�JÑÔØˆG�F‰OŒOØ�UˆOð
ðEzðj ˆG�LÑ!Ô!à  =Ñ0ØˆX�gÔ&¨¨d¬jÑ9Ô9ð;à  =Ñ0ØˆX�gÔ&¨¨d¬jÑ9Ô9ð;à Ô 0Ð1Ð1Ø*˜]˜]¨M¨M¨MÐ:¸D¼JÐGàˆG�F‰OŒOð
ð ˆG�LÑ!Ô!Ø�}Ñ$ d¤j°&Ð9Ø�}Ñ$ d¤j°&Ð9Ø�U˜FÐ#ð	
ð �DˆMØ�gÔ'¨Ð3à˜4œ>Ð*Ø˜DÐ!Ø�;ÐØ�K Ð(Ø˜DÐ!ð	
ð ˜Ô)Ð*Ø�gÔ'¨Ð1Ø�gÔ'¨Ð0Ø�wÔ(Ð)ð	
ðizð zð z€F€F€FrZ   r   c                   ó$  — e Zd ZdZdZdZdgZg d¢ZdgZdZ	dZ
d	Zd
ZdZdZdZdej        fdej        fdej        fgdefdej        j        fdej        dfdej        fdedfdd                     e	¦  «        z  efdd                     e
ddd…         ¦  «        z  efde›de›de›�efdd                     e¦  «        z  ej        fdd                     e¦  «        z  ej        fdefd ej        fd!ej         fd"ej!        fd#ej"        fd$ej#        fd%ej$        fd&ej$        fd'efd(ej%        d)fd*ej&        fgd+efd,ed-fd.ed/fd0efgd1ej%        f e'd2¦  «        d3ej%        fd(ej%        d/fgdefd4e(fd5ej        fd6ej        d/fd7ed/f e)d/¦  «        gd8œZ*dS )9r   z<
    For the OCaml language.

    .. versionadded:: 0.7
    ÚOCamlzhttps://ocaml.org/Úocaml)z*.mlz*.mliz*.mllz*.mlyztext/x-ocaml)0r   ÚassertÚbeginÚclassÚ
constraintr   ÚdoneÚdowntor'   r    r=   ÚexternalÚfalseÚforr!   Úfunctionr9   r   r   r   ÚinheritÚinitializerÚlazyr"   rd   ÚmethodÚmoduleÚmutableÚnewÚobjectr   r(   Úprivater.   r#   r$   r6   r)   ÚtoÚtrueÚtryr*   Úvaluer%   ÚvirtualÚwhenr0   r+   ))ú!=r@   ú&ú&&rŠ   r�   ú\*ú\+rK   ú-ú-\.rC   ú\.ú\.\.rA   ú::ú:=rD   rL   ú;;ú<ú<-rB   ú>ú>]ú>\}ú\?ú\?\?ú\[ú\[<ú\[>ú\[\|rN   rH   ú`ú\{ú\{<rF   ú\|]ú\}ú~ú[!$%&*+\./:<=>?@^|~-])r   ÚasrÚlandÚlorÚlslÚlxorÚmodÚorú[!?~]ú[=<>@^|&+\*/$%-]©ÚunitÚintÚfloatÚboolr   r~   ÚlistÚarrayú\\[\\"\'ntbr]rR   ú\\x[0-9a-fA-F]{2}rp   úfalse|true|\(\)|\[\]ú\b([A-Z][\w\']*)(?=\s*\.)r„   ú\b([A-Z][\w\']*)ú\(\*(?![)])rr   ú\b(%s)\brw   rv   NéÿÿÿÿrI   ú)?ú[^\W\d][\w']*ú(-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)ú0[xX][\da-fA-F][\da-fA-F_]*ú0[oO][0-7][0-7_]*ú0[bB][01][01_]*ú\d[\d_]*ú7'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'ú'.'ú'rS   r   ú[~?][a-z][\w\']*:ú[^(*)]+rq   r�   r‘   rT   r’   ú[^\\"]+úescape-sequenceú\\\nrÐ   ú[A-Z][\w\']*(?=\s*\.)ú[A-Z][\w\']*ú[a-z_][\w\']*©r  r…   rr   r   r„   )+r“   r”   r•   r–   r—   Úurlr˜   r™   rš   ÚkeywordsÚkeyoptsÚ	operatorsÚword_operatorsÚprefix_symsÚ
infix_symsÚ
primitivesr   rU   r   r   ÚBuiltinÚPseudor`   rª   r	   rŸ   r   r
   ÚWordr©   r   r¤   r¢   ÚOctÚBinr£   r    r¡   r¨   r   r   r   r«   r¬   rZ   rX   r   r   c  sq  € € € € € ðð ð €DØ
€CØˆi€GØ3Ð3Ð3€IØÐ €Ið€Hð€Gð )€IØN€NØ€KØ$€JØT€Jð ˜vœ}Ð-Ø˜FœMÐ*Ø! 6¤=Ð1ð
ð �TˆNØ$ d¤lÔ&9Ð:Ø)¨4¬>¸8ÐDØ  $¤*Ð-Ø˜W iÐ0Ø˜3Ÿ8š8 HÑ-Ô-Ñ-¨wÐ7Ø�s—x’x ¨¨¨"¨¤Ñ.Ô.Ñ.°Ð9Ð9Ø(˜j˜j¨+¨+¨+°y°yÐAÀ8ÐLØ˜3Ÿ8š8 NÑ3Ô3Ñ3°X´]ÐCØ˜3Ÿ8š8 JÑ/Ô/Ñ/°´Ð>à˜tÐ$à8¸&¼,ÐGØ+¨V¬ZÐ8Ø! 6¤:Ð.Ø ¤Ð,Ø˜&œ.Ð)àGØŒ[ðà�V”[Ð!Ø�7ˆOà�6”= (Ð+à! 4¤=Ð1ð7
ð< ˜Ð!Ø�g˜wÐ'Ø�g˜vÐ&Ø�wÐð	
ð ˜œÐ'ØˆGÐ%Ñ&Ô&Ø�f”mÐ$Ø�6”= &Ð)ð	
ð �TˆNØ�KÐ Ø% t¤~Ð6Ø˜dœj¨&Ð1Ø˜t VÐ,ØˆG�F‰OŒOð
ð_7ð 7€F€F€FrZ   r   c                   ó  — e Zd ZdZdZdgZdgZdgZdZdZ	dZ
d	Zi d
dej        fdej        fdej        fg“ddedfdefg“d ed¦  «        defg“d ed¦  «         eedd¬¦  «        efde	z   dz   ej        j        fdej        fdej        fdej        fdej        fdej        fdej        fdej        fdej        fd ej        d!fd"ej        fd#ed$fd%ed&fd'ej        d(fd)ej         fd*e
z   d+z   ej         fd,ej!        fd-e
z   d+z   efd.e
z  efd.ez  efd/ed0fd1e	z   ej"        fd2e	z   ej        fd3ej        fe	efg“d0 ed¦  «        d4ej"        f e#d5¦  «        g“d6 ed¦  «        d7ej"        d8fd9ej"        d:fe	d7z   ej"        d8fe	ej"        d&fd1e	z   ej"        f e#d&¦  «        g“d; ed¦  «         e#d<¦  «        g“d= ed¦  «        d>ej"        d?f e#d&¦  «        g“d@ ed¦  «        d4ej"        dAfdBej"        dCf e#d&¦  «        g“dD ed¦  «        dEej"        d;fd4ej"        dAf e#d&¦  «        g“dF ed¦  «        dGej"        fdHej"        fd7ej"        d$fdIej"        d&fg“dJ ed¦  «        dKej"        fdHej"        fd#ej"        d$fd%ej"        d&fg“ddLefded$fdMed&fdHefg“d!dNej        fd ej        d&fd#edf ed
¦  «        g“dOdPej        fdQej        d&fd#edf ed
¦  «        g“d(dRej        dSfdTej        dUfg“dVdWej        d&fg“defdXej        dYfdZej        d&fdTej        dUfgd1ej        d[fd ej        d\fd2e	z   ej        d&fd3ej        d]fd^ej        d&fd#ed]fgd_ed`fdaej        dbfdcej        d(fd#edfddej        fgdeed&fdfefgdgœ¥Z$dhS )ir   z@
    Lexer for the Opa language.

    .. versionadded:: 1.5
    ÚOpaÚopaz*.opaz
text/x-opa)r   r   r±   r&   ÚclientÚcssÚdatabaseÚdbr   r'   r    r¶   Úforallr¹   r   Úimportrd   r¾   rí   ÚpackageÚparserr#   Úserverr)   r*   r%   r+   Ú
xml_parserz(([a-zA-Z_]\w*)|(`[^`]*`))z[.=\-<>,@~%/+?*&^!]z[()\[\],;|]r  z\\[\\"\'ntr}]rR   rø   Úcommentsz/\*znested-commentz//.*?$zcomments-and-spacesrp   r…   z\b)ÚprefixÚsuffixú@z-?.[\d]+([eE][+\-]?\d+)z-?\d+.\d*([eE][+\-]?\d+)z-?\d+[eE][+\-]?\d+z0[xX][\da-fA-F]+z0[oO][0-7]+z
0[bB][01]+z\d+z#[\da-fA-F]{3,6}rS   r   z9'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2})|.)'rá   r�   rä   rT   z<(?=[a-zA-Z>])zhtml-open-tagz[@?!]?(/\w+)+(\[_\])?z<-(?!rJ   z\b([A-Z]\w*)(?=\.)z=(?!z(%s)+rA   r*   r  r@   z#(?=\{)rC   )rT   ú
type-lhs-1útype-with-slashútype-1rŠ   )rT   ú
type-tuplez~?\{)rT   útype-recordr1  )rT   úslash-type-1r2  r5  ú/)rT   r2  r0  )rT   r*   z(?=,))rT   ú
type-arrowr7  z,(?=[^:]*?->)r3  z[^()/*]+z[/*]r�   r4  z[^{}/*]+ú[^/*]+z\*/z[^\\"{]+úsingle-stringz	[^\\\'{]+z\'z[\w\-:]+)rT   ú	html-attrr×   )rT   úhtml-contentúhtml-end-tagz	[\w\-:]*>z	[\w\-:]+=úhtml-attr-valuez/>)rT   r9  )rT   r   )rT   r…   z[^"\'{`=<>]+z<!--úhtml-commentz</)rT   r<  rÕ   z[^<{]+z-->z[^\-]+|-)r:  r=  r;  r>  N)%r“   r”   r•   r–   r—   r˜   r™   rš   r  Úident_reÚop_reÚpunc_rer   rU   r	   r   r   r   r   r   r  r  r   r¤   r¢   r  r  r£   r¡   r    r
   ÚSingler¨   r`   r©   r   r«   r¬   rZ   rX   r   r   À  sn  € € € € € ðð ð €DØˆg€GØ�	€IØ�€Ið
€Hð -€Hà"€EØ€GðcàØ˜vœ}Ð-Ø˜FœMÐ*Ø! 6¤=Ð1ð
ðcð 	Ø�WÐ.Ð/Ø˜Ð ð
ðcð 	ØˆG�JÑÔØ�TˆNð 
ðcð$ 	ØˆGÐ)Ñ*Ô*àˆU�8 E°%Ð8Ñ8Ô8¸'ÐBð �H‰_˜uÑ$ d¤lÔ&9Ð:ð (¨¬Ð6Ø(¨&¬,Ð7Ø" F¤LÐ1Ø  &¤*Ð-Ø˜VœZÐ(Ø˜FœJÐ'Ø�V”^Ð$à  &¤.Ð1ð �6”= (Ð+ð JØŒ[ðð �H˜gÐ&Ø�H˜fÐ%ð  ¤¨Ð?ð & t¤}Ð5ð �e‰^˜DÑ  $¤-Ð0ð # D¤NÐ3ð �U‰]˜4Ñ Ð)Ø˜Ñ˜xÐ(Ø˜Ñ Ð*ð �8˜VÐ$ð �‰\˜7œ<Ð(ð �(‰]˜FœMÐ*Ø˜œÐ'ð �tÐðcU
ð%cðt 	ØˆGÐ)Ñ*Ô*Ø�G”LÐ!ØˆGÐ=Ñ>Ô>ð
ðucðF 	ØˆGÐ)Ñ*Ô*Ø�G”LÐ"8Ð9Ø�g”lÐ$;Ð<Ø�e‰^˜Wœ\Ð+AÐBØ�w”| VÐ,Ø�‰\˜7œ<Ð(ð
 ˆG�F‰OŒOð
ðGcðh 	ØˆGÐ)Ñ*Ô*ØˆGÐ6Ñ7Ô7ð
ðicðp 	ØˆGÐ)Ñ*Ô*Ø�'”,Ð 2Ð3àˆG�F‰OŒOð	
ðqcðH 	ØˆGÐ)Ñ*Ô*Ø�G”LÐ"2Ð3Ø�w”|Ð%;Ð<ØˆG�F‰OŒOð	
ðIcðT 	ØˆGÐ)Ñ*Ô*ð ˜wœ|Ð->Ð?Ø�G”LÐ"2Ð3àˆG�F‰OŒOð
ðUcðt 	ØˆGÐ)Ñ*Ô*Ø˜'œ,Ð'Ø�g”lÐ#Ø�G”L 'Ð*Ø�G”L &Ð)ð
ðucðB 	ØˆGÐ)Ñ*Ô*Ø˜'œ,Ð'Ø�g”lÐ#Ø�G”L 'Ð*Ø�G”L &Ð)ð
ðCcðx 	Ø˜Ð Ø�W˜gÐ&Ø�W˜fÐ%Ø�gÐð	
ðycðJ 	Ø˜&œ-Ð(Ø�6”= &Ð)Ø�H˜fÐ%ØˆGÐ%Ñ&Ô&ð	
ðKcðV 	Ø˜6œ=Ð)Ø�F”M 6Ð*Ø�H˜fÐ%ØˆGÐ%Ñ&Ô&ð	
ðWcðp 	Ø˜&œ-Ð)>Ð?Ø�6”=Ð":Ð;ð
ðqcð~ 	à˜6œ=¨&Ð1ð
ðcðN �TˆNØ˜6œ=Ð*;Ð<Ø�F”M 6Ð*Ø�6”=Ð":Ð;ð	
ð �6”=Ð";Ð<Ø�6”=Ð"4Ð5Ø�(‰]˜FœM¨6Ð2Ø˜œÐ(8Ð9Ø˜fœm¨VÐ4Ø�HÐ.Ð/ð
ð �g˜~Ð.Ø�F”MÐ#;Ð<Ø�6”= /Ð2Ø�H˜fÐ%Ø˜œÐ&ð
ð �W˜fÐ%Ø˜'Ð"ð
ðcð cð c€F€F€FrZ   r   c                   ór  — e Zd ZdZdZdZddgZddgZdgZd	Z	d
Z
dZdZdZdZdZdej        fdej        fdej        fgdefdej        j        fdej        dfdej        fdej        fdej        dfdd                     e	¦  «        z  efdd                     e
ddd…         ¦  «        z  ej        fd e›de›d!e›�efdd                     e¦  «        z  ej        fdd                     e¦  «        z  ej        fd"efd#e j!        fd$e j"        fd%e j#        fd&e j$        fd'e j%        fd(ej&        fd)ej&        fd*efd+ej'        d,fd-ej(        fgd.ej        fd/ej        d0fd1ej        d2fd3ej        fgd4ej'        f e)d5¦  «        d6ej'        fd+ej'        d2fgdefd7e*fd8ej        fd9ej        d2fd:ed2f e+d2¦  «        gd;œZ,dS )<r   z?
    For the ReasonML language.

    .. versionadded:: 2.6
    ÚReasonMLzhttps://reasonml.github.io/ÚreasonmlÚreasonz*.rez*.reiztext/x-reasonml)0r   r°   r±   r²   r³   r   r´   rµ   r'   r    r=   r¶   r·   r¸   r!   Úesfunr¹   r9   r   r   r   rº   r»   r¼   r"   Úswitchr¾   Úpubr¿   rÀ   ÚnonrecrÁ   r   r(   Úprir#   r$   r6   r)   rÃ   rÄ   rÅ   r*   r%   rÇ   rÈ   r0   r+   )+rÉ   r@   rÊ   rË   rŠ   r�   rÌ   rÍ   rK   rÎ   rÏ   rE   rÐ   rÑ   z\.\.\.rA   rÒ   rÓ   rD   rL   rÔ   rÕ   rÖ   rB   r×   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rß   rN   rH   rà   rá   râ   rF   z\|\|rã   rä   rå   ræ   )	r   rç   rè   ré   rê   Úlsrrë   rì   rí   rî   rï   rð   r÷   rR   rø   rp   rù   rú   r„   rû   z//.*?\nz	\/\*(?!/)rr   rý   rw   rv   Nrþ   rI   rÿ   r   r  r  r  r  r  r  r  r  rS   r   r	  r8  z\/\*r�   z\*\/rT   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   rU   r   r   r  r  r`   rª   r	   rB  rž   rŸ   r   r
   r  r©   r   r¤   r¢   r  r  r£   r    r¡   r¨   r   r   r   r«   r¬   rZ   rX   r   r     sŽ  € € € € € ðð ð €DØ
'€CØ˜8Ð$€GØ˜Ð!€IØ"Ð#€Ið€Hð€Gð )€IØU€NØ€KØ$€JØT€Jð ˜vœ}Ð-Ø˜FœMÐ*Ø! 6¤=Ð1ð
ð �TˆNØ$ d¤lÔ&9Ð:Ø)¨4¬>¸8ÐDØ  $¤*Ð-Ø˜œÐ(Ø˜7Ô,¨iÐ8Ø˜3Ÿ8š8 HÑ-Ô-Ñ-¨wÐ7Ø�s—x’x ¨¨¨"¨¤Ñ.Ô.Ñ.°´Ð>Ð>Ø(˜j˜j¨+¨+¨+°y°yÐAÀ8ÐLØ˜3Ÿ8š8 NÑ3Ô3Ñ3°X´]ÐCØ˜3Ÿ8š8 JÑ/Ô/Ñ/°´Ð>à˜tÐ$à8¸&¼,ÐGØ+¨V¬ZÐ8Ø! 6¤:Ð.Ø ¤Ð,Ø˜&œ.Ð)àGØŒ[ðà�V”[Ð!Ø�7ˆOà�6”= (Ð+à! 4¤=Ð1ð9
ð> ˜Ô)Ð*Ø�gÔ'¨Ð1Ø�gÔ'¨Ð0Ø�GÔ%Ð&ð	
ð ˜œÐ'ØˆGÐ%Ñ&Ô&Ø�f”mÐ$Ø�6”= &Ð)ð	
ð �TˆNØ�KÐ Ø% t¤~Ð6Ø˜dœj¨&Ð1Ø˜t VÐ,ØˆG�F‰OŒOð
ða8ð 8€F€F€FrZ   r   c                   ó€  — e Zd ZdZdZdZdgZddgZdgZdZ	d	Z
d
ZdZdZdZdZdZdej        fdej        fdej        fgdefdej        j        fdej        dfdej        fdedfdefdd                     e	¦  «        z  efdd                     e¦  «        z  ej        fdd                     e
¦  «        z  ej        fdd                     eddd…         ¦  «        z  efd e›de›d!e›�efdd                     e¦  «        z  ej        fd"efd#e j!        fd$e j"        fd%e j#        fd&e j$        fd'e j%        fd(ej&        fd)ej&        fd*efd+ej'        fd,efd-ej(        d.fd/ej)        fgd0efd1ed2fd3ed4fd5efgd6ej(        f e*d7¦  «        d8ej(        fd-ej(        d4fgdefd9e+fd:ej        fd;ej        d4fd<ed4f e,d4¦  «        gd=œZ-dS )>r   z8
    For the F* language.
    .. versionadded:: 2.7
    ÚFStarzhttps://www.fstar-lang.org/Úfstarz*.fstz*.fstiztext/x-fstar)5ÚabstractÚ
attributesÚnoeqÚunopteqÚandbeginÚbyr   Úeffectr'   r    Úensuresr=   Úexistsr·   r&  r!   r¹   r   r   r   ÚinlineÚinline_for_extractionÚirreducibleÚlogicrd   r¾   r¿   rÀ   Ú
new_effectÚ	noextractr   r(   ÚopaquerÂ   Úrange_ofÚ	reifiableÚreifyÚreflectableÚrequiresÚset_range_ofÚ
sub_effectÚsynthr)   ÚtotalrÄ   rÅ   r*   ÚunfoldÚ
unfoldabler%   rÈ   r+   Únot)r"   r#   )ÚassumeÚadmitr°   Úcalc)/rå   rÎ   z/\\z\\/z<:z<@z\(\|z\|\)r@   zu#rÊ   rŠ   r�   z\(\)rK   z~>rC   rÖ   z<--z<==>z==>rÐ   rÚ   z\?\.z\.\[z\.\(z\.\(\|z\.\[\|z
\{:patternrA   rÒ   rÓ   rL   rÔ   rB   z%\[z!\{rÜ   z\[@rß   z\|>z\]z\|\]rá   rF   rä   z\$ræ   rî   rï   rð   r÷   rR   rø   rp   zfalse|true|False|True|\(\)|\[\]rú   r„   rû   rü   rr   z\/\/.+$rý   rw   rv   Nrþ   rI   rÿ   r   r  r  r  r  r  r  r  r  z\`([\w\'.]+)\`z\`rS   r   r	  r
  rq   r�   r‘   rT   r’   r  r  r  rÐ   r  r  r  r  ).r“   r”   r•   r–   r—   r  r˜   r™   rš   r  Údecl_keywordsÚassume_keywordsr  r  r  r  r  r   rU   r   r   r  r  r`   rª   r	   rŸ   r   Ú	ExceptionÚDeclarationr
   r©   r   r¤   r¢   r  r  r£   r    r  r¡   r¨   r   r   r   r«   r¬   rZ   rX   r   r   `  s®  € € € € € ðð ð
 €DØ
'€CØˆi€GØ˜(Ð#€IØÐ €Ið
€Hð #€MØ;€Oð€Gð )€IØ€KØ$€JØT€Jð ˜vœ}Ð-Ø˜FœMÐ*Ø! 6¤=Ð1ð
ð �TˆNØ/°´Ô1DÐEØ)¨4¬>¸8ÐDØ  $¤*Ð-Ø˜W iÐ0Ø˜Ð!Ø˜3Ÿ8š8 HÑ-Ô-Ñ-¨wÐ7Ø˜3Ÿ8š8 OÑ4Ô4Ñ4°d´nÐEØ˜3Ÿ8š8 MÑ2Ô2Ñ2°GÔ4GÐHØ�s—x’x ¨¨¨"¨¤Ñ.Ô.Ñ.°Ð9Ð9Ø(˜j˜j¨+¨+¨+°y°yÐAÀ8ÐLØ˜3Ÿ8š8 JÑ/Ô/Ñ/°´Ð>à˜tÐ$à8¸&¼,ÐGØ+¨V¬ZÐ8Ø! 6¤:Ð.Ø ¤Ð,Ø˜&œ.Ð)àGØŒ[ðà�V”[Ð!Ø�7ˆOØ ¤Ð.Ø�GÐØ�6”= (Ð+à! 4¤=Ð1ð=
ðB ˜Ð!Ø�g˜wÐ'Ø�g˜vÐ&Ø�wÐð	
ð ˜œÐ'ØˆGÐ%Ñ&Ô&Ø�f”mÐ$Ø�6”= &Ð)ð	
ð �TˆNØ�KÐ Ø% t¤~Ð6Ø˜dœj¨&Ð1Ø˜t VÐ,ØˆG�F‰OŒOð
ðe:ð :€F€F€FrZ   r   )r–   ry   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   Ú__all__r   r   r   r   r   r¬   rZ   rX   ú<module>rv     sÊ  ððð ð 
€	€	€	à HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð NÐ
MÐ
M€ðLð Lð Lð Lð Lˆzñ Lô Lð Lð^
Zð Zð Zð Zð Z�ñ Zô Zð Zðz@ð @ð @ð @ð @ˆzñ @ô @ð @ðF
Zð Zð Zð Zð Z�*ñ Zô Zð Zðz`ð `ð `ð `ð `�ñ `ô `ð `ð `ð `rZ   