
    ,h<?                       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'y)"z
    pygments.lexers.scripting
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for scripting and embedded languages.

    :copyright: Copyright 2006-2025 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                  h    ddl m}  | j                         D cg c]  }|D ]  }|  c}}S c c}}w )Nr   MODULES)pygments.lexers._lua_builtinsr$   values)r$   r&   ws      [/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/scripting.pyall_lua_builtinsr)      s,    5#NN,=&f=A=A===s   .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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j0                  fdej0                  fdej2                  fdefdedfdefdefdefdej:                  fdej>                  fd ej>                  d!fd"ej@                  fd#ejB                  fd$ej>                  d%f e" e#       d&'      e$jJ                  fd(e d)e$jL                  d*fd(e d+e$jN                  fd,e$jL                  fd-ej&                   e(d.d/      fd0ejR                   e(d.d1      fg ed      d2ed3fd4efe d5e d)e$jT                  fe d5e d+e$jN                  d3fee$jT                  d3fg ed      d4efe d5e d)e$jV                  fee$jN                  d3fd6ed3fg ed      ee$jX                  d3fg ed      ded3fee$jX                  fgd7ejZ                  fgd-ej&                  d3fd8ej&                  fgd0ejR                  d3fd9ejR                  fgd:
Z.d; Z/d< Z0y=)>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+)z(?:|)z(?:[^\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)\bzE(break|do|else|elseif|end|for|if|in|repeat|return|then|until|while)\bzgoto\bgotoz	(local)\b(true|false|nil)\bz(function)\bfuncname\bsuffixz[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]+\})[^\\']+[^\\"]+)
rootr4   r3   rB   r=   r;   r9   rE   rF   rH   c                 >   t        |dd      | _        t        |dg       | _        t	               | _        | j                  rHddlm} |j                         D ]/  \  }}|| j                  vs| j
                  j                  |       1 t        j                  | fi | y )Nfunc_name_highlightingTdisabled_modulesr   r#   )r   rP   r   rQ   set
