+
    IV-jë¤  ã                   óÄ  € R t ^ RIt^ RIHtHtHtHtHtHtH	t	 ^ RI
HtHt ^ RIHt ^ RIHtHtHtHtHtHtHtHtHtHt . R#Ot ! R R]4      tR t ! R R]4      t ! R R]4      t ! R R	]4      t ! R R
]4      t  ! R R]4      t! ! R R]4      t" ! R R]4      t# ! R R]4      t$ ! R R]4      t% ! R R]4      t& ! R  R]4      t' ! R! R]4      t( ! R" R]4      t)R# )$z¸
pygments.lexers.asm
~~~~~~~~~~~~~~~~~~~

Lexers for assembly languages.

:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)Ú
RegexLexerÚincludeÚbygroupsÚusingÚwordsÚDelegatingLexerÚdefault)ÚCppLexerÚCLexer)ÚDLexer)
ÚTextÚNameÚNumberÚStringÚCommentÚPunctuationÚOtherÚKeywordÚOperatorÚ
WhitespaceÚGasLexerÚObjdumpLexerÚDObjdumpLexerÚCppObjdumpLexerÚCObjdumpLexerÚ
HsailLexerÚ	LlvmLexerÚLlvmMirBodyLexerÚLlvmMirLexerÚ	NasmLexerÚNasmObjdumpLexerÚ	TasmLexerÚ	Ca65LexerÚDasm16Lexerc                   ó–  a € ] tR t^t o RtRtRR.tRR.tR.tRt	R	t
R
tRtR],           R,           ],           R,           tRtR],           R,           tR]! R4      ]R,           ]P$                  3R],           ]P&                  R3R]P&                  3]]P(                  R3R]3.R]]P,                  3]]3R],           ]P&                  3]]P2                  3]]P4                  3R]R3R]P:                  R3R]P<                  3R]P<                  R3]! R4      ]! R4      .RR ],           R!,           ]! ]P@                  ]]!]P,                  ]!4      3R ],           R",           ],           R!,           ]! ]P@                  ]]!]P,                  ]!]P2                  ]!4      3]]P,                  3]]P2                  3]]P4                  3R#],           ]P2                  3R$]PD                  3R]R3R]P:                  R3R]P<                  3R]P<                  R3]! R4      ]! R4      .RR%]3R&]3R]P:                  3R']P<                  3.RR(]!3./t#R) t$R*t%V t&R+# ),r   z
For Gas (AT&T) assembly code.
ÚGASÚgasÚasmú*.sz*.Sz
text/x-gasú%https://www.gnu.org/software/binutilsÚ ú"(\\"|[^"])*"z[\w$.@-]ú(?:[a-zA-Z$_]ú*|\.ú+)z(?:0[xX][a-fA-F0-9]+|#?-?\d+)Ú%ú\bÚrootÚ
whitespaceÚ:ú\.zdirective-argszlock|rep(n?z)?|data\d+úinstruction-argsú[\r\n]+Ú@ú#popz([;#]|//).*?\nz/[*].*?[*]/z/[*].*?\n[\w\W]*?[*]/Úpunctuationz([a-z0-9]+)( )(<)(z)(>)z)([-+])(Ú$z
$'(.|\\')'ú\nú\s+z/[*][\w\W]*?[*]/z[-*,.()\[\]!:{}]+c                ó¾   € \         P                  ! R V \         P                  4      '       d   R# \         P                  ! RV \         P                  4      '       d   R# R# )z^\.(text|data|section)Tz^\.\w+gš™™™™™¹?N)ÚreÚsearchÚM©Útexts   &Úd/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pygments/lexers/asm.pyÚanalyse_textÚGasLexer.analyse_texth   s<   € Ü�9Š9Ð.°´b·d±d×;Ò;ÙÜ�YŠY�y $¬¯©×-Ò-Ùñ .ó    © N)'Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedÚstringÚcharÚ
identifierÚnumberÚregisterr   r   ÚLabelÚ	AttributeÚFunctionr   ÚConstantr   r   ÚIntegerÚVariabler   r   ÚSingleÚ	Multiliner   ÚHexr   ÚCharÚtokensrD   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @rC   r   r      s±  ø‡ € ñð €DØ�eˆn€GØ˜�€IØ�€IØ
1€CØ€Mð €FØ€DØ! DÕ(¨7Õ2°TÕ9¸DÕ@€JØ-€FØ�ZÕ %Õ'€Hð 	Ù�LÓ!Ø˜#Õ˜tŸz™zÐ*Ø�ZÕ §¡Ð1AÐBØ&¨¯©Ð7Ø˜Ÿ™Ð(:Ð;Ø˜Ðð
ð 	Ø˜Ÿ™Ð'Ø�VÐØ�:Õ˜tŸ~™~Ð.Ø�V—^‘^Ð$Ø�t—}‘}Ð%Ø˜ VÐ,Ø §¡°Ð7Ø˜W×.Ñ.Ð/Ø% w×'8Ñ'8¸&ÐAá�MÓ"Ù�LÓ!ð
ð 	ð " *Õ,¨VÕ3Ù˜Ÿ™ T¨;¸¿¹Ø$ó&ð'ð " *Õ,¨ZÕ7¸Õ>¸vÕEÙ˜Ÿ™ T¨;¸¿¹Ø$ f§n¡n°kóCðDð
 ˜Ÿ™Ð'Ø�V—^‘^Ð$à�t—}‘}Ð%à��Z˜Ÿ™Ð(Ø˜FŸK™KÐ(Ø˜ VÐ,Ø §¡°Ð7Ø˜W×.Ñ.Ð/Ø% w×'8Ñ'8¸&ÐAá�MÓ"Ù�LÓ!ð1
ð4 	Ø�JÐØ�ZÐ Ø §¡Ð/Ø  '×"3Ñ"3Ð4ð	
ð 	Ø! ;Ð/ð
ðo:€F÷xð rF   c                óJ  € RpRR\        \        P                  \        \        \
        4      3R\        \        \        P                  \        4      3RV,           R,           \        \        P                  \        \        \        P                  \        \        P                  \        4      3RV,           R,           \        \        P                  \        \        \        P                  \        4      3RV,           R	,           V,           V,           R
,           \        \        \        P                  \        \        P                  \        \        V 4      4      3RV,           R,           \        \        \        P                  \        \        V 4      4      3RV,           R	,           V,           V,           R,           \        \        \        P                  \        \        P                  \        \
        4      3RV,           R	,           V,           V,           R,           \        \        \        P                  \        \        P                  4      3R\        3RV,           R,           V,           R,           \        \        \        P                  \        \        P                  \        \        P                  \        \        P                  4      3RV,           R,           \        \        \        P                  \        \        P                  \        \        P                  4      3R\        3./# )z3
Common objdump lexer tokens to wrap an ASM lexer.
z[0-9A-Za-z]r1   z(.*?)(:)( +file format )(.*?)$z"(Disassembly of section )(.*?)(:)$Ú(z++)( )(<)(.*?)([-+])(0[xX][A-Za-z0-9]+)(>:)$z+)( )(<)(.*?)(>:)$z( *)(z+:)(\t)((?:z )+)( *	)([a-zA-Z].*?)$z+:)( *\t)([a-zA-Z].*?)$z )+)( *)(.*?)$z )+)$z	\t\.\.\.$z	(\t\t\t)(z +:)( )([^\t]+)(\t)(.*?)([-+])(0xz+)$z+:)( )([^\t]+)(\t)(.*?)$z[^\n]+\n)r   r   rX   r   r   r   r   r`   r   rZ   r   ÚPropertyr[   r   )Ú	asm_lexerÚhex_res   & rC   Ú_objdump_lexer_tokensrl   o   s7  € ð €Fàà-ÜœŸ™¤[´$¼Ó?ðAð 2ÜœœtŸz™z¬;Ó7ð9ð ��ZÐEÕEÜœŸ™¤Z´¼d¿m¹mÜ$¤f§j¡j´+ó?ð@ð ��ZÐ,Õ,ÜœŸ™¤Z´¼d¿m¹mÜ$ó&ð'ð �V�^˜NÕ*¨6Õ1°&Õ8Ð9SÕSÜœ¤T§Z¡Z´¼V¿Z¹ZÌÜ˜yÓ)ó+ð,ð �V�^Ð6Õ6Üœ¤T§Z¡Z´Ü˜yÓ)ó+ð,ð �V�^˜NÕ*¨6Õ1°&Õ8Ð9IÕIÜœ¤T§Z¡Z´¼V¿Z¹ZÌÔU[Ó\ð^ð �V�^˜NÕ*¨6Õ1°&Õ8¸Õ@Üœ¤T§Z¡Z´¼V¿Z¹ZÓHðJð œ4Ð ð ˜&Õ Ð!DÕDÀVÕKÈEÕQÜœ¤T§Z¡Z´¼T¿]¹]ÌJÜŸ™¬´V·Z±ZóAðBð ˜&Õ Ð!<Õ<Üœ¤T§Z¡Z´¼T¿]¹]ÌJÜŸ™ó(ð)ð œ%Ð ðU+
ð-ð -rF   c                   óH   € ] tR t^¤tRtRtR.tR.tR.tRt	Rt
]! ]4      tRtR# )	r   z$
For the output of ``objdump -dr``.
Úobjdumpz	*.objdumpztext/x-objdumpr)   r*   rG   N)rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rl   r   rb   rc   rG   rF   rC   r   r   ¤   s8   † ñð €DØˆk€GØ�€IØ!Ð"€IØ
1€CØ€Má" 8Ó,„FrF   c                   óT   a a€ ] tR t^²t oRtRtR.tR.tR.tRt	Rt
V 3R ltRtVtV ;t# )	r   z8
For the output of ``objdump -Sr`` on compiled D files.
z	d-objdumpz*.d-objdumpztext/x-d-objdumpr)   r*   c                ó<   <€ \         SV `  ! \        \        3/ VB  R # ©N)ÚsuperÚ__init__r   r   ©ÚselfÚoptionsÚ	__class__s   &,€rC   rs   ÚDObjdumpLexer.__init__½   ó   ø€ Ü‰Òœ¤Ñ9°Ô9rF   rG   ©rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rs   rc   rd   Ú__classcell__©rw   rf   s   @@rC   r   r   ²   s;   ù‡ € ñð €DØˆm€GØ�€IØ#Ð$€IØ
1€CØ€M÷:õ :rF   c                   óX   a a€ ] tR t^Át oRtRt. ROt. R	OtR.tRt	Rt
V 3R ltRtVtV ;t# )
r   z:
For the output of ``objdump -Sr`` on compiled C++ files.
úcpp-objdumpztext/x-cpp-objdumpr)   r*   c                ó<   <€ \         SV `  ! \        \        3/ VB  R # rq   )rr   rs   r	   r   rt   s   &,€rC   rs   ÚCppObjdumpLexer.__init__Ì   s   ø€ Ü‰Òœ¤<Ñ;°7Ô;rF   rG   )r~   zc++-objdumbzcxx-objdump)z*.cpp-objdumpz*.c++-objdumpz*.cxx-objdumprz   r|   s   @@rC   r   r   Á   s7   ù‡ € ñð €DÚ;€GÚC€IØ%Ð&€IØ
1€CØ€M÷<õ <rF   c                   óT   a a€ ] tR t^Ðt oRtRtR.tR.tR.tRt	Rt
V 3R ltRtVtV ;t# )	r   z8
For the output of ``objdump -Sr`` on compiled C files.
z	c-objdumpz*.c-objdumpztext/x-c-objdumpr)   r*   c                ó<   <€ \         SV `  ! \        \        3/ VB  R # rq   )rr   rs   r
   r   rt   s   &,€rC   rs   ÚCObjdumpLexer.__init__Ü   ry   rF   rG   rz   r|   s   @@rC   r   r   Ð   s;   ù‡ € ñð €DØˆm€GØ�€IØ#Ð$€IØ
1€CØ€M÷:õ :rF   c                   ó  € ] tR t^àtRtRtRR.tR.tR.tRt	Rt
R	tR
tRtR],           R,           tRtRtRtRtRtRtRtRtR]! R4      ]! R4      ]]3R],           R,           ]P4                  3]]P6                  P8                  3]! R4      R],           ]P6                  P:                  3R],           ]P6                  3]]P>                  3R]P>                  3]]P@                  3]]P@                  3R]PB                  3R ]"3.RR!]#3.RR"]$PJ                  3R#]$PL                  3.RR$],           ]'PP                  3R%]'3])! R0R&R'7      ]'3]]'3]]'3R(],           R),           ],           R*,           ]'3R+]'3R,]'3])! R14      ]'3R-]'3.
/t*R.t+R/# )2r   z
For HSAIL assembly code.
ÚHSAILÚhsailÚhsaz*.hsailztext/x-hsailzVhttps://en.wikipedia.org/wiki/Heterogeneous_System_Architecture#HSA_Intermediate_Layerz2.2ú"[^"]*?"z[a-zA-Z_][\w.]*ú[0-9]+z(\$(c|s|d|q)z)\bz(align\(\d+\))z(width\((\d+|all)\))z(alloc\(agent\))z ((_ftz)?(_up|_down|_zero|_near))zò_(u8x4|s8x4|u16x2|s16x2|u8x8|s8x8|u16x4|s16x4|u32x2|s32x2|u8x16|s8x16|u16x8|s16x8|u32x4|s32x4|u64x2|s64x2|f16x2|f16x4|f16x8|f32x2|f32x4|f64x2|u8|s8|u16|s16|u32|s32|u64|s64|b128|b8|b16|b32|b64|b1|f16|f32|f64|roimg|woimg|rwimg|samp|sig32|sig64)z ((\d+\.)|(\d*\.\d+))[eE][+-]?\d+zL0[xX](([0-9a-fA-F]+\.[0-9a-fA-F]*)|([0-9a-fA-F]*\.[0-9a-fA-F]+))[pP][+-]?\d+z?0((h|H)[0-9a-fA-F]{4}|(f|F)[0-9a-fA-F]{8}|(d|D)[0-9a-fA-F]{16})r1   r2   Úcommentsr7   z:?ÚkeywordÚ&r/   z0[xX][a-fA-F0-9]+ú\d+z[=<>{}\[\]()*.,:;!]|x\bz(\n|\s)+z	/\*.*?\*/z//.*?\nÚkernargz+\$(full|base|small|large|default|zero|near)r0   ©Úsuffixz_(Ú|Ú)Ú_kernargz(nop|imagefence)\bú	i[1-9]\d*rG   N)ÚmoduleÚ	extensionÚpragmaÚprogÚindirectÚ	signatureÚdeclÚkernelÚfunctionÚenablebreakexceptionsÚenabledetectexceptionsÚmaxdynamicgroupsizeÚmaxflatgridsizeÚmaxflatworkgroupsizeÚrequireddimÚrequiredgridsizeÚrequiredworkgroupsizeÚrequirenopartialworkgroups)äÚcleardetectexceptÚclockÚcuidÚ	debugtrapÚdimÚgetdetectexceptÚgroupbaseptrÚkernargbaseptrÚlaneidÚmaxcuidÚ	maxwaveidÚpacketidÚsetdetectexceptÚwaveidÚworkitemflatabsidÚworkitemflatidÚnullptrÚabsÚbitrevÚcurrentworkgroupsizeÚcurrentworkitemflatidÚfractÚncosÚnegÚnexp2Únlog2ÚnrcpÚnrsqrtÚnsinÚnsqrtÚ
gridgroupsÚgridsizeÚnotÚsqrtÚworkgroupidÚworkgroupsizeÚworkitemabsidÚ
workitemidÚceilÚfloorÚrintÚtruncÚaddÚbitmaskÚborrowÚcarryÚcopysignÚdivÚremÚsubÚshlÚshrÚandÚorÚxorÚunpackhiÚunpackloÚmaxÚminÚfmaÚmadÚ
bitextractÚ	bitselectÚshuffleÚcmovÚbitalignÚ	bytealignÚlerpÚnfmaÚmulÚmulhiÚmul24hiÚmul24Úmad24Úmad24hiÚ	bitinsertÚcombineÚexpandÚldaÚmovÚpackÚunpackÚpackcvtÚ	unpackcvtÚsadÚsementpÚftosÚstofÚcmpÚldÚstÚ_eqÚ_neÚ_ltÚ_leÚ_gtÚ_geÚ_equÚ_neuÚ_ltuÚ_leuÚ_gtuÚ_geuÚ_numÚ_nanÚ_seqÚ_sneÚ_sltÚ_sleÚ_sgtÚ_sgeÚ_snumÚ_snanÚ_sequÚ_sneuÚ_sltuÚ_sleuÚ_sgtuÚ_sgeuÚatomicÚ_ldÚ_stÚ_casÚ_addÚ_andÚ_exchÚ_maxÚ_minÚ_orÚ_subÚ_wrapdecÚ_wrapincÚ_xorÚretÚcvtÚ	_readonlyr“   Ú_globalÚbrÚcbrÚsbrÚ_scacqÚ_screlÚ_scarÚ_rlxÚ_waveÚ_wgÚ_agentÚ_systemÚldimageÚstimageÚ_v2Ú_v3Ú_v4Ú_1dÚ_2dÚ_3dÚ_1daÚ_2daÚ_1dbÚ_2ddepthÚ	_2dadepthÚ_widthÚ_heightÚ_depthÚ_arrayÚ_channelorderÚ_channeltypeÚquerysamplerÚ_coordÚ_filterÚ_addressingÚbarrierÚwavebarrierÚinitfbarÚjoinfbarÚwaitfbarÚ
arrivefbarÚ	leavefbarÚreleasefbarÚldfÚactivelaneidÚactivelanecountÚactivelanemaskÚactivelanepermuteÚcallÚscallÚicallÚallocaÚpacketcompletionsigÚaddqueuewriteindexÚcasqueuewriteindexÚldqueuereadindexÚstqueuereadindexÚreadonlyÚglobalÚprivateÚgroupÚspillÚargÚ_upiÚ_downiÚ_zeroiÚ_neariÚ_upi_satÚ
_downi_satÚ
_zeroi_satÚ
_neari_satÚ_supiÚ_sdowniÚ_szeroiÚ_sneariÚ	_supi_satÚ_sdowni_satÚ_szeroi_satÚ_sneari_satÚ_ppÚ_psÚ_spÚ_ssÚ_sÚ_pÚ_pp_satÚ_ps_satÚ_sp_satÚ_ss_satÚ_s_satÚ_p_sat),rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rU   Úregister_numberrW   Ú	alignQualÚ	widthQualÚ	allocQualÚroundingModÚdatatypeModÚfloatÚhexfloatÚ	ieeefloatr   r   r   rX   r]   Ú	AnonymousÚGlobalr   r`   ÚFloatr\   r   r   r   r_   r^   r   ÚTyper   rb   rc   rG   rF   rC   r   r   à   s!  † ñð €DØ˜Ð€GØ�€IØÐ €IØ
b€CØ€Mà€FØ#€Jà€OØ Õ0°6Õ9€Hà!€IØ'€IØ#€Ià6€Kð
:€Kð 0€EØ^€HØR€Ið 	Ù�LÓ!Ù�JÓà�VÐà�JÕ Õ% t§z¡zÐ2à�t—}‘}×.Ñ.Ð/á�IÓà�JÕ §¡× 4Ñ 4Ð5Ø�JÕ §¡Ð.à�v—z‘zÐ"Ø! 6§:¡:Ð.Ø˜Ÿ™Ð%Ø�F—L‘LÐ!Ø�V—^‘^Ð$à'¨Ð5ð+
ð. 	Ø˜*Ð%ð
ð 	Ø˜7×,Ñ,Ð-Ø˜Ÿ™Ð(ð
ð 	à˜+Õ% w§|¡|Ð4ð <¸WÐEÙð Gð ôð  'ð(ð ˜'Ð"Ø˜'Ð"Ø�YÕ Õ$ yÕ0°3Õ6¸Ð@Ø˜'Ð"Ø" GÐ,Ùð %Eó %FðJ HOðK%PðP ˜7Ð#ðy=
ð?]„FrF   c                   ó¼  € ] tR tRtRtRtRtR.tR.tR.t	Rt
R	tR
],           R,           tR],           R,           tR]! R4      ]R,           ]P                   3]! R4      R],           ]P"                  3R],           ]P"                  P$                  3R]P"                  P&                  3R]P"                  P$                  3R]P"                  P$                  3R],           ]P"                  3R]P"                  P&                  3R],           ]3R]3R]3R]3.RR]3R]3R]R 3.R R!]3R"]R#3R$]3.R]! R*R%R&7      ]3]! R+4      ]P6                  3R']P6                  3./tR(tR)# ),r   ig  z
For LLVM assembly code.
ÚLLVMz"https://llvm.org/docs/LangRef.htmlÚllvmz*.llztext/x-llvmr*   rˆ   z([-a-zA-Z$._][\w\-$.]*|r’   rh   z|(\d+))r1   r2   z\s*:r‹   r/   r7   z%\d+z@\d+z#\d+Ú!z!\d+zc?z0[xX][KLMHR]?[a-fA-F0-9]+z,-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?z[=<>{}\[\]()*.,!]|x\bz	(\n|\s+)+ú;.*?\nz/\*z	c-commentz[^*]+z\*/r8   z\*r0   r�   r”   rG   N(‰  Úaarch64_sve_vector_pcsÚaarch64_vector_pcsÚacq_relÚacquirerÑ   Ú	addrspaceÚaddrspacecastÚafnÚaliasÚaliaseeÚalignÚ	alignLog2Ú
alignstackrb  Ú	allocsizeÚallOnesÚalwaysinlineÚalwaysInlineÚ	amdgpu_csÚ	amdgpu_esÚ
amdgpu_gfxÚ	amdgpu_gsÚ	amdgpu_hsÚamdgpu_kernelÚ	amdgpu_lsÚ	amdgpu_psÚ	amdgpu_vsrÛ   ÚanyÚanyregccÚ	appendingÚarcpÚ
argmemonlyÚargsÚarm_aapcs_vfpccÚarm_aapcsccÚ
arm_apcsccÚashrr'   r  Ú	atomicrmwÚ
attributesÚavailable_externallyÚ
avr_intrccÚavr_signalccÚbitÚbitcastÚbitMaskÚblockaddressÚ
blockcountr0  ÚbranchFunnelÚbuiltinÚbyArgÚbyrefÚbyteÚ	byteArrayÚbyvalÚcr_  ÚcallbrÚcalleeÚcallerÚcallsÚcanAutoHideÚcatchÚcatchpadÚcatchretÚcatchswitchÚccÚcccÚcfguard_checkccÚcleanupÚ
cleanuppadÚ
cleanupretÚcmpxchgÚcoldÚcoldccÚcomdatÚcommonÚconstantÚcontractÚ
convergentÚcriticalÚcxx_fast_tlsccÚ
datalayoutÚdeclarer   ÚdefineÚdeplibsÚdereferenceableÚdereferenceable_or_nullÚdistinctÚ	dllexportÚ	dllimportÚ	dso_localÚdso_local_equivalentÚdso_preemptableÚdsoLocalÚeqÚexactÚ
exactmatchÚextern_weakÚexternalÚexternally_initializedÚextractelementÚextractvalueÚfaddÚfalseÚfastÚfastccÚfcmpÚfdivÚfenceÚfilterÚflagsÚfmulÚfnegÚfpextÚfptosiÚfptouiÚfptruncÚfreezeÚfremÚfromÚfsubÚ	funcFlagsr�   ÚgcÚgetelementptrÚghcccri  ÚguidÚgvÚhashÚhhvm_cccÚhhvmccÚhiddenÚhotÚhotnessÚicmpÚifuncÚinaccessiblemem_or_argmemonlyÚinaccessiblememonlyÚinallocaÚinboundsÚindirÚ
indirectbrÚinfoÚinitialexecÚinlineÚ
inlineBitsÚ
inlinehintÚinrangeÚinregÚinsertelementÚinsertvalueÚinstsÚintel_ocl_biccÚinteldialectÚinternalÚinttoptrÚinvokeÚ	jumptableÚkindÚ
landingpadÚlargestÚlinkageÚlinkonceÚlinkonce_odrÚliveÚloadÚlocal_unnamed_addrÚlocaldynamicÚ	localexecÚlshrrà   Úmetadatará   Úminsizer•   Ú	monotonicÚmsp430_intrccrì   ÚmustprogressÚmusttailÚnakedrM   ÚnandÚneÚnestÚninfÚnnanÚnoaliasÚ	nobuiltinÚ
nocallbackÚ	nocaptureÚ
nocf_checkÚnoduplicateÚnoduplicatesÚnofreeÚnoimplicitfloatÚnoinlineÚnoInlineÚnomergeÚnoneÚnonlazybindÚnonnullÚ	noprofileÚ	norecurseÚ	noRecurseÚ	noredzoneÚnoreturnÚnosyncÚnotailÚnotEligibleToImportÚnoundefÚnounwindÚnswÚnszÚnullÚnull_pointer_is_validÚnuwÚoeqÚoffsetÚogeÚogtÚoleÚoltÚoneÚopaqueÚoptforfuzzingÚoptnoneÚoptsizerÜ   ÚordÚparamÚparamsÚ	partitionÚpathÚpersonalityÚphiÚpoisonÚpreallocatedÚprefixÚpreserve_allccÚpreserve_mostccrj  ÚprologueÚ	protectedÚptrtointÚ
ptx_deviceÚ
ptx_kernelÚreadnoneÚreadNonerh  ÚreadOnlyÚreassocÚrefsÚrelbfÚreleaseÚresByArgÚresumer,  ÚreturnDoesNotAliasÚreturnedÚreturns_twiceÚ	safestackÚsamesizeÚsanitize_addressÚsanitize_hwaddressÚsanitize_memoryÚsanitize_memtagÚsanitize_threadÚsdivÚsectionÚselectÚseq_cstÚsextÚsgeÚsgtÚshadowcallstackrÙ   ÚshufflevectorÚ
sideeffectÚsignextÚsingleÚ
singleImplÚsingleImplNameÚsitofpÚsizeM1ÚsizeM1BitWidthÚsleÚsltÚsource_filenameÚspeculatableÚspeculative_load_hardeningÚ	spir_funcÚspir_kernelÚsplatÚsremÚsretÚsspÚsspreqÚ	sspstrongÚstoreÚstrictfprØ   Ú	summariesÚsummaryÚswiftccÚ
swifterrorÚ	swiftselfÚswitchÚ	syncscopeÚtailÚtailccÚtargetÚthread_localÚtoÚtokenÚtripleÚtruerÐ   ÚtypeÚtypeCheckedLoadConstVCallsÚtypeCheckedLoadVCallsÚtypeidÚtypeidCompatibleVTableÚ
typeIdInfoÚtypeTestAssumeConstVCallsÚtypeTestAssumeVCallsÚtypeTestResÚ	typeTestsÚudivÚueqÚugeÚugtÚuitofpÚuleÚultÚumaxÚuminÚundefÚuneÚuniformRetValÚuniqueRetValÚunknownÚunnamed_addrÚunoÚ	unorderedÚunreachableÚunsatÚunwindÚuremÚuselistorderÚuselistorder_bbÚuwtableÚva_argÚvarFlagsÚvariableÚvcall_visibilityÚvFuncIdÚvirtFuncÚvirtualConstPropÚvoidÚvolatileÚvscaleÚvTableFuncsÚweakÚweak_odrÚwebkit_jsccÚwin64ccÚwithinÚwpdResÚwpdResolutionsÚ	writeonlyÚxÚx86_64_sysvccÚx86_fastcallccÚ
x86_intrccÚx86_mmxÚx86_regcallccÚx86_stdcallccÚx86_thiscallccÚx86_vectorcallccÚxchgrÝ   ÚzeroextÚzeroinitializerÚzextÚimmargÚ
willreturn)ró  ÚhalfÚbfloatr�  ÚdoubleÚfp128Úx86_fp80Ú	ppc_fp128ÚlabelrB  r  Úx86_amxrÇ  Úptr)rH   rI   rJ   rK   rL   rM   rQ   rN   rO   rP   rR   rS   rU   Úblock_labelr   r   rX   r]   r”  r“  r   r   r   r   r   r   r   r–  rb   rc   rG   rF   rC   r   r   g  sÑ  † ñð €DØ
.€CØˆh€GØ�€IØ�€IØ€Mð €FØ+¨fÕ4°sÕ:€JØ˜Õ# jÕ0€Kð 	Ù�LÓ!ð ˜7Õ" D§J¡JÐ/á�IÓà�JÕ §¡Ð.Ø�JÕ §¡× 4Ñ 4Ð5Ø�d—m‘m×-Ñ-Ð.Ø�d—m‘m×*Ñ*Ð+Ø�d—m‘m×*Ñ*Ð+Ø�JÕ §¡Ð.Ø�d—m‘m×-Ñ-Ð.Ø�V�^˜VÐ$à)¨6Ð2Ø<¸fÐEà% {Ð3ð)
ð, 	Ø˜:Ð&Ø˜Ð Ø�W˜kÐ*ð
ð
 	Ø�wÐØ�W˜fÐ%à�GÐð	
