§
    XŠtjD ã                   óà  — d Z ddlZddlmZ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mZ ddlmZmZ g d¢Zd„ Z G d„ d	e¦  «        Zd
„ Z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# 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.scripting
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for scripting and embedded languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroupsÚdefaultÚcombinedÚwords)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚErrorÚ
WhitespaceÚOther)Úget_bool_optÚget_list_opt)ÚLuaLexerÚ	LuauLexerÚMoonScriptLexerÚChaiscriptLexerÚLSLLexerÚAppleScriptLexerÚ	RexxLexerÚMOOCodeLexerÚHybrisLexerÚEasytrieveLexerÚJclLexerÚMiniScriptLexerc                  óJ   — ddl m}  d„ |                      ¦   «         D ¦   «         S )Nr   ©ÚMODULESc                 ó   — g | ]	}|D ]}|‘ŒŒ
S © r&   )Ú.0ÚvaluesÚws      úW/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/lexers/scripting.pyú
<listcomp>z$all_lua_builtins.<locals>.<listcomp>   s%   € Ð=Ð=Ð=�&°fÐ=Ð=°ˆAÐ=Ð=Ð=Ð=ó    )Úpygments.lexers._lua_builtinsr$   r(   r#   s    r*   Úall_lua_builtinsr.      s2   € Ø5Ð5Ð5Ð5Ð5Ð5Ø=Ð=˜GŸNšNÑ,Ô,Ð=Ñ=Ô=Ð=r,   c                   óê  — e Zd ZdZdZdZdgZddgZddgZd	Z	d
Z
dZdZde
› de› de› d�ZdZdZdej        f ed¦  «        ge
ej        feej        feefg ed¦  «        dej        fdej        fdej        fdej        fdefdedfdefdefdefdej        f eg d ¢d!¬"¦  «        e j!        fd#e j!        d$fd%e j"        fd&e j#        fd'e j!        d(f e e$¦   «         d!¬"¦  «        e%j&        fd)e› d*�e%j'        d+fd)e› d,�e%j(        fd-e%j'        fd.ej         e)d/d0¦  «        fd1ej*         e)d/d2¦  «        fg ed¦  «        d3ed4fd5efe› d6e› d*�e%j+        fe› d6e› d,�e%j(        d4fee%j+        d4fg ed¦  «        d5efe› d6e› d*�e%j,        fee%j(        d4fd7ed4fg ed¦  «        ee%j-        d4fg ed¦  «        ded4fee%j-        fgd8ej.        fgd.ej        d4fd9ej        fgd1ej*        d4fd:ej*        fgd;œ
Z/d<„ Z0d=„ Z1d>S )?r   a†  
    For Lua source code.

    Additional options accepted:

    `func_name_highlighting`
        If given and ``True``, highlight builtin function names
        (default: ``True``).
    `disabled_modules`
        If given, must be a list of module names whose function names
        should not be highlighted. By default all modules are highlighted.

        To get a list of allowed modules have a look into the
        `_lua_builtins` module:

        .. sourcecode:: pycon

            >>> from pygments.lexers._lua_builtins import MODULES
            >>> MODULES.keys()
            ['string', 'coroutine', 'modules', 'io', 'basic', ...]
    ÚLuazhttps://www.lua.org/Úluaz*.luaz*.wluaz
text/x-luazapplication/x-luaÚ ú-(?:--\[(?P<level>=*)\[[\w\W]*?\](?P=level)\])ú	(?:--.*$)z(?:\s+(?!\s))z(?:ú|ú)ú\sz(?:[^\W\d]\w*)ú#!.*ÚbaseÚwsz'(?i)0x[\da-f]*(\.[\da-f]*)?(p[+-]?\d+)?ú#(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?ú(?i)\d+e[+-]?\d+ú\d+ú(?s)\[(=*)\[.*?\]\1\]z::Úlabelz\.{3}z[=<>|~&+\-*/%#^]+|\.\.z[\[\]{}().,:;]+ú(and|or|not)\b)ÚbreakÚdoÚelseÚelseifÚendÚforÚifÚinÚrepeatÚreturnÚthenÚuntilÚwhileú\b©Úsuffixzgoto\bÚgotoz	(local)\bú(true|false|nil)\bz(function)\bÚfuncnamez[A-Za-z_]\w*(?=ú*[.:])Úvarnamez*\()ú[A-Za-z_]\w*ú'ÚstringescapeÚsqsú"Údqsz\.\.ú#popú[.:]z(?=ú\(zM\\([abfnrtv\\"\']|[\r\n]{1,2}|z\s*|x[0-9a-fA-F]{2}|\d{1,3}|u\{[0-9a-fA-F]+\})ú[^\\']+ú[^\\"]+)
Úrootr:   r9   rU   rS   rQ   r?   rX   rY   r[   c                 ó<  — t          |dd¦  «        | _        t          |dg ¦  «        | _        t	          ¦   «         | _        | j        rCddlm} |                     ¦   «         D ](\  }}|| j        vr| j         	                    |¦  «         Œ)t          j        | fi |¤Ž d S )NÚfunc_name_highlightingTÚdisabled_modulesr   r#   )r   rc   r   rd   ÚsetÚ
_functionsr-   r$   ÚitemsÚupdater   Ú__init__)ÚselfÚoptionsr$   ÚmodÚfuncs        r*   ri   zLuaLexer.__init__¢   s¸   € Ý&2ØÐ-¨tñ'5ô '5ˆÔ#å ,¨WÐ6HÈ"Ñ MÔ MˆÔå™%œ%ˆŒØÔ&ð 	1Ø=Ð=Ð=Ð=Ð=Ð=Ø$Ÿ]š]™_œ_ð 1ð 1‘	��TØ˜dÔ3Ð3Ð3Ø”O×*Ò*¨4Ñ0Ô0Ð0øÝÔ˜DÐ,Ð, GÐ,Ð,Ð,Ð,Ð,r,   c              #   ó`  K  — t          j        | |¦  «        D ]•\  }}}|t          j        u rz|| j        vrqd|v r`|                     d¦  «        \  }}|t          |fV — |t          |¦  «        z   t          dfV — |t          |¦  «        z   dz   t          |fV — n|t          |fV — ŒŽ|||fV — Œ–d S )Nú.é   )r   Úget_tokens_unprocessedr   ÚBuiltinrf   ÚsplitÚlenr   )rj   ÚtextÚindexÚtokenÚvalueÚaÚbs          r*   rq   zLuaLexer.get_tokens_unprocessed¯   sê   è è € åÔ1°$¸Ñ=Ô=ð	&ð 	&ÑˆE�5˜%à�œÐ$Ð$¨°d´oÐ)EÐ)EØ˜%�<�<Ø Ÿ;š; sÑ+Ô+‘D�A�qØ¥ q˜.Ð(Ð(Ð(Ø¥# a¡&¤&™.­+°sÐ:Ð:Ð:Ð:Ø¥# a¡&¤&™.¨1Ñ,­d°AÐ5Ð5Ð5Ð5Ð5à¥ uÐ,Ð,Ð,Ð,ØØ˜ Ð%Ð%Ð%Ð%Ð%ð	&ð 	&r,   N)2Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚ_comment_multilineÚ_comment_singleÚ_spaceÚ_sÚ_s_laÚ_namer
   ÚPreprocr   Ú	MultilineÚSingler   r   r   ÚHexÚFloatÚIntegerr   r   r   ÚWordr   r   ÚReservedÚDeclarationÚConstantr.   r   rr   ÚVariableÚFunctionr   ÚDoubleÚPropertyÚClassÚLabelÚEscapeÚtokensri   rq   r&   r,   r*   r   r      s�  € € € € € ðð ð, €DØ
 €CØˆg€GØ˜(Ð#€IØÐ2Ð3€IØ€MàIÐØ"€OØ€FØ	@Ð"Ð	@Ð	@ _Ð	@Ð	@°vÐ	@Ð	@Ð	@€Bð €EØ€Eð
 �g”oÐ&ØˆG�F‰OŒOð
ð   Ô!2Ð3Ø˜gœnÐ-Ø�ZÐ ð
ð ˆG�D‰MŒMà7¸¼ÐDØ3°V´\ÐBØ  &¤,Ð/Ø�V”^Ð$ð & vÐ.à�K Ð)Ø�{Ð#Ø&¨Ð1Ø Ð-Ø ¤Ð.àˆUð ð ð ð ðñ ô ð &Ô.ð0ð ˜Ô(¨&Ð1Ø˜7Ô.Ð/Ø" GÔ$4Ð5à˜gÔ.°
Ð;àˆUÐ#Ð#Ñ%Ô%¨eÐ4Ñ4Ô4°d´lÐCØ- Ð-Ð-Ð-¨t¬}¸iÐHØ+ Ð+Ð+Ð+¨T¬]Ð;Ø˜dœmÐ,à�&”-  ¨.¸%Ñ!@Ô!@ÐAØ�&”-  ¨.¸%Ñ!@Ô!@ÐAðC"
ðJ ˆG�D‰MŒMØ�h Ð'Ø�kÐ"ØÐ(Ð(˜5Ð(Ð(Ð(¨$¬-Ð8ØÐ&Ð&˜5Ð&Ð&Ð&¨¬°vÐ>Ø�D”M 6Ð*ð
ð ˆG�D‰MŒMØ�kÐ"ØÐ(Ð(˜5Ð(Ð(Ð(¨$¬*Ð5Ø�D”M 6Ð*à�K Ð(ð
ð ˆG�D‰MŒMØ�D”J Ð'ð
ð ˆG�D‰MŒMØ�K Ð(Ø�D”JÐð
ð#Ø$*¤Mð3ð
ð �6”= &Ð)Ø˜œÐ'ð
ð �6”= &Ð)Ø˜œÐ'ð
ðmZð Z€Fðx-ð -ð -ð&ð &ð &ð &ð &r,   r   c                 ó€  — dt           j        dfdt           j        dfdt           j        dft	          dd¬¦  «        t
          j        dfdt          dfd	t          t          t          j        ¦  «        dfd
