§
    XŠtjXm  ã                   ó6  — 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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dS )zæ
    pygments.lexers.basic
    ~~~~~~~~~~~~~~~~~~~~~

    Lexers for BASIC like languages (other than VB.net).

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚbygroupsÚdefaultÚwordsÚinclude)
ÚCommentÚErrorÚKeywordÚNameÚNumberÚPunctuationÚOperatorÚStringÚTextÚ
Whitespace)Ú_vbscript_builtins)ÚBlitzBasicLexerÚBlitzMaxLexerÚMonkeyLexerÚCbmBasicV2LexerÚQBasicLexerÚVBScriptLexerÚBBCBasicLexerc                    ó¢  — 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Zde› de› de› de› d�	Zedz   Zej        ej        z  Zdefd eee¦  «        fdej        fdej        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
› d�e!fd e"fd!e#j$        fd"ej%        fd#e› d$� ee&j'        ee"e#j(        ¦  «        fd%e› d&e› d$� ee&j'        ee&j)        ¦  «        fe ee#j*        ee&j+        e!ee"ee&j+        e#j(        ee&j+        ee"¦  «        fe ee#j,        ee&j+        e!ee"ee&j+        e#j(        ee&j+        ¦  «        fd'e› d$� ee&j'        ee#j(        ¦  «        fd(e&j+        fd)e&j-        fd*e&j.        f e/d+d,d,¬-¦  «        e#j0        f e/d.d,d,¬-¦  «        e&j'        fde› d$�e#j,        fgd/ej        fd0ej        d1fd2ej        fgd3œZ1d4S )5r   z#
    For BlitzMax source code.
    ÚBlitzMaxúhttp://blitzbasic.comÚblitzmaxÚbmaxz*.bmxz
text/x-bmxz1.4z\b(Shl|Shr|Sar|Mod)\bz@{1,2}|[!#$%]z&\b(Int|Byte|Short|Float|Double|Long)\bú	[a-z_]\w*ú(z)(?:(?:([ \t]*)(z?)|([ \t]*:[ \t]*\b(?:Shl|Shr|Sar|Mod)\b)|([ \t]*)(:)([ \t]*)(?:z|(z)))(?:([ \t]*)(Ptr))?)z?((?:[ \t]|\.\.\n)*)([(])ú\s+z
(\.\.)(\n)z'.*?\nz*([ \t]*)\bRem\n(\n|.)*?\s*\bEnd([ \t]*)Remú"Ústringú[0-9]+\.[0-9]*(?!\.)z\.[0-9]*(?!\.)ú[0-9]+ú\$[0-9a-f]+ú\%[10]+z(?:(?:(:)?([ \t]*)(:?z"|([+\-*/&|~]))|Or|And|Not|[=<>^]))z[(),.:\[\]]z(?:#[\w \t]*)z(?:\?[\w \t]*)z\b(New)\b([ \t]?)([(]?)(ú)z$\b(Import|Framework|Module)([ \t]+)(ú\.z\b(Type|Extends)([ \t]+)(z	\b(Ptr)\bz#\b(Pi|True|False|Null|Self|Super)\bz\b(Local|Global|Const|Field)\b)ÚTNullMethodExceptionÚTNullFunctionExceptionÚTNullObjectExceptionÚTArrayBoundsExceptionÚTRuntimeExceptionú\b©ÚprefixÚsuffix)EÚStrictÚSuperStrictÚModuleÚ
ModuleInfoÚEndÚReturnÚContinueÚExitÚPublicÚPrivateÚVarÚVarPtrÚChrÚLenÚAscÚSizeOfÚSgnÚAbsÚMinÚMaxÚNewÚReleaseÚDeleteÚIncbinÚ	IncbinPtrÚ	IncbinLenÚ	FrameworkÚIncludeÚImportÚExternÚ	EndExternÚFunctionÚEndFunctionÚTypeÚEndTypeÚExtendsÚMethodÚ	EndMethodÚAbstractÚFinalÚIfÚThenÚElseÚElseIfÚEndIfÚForÚToÚNextÚStepÚEachInÚWhileÚWendÚEndWhileÚRepeatÚUntilÚForeverÚSelectÚCaseÚDefaultÚ	EndSelectÚTryÚCatchÚEndTryÚThrowÚAssertÚGotoÚDefDataÚReadDataÚRestoreDataú""ú"C?ú#popz[^"]+©Úrootr#   N)2Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚbmax_vopwordsÚbmax_sktypesÚbmax_lktypesÚ	bmax_nameÚbmax_varÚ	bmax_funcÚreÚ	MULTILINEÚ
IGNORECASEÚflagsr   r   r   r   ÚSingleÚ	Multiliner   ÚDoubler   ÚFloatÚIntegerÚHexÚBinr   r   r   ÚLabelÚPreprocr
   ÚReservedÚClassÚ	NamespacerR   rT   ÚVariableÚConstantÚDeclarationr   Ú	ExceptionÚtokens© ó    úS/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/lexers/basic.pyr   r      s6  € € € € € ðð ð €DØ