ð 	áð TCðj ôkUðj  'ðkU(ñp ð /ó 0ð —<‘<ð!ð ˜7Ÿ<™<Ð(ðAa
ðED„FrF   c                   óf  € ] tR tRtRtRtRtR.t. t. t	Rt
R]! R<RR	7      ]3R
]P                  3R]P                  3R]P                  3R]3R]3R]P                  R3]! R4      R]P                  P"                  3]! R=RRR7      ]P$                  3]! R>RRR7      ]P$                  3R]P(                  3R]3R]P$                  3R]P$                  3]! R?4      ]3R]! ]P.                  ]4      R3R]P.                  R3]! R4      R ]! ]]4      R!3R"]3R#]3R$]3.R]! R4      R%]R&3.R]! R'4      R%]R&3.RR(]! ]]4      R@3R*]! ]]4      R+3R%]R&3.R)R,]! ]]P                  P6                  4      3R-]! ]]P                  4      3R*]! ]]4      R+3R%]R&3.R+R.]! ]]P.                  4      3R/]! ]]P.                  4      3R]R&3R%]R&3.R!R0]3R1]3]! RA4      ]3R2]3R3]3R4]3]! R4      ]! R4      R5]3R6]3R]R&3.RR7]P<                  3.R'R8]P>                  3.RR9]P                  P"                  3./
t R:t!R;# )Br   iþ  z1
For LLVM MIR examples without the YAML wrapper.
zLLVM-MIR Bodyú%https://llvm.org/docs/MIRLangRef.htmlzllvm-mir-bodyú2.6r1   r3   r�   z4bb\.[0-9]+(\.[a-zA-Z0-9_.-]+)?( \(address-taken\))?:z5bb\.[0-9]+ \(%[a-zA-Z0-9_.-]+\)( \(address-taken\))?:z%bb\.[0-9]+(\.\w+)?z%stack\.[0-9]+(\.\w+\.addr)?z%subreg\.\w+z%[a-zA-Z0-9_]+ *Úvregri  zintrinsic\(\@[a-zA-Z0-9_.]+\)z	intpred\(z\))r€  r�   zfloatpred\(z\$\w+Ú=a  (G_ANYEXT|G_[SZ]EXT|G_SEXT_INREG|G_TRUNC|G_IMPLICIT_DEF|G_PHI|G_FRAME_INDEX|G_GLOBAL_VALUE|G_INTTOPTR|G_PTRTOINT|G_BITCAST|G_CONSTANT|G_FCONSTANT|G_VASTART|G_VAARG|G_CTLZ|G_CTLZ_ZERO_UNDEF|G_CTTZ|G_CTTZ_ZERO_UNDEF|G_CTPOP|G_BSWAP|G_BITREVERSE|G_ADDRSPACE_CAST|G_BLOCK_ADDR|G_JUMP_TABLE|G_DYN_STACKALLOC|G_ADD|G_SUB|G_MUL|G_[SU]DIV|G_[SU]REM|G_AND|G_OR|G_XOR|G_SHL|G_[LA]SHR|G_[IF]CMP|G_SELECT|G_GEP|G_PTR_MASK|G_SMIN|G_SMAX|G_UMIN|G_UMAX|G_[US]ADDO|G_[US]ADDE|G_[US]SUBO|G_[US]SUBE|G_[US]MULO|G_[US]MULH|G_FNEG|G_FPEXT|G_FPTRUNC|G_FPTO[US]I|G_[US]ITOFP|G_FABS|G_FCOPYSIGN|G_FCANONICALIZE|G_FMINNUM|G_FMAXNUM|G_FMINNUM_IEEE|G_FMAXNUM_IEEE|G_FMINIMUM|G_FMAXIMUM|G_FADD|G_FSUB|G_FMUL|G_FMA|G_FMAD|G_FDIV|G_FREM|G_FPOW|G_FEXP|G_FEXP2|G_FLOG|G_FLOG2|G_FLOG10|G_FCEIL|G_FCOS|G_FSIN|G_FSQRT|G_FFLOOR|G_FRINT|G_FNEARBYINT|G_INTRINSIC_TRUNC|G_INTRINSIC_ROUND|G_LOAD|G_[ZS]EXTLOAD|G_INDEXED_LOAD|G_INDEXED_[ZS]EXTLOAD|G_STORE|G_INDEXED_STORE|G_ATOMIC_CMPXCHG_WITH_SUCCESS|G_ATOMIC_CMPXCHG|G_ATOMICRMW_(XCHG|ADD|SUB|AND|NAND|OR|XOR|MAX|MIN|UMAX|UMIN|FADD|FSUB)|G_FENCE|G_EXTRACT|G_UNMERGE_VALUES|G_INSERT|G_MERGE_VALUES|G_BUILD_VECTOR|G_BUILD_VECTOR_TRUNC|G_CONCAT_VECTORS|G_INTRINSIC|G_INTRINSIC_W_SIDE_EFFECTS|G_BR|G_BRCOND|G_BRINDIRECT|G_BRJT|G_INSERT_VECTOR_ELT|G_EXTRACT_VECTOR_ELT|G_SHUFFLE_VECTOR)\bz6(COPY|PHI|INSERT_SUBREG|EXTRACT_SUBREG|REG_SEQUENCE)\bz(i[0-9]+)( +)Úconstantintz(half|float|double) +ÚconstantfloatÚintegerz(::)( *)Úmmoú;.*z[a-zA-Z0-9_]+z	[(), \n]+z(?=.)r8   r�  z( *)(:(?!:))Úvreg_bank_or_classz( *)(\()Ú	vreg_typez( *)(_)z( *)([a-zA-Z0-9_]+)z( *)([sp][0-9]+)z( *)(<[0-9]+ *x *[sp][0-9]+>)z\(z +z%ir\.[a-zA-Z0-9_.-]+z%ir-block\.[a-zA-Z0-9_.-]+z[-+]Ú,z\), \(z-?[0-9]+z-?[0-9]+\.[0-9]+(e[+-][0-9]+)?z\@[a-zA-Z0-9_.]+rG   N)ÚliveinsÚ
successors)
r÷  rJ  r¡  r   r­  r¬  r×  rÖ  rÚ  rÙ  )
rl  rr  ro  rn  rq  rp  r×  rÖ  rÚ  rÙ  )ÚkilledÚimplicit)r8   r"  )r=  r¹  ÚonÚintor  r¥  rD  rŸ  rŽ  rž  rž  )"rH   rI   rJ   rK   rL   rM   rQ   rN   rO   rP   rR   r   r   r   rX   r]   r   r”  ÚBuiltinr   r^   r   r   r–  r   r   r   ÚMagicr   r   r\   r•  rb   rc   rG   rF   rC   r   r   þ  s>  † ñð €DØ
1€CØÐ€GØ€IØ€IØ€Mð 	áÐ,°SÔ9¸7ÐCàDÀdÇjÁjÐQØEÀtÇzÁzÐRØ# T§Z¡ZÐ0à,¨dÐ3à˜dÐ#à  $§-¡-°Ð8á�HÓà-¨t¯}©}×/CÑ/CÐDáð Ø#/¸ô?Ø@DÇÁðNáð "Ø*8ÀôHà�\‰\ðð �v—}‘}Ð%à�8Ðð$ð0 �\‰\ð1ð4 GØ�\‰\ðñ Ð)Ó*¨GÐ4à™x¨¯©°jÓAÀ=ÐQà% w§|¡|°_ÐEá�IÓà™( 8¨ZÓ8¸%Ð@à�WÐà˜tÐ$à˜4Ð ðOH
ðT 	Ù�IÓØ�t˜VÐ$ð
ð
 	Ù�GÓØ�t˜VÐ$ð