t          t          t          j        ¦  «        dfd|› d�t          j        dfdt          dfg	}| r|S d„ |D ¦   «         S )Nz0[xX][\da-fA-F_]*r\   z0[bB][\d_]*z,\.?\d[\d_]*(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)ÚtrueÚfalseÚnilrN   rO   z\[(=*)\[[.\n]*?\]\1\]z (\.)([a-zA-Z_]\w*)(?=%s*[({"\'])ú(\.)([a-zA-Z_]\w*)z"[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*(?=z	*[({"\'])z[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*c                 ó"   — g | ]}|d d…         ‘ŒS )Né   r&   ©r'   Úentrys     r*   r+   z)_luau_make_expression.<locals>.<listcomp>Ñ   s    € Ð-Ð-Ð-˜%ˆE�"�1�"ŒIÐ-Ð-Ð-r,   )r   rŽ   ÚBinr�   r   r   r”   r   r   r   r   r–   r•   r   )Ú
should_poprˆ   r‰   Ú	temp_lists       r*   Ú_luau_make_expressionr©   ½   sÒ   € à	�vœz¨6Ð2Ø	�œ VÐ,Ø	8½&¼,ÈÐOå	ð 
àð
ñ 
ô 
å!Ô*¨Fð	4ð 
"¥6¨6Ð2à	,­hµ{ÅDÄMÑ.RÔ.RÐTZÐ[Ø	¥­µd´mÑ DÔ DÀfÐMà	@¨uÐ	@Ð	@Ð	@Å$Ä*ÈfÐUØ	+­T°6Ð:ð€Ið" ð ØÐØ-Ð- 9Ð-Ñ-Ô-Ð-r,   c                 ó°   — dt           dfdt           dfdt           dfdt          j        dfd	t          j        d
fdt          j        dfg}| r|S d„ |D ¦   «         S )Nú\{)r\   Úclosing_brace_baseÚ
expressionr^   ©r\   Úclosing_parenthesis_baser­   z::?©r\   Útype_endÚ
type_startrW   ©r\   Ústring_singlerZ   ©r\   Ústring_doubleú`)r\   Ústring_interpolatedc                 óL   — g | ]!}|d          |d         |d         dd…         f‘Œ"S )r   rp   r£   Nr&   r¤   s     r*   r+   z1_luau_make_expression_special.<locals>.<listcomp>à   s3   € ÐFÐFÐF°5ˆU�1ŒX�u˜Q”x  q¤¨!¨"¨"¤Ð.ÐFÐFÐFr,   )r   r   r�   r—   ÚBacktick)r§   r¨   s     r*   Ú_luau_make_expression_specialr»   Ó   su   € à	•ÐIÐJØ	•ÐOÐPà	•Ð@ÐAà	�vŒ}Ð7Ð8Ø	�vŒ}Ð7Ð8Ø	�vŒÐ ?Ð@ð	€Ið ð ØÐØFÐF¸IÐFÑFÔFÐFr,   c                   ó  — e Zd ZdZdZdZdgZdgZdZdZ	dZ
d	                     e	e
d
¦  «        ZdZi ddej        df ed¦  «        g“de	ej        fe
ej        fd
efg“d ed¦  «        g ed¦  «        ¢def‘de› d�ej        df‘de› d�ej        f‘dedf‘dedf‘ edd¬¦  «        ej        df‘ edd¬¦  «        ej        df‘dej        df‘dej        df‘d ef‘ ed!¦  «        ‘ edee¦  «        ¢d"edf‘“d! ed#d¬¦  «        ej        fg“d ed¦  «        d$ej        d%fdej        fg ed&¦  «        ¢ded'f‘dej        d(f‘ ed!¦  «        ‘ ed&ee¦  «        ¢ ed'¦  «        ‘“d) ed¦  «        d*ej        d'f ed+d¬¦  «        ej        df ed'¦  «        g“d,d-ed'fg“d.d/ed'fg“d0d1ed'fg“d2 ed.¦  «         ed¦  «        g“d3 ed.¦  «         ed4¦  «        g“d5 ed,¦  «         ed¦  «        g“d6 ed,¦  «         ed4¦  «        g“d7 ed0¦  «         ed4¦  «        g“d8d9ej        fd:ej        fg“d; ed8¦  «        d<ej        d'fd=ej        fg“d> ed8¦  «        d?ej         d'fd@ej         fg“ ed8¦  «        dAedBfdCej!        d'fdDej!        fg ed¦  «        dEefdFe› dG�e"j#        fdHe"j$        fdIed7fdJed'fg ed¦  «        dJed3fdAed6fdIed7fd<ej        d;fd?ej         d>fdKefdLefdMe"j%        dNfdHe"j#        fg
 ed¦  «        dJedOfdAedPfdIedQfd<ej        dRfd?ej         dSfdMe"j%        dTfdHe"j#        d'fg ed¦  «        dUedVfdLedVfdIed7f ed'¦  «        g ed¦  «        dHe"j#        fdIed7fdWedXfgdYœ¥Z&dZ„ Z'd[„ Z(d\S )]r   a  
    For Luau source code.

    Additional options accepted:

    `include_luau_builtins`
        If given and ``True``, automatically highlight Luau builtins
        (default: ``True``).
    `include_roblox_builtins`
        If given and ``True``, automatically highlight Roblox-specific builtins
        (default: ``False``).
    `additional_builtins`
        If given, must be a list of additional builtins to highlight.
    `disabled_builtins`
        If given, must be a list of builtins that will not be highlighted.
    ÚLuauzhttps://luau-lang.org/Úluauz*.luauz2.18r3   r4   z(?:{}|{}|{})ú\s+r7   ra   r8   r9   r:   Fz\.\.\.z	type\b(?=z+[a-zA-Z_])Útype_declarationzexport\b(?=z(?:\.\.|//|[+\-*\/%^<>=])=?r­   z~=)ÚandÚorÚnotrN   rO   )rD   rF   rG   rH   rI   rJ   rL   rM   zlocal\bz
function\b)r­   Ú	func_namez[\])};]+Úexpression_staticz[\[.,])rA   ÚcontinuerB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   zif\b)Úternaryr­   Tr\   rÄ   rÇ   zelse\b)rK   rD   Úclosing_brace_popú\}Úclosing_parenthesis_popz\)Úclosing_gt_popú>r¯   Úclosing_parenthesis_typeÚtyper¬   Úclosing_brace_typeÚclosing_gt_typeÚstring_escapez\\z\s*zP\\(?:[abfnrtvz\\"\'`\{\n])|[\r\n]{1,2}|x[\da-fA-F]{2}|\d{1,3}|u\{\}[\da-fA-F]*\}r´   rW   r_   r¶   rZ   r`   r«   )r¬   r­   r·   z	[^\\`\{]+r]   z[a-zA-Z_]\w*(?=rT   ú[a-zA-Z_]\w*ú<r^   z[|&\.,\[\]:=]+z->ztypeof\()r¯   r­   )r\   rÍ   )r\   rÏ   )r\   rÐ   r³   rµ   r®   z[|&\.]r²   ú=r°   )r¸   rÄ   rÎ   r²   r±   rÀ   c                 ó2  — t          |dd¦  «        | _        t          |dd¦  «        | _        t          |dg ¦  «        | _        t          |dg ¦  «        | _        t          | j        ¦  «        | _        | j        r ddlm	} | j         
                    |¦  «         | j        r dd	lm} | j         
                    |¦  «         | j        r| j         
                    | j        ¦  «         | j                             | j        ¦  «         t          j        | fi |¤Ž d S )
NÚinclude_luau_builtinsTÚinclude_roblox_builtinsFÚadditional_builtinsÚdisabled_builtinsr   )ÚLUAU_BUILTINS)ÚROBLOX_BUILTINS)r   rÖ   r×   r   rØ   rÙ   re   Ú	_builtinsÚpygments.lexers._luau_builtinsrÚ   rh   rÛ   Údifference_updater   ri   )rj   rk   rÚ   rÛ   s       r*   ri   zLuauLexer.__init__Ä  s5  € Ý%1ØÐ,¨dñ&4ô &4ˆÔ"å'3ØÐ.°ñ(7ô (7ˆÔ$å#/°Ð9NÐPRÑ#SÔ#SˆÔ Ý!-¨gÐ7JÈBÑ!OÔ!OˆÔå˜TÔ5Ñ6Ô6ˆŒØÔ%ð 	1ØDÐDÐDÐDÐDÐDØŒN×!Ò! -Ñ0Ô0Ð0ØÔ'ð 	3ØFÐFÐFÐFÐFÐFØŒN×!Ò! /Ñ2Ô2Ð2ØÔ#ð 	<ØŒN×!Ò! $Ô":Ñ;Ô;Ð;ØŒ×(Ò(¨Ô)?Ñ@Ô@Ð@åÔ˜DÐ,Ð, GÐ,Ð,Ð,Ð,Ð,r,   c              #   ó  K  — t          j        | |¦  «        D �]k\  }}}|t          u s|t          j        u �rE|                     d¦  «        }g }|}t          t          |¦  «        dd¦  «        D ]}d                     |d |…         ¦  «        }	|	| j        v r8|t          j	        |	fV — |t          |	¦  «        z  }|r|t          dfV — |dz  } n |                     d||dz
           ¦  «         Œ€t          |¦  «        D ]|\  }}
|dz   t          |¦  «        k    r-|t          u r|t          j        |
fV — Œ6|t          j        |
fV — ŒH|t          j        |
fV — |t          |
¦  «        z  }|t          dfV — |dz  }Œ}�Œd|||fV — �Œmd S )Nro   r   éÿÿÿÿrp   )r   rq   r   r   rs   Úrangert   ÚjoinrÜ   rr   r   ÚinsertÚ	enumerater•   r–   )rj   ru   rv   rw   rx   Úsplit_valueÚcomplete_valueÚ	new_indexÚpositionÚpotential_stringÚ	substrings              r*   rq   z LuauLexer.get_tokens_unprocessedÙ  sì  è è € åÔ1°$¸Ñ=Ô=ð	&ñ 	&ÑˆE�5˜%à�ˆ}ˆ} ­¬Ð 3Ñ 3Ø#Ÿkšk¨#Ñ.Ô.�Ø!#�Ø!�	Ý %¥c¨+Ñ&6Ô&6¸¸2Ñ >Ô >ð 
Hð 
H�HØ'*§x¢x°¸I¸X¸IÔ0FÑ'GÔ'GÐ$Ø'¨4¬>Ð9Ð9Ø#¥T¤\Ð3CÐCÐCÐCÐCØ!¥SÐ)9Ñ%:Ô%:Ñ:˜	à)ð +Ø"+­[¸#Ð"=Ð=Ð=Ð=Ø%¨™N˜IØ˜Ø"×)Ò)¨!¨[¸ÀA¹Ô-FÑGÔGÐGÐGå+4°^Ñ+DÔ+Dð 
#ð 
#Ñ'�H˜iØ !‘|¥s¨>Ñ':Ô':Ò:Ð:Ø ¥D˜=˜=Ø"+­T¬]¸IÐ"EÐEÐEÐEØ$Ø'­¬¸	ÐAÐAÐAÐAØ Ø#¥T¤]°IÐ=Ð=Ð=Ð=Ø¥ Y¡¤Ñ/�IØ#¥[°#Ð5Ð5Ð5Ð5Ø ‘N�I�IáØ˜ Ð%Ð%Ð%Ð%Ñ%ð?	&ð 	&r,   N))r{   r|   r}   r~   r   r€   r�   r‚   r„   r…   r†   Úformatrˆ   r‰   r
   ÚHashbangr   rŒ   r�   r   r   r»   r   r   r’   r   r   r‘   r“   r©   r   r›   r—   rº   r   r™   r–   rr   rœ   ri   rq   r&   r,   r*   r   r   â   sI  € € € € € ðð ð" €DØ