_functionsr%   r$   itemsupdater   __init__)selfoptionsr$   modfuncs        r(   rV   zLuaLexer.__init__   s    &2-t'5# ,W6H" M%&&=$]]_ 1	Td333OO**401 	D,G,    c              #   Z  K   t        j                  | |      D ]  \  }}}|t        j                  u ro|| j                  vrad|v rQ|j                  d      \  }}|t        |f |t        |      z   t        df |t        |      z   dz   t        |f n|t        |f |||f  y w)N.   )r   get_tokens_unprocessedr   BuiltinrS   splitlenr   )rW   textindextokenvalueabs          r(   r_   zLuaLexer.get_tokens_unprocessed   s     11$=	&E5%$doo)E%< ;;s+DAqq.(#a&.+s::#a&.1,dA55u,,%%	&s   B)B+N)1__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_added_comment_multiline_comment_single_space_s_namer
   Preprocr   	MultilineSingler   r   r   HexFloatIntegerr   r   r   Wordr   ReservedDeclarationConstantr   r)   r   r`   VariableFunctionr   DoublePropertyClassLabelEscapetokensrV   r_    r[   r(   r   r      s=   , D
 CgG(#I23IMI"OF"#1_$5Qvha	@BE
 goo&FO
  !2!23gnn-Z 
 DM7D3V\\B &,,/V^^$ &v.K){#&1-.!**,((&17../"G$4$45g..
;#%e4dllCt6*DMM9Et4($--8dmm,&--.%!@A&--.%!@A? 
F DMh'k"s2$f%t}}5s2$d#T]]F;DMM6*
 DMk"s2$f%tzz2DMM6*K(
 DMDJJ'
 DMK(DJJ
#$*MM3
 6==&)'
 6==&)'
iXFt-&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 cg c]  }|d d 	 c}S c c}w )Nz0[xX][\da-fA-F_]*rI   z0[bB][\d_]*z,\.?\d[\d_]*(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)truefalsenilr>   r?   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*)*   )r   r{   Binr|   r   r   r   r   r   r   r   r   r   r   )
should_poprv   	temp_listentrys       r(   _luau_make_expressionr      s    	vzz62	V,	8&,,O	 

!**F	4 
"662	,h{DMM.RTZ[	dmm DfM.rd*	=tzz6R	+T6:I" #,-%E"1I---s   C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 cg c]  }|d   |d   |d   dd  f c}S c c}w )N\{)rI   closing_brace_base
expressionrK   rI   closing_parenthesis_baser   z::?rI   type_end
type_startrD   rI   string_singlerG   rI   string_double`)rI   string_interpolatedr   r^   r   )r   r   rz   r   Backtick)r   r   r   s      r(   _luau_make_expression_specialr      s    	IJ	OP	@A	v}}78	v}}78	v ?@	I <EF5U1XuQxq!".FFFs   A4c                   |   e Zd ZdZdZdZdgZdgZdZdZ	dZ
d	j                  e	e
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j4                  df edd      ej.                  dfdej6                  dfdej.                  dfdef ed        ede      d!edfd  ed"d      ej.                  fgd ed      d#ej.                  d$fdej6                  fg ed%      ded&fdej.                  d'f ed        ed%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d/d0ed&fgd1 ed-       ed      gd2 ed-       ed3      gd4 ed+       ed      gd5 ed+       ed3      gd6 ed/       ed3      gd7d8ej<                  fd9ej<                  fgd: ed7      d;ej"                  d&fd<ej"                  fgd= ed7      d>ej>                  d&fd?ej>                  fg ed7      d@edAfdBej@                  d&fdCej@                  fg ed      dDefdEe dFe!jD                  fdGe!jF                  fdHed6fdIed&fg ed      dIed2fd@ed5fdHed6fd;ej"                  d:fd>ej>                  d=fdJefdKefdLe!jH                  dMfdGe!jD                  fg
 ed      dIedNfd@edOfdHedPfd;ej"                  dQfd>ej>                  dRfdLe!jH                  dSfdGe!jD                  d&fg ed      dTedUfdKedUfdHed6f ed&      g ed      dGe!jD                  fdHed6fdVedWfgdXZ%dY Z&dZ Z'y[)\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.18r.   r/   z(?:{}|{}|{})\s+rN   r2   r3   r4   Fz\.\.\.z	type\b(?=z+[a-zA-Z_])type_declarationzexport\b(?=z(?:\.\.|//|[+\-*\/%^<>=])=?r   z~=)andornotr>   r?   )elseifforifinrepeatreturnuntilwhilezlocal\bz
function\b)r   	func_namez[\])};]+expression_staticz[\[.,])breakcontinuedoelser   endr   r   r   r   r   thenr   r   zif\b)ternaryr   TrI   r   r   zelse\b)r   r   closing_brace_popz\}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   rD   rL   r   rG   rM   r   )r   r   r   z	[^\\`\{]+rJ   z[a-zA-Z_]\w*(?=rA   [a-zA-Z_]\w*<rK   z[|&\.,\[\]:=]+z->ztypeof\()r   r   )rI   r   )rI   r   )rI   r   r   r   r   z[|&\.]r   =r   )r   r   r   r   r   r   c                 T   t        |dd      | _        t        |dd      | _        t        |dg       | _        t        |dg       | _        t        | j                        | _        | j                  r!ddlm	} | j                  j                  |       | j                  r!dd	lm} | j                  j                  |       | j                  r%| j                  j                  | j                         | j                  j                  | j
                         t        j                  | fi | y )
Ninclude_luau_builtinsTinclude_roblox_builtinsFadditional_builtinsdisabled_builtinsr   )LUAU_BUILTINS)ROBLOX_BUILTINS)r   r   r   r   r   r   rR   	_builtinspygments.lexers._luau_builtinsr   rU   r   difference_updater   rV   )rW   rX   r   r   s       r(   rV   zLuauLexer.__init__  s    %1,d&4"'3.(7$#/9NPR#S !-g7JB!OT556%%DNN!!-0''FNN!!/2##NN!!$":":;(()?)?@D,G,r[   c              #     K   t        j                  | |      D ]W  \  }}}|t        u s|t        j                  u r.|j	                  d      }g }|}t        t        |      dd      D ]s  }dj                  |d |       }	|	| j                  v r7|t        j                  |	f |t        |	      z  }|r|t        df |dz  } n|j                  d||dz
            u t        |      D ]}  \  }}
|dz   t        |      k(  r4|t        u r|t        j                  |
f 5|t        j                  |
f K|t        j                  |
f |t        |
      z  }|t        df |dz  } Q|||f Z y w)Nr]   r   r^   )r   r_   r   r   ra   rangerb   joinr   r`   r   insert	enumerater   r   )rW   rc   rd   re   rf   split_valuecomplete_value	new_indexpositionpotential_string	substrings              r(   r_   z LuauLexer.get_tokens_unprocessed  s    11$=	&E5%} 3#kk#.!#!	 %c+&62 > 
