Ë
    |í¼eò5  ã                   óš   — d Z ddl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 g d¢Z G d„ de«      Z G d„ de«      Z G d	„ d
e«      Zy)a'  
    pygments.lexers.minecraft
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Minecraft related languages.
    
    SNBT. A data communication format used in Minecraft.
    wiki: https://minecraft.wiki/w/NBT_format
    
    MCFunction. The Function file for Minecraft Data packs and Add-ons.
    official: https://learn.microsoft.com/en-us/minecraft/creator/documents/functionsintroduction
    wiki: https://minecraft.wiki/w/Function
    
    MCSchema. A kind of data Schema for Minecraft Add-on Development.
    official: https://learn.microsoft.com/en-us/minecraft/creator/reference/content/schemasreference/
    community example: https://www.mcbe-dev.net/addons/data-driven/manifest.html

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚdefaultÚincludeÚbygroups)
ÚCommentÚKeywordÚLiteralÚNameÚNumberÚOperatorÚPunctuationÚStringÚTextÚ
Whitespace)Ú	SNBTLexerÚMCFunctionLexerÚMCSchemaLexerc                   óR  — e Zd ZdZdZdZdgZdgZdgZde	dfd	e
fgd
efgde	fgdej                  fdej                  fdej                  fdej                   fdej$                  dfdej&                  dfgdej(                  fdej$                  fdej$                  dfgdej(                  fdej&                  fdej&                  dfgdej,                  f ed«       ed«       ed«      de	dfde	dfde	dfgdej,                  f ed«       ed«       ed«      de	dfde	dfd e	dfgd!œZy")#r   z]Lexer for stringified NBT, a data format used in Minecraft

    .. versionadded:: 2.12.0
    ÚSNBTz#https://minecraft.wiki/w/NBT_formatÚsnbtz*.snbtz	text/snbtú\{Úcompoundz[^\{]+ú\s+z[,:;]ú(true|false)z-?\d+[eE]-?\d+z-?\d*\.\d+[fFdD]?z-?\d+[bBsSlLfFdD]?ú"úliterals.string_doubleú'úliterals.string_singleú\\.ú	[^\\"\n]+ú#popú	[^\\'\n]+z
[A-Z_a-z]+Ú	operatorsÚ
whitespaceÚliteralsz#pushú\[Úlistú\}ú\])Úrootr$   r#   r%   r   r   r   r'   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesr   r   r   r   ÚConstantr   ÚFloatÚIntegerr   ÚDoubleÚSingleÚEscaper
   Ú	Attributer   Útokens© ó    ú;/usr/lib/python3/dist-packages/pygments/lexers/minecraft.pyr   r      s¬  „ ñð
 €DØ
/€CØˆh€GØ�
€IØ�€Ið �K Ð,Ø˜Ðð	
ð �ZÐ ð
ð
 �{Ð#ð
ð
 ˜g×.Ñ.Ð/Ø §¡Ð-Ø! 6§<¡<Ð0Ø" F§N¡NÐ3ð �6—=‘=Ð":Ð;Ø�6—=‘=Ð":Ð;ð	
ð �V—]‘]Ð#Ø˜6Ÿ=™=Ð)Ø�6—=‘= &Ð)ð#
ð �V—]‘]Ð#Ø˜6Ÿ=™=Ð)Ø�6—=‘= &Ð)ð#
ð ˜DŸN™NÐ+Ù�KÓ Ù�LÓ!Ù�JÓØ�K Ð)Ø�K Ð(Ø�K Ð(ð

ð ˜DŸN™NÐ+Ù�JÓÙ�KÓ Ù�LÓ!Ø�K Ð)Ø�K Ð,Ø�K Ð(ð
ñc:�Fr=   r   c                   óD  — e Zd ZdZdZdZddgZdgZdgZdZ	i d	 e
d
«       e
d«       e
d«       e
d«       e
d«       e
d«       e
d«      g“d
d eeej                  «      fdej                  fdej                  f e
d«      dej"                  fdej                  j$                  fg“ddej&                  fdej&                  fg“ddefg“dde	› d�ej*                  dfdej,                  fg“dde	› �ej*                  d fdej*                  d!f ed"«      g“d! e
d#«      d$ej*                  fd%ed"f e
d«      g“d  e
d#«      d$ej4                  fd%ed"f e
d«      g“d#d&ej6                  f e
d«      dej                  j$                  fg“dd'efg“dd(efd)ej<                  fd*ej                  j>                  fd+e jB                  fd,e jD                  fd-e jF                  fd.ejH                  d/fd0ej,                  d1fg“d/d2ejJ                  fd3ejH                  fd.ejH                  d"fg“d1d2ejJ                  fd4ej,                  fd0ej,                  d"fg“dd5ej                  fg“dd6e&d7fd8e&d9fg“d: e
d«       e
d«      d;e&d"fg“d< e
d«       e
d«      d=e&d"fd>e&fg“ e
d«      d?ejN                  d@fdAejN                  d@fdBejN                  d@fd.ejN                  d@d/fd0ejN                  d@d1fdCe jF                  d@f ed"«      gd2ejJ                  fd3ejN                  fd.ejN                  d"fgd2ejJ                  fd4ejN                  fd0ejN                  d"fg e
d«      dDe&dEfd>e&f ed"«      g e
d«      dFejP                  fdAejP                  f e
d«       e
d«       ed"«      gdGœ¥Z)yH)Ir   zÑLexer for the mcfunction scripting language used in Minecraft
    Modelled somewhat after the `GitHub mcfunction grammar <https://github.com/Arcensoth/language-mcfunction>`_.

    .. versionadded:: 2.12.0
    Ú
MCFunctionz!https://minecraft.wiki/w/CommandsÚ
mcfunctionÚmcfz*.mcfunctionztext/mcfunctionz[>!]r*   ÚnamesÚcommentsr%   r$   Úpropertyr#   Ú	selectorsz^(\s*)([a-z_]+)z(?<=run)\s+[a-z_]+z$\b[0-9a-fA-F]+(?:-[0-9a-fA-F]+){4}\bzresource-namez[A-Za-z_][\w.#%$]+z[#%$][\w.#%$]+z#?[a-z_][a-z_.-]*:[a-z0-9_./-]+z"#?[a-z0-9_\.\-]+\/[a-z0-9_\.\-\/]+r   z^\s*(#ú))úcomments.blockúcomments.block.emphasizedz#.*$rH   z^\s*#rI   zcomments.block.normalr!   zcomments.block.specialz\S+ú\nz@\S+z[\-~%^?!+*<>\\/|&=.]z\.\.r   z
[A-Za-z_]+z[0-7]bz%[+-]?\d*\.?\d+([eE]?[+-]?\d+)?[df]?\bz
[+-]?\d+\br   zliterals.string-doubler   zliterals.string-singler   r    r"   z@[a-z]r   )úproperty.curlyúproperty.keyr&   )úproperty.squarerL   rK   r(   rM   r)   ú,z-#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+(?=\s*\=)úproperty.delimiterz#?[a-z_][a-z0-9_\.\-/]+z[A-Za-z_\-\+]+z-?\d+z[:=]!?úproperty.valuez$#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+)rL   zproperty.key.string-doublezproperty.key.string-singlerO   rP   N)*r+   r,   r-   r.   r/   r0   r1   r2   r3   Ú_block_comment_prefixr   r   r   r
   ÚBuiltinÚVariabler   r4   ÚMagicÚFunctionr   Ú	Multiliner8   r   r   r   ÚDocÚ	Decoratorr   r	   ÚPseudoÚClassr   ÚByter5   r6   r7   r9   r   r:   ÚTagr;   r<   r=   r>   r   r   f   sY  „ ñð €DØ
-€CØ˜UÐ#€GØÐ €IØ"Ð#€Ið #ÐðIØÙ�GÓÙ�JÓÙ�JÓÙ�LÓ!Ù�JÓÙ�KÓ Ù�KÓ ð
ðIð 	ð  ¡¨*°d·l±lÓ!CÐDØ" D§L¡LÐ1ð 5°d·m±mÐDÙ�OÓ$ð # G×$4Ñ$4Ð5Ø §¡× 3Ñ 3Ð4ð
ðIð6 	à/°·±Ð?ð 3°D·M±MÐBð
ð7IðF 	Ø�ZÐ ð
ðGIðN 	ØÐ,Ð-¨QÐ/°×1BÑ1BØ<ð>à�g—n‘nÐ%ð
ðOIðX 	ØÐ+Ð,Ð-¨w×/@Ñ/@Ø(ð*à�w×(Ñ(Ð*AÐBÙ�F‹Oð	
ðYIðd 	 ÙÐ,Ó-Ø�W×&Ñ&Ð'Ø�D˜&Ð!Ù�LÓ!ð	"
ðeIðp 	$ÙÐ,Ó-Ø�V—Z‘ZÐ Ø�D˜&Ð!Ù�LÓ!ð	&
ðqIð| 	!à�d—n‘nÐ%á�OÓ$ð  §¡× 3Ñ 3Ð4ð#
ð}IðP 	Ø$ hÐ/ð
ðQIðX 	Ø�gÐØ˜gŸn™nÐ-ð ˜DŸM™M×/Ñ/Ð0à˜Ÿ™Ð$Ø5°v·|±|ÐDØ˜FŸN™NÐ+Ø�6—=‘=Ð":Ð;Ø�6—=‘=Ð":Ð;ð
ðYIðr 	!Ø�V—]‘]Ð#Ø˜6Ÿ=™=Ð)Ø�6—=‘= &Ð)ð#
ðsIð| 	!Ø�V—]‘]Ð#Ø˜6Ÿ=™=Ð)Ø�6—=‘= &Ð)ð#
ð}IðH 	Ø˜Ÿ™Ð&ð
ðIIð@ 	ð �KÐ!CÐDØ�KÐ!DÐEð
ðAIðR 	Ù�LÓ!Ù�JÓØ�K Ð(ð
ðSIð\ 	Ù�LÓ!Ù�JÓØ�K Ð(ð �;Ðð
ð]Iñn �LÓ!ð
 >¸t¿~¹~ÐOcÐdØ'¨¯©Ð9MÐNð  §¡Ð0DÐEð �4—>‘>Ð#7Ð9QÐRØ�4—>‘>Ð#7Ð9QÐRð �v—~‘~Ð';Ð<á�F‹Oð'
ð, �V—]‘]Ð#Ø˜4Ÿ>™>Ð*Ø�4—>‘> 6Ð*ð'
ð �V—]‘]Ð#Ø˜4Ÿ>™>Ð*Ø�4—>‘> 6Ð*ð'
ñ �LÓ!à˜Ð%5Ð6Ø�;Ðá�F‹Oð
ñ �LÓ!ð 5°d·h±hÐ?Ø'¨¯©Ð2á�JÓÙ�JÓá�F‹Oð
ò{I�Fr=   r   c            #       ó  — e Zd ZdZdZdZdgZdgZdgZde	fde
j                  fd	e
j                  fg ed
«      dej                  dfdedf ed«      gde	dfgdej$                  fdej                  dfdej                  fgdej$                  fdej&                  dfdej&                  fgdedf ed
«      dej*                  fdej.                  fdej2                  fdej4                  fdej6                  fdej8                  fdej:                  fdefdedfd edfd!efdej                  d"fdej&                  d#fd$ej>                  fd% e ej>                  eej8                  eej8                  eej8                  eeee«      fd&efgd'œZ!y())r   z~Lexer for Minecraft Add-ons data Schemas, an interface structure standard used in Minecraft

    .. versionadded:: 2.14.0
    ÚMCSchemazWhttps://learn.microsoft.com/en-us/minecraft/creator/reference/content/schemasreference/Úmcschemaz
*.mcschemaztext/mcschemar   z//.*?$z	/\*.*?\*/Úcommentsandwhitespacez7/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gimuysd]+\b|\B)r!   z(?=/))r!   ÚbadregexrJ   r   r   z[^\\']+r   z[^\\"]+z^(?=\s|/|<!--)Úslashstartsregexz
(?<=: )optz(?<=\s)[\w-]*(?=(\s+"|\n))z
0[bB][01]+z0[oO]?[0-7]+z0[xX][0-9a-fA-F]+z\d+z#(\.\d+|\d+\.\d*|\d+)([eE][-+]?\d+)?z	\.\.\.|=>zP\+\+|--|~|\?\?=?|\?|:|\\(?=\n)|(<<|>>>?|==?|!=?|(?:\*\*|\|\||&&|[-<>+*%&|^/]))=?z[{(\[;,]z[})\].]ÚsinglestringÚdoublestringz[\w-]*?(?=:\{?\n)z�([\w-]*?)(:)(\d+)(?:(\.)(\d+)(?:(\.)(\d+)(?:(\-)((?:[^\W_]|-)*(?:\.(?:[^\W_]|-)*)*))?(?:(\+)((?:[^\W_]|-)+(?:\.(?:[^\W_]|-)+)*))?)?)?(?=:\{?\n)z.*\n)r`   rb   ra   rc   rd   r*   N)"r+   r,   r-   r.   r/   r0   r1   r2   r3   r   r   r8   rV   r   r   ÚRegexr   r   r9   r7   r   ÚWordr   ÚDeclarationr   ÚBinÚOctÚHexr6   r5   r   ÚSymbolr   r;   r<   r=   r>   r   r   B  sp  „ ñð
 €DØ
c€CØˆl€GØ�€IØ Ð!€Ið �ZÐ Ø˜Ÿ™Ð'Ø˜7×,Ñ,Ð-ð"
ñ Ð+Ó,ð"Ø#)§<¡<°ð9à�tÐ1Ð2Ù�F‹Oð
ð �J Ð'ð
ð �V—]‘]Ð#Ø�6—=‘= &Ð)Ø˜Ÿ™Ð'ð
ð �V—]‘]Ð#Ø�6—=‘= &Ð)Ø˜Ÿ™Ð'ð
ð  Ð&8Ð9ÙÐ+Ó,ð ˜HŸM™MÐ*Ø*¨G×,?Ñ,?Ð@ð ˜FŸJ™JÐ'Ø˜fŸj™jÐ)Ø! 6§:¡:Ð.Ø�V—^‘^Ð$Ø3°V·\±\ÐBð ˜;Ð'ðBØCKÐM_ðaà˜+Ð'9Ð:Ø˜Ð%ð �6—=‘= .Ð1Ø�6—=‘= .Ð1ð " 6§=¡=Ð1ð `ñ  bjð  kq÷  kxñ  kxð  zBð  DJ÷  DRñ  DRð  T\ð  ^d÷  ^lñ  ^lð  nvð  x~÷  xFñ  xFð  HPð  RXð  Zbð  djó  bkð  là�dˆOðA!
ñ5<�Fr=   r   N)r.   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Ú__all__r   r   r   r<   r=   r>   ú<module>ro      sU   ðñ÷* BÓ A÷*÷ *÷ *ò <€ôF�
ô FôRY�jô YôxH�Jõ Hr=   