!€CØ˜6Ð"€GØ�	€IØ�€IØ€Mà,€MØ#€LØ<€LØ€Ið]�Yð ]ð ]°ð ]ð ]Ø+7ð]ð ]Ø;Dð]ð ]ð ]€HàÐ7Ñ7€IàŒL˜2œ=Ñ(€Eð �ZÐ Ø˜H˜H T¨:Ñ6Ô6Ð7à˜œÐ'Ø:¸GÔ<MÐNà�&”- Ð*à$ f¤lÐ3Ø ¤Ð-Ø˜œÐ'Ø˜VœZÐ(Ø˜œÐ$àW mÐWÐWÐWÐYaÐbØ˜[Ð)Ø˜tœzÐ*Ø ¤Ð0à5¨Ð5Ð5Ð5ØˆX�gÔ&¨
°KÀÄÑLÔLðNàN°YÐNÐNÀ)ÐNÐNÐNØˆX�gÔ&¨
°GÔ4EÑFÔFðHà˜˜ ¤°
¸G¼LØ!)¨:°{ÀJØ!(¤¨t¬z¸:Ø!(¤¨z¸;ñHô Hð Ið �x�x ¤¨z¸7¼<ÈØ *¨K¸ÀWÄ\Ø $¤
¨J¸¼ñFô Fð Gð 7¨)Ð6Ð6Ð6ØˆX�gÔ&¨
°D´JÑ?Ô?ðAð ˜7œ<Ð(Ø3°WÔ5EÐFØ.°Ô0CÐDØˆUð %ð .3¸5ðBñ Bô Bð DHÄ>ðSð ˆUð ð (-°Uð<ñ <ô <ð Ôðð �)ÐÐÐ ¤Ð.ðq9
ðv �F”MÐ"Ø�V”] FÐ+Ø�v”}Ð%ð
ðw@ð @€F€F€Fr£   r   c                   óp  — e Zd ZdZdZdZg d¢ZddgZdgZdZ	d	Z
d
Zde› de
› de› d�Zej        ej        z  Zdefdej        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 eddd¬¦  «        efdefdefde› d�ej        fde› d� e e!j"        eej#        ¦  «        fd e› d� e e!j"        eej        ¦  «        fd!e› d"� e eeeeej#        ¦  «        fde› d#� e ej$        ee!j%        eeeej#        ee¦	  «	        fd$e› � e e!j"        eej$        ee!j%        eeeej#        ¦	  «	        fd%e› d� e e!j"        eej#        ¦  «        fd&e!j&        fd'e!j'        f ed(dd¬¦  «        e!j"        fe e ej(        ee!j%        eeeej#        ¦  «        fgd)ej        fd*ej        d+fd,ej        fgd-œZ)d.S )/r   z%
    For BlitzBasic source code.
    Ú
BlitzBasicr   )Ú
blitzbasicÚb3dÚbplusz*.bbz*.declsz	text/x-bbú2.0z@{1,2}|[#$%]z[a-z]\w*r    z)(?:([ \t]*)(z)|([ \t]*)([.])([ \t]*)(?:(z)))?r!   z;.*?\nr"   r#   r$   ú\.[0-9]+(?!\.)r%   r&   r'   )ÚShlÚShrÚSarÚModÚOrÚAndÚNotrD   rC   ÚHandleÚIntr”   ÚStrÚFirstÚLastÚBeforeÚAfterr/   r0   z([+\-*/~=<>^])z[(),:\[\]\\]z\.([ \t]*)(r(   z\b(New)\b([ \t]+)(z\b(Gosub|Goto)\b([ \t]+)(z"\b(Object)\b([ \t]*)([.])([ \t]*)(z)\bz\b([ \t]*)(\()z\b(Function)\b([ \t]+)z\b(Type)([ \t]+)(z\b(Pi|True|False|Null)\bz"\b(Local|Global|Const|Field|Dim)\b)#r7   r8   r:   r?   r@   rA   rG   rI   ÚInsertrN   rR   rT   r[   r\   r]   r^   r_   r`   ra   rb   rc   ÚEachre   rf   rh   ri   rj   rk   rl   rm   rt   ÚGosubÚDataÚReadÚRestorerx   ry   rz   ú[^"\n]+r{   N)*r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   Ú
bb_sktypesÚbb_nameÚbb_varr�   rŽ   r�   r�   r   r   r‘   r   r“   r   r”   r•   r–   r—   r   r   r   r   r˜   r   r
   rš   r›   rR   rT   rž   rŸ   r�   r¡   r¢   r£   r¤   r   r   o   s   € € € € € ðð ð €DØ
!€CØ,Ð,Ð,€GØ˜Ð#€IØ�€IØ€Mà €JØ€GØ]�7Ð]Ð]¨Ð]Ð]ÐPWÐ]Ð]Ð]€FàŒL˜2œ=Ñ(€Eð �ZÐ à˜œÐ'à�&”- Ð*à$ f¤lÐ3Ø ¤Ð-Ø˜œÐ'Ø˜VœZÐ(Ø˜œÐ$àˆUð 8ð  ¨ð/ñ /ô /ð ð	ð
  Ð)Ø˜kÐ*Ø&˜GÐ&Ð&Ð&¨¬
Ð3à- 7Ð-Ð-Ð-ØˆX�gÔ&¨
°D´JÑ?Ô?ðAà4¨'Ð4Ð4Ð4ØˆX�gÔ&¨
°D´JÑ?Ô?ðAà?°7Ð?Ð?Ð?ØˆX�h 
¨K¸ÀTÄZÑPÔPðRà)�6Ð)Ð)Ð)ØˆX�d”m Z°´¸zÈ;Ø  $¤*¨j¸+ñGô GðHð 0 vÐ/Ð/ØˆX�gÔ&¨
°D´MÀ:ÈwÌ|Ø  +¨z¸4¼:ñGô GðHð - 'Ð,Ð,Ð,ØˆX�gÔ&¨
°D´JÑ?Ô?ðAð )¨'Ô*:Ð;Ø2°GÔ4GÐHØˆUð <ð
 EJÐRWðYñ Yô Yð Ôðð �X�X˜dœm¨Z¸¼Ø(¨+°zÀ4Ä:ñOô Oð Pðc3
ðj �F”MÐ"Ø�V”] FÐ+Ø˜œÐ'ð
ðk:ð :€F€F€Fr£   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d
Zd	ZdZdZdZej        Zg def‘def‘dej        df‘dej        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› d�ej         f‘dej!        f‘de"j#        f‘de"j$        f‘d e"j$        j%        f‘d!e"j&        f‘d" e'ej(        ee"j(        e¦  «        f‘d#ej!        f‘d$ e'ej)        e¦  «        df‘d% e'ej!        e¦  «        d&f‘d' e'ej!        e¦  «        d(f‘d)ej!        f‘d*ej!        f‘d+ej!        f‘d,e*f‘d-e+f‘d.e+j,        f‘d/e*f‘e› d�e"j&        f‘e› d�e"j-        f‘e
› d�e"j.        f‘d0e› d�e"j-        fd1e*d&fdefd2e*dfd3e*d4fge› d5�e"j(        fe› d�ej         fe› d�e"j/        fd6 e'e*eej        ee*¦  «        fd7ed4fd8e*d9fd:e*d4fd;ed4f e0d4¦  «        g	e› d�e"j&        fe
› d�e"j.        fe› ej         fdefd1e*d&fd<e*d9f e0d4¦  «        gd=ej        fd>ej1        fdej        d4fgd?ej        d9fd@ej        d4fd;ej        fdAej        fgdBœZ2dCS )Dr   z!
    For Monkey source code.
    ÚMonkeyÚmonkeyz*.monkeyztext/x-monkeyz%https://blitzresearch.itch.io/monkeyxú1.6r   z[A-Z]\w*z[A-Z_][A-Z0-9_]*z
[a-z0-9_]*z+(?:Int|Float|String|Bool|Object|Array|Void)z[?%#$]r!   z'.*z(?i)^#rem\bÚcommentz6(?i)^(?:#If|#ElseIf|#Else|#EndIf|#End|#Print|#Error)\bz^#Ú	variablesr"   r#   r$   r«   r%   z\$[0-9a-fA-Z]+r'   r/   z(?i)\b(?:Try|Catch|Throw)\bÚ	Throwablez(?i)\b(?:Null|True|False)\bz(?i)\b(?:Self|Super)\bz\b(?:HOST|LANG|TARGET|CONFIG)\bz(?i)^(Import)(\s+)(.*)(\n)z(?i)^Strict\b.*\nz#(?i)(Const|Local|Global|Field)(\s+)z1(?i)(New|Class|Interface|Extends|Implements)(\s+)Ú	classnamez(?i)(Function|Method)(\s+)ÚfuncnamezB(?i)(?:End|Return|Public|Private|Extern|Property|Final|Abstract)\bz‡(?i)(?:If|Then|Else|ElseIf|EndIf|Select|Case|Default|While|Wend|Repeat|Until|Forever|For|To|Until|Step|EachIn|Next|Exit|Continue)(?=\s)z(?i)\b(?:Module|Inline)\bz[\[\]]z.<=|>=|<>|\*=|/=|\+=|-=|&=|~=|\|=|[-&*/^+=<>|~]z(?i)(?:Not|Mod|Shl|Shr|And|Or)z[(){}!#,.:]z(?i)ú:z\(z\)rz   r)   z(\[)(\s*)(\d*)(\s*)(\])z\s+(?!<)ú<z#pushú>ú\nú,z[^"~]+z~q|~n|~r|~t|~z|~~z(?i)^#rem.*?z(?i)^#end.*?z.+)r|   rÌ   rË   rÉ   r#   rÈ   N)3r}   r~   r   r€   r�   rƒ   r„   r…   r‚   r†   Úname_variableÚname_functionÚname_constantÚ
name_classÚname_moduleÚkeyword_typeÚkeyword_type_specialr�   rŽ   r�   r   r   r’   r™   r   r“   r   r”   r•   r–   r—   r
   rT   rš   r   r    ÚBuiltinÚPseudorž   r   rœ   rŸ   r   r   ÚWordrR   r�   r›   r   ÚEscaper¡   r¢   r£   r¤   r   r   ½   sÐ  € € € € € ðð ð €DØˆj€GØ�€IØ Ð!€IØ
1€CØ€Mà €MØ€MØ'€MØ€JØ€KàA€Là$ÐàŒL€Eð:
à�ZÐ ð:
ð �WÐð	:
ð
 ˜WÔ.°	Ð:ð:
ð GÈÌÐXð:
ð �G”O [Ð1ð:
ð �&”- Ð*ð:
ð % f¤lÐ3ð:
ð  ¤Ð-ð:
ð ˜œÐ'ð:
ð   ¤
Ð+ð!:
ð" ˜œÐ$ð#:
ð& $�<Ð#Ð#Ð# W¤\Ð2ð':
ð* ,¨WÔ-=Ð>ð+:
ð, ˜4œ>Ð*ð-:
ð0 ,¨T¬\Ð:ð1:
ð2 '¨¬Ô(;Ð<ð3:
ð4 0°´Ð?ð5:
ð8 +ØˆX�gÔ'¨°T´^ÀZÑPÔPðRð9:
ð< " 7Ô#3Ð4ð=:
ð> 4ØˆX�gÔ)¨:Ñ6Ô6¸ðEð?:
ðB BØˆX�gÔ&¨
Ñ3Ô3°[ðBðC:
ðF +ØˆX�gÔ&¨
Ñ3Ô3°ZðAðG:
ðJ"Ø#*Ô#3ð5ðK:
ðP%ð
 '.Ô&6ð8ðQ:
ð^ *¨7Ô+;Ð<ð_:
ðb ˜Ð$ðc:
ðf ?ÀÐIðg:
ðh /°´Ð>ði:
ðj ˜[Ð)ðk:
ðn Ð"Ð"Ð" D¤MÐ2ðo:
ðp Ð"Ð"Ð" D¤MÐ2ðq:
ðr Ð"Ð"Ð" D¤MÐ2ðs:
ðx '�]Ð&Ð&Ð&¨¬Ð6Ø�; Ð,Ø�ZÐ Ø�K Ð-Ø�K Ð(ð
ð Ð Ð Ð  $¤.Ð1ØÐ!Ð!Ð! 7¤<Ð0ØÐÐÐ ¤Ð,à'ØˆX�k :¨v¬~¸zÈ;ÑWÔWðYð ˜* fÐ-Ø�; Ð(Ø�; Ð'Ø�J Ð'ØˆG�F‰OŒOð
ð Ð"Ð"Ð" D¤MÐ2ØÐ"Ð"Ð" D¤MÐ2Ø%Ð'¨¬Ð6Ø�ZÐ Ø�; Ð,Ø�; Ð(ØˆG�F‰OŒOð
ð ˜œÐ&Ø! 6¤=Ð1Ø�6”= &Ð)ð
ð ˜gÔ/°Ð9Ø˜gÔ/°Ð8Ø�GÔ%Ð&Ø�GÔ%Ð&ð	
ðeð e€F€F€Fr£   r   c                   óÄ   — e Zd ZdZdZdgZdgZdZdZe	j
        Zddej        fd	e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        fdefdefgiZd„ ZdS )r   z#
    For CBM BASIC V2 sources.
    zCBM BASIC V2Úcbmbasú*.basz-https://en.wikipedia.org/wiki/Commodore_BASICrÇ   r|   zrem.*\nr!   z–new|run|end|for|to|next|step|go(to|sub)?|on|return|stop|cont|if|then|input#?|read|wait|load|save|verify|poke|sys|print#?|list|clr|cmd|open|close|get#?zdata|restore|dim|let|def|fnzktab|spc|sgn|int|abs|usr|fre|pos|sqr|rnd|log|exp|cos|sin|tan|atn|peek|len|val|asc|(str|chr|left|right|mid)\$z
[-+*/^<>=]z
not|and|orz	"[^"\n]*.z\d+|[-+]?\d*\.\d*(e[-+]?\d+)?z[(),:;]z\w+[$%]?c                 ó4   — t          j        d| ¦  «        rdS d S )Nz^\d+gš™™™™™É?)r�   Úmatch©Útexts    r¤   Úanalyse_textzCbmBasicV2Lexer.analyse_text\  s'   € õ Œ8�G˜TÑ"Ô"ð 	Ø�3ð	ð 	r£   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   =  sØ   € € € € € ðð ð €DØˆj€GØ�	€IØ
9€CØ€MàŒM€Eð 	Ø˜œÐ(Ø�ZÐ ð/à07Ô0@ðBð ,¨WÔ-@ÐAð=Ø>B¼lðLà˜HÐ%Ø˜HœMÐ*Ø˜6Ð"Ø-¨v¬|Ð<Ø˜Ð%Ø˜$Ðð
ð€Fð&ð ð ð ð r£   r   c                   óØ  — e 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Zdefdej        fd eej        ej        ej        ej        ¦  «        fd eej        ej        ej        ¦  «        fdej        j        fdej        fdej        fd eej        ej        ej        ¦  «        fd eej        ej        ej        ej        e¦  «        fd eej        ej        ej        ej        ej        j        ¦  «        fd eej        ej        ej        j        ¦  «        fd eej        ej        j        ej        e¦  «        fd eej        ej        ej        ¦  «        fd eej        ej        ej        ¦  «        f ed¦  «         ed¦  «         ed ¦  «         ed!¦  «         ed"¦  «         ed#¦  «        d$ej        j        fd%ej        fd&e j!        fd'e j!        fd(e j"        j#        fd(e j"        fd)efd*e$fd+ej        j        fgd, %                    d- &                     e'e(j)        e
¦  «        ¦  «        ¦  «        ej        fgd, %                    d- &                     e'e(j)        e¦  «        ¦  «        ¦  «        ej        fgd, %                    d- &                     e'e(j)        e¦  «        ¦  «        ¦  «        ej*        fgd, %                    d- &                     e'e(j)        e¦  «        ¦  «        ¦  «        ej+        fgd. %                    d- &                     e'e(j)        e¦  «        ¦  «        ¦  «        ej        fgd. %                    d- &                    e¦  «        ¦  «        efgd/œZ,d0„ Z-d1S )2r   z!
    For QBasic source code.
    ÚQBasicÚqbasicÚbasicz*.BASrß   z