"€CØˆh€GØ�
€IØ€MàIÐØ"€OØ	×	Ò	Ð 2°OÀVÑ	LÔ	L€Bð €EðAØØ�gÔ&¨Ð/ØˆG�F‰OŒOð
ðAð 	Ø Ô!2Ð3Ø˜gœnÐ-Ø�ZÐ ð
ðAð 	ØˆG�D‰MŒMð
ð +Ð*¨5Ñ1Ô1ð
ð ˜Ð$ð	
ð *˜"Ð)Ð)Ð)¨7Ô+;Ð=OÐPð
ð ,˜BÐ+Ð+Ð+¨WÔ-=Ð>ð
ð ,¨X°|ÐDð
ð �H˜lÐ+ð
ð ˆUð àðñ ô à&œm¨\ð;ð
ð  ˆUð à!&ð(ñ (ô (à)0Ô)9¸<ðIð!
ð& ˜Ô,¨lÐ;ð'
ð* ˜GÔ,Ð.IÐJð+
ð. ˜+Ð&ð/
ð2 ˆGÐ'Ñ(Ô(ð3
ð4 #Ð" 5¨"¨eÑ4Ô4ð5
ð8 ˜ \Ð2ð9
ðAðT 	ØˆUð Jð ðñ ô ð  'Ô/ð1ð
ðUAð` 	ØˆG�D‰MŒMà�gÔ&Ð(AÐBà˜Ô,Ð-ð
ð +Ð*¨4Ñ0Ô0ð
ð ˜ VÐ,ð
ð ˜GÔ,¨kÐ:ð
ð ˆGÐ'Ñ(Ô(ð
ð #Ð" 4¨¨UÑ3Ô3ð
ð ˆG�F‰OŒOð
ðaAð@ 	ØˆG�D‰MŒMà˜Ô(¨&Ð1ØˆUð àðñ ô à&Ô/°ð?ð ˆG�F‰OŒOð	
ðAAðV 	Ø�K Ð(ð
ðWAð\ 	"Ø�K Ð(ð$
ð]Aðb 	Ø�; Ð'ð
ðcAðj 	#ØˆGÐ-Ñ.Ô.ØˆG�F‰OŒOð%
ðkAðr 	#ØˆGÐ-Ñ.Ô.ØˆG�F‰OŒOð%
ðsAðz 	ØˆGÐ'Ñ(Ô(ØˆG�F‰OŒOð
ð{AðB 	ØˆGÐ'Ñ(Ô(ØˆG�F‰OŒOð
ðCAðJ 	ØˆGÐ$Ñ%Ô%ØˆG�F‰OŒOð
ðKAðT 	Ø˜œÐ&ð#Ø$*¤Mð3ð
ðUAð^ 	ØˆG�OÑ$Ô$à�6”= &Ð)Ø˜œÐ'ð	
ð_Aðj 	ØˆG�OÑ$Ô$à�6”= &Ð)Ø˜œÐ'ð	
ðkAðx ˆG�OÑ$Ô$à�KÐ!EÐFà�6”? FÐ+Ø˜6œ?Ð+ð 
ð ˆG�D‰MŒMà�kÐ"Ø- Ð-Ð-Ð-¨t¬zÐ:Ø˜dœmÐ,à�;Ð 1Ð2à�K Ð(ð

ð ˆG�D‰MŒMà�KÐ!;Ð<Ø�KÐ!5Ð6Ø�;Ð 1Ð2à�6”= /Ð2Ø�6”= /Ð2à Ð,Ø�KÐ à˜$œ,ð )7ð 8à˜dœjÐ)ð
ð$ ˆG�D‰MŒMà�KÐ!EÐFØ�KÐ!?Ð@Ø�;Ð ;Ð<à�6”=Ð";Ð<Ø�6”=Ð";Ð<à˜$œ,ð )7ð 8à˜dœj¨&Ð1ð
ð ˆG�D‰MŒMà˜ \Ð2Ø�K Ð.à�;Ð 1Ð2àˆG�F‰OŒOð	
ð ˆG�D‰MŒMà˜dœjÐ)Ø�;Ð 1Ð2à�;Ð BÐCð
ðsAð Að A€FðF-ð -ð -ð* &ð  &ð  &ð  &ð  &r,   r   c                   óÔ  — e Zd ZdZdZdZddgZdgZddgZd	Z	d
e
j        f ed¦  «        g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fdefdej        fdej        fdefdefdej        fdej        f edd¬¦  «        efdej        fdej        fdej        j         fd ej        j!        fd!ej!        f e e"¦   «         d¬¦  «        ej        fd"efd#ej         e#d$d%¦  «        fd&ej$         e#d$d'¦  «        fgd(ej%        fgd)efgd*ej&        d+f e'd¦  «        gd&ej$        d+fd,efd-ej&        d.fd/ef e'd0¦  «        gd#ej        d+fd1ef e'd0¦  «        gd2œZ(d3„ Z)d4S )5r   z%
    For MoonScript source code.
    Ú
MoonScriptzhttp://moonscript.orgÚ
moonscriptÚmoonz*.moonztext/x-moonscriptzapplication/x-moonscriptz1.5ú#!(.*?)$r9   z--.*$r;   r<   z(?i)0x[0-9a-f]*r=   ú\nú[^\S\n]+r>   z(->|=>)z:[a-zA-Z_]\w*z/(==|!=|~=|<=|>=|\.\.\.|\.\.|[=+\-*/%^<>#!.\\:])z[;,]z
[\[\]{}()]ú[a-zA-Z_]\w*:)ÚclassÚextendsrG   rK   ÚsuperrB   ÚwithÚimportÚexportrM   rD   rJ   rF   rH   ÚfromÚwhenÚusingrC   rÁ   rÂ   rÃ   ÚswitchrA   rN   rO   rR   r@   z(self)\bz@@?([a-zA-Z_]\w*)?z[A-Z]\w*rV   rW   rX   rY   rZ   r[   z\\([abfnrtv\\"']|\d{1,3})z
[^#\\\'"]+rÉ   r\   z\\.|\'z#\{Úinterpoling_stringú#Ústringsz#|\\.|")ra   r9   rX   r  rÿ   r[   rY   c              #   óŒ   K  — t                                | |¦  «        D ]%\  }}}|t          k    r|dk    rt          }|||fV — Œ&d S )Nro   )r   rq   r   r   )rj   ru   rv   rw   rx   s        r*   rq   z&MoonScriptLexer.get_tokens_unprocessedE  sd   è è € å#+×#BÒ#BÀ4ÈÑ#NÔ#Nð 	&ð 	&ÑˆE�5˜%Ø�Ò#Ð#¨°ª¨Ý �Ø˜ Ð%Ð%Ð%Ð%Ð%ð	&ð 	&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   ÚTyper   r”   r‘   rr   ÚPseudor™   r.   r   r—   r›   ÚInterpolr   rœ   rq   r&   r,   r*   r   r   û  sn  € € € € € ðð ð €DØ
!€CØ˜VÐ$€GØ�
€IØ$Ð&@ÐA€IØ€Mð ˜'œ/Ð*ØˆG�F‰OŒOð
ð
 �g”nÐ%Ø3°V´\ÐBØ  &¤,Ð/Ø ¤Ð,Ø�V”^Ð$Ø�JÐØ˜$ÐØ% vÐ.Ø˜œÐ'Ø˜tœ}Ð-Ø?ÀÐJØ�kÐ"Ø˜GœLÐ)Ø˜tœ}Ð-ØˆUð ð "'ð	(ñ (ô (ð
 ðð # GÔ$4Ð5Ø ¤Ð.Ø˜$œ,Ô-Ð.Ø" D¤MÔ$7Ð8Ø˜$œ*Ð%ØˆUÐ#Ð#Ñ%Ô%¨eÐ4Ñ4Ô4°d´lÐCØ˜dÐ#Ø�&”-  ¨.¸%Ñ!@Ô!@ÐAØ�&”-  ¨.¸%Ñ!@Ô!@ÐAð;
ð@ .¨v¬}Ð=ð
ð ˜FÐ#ð
ð �F”O VÐ,ØˆG�F‰OŒOð
ð
 �6”= &Ð)Ø˜ÐØ�V”_Ð&:Ð;Ø�6ˆNØˆG�IÑÔð
ð �6”= &Ð)Ø˜Ð ØˆG�IÑÔð
ðo<ð <€Fð|&ð &ð &ð &ð &r,   r   c                   ó<  — e Zd ZdZdZdZddgZdgZddgZd	Z	e
j        e
j        z  Zd
efdej        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 ed¦  «        defdefdedfdedfdefdefde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j#        d%fd&ej        fg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gd,œZ%d-S ).r   z%
    For ChaiScript source code.
    Ú
ChaiScriptzhttp://chaiscript.com/Ú
chaiscriptÚchaiz*.chaiztext/x-chaiscriptzapplication/x-chaiscriptú2.0r¿   ú//.*?\nú	/\*.*?\*/z^\#.*?\nÚcommentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)r\   z(?=/))r\   Úbadregexrò   ró   zD\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|\.\.(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?Úslashstartsregexz[{(\[;,]z[})\].]z[=+\-*/]zA(for|in|while|do|break|return|continue|if|else|throw|try|catch)\bz(var)\bz(attr|def|fun)\bz(true|false)\bz(eval|throw)\bz`\S+`z[$a-zA-Z_]\w*ú%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+ú[0-9]+rZ   Údqstringz'(\\\\|\\[^\\]|[^'\\])*'z\$\{[^"}]+?\}ú\$z\\\\z\\"z[^\\"$]+)r  r  r  ra   r  N)&r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   ÚreÚDOTALLÚ	MULTILINEÚflagsr	   r
   r�   rŒ   r   r   ÚRegexr   r   r   r   r“   r’   r”   r   rr   r   r   r�   rŽ   r�   r—   r  rœ   r&   r,   r*   r   r   M  s÷  € € € € € ðð ð €DØ
"€CØ˜VÐ$€GØ�
€IØ$Ð&@ÐA€IØ€MàŒI˜œÑ$€Eð �TˆNØ˜œÐ(Ø˜7Ô,Ð-Ø˜'œ.Ð)ð	"
ð ˆGÐ+Ñ,Ô,ðØ%œ|¨Vð5à�tÐ1Ð2ØˆG�F‰OŒOð
ð �D˜&Ð!ð
ð ˆGÐ+Ñ,Ô,Ø�DˆMØ˜$Ðð1Ø2:Ð<NðPà˜+Ð'9Ð:Ø˜Ð%Ø˜(Ð#ðàÐ0ð2ð ˜Ô,Ð.@ÐAØ  'Ô"2Ð3Ø Ô 0Ð1Ø ¤Ð-Ø�t”|Ð$Ø˜tœzÐ*Ø5°v´|ÐDØ ¤
Ð+Ø˜œÐ'Ø�6”= *Ð-Ø(¨&¬-Ð8ð-
ð2 ˜vœÐ/Ø�F”MÐ"Ø�f”mÐ$Ø�V”]Ð#Ø˜&œ-Ð(Ø�6”= &Ð)ð
ðS1ð 1€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	e
j        ZdZd	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdej         fdej!        dfde"j#        dfee$fee$j%        fee&j'        fee&j(        fee&j)        fee$j*        fee$j*        fee$j*        fee$j*        fee$j*        fee$j*        fee+fee+fee+fee+fee$j,        fee$j,        fde&j-        fd e.j/        fd!e.j/        fd"e.j0        fd#e.j1        fee2fd$e+fd%e3fd&e4fd'e4fgd(ej!        fdej!        d)fd*ej!        d+fd,ej!        fgd-e"j5        fde"j#        d+fd.e+fd/e"j#        fgd0œZ6d1S )2r   zB
    For Second Life's Linden Scripting Language source code.
    ÚLSLÚlslz*.lslz
text/x-lslz:https://wiki.secondlife.com/wiki/Linden_Scripting_Languager
  z(\b(?:do|else|for|if|jump|return|while)\bz@\b(?:float|integer|key|list|quaternion|rotation|string|vector)\bz\b(?:(?:state)\s+\w+|default)\baN  \b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\baƒ  \b(?:ll(?:ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|RequestPermissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\bz9\b(?:DEG_TO_RAD|PI(?:_BY_TWO)?|RAD_TO_DEG|SQRT2|TWO_PI)\ba…  \b(?:JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASSIVE|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_EQUIVALENCE|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|ROO?T|VELOCITY|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|PATHFINDING_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?))|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE|SET_MODE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[A-D]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\bz\b(?:FALSE|TRUE)\bz\b(?:ZERO_ROTATION)\bzª\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\bz5\b(?:TOUCH_INVALID_(?:TEXCOORD|VECTOR)|ZERO_VECTOR)\bz)\b(?:LAND_(?:LARGE|MEDIUM|SMALL)_BRUSH)\ba/  \b(?:ATTACH_[LR]PEC|DATA_RATING|OBJECT_ATTACHMENT_(?:GEOMETRY_BYTES|SURFACE_AREA)|PRIM_(?:CAST_SHADOWS|MATERIAL_LIGHT|TYPE_LEGACY)|PSYS_SRC_(?:INNER|OUTER)ANGLE|VEHICLE_FLAG_NO_FLY_UP|ll(?:Cloud|Make(?:Explosion|Fountain|Smoke|Fire)|RemoteDataSetRegion|Sound(?:Preload)?|XorBase64Strings(?:Correct)?))\bz\b(?:event)\ba+  \b(?:CHARACTER_(?:MAX_ANGULAR_(?:ACCEL|SPEED)|TURN_SPEED_MULTIPLIER)|PERMISSION_(?:CHANGE_(?:JOINTS|PERMISSIONS)|RELEASE_OWNERSHIP|REMAP_CONTROLS)|PRIM_PHYSICS_MATERIAL|PSYS_SRC_OBJ_REL_MASK|ll(?:CollisionSprite|(?:Stop)?PointAt|(?:(?:Refresh|Set)Prim)URL|(?:Take|Release)Camera|RemoteLoadScript))\bz>\b(?:ll(?:GodLikeRezObject|Set(?:Inventory|Object)PermMask))\bz\b(?:print)\bz-\+\+|\-\-|<<|>>|&&?|\|\|?|\^|~|[!%<>=*+\-/]=?r  ú/\*ÚcommentrZ   Ústringz\b([a-zA-Z_]\w*)\bz (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d*z(\d+\.\d*|\.\d+)z0[xX][0-9a-fA-F]+r=   z:=?z[,;{}()\[\]]ú\n+r¿   z[^*/]+ú#pushú\*/r\   z[*/]z\\([nt"\\])z\\.z[^"\\]+)ra   r  r  N)7r{   r|   r}   r~   r   r�   r‚   rƒ   r€   r„   r  r  r  Úlsl_keywordsÚ	lsl_typesÚ
lsl_statesÚ
lsl_eventsÚlsl_functions_builtinÚlsl_constants_floatÚlsl_constants_integerÚlsl_constants_integer_booleanÚlsl_constants_rotationÚlsl_constants_stringÚlsl_constants_vectorÚlsl_invalid_brokenÚlsl_invalid_deprecatedÚlsl_invalid_illegalÚlsl_invalid_unimplementedÚlsl_reserved_godmodeÚlsl_reserved_logÚlsl_operatorsr
   r�   rŒ   r   r—   r   r  r   r™   rr   r–   r”   r   r’   r•   r   r�   rŽ   r�   r   r   r   r›   rœ   r&   r,   r*   r   r   �  s_  € € € € € ðð ð €DØˆg€GØ�	€IØ�€IØ
F€CØ€MàŒL€Eà>€LØS€IØ3€Jð c€Jð c>ÐØVÐð ebÐØ$9Ð!Ø5Ðð IÐØSÐØEÐð PÐØ*Ðð !OÐØ\ÐØ'ÐØD€Mð
 °'´.ÐAØ°'Ô2CÀYÐOØ°&´-ÀÐJØ°'Ð:Ø°'´,Ð?Ø°$´*Ð=Ø°$´,Ð?Ø"°$´-Ð@Ø °'Ô2BÐCØ"°'Ô2BÐCØ*°'Ô2BÐCØ#°'Ô2BÐCØ!°'Ô2BÐCØ!°'Ô2BÐCØ°%Ð8Ø#°%Ð8Ø °%Ð8Ø&°%Ð8Ø!°'Ô2BÐCØ°'Ô2BÐCØ"¨¬Ð6Ø0°&´,Ð?Ø °&´,Ð?Ø!°&´*Ð=Ø°&´.ÐAØ°(Ð;Ø°%Ð8Ø°+Ð>Ø°*Ð=Ø°*Ð=ð=	
ðD °'Ô2CÐDØ°'Ô2CÀWÐMØ°'Ô2CÀVÐLØ°'Ô2CÐDð		
ð °&´-Ð@Ø°&´-ÀÐHØ°%Ð8Ø°&´-Ð@ð		
ðU0ð 0€F€F€Fr,   r   c                   óî  — e Zd ZdZdZdZdgZdgZdZe	j
        e	j        z  ZdZdZd	Zd
ZdZdZd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fdefdej         dfde!fd e"ee#j$        e¦  «        fd e"e%e#j$        ¦  «        fde&fd  '                    d! (                    e¦  «        ¦  «        e&j)        fd" '                    d! (                    ed#d#d$…         ¦  «        ¦  «         e"e%e#j*        ¦  «        fd% e"ee%e¦  «        fd& '                    d! (                    e¦  «        ¦  «         e"e%e#j+        ¦  «        fd  '                    d! (                    e¦  «        ¦  «        e#j,        fd  '                    d! (                    e¦  «        ¦  «        e#j$        fd  '                    d! (                    e¦  «        ¦  «        e%fd  '                    d! (                    e¦  «        ¦  «        e%fd  '                    d! (                    e¦  «        ¦  «        e#j$        fd' '                    d! (                    e¦  «        ¦  «        e#j$        fd  '                    d! (                    e¦  «        ¦  «        e#j$        fd  '                    d! (                    e¦  «        ¦  «        e#j-        fd' '                    d! (                    e¦  «        ¦  «        e#j$        fd  '                    d! (                    e¦  «        ¦  «        e#j$        fd  '                    d! (                    e¦  «        ¦  «        e#j$        fd(ej.        fd)e› d*�e#j/        fd+e0j1        fd,e0j2        fgdej         d-fd.ej         d/fd0ej         fd1ej         fgd2œZ3d#S )3r   zØ
    For AppleScript source code,
    including `AppleScript Studio
    <http://developer.apple.com/documentation/AppleScript/
    Reference/StudioReference>`_.
    Contributed by Andreas Amann <aamann@mac.com>.
    ÚAppleScriptz‚https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.htmlÚapplescriptz*.applescriptz1.0z[a-zA-Z]\w*)r5  zcurrent applicationrŸ   Úlinefeedzmissing valueÚpiÚquoteÚresultrJ   ÚspaceÚtabztext item delimitersrž   Úversion)zalias zapplication zboolean zclass z	constant zdate zfile zinteger zlist znumber zPOSIX file zreal zrecord z
reference z
RGB color zscript ztext z
unit typesz(?:Unicode )?textr  )Ú
attachmentzattribute runÚ	characterÚdayÚmonthÚ	paragraphÚwordÚyear)ÚaboutÚaboveÚagainstz
apart fromÚaroundz
aside fromÚatÚbelowÚbeneathÚbesideÚbetweenrF   Úgivenz
instead ofÚonÚontozout ofÚoverÚsince)3zASCII (character|number)ÚactivateÚbeepz
choose URLzchoose applicationzchoose colorzchoose file( name)?zchoose folderzchoose from listzchoose remote applicationzclipboard infozclose( access)?ÚcopyÚcountzcurrent dateÚdelayÚdeletezdisplay (alert|dialog)zdo shell scriptÚ	duplicateÚexistszget eofzget volume settingszinfo forÚlaunchzlist (disks|folder)zload scriptÚlogÚmakezmount volumeÚnewÚoffsetzopen( (for access|location))?zpath toÚprintÚquitzrandom numberÚreadÚroundzrun( script)?Úsayzscripting componentsz!set (eof|the clipboard to|volume)zstore scriptÚ	summarizezsystem attributezsystem infozthe clipboardztime to GMTÚwritezquoted form)z(in )?back ofz(in )?front ofz[0-9]+(st|nd|rd|th)ÚfirstÚsecondÚthirdÚfourthÚfifthÚsixthÚseventhÚeighthÚninthÚtenthÚafterÚbackÚbeforeÚbehindÚeveryÚfrontrv   ÚlastÚmiddleÚsomeÚthatÚthroughÚthruÚwhereÚwhose).rÁ   rÂ   zis equalÚequalsz(is )?equal tozis notzisn'tzisn't equal( to)?zis not equal( to)?zdoesn't equalzdoes not equalz(is )?greater thanzcomes afterzis not less than or equal( to)?zisn't less than or equal( to)?z(is )?less thanzcomes beforez"is not greater than or equal( to)?z!isn't greater than or equal( to)?z"(is  )?greater than or equal( to)?zis not less thanzisn't less thanzdoes not come beforezdoesn't come beforez(is )?less than or equal( to)?zis not greater thanzisn't greater thanzdoes not come afterzdoesn't come afterzstarts? withzbegins? withz
ends? withz	contains?zdoes not containzdoesn't containzis inzis contained byz	is not inzis not contained byzisn't contained byÚdivrl   rÃ   z(a  )?(ref( to)?|reference to)ÚisÚdoes)ÚconsideringrC   ÚerrorÚexitrû   rG   ÚignoringrH   rI   ÚtellrK   ÚtimesÚtoÚtryrL   zusing terms fromrM   Úwhithzwith timeout( of)?zwith transactionÚbyrÆ   rE   zits?ÚmeÚmyrJ   ÚofÚas)ÚglobalÚlocalzprop(erty)?re   Úget)ÚbutÚputÚ	returningÚthe)1zaction cellzalert replyÚapplicationÚboxzbrowser( cell)?Úbundlezbutton( cell)?Úcellz	clip viewz
color wellzcolor-panelzcombo box( item)?Úcontrolz%data( (cell|column|item|row|source))?zdefault entryzdialog replyÚdocumentz	drag infoÚdrawerÚeventzfont(-panel)?Ú	formatterzimage( (cell|view))?Úmatrixzmenu( item)?Úitemzmovie( view)?z
open-panelzoutline viewÚpanelÚ
pasteboardÚpluginzpopup buttonzprogress indicatorÚ	responderz
save-panelzscroll viewzsecure text field( cell)?ÚsliderÚsoundz
split viewÚstepperztab view( item)?z-table( (column|header cell|header view|view))ztext( (field( cell)?|view))?ztoolbar( item)?zuser-defaultsÚviewÚwindow)tzaccept outline dropzaccept table dropÚactionÚ	activatedzalert endedzawake from nibz
became keyzbecame mainzbegin editingzbounds changedz
cell valuezcell value changedzchange cell valuezchange item valueÚchangedzchild of itemzchoose menu itemÚclickedzclicked toolbar itemÚclosedzcolumn clickedzcolumn movedzcolumn resizedzconclude dropzdata representationÚdeminiaturizedzdialog endedzdocument nib namezdouble clickedz drag( (entered|exited|updated))?Údropzend editingÚexposedÚidlezitem expandablez
item valuezitem value changedzitems changedzkeyboard downzkeyboard upÚlaunchedzload data representationÚminiaturizedz
mouse downzmouse draggedzmouse enteredzmouse exitedzmouse movedzmouse upÚmovedznumber of browser rowsznumber of itemsznumber of rowszopen untitledÚopenedzpanel endedzparameters updatedzplugin loadedzprepare dropzprepare outline dragzprepare outline dropzprepare table dragzprepare table dropzread from filezresigned activezresigned keyzresigned mainzresized( sub views)?zright mouse downzright mouse draggedzright mouse upzrows changedzscroll wheelzselected tab view itemzselection changedzselection changingzshould begin editingzshould closezshould collapse itemzshould end editingzshould expand itemzshould open( untitled)?z'should quit( after last window closed)?zshould select columnzshould select itemzshould select rowzshould select tab view itemzshould selection changezshould zoomÚshownzupdate menu itemzupdate parameterszupdate toolbar itemz
was hiddenzwas miniaturizedzwill become activez
will closezwill dismisszwill display browser cellzwill display cellzwill display item cellzwill display outline cellzwill finish launchingz	will hidezwill miniaturizez	will movez	will openzwill pop upz	will quitzwill resign activezwill resize( sub views)?zwill select tab view itemz	will showz	will zoomzwrite to fileÚzoomed))ÚanimateÚappendzcall methodÚcenterzclose drawerzclose panelÚdisplayzdisplay alertzdisplay dialogzdisplay panelÚgoÚhideÚ	highlightÚ	incrementzitem forz
load imagez
load moviezload nibz
load panelz
load soundzlocalized stringz
lock focusr\  zopen drawerzpath forÚpausezperform actionÚplayÚregisterÚresumeÚscrollzselect( all)?Úshowzsize to fitÚstartz	step backzstep forwardÚstopÚsynchronizezunlock focusrh   (5  zaccepts arrow keyzaction methodÚactiveÚ	alignmentzallowed identifierszallows branch selectionzallows column reorderingzallows column resizingzallows column selectionzallows customizationzallows editing text attributeszallows empty selectionzallows mixed statezallows multiple selectionzallows reorderingzallows undozalpha( value)?zalternate imagezalternate increment valuezalternate titlezanimation delayzassociated file namezassociated objectzauto completeszauto displayzauto enables itemszauto repeatzauto resizes( outline column)?zauto save expanded itemszauto save namezauto save table columnszauto saves configurationzauto scrollzauto sizes all columns to fitzauto sizes cellszbackground colorzbezel statezbezel styleÚbezeledzborder rectzborder typeÚborderedzbounds( rotation)?zbox typezbutton returnedzbutton typezcan choose directorieszcan choose fileszcan drawzcan hidez$cell( (background color|size|type))?Ú
charactersrõ   zclick countzclicked( data)? columnzclicked data itemzclicked( data)? rowÚ	closeableÚ	collatingzcolor( (mode|panel))zcommand key downÚconfigurationz#content(s| (size|view( margins)?))?ÚcontextÚ
continuouszcontrol key downzcontrol sizezcontrol tintzcontrol viewzcontroller visiblezcoordinate systemzcopies( on scroll)?zcorner viewzcurrent cellzcurrent columnzcurrent( field)?  editorzcurrent( menu)? itemzcurrent rowzcurrent tab view itemzdata sourcezdefault identifierszdelta (x|y|z)zdestination windowÚ	directoryzdisplay modezdisplayed cellzdocument( (edited|rect|view))?zdouble valuezdragged columnzdragged distancezdragged itemszdraws( cell)? backgroundz
draws gridzdynamically scrollszechos bulletsÚedgeÚeditablezedited( data)? columnzedited data itemzedited( data)? rowÚenabledzenclosing scroll viewzending pagezerror handlingzevent numberz
event typezexcluded from windows menuzexecutable pathÚexpandedz
fax numberzfield editorz	file kindz	file namez	file typezfirst responderzfirst visible columnÚflippedÚfloatingzfont( panel)?r   zframeworks pathÚ	frontmostzgave upz
grid colorzhas data itemszhas horizontal rulerzhas horizontal scrollerzhas parent data itemzhas resize indicatorz
has shadowzhas sub menuzhas vertical rulerzhas vertical scrollerzheader cellzheader viewÚhiddenzhides when deactivatedzhighlights byzhorizontal line scrollzhorizontal page scrollzhorizontal ruler viewzhorizontally resizablez
icon imageÚidÚ
identifierzignores multiple clicksz;image( (alignment|dims when disabled|frame style|scaling))?zimports graphicszincrement valuezindentation per levelÚindeterminaterv   zinteger valuezintercell spacingzitem heightz+key( (code|equivalent( modifier)?|window))?zknob thicknessr?   zlast( visible)? columnzleading offsetÚleafÚlevelzline scrollÚloadedzlocalized sortÚlocationz	loop modezmain( (bunde|menu|window))?zmarker follows cellzmatrix modezmaximum( content)? sizezmaximum visible columnszmenu( form representation)?Úminiaturizabler¶  zminimized imagezminimized titlezminimum column widthzminimum( content)? sizeÚmodalÚmodifiedzmouse down statezmovie( (controller|file|rect))?Úmutedr   zneeds displayz
next statez	next textznumber of tick markszonly tick mark valuesÚopaquez
open panelzoption key downzoutline table columnzpage scrollzpages acrossz
pages downzpalette labelzpane splitterzparent data itemzparent windowr¤  zpath( (names|separator))?Úplayingzplays every framezplays selection onlyrè   zpreferred edgezpreferred typeÚpressurezprevious textÚpromptÚ
propertieszprototype cellz
pulls downÚratezreleased when closedÚrepeatedzrequested print timezrequired file typeÚ	resizablezresized columnzresource pathzreturns recordszreuses columnsz	rich textz	roll overz
row heightzrulers visiblez
save panelzscripts pathÚ
scrollablezselectable( identifiers)?zselected cellzselected( data)? columns?zselected data items?zselected( data)? rows?zselected item identifierzselection by rectzsend action on arrow keyzsends action when done editingzseparates columnszseparator itemzsequence numberzservices menuzshared frameworks pathzshared support pathÚsheetzshift key downzshows alphazshows state byzsize( mode)?zsmart insert delete enabledzsort case sensitivityzsort columnz
sort orderz	sort typezsorted( data rows)?r¨  zsource( mask)?zspell checking enabledzstarting pageÚstatezstring valuezsub menuz
super menuz
super viewztab key traverses cellsz	tab stateztab typeztab viewz
table viewÚtagztarget( printer)?z
text colorztext container insertztext container originztext returnedztick mark positionz
time stampz+title(d| (cell|font|height|position|rect))?ztool tipÚtoolbarztrailing offsetÚtransparentztreat packages as directoriesztruncated labelsÚtypeszunmodified characterszupdate viewszuse sort indicatorzuser defaultszuses data sourcez
uses rulerzuses threaded animationzuses title from previous columnzvalue wrapsr=  z0vertical( (line scroll|page scroll|ruler view))?zvertically resizablerª  zvisible( document rect)?ÚvolumeÚwidthr«  zwindows menuÚwrapsÚzoomablerº  r¿   u   Â¬\nz's\s+z
(--|#).*?$z\(\*r  z
[(){}!,.:]u   (Â«)([^Â»]+)(Â»)zx\b((?:considering|ignoring)\s*)(application responses|case|diacriticals|hyphens|numeric strings|punctuation|white space)u)   (-|\*|\+|&|â‰ |>=?|<=?|=|â‰¥|â‰¤|/|Ã·|\^)z\b({})\br5   z^(\s*(?:on|end)\s+)({})Nrà   z^(\s*)(in|on|script|to)(\s+)z\b(as )({})\bz
\b({})s?\bú"(\\\\|\\[^\\]|[^"\\])*"z\b(z)\bz&[-+]?(\d+\.\d*|\d*\.\d+)(E[-+][0-9]+)?z[-+]?\d+r   z\*\)r\   z[^*(]+z[*(])ra   r  )4r{   r|   r}   r~   r   r€   r�   r‚   r„   r  r  r  r  ÚIdentifiersÚLiteralsÚClassesÚBuiltInÚHandlerParamsÚCommandsÚ
ReferencesÚ	OperatorsÚControlÚDeclarationsr’   ÚStudioClassesÚStudioEventsÚStudioCommandsÚStudioPropertiesr	   r   r›   r
   rŒ   r   r   r   rr   r   r   rë   râ   r‘   r–   r™   r”   Ú	Attributer—   r•   r   r�   r�   rœ   r&   r,   r*   r   r   ã  sé  € € € € € ðð ð €Dð O€CØˆo€GØ Ð!€IØ€MàŒL˜2œ9Ñ$€Eà €KðB€HðE€Gð,€Gð0€MðH€HðQ€Jð
H€Ið @€Gð
 D€LØ1€Hð8€Mð +/€LðX
 €Nð}GÐðB �TˆNØ�f”mÐ$Ø�tÐØ˜GÐ$Ø�gÔ'¨Ð3Ø˜KÐ(Ø ØˆX�d˜DœL¨$Ñ/Ô/ð1ð9ð ˆX�g˜tœ|Ñ,Ô,ð.ð :¸8ÐDØ×Ò §¢¨Ñ 3Ô 3Ñ4Ô4°h´mÐDðß’V˜CŸHšH \°$°$°B°$Ô%7Ñ8Ô8Ñ9Ô9ØˆX�g˜tœ}Ñ-Ô-ð/ð -¨h¨h°t¸WÀdÑ.KÔ.KÐLØ×$Ò$ S§X¢X¨gÑ%6Ô%6Ñ7Ô7ØˆX�g˜tœzÑ*Ô*ð,à×Ò §¢¨Ñ 2Ô 2Ñ3Ô3°T´]ÐCØ×Ò §¢¨Ñ 2Ô 2Ñ3Ô3°T´\ÐBØ×Ò §¢¨Ñ 1Ô 1Ñ2Ô2°GÐ<Ø×Ò §¢¨Ñ 6Ô 6Ñ7Ô7¸ÐAØ×Ò §¢¨Ñ 2Ô 2Ñ3Ô3°T´\ÐBØ×!Ò! #§(¢(¨7Ñ"3Ô"3Ñ4Ô4°d´lÐCØ×Ò §¢¨Ñ 7Ô 7Ñ8Ô8¸$¼,ÐGØ×Ò §¢Ð)9Ñ :Ô :Ñ;Ô;¸T¼^ÐLØ×!Ò! #§(¢(¨=Ñ"9Ô"9Ñ:Ô:¸D¼LÐIØ×Ò §¢¨Ñ 8Ô 8Ñ9Ô9¸4¼<ÐHØ×Ò §¢¨Ñ 4Ô 4Ñ5Ô5°t´|ÐDØ(¨&¬-Ð8Ø$�KÐ$Ð$Ð$ d¤mÐ4Ø6¸¼ÐEØ˜&œ.Ð)ðG$
ðL �gÔ'¨Ð1Ø�gÔ'¨Ð0Ø�wÔ(Ð)Ø�WÔ&Ð'ð	
ðM,ð ,€F€F€Fr,   r   c                   ó°  — e Zd ZdZdZdZddgZg d¢ZdgZdZ	e
j        Zd	efd
ej        dfdedfdedfdefd eej        eeeej        ¦  «        fd eej        ee¦  «        f ed¦  «         ed¦  «         ed¦  «        defg edd¬¦  «         eej        ee¦  «        fgdej        fgdefgdefdefdedfdedfgd efd!efd"edfdedfgd#ej        fd$ej        dfd%ej        fgd&œZd'„ Z ed(¦  «        Z  ed)¦  «        Z! ed*¦  «        Z" ed+¦  «        Z# ed,¦  «        Z$ ed-¦  «        Z% ed.¦  «        Z&e d/fe!d0fe"d1fe%d1fe#d1fe$d2fe&d/ffZ'd3„ Z(d4S )5r   a  
    Rexx is a scripting language available for
    a wide range of different platforms with its roots found on mainframe
    systems. It is popular for I/O- and data based tasks and can act as glue
    language to bind different applications together.
    ÚRexxzhttp://www.rexxinfo.org/ÚrexxÚarexx)z*.rexxz*.rexz*.rxz*.arexxztext/x-rexxr
  r¿   r  r  rZ   r¶   rW   r´   z[0-9]+(\.[0-9]+)?(e[+-]?[0-9])?z%([a-z_]\w*)(\s*)(:)(\s*)(procedure)\bz([a-z_]\w*)(\s*)(:)ÚfunctionÚkeywordÚoperatorú	[a-z_]\w*)BÚabbrevÚabsÚaddressÚargÚb2xÚbitandÚbitorÚbitxorÚc2dÚc2xr½  ÚcharinÚcharoutÚcharsÚcompareÚ	conditionÚcopiesÚd2cÚd2xÚdatatypeÚdateÚdelstrÚdelwordÚdigitsÚ	errortextÚformrë   Úfuzzrã   ÚlastposÚleftÚlengthÚlineinÚlineoutÚlinesÚmaxÚminÚoverlayÚposÚqueuedÚrandomÚreverseÚrightÚsignÚ
sourceliner;  ÚstreamÚstripÚsubstrÚsubwordÚsymbolÚtimeÚtraceÚ	translateÚtruncrx   ÚverifyrC  Ú	wordindexÚ
wordlengthÚwordposr   Úx2bÚx2cÚx2dÚxrangez	(\s*)(\()rO   z¸(address|arg|by|call|do|drop|else|end|exit|for|forever|if|interpret|iterate|leave|nop|numeric|off|on|options|parse|pull|push|queue|return|say|select|signal|to|then|trace|until|while)\buŒ   (-|//|/|\(|\)|\*\*|\*|\\<<|\\<|\\==|\\=|\\>>|\\>|\\|\|\||\||&&|&|%|\+|<<=|<<|<=|<>|<|==|=|><|>=|>>=|>>|>|Â¬<<|Â¬<|Â¬==|Â¬=|Â¬>>|Â¬>|Â¬|\.|,)ú[^"\n]+ú""r\   rò   z[^\'\n]+z\'\'z\'z[^*]+r!  ú\*)ra   r  r  r  r¶   r´   r  c                 ó@   — t          j        | t           j        ¦  «        S ©N)r  Úcompiler  )Úss    r*   Ú_czRexxLexer._cp  s   € ÝŒz˜!�Rœ\Ñ*Ô*Ð*r,   z^\s*address\s+command\bz^\s*address\s+z^\s*do\s+while\bz^\s*if\b.+\bthen\s+do\s*$z)^\s*([a-z_]\w*)(\s*)(:)(\s*)(procedure)\bz\belse\s+do\s*$z$^\s*parse\s+(upper\s+)?(arg|value)\bçš™™™™™É?gš™™™™™©?çš™™™™™¹?ç      à?c                 ó  ‡— t          j        d| t           j        ¦  «        rdS |                      d¦  «        rL|                      ¦   «         Št          ˆfd„t          j        D ¦   «         ¦  «        dz   }t          |d¦  «        S dS )zs
        Check for initial comment and patterns that distinguish Rexx from other
        C-like languages.
        z/\*\**\s*rexxç      ð?z/*c              3   óL   •K  — | ]\  }}|                      ‰¦  «        ¯|V — Œd S rT  )Úsearch)r'   ÚpatternÚweightÚ	lowerTexts      €r*   ú	<genexpr>z)RexxLexer.analyse_text.<locals>.<genexpr>�  sL   øè è € ð 7ð 7Ù.˜g vØ#ŸNšN¨9Ñ5Ô5ð7˜ð 7ð 7ð 7ð 7ð 7ð 7r,   ç{®Gáz„?N)	r  r^  Ú
IGNORECASEÚ
startswithÚlowerÚsumr   ÚPATTERNS_AND_WEIGHTSr6  )ru   r:  ra  s     @r*   Úanalyse_textzRexxLexer.analyse_textƒ  s¤   ø€ õ
 Œ9Ð% t­R¬]Ñ;Ô;ð 	$ð �3Ø�_Š_˜TÑ"Ô"ð 	$ð Ÿ
š
™œˆIÝð 7ð 7ð 7ð 7Ý2;Ô2Pð7ñ 7ô 7ñ 7ô 7à9=ñ>ˆFõ �v˜sÑ#Ô#Ð#ð	$ð 	$r,   N))r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r  rd  r  r   r
   rŒ   r   r   r   r   r–   r   r   r“   rš   r   r	   r   rr   r’   rœ   rW  Ú_ADDRESS_COMMAND_PATTERNÚ_ADDRESS_PATTERNÚ_DO_WHILE_PATTERNÚ_IF_THEN_DO_PATTERNÚ_PROCEDURE_PATTERNÚ_ELSE_DO_PATTERNÚ_PARSE_ARG_PATTERNrh  ri  r&   r,   r*   r   r   $  sÇ  € € € € € ðð ð €DØ
$€CØ�wÐ€GØ6Ð6Ð6€IØ�€IØ€MØŒM€Eð �ZÐ Ø�WÔ&¨	Ð2Ø�6˜?Ð+Ø�6˜?Ð+Ø/°Ð8Ø5ØˆX�d”m Z°¸:ØÔ)ñ+ô +ð,ð $ØˆX�d”j *¨hÑ7Ô7ð9àˆG�JÑÔØˆG�IÑÔØˆG�JÑÔØ˜4Ð ð
ð" ˆUð 
ð #/ð
0ñ 
0ô 
0ð ˆX�d”l J°Ñ9Ô9ð;ð
ðð "Ô*ð,ð
ð"à#+ð-ð
ð ˜Ð Ø�FˆOØ�6˜6Ð"Ø�D˜&Ð!ð	
ð ˜&Ð!Ø�fÐØ�F˜FÐ#Ø�D˜&Ð!ð	
ð �wÔ(Ð)Ø�WÔ&¨Ð/Ø�GÔ%Ð&ð
ðm;ð ;€Fðz+ð +ð +à!˜rÐ"<Ñ=Ô=ÐØ�rÐ+Ñ,Ô,ÐØ˜Ð.Ñ/Ô/ÐØ˜"Ð9Ñ:Ô:ÐØ˜ÐHÑIÔIÐØ�rÐ,Ñ-Ô-ÐØ˜ÐCÑDÔDÐà	! 3Ð'Ø	˜4Ð Ø	˜CÐ Ø	˜3ÐØ	˜cÐ"Ø	˜SÐ!Ø	˜SÐ!ðÐð$ð $ð $ð $ð $r,   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	d
e
j        fdefdej        fdej        fdefdej        fdej        j        fdefdefdefd eej        e¦  «        fdefgiZdS )r   z3
    For MOOCode (the MOO scripting language).
    ÚMOOCodezhttp://www.moo.mud.org/z*.mooÚmoocodeÚmooztext/x-moocodez0.9ra   z(0|[1-9][0-9_]*)rý  z(E_PERM|E_DIV)z((#[-0-9]+)|(\$\w+))zt\b(if|else|elseif|endif|for|endfor|fork|endfork|while|endwhile|break|continue|return|try|except|endtry|finally|in)\bz(random|length)z(player|caller|this|args)r¿   rò   z([!;=,{}&|:.\[\]@()<>?]+)z	(\w+)(\()z(\w+)N)r{   r|   r}   r~   r   r€   r‚   r�   rƒ   r„   r   r�   r   r   Ú	ExceptionÚEntityr   rr   r•   ÚInstancer	   r   r   r–   rœ   r&   r,   r*   r   r   –  sÓ   € € € € € ðð ð €DØ
#€CØ�	€IØ˜%Ð €GØ!Ð"€IØ€Mð 	à  &¤.Ð1à(¨&Ð1à ¤Ð/à$ d¤kÐ2ð-à.5ð7ð   ¤Ð.à)¨4¬=Ô+AÐBà�TˆNØ�DˆMà)¨8Ð4à˜8˜8 D¤M°8Ñ<Ô<Ð=à�tÐð3
ð€F€F€Fr,   r   c                   ó.  — e Zd ZdZdZdgZdgZddgZdZdZ	e
j        e
j        z  Zd	 eeej        ee¦  «        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j        fd eej        e¦  «        dfd eej        e¦  «        df edd¬¦  «        ej        f edd¬¦  «        ej        fdefdej        fd eeej         ¦  «        fdej!        fdefdefde"j#        fd e"j$        fd!e"j%        fd"efgd#ej&        d$fgd%ej        d$fgd&œZ'd'„ Z(d(S ))r   z!
    For Hybris source code.
    ÚHybrisÚhybrisz*.hybztext/x-hybriszapplication/x-hybrisz$https://github.com/evilsocket/hybrisz1.4z>^(\s*(?:function|method|operator\s+)+?)([a-zA-Z_]\w*)(\s*)(\()ró   r  r  z@[a-zA-Z_][\w.]*zo(break|case|catch|next|default|do|else|finally|for|foreach|of|unless|if|new|return|switch|me|throw|try|while)\bzK(extends|private|protected|public|static|throws|function|method|operator)\bzK(true|false|null|__FILE__|__LINE__|__VERSION__|__LIB_PATH__|__INC_PATH__)\bz(class|struct)(\s+)rõ   z(import|include)(\s+)rù   )’Ú
gc_collectÚgc_mm_itemsÚgc_mm_usageÚgc_collect_thresholdÚ	urlencodeÚ	urldecodeÚbase64encodeÚbase64decodeÚsha1Úcrc32Úsha2Úmd5Úmd5_fileÚacosÚasinÚatanÚatan2ÚceilÚcosÚcoshÚexpÚfabsÚfloorÚfmodr\  Úlog10ÚpowÚsinÚsinhÚsqrtÚtanÚtanhÚisintÚisfloatÚischarÚisstringÚisarrayÚismapÚisaliasÚtypeofÚsizeofÚtointÚtostringÚfromxmlÚtoxmlÚbinaryÚpackÚloadÚevalÚ	var_namesÚ
var_valuesÚuser_functionsÚdyn_functionsÚmethodsÚcallÚcall_methodÚmknodÚmkfifoÚmountÚumount2ÚumountÚticksÚusleepÚsleeprD  ÚstrtimeÚstrdateÚdllopenÚdlllinkÚdllcallÚdllcall_argvÚdllcloseÚenvÚexecÚforkÚgetpidÚwaitÚpopenÚpcloser…  ÚkillÚpthread_createÚpthread_create_argvÚpthread_exitÚpthread_joinÚpthread_killÚ	smtp_sendÚhttp_getÚ	http_postÚhttp_downloadÚsocketÚbindÚlistenÚacceptÚgetsocknameÚgetpeernameÚ
settimeoutÚconnectÚserverÚrecvÚsendÚcloser`  ÚprintlnÚprintfÚinputÚreadlineÚserial_openÚserial_fcntlÚserial_get_attrÚserial_get_ispeedÚserial_get_ospeedÚserial_set_attrÚserial_set_ispeedÚserial_set_ospeedÚserial_writeÚserial_readÚserial_closeÚxml_loadÚ	xml_parseÚfopenÚfseekÚftellÚfsizeÚfreadÚfwriteÚfgetsÚfcloseÚfileÚreaddirÚpcre_replaceÚsizeÚpopÚunmapÚhasÚkeysr(   r1  ÚfindrA  Úreplacers   ÚtrimÚremoveÚcontainsrâ   rN   rO   )ÚMethodReferenceÚRunnerÚDllÚThreadÚPipeÚProcessÚRunnableÚCGIÚClientSocketÚSocketÚServerSocketÚFileÚConsoleÚ	Directoryru  rý  z'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'r¡   rô   z[a-zA-Z_$]\w*z[~^*!%&\[\](){}<>|+=:;,./?\-@]+r  z0x[0-9a-f]+z[0-9]+L?rò   rÒ   r\   z	[\w.]+\*?)ra   rõ   rù   c                 ó>   — d}t          j        d| ¦  «        r|dz  }|S )zQpublic method and private method don't seem to be quite common
        elsewhere.r   z\b(?:public|private)\s+method\brc  )r  r^  )ru   r:  s     r*   ri  zHybrisLexer.analyse_text  s,   € ð ˆÝŒ9Ð7¸Ñ>Ô>ð 	Ø�d‰NˆFØˆ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Œ   Ú	Decoratorr“   r”   Ú	Namespacer   rr   r  r   ÚCharr  rš   r   r�   rŽ   r�   r™   rœ   ri  r&   r,   r*   r   r   À  s  € € € € € ðð ð €DØˆj€GØ�	€IØ Ð"8Ð9€IØ