HH'*xxIX0F'G$'4>>9#T\\3CCC!S)9%::	)"+[#"==%NI"))![A-FG
H ,5^+D 
#'Hi!|s>':: D="+T]]I"EE$'	AA #T]]I==Y/I#[#55NI
# %%?	&s   E3E5N)(ri   rj   rk   rl   rm   rn   ro   rp   rr   rs   rt   formatrv   r
   Hashbangr   ry   rz   r   r   r   r   r   r   r   r   r~   r   r   r   r   r   r   r   r   r   r`   r   rV   r_   r   r[   r(   r   r      s   " D
"ChG
IMI"O			 2OV	LBAg&&/FO
A 	!2!23gnn-Z 
A 	DM
 +51
 $	
 "[)7+;+;=OP
 B4{+W-=-=>
 ,X|D
 Hl+
  &mm\;
   !&()0)9)9<I!
& ,,l;'
* G,,.IJ+
. +&/
2 '(3
4 #5"-5
8 \29
AT 	 J   '//1
UA` 	DMg&&(AB,,-
 +40
 V,
 G,,k:
 '(
 #4,
 FO
aA@ 	DM((&1 &//? FO	
AAV 	K(
WA\ 	"K($
]Ab 	;'
cAj 	#-.FO%
kAr 	#-.FO%
sAz 	'(FO
{AB 	'(FO
CAJ 	$%FO
KAT 	&#$*MM3
UA^ 	O$6==&)'	
_Aj 	O$6==&)'	
kAx O$K!EF6??F+6??+ 
 DMk"t6*DJJ7dmm,; 12K(

 DMK!;<K!56; 126==/26==/2,K $,, )7 8djj)
$ DMK!EFK!?@; ;<6==";<6==";<$,, )7 8djj&1
 DM\2K.; 12FO	
 DMdjj); 12; BC
sAFF-* &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j6                  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.                  jB                  fd!ejB                  f e e"       d      ej>                  fd"efd#ej                   e#d$d%      fd&ejH                   e#d$d'      fgd(ejJ                  fgd#ej                  d)fd*efgd&ejH                  d)fd+efgd,Z&d- Z'y.)/r   z%
    For MoonScript source code.
    