text/basicz$https://en.wikipedia.org/wiki/QBasicrª   )ÚDATAÚLET)UÚABSÚASCÚATNÚCDBLúCHR$ÚCINTÚCLNGzCOMMAND$ÚCOSÚCSNGÚCSRLINÚCVDÚCVDMBFÚCVIÚCVLÚCVSÚCVSMBFúDATE$zENVIRON$ÚEOFÚERDEVzERDEV$ÚERLÚERRÚEXPÚFILEATTRÚFIXÚFREÚFREEFILEzHEX$úINKEY$ÚINPzINPUT$ÚINSTRÚINTzIOCTL$ÚLBOUNDzLCASE$úLEFT$ÚLENÚLOCÚLOFÚLOGÚLPOSzLTRIM$úMID$zMKD$zMKDMBF$zMKI$zMKL$zMKS$zMKSMBF$zOCT$ÚPEEKÚPENÚPLAYÚPMAPÚPOINTÚPOSúRIGHT$ÚRNDzRTRIM$ÚSADDÚSCREENÚSEEKÚSETMEMÚSGNÚSINzSPACE$ÚSPCÚSQRÚSTICKúSTR$ÚSTRIGúSTRING$ÚTABÚTANúTIME$ÚTIMERÚUBOUNDzUCASE$ÚVALÚVARPTRzVARPTR$ÚVARSEG)ú$DYNAMICz$INCLUDEú$STATIC)ÚANDÚEQVÚIMPÚNOTÚORÚXOR)�ÚBEEPÚBLOADÚBSAVEÚCALLzCALL ABSOLUTEzCALL INTERRUPTÚCALLSÚCHAINÚCHDIRÚCIRCLEÚCLEARÚCLOSEÚCLSÚCOLORÚCOMÚCOMMONÚCONSTré   rû   ÚDECLAREzDEF FNzDEF SEGÚDEFDBLÚDEFINTÚDEFLNGÚDEFSNGÚDEFSTRÚDEFÚDIMÚDOÚLOOPÚDRAWÚENDÚENVIRONÚERASEÚERRORÚEXITÚFIELDÚFILESÚFORÚNEXTÚFUNCTIONÚGETÚGOSUBÚGOTOÚIFÚTHENÚINPUTzINPUT #ÚIOCTLÚKEYr`  ÚKILLrê   ÚLINEz
LINE INPUTzLINE INPUT #ÚLOCATEÚLOCKÚUNLOCKÚLPRINTÚLSETr  ÚMKDIRÚNAMEzON COMzON ERRORzON KEYzON PENzON PLAYzON STRIGzON TIMERz	ON UEVENTÚONÚOPENzOPEN COMzOPTION BASEÚOUTÚPAINTÚPALETTEÚPCOPYr  r  ÚPOKEÚPRESETÚPRINTzPRINT #zPRINT USINGÚPSETÚPUTrt  Ú	RANDOMIZEÚREADÚREDIMÚREMÚRESETÚRESTOREÚRESUMEÚRETURNÚRMDIRÚRSETÚRUNr  r  zSELECT CASEÚSHAREDÚSHELLÚSLEEPÚSOUNDÚSTATICÚSTOPr#  ÚSUBÚSWAPÚSYSTEMr'  r(  ÚTROFFÚTRONÚTYPEÚUEVENTre  ÚVIEWÚWAITÚWHILEÚWENDÚWIDTHÚWINDOWÚWRITE)#ÚACCESSÚALIASÚANYÚAPPENDÚASÚBASEÚBINARYÚBYVALÚCASEÚCDECLÚDOUBLEÚELSEÚELSEIFÚENDIFÚINTEGERÚISÚLISTÚLOCALÚLONGrM  ÚMODrW  ÚOFFrj  ÚOUTPUTÚRANDOMÚSIGNALÚSINGLEÚSTEPÚSTRINGr]  ÚTOÚUNTILÚUSINGr�  z\n+r!   z^(\s*)(\d*)(\s*)(REM .*)$z^(\s*)(\d+)(\s*)z(?=[\s]*)(\w+)(?=[\s]*=)z(?=[^"]*)\'.*$z	"[^\n"]*"z"(END)(\s+)(FUNCTION|IF|SELECT|SUB)z (DECLARE)(\s+)([A-Z]+)(\s+)(\S+)z (DIM)(\s+)(SHARED)(\s+)([^\s(]+)z(DIM)(\s+)([^\s(]+)z^(\s*)([a-zA-Z_]+)(\s*)(\=)z(GOTO|GOSUB)(\s+)(\w+\:?)z(SUB)(\s+)(\w+\:?)ÚdeclarationsÚ	functionsÚmetacommandsÚ	operatorsÚ
statementsÚkeywordsz[a-zA-Z_]\w*[$@#&!]z[a-zA-Z_]\w*\:z\-?\d*\.\d+[@|#]?z\-?\d+[@|#]z\-?\d+#?z'!=|==|:=|\.=|<<|>>|[-~+/\\*%=<>&^|?:!.]z[\[\]{}(),;]z[\w]+z\b({})(?=\(|\b)ú|z\b({})\b)r|   r²  r³  r´  rµ  r¶  r·  c                 ó   — d| v sd| v rdS d S )Nr-  r.  çÍÌÌÌÌÌì?r¢   râ   s    r¤   rä   zQBasicLexer.analyse_textë  s$   € Ø˜ÐÐ ¨dÐ!2Ð!2Ø�3ð "3Ð!2r£   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�   ÚGlobalr   r“   r
   rš   rŸ   r   r   r   r”   r•   ÚLongr   ÚformatÚjoinÚmapr�   Úescaperž   rÛ   r¡   rä   r¢   r£   r¤   r   r   c  s)  € € € € € ðð ð €DØ˜Ð!€GØ˜'Ð"€IØ�€IØ