0€CØ€MàŒL˜2œ9Ñ$€Eð
à#˜8 G¨T¬]¸DÀ(ÑKÔKðMð ˜$ÐØ˜œÐ(Ø˜7Ô,Ð-Ø  $¤.Ð1ðBØCJðLðØ$Ô0ð2ð Ø!(Ô!1ð3à#ØˆX�gÔ)¨4Ñ0Ô0°'ð;à%ØˆX�gÔ'¨Ñ.Ô.°ð:àˆUð $ð0 -2ð13ñ 3ô 3ð2 Œ\ð3ð4 ˆUð =ð FKðLñ Lô Lð Œ\ð	ð
 )¨&Ð1Ø.°´Ð<Ø"ØˆX�h ¤Ñ/Ô/ð1à˜tœzÐ*Ø˜tÐ$Ø/°Ð:Ø5°v´|ÐDØ˜VœZÐ(Ø˜&œ.Ð)Ø�DˆMðy=
ð~ ˜dœj¨&Ð1ð
ð ˜4œ>¨6Ð2ð
ðEEð E€FðNð ð ð ð r,   r   c                   ó’  — e 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edz   Zdez   dz   Zdez   dz   Zdez   dz   ZdZg d¢Zdej        fdefdez   dz   ej        dfdez   dz   ej        fd eej        e¦  «        dfdez   dz    eej        e¦  «        f eee¬¦  «         eej        e¦  «        feefdez   dz    eej        eeeej        e¦  «        fdej        fd ej         fd!e!fd"efedz   efgedz   ej        f e"d#¦  «        gdej        d#fd"ed#feed#fd!e!d#fedz   efgd$œZ# e$j%        d%¦  «        Z& e$j%        d&¦  «        Z'd'„ Z(d(S ))r   a/  
    Easytrieve Plus is a programming language for extracting, filtering and
    converting sequential data. Furthermore it can layout data for reports.
    It is mainly used on mainframe platforms and can access several of the
    mainframe's native file formats. It is somewhat comparable to awk.
    Ú