ð 	à™h z°7Ó;Ð=[Ð\à™( :¨tÓ4°kÐBØ�t˜VÐ$ð
ð 	à™ *¨d¯m©m×.AÑ.AÓBÐCØ#¡X¨j¸$¿-¹-Ó%HÐIà™( :¨tÓ4°kÐBØ�t˜VÐ$ð
ð 	à ¡(¨:°w·|±|Ó"DÐEØ-©x¸
ÀGÇLÁLÓ/QÐRØ�D˜&Ð!Ø�t˜VÐ$ð
ð 	Ø�DˆMØ�JÐÙð @ó Aàðð % dÐ+Ø*¨DÐ1Ø�hÐÙ�IÓÙ�HÓØ�;ÐØ˜ÐØ�D˜&Ð!ð
ð  	�[ &§.¡.Ð1Ð3ØÐ4°f·l±lÐCÐDØÐ'¨¯©×)=Ñ)=Ð>Ð?ðy}„FrF   c                   ó˜  € ] tR tRtRtRtRtR.tR.tRt	RR	]
3R
]R3R]R3R]3.RR]R3R]! ]! ]4      4      3.RR	]
3R]R3R]R3]! R$RR7      ]R3]! R%RR7      ]R3]! R&RR7      ]3R]R3R]3R]3.	RR]3]! R4      .RR]P(                  3]! R4      .RR]3]! R4      .RR]R3R ]! ]! ]4      4      3R!]! ]! ]4      4      3./tR"tR## )'r   i‰  a;  
Lexer for the overall LLVM MIR document format.