0€CØ€Mà"€Lð€Ið  7€Là9€Ið€Jð.€Hð �TˆNØ�T”_Ð%Ø)ØˆX�d”o t¤z°4´?Ø”nñ&ô &ð'ð !ØˆX�d”o t¤z°4´?ÑCÔCðEà(¨$¬-Ô*>Ð?Ø ¤Ð/Ø˜6œ=Ð)Ø2ØˆX�gÔ&¨¬¸Ô9IÑJÔJðLà0ØˆX�gÔ)¨4¬?¸D¼MØ”o tñ-ô -ð.ð 1ØˆX�gÔ)¨4¬?¸D¼MØ”o t¤}Ô';ñ=ô =ð>ð $ØˆX�gÔ)¨4¬?¸D¼MÔ<PÑQÔQðSà+ØˆX�d”o t¤}Ô';¸T¼_Øñ ô  ð!ð *ØˆX�gÔ&¨¬¸¼ÑDÔDðFà"ØˆX�gÔ&¨¬¸¼ÑDÔDðFàˆG�NÑ#Ô#ØˆG�KÑ Ô ØˆG�NÑ#Ô#ØˆG�KÑ Ô ØˆG�LÑ!Ô!ØˆG�JÑÔØ# T¤]Ô%9Ð:Ø ¤
Ð+Ø! 6¤<Ð0Ø˜Vœ\Ð*Ø˜&œ.Ô-Ð.Ø˜&œ.Ð)Ø7¸ÐBØ˜kÐ*Ø�t”}Ô+Ð,ðU+
ð^  ×&Ò& s§x¢x°°°B´I¸|Ñ0LÔ0LÑ'MÔ'MÑNÔNØÔ ð"ð
ð
  ×&Ò& s§x¢x°°°B´I¸yÑ0IÔ0IÑ'JÔ'JÑKÔKØÔðð