MoonScriptzhttp://moonscript.org
moonscriptmoonz*.moonztext/x-moonscriptzapplication/x-moonscriptz1.5#!(.*?)$r3   z--.*$r5   r6   z(?i)0x[0-9a-f]*r7   \n[^\S\n]+r8   z(->|=>)z:[a-zA-Z_]\w*z/(==|!=|~=|<=|>=|\.\.\.|\.\.|[=+\-*/%^<>#!.\\:])z[;,]z
[\[\]{}()][a-zA-Z_]\w*:)classextendsr   r   superr   withimportexportr   r   r   r   r   fromwhenusingr   r   r   r   switchr   r>   r?   r<   r:   z(self)\bz@@?([a-zA-Z_]\w*)?z[A-Z]\w*rC   rD   rE   rF   rG   rH   z\\([abfnrtv\\"']|\d{1,3})rI   z[^']+z[^"]+)rN   r3   rE   rF   rH   c              #      K   t         j                  | |      D ]!  \  }}}|t        k(  r|dk(  rt        }|||f # y w)Nr]   )r   r_   r   r   )rW   rc   rd   re   rf   s        r(   r_   z&MoonScriptLexer.get_tokens_unprocessed-  sI     #+#B#B4#N 	&E5%# %%	&s   <>N)(ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   r
   rx   r   rz   r   r|   r{   r}   r   r	   r   r   r   r   r   r   r   Typer   r   r~   r`   Pseudor   r)   r   r   r   r   r_   r   r[   r(   r   r     s    D
!CV$G
I$&@AIM '//*FO

 gnn%3V\\B &,,/,V^^$J$%v.'t}}-?Jk"GLL)t}}-  "'	(
  #G$4$45.$,,--."DMM$7$78$**%#%e4dllCd#&--.%!@A&--.%!@A;
@ .v}}=
 &--(f

 &--(f
W/Fb&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j2                  dfdej4                  fdej6                  fdej:                  fdej:                  fd ej<                  fd!ej@                  fd"ejB                  fd#ejD                  fd$ejF                  d%fd&ej                   fgd'ejH                  fd(ejF                  fd)ejF                  fd*ejF                  fd+ejF                  fd$ejF                  dfgd,Z%y-).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)rI   z(?=/))rI   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]+rG   dqstringz'(\\\\|\\[^\\]|[^'\\])*'z\$\{[^"}]+?\}\$z\\\\z\\"z[^\\"$]+)r   r  r  rN   r  N)&ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   reDOTALL	MULTILINEflagsr	   r
   rz   ry   r   r   Regexr   r   r   r   r   r   r   r   r`   r   r   r|   r{   r}   r   Interpolr   r   r[   r(   r   r   5  s    D
"CV$G
I$&@AIMII$E TN(7,,-'..)	"
 +,%||V5t12FO
 D&!
 +,DM$12:<NP+'9:%(#02 ,,.@A '"2"23 0 01-t||$tzz*5v||D

+'6==*-(&--8-
2 v/FMM"fmm$V]]#&--(6==&)
S1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jB                  dfde"jF                  dfee$fee$jJ                  fee&jN                  fee&jP                  fee&jR                  fee$jT                  fee$jT                  fee$jT                  fee$jT                  fee$jT                  fee$jT                  fee+fee+fee+fee+fee$jX                  fee$jX                  fde&jZ                  fd e.j^                  fd!e.j^                  fd"e.j`                  fd#e.jb                  fee2fd$e+fd%e3fd&e4fd'e4fgd(ejB                  fdejB                  d)fd*ejB                  d+fd,ejB                  fgd-e"jj                  fde"jF                  d+fd.e+fd/e"jF                  fgd0Z6y1)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   /\*commentrG   stringz\b([a-zA-Z_]\w*)\bz (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d*z(\d+\.\d*|\.\d+)z0[xX][0-9a-fA-F]+r7   z:=?z[,;{}()\[\]]\n+r   z[^*/]+#push\*/rI   z[*/]z\\([nt"\\])z\\.z[^"\\]+)rN   r  r  N)7ri   rj   rk   rl   rm   ro   rp   rq   rn   rr   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
   rz   ry   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   w  s    DgG	II
FCMLLE>LSI3J cJ c>V eb$9!5 ISE P* !O\'DM
 '..A'2C2CYO&--J':',,?$**=$,,?"$--@ '2B2BC"'2B2BC*'2B2BC#'2B2BC!'2B2BC!'2B2BC%8#%8 %8&%8!'2B2BC'2B2BC"60&,,? &,,?!&**=&..A(;%8+>*=*==	
D '2C2CD'2C2CWM'2C2CVL'2C2CD		
 &--@&--H%8&--@		
U0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#jH                  e      fd e"e%e#jH                        fde&fd jO                  d!jQ                  e            e&jR                  fd"jO                  d!jQ                  ed#d#d$                e"e%e#jT                        fd% e"ee%e      fd&jO                  d!jQ                  e             e"e%e#jV                        fd jO                  d!jQ                  e            e#jX                  fd jO                  d!jQ                  e            e#jH                  fd jO                  d!jQ                  e            e%fd jO                  d!jQ                  e            e%fd jO                  d!jQ                  e            e#jH                  fd'jO                  d!jQ                  e            e#jH                  fd jO                  d!jQ                  e            e#jH                  fd jO                  d!jQ                  e            e#jZ                  fd'jO                  d!jQ                  e            e#jH                  fd jO                  d!jQ                  e            e#jH                  fd jO                  d!jQ                  e            e#jH                  fd(ej\                  fd)e d*e#j^                  fd+e0jb                  fd,e0jd                  fgdej@                  d-fd.ej@                  d/fd0ej@                  fd1ej@                  fgd2Z3y#)3r   z
    For AppleScript source code,
    including `AppleScript Studio
    <http://developer.apple.com/documentation/AppleScript/
    Reference/StudioReference>`_.
    Contributed by Andreas Amann <aamann@mac.com>.
    AppleScriptzhttps://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.htmlapplescriptz*.applescriptz1.0z[a-zA-Z]\w*)r)  zcurrent applicationr   linefeedzmissing valuepiquoteresultr   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betweenr   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frontrd   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divrY   r   z(a  )?(ref( to)?|reference to)isdoes)consideringr   errorexitr   r   ignoringr   r   tellr   timestotryr   zusing terms fromr   whithzwith timeout( of)?zwith transactionbyr   r   zits?memyr   ofas)globallocalzprop(erty)?rR   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 focusrP  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 focusrU   (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indeterminaterd   zinteger valuezintercell spacingzitem heightz+key( (code|equivalent( modifier)?|window))?zknob thicknessr9   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))?mutedrm   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 wrapsr1  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({})\br0   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\*\)rI   z[^*(]+z[*(])rN   r  )4ri   rj   rk   rl   rm   rn   ro   rp   rr   r  r	  r  r
  IdentifiersLiteralsClassesBuiltInHandlerParamsCommands
References	OperatorsControlDeclarationsr   StudioClassesStudioEventsStudioCommandsStudioPropertiesr	   r   r   r
   ry   r   r   r   r`   r   r   r   r   r~   r   r   r   	Attributer   r   r   r|   r}   r   r   r[   r(   r   r     s    D OCoG !IMLL299$E KBHEG,G0MHHQJ
HI @G
 DL1H8M +/LX
 N}GB TNfmm$tG$g''3K( dDLL$/19 gt||,. :8D 34hmmDVCHH\$B$%789gt}}-/ -htWd.KL$$SXXg%67gtzz*, 23T]]C 23T\\B 12G< 67A 23T\\B!!#((7"34dllC 78$,,G)9 :;T^^L!!#((="9:DLLI 894<<H 45t||D(&--8K=$dmm46E&..)G$