MIR is a human readable serialization format that's used to represent LLVM's
machine specific intermediate representation. It allows LLVM's developers to
see the state of the compilation process at various points, as well as test
individual pieces of the compiler.
zLLVM-MIRr  zllvm-mirz*.mirr  r1   ú#.*z--- \|$Úllvm_irz---Úllvm_mirz[^-#]+|.z(\.\.\.|(?=---))r8   z((?:.|\n)+?)(?=(\.\.\.|---))zname:rM   r3   r�   rV   Úbooleanz	body: *\|Úllvm_mir_bodyz.+r;   z[^\n]+z *(true|false)z *[0-9]+z#pop:2z((?:.|\n)+?)(?=\.\.\.|---)z(?!\.\.\.|---)((?:.|\n)+)rG   N)Ú	alignment)Ú	legalizedÚregBankSelectedÚtracksRegLivenessÚselectedÚexposesReturnsTwice)Ú	registersÚstackÚ
fixedStackr%  Ú	frameInfoÚmachineFunctionInfo)rH   rI   rJ   rK   rL   rM   rQ   rN   rO   rR   r   r   r   r   r   r   r   r   r   r   r+  r   r   rb   rc   rG   rF   rC   r   r   ‰  s›  † ñð €DØ
1€CØˆl€GØ�	€IØ€Mð 	à�WÐà˜ )Ð,à�W˜jÐ)à˜$Ðð	
ð 	à  '¨6Ð2à,©h±u¸YÓ7GÓ.HÐIð	
ð 	à�WÐà  '¨6Ð2à�w Ð'Ù�?ØôØ '¨ð3áð 7àôà '¨ð4ñ ð +àôà 'ð)ð ˜7 OÐ4à�DˆMØ�JÐð)
ð, 	Ø˜ÐÙ�F‹Oð
ð 	Ø §¡Ð-Ù�F‹Oð
ð 	Ø˜&Ð!Ù�F‹Oð
ð 	ð ! '¨8Ð4à*©H±UÐ;KÓ5LÓ,MÐNð *©8±EÐ:JÓ4KÓ+LÐMð	
ðg=„FrF   c                   ó˜  a € ] tR tRt o RtRtR.t. R+OtR.tRt	Rt
RtR	tR
tRtRtRt]R,           ],           tR,tRtRtRtRtRt]P2                  ]P4                  ,          tRR]P:                  R3]! R4      ]R,           ]P@                  3R] R2]!! ]PD                  ]#]$PJ                  4      R3]]$R3]]$PJ                  R3]]PL                  R3R]#3.R]]'3]](PR                  3]](PT                  3]](PV                  3]](PX                  3]](PZ                  3]! R4      ]]P\                  3]]P^                  3R]#R3]! R4      .RR]P:                  3R ]P`                  R3R!]P:                  R3.RR!]#3R"]#3R#]P`                  3R$]P`                  3.RR%]13R&]23R']$PD                  3]]2Pf                  3]]$Ph                  3./t5R( t6R)t7V t8R*# )-r   iØ  z!
For Nasm (Intel) assembly code.
ÚNASMÚnasmztext/x-nasmzhttps://nasm.usr*   g      ð?z[a-z$._?][\w$.?#@~]*ú,(?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)ú[0-7]+qú[01]+br‰   ú\.e?ú(?:res|d)[bwdqt]|timeszŸ(r[0-9][0-5]?[bwd]?|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]|k[0-7]|[xyz]mm(?:[12][0-9]?|3[01]?|[04-9]))\bzseg|wrt|strict|rel|absúbyte|[dq]?wordz’(?:BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|COMMON|CPU|GROUP|UPPERCASE|IMPORT|EXPORT|LIBRARY|MODULE)(?=\s)r1   ú^\s*%Úpreprocr2   r3   rh   z)(\s+)(equ)r5   r6   r9   r8   ú[^;\n]+r›  r;   ú[ \t]+r!  r.  z[,{}():\[\]]+z[&|^<>+*/%~-]+ú[$]+c                ób   € \         P                  ! R V \         P                  4      '       d   R# R# )ÚPROCFN)r>   ÚmatchÚ
IGNORECASErA   s   &rC   rD   ÚNasmLexer.analyse_text*  s!   € ä�8Š8�G˜T¤2§=¡=×1Ò1Ùñ 2rF   rG   N)ú*.asmú*.ASMz*.nasmú/"(\\"|[^"\n])*"|'(\\'|[^'\n])*'|`(\\`|[^`\n])*`)9rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   ÚpriorityrU   ÚhexnÚoctnÚbinnÚdecnÚfloatnrS   ÚdeclkwrW   ÚwordoprÊ  Ú
directivesr>   rO  Ú	MULTILINEr  r   ÚPreprocr   r   rX   r   r[   r   r   ÚDeclarationrZ   r   r   r`   ÚOctÚBinr•  r\   r+  r]   r^   r   r   ÚWordr–  rb   rD   rc   rd   re   s   @rC   r   r   Ø  sY  ø‡ € ñð €DØˆh€GÚ,€IØ�€IØ
€CØ€Mð €Hà(€JØ:€DØ€DØ€DØ€DØ�G�^˜dÕ"€FØK€FØ&€Fð:€Hð '€FØ€Dð2€Jð �M‰M˜BŸL™LÕ(€EàØ�w—‘¨	Ð2Ù�LÓ!Ø˜#Õ˜tŸz™zÐ*Ø�*�˜[Ð)Ù˜Ÿ™¨
°G×4GÑ4GÓHØ"ð$ð ˜Ð"4Ð5Ø�W×(Ñ(Ð*<Ð=Ø˜Ÿ™Ð(:Ð;Ø˜Ð$ð
ð 	Ø�VÐØ�6—:‘:ÐØ�6—:‘:ÐØ�6—:‘:ÐØ�V—\‘\Ð"Ø�6—>‘>Ð"Ù�MÓ"Ø�t—|‘|Ð$Ø˜Ÿ™Ð'Ø˜ VÐ,Ù�LÓ!ð
ð 	Ø˜Ÿ™Ð)Ø˜Ÿ™¨Ð/Ø�G—O‘O VÐ,ð
ð
 	Ø�JÐØ˜
Ð#Ø�W—^‘^Ð$Ø�W—^‘^Ð$ð	
ð 	Ø˜{Ð+Ø Ð)Ø�g×&Ñ&Ð'Ø�X—]‘]Ð#Ø�7—<‘<Ð ð
ðK,€F÷\ð rF   c                   óH   € ] tR tRtRtRtR.tR.tR.tRt	Rt
]! ]4      tRtR	# )
r    i0  z,
For the output of ``objdump -d -M intel``.
zobjdump-nasmz*.objdump-intelztext/x-nasm-objdumpr)   z2.0rG   N)rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rl   r   rb   rc   rG   rF   rC   r    r    0  s:   † ñð €DØÐ€GØ"Ð#€IØ&Ð'€IØ
1€CØ€Má" 9Ó-„FrF   c                   óÄ  a € ] tR tRt o RtRtR.t. R.OtR.tRt	Rt
RtR	tR
tRtRt]R,           ],           tR/tRtRtRtRtRtRt]P2                  ]P4                  ,          tRR]P:                  R3]! R4      ]R,           ]P@                  3]]!R3R] R] R2]"! ]PF                  ]$]!PJ                  4      R3]]!PJ                  R3]]PL                  R3R]$3.R]]'3]](PR                  3]](PT                  3]](PV                  3]](PX                  3]](PZ                  3]! R4      ]]P\                  3]]P^                  3R]"! ]0]$]Pb                  ]$4      3R]$R 3]! R4      .RR!]P:                  3R"]Pb                  R 3R#]P:                  R 3.RR$]$3R%]"! ]0]$4      3R&]$3R']Pb                  3.RR(]23R)]33R*]!PF                  3]]3Ph                  3]]!Pj                  3./t6R+ t7R,t8V t9R-# )0r!   i>  z+
For Tasm (Turbo Assembler) assembly code.
ÚTASMÚtasmztext/x-tasmz-https://en.wikipedia.org/wiki/Turbo_Assemblerr*   z[@a-z$._?][\w$.?#@~]*rA  rB  rC  r‰   rD  rE  zs(r[0-9][0-5]?[bwd]|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7])\bzseg|wrt|strictrF  zÛBITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|ENDS|COMMON|CPU|GROUP|UPPERCASE|INCLUDE|EXPORT|LIBRARY|MODULE|PROC|ENDP|USES|ARG|DATASEG|UDATASEG|END|IDEAL|P386|MODEL|ASSUME|CODESEG|SIZEzdb|dd|dw|T[A-Z][a-z]+r1   rG  rH  r2   r3   r5   rh   z)(\s+)(r’   r6   r9   z(\\)(\s*)(;.*)([\r\n])r8   rI  r›  r;   z[\n\r]z(\\)([\n\r])rJ  r!  z[,():\[\]]+z[&|^<>+*=/%~-]+rK  c                ób   € \         P                  ! R V \         P                  4      '       d   R# R# )rM  TN)r>   rN  ÚIrA   s   &rC   rD   ÚTasmLexer.analyse_text�  s!   € ä�8Š8�G˜T¤2§4¡4×(Ò(Ùñ )rF   rG   N)rQ  rR  z*.tasmrS  ):rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rU   rU  rV  rW  rX  rY  rS   rZ  rW   r[  rÊ  r\  Údatatyper>   rO  r]  r  r   r^  r   r   rX   r   r   r[   r   r_  rZ   r   r   r`   r`  ra  r•  r\   r+  r]   r   r^   r   r   rb  r–  rb   rD   rc   rd   re   s   @rC   r!   r!   >  s{  ø‡ € ñð €DØˆh€GÚ,€IØ�€IØ
9€CØ€Mà)€JØ:€DØ€DØ€DØ€DØ�G�^˜dÕ"€FØK€FØ&€Fð8€Hð €FØ€Dð4€Jð )€Hà�M‰M˜BŸL™LÕ(€EàØ�w—‘¨	Ð2Ù�LÓ!Ø˜#Õ˜tŸz™zÐ*Ø˜Ð"4Ð5Ø�*�˜W X J¨aÐ0Ù˜Ÿ™¨
°G×4GÑ4GÓHØ"ð$ð �W×(Ñ(Ð*<Ð=Ø˜Ÿ™Ð(:Ð;Ø˜Ð$ð
ð 	Ø�VÐØ�6—:‘:ÐØ�6—:‘:ÐØ�6—:‘:ÐØ�V—\‘\Ð"Ø�6—>‘>Ð"Ù�MÓ"Ø�t—|‘|Ð$Ø˜Ÿ™Ð'à&Ù�d˜J¨¯©¸
ÓCðEà˜ VÐ,Ù�LÓ!ð
ð  	Ø˜Ÿ™Ð)Ø˜Ÿ™¨Ð/Ø�G—O‘O VÐ,ð
ð
 	Ø˜
Ð#Ø™h t¨ZÓ8Ð9Ø˜
Ð#Ø�W—^‘^Ð$ð	
ð 	Ø˜[Ð)Ø Ð*Ø�g×&Ñ&Ð'Ø�X—]‘]Ð#Ø�7—<‘<Ð ð
ðQ/€F÷bð rF   c                   ó<  a € ] tR tRt o RtRtR.tR.tRtRt	]
P                  tRR	]P                  3R
]3R]P"                  3R]3R]P&                  3R]3R]3R]P,                  3R]P0                  3R]P2                  3R]P4                  3R]3R]3./tR tRtV tR# )r"   i–  z
For ca65 assembler sources.
zca65 assemblerÚca65r(   zhttps://cc65.github.ioz1.6r1   r!  r<   z[a-z_.@$][\w.@$]*:z·((ld|st)[axy]|(in|de)[cxy]|asl|lsr|ro[lr]|adc|sbc|cmp|cp[xy]|cl[cvdi]|se[cdi]|jmp|jsr|bne|beq|bpl|bmi|bvc|bvs|bcc|bcs|p[lh][ap]|rt[is]|brk|nop|ta[xy]|t[xy]a|txs|tsx|and|ora|eor|bit)\bz\.\w+z[-+~*/^&|!<>=]z	"[^"\n]*.z	'[^'\n]*.z\$[0-9a-f]+|[0-9a-f]+h\br�   z%[01]+z[#,.:()=\[\]]z[a-z_.@$][\w.@$]*c                ób   € \         P                  ! R V\         P                  4      '       d   R# R# )z^\s*;gÍÌÌÌÌÌì?N)r>   r?   r]  )ru   rB   s   &&rC   rD   ÚCa65Lexer.analyse_text·  s!   € ä�9Š9�X˜t¤R§\¡\×2Ò2Ùñ 3rF   rG   N) rH   rI   rJ   rK   rL   rM   rN   rO   rQ   rR   r>   rO  r  r   r^   r   r   rX   r   ÚPseudor   r   ra   r   r`   r\   ra  r   rb   rD   rc   rd   re   s   @rC   r"   r"   –  sÚ   ø‡ € ñð €DØˆh€GØ�€IØ
"€CØ€Mà�M‰M€Eð 	Ø�W—^‘^Ð$Ø�ZÐ Ø" D§J¡JÐ/ðð !ð"ð �w—~‘~Ð&Ø Ð)Ø˜6Ð"Ø˜6Ÿ;™;Ð'Ø(¨&¯*©*Ð5Ø�V—^‘^Ð$Ø˜Ÿ
™
Ð#Ø˜{Ð+Ø! 4Ð(ð!
ð€F÷*ð rF   c                   óX  a € ] tR tRt o RtRtRtR.tRR.tR.t	R	t
. R
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-Nt. RQOtR.tR/],           R0,           ],           R1,           tR2tR3tR4R5P#                  ]4      ,           R6,           tR7],           R8,           tR9tR: tR;]! R<4      R=],           ]P0                  3]R=,           ]P0                  3]]P2                  R>3R?],           ]P2                  R@3RA]3.RB]]P8                  3]]P8                  3]]3.RC]]3]! RB4      .RDRE]3RF]RG3]! RC4      ]! R<4      .RHRA]RG3RI]RG3]! R<4      .R>RJ]3RK]RD3]! RC4      ]! RH4      .R@RJ]3]! RB4      ]]3]! RH4      .R<RL]3RM]3RN]3./t ROt!V t"RP# )Rr#   i½  z
For DCPU-16 Assembly.
ÚDASM16z http://0x10c.com/doc/dcpu-16.txtÚdasm16z*.dasm16z*.dasmztext/x-dasm16z2.4ÚSETÚADDÚSUBÚMULÚMLIÚDIVÚDVIÚMODÚMDIÚANDÚBORÚXORÚSHRÚASRÚSHLÚIFBÚIFCÚIFEÚIFNÚIFGÚIFAÚIFLÚIFUÚADXÚSBXÚSTIÚSTDÚJSRÚINTÚIAGÚIASÚRFIÚIAQÚHWNÚHWQÚHWIz[a-zA-Z0-9_$@.]r,   r-   r.   z[+-]?(?:0[xX][a-zA-Z0-9]+|\d+)z0b[01_]+z(?i)(r‘   r’   z'\\?Ú'r+   c              #  óÖ   "  € VP                  ^ 4      pVP                  4       V P                  9   d   \        P                  M\        P
                  pVP                  4       W23x € R# 5i)é    N)rk  ÚupperÚ	REGISTERSr   r]   rX   Ústart)ÚlexerrN  ÚidentÚklasss   &&  rC   Úguess_identifierÚDasm16Lexer.guess_identifierè  sC   é € Ø—‘˜A“ˆØ!&§¡£°%·/±/Ô!A”—’ÄtÇzÁzˆØ�k‰k‹m˜UÐ)Ô)ùs   ‚A'A)r1   r2   r3   r5   r4   z	data-argsr6   Únumericrm  Úderefz\+z\]r8   zinstruction-linez;.*?$r$  z\[r;   r<   r›  rG   N)ÚAÚBÚCÚXÚYÚZrh  ÚJÚSPÚPCÚEXÚPOPÚPEEKÚPUSH)#rH   rI   rJ   rK   rL   rM   rQ   rN   rO   rP   rR   ÚINSTRUCTIONSr›  rT   rU   rV   Úbinary_numberÚjoinÚinstructionÚsingle_charrS   r   r   r   rX   rZ   r   r   r\   r   r   r   rb   rc   rd   re   s   @rC   r#   r#   ½  ss  ø‡ € ñð €DØ