ð
  ×&Ò& s§x¢x°°°B´I¸|Ñ0LÔ0LÑ'MÔ'MÑNÔNØÔðð
ð
  ×&Ò& s§x¢x°°°B´I¸yÑ0IÔ0IÑ'JÔ'JÑKÔKÈXÌ]Ð[ð
ð ×Ò §¢¨¨¨R¬Y¸
Ñ)CÔ)CÑ DÔ DÑEÔEØÔðð
ð
 ×Ò §¢¨Ñ 2Ô 2Ñ3Ô3°WÐ=ð
ðEEð E€FðNð ð ð ð r£   r   c                   ó  — e Zd ZdZdZdgZddgZdZdZe	j
        Zdej        fd	e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fd eej        eej        ¦  «        dfd eej        eej        ¦  «        fd eej        eej        ¦  «        fd eej        eej        ¦  «        fd eeee¦  «        fd eeeeeeeej        ¦  «        fd eeeeeeee¦  «        fd eeee¦  «        fd eej        eej        eej        ¦  «        fdej        f eej         d¬¦  «        ef eej!        ¦  «        e"f eej#        d¬¦  «        e"j$        f eej%        d¬¦  «        ej        f eej&        d¬¦  «        ej'        f eej(        d¬¦  «        ej'        fdefd e"f ed!¦  «        e)fd"e*fgd# eee)eej        ¦  «        f e+d$¦  «        gd%ej        fd&ej        fd
