Ë
    |í¼e   ã                   ól   — 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 dgZ G d„ de«      Zy)zÊ
    pygments.lexers.rust
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for the Rust language.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚbygroupsÚwordsÚdefault)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚ	RustLexerc                   óH  — e Zd ZdZdZdZddgZddgZdd	gZ e	d
d¬«      e
j                  fZ e	dd¬«      ej                  fZ e	dd¬«      ej                   j"                  fZdej(                  f ed«      gg def‘def‘dej0                  f‘dej0                  f‘dej2                  f‘dej0                  df‘dej0                  df‘dej4                  df‘dej(                  f‘ e	dd¬«      e
f‘ e	dd¬«      e
j6                  f‘de
j8                  f‘d ej                  j:                  f‘d!e
d"f‘d#e
j<                  f‘d$e
d%f‘d&e
d'f‘d( ee
e e
«      f‘e‘d)ej                  j:                  f‘e‘e‘d*e f‘d+e d'f‘d, ee
e j,                  ejB                  «      f‘d-ejD                  f‘d.ejD                  f‘d/e#jH                  d0f‘d1e#jJ                  d0f‘d2e#jL                  d0f‘d3e#jN                  d0f‘d4e#jP                  d0f‘d5ed6f‘d7ed8f‘d9ef‘d:e)d;f‘d<e)f‘d=e*f‘d>e)f‘d?ef‘d@ef‘dAej(                  dBf‘dCe f‘dDej4                  fdej4                  dEfdFej4                  dGfdHej4                  fgdDej0                  fdej0                  dEfdFej0                  dGfdHej0                  fgde fd?ejV                  dGf edG«      gde fd?ej                   dGf edG«      gde fdIe
j:                  fd:e)d;feed?ejX                  dGf edG«      gdJej                  fdKejZ                  f edG«      gdLe
dGfdMe
dGf edG«      gd7edGfdNej\                  fdOefdPefgdQej\                  f e/d8«      gd7ed8fdRej(                  dBfg e/dS«      dTej(                  dGfdUej(                  fgdVœZ0yW)Xr   z\
    Lexer for the Rust programming language (version 1.47).

    .. versionadded:: 1.6
    ÚRustzhttps://www.rust-lang.org/z*.rsz*.rs.inÚrustÚrsz	text/rustztext/x-rust)Úu8Úu16Úu32Úu64Úu128Úi8Úi16Úi32Úi64Úi128ÚusizeÚisizeÚf32Úf64ÚcharÚstrÚboolz\b)Úsuffix)$ÚCopyÚSendÚSizedÚSyncÚUnpinÚDropÚFnÚFnMutÚFnOnceÚdropÚBoxÚToOwnedÚCloneÚ	PartialEqÚ
PartialOrdÚEqÚOrdÚAsRefÚAsMutÚIntoÚFromÚDefaultÚIteratorÚExtendÚIntoIteratorÚDoubleEndedIteratorÚExactSizeIteratorÚOptionÚSomeÚNoneÚResultÚOkÚErrr   ÚToStringÚVec)2ÚasmÚassertÚ	assert_eqÚ	assert_neÚcfgÚcolumnÚcompile_errorÚconcatÚconcat_identsÚdbgÚdebug_assertÚdebug_assert_eqÚdebug_assert_neÚenvÚeprintÚeprintlnÚfileÚformatÚformat_argsÚformat_args_nlÚ
global_asmr   Úinclude_bytesÚinclude_strÚis_aarch64_feature_detectedÚis_arm_feature_detectedÚis_mips64_feature_detectedÚis_mips_feature_detectedÚis_powerpc64_feature_detectedÚis_powerpc_feature_detectedÚis_x86_feature_detectedÚlineÚllvm_asmÚ
log_syntaxÚmacro_rulesÚmatchesÚmodule_pathÚ
option_envÚpanicÚprintÚprintlnÚ	stringifyÚthread_localÚtodoÚtrace_macrosÚunimplementedÚunreachableÚvecÚwriteÚwritelnú!z#![^[\r\n].*$Úbasez\nz\s+z//!.*?\nz///(\n|[^/].*?\n)z	//(.*?)\nz/\*\*(\n|[^/*])Ú
doccommentz/\*!z/\*Úcommentz\$([a-zA-Z_]\w*|\(,?|\),?|,?))ÚasÚasyncÚawaitÚboxÚconstÚcrateÚdynÚelseÚexternÚforÚifÚimplÚinÚloopÚmatchÚmoveÚmutÚpubÚrefÚreturnÚstaticÚsuperÚtraitÚunsafeÚuseÚwhereÚwhile)ÚabstractÚbecomeÚdoÚfinalÚmacroÚoverrideÚprivÚtypeofÚtryÚunsizedÚvirtualÚyieldz(true|false)\bzself\bzmod\bÚmodnamezlet\bzfn\bÚfuncnamez(struct|enum|type|union)\bÚtypenamez(default)(\s+)(type|fn)\bz	[sS]elf\bz::\bz(?::|->)z((break|continue)(\b\s*)(\'[A-Za-z_]\w*)?zA'(\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'z@b'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'z0b[01_]+Ú
number_litz	0o[0-7_]+z0[xX][0-9a-fA-F_]+zJ[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)z[0-9][0-9_]*zb"Ú
bytestringú"Ústringz(?s)b?r(#*)".*?"\1ú'Úlifetimez\.\.=?z[{}()\[\],.;]z[+\-*/%&|<>^!~@=:?]z[a-zA-Z_]\w*zr#[a-zA-Z_]\w*z#!?\[ú
attribute[ú#z[^*/]+z#pushz\*/z#popz[*/]ú&z
(static|_)z[a-zA-Z_]+\w*z[ui](8|16|32|64|size)zf(32|64)z;\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}z[^\\"]+z\\z\\x[89a-fA-F][0-9a-fA-F]z\[Úattribute_commonz\]z	[^"\]\[]+)Úrootr}   r   r~   r§   r¨   r©   r¯   rª   r­   r«   r³   r°   N)1Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚ	filenamesÚaliasesÚ	mimetypesr   r   ÚTypeÚkeyword_typesr   ÚBuiltinÚbuiltin_funcs_typesÚFunctionÚMagicÚbuiltin_macrosr	   ÚPreprocr   r   r   ÚDocÚSingleÚ	MultilineÚReservedÚConstantÚPseudoÚDeclarationr   r   ÚLabelÚCharr   ÚBinÚOctÚHexÚFloatÚIntegerr
   r   Ú	NamespaceÚClassÚ	AttributeÚEscaper   Útokens© ó    ú6/usr/lib/python3/dist-packages/pygments/lexers/rust.pyr   r      sG  „ ñð
 €DØ