EasytrieveÚ
easytrievez*.eztz*.macztext/x-easytrievez_https://www.broadcom.com/products/mainframe/application-development/easytrieve-report-generatorú2.1r   z
 \'.,():\nÚ*ú[ú]ú(r6   z[^u   [.+\-/=\[\](){}<>;,&%Â¬])äzAFTER-BREAKz
AFTER-LINEzAFTER-SCREENÚAIMÚANDÚATTRÚBEFOREzBEFORE-BREAKzBEFORE-LINEzBEFORE-SCREENÚBUSHUÚBYÚCALLÚCASEÚ
CHECKPOINTÚCHKPzCHKP-STATUSÚCLEARÚCLOSEÚCOLÚCOLORÚCOMMITÚCONTROLÚCOPYÚCURSORÚDÚDECLAREÚDEFAULTÚDEFINEÚDELETEÚDENWAÚDISPLAYÚDLIÚDOÚ	DUPLICATEÚEÚELSEzELSE-IFÚENDzEND-CASEzEND-DOzEND-IFúEND-PROCÚENDPAGEÚENDTABLEÚENTERÚEOFÚEQÚERRORÚEXITÚEXTERNALÚEZLIBÚF1ÚF10ÚF11ÚF12ÚF13ÚF14ÚF15ÚF16ÚF17ÚF18ÚF19ÚF2ÚF20ÚF21ÚF22ÚF23ÚF24ÚF25ÚF26ÚF27ÚF28ÚF29ÚF3ÚF30ÚF31ÚF32ÚF33ÚF34ÚF35ÚF36ÚF4ÚF5ÚF6ÚF7ÚF8ÚF9ÚFETCHzFILE-STATUSÚFILLÚFINALÚFIRSTz	FIRST-DUPÚFORÚGEÚGETÚGOÚGOTOÚGQÚGRÚGTÚHEADINGÚHEXzHIGH-VALUESÚIDDÚIDMSÚIFÚINÚINSERTÚJUSTIFYz
KANJI-DATEzKANJI-DATE-LONGz
KANJI-TIMEÚKEYzKEY-PRESSEDÚKOKUGOÚKUNzLAST-DUPÚLEÚLEVELÚLIKEÚLINEz
LINE-COUNTzLINE-NUMBERÚLINKÚLISTz
LOW-VALUESÚLQÚLSÚLTÚMACROÚMASKÚMATCHEDÚMENDÚMESSAGEÚMOVEÚMSTARTÚNEÚNEWPAGEÚNOMASKÚNOPRINTÚNOTÚNOTEÚNOVERIFYÚNQÚNULLÚOFÚORÚ	OTHERWISEÚPA1ÚPA2ÚPA3z
PAGE-COUNTzPAGE-NUMBERzPARM-REGISTERzPATH-IDÚPATTERNÚPERFORMÚPOINTÚPOSÚPRIMARYÚPRINTÚ	PROCEDUREÚPROGRAMÚPUTÚREADÚRECORDzRECORD-COUNTzRECORD-LENGTHÚREFRESHÚRELEASEÚRENUMÚREPEATÚREPORTzREPORT-INPUTÚRESHOWÚRESTARTÚRETRIEVEzRETURN-CODEÚROLLBACKÚROWÚSÚSCREENÚSEARCHÚ	SECONDARYÚSELECTÚSEQUENCEÚSIZEÚSKIPÚSOKAKUÚSORTÚSQLÚSTOPÚSUMÚSYSDATEzSYSDATE-LONGÚSYSINÚSYSIPTÚSYSLSTÚSYSPRINTÚSYSSNAPÚSYSTIMEÚTALLYzTERM-COLUMNSz	TERM-NAMEz	TERM-ROWSÚTERMINATIONÚTITLEÚTOÚTRANSFERÚTRCÚUNIQUEÚUNTILÚUPDATEÚ	UPPERCASEÚUSERÚUSERIDÚVALUEÚVERIFYÚWÚWHENÚWHILEÚWORKÚWRITEÚXÚXDMÚXRSTz\*.*\nr  ú&z+\.Úafter_macro_argumentú%ú+z(FILE|MACRO|REPORT)(\s+)Úafter_declarationz(JOB|PARM)(rO   z+)(\s*)(\.?)(\s*)(PROC)(\s*\n)z[0-9]+\.[0-9]*r  z'(''|[^'])*'r¿   r\   )ra   rä  rá  z^\s*\*z	^\s*MACROc                 óî  ‡— d}|                       d¦  «        Šd}d}d}d}d}d}d}ˆfd„}	d„ }
‰r\ |
‰d         ¦  «        s |	‰d         ¦  «        r: |
‰d         ¦  «        sd}‰d= ‰r" |
‰d         ¦  «        °) |	‰d         ¦  «        °:t          j                             ‰d         ¦  «        r
d}|r|dz  }n¨‰D ]l}|                      ¦   «         }t	          |¦  «        d	k    rC|d         }|s9|s|s|s|d
k    rd}|dk    rd}|dk    rd}ŒR|dk    rd}Œ[|dk    rd}Œd|dk    rd}Œm|r7||k    r1|r|dz  }|r|r|dz  }n |dz  }n|dz  }|r|dz  }|r|dz  }|r|dz  }d|cxk    rdk    sn J ‚|S )zP
        Perform a structural analysis for basic Easytrieve constructs.
        ç        ú