ej        d$fd'e*d$fgd(œZ,d)S )*r   zI
    VBScript is scripting language that is modeled on Visual Basic.
    ÚVBScriptÚvbscriptz*.vbsz*.VBSzEhttps://learn.microsoft.com/en-us/previous-versions/t0aew7h6(v=vs.85)ú2.4z'[^\n]*r!   r"   r#   z&h[0-9a-f]+z[0-9]+\.[0-9]*(e[+-]?[0-9]+)?z\.[0-9]+(e[+-]?[0-9]+)?z[0-9]+e[+-]?[0-9]+r%   z#.+#z(dim)(\s+)([a-z_][a-z0-9_]*)Údim_morez%(function|sub)(\s+)([a-z_][a-z0-9_]*)z(class)(\s+)([a-z_][a-z0-9_]*)z(const)(\s+)([a-z_][a-z0-9_]*)z/(end)(\s+)(class|function|if|property|sub|with)z#(on)(\s+)(error)(\s+)(goto)(\s+)(0)z((on)(\s+)(error)(\s+)(resume)(\s+)(next)z(option)(\s+)(explicit)z3(property)(\s+)(get|let|set)(\s+)([a-z_][a-z0-9_]*)zrem\s.*[^\n]*r/   )r2   z[a-z_][a-z0-9_]*z\b_\nz(),.:z.+(\n)?z(\s*)(,)(\s*)([a-z_][a-z0-9]*)rz   rÀ   z\"\"rÐ   )r|   rÅ  r#   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�   rR   r›   rž   ÚPropertyr   r   ÚKEYWORDSÚ	OPERATORSr   ÚOPERATOR_WORDSrÛ   ÚBUILTIN_CONSTANTSÚBUILTIN_FUNCTIONSrÙ   ÚBUILTIN_VARIABLESr   r	   r   r¡   r¢   r£   r¤   r   r   ð  s  € € € € € ðð ð €DØˆl€GØ˜'Ð"€IØ