&€CØ˜Ð#€IØ�tˆn€GØ˜mÐ,€Iáð ð ôð —l‘lð$€Mñ
 !ð "ð ôð —l‘lð$Ðñ ð ð" ô#ð" —]‘]×(Ñ(ð#*€Nð. ˜wŸ™Ð/Ù�F‹Oð	
ðW
à�JÐðW
ð �ZÐ ðW
ð ˜&Ÿ*™*Ð%ð	W
ð
 " 6§:¡:Ð.ðW
ð ˜7Ÿ>™>Ð*ðW
ð   §¡¨\Ð:ðW
ð �f—j‘j ,Ð/ðW
ð �W×&Ñ&¨	Ð2ðW
ð 2°7·?±?ÐCðW
ñ ð Ið  ô	!ð #*ð	+ðW
ñ& ð Làô!à")×"2Ñ"2ð4ð'W
ð,  × 0Ñ 0Ð1ð-W
ð. ˜Ÿ™×+Ñ+Ð,ð/W
ð0 �w 	Ð*ð1W
ð2 �w×*Ñ*Ð+ð3W
ð4 �g˜zÐ*ð5W
ð6 +¨G°ZÐ@ð7W
ð8 *©8°G¸TÀ7Ó+KÐLð9W
ð: ð;W
ð< ˜4Ÿ<™<×.Ñ.Ð/ð=W
ð@  ðAW
ðB ðCW
ðF �dˆOðGW
ðJ ˜$ 
Ð+ðKW
ðN 9Ù�g˜tŸ™°·
±
Ó;ð=ðOW
ðV1à�[‰[ððWW
ð\1à�[‰[ðð]W
ðf ˜&Ÿ*™* lÐ3ðgW
ðj ˜6Ÿ:™: |Ð4ðkW
ðn # F§J¡J°Ð=ðoW
ðr3Ø4:·L±LØððsW
ðx ˜fŸn™n¨lÐ;ðyW
ð~ �F˜LÐ)ðW
ð@ �6˜8Ð$ðAW
ðB # FÐ+ðCW
ðH �8˜ZÐ(ðIW
ðN ˜Ð!ðOW
ðP ˜{Ð+ðQW
ðR $ XÐ.ðSW
ðX ˜dÐ#ðYW
ð\  Ð%ð]W
ðb �w—‘¨Ð5ðcW
ðl �4ˆLðmW
ðr ˜×)Ñ)Ð*Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�g×'Ñ'Ð(ð	
ð ˜Ÿ
™
Ð#Ø�V—Z‘Z Ð)Ø�V—Z‘Z Ð(Ø�f—j‘jÐ!ð	
ð �TˆNØ˜dŸn™n¨fÐ5Ù�F‹Oð
ð �TˆNØ˜dŸm™m¨VÐ4Ù�F‹Oð
ð �TˆNØ�7—>‘>Ð"Ø�8˜ZÐ(ØØØ˜dŸj™j¨&Ð1Ù�F‹Oð
ð ˜DŸL™LÐ)Ø˜tŸ~™~Ð.Ù�F‹Oð
ð & w°Ð7Ø˜' 6Ð*Ù�F‹Oð
ð �6˜6Ð"ð-Ø.4¯m©mð=à˜Ð Ø�FˆOð
ð -¨f¯m©mÐ<Ù�HÓð
ð
 �6˜8Ð$Ø�G—O‘O \Ð2ð
ñ
 Ð&Ó'Ø�G—O‘O VÐ,Ø˜7Ÿ?™?Ð+ð
ño\�FrÚ   N)r¸   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   Ú__all__r   rÙ   rÚ   rÛ   ú<module>rß      s9   ðñ÷ IÕ H÷$÷ $õ $ð ˆ-€ôM�
õ MrÚ   