L g''1g''0w(()W&&'	
M,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j0                  ee      f ed       ed       ed      defg edd       eej8                  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(y4)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  rG   r   rD   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truncrf   verifyr7  	wordindex
wordlengthwordposr   x2bx2cx2dxrangez	(\s*)(\()r?   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]+""rI   r   z[^\'\n]+z\'\'z\'z[^*]+r  \*)rN   r  r  r  r   r   r  c                 J    t        j                  | t         j                        S N)r  compiler	  )ss    r(   _czRexxLexer._cX  s    zz!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y| j                  d      rA| j	                         t        fdt        j                  D              dz   }t        |d      S y)zs
        Check for initial comment and patterns that distinguish Rexx from other
        C-like languages.
        z/\*\**\s*rexx      ?z/*c              3   J   K   | ]  \  }}|j                        r|  y wrH  )search).0patternweight	lowerTexts      r(   	<genexpr>z)RexxLexer.analyse_text.<locals>.<genexpr>x  s)      7.gv#NN95   7s    #{Gz?N)	r  rR  
IGNORECASE
startswithlowersumr   PATTERNS_AND_WEIGHTSr*  )rc   r.  rV  s     @r(   analyse_textzRexxLexer.analyse_textk  sq    
 99%tR]]; __T" 

I 72;2P2P7 79=>F vs## #r[   N))ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   r  rY  r
  r   r
   ry   r   r   r   r   r   r   r   r   r   r   r	   r   r`   r   r   rK  _ADDRESS_COMMAND_PATTERN_ADDRESS_PATTERN_DO_WHILE_PATTERN_IF_THEN_DO_PATTERN_PROCEDURE_PATTERN_ELSE_DO_PATTERN_PARSE_ARG_PATTERNr]  r^  r   r[   r(   r   r     s\    D
$CwG6IIMMME Z W&&	26?+6?+/85dmmZ:))+, $djj*h79JIJ4 
"  
 #/
0 dllJ9;
 "**,
"#+-
  FO66"D&!	
 &!fFF#D&!	
 w(()W&&/G%%&
m;Fz+!"<=+,./9:HI,-C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y)r   z3
    For MOOCode (the MOO scripting language).
    MOOCodezhttp://www.moo.mud.org/z*.moomoocodemooztext/x-moocodez0.9rN   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)ri   rj   rk   rl   rm   rn   rp   ro   rq   rr   r   r}   r   r   	ExceptionEntityr   r`   r   Instancer	   r   r   r   r   r   r[   r(   r   r   ~  s     D
#C	I% G!"IM 	 &..1(&1/$dkk2-.57  .)4==+A+ABTNDM)848DMM8<=t3
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j0                  fdej2                  fd eej0                  e      dfd eej4                  e      df edd      ej8                  f edd      ej:                  fdefdej>                  fd eeej@                        fdejB                  fdefdefde"jF                  fd e"jH                  fd!e"jJ                  fd"efgd#ejL                  d$fgd%ej4                  d$fgd&Z'd' Z(y())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fmodrP  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sleepr8  strtimestrdatedllopendlllinkdllcalldllcall_argvdllcloseenvexecforkgetpidwaitpopenpclosery  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closerT  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&   r%  findr5  replacera   trimremovecontainsr   r>   r?   )MethodReferenceRunnerDllThreadPipeProcessRunnableCGIClientSocketSocketServerSocketFileConsole	Directoryrj  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   rI   z	[\w.]+\*?)rN   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\brX  )r  rR  )rc   r.  s     r(   r^  zHybrisLexer.analyse_text  s&     997>dNFr[   N))ri   rj   rk   rl   rm   ro   rp   rq   rn   rr   r  r	  r  r
  r   r   r   r   r	   r   r
   rz   ry   	Decoratorr   r   	Namespacer   r`   r   r   Charr   r   r   r|   r{   r}   r   r   r^  r   r[   r(   r   r     s    DjG	I "89I
0CMLL299$E
#GT]]D(KM $(7,,- $..1BCJL$002 !(!1!13#g))40';%g''.: $0 -2132 \\34  = FKL \\	
 )&1.<"h/1tzz*t$/:5v||DVZZ(&..)DMy=
~ djj&1
 4>>62
EEFN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j2                  e      dfdez   dz    eej2                  e      f eee       eej8                  e      feefdez   dz    eej:                  eeeej2                  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$jJ                  d%      Z& e$jJ                  d&      Z'd' Z(y())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*[](r1   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)(r?   z+)(\s*)(\.?)(\s*)(PROC)(\s*\n)z[0-9]+\.[0-9]*r  z'(''|[^'])*'r   rI   )rN   r  r  z^\s*\*z	^\s*MACROc                    d}| j                  d      d}d}d}d}d}d}d}fd}	d }
r@ |
d         s |	d         r* |
d         sd}d= r |
d         r |	d         r*t        j                  j                  d         r
d}|r|dz  }nD ]^  }|j                         }t	        |      d	k\  s"|d   }|r*|s|s|s|d
k(  rd}|dk(  rd}|dk(  sDd}G|dk(  rd}O|dk(  rd}W|dk(  s]d}` |r6||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J  J |S )zP
        Perform a structural analysis for basic Easytrieve constructs.
                
Fc                 L    t         j                  j                  d         d uS )Nr   )r   _COMMENT_LINE_REGEXmatch)liner(  s    r(   isCommentLinez3EasytrieveLexer.analyse_text.<locals>.isCommentLine  s#    "66<<U1XFdRRr[   c                 6    t        | j                                S rH  )boolr4  )r  s    r(   isEmptyLinez1EasytrieveLexer.analyse_text.<locals>.isEmptyLine  s    DJJL)))r[   r   Tg?r   PARMFILEJOBPROCr2  r  rM  g?rN  g)\(?rL  rX  rP  )ra   r   _MACRO_HEADER_REGEXr  rb   )rc   r.  
hasEndProchasHeaderCommenthasFilehasJobhasProchasParm	hasReportr  r  r  r   	firstWordr(  s                 @r(   r^  zEasytrieveLexer.analyse_textu  s    

4 
 		S	* U1X.-a2IuQx(#' a U1X.-a2I
 ..44U1X>F#  -

J!O %aI$%#*'.'0F':26#,#6.2G(E1)-&&0&*G&*4)-J&(2(,I'-, 7j0#cMF # # dNF #$ $f#####r[   N))ri   rj   rk   rl   rm   ro   rp   rq   rn   rr   r
  _DELIMITERS_DELIMITERS_OR_COMENT_DELIMITER_PATTERN_DELIMITER_PATTERN_CAPTURE!_NON_DELIMITER_OR_COMMENT_PATTERN_OPERATORS_PATTERN	_KEYWORDSr
   rz   r   r   r   r   r   r   r   r   r   r   r   r|   r}   r   r   r   r  rI  r  r  r^  r   r[   r(   r   r     s:    DnG'"I$%I
kCME  K'#-{*S0!$'9!9C!?(,/D(Ds(J%6!IJ 'Z 55>#% 55<dmmL(g)):68KM!$66=g))8469%?@g&&13*558YYdmmZ:)):78 -'f%Z .5t<16 /5t}}EFO

 /Z(62ff-.5t<!
?'FP %"**Y/$"**\2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j2                  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
jD                  d)e
j                        Z#d* Z$y+),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*\nrI   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)\brF  z[\[\](){}<>;,]z	[-+*/=&%]r  z\d+\.\d*z\.\d+r7   rD   option_stringz[ \t]+option_commentz\.z(\n)(//)z''z[^']z.+)rN   r  r  r  r  r   r  z*^//[a-z#$@][a-z0-9#$@]{0,7}\s+job(\s+.*)?$c                     d}| j                  d      }t        |      dkD  r$t        j                  j	                  |d         rd}d|cxk  rdk  sJ  J |S )z.
        Recognize JCL job by header.
        r  r  r   rP  )ra   rb   r    _JOB_HEADER_PATTERNr  )rc   r.  r(  s      r(   r^  zJclLexer.analyse_text  sZ     

4 u:>++11%(;f#####r[   N)%ri   rj   rk   rl   rm   ro   rp   rq   rn   rr   r  rY  r
  r
   rz   r   r   r   r   r   r   r   r   r   r   r`   r   r   r   r|   r}   r   r	   r   rI  r  r^  r   r[   r(   r    r      s    DgG	II
>CMMME '..)GNNK0W^^%56e
 z6*.djj*g.>.>
K $--)<=Z!45
34;4D4DhPH
 z6*GX&*+2H>
 DLL!,8$4 &,,'v||$V^^$6?+
$45K 
 (489FOf66"	
 GNN#
]2Fh %"**%R%']]4
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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j0                  fdej,                  j2                  fdej4                  fgdefdefded fded fgd!Zy")#r!   z%
    For MiniScript source code.
    
MiniScriptzhttps://miniscript.org
miniscriptmsz*.msztext/x-minicriptzapplication/x-miniscriptz2.6r   r3   z//.*$r5   r6   r7   r   r   rG   r   z(==|!=|<=|>=|[=+\-*/%^<>.:])z[;,\[\]{}()])r   r   r   r   r   r  r   r   isar   r   r   r   r>   r?   )-r
  r}  r~  r  r  charr  r  rP  rW  rndr,  r1  r  r  strr  hasIndexindexOfrb   valcoder  r[  upperr  ra   indexesr&   r   r\  sortshufflepushr  pullr   rT  r  r8  r  localsglobalsouteryieldz(true|false|null)\bz(and|or|not|new)\bz(self|super|__isa)\br   rD  rE  rI   )rN   r3   r   N)ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   r
   rx   r   rz   r   r	   r   r   r   r   r   r   r`   r   r~   r   r   r   r   r[   r(   r!   r!     sL    D
"CT"GI#%?@IM '//*FO

 gnn%3V< &)VDM$6?+,h7k* BJOQ    "'( \\ $W%5%56"HMM2$dll&9&9:dmm,5
:  FO66"D&!	
C'Fr[   r!   )(rl   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 4=
>W&z W&r.,GT&
 T&lB&h B&J?j ?DQz Qh~z ~B
o$
 o$d': 'T[* [~}j }@Qz Qh3j 3r[   