Fc                 óR   •— t           j                             ‰d         ¦  «        d uS )Nr   )r   Ú_COMMENT_LINE_REGEXÚmatch)Úliner4  s    €r*   ÚisCommentLinez3EasytrieveLexer.analyse_text.<locals>.isCommentLine›  s#   ø€ Ý"Ô6×<Ò<¸UÀ1¼XÑFÔFÈdÐRÐRr,   c                 óF   — t          |                      ¦   «         ¦  «         S rT  )Úboolr@  )rë  s    r*   ÚisEmptyLinez1EasytrieveLexer.analyse_text.<locals>.isEmptyLinež  s   € Ý˜DŸJšJ™LœLÑ)Ô)Ð)Ð)r,   r   Tgš™™™™™Ù?r£   ÚPARMÚFILEÚJOBÚPROCr=  r°  rY  gš™™™™™é?rZ  g)\�Âõ(¼?rX  rc  r\  )rs   r   Ú_MACRO_HEADER_REGEXrê  rt   )ru   r:  Ú
hasEndProcÚhasHeaderCommentÚhasFileÚhasJobÚhasProcÚhasParmÚ	hasReportrì  rï  rë  r   Ú	firstWordr4  s                 @r*   ri  zEasytrieveLexer.analyse_text�  s¢  ø€ ð ˆØ—
’
˜4Ñ Ô ˆØˆ
Ø ÐØˆØˆØˆØˆØˆ	ð	Sð 	Sð 	Sð 	Sð 	Sð	*ð 	*ð 	*ð ð 	˜˜ U¨1¤XÑ.Ô.ð 	°-°-ÀÀaÄÑ2IÔ2Ið 	Ø�;˜u QœxÑ(Ô(ð (Ø#'Ð Ø�a�ð ð 	˜˜ U¨1¤XÑ.Ô.ð 	°-°-ÀÀaÄÑ2IÔ2Ið 	õ
 Ô.×4Ò4°U¸1´XÑ>Ô>ð 3	'àˆFØð Ø˜#‘�øð ð -ð -�ØŸ
š
™œ�Ý˜‘J”J !’O�OØ % a¤�IØ$ð -Ø%ð -Ø#*ð 3Ø'.ð !7Ø'0°FÒ':Ð':Ø26¨Ø#,°Ò#6Ð#6Ø.2 GØ(¨EÒ1Ð1Ø)- øØ&¨&Ò0Ð0Ø&*˜G˜GØ&¨*Ò4Ð4Ø)-˜J˜JØ&¨(Ò2Ð2Ø(,˜Iøð ð '˜7 jÒ0Ð0Ø#ð "Ø˜c‘M�FØð 'Øð &ð  #™˜˜ð  #™˜˜ð ˜d‘N�FØð &ð  #™˜Øð 'Ø $™˜Ø ð 'Ø $™˜Ø�fÐ#Ð#Ò#Ð# Ò#Ð#Ð#Ð#Ð#Ð#Øˆr,   N))r{   r|   r}   r~   r   r�   r‚   rƒ   r€   r„   r  Ú_DELIMITERSÚ_DELIMITERS_OR_COMENTÚ_DELIMITER_PATTERNÚ_DELIMITER_PATTERN_CAPTUREÚ!_NON_DELIMITER_OR_COMMENT_PATTERNÚ_OPERATORS_PATTERNÚ	_KEYWORDSr
   r�   r   r   r•   r   r   r“   r   r   r’   r–   r   r�   r�   r   r   rœ   r  rU  ré  rô  ri  r&   r,   r*   r   r     sv  € € € € € ðð ð €DØˆn€GØ˜'Ð"€IØ$Ð%€IØ
k€CØ€MØ€Eð  €KØ'¨#Ñ-ÐØ˜{Ñ*¨SÑ0ÐØ!$Ð'9Ñ!9¸CÑ!?ÐØ(,Ð/DÑ(DÀsÑ(JÐ%Ø6Ðð!ð !ð !€IðJ ˜œÐ'Ø�ZÐ àÐ5Ñ5¸Ñ>ÀÄØ#ð%ð Ð5Ñ5¸Ñ<¸d¼mÐLØ(ØˆX�gÔ)¨:Ñ6Ô6Ð8KðMà!Ð$6Ñ6¸Ñ=ØˆX�gÔ)¨8Ñ4Ô4ð6àˆU�9Ð%?Ð@Ñ@Ô@ØˆX�gÔ&¨Ñ1Ô1ð3à Ð*àÐ5Ñ5Ð8YÑYØˆX�d”m Z°¸:ØÔ)¨:ñ7ô 7ð8ð  ¤Ð-Ø˜œÐ'Ø˜fÐ%Ø�ZÐ à.°Ñ5°tÐ<ð1ð6 /°Ñ5°t´}ÐEØˆG�F‰OŒOð
ð
 ˜œ¨Ð/Ø�Z Ð(Ø ¨6Ð2Ø˜f fÐ-à.°Ñ5°tÐ<ð!
ð?'ð '€FðP %˜"œ* YÑ/Ô/ÐØ$˜"œ* \Ñ2Ô2ÐðOð Oð Oð Oð Or,   r   c                   ó  — e Zd ZdZdZdgZdgZdgZdZdZ	e
j        Zdej        fd	ej        d
fdej        dfdefgdedfd eej        eej        e¦  «        dfdej        dfdedfgdej        df ed¦  «        gdedfdedfdedfgdej        fdefdefdefdej        fdej        fdej        fded fd!ed"fd#efg
d$ ee ej        ¦  «        fd%efd&efdedfgd'ej        fgd(œZ! e
j"        d)e
j        ¦  «        Z#d*„ Z$d+S ),r    zí
    Job Control Language (JCL)
    is a scripting language used on mainframe platforms to instruct the system
    on how to run a batch job or start a subsystem. It is somewhat
    comparable to MS DOS batch and Unix shell scripts.
    ÚJCLÚjclz*.jclz
text/x-jclz2https://en.wikipedia.org/wiki/Job_Control_Languager  z//\*.*\nz//Ú	statementr  Újes2_statementz.*\nz\s*\nr\   z([a-z]\w*)(\s+)(exec|job)(\s*)Úoptionz[a-z]\w*Ústatement_commandr¿   zW\s+(command|cntl|dd|endctl|endif|else|include|jcllib|output|pend|proc|set|then|xmit)\s+r  zR\b(jobparam|message|netacct|notify|output|priority|route|setup|signoff|xeq|xmit)\brR  z[\[\](){}<>;,]z	[-+*/=&%]r  z\d+\.\d*z\.\d+r=   rW   Úoption_stringz[ \t]+Úoption_commentz\.z(\n)(//)z''z[^']z.+)ra   r  r
  r  r	  r  r  z*^//[a-z#$@][a-z0-9#$@]{0,7}\s+job(\s+.*)?$c                 óÊ   — d}|                       d¦  «        }t          |¦  «        dk    r't          j                             |d         ¦  «        rd}d|cxk    rdk    sn J ‚|S )z.
        Recognize JCL job by header.
        ræ  rç  r   r\  )rs   rt   r    Ú_JOB_HEADER_PATTERNrê  )ru   r:  r4  s      r*   ri  zJclLexer.analyse_text&  su   € ð ˆØ—
’
˜4Ñ Ô ˆÝˆu‰:Œ:˜Š>ˆ>ÝÔ+×1Ò1°%¸´(Ñ;Ô;ð Ø�Ø�fÐ#Ð#Ò#Ð# Ò#Ð#Ð#Ð#Ð#Ð#Øˆr,   N)%r{   r|   r}   r~   r   r�   r‚   rƒ   r€   r„   r  rd  r  r
   r�   r   r  r   r   r   r   rš   r’   r•   r   rr   r   r   r   r�   r�   r   r	   rœ   rU  r  ri  r&   r,   r*   r    r    ß  s   € € € € € ðð ð €DØˆg€GØ�	€IØ�€IØ
>€CØ€MàŒM€Eð ˜'œ.Ð)Ø�G”N KÐ0Ø�W”^Ð%5Ð6à�eÐð
ð �z 6Ð*Ø.ØˆX�d”j *¨gÔ.>À
ÑKÔKØðð ˜$œ-Ð)<Ð=Ø�ZÐ!4Ð5ð
ð3Ø4;Ô4DÀhðPàˆG�HÑÔð
ð �z 6Ð*Ø�G˜XÐ&ð*Ø+2°Hð>ð
ð �D”LÐ!Ø Ð,Ø˜8Ð$Ø˜4Ð Ø˜&œ,Ð'Ø�v”|Ð$Ø�V”^Ð$Ø�6˜?Ð+Ø˜
Ð$4Ð5Ø�KÐ ð
ð ˜(˜( 4¨¬Ñ8Ô8Ð9Ø�FˆOØ�fÐØ�6˜6Ð"ð	
ð �G”NÐ#ð
ð]2ð 2€Fðh %˜"œ*Ð%RØ%'¤]ñ4ô 4Ðð
ð 
ð 
ð 
ð 
r,   r    c                   óN  — e Zd ZdZdZdZddgZdgZddgZd	Z	d
e
j        f ed¦  «        gde
j        fdefdefdefdefdefdedfdefdef edd¬¦  «        ef edd¬¦  «        ej        fdej        fdej        fdej        j        fdej        fgdefdefded fded fgd!œZd"S )#r!   z%
    For MiniScript source code.
    Ú
MiniScriptzhttps://miniscript.orgÚ
miniscriptÚmsz*.msztext/x-minicriptzapplication/x-miniscriptz2.6rñ   r9   z//.*$r;   r<   r=   rò   ró   rZ   r¶   z(==|!=|<=|>=|[=+\-*/%^<>.:])z[;,\[\]{}()])rA   rÆ   rC   rE   rF   r  rG   rH   ÚisarK   rI   rJ   rM   rN   rO   )-r  rˆ  r‰  rŠ  rŒ  Úcharr�  r‘  r\  rc  Úrndr8  r=  r•  r—  Ústrr˜  ÚhasIndexÚindexOfrt   ÚvalÚcoder  rf  Úupperr   rs   Úindexesr(   râ   rg  ÚsortÚshuffleÚpushrû  Úpullrá   r`  rà  rD  rÅ  ÚlocalsÚglobalsÚouterÚyieldz(true|false|null)\bz(and|or|not|new)\bz(self|super|__isa)\brÒ   rP  rQ  r\   )ra   r9   r¶   N)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‘   r  r•   rœ   r&   r,   r*   r!   r!   3  sn  € € € € € ðð ð €DØ
"€CØ˜TÐ"€GØ�€IØ#Ð%?Ð@€IØ€Mð ˜'œ/Ð*ØˆG�F‰OŒOð
ð
 �g”nÐ%Ø3°VÐ<Ø  &Ð)Ø�VÐØ�DˆMØ˜$ÐØ�6˜?Ð+Ø,¨hÐ7Ø˜kÐ*ØˆUð BàJOðQñ Qô Qð ðð ˆUð ð "'ð(ñ (ô (ð Œ\ðð $ WÔ%5Ð6Ø" H¤MÐ2Ø$ d¤lÔ&9Ð:Ø˜dœmÐ,ð5
ð: ˜Ð Ø�FˆOØ�6˜6Ð"Ø�D˜&Ð!ð	
ðC'ð '€F€F€Fr,   r!   )(r~   r  Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   r   r   r   Úpygments.utilr   r   Ú__all__r.   r   r©   r»   r   r   r   r   r   r   r   r   r   r    r!   r&   r,   r*   ú<module>r)     sš  ððð ð 
€	€	€	ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4ð=ð =ð =€ð
>ð >ð >ð_&ð _&ð _&ð _&ð _&ˆzñ _&ô _&ð _&ðB.ð .ð .ð,Gð Gð GðW&ð W&ð W&ð W&ð W&�
ñ W&ô W&ð W&ðrO&ð O&ð O&ð O&ð O&�hñ O&ô O&ð O&ðd?ð ?ð ?ð ?ð ?�jñ ?ô ?ð ?ðDQð Qð Qð Qð Qˆzñ Qô Qð Qðh~ð ~ð ~ð ~ð ~�zñ ~ô ~ð ~ðB
o$ð o$ð o$ð o$ð o$�
ñ o$ô o$ð o$ðd'ð 'ð 'ð 'ð '�:ñ 'ô 'ð 'ðT[ð [ð [ð [ð [�*ñ [ô [ð [ð~}ð }ð }ð }ð }�jñ }ô }ð }ð@Qð Qð Qð Qð Qˆzñ Qô Qð Qðh3ð 3ð 3ð 3ð 3�jñ 3ô 3ð 3ð 3ð 3r,   