Q€CØ€MàŒM€Eð ˜œÐ(Ø�ZÐ Ø�&”- Ð*Ø˜FœJÐ'à-¨v¬|Ð<Ø'¨¬Ð6Ø" F¤LÐ1Ø˜œÐ'Ø�VÐØ,ØˆX�gÔ)¨:°t´}ÑEÔEÀzðSà5ØˆX�gÔ)¨:°t´}ÑEÔEðGà.ØˆX�gÔ)¨:°t´zÑBÔBðDà.ØˆX�gÔ)¨:°t´}ÑEÔEðGà?ØˆX�g˜z¨7Ñ3Ô3ð5à3ØˆX�g˜z¨7°JÀÈÐU[ÔUcÑdÔdðfà8ØˆX�g˜z¨7°JÀÈÐU\Ñ]Ô]ð_à'¨¨°'¸:ÀwÑ)OÔ)OÐPØCØˆX�gÔ)¨:°wÔ7JÈJÐX\ÔXeÑfÔfðhà˜wœ~Ð.ØˆUÐ%Ô.°uÐ=Ñ=Ô=¸wÐGØˆUÐ%Ô/Ñ0Ô0°(Ð;ØˆUÐ%Ô4¸UÐCÑCÔCÀXÄ]ÐSØˆUÐ%Ô7ÀÐFÑFÔFÈÌÐVØˆUÐ%Ô7ÀÐFÑFÔFÈÌÐUØˆUÐ%Ô7ÀÐFÑFÔFÈÌÐUØ  $Ð'Ø�xÐ ØˆU�8‰_Œ_˜kÐ*Ø˜ÐðM'
ðR /ØˆX�j +¨z¸4¼=ÑIÔIðKàˆG�F‰OŒOð
ð ˜œÐ'Ø�f”mÐ$Ø�6”= &Ð)Ø�E˜6Ð"ð	
ð]4ð 4€F€F€Fr£   r   c                   ór  — e Zd ZdZg d¢Zg d¢ZdZdgZdgZdZ	dZ
d	ej        fd
 eej        ej        ¦  «        f ed¦  «        gd eej        ej        ¦  «        fdedfdefdej        fd eej        eej        ej        ¦  «        fd eeej        ¦  «        fd eeeej        ¦  «        fdej        fdej        f ee¦  «        ef ee¦  «        e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"fgd ej        fdej        d!fde#dfgd"œZ$d#„ Z%d$S )%r   zy
    BBC Basic was supplied on the BBC Micro, and later Acorn RISC OS.
    It is also used by BBC Basic For Windows.
    )wÚ	OTHERWISEr/  ÚDIVÚEORr§  r3  rR  rb  r¨  r­  r  r%  rŸ  r]  ÚOPENINÚPTRÚPAGEÚTIMEÚLOMEMÚHIMEMrë   ÚACSÚADVALrì   ÚASNrí   ÚBGETrò   ÚCOUNTÚDEGrþ   rÿ   ÚEVALr   ÚEXTÚFALSEÚFNrY  ÚINKEYr  r  r  ÚLNr  r2  ÚOPENUPÚOPENOUTÚPIr  r  ÚRADr  r  r  r   r&  r¯  ÚTRUEÚUSRr*  ÚVPOSrï   zGET$r  r
  r  r  r"  r$  rü   rÒ  rÓ  rÔ  rÕ  rÖ  rƒ  ÚBPUTr8  r:  r=  r>  ÚCLGr?  ré   rJ  rK  rN  rO  ÚENDPROCÚENVELOPErV  rZ  r[  ÚGCOLr\  r^  rê   r¥  ÚMODEÚMOVErW  rj  ÚVDUÚPLOTrr  ÚPROCrv  rx  ÚREPEATÚREPORTrz  r|  r  r…  ÚCOLOURÚTRACEr°  r‘  ÚOSCLI)/ÚWHENÚOFÚENDCASEr¡  ÚENDWHILErœ  r<  ÚFILLÚORIGINr  Ú	RECTANGLEr‡  r�  rŽ  ÚMOUSEÚQUITÚSYSÚINSTALLÚLIBRARYÚTINTÚELLIPSEÚBEATSÚTEMPOÚVOICESÚVOICEÚSTEREOÚOVERLAYr—  ÚAUTOÚCRUNCHÚDELETEÚEDITÚHELPr¤  ÚLOADÚLVARÚNEWÚOLDÚRENUMBERÚSAVEÚTEXTLOADÚTEXTSAVEÚTWINÚTWINOr  ÚSUMÚBEATz	BBC BasicÚbbcbasicz*.bbcz(https://www.bbcbasic.co.uk/bbcbasic.htmlrÄ  r%   z(\*)([^\n]*)Úcodez(REM)([^\n]*)rÐ   r|   r!   rÍ   z%(DEF)(\s*)(FN|PROC)([A-Za-z_@][\w@]*)z(FN|PROC)([A-Za-z_@][\w@]*)z#(GOTO|GOSUB|THEN|RESTORE)(\s*)(\d+)z(TRUE|FALSE)z>(PAGE|LOMEM|HIMEM|TIME|WIDTH|ERL|ERR|REPORT\$|POS|VPOS|VOICES)r"   r#   z%[01]{1,32}z&[0-9a-f]{1,8}z"[+-]?[0-9]+\.[0-9]*(E[+-]?[0-9]+)?z[+-]?\.[0-9]+(E[+-]?[0-9]+)?z[+-]?[0-9]+E[+-]?[0-9]+z[+-]?\d+z([A-Za-z_@][\w@]*[%$]?)z1([+\-]=|[$!|?+\-*/%^=><();]|>=|<=|<>|<<|>>|>>>|,)rÀ   rz   )r|   r  r#   c                 ó^   — |                       d¦  «        s|                       d¦  «        rdS d S )Nz10REM >zREM >rº  )Ú