,€CØˆj€GØ˜XÐ&€IØ Ð!€IØ€MðØðàðàðð 	ðð ðð 	ð	ð ð	ð
 	ðð
 ðð 	ðð ðð ðð 	ðð ðð ðð 	ðð ðð ðð #ðð %*ðð ,1ðð 38ðð :?ðð 	ðð ðð 	ðð ðð 	ðð 	ðð ðð ðð #ðð %*ðð ,1ðð 38ðð :?ð€Lò€Ið €DØ! DÕ(¨7Õ2°TÕ9¸DÕ@€JØ.€FØ€MØ˜SŸX™X lÓ3Õ3°cÕ9€KØ˜D•. 3Õ&€KØ€Fò*ð 	Ù�LÓ!Ø�:Õ˜tŸz™zÐ*Ø˜#Õ˜tŸz™zÐ*Ø˜$Ÿ-™-Ð);Ð<Ø�ZÕ §¡°Ð<Ø˜Ð$ð
ð 	Ø˜FŸN™NÐ+Ø�V—^‘^Ð$Ø˜&Ð!ð
ð 	ØÐ)Ð*Ù�IÓð
ð
 	Ø�KÐ Ø�K Ð(Ù�E‹NÙ�LÓ!ð	
ð 	Ø˜ VÐ,Ø�w Ð'Ù�LÓ!ð
ð 	Ø�;ÐØ�K Ð)Ù�E‹NÙÐ&Ó'ð	
ð 	Ø�;ÐÙ�IÓØ�VÐÙÐ&Ó'ð	
ð 	Ø�JÐØ�ZÐ Ø˜Ð ð
ða5†FrF   )r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   )*rL   r>   Úpygments.lexerr   r   r   r   r   r   r   Úpygments.lexers.c_cppr	   r
   Úpygments.lexers.dr   Úpygments.tokenr   r   r   r   r   r   r   r   r   r   Ú__all__r   rl   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   rG   rF   rC   Ú<module>r»     s   ðñó 
÷÷ ñ ç 2Ý $÷)÷ )÷ )ò'€ôRˆzô Ròj2ôj-�:ô -ô:�Oô :ô<�oô <ô:�Oô :ô D�ô DôNT�
ô TônH�zô HôVL�:ô Lô^U�
ô Uôp.�|ô .ôU�
ô Uôp$�
ô $ôNe�*ö erF   