startswithrâ   s    r¤   rä   zBBCBasicLexer.analyse_textŽ  s8   € Ø�?Š?˜9Ñ%Ô%ð 	¨¯ª¸Ñ)AÔ)Að 	Ø�3ð	ð 	r£   N)&r}   r~   r   r€   Úbase_keywordsÚbasic5_keywordsr�   rƒ   r„   r‚   r†   r   r˜   r   r
   rÚ   r   ÚSpecialr   rŸ   r‘   r   r™   rR   rž   r   r   r“   r   r—   r–   r”   r•   r�   r   r	   r¡   rä   r¢   r£   r¤   r   r   3  s  € € € € € ðð ð9ð 9ð 9€Mð$Bð Bð B€Oð €DØˆl€GØ�	€IØ
4€CØ€Mð ˜œ
Ð#ØØˆX�g”n g¤oÑ6Ô6ð8àˆG�F‰OŒOð	
ð ØˆX�gÔ)¨7¬>Ñ:Ô:ð<à�J Ð'Ø�ZÐ Ø�7”?Ð#ð 6ØˆX�gÔ)¨:ØÔ)¨4¬=ñ:ô :ð;ð ,ØˆX�g˜tœ}Ñ-Ô-ð/ð 4ØˆX�g˜z¨4¬:Ñ6Ô6ð8ð ˜gÔ.Ð/ØNØŒ^ðð ˆU�=Ñ!Ô! 7Ð+ØˆU�?Ñ#Ô# WÐ-à�&”- Ð*à˜FœJÐ'Ø˜vœzÐ*à2°F´LÐAØ,¨f¬lÐ;Ø'¨¬Ð6Ø˜&œ.Ð)à'¨¬Ð7ØAÀ8ÐLðG$
ðL ˜œÐ'Ø�6”= &Ð)Ø�E˜6Ð"ð
ð[2ð 2€Fðhð ð ð ð r£   r   )r€   r�   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   r   Úpygments.lexersr   Ú__all__r   r   r   r   r   r   r   r¢   r£   r¤   ú<module>r)     sG  ððð ð 
€	€	€	à HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4à .Ð .Ð .Ð .Ð .Ð .ð<ð <ð <€ðUð Uð Uð Uð U�Jñ Uô Uð UðpKð Kð Kð Kð K�jñ Kô Kð Kð\}ð }ð }ð }ð }�*ñ }ô }ð }ð@#ð #ð #ð #ð #�jñ #ô #ð #ðLJð Jð Jð Jð J�*ñ Jô Jð JðZ@ð @ð @ð @ð @�Jñ @ô @ð @ðF]ð ]ð ]ð ]ð ]�Jñ ]ô ]ð ]ð ]ð ]r£   